.form-row {
  display: flex;
  flex-flow: row wrap;
  margin-bottom: 20px;
}

.form-sub-row {
  display: inline-block;
}

form label {
  width: 120px;
}

form .required:after {
  content: " *";
  color: red;
}

form input[type='text'], form input[type='date'], form select, form fieldset, form textarea {
  flex-grow: 1;
}

form textarea {
  width: 100%;
  resize: none;
}

form select {
  max-width: 100%;
  text-overflow: ellipsis;
}

form input:invalid:not(:focus) {
  border: 2px inset red;
}

#success-fields, #failure-fields {
  display: none;
  margin-top: 6px;
}

#time-inputs input {
  width: 70px;
}
