/*!
 Material Components for the web
 Copyright (c) 2017 Google Inc.
 License: Apache-2.0
*/
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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-animation-linear-out-slow-in {
  -webkit-animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
          animation-timing-function: cubic-bezier(0, 0, 0.2, 1); }

.mdc-animation-fast-out-slow-in {
  -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-fast-out-linear-in {
  -webkit-animation-timing-function: cubic-bezier(0.4, 0, 1, 1);
          animation-timing-function: cubic-bezier(0.4, 0, 1, 1); }

/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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).
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/*
  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 */
/**
 * 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 Ripple keyframes are split into their own file so that _mixins.scss can rely on them. */
/**
 * 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.
 */
@-webkit-keyframes mdc-ripple-fg-radius-in {
  from {
    -webkit-transform: translate(var(--mdc-ripple-fg-translate-start)) scale(1);
            transform: translate(var(--mdc-ripple-fg-translate-start)) 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)) scale(var(--mdc-ripple-fg-scale));
            transform: translate(var(--mdc-ripple-fg-translate-end)) scale(var(--mdc-ripple-fg-scale)); } }
@keyframes mdc-ripple-fg-radius-in {
  from {
    -webkit-transform: translate(var(--mdc-ripple-fg-translate-start)) scale(1);
            transform: translate(var(--mdc-ripple-fg-translate-start)) 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)) scale(var(--mdc-ripple-fg-scale));
            transform: translate(var(--mdc-ripple-fg-translate-end)) scale(var(--mdc-ripple-fg-scale)); } }

@-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; } }

@-webkit-keyframes mdc-ripple-fg-unbounded-opacity-deactivate {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

@keyframes mdc-ripple-fg-unbounded-opacity-deactivate {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

@-webkit-keyframes mdc-ripple-fg-unbounded-transform-deactivate {
  from {
    -webkit-transform: var(--mdc-ripple-fg-approx-xf);
            transform: var(--mdc-ripple-fg-approx-xf); }
  to {
    -webkit-transform: scale(var(--mdc-ripple-fg-scale));
            transform: scale(var(--mdc-ripple-fg-scale)); } }

@keyframes mdc-ripple-fg-unbounded-transform-deactivate {
  from {
    -webkit-transform: var(--mdc-ripple-fg-approx-xf);
            transform: var(--mdc-ripple-fg-approx-xf); }
  to {
    -webkit-transform: scale(var(--mdc-ripple-fg-scale));
            transform: scale(var(--mdc-ripple-fg-scale)); } }

/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/*
  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;
 *   }
 * }
 * ```
 */
/**
 * 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.
 */
/**
 * 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.
 */
/* 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 {
  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;
  color: rgba(0, 0, 0, 0.87);
  color: var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87));
  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;
  line-height: 36px;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  vertical-align: middle;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  box-sizing: border-box;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0.18); }
  .mdc-button--theme-dark,
  .mdc-theme--dark .mdc-button {
    color: white;
    color: var(--mdc-theme-text-primary-on-dark, white);
    -webkit-tap-highlight-color: rgba(255, 255, 255, 0.18); }
  .mdc-button::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-transition: opacity 120ms 0ms cubic-bezier(0.4, 0, 1, 1);
    transition: opacity 120ms 0ms cubic-bezier(0.4, 0, 1, 1);
    border-radius: inherit;
    background: currentColor;
    content: "";
    opacity: 0; }
  .mdc-button:focus::before {
    -webkit-transition: opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1);
    transition: opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1);
    opacity: .12; }
  .mdc-button:active::before {
    -webkit-transition: opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1);
    transition: opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1);
    opacity: .18; }
  .mdc-button:focus:active::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-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 {
    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: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
    transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
    will-change: box-shadow;
    min-width: 88px; }
    .mdc-button--raised:active {
      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--theme-dark .mdc-button--raised,
    .mdc-theme--dark .mdc-button--raised {
      background-color: #3f51b5;
      background-color: var(--mdc-theme-primary, #3f51b5); }
      .mdc-button--theme-dark .mdc-button--raised::before,
      .mdc-theme--dark .mdc-button--raised::before {
        color: black; }
  .mdc-button--primary {
    color: #3f51b5;
    color: var(--mdc-theme-primary, #3f51b5); }
    .mdc-button--theme-dark .mdc-button--primary,
    .mdc-theme--dark .mdc-button--primary {
      color: #3f51b5;
      color: var(--mdc-theme-primary, #3f51b5); }
    .mdc-button--primary.mdc-button--raised {
      background-color: #3f51b5;
      background-color: var(--mdc-theme-primary, #3f51b5);
      color: white;
      color: var(--mdc-theme-text-primary-on-primary, white); }
      .mdc-button--primary.mdc-button--raised::before {
        color: black; }
  .mdc-button--accent {
    color: #ff4081;
    color: var(--mdc-theme-accent, #ff4081); }
    .mdc-button--theme-dark .mdc-button--accent,
    .mdc-theme--dark .mdc-button--accent {
      color: #ff4081;
      color: var(--mdc-theme-accent, #ff4081); }
    .mdc-button--accent.mdc-button--raised {
      background-color: #ff4081;
      background-color: var(--mdc-theme-accent, #ff4081);
      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 {
    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); }

.mdc-button.mdc-ripple-upgraded {
  --mdc-ripple-left: 0;
  --mdc-ripple-top: 0;
  --mdc-ripple-fg-size: 0;
  --mdc-ripple-surface-height: 0;
  --mdc-ripple-surface-width: 0;
  --mdc-ripple-fg-unbounded-transform-duration: 0ms;
  --mdc-ripple-xfo-x: center;
  --mdc-ripple-xfo-y: center;
  --mdc-ripple-fg-unbounded-opacity-duration: 0ms;
  --mdc-ripple-fg-unbounded-transform-duration: 0ms;
  --mdc-ripple-fg-approx-xf: 0;
  will-change: transition, opacity;
  -webkit-tap-highlight-color: transparent;
  overflow: hidden; }
  .mdc-button.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-transform: scale(var(--mdc-ripple-fg-scale));
            transform: scale(var(--mdc-ripple-fg-scale));
    -webkit-transition: opacity 200ms linear;
    transition: opacity 200ms linear;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    content: ""; }
  .mdc-button.mdc-ripple-upgraded.mdc-ripple-upgraded--background-active::before {
    opacity: .99999; }
  .mdc-button.mdc-ripple-upgraded.mdc-ripple-upgraded--background-active:active::before {
    -webkit-transition-duration: 600ms;
            transition-duration: 600ms; }
  .mdc-button.mdc-ripple-upgraded.mdc-ripple-upgraded--background-bounded-active-fill::before {
    -webkit-transition-duration: 120ms;
            transition-duration: 120ms;
    opacity: 1; }
  .mdc-button.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded::before {
    top: var(--mdc-ripple-top);
    left: var(--mdc-ripple-left);
    width: var(--mdc-ripple-fg-size);
    height: var(--mdc-ripple-fg-size); }
  .mdc-button.mdc-ripple-upgraded::after {
    background-color: rgba(0, 0, 0, 0.06);
    position: absolute;
    top: 0;
    left: 0;
    width: var(--mdc-ripple-fg-size);
    height: var(--mdc-ripple-fg-size);
    -webkit-transform: scale(0);
            transform: scale(0);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    content: ""; }
  .mdc-button.mdc-ripple-upgraded:not(.mdc-ripple-upgraded--unbounded)::after {
    -webkit-transform-origin: center center;
            transform-origin: center center; }
  .mdc-button.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded::after {
    top: var(--mdc-ripple-top);
    left: var(--mdc-ripple-left);
    -webkit-transform-origin: center center;
            transform-origin: center center; }
  .mdc-button.mdc-ripple-upgraded.mdc-ripple-upgraded--foreground-bounded-active-fill::after {
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    -webkit-animation: 300ms mdc-ripple-fg-radius-in, 400ms mdc-ripple-fg-opacity-out;
            animation: 300ms mdc-ripple-fg-radius-in, 400ms mdc-ripple-fg-opacity-out; }
  .mdc-button.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded--foreground-unbounded-activation::after {
    -webkit-transform: scale(var(--mdc-ripple-fg-scale));
            transform: scale(var(--mdc-ripple-fg-scale));
    -webkit-transition: opacity 110ms linear, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    transition: opacity 110ms linear, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    transition: opacity 110ms linear, transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    transition: opacity 110ms linear, transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    opacity: 1; }
  .mdc-button.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded--foreground-unbounded-deactivation::after {
    -webkit-animation: mdc-ripple-fg-unbounded-opacity-deactivate var(--mdc-ripple-fg-unbounded-opacity-duration) linear, mdc-ripple-fg-unbounded-transform-deactivate var(--mdc-ripple-fg-unbounded-transform-duration) cubic-bezier(0.4, 0, 0.2, 1);
            animation: mdc-ripple-fg-unbounded-opacity-deactivate var(--mdc-ripple-fg-unbounded-opacity-duration) linear, mdc-ripple-fg-unbounded-transform-deactivate var(--mdc-ripple-fg-unbounded-transform-duration) cubic-bezier(0.4, 0, 0.2, 1); }
  .mdc-button--theme-dark.mdc-button.mdc-ripple-upgraded::before,
  .mdc-theme--dark .mdc-button.mdc-ripple-upgraded::before {
    background-color: rgba(255, 255, 255, 0.14);
    position: absolute;
    top: calc(50% - 100%);
    left: calc(50% - 100%);
    width: 200%;
    height: 200%;
    -webkit-transform: scale(var(--mdc-ripple-fg-scale));
            transform: scale(var(--mdc-ripple-fg-scale));
    -webkit-transition: opacity 200ms linear;
    transition: opacity 200ms linear;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    content: ""; }
  .mdc-button--theme-dark.mdc-button.mdc-ripple-upgraded.mdc-ripple-upgraded--background-active::before,
  .mdc-theme--dark .mdc-button.mdc-ripple-upgraded.mdc-ripple-upgraded--background-active::before {
    opacity: .99999; }
  .mdc-button--theme-dark.mdc-button.mdc-ripple-upgraded.mdc-ripple-upgraded--background-active:active::before,
  .mdc-theme--dark .mdc-button.mdc-ripple-upgraded.mdc-ripple-upgraded--background-active:active::before {
    -webkit-transition-duration: 600ms;
            transition-duration: 600ms; }
  .mdc-button--theme-dark.mdc-button.mdc-ripple-upgraded.mdc-ripple-upgraded--background-bounded-active-fill::before,
  .mdc-theme--dark .mdc-button.mdc-ripple-upgraded.mdc-ripple-upgraded--background-bounded-active-fill::before {
    -webkit-transition-duration: 120ms;
            transition-duration: 120ms;
    opacity: 1; }
  .mdc-button--theme-dark.mdc-button.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded::before,
  .mdc-theme--dark .mdc-button.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded::before {
    top: var(--mdc-ripple-top);
    left: var(--mdc-ripple-left);
    width: var(--mdc-ripple-fg-size);
    height: var(--mdc-ripple-fg-size); }
  .mdc-button--theme-dark.mdc-button.mdc-ripple-upgraded::after,
  .mdc-theme--dark .mdc-button.mdc-ripple-upgraded::after {
    background-color: rgba(255, 255, 255, 0.14);
    position: absolute;
    top: 0;
    left: 0;
    width: var(--mdc-ripple-fg-size);
    height: var(--mdc-ripple-fg-size);
    -webkit-transform: scale(0);
            transform: scale(0);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    content: ""; }
  .mdc-button--theme-dark.mdc-button.mdc-ripple-upgraded:not(.mdc-ripple-upgraded--unbounded)::after,
  .mdc-theme--dark .mdc-button.mdc-ripple-upgraded:not(.mdc-ripple-upgraded--unbounded)::after {
    -webkit-transform-origin: center center;
            transform-origin: center center; }
  .mdc-button--theme-dark.mdc-button.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded::after,
  .mdc-theme--dark .mdc-button.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded::after {
    top: var(--mdc-ripple-top);
    left: var(--mdc-ripple-left);
    -webkit-transform-origin: center center;
            transform-origin: center center; }
  .mdc-button--theme-dark.mdc-button.mdc-ripple-upgraded.mdc-ripple-upgraded--foreground-bounded-active-fill::after,
  .mdc-theme--dark .mdc-button.mdc-ripple-upgraded.mdc-ripple-upgraded--foreground-bounded-active-fill::after {
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    -webkit-animation: 300ms mdc-ripple-fg-radius-in, 400ms mdc-ripple-fg-opacity-out;
            animation: 300ms mdc-ripple-fg-radius-in, 400ms mdc-ripple-fg-opacity-out; }
  .mdc-button--theme-dark.mdc-button.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded--foreground-unbounded-activation::after,
  .mdc-theme--dark .mdc-button.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded--foreground-unbounded-activation::after {
    -webkit-transform: scale(var(--mdc-ripple-fg-scale));
            transform: scale(var(--mdc-ripple-fg-scale));
    -webkit-transition: opacity 110ms linear, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    transition: opacity 110ms linear, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    transition: opacity 110ms linear, transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    transition: opacity 110ms linear, transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    opacity: 1; }
  .mdc-button--theme-dark.mdc-button.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded--foreground-unbounded-deactivation::after,
  .mdc-theme--dark .mdc-button.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded--foreground-unbounded-deactivation::after {
    -webkit-animation: mdc-ripple-fg-unbounded-opacity-deactivate var(--mdc-ripple-fg-unbounded-opacity-duration) linear, mdc-ripple-fg-unbounded-transform-deactivate var(--mdc-ripple-fg-unbounded-transform-duration) cubic-bezier(0.4, 0, 0.2, 1);
            animation: mdc-ripple-fg-unbounded-opacity-deactivate var(--mdc-ripple-fg-unbounded-opacity-duration) linear, mdc-ripple-fg-unbounded-transform-deactivate var(--mdc-ripple-fg-unbounded-transform-duration) cubic-bezier(0.4, 0, 0.2, 1); }
  .mdc-button.mdc-ripple-upgraded.mdc-button--primary::before {
    background-color: rgba(63, 81, 181, 0.12);
    position: absolute;
    top: calc(50% - 100%);
    left: calc(50% - 100%);
    width: 200%;
    height: 200%;
    -webkit-transform: scale(var(--mdc-ripple-fg-scale));
            transform: scale(var(--mdc-ripple-fg-scale));
    -webkit-transition: opacity 200ms linear;
    transition: opacity 200ms linear;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    content: ""; }
    @supports (background-color: color(green a(10%))) {
      .mdc-button.mdc-ripple-upgraded.mdc-button--primary::before {
        background-color: color(var(--mdc-theme-primary, #3f51b5) a(12%)); } }
  .mdc-button.mdc-ripple-upgraded.mdc-button--primary.mdc-ripple-upgraded--background-active::before {
    opacity: .99999; }
  .mdc-button.mdc-ripple-upgraded.mdc-button--primary.mdc-ripple-upgraded--background-active:active::before {
    -webkit-transition-duration: 600ms;
            transition-duration: 600ms; }
  .mdc-button.mdc-ripple-upgraded.mdc-button--primary.mdc-ripple-upgraded--background-bounded-active-fill::before {
    -webkit-transition-duration: 120ms;
            transition-duration: 120ms;
    opacity: 1; }
  .mdc-button.mdc-ripple-upgraded.mdc-button--primary.mdc-ripple-upgraded--unbounded::before {
    top: var(--mdc-ripple-top);
    left: var(--mdc-ripple-left);
    width: var(--mdc-ripple-fg-size);
    height: var(--mdc-ripple-fg-size); }
  .mdc-button.mdc-ripple-upgraded.mdc-button--primary::after {
    background-color: rgba(63, 81, 181, 0.12);
    position: absolute;
    top: 0;
    left: 0;
    width: var(--mdc-ripple-fg-size);
    height: var(--mdc-ripple-fg-size);
    -webkit-transform: scale(0);
            transform: scale(0);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    content: ""; }
    @supports (background-color: color(green a(10%))) {
      .mdc-button.mdc-ripple-upgraded.mdc-button--primary::after {
        background-color: color(var(--mdc-theme-primary, #3f51b5) a(12%)); } }
  .mdc-button.mdc-ripple-upgraded.mdc-button--primary:not(.mdc-ripple-upgraded--unbounded)::after {
    -webkit-transform-origin: center center;
            transform-origin: center center; }
  .mdc-button.mdc-ripple-upgraded.mdc-button--primary.mdc-ripple-upgraded--unbounded::after {
    top: var(--mdc-ripple-top);
    left: var(--mdc-ripple-left);
    -webkit-transform-origin: center center;
            transform-origin: center center; }
  .mdc-button.mdc-ripple-upgraded.mdc-button--primary.mdc-ripple-upgraded--foreground-bounded-active-fill::after {
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    -webkit-animation: 300ms mdc-ripple-fg-radius-in, 400ms mdc-ripple-fg-opacity-out;
            animation: 300ms mdc-ripple-fg-radius-in, 400ms mdc-ripple-fg-opacity-out; }
  .mdc-button.mdc-ripple-upgraded.mdc-button--primary.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded--foreground-unbounded-activation::after {
    -webkit-transform: scale(var(--mdc-ripple-fg-scale));
            transform: scale(var(--mdc-ripple-fg-scale));
    -webkit-transition: opacity 110ms linear, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    transition: opacity 110ms linear, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    transition: opacity 110ms linear, transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    transition: opacity 110ms linear, transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    opacity: 1; }
  .mdc-button.mdc-ripple-upgraded.mdc-button--primary.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded--foreground-unbounded-deactivation::after {
    -webkit-animation: mdc-ripple-fg-unbounded-opacity-deactivate var(--mdc-ripple-fg-unbounded-opacity-duration) linear, mdc-ripple-fg-unbounded-transform-deactivate var(--mdc-ripple-fg-unbounded-transform-duration) cubic-bezier(0.4, 0, 0.2, 1);
            animation: mdc-ripple-fg-unbounded-opacity-deactivate var(--mdc-ripple-fg-unbounded-opacity-duration) linear, mdc-ripple-fg-unbounded-transform-deactivate var(--mdc-ripple-fg-unbounded-transform-duration) cubic-bezier(0.4, 0, 0.2, 1); }
  .mdc-button.mdc-ripple-upgraded.mdc-button--accent::before {
    background-color: rgba(255, 64, 129, 0.12);
    position: absolute;
    top: calc(50% - 100%);
    left: calc(50% - 100%);
    width: 200%;
    height: 200%;
    -webkit-transform: scale(var(--mdc-ripple-fg-scale));
            transform: scale(var(--mdc-ripple-fg-scale));
    -webkit-transition: opacity 200ms linear;
    transition: opacity 200ms linear;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    content: ""; }
    @supports (background-color: color(green a(10%))) {
      .mdc-button.mdc-ripple-upgraded.mdc-button--accent::before {
        background-color: color(var(--mdc-theme-accent, #ff4081) a(12%)); } }
  .mdc-button.mdc-ripple-upgraded.mdc-button--accent.mdc-ripple-upgraded--background-active::before {
    opacity: .99999; }
  .mdc-button.mdc-ripple-upgraded.mdc-button--accent.mdc-ripple-upgraded--background-active:active::before {
    -webkit-transition-duration: 600ms;
            transition-duration: 600ms; }
  .mdc-button.mdc-ripple-upgraded.mdc-button--accent.mdc-ripple-upgraded--background-bounded-active-fill::before {
    -webkit-transition-duration: 120ms;
            transition-duration: 120ms;
    opacity: 1; }
  .mdc-button.mdc-ripple-upgraded.mdc-button--accent.mdc-ripple-upgraded--unbounded::before {
    top: var(--mdc-ripple-top);
    left: var(--mdc-ripple-left);
    width: var(--mdc-ripple-fg-size);
    height: var(--mdc-ripple-fg-size); }
  .mdc-button.mdc-ripple-upgraded.mdc-button--accent::after {
    background-color: rgba(255, 64, 129, 0.12);
    position: absolute;
    top: 0;
    left: 0;
    width: var(--mdc-ripple-fg-size);
    height: var(--mdc-ripple-fg-size);
    -webkit-transform: scale(0);
            transform: scale(0);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    content: ""; }
    @supports (background-color: color(green a(10%))) {
      .mdc-button.mdc-ripple-upgraded.mdc-button--accent::after {
        background-color: color(var(--mdc-theme-accent, #ff4081) a(12%)); } }
  .mdc-button.mdc-ripple-upgraded.mdc-button--accent:not(.mdc-ripple-upgraded--unbounded)::after {
    -webkit-transform-origin: center center;
            transform-origin: center center; }
  .mdc-button.mdc-ripple-upgraded.mdc-button--accent.mdc-ripple-upgraded--unbounded::after {
    top: var(--mdc-ripple-top);
    left: var(--mdc-ripple-left);
    -webkit-transform-origin: center center;
            transform-origin: center center; }
  .mdc-button.mdc-ripple-upgraded.mdc-button--accent.mdc-ripple-upgraded--foreground-bounded-active-fill::after {
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    -webkit-animation: 300ms mdc-ripple-fg-radius-in, 400ms mdc-ripple-fg-opacity-out;
            animation: 300ms mdc-ripple-fg-radius-in, 400ms mdc-ripple-fg-opacity-out; }
  .mdc-button.mdc-ripple-upgraded.mdc-button--accent.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded--foreground-unbounded-activation::after {
    -webkit-transform: scale(var(--mdc-ripple-fg-scale));
            transform: scale(var(--mdc-ripple-fg-scale));
    -webkit-transition: opacity 110ms linear, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    transition: opacity 110ms linear, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    transition: opacity 110ms linear, transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    transition: opacity 110ms linear, transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    opacity: 1; }
  .mdc-button.mdc-ripple-upgraded.mdc-button--accent.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded--foreground-unbounded-deactivation::after {
    -webkit-animation: mdc-ripple-fg-unbounded-opacity-deactivate var(--mdc-ripple-fg-unbounded-opacity-duration) linear, mdc-ripple-fg-unbounded-transform-deactivate var(--mdc-ripple-fg-unbounded-transform-duration) cubic-bezier(0.4, 0, 0.2, 1);
            animation: mdc-ripple-fg-unbounded-opacity-deactivate var(--mdc-ripple-fg-unbounded-opacity-duration) linear, mdc-ripple-fg-unbounded-transform-deactivate var(--mdc-ripple-fg-unbounded-transform-duration) cubic-bezier(0.4, 0, 0.2, 1); }

.mdc-button--raised.mdc-ripple-upgraded.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-transform: scale(var(--mdc-ripple-fg-scale));
          transform: scale(var(--mdc-ripple-fg-scale));
  -webkit-transition: opacity 200ms linear;
  transition: opacity 200ms linear;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: ""; }

.mdc-button--raised.mdc-ripple-upgraded.mdc-button--primary.mdc-ripple-upgraded--background-active::before {
  opacity: .99999; }

.mdc-button--raised.mdc-ripple-upgraded.mdc-button--primary.mdc-ripple-upgraded--background-active:active::before {
  -webkit-transition-duration: 600ms;
          transition-duration: 600ms; }

.mdc-button--raised.mdc-ripple-upgraded.mdc-button--primary.mdc-ripple-upgraded--background-bounded-active-fill::before {
  -webkit-transition-duration: 120ms;
          transition-duration: 120ms;
  opacity: 1; }

.mdc-button--raised.mdc-ripple-upgraded.mdc-button--primary.mdc-ripple-upgraded--unbounded::before {
  top: var(--mdc-ripple-top);
  left: var(--mdc-ripple-left);
  width: var(--mdc-ripple-fg-size);
  height: var(--mdc-ripple-fg-size); }

.mdc-button--raised.mdc-ripple-upgraded.mdc-button--primary::after {
  background-color: rgba(255, 255, 255, 0.14);
  position: absolute;
  top: 0;
  left: 0;
  width: var(--mdc-ripple-fg-size);
  height: var(--mdc-ripple-fg-size);
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-transform-origin: center center;
          transform-origin: center center;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: ""; }

.mdc-button--raised.mdc-ripple-upgraded.mdc-button--primary:not(.mdc-ripple-upgraded--unbounded)::after {
  -webkit-transform-origin: center center;
          transform-origin: center center; }

.mdc-button--raised.mdc-ripple-upgraded.mdc-button--primary.mdc-ripple-upgraded--unbounded::after {
  top: var(--mdc-ripple-top);
  left: var(--mdc-ripple-left);
  -webkit-transform-origin: center center;
          transform-origin: center center; }

.mdc-button--raised.mdc-ripple-upgraded.mdc-button--primary.mdc-ripple-upgraded--foreground-bounded-active-fill::after {
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation: 300ms mdc-ripple-fg-radius-in, 400ms mdc-ripple-fg-opacity-out;
          animation: 300ms mdc-ripple-fg-radius-in, 400ms mdc-ripple-fg-opacity-out; }

.mdc-button--raised.mdc-ripple-upgraded.mdc-button--primary.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded--foreground-unbounded-activation::after {
  -webkit-transform: scale(var(--mdc-ripple-fg-scale));
          transform: scale(var(--mdc-ripple-fg-scale));
  -webkit-transition: opacity 110ms linear, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
  transition: opacity 110ms linear, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
  transition: opacity 110ms linear, transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
  transition: opacity 110ms linear, transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
  opacity: 1; }

.mdc-button--raised.mdc-ripple-upgraded.mdc-button--primary.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded--foreground-unbounded-deactivation::after {
  -webkit-animation: mdc-ripple-fg-unbounded-opacity-deactivate var(--mdc-ripple-fg-unbounded-opacity-duration) linear, mdc-ripple-fg-unbounded-transform-deactivate var(--mdc-ripple-fg-unbounded-transform-duration) cubic-bezier(0.4, 0, 0.2, 1);
          animation: mdc-ripple-fg-unbounded-opacity-deactivate var(--mdc-ripple-fg-unbounded-opacity-duration) linear, mdc-ripple-fg-unbounded-transform-deactivate var(--mdc-ripple-fg-unbounded-transform-duration) cubic-bezier(0.4, 0, 0.2, 1); }

.mdc-button--raised.mdc-ripple-upgraded.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-transform: scale(var(--mdc-ripple-fg-scale));
          transform: scale(var(--mdc-ripple-fg-scale));
  -webkit-transition: opacity 200ms linear;
  transition: opacity 200ms linear;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: ""; }

.mdc-button--raised.mdc-ripple-upgraded.mdc-button--accent.mdc-ripple-upgraded--background-active::before {
  opacity: .99999; }

.mdc-button--raised.mdc-ripple-upgraded.mdc-button--accent.mdc-ripple-upgraded--background-active:active::before {
  -webkit-transition-duration: 600ms;
          transition-duration: 600ms; }

.mdc-button--raised.mdc-ripple-upgraded.mdc-button--accent.mdc-ripple-upgraded--background-bounded-active-fill::before {
  -webkit-transition-duration: 120ms;
          transition-duration: 120ms;
  opacity: 1; }

.mdc-button--raised.mdc-ripple-upgraded.mdc-button--accent.mdc-ripple-upgraded--unbounded::before {
  top: var(--mdc-ripple-top);
  left: var(--mdc-ripple-left);
  width: var(--mdc-ripple-fg-size);
  height: var(--mdc-ripple-fg-size); }

.mdc-button--raised.mdc-ripple-upgraded.mdc-button--accent::after {
  background-color: rgba(255, 255, 255, 0.14);
  position: absolute;
  top: 0;
  left: 0;
  width: var(--mdc-ripple-fg-size);
  height: var(--mdc-ripple-fg-size);
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-transform-origin: center center;
          transform-origin: center center;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: ""; }

.mdc-button--raised.mdc-ripple-upgraded.mdc-button--accent:not(.mdc-ripple-upgraded--unbounded)::after {
  -webkit-transform-origin: center center;
          transform-origin: center center; }

.mdc-button--raised.mdc-ripple-upgraded.mdc-button--accent.mdc-ripple-upgraded--unbounded::after {
  top: var(--mdc-ripple-top);
  left: var(--mdc-ripple-left);
  -webkit-transform-origin: center center;
          transform-origin: center center; }

.mdc-button--raised.mdc-ripple-upgraded.mdc-button--accent.mdc-ripple-upgraded--foreground-bounded-active-fill::after {
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation: 300ms mdc-ripple-fg-radius-in, 400ms mdc-ripple-fg-opacity-out;
          animation: 300ms mdc-ripple-fg-radius-in, 400ms mdc-ripple-fg-opacity-out; }

.mdc-button--raised.mdc-ripple-upgraded.mdc-button--accent.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded--foreground-unbounded-activation::after {
  -webkit-transform: scale(var(--mdc-ripple-fg-scale));
          transform: scale(var(--mdc-ripple-fg-scale));
  -webkit-transition: opacity 110ms linear, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
  transition: opacity 110ms linear, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
  transition: opacity 110ms linear, transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
  transition: opacity 110ms linear, transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
  opacity: 1; }

.mdc-button--raised.mdc-ripple-upgraded.mdc-button--accent.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded--foreground-unbounded-deactivation::after {
  -webkit-animation: mdc-ripple-fg-unbounded-opacity-deactivate var(--mdc-ripple-fg-unbounded-opacity-duration) linear, mdc-ripple-fg-unbounded-transform-deactivate var(--mdc-ripple-fg-unbounded-transform-duration) cubic-bezier(0.4, 0, 0.2, 1);
          animation: mdc-ripple-fg-unbounded-opacity-deactivate var(--mdc-ripple-fg-unbounded-opacity-duration) linear, mdc-ripple-fg-unbounded-transform-deactivate var(--mdc-ripple-fg-unbounded-transform-duration) cubic-bezier(0.4, 0, 0.2, 1); }

/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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).
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/*
  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;
 *   }
 * }
 * ```
 */
/**
 * 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.
 */
/**
 * 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.
 */
/* 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-card {
  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;
  box-sizing: border-box; }
  .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;
    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;
    color: rgba(0, 0, 0, 0.87);
    color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87)); }
    .mdc-card--theme-dark .mdc-card__supporting-text,
    .mdc-theme--dark .mdc-card__supporting-text {
      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;
    box-sizing: border-box; }
    .mdc-card--theme-dark .mdc-card__actions,
    .mdc-theme--dark .mdc-card__actions {
      color: white;
      color: var(--mdc-theme-text-primary-on-dark, white); }
    .mdc-card__actions .mdc-card__action {
      margin: 0 8px 0 0; }
    .mdc-card__actions .mdc-card__action:last-child {
      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;
    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;
    color: rgba(0, 0, 0, 0.87);
    color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87));
    margin: -.063rem 0; }
    .mdc-card--theme-dark .mdc-card__title,
    .mdc-theme--dark .mdc-card__title {
      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;
    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;
    color: rgba(0, 0, 0, 0.87);
    color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87));
    margin: -.063rem 0; }
    .mdc-card--theme-dark .mdc-card__subtitle,
    .mdc-theme--dark .mdc-card__subtitle {
      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;
    padding: 0 16px 0 0;
    box-sizing: border-box; }
    .mdc-card__horizontal-block .mdc-card__actions--vertical {
      margin: 16px; }
    .mdc-card__horizontal-block .mdc-card__media-item {
      margin-left: 16px; }
    .mdc-card__horizontal-block .mdc-card__media-item--3x {
      margin-bottom: 16px; }

/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/*
  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 */
/**
 * 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 Ripple keyframes are split into their own file so that _mixins.scss can rely on them. */
/**
 * 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.
 */
@keyframes mdc-ripple-fg-radius-in {
  from {
    -webkit-transform: translate(var(--mdc-ripple-fg-translate-start)) scale(1);
            transform: translate(var(--mdc-ripple-fg-translate-start)) 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)) scale(var(--mdc-ripple-fg-scale));
            transform: translate(var(--mdc-ripple-fg-translate-end)) scale(var(--mdc-ripple-fg-scale)); } }

