* {
  box-sizing: border-box;

}

body {
  margin: 0;
  font-family: arial;
  text-align: center;
  height: 100vh;
  width: 100vw;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #333;

  -webkit-user-select: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  }

  input {
    -webkit-user-select: initial;
  }
  
.login-wrapper {
  position: absolute;
  box-shadow: 0 2px 10px rgba(0,0,0,.7);
  width: 500px;
  height: 600px;
  background: white;

}

.login-form {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 1em;
  width: 80%;
  text-align: left;

}

input, button, .g-recaptcha {
  display: block;
  width: 100%;
  font-size: 1.3em;
  margin-bottom: 2em;
  outline: none;
  transition: .3s;
  padding: .2em;

}

.g-recaptcha, #password {
  margin-bottom: 1em;

}

input {
  border: 1.5px solid black;
  -webkit-user-select: initial;

}

button {
  border: none;
  background: #1588FF;
  color: white;
  cursor: pointer;

}

button:hover, button:focus {
  background: #0366DD;
}

input:hover, input:focus {
  border: 1.5px solid #1588FF;
}

.err-msg {
  color: red;
  position: absolute;
  width: 100%;
  text-align: center;
  bottom: 1em;
  padding: 1em 0;
}

@media only screen and (max-height: 600px) {
  .login-wrapper {
    width: 100%;
    height: 100%;
  }

  .login-form {
    position: initial;
    margin-left: 50%;
    transform: translate(-50%, 0);

  }

}

@media only screen and (max-width: 500px) {
  .login-wrapper {
    width: 100%;
    height: 100%;
  }

  .login-form {
    width: 90%;

  }

}
