diff --git a/config/webpack.common.js b/config/webpack.common.js index be19e76..eb46948 100644 --- a/config/webpack.common.js +++ b/config/webpack.common.js @@ -81,7 +81,7 @@ module.exports = function (options) { extensions: ['.ts', '.js', '.json', '.css', '.scss'], // An array of directory names to be resolved to the current directory - modules: [helpers.root('src'), helpers.root('node_modules')], + modules: [helpers.root('src/app'), helpers.root('node_modules'), helpers.root('bower_components')], }, @@ -163,38 +163,10 @@ module.exports = function (options) { * Returns compiled css content as string * */ - /* { - test: /\.scss$/, - use: ['raw-loader', 'sass-loader'] - },*/ - - /* { - test: /app\.scss$/, - use: ExtractTextPlugin.extract({ - fallback: 'style-loader', - use: 'css-loader!sass-loader?sourceMap' - }) - },*/ - { test: /\.scss$/, - use: ExtractTextPlugin.extract({ - fallback: 'style-loader', - use: "css-loader!autoprefixer-loader!sass-loader" - }) + use: ['raw-loader', 'sass-loader'] }, - /* - { - test: /\.scss$/, - loader: extractCSS.extract(['css-loader','sass?sourceMap']) - }, - { - test: /\.css$/, - include: helpers.root('src/app'), - loader: 'raw-loader' - }, - */ - /* Raw loader support for *.html * Returns file content as string diff --git a/config/webpack.dev.js b/config/webpack.dev.js index e06adc8..4983963 100644 --- a/config/webpack.dev.js +++ b/config/webpack.dev.js @@ -101,28 +101,6 @@ module.exports = function (options) { exclude: [/\.(spec|e2e)\.ts$/] }, - /* - * css loader support for *.css files (styles directory only) - * Loads external css styles into the DOM, supports HMR - * - */ - { - test: /\.css$/, - use: ['style-loader', 'css-loader'], - include: [helpers.root('src', 'styles')] - }, - - /* - * sass loader support for *.scss files (styles directory only) - * Loads external sass styles into the DOM, supports HMR - * - */ - { - test: /\.scss$/, - use: ['style-loader', 'css-loader', 'sass-loader'], - include: [helpers.root('src', 'styles')] - }, - ] }, diff --git a/css/application.min.css b/css/application.min.css deleted file mode 100644 index 1be3435..0000000 --- a/css/application.min.css +++ /dev/null @@ -1 +0,0 @@ -@charset "UTF-8";.mdl-button,.mdl-button .material-icons,.mdl-checkbox,.mdl-data-table td,.mdl-data-table td .mdl-data-table__select,audio,canvas,iframe,img,svg,video{vertical-align:middle}blockquote,h1{line-height:1.35}address,h5{line-height:1}.mdl-typography--display-1-color-contrast,.mdl-typography--display-2-color-contrast,.mdl-typography--display-3-color-contrast,.mdl-typography--display-4-color-contrast{opacity:.54}.mdl-typography--button,.mdl-typography--button-color-contrast{text-transform:uppercase}html{color:rgba(0,0,0,.87)}::selection{background:#b3d4fc;text-shadow:none}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}fieldset{border:0;margin:0;padding:0}textarea{resize:vertical}.browserupgrade{margin:.2em 0;background:#ccc;color:#000;padding:.2em 0}.hidden{display:none!important}.visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}body,html{width:100%}.invisible{visibility:hidden}.clearfix:after,.clearfix:before{content:" ";display:table}.clearfix:after{clear:both}@media print{blockquote,img,pre,tr{page-break-inside:avoid}*,:after,:before,:first-letter,:first-line{background:0 0!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{border:1px solid #999}thead{display:table-header-group}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}}.mdl-accordion,.mdl-button,.mdl-card,.mdl-checkbox,.mdl-dropdown-menu,.mdl-icon-toggle,.mdl-item,.mdl-radio,.mdl-slider,.mdl-switch,.mdl-tabs__tab,a{-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:rgba(255,255,255,0)}html{height:100%;-ms-touch-action:manipulation;touch-action:manipulation}body{min-height:100%;margin:0}main{display:block}[hidden]{display:none!important}body,html{font-family:Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;line-height:20px}h1,h2,h3,h4,h5,h6,p{margin:0;padding:0}h1,h2,h3{margin-bottom:24px;font-weight:400}h1,h2,h3,h4,h5,h6{margin-top:24px;font-family:Roboto,Helvetica,Arial,sans-serif}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-family:Roboto,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.35;letter-spacing:-.02em;opacity:.54;font-size:.6em}h1{font-size:56px;letter-spacing:-.02em}h2{font-size:45px;line-height:48px}h3{font-size:34px;line-height:40px}h4{font-size:24px;font-weight:400;line-height:32px;-moz-osx-font-smoothing:grayscale;margin-bottom:16px}h5{font-size:20px;font-weight:500;letter-spacing:.02em;margin-bottom:16px}h6,p{font-weight:400;margin-bottom:16px;line-height:24px}h6{font-size:16px;letter-spacing:.04em}p{font-size:14px;letter-spacing:0}blockquote{font-family:Roboto,Helvetica,Arial,sans-serif;position:relative;font-size:24px;font-weight:300;font-style:italic;letter-spacing:.08em}blockquote:before{position:absolute;left:-.5em;content:'“'}blockquote:after{content:'”';margin-left:-.05em}mark{background-color:#f4ff81}dt{font-weight:700}address,ol,ul{font-weight:400;letter-spacing:0}address{font-size:12px;font-style:normal}ol,ul{font-size:14px;line-height:24px}.mdl-typography--display-4,.mdl-typography--display-4-color-contrast{font-family:Roboto,Helvetica,Arial,sans-serif;font-size:112px;line-height:1;letter-spacing:-.04em;font-weight:300}.mdl-typography--display-3,.mdl-typography--display-3-color-contrast{font-family:Roboto,Helvetica,Arial,sans-serif;font-size:56px;font-weight:400;line-height:1.35;letter-spacing:-.02em}.mdl-typography--display-2,.mdl-typography--display-2-color-contrast{font-family:Roboto,Helvetica,Arial,sans-serif;font-size:45px;font-weight:400;line-height:48px}.mdl-typography--display-1,.mdl-typography--display-1-color-contrast{font-family:Roboto,Helvetica,Arial,sans-serif;font-size:34px;font-weight:400;line-height:40px}.mdl-typography--headline,.mdl-typography--headline-color-contrast{font-family:Roboto,Helvetica,Arial,sans-serif;font-size:24px;font-weight:400;line-height:32px;-moz-osx-font-smoothing:grayscale}.mdl-typography--headline-color-contrast{opacity:.87}.mdl-typography--title,.mdl-typography--title-color-contrast{font-family:Roboto,Helvetica,Arial,sans-serif;font-size:20px;font-weight:500;line-height:1;letter-spacing:.02em}.mdl-typography--title-color-contrast{opacity:.87}.mdl-typography--subhead,.mdl-typography--subhead-color-contrast{font-family:Roboto,Helvetica,Arial,sans-serif;font-size:16px;font-weight:400;letter-spacing:.04em;line-height:24px}.mdl-typography--subhead-color-contrast{opacity:.87}.mdl-typography--body-2{font-size:14px;font-weight:700;line-height:24px;letter-spacing:0}.mdl-typography--body-2-color-contrast{font-size:14px;font-weight:700;line-height:24px;letter-spacing:0;opacity:.87}.mdl-typography--body-1,.mdl-typography--body-1-color-contrast{font-size:14px;font-weight:400;line-height:24px;letter-spacing:0}.mdl-typography--body-1-color-contrast{opacity:.87}.mdl-typography--body-2-force-preferred-font,.mdl-typography--body-2-force-preferred-font-color-contrast{font-family:Roboto,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500}.mdl-typography--body-2-force-preferred-font{line-height:24px;letter-spacing:0}.mdl-typography--body-2-force-preferred-font-color-contrast{line-height:24px;letter-spacing:0;opacity:.87}.mdl-typography--body-1-force-preferred-font,.mdl-typography--body-1-force-preferred-font-color-contrast{font-size:14px;font-weight:400;line-height:24px;letter-spacing:0;font-family:Roboto,Helvetica,Arial,sans-serif}.mdl-typography--body-1-force-preferred-font-color-contrast{opacity:.87}.mdl-typography--caption-color-contrast,.mdl-typography--caption-force-preferred-font-color-contrast{font-size:12px;font-weight:400;line-height:1;letter-spacing:0;opacity:.54}.mdl-typography--caption{font-size:12px;font-weight:400;line-height:1;letter-spacing:0}.mdl-typography--caption-force-preferred-font{font-family:Roboto,Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;line-height:1;letter-spacing:0}.mdl-typography--caption-force-preferred-font-color-contrast{font-family:Roboto,Helvetica,Arial,sans-serif}.mdl-typography--button-color-contrast,.mdl-typography--menu-color-contrast{font-size:14px;font-weight:500;opacity:.87;line-height:1;font-family:Roboto,Helvetica,Arial,sans-serif;letter-spacing:0}.mdl-typography--menu{font-family:Roboto,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;line-height:1;letter-spacing:0}.mdl-typography--button{font-family:Roboto,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;line-height:1;letter-spacing:0}.mdl-typography--text-left{text-align:left}.mdl-typography--text-right{text-align:right}.mdl-typography--text-center{text-align:center}.mdl-typography--text-justify{text-align:justify}.mdl-typography--text-nowrap{white-space:nowrap}.mdl-typography--text-lowercase{text-transform:lowercase}.mdl-typography--text-uppercase{text-transform:uppercase}.mdl-typography--text-capitalize{text-transform:capitalize}.mdl-typography--font-thin{font-weight:200!important}.mdl-typography--font-light{font-weight:300!important}.mdl-typography--font-regular{font-weight:400!important}.mdl-typography--font-medium{font-weight:500!important}.mdl-typography--font-bold{font-weight:700!important}.mdl-typography--font-black{font-weight:900!important}.material-icons{font-family:'Material Icons';font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;word-wrap:normal;font-feature-settings:'liga';-webkit-font-feature-settings:'liga';-webkit-font-smoothing:antialiased}.mdl-color-text--red{color:#f44336!important}.mdl-color--red{background-color:#f44336!important}.mdl-color-text--red-50{color:#ffebee!important}.mdl-color--red-50{background-color:#ffebee!important}.mdl-color-text--red-100{color:#ffcdd2!important}.mdl-color--red-100{background-color:#ffcdd2!important}.mdl-color-text--red-200{color:#ef9a9a!important}.mdl-color--red-200{background-color:#ef9a9a!important}.mdl-color-text--red-300{color:#e57373!important}.mdl-color--red-300{background-color:#e57373!important}.mdl-color-text--red-400{color:#ef5350!important}.mdl-color--red-400{background-color:#ef5350!important}.mdl-color-text--red-500{color:#f44336!important}.mdl-color--red-500{background-color:#f44336!important}.mdl-color-text--red-600{color:#e53935!important}.mdl-color--red-600{background-color:#e53935!important}.mdl-color-text--red-700{color:#d32f2f!important}.mdl-color--red-700{background-color:#d32f2f!important}.mdl-color-text--red-800{color:#c62828!important}.mdl-color--red-800{background-color:#c62828!important}.mdl-color-text--red-900{color:#b71c1c!important}.mdl-color--red-900{background-color:#b71c1c!important}.mdl-color-text--red-A100{color:#ff8a80!important}.mdl-color--red-A100{background-color:#ff8a80!important}.mdl-color-text--red-A200{color:#ff5252!important}.mdl-color--red-A200{background-color:#ff5252!important}.mdl-color-text--red-A400{color:#ff1744!important}.mdl-color--red-A400{background-color:#ff1744!important}.mdl-color-text--red-A700{color:#d50000!important}.mdl-color--red-A700{background-color:#d50000!important}.mdl-color-text--pink{color:#e91e63!important}.mdl-color--pink{background-color:#e91e63!important}.mdl-color-text--pink-50{color:#fce4ec!important}.mdl-color--pink-50{background-color:#fce4ec!important}.mdl-color-text--pink-100{color:#f8bbd0!important}.mdl-color--pink-100{background-color:#f8bbd0!important}.mdl-color-text--pink-200{color:#f48fb1!important}.mdl-color--pink-200{background-color:#f48fb1!important}.mdl-color-text--pink-300{color:#f06292!important}.mdl-color--pink-300{background-color:#f06292!important}.mdl-color-text--pink-400{color:#ec407a!important}.mdl-color--pink-400{background-color:#ec407a!important}.mdl-color-text--pink-500{color:#e91e63!important}.mdl-color--pink-500{background-color:#e91e63!important}.mdl-color-text--pink-600{color:#d81b60!important}.mdl-color--pink-600{background-color:#d81b60!important}.mdl-color-text--pink-700{color:#c2185b!important}.mdl-color--pink-700{background-color:#c2185b!important}.mdl-color-text--pink-800{color:#ad1457!important}.mdl-color--pink-800{background-color:#ad1457!important}.mdl-color-text--pink-900{color:#880e4f!important}.mdl-color--pink-900{background-color:#880e4f!important}.mdl-color-text--pink-A100{color:#ff80ab!important}.mdl-color--pink-A100{background-color:#ff80ab!important}.mdl-color-text--pink-A200{color:#ff4081!important}.mdl-color--pink-A200{background-color:#ff4081!important}.mdl-color-text--pink-A400{color:#f50057!important}.mdl-color--pink-A400{background-color:#f50057!important}.mdl-color-text--pink-A700{color:#c51162!important}.mdl-color--pink-A700{background-color:#c51162!important}.mdl-color-text--purple{color:#9c27b0!important}.mdl-color--purple{background-color:#9c27b0!important}.mdl-color-text--purple-50{color:#f3e5f5!important}.mdl-color--purple-50{background-color:#f3e5f5!important}.mdl-color-text--purple-100{color:#e1bee7!important}.mdl-color--purple-100{background-color:#e1bee7!important}.mdl-color-text--purple-200{color:#ce93d8!important}.mdl-color--purple-200{background-color:#ce93d8!important}.mdl-color-text--purple-300{color:#ba68c8!important}.mdl-color--purple-300{background-color:#ba68c8!important}.mdl-color-text--purple-400{color:#ab47bc!important}.mdl-color--purple-400{background-color:#ab47bc!important}.mdl-color-text--purple-500{color:#9c27b0!important}.mdl-color--purple-500{background-color:#9c27b0!important}.mdl-color-text--purple-600{color:#8e24aa!important}.mdl-color--purple-600{background-color:#8e24aa!important}.mdl-color-text--purple-700{color:#7b1fa2!important}.mdl-color--purple-700{background-color:#7b1fa2!important}.mdl-color-text--purple-800{color:#6a1b9a!important}.mdl-color--purple-800{background-color:#6a1b9a!important}.mdl-color-text--purple-900{color:#4a148c!important}.mdl-color--purple-900{background-color:#4a148c!important}.mdl-color-text--purple-A100{color:#ea80fc!important}.mdl-color--purple-A100{background-color:#ea80fc!important}.mdl-color-text--purple-A200{color:#e040fb!important}.mdl-color--purple-A200{background-color:#e040fb!important}.mdl-color-text--purple-A400{color:#d500f9!important}.mdl-color--purple-A400{background-color:#d500f9!important}.mdl-color-text--purple-A700{color:#a0f!important}.mdl-color--purple-A700{background-color:#a0f!important}.mdl-color-text--deep-purple{color:#673ab7!important}.mdl-color--deep-purple{background-color:#673ab7!important}.mdl-color-text--deep-purple-50{color:#ede7f6!important}.mdl-color--deep-purple-50{background-color:#ede7f6!important}.mdl-color-text--deep-purple-100{color:#d1c4e9!important}.mdl-color--deep-purple-100{background-color:#d1c4e9!important}.mdl-color-text--deep-purple-200{color:#b39ddb!important}.mdl-color--deep-purple-200{background-color:#b39ddb!important}.mdl-color-text--deep-purple-300{color:#9575cd!important}.mdl-color--deep-purple-300{background-color:#9575cd!important}.mdl-color-text--deep-purple-400{color:#7e57c2!important}.mdl-color--deep-purple-400{background-color:#7e57c2!important}.mdl-color-text--deep-purple-500{color:#673ab7!important}.mdl-color--deep-purple-500{background-color:#673ab7!important}.mdl-color-text--deep-purple-600{color:#5e35b1!important}.mdl-color--deep-purple-600{background-color:#5e35b1!important}.mdl-color-text--deep-purple-700{color:#512da8!important}.mdl-color--deep-purple-700{background-color:#512da8!important}.mdl-color-text--deep-purple-800{color:#4527a0!important}.mdl-color--deep-purple-800{background-color:#4527a0!important}.mdl-color-text--deep-purple-900{color:#311b92!important}.mdl-color--deep-purple-900{background-color:#311b92!important}.mdl-color-text--deep-purple-A100{color:#b388ff!important}.mdl-color--deep-purple-A100{background-color:#b388ff!important}.mdl-color-text--deep-purple-A200{color:#7c4dff!important}.mdl-color--deep-purple-A200{background-color:#7c4dff!important}.mdl-color-text--deep-purple-A400{color:#651fff!important}.mdl-color--deep-purple-A400{background-color:#651fff!important}.mdl-color-text--deep-purple-A700{color:#6200ea!important}.mdl-color--deep-purple-A700{background-color:#6200ea!important}.mdl-color-text--indigo{color:#3f51b5!important}.mdl-color--indigo{background-color:#3f51b5!important}.mdl-color-text--indigo-50{color:#e8eaf6!important}.mdl-color--indigo-50{background-color:#e8eaf6!important}.mdl-color-text--indigo-100{color:#c5cae9!important}.mdl-color--indigo-100{background-color:#c5cae9!important}.mdl-color-text--indigo-200{color:#9fa8da!important}.mdl-color--indigo-200{background-color:#9fa8da!important}.mdl-color-text--indigo-300{color:#7986cb!important}.mdl-color--indigo-300{background-color:#7986cb!important}.mdl-color-text--indigo-400{color:#5c6bc0!important}.mdl-color--indigo-400{background-color:#5c6bc0!important}.mdl-color-text--indigo-500{color:#3f51b5!important}.mdl-color--indigo-500{background-color:#3f51b5!important}.mdl-color-text--indigo-600{color:#3949ab!important}.mdl-color--indigo-600{background-color:#3949ab!important}.mdl-color-text--indigo-700{color:#303f9f!important}.mdl-color--indigo-700{background-color:#303f9f!important}.mdl-color-text--indigo-800{color:#283593!important}.mdl-color--indigo-800{background-color:#283593!important}.mdl-color-text--indigo-900{color:#1a237e!important}.mdl-color--indigo-900{background-color:#1a237e!important}.mdl-color-text--indigo-A100{color:#8c9eff!important}.mdl-color--indigo-A100{background-color:#8c9eff!important}.mdl-color-text--indigo-A200{color:#536dfe!important}.mdl-color--indigo-A200{background-color:#536dfe!important}.mdl-color-text--indigo-A400{color:#3d5afe!important}.mdl-color--indigo-A400{background-color:#3d5afe!important}.mdl-color-text--indigo-A700{color:#304ffe!important}.mdl-color--indigo-A700{background-color:#304ffe!important}.mdl-color-text--blue{color:#2196f3!important}.mdl-color--blue{background-color:#2196f3!important}.mdl-color-text--blue-50{color:#e3f2fd!important}.mdl-color--blue-50{background-color:#e3f2fd!important}.mdl-color-text--blue-100{color:#bbdefb!important}.mdl-color--blue-100{background-color:#bbdefb!important}.mdl-color-text--blue-200{color:#90caf9!important}.mdl-color--blue-200{background-color:#90caf9!important}.mdl-color-text--blue-300{color:#64b5f6!important}.mdl-color--blue-300{background-color:#64b5f6!important}.mdl-color-text--blue-400{color:#42a5f5!important}.mdl-color--blue-400{background-color:#42a5f5!important}.mdl-color-text--blue-500{color:#2196f3!important}.mdl-color--blue-500{background-color:#2196f3!important}.mdl-color-text--blue-600{color:#1e88e5!important}.mdl-color--blue-600{background-color:#1e88e5!important}.mdl-color-text--blue-700{color:#1976d2!important}.mdl-color--blue-700{background-color:#1976d2!important}.mdl-color-text--blue-800{color:#1565c0!important}.mdl-color--blue-800{background-color:#1565c0!important}.mdl-color-text--blue-900{color:#0d47a1!important}.mdl-color--blue-900{background-color:#0d47a1!important}.mdl-color-text--blue-A100{color:#82b1ff!important}.mdl-color--blue-A100{background-color:#82b1ff!important}.mdl-color-text--blue-A200{color:#448aff!important}.mdl-color--blue-A200{background-color:#448aff!important}.mdl-color-text--blue-A400{color:#2979ff!important}.mdl-color--blue-A400{background-color:#2979ff!important}.mdl-color-text--blue-A700{color:#2962ff!important}.mdl-color--blue-A700{background-color:#2962ff!important}.mdl-color-text--light-blue{color:#03a9f4!important}.mdl-color--light-blue{background-color:#03a9f4!important}.mdl-color-text--light-blue-50{color:#e1f5fe!important}.mdl-color--light-blue-50{background-color:#e1f5fe!important}.mdl-color-text--light-blue-100{color:#b3e5fc!important}.mdl-color--light-blue-100{background-color:#b3e5fc!important}.mdl-color-text--light-blue-200{color:#81d4fa!important}.mdl-color--light-blue-200{background-color:#81d4fa!important}.mdl-color-text--light-blue-300{color:#4fc3f7!important}.mdl-color--light-blue-300{background-color:#4fc3f7!important}.mdl-color-text--light-blue-400{color:#29b6f6!important}.mdl-color--light-blue-400{background-color:#29b6f6!important}.mdl-color-text--light-blue-500{color:#03a9f4!important}.mdl-color--light-blue-500{background-color:#03a9f4!important}.mdl-color-text--light-blue-600{color:#039be5!important}.mdl-color--light-blue-600{background-color:#039be5!important}.mdl-color-text--light-blue-700{color:#0288d1!important}.mdl-color--light-blue-700{background-color:#0288d1!important}.mdl-color-text--light-blue-800{color:#0277bd!important}.mdl-color--light-blue-800{background-color:#0277bd!important}.mdl-color-text--light-blue-900{color:#01579b!important}.mdl-color--light-blue-900{background-color:#01579b!important}.mdl-color-text--light-blue-A100{color:#80d8ff!important}.mdl-color--light-blue-A100{background-color:#80d8ff!important}.mdl-color-text--light-blue-A200{color:#40c4ff!important}.mdl-color--light-blue-A200{background-color:#40c4ff!important}.mdl-color-text--light-blue-A400{color:#00b0ff!important}.mdl-color--light-blue-A400{background-color:#00b0ff!important}.mdl-color-text--light-blue-A700{color:#0091ea!important}.mdl-color--light-blue-A700{background-color:#0091ea!important}.mdl-color-text--cyan{color:#00bcd4!important}.mdl-color--cyan{background-color:#00bcd4!important}.mdl-color-text--cyan-50{color:#e0f7fa!important}.mdl-color--cyan-50{background-color:#e0f7fa!important}.mdl-color-text--cyan-100{color:#b2ebf2!important}.mdl-color--cyan-100{background-color:#b2ebf2!important}.mdl-color-text--cyan-200{color:#80deea!important}.mdl-color--cyan-200{background-color:#80deea!important}.mdl-color-text--cyan-300{color:#4dd0e1!important}.mdl-color--cyan-300{background-color:#4dd0e1!important}.mdl-color-text--cyan-400{color:#26c6da!important}.mdl-color--cyan-400{background-color:#26c6da!important}.mdl-color-text--cyan-500{color:#00bcd4!important}.mdl-color--cyan-500{background-color:#00bcd4!important}.mdl-color-text--cyan-600{color:#00acc1!important}.mdl-color--cyan-600{background-color:#00acc1!important}.mdl-color-text--cyan-700{color:#0097a7!important}.mdl-color--cyan-700{background-color:#0097a7!important}.mdl-color-text--cyan-800{color:#00838f!important}.mdl-color--cyan-800{background-color:#00838f!important}.mdl-color-text--cyan-900{color:#006064!important}.mdl-color--cyan-900{background-color:#006064!important}.mdl-color-text--cyan-A100{color:#84ffff!important}.mdl-color--cyan-A100{background-color:#84ffff!important}.mdl-color-text--cyan-A200{color:#18ffff!important}.mdl-color--cyan-A200{background-color:#18ffff!important}.mdl-color-text--cyan-A400{color:#00e5ff!important}.mdl-color--cyan-A400{background-color:#00e5ff!important}.mdl-color-text--cyan-A700{color:#00b8d4!important}.mdl-color--cyan-A700{background-color:#00b8d4!important}.mdl-color-text--teal{color:#009688!important}.mdl-color--teal{background-color:#009688!important}.mdl-color-text--teal-50{color:#e0f2f1!important}.mdl-color--teal-50{background-color:#e0f2f1!important}.mdl-color-text--teal-100{color:#b2dfdb!important}.mdl-color--teal-100{background-color:#b2dfdb!important}.mdl-color-text--teal-200{color:#80cbc4!important}.mdl-color--teal-200{background-color:#80cbc4!important}.mdl-color-text--teal-300{color:#4db6ac!important}.mdl-color--teal-300{background-color:#4db6ac!important}.mdl-color-text--teal-400{color:#26a69a!important}.mdl-color--teal-400{background-color:#26a69a!important}.mdl-color-text--teal-500{color:#009688!important}.mdl-color--teal-500{background-color:#009688!important}.mdl-color-text--teal-600{color:#00897b!important}.mdl-color--teal-600{background-color:#00897b!important}.mdl-color-text--teal-700{color:#00796b!important}.mdl-color--teal-700{background-color:#00796b!important}.mdl-color-text--teal-800{color:#00695c!important}.mdl-color--teal-800{background-color:#00695c!important}.mdl-color-text--teal-900{color:#004d40!important}.mdl-color--teal-900{background-color:#004d40!important}.mdl-color-text--teal-A100{color:#a7ffeb!important}.mdl-color--teal-A100{background-color:#a7ffeb!important}.mdl-color-text--teal-A200{color:#64ffda!important}.mdl-color--teal-A200{background-color:#64ffda!important}.mdl-color-text--teal-A400{color:#1de9b6!important}.mdl-color--teal-A400{background-color:#1de9b6!important}.mdl-color-text--teal-A700{color:#00bfa5!important}.mdl-color--teal-A700{background-color:#00bfa5!important}.mdl-color-text--green{color:#4caf50!important}.mdl-color--green{background-color:#4caf50!important}.mdl-color-text--green-50{color:#e8f5e9!important}.mdl-color--green-50{background-color:#e8f5e9!important}.mdl-color-text--green-100{color:#c8e6c9!important}.mdl-color--green-100{background-color:#c8e6c9!important}.mdl-color-text--green-200{color:#a5d6a7!important}.mdl-color--green-200{background-color:#a5d6a7!important}.mdl-color-text--green-300{color:#81c784!important}.mdl-color--green-300{background-color:#81c784!important}.mdl-color-text--green-400{color:#66bb6a!important}.mdl-color--green-400{background-color:#66bb6a!important}.mdl-color-text--green-500{color:#4caf50!important}.mdl-color--green-500{background-color:#4caf50!important}.mdl-color-text--green-600{color:#43a047!important}.mdl-color--green-600{background-color:#43a047!important}.mdl-color-text--green-700{color:#388e3c!important}.mdl-color--green-700{background-color:#388e3c!important}.mdl-color-text--green-800{color:#2e7d32!important}.mdl-color--green-800{background-color:#2e7d32!important}.mdl-color-text--green-900{color:#1b5e20!important}.mdl-color--green-900{background-color:#1b5e20!important}.mdl-color-text--green-A100{color:#b9f6ca!important}.mdl-color--green-A100{background-color:#b9f6ca!important}.mdl-color-text--green-A200{color:#69f0ae!important}.mdl-color--green-A200{background-color:#69f0ae!important}.mdl-color-text--green-A400{color:#00e676!important}.mdl-color--green-A400{background-color:#00e676!important}.mdl-color-text--green-A700{color:#00c853!important}.mdl-color--green-A700{background-color:#00c853!important}.mdl-color-text--light-green{color:#8bc34a!important}.mdl-color--light-green{background-color:#8bc34a!important}.mdl-color-text--light-green-50{color:#f1f8e9!important}.mdl-color--light-green-50{background-color:#f1f8e9!important}.mdl-color-text--light-green-100{color:#dcedc8!important}.mdl-color--light-green-100{background-color:#dcedc8!important}.mdl-color-text--light-green-200{color:#c5e1a5!important}.mdl-color--light-green-200{background-color:#c5e1a5!important}.mdl-color-text--light-green-300{color:#aed581!important}.mdl-color--light-green-300{background-color:#aed581!important}.mdl-color-text--light-green-400{color:#9ccc65!important}.mdl-color--light-green-400{background-color:#9ccc65!important}.mdl-color-text--light-green-500{color:#8bc34a!important}.mdl-color--light-green-500{background-color:#8bc34a!important}.mdl-color-text--light-green-600{color:#7cb342!important}.mdl-color--light-green-600{background-color:#7cb342!important}.mdl-color-text--light-green-700{color:#689f38!important}.mdl-color--light-green-700{background-color:#689f38!important}.mdl-color-text--light-green-800{color:#558b2f!important}.mdl-color--light-green-800{background-color:#558b2f!important}.mdl-color-text--light-green-900{color:#33691e!important}.mdl-color--light-green-900{background-color:#33691e!important}.mdl-color-text--light-green-A100{color:#ccff90!important}.mdl-color--light-green-A100{background-color:#ccff90!important}.mdl-color-text--light-green-A200{color:#b2ff59!important}.mdl-color--light-green-A200{background-color:#b2ff59!important}.mdl-color-text--light-green-A400{color:#76ff03!important}.mdl-color--light-green-A400{background-color:#76ff03!important}.mdl-color-text--light-green-A700{color:#64dd17!important}.mdl-color--light-green-A700{background-color:#64dd17!important}.mdl-color-text--lime{color:#cddc39!important}.mdl-color--lime{background-color:#cddc39!important}.mdl-color-text--lime-50{color:#f9fbe7!important}.mdl-color--lime-50{background-color:#f9fbe7!important}.mdl-color-text--lime-100{color:#f0f4c3!important}.mdl-color--lime-100{background-color:#f0f4c3!important}.mdl-color-text--lime-200{color:#e6ee9c!important}.mdl-color--lime-200{background-color:#e6ee9c!important}.mdl-color-text--lime-300{color:#dce775!important}.mdl-color--lime-300{background-color:#dce775!important}.mdl-color-text--lime-400{color:#d4e157!important}.mdl-color--lime-400{background-color:#d4e157!important}.mdl-color-text--lime-500{color:#cddc39!important}.mdl-color--lime-500{background-color:#cddc39!important}.mdl-color-text--lime-600{color:#c0ca33!important}.mdl-color--lime-600{background-color:#c0ca33!important}.mdl-color-text--lime-700{color:#afb42b!important}.mdl-color--lime-700{background-color:#afb42b!important}.mdl-color-text--lime-800{color:#9e9d24!important}.mdl-color--lime-800{background-color:#9e9d24!important}.mdl-color-text--lime-900{color:#827717!important}.mdl-color--lime-900{background-color:#827717!important}.mdl-color-text--lime-A100{color:#f4ff81!important}.mdl-color--lime-A100{background-color:#f4ff81!important}.mdl-color-text--lime-A200{color:#eeff41!important}.mdl-color--lime-A200{background-color:#eeff41!important}.mdl-color-text--lime-A400{color:#c6ff00!important}.mdl-color--lime-A400{background-color:#c6ff00!important}.mdl-color-text--lime-A700{color:#aeea00!important}.mdl-color--lime-A700{background-color:#aeea00!important}.mdl-color-text--yellow{color:#ffeb3b!important}.mdl-color--yellow{background-color:#ffeb3b!important}.mdl-color-text--yellow-50{color:#fffde7!important}.mdl-color--yellow-50{background-color:#fffde7!important}.mdl-color-text--yellow-100{color:#fff9c4!important}.mdl-color--yellow-100{background-color:#fff9c4!important}.mdl-color-text--yellow-200{color:#fff59d!important}.mdl-color--yellow-200{background-color:#fff59d!important}.mdl-color-text--yellow-300{color:#fff176!important}.mdl-color--yellow-300{background-color:#fff176!important}.mdl-color-text--yellow-400{color:#ffee58!important}.mdl-color--yellow-400{background-color:#ffee58!important}.mdl-color-text--yellow-500{color:#ffeb3b!important}.mdl-color--yellow-500{background-color:#ffeb3b!important}.mdl-color-text--yellow-600{color:#fdd835!important}.mdl-color--yellow-600{background-color:#fdd835!important}.mdl-color-text--yellow-700{color:#fbc02d!important}.mdl-color--yellow-700{background-color:#fbc02d!important}.mdl-color-text--yellow-800{color:#f9a825!important}.mdl-color--yellow-800{background-color:#f9a825!important}.mdl-color-text--yellow-900{color:#f57f17!important}.mdl-color--yellow-900{background-color:#f57f17!important}.mdl-color-text--yellow-A100{color:#ffff8d!important}.mdl-color--yellow-A100{background-color:#ffff8d!important}.mdl-color-text--yellow-A200{color:#ff0!important}.mdl-color--yellow-A200{background-color:#ff0!important}.mdl-color-text--yellow-A400{color:#ffea00!important}.mdl-color--yellow-A400{background-color:#ffea00!important}.mdl-color-text--yellow-A700{color:#ffd600!important}.mdl-color--yellow-A700{background-color:#ffd600!important}.mdl-color-text--amber{color:#ffc107!important}.mdl-color--amber{background-color:#ffc107!important}.mdl-color-text--amber-50{color:#fff8e1!important}.mdl-color--amber-50{background-color:#fff8e1!important}.mdl-color-text--amber-100{color:#ffecb3!important}.mdl-color--amber-100{background-color:#ffecb3!important}.mdl-color-text--amber-200{color:#ffe082!important}.mdl-color--amber-200{background-color:#ffe082!important}.mdl-color-text--amber-300{color:#ffd54f!important}.mdl-color--amber-300{background-color:#ffd54f!important}.mdl-color-text--amber-400{color:#ffca28!important}.mdl-color--amber-400{background-color:#ffca28!important}.mdl-color-text--amber-500{color:#ffc107!important}.mdl-color--amber-500{background-color:#ffc107!important}.mdl-color-text--amber-600{color:#ffb300!important}.mdl-color--amber-600{background-color:#ffb300!important}.mdl-color-text--amber-700{color:#ffa000!important}.mdl-color--amber-700{background-color:#ffa000!important}.mdl-color-text--amber-800{color:#ff8f00!important}.mdl-color--amber-800{background-color:#ff8f00!important}.mdl-color-text--amber-900{color:#ff6f00!important}.mdl-color--amber-900{background-color:#ff6f00!important}.mdl-color-text--amber-A100{color:#ffe57f!important}.mdl-color--amber-A100{background-color:#ffe57f!important}.mdl-color-text--amber-A200{color:#ffd740!important}.mdl-color--amber-A200{background-color:#ffd740!important}.mdl-color-text--amber-A400{color:#ffc400!important}.mdl-color--amber-A400{background-color:#ffc400!important}.mdl-color-text--amber-A700{color:#ffab00!important}.mdl-color--amber-A700{background-color:#ffab00!important}.mdl-color-text--orange{color:#ff9800!important}.mdl-color--orange{background-color:#ff9800!important}.mdl-color-text--orange-50{color:#fff3e0!important}.mdl-color--orange-50{background-color:#fff3e0!important}.mdl-color-text--orange-100{color:#ffe0b2!important}.mdl-color--orange-100{background-color:#ffe0b2!important}.mdl-color-text--orange-200{color:#ffcc80!important}.mdl-color--orange-200{background-color:#ffcc80!important}.mdl-color-text--orange-300{color:#ffb74d!important}.mdl-color--orange-300{background-color:#ffb74d!important}.mdl-color-text--orange-400{color:#ffa726!important}.mdl-color--orange-400{background-color:#ffa726!important}.mdl-color-text--orange-500{color:#ff9800!important}.mdl-color--orange-500{background-color:#ff9800!important}.mdl-color-text--orange-600{color:#fb8c00!important}.mdl-color--orange-600{background-color:#fb8c00!important}.mdl-color-text--orange-700{color:#f57c00!important}.mdl-color--orange-700{background-color:#f57c00!important}.mdl-color-text--orange-800{color:#ef6c00!important}.mdl-color--orange-800{background-color:#ef6c00!important}.mdl-color-text--orange-900{color:#e65100!important}.mdl-color--orange-900{background-color:#e65100!important}.mdl-color-text--orange-A100{color:#ffd180!important}.mdl-color--orange-A100{background-color:#ffd180!important}.mdl-color-text--orange-A200{color:#ffab40!important}.mdl-color--orange-A200{background-color:#ffab40!important}.mdl-color-text--orange-A400{color:#ff9100!important}.mdl-color--orange-A400{background-color:#ff9100!important}.mdl-color-text--orange-A700{color:#ff6d00!important}.mdl-color--orange-A700{background-color:#ff6d00!important}.mdl-color-text--deep-orange{color:#ff5722!important}.mdl-color--deep-orange{background-color:#ff5722!important}.mdl-color-text--deep-orange-50{color:#fbe9e7!important}.mdl-color--deep-orange-50{background-color:#fbe9e7!important}.mdl-color-text--deep-orange-100{color:#ffccbc!important}.mdl-color--deep-orange-100{background-color:#ffccbc!important}.mdl-color-text--deep-orange-200{color:#ffab91!important}.mdl-color--deep-orange-200{background-color:#ffab91!important}.mdl-color-text--deep-orange-300{color:#ff8a65!important}.mdl-color--deep-orange-300{background-color:#ff8a65!important}.mdl-color-text--deep-orange-400{color:#ff7043!important}.mdl-color--deep-orange-400{background-color:#ff7043!important}.mdl-color-text--deep-orange-500{color:#ff5722!important}.mdl-color--deep-orange-500{background-color:#ff5722!important}.mdl-color-text--deep-orange-600{color:#f4511e!important}.mdl-color--deep-orange-600{background-color:#f4511e!important}.mdl-color-text--deep-orange-700{color:#e64a19!important}.mdl-color--deep-orange-700{background-color:#e64a19!important}.mdl-color-text--deep-orange-800{color:#d84315!important}.mdl-color--deep-orange-800{background-color:#d84315!important}.mdl-color-text--deep-orange-900{color:#bf360c!important}.mdl-color--deep-orange-900{background-color:#bf360c!important}.mdl-color-text--deep-orange-A100{color:#ff9e80!important}.mdl-color--deep-orange-A100{background-color:#ff9e80!important}.mdl-color-text--deep-orange-A200{color:#ff6e40!important}.mdl-color--deep-orange-A200{background-color:#ff6e40!important}.mdl-color-text--deep-orange-A400{color:#ff3d00!important}.mdl-color--deep-orange-A400{background-color:#ff3d00!important}.mdl-color-text--deep-orange-A700{color:#dd2c00!important}.mdl-color--deep-orange-A700{background-color:#dd2c00!important}.mdl-color-text--brown{color:#795548!important}.mdl-color--brown{background-color:#795548!important}.mdl-color-text--brown-50{color:#efebe9!important}.mdl-color--brown-50{background-color:#efebe9!important}.mdl-color-text--brown-100{color:#d7ccc8!important}.mdl-color--brown-100{background-color:#d7ccc8!important}.mdl-color-text--brown-200{color:#bcaaa4!important}.mdl-color--brown-200{background-color:#bcaaa4!important}.mdl-color-text--brown-300{color:#a1887f!important}.mdl-color--brown-300{background-color:#a1887f!important}.mdl-color-text--brown-400{color:#8d6e63!important}.mdl-color--brown-400{background-color:#8d6e63!important}.mdl-color-text--brown-500{color:#795548!important}.mdl-color--brown-500{background-color:#795548!important}.mdl-color-text--brown-600{color:#6d4c41!important}.mdl-color--brown-600{background-color:#6d4c41!important}.mdl-color-text--brown-700{color:#5d4037!important}.mdl-color--brown-700{background-color:#5d4037!important}.mdl-color-text--brown-800{color:#4e342e!important}.mdl-color--brown-800{background-color:#4e342e!important}.mdl-color-text--brown-900{color:#3e2723!important}.mdl-color--brown-900{background-color:#3e2723!important}.mdl-color-text--grey{color:#9e9e9e!important}.mdl-color--grey{background-color:#9e9e9e!important}.mdl-color-text--grey-50{color:#fafafa!important}.mdl-color--grey-50{background-color:#fafafa!important}.mdl-color-text--grey-100{color:#f5f5f5!important}.mdl-color--grey-100{background-color:#f5f5f5!important}.mdl-color-text--grey-200{color:#eee!important}.mdl-color--grey-200{background-color:#eee!important}.mdl-color-text--grey-300{color:#e0e0e0!important}.mdl-color--grey-300{background-color:#e0e0e0!important}.mdl-color-text--grey-400{color:#bdbdbd!important}.mdl-color--grey-400{background-color:#bdbdbd!important}.mdl-color-text--grey-500{color:#9e9e9e!important}.mdl-color--grey-500{background-color:#9e9e9e!important}.mdl-color-text--grey-600{color:#757575!important}.mdl-color--grey-600{background-color:#757575!important}.mdl-color-text--grey-700{color:#616161!important}.mdl-color--grey-700{background-color:#616161!important}.mdl-color-text--grey-800{color:#424242!important}.mdl-color--grey-800{background-color:#424242!important}.mdl-color-text--grey-900{color:#212121!important}.mdl-color--grey-900{background-color:#212121!important}.mdl-color-text--blue-grey{color:#607d8b!important}.mdl-color--blue-grey{background-color:#607d8b!important}.mdl-color-text--blue-grey-50{color:#eceff1!important}.mdl-color--blue-grey-50{background-color:#eceff1!important}.mdl-color-text--blue-grey-100{color:#cfd8dc!important}.mdl-color--blue-grey-100{background-color:#cfd8dc!important}.mdl-color-text--blue-grey-200{color:#b0bec5!important}.mdl-color--blue-grey-200{background-color:#b0bec5!important}.mdl-color-text--blue-grey-300{color:#90a4ae!important}.mdl-color--blue-grey-300{background-color:#90a4ae!important}.mdl-color-text--blue-grey-400{color:#78909c!important}.mdl-color--blue-grey-400{background-color:#78909c!important}.mdl-color-text--blue-grey-500{color:#607d8b!important}.mdl-color--blue-grey-500{background-color:#607d8b!important}.mdl-color-text--blue-grey-600{color:#546e7a!important}.mdl-color--blue-grey-600{background-color:#546e7a!important}.mdl-color-text--blue-grey-700{color:#455a64!important}.mdl-color--blue-grey-700{background-color:#455a64!important}.mdl-color-text--blue-grey-800{color:#37474f!important}.mdl-color--blue-grey-800{background-color:#37474f!important}.mdl-color-text--blue-grey-900{color:#263238!important}.mdl-color--blue-grey-900{background-color:#263238!important}.mdl-color--black{background-color:#000!important}.mdl-color-text--black{color:#000!important}.mdl-color--white{background-color:#fff!important}.mdl-color-text--white{color:#fff!important}.mdl-color--primary{background-color:#00bcd4!important}.mdl-color--primary-contrast{background-color:#fff!important}.mdl-color--primary-dark{background-color:#303f9f!important}.mdl-color--accent{background-color:#ff4081!important}.mdl-color--accent-contrast{background-color:#fff!important}.mdl-color-text--primary{color:#00bcd4!important}.mdl-color-text--primary-contrast{color:#fff!important}.mdl-color-text--primary-dark{color:#303f9f!important}.mdl-color-text--accent{color:#ff4081!important}.mdl-color-text--accent-contrast{color:#fff!important}.mdl-ripple{background:#000;border-radius:50%;height:50px;left:0;opacity:0;pointer-events:none;position:absolute;top:0;transform:translate(-50%,-50%);width:50px;overflow:hidden}.mdl-ripple.is-animating{transition:transform .3s cubic-bezier(0,0,.2,1),width .3s cubic-bezier(0,0,.2,1),height .3s cubic-bezier(0,0,.2,1),opacity .6s cubic-bezier(0,0,.2,1)}.mdl-ripple.is-visible{opacity:.3}.mdl-animation--default,.mdl-animation--fast-out-slow-in{transition-timing-function:cubic-bezier(.4,0,.2,1)}.mdl-animation--linear-out-slow-in{transition-timing-function:cubic-bezier(0,0,.2,1)}.mdl-animation--fast-out-linear-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.mdl-badge{position:relative;white-space:nowrap;margin-right:24px}.mdl-badge:not([data-badge]){margin-right:auto}.mdl-badge[data-badge]:after{content:attr(data-badge);display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-content:center;align-items:center;position:absolute;top:-11px;right:-24px;font-family:Roboto,Helvetica,Arial,sans-serif;font-weight:600;font-size:12px;width:22px;height:22px;border-radius:50%;background:#00bcd4;color:#fff}.mdl-button .mdl-badge[data-badge]:after{top:-10px;right:-5px}.mdl-badge.mdl-badge--no-background[data-badge]:after{color:#ff4081;background:rgba(255,255,255,.2);box-shadow:0 0 1px gray}.mdl-badge.mdl-badge--overlap{margin-right:10px}.mdl-badge.mdl-badge--overlap:after{right:-10px}.mdl-button{background:0 0;border:none;border-radius:2px;color:#fff;position:relative;height:36px;margin:0;min-width:64px;padding:0 16px;display:inline-block;font-family:Roboto,Helvetica,Arial,sans-serif;font-size:14px;text-transform:uppercase;letter-spacing:0;overflow:hidden;will-change:box-shadow;transition:box-shadow .2s cubic-bezier(.4,0,1,1),background-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1);outline:0;cursor:pointer;text-decoration:none;text-align:center;line-height:36px}.mdl-button--fab,.mdl-button--icon{font-size:24px;padding:0;overflow:hidden}.mdl-checkbox__tick-outline,.mdl-data-table tbody tr{transition-duration:.28s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.mdl-button::-moz-focus-inner{border:0}.mdl-button:hover{background-color:rgba(158,158,158,.2)}.mdl-button:focus:not(:active){background-color:rgba(0,0,0,.12)}.mdl-button:active{background-color:rgba(158,158,158,.4)}.mdl-button.mdl-button--colored{color:#ff5252}.mdl-button.mdl-button--colored:focus:not(:active){background-color:rgba(0,0,0,.12)}input.mdl-button[type=submit]{-webkit-appearance:none}.mdl-button--raised{background:rgba(158,158,158,.2);box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.mdl-button--raised:active{box-shadow:0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.2);background-color:rgba(158,158,158,.4)}.mdl-button--raised:focus:not(:active){box-shadow:0 0 8px rgba(0,0,0,.18),0 8px 16px rgba(0,0,0,.36);background-color:rgba(158,158,158,.4)}.mdl-button--raised.mdl-button--colored{background:#ff5252;color:#fff}.mdl-button--raised.mdl-button--colored:active,.mdl-button--raised.mdl-button--colored:focus:not(:active),.mdl-button--raised.mdl-button--colored:hover{background-color:#00bcd4}.mdl-button--raised.mdl-button--colored .mdl-ripple{background:#fff}.mdl-button--fab{border-radius:50%;height:56px;margin:auto;min-width:56px;width:56px;background:rgba(158,158,158,.2);box-shadow:0 1px 1.5px 0 rgba(0,0,0,.12),0 1px 1px 0 rgba(0,0,0,.24);position:relative;line-height:normal}.mdl-button--fab .material-icons{position:absolute;top:50%;left:50%;transform:translate(-12px,-12px);line-height:24px;width:24px}.mdl-button--fab.mdl-button--mini-fab{height:40px;min-width:40px;width:40px}.mdl-button--fab .mdl-button__ripple-container{border-radius:50%;-webkit-mask-image:-webkit-radial-gradient(circle,#fff,#000)}.mdl-button--fab:active{box-shadow:0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.2);background-color:rgba(158,158,158,.4)}.mdl-button--fab:focus:not(:active){box-shadow:0 0 8px rgba(0,0,0,.18),0 8px 16px rgba(0,0,0,.36);background-color:rgba(158,158,158,.4)}.mdl-button--fab.mdl-button--colored{background:#ff5252;color:#fff}.mdl-button--fab.mdl-button--colored:hover{background-color:#ff4c4c}.mdl-button--fab.mdl-button--colored:active,.mdl-button--fab.mdl-button--colored:focus:not(:active){background-color:#f23d3d}.mdl-button--fab.mdl-button--colored .mdl-ripple{background:#fff}.mdl-button--icon{border-radius:50%;height:32px;margin-left:0;margin-right:0;min-width:32px;width:32px;color:inherit;line-height:normal}.mdl-button--icon .material-icons{position:absolute;top:50%;left:50%;transform:translate(-12px,-12px);line-height:24px;width:24px}.mdl-button--icon.mdl-button--mini-icon{height:24px;min-width:24px;width:24px}.mdl-button--icon.mdl-button--mini-icon .material-icons{top:0;left:0}.mdl-button--icon .mdl-button__ripple-container{border-radius:50%;-webkit-mask-image:-webkit-radial-gradient(circle,#fff,#000)}.mdl-button__ripple-container{display:block;height:100%;left:0;position:absolute;top:0;width:100%;z-index:0;overflow:hidden}.mdl-button.mdl-button--disabled .mdl-button__ripple-container .mdl-ripple,.mdl-button[disabled] .mdl-button__ripple-container .mdl-ripple{background-color:transparent}.mdl-button--primary.mdl-button--primary{color:#ff5252}.mdl-button--primary.mdl-button--primary .mdl-ripple{background:#fff}.mdl-button--primary.mdl-button--primary.mdl-button--fab,.mdl-button--primary.mdl-button--primary.mdl-button--raised{color:#fff;background-color:#ff5252}.mdl-button--accent.mdl-button--accent{color:#ff5252}.mdl-button--accent.mdl-button--accent .mdl-ripple{background:#fff}.mdl-button--accent.mdl-button--accent.mdl-button--fab,.mdl-button--accent.mdl-button--accent.mdl-button--raised{color:#fff;background-color:#ff5252}.mdl-button.mdl-button--disabled.mdl-button--disabled,.mdl-button[disabled][disabled]{color:rgba(255,255,255,.3);cursor:default;background-color:transparent}.mdl-button--fab.mdl-button--disabled.mdl-button--disabled,.mdl-button--fab[disabled][disabled]{background-color:#6b6b6b;color:rgba(255,255,255,.3)}.mdl-button--raised.mdl-button--disabled.mdl-button--disabled,.mdl-button--raised[disabled][disabled]{background-color:#6b6b6b;color:rgba(255,255,255,.3);box-shadow:none}.mdl-button--colored.mdl-button--disabled.mdl-button--disabled,.mdl-button--colored[disabled][disabled]{color:rgba(255,255,255,.3)}.mdl-card{display:flex;flex-direction:column;font-size:16px;font-weight:400;min-height:auto;overflow:hidden;width:auto;z-index:1;position:relative;background:#4e4e4e;border-radius:2px;box-sizing:border-box}.mdl-card__actions,.mdl-checkbox{box-sizing:border-box;width:100%}.mdl-card__media{background-color:#ff4081;background-repeat:repeat;background-position:50% 50%;background-size:cover;background-origin:padding-box;background-attachment:scroll;box-sizing:border-box}.mdl-card__title{align-items:center;color:rgba(255,255,255,.8);display:block;display:flex;justify-content:stretch;line-height:normal;padding:20px 16px;perspective-origin:165px 56px;transform-origin:165px 56px;box-sizing:border-box}.mdl-card__title.mdl-card--border{border-bottom:1px solid rgba(0,0,0,.1)}.mdl-card__title-text{align-self:flex-end;color:inherit;display:block;display:flex;font-size:24px;font-weight:400;line-height:normal;overflow:hidden;transform-origin:149px 48px;margin:0}.mdl-card__subtitle-text{font-size:14px;color:rgba(255,255,255,.5);margin:0}.mdl-card__supporting-text{color:rgba(255,255,255,.8);font-size:1rem;line-height:18px;overflow:hidden;padding:20px 16px}.mdl-card__actions{font-size:16px;line-height:normal;background-color:transparent;padding:8px}.mdl-card__actions.mdl-card--border{border-top:1px solid rgba(0,0,0,.1)}.mdl-card--expand{flex-grow:1}.mdl-card__menu{position:absolute;right:16px;top:16px}.mdl-checkbox{position:relative;z-index:1;display:inline-block;height:24px;margin:0;padding:0}.mdl-checkbox.is-upgraded{padding-left:18px}.mdl-checkbox__input{line-height:24px}.mdl-checkbox.is-upgraded .mdl-checkbox__input{position:absolute;width:0;height:0;margin:0;padding:0;opacity:0;-ms-appearance:none;-moz-appearance:none;-webkit-appearance:none;appearance:none;border:none}.mdl-checkbox__box-outline,.mdl-checkbox__focus-helper{top:2px;width:18px;height:18px;position:absolute;left:0;box-sizing:border-box;display:inline-block}.mdl-checkbox__box-outline{margin:0;cursor:pointer;overflow:hidden;border:2px solid #fff;border-radius:2px;z-index:2}.mdl-checkbox.is-checked .mdl-checkbox__box-outline{border:2px solid #ff5252}.mdl-checkbox.is-disabled .mdl-checkbox__box-outline,fieldset[disabled] .mdl-checkbox .mdl-checkbox__box-outline{border:2px solid rgba(0,0,0,.26);cursor:auto}.mdl-checkbox__focus-helper{border-radius:50%;background-color:transparent}.mdl-checkbox.is-focused .mdl-checkbox__focus-helper{box-shadow:0 0 0 9px rgba(0,0,0,.1);background-color:rgba(0,0,0,.1)}.mdl-checkbox.is-focused.is-checked .mdl-checkbox__focus-helper{box-shadow:0 0 0 9px rgba(0,188,212,.26);background-color:rgba(0,188,212,.26)}.mdl-checkbox__tick-outline{position:absolute;top:0;left:0;height:100%;width:100%;mask:url(../images/tick-mask.svg?embed);background:0 0;transition-property:background}.mdl-checkbox__ripple-container,.mdl-icon-toggle__ripple-container,.mdl-radio__ripple-container,.mdl-switch__ripple-container{-webkit-mask-image:-webkit-radial-gradient(circle,#fff,#000)}.mdl-checkbox.is-checked .mdl-checkbox__tick-outline{background:url(../images/tick.svg?embed) #ff5252}.mdl-checkbox.is-checked.is-disabled .mdl-checkbox__tick-outline,fieldset[disabled] .mdl-checkbox.is-checked .mdl-checkbox__tick-outline{background:url(../images/tick.svg?embed) rgba(0,0,0,.26)}.mdl-checkbox__label{position:relative;cursor:pointer;font-size:16px;line-height:24px;margin:0}.mdl-checkbox.is-disabled .mdl-checkbox__label,fieldset[disabled] .mdl-checkbox .mdl-checkbox__label{color:rgba(0,0,0,.26);cursor:auto}.mdl-checkbox__ripple-container{position:absolute;z-index:2;top:-6px;left:-9px;box-sizing:border-box;width:36px;height:36px;border-radius:50%;cursor:pointer;overflow:hidden}.mdl-checkbox__ripple-container .mdl-ripple{background:#ff5252}.mdl-checkbox.is-disabled .mdl-checkbox__ripple-container,fieldset[disabled] .mdl-checkbox .mdl-checkbox__ripple-container{cursor:auto}.mdl-checkbox.is-disabled .mdl-checkbox__ripple-container .mdl-ripple,fieldset[disabled] .mdl-checkbox .mdl-checkbox__ripple-container .mdl-ripple{background:0 0}.mdl-data-table{position:relative;border-collapse:collapse;white-space:nowrap;font-size:16px}.mdl-data-table thead{padding-bottom:3px}.mdl-data-table thead .mdl-data-table__select{margin-top:0}.mdl-data-table tbody tr{position:relative;height:48px;transition-property:background-color}.mdl-data-table tbody tr.is-selected{background-color:#4e4e4e}.mdl-data-table tbody tr:hover{background-color:rgba(0,0,0,.2)}.mdl-data-table td,.mdl-data-table th{padding:0 8px 12px;text-align:right}.mdl-data-table td{position:relative;height:48px;border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05);padding-top:12px;box-sizing:border-box}.mdl-data-table th{position:relative;vertical-align:bottom;text-overflow:ellipsis;font-weight:700;line-height:24px;letter-spacing:0;height:48px;font-size:13px;color:#fff;padding-bottom:8px;box-sizing:border-box}.label--mini,.mdl-icon-toggle,.mdl-navigation__link .material-icons,.mdl-snackbar__action,.mdl-snackbar__text,.mdl-switch{vertical-align:middle}.mdl-data-table th .mdl-data-table__header--sorted-ascending,.mdl-data-table th .mdl-data-table__header--sorted-descending{color:rgba(0,0,0,.87)}.mdl-data-table th .mdl-data-table__header--sorted-ascending:before,.mdl-data-table th .mdl-data-table__header--sorted-descending:before{font-family:'Material Icons';font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;word-wrap:normal;font-feature-settings:'liga';-webkit-font-feature-settings:'liga';-webkit-font-smoothing:antialiased}.mdl-data-table th .mdl-data-table__header--sorted-ascending:before{content:"\e5d8"}.mdl-data-table th .mdl-data-table__header--sorted-descending:before{content:"\e5db"}.mdl-data-table__select{width:16px}.mdl-data-table__cell--non-numeric.mdl-data-table__cell--non-numeric{text-align:left}.mdl-dialog{border:none;box-shadow:0 9px 46px 8px rgba(0,0,0,.14),0 11px 15px -7px rgba(0,0,0,.12),0 24px 38px 3px rgba(0,0,0,.2);width:280px}.mdl-layout__drawer,.mdl-layout__header{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.mdl-dialog__title{padding:24px 24px 0;margin:0;font-size:2.5rem}.mdl-dialog__actions{padding:8px 8px 8px 24px;display:flex;flex-direction:row-reverse;flex-wrap:wrap}.mdl-dialog__actions>*{margin-right:8px;height:36px}.mdl-dialog__actions>:first-child{margin-right:0}.mdl-dialog__actions--full-width{padding:0 0 8px}.mdl-dialog__actions--full-width>*{height:48px;flex:0 0 100%;padding-right:16px;margin-right:0;text-align:right}.mdl-dialog__content{padding:20px 24px 24px;color:rgba(255,255,255,.8)}.mdl-mega-footer{padding:16px 40px;color:#9e9e9e;background-color:#424242}.mdl-mega-footer--bottom-section:after,.mdl-mega-footer--middle-section:after,.mdl-mega-footer--top-section:after,.mdl-mega-footer__bottom-section:after,.mdl-mega-footer__middle-section:after,.mdl-mega-footer__top-section:after{content:'';display:block;clear:both}.mdl-mega-footer--left-section,.mdl-mega-footer--right-section,.mdl-mega-footer__left-section,.mdl-mega-footer__right-section{margin-bottom:16px}.mdl-mega-footer--right-section a,.mdl-mega-footer__right-section a{display:block;margin-bottom:16px;color:inherit;text-decoration:none}@media screen and (min-width:760px){.mdl-mega-footer--left-section,.mdl-mega-footer__left-section{float:left}.mdl-mega-footer--right-section,.mdl-mega-footer__right-section{float:right}.mdl-mega-footer--right-section a,.mdl-mega-footer__right-section a{display:inline-block;margin-left:16px;line-height:36px;vertical-align:middle}}.mdl-mega-footer--social-btn,.mdl-mega-footer__social-btn{width:36px;height:36px;padding:0;margin:0;background-color:#9e9e9e;border:none}.mdl-mega-footer--drop-down-section,.mdl-mega-footer__drop-down-section{display:block;position:relative}@media screen and (min-width:760px){.mdl-mega-footer--drop-down-section,.mdl-mega-footer__drop-down-section{width:33%}.mdl-mega-footer--drop-down-section:nth-child(1),.mdl-mega-footer--drop-down-section:nth-child(2),.mdl-mega-footer__drop-down-section:nth-child(1),.mdl-mega-footer__drop-down-section:nth-child(2){float:left}.mdl-mega-footer--drop-down-section:nth-child(3),.mdl-mega-footer__drop-down-section:nth-child(3){float:right}.mdl-mega-footer--drop-down-section:nth-child(3):after,.mdl-mega-footer__drop-down-section:nth-child(3):after{clear:right}.mdl-mega-footer--drop-down-section:nth-child(4),.mdl-mega-footer__drop-down-section:nth-child(4){clear:right;float:right}.mdl-mega-footer--middle-section:after,.mdl-mega-footer__middle-section:after{content:'';display:block;clear:both}.mdl-mega-footer--bottom-section,.mdl-mega-footer__bottom-section{padding-top:0}}@media screen and (min-width:1024px){.mdl-mega-footer--drop-down-section,.mdl-mega-footer--drop-down-section:nth-child(3),.mdl-mega-footer--drop-down-section:nth-child(4),.mdl-mega-footer__drop-down-section,.mdl-mega-footer__drop-down-section:nth-child(3),.mdl-mega-footer__drop-down-section:nth-child(4){width:24%;float:left}}.mdl-mega-footer--heading-checkbox,.mdl-mega-footer__heading-checkbox{position:absolute;width:100%;height:55.8px;padding:32px;margin:-16px 0 0;cursor:pointer;z-index:1;opacity:0}.mdl-mega-footer--heading-checkbox+.mdl-mega-footer--heading:after,.mdl-mega-footer--heading-checkbox+.mdl-mega-footer__heading:after,.mdl-mega-footer__heading-checkbox+.mdl-mega-footer--heading:after,.mdl-mega-footer__heading-checkbox+.mdl-mega-footer__heading:after{font-family:'Material Icons';content:'\E5CE'}.mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer--heading+.mdl-mega-footer--link-list,.mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer__heading+.mdl-mega-footer__link-list,.mdl-mega-footer--heading-checkbox:checked~.mdl-mega-footer--link-list,.mdl-mega-footer--heading-checkbox:checked~.mdl-mega-footer__link-list,.mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer--heading+.mdl-mega-footer--link-list,.mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer__heading+.mdl-mega-footer__link-list,.mdl-mega-footer__heading-checkbox:checked~.mdl-mega-footer--link-list,.mdl-mega-footer__heading-checkbox:checked~.mdl-mega-footer__link-list{display:none}.mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer--heading:after,.mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer__heading:after,.mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer--heading:after,.mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer__heading:after{font-family:'Material Icons';content:'\E5CF'}.mdl-layout-title,.mdl-layout__title,.mdl-list__item{font-family:Roboto,Helvetica,Arial,sans-serif;box-sizing:border-box}.mdl-mega-footer--heading,.mdl-mega-footer__heading{position:relative;width:100%;padding-right:39.8px;margin-bottom:16px;box-sizing:border-box;font-size:14px;line-height:23.8px;font-weight:500;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:#e0e0e0}.mdl-mega-footer--heading:after,.mdl-mega-footer__heading:after{content:'';position:absolute;top:0;right:0;display:block;width:23.8px;height:23.8px;background-size:cover}.mdl-mega-footer--link-list,.mdl-mega-footer__link-list{list-style:none;margin:0 0 32px;padding:0}.mdl-mega-footer--link-list:after,.mdl-mega-footer__link-list:after{clear:both;display:block;content:''}.mdl-mega-footer--link-list li,.mdl-mega-footer__link-list li{font-size:14px;font-weight:400;letter-spacing:0;line-height:20px}.mdl-mega-footer--link-list a,.mdl-mega-footer__link-list a{color:inherit;text-decoration:none;white-space:nowrap}.mdl-mega-footer--bottom-section,.mdl-mega-footer__bottom-section{padding-top:16px;margin-bottom:16px}.mdl-logo{margin-bottom:16px;color:#fff}.mdl-mega-footer--bottom-section .mdl-mega-footer--link-list li,.mdl-mega-footer__bottom-section .mdl-mega-footer__link-list li{float:left;margin-bottom:0;margin-right:16px}@media screen and (min-width:760px){.mdl-mega-footer--heading-checkbox+.mdl-mega-footer--heading:after,.mdl-mega-footer--heading-checkbox+.mdl-mega-footer__heading:after,.mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer--heading:after,.mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer__heading:after,.mdl-mega-footer__heading-checkbox+.mdl-mega-footer--heading:after,.mdl-mega-footer__heading-checkbox+.mdl-mega-footer__heading:after,.mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer--heading:after,.mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer__heading:after{content:''}.mdl-mega-footer--heading-checkbox,.mdl-mega-footer__heading-checkbox{display:none}.mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer--heading+.mdl-mega-footer--link-list,.mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer__heading+.mdl-mega-footer__link-list,.mdl-mega-footer--heading-checkbox:checked~.mdl-mega-footer--link-list,.mdl-mega-footer--heading-checkbox:checked~.mdl-mega-footer__link-list,.mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer--heading+.mdl-mega-footer--link-list,.mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer__heading+.mdl-mega-footer__link-list,.mdl-mega-footer__heading-checkbox:checked~.mdl-mega-footer--link-list,.mdl-mega-footer__heading-checkbox:checked~.mdl-mega-footer__link-list{display:block}.mdl-logo{float:left;margin-bottom:0;margin-right:16px}.mdl-mini-footer--link-list li,.mdl-mini-footer__link-list li{line-height:36px}}.mdl-mini-footer{display:flex;flex-flow:row wrap;justify-content:space-between;padding:32px 16px;color:#9e9e9e;background-color:#424242}.mdl-mini-footer:after{content:'';display:block}.mdl-mini-footer .mdl-logo{line-height:36px}.mdl-mini-footer--link-list,.mdl-mini-footer__link-list{display:flex;flex-flow:row nowrap;list-style:none;margin:0;padding:0}.mdl-mini-footer--link-list li,.mdl-mini-footer__link-list li{margin-bottom:0;margin-right:16px}.mdl-mini-footer--link-list a,.mdl-mini-footer__link-list a{color:inherit;text-decoration:none;white-space:nowrap}.mdl-mini-footer--left-section,.mdl-mini-footer__left-section{display:inline-block;order:0}.mdl-mini-footer--right-section,.mdl-mini-footer__right-section{display:inline-block;order:1}.mdl-mini-footer--social-btn,.mdl-mini-footer__social-btn{width:36px;height:36px;padding:0;margin:0;background-color:#9e9e9e;border:none}.mdl-icon-toggle{position:relative;z-index:1;display:inline-block;height:32px;margin:0;padding:0}.mdl-icon-toggle__input{line-height:32px}.mdl-icon-toggle.is-upgraded .mdl-icon-toggle__input{position:absolute;width:0;height:0;margin:0;padding:0;opacity:0;-ms-appearance:none;-moz-appearance:none;-webkit-appearance:none;appearance:none;border:none}.mdl-icon-toggle__label{display:inline-block;position:relative;cursor:pointer;height:32px;width:32px;min-width:32px;color:#616161;border-radius:50%;padding:0;margin-left:0;margin-right:0;text-align:center;background-color:transparent;will-change:background-color;transition:background-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1)}.mdl-layout__drawer,.mdl-menu__outline,.mdl-snackbar,.mdl-tooltip{will-change:transform}.mdl-icon-toggle__label.material-icons{line-height:32px;font-size:24px}.mdl-icon-toggle.is-checked .mdl-icon-toggle__label{color:#00bcd4}.mdl-icon-toggle.is-disabled .mdl-icon-toggle__label{color:rgba(0,0,0,.26);cursor:auto;transition:none}.mdl-icon-toggle.is-focused .mdl-icon-toggle__label{background-color:rgba(0,0,0,.12)}.mdl-icon-toggle.is-focused.is-checked .mdl-icon-toggle__label{background-color:rgba(0,188,212,.26)}.mdl-icon-toggle__ripple-container{position:absolute;z-index:2;top:-2px;left:-2px;box-sizing:border-box;width:36px;height:36px;border-radius:50%;cursor:pointer;overflow:hidden}.mdl-icon-toggle__ripple-container .mdl-ripple{background:#616161}.mdl-icon-toggle.is-disabled .mdl-icon-toggle__ripple-container{cursor:auto}.mdl-icon-toggle.is-disabled .mdl-icon-toggle__ripple-container .mdl-ripple{background:0 0}.mdl-list{display:block;padding:0;list-style:none}.mdl-list__item{font-size:16px;font-weight:400;letter-spacing:.04em;line-height:1;display:flex;min-height:48px;flex-direction:row;flex-wrap:nowrap;align-items:center;padding:16px;cursor:default;color:#fff;overflow:hidden}.mdl-list__item .mdl-list__item-primary-content{order:0;flex-grow:2;text-decoration:none;box-sizing:border-box;display:flex;align-items:center}.mdl-list__item .mdl-list__item-primary-content .mdl-list__item-avatar,.mdl-list__item .mdl-list__item-primary-content .mdl-list__item-icon{margin-right:16px}.mdl-list__item .mdl-list__item-secondary-content{display:flex;flex-flow:column;align-items:flex-end;margin-left:16px}.mdl-list__item .mdl-list__item-secondary-content .mdl-list__item-secondary-action label{display:inline}.mdl-list__item .mdl-list__item-secondary-content .mdl-list__item-secondary-info{font-size:12px;font-weight:400;line-height:1;letter-spacing:0;color:rgba(255,255,255,.54)}.mdl-list__item .mdl-list__item-secondary-content .mdl-list__item-sub-header{padding:0 0 0 16px}.mdl-list__item-icon,.mdl-list__item-icon.material-icons{height:24px;width:24px;font-size:24px;box-sizing:border-box;color:rgba(255,255,255,.8)}.mdl-list__item-avatar,.mdl-list__item-avatar.material-icons{height:32px;width:32px;box-sizing:border-box;border-radius:50%;background-color:rgba(255,255,255,.8);font-size:32px;color:#fff}.mdl-menu__container,.mdl-menu__outline{padding:0;border:none;position:absolute;display:block}.mdl-list__item--three-line .mdl-list__item-text-body,.mdl-menu__item,.mdl-navigation__link{font-size:14px;letter-spacing:0;font-weight:400}.mdl-list__item--two-line{height:64px}.mdl-list__item--two-line .mdl-list__item-primary-content{height:32px;line-height:20px;display:block}.mdl-list__item--two-line .mdl-list__item-primary-content .mdl-list__item-avatar{float:left}.mdl-list__item--two-line .mdl-list__item-primary-content .mdl-list__item-icon{float:left;margin-top:4px}.mdl-list__item--two-line .mdl-list__item-primary-content .mdl-list__item-secondary-content{height:32px}.mdl-list__item--two-line .mdl-list__item-primary-content .mdl-list__item-sub-title{font-size:14px;font-weight:400;letter-spacing:0;line-height:18px;color:rgba(255,255,255,.54);display:block;padding:0}.mdl-list__item--three-line{height:88px}.mdl-list__item--three-line .mdl-list__item-primary-content{height:56px;line-height:20px;display:block}.mdl-list__item--three-line .mdl-list__item-primary-content .mdl-list__item-avatar,.mdl-list__item--three-line .mdl-list__item-primary-content .mdl-list__item-icon{float:left}.mdl-list__item--three-line .mdl-list__item-secondary-content{height:56px}.mdl-list__item--three-line .mdl-list__item-text-body{line-height:18px;height:56px;color:rgba(255,255,255,.54);display:block;padding:0}.mdl-menu__container{margin:0;overflow:visible;height:0;width:0;visibility:hidden;z-index:-1}.mdl-menu__container.is-animating,.mdl-menu__container.is-visible{z-index:999;visibility:visible}.mdl-menu__outline{background:#4e4e4e;margin:0;border-radius:2px;top:0;left:0;overflow:hidden;opacity:0;transform:scale(0);transform-origin:0 0;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .2s cubic-bezier(.4,0,.2,1);z-index:-1}.mdl-menu__item,.mdl-menu__item[data-mdl-disabled]:focus,.mdl-menu__item[data-mdl-disabled]:hover,.mdl-menu__item[disabled]:focus,.mdl-menu__item[disabled]:hover{background-color:transparent}.mdl-menu__container.is-visible .mdl-menu__outline{opacity:1;transform:scale(1);z-index:999}.mdl-menu__outline.mdl-menu--bottom-right{transform-origin:100% 0}.mdl-menu__outline.mdl-menu--top-left{transform-origin:0 100%}.mdl-menu__outline.mdl-menu--top-right{transform-origin:100% 100%}.mdl-menu{position:absolute;list-style:none;top:0;left:0;height:auto;min-width:124px;padding:8px 0;margin:0;opacity:0;clip:rect(0 0 0 0);z-index:-1}.mdl-menu__container.is-visible .mdl-menu{opacity:1;z-index:999}.mdl-menu.is-animating{transition:opacity .2s cubic-bezier(.4,0,.2,1),clip .3s cubic-bezier(.4,0,.2,1)}.mdl-menu.mdl-menu--bottom-right{left:auto;right:0}.mdl-menu.mdl-menu--top-left{top:auto;bottom:0}.mdl-menu.mdl-menu--top-right{top:auto;left:auto;bottom:0;right:0}.mdl-menu.mdl-menu--unaligned{top:auto;left:auto}.mdl-menu__item{display:block;border:none;color:rgba(0,0,0,.87);text-align:left;margin:0;padding:0 16px;outline-color:#bdbdbd;position:relative;overflow:hidden;text-decoration:none;cursor:pointer;height:48px;line-height:48px;white-space:nowrap;opacity:0;transition:opacity .2s cubic-bezier(.4,0,.2,1);user-select:none}.mdl-menu__item:focus,.mdl-progress:focus,.mdl-snackbar__action,.mdl-textfield.is-focused .mdl-textfield__input{outline:0}.mdl-menu__container.is-visible .mdl-menu__item{opacity:1}.mdl-menu__item::-moz-focus-inner{border:0}.mdl-menu__item--full-bleed-divider{border-bottom:1px solid rgba(0,0,0,.12)}.mdl-menu__item[data-mdl-disabled],.mdl-menu__item[disabled]{color:#bdbdbd;background-color:transparent;cursor:auto}.mdl-menu__item[data-mdl-disabled] .mdl-ripple,.mdl-menu__item[disabled] .mdl-ripple{background:0 0}.mdl-menu__item:hover{background-color:rgba(0,0,0,.2)}.mdl-menu__item:active,.mdl-menu__item:focus{background-color:rgba(0,0,0,.15)}.mdl-menu__item--ripple-container{display:block;height:100%;left:0;position:absolute;top:0;width:100%;z-index:0;overflow:hidden}.mdl-progress{display:block;position:relative;height:4px;max-width:100%}.mdl-progress>.bar{display:block;position:absolute;top:0;bottom:0;width:0;transition:width .2s cubic-bezier(.4,0,.2,1)}.mdl-layout__drawer,.mdl-layout__header,.mdl-layout__obfuscator{transition-timing-function:cubic-bezier(.4,0,.2,1)}.mdl-progress>.progressbar{background-color:#ff5252;z-index:1;left:0}.mdl-progress>.bufferbar{z-index:0;left:0}.mdl-progress>.auxbar{right:0}@supports (-webkit-appearance:none){.mdl-progress:not(.mdl-progress--indeterminate):not(.mdl-progress--indeterminate)>.auxbar,.mdl-progress:not(.mdl-progress__indeterminate):not(.mdl-progress__indeterminate)>.auxbar{background-image:linear-gradient(to right,rgba(255,255,255,.4),rgba(255,255,255,.4)),linear-gradient(to right,#ff5252,#ff5252);mask:url(../images/buffer.svg?embed)}}.mdl-progress:not(.mdl-progress--indeterminate)>.auxbar,.mdl-progress:not(.mdl-progress__indeterminate)>.auxbar{background-image:linear-gradient(to right,rgba(255,255,255,.9),rgba(255,255,255,.9)),linear-gradient(to right,#ff5252,#ff5252)}.mdl-progress.mdl-progress--indeterminate>.bar1,.mdl-progress.mdl-progress__indeterminate>.bar1{background-color:#ff5252;animation-name:indeterminate1;animation-duration:2s;animation-iteration-count:infinite;animation-timing-function:linear}.mdl-progress.mdl-progress--indeterminate>.bar3,.mdl-progress.mdl-progress__indeterminate>.bar3{background-image:none;background-color:#ff5252;animation-name:indeterminate2;animation-duration:2s;animation-iteration-count:infinite;animation-timing-function:linear}@keyframes indeterminate1{0%{left:0;width:0}50%{left:25%;width:75%}75%{left:100%;width:0}}@keyframes indeterminate2{0%,50%{left:0;width:0}75%{left:0;width:25%}100%{left:100%;width:0}}.mdl-navigation{display:flex;flex-wrap:nowrap;box-sizing:border-box}.mdl-navigation__link{color:#424242;text-decoration:none;margin:0;line-height:24px;opacity:.87}.mdl-layout{width:100%;height:100%;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;position:relative;-webkit-overflow-scrolling:touch}.mdl-layout.is-small-screen .mdl-layout--large-screen-only,.mdl-layout:not(.is-small-screen) .mdl-layout--small-screen-only{display:none}.mdl-layout__container{position:absolute;width:100%;height:100%}.mdl-layout-title,.mdl-layout__title{display:block;position:relative;font-size:20px;line-height:1;letter-spacing:.02em;font-weight:400}.mdl-layout__tab,.mdl-snackbar__action,.mdl-tabs__tab{text-align:center;font-weight:500;text-transform:uppercase;text-decoration:none}.mdl-layout-spacer{flex-grow:1}.mdl-layout__drawer{display:flex;flex-direction:column;flex-wrap:nowrap;width:236px;height:100%;max-height:100%;position:absolute;top:0;left:0;box-sizing:border-box;background:#202020;transform:translateX(-246px);transform-style:preserve-3d;transition-duration:.2s;transition-property:transform;color:#424242;overflow:visible;overflow-y:auto;z-index:5}.mdl-layout__drawer.is-visible{transform:translateX(0)}.mdl-layout__drawer.is-visible~.mdl-layout__content.mdl-layout__content{overflow:hidden}.mdl-layout__drawer>*{flex-shrink:0}.mdl-layout__drawer>.mdl-layout-title,.mdl-layout__drawer>.mdl-layout__title{line-height:64px;padding-left:20px}.mdl-layout__drawer .mdl-navigation{flex-direction:column;align-items:stretch}.mdl-layout__drawer .mdl-navigation .mdl-navigation__link{display:block;flex-shrink:0;margin:0;color:#757575}@media screen and (max-width:1440px){.mdl-layout__drawer>.mdl-layout-title,.mdl-layout__drawer>.mdl-layout__title{line-height:56px;padding-left:8px}.mdl-layout__drawer .mdl-navigation .mdl-navigation__link{padding:16px 8px}}.mdl-layout__drawer .mdl-navigation .mdl-navigation__link:hover{background-color:rgba(0,0,0,.25)}.mdl-layout__drawer .mdl-navigation .mdl-navigation__link--current{background-color:rgba(0,0,0,.25);color:#00bcd4}.mdl-layout__drawer-button{display:block;position:absolute;height:48px;width:48px;border:0;flex-shrink:0;overflow:hidden;text-align:center;cursor:pointer;font-size:26px;line-height:50px;font-family:Helvetica,Arial,sans-serif;margin:10px 12px;top:0;left:0;color:#00bcd4;z-index:4}.mdl-snackbar,.mdl-snackbar__action{font-family:Roboto,Helvetica,Arial,sans-serif}.mdl-layout__header .mdl-layout__drawer-button{position:absolute;color:#00bcd4;background-color:inherit}@media screen and (max-width:1440px){.mdl-layout__header .mdl-layout__drawer-button{margin:4px}.mdl-layout__drawer-button{margin:4px;color:rgba(0,0,0,.5)}}@media screen and (min-width:1441px){.mdl-layout--fixed-drawer>.mdl-layout__drawer{transform:translateX(0)}.mdl-layout--fixed-drawer>.mdl-layout__drawer-button,.mdl-layout--no-desktop-drawer-button .mdl-layout__drawer-button{display:none}}.mdl-layout--no-drawer-button .mdl-layout__drawer-button{display:none}.mdl-layout__header{display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:flex-start;box-sizing:border-box;flex-shrink:0;margin:0;padding:0;border:none;min-height:64px;max-height:1000px;z-index:3;background-color:#242424;color:#00bcd4;transition-duration:.2s;transition-property:max-height,box-shadow}.mdl-layout--fixed-drawer.is-upgraded:not(.is-small-screen)>.mdl-layout__header{margin-left:236px;width:calc(100% - 236px)}@media screen and (min-width:1441px){.mdl-layout--fixed-drawer>.mdl-layout__header .mdl-layout__header-row{padding-left:40px}}.mdl-layout__header>.mdl-layout-icon{position:absolute;left:20px;top:16px;height:32px;width:32px;overflow:hidden;z-index:3;display:block}.mdl-layout.has-drawer .mdl-layout__header>.mdl-layout-icon{display:none}.mdl-layout__header.is-compact{max-height:64px}.mdl-layout__header.is-compact.has-tabs{height:112px}@media screen and (max-width:1440px){.mdl-layout__header{min-height:56px;display:none}.mdl-layout__header>.mdl-layout-icon{left:8px;top:12px}.mdl-layout__header.is-compact{max-height:56px}.mdl-layout__header.is-compact.has-tabs{min-height:104px}.mdl-layout--fixed-header>.mdl-layout__header{display:flex}}.mdl-layout__header--transparent.mdl-layout__header--transparent{background-color:transparent;box-shadow:none}.mdl-layout__header--scroll,.mdl-layout__header--seamed{box-shadow:none}.mdl-layout__header--waterfall{box-shadow:none;overflow:hidden}.mdl-layout__header--waterfall.is-casting-shadow{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.mdl-layout__header--waterfall.mdl-layout__header--waterfall-hide-top{justify-content:flex-end}.mdl-layout__header-row{display:flex;flex-direction:row;flex-wrap:nowrap;flex-shrink:0;box-sizing:border-box;align-self:stretch;align-items:center;height:64px;margin:0;padding:0 20px 0 80px}.mdl-layout--no-drawer-button .mdl-layout__header-row{padding-left:20px}@media screen and (min-width:1441px){.mdl-layout--no-desktop-drawer-button .mdl-layout__header-row{padding-left:20px}}@media screen and (max-width:1440px){.mdl-layout__header-row{height:56px;padding:0 8px 0 72px}.mdl-layout--no-drawer-button .mdl-layout__header-row{padding-left:8px}}.mdl-layout__header-row>*{flex-shrink:0}.mdl-layout__header--scroll .mdl-layout__header-row{width:100%}.mdl-layout__header-row .mdl-navigation{margin:0;padding:0;height:64px;flex-direction:row;align-items:center}.mdl-layout__header-row .mdl-navigation__link{display:block;color:#00bcd4;line-height:64px;padding:0 24px}@media screen and (max-width:1440px){.mdl-layout__header-row .mdl-navigation{height:56px}.mdl-layout__header-row .mdl-navigation__link{line-height:56px;padding:0 8px}}.mdl-layout__tab,.mdl-layout__tab-bar-button .material-icons{line-height:48px}.mdl-layout__obfuscator{background-color:transparent;position:absolute;top:0;left:0;height:100%;width:100%;z-index:4;visibility:hidden;transition-property:background-color;transition-duration:.2s}.mdl-layout__obfuscator.is-visible{background-color:rgba(0,0,0,.5);visibility:visible}@supports (pointer-events:auto){.mdl-layout__obfuscator{background-color:rgba(0,0,0,.5);opacity:0;transition-property:opacity;visibility:visible;pointer-events:none}.mdl-layout__obfuscator.is-visible{pointer-events:auto;opacity:1}}.mdl-layout__content{-ms-flex:0 1 auto;position:relative;display:inline-block;overflow-y:auto;overflow-x:hidden;flex-grow:1;z-index:1;-webkit-overflow-scrolling:touch}.mdl-layout--fixed-drawer>.mdl-layout__content{margin-left:236px}.mdl-layout__container.has-scrolling-header .mdl-layout__content{overflow:visible}@media screen and (max-width:1440px){.mdl-layout--fixed-drawer>.mdl-layout__content{margin-left:0}.mdl-layout__container.has-scrolling-header .mdl-layout__content{overflow-y:auto;overflow-x:hidden}}.mdl-layout__tab-bar{height:96px;margin:0;width:calc(100% - 112px);padding:0 0 0 56px;display:flex;background-color:#242424;overflow-y:hidden;overflow-x:scroll}.mdl-layout__tab-bar::-webkit-scrollbar{display:none}.mdl-layout--no-drawer-button .mdl-layout__tab-bar{width:calc(100% - -8px)}@media screen and (min-width:1441px){.mdl-layout--no-desktop-drawer-button .mdl-layout__tab-bar{width:calc(100% - -8px)}}@media screen and (max-width:1440px){.mdl-layout__tab-bar{width:calc(100% - 60px);padding:0 0 0 60px}.mdl-layout--no-drawer-button .mdl-layout__tab-bar{width:calc(100% - -8px)}}.mdl-layout--fixed-tabs .mdl-layout__tab-bar{padding:0;overflow:hidden;width:100%}.mdl-layout__tab-bar-container{position:relative;height:48px;width:100%;border:none;margin:0;z-index:2;flex-grow:0;flex-shrink:0;overflow:hidden}.mdl-layout__container>.mdl-layout__tab-bar-container{position:absolute;top:0;left:0}.mdl-layout__tab-bar-button{display:inline-block;position:absolute;top:0;height:48px;width:56px;z-index:4;text-align:center;background-color:#242424;color:transparent;cursor:pointer;user-select:none}.mdl-layout--no-desktop-drawer-button .mdl-layout__tab-bar-button,.mdl-layout--no-drawer-button .mdl-layout__tab-bar-button{width:-4px}.mdl-layout--no-desktop-drawer-button .mdl-layout__tab-bar-button .material-icons,.mdl-layout--no-drawer-button .mdl-layout__tab-bar-button .material-icons{position:relative;left:-14px}@media screen and (max-width:1440px){.mdl-layout__tab-bar-button{display:none;width:60px}}.mdl-layout--fixed-tabs .mdl-layout__tab-bar-button{display:none}.mdl-layout__tab-bar-button.is-active{color:#00bcd4}.mdl-layout__tab-bar-left-button{left:0}.mdl-layout__tab-bar-right-button{right:0}.mdl-layout__tab{margin:0;border:none;padding:0 24px;float:left;position:relative;display:block;flex-grow:0;flex-shrink:0;height:48px;font-size:14px;color:rgba(255,255,255,.6);overflow:hidden}.mdl-radio,.mdl-radio__button{line-height:24px}@media screen and (max-width:1440px){.mdl-layout__tab{padding:0 12px}}.mdl-layout--fixed-tabs .mdl-layout__tab{float:none;flex-grow:1;padding:0}.mdl-layout.is-upgraded .mdl-layout__tab.is-active{color:#00bcd4}.mdl-layout.is-upgraded .mdl-layout__tab.is-active::after{height:2px;width:100%;display:block;content:" ";bottom:0;left:0;position:absolute;background:#ff4081;animation:border-expand .2s cubic-bezier(.4,0,.4,1) 10ms alternate forwards;transition:all 1s cubic-bezier(.4,0,1,1)}.mdl-layout__tab .mdl-layout__tab-ripple-container{display:block;position:absolute;height:100%;width:100%;left:0;top:0;z-index:1;overflow:hidden}.mdl-layout__tab .mdl-layout__tab-ripple-container .mdl-ripple{background-color:#00bcd4}.mdl-layout__tab-panel{display:block}.mdl-layout.is-upgraded .mdl-layout__tab-panel{display:none}.mdl-layout.is-upgraded .mdl-layout__tab-panel.is-active{display:block}.mdl-radio,.mdl-radio__outer-circle{display:inline-block;box-sizing:border-box;margin:0}.mdl-radio{position:relative;font-size:16px;padding-left:0}.mdl-radio.is-upgraded{padding-left:24px}.mdl-radio.is-upgraded .mdl-radio__button{position:absolute;width:0;height:0;margin:0;padding:0;opacity:0;-ms-appearance:none;-moz-appearance:none;-webkit-appearance:none;appearance:none;border:none}.mdl-radio__outer-circle{position:absolute;top:4px;left:0;width:16px;height:16px;cursor:pointer;border:2px solid rgba(255,255,255,.8);border-radius:50%;z-index:2}.mdl-radio.is-checked .mdl-radio__outer-circle{border:2px solid rgba(0,188,212,.8)}.mdl-radio.is-disabled .mdl-radio__outer-circle,.mdl-radio__outer-circle fieldset[disabled] .mdl-radio{border:2px solid rgba(0,0,0,.26);cursor:auto}.mdl-radio__inner-circle,.mdl-radio__ripple-container{position:absolute;border-radius:50%;box-sizing:border-box}.mdl-radio__inner-circle{z-index:1;margin:0;top:8px;left:4px;width:8px;height:8px;cursor:pointer;transition-duration:.28s;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-property:transform;transform:scale3d(0,0,0);background:rgba(0,188,212,.8)}.mdl-radio.is-checked .mdl-radio__inner-circle{transform:scale3d(1,1,1)}.mdl-radio.is-disabled .mdl-radio__inner-circle,fieldset[disabled] .mdl-radio .mdl-radio__inner-circle{background:rgba(0,0,0,.26);cursor:auto}.mdl-radio.is-focused .mdl-radio__inner-circle{box-shadow:0 0 0 10px rgba(0,0,0,.1)}.mdl-radio__label{cursor:pointer}.mdl-radio.is-disabled .mdl-radio__label,fieldset[disabled] .mdl-radio .mdl-radio__label{color:rgba(0,0,0,.26);cursor:auto}.mdl-radio__ripple-container{z-index:2;top:-9px;left:-13px;width:42px;height:42px;cursor:pointer;overflow:hidden}.mdl-radio__ripple-container .mdl-ripple{background:rgba(0,188,212,.8)}.mdl-radio.is-disabled .mdl-radio__ripple-container,fieldset[disabled] .mdl-radio .mdl-radio__ripple-container{cursor:auto}.mdl-radio.is-disabled .mdl-radio__ripple-container .mdl-ripple,fieldset[disabled] .mdl-radio .mdl-radio__ripple-container .mdl-ripple{background:0 0}:root .mdl-slider.mdl-slider.is-upgraded,_:-ms-input-placeholder{-ms-appearance:none;height:32px;margin:0}.mdl-slider{width:calc(100% - 40px);margin:0 20px}.mdl-slider.is-upgraded{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:2px;background:0 0;-webkit-user-select:none;-moz-user-select:none;user-select:none;outline:0;padding:0;color:#00bcd4;align-self:center;z-index:1;cursor:pointer}.mdl-slider.is-upgraded::-moz-focus-outer{border:0}.mdl-slider.is-upgraded::-ms-tooltip{display:none}.mdl-slider.is-upgraded::-webkit-slider-runnable-track{background:0 0}.mdl-slider.is-upgraded::-moz-range-track{background:0 0;border:none}.mdl-slider.is-upgraded::-ms-track{background:0 0;color:transparent;height:2px;width:100%;border:none}.mdl-slider.is-upgraded::-ms-fill-lower{padding:0;background:linear-gradient(to right,transparent,transparent 16px,#00bcd4 16px,#00bcd4 0)}.mdl-slider.is-upgraded::-ms-fill-upper{padding:0;background:linear-gradient(to left,transparent,transparent 16px,rgba(0,0,0,.26) 16px,rgba(0,0,0,.26) 0)}.mdl-slider.is-upgraded::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;box-sizing:border-box;border-radius:50%;background:#00bcd4;border:none;transition:transform .18s cubic-bezier(.4,0,.2,1),border .18s cubic-bezier(.4,0,.2,1),box-shadow .18s cubic-bezier(.4,0,.2,1),background .28s cubic-bezier(.4,0,.2,1)}.mdl-slider.is-upgraded::-moz-range-thumb{-moz-appearance:none;width:12px;height:12px;box-sizing:border-box;border-radius:50%;background:#00bcd4;border:none}.mdl-slider.is-upgraded:focus:not(:active)::-webkit-slider-thumb{box-shadow:0 0 0 10px rgba(0,188,212,.26)}.mdl-slider.is-upgraded:focus:not(:active)::-moz-range-thumb{box-shadow:0 0 0 10px rgba(0,188,212,.26)}.mdl-slider.is-upgraded:active::-webkit-slider-thumb{background:#00bcd4;transform:scale(1.5)}.mdl-slider.is-upgraded:active::-moz-range-thumb{background:#00bcd4;transform:scale(1.5)}.mdl-slider.is-upgraded::-ms-thumb{width:32px;height:32px;border:none;border-radius:50%;background:#00bcd4;transform:scale(.375);transition:transform .18s cubic-bezier(.4,0,.2,1),background .28s cubic-bezier(.4,0,.2,1)}.mdl-slider.is-upgraded:focus:not(:active)::-ms-thumb{background:radial-gradient(circle closest-side,#00bcd4 0,#00bcd4 37.5%,rgba(0,188,212,.26) 37.5%,rgba(0,188,212,.26) 100%);transform:scale(1)}.mdl-slider.is-upgraded:active::-ms-thumb{background:#00bcd4;transform:scale(.5625)}.mdl-slider.is-upgraded.is-lowest-value::-webkit-slider-thumb{border:2px solid rgba(0,0,0,.26);background:0 0}.mdl-slider.is-upgraded.is-lowest-value::-moz-range-thumb{border:2px solid rgba(0,0,0,.26);background:0 0}.mdl-slider.is-upgraded.is-lowest-value+.mdl-slider__background-flex>.mdl-slider__background-upper{left:6px}.mdl-slider.is-upgraded.is-lowest-value:focus:not(:active)::-webkit-slider-thumb{box-shadow:0 0 0 10px rgba(0,0,0,.12);background:rgba(0,0,0,.12)}.mdl-slider.is-upgraded.is-lowest-value:focus:not(:active)::-moz-range-thumb{box-shadow:0 0 0 10px rgba(0,0,0,.12);background:rgba(0,0,0,.12)}.mdl-slider.is-upgraded.is-lowest-value:active::-webkit-slider-thumb{border:1.6px solid rgba(0,0,0,.26);transform:scale(1.5)}.mdl-slider.is-upgraded.is-lowest-value:active+.mdl-slider__background-flex>.mdl-slider__background-upper{left:9px}.mdl-slider.is-upgraded.is-lowest-value:active::-moz-range-thumb{border:1.5px solid rgba(0,0,0,.26);transform:scale(1.5)}.mdl-slider.is-upgraded.is-lowest-value::-ms-thumb{background:radial-gradient(circle closest-side,transparent 0,transparent 66.67%,rgba(0,0,0,.26) 66.67%,rgba(0,0,0,.26) 100%)}.mdl-slider.is-upgraded.is-lowest-value:focus:not(:active)::-ms-thumb{background:radial-gradient(circle closest-side,rgba(0,0,0,.12) 0,rgba(0,0,0,.12) 25%,rgba(0,0,0,.26) 25%,rgba(0,0,0,.26) 37.5%,rgba(0,0,0,.12) 37.5%,rgba(0,0,0,.12) 100%);transform:scale(1)}.mdl-slider.is-upgraded.is-lowest-value:active::-ms-thumb{transform:scale(.5625);background:radial-gradient(circle closest-side,transparent 0,transparent 77.78%,rgba(0,0,0,.26) 77.78%,rgba(0,0,0,.26) 100%)}.mdl-slider.is-upgraded.is-lowest-value::-ms-fill-lower{background:0 0}.mdl-slider.is-upgraded.is-lowest-value::-ms-fill-upper{margin-left:6px}.mdl-slider.is-upgraded.is-lowest-value:active::-ms-fill-upper{margin-left:9px}.mdl-slider.is-upgraded:disabled::-webkit-slider-thumb,.mdl-slider.is-upgraded:disabled:active::-webkit-slider-thumb,.mdl-slider.is-upgraded:disabled:focus::-webkit-slider-thumb{transform:scale(.667);background:rgba(0,0,0,.26)}.mdl-slider.is-upgraded:disabled::-moz-range-thumb,.mdl-slider.is-upgraded:disabled:active::-moz-range-thumb,.mdl-slider.is-upgraded:disabled:focus::-moz-range-thumb{transform:scale(.667);background:rgba(0,0,0,.26)}.mdl-slider.is-upgraded:disabled+.mdl-slider__background-flex>.mdl-slider__background-lower{background-color:rgba(0,0,0,.26);left:-6px}.mdl-slider.is-upgraded.is-lowest-value:disabled:active+.mdl-slider__background-flex>.mdl-slider__background-upper,.mdl-slider.is-upgraded:disabled+.mdl-slider__background-flex>.mdl-slider__background-upper{left:6px}.mdl-slider.is-upgraded.is-lowest-value:disabled::-webkit-slider-thumb,.mdl-slider.is-upgraded.is-lowest-value:disabled:active::-webkit-slider-thumb,.mdl-slider.is-upgraded.is-lowest-value:disabled:focus::-webkit-slider-thumb{border:3px solid rgba(0,0,0,.26);background:0 0;transform:scale(.667)}.mdl-slider.is-upgraded.is-lowest-value:disabled::-moz-range-thumb,.mdl-slider.is-upgraded.is-lowest-value:disabled:active::-moz-range-thumb,.mdl-slider.is-upgraded.is-lowest-value:disabled:focus::-moz-range-thumb{border:3px solid rgba(0,0,0,.26);background:0 0;transform:scale(.667)}.mdl-slider.is-upgraded:disabled::-ms-thumb,.mdl-slider.is-upgraded:disabled:active::-ms-thumb,.mdl-slider.is-upgraded:disabled:focus::-ms-thumb{transform:scale(.25);background:rgba(0,0,0,.26)}.mdl-slider.is-upgraded.is-lowest-value:disabled::-ms-thumb,.mdl-slider.is-upgraded.is-lowest-value:disabled:active::-ms-thumb,.mdl-slider.is-upgraded.is-lowest-value:disabled:focus::-ms-thumb{transform:scale(.25);background:radial-gradient(circle closest-side,transparent 0,transparent 50%,rgba(0,0,0,.26) 50%,rgba(0,0,0,.26) 100%)}.mdl-slider.is-upgraded:disabled::-ms-fill-lower{margin-right:6px;background:linear-gradient(to right,transparent,transparent 25px,rgba(0,0,0,.26) 25px,rgba(0,0,0,.26) 0)}.mdl-slider.is-upgraded:disabled::-ms-fill-upper{margin-left:6px}.mdl-slider.is-upgraded.is-lowest-value:disabled:active::-ms-fill-upper{margin-left:6px}.mdl-slider__ie-container{height:18px;overflow:visible;border:none;margin:none;padding:none}.mdl-slider__container{height:18px;position:relative;background:0 0;display:flex;flex-direction:row}.mdl-slider__background-flex{background:0 0;position:absolute;height:2px;width:calc(100% - 52px);top:50%;left:0;margin:0 26px;display:flex;overflow:hidden;border:0;padding:0;transform:translate(0,-1px)}.mdl-slider__background-lower{background:#00bcd4;flex:0;position:relative;border:0;padding:0}.mdl-slider__background-upper{background:rgba(0,0,0,.26);flex:0;position:relative;border:0;padding:0;transition:left .18s cubic-bezier(.4,0,.2,1)}.mdl-snackbar{position:fixed;bottom:0;left:50%;margin-right:-50%;cursor:default;background-color:#323232;z-index:10000;display:flex;transform:translate(0,80px);transition:transform .25s cubic-bezier(.4,0,1,1);pointer-events:none}@media (max-width:1151px){.mdl-snackbar{width:100%;left:0;min-height:48px;max-height:80px}}@media (min-width:1152px){.mdl-snackbar{min-width:288px;max-width:568px;border-radius:2px}}.mdl-snackbar--active{transform:translate(0,0);pointer-events:auto;transition:transform .25s cubic-bezier(0,0,.2,1)}.mdl-snackbar__text{padding:14px 24px;color:#fff}.mdl-snackbar__action{background:0 0;border:none;color:#ff4081;padding:14px 24px;font-size:14px;line-height:1;letter-spacing:0;overflow:hidden;opacity:0;pointer-events:none;cursor:pointer}.mdl-snackbar__action::-moz-focus-inner{border:0}.mdl-snackbar__action:not([aria-hidden]){opacity:1;pointer-events:auto}.mdl-spinner{display:inline-block;position:relative;width:28px;height:28px}.mdl-spinner:not(.is-upgraded).is-active:after{content:"Loading..."}.mdl-spinner.is-upgraded.is-active{animation:mdl-spinner__container-rotate 1.568s linear infinite}@keyframes mdl-spinner__container-rotate{to{transform:rotate(360deg)}}.mdl-spinner__layer{position:absolute;width:100%;height:100%;opacity:0}.mdl-spinner__layer-1{border-color:#42a5f5}.mdl-spinner--single-color .mdl-spinner__layer-1{border-color:#00bcd4}.mdl-spinner.is-active .mdl-spinner__layer-1{animation:mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdl-spinner__layer-1-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}.mdl-spinner__layer-2{border-color:#f44336}.mdl-spinner--single-color .mdl-spinner__layer-2{border-color:#00bcd4}.mdl-spinner.is-active .mdl-spinner__layer-2{animation:mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdl-spinner__layer-2-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}.mdl-spinner__layer-3{border-color:#fdd835}.mdl-spinner--single-color .mdl-spinner__layer-3{border-color:#00bcd4}.mdl-spinner.is-active .mdl-spinner__layer-3{animation:mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdl-spinner__layer-3-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}.mdl-spinner__layer-4{border-color:#4caf50}.mdl-spinner--single-color .mdl-spinner__layer-4{border-color:#00bcd4}.mdl-spinner.is-active .mdl-spinner__layer-4{animation:mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,mdl-spinner__layer-4-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}@keyframes mdl-spinner__fill-unfill-rotate{12.5%{transform:rotate(135deg)}25%{transform:rotate(270deg)}37.5%{transform:rotate(405deg)}50%{transform:rotate(540deg)}62.5%{transform:rotate(675deg)}75%{transform:rotate(810deg)}87.5%{transform:rotate(945deg)}to{transform:rotate(1080deg)}}@keyframes mdl-spinner__layer-1-fade-in-out{100%,25%,90%,from{opacity:.99}26%,89%{opacity:0}}@keyframes mdl-spinner__layer-2-fade-in-out{15%,51%,from{opacity:0}25%,50%{opacity:.99}}@keyframes mdl-spinner__layer-3-fade-in-out{40%,76%,from{opacity:0}50%,75%{opacity:.99}}@keyframes mdl-spinner__layer-4-fade-in-out{100%,65%,from{opacity:0}75%,90%{opacity:.99}}.mdl-spinner__gap-patch{position:absolute;box-sizing:border-box;top:0;left:45%;width:10%;height:100%;overflow:hidden;border-color:inherit}.mdl-spinner__gap-patch .mdl-spinner__circle{width:1000%;left:-450%}.mdl-spinner__circle-clipper{display:inline-block;position:relative;width:50%;height:100%;overflow:hidden;border-color:inherit}.mdl-spinner__circle-clipper .mdl-spinner__circle{width:200%}.mdl-spinner__circle{box-sizing:border-box;height:100%;border-width:3px;border-style:solid;border-color:inherit;border-bottom-color:transparent!important;border-radius:50%;animation:none;position:absolute;top:0;right:0;bottom:0;left:0}.mdl-spinner__left .mdl-spinner__circle{border-right-color:transparent!important;transform:rotate(129deg)}.mdl-spinner.is-active .mdl-spinner__left .mdl-spinner__circle{animation:mdl-spinner__left-spin 1333ms cubic-bezier(.4,0,.2,1) infinite both}.mdl-spinner__right .mdl-spinner__circle{left:-100%;border-left-color:transparent!important;transform:rotate(-129deg)}.mdl-spinner.is-active .mdl-spinner__right .mdl-spinner__circle{animation:mdl-spinner__right-spin 1333ms cubic-bezier(.4,0,.2,1) infinite both}@keyframes mdl-spinner__left-spin{from,to{transform:rotate(130deg)}50%{transform:rotate(-5deg)}}@keyframes mdl-spinner__right-spin{from,to{transform:rotate(-130deg)}50%{transform:rotate(5deg)}}.mdl-switch{position:relative;z-index:1;display:inline-block;box-sizing:border-box;width:100%;height:24px;margin:0;padding:0;overflow:visible;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mdl-switch.is-upgraded{padding-left:28px}.mdl-switch__input{line-height:24px}.mdl-switch.is-upgraded .mdl-switch__input{position:absolute;width:0;height:0;margin:0;padding:0;opacity:0;-ms-appearance:none;-moz-appearance:none;-webkit-appearance:none;appearance:none;border:none}.mdl-switch__track{background:rgba(0,0,0,.26);position:absolute;left:0;top:5px;height:14px;width:36px;border-radius:14px;cursor:pointer}.mdl-switch.is-checked .mdl-switch__track{background:rgba(0,188,212,.5)}.mdl-switch.is-disabled .mdl-switch__track,.mdl-switch__track fieldset[disabled] .mdl-switch{background:rgba(0,0,0,.12);cursor:auto}.mdl-switch__thumb{background:#fafafa;position:absolute;left:0;top:2px;height:20px;width:20px;border-radius:50%;cursor:pointer;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);transition-duration:.28s;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-property:left}.mdl-switch.is-checked .mdl-switch__thumb{background:#00bcd4;left:16px;box-shadow:0 3px 4px 0 rgba(0,0,0,.14),0 3px 3px -2px rgba(0,0,0,.2),0 1px 8px 0 rgba(0,0,0,.12)}.mdl-switch.is-disabled .mdl-switch__thumb,.mdl-switch__thumb fieldset[disabled] .mdl-switch{background:#bdbdbd;cursor:auto}.mdl-switch__focus-helper{position:absolute;top:50%;left:50%;transform:translate(-4px,-4px);display:inline-block;box-sizing:border-box;width:8px;height:8px;border-radius:50%;background-color:transparent}.mdl-switch.is-focused .mdl-switch__focus-helper{box-shadow:0 0 0 20px rgba(0,0,0,.1);background-color:rgba(0,0,0,.1)}.mdl-switch.is-focused.is-checked .mdl-switch__focus-helper{box-shadow:0 0 0 20px rgba(0,188,212,.26);background-color:rgba(0,188,212,.26)}.mdl-switch__label{position:relative;cursor:pointer;font-size:16px;line-height:24px;margin:0;left:24px}.mdl-switch.is-disabled .mdl-switch__label,.mdl-switch__label fieldset[disabled] .mdl-switch{color:#bdbdbd;cursor:auto}.mdl-switch__ripple-container{position:absolute;z-index:2;top:-12px;left:-14px;box-sizing:border-box;width:48px;height:48px;border-radius:50%;cursor:pointer;overflow:hidden;transition-duration:.4s;transition-timing-function:step-end;transition-property:left}.mdl-switch__ripple-container .mdl-ripple{background:#00bcd4}.mdl-switch.is-disabled .mdl-switch__ripple-container,.mdl-switch__ripple-container fieldset[disabled] .mdl-switch{cursor:auto}.mdl-switch.is-disabled .mdl-switch__ripple-container .mdl-ripple,fieldset[disabled] .mdl-switch .mdl-switch__ripple-container .mdl-ripple{background:0 0}.mdl-switch.is-checked .mdl-switch__ripple-container{left:2px}.mdl-tabs{display:block;width:100%}.mdl-tabs__tab-bar{display:flex;flex-direction:row;justify-content:center;align-content:space-between;align-items:flex-start;height:48px;padding:0;margin:0;border-bottom:1px solid #e0e0e0}.mdl-tabs__tab{margin:0;border:none;padding:0 24px;float:left;position:relative;display:block;height:48px;line-height:48px;font-size:14px;color:rgba(0,0,0,.54);overflow:hidden}.mdl-tabs.is-upgraded .mdl-tabs__tab.is-active{color:rgba(0,0,0,.87)}.mdl-tabs.is-upgraded .mdl-tabs__tab.is-active:after{height:2px;width:100%;display:block;content:" ";bottom:0;left:0;position:absolute;background:#00bcd4;animation:border-expand .2s cubic-bezier(.4,0,.4,1) 10ms alternate forwards;transition:all 1s cubic-bezier(.4,0,1,1)}.mdl-textfield--floating-label .mdl-textfield__label,.mdl-textfield__expandable-holder,.mdl-textfield__label:after{transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.mdl-tabs__tab .mdl-tabs__ripple-container{display:block;position:absolute;height:100%;width:100%;left:0;top:0;z-index:1;overflow:hidden}.mdl-tabs__tab .mdl-tabs__ripple-container .mdl-ripple{background:#00bcd4}.mdl-tabs__panel{display:block}.mdl-tabs.is-upgraded .mdl-tabs__panel{display:none}.mdl-tabs.is-upgraded .mdl-tabs__panel.is-active{display:block}@keyframes border-expand{0%{opacity:0;width:0}100%{opacity:1;width:100%}}.mdl-textfield{position:relative;font-size:16px;display:inline-block;box-sizing:border-box;max-width:100%;margin:0;padding:20px 0}.mdl-textfield .mdl-button{position:absolute;bottom:20px}.mdl-textfield--align-right{text-align:right}.mdl-textfield--full-width{width:100%}.mdl-textfield--expandable{min-width:32px;width:auto;min-height:32px}.mdl-textfield__input,.mdl-textfield__label{font-size:16px;width:100%;text-align:left;display:block}.mdl-textfield__input{border:none;border-bottom:1px solid rgba(255,255,255,.2);font-family:Helvetica,Arial,sans-serif;margin:0;padding:4px 0;background:0 0;color:inherit}.mdl-layout__drawer .mdl-navigation .mdl-navigation__link,a{font-family:Roboto,Helvetica,Arial,sans-serif}.mdl-textfield__input[type=number]{-moz-appearance:textfield}.mdl-textfield__input[type=number]::-webkit-inner-spin-button,.mdl-textfield__input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.mdl-textfield.is-invalid .mdl-textfield__input{border-color:#d50000;box-shadow:none}.mdl-textfield.is-disabled .mdl-textfield__input,fieldset[disabled] .mdl-textfield .mdl-textfield__input{background-color:transparent;border-bottom:1px dotted rgba(255,255,255,.2);color:rgba(255,255,255,.6)}.mdl-textfield textarea.mdl-textfield__input{display:block}.mdl-textfield__label{bottom:0;color:rgba(0,0,0,.26);left:0;right:0;pointer-events:none;position:absolute;top:24px;overflow:hidden;white-space:nowrap}.mdl-textfield.is-dirty .mdl-textfield__label{visibility:hidden}.mdl-textfield.is-disabled.is-disabled .mdl-textfield__label,fieldset[disabled] .mdl-textfield .mdl-textfield__label{color:rgba(255,255,255,.6)}.mdl-textfield--floating-label.is-dirty .mdl-textfield__label,.mdl-textfield--floating-label.is-focused .mdl-textfield__label{color:#00bcd4;font-size:12px;top:4px;visibility:visible}.mdl-textfield--floating-label.is-invalid .mdl-textfield__label,.mdl-textfield__error{color:#d50000;font-size:12px}.mdl-textfield--floating-label.is-dirty .mdl-textfield__expandable-holder .mdl-textfield__label,.mdl-textfield--floating-label.is-focused .mdl-textfield__expandable-holder .mdl-textfield__label{top:-16px}.mdl-textfield__label:after{background-color:#00bcd4;bottom:20px;content:'';height:2px;left:45%;position:absolute;visibility:hidden;width:10px}.mdl-textfield.is-focused .mdl-textfield__label:after{left:0;visibility:visible;width:100%}.mdl-textfield.is-invalid .mdl-textfield__label:after{background-color:#d50000}.mdl-textfield__error{position:absolute;margin-top:3px;visibility:hidden;display:block}.mdl-layout__drawer header,.mdl-tooltip{color:#fff;font-weight:500;text-align:center}.mdl-textfield.is-invalid .mdl-textfield__error{visibility:visible}.mdl-textfield__expandable-holder{position:relative;margin-left:32px;display:inline-block;max-width:.1px}.mdl-textfield.is-dirty .mdl-textfield__expandable-holder,.mdl-textfield.is-focused .mdl-textfield__expandable-holder{max-width:600px}.mdl-textfield__expandable-holder .mdl-textfield__label:after{bottom:0}.mdl-tooltip{transform:scale(0);transform-origin:top center;z-index:999;background:#353535;border-radius:2px;display:inline-block;font-size:12px;line-height:14px;max-width:170px;position:fixed;top:-500px;left:-500px}.mdl-tooltip.is-active{animation:pulse .2s cubic-bezier(0,0,.2,1) forwards}.mdl-tooltip--large{line-height:14px;font-size:14px;padding:16px}@keyframes pulse{0%{transform:scale(0);opacity:0}50%{transform:scale(.99)}100%{transform:scale(1);opacity:1;visibility:visible}}.mdl-shadow--2dp{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.mdl-shadow--3dp{box-shadow:0 3px 4px 0 rgba(0,0,0,.14),0 3px 3px -2px rgba(0,0,0,.2),0 1px 8px 0 rgba(0,0,0,.12)}.mdl-shadow--4dp{box-shadow:0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.2)}.mdl-shadow--6dp{box-shadow:0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12),0 3px 5px -1px rgba(0,0,0,.2)}.mdl-shadow--8dp{box-shadow:0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.2)}.mdl-shadow--16dp{box-shadow:0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)}.mdl-shadow--24dp{box-shadow:0 9px 46px 8px rgba(0,0,0,.14),0 11px 15px -7px rgba(0,0,0,.12),0 24px 38px 3px rgba(0,0,0,.2)}.mdl-grid{display:flex;flex-flow:row wrap;margin:0 auto;align-items:stretch}.mdl-grid.mdl-grid--no-spacing{padding:0}.mdl-cell{box-sizing:border-box}.mdl-cell--top{align-self:flex-start}.mdl-cell--middle{align-self:center}.mdl-cell--bottom{align-self:flex-end}.mdl-cell--stretch{align-self:stretch}.mdl-grid.mdl-grid--no-spacing>.mdl-cell{margin:0}.mdl-cell--order-1{order:1}.mdl-cell--order-2{order:2}.mdl-cell--order-3{order:3}.mdl-cell--order-4{order:4}.mdl-cell--order-5{order:5}.mdl-cell--order-6{order:6}.mdl-cell--order-7{order:7}.mdl-cell--order-8{order:8}.mdl-cell--order-9{order:9}.mdl-cell--order-10{order:10}.mdl-cell--order-11{order:11}.mdl-cell--order-12{order:12}@media (max-width:1151px){.mdl-grid{padding:0}.mdl-cell{margin:16px;width:calc(100% - 32px)}.mdl-grid--no-spacing>.mdl-cell{width:100%}.mdl-cell--hide-phone{display:none!important}.mdl-cell--order-1-phone.mdl-cell--order-1-phone{order:1}.mdl-cell--order-2-phone.mdl-cell--order-2-phone{order:2}.mdl-cell--order-3-phone.mdl-cell--order-3-phone{order:3}.mdl-cell--order-4-phone.mdl-cell--order-4-phone{order:4}.mdl-cell--order-5-phone.mdl-cell--order-5-phone{order:5}.mdl-cell--order-6-phone.mdl-cell--order-6-phone{order:6}.mdl-cell--order-7-phone.mdl-cell--order-7-phone{order:7}.mdl-cell--order-8-phone.mdl-cell--order-8-phone{order:8}.mdl-cell--order-9-phone.mdl-cell--order-9-phone{order:9}.mdl-cell--order-10-phone.mdl-cell--order-10-phone{order:10}.mdl-cell--order-11-phone.mdl-cell--order-11-phone{order:11}.mdl-cell--order-12-phone.mdl-cell--order-12-phone{order:12}.mdl-cell--1-col,.mdl-cell--1-col-phone.mdl-cell--1-col-phone{width:calc(25% - 32px)}.mdl-grid--no-spacing>.mdl-cell--1-col,.mdl-grid--no-spacing>.mdl-cell--1-col-phone.mdl-cell--1-col-phone{width:25%}.mdl-cell--2-col,.mdl-cell--2-col-phone.mdl-cell--2-col-phone{width:calc(50% - 32px)}.mdl-grid--no-spacing>.mdl-cell--2-col,.mdl-grid--no-spacing>.mdl-cell--2-col-phone.mdl-cell--2-col-phone{width:50%}.mdl-cell--3-col,.mdl-cell--3-col-phone.mdl-cell--3-col-phone{width:calc(75% - 32px)}.mdl-grid--no-spacing>.mdl-cell--3-col,.mdl-grid--no-spacing>.mdl-cell--3-col-phone.mdl-cell--3-col-phone{width:75%}.mdl-cell--4-col,.mdl-cell--4-col-phone.mdl-cell--4-col-phone{width:calc(100% - 32px)}.mdl-grid--no-spacing>.mdl-cell--4-col,.mdl-grid--no-spacing>.mdl-cell--4-col-phone.mdl-cell--4-col-phone{width:100%}.mdl-cell--5-col,.mdl-cell--5-col-phone.mdl-cell--5-col-phone{width:calc(100% - 32px)}.mdl-grid--no-spacing>.mdl-cell--5-col,.mdl-grid--no-spacing>.mdl-cell--5-col-phone.mdl-cell--5-col-phone{width:100%}.mdl-cell--6-col,.mdl-cell--6-col-phone.mdl-cell--6-col-phone{width:calc(100% - 32px)}.mdl-grid--no-spacing>.mdl-cell--6-col,.mdl-grid--no-spacing>.mdl-cell--6-col-phone.mdl-cell--6-col-phone{width:100%}.mdl-cell--7-col,.mdl-cell--7-col-phone.mdl-cell--7-col-phone{width:calc(100% - 32px)}.mdl-grid--no-spacing>.mdl-cell--7-col,.mdl-grid--no-spacing>.mdl-cell--7-col-phone.mdl-cell--7-col-phone{width:100%}.mdl-cell--8-col,.mdl-cell--8-col-phone.mdl-cell--8-col-phone{width:calc(100% - 32px)}.mdl-grid--no-spacing>.mdl-cell--8-col,.mdl-grid--no-spacing>.mdl-cell--8-col-phone.mdl-cell--8-col-phone{width:100%}.mdl-cell--9-col,.mdl-cell--9-col-phone.mdl-cell--9-col-phone{width:calc(100% - 32px)}.mdl-grid--no-spacing>.mdl-cell--9-col,.mdl-grid--no-spacing>.mdl-cell--9-col-phone.mdl-cell--9-col-phone{width:100%}.mdl-cell--10-col,.mdl-cell--10-col-phone.mdl-cell--10-col-phone{width:calc(100% - 32px)}.mdl-grid--no-spacing>.mdl-cell--10-col,.mdl-grid--no-spacing>.mdl-cell--10-col-phone.mdl-cell--10-col-phone{width:100%}.mdl-cell--11-col,.mdl-cell--11-col-phone.mdl-cell--11-col-phone{width:calc(100% - 32px)}.mdl-grid--no-spacing>.mdl-cell--11-col,.mdl-grid--no-spacing>.mdl-cell--11-col-phone.mdl-cell--11-col-phone{width:100%}.mdl-cell--12-col,.mdl-cell--12-col-phone.mdl-cell--12-col-phone{width:calc(100% - 32px)}.mdl-grid--no-spacing>.mdl-cell--12-col,.mdl-grid--no-spacing>.mdl-cell--12-col-phone.mdl-cell--12-col-phone{width:100%}.mdl-cell--1-offset,.mdl-cell--1-offset-phone.mdl-cell--1-offset-phone{margin-left:calc(25% + 16px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--1-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--1-offset-phone.mdl-cell--1-offset-phone{margin-left:25%}.mdl-cell--2-offset,.mdl-cell--2-offset-phone.mdl-cell--2-offset-phone{margin-left:calc(50% + 16px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--2-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--2-offset-phone.mdl-cell--2-offset-phone{margin-left:50%}.mdl-cell--3-offset,.mdl-cell--3-offset-phone.mdl-cell--3-offset-phone{margin-left:calc(75% + 16px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--3-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--3-offset-phone.mdl-cell--3-offset-phone{margin-left:75%}}@media (min-width:1152px) and (max-width:1919px){.mdl-grid{padding:0}.mdl-cell{margin:16px;width:calc(33.33333% - 32px)}.mdl-grid--no-spacing>.mdl-cell{width:33.33333%}.mdl-cell--hide-tablet{display:none!important}.mdl-cell--order-1-tablet.mdl-cell--order-1-tablet{order:1}.mdl-cell--order-2-tablet.mdl-cell--order-2-tablet{order:2}.mdl-cell--order-3-tablet.mdl-cell--order-3-tablet{order:3}.mdl-cell--order-4-tablet.mdl-cell--order-4-tablet{order:4}.mdl-cell--order-5-tablet.mdl-cell--order-5-tablet{order:5}.mdl-cell--order-6-tablet.mdl-cell--order-6-tablet{order:6}.mdl-cell--order-7-tablet.mdl-cell--order-7-tablet{order:7}.mdl-cell--order-8-tablet.mdl-cell--order-8-tablet{order:8}.mdl-cell--order-9-tablet.mdl-cell--order-9-tablet{order:9}.mdl-cell--order-10-tablet.mdl-cell--order-10-tablet{order:10}.mdl-cell--order-11-tablet.mdl-cell--order-11-tablet{order:11}.mdl-cell--order-12-tablet.mdl-cell--order-12-tablet{order:12}.mdl-cell--1-col,.mdl-cell--1-col-tablet.mdl-cell--1-col-tablet{width:calc(8.33333% - 32px)}.mdl-grid--no-spacing>.mdl-cell--1-col,.mdl-grid--no-spacing>.mdl-cell--1-col-tablet.mdl-cell--1-col-tablet{width:8.33333%}.mdl-cell--2-col,.mdl-cell--2-col-tablet.mdl-cell--2-col-tablet{width:calc(16.66667% - 32px)}.mdl-grid--no-spacing>.mdl-cell--2-col,.mdl-grid--no-spacing>.mdl-cell--2-col-tablet.mdl-cell--2-col-tablet{width:16.66667%}.mdl-cell--3-col,.mdl-cell--3-col-tablet.mdl-cell--3-col-tablet{width:calc(25% - 32px)}.mdl-grid--no-spacing>.mdl-cell--3-col,.mdl-grid--no-spacing>.mdl-cell--3-col-tablet.mdl-cell--3-col-tablet{width:25%}.mdl-cell--4-col,.mdl-cell--4-col-tablet.mdl-cell--4-col-tablet{width:calc(33.33333% - 32px)}.mdl-grid--no-spacing>.mdl-cell--4-col,.mdl-grid--no-spacing>.mdl-cell--4-col-tablet.mdl-cell--4-col-tablet{width:33.33333%}.mdl-cell--5-col,.mdl-cell--5-col-tablet.mdl-cell--5-col-tablet{width:calc(41.66667% - 32px)}.mdl-grid--no-spacing>.mdl-cell--5-col,.mdl-grid--no-spacing>.mdl-cell--5-col-tablet.mdl-cell--5-col-tablet{width:41.66667%}.mdl-cell--6-col,.mdl-cell--6-col-tablet.mdl-cell--6-col-tablet{width:calc(50% - 32px)}.mdl-grid--no-spacing>.mdl-cell--6-col,.mdl-grid--no-spacing>.mdl-cell--6-col-tablet.mdl-cell--6-col-tablet{width:50%}.mdl-cell--7-col,.mdl-cell--7-col-tablet.mdl-cell--7-col-tablet{width:calc(58.33333% - 32px)}.mdl-grid--no-spacing>.mdl-cell--7-col,.mdl-grid--no-spacing>.mdl-cell--7-col-tablet.mdl-cell--7-col-tablet{width:58.33333%}.mdl-cell--8-col,.mdl-cell--8-col-tablet.mdl-cell--8-col-tablet{width:calc(66.66667% - 32px)}.mdl-grid--no-spacing>.mdl-cell--8-col,.mdl-grid--no-spacing>.mdl-cell--8-col-tablet.mdl-cell--8-col-tablet{width:66.66667%}.mdl-cell--9-col,.mdl-cell--9-col-tablet.mdl-cell--9-col-tablet{width:calc(75% - 32px)}.mdl-grid--no-spacing>.mdl-cell--9-col,.mdl-grid--no-spacing>.mdl-cell--9-col-tablet.mdl-cell--9-col-tablet{width:75%}.mdl-cell--10-col,.mdl-cell--10-col-tablet.mdl-cell--10-col-tablet{width:calc(83.33333% - 32px)}.mdl-grid--no-spacing>.mdl-cell--10-col,.mdl-grid--no-spacing>.mdl-cell--10-col-tablet.mdl-cell--10-col-tablet{width:83.33333%}.mdl-cell--11-col,.mdl-cell--11-col-tablet.mdl-cell--11-col-tablet{width:calc(91.66667% - 32px)}.mdl-grid--no-spacing>.mdl-cell--11-col,.mdl-grid--no-spacing>.mdl-cell--11-col-tablet.mdl-cell--11-col-tablet{width:91.66667%}.mdl-cell--12-col,.mdl-cell--12-col-tablet.mdl-cell--12-col-tablet{width:calc(100% - 32px)}.mdl-grid--no-spacing>.mdl-cell--12-col,.mdl-grid--no-spacing>.mdl-cell--12-col-tablet.mdl-cell--12-col-tablet{width:100%}.mdl-cell--1-offset,.mdl-cell--1-offset-tablet.mdl-cell--1-offset-tablet{margin-left:calc(8.33333% + 16px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--1-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--1-offset-tablet.mdl-cell--1-offset-tablet{margin-left:8.33333%}.mdl-cell--2-offset,.mdl-cell--2-offset-tablet.mdl-cell--2-offset-tablet{margin-left:calc(16.66667% + 16px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--2-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--2-offset-tablet.mdl-cell--2-offset-tablet{margin-left:16.66667%}.mdl-cell--3-offset,.mdl-cell--3-offset-tablet.mdl-cell--3-offset-tablet{margin-left:calc(25% + 16px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--3-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--3-offset-tablet.mdl-cell--3-offset-tablet{margin-left:25%}.mdl-cell--4-offset,.mdl-cell--4-offset-tablet.mdl-cell--4-offset-tablet{margin-left:calc(33.33333% + 16px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--4-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--4-offset-tablet.mdl-cell--4-offset-tablet{margin-left:33.33333%}.mdl-cell--5-offset,.mdl-cell--5-offset-tablet.mdl-cell--5-offset-tablet{margin-left:calc(41.66667% + 16px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--5-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--5-offset-tablet.mdl-cell--5-offset-tablet{margin-left:41.66667%}.mdl-cell--6-offset,.mdl-cell--6-offset-tablet.mdl-cell--6-offset-tablet{margin-left:calc(50% + 16px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--6-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--6-offset-tablet.mdl-cell--6-offset-tablet{margin-left:50%}.mdl-cell--7-offset,.mdl-cell--7-offset-tablet.mdl-cell--7-offset-tablet{margin-left:calc(58.33333% + 16px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--7-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--7-offset-tablet.mdl-cell--7-offset-tablet{margin-left:58.33333%}.mdl-cell--8-offset,.mdl-cell--8-offset-tablet.mdl-cell--8-offset-tablet{margin-left:calc(66.66667% + 16px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--8-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--8-offset-tablet.mdl-cell--8-offset-tablet{margin-left:66.66667%}.mdl-cell--9-offset,.mdl-cell--9-offset-tablet.mdl-cell--9-offset-tablet{margin-left:calc(75% + 16px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--9-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--9-offset-tablet.mdl-cell--9-offset-tablet{margin-left:75%}.mdl-cell--10-offset,.mdl-cell--10-offset-tablet.mdl-cell--10-offset-tablet{margin-left:calc(83.33333% + 16px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--10-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--10-offset-tablet.mdl-cell--10-offset-tablet{margin-left:83.33333%}.mdl-cell--11-offset,.mdl-cell--11-offset-tablet.mdl-cell--11-offset-tablet{margin-left:calc(91.66667% + 16px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--11-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--11-offset-tablet.mdl-cell--11-offset-tablet{margin-left:91.66667%}}@media (min-width:1920px){.mdl-grid{padding:0}.mdl-cell{margin:16px;width:calc(33.33333% - 32px)}.mdl-grid--no-spacing>.mdl-cell{width:33.33333%}.mdl-cell--hide-desktop{display:none!important}.mdl-cell--order-1-desktop.mdl-cell--order-1-desktop{order:1}.mdl-cell--order-2-desktop.mdl-cell--order-2-desktop{order:2}.mdl-cell--order-3-desktop.mdl-cell--order-3-desktop{order:3}.mdl-cell--order-4-desktop.mdl-cell--order-4-desktop{order:4}.mdl-cell--order-5-desktop.mdl-cell--order-5-desktop{order:5}.mdl-cell--order-6-desktop.mdl-cell--order-6-desktop{order:6}.mdl-cell--order-7-desktop.mdl-cell--order-7-desktop{order:7}.mdl-cell--order-8-desktop.mdl-cell--order-8-desktop{order:8}.mdl-cell--order-9-desktop.mdl-cell--order-9-desktop{order:9}.mdl-cell--order-10-desktop.mdl-cell--order-10-desktop{order:10}.mdl-cell--order-11-desktop.mdl-cell--order-11-desktop{order:11}.mdl-cell--order-12-desktop.mdl-cell--order-12-desktop{order:12}.mdl-cell--1-col,.mdl-cell--1-col-desktop.mdl-cell--1-col-desktop{width:calc(8.33333% - 32px)}.mdl-grid--no-spacing>.mdl-cell--1-col,.mdl-grid--no-spacing>.mdl-cell--1-col-desktop.mdl-cell--1-col-desktop{width:8.33333%}.mdl-cell--2-col,.mdl-cell--2-col-desktop.mdl-cell--2-col-desktop{width:calc(16.66667% - 32px)}.mdl-grid--no-spacing>.mdl-cell--2-col,.mdl-grid--no-spacing>.mdl-cell--2-col-desktop.mdl-cell--2-col-desktop{width:16.66667%}.mdl-cell--3-col,.mdl-cell--3-col-desktop.mdl-cell--3-col-desktop{width:calc(25% - 32px)}.mdl-grid--no-spacing>.mdl-cell--3-col,.mdl-grid--no-spacing>.mdl-cell--3-col-desktop.mdl-cell--3-col-desktop{width:25%}.mdl-cell--4-col,.mdl-cell--4-col-desktop.mdl-cell--4-col-desktop{width:calc(33.33333% - 32px)}.mdl-grid--no-spacing>.mdl-cell--4-col,.mdl-grid--no-spacing>.mdl-cell--4-col-desktop.mdl-cell--4-col-desktop{width:33.33333%}.mdl-cell--5-col,.mdl-cell--5-col-desktop.mdl-cell--5-col-desktop{width:calc(41.66667% - 32px)}.mdl-grid--no-spacing>.mdl-cell--5-col,.mdl-grid--no-spacing>.mdl-cell--5-col-desktop.mdl-cell--5-col-desktop{width:41.66667%}.mdl-cell--6-col,.mdl-cell--6-col-desktop.mdl-cell--6-col-desktop{width:calc(50% - 32px)}.mdl-grid--no-spacing>.mdl-cell--6-col,.mdl-grid--no-spacing>.mdl-cell--6-col-desktop.mdl-cell--6-col-desktop{width:50%}.mdl-cell--7-col,.mdl-cell--7-col-desktop.mdl-cell--7-col-desktop{width:calc(58.33333% - 32px)}.mdl-grid--no-spacing>.mdl-cell--7-col,.mdl-grid--no-spacing>.mdl-cell--7-col-desktop.mdl-cell--7-col-desktop{width:58.33333%}.mdl-cell--8-col,.mdl-cell--8-col-desktop.mdl-cell--8-col-desktop{width:calc(66.66667% - 32px)}.mdl-grid--no-spacing>.mdl-cell--8-col,.mdl-grid--no-spacing>.mdl-cell--8-col-desktop.mdl-cell--8-col-desktop{width:66.66667%}.mdl-cell--9-col,.mdl-cell--9-col-desktop.mdl-cell--9-col-desktop{width:calc(75% - 32px)}.mdl-grid--no-spacing>.mdl-cell--9-col,.mdl-grid--no-spacing>.mdl-cell--9-col-desktop.mdl-cell--9-col-desktop{width:75%}.mdl-cell--10-col,.mdl-cell--10-col-desktop.mdl-cell--10-col-desktop{width:calc(83.33333% - 32px)}.mdl-grid--no-spacing>.mdl-cell--10-col,.mdl-grid--no-spacing>.mdl-cell--10-col-desktop.mdl-cell--10-col-desktop{width:83.33333%}.mdl-cell--11-col,.mdl-cell--11-col-desktop.mdl-cell--11-col-desktop{width:calc(91.66667% - 32px)}.mdl-grid--no-spacing>.mdl-cell--11-col,.mdl-grid--no-spacing>.mdl-cell--11-col-desktop.mdl-cell--11-col-desktop{width:91.66667%}.mdl-cell--12-col,.mdl-cell--12-col-desktop.mdl-cell--12-col-desktop{width:calc(100% - 32px)}.mdl-grid--no-spacing>.mdl-cell--12-col,.mdl-grid--no-spacing>.mdl-cell--12-col-desktop.mdl-cell--12-col-desktop{width:100%}.mdl-cell--1-offset,.mdl-cell--1-offset-desktop.mdl-cell--1-offset-desktop{margin-left:calc(8.33333% + 16px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--1-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--1-offset-desktop.mdl-cell--1-offset-desktop{margin-left:8.33333%}.mdl-cell--2-offset,.mdl-cell--2-offset-desktop.mdl-cell--2-offset-desktop{margin-left:calc(16.66667% + 16px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--2-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--2-offset-desktop.mdl-cell--2-offset-desktop{margin-left:16.66667%}.mdl-cell--3-offset,.mdl-cell--3-offset-desktop.mdl-cell--3-offset-desktop{margin-left:calc(25% + 16px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--3-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--3-offset-desktop.mdl-cell--3-offset-desktop{margin-left:25%}.mdl-cell--4-offset,.mdl-cell--4-offset-desktop.mdl-cell--4-offset-desktop{margin-left:calc(33.33333% + 16px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--4-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--4-offset-desktop.mdl-cell--4-offset-desktop{margin-left:33.33333%}.mdl-cell--5-offset,.mdl-cell--5-offset-desktop.mdl-cell--5-offset-desktop{margin-left:calc(41.66667% + 16px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--5-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--5-offset-desktop.mdl-cell--5-offset-desktop{margin-left:41.66667%}.mdl-cell--6-offset,.mdl-cell--6-offset-desktop.mdl-cell--6-offset-desktop{margin-left:calc(50% + 16px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--6-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--6-offset-desktop.mdl-cell--6-offset-desktop{margin-left:50%}.mdl-cell--7-offset,.mdl-cell--7-offset-desktop.mdl-cell--7-offset-desktop{margin-left:calc(58.33333% + 16px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--7-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--7-offset-desktop.mdl-cell--7-offset-desktop{margin-left:58.33333%}.mdl-cell--8-offset,.mdl-cell--8-offset-desktop.mdl-cell--8-offset-desktop{margin-left:calc(66.66667% + 16px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--8-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--8-offset-desktop.mdl-cell--8-offset-desktop{margin-left:66.66667%}.mdl-cell--9-offset,.mdl-cell--9-offset-desktop.mdl-cell--9-offset-desktop{margin-left:calc(75% + 16px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--9-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--9-offset-desktop.mdl-cell--9-offset-desktop{margin-left:75%}.mdl-cell--10-offset,.mdl-cell--10-offset-desktop.mdl-cell--10-offset-desktop{margin-left:calc(83.33333% + 16px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--10-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--10-offset-desktop.mdl-cell--10-offset-desktop{margin-left:83.33333%}.mdl-cell--11-offset,.mdl-cell--11-offset-desktop.mdl-cell--11-offset-desktop{margin-left:calc(91.66667% + 16px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--11-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--11-offset-desktop.mdl-cell--11-offset-desktop{margin-left:91.66667%}}.mdl-layout{background:#202020}main{background:url(../images/Dark_background_1920x1080.png) center top no-repeat;background-size:cover;margin-right:-18px}.mdl-layout__header{width:100%!important;margin-left:0!important}.mdl-layout__drawer{border:none}.mdl-layout__drawer header{text-transform:uppercase;height:64px;line-height:64px;background:rgba(0,0,0,.85);font-size:25px;letter-spacing:1px}.mdl-layout__header-row .avatar-dropdown:hover,.mdl-layout__header-row .material-icons.mdl-badge:hover,.mdl-layout__header-row .mdl-button--icon:hover{background:rgba(0,0,0,.3)}.mdl-layout__drawer .mdl-navigation{flex-grow:1;padding-top:48px;padding-bottom:8px}.mdl-layout__drawer .mdl-navigation .mdl-layout-spacer{border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:8px}.mdl-layout__drawer .mdl-navigation .mdl-navigation__link{font-size:13px;font-weight:500;padding:12px 0;position:relative}.mdl-layout__drawer .mdl-navigation .mdl-navigation__link .material-icons{font-size:22px;width:22px;margin:-3px 25px 0 23px;color:rgba(255,255,255,.56)}.mdl-layout__drawer .mdl-navigation .mdl-navigation__link--current{border-left:2px solid #00bcd4}.mdl-layout__drawer .mdl-navigation .mdl-navigation__link--current .material-icons,.mdl-layout__drawer .mdl-navigation .mdl-navigation__link:hover,.mdl-layout__drawer .mdl-navigation .mdl-navigation__link:hover .material-icons{color:#00bcd4}.mdl-layout__header-row{color:rgba(255,255,255,.8)}.mdl-layout__header-row .avatar-dropdown{cursor:pointer;margin:0 10px;padding:0 20px;line-height:64px}.mdl-layout__header-row .avatar-dropdown>img{width:32px;height:32px}.mdl-layout__header-row .avatar-dropdown>span{color:rgba(255,255,255,.5);padding-right:16px}.mdl-layout__header-row .mdl-textfield{padding:23px 0}.mdl-layout__header-row .material-icons.mdl-badge{margin:10px;cursor:pointer;overflow:visible;text-align:center;height:24px;width:24px;min-width:0;padding:4px}.mdl-layout__header-row .material-icons.mdl-badge.mdl-badge--overlap:after{top:-3px;right:-8px}@media screen and (max-width:1440px){.mdl-layout--fixed-drawer main{margin-right:0}.mdl-layout--fixed-drawer>.mdl-layout__content{margin-left:0}.mdl-layout--fixed-drawer>.mdl-layout__drawer{transform:translateX(-246px)}.mdl-layout--fixed-drawer>.mdl-layout__drawer.is-visible{transform:translateX(0)!important}.mdl-layout--fixed-drawer>.mdl-layout__drawer header{height:56px;line-height:56px}.mdl-layout__header-row .avatar-dropdown{line-height:56px}}@media screen and (max-width:799px){.mdl-grid>.mdl-grid .mdl-cell{width:100%!important}.mdl-layout__header-row .message,.mdl-layout__header-row .notification{display:none}}.mdl-card__title{background-color:rgba(0,0,0,.3)}.mdl-card__supporting-text{width:calc(100% - 32px)}.mdl-card__actions{background-color:rgba(255,255,255,.05)}.mdl-menu{width:310px}.mdl-menu .mdl-menu__item.mdl-list__item{display:flex}.mdl-menu__outline{box-shadow:0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.2)}.mdl-checkbox__tick-outline{-webkit-mask:url(../images/tick-mask.svg)}.mdl-button{font-weight:400;padding-top:1px}.mdl-button.mdl-button--mini-icon .mdl-button--colored{color:#ff5252}.mdl-button.mdl-button--mini-icon .material-icons{top:50%!important;left:50%!important;font-size:20px}.mdl-card__actions .mdl-button--fab{position:absolute;right:24px;bottom:24px;z-index:99}a{font-size:16px;font-weight:300;color:#00bcd4;text-decoration:none}.label,.mdl-data-table{color:#fff;font-weight:300;font-family:Roboto,Helvetica,Arial,sans-serif}.mdl-textfield{width:auto}.mdl-textfield .mdl-textfield__input{font-family:Roboto,Helvetica,Arial,sans-serif}.mdl-progress{min-width:100px;width:auto}.mdl-progress>.bufferbar{background-image:none;background-color:rgba(255,255,255,.4)}.mdl-data-table{background-color:#4e4e4e;border:none}.mdl-data-table tr:last-child td{border:none}.mdl-data-table td:first-of-type,.mdl-data-table th:first-of-type{padding-left:16px}.mdl-data-table td:last-of-type,.mdl-data-table th:last-of-type{padding-right:16px}.mdl-data-table tr:hover{background-clip:padding-box}.label{background-color:rgba(255,255,255,.1);border-radius:2px;height:12px;padding:5px 8px;margin:0 0 0 auto;font-size:12px;line-height:1em}.mdl-list,.trending .mdl-list__item .mdl-list__item-secondary-content{margin:0}.label--mini{padding:3px 8px 2px;cursor:pointer}.messages-dropdown .mdl-list__item-primary-content .mdl-list__item-avatar .material-icons,.notifications-dropdown.mdl-list .mdl-list__item .mdl-list__item-avatar .material-icons{vertical-align:top}.label--transparent{background-color:transparent;padding:0}.projects-table{width:100%}.projects-table tbody td:nth-child(1){width:1px}.projects-table tbody td:nth-child(2){width:300px}.projects-table tbody td:nth-child(3){width:240px}.projects-table tbody td:nth-child(4){width:300px}.projects-table tbody td:nth-child(5){width:200px}.projects-table tbody td:nth-child(6){width:300px}.projects-table tbody td:nth-child(6) .mdl-progress{cursor:pointer;min-width:80px;max-width:200px}.projects-table tbody .task-done{padding-top:6px!important;padding-bottom:0!important;color:#ff5252}.projects-table tbody .task-done .material-icons{cursor:pointer}@media screen and (max-width:848px){.projects-table{display:none}}.mdl-tooltip{padding:5px 8px;border:none}.notifications-dropdown.mdl-list .mdl-list__item{font-family:Roboto,Helvetica,Arial,sans-serif;font-size:14px;font-weight:100;color:#fff}.notifications-dropdown.mdl-list .mdl-list__item:first-child{color:rgba(255,255,255,.8)}.notifications-dropdown.mdl-list .mdl-list__item .mdl-list__item-avatar{padding:4px;text-align:center}.notifications-dropdown.mdl-list .mdl-list__item:last-child{padding-top:8px;padding-bottom:0}.trending .mdl-card__supporting-text{width:100%;padding:8px 0}.trending .mdl-list__item:hover{background-color:rgba(0,0,0,.2)}.trending .material-icons{line-height:.33333;font-size:48px}.trending__arrow-up{color:#00bcd4}.trending__arrow-down{color:#ff5252}.trending__percent{text-align:right;width:40px}.messages-dropdown .label{color:rgba(255,255,255,.5)}.messages-dropdown .mdl-list__item-primary-content{font-weight:400;line-height:18px}.messages-dropdown .mdl-list__item-primary-content .mdl-list__item-avatar{padding:4px;text-align:center}.messages-dropdown .mdl-list__item-primary-content .mdl-list__item-avatar text{font-size:19px;vertical-align:middle}.messages-dropdown .mdl-list__item-primary-content .mdl-list__item-sub-title{font-weight:100;font-size:12px}.messages-dropdown.mdl-list .mdl-list__item{font-family:Roboto,Helvetica,Arial,sans-serif;font-size:14px;font-weight:100;color:#fff}.messages-dropdown.mdl-list .mdl-list__item:first-child{color:rgba(255,255,255,.8)}.messages-dropdown.mdl-list .mdl-list__item:last-child{padding-top:8px;padding-bottom:0}.mdl-list .mdl-list__item{font-family:Roboto,Helvetica,Arial,sans-serif;font-size:16px;font-weight:300;color:#fff;letter-spacing:0}.mdl-list .list__item--border-top{background-clip:padding-box;border-top:1px solid rgba(255,255,255,.1)}.todo .mdl-card__supporting-text{width:100%;padding:0;min-height:70px}.todo .mdl-card__supporting-text .mdl-list__item{align-items:flex-start;padding-bottom:0}.todo .mdl-card__supporting-text .mdl-list__item .mdl-list__item-primary-content{max-width:100%;word-wrap:break-word}.todo .mdl-card__supporting-text .mdl-list__item .material-icons{visibility:hidden}.todo .mdl-card__supporting-text .mdl-list__item:hover .material-icons{visibility:visible}.todo .mdl-card__supporting-text .mdl-checkbox{height:auto;padding-left:36px}.todo .mdl-card__supporting-text .mdl-textfield{width:100%;padding:0}.todo .mdl-card__supporting-text .mdl-textfield__input{padding:2px 0}.todo .mdl-card__supporting-text .mdl-textfield__label{color:rgba(255,255,255,.2);top:0}.todo .mdl-card__supporting-text .mdl-textfield__label:after{background-color:rgba(255,255,255,.7);bottom:0}.todo .mdl-card__actions{margin-top:20px}.pie-chart__container{display:flex;flex-wrap:wrap;justify-content:space-around;align-items:center;min-height:228px}.pie-chart__container svg{min-height:200px;max-width:180px}.pie-chart__container svg .nvd3.nv-pie path{fill-opacity:1;stroke-width:0}.pie-chart__container svg .nvd3.nv-pie .nv-pie-title{font-family:Roboto,Helvetica,Arial,sans-serif;fill:#fff;font-weight:300;font-size:22px!important}.pie-chart__container .legend{max-width:140px}.line-chart__container{min-height:280px}.line-chart__container svg{height:280px;width:100%}.line-chart__container svg .x-axis-label,.line-chart__container svg .y-axis-label{font-family:Roboto,Helvetica,Arial,sans-serif;font-size:12px;font-weight:300;fill:rgba(255,255,255,.5)}.line-chart__container svg .nv-lineChart .nv-guideline{stroke:rgba(255,255,255,.5);stroke-width:.5px}.line-chart__container svg .nv-lineChart .tick{opacity:.1!important}.line-chart__container svg .nv-lineChart .tick.zero{opacity:.5!important}.line-chart__container svg .nv-lineChart .tick.zero line{stroke-opacity:1!important}.line-chart__container svg .nv-lineChart .nv-y .domain{stroke-opacity:0!important}.line-chart__container svg .nv-lineChart .nvd3.nv-scatter .nv-groups .nv-point.hover{stroke-width:5px}.line-chart__container .legend{margin:16px auto auto;display:flex;flex-wrap:wrap;justify-content:center}.legend .legend__item{font-family:Roboto,Helvetica,Arial,sans-serif;font-weight:300;font-size:16px;color:#fff;margin:8px 18px;display:inline-block}.legend .legend__item .legend__text{margin-left:24px}.legend .legend__item .legend__mark{width:8px;height:8px;margin-top:4px}.account-dropdown .mdl-list__item{font-size:14px}.account-dropdown .mdl-list__item:first-child{font-size:16px;padding-top:8px;padding-bottom:8px;height:64px}.account-dropdown .mdl-list__item:first-child .mdl-list__item-primary-content{height:48px;line-height:28px}.account-dropdown .mdl-list__item:first-child .mdl-list__item-primary-content .mdl-list__item-avatar{height:48px;width:48px;background:url(../images/Icon.png);background-size:cover}.account-dropdown .mdl-list__item:first-child .mdl-list__item-primary-content .mdl-list__item-sub-title{font-weight:300}.account-dropdown .mdl-list__item:hover .mdl-list__item-icon{color:#00bcd4}.cotoneaster .mdl-card__title .mdl-card__title-text,.robot .mdl-card__title .mdl-card__title-text{color:#fff}.account-dropdown .list__item--border-top{margin-top:8px;padding-top:8px}.settings-dropdown{width:135px}.settings-dropdown .mdl-menu__item,.settings-dropdown a{font-family:Roboto,Helvetica,Arial,sans-serif;font-size:14px;font-weight:100;color:#fff}.cotoneaster .mdl-card__supporting-text,.robot .mdl-card__supporting-text{font-size:16px;padding-bottom:26px}.cotoneaster .mdl-card__supporting-text,.robot .mdl-card__supporting-text,.weather .mdl-card__supporting-text .weather-description,.weather .mdl-card__title .mdl-card__subtitle-text{font-weight:300;font-family:Roboto,Helvetica,Arial,sans-serif}.robot{height:450px}.robot .mdl-card__title{background:url(../images/robot.png) center center no-repeat;background-size:cover}.cotoneaster{height:430px}.cotoneaster .mdl-card__title{background:url(../images/cotoneaster.jpg) center center no-repeat;background-size:cover}@media screen and (max-width:1151px){.cotoneaster{height:329px}}.weather{height:329px}.weather .mdl-card__supporting-text{color:rgba(255,255,255,.8);background:url(../images/weather_bck.png) center center no-repeat;background-size:cover;text-align:right;padding-top:38px;text-shadow:4px 4px 4px rgba(0,0,0,.4)}.weather .mdl-card__supporting-text .weather-temperature{font-family:Roboto,Helvetica,Arial,sans-serif;font-size:100px;line-height:1;color:rgba(255,255,255,.9)}.weather .mdl-card__supporting-text .weather-temperature sup{position:relative;top:13px}.weather .mdl-card__supporting-text .weather-description{font-size:18px;position:relative}.weather .mdl-card__supporting-text .weather-description:before{width:35px;position:absolute;right:150px;content:url(../images/cloudy_and_snow.svg)}.weather .mdl-card__title .mdl-card__subtitle-text{font-size:16px}.weather .mdl-card__title .mdl-card__subtitle-text .material-icons{font-size:16px;top:2px;position:relative}.employer-form{padding:0;width:670px;background-color:#4e4e4e;margin:16px auto}.employer-form .mdl-radio{width:20%;margin-top:22px;margin-bottom:22px;color:#fff}.employer-form .mdl-radio span:first-of-type{margin-left:10px}.employer-form .form__article>span{float:left;width:100%;color:rgba(255,255,255,.6);font-weight:200}.employer-form .mdl-card__title{background-color:"255,64,129";height:66px;width:100%;display:block;font-family:Roboto,Helvetica,Arial,sans-serif;padding:16px 15px 0}.employer-form .mdl-card__title h2:first-of-type{font-size:24px;font-weight:400;color:rgba(255,255,255,.8);line-height:1.2em;margin-top:0;margin-bottom:0}.employer-form .mdl-card__title .mdl-card__subtitle{font-size:13px;font-weight:300;color:rgba(255,255,255,.2);line-height:1.2em}.employer-form button.mdl-button.mdl-button--colored{width:68px;height:32px;font-family:Roboto,Helvetica,Arial,sans-serif;font-size:13px;line-height:13px;font-weight:400;color:#fff;background-color:#00bcd4}.employer-form label,.employer-form__general_skills .mdl-textfield label{color:rgba(255,255,255,.6)}.employer-form button.mdl-button.mdl-button--colored:disabled{background-color:gray;color:rgba(255,255,255,.6)}.employer-form label{font-size:15px}.employer-form .form__action .mdl-checkbox .mdl-ripple{background:#00bcd4}.employer-form .form__action .mdl-checkbox.is-checked .mdl-checkbox__box-outline{border-color:#00bcd4}.employer-form .form__action .mdl-checkbox.is-checked .mdl-checkbox__box-outline .mdl-checkbox__tick-outline{background-color:#00bcd4;background-image:url(../images/tick_dark.svg?embed)}.map .map__target-image,.map .map__window{background:rgba(0,0,0,.3)}.employer-form__general_skills{margin-top:24px}.employer-form__general_skills div{width:100%}.employer-form__general_skills h3{margin-bottom:0;margin-top:0}.employer-form__general_skills .mdl-textfield--floating-label.is-focused .mdl-textfield__label{color:#00bcd4}.employer-form__general_skills textarea{height:90px}.employer-form__contacts h3{margin-bottom:40px}.employer-form__contacts div .mdl-textfield.getmdl-select .mdl-textfield__input{color:rgba(255,255,255,.6)}.employer-form__contacts div .mdl-textfield{padding-top:0}.employer-form__contacts div .mdl-textfield label{top:4px;font-weight:300}.employer-form__contacts div i{color:#fff}.form .mdl-grid{padding:0}.form .mdl-cell{margin:0;padding-right:30px}.form .mdl-cell.mdl-textfield.is-focused .mdl-textfield__label:after{width:calc(100% - 30px)}.form .mdl-cell:last-of-type{padding-right:0}.form .mdl-cell:last-of-type.mdl-textfield.is-focused .mdl-textfield__label:after{width:100%}.form .mdl-cell--1-col{width:calc(100% * 1 / 12)}.form .mdl-cell--2-col{width:calc(100% * 2 / 12)}.form .mdl-cell--3-col{width:calc(100% * 3 / 12)}.form .mdl-cell--4-col{width:calc(100% * 4 / 12)}.form .mdl-cell--5-col{width:calc(100% * 5 / 12)}.form .mdl-cell--6-col{width:calc(100% * 6 / 12)}.form .mdl-cell--7-col{width:calc(100% * 7 / 12)}.form .mdl-cell--8-col{width:calc(100% * 8 / 12)}.form .mdl-cell--9-col{width:calc(100% * 9 / 12)}.form .mdl-cell--10-col{width:calc(100% * 10 / 12)}.form .mdl-cell--11-col{width:calc(100% * 11 / 12)}.form .mdl-cell--12-col{width:100%}.form__article h3{font-family:Roboto,Helvetica,Arial,sans-serif;font-size:20px;font-weight:300;color:rgba(255,255,255,.6);margin-top:4px;margin-bottom:20px}.form__action{display:flex;align-items:center;justify-content:space-between;margin-top:60px}.input-group label,.input-group>i{margin-top:4px}.form__action .mdl-checkbox{width:auto}.form__action .mdl-checkbox .mdl-checkbox__label{margin-left:10px;font-family:Roboto,Helvetica,Arial,sans-serif;color:#fff;font-size:16px;font-weight:300}.form__action .mdl-button{padding:0}.input-group>i{margin-right:15px;margin-left:5px;font-size:20px}.input-group img{margin-top:4px;margin-left:5px;margin-right:16px;height:18px;width:18px;float:left}.input-group .mdl-textfield{width:calc(100% - 40.5px)}.map{min-height:630px;position:relative}.map .map__window .gm-style>.gm-style-cc,.map .map__window .gm-style>.gmnoprint:not(.gm-bundled-control),.map .map__window .gm-style>div:nth-of-type(2){display:none}.map .mdl-card__supporting-text{min-height:185px}.map h5{margin-top:0}.map div>a{font-size:14px}.map .map__target-location,.map .map__target-opening-hours{margin-bottom:10px}.map .map__target-location>*,.map .map__target-opening-hours>*{vertical-align:middle}.map .map__target-location .material-icons,.map .map__target-opening-hours .material-icons{color:#00bcd4;margin-top:-2px;margin-right:5px;font-size:20px}.map .map__target-image{border-radius:50%;width:170px;height:170px;margin:0 10px 5px 15px}.map .map__target-picture{height:100%;background:url(../images/map_target_images_sprite.png) top left no-repeat;background-size:cover}.map .map__target-info,.map .map__target-picture{opacity:1;transition:opacity .2s}.map .map__target-info--hide,.map .map__target-picture--hide{opacity:0}.pull-right{float:right}.pull-left{float:left}.background-color--primary{background-color:rgba(0,188,212,.9)}.background-color--secondary{background-color:rgba(255,82,82,.9)}.background-color--baby-blue{background-color:rgba(116,199,209,.9)}.background-color--cerulean{background-color:rgba(80,150,215,.9)}.background-color--mint{background-color:rgba(96,196,150,.9)}.text-color--primary{color:rgba(0,188,212,.8)!important}.text-color--secondary{color:rgba(255,82,82,.8)!important}.text-color--baby-blue{color:rgba(116,199,209,.8)!important}.text-color--cerulean{color:rgba(80,150,215,.8)!important}.text-color--mint{color:rgba(96,196,150,.8)!important}.getmdl-select .mdl-icon-toggle__label{color:#fff}.getmdl-select.is-focused i.material-icons{color:#00bcd4}.getmdl-select .mdl-menu__container{margin-top:-45px!important}.getmdl-select .mdl-menu__container .mdl-menu__outline{box-shadow:0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.2)}.getmdl-select .mdl-menu .mdl-menu__item,.mdl-textfield input,.mdl-textfield textarea{font-family:Roboto,Helvetica,Arial,sans-serif;color:#fff;font-size:16px;font-weight:300}.mdl-textfield.is-focused.getmdl-select input,.mdl-textfield.is-focused.getmdl-select textarea{font-weight:300}.mdl-textfield.is-focused input,.mdl-textfield.is-focused textarea{font-weight:400}.mdl-textfield.is-disabled input{border-bottom-width:2px!important} \ No newline at end of file diff --git a/css/lib/getmdl-select.min.css b/css/lib/getmdl-select.min.css deleted file mode 100644 index b1c2409..0000000 --- a/css/lib/getmdl-select.min.css +++ /dev/null @@ -1,3 +0,0 @@ -.getmdl-select .mdl-icon-toggle__label{float:right;margin-top:-30px;color:rgba(0,0,0,0.4)}.getmdl-select.is-focused .mdl-icon-toggle__label{color:#3f51b5}.getmdl-select .mdl-menu__container{width:100% !important}.getmdl-select .mdl-menu__container .mdl-menu{width:100%} - -/*# sourceMappingURL=getmdl-select.min.css.map */ diff --git a/css/lib/nv.d3.min.css b/css/lib/nv.d3.min.css deleted file mode 100644 index 459ef9a..0000000 --- a/css/lib/nv.d3.min.css +++ /dev/null @@ -1,2 +0,0 @@ -.nvd3 .nv-axis line,.nvd3 .nv-axis path{fill:none;shape-rendering:crispEdges}.nv-brush .extent,.nvd3 .background path,.nvd3 .nv-axis line,.nvd3 .nv-axis path{shape-rendering:crispEdges}.nv-distx,.nv-disty,.nv-noninteractive,.nvd3 .nv-axis,.nvd3.nv-pie .nv-label,.nvd3.nv-sparklineplus g.nv-hoverValue{pointer-events:none}.nvtooltip,svg.nvd3-svg{display:block;-webkit-touch-callout:none;-khtml-user-select:none}.nvd3 .nv-axis{opacity:1}.nvd3 .nv-axis.nv-disabled,.nvd3 .nv-controlsWrap .nv-legend .nv-check-box .nv-check{opacity:0}.nvd3 .nv-axis path{stroke:#000;stroke-opacity:.75}.nvd3 .nv-axis path.domain{stroke-opacity:.75}.nvd3 .nv-axis.nv-x path.domain{stroke-opacity:0}.nvd3 .nv-axis line{stroke:#e5e5e5}.nvd3 .nv-axis .zero line, .nvd3 .nv-axis line.zero{stroke-opacity:.75}.nvd3 .nv-axis .nv-axisMaxMin text{font-weight:700}.nvd3 .x .nv-axis .nv-axisMaxMin text,.nvd3 .x2 .nv-axis .nv-axisMaxMin text,.nvd3 .x3 .nv-axis .nv-axisMaxMin text{text-anchor:middle}.nvd3 .nv-bars rect{fill-opacity:.75;transition:fill-opacity 250ms linear;-moz-transition:fill-opacity 250ms linear;-webkit-transition:fill-opacity 250ms linear}.nvd3 .nv-bars rect.hover{fill-opacity:1}.nvd3 .nv-bars .hover rect{fill:#add8e6}.nvd3 .nv-bars text{fill:transparent}.nvd3 .nv-bars .hover text{fill:rgba(0,0,0,1)}.nvd3 .nv-discretebar .nv-groups rect,.nvd3 .nv-multibar .nv-groups rect,.nvd3 .nv-multibarHorizontal .nv-groups rect{stroke-opacity:0;transition:fill-opacity 250ms linear;-moz-transition:fill-opacity 250ms linear;-webkit-transition:fill-opacity 250ms linear}.nvd3 .nv-candlestickBar .nv-ticks rect:hover,.nvd3 .nv-discretebar .nv-groups rect:hover,.nvd3 .nv-multibar .nv-groups rect:hover,.nvd3 .nv-multibarHorizontal .nv-groups rect:hover{fill-opacity:1}.nvd3 .nv-discretebar .nv-groups text,.nvd3 .nv-multibarHorizontal .nv-groups text{font-weight:700;fill:rgba(0,0,0,1);stroke:transparent}.nvd3 .nv-boxplot circle{fill-opacity:.5}.nvd3 .nv-boxplot circle:hover,.nvd3 .nv-boxplot rect:hover{fill-opacity:1}.nvd3 line.nv-boxplot-median{stroke:#000}.nv-boxplot-tick:hover{stroke-width:2.5px}.nvd3.nv-bullet{font:10px sans-serif}.nvd3.nv-bullet .nv-measure{fill-opacity:.8}.nvd3.nv-bullet .nv-measure:hover{fill-opacity:1}.nvd3.nv-bullet .nv-marker{stroke:#000;stroke-width:2px}.nvd3.nv-bullet .nv-markerTriangle{stroke:#000;fill:#fff;stroke-width:1.5px}.nvd3.nv-bullet .nv-tick line{stroke:#666;stroke-width:.5px}.nvd3.nv-bullet .nv-range.nv-s0{fill:#eee}.nvd3.nv-bullet .nv-range.nv-s1{fill:#ddd}.nvd3.nv-bullet .nv-range.nv-s2{fill:#ccc}.nvd3.nv-bullet .nv-title{font-size:14px;font-weight:700}.nvd3.nv-bullet .nv-subtitle{fill:#999}.nvd3.nv-bullet .nv-range{fill:#bababa;fill-opacity:.4}.nvd3.nv-bullet .nv-range:hover{fill-opacity:.7}.nvd3.nv-candlestickBar .nv-ticks .nv-tick{stroke-width:1px}.nvd3.nv-candlestickBar .nv-ticks .nv-tick.hover{stroke-width:2px}.nvd3.nv-candlestickBar .nv-ticks .nv-tick.positive rect{stroke:#2ca02c;fill:#2ca02c}.nvd3.nv-candlestickBar .nv-ticks .nv-tick.negative rect{stroke:#d62728;fill:#d62728}.with-transitions .nv-candlestickBar .nv-ticks .nv-tick{transition:stroke-width 250ms linear,stroke-opacity 250ms linear;-moz-transition:stroke-width 250ms linear,stroke-opacity 250ms linear;-webkit-transition:stroke-width 250ms linear,stroke-opacity 250ms linear}.nvd3.nv-candlestickBar .nv-ticks line{stroke:#333}.nvd3 .nv-check-box .nv-box{fill-opacity:0;stroke-width:2}.nvd3 .nv-check-box .nv-check{fill-opacity:0;stroke-width:4}.nvd3 .nv-series.nv-disabled .nv-check-box .nv-check{fill-opacity:0;stroke-opacity:0}.nvd3.nv-linePlusBar .nv-bar rect{fill-opacity:.75}.nvd3.nv-linePlusBar .nv-bar rect:hover{fill-opacity:1}.nvd3 .nv-groups path.nv-line{fill:none}.nvd3 .nv-groups path.nv-area{stroke:none}.nvd3.nv-line .nvd3.nv-scatter .nv-groups .nv-point{fill-opacity:0;stroke-opacity:0}.nvd3.nv-scatter.nv-single-point .nv-groups .nv-point{fill-opacity:.5!important;stroke-opacity:.5!important}.with-transitions .nvd3 .nv-groups .nv-point{transition:stroke-width 250ms linear,stroke-opacity 250ms linear;-moz-transition:stroke-width 250ms linear,stroke-opacity 250ms linear;-webkit-transition:stroke-width 250ms linear,stroke-opacity 250ms linear}.nvd3 .nv-groups .nv-point.hover,.nvd3.nv-scatter .nv-groups .nv-point.hover{stroke-width:7px;fill-opacity:.95!important;stroke-opacity:.95!important}.nvd3 .nv-point-paths path{stroke:#aaa;stroke-opacity:0;fill:#eee;fill-opacity:0}.nvd3 .nv-indexLine{cursor:ew-resize}svg.nvd3-svg{-webkit-user-select:none;-ms-user-select:none;-moz-user-select:none;user-select:none;width:100%;height:100%}.nvtooltip.with-3d-shadow,.with-3d-shadow .nvtooltip{-moz-box-shadow:0 5px 10px rgba(0,0,0,.2);-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.nvd3 text{font:400 12px Arial}.nvd3 .title{font:700 14px Arial}.nvd3 .nv-background{fill:#fff;fill-opacity:0}.nvd3.nv-noData{font-size:18px;font-weight:700}.nv-brush .extent{fill-opacity:.125}.nv-brush .resize path{fill:#eee;stroke:#666}.nvd3 .nv-legend .nv-series{cursor:pointer}.nvd3 .nv-legend .nv-disabled circle{fill-opacity:0}.nvd3 .nv-brush .extent{fill-opacity:0!important}.nvd3 .nv-brushBackground rect{stroke:#000;stroke-width:.4;fill:#fff;fill-opacity:.7}.nvd3.nv-ohlcBar .nv-ticks .nv-tick{stroke-width:1px}.nvd3.nv-ohlcBar .nv-ticks .nv-tick.hover{stroke-width:2px}.nvd3.nv-ohlcBar .nv-ticks .nv-tick.positive{stroke:#2ca02c}.nvd3.nv-ohlcBar .nv-ticks .nv-tick.negative{stroke:#d62728}.nvd3 .background path{fill:none;stroke:#EEE;stroke-opacity:.4}.nvd3 .foreground path{fill:none;stroke-opacity:.7}.nvd3 .nv-parallelCoordinates-brush .extent{fill:#fff;fill-opacity:.6;stroke:gray;shape-rendering:crispEdges}.nvd3 .nv-parallelCoordinates .hover{fill-opacity:1;stroke-width:3px}.nvd3 .missingValuesline line{fill:none;stroke:#000;stroke-width:1;stroke-opacity:1;stroke-dasharray:5,5}.nvd3.nv-pie .nv-pie-title{font-size:24px;fill:rgba(19,196,249,.59)}.nvd3.nv-pie .nv-slice text{stroke:#000;stroke-width:0}.nvd3.nv-pie path{transition:fill-opacity 250ms linear,stroke-width 250ms linear,stroke-opacity 250ms linear;-moz-transition:fill-opacity 250ms linear,stroke-width 250ms linear,stroke-opacity 250ms linear;-webkit-transition:fill-opacity 250ms linear,stroke-width 250ms linear,stroke-opacity 250ms linear;stroke:#fff;stroke-width:1px;stroke-opacity:1;fill-opacity:.7}.nvd3.nv-pie .hover path{fill-opacity:1}.nvd3.nv-pie .nv-label rect{fill-opacity:0;stroke-opacity:0}.nvd3 .nv-groups .nv-point.hover{stroke-width:20px;stroke-opacity:.5}.nvd3 .nv-scatter .nv-point.hover{fill-opacity:1}.nvd3.nv-sparkline path{fill:none}.nvd3.nv-sparklineplus .nv-hoverValue line{stroke:#333;stroke-width:1.5px}.nvd3.nv-sparklineplus,.nvd3.nv-sparklineplus g{pointer-events:all}.nvd3 .nv-interactiveGuideLine,.nvtooltip{pointer-events:none}.nvd3 .nv-hoverArea{fill-opacity:0;stroke-opacity:0}.nvd3.nv-sparklineplus .nv-xValue,.nvd3.nv-sparklineplus .nv-yValue{stroke-width:0;font-size:.9em;font-weight:400}.nvd3.nv-sparklineplus .nv-yValue{stroke:#f66}.nvd3.nv-sparklineplus .nv-maxValue{stroke:#2ca02c;fill:#2ca02c}.nvd3.nv-sparklineplus .nv-minValue{stroke:#d62728;fill:#d62728}.nvd3.nv-sparklineplus .nv-currentValue{font-weight:700;font-size:1.1em}.nvtooltip h3,.nvtooltip table td.key{font-weight:400}.nvd3.nv-stackedarea path.nv-area{fill-opacity:.7;stroke-opacity:0;transition:fill-opacity 250ms linear,stroke-opacity 250ms linear;-moz-transition:fill-opacity 250ms linear,stroke-opacity 250ms linear;-webkit-transition:fill-opacity 250ms linear,stroke-opacity 250ms linear}.nvd3.nv-stackedarea path.nv-area.hover{fill-opacity:.9}.nvd3.nv-stackedarea .nv-groups .nv-point{stroke-opacity:0;fill-opacity:0}.nvtooltip{position:absolute;color:rgba(0,0,0,1);padding:1px;z-index:10000;font-family:Arial;font-size:13px;text-align:left;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:rgba(255,255,255,.8);border:1px solid rgba(0,0,0,.5);border-radius:4px}.nvtooltip h3,.nvtooltip p{margin:0;text-align:center}.nvtooltip.with-transitions,.with-transitions .nvtooltip{transition:opacity 50ms linear;-moz-transition:opacity 50ms linear;-webkit-transition:opacity 50ms linear;transition-delay:200ms;-moz-transition-delay:200ms;-webkit-transition-delay:200ms}.nvtooltip.x-nvtooltip,.nvtooltip.y-nvtooltip{padding:8px}.nvtooltip h3{padding:4px 14px;line-height:18px;background-color:rgba(247,247,247,.75);color:rgba(0,0,0,1);border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.nvtooltip p{padding:5px 14px}.nvtooltip span{display:inline-block;margin:2px 0}.nvtooltip table{margin:6px;border-spacing:0}.nvtooltip table td{padding:2px 9px 2px 0;vertical-align:middle}.nvtooltip table td.key.total{font-weight:700}.nvtooltip table td.value{text-align:right;font-weight:700}.nvtooltip table tr.highlight td{padding:1px 9px 1px 0;border-bottom-style:solid;border-bottom-width:1px;border-top-style:solid;border-top-width:1px}.nvtooltip table td.legend-color-guide div{vertical-align:middle;width:12px;height:12px;border:1px solid #999}.nvtooltip .footer{padding:3px;text-align:center}.nvtooltip-pending-removal{pointer-events:none;display:none}.nvd3 line.nv-guideline{stroke:#ccc} -/*# sourceMappingURL=nv.d3.min.css.map */ \ No newline at end of file diff --git "a/dist/images/DB_16\321\20516.png" "b/dist/images/DB_16\321\20516.png" deleted file mode 100644 index 928a0f9..0000000 Binary files "a/dist/images/DB_16\321\20516.png" and /dev/null differ diff --git a/dist/images/cloudy_and_snow.svg b/dist/images/cloudy_and_snow.svg deleted file mode 100644 index c748602..0000000 --- a/dist/images/cloudy_and_snow.svg +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/dist/images/cotoneaster.jpg b/dist/images/cotoneaster.jpg deleted file mode 100644 index ec32d6a..0000000 Binary files a/dist/images/cotoneaster.jpg and /dev/null differ diff --git a/dist/images/robot.png b/dist/images/robot.png deleted file mode 100644 index d3d9c7b..0000000 Binary files a/dist/images/robot.png and /dev/null differ diff --git a/dist/images/tick-mask.svg b/dist/images/tick-mask.svg deleted file mode 100644 index b098920..0000000 --- a/dist/images/tick-mask.svg +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - diff --git a/dist/images/tick.svg b/dist/images/tick.svg deleted file mode 100644 index b3d6ec8..0000000 --- a/dist/images/tick.svg +++ /dev/null @@ -1,15 +0,0 @@ - - - - diff --git a/dist/images/weather_bck.png b/dist/images/weather_bck.png deleted file mode 100644 index 1341941..0000000 Binary files a/dist/images/weather_bck.png and /dev/null differ diff --git a/images/Bobby.PNG b/images/Bobby.PNG new file mode 100644 index 0000000..3c3da0f Binary files /dev/null and b/images/Bobby.PNG differ diff --git a/images/Dark_background_1920x1080.png b/images/Dark_background_1920x1080.png new file mode 100644 index 0000000..2df8cc4 Binary files /dev/null and b/images/Dark_background_1920x1080.png differ diff --git a/images/buffer.svg b/images/buffer.svg new file mode 100644 index 0000000..790b160 --- /dev/null +++ b/images/buffer.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/images/card.jpg b/images/card.jpg new file mode 100644 index 0000000..6362318 Binary files /dev/null and b/images/card.jpg differ diff --git a/images/imgo.png b/images/imgo.png new file mode 100644 index 0000000..b3f79e5 Binary files /dev/null and b/images/imgo.png differ diff --git a/images/istanbul.jpg b/images/istanbul.jpg new file mode 100644 index 0000000..1a3e6df Binary files /dev/null and b/images/istanbul.jpg differ diff --git a/images/sao_paulo.jpg b/images/sao_paulo.jpg new file mode 100644 index 0000000..d6afd1b Binary files /dev/null and b/images/sao_paulo.jpg differ diff --git a/images/skype.svg b/images/skype.svg index 142b415..06b76af 100644 --- a/images/skype.svg +++ b/images/skype.svg @@ -1,17 +1,17 @@ - - - - - - + + + + + + diff --git a/images/tokyo.jpg b/images/tokyo.jpg new file mode 100644 index 0000000..cb681bc Binary files /dev/null and b/images/tokyo.jpg differ diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts new file mode 100644 index 0000000..f99a10d --- /dev/null +++ b/src/app/app-routing.module.ts @@ -0,0 +1,12 @@ +import { RouterModule } from '@angular/router'; +import { NgModule } from '@angular/core'; + +@NgModule({ + imports: [RouterModule.forRoot([ + { path: '', loadChildren: 'layout/layout.module#LayoutModule' }, + { path: 'pages', loadChildren: 'pages/pages.module#PagesModule' }, + { path: '**', redirectTo: 'pages/404' }, + ], { useHash: true, enableTracing: true })], + exports: [RouterModule], +}) +export class AppRoutingModule {} diff --git a/src/app/app.component.scss b/src/app/app.component.scss new file mode 100644 index 0000000..c363681 --- /dev/null +++ b/src/app/app.component.scss @@ -0,0 +1,39 @@ +@import 'theme/helpers'; + +@import '~material-design-lite/src/material-design-lite'; +@import '~getmdl-select/src/scss/getmdl-select'; + +@import 'theme/sass/helper'; + +@import 'theme/sass/layout/layout'; +@import 'theme/sass/card/card'; +@import "theme/sass/chip/chip"; +@import "theme/sass/badge/badge"; +@import "theme/sass/slider/slider"; +@import 'theme/sass/menu/menu'; +@import 'theme/sass/toggles/toggles'; +@import 'theme/sass/button/button'; +@import 'theme/sass/textfield/textfield'; +@import 'theme/sass/progress/progress'; +@import 'theme/sass/data-table/data-table'; +@import 'theme/sass/label/label'; +@import 'theme/sass/tooltip/tooltip'; +@import 'theme/sass/list/list'; +@import 'theme/sass/form/form'; +@import 'theme/sass/scroll/scroll'; + +@import 'theme/widgets/link/link'; +@import 'theme/widgets/chart-legend/chart-legend'; +@import 'theme/widgets/form/form'; +@import 'theme/widgets/input-group/input-group'; +@import "theme/widgets/map/map"; +@import "theme/widgets/ui-buttons/ui-buttons"; +@import "theme/widgets/ui-colors/ui-colors"; +@import "theme/widgets/ui-cards/ui-cards"; +@import "theme/widgets/ui-typography/ui-typography"; +@import "theme/widgets/ui-components/ui-components"; +@import "theme/widgets/ui-icons/ui-icons"; +@import "theme/widgets/charts/charts"; +@import "theme/widgets/ui-form-components/ui-form-components"; +@import "theme/widgets/ui-tables/ui-tables"; +@import "theme/widgets/ui-typography/ui-typography"; diff --git a/src/app/app.component.ts b/src/app/app.component.ts index e3026a4..cef0988 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -1,31 +1,8 @@ -/* - * Angular 2 decorators and services - */ -import { - Component, - OnInit, - ViewEncapsulation -} from '@angular/core'; -import { AppState } from './app.service'; -import 'style-loader!./app.scss'; +import { Component } from '@angular/core'; -/* - * App Component - * Top Level Component - */ @Component({ selector: 'app', - template: ` - - ` + styleUrls: ['./app.component.scss'], + template: ``, }) -export class AppComponent implements OnInit { - - constructor(public appState: AppState) { - } - - public ngOnInit() { - console.log('Initial App State', this.appState.state); - } - -} +export class AppComponent {} diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 8be22cd..0a4fd11 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -18,17 +18,13 @@ import { /* * Platform and Environment providers/directives/pipes */ -import { ENV_PROVIDERS } from './environment'; +import { ENV_PROVIDERS } from 'environment'; // App is our top level component -import { AppComponent } from './app.component'; -import { APP_RESOLVER_PROVIDERS } from './app.resolver'; +import { AppComponent } from 'app.component'; +import { APP_RESOLVER_PROVIDERS } from 'app.resolver'; import { AppState, InternalStateType } from './app.service'; -import './styles/styles.scss'; -import './styles/headings.css'; -import { PagesModule } from './pages/pages.module'; -import { routing } from './app.routing'; -import { NgaModule } from './theme/nga.module'; +import { AppRoutingModule } from 'app-routing.module'; // Application wide providers const APP_PROVIDERS = [ @@ -54,10 +50,7 @@ type StoreType = { BrowserModule, FormsModule, HttpModule, - RouterModule, - NgaModule.forRoot(), - PagesModule, - routing + AppRoutingModule, ], providers: [ // expose our Services and Providers into Angular's dependency injection ENV_PROVIDERS, diff --git a/src/app/app.routing.ts b/src/app/app.routing.ts deleted file mode 100644 index 6419ee6..0000000 --- a/src/app/app.routing.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { Routes, RouterModule } from '@angular/router'; -import { ModuleWithProviders } from '@angular/core'; - -export const routes: Routes = [ - {path: '', redirectTo: 'pages', pathMatch: 'full'}, - {path: '**', redirectTo: 'pages/dashboard'}, -]; - -export const routing: ModuleWithProviders = RouterModule.forRoot(routes, {useHash: true}); diff --git a/src/app/app.scss b/src/app/app.scss deleted file mode 100644 index 3d9e059..0000000 --- a/src/app/app.scss +++ /dev/null @@ -1,3 +0,0 @@ -@import "theme/theme"; - -@import "pages/dashboard/cotoneasterCard/cotoneasterCard"; diff --git a/src/app/application.scss b/src/app/application.scss deleted file mode 100644 index eddca7e..0000000 --- a/src/app/application.scss +++ /dev/null @@ -1,83 +0,0 @@ -@import 'theme/sass/variables'; - -@import '../../bower_components/material-design-lite/src/material-design-lite'; - -@import 'theme/sass/mixins'; - -@import 'theme/sass/layout/layout'; - -@import 'theme/sass/card/card'; - -@import "theme/sass/chip/chip"; - -@import "theme/sass/badge/badge"; - -@import "theme/sass/slider/slider"; - -@import 'theme/sass/menu/menu'; - -@import 'theme/sass/toggles/toggles'; - -@import 'theme/sass/button/button'; - -@import 'pages/widgets/link/link'; - -@import 'theme/sass/textfield/textfield'; - -@import 'theme/sass/progress/progress'; - -@import 'theme/sass/data-table/data-table'; - -@import 'theme/sass/label/label'; - -@import 'pages/widgets/table/table'; - -@import 'theme/sass/tooltip/tooltip'; - -@import 'pages/widgets/notifications-dropdown/notifications-dropdown'; - -@import 'pages/widgets/trending/trending'; - -@import 'pages/widgets/message-notifications/messages-dropdown'; - -@import 'theme/sass/list/list'; - -@import 'pages/widgets/todo/todo'; - -@import 'pages/widgets/pie-chart/pie-chart'; - -@import 'pages/widgets/line-chart/line-chart'; - -@import 'pages/widgets/chart-legend/chart-legend'; - -@import 'pages/widgets/account-dropdown/account-dropdown'; - -@import 'pages/widgets/setting-dropdown/settings-dropdown'; - -@import 'pages/widgets/robot/robot'; - -@import 'pages/widgets/cotoneaster/cotoneaster'; - -@import 'pages/widgets/weather/weather'; - -@import 'pages/widgets/employer-form/employer-form'; - -@import 'pages/widgets/form/form'; - -@import 'pages/widgets/input-group/input-group'; - -@import "pages/widgets/map/map"; - -@import "pages/widgets/ui-buttons/ui-buttons"; - -@import "pages/widgets/ui-colors/ui-colors"; - -@import "pages/widgets/ui-cards/ui-cards"; - -@import "pages/widgets/ui-typography/ui-typography"; - -@import "pages/widgets/ui-components/ui-components"; - -@import "pages/widgets/ui-icons/ui-icons"; - -@import 'theme/sass/helper'; diff --git a/src/app/pages/dashboard/cotoneasterCard/cotoneasterCard.html b/src/app/dashboard/cotoneaster-card/cotoneaster-card.component.html similarity index 61% rename from src/app/pages/dashboard/cotoneasterCard/cotoneasterCard.html rename to src/app/dashboard/cotoneaster-card/cotoneaster-card.component.html index 84c2764..a7f29ab 100644 --- a/src/app/pages/dashboard/cotoneasterCard/cotoneasterCard.html +++ b/src/app/dashboard/cotoneaster-card/cotoneaster-card.component.html @@ -1,8 +1,6 @@ -
-
-

Cotoneaster

-
-
+ +

Cotoneaster

+
Cotoneaster is a genus of flowering plants in the rose family, Roseaceae, netive to the Palaearctic region, with a strong concentration of diversity in the genus in the @@ -10,5 +8,5 @@

Cotoneaster

of southwestern China and the Himalayas.
Wikipedia -
-
+ + diff --git a/src/app/pages/dashboard/cotoneasterCard/cotoneasterCard.scss b/src/app/dashboard/cotoneaster-card/cotoneaster-card.component.scss similarity index 76% rename from src/app/pages/dashboard/cotoneasterCard/cotoneasterCard.scss rename to src/app/dashboard/cotoneaster-card/cotoneaster-card.component.scss index 94db097..4b43ab5 100644 --- a/src/app/pages/dashboard/cotoneasterCard/cotoneasterCard.scss +++ b/src/app/dashboard/cotoneaster-card/cotoneaster-card.component.scss @@ -1,13 +1,12 @@ - +@import '~theme/helpers'; .cotoneaster { - height: 430px; .mdl-card__supporting-text { @include typo-card-supporting-text; padding-bottom: 26px; } .mdl-card__title { - background: url($images-root + 'cotoneaster.jpg') center center no-repeat; + background: url('assets/images/cotoneaster.jpg') center center no-repeat; background-size: cover; .mdl-card__title-text { color: $card-title-img-color; diff --git a/src/app/dashboard/cotoneaster-card/cotoneaster-card.component.ts b/src/app/dashboard/cotoneaster-card/cotoneaster-card.component.ts new file mode 100644 index 0000000..e73de5b --- /dev/null +++ b/src/app/dashboard/cotoneaster-card/cotoneaster-card.component.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'cotoneaster-card', + styleUrls: ['./cotoneaster-card.component.scss'], + templateUrl: './cotoneaster-card.component.html', +}) +export class CotoneasterCardComponent {} diff --git a/src/app/pages/dashboard/dashboard.html b/src/app/dashboard/dashboard.component.html similarity index 94% rename from src/app/pages/dashboard/dashboard.html rename to src/app/dashboard/dashboard.component.html index 5abc54f..d9c1be6 100644 --- a/src/app/pages/dashboard/dashboard.html +++ b/src/app/dashboard/dashboard.component.html @@ -1,19 +1,17 @@
-
-
- +
- +
@@ -28,7 +26,6 @@
-
@@ -39,6 +36,5 @@
-
diff --git a/src/app/dashboard/dashboard.component.ts b/src/app/dashboard/dashboard.component.ts new file mode 100644 index 0000000..fcb0d2d --- /dev/null +++ b/src/app/dashboard/dashboard.component.ts @@ -0,0 +1,9 @@ +import { Component } from '@angular/core'; + +import { UpgradeDomAfterViewInit } from 'helpers'; + +@Component({ + selector: 'dashboard', + templateUrl: './dashboard.component.html', +}) +export class DashboardComponent extends UpgradeDomAfterViewInit {} diff --git a/src/app/pages/dashboard/dashboard.module.ts b/src/app/dashboard/dashboard.module.ts similarity index 54% rename from src/app/pages/dashboard/dashboard.module.ts rename to src/app/dashboard/dashboard.module.ts index 151cacf..5428ed9 100644 --- a/src/app/pages/dashboard/dashboard.module.ts +++ b/src/app/dashboard/dashboard.module.ts @@ -1,39 +1,37 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; -import { NgaModule } from '../../theme/nga.module'; +import { FormsModule } from '@angular/forms'; -import { DashboardComponent } from './dashboard.component'; -import { routing } from './dashboard.routing'; +import { ThemeModule } from 'theme/theme.module'; import { - WeatherWidgetComponent, + DashboardComponent, + WeatherComponent, CotoneasterCardComponent, LineChartComponent, TableCardComponent, RobotCardComponent, TodoListComponent, - TrendingWidgetComponent, - PieChartComponent + TrendingComponent, + PieChartComponent, } from './index'; @NgModule({ imports: [ CommonModule, - NgaModule, - routing + ThemeModule, + FormsModule, ], declarations: [ DashboardComponent, - WeatherWidgetComponent, + WeatherComponent, CotoneasterCardComponent, LineChartComponent, TableCardComponent, RobotCardComponent, TodoListComponent, - TrendingWidgetComponent, - PieChartComponent + TrendingComponent, + PieChartComponent, ], - providers: [] }) -export class DashboardModule { -} +export class DashboardModule {} diff --git a/src/app/dashboard/index.ts b/src/app/dashboard/index.ts new file mode 100644 index 0000000..567cb92 --- /dev/null +++ b/src/app/dashboard/index.ts @@ -0,0 +1,10 @@ +export { DashboardModule } from './dashboard.module'; +export { DashboardComponent } from './dashboard.component'; +export { WeatherComponent } from './weather/weather.component'; +export { TrendingComponent } from './trending/trending.component'; +export { RobotCardComponent } from './robot-card/robot-card.component'; +export { CotoneasterCardComponent } from './cotoneaster-card/cotoneaster-card.component'; +export { LineChartComponent } from './line-chart/line-chart.component'; +export { PieChartComponent } from './pie-chart/pie-chart.component'; +export { TodoListComponent } from './todo-list/todo-list.component'; +export { TableCardComponent } from './table-card/table-card.component'; diff --git a/src/app/dashboard/line-chart/line-chart.component.html b/src/app/dashboard/line-chart/line-chart.component.html new file mode 100644 index 0000000..091cce1 --- /dev/null +++ b/src/app/dashboard/line-chart/line-chart.component.html @@ -0,0 +1,4 @@ + +

Startup Financing Cycle

+
+
diff --git a/src/app/pages/dashboard/lineChart/lineChart.scss b/src/app/dashboard/line-chart/line-chart.component.scss similarity index 78% rename from src/app/pages/dashboard/lineChart/lineChart.scss rename to src/app/dashboard/line-chart/line-chart.component.scss index 2675b65..a28d37a 100644 --- a/src/app/pages/dashboard/lineChart/lineChart.scss +++ b/src/app/dashboard/line-chart/line-chart.component.scss @@ -1,14 +1,26 @@ -@import "../dashboard"; +@import '~theme/helpers'; .line-chart__container { min-height: $line-chart-height; svg { - height: $line-chart-height; + height: $line-chart-height !important; width: $line-chart-width; .y-axis-label, .x-axis-label { @include typo-linechart-axis-label; fill: $line-chart-axis-label-color; } + .nv-axis { + &.nv-x { + text { + display: none; + } + } + &.nv-y { + text { + display: none; + } + } + } .nv-lineChart { .nv-guideline { stroke: $line-chart-guideline-color; diff --git a/src/app/dashboard/line-chart/line-chart.component.ts b/src/app/dashboard/line-chart/line-chart.component.ts new file mode 100644 index 0000000..c731eb5 --- /dev/null +++ b/src/app/dashboard/line-chart/line-chart.component.ts @@ -0,0 +1,288 @@ +declare const d3: any; +declare const nv: any; + +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'line-chart', + styleUrls: ['./line-chart.component.scss'], + templateUrl: './line-chart.component.html', +}) +export class LineChartComponent implements OnInit { + private options; + private container; + private maxX; + private xStep; + private columns; + private color; + private margin; + private data; + private drawStep; + private durationResizeAnimation = 500; + private svg; + private svgHeight; + private svgWidth; + private barsLayout; + private lineChart; + private timer; + + public ngOnInit() { + this.options = { + container: d3.select('.line-chart__container'), + maxX: 14, + xStep: 0.125, + xDrawStep: 4, + rowBgColor: '#4a4a4a', + margin: 20, + xAxis: 'TIME', + yAxis: 'REVENUE', + animationTime: 400, + data: [ + { + values: [], + key: 'Awesome', + color: 'rgb(80, 150, 215)', + graphFunction(i) { + const INTERVAL_1 = 2.8; + const INTERVAL_2 = 7.1; + const INTERVAL_3 = 11.0; + + if (i < INTERVAL_1) { + this.values.push({x: i, y: (3.43 * i * i - 6.7 * i) / 14}); + } else { + if (i < INTERVAL_2) { + this.values.push({x: i, y: -(i - 7.1) * (i - 7.1) / 10.26 + 2.378}); + } else { + if (i < INTERVAL_3) { + this.values.push({x: i, y: -0.4 / (i - 4.3) + 2.53}); + } else { + this.values.push({x: i, y: ((i - 11.4) * (i - 11.4) * (i - 11.4)) / 13 + 2.476}); + } + } + } + } + }, + { + values: [], + key: 'Good', + color: 'rgb(0, 188, 212)', + fillOpacity: 0.00001, + area: true, + + graphFunction(i) { + const INTERVAL_1 = 3.0; + const INTERVAL_2 = 8.2; + + if (i < INTERVAL_1) { + this.values.push({x: i, y: (3.255 * i * i - 9.6 * i) / 16}); + } else { + if (i < INTERVAL_2) { + this.values.push({x: i, y: (-1.055 * (i - 8.03) * (i - 8.03) + 27) / 15}); + } else { + this.values.push({x: i, y: ((i - 9) * (i - 9) * (i - 9)) / 120 + 1.805}); + } + } + } + }, + { + values: [], + key: 'Fail', + color: 'rgb(255, 82, 82)', + + graphFunction(i) { + const INTERVAL_1 = 3.1; + const INTERVAL_2 = 10.3; + + if (i < INTERVAL_1) { + this.values.push({x: i, y: (2.255 * i * i - 9.1 * i) / 13}); + } else { + if (i < INTERVAL_2) { + this.values.push({x: i, y: .82 * Math.sin((i - 4.5) / 2.1)}); + } else { + this.values.push({x: i, y: -(i - 13) * (i - 13) * (i - 13) / 64}); + } + } + } + } + ], + }; + + this.container = this.options.container; + this.maxX = this.options.maxX; + this.xStep = this.options.xStep; + this.columns = this.options.maxX / 2; + this.color = this.options.rowBgColor; + this.margin = this.options.margin; + this.data = this.options.data; + this.drawStep = this.xStep * this.options.xDrawStep; + + if (this.options.container[0][0]) { + this.drawChart(); + } + } + + private _addSvgContainer() { + this.svg = this.container.append('div').append('svg'); + } + + private _getSvgSizes() { + let svgWidth = getComputedStyle(this.svg[0][0]).width; + let svgHeight = getComputedStyle(this.svg[0][0]).height; + this.svgWidth = svgWidth.slice(0, svgWidth.length - 2); + this.svgHeight = +svgHeight.slice(0, svgHeight.length - 2) - this.margin; + } + + private _addAxisLabels() { + this.container.selectAll('svg .y-axis-label').remove(); + this.container.select('svg') + .append('text') + .attr('class', 'y-axis-label') + .attr('x', -(23 + this.options.yAxis.length * 7)) + .attr('y', '12') + .attr('transform', 'rotate(-90)') + .text(this.options.yAxis || ''); + + this.container.select('svg') + .append('text') + .attr('class', 'x-axis-label') + .text(this.options.xAxis || ''); + } + + private _buildBackground() { + this._addSvgContainer(); + this._getSvgSizes(); + + let bars = []; + for (let i = 0; i < this.columns; i++) { + bars.push(this.svgHeight); + } + + this.barsLayout = this.svg.append('g') + .attr('class', 'bars') + .attr('transform', 'translate(' + this.margin + ', 0)') + .selectAll('rect') + .data(bars) + .enter() + .append('rect'); + + this._addAxisLabels(); + + this._setBackgroundSizes(); + } + + private _setBackgroundSizes() { + let availableBarWidth = (this.svgWidth - 2 * this.margin) / this.columns; + let barWidth = availableBarWidth / 2; + this.barsLayout + .attr('fill', this.color) + .attr('y', this.margin) + .attr('height', (d, i) => d) + .transition().duration(this.durationResizeAnimation) + .attr('width', barWidth) + .attr('x', (d, i) => i * availableBarWidth); + this.container.select('svg .x-axis-label') + .transition().duration(this.durationResizeAnimation) + .attr('x', this.svgWidth - this.margin - 7 - this.options.xAxis.length * 7) + .attr('y', this.svgHeight - (this.svgHeight) / 4 + this.margin + 14); + } + + private drawChart() { + this._buildBackground(); + this._buildLegend(); + this._buildNvGraph(); + this._animateGraphs(); + } + + private _buildNvGraph() { + this._tuneNvGraph(); + + nv.addGraph(() => { + this.svg.datum(this.data) + .transition().duration(0) + .call(this.lineChart); + nv.utils.windowResize(this.resizeBackground.bind(this)); + nv.utils.windowResize(this.lineChart.update); + return this.lineChart; + }); + } + + private _tuneNvGraph() { + this.lineChart = nv.models.lineChart() + .margin({top: this.margin, right: this.margin, bottom: 0, left: this.margin}) + .useInteractiveGuideline(true) + .xDomain([0, this.options.maxX]) + .yDomain([-1.01, 3]) + .showLegend(false) + .showYAxis(true) + .showXAxis(true) + .pointSize(5); + + this.lineChart.tooltip.enabled(false); + this.lineChart.interactiveLayer.tooltip.enabled(false); + + this.lineChart.xAxis + .showMaxMin(false) + .tickValues([0]); + + this.lineChart.yAxis + .showMaxMin(false) + .ticks(10); + } + + private _buildLegend() { + let legend = this.container.append('div') + .attr('class', 'legend') + .selectAll('.legend__item') + .data(this.data) + .enter() + .append('div') + .attr('class', 'legend__item'); + + legend.append('div') + .attr('class', 'legend__mark pull-left') + .style('background-color', (d) => d.color); + + legend.append('div') + .attr('class', 'legend__text') + .text((d) => d.key); + } + + private resizeBackground() { + this._getSvgSizes(); + this._setBackgroundSizes(); + } + + private _animateGraphs() { + let i = 0; + this.timer = setInterval(() => { + this._calcAllGraphs(i); + this._drawNextStep(i); + i += this.xStep; + this._checkEndOfAnimation(i); + }, Math.round( + this.options.animationTime / ((this.maxX / this.xStep) / this.options.xDrawStep) + )); + } + + private _drawNextStep(i) { + if (i !== 0 && i % this.drawStep === 0 || i === this.options.maxX) { + this.lineChart.update(); + } + } + + private _checkEndOfAnimation(i) { + if (i >= this.options.maxX + 1) { + this.lineChart.duration(this.durationResizeAnimation); + this.data.forEach((item) => { + item.fillOpacity = 0.11; + }); + + clearInterval(this.timer); + this.lineChart.update(); + } + } + + private _calcAllGraphs(i) { + this.data.forEach((item) => item.graphFunction(i)); + } +} diff --git a/src/app/dashboard/pie-chart/pie-chart.component.html b/src/app/dashboard/pie-chart/pie-chart.component.html new file mode 100644 index 0000000..f245793 --- /dev/null +++ b/src/app/dashboard/pie-chart/pie-chart.component.html @@ -0,0 +1,4 @@ + +

My Day

+
+
diff --git a/src/app/pages/dashboard/pieChart/pieChart.scss b/src/app/dashboard/pie-chart/pie-chart.component.scss similarity index 96% rename from src/app/pages/dashboard/pieChart/pieChart.scss rename to src/app/dashboard/pie-chart/pie-chart.component.scss index 78a63bb..47b584f 100644 --- a/src/app/pages/dashboard/pieChart/pieChart.scss +++ b/src/app/dashboard/pie-chart/pie-chart.component.scss @@ -1,4 +1,4 @@ -@import "../dashboard"; +@import '~theme/helpers'; .chart1__container, .chart2__container, .pie-chart__container { display: flex; @@ -36,4 +36,3 @@ height: 400px; } } - diff --git a/src/app/dashboard/pie-chart/pie-chart.component.ts b/src/app/dashboard/pie-chart/pie-chart.component.ts new file mode 100644 index 0000000..ebaf433 --- /dev/null +++ b/src/app/dashboard/pie-chart/pie-chart.component.ts @@ -0,0 +1,151 @@ +declare const d3: any; +declare const nv: any; + +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'pie-chart', + styleUrls: ['./pie-chart.component.scss'], + templateUrl: './pie-chart.component.html', +}) +export class PieChartComponent implements OnInit { + public ngOnInit() { + const colors = [ + 'rgba(96, 196, 150, 1)', + 'rgba(80, 150, 215, 1)', + 'rgba(0, 188, 212, 1)', + 'rgba(116, 199, 209, 1)', + 'rgba(255, 82, 82, 1)', + 'rgba(0, 0, 0, 0)' + ]; + + const data = [ + { + key: 'Coding', + y: 0, + end: 9 + }, + { + key: 'Eating', + y: 0, + end: 3 + }, + { + key: 'Sleeping', + y: 0, + end: 3 + }, + { + key: 'Meditation', + y: 0, + end: 3 + }, + { + key: 'The fight against evil', + y: 0, + end: 6 + } + , + { + key: 'Pending', + y: 23.9 + } + ]; + + nv.addGraph(() => { + const innerRadius = 0.86; + const outerRadius = 1.02; + + const pieChart = nv.models.pieChart() + .x((d) => d.key) + .y((d) => d.y) + .showLabels(false) + .donut(true) + .growOnHover(true) + .padAngle(.04) + .cornerRadius(0) + .margin({ left: -10, right: -10, top: -10, bottom: -10 }) + .color(colors) + .arcsRadius([{ inner: innerRadius, outer: outerRadius }, + { inner: innerRadius, outer: outerRadius }, + { inner: innerRadius, outer: outerRadius }, + { inner: innerRadius, outer: outerRadius }, + { inner: innerRadius, outer: outerRadius } + ]) + .showLegend(false) + .title('0 hours') + .titleOffset(10); + + pieChart.tooltip.enabled(true) + .hideDelay(0) + .headerEnabled(false) + .contentGenerator((d) => { + if (d === null) { + return ''; + } + d3.selectAll('.nvtooltip').classed('mdl-tooltip', true); + return `${d.data.y} hours`; + }); + + const container = d3.select('.pie-chart__container') + .append('div') + .append('svg') + .datum(data) + .transition() + .duration(1200) + .call(pieChart); + + let h = 0; + let i = 0; + const timer = setInterval((_data) => { + if (i < _data.length - 1) { + if (_data[i].y < _data[i].end) { + _data[i].y++; + _data[_data.length - 1].y--; + pieChart.title(`${h + 1} hours`); + h++; + } else { + i++; + } + } else { + _data.splice(_data.length - 1, 1); + clearInterval(timer); + return; + } + if (container[0][0]) { + pieChart.update(); + } else { + clearInterval(timer); + } + }, 70, data); + + d3.select('.pie-chart__container .nv-pie .nv-pie') + .append('image') + .attr('width', '30') + .attr('height', '30') + .attr('xlink:href', 'assets/images/watch_white.svg') + .attr('transform', 'translate(-15,-35)'); + + const color = d3.scale.ordinal().range(colors); + + const legend = d3.select('.pie-chart__container') + .append('div') + .attr('class', 'legend') + .selectAll('.legend__item') + .data(data.slice(0, data.length - 1)) + .enter() + .append('div') + .attr('class', 'legend__item'); + + legend.append('div') + .attr('class', 'legend__mark pull-left') + .style('background-color', (d) => color(d.key)); + + legend.append('div') + .attr('class', 'legend__text') + .text((d) => d.key); + + return pieChart; + }); + } +} diff --git a/src/app/pages/dashboard/robotCard/robotCard.html b/src/app/dashboard/robot-card/robot-card.component.html similarity index 55% rename from src/app/pages/dashboard/robotCard/robotCard.html rename to src/app/dashboard/robot-card/robot-card.component.html index f28c4e8..922d32f 100644 --- a/src/app/pages/dashboard/robotCard/robotCard.html +++ b/src/app/dashboard/robot-card/robot-card.component.html @@ -1,12 +1,10 @@ -
-
-

BB-8

-
-
+ +

BB-8

+
A skittish but loyal astromech, BB-8 accompanied Poe Dameron on many missions for the Resistance helping keep his X-wing in working order.
Star Wars Databank -
-
+ + diff --git a/src/app/pages/dashboard/robotCard/robotCard.scss b/src/app/dashboard/robot-card/robot-card.component.scss similarity index 67% rename from src/app/pages/dashboard/robotCard/robotCard.scss rename to src/app/dashboard/robot-card/robot-card.component.scss index c21e7de..2cce9b7 100644 --- a/src/app/pages/dashboard/robotCard/robotCard.scss +++ b/src/app/dashboard/robot-card/robot-card.component.scss @@ -1,13 +1,12 @@ -@import "../dashboard"; +@import '~theme/helpers'; .robot { - height: 450px; .mdl-card__supporting-text { @include typo-card-supporting-text; padding-bottom: 26px; } .mdl-card__title { - background: url($images-root + 'robot.png') center center no-repeat; + background: url('assets/images/robot.png') center center no-repeat; background-size: cover; .mdl-card__title-text { color: $card-title-img-color; diff --git a/src/app/dashboard/robot-card/robot-card.component.ts b/src/app/dashboard/robot-card/robot-card.component.ts new file mode 100644 index 0000000..2f209d6 --- /dev/null +++ b/src/app/dashboard/robot-card/robot-card.component.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'robot-card', + styleUrls: ['./robot-card.component.scss'], + templateUrl: './robot-card.component.html', +}) +export class RobotCardComponent {} diff --git a/src/app/pages/dashboard/tableCard/tableCard.html b/src/app/dashboard/table-card/table-card.component.html similarity index 92% rename from src/app/pages/dashboard/tableCard/tableCard.html rename to src/app/dashboard/table-card/table-card.component.html index f256a6a..a6d269a 100644 --- a/src/app/pages/dashboard/tableCard/tableCard.html +++ b/src/app/dashboard/table-card/table-card.component.html @@ -5,7 +5,7 @@ - + {{item.project}} +

To-do list

+ + + + + + diff --git a/src/app/pages/dashboard/todoList/todoList.scss b/src/app/dashboard/todo-list/todo-list.component.scss similarity index 92% rename from src/app/pages/dashboard/todoList/todoList.scss rename to src/app/dashboard/todo-list/todo-list.component.scss index 4f6fb3d..1f5f5f9 100644 --- a/src/app/pages/dashboard/todoList/todoList.scss +++ b/src/app/dashboard/todo-list/todo-list.component.scss @@ -1,6 +1,7 @@ -@import "../dashboard"; +@import '~theme/helpers'; .todo { + height: auto !important; .mdl-card__supporting-text { width: 100%; padding: 0; @@ -40,6 +41,7 @@ } } .mdl-card__actions { + padding: 8px 16px; margin-top: 20px; background: $card-actions-background-color; } diff --git a/src/app/dashboard/todo-list/todo-list.component.ts b/src/app/dashboard/todo-list/todo-list.component.ts new file mode 100644 index 0000000..9344119 --- /dev/null +++ b/src/app/dashboard/todo-list/todo-list.component.ts @@ -0,0 +1,71 @@ +declare const componentHandler: any; + +import { + Component, + ViewChild, + ViewChildren, + QueryList, + ElementRef, + Renderer, + AfterViewInit, +} from '@angular/core'; + +import { TodoListService } from './todo-list.service'; + +@Component({ + selector: 'todo-list', + styleUrls: ['./todo-list.component.scss'], + templateUrl: './todo-list.component.html', + providers: [TodoListService], +}) +export class TodoListComponent implements AfterViewInit { + public items; + public createdItem = null; + + @ViewChild('todoInput') + set todoInput(element: ElementRef) { + if (typeof(element) !== 'undefined') { + this.renderer.invokeElementMethod(element.nativeElement, 'focus', []); + } + } + + @ViewChildren('listItem') + private todoItems: QueryList; + + constructor(private renderer: Renderer, todoListService: TodoListService) { + this.items = todoListService.getItems(); + } + + public ngAfterViewInit(): void { + this.todoItems.changes.subscribe((r) => { + componentHandler.upgradeElement(r.last.nativeElement.querySelector('[checkboxitem]')); + const textField = r.last.nativeElement.querySelector('.mdl-textfield'); + if (textField) { + componentHandler.upgradeElement(textField); + } + }); + } + + public deleteItem(item): void { + this.items = this.items.filter((i) => i !== item); + } + + public createItem(): void { + this.createdItem = { + title: '', + id: Date.now(), + completed: false, + }; + } + + public addItem(): void { + if (this.createdItem.title) { + this.items.push(Object.assign({}, this.createdItem, { completed: false })); + } + this.createdItem = null; + } + + public deleteCompletedItems(): void { + this.items = this.items.filter((item: any) => !item.completed); + } +} diff --git a/src/app/dashboard/todo-list/todo-list.service.ts b/src/app/dashboard/todo-list/todo-list.service.ts new file mode 100644 index 0000000..2225519 --- /dev/null +++ b/src/app/dashboard/todo-list/todo-list.service.ts @@ -0,0 +1,29 @@ +import { Injectable } from '@angular/core'; + +@Injectable() +export class TodoListService { + public getItems(): Object[] { + return [ + { + title: 'Fix bugs', + id: 1651644545, + completed: false + }, + { + title: 'Implement 30% of my feature', + id: 1651646545, + completed: false + }, + { + title: 'Fencing', + id: 5451646545, + completed: true + }, + { + title: 'Read an article about Test-Driven Development', + id: 5428646545, + completed: false + }, + ]; + } +} diff --git a/src/app/dashboard/trending/trending.component.html b/src/app/dashboard/trending/trending.component.html new file mode 100644 index 0000000..c838977 --- /dev/null +++ b/src/app/dashboard/trending/trending.component.html @@ -0,0 +1,40 @@ + +

Trending

+
    +
  • + UX + + arrow_drop_up + + 1 % +
  • +
  • + PHP + + arrow_drop_down + + 2 % +
  • +
  • + Big Data + + arrow_drop_up + + 5 % +
  • +
  • + Material Design + + arrow_drop_up + + 18 % +
  • +
  • + JavaScript + + arrow_drop_up + + 17 % +
  • +
+
diff --git a/src/app/pages/dashboard/trendingWidget/trendingWidget.scss b/src/app/dashboard/trending/trending.component.scss similarity index 95% rename from src/app/pages/dashboard/trendingWidget/trendingWidget.scss rename to src/app/dashboard/trending/trending.component.scss index 8d2faa3..b97bebc 100644 --- a/src/app/pages/dashboard/trendingWidget/trendingWidget.scss +++ b/src/app/dashboard/trending/trending.component.scss @@ -1,4 +1,4 @@ -@import "../dashboard"; +@import '~theme/helpers'; .trending { .mdl-card__supporting-text { diff --git a/src/app/dashboard/trending/trending.component.ts b/src/app/dashboard/trending/trending.component.ts new file mode 100644 index 0000000..6e064b6 --- /dev/null +++ b/src/app/dashboard/trending/trending.component.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'trending', + styleUrls: ['./trending.component.scss'], + templateUrl: './trending.component.html', +}) +export class TrendingComponent {} diff --git a/src/app/pages/dashboard/weatherWidget/weatherWidget.html b/src/app/dashboard/weather/weather.component.html similarity index 66% rename from src/app/pages/dashboard/weatherWidget/weatherWidget.html rename to src/app/dashboard/weather/weather.component.html index 6a323e4..0780f1b 100644 --- a/src/app/pages/dashboard/weatherWidget/weatherWidget.html +++ b/src/app/dashboard/weather/weather.component.html @@ -1,18 +1,16 @@ -
-
+ +

Now

-
room Minsk, Belarus
-
-
+ +

-11°

-

Cloudy and snow

-
-
+ + diff --git a/src/app/pages/dashboard/weatherWidget/weatherWidget.scss b/src/app/dashboard/weather/weather.component.scss similarity index 81% rename from src/app/pages/dashboard/weatherWidget/weatherWidget.scss rename to src/app/dashboard/weather/weather.component.scss index a1c3acc..dfeb28f 100644 --- a/src/app/pages/dashboard/weatherWidget/weatherWidget.scss +++ b/src/app/dashboard/weather/weather.component.scss @@ -1,10 +1,9 @@ -@import "../dashboard"; +@import '~theme/helpers'; .weather { - height: 329px; .mdl-card__supporting-text { color: $card-text-color; - background: url($images-root + 'weather_bck.png') center center no-repeat; + background: url('assets/images/weather_bck.png') center center no-repeat; background-size: cover; text-align: right; padding-top: 38px; @@ -20,11 +19,12 @@ .weather-description { @include typo-weather-description; position: relative; + color: white; &:before { width: 35px; position: absolute; right: 150px; - content: url($images-root + 'cloudy_and_snow.svg'); + content: url(assets/images/cloudy_and_snow.svg); } } diff --git a/src/app/dashboard/weather/weather.component.ts b/src/app/dashboard/weather/weather.component.ts new file mode 100644 index 0000000..2d4c2a6 --- /dev/null +++ b/src/app/dashboard/weather/weather.component.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'weather', + styleUrls: ['./weather.component.scss'], + templateUrl: './weather.component.html', +}) +export class WeatherComponent {} diff --git a/src/app/error/error.component.html b/src/app/error/error.component.html new file mode 100644 index 0000000..6621d16 --- /dev/null +++ b/src/app/error/error.component.html @@ -0,0 +1,22 @@ +
+ +
diff --git a/src/app/error/error.component.ts b/src/app/error/error.component.ts new file mode 100644 index 0000000..16abd85 --- /dev/null +++ b/src/app/error/error.component.ts @@ -0,0 +1,7 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'error', + templateUrl: './error.component.html', +}) +export class ErrorComponent {} diff --git a/src/app/forms/employer-form/employer-form.component.html b/src/app/forms/employer-form/employer-form.component.html new file mode 100644 index 0000000..e415a00 --- /dev/null +++ b/src/app/forms/employer-form/employer-form.component.html @@ -0,0 +1,212 @@ +
+
+

