.label-hidden {
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px); }

.form-item {
  box-sizing: border-box;
  max-width: 100%; }
  .form-item + .form-item {
    margin-top: 1.5rem; }
  .form-item ~ .form-actions {
    margin-top: 1.5rem; }
  .form-item .error {
    border-color: #9b2743;
    color: #9b2743; }
  .form-item summary,
  .form-item legend {
    color: #000;
    margin: 0 0 0.7rem; }
  .form-item .form-item__text,
  .form-item .form-text {
    border: solid 1px #ddd; }
    .form-item .form-item__text.error,
    .form-item .form-text.error {
      border-color: #9b2743; }
    .form-page__form .form-item .form-item__text, .form-page__form
    .form-item .form-text {
      width: 100%; }
  .form-item.is-error .form-item__text,
  .form-item.is-error .form-text {
    color: #9b2743; }
  .form-item.is-disabled .form-item__text,
  .form-item.is-disabled .form-text {
    color: #ddd; }
  .form-item .form-item__text,
  .form-item .form-text,
  .form-item select {
    padding: 0.7rem 1rem;
    max-width: 100%; }
    .l-narrow-one-col__content .form-item .form-item__text,
    .form-page__upper .form-item .form-item__text,
    .form-page__narrow .form-item .form-item__text, .l-narrow-one-col__content
    .form-item .form-text,
    .form-page__upper
    .form-item .form-text,
    .form-page__narrow
    .form-item .form-text, .l-narrow-one-col__content
    .form-item select,
    .form-page__upper
    .form-item select,
    .form-page__narrow
    .form-item select {
      width: 100%; }
    .form-item .form-item__text:focus,
    .form-item .form-text:focus,
    .form-item select:focus {
      outline: 0;
      border: 1px solid #2d7abf;
      box-shadow: none; }
  .form-item .form-radio.form-item__text, .form-item .form-radio.form-text,
  .form-item .form-checkbox.form-item__text,
  .form-item .form-checkbox.form-text {
    width: auto;
    border: 0;
    padding: 0 1rem; }
  .form-item select {
    height: 41px;
    padding: 0 35px 0 15px;
    min-width: 100px;
    width: 100%; }
  .form-item .description {
    margin-top: 0.5rem;
    font-weight: bold; }
  .form-item #edit-current-pass--description {
    margin: 16px 0; }
  .form-item label {
    display: block;
    margin-bottom: 0.7rem; }

@media (min-width: 55em) {
  .form-item--inline__button .form-item__text, .form-item--inline__button
  .form-text {
    display: inline; } }

.form-item--wide .form-item__text,
.form-item--wide .form-item__text-area {
  width: 100%; }

.form-item__inline,
.form-item__inline form {
  display: inline-block; }
  .form-page__form .form-item__inline, .form-page__form
  .form-item__inline form {
    display: block; }

.form-item__label {
  display: block;
  font-weight: bold;
  margin-bottom: 0.25rem;
  letter-spacing: 0.02em; }
  .form-required .form-item__label::after, .form-item__label.form-required::after {
    content: '*';
    color: #9b2743;
    margin-left: 0.2rem; }
  .is-disabled .form-item__label {
    color: #ddd; }
  .label-hidden .form-item__label {
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px); }
  .js-form-type-radio .form-item__label,
  .js-form-type-checkbox .form-item__label {
    font-weight: normal;
    line-height: 1; }

.form-item__error {
  white-space: nowrap;
  max-height: 0;
  overflow: hidden; }
  .is-error .form-item__error {
    max-height: 500px;
    border: 1px solid #9b2743;
    margin: 1rem 0 2rem;
    padding: 1rem; }

.form-required .form-item-description {
  font-weight: bold;
  color: #9b2743;
  margin-top: 0.25rem; }

.form-item__text-area {
  width: 100%;
  border: solid 1px #ddd;
  padding: 8px 12px;
  min-height: 150px; }

.form-item-zipcode {
  width: 75%;
  display: inline; }
  .form-page__form .form-item-zipcode {
    width: 100%;
    display: block; }

fieldset {
  margin-top: 1rem;
  padding: 0;
  border: 0; }

legend {
  width: 100%;
  font-weight: bold; }
  legend::before {
    display: block;
    content: '';
    border-top: 1px dotted #464646;
    padding-bottom: 0.65rem; }
  legend .form-required::after {
    content: '*';
    color: #9b2743;
    margin-left: 0.2rem; }

.form-item--inline__button {
  position: relative; }
  .form-item--inline__button::after {
    content: '';
    display: table;
    clear: both; }
  .form-item--inline__button input,
  .form-item--inline__button button {
    float: left; }

.form-item__error-link {
  font-weight: bold;
  text-decoration: underline; }