@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-unbounded-opacity-deactivate {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

@keyframes mdc-ripple-fg-unbounded-transform-deactivate {
  from {
    -webkit-transform: var(--mdc-ripple-fg-approx-xf);
            transform: var(--mdc-ripple-fg-approx-xf); }
  to {
    -webkit-transform: scale(var(--mdc-ripple-fg-scale));
            transform: scale(var(--mdc-ripple-fg-scale)); } }

/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/* Manual calculation done on SVG */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/*
  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;
 *   }
 * }
 * ```
 */
/**
 * 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.
 */
/* 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% {
    border-color: #3f51b5;
    border-color: var(--mdc-theme-primary, #3f51b5);
    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% {
    border-color: #3f51b5;
    border-color: var(--mdc-theme-primary, #3f51b5);
    background-color: #3f51b5;
    background-color: var(--mdc-theme-primary, #3f51b5); } }

@-webkit-keyframes mdc-checkbox-fade-out-background {
  0%,
  80% {
    border-color: #3f51b5;
    border-color: var(--mdc-theme-primary, #3f51b5);
    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% {
    border-color: #3f51b5;
    border-color: var(--mdc-theme-primary, #3f51b5);
    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% {
    border-color: #3f51b5;
    border-color: var(--mdc-theme-primary, #3f51b5);
    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% {
    border-color: #3f51b5;
    border-color: var(--mdc-theme-primary, #3f51b5);
    background-color: #3f51b5;
    background-color: var(--mdc-theme-primary, #3f51b5); } }

@-webkit-keyframes mdc-checkbox-fade-out-background-dark {
  0%,
  80% {
    border-color: #3f51b5;
    border-color: var(--mdc-theme-primary, #3f51b5);
    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% {
    border-color: #3f51b5;
    border-color: var(--mdc-theme-primary, #3f51b5);
    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 {
  display: inline-block;
  position: relative;
  box-sizing: content-box;
  width: 18px;
  height: 18px;
  padding: 11px;
  line-height: 0;
  white-space: nowrap;
  cursor: pointer;
  vertical-align: bottom; }
  .mdc-checkbox__background {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    top: 11px;
    left: 11px;
    border-radius: 2px;
    box-sizing: border-box;
    pointer-events: 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: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 45%;
    height: 45%;
    box-sizing: border-box;
    -webkit-transition: background-color 90ms 0ms cubic-bezier(0.4, 0, 1, 1), border-color 90ms 0ms cubic-bezier(0.4, 0, 1, 1);
    transition: background-color 90ms 0ms cubic-bezier(0.4, 0, 1, 1), border-color 90ms 0ms cubic-bezier(0.4, 0, 1, 1);
    border: 2px solid rgba(0, 0, 0, 0.54);
    background-color: transparent;
    will-change: background-color, border-color; }
    .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, 1, 1), -webkit-transform 90ms 0ms cubic-bezier(0.4, 0, 1, 1);
      transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 1, 1), -webkit-transform 90ms 0ms cubic-bezier(0.4, 0, 1, 1);
      transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 1, 1), transform 90ms 0ms cubic-bezier(0.4, 0, 1, 1);
      transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 1, 1), transform 90ms 0ms cubic-bezier(0.4, 0, 1, 1), -webkit-transform 90ms 0ms cubic-bezier(0.4, 0, 1, 1);
      border-radius: 50%;
      content: "";
      opacity: 0;
      pointer-events: none;
      will-change: opacity, transform;
      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, 1, 1);
    transition: opacity 180ms 0ms cubic-bezier(0.4, 0, 1, 1);
    opacity: 0;
    fill: white; }
    .mdc-checkbox__checkmark__path {
      -webkit-transition: stroke-dashoffset 180ms 0ms cubic-bezier(0.4, 0, 1, 1);
      transition: stroke-dashoffset 180ms 0ms cubic-bezier(0.4, 0, 1, 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, 1, 1), -webkit-transform 90ms 0ms cubic-bezier(0.4, 0, 1, 1);
    transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 1, 1), -webkit-transform 90ms 0ms cubic-bezier(0.4, 0, 1, 1);
    transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 1, 1), transform 90ms 0ms cubic-bezier(0.4, 0, 1, 1);
    transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 1, 1), transform 90ms 0ms cubic-bezier(0.4, 0, 1, 1), -webkit-transform 90ms 0ms cubic-bezier(0.4, 0, 1, 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);
  border-color: #3f51b5;
  border-color: var(--mdc-theme-primary, #3f51b5);
  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 {
  border-color: #3f51b5;
  border-color: var(--mdc-theme-primary, #3f51b5);
  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, 1, 1), -webkit-transform 90ms 0ms cubic-bezier(0.4, 0, 1, 1);
    transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 1, 1), -webkit-transform 90ms 0ms cubic-bezier(0.4, 0, 1, 1);
    transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 1, 1), transform 90ms 0ms cubic-bezier(0.4, 0, 1, 1);
    transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 1, 1), transform 90ms 0ms cubic-bezier(0.4, 0, 1, 1), -webkit-transform 90ms 0ms cubic-bezier(0.4, 0, 1, 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--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; }

.mdc-checkbox.mdc-ripple-upgraded {
  --mdc-ripple-left: 0;
  --mdc-ripple-top: 0;
  --mdc-ripple-fg-size: 0;
  --mdc-ripple-surface-height: 0;
  --mdc-ripple-surface-width: 0;
  --mdc-ripple-fg-unbounded-transform-duration: 0ms;
  --mdc-ripple-xfo-x: center;
  --mdc-ripple-xfo-y: center;
  --mdc-ripple-fg-unbounded-opacity-duration: 0ms;
  --mdc-ripple-fg-unbounded-transform-duration: 0ms;
  --mdc-ripple-fg-approx-xf: 0;
  will-change: transition, opacity;
  -webkit-tap-highlight-color: transparent; }
  .mdc-checkbox.mdc-ripple-upgraded::before {
    background-color: rgba(63, 81, 181, 0.14);
    position: absolute;
    top: calc(50% - 100%);
    left: calc(50% - 100%);
    width: 200%;
    height: 200%;
    -webkit-transform: scale(var(--mdc-ripple-fg-scale));
            transform: scale(var(--mdc-ripple-fg-scale));
    -webkit-transition: opacity 200ms linear;
    transition: opacity 200ms linear;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    content: ""; }
    @supports (background-color: color(green a(10%))) {
      .mdc-checkbox.mdc-ripple-upgraded::before {
        background-color: color(var(--mdc-theme-primary, #3f51b5) a(14%)); } }
  .mdc-checkbox.mdc-ripple-upgraded.mdc-ripple-upgraded--background-active::before {
    opacity: .99999; }
  .mdc-checkbox.mdc-ripple-upgraded.mdc-ripple-upgraded--background-active:active::before {
    -webkit-transition-duration: 600ms;
            transition-duration: 600ms; }
  .mdc-checkbox.mdc-ripple-upgraded.mdc-ripple-upgraded--background-bounded-active-fill::before {
    -webkit-transition-duration: 120ms;
            transition-duration: 120ms;
    opacity: 1; }
  .mdc-checkbox.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded::before {
    top: var(--mdc-ripple-top);
    left: var(--mdc-ripple-left);
    width: var(--mdc-ripple-fg-size);
    height: var(--mdc-ripple-fg-size); }
  .mdc-checkbox.mdc-ripple-upgraded::after {
    background-color: rgba(63, 81, 181, 0.14);
    position: absolute;
    top: 0;
    left: 0;
    width: var(--mdc-ripple-fg-size);
    height: var(--mdc-ripple-fg-size);
    -webkit-transform: scale(0);
            transform: scale(0);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    content: ""; }
    @supports (background-color: color(green a(10%))) {
      .mdc-checkbox.mdc-ripple-upgraded::after {
        background-color: color(var(--mdc-theme-primary, #3f51b5) a(14%)); } }
  .mdc-checkbox.mdc-ripple-upgraded:not(.mdc-ripple-upgraded--unbounded)::after {
    -webkit-transform-origin: center center;
            transform-origin: center center; }
  .mdc-checkbox.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded::after {
    top: var(--mdc-ripple-top);
    left: var(--mdc-ripple-left);
    -webkit-transform-origin: center center;
            transform-origin: center center; }
  .mdc-checkbox.mdc-ripple-upgraded.mdc-ripple-upgraded--foreground-bounded-active-fill::after {
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    -webkit-animation: 300ms mdc-ripple-fg-radius-in, 400ms mdc-ripple-fg-opacity-out;
            animation: 300ms mdc-ripple-fg-radius-in, 400ms mdc-ripple-fg-opacity-out; }
  .mdc-checkbox.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded--foreground-unbounded-activation::after {
    -webkit-transform: scale(var(--mdc-ripple-fg-scale));
            transform: scale(var(--mdc-ripple-fg-scale));
    -webkit-transition: opacity 110ms linear, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    transition: opacity 110ms linear, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    transition: opacity 110ms linear, transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    transition: opacity 110ms linear, transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    opacity: 1; }
  .mdc-checkbox.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded--foreground-unbounded-deactivation::after {
    -webkit-animation: mdc-ripple-fg-unbounded-opacity-deactivate var(--mdc-ripple-fg-unbounded-opacity-duration) linear, mdc-ripple-fg-unbounded-transform-deactivate var(--mdc-ripple-fg-unbounded-transform-duration) cubic-bezier(0.4, 0, 0.2, 1);
            animation: mdc-ripple-fg-unbounded-opacity-deactivate var(--mdc-ripple-fg-unbounded-opacity-duration) linear, mdc-ripple-fg-unbounded-transform-deactivate var(--mdc-ripple-fg-unbounded-transform-duration) cubic-bezier(0.4, 0, 0.2, 1); }
  .mdc-checkbox.mdc-ripple-upgraded .mdc-checkbox__background::before {
    content: none; }

/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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
 * <html dir="rtl">
 *   <!-- ... -->
 *   <div dir="ltr">
 *     <div class="mdc-foo">Styled incorrectly as RTL!</div>
 *   </div>
 * </html>
 * ```
 *
 * 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
 * "<base-property>-<default-direction>" 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-property(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 <base-property>-left to <left-value> and
 * <base-property>-right to <right-value> 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/*
  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;
 *   }
 * }
 * ```
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/*
  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;
 *   }
 * }
 * ```
 */
/**
 * 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.
 */
/**
 * 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.
 */
/* 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-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. */
  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;
  width: 240px;
  height: 100%;
  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);
    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;
    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; }
  .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 {
    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, 1, 1);
    transition: opacity 120ms 0ms cubic-bezier(0.4, 0, 1, 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: #212121;
    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; }

