From 8f7edb62e27981800296c7ddfb3dabe2f5179c66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20L=C3=B3pez?= Date: Wed, 18 Apr 2018 22:41:51 +0200 Subject: [PATCH] Add PostCSS benchmark It runs the PostCSS processor with the autoprefixer and postcss-nested plugins on Bootstrap, Foundation, and Angular Material. Closes #18. --- README.md | 37 +- docs/in-depth.md | 14 +- package.json | 7 + src/cli-flags-helper.js | 1 + src/mocks/nested-rules.js | 19 + src/postcss-benchmark.js | 47 + src/postcss-benchmark.test.js | 7 + src/vfs.js | 12 + third_party/angular-material-1.1.8.css | 18130 +++++++++++++++++++++++ third_party/bootstrap-4.0.0.css | 8975 +++++++++++ third_party/foundation-6.4.2.css | 5805 ++++++++ tools/hooks/pre-commit.js | 4 + 12 files changed, 33039 insertions(+), 19 deletions(-) create mode 100644 src/mocks/nested-rules.js create mode 100644 src/postcss-benchmark.js create mode 100644 src/postcss-benchmark.test.js create mode 100644 third_party/angular-material-1.1.8.css create mode 100644 third_party/bootstrap-4.0.0.css create mode 100644 third_party/foundation-6.4.2.css diff --git a/README.md b/README.md index 47a995dd..f2319929 100644 --- a/README.md +++ b/README.md @@ -47,26 +47,27 @@ i.e. like this: ``` $ node dist/cli.js -Running Web Tooling Benchmark 0.3.1... +Running Web Tooling Benchmark 0.3.2... -------------------------------------- - acorn: 9.19 runs/sec - babel: 6.74 runs/sec - babylon: 8.72 runs/sec - buble: 7.67 runs/sec - chai: 13.28 runs/sec - coffeescript: 6.80 runs/sec - espree: 5.45 runs/sec - esprima: 7.67 runs/sec - jshint: 8.41 runs/sec - lebab: 8.88 runs/sec - prepack: 8.81 runs/sec - prettier: 11.21 runs/sec - source-map: 17.22 runs/sec - typescript: 10.70 runs/sec - uglify-es: 20.16 runs/sec - uglify-js: 8.22 runs/sec + acorn: 6.06 runs/sec + babel: 6.23 runs/sec + babylon: 6.73 runs/sec + buble: 5.19 runs/sec + chai: 9.60 runs/sec + coffeescript: 4.68 runs/sec + espree: 2.65 runs/sec + esprima: 5.92 runs/sec + jshint: 6.12 runs/sec + lebab: 6.72 runs/sec + postcss: 5.01 runs/sec + prepack: 4.54 runs/sec + prettier: 3.54 runs/sec + source-map: 6.58 runs/sec + typescript: 7.83 runs/sec + uglify-es: 13.54 runs/sec + uglify-js: 3.70 runs/sec -------------------------------------- -Geometric mean: 9.37 runs/sec +Geometric mean: 5.74 runs/sec ``` Or you open a web browser and point it to `dist/index.html`, or you can use one diff --git a/docs/in-depth.md b/docs/in-depth.md index 5c74656d..a31466af 100644 --- a/docs/in-depth.md +++ b/docs/in-depth.md @@ -135,6 +135,18 @@ performing the opposite of what [Babel](https://github.com/babel/babel) does. This benchmark runs the Lebal ES5 to ES6/ES7 transpiler on the [Preact](http://preactjs.com) 8.2.5 bundle. +## postcss + +[PostCSS](https://github.com/postcss/postcss) is a tool for transforming styles with JS plugins. +These plugins can lint your CSS, support variables and mixins, transpile future CSS syntax, +inline images, and more. + +This benchmark runs the PostCSS processor with [Autoprefixer](https://github.com/postcss/autoprefixer) +and [postcss-nested](https://github.com/postcss/postcss-nested) plugins on +- the [Bootstrap](https://getbootstrap.com/) 4.0.0 bundle. +- the [Foundation](https://foundation.zurb.com/) 6.4.2 bundle. +- the [Angular Material](https://material.angularjs.org) 1.1.8 bundle. + ## prepack [Prepack](https://prepack.io) is a tool that optimizes JavaScript source code: @@ -191,4 +203,4 @@ the ES2015 test in the [Speedometer](https://browserbench.org/Speedometer) 2.0 b ## uglify-es This benchmark stresses the new ES2015 and beyond minifier using the 196KiB -ES2015 module containing the untranspiled [Vue](https://github.com/vuejs/vue) bundle. \ No newline at end of file +ES2015 module containing the untranspiled [Vue](https://github.com/vuejs/vue) bundle. diff --git a/package.json b/package.json index b6632b21..45cf5f5e 100644 --- a/package.json +++ b/package.json @@ -27,6 +27,10 @@ "git add" ] }, + "browserslist": [ + "Chrome 50", + "Firefox 50" + ], "author": { "name": "Benedikt Meurer", "email": "bmeurer@chromium.org", @@ -36,6 +40,7 @@ "dependencies": { "@babel/standalone": "7.0.0-beta.32", "acorn": "5.5.3", + "autoprefixer": "8.2.0", "babylon": "7.0.0-beta.32", "benchmark": "^2.1.4", "buble": "0.19.3", @@ -46,6 +51,8 @@ "esprima": "4.0.0", "jshint": "2.9.5", "lebab": "2.7.7", + "postcss": "6.0.21", + "postcss-nested": "3.0.0", "prepack": "0.2.25", "prettier": "1.9.2", "source-map": "0.6.1", diff --git a/src/cli-flags-helper.js b/src/cli-flags-helper.js index e687e743..0802aa75 100644 --- a/src/cli-flags-helper.js +++ b/src/cli-flags-helper.js @@ -9,6 +9,7 @@ const targetList = new Set([ "esprima", "jshint", "lebab", + "postcss", "prepack", "prettier", "source-map", diff --git a/src/mocks/nested-rules.js b/src/mocks/nested-rules.js new file mode 100644 index 00000000..c12855b6 --- /dev/null +++ b/src/mocks/nested-rules.js @@ -0,0 +1,19 @@ +// Copyright 2018 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +module.exports = ` +.phone { + &_title { + width: 500px; + @media (max-width: 500px) { + width: auto; + } + body.is_dark & { + color: white; + } + } + img { + display: block; + } +}`; diff --git a/src/postcss-benchmark.js b/src/postcss-benchmark.js new file mode 100644 index 00000000..c4f04302 --- /dev/null +++ b/src/postcss-benchmark.js @@ -0,0 +1,47 @@ +// Copyright 2018 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +const fs = require("fs"); +const postcss = require("postcss"); +const nested = require("postcss-nested"); +const autoprefixer = require("autoprefixer"); + +const nestedRules = require("./mocks/nested-rules"); + +const cleaner = postcss([autoprefixer({ add: false, browsers: [] })]); +const processor = postcss([autoprefixer, nested]); + +const payloads = [ + { + name: "bootstrap-4.0.0.css", + options: { from: `third_party/${this.name}`, map: false } + }, + { + name: "foundation-6.4.2.css", + options: { from: `third_party/${this.name}`, map: false } + }, + { + name: "angular-material-1.1.8.css", + options: { from: `third_party/${this.name}`, map: false } + } +].map(({ name, options }) => { + // Clean prefixes. + const source = fs.readFileSync(`third_party/${name}`, "utf8"); + // Add some nested rules. + const css = cleaner.process(source).css + nestedRules; + + return { + payload: css, + options + }; +}); + +module.exports = { + name: "postcss", + fn() { + return payloads.map( + ({ payload, options }) => processor.process(payload, options).css + ); + } +}; diff --git a/src/postcss-benchmark.test.js b/src/postcss-benchmark.test.js new file mode 100644 index 00000000..f92ef047 --- /dev/null +++ b/src/postcss-benchmark.test.js @@ -0,0 +1,7 @@ +// Copyright 2018 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +const postcssBenchmark = require("./postcss-benchmark"); + +it("postcss-benchmark runs to completion", () => void postcssBenchmark.fn()); diff --git a/src/vfs.js b/src/vfs.js index 14e26070..8e66a924 100644 --- a/src/vfs.js +++ b/src/vfs.js @@ -7,10 +7,22 @@ const virtualfs = require("virtualfs"); // Setup the virtual file system. const fs = new virtualfs.VirtualFS(); fs.mkdirpSync("third_party/todomvc/react"); +fs.writeFileSync( + "third_party/angular-material-1.1.8.css", + require("raw-loader!../third_party/angular-material-1.1.8.css") +); fs.writeFileSync( "third_party/backbone-1.1.0.js", require("raw-loader!../third_party/backbone-1.1.0.js") ); +fs.writeFileSync( + "third_party/bootstrap-4.0.0.css", + require("raw-loader!../third_party/bootstrap-4.0.0.css") +); +fs.writeFileSync( + "third_party/foundation-6.4.2.css", + require("raw-loader!../third_party/foundation-6.4.2.css") +); fs.writeFileSync( "third_party/jquery-3.2.1.js", require("raw-loader!../third_party/jquery-3.2.1.js") diff --git a/third_party/angular-material-1.1.8.css b/third_party/angular-material-1.1.8.css new file mode 100644 index 00000000..a80fd467 --- /dev/null +++ b/third_party/angular-material-1.1.8.css @@ -0,0 +1,18130 @@ +/*! + * AngularJS Material Design + * https://github.com/angular/material + * @license MIT + * v1.1.8 + */ +html, body { + height: 100%; + position: relative; } + +body { + margin: 0; + padding: 0; } + +[tabindex='-1']:focus { + outline: none; } + +.inset { + padding: 10px; } + +a.md-no-style, +button.md-no-style { + font-weight: normal; + background-color: inherit; + text-align: left; + border: none; + padding: 0; + margin: 0; } + +select, +button, +textarea, +input { + vertical-align: baseline; } + +input[type="reset"], +input[type="submit"], +html input[type="button"], +button { + cursor: pointer; + -webkit-appearance: button; } + input[type="reset"][disabled], + input[type="submit"][disabled], + html input[type="button"][disabled], + button[disabled] { + cursor: default; } + +textarea { + vertical-align: top; + overflow: auto; } + +input[type="search"] { + -webkit-appearance: textfield; + box-sizing: content-box; + -webkit-box-sizing: content-box; } + input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button { + -webkit-appearance: none; } + +input:-webkit-autofill { + text-shadow: none; } + +.md-visually-hidden { + border: 0; + clip: rect(0 0 0 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + text-transform: none; + width: 1px; } + +.md-shadow { + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + border-radius: inherit; + pointer-events: none; } + +.md-shadow-bottom-z-1 { + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + +.md-shadow-bottom-z-2 { + box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4); } + +.md-shadow-animated.md-shadow { + -webkit-transition: box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1); + transition: box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1); } + +/* + * A container inside of a rippling element (eg a button), + * which contains all of the individual ripples + */ +.md-ripple-container { + pointer-events: none; + position: absolute; + overflow: hidden; + left: 0; + top: 0; + width: 100%; + height: 100%; + -webkit-transition: all 0.55s cubic-bezier(0.25, 0.8, 0.25, 1); + transition: all 0.55s cubic-bezier(0.25, 0.8, 0.25, 1); } + +.md-ripple { + position: absolute; + -webkit-transform: translate(-50%, -50%) scale(0); + transform: translate(-50%, -50%) scale(0); + -webkit-transform-origin: 50% 50%; + transform-origin: 50% 50%; + opacity: 0; + border-radius: 50%; } + .md-ripple.md-ripple-placed { + -webkit-transition: margin 0.9s cubic-bezier(0.25, 0.8, 0.25, 1), border 0.9s cubic-bezier(0.25, 0.8, 0.25, 1), width 0.9s cubic-bezier(0.25, 0.8, 0.25, 1), height 0.9s cubic-bezier(0.25, 0.8, 0.25, 1), opacity 0.9s cubic-bezier(0.25, 0.8, 0.25, 1), -webkit-transform 0.9s cubic-bezier(0.25, 0.8, 0.25, 1); + transition: margin 0.9s cubic-bezier(0.25, 0.8, 0.25, 1), border 0.9s cubic-bezier(0.25, 0.8, 0.25, 1), width 0.9s cubic-bezier(0.25, 0.8, 0.25, 1), height 0.9s cubic-bezier(0.25, 0.8, 0.25, 1), opacity 0.9s cubic-bezier(0.25, 0.8, 0.25, 1), -webkit-transform 0.9s cubic-bezier(0.25, 0.8, 0.25, 1); + transition: margin 0.9s cubic-bezier(0.25, 0.8, 0.25, 1), border 0.9s cubic-bezier(0.25, 0.8, 0.25, 1), width 0.9s cubic-bezier(0.25, 0.8, 0.25, 1), height 0.9s cubic-bezier(0.25, 0.8, 0.25, 1), opacity 0.9s cubic-bezier(0.25, 0.8, 0.25, 1), transform 0.9s cubic-bezier(0.25, 0.8, 0.25, 1); + transition: margin 0.9s cubic-bezier(0.25, 0.8, 0.25, 1), border 0.9s cubic-bezier(0.25, 0.8, 0.25, 1), width 0.9s cubic-bezier(0.25, 0.8, 0.25, 1), height 0.9s cubic-bezier(0.25, 0.8, 0.25, 1), opacity 0.9s cubic-bezier(0.25, 0.8, 0.25, 1), transform 0.9s cubic-bezier(0.25, 0.8, 0.25, 1), -webkit-transform 0.9s cubic-bezier(0.25, 0.8, 0.25, 1); } + .md-ripple.md-ripple-scaled { + -webkit-transform: translate(-50%, -50%) scale(1); + transform: translate(-50%, -50%) scale(1); } + .md-ripple.md-ripple-active, .md-ripple.md-ripple-full, .md-ripple.md-ripple-visible { + opacity: 0.20; } + .md-ripple.md-ripple-remove { + -webkit-animation: md-remove-ripple 0.9s cubic-bezier(0.25, 0.8, 0.25, 1); + animation: md-remove-ripple 0.9s cubic-bezier(0.25, 0.8, 0.25, 1); } + +@-webkit-keyframes md-remove-ripple { + 0% { + opacity: .15; } + 100% { + opacity: 0; } } + +@keyframes md-remove-ripple { + 0% { + opacity: .15; } + 100% { + opacity: 0; } } + +.md-padding { + padding: 8px; } + +.md-margin { + margin: 8px; } + +.md-scroll-mask { + position: absolute; + background-color: transparent; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 50; } + .md-scroll-mask > .md-scroll-mask-bar { + display: block; + position: absolute; + background-color: #fafafa; + right: 0; + top: 0; + bottom: 0; + z-index: 65; + box-shadow: inset 0px 0px 1px rgba(0, 0, 0, 0.3); } + +.md-no-momentum { + -webkit-overflow-scrolling: auto; } + +.md-no-flicker { + -webkit-filter: blur(0px); } + +@media (min-width: 960px) { + .md-padding { + padding: 16px; } } + +html[dir=rtl], html[dir=ltr], body[dir=rtl], body[dir=ltr] { + unicode-bidi: embed; } + +bdo[dir=rtl] { + direction: rtl; + unicode-bidi: bidi-override; } + +bdo[dir=ltr] { + direction: ltr; + unicode-bidi: bidi-override; } + +html, body { + -webkit-tap-highlight-color: transparent; + -webkit-touch-callout: none; + min-height: 100%; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; } + +/************ + * Headings + ************/ +.md-display-4 { + font-size: 112px; + font-weight: 300; + letter-spacing: -0.010em; + line-height: 112px; } + +.md-display-3 { + font-size: 56px; + font-weight: 400; + letter-spacing: -0.005em; + line-height: 56px; } + +.md-display-2 { + font-size: 45px; + font-weight: 400; + line-height: 64px; } + +.md-display-1 { + font-size: 34px; + font-weight: 400; + line-height: 40px; } + +.md-headline { + font-size: 24px; + font-weight: 400; + line-height: 32px; } + +.md-title { + font-size: 20px; + font-weight: 500; + letter-spacing: 0.005em; } + +.md-subhead { + font-size: 16px; + font-weight: 400; + letter-spacing: 0.010em; + line-height: 24px; } + +/************ + * Body Copy + ************/ +.md-body-1 { + font-size: 14px; + font-weight: 400; + letter-spacing: 0.010em; + line-height: 20px; } + +.md-body-2 { + font-size: 14px; + font-weight: 500; + letter-spacing: 0.010em; + line-height: 24px; } + +.md-caption { + font-size: 12px; + letter-spacing: 0.020em; } + +.md-button { + letter-spacing: 0.010em; } + +/************ + * Defaults + ************/ +button, +select, +html, +textarea, +input { + font-family: Roboto, "Helvetica Neue", sans-serif; } + +select, +button, +textarea, +input { + font-size: 100%; } + +/* +* +* Responsive attributes +* +* References: +* 1) https://scotch.io/tutorials/a-visual-guide-to-css3-flexbox-properties#flex +* 2) https://css-tricks.com/almanac/properties/f/flex/ +* 3) https://css-tricks.com/snippets/css/a-guide-to-flexbox/ +* 4) https://github.com/philipwalton/flexbugs#3-min-height-on-a-flex-container-wont-apply-to-its-flex-items +* 5) http://godban.com.ua/projects/flexgrid +* +* +*/ +.md-panel-outer-wrapper { + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } + +._md-panel-hidden { + display: none; } + +._md-panel-offscreen { + left: -9999px; } + +._md-panel-fullscreen { + border-radius: 0; + left: 0; + min-height: 100%; + min-width: 100%; + position: fixed; + top: 0; } + +._md-panel-shown .md-panel { + opacity: 1; + -webkit-transition: none; + transition: none; } + +.md-panel { + opacity: 0; + position: fixed; } + .md-panel._md-panel-shown { + opacity: 1; + -webkit-transition: none; + transition: none; } + .md-panel._md-panel-animate-enter { + opacity: 1; + -webkit-transition: all 0.3s cubic-bezier(0, 0, 0.2, 1); + transition: all 0.3s cubic-bezier(0, 0, 0.2, 1); } + .md-panel._md-panel-animate-leave { + opacity: 1; + -webkit-transition: all 0.3s cubic-bezier(0.4, 0, 1, 1); + transition: all 0.3s cubic-bezier(0.4, 0, 1, 1); } + .md-panel._md-panel-animate-scale-out, .md-panel._md-panel-animate-fade-out { + opacity: 0; } + .md-panel._md-panel-backdrop { + height: 100%; + position: absolute; + width: 100%; } + .md-panel._md-opaque-enter { + opacity: .48; + -webkit-transition: opacity 0.3s cubic-bezier(0, 0, 0.2, 1); + transition: opacity 0.3s cubic-bezier(0, 0, 0.2, 1); } + .md-panel._md-opaque-leave { + -webkit-transition: opacity 0.3s cubic-bezier(0.4, 0, 1, 1); + transition: opacity 0.3s cubic-bezier(0.4, 0, 1, 1); } + +md-autocomplete { + border-radius: 2px; + display: block; + height: 40px; + position: relative; + overflow: visible; + min-width: 190px; } + md-autocomplete[disabled] input { + cursor: default; } + md-autocomplete[md-floating-label] { + border-radius: 0; + background: transparent; + height: auto; } + md-autocomplete[md-floating-label] md-input-container { + padding-bottom: 0; } + md-autocomplete[md-floating-label] md-autocomplete-wrap { + height: auto; } + md-autocomplete[md-floating-label] .md-show-clear-button button { + display: block; + position: absolute; + right: 0; + top: 20px; + width: 30px; + height: 30px; } + md-autocomplete[md-floating-label] .md-show-clear-button input { + padding-right: 30px; } + [dir=rtl] md-autocomplete[md-floating-label] .md-show-clear-button input { + padding-right: 0; + padding-left: 30px; } + md-autocomplete md-autocomplete-wrap { + display: -webkit-box; + display: -webkit-flex; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + flex-direction: row; + box-sizing: border-box; + position: relative; + overflow: visible; + height: 40px; } + md-autocomplete md-autocomplete-wrap.md-menu-showing { + z-index: 51; } + md-autocomplete md-autocomplete-wrap md-input-container, md-autocomplete md-autocomplete-wrap input { + -webkit-box-flex: 1; + -webkit-flex: 1 1 0%; + flex: 1 1 0%; + box-sizing: border-box; + min-width: 0; } + md-autocomplete md-autocomplete-wrap md-progress-linear { + position: absolute; + bottom: -2px; + left: 0; } + md-autocomplete md-autocomplete-wrap md-progress-linear.md-inline { + bottom: 40px; + right: 2px; + left: 2px; + width: auto; } + md-autocomplete md-autocomplete-wrap md-progress-linear .md-mode-indeterminate { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 3px; + -webkit-transition: none; + transition: none; } + md-autocomplete md-autocomplete-wrap md-progress-linear .md-mode-indeterminate .md-container { + -webkit-transition: none; + transition: none; + height: 3px; } + md-autocomplete md-autocomplete-wrap md-progress-linear .md-mode-indeterminate.ng-enter { + -webkit-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; } + md-autocomplete md-autocomplete-wrap md-progress-linear .md-mode-indeterminate.ng-enter.ng-enter-active { + opacity: 1; } + md-autocomplete md-autocomplete-wrap md-progress-linear .md-mode-indeterminate.ng-leave { + -webkit-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; } + md-autocomplete md-autocomplete-wrap md-progress-linear .md-mode-indeterminate.ng-leave.ng-leave-active { + opacity: 0; } + md-autocomplete input:not(.md-input) { + font-size: 14px; + box-sizing: border-box; + border: none; + box-shadow: none; + outline: none; + background: transparent; + width: 100%; + padding: 0 15px; + line-height: 40px; + height: 40px; } + md-autocomplete input:not(.md-input)::-ms-clear { + display: none; } + md-autocomplete .md-show-clear-button button { + position: relative; + line-height: 20px; + text-align: center; + width: 30px; + height: 30px; + cursor: pointer; + border: none; + border-radius: 50%; + padding: 0; + font-size: 12px; + background: transparent; + margin: auto 5px; } + md-autocomplete .md-show-clear-button button:after { + content: ''; + position: absolute; + top: -6px; + right: -6px; + bottom: -6px; + left: -6px; + border-radius: 50%; + -webkit-transform: scale(0); + transform: scale(0); + opacity: 0; + -webkit-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); } + md-autocomplete .md-show-clear-button button:focus { + outline: none; } + md-autocomplete .md-show-clear-button button:focus:after { + -webkit-transform: scale(1); + transform: scale(1); + opacity: 1; } + md-autocomplete .md-show-clear-button button md-icon { + position: absolute; + top: 50%; + left: 50%; + -webkit-transform: translate3d(-50%, -50%, 0) scale(0.9); + transform: translate3d(-50%, -50%, 0) scale(0.9); } + md-autocomplete .md-show-clear-button button md-icon path { + stroke-width: 0; } + md-autocomplete .md-show-clear-button button.ng-enter { + -webkit-transform: scale(0); + transform: scale(0); + -webkit-transition: -webkit-transform 0.15s ease-out; + transition: -webkit-transform 0.15s ease-out; + transition: transform 0.15s ease-out; + transition: transform 0.15s ease-out, -webkit-transform 0.15s ease-out; } + md-autocomplete .md-show-clear-button button.ng-enter.ng-enter-active { + -webkit-transform: scale(1); + transform: scale(1); } + md-autocomplete .md-show-clear-button button.ng-leave { + -webkit-transition: -webkit-transform 0.15s ease-out; + transition: -webkit-transform 0.15s ease-out; + transition: transform 0.15s ease-out; + transition: transform 0.15s ease-out, -webkit-transform 0.15s ease-out; } + md-autocomplete .md-show-clear-button button.ng-leave.ng-leave-active { + -webkit-transform: scale(0); + transform: scale(0); } + @media screen and (-ms-high-contrast: active) { + md-autocomplete input { + border: 1px solid #fff; } + md-autocomplete li:focus { + color: #fff; } } + +.md-virtual-repeat-container.md-autocomplete-suggestions-container { + position: absolute; + box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25); + z-index: 100; + height: 100%; } + +.md-virtual-repeat-container.md-not-found { + height: 48px; } + +.md-autocomplete-suggestions { + margin: 0; + list-style: none; + padding: 0; } + .md-autocomplete-suggestions li { + font-size: 14px; + overflow: hidden; + padding: 0 15px; + line-height: 48px; + height: 48px; + -webkit-transition: background 0.15s linear; + transition: background 0.15s linear; + margin: 0; + white-space: nowrap; + text-overflow: ellipsis; } + .md-autocomplete-suggestions li:focus { + outline: none; } + .md-autocomplete-suggestions li:not(.md-not-found-wrapper) { + cursor: pointer; } + +@media screen and (-ms-high-contrast: active) { + md-autocomplete, + .md-autocomplete-suggestions { + border: 1px solid #fff; } } + +md-backdrop { + -webkit-transition: opacity 450ms; + transition: opacity 450ms; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + z-index: 50; } + md-backdrop.md-menu-backdrop { + position: fixed !important; + z-index: 99; } + md-backdrop.md-select-backdrop { + z-index: 81; + -webkit-transition-duration: 0; + transition-duration: 0; } + md-backdrop.md-dialog-backdrop { + z-index: 79; } + md-backdrop.md-bottom-sheet-backdrop { + z-index: 69; } + md-backdrop.md-sidenav-backdrop { + z-index: 59; } + md-backdrop.md-click-catcher { + position: absolute; } + md-backdrop.md-opaque { + opacity: .48; } + md-backdrop.md-opaque.ng-enter { + opacity: 0; } + md-backdrop.md-opaque.ng-enter.md-opaque.ng-enter-active { + opacity: .48; } + md-backdrop.md-opaque.ng-leave { + opacity: .48; + -webkit-transition: opacity 400ms; + transition: opacity 400ms; } + md-backdrop.md-opaque.ng-leave.md-opaque.ng-leave-active { + opacity: 0; } + +md-bottom-sheet { + position: absolute; + left: 0; + right: 0; + bottom: 0; + padding: 8px 16px 88px 16px; + z-index: 70; + border-top-width: 1px; + border-top-style: solid; + -webkit-transform: translate3d(0, 80px, 0); + transform: translate3d(0, 80px, 0); + -webkit-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + -webkit-transition-property: -webkit-transform; + transition-property: -webkit-transform; + transition-property: transform; + transition-property: transform, -webkit-transform; } + md-bottom-sheet.md-has-header { + padding-top: 0; } + md-bottom-sheet.ng-enter { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); } + md-bottom-sheet.ng-enter-active { + opacity: 1; + display: block; + -webkit-transform: translate3d(0, 80px, 0) !important; + transform: translate3d(0, 80px, 0) !important; } + md-bottom-sheet.ng-leave-active { + -webkit-transform: translate3d(0, 100%, 0) !important; + transform: translate3d(0, 100%, 0) !important; + -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2); + transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2); } + md-bottom-sheet .md-subheader { + background-color: transparent; + font-family: Roboto, "Helvetica Neue", sans-serif; + line-height: 56px; + padding: 0; + white-space: nowrap; } + md-bottom-sheet md-inline-icon { + display: inline-block; + height: 24px; + width: 24px; + fill: #444; } + md-bottom-sheet md-list-item { + display: -webkit-box; + display: -webkit-flex; + display: flex; + outline: none; } + md-bottom-sheet md-list-item:hover { + cursor: pointer; } + md-bottom-sheet.md-list md-list-item { + padding: 0; + -webkit-box-align: center; + -webkit-align-items: center; + align-items: center; + height: 48px; } + md-bottom-sheet.md-grid { + padding-left: 24px; + padding-right: 24px; + padding-top: 0; } + md-bottom-sheet.md-grid md-list { + display: -webkit-box; + display: -webkit-flex; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + flex-direction: row; + -webkit-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-transition: all 0.5s; + transition: all 0.5s; + -webkit-box-align: center; + -webkit-align-items: center; + align-items: center; } + md-bottom-sheet.md-grid md-list-item { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + flex-direction: column; + -webkit-box-align: center; + -webkit-align-items: center; + align-items: center; + -webkit-transition: all 0.5s; + transition: all 0.5s; + height: 96px; + margin-top: 8px; + margin-bottom: 8px; + /* Mixin for how many grid items to show per row */ } + @media (max-width: 960px) { + md-bottom-sheet.md-grid md-list-item { + -webkit-box-flex: 1; + -webkit-flex: 1 1 33.33333%; + flex: 1 1 33.33333%; + max-width: 33.33333%; } + md-bottom-sheet.md-grid md-list-item:nth-of-type(3n + 1) { + -webkit-box-align: start; + -webkit-align-items: flex-start; + align-items: flex-start; } + md-bottom-sheet.md-grid md-list-item:nth-of-type(3n) { + -webkit-box-align: end; + -webkit-align-items: flex-end; + align-items: flex-end; } } + @media (min-width: 960px) and (max-width: 1279px) { + md-bottom-sheet.md-grid md-list-item { + -webkit-box-flex: 1; + -webkit-flex: 1 1 25%; + flex: 1 1 25%; + max-width: 25%; } } + @media (min-width: 1280px) and (max-width: 1919px) { + md-bottom-sheet.md-grid md-list-item { + -webkit-box-flex: 1; + -webkit-flex: 1 1 16.66667%; + flex: 1 1 16.66667%; + max-width: 16.66667%; } } + @media (min-width: 1920px) { + md-bottom-sheet.md-grid md-list-item { + -webkit-box-flex: 1; + -webkit-flex: 1 1 14.28571%; + flex: 1 1 14.28571%; + max-width: 14.28571%; } } + md-bottom-sheet.md-grid md-list-item::before { + display: none; } + md-bottom-sheet.md-grid md-list-item .md-list-item-content { + display: -webkit-box; + display: -webkit-flex; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + flex-direction: column; + -webkit-box-align: center; + -webkit-align-items: center; + align-items: center; + width: 48px; + padding-bottom: 16px; } + md-bottom-sheet.md-grid md-list-item .md-grid-item-content { + border: 1px solid transparent; + display: -webkit-box; + display: -webkit-flex; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + flex-direction: column; + -webkit-box-align: center; + -webkit-align-items: center; + align-items: center; + width: 80px; } + md-bottom-sheet.md-grid md-list-item .md-grid-text { + font-weight: 400; + line-height: 16px; + font-size: 13px; + margin: 0; + white-space: nowrap; + width: 64px; + text-align: center; + text-transform: none; + padding-top: 8px; } + +@media screen and (-ms-high-contrast: active) { + md-bottom-sheet { + border: 1px solid #fff; } } + +button.md-button::-moz-focus-inner { + border: 0; } + +.md-button { + display: inline-block; + position: relative; + cursor: pointer; + /** Alignment adjustments */ + min-height: 36px; + min-width: 88px; + line-height: 36px; + vertical-align: middle; + -webkit-box-align: center; + -webkit-align-items: center; + align-items: center; + text-align: center; + border-radius: 2px; + box-sizing: border-box; + /* Reset default button appearance */ + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + outline: none; + border: 0; + /** Custom styling for button */ + padding: 0 6px; + margin: 6px 8px; + background: transparent; + color: currentColor; + white-space: nowrap; + /* Uppercase text content */ + text-transform: uppercase; + font-weight: 500; + font-size: 14px; + font-style: inherit; + font-variant: inherit; + font-family: inherit; + text-decoration: none; + overflow: hidden; + -webkit-transition: box-shadow 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), background-color 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + transition: box-shadow 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), background-color 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); } + .md-dense > .md-button:not(.md-dense-disabled), + .md-dense :not(.md-dense-disabled) .md-button:not(.md-dense-disabled) { + min-height: 32px; } + .md-dense > .md-button:not(.md-dense-disabled), + .md-dense :not(.md-dense-disabled) .md-button:not(.md-dense-disabled) { + line-height: 32px; } + .md-dense > .md-button:not(.md-dense-disabled), + .md-dense :not(.md-dense-disabled) .md-button:not(.md-dense-disabled) { + font-size: 13px; } + .md-button:focus { + outline: none; } + .md-button:hover, .md-button:focus { + text-decoration: none; } + .md-button.ng-hide, .md-button.ng-leave { + -webkit-transition: none; + transition: none; } + .md-button.md-cornered { + border-radius: 0; } + .md-button.md-icon { + padding: 0; + background: none; } + .md-button.md-raised:not([disabled]) { + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .md-button.md-icon-button { + margin: 0 6px; + height: 40px; + min-width: 0; + line-height: 24px; + padding: 8px; + width: 40px; + border-radius: 50%; } + .md-button.md-fab { + z-index: 20; + line-height: 56px; + min-width: 0; + width: 56px; + height: 56px; + vertical-align: middle; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + border-radius: 50%; + background-clip: padding-box; + overflow: hidden; + -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2); + transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2); + -webkit-transition-property: background-color, box-shadow, -webkit-transform; + transition-property: background-color, box-shadow, -webkit-transform; + transition-property: background-color, box-shadow, transform; + transition-property: background-color, box-shadow, transform, -webkit-transform; } + .md-button.md-fab.md-fab-bottom-right { + top: auto; + right: 20px; + bottom: 20px; + left: auto; + position: absolute; } + .md-button.md-fab.md-fab-bottom-left { + top: auto; + right: auto; + bottom: 20px; + left: 20px; + position: absolute; } + .md-button.md-fab.md-fab-top-right { + top: 20px; + right: 20px; + bottom: auto; + left: auto; + position: absolute; } + .md-button.md-fab.md-fab-top-left { + top: 20px; + right: auto; + bottom: auto; + left: 20px; + position: absolute; } + .md-button.md-fab.md-mini { + line-height: 40px; + width: 40px; + height: 40px; } + .md-button.md-fab.ng-hide, .md-button.md-fab.ng-leave { + -webkit-transition: none; + transition: none; } + .md-button:not([disabled]).md-raised.md-focused, .md-button:not([disabled]).md-fab.md-focused { + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .md-button:not([disabled]).md-raised:active, .md-button:not([disabled]).md-fab:active { + box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4); } + .md-button .md-ripple-container { + border-radius: inherit; + background-clip: padding-box; + overflow: hidden; + -webkit-transform: translateZ(0); } + +.md-button.md-icon-button md-icon, +button.md-button.md-fab md-icon { + display: block; } + +.md-toast-open-top .md-button.md-fab-top-left, +.md-toast-open-top .md-button.md-fab-top-right { + -webkit-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + -webkit-transform: translate3d(0, 42px, 0); + transform: translate3d(0, 42px, 0); } + .md-toast-open-top .md-button.md-fab-top-left:not([disabled]).md-focused, .md-toast-open-top .md-button.md-fab-top-left:not([disabled]):hover, + .md-toast-open-top .md-button.md-fab-top-right:not([disabled]).md-focused, + .md-toast-open-top .md-button.md-fab-top-right:not([disabled]):hover { + -webkit-transform: translate3d(0, 41px, 0); + transform: translate3d(0, 41px, 0); } + +.md-toast-open-bottom .md-button.md-fab-bottom-left, +.md-toast-open-bottom .md-button.md-fab-bottom-right { + -webkit-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + -webkit-transform: translate3d(0, -42px, 0); + transform: translate3d(0, -42px, 0); } + .md-toast-open-bottom .md-button.md-fab-bottom-left:not([disabled]).md-focused, .md-toast-open-bottom .md-button.md-fab-bottom-left:not([disabled]):hover, + .md-toast-open-bottom .md-button.md-fab-bottom-right:not([disabled]).md-focused, + .md-toast-open-bottom .md-button.md-fab-bottom-right:not([disabled]):hover { + -webkit-transform: translate3d(0, -43px, 0); + transform: translate3d(0, -43px, 0); } + +.md-button-group { + display: -webkit-box; + display: -webkit-flex; + display: flex; + -webkit-box-flex: 1; + -webkit-flex: 1; + flex: 1; + width: 100%; } + .md-button-group > .md-button { + -webkit-box-flex: 1; + -webkit-flex: 1; + flex: 1; + display: block; + overflow: hidden; + width: 0; + border-width: 1px 0px 1px 1px; + border-radius: 0; + text-align: center; + text-overflow: ellipsis; + white-space: nowrap; } + .md-button-group > .md-button:first-child { + border-radius: 2px 0px 0px 2px; } + .md-button-group > .md-button:last-child { + border-right-width: 1px; + border-radius: 0px 2px 2px 0px; } + +@media screen and (-ms-high-contrast: active) { + .md-button.md-raised, + .md-button.md-fab { + border: 1px solid #fff; } } + +md-card { + box-sizing: border-box; + display: -webkit-box; + display: -webkit-flex; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + flex-direction: column; + margin: 8px; + box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 2px 1px -1px rgba(0, 0, 0, 0.12); } + md-card md-card-header { + padding: 16px; + display: -webkit-box; + display: -webkit-flex; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + flex-direction: row; } + md-card md-card-header:first-child md-card-avatar { + margin-right: 12px; } + [dir=rtl] md-card md-card-header:first-child md-card-avatar { + margin-right: auto; + margin-left: 12px; } + md-card md-card-header:last-child md-card-avatar { + margin-left: 12px; } + [dir=rtl] md-card md-card-header:last-child md-card-avatar { + margin-left: auto; + margin-right: 12px; } + md-card md-card-header md-card-avatar { + width: 40px; + height: 40px; } + md-card md-card-header md-card-avatar .md-user-avatar, + md-card md-card-header md-card-avatar md-icon { + border-radius: 50%; } + md-card md-card-header md-card-avatar md-icon { + padding: 8px; } + md-card md-card-header md-card-avatar md-icon > svg { + height: inherit; + width: inherit; } + md-card md-card-header md-card-avatar + md-card-header-text { + max-height: 40px; } + md-card md-card-header md-card-avatar + md-card-header-text .md-title { + font-size: 14px; } + md-card md-card-header md-card-header-text { + display: -webkit-box; + display: -webkit-flex; + display: flex; + -webkit-box-flex: 1; + -webkit-flex: 1; + flex: 1; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + flex-direction: column; } + md-card md-card-header md-card-header-text .md-subhead { + font-size: 14px; } + md-card > img, + md-card > md-card-header img, + md-card md-card-title-media img { + box-sizing: border-box; + display: -webkit-box; + display: -webkit-flex; + display: flex; + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + flex: 0 0 auto; + width: 100%; + height: auto; } + md-card md-card-title { + padding: 24px 16px 16px; + display: -webkit-box; + display: -webkit-flex; + display: flex; + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + flex: 1 1 auto; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + flex-direction: row; } + md-card md-card-title + md-card-content { + padding-top: 0; } + md-card md-card-title md-card-title-text { + -webkit-box-flex: 1; + -webkit-flex: 1; + flex: 1; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + flex-direction: column; + display: -webkit-box; + display: -webkit-flex; + display: flex; } + md-card md-card-title md-card-title-text .md-subhead { + padding-top: 0; + font-size: 14px; } + md-card md-card-title md-card-title-text:only-child .md-subhead { + padding-top: 12px; } + md-card md-card-title md-card-title-media { + margin-top: -8px; } + md-card md-card-title md-card-title-media .md-media-sm { + height: 80px; + width: 80px; } + md-card md-card-title md-card-title-media .md-media-md { + height: 112px; + width: 112px; } + md-card md-card-title md-card-title-media .md-media-lg { + height: 152px; + width: 152px; } + md-card md-card-content { + display: block; + padding: 16px; } + md-card md-card-content > p:first-child { + margin-top: 0; } + md-card md-card-content > p:last-child { + margin-bottom: 0; } + md-card md-card-content .md-media-xl { + height: 240px; + width: 240px; } + md-card .md-actions, md-card md-card-actions { + margin: 8px; } + md-card .md-actions.layout-column .md-button:not(.md-icon-button), md-card md-card-actions.layout-column .md-button:not(.md-icon-button) { + margin: 2px 0; } + md-card .md-actions.layout-column .md-button:not(.md-icon-button):first-of-type, md-card md-card-actions.layout-column .md-button:not(.md-icon-button):first-of-type { + margin-top: 0; } + md-card .md-actions.layout-column .md-button:not(.md-icon-button):last-of-type, md-card md-card-actions.layout-column .md-button:not(.md-icon-button):last-of-type { + margin-bottom: 0; } + md-card .md-actions.layout-column .md-button.md-icon-button, md-card md-card-actions.layout-column .md-button.md-icon-button { + margin-top: 6px; + margin-bottom: 6px; } + md-card .md-actions md-card-icon-actions, md-card md-card-actions md-card-icon-actions { + -webkit-box-flex: 1; + -webkit-flex: 1; + flex: 1; + -webkit-box-pack: start; + -webkit-justify-content: flex-start; + justify-content: flex-start; + display: -webkit-box; + display: -webkit-flex; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + flex-direction: row; } + md-card .md-actions:not(.layout-column) .md-button:not(.md-icon-button), md-card md-card-actions:not(.layout-column) .md-button:not(.md-icon-button) { + margin: 0 4px; } + md-card .md-actions:not(.layout-column) .md-button:not(.md-icon-button):first-of-type, md-card md-card-actions:not(.layout-column) .md-button:not(.md-icon-button):first-of-type { + margin-left: 0; } + [dir=rtl] md-card .md-actions:not(.layout-column) .md-button:not(.md-icon-button):first-of-type, [dir=rtl] md-card md-card-actions:not(.layout-column) .md-button:not(.md-icon-button):first-of-type { + margin-left: auto; + margin-right: 0; } + md-card .md-actions:not(.layout-column) .md-button:not(.md-icon-button):last-of-type, md-card md-card-actions:not(.layout-column) .md-button:not(.md-icon-button):last-of-type { + margin-right: 0; } + [dir=rtl] md-card .md-actions:not(.layout-column) .md-button:not(.md-icon-button):last-of-type, [dir=rtl] md-card md-card-actions:not(.layout-column) .md-button:not(.md-icon-button):last-of-type { + margin-right: auto; + margin-left: 0; } + md-card .md-actions:not(.layout-column) .md-button.md-icon-button, md-card md-card-actions:not(.layout-column) .md-button.md-icon-button { + margin-left: 6px; + margin-right: 6px; } + md-card .md-actions:not(.layout-column) .md-button.md-icon-button:first-of-type, md-card md-card-actions:not(.layout-column) .md-button.md-icon-button:first-of-type { + margin-left: 12px; } + [dir=rtl] md-card .md-actions:not(.layout-column) .md-button.md-icon-button:first-of-type, [dir=rtl] md-card md-card-actions:not(.layout-column) .md-button.md-icon-button:first-of-type { + margin-left: auto; + margin-right: 12px; } + md-card .md-actions:not(.layout-column) .md-button.md-icon-button:last-of-type, md-card md-card-actions:not(.layout-column) .md-button.md-icon-button:last-of-type { + margin-right: 12px; } + [dir=rtl] md-card .md-actions:not(.layout-column) .md-button.md-icon-button:last-of-type, [dir=rtl] md-card md-card-actions:not(.layout-column) .md-button.md-icon-button:last-of-type { + margin-right: auto; + margin-left: 12px; } + md-card .md-actions:not(.layout-column) .md-button + md-card-icon-actions, md-card md-card-actions:not(.layout-column) .md-button + md-card-icon-actions { + -webkit-box-flex: 1; + -webkit-flex: 1; + flex: 1; + -webkit-box-pack: end; + -webkit-justify-content: flex-end; + justify-content: flex-end; + display: -webkit-box; + display: -webkit-flex; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + flex-direction: row; } + md-card md-card-footer { + margin-top: auto; + padding: 16px; } + +@media screen and (-ms-high-contrast: active) { + md-card { + border: 1px solid #fff; } } + +.md-image-no-fill > img { + width: auto; + height: auto; } + +.md-inline-form md-checkbox { + margin: 19px 0 18px; } + +md-checkbox { + box-sizing: border-box; + display: inline-block; + margin-bottom: 16px; + white-space: nowrap; + cursor: pointer; + outline: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + position: relative; + min-width: 20px; + min-height: 20px; + margin-left: 0; + margin-right: 16px; } + [dir=rtl] md-checkbox { + margin-left: 16px; } + [dir=rtl] md-checkbox { + margin-right: 0; } + md-checkbox:last-of-type { + margin-left: 0; + margin-right: 0; } + md-checkbox.md-focused:not([disabled]) .md-container:before { + left: -8px; + top: -8px; + right: -8px; + bottom: -8px; } + md-checkbox.md-focused:not([disabled]):not(.md-checked) .md-container:before { + background-color: rgba(0, 0, 0, 0.12); } + md-checkbox.md-align-top-left > div.md-container { + top: 12px; } + md-checkbox .md-container { + position: absolute; + top: 50%; + -webkit-transform: translateY(-50%); + transform: translateY(-50%); + box-sizing: border-box; + display: inline-block; + width: 20px; + height: 20px; + left: 0; + right: auto; } + [dir=rtl] md-checkbox .md-container { + left: auto; } + [dir=rtl] md-checkbox .md-container { + right: 0; } + md-checkbox .md-container:before { + box-sizing: border-box; + background-color: transparent; + border-radius: 50%; + content: ''; + position: absolute; + display: block; + height: auto; + left: 0; + top: 0; + right: 0; + bottom: 0; + -webkit-transition: all 0.5s; + transition: all 0.5s; + width: auto; } + md-checkbox .md-container:after { + box-sizing: border-box; + content: ''; + position: absolute; + top: -10px; + right: -10px; + bottom: -10px; + left: -10px; } + md-checkbox .md-container .md-ripple-container { + position: absolute; + display: block; + width: auto; + height: auto; + left: -15px; + top: -15px; + right: -15px; + bottom: -15px; } + md-checkbox .md-icon { + box-sizing: border-box; + -webkit-transition: 240ms; + transition: 240ms; + position: absolute; + top: 0; + left: 0; + width: 20px; + height: 20px; + border-width: 2px; + border-style: solid; + border-radius: 2px; } + md-checkbox.md-checked .md-icon { + border-color: transparent; } + md-checkbox.md-checked .md-icon:after { + box-sizing: border-box; + -webkit-transform: rotate(45deg); + transform: rotate(45deg); + position: absolute; + left: 4.66667px; + top: 0.22222px; + display: table; + width: 6.66667px; + height: 13.33333px; + border-width: 2px; + border-style: solid; + border-top: 0; + border-left: 0; + content: ''; } + md-checkbox[disabled] { + cursor: default; } + md-checkbox.md-indeterminate .md-icon:after { + box-sizing: border-box; + position: absolute; + top: 50%; + left: 50%; + -webkit-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); + display: table; + width: 12px; + height: 2px; + border-width: 2px; + border-style: solid; + border-top: 0; + border-left: 0; + content: ''; } + md-checkbox .md-label { + box-sizing: border-box; + position: relative; + display: inline-block; + vertical-align: middle; + white-space: normal; + -webkit-user-select: text; + -moz-user-select: text; + -ms-user-select: text; + user-select: text; + margin-left: 30px; + margin-right: 0; } + [dir=rtl] md-checkbox .md-label { + margin-left: 0; } + [dir=rtl] md-checkbox .md-label { + margin-right: 30px; } + +.md-contact-chips .md-chips md-chip { + padding: 0 25px 0 0; } + [dir=rtl] .md-contact-chips .md-chips md-chip { + padding: 0 0 0 25px; } + .md-contact-chips .md-chips md-chip .md-contact-avatar { + float: left; } + [dir=rtl] .md-contact-chips .md-chips md-chip .md-contact-avatar { + float: right; } + .md-contact-chips .md-chips md-chip .md-contact-avatar img { + height: 32px; + border-radius: 16px; } + .md-contact-chips .md-chips md-chip .md-contact-name { + display: inline-block; + height: 32px; + margin-left: 8px; } + [dir=rtl] .md-contact-chips .md-chips md-chip .md-contact-name { + margin-left: auto; + margin-right: 8px; } + +.md-contact-suggestion { + height: 56px; } + .md-contact-suggestion img { + height: 40px; + border-radius: 20px; + margin-top: 8px; } + .md-contact-suggestion .md-contact-name { + margin-left: 8px; + width: 120px; } + [dir=rtl] .md-contact-suggestion .md-contact-name { + margin-left: auto; + margin-right: 8px; } + .md-contact-suggestion .md-contact-name, .md-contact-suggestion .md-contact-email { + display: inline-block; + overflow: hidden; + text-overflow: ellipsis; } + +.md-contact-chips-suggestions li { + height: 100%; } + +.md-chips { + display: block; + font-family: Roboto, "Helvetica Neue", sans-serif; + font-size: 16px; + padding: 0 0 8px 3px; + vertical-align: middle; } + .md-chips:after { + content: ''; + display: table; + clear: both; } + [dir=rtl] .md-chips { + padding: 0 3px 8px 0; } + .md-chips.md-readonly .md-chip-input-container { + min-height: 32px; } + .md-chips:not(.md-readonly) { + cursor: text; } + .md-chips.md-removable md-chip { + padding-right: 22px; } + [dir=rtl] .md-chips.md-removable md-chip { + padding-right: 0; + padding-left: 22px; } + .md-chips.md-removable md-chip .md-chip-content { + padding-right: 4px; } + [dir=rtl] .md-chips.md-removable md-chip .md-chip-content { + padding-right: 0; + padding-left: 4px; } + .md-chips md-chip { + cursor: default; + border-radius: 16px; + display: block; + height: 32px; + line-height: 32px; + margin: 8px 8px 0 0; + padding: 0 12px 0 12px; + float: left; + box-sizing: border-box; + max-width: 100%; + position: relative; } + [dir=rtl] .md-chips md-chip { + margin: 8px 0 0 8px; } + [dir=rtl] .md-chips md-chip { + float: right; } + .md-chips md-chip .md-chip-content { + display: block; + float: left; + white-space: nowrap; + max-width: 100%; + overflow: hidden; + text-overflow: ellipsis; } + [dir=rtl] .md-chips md-chip .md-chip-content { + float: right; } + .md-chips md-chip .md-chip-content:focus { + outline: none; } + .md-chips md-chip._md-chip-content-edit-is-enabled { + -webkit-user-select: none; + /* webkit (safari, chrome) browsers */ + -moz-user-select: none; + /* mozilla browsers */ + -khtml-user-select: none; + /* webkit (konqueror) browsers */ + -ms-user-select: none; + /* IE10+ */ } + .md-chips md-chip .md-chip-remove-container { + position: absolute; + right: 0; + line-height: 22px; } + [dir=rtl] .md-chips md-chip .md-chip-remove-container { + right: auto; + left: 0; } + .md-chips md-chip .md-chip-remove { + text-align: center; + width: 32px; + height: 32px; + min-width: 0; + padding: 0; + background: transparent; + border: none; + box-shadow: none; + margin: 0; + position: relative; } + .md-chips md-chip .md-chip-remove md-icon { + height: 18px; + width: 18px; + position: absolute; + top: 50%; + left: 50%; + -webkit-transform: translate3d(-50%, -50%, 0); + transform: translate3d(-50%, -50%, 0); } + .md-chips .md-chip-input-container { + display: block; + line-height: 32px; + margin: 8px 8px 0 0; + padding: 0; + float: left; } + [dir=rtl] .md-chips .md-chip-input-container { + margin: 8px 0 0 8px; } + [dir=rtl] .md-chips .md-chip-input-container { + float: right; } + .md-chips .md-chip-input-container input:not([type]), .md-chips .md-chip-input-container input[type="email"], .md-chips .md-chip-input-container input[type="number"], .md-chips .md-chip-input-container input[type="tel"], .md-chips .md-chip-input-container input[type="url"], .md-chips .md-chip-input-container input[type="text"] { + border: 0; + height: 32px; + line-height: 32px; + padding: 0; } + .md-chips .md-chip-input-container input:not([type]):focus, .md-chips .md-chip-input-container input[type="email"]:focus, .md-chips .md-chip-input-container input[type="number"]:focus, .md-chips .md-chip-input-container input[type="tel"]:focus, .md-chips .md-chip-input-container input[type="url"]:focus, .md-chips .md-chip-input-container input[type="text"]:focus { + outline: none; } + .md-chips .md-chip-input-container md-autocomplete, .md-chips .md-chip-input-container md-autocomplete-wrap { + background: transparent; + height: 32px; } + .md-chips .md-chip-input-container md-autocomplete md-autocomplete-wrap { + box-shadow: none; } + .md-chips .md-chip-input-container md-autocomplete input { + position: relative; } + .md-chips .md-chip-input-container input { + border: 0; + height: 32px; + line-height: 32px; + padding: 0; } + .md-chips .md-chip-input-container input:focus { + outline: none; } + .md-chips .md-chip-input-container md-autocomplete, .md-chips .md-chip-input-container md-autocomplete-wrap { + height: 32px; } + .md-chips .md-chip-input-container md-autocomplete { + box-shadow: none; } + .md-chips .md-chip-input-container md-autocomplete input { + position: relative; } + .md-chips .md-chip-input-container:not(:first-child) { + margin: 8px 8px 0 0; } + [dir=rtl] .md-chips .md-chip-input-container:not(:first-child) { + margin: 8px 0 0 8px; } + .md-chips .md-chip-input-container input { + background: transparent; + border-width: 0; } + .md-chips md-autocomplete button { + display: none; } + +@media screen and (-ms-high-contrast: active) { + .md-chip-input-container, + md-chip { + border: 1px solid #fff; } + .md-chip-input-container md-autocomplete { + border: none; } } + +md-content { + display: block; + position: relative; + overflow: auto; + -webkit-overflow-scrolling: touch; } + md-content[md-scroll-y] { + overflow-y: auto; + overflow-x: hidden; } + md-content[md-scroll-x] { + overflow-x: auto; + overflow-y: hidden; } + @media print { + md-content { + overflow: visible !important; } } + +/** Styles for mdCalendar. */ +md-calendar { + font-size: 13px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; } + +.md-calendar-scroll-mask { + display: inline-block; + overflow: hidden; + height: 308px; } + .md-calendar-scroll-mask .md-virtual-repeat-scroller { + overflow-y: scroll; + -webkit-overflow-scrolling: touch; } + .md-calendar-scroll-mask .md-virtual-repeat-scroller::-webkit-scrollbar { + display: none; } + .md-calendar-scroll-mask .md-virtual-repeat-offsetter { + width: 100%; } + +.md-calendar-scroll-container { + box-shadow: inset -3px 3px 6px rgba(0, 0, 0, 0.2); + display: inline-block; + height: 308px; + width: 346px; } + +.md-calendar-date { + height: 44px; + width: 44px; + text-align: center; + padding: 0; + border: none; + box-sizing: content-box; } + .md-calendar-date:first-child { + padding-left: 16px; } + [dir=rtl] .md-calendar-date:first-child { + padding-left: 0; + padding-right: 16px; } + .md-calendar-date:last-child { + padding-right: 16px; } + [dir=rtl] .md-calendar-date:last-child { + padding-right: 0; + padding-left: 16px; } + .md-calendar-date.md-calendar-date-disabled { + cursor: default; } + +.md-calendar-date-selection-indicator { + -webkit-transition: background-color, color 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + transition: background-color, color 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + border-radius: 50%; + display: inline-block; + width: 40px; + height: 40px; + line-height: 40px; } + .md-calendar-date:not(.md-disabled) .md-calendar-date-selection-indicator { + cursor: pointer; } + +.md-calendar-month-label { + height: 44px; + font-size: 14px; + font-weight: 500; + padding: 0 0 0 24px; } + [dir=rtl] .md-calendar-month-label { + padding: 0 24px 0 0; } + .md-calendar-month-label.md-calendar-label-clickable { + cursor: pointer; } + .md-calendar-month-label md-icon { + -webkit-transform: rotate(180deg); + transform: rotate(180deg); } + [dir=rtl] .md-calendar-month-label md-icon { + -webkit-transform: none; + transform: none; } + .md-calendar-month-label span { + vertical-align: middle; } + +.md-calendar-day-header { + table-layout: fixed; + border-spacing: 0; + border-collapse: collapse; } + .md-calendar-day-header th { + height: 40px; + width: 44px; + text-align: center; + padding: 0; + border: none; + box-sizing: content-box; + font-weight: normal; } + .md-calendar-day-header th:first-child { + padding-left: 16px; } + [dir=rtl] .md-calendar-day-header th:first-child { + padding-left: 0; + padding-right: 16px; } + .md-calendar-day-header th:last-child { + padding-right: 16px; } + [dir=rtl] .md-calendar-day-header th:last-child { + padding-right: 0; + padding-left: 16px; } + +.md-calendar { + table-layout: fixed; + border-spacing: 0; + border-collapse: collapse; } + .md-calendar tr:last-child td { + border-bottom-width: 1px; + border-bottom-style: solid; } + .md-calendar:first-child { + border-top: 1px solid transparent; } + .md-calendar tbody, .md-calendar td, .md-calendar tr { + vertical-align: middle; + box-sizing: content-box; } + +/** Styles for mdDatepicker. */ +md-datepicker { + white-space: nowrap; + overflow: hidden; + vertical-align: middle; } + +.md-inline-form md-datepicker { + margin-top: 12px; } + +.md-datepicker-button { + display: inline-block; + box-sizing: border-box; + background: none; + vertical-align: middle; + position: relative; } + .md-datepicker-button:before { + top: 0; + left: 0; + bottom: 0; + right: 0; + position: absolute; + content: ''; + speak: none; } + +.md-datepicker-input { + font-size: 14px; + box-sizing: border-box; + border: none; + box-shadow: none; + outline: none; + background: transparent; + min-width: 120px; + max-width: 328px; + padding: 0 0 5px; } + .md-datepicker-input::-ms-clear { + display: none; } + +._md-datepicker-floating-label > md-datepicker { + overflow: visible; } + ._md-datepicker-floating-label > md-datepicker .md-datepicker-input-container { + border: none; } + ._md-datepicker-floating-label > md-datepicker .md-datepicker-button { + float: left; + margin-top: -12px; + top: 9.5px; } + [dir=rtl] ._md-datepicker-floating-label > md-datepicker .md-datepicker-button { + float: right; } + +._md-datepicker-floating-label .md-input { + float: none; } + +._md-datepicker-floating-label._md-datepicker-has-calendar-icon > label:not(.md-no-float):not(.md-container-ignore) { + right: 18px; + left: auto; + width: calc(100% - 84px); } + [dir=rtl] ._md-datepicker-floating-label._md-datepicker-has-calendar-icon > label:not(.md-no-float):not(.md-container-ignore) { + right: auto; } + [dir=rtl] ._md-datepicker-floating-label._md-datepicker-has-calendar-icon > label:not(.md-no-float):not(.md-container-ignore) { + left: 18px; } + +._md-datepicker-floating-label._md-datepicker-has-calendar-icon .md-input-message-animation { + margin-left: 64px; } + [dir=rtl] ._md-datepicker-floating-label._md-datepicker-has-calendar-icon .md-input-message-animation { + margin-left: auto; + margin-right: 64px; } + +._md-datepicker-has-triangle-icon { + padding-right: 18px; + margin-right: -18px; } + [dir=rtl] ._md-datepicker-has-triangle-icon { + padding-right: 0; + padding-left: 18px; } + [dir=rtl] ._md-datepicker-has-triangle-icon { + margin-right: auto; + margin-left: -18px; } + +.md-datepicker-input-container { + position: relative; + border-bottom-width: 1px; + border-bottom-style: solid; + display: inline-block; + width: auto; } + .md-icon-button + .md-datepicker-input-container { + margin-left: 12px; } + [dir=rtl] .md-icon-button + .md-datepicker-input-container { + margin-left: auto; + margin-right: 12px; } + .md-datepicker-input-container.md-datepicker-focused { + border-bottom-width: 2px; } + +.md-datepicker-is-showing .md-scroll-mask { + z-index: 99; } + +.md-datepicker-calendar-pane { + position: absolute; + top: 0; + left: -100%; + z-index: 100; + border-width: 1px; + border-style: solid; + background: transparent; + -webkit-transform: scale(0); + transform: scale(0); + -webkit-transform-origin: 0 0; + transform-origin: 0 0; + -webkit-transition: -webkit-transform 0.2s cubic-bezier(0.25, 0.8, 0.25, 1); + transition: -webkit-transform 0.2s cubic-bezier(0.25, 0.8, 0.25, 1); + transition: transform 0.2s cubic-bezier(0.25, 0.8, 0.25, 1); + transition: transform 0.2s cubic-bezier(0.25, 0.8, 0.25, 1), -webkit-transform 0.2s cubic-bezier(0.25, 0.8, 0.25, 1); } + .md-datepicker-calendar-pane.md-pane-open { + -webkit-transform: scale(1); + transform: scale(1); } + +.md-datepicker-input-mask { + height: 40px; + width: 340px; + position: relative; + overflow: hidden; + background: transparent; + pointer-events: none; + cursor: text; } + +.md-datepicker-calendar { + opacity: 0; + -webkit-transition: opacity 0.2s cubic-bezier(0.5, 0, 0.25, 1); + transition: opacity 0.2s cubic-bezier(0.5, 0, 0.25, 1); } + .md-pane-open .md-datepicker-calendar { + opacity: 1; } + .md-datepicker-calendar md-calendar:focus { + outline: none; } + +.md-datepicker-expand-triangle { + position: absolute; + top: 50%; + left: 50%; + -webkit-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); + width: 0; + height: 0; + border-left: 5px solid transparent; + border-right: 5px solid transparent; + border-top: 5px solid; } + +.md-datepicker-triangle-button { + position: absolute; + right: 0; + bottom: -2.5px; + -webkit-transform: translateX(45%); + transform: translateX(45%); } + [dir=rtl] .md-datepicker-triangle-button { + right: auto; + left: 0; } + [dir=rtl] .md-datepicker-triangle-button { + -webkit-transform: translateX(-45%); + transform: translateX(-45%); } + +.md-datepicker-triangle-button.md-button.md-icon-button { + height: 36px; + width: 36px; + position: absolute; + padding: 8px; } + +md-datepicker[disabled] .md-datepicker-input-container { + border-bottom-color: transparent; } + +md-datepicker[disabled] .md-datepicker-triangle-button { + display: none; } + +.md-datepicker-open { + overflow: hidden; } + .md-datepicker-open .md-datepicker-input-container, + .md-datepicker-open input.md-input { + border-bottom-color: transparent; } + .md-datepicker-open .md-datepicker-triangle-button, + .md-datepicker-open.md-input-has-value > label, + .md-datepicker-open.md-input-has-placeholder > label { + display: none; } + +.md-datepicker-pos-adjusted .md-datepicker-input-mask { + display: none; } + +.md-datepicker-calendar-pane .md-calendar { + -webkit-transform: translateY(-85px); + transform: translateY(-85px); + -webkit-transition: -webkit-transform 0.65s cubic-bezier(0.25, 0.8, 0.25, 1); + transition: -webkit-transform 0.65s cubic-bezier(0.25, 0.8, 0.25, 1); + transition: transform 0.65s cubic-bezier(0.25, 0.8, 0.25, 1); + transition: transform 0.65s cubic-bezier(0.25, 0.8, 0.25, 1), -webkit-transform 0.65s cubic-bezier(0.25, 0.8, 0.25, 1); + -webkit-transition-delay: 0.125s; + transition-delay: 0.125s; } + +.md-datepicker-calendar-pane.md-pane-open .md-calendar { + -webkit-transform: translateY(0); + transform: translateY(0); } + +.md-dialog-is-showing { + max-height: 100%; } + +.md-dialog-container { + display: -webkit-box; + display: -webkit-flex; + display: flex; + -webkit-box-pack: center; + -webkit-justify-content: center; + justify-content: center; + -webkit-box-align: center; + -webkit-align-items: center; + align-items: center; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 80; + overflow: hidden; } + +md-dialog { + opacity: 0; + min-width: 240px; + max-width: 80%; + max-height: 80%; + position: relative; + overflow: auto; + box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 13px 19px 2px rgba(0, 0, 0, 0.14), 0px 5px 24px 4px rgba(0, 0, 0, 0.12); + display: -webkit-box; + display: -webkit-flex; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + flex-direction: column; } + md-dialog.md-transition-in { + opacity: 1; + -webkit-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + -webkit-transform: translate(0, 0) scale(1); + transform: translate(0, 0) scale(1); } + md-dialog.md-transition-out { + opacity: 0; + -webkit-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + -webkit-transform: translate(0, 100%) scale(0.2); + transform: translate(0, 100%) scale(0.2); } + md-dialog > form { + display: -webkit-box; + display: -webkit-flex; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + flex-direction: column; + overflow: auto; } + md-dialog .md-dialog-content { + padding: 24px; } + md-dialog md-dialog-content { + -webkit-box-ordinal-group: 2; + -webkit-order: 1; + order: 1; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + flex-direction: column; + overflow: auto; + -webkit-overflow-scrolling: touch; } + md-dialog md-dialog-content:not([layout=row]) > *:first-child:not(.md-subheader) { + margin-top: 0; } + md-dialog md-dialog-content:focus { + outline: none; } + md-dialog md-dialog-content .md-subheader { + margin: 0; } + md-dialog md-dialog-content .md-dialog-content-body { + width: 100%; } + md-dialog md-dialog-content .md-prompt-input-container { + width: 100%; + box-sizing: border-box; } + md-dialog .md-actions, md-dialog md-dialog-actions { + display: -webkit-box; + display: -webkit-flex; + display: flex; + -webkit-box-ordinal-group: 3; + -webkit-order: 2; + order: 2; + box-sizing: border-box; + -webkit-box-align: center; + -webkit-align-items: center; + align-items: center; + -webkit-box-pack: end; + -webkit-justify-content: flex-end; + justify-content: flex-end; + margin-bottom: 0; + padding-right: 8px; + padding-left: 16px; + min-height: 52px; + overflow: hidden; } + [dir=rtl] md-dialog .md-actions, [dir=rtl] md-dialog md-dialog-actions { + padding-right: 16px; } + [dir=rtl] md-dialog .md-actions, [dir=rtl] md-dialog md-dialog-actions { + padding-left: 8px; } + md-dialog .md-actions .md-button, md-dialog md-dialog-actions .md-button { + margin-bottom: 8px; + margin-left: 8px; + margin-right: 0; + margin-top: 8px; } + [dir=rtl] md-dialog .md-actions .md-button, [dir=rtl] md-dialog md-dialog-actions .md-button { + margin-left: 0; } + [dir=rtl] md-dialog .md-actions .md-button, [dir=rtl] md-dialog md-dialog-actions .md-button { + margin-right: 8px; } + md-dialog.md-content-overflow .md-actions, md-dialog.md-content-overflow md-dialog-actions { + border-top-width: 1px; + border-top-style: solid; } + +@media screen and (-ms-high-contrast: active) { + md-dialog { + border: 1px solid #fff; } } + +@media (max-width: 959px) { + md-dialog.md-dialog-fullscreen { + min-height: 100%; + min-width: 100%; + border-radius: 0; } } + +md-divider { + display: block; + border-top-width: 1px; + border-top-style: solid; + margin: 0; } + md-divider[md-inset] { + margin-left: 80px; } + [dir=rtl] md-divider[md-inset] { + margin-left: auto; + margin-right: 80px; } + +.layout-row > md-divider, +.layout-xs-row > md-divider, .layout-gt-xs-row > md-divider, +.layout-sm-row > md-divider, .layout-gt-sm-row > md-divider, +.layout-md-row > md-divider, .layout-gt-md-row > md-divider, +.layout-lg-row > md-divider, .layout-gt-lg-row > md-divider, +.layout-xl-row > md-divider { + border-top-width: 0; + border-right-width: 1px; + border-right-style: solid; } + +md-fab-speed-dial { + position: relative; + display: -webkit-box; + display: -webkit-flex; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + align-items: center; + z-index: 20; + /* + * Hide some graphics glitches if switching animation types + */ + /* + * Handle the animations + */ } + md-fab-speed-dial.md-fab-bottom-right { + top: auto; + right: 20px; + bottom: 20px; + left: auto; + position: absolute; } + md-fab-speed-dial.md-fab-bottom-left { + top: auto; + right: auto; + bottom: 20px; + left: 20px; + position: absolute; } + md-fab-speed-dial.md-fab-top-right { + top: 20px; + right: 20px; + bottom: auto; + left: auto; + position: absolute; } + md-fab-speed-dial.md-fab-top-left { + top: 20px; + right: auto; + bottom: auto; + left: 20px; + position: absolute; } + md-fab-speed-dial:not(.md-hover-full) { + pointer-events: none; } + md-fab-speed-dial:not(.md-hover-full) md-fab-trigger, md-fab-speed-dial:not(.md-hover-full) .md-fab-action-item { + pointer-events: auto; } + md-fab-speed-dial:not(.md-hover-full).md-is-open { + pointer-events: auto; } + md-fab-speed-dial ._md-css-variables { + z-index: 20; } + md-fab-speed-dial.md-is-open .md-fab-action-item { + -webkit-box-align: center; + -webkit-align-items: center; + align-items: center; } + md-fab-speed-dial md-fab-actions { + display: -webkit-box; + display: -webkit-flex; + display: flex; + height: auto; } + md-fab-speed-dial md-fab-actions .md-fab-action-item { + -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2); + transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2); } + md-fab-speed-dial.md-down { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + flex-direction: column; } + md-fab-speed-dial.md-down md-fab-trigger { + -webkit-box-ordinal-group: 2; + -webkit-order: 1; + order: 1; } + md-fab-speed-dial.md-down md-fab-actions { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + flex-direction: column; + -webkit-box-ordinal-group: 3; + -webkit-order: 2; + order: 2; } + md-fab-speed-dial.md-up { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + flex-direction: column; } + md-fab-speed-dial.md-up md-fab-trigger { + -webkit-box-ordinal-group: 3; + -webkit-order: 2; + order: 2; } + md-fab-speed-dial.md-up md-fab-actions { + -webkit-box-orient: vertical; + -webkit-box-direction: reverse; + -webkit-flex-direction: column-reverse; + flex-direction: column-reverse; + -webkit-box-ordinal-group: 2; + -webkit-order: 1; + order: 1; } + md-fab-speed-dial.md-left { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + flex-direction: row; } + md-fab-speed-dial.md-left md-fab-trigger { + -webkit-box-ordinal-group: 3; + -webkit-order: 2; + order: 2; } + md-fab-speed-dial.md-left md-fab-actions { + -webkit-box-orient: horizontal; + -webkit-box-direction: reverse; + -webkit-flex-direction: row-reverse; + flex-direction: row-reverse; + -webkit-box-ordinal-group: 2; + -webkit-order: 1; + order: 1; } + md-fab-speed-dial.md-left md-fab-actions .md-fab-action-item { + -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2); + transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2); } + md-fab-speed-dial.md-right { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + flex-direction: row; } + md-fab-speed-dial.md-right md-fab-trigger { + -webkit-box-ordinal-group: 2; + -webkit-order: 1; + order: 1; } + md-fab-speed-dial.md-right md-fab-actions { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + flex-direction: row; + -webkit-box-ordinal-group: 3; + -webkit-order: 2; + order: 2; } + md-fab-speed-dial.md-right md-fab-actions .md-fab-action-item { + -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2); + transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2); } + md-fab-speed-dial.md-fling-remove .md-fab-action-item > *, md-fab-speed-dial.md-scale-remove .md-fab-action-item > * { + visibility: hidden; } + md-fab-speed-dial.md-fling .md-fab-action-item { + opacity: 1; } + md-fab-speed-dial.md-fling.md-animations-waiting .md-fab-action-item { + opacity: 0; + -webkit-transition-duration: 0s; + transition-duration: 0s; } + md-fab-speed-dial.md-scale .md-fab-action-item { + -webkit-transform: scale(0); + transform: scale(0); + -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2); + transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2); + -webkit-transition-duration: 0.14286s; + transition-duration: 0.14286s; } + +md-fab-toolbar { + display: block; + /* + * Closed styling + */ + /* + * Hover styling + */ } + md-fab-toolbar.md-fab-bottom-right { + top: auto; + right: 20px; + bottom: 20px; + left: auto; + position: absolute; } + md-fab-toolbar.md-fab-bottom-left { + top: auto; + right: auto; + bottom: 20px; + left: 20px; + position: absolute; } + md-fab-toolbar.md-fab-top-right { + top: 20px; + right: 20px; + bottom: auto; + left: auto; + position: absolute; } + md-fab-toolbar.md-fab-top-left { + top: 20px; + right: auto; + bottom: auto; + left: 20px; + position: absolute; } + md-fab-toolbar .md-fab-toolbar-wrapper { + display: block; + position: relative; + overflow: hidden; + height: 68px; } + md-fab-toolbar md-fab-trigger { + position: absolute; + z-index: 20; } + md-fab-toolbar md-fab-trigger button { + overflow: visible !important; } + md-fab-toolbar md-fab-trigger .md-fab-toolbar-background { + display: block; + position: absolute; + z-index: 21; + opacity: 1; + -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2); + transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2); } + md-fab-toolbar md-fab-trigger md-icon { + position: relative; + z-index: 22; + opacity: 1; + -webkit-transition: all 200ms ease-in; + transition: all 200ms ease-in; } + md-fab-toolbar.md-left md-fab-trigger { + right: 0; } + [dir=rtl] md-fab-toolbar.md-left md-fab-trigger { + right: auto; + left: 0; } + md-fab-toolbar.md-left .md-toolbar-tools { + -webkit-box-orient: horizontal; + -webkit-box-direction: reverse; + -webkit-flex-direction: row-reverse; + flex-direction: row-reverse; } + md-fab-toolbar.md-left .md-toolbar-tools > .md-button:first-child { + margin-right: 0.6rem; } + [dir=rtl] md-fab-toolbar.md-left .md-toolbar-tools > .md-button:first-child { + margin-right: auto; + margin-left: 0.6rem; } + md-fab-toolbar.md-left .md-toolbar-tools > .md-button:first-child { + margin-left: -0.8rem; } + [dir=rtl] md-fab-toolbar.md-left .md-toolbar-tools > .md-button:first-child { + margin-left: auto; + margin-right: -0.8rem; } + md-fab-toolbar.md-left .md-toolbar-tools > .md-button:last-child { + margin-right: 8px; } + [dir=rtl] md-fab-toolbar.md-left .md-toolbar-tools > .md-button:last-child { + margin-right: auto; + margin-left: 8px; } + md-fab-toolbar.md-right md-fab-trigger { + left: 0; } + [dir=rtl] md-fab-toolbar.md-right md-fab-trigger { + left: auto; + right: 0; } + md-fab-toolbar.md-right .md-toolbar-tools { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + flex-direction: row; } + md-fab-toolbar md-toolbar { + background-color: transparent !important; + pointer-events: none; + z-index: 23; } + md-fab-toolbar md-toolbar .md-toolbar-tools { + padding: 0 20px; + margin-top: 3px; } + md-fab-toolbar md-toolbar .md-fab-action-item { + opacity: 0; + -webkit-transform: scale(0); + transform: scale(0); + -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2); + transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2); + -webkit-transition-duration: 0.15s; + transition-duration: 0.15s; } + md-fab-toolbar.md-is-open md-fab-trigger > button { + box-shadow: none; } + md-fab-toolbar.md-is-open md-fab-trigger > button md-icon { + opacity: 0; } + md-fab-toolbar.md-is-open .md-fab-action-item { + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); } + +md-grid-list { + box-sizing: border-box; + display: block; + position: relative; } + md-grid-list md-grid-tile, + md-grid-list md-grid-tile > figure, + md-grid-list md-grid-tile-header, + md-grid-list md-grid-tile-footer { + box-sizing: border-box; } + md-grid-list md-grid-tile { + display: block; + position: absolute; } + md-grid-list md-grid-tile figure { + display: -webkit-box; + display: -webkit-flex; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + align-items: center; + -webkit-box-pack: center; + -webkit-justify-content: center; + justify-content: center; + height: 100%; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: 0; + margin: 0; } + md-grid-list md-grid-tile md-grid-tile-header, + md-grid-list md-grid-tile md-grid-tile-footer { + display: -webkit-box; + display: -webkit-flex; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + flex-direction: row; + -webkit-box-align: center; + -webkit-align-items: center; + align-items: center; + height: 48px; + color: #fff; + background: rgba(0, 0, 0, 0.18); + overflow: hidden; + position: absolute; + left: 0; + right: 0; } + md-grid-list md-grid-tile md-grid-tile-header h3, + md-grid-list md-grid-tile md-grid-tile-header h4, + md-grid-list md-grid-tile md-grid-tile-footer h3, + md-grid-list md-grid-tile md-grid-tile-footer h4 { + font-weight: 400; + margin: 0 0 0 16px; } + md-grid-list md-grid-tile md-grid-tile-header h3, + md-grid-list md-grid-tile md-grid-tile-footer h3 { + font-size: 14px; } + md-grid-list md-grid-tile md-grid-tile-header h4, + md-grid-list md-grid-tile md-grid-tile-footer h4 { + font-size: 12px; } + md-grid-list md-grid-tile md-grid-tile-header { + top: 0; } + md-grid-list md-grid-tile md-grid-tile-footer { + bottom: 0; } + +@media screen and (-ms-high-contrast: active) { + md-grid-tile { + border: 1px solid #fff; } + md-grid-tile-footer { + border-top: 1px solid #fff; } } + +md-icon { + margin: auto; + background-repeat: no-repeat no-repeat; + display: inline-block; + vertical-align: middle; + fill: currentColor; + height: 24px; + width: 24px; + min-height: 24px; + min-width: 24px; } + md-icon svg { + pointer-events: none; + display: block; } + md-icon[md-font-icon] { + line-height: 24px; + width: auto; } + +md-input-container { + display: inline-block; + position: relative; + padding: 2px; + margin: 18px 0; + vertical-align: middle; + /* + * The .md-input class is added to the input/textarea + */ } + md-input-container:after { + content: ''; + display: table; + clear: both; } + md-input-container.md-block { + display: block; } + md-input-container .md-errors-spacer { + float: right; + min-height: 24px; + min-width: 1px; } + [dir=rtl] md-input-container .md-errors-spacer { + float: left; } + md-input-container > md-icon { + position: absolute; + top: 8px; + left: 2px; + right: auto; } + [dir=rtl] md-input-container > md-icon { + left: auto; } + [dir=rtl] md-input-container > md-icon { + right: 2px; } + md-input-container textarea, + md-input-container input[type="text"], + md-input-container input[type="password"], + md-input-container input[type="datetime"], + md-input-container input[type="datetime-local"], + md-input-container input[type="date"], + md-input-container input[type="month"], + md-input-container input[type="time"], + md-input-container input[type="week"], + md-input-container input[type="number"], + md-input-container input[type="email"], + md-input-container input[type="url"], + md-input-container input[type="search"], + md-input-container input[type="tel"], + md-input-container input[type="color"] { + /* remove default appearance from all input/textarea */ + -moz-appearance: none; + -webkit-appearance: none; } + md-input-container input[type="date"], + md-input-container input[type="datetime-local"], + md-input-container input[type="month"], + md-input-container input[type="time"], + md-input-container input[type="week"] { + min-height: 26px; } + md-input-container textarea { + resize: none; + overflow: hidden; } + md-input-container textarea.md-input { + min-height: 26px; + -ms-flex-preferred-size: auto; } + md-input-container textarea[md-no-autogrow] { + height: auto; + overflow: auto; } + md-input-container label:not(.md-container-ignore) { + position: absolute; + bottom: 100%; + left: 0; + right: auto; } + [dir=rtl] md-input-container label:not(.md-container-ignore) { + left: auto; } + [dir=rtl] md-input-container label:not(.md-container-ignore) { + right: 0; } + md-input-container label:not(.md-container-ignore).md-required:after { + content: ' *'; + font-size: 13px; + vertical-align: top; } + md-input-container label:not(.md-no-float):not(.md-container-ignore), + md-input-container .md-placeholder { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + width: 100%; + -webkit-box-ordinal-group: 2; + -webkit-order: 1; + order: 1; + pointer-events: none; + -webkit-font-smoothing: antialiased; + padding-left: 3px; + padding-right: 0; + z-index: 1; + -webkit-transform: translate3d(0, 28px, 0) scale(1); + transform: translate3d(0, 28px, 0) scale(1); + -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + transition: -webkit-transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), -webkit-transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + max-width: 100%; + -webkit-transform-origin: left top; + transform-origin: left top; } + [dir=rtl] md-input-container label:not(.md-no-float):not(.md-container-ignore), [dir=rtl] + md-input-container .md-placeholder { + padding-left: 0; } + [dir=rtl] md-input-container label:not(.md-no-float):not(.md-container-ignore), [dir=rtl] + md-input-container .md-placeholder { + padding-right: 3px; } + [dir=rtl] md-input-container label:not(.md-no-float):not(.md-container-ignore), [dir=rtl] + md-input-container .md-placeholder { + -webkit-transform-origin: right top; + transform-origin: right top; } + md-input-container .md-placeholder { + position: absolute; + top: 0; + opacity: 0; + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: opacity, transform; + transition-property: opacity, transform, -webkit-transform; + -webkit-transform: translate3d(0, 30px, 0); + transform: translate3d(0, 30px, 0); } + md-input-container.md-input-focused .md-placeholder { + opacity: 1; + -webkit-transform: translate3d(0, 24px, 0); + transform: translate3d(0, 24px, 0); } + md-input-container.md-input-has-value .md-placeholder { + -webkit-transition: none; + transition: none; + opacity: 0; } + md-input-container:not(.md-input-has-value) input:not(:focus), + md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-ampm-field, + md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-day-field, + md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-hour-field, + md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-millisecond-field, + md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-minute-field, + md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-month-field, + md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-second-field, + md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-week-field, + md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-year-field, + md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-text { + color: transparent; } + md-input-container .md-input { + -webkit-box-ordinal-group: 3; + -webkit-order: 2; + order: 2; + display: block; + margin-top: 0; + background: none; + padding-top: 2px; + padding-bottom: 1px; + padding-left: 2px; + padding-right: 2px; + border-width: 0 0 1px 0; + line-height: 26px; + height: 30px; + -ms-flex-preferred-size: 26px; + border-radius: 0; + border-style: solid; + width: 100%; + box-sizing: border-box; + float: left; } + [dir=rtl] md-input-container .md-input { + float: right; } + md-input-container .md-input:focus { + outline: none; } + md-input-container .md-input:invalid { + outline: none; + box-shadow: none; } + md-input-container .md-input.md-no-flex { + -webkit-box-flex: 0 !important; + -webkit-flex: none !important; + flex: none !important; } + md-input-container .md-char-counter { + text-align: right; + padding-right: 2px; + padding-left: 0; } + [dir=rtl] md-input-container .md-char-counter { + text-align: left; } + [dir=rtl] md-input-container .md-char-counter { + padding-right: 0; } + [dir=rtl] md-input-container .md-char-counter { + padding-left: 2px; } + md-input-container .md-input-messages-animation { + position: relative; + -webkit-box-ordinal-group: 5; + -webkit-order: 4; + order: 4; + overflow: hidden; + clear: left; } + [dir=rtl] md-input-container .md-input-messages-animation { + clear: right; } + md-input-container .md-input-message-animation, md-input-container .md-char-counter { + font-size: 12px; + line-height: 14px; + overflow: hidden; + -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2); + transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2); + opacity: 1; + margin-top: 0; + padding-top: 5px; } + md-input-container .md-input-message-animation:not(.md-char-counter), md-input-container .md-char-counter:not(.md-char-counter) { + padding-right: 5px; + padding-left: 0; } + [dir=rtl] md-input-container .md-input-message-animation:not(.md-char-counter), [dir=rtl] md-input-container .md-char-counter:not(.md-char-counter) { + padding-right: 0; } + [dir=rtl] md-input-container .md-input-message-animation:not(.md-char-counter), [dir=rtl] md-input-container .md-char-counter:not(.md-char-counter) { + padding-left: 5px; } + md-input-container:not(.md-input-invalid) .md-auto-hide .md-input-message-animation { + opacity: 0; + margin-top: -100px; } + md-input-container .md-input-message-animation.ng-enter-prepare { + opacity: 0; + margin-top: -100px; } + md-input-container .md-input-message-animation.ng-enter:not(.ng-enter-active) { + opacity: 0; + margin-top: -100px; } + md-input-container.md-input-focused label:not(.md-no-float), md-input-container.md-input-has-placeholder label:not(.md-no-float), md-input-container.md-input-has-value label:not(.md-no-float) { + -webkit-transform: translate3d(0, 6px, 0) scale(0.75); + transform: translate3d(0, 6px, 0) scale(0.75); + -webkit-transition: width cubic-bezier(0.25, 0.8, 0.25, 1) 0.4s, -webkit-transform cubic-bezier(0.25, 0.8, 0.25, 1) 0.4s; + transition: width cubic-bezier(0.25, 0.8, 0.25, 1) 0.4s, -webkit-transform cubic-bezier(0.25, 0.8, 0.25, 1) 0.4s; + transition: transform cubic-bezier(0.25, 0.8, 0.25, 1) 0.4s, width cubic-bezier(0.25, 0.8, 0.25, 1) 0.4s; + transition: transform cubic-bezier(0.25, 0.8, 0.25, 1) 0.4s, width cubic-bezier(0.25, 0.8, 0.25, 1) 0.4s, -webkit-transform cubic-bezier(0.25, 0.8, 0.25, 1) 0.4s; } + md-input-container.md-input-has-value label { + -webkit-transition: none; + transition: none; } + md-input-container.md-input-focused .md-input, + md-input-container .md-input.ng-invalid.ng-dirty, + md-input-container.md-input-resized .md-input { + padding-bottom: 0; + border-width: 0 0 2px 0; } + md-input-container .md-input[disabled], + [disabled] md-input-container .md-input { + background-position: bottom -1px left 0; + background-size: 4px 1px; + background-repeat: repeat-x; } + md-input-container.md-icon-float { + -webkit-transition: margin-top 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + transition: margin-top 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); } + md-input-container.md-icon-float > label { + pointer-events: none; + position: absolute; } + md-input-container.md-icon-float > md-icon { + top: 8px; + left: 2px; + right: auto; } + [dir=rtl] md-input-container.md-icon-float > md-icon { + left: auto; } + [dir=rtl] md-input-container.md-icon-float > md-icon { + right: 2px; } + md-input-container.md-icon-left > label:not(.md-no-float):not(.md-container-ignore), + md-input-container.md-icon-left > label .md-placeholder, md-input-container.md-icon-right > label:not(.md-no-float):not(.md-container-ignore), + md-input-container.md-icon-right > label .md-placeholder { + width: calc(100% - 36px - 18px); } + md-input-container.md-icon-left { + padding-left: 36px; + padding-right: 0; } + [dir=rtl] md-input-container.md-icon-left { + padding-left: 0; } + [dir=rtl] md-input-container.md-icon-left { + padding-right: 36px; } + md-input-container.md-icon-left > label { + left: 36px; + right: auto; } + [dir=rtl] md-input-container.md-icon-left > label { + left: auto; } + [dir=rtl] md-input-container.md-icon-left > label { + right: 36px; } + md-input-container.md-icon-right { + padding-left: 0; + padding-right: 36px; } + [dir=rtl] md-input-container.md-icon-right { + padding-left: 36px; } + [dir=rtl] md-input-container.md-icon-right { + padding-right: 0; } + md-input-container.md-icon-right > md-icon:last-of-type { + margin: 0; + right: 2px; + left: auto; } + [dir=rtl] md-input-container.md-icon-right > md-icon:last-of-type { + right: auto; } + [dir=rtl] md-input-container.md-icon-right > md-icon:last-of-type { + left: 2px; } + md-input-container.md-icon-left.md-icon-right { + padding-left: 36px; + padding-right: 36px; } + md-input-container.md-icon-left.md-icon-right > label:not(.md-no-float):not(.md-container-ignore), + md-input-container.md-icon-left.md-icon-right > label .md-placeholder { + width: calc(100% - (36px * 2)); } + +.md-resize-wrapper { + position: relative; } + .md-resize-wrapper:after { + content: ''; + display: table; + clear: both; } + +.md-resize-handle { + position: absolute; + bottom: -5px; + left: 0; + height: 10px; + background: transparent; + width: 100%; + cursor: ns-resize; } + +@media screen and (-ms-high-contrast: active) { + md-input-container.md-default-theme > md-icon { + fill: #fff; } } + +md-list { + display: block; + padding: 8px 0px 8px 0px; } + md-list .md-subheader { + font-size: 14px; + font-weight: 500; + letter-spacing: 0.010em; + line-height: 1.2em; } + md-list.md-dense md-list-item, + md-list.md-dense md-list-item .md-list-item-inner { + min-height: 48px; } + md-list.md-dense md-list-item::before, + md-list.md-dense md-list-item .md-list-item-inner::before { + content: ''; + min-height: 48px; + visibility: hidden; + display: inline-block; } + md-list.md-dense md-list-item md-icon:first-child, + md-list.md-dense md-list-item .md-list-item-inner md-icon:first-child { + width: 20px; + height: 20px; } + md-list.md-dense md-list-item > md-icon:first-child:not(.md-avatar-icon), + md-list.md-dense md-list-item .md-list-item-inner > md-icon:first-child:not(.md-avatar-icon) { + margin-right: 36px; } + [dir=rtl] md-list.md-dense md-list-item > md-icon:first-child:not(.md-avatar-icon), [dir=rtl] + md-list.md-dense md-list-item .md-list-item-inner > md-icon:first-child:not(.md-avatar-icon) { + margin-right: auto; + margin-left: 36px; } + md-list.md-dense md-list-item .md-avatar, md-list.md-dense md-list-item .md-avatar-icon, + md-list.md-dense md-list-item .md-list-item-inner .md-avatar, + md-list.md-dense md-list-item .md-list-item-inner .md-avatar-icon { + margin-right: 20px; } + [dir=rtl] md-list.md-dense md-list-item .md-avatar, [dir=rtl] md-list.md-dense md-list-item .md-avatar-icon, [dir=rtl] + md-list.md-dense md-list-item .md-list-item-inner .md-avatar, [dir=rtl] + md-list.md-dense md-list-item .md-list-item-inner .md-avatar-icon { + margin-right: auto; + margin-left: 20px; } + md-list.md-dense md-list-item .md-avatar, + md-list.md-dense md-list-item .md-list-item-inner .md-avatar { + -webkit-box-flex: 0; + -webkit-flex: none; + flex: none; + width: 36px; + height: 36px; } + md-list.md-dense md-list-item.md-2-line .md-list-item-text.md-offset, md-list.md-dense md-list-item.md-2-line > .md-no-style .md-list-item-text.md-offset, md-list.md-dense md-list-item.md-3-line .md-list-item-text.md-offset, md-list.md-dense md-list-item.md-3-line > .md-no-style .md-list-item-text.md-offset { + margin-left: 56px; } + [dir=rtl] md-list.md-dense md-list-item.md-2-line .md-list-item-text.md-offset, [dir=rtl] md-list.md-dense md-list-item.md-2-line > .md-no-style .md-list-item-text.md-offset, [dir=rtl] md-list.md-dense md-list-item.md-3-line .md-list-item-text.md-offset, [dir=rtl] md-list.md-dense md-list-item.md-3-line > .md-no-style .md-list-item-text.md-offset { + margin-left: auto; + margin-right: 56px; } + md-list.md-dense md-list-item.md-2-line .md-list-item-text h3, + md-list.md-dense md-list-item.md-2-line .md-list-item-text h4, + md-list.md-dense md-list-item.md-2-line .md-list-item-text p, md-list.md-dense md-list-item.md-2-line > .md-no-style .md-list-item-text h3, + md-list.md-dense md-list-item.md-2-line > .md-no-style .md-list-item-text h4, + md-list.md-dense md-list-item.md-2-line > .md-no-style .md-list-item-text p, md-list.md-dense md-list-item.md-3-line .md-list-item-text h3, + md-list.md-dense md-list-item.md-3-line .md-list-item-text h4, + md-list.md-dense md-list-item.md-3-line .md-list-item-text p, md-list.md-dense md-list-item.md-3-line > .md-no-style .md-list-item-text h3, + md-list.md-dense md-list-item.md-3-line > .md-no-style .md-list-item-text h4, + md-list.md-dense md-list-item.md-3-line > .md-no-style .md-list-item-text p { + line-height: 1.05; + font-size: 12px; } + md-list.md-dense md-list-item.md-2-line .md-list-item-text h3, md-list.md-dense md-list-item.md-2-line > .md-no-style .md-list-item-text h3, md-list.md-dense md-list-item.md-3-line .md-list-item-text h3, md-list.md-dense md-list-item.md-3-line > .md-no-style .md-list-item-text h3 { + font-size: 13px; } + md-list.md-dense md-list-item.md-2-line, md-list.md-dense md-list-item.md-2-line > .md-no-style { + min-height: 60px; } + md-list.md-dense md-list-item.md-2-line::before, md-list.md-dense md-list-item.md-2-line > .md-no-style::before { + content: ''; + min-height: 60px; + visibility: hidden; + display: inline-block; } + md-list.md-dense md-list-item.md-2-line > .md-avatar, md-list.md-dense md-list-item.md-2-line .md-avatar-icon, md-list.md-dense md-list-item.md-2-line > .md-no-style > .md-avatar, md-list.md-dense md-list-item.md-2-line > .md-no-style .md-avatar-icon { + margin-top: 12px; } + md-list.md-dense md-list-item.md-3-line, md-list.md-dense md-list-item.md-3-line > .md-no-style { + min-height: 76px; } + md-list.md-dense md-list-item.md-3-line::before, md-list.md-dense md-list-item.md-3-line > .md-no-style::before { + content: ''; + min-height: 76px; + visibility: hidden; + display: inline-block; } + md-list.md-dense md-list-item.md-3-line > md-icon:first-child, + md-list.md-dense md-list-item.md-3-line > .md-avatar, md-list.md-dense md-list-item.md-3-line > .md-no-style > md-icon:first-child, + md-list.md-dense md-list-item.md-3-line > .md-no-style > .md-avatar { + margin-top: 16px; } + +md-list-item { + position: relative; } + md-list-item.md-proxy-focus.md-focused .md-no-style { + -webkit-transition: background-color 0.15s linear; + transition: background-color 0.15s linear; } + md-list-item._md-button-wrap { + position: relative; } + md-list-item._md-button-wrap > div.md-button:first-child { + display: -webkit-box; + display: -webkit-flex; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + align-items: center; + -webkit-box-pack: start; + -webkit-justify-content: flex-start; + justify-content: flex-start; + padding: 0 16px; + margin: 0; + font-weight: 400; + text-align: left; + border: medium none; } + [dir=rtl] md-list-item._md-button-wrap > div.md-button:first-child { + text-align: right; } + md-list-item._md-button-wrap > div.md-button:first-child > .md-button:first-child { + position: absolute; + top: 0; + left: 0; + height: 100%; + margin: 0; + padding: 0; } + md-list-item._md-button-wrap > div.md-button:first-child .md-list-item-inner { + width: 100%; + min-height: inherit; } + md-list-item.md-no-proxy, + md-list-item .md-no-style { + position: relative; + padding: 0px 16px; + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + flex: 1 1 auto; } + md-list-item.md-no-proxy.md-button, + md-list-item .md-no-style.md-button { + font-size: inherit; + height: inherit; + text-align: left; + text-transform: none; + width: 100%; + white-space: normal; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: inherit; + flex-direction: inherit; + -webkit-box-align: inherit; + -webkit-align-items: inherit; + align-items: inherit; + border-radius: 0; + margin: 0; } + [dir=rtl] md-list-item.md-no-proxy.md-button, [dir=rtl] + md-list-item .md-no-style.md-button { + text-align: right; } + md-list-item.md-no-proxy.md-button > .md-ripple-container, + md-list-item .md-no-style.md-button > .md-ripple-container { + border-radius: 0; } + md-list-item.md-no-proxy:focus, + md-list-item .md-no-style:focus { + outline: none; } + md-list-item.md-clickable:hover { + cursor: pointer; } + md-list-item md-divider { + position: absolute; + bottom: 0; + left: 0; + width: 100%; } + [dir=rtl] md-list-item md-divider { + left: auto; + right: 0; } + md-list-item md-divider[md-inset] { + left: 72px; + width: calc(100% - 72px); + margin: 0 !important; } + [dir=rtl] md-list-item md-divider[md-inset] { + left: auto; + right: 72px; } + md-list-item, + md-list-item .md-list-item-inner { + display: -webkit-box; + display: -webkit-flex; + display: flex; + -webkit-box-pack: start; + -webkit-justify-content: flex-start; + justify-content: flex-start; + -webkit-box-align: center; + -webkit-align-items: center; + align-items: center; + min-height: 48px; + height: auto; } + md-list-item::before, + md-list-item .md-list-item-inner::before { + content: ''; + min-height: 48px; + visibility: hidden; + display: inline-block; } + md-list-item > div.md-primary > md-icon:not(.md-avatar-icon), + md-list-item > div.md-secondary > md-icon:not(.md-avatar-icon), + md-list-item > md-icon:first-child:not(.md-avatar-icon), + md-list-item > md-icon.md-secondary:not(.md-avatar-icon), + md-list-item .md-list-item-inner > div.md-primary > md-icon:not(.md-avatar-icon), + md-list-item .md-list-item-inner > div.md-secondary > md-icon:not(.md-avatar-icon), + md-list-item .md-list-item-inner > md-icon:first-child:not(.md-avatar-icon), + md-list-item .md-list-item-inner > md-icon.md-secondary:not(.md-avatar-icon) { + width: 24px; + margin-top: 16px; + margin-bottom: 12px; + box-sizing: content-box; } + md-list-item > div.md-primary > md-checkbox, + md-list-item > div.md-secondary > md-checkbox, + md-list-item > md-checkbox, + md-list-item md-checkbox.md-secondary, + md-list-item .md-list-item-inner > div.md-primary > md-checkbox, + md-list-item .md-list-item-inner > div.md-secondary > md-checkbox, + md-list-item .md-list-item-inner > md-checkbox, + md-list-item .md-list-item-inner md-checkbox.md-secondary { + -webkit-align-self: center; + -ms-grid-row-align: center; + align-self: center; } + md-list-item > div.md-primary > md-checkbox .md-label, + md-list-item > div.md-secondary > md-checkbox .md-label, + md-list-item > md-checkbox .md-label, + md-list-item md-checkbox.md-secondary .md-label, + md-list-item .md-list-item-inner > div.md-primary > md-checkbox .md-label, + md-list-item .md-list-item-inner > div.md-secondary > md-checkbox .md-label, + md-list-item .md-list-item-inner > md-checkbox .md-label, + md-list-item .md-list-item-inner md-checkbox.md-secondary .md-label { + display: none; } + md-list-item > md-icon:first-child:not(.md-avatar-icon), + md-list-item .md-list-item-inner > md-icon:first-child:not(.md-avatar-icon) { + margin-right: 32px; } + [dir=rtl] md-list-item > md-icon:first-child:not(.md-avatar-icon), [dir=rtl] + md-list-item .md-list-item-inner > md-icon:first-child:not(.md-avatar-icon) { + margin-right: auto; + margin-left: 32px; } + md-list-item .md-avatar, md-list-item .md-avatar-icon, + md-list-item .md-list-item-inner .md-avatar, + md-list-item .md-list-item-inner .md-avatar-icon { + margin-top: 8px; + margin-bottom: 8px; + margin-right: 16px; + border-radius: 50%; + box-sizing: content-box; } + [dir=rtl] md-list-item .md-avatar, [dir=rtl] md-list-item .md-avatar-icon, [dir=rtl] + md-list-item .md-list-item-inner .md-avatar, [dir=rtl] + md-list-item .md-list-item-inner .md-avatar-icon { + margin-right: auto; + margin-left: 16px; } + md-list-item .md-avatar, + md-list-item .md-list-item-inner .md-avatar { + -webkit-box-flex: 0; + -webkit-flex: none; + flex: none; + width: 40px; + height: 40px; } + md-list-item .md-avatar-icon, + md-list-item .md-list-item-inner .md-avatar-icon { + padding: 8px; } + md-list-item .md-avatar-icon svg, + md-list-item .md-list-item-inner .md-avatar-icon svg { + width: 24px; + height: 24px; } + md-list-item > md-checkbox, + md-list-item .md-list-item-inner > md-checkbox { + width: 24px; + margin-left: 3px; + margin-right: 29px; + margin-top: 16px; } + [dir=rtl] md-list-item > md-checkbox, [dir=rtl] + md-list-item .md-list-item-inner > md-checkbox { + margin-left: 29px; } + [dir=rtl] md-list-item > md-checkbox, [dir=rtl] + md-list-item .md-list-item-inner > md-checkbox { + margin-right: 3px; } + md-list-item .md-secondary-container, + md-list-item .md-list-item-inner .md-secondary-container { + display: -webkit-box; + display: -webkit-flex; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + align-items: center; + -webkit-flex-shrink: 0; + flex-shrink: 0; + margin: auto; + margin-right: 0; + margin-left: auto; } + [dir=rtl] md-list-item .md-secondary-container, [dir=rtl] + md-list-item .md-list-item-inner .md-secondary-container { + margin-right: auto; } + [dir=rtl] md-list-item .md-secondary-container, [dir=rtl] + md-list-item .md-list-item-inner .md-secondary-container { + margin-left: 0; } + md-list-item .md-secondary-container .md-button:last-of-type, md-list-item .md-secondary-container .md-icon-button:last-of-type, + md-list-item .md-list-item-inner .md-secondary-container .md-button:last-of-type, + md-list-item .md-list-item-inner .md-secondary-container .md-icon-button:last-of-type { + margin-right: 0; } + [dir=rtl] md-list-item .md-secondary-container .md-button:last-of-type, [dir=rtl] md-list-item .md-secondary-container .md-icon-button:last-of-type, [dir=rtl] + md-list-item .md-list-item-inner .md-secondary-container .md-button:last-of-type, [dir=rtl] + md-list-item .md-list-item-inner .md-secondary-container .md-icon-button:last-of-type { + margin-right: auto; + margin-left: 0; } + md-list-item .md-secondary-container md-checkbox, + md-list-item .md-list-item-inner .md-secondary-container md-checkbox { + margin-top: 0; + margin-bottom: 0; } + md-list-item .md-secondary-container md-checkbox:last-child, + md-list-item .md-list-item-inner .md-secondary-container md-checkbox:last-child { + width: 24px; + margin-right: 0; } + [dir=rtl] md-list-item .md-secondary-container md-checkbox:last-child, [dir=rtl] + md-list-item .md-list-item-inner .md-secondary-container md-checkbox:last-child { + margin-right: auto; + margin-left: 0; } + md-list-item .md-secondary-container md-switch, + md-list-item .md-list-item-inner .md-secondary-container md-switch { + margin-top: 0; + margin-bottom: 0; + margin-right: -6px; } + [dir=rtl] md-list-item .md-secondary-container md-switch, [dir=rtl] + md-list-item .md-list-item-inner .md-secondary-container md-switch { + margin-right: auto; + margin-left: -6px; } + md-list-item > p, md-list-item > .md-list-item-inner > p, + md-list-item .md-list-item-inner > p, + md-list-item .md-list-item-inner > .md-list-item-inner > p { + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + flex: 1 1 auto; + margin: 0; } + md-list-item.md-2-line, md-list-item.md-2-line > .md-no-style, md-list-item.md-3-line, md-list-item.md-3-line > .md-no-style { + -webkit-box-align: start; + -webkit-align-items: flex-start; + align-items: flex-start; + -webkit-box-pack: center; + -webkit-justify-content: center; + justify-content: center; } + md-list-item.md-2-line.md-long-text, md-list-item.md-2-line > .md-no-style.md-long-text, md-list-item.md-3-line.md-long-text, md-list-item.md-3-line > .md-no-style.md-long-text { + margin-top: 8px; + margin-bottom: 8px; } + md-list-item.md-2-line .md-list-item-text, md-list-item.md-2-line > .md-no-style .md-list-item-text, md-list-item.md-3-line .md-list-item-text, md-list-item.md-3-line > .md-no-style .md-list-item-text { + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + flex: 1 1 auto; + margin: auto; + text-overflow: ellipsis; + overflow: hidden; } + md-list-item.md-2-line .md-list-item-text.md-offset, md-list-item.md-2-line > .md-no-style .md-list-item-text.md-offset, md-list-item.md-3-line .md-list-item-text.md-offset, md-list-item.md-3-line > .md-no-style .md-list-item-text.md-offset { + margin-left: 56px; } + [dir=rtl] md-list-item.md-2-line .md-list-item-text.md-offset, [dir=rtl] md-list-item.md-2-line > .md-no-style .md-list-item-text.md-offset, [dir=rtl] md-list-item.md-3-line .md-list-item-text.md-offset, [dir=rtl] md-list-item.md-3-line > .md-no-style .md-list-item-text.md-offset { + margin-left: auto; + margin-right: 56px; } + md-list-item.md-2-line .md-list-item-text h3, md-list-item.md-2-line > .md-no-style .md-list-item-text h3, md-list-item.md-3-line .md-list-item-text h3, md-list-item.md-3-line > .md-no-style .md-list-item-text h3 { + font-size: 16px; + font-weight: 400; + letter-spacing: 0.010em; + margin: 0 0 0px 0; + line-height: 1.2em; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; } + md-list-item.md-2-line .md-list-item-text h4, md-list-item.md-2-line > .md-no-style .md-list-item-text h4, md-list-item.md-3-line .md-list-item-text h4, md-list-item.md-3-line > .md-no-style .md-list-item-text h4 { + font-size: 14px; + letter-spacing: 0.010em; + margin: 3px 0 1px 0; + font-weight: 400; + line-height: 1.2em; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; } + md-list-item.md-2-line .md-list-item-text p, md-list-item.md-2-line > .md-no-style .md-list-item-text p, md-list-item.md-3-line .md-list-item-text p, md-list-item.md-3-line > .md-no-style .md-list-item-text p { + font-size: 14px; + font-weight: 500; + letter-spacing: 0.010em; + margin: 0 0 0 0; + line-height: 1.6em; } + md-list-item.md-2-line, md-list-item.md-2-line > .md-no-style { + height: auto; + min-height: 72px; } + md-list-item.md-2-line::before, md-list-item.md-2-line > .md-no-style::before { + content: ''; + min-height: 72px; + visibility: hidden; + display: inline-block; } + md-list-item.md-2-line > .md-avatar, md-list-item.md-2-line .md-avatar-icon, md-list-item.md-2-line > .md-no-style > .md-avatar, md-list-item.md-2-line > .md-no-style .md-avatar-icon { + margin-top: 12px; } + md-list-item.md-2-line > md-icon:first-child, md-list-item.md-2-line > .md-no-style > md-icon:first-child { + -webkit-align-self: flex-start; + align-self: flex-start; } + md-list-item.md-2-line .md-list-item-text, md-list-item.md-2-line > .md-no-style .md-list-item-text { + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + flex: 1 1 auto; } + md-list-item.md-3-line, md-list-item.md-3-line > .md-no-style { + height: auto; + min-height: 88px; } + md-list-item.md-3-line::before, md-list-item.md-3-line > .md-no-style::before { + content: ''; + min-height: 88px; + visibility: hidden; + display: inline-block; } + md-list-item.md-3-line > md-icon:first-child, + md-list-item.md-3-line > .md-avatar, md-list-item.md-3-line > .md-no-style > md-icon:first-child, + md-list-item.md-3-line > .md-no-style > .md-avatar { + margin-top: 16px; } + +.md-open-menu-container { + position: fixed; + left: 0; + top: 0; + z-index: 100; + opacity: 0; + border-radius: 2px; + max-height: calc(100vh - 10px); + overflow: auto; } + .md-open-menu-container md-menu-divider { + margin-top: 4px; + margin-bottom: 4px; + height: 1px; + min-height: 1px; + max-height: 1px; + width: 100%; } + .md-open-menu-container md-menu-content > * { + opacity: 0; } + .md-open-menu-container:not(.md-clickable) { + pointer-events: none; } + .md-open-menu-container.md-active { + opacity: 1; + -webkit-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + -webkit-transition-duration: 200ms; + transition-duration: 200ms; } + .md-open-menu-container.md-active > md-menu-content > * { + opacity: 1; + -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2); + transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2); + -webkit-transition-duration: 200ms; + transition-duration: 200ms; + -webkit-transition-delay: 100ms; + transition-delay: 100ms; } + .md-open-menu-container.md-leave { + opacity: 0; + -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2); + transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2); + -webkit-transition-duration: 250ms; + transition-duration: 250ms; } + +md-menu-content { + display: -webkit-box; + display: -webkit-flex; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + flex-direction: column; + padding: 8px 0; + max-height: 304px; + overflow-y: auto; } + md-menu-content.md-dense { + max-height: 208px; } + md-menu-content.md-dense md-menu-item { + height: 32px; + min-height: 0px; } + +md-menu-item { + display: -webkit-box; + display: -webkit-flex; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + flex-direction: row; + min-height: 48px; + height: 48px; + -webkit-align-content: center; + align-content: center; + -webkit-box-pack: start; + -webkit-justify-content: flex-start; + justify-content: flex-start; + /* + * We cannot use flex on