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

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

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

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

@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;
  }
}