/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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).
 */
/**
 * 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
 * <html dir="rtl">
 *   <!-- ... -->
 *   <div dir="ltr">
 *     <div class="mdc-foo">Styled incorrectly as RTL!</div>
 *   </div>
 * </html>
 * ```
 *
 * 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
 * "<base-property>-<default-direction>" 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-property(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 <base-property>-left to <left-value> and
 * <base-property>-right to <right-value> 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/*
  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;
 *   }
 * }
 * ```
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/*
  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;
 *   }
 * }
 * ```
 */
/**
 * 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.
 */
/**
 * 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.
 */
/* 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-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;
  box-sizing: border-box;
  contain: strict;
  z-index: 3;
  /* 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);
    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;
    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; }
  .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 {
    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, 1, 1);
    transition: opacity 120ms 0ms cubic-bezier(0.4, 0, 1, 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;
    box-sizing: border-box; }
  .mdc-temporary-drawer__drawer {
    background: #fff;
    background: var(--mdc-theme-background, #fff);
    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;
    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;
    height: 100%;
    -webkit-transform: translateX(-107%);
            transform: translateX(-107%);
    -webkit-transform: translateX(calc(-100% - 20px));
            transform: translateX(calc(-100% - 20px));
    will-change: transform;
    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;
      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;
    box-sizing: border-box;
    -webkit-overflow-scrolling: touch;
    -ms-touch-action: pan-y;
        touch-action: pan-y; }
  .mdc-temporary-drawer__footer {
    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.33s 0ms cubic-bezier(0, 0, 0.2, 1);
    transition: -webkit-transform 0.33s 0ms cubic-bezier(0, 0, 0.2, 1);
    transition: transform 0.33s 0ms cubic-bezier(0, 0, 0.2, 1);
    transition: transform 0.33s 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 0.33s 0ms cubic-bezier(0, 0, 0.2, 1); }
  .mdc-temporary-drawer--animating .mdc-temporary-drawer__drawer {
    -webkit-transition: -webkit-transform 0.13s 0ms cubic-bezier(0, 0, 0.2, 1);
    transition: -webkit-transform 0.13s 0ms cubic-bezier(0, 0, 0.2, 1);
    transition: transform 0.13s 0ms cubic-bezier(0, 0, 0.2, 1);
    transition: transform 0.13s 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 0.13s 0ms cubic-bezier(0, 0, 0.2, 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; }

/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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 {
  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 {
  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 {
  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 {
  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 {
  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 {
  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 {
  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 {
  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 {
  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 {
  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 {
  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 {
  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 {
  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 {
  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 {
  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 {
  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 {
  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 {
  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 {
  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 {
  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 {
  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 {
  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 {
  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 {
  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 {
  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: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
  transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
  will-change: box-shadow; }

/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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).
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/*
  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 */
/**
 * 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 Ripple keyframes are split into their own file so that _mixins.scss can rely on them. */
/**
 * 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.
 */
@keyframes mdc-ripple-fg-radius-in {
  from {
    -webkit-transform: translate(var(--mdc-ripple-fg-translate-start)) scale(1);
            transform: translate(var(--mdc-ripple-fg-translate-start)) 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)) scale(var(--mdc-ripple-fg-scale));
            transform: translate(var(--mdc-ripple-fg-translate-end)) scale(var(--mdc-ripple-fg-scale)); } }

