.usa-form {
  @include typeset(
    $theme-form-font-family,
    $theme-body-font-size,
    $theme-input-line-height
  );
  @include border-box-sizing;
}

.usa-form {
  @include at-media("mobile-lg") {
    max-width: units("mobile");
  }

  .usa-input,
  .usa-range,
  .usa-select,
  .usa-textarea {
    // max width not needed since .usa-form has one of its own
    max-width: none;
  }

  .usa-input--2xs {
    max-width: 4ex;
  }

  .usa-input--xs {
    max-width: 7ex;
  }

  .usa-input--small,
  .usa-input--sm {
    max-width: 10ex;
  }

  .usa-input--medium,
  .usa-input--md {
    max-width: 20ex;
  }

  .usa-input--lg {
    max-width: 30ex;
  }

  .usa-input--xl {
    max-width: 40ex;
  }

  .usa-input--2xl {
    max-width: 50ex;
  }

  .usa-button {
    margin-top: units(1);

    @include at-media("mobile-lg") {
      margin-top: units(3);
    }
  }

  a {
    @include typeset-link;
  }
}

.usa-form--large {
  @include at-media("mobile-lg") {
    max-width: units("mobile-lg");
  }
}

.usa-form__note {
  @include typeset($theme-form-font-family, "2xs", 3);
  float: right;
  margin: units(0.5) 0 units(2);
}
