/*! Material Components for the web Copyright (c) 2017 Google Inc. License: Apache-2.0 */ .mdc-animation-deceleration-curve { -webkit-animation-timing-function: cubic-bezier(0, 0, 0.2, 1); animation-timing-function: cubic-bezier(0, 0, 0.2, 1); } .mdc-animation-standard-curve { -webkit-animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); } .mdc-animation-acceleration-curve { -webkit-animation-timing-function: cubic-bezier(0.4, 0, 1, 1); animation-timing-function: cubic-bezier(0.4, 0, 1, 1); } .mdc-animation-sharp-curve { -webkit-animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1); animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1); } /** * The css property used for elevation. In most cases this should not be changed. It is exposed * as a variable for abstraction / easy use when needing to reference the property directly, for * example in a `will-change` rule. */ /** * The default duration value for elevation transitions. */ /** * The default easing value for elevation transitions. */ /** * Applies the correct css rules to an element to give it the elevation specified by $z-value. * The $z-value must be between 0 and 24. */ /** * Returns a string that can be used as the value for a `transition` property for elevation. * Calling this function directly is useful in situations where a component needs to transition * more than one property. * * ```scss * .foo { * transition: mdc-elevation-transition-rule(), opacity 100ms ease; * will-change: $mdc-elevation-property, opacity; * } * ``` */ /** * Applies the correct css rules needed to have an element transition between elevations. * This mixin should be applied to elements whose elevation values will change depending on their * context (e.g. when active or disabled). */ /* Precomputed linear color channel values, for use in contrast calculations. See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests Algorithm, for c in 0 to 255: f(c) { c = c / 255; return c < 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4); } This lookup table is needed since there is no `pow` in SASS. */ /** * Calculate the luminance for a color. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Calculate the contrast ratio between two colors. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Determine whether to use dark or light text on top of given color. * Returns "dark" for dark text and "light" for light text. */ /* Main theme colors. If you're a user customizing your color scheme in SASS, these are probably the only variables you need to change. */ /* Indigo 500 */ /* Pink A200 */ /* White */ /* Which set of text colors to use for each main theme color (light or dark) */ /* Text colors according to light vs dark and text type */ /* Primary text colors for each of the theme colors */ /** MDC Ripple keyframes are split into their own file so that _mixins.scss can rely on them. */ @-webkit-keyframes mdc-ripple-fg-radius-in { from { -webkit-transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1); transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1); -webkit-animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); } to { -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); } } @keyframes mdc-ripple-fg-radius-in { from { -webkit-transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1); transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1); -webkit-animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); } to { -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); } } @-webkit-keyframes mdc-ripple-fg-opacity-in { from { opacity: 0; -webkit-animation-timing-function: linear; animation-timing-function: linear; } to { opacity: 1; } } @keyframes mdc-ripple-fg-opacity-in { from { opacity: 0; -webkit-animation-timing-function: linear; animation-timing-function: linear; } to { opacity: 1; } } @-webkit-keyframes mdc-ripple-fg-opacity-out { from { opacity: 1; -webkit-animation-timing-function: linear; animation-timing-function: linear; } to { opacity: 0; } } @keyframes mdc-ripple-fg-opacity-out { from { opacity: 1; -webkit-animation-timing-function: linear; animation-timing-function: linear; } to { opacity: 0; } } /* Precomputed linear color channel values, for use in contrast calculations. See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests Algorithm, for c in 0 to 255: f(c) { c = c / 255; return c < 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4); } This lookup table is needed since there is no `pow` in SASS. */ /** * Calculate the luminance for a color. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Calculate the contrast ratio between two colors. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Determine whether to use dark or light text on top of given color. * Returns "dark" for dark text and "light" for light text. */ /* Main theme colors. If you're a user customizing your color scheme in SASS, these are probably the only variables you need to change. */ /* Indigo 500 */ /* Pink A200 */ /* White */ /* Which set of text colors to use for each main theme color (light or dark) */ /* Text colors according to light vs dark and text type */ /* Primary text colors for each of the theme colors */ /** * Applies the correct theme color style to the specified property. * $property is typically color or background-color, but can be any CSS property that accepts color values. * $style should be one of the map keys in $mdc-theme-property-values (_variables.scss). */ /** * Creates a rule to be used in MDC-Web components for dark theming, and applies the provided contents. * Should provide the $root-selector option if applied to anything other than the root selector. * When used with a modifier class, provide a second argument of `true` for the $compound parameter * to specify that this should be attached as a compound class. * * Usage example: * * ```scss * .mdc-foo { * color: black; * * @include mdc-theme-dark { * color: white; * } * * &__bar { * background: black; * * @include mdc-theme-dark(".mdc-foo") { * background: white; * } * } * } * * .mdc-foo--disabled { * opacity: .38; * * @include mdc-theme-dark(".mdc-foo", true) { * opacity: .5; * } * } * ``` */ /* TODO(sgomes): Figure out what to do about desktop font sizes. */ /* TODO(sgomes): Figure out what to do about i18n and i18n font sizes. */ .mdc-button { --mdc-ripple-surface-width: 0; --mdc-ripple-surface-height: 0; --mdc-ripple-fg-size: 0; --mdc-ripple-left: 0; --mdc-ripple-top: 0; --mdc-ripple-fg-scale: 1; --mdc-ripple-fg-translate-end: 0; --mdc-ripple-fg-translate-start: 0; will-change: transform, opacity; -webkit-tap-highlight-color: transparent; /* @alternate */ color: rgba(0, 0, 0, 0.87); color: var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87)); font-family: Roboto, sans-serif; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; display: inline-block; position: relative; min-width: 64px; height: 36px; padding: 0 16px; border: none; border-radius: 2px; outline: none; background: transparent; font-size: 14px; font-weight: 500; letter-spacing: .04em; line-height: 36px; text-align: center; text-decoration: none; text-transform: uppercase; overflow: hidden; vertical-align: middle; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-box-sizing: border-box; box-sizing: border-box; -webkit-appearance: none; } .mdc-button:not(.mdc-ripple-upgraded):hover::before, .mdc-button:not(.mdc-ripple-upgraded):focus::before, .mdc-button:not(.mdc-ripple-upgraded):active::after { -webkit-transition-duration: 85ms; transition-duration: 85ms; opacity: .6; } .mdc-button::before { background-color: rgba(0, 0, 0, 0.06); position: absolute; top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; -webkit-transition: opacity 250ms linear; transition: opacity 250ms linear; border-radius: 50%; opacity: 0; pointer-events: none; content: ""; } .mdc-button.mdc-ripple-upgraded::before { top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; /* @alternate */ -webkit-transform: scale(0); transform: scale(0); -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0)); transform: scale(var(--mdc-ripple-fg-scale, 0)); } .mdc-button.mdc-ripple-upgraded--background-focused::before { opacity: .99999; } .mdc-button.mdc-ripple-upgraded--background-active-fill::before { -webkit-transition-duration: 120ms; transition-duration: 120ms; opacity: 1; } .mdc-button.mdc-ripple-upgraded--unbounded::before { /* @alternate */ top: calc(50% - 50%); top: var(--mdc-ripple-top, calc(50% - 50%)); /* @alternate */ left: calc(50% - 50%); left: var(--mdc-ripple-left, calc(50% - 50%)); /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); /* @alternate */ -webkit-transform: scale(0); transform: scale(0); -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0)); transform: scale(var(--mdc-ripple-fg-scale, 0)); } .mdc-button::after { background-color: rgba(0, 0, 0, 0.06); position: absolute; top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; -webkit-transition: opacity 250ms linear; transition: opacity 250ms linear; border-radius: 50%; opacity: 0; pointer-events: none; content: ""; } .mdc-button.mdc-ripple-upgraded::after { top: 0; left: 0; /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; opacity: 0; } .mdc-button:not(.mdc-ripple-upgraded--unbounded)::after { -webkit-transform-origin: center center; transform-origin: center center; } .mdc-button.mdc-ripple-upgraded--unbounded::after { /* @alternate */ top: 0; top: var(--mdc-ripple-top, 0); /* @alternate */ left: 0; left: var(--mdc-ripple-left, 0); /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; } .mdc-button.mdc-ripple-upgraded--foreground-activation::after { -webkit-animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; } .mdc-button.mdc-ripple-upgraded--foreground-deactivation::after { -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); -webkit-animation: 83ms mdc-ripple-fg-opacity-out; animation: 83ms mdc-ripple-fg-opacity-out; } .mdc-button:not(.mdc-ripple-upgraded) { -webkit-tap-highlight-color: rgba(0, 0, 0, 0.18); } .mdc-button--theme-dark, .mdc-theme--dark .mdc-button { --mdc-ripple-surface-width: 0; --mdc-ripple-surface-height: 0; --mdc-ripple-fg-size: 0; --mdc-ripple-left: 0; --mdc-ripple-top: 0; --mdc-ripple-fg-scale: 1; --mdc-ripple-fg-translate-end: 0; --mdc-ripple-fg-translate-start: 0; will-change: transform, opacity; -webkit-tap-highlight-color: transparent; /* @alternate */ color: white; color: var(--mdc-theme-text-primary-on-dark, white); } .mdc-button--theme-dark:not(.mdc-ripple-upgraded):hover::before, .mdc-button--theme-dark:not(.mdc-ripple-upgraded):focus::before, .mdc-button--theme-dark:not(.mdc-ripple-upgraded):active::after, .mdc-theme--dark .mdc-button:not(.mdc-ripple-upgraded):hover::before, .mdc-theme--dark .mdc-button:not(.mdc-ripple-upgraded):focus::before, .mdc-theme--dark .mdc-button:not(.mdc-ripple-upgraded):active::after { -webkit-transition-duration: 85ms; transition-duration: 85ms; opacity: .6; } .mdc-button--theme-dark::before, .mdc-theme--dark .mdc-button::before { background-color: rgba(255, 255, 255, 0.14); position: absolute; top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; -webkit-transition: opacity 250ms linear; transition: opacity 250ms linear; border-radius: 50%; opacity: 0; pointer-events: none; content: ""; } .mdc-button--theme-dark.mdc-ripple-upgraded::before, .mdc-theme--dark .mdc-button.mdc-ripple-upgraded::before { top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; /* @alternate */ -webkit-transform: scale(0); transform: scale(0); -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0)); transform: scale(var(--mdc-ripple-fg-scale, 0)); } .mdc-button--theme-dark.mdc-ripple-upgraded--background-focused::before, .mdc-theme--dark .mdc-button.mdc-ripple-upgraded--background-focused::before { opacity: .99999; } .mdc-button--theme-dark.mdc-ripple-upgraded--background-active-fill::before, .mdc-theme--dark .mdc-button.mdc-ripple-upgraded--background-active-fill::before { -webkit-transition-duration: 120ms; transition-duration: 120ms; opacity: 1; } .mdc-button--theme-dark.mdc-ripple-upgraded--unbounded::before, .mdc-theme--dark .mdc-button.mdc-ripple-upgraded--unbounded::before { /* @alternate */ top: calc(50% - 50%); top: var(--mdc-ripple-top, calc(50% - 50%)); /* @alternate */ left: calc(50% - 50%); left: var(--mdc-ripple-left, calc(50% - 50%)); /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); /* @alternate */ -webkit-transform: scale(0); transform: scale(0); -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0)); transform: scale(var(--mdc-ripple-fg-scale, 0)); } .mdc-button--theme-dark::after, .mdc-theme--dark .mdc-button::after { background-color: rgba(255, 255, 255, 0.14); position: absolute; top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; -webkit-transition: opacity 250ms linear; transition: opacity 250ms linear; border-radius: 50%; opacity: 0; pointer-events: none; content: ""; } .mdc-button--theme-dark.mdc-ripple-upgraded::after, .mdc-theme--dark .mdc-button.mdc-ripple-upgraded::after { top: 0; left: 0; /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; opacity: 0; } .mdc-button--theme-dark:not(.mdc-ripple-upgraded--unbounded)::after, .mdc-theme--dark .mdc-button:not(.mdc-ripple-upgraded--unbounded)::after { -webkit-transform-origin: center center; transform-origin: center center; } .mdc-button--theme-dark.mdc-ripple-upgraded--unbounded::after, .mdc-theme--dark .mdc-button.mdc-ripple-upgraded--unbounded::after { /* @alternate */ top: 0; top: var(--mdc-ripple-top, 0); /* @alternate */ left: 0; left: var(--mdc-ripple-left, 0); /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; } .mdc-button--theme-dark.mdc-ripple-upgraded--foreground-activation::after, .mdc-theme--dark .mdc-button.mdc-ripple-upgraded--foreground-activation::after { -webkit-animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; } .mdc-button--theme-dark.mdc-ripple-upgraded--foreground-deactivation::after, .mdc-theme--dark .mdc-button.mdc-ripple-upgraded--foreground-deactivation::after { -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); -webkit-animation: 83ms mdc-ripple-fg-opacity-out; animation: 83ms mdc-ripple-fg-opacity-out; } .mdc-button--theme-dark:not(.mdc-ripple-upgraded), .mdc-theme--dark .mdc-button:not(.mdc-ripple-upgraded) { -webkit-tap-highlight-color: rgba(255, 255, 255, 0.18); } .mdc-button.mdc-button--primary { --mdc-ripple-surface-width: 0; --mdc-ripple-surface-height: 0; --mdc-ripple-fg-size: 0; --mdc-ripple-left: 0; --mdc-ripple-top: 0; --mdc-ripple-fg-scale: 1; --mdc-ripple-fg-translate-end: 0; --mdc-ripple-fg-translate-start: 0; will-change: transform, opacity; -webkit-tap-highlight-color: transparent; } .mdc-button.mdc-button--primary:not(.mdc-ripple-upgraded):hover::before, .mdc-button.mdc-button--primary:not(.mdc-ripple-upgraded):focus::before, .mdc-button.mdc-button--primary:not(.mdc-ripple-upgraded):active::after { -webkit-transition-duration: 85ms; transition-duration: 85ms; opacity: .6; } .mdc-button.mdc-button--primary::before { /* @alternate */ background-color: rgba(63, 81, 181, 0.12); position: absolute; top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; -webkit-transition: opacity 250ms linear; transition: opacity 250ms linear; border-radius: 50%; opacity: 0; pointer-events: none; content: ""; } @supports (background-color: color(green a(10%))) { .mdc-button.mdc-button--primary::before { background-color: color(var(--mdc-theme-primary, #3f51b5) a(12%)); } } .mdc-button.mdc-button--primary.mdc-ripple-upgraded::before { top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; /* @alternate */ -webkit-transform: scale(0); transform: scale(0); -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0)); transform: scale(var(--mdc-ripple-fg-scale, 0)); } .mdc-button.mdc-button--primary.mdc-ripple-upgraded--background-focused::before { opacity: .99999; } .mdc-button.mdc-button--primary.mdc-ripple-upgraded--background-active-fill::before { -webkit-transition-duration: 120ms; transition-duration: 120ms; opacity: 1; } .mdc-button.mdc-button--primary.mdc-ripple-upgraded--unbounded::before { /* @alternate */ top: calc(50% - 50%); top: var(--mdc-ripple-top, calc(50% - 50%)); /* @alternate */ left: calc(50% - 50%); left: var(--mdc-ripple-left, calc(50% - 50%)); /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); /* @alternate */ -webkit-transform: scale(0); transform: scale(0); -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0)); transform: scale(var(--mdc-ripple-fg-scale, 0)); } .mdc-button.mdc-button--primary::after { /* @alternate */ background-color: rgba(63, 81, 181, 0.12); position: absolute; top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; -webkit-transition: opacity 250ms linear; transition: opacity 250ms linear; border-radius: 50%; opacity: 0; pointer-events: none; content: ""; } @supports (background-color: color(green a(10%))) { .mdc-button.mdc-button--primary::after { background-color: color(var(--mdc-theme-primary, #3f51b5) a(12%)); } } .mdc-button.mdc-button--primary.mdc-ripple-upgraded::after { top: 0; left: 0; /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; opacity: 0; } .mdc-button.mdc-button--primary:not(.mdc-ripple-upgraded--unbounded)::after { -webkit-transform-origin: center center; transform-origin: center center; } .mdc-button.mdc-button--primary.mdc-ripple-upgraded--unbounded::after { /* @alternate */ top: 0; top: var(--mdc-ripple-top, 0); /* @alternate */ left: 0; left: var(--mdc-ripple-left, 0); /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; } .mdc-button.mdc-button--primary.mdc-ripple-upgraded--foreground-activation::after { -webkit-animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; } .mdc-button.mdc-button--primary.mdc-ripple-upgraded--foreground-deactivation::after { -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); -webkit-animation: 83ms mdc-ripple-fg-opacity-out; animation: 83ms mdc-ripple-fg-opacity-out; } .mdc-button.mdc-button--accent { --mdc-ripple-surface-width: 0; --mdc-ripple-surface-height: 0; --mdc-ripple-fg-size: 0; --mdc-ripple-left: 0; --mdc-ripple-top: 0; --mdc-ripple-fg-scale: 1; --mdc-ripple-fg-translate-end: 0; --mdc-ripple-fg-translate-start: 0; will-change: transform, opacity; -webkit-tap-highlight-color: transparent; } .mdc-button.mdc-button--accent:not(.mdc-ripple-upgraded):hover::before, .mdc-button.mdc-button--accent:not(.mdc-ripple-upgraded):focus::before, .mdc-button.mdc-button--accent:not(.mdc-ripple-upgraded):active::after { -webkit-transition-duration: 85ms; transition-duration: 85ms; opacity: .6; } .mdc-button.mdc-button--accent::before { /* @alternate */ background-color: rgba(255, 64, 129, 0.12); position: absolute; top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; -webkit-transition: opacity 250ms linear; transition: opacity 250ms linear; border-radius: 50%; opacity: 0; pointer-events: none; content: ""; } @supports (background-color: color(green a(10%))) { .mdc-button.mdc-button--accent::before { background-color: color(var(--mdc-theme-accent, #ff4081) a(12%)); } } .mdc-button.mdc-button--accent.mdc-ripple-upgraded::before { top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; /* @alternate */ -webkit-transform: scale(0); transform: scale(0); -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0)); transform: scale(var(--mdc-ripple-fg-scale, 0)); } .mdc-button.mdc-button--accent.mdc-ripple-upgraded--background-focused::before { opacity: .99999; } .mdc-button.mdc-button--accent.mdc-ripple-upgraded--background-active-fill::before { -webkit-transition-duration: 120ms; transition-duration: 120ms; opacity: 1; } .mdc-button.mdc-button--accent.mdc-ripple-upgraded--unbounded::before { /* @alternate */ top: calc(50% - 50%); top: var(--mdc-ripple-top, calc(50% - 50%)); /* @alternate */ left: calc(50% - 50%); left: var(--mdc-ripple-left, calc(50% - 50%)); /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); /* @alternate */ -webkit-transform: scale(0); transform: scale(0); -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0)); transform: scale(var(--mdc-ripple-fg-scale, 0)); } .mdc-button.mdc-button--accent::after { /* @alternate */ background-color: rgba(255, 64, 129, 0.12); position: absolute; top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; -webkit-transition: opacity 250ms linear; transition: opacity 250ms linear; border-radius: 50%; opacity: 0; pointer-events: none; content: ""; } @supports (background-color: color(green a(10%))) { .mdc-button.mdc-button--accent::after { background-color: color(var(--mdc-theme-accent, #ff4081) a(12%)); } } .mdc-button.mdc-button--accent.mdc-ripple-upgraded::after { top: 0; left: 0; /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; opacity: 0; } .mdc-button.mdc-button--accent:not(.mdc-ripple-upgraded--unbounded)::after { -webkit-transform-origin: center center; transform-origin: center center; } .mdc-button.mdc-button--accent.mdc-ripple-upgraded--unbounded::after { /* @alternate */ top: 0; top: var(--mdc-ripple-top, 0); /* @alternate */ left: 0; left: var(--mdc-ripple-left, 0); /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; } .mdc-button.mdc-button--accent.mdc-ripple-upgraded--foreground-activation::after { -webkit-animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; } .mdc-button.mdc-button--accent.mdc-ripple-upgraded--foreground-deactivation::after { -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); -webkit-animation: 83ms mdc-ripple-fg-opacity-out; animation: 83ms mdc-ripple-fg-opacity-out; } .mdc-button:active { outline: none; } .mdc-button:hover { cursor: pointer; } .mdc-button::-moz-focus-inner { padding: 0; border: 0; } .mdc-button--dense { height: 32px; font-size: .8125rem; line-height: 32px; } .mdc-button--raised { -webkit-box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); -webkit-transition: -webkit-box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1); transition: -webkit-box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1); transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1); transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1); will-change: box-shadow; min-width: 88px; } .mdc-button--raised:active { -webkit-box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12); box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12); } .mdc-button--raised.mdc-button--primary { --mdc-ripple-surface-width: 0; --mdc-ripple-surface-height: 0; --mdc-ripple-fg-size: 0; --mdc-ripple-left: 0; --mdc-ripple-top: 0; --mdc-ripple-fg-scale: 1; --mdc-ripple-fg-translate-end: 0; --mdc-ripple-fg-translate-start: 0; will-change: transform, opacity; -webkit-tap-highlight-color: transparent; } .mdc-button--raised.mdc-button--primary:not(.mdc-ripple-upgraded):hover::before, .mdc-button--raised.mdc-button--primary:not(.mdc-ripple-upgraded):focus::before, .mdc-button--raised.mdc-button--primary:not(.mdc-ripple-upgraded):active::after { -webkit-transition-duration: 85ms; transition-duration: 85ms; opacity: .6; } .mdc-button--raised.mdc-button--primary::before { background-color: rgba(255, 255, 255, 0.14); position: absolute; top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; -webkit-transition: opacity 250ms linear; transition: opacity 250ms linear; border-radius: 50%; opacity: 0; pointer-events: none; content: ""; } .mdc-button--raised.mdc-button--primary.mdc-ripple-upgraded::before { top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; /* @alternate */ -webkit-transform: scale(0); transform: scale(0); -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0)); transform: scale(var(--mdc-ripple-fg-scale, 0)); } .mdc-button--raised.mdc-button--primary.mdc-ripple-upgraded--background-focused::before { opacity: .99999; } .mdc-button--raised.mdc-button--primary.mdc-ripple-upgraded--background-active-fill::before { -webkit-transition-duration: 120ms; transition-duration: 120ms; opacity: 1; } .mdc-button--raised.mdc-button--primary.mdc-ripple-upgraded--unbounded::before { /* @alternate */ top: calc(50% - 50%); top: var(--mdc-ripple-top, calc(50% - 50%)); /* @alternate */ left: calc(50% - 50%); left: var(--mdc-ripple-left, calc(50% - 50%)); /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); /* @alternate */ -webkit-transform: scale(0); transform: scale(0); -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0)); transform: scale(var(--mdc-ripple-fg-scale, 0)); } .mdc-button--raised.mdc-button--primary::after { background-color: rgba(255, 255, 255, 0.14); position: absolute; top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; -webkit-transition: opacity 250ms linear; transition: opacity 250ms linear; border-radius: 50%; opacity: 0; pointer-events: none; content: ""; } .mdc-button--raised.mdc-button--primary.mdc-ripple-upgraded::after { top: 0; left: 0; /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; opacity: 0; } .mdc-button--raised.mdc-button--primary:not(.mdc-ripple-upgraded--unbounded)::after { -webkit-transform-origin: center center; transform-origin: center center; } .mdc-button--raised.mdc-button--primary.mdc-ripple-upgraded--unbounded::after { /* @alternate */ top: 0; top: var(--mdc-ripple-top, 0); /* @alternate */ left: 0; left: var(--mdc-ripple-left, 0); /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; } .mdc-button--raised.mdc-button--primary.mdc-ripple-upgraded--foreground-activation::after { -webkit-animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; } .mdc-button--raised.mdc-button--primary.mdc-ripple-upgraded--foreground-deactivation::after { -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); -webkit-animation: 83ms mdc-ripple-fg-opacity-out; animation: 83ms mdc-ripple-fg-opacity-out; } .mdc-button--raised.mdc-button--accent { --mdc-ripple-surface-width: 0; --mdc-ripple-surface-height: 0; --mdc-ripple-fg-size: 0; --mdc-ripple-left: 0; --mdc-ripple-top: 0; --mdc-ripple-fg-scale: 1; --mdc-ripple-fg-translate-end: 0; --mdc-ripple-fg-translate-start: 0; will-change: transform, opacity; -webkit-tap-highlight-color: transparent; } .mdc-button--raised.mdc-button--accent:not(.mdc-ripple-upgraded):hover::before, .mdc-button--raised.mdc-button--accent:not(.mdc-ripple-upgraded):focus::before, .mdc-button--raised.mdc-button--accent:not(.mdc-ripple-upgraded):active::after { -webkit-transition-duration: 85ms; transition-duration: 85ms; opacity: .6; } .mdc-button--raised.mdc-button--accent::before { background-color: rgba(255, 255, 255, 0.14); position: absolute; top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; -webkit-transition: opacity 250ms linear; transition: opacity 250ms linear; border-radius: 50%; opacity: 0; pointer-events: none; content: ""; } .mdc-button--raised.mdc-button--accent.mdc-ripple-upgraded::before { top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; /* @alternate */ -webkit-transform: scale(0); transform: scale(0); -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0)); transform: scale(var(--mdc-ripple-fg-scale, 0)); } .mdc-button--raised.mdc-button--accent.mdc-ripple-upgraded--background-focused::before { opacity: .99999; } .mdc-button--raised.mdc-button--accent.mdc-ripple-upgraded--background-active-fill::before { -webkit-transition-duration: 120ms; transition-duration: 120ms; opacity: 1; } .mdc-button--raised.mdc-button--accent.mdc-ripple-upgraded--unbounded::before { /* @alternate */ top: calc(50% - 50%); top: var(--mdc-ripple-top, calc(50% - 50%)); /* @alternate */ left: calc(50% - 50%); left: var(--mdc-ripple-left, calc(50% - 50%)); /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); /* @alternate */ -webkit-transform: scale(0); transform: scale(0); -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0)); transform: scale(var(--mdc-ripple-fg-scale, 0)); } .mdc-button--raised.mdc-button--accent::after { background-color: rgba(255, 255, 255, 0.14); position: absolute; top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; -webkit-transition: opacity 250ms linear; transition: opacity 250ms linear; border-radius: 50%; opacity: 0; pointer-events: none; content: ""; } .mdc-button--raised.mdc-button--accent.mdc-ripple-upgraded::after { top: 0; left: 0; /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; opacity: 0; } .mdc-button--raised.mdc-button--accent:not(.mdc-ripple-upgraded--unbounded)::after { -webkit-transform-origin: center center; transform-origin: center center; } .mdc-button--raised.mdc-button--accent.mdc-ripple-upgraded--unbounded::after { /* @alternate */ top: 0; top: var(--mdc-ripple-top, 0); /* @alternate */ left: 0; left: var(--mdc-ripple-left, 0); /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; } .mdc-button--raised.mdc-button--accent.mdc-ripple-upgraded--foreground-activation::after { -webkit-animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; } .mdc-button--raised.mdc-button--accent.mdc-ripple-upgraded--foreground-deactivation::after { -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); -webkit-animation: 83ms mdc-ripple-fg-opacity-out; animation: 83ms mdc-ripple-fg-opacity-out; } .mdc-button--theme-dark .mdc-button--raised, .mdc-theme--dark .mdc-button--raised { /* @alternate */ background-color: #3f51b5; background-color: var(--mdc-theme-primary, #3f51b5); /* @alternate */ color: white; color: var(--mdc-theme-text-primary-on-primary, white); } .mdc-button--theme-dark .mdc-button--raised::before, .mdc-theme--dark .mdc-button--raised::before { color: black; } .mdc-button--primary { /* @alternate */ color: #3f51b5; color: var(--mdc-theme-primary, #3f51b5); } .mdc-button--theme-dark .mdc-button--primary, .mdc-theme--dark .mdc-button--primary { /* @alternate */ color: #3f51b5; color: var(--mdc-theme-primary, #3f51b5); } .mdc-button--primary.mdc-button--raised { /* @alternate */ background-color: #3f51b5; background-color: var(--mdc-theme-primary, #3f51b5); /* @alternate */ color: white; color: var(--mdc-theme-text-primary-on-primary, white); } .mdc-button--primary.mdc-button--raised::before { color: black; } .mdc-button--accent { /* @alternate */ color: #ff4081; color: var(--mdc-theme-accent, #ff4081); } .mdc-button--theme-dark .mdc-button--accent, .mdc-theme--dark .mdc-button--accent { /* @alternate */ color: #ff4081; color: var(--mdc-theme-accent, #ff4081); } .mdc-button--accent.mdc-button--raised { /* @alternate */ background-color: #ff4081; background-color: var(--mdc-theme-accent, #ff4081); /* @alternate */ color: white; color: var(--mdc-theme-text-primary-on-accent, white); } .mdc-button--accent.mdc-button--raised::before { color: black; } .mdc-button--compact { padding: 0 8px; } fieldset:disabled .mdc-button, .mdc-button:disabled { color: rgba(0, 0, 0, 0.26); cursor: default; pointer-events: none; } .mdc-button--theme-dark fieldset:disabled .mdc-button, .mdc-theme--dark fieldset:disabled .mdc-button, .mdc-button--theme-dark .mdc-button:disabled, .mdc-theme--dark .mdc-button:disabled { color: rgba(255, 255, 255, 0.3); } fieldset:disabled .mdc-button--raised, .mdc-button--raised:disabled { -webkit-box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12); box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12); background-color: rgba(0, 0, 0, 0.12); pointer-events: none; } .mdc-button--theme-dark fieldset:disabled .mdc-button--raised, .mdc-theme--dark fieldset:disabled .mdc-button--raised, .mdc-button--theme-dark .mdc-button--raised:disabled, .mdc-theme--dark .mdc-button--raised:disabled { background-color: rgba(255, 255, 255, 0.12); } /** * The css property used for elevation. In most cases this should not be changed. It is exposed * as a variable for abstraction / easy use when needing to reference the property directly, for * example in a `will-change` rule. */ /** * The default duration value for elevation transitions. */ /** * The default easing value for elevation transitions. */ /** * Applies the correct css rules to an element to give it the elevation specified by $z-value. * The $z-value must be between 0 and 24. */ /** * Returns a string that can be used as the value for a `transition` property for elevation. * Calling this function directly is useful in situations where a component needs to transition * more than one property. * * ```scss * .foo { * transition: mdc-elevation-transition-rule(), opacity 100ms ease; * will-change: $mdc-elevation-property, opacity; * } * ``` */ /** * Applies the correct css rules needed to have an element transition between elevations. * This mixin should be applied to elements whose elevation values will change depending on their * context (e.g. when active or disabled). */ /* Precomputed linear color channel values, for use in contrast calculations. See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests Algorithm, for c in 0 to 255: f(c) { c = c / 255; return c < 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4); } This lookup table is needed since there is no `pow` in SASS. */ /** * Calculate the luminance for a color. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Calculate the contrast ratio between two colors. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Determine whether to use dark or light text on top of given color. * Returns "dark" for dark text and "light" for light text. */ /* Main theme colors. If you're a user customizing your color scheme in SASS, these are probably the only variables you need to change. */ /* Indigo 500 */ /* Pink A200 */ /* White */ /* Which set of text colors to use for each main theme color (light or dark) */ /* Text colors according to light vs dark and text type */ /* Primary text colors for each of the theme colors */ /** * Applies the correct theme color style to the specified property. * $property is typically color or background-color, but can be any CSS property that accepts color values. * $style should be one of the map keys in $mdc-theme-property-values (_variables.scss). */ /** * Creates a rule to be used in MDC-Web components for dark theming, and applies the provided contents. * Should provide the $root-selector option if applied to anything other than the root selector. * When used with a modifier class, provide a second argument of `true` for the $compound parameter * to specify that this should be attached as a compound class. * * Usage example: * * ```scss * .mdc-foo { * color: black; * * @include mdc-theme-dark { * color: white; * } * * &__bar { * background: black; * * @include mdc-theme-dark(".mdc-foo") { * background: white; * } * } * } * * .mdc-foo--disabled { * opacity: .38; * * @include mdc-theme-dark(".mdc-foo", true) { * opacity: .5; * } * } * ``` */ /* TODO(sgomes): Figure out what to do about desktop font sizes. */ /* TODO(sgomes): Figure out what to do about i18n and i18n font sizes. */ /** * Creates a rule that will be applied when an MDC-Web component is within the context of an RTL layout. * * Usage Example: * ```scss * .mdc-foo { * position: absolute; * left: 0; * * @include mdc-rtl { * left: auto; * right: 0; * } * * &__bar { * margin-left: 4px; * @include mdc-rtl(".mdc-foo") { * margin-left: auto; * margin-right: 4px; * } * } * } * * .mdc-foo--mod { * padding-left: 4px; * * @include mdc-rtl { * padding-left: auto; * padding-right: 4px; * } * } * ``` * * Note that this works by checking for [dir="rtl"] on an ancestor element. While this will work * in most cases, it will in some cases lead to false negatives, e.g. * * ```html * * *
*
Styled incorrectly as RTL!
*
* * ``` * * In the future, selectors such as :dir (http://mdn.io/:dir) will help us mitigate this. */ /** * Takes a base box-model property - e.g. margin / border / padding - along with a default * direction and value, and emits rules which apply the value to the * "-" property by default, but flips the direction * when within an RTL context. * * For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-box(margin, left, 8px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-left: 8px; * * @include mdc-rtl { * margin-right: 8px; * margin-left: 0; * } * } * ``` * whereas: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-box(margin, right, 8px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-right: 8px; * * @include mdc-rtl { * margin-right: 0; * margin-left: 8px; * } * } * ``` * * You can also pass a 4th optional $root-selector argument which will be forwarded to `mdc-rtl`, * e.g. `@include mdc-rtl-reflexive-box(margin, left, 8px, ".mdc-component")`. * * Note that this function will always zero out the original value in an RTL context. If you're * trying to flip the values, use mdc-rtl-reflexive-property(). */ /** * Takes a base property and emits rules that assign -left to and * -right to in a LTR context, and vice versa in a RTL context. * For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-property(margin, auto, 12px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-left: auto; * margin-right: 12px; * * @include mdc-rtl { * margin-left: 12px; * margin-right: auto; * } * } * ``` * * A 4th optional $root-selector argument can be given, which will be passed to `mdc-rtl`. */ /** * Takes an argument specifying a horizontal position property (either "left" or "right") as well * as a value, and applies that value to the specified position in a LTR context, and flips it in a * RTL context. For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-position(left, 0); * position: absolute; * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * position: absolute; * left: 0; * right: initial; * * @include mdc-rtl { * right: 0; * left: initial; * } * } * ``` * An optional third $root-selector argument may also be given, which is passed to `mdc-rtl`. */ .mdc-card { -webkit-box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; padding: 0; -webkit-box-sizing: border-box; box-sizing: border-box; border-radius: 2px; overflow: hidden; } .mdc-card__primary { padding: 16px; } .mdc-card__primary .mdc-card__title--large { padding-top: 8px; } .mdc-card__primary:last-child { padding-bottom: 24px; } .mdc-card__supporting-text { padding: 8px 16px; -webkit-box-sizing: border-box; box-sizing: border-box; font-family: Roboto, sans-serif; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-size: 0.875rem; font-weight: 400; letter-spacing: 0.04em; line-height: 1.25rem; text-decoration: inherit; text-transform: inherit; /* @alternate */ color: rgba(0, 0, 0, 0.87); color: var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87)); } .mdc-card--theme-dark .mdc-card__supporting-text, .mdc-theme--dark .mdc-card__supporting-text { /* @alternate */ color: white; color: var(--mdc-theme-text-primary-on-dark, white); } .mdc-card__primary + .mdc-card__supporting-text { margin-top: -8px; padding-top: 0; } .mdc-card__supporting-text:last-child { padding-bottom: 24px; } .mdc-card__actions { display: -webkit-box; display: -ms-flexbox; display: flex; padding: 8px; -webkit-box-sizing: border-box; box-sizing: border-box; } .mdc-card--theme-dark .mdc-card__actions, .mdc-theme--dark .mdc-card__actions { /* @alternate */ color: white; color: var(--mdc-theme-text-primary-on-dark, white); } .mdc-card__actions .mdc-card__action { margin: 0 8px 0 0; } [dir="rtl"] .mdc-card__actions .mdc-card__action, .mdc-card__actions .mdc-card__action[dir="rtl"] { margin: 0 0 0 8px; } .mdc-card__actions .mdc-card__action:last-child { margin-left: 0; margin-right: 0; } [dir="rtl"] .mdc-card__actions .mdc-card__action:last-child, .mdc-card__actions .mdc-card__action:last-child[dir="rtl"] { margin-left: 0; margin-right: 0; } .mdc-card__actions--vertical { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-flow: column; flex-flow: column; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; } .mdc-card__actions--vertical .mdc-card__action { margin: 0 0 4px; } .mdc-card__actions--vertical .mdc-card__action:last-child { margin-bottom: 0; } .mdc-card__media { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; padding: 16px; -webkit-box-sizing: border-box; box-sizing: border-box; } .mdc-card__media-item { display: inline-block; width: auto; height: 80px; margin: 16px 0 0; padding: 0; } .mdc-card__media-item--1dot5x { width: auto; height: 120px; } .mdc-card__media-item--2x { width: auto; height: 160px; } .mdc-card__media-item--3x { width: auto; height: 240px; } .mdc-card__title { font-family: Roboto, sans-serif; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-size: 0.875rem; font-weight: 500; letter-spacing: 0.04em; line-height: 1.5rem; text-decoration: inherit; text-transform: inherit; /* @alternate */ color: rgba(0, 0, 0, 0.87); color: var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87)); margin: -.063rem 0; } .mdc-card--theme-dark .mdc-card__title, .mdc-theme--dark .mdc-card__title { /* @alternate */ color: white; color: var(--mdc-theme-text-primary-on-dark, white); } .mdc-card__title--large { font-family: Roboto, sans-serif; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-size: 1.5rem; font-weight: 400; letter-spacing: normal; line-height: 2rem; text-decoration: inherit; text-transform: inherit; margin: 0; } .mdc-card__subtitle { font-family: Roboto, sans-serif; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-size: 0.875rem; font-weight: 400; letter-spacing: 0.04em; line-height: 1.25rem; text-decoration: inherit; text-transform: inherit; /* @alternate */ color: rgba(0, 0, 0, 0.87); color: var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87)); margin: -.063rem 0; } .mdc-card--theme-dark .mdc-card__subtitle, .mdc-theme--dark .mdc-card__subtitle { /* @alternate */ color: white; color: var(--mdc-theme-text-primary-on-dark, white); } .mdc-card__horizontal-block { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-sizing: border-box; box-sizing: border-box; padding: 0; padding-left: 0; padding-right: 16px; } [dir="rtl"] .mdc-card__horizontal-block, .mdc-card__horizontal-block[dir="rtl"] { padding-left: 16px; padding-right: 0; } .mdc-card__horizontal-block .mdc-card__actions--vertical { margin: 16px; } .mdc-card__horizontal-block .mdc-card__media-item { margin-left: 16px; margin-right: 0; } [dir="rtl"] .mdc-card__horizontal-block .mdc-card__media-item, .mdc-card__horizontal-block .mdc-card__media-item[dir="rtl"] { margin-left: 0; margin-right: 16px; } .mdc-card__horizontal-block .mdc-card__media-item--3x { margin-bottom: 16px; } /* Precomputed linear color channel values, for use in contrast calculations. See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests Algorithm, for c in 0 to 255: f(c) { c = c / 255; return c < 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4); } This lookup table is needed since there is no `pow` in SASS. */ /** * Calculate the luminance for a color. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Calculate the contrast ratio between two colors. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Determine whether to use dark or light text on top of given color. * Returns "dark" for dark text and "light" for light text. */ /* Main theme colors. If you're a user customizing your color scheme in SASS, these are probably the only variables you need to change. */ /* Indigo 500 */ /* Pink A200 */ /* White */ /* Which set of text colors to use for each main theme color (light or dark) */ /* Text colors according to light vs dark and text type */ /* Primary text colors for each of the theme colors */ /** MDC Ripple keyframes are split into their own file so that _mixins.scss can rely on them. */ @keyframes mdc-ripple-fg-radius-in { from { -webkit-transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1); transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1); -webkit-animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); } to { -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); } } @keyframes mdc-ripple-fg-opacity-in { from { opacity: 0; -webkit-animation-timing-function: linear; animation-timing-function: linear; } to { opacity: 1; } } @keyframes mdc-ripple-fg-opacity-out { from { opacity: 1; -webkit-animation-timing-function: linear; animation-timing-function: linear; } to { opacity: 0; } } /** * Creates a rule that will be applied when an MDC-Web component is within the context of an RTL layout. * * Usage Example: * ```scss * .mdc-foo { * position: absolute; * left: 0; * * @include mdc-rtl { * left: auto; * right: 0; * } * * &__bar { * margin-left: 4px; * @include mdc-rtl(".mdc-foo") { * margin-left: auto; * margin-right: 4px; * } * } * } * * .mdc-foo--mod { * padding-left: 4px; * * @include mdc-rtl { * padding-left: auto; * padding-right: 4px; * } * } * ``` * * Note that this works by checking for [dir="rtl"] on an ancestor element. While this will work * in most cases, it will in some cases lead to false negatives, e.g. * * ```html * * *
*
Styled incorrectly as RTL!
*
* * ``` * * In the future, selectors such as :dir (http://mdn.io/:dir) will help us mitigate this. */ /** * Takes a base box-model property - e.g. margin / border / padding - along with a default * direction and value, and emits rules which apply the value to the * "-" property by default, but flips the direction * when within an RTL context. * * For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-box(margin, left, 8px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-left: 8px; * * @include mdc-rtl { * margin-right: 8px; * margin-left: 0; * } * } * ``` * whereas: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-box(margin, right, 8px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-right: 8px; * * @include mdc-rtl { * margin-right: 0; * margin-left: 8px; * } * } * ``` * * You can also pass a 4th optional $root-selector argument which will be forwarded to `mdc-rtl`, * e.g. `@include mdc-rtl-reflexive-box(margin, left, 8px, ".mdc-component")`. * * Note that this function will always zero out the original value in an RTL context. If you're * trying to flip the values, use mdc-rtl-reflexive-property(). */ /** * Takes a base property and emits rules that assign -left to and * -right to in a LTR context, and vice versa in a RTL context. * For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-property(margin, auto, 12px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-left: auto; * margin-right: 12px; * * @include mdc-rtl { * margin-left: 12px; * margin-right: auto; * } * } * ``` * * A 4th optional $root-selector argument can be given, which will be passed to `mdc-rtl`. */ /** * Takes an argument specifying a horizontal position property (either "left" or "right") as well * as a value, and applies that value to the specified position in a LTR context, and flips it in a * RTL context. For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-position(left, 0); * position: absolute; * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * position: absolute; * left: 0; * right: initial; * * @include mdc-rtl { * right: 0; * left: initial; * } * } * ``` * An optional third $root-selector argument may also be given, which is passed to `mdc-rtl`. */ /* Manual calculation done on SVG */ /* Precomputed linear color channel values, for use in contrast calculations. See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests Algorithm, for c in 0 to 255: f(c) { c = c / 255; return c < 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4); } This lookup table is needed since there is no `pow` in SASS. */ /** * Calculate the luminance for a color. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Calculate the contrast ratio between two colors. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Determine whether to use dark or light text on top of given color. * Returns "dark" for dark text and "light" for light text. */ /* Main theme colors. If you're a user customizing your color scheme in SASS, these are probably the only variables you need to change. */ /* Indigo 500 */ /* Pink A200 */ /* White */ /* Which set of text colors to use for each main theme color (light or dark) */ /* Text colors according to light vs dark and text type */ /* Primary text colors for each of the theme colors */ /** * Applies the correct theme color style to the specified property. * $property is typically color or background-color, but can be any CSS property that accepts color values. * $style should be one of the map keys in $mdc-theme-property-values (_variables.scss). */ /** * Creates a rule to be used in MDC-Web components for dark theming, and applies the provided contents. * Should provide the $root-selector option if applied to anything other than the root selector. * When used with a modifier class, provide a second argument of `true` for the $compound parameter * to specify that this should be attached as a compound class. * * Usage example: * * ```scss * .mdc-foo { * color: black; * * @include mdc-theme-dark { * color: white; * } * * &__bar { * background: black; * * @include mdc-theme-dark(".mdc-foo") { * background: white; * } * } * } * * .mdc-foo--disabled { * opacity: .38; * * @include mdc-theme-dark(".mdc-foo", true) { * opacity: .5; * } * } * ``` */ /* Manual calculation done on SVG */ @-webkit-keyframes mdc-checkbox-fade-in-background { 0% { border-color: rgba(0, 0, 0, 0.54); background-color: transparent; } 50% { /* @alternate */ border-color: #3f51b5; border-color: var(--mdc-theme-primary, #3f51b5); /* @alternate */ background-color: #3f51b5; background-color: var(--mdc-theme-primary, #3f51b5); } } @keyframes mdc-checkbox-fade-in-background { 0% { border-color: rgba(0, 0, 0, 0.54); background-color: transparent; } 50% { /* @alternate */ border-color: #3f51b5; border-color: var(--mdc-theme-primary, #3f51b5); /* @alternate */ background-color: #3f51b5; background-color: var(--mdc-theme-primary, #3f51b5); } } @-webkit-keyframes mdc-checkbox-fade-out-background { 0%, 80% { /* @alternate */ border-color: #3f51b5; border-color: var(--mdc-theme-primary, #3f51b5); /* @alternate */ background-color: #3f51b5; background-color: var(--mdc-theme-primary, #3f51b5); } 100% { border-color: rgba(0, 0, 0, 0.54); background-color: transparent; } } @keyframes mdc-checkbox-fade-out-background { 0%, 80% { /* @alternate */ border-color: #3f51b5; border-color: var(--mdc-theme-primary, #3f51b5); /* @alternate */ background-color: #3f51b5; background-color: var(--mdc-theme-primary, #3f51b5); } 100% { border-color: rgba(0, 0, 0, 0.54); background-color: transparent; } } @-webkit-keyframes mdc-checkbox-fade-in-background-dark { 0% { border-color: white; background-color: transparent; } 50% { /* @alternate */ border-color: #3f51b5; border-color: var(--mdc-theme-primary, #3f51b5); /* @alternate */ background-color: #3f51b5; background-color: var(--mdc-theme-primary, #3f51b5); } } @keyframes mdc-checkbox-fade-in-background-dark { 0% { border-color: white; background-color: transparent; } 50% { /* @alternate */ border-color: #3f51b5; border-color: var(--mdc-theme-primary, #3f51b5); /* @alternate */ background-color: #3f51b5; background-color: var(--mdc-theme-primary, #3f51b5); } } @-webkit-keyframes mdc-checkbox-fade-out-background-dark { 0%, 80% { /* @alternate */ border-color: #3f51b5; border-color: var(--mdc-theme-primary, #3f51b5); /* @alternate */ background-color: #3f51b5; background-color: var(--mdc-theme-primary, #3f51b5); } 100% { border-color: white; background-color: transparent; } } @keyframes mdc-checkbox-fade-out-background-dark { 0%, 80% { /* @alternate */ border-color: #3f51b5; border-color: var(--mdc-theme-primary, #3f51b5); /* @alternate */ background-color: #3f51b5; background-color: var(--mdc-theme-primary, #3f51b5); } 100% { border-color: white; background-color: transparent; } } @-webkit-keyframes mdc-checkbox-unchecked-checked-checkmark-path { 0%, 50% { stroke-dashoffset: 29.78334; } 50% { -webkit-animation-timing-function: cubic-bezier(0, 0, 0.2, 1); animation-timing-function: cubic-bezier(0, 0, 0.2, 1); } 100% { stroke-dashoffset: 0; } } @keyframes mdc-checkbox-unchecked-checked-checkmark-path { 0%, 50% { stroke-dashoffset: 29.78334; } 50% { -webkit-animation-timing-function: cubic-bezier(0, 0, 0.2, 1); animation-timing-function: cubic-bezier(0, 0, 0.2, 1); } 100% { stroke-dashoffset: 0; } } @-webkit-keyframes mdc-checkbox-unchecked-indeterminate-mixedmark { 0%, 68.2% { -webkit-transform: scaleX(0); transform: scaleX(0); } 68.2% { -webkit-animation-timing-function: cubic-bezier(0, 0, 0, 1); animation-timing-function: cubic-bezier(0, 0, 0, 1); } 100% { -webkit-transform: scaleX(1); transform: scaleX(1); } } @keyframes mdc-checkbox-unchecked-indeterminate-mixedmark { 0%, 68.2% { -webkit-transform: scaleX(0); transform: scaleX(0); } 68.2% { -webkit-animation-timing-function: cubic-bezier(0, 0, 0, 1); animation-timing-function: cubic-bezier(0, 0, 0, 1); } 100% { -webkit-transform: scaleX(1); transform: scaleX(1); } } @-webkit-keyframes mdc-checkbox-checked-unchecked-checkmark-path { from { -webkit-animation-timing-function: cubic-bezier(0.4, 0, 1, 1); animation-timing-function: cubic-bezier(0.4, 0, 1, 1); opacity: 1; stroke-dashoffset: 0; } to { opacity: 0; stroke-dashoffset: -29.78334; } } @keyframes mdc-checkbox-checked-unchecked-checkmark-path { from { -webkit-animation-timing-function: cubic-bezier(0.4, 0, 1, 1); animation-timing-function: cubic-bezier(0.4, 0, 1, 1); opacity: 1; stroke-dashoffset: 0; } to { opacity: 0; stroke-dashoffset: -29.78334; } } @-webkit-keyframes mdc-checkbox-checked-indeterminate-checkmark { from { -webkit-transform: rotate(0deg); transform: rotate(0deg); opacity: 1; -webkit-animation-timing-function: cubic-bezier(0, 0, 0.2, 1); animation-timing-function: cubic-bezier(0, 0, 0.2, 1); } to { -webkit-transform: rotate(45deg); transform: rotate(45deg); opacity: 0; } } @keyframes mdc-checkbox-checked-indeterminate-checkmark { from { -webkit-transform: rotate(0deg); transform: rotate(0deg); opacity: 1; -webkit-animation-timing-function: cubic-bezier(0, 0, 0.2, 1); animation-timing-function: cubic-bezier(0, 0, 0.2, 1); } to { -webkit-transform: rotate(45deg); transform: rotate(45deg); opacity: 0; } } @-webkit-keyframes mdc-checkbox-indeterminate-checked-checkmark { from { -webkit-transform: rotate(45deg); transform: rotate(45deg); opacity: 0; -webkit-animation-timing-function: cubic-bezier(0.14, 0, 0, 1); animation-timing-function: cubic-bezier(0.14, 0, 0, 1); } to { -webkit-transform: rotate(360deg); transform: rotate(360deg); opacity: 1; } } @keyframes mdc-checkbox-indeterminate-checked-checkmark { from { -webkit-transform: rotate(45deg); transform: rotate(45deg); opacity: 0; -webkit-animation-timing-function: cubic-bezier(0.14, 0, 0, 1); animation-timing-function: cubic-bezier(0.14, 0, 0, 1); } to { -webkit-transform: rotate(360deg); transform: rotate(360deg); opacity: 1; } } @-webkit-keyframes mdc-checkbox-checked-indeterminate-mixedmark { from { -webkit-transform: rotate(-45deg); transform: rotate(-45deg); opacity: 0; -webkit-animation-timing-function: cubic-bezier(0, 0, 0.2, 1); animation-timing-function: cubic-bezier(0, 0, 0.2, 1); } to { -webkit-transform: rotate(0deg); transform: rotate(0deg); opacity: 1; } } @keyframes mdc-checkbox-checked-indeterminate-mixedmark { from { -webkit-transform: rotate(-45deg); transform: rotate(-45deg); opacity: 0; -webkit-animation-timing-function: cubic-bezier(0, 0, 0.2, 1); animation-timing-function: cubic-bezier(0, 0, 0.2, 1); } to { -webkit-transform: rotate(0deg); transform: rotate(0deg); opacity: 1; } } @-webkit-keyframes mdc-checkbox-indeterminate-checked-mixedmark { from { -webkit-transform: rotate(0deg); transform: rotate(0deg); opacity: 1; -webkit-animation-timing-function: cubic-bezier(0.14, 0, 0, 1); animation-timing-function: cubic-bezier(0.14, 0, 0, 1); } to { -webkit-transform: rotate(315deg); transform: rotate(315deg); opacity: 0; } } @keyframes mdc-checkbox-indeterminate-checked-mixedmark { from { -webkit-transform: rotate(0deg); transform: rotate(0deg); opacity: 1; -webkit-animation-timing-function: cubic-bezier(0.14, 0, 0, 1); animation-timing-function: cubic-bezier(0.14, 0, 0, 1); } to { -webkit-transform: rotate(315deg); transform: rotate(315deg); opacity: 0; } } @-webkit-keyframes mdc-checkbox-indeterminate-unchecked-mixedmark { 0% { -webkit-transform: scaleX(1); transform: scaleX(1); opacity: 1; -webkit-animation-timing-function: linear; animation-timing-function: linear; } 32.8%, 100% { -webkit-transform: scaleX(0); transform: scaleX(0); opacity: 0; } } @keyframes mdc-checkbox-indeterminate-unchecked-mixedmark { 0% { -webkit-transform: scaleX(1); transform: scaleX(1); opacity: 1; -webkit-animation-timing-function: linear; animation-timing-function: linear; } 32.8%, 100% { -webkit-transform: scaleX(0); transform: scaleX(0); opacity: 0; } } .mdc-checkbox { --mdc-ripple-surface-width: 0; --mdc-ripple-surface-height: 0; --mdc-ripple-fg-size: 0; --mdc-ripple-left: 0; --mdc-ripple-top: 0; --mdc-ripple-fg-scale: 1; --mdc-ripple-fg-translate-end: 0; --mdc-ripple-fg-translate-start: 0; will-change: transform, opacity; -webkit-tap-highlight-color: transparent; display: inline-block; position: relative; -webkit-box-sizing: content-box; box-sizing: content-box; -webkit-box-flex: 0; -ms-flex: 0 0 18px; flex: 0 0 18px; width: 18px; height: 18px; padding: 11px; line-height: 0; white-space: nowrap; cursor: pointer; vertical-align: bottom; } .mdc-checkbox:not(.mdc-ripple-upgraded):hover::before, .mdc-checkbox:not(.mdc-ripple-upgraded):focus::before, .mdc-checkbox:not(.mdc-ripple-upgraded):active::after { -webkit-transition-duration: 85ms; transition-duration: 85ms; opacity: .6; } .mdc-checkbox::before { /* @alternate */ background-color: rgba(63, 81, 181, 0.14); position: absolute; top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; -webkit-transition: opacity 250ms linear; transition: opacity 250ms linear; border-radius: 50%; opacity: 0; pointer-events: none; content: ""; } @supports (background-color: color(green a(10%))) { .mdc-checkbox::before { background-color: color(var(--mdc-theme-primary, #3f51b5) a(14%)); } } .mdc-checkbox.mdc-ripple-upgraded::before { top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; /* @alternate */ -webkit-transform: scale(0); transform: scale(0); -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0)); transform: scale(var(--mdc-ripple-fg-scale, 0)); } .mdc-checkbox.mdc-ripple-upgraded--background-focused::before { opacity: .99999; } .mdc-checkbox.mdc-ripple-upgraded--background-active-fill::before { -webkit-transition-duration: 120ms; transition-duration: 120ms; opacity: 1; } .mdc-checkbox.mdc-ripple-upgraded--unbounded::before { /* @alternate */ top: calc(50% - 50%); top: var(--mdc-ripple-top, calc(50% - 50%)); /* @alternate */ left: calc(50% - 50%); left: var(--mdc-ripple-left, calc(50% - 50%)); /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); /* @alternate */ -webkit-transform: scale(0); transform: scale(0); -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0)); transform: scale(var(--mdc-ripple-fg-scale, 0)); } .mdc-checkbox::after { /* @alternate */ background-color: rgba(63, 81, 181, 0.14); position: absolute; top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; -webkit-transition: opacity 250ms linear; transition: opacity 250ms linear; border-radius: 50%; opacity: 0; pointer-events: none; content: ""; } @supports (background-color: color(green a(10%))) { .mdc-checkbox::after { background-color: color(var(--mdc-theme-primary, #3f51b5) a(14%)); } } .mdc-checkbox.mdc-ripple-upgraded::after { top: 0; left: 0; /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; opacity: 0; } .mdc-checkbox:not(.mdc-ripple-upgraded--unbounded)::after { -webkit-transform-origin: center center; transform-origin: center center; } .mdc-checkbox.mdc-ripple-upgraded--unbounded::after { /* @alternate */ top: 0; top: var(--mdc-ripple-top, 0); /* @alternate */ left: 0; left: var(--mdc-ripple-left, 0); /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; } .mdc-checkbox.mdc-ripple-upgraded--foreground-activation::after { -webkit-animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; } .mdc-checkbox.mdc-ripple-upgraded--foreground-deactivation::after { -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); -webkit-animation: 83ms mdc-ripple-fg-opacity-out; animation: 83ms mdc-ripple-fg-opacity-out; } .mdc-checkbox::before, .mdc-checkbox::after { top: 0; left: 0; width: 100%; height: 100%; } .mdc-checkbox.mdc-ripple-upgraded--unbounded .mdc-checkbox__background::before { content: none; } .mdc-checkbox__background { position: absolute; top: 0; right: 0; bottom: 0; left: 0; left: 11px; right: initial; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; top: 11px; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-sizing: border-box; box-sizing: border-box; pointer-events: none; width: 45%; height: 45%; -webkit-transition: background-color 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), border-color 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1); transition: background-color 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), border-color 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1); border: 2px solid rgba(0, 0, 0, 0.54); border-radius: 2px; background-color: transparent; will-change: background-color, border-color; } [dir="rtl"] .mdc-checkbox .mdc-checkbox__background, .mdc-checkbox[dir="rtl"] .mdc-checkbox__background { left: initial; right: 11px; } .mdc-checkbox--theme-dark .mdc-checkbox__background, .mdc-theme--dark .mdc-checkbox__background { border-color: white; } .mdc-checkbox__background::before { position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; -webkit-transform: scale(0, 0); transform: scale(0, 0); -webkit-transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1); transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1); transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1); transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1); border-radius: 50%; content: ""; opacity: 0; pointer-events: none; will-change: opacity, transform; /* @alternate */ background: #3f51b5; background: var(--mdc-theme-primary, #3f51b5); } .mdc-checkbox__native-control { position: absolute; top: 0; left: 0; width: 100%; height: 100%; margin: 0; padding: 0; cursor: inherit; opacity: 0; } .mdc-checkbox__checkmark { position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; -webkit-transition: opacity 180ms 0ms cubic-bezier(0.4, 0, 0.6, 1); transition: opacity 180ms 0ms cubic-bezier(0.4, 0, 0.6, 1); opacity: 0; fill: white; } .mdc-checkbox__checkmark__path { -webkit-transition: stroke-dashoffset 180ms 0ms cubic-bezier(0.4, 0, 0.6, 1); transition: stroke-dashoffset 180ms 0ms cubic-bezier(0.4, 0, 0.6, 1); stroke: white !important; stroke-width: 3.12px; stroke-dashoffset: 29.78334; stroke-dasharray: 29.78334; } .mdc-checkbox__mixedmark { width: 100%; height: 2px; -webkit-transform: scaleX(0) rotate(0deg); transform: scaleX(0) rotate(0deg); -webkit-transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1); transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1); transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1); transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1); background-color: white; opacity: 0; } .mdc-checkbox__native-control:focus ~ .mdc-checkbox__background::before { -webkit-transform: scale(2.75, 2.75); transform: scale(2.75, 2.75); -webkit-transition: opacity 80ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 80ms 0ms cubic-bezier(0, 0, 0.2, 1); transition: opacity 80ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 80ms 0ms cubic-bezier(0, 0, 0.2, 1); transition: opacity 80ms 0ms cubic-bezier(0, 0, 0.2, 1), transform 80ms 0ms cubic-bezier(0, 0, 0.2, 1); transition: opacity 80ms 0ms cubic-bezier(0, 0, 0.2, 1), transform 80ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 80ms 0ms cubic-bezier(0, 0, 0.2, 1); opacity: .26; } .mdc-checkbox__native-control:checked ~ .mdc-checkbox__background { -webkit-transition: border-color 90ms 0ms cubic-bezier(0, 0, 0.2, 1), background-color 90ms 0ms cubic-bezier(0, 0, 0.2, 1); transition: border-color 90ms 0ms cubic-bezier(0, 0, 0.2, 1), background-color 90ms 0ms cubic-bezier(0, 0, 0.2, 1); /* @alternate */ border-color: #3f51b5; border-color: var(--mdc-theme-primary, #3f51b5); /* @alternate */ background-color: #3f51b5; background-color: var(--mdc-theme-primary, #3f51b5); } .mdc-checkbox__native-control:checked ~ .mdc-checkbox__background .mdc-checkbox__checkmark { -webkit-transition: opacity 180ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 180ms 0ms cubic-bezier(0, 0, 0.2, 1); transition: opacity 180ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 180ms 0ms cubic-bezier(0, 0, 0.2, 1); transition: opacity 180ms 0ms cubic-bezier(0, 0, 0.2, 1), transform 180ms 0ms cubic-bezier(0, 0, 0.2, 1); transition: opacity 180ms 0ms cubic-bezier(0, 0, 0.2, 1), transform 180ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 180ms 0ms cubic-bezier(0, 0, 0.2, 1); opacity: 1; } .mdc-checkbox__native-control:checked ~ .mdc-checkbox__background .mdc-checkbox__checkmark__path { stroke-dashoffset: 0; } .mdc-checkbox__native-control:checked ~ .mdc-checkbox__background .mdc-checkbox__mixedmark { -webkit-transform: scaleX(1) rotate(-45deg); transform: scaleX(1) rotate(-45deg); } .mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background { /* @alternate */ border-color: #3f51b5; border-color: var(--mdc-theme-primary, #3f51b5); /* @alternate */ background-color: #3f51b5; background-color: var(--mdc-theme-primary, #3f51b5); } .mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background .mdc-checkbox__checkmark { -webkit-transform: rotate(45deg); transform: rotate(45deg); -webkit-transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1); transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1); transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1); transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1); opacity: 0; } .mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background .mdc-checkbox__checkmark__path { stroke-dashoffset: 0; } .mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background .mdc-checkbox__mixedmark { -webkit-transform: scaleX(1) rotate(0deg); transform: scaleX(1) rotate(0deg); opacity: 1; } .mdc-checkbox__native-control:disabled, fieldset:disabled .mdc-checkbox__native-control, [aria-disabled="true"] .mdc-checkbox__native-control { cursor: default; } .mdc-checkbox__native-control:disabled ~ .mdc-checkbox__background, fieldset:disabled .mdc-checkbox__native-control ~ .mdc-checkbox__background, [aria-disabled="true"] .mdc-checkbox__native-control ~ .mdc-checkbox__background { border-color: rgba(0, 0, 0, 0.26); } .mdc-checkbox--theme-dark .mdc-checkbox__native-control:disabled ~ .mdc-checkbox__background, .mdc-theme--dark .mdc-checkbox__native-control:disabled ~ .mdc-checkbox__background, .mdc-checkbox--theme-dark fieldset:disabled .mdc-checkbox__native-control ~ .mdc-checkbox__background, .mdc-theme--dark fieldset:disabled .mdc-checkbox__native-control ~ .mdc-checkbox__background, .mdc-checkbox--theme-dark [aria-disabled="true"] .mdc-checkbox__native-control ~ .mdc-checkbox__background, .mdc-theme--dark [aria-disabled="true"] .mdc-checkbox__native-control ~ .mdc-checkbox__background { border-color: rgba(255, 255, 255, 0.3); } .mdc-checkbox__native-control:disabled:checked ~ .mdc-checkbox__background, .mdc-checkbox__native-control:disabled:indeterminate ~ .mdc-checkbox__background, fieldset:disabled .mdc-checkbox__native-control:checked ~ .mdc-checkbox__background, fieldset:disabled .mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background, [aria-disabled="true"] .mdc-checkbox__native-control:checked ~ .mdc-checkbox__background, [aria-disabled="true"] .mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background { border-color: transparent; background-color: rgba(0, 0, 0, 0.26); } .mdc-checkbox--theme-dark .mdc-checkbox__native-control:disabled:checked ~ .mdc-checkbox__background, .mdc-theme--dark .mdc-checkbox__native-control:disabled:checked ~ .mdc-checkbox__background, .mdc-checkbox--theme-dark .mdc-checkbox__native-control:disabled:indeterminate ~ .mdc-checkbox__background, .mdc-theme--dark .mdc-checkbox__native-control:disabled:indeterminate ~ .mdc-checkbox__background, .mdc-checkbox--theme-dark fieldset:disabled .mdc-checkbox__native-control:checked ~ .mdc-checkbox__background, .mdc-theme--dark fieldset:disabled .mdc-checkbox__native-control:checked ~ .mdc-checkbox__background, .mdc-checkbox--theme-dark fieldset:disabled .mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background, .mdc-theme--dark fieldset:disabled .mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background, .mdc-checkbox--theme-dark [aria-disabled="true"] .mdc-checkbox__native-control:checked ~ .mdc-checkbox__background, .mdc-theme--dark [aria-disabled="true"] .mdc-checkbox__native-control:checked ~ .mdc-checkbox__background, .mdc-checkbox--theme-dark [aria-disabled="true"] .mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background, .mdc-theme--dark [aria-disabled="true"] .mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background { background-color: rgba(255, 255, 255, 0.3); } .mdc-checkbox--disabled { cursor: default; pointer-events: none; } .mdc-checkbox--upgraded .mdc-checkbox__background, .mdc-checkbox--upgraded .mdc-checkbox__checkmark, .mdc-checkbox--upgraded .mdc-checkbox__checkmark__path, .mdc-checkbox--upgraded .mdc-checkbox__mixedmark { -webkit-transition: none !important; transition: none !important; } .mdc-checkbox--anim-unchecked-checked .mdc-checkbox__background, .mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__background { -webkit-animation: mdc-checkbox-fade-in-background 180ms linear; animation: mdc-checkbox-fade-in-background 180ms linear; } .mdc-checkbox--theme-dark .mdc-checkbox--anim-unchecked-checked .mdc-checkbox__background, .mdc-theme--dark .mdc-checkbox--anim-unchecked-checked .mdc-checkbox__background, .mdc-checkbox--theme-dark .mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__background, .mdc-theme--dark .mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__background { -webkit-animation-name: mdc-checkbox-fade-in-background-dark; animation-name: mdc-checkbox-fade-in-background-dark; } .mdc-checkbox--anim-checked-unchecked .mdc-checkbox__background, .mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__background { -webkit-animation: mdc-checkbox-fade-out-background 180ms linear; animation: mdc-checkbox-fade-out-background 180ms linear; } .mdc-checkbox--theme-dark .mdc-checkbox--anim-checked-unchecked .mdc-checkbox__background, .mdc-theme--dark .mdc-checkbox--anim-checked-unchecked .mdc-checkbox__background, .mdc-checkbox--theme-dark .mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__background, .mdc-theme--dark .mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__background { -webkit-animation-name: mdc-checkbox-fade-out-background-dark; animation-name: mdc-checkbox-fade-out-background-dark; } .mdc-checkbox--anim-unchecked-checked .mdc-checkbox__checkmark__path { -webkit-animation: 180ms linear 0s mdc-checkbox-unchecked-checked-checkmark-path; animation: 180ms linear 0s mdc-checkbox-unchecked-checked-checkmark-path; -webkit-transition: none; transition: none; } .mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__mixedmark { -webkit-animation: 90ms linear 0s mdc-checkbox-unchecked-indeterminate-mixedmark; animation: 90ms linear 0s mdc-checkbox-unchecked-indeterminate-mixedmark; -webkit-transition: none; transition: none; } .mdc-checkbox--anim-checked-unchecked .mdc-checkbox__checkmark__path { -webkit-animation: 90ms linear 0s mdc-checkbox-checked-unchecked-checkmark-path; animation: 90ms linear 0s mdc-checkbox-checked-unchecked-checkmark-path; -webkit-transition: none; transition: none; } .mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__checkmark { -webkit-animation: 90ms linear 0s mdc-checkbox-checked-indeterminate-checkmark; animation: 90ms linear 0s mdc-checkbox-checked-indeterminate-checkmark; -webkit-transition: none; transition: none; } .mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__mixedmark { -webkit-animation: 90ms linear 0s mdc-checkbox-checked-indeterminate-mixedmark; animation: 90ms linear 0s mdc-checkbox-checked-indeterminate-mixedmark; -webkit-transition: none; transition: none; } .mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__checkmark { -webkit-animation: 500ms linear 0s mdc-checkbox-indeterminate-checked-checkmark; animation: 500ms linear 0s mdc-checkbox-indeterminate-checked-checkmark; -webkit-transition: none; transition: none; } .mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__mixedmark { -webkit-animation: 500ms linear 0s mdc-checkbox-indeterminate-checked-mixedmark; animation: 500ms linear 0s mdc-checkbox-indeterminate-checked-mixedmark; -webkit-transition: none; transition: none; } .mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__mixedmark { -webkit-animation: 300ms linear 0s mdc-checkbox-indeterminate-unchecked-mixedmark; animation: 300ms linear 0s mdc-checkbox-indeterminate-unchecked-mixedmark; -webkit-transition: none; transition: none; } /** * The css property used for elevation. In most cases this should not be changed. It is exposed * as a variable for abstraction / easy use when needing to reference the property directly, for * example in a `will-change` rule. */ /** * The default duration value for elevation transitions. */ /** * The default easing value for elevation transitions. */ /** * Applies the correct css rules to an element to give it the elevation specified by $z-value. * The $z-value must be between 0 and 24. */ /** * Returns a string that can be used as the value for a `transition` property for elevation. * Calling this function directly is useful in situations where a component needs to transition * more than one property. * * ```scss * .foo { * transition: mdc-elevation-transition-rule(), opacity 100ms ease; * will-change: $mdc-elevation-property, opacity; * } * ``` */ /** * Applies the correct css rules needed to have an element transition between elevations. * This mixin should be applied to elements whose elevation values will change depending on their * context (e.g. when active or disabled). */ /** * Creates a rule that will be applied when an MDC-Web component is within the context of an RTL layout. * * Usage Example: * ```scss * .mdc-foo { * position: absolute; * left: 0; * * @include mdc-rtl { * left: auto; * right: 0; * } * * &__bar { * margin-left: 4px; * @include mdc-rtl(".mdc-foo") { * margin-left: auto; * margin-right: 4px; * } * } * } * * .mdc-foo--mod { * padding-left: 4px; * * @include mdc-rtl { * padding-left: auto; * padding-right: 4px; * } * } * ``` * * Note that this works by checking for [dir="rtl"] on an ancestor element. While this will work * in most cases, it will in some cases lead to false negatives, e.g. * * ```html * * *
*
Styled incorrectly as RTL!
*
* * ``` * * In the future, selectors such as :dir (http://mdn.io/:dir) will help us mitigate this. */ /** * Takes a base box-model property - e.g. margin / border / padding - along with a default * direction and value, and emits rules which apply the value to the * "-" property by default, but flips the direction * when within an RTL context. * * For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-box(margin, left, 8px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-left: 8px; * * @include mdc-rtl { * margin-right: 8px; * margin-left: 0; * } * } * ``` * whereas: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-box(margin, right, 8px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-right: 8px; * * @include mdc-rtl { * margin-right: 0; * margin-left: 8px; * } * } * ``` * * You can also pass a 4th optional $root-selector argument which will be forwarded to `mdc-rtl`, * e.g. `@include mdc-rtl-reflexive-box(margin, left, 8px, ".mdc-component")`. * * Note that this function will always zero out the original value in an RTL context. If you're * trying to flip the values, use mdc-rtl-reflexive-property(). */ /** * Takes a base property and emits rules that assign -left to and * -right to in a LTR context, and vice versa in a RTL context. * For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-property(margin, auto, 12px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-left: auto; * margin-right: 12px; * * @include mdc-rtl { * margin-left: 12px; * margin-right: auto; * } * } * ``` * * A 4th optional $root-selector argument can be given, which will be passed to `mdc-rtl`. */ /** * Takes an argument specifying a horizontal position property (either "left" or "right") as well * as a value, and applies that value to the specified position in a LTR context, and flips it in a * RTL context. For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-position(left, 0); * position: absolute; * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * position: absolute; * left: 0; * right: initial; * * @include mdc-rtl { * right: 0; * left: initial; * } * } * ``` * An optional third $root-selector argument may also be given, which is passed to `mdc-rtl`. */ /* Precomputed linear color channel values, for use in contrast calculations. See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests Algorithm, for c in 0 to 255: f(c) { c = c / 255; return c < 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4); } This lookup table is needed since there is no `pow` in SASS. */ /** * Calculate the luminance for a color. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Calculate the contrast ratio between two colors. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Determine whether to use dark or light text on top of given color. * Returns "dark" for dark text and "light" for light text. */ /* Main theme colors. If you're a user customizing your color scheme in SASS, these are probably the only variables you need to change. */ /* Indigo 500 */ /* Pink A200 */ /* White */ /* Which set of text colors to use for each main theme color (light or dark) */ /* Text colors according to light vs dark and text type */ /* Primary text colors for each of the theme colors */ /** * Applies the correct theme color style to the specified property. * $property is typically color or background-color, but can be any CSS property that accepts color values. * $style should be one of the map keys in $mdc-theme-property-values (_variables.scss). */ /** * Creates a rule to be used in MDC-Web components for dark theming, and applies the provided contents. * Should provide the $root-selector option if applied to anything other than the root selector. * When used with a modifier class, provide a second argument of `true` for the $compound parameter * to specify that this should be attached as a compound class. * * Usage example: * * ```scss * .mdc-foo { * color: black; * * @include mdc-theme-dark { * color: white; * } * * &__bar { * background: black; * * @include mdc-theme-dark(".mdc-foo") { * background: white; * } * } * } * * .mdc-foo--disabled { * opacity: .38; * * @include mdc-theme-dark(".mdc-foo", true) { * opacity: .5; * } * } * ``` */ /* TODO(sgomes): Figure out what to do about desktop font sizes. */ /* TODO(sgomes): Figure out what to do about i18n and i18n font sizes. */ /* TODO(sgomes): Figure out what to do about desktop font sizes. */ /* TODO(sgomes): Figure out what to do about i18n and i18n font sizes. */ :root { --mdc-dialog-dark-theme-bg-color: #303030; } .mdc-dialog { display: -webkit-box; display: -ms-flexbox; display: flex; position: fixed; top: 0; left: 0; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; width: 100%; height: 100%; visibility: hidden; z-index: 2; } .mdc-dialog__backdrop { position: fixed; top: 0; left: 0; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; width: 100%; height: 100%; /* @alternate */ background-color: rgba(0, 0, 0, 0.87); background-color: var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87)); opacity: 0; z-index: -1; } .mdc-dialog__surface { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12); box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12); width: calc(100% - 30px); min-width: 640px; max-width: 865px; -webkit-transform: translateY(150px) scale(0.8); transform: translateY(150px) scale(0.8); border-radius: 2px; /* @alternate */ background-color: #fff; background-color: var(--mdc-theme-background, #fff); opacity: 0; } .mdc-dialog--theme-dark .mdc-dialog__surface, .mdc-theme--dark .mdc-dialog__surface { /* @alternate */ color: white; color: var(--mdc-theme-text-primary-on-dark, white); background-color: #303030; background-color: var(--mdc-dialog-dark-theme-bg-color, #303030); } [dir="rtl"] .mdc-dialog .mdc-dialog__surface, .mdc-dialog[dir="rtl"] .mdc-dialog__surface { text-align: right; } .mdc-dialog__header { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; padding: 24px 24px 0; } .mdc-dialog__header__empty { padding: 0; } [dir="rtl"] .mdc-dialog .mdc-dialog__header, .mdc-dialog[dir="rtl"] .mdc-dialog__header { text-align: right; } .mdc-dialog__header__title { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; margin: 0; font-family: Roboto, sans-serif; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-size: 1.25rem; font-weight: 500; letter-spacing: 0.02em; line-height: 2rem; text-decoration: inherit; text-transform: inherit; } .mdc-dialog__body { margin-top: 20px; padding: 0 24px 24px; /* @alternate */ color: rgba(0, 0, 0, 0.54); color: var(--mdc-theme-text-secondary-on-light, rgba(0, 0, 0, 0.54)); font-family: Roboto, sans-serif; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-size: 0.875rem; font-weight: 400; letter-spacing: 0.04em; line-height: 1.25rem; text-decoration: inherit; text-transform: inherit; } .mdc-dialog--theme-dark.mdc-dialog__body, .mdc-theme--dark .mdc-dialog__body { /* @alternate */ color: rgba(255, 255, 255, 0.7); color: var(--mdc-theme-text-secondary-on-dark, rgba(255, 255, 255, 0.7)); } .mdc-dialog__body--scrollable { max-height: 195px; border-top: 1px solid rgba(0, 0, 0, 0.1); border-bottom: 1px solid rgba(0, 0, 0, 0.1); overflow-y: scroll; overflow-x: auto; -webkit-overflow-scrolling: touch; } .mdc-dialog__footer { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; padding: 8px; } .mdc-dialog__footer__button { margin-left: 0; margin-right: 8px; } [dir="rtl"] .mdc-dialog__footer__button, .mdc-dialog__footer__button[dir="rtl"] { margin-left: 8px; margin-right: 0; } .mdc-dialog__footer__button:last-child { margin-left: 0; margin-right: 0; } [dir="rtl"] .mdc-dialog__footer__button:last-child, .mdc-dialog__footer__button:last-child[dir="rtl"] { margin-left: 0; margin-right: 0; } .mdc-dialog__footer__action { /* @alternate */ color: #ff4081; color: var(--mdc-theme-accent, #ff4081); } @media (max-width: 640px) { .mdc-dialog { min-width: 280px; } .mdc-dialog__surface { min-width: 280px; } .mdc-dialog__body { line-height: 24px; } } .mdc-dialog--animating { visibility: visible; } .mdc-dialog--animating .mdc-dialog__backdrop { -webkit-transition: opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1); transition: opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1); } .mdc-dialog--animating .mdc-dialog--open .mdc-dialog__surface { -webkit-transition: opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1); transition: opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1); transition: opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1), transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1); transition: opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1), transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1); } .mdc-dialog--animating .mdc-dialog__surface { -webkit-transition: opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1); transition: opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1); transition: opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1), transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1); transition: opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1), transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1); } .mdc-dialog--open { visibility: visible; } .mdc-dialog--open .mdc-dialog__backdrop { opacity: .3; } .mdc-dialog--open .mdc-dialog__surface { -webkit-transform: translateY(0) scale(1); transform: translateY(0) scale(1); opacity: 1; } .mdc-dialog-scroll-lock { height: 100vh; overflow: hidden; } /** * Creates a rule that will be applied when an MDC-Web component is within the context of an RTL layout. * * Usage Example: * ```scss * .mdc-foo { * position: absolute; * left: 0; * * @include mdc-rtl { * left: auto; * right: 0; * } * * &__bar { * margin-left: 4px; * @include mdc-rtl(".mdc-foo") { * margin-left: auto; * margin-right: 4px; * } * } * } * * .mdc-foo--mod { * padding-left: 4px; * * @include mdc-rtl { * padding-left: auto; * padding-right: 4px; * } * } * ``` * * Note that this works by checking for [dir="rtl"] on an ancestor element. While this will work * in most cases, it will in some cases lead to false negatives, e.g. * * ```html * * *
*
Styled incorrectly as RTL!
*
* * ``` * * In the future, selectors such as :dir (http://mdn.io/:dir) will help us mitigate this. */ /** * Takes a base box-model property - e.g. margin / border / padding - along with a default * direction and value, and emits rules which apply the value to the * "-" property by default, but flips the direction * when within an RTL context. * * For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-box(margin, left, 8px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-left: 8px; * * @include mdc-rtl { * margin-right: 8px; * margin-left: 0; * } * } * ``` * whereas: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-box(margin, right, 8px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-right: 8px; * * @include mdc-rtl { * margin-right: 0; * margin-left: 8px; * } * } * ``` * * You can also pass a 4th optional $root-selector argument which will be forwarded to `mdc-rtl`, * e.g. `@include mdc-rtl-reflexive-box(margin, left, 8px, ".mdc-component")`. * * Note that this function will always zero out the original value in an RTL context. If you're * trying to flip the values, use mdc-rtl-reflexive-property(). */ /** * Takes a base property and emits rules that assign -left to and * -right to in a LTR context, and vice versa in a RTL context. * For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-property(margin, auto, 12px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-left: auto; * margin-right: 12px; * * @include mdc-rtl { * margin-left: 12px; * margin-right: auto; * } * } * ``` * * A 4th optional $root-selector argument can be given, which will be passed to `mdc-rtl`. */ /** * Takes an argument specifying a horizontal position property (either "left" or "right") as well * as a value, and applies that value to the specified position in a LTR context, and flips it in a * RTL context. For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-position(left, 0); * position: absolute; * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * position: absolute; * left: 0; * right: initial; * * @include mdc-rtl { * right: 0; * left: initial; * } * } * ``` * An optional third $root-selector argument may also be given, which is passed to `mdc-rtl`. */ /* Precomputed linear color channel values, for use in contrast calculations. See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests Algorithm, for c in 0 to 255: f(c) { c = c / 255; return c < 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4); } This lookup table is needed since there is no `pow` in SASS. */ /** * Calculate the luminance for a color. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Calculate the contrast ratio between two colors. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Determine whether to use dark or light text on top of given color. * Returns "dark" for dark text and "light" for light text. */ /* Main theme colors. If you're a user customizing your color scheme in SASS, these are probably the only variables you need to change. */ /* Indigo 500 */ /* Pink A200 */ /* White */ /* Which set of text colors to use for each main theme color (light or dark) */ /* Text colors according to light vs dark and text type */ /* Primary text colors for each of the theme colors */ /** * Applies the correct theme color style to the specified property. * $property is typically color or background-color, but can be any CSS property that accepts color values. * $style should be one of the map keys in $mdc-theme-property-values (_variables.scss). */ /** * Creates a rule to be used in MDC-Web components for dark theming, and applies the provided contents. * Should provide the $root-selector option if applied to anything other than the root selector. * When used with a modifier class, provide a second argument of `true` for the $compound parameter * to specify that this should be attached as a compound class. * * Usage example: * * ```scss * .mdc-foo { * color: black; * * @include mdc-theme-dark { * color: white; * } * * &__bar { * background: black; * * @include mdc-theme-dark(".mdc-foo") { * background: white; * } * } * } * * .mdc-foo--disabled { * opacity: .38; * * @include mdc-theme-dark(".mdc-foo", true) { * opacity: .5; * } * } * ``` */ /* Precomputed linear color channel values, for use in contrast calculations. See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests Algorithm, for c in 0 to 255: f(c) { c = c / 255; return c < 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4); } This lookup table is needed since there is no `pow` in SASS. */ /** * Calculate the luminance for a color. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Calculate the contrast ratio between two colors. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Determine whether to use dark or light text on top of given color. * Returns "dark" for dark text and "light" for light text. */ /* Main theme colors. If you're a user customizing your color scheme in SASS, these are probably the only variables you need to change. */ /* Indigo 500 */ /* Pink A200 */ /* White */ /* Which set of text colors to use for each main theme color (light or dark) */ /* Text colors according to light vs dark and text type */ /* Primary text colors for each of the theme colors */ /** * Applies the correct theme color style to the specified property. * $property is typically color or background-color, but can be any CSS property that accepts color values. * $style should be one of the map keys in $mdc-theme-property-values (_variables.scss). */ /** * Creates a rule to be used in MDC-Web components for dark theming, and applies the provided contents. * Should provide the $root-selector option if applied to anything other than the root selector. * When used with a modifier class, provide a second argument of `true` for the $compound parameter * to specify that this should be attached as a compound class. * * Usage example: * * ```scss * .mdc-foo { * color: black; * * @include mdc-theme-dark { * color: white; * } * * &__bar { * background: black; * * @include mdc-theme-dark(".mdc-foo") { * background: white; * } * } * } * * .mdc-foo--disabled { * opacity: .38; * * @include mdc-theme-dark(".mdc-foo", true) { * opacity: .5; * } * } * ``` */ /* TODO(sgomes): Figure out what to do about desktop font sizes. */ /* TODO(sgomes): Figure out what to do about i18n and i18n font sizes. */ /** * Copyright 2016 Google Inc. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * Creates a rule that will be applied when an MDC-Web component is within the context of an RTL layout. * * Usage Example: * ```scss * .mdc-foo { * position: absolute; * left: 0; * * @include mdc-rtl { * left: auto; * right: 0; * } * * &__bar { * margin-left: 4px; * @include mdc-rtl(".mdc-foo") { * margin-left: auto; * margin-right: 4px; * } * } * } * * .mdc-foo--mod { * padding-left: 4px; * * @include mdc-rtl { * padding-left: auto; * padding-right: 4px; * } * } * ``` * * Note that this works by checking for [dir="rtl"] on an ancestor element. While this will work * in most cases, it will in some cases lead to false negatives, e.g. * * ```html * * *
*
Styled incorrectly as RTL!
*
* * ``` * * In the future, selectors such as :dir (http://mdn.io/:dir) will help us mitigate this. */ /** * Takes a base box-model property - e.g. margin / border / padding - along with a default * direction and value, and emits rules which apply the value to the * "-" property by default, but flips the direction * when within an RTL context. * * For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-box(margin, left, 8px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-left: 8px; * * @include mdc-rtl { * margin-right: 8px; * margin-left: 0; * } * } * ``` * whereas: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-box(margin, right, 8px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-right: 8px; * * @include mdc-rtl { * margin-right: 0; * margin-left: 8px; * } * } * ``` * * You can also pass a 4th optional $root-selector argument which will be forwarded to `mdc-rtl`, * e.g. `@include mdc-rtl-reflexive-box(margin, left, 8px, ".mdc-component")`. * * Note that this function will always zero out the original value in an RTL context. If you're * trying to flip the values, use mdc-rtl-reflexive-property(). */ /** * Takes a base property and emits rules that assign -left to and * -right to in a LTR context, and vice versa in a RTL context. * For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-property(margin, auto, 12px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-left: auto; * margin-right: 12px; * * @include mdc-rtl { * margin-left: 12px; * margin-right: auto; * } * } * ``` * * A 4th optional $root-selector argument can be given, which will be passed to `mdc-rtl`. */ /** * Takes an argument specifying a horizontal position property (either "left" or "right") as well * as a value, and applies that value to the specified position in a LTR context, and flips it in a * RTL context. For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-position(left, 0); * position: absolute; * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * position: absolute; * left: 0; * right: initial; * * @include mdc-rtl { * right: 0; * left: initial; * } * } * ``` * An optional third $root-selector argument may also be given, which is passed to `mdc-rtl`. */ /** * Copyright 2016 Google Inc. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ :root { --mdc-persistent-drawer-dark-theme-bg-color: #212121; } .mdc-persistent-drawer { /* Use aspect ratio trick to maintain 16:9 aspect ratio on the header */ /* stylelint-disable selector-no-qualifying-type */ /* stylelint-enable selector-no-qualifying-type */ /* TODO(sgomes): Revisit when we have interactive lists. */ width: 0; } .mdc-persistent-drawer__toolbar-spacer { display: -webkit-box; display: -ms-flexbox; display: flex; position: relative; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-negative: 0; flex-shrink: 0; -webkit-box-align: flex-center; -ms-flex-align: flex-center; align-items: flex-center; height: 56px; padding: 16px; border-bottom: 1px solid rgba(0, 0, 0, 0.12); -webkit-box-sizing: border-box; box-sizing: border-box; /* TODO(sgomes): replace with global breakpoints when we have them */ } .mdc-persistent-drawer__toolbar-spacer--theme-dark .mdc-persistent-drawer__toolbar-spacer, .mdc-theme--dark .mdc-persistent-drawer__toolbar-spacer { border-bottom: 1px solid rgba(255, 255, 255, 0.12); } @media (min-width: 600px) { .mdc-persistent-drawer__toolbar-spacer { height: 64px; } } .mdc-persistent-drawer__header { position: relative; } .mdc-persistent-drawer__header::before { display: block; padding-top: 56.25%; content: ""; } .mdc-persistent-drawer__header-content { display: -webkit-box; display: -ms-flexbox; display: flex; position: absolute; top: 0; right: 0; bottom: 0; left: 0; -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; padding: 16px; -webkit-box-sizing: border-box; box-sizing: border-box; } .mdc-persistent-drawer .mdc-list-group, .mdc-persistent-drawer .mdc-list { padding-right: 0; padding-left: 0; } .mdc-persistent-drawer .mdc-list-item { position: relative; padding: 0 16px; outline: none; color: inherit; text-decoration: none; font-family: Roboto, sans-serif; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-size: 0.875rem; font-weight: 500; letter-spacing: 0.04em; line-height: 1.5rem; text-decoration: inherit; text-transform: inherit; } .mdc-persistent-drawer .mdc-list-item.mdc-ripple-upgraded { left: 0; } .mdc-persistent-drawer .mdc-list-item__start-detail { color: rgba(0, 0, 0, 0.54); } .mdc-persistent-drawer .mdc-list-item__start-detail--theme-dark .mdc-persistent-drawer .mdc-list-item__start-detail, .mdc-theme--dark .mdc-persistent-drawer .mdc-list-item__start-detail { color: rgba(255, 255, 255, 0.54); } .mdc-persistent-drawer--selected.mdc-list-item, .mdc-persistent-drawer--selected.mdc-list-item .mdc-list-item__start-detail { /* @alternate */ color: #3f51b5; color: var(--mdc-theme-primary, #3f51b5); } .mdc-persistent-drawer .mdc-list-item::before { position: absolute; top: 0; left: 0; width: 100%; height: 100%; -webkit-transition: opacity 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1); transition: opacity 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1); border-radius: inherit; background: currentColor; content: ""; opacity: 0; } .mdc-persistent-drawer .mdc-list-item:focus::before { -webkit-transition: opacity 180ms 0ms cubic-bezier(0, 0, 0.2, 1); transition: opacity 180ms 0ms cubic-bezier(0, 0, 0.2, 1); opacity: .12; } .mdc-persistent-drawer .mdc-list-item:active::before { /* Slightly darker value for visual distinction. This allows a full base that has distinct modes. Progressive enhancement with ripples will provide complete button spec alignment. */ -webkit-transition: opacity 180ms 0ms cubic-bezier(0, 0, 0.2, 1); transition: opacity 180ms 0ms cubic-bezier(0, 0, 0.2, 1); opacity: .18; } .mdc-persistent-drawer .mdc-list-item:active:focus::before { -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); } .mdc-persistent-drawer__drawer { /* @alternate */ background: #fff; background: var(--mdc-theme-background, #fff); border-left: 0; border-right: 1px solid #e4e4e4; left: 0; right: initial; height: 100%; -webkit-transform: translateX(-107%); transform: translateX(-107%); -webkit-transform: translateX(calc(-100% - 20px)); transform: translateX(calc(-100% - 20px)); will-change: transform; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-sizing: border-box; box-sizing: border-box; width: 240px; overflow: hidden; -ms-touch-action: none; touch-action: none; } [dir="rtl"] .mdc-persistent-drawer__drawer, .mdc-persistent-drawer__drawer[dir="rtl"] { border-left: 1px solid #e4e4e4; border-right: 0; } [dir="rtl"] .mdc-persistent-drawer__drawer, .mdc-persistent-drawer__drawer[dir="rtl"] { left: initial; right: 0; } .mdc-persistent-drawer__drawer--theme-dark, .mdc-theme--dark .mdc-persistent-drawer__drawer { background-color: #212121; background-color: var(--mdc-persistent-drawer-dark-theme-bg-color, #212121); /* @alternate */ color: white; color: var(--mdc-theme-text-primary-on-dark, white); border-left: 0; border-right: 1px solid rgba(255, 255, 255, 0.12); } [dir="rtl"] .mdc-persistent-drawer__drawer--theme-dark, .mdc-persistent-drawer__drawer--theme-dark[dir="rtl"], [dir="rtl"] .mdc-theme--dark .mdc-persistent-drawer__drawer, .mdc-theme--dark .mdc-persistent-drawer__drawer[dir="rtl"] { border-left: 1px solid rgba(255, 255, 255, 0.12); border-right: 0; } [dir="rtl"] .mdc-persistent-drawer .mdc-persistent-drawer__drawer, .mdc-persistent-drawer[dir="rtl"] .mdc-persistent-drawer__drawer { -webkit-transform: translateX(107%); transform: translateX(107%); -webkit-transform: translateX(calc(100% + 20px)); transform: translateX(calc(100% + 20px)); } .mdc-persistent-drawer--animating .mdc-persistent-drawer__drawer { -webkit-transition: -webkit-transform 0.195s 0ms cubic-bezier(0.4, 0, 0.6, 1); transition: -webkit-transform 0.195s 0ms cubic-bezier(0.4, 0, 0.6, 1); transition: transform 0.195s 0ms cubic-bezier(0.4, 0, 0.6, 1); transition: transform 0.195s 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 0.195s 0ms cubic-bezier(0.4, 0, 0.6, 1); } .mdc-persistent-drawer--animating.mdc-persistent-drawer--open .mdc-persistent-drawer__drawer { -webkit-transition: -webkit-transform 0.225s 0ms cubic-bezier(0, 0, 0.2, 1); transition: -webkit-transform 0.225s 0ms cubic-bezier(0, 0, 0.2, 1); transition: transform 0.225s 0ms cubic-bezier(0, 0, 0.2, 1); transition: transform 0.225s 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 0.225s 0ms cubic-bezier(0, 0, 0.2, 1); } .mdc-persistent-drawer--open { width: 240px; pointer-events: auto; } .mdc-persistent-drawer--open .mdc-persistent-drawer__drawer { -webkit-transform: none; transform: none; } [dir="rtl"] .mdc-persistent-drawer--open .mdc-persistent-drawer__drawer, .mdc-persistent-drawer--open[dir="rtl"] .mdc-persistent-drawer__drawer { -webkit-transform: none; transform: none; } /** * Creates a rule that will be applied when an MDC-Web component is within the context of an RTL layout. * * Usage Example: * ```scss * .mdc-foo { * position: absolute; * left: 0; * * @include mdc-rtl { * left: auto; * right: 0; * } * * &__bar { * margin-left: 4px; * @include mdc-rtl(".mdc-foo") { * margin-left: auto; * margin-right: 4px; * } * } * } * * .mdc-foo--mod { * padding-left: 4px; * * @include mdc-rtl { * padding-left: auto; * padding-right: 4px; * } * } * ``` * * Note that this works by checking for [dir="rtl"] on an ancestor element. While this will work * in most cases, it will in some cases lead to false negatives, e.g. * * ```html * * *
*
Styled incorrectly as RTL!
*
* * ``` * * In the future, selectors such as :dir (http://mdn.io/:dir) will help us mitigate this. */ /** * Takes a base box-model property - e.g. margin / border / padding - along with a default * direction and value, and emits rules which apply the value to the * "-" property by default, but flips the direction * when within an RTL context. * * For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-box(margin, left, 8px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-left: 8px; * * @include mdc-rtl { * margin-right: 8px; * margin-left: 0; * } * } * ``` * whereas: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-box(margin, right, 8px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-right: 8px; * * @include mdc-rtl { * margin-right: 0; * margin-left: 8px; * } * } * ``` * * You can also pass a 4th optional $root-selector argument which will be forwarded to `mdc-rtl`, * e.g. `@include mdc-rtl-reflexive-box(margin, left, 8px, ".mdc-component")`. * * Note that this function will always zero out the original value in an RTL context. If you're * trying to flip the values, use mdc-rtl-reflexive-property(). */ /** * Takes a base property and emits rules that assign -left to and * -right to in a LTR context, and vice versa in a RTL context. * For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-property(margin, auto, 12px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-left: auto; * margin-right: 12px; * * @include mdc-rtl { * margin-left: 12px; * margin-right: auto; * } * } * ``` * * A 4th optional $root-selector argument can be given, which will be passed to `mdc-rtl`. */ /** * Takes an argument specifying a horizontal position property (either "left" or "right") as well * as a value, and applies that value to the specified position in a LTR context, and flips it in a * RTL context. For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-position(left, 0); * position: absolute; * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * position: absolute; * left: 0; * right: initial; * * @include mdc-rtl { * right: 0; * left: initial; * } * } * ``` * An optional third $root-selector argument may also be given, which is passed to `mdc-rtl`. */ /* Precomputed linear color channel values, for use in contrast calculations. See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests Algorithm, for c in 0 to 255: f(c) { c = c / 255; return c < 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4); } This lookup table is needed since there is no `pow` in SASS. */ /** * Calculate the luminance for a color. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Calculate the contrast ratio between two colors. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Determine whether to use dark or light text on top of given color. * Returns "dark" for dark text and "light" for light text. */ /* Main theme colors. If you're a user customizing your color scheme in SASS, these are probably the only variables you need to change. */ /* Indigo 500 */ /* Pink A200 */ /* White */ /* Which set of text colors to use for each main theme color (light or dark) */ /* Text colors according to light vs dark and text type */ /* Primary text colors for each of the theme colors */ /** * Applies the correct theme color style to the specified property. * $property is typically color or background-color, but can be any CSS property that accepts color values. * $style should be one of the map keys in $mdc-theme-property-values (_variables.scss). */ /** * Creates a rule to be used in MDC-Web components for dark theming, and applies the provided contents. * Should provide the $root-selector option if applied to anything other than the root selector. * When used with a modifier class, provide a second argument of `true` for the $compound parameter * to specify that this should be attached as a compound class. * * Usage example: * * ```scss * .mdc-foo { * color: black; * * @include mdc-theme-dark { * color: white; * } * * &__bar { * background: black; * * @include mdc-theme-dark(".mdc-foo") { * background: white; * } * } * } * * .mdc-foo--disabled { * opacity: .38; * * @include mdc-theme-dark(".mdc-foo", true) { * opacity: .5; * } * } * ``` */ /* Precomputed linear color channel values, for use in contrast calculations. See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests Algorithm, for c in 0 to 255: f(c) { c = c / 255; return c < 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4); } This lookup table is needed since there is no `pow` in SASS. */ /** * Calculate the luminance for a color. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Calculate the contrast ratio between two colors. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Determine whether to use dark or light text on top of given color. * Returns "dark" for dark text and "light" for light text. */ /* Main theme colors. If you're a user customizing your color scheme in SASS, these are probably the only variables you need to change. */ /* Indigo 500 */ /* Pink A200 */ /* White */ /* Which set of text colors to use for each main theme color (light or dark) */ /* Text colors according to light vs dark and text type */ /* Primary text colors for each of the theme colors */ /** * Applies the correct theme color style to the specified property. * $property is typically color or background-color, but can be any CSS property that accepts color values. * $style should be one of the map keys in $mdc-theme-property-values (_variables.scss). */ /** * Creates a rule to be used in MDC-Web components for dark theming, and applies the provided contents. * Should provide the $root-selector option if applied to anything other than the root selector. * When used with a modifier class, provide a second argument of `true` for the $compound parameter * to specify that this should be attached as a compound class. * * Usage example: * * ```scss * .mdc-foo { * color: black; * * @include mdc-theme-dark { * color: white; * } * * &__bar { * background: black; * * @include mdc-theme-dark(".mdc-foo") { * background: white; * } * } * } * * .mdc-foo--disabled { * opacity: .38; * * @include mdc-theme-dark(".mdc-foo", true) { * opacity: .5; * } * } * ``` */ /* TODO(sgomes): Figure out what to do about desktop font sizes. */ /* TODO(sgomes): Figure out what to do about i18n and i18n font sizes. */ :root { --mdc-permanent-drawer-dark-theme-bg-color: #212121; } .mdc-permanent-drawer { /* Use aspect ratio trick to maintain 16:9 aspect ratio on the header */ /* stylelint-disable selector-no-qualifying-type */ /* stylelint-enable selector-no-qualifying-type */ /* TODO(sgomes): Revisit when we have interactive lists. */ /* @alternate */ background: #fff; background: var(--mdc-theme-background, #fff); border-left: 0; border-right: 1px solid #e4e4e4; left: 0; right: initial; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-flex: 0; -ms-flex: 0 0 auto; flex: 0 0 auto; width: 240px; -webkit-box-sizing: border-box; box-sizing: border-box; overflow: hidden; } .mdc-permanent-drawer__toolbar-spacer { display: -webkit-box; display: -ms-flexbox; display: flex; position: relative; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-negative: 0; flex-shrink: 0; -webkit-box-align: flex-center; -ms-flex-align: flex-center; align-items: flex-center; height: 56px; padding: 16px; border-bottom: 1px solid rgba(0, 0, 0, 0.12); -webkit-box-sizing: border-box; box-sizing: border-box; /* TODO(sgomes): replace with global breakpoints when we have them */ } .mdc-permanent-drawer__toolbar-spacer--theme-dark .mdc-permanent-drawer__toolbar-spacer, .mdc-theme--dark .mdc-permanent-drawer__toolbar-spacer { border-bottom: 1px solid rgba(255, 255, 255, 0.12); } @media (min-width: 600px) { .mdc-permanent-drawer__toolbar-spacer { height: 64px; } } .mdc-permanent-drawer__header { position: relative; } .mdc-permanent-drawer__header::before { display: block; padding-top: 56.25%; content: ""; } .mdc-permanent-drawer__header-content { display: -webkit-box; display: -ms-flexbox; display: flex; position: absolute; top: 0; right: 0; bottom: 0; left: 0; -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; padding: 16px; -webkit-box-sizing: border-box; box-sizing: border-box; } .mdc-permanent-drawer .mdc-list-group, .mdc-permanent-drawer .mdc-list { padding-right: 0; padding-left: 0; } .mdc-permanent-drawer .mdc-list-item { position: relative; padding: 0 16px; outline: none; color: inherit; text-decoration: none; font-family: Roboto, sans-serif; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-size: 0.875rem; font-weight: 500; letter-spacing: 0.04em; line-height: 1.5rem; text-decoration: inherit; text-transform: inherit; } .mdc-permanent-drawer .mdc-list-item.mdc-ripple-upgraded { left: 0; } .mdc-permanent-drawer .mdc-list-item__start-detail { color: rgba(0, 0, 0, 0.54); } .mdc-permanent-drawer .mdc-list-item__start-detail--theme-dark .mdc-permanent-drawer .mdc-list-item__start-detail, .mdc-theme--dark .mdc-permanent-drawer .mdc-list-item__start-detail { color: rgba(255, 255, 255, 0.54); } .mdc-permanent-drawer--selected.mdc-list-item, .mdc-permanent-drawer--selected.mdc-list-item .mdc-list-item__start-detail { /* @alternate */ color: #3f51b5; color: var(--mdc-theme-primary, #3f51b5); } .mdc-permanent-drawer .mdc-list-item::before { position: absolute; top: 0; left: 0; width: 100%; height: 100%; -webkit-transition: opacity 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1); transition: opacity 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1); border-radius: inherit; background: currentColor; content: ""; opacity: 0; } .mdc-permanent-drawer .mdc-list-item:focus::before { -webkit-transition: opacity 180ms 0ms cubic-bezier(0, 0, 0.2, 1); transition: opacity 180ms 0ms cubic-bezier(0, 0, 0.2, 1); opacity: .12; } .mdc-permanent-drawer .mdc-list-item:active::before { /* Slightly darker value for visual distinction. This allows a full base that has distinct modes. Progressive enhancement with ripples will provide complete button spec alignment. */ -webkit-transition: opacity 180ms 0ms cubic-bezier(0, 0, 0.2, 1); transition: opacity 180ms 0ms cubic-bezier(0, 0, 0.2, 1); opacity: .18; } .mdc-permanent-drawer .mdc-list-item:active:focus::before { -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); } [dir="rtl"] .mdc-permanent-drawer, .mdc-permanent-drawer[dir="rtl"] { border-left: 1px solid #e4e4e4; border-right: 0; } [dir="rtl"] .mdc-permanent-drawer, .mdc-permanent-drawer[dir="rtl"] { left: initial; right: 0; } .mdc-permanent-drawer--theme-dark, .mdc-theme--dark .mdc-permanent-drawer { background-color: #212121; background-color: var(--mdc-permanent-drawer-dark-theme-bg-color, #212121); /* @alternate */ color: white; color: var(--mdc-theme-text-primary-on-dark, white); border-left: 0; border-right: 1px solid rgba(255, 255, 255, 0.12); } [dir="rtl"] .mdc-permanent-drawer--theme-dark, .mdc-permanent-drawer--theme-dark[dir="rtl"], [dir="rtl"] .mdc-theme--dark .mdc-permanent-drawer, .mdc-theme--dark .mdc-permanent-drawer[dir="rtl"] { border-left: 1px solid rgba(255, 255, 255, 0.12); border-right: 0; } .mdc-permanent-drawer--floating { background: none; border-left: 0; border-right: none; } [dir="rtl"] .mdc-permanent-drawer--floating, .mdc-permanent-drawer--floating[dir="rtl"] { border-left: none; border-right: 0; } .mdc-permanent-drawer--floating--theme-dark, .mdc-theme--dark .mdc-permanent-drawer--floating { background: none; border-left: 0; border-right: none; } [dir="rtl"] .mdc-permanent-drawer--floating--theme-dark, .mdc-permanent-drawer--floating--theme-dark[dir="rtl"], [dir="rtl"] .mdc-theme--dark .mdc-permanent-drawer--floating, .mdc-theme--dark .mdc-permanent-drawer--floating[dir="rtl"] { border-left: none; border-right: 0; } /** * The css property used for elevation. In most cases this should not be changed. It is exposed * as a variable for abstraction / easy use when needing to reference the property directly, for * example in a `will-change` rule. */ /** * The default duration value for elevation transitions. */ /** * The default easing value for elevation transitions. */ /** * Applies the correct css rules to an element to give it the elevation specified by $z-value. * The $z-value must be between 0 and 24. */ /** * Returns a string that can be used as the value for a `transition` property for elevation. * Calling this function directly is useful in situations where a component needs to transition * more than one property. * * ```scss * .foo { * transition: mdc-elevation-transition-rule(), opacity 100ms ease; * will-change: $mdc-elevation-property, opacity; * } * ``` */ /** * Applies the correct css rules needed to have an element transition between elevations. * This mixin should be applied to elements whose elevation values will change depending on their * context (e.g. when active or disabled). */ /** * Creates a rule that will be applied when an MDC-Web component is within the context of an RTL layout. * * Usage Example: * ```scss * .mdc-foo { * position: absolute; * left: 0; * * @include mdc-rtl { * left: auto; * right: 0; * } * * &__bar { * margin-left: 4px; * @include mdc-rtl(".mdc-foo") { * margin-left: auto; * margin-right: 4px; * } * } * } * * .mdc-foo--mod { * padding-left: 4px; * * @include mdc-rtl { * padding-left: auto; * padding-right: 4px; * } * } * ``` * * Note that this works by checking for [dir="rtl"] on an ancestor element. While this will work * in most cases, it will in some cases lead to false negatives, e.g. * * ```html * * *
*
Styled incorrectly as RTL!
*
* * ``` * * In the future, selectors such as :dir (http://mdn.io/:dir) will help us mitigate this. */ /** * Takes a base box-model property - e.g. margin / border / padding - along with a default * direction and value, and emits rules which apply the value to the * "-" property by default, but flips the direction * when within an RTL context. * * For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-box(margin, left, 8px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-left: 8px; * * @include mdc-rtl { * margin-right: 8px; * margin-left: 0; * } * } * ``` * whereas: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-box(margin, right, 8px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-right: 8px; * * @include mdc-rtl { * margin-right: 0; * margin-left: 8px; * } * } * ``` * * You can also pass a 4th optional $root-selector argument which will be forwarded to `mdc-rtl`, * e.g. `@include mdc-rtl-reflexive-box(margin, left, 8px, ".mdc-component")`. * * Note that this function will always zero out the original value in an RTL context. If you're * trying to flip the values, use mdc-rtl-reflexive-property(). */ /** * Takes a base property and emits rules that assign -left to and * -right to in a LTR context, and vice versa in a RTL context. * For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-property(margin, auto, 12px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-left: auto; * margin-right: 12px; * * @include mdc-rtl { * margin-left: 12px; * margin-right: auto; * } * } * ``` * * A 4th optional $root-selector argument can be given, which will be passed to `mdc-rtl`. */ /** * Takes an argument specifying a horizontal position property (either "left" or "right") as well * as a value, and applies that value to the specified position in a LTR context, and flips it in a * RTL context. For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-position(left, 0); * position: absolute; * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * position: absolute; * left: 0; * right: initial; * * @include mdc-rtl { * right: 0; * left: initial; * } * } * ``` * An optional third $root-selector argument may also be given, which is passed to `mdc-rtl`. */ /* Precomputed linear color channel values, for use in contrast calculations. See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests Algorithm, for c in 0 to 255: f(c) { c = c / 255; return c < 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4); } This lookup table is needed since there is no `pow` in SASS. */ /** * Calculate the luminance for a color. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Calculate the contrast ratio between two colors. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Determine whether to use dark or light text on top of given color. * Returns "dark" for dark text and "light" for light text. */ /* Main theme colors. If you're a user customizing your color scheme in SASS, these are probably the only variables you need to change. */ /* Indigo 500 */ /* Pink A200 */ /* White */ /* Which set of text colors to use for each main theme color (light or dark) */ /* Text colors according to light vs dark and text type */ /* Primary text colors for each of the theme colors */ /** * Applies the correct theme color style to the specified property. * $property is typically color or background-color, but can be any CSS property that accepts color values. * $style should be one of the map keys in $mdc-theme-property-values (_variables.scss). */ /** * Creates a rule to be used in MDC-Web components for dark theming, and applies the provided contents. * Should provide the $root-selector option if applied to anything other than the root selector. * When used with a modifier class, provide a second argument of `true` for the $compound parameter * to specify that this should be attached as a compound class. * * Usage example: * * ```scss * .mdc-foo { * color: black; * * @include mdc-theme-dark { * color: white; * } * * &__bar { * background: black; * * @include mdc-theme-dark(".mdc-foo") { * background: white; * } * } * } * * .mdc-foo--disabled { * opacity: .38; * * @include mdc-theme-dark(".mdc-foo", true) { * opacity: .5; * } * } * ``` */ /* Precomputed linear color channel values, for use in contrast calculations. See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests Algorithm, for c in 0 to 255: f(c) { c = c / 255; return c < 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4); } This lookup table is needed since there is no `pow` in SASS. */ /** * Calculate the luminance for a color. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Calculate the contrast ratio between two colors. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Determine whether to use dark or light text on top of given color. * Returns "dark" for dark text and "light" for light text. */ /* Main theme colors. If you're a user customizing your color scheme in SASS, these are probably the only variables you need to change. */ /* Indigo 500 */ /* Pink A200 */ /* White */ /* Which set of text colors to use for each main theme color (light or dark) */ /* Text colors according to light vs dark and text type */ /* Primary text colors for each of the theme colors */ /** * Applies the correct theme color style to the specified property. * $property is typically color or background-color, but can be any CSS property that accepts color values. * $style should be one of the map keys in $mdc-theme-property-values (_variables.scss). */ /** * Creates a rule to be used in MDC-Web components for dark theming, and applies the provided contents. * Should provide the $root-selector option if applied to anything other than the root selector. * When used with a modifier class, provide a second argument of `true` for the $compound parameter * to specify that this should be attached as a compound class. * * Usage example: * * ```scss * .mdc-foo { * color: black; * * @include mdc-theme-dark { * color: white; * } * * &__bar { * background: black; * * @include mdc-theme-dark(".mdc-foo") { * background: white; * } * } * } * * .mdc-foo--disabled { * opacity: .38; * * @include mdc-theme-dark(".mdc-foo", true) { * opacity: .5; * } * } * ``` */ /* TODO(sgomes): Figure out what to do about desktop font sizes. */ /* TODO(sgomes): Figure out what to do about i18n and i18n font sizes. */ /** * Copyright 2016 Google Inc. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * Creates a rule that will be applied when an MDC-Web component is within the context of an RTL layout. * * Usage Example: * ```scss * .mdc-foo { * position: absolute; * left: 0; * * @include mdc-rtl { * left: auto; * right: 0; * } * * &__bar { * margin-left: 4px; * @include mdc-rtl(".mdc-foo") { * margin-left: auto; * margin-right: 4px; * } * } * } * * .mdc-foo--mod { * padding-left: 4px; * * @include mdc-rtl { * padding-left: auto; * padding-right: 4px; * } * } * ``` * * Note that this works by checking for [dir="rtl"] on an ancestor element. While this will work * in most cases, it will in some cases lead to false negatives, e.g. * * ```html * * *
*
Styled incorrectly as RTL!
*
* * ``` * * In the future, selectors such as :dir (http://mdn.io/:dir) will help us mitigate this. */ /** * Takes a base box-model property - e.g. margin / border / padding - along with a default * direction and value, and emits rules which apply the value to the * "-" property by default, but flips the direction * when within an RTL context. * * For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-box(margin, left, 8px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-left: 8px; * * @include mdc-rtl { * margin-right: 8px; * margin-left: 0; * } * } * ``` * whereas: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-box(margin, right, 8px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-right: 8px; * * @include mdc-rtl { * margin-right: 0; * margin-left: 8px; * } * } * ``` * * You can also pass a 4th optional $root-selector argument which will be forwarded to `mdc-rtl`, * e.g. `@include mdc-rtl-reflexive-box(margin, left, 8px, ".mdc-component")`. * * Note that this function will always zero out the original value in an RTL context. If you're * trying to flip the values, use mdc-rtl-reflexive-property(). */ /** * Takes a base property and emits rules that assign -left to and * -right to in a LTR context, and vice versa in a RTL context. * For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-property(margin, auto, 12px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-left: auto; * margin-right: 12px; * * @include mdc-rtl { * margin-left: 12px; * margin-right: auto; * } * } * ``` * * A 4th optional $root-selector argument can be given, which will be passed to `mdc-rtl`. */ /** * Takes an argument specifying a horizontal position property (either "left" or "right") as well * as a value, and applies that value to the specified position in a LTR context, and flips it in a * RTL context. For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-position(left, 0); * position: absolute; * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * position: absolute; * left: 0; * right: initial; * * @include mdc-rtl { * right: 0; * left: initial; * } * } * ``` * An optional third $root-selector argument may also be given, which is passed to `mdc-rtl`. */ /** * Copyright 2016 Google Inc. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ .mdc-temporary-drawer { /* Use aspect ratio trick to maintain 16:9 aspect ratio on the header */ /* stylelint-disable selector-no-qualifying-type */ /* stylelint-enable selector-no-qualifying-type */ /* TODO(sgomes): Revisit when we have interactive lists. */ position: fixed; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; pointer-events: none; -webkit-box-sizing: border-box; box-sizing: border-box; contain: strict; z-index: 5; /* Shaded background */ } .mdc-temporary-drawer__toolbar-spacer { display: -webkit-box; display: -ms-flexbox; display: flex; position: relative; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-negative: 0; flex-shrink: 0; -webkit-box-align: flex-center; -ms-flex-align: flex-center; align-items: flex-center; height: 56px; padding: 16px; border-bottom: 1px solid rgba(0, 0, 0, 0.12); -webkit-box-sizing: border-box; box-sizing: border-box; /* TODO(sgomes): replace with global breakpoints when we have them */ } .mdc-temporary-drawer__toolbar-spacer--theme-dark .mdc-temporary-drawer__toolbar-spacer, .mdc-theme--dark .mdc-temporary-drawer__toolbar-spacer { border-bottom: 1px solid rgba(255, 255, 255, 0.12); } @media (min-width: 600px) { .mdc-temporary-drawer__toolbar-spacer { height: 64px; } } .mdc-temporary-drawer__header { position: relative; } .mdc-temporary-drawer__header::before { display: block; padding-top: 56.25%; content: ""; } .mdc-temporary-drawer__header-content { display: -webkit-box; display: -ms-flexbox; display: flex; position: absolute; top: 0; right: 0; bottom: 0; left: 0; -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; padding: 16px; -webkit-box-sizing: border-box; box-sizing: border-box; } .mdc-temporary-drawer .mdc-list-group, .mdc-temporary-drawer .mdc-list { padding-right: 0; padding-left: 0; } .mdc-temporary-drawer .mdc-list-item { position: relative; padding: 0 16px; outline: none; color: inherit; text-decoration: none; font-family: Roboto, sans-serif; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-size: 0.875rem; font-weight: 500; letter-spacing: 0.04em; line-height: 1.5rem; text-decoration: inherit; text-transform: inherit; } .mdc-temporary-drawer .mdc-list-item.mdc-ripple-upgraded { left: 0; } .mdc-temporary-drawer .mdc-list-item__start-detail { color: rgba(0, 0, 0, 0.54); } .mdc-temporary-drawer .mdc-list-item__start-detail--theme-dark .mdc-temporary-drawer .mdc-list-item__start-detail, .mdc-theme--dark .mdc-temporary-drawer .mdc-list-item__start-detail { color: rgba(255, 255, 255, 0.54); } .mdc-temporary-drawer--selected.mdc-list-item, .mdc-temporary-drawer--selected.mdc-list-item .mdc-list-item__start-detail { /* @alternate */ color: #3f51b5; color: var(--mdc-theme-primary, #3f51b5); } .mdc-temporary-drawer .mdc-list-item::before { position: absolute; top: 0; left: 0; width: 100%; height: 100%; -webkit-transition: opacity 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1); transition: opacity 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1); border-radius: inherit; background: currentColor; content: ""; opacity: 0; } .mdc-temporary-drawer .mdc-list-item:focus::before { -webkit-transition: opacity 180ms 0ms cubic-bezier(0, 0, 0.2, 1); transition: opacity 180ms 0ms cubic-bezier(0, 0, 0.2, 1); opacity: .12; } .mdc-temporary-drawer .mdc-list-item:active::before { /* Slightly darker value for visual distinction. This allows a full base that has distinct modes. Progressive enhancement with ripples will provide complete button spec alignment. */ -webkit-transition: opacity 180ms 0ms cubic-bezier(0, 0, 0.2, 1); transition: opacity 180ms 0ms cubic-bezier(0, 0, 0.2, 1); opacity: .18; } .mdc-temporary-drawer .mdc-list-item:active:focus::before { -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); } .mdc-temporary-drawer::before { display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.6); content: ""; opacity: 0; opacity: var(--mdc-temporary-drawer-opacity, 0); will-change: opacity; -webkit-box-sizing: border-box; box-sizing: border-box; } .mdc-temporary-drawer__drawer { /* @alternate */ background: #fff; background: var(--mdc-theme-background, #fff); -webkit-box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12); box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12); left: 0; right: initial; height: 100%; -webkit-transform: translateX(-107%); transform: translateX(-107%); -webkit-transform: translateX(calc(-100% - 20px)); transform: translateX(calc(-100% - 20px)); will-change: transform; display: -webkit-box; display: -ms-flexbox; display: flex; position: absolute; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; width: calc(100% - 56px); max-width: 280px; -webkit-box-sizing: border-box; box-sizing: border-box; overflow: hidden; -ms-touch-action: none; touch-action: none; /* TODO(sgomes): replace with global breakpoints when we have them */ } [dir="rtl"] .mdc-temporary-drawer__drawer, .mdc-temporary-drawer__drawer[dir="rtl"] { left: initial; right: 0; } .mdc-temporary-drawer--theme-dark .mdc-temporary-drawer__drawer, .mdc-theme--dark .mdc-temporary-drawer__drawer { background: #303030; /* @alternate */ color: white; color: var(--mdc-theme-text-primary-on-dark, white); } [dir="rtl"] .mdc-temporary-drawer .mdc-temporary-drawer__drawer, .mdc-temporary-drawer[dir="rtl"] .mdc-temporary-drawer__drawer { -webkit-transform: translateX(107%); transform: translateX(107%); -webkit-transform: translateX(calc(100% + 20px)); transform: translateX(calc(100% + 20px)); } @media (min-width: 600px) { .mdc-temporary-drawer__drawer { width: calc(100% - 64px); max-width: 320px; } } .mdc-temporary-drawer__content { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; margin: 0; overflow-x: hidden; overflow-y: auto; -webkit-box-sizing: border-box; box-sizing: border-box; -webkit-overflow-scrolling: touch; -ms-touch-action: pan-y; touch-action: pan-y; } .mdc-temporary-drawer__footer { -webkit-box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); -ms-flex-negative: 0; flex-shrink: 0; } .mdc-temporary-drawer--animating::before { -webkit-transition: opacity 0.3s 0ms cubic-bezier(0, 0, 0.2, 1); transition: opacity 0.3s 0ms cubic-bezier(0, 0, 0.2, 1); } .mdc-temporary-drawer--animating.mdc-temporary-drawer--open .mdc-temporary-drawer__drawer { -webkit-transition: -webkit-transform 0.225s 0ms cubic-bezier(0, 0, 0.2, 1); transition: -webkit-transform 0.225s 0ms cubic-bezier(0, 0, 0.2, 1); transition: transform 0.225s 0ms cubic-bezier(0, 0, 0.2, 1); transition: transform 0.225s 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 0.225s 0ms cubic-bezier(0, 0, 0.2, 1); } .mdc-temporary-drawer--animating .mdc-temporary-drawer__drawer { -webkit-transition: -webkit-transform 0.195s 0ms cubic-bezier(0.4, 0, 0.6, 1); transition: -webkit-transform 0.195s 0ms cubic-bezier(0.4, 0, 0.6, 1); transition: transform 0.195s 0ms cubic-bezier(0.4, 0, 0.6, 1); transition: transform 0.195s 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 0.195s 0ms cubic-bezier(0.4, 0, 0.6, 1); } .mdc-temporary-drawer--open { pointer-events: auto; } .mdc-temporary-drawer--open::before { opacity: 1; opacity: var(--mdc-temporary-drawer-opacity, 1); } .mdc-temporary-drawer--open .mdc-temporary-drawer__drawer { -webkit-transform: none; transform: none; } [dir="rtl"] .mdc-temporary-drawer--open .mdc-temporary-drawer__drawer, .mdc-temporary-drawer--open[dir="rtl"] .mdc-temporary-drawer__drawer { -webkit-transform: none; transform: none; } .mdc-drawer-scroll-lock { height: 100vh; overflow: hidden; } /** * The css property used for elevation. In most cases this should not be changed. It is exposed * as a variable for abstraction / easy use when needing to reference the property directly, for * example in a `will-change` rule. */ /** * The default duration value for elevation transitions. */ /** * The default easing value for elevation transitions. */ /** * Applies the correct css rules to an element to give it the elevation specified by $z-value. * The $z-value must be between 0 and 24. */ /** * Returns a string that can be used as the value for a `transition` property for elevation. * Calling this function directly is useful in situations where a component needs to transition * more than one property. * * ```scss * .foo { * transition: mdc-elevation-transition-rule(), opacity 100ms ease; * will-change: $mdc-elevation-property, opacity; * } * ``` */ /** * Applies the correct css rules needed to have an element transition between elevations. * This mixin should be applied to elements whose elevation values will change depending on their * context (e.g. when active or disabled). */ .mdc-elevation--z0 { -webkit-box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12); box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12); } .mdc-elevation--z1 { -webkit-box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12); box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12); } .mdc-elevation--z2 { -webkit-box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); } .mdc-elevation--z3 { -webkit-box-shadow: 0px 3px 3px -2px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 1px 8px 0px rgba(0, 0, 0, 0.12); box-shadow: 0px 3px 3px -2px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 1px 8px 0px rgba(0, 0, 0, 0.12); } .mdc-elevation--z4 { -webkit-box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12); box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12); } .mdc-elevation--z5 { -webkit-box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 5px 8px 0px rgba(0, 0, 0, 0.14), 0px 1px 14px 0px rgba(0, 0, 0, 0.12); box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 5px 8px 0px rgba(0, 0, 0, 0.14), 0px 1px 14px 0px rgba(0, 0, 0, 0.12); } .mdc-elevation--z6 { -webkit-box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12); box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12); } .mdc-elevation--z7 { -webkit-box-shadow: 0px 4px 5px -2px rgba(0, 0, 0, 0.2), 0px 7px 10px 1px rgba(0, 0, 0, 0.14), 0px 2px 16px 1px rgba(0, 0, 0, 0.12); box-shadow: 0px 4px 5px -2px rgba(0, 0, 0, 0.2), 0px 7px 10px 1px rgba(0, 0, 0, 0.14), 0px 2px 16px 1px rgba(0, 0, 0, 0.12); } .mdc-elevation--z8 { -webkit-box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12); box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12); } .mdc-elevation--z9 { -webkit-box-shadow: 0px 5px 6px -3px rgba(0, 0, 0, 0.2), 0px 9px 12px 1px rgba(0, 0, 0, 0.14), 0px 3px 16px 2px rgba(0, 0, 0, 0.12); box-shadow: 0px 5px 6px -3px rgba(0, 0, 0, 0.2), 0px 9px 12px 1px rgba(0, 0, 0, 0.14), 0px 3px 16px 2px rgba(0, 0, 0, 0.12); } .mdc-elevation--z10 { -webkit-box-shadow: 0px 6px 6px -3px rgba(0, 0, 0, 0.2), 0px 10px 14px 1px rgba(0, 0, 0, 0.14), 0px 4px 18px 3px rgba(0, 0, 0, 0.12); box-shadow: 0px 6px 6px -3px rgba(0, 0, 0, 0.2), 0px 10px 14px 1px rgba(0, 0, 0, 0.14), 0px 4px 18px 3px rgba(0, 0, 0, 0.12); } .mdc-elevation--z11 { -webkit-box-shadow: 0px 6px 7px -4px rgba(0, 0, 0, 0.2), 0px 11px 15px 1px rgba(0, 0, 0, 0.14), 0px 4px 20px 3px rgba(0, 0, 0, 0.12); box-shadow: 0px 6px 7px -4px rgba(0, 0, 0, 0.2), 0px 11px 15px 1px rgba(0, 0, 0, 0.14), 0px 4px 20px 3px rgba(0, 0, 0, 0.12); } .mdc-elevation--z12 { -webkit-box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12); box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12); } .mdc-elevation--z13 { -webkit-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); 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); } .mdc-elevation--z14 { -webkit-box-shadow: 0px 7px 9px -4px rgba(0, 0, 0, 0.2), 0px 14px 21px 2px rgba(0, 0, 0, 0.14), 0px 5px 26px 4px rgba(0, 0, 0, 0.12); box-shadow: 0px 7px 9px -4px rgba(0, 0, 0, 0.2), 0px 14px 21px 2px rgba(0, 0, 0, 0.14), 0px 5px 26px 4px rgba(0, 0, 0, 0.12); } .mdc-elevation--z15 { -webkit-box-shadow: 0px 8px 9px -5px rgba(0, 0, 0, 0.2), 0px 15px 22px 2px rgba(0, 0, 0, 0.14), 0px 6px 28px 5px rgba(0, 0, 0, 0.12); box-shadow: 0px 8px 9px -5px rgba(0, 0, 0, 0.2), 0px 15px 22px 2px rgba(0, 0, 0, 0.14), 0px 6px 28px 5px rgba(0, 0, 0, 0.12); } .mdc-elevation--z16 { -webkit-box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12); box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12); } .mdc-elevation--z17 { -webkit-box-shadow: 0px 8px 11px -5px rgba(0, 0, 0, 0.2), 0px 17px 26px 2px rgba(0, 0, 0, 0.14), 0px 6px 32px 5px rgba(0, 0, 0, 0.12); box-shadow: 0px 8px 11px -5px rgba(0, 0, 0, 0.2), 0px 17px 26px 2px rgba(0, 0, 0, 0.14), 0px 6px 32px 5px rgba(0, 0, 0, 0.12); } .mdc-elevation--z18 { -webkit-box-shadow: 0px 9px 11px -5px rgba(0, 0, 0, 0.2), 0px 18px 28px 2px rgba(0, 0, 0, 0.14), 0px 7px 34px 6px rgba(0, 0, 0, 0.12); box-shadow: 0px 9px 11px -5px rgba(0, 0, 0, 0.2), 0px 18px 28px 2px rgba(0, 0, 0, 0.14), 0px 7px 34px 6px rgba(0, 0, 0, 0.12); } .mdc-elevation--z19 { -webkit-box-shadow: 0px 9px 12px -6px rgba(0, 0, 0, 0.2), 0px 19px 29px 2px rgba(0, 0, 0, 0.14), 0px 7px 36px 6px rgba(0, 0, 0, 0.12); box-shadow: 0px 9px 12px -6px rgba(0, 0, 0, 0.2), 0px 19px 29px 2px rgba(0, 0, 0, 0.14), 0px 7px 36px 6px rgba(0, 0, 0, 0.12); } .mdc-elevation--z20 { -webkit-box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 20px 31px 3px rgba(0, 0, 0, 0.14), 0px 8px 38px 7px rgba(0, 0, 0, 0.12); box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 20px 31px 3px rgba(0, 0, 0, 0.14), 0px 8px 38px 7px rgba(0, 0, 0, 0.12); } .mdc-elevation--z21 { -webkit-box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 21px 33px 3px rgba(0, 0, 0, 0.14), 0px 8px 40px 7px rgba(0, 0, 0, 0.12); box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 21px 33px 3px rgba(0, 0, 0, 0.14), 0px 8px 40px 7px rgba(0, 0, 0, 0.12); } .mdc-elevation--z22 { -webkit-box-shadow: 0px 10px 14px -6px rgba(0, 0, 0, 0.2), 0px 22px 35px 3px rgba(0, 0, 0, 0.14), 0px 8px 42px 7px rgba(0, 0, 0, 0.12); box-shadow: 0px 10px 14px -6px rgba(0, 0, 0, 0.2), 0px 22px 35px 3px rgba(0, 0, 0, 0.14), 0px 8px 42px 7px rgba(0, 0, 0, 0.12); } .mdc-elevation--z23 { -webkit-box-shadow: 0px 11px 14px -7px rgba(0, 0, 0, 0.2), 0px 23px 36px 3px rgba(0, 0, 0, 0.14), 0px 9px 44px 8px rgba(0, 0, 0, 0.12); box-shadow: 0px 11px 14px -7px rgba(0, 0, 0, 0.2), 0px 23px 36px 3px rgba(0, 0, 0, 0.14), 0px 9px 44px 8px rgba(0, 0, 0, 0.12); } .mdc-elevation--z24 { -webkit-box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12); box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12); } .mdc-elevation-transition { -webkit-transition: -webkit-box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1); transition: -webkit-box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1); transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1); transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1); will-change: box-shadow; } /** * The css property used for elevation. In most cases this should not be changed. It is exposed * as a variable for abstraction / easy use when needing to reference the property directly, for * example in a `will-change` rule. */ /** * The default duration value for elevation transitions. */ /** * The default easing value for elevation transitions. */ /** * Applies the correct css rules to an element to give it the elevation specified by $z-value. * The $z-value must be between 0 and 24. */ /** * Returns a string that can be used as the value for a `transition` property for elevation. * Calling this function directly is useful in situations where a component needs to transition * more than one property. * * ```scss * .foo { * transition: mdc-elevation-transition-rule(), opacity 100ms ease; * will-change: $mdc-elevation-property, opacity; * } * ``` */ /** * Applies the correct css rules needed to have an element transition between elevations. * This mixin should be applied to elements whose elevation values will change depending on their * context (e.g. when active or disabled). */ /* Precomputed linear color channel values, for use in contrast calculations. See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests Algorithm, for c in 0 to 255: f(c) { c = c / 255; return c < 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4); } This lookup table is needed since there is no `pow` in SASS. */ /** * Calculate the luminance for a color. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Calculate the contrast ratio between two colors. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Determine whether to use dark or light text on top of given color. * Returns "dark" for dark text and "light" for light text. */ /* Main theme colors. If you're a user customizing your color scheme in SASS, these are probably the only variables you need to change. */ /* Indigo 500 */ /* Pink A200 */ /* White */ /* Which set of text colors to use for each main theme color (light or dark) */ /* Text colors according to light vs dark and text type */ /* Primary text colors for each of the theme colors */ /** MDC Ripple keyframes are split into their own file so that _mixins.scss can rely on them. */ @keyframes mdc-ripple-fg-radius-in { from { -webkit-transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1); transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1); -webkit-animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); } to { -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); } } @keyframes mdc-ripple-fg-opacity-in { from { opacity: 0; -webkit-animation-timing-function: linear; animation-timing-function: linear; } to { opacity: 1; } } @keyframes mdc-ripple-fg-opacity-out { from { opacity: 1; -webkit-animation-timing-function: linear; animation-timing-function: linear; } to { opacity: 0; } } /* Precomputed linear color channel values, for use in contrast calculations. See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests Algorithm, for c in 0 to 255: f(c) { c = c / 255; return c < 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4); } This lookup table is needed since there is no `pow` in SASS. */ /** * Calculate the luminance for a color. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Calculate the contrast ratio between two colors. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Determine whether to use dark or light text on top of given color. * Returns "dark" for dark text and "light" for light text. */ /* Main theme colors. If you're a user customizing your color scheme in SASS, these are probably the only variables you need to change. */ /* Indigo 500 */ /* Pink A200 */ /* White */ /* Which set of text colors to use for each main theme color (light or dark) */ /* Text colors according to light vs dark and text type */ /* Primary text colors for each of the theme colors */ /** * Applies the correct theme color style to the specified property. * $property is typically color or background-color, but can be any CSS property that accepts color values. * $style should be one of the map keys in $mdc-theme-property-values (_variables.scss). */ /** * Creates a rule to be used in MDC-Web components for dark theming, and applies the provided contents. * Should provide the $root-selector option if applied to anything other than the root selector. * When used with a modifier class, provide a second argument of `true` for the $compound parameter * to specify that this should be attached as a compound class. * * Usage example: * * ```scss * .mdc-foo { * color: black; * * @include mdc-theme-dark { * color: white; * } * * &__bar { * background: black; * * @include mdc-theme-dark(".mdc-foo") { * background: white; * } * } * } * * .mdc-foo--disabled { * opacity: .38; * * @include mdc-theme-dark(".mdc-foo", true) { * opacity: .5; * } * } * ``` */ .mdc-fab { --mdc-ripple-surface-width: 0; --mdc-ripple-surface-height: 0; --mdc-ripple-fg-size: 0; --mdc-ripple-left: 0; --mdc-ripple-top: 0; --mdc-ripple-fg-scale: 1; --mdc-ripple-fg-translate-end: 0; --mdc-ripple-fg-translate-start: 0; will-change: transform, opacity; -webkit-tap-highlight-color: transparent; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; position: relative; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; width: 56px; height: 56px; padding: 0; -webkit-transition: -webkit-box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1); transition: -webkit-box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1); transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1); transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1); border: none; border-radius: 50%; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-box-sizing: border-box; box-sizing: border-box; fill: currentColor; -moz-appearance: none; -webkit-appearance: none; overflow: hidden; /* @alternate */ background-color: #ff4081; background-color: var(--mdc-theme-accent, #ff4081); /* @alternate */ color: white; color: var(--mdc-theme-text-primary-on-accent, white); -webkit-box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12); box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12); } .mdc-fab:not(.mdc-ripple-upgraded):hover::before, .mdc-fab:not(.mdc-ripple-upgraded):focus::before, .mdc-fab:not(.mdc-ripple-upgraded):active::after { -webkit-transition-duration: 85ms; transition-duration: 85ms; opacity: .6; } .mdc-fab::before { background-color: rgba(255, 255, 255, 0.16); position: absolute; top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; -webkit-transition: opacity 250ms linear; transition: opacity 250ms linear; border-radius: 50%; opacity: 0; pointer-events: none; content: ""; } .mdc-fab.mdc-ripple-upgraded::before { top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; /* @alternate */ -webkit-transform: scale(0); transform: scale(0); -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0)); transform: scale(var(--mdc-ripple-fg-scale, 0)); } .mdc-fab.mdc-ripple-upgraded--background-focused::before { opacity: .99999; } .mdc-fab.mdc-ripple-upgraded--background-active-fill::before { -webkit-transition-duration: 120ms; transition-duration: 120ms; opacity: 1; } .mdc-fab.mdc-ripple-upgraded--unbounded::before { /* @alternate */ top: calc(50% - 50%); top: var(--mdc-ripple-top, calc(50% - 50%)); /* @alternate */ left: calc(50% - 50%); left: var(--mdc-ripple-left, calc(50% - 50%)); /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); /* @alternate */ -webkit-transform: scale(0); transform: scale(0); -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0)); transform: scale(var(--mdc-ripple-fg-scale, 0)); } .mdc-fab::after { background-color: rgba(255, 255, 255, 0.16); position: absolute; top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; -webkit-transition: opacity 250ms linear; transition: opacity 250ms linear; border-radius: 50%; opacity: 0; pointer-events: none; content: ""; } .mdc-fab.mdc-ripple-upgraded::after { top: 0; left: 0; /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; opacity: 0; } .mdc-fab:not(.mdc-ripple-upgraded--unbounded)::after { -webkit-transform-origin: center center; transform-origin: center center; } .mdc-fab.mdc-ripple-upgraded--unbounded::after { /* @alternate */ top: 0; top: var(--mdc-ripple-top, 0); /* @alternate */ left: 0; left: var(--mdc-ripple-left, 0); /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; } .mdc-fab.mdc-ripple-upgraded--foreground-activation::after { -webkit-animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; } .mdc-fab.mdc-ripple-upgraded--foreground-deactivation::after { -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); -webkit-animation: 83ms mdc-ripple-fg-opacity-out; animation: 83ms mdc-ripple-fg-opacity-out; } .mdc-fab:not(.mdc-ripple-upgraded) { -webkit-tap-highlight-color: rgba(0, 0, 0, 0.18); } .mdc-fab--mini { width: 40px; height: 40px; } .mdc-fab--plain { background-color: white; /* @alternate */ color: rgba(0, 0, 0, 0.87); color: var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87)); } .mdc-fab--plain::before { background-color: rgba(0, 0, 0, 0.06); position: absolute; top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; -webkit-transition: opacity 250ms linear; transition: opacity 250ms linear; border-radius: 50%; opacity: 0; pointer-events: none; content: ""; } .mdc-fab--plain.mdc-ripple-upgraded::before { top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; /* @alternate */ -webkit-transform: scale(0); transform: scale(0); -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0)); transform: scale(var(--mdc-ripple-fg-scale, 0)); } .mdc-fab--plain.mdc-ripple-upgraded--background-focused::before { opacity: .99999; } .mdc-fab--plain.mdc-ripple-upgraded--background-active-fill::before { -webkit-transition-duration: 120ms; transition-duration: 120ms; opacity: 1; } .mdc-fab--plain.mdc-ripple-upgraded--unbounded::before { /* @alternate */ top: calc(50% - 50%); top: var(--mdc-ripple-top, calc(50% - 50%)); /* @alternate */ left: calc(50% - 50%); left: var(--mdc-ripple-left, calc(50% - 50%)); /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); /* @alternate */ -webkit-transform: scale(0); transform: scale(0); -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0)); transform: scale(var(--mdc-ripple-fg-scale, 0)); } .mdc-fab--plain::after { background-color: rgba(0, 0, 0, 0.06); position: absolute; top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; -webkit-transition: opacity 250ms linear; transition: opacity 250ms linear; border-radius: 50%; opacity: 0; pointer-events: none; content: ""; } .mdc-fab--plain.mdc-ripple-upgraded::after { top: 0; left: 0; /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; opacity: 0; } .mdc-fab--plain:not(.mdc-ripple-upgraded--unbounded)::after { -webkit-transform-origin: center center; transform-origin: center center; } .mdc-fab--plain.mdc-ripple-upgraded--unbounded::after { /* @alternate */ top: 0; top: var(--mdc-ripple-top, 0); /* @alternate */ left: 0; left: var(--mdc-ripple-left, 0); /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; } .mdc-fab--plain.mdc-ripple-upgraded--foreground-activation::after { -webkit-animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; } .mdc-fab--plain.mdc-ripple-upgraded--foreground-deactivation::after { -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); -webkit-animation: 83ms mdc-ripple-fg-opacity-out; animation: 83ms mdc-ripple-fg-opacity-out; } .mdc-fab:active, .mdc-fab:focus { outline: none; } .mdc-fab:active { -webkit-box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12); box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12); } .mdc-fab:hover { cursor: pointer; } .mdc-fab::-moz-focus-inner { padding: 0; border: 0; } .mdc-fab > svg { width: 100%; } fieldset:disabled .mdc-fab, .mdc-fab:disabled { background-color: rgba(0, 0, 0, 0.12); color: rgba(0, 0, 0, 0.26); cursor: default; pointer-events: none; } .mdc-fab__icon { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; width: 100%; } /** * Creates a rule that will be applied when an MDC-Web component is within the context of an RTL layout. * * Usage Example: * ```scss * .mdc-foo { * position: absolute; * left: 0; * * @include mdc-rtl { * left: auto; * right: 0; * } * * &__bar { * margin-left: 4px; * @include mdc-rtl(".mdc-foo") { * margin-left: auto; * margin-right: 4px; * } * } * } * * .mdc-foo--mod { * padding-left: 4px; * * @include mdc-rtl { * padding-left: auto; * padding-right: 4px; * } * } * ``` * * Note that this works by checking for [dir="rtl"] on an ancestor element. While this will work * in most cases, it will in some cases lead to false negatives, e.g. * * ```html * * *
*
Styled incorrectly as RTL!
*
* * ``` * * In the future, selectors such as :dir (http://mdn.io/:dir) will help us mitigate this. */ /** * Takes a base box-model property - e.g. margin / border / padding - along with a default * direction and value, and emits rules which apply the value to the * "-" property by default, but flips the direction * when within an RTL context. * * For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-box(margin, left, 8px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-left: 8px; * * @include mdc-rtl { * margin-right: 8px; * margin-left: 0; * } * } * ``` * whereas: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-box(margin, right, 8px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-right: 8px; * * @include mdc-rtl { * margin-right: 0; * margin-left: 8px; * } * } * ``` * * You can also pass a 4th optional $root-selector argument which will be forwarded to `mdc-rtl`, * e.g. `@include mdc-rtl-reflexive-box(margin, left, 8px, ".mdc-component")`. * * Note that this function will always zero out the original value in an RTL context. If you're * trying to flip the values, use mdc-rtl-reflexive-property(). */ /** * Takes a base property and emits rules that assign -left to and * -right to in a LTR context, and vice versa in a RTL context. * For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-property(margin, auto, 12px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-left: auto; * margin-right: 12px; * * @include mdc-rtl { * margin-left: 12px; * margin-right: auto; * } * } * ``` * * A 4th optional $root-selector argument can be given, which will be passed to `mdc-rtl`. */ /** * Takes an argument specifying a horizontal position property (either "left" or "right") as well * as a value, and applies that value to the specified position in a LTR context, and flips it in a * RTL context. For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-position(left, 0); * position: absolute; * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * position: absolute; * left: 0; * right: initial; * * @include mdc-rtl { * right: 0; * left: initial; * } * } * ``` * An optional third $root-selector argument may also be given, which is passed to `mdc-rtl`. */ /* Precomputed linear color channel values, for use in contrast calculations. See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests Algorithm, for c in 0 to 255: f(c) { c = c / 255; return c < 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4); } This lookup table is needed since there is no `pow` in SASS. */ /** * Calculate the luminance for a color. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Calculate the contrast ratio between two colors. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Determine whether to use dark or light text on top of given color. * Returns "dark" for dark text and "light" for light text. */ /* Main theme colors. If you're a user customizing your color scheme in SASS, these are probably the only variables you need to change. */ /* Indigo 500 */ /* Pink A200 */ /* White */ /* Which set of text colors to use for each main theme color (light or dark) */ /* Text colors according to light vs dark and text type */ /* Primary text colors for each of the theme colors */ /** * Applies the correct theme color style to the specified property. * $property is typically color or background-color, but can be any CSS property that accepts color values. * $style should be one of the map keys in $mdc-theme-property-values (_variables.scss). */ /** * Creates a rule to be used in MDC-Web components for dark theming, and applies the provided contents. * Should provide the $root-selector option if applied to anything other than the root selector. * When used with a modifier class, provide a second argument of `true` for the $compound parameter * to specify that this should be attached as a compound class. * * Usage example: * * ```scss * .mdc-foo { * color: black; * * @include mdc-theme-dark { * color: white; * } * * &__bar { * background: black; * * @include mdc-theme-dark(".mdc-foo") { * background: white; * } * } * } * * .mdc-foo--disabled { * opacity: .38; * * @include mdc-theme-dark(".mdc-foo", true) { * opacity: .5; * } * } * ``` */ /* TODO(sgomes): Figure out what to do about desktop font sizes. */ /* TODO(sgomes): Figure out what to do about i18n and i18n font sizes. */ /* stylelint-disable selector-max-type */ .mdc-form-field { font-family: Roboto, sans-serif; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-size: 0.875rem; font-weight: 400; letter-spacing: 0.04em; line-height: 1.25rem; text-decoration: inherit; text-transform: inherit; /* @alternate */ color: rgba(0, 0, 0, 0.87); color: var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87)); display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; vertical-align: middle; } .mdc-form-field--theme-dark, .mdc-theme--dark .mdc-form-field { /* @alternate */ color: white; color: var(--mdc-theme-text-primary-on-dark, white); } .mdc-form-field > label { -webkit-box-ordinal-group: 1; -ms-flex-order: 0; order: 0; margin-right: auto; padding-left: 4px; } [dir="rtl"] .mdc-form-field > label, .mdc-form-field[dir="rtl"] > label { margin-left: auto; padding-right: 4px; } .mdc-form-field--align-end > label { -webkit-box-ordinal-group: 0; -ms-flex-order: -1; order: -1; margin-left: auto; padding-right: 4px; } [dir="rtl"] .mdc-form-field--align-end > label, .mdc-form-field--align-end[dir="rtl"] > label { margin-right: auto; padding-left: 4px; } /* stylelint-enable selector-max-type */ /** * Creates a rule that will be applied when an MDC-Web component is within the context of an RTL layout. * * Usage Example: * ```scss * .mdc-foo { * position: absolute; * left: 0; * * @include mdc-rtl { * left: auto; * right: 0; * } * * &__bar { * margin-left: 4px; * @include mdc-rtl(".mdc-foo") { * margin-left: auto; * margin-right: 4px; * } * } * } * * .mdc-foo--mod { * padding-left: 4px; * * @include mdc-rtl { * padding-left: auto; * padding-right: 4px; * } * } * ``` * * Note that this works by checking for [dir="rtl"] on an ancestor element. While this will work * in most cases, it will in some cases lead to false negatives, e.g. * * ```html * * *
*
Styled incorrectly as RTL!
*
* * ``` * * In the future, selectors such as :dir (http://mdn.io/:dir) will help us mitigate this. */ /** * Takes a base box-model property - e.g. margin / border / padding - along with a default * direction and value, and emits rules which apply the value to the * "-" property by default, but flips the direction * when within an RTL context. * * For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-box(margin, left, 8px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-left: 8px; * * @include mdc-rtl { * margin-right: 8px; * margin-left: 0; * } * } * ``` * whereas: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-box(margin, right, 8px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-right: 8px; * * @include mdc-rtl { * margin-right: 0; * margin-left: 8px; * } * } * ``` * * You can also pass a 4th optional $root-selector argument which will be forwarded to `mdc-rtl`, * e.g. `@include mdc-rtl-reflexive-box(margin, left, 8px, ".mdc-component")`. * * Note that this function will always zero out the original value in an RTL context. If you're * trying to flip the values, use mdc-rtl-reflexive-property(). */ /** * Takes a base property and emits rules that assign -left to and * -right to in a LTR context, and vice versa in a RTL context. * For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-property(margin, auto, 12px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-left: auto; * margin-right: 12px; * * @include mdc-rtl { * margin-left: 12px; * margin-right: auto; * } * } * ``` * * A 4th optional $root-selector argument can be given, which will be passed to `mdc-rtl`. */ /** * Takes an argument specifying a horizontal position property (either "left" or "right") as well * as a value, and applies that value to the specified position in a LTR context, and flips it in a * RTL context. For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-position(left, 0); * position: absolute; * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * position: absolute; * left: 0; * right: initial; * * @include mdc-rtl { * right: 0; * left: initial; * } * } * ``` * An optional third $root-selector argument may also be given, which is passed to `mdc-rtl`. */ /* Precomputed linear color channel values, for use in contrast calculations. See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests Algorithm, for c in 0 to 255: f(c) { c = c / 255; return c < 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4); } This lookup table is needed since there is no `pow` in SASS. */ /** * Calculate the luminance for a color. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Calculate the contrast ratio between two colors. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Determine whether to use dark or light text on top of given color. * Returns "dark" for dark text and "light" for light text. */ /* Main theme colors. If you're a user customizing your color scheme in SASS, these are probably the only variables you need to change. */ /* Indigo 500 */ /* Pink A200 */ /* White */ /* Which set of text colors to use for each main theme color (light or dark) */ /* Text colors according to light vs dark and text type */ /* Primary text colors for each of the theme colors */ /** * Applies the correct theme color style to the specified property. * $property is typically color or background-color, but can be any CSS property that accepts color values. * $style should be one of the map keys in $mdc-theme-property-values (_variables.scss). */ /** * Creates a rule to be used in MDC-Web components for dark theming, and applies the provided contents. * Should provide the $root-selector option if applied to anything other than the root selector. * When used with a modifier class, provide a second argument of `true` for the $compound parameter * to specify that this should be attached as a compound class. * * Usage example: * * ```scss * .mdc-foo { * color: black; * * @include mdc-theme-dark { * color: white; * } * * &__bar { * background: black; * * @include mdc-theme-dark(".mdc-foo") { * background: white; * } * } * } * * .mdc-foo--disabled { * opacity: .38; * * @include mdc-theme-dark(".mdc-foo", true) { * opacity: .5; * } * } * ``` */ /* TODO(sgomes): Figure out what to do about desktop font sizes. */ /* TODO(sgomes): Figure out what to do about i18n and i18n font sizes. */ .mdc-grid-list .mdc-grid-tile__primary { padding-bottom: calc(100% / 1); } .mdc-grid-list .mdc-grid-tile { margin: 2px 0; padding: 0 2px; } .mdc-grid-list .mdc-grid-tile__secondary { left: 2px; width: calc(100% - 4px); } .mdc-grid-list .mdc-grid-list__tiles { margin: 2px auto; } .mdc-grid-list__tiles { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; margin: 0; padding: 0; } .mdc-grid-list--tile-gutter-1 .mdc-grid-tile { margin: 0.5px 0; padding: 0 0.5px; } .mdc-grid-list--tile-gutter-1 .mdc-grid-tile__secondary { left: 0.5px; width: calc(100% - 1px); } .mdc-grid-list--tile-gutter-1 .mdc-grid-list__tiles { margin: 0.5px auto; } .mdc-grid-list--tile-aspect-16x9 .mdc-grid-tile__primary { padding-bottom: calc(100% / 1.77778); } .mdc-grid-list--tile-aspect-3x2 .mdc-grid-tile__primary { padding-bottom: calc(100% / 1.5); } .mdc-grid-list--tile-aspect-2x3 .mdc-grid-tile__primary { padding-bottom: calc(100% / 0.66667); } .mdc-grid-list--tile-aspect-4x3 .mdc-grid-tile__primary { padding-bottom: calc(100% / 1.33333); } .mdc-grid-list--tile-aspect-3x4 .mdc-grid-tile__primary { padding-bottom: calc(100% / 0.75); } .mdc-grid-list--twoline-caption .mdc-grid-tile__secondary { height: 68px; } .mdc-grid-list--header-caption .mdc-grid-tile__secondary { top: 0; bottom: auto; } .mdc-grid-list--with-icon-align-start .mdc-grid-tile__secondary { padding-left: 56px; padding-right: 8px; } [dir="rtl"] .mdc-grid-list .mdc-grid-list--with-icon-align-start .mdc-grid-tile__secondary, .mdc-grid-list[dir="rtl"] .mdc-grid-list--with-icon-align-start .mdc-grid-tile__secondary { padding-left: 8px; padding-right: 56px; } .mdc-grid-list--with-icon-align-start .mdc-grid-tile__icon { left: 16px; right: initial; font-size: 24px; } [dir="rtl"] .mdc-grid-list .mdc-grid-list--with-icon-align-start .mdc-grid-tile__icon, .mdc-grid-list[dir="rtl"] .mdc-grid-list--with-icon-align-start .mdc-grid-tile__icon { left: initial; right: 16px; } .mdc-grid-list--with-icon-align-end .mdc-grid-tile__secondary { padding-left: 16px; padding-right: 56px; } [dir="rtl"] .mdc-grid-list .mdc-grid-list--with-icon-align-end .mdc-grid-tile__secondary, .mdc-grid-list[dir="rtl"] .mdc-grid-list--with-icon-align-end .mdc-grid-tile__secondary { padding-left: 56px; padding-right: 16px; } .mdc-grid-list--with-icon-align-end .mdc-grid-tile__icon { left: initial; right: 16px; font-size: 24px; } [dir="rtl"] .mdc-grid-list .mdc-grid-list--with-icon-align-end .mdc-grid-tile__icon, .mdc-grid-list[dir="rtl"] .mdc-grid-list--with-icon-align-end .mdc-grid-tile__icon { left: 16px; right: initial; } .mdc-grid-tile { display: block; position: relative; width: var(--mdc-grid-list-tile-width, 200px); } .mdc-grid-tile__primary { position: relative; height: 0; /* @alternate */ background-color: #fff; background-color: var(--mdc-theme-background, #fff); /* @alternate */ color: rgba(0, 0, 0, 0.87); color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87)); } .mdc-grid-tile__primary-content { position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; background-repeat: no-repeat; background-position: center; background-size: cover; } .mdc-grid-tile__secondary { position: absolute; -webkit-box-sizing: border-box; box-sizing: border-box; bottom: 0; height: 48px; padding: 16px; /* @alternate */ background-color: #3f51b5; background-color: var(--mdc-theme-primary, #3f51b5); /* @alternate */ color: white; color: var(--mdc-theme-text-primary-on-primary, white); } .mdc-grid-tile__title { display: block; margin: 0; padding: 0; font-size: 1rem; font-weight: 500; line-height: 1rem; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; } .mdc-grid-tile__support-text { font-family: Roboto, sans-serif; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-size: 0.875rem; font-weight: 400; letter-spacing: 0.04em; line-height: 1.25rem; text-decoration: inherit; text-transform: inherit; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; display: block; margin: 0; margin-top: 4px; padding: 0; } .mdc-grid-tile__icon { position: absolute; top: calc(50% - 24px / 2); font-size: 0; } /** postcss-bem-linter: define icon-toggle */ /* Precomputed linear color channel values, for use in contrast calculations. See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests Algorithm, for c in 0 to 255: f(c) { c = c / 255; return c < 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4); } This lookup table is needed since there is no `pow` in SASS. */ /** * Calculate the luminance for a color. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Calculate the contrast ratio between two colors. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Determine whether to use dark or light text on top of given color. * Returns "dark" for dark text and "light" for light text. */ /* Main theme colors. If you're a user customizing your color scheme in SASS, these are probably the only variables you need to change. */ /* Indigo 500 */ /* Pink A200 */ /* White */ /* Which set of text colors to use for each main theme color (light or dark) */ /* Text colors according to light vs dark and text type */ /* Primary text colors for each of the theme colors */ /** MDC Ripple keyframes are split into their own file so that _mixins.scss can rely on them. */ @keyframes mdc-ripple-fg-radius-in { from { -webkit-transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1); transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1); -webkit-animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); } to { -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); } } @keyframes mdc-ripple-fg-opacity-in { from { opacity: 0; -webkit-animation-timing-function: linear; animation-timing-function: linear; } to { opacity: 1; } } @keyframes mdc-ripple-fg-opacity-out { from { opacity: 1; -webkit-animation-timing-function: linear; animation-timing-function: linear; } to { opacity: 0; } } /* Precomputed linear color channel values, for use in contrast calculations. See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests Algorithm, for c in 0 to 255: f(c) { c = c / 255; return c < 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4); } This lookup table is needed since there is no `pow` in SASS. */ /** * Calculate the luminance for a color. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Calculate the contrast ratio between two colors. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Determine whether to use dark or light text on top of given color. * Returns "dark" for dark text and "light" for light text. */ /* Main theme colors. If you're a user customizing your color scheme in SASS, these are probably the only variables you need to change. */ /* Indigo 500 */ /* Pink A200 */ /* White */ /* Which set of text colors to use for each main theme color (light or dark) */ /* Text colors according to light vs dark and text type */ /* Primary text colors for each of the theme colors */ /** * Applies the correct theme color style to the specified property. * $property is typically color or background-color, but can be any CSS property that accepts color values. * $style should be one of the map keys in $mdc-theme-property-values (_variables.scss). */ /** * Creates a rule to be used in MDC-Web components for dark theming, and applies the provided contents. * Should provide the $root-selector option if applied to anything other than the root selector. * When used with a modifier class, provide a second argument of `true` for the $compound parameter * to specify that this should be attached as a compound class. * * Usage example: * * ```scss * .mdc-foo { * color: black; * * @include mdc-theme-dark { * color: white; * } * * &__bar { * background: black; * * @include mdc-theme-dark(".mdc-foo") { * background: white; * } * } * } * * .mdc-foo--disabled { * opacity: .38; * * @include mdc-theme-dark(".mdc-foo", true) { * opacity: .5; * } * } * ``` */ .mdc-icon-toggle { /* @alternate */ color: rgba(0, 0, 0, 0.54); color: var(--mdc-theme-text-secondary-on-light, rgba(0, 0, 0, 0.54)); --mdc-ripple-surface-width: 0; --mdc-ripple-surface-height: 0; --mdc-ripple-fg-size: 0; --mdc-ripple-left: 0; --mdc-ripple-top: 0; --mdc-ripple-fg-scale: 1; --mdc-ripple-fg-translate-end: 0; --mdc-ripple-fg-translate-start: 0; will-change: transform, opacity; -webkit-tap-highlight-color: transparent; will-change: initial; display: -webkit-box; display: -ms-flexbox; display: flex; position: relative; -webkit-box-sizing: border-box; box-sizing: border-box; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; width: 48px; height: 48px; padding: 12px; outline: none; font-size: 1.5rem; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .mdc-icon-toggle:not(.mdc-ripple-upgraded):hover::before, .mdc-icon-toggle:not(.mdc-ripple-upgraded):focus::before, .mdc-icon-toggle:not(.mdc-ripple-upgraded):active::after { -webkit-transition-duration: 85ms; transition-duration: 85ms; opacity: .6; } .mdc-icon-toggle::before { background-color: rgba(0, 0, 0, 0.062); position: absolute; top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; -webkit-transition: opacity 250ms linear; transition: opacity 250ms linear; border-radius: 50%; opacity: 0; pointer-events: none; content: ""; } .mdc-icon-toggle.mdc-ripple-upgraded::before { top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; /* @alternate */ -webkit-transform: scale(0); transform: scale(0); -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0)); transform: scale(var(--mdc-ripple-fg-scale, 0)); } .mdc-icon-toggle.mdc-ripple-upgraded--background-focused::before { opacity: .99999; } .mdc-icon-toggle.mdc-ripple-upgraded--background-active-fill::before { -webkit-transition-duration: 120ms; transition-duration: 120ms; opacity: 1; } .mdc-icon-toggle.mdc-ripple-upgraded--unbounded::before { /* @alternate */ top: calc(50% - 50%); top: var(--mdc-ripple-top, calc(50% - 50%)); /* @alternate */ left: calc(50% - 50%); left: var(--mdc-ripple-left, calc(50% - 50%)); /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); /* @alternate */ -webkit-transform: scale(0); transform: scale(0); -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0)); transform: scale(var(--mdc-ripple-fg-scale, 0)); } .mdc-icon-toggle::after { background-color: rgba(0, 0, 0, 0.062); position: absolute; top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; -webkit-transition: opacity 250ms linear; transition: opacity 250ms linear; border-radius: 50%; opacity: 0; pointer-events: none; content: ""; } .mdc-icon-toggle.mdc-ripple-upgraded::after { top: 0; left: 0; /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; opacity: 0; } .mdc-icon-toggle:not(.mdc-ripple-upgraded--unbounded)::after { -webkit-transform-origin: center center; transform-origin: center center; } .mdc-icon-toggle.mdc-ripple-upgraded--unbounded::after { /* @alternate */ top: 0; top: var(--mdc-ripple-top, 0); /* @alternate */ left: 0; left: var(--mdc-ripple-left, 0); /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; } .mdc-icon-toggle.mdc-ripple-upgraded--foreground-activation::after { -webkit-animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; } .mdc-icon-toggle.mdc-ripple-upgraded--foreground-deactivation::after { -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); -webkit-animation: 83ms mdc-ripple-fg-opacity-out; animation: 83ms mdc-ripple-fg-opacity-out; } .mdc-icon-toggle--theme-dark.mdc-icon-toggle::before, .mdc-theme--dark .mdc-icon-toggle::before { background-color: rgba(255, 255, 255, 0.16); position: absolute; top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; -webkit-transition: opacity 250ms linear; transition: opacity 250ms linear; border-radius: 50%; opacity: 0; pointer-events: none; content: ""; } .mdc-icon-toggle--theme-dark.mdc-icon-toggle.mdc-ripple-upgraded::before, .mdc-theme--dark .mdc-icon-toggle.mdc-ripple-upgraded::before { top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; /* @alternate */ -webkit-transform: scale(0); transform: scale(0); -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0)); transform: scale(var(--mdc-ripple-fg-scale, 0)); } .mdc-icon-toggle--theme-dark.mdc-icon-toggle.mdc-ripple-upgraded--background-focused::before, .mdc-theme--dark .mdc-icon-toggle.mdc-ripple-upgraded--background-focused::before { opacity: .99999; } .mdc-icon-toggle--theme-dark.mdc-icon-toggle.mdc-ripple-upgraded--background-active-fill::before, .mdc-theme--dark .mdc-icon-toggle.mdc-ripple-upgraded--background-active-fill::before { -webkit-transition-duration: 120ms; transition-duration: 120ms; opacity: 1; } .mdc-icon-toggle--theme-dark.mdc-icon-toggle.mdc-ripple-upgraded--unbounded::before, .mdc-theme--dark .mdc-icon-toggle.mdc-ripple-upgraded--unbounded::before { /* @alternate */ top: calc(50% - 50%); top: var(--mdc-ripple-top, calc(50% - 50%)); /* @alternate */ left: calc(50% - 50%); left: var(--mdc-ripple-left, calc(50% - 50%)); /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); /* @alternate */ -webkit-transform: scale(0); transform: scale(0); -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0)); transform: scale(var(--mdc-ripple-fg-scale, 0)); } .mdc-icon-toggle--theme-dark.mdc-icon-toggle::after, .mdc-theme--dark .mdc-icon-toggle::after { background-color: rgba(255, 255, 255, 0.16); position: absolute; top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; -webkit-transition: opacity 250ms linear; transition: opacity 250ms linear; border-radius: 50%; opacity: 0; pointer-events: none; content: ""; } .mdc-icon-toggle--theme-dark.mdc-icon-toggle.mdc-ripple-upgraded::after, .mdc-theme--dark .mdc-icon-toggle.mdc-ripple-upgraded::after { top: 0; left: 0; /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; opacity: 0; } .mdc-icon-toggle--theme-dark.mdc-icon-toggle:not(.mdc-ripple-upgraded--unbounded)::after, .mdc-theme--dark .mdc-icon-toggle:not(.mdc-ripple-upgraded--unbounded)::after { -webkit-transform-origin: center center; transform-origin: center center; } .mdc-icon-toggle--theme-dark.mdc-icon-toggle.mdc-ripple-upgraded--unbounded::after, .mdc-theme--dark .mdc-icon-toggle.mdc-ripple-upgraded--unbounded::after { /* @alternate */ top: 0; top: var(--mdc-ripple-top, 0); /* @alternate */ left: 0; left: var(--mdc-ripple-left, 0); /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; } .mdc-icon-toggle--theme-dark.mdc-icon-toggle.mdc-ripple-upgraded--foreground-activation::after, .mdc-theme--dark .mdc-icon-toggle.mdc-ripple-upgraded--foreground-activation::after { -webkit-animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; } .mdc-icon-toggle--theme-dark.mdc-icon-toggle.mdc-ripple-upgraded--foreground-deactivation::after, .mdc-theme--dark .mdc-icon-toggle.mdc-ripple-upgraded--foreground-deactivation::after { -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); -webkit-animation: 83ms mdc-ripple-fg-opacity-out; animation: 83ms mdc-ripple-fg-opacity-out; } .mdc-icon-toggle::after { position: absolute; border-radius: 50%; content: ""; opacity: 0; pointer-events: none; } .mdc-icon-toggle--theme-dark, .mdc-theme--dark .mdc-icon-toggle { /* @alternate */ color: white; color: var(--mdc-theme-text-primary-on-dark, white); } .mdc-icon-toggle--primary { /* @alternate */ color: #3f51b5; color: var(--mdc-theme-primary, #3f51b5); } .mdc-icon-toggle--primary::before { /* @alternate */ background-color: rgba(63, 81, 181, 0.14); position: absolute; top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; -webkit-transition: opacity 250ms linear; transition: opacity 250ms linear; border-radius: 50%; opacity: 0; pointer-events: none; content: ""; } @supports (background-color: color(green a(10%))) { .mdc-icon-toggle--primary::before { background-color: color(var(--mdc-theme-primary, #3f51b5) a(14%)); } } .mdc-icon-toggle--primary.mdc-ripple-upgraded::before { top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; /* @alternate */ -webkit-transform: scale(0); transform: scale(0); -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0)); transform: scale(var(--mdc-ripple-fg-scale, 0)); } .mdc-icon-toggle--primary.mdc-ripple-upgraded--background-focused::before { opacity: .99999; } .mdc-icon-toggle--primary.mdc-ripple-upgraded--background-active-fill::before { -webkit-transition-duration: 120ms; transition-duration: 120ms; opacity: 1; } .mdc-icon-toggle--primary.mdc-ripple-upgraded--unbounded::before { /* @alternate */ top: calc(50% - 50%); top: var(--mdc-ripple-top, calc(50% - 50%)); /* @alternate */ left: calc(50% - 50%); left: var(--mdc-ripple-left, calc(50% - 50%)); /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); /* @alternate */ -webkit-transform: scale(0); transform: scale(0); -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0)); transform: scale(var(--mdc-ripple-fg-scale, 0)); } .mdc-icon-toggle--primary::after { /* @alternate */ background-color: rgba(63, 81, 181, 0.14); position: absolute; top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; -webkit-transition: opacity 250ms linear; transition: opacity 250ms linear; border-radius: 50%; opacity: 0; pointer-events: none; content: ""; } @supports (background-color: color(green a(10%))) { .mdc-icon-toggle--primary::after { background-color: color(var(--mdc-theme-primary, #3f51b5) a(14%)); } } .mdc-icon-toggle--primary.mdc-ripple-upgraded::after { top: 0; left: 0; /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; opacity: 0; } .mdc-icon-toggle--primary:not(.mdc-ripple-upgraded--unbounded)::after { -webkit-transform-origin: center center; transform-origin: center center; } .mdc-icon-toggle--primary.mdc-ripple-upgraded--unbounded::after { /* @alternate */ top: 0; top: var(--mdc-ripple-top, 0); /* @alternate */ left: 0; left: var(--mdc-ripple-left, 0); /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; } .mdc-icon-toggle--primary.mdc-ripple-upgraded--foreground-activation::after { -webkit-animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; } .mdc-icon-toggle--primary.mdc-ripple-upgraded--foreground-deactivation::after { -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); -webkit-animation: 83ms mdc-ripple-fg-opacity-out; animation: 83ms mdc-ripple-fg-opacity-out; } .mdc-icon-toggle--accent { /* @alternate */ color: #ff4081; color: var(--mdc-theme-accent, #ff4081); } .mdc-icon-toggle--accent::before { /* @alternate */ background-color: rgba(255, 64, 129, 0.14); position: absolute; top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; -webkit-transition: opacity 250ms linear; transition: opacity 250ms linear; border-radius: 50%; opacity: 0; pointer-events: none; content: ""; } @supports (background-color: color(green a(10%))) { .mdc-icon-toggle--accent::before { background-color: color(var(--mdc-theme-accent, #ff4081) a(14%)); } } .mdc-icon-toggle--accent.mdc-ripple-upgraded::before { top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; /* @alternate */ -webkit-transform: scale(0); transform: scale(0); -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0)); transform: scale(var(--mdc-ripple-fg-scale, 0)); } .mdc-icon-toggle--accent.mdc-ripple-upgraded--background-focused::before { opacity: .99999; } .mdc-icon-toggle--accent.mdc-ripple-upgraded--background-active-fill::before { -webkit-transition-duration: 120ms; transition-duration: 120ms; opacity: 1; } .mdc-icon-toggle--accent.mdc-ripple-upgraded--unbounded::before { /* @alternate */ top: calc(50% - 50%); top: var(--mdc-ripple-top, calc(50% - 50%)); /* @alternate */ left: calc(50% - 50%); left: var(--mdc-ripple-left, calc(50% - 50%)); /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); /* @alternate */ -webkit-transform: scale(0); transform: scale(0); -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0)); transform: scale(var(--mdc-ripple-fg-scale, 0)); } .mdc-icon-toggle--accent::after { /* @alternate */ background-color: rgba(255, 64, 129, 0.14); position: absolute; top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; -webkit-transition: opacity 250ms linear; transition: opacity 250ms linear; border-radius: 50%; opacity: 0; pointer-events: none; content: ""; } @supports (background-color: color(green a(10%))) { .mdc-icon-toggle--accent::after { background-color: color(var(--mdc-theme-accent, #ff4081) a(14%)); } } .mdc-icon-toggle--accent.mdc-ripple-upgraded::after { top: 0; left: 0; /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; opacity: 0; } .mdc-icon-toggle--accent:not(.mdc-ripple-upgraded--unbounded)::after { -webkit-transform-origin: center center; transform-origin: center center; } .mdc-icon-toggle--accent.mdc-ripple-upgraded--unbounded::after { /* @alternate */ top: 0; top: var(--mdc-ripple-top, 0); /* @alternate */ left: 0; left: var(--mdc-ripple-left, 0); /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; } .mdc-icon-toggle--accent.mdc-ripple-upgraded--foreground-activation::after { -webkit-animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; } .mdc-icon-toggle--accent.mdc-ripple-upgraded--foreground-deactivation::after { -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); -webkit-animation: 83ms mdc-ripple-fg-opacity-out; animation: 83ms mdc-ripple-fg-opacity-out; } .mdc-icon-toggle--disabled { /* @alternate */ color: rgba(0, 0, 0, 0.38); color: var(--mdc-theme-text-disabled-on-light, rgba(0, 0, 0, 0.38)); pointer-events: none; } .mdc-icon-toggle--theme-dark.mdc-icon-toggle--disabled, .mdc-theme--dark .mdc-icon-toggle--disabled { /* @alternate */ color: rgba(255, 255, 255, 0.5); color: var(--mdc-theme-text-disabled-on-dark, rgba(255, 255, 255, 0.5)); } /** postcss-bem-linter: end */ :root { --mdc-layout-grid-margin-desktop: 24px; --mdc-layout-grid-gutter-desktop: 24px; --mdc-layout-grid-column-width-desktop: 72px; --mdc-layout-grid-margin-tablet: 16px; --mdc-layout-grid-gutter-tablet: 16px; --mdc-layout-grid-column-width-tablet: 72px; --mdc-layout-grid-margin-phone: 16px; --mdc-layout-grid-gutter-phone: 16px; --mdc-layout-grid-column-width-phone: 72px; } @media (min-width: 840px) { .mdc-layout-grid { -webkit-box-sizing: border-box; box-sizing: border-box; margin: 0 auto; padding: 24px; padding: var(--mdc-layout-grid-margin-desktop, 24px); } } @media (min-width: 480px) and (max-width: 839px) { .mdc-layout-grid { -webkit-box-sizing: border-box; box-sizing: border-box; margin: 0 auto; padding: 16px; padding: var(--mdc-layout-grid-margin-tablet, 16px); } } @media (max-width: 479px) { .mdc-layout-grid { -webkit-box-sizing: border-box; box-sizing: border-box; margin: 0 auto; padding: 16px; padding: var(--mdc-layout-grid-margin-phone, 16px); } } @media (min-width: 840px) { .mdc-layout-grid__inner { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; margin: -12px; margin: calc(var(--mdc-layout-grid-gutter-desktop, 24px) / 2 * -1); } @supports (display: grid) { .mdc-layout-grid__inner { display: grid; grid-gap: 24px; grid-gap: var(--mdc-layout-grid-gutter-desktop, 24px); margin: 0; grid-template-columns: repeat(12, minmax(0, 1fr)); } } } @media (min-width: 480px) and (max-width: 839px) { .mdc-layout-grid__inner { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; margin: -8px; margin: calc(var(--mdc-layout-grid-gutter-tablet, 16px) / 2 * -1); } @supports (display: grid) { .mdc-layout-grid__inner { display: grid; grid-gap: 16px; grid-gap: var(--mdc-layout-grid-gutter-tablet, 16px); margin: 0; grid-template-columns: repeat(8, minmax(0, 1fr)); } } } @media (max-width: 479px) { .mdc-layout-grid__inner { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; margin: -8px; margin: calc(var(--mdc-layout-grid-gutter-phone, 16px) / 2 * -1); } @supports (display: grid) { .mdc-layout-grid__inner { display: grid; grid-gap: 16px; grid-gap: var(--mdc-layout-grid-gutter-phone, 16px); margin: 0; grid-template-columns: repeat(4, minmax(0, 1fr)); } } } @media (min-width: 840px) { .mdc-layout-grid__cell { -webkit-box-sizing: border-box; box-sizing: border-box; margin: 12px; margin: calc(var(--mdc-layout-grid-gutter-desktop, 24px) / 2); width: calc(33.33333% - 24px); width: calc(33.33333% - var(--mdc-layout-grid-gutter-desktop, 24px)); } @supports (display: grid) { .mdc-layout-grid__cell { margin: 0; } } @supports (display: grid) { .mdc-layout-grid__cell { width: auto; grid-column-end: span 4; } } .mdc-layout-grid__cell--span-1, .mdc-layout-grid__cell--span-1-desktop { width: calc(8.33333% - 24px); width: calc(8.33333% - var(--mdc-layout-grid-gutter-desktop, 24px)); } @supports (display: grid) { .mdc-layout-grid__cell--span-1, .mdc-layout-grid__cell--span-1-desktop { width: auto; grid-column-end: span 1; } } .mdc-layout-grid__cell--span-2, .mdc-layout-grid__cell--span-2-desktop { width: calc(16.66667% - 24px); width: calc(16.66667% - var(--mdc-layout-grid-gutter-desktop, 24px)); } @supports (display: grid) { .mdc-layout-grid__cell--span-2, .mdc-layout-grid__cell--span-2-desktop { width: auto; grid-column-end: span 2; } } .mdc-layout-grid__cell--span-3, .mdc-layout-grid__cell--span-3-desktop { width: calc(25% - 24px); width: calc(25% - var(--mdc-layout-grid-gutter-desktop, 24px)); } @supports (display: grid) { .mdc-layout-grid__cell--span-3, .mdc-layout-grid__cell--span-3-desktop { width: auto; grid-column-end: span 3; } } .mdc-layout-grid__cell--span-4, .mdc-layout-grid__cell--span-4-desktop { width: calc(33.33333% - 24px); width: calc(33.33333% - var(--mdc-layout-grid-gutter-desktop, 24px)); } @supports (display: grid) { .mdc-layout-grid__cell--span-4, .mdc-layout-grid__cell--span-4-desktop { width: auto; grid-column-end: span 4; } } .mdc-layout-grid__cell--span-5, .mdc-layout-grid__cell--span-5-desktop { width: calc(41.66667% - 24px); width: calc(41.66667% - var(--mdc-layout-grid-gutter-desktop, 24px)); } @supports (display: grid) { .mdc-layout-grid__cell--span-5, .mdc-layout-grid__cell--span-5-desktop { width: auto; grid-column-end: span 5; } } .mdc-layout-grid__cell--span-6, .mdc-layout-grid__cell--span-6-desktop { width: calc(50% - 24px); width: calc(50% - var(--mdc-layout-grid-gutter-desktop, 24px)); } @supports (display: grid) { .mdc-layout-grid__cell--span-6, .mdc-layout-grid__cell--span-6-desktop { width: auto; grid-column-end: span 6; } } .mdc-layout-grid__cell--span-7, .mdc-layout-grid__cell--span-7-desktop { width: calc(58.33333% - 24px); width: calc(58.33333% - var(--mdc-layout-grid-gutter-desktop, 24px)); } @supports (display: grid) { .mdc-layout-grid__cell--span-7, .mdc-layout-grid__cell--span-7-desktop { width: auto; grid-column-end: span 7; } } .mdc-layout-grid__cell--span-8, .mdc-layout-grid__cell--span-8-desktop { width: calc(66.66667% - 24px); width: calc(66.66667% - var(--mdc-layout-grid-gutter-desktop, 24px)); } @supports (display: grid) { .mdc-layout-grid__cell--span-8, .mdc-layout-grid__cell--span-8-desktop { width: auto; grid-column-end: span 8; } } .mdc-layout-grid__cell--span-9, .mdc-layout-grid__cell--span-9-desktop { width: calc(75% - 24px); width: calc(75% - var(--mdc-layout-grid-gutter-desktop, 24px)); } @supports (display: grid) { .mdc-layout-grid__cell--span-9, .mdc-layout-grid__cell--span-9-desktop { width: auto; grid-column-end: span 9; } } .mdc-layout-grid__cell--span-10, .mdc-layout-grid__cell--span-10-desktop { width: calc(83.33333% - 24px); width: calc(83.33333% - var(--mdc-layout-grid-gutter-desktop, 24px)); } @supports (display: grid) { .mdc-layout-grid__cell--span-10, .mdc-layout-grid__cell--span-10-desktop { width: auto; grid-column-end: span 10; } } .mdc-layout-grid__cell--span-11, .mdc-layout-grid__cell--span-11-desktop { width: calc(91.66667% - 24px); width: calc(91.66667% - var(--mdc-layout-grid-gutter-desktop, 24px)); } @supports (display: grid) { .mdc-layout-grid__cell--span-11, .mdc-layout-grid__cell--span-11-desktop { width: auto; grid-column-end: span 11; } } .mdc-layout-grid__cell--span-12, .mdc-layout-grid__cell--span-12-desktop { width: calc(100% - 24px); width: calc(100% - var(--mdc-layout-grid-gutter-desktop, 24px)); } @supports (display: grid) { .mdc-layout-grid__cell--span-12, .mdc-layout-grid__cell--span-12-desktop { width: auto; grid-column-end: span 12; } } } @media (min-width: 480px) and (max-width: 839px) { .mdc-layout-grid__cell { -webkit-box-sizing: border-box; box-sizing: border-box; margin: 8px; margin: calc(var(--mdc-layout-grid-gutter-tablet, 16px) / 2); width: calc(50% - 16px); width: calc(50% - var(--mdc-layout-grid-gutter-tablet, 16px)); } @supports (display: grid) { .mdc-layout-grid__cell { margin: 0; } } @supports (display: grid) { .mdc-layout-grid__cell { width: auto; grid-column-end: span 4; } } .mdc-layout-grid__cell--span-1, .mdc-layout-grid__cell--span-1-tablet { width: calc(12.5% - 16px); width: calc(12.5% - var(--mdc-layout-grid-gutter-tablet, 16px)); } @supports (display: grid) { .mdc-layout-grid__cell--span-1, .mdc-layout-grid__cell--span-1-tablet { width: auto; grid-column-end: span 1; } } .mdc-layout-grid__cell--span-2, .mdc-layout-grid__cell--span-2-tablet { width: calc(25% - 16px); width: calc(25% - var(--mdc-layout-grid-gutter-tablet, 16px)); } @supports (display: grid) { .mdc-layout-grid__cell--span-2, .mdc-layout-grid__cell--span-2-tablet { width: auto; grid-column-end: span 2; } } .mdc-layout-grid__cell--span-3, .mdc-layout-grid__cell--span-3-tablet { width: calc(37.5% - 16px); width: calc(37.5% - var(--mdc-layout-grid-gutter-tablet, 16px)); } @supports (display: grid) { .mdc-layout-grid__cell--span-3, .mdc-layout-grid__cell--span-3-tablet { width: auto; grid-column-end: span 3; } } .mdc-layout-grid__cell--span-4, .mdc-layout-grid__cell--span-4-tablet { width: calc(50% - 16px); width: calc(50% - var(--mdc-layout-grid-gutter-tablet, 16px)); } @supports (display: grid) { .mdc-layout-grid__cell--span-4, .mdc-layout-grid__cell--span-4-tablet { width: auto; grid-column-end: span 4; } } .mdc-layout-grid__cell--span-5, .mdc-layout-grid__cell--span-5-tablet { width: calc(62.5% - 16px); width: calc(62.5% - var(--mdc-layout-grid-gutter-tablet, 16px)); } @supports (display: grid) { .mdc-layout-grid__cell--span-5, .mdc-layout-grid__cell--span-5-tablet { width: auto; grid-column-end: span 5; } } .mdc-layout-grid__cell--span-6, .mdc-layout-grid__cell--span-6-tablet { width: calc(75% - 16px); width: calc(75% - var(--mdc-layout-grid-gutter-tablet, 16px)); } @supports (display: grid) { .mdc-layout-grid__cell--span-6, .mdc-layout-grid__cell--span-6-tablet { width: auto; grid-column-end: span 6; } } .mdc-layout-grid__cell--span-7, .mdc-layout-grid__cell--span-7-tablet { width: calc(87.5% - 16px); width: calc(87.5% - var(--mdc-layout-grid-gutter-tablet, 16px)); } @supports (display: grid) { .mdc-layout-grid__cell--span-7, .mdc-layout-grid__cell--span-7-tablet { width: auto; grid-column-end: span 7; } } .mdc-layout-grid__cell--span-8, .mdc-layout-grid__cell--span-8-tablet { width: calc(100% - 16px); width: calc(100% - var(--mdc-layout-grid-gutter-tablet, 16px)); } @supports (display: grid) { .mdc-layout-grid__cell--span-8, .mdc-layout-grid__cell--span-8-tablet { width: auto; grid-column-end: span 8; } } .mdc-layout-grid__cell--span-9, .mdc-layout-grid__cell--span-9-tablet { width: calc(100% - 16px); width: calc(100% - var(--mdc-layout-grid-gutter-tablet, 16px)); } @supports (display: grid) { .mdc-layout-grid__cell--span-9, .mdc-layout-grid__cell--span-9-tablet { width: auto; grid-column-end: span 8; } } .mdc-layout-grid__cell--span-10, .mdc-layout-grid__cell--span-10-tablet { width: calc(100% - 16px); width: calc(100% - var(--mdc-layout-grid-gutter-tablet, 16px)); } @supports (display: grid) { .mdc-layout-grid__cell--span-10, .mdc-layout-grid__cell--span-10-tablet { width: auto; grid-column-end: span 8; } } .mdc-layout-grid__cell--span-11, .mdc-layout-grid__cell--span-11-tablet { width: calc(100% - 16px); width: calc(100% - var(--mdc-layout-grid-gutter-tablet, 16px)); } @supports (display: grid) { .mdc-layout-grid__cell--span-11, .mdc-layout-grid__cell--span-11-tablet { width: auto; grid-column-end: span 8; } } .mdc-layout-grid__cell--span-12, .mdc-layout-grid__cell--span-12-tablet { width: calc(100% - 16px); width: calc(100% - var(--mdc-layout-grid-gutter-tablet, 16px)); } @supports (display: grid) { .mdc-layout-grid__cell--span-12, .mdc-layout-grid__cell--span-12-tablet { width: auto; grid-column-end: span 8; } } } @media (max-width: 479px) { .mdc-layout-grid__cell { -webkit-box-sizing: border-box; box-sizing: border-box; margin: 8px; margin: calc(var(--mdc-layout-grid-gutter-phone, 16px) / 2); width: calc(100% - 16px); width: calc(100% - var(--mdc-layout-grid-gutter-phone, 16px)); } @supports (display: grid) { .mdc-layout-grid__cell { margin: 0; } } @supports (display: grid) { .mdc-layout-grid__cell { width: auto; grid-column-end: span 4; } } .mdc-layout-grid__cell--span-1, .mdc-layout-grid__cell--span-1-phone { width: calc(25% - 16px); width: calc(25% - var(--mdc-layout-grid-gutter-phone, 16px)); } @supports (display: grid) { .mdc-layout-grid__cell--span-1, .mdc-layout-grid__cell--span-1-phone { width: auto; grid-column-end: span 1; } } .mdc-layout-grid__cell--span-2, .mdc-layout-grid__cell--span-2-phone { width: calc(50% - 16px); width: calc(50% - var(--mdc-layout-grid-gutter-phone, 16px)); } @supports (display: grid) { .mdc-layout-grid__cell--span-2, .mdc-layout-grid__cell--span-2-phone { width: auto; grid-column-end: span 2; } } .mdc-layout-grid__cell--span-3, .mdc-layout-grid__cell--span-3-phone { width: calc(75% - 16px); width: calc(75% - var(--mdc-layout-grid-gutter-phone, 16px)); } @supports (display: grid) { .mdc-layout-grid__cell--span-3, .mdc-layout-grid__cell--span-3-phone { width: auto; grid-column-end: span 3; } } .mdc-layout-grid__cell--span-4, .mdc-layout-grid__cell--span-4-phone { width: calc(100% - 16px); width: calc(100% - var(--mdc-layout-grid-gutter-phone, 16px)); } @supports (display: grid) { .mdc-layout-grid__cell--span-4, .mdc-layout-grid__cell--span-4-phone { width: auto; grid-column-end: span 4; } } .mdc-layout-grid__cell--span-5, .mdc-layout-grid__cell--span-5-phone { width: calc(100% - 16px); width: calc(100% - var(--mdc-layout-grid-gutter-phone, 16px)); } @supports (display: grid) { .mdc-layout-grid__cell--span-5, .mdc-layout-grid__cell--span-5-phone { width: auto; grid-column-end: span 4; } } .mdc-layout-grid__cell--span-6, .mdc-layout-grid__cell--span-6-phone { width: calc(100% - 16px); width: calc(100% - var(--mdc-layout-grid-gutter-phone, 16px)); } @supports (display: grid) { .mdc-layout-grid__cell--span-6, .mdc-layout-grid__cell--span-6-phone { width: auto; grid-column-end: span 4; } } .mdc-layout-grid__cell--span-7, .mdc-layout-grid__cell--span-7-phone { width: calc(100% - 16px); width: calc(100% - var(--mdc-layout-grid-gutter-phone, 16px)); } @supports (display: grid) { .mdc-layout-grid__cell--span-7, .mdc-layout-grid__cell--span-7-phone { width: auto; grid-column-end: span 4; } } .mdc-layout-grid__cell--span-8, .mdc-layout-grid__cell--span-8-phone { width: calc(100% - 16px); width: calc(100% - var(--mdc-layout-grid-gutter-phone, 16px)); } @supports (display: grid) { .mdc-layout-grid__cell--span-8, .mdc-layout-grid__cell--span-8-phone { width: auto; grid-column-end: span 4; } } .mdc-layout-grid__cell--span-9, .mdc-layout-grid__cell--span-9-phone { width: calc(100% - 16px); width: calc(100% - var(--mdc-layout-grid-gutter-phone, 16px)); } @supports (display: grid) { .mdc-layout-grid__cell--span-9, .mdc-layout-grid__cell--span-9-phone { width: auto; grid-column-end: span 4; } } .mdc-layout-grid__cell--span-10, .mdc-layout-grid__cell--span-10-phone { width: calc(100% - 16px); width: calc(100% - var(--mdc-layout-grid-gutter-phone, 16px)); } @supports (display: grid) { .mdc-layout-grid__cell--span-10, .mdc-layout-grid__cell--span-10-phone { width: auto; grid-column-end: span 4; } } .mdc-layout-grid__cell--span-11, .mdc-layout-grid__cell--span-11-phone { width: calc(100% - 16px); width: calc(100% - var(--mdc-layout-grid-gutter-phone, 16px)); } @supports (display: grid) { .mdc-layout-grid__cell--span-11, .mdc-layout-grid__cell--span-11-phone { width: auto; grid-column-end: span 4; } } .mdc-layout-grid__cell--span-12, .mdc-layout-grid__cell--span-12-phone { width: calc(100% - 16px); width: calc(100% - var(--mdc-layout-grid-gutter-phone, 16px)); } @supports (display: grid) { .mdc-layout-grid__cell--span-12, .mdc-layout-grid__cell--span-12-phone { width: auto; grid-column-end: span 4; } } } .mdc-layout-grid__cell--order-1 { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } .mdc-layout-grid__cell--order-2 { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } .mdc-layout-grid__cell--order-3 { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; } .mdc-layout-grid__cell--order-4 { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; } .mdc-layout-grid__cell--order-5 { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; } .mdc-layout-grid__cell--order-6 { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; } .mdc-layout-grid__cell--order-7 { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; } .mdc-layout-grid__cell--order-8 { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; } .mdc-layout-grid__cell--order-9 { -webkit-box-ordinal-group: 10; -ms-flex-order: 9; order: 9; } .mdc-layout-grid__cell--order-10 { -webkit-box-ordinal-group: 11; -ms-flex-order: 10; order: 10; } .mdc-layout-grid__cell--order-11 { -webkit-box-ordinal-group: 12; -ms-flex-order: 11; order: 11; } .mdc-layout-grid__cell--order-12 { -webkit-box-ordinal-group: 13; -ms-flex-order: 12; order: 12; } .mdc-layout-grid__cell--align-top { -ms-flex-item-align: start; align-self: flex-start; } @supports (display: grid) { .mdc-layout-grid__cell--align-top { -ms-flex-item-align: start; align-self: start; } } .mdc-layout-grid__cell--align-middle { -ms-flex-item-align: center; align-self: center; } .mdc-layout-grid__cell--align-bottom { -ms-flex-item-align: end; align-self: flex-end; } @supports (display: grid) { .mdc-layout-grid__cell--align-bottom { -ms-flex-item-align: end; align-self: end; } } @media (min-width: 840px) { .mdc-layout-grid--fixed-column-width { width: 1176px; width: calc( var(--mdc-layout-grid-column-width-desktop, 72px) * 12 + var(--mdc-layout-grid-gutter-desktop, 24px) * 11 + var(--mdc-layout-grid-margin-desktop, 24px) * 2); } } @media (min-width: 480px) and (max-width: 839px) { .mdc-layout-grid--fixed-column-width { width: 720px; width: calc( var(--mdc-layout-grid-column-width-tablet, 72px) * 8 + var(--mdc-layout-grid-gutter-tablet, 16px) * 7 + var(--mdc-layout-grid-margin-tablet, 16px) * 2); } } @media (max-width: 479px) { .mdc-layout-grid--fixed-column-width { width: 368px; width: calc( var(--mdc-layout-grid-column-width-phone, 72px) * 4 + var(--mdc-layout-grid-gutter-phone, 16px) * 3 + var(--mdc-layout-grid-margin-phone, 16px) * 2); } } .mdc-layout-grid--align-left { margin-right: auto; margin-left: 0; } .mdc-layout-grid--align-right { margin-right: 0; margin-left: auto; } /* Precomputed linear color channel values, for use in contrast calculations. See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests Algorithm, for c in 0 to 255: f(c) { c = c / 255; return c < 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4); } This lookup table is needed since there is no `pow` in SASS. */ /** * Calculate the luminance for a color. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Calculate the contrast ratio between two colors. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Determine whether to use dark or light text on top of given color. * Returns "dark" for dark text and "light" for light text. */ /* Main theme colors. If you're a user customizing your color scheme in SASS, these are probably the only variables you need to change. */ /* Indigo 500 */ /* Pink A200 */ /* White */ /* Which set of text colors to use for each main theme color (light or dark) */ /* Text colors according to light vs dark and text type */ /* Primary text colors for each of the theme colors */ /** * Applies the correct theme color style to the specified property. * $property is typically color or background-color, but can be any CSS property that accepts color values. * $style should be one of the map keys in $mdc-theme-property-values (_variables.scss). */ /** * Creates a rule to be used in MDC-Web components for dark theming, and applies the provided contents. * Should provide the $root-selector option if applied to anything other than the root selector. * When used with a modifier class, provide a second argument of `true` for the $compound parameter * to specify that this should be attached as a compound class. * * Usage example: * * ```scss * .mdc-foo { * color: black; * * @include mdc-theme-dark { * color: white; * } * * &__bar { * background: black; * * @include mdc-theme-dark(".mdc-foo") { * background: white; * } * } * } * * .mdc-foo--disabled { * opacity: .38; * * @include mdc-theme-dark(".mdc-foo", true) { * opacity: .5; * } * } * ``` */ @-webkit-keyframes primary-indeterminate-translate { 0% { -webkit-transform: translateX(0); transform: translateX(0); } 20% { -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582); animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582); -webkit-transform: translateX(0); transform: translateX(0); } 59.15% { -webkit-animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635); animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635); -webkit-transform: translateX(83.67142%); transform: translateX(83.67142%); } 100% { -webkit-transform: translateX(200.61106%); transform: translateX(200.61106%); } } @keyframes primary-indeterminate-translate { 0% { -webkit-transform: translateX(0); transform: translateX(0); } 20% { -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582); animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582); -webkit-transform: translateX(0); transform: translateX(0); } 59.15% { -webkit-animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635); animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635); -webkit-transform: translateX(83.67142%); transform: translateX(83.67142%); } 100% { -webkit-transform: translateX(200.61106%); transform: translateX(200.61106%); } } @-webkit-keyframes primary-indeterminate-scale { 0% { -webkit-transform: scaleX(0.08); transform: scaleX(0.08); } 36.65% { -webkit-animation-timing-function: cubic-bezier(0.33473, 0.12482, 0.78584, 1); animation-timing-function: cubic-bezier(0.33473, 0.12482, 0.78584, 1); -webkit-transform: scaleX(0.08); transform: scaleX(0.08); } 69.15% { -webkit-animation-timing-function: cubic-bezier(0.06, 0.11, 0.6, 1); animation-timing-function: cubic-bezier(0.06, 0.11, 0.6, 1); -webkit-transform: scaleX(0.66148); transform: scaleX(0.66148); } 100% { -webkit-transform: scaleX(0.08); transform: scaleX(0.08); } } @keyframes primary-indeterminate-scale { 0% { -webkit-transform: scaleX(0.08); transform: scaleX(0.08); } 36.65% { -webkit-animation-timing-function: cubic-bezier(0.33473, 0.12482, 0.78584, 1); animation-timing-function: cubic-bezier(0.33473, 0.12482, 0.78584, 1); -webkit-transform: scaleX(0.08); transform: scaleX(0.08); } 69.15% { -webkit-animation-timing-function: cubic-bezier(0.06, 0.11, 0.6, 1); animation-timing-function: cubic-bezier(0.06, 0.11, 0.6, 1); -webkit-transform: scaleX(0.66148); transform: scaleX(0.66148); } 100% { -webkit-transform: scaleX(0.08); transform: scaleX(0.08); } } @-webkit-keyframes secondary-indeterminate-translate { 0% { -webkit-animation-timing-function: cubic-bezier(0.15, 0, 0.51506, 0.40969); animation-timing-function: cubic-bezier(0.15, 0, 0.51506, 0.40969); -webkit-transform: translateX(0); transform: translateX(0); } 25% { -webkit-animation-timing-function: cubic-bezier(0.31033, 0.28406, 0.8, 0.73371); animation-timing-function: cubic-bezier(0.31033, 0.28406, 0.8, 0.73371); -webkit-transform: translateX(37.65191%); transform: translateX(37.65191%); } 48.35% { -webkit-animation-timing-function: cubic-bezier(0.4, 0.62704, 0.6, 0.90203); animation-timing-function: cubic-bezier(0.4, 0.62704, 0.6, 0.90203); -webkit-transform: translateX(84.38617%); transform: translateX(84.38617%); } 100% { -webkit-transform: translateX(160.27778%); transform: translateX(160.27778%); } } @keyframes secondary-indeterminate-translate { 0% { -webkit-animation-timing-function: cubic-bezier(0.15, 0, 0.51506, 0.40969); animation-timing-function: cubic-bezier(0.15, 0, 0.51506, 0.40969); -webkit-transform: translateX(0); transform: translateX(0); } 25% { -webkit-animation-timing-function: cubic-bezier(0.31033, 0.28406, 0.8, 0.73371); animation-timing-function: cubic-bezier(0.31033, 0.28406, 0.8, 0.73371); -webkit-transform: translateX(37.65191%); transform: translateX(37.65191%); } 48.35% { -webkit-animation-timing-function: cubic-bezier(0.4, 0.62704, 0.6, 0.90203); animation-timing-function: cubic-bezier(0.4, 0.62704, 0.6, 0.90203); -webkit-transform: translateX(84.38617%); transform: translateX(84.38617%); } 100% { -webkit-transform: translateX(160.27778%); transform: translateX(160.27778%); } } @-webkit-keyframes secondary-indeterminate-scale { 0% { -webkit-animation-timing-function: cubic-bezier(0.20503, 0.05705, 0.57661, 0.45397); animation-timing-function: cubic-bezier(0.20503, 0.05705, 0.57661, 0.45397); -webkit-transform: scaleX(0.08); transform: scaleX(0.08); } 19.15% { -webkit-animation-timing-function: cubic-bezier(0.15231, 0.19643, 0.64837, 1.00432); animation-timing-function: cubic-bezier(0.15231, 0.19643, 0.64837, 1.00432); -webkit-transform: scaleX(0.4571); transform: scaleX(0.4571); } 44.15% { -webkit-animation-timing-function: cubic-bezier(0.25776, -0.00316, 0.21176, 1.38179); animation-timing-function: cubic-bezier(0.25776, -0.00316, 0.21176, 1.38179); -webkit-transform: scaleX(0.72796); transform: scaleX(0.72796); } 100% { -webkit-transform: scaleX(0.08); transform: scaleX(0.08); } } @keyframes secondary-indeterminate-scale { 0% { -webkit-animation-timing-function: cubic-bezier(0.20503, 0.05705, 0.57661, 0.45397); animation-timing-function: cubic-bezier(0.20503, 0.05705, 0.57661, 0.45397); -webkit-transform: scaleX(0.08); transform: scaleX(0.08); } 19.15% { -webkit-animation-timing-function: cubic-bezier(0.15231, 0.19643, 0.64837, 1.00432); animation-timing-function: cubic-bezier(0.15231, 0.19643, 0.64837, 1.00432); -webkit-transform: scaleX(0.4571); transform: scaleX(0.4571); } 44.15% { -webkit-animation-timing-function: cubic-bezier(0.25776, -0.00316, 0.21176, 1.38179); animation-timing-function: cubic-bezier(0.25776, -0.00316, 0.21176, 1.38179); -webkit-transform: scaleX(0.72796); transform: scaleX(0.72796); } 100% { -webkit-transform: scaleX(0.08); transform: scaleX(0.08); } } @-webkit-keyframes buffering { to { -webkit-transform: translateX(-10px); transform: translateX(-10px); } } @keyframes buffering { to { -webkit-transform: translateX(-10px); transform: translateX(-10px); } } @-webkit-keyframes primary-indeterminate-translate-reverse { 0% { -webkit-transform: translateX(0); transform: translateX(0); } 20% { -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582); animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582); -webkit-transform: translateX(0); transform: translateX(0); } 59.15% { -webkit-animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635); animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635); -webkit-transform: translateX(-83.67142%); transform: translateX(-83.67142%); } 100% { -webkit-transform: translateX(-200.61106%); transform: translateX(-200.61106%); } } @keyframes primary-indeterminate-translate-reverse { 0% { -webkit-transform: translateX(0); transform: translateX(0); } 20% { -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582); animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582); -webkit-transform: translateX(0); transform: translateX(0); } 59.15% { -webkit-animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635); animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635); -webkit-transform: translateX(-83.67142%); transform: translateX(-83.67142%); } 100% { -webkit-transform: translateX(-200.61106%); transform: translateX(-200.61106%); } } @-webkit-keyframes secondary-indeterminate-translate-reverse { 0% { -webkit-animation-timing-function: cubic-bezier(0.15, 0, 0.51506, 0.40969); animation-timing-function: cubic-bezier(0.15, 0, 0.51506, 0.40969); -webkit-transform: translateX(0); transform: translateX(0); } 25% { -webkit-animation-timing-function: cubic-bezier(0.31033, 0.28406, 0.8, 0.73371); animation-timing-function: cubic-bezier(0.31033, 0.28406, 0.8, 0.73371); -webkit-transform: translateX(-37.65191%); transform: translateX(-37.65191%); } 48.35% { -webkit-animation-timing-function: cubic-bezier(0.4, 0.62704, 0.6, 0.90203); animation-timing-function: cubic-bezier(0.4, 0.62704, 0.6, 0.90203); -webkit-transform: translateX(-84.38617%); transform: translateX(-84.38617%); } 100% { -webkit-transform: translateX(-160.27778%); transform: translateX(-160.27778%); } } @keyframes secondary-indeterminate-translate-reverse { 0% { -webkit-animation-timing-function: cubic-bezier(0.15, 0, 0.51506, 0.40969); animation-timing-function: cubic-bezier(0.15, 0, 0.51506, 0.40969); -webkit-transform: translateX(0); transform: translateX(0); } 25% { -webkit-animation-timing-function: cubic-bezier(0.31033, 0.28406, 0.8, 0.73371); animation-timing-function: cubic-bezier(0.31033, 0.28406, 0.8, 0.73371); -webkit-transform: translateX(-37.65191%); transform: translateX(-37.65191%); } 48.35% { -webkit-animation-timing-function: cubic-bezier(0.4, 0.62704, 0.6, 0.90203); animation-timing-function: cubic-bezier(0.4, 0.62704, 0.6, 0.90203); -webkit-transform: translateX(-84.38617%); transform: translateX(-84.38617%); } 100% { -webkit-transform: translateX(-160.27778%); transform: translateX(-160.27778%); } } @-webkit-keyframes buffering-reverse { to { -webkit-transform: translateX(10px); transform: translateX(10px); } } @keyframes buffering-reverse { to { -webkit-transform: translateX(10px); transform: translateX(10px); } } .mdc-linear-progress { position: relative; width: 100%; height: 4px; -webkit-transform: translateZ(0); transform: translateZ(0); -webkit-transition: opacity 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1); transition: opacity 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1); overflow: hidden; } .mdc-linear-progress__bar { -webkit-animation: none; animation: none; position: absolute; width: 100%; height: 100%; -webkit-transform-origin: top left; transform-origin: top left; -webkit-transition: -webkit-transform 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1); transition: -webkit-transform 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1); transition: transform 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1); transition: transform 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1); } .mdc-linear-progress__bar-inner { /* @alternate */ background-color: #3f51b5; background-color: var(--mdc-theme-primary, #3f51b5); -webkit-animation: none; animation: none; display: inline-block; position: absolute; width: 100%; height: 100%; } .mdc-linear-progress--accent .mdc-linear-progress__bar-inner { /* @alternate */ background-color: #ff4081; background-color: var(--mdc-theme-accent, #ff4081); } .mdc-linear-progress__buffering-dots { position: absolute; width: 100%; height: 100%; background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' enable-background='new 0 0 5 2' xml:space='preserve' viewBox='0 0 5 2' preserveAspectRatio='none slice'%3E%3Ccircle cx='1' cy='1' r='1' fill='%23e6e6e6'/%3E%3C/svg%3E"); background-repeat: repeat-x; background-size: 10px 4px; -webkit-animation: buffering 250ms infinite linear; animation: buffering 250ms infinite linear; } .mdc-linear-progress__buffer { position: absolute; width: 100%; height: 100%; -webkit-transform-origin: top left; transform-origin: top left; -webkit-transition: -webkit-transform 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1); transition: -webkit-transform 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1); transition: transform 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1); transition: transform 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1); background-color: #e6e6e6; } .mdc-linear-progress__secondary-bar { visibility: hidden; } .mdc-linear-progress--indeterminate .mdc-linear-progress__bar { -webkit-transition: none; transition: none; } .mdc-linear-progress--indeterminate .mdc-linear-progress__primary-bar { -webkit-animation: primary-indeterminate-translate 2s infinite linear; animation: primary-indeterminate-translate 2s infinite linear; left: -145.166611%; } .mdc-linear-progress--indeterminate .mdc-linear-progress__primary-bar > .mdc-linear-progress__bar-inner { -webkit-animation: primary-indeterminate-scale 2s infinite linear; animation: primary-indeterminate-scale 2s infinite linear; } .mdc-linear-progress--indeterminate .mdc-linear-progress__secondary-bar { -webkit-animation: secondary-indeterminate-translate 2s infinite linear; animation: secondary-indeterminate-translate 2s infinite linear; left: -54.888891%; visibility: visible; } .mdc-linear-progress--indeterminate .mdc-linear-progress__secondary-bar > .mdc-linear-progress__bar-inner { -webkit-animation: secondary-indeterminate-scale 2s infinite linear; animation: secondary-indeterminate-scale 2s infinite linear; } .mdc-linear-progress--reversed .mdc-linear-progress__bar, .mdc-linear-progress--reversed .mdc-linear-progress__buffer { right: 0; -webkit-transform-origin: center right; transform-origin: center right; } .mdc-linear-progress--reversed .mdc-linear-progress__primary-bar { -webkit-animation-name: primary-indeterminate-translate-reverse; animation-name: primary-indeterminate-translate-reverse; } .mdc-linear-progress--reversed .mdc-linear-progress__secondary-bar { -webkit-animation-name: secondary-indeterminate-translate-reverse; animation-name: secondary-indeterminate-translate-reverse; } .mdc-linear-progress--reversed .mdc-linear-progress__buffering-dots { -webkit-animation: buffering-reverse 250ms infinite linear; animation: buffering-reverse 250ms infinite linear; } .mdc-linear-progress--closed { opacity: 0; } .mdc-linear-progress--indeterminate.mdc-linear-progress--reversed .mdc-linear-progress__primary-bar { right: -145.166611%; left: auto; } .mdc-linear-progress--indeterminate.mdc-linear-progress--reversed .mdc-linear-progress__secondary-bar { right: -54.888891%; left: auto; } /* Precomputed linear color channel values, for use in contrast calculations. See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests Algorithm, for c in 0 to 255: f(c) { c = c / 255; return c < 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4); } This lookup table is needed since there is no `pow` in SASS. */ /** * Calculate the luminance for a color. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Calculate the contrast ratio between two colors. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Determine whether to use dark or light text on top of given color. * Returns "dark" for dark text and "light" for light text. */ /* Main theme colors. If you're a user customizing your color scheme in SASS, these are probably the only variables you need to change. */ /* Indigo 500 */ /* Pink A200 */ /* White */ /* Which set of text colors to use for each main theme color (light or dark) */ /* Text colors according to light vs dark and text type */ /* Primary text colors for each of the theme colors */ /** MDC Ripple keyframes are split into their own file so that _mixins.scss can rely on them. */ @keyframes mdc-ripple-fg-radius-in { from { -webkit-transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1); transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1); -webkit-animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); } to { -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); } } @keyframes mdc-ripple-fg-opacity-in { from { opacity: 0; -webkit-animation-timing-function: linear; animation-timing-function: linear; } to { opacity: 1; } } @keyframes mdc-ripple-fg-opacity-out { from { opacity: 1; -webkit-animation-timing-function: linear; animation-timing-function: linear; } to { opacity: 0; } } /** * Creates a rule that will be applied when an MDC-Web component is within the context of an RTL layout. * * Usage Example: * ```scss * .mdc-foo { * position: absolute; * left: 0; * * @include mdc-rtl { * left: auto; * right: 0; * } * * &__bar { * margin-left: 4px; * @include mdc-rtl(".mdc-foo") { * margin-left: auto; * margin-right: 4px; * } * } * } * * .mdc-foo--mod { * padding-left: 4px; * * @include mdc-rtl { * padding-left: auto; * padding-right: 4px; * } * } * ``` * * Note that this works by checking for [dir="rtl"] on an ancestor element. While this will work * in most cases, it will in some cases lead to false negatives, e.g. * * ```html * * *
*
Styled incorrectly as RTL!
*
* * ``` * * In the future, selectors such as :dir (http://mdn.io/:dir) will help us mitigate this. */ /** * Takes a base box-model property - e.g. margin / border / padding - along with a default * direction and value, and emits rules which apply the value to the * "-" property by default, but flips the direction * when within an RTL context. * * For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-box(margin, left, 8px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-left: 8px; * * @include mdc-rtl { * margin-right: 8px; * margin-left: 0; * } * } * ``` * whereas: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-box(margin, right, 8px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-right: 8px; * * @include mdc-rtl { * margin-right: 0; * margin-left: 8px; * } * } * ``` * * You can also pass a 4th optional $root-selector argument which will be forwarded to `mdc-rtl`, * e.g. `@include mdc-rtl-reflexive-box(margin, left, 8px, ".mdc-component")`. * * Note that this function will always zero out the original value in an RTL context. If you're * trying to flip the values, use mdc-rtl-reflexive-property(). */ /** * Takes a base property and emits rules that assign -left to and * -right to in a LTR context, and vice versa in a RTL context. * For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-property(margin, auto, 12px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-left: auto; * margin-right: 12px; * * @include mdc-rtl { * margin-left: 12px; * margin-right: auto; * } * } * ``` * * A 4th optional $root-selector argument can be given, which will be passed to `mdc-rtl`. */ /** * Takes an argument specifying a horizontal position property (either "left" or "right") as well * as a value, and applies that value to the specified position in a LTR context, and flips it in a * RTL context. For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-position(left, 0); * position: absolute; * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * position: absolute; * left: 0; * right: initial; * * @include mdc-rtl { * right: 0; * left: initial; * } * } * ``` * An optional third $root-selector argument may also be given, which is passed to `mdc-rtl`. */ /* Precomputed linear color channel values, for use in contrast calculations. See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests Algorithm, for c in 0 to 255: f(c) { c = c / 255; return c < 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4); } This lookup table is needed since there is no `pow` in SASS. */ /** * Calculate the luminance for a color. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Calculate the contrast ratio between two colors. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Determine whether to use dark or light text on top of given color. * Returns "dark" for dark text and "light" for light text. */ /* Main theme colors. If you're a user customizing your color scheme in SASS, these are probably the only variables you need to change. */ /* Indigo 500 */ /* Pink A200 */ /* White */ /* Which set of text colors to use for each main theme color (light or dark) */ /* Text colors according to light vs dark and text type */ /* Primary text colors for each of the theme colors */ /** * Applies the correct theme color style to the specified property. * $property is typically color or background-color, but can be any CSS property that accepts color values. * $style should be one of the map keys in $mdc-theme-property-values (_variables.scss). */ /** * Creates a rule to be used in MDC-Web components for dark theming, and applies the provided contents. * Should provide the $root-selector option if applied to anything other than the root selector. * When used with a modifier class, provide a second argument of `true` for the $compound parameter * to specify that this should be attached as a compound class. * * Usage example: * * ```scss * .mdc-foo { * color: black; * * @include mdc-theme-dark { * color: white; * } * * &__bar { * background: black; * * @include mdc-theme-dark(".mdc-foo") { * background: white; * } * } * } * * .mdc-foo--disabled { * opacity: .38; * * @include mdc-theme-dark(".mdc-foo", true) { * opacity: .5; * } * } * ``` */ /* TODO(sgomes): Figure out what to do about desktop font sizes. */ /* TODO(sgomes): Figure out what to do about i18n and i18n font sizes. */ /* TODO(sgomes): Figure out what to do about desktop font sizes. */ /* TODO(sgomes): Figure out what to do about i18n and i18n font sizes. */ .mdc-list { font-family: Roboto, sans-serif; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-size: 1rem; font-weight: 400; letter-spacing: 0.04em; line-height: 1.75rem; text-decoration: inherit; text-transform: inherit; /* @alternate */ color: rgba(0, 0, 0, 0.87); color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87)); margin: 0; padding: 8px 16px 0; line-height: 1.5rem; list-style-type: none; } .mdc-list--theme-dark, .mdc-theme--dark .mdc-list { /* @alternate */ color: white; color: var(--mdc-theme-text-primary-on-dark, white); } .mdc-list--dense { padding-top: 4px; font-size: .812rem; } .mdc-list-item { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; height: 48px; } .mdc-list-item__start-detail { width: 24px; height: 24px; margin-left: 0; margin-right: 32px; } [dir="rtl"] .mdc-list-item .mdc-list-item__start-detail, .mdc-list-item[dir="rtl"] .mdc-list-item__start-detail { margin-left: 32px; margin-right: 0; } .mdc-list-item__end-detail { width: 24px; height: 24px; margin-left: auto; margin-right: 0; } [dir="rtl"] .mdc-list-item .mdc-list-item__end-detail, .mdc-list-item[dir="rtl"] .mdc-list-item__end-detail { margin-left: 0; margin-right: auto; } .mdc-list-item__text { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; } .mdc-list-item__text__secondary { font-family: Roboto, sans-serif; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-size: 0.875rem; font-weight: 400; letter-spacing: 0.04em; line-height: 1.25rem; text-decoration: inherit; text-transform: inherit; /* @alternate */ color: rgba(0, 0, 0, 0.54); color: var(--mdc-theme-text-secondary-on-background, rgba(0, 0, 0, 0.54)); } .mdc-list-item__text__secondary--theme-dark, .mdc-theme--dark .mdc-list-item__text__secondary { /* @alternate */ color: rgba(255, 255, 255, 0.7); color: var(--mdc-theme-text-secondary-on-dark, rgba(255, 255, 255, 0.7)); } .mdc-list--dense .mdc-list-item__text__secondary { font-size: inherit; } .mdc-list--dense .mdc-list-item { height: 40px; } .mdc-list--dense .mdc-list-item__start-detail { width: 20px; height: 20px; margin-left: 0; margin-right: 36px; } [dir="rtl"] .mdc-list-item .mdc-list--dense .mdc-list-item__start-detail, .mdc-list-item[dir="rtl"] .mdc-list--dense .mdc-list-item__start-detail { margin-left: 36px; margin-right: 0; } .mdc-list--dense .mdc-list-item__end-detail { width: 20px; height: 20px; } .mdc-list--avatar-list .mdc-list-item { height: 56px; } .mdc-list--avatar-list .mdc-list-item__start-detail { width: 40px; height: 40px; margin-left: 0; margin-right: 16px; border-radius: 50%; } [dir="rtl"] .mdc-list-item .mdc-list--avatar-list .mdc-list-item__start-detail, .mdc-list-item[dir="rtl"] .mdc-list--avatar-list .mdc-list-item__start-detail { margin-left: 16px; margin-right: 0; } .mdc-list-item .mdc-list--avatar-list.mdc-list--dense .mdc-list__item { height: 48px; } .mdc-list-item .mdc-list--avatar-list.mdc-list--dense .mdc-list__item__start-detail { width: 36px; height: 36px; margin-left: 0; margin-right: 20px; } [dir="rtl"] .mdc-list-item .mdc-list-item .mdc-list--avatar-list.mdc-list--dense .mdc-list__item__start-detail, .mdc-list-item[dir="rtl"] .mdc-list-item .mdc-list--avatar-list.mdc-list--dense .mdc-list__item__start-detail { margin-left: 20px; margin-right: 0; } .mdc-list--two-line .mdc-list-item { height: 72px; } .mdc-list--two-line.mdc-list--dense .mdc-list-item { height: 60px; } a.mdc-list-item { color: inherit; text-decoration: none; } .mdc-list-item.mdc-ripple-upgraded { --mdc-ripple-surface-width: 0; --mdc-ripple-surface-height: 0; --mdc-ripple-fg-size: 0; --mdc-ripple-left: 0; --mdc-ripple-top: 0; --mdc-ripple-fg-scale: 1; --mdc-ripple-fg-translate-end: 0; --mdc-ripple-fg-translate-start: 0; will-change: transform, opacity; -webkit-tap-highlight-color: transparent; left: -16px; right: initial; position: relative; width: 100%; padding: 0 16px; overflow: hidden; } .mdc-list-item.mdc-ripple-upgraded:not(.mdc-ripple-upgraded):hover::before, .mdc-list-item.mdc-ripple-upgraded:not(.mdc-ripple-upgraded):focus::before, .mdc-list-item.mdc-ripple-upgraded:not(.mdc-ripple-upgraded):active::after { -webkit-transition-duration: 85ms; transition-duration: 85ms; opacity: .6; } .mdc-list-item.mdc-ripple-upgraded::before { background-color: rgba(0, 0, 0, 0.06); position: absolute; top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; -webkit-transition: opacity 250ms linear; transition: opacity 250ms linear; border-radius: 50%; opacity: 0; pointer-events: none; content: ""; } .mdc-list-item.mdc-ripple-upgraded.mdc-ripple-upgraded::before { top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; /* @alternate */ -webkit-transform: scale(0); transform: scale(0); -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0)); transform: scale(var(--mdc-ripple-fg-scale, 0)); } .mdc-list-item.mdc-ripple-upgraded.mdc-ripple-upgraded--background-focused::before { opacity: .99999; } .mdc-list-item.mdc-ripple-upgraded.mdc-ripple-upgraded--background-active-fill::before { -webkit-transition-duration: 120ms; transition-duration: 120ms; opacity: 1; } .mdc-list-item.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded::before { /* @alternate */ top: calc(50% - 50%); top: var(--mdc-ripple-top, calc(50% - 50%)); /* @alternate */ left: calc(50% - 50%); left: var(--mdc-ripple-left, calc(50% - 50%)); /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); /* @alternate */ -webkit-transform: scale(0); transform: scale(0); -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0)); transform: scale(var(--mdc-ripple-fg-scale, 0)); } .mdc-list-item.mdc-ripple-upgraded::after { background-color: rgba(0, 0, 0, 0.06); position: absolute; top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; -webkit-transition: opacity 250ms linear; transition: opacity 250ms linear; border-radius: 50%; opacity: 0; pointer-events: none; content: ""; } .mdc-list-item.mdc-ripple-upgraded.mdc-ripple-upgraded::after { top: 0; left: 0; /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; opacity: 0; } .mdc-list-item.mdc-ripple-upgraded:not(.mdc-ripple-upgraded--unbounded)::after { -webkit-transform-origin: center center; transform-origin: center center; } .mdc-list-item.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded::after { /* @alternate */ top: 0; top: var(--mdc-ripple-top, 0); /* @alternate */ left: 0; left: var(--mdc-ripple-left, 0); /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; } .mdc-list-item.mdc-ripple-upgraded.mdc-ripple-upgraded--foreground-activation::after { -webkit-animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; } .mdc-list-item.mdc-ripple-upgraded.mdc-ripple-upgraded--foreground-deactivation::after { -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); -webkit-animation: 83ms mdc-ripple-fg-opacity-out; animation: 83ms mdc-ripple-fg-opacity-out; } [dir="rtl"] .mdc-list-item.mdc-ripple-upgraded, .mdc-list-item.mdc-ripple-upgraded[dir="rtl"] { left: initial; right: -16px; } .mdc-list-item.mdc-ripple-upgraded:focus { outline: none; } .mdc-list--theme-dark .mdc-list-item.mdc-ripple-upgraded::before, .mdc-theme--dark .mdc-list-item.mdc-ripple-upgraded::before { background-color: rgba(255, 255, 255, 0.12); position: absolute; top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; -webkit-transition: opacity 250ms linear; transition: opacity 250ms linear; border-radius: 50%; opacity: 0; pointer-events: none; content: ""; } .mdc-list--theme-dark .mdc-list-item.mdc-ripple-upgraded.mdc-ripple-upgraded::before, .mdc-theme--dark .mdc-list-item.mdc-ripple-upgraded.mdc-ripple-upgraded::before { top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; /* @alternate */ -webkit-transform: scale(0); transform: scale(0); -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0)); transform: scale(var(--mdc-ripple-fg-scale, 0)); } .mdc-list--theme-dark .mdc-list-item.mdc-ripple-upgraded.mdc-ripple-upgraded--background-focused::before, .mdc-theme--dark .mdc-list-item.mdc-ripple-upgraded.mdc-ripple-upgraded--background-focused::before { opacity: .99999; } .mdc-list--theme-dark .mdc-list-item.mdc-ripple-upgraded.mdc-ripple-upgraded--background-active-fill::before, .mdc-theme--dark .mdc-list-item.mdc-ripple-upgraded.mdc-ripple-upgraded--background-active-fill::before { -webkit-transition-duration: 120ms; transition-duration: 120ms; opacity: 1; } .mdc-list--theme-dark .mdc-list-item.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded::before, .mdc-theme--dark .mdc-list-item.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded::before { /* @alternate */ top: calc(50% - 50%); top: var(--mdc-ripple-top, calc(50% - 50%)); /* @alternate */ left: calc(50% - 50%); left: var(--mdc-ripple-left, calc(50% - 50%)); /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); /* @alternate */ -webkit-transform: scale(0); transform: scale(0); -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0)); transform: scale(var(--mdc-ripple-fg-scale, 0)); } .mdc-list--theme-dark .mdc-list-item.mdc-ripple-upgraded::after, .mdc-theme--dark .mdc-list-item.mdc-ripple-upgraded::after { background-color: rgba(255, 255, 255, 0.12); position: absolute; top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; -webkit-transition: opacity 250ms linear; transition: opacity 250ms linear; border-radius: 50%; opacity: 0; pointer-events: none; content: ""; } .mdc-list--theme-dark .mdc-list-item.mdc-ripple-upgraded.mdc-ripple-upgraded::after, .mdc-theme--dark .mdc-list-item.mdc-ripple-upgraded.mdc-ripple-upgraded::after { top: 0; left: 0; /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; opacity: 0; } .mdc-list--theme-dark .mdc-list-item.mdc-ripple-upgraded:not(.mdc-ripple-upgraded--unbounded)::after, .mdc-theme--dark .mdc-list-item.mdc-ripple-upgraded:not(.mdc-ripple-upgraded--unbounded)::after { -webkit-transform-origin: center center; transform-origin: center center; } .mdc-list--theme-dark .mdc-list-item.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded::after, .mdc-theme--dark .mdc-list-item.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded::after { /* @alternate */ top: 0; top: var(--mdc-ripple-top, 0); /* @alternate */ left: 0; left: var(--mdc-ripple-left, 0); /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; } .mdc-list--theme-dark .mdc-list-item.mdc-ripple-upgraded.mdc-ripple-upgraded--foreground-activation::after, .mdc-theme--dark .mdc-list-item.mdc-ripple-upgraded.mdc-ripple-upgraded--foreground-activation::after { -webkit-animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; } .mdc-list--theme-dark .mdc-list-item.mdc-ripple-upgraded.mdc-ripple-upgraded--foreground-deactivation::after, .mdc-theme--dark .mdc-list-item.mdc-ripple-upgraded.mdc-ripple-upgraded--foreground-deactivation::after { -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); -webkit-animation: 83ms mdc-ripple-fg-opacity-out; animation: 83ms mdc-ripple-fg-opacity-out; } .mdc-list-divider { height: 0; margin: 0; border: none; border-bottom: 1px solid rgba(0, 0, 0, 0.12); } .mdc-list--theme-dark .mdc-list-divider, .mdc-theme--dark .mdc-list-divider { border-bottom-color: rgba(255, 255, 255, 0.2); } .mdc-list-divider--inset { margin-left: 56px; margin-right: 0; width: calc(100% - 56px); } [dir="rtl"] .mdc-list-group .mdc-list-divider--inset, .mdc-list-group[dir="rtl"] .mdc-list-divider--inset { margin-left: 0; margin-right: 56px; } .mdc-list-group { padding: 0 16px; } .mdc-list-group__subheader { font-family: Roboto, sans-serif; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-size: 0.875rem; font-weight: 500; letter-spacing: 0.04em; line-height: 1.5rem; text-decoration: inherit; text-transform: inherit; /* @alternate */ color: rgba(0, 0, 0, 0.87); color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87)); margin: 0.75rem 0; } .mdc-list-group__subheader--theme-dark, .mdc-theme--dark .mdc-list-group__subheader { /* @alternate */ color: white; color: var(--mdc-theme-text-primary-on-dark, white); } .mdc-list-group .mdc-list { padding: 0; } /** * The css property used for elevation. In most cases this should not be changed. It is exposed * as a variable for abstraction / easy use when needing to reference the property directly, for * example in a `will-change` rule. */ /** * The default duration value for elevation transitions. */ /** * The default easing value for elevation transitions. */ /** * Applies the correct css rules to an element to give it the elevation specified by $z-value. * The $z-value must be between 0 and 24. */ /** * Returns a string that can be used as the value for a `transition` property for elevation. * Calling this function directly is useful in situations where a component needs to transition * more than one property. * * ```scss * .foo { * transition: mdc-elevation-transition-rule(), opacity 100ms ease; * will-change: $mdc-elevation-property, opacity; * } * ``` */ /** * Applies the correct css rules needed to have an element transition between elevations. * This mixin should be applied to elements whose elevation values will change depending on their * context (e.g. when active or disabled). */ /* Precomputed linear color channel values, for use in contrast calculations. See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests Algorithm, for c in 0 to 255: f(c) { c = c / 255; return c < 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4); } This lookup table is needed since there is no `pow` in SASS. */ /** * Calculate the luminance for a color. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Calculate the contrast ratio between two colors. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Determine whether to use dark or light text on top of given color. * Returns "dark" for dark text and "light" for light text. */ /* Main theme colors. If you're a user customizing your color scheme in SASS, these are probably the only variables you need to change. */ /* Indigo 500 */ /* Pink A200 */ /* White */ /* Which set of text colors to use for each main theme color (light or dark) */ /* Text colors according to light vs dark and text type */ /* Primary text colors for each of the theme colors */ /** * Applies the correct theme color style to the specified property. * $property is typically color or background-color, but can be any CSS property that accepts color values. * $style should be one of the map keys in $mdc-theme-property-values (_variables.scss). */ /** * Creates a rule to be used in MDC-Web components for dark theming, and applies the provided contents. * Should provide the $root-selector option if applied to anything other than the root selector. * When used with a modifier class, provide a second argument of `true` for the $compound parameter * to specify that this should be attached as a compound class. * * Usage example: * * ```scss * .mdc-foo { * color: black; * * @include mdc-theme-dark { * color: white; * } * * &__bar { * background: black; * * @include mdc-theme-dark(".mdc-foo") { * background: white; * } * } * } * * .mdc-foo--disabled { * opacity: .38; * * @include mdc-theme-dark(".mdc-foo", true) { * opacity: .5; * } * } * ``` */ /* TODO(sgomes): Figure out what to do about desktop font sizes. */ /* TODO(sgomes): Figure out what to do about i18n and i18n font sizes. */ /* postcss-bem-linter: define simple-menu */ .mdc-simple-menu { display: none; position: absolute; min-width: 170px; max-width: calc(100vw - 32px); max-height: calc(100vh - 32px); margin: 0; padding: 0; -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: top left; transform-origin: top left; border-radius: 2px; background-color: white; white-space: nowrap; opacity: 0; overflow: hidden; -webkit-box-sizing: border-box; box-sizing: border-box; will-change: transform, opacity; z-index: 4; -webkit-box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); /* stylelint-disable plugin/selector-bem-pattern */ /* stylelint-enable plugin/selector-bem-pattern */ /* stylelint-disable plugin/selector-bem-pattern */ /* stylelint-disable selector-no-qualifying-type */ /* stylelint-enable selector-no-qualifying-type */ /* TODO(sgomes): Revisit when we have interactive lists. */ /* stylelint-enable plugin/selector-bem-pattern */ } .mdc-simple-menu--theme-dark, .mdc-theme--dark .mdc-simple-menu { background-color: #424242; } .mdc-simple-menu:focus { outline: none; } .mdc-simple-menu--open { display: inline-block; -webkit-transform: scale(1); transform: scale(1); opacity: 1; } .mdc-simple-menu--animating { display: inline-block; -webkit-transition: opacity 0.2s cubic-bezier(0, 0, 0.2, 1); transition: opacity 0.2s cubic-bezier(0, 0, 0.2, 1); } .mdc-simple-menu__items { overflow-x: hidden; overflow-y: auto; -webkit-box-sizing: border-box; box-sizing: border-box; will-change: transform; /* stylelint-disable plugin/selector-bem-pattern, selector-no-universal */ /* stylelint-enable plugin/selector-bem-pattern, selector-no-universal */ } .mdc-simple-menu__items > * { opacity: 0; } .mdc-simple-menu__items > .mdc-list-item { cursor: pointer; } .mdc-simple-menu--animating .mdc-simple-menu__items { overflow-y: hidden; } .mdc-simple-menu--animating .mdc-simple-menu__items > * { -webkit-transition-duration: 0.3s; transition-duration: 0.3s; -webkit-transition-property: opacity; transition-property: opacity; -webkit-transition-timing-function: cubic-bezier(0, 0, 0.2, 1); transition-timing-function: cubic-bezier(0, 0, 0.2, 1); } .mdc-simple-menu--open .mdc-simple-menu__items > * { opacity: 1; will-change: opacity; } [dir="rtl"] .mdc-simple-menu { -webkit-transform-origin: top right; transform-origin: top right; } .mdc-simple-menu--open-from-top-left { -webkit-transform-origin: top left !important; transform-origin: top left !important; } .mdc-simple-menu--open-from-top-right { -webkit-transform-origin: top right !important; transform-origin: top right !important; } .mdc-simple-menu--open-from-bottom-left { -webkit-transform-origin: bottom left !important; transform-origin: bottom left !important; } .mdc-simple-menu--open-from-bottom-right { -webkit-transform-origin: bottom right !important; transform-origin: bottom right !important; } .mdc-simple-menu .mdc-list-group, .mdc-simple-menu .mdc-list { padding: 8px 0; } .mdc-simple-menu .mdc-list-item { position: relative; padding: 0 16px; outline: none; color: inherit; text-decoration: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; font-family: Roboto, sans-serif; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-size: 1rem; font-weight: 400; letter-spacing: 0.04em; line-height: 1.75rem; text-decoration: inherit; text-transform: inherit; } .mdc-simple-menu--theme-dark.mdc-simple-menu .mdc-list-item, .mdc-theme--dark .mdc-simple-menu .mdc-list-item { color: white; } .mdc-simple-menu--theme-dark.mdc-simple-menu .mdc-list-divider, .mdc-theme--dark .mdc-simple-menu .mdc-list-divider { border-color: rgba(255, 255, 255, 0.12); } .mdc-simple-menu .mdc-list-item__start-detail { color: rgba(0, 0, 0, 0.54); } .mdc-simple-menu--theme-dark.mdc-simple-menu .mdc-list-item__start-detail, .mdc-theme--dark .mdc-simple-menu .mdc-list-item__start-detail { color: rgba(255, 255, 255, 0.54); } .mdc-simple-menu--selected.mdc-list-item, .mdc-simple-menu--selected.mdc-list-item .mdc-list-item__start-detail { /* @alternate */ color: #3f51b5; color: var(--mdc-theme-primary, #3f51b5); } .mdc-simple-menu .mdc-list-item::before { position: absolute; top: 0; left: 0; width: 100%; height: 100%; -webkit-transition: opacity 120ms cubic-bezier(0, 0, 0.2, 1); transition: opacity 120ms cubic-bezier(0, 0, 0.2, 1); border-radius: inherit; background: currentColor; content: ""; opacity: 0; } .mdc-simple-menu .mdc-list-item:focus::before { opacity: .12; } .mdc-simple-menu .mdc-list-item:active::before { /* Slightly darker value for visual distinction. This allows a full base that has distinct modes. Progressive enhancement with ripples will provide complete button spec alignment. */ opacity: .18; } .mdc-simple-menu .mdc-list-item[aria-disabled="true"] { cursor: default; /* @alternate */ color: rgba(0, 0, 0, 0.38); color: var(--mdc-theme-text-disabled-on-light, rgba(0, 0, 0, 0.38)); } .mdc-select--theme-dark .mdc-simple-menu .mdc-list-item[aria-disabled="true"], .mdc-theme--dark .mdc-simple-menu .mdc-list-item[aria-disabled="true"] { /* @alternate */ color: rgba(255, 255, 255, 0.5); color: var(--mdc-theme-text-disabled-on-dark, rgba(255, 255, 255, 0.5)); } .mdc-simple-menu .mdc-list-item[aria-disabled="true"]:focus::before, .mdc-simple-menu .mdc-list-item[aria-disabled="true"]:active::before { opacity: 0; } /* postcss-bem-linter: end */ .mdc-menu-anchor { position: relative; overflow: visible; } /* Precomputed linear color channel values, for use in contrast calculations. See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests Algorithm, for c in 0 to 255: f(c) { c = c / 255; return c < 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4); } This lookup table is needed since there is no `pow` in SASS. */ /** * Calculate the luminance for a color. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Calculate the contrast ratio between two colors. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Determine whether to use dark or light text on top of given color. * Returns "dark" for dark text and "light" for light text. */ /* Main theme colors. If you're a user customizing your color scheme in SASS, these are probably the only variables you need to change. */ /* Indigo 500 */ /* Pink A200 */ /* White */ /* Which set of text colors to use for each main theme color (light or dark) */ /* Text colors according to light vs dark and text type */ /* Primary text colors for each of the theme colors */ /** MDC Ripple keyframes are split into their own file so that _mixins.scss can rely on them. */ @keyframes mdc-ripple-fg-radius-in { from { -webkit-transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1); transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1); -webkit-animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); } to { -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); } } @keyframes mdc-ripple-fg-opacity-in { from { opacity: 0; -webkit-animation-timing-function: linear; animation-timing-function: linear; } to { opacity: 1; } } @keyframes mdc-ripple-fg-opacity-out { from { opacity: 1; -webkit-animation-timing-function: linear; animation-timing-function: linear; } to { opacity: 0; } } /* Precomputed linear color channel values, for use in contrast calculations. See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests Algorithm, for c in 0 to 255: f(c) { c = c / 255; return c < 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4); } This lookup table is needed since there is no `pow` in SASS. */ /** * Calculate the luminance for a color. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Calculate the contrast ratio between two colors. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Determine whether to use dark or light text on top of given color. * Returns "dark" for dark text and "light" for light text. */ /* Main theme colors. If you're a user customizing your color scheme in SASS, these are probably the only variables you need to change. */ /* Indigo 500 */ /* Pink A200 */ /* White */ /* Which set of text colors to use for each main theme color (light or dark) */ /* Text colors according to light vs dark and text type */ /* Primary text colors for each of the theme colors */ /** * Applies the correct theme color style to the specified property. * $property is typically color or background-color, but can be any CSS property that accepts color values. * $style should be one of the map keys in $mdc-theme-property-values (_variables.scss). */ /** * Creates a rule to be used in MDC-Web components for dark theming, and applies the provided contents. * Should provide the $root-selector option if applied to anything other than the root selector. * When used with a modifier class, provide a second argument of `true` for the $compound parameter * to specify that this should be attached as a compound class. * * Usage example: * * ```scss * .mdc-foo { * color: black; * * @include mdc-theme-dark { * color: white; * } * * &__bar { * background: black; * * @include mdc-theme-dark(".mdc-foo") { * background: white; * } * } * } * * .mdc-foo--disabled { * opacity: .38; * * @include mdc-theme-dark(".mdc-foo", true) { * opacity: .5; * } * } * ``` */ .mdc-radio { --mdc-ripple-surface-width: 0; --mdc-ripple-surface-height: 0; --mdc-ripple-fg-size: 0; --mdc-ripple-left: 0; --mdc-ripple-top: 0; --mdc-ripple-fg-scale: 1; --mdc-ripple-fg-translate-end: 0; --mdc-ripple-fg-translate-start: 0; will-change: transform, opacity; -webkit-tap-highlight-color: transparent; display: inline-block; position: relative; -webkit-box-sizing: border-box; box-sizing: border-box; -webkit-box-flex: 0; -ms-flex: 0 0 auto; flex: 0 0 auto; width: 40px; height: 40px; padding: 10px; cursor: pointer; will-change: opacity, transform, border-color, background-color, color; } .mdc-radio:not(.mdc-ripple-upgraded):hover::before, .mdc-radio:not(.mdc-ripple-upgraded):focus::before, .mdc-radio:not(.mdc-ripple-upgraded):active::after { -webkit-transition-duration: 85ms; transition-duration: 85ms; opacity: .6; } .mdc-radio::before { /* @alternate */ background-color: rgba(63, 81, 181, 0.14); position: absolute; top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; -webkit-transition: opacity 250ms linear; transition: opacity 250ms linear; border-radius: 50%; opacity: 0; pointer-events: none; content: ""; } @supports (background-color: color(green a(10%))) { .mdc-radio::before { background-color: color(var(--mdc-theme-primary, #3f51b5) a(14%)); } } .mdc-radio.mdc-ripple-upgraded::before { top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; /* @alternate */ -webkit-transform: scale(0); transform: scale(0); -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0)); transform: scale(var(--mdc-ripple-fg-scale, 0)); } .mdc-radio.mdc-ripple-upgraded--background-focused::before { opacity: .99999; } .mdc-radio.mdc-ripple-upgraded--background-active-fill::before { -webkit-transition-duration: 120ms; transition-duration: 120ms; opacity: 1; } .mdc-radio.mdc-ripple-upgraded--unbounded::before { /* @alternate */ top: calc(50% - 50%); top: var(--mdc-ripple-top, calc(50% - 50%)); /* @alternate */ left: calc(50% - 50%); left: var(--mdc-ripple-left, calc(50% - 50%)); /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); /* @alternate */ -webkit-transform: scale(0); transform: scale(0); -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0)); transform: scale(var(--mdc-ripple-fg-scale, 0)); } .mdc-radio::after { /* @alternate */ background-color: rgba(63, 81, 181, 0.14); position: absolute; top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; -webkit-transition: opacity 250ms linear; transition: opacity 250ms linear; border-radius: 50%; opacity: 0; pointer-events: none; content: ""; } @supports (background-color: color(green a(10%))) { .mdc-radio::after { background-color: color(var(--mdc-theme-primary, #3f51b5) a(14%)); } } .mdc-radio.mdc-ripple-upgraded::after { top: 0; left: 0; /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; opacity: 0; } .mdc-radio:not(.mdc-ripple-upgraded--unbounded)::after { -webkit-transform-origin: center center; transform-origin: center center; } .mdc-radio.mdc-ripple-upgraded--unbounded::after { /* @alternate */ top: 0; top: var(--mdc-ripple-top, 0); /* @alternate */ left: 0; left: var(--mdc-ripple-left, 0); /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; } .mdc-radio.mdc-ripple-upgraded--foreground-activation::after { -webkit-animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; } .mdc-radio.mdc-ripple-upgraded--foreground-deactivation::after { -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); -webkit-animation: 83ms mdc-ripple-fg-opacity-out; animation: 83ms mdc-ripple-fg-opacity-out; } .mdc-radio::before, .mdc-radio::after { top: 0; left: 0; width: 100%; height: 100%; } .mdc-radio.mdc-ripple-upgraded .mdc-radio__background::before { content: none; } .mdc-radio__background { display: inline-block; position: absolute; left: 10px; width: 50%; height: 50%; -webkit-box-sizing: border-box; box-sizing: border-box; } .mdc-radio__background::before { /* @alternate */ background-color: #3f51b5; background-color: var(--mdc-theme-primary, #3f51b5); position: absolute; top: 0; left: 0; width: 100%; height: 100%; -webkit-transform: scale(0, 0); transform: scale(0, 0); -webkit-transition: opacity 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1); transition: opacity 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1); transition: opacity 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1), transform 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1); transition: opacity 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1), transform 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1); border-radius: 50%; content: ""; opacity: 0; pointer-events: none; } .mdc-radio__outer-circle { /* @alternate */ border-color: rgba(0, 0, 0, 0.54); border-color: var(--mdc-theme-text-secondary-on-light, rgba(0, 0, 0, 0.54)); position: absolute; top: 0; left: 0; width: 100%; height: 100%; -webkit-transition: border-color 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1); transition: border-color 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1); border-width: 2px; border-style: solid; border-radius: 50%; -webkit-box-sizing: border-box; box-sizing: border-box; } .mdc-radio--theme-dark .mdc-radio__outer-circle, .mdc-theme--dark .mdc-radio__outer-circle { /* @alternate */ border-color: rgba(255, 255, 255, 0.7); border-color: var(--mdc-theme-text-secondary-on-dark, rgba(255, 255, 255, 0.7)); } .mdc-radio__inner-circle { /* @alternate */ background-color: rgba(0, 0, 0, 0.54); background-color: var(--mdc-theme-text-secondary-on-light, rgba(0, 0, 0, 0.54)); position: absolute; top: 0; left: 0; width: 100%; height: 100%; -webkit-transform: scale(0, 0); transform: scale(0, 0); -webkit-transition: background-color 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1); transition: background-color 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1); transition: transform 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1), background-color 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1); transition: transform 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1), background-color 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1); border-radius: 50%; -webkit-box-sizing: border-box; box-sizing: border-box; } .mdc-radio--theme-dark .mdc-radio__inner-circle, .mdc-theme--dark .mdc-radio__inner-circle { /* @alternate */ background-color: rgba(255, 255, 255, 0.7); background-color: var(--mdc-theme-text-secondary-on-dark, rgba(255, 255, 255, 0.7)); } .mdc-radio__native-control { position: absolute; top: 0; left: 0; width: 100%; height: 100%; margin: 0; padding: 0; cursor: inherit; opacity: 0; z-index: 1; } .mdc-radio__native-control:checked + .mdc-radio__background, .mdc-radio__native-control:disabled + .mdc-radio__background { -webkit-transition: opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1); transition: opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1); transition: opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1), transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1); transition: opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1), transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1); } .mdc-radio__native-control:checked + .mdc-radio__background .mdc-radio__outer-circle, .mdc-radio__native-control:disabled + .mdc-radio__background .mdc-radio__outer-circle { -webkit-transition: border-color 120ms 0ms cubic-bezier(0, 0, 0.2, 1); transition: border-color 120ms 0ms cubic-bezier(0, 0, 0.2, 1); } .mdc-radio__native-control:checked + .mdc-radio__background .mdc-radio__inner-circle, .mdc-radio__native-control:disabled + .mdc-radio__background .mdc-radio__inner-circle { -webkit-transition: background-color 120ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1); transition: background-color 120ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1); transition: transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1), background-color 120ms 0ms cubic-bezier(0, 0, 0.2, 1); transition: transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1), background-color 120ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1); } .mdc-radio--disabled { cursor: default; pointer-events: none; } .mdc-radio__native-control:checked + .mdc-radio__background .mdc-radio__outer-circle { /* @alternate */ border-color: #3f51b5; border-color: var(--mdc-theme-primary, #3f51b5); } .mdc-radio__native-control:checked + .mdc-radio__background .mdc-radio__inner-circle { /* @alternate */ background-color: #3f51b5; background-color: var(--mdc-theme-primary, #3f51b5); -webkit-transform: scale(0.5); transform: scale(0.5); -webkit-transition: background-color 120ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1); transition: background-color 120ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1); transition: transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1), background-color 120ms 0ms cubic-bezier(0, 0, 0.2, 1); transition: transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1), background-color 120ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1); } .mdc-radio__native-control:disabled + .mdc-radio__background, fieldset:disabled .mdc-radio__native-control + .mdc-radio__background, [aria-disabled="true"] .mdc-radio__native-control + .mdc-radio__background { cursor: default; } .mdc-radio__native-control:disabled + .mdc-radio__background .mdc-radio__outer-circle, fieldset:disabled .mdc-radio__native-control + .mdc-radio__background .mdc-radio__outer-circle, [aria-disabled="true"] .mdc-radio__native-control + .mdc-radio__background .mdc-radio__outer-circle { border-color: rgba(0, 0, 0, 0.26); } .mdc-radio--theme-dark .mdc-radio__native-control:disabled + .mdc-radio__background .mdc-radio__outer-circle, .mdc-theme--dark .mdc-radio__native-control:disabled + .mdc-radio__background .mdc-radio__outer-circle, .mdc-radio--theme-dark fieldset:disabled .mdc-radio__native-control + .mdc-radio__background .mdc-radio__outer-circle, .mdc-theme--dark fieldset:disabled .mdc-radio__native-control + .mdc-radio__background .mdc-radio__outer-circle, .mdc-radio--theme-dark [aria-disabled="true"] .mdc-radio__native-control + .mdc-radio__background .mdc-radio__outer-circle, .mdc-theme--dark [aria-disabled="true"] .mdc-radio__native-control + .mdc-radio__background .mdc-radio__outer-circle { border-color: rgba(255, 255, 255, 0.3); } .mdc-radio__native-control:disabled + .mdc-radio__background .mdc-radio__inner-circle, fieldset:disabled .mdc-radio__native-control + .mdc-radio__background .mdc-radio__inner-circle, [aria-disabled="true"] .mdc-radio__native-control + .mdc-radio__background .mdc-radio__inner-circle { background-color: rgba(0, 0, 0, 0.26); } .mdc-radio--theme-dark .mdc-radio__native-control:disabled + .mdc-radio__background .mdc-radio__inner-circle, .mdc-theme--dark .mdc-radio__native-control:disabled + .mdc-radio__background .mdc-radio__inner-circle, .mdc-radio--theme-dark fieldset:disabled .mdc-radio__native-control + .mdc-radio__background .mdc-radio__inner-circle, .mdc-theme--dark fieldset:disabled .mdc-radio__native-control + .mdc-radio__background .mdc-radio__inner-circle, .mdc-radio--theme-dark [aria-disabled="true"] .mdc-radio__native-control + .mdc-radio__background .mdc-radio__inner-circle, .mdc-theme--dark [aria-disabled="true"] .mdc-radio__native-control + .mdc-radio__background .mdc-radio__inner-circle { background-color: rgba(255, 255, 255, 0.3); } .mdc-radio__native-control:focus + .mdc-radio__background::before { -webkit-transform: scale(2, 2); transform: scale(2, 2); -webkit-transition: opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1); transition: opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1); transition: opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1), transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1); transition: opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1), transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1); opacity: .26; } /* Precomputed linear color channel values, for use in contrast calculations. See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests Algorithm, for c in 0 to 255: f(c) { c = c / 255; return c < 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4); } This lookup table is needed since there is no `pow` in SASS. */ /** * Calculate the luminance for a color. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Calculate the contrast ratio between two colors. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Determine whether to use dark or light text on top of given color. * Returns "dark" for dark text and "light" for light text. */ /* Main theme colors. If you're a user customizing your color scheme in SASS, these are probably the only variables you need to change. */ /* Indigo 500 */ /* Pink A200 */ /* White */ /* Which set of text colors to use for each main theme color (light or dark) */ /* Text colors according to light vs dark and text type */ /* Primary text colors for each of the theme colors */ /** * Applies the correct theme color style to the specified property. * $property is typically color or background-color, but can be any CSS property that accepts color values. * $style should be one of the map keys in $mdc-theme-property-values (_variables.scss). */ /** * Creates a rule to be used in MDC-Web components for dark theming, and applies the provided contents. * Should provide the $root-selector option if applied to anything other than the root selector. * When used with a modifier class, provide a second argument of `true` for the $compound parameter * to specify that this should be attached as a compound class. * * Usage example: * * ```scss * .mdc-foo { * color: black; * * @include mdc-theme-dark { * color: white; * } * * &__bar { * background: black; * * @include mdc-theme-dark(".mdc-foo") { * background: white; * } * } * } * * .mdc-foo--disabled { * opacity: .38; * * @include mdc-theme-dark(".mdc-foo", true) { * opacity: .5; * } * } * ``` */ /* Precomputed linear color channel values, for use in contrast calculations. See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests Algorithm, for c in 0 to 255: f(c) { c = c / 255; return c < 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4); } This lookup table is needed since there is no `pow` in SASS. */ /** * Calculate the luminance for a color. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Calculate the contrast ratio between two colors. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Determine whether to use dark or light text on top of given color. * Returns "dark" for dark text and "light" for light text. */ /* Main theme colors. If you're a user customizing your color scheme in SASS, these are probably the only variables you need to change. */ /* Indigo 500 */ /* Pink A200 */ /* White */ /* Which set of text colors to use for each main theme color (light or dark) */ /* Text colors according to light vs dark and text type */ /* Primary text colors for each of the theme colors */ /** MDC Ripple keyframes are split into their own file so that _mixins.scss can rely on them. */ @keyframes mdc-ripple-fg-radius-in { from { -webkit-transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1); transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1); -webkit-animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); } to { -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); } } @keyframes mdc-ripple-fg-opacity-in { from { opacity: 0; -webkit-animation-timing-function: linear; animation-timing-function: linear; } to { opacity: 1; } } @keyframes mdc-ripple-fg-opacity-out { from { opacity: 1; -webkit-animation-timing-function: linear; animation-timing-function: linear; } to { opacity: 0; } } .mdc-ripple-surface { --mdc-ripple-surface-width: 0; --mdc-ripple-surface-height: 0; --mdc-ripple-fg-size: 0; --mdc-ripple-left: 0; --mdc-ripple-top: 0; --mdc-ripple-fg-scale: 1; --mdc-ripple-fg-translate-end: 0; --mdc-ripple-fg-translate-start: 0; will-change: transform, opacity; -webkit-tap-highlight-color: transparent; position: relative; outline: none; overflow: hidden; } .mdc-ripple-surface:not(.mdc-ripple-upgraded):hover::before, .mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before, .mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after { -webkit-transition-duration: 85ms; transition-duration: 85ms; opacity: .6; } .mdc-ripple-surface::before { background-color: rgba(0, 0, 0, 0.06); position: absolute; top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; -webkit-transition: opacity 250ms linear; transition: opacity 250ms linear; border-radius: 50%; opacity: 0; pointer-events: none; content: ""; } .mdc-ripple-surface.mdc-ripple-upgraded::before { top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; /* @alternate */ -webkit-transform: scale(0); transform: scale(0); -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0)); transform: scale(var(--mdc-ripple-fg-scale, 0)); } .mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before { opacity: .99999; } .mdc-ripple-surface.mdc-ripple-upgraded--background-active-fill::before { -webkit-transition-duration: 120ms; transition-duration: 120ms; opacity: 1; } .mdc-ripple-surface.mdc-ripple-upgraded--unbounded::before { /* @alternate */ top: calc(50% - 50%); top: var(--mdc-ripple-top, calc(50% - 50%)); /* @alternate */ left: calc(50% - 50%); left: var(--mdc-ripple-left, calc(50% - 50%)); /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); /* @alternate */ -webkit-transform: scale(0); transform: scale(0); -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0)); transform: scale(var(--mdc-ripple-fg-scale, 0)); } .mdc-ripple-surface::after { background-color: rgba(0, 0, 0, 0.06); position: absolute; top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; -webkit-transition: opacity 250ms linear; transition: opacity 250ms linear; border-radius: 50%; opacity: 0; pointer-events: none; content: ""; } .mdc-ripple-surface.mdc-ripple-upgraded::after { top: 0; left: 0; /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; opacity: 0; } .mdc-ripple-surface:not(.mdc-ripple-upgraded--unbounded)::after { -webkit-transform-origin: center center; transform-origin: center center; } .mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after { /* @alternate */ top: 0; top: var(--mdc-ripple-top, 0); /* @alternate */ left: 0; left: var(--mdc-ripple-left, 0); /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; } .mdc-ripple-surface.mdc-ripple-upgraded--foreground-activation::after { -webkit-animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; } .mdc-ripple-surface.mdc-ripple-upgraded--foreground-deactivation::after { -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); -webkit-animation: 83ms mdc-ripple-fg-opacity-out; animation: 83ms mdc-ripple-fg-opacity-out; } .mdc-ripple-surface[data-mdc-ripple-is-unbounded] { overflow: visible; } .mdc-ripple-surface--primary::before, .mdc-ripple-surface--primary::after { /* @alternate */ background-color: #3f51b5; background-color: var(--mdc-theme-primary, #3f51b5); } .mdc-ripple-surface--primary::before { /* @alternate */ background-color: rgba(63, 81, 181, 0.16); position: absolute; top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; -webkit-transition: opacity 250ms linear; transition: opacity 250ms linear; border-radius: 50%; opacity: 0; pointer-events: none; content: ""; } @supports (background-color: color(green a(10%))) { .mdc-ripple-surface--primary::before { background-color: color(var(--mdc-theme-primary, #3f51b5) a(16%)); } } .mdc-ripple-surface--primary.mdc-ripple-upgraded::before { top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; /* @alternate */ -webkit-transform: scale(0); transform: scale(0); -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0)); transform: scale(var(--mdc-ripple-fg-scale, 0)); } .mdc-ripple-surface--primary.mdc-ripple-upgraded--background-focused::before { opacity: .99999; } .mdc-ripple-surface--primary.mdc-ripple-upgraded--background-active-fill::before { -webkit-transition-duration: 120ms; transition-duration: 120ms; opacity: 1; } .mdc-ripple-surface--primary.mdc-ripple-upgraded--unbounded::before { /* @alternate */ top: calc(50% - 50%); top: var(--mdc-ripple-top, calc(50% - 50%)); /* @alternate */ left: calc(50% - 50%); left: var(--mdc-ripple-left, calc(50% - 50%)); /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); /* @alternate */ -webkit-transform: scale(0); transform: scale(0); -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0)); transform: scale(var(--mdc-ripple-fg-scale, 0)); } .mdc-ripple-surface--primary::after { /* @alternate */ background-color: rgba(63, 81, 181, 0.16); position: absolute; top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; -webkit-transition: opacity 250ms linear; transition: opacity 250ms linear; border-radius: 50%; opacity: 0; pointer-events: none; content: ""; } @supports (background-color: color(green a(10%))) { .mdc-ripple-surface--primary::after { background-color: color(var(--mdc-theme-primary, #3f51b5) a(16%)); } } .mdc-ripple-surface--primary.mdc-ripple-upgraded::after { top: 0; left: 0; /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; opacity: 0; } .mdc-ripple-surface--primary:not(.mdc-ripple-upgraded--unbounded)::after { -webkit-transform-origin: center center; transform-origin: center center; } .mdc-ripple-surface--primary.mdc-ripple-upgraded--unbounded::after { /* @alternate */ top: 0; top: var(--mdc-ripple-top, 0); /* @alternate */ left: 0; left: var(--mdc-ripple-left, 0); /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; } .mdc-ripple-surface--primary.mdc-ripple-upgraded--foreground-activation::after { -webkit-animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; } .mdc-ripple-surface--primary.mdc-ripple-upgraded--foreground-deactivation::after { -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); -webkit-animation: 83ms mdc-ripple-fg-opacity-out; animation: 83ms mdc-ripple-fg-opacity-out; } .mdc-ripple-surface--accent::before, .mdc-ripple-surface--accent::after { /* @alternate */ background-color: #3f51b5; background-color: var(--mdc-theme-primary, #3f51b5); } .mdc-ripple-surface--accent::before { /* @alternate */ background-color: rgba(255, 64, 129, 0.16); position: absolute; top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; -webkit-transition: opacity 250ms linear; transition: opacity 250ms linear; border-radius: 50%; opacity: 0; pointer-events: none; content: ""; } @supports (background-color: color(green a(10%))) { .mdc-ripple-surface--accent::before { background-color: color(var(--mdc-theme-accent, #ff4081) a(16%)); } } .mdc-ripple-surface--accent.mdc-ripple-upgraded::before { top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; /* @alternate */ -webkit-transform: scale(0); transform: scale(0); -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0)); transform: scale(var(--mdc-ripple-fg-scale, 0)); } .mdc-ripple-surface--accent.mdc-ripple-upgraded--background-focused::before { opacity: .99999; } .mdc-ripple-surface--accent.mdc-ripple-upgraded--background-active-fill::before { -webkit-transition-duration: 120ms; transition-duration: 120ms; opacity: 1; } .mdc-ripple-surface--accent.mdc-ripple-upgraded--unbounded::before { /* @alternate */ top: calc(50% - 50%); top: var(--mdc-ripple-top, calc(50% - 50%)); /* @alternate */ left: calc(50% - 50%); left: var(--mdc-ripple-left, calc(50% - 50%)); /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); /* @alternate */ -webkit-transform: scale(0); transform: scale(0); -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0)); transform: scale(var(--mdc-ripple-fg-scale, 0)); } .mdc-ripple-surface--accent::after { /* @alternate */ background-color: rgba(255, 64, 129, 0.16); position: absolute; top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; -webkit-transition: opacity 250ms linear; transition: opacity 250ms linear; border-radius: 50%; opacity: 0; pointer-events: none; content: ""; } @supports (background-color: color(green a(10%))) { .mdc-ripple-surface--accent::after { background-color: color(var(--mdc-theme-accent, #ff4081) a(16%)); } } .mdc-ripple-surface--accent.mdc-ripple-upgraded::after { top: 0; left: 0; /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; opacity: 0; } .mdc-ripple-surface--accent:not(.mdc-ripple-upgraded--unbounded)::after { -webkit-transform-origin: center center; transform-origin: center center; } .mdc-ripple-surface--accent.mdc-ripple-upgraded--unbounded::after { /* @alternate */ top: 0; top: var(--mdc-ripple-top, 0); /* @alternate */ left: 0; left: var(--mdc-ripple-left, 0); /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; } .mdc-ripple-surface--accent.mdc-ripple-upgraded--foreground-activation::after { -webkit-animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; } .mdc-ripple-surface--accent.mdc-ripple-upgraded--foreground-deactivation::after { -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); -webkit-animation: 83ms mdc-ripple-fg-opacity-out; animation: 83ms mdc-ripple-fg-opacity-out; } /* TODO(sgomes): Figure out what to do about desktop font sizes. */ /* TODO(sgomes): Figure out what to do about i18n and i18n font sizes. */ /* Precomputed linear color channel values, for use in contrast calculations. See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests Algorithm, for c in 0 to 255: f(c) { c = c / 255; return c < 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4); } This lookup table is needed since there is no `pow` in SASS. */ /** * Calculate the luminance for a color. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Calculate the contrast ratio between two colors. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Determine whether to use dark or light text on top of given color. * Returns "dark" for dark text and "light" for light text. */ /* Main theme colors. If you're a user customizing your color scheme in SASS, these are probably the only variables you need to change. */ /* Indigo 500 */ /* Pink A200 */ /* White */ /* Which set of text colors to use for each main theme color (light or dark) */ /* Text colors according to light vs dark and text type */ /* Primary text colors for each of the theme colors */ /** * Applies the correct theme color style to the specified property. * $property is typically color or background-color, but can be any CSS property that accepts color values. * $style should be one of the map keys in $mdc-theme-property-values (_variables.scss). */ /** * Creates a rule to be used in MDC-Web components for dark theming, and applies the provided contents. * Should provide the $root-selector option if applied to anything other than the root selector. * When used with a modifier class, provide a second argument of `true` for the $compound parameter * to specify that this should be attached as a compound class. * * Usage example: * * ```scss * .mdc-foo { * color: black; * * @include mdc-theme-dark { * color: white; * } * * &__bar { * background: black; * * @include mdc-theme-dark(".mdc-foo") { * background: white; * } * } * } * * .mdc-foo--disabled { * opacity: .38; * * @include mdc-theme-dark(".mdc-foo", true) { * opacity: .5; * } * } * ``` */ /** * Creates a rule that will be applied when an MDC-Web component is within the context of an RTL layout. * * Usage Example: * ```scss * .mdc-foo { * position: absolute; * left: 0; * * @include mdc-rtl { * left: auto; * right: 0; * } * * &__bar { * margin-left: 4px; * @include mdc-rtl(".mdc-foo") { * margin-left: auto; * margin-right: 4px; * } * } * } * * .mdc-foo--mod { * padding-left: 4px; * * @include mdc-rtl { * padding-left: auto; * padding-right: 4px; * } * } * ``` * * Note that this works by checking for [dir="rtl"] on an ancestor element. While this will work * in most cases, it will in some cases lead to false negatives, e.g. * * ```html * * *
*
Styled incorrectly as RTL!
*
* * ``` * * In the future, selectors such as :dir (http://mdn.io/:dir) will help us mitigate this. */ /** * Takes a base box-model property - e.g. margin / border / padding - along with a default * direction and value, and emits rules which apply the value to the * "-" property by default, but flips the direction * when within an RTL context. * * For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-box(margin, left, 8px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-left: 8px; * * @include mdc-rtl { * margin-right: 8px; * margin-left: 0; * } * } * ``` * whereas: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-box(margin, right, 8px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-right: 8px; * * @include mdc-rtl { * margin-right: 0; * margin-left: 8px; * } * } * ``` * * You can also pass a 4th optional $root-selector argument which will be forwarded to `mdc-rtl`, * e.g. `@include mdc-rtl-reflexive-box(margin, left, 8px, ".mdc-component")`. * * Note that this function will always zero out the original value in an RTL context. If you're * trying to flip the values, use mdc-rtl-reflexive-property(). */ /** * Takes a base property and emits rules that assign -left to and * -right to in a LTR context, and vice versa in a RTL context. * For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-property(margin, auto, 12px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-left: auto; * margin-right: 12px; * * @include mdc-rtl { * margin-left: 12px; * margin-right: auto; * } * } * ``` * * A 4th optional $root-selector argument can be given, which will be passed to `mdc-rtl`. */ /** * Takes an argument specifying a horizontal position property (either "left" or "right") as well * as a value, and applies that value to the specified position in a LTR context, and flips it in a * RTL context. For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-position(left, 0); * position: absolute; * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * position: absolute; * left: 0; * right: initial; * * @include mdc-rtl { * right: 0; * left: initial; * } * } * ``` * An optional third $root-selector argument may also be given, which is passed to `mdc-rtl`. */ .mdc-select { font-family: Roboto, sans-serif; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-size: 1rem; font-weight: 400; letter-spacing: 0.04em; line-height: 1.75rem; text-decoration: inherit; text-transform: inherit; /* @alternate */ color: rgba(0, 0, 0, 0.87); color: var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87)); padding-left: 0; padding-right: 24px; -webkit-appearance: none; -moz-appearance: none; appearance: none; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; max-width: calc(100% - 24px); height: 32px; -webkit-transition: border-bottom-color 150ms 0ms cubic-bezier(0.4, 0, 0.6, 1), background-color 150ms 0ms cubic-bezier(0.4, 0, 0.6, 1); transition: border-bottom-color 150ms 0ms cubic-bezier(0.4, 0, 0.6, 1), background-color 150ms 0ms cubic-bezier(0.4, 0, 0.6, 1); border: none; border-bottom: 1px solid rgba(0, 0, 0, 0.12); border-radius: 0; background: none; background-repeat: no-repeat; background-position: right center; background-image: url(data:image/svg+xml,%3Csvg%20width%3D%2210px%22%20height%3D%225px%22%20viewBox%3D%227%2010%2010%205%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%0A%20%20%20%20%3Cpolygon%20id%3D%22Shape%22%20stroke%3D%22none%22%20fill%3D%22%230%22%20fill-rule%3D%22evenodd%22%20opacity%3D%220.54%22%20points%3D%227%2010%2012%2015%2017%2010%22%3E%3C%2Fpolygon%3E%0A%3C%2Fsvg%3E); font-family: Roboto, sans-serif; font-size: .936rem; cursor: pointer; } [dir="rtl"] .mdc-select, .mdc-select[dir="rtl"] { padding-left: 24px; padding-right: 0; } .mdc-select::-ms-expand { display: none; } .mdc-select:focus { /* @alternate */ border-bottom-color: #3f51b5; border-bottom-color: var(--mdc-theme-primary, #3f51b5); outline: none; background-color: rgba(0, 0, 0, 0.06); } [dir="rtl"] .mdc-select, .mdc-select[dir="rtl"] { background-position: left center; } .mdc-select--theme-dark, .mdc-theme--dark .mdc-select { /* @alternate */ color: white; color: var(--mdc-theme-text-primary-on-dark, white); background-image: url(data:image/svg+xml,%3Csvg%20width%3D%2210px%22%20height%3D%225px%22%20viewBox%3D%227%2010%2010%205%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%0A%20%20%20%20%3Cpolygon%20id%3D%22Shape%22%20stroke%3D%22none%22%20fill%3D%22%23ffffff%22%20fill-rule%3D%22evenodd%22%20opacity%3D%220.54%22%20points%3D%227%2010%2012%2015%2017%2010%22%3E%3C%2Fpolygon%3E%0A%3C%2Fsvg%3E); border-bottom: 1px solid rgba(255, 255, 255, 0.12); } .mdc-select--theme-dark:focus, .mdc-theme--dark .mdc-select:focus { /* @alternate */ border-bottom-color: #3f51b5; border-bottom-color: var(--mdc-theme-primary, #3f51b5); background-color: rgba(255, 255, 255, 0.09); } .mdc-select__menu { position: fixed; top: 0; left: 0; max-height: 100%; -webkit-transform-origin: center center; transform-origin: center center; overflow-y: scroll; z-index: 4; } .mdc-select__selected-text { -webkit-transition: opacity 125ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 125ms 0ms cubic-bezier(0.4, 0, 0.6, 1); transition: opacity 125ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 125ms 0ms cubic-bezier(0.4, 0, 0.6, 1); transition: opacity 125ms 0ms cubic-bezier(0.4, 0, 0.6, 1), transform 125ms 0ms cubic-bezier(0.4, 0, 0.6, 1); transition: opacity 125ms 0ms cubic-bezier(0.4, 0, 0.6, 1), transform 125ms 0ms cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 125ms 0ms cubic-bezier(0.4, 0, 0.6, 1); white-space: nowrap; overflow: hidden; } .mdc-select--open .mdc-select__selected-text { -webkit-transform: translateY(8px); transform: translateY(8px); -webkit-transition: opacity 125ms 125ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 125ms 125ms cubic-bezier(0, 0, 0.2, 1); transition: opacity 125ms 125ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 125ms 125ms cubic-bezier(0, 0, 0.2, 1); transition: opacity 125ms 125ms cubic-bezier(0, 0, 0.2, 1), transform 125ms 125ms cubic-bezier(0, 0, 0.2, 1); transition: opacity 125ms 125ms cubic-bezier(0, 0, 0.2, 1), transform 125ms 125ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 125ms 125ms cubic-bezier(0, 0, 0.2, 1); opacity: 0; } .mdc-select--disabled, .mdc-select[disabled] { /* @alternate */ color: rgba(0, 0, 0, 0.38); color: var(--mdc-theme-text-disabled-on-light, rgba(0, 0, 0, 0.38)); background-image: url(data:image/svg+xml,%3Csvg%20width%3D%2210px%22%20height%3D%225px%22%20viewBox%3D%227%2010%2010%205%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%0A%20%20%20%20%3Cpolygon%20id%3D%22Shape%22%20stroke%3D%22none%22%20fill%3D%22%230%22%20fill-rule%3D%22evenodd%22%20opacity%3D%220.38%22%20points%3D%227%2010%2012%2015%2017%2010%22%3E%3C%2Fpolygon%3E%0A%3C%2Fsvg%3E); border-bottom-style: dotted; cursor: default; pointer-events: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .mdc-select--theme-dark.mdc-select--disabled, .mdc-theme--dark .mdc-select--disabled { /* @alternate */ color: rgba(255, 255, 255, 0.5); color: var(--mdc-theme-text-disabled-on-dark, rgba(255, 255, 255, 0.5)); background-image: url(data:image/svg+xml,%3Csvg%20width%3D%2210px%22%20height%3D%225px%22%20viewBox%3D%227%2010%2010%205%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%0A%20%20%20%20%3Cpolygon%20id%3D%22Shape%22%20stroke%3D%22none%22%20fill%3D%22%23ffffff%22%20fill-rule%3D%22evenodd%22%20opacity%3D%220.38%22%20points%3D%227%2010%2012%2015%2017%2010%22%3E%3C%2Fpolygon%3E%0A%3C%2Fsvg%3E); border-bottom: 1px dotted rgba(255, 255, 255, 0.38); } .mdc-select--theme-dark.mdc-select[disabled], .mdc-theme--dark .mdc-select[disabled] { /* @alternate */ color: rgba(255, 255, 255, 0.5); color: var(--mdc-theme-text-disabled-on-dark, rgba(255, 255, 255, 0.5)); background-image: url(data:image/svg+xml,%3Csvg%20width%3D%2210px%22%20height%3D%225px%22%20viewBox%3D%227%2010%2010%205%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%0A%20%20%20%20%3Cpolygon%20id%3D%22Shape%22%20stroke%3D%22none%22%20fill%3D%22%23ffffff%22%20fill-rule%3D%22evenodd%22%20opacity%3D%220.38%22%20points%3D%227%2010%2012%2015%2017%2010%22%3E%3C%2Fpolygon%3E%0A%3C%2Fsvg%3E); border-bottom: 1px dotted rgba(255, 255, 255, 0.38); } .mdc-select__menu .mdc-list-item { font-family: Roboto, sans-serif; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-size: 1rem; font-weight: 400; letter-spacing: 0.04em; line-height: 1.75rem; text-decoration: inherit; text-transform: inherit; /* @alternate */ color: rgba(0, 0, 0, 0.54); color: var(--mdc-theme-text-secondary-on-light, rgba(0, 0, 0, 0.54)); } .mdc-select__menu .mdc-list-item[aria-selected="true"] { /* @alternate */ color: rgba(0, 0, 0, 0.87); color: var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87)); } .mdc-select--theme-dark .mdc-select__menu .mdc-list-item, .mdc-theme--dark .mdc-select__menu .mdc-list-item { /* @alternate */ color: rgba(255, 255, 255, 0.7); color: var(--mdc-theme-text-secondary-on-dark, rgba(255, 255, 255, 0.7)); } .mdc-select--theme-dark .mdc-select__menu .mdc-list-item[aria-selected="true"], .mdc-theme--dark .mdc-select__menu .mdc-list-item[aria-selected="true"] { /* @alternate */ color: white; color: var(--mdc-theme-text-primary-on-dark, white); } .mdc-select__menu .mdc-list-group, .mdc-select__menu .mdc-list-group > .mdc-list-item:first-child { margin-top: 12px; } .mdc-select__menu .mdc-list-group { /* @alternate */ color: rgba(0, 0, 0, 0.38); color: var(--mdc-theme-text-hint-on-light, rgba(0, 0, 0, 0.38)); font-weight: normal; } .mdc-select__menu .mdc-list-group .mdc-list-item { /* @alternate */ color: rgba(0, 0, 0, 0.87); color: var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87)); } .mdc-select--theme-dark .mdc-select__menu .mdc-list-group, .mdc-theme--dark .mdc-select__menu .mdc-list-group { /* @alternate */ color: rgba(255, 255, 255, 0.5); color: var(--mdc-theme-text-hint-on-dark, rgba(255, 255, 255, 0.5)); } .mdc-select--theme-dark .mdc-select__menu .mdc-list-group .mdc-list-item, .mdc-theme--dark .mdc-select__menu .mdc-list-group .mdc-list-item { /* @alternate */ color: white; color: var(--mdc-theme-text-primary-on-dark, white); } .mdc-multi-select { -webkit-appearance: none; -moz-appearance: none; appearance: none; width: 250px; padding: 0; border: 1px solid; /* @alternate */ border-color: rgba(0, 0, 0, 0.38); border-color: var(--mdc-theme-text-hint-on-light, rgba(0, 0, 0, 0.38)); outline: none; } .mdc-multi-select--theme-dark, .mdc-theme--dark .mdc-multi-select { /* @alternate */ border-color: rgba(255, 255, 255, 0.5); border-color: var(--mdc-theme-text-hint-on-dark, rgba(255, 255, 255, 0.5)); } .mdc-multi-select .mdc-list-group { margin: 16px 0 0; padding: 0 0 0 16px; /* @alternate */ color: rgba(0, 0, 0, 0.38); color: var(--mdc-theme-text-hint-on-light, rgba(0, 0, 0, 0.38)); font-weight: normal; } .mdc-multi-select .mdc-list-group--theme-dark, .mdc-theme--dark .mdc-multi-select .mdc-list-group { /* @alternate */ color: rgba(255, 255, 255, 0.5); color: var(--mdc-theme-text-hint-on-dark, rgba(255, 255, 255, 0.5)); } .mdc-multi-select .mdc-list-group:last-child { margin-bottom: 16px; } .mdc-multi-select .mdc-list-group .mdc-list-divider { margin-left: -16px; } .mdc-multi-select .mdc-list-item { margin: 0 0 0 -16px; padding: 0 16px; /* @alternate */ color: rgba(0, 0, 0, 0.87); color: var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87)); } .mdc-multi-select .mdc-list-item--theme-dark, .mdc-theme--dark .mdc-multi-select .mdc-list-item { /* @alternate */ color: white; color: var(--mdc-theme-text-primary-on-dark, white); } .mdc-multi-select .mdc-list-item:first-child { margin-top: 12px; } .mdc-multi-select .mdc-list-item:last-child { margin-bottom: 8px; } .mdc-multi-select .mdc-list-item:checked { background-color: rgba(0, 0, 0, 0.12); /* @alternate */ background-color: #fff; background-color: var(--mdc-theme-background, #fff); } .mdc-multi-select .mdc-list-item:checked--theme-dark, .mdc-theme--dark .mdc-multi-select .mdc-list-item:checked { /* @alternate */ background-color: white; background-color: var(--mdc-theme-text-primary-on-dark, white); } .mdc-multi-select .mdc-list-divider { margin-bottom: 8px; padding-top: 8px; font-size: 0; } .mdc-multi-select:focus .mdc-list-item:checked { /* @alternate */ background-color: #3f51b5; background-color: var(--mdc-theme-primary, #3f51b5); } .mdc-multi-select:focus .mdc-list-item:checked--theme-dark, .mdc-theme--dark .mdc-multi-select:focus .mdc-list-item:checked { /* @alternate */ background-color: white; background-color: var(--mdc-theme-text-primary-on-dark, white); } /* Precomputed linear color channel values, for use in contrast calculations. See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests Algorithm, for c in 0 to 255: f(c) { c = c / 255; return c < 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4); } This lookup table is needed since there is no `pow` in SASS. */ /** * Calculate the luminance for a color. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Calculate the contrast ratio between two colors. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Determine whether to use dark or light text on top of given color. * Returns "dark" for dark text and "light" for light text. */ /* Main theme colors. If you're a user customizing your color scheme in SASS, these are probably the only variables you need to change. */ /* Indigo 500 */ /* Pink A200 */ /* White */ /* Which set of text colors to use for each main theme color (light or dark) */ /* Text colors according to light vs dark and text type */ /* Primary text colors for each of the theme colors */ /** * Applies the correct theme color style to the specified property. * $property is typically color or background-color, but can be any CSS property that accepts color values. * $style should be one of the map keys in $mdc-theme-property-values (_variables.scss). */ /** * Creates a rule to be used in MDC-Web components for dark theming, and applies the provided contents. * Should provide the $root-selector option if applied to anything other than the root selector. * When used with a modifier class, provide a second argument of `true` for the $compound parameter * to specify that this should be attached as a compound class. * * Usage example: * * ```scss * .mdc-foo { * color: black; * * @include mdc-theme-dark { * color: white; * } * * &__bar { * background: black; * * @include mdc-theme-dark(".mdc-foo") { * background: white; * } * } * } * * .mdc-foo--disabled { * opacity: .38; * * @include mdc-theme-dark(".mdc-foo", true) { * opacity: .5; * } * } * ``` */ /* TODO(sgomes): Figure out what to do about desktop font sizes. */ /* TODO(sgomes): Figure out what to do about i18n and i18n font sizes. */ /** * Creates a rule that will be applied when an MDC-Web component is within the context of an RTL layout. * * Usage Example: * ```scss * .mdc-foo { * position: absolute; * left: 0; * * @include mdc-rtl { * left: auto; * right: 0; * } * * &__bar { * margin-left: 4px; * @include mdc-rtl(".mdc-foo") { * margin-left: auto; * margin-right: 4px; * } * } * } * * .mdc-foo--mod { * padding-left: 4px; * * @include mdc-rtl { * padding-left: auto; * padding-right: 4px; * } * } * ``` * * Note that this works by checking for [dir="rtl"] on an ancestor element. While this will work * in most cases, it will in some cases lead to false negatives, e.g. * * ```html * * *
*
Styled incorrectly as RTL!
*
* * ``` * * In the future, selectors such as :dir (http://mdn.io/:dir) will help us mitigate this. */ /** * Takes a base box-model property - e.g. margin / border / padding - along with a default * direction and value, and emits rules which apply the value to the * "-" property by default, but flips the direction * when within an RTL context. * * For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-box(margin, left, 8px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-left: 8px; * * @include mdc-rtl { * margin-right: 8px; * margin-left: 0; * } * } * ``` * whereas: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-box(margin, right, 8px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-right: 8px; * * @include mdc-rtl { * margin-right: 0; * margin-left: 8px; * } * } * ``` * * You can also pass a 4th optional $root-selector argument which will be forwarded to `mdc-rtl`, * e.g. `@include mdc-rtl-reflexive-box(margin, left, 8px, ".mdc-component")`. * * Note that this function will always zero out the original value in an RTL context. If you're * trying to flip the values, use mdc-rtl-reflexive-property(). */ /** * Takes a base property and emits rules that assign -left to and * -right to in a LTR context, and vice versa in a RTL context. * For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-property(margin, auto, 12px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-left: auto; * margin-right: 12px; * * @include mdc-rtl { * margin-left: 12px; * margin-right: auto; * } * } * ``` * * A 4th optional $root-selector argument can be given, which will be passed to `mdc-rtl`. */ /** * Takes an argument specifying a horizontal position property (either "left" or "right") as well * as a value, and applies that value to the specified position in a LTR context, and flips it in a * RTL context. For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-position(left, 0); * position: absolute; * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * position: absolute; * left: 0; * right: initial; * * @include mdc-rtl { * right: 0; * left: initial; * } * } * ``` * An optional third $root-selector argument may also be given, which is passed to `mdc-rtl`. */ @-webkit-keyframes mdc-slider-emphasize { 0% { -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 50% { -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; -webkit-transform: scale(0.85); transform: scale(0.85); } 100% { -webkit-transform: scale(0.571); transform: scale(0.571); } } @keyframes mdc-slider-emphasize { 0% { -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 50% { -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; -webkit-transform: scale(0.85); transform: scale(0.85); } 100% { -webkit-transform: scale(0.571); transform: scale(0.571); } } .mdc-slider { position: relative; width: 100%; height: 48px; cursor: pointer; -ms-touch-action: pan-x; touch-action: pan-x; -webkit-tap-highlight-color: transparent; } .mdc-slider:focus { outline: none; } .mdc-slider__track-container { position: absolute; top: 50%; width: 100%; height: 2px; background-color: #bdbdbd; overflow: hidden; } .mdc-slider--theme-dark .mdc-slider__track-container, .mdc-theme--dark .mdc-slider__track-container { background-color: #5c5c5c; } .mdc-slider__track { /* @alternate */ background-color: #3f51b5; background-color: var(--mdc-theme-primary, #3f51b5); position: absolute; width: 100%; height: 100%; -webkit-transform-origin: left top; transform-origin: left top; will-change: transform; } [dir="rtl"] .mdc-slider .mdc-slider__track, .mdc-slider[dir="rtl"] .mdc-slider__track { -webkit-transform-origin: right top; transform-origin: right top; } .mdc-slider__track-marker-container { display: -webkit-box; display: -ms-flexbox; display: flex; margin-right: 0; margin-left: -1px; visibility: hidden; } [dir="rtl"] .mdc-slider .mdc-slider__track-marker-container, .mdc-slider[dir="rtl"] .mdc-slider__track-marker-container { margin-right: -1px; margin-left: 0; } .mdc-slider__track-marker-container::after { display: block; width: 2px; height: 2px; background-color: #5c5c5c; content: ""; } .mdc-slider--theme-dark.mdc-slider__track-marker-container::after, .mdc-theme--dark .mdc-slider__track-marker-container::after { background-color: #bdbdbd; } .mdc-slider__track-marker { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; } .mdc-slider__track-marker::after { display: block; width: 2px; height: 2px; background-color: #5c5c5c; content: ""; } .mdc-slider--theme-dark.mdc-slider__track-marker::after, .mdc-theme--dark .mdc-slider__track-marker::after { background-color: #bdbdbd; } .mdc-slider__track-marker:first-child::after { width: 3px; } .mdc-slider__thumb-container { position: absolute; top: 15px; left: 0; width: 21px; height: 100%; will-change: transform; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .mdc-slider__thumb { /* @alternate */ fill: #3f51b5; fill: var(--mdc-theme-primary, #3f51b5); /* @alternate */ stroke: #3f51b5; stroke: var(--mdc-theme-primary, #3f51b5); position: absolute; top: 0; left: 0; -webkit-transform: scale(0.571); transform: scale(0.571); -webkit-transition: fill 100ms ease-out, stroke 100ms ease-out, -webkit-transform 100ms ease-out; transition: fill 100ms ease-out, stroke 100ms ease-out, -webkit-transform 100ms ease-out; transition: transform 100ms ease-out, fill 100ms ease-out, stroke 100ms ease-out; transition: transform 100ms ease-out, fill 100ms ease-out, stroke 100ms ease-out, -webkit-transform 100ms ease-out; stroke-width: 3.5; } .mdc-slider__focus-ring { /* @alternate */ background-color: #3f51b5; background-color: var(--mdc-theme-primary, #3f51b5); width: 21px; height: 21px; -webkit-transition: opacity 266.67ms ease-out, background-color 266.67ms ease-out, -webkit-transform 266.67ms ease-out; transition: opacity 266.67ms ease-out, background-color 266.67ms ease-out, -webkit-transform 266.67ms ease-out; transition: transform 266.67ms ease-out, opacity 266.67ms ease-out, background-color 266.67ms ease-out; transition: transform 266.67ms ease-out, opacity 266.67ms ease-out, background-color 266.67ms ease-out, -webkit-transform 266.67ms ease-out; border-radius: 50%; opacity: 0; } .mdc-slider__pin { /* @alternate */ background-color: #3f51b5; background-color: var(--mdc-theme-primary, #3f51b5); /* @alternate */ color: white; color: var(--mdc-theme-text-primary-on-primary, white); display: -webkit-box; display: -ms-flexbox; display: flex; position: absolute; top: 0; left: 0; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; width: 26px; height: 26px; margin-top: -2px; margin-left: -2px; -webkit-transform: rotate(-45deg) scale(0) translate(0, 0); transform: rotate(-45deg) scale(0) translate(0, 0); -webkit-transition: -webkit-transform 100ms ease-out; transition: -webkit-transform 100ms ease-out; transition: transform 100ms ease-out; transition: transform 100ms ease-out, -webkit-transform 100ms ease-out; border-radius: 50% 50% 50% 0%; /** * Ensuring that the pin is higher than the thumb in the stacking order * removes some rendering jank observed in Chrome. */ z-index: 1; } .mdc-slider__pin-value-marker { font-family: Roboto, sans-serif; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-size: 0.75rem; font-weight: 400; letter-spacing: 0.08em; line-height: 1.25rem; text-decoration: inherit; text-transform: inherit; -webkit-transform: rotate(45deg); transform: rotate(45deg); } .mdc-slider--active .mdc-slider__thumb { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); } .mdc-slider--focus .mdc-slider__thumb { -webkit-animation: mdc-slider-emphasize 266.67ms linear; animation: mdc-slider-emphasize 266.67ms linear; } .mdc-slider--focus .mdc-slider__focus-ring { -webkit-transform: scale3d(1.55, 1.55, 1.55); transform: scale3d(1.55, 1.55, 1.55); opacity: .25; } .mdc-slider--disabled { cursor: auto; } .mdc-slider--disabled .mdc-slider__track { background-color: #bdbdbd; } .mdc-slider--theme-dark.mdc-slider--disabled .mdc-slider__track, .mdc-theme--dark .mdc-slider--disabled .mdc-slider__track { background-color: #5c5c5c; } .mdc-slider--disabled .mdc-slider__thumb { fill: #bdbdbd !important; stroke: white !important; stroke: var(--mdc-slider-bg-color-behind-component, white) !important; } .mdc-slider--theme-dark.mdc-slider--disabled .mdc-slider__thumb, .mdc-theme--dark .mdc-slider--disabled .mdc-slider__thumb { fill: #5c5c5c !important; stroke: #333 !important; stroke: var(--mdc-slider-bg-color-behind-component, #333) !important; } .mdc-slider--off .mdc-slider__track { opacity: 0; } .mdc-slider--off .mdc-slider__thumb { fill: white; fill: var(--mdc-slider-bg-color-behind-component, white); stroke: #bdbdbd; } .mdc-slider--theme-dark.mdc-slider--off .mdc-slider__thumb, .mdc-theme--dark .mdc-slider--off .mdc-slider__thumb { fill: #333; fill: var(--mdc-slider-bg-color-behind-component, #333); stroke: #5c5c5c; } .mdc-slider--off .mdc-slider__pin { background-color: #bdbdbd; } .mdc-slider--theme-dark.mdc-slider--off .mdc-slider__pin, .mdc-theme--dark .mdc-slider--off .mdc-slider__pin { background-color: #5c5c5c; } .mdc-slider--off.mdc-slider--focus .mdc-slider__thumb { fill: #dedede; } .mdc-slider--theme-dark.mdc-slider--off.mdc-slider--focus .mdc-slider__thumb, .mdc-theme--dark .mdc-slider--off.mdc-slider--focus .mdc-slider__thumb { fill: #82848c; stroke: #82848c; } .mdc-slider--off.mdc-slider--active.mdc-slider--focus .mdc-slider__thumb { stroke: #8c8c8c; } .mdc-slider--theme-dark.mdc-slider--off.mdc-slider--active.mdc-slider--focus .mdc-slider__thumb, .mdc-theme--dark .mdc-slider--off.mdc-slider--active.mdc-slider--focus .mdc-slider__thumb { stroke: #5c5c5c; } .mdc-slider--off .mdc-slider__focus-ring { background-color: #bdbdbd; } .mdc-slider--in-transit .mdc-slider__thumb { -webkit-transition-delay: 140ms; transition-delay: 140ms; } .mdc-slider--in-transit .mdc-slider__thumb-container, .mdc-slider--in-transit .mdc-slider__track, .mdc-slider:focus:not(.mdc-slider--active) .mdc-slider__thumb-container, .mdc-slider:focus:not(.mdc-slider--active) .mdc-slider__track { -webkit-transition: -webkit-transform 80ms ease; transition: -webkit-transform 80ms ease; transition: transform 80ms ease; transition: transform 80ms ease, -webkit-transform 80ms ease; } .mdc-slider--discrete.mdc-slider--active .mdc-slider__thumb { -webkit-transform: scale(calc(12 / 21)); transform: scale(calc(12 / 21)); } .mdc-slider--discrete.mdc-slider--active .mdc-slider__pin { -webkit-transform: rotate(-45deg) scale(1) translate(19px, -20px); transform: rotate(-45deg) scale(1) translate(19px, -20px); } .mdc-slider--discrete.mdc-slider--focus .mdc-slider__thumb { -webkit-animation: none; animation: none; } .mdc-slider--discrete.mdc-slider--focus .mdc-slider__focus-ring { -webkit-transform: none; transform: none; opacity: 0; } .mdc-slider--discrete.mdc-slider--display-markers .mdc-slider__track-marker-container { visibility: visible; } /** * Creates a rule that will be applied when an MDC-Web component is within the context of an RTL layout. * * Usage Example: * ```scss * .mdc-foo { * position: absolute; * left: 0; * * @include mdc-rtl { * left: auto; * right: 0; * } * * &__bar { * margin-left: 4px; * @include mdc-rtl(".mdc-foo") { * margin-left: auto; * margin-right: 4px; * } * } * } * * .mdc-foo--mod { * padding-left: 4px; * * @include mdc-rtl { * padding-left: auto; * padding-right: 4px; * } * } * ``` * * Note that this works by checking for [dir="rtl"] on an ancestor element. While this will work * in most cases, it will in some cases lead to false negatives, e.g. * * ```html * * *
*
Styled incorrectly as RTL!
*
* * ``` * * In the future, selectors such as :dir (http://mdn.io/:dir) will help us mitigate this. */ /** * Takes a base box-model property - e.g. margin / border / padding - along with a default * direction and value, and emits rules which apply the value to the * "-" property by default, but flips the direction * when within an RTL context. * * For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-box(margin, left, 8px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-left: 8px; * * @include mdc-rtl { * margin-right: 8px; * margin-left: 0; * } * } * ``` * whereas: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-box(margin, right, 8px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-right: 8px; * * @include mdc-rtl { * margin-right: 0; * margin-left: 8px; * } * } * ``` * * You can also pass a 4th optional $root-selector argument which will be forwarded to `mdc-rtl`, * e.g. `@include mdc-rtl-reflexive-box(margin, left, 8px, ".mdc-component")`. * * Note that this function will always zero out the original value in an RTL context. If you're * trying to flip the values, use mdc-rtl-reflexive-property(). */ /** * Takes a base property and emits rules that assign -left to and * -right to in a LTR context, and vice versa in a RTL context. * For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-property(margin, auto, 12px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-left: auto; * margin-right: 12px; * * @include mdc-rtl { * margin-left: 12px; * margin-right: auto; * } * } * ``` * * A 4th optional $root-selector argument can be given, which will be passed to `mdc-rtl`. */ /** * Takes an argument specifying a horizontal position property (either "left" or "right") as well * as a value, and applies that value to the specified position in a LTR context, and flips it in a * RTL context. For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-position(left, 0); * position: absolute; * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * position: absolute; * left: 0; * right: initial; * * @include mdc-rtl { * right: 0; * left: initial; * } * } * ``` * An optional third $root-selector argument may also be given, which is passed to `mdc-rtl`. */ /* Precomputed linear color channel values, for use in contrast calculations. See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests Algorithm, for c in 0 to 255: f(c) { c = c / 255; return c < 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4); } This lookup table is needed since there is no `pow` in SASS. */ /** * Calculate the luminance for a color. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Calculate the contrast ratio between two colors. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Determine whether to use dark or light text on top of given color. * Returns "dark" for dark text and "light" for light text. */ /* Main theme colors. If you're a user customizing your color scheme in SASS, these are probably the only variables you need to change. */ /* Indigo 500 */ /* Pink A200 */ /* White */ /* Which set of text colors to use for each main theme color (light or dark) */ /* Text colors according to light vs dark and text type */ /* Primary text colors for each of the theme colors */ /** * Applies the correct theme color style to the specified property. * $property is typically color or background-color, but can be any CSS property that accepts color values. * $style should be one of the map keys in $mdc-theme-property-values (_variables.scss). */ /** * Creates a rule to be used in MDC-Web components for dark theming, and applies the provided contents. * Should provide the $root-selector option if applied to anything other than the root selector. * When used with a modifier class, provide a second argument of `true` for the $compound parameter * to specify that this should be attached as a compound class. * * Usage example: * * ```scss * .mdc-foo { * color: black; * * @include mdc-theme-dark { * color: white; * } * * &__bar { * background: black; * * @include mdc-theme-dark(".mdc-foo") { * background: white; * } * } * } * * .mdc-foo--disabled { * opacity: .38; * * @include mdc-theme-dark(".mdc-foo", true) { * opacity: .5; * } * } * ``` */ /* TODO(sgomes): Figure out what to do about desktop font sizes. */ /* TODO(sgomes): Figure out what to do about i18n and i18n font sizes. */ /* postcss-bem-linter: define snackbar */ .mdc-snackbar { display: -webkit-box; display: -ms-flexbox; display: flex; position: fixed; bottom: 0; left: 50%; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; padding-right: 24px; padding-left: 24px; -webkit-transform: translate(-50%, 100%); transform: translate(-50%, 100%); -webkit-transition: -webkit-transform 0.25s 0ms cubic-bezier(0.4, 0, 1, 1); transition: -webkit-transform 0.25s 0ms cubic-bezier(0.4, 0, 1, 1); transition: transform 0.25s 0ms cubic-bezier(0.4, 0, 1, 1); transition: transform 0.25s 0ms cubic-bezier(0.4, 0, 1, 1), -webkit-transform 0.25s 0ms cubic-bezier(0.4, 0, 1, 1); background-color: #323232; will-change: transform; pointer-events: none; /* stylelint-disable plugin/selector-bem-pattern */ /* stylelint-enable plugin/selector-bem-pattern */ } .mdc-snackbar--theme-dark .mdc-snackbar, .mdc-theme--dark .mdc-snackbar { background-color: #fafafa; } @media (max-width: 599px) { .mdc-snackbar { left: 0; width: calc(100% - 48px); -webkit-transform: translate(0, 100%); transform: translate(0, 100%); } } @media (min-width: 600px) { .mdc-snackbar { min-width: 288px; max-width: 568px; border-radius: 2px; } } @media (min-width: 600px) { .mdc-snackbar--align-start { bottom: 24px; left: 24px; right: initial; -webkit-transform: translate(0, 200%); transform: translate(0, 200%); } [dir="rtl"] .mdc-snackbar--align-start, .mdc-snackbar--align-start[dir="rtl"] { left: initial; right: 24px; } } @media (max-width: 599px) { .mdc-snackbar--align-start { bottom: 0; left: 0; width: calc(100% - 48px); -webkit-transform: translate(0, 100%); transform: translate(0, 100%); } } .mdc-snackbar--active { -webkit-transform: translate(0); transform: translate(0); pointer-events: auto; -webkit-transition: -webkit-transform 0.25s 0ms cubic-bezier(0, 0, 0.2, 1); transition: -webkit-transform 0.25s 0ms cubic-bezier(0, 0, 0.2, 1); transition: transform 0.25s 0ms cubic-bezier(0, 0, 0.2, 1); transition: transform 0.25s 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 0.25s 0ms cubic-bezier(0, 0, 0.2, 1); } .mdc-snackbar--active:not(.mdc-snackbar--align-start) { -webkit-transform: translate(-50%, 0); transform: translate(-50%, 0); } @media (max-width: 599px) { .mdc-snackbar--active:not(.mdc-snackbar--align-start) { bottom: 0; left: 0; width: calc(100% - 48px); -webkit-transform: translate(0); transform: translate(0); } } .mdc-snackbar--action-on-bottom { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; } .mdc-snackbar--action-on-bottom .mdc-snackbar__text { margin-right: inherit; } .mdc-snackbar--action-on-bottom .mdc-snackbar__action-wrapper { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; margin-top: -12px; margin-bottom: 8px; margin-left: auto; margin-right: 0; } [dir="rtl"] .mdc-snackbar--action-on-bottom .mdc-snackbar__action-wrapper, .mdc-snackbar--action-on-bottom .mdc-snackbar__action-wrapper[dir="rtl"] { margin-left: 0; margin-right: auto; } .mdc-snackbar__text { font-family: Roboto, sans-serif; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-size: 0.875rem; font-weight: 400; letter-spacing: 0.04em; line-height: 1.25rem; text-decoration: inherit; text-transform: inherit; margin-left: 0; margin-right: auto; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; height: 48px; -webkit-transition: opacity 0.3s 0ms cubic-bezier(0.4, 0, 1, 1); transition: opacity 0.3s 0ms cubic-bezier(0.4, 0, 1, 1); color: white; opacity: 0; } [dir="rtl"] .mdc-snackbar .mdc-snackbar__text, .mdc-snackbar[dir="rtl"] .mdc-snackbar__text { margin-left: auto; margin-right: 0; } .mdc-snackbar--theme-dark .mdc-snackbar__text, .mdc-theme--dark .mdc-snackbar__text { /* @alternate */ color: rgba(0, 0, 0, 0.87); color: var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87)); } .mdc-snackbar--multiline .mdc-snackbar__text { height: 80px; } .mdc-snackbar--multiline.mdc-snackbar--action-on-bottom .mdc-snackbar__text { margin: 0; } .mdc-snackbar__action-button { /* @alternate */ color: #ff4081; color: var(--mdc-theme-accent, #ff4081); margin-left: 0; margin-right: -16px; min-width: auto; height: inherit; -webkit-transition: opacity 0.3s 0ms cubic-bezier(0.4, 0, 1, 1); transition: opacity 0.3s 0ms cubic-bezier(0.4, 0, 1, 1); opacity: 0; visibility: hidden; } .mdc-snackbar--theme-dark .mdc-snackbar__action-button, .mdc-theme--dark .mdc-snackbar__action-button { /* @alternate */ color: #3f51b5; color: var(--mdc-theme-primary, #3f51b5); } [dir="rtl"] .mdc-snackbar .mdc-snackbar__action-button, .mdc-snackbar[dir="rtl"] .mdc-snackbar__action-button { margin-left: -16px; margin-right: 0; } .mdc-snackbar__action-button::-moz-focus-inner { border: 0; } .mdc-snackbar__action-button:not([aria-hidden]) { visibility: inherit; } .mdc-snackbar--active .mdc-snackbar__text, .mdc-snackbar--active .mdc-snackbar__action-button:not([aria-hidden]) { -webkit-transition: opacity 0.3s 0ms cubic-bezier(0.4, 0, 1, 1); transition: opacity 0.3s 0ms cubic-bezier(0.4, 0, 1, 1); opacity: 1; } /* postcss-bem-linter: end */ /** * The css property used for elevation. In most cases this should not be changed. It is exposed * as a variable for abstraction / easy use when needing to reference the property directly, for * example in a `will-change` rule. */ /** * The default duration value for elevation transitions. */ /** * The default easing value for elevation transitions. */ /** * Applies the correct css rules to an element to give it the elevation specified by $z-value. * The $z-value must be between 0 and 24. */ /** * Returns a string that can be used as the value for a `transition` property for elevation. * Calling this function directly is useful in situations where a component needs to transition * more than one property. * * ```scss * .foo { * transition: mdc-elevation-transition-rule(), opacity 100ms ease; * will-change: $mdc-elevation-property, opacity; * } * ``` */ /** * Applies the correct css rules needed to have an element transition between elevations. * This mixin should be applied to elements whose elevation values will change depending on their * context (e.g. when active or disabled). */ /* Precomputed linear color channel values, for use in contrast calculations. See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests Algorithm, for c in 0 to 255: f(c) { c = c / 255; return c < 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4); } This lookup table is needed since there is no `pow` in SASS. */ /** * Calculate the luminance for a color. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Calculate the contrast ratio between two colors. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Determine whether to use dark or light text on top of given color. * Returns "dark" for dark text and "light" for light text. */ /* Main theme colors. If you're a user customizing your color scheme in SASS, these are probably the only variables you need to change. */ /* Indigo 500 */ /* Pink A200 */ /* White */ /* Which set of text colors to use for each main theme color (light or dark) */ /* Text colors according to light vs dark and text type */ /* Primary text colors for each of the theme colors */ /** * Applies the correct theme color style to the specified property. * $property is typically color or background-color, but can be any CSS property that accepts color values. * $style should be one of the map keys in $mdc-theme-property-values (_variables.scss). */ /** * Creates a rule to be used in MDC-Web components for dark theming, and applies the provided contents. * Should provide the $root-selector option if applied to anything other than the root selector. * When used with a modifier class, provide a second argument of `true` for the $compound parameter * to specify that this should be attached as a compound class. * * Usage example: * * ```scss * .mdc-foo { * color: black; * * @include mdc-theme-dark { * color: white; * } * * &__bar { * background: black; * * @include mdc-theme-dark(".mdc-foo") { * background: white; * } * } * } * * .mdc-foo--disabled { * opacity: .38; * * @include mdc-theme-dark(".mdc-foo", true) { * opacity: .5; * } * } * ``` */ .mdc-switch { display: inline-block; position: relative; } .mdc-switch__native-control { display: inline-block; position: absolute; top: 0; left: 0; width: 34px; height: 14px; cursor: pointer; opacity: 0; z-index: 2; } .mdc-switch__background { display: block; position: relative; width: 34px; height: 14px; border-radius: 7px; outline: none; background-color: transparent; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .mdc-switch--theme-dark .mdc-switch__background, .mdc-theme--dark .mdc-switch__background { background-color: transparent; } .mdc-switch__background::before { display: block; position: absolute; top: 0; right: 0; bottom: 0; left: 0; -webkit-transition: opacity 90ms cubic-bezier(0.4, 0, 0.2, 1), background-color 90ms cubic-bezier(0.4, 0, 0.2, 1); transition: opacity 90ms cubic-bezier(0.4, 0, 0.2, 1), background-color 90ms cubic-bezier(0.4, 0, 0.2, 1); border-radius: 7px; background-color: #000; content: ""; opacity: .38; } .mdc-switch--theme-dark .mdc-switch__background::before, .mdc-theme--dark .mdc-switch__background::before { background-color: #fff; opacity: .3; } .mdc-switch__background .mdc-switch__knob { display: block; position: absolute; top: -3px; left: 0; width: 20px; height: 20px; -webkit-transform: translateX(0); transform: translateX(0); -webkit-transition: background-color 90ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 90ms cubic-bezier(0.4, 0, 0.2, 1); transition: background-color 90ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 90ms cubic-bezier(0.4, 0, 0.2, 1); transition: transform 90ms cubic-bezier(0.4, 0, 0.2, 1), background-color 90ms cubic-bezier(0.4, 0, 0.2, 1); transition: transform 90ms cubic-bezier(0.4, 0, 0.2, 1), background-color 90ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 90ms cubic-bezier(0.4, 0, 0.2, 1); border-radius: 10px; background-color: #fafafa; -webkit-box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); z-index: 1; } .mdc-switch--theme-dark .mdc-switch__background .mdc-switch__knob, .mdc-theme--dark .mdc-switch__background .mdc-switch__knob { background-color: #bdbdbd; } .mdc-switch__background .mdc-switch__knob::before { position: absolute; top: -14px; left: -14px; width: 48px; height: 48px; -webkit-transform: scale(0); transform: scale(0); -webkit-transition: background-color 90ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 90ms cubic-bezier(0.4, 0, 0.2, 1); transition: background-color 90ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 90ms cubic-bezier(0.4, 0, 0.2, 1); transition: transform 90ms cubic-bezier(0.4, 0, 0.2, 1), background-color 90ms cubic-bezier(0.4, 0, 0.2, 1); transition: transform 90ms cubic-bezier(0.4, 0, 0.2, 1), background-color 90ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 90ms cubic-bezier(0.4, 0, 0.2, 1); border-radius: 24px; background-color: transparent; content: ""; opacity: .2; } .mdc-switch__native-control:focus ~ .mdc-switch__background .mdc-switch__knob::before { position: absolute; width: 48px; height: 48px; -webkit-transform: scale(1); transform: scale(1); -webkit-transition: background-color 90ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 90ms cubic-bezier(0.4, 0, 0.2, 1); transition: background-color 90ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 90ms cubic-bezier(0.4, 0, 0.2, 1); transition: transform 90ms cubic-bezier(0.4, 0, 0.2, 1), background-color 90ms cubic-bezier(0.4, 0, 0.2, 1); transition: transform 90ms cubic-bezier(0.4, 0, 0.2, 1), background-color 90ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 90ms cubic-bezier(0.4, 0, 0.2, 1); border-radius: 24px; background-color: #9e9e9e; } .mdc-switch--theme-dark .mdc-switch__native-control:focus ~ .mdc-switch__background .mdc-switch__knob::before, .mdc-theme--dark .mdc-switch__native-control:focus ~ .mdc-switch__background .mdc-switch__knob::before { background-color: #f1f1f1; opacity: .14; } .mdc-switch__native-control:checked ~ .mdc-switch__background::before { /* @alternate */ background-color: #3f51b5; background-color: var(--mdc-theme-primary, #3f51b5); opacity: .5; } .mdc-switch__native-control:checked ~ .mdc-switch__background .mdc-switch__knob { -webkit-transform: translateX(14px); transform: translateX(14px); -webkit-transition: background-color 90ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 90ms cubic-bezier(0.4, 0, 0.2, 1); transition: background-color 90ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 90ms cubic-bezier(0.4, 0, 0.2, 1); transition: transform 90ms cubic-bezier(0.4, 0, 0.2, 1), background-color 90ms cubic-bezier(0.4, 0, 0.2, 1); transition: transform 90ms cubic-bezier(0.4, 0, 0.2, 1), background-color 90ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 90ms cubic-bezier(0.4, 0, 0.2, 1); /* @alternate */ background-color: #3f51b5; background-color: var(--mdc-theme-primary, #3f51b5); } .mdc-switch__native-control:checked ~ .mdc-switch__background .mdc-switch__knob::before { /* @alternate */ background-color: #3f51b5; background-color: var(--mdc-theme-primary, #3f51b5); opacity: .15; } .mdc-switch--theme-dark .mdc-switch__native-control:checked ~ .mdc-switch__background .mdc-switch__knob::before, .mdc-theme--dark .mdc-switch__native-control:checked ~ .mdc-switch__background .mdc-switch__knob::before { /* @alternate */ background-color: #3f51b5; background-color: var(--mdc-theme-primary, #3f51b5); } .mdc-switch__native-control:disabled { cursor: initial; } .mdc-switch__native-control:disabled ~ .mdc-switch__background::before { background-color: #000; opacity: .12; } .mdc-switch--theme-dark .mdc-switch__native-control:disabled ~ .mdc-switch__background::before, .mdc-theme--dark .mdc-switch__native-control:disabled ~ .mdc-switch__background::before { background-color: #fff; opacity: .1; } .mdc-switch__native-control:disabled ~ .mdc-switch__background .mdc-switch__knob { background-color: #bdbdbd; } .mdc-switch--theme-dark .mdc-switch__native-control:disabled ~ .mdc-switch__background .mdc-switch__knob, .mdc-theme--dark .mdc-switch__native-control:disabled ~ .mdc-switch__background .mdc-switch__knob { background-color: #424242; } /* TODO(sgomes): Figure out what to do about desktop font sizes. */ /* TODO(sgomes): Figure out what to do about i18n and i18n font sizes. */ /* Precomputed linear color channel values, for use in contrast calculations. See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests Algorithm, for c in 0 to 255: f(c) { c = c / 255; return c < 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4); } This lookup table is needed since there is no `pow` in SASS. */ /** * Calculate the luminance for a color. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Calculate the contrast ratio between two colors. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Determine whether to use dark or light text on top of given color. * Returns "dark" for dark text and "light" for light text. */ /* Main theme colors. If you're a user customizing your color scheme in SASS, these are probably the only variables you need to change. */ /* Indigo 500 */ /* Pink A200 */ /* White */ /* Which set of text colors to use for each main theme color (light or dark) */ /* Text colors according to light vs dark and text type */ /* Primary text colors for each of the theme colors */ /** * Applies the correct theme color style to the specified property. * $property is typically color or background-color, but can be any CSS property that accepts color values. * $style should be one of the map keys in $mdc-theme-property-values (_variables.scss). */ /** * Creates a rule to be used in MDC-Web components for dark theming, and applies the provided contents. * Should provide the $root-selector option if applied to anything other than the root selector. * When used with a modifier class, provide a second argument of `true` for the $compound parameter * to specify that this should be attached as a compound class. * * Usage example: * * ```scss * .mdc-foo { * color: black; * * @include mdc-theme-dark { * color: white; * } * * &__bar { * background: black; * * @include mdc-theme-dark(".mdc-foo") { * background: white; * } * } * } * * .mdc-foo--disabled { * opacity: .38; * * @include mdc-theme-dark(".mdc-foo", true) { * opacity: .5; * } * } * ``` */ /* Precomputed linear color channel values, for use in contrast calculations. See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests Algorithm, for c in 0 to 255: f(c) { c = c / 255; return c < 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4); } This lookup table is needed since there is no `pow` in SASS. */ /** * Calculate the luminance for a color. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Calculate the contrast ratio between two colors. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Determine whether to use dark or light text on top of given color. * Returns "dark" for dark text and "light" for light text. */ /* Main theme colors. If you're a user customizing your color scheme in SASS, these are probably the only variables you need to change. */ /* Indigo 500 */ /* Pink A200 */ /* White */ /* Which set of text colors to use for each main theme color (light or dark) */ /* Text colors according to light vs dark and text type */ /* Primary text colors for each of the theme colors */ /** MDC Ripple keyframes are split into their own file so that _mixins.scss can rely on them. */ @keyframes mdc-ripple-fg-radius-in { from { -webkit-transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1); transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1); -webkit-animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); } to { -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); } } @keyframes mdc-ripple-fg-opacity-in { from { opacity: 0; -webkit-animation-timing-function: linear; animation-timing-function: linear; } to { opacity: 1; } } @keyframes mdc-ripple-fg-opacity-out { from { opacity: 1; -webkit-animation-timing-function: linear; animation-timing-function: linear; } to { opacity: 0; } } /** * Creates a rule that will be applied when an MDC-Web component is within the context of an RTL layout. * * Usage Example: * ```scss * .mdc-foo { * position: absolute; * left: 0; * * @include mdc-rtl { * left: auto; * right: 0; * } * * &__bar { * margin-left: 4px; * @include mdc-rtl(".mdc-foo") { * margin-left: auto; * margin-right: 4px; * } * } * } * * .mdc-foo--mod { * padding-left: 4px; * * @include mdc-rtl { * padding-left: auto; * padding-right: 4px; * } * } * ``` * * Note that this works by checking for [dir="rtl"] on an ancestor element. While this will work * in most cases, it will in some cases lead to false negatives, e.g. * * ```html * * *
*
Styled incorrectly as RTL!
*
* * ``` * * In the future, selectors such as :dir (http://mdn.io/:dir) will help us mitigate this. */ /** * Takes a base box-model property - e.g. margin / border / padding - along with a default * direction and value, and emits rules which apply the value to the * "-" property by default, but flips the direction * when within an RTL context. * * For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-box(margin, left, 8px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-left: 8px; * * @include mdc-rtl { * margin-right: 8px; * margin-left: 0; * } * } * ``` * whereas: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-box(margin, right, 8px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-right: 8px; * * @include mdc-rtl { * margin-right: 0; * margin-left: 8px; * } * } * ``` * * You can also pass a 4th optional $root-selector argument which will be forwarded to `mdc-rtl`, * e.g. `@include mdc-rtl-reflexive-box(margin, left, 8px, ".mdc-component")`. * * Note that this function will always zero out the original value in an RTL context. If you're * trying to flip the values, use mdc-rtl-reflexive-property(). */ /** * Takes a base property and emits rules that assign -left to and * -right to in a LTR context, and vice versa in a RTL context. * For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-property(margin, auto, 12px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-left: auto; * margin-right: 12px; * * @include mdc-rtl { * margin-left: 12px; * margin-right: auto; * } * } * ``` * * A 4th optional $root-selector argument can be given, which will be passed to `mdc-rtl`. */ /** * Takes an argument specifying a horizontal position property (either "left" or "right") as well * as a value, and applies that value to the specified position in a LTR context, and flips it in a * RTL context. For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-position(left, 0); * position: absolute; * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * position: absolute; * left: 0; * right: initial; * * @include mdc-rtl { * right: 0; * left: initial; * } * } * ``` * An optional third $root-selector argument may also be given, which is passed to `mdc-rtl`. */ .mdc-tab { font-family: Roboto, sans-serif; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-size: 0.875rem; font-weight: 500; letter-spacing: 0.04em; line-height: 1.5rem; text-decoration: inherit; text-transform: inherit; display: table-cell; position: relative; -webkit-box-sizing: border-box; box-sizing: border-box; min-width: 160px; min-height: 48px; padding: 0 24px; text-align: center; text-decoration: none; white-space: nowrap; cursor: pointer; overflow: hidden; vertical-align: middle; /* @alternate */ color: rgba(0, 0, 0, 0.54); color: var(--mdc-theme-text-secondary-on-light, rgba(0, 0, 0, 0.54)); } .mdc-tab:hover { /* @alternate */ color: rgba(0, 0, 0, 0.87); color: var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87)); } .mdc-tab:focus { /* @alternate */ outline-color: rgba(0, 0, 0, 0.54); outline-color: var(--mdc-theme-text-secondary-on-light, rgba(0, 0, 0, 0.54)); } .mdc-tab-bar--theme-dark .mdc-tab, .mdc-theme--dark .mdc-tab { /* @alternate */ color: rgba(255, 255, 255, 0.7); color: var(--mdc-theme-text-secondary-on-dark, rgba(255, 255, 255, 0.7)); } .mdc-tab-bar--theme-dark .mdc-tab:hover, .mdc-theme--dark .mdc-tab:hover { /* @alternate */ color: white; color: var(--mdc-theme-text-primary-on-dark, white); } .mdc-tab-bar--theme-dark .mdc-tab:focus, .mdc-theme--dark .mdc-tab:focus { /* @alternate */ outline-color: rgba(255, 255, 255, 0.7); outline-color: var(--mdc-theme-text-secondary-on-dark, rgba(255, 255, 255, 0.7)); } @media screen and (max-width: 600px) { .mdc-tab { min-width: 72px; padding: 0 12px; } } .mdc-tab__icon { display: block; margin: 0 auto; width: 24px; height: 24px; } .mdc-tab-bar--icons-with-text .mdc-tab__icon { margin-top: 4px; } .mdc-tab__icon-text { display: block; margin: 0 auto; } .mdc-tab__icon + .mdc-tab__icon-text { padding-top: 6px; } .mdc-tab--active { /* @alternate */ color: rgba(0, 0, 0, 0.87); color: var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87)); } .mdc-tab-bar--theme-dark .mdc-tab--active, .mdc-theme--dark .mdc-tab--active { /* @alternate */ color: white; color: var(--mdc-theme-text-primary-on-dark, white); } .mdc-tab--active::before { bottom: 0; } .mdc-tab-bar:not(.mdc-tab-bar-upgraded) .mdc-tab { position: relative; } .mdc-tab-bar:not(.mdc-tab-bar-upgraded) .mdc-tab::after { display: none; position: absolute; top: 46px; left: 0; width: calc(100% - 4px); height: 2px; content: ""; pointer-events: none; /* @alternate */ background-color: rgba(0, 0, 0, 0.87); background-color: var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87)); } .mdc-tab-bar--theme-dark.mdc-tab-bar:not(.mdc-tab-bar-upgraded) .mdc-tab::after, .mdc-theme--dark .mdc-tab-bar:not(.mdc-tab-bar-upgraded) .mdc-tab::after { /* @alternate */ background-color: white; background-color: var(--mdc-theme-text-primary-on-dark, white); } .mdc-toolbar .mdc-tab-bar:not(.mdc-tab-bar-upgraded) .mdc-tab::after { /* @alternate */ background-color: white; background-color: var(--mdc-theme-text-primary-on-primary, white); } .mdc-tab-bar:not(.mdc-tab-bar-upgraded) .mdc-tab--active::after, .mdc-tab-bar:not(.mdc-tab-bar-upgraded) .mdc-tab:active::after, .mdc-tab-bar:not(.mdc-tab-bar-upgraded) .mdc-tab:hover::after { display: block; } .mdc-tab-bar:not(.mdc-tab-bar-upgraded) .mdc-tab:not(.mdc-tab--active):hover::after { opacity: .38; } .mdc-tab-bar:not(.mdc-tab-bar-upgraded) .mdc-tab--active, .mdc-tab-bar:not(.mdc-tab-bar-upgraded) .mdc-tab:not(.mdc-tab--active):active::after { opacity: .87; } .mdc-tab-bar--icons-with-text:not(.mdc-tab-bar-upgraded) .mdc-tab::after { top: 70px; } .mdc-tab.mdc-ripple-upgraded { --mdc-ripple-surface-width: 0; --mdc-ripple-surface-height: 0; --mdc-ripple-fg-size: 0; --mdc-ripple-left: 0; --mdc-ripple-top: 0; --mdc-ripple-fg-scale: 1; --mdc-ripple-fg-translate-end: 0; --mdc-ripple-fg-translate-start: 0; will-change: transform, opacity; -webkit-tap-highlight-color: transparent; } .mdc-tab.mdc-ripple-upgraded:not(.mdc-ripple-upgraded):hover::before, .mdc-tab.mdc-ripple-upgraded:not(.mdc-ripple-upgraded):focus::before, .mdc-tab.mdc-ripple-upgraded:not(.mdc-ripple-upgraded):active::after { -webkit-transition-duration: 85ms; transition-duration: 85ms; opacity: .6; } .mdc-tab.mdc-ripple-upgraded::after { background-color: rgba(0, 0, 0, 0.06); position: absolute; top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; -webkit-transition: opacity 250ms linear; transition: opacity 250ms linear; border-radius: 50%; opacity: 0; pointer-events: none; content: ""; } .mdc-tab.mdc-ripple-upgraded.mdc-ripple-upgraded::after { top: 0; left: 0; /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; opacity: 0; } .mdc-tab.mdc-ripple-upgraded:not(.mdc-ripple-upgraded--unbounded)::after { -webkit-transform-origin: center center; transform-origin: center center; } .mdc-tab.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded::after { /* @alternate */ top: 0; top: var(--mdc-ripple-top, 0); /* @alternate */ left: 0; left: var(--mdc-ripple-left, 0); /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; } .mdc-tab.mdc-ripple-upgraded.mdc-ripple-upgraded--foreground-activation::after { -webkit-animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; } .mdc-tab.mdc-ripple-upgraded.mdc-ripple-upgraded--foreground-deactivation::after { -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); -webkit-animation: 83ms mdc-ripple-fg-opacity-out; animation: 83ms mdc-ripple-fg-opacity-out; } .mdc-tab.mdc-ripple-upgraded::before { background-color: rgba(0, 0, 0, 0.06); position: absolute; top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; -webkit-transition: opacity 250ms linear; transition: opacity 250ms linear; border-radius: 50%; opacity: 0; pointer-events: none; content: ""; } .mdc-tab.mdc-ripple-upgraded.mdc-ripple-upgraded::before { top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; /* @alternate */ -webkit-transform: scale(0); transform: scale(0); -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0)); transform: scale(var(--mdc-ripple-fg-scale, 0)); } .mdc-tab.mdc-ripple-upgraded.mdc-ripple-upgraded--background-focused::before { opacity: .99999; } .mdc-tab.mdc-ripple-upgraded.mdc-ripple-upgraded--background-active-fill::before { -webkit-transition-duration: 120ms; transition-duration: 120ms; opacity: 1; } .mdc-tab.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded::before { /* @alternate */ top: calc(50% - 50%); top: var(--mdc-ripple-top, calc(50% - 50%)); /* @alternate */ left: calc(50% - 50%); left: var(--mdc-ripple-left, calc(50% - 50%)); /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); /* @alternate */ -webkit-transform: scale(0); transform: scale(0); -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0)); transform: scale(var(--mdc-ripple-fg-scale, 0)); } .mdc-tab-bar--theme-dark .mdc-tab.mdc-ripple-upgraded::before, .mdc-theme--dark .mdc-tab.mdc-ripple-upgraded::before { background-color: rgba(255, 255, 255, 0.16); position: absolute; top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; -webkit-transition: opacity 250ms linear; transition: opacity 250ms linear; border-radius: 50%; opacity: 0; pointer-events: none; content: ""; } .mdc-tab-bar--theme-dark .mdc-tab.mdc-ripple-upgraded.mdc-ripple-upgraded::before, .mdc-theme--dark .mdc-tab.mdc-ripple-upgraded.mdc-ripple-upgraded::before { top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; /* @alternate */ -webkit-transform: scale(0); transform: scale(0); -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0)); transform: scale(var(--mdc-ripple-fg-scale, 0)); } .mdc-tab-bar--theme-dark .mdc-tab.mdc-ripple-upgraded.mdc-ripple-upgraded--background-focused::before, .mdc-theme--dark .mdc-tab.mdc-ripple-upgraded.mdc-ripple-upgraded--background-focused::before { opacity: .99999; } .mdc-tab-bar--theme-dark .mdc-tab.mdc-ripple-upgraded.mdc-ripple-upgraded--background-active-fill::before, .mdc-theme--dark .mdc-tab.mdc-ripple-upgraded.mdc-ripple-upgraded--background-active-fill::before { -webkit-transition-duration: 120ms; transition-duration: 120ms; opacity: 1; } .mdc-tab-bar--theme-dark .mdc-tab.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded::before, .mdc-theme--dark .mdc-tab.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded::before { /* @alternate */ top: calc(50% - 50%); top: var(--mdc-ripple-top, calc(50% - 50%)); /* @alternate */ left: calc(50% - 50%); left: var(--mdc-ripple-left, calc(50% - 50%)); /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); /* @alternate */ -webkit-transform: scale(0); transform: scale(0); -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0)); transform: scale(var(--mdc-ripple-fg-scale, 0)); } .mdc-tab-bar--theme-dark .mdc-tab.mdc-ripple-upgraded::after, .mdc-theme--dark .mdc-tab.mdc-ripple-upgraded::after { background-color: rgba(255, 255, 255, 0.16); position: absolute; top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; -webkit-transition: opacity 250ms linear; transition: opacity 250ms linear; border-radius: 50%; opacity: 0; pointer-events: none; content: ""; } .mdc-tab-bar--theme-dark .mdc-tab.mdc-ripple-upgraded.mdc-ripple-upgraded::after, .mdc-theme--dark .mdc-tab.mdc-ripple-upgraded.mdc-ripple-upgraded::after { top: 0; left: 0; /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; opacity: 0; } .mdc-tab-bar--theme-dark .mdc-tab.mdc-ripple-upgraded:not(.mdc-ripple-upgraded--unbounded)::after, .mdc-theme--dark .mdc-tab.mdc-ripple-upgraded:not(.mdc-ripple-upgraded--unbounded)::after { -webkit-transform-origin: center center; transform-origin: center center; } .mdc-tab-bar--theme-dark .mdc-tab.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded::after, .mdc-theme--dark .mdc-tab.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded::after { /* @alternate */ top: 0; top: var(--mdc-ripple-top, 0); /* @alternate */ left: 0; left: var(--mdc-ripple-left, 0); /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; } .mdc-tab-bar--theme-dark .mdc-tab.mdc-ripple-upgraded.mdc-ripple-upgraded--foreground-activation::after, .mdc-theme--dark .mdc-tab.mdc-ripple-upgraded.mdc-ripple-upgraded--foreground-activation::after { -webkit-animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; } .mdc-tab-bar--theme-dark .mdc-tab.mdc-ripple-upgraded.mdc-ripple-upgraded--foreground-deactivation::after, .mdc-theme--dark .mdc-tab.mdc-ripple-upgraded.mdc-ripple-upgraded--foreground-deactivation::after { -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); -webkit-animation: 83ms mdc-ripple-fg-opacity-out; animation: 83ms mdc-ripple-fg-opacity-out; } .mdc-toolbar .mdc-tab.mdc-ripple-upgraded::before { background-color: rgba(255, 255, 255, 0.16); position: absolute; top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; -webkit-transition: opacity 250ms linear; transition: opacity 250ms linear; border-radius: 50%; opacity: 0; pointer-events: none; content: ""; } .mdc-toolbar .mdc-tab.mdc-ripple-upgraded.mdc-ripple-upgraded::before { top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; /* @alternate */ -webkit-transform: scale(0); transform: scale(0); -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0)); transform: scale(var(--mdc-ripple-fg-scale, 0)); } .mdc-toolbar .mdc-tab.mdc-ripple-upgraded.mdc-ripple-upgraded--background-focused::before { opacity: .99999; } .mdc-toolbar .mdc-tab.mdc-ripple-upgraded.mdc-ripple-upgraded--background-active-fill::before { -webkit-transition-duration: 120ms; transition-duration: 120ms; opacity: 1; } .mdc-toolbar .mdc-tab.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded::before { /* @alternate */ top: calc(50% - 50%); top: var(--mdc-ripple-top, calc(50% - 50%)); /* @alternate */ left: calc(50% - 50%); left: var(--mdc-ripple-left, calc(50% - 50%)); /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); /* @alternate */ -webkit-transform: scale(0); transform: scale(0); -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0)); transform: scale(var(--mdc-ripple-fg-scale, 0)); } .mdc-toolbar .mdc-tab.mdc-ripple-upgraded::after { background-color: rgba(255, 255, 255, 0.16); position: absolute; top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; -webkit-transition: opacity 250ms linear; transition: opacity 250ms linear; border-radius: 50%; opacity: 0; pointer-events: none; content: ""; } .mdc-toolbar .mdc-tab.mdc-ripple-upgraded.mdc-ripple-upgraded::after { top: 0; left: 0; /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; opacity: 0; } .mdc-toolbar .mdc-tab.mdc-ripple-upgraded:not(.mdc-ripple-upgraded--unbounded)::after { -webkit-transform-origin: center center; transform-origin: center center; } .mdc-toolbar .mdc-tab.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded::after { /* @alternate */ top: 0; top: var(--mdc-ripple-top, 0); /* @alternate */ left: 0; left: var(--mdc-ripple-left, 0); /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; } .mdc-toolbar .mdc-tab.mdc-ripple-upgraded.mdc-ripple-upgraded--foreground-activation::after { -webkit-animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; } .mdc-toolbar .mdc-tab.mdc-ripple-upgraded.mdc-ripple-upgraded--foreground-deactivation::after { -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); -webkit-animation: 83ms mdc-ripple-fg-opacity-out; animation: 83ms mdc-ripple-fg-opacity-out; } .mdc-tab.mdc-ripple-upgraded:focus { outline: none; } /* Precomputed linear color channel values, for use in contrast calculations. See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests Algorithm, for c in 0 to 255: f(c) { c = c / 255; return c < 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4); } This lookup table is needed since there is no `pow` in SASS. */ /** * Calculate the luminance for a color. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Calculate the contrast ratio between two colors. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Determine whether to use dark or light text on top of given color. * Returns "dark" for dark text and "light" for light text. */ /* Main theme colors. If you're a user customizing your color scheme in SASS, these are probably the only variables you need to change. */ /* Indigo 500 */ /* Pink A200 */ /* White */ /* Which set of text colors to use for each main theme color (light or dark) */ /* Text colors according to light vs dark and text type */ /* Primary text colors for each of the theme colors */ /** * Applies the correct theme color style to the specified property. * $property is typically color or background-color, but can be any CSS property that accepts color values. * $style should be one of the map keys in $mdc-theme-property-values (_variables.scss). */ /** * Creates a rule to be used in MDC-Web components for dark theming, and applies the provided contents. * Should provide the $root-selector option if applied to anything other than the root selector. * When used with a modifier class, provide a second argument of `true` for the $compound parameter * to specify that this should be attached as a compound class. * * Usage example: * * ```scss * .mdc-foo { * color: black; * * @include mdc-theme-dark { * color: white; * } * * &__bar { * background: black; * * @include mdc-theme-dark(".mdc-foo") { * background: white; * } * } * } * * .mdc-foo--disabled { * opacity: .38; * * @include mdc-theme-dark(".mdc-foo", true) { * opacity: .5; * } * } * ``` */ /** * Creates a rule that will be applied when an MDC-Web component is within the context of an RTL layout. * * Usage Example: * ```scss * .mdc-foo { * position: absolute; * left: 0; * * @include mdc-rtl { * left: auto; * right: 0; * } * * &__bar { * margin-left: 4px; * @include mdc-rtl(".mdc-foo") { * margin-left: auto; * margin-right: 4px; * } * } * } * * .mdc-foo--mod { * padding-left: 4px; * * @include mdc-rtl { * padding-left: auto; * padding-right: 4px; * } * } * ``` * * Note that this works by checking for [dir="rtl"] on an ancestor element. While this will work * in most cases, it will in some cases lead to false negatives, e.g. * * ```html * * *
*
Styled incorrectly as RTL!
*
* * ``` * * In the future, selectors such as :dir (http://mdn.io/:dir) will help us mitigate this. */ /** * Takes a base box-model property - e.g. margin / border / padding - along with a default * direction and value, and emits rules which apply the value to the * "-" property by default, but flips the direction * when within an RTL context. * * For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-box(margin, left, 8px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-left: 8px; * * @include mdc-rtl { * margin-right: 8px; * margin-left: 0; * } * } * ``` * whereas: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-box(margin, right, 8px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-right: 8px; * * @include mdc-rtl { * margin-right: 0; * margin-left: 8px; * } * } * ``` * * You can also pass a 4th optional $root-selector argument which will be forwarded to `mdc-rtl`, * e.g. `@include mdc-rtl-reflexive-box(margin, left, 8px, ".mdc-component")`. * * Note that this function will always zero out the original value in an RTL context. If you're * trying to flip the values, use mdc-rtl-reflexive-property(). */ /** * Takes a base property and emits rules that assign -left to and * -right to in a LTR context, and vice versa in a RTL context. * For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-property(margin, auto, 12px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-left: auto; * margin-right: 12px; * * @include mdc-rtl { * margin-left: 12px; * margin-right: auto; * } * } * ``` * * A 4th optional $root-selector argument can be given, which will be passed to `mdc-rtl`. */ /** * Takes an argument specifying a horizontal position property (either "left" or "right") as well * as a value, and applies that value to the specified position in a LTR context, and flips it in a * RTL context. For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-position(left, 0); * position: absolute; * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * position: absolute; * left: 0; * right: initial; * * @include mdc-rtl { * right: 0; * left: initial; * } * } * ``` * An optional third $root-selector argument may also be given, which is passed to `mdc-rtl`. */ .mdc-tab-bar { display: table; position: relative; height: 48px; margin: 0 auto; text-transform: uppercase; } .mdc-tab-bar__indicator { position: absolute; bottom: 0; left: 0; width: 100%; height: 2px; /* @alternate */ background-color: rgba(0, 0, 0, 0.87); background-color: var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87)); -webkit-transform-origin: left top; transform-origin: left top; -webkit-transition: -webkit-transform 240ms 0ms cubic-bezier(0, 0, 0.2, 1); transition: -webkit-transform 240ms 0ms cubic-bezier(0, 0, 0.2, 1); transition: transform 240ms 0ms cubic-bezier(0, 0, 0.2, 1); transition: transform 240ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 240ms 0ms cubic-bezier(0, 0, 0.2, 1); will-change: transform; visibility: hidden; } .mdc-tab-bar--theme-dark .mdc-tab-bar__indicator, .mdc-theme--dark .mdc-tab-bar__indicator { /* @alternate */ background-color: white; background-color: var(--mdc-theme-text-primary-on-dark, white); } .mdc-toolbar .mdc-tab-bar .mdc-tab { /* @alternate */ color: rgba(255, 255, 255, 0.7); color: var(--mdc-theme-text-secondary-on-primary, rgba(255, 255, 255, 0.7)); } .mdc-tab-bar--theme-dark .mdc-toolbar .mdc-tab-bar .mdc-tab, .mdc-theme--dark .mdc-toolbar .mdc-tab-bar .mdc-tab { /* @alternate */ color: rgba(255, 255, 255, 0.7); color: var(--mdc-theme-text-secondary-on-dark, rgba(255, 255, 255, 0.7)); } .mdc-toolbar .mdc-tab-bar .mdc-tab--active, .mdc-toolbar .mdc-tab-bar .mdc-tab:hover { /* @alternate */ color: white; color: var(--mdc-theme-text-primary-on-primary, white); } .mdc-tab-bar--theme-dark .mdc-toolbar .mdc-tab-bar .mdc-tab--active, .mdc-theme--dark .mdc-toolbar .mdc-tab-bar .mdc-tab--active, .mdc-tab-bar--theme-dark .mdc-toolbar .mdc-tab-bar .mdc-tab:hover, .mdc-theme--dark .mdc-toolbar .mdc-tab-bar .mdc-tab:hover { /* @alternate */ color: white; color: var(--mdc-theme-text-primary-on-dark, white); } .mdc-toolbar .mdc-tab-bar .mdc-tab-bar__indicator { /* @alternate */ background-color: white; background-color: var(--mdc-theme-text-primary-on-primary, white); } .mdc-tab-bar--theme-dark .mdc-toolbar .mdc-tab-bar .mdc-tab-bar__indicator, .mdc-theme--dark .mdc-toolbar .mdc-tab-bar .mdc-tab-bar__indicator { /* @alternate */ background-color: white; background-color: var(--mdc-theme-text-primary-on-dark, white); } .mdc-tab-bar--icons-with-text { height: 72px; } .mdc-tab-bar--indicator-primary .mdc-tab-bar__indicator, .mdc-toolbar .mdc-tab-bar--indicator-primary .mdc-tab-bar__indicator { /* @alternate */ background-color: #3f51b5; background-color: var(--mdc-theme-primary, #3f51b5); } .mdc-tab-bar--theme-dark .mdc-tab-bar--indicator-primary .mdc-tab-bar__indicator, .mdc-theme--dark .mdc-tab-bar--indicator-primary .mdc-tab-bar__indicator, .mdc-tab-bar--theme-dark .mdc-toolbar .mdc-tab-bar--indicator-primary .mdc-tab-bar__indicator, .mdc-theme--dark .mdc-toolbar .mdc-tab-bar--indicator-primary .mdc-tab-bar__indicator { /* @alternate */ background-color: #3f51b5; background-color: var(--mdc-theme-primary, #3f51b5); } .mdc-tab-bar--indicator-primary.mdc-tab-bar:not(.mdc-tab-bar-upgraded) .mdc-tab::after, .mdc-toolbar .mdc-tab-bar--indicator-primary.mdc-tab-bar:not(.mdc-tab-bar-upgraded) .mdc-tab::after { /* @alternate */ background-color: #3f51b5; background-color: var(--mdc-theme-primary, #3f51b5); } .mdc-tab-bar--indicator-accent .mdc-tab-bar__indicator, .mdc-toolbar .mdc-tab-bar--indicator-accent .mdc-tab-bar__indicator { /* @alternate */ background-color: #ff4081; background-color: var(--mdc-theme-accent, #ff4081); } .mdc-tab-bar--theme-dark .mdc-tab-bar--indicator-accent .mdc-tab-bar__indicator, .mdc-theme--dark .mdc-tab-bar--indicator-accent .mdc-tab-bar__indicator, .mdc-tab-bar--theme-dark .mdc-toolbar .mdc-tab-bar--indicator-accent .mdc-tab-bar__indicator, .mdc-theme--dark .mdc-toolbar .mdc-tab-bar--indicator-accent .mdc-tab-bar__indicator { /* @alternate */ background-color: #ff4081; background-color: var(--mdc-theme-accent, #ff4081); } .mdc-tab-bar--indicator-accent.mdc-tab-bar:not(.mdc-tab-bar-upgraded) .mdc-tab::after, .mdc-toolbar .mdc-tab-bar--indicator-accent.mdc-tab-bar:not(.mdc-tab-bar-upgraded) .mdc-tab::after { /* @alternate */ background-color: #ff4081; background-color: var(--mdc-theme-accent, #ff4081); } /* Precomputed linear color channel values, for use in contrast calculations. See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests Algorithm, for c in 0 to 255: f(c) { c = c / 255; return c < 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4); } This lookup table is needed since there is no `pow` in SASS. */ /** * Calculate the luminance for a color. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Calculate the contrast ratio between two colors. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Determine whether to use dark or light text on top of given color. * Returns "dark" for dark text and "light" for light text. */ /* Main theme colors. If you're a user customizing your color scheme in SASS, these are probably the only variables you need to change. */ /* Indigo 500 */ /* Pink A200 */ /* White */ /* Which set of text colors to use for each main theme color (light or dark) */ /* Text colors according to light vs dark and text type */ /* Primary text colors for each of the theme colors */ /** * Applies the correct theme color style to the specified property. * $property is typically color or background-color, but can be any CSS property that accepts color values. * $style should be one of the map keys in $mdc-theme-property-values (_variables.scss). */ /** * Creates a rule to be used in MDC-Web components for dark theming, and applies the provided contents. * Should provide the $root-selector option if applied to anything other than the root selector. * When used with a modifier class, provide a second argument of `true` for the $compound parameter * to specify that this should be attached as a compound class. * * Usage example: * * ```scss * .mdc-foo { * color: black; * * @include mdc-theme-dark { * color: white; * } * * &__bar { * background: black; * * @include mdc-theme-dark(".mdc-foo") { * background: white; * } * } * } * * .mdc-foo--disabled { * opacity: .38; * * @include mdc-theme-dark(".mdc-foo", true) { * opacity: .5; * } * } * ``` */ /** * Creates a rule that will be applied when an MDC-Web component is within the context of an RTL layout. * * Usage Example: * ```scss * .mdc-foo { * position: absolute; * left: 0; * * @include mdc-rtl { * left: auto; * right: 0; * } * * &__bar { * margin-left: 4px; * @include mdc-rtl(".mdc-foo") { * margin-left: auto; * margin-right: 4px; * } * } * } * * .mdc-foo--mod { * padding-left: 4px; * * @include mdc-rtl { * padding-left: auto; * padding-right: 4px; * } * } * ``` * * Note that this works by checking for [dir="rtl"] on an ancestor element. While this will work * in most cases, it will in some cases lead to false negatives, e.g. * * ```html * * *
*
Styled incorrectly as RTL!
*
* * ``` * * In the future, selectors such as :dir (http://mdn.io/:dir) will help us mitigate this. */ /** * Takes a base box-model property - e.g. margin / border / padding - along with a default * direction and value, and emits rules which apply the value to the * "-" property by default, but flips the direction * when within an RTL context. * * For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-box(margin, left, 8px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-left: 8px; * * @include mdc-rtl { * margin-right: 8px; * margin-left: 0; * } * } * ``` * whereas: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-box(margin, right, 8px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-right: 8px; * * @include mdc-rtl { * margin-right: 0; * margin-left: 8px; * } * } * ``` * * You can also pass a 4th optional $root-selector argument which will be forwarded to `mdc-rtl`, * e.g. `@include mdc-rtl-reflexive-box(margin, left, 8px, ".mdc-component")`. * * Note that this function will always zero out the original value in an RTL context. If you're * trying to flip the values, use mdc-rtl-reflexive-property(). */ /** * Takes a base property and emits rules that assign -left to and * -right to in a LTR context, and vice versa in a RTL context. * For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-property(margin, auto, 12px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-left: auto; * margin-right: 12px; * * @include mdc-rtl { * margin-left: 12px; * margin-right: auto; * } * } * ``` * * A 4th optional $root-selector argument can be given, which will be passed to `mdc-rtl`. */ /** * Takes an argument specifying a horizontal position property (either "left" or "right") as well * as a value, and applies that value to the specified position in a LTR context, and flips it in a * RTL context. For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-position(left, 0); * position: absolute; * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * position: absolute; * left: 0; * right: initial; * * @include mdc-rtl { * right: 0; * left: initial; * } * } * ``` * An optional third $root-selector argument may also be given, which is passed to `mdc-rtl`. */ .mdc-tab-bar-scroller { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-sizing: border-box; box-sizing: border-box; width: 100%; background-color: inherit; overflow: hidden; } .mdc-tab-bar-scroller__scroll-frame { display: -webkit-box; display: -ms-flexbox; display: flex; position: relative; -webkit-box-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; overflow: hidden; } .mdc-tab-bar-scroller__scroll-frame__tabs { -webkit-transition: -webkit-transform 240ms 0ms cubic-bezier(0, 0, 0.2, 1); transition: -webkit-transform 240ms 0ms cubic-bezier(0, 0, 0.2, 1); transition: transform 240ms 0ms cubic-bezier(0, 0, 0.2, 1); transition: transform 240ms 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 240ms 0ms cubic-bezier(0, 0, 0.2, 1); will-change: transform; } .mdc-tab-bar-scroller__indicator { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; width: 48px; cursor: pointer; visibility: hidden; /* @alternate */ color: rgba(0, 0, 0, 0.54); color: var(--mdc-theme-text-secondary-on-light, rgba(0, 0, 0, 0.54)); } .mdc-tab-bar--theme-dark .mdc-tab-bar-scroller__indicator, .mdc-theme--dark .mdc-tab-bar-scroller__indicator { /* @alternate */ color: rgba(255, 255, 255, 0.7); color: var(--mdc-theme-text-secondary-on-dark, rgba(255, 255, 255, 0.7)); } .mdc-tab-bar-scroller__indicator:hover { /* @alternate */ color: rgba(0, 0, 0, 0.87); color: var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87)); } .mdc-tab-bar--theme-dark .mdc-tab-bar-scroller__indicator:hover, .mdc-theme--dark .mdc-tab-bar-scroller__indicator:hover { /* @alternate */ color: white; color: var(--mdc-theme-text-primary-on-dark, white); } .mdc-tab-bar-scroller__indicator__inner { color: inherit; text-decoration: inherit; cursor: inherit; } .mdc-tab-bar-scroller__indicator__inner:focus { outline-color: inherit; } [dir="rtl"] .mdc-tab-bar-scroller .mdc-tab-bar-scroller__indicator__inner, .mdc-tab-bar-scroller[dir="rtl"] .mdc-tab-bar-scroller__indicator__inner { -webkit-transform: rotate(180deg); transform: rotate(180deg); } .mdc-tab-bar-scroller__indicator__inner:hover { color: inherit; } .mdc-tab-bar--theme-dark .mdc-tab-bar-scroller__indicator__inner:hover, .mdc-theme--dark .mdc-tab-bar-scroller__indicator__inner:hover { /* @alternate */ color: rgba(255, 255, 255, 0.7); color: var(--mdc-theme-text-secondary-on-dark, rgba(255, 255, 255, 0.7)); } .mdc-tab-bar-scroller__indicator--enabled { visibility: visible; } /* Precomputed linear color channel values, for use in contrast calculations. See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests Algorithm, for c in 0 to 255: f(c) { c = c / 255; return c < 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4); } This lookup table is needed since there is no `pow` in SASS. */ /** * Calculate the luminance for a color. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Calculate the contrast ratio between two colors. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Determine whether to use dark or light text on top of given color. * Returns "dark" for dark text and "light" for light text. */ /* Main theme colors. If you're a user customizing your color scheme in SASS, these are probably the only variables you need to change. */ /* Indigo 500 */ /* Pink A200 */ /* White */ /* Which set of text colors to use for each main theme color (light or dark) */ /* Text colors according to light vs dark and text type */ /* Primary text colors for each of the theme colors */ /** MDC Ripple keyframes are split into their own file so that _mixins.scss can rely on them. */ @keyframes mdc-ripple-fg-radius-in { from { -webkit-transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1); transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1); -webkit-animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); } to { -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); } } @keyframes mdc-ripple-fg-opacity-in { from { opacity: 0; -webkit-animation-timing-function: linear; animation-timing-function: linear; } to { opacity: 1; } } @keyframes mdc-ripple-fg-opacity-out { from { opacity: 1; -webkit-animation-timing-function: linear; animation-timing-function: linear; } to { opacity: 0; } } /** * Creates a rule that will be applied when an MDC-Web component is within the context of an RTL layout. * * Usage Example: * ```scss * .mdc-foo { * position: absolute; * left: 0; * * @include mdc-rtl { * left: auto; * right: 0; * } * * &__bar { * margin-left: 4px; * @include mdc-rtl(".mdc-foo") { * margin-left: auto; * margin-right: 4px; * } * } * } * * .mdc-foo--mod { * padding-left: 4px; * * @include mdc-rtl { * padding-left: auto; * padding-right: 4px; * } * } * ``` * * Note that this works by checking for [dir="rtl"] on an ancestor element. While this will work * in most cases, it will in some cases lead to false negatives, e.g. * * ```html * * *
*
Styled incorrectly as RTL!
*
* * ``` * * In the future, selectors such as :dir (http://mdn.io/:dir) will help us mitigate this. */ /** * Takes a base box-model property - e.g. margin / border / padding - along with a default * direction and value, and emits rules which apply the value to the * "-" property by default, but flips the direction * when within an RTL context. * * For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-box(margin, left, 8px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-left: 8px; * * @include mdc-rtl { * margin-right: 8px; * margin-left: 0; * } * } * ``` * whereas: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-box(margin, right, 8px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-right: 8px; * * @include mdc-rtl { * margin-right: 0; * margin-left: 8px; * } * } * ``` * * You can also pass a 4th optional $root-selector argument which will be forwarded to `mdc-rtl`, * e.g. `@include mdc-rtl-reflexive-box(margin, left, 8px, ".mdc-component")`. * * Note that this function will always zero out the original value in an RTL context. If you're * trying to flip the values, use mdc-rtl-reflexive-property(). */ /** * Takes a base property and emits rules that assign -left to and * -right to in a LTR context, and vice versa in a RTL context. * For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-property(margin, auto, 12px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-left: auto; * margin-right: 12px; * * @include mdc-rtl { * margin-left: 12px; * margin-right: auto; * } * } * ``` * * A 4th optional $root-selector argument can be given, which will be passed to `mdc-rtl`. */ /** * Takes an argument specifying a horizontal position property (either "left" or "right") as well * as a value, and applies that value to the specified position in a LTR context, and flips it in a * RTL context. For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-position(left, 0); * position: absolute; * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * position: absolute; * left: 0; * right: initial; * * @include mdc-rtl { * right: 0; * left: initial; * } * } * ``` * An optional third $root-selector argument may also be given, which is passed to `mdc-rtl`. */ /* Precomputed linear color channel values, for use in contrast calculations. See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests Algorithm, for c in 0 to 255: f(c) { c = c / 255; return c < 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4); } This lookup table is needed since there is no `pow` in SASS. */ /** * Calculate the luminance for a color. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Calculate the contrast ratio between two colors. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Determine whether to use dark or light text on top of given color. * Returns "dark" for dark text and "light" for light text. */ /* Main theme colors. If you're a user customizing your color scheme in SASS, these are probably the only variables you need to change. */ /* Indigo 500 */ /* Pink A200 */ /* White */ /* Which set of text colors to use for each main theme color (light or dark) */ /* Text colors according to light vs dark and text type */ /* Primary text colors for each of the theme colors */ /* Precomputed linear color channel values, for use in contrast calculations. See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests Algorithm, for c in 0 to 255: f(c) { c = c / 255; return c < 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4); } This lookup table is needed since there is no `pow` in SASS. */ /** * Calculate the luminance for a color. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Calculate the contrast ratio between two colors. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Determine whether to use dark or light text on top of given color. * Returns "dark" for dark text and "light" for light text. */ /* Main theme colors. If you're a user customizing your color scheme in SASS, these are probably the only variables you need to change. */ /* Indigo 500 */ /* Pink A200 */ /* White */ /* Which set of text colors to use for each main theme color (light or dark) */ /* Text colors according to light vs dark and text type */ /* Primary text colors for each of the theme colors */ /** * Applies the correct theme color style to the specified property. * $property is typically color or background-color, but can be any CSS property that accepts color values. * $style should be one of the map keys in $mdc-theme-property-values (_variables.scss). */ /** * Creates a rule to be used in MDC-Web components for dark theming, and applies the provided contents. * Should provide the $root-selector option if applied to anything other than the root selector. * When used with a modifier class, provide a second argument of `true` for the $compound parameter * to specify that this should be attached as a compound class. * * Usage example: * * ```scss * .mdc-foo { * color: black; * * @include mdc-theme-dark { * color: white; * } * * &__bar { * background: black; * * @include mdc-theme-dark(".mdc-foo") { * background: white; * } * } * } * * .mdc-foo--disabled { * opacity: .38; * * @include mdc-theme-dark(".mdc-foo", true) { * opacity: .5; * } * } * ``` */ /* TODO(sgomes): Figure out what to do about desktop font sizes. */ /* TODO(sgomes): Figure out what to do about i18n and i18n font sizes. */ /* TODO(sgomes): Figure out what to do about desktop font sizes. */ /* TODO(sgomes): Figure out what to do about i18n and i18n font sizes. */ .mdc-textfield { display: inline-block; margin-bottom: 8px; will-change: opacity, transform, color; } .mdc-textfield__input { /* @alternate */ color: rgba(0, 0, 0, 0.87); color: var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87)); font-family: Roboto, sans-serif; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-size: 1rem; letter-spacing: 0.04em; width: 100%; padding: 0 0 8px; border: none; background: none; font-size: inherit; -webkit-appearance: none; -moz-appearance: none; appearance: none; } .mdc-textfield__input::-webkit-input-placeholder { /* @alternate */ color: rgba(0, 0, 0, 0.38); color: var(--mdc-theme-text-hint-on-light, rgba(0, 0, 0, 0.38)); -webkit-transition: color 180ms cubic-bezier(0.4, 0, 0.2, 1); transition: color 180ms cubic-bezier(0.4, 0, 0.2, 1); opacity: 1; } .mdc-textfield__input:-ms-input-placeholder { /* @alternate */ color: rgba(0, 0, 0, 0.38); color: var(--mdc-theme-text-hint-on-light, rgba(0, 0, 0, 0.38)); -webkit-transition: color 180ms cubic-bezier(0.4, 0, 0.2, 1); transition: color 180ms cubic-bezier(0.4, 0, 0.2, 1); opacity: 1; } .mdc-textfield__input::placeholder { /* @alternate */ color: rgba(0, 0, 0, 0.38); color: var(--mdc-theme-text-hint-on-light, rgba(0, 0, 0, 0.38)); -webkit-transition: color 180ms cubic-bezier(0.4, 0, 0.2, 1); transition: color 180ms cubic-bezier(0.4, 0, 0.2, 1); opacity: 1; } .mdc-textfield__input:focus { outline: none; } .mdc-textfield__input:focus::-webkit-input-placeholder { /* @alternate */ color: rgba(0, 0, 0, 0.54); color: var(--mdc-theme-text-secondary-on-light, rgba(0, 0, 0, 0.54)); } .mdc-textfield__input:focus:-ms-input-placeholder { /* @alternate */ color: rgba(0, 0, 0, 0.54); color: var(--mdc-theme-text-secondary-on-light, rgba(0, 0, 0, 0.54)); } .mdc-textfield__input:focus::placeholder { /* @alternate */ color: rgba(0, 0, 0, 0.54); color: var(--mdc-theme-text-secondary-on-light, rgba(0, 0, 0, 0.54)); } .mdc-textfield__input:invalid { -webkit-box-shadow: none; box-shadow: none; } .mdc-textfield__input--theme-dark, .mdc-theme--dark .mdc-textfield__input { /* @alternate */ color: white; color: var(--mdc-theme-text-primary-on-dark, white); } .mdc-textfield__input--theme-dark::-webkit-input-placeholder, .mdc-theme--dark .mdc-textfield__input::-webkit-input-placeholder { /* @alternate */ color: rgba(255, 255, 255, 0.5); color: var(--mdc-theme-text-hint-on-dark, rgba(255, 255, 255, 0.5)); } .mdc-textfield__input--theme-dark:-ms-input-placeholder, .mdc-theme--dark .mdc-textfield__input:-ms-input-placeholder { /* @alternate */ color: rgba(255, 255, 255, 0.5); color: var(--mdc-theme-text-hint-on-dark, rgba(255, 255, 255, 0.5)); } .mdc-textfield__input--theme-dark::placeholder, .mdc-theme--dark .mdc-textfield__input::placeholder { /* @alternate */ color: rgba(255, 255, 255, 0.5); color: var(--mdc-theme-text-hint-on-dark, rgba(255, 255, 255, 0.5)); } .mdc-textfield__input--theme-dark:focus::-webkit-input-placeholder, .mdc-theme--dark .mdc-textfield__input:focus::-webkit-input-placeholder { /* @alternate */ color: rgba(255, 255, 255, 0.7); color: var(--mdc-theme-text-secondary-on-dark, rgba(255, 255, 255, 0.7)); } .mdc-textfield__input--theme-dark:focus:-ms-input-placeholder, .mdc-theme--dark .mdc-textfield__input:focus:-ms-input-placeholder { /* @alternate */ color: rgba(255, 255, 255, 0.7); color: var(--mdc-theme-text-secondary-on-dark, rgba(255, 255, 255, 0.7)); } .mdc-textfield__input--theme-dark:focus::placeholder, .mdc-theme--dark .mdc-textfield__input:focus::placeholder { /* @alternate */ color: rgba(255, 255, 255, 0.7); color: var(--mdc-theme-text-secondary-on-dark, rgba(255, 255, 255, 0.7)); } .mdc-textfield__label { /* @alternate */ color: rgba(0, 0, 0, 0.38); color: var(--mdc-theme-text-hint-on-light, rgba(0, 0, 0, 0.38)); position: absolute; bottom: 8px; left: 0; -webkit-transform-origin: left top; transform-origin: left top; -webkit-transition: color 180ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 180ms cubic-bezier(0.4, 0, 0.2, 1); transition: color 180ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 180ms cubic-bezier(0.4, 0, 0.2, 1); transition: transform 180ms cubic-bezier(0.4, 0, 0.2, 1), color 180ms cubic-bezier(0.4, 0, 0.2, 1); transition: transform 180ms cubic-bezier(0.4, 0, 0.2, 1), color 180ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 180ms cubic-bezier(0.4, 0, 0.2, 1); cursor: text; } [dir="rtl"] .mdc-textfield .mdc-textfield__label, .mdc-textfield[dir="rtl"] .mdc-textfield__label { right: 0; left: auto; -webkit-transform-origin: right top; transform-origin: right top; } .mdc-textfield--theme-dark .mdc-textfield__label, .mdc-theme--dark .mdc-textfield__label { /* @alternate */ color: rgba(255, 255, 255, 0.5); color: var(--mdc-theme-text-hint-on-dark, rgba(255, 255, 255, 0.5)); } .mdc-textfield__label--float-above { -webkit-transform: translateY(-100%) scale(0.75, 0.75); transform: translateY(-100%) scale(0.75, 0.75); cursor: auto; } .mdc-textfield__input:-webkit-autofill + .mdc-textfield__label { -webkit-transform: translateY(-100%) scale(0.75, 0.75); transform: translateY(-100%) scale(0.75, 0.75); cursor: auto; } .mdc-textfield--box { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; position: relative; height: 56px; border-radius: 4px 4px 0 0; background-color: rgba(0, 0, 0, 0.04); overflow: hidden; } .mdc-textfield--theme-dark.mdc-textfield--box, .mdc-theme--dark .mdc-textfield--box { background-color: rgba(255, 255, 255, 0.1); } .mdc-textfield--box::before, .mdc-textfield--box::after { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border-radius: 50%; background-color: inherit; content: ""; opacity: 0; pointer-events: none; } .mdc-textfield--box::before { -webkit-transition: opacity 17ms linear, -webkit-transform 0ms 85ms linear; transition: opacity 17ms linear, -webkit-transform 0ms 85ms linear; transition: opacity 17ms linear, transform 0ms 85ms linear; transition: opacity 17ms linear, transform 0ms 85ms linear, -webkit-transform 0ms 85ms linear; } .mdc-textfield--box:hover::before { -webkit-transition: opacity 83ms linear 17ms, -webkit-transform 250ms cubic-bezier(0, 0, 0.2, 1) 17ms; transition: opacity 83ms linear 17ms, -webkit-transform 250ms cubic-bezier(0, 0, 0.2, 1) 17ms; transition: opacity 83ms linear 17ms, transform 250ms cubic-bezier(0, 0, 0.2, 1) 17ms; transition: opacity 83ms linear 17ms, transform 250ms cubic-bezier(0, 0, 0.2, 1) 17ms, -webkit-transform 250ms cubic-bezier(0, 0, 0.2, 1) 17ms; opacity: 1; } .mdc-textfield--box .mdc-textfield__input { -ms-flex-item-align: end; align-self: flex-end; height: 100%; -webkit-box-sizing: border-box; box-sizing: border-box; padding: 20px 16px 0; } .mdc-textfield--box .mdc-textfield__label { left: 16px; right: initial; position: absolute; bottom: 20px; color: rgba(0, 0, 0, 0.6); pointer-events: none; will-change: transform; } [dir="rtl"] .mdc-textfield--box .mdc-textfield__label, .mdc-textfield--box .mdc-textfield__label[dir="rtl"] { left: initial; right: 16px; } .mdc-textfield--theme-dark .mdc-textfield--box .mdc-textfield__label, .mdc-theme--dark .mdc-textfield--box .mdc-textfield__label { /* @alternate */ color: rgba(255, 255, 255, 0.7); color: var(--mdc-theme-text-secondary-on-dark, rgba(255, 255, 255, 0.7)); } .mdc-textfield--box .mdc-textfield__label--float-above { -webkit-transform: translateY(-50%) scale(0.75, 0.75); transform: translateY(-50%) scale(0.75, 0.75); } .mdc-textfield--box.mdc-ripple-upgraded { --mdc-ripple-surface-width: 0; --mdc-ripple-surface-height: 0; --mdc-ripple-fg-size: 0; --mdc-ripple-left: 0; --mdc-ripple-top: 0; --mdc-ripple-fg-scale: 1; --mdc-ripple-fg-translate-end: 0; --mdc-ripple-fg-translate-start: 0; will-change: transform, opacity; -webkit-tap-highlight-color: transparent; } .mdc-textfield--box.mdc-ripple-upgraded:not(.mdc-ripple-upgraded):hover::before, .mdc-textfield--box.mdc-ripple-upgraded:not(.mdc-ripple-upgraded):focus::before, .mdc-textfield--box.mdc-ripple-upgraded:not(.mdc-ripple-upgraded):active::after { -webkit-transition-duration: 85ms; transition-duration: 85ms; opacity: .6; } .mdc-textfield--box.mdc-ripple-upgraded::after { background-color: rgba(0, 0, 0, 0.04); position: absolute; top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; -webkit-transition: opacity 250ms linear; transition: opacity 250ms linear; border-radius: 50%; opacity: 0; pointer-events: none; content: ""; } .mdc-textfield--box.mdc-ripple-upgraded.mdc-ripple-upgraded::after { top: 0; left: 0; /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; opacity: 0; } .mdc-textfield--box.mdc-ripple-upgraded:not(.mdc-ripple-upgraded--unbounded)::after { -webkit-transform-origin: center center; transform-origin: center center; } .mdc-textfield--box.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded::after { /* @alternate */ top: 0; top: var(--mdc-ripple-top, 0); /* @alternate */ left: 0; left: var(--mdc-ripple-left, 0); /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; } .mdc-textfield--box.mdc-ripple-upgraded.mdc-ripple-upgraded--foreground-activation::after { -webkit-animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; } .mdc-textfield--box.mdc-ripple-upgraded.mdc-ripple-upgraded--foreground-deactivation::after { -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); -webkit-animation: 83ms mdc-ripple-fg-opacity-out; animation: 83ms mdc-ripple-fg-opacity-out; } .mdc-textfield--box.mdc-ripple-upgraded::before { top: calc(50% - var(--mdc-ripple-fg-size, 100%) / 2); left: calc(50% - var(--mdc-ripple-fg-size, 100%) / 2); width: var(--mdc-ripple-fg-size, 100%); height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0.8); transform: scale(0.8); } .mdc-textfield--box.mdc-ripple-upgraded:hover::before { -webkit-transform: scale(calc(var(--mdc-ripple-fg-scale, 1) + .1)); transform: scale(calc(var(--mdc-ripple-fg-scale, 1) + .1)); } .mdc-textfield--theme-dark.mdc-textfield--box.mdc-ripple-upgraded::after, .mdc-theme--dark .mdc-textfield--box.mdc-ripple-upgraded::after { background-color: rgba(255, 255, 255, 0.05); position: absolute; top: calc(50% - 100%); left: calc(50% - 100%); width: 200%; height: 200%; -webkit-transition: opacity 250ms linear; transition: opacity 250ms linear; border-radius: 50%; opacity: 0; pointer-events: none; content: ""; } .mdc-textfield--theme-dark.mdc-textfield--box.mdc-ripple-upgraded.mdc-ripple-upgraded::after, .mdc-theme--dark .mdc-textfield--box.mdc-ripple-upgraded.mdc-ripple-upgraded::after { top: 0; left: 0; /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; opacity: 0; } .mdc-textfield--theme-dark.mdc-textfield--box.mdc-ripple-upgraded:not(.mdc-ripple-upgraded--unbounded)::after, .mdc-theme--dark .mdc-textfield--box.mdc-ripple-upgraded:not(.mdc-ripple-upgraded--unbounded)::after { -webkit-transform-origin: center center; transform-origin: center center; } .mdc-textfield--theme-dark.mdc-textfield--box.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded::after, .mdc-theme--dark .mdc-textfield--box.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded::after { /* @alternate */ top: 0; top: var(--mdc-ripple-top, 0); /* @alternate */ left: 0; left: var(--mdc-ripple-left, 0); /* @alternate */ width: 100%; width: var(--mdc-ripple-fg-size, 100%); /* @alternate */ height: 100%; height: var(--mdc-ripple-fg-size, 100%); -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center center; transform-origin: center center; } .mdc-textfield--theme-dark.mdc-textfield--box.mdc-ripple-upgraded.mdc-ripple-upgraded--foreground-activation::after, .mdc-theme--dark .mdc-textfield--box.mdc-ripple-upgraded.mdc-ripple-upgraded--foreground-activation::after { -webkit-animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; } .mdc-textfield--theme-dark.mdc-textfield--box.mdc-ripple-upgraded.mdc-ripple-upgraded--foreground-deactivation::after, .mdc-theme--dark .mdc-textfield--box.mdc-ripple-upgraded.mdc-ripple-upgraded--foreground-deactivation::after { -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); -webkit-animation: 83ms mdc-ripple-fg-opacity-out; animation: 83ms mdc-ripple-fg-opacity-out; } .mdc-textfield--box.mdc-textfield--disabled { border-bottom: none; background-color: rgba(0, 0, 0, 0.02); color: rgba(0, 0, 0, 0.38); } .mdc-textfield--theme-dark.mdc-textfield--box.mdc-textfield--disabled, .mdc-theme--dark .mdc-textfield--box.mdc-textfield--disabled { border-bottom: none; background-color: rgba(255, 255, 255, 0.05); } .mdc-textfield--box.mdc-textfield--disabled .mdc-textfield__label { bottom: 20px; } .mdc-textfield--box.mdc-textfield--disabled .mdc-textfield__input { padding-bottom: 0; } .mdc-textfield--box .mdc-textfield__bottom-line { position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; -webkit-transform: scaleY(1); transform: scaleY(1); -webkit-transform-origin: center bottom; transform-origin: center bottom; -webkit-transition: background-color 33ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 180ms cubic-bezier(0.4, 0, 0.2, 1); transition: background-color 33ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 180ms cubic-bezier(0.4, 0, 0.2, 1); transition: background-color 33ms cubic-bezier(0.4, 0, 0.2, 1), transform 180ms cubic-bezier(0.4, 0, 0.2, 1); transition: background-color 33ms cubic-bezier(0.4, 0, 0.2, 1), transform 180ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 180ms cubic-bezier(0.4, 0, 0.2, 1); background-color: rgba(0, 0, 0, 0.42); pointer-events: none; } .mdc-textfield--box .mdc-textfield__bottom-line::after { position: absolute; top: 0; left: 0; width: 100%; height: 100%; -webkit-transition: opacity 180ms cubic-bezier(0.4, 0, 0.2, 1); transition: opacity 180ms cubic-bezier(0.4, 0, 0.2, 1); background-color: #d50000; content: ""; opacity: 0; } .mdc-textfield--theme-dark .mdc-textfield--box .mdc-textfield__bottom-line, .mdc-theme--dark .mdc-textfield--box .mdc-textfield__bottom-line { /* @alternate */ background-color: rgba(255, 255, 255, 0.5); background-color: var(--mdc-theme-text-hint-on-dark, rgba(255, 255, 255, 0.5)); } .mdc-textfield--theme-dark .mdc-textfield--box .mdc-textfield__bottom-line::after, .mdc-theme--dark .mdc-textfield--box .mdc-textfield__bottom-line::after { background-color: #ff6e6e; } .mdc-textfield--box.mdc-textfield--focused .mdc-textfield__bottom-line { /* @alternate */ background-color: #3f51b5; background-color: var(--mdc-theme-primary, #3f51b5); -webkit-transform: scaleY(2); transform: scaleY(2); } .mdc-textfield--box.mdc-textfield--disabled .mdc-textfield__bottom-line { display: none; } .mdc-textfield--box.mdc-textfield--invalid .mdc-textfield__bottom-line::after { opacity: 1; } .mdc-textfield--box.mdc-textfield--dense { height: 44px; } .mdc-textfield--box.mdc-textfield--dense .mdc-textfield__input { padding: 12px 12px 0; } .mdc-textfield--box.mdc-textfield--dense .mdc-textfield__label { left: 12px; right: initial; bottom: 12px; } [dir="rtl"] .mdc-textfield--box.mdc-textfield--dense .mdc-textfield__label, .mdc-textfield--box.mdc-textfield--dense .mdc-textfield__label[dir="rtl"] { left: initial; right: 12px; } .mdc-textfield--box.mdc-textfield--dense .mdc-textfield__label--float-above { -webkit-transform: translateY(calc(-75% - 2px)) scale(0.923, 0.923); transform: translateY(calc(-75% - 2px)) scale(0.923, 0.923); } .mdc-textfield--upgraded:not(.mdc-textfield--fullwidth):not(.mdc-textfield--box) { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; position: relative; -webkit-box-sizing: border-box; box-sizing: border-box; -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; margin-top: 16px; } .mdc-textfield--upgraded:not(.mdc-textfield--fullwidth):not(.mdc-textfield--box):not(.mdc-textfield--multiline) { height: 48px; } .mdc-textfield--upgraded:not(.mdc-textfield--fullwidth):not(.mdc-textfield--box):not(.mdc-textfield--multiline)::after { position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; -webkit-transform: translateY(50%) scaleY(1); transform: translateY(50%) scaleY(1); -webkit-transform-origin: center bottom; transform-origin: center bottom; -webkit-transition: background-color 180ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 180ms cubic-bezier(0.4, 0, 0.2, 1); transition: background-color 180ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 180ms cubic-bezier(0.4, 0, 0.2, 1); transition: background-color 180ms cubic-bezier(0.4, 0, 0.2, 1), transform 180ms cubic-bezier(0.4, 0, 0.2, 1); transition: background-color 180ms cubic-bezier(0.4, 0, 0.2, 1), transform 180ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 180ms cubic-bezier(0.4, 0, 0.2, 1); background-color: rgba(0, 0, 0, 0.12); content: ""; } .mdc-textfield--theme-dark .mdc-textfield--upgraded:not(.mdc-textfield--fullwidth):not(.mdc-textfield--box):not(.mdc-textfield--multiline)::after, .mdc-theme--dark .mdc-textfield--upgraded:not(.mdc-textfield--fullwidth):not(.mdc-textfield--box):not(.mdc-textfield--multiline)::after { background-color: rgba(255, 255, 255, 0.12); } .mdc-textfield--upgraded:not(.mdc-textfield--fullwidth):not(.mdc-textfield--box) .mdc-textfield__label { pointer-events: none; } .mdc-textfield--focused.mdc-textfield--upgraded:not(.mdc-textfield--fullwidth):not(.mdc-textfield--multiline):not(.mdc-textfield--box)::after { /* @alternate */ background-color: #3f51b5; background-color: var(--mdc-theme-primary, #3f51b5); -webkit-transform: translateY(100%) scaleY(2); transform: translateY(100%) scaleY(2); -webkit-transition: -webkit-transform 180ms cubic-bezier(0.4, 0, 0.2, 1); transition: -webkit-transform 180ms cubic-bezier(0.4, 0, 0.2, 1); transition: transform 180ms cubic-bezier(0.4, 0, 0.2, 1); transition: transform 180ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 180ms cubic-bezier(0.4, 0, 0.2, 1); } .mdc-textfield--theme-dark.mdc-textfield--focused.mdc-textfield--upgraded:not(.mdc-textfield--fullwidth):not(.mdc-textfield--multiline):not(.mdc-textfield--box)::after, .mdc-theme--dark .mdc-textfield--focused.mdc-textfield--upgraded:not(.mdc-textfield--fullwidth):not(.mdc-textfield--multiline):not(.mdc-textfield--box)::after { /* @alternate */ background-color: #3f51b5; background-color: var(--mdc-theme-primary, #3f51b5); -webkit-transform: translateY(100%) scaleY(2); transform: translateY(100%) scaleY(2); -webkit-transition: -webkit-transform 180ms cubic-bezier(0.4, 0, 0.2, 1); transition: -webkit-transform 180ms cubic-bezier(0.4, 0, 0.2, 1); transition: transform 180ms cubic-bezier(0.4, 0, 0.2, 1); transition: transform 180ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 180ms cubic-bezier(0.4, 0, 0.2, 1); } .mdc-textfield--focused .mdc-textfield__label { /* @alternate */ color: #3f51b5; color: var(--mdc-theme-primary, #3f51b5); } .mdc-textfield--theme-dark .mdc-textfield--focused .mdc-textfield__label, .mdc-theme--dark .mdc-textfield--focused .mdc-textfield__label { /* @alternate */ color: #3f51b5; color: var(--mdc-theme-primary, #3f51b5); } .mdc-textfield--dense { margin-top: 12px; margin-bottom: 4px; font-size: .813rem; } .mdc-textfield--dense .mdc-textfield__label--float-above { -webkit-transform: translateY(calc(-100% - 2px)) scale(0.923, 0.923); transform: translateY(calc(-100% - 2px)) scale(0.923, 0.923); } .mdc-textfield--invalid:not(.mdc-textfield--focused):not(.mdc-textfield--box)::after, .mdc-textfield--invalid:not(.mdc-textfield--focused):not(.mdc-textfield--box).mdc-textfield--upgraded::after { background-color: #d50000; } .mdc-textfield--invalid:not(.mdc-textfield--focused):not(.mdc-textfield--box) .mdc-textfield__label { color: #d50000; } .mdc-textfield--theme-dark.mdc-textfield--invalid:not(.mdc-textfield--focused)::after, .mdc-textfield--theme-dark.mdc-textfield--invalid:not(.mdc-textfield--focused).mdc-textfield--upgraded::after, .mdc-theme--dark .mdc-textfield--invalid:not(.mdc-textfield--focused)::after, .mdc-theme--dark .mdc-textfield--invalid:not(.mdc-textfield--focused).mdc-textfield--upgraded::after { background-color: #ff6e6e; } .mdc-textfield--theme-dark.mdc-textfield--invalid:not(.mdc-textfield--focused) .mdc-textfield__label, .mdc-theme--dark .mdc-textfield--invalid:not(.mdc-textfield--focused) .mdc-textfield__label { color: #ff6e6e; } .mdc-textfield--disabled { pointer-events: none; border-bottom: 1px dotted rgba(35, 31, 32, 0.26); } .mdc-textfield--disabled::after { display: none; } .mdc-textfield--disabled .mdc-textfield__input { padding-bottom: 7px; } .mdc-textfield--theme-dark.mdc-textfield--disabled, .mdc-theme--dark .mdc-textfield--disabled { border-bottom: 1px dotted rgba(255, 255, 255, 0.3); } .mdc-textfield--disabled .mdc-textfield__input, .mdc-textfield--disabled .mdc-textfield__label, .mdc-textfield--disabled + .mdc-textfield-helptext { /* @alternate */ color: rgba(0, 0, 0, 0.38); color: var(--mdc-theme-text-disabled-on-light, rgba(0, 0, 0, 0.38)); } .mdc-textfield--theme-dark .mdc-textfield--disabled .mdc-textfield__input, .mdc-theme--dark .mdc-textfield--disabled .mdc-textfield__input, .mdc-textfield--theme-dark .mdc-textfield--disabled .mdc-textfield__label, .mdc-theme--dark .mdc-textfield--disabled .mdc-textfield__label { /* @alternate */ color: rgba(255, 255, 255, 0.5); color: var(--mdc-theme-text-disabled-on-dark, rgba(255, 255, 255, 0.5)); } .mdc-textfield--theme-dark.mdc-textfield--disabled + .mdc-textfield-helptext, .mdc-theme--dark .mdc-textfield--disabled + .mdc-textfield-helptext { /* @alternate */ color: rgba(255, 255, 255, 0.5); color: var(--mdc-theme-text-disabled-on-dark, rgba(255, 255, 255, 0.5)); } .mdc-textfield--disabled .mdc-textfield__label { bottom: 7px; cursor: default; } .mdc-textfield__input:required + .mdc-textfield__label::after { margin-left: 1px; content: "*"; } .mdc-textfield--focused .mdc-textfield__input:required + .mdc-textfield__label::after { color: #d50000; } .mdc-textfield--theme-dark.mdc-textfield--focused .mdc-textfield__input:required + .mdc-textfield__label::after, .mdc-theme--dark .mdc-textfield--focused .mdc-textfield__input:required + .mdc-textfield__label::after { color: #ff6e6e; } .mdc-textfield--multiline { display: -webkit-box; display: -ms-flexbox; display: flex; height: initial; -webkit-transition: none; transition: none; } .mdc-textfield--multiline::after { content: initial; } .mdc-textfield--multiline .mdc-textfield__input { padding: 4px; -webkit-transition: border-color 180ms cubic-bezier(0.4, 0, 0.2, 1); transition: border-color 180ms cubic-bezier(0.4, 0, 0.2, 1); border: 1px solid rgba(0, 0, 0, 0.12); border-radius: 2px; } .mdc-textfield--theme-dark .mdc-textfield--multiline .mdc-textfield__input, .mdc-theme--dark .mdc-textfield--multiline .mdc-textfield__input { border-color: rgba(255, 255, 255, 0.12); } .mdc-textfield--multiline .mdc-textfield__input:focus { /* @alternate */ border-color: #3f51b5; border-color: var(--mdc-theme-primary, #3f51b5); } .mdc-textfield--multiline .mdc-textfield__input:invalid:not(:focus) { border-color: #d50000; } .mdc-textfield--theme-dark .mdc-textfield--multiline .mdc-textfield__input:invalid:not(:focus), .mdc-theme--dark .mdc-textfield--multiline .mdc-textfield__input:invalid:not(:focus) { border-color: #ff6e6e; } .mdc-textfield--multiline .mdc-textfield__label { top: 6px; bottom: initial; left: 4px; } [dir="rtl"] .mdc-textfield--multiline .mdc-textfield--multiline .mdc-textfield__label, .mdc-textfield--multiline[dir="rtl"] .mdc-textfield--multiline .mdc-textfield__label { right: 4px; left: auto; } .mdc-textfield--multiline .mdc-textfield__label--float-above { -webkit-transform: translateY(calc(-100% - 6px)) scale(0.923, 0.923); transform: translateY(calc(-100% - 6px)) scale(0.923, 0.923); } .mdc-textfield--multiline.mdc-textfield--disabled { border-bottom: none; } .mdc-textfield--multiline.mdc-textfield--disabled .mdc-textfield__input { border: 1px dotted rgba(35, 31, 32, 0.26); } .mdc-textfield--theme-dark .mdc-textfield--multiline.mdc-textfield--disabled .mdc-textfield__input, .mdc-theme--dark .mdc-textfield--multiline.mdc-textfield--disabled .mdc-textfield__input { border-color: rgba(255, 255, 255, 0.3); } .mdc-textfield--fullwidth { display: block; width: 100%; -webkit-box-sizing: border-box; box-sizing: border-box; margin: 0; border: none; border-bottom: 1px solid rgba(0, 0, 0, 0.12); outline: none; } .mdc-textfield--fullwidth:not(.mdc-textfield--multiline) { height: 56px; } .mdc-textfield--fullwidth.mdc-textfield--multiline { padding: 20px 0 0; } .mdc-textfield--fullwidth.mdc-textfield--dense:not(.mdc-textfield--multiline) { height: 48px; } .mdc-textfield--fullwidth.mdc-textfield--dense.mdc-textfield--multiline { padding: 16px 0 0; } .mdc-textfield--fullwidth.mdc-textfield--disabled, .mdc-textfield--fullwidth.mdc-textfield--disabled.mdc-textfield--multiline { border-bottom: 1px dotted rgba(0, 0, 0, 0.12); } .mdc-textfield--fullwidth--theme-dark, .mdc-theme--dark .mdc-textfield--fullwidth { border-bottom: 1px solid rgba(255, 255, 255, 0.12); } .mdc-textfield--fullwidth--theme-dark.mdc-textfield--disabled, .mdc-textfield--fullwidth--theme-dark.mdc-textfield--disabled.mdc-textfield--multiline, .mdc-theme--dark .mdc-textfield--fullwidth.mdc-textfield--disabled, .mdc-theme--dark .mdc-textfield--fullwidth.mdc-textfield--disabled.mdc-textfield--multiline { border-bottom: 1px dotted rgba(255, 255, 255, 0.12); } .mdc-textfield--fullwidth .mdc-textfield__input { width: 100%; height: 100%; padding: 0; resize: none; border: none !important; } .mdc-textfield:not(.mdc-textfield--upgraded):not(.mdc-textfield--multiline) .mdc-textfield__input { -webkit-transition: border-bottom-color 180ms cubic-bezier(0.4, 0, 0.2, 1); transition: border-bottom-color 180ms cubic-bezier(0.4, 0, 0.2, 1); border-bottom: 1px solid rgba(0, 0, 0, 0.12); } .mdc-textfield:not(.mdc-textfield--upgraded) .mdc-textfield__input:focus { /* @alternate */ border-color: #3f51b5; border-color: var(--mdc-theme-primary, #3f51b5); } .mdc-textfield:not(.mdc-textfield--upgraded) .mdc-textfield__input:disabled { /* @alternate */ color: rgba(0, 0, 0, 0.38); color: var(--mdc-theme-text-disabled-on-light, rgba(0, 0, 0, 0.38)); border-style: dotted; border-color: rgba(35, 31, 32, 0.26); } .mdc-textfield:not(.mdc-textfield--upgraded) .mdc-textfield__input:invalid:not(:focus) { border-color: #d50000; } .mdc-textfield--theme-dark:not(.mdc-textfield--upgraded) .mdc-textfield__input:not(:focus), .mdc-theme--dark .mdc-textfield:not(.mdc-textfield--upgraded) .mdc-textfield__input:not(:focus) { border-color: rgba(255, 255, 255, 0.12); } .mdc-textfield--theme-dark:not(.mdc-textfield--upgraded) .mdc-textfield__input:disabled, .mdc-theme--dark .mdc-textfield:not(.mdc-textfield--upgraded) .mdc-textfield__input:disabled { /* @alternate */ color: rgba(255, 255, 255, 0.5); color: var(--mdc-theme-text-disabled-on-dark, rgba(255, 255, 255, 0.5)); border-color: rgba(255, 255, 255, 0.3); } .mdc-textfield--theme-dark:not(.mdc-textfield--upgraded) .mdc-textfield__input:invalid:not(:focus), .mdc-theme--dark .mdc-textfield:not(.mdc-textfield--upgraded) .mdc-textfield__input:invalid:not(:focus) { border-color: #ff6e6e; } .mdc-textfield--box:not(.mdc-textfield--upgraded) { height: 36px; } .mdc-textfield--box:not(.mdc-textfield--upgraded)::before, .mdc-textfield--box:not(.mdc-textfield--upgraded)::after { border-radius: 0; } .mdc-textfield--box:not(.mdc-textfield--upgraded) .mdc-textfield__input { padding-top: 0; } .mdc-textfield-helptext { /* @alternate */ color: rgba(0, 0, 0, 0.38); color: var(--mdc-theme-text-hint-on-light, rgba(0, 0, 0, 0.38)); margin: 0; -webkit-transition: opacity 180ms cubic-bezier(0.4, 0, 0.2, 1); transition: opacity 180ms cubic-bezier(0.4, 0, 0.2, 1); font-size: .75rem; opacity: 0; will-change: opacity; } .mdc-textfield-helptext--theme-dark, .mdc-theme--dark .mdc-textfield-helptext { /* @alternate */ color: rgba(255, 255, 255, 0.5); color: var(--mdc-theme-text-hint-on-dark, rgba(255, 255, 255, 0.5)); } .mdc-textfield + .mdc-textfield-helptext { margin-bottom: 8px; } .mdc-textfield--dense + .mdc-textfield-helptext { margin-bottom: 4px; } .mdc-textfield--focused + .mdc-textfield-helptext:not(.mdc-textfield-helptext--validation-msg) { opacity: 1; } .mdc-textfield-helptext--persistent { -webkit-transition: none; transition: none; opacity: 1; will-change: initial; } .mdc-textfield--invalid + .mdc-textfield-helptext--validation-msg { color: #d50000; opacity: 1; } .mdc-textfield--theme-dark.mdc-textfield--invalid + .mdc-textfield-helptext--validation-msg, .mdc-theme--dark .mdc-textfield--invalid + .mdc-textfield-helptext--validation-msg { color: #ff6e6e; } .mdc-form-field > .mdc-textfield + label { -ms-flex-item-align: start; align-self: flex-start; } /* Precomputed linear color channel values, for use in contrast calculations. See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests Algorithm, for c in 0 to 255: f(c) { c = c / 255; return c < 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4); } This lookup table is needed since there is no `pow` in SASS. */ /** * Calculate the luminance for a color. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Calculate the contrast ratio between two colors. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Determine whether to use dark or light text on top of given color. * Returns "dark" for dark text and "light" for light text. */ /* Main theme colors. If you're a user customizing your color scheme in SASS, these are probably the only variables you need to change. */ /* Indigo 500 */ /* Pink A200 */ /* White */ /* Which set of text colors to use for each main theme color (light or dark) */ /* Text colors according to light vs dark and text type */ /* Primary text colors for each of the theme colors */ /** * Applies the correct theme color style to the specified property. * $property is typically color or background-color, but can be any CSS property that accepts color values. * $style should be one of the map keys in $mdc-theme-property-values (_variables.scss). */ /** * Creates a rule to be used in MDC-Web components for dark theming, and applies the provided contents. * Should provide the $root-selector option if applied to anything other than the root selector. * When used with a modifier class, provide a second argument of `true` for the $compound parameter * to specify that this should be attached as a compound class. * * Usage example: * * ```scss * .mdc-foo { * color: black; * * @include mdc-theme-dark { * color: white; * } * * &__bar { * background: black; * * @include mdc-theme-dark(".mdc-foo") { * background: white; * } * } * } * * .mdc-foo--disabled { * opacity: .38; * * @include mdc-theme-dark(".mdc-foo", true) { * opacity: .5; * } * } * ``` */ :root { --mdc-theme-primary: #3f51b5; --mdc-theme-accent: #ff4081; --mdc-theme-background: #fff; --mdc-theme-text-primary-on-primary: white; --mdc-theme-text-secondary-on-primary: rgba(255, 255, 255, 0.7); --mdc-theme-text-hint-on-primary: rgba(255, 255, 255, 0.5); --mdc-theme-text-disabled-on-primary: rgba(255, 255, 255, 0.5); --mdc-theme-text-icon-on-primary: rgba(255, 255, 255, 0.5); --mdc-theme-text-primary-on-accent: white; --mdc-theme-text-secondary-on-accent: rgba(255, 255, 255, 0.7); --mdc-theme-text-hint-on-accent: rgba(255, 255, 255, 0.5); --mdc-theme-text-disabled-on-accent: rgba(255, 255, 255, 0.5); --mdc-theme-text-icon-on-accent: rgba(255, 255, 255, 0.5); --mdc-theme-text-primary-on-background: rgba(0, 0, 0, 0.87); --mdc-theme-text-secondary-on-background: rgba(0, 0, 0, 0.54); --mdc-theme-text-hint-on-background: rgba(0, 0, 0, 0.38); --mdc-theme-text-disabled-on-background: rgba(0, 0, 0, 0.38); --mdc-theme-text-icon-on-background: rgba(0, 0, 0, 0.38); --mdc-theme-text-primary-on-light: rgba(0, 0, 0, 0.87); --mdc-theme-text-secondary-on-light: rgba(0, 0, 0, 0.54); --mdc-theme-text-hint-on-light: rgba(0, 0, 0, 0.38); --mdc-theme-text-disabled-on-light: rgba(0, 0, 0, 0.38); --mdc-theme-text-icon-on-light: rgba(0, 0, 0, 0.38); --mdc-theme-text-primary-on-dark: white; --mdc-theme-text-secondary-on-dark: rgba(255, 255, 255, 0.7); --mdc-theme-text-hint-on-dark: rgba(255, 255, 255, 0.5); --mdc-theme-text-disabled-on-dark: rgba(255, 255, 255, 0.5); --mdc-theme-text-icon-on-dark: rgba(255, 255, 255, 0.5); } /* Special case, so that .mdc-theme--background changes background color, not text color. */ .mdc-theme--background { /* @alternate */ background-color: #fff; background-color: var(--mdc-theme-background, #fff); } .mdc-theme--primary { /* @alternate */ color: #3f51b5 !important; color: var(--mdc-theme-primary, #3f51b5) !important; } .mdc-theme--accent { /* @alternate */ color: #ff4081 !important; color: var(--mdc-theme-accent, #ff4081) !important; } .mdc-theme--text-primary-on-primary { /* @alternate */ color: white !important; color: var(--mdc-theme-text-primary-on-primary, white) !important; } .mdc-theme--text-secondary-on-primary { /* @alternate */ color: rgba(255, 255, 255, 0.7) !important; color: var(--mdc-theme-text-secondary-on-primary, rgba(255, 255, 255, 0.7)) !important; } .mdc-theme--text-hint-on-primary { /* @alternate */ color: rgba(255, 255, 255, 0.5) !important; color: var(--mdc-theme-text-hint-on-primary, rgba(255, 255, 255, 0.5)) !important; } .mdc-theme--text-disabled-on-primary { /* @alternate */ color: rgba(255, 255, 255, 0.5) !important; color: var(--mdc-theme-text-disabled-on-primary, rgba(255, 255, 255, 0.5)) !important; } .mdc-theme--text-icon-on-primary { /* @alternate */ color: rgba(255, 255, 255, 0.5) !important; color: var(--mdc-theme-text-icon-on-primary, rgba(255, 255, 255, 0.5)) !important; } .mdc-theme--text-primary-on-accent { /* @alternate */ color: white !important; color: var(--mdc-theme-text-primary-on-accent, white) !important; } .mdc-theme--text-secondary-on-accent { /* @alternate */ color: rgba(255, 255, 255, 0.7) !important; color: var(--mdc-theme-text-secondary-on-accent, rgba(255, 255, 255, 0.7)) !important; } .mdc-theme--text-hint-on-accent { /* @alternate */ color: rgba(255, 255, 255, 0.5) !important; color: var(--mdc-theme-text-hint-on-accent, rgba(255, 255, 255, 0.5)) !important; } .mdc-theme--text-disabled-on-accent { /* @alternate */ color: rgba(255, 255, 255, 0.5) !important; color: var(--mdc-theme-text-disabled-on-accent, rgba(255, 255, 255, 0.5)) !important; } .mdc-theme--text-icon-on-accent { /* @alternate */ color: rgba(255, 255, 255, 0.5) !important; color: var(--mdc-theme-text-icon-on-accent, rgba(255, 255, 255, 0.5)) !important; } .mdc-theme--text-primary-on-background { /* @alternate */ color: rgba(0, 0, 0, 0.87) !important; color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87)) !important; } .mdc-theme--text-secondary-on-background { /* @alternate */ color: rgba(0, 0, 0, 0.54) !important; color: var(--mdc-theme-text-secondary-on-background, rgba(0, 0, 0, 0.54)) !important; } .mdc-theme--text-hint-on-background { /* @alternate */ color: rgba(0, 0, 0, 0.38) !important; color: var(--mdc-theme-text-hint-on-background, rgba(0, 0, 0, 0.38)) !important; } .mdc-theme--text-disabled-on-background { /* @alternate */ color: rgba(0, 0, 0, 0.38) !important; color: var(--mdc-theme-text-disabled-on-background, rgba(0, 0, 0, 0.38)) !important; } .mdc-theme--text-icon-on-background { /* @alternate */ color: rgba(0, 0, 0, 0.38) !important; color: var(--mdc-theme-text-icon-on-background, rgba(0, 0, 0, 0.38)) !important; } .mdc-theme--text-primary-on-light { /* @alternate */ color: rgba(0, 0, 0, 0.87) !important; color: var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87)) !important; } .mdc-theme--text-secondary-on-light { /* @alternate */ color: rgba(0, 0, 0, 0.54) !important; color: var(--mdc-theme-text-secondary-on-light, rgba(0, 0, 0, 0.54)) !important; } .mdc-theme--text-hint-on-light { /* @alternate */ color: rgba(0, 0, 0, 0.38) !important; color: var(--mdc-theme-text-hint-on-light, rgba(0, 0, 0, 0.38)) !important; } .mdc-theme--text-disabled-on-light { /* @alternate */ color: rgba(0, 0, 0, 0.38) !important; color: var(--mdc-theme-text-disabled-on-light, rgba(0, 0, 0, 0.38)) !important; } .mdc-theme--text-icon-on-light { /* @alternate */ color: rgba(0, 0, 0, 0.38) !important; color: var(--mdc-theme-text-icon-on-light, rgba(0, 0, 0, 0.38)) !important; } .mdc-theme--text-primary-on-dark { /* @alternate */ color: white !important; color: var(--mdc-theme-text-primary-on-dark, white) !important; } .mdc-theme--text-secondary-on-dark { /* @alternate */ color: rgba(255, 255, 255, 0.7) !important; color: var(--mdc-theme-text-secondary-on-dark, rgba(255, 255, 255, 0.7)) !important; } .mdc-theme--text-hint-on-dark { /* @alternate */ color: rgba(255, 255, 255, 0.5) !important; color: var(--mdc-theme-text-hint-on-dark, rgba(255, 255, 255, 0.5)) !important; } .mdc-theme--text-disabled-on-dark { /* @alternate */ color: rgba(255, 255, 255, 0.5) !important; color: var(--mdc-theme-text-disabled-on-dark, rgba(255, 255, 255, 0.5)) !important; } .mdc-theme--text-icon-on-dark { /* @alternate */ color: rgba(255, 255, 255, 0.5) !important; color: var(--mdc-theme-text-icon-on-dark, rgba(255, 255, 255, 0.5)) !important; } /* CSS rules for using primary and accent as background colors. */ .mdc-theme--primary-bg { /* @alternate */ background-color: #3f51b5 !important; background-color: var(--mdc-theme-primary, #3f51b5) !important; } .mdc-theme--accent-bg { /* @alternate */ background-color: #ff4081 !important; background-color: var(--mdc-theme-accent, #ff4081) !important; } /** * The css property used for elevation. In most cases this should not be changed. It is exposed * as a variable for abstraction / easy use when needing to reference the property directly, for * example in a `will-change` rule. */ /** * The default duration value for elevation transitions. */ /** * The default easing value for elevation transitions. */ /** * Applies the correct css rules to an element to give it the elevation specified by $z-value. * The $z-value must be between 0 and 24. */ /** * Returns a string that can be used as the value for a `transition` property for elevation. * Calling this function directly is useful in situations where a component needs to transition * more than one property. * * ```scss * .foo { * transition: mdc-elevation-transition-rule(), opacity 100ms ease; * will-change: $mdc-elevation-property, opacity; * } * ``` */ /** * Applies the correct css rules needed to have an element transition between elevations. * This mixin should be applied to elements whose elevation values will change depending on their * context (e.g. when active or disabled). */ /** * Creates a rule that will be applied when an MDC-Web component is within the context of an RTL layout. * * Usage Example: * ```scss * .mdc-foo { * position: absolute; * left: 0; * * @include mdc-rtl { * left: auto; * right: 0; * } * * &__bar { * margin-left: 4px; * @include mdc-rtl(".mdc-foo") { * margin-left: auto; * margin-right: 4px; * } * } * } * * .mdc-foo--mod { * padding-left: 4px; * * @include mdc-rtl { * padding-left: auto; * padding-right: 4px; * } * } * ``` * * Note that this works by checking for [dir="rtl"] on an ancestor element. While this will work * in most cases, it will in some cases lead to false negatives, e.g. * * ```html * * *
*
Styled incorrectly as RTL!
*
* * ``` * * In the future, selectors such as :dir (http://mdn.io/:dir) will help us mitigate this. */ /** * Takes a base box-model property - e.g. margin / border / padding - along with a default * direction and value, and emits rules which apply the value to the * "-" property by default, but flips the direction * when within an RTL context. * * For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-box(margin, left, 8px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-left: 8px; * * @include mdc-rtl { * margin-right: 8px; * margin-left: 0; * } * } * ``` * whereas: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-box(margin, right, 8px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-right: 8px; * * @include mdc-rtl { * margin-right: 0; * margin-left: 8px; * } * } * ``` * * You can also pass a 4th optional $root-selector argument which will be forwarded to `mdc-rtl`, * e.g. `@include mdc-rtl-reflexive-box(margin, left, 8px, ".mdc-component")`. * * Note that this function will always zero out the original value in an RTL context. If you're * trying to flip the values, use mdc-rtl-reflexive-property(). */ /** * Takes a base property and emits rules that assign -left to and * -right to in a LTR context, and vice versa in a RTL context. * For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-property(margin, auto, 12px); * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * margin-left: auto; * margin-right: 12px; * * @include mdc-rtl { * margin-left: 12px; * margin-right: auto; * } * } * ``` * * A 4th optional $root-selector argument can be given, which will be passed to `mdc-rtl`. */ /** * Takes an argument specifying a horizontal position property (either "left" or "right") as well * as a value, and applies that value to the specified position in a LTR context, and flips it in a * RTL context. For example: * * ```scss * .mdc-foo { * @include mdc-rtl-reflexive-position(left, 0); * position: absolute; * } * ``` * is equivalent to: * * ```scss * .mdc-foo { * position: absolute; * left: 0; * right: initial; * * @include mdc-rtl { * right: 0; * left: initial; * } * } * ``` * An optional third $root-selector argument may also be given, which is passed to `mdc-rtl`. */ /* Precomputed linear color channel values, for use in contrast calculations. See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests Algorithm, for c in 0 to 255: f(c) { c = c / 255; return c < 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4); } This lookup table is needed since there is no `pow` in SASS. */ /** * Calculate the luminance for a color. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Calculate the contrast ratio between two colors. * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests */ /** * Determine whether to use dark or light text on top of given color. * Returns "dark" for dark text and "light" for light text. */ /* Main theme colors. If you're a user customizing your color scheme in SASS, these are probably the only variables you need to change. */ /* Indigo 500 */ /* Pink A200 */ /* White */ /* Which set of text colors to use for each main theme color (light or dark) */ /* Text colors according to light vs dark and text type */ /* Primary text colors for each of the theme colors */ /** * Applies the correct theme color style to the specified property. * $property is typically color or background-color, but can be any CSS property that accepts color values. * $style should be one of the map keys in $mdc-theme-property-values (_variables.scss). */ /** * Creates a rule to be used in MDC-Web components for dark theming, and applies the provided contents. * Should provide the $root-selector option if applied to anything other than the root selector. * When used with a modifier class, provide a second argument of `true` for the $compound parameter * to specify that this should be attached as a compound class. * * Usage example: * * ```scss * .mdc-foo { * color: black; * * @include mdc-theme-dark { * color: white; * } * * &__bar { * background: black; * * @include mdc-theme-dark(".mdc-foo") { * background: white; * } * } * } * * .mdc-foo--disabled { * opacity: .38; * * @include mdc-theme-dark(".mdc-foo", true) { * opacity: .5; * } * } * ``` */ /* TODO(sgomes): Figure out what to do about desktop font sizes. */ /* TODO(sgomes): Figure out what to do about i18n and i18n font sizes. */ /** * Applies styles to the different types of icons that can exist in toolbars. * Both .mdc-toolbar__icon and .mdc-toolbar__icon--menu share all styles except for * horizontal padding. */ .mdc-toolbar { display: -webkit-box; display: -ms-flexbox; display: flex; position: relative; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; width: 100%; -webkit-box-sizing: border-box; box-sizing: border-box; /* @alternate */ background-color: #3f51b5; background-color: var(--mdc-theme-primary, #3f51b5); /* @alternate */ color: white; color: var(--mdc-theme-text-primary-on-primary, white); } .mdc-toolbar__row { display: -webkit-box; display: -ms-flexbox; display: flex; position: relative; -webkit-box-align: center; -ms-flex-align: center; align-items: center; width: 100%; height: auto; min-height: 64px; -webkit-box-sizing: border-box; box-sizing: border-box; } @media (max-width: 959px) and (orientation: landscape) { .mdc-toolbar__row { min-height: 48px; } } @media (max-width: 599px) { .mdc-toolbar__row { min-height: 56px; } } .mdc-toolbar__section { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; min-width: 0; height: 100%; z-index: 1; } .mdc-toolbar__section--align-start { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; -webkit-box-ordinal-group: 0; -ms-flex-order: -1; order: -1; } .mdc-toolbar__section--align-end { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; } .mdc-toolbar__title { font-family: Roboto, sans-serif; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-size: 1.25rem; font-weight: 500; letter-spacing: 0.02em; line-height: 2rem; text-decoration: inherit; text-transform: inherit; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; -ms-flex-item-align: center; align-self: center; margin: 0; margin-left: 24px; padding: 16px 0; line-height: 1.5rem; z-index: 1; } .mdc-toolbar__icon { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; padding: 16px 8px; border: none; background-color: inherit; color: inherit; text-decoration: none; /* @alternate */ color: white; color: var(--mdc-theme-text-primary-on-primary, white); cursor: pointer; } .mdc-toolbar__icon:last-child { padding-right: 16px; } .mdc-toolbar__icon--menu { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; padding: 16px; border: none; background-color: inherit; color: inherit; text-decoration: none; /* @alternate */ color: white; color: var(--mdc-theme-text-primary-on-primary, white); padding: 16px 24px; cursor: pointer; } .mdc-toolbar__icon--menu + .mdc-toolbar__title { margin-left: 8px; } @media (max-width: 599px) { .mdc-toolbar__icon--menu { padding: 16px; } .mdc-toolbar__icon:last-child { padding: 16px 8px; } .mdc-toolbar__title { margin-left: 16px !important; } } .mdc-toolbar--fixed { position: fixed; top: 0; left: 0; z-index: 4; -webkit-box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12); box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12); } .mdc-toolbar--flexible { --mdc-toolbar-ratio-to-extend-flexible: 4; } .mdc-toolbar--flexible .mdc-toolbar__row:first-child { height: 256px; height: calc(64px * var(--mdc-toolbar-ratio-to-extend-flexible, 4)); } @media (max-width: 599px) { .mdc-toolbar--flexible .mdc-toolbar__row:first-child { height: 224px; height: calc(56px * var(--mdc-toolbar-ratio-to-extend-flexible, 4)); } } .mdc-toolbar--flexible .mdc-toolbar__row:first-child::after { position: absolute; content: ""; } .mdc-toolbar--flexible-default-behavior .mdc-toolbar__title { font-family: Roboto, sans-serif; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-size: 2.125rem; font-weight: 400; letter-spacing: normal; line-height: 2.5rem; text-decoration: inherit; text-transform: inherit; -ms-flex-item-align: end; align-self: flex-end; line-height: 1.5rem; } .mdc-toolbar--flexible-default-behavior .mdc-toolbar__row:first-child::after { top: 0; left: 0; width: 100%; height: 100%; -webkit-transition: opacity .2s ease; transition: opacity .2s ease; opacity: 1; } .mdc-toolbar--flexible-default-behavior.mdc-toolbar--flexible-space-minimized .mdc-toolbar__row:first-child::after { opacity: 0; } .mdc-toolbar--flexible-default-behavior.mdc-toolbar--flexible-space-minimized .mdc-toolbar__title { font-weight: 500; } .mdc-toolbar--waterfall.mdc-toolbar--fixed { -webkit-box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12); box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12); -webkit-transition: -webkit-box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1); transition: -webkit-box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1); transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1); transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1); will-change: box-shadow; } .mdc-toolbar--waterfall.mdc-toolbar--fixed.mdc-toolbar--flexible-space-minimized { -webkit-box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12); box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12); } .mdc-toolbar--waterfall.mdc-toolbar--fixed.mdc-toolbar--fixed-lastrow-only.mdc-toolbar--flexible-space-minimized { -webkit-box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12); box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12); } .mdc-toolbar--waterfall.mdc-toolbar--fixed.mdc-toolbar--fixed-lastrow-only.mdc-toolbar--fixed-at-last-row { -webkit-box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12); box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12); } .mdc-toolbar-fixed-adjust { margin-top: 64px; } @media (max-width: 959px) and (orientation: landscape) { .mdc-toolbar-fixed-adjust { margin-top: 48px; } } @media (max-width: 599px) { .mdc-toolbar-fixed-adjust { margin-top: 56px; } } .mdc-toolbar__section--shrink-to-fit { -webkit-box-flex: 0; -ms-flex: none; flex: none; } /* TODO(sgomes): Figure out what to do about desktop font sizes. */ /* TODO(sgomes): Figure out what to do about i18n and i18n font sizes. */ /* TODO(sgomes): Figure out what to do about desktop font sizes. */ /* TODO(sgomes): Figure out what to do about i18n and i18n font sizes. */ .mdc-typography { font-family: Roboto, sans-serif; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; } .mdc-typography--display4 { font-family: Roboto, sans-serif; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-size: 7rem; font-weight: 300; letter-spacing: -0.04em; line-height: 7rem; text-decoration: inherit; text-transform: inherit; } .mdc-typography--adjust-margin.mdc-typography--display4 { margin: -1rem 0 3.5rem -0.085em; } .mdc-typography--display3 { font-family: Roboto, sans-serif; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-size: 3.5rem; font-weight: 400; letter-spacing: -0.02em; line-height: 3.5rem; text-decoration: inherit; text-transform: inherit; } .mdc-typography--adjust-margin.mdc-typography--display3 { margin: -8px 0 64px -0.07em; } .mdc-typography--display2 { font-family: Roboto, sans-serif; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-size: 2.813rem; font-weight: 400; letter-spacing: normal; line-height: 3rem; text-decoration: inherit; text-transform: inherit; } .mdc-typography--adjust-margin.mdc-typography--display2 { margin: -0.5rem 0 4rem -0.07em; } .mdc-typography--display1 { font-family: Roboto, sans-serif; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-size: 2.125rem; font-weight: 400; letter-spacing: normal; line-height: 2.5rem; text-decoration: inherit; text-transform: inherit; } .mdc-typography--adjust-margin.mdc-typography--display1 { margin: -0.5rem 0 4rem -0.07em; } .mdc-typography--headline { font-family: Roboto, sans-serif; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-size: 1.5rem; font-weight: 400; letter-spacing: normal; line-height: 2rem; text-decoration: inherit; text-transform: inherit; } .mdc-typography--adjust-margin.mdc-typography--headline { margin: -0.5rem 0 1rem -0.06em; } .mdc-typography--title { font-family: Roboto, sans-serif; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-size: 1.25rem; font-weight: 500; letter-spacing: 0.02em; line-height: 2rem; text-decoration: inherit; text-transform: inherit; } .mdc-typography--adjust-margin.mdc-typography--title { margin: -0.5rem 0 1rem -0.05em; } .mdc-typography--subheading2 { font-family: Roboto, sans-serif; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-size: 1rem; font-weight: 400; letter-spacing: 0.04em; line-height: 1.75rem; text-decoration: inherit; text-transform: inherit; } .mdc-typography--adjust-margin.mdc-typography--subheading2 { margin: -0.5rem 0 1rem -0.06em; } .mdc-typography--subheading1 { font-family: Roboto, sans-serif; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-size: 0.938rem; font-weight: 400; letter-spacing: 0.04em; line-height: 1.5rem; text-decoration: inherit; text-transform: inherit; } .mdc-typography--adjust-margin.mdc-typography--subheading1 { margin: -0.313rem 0 0.813rem -0.06em; } .mdc-typography--body2 { font-family: Roboto, sans-serif; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-size: 0.875rem; font-weight: 500; letter-spacing: 0.04em; line-height: 1.5rem; text-decoration: inherit; text-transform: inherit; } .mdc-typography--adjust-margin.mdc-typography--body2 { margin: -0.25rem 0 0.75rem 0; } .mdc-typography--body1 { font-family: Roboto, sans-serif; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-size: 0.875rem; font-weight: 400; letter-spacing: 0.04em; line-height: 1.25rem; text-decoration: inherit; text-transform: inherit; } .mdc-typography--adjust-margin.mdc-typography--body1 { margin: -0.25rem 0 0.75rem 0; } .mdc-typography--caption { font-family: Roboto, sans-serif; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-size: 0.75rem; font-weight: 400; letter-spacing: 0.08em; line-height: 1.25rem; text-decoration: inherit; text-transform: inherit; } .mdc-typography--adjust-margin.mdc-typography--caption { margin: -0.5rem 0 1rem -0.04em; } .mdc-typography--button { font-family: Roboto, sans-serif; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-size: 0.875rem; font-weight: 500; letter-spacing: 0.04em; line-height: 2.25rem; text-decoration: none; text-transform: uppercase; } .mdc-typography--adjust-margin.mdc-typography--button { margin: inherit; }