/*!
 Material Components for the web
 Copyright (c) 2017 Google Inc.
 License: Apache-2.0
*/
/**
 * The css property used for elevation. In most cases this should not be changed. It is exposed
 * as a variable for abstraction / easy use when needing to reference the property directly, for
 * example in a `will-change` rule.
 */
/**
 * The default duration value for elevation transitions.
 */
/**
 * The default easing value for elevation transitions.
 */
/**
 * Applies the correct css rules to an element to give it the elevation specified by $z-value.
 * The $z-value must be between 0 and 24.
 */
/**
 * Returns a string that can be used as the value for a `transition` property for elevation.
 * Calling this function directly is useful in situations where a component needs to transition
 * more than one property.
 *
 * ```scss
 * .foo {
 *   transition: mdc-elevation-transition-rule(), opacity 100ms ease;
 *   will-change: $mdc-elevation-property, opacity;
 * }
 * ```
 */
/**
 * Applies the correct css rules needed to have an element transition between elevations.
 * This mixin should be applied to elements whose elevation values will change depending on their
 * context (e.g. when active or disabled).
 */
/** MDC Ripple keyframes are split into their own file so that _mixins.scss can rely on them. */
@-webkit-keyframes mdc-ripple-fg-radius-in {
  from {
    -webkit-animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
            animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    -webkit-transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1);
            transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1); }
  to {
    -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
            transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); } }
@keyframes mdc-ripple-fg-radius-in {
  from {
    -webkit-animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
            animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    -webkit-transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1);
            transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1); }
  to {
    -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
            transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); } }

