/*
* {
  outline: none;
}

body {
  counter-reset: capitulo;
}
*/

.form-heading {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 36px;
  font-weight: bold;
  margin: 5px;
}

.application-form {
  border: 1px solid black;
  box-sizing: border-box;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  margin: 15px auto;
  padding: 15px;
  width: 100%;
}

.helper-text {
  font-size: 12px;
  margin-botom: 10px;
  text-align: right;
}

.field-row {
  position: relative;
  width: 100%;
  text-align: center;
}

.form-label {
  display: inline-block;
  font-size: 16px;
  margin: 0 5px 5px 0;
  text-align: right;
  width: 100px;
}

.field {
  border: 1px solid #ccc;
  box-sizing: border-box;
  display: inline-block;
  font-size: 16px;
  padding: 10px;
  margin-bottom: 15px;
  width: 240px;
}
.field.field-short {
  width: 70px;
}

.message {
  display: inline-block;
}

.form-button {
  background: linear-gradient(180deg, #808080, #2a2a2a);
  border: none;
  border-radius: 0;
  color: white;
  display: inline-block;
  padding: 10px;
  font-size: 16px;
}

/*
:required + .message::before {
  content: "* ";
}
*/

.text-field:focus:required:valid {
  outline: green solid 2px;
}
.text-field:focus:required:invalid {
  outline: orange solid 2px;
}

.date-field {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.date-field:focus:in-range {
  outline: green solid 2px;
}
.date-field:focus:out-of-range {
  outline: orange solid 2px;
}

.website-field:focus:valid {
  outline: green solid 2px;
}
.website-field:focus:invalid {
  outline: orange solid 2px;
}



.song-field:focus:invalid + .message::after {
  color: darkred;
  content: "กรุณากรอกชื่อเพลง";
}
.artist-field:focus:invalid + .message::after {
  color: darkred;
  content: "กรุณากรอกชื่อศิลปิน";
}
.full_name-field:focus:invalid + .message::after {
  color: darkred;
  content: "กรุณากรอกชื่อ-นามสกุล";
}
.phone-field:focus:invalid + .message::after {
  color: darkred;
  content: "กรุณากรอกเบอร์โทรศัพท์";
}




.first-name-field:focus:invalid + .message::after {
  color: orange;
  content: "Required your first name";
}

.last-name-field:focus:invalid + .message::after {
  color: orange;
  content: "Required your last name";
}

.dob-field:focus:out-of-range + .message::after {
  color: orange;
  content: "Date is out of range";
}

.tel-field:focus:invalid + .message::after {
  color: orange;
  content: "Required telephone number";
}

.email-field:focus:invalid + .message::after {
  color: orange;
  content: "Required email address";
}

.website-field:focus:invalid + .message::after {
  color: orange;
  content: "Required valid URL";
}