Form

+
Please complete the form
+
+ +
+
+
+

Personal data

+ +
+
+ + +
+ +
+ + +
+
+ +
+
+ + +
+ +
+ + + + +
    +
  • Male
  • +
  • Female
  • +
+ + +
+
+
+ +
+

Employment

+ +
+
+ + +
+
+ + +
+
+ +
+
+ + +
+
+ + +
    +
  • Young Padawan
  • +
  • Junior
  • +
  • Middle
  • +
  • Senior
  • +
+ +
+
+ + Type of employment: + + + + +
+ +
+

Contacts

+ +
+
+ call + +
+ + +
+
+ +
+ +
    +
  • Mobile
  • +
  • Home
  • +
  • Work
  • +
+ +
+
+ +
+
+ + +
+ + +
+
+ +
+ +
    +
  • Personal
  • +
  • Work
  • +
+ +
+
+ +
+
+ mail_outline + +
+ + +
+
+ +
+ +
    +
  • Personal
  • +
  • Work
  • +
+ +
+
+ +
+
+ place + +
+ + +
+
+ +
+ +
    +
  • Home
  • +
  • Work
  • +
+ +
+
+
+ +
+

General skills

+ +
+ + +
+
+ +
+ + +
+
+
+
diff --git a/src/app/pages/widgets/employer-form/employer-form.scss b/src/app/forms/employer-form/employer-form.component.scss similarity index 95% rename from src/app/pages/widgets/employer-form/employer-form.scss rename to src/app/forms/employer-form/employer-form.component.scss index a486da9..8fda314 100644 --- a/src/app/pages/widgets/employer-form/employer-form.scss +++ b/src/app/forms/employer-form/employer-form.component.scss @@ -1,3 +1,5 @@ +@import '~theme/helpers'; + .employer-form { padding: 0; width: $employer-form-width; @@ -75,11 +77,6 @@ width: 100%; } - h3 { - margin-bottom: 0; - margin-top: 0; - } - .mdl-textfield label { color: $employer-form-color-darker; } @@ -94,10 +91,6 @@ } .employer-form__contacts { - h3 { - margin-bottom: 40px; - } - div { .mdl-textfield.getmdl-select .mdl-textfield__input { color: $employer-form-color-darker; @@ -116,4 +109,4 @@ color: $employer-form-color-brighter; } } -} \ No newline at end of file +} diff --git a/src/app/forms/employer-form/employer-form.component.ts b/src/app/forms/employer-form/employer-form.component.ts new file mode 100644 index 0000000..307f7ab --- /dev/null +++ b/src/app/forms/employer-form/employer-form.component.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'employer-form', + styleUrls: ['./employer-form.component.scss'], + templateUrl: 'employer-form.component.html', +}) +export class EmployerFormComponent {} diff --git a/src/app/forms/forms.component.ts b/src/app/forms/forms.component.ts new file mode 100644 index 0000000..a2185ef --- /dev/null +++ b/src/app/forms/forms.component.ts @@ -0,0 +1,9 @@ +import { Component } from '@angular/core'; + +import { UpgradeDomAfterViewInit } from 'helpers'; + +@Component({ + selector: 'forms', + template: ``, +}) +export class FormsComponent extends UpgradeDomAfterViewInit {} diff --git a/src/app/forms/forms.module.ts b/src/app/forms/forms.module.ts new file mode 100644 index 0000000..5429c5e --- /dev/null +++ b/src/app/forms/forms.module.ts @@ -0,0 +1,22 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule as NgFormsModule } from '@angular/forms'; +import { ThemeModule } from 'theme/theme.module'; + +import { FormsComponent } from './forms.component'; + +import { EmployerFormComponent } from './employer-form/employer-form.component'; + +@NgModule({ + imports: [ + CommonModule, + ThemeModule, + NgFormsModule, + ], + declarations: [ + FormsComponent, + EmployerFormComponent, + ], + providers: [], +}) +export class FormsModule {} diff --git a/src/app/helpers.ts b/src/app/helpers.ts new file mode 100644 index 0000000..1a89d91 --- /dev/null +++ b/src/app/helpers.ts @@ -0,0 +1,9 @@ +declare const componentHandler: any; + +import { AfterViewInit } from '@angular/core'; + +export class UpgradeDomAfterViewInit implements AfterViewInit { + public ngAfterViewInit() { + componentHandler.upgradeDom(); + } +} diff --git a/src/app/index.ts b/src/app/index.ts deleted file mode 100644 index 4d4a9db..0000000 --- a/src/app/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -// App -export * from './app.module'; diff --git a/src/app/layout/layout-routing.module.ts b/src/app/layout/layout-routing.module.ts new file mode 100644 index 0000000..57ac483 --- /dev/null +++ b/src/app/layout/layout-routing.module.ts @@ -0,0 +1,22 @@ +import { Routes, RouterModule } from '@angular/router'; +import { NgModule, ModuleWithProviders } from '@angular/core'; + +import { LayoutComponent } from './layout.component'; +import { DashboardComponent } from 'dashboard/dashboard.component'; +import { FormsComponent } from 'forms/forms.component'; + +@NgModule({ + imports: [RouterModule.forChild([ + { + path: '', + component: LayoutComponent, + children: [ + { path: '', pathMatch: 'full', redirectTo: 'dashboard' }, + { path: 'dashboard', component: DashboardComponent }, + { path: 'forms', component: FormsComponent }, + ], + }, + ])], + exports: [RouterModule], +}) +export class LayoutRoutingModule {} diff --git a/src/app/pages/pages.html b/src/app/layout/layout.component.html similarity index 100% rename from src/app/pages/pages.html rename to src/app/layout/layout.component.html diff --git a/src/app/layout/layout.component.ts b/src/app/layout/layout.component.ts new file mode 100644 index 0000000..30d0002 --- /dev/null +++ b/src/app/layout/layout.component.ts @@ -0,0 +1,7 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'layout', + templateUrl: './layout.component.html' +}) +export class LayoutComponent {} diff --git a/src/app/layout/layout.module.ts b/src/app/layout/layout.module.ts new file mode 100644 index 0000000..a9072c1 --- /dev/null +++ b/src/app/layout/layout.module.ts @@ -0,0 +1,22 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; + +import { LayoutRoutingModule } from './layout-routing.module'; +import { LayoutComponent } from './layout.component'; +import { ThemeModule } from 'theme/theme.module'; +import { DashboardModule } from 'dashboard/dashboard.module'; +import { FormsModule } from 'forms/forms.module'; + +@NgModule({ + imports: [ + CommonModule, + ThemeModule, + LayoutRoutingModule, + DashboardModule, + FormsModule, + ], + declarations: [ + LayoutComponent, + ] +}) +export class LayoutModule {} diff --git a/src/app/login/login.component.html b/src/app/login/login.component.html new file mode 100644 index 0000000..c0ff322 --- /dev/null +++ b/src/app/login/login.component.html @@ -0,0 +1,35 @@ + diff --git a/src/app/login/login.component.scss b/src/app/login/login.component.scss new file mode 100644 index 0000000..d0d712f --- /dev/null +++ b/src/app/login/login.component.scss @@ -0,0 +1,68 @@ +.login, .not-found { + .mdl-button { + font-weight: 500; + } + font-family: Roboto, Helvetica, sans-serif; + font-size: 14px; + .mdl-card__login.mdl-card, .mdl-card__not-found.mdl-card { + width: 450px; + min-height: 500px; + margin: auto; + .mdl-card__supporting-text { + min-height: inherit; + width: 100%; + padding: 32px 24px; + box-sizing: border-box; + .mdl-card__title-text { + font-size: 17px; + font-weight: bold; + } + .login-name { + font-size: 24px; + display: block; + padding: 0 0 8px 0; + } + + .login-link { + padding: 12px 0; + } + + .login-link, .login-link * { + display: inline-block; + font-size: 14px; + font-weight: inherit; + color: #dddddd; + } + .underlined { + display: inline-block; + border-bottom: 1px solid $color-light-blue; + } + .checkbox--inline { + display: inline; + padding-top: 4px; + padding-left: 35px; + } + .submit-cell { + display: flex; + } + + .text--huge { + font-size: 120px; + font-weight: bold; + display: inline-block; + padding: 100px 0 40px 0; + } + + .text--sorry { + font-size: 28px; + font-weight: 300; + } + + .alignment--bottom-right { + position: absolute; + bottom: 39px; + right: 46px; + } + } + } +} diff --git a/src/app/login/login.component.ts b/src/app/login/login.component.ts new file mode 100644 index 0000000..eff54b2 --- /dev/null +++ b/src/app/login/login.component.ts @@ -0,0 +1,7 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'login', + templateUrl: './login.component.html', +}) +export class LoginComponent {} diff --git a/src/app/pages/dashboard/cotoneasterCard/cotoneasterCard.component.ts b/src/app/pages/dashboard/cotoneasterCard/cotoneasterCard.component.ts deleted file mode 100644 index 4386408..0000000 --- a/src/app/pages/dashboard/cotoneasterCard/cotoneasterCard.component.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { Component, ViewEncapsulation } from '@angular/core'; - -@Component({ - selector: 'cotoneaster-card', - // styleUrls: ['./cotoneasterCard.scss'], - templateUrl: './cotoneasterCard.html', - // encapsulation: ViewEncapsulation.None -}) -export class CotoneasterCardComponent { - - constructor() { - console.log('CotoneasterCardComponent component'); - } -} diff --git a/src/app/pages/dashboard/cotoneasterCard/index.ts b/src/app/pages/dashboard/cotoneasterCard/index.ts deleted file mode 100644 index ecbdab0..0000000 --- a/src/app/pages/dashboard/cotoneasterCard/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './cotoneasterCard.component'; diff --git a/src/app/pages/dashboard/dashboard.component.ts b/src/app/pages/dashboard/dashboard.component.ts deleted file mode 100644 index 2384a40..0000000 --- a/src/app/pages/dashboard/dashboard.component.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Component } from '@angular/core'; - -@Component({ - selector: 'dashboard', - styleUrls: ['./dashboard.scss'], - templateUrl: './dashboard.html' -}) -export class DashboardComponent { - - constructor() { - console.log('dashboard component'); - } -} diff --git a/src/app/pages/dashboard/dashboard.routing.ts b/src/app/pages/dashboard/dashboard.routing.ts deleted file mode 100644 index 7a461eb..0000000 --- a/src/app/pages/dashboard/dashboard.routing.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { Routes, RouterModule } from '@angular/router'; - -import { DashboardComponent } from './dashboard.component'; -import { ModuleWithProviders } from '@angular/core'; - -export const routes: Routes = [ - { - path: '', component: DashboardComponent - } -]; - -export const routing: ModuleWithProviders = RouterModule.forChild(routes); diff --git a/src/app/pages/dashboard/dashboard.scss b/src/app/pages/dashboard/dashboard.scss deleted file mode 100644 index fa56781..0000000 --- a/src/app/pages/dashboard/dashboard.scss +++ /dev/null @@ -1,2 +0,0 @@ -@import "../../theme/theme"; - diff --git a/src/app/pages/dashboard/index.ts b/src/app/pages/dashboard/index.ts deleted file mode 100644 index bbaa54e..0000000 --- a/src/app/pages/dashboard/index.ts +++ /dev/null @@ -1,9 +0,0 @@ -export * from './dashboard.component'; -export * from './cotoneasterCard'; -export * from './weatherWidget'; -export * from './lineChart'; -export * from './tableCard'; -export * from './robotCard'; -export * from './todoList'; -export * from './trendingWidget'; -export * from './pieChart'; diff --git a/src/app/pages/dashboard/lineChart/index.ts b/src/app/pages/dashboard/lineChart/index.ts deleted file mode 100644 index ca8ca45..0000000 --- a/src/app/pages/dashboard/lineChart/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './lineChart.component'; diff --git a/src/app/pages/dashboard/lineChart/lineChart.component.ts b/src/app/pages/dashboard/lineChart/lineChart.component.ts deleted file mode 100644 index 623ad27..0000000 --- a/src/app/pages/dashboard/lineChart/lineChart.component.ts +++ /dev/null @@ -1,285 +0,0 @@ -import { Component, ViewEncapsulation } from '@angular/core'; - -@Component({ - selector: 'line-chart', - styleUrls: ['./lineChart.scss'], - templateUrl: './lineChart.html', - encapsulation: ViewEncapsulation.None -}) -export class LineChartComponent { - -/* - constructor(columns, color, margin, data, nv) { - this.columns = columns; - this.color = color; - this.margin = margin; - this.data = data; - this.nv = nv; - this.maxX = 130; - this.drawStep = 6; // It shows how many points will be drawn in one step - this.durationResizeAnimation = 500; - } - - _addSvgContainer() { - this.svg = d3.select('.line-chart__container') - .append('div') - .append('svg'); - } - - _getSvgSizes() { - let svgWidth = getComputedStyle(this.svg[0][0]).width, - svgHeight = getComputedStyle(this.svg[0][0]).height; - this.svgWidth = svgWidth.slice(0, svgWidth.length - 2); - this.svgHeight = svgHeight.slice(0, svgHeight.length - 2) - this.margin; - } - - _addAxisLabels() { - d3.selectAll('.line-chart__container svg .y-axis-label') - .remove(); - d3.select('.line-chart__container svg') - .append('text') - .attr('class', 'y-axis-label') - .attr('x', '-72') - .attr('y', '12') - .attr('transform', 'rotate(-90)') - .text('REVENUE'); - d3.select('.line-chart__container svg') - .append('text') - .attr('class', 'x-axis-label') - .text('TIME'); - } - - _buildBackground() { - this._addSvgContainer(); - this._getSvgSizes(); - - let bars = []; - for (let i = 0; i < this.columns; i++) { - bars.push(this.svgHeight); - } - - this.barsLayout = this.svg.append('g') - .attr('class', 'bars') - .attr('transform', 'translate(' + this.margin + ', 0)') - .selectAll('rect') - .data(bars) - .enter() - .append('rect'); - - this._addAxisLabels(); - - this._setBackgroundSizes(); - } - - _setBackgroundSizes() { - let availableBarWidth = (this.svgWidth - 2 * this.margin) / this.columns, - barWidth = availableBarWidth / 2; - this.barsLayout - .attr('fill', this.color) - .attr('y', this.margin) - .attr('height', function (d, i) { - return d; - }) - .transition().duration(this.durationResizeAnimation) - .attr('width', barWidth) - .attr('x', function (d, i) { - return i * availableBarWidth; - }); - d3.select('.line-chart__container svg .x-axis-label') - .transition().duration(this.durationResizeAnimation) - .attr('x', this.svgWidth - this.margin - 30) - .attr('y', this.svgHeight - (this.svgHeight) / 4 + this.margin + 14); - } - - drawChart() { - this._buildBackground(); - this._buildLegend(); - this._buildNvGraph(); - this._animateGraphs(); - } - - _buildNvGraph() { - this._tuneNvGraph(); - - nv.addGraph(() => { - this.svg.datum(this.data) - .transition().duration(0) - .call(this.lineChart); - nv.utils.windowResize(this.resizeBackground.bind(this)); - nv.utils.windowResize(this.lineChart.update); - return this.lineChart; - }); - } - - _tuneNvGraph() { - this.lineChart = nv.models.lineChart() - .margin({top: this.margin, right: this.margin, bottom: 0, left: this.margin}) - .useInteractiveGuideline(true) - .xDomain([0, 13.6]) - .yDomain([-1.01, 3]) - .showLegend(false) - .showYAxis(true) - .showXAxis(true) - .pointSize(5); - - this.lineChart.tooltip.enabled(false); - this.lineChart.interactiveLayer.tooltip.enabled(false); - - this.lineChart.xAxis - .showMaxMin(false) - .tickValues([0]) - .tickFormat(d3.format('c')); - - this.lineChart.yAxis - .showMaxMin(false) - .ticks(10) - .tickFormat(d3.format('c')); - } - - _buildLegend() { - let legend = d3.select('.line-chart__container') - .append('div') - .attr('class', 'legend') - .selectAll('.legend__item') - .data(this.data) - .enter() - .append('div') - .attr('class', 'legend__item'); - - legend.append('div') - .attr('class', 'legend__mark pull-left') - .style('background-color', d => { - return d.color; - }); - - legend.append('div') - .attr('class', 'legend__text') - .text(d => { - return d.key; - }); - } - - resizeBackground() { - this._getSvgSizes(); - this._setBackgroundSizes(); - } - - _animateGraphs() { - let i = 1; - this.timer = setInterval(() => { - this._calcAllGraphs(i); - this._drawNextStep(i); - i++; - this._checkEndOfAnimation(i); - }, 15); - } - - _drawNextStep(i) { - if (i % this.drawStep == 0 || i == this.maxX) { - this.lineChart.update(); - } - } - - _checkEndOfAnimation(i) { - if (i == this.maxX + 1) { - this.lineChart.duration(this.durationResizeAnimation); - this.data[1].fillOpacity = 0.11; - this.lineChart.update(); - clearInterval(this.timer); - } - } - - _calcAllGraphs(i) { - this._calcFirstGraph(i); - this._calcSecondGraph(i); - this._calcThirdGraph(i); - } - - _calcFirstGraph(i) { - const INTERVAL_1 = 28, - INTERVAL_2 = 71, - INTERVAL_3 = 110; - let graphAwesome = this.data[0].values; - - if (i < INTERVAL_1) { - graphAwesome.push({x: i / 10, y: (.0343 * i * i - .67 * i) / 14}); - } - else { - if (i < INTERVAL_2) { - graphAwesome.push({x: i / 10, y: -(i - 71) * (i - 71) / 1026 + 2.378}); - } - else { - if (i < INTERVAL_3) { - graphAwesome.push({x: i / 10, y: -4 / (i - 43) + 2.53}); - } - else { - graphAwesome.push({x: i / 10, y: ((i - 114) * (i - 114) * (i - 114)) / 13000 + 2.476}); - } - } - } - } - - _calcSecondGraph(i) { - const INTERVAL_1 = 30, - INTERVAL_2 = 82; - let graphGood = this.data[1].values; - - if (i < INTERVAL_1) { - graphGood.push({x: i / 10, y: (.03255 * i * i - .96 * i) / 16}); - } - else { - if (i < INTERVAL_2) { - graphGood.push({x: i / 10, y: (-.01055 * (i - 80.3) * (i - 80.3) + 27) / 15}); - } - else { - graphGood.push({x: i / 10, y: (((i / 2) - 45) * ((i / 2) - 45) * ((i / 2) - 45)) / 15000 + 1.805}); - } - } - } - - _calcThirdGraph(i) { - const INTERVAL_1 = 31, - INTERVAL_2 = 103; - let graphFail = this.data[2].values; - - if (i < INTERVAL_1) { - graphFail.push({x: i / 10, y: (.02255 * i * i - .91 * i) / 13}); - } - else { - if (i < INTERVAL_2) { - graphFail.push({x: i / 10, y: .82 * Math.sin((i - 45) / 21)}); - } - else { - graphFail.push({x: i / 10, y: -(i - 130) * (i - 130) * (i - 130) / 64000}); - } - } - } -} - -let data = [ - { - values: [{x: 0, y: 0}], - key: 'Awesome', - color: 'rgb(80, 150, 215)' - }, - { - values: [{x: 0, y: 0}], - key: 'Good', - color: 'rgb(0, 188, 212)', - fillOpacity: 0.00001, - area: true - }, - { - values: [{x: 0, y: 0}], - key: 'Fail', - color: 'rgb(255, 82, 82)' - } -]; -let lineChartContainer = document.querySelector('.line-chart__container'); -if (lineChartContainer) { - let lineChart = new LineChart(7, '#4a4a4a', 20, data, nv); - lineChart.drawChart(); -} -*/ - -} diff --git a/src/app/pages/dashboard/lineChart/lineChart.html b/src/app/pages/dashboard/lineChart/lineChart.html deleted file mode 100644 index 040bd6f..0000000 --- a/src/app/pages/dashboard/lineChart/lineChart.html +++ /dev/null @@ -1,10 +0,0 @@ -
-
-

