/**
 * @file
 * Form Styling
 */

@import "base";


.form-item { /* Wrapper for a form element (or group of form elements) and its label */
  margin: 1.5em 0;

  input.error,
  textarea.error,
  select.error { /* Highlight the form elements that caused a form submission error */
    border: 1px solid #c00;
  }

  label { /* The label for a form element */
    display: block;
    font-weight: bold;
  }

  label.option { /* The label for a radio button or checkbox */
    display: inline;
    font-weight: normal;
  }

  .form-required { /* The part of the label that indicates a required field */
    color: #c00;
  }

  .description { /* The descriptive help text (separate from the label) */
    font-size: 0.85em;
  }

  .form-checkboxes & ,
  .form-radios & { /* Pack groups of checkboxes and radio buttons closer together */
    margin: 0; /* Drupal core uses "0.4em 0" */
  }
}

.form-submit { /* The submit button */
}

.container-inline {
  div,
  label { /* Inline labels and form divs */
    display: inline;
  }
}

.tips { /* Tips for Drupal's input formats */
}

a.button { /* Buttons used by contrib modules like Media */
  @include appearance(button);
}

/*
 * Password confirmation
 */

.password-parent,
.confirm-parent {
  margin: 0;
}

/*
 * Search (search-block-form.tpl.php)
 */

#block-search-form { /* Wrapper for the search form */
}

/*
 * Drupal's default login form block
 */

#user-login-form {
  text-align: left; /* LTR */

  /*
   * OpenID
   *
   * The default styling for the OpenID login link seems to assume Garland's
   * styling of list items.
   */

  ul { /* OpenID creates a new ul above the login form's links. */
    margin-bottom: 0; /* Position OpenID's ul next to the rest of the links. */
  }

  html.js & li.openid-link,
  li.openid-link { /* The "Log in using OpenID" link. */
    margin-top: 1.5em;
    margin-left: -20px; /* LTR */ /* Un-do some of the padding on the ul list. */
  }

  li.user-link { /* The "Cancel OpenID login" link. */
    margin-top: 1.5em;
  }
}

#user-login ul {
  margin: 1.5em 0;
}

/*
 * Drupal admin tables
 *
 * We overrode these styles in normalize.css, but restore them for the admin
 * section of the site.
 */

form {
  th {
    text-align: left; /* LTR */
    padding-right: 1em; /* LTR */
    border-bottom: 3px solid #ccc;
  }

  tbody {
    border-top: 1px solid #ccc;
  }

  tr.even {
    background-color: #fff;
  }

  table .item-list ul {
    margin: 0;
  }
}

@if $legacy-support-for-ie6 or $legacy-support-for-ie7 {
  .lt-ie8 tr.even,
  .lt-ie8 tr.odd {
    th,
    td {
      border-bottom: 1px solid #ccc; /* IE doesn't display borders on table rows */
    }
  }
}

/*
 * Drupal core wrongly puts this in system.menus.css. Since we override that, add it back.
 */

td.menu-disabled {
  background: #ccc;
}
