.contact-form input,
.contact-form textarea {

}
.contact-form input:required + span::after,
.contact-form textarea:required + span::after {
  content: ' *';
  color: red;
  vertical-align: top;
}
.contact-form input:not(:placeholder-shown):valid,
.contact-form textarea:not(:placeholder-shown):valid {
  background-color: #f4feee;
}
.contact-form input:not(:placeholder-shown):invalid,
.contact-form textarea:not(:placeholder-shown):invalid {
  background-color: #fff0f0;
}
.contact-form label,
.contact-form button {
  display: block;
}

.js-submitted input:valid,
.js-submitted textarea:valid {
  background-color: #f4feee;
}
.js-submitted input:invalid,
.js-submitted textarea:invalid {
  background-color: #fff0f0;
}

.hidden {
  display: none !important;
}

