body {
  font-family: 'Montserrat', sans-serif !important;
}

/* 
Esta línea corrige el tema de que el SweetAlert2 se queda detrás de los modal al mostrarse al mismo tiempo
*/
.swal2-container {
  z-index: 10000;
}

/* SKELETON */
.skeleton {
  position: relative;
}

.skeleton::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
  background: linear-gradient(90deg, #999, #fff, #999);
  background-size: 200%;
  animation: skeleton 1s infinite reverse;
}

@keyframes skeleton {
  0% {
    background-position: -100% 0;
  }

  100% {
    background-position: 100% 0;
  }
}

/* SKELETON */

.modal-fullscreen {
  width: 100vw;
  max-width: none;
  height: 100%;
  margin: 0;
}
.modal-fullscreen .modal-content {
  height: 100%;
  border: 0;
  border-radius: 0;
}
.modal-fullscreen .modal-footer,
.modal-fullscreen .modal-header {
  border-radius: 0;
}
.modal-fullscreen .modal-body {
  overflow-y: auto;
}
@media (max-width: 575.98px) {
  .modal-fullscreen-sm-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-sm-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-sm-down .modal-footer,
  .modal-fullscreen-sm-down .modal-header {
    border-radius: 0;
  }
  .modal-fullscreen-sm-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 767.98px) {
  .modal-fullscreen-md-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-md-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-md-down .modal-footer,
  .modal-fullscreen-md-down .modal-header {
    border-radius: 0;
  }
  .modal-fullscreen-md-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 991.98px) {
  .modal-fullscreen-lg-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-lg-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-lg-down .modal-footer,
  .modal-fullscreen-lg-down .modal-header {
    border-radius: 0;
  }
  .modal-fullscreen-lg-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 1199.98px) {
  .modal-fullscreen-xl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-xl-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-xl-down .modal-footer,
  .modal-fullscreen-xl-down .modal-header {
    border-radius: 0;
  }
  .modal-fullscreen-xl-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 1399.98px) {
  .modal-fullscreen-xxl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-xxl-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-xxl-down .modal-footer,
  .modal-fullscreen-xxl-down .modal-header {
    border-radius: 0;
  }
  .modal-fullscreen-xxl-down .modal-body {
    overflow-y: auto;
  }
}

/*
ANIMACIONES
*/

@keyframes slideInLeft {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(0);
  }
}
.animado {
  animation: 1s ease-in 0s 1 slideInLeft;
  
}

/*

*/

