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;
}

fieldset, .hiddeninputs {
	display: grid;
	grid-row-gap: 5px;
}

.hiddeninputs{
	display: none;
}


label {
  background-color: #aaaaaa;
  text-align: center;
  min-height:30px;
  padding-left: 4px;
  padding-right: 4px;
  display: inline-block;
  line-height: 30px;
}

legend {
  color: grey;
}

input[type="text"],input[type="number"],input[type="tel"],input[type="date"],input[type="email"] {
  height:30px;
  font-size: 1.2rem;
}

select {
	height: 35px;
	font-size: 1.2rem;
}

input:invalid, select:invalid, textarea:required:invalid {
    border-bottom:2px solid red;
}

input:valid, select:valid, textarea:required:valid {
    border-bottom:2px solid #00ff00;
}

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:4.8rem;
    resize:vertical;
    line-height:1.2rem;
    max-height:12rem;
    min-height:3.6rem;
}

h2 {
 color: #f00050;
}