@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-unbounded-opacity-deactivate {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

@keyframes mdc-ripple-fg-unbounded-transform-deactivate {
  from {
    -webkit-transform: var(--mdc-ripple-fg-approx-xf);
            transform: var(--mdc-ripple-fg-approx-xf); }
  to {
    -webkit-transform: scale(var(--mdc-ripple-fg-scale));
            transform: scale(var(--mdc-ripple-fg-scale)); } }

/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/*
  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 {
  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: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
  transition: 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;
  box-sizing: border-box;
  fill: currentColor;
  -moz-appearance: none;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0.18);
  background-color: #ff4081;
  background-color: var(--mdc-theme-accent, #ff4081);
  color: white;
  color: var(--mdc-theme-text-primary-on-accent, white);
  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--mini {
    width: 40px;
    height: 40px; }
  .mdc-fab--plain {
    background-color: white;
    color: rgba(0, 0, 0, 0.87);
    color: var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87)); }
  .mdc-fab::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-transition: opacity 120ms 0ms cubic-bezier(0.4, 0, 1, 1);
    transition: opacity 120ms 0ms cubic-bezier(0.4, 0, 1, 1);
    border-radius: inherit;
    background: black;
    content: "";
    opacity: 0; }
  .mdc-fab:focus::before {
    -webkit-transition: opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1);
    transition: opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1);
    opacity: .12; }
  .mdc-fab:active::before {
    -webkit-transition: opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1);
    transition: opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1);
    opacity: .18; }
  .mdc-fab: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-fab:active, .mdc-fab:focus {
    outline: none; }
  .mdc-fab:active {
    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%; }

.mdc-fab.mdc-ripple-upgraded {
  --mdc-ripple-left: 0;
  --mdc-ripple-top: 0;
  --mdc-ripple-fg-size: 0;
  --mdc-ripple-surface-height: 0;
  --mdc-ripple-surface-width: 0;
  --mdc-ripple-fg-unbounded-transform-duration: 0ms;
  --mdc-ripple-xfo-x: center;
  --mdc-ripple-xfo-y: center;
  --mdc-ripple-fg-unbounded-opacity-duration: 0ms;
  --mdc-ripple-fg-unbounded-transform-duration: 0ms;
  --mdc-ripple-fg-approx-xf: 0;
  will-change: transition, opacity;
  -webkit-tap-highlight-color: transparent;
  overflow: hidden; }
  .mdc-fab.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-transform: scale(var(--mdc-ripple-fg-scale));
            transform: scale(var(--mdc-ripple-fg-scale));
    -webkit-transition: opacity 200ms linear;
    transition: opacity 200ms linear;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    content: ""; }
  .mdc-fab.mdc-ripple-upgraded.mdc-ripple-upgraded--background-active::before {
    opacity: .99999; }
  .mdc-fab.mdc-ripple-upgraded.mdc-ripple-upgraded--background-active:active::before {
    -webkit-transition-duration: 600ms;
            transition-duration: 600ms; }
  .mdc-fab.mdc-ripple-upgraded.mdc-ripple-upgraded--background-bounded-active-fill::before {
    -webkit-transition-duration: 120ms;
            transition-duration: 120ms;
    opacity: 1; }
  .mdc-fab.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded::before {
    top: var(--mdc-ripple-top);
    left: var(--mdc-ripple-left);
    width: var(--mdc-ripple-fg-size);
    height: var(--mdc-ripple-fg-size); }
  .mdc-fab.mdc-ripple-upgraded::after {
    background-color: rgba(255, 255, 255, 0.16);
    position: absolute;
    top: 0;
    left: 0;
    width: var(--mdc-ripple-fg-size);
    height: var(--mdc-ripple-fg-size);
    -webkit-transform: scale(0);
            transform: scale(0);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    content: ""; }
  .mdc-fab.mdc-ripple-upgraded:not(.mdc-ripple-upgraded--unbounded)::after {
    -webkit-transform-origin: center center;
            transform-origin: center center; }
  .mdc-fab.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded::after {
    top: var(--mdc-ripple-top);
    left: var(--mdc-ripple-left);
    -webkit-transform-origin: center center;
            transform-origin: center center; }
  .mdc-fab.mdc-ripple-upgraded.mdc-ripple-upgraded--foreground-bounded-active-fill::after {
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    -webkit-animation: 300ms mdc-ripple-fg-radius-in, 400ms mdc-ripple-fg-opacity-out;
            animation: 300ms mdc-ripple-fg-radius-in, 400ms mdc-ripple-fg-opacity-out; }
  .mdc-fab.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded--foreground-unbounded-activation::after {
    -webkit-transform: scale(var(--mdc-ripple-fg-scale));
            transform: scale(var(--mdc-ripple-fg-scale));
    -webkit-transition: opacity 110ms linear, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    transition: opacity 110ms linear, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    transition: opacity 110ms linear, transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    transition: opacity 110ms linear, transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    opacity: 1; }
  .mdc-fab.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded--foreground-unbounded-deactivation::after {
    -webkit-animation: mdc-ripple-fg-unbounded-opacity-deactivate var(--mdc-ripple-fg-unbounded-opacity-duration) linear, mdc-ripple-fg-unbounded-transform-deactivate var(--mdc-ripple-fg-unbounded-transform-duration) cubic-bezier(0.4, 0, 0.2, 1);
            animation: mdc-ripple-fg-unbounded-opacity-deactivate var(--mdc-ripple-fg-unbounded-opacity-duration) linear, mdc-ripple-fg-unbounded-transform-deactivate var(--mdc-ripple-fg-unbounded-transform-duration) cubic-bezier(0.4, 0, 0.2, 1); }

.mdc-fab--plain.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-transform: scale(var(--mdc-ripple-fg-scale));
          transform: scale(var(--mdc-ripple-fg-scale));
  -webkit-transition: opacity 200ms linear;
  transition: opacity 200ms linear;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: ""; }

.mdc-fab--plain.mdc-ripple-upgraded.mdc-ripple-upgraded--background-active::before {
  opacity: .99999; }

.mdc-fab--plain.mdc-ripple-upgraded.mdc-ripple-upgraded--background-active:active::before {
  -webkit-transition-duration: 600ms;
          transition-duration: 600ms; }

.mdc-fab--plain.mdc-ripple-upgraded.mdc-ripple-upgraded--background-bounded-active-fill::before {
  -webkit-transition-duration: 120ms;
          transition-duration: 120ms;
  opacity: 1; }

.mdc-fab--plain.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded::before {
  top: var(--mdc-ripple-top);
  left: var(--mdc-ripple-left);
  width: var(--mdc-ripple-fg-size);
  height: var(--mdc-ripple-fg-size); }

.mdc-fab--plain.mdc-ripple-upgraded::after {
  background-color: rgba(0, 0, 0, 0.06);
  position: absolute;
  top: 0;
  left: 0;
  width: var(--mdc-ripple-fg-size);
  height: var(--mdc-ripple-fg-size);
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-transform-origin: center center;
          transform-origin: center center;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: ""; }

.mdc-fab--plain.mdc-ripple-upgraded:not(.mdc-ripple-upgraded--unbounded)::after {
  -webkit-transform-origin: center center;
          transform-origin: center center; }

.mdc-fab--plain.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded::after {
  top: var(--mdc-ripple-top);
  left: var(--mdc-ripple-left);
  -webkit-transform-origin: center center;
          transform-origin: center center; }

.mdc-fab--plain.mdc-ripple-upgraded.mdc-ripple-upgraded--foreground-bounded-active-fill::after {
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation: 300ms mdc-ripple-fg-radius-in, 400ms mdc-ripple-fg-opacity-out;
          animation: 300ms mdc-ripple-fg-radius-in, 400ms mdc-ripple-fg-opacity-out; }

.mdc-fab--plain.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded--foreground-unbounded-activation::after {
  -webkit-transform: scale(var(--mdc-ripple-fg-scale));
          transform: scale(var(--mdc-ripple-fg-scale));
  -webkit-transition: opacity 110ms linear, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
  transition: opacity 110ms linear, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
  transition: opacity 110ms linear, transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
  transition: opacity 110ms linear, transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
  opacity: 1; }

.mdc-fab--plain.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded--foreground-unbounded-deactivation::after {
  -webkit-animation: mdc-ripple-fg-unbounded-opacity-deactivate var(--mdc-ripple-fg-unbounded-opacity-duration) linear, mdc-ripple-fg-unbounded-transform-deactivate var(--mdc-ripple-fg-unbounded-transform-duration) cubic-bezier(0.4, 0, 0.2, 1);
          animation: mdc-ripple-fg-unbounded-opacity-deactivate var(--mdc-ripple-fg-unbounded-opacity-duration) linear, mdc-ripple-fg-unbounded-transform-deactivate var(--mdc-ripple-fg-unbounded-transform-duration) cubic-bezier(0.4, 0, 0.2, 1); }

/**
 * 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.
 */
/**
 * 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
 * <html dir="rtl">
 *   <!-- ... -->
 *   <div dir="ltr">
 *     <div class="mdc-foo">Styled incorrectly as RTL!</div>
 *   </div>
 * </html>
 * ```
 *
 * 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
 * "<base-property>-<default-direction>" 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-property(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 <base-property>-left to <left-value> and
 * <base-property>-right to <right-value> 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/*
  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;
 *   }
 * }
 * ```
 */
/**
 * 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.
 */
/**
 * 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.
 */
/* 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-no-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;
  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 {
    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;
    margin-left: 4px; }
  [dir="rtl"] .mdc-form-field > label, .mdc-form-field[dir="rtl"] > label {
    margin-right: 4px;
    margin-left: auto; }

.mdc-form-field--align-end > label {
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
  margin-right: 4px;
  margin-left: auto; }

[dir="rtl"] .mdc-form-field--align-end > label, .mdc-form-field--align-end[dir="rtl"] > label {
  margin-right: auto;
  margin-left: 4px; }

/* stylelint-enable selector-no-type */
/**
 * 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.
 */
/** postcss-bem-linter: define icon-toggle */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/*
  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 */
/**
 * 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 Ripple keyframes are split into their own file so that _mixins.scss can rely on them. */
/**
 * 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.
 */
@keyframes mdc-ripple-fg-radius-in {
  from {
    -webkit-transform: translate(var(--mdc-ripple-fg-translate-start)) scale(1);
            transform: translate(var(--mdc-ripple-fg-translate-start)) 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)) scale(var(--mdc-ripple-fg-scale));
            transform: translate(var(--mdc-ripple-fg-translate-end)) scale(var(--mdc-ripple-fg-scale)); } }

@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-unbounded-opacity-deactivate {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

@keyframes mdc-ripple-fg-unbounded-transform-deactivate {
  from {
    -webkit-transform: var(--mdc-ripple-fg-approx-xf);
            transform: var(--mdc-ripple-fg-approx-xf); }
  to {
    -webkit-transform: scale(var(--mdc-ripple-fg-scale));
            transform: scale(var(--mdc-ripple-fg-scale)); } }

/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/*
  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 {
  color: rgba(0, 0, 0, 0.54);
  color: var(--mdc-theme-text-secondary-on-light, rgba(0, 0, 0, 0.54));
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  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::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    -webkit-transform: scale(0, 0);
            transform: scale(0, 0);
    -webkit-transition: opacity 80ms 0ms cubic-bezier(0.4, 0, 1, 1), -webkit-transform 80ms 0ms cubic-bezier(0.4, 0, 1, 1);
    transition: opacity 80ms 0ms cubic-bezier(0.4, 0, 1, 1), -webkit-transform 80ms 0ms cubic-bezier(0.4, 0, 1, 1);
    transition: opacity 80ms 0ms cubic-bezier(0.4, 0, 1, 1), transform 80ms 0ms cubic-bezier(0.4, 0, 1, 1);
    transition: opacity 80ms 0ms cubic-bezier(0.4, 0, 1, 1), transform 80ms 0ms cubic-bezier(0.4, 0, 1, 1), -webkit-transform 80ms 0ms cubic-bezier(0.4, 0, 1, 1);
    border-radius: 50%;
    background-color: currentColor;
    content: "";
    opacity: 0;
    pointer-events: none; }
  .mdc-icon-toggle:focus::after {
    -webkit-transform: scale(1.3, 1.3);
            transform: scale(1.3, 1.3);
    -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: .12; }
  .mdc-icon-toggle--theme-dark,
  .mdc-theme--dark .mdc-icon-toggle {
    color: white;
    color: var(--mdc-theme-text-primary-on-dark, white); }
    .mdc-icon-toggle--theme-dark:focus::after,
    .mdc-theme--dark .mdc-icon-toggle:focus::after {
      opacity: .3; }

.mdc-icon-toggle--primary {
  color: #3f51b5;
  color: var(--mdc-theme-primary, #3f51b5); }

.mdc-icon-toggle--accent {
  color: #ff4081;
  color: var(--mdc-theme-accent, #ff4081); }

.mdc-icon-toggle--primary:focus::after,
.mdc-icon-toggle--accent:focus::after {
  opacity: .26; }

.mdc-icon-toggle--disabled {
  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 {
    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 */
.mdc-icon-toggle.mdc-ripple-upgraded {
  --mdc-ripple-left: 0;
  --mdc-ripple-top: 0;
  --mdc-ripple-fg-size: 0;
  --mdc-ripple-surface-height: 0;
  --mdc-ripple-surface-width: 0;
  --mdc-ripple-fg-unbounded-transform-duration: 0ms;
  --mdc-ripple-xfo-x: center;
  --mdc-ripple-xfo-y: center;
  --mdc-ripple-fg-unbounded-opacity-duration: 0ms;
  --mdc-ripple-fg-unbounded-transform-duration: 0ms;
  --mdc-ripple-fg-approx-xf: 0;
  will-change: transition, opacity;
  -webkit-tap-highlight-color: transparent;
  will-change: initial; }
  .mdc-icon-toggle.mdc-ripple-upgraded::before {
    background-color: rgba(0, 0, 0, 0.062);
    position: absolute;
    top: calc(50% - 100%);
    left: calc(50% - 100%);
    width: 200%;
    height: 200%;
    -webkit-transform: scale(var(--mdc-ripple-fg-scale));
            transform: scale(var(--mdc-ripple-fg-scale));
    -webkit-transition: opacity 200ms linear;
    transition: opacity 200ms linear;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    content: ""; }
  .mdc-icon-toggle.mdc-ripple-upgraded.mdc-ripple-upgraded--background-active::before {
    opacity: .99999; }
  .mdc-icon-toggle.mdc-ripple-upgraded.mdc-ripple-upgraded--background-active:active::before {
    -webkit-transition-duration: 600ms;
            transition-duration: 600ms; }
  .mdc-icon-toggle.mdc-ripple-upgraded.mdc-ripple-upgraded--background-bounded-active-fill::before {
    -webkit-transition-duration: 120ms;
            transition-duration: 120ms;
    opacity: 1; }
  .mdc-icon-toggle.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded::before {
    top: var(--mdc-ripple-top);
    left: var(--mdc-ripple-left);
    width: var(--mdc-ripple-fg-size);
    height: var(--mdc-ripple-fg-size); }
  .mdc-icon-toggle.mdc-ripple-upgraded::after {
    background-color: rgba(0, 0, 0, 0.062);
    position: absolute;
    top: 0;
    left: 0;
    width: var(--mdc-ripple-fg-size);
    height: var(--mdc-ripple-fg-size);
    -webkit-transform: scale(0);
            transform: scale(0);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    content: ""; }
  .mdc-icon-toggle.mdc-ripple-upgraded:not(.mdc-ripple-upgraded--unbounded)::after {
    -webkit-transform-origin: center center;
            transform-origin: center center; }
  .mdc-icon-toggle.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded::after {
    top: var(--mdc-ripple-top);
    left: var(--mdc-ripple-left);
    -webkit-transform-origin: center center;
            transform-origin: center center; }
  .mdc-icon-toggle.mdc-ripple-upgraded.mdc-ripple-upgraded--foreground-bounded-active-fill::after {
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    -webkit-animation: 300ms mdc-ripple-fg-radius-in, 400ms mdc-ripple-fg-opacity-out;
            animation: 300ms mdc-ripple-fg-radius-in, 400ms mdc-ripple-fg-opacity-out; }
  .mdc-icon-toggle.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded--foreground-unbounded-activation::after {
    -webkit-transform: scale(var(--mdc-ripple-fg-scale));
            transform: scale(var(--mdc-ripple-fg-scale));
    -webkit-transition: opacity 110ms linear, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    transition: opacity 110ms linear, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    transition: opacity 110ms linear, transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    transition: opacity 110ms linear, transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    opacity: 1; }
  .mdc-icon-toggle.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded--foreground-unbounded-deactivation::after {
    -webkit-animation: mdc-ripple-fg-unbounded-opacity-deactivate var(--mdc-ripple-fg-unbounded-opacity-duration) linear, mdc-ripple-fg-unbounded-transform-deactivate var(--mdc-ripple-fg-unbounded-transform-duration) cubic-bezier(0.4, 0, 0.2, 1);
            animation: mdc-ripple-fg-unbounded-opacity-deactivate var(--mdc-ripple-fg-unbounded-opacity-duration) linear, mdc-ripple-fg-unbounded-transform-deactivate var(--mdc-ripple-fg-unbounded-transform-duration) cubic-bezier(0.4, 0, 0.2, 1); }
  .mdc-icon-toggle--theme-dark.mdc-icon-toggle.mdc-ripple-upgraded::before,
  .mdc-theme--dark .mdc-icon-toggle.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-transform: scale(var(--mdc-ripple-fg-scale));
            transform: scale(var(--mdc-ripple-fg-scale));
    -webkit-transition: opacity 200ms linear;
    transition: opacity 200ms linear;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    content: ""; }
  .mdc-icon-toggle--theme-dark.mdc-icon-toggle.mdc-ripple-upgraded.mdc-ripple-upgraded--background-active::before,
  .mdc-theme--dark .mdc-icon-toggle.mdc-ripple-upgraded.mdc-ripple-upgraded--background-active::before {
    opacity: .99999; }
  .mdc-icon-toggle--theme-dark.mdc-icon-toggle.mdc-ripple-upgraded.mdc-ripple-upgraded--background-active:active::before,
  .mdc-theme--dark .mdc-icon-toggle.mdc-ripple-upgraded.mdc-ripple-upgraded--background-active:active::before {
    -webkit-transition-duration: 600ms;
            transition-duration: 600ms; }
  .mdc-icon-toggle--theme-dark.mdc-icon-toggle.mdc-ripple-upgraded.mdc-ripple-upgraded--background-bounded-active-fill::before,
  .mdc-theme--dark .mdc-icon-toggle.mdc-ripple-upgraded.mdc-ripple-upgraded--background-bounded-active-fill::before {
    -webkit-transition-duration: 120ms;
            transition-duration: 120ms;
    opacity: 1; }
  .mdc-icon-toggle--theme-dark.mdc-icon-toggle.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded::before,
  .mdc-theme--dark .mdc-icon-toggle.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded::before {
    top: var(--mdc-ripple-top);
    left: var(--mdc-ripple-left);
    width: var(--mdc-ripple-fg-size);
    height: var(--mdc-ripple-fg-size); }
  .mdc-icon-toggle--theme-dark.mdc-icon-toggle.mdc-ripple-upgraded::after,
  .mdc-theme--dark .mdc-icon-toggle.mdc-ripple-upgraded::after {
    background-color: rgba(255, 255, 255, 0.16);
    position: absolute;
    top: 0;
    left: 0;
    width: var(--mdc-ripple-fg-size);
    height: var(--mdc-ripple-fg-size);
    -webkit-transform: scale(0);
            transform: scale(0);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    content: ""; }
  .mdc-icon-toggle--theme-dark.mdc-icon-toggle.mdc-ripple-upgraded:not(.mdc-ripple-upgraded--unbounded)::after,
  .mdc-theme--dark .mdc-icon-toggle.mdc-ripple-upgraded: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.mdc-ripple-upgraded--unbounded::after,
  .mdc-theme--dark .mdc-icon-toggle.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded::after {
    top: var(--mdc-ripple-top);
    left: var(--mdc-ripple-left);
    -webkit-transform-origin: center center;
            transform-origin: center center; }
  .mdc-icon-toggle--theme-dark.mdc-icon-toggle.mdc-ripple-upgraded.mdc-ripple-upgraded--foreground-bounded-active-fill::after,
  .mdc-theme--dark .mdc-icon-toggle.mdc-ripple-upgraded.mdc-ripple-upgraded--foreground-bounded-active-fill::after {
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    -webkit-animation: 300ms mdc-ripple-fg-radius-in, 400ms mdc-ripple-fg-opacity-out;
            animation: 300ms mdc-ripple-fg-radius-in, 400ms mdc-ripple-fg-opacity-out; }
  .mdc-icon-toggle--theme-dark.mdc-icon-toggle.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded--foreground-unbounded-activation::after,
  .mdc-theme--dark .mdc-icon-toggle.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded--foreground-unbounded-activation::after {
    -webkit-transform: scale(var(--mdc-ripple-fg-scale));
            transform: scale(var(--mdc-ripple-fg-scale));
    -webkit-transition: opacity 110ms linear, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    transition: opacity 110ms linear, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    transition: opacity 110ms linear, transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    transition: opacity 110ms linear, transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    opacity: 1; }
  .mdc-icon-toggle--theme-dark.mdc-icon-toggle.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded--foreground-unbounded-deactivation::after,
  .mdc-theme--dark .mdc-icon-toggle.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded--foreground-unbounded-deactivation::after {
    -webkit-animation: mdc-ripple-fg-unbounded-opacity-deactivate var(--mdc-ripple-fg-unbounded-opacity-duration) linear, mdc-ripple-fg-unbounded-transform-deactivate var(--mdc-ripple-fg-unbounded-transform-duration) cubic-bezier(0.4, 0, 0.2, 1);
            animation: mdc-ripple-fg-unbounded-opacity-deactivate var(--mdc-ripple-fg-unbounded-opacity-duration) linear, mdc-ripple-fg-unbounded-transform-deactivate var(--mdc-ripple-fg-unbounded-transform-duration) cubic-bezier(0.4, 0, 0.2, 1); }

