form {
  max-width: 40rem;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.form-field {
  padding: 0 0.5rem;
}

.form-field-label-wrapper {
  margin: 2em 0 1em 0;
}

.form-data {
  margin: 1em 0;
}

.form-input,
.form-select,
.form-textarea {
  width: calc(100% - .5em);
  padding: .25em;
  font-size: 1.25em;
}

.form-textarea {
  height: 10em;
}

@media screen and (min-width: 40rem) {
  form {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }

  .form-field {
    display: flex;
    width: 100%;
    align-items: center;
  }

  .form-field-label-wrapper {
    width: calc(50% - 1rem);
    margin-top: 1em;
    margin-right: 1em;
    text-align: right;
  }

  .form-data {
    width: calc(50% - 1rem);
    margin: 0;
    text-align: left;
  }

  .form-button-wrapper {
    width: 100%;
    text-align: center;
  }

  .form-button {
    width: initial;
  }

  .form-input,
  .form-select,
  .form-textarea {
    font-size: 1em;
  }
}
