diff --git a/app/css/mui.min.css b/app/css/mui.min.css index ea3fd6b..bf382eb 100644 --- a/app/css/mui.min.css +++ b/app/css/mui.min.css @@ -1 +1 @@ -/*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:border-box}:after,:before{box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:"Helvetica Neue",Helvetica,Arial,Verdana,"Trebuchet MS";font-size:14px;font-weight:400;line-height:1.429;color:rgba(0,0,0,.87);background-color:#FFF}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#2196F3;text-decoration:none}a:focus,a:hover{color:#1976D2;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}p{margin:0 0 10px}ol,ul{margin-top:0;margin-bottom:10px}figure{margin:0}img{vertical-align:middle}hr{margin-top:20px;margin-bottom:20px;border:0;height:1px;background-color:rgba(0,0,0,.12)}.mui-container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.mui-container:after,.mui-container:before{content:" ";display:table}.mui-container:after{clear:both}@media (min-width:768px){.mui-container{width:768px}}@media (min-width:992px){.mui-container{width:970px}}@media (min-width:1200px){.mui-container{width:1170px}}.mui-container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.mui-container-fluid:after,.mui-container-fluid:before{content:" ";display:table}.mui-container-fluid:after{clear:both}.mui-row{margin-left:-15px;margin-right:-15px}.mui-row:after,.mui-row:before{content:" ";display:table}.mui-row:after{clear:both}.mui-col-lg-1,.mui-col-lg-10,.mui-col-lg-11,.mui-col-lg-12,.mui-col-lg-2,.mui-col-lg-3,.mui-col-lg-4,.mui-col-lg-5,.mui-col-lg-6,.mui-col-lg-7,.mui-col-lg-8,.mui-col-lg-9,.mui-col-md-1,.mui-col-md-10,.mui-col-md-11,.mui-col-md-12,.mui-col-md-2,.mui-col-md-3,.mui-col-md-4,.mui-col-md-5,.mui-col-md-6,.mui-col-md-7,.mui-col-md-8,.mui-col-md-9,.mui-col-sm-1,.mui-col-sm-10,.mui-col-sm-11,.mui-col-sm-12,.mui-col-sm-2,.mui-col-sm-3,.mui-col-sm-4,.mui-col-sm-5,.mui-col-sm-6,.mui-col-sm-7,.mui-col-sm-8,.mui-col-sm-9,.mui-col-xs-1,.mui-col-xs-10,.mui-col-xs-11,.mui-col-xs-12,.mui-col-xs-2,.mui-col-xs-3,.mui-col-xs-4,.mui-col-xs-5,.mui-col-xs-6,.mui-col-xs-7,.mui-col-xs-8,.mui-col-xs-9{min-height:1px;padding-left:15px;padding-right:15px}.mui-col-xs-1,.mui-col-xs-10,.mui-col-xs-11,.mui-col-xs-12,.mui-col-xs-2,.mui-col-xs-3,.mui-col-xs-4,.mui-col-xs-5,.mui-col-xs-6,.mui-col-xs-7,.mui-col-xs-8,.mui-col-xs-9{float:left}.mui-col-xs-1{width:8.33333%}.mui-col-xs-2{width:16.66667%}.mui-col-xs-3{width:25%}.mui-col-xs-4{width:33.33333%}.mui-col-xs-5{width:41.66667%}.mui-col-xs-6{width:50%}.mui-col-xs-7{width:58.33333%}.mui-col-xs-8{width:66.66667%}.mui-col-xs-9{width:75%}.mui-col-xs-10{width:83.33333%}.mui-col-xs-11{width:91.66667%}.mui-col-xs-12{width:100%}.mui-col-xs-pull-0{right:auto}.mui-col-xs-pull-1{right:8.33333%}.mui-col-xs-pull-1{right:8.33333%}.mui-col-xs-pull-2{right:16.66667%}.mui-col-xs-pull-2{right:16.66667%}.mui-col-xs-pull-3{right:25%}.mui-col-xs-pull-3{right:25%}.mui-col-xs-pull-4{right:33.33333%}.mui-col-xs-pull-4{right:33.33333%}.mui-col-xs-pull-5{right:41.66667%}.mui-col-xs-pull-5{right:41.66667%}.mui-col-xs-pull-6{right:50%}.mui-col-xs-pull-6{right:50%}.mui-col-xs-pull-7{right:58.33333%}.mui-col-xs-pull-7{right:58.33333%}.mui-col-xs-pull-8{right:66.66667%}.mui-col-xs-pull-8{right:66.66667%}.mui-col-xs-pull-9{right:75%}.mui-col-xs-pull-9{right:75%}.mui-col-xs-pull-10{right:83.33333%}.mui-col-xs-pull-10{right:83.33333%}.mui-col-xs-pull-11{right:91.66667%}.mui-col-xs-pull-11{right:91.66667%}.mui-col-xs-pull-12{right:100%}.mui-col-xs-pull-12{right:100%}.mui-col-xs-push-0{left:auto}.mui-col-xs-push-1{left:8.33333%}.mui-col-xs-push-2{left:16.66667%}.mui-col-xs-push-3{left:25%}.mui-col-xs-push-4{left:33.33333%}.mui-col-xs-push-5{left:41.66667%}.mui-col-xs-push-6{left:50%}.mui-col-xs-push-7{left:58.33333%}.mui-col-xs-push-8{left:66.66667%}.mui-col-xs-push-9{left:75%}.mui-col-xs-push-10{left:83.33333%}.mui-col-xs-push-11{left:91.66667%}.mui-col-xs-push-12{left:100%}.mui-col-xs-offset-0{margin-left:0}.mui-col-xs-offset-1{margin-left:8.33333%}.mui-col-xs-offset-2{margin-left:16.66667%}.mui-col-xs-offset-3{margin-left:25%}.mui-col-xs-offset-4{margin-left:33.33333%}.mui-col-xs-offset-5{margin-left:41.66667%}.mui-col-xs-offset-6{margin-left:50%}.mui-col-xs-offset-7{margin-left:58.33333%}.mui-col-xs-offset-8{margin-left:66.66667%}.mui-col-xs-offset-9{margin-left:75%}.mui-col-xs-offset-10{margin-left:83.33333%}.mui-col-xs-offset-11{margin-left:91.66667%}.mui-col-xs-offset-12{margin-left:100%}@media (min-width:768px){.mui-col-sm-1,.mui-col-sm-10,.mui-col-sm-11,.mui-col-sm-12,.mui-col-sm-2,.mui-col-sm-3,.mui-col-sm-4,.mui-col-sm-5,.mui-col-sm-6,.mui-col-sm-7,.mui-col-sm-8,.mui-col-sm-9{float:left}.mui-col-sm-1{width:8.33333%}.mui-col-sm-2{width:16.66667%}.mui-col-sm-3{width:25%}.mui-col-sm-4{width:33.33333%}.mui-col-sm-5{width:41.66667%}.mui-col-sm-6{width:50%}.mui-col-sm-7{width:58.33333%}.mui-col-sm-8{width:66.66667%}.mui-col-sm-9{width:75%}.mui-col-sm-10{width:83.33333%}.mui-col-sm-11{width:91.66667%}.mui-col-sm-12{width:100%}.mui-col-sm-pull-0{right:auto}.mui-col-sm-pull-1{right:8.33333%}.mui-col-sm-pull-1{right:8.33333%}.mui-col-sm-pull-2{right:16.66667%}.mui-col-sm-pull-2{right:16.66667%}.mui-col-sm-pull-3{right:25%}.mui-col-sm-pull-3{right:25%}.mui-col-sm-pull-4{right:33.33333%}.mui-col-sm-pull-4{right:33.33333%}.mui-col-sm-pull-5{right:41.66667%}.mui-col-sm-pull-5{right:41.66667%}.mui-col-sm-pull-6{right:50%}.mui-col-sm-pull-6{right:50%}.mui-col-sm-pull-7{right:58.33333%}.mui-col-sm-pull-7{right:58.33333%}.mui-col-sm-pull-8{right:66.66667%}.mui-col-sm-pull-8{right:66.66667%}.mui-col-sm-pull-9{right:75%}.mui-col-sm-pull-9{right:75%}.mui-col-sm-pull-10{right:83.33333%}.mui-col-sm-pull-10{right:83.33333%}.mui-col-sm-pull-11{right:91.66667%}.mui-col-sm-pull-11{right:91.66667%}.mui-col-sm-pull-12{right:100%}.mui-col-sm-pull-12{right:100%}.mui-col-sm-push-0{left:auto}.mui-col-sm-push-1{left:8.33333%}.mui-col-sm-push-2{left:16.66667%}.mui-col-sm-push-3{left:25%}.mui-col-sm-push-4{left:33.33333%}.mui-col-sm-push-5{left:41.66667%}.mui-col-sm-push-6{left:50%}.mui-col-sm-push-7{left:58.33333%}.mui-col-sm-push-8{left:66.66667%}.mui-col-sm-push-9{left:75%}.mui-col-sm-push-10{left:83.33333%}.mui-col-sm-push-11{left:91.66667%}.mui-col-sm-push-12{left:100%}.mui-col-sm-offset-0{margin-left:0}.mui-col-sm-offset-1{margin-left:8.33333%}.mui-col-sm-offset-2{margin-left:16.66667%}.mui-col-sm-offset-3{margin-left:25%}.mui-col-sm-offset-4{margin-left:33.33333%}.mui-col-sm-offset-5{margin-left:41.66667%}.mui-col-sm-offset-6{margin-left:50%}.mui-col-sm-offset-7{margin-left:58.33333%}.mui-col-sm-offset-8{margin-left:66.66667%}.mui-col-sm-offset-9{margin-left:75%}.mui-col-sm-offset-10{margin-left:83.33333%}.mui-col-sm-offset-11{margin-left:91.66667%}.mui-col-sm-offset-12{margin-left:100%}}@media (min-width:992px){.mui-col-md-1,.mui-col-md-10,.mui-col-md-11,.mui-col-md-12,.mui-col-md-2,.mui-col-md-3,.mui-col-md-4,.mui-col-md-5,.mui-col-md-6,.mui-col-md-7,.mui-col-md-8,.mui-col-md-9{float:left}.mui-col-md-1{width:8.33333%}.mui-col-md-2{width:16.66667%}.mui-col-md-3{width:25%}.mui-col-md-4{width:33.33333%}.mui-col-md-5{width:41.66667%}.mui-col-md-6{width:50%}.mui-col-md-7{width:58.33333%}.mui-col-md-8{width:66.66667%}.mui-col-md-9{width:75%}.mui-col-md-10{width:83.33333%}.mui-col-md-11{width:91.66667%}.mui-col-md-12{width:100%}.mui-col-md-pull-0{right:auto}.mui-col-md-pull-1{right:8.33333%}.mui-col-md-pull-1{right:8.33333%}.mui-col-md-pull-2{right:16.66667%}.mui-col-md-pull-2{right:16.66667%}.mui-col-md-pull-3{right:25%}.mui-col-md-pull-3{right:25%}.mui-col-md-pull-4{right:33.33333%}.mui-col-md-pull-4{right:33.33333%}.mui-col-md-pull-5{right:41.66667%}.mui-col-md-pull-5{right:41.66667%}.mui-col-md-pull-6{right:50%}.mui-col-md-pull-6{right:50%}.mui-col-md-pull-7{right:58.33333%}.mui-col-md-pull-7{right:58.33333%}.mui-col-md-pull-8{right:66.66667%}.mui-col-md-pull-8{right:66.66667%}.mui-col-md-pull-9{right:75%}.mui-col-md-pull-9{right:75%}.mui-col-md-pull-10{right:83.33333%}.mui-col-md-pull-10{right:83.33333%}.mui-col-md-pull-11{right:91.66667%}.mui-col-md-pull-11{right:91.66667%}.mui-col-md-pull-12{right:100%}.mui-col-md-pull-12{right:100%}.mui-col-md-push-0{left:auto}.mui-col-md-push-1{left:8.33333%}.mui-col-md-push-2{left:16.66667%}.mui-col-md-push-3{left:25%}.mui-col-md-push-4{left:33.33333%}.mui-col-md-push-5{left:41.66667%}.mui-col-md-push-6{left:50%}.mui-col-md-push-7{left:58.33333%}.mui-col-md-push-8{left:66.66667%}.mui-col-md-push-9{left:75%}.mui-col-md-push-10{left:83.33333%}.mui-col-md-push-11{left:91.66667%}.mui-col-md-push-12{left:100%}.mui-col-md-offset-0{margin-left:0}.mui-col-md-offset-1{margin-left:8.33333%}.mui-col-md-offset-2{margin-left:16.66667%}.mui-col-md-offset-3{margin-left:25%}.mui-col-md-offset-4{margin-left:33.33333%}.mui-col-md-offset-5{margin-left:41.66667%}.mui-col-md-offset-6{margin-left:50%}.mui-col-md-offset-7{margin-left:58.33333%}.mui-col-md-offset-8{margin-left:66.66667%}.mui-col-md-offset-9{margin-left:75%}.mui-col-md-offset-10{margin-left:83.33333%}.mui-col-md-offset-11{margin-left:91.66667%}.mui-col-md-offset-12{margin-left:100%}}@media (min-width:1200px){.mui-col-lg-1,.mui-col-lg-10,.mui-col-lg-11,.mui-col-lg-12,.mui-col-lg-2,.mui-col-lg-3,.mui-col-lg-4,.mui-col-lg-5,.mui-col-lg-6,.mui-col-lg-7,.mui-col-lg-8,.mui-col-lg-9{float:left}.mui-col-lg-1{width:8.33333%}.mui-col-lg-2{width:16.66667%}.mui-col-lg-3{width:25%}.mui-col-lg-4{width:33.33333%}.mui-col-lg-5{width:41.66667%}.mui-col-lg-6{width:50%}.mui-col-lg-7{width:58.33333%}.mui-col-lg-8{width:66.66667%}.mui-col-lg-9{width:75%}.mui-col-lg-10{width:83.33333%}.mui-col-lg-11{width:91.66667%}.mui-col-lg-12{width:100%}.mui-col-lg-pull-0{right:auto}.mui-col-lg-pull-1{right:8.33333%}.mui-col-lg-pull-1{right:8.33333%}.mui-col-lg-pull-2{right:16.66667%}.mui-col-lg-pull-2{right:16.66667%}.mui-col-lg-pull-3{right:25%}.mui-col-lg-pull-3{right:25%}.mui-col-lg-pull-4{right:33.33333%}.mui-col-lg-pull-4{right:33.33333%}.mui-col-lg-pull-5{right:41.66667%}.mui-col-lg-pull-5{right:41.66667%}.mui-col-lg-pull-6{right:50%}.mui-col-lg-pull-6{right:50%}.mui-col-lg-pull-7{right:58.33333%}.mui-col-lg-pull-7{right:58.33333%}.mui-col-lg-pull-8{right:66.66667%}.mui-col-lg-pull-8{right:66.66667%}.mui-col-lg-pull-9{right:75%}.mui-col-lg-pull-9{right:75%}.mui-col-lg-pull-10{right:83.33333%}.mui-col-lg-pull-10{right:83.33333%}.mui-col-lg-pull-11{right:91.66667%}.mui-col-lg-pull-11{right:91.66667%}.mui-col-lg-pull-12{right:100%}.mui-col-lg-pull-12{right:100%}.mui-col-lg-push-0{left:auto}.mui-col-lg-push-1{left:8.33333%}.mui-col-lg-push-2{left:16.66667%}.mui-col-lg-push-3{left:25%}.mui-col-lg-push-4{left:33.33333%}.mui-col-lg-push-5{left:41.66667%}.mui-col-lg-push-6{left:50%}.mui-col-lg-push-7{left:58.33333%}.mui-col-lg-push-8{left:66.66667%}.mui-col-lg-push-9{left:75%}.mui-col-lg-push-10{left:83.33333%}.mui-col-lg-push-11{left:91.66667%}.mui-col-lg-push-12{left:100%}.mui-col-lg-offset-0{margin-left:0}.mui-col-lg-offset-1{margin-left:8.33333%}.mui-col-lg-offset-2{margin-left:16.66667%}.mui-col-lg-offset-3{margin-left:25%}.mui-col-lg-offset-4{margin-left:33.33333%}.mui-col-lg-offset-5{margin-left:41.66667%}.mui-col-lg-offset-6{margin-left:50%}.mui-col-lg-offset-7{margin-left:58.33333%}.mui-col-lg-offset-8{margin-left:66.66667%}.mui-col-lg-offset-9{margin-left:75%}.mui-col-lg-offset-10{margin-left:83.33333%}.mui-col-lg-offset-11{margin-left:91.66667%}.mui-col-lg-offset-12{margin-left:100%}}.mui-text-display4{font-weight:300;font-size:112px;line-height:112px;color:rgba(0,0,0,.54)}.mui-text-display4.mui-text-black{color:rgba(0,0,0,.54)}.mui-text-display4.mui-text-white{color:rgba(255,255,255,.7)}.mui-text-display4.mui-text-accent{color:rgba(255,64,129,.54)}.mui-text-display3{font-weight:400;font-size:56px;line-height:56px;color:rgba(0,0,0,.54)}.mui-text-display3.mui-text-black{color:rgba(0,0,0,.54)}.mui-text-display3.mui-text-white{color:rgba(255,255,255,.7)}.mui-text-display3.mui-text-accent{color:rgba(255,64,129,.54)}.mui-text-display2{font-weight:400;font-size:45px;line-height:48px;color:rgba(0,0,0,.54)}.mui-text-display2.mui-text-black{color:rgba(0,0,0,.54)}.mui-text-display2.mui-text-white{color:rgba(255,255,255,.7)}.mui-text-display2.mui-text-accent{color:rgba(255,64,129,.54)}.mui-text-display1,h1{font-weight:400;font-size:34px;line-height:40px;color:rgba(0,0,0,.54)}.mui-text-display1.mui-text-black,h1.mui-text-black{color:rgba(0,0,0,.54)}.mui-text-display1.mui-text-white,h1.mui-text-white{color:rgba(255,255,255,.7)}.mui-text-display1.mui-text-accent,h1.mui-text-accent{color:rgba(255,64,129,.54)}.mui-text-headline,h2{font-weight:400;font-size:24px;line-height:32px;color:rgba(0,0,0,.87)}.mui-text-headline.mui-text-black,h2.mui-text-black{color:rgba(0,0,0,.87)}.mui-text-headline.mui-text-white,h2.mui-text-white{color:#fff}.mui-text-headline.mui-text-accent,h2.mui-text-accent{color:rgba(255,64,129,.87)}.mui-text-title,h3{font-weight:400;font-size:20px;line-height:28px;color:rgba(0,0,0,.87)}.mui-text-title.mui-text-black,h3.mui-text-black{color:rgba(0,0,0,.87)}.mui-text-title.mui-text-white,h3.mui-text-white{color:#fff}.mui-text-title.mui-text-accent,h3.mui-text-accent{color:rgba(255,64,129,.87)}.mui-text-subhead,h4{font-weight:400;font-size:16px;line-height:24px;color:rgba(0,0,0,.87)}.mui-text-subhead.mui-text-black,h4.mui-text-black{color:rgba(0,0,0,.87)}.mui-text-subhead.mui-text-white,h4.mui-text-white{color:#fff}.mui-text-subhead.mui-text-accent,h4.mui-text-accent{color:rgba(255,64,129,.87)}.mui-text-body2,h5{font-weight:500;font-size:14px;line-height:24px;color:rgba(0,0,0,.87)}.mui-text-body2.mui-text-black,h5.mui-text-black{color:rgba(0,0,0,.87)}.mui-text-body2.mui-text-white,h5.mui-text-white{color:#fff}.mui-text-body2.mui-text-accent,h5.mui-text-accent{color:rgba(255,64,129,.87)}.mui-text-body1{font-weight:400;font-size:14px;line-height:20px;color:rgba(0,0,0,.87)}.mui-text-body1.mui-text-black{color:rgba(0,0,0,.87)}.mui-text-body1.mui-text-white{color:#fff}.mui-text-body1.mui-text-accent{color:rgba(255,64,129,.87)}.mui-text-caption{font-weight:400;font-size:12px;line-height:16px;color:rgba(0,0,0,.54)}.mui-text-caption.mui-text-black{color:rgba(0,0,0,.54)}.mui-text-caption.mui-text-white{color:rgba(255,255,255,.7)}.mui-text-caption.mui-text-accent{color:rgba(255,64,129,.54)}.mui-text-menu{font-weight:500;font-size:13px;line-height:17px;color:rgba(0,0,0,.87)}.mui-text-menu.mui-text-black{color:rgba(0,0,0,.87)}.mui-text-menu.mui-text-white{color:#fff}.mui-text-menu.mui-text-accent{color:rgba(255,64,129,.87)}.mui-text-button{font-weight:500;font-size:14px;line-height:18px;color:rgba(0,0,0,.87);text-transform:uppercase}.mui-text-button.mui-text-black{color:rgba(0,0,0,.87)}.mui-text-button.mui-text-white{color:#fff}.mui-text-button.mui-text-accent{color:rgba(255,64,129,.87)}.mui-panel{padding:15px;margin-bottom:20px;border-radius:0;background-color:#FFF;box-shadow:0 2px 2px 0 rgba(0,0,0,.16),0 0 2px 0 rgba(0,0,0,.12)}.mui-panel:after,.mui-panel:before{content:" ";display:table}.mui-panel:after{clear:both}.mui-btn{-webkit-animation-duration:.0001s;animation-duration:.0001s;-webkit-animation-name:mui-node-inserted;animation-name:mui-node-inserted;font-weight:500;font-size:14px;line-height:18px;color:rgba(0,0,0,.87);text-transform:uppercase;transition:all .2s ease-in-out;display:inline-block;height:36px;padding:0 26px;margin-top:6px;margin-bottom:6px;border:none;border-radius:2px;cursor:pointer;-ms-touch-action:manipulation;touch-action:manipulation;background-image:none;text-align:center;line-height:36px;vertical-align:middle;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;overflow:hidden}.mui-btn.mui-text-black{color:rgba(0,0,0,.87)}.mui-btn.mui-text-white{color:#fff}.mui-btn.mui-text-accent{color:rgba(255,64,129,.87)}.mui-btn:active,.mui-btn:focus,.mui-btn:hover{outline:0;text-decoration:none;color:rgba(0,0,0,.87)}.mui-btn:focus,.mui-btn:hover{box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}.mui-btn:active{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}.mui-btn.mui-disabled,.mui-btn:disabled{cursor:not-allowed;pointer-events:none;opacity:.6;box-shadow:none}.mui-btn+.mui-btn{margin-left:8px}.mui-btn-lg{height:54px;line-height:54px}.mui-btn-flat{background-color:transparent}.mui-btn-flat:active,.mui-btn-flat:focus,.mui-btn-flat:hover{box-shadow:none;background-color:#f2f2f2}.mui-btn-floating,.mui-btn-raised{box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}.mui-btn-floating:active,.mui-btn-raised:active{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}.mui-btn-default{color:rgba(0,0,0,.87);background-color:#FFF}.mui-btn-default:active,.mui-btn-default:focus,.mui-btn-default:hover,.mui-open>.mui-btn-default.mui-dropdown-toggle{color:rgba(0,0,0,.87);background-color:#fff}.mui-btn-default[disabled],.mui-btn-default[disabled]:active,.mui-btn-default[disabled]:focus,.mui-btn-default[disabled]:hover,fieldset[disabled] .mui-btn-default,fieldset[disabled] .mui-btn-default:active,fieldset[disabled] .mui-btn-default:focus,fieldset[disabled] .mui-btn-default:hover{color:rgba(0,0,0,.87);background-color:#FFF}.mui-btn-default.mui-btn-flat{color:rgba(0,0,0,.87);background-color:transparent}.mui-btn-default.mui-btn-flat:active,.mui-btn-default.mui-btn-flat:focus,.mui-btn-default.mui-btn-flat:hover,.mui-open>.mui-btn-default.mui-btn-flat.mui-dropdown-toggle{color:rgba(0,0,0,.87);background-color:#f2f2f2}.mui-btn-default.mui-btn-flat[disabled],.mui-btn-default.mui-btn-flat[disabled]:active,.mui-btn-default.mui-btn-flat[disabled]:focus,.mui-btn-default.mui-btn-flat[disabled]:hover,fieldset[disabled] .mui-btn-default.mui-btn-flat,fieldset[disabled] .mui-btn-default.mui-btn-flat:active,fieldset[disabled] .mui-btn-default.mui-btn-flat:focus,fieldset[disabled] .mui-btn-default.mui-btn-flat:hover{color:rgba(0,0,0,.87);background-color:transparent}.mui-btn-primary{color:#FFF;background-color:#2196F3}.mui-btn-primary:active,.mui-btn-primary:focus,.mui-btn-primary:hover,.mui-open>.mui-btn-primary.mui-dropdown-toggle{color:#FFF;background-color:#39a1f4}.mui-btn-primary[disabled],.mui-btn-primary[disabled]:active,.mui-btn-primary[disabled]:focus,.mui-btn-primary[disabled]:hover,fieldset[disabled] .mui-btn-primary,fieldset[disabled] .mui-btn-primary:active,fieldset[disabled] .mui-btn-primary:focus,fieldset[disabled] .mui-btn-primary:hover{color:#FFF;background-color:#2196F3}.mui-btn-primary.mui-btn-flat{color:#2196F3;background-color:transparent}.mui-btn-primary.mui-btn-flat:active,.mui-btn-primary.mui-btn-flat:focus,.mui-btn-primary.mui-btn-flat:hover,.mui-open>.mui-btn-primary.mui-btn-flat.mui-dropdown-toggle{color:#2196F3;background-color:#f2f2f2}.mui-btn-primary.mui-btn-flat[disabled],.mui-btn-primary.mui-btn-flat[disabled]:active,.mui-btn-primary.mui-btn-flat[disabled]:focus,.mui-btn-primary.mui-btn-flat[disabled]:hover,fieldset[disabled] .mui-btn-primary.mui-btn-flat,fieldset[disabled] .mui-btn-primary.mui-btn-flat:active,fieldset[disabled] .mui-btn-primary.mui-btn-flat:focus,fieldset[disabled] .mui-btn-primary.mui-btn-flat:hover{color:#2196F3;background-color:transparent}.mui-btn-danger{color:#FFF;background-color:#F44336}.mui-btn-danger:active,.mui-btn-danger:focus,.mui-btn-danger:hover,.mui-open>.mui-btn-danger.mui-dropdown-toggle{color:#FFF;background-color:#f55a4e}.mui-btn-danger[disabled],.mui-btn-danger[disabled]:active,.mui-btn-danger[disabled]:focus,.mui-btn-danger[disabled]:hover,fieldset[disabled] .mui-btn-danger,fieldset[disabled] .mui-btn-danger:active,fieldset[disabled] .mui-btn-danger:focus,fieldset[disabled] .mui-btn-danger:hover{color:#FFF;background-color:#F44336}.mui-btn-danger.mui-btn-flat{color:#F44336;background-color:transparent}.mui-btn-danger.mui-btn-flat:active,.mui-btn-danger.mui-btn-flat:focus,.mui-btn-danger.mui-btn-flat:hover,.mui-open>.mui-btn-danger.mui-btn-flat.mui-dropdown-toggle{color:#F44336;background-color:#f2f2f2}.mui-btn-danger.mui-btn-flat[disabled],.mui-btn-danger.mui-btn-flat[disabled]:active,.mui-btn-danger.mui-btn-flat[disabled]:focus,.mui-btn-danger.mui-btn-flat[disabled]:hover,fieldset[disabled] .mui-btn-danger.mui-btn-flat,fieldset[disabled] .mui-btn-danger.mui-btn-flat:active,fieldset[disabled] .mui-btn-danger.mui-btn-flat:focus,fieldset[disabled] .mui-btn-danger.mui-btn-flat:hover{color:#F44336;background-color:transparent}.mui-btn-accent{color:#FFF;background-color:#FF4081}.mui-btn-accent:active,.mui-btn-accent:focus,.mui-btn-accent:hover,.mui-open>.mui-btn-accent.mui-dropdown-toggle{color:#FFF;background-color:#ff5a92}.mui-btn-accent[disabled],.mui-btn-accent[disabled]:active,.mui-btn-accent[disabled]:focus,.mui-btn-accent[disabled]:hover,fieldset[disabled] .mui-btn-accent,fieldset[disabled] .mui-btn-accent:active,fieldset[disabled] .mui-btn-accent:focus,fieldset[disabled] .mui-btn-accent:hover{color:#FFF;background-color:#FF4081}.mui-btn-accent.mui-btn-flat{color:#FF4081;background-color:transparent}.mui-btn-accent.mui-btn-flat:active,.mui-btn-accent.mui-btn-flat:focus,.mui-btn-accent.mui-btn-flat:hover,.mui-open>.mui-btn-accent.mui-btn-flat.mui-dropdown-toggle{color:#FF4081;background-color:#f2f2f2}.mui-btn-accent.mui-btn-flat[disabled],.mui-btn-accent.mui-btn-flat[disabled]:active,.mui-btn-accent.mui-btn-flat[disabled]:focus,.mui-btn-accent.mui-btn-flat[disabled]:hover,fieldset[disabled] .mui-btn-accent.mui-btn-flat,fieldset[disabled] .mui-btn-accent.mui-btn-flat:active,fieldset[disabled] .mui-btn-accent.mui-btn-flat:focus,fieldset[disabled] .mui-btn-accent.mui-btn-flat:hover{color:#FF4081;background-color:transparent}.mui-btn-floating{position:relative;z-index:1;width:55px;height:55px;line-height:55px;padding:0;border-radius:50%;color:#FFF;background-color:#FF4081}.mui-btn-floating:active,.mui-btn-floating:focus,.mui-btn-floating:hover{color:#FFF;background-color:#ff5a92}.mui-btn-floating-mini{width:40px;height:40px;line-height:40px}.mui-ripple-effect{position:absolute;border-radius:50%;pointer-events:none;opacity:0;-webkit-animation:mui-ripple-animation 2s;animation:mui-ripple-animation 2s}@-webkit-keyframes mui-ripple-animation{from{-webkit-transform:scale(1);transform:scale(1);opacity:.4}to{-webkit-transform:scale(100);transform:scale(100);opacity:0}}@keyframes mui-ripple-animation{from{-webkit-transform:scale(1);transform:scale(1);opacity:.4}to{-webkit-transform:scale(100);transform:scale(100);opacity:0}}.mui-btn-default>.mui-ripple-effect{background-color:#a6a6a6}.mui-btn-primary>.mui-ripple-effect{background-color:#FFF}.mui-btn-danger>.mui-ripple-effect{background-color:#FFF}.mui-btn-accent>.mui-ripple-effect{background-color:#FFF}.mui-btn-flat>.mui-ripple-effect{background-color:#a6a6a6}.mui-btn-floating>.mui-ripple-effect{background-color:#FFF}.mui-appbar-height{height:56px}@media (orientation:landscape) and (max-height:480px){.mui-appbar-height{height:48px}}@media (min-width:480px){.mui-appbar-height{height:64px}}.mui-appbar,.mui-appbar-min-height{min-height:56px}@media (orientation:landscape) and (max-height:480px){.mui-appbar,.mui-appbar-min-height{min-height:48px}}@media (min-width:480px){.mui-appbar,.mui-appbar-min-height{min-height:64px}}.mui-appbar-line-height{line-height:56px}@media (orientation:landscape) and (max-height:480px){.mui-appbar-line-height{line-height:48px}}@media (min-width:480px){.mui-appbar-line-height{line-height:64px}}.mui-appbar-top{top:56px}@media (orientation:landscape) and (max-height:480px){.mui-appbar-top{top:48px}}@media (min-width:480px){.mui-appbar-top{top:64px}}.mui-appbar{background-color:#2196F3;color:#FFF}strong{font-weight:700}abbr[title]{cursor:help;border-bottom:1px dotted #2196F3}h1,h2,h3{margin-top:20px;margin-bottom:10px}h4,h5,h6{margin-top:10px;margin-bottom:10px}.mui-divider{display:block;height:1px;background-color:rgba(0,0,0,.12)}.mui-divider-top{border-top:1px solid rgba(0,0,0,.12)}.mui-divider-bottom{border-bottom:1px solid rgba(0,0,0,.12)}.mui-divider-left{border-left:1px solid rgba(0,0,0,.12)}.mui-divider-right{border-right:1px solid rgba(0,0,0,.12)}legend{display:block;width:100%;padding:0;margin-bottom:10px;font-size:21px;color:rgba(0,0,0,.87);line-height:inherit;border:0}input[type=search]{box-sizing:border-box}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed}.mui-form-control{-webkit-animation-duration:.0001s;animation-duration:.0001s;-webkit-animation-name:mui-node-inserted;animation-name:mui-node-inserted;display:block;background-color:transparent;color:rgba(0,0,0,.87);border:none;border-bottom:1px solid rgba(0,0,0,.26);outline:0;height:32px;width:100%;font-size:16px;padding:0;box-shadow:none;border-radius:0;background-image:none}.mui-form-control:focus{border-color:#2196F3;border-width:2px}.mui-form-control:disabled,.mui-form-control:read-only{cursor:not-allowed;background-color:transparent;opacity:1}.mui-form-control::-webkit-input-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-form-control::-moz-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-form-control:-ms-input-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-form-control::placeholder{color:rgba(0,0,0,.26);opacity:1}textarea.mui-form-control{height:auto}input.mui-form-control:focus{height:33px;margin-bottom:-1px}input[type=search]{-webkit-appearance:none}.mui-form-group{display:block;width:100%;padding-top:15px;margin-bottom:20px;position:relative}.mui-form-group>label{position:absolute;top:0;display:block;width:100%;color:rgba(0,0,0,.54);font-size:12px;font-weight:400;line-height:15px;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.mui-form-group>.mui-form-floating-label{position:absolute;top:15px;font-size:16px;line-height:32px;color:rgba(0,0,0,.26);text-overflow:clip;cursor:text;pointer-events:none}.mui-form-group>textarea{padding-top:5px;min-height:64px}.mui-form-group>.mui-form-control{display:block}.mui-form-group>.mui-form-control:focus~label{color:#2196F3}.mui-form-group[data-mui-wrap-label=true]{display:table;padding-top:0}.mui-form-group[data-mui-wrap-label=true]>label:not(.mui-form-floating-label){display:table-header-group;position:static;white-space:normal;overflow-x:visible}.mui-form-control:focus~.mui-form-floating-label{top:0;font-size:12px;line-height:15px;text-overflow:ellipsis}.mui-form-control:not(:focus).mui-not-empty~.mui-form-floating-label,.mui-form-control:not(:focus):not(:empty):not(.mui-empty):not(.mui-not-empty)~.mui-form-floating-label,.mui-form-control:not(:focus)[value]:not([value=""]):not(.mui-empty):not(.mui-not-empty)~.mui-form-floating-label{color:rgba(0,0,0,.54);font-size:12px;line-height:15px;top:0;text-overflow:ellipsis}.mui-checkbox,.mui-radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.mui-checkbox>label,.mui-radio>label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.mui-checkbox-inline>label>input[type=checkbox],.mui-checkbox>label>input[type=checkbox],.mui-radio-inline>label>input[type=radio],.mui-radio>label>input[type=radio]{position:absolute;margin-left:-20px;margin-top:4px}.mui-checkbox+.mui-checkbox,.mui-radio+.mui-radio{margin-top:-5px}.mui-checkbox-inline,.mui-radio-inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}.mui-checkbox-inline>input[type=checkbox],.mui-checkbox-inline>input[type=radio],.mui-checkbox-inline>label>input[type=checkbox],.mui-checkbox-inline>label>input[type=radio],.mui-radio-inline>input[type=checkbox],.mui-radio-inline>input[type=radio],.mui-radio-inline>label>input[type=checkbox],.mui-radio-inline>label>input[type=radio]{margin:4px 0 0;line-height:normal}.mui-checkbox-inline+.mui-checkbox-inline,.mui-radio-inline+.mui-radio-inline{margin-top:0;margin-left:10px}.mui-select{position:relative}.mui-select:focus{outline:0}.mui-select:focus>select{height:33px;margin-bottom:-1px;border-color:#2196F3;border-width:2px}.mui-select>select{-webkit-animation-duration:.0001s;animation-duration:.0001s;-webkit-animation-name:mui-node-inserted;animation-name:mui-node-inserted;display:block;height:32px;width:100%;appearance:none;-webkit-appearance:none;-moz-appearance:none;outline:0;border:none;border-bottom:1px solid rgba(0,0,0,.26);border-radius:0;box-shadow:none;background-color:transparent;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iNiIgd2lkdGg9IjEwIj48cG9seWdvbiBwb2ludHM9IjAsMCAxMCwwIDUsNiIgc3R5bGU9ImZpbGw6cmdiYSgwLDAsMCwuMjQpOyIvPjwvc3ZnPg==);background-repeat:no-repeat;background-position:right center;cursor:pointer;color:rgba(0,0,0,.87);font-size:16px;padding:0 25px 0 0}.mui-select>select::ms-expand{display:none}.mui-select>select:focus{outline:0;height:33px;margin-bottom:-1px;border-color:#2196F3;border-width:2px}.mui-select>select:disabled{color:rgba(0,0,0,.26);cursor:not-allowed;background-color:transparent;opacity:1}.mui-select-menu{position:absolute;z-index:1;min-width:100%;overflow-y:auto;padding:8px 0;background-color:#FFF;font-size:16px}.mui-select-menu>div{padding:0 22px;height:42px;line-height:42px;cursor:pointer;white-space:nowrap}.mui-select-menu>div:hover{background-color:#E0E0E0}.mui-select-menu>div[selected]{background-color:#EEE}@media (min-width:768px){.mui-form-inline>*{vertical-align:bottom}.mui-form-inline>.mui-form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.mui-form-inline>.mui-form-control,.mui-form-inline>.mui-form-group>.mui-form-group{display:inline-block;width:auto;vertical-align:middle}.mui-form-inline>.mui-checkbox,.mui-form-inline>.mui-radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.mui-form-inline>.mui-checkbox>label,.mui-form-inline>.mui-radio>label{padding-left:0}.mui-form-inline>.mui-checkbox>label>input[type=checkbox],.mui-form-inline>.mui-radio>label>input[type=radio]{position:relative;margin-left:0}.mui-form-inline>.mui-select{display:inline-block}.mui-form-inline>.mui-btn{margin-bottom:0;margin-top:0}}.mui-form-control:invalid:not(:focus):not(:required),.mui-form-control:invalid:not(:focus):required.mui-empty.mui-dirty,.mui-form-control:invalid:not(:focus):required.mui-not-empty,.mui-form-control:invalid:not(:focus):required:not(:empty):not(.mui-empty):not(.mui-not-empty),.mui-form-control:invalid:not(:focus):required[value]:not([value=""]):not(.mui-empty):not(.mui-not-empty){border-color:#F44336;border-width:2px}input.mui-form-control:invalid:not(:focus):not(:required),input.mui-form-control:invalid:not(:focus):required.mui-empty.mui-dirty,input.mui-form-control:invalid:not(:focus):required.mui-not-empty,input.mui-form-control:invalid:not(:focus):required:not(:empty):not(.mui-empty):not(.mui-not-empty),input.mui-form-control:invalid:not(:focus):required[value]:not([value=""]):not(.mui-empty):not(.mui-not-empty){height:33px;margin-bottom:-1px}.mui-form-group>.mui-form-control:invalid:not(:focus):not(:required)~label,.mui-form-group>.mui-form-control:invalid:not(:focus):required.mui-not-empty~label,.mui-form-group>.mui-form-control:invalid:not(:focus):required:not(:empty):not(.mui-empty):not(.mui-not-empty)~label,.mui-form-group>.mui-form-control:invalid:not(:focus):required[value]:not([value=""]):not(.mui-empty):not(.mui-not-empty)~label{color:#F44336}.mui-form-group>.mui-form-control:invalid:not(:focus):required.mui-empty.mui-dirty~label:not(.mui-form-floating-label){color:#F44336}th{text-align:left}.mui-table{width:100%;max-width:100%;margin-bottom:20px}.mui-table>tbody>tr>td,.mui-table>tbody>tr>th,.mui-table>tfoot>tr>td,.mui-table>tfoot>tr>th,.mui-table>thead>tr>td,.mui-table>thead>tr>th{padding:10px;line-height:1.429}.mui-table>thead>tr>th{border-bottom:2px solid rgba(0,0,0,.12);font-weight:700}.mui-table>tbody+tbody{border-top:2px solid rgba(0,0,0,.12)}.mui-table.mui-table-bordered>tbody>tr>td{border-bottom:1px solid rgba(0,0,0,.12)}.mui-dropdown{display:inline-block;position:relative}[data-mui-toggle=dropdown]{-webkit-animation-duration:.0001s;animation-duration:.0001s;-webkit-animation-name:mui-node-inserted;animation-name:mui-node-inserted;outline:0}.mui-dropdown-menu{position:absolute;top:100%;left:0;display:none;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#FFF;border-radius:2px;z-index:1;background-clip:padding-box}.mui-dropdown-menu.mui-open{display:block}.mui-dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.429;color:rgba(0,0,0,.87);white-space:nowrap}.mui-dropdown-menu>li>a:focus,.mui-dropdown-menu>li>a:hover{text-decoration:none;color:rgba(0,0,0,.87);background-color:#EEE}.mui-dropdown-menu>.mui-disabled>a,.mui-dropdown-menu>.mui-disabled>a:focus,.mui-dropdown-menu>.mui-disabled>a:hover{color:#EEE}.mui-dropdown-menu>.mui-disabled>a:focus,.mui-dropdown-menu>.mui-disabled>a:hover{text-decoration:none;background-color:transparent;background-image:none;cursor:not-allowed}.mui-dropdown-menu-right{left:auto;right:0}.mui-tabs{list-style:none;padding-left:0;margin-bottom:0;background-color:transparent;white-space:nowrap}.mui-tabs>li{display:inline-block}.mui-tabs>li>a{display:block;white-space:nowrap;text-transform:uppercase;font-weight:500;font-size:14px;color:rgba(0,0,0,.87);cursor:default;height:48px;line-height:48px;padding-left:24px;padding-right:24px}.mui-tabs>li>a:hover{text-decoration:none}.mui-tabs>li.mui-active{border-bottom:2px solid #2196F3}.mui-tabs>li.mui-active>a{color:#2196F3}.mui-tabs.mui-tabs-justified{display:table;width:100%;table-layout:fixed}.mui-tabs.mui-tabs-justified>li{display:table-cell}.mui-tabs.mui-tabs-justified>li>a{text-align:center;padding-left:0;padding-right:0}.mui-tab-content>.mui-tab-pane{display:none}.mui-tab-content>.mui-tab-pane.mui-active{display:block}[data-mui-toggle=tab]{-webkit-animation-duration:.0001s;animation-duration:.0001s;-webkit-animation-name:mui-node-inserted;animation-name:mui-node-inserted}.mui-overlay-on{overflow:hidden!important}#mui-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999999;background-color:rgba(0,0,0,.2);overflow:auto}@-webkit-keyframes mui-node-inserted{from{opacity:.99}to{opacity:1}}@keyframes mui-node-inserted{from{opacity:.99}to{opacity:1}}.mui-notransition{transition:none!important}.mui-caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.mui-text-left{text-align:left!important}.mui-text-right{text-align:right!important}.mui-text-center{text-align:center!important}.mui-text-justify{text-align:justify!important}.mui-text-nowrap{white-space:nowrap!important}.mui-align-baseline{vertical-align:baseline!important}.mui-align-top{vertical-align:top!important}.mui-align-middle{vertical-align:middle!important}.mui-align-bottom{vertical-align:bottom!important}.mui-list-unstyled{padding-left:0;list-style:none}.mui-list-inline{padding-left:0;list-style:none;margin-left:-5px}.mui-list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}.mui-dropdown-menu,.mui-select-menu,.mui-z1{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.mui-z2{box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.mui-z3{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}.mui-z4{box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22)}.mui-z5{box-shadow:0 19px 38px rgba(0,0,0,.3),0 15px 12px rgba(0,0,0,.22)}.mui-clearfix:after,.mui-clearfix:before{content:" ";display:table}.mui-clearfix:after{clear:both}.mui-pull-right{float:right!important}.mui-pull-left{float:left!important}.mui-hide{display:none!important}.mui-show{display:block!important}.mui-invisible{visibility:hidden}.mui-visible-lg-block,.mui-visible-lg-inline,.mui-visible-lg-inline-block,.mui-visible-md-block,.mui-visible-md-inline,.mui-visible-md-inline-block,.mui-visible-sm-block,.mui-visible-sm-inline,.mui-visible-sm-inline-block,.mui-visible-xs-block,.mui-visible-xs-inline,.mui-visible-xs-inline-block{display:none!important}@media (max-width:767px){.mui-visible-xs{display:block!important}table.mui-visible-xs{display:table}tr.mui-visible-xs{display:table-row!important}td.mui-visible-xs,th.mui-visible-xs{display:table-cell!important}}@media (max-width:767px){.mui-visible-xs-block{display:block!important}}@media (max-width:767px){.mui-visible-xs-inline{display:inline!important}}@media (max-width:767px){.mui-visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.mui-visible-sm{display:block!important}table.mui-visible-sm{display:table}tr.mui-visible-sm{display:table-row!important}td.mui-visible-sm,th.mui-visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.mui-visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.mui-visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.mui-visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.mui-visible-md{display:block!important}table.mui-visible-md{display:table}tr.mui-visible-md{display:table-row!important}td.mui-visible-md,th.mui-visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.mui-visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.mui-visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.mui-visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.mui-visible-lg{display:block!important}table.mui-visible-lg{display:table}tr.mui-visible-lg{display:table-row!important}td.mui-visible-lg,th.mui-visible-lg{display:table-cell!important}}@media (min-width:1200px){.mui-visible-lg-block{display:block!important}}@media (min-width:1200px){.mui-visible-lg-inline{display:inline!important}}@media (min-width:1200px){.mui-visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.mui-hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.mui-hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.mui-hidden-md{display:none!important}}@media (min-width:1200px){.mui-hidden-lg{display:none!important}} +/*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:border-box}:after,:before{box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:Arial,Verdana,Tahoma;font-size:14px;font-weight:400;line-height:1.429;color:rgba(0,0,0,.87);background-color:#FFF}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#2196F3;text-decoration:none}a:focus,a:hover{color:#1976D2;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}p{margin:0 0 10px}ol,ul{margin-top:0;margin-bottom:10px}figure{margin:0}img{vertical-align:middle}hr{margin-top:20px;margin-bottom:20px;border:0;height:1px;background-color:rgba(0,0,0,.12)}.mui-container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.mui-container:after,.mui-container:before{content:" ";display:table}.mui-container:after{clear:both}@media (min-width:544px){.mui-container{max-width:570px}}@media (min-width:768px){.mui-container{max-width:740px}}@media (min-width:992px){.mui-container{max-width:960px}}@media (min-width:1200px){.mui-container{max-width:1170px}}.mui-container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.mui-container-fluid:after,.mui-container-fluid:before{content:" ";display:table}.mui-container-fluid:after{clear:both}.mui-row{margin-left:-15px;margin-right:-15px}.mui-row:after,.mui-row:before{content:" ";display:table}.mui-row:after{clear:both}.mui-col-lg-1,.mui-col-lg-10,.mui-col-lg-11,.mui-col-lg-12,.mui-col-lg-2,.mui-col-lg-3,.mui-col-lg-4,.mui-col-lg-5,.mui-col-lg-6,.mui-col-lg-7,.mui-col-lg-8,.mui-col-lg-9,.mui-col-md-1,.mui-col-md-10,.mui-col-md-11,.mui-col-md-12,.mui-col-md-2,.mui-col-md-3,.mui-col-md-4,.mui-col-md-5,.mui-col-md-6,.mui-col-md-7,.mui-col-md-8,.mui-col-md-9,.mui-col-sm-1,.mui-col-sm-10,.mui-col-sm-11,.mui-col-sm-12,.mui-col-sm-2,.mui-col-sm-3,.mui-col-sm-4,.mui-col-sm-5,.mui-col-sm-6,.mui-col-sm-7,.mui-col-sm-8,.mui-col-sm-9,.mui-col-xs-1,.mui-col-xs-10,.mui-col-xs-11,.mui-col-xs-12,.mui-col-xs-2,.mui-col-xs-3,.mui-col-xs-4,.mui-col-xs-5,.mui-col-xs-6,.mui-col-xs-7,.mui-col-xs-8,.mui-col-xs-9{min-height:1px;padding-left:15px;padding-right:15px}.mui-col-xs-1,.mui-col-xs-10,.mui-col-xs-11,.mui-col-xs-12,.mui-col-xs-2,.mui-col-xs-3,.mui-col-xs-4,.mui-col-xs-5,.mui-col-xs-6,.mui-col-xs-7,.mui-col-xs-8,.mui-col-xs-9{float:left}.mui-col-xs-1{width:8.33333%}.mui-col-xs-2{width:16.66667%}.mui-col-xs-3{width:25%}.mui-col-xs-4{width:33.33333%}.mui-col-xs-5{width:41.66667%}.mui-col-xs-6{width:50%}.mui-col-xs-7{width:58.33333%}.mui-col-xs-8{width:66.66667%}.mui-col-xs-9{width:75%}.mui-col-xs-10{width:83.33333%}.mui-col-xs-11{width:91.66667%}.mui-col-xs-12{width:100%}.mui-col-xs-offset-0{margin-left:0}.mui-col-xs-offset-1{margin-left:8.33333%}.mui-col-xs-offset-2{margin-left:16.66667%}.mui-col-xs-offset-3{margin-left:25%}.mui-col-xs-offset-4{margin-left:33.33333%}.mui-col-xs-offset-5{margin-left:41.66667%}.mui-col-xs-offset-6{margin-left:50%}.mui-col-xs-offset-7{margin-left:58.33333%}.mui-col-xs-offset-8{margin-left:66.66667%}.mui-col-xs-offset-9{margin-left:75%}.mui-col-xs-offset-10{margin-left:83.33333%}.mui-col-xs-offset-11{margin-left:91.66667%}.mui-col-xs-offset-12{margin-left:100%}@media (min-width:544px){.mui-col-sm-1,.mui-col-sm-10,.mui-col-sm-11,.mui-col-sm-12,.mui-col-sm-2,.mui-col-sm-3,.mui-col-sm-4,.mui-col-sm-5,.mui-col-sm-6,.mui-col-sm-7,.mui-col-sm-8,.mui-col-sm-9{float:left}.mui-col-sm-1{width:8.33333%}.mui-col-sm-2{width:16.66667%}.mui-col-sm-3{width:25%}.mui-col-sm-4{width:33.33333%}.mui-col-sm-5{width:41.66667%}.mui-col-sm-6{width:50%}.mui-col-sm-7{width:58.33333%}.mui-col-sm-8{width:66.66667%}.mui-col-sm-9{width:75%}.mui-col-sm-10{width:83.33333%}.mui-col-sm-11{width:91.66667%}.mui-col-sm-12{width:100%}.mui-col-sm-offset-0{margin-left:0}.mui-col-sm-offset-1{margin-left:8.33333%}.mui-col-sm-offset-2{margin-left:16.66667%}.mui-col-sm-offset-3{margin-left:25%}.mui-col-sm-offset-4{margin-left:33.33333%}.mui-col-sm-offset-5{margin-left:41.66667%}.mui-col-sm-offset-6{margin-left:50%}.mui-col-sm-offset-7{margin-left:58.33333%}.mui-col-sm-offset-8{margin-left:66.66667%}.mui-col-sm-offset-9{margin-left:75%}.mui-col-sm-offset-10{margin-left:83.33333%}.mui-col-sm-offset-11{margin-left:91.66667%}.mui-col-sm-offset-12{margin-left:100%}}@media (min-width:768px){.mui-col-md-1,.mui-col-md-10,.mui-col-md-11,.mui-col-md-12,.mui-col-md-2,.mui-col-md-3,.mui-col-md-4,.mui-col-md-5,.mui-col-md-6,.mui-col-md-7,.mui-col-md-8,.mui-col-md-9{float:left}.mui-col-md-1{width:8.33333%}.mui-col-md-2{width:16.66667%}.mui-col-md-3{width:25%}.mui-col-md-4{width:33.33333%}.mui-col-md-5{width:41.66667%}.mui-col-md-6{width:50%}.mui-col-md-7{width:58.33333%}.mui-col-md-8{width:66.66667%}.mui-col-md-9{width:75%}.mui-col-md-10{width:83.33333%}.mui-col-md-11{width:91.66667%}.mui-col-md-12{width:100%}.mui-col-md-offset-0{margin-left:0}.mui-col-md-offset-1{margin-left:8.33333%}.mui-col-md-offset-2{margin-left:16.66667%}.mui-col-md-offset-3{margin-left:25%}.mui-col-md-offset-4{margin-left:33.33333%}.mui-col-md-offset-5{margin-left:41.66667%}.mui-col-md-offset-6{margin-left:50%}.mui-col-md-offset-7{margin-left:58.33333%}.mui-col-md-offset-8{margin-left:66.66667%}.mui-col-md-offset-9{margin-left:75%}.mui-col-md-offset-10{margin-left:83.33333%}.mui-col-md-offset-11{margin-left:91.66667%}.mui-col-md-offset-12{margin-left:100%}}@media (min-width:992px){.mui-col-lg-1,.mui-col-lg-10,.mui-col-lg-11,.mui-col-lg-12,.mui-col-lg-2,.mui-col-lg-3,.mui-col-lg-4,.mui-col-lg-5,.mui-col-lg-6,.mui-col-lg-7,.mui-col-lg-8,.mui-col-lg-9{float:left}.mui-col-lg-1{width:8.33333%}.mui-col-lg-2{width:16.66667%}.mui-col-lg-3{width:25%}.mui-col-lg-4{width:33.33333%}.mui-col-lg-5{width:41.66667%}.mui-col-lg-6{width:50%}.mui-col-lg-7{width:58.33333%}.mui-col-lg-8{width:66.66667%}.mui-col-lg-9{width:75%}.mui-col-lg-10{width:83.33333%}.mui-col-lg-11{width:91.66667%}.mui-col-lg-12{width:100%}.mui-col-lg-offset-0{margin-left:0}.mui-col-lg-offset-1{margin-left:8.33333%}.mui-col-lg-offset-2{margin-left:16.66667%}.mui-col-lg-offset-3{margin-left:25%}.mui-col-lg-offset-4{margin-left:33.33333%}.mui-col-lg-offset-5{margin-left:41.66667%}.mui-col-lg-offset-6{margin-left:50%}.mui-col-lg-offset-7{margin-left:58.33333%}.mui-col-lg-offset-8{margin-left:66.66667%}.mui-col-lg-offset-9{margin-left:75%}.mui-col-lg-offset-10{margin-left:83.33333%}.mui-col-lg-offset-11{margin-left:91.66667%}.mui-col-lg-offset-12{margin-left:100%}}@media (min-width:1200px){.mui-col-xl-1,.mui-col-xl-10,.mui-col-xl-11,.mui-col-xl-12,.mui-col-xl-2,.mui-col-xl-3,.mui-col-xl-4,.mui-col-xl-5,.mui-col-xl-6,.mui-col-xl-7,.mui-col-xl-8,.mui-col-xl-9{float:left}.mui-col-xl-1{width:8.33333%}.mui-col-xl-2{width:16.66667%}.mui-col-xl-3{width:25%}.mui-col-xl-4{width:33.33333%}.mui-col-xl-5{width:41.66667%}.mui-col-xl-6{width:50%}.mui-col-xl-7{width:58.33333%}.mui-col-xl-8{width:66.66667%}.mui-col-xl-9{width:75%}.mui-col-xl-10{width:83.33333%}.mui-col-xl-11{width:91.66667%}.mui-col-xl-12{width:100%}.mui-col-xl-offset-0{margin-left:0}.mui-col-xl-offset-1{margin-left:8.33333%}.mui-col-xl-offset-2{margin-left:16.66667%}.mui-col-xl-offset-3{margin-left:25%}.mui-col-xl-offset-4{margin-left:33.33333%}.mui-col-xl-offset-5{margin-left:41.66667%}.mui-col-xl-offset-6{margin-left:50%}.mui-col-xl-offset-7{margin-left:58.33333%}.mui-col-xl-offset-8{margin-left:66.66667%}.mui-col-xl-offset-9{margin-left:75%}.mui-col-xl-offset-10{margin-left:83.33333%}.mui-col-xl-offset-11{margin-left:91.66667%}.mui-col-xl-offset-12{margin-left:100%}}.mui--text-display4{font-weight:300;font-size:112px;line-height:112px}.mui--text-display3{font-weight:400;font-size:56px;line-height:56px}.mui--text-display2{font-weight:400;font-size:45px;line-height:48px}.mui--text-display1,h1{font-weight:400;font-size:34px;line-height:40px}.mui--text-headline,h2{font-weight:400;font-size:24px;line-height:32px}.mui--text-title,h3{font-weight:400;font-size:20px;line-height:28px}.mui--text-subhead,h4{font-weight:400;font-size:16px;line-height:24px}.mui--text-body2,h5{font-weight:500;font-size:14px;line-height:24px}.mui--text-body1{font-weight:400;font-size:14px;line-height:20px}.mui--text-caption{font-weight:400;font-size:12px;line-height:16px}.mui--text-menu{font-weight:500;font-size:13px;line-height:17px}.mui--text-button{font-weight:500;font-size:14px;line-height:18px;text-transform:uppercase}.mui-panel{padding:15px;margin-bottom:20px;border-radius:0;background-color:#FFF;box-shadow:0 2px 2px 0 rgba(0,0,0,.16),0 0 2px 0 rgba(0,0,0,.12)}.mui-panel:after,.mui-panel:before{content:" ";display:table}.mui-panel:after{clear:both}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-panel{box-shadow:0 -1px 2px 0 rgba(0,0,0,.12),-1px 0 2px 0 rgba(0,0,0,.12),0 2px 2px 0 rgba(0,0,0,.16),0 0 2px 0 rgba(0,0,0,.12)}}.mui-btn{-webkit-animation-duration:.1ms;animation-duration:.1ms;-webkit-animation-name:mui-node-inserted;animation-name:mui-node-inserted;font-weight:500;font-size:14px;line-height:18px;text-transform:uppercase;color:rgba(0,0,0,.87);background-color:#FFF;transition:all .2s ease-in-out;display:inline-block;height:36px;padding:0 26px;margin-top:6px;margin-bottom:6px;border:none;border-radius:2px;cursor:pointer;-ms-touch-action:manipulation;touch-action:manipulation;background-image:none;text-align:center;line-height:36px;vertical-align:middle;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-size:14px;letter-spacing:.03em;position:relative;overflow:hidden}.mui-btn:active,.mui-btn:focus,.mui-btn:hover{color:rgba(0,0,0,.87);background-color:#fff}.mui-btn[disabled]:active,.mui-btn[disabled]:focus,.mui-btn[disabled]:hover{color:rgba(0,0,0,.87);background-color:#FFF}.mui-btn.mui-btn--flat{color:rgba(0,0,0,.87);background-color:transparent}.mui-btn.mui-btn--flat:active,.mui-btn.mui-btn--flat:focus,.mui-btn.mui-btn--flat:hover{color:rgba(0,0,0,.87);background-color:#f2f2f2}.mui-btn.mui-btn--flat[disabled]:active,.mui-btn.mui-btn--flat[disabled]:focus,.mui-btn.mui-btn--flat[disabled]:hover{color:rgba(0,0,0,.87);background-color:transparent}.mui-btn:active,.mui-btn:focus,.mui-btn:hover{outline:0;text-decoration:none;color:rgba(0,0,0,.87)}.mui-btn:focus,.mui-btn:hover{box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn:focus,.mui-btn:hover{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}}.mui-btn:active{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn:active{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}}.mui-btn.mui--is-disabled,.mui-btn:disabled{cursor:not-allowed;pointer-events:none;opacity:.6;box-shadow:none}.mui-btn+.mui-btn{margin-left:8px}.mui-btn--flat{background-color:transparent}.mui-btn--flat:active,.mui-btn--flat:focus,.mui-btn--flat:hover{box-shadow:none;background-color:#f2f2f2}.mui-btn--fab,.mui-btn--raised{box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn--fab,.mui-btn--raised{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}}.mui-btn--fab:active,.mui-btn--raised:active{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn--fab:active,.mui-btn--raised:active{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}}.mui-btn--fab{position:relative;padding:0;width:55px;height:55px;line-height:55px;border-radius:50%;z-index:1}.mui-btn--primary{color:#FFF;background-color:#2196F3}.mui-btn--primary:active,.mui-btn--primary:focus,.mui-btn--primary:hover{color:#FFF;background-color:#39a1f4}.mui-btn--primary[disabled]:active,.mui-btn--primary[disabled]:focus,.mui-btn--primary[disabled]:hover{color:#FFF;background-color:#2196F3}.mui-btn--primary.mui-btn--flat{color:#2196F3;background-color:transparent}.mui-btn--primary.mui-btn--flat:active,.mui-btn--primary.mui-btn--flat:focus,.mui-btn--primary.mui-btn--flat:hover{color:#2196F3;background-color:#f2f2f2}.mui-btn--primary.mui-btn--flat[disabled]:active,.mui-btn--primary.mui-btn--flat[disabled]:focus,.mui-btn--primary.mui-btn--flat[disabled]:hover{color:#2196F3;background-color:transparent}.mui-btn--dark{color:#FFF;background-color:#424242}.mui-btn--dark:active,.mui-btn--dark:focus,.mui-btn--dark:hover{color:#FFF;background-color:#4f4f4f}.mui-btn--dark[disabled]:active,.mui-btn--dark[disabled]:focus,.mui-btn--dark[disabled]:hover{color:#FFF;background-color:#424242}.mui-btn--dark.mui-btn--flat{color:#424242;background-color:transparent}.mui-btn--dark.mui-btn--flat:active,.mui-btn--dark.mui-btn--flat:focus,.mui-btn--dark.mui-btn--flat:hover{color:#424242;background-color:#f2f2f2}.mui-btn--dark.mui-btn--flat[disabled]:active,.mui-btn--dark.mui-btn--flat[disabled]:focus,.mui-btn--dark.mui-btn--flat[disabled]:hover{color:#424242;background-color:transparent}.mui-btn--danger{color:#FFF;background-color:#F44336}.mui-btn--danger:active,.mui-btn--danger:focus,.mui-btn--danger:hover{color:#FFF;background-color:#f55a4e}.mui-btn--danger[disabled]:active,.mui-btn--danger[disabled]:focus,.mui-btn--danger[disabled]:hover{color:#FFF;background-color:#F44336}.mui-btn--danger.mui-btn--flat{color:#F44336;background-color:transparent}.mui-btn--danger.mui-btn--flat:active,.mui-btn--danger.mui-btn--flat:focus,.mui-btn--danger.mui-btn--flat:hover{color:#F44336;background-color:#f2f2f2}.mui-btn--danger.mui-btn--flat[disabled]:active,.mui-btn--danger.mui-btn--flat[disabled]:focus,.mui-btn--danger.mui-btn--flat[disabled]:hover{color:#F44336;background-color:transparent}.mui-btn--accent{color:#FFF;background-color:#FF4081}.mui-btn--accent:active,.mui-btn--accent:focus,.mui-btn--accent:hover{color:#FFF;background-color:#ff5a92}.mui-btn--accent[disabled]:active,.mui-btn--accent[disabled]:focus,.mui-btn--accent[disabled]:hover{color:#FFF;background-color:#FF4081}.mui-btn--accent.mui-btn--flat{color:#FF4081;background-color:transparent}.mui-btn--accent.mui-btn--flat:active,.mui-btn--accent.mui-btn--flat:focus,.mui-btn--accent.mui-btn--flat:hover{color:#FF4081;background-color:#f2f2f2}.mui-btn--accent.mui-btn--flat[disabled]:active,.mui-btn--accent.mui-btn--flat[disabled]:focus,.mui-btn--accent.mui-btn--flat[disabled]:hover{color:#FF4081;background-color:transparent}.mui-btn--small{height:30.6px;line-height:30.6px;padding:0 16px;font-size:13px}.mui-btn--large{height:54px;line-height:54px;padding:0 26px;font-size:14px}.mui-btn--fab.mui-btn--small{width:44px;height:44px;line-height:44px}.mui-btn--fab.mui-btn--large{width:75px;height:75px;line-height:75px}.mui-ripple-effect{position:absolute;border-radius:50%;pointer-events:none;opacity:0;-webkit-animation:mui-ripple-animation 2s;animation:mui-ripple-animation 2s}@-webkit-keyframes mui-ripple-animation{from{-webkit-transform:scale(1);transform:scale(1);opacity:.4}to{-webkit-transform:scale(100);transform:scale(100);opacity:0}}@keyframes mui-ripple-animation{from{-webkit-transform:scale(1);transform:scale(1);opacity:.4}to{-webkit-transform:scale(100);transform:scale(100);opacity:0}}.mui-btn>.mui-ripple-effect{background-color:#a6a6a6}.mui-btn--primary>.mui-ripple-effect{background-color:#FFF}.mui-btn--dark>.mui-ripple-effect{background-color:#FFF}.mui-btn--danger>.mui-ripple-effect{background-color:#FFF}.mui-btn--accent>.mui-ripple-effect{background-color:#FFF}.mui-btn--flat>.mui-ripple-effect{background-color:#a6a6a6}.mui--appbar-height{height:56px}.mui--appbar-min-height,.mui-appbar{min-height:56px}.mui--appbar-line-height{line-height:56px}.mui--appbar-top{top:56px}@media (orientation:landscape) and (max-height:480px){.mui--appbar-height{height:48px}.mui--appbar-min-height,.mui-appbar{min-height:48px}.mui--appbar-line-height{line-height:48px}.mui--appbar-top{top:48px}}@media (min-width:480px){.mui--appbar-height{height:64px}.mui--appbar-min-height,.mui-appbar{min-height:64px}.mui--appbar-line-height{line-height:64px}.mui--appbar-top{top:64px}}.mui-appbar{background-color:#2196F3;color:#FFF}strong{font-weight:700}abbr[title]{cursor:help;border-bottom:1px dotted #2196F3}h1,h2,h3{margin-top:20px;margin-bottom:10px}h4,h5,h6{margin-top:10px;margin-bottom:10px}.mui-divider{display:block;height:1px;background-color:rgba(0,0,0,.12)}.mui--divider-top{border-top:1px solid rgba(0,0,0,.12)}.mui--divider-bottom{border-bottom:1px solid rgba(0,0,0,.12)}.mui--divider-left{border-left:1px solid rgba(0,0,0,.12)}.mui--divider-right{border-right:1px solid rgba(0,0,0,.12)}legend{display:block;width:100%;padding:0;margin-bottom:10px;font-size:21px;color:rgba(0,0,0,.87);line-height:inherit;border:0}input[type=search]{box-sizing:border-box;-webkit-appearance:none}input[type=checkbox]:focus,input[type=radio]:focus,input[type=file]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed}.mui-textfield{display:block;padding-top:15px;margin-bottom:20px;position:relative}.mui-textfield>label{position:absolute;top:0;display:block;width:100%;color:rgba(0,0,0,.54);font-size:12px;font-weight:400;line-height:15px;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.mui-textfield>textarea{padding-top:5px}.mui-textfield>input,.mui-textfield>textarea{display:block}.mui-textfield>input:focus~label,.mui-textfield>textarea:focus~label{color:#2196F3}.mui-textfield--float-label>label{position:absolute;-webkit-transform:translate(0,15px);transform:translate(0,15px);font-size:16px;line-height:32px;color:rgba(0,0,0,.26);text-overflow:clip;cursor:text;pointer-events:none}.mui-textfield--float-label>input:focus~label,.mui-textfield--float-label>textarea:focus~label{-webkit-transform:translate(0,0);transform:translate(0,0);font-size:12px;line-height:15px;text-overflow:ellipsis}.mui-textfield--float-label>input:not(:focus).mui--is-not-empty~label,.mui-textfield--float-label>input:not(:focus):not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>input:not(:focus)[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>textarea:not(:focus).mui--is-not-empty~label,.mui-textfield--float-label>textarea:not(:focus):not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>textarea:not(:focus)[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label{color:rgba(0,0,0,.54);font-size:12px;line-height:15px;-webkit-transform:translate(0,0);transform:translate(0,0);text-overflow:ellipsis}.mui-textfield--wrap-label{display:table;width:100%;padding-top:0}.mui-textfield--wrap-label:not(.mui-textfield--float-label)>label{display:table-header-group;position:static;white-space:normal;overflow-x:visible}.mui-textfield>input,.mui-textfield>textarea{-webkit-animation-duration:.1ms;animation-duration:.1ms;-webkit-animation-name:mui-node-inserted;animation-name:mui-node-inserted;display:block;background-color:transparent;color:rgba(0,0,0,.87);border:none;border-bottom:1px solid rgba(0,0,0,.26);outline:0;width:100%;font-size:16px;padding:0;box-shadow:none;border-radius:0;background-image:none}.mui-textfield>input:focus,.mui-textfield>textarea:focus{border-color:#2196F3;border-width:2px}.mui-textfield>input:-moz-read-only,.mui-textfield>input:disabled,.mui-textfield>textarea:-moz-read-only,.mui-textfield>textarea:disabled{cursor:not-allowed;background-color:transparent;opacity:1}.mui-textfield>input:disabled,.mui-textfield>input:read-only,.mui-textfield>textarea:disabled,.mui-textfield>textarea:read-only{cursor:not-allowed;background-color:transparent;opacity:1}.mui-textfield>input::-webkit-input-placeholder,.mui-textfield>textarea::-webkit-input-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input::-moz-placeholder,.mui-textfield>textarea::-moz-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input:-ms-input-placeholder,.mui-textfield>textarea:-ms-input-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input::placeholder,.mui-textfield>textarea::placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input{height:32px}.mui-textfield>input:focus{height:33px;margin-bottom:-1px}.mui-textfield>textarea{min-height:64px}.mui-textfield>textarea[rows]:not([rows="2"]):focus{margin-bottom:-1px}.mui-textfield>input:focus{height:33px;margin-bottom:-1px}.mui-checkbox,.mui-radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.mui-checkbox>label,.mui-radio>label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.mui-checkbox--inline>label>input[type=checkbox],.mui-checkbox>label>input[type=checkbox],.mui-radio--inline>label>input[type=radio],.mui-radio>label>input[type=radio]{position:absolute;margin-left:-20px;margin-top:4px}.mui-checkbox+.mui-checkbox,.mui-radio+.mui-radio{margin-top:-5px}.mui-checkbox--inline,.mui-radio--inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}.mui-checkbox--inline>input[type=checkbox],.mui-checkbox--inline>input[type=radio],.mui-checkbox--inline>label>input[type=checkbox],.mui-checkbox--inline>label>input[type=radio],.mui-radio--inline>input[type=checkbox],.mui-radio--inline>input[type=radio],.mui-radio--inline>label>input[type=checkbox],.mui-radio--inline>label>input[type=radio]{margin:4px 0 0;line-height:normal}.mui-checkbox--inline+.mui-checkbox--inline,.mui-radio--inline+.mui-radio--inline{margin-top:0;margin-left:10px}.mui-select{display:block;padding-top:15px;margin-bottom:20px;position:relative}.mui-select:focus{outline:0}.mui-select:focus>select{height:33px;margin-bottom:-1px;border-color:#2196F3;border-width:2px}.mui-select>select{-webkit-animation-duration:.1ms;animation-duration:.1ms;-webkit-animation-name:mui-node-inserted;animation-name:mui-node-inserted;display:block;height:32px;width:100%;appearance:none;-webkit-appearance:none;-moz-appearance:none;outline:0;border:none;border-bottom:1px solid rgba(0,0,0,.26);border-radius:0;box-shadow:none;background-color:transparent;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iNiIgd2lkdGg9IjEwIj48cG9seWdvbiBwb2ludHM9IjAsMCAxMCwwIDUsNiIgc3R5bGU9ImZpbGw6cmdiYSgwLDAsMCwuMjQpOyIvPjwvc3ZnPg==);background-repeat:no-repeat;background-position:right center;cursor:pointer;color:rgba(0,0,0,.87);font-size:16px;padding:0 25px 0 0}.mui-select>select::-ms-expand{display:none}.mui-select>select:focus{outline:0;height:33px;margin-bottom:-1px;border-color:#2196F3;border-width:2px}.mui-select>select:disabled{color:rgba(0,0,0,.38);cursor:not-allowed;background-color:transparent;opacity:1}.mui-select__menu{position:absolute;z-index:1;min-width:100%;overflow-y:auto;padding:8px 0;background-color:#FFF;font-size:16px}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-select__menu{border-left:1px solid rgba(0,0,0,.12);border-top:1px solid rgba(0,0,0,.12)}}.mui-select__menu>div{padding:0 22px;height:42px;line-height:42px;cursor:pointer;white-space:nowrap}.mui-select__menu>div:hover{background-color:#E0E0E0}.mui-select__menu>div.mui--is-selected{background-color:#EEE}@media (min-width:544px){.mui-form--inline>.mui-textfield{display:inline-block;margin-bottom:0}.mui-form--inline>.mui-checkbox,.mui-form--inline>.mui-radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.mui-form--inline>.mui-checkbox>label,.mui-form--inline>.mui-radio>label{padding-left:0}.mui-form--inline>.mui-checkbox>label>input[type=checkbox],.mui-form--inline>.mui-radio>label>input[type=radio]{position:relative;margin-left:0}.mui-form--inline>.mui-select{display:inline-block}.mui-form--inline>.mui-btn{margin-bottom:0;margin-top:0;vertical-align:bottom}}.mui-textfield>input:invalid:not(:focus):not(:required),.mui-textfield>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:not(:required),.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:invalid:not(:focus):not(:required),.mui-textfield>textarea:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>textarea:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>textarea:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:not(:focus).mui--is-invalid:not(:required),.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>textarea:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty){border-color:#F44336;border-width:2px}.mui-textfield>input:invalid:not(:focus):not(:required),.mui-textfield>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:not(:required),.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty){height:33px;margin-bottom:-1px}.mui-textfield>input:invalid:not(:focus):not(:required)~label,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty~label,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:not(:focus).mui--is-invalid:not(:required)~label,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty~label,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:invalid:not(:focus):not(:required)~label,.mui-textfield>textarea:invalid:not(:focus):required.mui--is-not-empty~label,.mui-textfield>textarea:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:not(:required)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-not-empty~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label{color:#F44336}.mui-textfield:not(.mui-textfield--float-label)>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>textarea:invalid:not(:focus):required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>textarea:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty~label{color:#F44336}th{text-align:left}.mui-table{width:100%;max-width:100%;margin-bottom:20px}.mui-table>tbody>tr>td,.mui-table>tbody>tr>th,.mui-table>tfoot>tr>td,.mui-table>tfoot>tr>th,.mui-table>thead>tr>td,.mui-table>thead>tr>th{padding:10px;line-height:1.429}.mui-table>thead>tr>th{border-bottom:2px solid rgba(0,0,0,.12);font-weight:700}.mui-table>tbody+tbody{border-top:2px solid rgba(0,0,0,.12)}.mui-table.mui-table--bordered>tbody>tr>td{border-bottom:1px solid rgba(0,0,0,.12)}.mui-dropdown{display:inline-block;position:relative}[data-mui-toggle=dropdown]{-webkit-animation-duration:.1ms;animation-duration:.1ms;-webkit-animation-name:mui-node-inserted;animation-name:mui-node-inserted;outline:0}.mui-dropdown__menu{position:absolute;top:100%;left:0;display:none;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#FFF;border-radius:2px;z-index:1;background-clip:padding-box}.mui-dropdown__menu.mui--is-open{display:block}.mui-dropdown__menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.429;color:rgba(0,0,0,.87);white-space:nowrap}.mui-dropdown__menu>li>a:focus,.mui-dropdown__menu>li>a:hover{text-decoration:none;color:rgba(0,0,0,.87);background-color:#EEE}.mui-dropdown__menu>.mui--is-disabled>a,.mui-dropdown__menu>.mui--is-disabled>a:focus,.mui-dropdown__menu>.mui--is-disabled>a:hover{color:#EEE}.mui-dropdown__menu>.mui--is-disabled>a:focus,.mui-dropdown__menu>.mui--is-disabled>a:hover{text-decoration:none;background-color:transparent;background-image:none;cursor:not-allowed}.mui-dropdown__menu--right{left:auto;right:0}.mui-tabs__bar{list-style:none;padding-left:0;margin-bottom:0;background-color:transparent;white-space:nowrap;overflow-x:auto}.mui-tabs__bar>li{display:inline-block}.mui-tabs__bar>li>a{display:block;white-space:nowrap;text-transform:uppercase;font-weight:500;font-size:14px;color:rgba(0,0,0,.87);cursor:default;height:48px;line-height:48px;padding-left:24px;padding-right:24px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mui-tabs__bar>li>a:hover{text-decoration:none}.mui-tabs__bar>li.mui--is-active{border-bottom:2px solid #2196F3}.mui-tabs__bar>li.mui--is-active>a{color:#2196F3}.mui-tabs__bar.mui-tabs__bar--justified{display:table;width:100%;table-layout:fixed}.mui-tabs__bar.mui-tabs__bar--justified>li{display:table-cell}.mui-tabs__bar.mui-tabs__bar--justified>li>a{text-align:center;padding-left:0;padding-right:0}.mui-tabs__pane{display:none}.mui-tabs__pane.mui--is-active{display:block}[data-mui-toggle=tab]{-webkit-animation-duration:.1ms;animation-duration:.1ms;-webkit-animation-name:mui-node-inserted;animation-name:mui-node-inserted}#mui-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999999;background-color:rgba(0,0,0,.2);overflow:auto}@-webkit-keyframes mui-node-inserted{from{opacity:.99}to{opacity:1}}@keyframes mui-node-inserted{from{opacity:.99}to{opacity:1}}.mui--no-transition{transition:none!important}.mui--no-user-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mui-caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.mui--text-left{text-align:left!important}.mui--text-right{text-align:right!important}.mui--text-center{text-align:center!important}.mui--text-justify{text-align:justify!important}.mui--text-nowrap{white-space:nowrap!important}.mui--align-baseline{vertical-align:baseline!important}.mui--align-top{vertical-align:top!important}.mui--align-middle{vertical-align:middle!important}.mui--align-bottom{vertical-align:bottom!important}.mui--text-dark{color:rgba(0,0,0,.87)}.mui--text-dark-secondary{color:rgba(0,0,0,.54)}.mui--text-dark-hint{color:rgba(0,0,0,.38)}.mui--text-light{color:#FFF}.mui--text-light-secondary{color:rgba(255,255,255,.7)}.mui--text-light-hint{color:rgba(255,255,255,.3)}.mui--text-accent{color:rgba(255,64,129,.87)}.mui--text-accent-secondary{color:rgba(255,64,129,.54)}.mui--text-accent-hint{color:rgba(255,64,129,.38)}.mui--text-black{color:#000}.mui--text-white{color:#FFF}.mui--text-danger{color:#F44336}.mui-list--unstyled{padding-left:0;list-style:none}.mui-list--inline{padding-left:0;list-style:none;margin-left:-5px}.mui-list--inline>li{display:inline-block;padding-left:5px;padding-right:5px}.mui--z1,.mui-dropdown__menu,.mui-select__menu{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.mui--z2{box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.mui--z3{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}.mui--z4{box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22)}.mui--z5{box-shadow:0 19px 38px rgba(0,0,0,.3),0 15px 12px rgba(0,0,0,.22)}.mui--clearfix:after,.mui--clearfix:before{content:" ";display:table}.mui--clearfix:after{clear:both}.mui--pull-right{float:right!important}.mui--pull-left{float:left!important}.mui--hide{display:none!important}.mui--show{display:block!important}.mui--invisible{visibility:hidden}.mui--overflow-hidden{overflow:hidden!important}.mui--overflow-hidden-x{overflow-x:hidden!important}.mui--overflow-hidden-y{overflow-y:hidden!important}.mui--visible-lg-block,.mui--visible-lg-inline,.mui--visible-lg-inline-block,.mui--visible-md-block,.mui--visible-md-inline,.mui--visible-md-inline-block,.mui--visible-sm-block,.mui--visible-sm-inline,.mui--visible-sm-inline-block,.mui--visible-xl-block,.mui--visible-xl-inline,.mui--visible-xl-inline-block,.mui--visible-xs-block,.mui--visible-xs-inline,.mui--visible-xs-inline-block{display:none!important}@media (max-width:543px){.mui-visible-xs{display:block!important}table.mui-visible-xs{display:table}tr.mui-visible-xs{display:table-row!important}td.mui-visible-xs,th.mui-visible-xs{display:table-cell!important}.mui--visible-xs-block{display:block!important}.mui--visible-xs-inline{display:inline!important}.mui--visible-xs-inline-block{display:inline-block!important}}@media (min-width:544px) and (max-width:767px){.mui-visible-sm{display:block!important}table.mui-visible-sm{display:table}tr.mui-visible-sm{display:table-row!important}td.mui-visible-sm,th.mui-visible-sm{display:table-cell!important}.mui--visible-sm-block{display:block!important}.mui--visible-sm-inline{display:inline!important}.mui--visible-sm-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.mui-visible-md{display:block!important}table.mui-visible-md{display:table}tr.mui-visible-md{display:table-row!important}td.mui-visible-md,th.mui-visible-md{display:table-cell!important}.mui--visible-md-block{display:block!important}.mui--visible-md-inline{display:inline!important}.mui--visible-md-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.mui-visible-lg{display:block!important}table.mui-visible-lg{display:table}tr.mui-visible-lg{display:table-row!important}td.mui-visible-lg,th.mui-visible-lg{display:table-cell!important}.mui--visible-lg-block{display:block!important}.mui--visible-lg-inline{display:inline!important}.mui--visible-lg-inline-block{display:inline-block!important}}@media (min-width:1200px){.mui-visible-xl{display:block!important}table.mui-visible-xl{display:table}tr.mui-visible-xl{display:table-row!important}td.mui-visible-xl,th.mui-visible-xl{display:table-cell!important}.mui--visible-xl-block{display:block!important}.mui--visible-xl-inline{display:inline!important}.mui--visible-xl-inline-block{display:inline-block!important}}@media (max-width:543px){.mui--hidden-xs{display:none!important}}@media (min-width:544px) and (max-width:767px){.mui--hidden-sm{display:none!important}}@media (min-width:768px) and (max-width:991px){.mui--hidden-md{display:none!important}}@media (min-width:992px) and (max-width:1199px){.mui--hidden-lg{display:none!important}}@media (min-width:1200px){.mui--hidden-xl{display:none!important}}body.mui-body--scroll-lock{overflow:hidden!important} \ No newline at end of file diff --git a/app/libs/zepto.min.js b/app/libs/zepto.min.js new file mode 100644 index 0000000..c629fd6 --- /dev/null +++ b/app/libs/zepto.min.js @@ -0,0 +1,2 @@ +/* Zepto v1.1.4 - zepto event ajax form ie - zeptojs.com/license */ +var Zepto=function(){function L(t){return null==t?String(t):j[S.call(t)]||"object"}function Z(t){return"function"==L(t)}function $(t){return null!=t&&t==t.window}function _(t){return null!=t&&t.nodeType==t.DOCUMENT_NODE}function D(t){return"object"==L(t)}function R(t){return D(t)&&!$(t)&&Object.getPrototypeOf(t)==Object.prototype}function M(t){return"number"==typeof t.length}function k(t){return s.call(t,function(t){return null!=t})}function z(t){return t.length>0?n.fn.concat.apply([],t):t}function F(t){return t.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}function q(t){return t in f?f[t]:f[t]=new RegExp("(^|\\s)"+t+"(\\s|$)")}function H(t,e){return"number"!=typeof e||c[F(t)]?e:e+"px"}function I(t){var e,n;return u[t]||(e=a.createElement(t),a.body.appendChild(e),n=getComputedStyle(e,"").getPropertyValue("display"),e.parentNode.removeChild(e),"none"==n&&(n="block"),u[t]=n),u[t]}function V(t){return"children"in t?o.call(t.children):n.map(t.childNodes,function(t){return 1==t.nodeType?t:void 0})}function B(n,i,r){for(e in i)r&&(R(i[e])||A(i[e]))?(R(i[e])&&!R(n[e])&&(n[e]={}),A(i[e])&&!A(n[e])&&(n[e]=[]),B(n[e],i[e],r)):i[e]!==t&&(n[e]=i[e])}function U(t,e){return null==e?n(t):n(t).filter(e)}function J(t,e,n,i){return Z(e)?e.call(t,n,i):e}function X(t,e,n){null==n?t.removeAttribute(e):t.setAttribute(e,n)}function W(e,n){var i=e.className,r=i&&i.baseVal!==t;return n===t?r?i.baseVal:i:void(r?i.baseVal=n:e.className=n)}function Y(t){var e;try{return t?"true"==t||("false"==t?!1:"null"==t?null:/^0/.test(t)||isNaN(e=Number(t))?/^[\[\{]/.test(t)?n.parseJSON(t):t:e):t}catch(i){return t}}function G(t,e){e(t);for(var n=0,i=t.childNodes.length;i>n;n++)G(t.childNodes[n],e)}var t,e,n,i,C,N,r=[],o=r.slice,s=r.filter,a=window.document,u={},f={},c={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},l=/^\s*<(\w+|!)[^>]*>/,h=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,p=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,d=/^(?:body|html)$/i,m=/([A-Z])/g,g=["val","css","html","text","data","width","height","offset"],v=["after","prepend","before","append"],y=a.createElement("table"),x=a.createElement("tr"),b={tr:a.createElement("tbody"),tbody:y,thead:y,tfoot:y,td:x,th:x,"*":a.createElement("div")},w=/complete|loaded|interactive/,E=/^[\w-]*$/,j={},S=j.toString,T={},O=a.createElement("div"),P={tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},A=Array.isArray||function(t){return t instanceof Array};return T.matches=function(t,e){if(!e||!t||1!==t.nodeType)return!1;var n=t.webkitMatchesSelector||t.mozMatchesSelector||t.oMatchesSelector||t.matchesSelector;if(n)return n.call(t,e);var i,r=t.parentNode,o=!r;return o&&(r=O).appendChild(t),i=~T.qsa(r,e).indexOf(t),o&&O.removeChild(t),i},C=function(t){return t.replace(/-+(.)?/g,function(t,e){return e?e.toUpperCase():""})},N=function(t){return s.call(t,function(e,n){return t.indexOf(e)==n})},T.fragment=function(e,i,r){var s,u,f;return h.test(e)&&(s=n(a.createElement(RegExp.$1))),s||(e.replace&&(e=e.replace(p,"<$1>")),i===t&&(i=l.test(e)&&RegExp.$1),i in b||(i="*"),f=b[i],f.innerHTML=""+e,s=n.each(o.call(f.childNodes),function(){f.removeChild(this)})),R(r)&&(u=n(s),n.each(r,function(t,e){g.indexOf(t)>-1?u[t](e):u.attr(t,e)})),s},T.Z=function(t,e){return t=t||[],t.__proto__=n.fn,t.selector=e||"",t},T.isZ=function(t){return t instanceof T.Z},T.init=function(e,i){var r;if(!e)return T.Z();if("string"==typeof e)if(e=e.trim(),"<"==e[0]&&l.test(e))r=T.fragment(e,RegExp.$1,i),e=null;else{if(i!==t)return n(i).find(e);r=T.qsa(a,e)}else{if(Z(e))return n(a).ready(e);if(T.isZ(e))return e;if(A(e))r=k(e);else if(D(e))r=[e],e=null;else if(l.test(e))r=T.fragment(e.trim(),RegExp.$1,i),e=null;else{if(i!==t)return n(i).find(e);r=T.qsa(a,e)}}return T.Z(r,e)},n=function(t,e){return T.init(t,e)},n.extend=function(t){var e,n=o.call(arguments,1);return"boolean"==typeof t&&(e=t,t=n.shift()),n.forEach(function(n){B(t,n,e)}),t},T.qsa=function(t,e){var n,i="#"==e[0],r=!i&&"."==e[0],s=i||r?e.slice(1):e,a=E.test(s);return _(t)&&a&&i?(n=t.getElementById(s))?[n]:[]:1!==t.nodeType&&9!==t.nodeType?[]:o.call(a&&!i?r?t.getElementsByClassName(s):t.getElementsByTagName(e):t.querySelectorAll(e))},n.contains=a.documentElement.contains?function(t,e){return t!==e&&t.contains(e)}:function(t,e){for(;e&&(e=e.parentNode);)if(e===t)return!0;return!1},n.type=L,n.isFunction=Z,n.isWindow=$,n.isArray=A,n.isPlainObject=R,n.isEmptyObject=function(t){var e;for(e in t)return!1;return!0},n.inArray=function(t,e,n){return r.indexOf.call(e,t,n)},n.camelCase=C,n.trim=function(t){return null==t?"":String.prototype.trim.call(t)},n.uuid=0,n.support={},n.expr={},n.map=function(t,e){var n,r,o,i=[];if(M(t))for(r=0;r=0?e:e+this.length]},toArray:function(){return this.get()},size:function(){return this.length},remove:function(){return this.each(function(){null!=this.parentNode&&this.parentNode.removeChild(this)})},each:function(t){return r.every.call(this,function(e,n){return t.call(e,n,e)!==!1}),this},filter:function(t){return Z(t)?this.not(this.not(t)):n(s.call(this,function(e){return T.matches(e,t)}))},add:function(t,e){return n(N(this.concat(n(t,e))))},is:function(t){return this.length>0&&T.matches(this[0],t)},not:function(e){var i=[];if(Z(e)&&e.call!==t)this.each(function(t){e.call(this,t)||i.push(this)});else{var r="string"==typeof e?this.filter(e):M(e)&&Z(e.item)?o.call(e):n(e);this.forEach(function(t){r.indexOf(t)<0&&i.push(t)})}return n(i)},has:function(t){return this.filter(function(){return D(t)?n.contains(this,t):n(this).find(t).size()})},eq:function(t){return-1===t?this.slice(t):this.slice(t,+t+1)},first:function(){var t=this[0];return t&&!D(t)?t:n(t)},last:function(){var t=this[this.length-1];return t&&!D(t)?t:n(t)},find:function(t){var e,i=this;return e=t?"object"==typeof t?n(t).filter(function(){var t=this;return r.some.call(i,function(e){return n.contains(e,t)})}):1==this.length?n(T.qsa(this[0],t)):this.map(function(){return T.qsa(this,t)}):[]},closest:function(t,e){var i=this[0],r=!1;for("object"==typeof t&&(r=n(t));i&&!(r?r.indexOf(i)>=0:T.matches(i,t));)i=i!==e&&!_(i)&&i.parentNode;return n(i)},parents:function(t){for(var e=[],i=this;i.length>0;)i=n.map(i,function(t){return(t=t.parentNode)&&!_(t)&&e.indexOf(t)<0?(e.push(t),t):void 0});return U(e,t)},parent:function(t){return U(N(this.pluck("parentNode")),t)},children:function(t){return U(this.map(function(){return V(this)}),t)},contents:function(){return this.map(function(){return o.call(this.childNodes)})},siblings:function(t){return U(this.map(function(t,e){return s.call(V(e.parentNode),function(t){return t!==e})}),t)},empty:function(){return this.each(function(){this.innerHTML=""})},pluck:function(t){return n.map(this,function(e){return e[t]})},show:function(){return this.each(function(){"none"==this.style.display&&(this.style.display=""),"none"==getComputedStyle(this,"").getPropertyValue("display")&&(this.style.display=I(this.nodeName))})},replaceWith:function(t){return this.before(t).remove()},wrap:function(t){var e=Z(t);if(this[0]&&!e)var i=n(t).get(0),r=i.parentNode||this.length>1;return this.each(function(o){n(this).wrapAll(e?t.call(this,o):r?i.cloneNode(!0):i)})},wrapAll:function(t){if(this[0]){n(this[0]).before(t=n(t));for(var e;(e=t.children()).length;)t=e.first();n(t).append(this)}return this},wrapInner:function(t){var e=Z(t);return this.each(function(i){var r=n(this),o=r.contents(),s=e?t.call(this,i):t;o.length?o.wrapAll(s):r.append(s)})},unwrap:function(){return this.parent().each(function(){n(this).replaceWith(n(this).children())}),this},clone:function(){return this.map(function(){return this.cloneNode(!0)})},hide:function(){return this.css("display","none")},toggle:function(e){return this.each(function(){var i=n(this);(e===t?"none"==i.css("display"):e)?i.show():i.hide()})},prev:function(t){return n(this.pluck("previousElementSibling")).filter(t||"*")},next:function(t){return n(this.pluck("nextElementSibling")).filter(t||"*")},html:function(t){return 0 in arguments?this.each(function(e){var i=this.innerHTML;n(this).empty().append(J(this,t,e,i))}):0 in this?this[0].innerHTML:null},text:function(t){return 0 in arguments?this.each(function(e){var n=J(this,t,e,this.textContent);this.textContent=null==n?"":""+n}):0 in this?this[0].textContent:null},attr:function(n,i){var r;return"string"!=typeof n||1 in arguments?this.each(function(t){if(1===this.nodeType)if(D(n))for(e in n)X(this,e,n[e]);else X(this,n,J(this,i,t,this.getAttribute(n)))}):this.length&&1===this[0].nodeType?!(r=this[0].getAttribute(n))&&n in this[0]?this[0][n]:r:t},removeAttr:function(t){return this.each(function(){1===this.nodeType&&X(this,t)})},prop:function(t,e){return t=P[t]||t,1 in arguments?this.each(function(n){this[t]=J(this,e,n,this[t])}):this[0]&&this[0][t]},data:function(e,n){var i="data-"+e.replace(m,"-$1").toLowerCase(),r=1 in arguments?this.attr(i,n):this.attr(i);return null!==r?Y(r):t},val:function(t){return 0 in arguments?this.each(function(e){this.value=J(this,t,e,this.value)}):this[0]&&(this[0].multiple?n(this[0]).find("option").filter(function(){return this.selected}).pluck("value"):this[0].value)},offset:function(t){if(t)return this.each(function(e){var i=n(this),r=J(this,t,e,i.offset()),o=i.offsetParent().offset(),s={top:r.top-o.top,left:r.left-o.left};"static"==i.css("position")&&(s.position="relative"),i.css(s)});if(!this.length)return null;var e=this[0].getBoundingClientRect();return{left:e.left+window.pageXOffset,top:e.top+window.pageYOffset,width:Math.round(e.width),height:Math.round(e.height)}},css:function(t,i){if(arguments.length<2){var r=this[0],o=getComputedStyle(r,"");if(!r)return;if("string"==typeof t)return r.style[C(t)]||o.getPropertyValue(t);if(A(t)){var s={};return n.each(A(t)?t:[t],function(t,e){s[e]=r.style[C(e)]||o.getPropertyValue(e)}),s}}var a="";if("string"==L(t))i||0===i?a=F(t)+":"+H(t,i):this.each(function(){this.style.removeProperty(F(t))});else for(e in t)t[e]||0===t[e]?a+=F(e)+":"+H(e,t[e])+";":this.each(function(){this.style.removeProperty(F(e))});return this.each(function(){this.style.cssText+=";"+a})},index:function(t){return t?this.indexOf(n(t)[0]):this.parent().children().indexOf(this[0])},hasClass:function(t){return t?r.some.call(this,function(t){return this.test(W(t))},q(t)):!1},addClass:function(t){return t?this.each(function(e){i=[];var r=W(this),o=J(this,t,e,r);o.split(/\s+/g).forEach(function(t){n(this).hasClass(t)||i.push(t)},this),i.length&&W(this,r+(r?" ":"")+i.join(" "))}):this},removeClass:function(e){return this.each(function(n){return e===t?W(this,""):(i=W(this),J(this,e,n,i).split(/\s+/g).forEach(function(t){i=i.replace(q(t)," ")}),void W(this,i.trim()))})},toggleClass:function(e,i){return e?this.each(function(r){var o=n(this),s=J(this,e,r,W(this));s.split(/\s+/g).forEach(function(e){(i===t?!o.hasClass(e):i)?o.addClass(e):o.removeClass(e)})}):this},scrollTop:function(e){if(this.length){var n="scrollTop"in this[0];return e===t?n?this[0].scrollTop:this[0].pageYOffset:this.each(n?function(){this.scrollTop=e}:function(){this.scrollTo(this.scrollX,e)})}},scrollLeft:function(e){if(this.length){var n="scrollLeft"in this[0];return e===t?n?this[0].scrollLeft:this[0].pageXOffset:this.each(n?function(){this.scrollLeft=e}:function(){this.scrollTo(e,this.scrollY)})}},position:function(){if(this.length){var t=this[0],e=this.offsetParent(),i=this.offset(),r=d.test(e[0].nodeName)?{top:0,left:0}:e.offset();return i.top-=parseFloat(n(t).css("margin-top"))||0,i.left-=parseFloat(n(t).css("margin-left"))||0,r.top+=parseFloat(n(e[0]).css("border-top-width"))||0,r.left+=parseFloat(n(e[0]).css("border-left-width"))||0,{top:i.top-r.top,left:i.left-r.left}}},offsetParent:function(){return this.map(function(){for(var t=this.offsetParent||a.body;t&&!d.test(t.nodeName)&&"static"==n(t).css("position");)t=t.offsetParent;return t})}},n.fn.detach=n.fn.remove,["width","height"].forEach(function(e){var i=e.replace(/./,function(t){return t[0].toUpperCase()});n.fn[e]=function(r){var o,s=this[0];return r===t?$(s)?s["inner"+i]:_(s)?s.documentElement["scroll"+i]:(o=this.offset())&&o[e]:this.each(function(t){s=n(this),s.css(e,J(this,r,t,s[e]()))})}}),v.forEach(function(t,e){var i=e%2;n.fn[t]=function(){var t,o,r=n.map(arguments,function(e){return t=L(e),"object"==t||"array"==t||null==e?e:T.fragment(e)}),s=this.length>1;return r.length<1?this:this.each(function(t,u){o=i?u:u.parentNode,u=0==e?u.nextSibling:1==e?u.firstChild:2==e?u:null;var f=n.contains(a.documentElement,o);r.forEach(function(t){if(s)t=t.cloneNode(!0);else if(!o)return n(t).remove();o.insertBefore(t,u),f&&G(t,function(t){null==t.nodeName||"SCRIPT"!==t.nodeName.toUpperCase()||t.type&&"text/javascript"!==t.type||t.src||window.eval.call(window,t.innerHTML)})})})},n.fn[i?t+"To":"insert"+(e?"Before":"After")]=function(e){return n(e)[t](this),this}}),T.Z.prototype=n.fn,T.uniq=N,T.deserializeValue=Y,n.zepto=T,n}();window.Zepto=Zepto,void 0===window.$&&(window.$=Zepto),function(t){function l(t){return t._zid||(t._zid=e++)}function h(t,e,n,i){if(e=p(e),e.ns)var r=d(e.ns);return(s[l(t)]||[]).filter(function(t){return!(!t||e.e&&t.e!=e.e||e.ns&&!r.test(t.ns)||n&&l(t.fn)!==l(n)||i&&t.sel!=i)})}function p(t){var e=(""+t).split(".");return{e:e[0],ns:e.slice(1).sort().join(" ")}}function d(t){return new RegExp("(?:^| )"+t.replace(" "," .* ?")+"(?: |$)")}function m(t,e){return t.del&&!u&&t.e in f||!!e}function g(t){return c[t]||u&&f[t]||t}function v(e,i,r,o,a,u,f){var h=l(e),d=s[h]||(s[h]=[]);i.split(/\s/).forEach(function(i){if("ready"==i)return t(document).ready(r);var s=p(i);s.fn=r,s.sel=a,s.e in c&&(r=function(e){var n=e.relatedTarget;return!n||n!==this&&!t.contains(this,n)?s.fn.apply(this,arguments):void 0}),s.del=u;var l=u||r;s.proxy=function(t){if(t=j(t),!t.isImmediatePropagationStopped()){t.data=o;var i=l.apply(e,t._args==n?[t]:[t].concat(t._args));return i===!1&&(t.preventDefault(),t.stopPropagation()),i}},s.i=d.length,d.push(s),"addEventListener"in e&&e.addEventListener(g(s.e),s.proxy,m(s,f))})}function y(t,e,n,i,r){var o=l(t);(e||"").split(/\s/).forEach(function(e){h(t,e,n,i).forEach(function(e){delete s[o][e.i],"removeEventListener"in t&&t.removeEventListener(g(e.e),e.proxy,m(e,r))})})}function j(e,i){return(i||!e.isDefaultPrevented)&&(i||(i=e),t.each(E,function(t,n){var r=i[t];e[t]=function(){return this[n]=x,r&&r.apply(i,arguments)},e[n]=b}),(i.defaultPrevented!==n?i.defaultPrevented:"returnValue"in i?i.returnValue===!1:i.getPreventDefault&&i.getPreventDefault())&&(e.isDefaultPrevented=x)),e}function S(t){var e,i={originalEvent:t};for(e in t)w.test(e)||t[e]===n||(i[e]=t[e]);return j(i,t)}var n,e=1,i=Array.prototype.slice,r=t.isFunction,o=function(t){return"string"==typeof t},s={},a={},u="onfocusin"in window,f={focus:"focusin",blur:"focusout"},c={mouseenter:"mouseover",mouseleave:"mouseout"};a.click=a.mousedown=a.mouseup=a.mousemove="MouseEvents",t.event={add:v,remove:y},t.proxy=function(e,n){var s=2 in arguments&&i.call(arguments,2);if(r(e)){var a=function(){return e.apply(n,s?s.concat(i.call(arguments)):arguments)};return a._zid=l(e),a}if(o(n))return s?(s.unshift(e[n],e),t.proxy.apply(null,s)):t.proxy(e[n],e);throw new TypeError("expected function")},t.fn.bind=function(t,e,n){return this.on(t,e,n)},t.fn.unbind=function(t,e){return this.off(t,e)},t.fn.one=function(t,e,n,i){return this.on(t,e,n,i,1)};var x=function(){return!0},b=function(){return!1},w=/^([A-Z]|returnValue$|layer[XY]$)/,E={preventDefault:"isDefaultPrevented",stopImmediatePropagation:"isImmediatePropagationStopped",stopPropagation:"isPropagationStopped"};t.fn.delegate=function(t,e,n){return this.on(e,t,n)},t.fn.undelegate=function(t,e,n){return this.off(e,t,n)},t.fn.live=function(e,n){return t(document.body).delegate(this.selector,e,n),this},t.fn.die=function(e,n){return t(document.body).undelegate(this.selector,e,n),this},t.fn.on=function(e,s,a,u,f){var c,l,h=this;return e&&!o(e)?(t.each(e,function(t,e){h.on(t,s,a,e,f)}),h):(o(s)||r(u)||u===!1||(u=a,a=s,s=n),(r(a)||a===!1)&&(u=a,a=n),u===!1&&(u=b),h.each(function(n,r){f&&(c=function(t){return y(r,t.type,u),u.apply(this,arguments)}),s&&(l=function(e){var n,o=t(e.target).closest(s,r).get(0);return o&&o!==r?(n=t.extend(S(e),{currentTarget:o,liveFired:r}),(c||u).apply(o,[n].concat(i.call(arguments,1)))):void 0}),v(r,e,u,a,s,l||c)}))},t.fn.off=function(e,i,s){var a=this;return e&&!o(e)?(t.each(e,function(t,e){a.off(t,i,e)}),a):(o(i)||r(s)||s===!1||(s=i,i=n),s===!1&&(s=b),a.each(function(){y(this,e,s,i)}))},t.fn.trigger=function(e,n){return e=o(e)||t.isPlainObject(e)?t.Event(e):j(e),e._args=n,this.each(function(){"dispatchEvent"in this?this.dispatchEvent(e):t(this).triggerHandler(e,n)})},t.fn.triggerHandler=function(e,n){var i,r;return this.each(function(s,a){i=S(o(e)?t.Event(e):e),i._args=n,i.target=a,t.each(h(a,e.type||e),function(t,e){return r=e.proxy(i),i.isImmediatePropagationStopped()?!1:void 0})}),r},"focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select keydown keypress keyup error".split(" ").forEach(function(e){t.fn[e]=function(t){return t?this.bind(e,t):this.trigger(e)}}),["focus","blur"].forEach(function(e){t.fn[e]=function(t){return t?this.bind(e,t):this.each(function(){try{this[e]()}catch(t){}}),this}}),t.Event=function(t,e){o(t)||(e=t,t=e.type);var n=document.createEvent(a[t]||"Events"),i=!0;if(e)for(var r in e)"bubbles"==r?i=!!e[r]:n[r]=e[r];return n.initEvent(t,i,!0),j(n)}}(Zepto),function(t){function l(e,n,i){var r=t.Event(n);return t(e).trigger(r,i),!r.isDefaultPrevented()}function h(t,e,i,r){return t.global?l(e||n,i,r):void 0}function p(e){e.global&&0===t.active++&&h(e,null,"ajaxStart")}function d(e){e.global&&!--t.active&&h(e,null,"ajaxStop")}function m(t,e){var n=e.context;return e.beforeSend.call(n,t,e)===!1||h(e,n,"ajaxBeforeSend",[t,e])===!1?!1:void h(e,n,"ajaxSend",[t,e])}function g(t,e,n,i){var r=n.context,o="success";n.success.call(r,t,o,e),i&&i.resolveWith(r,[t,o,e]),h(n,r,"ajaxSuccess",[e,n,t]),y(o,e,n)}function v(t,e,n,i,r){var o=i.context;i.error.call(o,n,e,t),r&&r.rejectWith(o,[n,e,t]),h(i,o,"ajaxError",[n,i,t||e]),y(e,n,i)}function y(t,e,n){var i=n.context;n.complete.call(i,e,t),h(n,i,"ajaxComplete",[e,n]),d(n)}function x(){}function b(t){return t&&(t=t.split(";",2)[0]),t&&(t==f?"html":t==u?"json":s.test(t)?"script":a.test(t)&&"xml")||"text"}function w(t,e){return""==e?t:(t+"&"+e).replace(/[&?]{1,2}/,"?")}function E(e){e.processData&&e.data&&"string"!=t.type(e.data)&&(e.data=t.param(e.data,e.traditional)),!e.data||e.type&&"GET"!=e.type.toUpperCase()||(e.url=w(e.url,e.data),e.data=void 0)}function j(e,n,i,r){return t.isFunction(n)&&(r=i,i=n,n=void 0),t.isFunction(i)||(r=i,i=void 0),{url:e,data:n,success:i,dataType:r}}function T(e,n,i,r){var o,s=t.isArray(n),a=t.isPlainObject(n);t.each(n,function(n,u){o=t.type(u),r&&(n=i?r:r+"["+(a||"object"==o||"array"==o?n:"")+"]"),!r&&s?e.add(u.name,u.value):"array"==o||!i&&"object"==o?T(e,u,i,n):e.add(n,u)})}var i,r,e=0,n=window.document,o=/)<[^<]*)*<\/script>/gi,s=/^(?:text|application)\/javascript/i,a=/^(?:text|application)\/xml/i,u="application/json",f="text/html",c=/^\s*$/;t.active=0,t.ajaxJSONP=function(i,r){if(!("type"in i))return t.ajax(i);var f,h,o=i.jsonpCallback,s=(t.isFunction(o)?o():o)||"jsonp"+ ++e,a=n.createElement("script"),u=window[s],c=function(e){t(a).triggerHandler("error",e||"abort")},l={abort:c};return r&&r.promise(l),t(a).on("load error",function(e,n){clearTimeout(h),t(a).off().remove(),"error"!=e.type&&f?g(f[0],l,i,r):v(null,n||"error",l,i,r),window[s]=u,f&&t.isFunction(u)&&u(f[0]),u=f=void 0}),m(l,i)===!1?(c("abort"),l):(window[s]=function(){f=arguments},a.src=i.url.replace(/\?(.+)=\?/,"?$1="+s),n.head.appendChild(a),i.timeout>0&&(h=setTimeout(function(){c("timeout")},i.timeout)),l)},t.ajaxSettings={type:"GET",beforeSend:x,success:x,error:x,complete:x,context:null,global:!0,xhr:function(){return new window.XMLHttpRequest},accepts:{script:"text/javascript, application/javascript, application/x-javascript",json:u,xml:"application/xml, text/xml",html:f,text:"text/plain"},crossDomain:!1,timeout:0,processData:!0,cache:!0},t.ajax=function(e){var n=t.extend({},e||{}),o=t.Deferred&&t.Deferred();for(i in t.ajaxSettings)void 0===n[i]&&(n[i]=t.ajaxSettings[i]);p(n),n.crossDomain||(n.crossDomain=/^([\w-]+:)?\/\/([^\/]+)/.test(n.url)&&RegExp.$2!=window.location.host),n.url||(n.url=window.location.toString()),E(n);var s=n.dataType,a=/\?.+=\?/.test(n.url);if(a&&(s="jsonp"),n.cache!==!1&&(e&&e.cache===!0||"script"!=s&&"jsonp"!=s)||(n.url=w(n.url,"_="+Date.now())),"jsonp"==s)return a||(n.url=w(n.url,n.jsonp?n.jsonp+"=?":n.jsonp===!1?"":"callback=?")),t.ajaxJSONP(n,o);var j,u=n.accepts[s],f={},l=function(t,e){f[t.toLowerCase()]=[t,e]},h=/^([\w-]+:)\/\//.test(n.url)?RegExp.$1:window.location.protocol,d=n.xhr(),y=d.setRequestHeader;if(o&&o.promise(d),n.crossDomain||l("X-Requested-With","XMLHttpRequest"),l("Accept",u||"*/*"),(u=n.mimeType||u)&&(u.indexOf(",")>-1&&(u=u.split(",",2)[0]),d.overrideMimeType&&d.overrideMimeType(u)),(n.contentType||n.contentType!==!1&&n.data&&"GET"!=n.type.toUpperCase())&&l("Content-Type",n.contentType||"application/x-www-form-urlencoded"),n.headers)for(r in n.headers)l(r,n.headers[r]);if(d.setRequestHeader=l,d.onreadystatechange=function(){if(4==d.readyState){d.onreadystatechange=x,clearTimeout(j);var e,i=!1;if(d.status>=200&&d.status<300||304==d.status||0==d.status&&"file:"==h){s=s||b(n.mimeType||d.getResponseHeader("content-type")),e=d.responseText;try{"script"==s?(1,eval)(e):"xml"==s?e=d.responseXML:"json"==s&&(e=c.test(e)?null:t.parseJSON(e))}catch(r){i=r}i?v(i,"parsererror",d,n,o):g(e,d,n,o)}else v(d.statusText||null,d.status?"error":"abort",d,n,o)}},m(d,n)===!1)return d.abort(),v(null,"abort",d,n,o),d;if(n.xhrFields)for(r in n.xhrFields)d[r]=n.xhrFields[r];var S="async"in n?n.async:!0;d.open(n.type,n.url,S,n.username,n.password);for(r in f)y.apply(d,f[r]);return n.timeout>0&&(j=setTimeout(function(){d.onreadystatechange=x,d.abort(),v(null,"timeout",d,n,o)},n.timeout)),d.send(n.data?n.data:null),d},t.get=function(){return t.ajax(j.apply(null,arguments))},t.post=function(){var e=j.apply(null,arguments);return e.type="POST",t.ajax(e)},t.getJSON=function(){var e=j.apply(null,arguments);return e.dataType="json",t.ajax(e)},t.fn.load=function(e,n,i){if(!this.length)return this;var a,r=this,s=e.split(/\s/),u=j(e,n,i),f=u.success;return s.length>1&&(u.url=s[0],a=s[1]),u.success=function(e){r.html(a?t("
").html(e.replace(o,"")).find(a):e),f&&f.apply(r,arguments)},t.ajax(u),this};var S=encodeURIComponent;t.param=function(t,e){var n=[];return n.add=function(t,e){this.push(S(t)+"="+S(e))},T(n,t,e),n.join("&").replace(/%20/g,"+")}}(Zepto),function(t){t.fn.serializeArray=function(){var n,e=[];return t([].slice.call(this.get(0).elements)).each(function(){n=t(this);var i=n.attr("type");"fieldset"!=this.nodeName.toLowerCase()&&!this.disabled&&"submit"!=i&&"reset"!=i&&"button"!=i&&("radio"!=i&&"checkbox"!=i||this.checked)&&e.push({name:n.attr("name"),value:n.val()})}),e},t.fn.serialize=function(){var t=[];return this.serializeArray().forEach(function(e){t.push(encodeURIComponent(e.name)+"="+encodeURIComponent(e.value))}),t.join("&")},t.fn.submit=function(e){if(e)this.bind("submit",e);else if(this.length){var n=t.Event("submit");this.eq(0).trigger(n),n.isDefaultPrevented()||this.get(0).submit()}return this}}(Zepto),function(t){"__proto__"in{}||t.extend(t.zepto,{Z:function(e,n){return e=e||[],t.extend(e,t.fn),e.selector=n||"",e.__Z=!0,e},isZ:function(e){return"array"===t.type(e)&&"__Z"in e}});try{getComputedStyle(void 0)}catch(e){var n=getComputedStyle;window.getComputedStyle=function(t){try{return n(t)}catch(e){return null}}}}(Zepto); \ No newline at end of file diff --git a/lib/caltest.js b/lib/caltest.js index ba19f20..b72a526 100644 --- a/lib/caltest.js +++ b/lib/caltest.js @@ -1,28 +1,12 @@ -/** - * Created by Martin on 15/02/2016. - */ -var http = require('http'), request = require('request'), calHandler = require('./calHandler'), util = require('util'); -var jsonfile = require('jsonfile'); -var log4js = require('log4js'); -var logger = log4js.getLogger(); - -require('sugar-date'); - -var file = __dirname + '/' + 'cal.json'; - -function saveData(v) { - jsonfile.writeFileSync(file, v); -} - -module.exports = { - getCal: function () { +var swedishword = require('./today/swedishword'); - calHandler.getSimpleCalV2('https://www.tripit.com/feed/ical/private/DB96E4BB-94A9BD8F9CC1CF51C6CC0D920840F4F5/tripit.ics', function(v) { - logger.debug(v) ; - }); - - } -}; - -module.exports.getCal(); \ No newline at end of file +swedishword.getSwedishWord() + .then((d) => { + "use strict"; + console.log('Wanted result: ' , d); + }) + .catch((e)=>{ + "use strict"; + console.error(e); + }); diff --git a/lib/today.js b/lib/today.js index 57460bf..47df838 100644 --- a/lib/today.js +++ b/lib/today.js @@ -2,7 +2,7 @@ * Created by marti on 30/01/2016. */ var http = require('http'), request = require('request'), cheerio = require( - 'cheerio'), Forecast = require('forecast.io'), util = require('util'), UltraSES = require( + 'cheerio'), util = require('util'), UltraSES = require( 'ultrases'), cron = require('node-cron'); var jade = require('jade'), _ = require('lodash'), dateFormat = require( 'dateformat'); @@ -12,533 +12,334 @@ var nano = require('nano')('http://localhost:5984'); var log4js = require('log4js'); var logger = log4js.getLogger(); -var calHandler = require('./calHandler'); -var swedishWord = require('./swedishword'); +var calHandler = require('./today/calHandler'); +var swedishWord = require('./today/swedishword'); +var weather = require('./today/weather'); +var trains = require('./today/trains'); +var history = require('./today/history'); var db_name = 'silvrgit'; var dbCouch = nano.use(db_name); - var todayCache = { - last: 0, data: { - trains: {last: 0, data: []}, - weather: {}, - history: [], - today: '', - tv: {entries: []}, - cal: {entries: []}, - swedish: {} - }, expire: ((60 * 1000) * 60) -}; - -var trainList = [ - { - id: 'dbeglq', - url: 'http://www.journeycheck.com/scotrail/route?from=DBE&to=GLQ&action=search&savedRoute=' - }, - { - id: 'glqdbe', - url: 'http://www.journeycheck.com/scotrail/route?from=GLQ&to=DBE&action=search&savedRoute=' - } -]; - -//https://api.forecast.io/forecast/0657dc0d81c037cbc89ca88e383b6bbf/55.8582846,-4.2593033?units=uk2 -var forecastOptions = { - APIKey: '0657dc0d81c037cbc89ca88e383b6bbf', units: 'uk2' + last: 0, data: { + trains: {last: 0, data: []}, + weather: {}, + history: [], + today: '', + tv: {entries: []}, + cal: {entries: []}, + swedish: {} + }, expire: ((60 * 1000) * 60) }; var mailer = new UltraSES({ - aws: { - accessKeyId: 'AKIAJWJS75F7WNCGK64A', - secretAccessKey: '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', - "region": "eu-west-1" - }, defaults: { - from: 'Martin Donnelly ' - } + aws: { + accessKeyId: 'AKIAJWJS75F7WNCGK64A', + secretAccessKey: '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', + "region": "eu-west-1" + }, defaults: { + from: 'Martin Donnelly ' + } }); var file = __dirname + '/' + 'newdata.json'; var htmlfile = __dirname + '/' + 'today.html'; function saveData() { - logger.info('Saving...'); - jsonfile.writeFileSync(file, todayCache); + logger.info('Saving...'); + jsonfile.writeFileSync(file, todayCache); } function saveToDB(data) { - logger.debug('Inserting into couch...'); - // logger.info(util.inspect(obj)); - dbCouch.insert(data, function (err, body, header) { - if (err) { - logger.error('Error inserting into couch'); - logger.error(err); - return; - } - }); + logger.debug('Inserting into couch...'); + // logger.info(util.inspect(obj)); + dbCouch.insert(data, function (err, body, header) { + if (err) { + logger.error('Error inserting into couch'); + logger.error(err); + return; + } + }); } function nth(d) { - if (d > 3 && d < 21) return 'th'; // thanks kennebec - switch (d % 10) { - case 1: - return "st"; - case 2: - return "nd"; - case 3: - return "rd"; - default: - return "th"; - } + if (d > 3 && d < 21) return 'th'; // thanks kennebec + switch (d % 10) { + case 1: + return "st"; + case 2: + return "nd"; + case 3: + return "rd"; + default: + return "th"; + } } function dayNumber() { - var now = new Date(); - var start = new Date(now.getFullYear(), 0, 0); - var diff = now - start; - var oneDay = 1000 * 60 * 60 * 24; - return Math.floor(diff / oneDay); + var now = new Date(); + var start = new Date(now.getFullYear(), 0, 0); + var diff = now - start; + var oneDay = 1000 * 60 * 60 * 24; + return Math.floor(diff / oneDay); } function breakDay() { - var now = new Date(); - return {year:now.getFullYear(), month:parseInt(now.getMonth()) + 1, day:now.getDate()} + var now = new Date(); + return {year: now.getFullYear(), month: parseInt(now.getMonth()) + 1, day: now.getDate()} } /** * @return {number} */ function DayDiff(CurrentDate) { - var TYear = CurrentDate.getFullYear(); - var TDay = new Date("January, 01, " + (parseInt(TYear) + 1)); - TDay.getFullYear(TYear); - var DayCount = (TDay - CurrentDate) / (1000 * 60 * 60 * 24); - DayCount = Math.round(DayCount); - return (DayCount); + var TYear = CurrentDate.getFullYear(); + var TDay = new Date("January, 01, " + (parseInt(TYear) + 1)); + TDay.getFullYear(TYear); + var DayCount = (TDay - CurrentDate) / (1000 * 60 * 60 * 24); + DayCount = Math.round(DayCount); + return (DayCount); } Array.prototype.indexOfOld = Array.prototype.indexOf; -Array.prototype.indexOf = function(e, fn) { - if (!fn) { - return this.indexOfOld(e) - } - else { - if (typeof fn === 'string') { - var att = fn; - fn = function(e) { - return e[att]; - } +Array.prototype.indexOf = function (e, fn) { + if (!fn) { + return this.indexOfOld(e) + } + else { + if (typeof fn === 'string') { + var att = fn; + fn = function (e) { + return e[att]; + } + } + return this.map(fn).indexOfOld(e); } - return this.map(fn).indexOfOld(e); - } }; module.exports = { - getClock: function(req, res) { - // console.log(todayCache); - res.render('pages/clock', todayCache); - }, getToday: function(req, res) { - logger.info(todayCache); - res.render('pages/today', todayCache); - }, getData: function(req, res) { - res.setHeader('Content-Type', 'application/json'); - res.end(JSON.stringify(todayCache)); - }, getTodayDate: function() { - var s, d = new Date(); - todayCache.data.history = []; + getClock: function (req, res) { + // console.log(todayCache); + res.render('pages/clock', todayCache); + }, getToday: function (req, res) { + logger.info(todayCache); + res.render('pages/today', todayCache); + }, getData: function (req, res) { + res.setHeader('Content-Type', 'application/json'); + res.end(JSON.stringify(todayCache)); + }, getTodayDate: function () { + var s, d = new Date(); + todayCache.data.history = []; - s = '' + dateFormat(d, "mmmm d") + ' - '; - s = s + 'The ' + dayNumber() + nth(dayNumber) + ' day of ' + dateFormat(d, - "yyyy") + ', and there are ' + DayDiff(d) + ' days left until the end of the year.'; + s = '' + dateFormat(d, "mmmm d") + ' - '; + s = s + 'The ' + dayNumber() + nth(dayNumber) + ' day of ' + dateFormat(d, + "yyyy") + ', and there are ' + DayDiff(d) + ' days left until the end of the year.'; - logger.debug(s); - todayCache.data.today = s; - }, + logger.debug(s); + todayCache.data.today = s; + }, - getTechHistory: function() { - var url, d, day, month, monthNames = [ - "January", - "February", - "March", - "April", - "May", - "June", - "July", - "August", - "September", - "October", - "November", - "December" - ]; + refreshTrainAndWeather: function () { - d = new Date(); + weather.newDoGetWeather() + .then((d)=> { + todayCache.data.weather = d; + }) + .catch((e) => { + logger.error(e); + }); - month = monthNames[d.getMonth()]; + trains.updateTrains() + .then((d) => { + "use strict"; + console.log('Trains: ', d); + todayCache.data.trains.data = d; + todayCache.data.trains.last = new Date(); + }) + .catch((e)=> { + "use strict"; + console.error(e); + }); - day = d.getDate(); + }, preLoadToday: function () { + module.exports.getTodayDate(); + var self = this; + todayCache.data.cal.entries = []; - url = ['http://www.computerhistory.org/tdih/', month, '/', day].join(''); - logger.info(url); - request(url, function(err, resp, body) { - if (err) - throw err; + weather.newDoGetWeather() + .then((d)=> { + todayCache.data.weather = d; + }) + .catch((e) => { + logger.error(e); + }); - $ = cheerio.load(body); - var tdihbody = $('#tdihbody'); + trains.updateTrains() + .then((d) => { + "use strict"; + console.log('Trains: ', d); + todayCache.data.trains.data = d; + todayCache.data.trains.last = new Date(); + }) + .catch((e)=> { + "use strict"; + console.error(e); + }); - var output = []; - tdihbody.find('.tdihevent > p').each(function(div) { - var s = $(this).text(); - output.push(STRING(s).collapseWhitespace().s); - }); - todayCache.data.history = todayCache.data.history.concat(output); - logger.info(todayCache.data.history); - }, function(error, response, body) { - if (response.statusCode !== 200) { - logger.error(response.statusCode); - logger.error(body); - } - }); - }, getHistory: function() { - var url, d, day, month, monthNames = [ - "january", - "february", - "march", - "april", - "may", - "june", - "july", - "august", - "september", - "october", - "november", - "december" - ]; + history.updateHistory() + .then((d) => { + "use strict"; + console.log('History result: ' , d); + todayCache.data.history = d; + }) + .catch((e)=>{ + "use strict"; + console.error(e); + }); - d = new Date(); - month = monthNames[d.getMonth()]; - day = d.getDate(); - url = [ - 'http://www.bbc.co.uk/scotland/history/onthisday/', month, '/', - day - ].join(''); - logger.debug(url); - request(url, function(err, resp, body) { - if (err) - throw err; - $ = cheerio.load(body); - - var body = $('DIV#bbcPageContent').first(); - var output = []; - - body.find('.story > p').each(function(div) { - - var s = $(this).text(); - if (s.indexOf('Today\'s recipe:') == -1) { - output.push(s); + calHandler.getSimpleCalV3('http://www.pogdesign.co.uk/cat/download_ics/60cfdff469d0490545d33d7e3b5c0bcc') + .then((d)=>{ + "use strict"; + todayCache.data.tv = d; + }) + .catch(e)=>{ + logger.error(e); } - }); - todayCache.data.history = todayCache.data.history.concat(output); - logger.info(todayCache.data.history); - module.exports.getTechHistory(); - }, function(error, response, body) { - if (response.statusCode !== 200) { - logger.error(response.statusCode); - logger.error(body); - } - }); - }, processTrainUpdates: function(body) { - var outputArray = []; - var $ = cheerio.load(body); - var lu = $('DIV#LU').first(); + calHandler.getSimpleCalV3( + 'https://calendar.google.com/calendar/ical/martind2000%40gmail.com/private-40cfebc9f7dcfa7fde6b9bf2f0092c93/basic.ics' + ) + .then((d)=>{ + "use strict"; + todayCache.data.cal.entries = todayCache.data.cal.entries.concat(d.entries); + }) + .catch(e)=>{ + logger.error(e); + } - var us = lu.find('.updatesSection').first(); - us.find('.updateTitle').each(function(div) { - var wO = {title: '', description: ''}; - title = $(this).find('A').first().text().trim(); - wO.title = title; - outputArray.push(wO); - }); - us.find('.updateBodyStart').each(function(div) { + calHandler.getSimpleCalV3( + 'https://calendar.google.com/calendar/ical/mt5pgdhknvgoc8usfnrso9vkv0%40group.calendar.google.com/private-58876002af9f302a593acfa6fa792dcf/basic.ics' + ) + .then((d)=>{ + "use strict"; + todayCache.data.cal.entries = todayCache.data.cal.entries.concat(d.entries); + }) + .catch(e)=>{ + logger.error(e); + } - var description = $(this).find('.bodyInner').first().find('.primaryStyle').first().text().trim(); - var splitDesc = description.split('\r\n'); + calHandler.getSimpleCalV3( + 'https://www.tripit.com/feed/ical/private/DB96E4BB-94A9BD8F9CC1CF51C6CC0D920840F4F5/tripit.ics' + ) + .then((d)=>{ + "use strict"; + todayCache.data.cal.entries = todayCache.data.cal.entries.concat(d.entries); + }) + .catch(e)=>{ + logger.error(e); + } - var wa = []; - for (var i = 0; i < splitDesc.length; i++) { - var contentCheck = splitDesc[i].trim(); - if (contentCheck.indexOf('Impact') > -1) contentCheck = ''; - if (contentCheck.indexOf('Additional Information') > -1) contentCheck = ''; - if (contentCheck.indexOf('apologise for the delay') > -1) contentCheck = ''; - if (contentCheck.indexOf('Delay Repay') > -1) contentCheck = ''; - if (contentCheck.length > 0) wa.push(contentCheck); - } - description = wa.join(' '); - outputArray[div].description = description; - }); + swedishWord.getSwedishWord() + .then((d) => { + "use strict"; + console.log('Swedish result: ' , d); + todayCache.data.swedish =d; + }) + .catch((e)=>{ + "use strict"; + console.error(e); + }); - // join arrays + todayCache.date = breakDay(); + // word of the day http://wotd.transparent.com/rss/swedish-widget.xml?t=1455840000000 + // time stamp - for (var i = 0; i < outputArray.length; i++) { - var flag = false; - for (var j = 0; j < todayCache.data.trains.data.length; j++) { - flag = _.isEqual(todayCache.data.trains.data[j], outputArray[i]) - } - - if (!flag) { - todayCache.data.trains.data.push(outputArray[i]); - } } - todayCache.data.trains.data = _.uniq(todayCache.data.trains.data); - - }, getTrainUpdates: function(id) { - logger.info('Getting train events...'); - var url = trainList[id].url; - - var now = new Date(); - - // if ((now - eventCache.last) > eventCache.expire) { - request(url, function(err, resp, body) { - if (err) - throw err; - - module.exports.processTrainUpdates(body); - - }, function(error, response, body) { - if (response.statusCode !== 200) { - logger.error(response.statusCode); - logger.error(body); - } - }); - - todayCache.data.trains.last = now; - - }, updateTrains: function() { - logger.info('Updating trains..'); - - todayCache.data.trains.data = []; - - module.exports.getTrainUpdates(0); - module.exports.getTrainUpdates(1); - - }, - - doGetWeatherOutlook: function() { - logger.info('Retrieving weather..'); - var j = {}; - var forecast = new Forecast(forecastOptions); - forecast.get(55.8582846, - -4.2593033, - {units: 'uk2'}, - function(err, res, data) { - if (err) throw err; - - var tempMin = parseInt(data.daily.data[0].temperatureMin); - var tempMax = parseInt(data.daily.data[0].temperatureMax); - - j.currently = data.currently.summary; - j.today = data.daily.data[0].summary; - j.later = data.daily.summary; - j.alerts = data.alerts || {}; - j.data = data; - - var fs = STRING(j.currently).endsWith('.') ? '' : '.'; - if (tempMax == tempMin) { - j.currently += fs + ' Around ' + tempMin.toString() + ' degrees.'; - } - else { - j.currently += fs + ' Around ' + tempMin.toString() + ' to ' + tempMax.toString() + ' degrees.'; - } - todayCache.data.weather = j; - }); - - }, refreshTrainAndWeather: function() { - - try { - module.exports.doGetWeatherOutlook(); - } - catch (e) { - // statements to handle any exceptions - logger.error(e); - } - - try { - module.exports.updateTrains(); - } - catch (e) { - // statements to handle any exceptions - logger.error(e); - } - - }, preLoadToday: function() { - module.exports.getTodayDate(); - var self = this; - - try { - module.exports.doGetWeatherOutlook(); - } - catch (e) { - // statements to handle any exceptions - logger.error(e); - } - - try { - module.exports.updateTrains(); - } - catch (e) { - // statements to handle any exceptions - logger.error(e); - } - - try { - module.exports.getHistory(); - } - catch (e) { - // statements to handle any exceptions - logger.error(e); - } - - try { - calHandler.getSimpleCalV2( - 'http://www.pogdesign.co.uk/cat/download_ics/60cfdff469d0490545d33d7e3b5c0bcc', - function(v) { - todayCache.data.tv = v; - }); - } - catch (e) { - logger.error(e); - } - - try { - calHandler.getSimpleCalV2( - 'https://calendar.google.com/calendar/ical/martind2000%40gmail.com/private-40cfebc9f7dcfa7fde6b9bf2f0092c93/basic.ics', - function(v) { - todayCache.data.cal.entries = todayCache.data.cal.entries.concat(v.entries); - }); - } - catch (e) { - logger.error(e); - } - - try { - calHandler.getSimpleCalV2( - 'https://calendar.google.com/calendar/ical/mt5pgdhknvgoc8usfnrso9vkv0%40group.calendar.google.com/private-58876002af9f302a593acfa6fa792dcf/basic.ics', - function(v) { - todayCache.data.cal.entries = todayCache.data.cal.entries.concat(v.entries); - }); - } - catch (e) { - logger.error(e); - } - - try { - calHandler.getSimpleCalV2( - 'https://www.tripit.com/feed/ical/private/DB96E4BB-94A9BD8F9CC1CF51C6CC0D920840F4F5/tripit.ics', - function(v) { - todayCache.data.cal.entries = todayCache.data.cal.entries.concat(v.entries); - }); - } - catch (e) { - logger.error(e); - } - - try { - swedishWord.getSwedishWord(function(v) { - todayCache.data.swedish = v; - }); - } - catch (e) { - logger.error(e); - } - - todayCache.date = breakDay(); - // word of the day http://wotd.transparent.com/rss/swedish-widget.xml?t=1455840000000 - // time stamp - - } }; function sendEmailV1() { - var now = new Date(); + var now = new Date(); - var email = { - to: 'martind2000@gmail.com', - subject: 'Today - ' + dateFormat(now, "dddd, mmmm dS, yyyy") - }; + var email = { + to: 'martind2000@gmail.com', + subject: 'Today - ' + dateFormat(now, "dddd, mmmm dS, yyyy") + }; - var template = { - file: __dirname + '/' + 'jade/today.jade', - locals: todayCache - }; + var template = { + file: __dirname + '/' + 'jade/today.jade', + locals: todayCache + }; - logger.debug(__dirname); - logger.debug(__dirname.substr(__dirname.lastIndexOf('/'), __dirname.length)); + logger.debug(__dirname); + logger.debug(__dirname.substr(__dirname.lastIndexOf('/'), __dirname.length)); - //if (__dirname.substr(__dirname.lastIndexOf('/'),__dirname.length)) + //if (__dirname.substr(__dirname.lastIndexOf('/'),__dirname.length)) - mailer.sendTemplate(email, template, function(err) { - if (err) throw err; - logger.info('compiled template email sent'); - }); + mailer.sendTemplate(email, template, function (err) { + if (err) throw err; + logger.info('compiled template email sent'); + }); - // saveData(); - var fn = jade.compileFile(template.file); + // saveData(); + var fn = jade.compileFile(template.file); - //console.log(fn(todayCache)); + //console.log(fn(todayCache)); - // fs.writeFileSync(htmlfile, fn(todayCache)); + // fs.writeFileSync(htmlfile, fn(todayCache)); } function sendEmail() { - logger.log('Simple email'); - var now = new Date(); + logger.log('Simple email'); + var now = new Date(); - var email = { - to: 'martind2000@gmail.com', - subject: 'Today - ' + dateFormat(now, "dddd, mmmm dS, yyyy") - }; + var email = { + to: 'martind2000@gmail.com', + subject: 'Today - ' + dateFormat(now, "dddd, mmmm dS, yyyy") + }; - /* mailer.sendText(email, 'Look at this fantastic email body!', function (err) { - if (err) throw err; - console.log('email sent!'); - }); - */ + /* mailer.sendText(email, 'Look at this fantastic email body!', function (err) { + if (err) throw err; + console.log('email sent!'); + }); + */ - saveData(); + saveData(); } -setTimeout(function() { - module.exports.preLoadToday(); -}, 15000); +setTimeout(function () { + module.exports.preLoadToday(); + +}, 5000); setTimeout(function () { - saveToDB(todayCache); - }, 45000); + saveToDB(todayCache); +}, 45000); -cron.schedule('45 6 * * *', function() { - module.exports.preLoadToday(); - return -1; +cron.schedule('45 6 * * *', function () { + module.exports.preLoadToday(); + return -1; }); -cron.schedule('0 */1 * * *', function() { - module.exports.refreshTrainAndWeather(); - return -1; +cron.schedule('0 */1 * * *', function () { + module.exports.refreshTrainAndWeather(); + return -1; }); -cron.schedule('0 7 * * *', function() { - sendEmailV1(); - saveToDB(todayCache); - // console.log('tick'); - return -1; +cron.schedule('0 7 * * *', function () { + sendEmailV1(); + saveToDB(todayCache); + // console.log('tick'); + return -1; }); diff --git a/lib/calHandler.js b/lib/today/calHandler.js similarity index 69% rename from lib/calHandler.js rename to lib/today/calHandler.js index 414b9c8..ac49c61 100644 --- a/lib/calHandler.js +++ b/lib/today/calHandler.js @@ -20,11 +20,20 @@ function processICAL(ical) { begin: 'BEGIN:VEVENT', end: 'END:VEVENT', beginAlarm: 'BEGIN:VALARM', - recur : 'RRULE' + recur: 'RRULE' }; function processBlock(block) { - var workBlock = {summary: '', dtstart: null, dtend: null, description: '', timeStart : null, timeEnd : null, duration:0, combined:''}; + var workBlock = { + summary: '', + dtstart: null, + dtend: null, + description: '', + timeStart: null, + timeEnd: null, + duration: 0, + combined: '' + }; var alarmFlag = false, ws, blockStep; for (var step = 0; step < block.length; step++) { blockStep = block[step]; @@ -57,12 +66,12 @@ function processICAL(ical) { } } - if (workBlock.dtstart !== null ){ + if (workBlock.dtstart !== null) { workBlock.timeStart = workBlock.dtstart.format('{12hr}:{mm}:{ss} {tt}'); workBlock.combined = '' + workBlock.timeStart + ' - '; } workBlock.combined = workBlock.combined + workBlock.summary; - if (workBlock.dtend !== null ){ + if (workBlock.dtend !== null) { workBlock.timeEnd = workBlock.dtend.format('{12hr}:{mm}:{ss} {tt}'); } if (workBlock.dtstart !== null && workBlock.dtend !== null) { @@ -71,8 +80,6 @@ function processICAL(ical) { workBlock.combined = workBlock.combined + ', ' + elapsedTime.optimal; } - - return workBlock; } @@ -101,7 +108,7 @@ function processICAL(ical) { } } logger.info('- processICAL'); - // if (workingBlock.dtstart == null) return {}; + // if (workingBlock.dtstart == null) return {}; return workingBlock; } @@ -121,7 +128,7 @@ module.exports = { today.entries.push(this.jsonBlock[t]); } } - // logger.debug(today); + // logger.debug(today); logger.info('- getTodaysSimple'); return today; }, @@ -148,7 +155,7 @@ module.exports = { } } } - // logger.debug(today); + // logger.debug(today); logger.info('- getTodaysMeetings'); return today; }, getSimpleCalV2: function (url, cb) { @@ -156,31 +163,66 @@ module.exports = { var self = this; // var calJson = []; -try{ - request(url, function (err, res, body) { - if (err) { - logger.error('Get remote Calendar Request failed'); - // callback.call(null, new Error('Request failed')); - return; + try { + request(url, function (err, res, body) { + if (err) { + logger.error('Get remote Calendar Request failed'); + // callback.call(null, new Error('Request failed')); + return; + } + + self.jsonBlock = processICAL(body); + + // logger.debug(self.jsonBlock); + var st = self.getTodaysSimple(); + + if (typeof cb === 'function') { + cb(st); + } + }, function (error, response, body) { + if (response.statusCode !== 200) { + logger.error(response.statusCode); + logger.error(body); + } + }); + } catch (e) { + console.log(e); + } + + },getSimpleCalV3: function (url) { + "use strict"; + var self = this; + + return new Promise(function(resolve, reject) { + try { + request(url, function (err, res, body) { + if (err) { + // logger.error(err); + return reject(err); + // throw err; + } + + self.jsonBlock = processICAL(body); + + // logger.debug(self.jsonBlock); + var st = self.getTodaysSimple(); + + return resolve(st); + }, function (error, response, body) { + if (response.statusCode !== 200) { + logger.error(response.statusCode); + logger.error(body); + return reject(error); + } + }); + } catch (e) { + console.log(e); + return reject(e); } - self.jsonBlock = processICAL(body); + }); - // logger.debug(self.jsonBlock); - var st = self.getTodaysSimple(); - - if (typeof cb === 'function') { - cb(st); - } - }, function(error, response, body) { - if(response.statusCode !== 200) { - logger.error(response.statusCode); - logger.error(body); - } - }); -} catch (e) { - console.log(e); - } + // var calJson = []; } diff --git a/lib/today/history.js b/lib/today/history.js new file mode 100644 index 0000000..f7f4f9c --- /dev/null +++ b/lib/today/history.js @@ -0,0 +1,160 @@ +/** + * Created by Martin on 31/03/2016. + */ +var request = require('request'), cheerio = require('cheerio') +var STRING = require('string'); +var logger = require('log4js').getLogger(); + +module.exports = { + getTechHistory: function () { + var url, d, day, month, monthNames = [ + "January", + "February", + "March", + "April", + "May", + "June", + "July", + "August", + "September", + "October", + "November", + "December" + ]; + + d = new Date(); + + month = monthNames[d.getMonth()]; + + day = d.getDate(); + + url = ['http://www.computerhistory.org/tdih/', month, '/', day].join(''); + logger.debug(url); + return new Promise(function (resolve, reject) { + "use strict"; + + request(url, function (err, resp, body) { + if (err) { + // logger.error(err); + return reject(err); + // throw err; + } + + $ = cheerio.load(body); + var tdihbody = $('#tdihbody'); + + var output = []; + + tdihbody.find('.tdihevent > p').each(function (div) { + var s = $(this).text(); + output.push(STRING(s).collapseWhitespace().s); + }); + //todayCache.data.history = todayCache.data.history.concat(output); + // logger.info(todayCache.data.history); + + return resolve(output); + }, function (error, response, body) { + if (response.statusCode !== 200) { + logger.error(response.statusCode); + logger.error(body); + return reject(error); + } + }); + }); + + }, getHistory: function () { + var url, d, day, month, monthNames = [ + "january", + "february", + "march", + "april", + "may", + "june", + "july", + "august", + "september", + "october", + "november", + "december" + ]; + + d = new Date(); + + month = monthNames[d.getMonth()]; + + day = d.getDate(); + + url = [ + 'http://www.bbc.co.uk/scotland/history/onthisday/', month, '/', + day + ].join(''); + + logger.debug(url); + + return new Promise(function (resolve, reject) { + + request(url, function (err, resp, body) { + if (err) { + // logger.error(err); + return reject(err); + // throw err; + } + + $ = cheerio.load(body); + + var body = $('DIV#bbcPageContent').first(); + var output = []; + + body.find('.story > p').each(function (div) { + + var s = $(this).text(); + if (s.indexOf('Today\'s recipe:') == -1) { + output.push(s); + } + }); + + return resolve(output); + // todayCache.data.history = todayCache.data.history.concat(output); + // logger.info(todayCache.data.history); + // module.getTechHistory(); + + }, function (error, response, body) { + if (response.statusCode !== 200) { + logger.error(response.statusCode); + logger.error(body); + return reject(error); + } + }); + + }); + + }, + updateHistory: function () { + "use strict"; + var output = []; + return new Promise(function (resolve, reject) { + module.exports.getHistory() + .then((d)=> { + + output = d; + + module.exports.getTechHistory() + .then((d) => { + output = output.concat(d); + + return resolve(output) + }) + .catch((e) => { + logger.error(e); + return reject(e); + }); + + }) + .catch((e) => { + logger.error(e); + return reject(e); + }); + + }) + } +}; \ No newline at end of file diff --git a/lib/swedishword.js b/lib/today/swedishword.js similarity index 70% rename from lib/swedishword.js rename to lib/today/swedishword.js index a51c4db..d2653aa 100644 --- a/lib/swedishword.js +++ b/lib/today/swedishword.js @@ -17,33 +17,32 @@ function saveData(v) { } module.exports = { - getSwedishWord: function (cb) { + getSwedishWord: function () { + return new Promise(function(resolve, reject) { + "use strict"; var t= new Date(), ms = t.getTime(); - - url = ['http://wotd.transparent.com/rss/swedish-widget.xml?t=', ms].join(''); + var url = ['http://wotd.transparent.com/rss/swedish-widget.xml?t=', ms].join(''); logger.info(url); request(url, function (err, resp, body) { - if (err) - throw err; - - logger.debug(body); + if (err) { + return reject(err); + } to_json(body, function (error, data) { - console.log(data); - if(typeof cb === 'function') { - cb(data); - } + return resolve(data); }); }, function(error, response, body) { if(response.statusCode !== 200) { logger.error(response.statusCode); logger.error(body); + return reject(error); } }); + }); } }; diff --git a/lib/today/trains.js b/lib/today/trains.js new file mode 100644 index 0000000..f6751b8 --- /dev/null +++ b/lib/today/trains.js @@ -0,0 +1,131 @@ +/** + * Created by Martin on 31/03/2016. + */ +var STRING = require('string'); +var logger = require('log4js').getLogger(); +var request = require('request'), cheerio = require('cheerio'); +var _ = require('lodash'); +var trainList = [ + { + id: 'dbeglq', + url: 'http://www.journeycheck.com/scotrail/route?from=DBE&to=GLQ&action=search&savedRoute=' + }, + { + id: 'glqdbe', + url: 'http://www.journeycheck.com/scotrail/route?from=GLQ&to=DBE&action=search&savedRoute=' + } +]; + +module.exports = { + + processTrainUpdates: function (body) { + var outputArray = []; + var $ = cheerio.load(body); + var lu = $('DIV#LU').first(); + + var us = lu.find('.updatesSection').first(); + us.find('.updateTitle').each(function (div) { + var wO = {title: '', description: ''}; + title = $(this).find('A').first().text().trim(); + wO.title = title; + outputArray.push(wO); + }); + + us.find('.updateBodyStart').each(function (div) { + + var description = $(this).find('.bodyInner').first().find('.primaryStyle').first().text().trim(); + var splitDesc = description.split('\r\n'); + + var wa = []; + for (var i = 0; i < splitDesc.length; i++) { + var contentCheck = splitDesc[i].trim(); + if (contentCheck.indexOf('Impact') > -1) contentCheck = ''; + if (contentCheck.indexOf('Additional Information') > -1) contentCheck = ''; + if (contentCheck.indexOf('apologise for the delay') > -1) contentCheck = ''; + if (contentCheck.indexOf('Delay Repay') > -1) contentCheck = ''; + if (contentCheck.length > 0) wa.push(contentCheck); + } + description = wa.join(' '); + outputArray[div].description = description; + }); + + return outputArray; + + }, getTrainUpdates: function (id, out) { + + return new Promise(function (resolve, reject) { + "use strict"; + logger.info('Getting train events: ', id); + var url = trainList[id].url; + + var now = new Date(); + + // if ((now - eventCache.last) > eventCache.expire) { + request(url, function (err, resp, body) { + if (err) { + // logger.error(err); + return reject(err); + // throw err; + } + + var trainData = module.exports.processTrainUpdates(body); + + for (var i = 0; i < out.length; i++) { + var flag = false; + for (var j = 0; j < trainData.length; j++) { + flag = _.isEqual(trainData[j], out[i]) + } + + if (!flag) { + trainData.push(out[i]); + } + } + trainData = _.uniq(trainData); + + return resolve(trainData); + + }, function (error, response, body) { + if (response.statusCode !== 200) { + logger.error(response.statusCode); + logger.error(body); + } + if (error) { + // logger.error(err); + return reject(err); + // throw err; + } + }); + + }); + + }, updateTrains: function () { + logger.info('New Updating trains..'); + + var output = []; + return new Promise(function (resolve, reject) { + "use strict"; + module.exports.getTrainUpdates(0, []) + .then((d)=> { + "use strict"; + + module.exports.getTrainUpdates(1, d) + .then((d)=> { + "use strict"; + return resolve(d); + + }) + .catch((e)=> { + "use strict"; + return reject(e); + }); + + }) + .catch((e)=> { + "use strict"; + return reject(e); + }); + }); + + } + +}; diff --git a/lib/today/weather.js b/lib/today/weather.js new file mode 100644 index 0000000..4ff6f6a --- /dev/null +++ b/lib/today/weather.js @@ -0,0 +1,53 @@ +/** + * Created by Martin on 31/03/2016. + */ +var Forecast = require('forecast.io'); +var STRING = require('string'); +var logger = require('log4js').getLogger(); + + +var forecastOptions = { + APIKey: '0657dc0d81c037cbc89ca88e383b6bbf', units: 'uk2' +}; + +module.exports = { + newDoGetWeather: function() { + 'use strict'; + return new Promise(function(resolve, reject) { + logger.info('New Retrieving weather..'); + var j = {}; + var forecast = new Forecast(forecastOptions); + forecast.get(55.8582846, + -4.2593033, + {units: 'uk2'}, + function(err, res, data) { + if (err) { + // logger.error(err); + return reject(err); + // throw err; + } + + var tempMin = parseInt(data.daily.data[0].temperatureMin); + var tempMax = parseInt(data.daily.data[0].temperatureMax); + + j.currently = data.currently.summary; + j.today = data.daily.data[0].summary; + j.later = data.daily.summary; + j.alerts = data.alerts || {}; + j.data = data; + + var fs = STRING(j.currently).endsWith('.') ? '' : '.'; + if (tempMax == tempMin) { + j.currently += fs + ' Around ' + tempMin.toString() + ' degrees.'; + } + else { + j.currently += fs + ' Around ' + tempMin.toString() + ' to ' + tempMax.toString() + ' degrees.'; + } + // logger.debug(j); + return resolve(j); + }); + }); + } + + +}; \ No newline at end of file diff --git a/lib/weather.js b/lib/weather.js index d4abebb..cba0cad 100644 --- a/lib/weather.js +++ b/lib/weather.js @@ -17,7 +17,6 @@ function saveData(d) { jsonfile.writeFileSync(file, d); } - module.exports = { doGetWeatherOutlook: function () { @@ -37,8 +36,6 @@ console.log(util.inspect(data)); }); } -} -; - +}; module.exports.doGetWeatherOutlook(); \ No newline at end of file diff --git a/views/pages/slack.ejs b/views/pages/slack.ejs index 8ddb8c3..5d80cca 100644 --- a/views/pages/slack.ejs +++ b/views/pages/slack.ejs @@ -2,7 +2,7 @@
-
Slack - I have plenty of talent and vision I just don't give a damn
+
Slack - I have plenty of talent and vision I just don't give a damn
@@ -66,7 +66,7 @@
  • WebSSH
  • Jade Tester
  • -
  • Generate Password
  • +
  • @@ -221,7 +221,7 @@
    Travel
    - DBEGLQ: --- GLQDBE: --- + DBEGLQ: GLQDBE:
    • diff --git a/views/partials/head.ejs b/views/partials/head.ejs index 6d7d12d..1508b2a 100644 --- a/views/partials/head.ejs +++ b/views/partials/head.ejs @@ -9,7 +9,7 @@ - + - +