form {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 2rem;
}

input,
textarea,
select {
  border: 1px solid;
  padding: 0.5rem 1rem;
  font: inherit;
}

fieldset {
  display: flex;
  gap: 1rem 2rem;
  width: 100%;
  flex-wrap: wrap;
}

legend {
    width: 100%;
    color: var(--headline-color);
    margin-bottom: .5em;
    font-size: 1.17em;
    font-weight: bold;
}

fieldset > label:first-child {
  display: inline-block;
  min-width: 12rem;
}

.form-row {
  display: flex;
  width: 100%;
  color: var(--white);
  background-color: var(--creart);
  align-items: baseline;
  flex-wrap: wrap;
}

.form-row > * {
  padding: 0.5rem 1rem;
}

.form-row > label {
  min-width: 22.5rem;
  width: min-content;
}

aside .form-row > label {
  min-width: min-content;
}

.form-row > :not(label) {
  flex-grow: 1;
  border: none;
  align-self: stretch;
}

.errormessage {
  background-color: var(--red);
  color: var(--white);
  font-size: 0.8em;
  padding-top: 0;
  padding-bottom: 0;
  display: flex;
  align-items: center;
  width: 100%;
}

#form_errors:empty {
  display: none !important;
}

@media (max-width: 480px) {
  fieldset label {
    padding: 10px 0 0 0;
  }
  input,
  textarea {
    width: 100%;
  }
  /* fieldset input {
    margin: 0 0 5px 0;
  } */
  fieldset .required label {
    width: 25%;
  }
  fieldset label {
    padding: 7px 0 0 0;
  }
}
