body{
  margin: 0;
  padding: 0;
  background-color: var(--ppBlack);
  height: 100vh;
}

.container {
  width: 100%;
  height: calc(100% - 40px);
  display: flex;
  flex-direction: column;
  align-items: center;
}

.container #logo {
  width: min(300px, 100%);
  margin-bottom: 20px;
}

.center{
  width: min(max(300px, 60%), 600px);;
  background: var(--ppWhite);;
  border-radius: 10px;
}

.center h1{
  text-align: center;
  padding: 0 0 20px 0;
  border-bottom: 1px solid silver;
}

.center .form{
  padding: 0 40px;
  box-sizing: border-box;
}

.form .txt_field{
  position: relative;
  border-bottom: 2px solid #adadad;
  margin: 30px 0;
}

.txt_field input{
  width: 100%;
  padding: 0 5px;
  height: 40px;
  font-size: 16px;
  border: none;
  background: none;
  outline: none;
}

.txt_field label{
  position: absolute;
  top: 50%;
  left: 5px;
  color: #adadad;
  transform: translateY(-50%);
  font-size: 16px;
  pointer-events: none;
}

.txt_field span::before{
  content: '';
  position: absolute;
  top: 40px;
  left: 0;
  width: 0px;
  height: 2px;
  background-color: var(--ppGreenDark);;
  transition: .5s;
}

.txt_field input:focus ~ label,
.txt_field input:valid ~ label{
  top: -5px;
  color: var(--ppGreenDark);
}

.txt_field input:focus ~ span::before,
.txt_field input:Valid ~ span::before{
  width: 100%;
}

.err {
  margin: -5px 0 20px 5px;
  color: #d50000;
  cursor: pointer;
}
.forgot {
  width: fit-content;
  margin: -5px 0 20px 5px;
  color: #a6a6a6;
  cursor: pointer;
}

.forgot:hover {
  text-decoration: underline;
}

button#login, button#reset, button#verify {
  width: 100%;
  height: 50px;
  color: #000000;
  border: 1px solid #000000;
  border-radius: 25px;
  font-size: 18px;
  font-weight: 700;
  cursor: pointer;
  background-color: var(--ppGreen);
}

button#login:hover, button#reset:hover, button#verify:hover {
  background: var(--ppGreenDark);
  color: var(--ppWhite);
  transition: .5s;
}

.signup_link{
  margin: 30px 0;
  text-align: center;
  font-size: 16px;
  color: #666666;
}

.signup_link a{
  color: var(--ppGreenDark);
  text-decoration: none;
}

.signup_link a:hover{
  text-decoration: underline;
}

.lost_otp {
  margin: 30px 0;
  text-align: center;
  font-size: 16px;
  color: #666666;
}

.lost_otp a{
  color: var(--ppGreenDark);
  text-decoration: none;
}

.lost_otp a:hover{
  text-decoration: underline;
}

.qr-code {
}

.qr-code img {
  width: 60%;
  margin:auto;
  display: block;
}

.recovery-codes textarea {
  margin: auto;
  display: block;
  width: 60%;
  font-size: xx-large;
  text-align: center;
  font-family: monospace;
}