Startup Financing Cycle

-
-
-
- -
-
-
diff --git a/src/app/pages/dashboard/pieChart/index.ts b/src/app/pages/dashboard/pieChart/index.ts deleted file mode 100644 index 70e269e..0000000 --- a/src/app/pages/dashboard/pieChart/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './pieChart.component' diff --git a/src/app/pages/dashboard/pieChart/pieChart.component.ts b/src/app/pages/dashboard/pieChart/pieChart.component.ts deleted file mode 100644 index 600de15..0000000 --- a/src/app/pages/dashboard/pieChart/pieChart.component.ts +++ /dev/null @@ -1,164 +0,0 @@ -import { Component, OnInit, ViewEncapsulation } from '@angular/core'; - -@Component({ - selector: 'pie-chart', - styleUrls: ['./pieChart.scss'], - templateUrl: './pieChart.html', - encapsulation: ViewEncapsulation.None -}) -export class PieChartComponent implements OnInit{ - - constructor() { - console.log('PieChartComponent component'); - } - - ngOnInit() { - { - var colors = [ - 'rgba(96, 196, 150, 1)', - 'rgba(80, 150, 215, 1)', - 'rgba(0, 188, 212, 1)', - 'rgba(116, 199, 209, 1)', - 'rgba(255, 82, 82, 1)', - 'rgba(0, 0, 0, 0)' - ]; - - var data = [ - { - 'key': 'Coding', - 'y': 0, - 'end': 9 - }, - { - 'key': 'Eating', - 'y': 0, - 'end': 3 - }, - { - 'key': 'Sleeping', - 'y': 0, - 'end': 3 - }, - { - 'key': 'Meditation', - 'y': 0, - 'end': 3 - }, - { - 'key': 'The fight against evil', - 'y': 0, - 'end': 6 - } - , - { - 'key': 'Pending', - 'y': 23.9 - } - ]; - - /* nv.addGraph(() => { - var innerRadius = 0.86, - outerRadius = 1.02; - - var pieChart = nv.models.pieChart() - .x(d => {return d.key;}) - .y(d => {return d.y;}) - .showLabels(false) - .donut(true) - .growOnHover(true) - .padAngle(.04) - .cornerRadius(0) - .margin({'left': -10, 'right': -10, 'top': -10, 'bottom': -10}) - .color(colors) - .arcsRadius([{'inner': innerRadius, 'outer': outerRadius}, - {'inner': innerRadius, 'outer': outerRadius}, - {'inner': innerRadius, 'outer': outerRadius}, - {'inner': innerRadius, 'outer': outerRadius}, - {'inner': innerRadius, 'outer': outerRadius} - ]) - .showLegend(false) - .title('0 hours') - .titleOffset(10); - - pieChart.tooltip.enabled(true) - .hideDelay(0) - .headerEnabled(false) - .contentGenerator(d => { - if (d === null) { - return ''; - } - d3.selectAll('.nvtooltip').classed('mdl-tooltip', true); - return d.data.y + ' hours'; - }); - - var container = d3.select('.pie-chart__container') - .append('div') - .append('svg') - .datum(data) - .transition().duration(1200) - .call(pieChart); - - var h = 0, i = 0; - var timer = setInterval(animatePie, 70, data); - - function animatePie(data) { - if (i < data.length - 1) { - if (data[i].y < data[i].end) { - data[i].y++; - data[data.length - 1].y--; - pieChart.title((h + 1) + ' hours'); - h++; - } - else { - i++; - } - } - else { - data.splice(data.length - 1, 1); - clearInterval(timer); - return; - } - if (container[0][0]) { - pieChart.update(); - } - else { - clearInterval(timer); - } - } - - d3.select('.pie-chart__container .nv-pie .nv-pie') - .append('image') - .attr('width', '30') - .attr('height', '30') - .attr('xlink:href', 'images/watch_white.svg') - .attr('transform', 'translate(-15,-35)'); - - var color = d3.scale.ordinal().range(colors); - - var legend = d3.select('.pie-chart__container') - .append('div') - .attr('class', 'legend') - .selectAll('.legend__item') - .data(data.slice(0, data.length - 1)) - .enter() - .append('div') - .attr('class', 'legend__item'); - - legend.append('div') - .attr('class', 'legend__mark pull-left') - .style('background-color', d => { - return color(d.key); - }); - - legend.append('div') - .attr('class', 'legend__text') - .text(d => { - return d.key; - }); - - return pieChart; - });*/ - } - - } -} diff --git a/src/app/pages/dashboard/pieChart/pieChart.html b/src/app/pages/dashboard/pieChart/pieChart.html deleted file mode 100644 index fabdd17..0000000 --- a/src/app/pages/dashboard/pieChart/pieChart.html +++ /dev/null @@ -1,10 +0,0 @@ -
-
-

