.as-modern-form input,
.as-modern-form textarea,
.as-modern-form select {
  min-width: 0;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.as-modern-form textarea {
  min-height: 132px;
  resize: vertical;
}

.as-field--invalid input,
.as-field--invalid textarea,
.as-field--invalid select {
  background: #fffafa;
  border-color: #d92d20;
  box-shadow: 0 0 0 3px rgba(217, 45, 32, .1);
}

.as-error-text,
.as-help {
  display: block;
  line-height: 1.45;
  margin-top: 6px;
}

.as-error-text {
  color: #d92d20 !important;
  font-weight: 800;
}

.as-form-errors--summary {
  font-weight: 700;
}

.as-form-errors--summary strong {
  display: block;
  margin-bottom: 8px;
}

.as-form-errors--summary ul {
  margin: 0;
  padding-left: 19px;
}

.as-form-errors--summary li {
  margin: 4px 0;
}

.as-field span {
  line-height: 1.3;
}

.as-submit-btn {
  text-align: center;
  white-space: normal;
}

@media (max-width: 640px) {
  .as-form-errors--summary ul {
    padding-left: 18px;
  }

  .as-field span,
  .as-help,
  .as-error-text {
    font-size: .94rem;
  }

  .as-modern-form input,
  .as-modern-form textarea,
  .as-modern-form select {
    border-radius: 14px;
    padding: 13px 14px;
  }
}
