.login-form .results {
  position: relative;
}
.login-form,
.login-form .form-group:before {
  position: absolute;
}
body:before,
.heart-beat {
  position: fixed;
}
.login-form .submit,
.login-form .loader {
  display: inline-block;
  zoom: 1;
}
.login-form a {
  transition: 0.1s ease-in-out;
}
.login-form .results,
.login-form .need-help {
  text-align: left;
}
.login-form .need-help {
  clear: both;
}
.login-form .need-help:after {
  display: table;
  content: "";
  clear: both;
}
.login-form .results,
.login-form .loader {
  display: none;
}
.login-form .submit {
  margin: 0;
  padding: 0.4em 30px;
  font-size: 1.1em;
  text-transform: uppercase;
  cursor: pointer;
  text-align: center;
  border: none;
}
@media screen and (max-width: 475px) {
  .login-form .submit {
    font-size: 1em;
  }
}
.login-form .submit {
  background-color: #0cecaa;
  color: #057655;
  border: 2px solid #0cecaa;
  border-radius: 50px;
}
.login-form .submit:hover {
  background-color: #36f5bd;
}
.login-form .submit:active {
  background-color: #0bd499;
}
.login-form a {
  text-transform: uppercase;
  color: #6e8289;
}
.login-form a:hover {
  color: #95b1be;
}
.login-form a:active {
  color: #56666d;
}
body {
  background: #02a4db url("/images/global/bg-grid.png");
  background-size: 13px;
  color: #fff;
}
body:before {
  content: "";
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: -moz-radial-gradient(
    center,
    ellipse cover,
    rgba(129, 208, 244, 0.8) 0%,
    rgba(129, 208, 244, 0) 100%
  );
  background: -webkit-radial-gradient(
    center,
    ellipse cover,
    rgba(129, 208, 244, 0.8) 0%,
    rgba(129, 208, 244, 0) 100%
  );
  background: radial-gradient(
    ellipse at center,
    rgba(129, 208, 244, 0.8) 0%,
    rgba(129, 208, 244, 0) 100%
  );
}
.login-form {
  top: 50%;
  right: 200px;
  width: 500px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  border: 1px solid #fff;
  background-color: #fff;
  color: #6f838a;
  border-radius: 3px;
}
.login-form fieldset {
  padding: 40px 60px;
  background-color: #dee0e1;
  border-radius: 3px;
}
.login-form .form-header {
  padding: 60px;
}
.login-form .form-header h1 {
  height: 0;
  padding-bottom: 35%;
  margin-bottom: 30px;
  text-indent: -9999px;
  background: url("/images/lemr-logo.png") no-repeat center top;
  background-size: 100%;
}
.login-form .form-header h2 {
  text-transform: uppercase;
}
.login-form .form-group:before {
  display: block;
  content: "";
  left: 20px;
  top: 0.4em;
  width: 25px;
  height: 25px;
  background: url("/images/login/icon-sprite.png") no-repeat;
  background-size: 38px;
}
.login-form .form-group.username:before {
  background-position: center 1px;
}
.login-form .form-group.password:before {
  background-position: center -63px;
}
.login-form .form-group .txbx {
  padding-left: 50px;
}
.login-form .login-token-group {
    display: flex;
    column-gap: 4%;
    padding: 10px;
}
.login-form .login-token {
    display: inline-block;
    width: 15%;
    height: 50px;
    line-height: 48px;
    text-align: center;
    font-size: 2rem;
    border-bottom: grey 2px solid;
}
.login-form #resend:hover {
  cursor: pointer;
}
.login-form .form-group .form-label {
  left: 50px;
}
.login-form .results {
  bottom: 270px;
  left: 10px;
}
.login-form .results .success {
  font-weight: 700;
  color: #3aae95;
}
.login-form .results .fail {
  font-weight: 700;
  color: red;
  display: inline-block;
}
.login-form .message {
  padding-bottom: 10px;
}
.login-form .loader {
  width: 24px;
  margin: -6px 4px -5px -10px;
}
.login-form .submit {
  float: right;
  margin-bottom: 30px;
}
.login-form .submit:not(:first-of-type) {
  margin-right: 10px;
}
.login-form .need-help {
  padding-left: 48px;
  background: url("/images/login/icon-sprite.png") no-repeat left bottom;
  background-size: 38px;
  line-height: 32px;
}
.heart-beat {
  top: 50%;
  left: 0;
  width: 2560px;
  max-width: 100%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}
@media screen and (max-width: 900px) {
  .login-form {
    width: auto;
    left: 22%;
    right: 22%;
  }
}
@media screen and (max-width: 767px) {
  .login-form {
    top: 0;
    left: 5%;
    right: 5%;
    margin: 5% 0;
    transform: none;
    -webkit-transform: none;
  }
  .heart-beat {
    top: 85%;
  }
}
@media screen and (max-width: 414px) {
  .login-form .form-header,
  .login-form fieldset {
    padding: 40px 10%;
  }
  .login-form .form-header h1 {
    margin-bottom: 20px;
  }
  .login-form .form-header h2 {
    font-size: 1.3em;
  }
  .login-form .results {
    bottom: 95px;
    left: 10%;
    right: 160px;
  }
  .login-form .submit {
    margin-bottom: 30px;
    font-size: 1em;
  }
  .login-form .need-help {
    font-size: 0.9em;
  }
}
