/* Inline field errors. Shown after blur, then updated on each change. */
.field-msg {
  display: block;
  clear: both;
  width: 100%;
  max-width: 300px;
  margin: 4px 0 0;
  color: #8f1d1d;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.35;
}

.webform .input input.is-invalid,
.webform .input select.is-invalid,
.webform .input textarea.is-invalid,
.widget .is-invalid {
  border-color: #8f1d1d !important;
}

.widget .field-msg {
  max-width: none;
  margin: 6px 0 10px;
}

/* Backup reservation form. The page stylesheet caps every control at 300px,
   which hides the end of a real email address or town name. */
#webForm.webform .input {
  max-width: 36rem;
}

#webForm.webform .input > span,
#webForm.webform .input input,
#webForm.webform .input select,
#webForm.webform .input textarea {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}

#webForm.webform .input textarea {
  height: 150px;
  min-height: 150px;
  resize: vertical;
  overflow: auto;
}

.field-count {
  display: block;
  width: 100%;
  max-width: 36rem;
  margin: 4px 0 0;
  color: #333;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.35;
}

.field-count.is-over {
  color: #8f1d1d;
}
