/*!
 Material Components for the web
 Copyright (c) 2017 Google Inc.
 License: Apache-2.0
*/
/** 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); }

.mdc-ripple-surface {
  --mdc-ripple-surface-width: 0;
  --mdc-ripple-surface-height: 0;
  --mdc-ripple-fg-size: 0;
  --mdc-ripple-left: 0;
  --mdc-ripple-top: 0;
  --mdc-ripple-fg-scale: 1;
  --mdc-ripple-fg-translate-end: 0;
  --mdc-ripple-fg-translate-start: 0;
  will-change: transform, opacity;
  -webkit-tap-highlight-color: transparent;
  position: relative;
  outline: none;
  overflow: hidden; }
  .mdc-ripple-surface:not(.mdc-ripple-upgraded):hover::before, .mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before, .mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after {
    -webkit-transition-duration: 85ms;
            transition-duration: 85ms;
    opacity: .6; }
  .mdc-ripple-surface::before {
    background-color: rgba(0, 0, 0, 0.06);
    position: absolute;
    top: calc(50% - 100%);
    left: calc(50% - 100%);
    width: 200%;
    height: 200%;
    -webkit-transition: opacity 250ms linear;
    transition: opacity 250ms linear;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    content: ""; }
  .mdc-ripple-surface.mdc-ripple-upgraded::before {
    top: calc(50% - 100%);
    left: calc(50% - 100%);
    width: 200%;
    height: 200%;
    /* @alternate */
    -webkit-transform: scale(0);
            transform: scale(0);
    -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0));
            transform: scale(var(--mdc-ripple-fg-scale, 0)); }
  .mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before {
    opacity: .99999; }
  .mdc-ripple-surface.mdc-ripple-upgraded--background-active-fill::before {
    -webkit-transition-duration: 120ms;
            transition-duration: 120ms;
    opacity: 1; }
  .mdc-ripple-surface.mdc-ripple-upgraded--unbounded::before {
    /* @alternate */
    top: calc(50% - 50%);
    top: var(--mdc-ripple-top, calc(50% - 50%));
    /* @alternate */
    left: calc(50% - 50%);
    left: var(--mdc-ripple-left, calc(50% - 50%));
    /* @alternate */
    width: 100%;
    width: var(--mdc-ripple-fg-size, 100%);
    /* @alternate */
    height: 100%;
    height: var(--mdc-ripple-fg-size, 100%);
    /* @alternate */
    -webkit-transform: scale(0);
            transform: scale(0);
    -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0));
            transform: scale(var(--mdc-ripple-fg-scale, 0)); }
  .mdc-ripple-surface::after {
    background-color: rgba(0, 0, 0, 0.06);
    position: absolute;
    top: calc(50% - 100%);
    left: calc(50% - 100%);
    width: 200%;
    height: 200%;
    -webkit-transition: opacity 250ms linear;
    transition: opacity 250ms linear;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    content: ""; }
  .mdc-ripple-surface.mdc-ripple-upgraded::after {
    top: 0;
    left: 0;
    /* @alternate */
    width: 100%;
    width: var(--mdc-ripple-fg-size, 100%);
    /* @alternate */
    height: 100%;
    height: var(--mdc-ripple-fg-size, 100%);
    -webkit-transform: scale(0);
            transform: scale(0);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    opacity: 0; }
  .mdc-ripple-surface:not(.mdc-ripple-upgraded--unbounded)::after {
    -webkit-transform-origin: center center;
            transform-origin: center center; }
  .mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after {
    /* @alternate */
    top: 0;
    top: var(--mdc-ripple-top, 0);
    /* @alternate */
    left: 0;
    left: var(--mdc-ripple-left, 0);
    /* @alternate */
    width: 100%;
    width: var(--mdc-ripple-fg-size, 100%);
    /* @alternate */
    height: 100%;
    height: var(--mdc-ripple-fg-size, 100%);
    -webkit-transform: scale(0);
            transform: scale(0);
    -webkit-transform-origin: center center;
            transform-origin: center center; }
  .mdc-ripple-surface.mdc-ripple-upgraded--foreground-activation::after {
    -webkit-animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards;
            animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; }
  .mdc-ripple-surface.mdc-ripple-upgraded--foreground-deactivation::after {
    -webkit-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-ripple-surface[data-mdc-ripple-is-unbounded] {
    overflow: visible; }
  .mdc-ripple-surface--primary::before, .mdc-ripple-surface--primary::after {
    /* @alternate */
    background-color: #3f51b5;
    background-color: var(--mdc-theme-primary, #3f51b5); }
  .mdc-ripple-surface--primary::before {
    /* @alternate */
    background-color: rgba(63, 81, 181, 0.16);
    position: absolute;
    top: calc(50% - 100%);
    left: calc(50% - 100%);
    width: 200%;
    height: 200%;
    -webkit-transition: opacity 250ms linear;
    transition: opacity 250ms linear;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    content: ""; }
    @supports (background-color: color(green a(10%))) {
      .mdc-ripple-surface--primary::before {
        background-color: color(var(--mdc-theme-primary, #3f51b5) a(16%)); } }
  .mdc-ripple-surface--primary.mdc-ripple-upgraded::before {
    top: calc(50% - 100%);
    left: calc(50% - 100%);
    width: 200%;
    height: 200%;
    /* @alternate */
    -webkit-transform: scale(0);
            transform: scale(0);
    -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0));
            transform: scale(var(--mdc-ripple-fg-scale, 0)); }
  .mdc-ripple-surface--primary.mdc-ripple-upgraded--background-focused::before {
    opacity: .99999; }
  .mdc-ripple-surface--primary.mdc-ripple-upgraded--background-active-fill::before {
    -webkit-transition-duration: 120ms;
            transition-duration: 120ms;
    opacity: 1; }
  .mdc-ripple-surface--primary.mdc-ripple-upgraded--unbounded::before {
    /* @alternate */
    top: calc(50% - 50%);
    top: var(--mdc-ripple-top, calc(50% - 50%));
    /* @alternate */
    left: calc(50% - 50%);
    left: var(--mdc-ripple-left, calc(50% - 50%));
    /* @alternate */
    width: 100%;
    width: var(--mdc-ripple-fg-size, 100%);
    /* @alternate */
    height: 100%;
    height: var(--mdc-ripple-fg-size, 100%);
    /* @alternate */
    -webkit-transform: scale(0);
            transform: scale(0);
    -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0));
            transform: scale(var(--mdc-ripple-fg-scale, 0)); }
  .mdc-ripple-surface--primary::after {
    /* @alternate */
    background-color: rgba(63, 81, 181, 0.16);
    position: absolute;
    top: calc(50% - 100%);
    left: calc(50% - 100%);
    width: 200%;
    height: 200%;
    -webkit-transition: opacity 250ms linear;
    transition: opacity 250ms linear;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    content: ""; }
    @supports (background-color: color(green a(10%))) {
      .mdc-ripple-surface--primary::after {
        background-color: color(var(--mdc-theme-primary, #3f51b5) a(16%)); } }
  .mdc-ripple-surface--primary.mdc-ripple-upgraded::after {
    top: 0;
    left: 0;
    /* @alternate */
    width: 100%;
    width: var(--mdc-ripple-fg-size, 100%);
    /* @alternate */
    height: 100%;
    height: var(--mdc-ripple-fg-size, 100%);
    -webkit-transform: scale(0);
            transform: scale(0);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    opacity: 0; }
  .mdc-ripple-surface--primary:not(.mdc-ripple-upgraded--unbounded)::after {
    -webkit-transform-origin: center center;
            transform-origin: center center; }
  .mdc-ripple-surface--primary.mdc-ripple-upgraded--unbounded::after {
    /* @alternate */
    top: 0;
    top: var(--mdc-ripple-top, 0);
    /* @alternate */
    left: 0;
    left: var(--mdc-ripple-left, 0);
    /* @alternate */
    width: 100%;
    width: var(--mdc-ripple-fg-size, 100%);
    /* @alternate */
    height: 100%;
    height: var(--mdc-ripple-fg-size, 100%);
    -webkit-transform: scale(0);
            transform: scale(0);
    -webkit-transform-origin: center center;
            transform-origin: center center; }
  .mdc-ripple-surface--primary.mdc-ripple-upgraded--foreground-activation::after {
    -webkit-animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards;
            animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; }
  .mdc-ripple-surface--primary.mdc-ripple-upgraded--foreground-deactivation::after {
    -webkit-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-ripple-surface--accent::before, .mdc-ripple-surface--accent::after {
    /* @alternate */
    background-color: #3f51b5;
    background-color: var(--mdc-theme-primary, #3f51b5); }
  .mdc-ripple-surface--accent::before {
    /* @alternate */
    background-color: rgba(255, 64, 129, 0.16);
    position: absolute;
    top: calc(50% - 100%);
    left: calc(50% - 100%);
    width: 200%;
    height: 200%;
    -webkit-transition: opacity 250ms linear;
    transition: opacity 250ms linear;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    content: ""; }
    @supports (background-color: color(green a(10%))) {
      .mdc-ripple-surface--accent::before {
        background-color: color(var(--mdc-theme-secondary, #ff4081) a(16%)); } }
  .mdc-ripple-surface--accent.mdc-ripple-upgraded::before {
    top: calc(50% - 100%);
    left: calc(50% - 100%);
    width: 200%;
    height: 200%;
    /* @alternate */
    -webkit-transform: scale(0);
            transform: scale(0);
    -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0));
            transform: scale(var(--mdc-ripple-fg-scale, 0)); }
  .mdc-ripple-surface--accent.mdc-ripple-upgraded--background-focused::before {
    opacity: .99999; }
  .mdc-ripple-surface--accent.mdc-ripple-upgraded--background-active-fill::before {
    -webkit-transition-duration: 120ms;
            transition-duration: 120ms;
    opacity: 1; }
  .mdc-ripple-surface--accent.mdc-ripple-upgraded--unbounded::before {
    /* @alternate */
    top: calc(50% - 50%);
    top: var(--mdc-ripple-top, calc(50% - 50%));
    /* @alternate */
    left: calc(50% - 50%);
    left: var(--mdc-ripple-left, calc(50% - 50%));
    /* @alternate */
    width: 100%;
    width: var(--mdc-ripple-fg-size, 100%);
    /* @alternate */
    height: 100%;
    height: var(--mdc-ripple-fg-size, 100%);
    /* @alternate */
    -webkit-transform: scale(0);
            transform: scale(0);
    -webkit-transform: scale(var(--mdc-ripple-fg-scale, 0));
            transform: scale(var(--mdc-ripple-fg-scale, 0)); }
  .mdc-ripple-surface--accent::after {
    /* @alternate */
    background-color: rgba(255, 64, 129, 0.16);
    position: absolute;
    top: calc(50% - 100%);
    left: calc(50% - 100%);
    width: 200%;
    height: 200%;
    -webkit-transition: opacity 250ms linear;
    transition: opacity 250ms linear;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    content: ""; }
    @supports (background-color: color(green a(10%))) {
      .mdc-ripple-surface--accent::after {
        background-color: color(var(--mdc-theme-secondary, #ff4081) a(16%)); } }
  .mdc-ripple-surface--accent.mdc-ripple-upgraded::after {
    top: 0;
    left: 0;
    /* @alternate */
    width: 100%;
    width: var(--mdc-ripple-fg-size, 100%);
    /* @alternate */
    height: 100%;
    height: var(--mdc-ripple-fg-size, 100%);
    -webkit-transform: scale(0);
            transform: scale(0);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    opacity: 0; }
  .mdc-ripple-surface--accent:not(.mdc-ripple-upgraded--unbounded)::after {
    -webkit-transform-origin: center center;
            transform-origin: center center; }
  .mdc-ripple-surface--accent.mdc-ripple-upgraded--unbounded::after {
    /* @alternate */
    top: 0;
    top: var(--mdc-ripple-top, 0);
    /* @alternate */
    left: 0;
    left: var(--mdc-ripple-left, 0);
    /* @alternate */
    width: 100%;
    width: var(--mdc-ripple-fg-size, 100%);
    /* @alternate */
    height: 100%;
    height: var(--mdc-ripple-fg-size, 100%);
    -webkit-transform: scale(0);
            transform: scale(0);
    -webkit-transform-origin: center center;
            transform-origin: center center; }
  .mdc-ripple-surface--accent.mdc-ripple-upgraded--foreground-activation::after {
    -webkit-animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards;
            animation: 300ms mdc-ripple-fg-radius-in forwards, 83ms mdc-ripple-fg-opacity-in forwards; }
  .mdc-ripple-surface--accent.mdc-ripple-upgraded--foreground-deactivation::after {
    -webkit-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)); }
