/*-------------------+
 | Part: Form styles |
 +-------------------*/


/* Global
======================================================================*/
fieldset { border: 1px solid #ddd; margin-bottom: 2em; padding: 1em 1.5em; }
input, select, textarea { font-size: 1em; }
input:focus, select:focus, textarea:focus { outline: 2px solid #0192ff; outline-offset: -1px; outline-radius: 3px; }
legend { background: #fff; font-size: 1.1em; margin: 0 0 0 -0.5em; padding: 0.1em 0.75em 0.1em; }
legend em { color: #777; font-size: 0.7em; font-style: normal; font-weight: normal; margin-left: 0.3em; }
textarea { height: 5em; }

/* Specifics
======================================================================*/
/* Buttons */
.btn { overflow: visible; font-size: 0.9em; margin-right: 0.5em; padding: 0.2em 0.7em 0.3em; vertical-align: middle; }
.btns { margin: 1.5em 0 1.5em 20%; }

/* Character counters */
.charcount { color: #777; float: right; font-weight: normal; margin-right: 0.5em; }
.charcount .over { color: #f00; font-weight: bold; }

/* Checklists */
.checklist { border: 1px solid #ccc; max-height: 20em; line-height: 1.4;  margin: 0 0 1em 0; overflow: auto; }
.checklist input { margin-bottom: 1px; }
.checklist label { display: block; padding: 0.1em 0 0.1em 25px; height: 1%; text-indent: -25px; }
.checklist li { background: none; display: block; float: none; margin: 0; padding: 0; white-space: normal; width: 100%; }
.checklist li p { margin: 0; padding: 1em 0 0; }
.checklist li ul { margin: 0 0 0 2em; }
.checklist .mute { font-size: 1em; white-space: nowrap; }
.checklist p { font-weight: bold; margin-bottom: 0.25em; }
.checklist .selected { background: #ffa; }
.checklist ul { margin-bottom: 1em; }

/* Datepicker */
.ui-datepicker-trigger { background: none; border: 0; cursor: pointer; padding: 0; }

/* Fields */
.field { margin-bottom: 1em; position: relative; }
.field p { margin-bottom: 0.25em; }
.form { clear: both; height: 1%; }
.form dt { clear: both; font-weight: normal; margin: 0; }
.form dd.field { float: right; width: 65%; }
.form dt .label { float: left; text-align: right; width: 32%; }

  /* Multiple fields on a single line */
  .form .field-single-line { width: 47%; }
  .form .field-single-line p { float: left; margin: 0 1% 0 0; }
  .form .field-single-line .txt { width: 90%; }
  
    /* Location fields */
    .form .field-single-line .field-loc-city { width: 49%; }
    .form .field-single-line .field-loc-state { width: 14%; }
    .form .field-single-line .field-loc-state .txt { width: 68%; }
    .form .field-single-line .field-loc-postal { float: right; margin-right: 0; width: 33%; }
    
    /* Name fields */
      /* Full name */
      .form .fields-name-full .field-name-first { width: 42%; }
      .form .fields-name-full .field-name-last { margin-right: 0; width: 42%; }
      .form .fields-name-full .field-name-middle { margin-right: 4%; width: 10%; }
      
      /* Short name */
      .form .fields-name-short .field-name-first { width: 49%; }
      .form .fields-name-short .field-name-last { margin-right: 0; width: 50%; }
      
      /* With suffix */
      .form .fields-name-long .field-name-first { margin-right: 3%; width: 26%; }
      .form .fields-name-long .field-name-last { width: 42%; }
      .form .fields-name-long .field-name-middle { margin-right: 4%; width: 10%; }
      .form .fields-name-long .field-name-suffix { margin-right: 0; width: 13%; }
  
/* Google results */
.google-results a { margin-left: 0.25em; }
.google-results h2 { font-size: 1em; }
.google-results ul { list-style: none; margin: 0; }

/* Help text */
.field-help { color: #666; font-size: 0.8em; font-weight: normal; }

/* Hints */
.ezpz-hint { color: #777; font-style: italic; }

/* Notifications */
.flash { margin-bottom: 2em; }
.flash h2 { font-size: 1.3em; margin-bottom: 0.5em; }
.flash p { list-style: none; margin: 0; }

  /* Confirmation */
  .flash .confirm { background: #e8f8d1 url(/images/check.png) no-repeat 1em 1em; border: 2px solid #c8e999; padding: 1.5em 1.5em 1.5em 3.5em; }
  
  /* Errors */
  .error { background: url(/images/exclamation.png) no-repeat 0 0.25em; color: #f00; padding: 3px 0 3px 20px; }
  
  #errorExplanation, .flash .error {
    background: #ffc url(/images/error.gif) no-repeat 1em 1.1em;
    border: 2px solid #ea3c20;
    color: #f00;
    padding: 1.5em 1.5em 1.5em 3.5em;
  }
  
  .field-with-errors { color: #f00; }
  .field-with-errors .txt, .field-with-errors .txt-med { border: 2px solid #f00; }
  .label .field-with-errors { display: inline; }
  
  /* Notices */
  .flash .notice { background: #e0f0ff url(/images/notice.png) no-repeat 1em 1em; border: 2px solid #a1d0fb; padding: 1.5em 1.5em 1.5em 3.5em; }
  
  /* Warnings */
  .flash .warn { background: #fef5c6 url(/images/warning.png) no-repeat 1em 1em; border: 2px solid #ffcd36; padding: 1.5em 1.5em 1.5em 3.5em; }

/* Options */
.options-h, .options-v { list-style: none; margin: 0; }
.options-h img { border-bottom: 3px solid #fff; padding: 5px; vertical-align: middle; }
.options-h li, .options-v li { background: none; margin-bottom: 0.3em; padding: 0; }
.options-h li { display: inline; margin-right: 0.7em; white-space: nowrap; }
.options-v li { padding-left: 25px; text-indent: -25px; }

/* Required text */
.req { color: #f00; }

/* Text boxes */
.txt, .txt-date, .txt-med, .txt-num {
  border: 1px solid #ccc;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px #ddd;
  margin-right: 0.5em;
  padding: 0.3em;
  vertical-align: middle;
}

.txt { width: 95%; }
.txt-date { width: 7em; }
.txt-med { width: 47%; }
.txt-num { width: 4em; }