body {
  background-color: #f0f0f0;
  color: #333333;
}
#frmActivate {
  position: relative;
  display: block;
  width: 320px;
  margin: 5% auto 0 auto;
}
#frmActivate .header {
  margin-bottom: 1rem;
  text-align: center;
  font-size: 1.3rem;
  text-transform: uppercase;
}
#frmActivate p {
  text-indent: 0.3em;
  text-align: justify;
}
#frmActivate .header img {
  width: 100%;
}
#frmActivate .header span {
  font-size: 1.7rem;
}
#frmActivate .text {
  position: relative;
  padding: 10px 0;
  color: #ffffff;
}
#frmActivate .text form div {
  text-align: center;
  color: #333;
}
#frmActivate .text form input {
  display: block;
  width: 100%;
  background: transparent;
  border: none;
  border-bottom: 1px solid #666;
  box-sizing: border-box;
  font-size: 1.4rem;
  line-height: 1.2rem;
  padding: 10px;
  margin: 5px 0;
}
#frmActivate .text form input:focus {
  outline: none;
  border-bottom-color: #0b891d;
}
#frmActivate form button {
  width: 100%;
  font-size: 1.2rem;
  padding: 7px 10px;
  margin: 15px 0;
}
#frmActivate .login_progress {
  display: none;
}
#frmActivate .check_progress {
  display: block;
}
#frmActivate .check_progress,
#frmActivate .login_progress {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  background-color: #333;
  background-color: rgba(0, 0, 0, .65);
  color: #fff;
  z-index: 10;
}
#frmActivate .check_progress > span,
#frmActivate .login_progress > span {
  display: block;
  width: 100%;
  position: absolute;
  text-align: center;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -70%);
}

#blkActivate form div.token {
  font-size: 2em;
  font-weight: bold;
  text-transform: uppercase;
}

#blkSuccess, #blkNotFound, #blkExpired, #blkGeneralError,
#blkDuplicate, #blkRequestDuplicate, #blkIllegalToken {
  display: none;
}

div.info {
  display: flex;
  justify-content: space-around;
}
div.info a {
  display: inline-block;
  color: #999;
  transition: all 200ms ease-in-out;
  text-align: center;
}
div.info a:active, div.info a:link, div.info a:visited {
  color: #999;
}
div.info a:hover {
  color: #666;
}

/* Регистрация по токену временного доступа */
#frmSignup {
  position: relative;
  display: block;
  width: 320px;
  margin: 5% auto 0 auto;
}
#frmSignup .header {
  margin-bottom: 1rem;
  text-align: center;
  font-size: 1.3rem;
  text-transform: uppercase;
}
#frmSignup p {
  text-indent: 0.3em;
  text-align: justify;
}
#frmSignup .header img {
  width: 100%;
}
#frmSignup .header span {
  font-size: 1.7rem;
}
#frmSignup .text {
  position: relative;
  padding: 10px 0;
  color: #ffffff;
}
#frmSignup .text form div {
  text-align: center;
  color: #333;
}
#frmSignup .text form input {
  display: block;
  width: 100%;
  background: transparent;
  border: none;
  border-bottom: 1px solid #666;
  box-sizing: border-box;
  font-size: 1.4rem;
  line-height: 1.2rem;
  padding: 10px;
  margin: 5px 0;
}
#frmSignup .text form input:focus {
  outline: none;
  border-bottom-color: #0b891d;
}
#frmSignup form button {
  width: 100%;
  font-size: 1.2rem;
  padding: 7px 10px;
  margin: 15px 0;
}
#frmSignup .login_progress {
  display: none;
}
#frmSignup .check_progress {
  display: block;
}
#frmSignup .check_progress,
#frmSignup .login_progress {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  background-color: #333;
  background-color: rgba(0, 0, 0, .65);
  color: #fff;
  z-index: 10;
}
#frmSignup .check_progress > span,
#frmSignup .login_progress > span {
  display: block;
  width: 100%;
  position: absolute;
  text-align: center;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -70%);
}

#blkSignup form div.token {
  font-size: 2em;
  font-weight: bold;
  text-transform: uppercase;
}

#blkDataByToken {
  display: none;
}
#blkTokenCheck form .field,
#blkDataByToken form .field {
  display: block;
  margin: 10px 0;
}
#blkTokenCheck form .field label,
#blkDataByToken form .field label {
  display: block;
  text-align: left;
}
#blkTokenCheck form .field input,
#blkDataByToken form .field input {
  display: block;
  width: 100%;
  background: transparent;
  box-sizing: border-box;
  font-size: 1.3em;
  line-height: 1em;
  padding: 5px;
  margin: 0 0 5px 0;
}
#blkTokenCheck form .field input.error,
#blkDataByToken form .field input.error {
  background-color: #e3b9cd;
}

#blkTokenCheck form span.info,
#blkDataByToken form span.info,
#blkFogotPasswConfirmINN form span.info,
#blkFogotPasswConfirm2FA form span.info {
  display: block;
  font-size: 0.9em;
  padding: 0 2px 0 5px;
  border-left: 3px solid #666;
  text-align: justify;
}
#blkTokenCheck form span.info.warning,
#blkDataByToken form span.info.warning,
#blkFogotPasswConfirmINN form span.info.warning,
#blkFogotPasswConfirm2FA form span.info.warning {
  border-left-color: rgb(255, 140, 0);;
  text-align: justify;
}
#blkTokenCheck form span.info.warning .header,
#blkDataByToken form span.info.warning .header,
#blkFogotPasswConfirmINN form span.info.warning .header,
#blkFogotPasswConfirm2FA form span.info.warning .header {
  text-align: left;
  text-transform: none;
  font-size: 1.1em;
  margin-bottom: 0.3em;
}
#blkTokenCheck form span.info.warning ul,
#blkDataByToken form span.info.warning ul,
#blkFogotPasswConfirmINN form span.info.warning ul,
#blkFogotPasswConfirm2FA form span.info.warning ul {
  padding: 0;
  margin: 0.2em 0;
  list-style-position: inside;
}

#blkDataByToken form button {
  width: 100%;
  font-size: 1.2rem;
  padding: 7px 10px;
  margin: 15px 0;
}

/* ВОССТАНОВЛЕНИЕ ПАРОЛЯ */
#blkFogotPasswEmail button[type=submit] {
  display: flex;
  align-items: center;
}
#blkFogotPasswEmail button[type=submit] .mdi.mdi-chevron-right {
  margin-top: 0.15em;
}

#blkFogotPasswConfirm,
#blkFogotPasswConfirmINN,
#blkFogotPasswConfirm2FA {
  display: none;
  color: #333;
}
#blkFogotPasswConfirm button .mdi,
#blkFogotPasswConfirmINN button .mdi,
#blkFogotPasswConfirm2FA button .mdi {
  margin-top: 0.15em;
}
#blkFogotPasswEmail input[type=text],
#blkFogotPasswEmail input[type=email],
#blkFogotPasswConfirm input[type=text],
#blkFogotPasswConfirm input[type=email],
#blkFogotPasswConfirmINN input[type=text],
#blkFogotPasswConfirmINN input[type=email],
#blkFogotPasswConfirm2FA input[type=text],
#blkFogotPasswConfirm2FA input[type=email] {
  text-align: center;
}

#blkIllegalCode,
#blkHasRequest {
  display: none;
}

@media screen and (min-width: 420px) {
  #frmActivate {
    width: 400px;
  }

  #frmSignup {
    width: 400px;
  }
 }