My Day

-
-
-
- -
-
-
diff --git a/src/app/pages/dashboard/robotCard/index.ts b/src/app/pages/dashboard/robotCard/index.ts deleted file mode 100644 index af88b6a..0000000 --- a/src/app/pages/dashboard/robotCard/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './robotCard.component'; diff --git a/src/app/pages/dashboard/robotCard/robotCard.component.ts b/src/app/pages/dashboard/robotCard/robotCard.component.ts deleted file mode 100644 index 829da75..0000000 --- a/src/app/pages/dashboard/robotCard/robotCard.component.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Component, ViewEncapsulation } from '@angular/core'; - -@Component({ - selector: 'robot-card', - styleUrls: ['./robotCard.scss'], - templateUrl: './robotCard.html', - encapsulation: ViewEncapsulation.None -}) -export class RobotCardComponent { - -} diff --git a/src/app/pages/dashboard/tableCard/index.ts b/src/app/pages/dashboard/tableCard/index.ts deleted file mode 100644 index 30c727c..0000000 --- a/src/app/pages/dashboard/tableCard/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './tableCard.component'; diff --git a/src/app/pages/dashboard/tableCard/tableCard.component.ts b/src/app/pages/dashboard/tableCard/tableCard.component.ts deleted file mode 100644 index d378290..0000000 --- a/src/app/pages/dashboard/tableCard/tableCard.component.ts +++ /dev/null @@ -1,104 +0,0 @@ -import { Component, ViewEncapsulation } from '@angular/core'; - -@Component({ - selector: 'table-card', - styleUrls: ['./tableCard.scss'], - templateUrl: './tableCard.html', - encapsulation: ViewEncapsulation.None -}) -export class TableCardComponent { - - tableHeader: string[]; - data: Object[]; - - constructor() { - let task1 = document.querySelector('#task1'), - task2 = document.querySelector('#task2'), - task4 = document.querySelector('#task4'); - - /* if (task1 && task2 && task4) { - task1.addEventListener('mdl-componentupgraded', () => { - task1.MaterialProgress.setProgress(44); - }); - task2.addEventListener('mdl-componentupgraded', () => { - task2.MaterialProgress.setProgress(14); - }); - task4.addEventListener('mdl-componentupgraded', () => { - task4.MaterialProgress.setProgress(31); - }); - - setTimeout(() => { - document.querySelector('.projects-table .is-selected td > label').classList.add('is-checked'); - componentHandler.upgradeDom(); - }, 100); - }*/ - - this.tableHeader = ['Project', 'Responsible', 'Client contact', 'Deadline', 'Progress']; - this.data = [ - { - project: 'Darkboard', - responsible: [ - { - color: 'mint', - name: 'Alex' - }, - { - color: 'primary', - name: 'Dina' - }, - { - color: 'cerulean', - name: 'Misha' - } - ], - email: 'Luke@skywalker.com', - deadline: 'Jun 15', - progress: 44, - isSelected: false - }, - { - project: 'Big financial app', - responsible: [ - { - color: 'baby-blue', - name: 'Vlada' - } - ], - email: 'Boss@financial.com', - deadline: 'Mar 1', - progress: 14, - isSelected: true - }, - { - project: 'New Year office decoration', - responsible: [ - { - color: 'primary', - name: 'Dina' - }, - { - color: 'baby-blue', - name: 'Vlada' - } - ], - email: 'info@creativeit.io', - deadline: 'Dec 25', - progress: 100, - isSelected: false - }, - { - project: "Don't worry, be happy!!!", - responsible: [ - { - color: 'secondary', - name: 'Everybody' - } - ], - email: 'Contact@happyness.com', - deadline: 'Yesterday', - progress: 31, - isSelected: false - } - ] - } -} diff --git a/src/app/pages/dashboard/tableCard/tableCard.scss b/src/app/pages/dashboard/tableCard/tableCard.scss deleted file mode 100644 index e720d89..0000000 --- a/src/app/pages/dashboard/tableCard/tableCard.scss +++ /dev/null @@ -1,45 +0,0 @@ -@import "../dashboard"; - -.projects-table { - width: 100%; - tbody { - td:nth-child(1) { - width: 1px; - } - td:nth-child(2) { - width: 300px; - } - td:nth-child(3) { - width: 240px; - } - td:nth-child(4) { - width: 300px; - } - td:nth-child(5) { - width: 200px; - } - td:nth-child(6) { - width: 300px; - .mdl-progress { - cursor: pointer; - min-width: 80px; - max-width: 200px; - } - } - .task-done { - padding-top: 6px !important; - padding-bottom: 0 !important; - color: $progress-main-color; - .material-icons { - cursor: pointer; - } - } - } -} - -@media screen and (max-width: 848px) { - .projects-table { - display: none; - } -} - diff --git a/src/app/pages/dashboard/todoList/index.ts b/src/app/pages/dashboard/todoList/index.ts deleted file mode 100644 index 8a23c1c..0000000 --- a/src/app/pages/dashboard/todoList/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './todoList.component'; diff --git a/src/app/pages/dashboard/todoList/todoList.component.ts b/src/app/pages/dashboard/todoList/todoList.component.ts deleted file mode 100644 index 49a1add..0000000 --- a/src/app/pages/dashboard/todoList/todoList.component.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Component, ViewEncapsulation } from '@angular/core'; - -@Component({ - selector: 'todo-list', - styleUrls: ['./todoList.scss'], - templateUrl: './todoList.html', - encapsulation: ViewEncapsulation.None -}) -export class TodoListComponent { -} diff --git a/src/app/pages/dashboard/todoList/todoList.html b/src/app/pages/dashboard/todoList/todoList.html deleted file mode 100644 index b6e0a70..0000000 --- a/src/app/pages/dashboard/todoList/todoList.html +++ /dev/null @@ -1,17 +0,0 @@ -
-
-

