


@font-face {
  font-family: "Roboto";
  src: local(Roboto Thin), url("../font/roboto/Roboto-Thin.woff2") format("woff2"), url("../font/roboto/Roboto-Thin.woff") format("woff"), url("../font/roboto/Roboto-Thin.ttf") format("truetype");
  font-weight: 200; }

@font-face {
  font-family: "Roboto";
  src: local(Roboto Light), url("../font/roboto/Roboto-Light.woff2") format("woff2"), url("../font/roboto/Roboto-Light.woff") format("woff"), url("../font/roboto/Roboto-Light.ttf") format("truetype");
  font-weight: 300; }

@font-face {
  font-family: "Roboto";
  src: local(Roboto Regular), url("../font/roboto/Roboto-Regular.woff2") format("woff2"), url("../font/roboto/Roboto-Regular.woff") format("woff"), url("../font/roboto/Roboto-Regular.ttf") format("truetype");
  font-weight: 400; }

@font-face {
  font-family: "Roboto";
  src: url("../font/roboto/Roboto-Medium.woff2") format("woff2"), url("../font/roboto/Roboto-Medium.woff") format("woff"), url("../font/roboto/Roboto-Medium.ttf") format("truetype");
  font-weight: 500; }

@font-face {
  font-family: "Roboto";
  src: url("../font/roboto/Roboto-Bold.woff2") format("woff2"), url("../font/roboto/Roboto-Bold.woff") format("woff"), url("../font/roboto/Roboto-Bold.ttf") format("truetype");
  font-weight: 700; }

a {
  text-decoration: none; }

html {
  line-height: 1.5;
  font-family: "Roboto", sans-serif;
  font-weight: normal;
  color: rgba(0, 0, 0, 0.87); }
  @media only screen and (min-width: 0) {
    html {
      font-size: 14px; } }
  @media only screen and (min-width: 992px) {
    html {
      font-size: 14.5px; } }
  @media only screen and (min-width: 1200px) {
    html {
      font-size: 15px; } }

h1, h2, h3, h4, h5, h6 {
  font-weight: 400;
  line-height: 1.1; }

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
  font-weight: inherit; }

h1 {
  font-size: 4.2rem;
  line-height: 110%;
  margin: 2.1rem 0 1.68rem 0; }

h2 {
  font-size: 3.56rem;
  line-height: 110%;
  margin: 1.78rem 0 1.424rem 0; }

h3 {
  font-size: 2.92rem;
  line-height: 110%;
  margin: 1.46rem 0 1.168rem 0; }

h4 {
  font-size: 2.28rem;
  line-height: 110%;
  margin: 1.14rem 0 0.912rem 0; }

h5 {
  font-size: 1.64rem;
  line-height: 110%;
  margin: 0.82rem 0 0.656rem 0; }

h6 {
  font-size: 1rem;
  line-height: 110%;
  margin: 0.5rem 0 0.4rem 0; }

em {
  font-style: italic; }

strong {
  font-weight: 500; }

small {
  font-size: 75%; }

.light, footer.page-footer .footer-copyright {
  font-weight: 300; }

.thin {
  font-weight: 200; }

.flow-text {
  font-weight: 300; }
  @media only screen and (min-width: 360px) {
    .flow-text {
      font-size: 1.2rem; } }
  @media only screen and (min-width: 390px) {
    .flow-text {
      font-size: 1.224rem; } }
  @media only screen and (min-width: 420px) {
    .flow-text {
      font-size: 1.248rem; } }
  @media only screen and (min-width: 450px) {
    .flow-text {
      font-size: 1.272rem; } }
  @media only screen and (min-width: 480px) {
    .flow-text {
      font-size: 1.296rem; } }
  @media only screen and (min-width: 510px) {
    .flow-text {
      font-size: 1.32rem; } }
  @media only screen and (min-width: 540px) {
    .flow-text {
      font-size: 1.344rem; } }
  @media only screen and (min-width: 570px) {
    .flow-text {
      font-size: 1.368rem; } }
  @media only screen and (min-width: 600px) {
    .flow-text {
      font-size: 1.392rem; } }
  @media only screen and (min-width: 630px) {
    .flow-text {
      font-size: 1.416rem; } }
  @media only screen and (min-width: 660px) {
    .flow-text {
      font-size: 1.44rem; } }
  @media only screen and (min-width: 690px) {
    .flow-text {
      font-size: 1.464rem; } }
  @media only screen and (min-width: 720px) {
    .flow-text {
      font-size: 1.488rem; } }
  @media only screen and (min-width: 750px) {
    .flow-text {
      font-size: 1.512rem; } }
  @media only screen and (min-width: 780px) {
    .flow-text {
      font-size: 1.536rem; } }
  @media only screen and (min-width: 810px) {
    .flow-text {
      font-size: 1.56rem; } }
  @media only screen and (min-width: 840px) {
    .flow-text {
      font-size: 1.584rem; } }
  @media only screen and (min-width: 870px) {
    .flow-text {
      font-size: 1.608rem; } }
  @media only screen and (min-width: 900px) {
    .flow-text {
      font-size: 1.632rem; } }
  @media only screen and (min-width: 930px) {
    .flow-text {
      font-size: 1.656rem; } }
  @media only screen and (min-width: 960px) {
    .flow-text {
      font-size: 1.68rem; } }
  @media only screen and (max-width: 360px) {
    .flow-text {
      font-size: 1.2rem; } }