@-webkit-keyframes mdc-ripple-fg-opacity-in {
  from {
    -webkit-animation-timing-function: linear;
            animation-timing-function: linear;
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes mdc-ripple-fg-opacity-in {
  from {
    -webkit-animation-timing-function: linear;
            animation-timing-function: linear;
    opacity: 0; }
  to {
    opacity: 1; } }

@-webkit-keyframes mdc-ripple-fg-opacity-out {
  from {
    -webkit-animation-timing-function: linear;
            animation-timing-function: linear;
    opacity: 1; }
  to {
    opacity: 0; } }

@keyframes mdc-ripple-fg-opacity-out {
  from {
    -webkit-animation-timing-function: linear;
            animation-timing-function: linear;
    opacity: 1; }
  to {
    opacity: 0; } }

.mdc-ripple-surface--test-edge-var-bug {
  --mdc-ripple-surface-test-edge-var: 1px solid #000;
  visibility: hidden; }
  .mdc-ripple-surface--test-edge-var-bug::before {
    border: var(--mdc-ripple-surface-test-edge-var); }

/* 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: 2.25rem;
  text-decoration: none;
  text-transform: uppercase;
  display: inline-block;
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  min-width: 88px;
  height: 36px;
  padding: 0 16px;
  border: none;
  outline: none;
  text-align: center;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: transparent;
  overflow: hidden;
  vertical-align: middle;
  border-radius: 2px; }
  .mdc-button:active {
    outline: none; }
  .mdc-button:hover {
    cursor: pointer; }
  .mdc-button::-moz-focus-inner {
    padding: 0;
    border: 0; }
  .mdc-button:disabled {
    background-color: transparent;
    /* @alternate */
    color: rgba(0, 0, 0, 0.38);
    color: var(--mdc-theme-text-disabled-on-light, rgba(0, 0, 0, 0.38));
    cursor: default;
    pointer-events: none; }
    .mdc-button--theme-dark .mdc-button:disabled,
    .mdc-theme--dark .mdc-button:disabled {
      /* @alternate */
      color: rgba(255, 255, 255, 0.5);
      color: var(--mdc-theme-text-disabled-on-dark, rgba(255, 255, 255, 0.5)); }
  .mdc-button:not(:disabled) {
    background-color: transparent; }
  .mdc-button:not(:disabled) {
    /* @alternate */
    color: #3f51b5;
    color: var(--mdc-theme-primary, #3f51b5); }
  .mdc-button:not(:disabled) {
    --mdc-ripple-surface-width: 0;
    --mdc-ripple-surface-height: 0;
    --mdc-ripple-fg-size: 0;
    --mdc-ripple-left: 0;
    --mdc-ripple-top: 0;
    --mdc-ripple-fg-scale: 1;
    --mdc-ripple-fg-translate-end: 0;
    --mdc-ripple-fg-translate-start: 0;
    will-change: transform, opacity;
    -webkit-tap-highlight-color: transparent; }
    .mdc-button:not(:disabled):not(.mdc-ripple-upgraded):hover::before, .mdc-button:not(:disabled):not(.mdc-ripple-upgraded):focus::before, .mdc-button:not(:disabled):not(.mdc-ripple-upgraded):active::after {
      -webkit-transition-duration: 85ms;
              transition-duration: 85ms;
      opacity: .6; }
    .mdc-button:not(:disabled)::before {
      /* @alternate */
      background-color: rgba(63, 81, 181, 0.16);
      position: absolute;
      top: calc(50% - 100%);
      left: calc(50% - 100%);
      width: 200%;
      height: 200%;
      -webkit-transition: opacity 250ms linear;
      transition: opacity 250ms linear;
      border-radius: 50%;
      opacity: 0;
      pointer-events: none;
      content: ""; }
      @supports (background-color: color(green a(10%))) {
        .mdc-button:not(:disabled)::before {
          background-color: color(var(--mdc-theme-primary, #3f51b5) a(16%)); } }
    .mdc-button:not(:disabled).mdc-ripple-upgraded::before {
      top: calc(50% - 100%);
      left: calc(50% - 100%);
      width: 200%;
      height: 200%;
      /* @alternate */
      -webkit-transform: scale(0);
              transform: scale(0);
      -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0));
              transform: scale(var(--mdc-ripple-fg-scale, 0)); }
    .mdc-button:not(:disabled).mdc-ripple-upgraded--background-focused::before {
      opacity: .99999; }
    .mdc-button:not(:disabled).mdc-ripple-upgraded--background-active-fill::before {
      -webkit-transition-duration: 120ms;
              transition-duration: 120ms;
      opacity: 1; }
    .mdc-button:not(:disabled).mdc-ripple-upgraded--unbounded::before {
      /* @alternate */
      top: calc(50% - 50%);
      top: var(--mdc-ripple-top, calc(50% - 50%));
      /* @alternate */
      left: calc(50% - 50%);
      left: var(--mdc-ripple-left, calc(50% - 50%));
      /* @alternate */
      width: 100%;
      width: var(--mdc-ripple-fg-size, 100%);
      /* @alternate */
      height: 100%;
      height: var(--mdc-ripple-fg-size, 100%);
      /* @alternate */
      -webkit-transform: scale(0);
              transform: scale(0);
      -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0));
              transform: scale(var(--mdc-ripple-fg-scale, 0)); }
    .mdc-button:not(:disabled)::after {
      /* @alternate */
      background-color: rgba(63, 81, 181, 0.16);
      position: absolute;
      top: calc(50% - 100%);
      left: calc(50% - 100%);
      width: 200%;
      height: 200%;
      -webkit-transition: opacity 250ms linear;
      transition: opacity 250ms linear;
      border-radius: 50%;
      opacity: 0;
      pointer-events: none;
      content: ""; }
      @supports (background-color: color(green a(10%))) {
        .mdc-button:not(:disabled)::after {
          background-color: color(var(--mdc-theme-primary, #3f51b5) a(16%)); } }
    .mdc-button:not(:disabled).mdc-ripple-upgraded::after {
      top: 0;
      left: 0;
      /* @alternate */
      width: 100%;
      width: var(--mdc-ripple-fg-size, 100%);
      /* @alternate */
      height: 100%;
      height: var(--mdc-ripple-fg-size, 100%);
      -webkit-transform: scale(0);
              transform: scale(0);
      -webkit-transform-origin: center center;
              transform-origin: center center;
      opacity: 0; }
    .mdc-button:not(:disabled):not(.mdc-ripple-upgraded--unbounded)::after {
      -webkit-transform-origin: center center;
              transform-origin: center center; }
    .mdc-button:not(:disabled).mdc-ripple-upgraded--unbounded::after {
      /* @alternate */
      top: 0;
      top: var(--mdc-ripple-top, 0);
      /* @alternate */
      left: 0;
      left: var(--mdc-ripple-left, 0);
      /* @alternate */
      width: 100%;
      width: var(--mdc-ripple-fg-size, 100%);
      /* @alternate */
      height: 100%;
      height: var(--mdc-ripple-fg-size, 100%);
      -webkit-transform: scale(0);
              transform: scale(0);
      -webkit-transform-origin: center center;
              transform-origin: center center; }
    .mdc-button:not(:disabled).mdc-ripple-upgraded--foreground-activation::after {
      -webkit-animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards;
              animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; }
    .mdc-button:not(:disabled).mdc-ripple-upgraded--foreground-deactivation::after {
      -webkit-animation: 83ms mdc-ripple-fg-opacity-out;
              animation: 83ms mdc-ripple-fg-opacity-out;
      -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
              transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); }

.mdc-button--raised:disabled,
.mdc-button--unelevated:disabled {
  background-color: rgba(0, 0, 0, 0.12);
  /* @alternate */
  color: rgba(0, 0, 0, 0.38);
  color: var(--mdc-theme-text-disabled-on-light, rgba(0, 0, 0, 0.38)); }
  .mdc-button--theme-dark .mdc-button--raised:disabled,
  .mdc-theme--dark .mdc-button--raised:disabled, .mdc-button--theme-dark
  .mdc-button--unelevated:disabled,
  .mdc-theme--dark
  .mdc-button--unelevated:disabled {
    background-color: rgba(255, 255, 255, 0.12);
    /* @alternate */
    color: rgba(0, 0, 0, 0.38);
    color: var(--mdc-theme-text-disabled-on-light, rgba(0, 0, 0, 0.38)); }

.mdc-button--raised:not(:disabled),
.mdc-button--unelevated:not(:disabled) {
  /* @alternate */
  background-color: #3f51b5; }
  @supports not (-ms-ime-align: auto) {
    .mdc-button--raised:not(:disabled),
    .mdc-button--unelevated:not(:disabled) {
      background-color: var(--mdc-theme-primary, #3f51b5); } }

.mdc-button--raised:not(:disabled),
.mdc-button--unelevated:not(:disabled) {
  /* @alternate */
  color: white;
  color: var(--mdc-theme-text-primary-on-primary, white); }

.mdc-button--raised:not(:disabled),
.mdc-button--unelevated:not(:disabled) {
  --mdc-ripple-surface-width: 0;
  --mdc-ripple-surface-height: 0;
  --mdc-ripple-fg-size: 0;
  --mdc-ripple-left: 0;
  --mdc-ripple-top: 0;
  --mdc-ripple-fg-scale: 1;
  --mdc-ripple-fg-translate-end: 0;
  --mdc-ripple-fg-translate-start: 0;
  will-change: transform, opacity;
  -webkit-tap-highlight-color: transparent; }
  .mdc-button--raised:not(:disabled):not(.mdc-ripple-upgraded):hover::before, .mdc-button--raised:not(:disabled):not(.mdc-ripple-upgraded):focus::before, .mdc-button--raised:not(:disabled):not(.mdc-ripple-upgraded):active::after,
  .mdc-button--unelevated:not(:disabled):not(.mdc-ripple-upgraded):hover::before,
  .mdc-button--unelevated:not(:disabled):not(.mdc-ripple-upgraded):focus::before,
  .mdc-button--unelevated:not(:disabled):not(.mdc-ripple-upgraded):active::after {
    -webkit-transition-duration: 85ms;
            transition-duration: 85ms;
    opacity: .6; }
  .mdc-button--raised:not(:disabled)::before,
  .mdc-button--unelevated:not(:disabled)::before {
    /* @alternate */
    background-color: rgba(255, 255, 255, 0.32);
    position: absolute;
    top: calc(50% - 100%);
    left: calc(50% - 100%);
    width: 200%;
    height: 200%;
    -webkit-transition: opacity 250ms linear;
    transition: opacity 250ms linear;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    content: ""; }
    @supports (background-color: color(green a(10%))) {
      .mdc-button--raised:not(:disabled)::before,
      .mdc-button--unelevated:not(:disabled)::before {
        background-color: color(var(--mdc-theme-text-primary-on-primary, white) a(32%)); } }
  .mdc-button--raised:not(:disabled).mdc-ripple-upgraded::before,
  .mdc-button--unelevated:not(:disabled).mdc-ripple-upgraded::before {
    top: calc(50% - 100%);
    left: calc(50% - 100%);
    width: 200%;
    height: 200%;
    /* @alternate */
    -webkit-transform: scale(0);
            transform: scale(0);
    -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0));
            transform: scale(var(--mdc-ripple-fg-scale, 0)); }
  .mdc-button--raised:not(:disabled).mdc-ripple-upgraded--background-focused::before,
  .mdc-button--unelevated:not(:disabled).mdc-ripple-upgraded--background-focused::before {
    opacity: .99999; }
  .mdc-button--raised:not(:disabled).mdc-ripple-upgraded--background-active-fill::before,
  .mdc-button--unelevated:not(:disabled).mdc-ripple-upgraded--background-active-fill::before {
    -webkit-transition-duration: 120ms;
            transition-duration: 120ms;
    opacity: 1; }
  .mdc-button--raised:not(:disabled).mdc-ripple-upgraded--unbounded::before,
  .mdc-button--unelevated:not(:disabled).mdc-ripple-upgraded--unbounded::before {
    /* @alternate */
    top: calc(50% - 50%);
    top: var(--mdc-ripple-top, calc(50% - 50%));
    /* @alternate */
    left: calc(50% - 50%);
    left: var(--mdc-ripple-left, calc(50% - 50%));
    /* @alternate */
    width: 100%;
    width: var(--mdc-ripple-fg-size, 100%);
    /* @alternate */
    height: 100%;
    height: var(--mdc-ripple-fg-size, 100%);
    /* @alternate */
    -webkit-transform: scale(0);
            transform: scale(0);
    -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0));
            transform: scale(var(--mdc-ripple-fg-scale, 0)); }
  .mdc-button--raised:not(:disabled)::after,
  .mdc-button--unelevated:not(:disabled)::after {
    /* @alternate */
    background-color: rgba(255, 255, 255, 0.32);
    position: absolute;
    top: calc(50% - 100%);
    left: calc(50% - 100%);
    width: 200%;
    height: 200%;
    -webkit-transition: opacity 250ms linear;
    transition: opacity 250ms linear;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    content: ""; }
    @supports (background-color: color(green a(10%))) {
      .mdc-button--raised:not(:disabled)::after,
      .mdc-button--unelevated:not(:disabled)::after {
        background-color: color(var(--mdc-theme-text-primary-on-primary, white) a(32%)); } }
  .mdc-button--raised:not(:disabled).mdc-ripple-upgraded::after,
  .mdc-button--unelevated:not(:disabled).mdc-ripple-upgraded::after {
    top: 0;
    left: 0;
    /* @alternate */
    width: 100%;
    width: var(--mdc-ripple-fg-size, 100%);
    /* @alternate */
    height: 100%;
    height: var(--mdc-ripple-fg-size, 100%);
    -webkit-transform: scale(0);
            transform: scale(0);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    opacity: 0; }
  .mdc-button--raised:not(:disabled):not(.mdc-ripple-upgraded--unbounded)::after,
  .mdc-button--unelevated:not(:disabled):not(.mdc-ripple-upgraded--unbounded)::after {
    -webkit-transform-origin: center center;
            transform-origin: center center; }
  .mdc-button--raised:not(:disabled).mdc-ripple-upgraded--unbounded::after,
  .mdc-button--unelevated:not(:disabled).mdc-ripple-upgraded--unbounded::after {
    /* @alternate */
    top: 0;
    top: var(--mdc-ripple-top, 0);
    /* @alternate */
    left: 0;
    left: var(--mdc-ripple-left, 0);
    /* @alternate */
    width: 100%;
    width: var(--mdc-ripple-fg-size, 100%);
    /* @alternate */
    height: 100%;
    height: var(--mdc-ripple-fg-size, 100%);
    -webkit-transform: scale(0);
            transform: scale(0);
    -webkit-transform-origin: center center;
            transform-origin: center center; }
  .mdc-button--raised:not(:disabled).mdc-ripple-upgraded--foreground-activation::after,
  .mdc-button--unelevated:not(:disabled).mdc-ripple-upgraded--foreground-activation::after {
    -webkit-animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards;
            animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; }
  .mdc-button--raised:not(:disabled).mdc-ripple-upgraded--foreground-deactivation::after,
  .mdc-button--unelevated:not(:disabled).mdc-ripple-upgraded--foreground-deactivation::after {
    -webkit-animation: 83ms mdc-ripple-fg-opacity-out;
            animation: 83ms mdc-ripple-fg-opacity-out;
    -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
            transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); }

.mdc-button--raised {
  -webkit-box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
          box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
  -webkit-transition: -webkit-box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
  transition: -webkit-box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
  transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
  transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
  will-change: box-shadow; }
  .mdc-button--raised:hover, .mdc-button--raised:focus {
    -webkit-box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
            box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12); }
  .mdc-button--raised:active {
    -webkit-box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);
            box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12); }
  .mdc-button--raised:disabled {
    -webkit-box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
            box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12); }

.mdc-button--stroked {
  border-style: solid;
  border-width: 2px;
  line-height: 32px; }
  .mdc-button--stroked:disabled {
    /* @alternate */
    border-color: rgba(0, 0, 0, 0.38);
    border-color: var(--mdc-theme-text-disabled-on-light, rgba(0, 0, 0, 0.38)); }
    .mdc-button--theme-dark .mdc-button--stroked:disabled,
    .mdc-theme--dark .mdc-button--stroked:disabled {
      /* @alternate */
      border-color: rgba(255, 255, 255, 0.5);
      border-color: var(--mdc-theme-text-disabled-on-dark, rgba(255, 255, 255, 0.5)); }
  .mdc-button--stroked.mdc-button--dense {
    line-height: 27px; }
  .mdc-button--stroked:not(:disabled) {
    /* @alternate */
    border-color: #3f51b5;
    border-color: var(--mdc-theme-primary, #3f51b5); }

.mdc-button--compact {
  padding: 0 8px; }

.mdc-button--dense {
  height: 32px;
  font-size: .8125rem;
  line-height: 32px; }

.mdc-button__icon {
  display: inline-block;
  width: 18px;
  height: 18px;
  margin-right: 8px;
  font-size: 18px;
  line-height: inherit;
  vertical-align: top; }
