html,
body {
  margin: 0;
  padding: 0;
  background-color: #eeeeee;
  font-family: Arial, sans-serif;
  font-size: 10pt;
}

* {
  box-sizing: border-box;
}

input,
input:focus,
input:focus-visible,
button,
button:focus,
button:focus-visible {
  background-color: transparent;
  outline: none;
  border: 1px solid #dddddd;
}

input:focus,
input:focus-visible,
button:focus,
button:focus-visible {
  border-color: #abcdef;
  box-shadow: 0 0 .3em .2em #abcdefcc;
}

div.error,
span.error {
  display: inline-block;
  background-color: #ff7272;
  color: #ffffff;
  font-weight: bolder;
  padding: .5em;
  margin: 1em;
  border-radius: .5em;
}

div.center {
  margin: 1em;
}

div.center>div {
  width: 100%;
  margin: auto;
  text-align: center;
}

form div.form-group {
  margin-top: 1em;
  margin-bottom: 1em;
  text-align: start;
}

form div.form-group label {
  display: block;
  font-weight: bolder;
  margin-bottom: .4em;
  color: #444444;
}

form div.form-group input {
  width: 100%;
}

div.content {
  border: 1px solid #aaaaaa;
  border-radius: .4em;
  margin: 1em;
  background-color: #ffffff;
  padding: 1em;
  overflow: hidden;
}

div.content header {
  border-radius: .4em .4em 0 0;
  margin: -1em -1em 0 -1em;
  padding: .4em;
  font-weight: bold;
  background-color: #abcdef;
}

button,
input[type=text],
input[type=password] {
  padding: 1em;
  color: #666666;
  border-radius: .5em;
}

button:hover {
  color: #000000;
  cursor: pointer;
}

button:hover:not(:focus):not(:focus-visible) {
  border-color: #777777;
}

button:active {
  border-color: #aaaaaa;
  background-color: #eeeeee;
  color: #333333;
}

@media (min-width: 640px) {
  div.center>div {
    width: 80%;
  }
}

@media (min-width: 800px) {
  div.center>div {
    width: 50%;
  }
}

@media (min-width: 1024px) {
  div.center>div {
    width: 30%;
  }
}