.mdc-icon-toggle--primary.mdc-ripple-upgraded::before {
  background-color: rgba(63, 81, 181, 0.14);
  position: absolute;
  top: calc(50% - 100%);
  left: calc(50% - 100%);
  width: 200%;
  height: 200%;
  -webkit-transform: scale(var(--mdc-ripple-fg-scale));
          transform: scale(var(--mdc-ripple-fg-scale));
  -webkit-transition: opacity 200ms linear;
  transition: opacity 200ms linear;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: ""; }
  @supports (background-color: color(green a(10%))) {
    .mdc-icon-toggle--primary.mdc-ripple-upgraded::before {
      background-color: color(var(--mdc-theme-primary, #3f51b5) a(14%)); } }

.mdc-icon-toggle--primary.mdc-ripple-upgraded.mdc-ripple-upgraded--background-active::before {
  opacity: .99999; }

.mdc-icon-toggle--primary.mdc-ripple-upgraded.mdc-ripple-upgraded--background-active:active::before {
  -webkit-transition-duration: 600ms;
          transition-duration: 600ms; }

.mdc-icon-toggle--primary.mdc-ripple-upgraded.mdc-ripple-upgraded--background-bounded-active-fill::before {
  -webkit-transition-duration: 120ms;
          transition-duration: 120ms;
  opacity: 1; }

.mdc-icon-toggle--primary.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded::before {
  top: var(--mdc-ripple-top);
  left: var(--mdc-ripple-left);
  width: var(--mdc-ripple-fg-size);
  height: var(--mdc-ripple-fg-size); }

.mdc-icon-toggle--primary.mdc-ripple-upgraded::after {
  background-color: rgba(63, 81, 181, 0.14);
  position: absolute;
  top: 0;
  left: 0;
  width: var(--mdc-ripple-fg-size);
  height: var(--mdc-ripple-fg-size);
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-transform-origin: center center;
          transform-origin: center center;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: ""; }
  @supports (background-color: color(green a(10%))) {
    .mdc-icon-toggle--primary.mdc-ripple-upgraded::after {
      background-color: color(var(--mdc-theme-primary, #3f51b5) a(14%)); } }

.mdc-icon-toggle--primary.mdc-ripple-upgraded:not(.mdc-ripple-upgraded--unbounded)::after {
  -webkit-transform-origin: center center;
          transform-origin: center center; }

.mdc-icon-toggle--primary.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded::after {
  top: var(--mdc-ripple-top);
  left: var(--mdc-ripple-left);
  -webkit-transform-origin: center center;
          transform-origin: center center; }

.mdc-icon-toggle--primary.mdc-ripple-upgraded.mdc-ripple-upgraded--foreground-bounded-active-fill::after {
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation: 300ms mdc-ripple-fg-radius-in, 400ms mdc-ripple-fg-opacity-out;
          animation: 300ms mdc-ripple-fg-radius-in, 400ms mdc-ripple-fg-opacity-out; }

.mdc-icon-toggle--primary.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded--foreground-unbounded-activation::after {
  -webkit-transform: scale(var(--mdc-ripple-fg-scale));
          transform: scale(var(--mdc-ripple-fg-scale));
  -webkit-transition: opacity 110ms linear, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
  transition: opacity 110ms linear, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
  transition: opacity 110ms linear, transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
  transition: opacity 110ms linear, transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
  opacity: 1; }

.mdc-icon-toggle--primary.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded--foreground-unbounded-deactivation::after {
  -webkit-animation: mdc-ripple-fg-unbounded-opacity-deactivate var(--mdc-ripple-fg-unbounded-opacity-duration) linear, mdc-ripple-fg-unbounded-transform-deactivate var(--mdc-ripple-fg-unbounded-transform-duration) cubic-bezier(0.4, 0, 0.2, 1);
          animation: mdc-ripple-fg-unbounded-opacity-deactivate var(--mdc-ripple-fg-unbounded-opacity-duration) linear, mdc-ripple-fg-unbounded-transform-deactivate var(--mdc-ripple-fg-unbounded-transform-duration) cubic-bezier(0.4, 0, 0.2, 1); }

.mdc-icon-toggle--accent.mdc-ripple-upgraded::before {
  background-color: rgba(255, 64, 129, 0.14);
  position: absolute;
  top: calc(50% - 100%);
  left: calc(50% - 100%);
  width: 200%;
  height: 200%;
  -webkit-transform: scale(var(--mdc-ripple-fg-scale));
          transform: scale(var(--mdc-ripple-fg-scale));
  -webkit-transition: opacity 200ms linear;
  transition: opacity 200ms linear;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: ""; }
  @supports (background-color: color(green a(10%))) {
    .mdc-icon-toggle--accent.mdc-ripple-upgraded::before {
      background-color: color(var(--mdc-theme-accent, #ff4081) a(14%)); } }

.mdc-icon-toggle--accent.mdc-ripple-upgraded.mdc-ripple-upgraded--background-active::before {
  opacity: .99999; }

.mdc-icon-toggle--accent.mdc-ripple-upgraded.mdc-ripple-upgraded--background-active:active::before {
  -webkit-transition-duration: 600ms;
          transition-duration: 600ms; }

.mdc-icon-toggle--accent.mdc-ripple-upgraded.mdc-ripple-upgraded--background-bounded-active-fill::before {
  -webkit-transition-duration: 120ms;
          transition-duration: 120ms;
  opacity: 1; }

.mdc-icon-toggle--accent.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded::before {
  top: var(--mdc-ripple-top);
  left: var(--mdc-ripple-left);
  width: var(--mdc-ripple-fg-size);
  height: var(--mdc-ripple-fg-size); }

.mdc-icon-toggle--accent.mdc-ripple-upgraded::after {
  background-color: rgba(255, 64, 129, 0.14);
  position: absolute;
  top: 0;
  left: 0;
  width: var(--mdc-ripple-fg-size);
  height: var(--mdc-ripple-fg-size);
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-transform-origin: center center;
          transform-origin: center center;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: ""; }
  @supports (background-color: color(green a(10%))) {
    .mdc-icon-toggle--accent.mdc-ripple-upgraded::after {
      background-color: color(var(--mdc-theme-accent, #ff4081) a(14%)); } }

.mdc-icon-toggle--accent.mdc-ripple-upgraded:not(.mdc-ripple-upgraded--unbounded)::after {
  -webkit-transform-origin: center center;
          transform-origin: center center; }

.mdc-icon-toggle--accent.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded::after {
  top: var(--mdc-ripple-top);
  left: var(--mdc-ripple-left);
  -webkit-transform-origin: center center;
          transform-origin: center center; }

.mdc-icon-toggle--accent.mdc-ripple-upgraded.mdc-ripple-upgraded--foreground-bounded-active-fill::after {
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation: 300ms mdc-ripple-fg-radius-in, 400ms mdc-ripple-fg-opacity-out;
          animation: 300ms mdc-ripple-fg-radius-in, 400ms mdc-ripple-fg-opacity-out; }

.mdc-icon-toggle--accent.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded--foreground-unbounded-activation::after {
  -webkit-transform: scale(var(--mdc-ripple-fg-scale));
          transform: scale(var(--mdc-ripple-fg-scale));
  -webkit-transition: opacity 110ms linear, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
  transition: opacity 110ms linear, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
  transition: opacity 110ms linear, transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
  transition: opacity 110ms linear, transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
  opacity: 1; }

.mdc-icon-toggle--accent.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded--foreground-unbounded-deactivation::after {
  -webkit-animation: mdc-ripple-fg-unbounded-opacity-deactivate var(--mdc-ripple-fg-unbounded-opacity-duration) linear, mdc-ripple-fg-unbounded-transform-deactivate var(--mdc-ripple-fg-unbounded-transform-duration) cubic-bezier(0.4, 0, 0.2, 1);
          animation: mdc-ripple-fg-unbounded-opacity-deactivate var(--mdc-ripple-fg-unbounded-opacity-duration) linear, mdc-ripple-fg-unbounded-transform-deactivate var(--mdc-ripple-fg-unbounded-transform-duration) cubic-bezier(0.4, 0, 0.2, 1); }

.mdc-layout-grid {
  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: 0 auto;
  box-sizing: border-box;
  padding: 8px;
  padding: calc(var(--mdc-layout-grid-margin, 16px) - var(--mdc-layout-grid-gutter, 16px) / 2); }
  @supports (display: grid) {
    .mdc-layout-grid {
      display: grid;
      grid-gap: 16px;
      grid-gap: var(--mdc-layout-grid-gutter, 16px);
      padding: 16px;
      padding: var(--mdc-layout-grid-margin, 16px); }
      @media (min-width: 840px) {
        .mdc-layout-grid {
          grid-template-columns: repeat(12, minmax(0, 1fr)); } }
      @media (min-width: 480px) and (max-width: 839px) {
        .mdc-layout-grid {
          grid-template-columns: repeat(8, minmax(0, 1fr)); } }
      @media (max-width: 479px) {
        .mdc-layout-grid {
          grid-template-columns: repeat(4, minmax(0, 1fr)); } } }

.mdc-layout-grid__cell {
  margin: 8px;
  margin: calc(var(--mdc-layout-grid-gutter, 16px) / 2);
  box-sizing: border-box; }
  @supports (display: grid) {
    .mdc-layout-grid__cell {
      margin: 0; } }
  @media (min-width: 840px) {
    .mdc-layout-grid__cell {
      width: calc(33.33333% - 16px);
      width: calc(33.33333% - var(--mdc-layout-grid-gutter, 16px)); }
      @supports (display: grid) {
        .mdc-layout-grid__cell {
          width: auto;
          grid-column-end: span 4; } } }
  @media (min-width: 480px) and (max-width: 839px) {
    .mdc-layout-grid__cell {
      width: calc(50% - 16px);
      width: calc(50% - var(--mdc-layout-grid-gutter, 16px)); }
      @supports (display: grid) {
        .mdc-layout-grid__cell {
          width: auto;
          grid-column-end: span 4; } } }
  @media (max-width: 479px) {
    .mdc-layout-grid__cell {
      width: calc(100% - 16px);
      width: calc(100% - var(--mdc-layout-grid-gutter, 16px)); }
      @supports (display: grid) {
        .mdc-layout-grid__cell {
          width: auto;
          grid-column-end: span 4; } } }
  @media (min-width: 840px) {
    .mdc-layout-grid__cell--span-1,
    .mdc-layout-grid__cell--span-1-desktop.mdc-layout-grid__cell--span-1-desktop {
      width: calc(8.33333% - 16px);
      width: calc(8.33333% - var(--mdc-layout-grid-gutter, 16px)); }
      @supports (display: grid) {
        .mdc-layout-grid__cell--span-1,
        .mdc-layout-grid__cell--span-1-desktop.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.mdc-layout-grid__cell--span-2-desktop {
      width: calc(16.66667% - 16px);
      width: calc(16.66667% - var(--mdc-layout-grid-gutter, 16px)); }
      @supports (display: grid) {
        .mdc-layout-grid__cell--span-2,
        .mdc-layout-grid__cell--span-2-desktop.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.mdc-layout-grid__cell--span-3-desktop {
      width: calc(25% - 16px);
      width: calc(25% - var(--mdc-layout-grid-gutter, 16px)); }
      @supports (display: grid) {
        .mdc-layout-grid__cell--span-3,
        .mdc-layout-grid__cell--span-3-desktop.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.mdc-layout-grid__cell--span-4-desktop {
      width: calc(33.33333% - 16px);
      width: calc(33.33333% - var(--mdc-layout-grid-gutter, 16px)); }
      @supports (display: grid) {
        .mdc-layout-grid__cell--span-4,
        .mdc-layout-grid__cell--span-4-desktop.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.mdc-layout-grid__cell--span-5-desktop {
      width: calc(41.66667% - 16px);
      width: calc(41.66667% - var(--mdc-layout-grid-gutter, 16px)); }
      @supports (display: grid) {
        .mdc-layout-grid__cell--span-5,
        .mdc-layout-grid__cell--span-5-desktop.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.mdc-layout-grid__cell--span-6-desktop {
      width: calc(50% - 16px);
      width: calc(50% - var(--mdc-layout-grid-gutter, 16px)); }
      @supports (display: grid) {
        .mdc-layout-grid__cell--span-6,
        .mdc-layout-grid__cell--span-6-desktop.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.mdc-layout-grid__cell--span-7-desktop {
      width: calc(58.33333% - 16px);
      width: calc(58.33333% - var(--mdc-layout-grid-gutter, 16px)); }
      @supports (display: grid) {
        .mdc-layout-grid__cell--span-7,
        .mdc-layout-grid__cell--span-7-desktop.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.mdc-layout-grid__cell--span-8-desktop {
      width: calc(66.66667% - 16px);
      width: calc(66.66667% - var(--mdc-layout-grid-gutter, 16px)); }
      @supports (display: grid) {
        .mdc-layout-grid__cell--span-8,
        .mdc-layout-grid__cell--span-8-desktop.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.mdc-layout-grid__cell--span-9-desktop {
      width: calc(75% - 16px);
      width: calc(75% - var(--mdc-layout-grid-gutter, 16px)); }
      @supports (display: grid) {
        .mdc-layout-grid__cell--span-9,
        .mdc-layout-grid__cell--span-9-desktop.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.mdc-layout-grid__cell--span-10-desktop {
      width: calc(83.33333% - 16px);
      width: calc(83.33333% - var(--mdc-layout-grid-gutter, 16px)); }
      @supports (display: grid) {
        .mdc-layout-grid__cell--span-10,
        .mdc-layout-grid__cell--span-10-desktop.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.mdc-layout-grid__cell--span-11-desktop {
      width: calc(91.66667% - 16px);
      width: calc(91.66667% - var(--mdc-layout-grid-gutter, 16px)); }
      @supports (display: grid) {
        .mdc-layout-grid__cell--span-11,
        .mdc-layout-grid__cell--span-11-desktop.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.mdc-layout-grid__cell--span-12-desktop {
      width: calc(100% - 16px);
      width: calc(100% - var(--mdc-layout-grid-gutter, 16px)); }
      @supports (display: grid) {
        .mdc-layout-grid__cell--span-12,
        .mdc-layout-grid__cell--span-12-desktop.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--span-1,
    .mdc-layout-grid__cell--span-1-tablet.mdc-layout-grid__cell--span-1-tablet {
      width: calc(12.5% - 16px);
      width: calc(12.5% - var(--mdc-layout-grid-gutter, 16px)); }
      @supports (display: grid) {
        .mdc-layout-grid__cell--span-1,
        .mdc-layout-grid__cell--span-1-tablet.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.mdc-layout-grid__cell--span-2-tablet {
      width: calc(25% - 16px);
      width: calc(25% - var(--mdc-layout-grid-gutter, 16px)); }
      @supports (display: grid) {
        .mdc-layout-grid__cell--span-2,
        .mdc-layout-grid__cell--span-2-tablet.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.mdc-layout-grid__cell--span-3-tablet {
      width: calc(37.5% - 16px);
      width: calc(37.5% - var(--mdc-layout-grid-gutter, 16px)); }
      @supports (display: grid) {
        .mdc-layout-grid__cell--span-3,
        .mdc-layout-grid__cell--span-3-tablet.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.mdc-layout-grid__cell--span-4-tablet {
      width: calc(50% - 16px);
      width: calc(50% - var(--mdc-layout-grid-gutter, 16px)); }
      @supports (display: grid) {
        .mdc-layout-grid__cell--span-4,
        .mdc-layout-grid__cell--span-4-tablet.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.mdc-layout-grid__cell--span-5-tablet {
      width: calc(62.5% - 16px);
      width: calc(62.5% - var(--mdc-layout-grid-gutter, 16px)); }
      @supports (display: grid) {
        .mdc-layout-grid__cell--span-5,
        .mdc-layout-grid__cell--span-5-tablet.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.mdc-layout-grid__cell--span-6-tablet {
      width: calc(75% - 16px);
      width: calc(75% - var(--mdc-layout-grid-gutter, 16px)); }
      @supports (display: grid) {
        .mdc-layout-grid__cell--span-6,
        .mdc-layout-grid__cell--span-6-tablet.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.mdc-layout-grid__cell--span-7-tablet {
      width: calc(87.5% - 16px);
      width: calc(87.5% - var(--mdc-layout-grid-gutter, 16px)); }
      @supports (display: grid) {
        .mdc-layout-grid__cell--span-7,
        .mdc-layout-grid__cell--span-7-tablet.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.mdc-layout-grid__cell--span-8-tablet {
      width: calc(100% - 16px);
      width: calc(100% - var(--mdc-layout-grid-gutter, 16px)); }
      @supports (display: grid) {
        .mdc-layout-grid__cell--span-8,
        .mdc-layout-grid__cell--span-8-tablet.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.mdc-layout-grid__cell--span-9-tablet {
      width: calc(100% - 16px);
      width: calc(100% - var(--mdc-layout-grid-gutter, 16px)); }
      @supports (display: grid) {
        .mdc-layout-grid__cell--span-9,
        .mdc-layout-grid__cell--span-9-tablet.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.mdc-layout-grid__cell--span-10-tablet {
      width: calc(100% - 16px);
      width: calc(100% - var(--mdc-layout-grid-gutter, 16px)); }
      @supports (display: grid) {
        .mdc-layout-grid__cell--span-10,
        .mdc-layout-grid__cell--span-10-tablet.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.mdc-layout-grid__cell--span-11-tablet {
      width: calc(100% - 16px);
      width: calc(100% - var(--mdc-layout-grid-gutter, 16px)); }
      @supports (display: grid) {
        .mdc-layout-grid__cell--span-11,
        .mdc-layout-grid__cell--span-11-tablet.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.mdc-layout-grid__cell--span-12-tablet {
      width: calc(100% - 16px);
      width: calc(100% - var(--mdc-layout-grid-gutter, 16px)); }
      @supports (display: grid) {
        .mdc-layout-grid__cell--span-12,
        .mdc-layout-grid__cell--span-12-tablet.mdc-layout-grid__cell--span-12-tablet {
          width: auto;
          grid-column-end: span 8; } } }
  @media (max-width: 479px) {
    .mdc-layout-grid__cell--span-1,
    .mdc-layout-grid__cell--span-1-phone.mdc-layout-grid__cell--span-1-phone {
      width: calc(25% - 16px);
      width: calc(25% - var(--mdc-layout-grid-gutter, 16px)); }
      @supports (display: grid) {
        .mdc-layout-grid__cell--span-1,
        .mdc-layout-grid__cell--span-1-phone.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.mdc-layout-grid__cell--span-2-phone {
      width: calc(50% - 16px);
      width: calc(50% - var(--mdc-layout-grid-gutter, 16px)); }
      @supports (display: grid) {
        .mdc-layout-grid__cell--span-2,
        .mdc-layout-grid__cell--span-2-phone.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.mdc-layout-grid__cell--span-3-phone {
      width: calc(75% - 16px);
      width: calc(75% - var(--mdc-layout-grid-gutter, 16px)); }
      @supports (display: grid) {
        .mdc-layout-grid__cell--span-3,
        .mdc-layout-grid__cell--span-3-phone.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.mdc-layout-grid__cell--span-4-phone {
      width: calc(100% - 16px);
      width: calc(100% - var(--mdc-layout-grid-gutter, 16px)); }
      @supports (display: grid) {
        .mdc-layout-grid__cell--span-4,
        .mdc-layout-grid__cell--span-4-phone.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.mdc-layout-grid__cell--span-5-phone {
      width: calc(100% - 16px);
      width: calc(100% - var(--mdc-layout-grid-gutter, 16px)); }
      @supports (display: grid) {
        .mdc-layout-grid__cell--span-5,
        .mdc-layout-grid__cell--span-5-phone.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.mdc-layout-grid__cell--span-6-phone {
      width: calc(100% - 16px);
      width: calc(100% - var(--mdc-layout-grid-gutter, 16px)); }
      @supports (display: grid) {
        .mdc-layout-grid__cell--span-6,
        .mdc-layout-grid__cell--span-6-phone.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.mdc-layout-grid__cell--span-7-phone {
      width: calc(100% - 16px);
      width: calc(100% - var(--mdc-layout-grid-gutter, 16px)); }
      @supports (display: grid) {
        .mdc-layout-grid__cell--span-7,
        .mdc-layout-grid__cell--span-7-phone.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.mdc-layout-grid__cell--span-8-phone {
      width: calc(100% - 16px);
      width: calc(100% - var(--mdc-layout-grid-gutter, 16px)); }
      @supports (display: grid) {
        .mdc-layout-grid__cell--span-8,
        .mdc-layout-grid__cell--span-8-phone.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.mdc-layout-grid__cell--span-9-phone {
      width: calc(100% - 16px);
      width: calc(100% - var(--mdc-layout-grid-gutter, 16px)); }
      @supports (display: grid) {
        .mdc-layout-grid__cell--span-9,
        .mdc-layout-grid__cell--span-9-phone.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.mdc-layout-grid__cell--span-10-phone {
      width: calc(100% - 16px);
      width: calc(100% - var(--mdc-layout-grid-gutter, 16px)); }
      @supports (display: grid) {
        .mdc-layout-grid__cell--span-10,
        .mdc-layout-grid__cell--span-10-phone.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.mdc-layout-grid__cell--span-11-phone {
      width: calc(100% - 16px);
      width: calc(100% - var(--mdc-layout-grid-gutter, 16px)); }
      @supports (display: grid) {
        .mdc-layout-grid__cell--span-11,
        .mdc-layout-grid__cell--span-11-phone.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.mdc-layout-grid__cell--span-12-phone {
      width: calc(100% - 16px);
      width: calc(100% - var(--mdc-layout-grid-gutter, 16px)); }
      @supports (display: grid) {
        .mdc-layout-grid__cell--span-12,
        .mdc-layout-grid__cell--span-12-phone.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; } }

/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/*
  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 */
/**
 * 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 Ripple keyframes are split into their own file so that _mixins.scss can rely on them. */
/**
 * 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.
 */
@keyframes mdc-ripple-fg-radius-in {
  from {
    -webkit-transform: translate(var(--mdc-ripple-fg-translate-start)) scale(1);
            transform: translate(var(--mdc-ripple-fg-translate-start)) 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)) scale(var(--mdc-ripple-fg-scale));
            transform: translate(var(--mdc-ripple-fg-translate-end)) scale(var(--mdc-ripple-fg-scale)); } }

@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-unbounded-opacity-deactivate {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

@keyframes mdc-ripple-fg-unbounded-transform-deactivate {
  from {
    -webkit-transform: var(--mdc-ripple-fg-approx-xf);
            transform: var(--mdc-ripple-fg-approx-xf); }
  to {
    -webkit-transform: scale(var(--mdc-ripple-fg-scale));
            transform: scale(var(--mdc-ripple-fg-scale)); } }

/**
 * 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
 * <html dir="rtl">
 *   <!-- ... -->
 *   <div dir="ltr">
 *     <div class="mdc-foo">Styled incorrectly as RTL!</div>
 *   </div>
 * </html>
 * ```
 *
 * 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
 * "<base-property>-<default-direction>" 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-property(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 <base-property>-left to <left-value> and
 * <base-property>-right to <right-value> 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/*
  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;
 *   }
 * }
 * ```
 */
/**
 * 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.
 */
/**
 * 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.
 */
/* 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.
 */
/* 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;
  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 {
    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: 16px; }
    [dir="rtl"] .mdc-list-item .mdc-list-item__end-detail,
    .mdc-list-item[dir="rtl"] .mdc-list-item__end-detail {
      margin-left: 16px;
      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;
      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 {
        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-left: 0;
  --mdc-ripple-top: 0;
  --mdc-ripple-fg-size: 0;
  --mdc-ripple-surface-height: 0;
  --mdc-ripple-surface-width: 0;
  --mdc-ripple-fg-unbounded-transform-duration: 0ms;
  --mdc-ripple-xfo-x: center;
  --mdc-ripple-xfo-y: center;
  --mdc-ripple-fg-unbounded-opacity-duration: 0ms;
  --mdc-ripple-fg-unbounded-transform-duration: 0ms;
  --mdc-ripple-fg-approx-xf: 0;
  will-change: transition, opacity;
  -webkit-tap-highlight-color: transparent;
  position: relative;
  left: -16px;
  width: calc(100% + 32px);
  padding: 0 16px;
  overflow: hidden; }
  .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-transform: scale(var(--mdc-ripple-fg-scale));
            transform: scale(var(--mdc-ripple-fg-scale));
    -webkit-transition: opacity 200ms linear;
    transition: opacity 200ms linear;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    content: ""; }
  .mdc-list-item.mdc-ripple-upgraded.mdc-ripple-upgraded--background-active::before {
    opacity: .99999; }
  .mdc-list-item.mdc-ripple-upgraded.mdc-ripple-upgraded--background-active:active::before {
    -webkit-transition-duration: 600ms;
            transition-duration: 600ms; }
  .mdc-list-item.mdc-ripple-upgraded.mdc-ripple-upgraded--background-bounded-active-fill::before {
    -webkit-transition-duration: 120ms;
            transition-duration: 120ms;
    opacity: 1; }
  .mdc-list-item.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded::before {
    top: var(--mdc-ripple-top);
    left: var(--mdc-ripple-left);
    width: var(--mdc-ripple-fg-size);
    height: var(--mdc-ripple-fg-size); }
  .mdc-list-item.mdc-ripple-upgraded::after {
    background-color: rgba(0, 0, 0, 0.06);
    position: absolute;
    top: 0;
    left: 0;
    width: var(--mdc-ripple-fg-size);
    height: var(--mdc-ripple-fg-size);
    -webkit-transform: scale(0);
            transform: scale(0);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    content: ""; }
  .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 {
    top: var(--mdc-ripple-top);
    left: var(--mdc-ripple-left);
    -webkit-transform-origin: center center;
            transform-origin: center center; }
  .mdc-list-item.mdc-ripple-upgraded.mdc-ripple-upgraded--foreground-bounded-active-fill::after {
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    -webkit-animation: 300ms mdc-ripple-fg-radius-in, 400ms mdc-ripple-fg-opacity-out;
            animation: 300ms mdc-ripple-fg-radius-in, 400ms mdc-ripple-fg-opacity-out; }
  .mdc-list-item.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded--foreground-unbounded-activation::after {
    -webkit-transform: scale(var(--mdc-ripple-fg-scale));
            transform: scale(var(--mdc-ripple-fg-scale));
    -webkit-transition: opacity 110ms linear, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    transition: opacity 110ms linear, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    transition: opacity 110ms linear, transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    transition: opacity 110ms linear, transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    opacity: 1; }
  .mdc-list-item.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded--foreground-unbounded-deactivation::after {
    -webkit-animation: mdc-ripple-fg-unbounded-opacity-deactivate var(--mdc-ripple-fg-unbounded-opacity-duration) linear, mdc-ripple-fg-unbounded-transform-deactivate var(--mdc-ripple-fg-unbounded-transform-duration) cubic-bezier(0.4, 0, 0.2, 1);
            animation: mdc-ripple-fg-unbounded-opacity-deactivate var(--mdc-ripple-fg-unbounded-opacity-duration) linear, mdc-ripple-fg-unbounded-transform-deactivate var(--mdc-ripple-fg-unbounded-transform-duration) cubic-bezier(0.4, 0, 0.2, 1); }
  .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-transform: scale(var(--mdc-ripple-fg-scale));
            transform: scale(var(--mdc-ripple-fg-scale));
    -webkit-transition: opacity 200ms linear;
    transition: opacity 200ms linear;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    content: ""; }
  .mdc-list--theme-dark .mdc-list-item.mdc-ripple-upgraded.mdc-ripple-upgraded--background-active::before,
  .mdc-theme--dark .mdc-list-item.mdc-ripple-upgraded.mdc-ripple-upgraded--background-active::before {
    opacity: .99999; }
  .mdc-list--theme-dark .mdc-list-item.mdc-ripple-upgraded.mdc-ripple-upgraded--background-active:active::before,
  .mdc-theme--dark .mdc-list-item.mdc-ripple-upgraded.mdc-ripple-upgraded--background-active:active::before {
    -webkit-transition-duration: 600ms;
            transition-duration: 600ms; }
  .mdc-list--theme-dark .mdc-list-item.mdc-ripple-upgraded.mdc-ripple-upgraded--background-bounded-active-fill::before,
  .mdc-theme--dark .mdc-list-item.mdc-ripple-upgraded.mdc-ripple-upgraded--background-bounded-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 {
    top: var(--mdc-ripple-top);
    left: var(--mdc-ripple-left);
    width: var(--mdc-ripple-fg-size);
    height: var(--mdc-ripple-fg-size); }
  .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: 0;
    left: 0;
    width: var(--mdc-ripple-fg-size);
    height: var(--mdc-ripple-fg-size);
    -webkit-transform: scale(0);
            transform: scale(0);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    content: ""; }
  .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 {
    top: var(--mdc-ripple-top);
    left: var(--mdc-ripple-left);
    -webkit-transform-origin: center center;
            transform-origin: center center; }
  .mdc-list--theme-dark .mdc-list-item.mdc-ripple-upgraded.mdc-ripple-upgraded--foreground-bounded-active-fill::after,
  .mdc-theme--dark .mdc-list-item.mdc-ripple-upgraded.mdc-ripple-upgraded--foreground-bounded-active-fill::after {
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    -webkit-animation: 300ms mdc-ripple-fg-radius-in, 400ms mdc-ripple-fg-opacity-out;
            animation: 300ms mdc-ripple-fg-radius-in, 400ms mdc-ripple-fg-opacity-out; }
  .mdc-list--theme-dark .mdc-list-item.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded--foreground-unbounded-activation::after,
  .mdc-theme--dark .mdc-list-item.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded--foreground-unbounded-activation::after {
    -webkit-transform: scale(var(--mdc-ripple-fg-scale));
            transform: scale(var(--mdc-ripple-fg-scale));
    -webkit-transition: opacity 110ms linear, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    transition: opacity 110ms linear, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    transition: opacity 110ms linear, transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    transition: opacity 110ms linear, transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    opacity: 1; }
  .mdc-list--theme-dark .mdc-list-item.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded--foreground-unbounded-deactivation::after,
  .mdc-theme--dark .mdc-list-item.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded--foreground-unbounded-deactivation::after {
    -webkit-animation: mdc-ripple-fg-unbounded-opacity-deactivate var(--mdc-ripple-fg-unbounded-opacity-duration) linear, mdc-ripple-fg-unbounded-transform-deactivate var(--mdc-ripple-fg-unbounded-transform-duration) cubic-bezier(0.4, 0, 0.2, 1);
            animation: mdc-ripple-fg-unbounded-opacity-deactivate var(--mdc-ripple-fg-unbounded-opacity-duration) linear, mdc-ripple-fg-unbounded-transform-deactivate var(--mdc-ripple-fg-unbounded-transform-duration) cubic-bezier(0.4, 0, 0.2, 1); }

.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;
    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 {
      color: white;
      color: var(--mdc-theme-text-primary-on-dark, white); }
  .mdc-list-group .mdc-list {
    padding: 0; }

/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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).
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/*
  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;
 *   }
 * }
 * ```
 */
/**
 * 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.
 */
/**
 * 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.
 */
/* 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;
  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;
  box-sizing: border-box;
  will-change: transform, opacity;
  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 {
    display: inline-block;
    overflow-x: hidden;
    overflow-y: auto;
    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: 0; }
  .mdc-simple-menu .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; }
    .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 {
    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; }

/* postcss-bem-linter: end */
.mdc-menu-anchor {
  position: relative;
  overflow: visible; }

/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/*
  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 */
/**
 * 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 Ripple keyframes are split into their own file so that _mixins.scss can rely on them. */
/**
 * 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.
 */
@keyframes mdc-ripple-fg-radius-in {
  from {
    -webkit-transform: translate(var(--mdc-ripple-fg-translate-start)) scale(1);
            transform: translate(var(--mdc-ripple-fg-translate-start)) 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)) scale(var(--mdc-ripple-fg-scale));
            transform: translate(var(--mdc-ripple-fg-translate-end)) scale(var(--mdc-ripple-fg-scale)); } }

@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-unbounded-opacity-deactivate {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

@keyframes mdc-ripple-fg-unbounded-transform-deactivate {
  from {
    -webkit-transform: var(--mdc-ripple-fg-approx-xf);
            transform: var(--mdc-ripple-fg-approx-xf); }
  to {
    -webkit-transform: scale(var(--mdc-ripple-fg-scale));
            transform: scale(var(--mdc-ripple-fg-scale)); } }

/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/*
  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 {
  display: inline-block;
  position: relative;
  box-sizing: border-box;
  width: 40px;
  height: 40px;
  padding: 10px;
  cursor: pointer;
  will-change: opacity, transform, border-color, background-color, color; }
  .mdc-radio__background {
    display: inline-block;
    position: absolute;
    width: 50%;
    height: 50%;
    box-sizing: border-box; }
    .mdc-radio__background::before {
      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, 1, 1), -webkit-transform 120ms 0ms cubic-bezier(0.4, 0, 1, 1);
      transition: opacity 120ms 0ms cubic-bezier(0.4, 0, 1, 1), -webkit-transform 120ms 0ms cubic-bezier(0.4, 0, 1, 1);
      transition: opacity 120ms 0ms cubic-bezier(0.4, 0, 1, 1), transform 120ms 0ms cubic-bezier(0.4, 0, 1, 1);
      transition: opacity 120ms 0ms cubic-bezier(0.4, 0, 1, 1), transform 120ms 0ms cubic-bezier(0.4, 0, 1, 1), -webkit-transform 120ms 0ms cubic-bezier(0.4, 0, 1, 1);
      border-radius: 50%;
      content: "";
      opacity: 0;
      pointer-events: none; }
  .mdc-radio__outer-circle {
    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, 1, 1);
    transition: border-color 120ms 0ms cubic-bezier(0.4, 0, 1, 1);
    border-width: 2px;
    border-style: solid;
    border-radius: 50%;
    box-sizing: border-box; }
    .mdc-radio--theme-dark .mdc-radio__outer-circle,
    .mdc-theme--dark .mdc-radio__outer-circle {
      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 {
    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, 1, 1), -webkit-transform 120ms 0ms cubic-bezier(0.4, 0, 1, 1);
    transition: background-color 120ms 0ms cubic-bezier(0.4, 0, 1, 1), -webkit-transform 120ms 0ms cubic-bezier(0.4, 0, 1, 1);
    transition: transform 120ms 0ms cubic-bezier(0.4, 0, 1, 1), background-color 120ms 0ms cubic-bezier(0.4, 0, 1, 1);
    transition: transform 120ms 0ms cubic-bezier(0.4, 0, 1, 1), background-color 120ms 0ms cubic-bezier(0.4, 0, 1, 1), -webkit-transform 120ms 0ms cubic-bezier(0.4, 0, 1, 1);
    border-radius: 50%;
    box-sizing: border-box; }
    .mdc-radio--theme-dark .mdc-radio__inner-circle,
    .mdc-theme--dark .mdc-radio__inner-circle {
      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 {
  border-color: #3f51b5;
  border-color: var(--mdc-theme-primary, #3f51b5); }

.mdc-radio__native-control:checked + .mdc-radio__background .mdc-radio__inner-circle {
  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.8, 2.8);
          transform: scale(2.8, 2.8);
  -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; }

.mdc-radio.mdc-ripple-upgraded {
  --mdc-ripple-left: 0;
  --mdc-ripple-top: 0;
  --mdc-ripple-fg-size: 0;
  --mdc-ripple-surface-height: 0;
  --mdc-ripple-surface-width: 0;
  --mdc-ripple-fg-unbounded-transform-duration: 0ms;
  --mdc-ripple-xfo-x: center;
  --mdc-ripple-xfo-y: center;
  --mdc-ripple-fg-unbounded-opacity-duration: 0ms;
  --mdc-ripple-fg-unbounded-transform-duration: 0ms;
  --mdc-ripple-fg-approx-xf: 0;
  will-change: transition, opacity;
  -webkit-tap-highlight-color: transparent; }
  .mdc-radio.mdc-ripple-upgraded::before {
    background-color: rgba(63, 81, 181, 0.14);
    position: absolute;
    top: calc(50% - 100%);
    left: calc(50% - 100%);
    width: 200%;
    height: 200%;
    -webkit-transform: scale(var(--mdc-ripple-fg-scale));
            transform: scale(var(--mdc-ripple-fg-scale));
    -webkit-transition: opacity 200ms linear;
    transition: opacity 200ms linear;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    content: ""; }
    @supports (background-color: color(green a(10%))) {
      .mdc-radio.mdc-ripple-upgraded::before {
        background-color: color(var(--mdc-theme-primary, #3f51b5) a(14%)); } }
  .mdc-radio.mdc-ripple-upgraded.mdc-ripple-upgraded--background-active::before {
    opacity: .99999; }
  .mdc-radio.mdc-ripple-upgraded.mdc-ripple-upgraded--background-active:active::before {
    -webkit-transition-duration: 600ms;
            transition-duration: 600ms; }
  .mdc-radio.mdc-ripple-upgraded.mdc-ripple-upgraded--background-bounded-active-fill::before {
    -webkit-transition-duration: 120ms;
            transition-duration: 120ms;
    opacity: 1; }
  .mdc-radio.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded::before {
    top: var(--mdc-ripple-top);
    left: var(--mdc-ripple-left);
    width: var(--mdc-ripple-fg-size);
    height: var(--mdc-ripple-fg-size); }
  .mdc-radio.mdc-ripple-upgraded::after {
    background-color: rgba(63, 81, 181, 0.14);
    position: absolute;
    top: 0;
    left: 0;
    width: var(--mdc-ripple-fg-size);
    height: var(--mdc-ripple-fg-size);
    -webkit-transform: scale(0);
            transform: scale(0);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    content: ""; }
    @supports (background-color: color(green a(10%))) {
      .mdc-radio.mdc-ripple-upgraded::after {
        background-color: color(var(--mdc-theme-primary, #3f51b5) a(14%)); } }
  .mdc-radio.mdc-ripple-upgraded:not(.mdc-ripple-upgraded--unbounded)::after {
    -webkit-transform-origin: center center;
            transform-origin: center center; }
  .mdc-radio.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded::after {
    top: var(--mdc-ripple-top);
    left: var(--mdc-ripple-left);
    -webkit-transform-origin: center center;
            transform-origin: center center; }
  .mdc-radio.mdc-ripple-upgraded.mdc-ripple-upgraded--foreground-bounded-active-fill::after {
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    -webkit-animation: 300ms mdc-ripple-fg-radius-in, 400ms mdc-ripple-fg-opacity-out;
            animation: 300ms mdc-ripple-fg-radius-in, 400ms mdc-ripple-fg-opacity-out; }
  .mdc-radio.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded--foreground-unbounded-activation::after {
    -webkit-transform: scale(var(--mdc-ripple-fg-scale));
            transform: scale(var(--mdc-ripple-fg-scale));
    -webkit-transition: opacity 110ms linear, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    transition: opacity 110ms linear, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    transition: opacity 110ms linear, transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    transition: opacity 110ms linear, transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    opacity: 1; }
  .mdc-radio.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded--foreground-unbounded-deactivation::after {
    -webkit-animation: mdc-ripple-fg-unbounded-opacity-deactivate var(--mdc-ripple-fg-unbounded-opacity-duration) linear, mdc-ripple-fg-unbounded-transform-deactivate var(--mdc-ripple-fg-unbounded-transform-duration) cubic-bezier(0.4, 0, 0.2, 1);
            animation: mdc-ripple-fg-unbounded-opacity-deactivate var(--mdc-ripple-fg-unbounded-opacity-duration) linear, mdc-ripple-fg-unbounded-transform-deactivate var(--mdc-ripple-fg-unbounded-transform-duration) cubic-bezier(0.4, 0, 0.2, 1); }
  .mdc-radio.mdc-ripple-upgraded .mdc-radio__background::before {
    content: none; }

/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/*
  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;
 *   }
 * }
 * ```
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/*
  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 */
/**
 * 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 Ripple keyframes are split into their own file so that _mixins.scss can rely on them. */
/**
 * 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.
 */
@keyframes mdc-ripple-fg-radius-in {
  from {
    -webkit-transform: translate(var(--mdc-ripple-fg-translate-start)) scale(1);
            transform: translate(var(--mdc-ripple-fg-translate-start)) 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)) scale(var(--mdc-ripple-fg-scale));
            transform: translate(var(--mdc-ripple-fg-translate-end)) scale(var(--mdc-ripple-fg-scale)); } }

@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-unbounded-opacity-deactivate {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

@keyframes mdc-ripple-fg-unbounded-transform-deactivate {
  from {
    -webkit-transform: var(--mdc-ripple-fg-approx-xf);
            transform: var(--mdc-ripple-fg-approx-xf); }
  to {
    -webkit-transform: scale(var(--mdc-ripple-fg-scale));
            transform: scale(var(--mdc-ripple-fg-scale)); } }

.mdc-ripple-surface {
  position: relative;
  outline: none;
  overflow: hidden; }
  .mdc-ripple-surface[data-mdc-ripple-is-unbounded] {
    overflow: visible; }
  .mdc-ripple-surface::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    -webkit-transition: opacity 120ms 0ms cubic-bezier(0.4, 0, 1, 1);
    transition: opacity 120ms 0ms cubic-bezier(0.4, 0, 1, 1);
    border-radius: inherit;
    background: currentColor;
    content: "";
    opacity: 0; }
  .mdc-ripple-surface:focus::before {
    opacity: .12; }
  .mdc-ripple-surface:active::before {
    opacity: .18; }
  .mdc-ripple-surface.mdc-ripple-upgraded {
    --mdc-ripple-left: 0;
    --mdc-ripple-top: 0;
    --mdc-ripple-fg-size: 0;
    --mdc-ripple-surface-height: 0;
    --mdc-ripple-surface-width: 0;
    --mdc-ripple-fg-unbounded-transform-duration: 0ms;
    --mdc-ripple-xfo-x: center;
    --mdc-ripple-xfo-y: center;
    --mdc-ripple-fg-unbounded-opacity-duration: 0ms;
    --mdc-ripple-fg-unbounded-transform-duration: 0ms;
    --mdc-ripple-fg-approx-xf: 0;
    will-change: transition, opacity;
    -webkit-tap-highlight-color: transparent; }
    .mdc-ripple-surface.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-transform: scale(var(--mdc-ripple-fg-scale));
              transform: scale(var(--mdc-ripple-fg-scale));
      -webkit-transition: opacity 200ms linear;
      transition: opacity 200ms linear;
      border-radius: 50%;
      opacity: 0;
      pointer-events: none;
      content: ""; }
    .mdc-ripple-surface.mdc-ripple-upgraded.mdc-ripple-upgraded--background-active::before {
      opacity: .99999; }
    .mdc-ripple-surface.mdc-ripple-upgraded.mdc-ripple-upgraded--background-active:active::before {
      -webkit-transition-duration: 600ms;
              transition-duration: 600ms; }
    .mdc-ripple-surface.mdc-ripple-upgraded.mdc-ripple-upgraded--background-bounded-active-fill::before {
      -webkit-transition-duration: 120ms;
              transition-duration: 120ms;
      opacity: 1; }
    .mdc-ripple-surface.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded::before {
      top: var(--mdc-ripple-top);
      left: var(--mdc-ripple-left);
      width: var(--mdc-ripple-fg-size);
      height: var(--mdc-ripple-fg-size); }
    .mdc-ripple-surface.mdc-ripple-upgraded::after {
      background-color: rgba(0, 0, 0, 0.06);
      position: absolute;
      top: 0;
      left: 0;
      width: var(--mdc-ripple-fg-size);
      height: var(--mdc-ripple-fg-size);
      -webkit-transform: scale(0);
              transform: scale(0);
      -webkit-transform-origin: center center;
              transform-origin: center center;
      border-radius: 50%;
      opacity: 0;
      pointer-events: none;
      content: ""; }
    .mdc-ripple-surface.mdc-ripple-upgraded:not(.mdc-ripple-upgraded--unbounded)::after {
      -webkit-transform-origin: center center;
              transform-origin: center center; }
    .mdc-ripple-surface.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded::after {
      top: var(--mdc-ripple-top);
      left: var(--mdc-ripple-left);
      -webkit-transform-origin: center center;
              transform-origin: center center; }
    .mdc-ripple-surface.mdc-ripple-upgraded.mdc-ripple-upgraded--foreground-bounded-active-fill::after {
      -webkit-animation-fill-mode: forwards;
              animation-fill-mode: forwards;
      -webkit-animation: 300ms mdc-ripple-fg-radius-in, 400ms mdc-ripple-fg-opacity-out;
              animation: 300ms mdc-ripple-fg-radius-in, 400ms mdc-ripple-fg-opacity-out; }
    .mdc-ripple-surface.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded--foreground-unbounded-activation::after {
      -webkit-transform: scale(var(--mdc-ripple-fg-scale));
              transform: scale(var(--mdc-ripple-fg-scale));
      -webkit-transition: opacity 110ms linear, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
      transition: opacity 110ms linear, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
      transition: opacity 110ms linear, transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
      transition: opacity 110ms linear, transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
      opacity: 1; }
    .mdc-ripple-surface.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded--foreground-unbounded-deactivation::after {
      -webkit-animation: mdc-ripple-fg-unbounded-opacity-deactivate var(--mdc-ripple-fg-unbounded-opacity-duration) linear, mdc-ripple-fg-unbounded-transform-deactivate var(--mdc-ripple-fg-unbounded-transform-duration) cubic-bezier(0.4, 0, 0.2, 1);
              animation: mdc-ripple-fg-unbounded-opacity-deactivate var(--mdc-ripple-fg-unbounded-opacity-duration) linear, mdc-ripple-fg-unbounded-transform-deactivate var(--mdc-ripple-fg-unbounded-transform-duration) cubic-bezier(0.4, 0, 0.2, 1); }
  .mdc-ripple-surface--primary.mdc-ripple-upgraded::before, .mdc-ripple-surface--primary.mdc-ripple-upgraded::after {
    background-color: #3f51b5;
    background-color: var(--mdc-theme-primary, #3f51b5); }
  .mdc-ripple-surface--primary.mdc-ripple-upgraded::before {
    background-color: rgba(63, 81, 181, 0.14);
    position: absolute;
    top: calc(50% - 100%);
    left: calc(50% - 100%);
    width: 200%;
    height: 200%;
    -webkit-transform: scale(var(--mdc-ripple-fg-scale));
            transform: scale(var(--mdc-ripple-fg-scale));
    -webkit-transition: opacity 200ms linear;
    transition: opacity 200ms linear;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    content: ""; }
    @supports (background-color: color(green a(10%))) {
      .mdc-ripple-surface--primary.mdc-ripple-upgraded::before {
        background-color: color(var(--mdc-theme-primary, #3f51b5) a(14%)); } }
  .mdc-ripple-surface--primary.mdc-ripple-upgraded.mdc-ripple-upgraded--background-active::before {
    opacity: .99999; }
  .mdc-ripple-surface--primary.mdc-ripple-upgraded.mdc-ripple-upgraded--background-active:active::before {
    -webkit-transition-duration: 600ms;
            transition-duration: 600ms; }
  .mdc-ripple-surface--primary.mdc-ripple-upgraded.mdc-ripple-upgraded--background-bounded-active-fill::before {
    -webkit-transition-duration: 120ms;
            transition-duration: 120ms;
    opacity: 1; }
  .mdc-ripple-surface--primary.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded::before {
    top: var(--mdc-ripple-top);
    left: var(--mdc-ripple-left);
    width: var(--mdc-ripple-fg-size);
    height: var(--mdc-ripple-fg-size); }
  .mdc-ripple-surface--primary.mdc-ripple-upgraded::after {
    background-color: rgba(63, 81, 181, 0.14);
    position: absolute;
    top: 0;
    left: 0;
    width: var(--mdc-ripple-fg-size);
    height: var(--mdc-ripple-fg-size);
    -webkit-transform: scale(0);
            transform: scale(0);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    content: ""; }
    @supports (background-color: color(green a(10%))) {
      .mdc-ripple-surface--primary.mdc-ripple-upgraded::after {
        background-color: color(var(--mdc-theme-primary, #3f51b5) a(14%)); } }
  .mdc-ripple-surface--primary.mdc-ripple-upgraded:not(.mdc-ripple-upgraded--unbounded)::after {
    -webkit-transform-origin: center center;
            transform-origin: center center; }
  .mdc-ripple-surface--primary.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded::after {
    top: var(--mdc-ripple-top);
    left: var(--mdc-ripple-left);
    -webkit-transform-origin: center center;
            transform-origin: center center; }
  .mdc-ripple-surface--primary.mdc-ripple-upgraded.mdc-ripple-upgraded--foreground-bounded-active-fill::after {
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    -webkit-animation: 300ms mdc-ripple-fg-radius-in, 400ms mdc-ripple-fg-opacity-out;
            animation: 300ms mdc-ripple-fg-radius-in, 400ms mdc-ripple-fg-opacity-out; }
  .mdc-ripple-surface--primary.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded--foreground-unbounded-activation::after {
    -webkit-transform: scale(var(--mdc-ripple-fg-scale));
            transform: scale(var(--mdc-ripple-fg-scale));
    -webkit-transition: opacity 110ms linear, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    transition: opacity 110ms linear, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    transition: opacity 110ms linear, transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    transition: opacity 110ms linear, transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    opacity: 1; }
  .mdc-ripple-surface--primary.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded--foreground-unbounded-deactivation::after {
    -webkit-animation: mdc-ripple-fg-unbounded-opacity-deactivate var(--mdc-ripple-fg-unbounded-opacity-duration) linear, mdc-ripple-fg-unbounded-transform-deactivate var(--mdc-ripple-fg-unbounded-transform-duration) cubic-bezier(0.4, 0, 0.2, 1);
            animation: mdc-ripple-fg-unbounded-opacity-deactivate var(--mdc-ripple-fg-unbounded-opacity-duration) linear, mdc-ripple-fg-unbounded-transform-deactivate var(--mdc-ripple-fg-unbounded-transform-duration) cubic-bezier(0.4, 0, 0.2, 1); }
  .mdc-ripple-surface--accent.mdc-ripple-upgraded::before, .mdc-ripple-surface--accent.mdc-ripple-upgraded::after {
    background-color: #3f51b5;
    background-color: var(--mdc-theme-primary, #3f51b5); }
  .mdc-ripple-surface--accent.mdc-ripple-upgraded::before {
    background-color: rgba(255, 64, 129, 0.14);
    position: absolute;
    top: calc(50% - 100%);
    left: calc(50% - 100%);
    width: 200%;
    height: 200%;
    -webkit-transform: scale(var(--mdc-ripple-fg-scale));
            transform: scale(var(--mdc-ripple-fg-scale));
    -webkit-transition: opacity 200ms linear;
    transition: opacity 200ms linear;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    content: ""; }
    @supports (background-color: color(green a(10%))) {
      .mdc-ripple-surface--accent.mdc-ripple-upgraded::before {
        background-color: color(var(--mdc-theme-accent, #ff4081) a(14%)); } }
  .mdc-ripple-surface--accent.mdc-ripple-upgraded.mdc-ripple-upgraded--background-active::before {
    opacity: .99999; }
  .mdc-ripple-surface--accent.mdc-ripple-upgraded.mdc-ripple-upgraded--background-active:active::before {
    -webkit-transition-duration: 600ms;
            transition-duration: 600ms; }
  .mdc-ripple-surface--accent.mdc-ripple-upgraded.mdc-ripple-upgraded--background-bounded-active-fill::before {
    -webkit-transition-duration: 120ms;
            transition-duration: 120ms;
    opacity: 1; }
  .mdc-ripple-surface--accent.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded::before {
    top: var(--mdc-ripple-top);
    left: var(--mdc-ripple-left);
    width: var(--mdc-ripple-fg-size);
    height: var(--mdc-ripple-fg-size); }
  .mdc-ripple-surface--accent.mdc-ripple-upgraded::after {
    background-color: rgba(255, 64, 129, 0.14);
    position: absolute;
    top: 0;
    left: 0;
    width: var(--mdc-ripple-fg-size);
    height: var(--mdc-ripple-fg-size);
    -webkit-transform: scale(0);
            transform: scale(0);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    content: ""; }
    @supports (background-color: color(green a(10%))) {
      .mdc-ripple-surface--accent.mdc-ripple-upgraded::after {
        background-color: color(var(--mdc-theme-accent, #ff4081) a(14%)); } }
  .mdc-ripple-surface--accent.mdc-ripple-upgraded:not(.mdc-ripple-upgraded--unbounded)::after {
    -webkit-transform-origin: center center;
            transform-origin: center center; }
  .mdc-ripple-surface--accent.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded::after {
    top: var(--mdc-ripple-top);
    left: var(--mdc-ripple-left);
    -webkit-transform-origin: center center;
            transform-origin: center center; }
  .mdc-ripple-surface--accent.mdc-ripple-upgraded.mdc-ripple-upgraded--foreground-bounded-active-fill::after {
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    -webkit-animation: 300ms mdc-ripple-fg-radius-in, 400ms mdc-ripple-fg-opacity-out;
            animation: 300ms mdc-ripple-fg-radius-in, 400ms mdc-ripple-fg-opacity-out; }
  .mdc-ripple-surface--accent.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded--foreground-unbounded-activation::after {
    -webkit-transform: scale(var(--mdc-ripple-fg-scale));
            transform: scale(var(--mdc-ripple-fg-scale));
    -webkit-transition: opacity 110ms linear, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    transition: opacity 110ms linear, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    transition: opacity 110ms linear, transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    transition: opacity 110ms linear, transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms, -webkit-transform var(--mdc-ripple-fg-unbounded-transform-duration) linear 80ms;
    opacity: 1; }
  .mdc-ripple-surface--accent.mdc-ripple-upgraded.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded--foreground-unbounded-deactivation::after {
    -webkit-animation: mdc-ripple-fg-unbounded-opacity-deactivate var(--mdc-ripple-fg-unbounded-opacity-duration) linear, mdc-ripple-fg-unbounded-transform-deactivate var(--mdc-ripple-fg-unbounded-transform-duration) cubic-bezier(0.4, 0, 0.2, 1);
            animation: mdc-ripple-fg-unbounded-opacity-deactivate var(--mdc-ripple-fg-unbounded-opacity-duration) linear, mdc-ripple-fg-unbounded-transform-deactivate var(--mdc-ripple-fg-unbounded-transform-duration) cubic-bezier(0.4, 0, 0.2, 1); }

/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/* 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/*
  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;
 *   }
 * }
 * ```
 */
/**
 * 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
 * <html dir="rtl">
 *   <!-- ... -->
 *   <div dir="ltr">
 *     <div class="mdc-foo">Styled incorrectly as RTL!</div>
 *   </div>
 * </html>
 * ```
 *
 * 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
 * "<base-property>-<default-direction>" 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-property(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 <base-property>-left to <left-value> and
 * <base-property>-right to <right-value> 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;
  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, 1, 1), background-color 150ms 0ms cubic-bezier(0.4, 0, 1, 1);
  transition: border-bottom-color 150ms 0ms cubic-bezier(0.4, 0, 1, 1), background-color 150ms 0ms cubic-bezier(0.4, 0, 1, 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 {
    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 {
    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 {
      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; }
  .mdc-select__selected-text {
    -webkit-transition: opacity 125ms 0ms cubic-bezier(0.4, 0, 1, 1), -webkit-transform 125ms 0ms cubic-bezier(0.4, 0, 1, 1);
    transition: opacity 125ms 0ms cubic-bezier(0.4, 0, 1, 1), -webkit-transform 125ms 0ms cubic-bezier(0.4, 0, 1, 1);
    transition: opacity 125ms 0ms cubic-bezier(0.4, 0, 1, 1), transform 125ms 0ms cubic-bezier(0.4, 0, 1, 1);
    transition: opacity 125ms 0ms cubic-bezier(0.4, 0, 1, 1), transform 125ms 0ms cubic-bezier(0.4, 0, 1, 1), -webkit-transform 125ms 0ms cubic-bezier(0.4, 0, 1, 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] {
  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 {
  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] {
  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;
  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"] {
    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 {
    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"] {
      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 {
  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 {
    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 {
  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 {
    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;
  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 {
    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;
    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 {
      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;
    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 {
      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);
    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 {
      background-color: white;
      background-color: var(--mdc-theme-text-primary-on-dark, white); }

.mdc-multi-select:focus .mdc-list-item:checked {
  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 {
    background-color: white;
    background-color: var(--mdc-theme-text-primary-on-dark, white); }

.mdc-list-divider {
  margin-bottom: 8px;
  padding-top: 8px;
  font-size: 0; }

/**
 * Copyright 2015 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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
 * <html dir="rtl">
 *   <!-- ... -->
 *   <div dir="ltr">
 *     <div class="mdc-foo">Styled incorrectly as RTL!</div>
 *   </div>
 * </html>
 * ```
 *
 * 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
 * "<base-property>-<default-direction>" 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-property(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 <base-property>-left to <left-value> and
 * <base-property>-right to <right-value> 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/*
  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;
 *   }
 * }
 * ```
 */
/**
 * 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.
 */
/**
 * 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.
 */
/* 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.
 */
/* 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(0, 100%);
          transform: translate(0, 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 */ }
  @media (max-width: 599px) {
    .mdc-snackbar {
      left: 0;
      width: calc(100% - 48px); } }
  @media (min-width: 600px) {
    .mdc-snackbar {
      min-width: 288px;
      max-width: 568px;
      -webkit-transform: translate(-50%, 100%);
              transform: translate(-50%, 100%);
      border-radius: 2px; } }
  .mdc-snackbar--active {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 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); }
    @media (min-width: 600px) {
      .mdc-snackbar--active {
        -webkit-transform: translate(-50%, 0);
                transform: translate(-50%, 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;
    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--multiline .mdc-snackbar__text {
    height: 80px; }
  .mdc-snackbar--multiline.mdc-snackbar--action-on-bottom .mdc-snackbar__text {
    margin: 0; }
  .mdc-snackbar__action-button {
    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; }
    [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 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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).
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/*
  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-checkbox--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) 0ms, background-color 90ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
      transition: opacity 90ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, background-color 90ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
      border-radius: 7px;
      background-color: #000;
      content: "";
      opacity: .38; }
      .mdc-checkbox--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) 0ms, -webkit-transform 90ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
      transition: background-color 90ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, -webkit-transform 90ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
      transition: transform 90ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, background-color 90ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
      transition: transform 90ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, background-color 90ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, -webkit-transform 90ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
      border-radius: 10px;
      background-color: #fafafa;
      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-checkbox--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) 0ms, -webkit-transform 90ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
        transition: background-color 90ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, -webkit-transform 90ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
        transition: transform 90ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, background-color 90ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
        transition: transform 90ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, background-color 90ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, -webkit-transform 90ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
        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) 0ms, -webkit-transform 90ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
  transition: background-color 90ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, -webkit-transform 90ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
  transition: transform 90ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, background-color 90ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
  transition: transform 90ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, background-color 90ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, -webkit-transform 90ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
  border-radius: 24px;
  background-color: #9e9e9e; }
  .mdc-checkbox--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 {
  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) 0ms, -webkit-transform 90ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
  transition: background-color 90ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, -webkit-transform 90ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
  transition: transform 90ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, background-color 90ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
  transition: transform 90ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, background-color 90ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, -webkit-transform 90ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
  background-color: #3f51b5;
  background-color: var(--mdc-theme-primary, #3f51b5); }
  .mdc-switch__native-control:checked ~ .mdc-switch__background .mdc-switch__knob::before {
    background-color: #3f51b5;
    background-color: var(--mdc-theme-primary, #3f51b5);
    opacity: .15; }
    .mdc-checkbox--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 {
      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-checkbox--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-checkbox--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; }

/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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
 * <html dir="rtl">
 *   <!-- ... -->
 *   <div dir="ltr">
 *     <div class="mdc-foo">Styled incorrectly as RTL!</div>
 *   </div>
 * </html>
 * ```
 *
 * 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
 * "<base-property>-<default-direction>" 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-property(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 <base-property>-left to <left-value> and
 * <base-property>-right to <right-value> 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/*
  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 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/*
  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;
 *   }
 * }
 * ```
 */
/**
 * 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.
 */
/**
 * 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.
 */
/* 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.
 */
/* 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 {
  font-family: Roboto, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 1rem;
  letter-spacing: 0.04em;
  display: inline-block;
  margin-bottom: 8px;
  will-change: opacity, transform, color; }
  .mdc-textfield__input {
    color: rgba(0, 0, 0, 0.87);
    color: var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87));
    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 {
      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::-moz-placeholder {
      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 {
      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 {
      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 {
        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::-moz-placeholder {
        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 {
        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 {
        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 {
      box-shadow: none; }
    .mdc-textfield__input--theme-dark,
    .mdc-theme--dark .mdc-textfield__input {
      color: white; }
      .mdc-textfield__input--theme-dark::-webkit-input-placeholder,
      .mdc-theme--dark .mdc-textfield__input::-webkit-input-placeholder {
        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::-moz-placeholder,
      .mdc-theme--dark .mdc-textfield__input::-moz-placeholder {
        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 {
        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 {
        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 {
        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::-moz-placeholder,
      .mdc-theme--dark .mdc-textfield__input:focus::-moz-placeholder {
        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 {
        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 {
        color: rgba(255, 255, 255, 0.7);
        color: var(--mdc-theme-text-secondary-on-dark, rgba(255, 255, 255, 0.7)); }
  .mdc-textfield__label {
    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 {
      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--upgraded:not(.mdc-textfield--fullwidth) {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  position: relative;
  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--multiline) {
    height: 48px; }
    .mdc-textfield--upgraded:not(.mdc-textfield--fullwidth):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--multiline)::after,
      .mdc-theme--dark .mdc-textfield--upgraded:not(.mdc-textfield--fullwidth):not(.mdc-textfield--multiline)::after {
        background-color: rgba(255, 255, 255, 0.12); }
  .mdc-textfield--upgraded:not(.mdc-textfield--fullwidth) .mdc-textfield__label {
    pointer-events: none; }

.mdc-textfield--focused.mdc-textfield--upgraded:not(.mdc-textfield--fullwidth):not(.mdc-textfield--multiline)::after {
  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)::after,
  .mdc-theme--dark .mdc-textfield--focused.mdc-textfield--upgraded:not(.mdc-textfield--fullwidth):not(.mdc-textfield--multiline)::after {
    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 {
  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 {
    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)::after {
  background-color: #d50000; }

.mdc-textfield--invalid:not(.mdc-textfield--focused) .mdc-textfield__label {
  color: #d50000; }

.mdc-textfield--theme-dark.mdc-textfield--invalid:not(.mdc-textfield--focused)::after,
.mdc-theme--dark .mdc-textfield--invalid:not(.mdc-textfield--focused)::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 {
  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 {
    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 {
    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 {
    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--focused .mdc-textfield--theme-dark .mdc-textfield__input:required + .mdc-textfield__label::after, .mdc-textfield--focused
  .mdc-theme--dark .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 {
      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%;
  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 {
  border-color: #3f51b5;
  border-color: var(--mdc-theme-primary, #3f51b5); }

.mdc-textfield:not(.mdc-textfield--upgraded) .mdc-textfield__input:disabled {
  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 {
  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-helptext {
  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 {
    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; }

/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/*
  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 {
  background-color: #fff;
  background-color: var(--mdc-theme-background, #fff); }

.mdc-theme--primary {
  color: #3f51b5 !important;
  color: var(--mdc-theme-primary, #3f51b5) !important; }

.mdc-theme--accent {
  color: #ff4081 !important;
  color: var(--mdc-theme-accent, #ff4081) !important; }

.mdc-theme--text-primary-on-primary {
  color: white !important;
  color: var(--mdc-theme-text-primary-on-primary, white) !important; }

.mdc-theme--text-secondary-on-primary {
  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 {
  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 {
  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 {
  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 {
  color: white !important;
  color: var(--mdc-theme-text-primary-on-accent, white) !important; }

.mdc-theme--text-secondary-on-accent {
  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 {
  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 {
  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 {
  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 {
  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 {
  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 {
  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 {
  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 {
  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 {
  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 {
  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 {
  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 {
  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 {
  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 {
  color: white !important;
  color: var(--mdc-theme-text-primary-on-dark, white) !important; }

.mdc-theme--text-secondary-on-dark {
  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 {
  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 {
  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 {
  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 {
  background-color: #3f51b5 !important;
  background-color: var(--mdc-theme-primary, #3f51b5) !important; }

.mdc-theme--accent-bg {
  background-color: #ff4081 !important;
  background-color: var(--mdc-theme-accent, #ff4081) !important; }

/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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).
 */
/**
 * 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
 * <html dir="rtl">
 *   <!-- ... -->
 *   <div dir="ltr">
 *     <div class="mdc-foo">Styled incorrectly as RTL!</div>
 *   </div>
 * </html>
 * ```
 *
 * 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
 * "<base-property>-<default-direction>" 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-property(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 <base-property>-left to <left-value> and
 * <base-property>-right to <right-value> 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/**
 * 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.
 */
/*
  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;
 *   }
 * }
 * ```
 */
/**
 * 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.
 */
/**
 * 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.
 */
/* 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-toolbar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  height: 64px;
  padding: 24px 16px;
  box-sizing: border-box;
  background-color: #3f51b5;
  background-color: var(--mdc-theme-primary, #3f51b5);
  color: white;
  color: var(--mdc-theme-text-primary-on-primary, white); }
  @media (max-width: 599px) {
    .mdc-toolbar {
      height: 56px;
      padding: 16px; } }
  .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: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .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__section .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;
      margin: 0; }

.mdc-toolbar--fixed {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
  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: 599px) {
    .mdc-toolbar__fixed-adjust {
      margin-top: 56px; } }

/**
 * 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.
 */
/**
 * 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.
 */
/* 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.
 */
/**
 * 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.
 */
/* 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; }

.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; }

.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; }

.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; }

.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; }

.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; }

.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; }

.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; }

.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; }

.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; }

.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; }

.mdc-typography--adjust-margin.mdc-typography--caption {
  margin: -0.5rem 0 1rem -0.04em; }