To-do list

-
-
-
    - -
-
-
- - -
-
diff --git a/src/app/pages/dashboard/trendingWidget/index.ts b/src/app/pages/dashboard/trendingWidget/index.ts deleted file mode 100644 index 566db77..0000000 --- a/src/app/pages/dashboard/trendingWidget/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './trendingWidget.component'; diff --git a/src/app/pages/dashboard/trendingWidget/trendingWidget.component.ts b/src/app/pages/dashboard/trendingWidget/trendingWidget.component.ts deleted file mode 100644 index d8092e5..0000000 --- a/src/app/pages/dashboard/trendingWidget/trendingWidget.component.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Component, ViewEncapsulation } from '@angular/core'; - -@Component({ - selector: 'trending-widget', - styleUrls: ['./trendingWidget.scss'], - templateUrl: './trendingWidget.html', - encapsulation: ViewEncapsulation.None -}) -export class TrendingWidgetComponent { -} diff --git a/src/app/pages/dashboard/trendingWidget/trendingWidget.html b/src/app/pages/dashboard/trendingWidget/trendingWidget.html deleted file mode 100644 index c6303fc..0000000 --- a/src/app/pages/dashboard/trendingWidget/trendingWidget.html +++ /dev/null @@ -1,44 +0,0 @@ - diff --git a/src/app/pages/dashboard/weatherWidget/index.ts b/src/app/pages/dashboard/weatherWidget/index.ts deleted file mode 100644 index 1e41a64..0000000 --- a/src/app/pages/dashboard/weatherWidget/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './weatherWidget.component'; diff --git a/src/app/pages/dashboard/weatherWidget/weatherWidget.component.ts b/src/app/pages/dashboard/weatherWidget/weatherWidget.component.ts deleted file mode 100644 index 952e543..0000000 --- a/src/app/pages/dashboard/weatherWidget/weatherWidget.component.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { Component, ViewEncapsulation } from '@angular/core'; - -@Component({ - selector: 'weather-widget', - styleUrls: ['./weatherWidget.scss'], - templateUrl: './weatherWidget.html', - encapsulation: ViewEncapsulation.None -}) -export class WeatherWidgetComponent { - - constructor() { - console.log('WeatherWidgetComponent component'); - } -} diff --git a/src/app/pages/index.ts b/src/app/pages/index.ts deleted file mode 100644 index b58b6c9..0000000 --- a/src/app/pages/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './dashboard'; diff --git a/src/app/pages/pages-routing.module.ts b/src/app/pages/pages-routing.module.ts new file mode 100644 index 0000000..e96cec6 --- /dev/null +++ b/src/app/pages/pages-routing.module.ts @@ -0,0 +1,21 @@ +import { Routes, RouterModule } from '@angular/router'; +import { NgModule, ModuleWithProviders } from '@angular/core'; + +import { PagesComponent } from './pages.component'; +import { ErrorComponent } from 'error/error.component'; +import { LoginComponent } from 'login/login.component'; + +@NgModule({ + imports: [RouterModule.forChild([ + { + path: '', + component: PagesComponent, + children: [ + { path: '404', component: ErrorComponent }, + { path: 'login', component: LoginComponent }, + ], + }, + ])], + exports: [RouterModule], +}) +export class PagesRoutingModule {} diff --git a/src/app/pages/pages.component.ts b/src/app/pages/pages.component.ts index a08d65b..de567bd 100644 --- a/src/app/pages/pages.component.ts +++ b/src/app/pages/pages.component.ts @@ -2,12 +2,6 @@ import { Component } from '@angular/core'; @Component({ selector: 'pages', - templateUrl: './pages.html' + template: ``, }) -export class PagesComponent { - - constructor() { - console.log('pages component'); - } - -} +export class PagesComponent {} diff --git a/src/app/pages/pages.module.ts b/src/app/pages/pages.module.ts index bbb685d..6396257 100644 --- a/src/app/pages/pages.module.ts +++ b/src/app/pages/pages.module.ts @@ -1,19 +1,22 @@ -import { NgModule } from '@angular/core'; -import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; -import { routing } from './pages.routing'; +import { PagesRoutingModule } from './pages-routing.module'; import { PagesComponent } from './pages.component'; -import { NgaModule } from '../theme/nga.module'; +import { ErrorComponent } from 'error/error.component'; +import { LoginComponent } from 'login/login.component'; +import { ThemeModule } from 'theme/theme.module'; @NgModule({ imports: [ CommonModule, - NgaModule, - routing + ThemeModule, + PagesRoutingModule, ], declarations: [ - PagesComponent + PagesComponent, + ErrorComponent, + LoginComponent, ] }) -export class PagesModule { -} +export class PagesModule {} diff --git a/src/app/pages/pages.routing.ts b/src/app/pages/pages.routing.ts deleted file mode 100644 index cb7119b..0000000 --- a/src/app/pages/pages.routing.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { Routes, RouterModule } from '@angular/router'; -import { PagesComponent } from './pages.component'; -import { ModuleWithProviders } from '@angular/core'; -// noinspection TypeScriptValidateTypes - -// export function loadChildren(path) { return System.import(path); }; - -export const routes: Routes = [ - { - path: 'pages', - component: PagesComponent, - children: [ - {path: '', redirectTo: 'dashboard', pathMatch: 'full'}, - {path: 'dashboard', loadChildren: 'app/pages/dashboard/dashboard.module#DashboardModule'} - ] - } -]; - -export const routing: ModuleWithProviders = RouterModule.forChild(routes); diff --git a/src/app/pages/widgets/charts/chart1.js b/src/app/pages/widgets/charts/chart1.js deleted file mode 100644 index 4047ba2..0000000 --- a/src/app/pages/widgets/charts/chart1.js +++ /dev/null @@ -1,131 +0,0 @@ -'use strict'; - -(() => { - let container = d3.select('.chart1__container'); - if (container[0][0]) { - var colors = [ - '#7726d3', - '#ff5252', - '#ffc107', - '#00bcd4', - '#51a8f9' - ]; - - var data = [ - { - 'key': 'Chrome', - 'y': 42 - }, - { - 'key': 'Opera', - 'y': 13 - }, - { - 'key': 'Safari', - 'y': 14 - }, - { - 'key': 'Firefox', - 'y': 17 - }, - { - 'key': 'IE & Edge', - 'y': 16 - } - ]; - var pieChart; - - nv.addGraph(() => { - var innerRadius = 0.03, - outerRadius = 0.02; - - pieChart = nv.models.pieChart() - .x(d => {return d.key;}) - .y(d => {return d.y;}) - .showLabels(false) - .donut(true) - .growOnHover(true) - .padAngle(.03) - .margin({'left': -10, 'right': -10, 'top': -10, 'bottom': -10}) - .color(colors) - .arcsRadius([{'inner': innerRadius, 'outer': outerRadius}, - {'inner': innerRadius, 'outer': outerRadius}, - {'inner': innerRadius, 'outer': outerRadius}, - {'inner': innerRadius, 'outer': outerRadius}, - {'inner': innerRadius, 'outer': outerRadius} - ]) - .showLegend(false) - //.title('0 hours') - .titleOffset(10); - - pieChart.tooltip.enabled(false); - - container.append('div') - .append('svg') - .datum(data) - .transition().duration(1200) - .call(pieChart); - - var h = 0, i = 0.35; - var timer = setInterval(animatePie, 70); - - function animatePie() { - if (outerRadius < 1.02) { - pieChart.arcsRadius([{'inner': innerRadius, 'outer': outerRadius}, - {'inner': innerRadius, 'outer': outerRadius}, - {'inner': innerRadius, 'outer': outerRadius}, - {'inner': innerRadius, 'outer': outerRadius}, - {'inner': innerRadius, 'outer': outerRadius} - ]).update(); - outerRadius += i; - (i > 0.2)? i -= 0.05 : i; - } else { - outerRadius = 1.02; - pieChart.arcsRadius([{'inner': innerRadius, 'outer': outerRadius}, - {'inner': innerRadius, 'outer': outerRadius}, - {'inner': innerRadius, 'outer': outerRadius}, - {'inner': innerRadius, 'outer': outerRadius}, - {'inner': innerRadius, 'outer': outerRadius} - ]) - .showLabels(true) - .labelType("percent") - .update(); - clearInterval(timer); - } - } - - //d3.select('.nv-pie .nv-pie') - // .append('image') - // .attr('width', '30') - // .attr('height', '30') - // .attr('xlink:href', 'images/watch_white.svg') - // .attr('transform', 'translate(-15,-35)'); - - var color = d3.scale.ordinal().range(colors); - - var legend = container.append('div') - .attr('class', 'legend') - .selectAll('.legend__item') - .data(data) - .enter() - .append('div') - .attr('class', 'legend__item'); - - legend.append('div') - .attr('class', 'legend__mark pull-left') - .style('background-color', d => { - return color(d.key); - }); - - legend.append('div') - .attr('class', 'legend__text') - .text(d => { - return d.key; - }); - - return pieChart; - }); - } - -})(); - diff --git a/src/app/pages/widgets/charts/chart2.js b/src/app/pages/widgets/charts/chart2.js deleted file mode 100644 index 51d6965..0000000 --- a/src/app/pages/widgets/charts/chart2.js +++ /dev/null @@ -1,137 +0,0 @@ -'use strict'; - -(() => { - let container = d3.select('.chart2__container'); - if (container[0][0]) { - var colors = [ - '#7726d3', - '#ff5252', - '#ffc107', - '#00bcd4', - '#51a8f9' - ]; - - var data = [ - { - 'key': 'United States', - 'y': 31 - }, - { - 'key': 'Belarus', - 'y': 26 - }, - { - 'key': 'Italy', - 'y': 18 - }, - { - 'key': 'France', - 'y': 15 - }, - { - 'key': 'Other', - 'y': 10 - } - ]; - - nv.addGraph(() => { - var innerRadius = 0.06, - outerRadius = 1.02; - - var pieChart = nv.models.pieChart() - .x(d => {return d.key;}) - .y(d => {return d.y;}) - .showLabels(false) - .donut(true) - .growOnHover(true) - .padAngle(.04) - .cornerRadius(0) - .margin({'left': -10, 'right': -10, 'top': -10, 'bottom': -10}) - .color(colors) - .arcsRadius([{'inner': innerRadius, 'outer': outerRadius}, - {'inner': innerRadius, 'outer': outerRadius}, - {'inner': innerRadius, 'outer': outerRadius}, - {'inner': innerRadius, 'outer': outerRadius}, - {'inner': innerRadius, 'outer': outerRadius} - ]) - .showLegend(false) - .title('0%'); - - pieChart.tooltip.enabled(true) - .hideDelay(0) - .headerEnabled(false) - .contentGenerator(d => { - if (d === null) { - return ''; - } - d3.selectAll('.nvtooltip').classed('mdl-tooltip', true); - return d.data.y + '%'; - }); - - container.append('div') - .append('svg') - .datum(data) - .transition().duration(1200) - .call(pieChart); - - var h = 0, i = 0.08; - var sum = 0; - data.forEach((item) => { - sum = sum + item.y; - }); - - var timer = setInterval(animatePie, 30, data); - - function animatePie() { - if (innerRadius < 0.86) { - pieChart.arcsRadius([{'inner': innerRadius, 'outer': outerRadius}, - {'inner': innerRadius, 'outer': outerRadius}, - {'inner': innerRadius, 'outer': outerRadius}, - {'inner': innerRadius, 'outer': outerRadius}, - {'inner': innerRadius, 'outer': outerRadius} - ]) - .title(h + '%') - .update(); - innerRadius += i; - h += 10; - } else { - innerRadius = 0.86; - pieChart.arcsRadius([{'inner': innerRadius, 'outer': outerRadius}, - {'inner': innerRadius, 'outer': outerRadius}, - {'inner': innerRadius, 'outer': outerRadius}, - {'inner': innerRadius, 'outer': outerRadius}, - {'inner': innerRadius, 'outer': outerRadius} - ]) - .update(); - clearInterval(timer); - } - } - - var color = d3.scale.ordinal().range(colors); - - var legend = container.append('div') - .attr('class', 'legend') - .selectAll('.legend__item') - .data(data) - .enter() - .append('div') - .attr('class', 'legend__item'); - - legend.append('div') - .attr('class', 'legend__mark pull-left') - .style('background-color', d => { - return color(d.key); - }); - - legend.append('div') - .attr('class', 'legend__text') - .text(d => { - return d.key; - }); - - return pieChart; - }); - } - -})(); - diff --git a/src/app/pages/widgets/charts/discreteBarChart.js b/src/app/pages/widgets/charts/discreteBarChart.js deleted file mode 100644 index 5a9f2ef..0000000 --- a/src/app/pages/widgets/charts/discreteBarChart.js +++ /dev/null @@ -1,93 +0,0 @@ -'use strict'; - -(() => { - - var colors = [ - '#7726d3', - '#ff5252', - '#ffc107', - '#00bcd4', - '#51a8f9', - '#7726d3', - '#ff5252' - ]; - - var data = [{ - key: "Cumulative Return", - values: [ - { - "label" : "A" , - "value" : 22 - } , - { - "label" : "B" , - "value" : 31 - } , - { - "label" : "C" , - "value" : -5 - } , - { - "label" : "D" , - "value" : 16 - } , - { - "label" : "E" , - "value" : 19 - } , - { - "label" : "F" , - "value" : 26 - } , - { - "label" : "G" , - "value" : 9 - } - ] - }]; - - - nv.addGraph(function() { - var chart = nv.models.discreteBarChart() - .x(function(d) { return d.label }) - .y(function(d) { return d.value }) - .yDomain([-10, 40]) - .yRange([150,-40]) - .staggerLabels(false) - .showValues(true); - - d3.select('.discrete-bar-chart__container') - .append('div') - .append('svg') - .datum(data) - .transition().duration(1200) - .call(chart); - - nv.utils.windowResize(chart.update); - - var legend = d3.select('.discrete-bar-chart__container') - .append('div') - .attr('class', 'legend') - .selectAll('.legend__item') - .data(data) - .enter() - .append('div') - .attr('class', 'legend__item'); - - legend.append('div') - .attr('class', 'legend__mark pull-left') - .style('background-color', d => { - return ;//color(d.label); - }); - - legend.append('div') - .attr('class', 'legend__text') - .text(d => { - return d.label; - }); - - return chart; - }); -})(); - - diff --git a/src/app/pages/widgets/charts/linePlusBarData.json b/src/app/pages/widgets/charts/linePlusBarData.json deleted file mode 100644 index 40ee4e4..0000000 --- a/src/app/pages/widgets/charts/linePlusBarData.json +++ /dev/null @@ -1,14 +0,0 @@ -[ - { - "key" : "Quantity" , - "bar": true, - "color": "#ccf", - "values" : [ [ 1136005200000 , 1271000.0] , [ 1138683600000 , 1271000.0] , [ 1141102800000 , 1271000.0] , [ 1143781200000 , 0] , [ 1146369600000 , 0] , [ 1149048000000 , 0] , [ 1151640000000 , 0] , [ 1154318400000 , 0] , [ 1156996800000 , 0] , [ 1159588800000 , 3899486.0] , [ 1162270800000 , 3899486.0] , [ 1164862800000 , 3899486.0] , [ 1167541200000 , 3564700.0] , [ 1170219600000 , 3564700.0] , [ 1172638800000 , 3564700.0] , [ 1175313600000 , 2648493.0] , [ 1177905600000 , 2648493.0] , [ 1180584000000 , 2648493.0] , [ 1183176000000 , 2522993.0] , [ 1185854400000 , 2522993.0] , [ 1188532800000 , 2522993.0] , [ 1191124800000 , 2906501.0] , [ 1193803200000 , 2906501.0] , [ 1196398800000 , 2906501.0] , [ 1199077200000 , 2206761.0] , [ 1201755600000 , 2206761.0] , [ 1204261200000 , 2206761.0] , [ 1206936000000 , 2287726.0] , [ 1209528000000 , 2287726.0] , [ 1212206400000 , 2287726.0] , [ 1214798400000 , 2732646.0] , [ 1217476800000 , 2732646.0] , [ 1220155200000 , 2732646.0] , [ 1222747200000 , 2599196.0] , [ 1225425600000 , 2599196.0] , [ 1228021200000 , 2599196.0] , [ 1230699600000 , 1924387.0] , [ 1233378000000 , 1924387.0] , [ 1235797200000 , 1924387.0] , [ 1238472000000 , 1756311.0] , [ 1241064000000 , 1756311.0] , [ 1243742400000 , 1756311.0] , [ 1246334400000 , 1743470.0] , [ 1249012800000 , 1743470.0] , [ 1251691200000 , 1743470.0] , [ 1254283200000 , 1519010.0] , [ 1256961600000 , 1519010.0] , [ 1259557200000 , 1519010.0] , [ 1262235600000 , 1591444.0] , [ 1264914000000 , 1591444.0] , [ 1267333200000 , 1591444.0] , [ 1270008000000 , 1543784.0] , [ 1272600000000 , 1543784.0] , [ 1275278400000 , 1543784.0] , [ 1277870400000 , 1309915.0] , [ 1280548800000 , 1309915.0] , [ 1283227200000 , 1309915.0] , [ 1285819200000 , 1331875.0] , [ 1288497600000 , 1331875.0] , [ 1291093200000 , 1331875.0] , [ 1293771600000 , 1331875.0] , [ 1296450000000 , 1154695.0] , [ 1298869200000 , 1154695.0] , [ 1301544000000 , 1194025.0] , [ 1304136000000 , 1194025.0] , [ 1306814400000 , 1194025.0] , [ 1309406400000 , 1194025.0] , [ 1312084800000 , 1194025.0] , [ 1314763200000 , 1244525.0] , [ 1317355200000 , 475000.0] , [ 1320033600000 , 475000.0] , [ 1322629200000 , 475000.0] , [ 1325307600000 , 690033.0] , [ 1327986000000 , 690033.0] , [ 1330491600000 , 690033.0] , [ 1333166400000 , 514733.0] , [ 1335758400000 , 514733.0]] - } , - - { - "key" : "Price" , - "color" : "#333", - "values" : [ [ 1136005200000 , 71.89] , [ 1138683600000 , 75.51] , [ 1141102800000 , 68.49] , [ 1143781200000 , 62.72] , [ 1146369600000 , 70.39] , [ 1149048000000 , 59.77] , [ 1151640000000 , 57.27] , [ 1154318400000 , 67.96] , [ 1156996800000 , 67.85] , [ 1159588800000 , 76.98] , [ 1162270800000 , 81.08] , [ 1164862800000 , 91.66] , [ 1167541200000 , 84.84] , [ 1170219600000 , 85.73] , [ 1172638800000 , 84.61] , [ 1175313600000 , 92.91] , [ 1177905600000 , 99.8] , [ 1180584000000 , 121.191] , [ 1183176000000 , 122.04] , [ 1185854400000 , 131.76] , [ 1188532800000 , 138.48] , [ 1191124800000 , 153.47] , [ 1193803200000 , 189.95] , [ 1196398800000 , 182.22] , [ 1199077200000 , 198.08] , [ 1201755600000 , 135.36] , [ 1204261200000 , 125.02] , [ 1206936000000 , 143.5] , [ 1209528000000 , 173.95] , [ 1212206400000 , 188.75] , [ 1214798400000 , 167.44] , [ 1217476800000 , 158.95] , [ 1220155200000 , 169.53] , [ 1222747200000 , 113.66] , [ 1225425600000 , 107.59] , [ 1228021200000 , 92.67] , [ 1230699600000 , 85.35] , [ 1233378000000 , 90.13] , [ 1235797200000 , 89.31] , [ 1238472000000 , 105.12] , [ 1241064000000 , 125.83] , [ 1243742400000 , 135.81] , [ 1246334400000 , 142.43] , [ 1249012800000 , 163.39] , [ 1251691200000 , 168.21] , [ 1254283200000 , 185.35] , [ 1256961600000 , 188.5] , [ 1259557200000 , 199.91] , [ 1262235600000 , 210.732] , [ 1264914000000 , 192.063] , [ 1267333200000 , 204.62] , [ 1270008000000 , 235.0] , [ 1272600000000 , 261.09] , [ 1275278400000 , 256.88] , [ 1277870400000 , 251.53] , [ 1280548800000 , 257.25] , [ 1283227200000 , 243.1] , [ 1285819200000 , 283.75] , [ 1288497600000 , 300.98] , [ 1291093200000 , 311.15] , [ 1293771600000 , 322.56] , [ 1296450000000 , 339.32] , [ 1298869200000 , 353.21] , [ 1301544000000 , 348.5075] , [ 1304136000000 , 350.13] , [ 1306814400000 , 347.83] , [ 1309406400000 , 335.67] , [ 1312084800000 , 390.48] , [ 1314763200000 , 384.83] , [ 1317355200000 , 381.32] , [ 1320033600000 , 404.78] , [ 1322629200000 , 382.2] , [ 1325307600000 , 405.0] , [ 1327986000000 , 456.48] , [ 1330491600000 , 542.44] , [ 1333166400000 , 599.55] , [ 1335758400000 , 583.98]] - } -] \ No newline at end of file diff --git a/src/app/pages/widgets/employer-form/employer-form.js b/src/app/pages/widgets/employer-form/employer-form.js deleted file mode 100644 index 8351ea4..0000000 --- a/src/app/pages/widgets/employer-form/employer-form.js +++ /dev/null @@ -1,11 +0,0 @@ -{ - let checkbox = document.querySelector('.employer-form .form__action .mdl-checkbox__input'), - button = document.querySelector('.employer-form .form__action .mdl-button'); - if (button && checkbox) { - button.disabled = !checkbox.checked; - - checkbox.addEventListener('change', () => { - button.disabled = !checkbox.checked; - }); - } -} diff --git a/src/app/pages/widgets/line-chart/line-chart-nvd3.js b/src/app/pages/widgets/line-chart/line-chart-nvd3.js deleted file mode 100644 index 1e7c1c2..0000000 --- a/src/app/pages/widgets/line-chart/line-chart-nvd3.js +++ /dev/null @@ -1,267 +0,0 @@ -{ - class LineChart { - constructor(columns, color, margin, data, nv) { - this.columns = columns; - this.color = color; - this.margin = margin; - this.data = data; - this.nv = nv; - this.maxX = 130; - this.drawStep = 6; // It shows how many points will be drawn in one step - this.durationResizeAnimation = 500; - } - - _addSvgContainer() { - this.svg = d3.select('.line-chart__container') - .append('div') - .append('svg'); - } - - _getSvgSizes() { - let svgWidth = getComputedStyle(this.svg[0][0]).width, - svgHeight = getComputedStyle(this.svg[0][0]).height; - this.svgWidth = svgWidth.slice(0, svgWidth.length - 2); - this.svgHeight = svgHeight.slice(0, svgHeight.length - 2) - this.margin; - } - - _addAxisLabels() { - d3.selectAll('.line-chart__container svg .y-axis-label') - .remove(); - d3.select('.line-chart__container svg') - .append('text') - .attr('class', 'y-axis-label') - .attr('x', '-72') - .attr('y', '12') - .attr('transform', 'rotate(-90)') - .text('REVENUE'); - d3.select('.line-chart__container svg') - .append('text') - .attr('class', 'x-axis-label') - .text('TIME'); - } - - _buildBackground() { - this._addSvgContainer(); - this._getSvgSizes(); - - let bars = []; - for (let i = 0; i < this.columns; i++) { - bars.push(this.svgHeight); - } - - this.barsLayout = this.svg.append('g') - .attr('class', 'bars') - .attr('transform', 'translate(' + this.margin + ', 0)') - .selectAll('rect') - .data(bars) - .enter() - .append('rect'); - - this._addAxisLabels(); - - this._setBackgroundSizes(); - } - - _setBackgroundSizes() { - let availableBarWidth = (this.svgWidth - 2 * this.margin) / this.columns, - barWidth = availableBarWidth / 2; - this.barsLayout - .attr('fill', this.color) - .attr('y', this.margin) - .attr('height', function(d, i) { - return d; - }) - .transition().duration(this.durationResizeAnimation) - .attr('width', barWidth) - .attr('x', function(d, i) { - return i * availableBarWidth; - }); - d3.select('.line-chart__container svg .x-axis-label') - .transition().duration(this.durationResizeAnimation) - .attr('x', this.svgWidth - this.margin - 30) - .attr('y', this.svgHeight - (this.svgHeight) / 4 + this.margin + 14); - } - - drawChart() { - this._buildBackground(); - this._buildLegend(); - this._buildNvGraph(); - this._animateGraphs(); - } - - _buildNvGraph() { - this._tuneNvGraph(); - - nv.addGraph(() => { - this.svg.datum(this.data) - .transition().duration(0) - .call(this.lineChart); - nv.utils.windowResize(this.resizeBackground.bind(this)); - nv.utils.windowResize(this.lineChart.update); - return this.lineChart; - }); - } - - _tuneNvGraph() { - this.lineChart = nv.models.lineChart() - .margin({top: this.margin, right: this.margin, bottom: 0, left: this.margin}) - .useInteractiveGuideline(true) - .xDomain([0, 13.6]) - .yDomain([-1.01, 3]) - .showLegend(false) - .showYAxis(true) - .showXAxis(true) - .pointSize(5); - - this.lineChart.tooltip.enabled(false); - this.lineChart.interactiveLayer.tooltip.enabled(false); - - this.lineChart.xAxis - .showMaxMin(false) - .tickValues([0]) - .tickFormat(d3.format('c')); - - this.lineChart.yAxis - .showMaxMin(false) - .ticks(10) - .tickFormat(d3.format('c')); - } - - _buildLegend() { - let legend = d3.select('.line-chart__container') - .append('div') - .attr('class', 'legend') - .selectAll('.legend__item') - .data(this.data) - .enter() - .append('div') - .attr('class', 'legend__item'); - - legend.append('div') - .attr('class', 'legend__mark pull-left') - .style('background-color', d => { - return d.color; - }); - - legend.append('div') - .attr('class', 'legend__text') - .text(d => { - return d.key; - }); - } - - resizeBackground() { - this._getSvgSizes(); - this._setBackgroundSizes(); - } - - _animateGraphs() { - let i = 1; - this.timer = setInterval(() => { - this._calcAllGraphs(i); - this._drawNextStep(i); - i++; - this._checkEndOfAnimation(i); - }, 15); - } - - _drawNextStep(i) { - if (i % this.drawStep == 0 || i == this.maxX) { - this.lineChart.update(); - } - } - - _checkEndOfAnimation(i) { - if (i == this.maxX + 1) { - this.lineChart.duration(this.durationResizeAnimation); - this.data[1].fillOpacity = 0.11; - this.lineChart.update(); - clearInterval(this.timer); - } - } - - _calcAllGraphs(i) { - this._calcFirstGraph(i); - this._calcSecondGraph(i); - this._calcThirdGraph(i); - } - - _calcFirstGraph(i) { - const INTERVAL_1 = 28, - INTERVAL_2 = 71, - INTERVAL_3 = 110; - let graphAwesome = this.data[0].values; - - if (i < INTERVAL_1) { - graphAwesome.push({x: i / 10, y: (.0343 * i * i - .67 * i) / 14}); - } else { - if (i < INTERVAL_2) { - graphAwesome.push({x: i / 10, y: -(i - 71) * (i - 71) / 1026 + 2.378}); - } else { - if (i < INTERVAL_3) { - graphAwesome.push({x: i / 10, y: -4 / (i - 43) + 2.53}); - } else { - graphAwesome.push({x: i / 10, y: ((i - 114) * (i - 114) * (i - 114)) / 13000 + 2.476}); - } - } - } - } - - _calcSecondGraph(i) { - const INTERVAL_1 = 30, - INTERVAL_2 = 82; - let graphGood = this.data[1].values; - - if (i < INTERVAL_1) { - graphGood.push({x: i / 10, y: (.03255 * i * i - .96 * i) / 16}); - } else { - if (i < INTERVAL_2) { - graphGood.push({x: i / 10, y: (-.01055 * (i - 80.3) * (i - 80.3) + 27) / 15}); - } else { - graphGood.push({x: i / 10, y: (((i / 2) - 45) * ((i / 2) - 45) * ((i / 2) - 45)) / 15000 + 1.805}); - } - } - } - - _calcThirdGraph(i) { - const INTERVAL_1 = 31, - INTERVAL_2 = 103; - let graphFail = this.data[2].values; - - if (i < INTERVAL_1) { - graphFail.push({x: i / 10, y: (.02255 * i * i - .91 * i) / 13}); - } else { - if (i < INTERVAL_2) { - graphFail.push({x: i / 10, y: .82 * Math.sin((i - 45) / 21)}); - } else { - graphFail.push({x: i / 10, y: -(i - 130) * (i - 130) * (i - 130) / 64000}); - } - } - } - } - - let data = [ - { - values: [{x: 0, y: 0}], - key: 'Awesome', - color: 'rgb(80, 150, 215)' - }, - { - values: [{x: 0, y: 0}], - key: 'Good', - color: 'rgb(0, 188, 212)', - fillOpacity: 0.00001, - area: true - }, - { - values: [{x: 0, y: 0}], - key: 'Fail', - color: 'rgb(255, 82, 82)' - } - ]; - let lineChartContainer = document.querySelector('.line-chart__container'); - if (lineChartContainer) { - let lineChart = new LineChart(7, '#4a4a4a', 20, data, nv); - lineChart.drawChart(); - } -} diff --git a/src/app/pages/widgets/line-chart/line-chart.scss b/src/app/pages/widgets/line-chart/line-chart.scss deleted file mode 100644 index 33cbaaf..0000000 --- a/src/app/pages/widgets/line-chart/line-chart.scss +++ /dev/null @@ -1,40 +0,0 @@ -.line-chart__container { - min-height: $line-chart-height; - svg { - height: $line-chart-height; - width: $line-chart-width; - .y-axis-label, .x-axis-label { - @include typo-linechart-axis-label; - fill: $line-chart-axis-label-color; - } - .nv-lineChart { - .nv-guideline { - stroke: $line-chart-guideline-color; - stroke-width: $line-chart-guideline-width; - } - .tick { - // setting? - opacity: 0.1 !important; - &.zero { - opacity: 0.5 !important; - line { - stroke-opacity: 1 !important; - } - } - } - .nv-y .domain { - stroke-opacity: 0 !important; - } - .nvd3.nv-scatter .nv-groups .nv-point.hover { - stroke-width: 5px; - } - } - } - .legend { - margin: auto; - display: flex; - flex-wrap: wrap; - justify-content: center; - margin-top: 16px; - } -} \ No newline at end of file diff --git a/src/app/pages/widgets/map/maps.js b/src/app/pages/widgets/map/maps.js deleted file mode 100644 index fbdc202..0000000 --- a/src/app/pages/widgets/map/maps.js +++ /dev/null @@ -1,190 +0,0 @@ -function initMap() { - let map_options = { - center: {lat: 53.905042, lng: 27.569053}, - zoomControl: true, - zoom: 14, - maxZoom: 20, - minZoom: 5, - scrollwheel: false, - mapMaker: true, - styles: [ - { //All roads styles - featureType: 'road', - elementType: 'geometry.fill', - stylers: [ - { color: '#ffffff' }, - { weight: 1.9 } - ] - },{ //Local roads styles - featureType: 'road.local', - elementType: 'geometry.fill', - stylers: [ - { color: '#f0f0f0' }, - { weight: 1.4 } - ] - }, { //All labels styles - featureType: 'all', - elementType: 'labels.text.fill', - stylers: [ - { color: '#333333' } - ] - }, { //All labels icons styles - featureType: 'all', - elementType: 'labels.icon', - stylers: [ - { hue: '#000000' }, - { "saturation": -100 }, - { "lightness": 0 } - ] - }, { - featureType: 'landscape.natural', - elementType: 'geometry', - stylers: [ - { color: '#d0d0d0' } - ] - }, { - featureType: 'landscape.man_made', - elementType: 'geometry.stroke', - stylers: [ - { color: '#888888' } - ] - }, { - featureType: 'landscape.man_made', - elementType: 'geometry.fill', - stylers: [ - { color: '#cccccc'} - ] - }, { - featureType: 'poi', - elementType: 'geometry', - stylers: [ - { color: '#bbbbbb' } - ] - },{ - featureType: 'poi.attraction', - elementType: 'geometry', - stylers: [ - { color: '#bbbbbb' } - ] - }, { - featureType: 'poi.business', - elementType: 'geometry', - stylers: [ - { color: '#bbbbbb' } - ] - }, { - featureType: 'poi.medical', - elementType: 'geometry', - stylers: [ - { color: '#bbbbbb' } - ] - }, { - featureType: 'poi.park', - elementType: 'geometry', - stylers: [ - { color: '#bbbbbb' } - ] - }, { - featureType: 'poi.school', - elementType: 'geometry', - stylers: [ - { color: '#bbbbbb' } - ] - }, { - featureType: 'poi.sports_complex', - elementType: 'geometry.fill', - stylers: [ - { color: '#bbbbbb' } - ] - }, { - featureType: 'water', - elementType: 'geometry', - stylers: [ - { color: '#999999' } - ] - } - ] - }; - let map = new google.maps.Map(document.querySelector('.map__window'), map_options); - let markerImage = 'images/marker.png'; - let activeMarkerImage = 'images/active_marker.png'; - let markers = { - theatre: { - marker: new google.maps.Marker({ - position: {lat: 53.900646, lng: 27.562573}, - map: map, - animation: google.maps.Animation.DROP, - icon: activeMarkerImage, - title: 'Yanka Kupala National Academic Theatre', - location: ' Vulitsa Enhyel\'sa 7, Minsk, Belarus', - openingHours: ' 9 AM - 9 PM', - description: 'National academic theatre of Yanka Kupala is the oldest theatre of Belarus. It was opened on September 14, 1920, it is located in a building of the Minsk provincial theatre, constructed under the project of architects Karol Kozlowski and Konstantin Uvedensky in 1890 by means of donations of citizens. ', - moreInfoLink: 'http://kupalauski.by/en/teatr/history/', - image: '0px' - }) - }, - bicyclePath: { - marker: new google.maps.Marker({ - position: {lat: 53.903891, lng: 27.570529}, - map: map, - animation: google.maps.Animation.DROP, - icon: markerImage, - title: 'Bicycle path', - location: '53.904126, 27.570758, Minsk, Belarus', - openingHours: 'around the clock', - description: 'Minsk bike path extends from the northwest to the southern outskirts of Minsk. The length of the cycle paths of about 26.73 km. ', - moreInfoLink: 'http://swim.by/minsk-bike-path/', - image: '-170px' - }) - - }, - uGallery: { - marker: new google.maps.Marker({ - position: {lat: 53.910543, lng: 27.575458}, - map: map, - animation: google.maps.Animation.DROP, - icon: markerImage, - title: 'Ў Gallery of Contemporary Art', - location: 'Praspyekt Nyezalyezhnastsi 37а, Minsk, Belarus', - openingHours: '10 AM - 12 PM', - description: 'Active - art platform for the presentation of contemporary Belarusian and European art. ', - moreInfoLink: 'http://en.ygallery.by/', - image: '-340px' - }) - }, - _showInfo: (target) => { - document.querySelector('.map__target-picture').classList.toggle('map__target-picture--hide'); - document.querySelector('.map__target-info').classList.toggle('map__target-info--hide'); - setTimeout(function () { - document.querySelector('.map__target-title').innerHTML = target.title; - document.querySelector('.map__target-location').innerHTML = `room${target.location}`; - document.querySelector('.map__target-opening-hours').innerHTML = `query_builder${target.openingHours}`; - document.querySelector('.map__target-description').innerHTML = `${target.description} More`; - document.querySelector('.map__target-picture').style.backgroundPositionX = target.image; - document.querySelector('.map__target-picture').classList.toggle('map__target-picture--hide'); - document.querySelector('.map__target-info').classList.toggle('map__target-info--hide'); - }, 200); - }, - setActiveMarker: function () { - for (var key in markers) { - if (typeof(markers[key].marker) == 'object' && typeof(markers[key].marker) != null ) { - markers[key].marker.setIcon(markerImage); - } - } - if (this == markers) { - markers.theatre.marker.setIcon(activeMarkerImage); - markers._showInfo(markers.theatre.marker); - } else { - this.setIcon(activeMarkerImage); - markers._showInfo(this); - } - } - }; - markers.setActiveMarker(markers.theatre.marker); - for (var key in markers) { - if (typeof(markers[key].marker) == 'object' && typeof(markers[key].marker) != null ) { - markers[key].marker.addListener('click', markers.setActiveMarker); - } - } -} diff --git a/src/app/pages/widgets/pie-chart/pie-chart-nvd3.js b/src/app/pages/widgets/pie-chart/pie-chart-nvd3.js deleted file mode 100644 index ca69697..0000000 --- a/src/app/pages/widgets/pie-chart/pie-chart-nvd3.js +++ /dev/null @@ -1,144 +0,0 @@ -{ - var colors = [ - 'rgba(96, 196, 150, 1)', - 'rgba(80, 150, 215, 1)', - 'rgba(0, 188, 212, 1)', - 'rgba(116, 199, 209, 1)', - 'rgba(255, 82, 82, 1)', - 'rgba(0, 0, 0, 0)' - ]; - - var data = [ - { - 'key': 'Coding', - 'y': 0, - 'end': 9 - }, - { - 'key': 'Eating', - 'y': 0, - 'end': 3 - }, - { - 'key': 'Sleeping', - 'y': 0, - 'end': 3 - }, - { - 'key': 'Meditation', - 'y': 0, - 'end': 3 - }, - { - 'key': 'The fight against evil', - 'y': 0, - 'end': 6 - } - , - { - 'key': 'Pending', - 'y': 23.9 - } - ]; - - nv.addGraph(() => { - var innerRadius = 0.86, - outerRadius = 1.02; - - var pieChart = nv.models.pieChart() - .x(d => {return d.key;}) - .y(d => {return d.y;}) - .showLabels(false) - .donut(true) - .growOnHover(true) - .padAngle(.04) - .cornerRadius(0) - .margin({'left': -10, 'right': -10, 'top': -10, 'bottom': -10}) - .color(colors) - .arcsRadius([{'inner': innerRadius, 'outer': outerRadius}, - {'inner': innerRadius, 'outer': outerRadius}, - {'inner': innerRadius, 'outer': outerRadius}, - {'inner': innerRadius, 'outer': outerRadius}, - {'inner': innerRadius, 'outer': outerRadius} - ]) - .showLegend(false) - .title('0 hours') - .titleOffset(10); - - pieChart.tooltip.enabled(true) - .hideDelay(0) - .headerEnabled(false) - .contentGenerator(d => { - if (d === null) { - return ''; - } - d3.selectAll('.nvtooltip').classed('mdl-tooltip', true); - return d.data.y + ' hours'; - }); - - var container = d3.select('.pie-chart__container') - .append('div') - .append('svg') - .datum(data) - .transition().duration(1200) - .call(pieChart); - - var h = 0, i = 0; - var timer = setInterval(animatePie, 70, data); - - function animatePie(data) { - if (i < data.length - 1) { - if (data[i].y < data[i].end) { - data[i].y++; - data[data.length - 1].y--; - pieChart.title((h + 1) + ' hours'); - h++; - } else { - i++; - } - } else { - data.splice(data.length - 1, 1); - clearInterval(timer); - return; - } - if (container[0][0]) { - pieChart.update(); - } else { - clearInterval(timer); - } - } - - d3.select('.pie-chart__container .nv-pie .nv-pie') - .append('image') - .attr('width', '30') - .attr('height', '30') - .attr('xlink:href', 'images/watch_white.svg') - .attr('transform', 'translate(-15,-35)'); - - var color = d3.scale.ordinal().range(colors); - - var legend = d3.select('.pie-chart__container') - .append('div') - .attr('class', 'legend') - .selectAll('.legend__item') - .data(data.slice(0, data.length - 1)) - .enter() - .append('div') - .attr('class', 'legend__item'); - - legend.append('div') - .attr('class', 'legend__mark pull-left') - .style('background-color', d => { - return color(d.key); - }); - - legend.append('div') - .attr('class', 'legend__text') - .text(d => { - return d.key; - }); - - return pieChart; - }); -} - diff --git a/src/app/pages/widgets/pie-chart/pie-chart.scss b/src/app/pages/widgets/pie-chart/pie-chart.scss deleted file mode 100644 index b7b3074..0000000 --- a/src/app/pages/widgets/pie-chart/pie-chart.scss +++ /dev/null @@ -1,37 +0,0 @@ -.chart1__container, .chart2__container, .pie-chart__container { - display: flex; - flex-wrap: wrap; - justify-content: space-around; - align-items: center; - min-height: $pie-chart-height; - svg { - min-height: 200px; - max-width: 180px; - .nvd3.nv-pie { - path { - fill-opacity: 1; - stroke-width: 0; - } - .nv-pie-title { - @include typo-piechart-title; - font-size: 22px !important; - } - } - } - .legend { - max-width: 140px; - } -} - -.chart1__container .nv-label { - text { - fill: white !important; - } -} - -.discrete-bar-chart__container { - & > div { - height: 400px; - } -} - diff --git a/src/app/pages/widgets/table/table.js b/src/app/pages/widgets/table/table.js deleted file mode 100644 index bb25d7e..0000000 --- a/src/app/pages/widgets/table/table.js +++ /dev/null @@ -1,22 +0,0 @@ -{ - let task1 = document.querySelector('#task1'), - task2 = document.querySelector('#task2'), - task4 = document.querySelector('#task4'); - - if (task1 && task2 && task4) { - task1.addEventListener('mdl-componentupgraded', () => { - task1.MaterialProgress.setProgress(44); - }); - task2.addEventListener('mdl-componentupgraded', () => { - task2.MaterialProgress.setProgress(14); - }); - task4.addEventListener('mdl-componentupgraded', () => { - task4.MaterialProgress.setProgress(31); - }); - - setTimeout(() => { - document.querySelector('.projects-table .is-selected td > label').classList.add('is-checked'); - componentHandler.upgradeDom(); - }, 100); - } -} diff --git a/src/app/pages/widgets/todo/todo.js b/src/app/pages/widgets/todo/todo.js deleted file mode 100644 index e5bd01e..0000000 --- a/src/app/pages/widgets/todo/todo.js +++ /dev/null @@ -1,233 +0,0 @@ -{ - 'use strict'; - - /*==========MODEL==========*/ - - class Model { - constructor(database) { - this.database = database || - [ - { - title: 'Fix bugs', - id: 1651644545, - completed: '' - }, - - { - title: 'Implement 30% of my feature', - id: 1651646545, - completed: '' - }, - - { - title: 'Fencing', - id: 5451646545, - completed: 'checked' - }, - - { - title: 'Read an article about Test-Driven Development', - id: 5428646545, - completed: '' - } - ]; - } - - createItem(title) { - let newItem = { - title: title, - id: new Date().getTime(), - completed: '' - }; - this.database.push(newItem); - return newItem; - }; - - checkItem(id) { - for (let i = 0; i < this.database.length; i++) { - if (id == this.database[i].id) { - this.database[i].completed = (this.database[i].completed) ? '' : 'checked'; - return; - } - } - }; - - deleteItem(id) { - for (let i = 0; i < this.database.length; i++) { - if (id == this.database[i].id) { - this.database.splice(i, 1); - return; - } - } - }; - - deleteCompletedItems() { - for (let i = 0; i < this.database.length; i++) { - if (this.database[i].completed === 'checked') { - this.database.splice(i, 1); - i--; - } - } - }; - } - - /*==========VIEW==========*/ - - class View { - constructor() { - this.$todoList = document.querySelector('.todo .mdl-list'); - this.inputTemplate = - `
- - -
`; - } - - insertInput() { - let newLi = document.createElement('li'); - newLi.classList.add('mdl-list__item'); - newLi.innerHTML = this._prepareTemplate({ - id: "input" - }); - this.$todoList.appendChild(newLi); - View.upgradeNewMdlComponents(); - let inputSpan = document.querySelector('.todo .mdl-list li:last-child .mdl-checkbox__label'); - inputSpan.innerHTML = this.inputTemplate; - View.upgradeNewMdlComponents(); - document.querySelector('.todo .mdl-list__item:last-child .mdl-textfield__input').focus(); - } - - _prepareTemplate(data) { - return ` - - -
- -
`; - } - - showAll(database) { - this.$todoList.innerHTML = ''; - database.forEach(data => { - let newLi = document.createElement('li'); - newLi.classList.add('mdl-list__item'); - newLi.innerHTML = this._prepareTemplate(data); - this.$todoList.appendChild(newLi); - }); - View.upgradeNewMdlComponents(); - } - - show(data) { - let newLi = document.createElement('li'); - newLi.classList.add('mdl-list__item'); - newLi.innerHTML = this._prepareTemplate(data); - this.$todoList.appendChild(newLi); - View.upgradeNewMdlComponents(); - } - - static upgradeNewMdlComponents() { - componentHandler.upgradeDom(); - } - } - - /*==========CONTROLLER==========*/ - - class Controller { - constructor(model, view) { - this.$addItemButton = document.querySelector('.todo .mdl-button--fab'); - this.$removeCompletedButton = document.querySelector('.todo .mdl-card__actions .mdl-button'); - this.model = model; - this.view = view; - - this.view.$todoList.addEventListener('mouseup', event => { - let clickTarget = event.path ? event.path[1] : event.target; - if (clickTarget.hasAttribute('deleteItem')) { - let id = clickTarget.getAttribute('for'); - this.model.deleteItem(id); - this.removeItem(id); - } else { - clickTarget = event.target; - if (clickTarget.hasAttribute('checkboxitem')) { - this.check(clickTarget); - } else { - clickTarget = clickTarget.parentNode; - this.check(clickTarget); - } - } - }); - - this.$addItemButton.addEventListener('click', () => { - this.$addItemButton.setAttribute('disabled', 'true'); - this.$removeCompletedButton.setAttribute('disabled', 'true'); - this.view.insertInput(); - - let inputTextArea = document.querySelector('.todo .mdl-list__item:last-child .mdl-textfield__input'); - inputTextArea.addEventListener('keydown', event => { - if (event.keyCode === 27) { - this.removeItem('input'); - - } else { - if (event.keyCode === 13) { - this.addItem(inputTextArea.value); - this.removeItem('input'); - } - } - }); - }); - - this.$removeCompletedButton.addEventListener('click', () => { - this.removeCompletedItems(); - }); - - if (this.model.database != []) { - this.view.showAll(this.model.database); - } - }; - - addItem(title) { - if (title.trim() === '') { - return; - } - this.view.show(this.model.createItem(title)); - }; - - removeItem(id) { - document.querySelector(`[for="${id}"]`).parentNode.parentNode.remove(); - this.$addItemButton.removeAttribute('disabled'); - this.$removeCompletedButton.removeAttribute('disabled'); - }; - - removeCompletedItems() { - this.model.deleteCompletedItems(); - this.view.showAll(this.model.database); - }; - - check(checkbox) { - let id = checkbox.getAttribute('for'); - if (!isNaN(id)) { - this.model.checkItem(id); - } - - }; - } - - /*==========INITIALIZE==========*/ - - class Todo { - constructor() { - this.model = new Model(); - this.view = new View(); - this.controller = new Controller(this.model, this.view); - } - } - let todoContainer = document.querySelector('.todo') - if (todoContainer) { - let todo = new Todo(); - } - -} diff --git a/src/app/pages/widgets/todo/todo.scss b/src/app/pages/widgets/todo/todo.scss deleted file mode 100644 index e7db855..0000000 --- a/src/app/pages/widgets/todo/todo.scss +++ /dev/null @@ -1,44 +0,0 @@ -.todo { - .mdl-card__supporting-text { - width: 100%; - padding: 0; - min-height: 70px; - .mdl-list__item { - align-items: flex-start; - padding-bottom: 0; - .mdl-list__item-primary-content { - max-width: 100%; - word-wrap: break-word; - } - .material-icons { - visibility: hidden; - } - &:hover .material-icons { - visibility: visible; - } - } - .mdl-checkbox { - height: auto; - padding-left: $checkbox-button-size*2; - } - .mdl-textfield { - width: 100%; - padding: 0; - } - .mdl-textfield__input { - padding: 2px 0; - } - .mdl-textfield__label { - color: $todo-input-text-label-color; - top: 0; - &:after { - background-color: $todo-input-text-highlight-color; - bottom: 0; - } - } - } - .mdl-card__actions { - margin-top: 20px; - background: $card-actions-background-color; - } -} \ No newline at end of file diff --git a/src/app/pages/widgets/ui-typography/ui-typography.scss b/src/app/pages/widgets/ui-typography/ui-typography.scss deleted file mode 100644 index e5d1c75..0000000 --- a/src/app/pages/widgets/ui-typography/ui-typography.scss +++ /dev/null @@ -1,24 +0,0 @@ -.ui-typography { - font-family: "Roboto", sans-serif; - .mdl-card:not(:last-child) { - margin-bottom: $card-vertical-padding; - } - p { - font-weight: 300; - } - h5 { - font-size: 30px; - &:nth-of-type(1) { - font-weight: 200; - } - &:nth-of-type(2) { - font-weight: 300; - } - &:nth-of-type(3) { - font-weight: 400; - } - &:nth-of-type(5) { - font-weight: 600; - } - } -} \ No newline at end of file diff --git a/src/app/styles/_variables.scss b/src/app/styles/_variables.scss deleted file mode 100644 index 0644143..0000000 --- a/src/app/styles/_variables.scss +++ /dev/null @@ -1 +0,0 @@ -$nav-button-color: #00838F; \ No newline at end of file diff --git a/src/app/styles/headings.css b/src/app/styles/headings.css deleted file mode 100644 index 6fe295c..0000000 --- a/src/app/styles/headings.css +++ /dev/null @@ -1,3 +0,0 @@ -h1 { - color: #00BCD4; -} \ No newline at end of file diff --git a/src/app/styles/styles.scss b/src/app/styles/styles.scss deleted file mode 100644 index 346b7b9..0000000 --- a/src/app/styles/styles.scss +++ /dev/null @@ -1,19 +0,0 @@ -/* this file will be extracted to main dist folder and is imported in index.html */ -/* This file is for setting global styles */ -//@import 'variables'; - -nav { - margin-top: 16px; -} - -nav a { - background-color: $nav-button-color; - color: white; - padding: 8px 16px; - margin: 8px; - vertical-align: middle; - line-height: 1.25; - text-align: center; - text-decoration: none; - border-radius: 4px; -} diff --git a/src/app/theme/components/ba-card/ba-card.component.html b/src/app/theme/components/ba-card/ba-card.component.html new file mode 100644 index 0000000..42ec1da --- /dev/null +++ b/src/app/theme/components/ba-card/ba-card.component.html @@ -0,0 +1,11 @@ +
+
+ +
+
+ +
+
+ +
+
diff --git a/src/app/theme/components/ba-card/ba-card.component.scss b/src/app/theme/components/ba-card/ba-card.component.scss new file mode 100644 index 0000000..5d72158 --- /dev/null +++ b/src/app/theme/components/ba-card/ba-card.component.scss @@ -0,0 +1,13 @@ +@import '~theme/helpers'; + +.mdl-card__title { + background-color: $card-title-background-color; +} + +.mdl-card__supporting-text { + width: calc(100% - #{$card-horizontal-padding*2}); +} + +.mdl-card__actions { + padding: 8px 16px; +} diff --git a/src/app/theme/components/ba-card/ba-card.component.ts b/src/app/theme/components/ba-card/ba-card.component.ts new file mode 100644 index 0000000..5e06216 --- /dev/null +++ b/src/app/theme/components/ba-card/ba-card.component.ts @@ -0,0 +1,24 @@ +import { Component, Input } from '@angular/core'; + +@Component({ + selector: 'ba-card', + styleUrls: ['./ba-card.component.scss'], + templateUrl: './ba-card.component.html', +}) +export class BaCardComponent { + public withActions: boolean = false; + public titleExpand: boolean = false; + public bodyExpand: boolean = false; + + @Input('with-actions') public set setWithActions(value) { + this.withActions = true; + } + + @Input('title-expand') public set setTitleExpand(value) { + this.titleExpand = true; + } + + @Input('body-expand') public set setBodyExpand(value) { + this.bodyExpand = true; + } +} diff --git a/src/app/theme/components/baMsgMenu/baMsgMenu.html b/src/app/theme/components/ba-msg-menu/ba-msg-menu.component.html similarity index 79% rename from src/app/theme/components/baMsgMenu/baMsgMenu.html rename to src/app/theme/components/ba-msg-menu/ba-msg-menu.component.html index f541d04..7cada68 100644 --- a/src/app/theme/components/baMsgMenu/baMsgMenu.html +++ b/src/app/theme/components/ba-msg-menu/ba-msg-menu.component.html @@ -1,15 +1,13 @@ -
+
mail_outline
-
  • - You have 4 new messages! + You have {{messages.length}} new messages!
  • -
  • +
  • diff --git a/src/app/theme/components/baMsgMenu/baMsgMenu.scss b/src/app/theme/components/ba-msg-menu/ba-msg-menu.component.scss similarity index 95% rename from src/app/theme/components/baMsgMenu/baMsgMenu.scss rename to src/app/theme/components/ba-msg-menu/ba-msg-menu.component.scss index feb622c..9bae31a 100644 --- a/src/app/theme/components/baMsgMenu/baMsgMenu.scss +++ b/src/app/theme/components/ba-msg-menu/ba-msg-menu.component.scss @@ -1,4 +1,4 @@ -@import "../../theme"; +@import '~theme/helpers'; ba-msg-menu { position: relative; @@ -17,7 +17,7 @@ ba-msg-menu { .material-icons { vertical-align: top; } - span.text { + .text { font-size: 19px; vertical-align: middle; } diff --git a/src/app/theme/components/ba-msg-menu/ba-msg-menu.component.ts b/src/app/theme/components/ba-msg-menu/ba-msg-menu.component.ts new file mode 100644 index 0000000..86e8103 --- /dev/null +++ b/src/app/theme/components/ba-msg-menu/ba-msg-menu.component.ts @@ -0,0 +1,16 @@ +import { Component } from '@angular/core'; +import { BaMsgMenuService } from './ba-msg-menu.service'; + +@Component({ + selector: 'ba-msg-menu', + styleUrls: ['./ba-msg-menu.component.scss'], + templateUrl: './ba-msg-menu.component.html', + providers: [BaMsgMenuService], +}) +export class BaMsgMenuComponent { + public messages: Object[]; + + constructor(baMsgMenuService: BaMsgMenuService) { + this.messages = baMsgMenuService.getMessages(); + } +} diff --git a/src/app/theme/components/baMsgMenu/baMsgMenu.ts b/src/app/theme/components/ba-msg-menu/ba-msg-menu.service.ts similarity index 63% rename from src/app/theme/components/baMsgMenu/baMsgMenu.ts rename to src/app/theme/components/ba-msg-menu/ba-msg-menu.service.ts index 04db6b9..1fe0b86 100644 --- a/src/app/theme/components/baMsgMenu/baMsgMenu.ts +++ b/src/app/theme/components/ba-msg-menu/ba-msg-menu.service.ts @@ -1,18 +1,9 @@ -import { Component, ViewEncapsulation } from '@angular/core'; +import { Injectable } from '@angular/core'; -@Component({ - selector: 'ba-msg-menu', - encapsulation: ViewEncapsulation.None, - styleUrls: ['./baMsgMenu.scss'], - templateUrl: './baMsgMenu.html' -}) -export class BaMsgMenuComponent { - - private message: Object[]; - - constructor() { - - this.message = [ +@Injectable() +export class BaMsgMenuService { + public getMessages(): Object[] { + return [ { name: 'Alice', type: 'Birthday Party', @@ -20,6 +11,13 @@ export class BaMsgMenuComponent { icon: 'A', color: 'primary' }, + { + name: 'Vladimir', + type: 'Deployment', + time: 'just now', + icon: 'V', + color: 'primary' + }, { name: 'Mike', type: 'No theme', diff --git a/src/app/theme/components/ba-msg-menu/index.ts b/src/app/theme/components/ba-msg-menu/index.ts new file mode 100644 index 0000000..157cfbc --- /dev/null +++ b/src/app/theme/components/ba-msg-menu/index.ts @@ -0,0 +1,2 @@ +export { BaMsgMenuComponent } from './ba-msg-menu.component'; +export { BaMsgMenuService } from './ba-msg-menu.service'; diff --git a/src/app/theme/components/baNotificationMenu/baNotificationMenu.html b/src/app/theme/components/ba-notification-menu/ba-notification-menu.component.html similarity index 90% rename from src/app/theme/components/baNotificationMenu/baNotificationMenu.html rename to src/app/theme/components/ba-notification-menu/ba-notification-menu.component.html index 60fff90..df3ec27 100644 --- a/src/app/theme/components/baNotificationMenu/baNotificationMenu.html +++ b/src/app/theme/components/ba-notification-menu/ba-notification-menu.component.html @@ -1,16 +1,13 @@
    + [attr.data-badge]="notifications.length"> notifications_none
    - -
    • - You have 23 new notifications! + You have {{notifications.length}} new notifications!
    • -
    • diff --git a/src/app/theme/components/baNotificationMenu/baNotificationMenu.scss b/src/app/theme/components/ba-notification-menu/ba-notification-menu.component.scss similarity index 94% rename from src/app/theme/components/baNotificationMenu/baNotificationMenu.scss rename to src/app/theme/components/ba-notification-menu/ba-notification-menu.component.scss index e83d572..41d2ff6 100644 --- a/src/app/theme/components/baNotificationMenu/baNotificationMenu.scss +++ b/src/app/theme/components/ba-notification-menu/ba-notification-menu.component.scss @@ -1,4 +1,4 @@ -@import "../../theme"; +@import '~theme/helpers'; ba-notification-menu { position: relative; diff --git a/src/app/theme/components/ba-notification-menu/ba-notification-menu.component.ts b/src/app/theme/components/ba-notification-menu/ba-notification-menu.component.ts new file mode 100644 index 0000000..28cd35e --- /dev/null +++ b/src/app/theme/components/ba-notification-menu/ba-notification-menu.component.ts @@ -0,0 +1,16 @@ +import { Component } from '@angular/core'; +import { BaNotificationMenuService } from './ba-notification-menu.service'; + +@Component({ + selector: 'ba-notification-menu', + styleUrls: ['./ba-notification-menu.component.scss'], + templateUrl: './ba-notification-menu.component.html', + providers: [BaNotificationMenuService], +}) +export class BaNotificationMenuComponent { + public notifications: Object[]; + + constructor(BaNotificationMenuService: BaNotificationMenuService) { + this.notifications = BaNotificationMenuService.getNotifications(); + } +} diff --git a/src/app/theme/components/baNotificationMenu/baNotificationMenu.ts b/src/app/theme/components/ba-notification-menu/ba-notification-menu.service.ts similarity index 59% rename from src/app/theme/components/baNotificationMenu/baNotificationMenu.ts rename to src/app/theme/components/ba-notification-menu/ba-notification-menu.service.ts index 9d74e32..a7d75f8 100644 --- a/src/app/theme/components/baNotificationMenu/baNotificationMenu.ts +++ b/src/app/theme/components/ba-notification-menu/ba-notification-menu.service.ts @@ -1,18 +1,9 @@ -import { Component, ViewEncapsulation } from '@angular/core'; +import { Injectable } from '@angular/core'; -@Component({ - selector: 'ba-notification-menu', - encapsulation: ViewEncapsulation.None, - styleUrls: ['./baNotificationMenu.scss'], - templateUrl: './baNotificationMenu.html' -}) -export class BaNotificationMenuComponent { - - private notifications: Object[]; - - constructor() { - - this.notifications = [ +@Injectable() +export class BaNotificationMenuService { + public getNotifications(): Object[] { + return [ { text: 'You have 3 new orders.', time: 'just now', @@ -34,7 +25,6 @@ export class BaNotificationMenuComponent { icon: 'mail_outline', color: 'primary' } - ]; } } diff --git a/src/app/theme/components/baPageTop/baPageTop.html b/src/app/theme/components/ba-page-top/ba-page-top.component.html similarity index 99% rename from src/app/theme/components/baPageTop/baPageTop.html rename to src/app/theme/components/ba-page-top/ba-page-top.component.html index 4f8cee2..5e29656 100644 --- a/src/app/theme/components/baPageTop/baPageTop.html +++ b/src/app/theme/components/ba-page-top/ba-page-top.component.html @@ -21,7 +21,7 @@ Luke
- +