.card-panel {
  transition: box-shadow .25s;
  padding: 20px;
  margin: 0.5rem 0 1rem 0;
  border-radius: 2px;
  background-color: #fff; }

.card {
  position: relative;
  overflow: hidden;
  margin: 0.5rem 0 1rem 0;
  background-color: #fff;
  transition: box-shadow .25s;
  border-radius: 2px; }
  .card .card-title {
    color: #fff;
    font-size: 24px;
    font-weight: 300; }
    .card .card-title.activator {
      cursor: pointer; }
  .card.small, .card.medium, .card.large {
    position: relative; }
    .card.small .card-image, .card.medium .card-image, .card.large .card-image {
      overflow: hidden; }
    .card.small .card-content, .card.medium .card-content, .card.large .card-content {
      overflow: hidden; }
    .card.small .card-action, .card.medium .card-action, .card.large .card-action {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0; }
  .card.small {
    height: 300px; }
    .card.small .card-image {
      height: 150px; }
    .card.small .card-content {
      height: 150px; }
  .card.medium {
    height: 400px; }
    .card.medium .card-image {
      height: 250px; }
    .card.medium .card-content {
      height: 150px; }
  .card.large {
    height: 500px; }
    .card.large .card-image {
      height: 330px; }
    .card.large .card-content {
      height: 170px; }
  .card .card-image {
    position: relative; }
    .card .card-image img {
      display: block;
      border-radius: 2px 2px 0 0;
      position: relative;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      width: 100%; }
    .card .card-image .card-title {
      position: absolute;
      bottom: 0;
      left: 0;
      padding: 20px; }
  .card .card-content {
    padding: 20px;
    border-radius: 0 0 2px 2px; }
    .card .card-content p {
      margin: 0;
      color: inherit; }
    .card .card-content .card-title {
      line-height: 48px; }
  .card .card-action {
    border-top: 1px solid rgba(160, 160, 160, 0.2);
    padding: 20px; }
    .card .card-action a {
      color: #ffab40;
      margin-right: 20px;
      -webkit-transition: color .3s ease;
      -moz-transition: color .3s ease;
      -o-transition: color .3s ease;
      -ms-transition: color .3s ease;
      transition: color .3s ease;
      text-transform: uppercase; }
      .card .card-action a:hover {
        color: #ffd8a6; }
  .card .card-reveal {
    padding: 20px;
    position: absolute;
    background-color: #fff;
    width: 100%;
    overflow-y: auto;
    top: 100%;
    height: 100%;
    z-index: 1;
    display: none; }
    .card .card-reveal .card-title {
      cursor: pointer;
      display: block; }

#toast-container {
  display: block;
  position: fixed;
  z-index: 10000; }
  @media only screen and (max-width : 600px) {
    #toast-container {
      min-width: 100%;
      bottom: 0%; } }
  @media only screen and (min-width : 601px) and (max-width : 992px) {
    #toast-container {
      min-width: 30%;
      left: 5%;
      bottom: 7%; } }
  @media only screen and (min-width : 993px) {
    #toast-container {
      min-width: 8%;
      top: 10%;
      right: 7%; } }

.toast {
  border-radius: 2px;
  top: 0;
  width: auto;
  clear: both;
  margin-top: 10px;
  position: relative;
  max-width: 100%;
  height: 48px;
  line-height: 48px;
  background-color: #323232;
  padding: 0 25px;
  font-size: 1.1rem;
  font-weight: 300;
  color: #fff;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: space-between;
  justify-content: space-between; }
  .toast .btn, .toast .btn-large, .toast .btn-flat {
    margin: 0;
    margin-left: 3rem; }
  .toast.rounded {
    border-radius: 24px; }
  @media only screen and (max-width : 600px) {
    .toast {
      width: 100%;
      border-radius: 0; } }
  @media only screen and (min-width : 601px) and (max-width : 992px) {
    .toast {
      float: left; } }
  @media only screen and (min-width : 993px) {
    .toast {
      float: right; } }

