html, body {
  margin:0;
  padding:10px;
  background-color:#d4dde3;
  font-size: 1.2rem;
  font-family: Arial;
  #user-select: none;
}

form {
  display: grid;
  grid-row-gap: 5px;
  max-width: 800px;
  margin: auto;
}

#alle:checked ~ section, #alle:checked ~ hr {
  display:none;
}

label {
  background-color: #aaaaaa;
  text-align: center;
}

legend {
  color: grey;
}

fieldset label {
  height:30px;
  display: inline-block;
  line-height: 30px;
  text-align: left;
  background-color: transparent;
  color:#555555;
}

input[type="text"],select,input[type="number"],input[type="tel"],input[type="date"],input[type="email"] {
  height:30px;
  font-size: 1.2rem;
}

input:invalid {
    border-bottom:2px solid red;
}

input:valid {
    border-bottom:2px solid #00ff00;
}

fieldset input:valid{
    border:none;
}

button{
   font-size: 1.2rem;
   background-color: #6e00bd;
   border: none;
   height:3rem;
   text-decoration: none;
   line-height: 1.4rem;
   color: white;
   font-weight:900;
   text-align: center;
 }

p,a {
    color:grey;
}

a:hover {
    color:##6e00bd;
}

textarea {
    font-family:Arial;
    font-size:1.2rem;
    height:3.6rem;
    resize:vertical;
    line-height:1.2rem;
    max-height:15rem;
    min-height:3.6rem;
}