html, body {
  width: 100%;
  margin: 0;
  padding: 0;
  font-size: 62.5%;
  text-align: center;
}
body {
  font-family: 'Lato';
}
body * {
  position: relative;
  display: block;
  margin: 0;
  padding: 0;
  border: none;
  border-spacing: 0;
  outline: none;
  color: #000000;
  font-size: 1.6rem;
  font-family: inherit;
  line-height: 1.3;
  text-align: center;
  box-sizing: border-box;
}
.header {
  padding: 1rem;
  font-size: 180%;
  font-weight: bold;
}
.main-container {
  width: 100vw;
  height: 100vh;
  background: #fff;
}
fieldset legend {
  margin: 0 auto;
  padding: 0 0.5rem;
}
.login-container {
  position: absolute;
  left: 50%;
  top: 2rem;
  transform: translateX(-50%);
  padding: 2rem 2.5rem;
  padding-bottom: 1.5rem;
  font-size: 120%;
  font-weight: bold;
  overflow: hidden;
  border: double #000;
}
.login-container > div:not(.button-container) {
  padding: 0.9rem;;
  margin-left: 3.2rem;
}
.login-container .text {
  display: inline-block;
  border: 1px solid #000;
  padding: 0.3rem 0.5rem;
  text-align: left;
}
.login-container > div:before {
  content: '';
  position: absolute;
  left: -3.2rem;
  top: 50%;
  transform: translateY(-50%);
  width: 3.2rem;
  height: 3.2rem;
}
.username-container:before {
  background-image: url('/images/user-icon.svg');
}
.userpass-container:before {
  background-image: url('/images/lock-icon.svg');
}
.button-container {
  margin-top: 1.5rem;
  text-align: center;
}
.login-button  {
  margin: auto;
  padding: 0;
  background-image: url('/images/login-button.png');
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: contain;
  background-size--: cover;
  background-size: 103%;
  width: 12.8rem;
  height: 3.2rem;
  cursor: pointer;
  transition: all 0.5s;
}
.login-button:hover {
  filter: brightness(150%) contrast(150%);
}


@media only screen and (min-width: 768px), (orientation: landscape) {
  .login-container {
    top: 40%;
    transform: translate(-50%, -50%);
  }
}