.tabs {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  position: relative;
  height: 48px;
  background-color: #fff;
  margin: 0 auto;
  width: 100%;
  white-space: nowrap; }
  .tabs .tab {
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    display: block;
    float: left;
    text-align: center;
    line-height: 48px;
    height: 48px;
    padding: 0 20px;
    margin: 0;
    text-transform: uppercase;
    letter-spacing: .8px;
    width: 15%; }
    .tabs .tab a {
      color: #ee6e73;
      display: block;
      width: 100%;
      height: 100%;
      -webkit-transition: color .28s ease;
      -moz-transition: color .28s ease;
      -o-transition: color .28s ease;
      -ms-transition: color .28s ease;
      transition: color .28s ease; }
      .tabs .tab a:hover {
        color: #f9c9cb; }
    .tabs .tab.disabled a {
      color: #f9c9cb;
      cursor: default; }
  .tabs .indicator {
    position: absolute;
    bottom: 0;
    height: 2px;
    background-color: #f6b2b5;
    will-change: left, right; }

.tabs .tab {
  padding: 0; }

.material-tooltip {
  padding: 10px 8px;
  font-size: 1rem;
  z-index: 2000;
  background-color: transparent;
  border-radius: 2px;
  color: #fff;
  min-height: 36px;
  line-height: 1rem;
  opacity: 0;
  display: none;
  position: absolute;
  text-align: center;
  overflow: hidden;
  left: 0;
  top: 0;
  will-change: top, left; }

.backdrop {
  position: absolute;
  opacity: 0;
  display: none;
  height: 7px;
  width: 14px;
  border-radius: 0 0 14px 14px;
  background-color: #323232;
  z-index: -1;
  -webkit-transform-origin: 50% 10%;
  -moz-transform-origin: 50% 10%;
  -ms-transform-origin: 50% 10%;
  -o-transform-origin: 50% 10%;
  transform-origin: 50% 10%;
  will-change: transform, opacity; }

.btn, .btn-large, .btn-flat {
  border: none;
  border-radius: 2px;
  display: inline-block;
  height: 36px;
  line-height: 36px;
  outline: 0;
  padding: 0 2rem;
  text-transform: uppercase;
  vertical-align: middle;
  -webkit-tap-highlight-color: transparent; }

.btn.disabled, .disabled.btn-large, .btn-floating.disabled, .btn-large.disabled, .btn:disabled, .btn-large:disabled, .btn-large:disabled, .btn-floating:disabled {
  background-color: #DFDFDF !important;
  box-shadow: none;
  color: #9F9F9F !important;
  cursor: default; }
  .btn.disabled *, .disabled.btn-large *, .btn-floating.disabled *, .btn-large.disabled *, .btn:disabled *, .btn-large:disabled *, .btn-large:disabled *, .btn-floating:disabled * {
    pointer-events: none; }
  .btn.disabled:hover, .disabled.btn-large:hover, .btn-floating.disabled:hover, .btn-large.disabled:hover, .btn:disabled:hover, .btn-large:disabled:hover, .btn-large:disabled:hover, .btn-floating:disabled:hover {
    background-color: #DFDFDF;
    color: #9F9F9F; }

.btn i, .btn-large i, .btn-floating i, .btn-large i, .btn-flat i {
  font-size: 1.3rem;
  line-height: inherit; }

.btn, .btn-large {
  text-decoration: none;
  color: #fff;
  background-color: #26a69a;
  text-align: center;
  letter-spacing: .5px;
  -webkit-transition: .2s ease-out;
  -moz-transition: .2s ease-out;
  -o-transition: .2s ease-out;
  -ms-transition: .2s ease-out;
  transition: .2s ease-out;
  cursor: pointer; }
  .btn:hover, .btn-large:hover {
    background-color: #2bbbad; }

.btn-floating {
  display: inline-block;
  color: #fff;
  position: relative;
  overflow: hidden;
  z-index: 1;
  width: 37px;
  height: 37px;
  line-height: 37px;
  padding: 0;
  background-color: #26a69a;
  border-radius: 50%;
  transition: .3s;
  cursor: pointer;
  vertical-align: middle; }
  .btn-floating i {
    width: inherit;
    display: inline-block;
    text-align: center;
    color: #fff;
    font-size: 1.6rem;
    line-height: 37px; }
  .btn-floating:before {
    border-radius: 0; }
  .btn-floating.btn-large {
    width: 55.5px;
    height: 55.5px; }
    .btn-floating.btn-large i {
      line-height: 55.5px; }

button.btn-floating {
  border: none; }

.fixed-action-btn {
  position: fixed;
  right: 23px;
  bottom: 23px;
  padding-top: 15px;
  margin-bottom: 0;
  z-index: 998; }
  .fixed-action-btn ul {
    left: 0;
    right: 0;
    text-align: center;
    position: absolute;
    bottom: 64px;
    margin: 0; }
    .fixed-action-btn ul li {
      margin-bottom: 15px; }
    .fixed-action-btn ul a.btn-floating {
      opacity: 0; }

.btn-flat {
  box-shadow: none;
  background-color: transparent;
  color: #343434;
  cursor: pointer; }
  .btn-flat.disabled {
    color: #b3b3b3;
    cursor: default; }

.btn-large {
  height: 54px;
  line-height: 56px; }
  .btn-large i {
    font-size: 1.6rem; }

.btn-block {
  display: block; }

.dropdown-content {
  background-color: #fff;
  margin: 0;
  display: none;
  min-width: 100px;
  max-height: 650px;
  overflow-y: auto;
  opacity: 0;
  position: absolute;
  z-index: 999;
  will-change: width, height; }
  .dropdown-content li {
    clear: both;
    color: rgba(0, 0, 0, 0.87);
    cursor: pointer;
    line-height: 1.5rem;
    width: 100%;
    text-align: left;
    text-transform: none; }
    .dropdown-content li:hover, .dropdown-content li.active {
      background-color: #eee; }
    .dropdown-content li > a, .dropdown-content li > span {
      font-size: 1.2rem;
      color: #26a69a;
      display: block;
      padding: 1rem 1rem; }
    .dropdown-content li > a > i {
      height: inherit;
      line-height: inherit; }

/*!
 * Waves v0.6.0
 * http://fian.my.id/Waves
 *
 * Copyright 2014 Alfiana E. Sibuea and other contributors
 * Released under the MIT license
 * https://github.com/fians/Waves/blob/master/LICENSE
 */
.waves-effect {
  position: relative;
  cursor: pointer;
  display: inline-block;
  overflow: hidden;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  vertical-align: middle;
  z-index: 1;
  will-change: opacity, transform;
  -webkit-transition: all .3s ease-out;
  -moz-transition: all .3s ease-out;
  -o-transition: all .3s ease-out;
  -ms-transition: all .3s ease-out;
  transition: all .3s ease-out; }
  .waves-effect .waves-ripple {
    position: absolute;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    margin-top: -10px;
    margin-left: -10px;
    opacity: 0;
    background: rgba(0, 0, 0, 0.2);
    -webkit-transition: all 0.7s ease-out;
    -moz-transition: all 0.7s ease-out;
    -o-transition: all 0.7s ease-out;
    -ms-transition: all 0.7s ease-out;
    transition: all 0.7s ease-out;
    -webkit-transition-property: -webkit-transform, opacity;
    -moz-transition-property: -moz-transform, opacity;
    -o-transition-property: -o-transform, opacity;
    transition-property: transform, opacity;
    -webkit-transform: scale(0);
    -moz-transform: scale(0);
    -ms-transform: scale(0);
    -o-transform: scale(0);
    transform: scale(0);
    pointer-events: none; }
  .waves-effect.waves-light .waves-ripple {
    background-color: rgba(255, 255, 255, 0.45); }
  .waves-effect.waves-red .waves-ripple {
    background-color: rgba(244, 67, 54, 0.7); }
  .waves-effect.waves-yellow .waves-ripple {
    background-color: rgba(255, 235, 59, 0.7); }
  .waves-effect.waves-orange .waves-ripple {
    background-color: rgba(255, 152, 0, 0.7); }
  .waves-effect.waves-purple .waves-ripple {
    background-color: rgba(156, 39, 176, 0.7); }
  .waves-effect.waves-green .waves-ripple {
    background-color: rgba(76, 175, 80, 0.7); }
  .waves-effect.waves-teal .waves-ripple {
    background-color: rgba(0, 150, 136, 0.7); }

.waves-notransition {
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -o-transition: none !important;
  -ms-transition: none !important;
  transition: none !important; }

.waves-circle {
  -webkit-transform: translateZ(0);
  -moz-transform: translateZ(0);
  -ms-transform: translateZ(0);
  -o-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-mask-image: -webkit-radial-gradient(circle, white 100%, black 100%); }

.waves-input-wrapper {
  border-radius: 0.2em;
  vertical-align: bottom; }
  .waves-input-wrapper .waves-button-input {
    position: relative;
    top: 0;
    left: 0;
    z-index: 1; }

.waves-circle {
  text-align: center;
  width: 2.5em;
  height: 2.5em;
  line-height: 2.5em;
  border-radius: 50%;
  -webkit-mask-image: none; }

.waves-block {
  display: block; }

/* Firefox Bug: link not triggered */
a.waves-effect .waves-ripple {
  z-index: -1; }

/* Remove Focus Boxes */
select:focus {
  outline: 1px solid #c9f3ef; }

button:focus {
  outline: none;
  background-color: #2ab7a9; }

label {
  font-size: 0.8rem;
  color: #9e9e9e; }

/***************************
   Text Inputs + Textarea
****************************/
::-webkit-input-placeholder {
  color: #d1d1d1; }

:-moz-placeholder {
  /* Firefox 18- */
  color: #d1d1d1; }

::-moz-placeholder {
  /* Firefox 19+ */
  color: #d1d1d1; }

:-ms-input-placeholder {
  color: #d1d1d1; }

input[type=text], input[type=password], input[type=email], input[type=url], input[type=time], input[type=date], input[type=datetime-local], input[type=tel], input[type=number], input[type=search], textarea.materialize-textarea {
  background-color: transparent;
  border: none;
  border-bottom: 1px solid #9e9e9e;
  border-radius: 0;
  outline: none;
  height: 3rem;
  width: 100%;
  font-size: 1rem;
  margin: 0 0 15px 0;
  padding: 0;
  box-shadow: none;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  transition: all .3s; }
  input[type=text]:disabled, input[type=text][readonly="readonly"], input[type=password]:disabled, input[type=password][readonly="readonly"], input[type=email]:disabled, input[type=email][readonly="readonly"], input[type=url]:disabled, input[type=url][readonly="readonly"], input[type=time]:disabled, input[type=time][readonly="readonly"], input[type=date]:disabled, input[type=date][readonly="readonly"], input[type=datetime-local]:disabled, input[type=datetime-local][readonly="readonly"], input[type=tel]:disabled, input[type=tel][readonly="readonly"], input[type=number]:disabled, input[type=number][readonly="readonly"], input[type=search]:disabled, input[type=search][readonly="readonly"], textarea.materialize-textarea:disabled, textarea.materialize-textarea[readonly="readonly"] {
    color: rgba(0, 0, 0, 0.26);
    border-bottom: 1px dotted rgba(0, 0, 0, 0.26); }
  input[type=text]:disabled + label, input[type=text][readonly="readonly"] + label, input[type=password]:disabled + label, input[type=password][readonly="readonly"] + label, input[type=email]:disabled + label, input[type=email][readonly="readonly"] + label, input[type=url]:disabled + label, input[type=url][readonly="readonly"] + label, input[type=time]:disabled + label, input[type=time][readonly="readonly"] + label, input[type=date]:disabled + label, input[type=date][readonly="readonly"] + label, input[type=datetime-local]:disabled + label, input[type=datetime-local][readonly="readonly"] + label, input[type=tel]:disabled + label, input[type=tel][readonly="readonly"] + label, input[type=number]:disabled + label, input[type=number][readonly="readonly"] + label, input[type=search]:disabled + label, input[type=search][readonly="readonly"] + label, textarea.materialize-textarea:disabled + label, textarea.materialize-textarea[readonly="readonly"] + label {
    color: rgba(0, 0, 0, 0.26); }
  input[type=text]:focus:not([readonly]), input[type=password]:focus:not([readonly]), input[type=email]:focus:not([readonly]), input[type=url]:focus:not([readonly]), input[type=time]:focus:not([readonly]), input[type=date]:focus:not([readonly]), input[type=datetime-local]:focus:not([readonly]), input[type=tel]:focus:not([readonly]), input[type=number]:focus:not([readonly]), input[type=search]:focus:not([readonly]), textarea.materialize-textarea:focus:not([readonly]) {
    border-bottom: 1px solid #26a69a;
    box-shadow: 0 1px 0 0 #26a69a; }
  input[type=text]:focus:not([readonly]) + label, input[type=password]:focus:not([readonly]) + label, input[type=email]:focus:not([readonly]) + label, input[type=url]:focus:not([readonly]) + label, input[type=time]:focus:not([readonly]) + label, input[type=date]:focus:not([readonly]) + label, input[type=datetime-local]:focus:not([readonly]) + label, input[type=tel]:focus:not([readonly]) + label, input[type=number]:focus:not([readonly]) + label, input[type=search]:focus:not([readonly]) + label, textarea.materialize-textarea:focus:not([readonly]) + label {
    color: #26a69a; }
  input[type=text].valid, input[type=text]:focus.valid, input[type=password].valid, input[type=password]:focus.valid, input[type=email].valid, input[type=email]:focus.valid, input[type=url].valid, input[type=url]:focus.valid, input[type=time].valid, input[type=time]:focus.valid, input[type=date].valid, input[type=date]:focus.valid, input[type=datetime-local].valid, input[type=datetime-local]:focus.valid, input[type=tel].valid, input[type=tel]:focus.valid, input[type=number].valid, input[type=number]:focus.valid, input[type=search].valid, input[type=search]:focus.valid, textarea.materialize-textarea.valid, textarea.materialize-textarea:focus.valid {
    border-bottom: 1px solid #4CAF50;
    box-shadow: 0 1px 0 0 #4CAF50; }
  input[type=text].valid + label:after, input[type=text]:focus.valid + label:after, input[type=password].valid + label:after, input[type=password]:focus.valid + label:after, input[type=email].valid + label:after, input[type=email]:focus.valid + label:after, input[type=url].valid + label:after, input[type=url]:focus.valid + label:after, input[type=time].valid + label:after, input[type=time]:focus.valid + label:after, input[type=date].valid + label:after, input[type=date]:focus.valid + label:after, input[type=datetime-local].valid + label:after, input[type=datetime-local]:focus.valid + label:after, input[type=tel].valid + label:after, input[type=tel]:focus.valid + label:after, input[type=number].valid + label:after, input[type=number]:focus.valid + label:after, input[type=search].valid + label:after, input[type=search]:focus.valid + label:after, textarea.materialize-textarea.valid + label:after, textarea.materialize-textarea:focus.valid + label:after {
    content: attr(data-success);
    color: #4CAF50;
    opacity: 1; }
  input[type=text].invalid, input[type=text]:focus.invalid, input[type=password].invalid, input[type=password]:focus.invalid, input[type=email].invalid, input[type=email]:focus.invalid, input[type=url].invalid, input[type=url]:focus.invalid, input[type=time].invalid, input[type=time]:focus.invalid, input[type=date].invalid, input[type=date]:focus.invalid, input[type=datetime-local].invalid, input[type=datetime-local]:focus.invalid, input[type=tel].invalid, input[type=tel]:focus.invalid, input[type=number].invalid, input[type=number]:focus.invalid, input[type=search].invalid, input[type=search]:focus.invalid, textarea.materialize-textarea.invalid, textarea.materialize-textarea:focus.invalid {
    border-bottom: 1px solid #F44336;
    box-shadow: 0 1px 0 0 #F44336; }
  input[type=text].invalid + label:after, input[type=text]:focus.invalid + label:after, input[type=password].invalid + label:after, input[type=password]:focus.invalid + label:after, input[type=email].invalid + label:after, input[type=email]:focus.invalid + label:after, input[type=url].invalid + label:after, input[type=url]:focus.invalid + label:after, input[type=time].invalid + label:after, input[type=time]:focus.invalid + label:after, input[type=date].invalid + label:after, input[type=date]:focus.invalid + label:after, input[type=datetime-local].invalid + label:after, input[type=datetime-local]:focus.invalid + label:after, input[type=tel].invalid + label:after, input[type=tel]:focus.invalid + label:after, input[type=number].invalid + label:after, input[type=number]:focus.invalid + label:after, input[type=search].invalid + label:after, input[type=search]:focus.invalid + label:after, textarea.materialize-textarea.invalid + label:after, textarea.materialize-textarea:focus.invalid + label:after {
    content: attr(data-error);
    color: #F44336;
    opacity: 1; }
  input[type=text] + label:after, input[type=password] + label:after, input[type=email] + label:after, input[type=url] + label:after, input[type=time] + label:after, input[type=date] + label:after, input[type=datetime-local] + label:after, input[type=tel] + label:after, input[type=number] + label:after, input[type=search] + label:after, textarea.materialize-textarea + label:after {
    display: block;
    content: "";
    position: absolute;
    top: 65px;
    opacity: 0;
    transition: .2s opacity ease-out, .2s color ease-out; }

.input-field {
  position: relative;
  margin-top: 1rem; }
  .input-field label {
    color: #9e9e9e;
    position: absolute;
    top: 0.8rem;
    left: 0.75rem;
    font-size: 1rem;
    cursor: text;
    -webkit-transition: .2s ease-out;
    -moz-transition: .2s ease-out;
    -o-transition: .2s ease-out;
    -ms-transition: .2s ease-out;
    transition: .2s ease-out; }
  .input-field label.active {
    font-size: 0.8rem;
    -webkit-transform: translateY(-140%);
    -moz-transform: translateY(-140%);
    -ms-transform: translateY(-140%);
    -o-transform: translateY(-140%);
    transform: translateY(-140%); }
  .input-field .prefix {
    position: absolute;
    width: 3rem;
    font-size: 2rem;
    -webkit-transition: color .2s;
    -moz-transition: color .2s;
    -o-transition: color .2s;
    -ms-transition: color .2s;
    transition: color .2s; }
    .input-field .prefix.active {
      color: #26a69a; }
  .input-field .prefix ~ input, .input-field .prefix ~ textarea {
    margin-left: 3rem;
    width: 92%;
    width: calc(100% - 3rem); }
  .input-field .prefix ~ textarea {
    padding-top: .8rem; }
  .input-field .prefix ~ label {
    margin-left: 3rem; }
  @media only screen and (max-width : 992px) {
    .input-field .prefix ~ input {
      width: 86%;
      width: calc(100% - 3rem); } }
  @media only screen and (max-width : 600px) {
    .input-field .prefix ~ input {
      width: 80%;
      width: calc(100% - 3rem); } }

.input-field input[type=search] {
  display: block;
  line-height: inherit;
  padding-left: 4rem;
  width: calc(100% - 4rem); }
  .input-field input[type=search]:focus {
    background-color: #fff;
    border: 0;
    box-shadow: none;
    color: #444; }
    .input-field input[type=search]:focus + label i, .input-field input[type=search]:focus ~ .mdi-navigation-close, .input-field input[type=search]:focus ~ .material-icons {
      color: #444; }
  .input-field input[type=search] + label {
    left: 1rem; }
  .input-field input[type=search] ~ .mdi-navigation-close, .input-field input[type=search] ~ .material-icons {
    position: absolute;
    top: 0;
    right: 1rem;
    color: transparent;
    cursor: pointer;
    font-size: 2rem;
    transition: .3s color; }

textarea {
  width: 100%;
  height: 3rem;
  background-color: transparent; }
  textarea.materialize-textarea {
    overflow-y: hidden;
    /* prevents scroll bar flash */
    padding: 1.6rem 0;
    /* prevents text jump on Enter keypress */
    resize: none;
    min-height: 3rem; }

.hiddendiv {
  display: none;
  white-space: pre-wrap;
  word-wrap: break-word;
  overflow-wrap: break-word;
  /* future version of deprecated 'word-wrap' */
  padding-top: 1.2rem;
  /* prevents text jump on Enter keypress */ }

/***************
  Radio Buttons
***************/
/* Remove default Radio Buttons */
[type="radio"]:not(:checked), [type="radio"]:checked {
  position: absolute;
  left: -9999px;
  visibility: hidden; }

[type="radio"]:not(:checked) + label, [type="radio"]:checked + label {
  position: relative;
  padding-left: 35px;
  cursor: pointer;
  display: inline-block;
  height: 25px;
  line-height: 25px;
  font-size: 1rem;
  -webkit-transition: .28s ease;
  -moz-transition: .28s ease;
  -o-transition: .28s ease;
  -ms-transition: .28s ease;
  transition: .28s ease;
  -webkit-user-select: none;
  /* webkit (safari, chrome) browsers */
  -moz-user-select: none;
  /* mozilla browsers */
  -khtml-user-select: none;
  /* webkit (konqueror) browsers */
  -ms-user-select: none;
  /* IE10+ */ }

[type="radio"] + label:before, [type="radio"] + label:after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  margin: 4px;
  width: 16px;
  height: 16px;
  z-index: 0;
  -webkit-transition: .28s ease;
  -moz-transition: .28s ease;
  -o-transition: .28s ease;
  -ms-transition: .28s ease;
  transition: .28s ease; }

/* Unchecked styles */
[type="radio"]:not(:checked) + label:before {
  border-radius: 50%;
  border: 2px solid #5a5a5a; }

[type="radio"]:not(:checked) + label:after {
  border-radius: 50%;
  border: 2px solid #5a5a5a;
  z-index: -1;
  -webkit-transform: scale(0);
  -moz-transform: scale(0);
  -ms-transform: scale(0);
  -o-transform: scale(0);
  transform: scale(0); }

/* Checked styles */
[type="radio"]:checked + label:before {
  border-radius: 50%;
  border: 2px solid transparent; }

[type="radio"]:checked + label:after {
  border-radius: 50%;
  border: 2px solid #26a69a;
  background-color: #26a69a;
  z-index: 0;
  -webkit-transform: scale(1.02);
  -moz-transform: scale(1.02);
  -ms-transform: scale(1.02);
  -o-transform: scale(1.02);
  transform: scale(1.02); }

/* Radio With gap */
[type="radio"].with-gap:checked + label:before {
  border-radius: 50%;
  border: 2px solid #26a69a; }

[type="radio"].with-gap:checked + label:after {
  border-radius: 50%;
  border: 2px solid #26a69a;
  background-color: #26a69a;
  z-index: 0;
  -webkit-transform: scale(.5);
  -moz-transform: scale(.5);
  -ms-transform: scale(.5);
  -o-transform: scale(.5);
  transform: scale(.5); }

/* Disabled Radio With gap */
[type="radio"].with-gap:disabled:checked + label:before {
  border: 2px solid rgba(0, 0, 0, 0.26); }

[type="radio"].with-gap:disabled:checked + label:after {
  border: none;
  background-color: rgba(0, 0, 0, 0.26); }

/* Disabled style */
[type="radio"]:disabled:not(:checked) + label:before, [type="radio"]:disabled:checked + label:before {
  background-color: transparent;
  border-color: rgba(0, 0, 0, 0.26); }

[type="radio"]:disabled + label {
  color: rgba(0, 0, 0, 0.26); }

[type="radio"]:disabled:not(:checked) + label:before {
  border-color: rgba(0, 0, 0, 0.26); }

[type="radio"]:disabled:checked + label:after {
  background-color: rgba(0, 0, 0, 0.26);
  border-color: #BDBDBD; }

/***************
   Checkboxes
***************/
/* CUSTOM CSS CHECKBOXES */
form p {
  margin-bottom: 10px;
  text-align: left; }

form p:last-child {
  margin-bottom: 0; }

/* Remove default checkbox */
[type="checkbox"]:not(:checked), [type="checkbox"]:checked {
  position: absolute;
  left: -9999px;
  visibility: hidden; }

[type="checkbox"] {
  /* checkbox aspect */ }
  [type="checkbox"] + label {
    position: relative;
    padding-left: 35px;
    cursor: pointer;
    display: inline-block;
    height: 25px;
    line-height: 25px;
    font-size: 1rem;
    -webkit-user-select: none;
    /* webkit (safari, chrome) browsers */
    -moz-user-select: none;
    /* mozilla browsers */
    -khtml-user-select: none;
    /* webkit (konqueror) browsers */
    -ms-user-select: none;
    /* IE10+ */ }
  [type="checkbox"] + label:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 18px;
    height: 18px;
    z-index: 0;
    border: 2px solid #5a5a5a;
    border-radius: 1px;
    margin-top: 2px;
    -webkit-transition: 0.2s;
    -moz-transition: 0.2s;
    -o-transition: 0.2s;
    -ms-transition: 0.2s;
    transition: 0.2s; }
  [type="checkbox"]:not(:checked):disabled + label:before {
    border: none;
    background-color: rgba(0, 0, 0, 0.26); }

[type="checkbox"]:checked + label:before {
  top: -4px;
  left: -3px;
  width: 12px;
  height: 22px;
  border-top: 2px solid transparent;
  border-left: 2px solid transparent;
  border-right: 2px solid #26a69a;
  border-bottom: 2px solid #26a69a;
  -webkit-transform: rotate(40deg);
  -moz-transform: rotate(40deg);
  -ms-transform: rotate(40deg);
  -o-transform: rotate(40deg);
  transform: rotate(40deg);
  -webkit-backface-visibility: hidden;
  -webkit-transform-origin: 100% 100%;
  -moz-transform-origin: 100% 100%;
  -ms-transform-origin: 100% 100%;
  -o-transform-origin: 100% 100%;
  transform-origin: 100% 100%; }
[type="checkbox"]:checked:disabled + label:before {
  border-right: 2px solid rgba(0, 0, 0, 0.26);
  border-bottom: 2px solid rgba(0, 0, 0, 0.26); }

/* Indeterminate checkbox */
[type="checkbox"]:indeterminate + label:before {
  left: -10px;
  top: -11px;
  width: 10px;
  height: 22px;
  border-top: none;
  border-left: none;
  border-right: 2px solid #26a69a;
  border-bottom: none;
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  transform: rotate(90deg);
  -webkit-backface-visibility: hidden;
  -webkit-transform-origin: 100% 100%;
  -moz-transform-origin: 100% 100%;
  -ms-transform-origin: 100% 100%;
  -o-transform-origin: 100% 100%;
  transform-origin: 100% 100%; }
[type="checkbox"]:indeterminate:disabled + label:before {
  border-right: 2px solid rgba(0, 0, 0, 0.26);
  background-color: transparent; }

[type="checkbox"].filled-in + label:after {
  border-radius: 2px; }
[type="checkbox"].filled-in + label:before, [type="checkbox"].filled-in + label:after {
  content: '';
  left: 0;
  position: absolute;
  /* .1s delay is for check animation */
  transition: border .25s, background-color .25s, width .2s .1s, height .2s .1s, top .2s .1s, left .2s .1s;
  z-index: 1; }
[type="checkbox"].filled-in:not(:checked) + label:before {
  width: 0;
  height: 0;
  border: 3px solid transparent;
  left: 6px;
  top: 10px;
  -webkit-transform: rotateZ(37deg);
  transform: rotateZ(37deg);
  -webkit-transform-origin: 20% 40%;
  transform-origin: 100% 100%; }
[type="checkbox"].filled-in:not(:checked) + label:after {
  height: 20px;
  width: 20px;
  background-color: transparent;
  border: 2px solid #5a5a5a;
  top: 0px;
  z-index: 0; }
[type="checkbox"].filled-in:checked + label:before {
  top: 0;
  left: 1px;
  width: 8px;
  height: 13px;
  border-top: 2px solid transparent;
  border-left: 2px solid transparent;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  -webkit-transform: rotateZ(37deg);
  transform: rotateZ(37deg);
  -webkit-transform-origin: 100% 100%;
  transform-origin: 100% 100%; }
[type="checkbox"].filled-in:checked + label:after {
  top: 0px;
  width: 20px;
  height: 20px;
  border: 2px solid #26a69a;
  background-color: #26a69a;
  z-index: 0; }
[type="checkbox"].filled-in:disabled:not(:checked) + label:before {
  background-color: transparent;
  border: 2px solid transparent; }
[type="checkbox"].filled-in:disabled:not(:checked) + label:after {
  border-color: transparent;
  background-color: #BDBDBD; }
[type="checkbox"].filled-in:disabled:checked + label:before {
  background-color: transparent; }
[type="checkbox"].filled-in:disabled:checked + label:after {
  background-color: #BDBDBD;
  border-color: #BDBDBD; }

/***************
     Switch
***************/
.switch, .switch * {
  -webkit-user-select: none;
  -moz-user-select: none;
  -khtml-user-select: none;
  -ms-user-select: none; }

.switch label {
  cursor: pointer; }

.switch label input[type=checkbox] {
  opacity: 0;
  width: 0;
  height: 0; }

.switch label input[type=checkbox]:checked + .lever {
  background-color: #84c7c1; }

.switch label input[type=checkbox]:checked + .lever:after {
  background-color: #26a69a; }

.switch label .lever {
  content: "";
  display: inline-block;
  position: relative;
  width: 40px;
  height: 15px;
  background-color: #818181;
  border-radius: 15px;
  margin-right: 10px;
  transition: background 0.3s ease;
  vertical-align: middle;
  margin: 0 16px; }

.switch label .lever:after {
  content: "";
  position: absolute;
  display: inline-block;
  width: 21px;
  height: 21px;
  background-color: #F1F1F1;
  border-radius: 21px;
  box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.4);
  left: -5px;
  top: -3px;
  transition: left 0.3s ease, background .3s ease, box-shadow 0.1s ease; }

input[type=checkbox]:checked:not(:disabled) ~ .lever:active:after {
  box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.4), 0 0 0 15px rgba(38, 166, 154, 0.1); }

input[type=checkbox]:not(:disabled) ~ .lever:active:after {
  box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.4), 0 0 0 15px rgba(0, 0, 0, 0.08); }

.switch label input[type=checkbox]:checked + .lever:after {
  left: 24px; }

.switch input[type=checkbox][disabled] + .lever {
  cursor: default; }

.switch label input[type=checkbox][disabled] + .lever:after, .switch label input[type=checkbox][disabled]:checked + .lever:after {
  background-color: #BDBDBD; }

/***************
  Select Field
***************/
.select-label {
  position: absolute; }

.select-wrapper {
  position: relative; }
  .select-wrapper input.select-dropdown {
    position: relative;
    cursor: pointer;
    background-color: transparent;
    border: none;
    border-bottom: 1px solid #9e9e9e;
    outline: none;
    height: 3rem;
    line-height: 3rem;
    width: 100%;
    font-size: 1rem;
    margin: 0 0 15px 0;
    padding: 0;
    display: block; }
  .select-wrapper span.caret {
    color: initial;
    position: absolute;
    right: 0;
    top: 16px;
    font-size: 10px; }
    .select-wrapper span.caret.disabled {
      color: rgba(0, 0, 0, 0.26); }
  .select-wrapper + label {
    position: absolute;
    top: -14px;
    font-size: 0.8rem; }

select {
  display: none; }

select.browser-default {
  display: block; }

select:disabled {
  color: rgba(0, 0, 0, 0.3); }

.select-wrapper input.select-dropdown:disabled {
  color: rgba(0, 0, 0, 0.3);
  cursor: default;
  -webkit-user-select: none;
  /* webkit (safari, chrome) browsers */
  -moz-user-select: none;
  /* mozilla browsers */
  -ms-user-select: none;
  /* IE10+ */
  border-bottom: 1px solid rgba(0, 0, 0, 0.3); }

.select-wrapper i {
  color: rgba(0, 0, 0, 0.3); }

.select-dropdown li.disabled {
  color: rgba(0, 0, 0, 0.3);
  background-color: transparent; }

/*********************
      File Input
**********************/
.file-field {
  position: relative; }
  .file-field .file-path-wrapper {
    overflow: hidden;
    padding-left: 10px; }
  .file-field input.file-path {
    width: 100%; }
  .file-field .btn, .file-field .btn-large {
    float: left;
    height: 3rem;
    line-height: 3rem; }
  .file-field span {
    cursor: pointer; }
  .file-field input[type=file] {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: 20px;
    cursor: pointer;
    opacity: 0;
    filter: alpha(opacity=0); }

/***************
      Range
***************/
.range-field {
  position: relative; }

input[type=range], input[type=range] + .thumb {
  cursor: pointer; }

input[type=range] {
  position: relative;
  background-color: transparent;
  border: none;
  outline: none;
  width: 100%;
  margin: 15px 0px;
  padding: 0; }

input[type=range] + .thumb {
  position: absolute;
  border: none;
  height: 0;
  width: 0;
  border-radius: 50%;
  background-color: #26a69a;
  top: 10px;
  margin-left: -6px;
  -webkit-transform-origin: 50% 50%;
  -moz-transform-origin: 50% 50%;
  -ms-transform-origin: 50% 50%;
  -o-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg); }
  input[type=range] + .thumb .value {
    display: block;
    width: 30px;
    text-align: center;
    color: #26a69a;
    font-size: 0;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg); }
  input[type=range] + .thumb.active {
    border-radius: 50% 50% 50% 0; }
    input[type=range] + .thumb.active .value {
      color: #fff;
      margin-left: -1px;
      margin-top: 8px;
      font-size: 10px; }

input[type=range]:focus {
  outline: none; }

input[type=range] {
  -webkit-appearance: none; }

input[type=range]::-webkit-slider-runnable-track {
  height: 3px;
  background: #c2c0c2;
  border: none; }

input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
  border: none;
  height: 14px;
  width: 14px;
  border-radius: 50%;
  background-color: #26a69a;
  transform-origin: 50% 50%;
  margin: -5px 0 0 0;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  -ms-transition: 0.3s;
  transition: 0.3s; }

input[type=range]:focus::-webkit-slider-runnable-track {
  background: #ccc; }

input[type=range] {
  /* fix for FF unable to apply focus style bug  */
  border: 1px solid white;
  /*required for proper track sizing in FF*/ }

input[type=range]::-moz-range-track {
  height: 3px;
  background: #ddd;
  border: none; }

input[type=range]::-moz-range-thumb {
  border: none;
  height: 14px;
  width: 14px;
  border-radius: 50%;
  background: #26a69a;
  margin-top: -5px; }

/*hide the outline behind the border*/
input[type=range]:-moz-focusring {
  outline: 1px solid white;
  outline-offset: -1px; }

input[type=range]:focus::-moz-range-track {
  background: #ccc; }

input[type=range]::-ms-track {
  height: 3px;
  /*remove bg colour from the track, we'll use ms-fill-lower and ms-fill-upper instead */
  background: transparent;
  /*leave room for the larger thumb to overflow with a transparent border */
  border-color: transparent;
  border-width: 6px 0;
  /*remove default tick marks*/
  color: transparent; }

input[type=range]::-ms-fill-lower {
  background: #777; }

input[type=range]::-ms-fill-upper {
  background: #ddd; }

input[type=range]::-ms-thumb {
  border: none;
  height: 14px;
  width: 14px;
  border-radius: 50%;
  background: #26a69a; }

input[type=range]:focus::-ms-fill-lower {
  background: #888; }

input[type=range]:focus::-ms-fill-upper {
  background: #ccc; }

/***************************
   Text Inputs + Textarea
****************************/
select {
  background-color: rgba(255, 255, 255, 0.9);
  width: 100%;
  padding: 5px;
  border: 1px solid #f2f2f2;
  border-radius: 2px;
  height: 3rem; }

/***************
    Nav List
***************/
.table-of-contents.fixed {
  position: fixed; }
.table-of-contents li {
  padding: 2px 0; }
.table-of-contents a {
  display: inline-block;
  font-weight: 300;
  color: #757575;
  padding-left: 20px;
  height: 1.5rem;
  line-height: 1.5rem;
  letter-spacing: .4;
  display: inline-block; }
  .table-of-contents a:hover {
    color: #a8a8a8;
    padding-left: 19px;
    border-left: 1px solid #ea4a4f; }
  .table-of-contents a.active {
    font-weight: 500;
    padding-left: 18px;
    border-left: 2px solid #ea4a4f; }

.side-nav {
  position: fixed;
  width: 240px;
  left: -105%;
  top: 0;
  margin: 0;
  height: 100%;
  height: calc(100% + 60px);
  height: -moz-calc(100%);
  padding-bottom: 60px;
  background-color: #fff;
  z-index: 999;
  overflow-y: auto;
  will-change: left; }
  .side-nav.right-aligned {
    will-change: right;
    right: -105%;
    left: auto; }
  .side-nav .collapsible {
    margin: 0; }
  .side-nav li {
    float: none;
    padding: 0 15px; }
    .side-nav li:hover, .side-nav li.active {
      background-color: #ddd; }
  .side-nav a {
    color: #444;
    display: block;
    font-size: 1rem;
    height: 64px;
    line-height: 64px;
    padding: 0 15px; }

.drag-target {
  height: 100%;
  width: 10px;
  position: fixed;
  top: 0;
  z-index: 998; }

.side-nav.fixed a {
  display: block;
  padding: 0 15px;
  color: #444; }

.side-nav.fixed {
  left: 0;
  position: fixed; }
  .side-nav.fixed.right-aligned {
    right: 0;
    left: auto; }

@media only screen and (max-width : 992px) {
  .side-nav.fixed {
    left: -105%; }
    .side-nav.fixed.right-aligned {
      right: -105%;
      left: auto; } }

.side-nav .collapsible-body li.active, .side-nav.fixed .collapsible-body li.active {
  background-color: #ee6e73; }
  .side-nav .collapsible-body li.active a, .side-nav.fixed .collapsible-body li.active a {
    color: #fff; }

#sidenav-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 120vh;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 997;
  will-change: opacity; }

/*
    @license
    Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
    This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
    The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
    The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
    Code distributed by Google as part of the polymer project is also
    subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
 */
/**************************/
/* STYLES FOR THE SPINNER */
/**************************/
/*
 * Constants:
 *      STROKEWIDTH = 3px
 *      ARCSIZE     = 270 degrees (amount of circle the arc takes up)
 *      ARCTIME     = 1333ms (time it takes to expand and contract arc)
 *      ARCSTARTROT = 216 degrees (how much the start location of the arc
 *                                should rotate each time, 216 gives us a
 *                                5 pointed star shape (it's 360/5 * 3).
 *                                For a 7 pointed star, we might do
 *                                360/7 * 3 = 154.286)
 *      CONTAINERWIDTH = 28px
 *      SHRINK_TIME = 400ms
 */
.preloader-wrapper {
  display: inline-block;
  position: relative;
  width: 48px;
  height: 48px; }
  .preloader-wrapper.small {
    width: 36px;
    height: 36px; }
  .preloader-wrapper.big {
    width: 64px;
    height: 64px; }
  .preloader-wrapper.active {
    /* duration: 360 * ARCTIME / (ARCSTARTROT + (360-ARCSIZE)) */
    -webkit-animation: container-rotate 1568ms linear infinite;
    animation: container-rotate 1568ms linear infinite; }

@-webkit-keyframes container-rotate {
  to {
    -webkit-transform: rotate(360deg); } }

@keyframes container-rotate {
  to {
    transform: rotate(360deg); } }

.spinner-layer {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  border-color: #26a69a; }

.spinner-blue, .spinner-blue-only {
  border-color: #4285f4; }

.spinner-red, .spinner-red-only {
  border-color: #db4437; }

.spinner-yellow, .spinner-yellow-only {
  border-color: #f4b400; }

.spinner-green, .spinner-green-only {
  border-color: #0f9d58; }

/**
 * IMPORTANT NOTE ABOUT CSS ANIMATION PROPERTIES (keanulee):
 *
 * iOS Safari (tested on iOS 8.1) does not handle animation-delay very well - it doesn't
 * guarantee that the animation will start _exactly_ after that value. So we avoid using
 * animation-delay and instead set custom keyframes for each color (as redundant as it
 * seems).
 *
 * We write out each animation in full (instead of separating animation-name,
 * animation-duration, etc.) because under the polyfill, Safari does not recognize those
 * specific properties properly, treats them as -webkit-animation, and overrides the
 * other animation rules. See https://github.com/Polymer/platform/issues/53.
 */
.active .spinner-layer.spinner-blue {
  /* durations: 4 * ARCTIME */
  -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, blue-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
  animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, blue-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; }

.active .spinner-layer.spinner-red {
  /* durations: 4 * ARCTIME */
  -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, red-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
  animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, red-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; }

.active .spinner-layer.spinner-yellow {
  /* durations: 4 * ARCTIME */
  -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, yellow-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
  animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, yellow-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; }

.active .spinner-layer.spinner-green {
  /* durations: 4 * ARCTIME */
  -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, green-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
  animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, green-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; }

.active .spinner-layer, .active .spinner-layer.spinner-blue-only, .active .spinner-layer.spinner-red-only, .active .spinner-layer.spinner-yellow-only, .active .spinner-layer.spinner-green-only {
  /* durations: 4 * ARCTIME */
  opacity: 1;
  -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
  animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; }

@-webkit-keyframes fill-unfill-rotate {
  /* 0.5 * ARCSIZE */
  /* 1   * ARCSIZE */
  /* 1.5 * ARCSIZE */
  /* 2   * ARCSIZE */
  /* 2.5 * ARCSIZE */
  /* 3   * ARCSIZE */
  /* 3.5 * ARCSIZE */
  /* 4   * ARCSIZE */
  12.5% {
    -webkit-transform: rotate(135deg); }

  25% {
    -webkit-transform: rotate(270deg); }

  37.5% {
    -webkit-transform: rotate(405deg); }

  50% {
    -webkit-transform: rotate(540deg); }

  62.5% {
    -webkit-transform: rotate(675deg); }

  75% {
    -webkit-transform: rotate(810deg); }

  87.5% {
    -webkit-transform: rotate(945deg); }

  to {
    -webkit-transform: rotate(1080deg); } }

@keyframes fill-unfill-rotate {
  /* 0.5 * ARCSIZE */
  /* 1   * ARCSIZE */
  /* 1.5 * ARCSIZE */
  /* 2   * ARCSIZE */
  /* 2.5 * ARCSIZE */
  /* 3   * ARCSIZE */
  /* 3.5 * ARCSIZE */
  /* 4   * ARCSIZE */
  12.5% {
    transform: rotate(135deg); }

  25% {
    transform: rotate(270deg); }

  37.5% {
    transform: rotate(405deg); }

  50% {
    transform: rotate(540deg); }

  62.5% {
    transform: rotate(675deg); }

  75% {
    transform: rotate(810deg); }

  87.5% {
    transform: rotate(945deg); }

  to {
    transform: rotate(1080deg); } }

@-webkit-keyframes blue-fade-in-out {
  from {
    opacity: 1; }

  25% {
    opacity: 1; }

  26% {
    opacity: 0; }

  89% {
    opacity: 0; }

  90% {
    opacity: 1; }

  100% {
    opacity: 1; } }

@keyframes blue-fade-in-out {
  from {
    opacity: 1; }

  25% {
    opacity: 1; }

  26% {
    opacity: 0; }

  89% {
    opacity: 0; }

  90% {
    opacity: 1; }

  100% {
    opacity: 1; } }

@-webkit-keyframes red-fade-in-out {
  from {
    opacity: 0; }

  15% {
    opacity: 0; }

  25% {
    opacity: 1; }

  50% {
    opacity: 1; }

  51% {
    opacity: 0; } }

@keyframes red-fade-in-out {
  from {
    opacity: 0; }

  15% {
    opacity: 0; }

  25% {
    opacity: 1; }

  50% {
    opacity: 1; }

  51% {
    opacity: 0; } }

@-webkit-keyframes yellow-fade-in-out {
  from {
    opacity: 0; }

  40% {
    opacity: 0; }

  50% {
    opacity: 1; }

  75% {
    opacity: 1; }

  76% {
    opacity: 0; } }

@keyframes yellow-fade-in-out {
  from {
    opacity: 0; }

  40% {
    opacity: 0; }

  50% {
    opacity: 1; }

  75% {
    opacity: 1; }

  76% {
    opacity: 0; } }

@-webkit-keyframes green-fade-in-out {
  from {
    opacity: 0; }

  65% {
    opacity: 0; }

  75% {
    opacity: 1; }

  90% {
    opacity: 1; }

  100% {
    opacity: 0; } }

@keyframes green-fade-in-out {
  from {
    opacity: 0; }

  65% {
    opacity: 0; }

  75% {
    opacity: 1; }

  90% {
    opacity: 1; }

  100% {
    opacity: 0; } }
