.grid {
  margin: 0 auto;
  background-color: #fff;
  padding: 10px 50px 50px 50px;
  border: 2px solid #b798c3;
}

.cf-turnstile {
  margin: 1em;
}

#score {
  color: #7b2b89;
  font-size: 30px;
}

#quiz-results {
  text-align: center;
}

#question {
  font-size: 30px;
}

.buttons {
  margin-top: 30px;
}

#btn0, #btn1, #btn2, #btn3, #btnr {
  width: 100%;
  border: 1px solid #1D3C6A;
  margin: 10px 40px 10px 0px;
  padding: 10px 10px;
  padding: 0.5rem;
  font-size: 1.25rem;
  font-weight: bolder;
  border-radius: 0.3;
  color: #fbfcfe;
  background-color: #27106b;
  border-color: #27106b;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 15%), 0 1px 1px rgb(0 0 0 / 8%);
  border: 1px solid transparent;
  border-radius: 0.3rem;
}

#btnr {
  margin-right: 0;
}

#btn0:hover, #btn1:hover, #btn2:hover, #btn3:hover, #btnr:hover {
  cursor: pointer;
  color: #27106b;
  background-color: #ffbb4d;
  border-color: #ffbb4d;
}

#btn0:focus, #btn1:focus, #btn2:focus, #btn3:focus, #btnr:focus {
  outline: 0;
}

#progress {
  color: #27106B;
  font-size: 18px;
}

#results-form label {
  margin-right: 0.5rem;
  margin-bottom: 0.5rem;
}
#results-form input {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

#results-form input[type="text"]:required,
#results-form input[type="email"]:required {
    background-color:#f9d8d0;
    border:1px solid #5c00ff;
}

#results-form input[type="text"]:valid,
#results-form input[type="text"]:in-range,
#results-form input[type="email"]:valid,
#results-form input[type="email"]:in-range {
    background:#d6e9f9;
    border-color:#32a8ea;
}

#results-form input[type="text"]:invalid,
#results-form input[type="text"]:out-of-range,
#results-form input[type="email"]:invalid,
#results-form input[type="email"]:out-of-range {
    background:#f9d8d0;
    border-color:#f2582f;
}
