form {
  abbr[title] {
    border-bottom: 0 none;
  }

  input {
    @include reset-normalize-form-inputs;
  }

  input[type="checkbox"] {
    float: left;
    margin-right: 5px;
    position: relative;
    top: 5px;
  }

  input[type="email"], input[type="tel"], input[type="text"], textarea {
    // layout
    box-sizing: border-box;
    width: 100%;
    
    // styling
    background-color: $form-input-bg;
    border-radius: 5px;
    color: $form-input-text;
    font-family: "Lato", Arial, Verdana, sans-serif;
    outline: none;

    &:focus {
      color: $form-input-text-focus;
    }
  }

  input[type="submit"] {
    @extend .button;
    @extend .button-primary;

    // layout
    padding: 10px 30px !important;

    // styling
    border: 0 none !important;
  }

  label {
    // layout
    display: block;
    margin-bottom: 10px;
  
    // styling
    color: $form-label;
    font-weight: bold;
  }

  select {
    // Webkit fixes
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;

    // styling
    background: image_url("forms/form-select-arrows.png") 90% 50% no-repeat $form-select-bg;
    border: 2px solid $form-select-border;
    outline: none;
  }

  .error {
    // layout
    display: block;

    // styling
    color: $form-error-border;
    font-size: 0.688em; /* 13px */
  }

  .field-with-errors, .field_with_errors {
    input, select {
      background: image_url("forms/form-error.png") 99% 50% no-repeat;
      border: 2px solid $form-error-border;
    }
  }

  .form-row {
    margin-bottom: 10px;
  }
}