.purple-gradient {
  background: linear-gradient(45deg, #7873f5, #ff6ec4) !important;
}
.peach-gradient {
  background: linear-gradient(45deg, #fc6262, #ffd86f) !important;
}

.aqua-gradient {
  background: linear-gradient(45deg, #1f8ff1, #07d388) !important;
}

.blue-gradient {
  background: linear-gradient(45deg, #303f9f, #45cafc) !important;
}

.success-gradient {
  background: linear-gradient(45deg, #007e33, #00c851) !important;
}

.purple-gradient-rgba {
  background: linear-gradient(
    40deg,
    rgba(255, 110, 196, 0.9),
    rgba(120, 115, 245, 0.9)
  ) !important;
}
.peach-gradient-rgba {
  background: linear-gradient(
    40deg,
    rgba(255, 216, 111, 0.9),
    rgba(252, 98, 98, 0.9)
  ) !important;
}
.aqua-gradient-rgba {
  background: linear-gradient(
    40deg,
    rgba(32, 150, 255, 0.9),
    rgba(5, 255, 163, 0.9)
  ) !important;
}
.blue-gradient-rgba {
  background: linear-gradient(
    40deg,
    rgba(69, 202, 252, 0.9),
    rgba(48, 63, 159, 0.9)
  ) !important;
}

.btn.purple-gradient {
  color: #fff;
  -webkit-transition: .5s ease;
  transition: .5s ease;
}
.btn.purple-gradient:hover,
.btn.purple-gradient:focus,
.btn.purple-gradient:active,
.btn.purple-gradient:active:focus .btn.purple-gradient.active {
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(#ff88ce),
    to(#8f8bf7)
  );
  background: linear-gradient(#ff88ce, #8f8bf7);
}
.btn.peach-gradient {
  color: #fff;
  -webkit-transition: .5s ease;
  transition: .5s ease;
}
.btn.peach-gradient:hover,
.btn.peach-gradient:focus,
.btn.peach-gradient:active,
.btn.peach-gradient:active:focus .btn.peach-gradient.active {
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(#ffdf89),
    to(#fc7b7b)
  );
  background: linear-gradient(#ffdf89, #fc7b7b);
}
.btn.aqua-gradient {
  color: #fff;
  -webkit-transition: .5s ease;
  transition: .5s ease;
}
.btn.aqua-gradient:hover,
.btn.aqua-gradient:focus,
.btn.aqua-gradient:active,
.btn.aqua-gradient:active:focus .btn.aqua-gradient.active {
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(#3aa2ff),
    to(#1fffac)
  );
  background: linear-gradient(#3aa2ff, #1fffac);
}
.btn.blue-gradient {
  color: #fff;
  -webkit-transition: .5s ease;
  transition: .5s ease;
}
.btn.blue-gradient:hover,
.btn.blue-gradient:focus,
.btn.blue-gradient:active,
.btn.blue-gradient:active:focus .btn.blue-gradient.active {
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(#5ed1fc),
    to(#3647b3)
  );
  background: linear-gradient(#5ed1fc, #3647b3);
}

/*MDBootstrap*/

.md-form {
  position: relative;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}

.md-form input:not([type]),
.md-form input[type="text"]:not(.browser-default),
.md-form input[type="password"]:not(.browser-default),
.md-form input[type="email"]:not(.browser-default),
.md-form input[type="url"]:not(.browser-default),
.md-form input[type="time"]:not(.browser-default),
.md-form input[type="date"]:not(.browser-default),
.md-form input[type="datetime"]:not(.browser-default),
.md-form input[type="datetime-local"]:not(.browser-default),
.md-form input[type="tel"]:not(.browser-default),
.md-form input[type="number"]:not(.browser-default),
.md-form input[type="search"]:not(.browser-default),
.md-form input[type="phone"]:not(.browser-default),
.md-form input[type="search-md"],
.md-form textarea.md-textarea {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  background-color: transparent;
  border: none;
  border-bottom: 1px solid #ced4da;
  border-radius: 0;
  outline: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-transition: border-color 0.15s ease-in-out,
    -webkit-box-shadow 0.15s ease-in-out;
  transition: border-color 0.15s ease-in-out,
    -webkit-box-shadow 0.15s ease-in-out;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out,
    -webkit-box-shadow 0.15s ease-in-out;
}

.md-form input:not([type]):focus:not([readonly]),
.md-form input[type="text"]:not(.browser-default):focus:not([readonly]),
.md-form input[type="password"]:not(.browser-default):focus:not([readonly]),
.md-form input[type="email"]:not(.browser-default):focus:not([readonly]),
.md-form input[type="url"]:not(.browser-default):focus:not([readonly]),
.md-form input[type="time"]:not(.browser-default):focus:not([readonly]),
.md-form input[type="date"]:not(.browser-default):focus:not([readonly]),
.md-form input[type="datetime"]:not(.browser-default):focus:not([readonly]),
.md-form input[type="datetime-local"]:not(.browser-default):focus:not([readonly]),
.md-form input[type="tel"]:not(.browser-default):focus:not([readonly]),
.md-form input[type="number"]:not(.browser-default):focus:not([readonly]),
.md-form input[type="search"]:not(.browser-default):focus:not([readonly]),
.md-form input[type="phone"]:not(.browser-default):focus:not([readonly]),
.md-form input[type="search-md"]:focus:not([readonly]),
.md-form textarea.md-textarea:focus:not([readonly]) {
  border-bottom: 1px solid #4285f4;
  -webkit-box-shadow: 0 1px 0 0 #4285f4;
  box-shadow: 0 1px 0 0 #4285f4;
}

.md-form input:not([type]):focus:not([readonly]) + label,
.md-form input[type="text"]:not(.browser-default):focus:not([readonly]) + label,
.md-form input[type="password"]:not(.browser-default):focus:not([readonly])
  + label,
.md-form input[type="email"]:not(.browser-default):focus:not([readonly])
  + label,
.md-form input[type="url"]:not(.browser-default):focus:not([readonly]) + label,
.md-form input[type="time"]:not(.browser-default):focus:not([readonly]) + label,
.md-form input[type="date"]:not(.browser-default):focus:not([readonly]) + label,
.md-form input[type="datetime"]:not(.browser-default):focus:not([readonly])
  + label,
.md-form input[type="datetime-local"]:not(.browser-default):focus:not([readonly])
  + label,
.md-form input[type="tel"]:not(.browser-default):focus:not([readonly]) + label,
.md-form input[type="number"]:not(.browser-default):focus:not([readonly])
  + label,
.md-form input[type="search"]:not(.browser-default):focus:not([readonly])
  + label,
.md-form input[type="phone"]:not(.browser-default):focus:not([readonly])
  + label,
.md-form input[type="search-md"]:focus:not([readonly]) + label,
.md-form textarea.md-textarea:focus:not([readonly]) + label {
  color: #4285f4;
}

.md-form input:not([type]) + label::after,
.md-form input[type="text"]:not(.browser-default) + label::after,
.md-form input[type="password"]:not(.browser-default) + label::after,
.md-form input[type="email"]:not(.browser-default) + label::after,
.md-form input[type="url"]:not(.browser-default) + label::after,
.md-form input[type="time"]:not(.browser-default) + label::after,
.md-form input[type="date"]:not(.browser-default) + label::after,
.md-form input[type="datetime"]:not(.browser-default) + label::after,
.md-form input[type="datetime-local"]:not(.browser-default) + label::after,
.md-form input[type="tel"]:not(.browser-default) + label::after,
.md-form input[type="number"]:not(.browser-default) + label::after,
.md-form input[type="search"]:not(.browser-default) + label::after,
.md-form input[type="phone"]:not(.browser-default) + label::after,
.md-form input[type="search-md"] + label::after,
.md-form textarea.md-textarea + label::after {
  position: absolute;
  top: 65px;
  display: block;
  content: "";
  opacity: 0;
  -webkit-transition: 0.2s opacity ease-out, 0.2s color ease-out;
  transition: 0.2s opacity ease-out, 0.2s color ease-out;
}

.md-form input:not([type]).valid,
.md-form input:not([type]):focus.valid,
.md-form input[type="text"]:not(.browser-default).valid,
.md-form input[type="text"]:not(.browser-default):focus.valid,
.md-form input[type="password"]:not(.browser-default).valid,
.md-form input[type="password"]:not(.browser-default):focus.valid,
.md-form input[type="email"]:not(.browser-default).valid,
.md-form input[type="email"]:not(.browser-default):focus.valid,
.md-form input[type="url"]:not(.browser-default).valid,
.md-form input[type="url"]:not(.browser-default):focus.valid,
.md-form input[type="time"]:not(.browser-default).valid,
.md-form input[type="time"]:not(.browser-default):focus.valid,
.md-form input[type="date"]:not(.browser-default).valid,
.md-form input[type="date"]:not(.browser-default):focus.valid,
.md-form input[type="datetime"]:not(.browser-default).valid,
.md-form input[type="datetime"]:not(.browser-default):focus.valid,
.md-form input[type="datetime-local"]:not(.browser-default).valid,
.md-form input[type="datetime-local"]:not(.browser-default):focus.valid,
.md-form input[type="tel"]:not(.browser-default).valid,
.md-form input[type="tel"]:not(.browser-default):focus.valid,
.md-form input[type="number"]:not(.browser-default).valid,
.md-form input[type="number"]:not(.browser-default):focus.valid,
.md-form input[type="search"]:not(.browser-default).valid,
.md-form input[type="search"]:not(.browser-default):focus.valid,
.md-form input[type="phone"]:not(.browser-default).valid,
.md-form input[type="phone"]:not(.browser-default):focus.valid,
.md-form input[type="search-md"].valid,
.md-form input[type="search-md"]:focus.valid,
.md-form textarea.md-textarea.valid,
.md-form textarea.md-textarea:focus.valid {
  border-bottom: 1px solid #00c851;
  -webkit-box-shadow: 0 1px 0 0 #00c851;
  box-shadow: 0 1px 0 0 #00c851;
}

.md-form input:not([type]).valid + label:after,
.md-form input:not([type]):focus.valid + label:after,
.md-form input[type="text"]:not(.browser-default).valid + label:after,
.md-form input[type="text"]:not(.browser-default):focus.valid + label:after,
.md-form input[type="password"]:not(.browser-default).valid + label:after,
.md-form input[type="password"]:not(.browser-default):focus.valid + label:after,
.md-form input[type="email"]:not(.browser-default).valid + label:after,
.md-form input[type="email"]:not(.browser-default):focus.valid + label:after,
.md-form input[type="url"]:not(.browser-default).valid + label:after,
.md-form input[type="url"]:not(.browser-default):focus.valid + label:after,
.md-form input[type="time"]:not(.browser-default).valid + label:after,
.md-form input[type="time"]:not(.browser-default):focus.valid + label:after,
.md-form input[type="date"]:not(.browser-default).valid + label:after,
.md-form input[type="date"]:not(.browser-default):focus.valid + label:after,
.md-form input[type="datetime"]:not(.browser-default).valid + label:after,
.md-form input[type="datetime"]:not(.browser-default):focus.valid + label:after,
.md-form input[type="datetime-local"]:not(.browser-default).valid + label:after,
.md-form input[type="datetime-local"]:not(.browser-default):focus.valid
  + label:after,
.md-form input[type="tel"]:not(.browser-default).valid + label:after,
.md-form input[type="tel"]:not(.browser-default):focus.valid + label:after,
.md-form input[type="number"]:not(.browser-default).valid + label:after,
.md-form input[type="number"]:not(.browser-default):focus.valid + label:after,
.md-form input[type="search"]:not(.browser-default).valid + label:after,
.md-form input[type="search"]:not(.browser-default):focus.valid + label:after,
.md-form input[type="phone"]:not(.browser-default).valid + label:after,
.md-form input[type="phone"]:not(.browser-default):focus.valid + label:after,
.md-form input[type="search-md"].valid + label:after,
.md-form input[type="search-md"]:focus.valid + label:after,
.md-form textarea.md-textarea.valid + label:after,
.md-form textarea.md-textarea:focus.valid + label:after {
  color: #00c851;
  content: attr(data-success);
  opacity: 1;
}

.md-form input:not([type]).invalid,
.md-form input:not([type]):focus.invalid,
.md-form input[type="text"]:not(.browser-default).invalid,
.md-form input[type="text"]:not(.browser-default):focus.invalid,
.md-form input[type="password"]:not(.browser-default).invalid,
.md-form input[type="password"]:not(.browser-default):focus.invalid,
.md-form input[type="email"]:not(.browser-default).invalid,
.md-form input[type="email"]:not(.browser-default):focus.invalid,
.md-form input[type="url"]:not(.browser-default).invalid,
.md-form input[type="url"]:not(.browser-default):focus.invalid,
.md-form input[type="time"]:not(.browser-default).invalid,
.md-form input[type="time"]:not(.browser-default):focus.invalid,
.md-form input[type="date"]:not(.browser-default).invalid,
.md-form input[type="date"]:not(.browser-default):focus.invalid,
.md-form input[type="datetime"]:not(.browser-default).invalid,
.md-form input[type="datetime"]:not(.browser-default):focus.invalid,
.md-form input[type="datetime-local"]:not(.browser-default).invalid,
.md-form input[type="datetime-local"]:not(.browser-default):focus.invalid,
.md-form input[type="tel"]:not(.browser-default).invalid,
.md-form input[type="tel"]:not(.browser-default):focus.invalid,
.md-form input[type="number"]:not(.browser-default).invalid,
.md-form input[type="number"]:not(.browser-default):focus.invalid,
.md-form input[type="search"]:not(.browser-default).invalid,
.md-form input[type="search"]:not(.browser-default):focus.invalid,
.md-form input[type="phone"]:not(.browser-default).invalid,
.md-form input[type="phone"]:not(.browser-default):focus.invalid,
.md-form input[type="search-md"].invalid,
.md-form input[type="search-md"]:focus.invalid,
.md-form textarea.md-textarea.invalid,
.md-form textarea.md-textarea:focus.invalid {
  border-bottom: 1px solid #f44336;
  -webkit-box-shadow: 0 1px 0 0 #f44336;
  box-shadow: 0 1px 0 0 #f44336;
}

.md-form input:not([type]).invalid + label:after,
.md-form input:not([type]):focus.invalid + label:after,
.md-form input[type="text"]:not(.browser-default).invalid + label:after,
.md-form input[type="text"]:not(.browser-default):focus.invalid + label:after,
.md-form input[type="password"]:not(.browser-default).invalid + label:after,
.md-form input[type="password"]:not(.browser-default):focus.invalid
  + label:after,
.md-form input[type="email"]:not(.browser-default).invalid + label:after,
.md-form input[type="email"]:not(.browser-default):focus.invalid + label:after,
.md-form input[type="url"]:not(.browser-default).invalid + label:after,
.md-form input[type="url"]:not(.browser-default):focus.invalid + label:after,
.md-form input[type="time"]:not(.browser-default).invalid + label:after,
.md-form input[type="time"]:not(.browser-default):focus.invalid + label:after,
.md-form input[type="date"]:not(.browser-default).invalid + label:after,
.md-form input[type="date"]:not(.browser-default):focus.invalid + label:after,
.md-form input[type="datetime"]:not(.browser-default).invalid + label:after,
.md-form input[type="datetime"]:not(.browser-default):focus.invalid
  + label:after,
.md-form input[type="datetime-local"]:not(.browser-default).invalid
  + label:after,
.md-form input[type="datetime-local"]:not(.browser-default):focus.invalid
  + label:after,
.md-form input[type="tel"]:not(.browser-default).invalid + label:after,
.md-form input[type="tel"]:not(.browser-default):focus.invalid + label:after,
.md-form input[type="number"]:not(.browser-default).invalid + label:after,
.md-form input[type="number"]:not(.browser-default):focus.invalid + label:after,
.md-form input[type="search"]:not(.browser-default).invalid + label:after,
.md-form input[type="search"]:not(.browser-default):focus.invalid + label:after,
.md-form input[type="phone"]:not(.browser-default).invalid + label:after,
.md-form input[type="phone"]:not(.browser-default):focus.invalid + label:after,
.md-form input[type="search-md"].invalid + label:after,
.md-form input[type="search-md"]:focus.invalid + label:after,
.md-form textarea.md-textarea.invalid + label:after,
.md-form textarea.md-textarea:focus.invalid + label:after {
  color: #f44336;
  content: attr(data-error);
  opacity: 1;
}

.md-form input:not([type]).form-control.valid + label:after,
.md-form input:not([type]).form-control:focus.valid + label:after,
.md-form input[type="text"]:not(.browser-default).form-control.valid
  + label:after,
.md-form input[type="text"]:not(.browser-default).form-control:focus.valid
  + label:after,
.md-form input[type="password"]:not(.browser-default).form-control.valid
  + label:after,
.md-form input[type="password"]:not(.browser-default).form-control:focus.valid
  + label:after,
.md-form input[type="email"]:not(.browser-default).form-control.valid
  + label:after,
.md-form input[type="email"]:not(.browser-default).form-control:focus.valid
  + label:after,
.md-form input[type="url"]:not(.browser-default).form-control.valid
  + label:after,
.md-form input[type="url"]:not(.browser-default).form-control:focus.valid
  + label:after,
.md-form input[type="time"]:not(.browser-default).form-control.valid
  + label:after,
.md-form input[type="time"]:not(.browser-default).form-control:focus.valid
  + label:after,
.md-form input[type="date"]:not(.browser-default).form-control.valid
  + label:after,
.md-form input[type="date"]:not(.browser-default).form-control:focus.valid
  + label:after,
.md-form input[type="datetime"]:not(.browser-default).form-control.valid
  + label:after,
.md-form input[type="datetime"]:not(.browser-default).form-control:focus.valid
  + label:after,
.md-form input[type="datetime-local"]:not(.browser-default).form-control.valid
  + label:after,
.md-form input[type="datetime-local"]:not(.browser-default).form-control:focus.valid
  + label:after,
.md-form input[type="tel"]:not(.browser-default).form-control.valid
  + label:after,
.md-form input[type="tel"]:not(.browser-default).form-control:focus.valid
  + label:after,
.md-form input[type="number"]:not(.browser-default).form-control.valid
  + label:after,
.md-form input[type="number"]:not(.browser-default).form-control:focus.valid
  + label:after,
.md-form input[type="search"]:not(.browser-default).form-control.valid
  + label:after,
.md-form input[type="search"]:not(.browser-default).form-control:focus.valid
  + label:after,
.md-form input[type="phone"]:not(.browser-default).form-control.valid
  + label:after,
.md-form input[type="phone"]:not(.browser-default).form-control:focus.valid
  + label:after,
.md-form input[type="search-md"].form-control.valid + label:after,
.md-form input[type="search-md"].form-control:focus.valid + label:after,
.md-form textarea.md-textarea.form-control.valid + label:after,
.md-form textarea.md-textarea.form-control:focus.valid + label:after {
  top: 4.1rem;
}

.md-form input:not([type]).form-control.invalid + label:after,
.md-form input:not([type]).form-control:focus.invalid + label:after,
.md-form input[type="text"]:not(.browser-default).form-control.invalid
  + label:after,
.md-form input[type="text"]:not(.browser-default).form-control:focus.invalid
  + label:after,
.md-form input[type="password"]:not(.browser-default).form-control.invalid
  + label:after,
.md-form input[type="password"]:not(.browser-default).form-control:focus.invalid
  + label:after,
.md-form input[type="email"]:not(.browser-default).form-control.invalid
  + label:after,
.md-form input[type="email"]:not(.browser-default).form-control:focus.invalid
  + label:after,
.md-form input[type="url"]:not(.browser-default).form-control.invalid
  + label:after,
.md-form input[type="url"]:not(.browser-default).form-control:focus.invalid
  + label:after,
.md-form input[type="time"]:not(.browser-default).form-control.invalid
  + label:after,
.md-form input[type="time"]:not(.browser-default).form-control:focus.invalid
  + label:after,
.md-form input[type="date"]:not(.browser-default).form-control.invalid
  + label:after,
.md-form input[type="date"]:not(.browser-default).form-control:focus.invalid
  + label:after,
.md-form input[type="datetime"]:not(.browser-default).form-control.invalid
  + label:after,
.md-form input[type="datetime"]:not(.browser-default).form-control:focus.invalid
  + label:after,
.md-form input[type="datetime-local"]:not(.browser-default).form-control.invalid
  + label:after,
.md-form input[type="datetime-local"]:not(.browser-default).form-control:focus.invalid
  + label:after,
.md-form input[type="tel"]:not(.browser-default).form-control.invalid
  + label:after,
.md-form input[type="tel"]:not(.browser-default).form-control:focus.invalid
  + label:after,
.md-form input[type="number"]:not(.browser-default).form-control.invalid
  + label:after,
.md-form input[type="number"]:not(.browser-default).form-control:focus.invalid
  + label:after,
.md-form input[type="search"]:not(.browser-default).form-control.invalid
  + label:after,
.md-form input[type="search"]:not(.browser-default).form-control:focus.invalid
  + label:after,
.md-form input[type="phone"]:not(.browser-default).form-control.invalid
  + label:after,
.md-form input[type="phone"]:not(.browser-default).form-control:focus.invalid
  + label:after,
.md-form input[type="search-md"].form-control.invalid + label:after,
.md-form input[type="search-md"].form-control:focus.invalid + label:after,
.md-form textarea.md-textarea.form-control.invalid + label:after,
.md-form textarea.md-textarea.form-control:focus.invalid + label:after {
  top: 4rem;
}

.md-form input:not([type]).form-control-lg.valid + label:after,
.md-form input:not([type]).form-control-lg:focus.valid + label:after,
.md-form input[type="text"]:not(.browser-default).form-control-lg.valid
  + label:after,
.md-form input[type="text"]:not(.browser-default).form-control-lg:focus.valid
  + label:after,
.md-form input[type="password"]:not(.browser-default).form-control-lg.valid
  + label:after,
.md-form input[type="password"]:not(.browser-default).form-control-lg:focus.valid
  + label:after,
.md-form input[type="email"]:not(.browser-default).form-control-lg.valid
  + label:after,
.md-form input[type="email"]:not(.browser-default).form-control-lg:focus.valid
  + label:after,
.md-form input[type="url"]:not(.browser-default).form-control-lg.valid
  + label:after,
.md-form input[type="url"]:not(.browser-default).form-control-lg:focus.valid
  + label:after,
.md-form input[type="time"]:not(.browser-default).form-control-lg.valid
  + label:after,
.md-form input[type="time"]:not(.browser-default).form-control-lg:focus.valid
  + label:after,
.md-form input[type="date"]:not(.browser-default).form-control-lg.valid
  + label:after,
.md-form input[type="date"]:not(.browser-default).form-control-lg:focus.valid
  + label:after,
.md-form input[type="datetime"]:not(.browser-default).form-control-lg.valid
  + label:after,
.md-form input[type="datetime"]:not(.browser-default).form-control-lg:focus.valid
  + label:after,
.md-form input[type="datetime-local"]:not(.browser-default).form-control-lg.valid
  + label:after,
.md-form input[type="datetime-local"]:not(.browser-default).form-control-lg:focus.valid
  + label:after,
.md-form input[type="tel"]:not(.browser-default).form-control-lg.valid
  + label:after,
.md-form input[type="tel"]:not(.browser-default).form-control-lg:focus.valid
  + label:after,
.md-form input[type="number"]:not(.browser-default).form-control-lg.valid
  + label:after,
.md-form input[type="number"]:not(.browser-default).form-control-lg:focus.valid
  + label:after,
.md-form input[type="search"]:not(.browser-default).form-control-lg.valid
  + label:after,
.md-form input[type="search"]:not(.browser-default).form-control-lg:focus.valid
  + label:after,
.md-form input[type="phone"]:not(.browser-default).form-control-lg.valid
  + label:after,
.md-form input[type="phone"]:not(.browser-default).form-control-lg:focus.valid
  + label:after,
.md-form input[type="search-md"].form-control-lg.valid + label:after,
.md-form input[type="search-md"].form-control-lg:focus.valid + label:after,
.md-form textarea.md-textarea.form-control-lg.valid + label:after,
.md-form textarea.md-textarea.form-control-lg:focus.valid + label:after {
  top: 4.6rem;
}

.md-form input:not([type]).form-control-lg.invalid + label:after,
.md-form input:not([type]).form-control-lg:focus.invalid + label:after,
.md-form input[type="text"]:not(.browser-default).form-control-lg.invalid
  + label:after,
.md-form input[type="text"]:not(.browser-default).form-control-lg:focus.invalid
  + label:after,
.md-form input[type="password"]:not(.browser-default).form-control-lg.invalid
  + label:after,
.md-form input[type="password"]:not(.browser-default).form-control-lg:focus.invalid
  + label:after,
.md-form input[type="email"]:not(.browser-default).form-control-lg.invalid
  + label:after,
.md-form input[type="email"]:not(.browser-default).form-control-lg:focus.invalid
  + label:after,
.md-form input[type="url"]:not(.browser-default).form-control-lg.invalid
  + label:after,
.md-form input[type="url"]:not(.browser-default).form-control-lg:focus.invalid
  + label:after,
.md-form input[type="time"]:not(.browser-default).form-control-lg.invalid
  + label:after,
.md-form input[type="time"]:not(.browser-default).form-control-lg:focus.invalid
  + label:after,
.md-form input[type="date"]:not(.browser-default).form-control-lg.invalid
  + label:after,
.md-form input[type="date"]:not(.browser-default).form-control-lg:focus.invalid
  + label:after,
.md-form input[type="datetime"]:not(.browser-default).form-control-lg.invalid
  + label:after,
.md-form input[type="datetime"]:not(.browser-default).form-control-lg:focus.invalid
  + label:after,
.md-form input[type="datetime-local"]:not(.browser-default).form-control-lg.invalid
  + label:after,
.md-form input[type="datetime-local"]:not(.browser-default).form-control-lg:focus.invalid
  + label:after,
.md-form input[type="tel"]:not(.browser-default).form-control-lg.invalid
  + label:after,
.md-form input[type="tel"]:not(.browser-default).form-control-lg:focus.invalid
  + label:after,
.md-form input[type="number"]:not(.browser-default).form-control-lg.invalid
  + label:after,
.md-form input[type="number"]:not(.browser-default).form-control-lg:focus.invalid
  + label:after,
.md-form input[type="search"]:not(.browser-default).form-control-lg.invalid
  + label:after,
.md-form input[type="search"]:not(.browser-default).form-control-lg:focus.invalid
  + label:after,
.md-form input[type="phone"]:not(.browser-default).form-control-lg.invalid
  + label:after,
.md-form input[type="phone"]:not(.browser-default).form-control-lg:focus.invalid
  + label:after,
.md-form input[type="search-md"].form-control-lg.invalid + label:after,
.md-form input[type="search-md"].form-control-lg:focus.invalid + label:after,
.md-form textarea.md-textarea.form-control-lg.invalid + label:after,
.md-form textarea.md-textarea.form-control-lg:focus.invalid + label:after {
  top: 4.6rem;
}

.md-form input:not([type]).form-control-sm.valid + label:after,
.md-form input:not([type]).form-control-sm:focus.valid + label:after,
.md-form input[type="text"]:not(.browser-default).form-control-sm.valid
  + label:after,
.md-form input[type="text"]:not(.browser-default).form-control-sm:focus.valid
  + label:after,
.md-form input[type="password"]:not(.browser-default).form-control-sm.valid
  + label:after,
.md-form input[type="password"]:not(.browser-default).form-control-sm:focus.valid
  + label:after,
.md-form input[type="email"]:not(.browser-default).form-control-sm.valid
  + label:after,
.md-form input[type="email"]:not(.browser-default).form-control-sm:focus.valid
  + label:after,
.md-form input[type="url"]:not(.browser-default).form-control-sm.valid
  + label:after,
.md-form input[type="url"]:not(.browser-default).form-control-sm:focus.valid
  + label:after,
.md-form input[type="time"]:not(.browser-default).form-control-sm.valid
  + label:after,
.md-form input[type="time"]:not(.browser-default).form-control-sm:focus.valid
  + label:after,
.md-form input[type="date"]:not(.browser-default).form-control-sm.valid
  + label:after,
.md-form input[type="date"]:not(.browser-default).form-control-sm:focus.valid
  + label:after,
.md-form input[type="datetime"]:not(.browser-default).form-control-sm.valid
  + label:after,
.md-form input[type="datetime"]:not(.browser-default).form-control-sm:focus.valid
  + label:after,
.md-form input[type="datetime-local"]:not(.browser-default).form-control-sm.valid
  + label:after,
.md-form input[type="datetime-local"]:not(.browser-default).form-control-sm:focus.valid
  + label:after,
.md-form input[type="tel"]:not(.browser-default).form-control-sm.valid
  + label:after,
.md-form input[type="tel"]:not(.browser-default).form-control-sm:focus.valid
  + label:after,
.md-form input[type="number"]:not(.browser-default).form-control-sm.valid
  + label:after,
.md-form input[type="number"]:not(.browser-default).form-control-sm:focus.valid
  + label:after,
.md-form input[type="search"]:not(.browser-default).form-control-sm.valid
  + label:after,
.md-form input[type="search"]:not(.browser-default).form-control-sm:focus.valid
  + label:after,
.md-form input[type="phone"]:not(.browser-default).form-control-sm.valid
  + label:after,
.md-form input[type="phone"]:not(.browser-default).form-control-sm:focus.valid
  + label:after,
.md-form input[type="search-md"].form-control-sm.valid + label:after,
.md-form input[type="search-md"].form-control-sm:focus.valid + label:after,
.md-form textarea.md-textarea.form-control-sm.valid + label:after,
.md-form textarea.md-textarea.form-control-sm:focus.valid + label:after {
  top: 3.7rem;
}

.md-form input:not([type]).form-control-sm.invalid + label:after,
.md-form input:not([type]).form-control-sm:focus.invalid + label:after,
.md-form input[type="text"]:not(.browser-default).form-control-sm.invalid
  + label:after,
.md-form input[type="text"]:not(.browser-default).form-control-sm:focus.invalid
  + label:after,
.md-form input[type="password"]:not(.browser-default).form-control-sm.invalid
  + label:after,
.md-form input[type="password"]:not(.browser-default).form-control-sm:focus.invalid
  + label:after,
.md-form input[type="email"]:not(.browser-default).form-control-sm.invalid
  + label:after,
.md-form input[type="email"]:not(.browser-default).form-control-sm:focus.invalid
  + label:after,
.md-form input[type="url"]:not(.browser-default).form-control-sm.invalid
  + label:after,
.md-form input[type="url"]:not(.browser-default).form-control-sm:focus.invalid
  + label:after,
.md-form input[type="time"]:not(.browser-default).form-control-sm.invalid
  + label:after,
.md-form input[type="time"]:not(.browser-default).form-control-sm:focus.invalid
  + label:after,
.md-form input[type="date"]:not(.browser-default).form-control-sm.invalid
  + label:after,
.md-form input[type="date"]:not(.browser-default).form-control-sm:focus.invalid
  + label:after,
.md-form input[type="datetime"]:not(.browser-default).form-control-sm.invalid
  + label:after,
.md-form input[type="datetime"]:not(.browser-default).form-control-sm:focus.invalid
  + label:after,
.md-form input[type="datetime-local"]:not(.browser-default).form-control-sm.invalid
  + label:after,
.md-form input[type="datetime-local"]:not(.browser-default).form-control-sm:focus.invalid
  + label:after,
.md-form input[type="tel"]:not(.browser-default).form-control-sm.invalid
  + label:after,
.md-form input[type="tel"]:not(.browser-default).form-control-sm:focus.invalid
  + label:after,
.md-form input[type="number"]:not(.browser-default).form-control-sm.invalid
  + label:after,
.md-form input[type="number"]:not(.browser-default).form-control-sm:focus.invalid
  + label:after,
.md-form input[type="search"]:not(.browser-default).form-control-sm.invalid
  + label:after,
.md-form input[type="search"]:not(.browser-default).form-control-sm:focus.invalid
  + label:after,
.md-form input[type="phone"]:not(.browser-default).form-control-sm.invalid
  + label:after,
.md-form input[type="phone"]:not(.browser-default).form-control-sm:focus.invalid
  + label:after,
.md-form input[type="search-md"].form-control-sm.invalid + label:after,
.md-form input[type="search-md"].form-control-sm:focus.invalid + label:after,
.md-form textarea.md-textarea.form-control-sm.invalid + label:after,
.md-form textarea.md-textarea.form-control-sm:focus.invalid + label:after {
  top: 3.6rem;
}

.md-form > input[type="date"]:not(.browser-default) {
  color: transparent;
}

.md-form > input[type="date"]:not(.browser-default) + label {
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
}

.md-form
  > input[type]:-webkit-autofill:not(.browser-default):not([type="search"])
  + label,
.md-form > input[type="time"]:not(.browser-default) + label {
  font-size: .8rem;
  -webkit-transform: translateY(-25px);
  transform: translateY(-25px);
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
}

.md-form .was-validated input[type="text"]:valid + label {
  color: #00c851 !important;
}

.md-form .was-validated input[type="text"]:invalid + label {
  color: #f44336 !important;
}

.md-form .was-validated .form-control:valid:focus {
  -webkit-box-shadow: 0 1px 0 0 #00c851 !important;
  box-shadow: 0 1px 0 0 #00c851 !important;
}

.md-form .was-validated .form-control:valid {
  border-color: #00c851 !important;
}

.md-form .was-validated .form-control:invalid:focus {
  -webkit-box-shadow: 0 1px 0 0 #f44336 !important;
  box-shadow: 0 1px 0 0 #f44336 !important;
}

.md-form .was-validated .form-control:invalid {
  border-color: #f44336 !important;
}

.md-form .form-control {
  height: auto;
  padding: .6rem 0 .4rem 0;
  margin: 0 0 .5rem 0;
  background-color: transparent;
  border-radius: 0;
}

.md-form .form-control:focus {
  -webkit-box-shadow: none;
  box-shadow: none;
}

.md-form .form-control:disabled,
.md-form .form-control[readonly] {
  background-color: transparent;
  border-bottom: 1px solid #bdbdbd;
}

.md-form .form-control.is-valid {
  border-color: #00c851;
}

.md-form .form-control.is-valid:focus {
  border-color: #00c851 !important;
  -webkit-box-shadow: 0 1px 0 0 #00c851 !important;
  box-shadow: 0 1px 0 0 #00c851 !important;
}

.md-form .form-control.is-invalid {
  border-color: #f44336;
}

.md-form .form-control.is-invalid:focus {
  border-color: #f44336 !important;
  -webkit-box-shadow: 0 1px 0 0 #f44336 !important;
  box-shadow: 0 1px 0 0 #f44336 !important;
}

.md-form .form-control.is-valid,
.md-form .form-control.is-invalid {
  background-position: center right !important;
}

.md-form .validate {
  margin-bottom: 2.5rem;
}

.md-form label {
  font-size: 1rem;
}

.md-form label.active {
  font-size: 1rem;
}

.md-form .prefix {
  top: .25rem;
  font-size: 1.75rem;
}

.md-form .prefix ~ input,
.md-form .prefix ~ textarea {
  width: calc(100% - 2.5rem);
  margin-left: 2.5rem;
}

.md-form .prefix ~ label {
  margin-left: 2.5rem;
}

.md-form .prefix ~ .form-text {
  margin-left: 2.6rem;
}

.md-form label {
  position: absolute;
  top: 0;
  left: 0;
  font-size: 1rem;
  color: #757575;
  cursor: text;
  -webkit-transition: color .2s ease-out, -webkit-transform .2s ease-out;
  transition: color .2s ease-out, -webkit-transform .2s ease-out;
  transition: transform .2s ease-out, color .2s ease-out;
  transition: transform .2s ease-out, color .2s ease-out,
    -webkit-transform .2s ease-out;
  -webkit-transform: translateY(12px);
  transform: translateY(12px);
  -webkit-transform-origin: 0% 100%;
  transform-origin: 0% 100%;
}

.md-form label.active {
  -webkit-transform: translateY(-14px) scale(0.8);
  transform: translateY(-14px) scale(0.8);
}

.md-form .prefix {
  position: absolute;
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
}

.md-form .prefix.active {
  color: #4285f4;
}

.md-form.form-lg .validate {
  margin-bottom: 2.8rem;
}

.md-form.form-lg label {
  font-size: 1.25rem;
}

.md-form.form-lg label.active {
  font-size: 1.15rem;
}

.md-form.form-lg .prefix {
  top: .4rem;
  font-size: 2rem;
}

.md-form.form-lg .prefix ~ input,
.md-form.form-lg .prefix ~ textarea {
  width: calc(100% - 3rem);
  margin-left: 3rem;
}

.md-form.form-lg .prefix ~ label {
  margin-left: 3rem;
}

.md-form.form-lg .prefix ~ .form-text {
  margin-left: 3.1rem;
}

.md-form.form-sm .validate {
  margin-bottom: 2.3rem;
}

.md-form.form-sm label {
  font-size: .875rem;
}

.md-form.form-sm label.active {
  font-size: .95rem;
}

.md-form.form-sm .prefix {
  top: .35rem;
  font-size: 1.5rem;
}

.md-form.form-sm .prefix ~ input,
.md-form.form-sm .prefix ~ textarea {
  width: calc(100% - 2rem);
  margin-left: 2rem;
}

.md-form.form-sm .prefix ~ label {
  margin-left: 2rem;
}

.md-form.form-sm .prefix ~ .form-text {
  margin-left: 2rem;
}

.md-form textarea.md-textarea {
  padding: 0;
  overflow-y: hidden;
}

.md-form textarea.md-textarea + label {
  top: -0.6rem;
}

.md-form textarea.md-textarea-auto {
  padding: 0;
  padding-top: 1.5rem;
}

.md-form textarea.md-textarea-auto + label {
  top: 0;
}

.md-form.md-outline {
  position: relative;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}

.md-form.md-outline input[type="text"],
.md-form.md-outline input[type="password"],
.md-form.md-outline input[type="email"],
.md-form.md-outline input[type="url"],
.md-form.md-outline input[type="time"],
.md-form.md-outline input[type="date"],
.md-form.md-outline input[type="datetime-local"],
.md-form.md-outline input[type="tel"],
.md-form.md-outline input[type="number"],
.md-form.md-outline input[type="search-md"],
.md-form.md-outline input[type="search"],
.md-form.md-outline textarea.md-textarea {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background-color: transparent;
  border: 1px solid #dadce0;
  border-radius: 4px;
  outline: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.md-form.md-outline input[type="text"]:focus:not([readonly]),
.md-form.md-outline input[type="password"]:focus:not([readonly]),
.md-form.md-outline input[type="email"]:focus:not([readonly]),
.md-form.md-outline input[type="url"]:focus:not([readonly]),
.md-form.md-outline input[type="time"]:focus:not([readonly]),
.md-form.md-outline input[type="date"]:focus:not([readonly]),
.md-form.md-outline input[type="datetime-local"]:focus:not([readonly]),
.md-form.md-outline input[type="tel"]:focus:not([readonly]),
.md-form.md-outline input[type="number"]:focus:not([readonly]),
.md-form.md-outline input[type="search-md"]:focus:not([readonly]),
.md-form.md-outline input[type="search"]:focus:not([readonly]),
.md-form.md-outline textarea.md-textarea:focus:not([readonly]) {
  border-color: #4285f4;
  -webkit-box-shadow: inset 0 0 0 1px #4285f4;
  box-shadow: inset 0 0 0 1px #4285f4;
}

.md-form.md-outline input[type="text"]:focus:not([readonly]) + label,
.md-form.md-outline input[type="password"]:focus:not([readonly]) + label,
.md-form.md-outline input[type="email"]:focus:not([readonly]) + label,
.md-form.md-outline input[type="url"]:focus:not([readonly]) + label,
.md-form.md-outline input[type="time"]:focus:not([readonly]) + label,
.md-form.md-outline input[type="date"]:focus:not([readonly]) + label,
.md-form.md-outline input[type="datetime-local"]:focus:not([readonly]) + label,
.md-form.md-outline input[type="tel"]:focus:not([readonly]) + label,
.md-form.md-outline input[type="number"]:focus:not([readonly]) + label,
.md-form.md-outline input[type="search-md"]:focus:not([readonly]) + label,
.md-form.md-outline input[type="search"]:focus:not([readonly]) + label,
.md-form.md-outline textarea.md-textarea:focus:not([readonly]) + label {
  color: #4285f4;
}

.md-form.md-outline input[type="text"].valid,
.md-form.md-outline input[type="text"]:focus.valid,
.md-form.md-outline input[type="password"].valid,
.md-form.md-outline input[type="password"]:focus.valid,
.md-form.md-outline input[type="email"].valid,
.md-form.md-outline input[type="email"]:focus.valid,
.md-form.md-outline input[type="url"].valid,
.md-form.md-outline input[type="url"]:focus.valid,
.md-form.md-outline input[type="time"].valid,
.md-form.md-outline input[type="time"]:focus.valid,
.md-form.md-outline input[type="date"].valid,
.md-form.md-outline input[type="date"]:focus.valid,
.md-form.md-outline input[type="datetime-local"].valid,
.md-form.md-outline input[type="datetime-local"]:focus.valid,
.md-form.md-outline input[type="tel"].valid,
.md-form.md-outline input[type="tel"]:focus.valid,
.md-form.md-outline input[type="number"].valid,
.md-form.md-outline input[type="number"]:focus.valid,
.md-form.md-outline input[type="search-md"].valid,
.md-form.md-outline input[type="search-md"]:focus.valid,
.md-form.md-outline input[type="search"].valid,
.md-form.md-outline input[type="search"]:focus.valid,
.md-form.md-outline textarea.md-textarea.valid,
.md-form.md-outline textarea.md-textarea:focus.valid {
  border-color: #00c851;
  -webkit-box-shadow: inset 0 0 0 1px #00c851;
  box-shadow: inset 0 0 0 1px #00c851;
}

.md-form.md-outline input[type="text"]:focus:not([readonly]).valid + label,
.md-form.md-outline input[type="text"].valid + label:after,
.md-form.md-outline input[type="text"]:focus.valid + label:after,
.md-form.md-outline input[type="password"]:focus:not([readonly]).valid + label,
.md-form.md-outline input[type="password"].valid + label:after,
.md-form.md-outline input[type="password"]:focus.valid + label:after,
.md-form.md-outline input[type="email"]:focus:not([readonly]).valid + label,
.md-form.md-outline input[type="email"].valid + label:after,
.md-form.md-outline input[type="email"]:focus.valid + label:after,
.md-form.md-outline input[type="url"]:focus:not([readonly]).valid + label,
.md-form.md-outline input[type="url"].valid + label:after,
.md-form.md-outline input[type="url"]:focus.valid + label:after,
.md-form.md-outline input[type="time"]:focus:not([readonly]).valid + label,
.md-form.md-outline input[type="time"].valid + label:after,
.md-form.md-outline input[type="time"]:focus.valid + label:after,
.md-form.md-outline input[type="date"]:focus:not([readonly]).valid + label,
.md-form.md-outline input[type="date"].valid + label:after,
.md-form.md-outline input[type="date"]:focus.valid + label:after,
.md-form.md-outline input[type="datetime-local"]:focus:not([readonly]).valid
  + label,
.md-form.md-outline input[type="datetime-local"].valid + label:after,
.md-form.md-outline input[type="datetime-local"]:focus.valid + label:after,
.md-form.md-outline input[type="tel"]:focus:not([readonly]).valid + label,
.md-form.md-outline input[type="tel"].valid + label:after,
.md-form.md-outline input[type="tel"]:focus.valid + label:after,
.md-form.md-outline input[type="number"]:focus:not([readonly]).valid + label,
.md-form.md-outline input[type="number"].valid + label:after,
.md-form.md-outline input[type="number"]:focus.valid + label:after,
.md-form.md-outline input[type="search-md"]:focus:not([readonly]).valid + label,
.md-form.md-outline input[type="search-md"].valid + label:after,
.md-form.md-outline input[type="search-md"]:focus.valid + label:after,
.md-form.md-outline input[type="search"]:focus:not([readonly]).valid + label,
.md-form.md-outline input[type="search"].valid + label:after,
.md-form.md-outline input[type="search"]:focus.valid + label:after,
.md-form.md-outline textarea.md-textarea:focus:not([readonly]).valid + label,
.md-form.md-outline textarea.md-textarea.valid + label:after,
.md-form.md-outline textarea.md-textarea:focus.valid + label:after {
  color: #00c851;
  content: attr(data-success);
  opacity: 1;
}

.md-form.md-outline input[type="text"].invalid,
.md-form.md-outline input[type="text"]:focus.invalid,
.md-form.md-outline input[type="password"].invalid,
.md-form.md-outline input[type="password"]:focus.invalid,
.md-form.md-outline input[type="email"].invalid,
.md-form.md-outline input[type="email"]:focus.invalid,
.md-form.md-outline input[type="url"].invalid,
.md-form.md-outline input[type="url"]:focus.invalid,
.md-form.md-outline input[type="time"].invalid,
.md-form.md-outline input[type="time"]:focus.invalid,
.md-form.md-outline input[type="date"].invalid,
.md-form.md-outline input[type="date"]:focus.invalid,
.md-form.md-outline input[type="datetime-local"].invalid,
.md-form.md-outline input[type="datetime-local"]:focus.invalid,
.md-form.md-outline input[type="tel"].invalid,
.md-form.md-outline input[type="tel"]:focus.invalid,
.md-form.md-outline input[type="number"].invalid,
.md-form.md-outline input[type="number"]:focus.invalid,
.md-form.md-outline input[type="search-md"].invalid,
.md-form.md-outline input[type="search-md"]:focus.invalid,
.md-form.md-outline input[type="search"].invalid,
.md-form.md-outline input[type="search"]:focus.invalid,
.md-form.md-outline textarea.md-textarea.invalid,
.md-form.md-outline textarea.md-textarea:focus.invalid {
  border-color: #f44336;
  -webkit-box-shadow: inset 0 0 0 1px #f44336;
  box-shadow: inset 0 0 0 1px #f44336;
}

.md-form.md-outline input[type="text"]:focus:not([readonly]).invalid + label,
.md-form.md-outline input[type="text"].invalid + label:after,
.md-form.md-outline input[type="text"]:focus.invalid + label:after,
.md-form.md-outline input[type="password"]:focus:not([readonly]).invalid
  + label,
.md-form.md-outline input[type="password"].invalid + label:after,
.md-form.md-outline input[type="password"]:focus.invalid + label:after,
.md-form.md-outline input[type="email"]:focus:not([readonly]).invalid + label,
.md-form.md-outline input[type="email"].invalid + label:after,
.md-form.md-outline input[type="email"]:focus.invalid + label:after,
.md-form.md-outline input[type="url"]:focus:not([readonly]).invalid + label,
.md-form.md-outline input[type="url"].invalid + label:after,
.md-form.md-outline input[type="url"]:focus.invalid + label:after,
.md-form.md-outline input[type="time"]:focus:not([readonly]).invalid + label,
.md-form.md-outline input[type="time"].invalid + label:after,
.md-form.md-outline input[type="time"]:focus.invalid + label:after,
.md-form.md-outline input[type="date"]:focus:not([readonly]).invalid + label,
.md-form.md-outline input[type="date"].invalid + label:after,
.md-form.md-outline input[type="date"]:focus.invalid + label:after,
.md-form.md-outline input[type="datetime-local"]:focus:not([readonly]).invalid
  + label,
.md-form.md-outline input[type="datetime-local"].invalid + label:after,
.md-form.md-outline input[type="datetime-local"]:focus.invalid + label:after,
.md-form.md-outline input[type="tel"]:focus:not([readonly]).invalid + label,
.md-form.md-outline input[type="tel"].invalid + label:after,
.md-form.md-outline input[type="tel"]:focus.invalid + label:after,
.md-form.md-outline input[type="number"]:focus:not([readonly]).invalid + label,
.md-form.md-outline input[type="number"].invalid + label:after,
.md-form.md-outline input[type="number"]:focus.invalid + label:after,
.md-form.md-outline input[type="search-md"]:focus:not([readonly]).invalid
  + label,
.md-form.md-outline input[type="search-md"].invalid + label:after,
.md-form.md-outline input[type="search-md"]:focus.invalid + label:after,
.md-form.md-outline input[type="search"]:focus:not([readonly]).invalid + label,
.md-form.md-outline input[type="search"].invalid + label:after,
.md-form.md-outline input[type="search"]:focus.invalid + label:after,
.md-form.md-outline textarea.md-textarea:focus:not([readonly]).invalid + label,
.md-form.md-outline textarea.md-textarea.invalid + label:after,
.md-form.md-outline textarea.md-textarea:focus.invalid + label:after {
  color: #f44336;
  content: attr(data-error);
  opacity: 1;
}

.md-form.md-outline input[type="text"].form-control.valid + label:after,
.md-form.md-outline input[type="text"].form-control:focus.valid + label:after,
.md-form.md-outline input[type="password"].form-control.valid + label:after,
.md-form.md-outline input[type="password"].form-control:focus.valid
  + label:after,
.md-form.md-outline input[type="email"].form-control.valid + label:after,
.md-form.md-outline input[type="email"].form-control:focus.valid + label:after,
.md-form.md-outline input[type="url"].form-control.valid + label:after,
.md-form.md-outline input[type="url"].form-control:focus.valid + label:after,
.md-form.md-outline input[type="time"].form-control.valid + label:after,
.md-form.md-outline input[type="time"].form-control:focus.valid + label:after,
.md-form.md-outline input[type="date"].form-control.valid + label:after,
.md-form.md-outline input[type="date"].form-control:focus.valid + label:after,
.md-form.md-outline input[type="datetime-local"].form-control.valid
  + label:after,
.md-form.md-outline input[type="datetime-local"].form-control:focus.valid
  + label:after,
.md-form.md-outline input[type="tel"].form-control.valid + label:after,
.md-form.md-outline input[type="tel"].form-control:focus.valid + label:after,
.md-form.md-outline input[type="number"].form-control.valid + label:after,
.md-form.md-outline input[type="number"].form-control:focus.valid + label:after,
.md-form.md-outline input[type="search-md"].form-control.valid + label:after,
.md-form.md-outline input[type="search-md"].form-control:focus.valid
  + label:after,
.md-form.md-outline input[type="search"].form-control.valid + label:after,
.md-form.md-outline input[type="search"].form-control:focus.valid + label:after,
.md-form.md-outline textarea.md-textarea.form-control.valid + label:after,
.md-form.md-outline textarea.md-textarea.form-control:focus.valid
  + label:after {
  position: absolute;
  top: 4rem;
  left: 0;
}

.md-form.md-outline input[type="text"].form-control.invalid + label:after,
.md-form.md-outline input[type="text"].form-control:focus.invalid + label:after,
.md-form.md-outline input[type="password"].form-control.invalid + label:after,
.md-form.md-outline input[type="password"].form-control:focus.invalid
  + label:after,
.md-form.md-outline input[type="email"].form-control.invalid + label:after,
.md-form.md-outline input[type="email"].form-control:focus.invalid
  + label:after,
.md-form.md-outline input[type="url"].form-control.invalid + label:after,
.md-form.md-outline input[type="url"].form-control:focus.invalid + label:after,
.md-form.md-outline input[type="time"].form-control.invalid + label:after,
.md-form.md-outline input[type="time"].form-control:focus.invalid + label:after,
.md-form.md-outline input[type="date"].form-control.invalid + label:after,
.md-form.md-outline input[type="date"].form-control:focus.invalid + label:after,
.md-form.md-outline input[type="datetime-local"].form-control.invalid
  + label:after,
.md-form.md-outline input[type="datetime-local"].form-control:focus.invalid
  + label:after,
.md-form.md-outline input[type="tel"].form-control.invalid + label:after,
.md-form.md-outline input[type="tel"].form-control:focus.invalid + label:after,
.md-form.md-outline input[type="number"].form-control.invalid + label:after,
.md-form.md-outline input[type="number"].form-control:focus.invalid
  + label:after,
.md-form.md-outline input[type="search-md"].form-control.invalid + label:after,
.md-form.md-outline input[type="search-md"].form-control:focus.invalid
  + label:after,
.md-form.md-outline input[type="search"].form-control.invalid + label:after,
.md-form.md-outline input[type="search"].form-control:focus.invalid
  + label:after,
.md-form.md-outline textarea.md-textarea.form-control.invalid + label:after,
.md-form.md-outline textarea.md-textarea.form-control:focus.invalid
  + label:after {
  position: absolute;
  top: 4rem;
  left: 0;
}

.md-form.md-outline
  > input[type]:-webkit-autofill:not(.browser-default):not([type="search"])
  + label,
.md-form.md-outline > input[type="time"]:not(.browser-default) + label {
  left: 8px;
  padding-right: 5px;
  padding-left: 5px;
  font-size: 1rem;
  font-weight: 500;
  background: #fff;
  -webkit-transform: translateY(-9px) scale(0.8);
  transform: translateY(-9px) scale(0.8);
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
}

.md-form.md-outline
  > input[type]:-webkit-autofill:not(.browser-default):not([type="search"])
  + label.active,
.md-form.md-outline > input[type="time"]:not(.browser-default) + label.active {
  -webkit-transform: translateY(-9px) scale(0.8);
  transform: translateY(-9px) scale(0.8);
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
}

@-webkit-keyframes autofill {
  to {
    color: #495057;
    background: transparent;
  }
}

@keyframes autofill {
  to {
    color: #495057;
    background: transparent;
  }
}

.md-form.md-outline input:-webkit-autofill {
  -webkit-animation-name: autofill;
  animation-name: autofill;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.md-form.md-outline .form-control {
  padding: .375rem .75rem;
}

.md-form.md-outline label {
  position: absolute;
  top: 0;
  left: 0;
  padding-left: 10px;
  font-size: 1rem;
  color: #757575;
  cursor: text;
  -webkit-transition: color .2s ease-out, -webkit-transform .2s ease-out;
  transition: color .2s ease-out, -webkit-transform .2s ease-out;
  transition: transform .2s ease-out, color .2s ease-out;
  transition: transform .2s ease-out, color .2s ease-out,
    -webkit-transform .2s ease-out;
  -webkit-transform: translateY(9px);
  transform: translateY(9px);
  -webkit-transform-origin: 0% 100%;
  transform-origin: 0% 100%;
}

.md-form.md-outline label.active {
  left: 8px;
  padding-right: 5px;
  padding-left: 5px;
  font-weight: 500;
  background: #fff;
  -webkit-transform: translateY(-13px) scale(0.8);
  transform: translateY(-13px) scale(0.8);
}

.md-form.md-outline.form-lg .form-control.form-control-lg {
  padding: .5rem .725rem;
}

.md-form.md-outline.form-lg label {
  font-size: 1.25rem;
  -webkit-transform: translateY(10px);
  transform: translateY(10px);
}

.md-form.md-outline.form-lg label.active {
  font-size: 1.1rem;
  -webkit-transform: translateY(-14px) scale(0.8);
  transform: translateY(-14px) scale(0.8);
}

.md-form.md-outline.form-lg .prefix {
  top: .65rem;
  font-size: 25px;
}

.md-form.md-outline.form-lg .prefix ~ input,
.md-form.md-outline.form-lg .prefix ~ textarea {
  width: calc(100% - 2.2rem);
  margin-left: 2.2rem;
}

.md-form.md-outline.form-lg .prefix ~ label {
  margin-left: 2.2rem;
}

.md-form.md-outline.form-lg .prefix ~ .form-text {
  margin-left: 2.3rem;
}

.md-form.md-outline.form-sm .form-control.form-control-sm {
  padding: .25rem .625rem;
}

.md-form.md-outline.form-sm label {
  font-size: .8rem;
  -webkit-transform: translateY(8px);
  transform: translateY(8px);
}

.md-form.md-outline.form-sm label.active {
  font-size: .85rem;
  -webkit-transform: translateY(-12px) scale(0.8);
  transform: translateY(-12px) scale(0.8);
}

.md-form.md-outline.form-sm .prefix {
  top: .5rem;
  font-size: 15px;
}

.md-form.md-outline.form-sm .prefix ~ input,
.md-form.md-outline.form-sm .prefix ~ textarea {
  width: calc(100% - 1.6rem);
  margin-left: 1.6rem;
}

.md-form.md-outline.form-sm .prefix ~ label {
  margin-left: 1.6rem;
}

.md-form.md-outline.form-sm .prefix ~ .form-text {
  margin-left: 1.7rem;
}

.md-form.md-outline .prefix {
  position: absolute;
  top: .6rem;
  font-size: 20px;
  -webkit-transition: color .2s;
  transition: color .2s;
}

.md-form.md-outline .prefix:focus {
  color: #4285f4;
}

.md-form.md-outline .prefix ~ input,
.md-form.md-outline .prefix ~ textarea {
  width: calc(100% - 2rem);
  margin-left: 2rem;
}

.md-form.md-outline .prefix ~ label {
  margin-left: 2rem;
}

.md-form.md-outline .prefix ~ .form-text {
  margin-left: 2.1rem;
}

.md-form.md-outline .character-counter {
  margin-top: -.5rem;
}

.md-form.md-bg input[type="text"],
.md-form.md-bg input[type="password"],
.md-form.md-bg input[type="email"],
.md-form.md-bg input[type="url"],
.md-form.md-bg input[type="time"],
.md-form.md-bg input[type="date"],
.md-form.md-bg input[type="datetime-local"],
.md-form.md-bg input[type="tel"],
.md-form.md-bg input[type="number"],
.md-form.md-bg input[type="search-md"],
.md-form.md-bg input[type="search"],
.md-form.md-bg textarea.md-textarea {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 10px 5px;
  background: #f5f5f5 no-repeat;
  background-image: -webkit-gradient(
      linear,
      left top,
      left bottom,
      from(#4285f4),
      to(#4285f4)
    ),
    -webkit-gradient(linear, left top, left bottom, from(#ced4da), to(#ced4da));
  background-image: linear-gradient(to bottom, #4285f4, #4285f4),
    linear-gradient(to bottom, #ced4da, #ced4da);
  background-position: 50% 100%, 50% 100%;
  background-size: 0 2px, 100% 1px;
  border: 0;
  border-top-left-radius: .3rem;
  border-top-right-radius: .3rem;
  -webkit-transition: background-size 0.3s cubic-bezier(0.64, 0.09, 0.08, 1);
  transition: background-size 0.3s cubic-bezier(0.64, 0.09, 0.08, 1);
}

.md-form.md-bg input[type="text"]:focus:not([readonly]),
.md-form.md-bg input[type="password"]:focus:not([readonly]),
.md-form.md-bg input[type="email"]:focus:not([readonly]),
.md-form.md-bg input[type="url"]:focus:not([readonly]),
.md-form.md-bg input[type="time"]:focus:not([readonly]),
.md-form.md-bg input[type="date"]:focus:not([readonly]),
.md-form.md-bg input[type="datetime-local"]:focus:not([readonly]),
.md-form.md-bg input[type="tel"]:focus:not([readonly]),
.md-form.md-bg input[type="number"]:focus:not([readonly]),
.md-form.md-bg input[type="search-md"]:focus:not([readonly]),
.md-form.md-bg input[type="search"]:focus:not([readonly]),
.md-form.md-bg textarea.md-textarea:focus:not([readonly]) {
  border-bottom: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.md-form.md-bg input[type="text"]:focus,
.md-form.md-bg input[type="password"]:focus,
.md-form.md-bg input[type="email"]:focus,
.md-form.md-bg input[type="url"]:focus,
.md-form.md-bg input[type="time"]:focus,
.md-form.md-bg input[type="date"]:focus,
.md-form.md-bg input[type="datetime-local"]:focus,
.md-form.md-bg input[type="tel"]:focus,
.md-form.md-bg input[type="number"]:focus,
.md-form.md-bg input[type="search-md"]:focus,
.md-form.md-bg input[type="search"]:focus,
.md-form.md-bg textarea.md-textarea:focus {
  background-color: #dcdcdc;
  background-size: 100% 2px, 100% 1px;
  outline: none;
}

.md-form.md-bg > input[type="date"]:not(.browser-default) {
  color: transparent;
}

.md-form.md-bg > input[type="date"]:not(.browser-default) + label {
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
}

.md-form.md-bg
  > input[type]:-webkit-autofill:not(.browser-default):not([type="search"])
  + label,
.md-form.md-bg > input[type="time"]:not(.browser-default) + label {
  font-size: .8rem;
  -webkit-transform: translateY(-12px);
  transform: translateY(-12px);
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
}

.md-form.md-bg .form-control {
  padding: 1.1rem .7rem .4rem !important;
}

.md-form.md-bg label {
  top: 0;
  padding-left: .7rem;
  font-size: 1rem;
  -webkit-transition: color .2s ease-out, -webkit-transform .2s ease-out;
  transition: color .2s ease-out, -webkit-transform .2s ease-out;
  transition: transform .2s ease-out, color .2s ease-out;
  transition: transform .2s ease-out, color .2s ease-out,
    -webkit-transform .2s ease-out;
  -webkit-transform: translateY(13px);
  transform: translateY(13px);
  -webkit-transform-origin: 0% 100%;
  transform-origin: 0% 100%;
}

.md-form.md-bg label.active {
  padding-left: .75rem;
  font-weight: 500;
  -webkit-transform: translateY(-3px) scale(0.8);
  transform: translateY(-3px) scale(0.8);
}

.md-form.md-bg.form-lg label {
  -webkit-transform: translateY(16px);
  transform: translateY(16px);
}

.md-form.md-bg.form-lg label.active {
  -webkit-transform: translateY(-4px) scale(0.8);
  transform: translateY(-4px) scale(0.8);
}

.md-form.md-bg.form-sm label {
  -webkit-transform: translateY(11px);
  transform: translateY(11px);
}

.md-form.md-bg.form-sm label.active {
  -webkit-transform: translateY(-2px) scale(0.8);
  transform: translateY(-2px) scale(0.8);
}

.md-form .form-control.is-invalid,
.was-validated .md-form .form-control:invalid {
  padding-right: 0;
}

.md-form .form-control.is-valid,
.was-validated .md-form .form-control:valid {
  padding-right: 0;
}

.needs-validation .md-form label {
  left: .3rem;
}
