fieldset { margin: 0 0 18px 0; }
fieldset.highlight { padding: 10px 10px 10px 0; background: #ebeff2; }
fieldset .legend { margin-bottom: 9px; border-bottom: 1px solid #b3c9e1; font-weight: normal; color: #697a85; }
fieldset h4.error { padding-top: 0; padding-bottom: 9px; color: #cc0000; }

fieldset p                { margin: 0; padding: 9px 0; font-size: 13px; color: #697a85; overflow: hidden; }
fieldset p label          { display: block; float: left; padding-right: 10px; width: 100px; text-align: right; }
fieldset p em.error       { float: left; display: block; margin-left: 110px; font-size: 12px; color: #cc0000; }
fieldset.highlight input, fieldset.highlight textarea { background: #fff; }
fieldset p span           { float: left; display: block; background-color: #fff; }
fieldset p select         { width: 200px; }
fieldset p span.error     { border: 2px solid #CC0000; }
fieldset p span.help      { float: left; padding: 2px 0 0 5px; }
fieldset p span input, fieldset p span textarea { width: 300px; border: 1px solid #ccc; border-top-color: #777; border-bottom-color: #DDD; }
fieldset p span textarea  { height: 100px; }

fieldset.stack p label { float: none; width: auto; text-align: left; clear: both; }
fieldset.stack p span { float: none; }
fieldset.stack p span.tall textarea { width: 98%; height: 200px; }

label { display: inline; }
input, select, textarea { margin: 0; padding: 7px; border: 1px solid #ccc; border-top-color: #777; border-bottom-color: #DDD; background: #ebeff2; }
input:focus, textarea:focus { background: #fff; }

.poll input.button { float: left; width: auto; margin: -2px 5px 0 0; padding: 0; border: none; text-shadow: none; -webkit-box-shadow: none; -moz-box-shadow: none; }

.h1 input, .h1 select { font-size: 22px; line-height: 24px; font-weight: bold; }
.h2 input, .h2 select { font-size: 18px; line-height: 21px; font-weight: bold; }
.h3 input, .h3 select { font-size: 16px; line-height: 18px; font-weight: bold; }
.h4 input, .h4 select { font-size: 14px; line-height: 18px; font-weight: bold; }
.h5 input, .h5 select { font-size: 12px; line-height: 18px; font-weight: bold; }
.h6 input, .h6 select { font-size: 10px; line-height: 18px; font-weight: bold; }

.state input { width: 40px; }
.date input { width: 100px; font-size: 14px; font-weight: bold; }
.time input { width: 50px; font-size: 14px; font-weight: bold; }
.time select { margin-right: 5px; width: auto; }

.help { font-family: georgia, times, serif; }
.required { font-weight: bold; }
.submit { padding: 3px 0; padding-left: 108px; }
fieldset.stack .submit { padding-left: 0; }

fieldset p.desc textarea { width: 98%; height: 200px; }

fieldset.attributes label { width: 200px; }
fieldset.attributes p { padding: 3px 0; }
fieldset.attributes select { width: 85px; }

span.checkboxes { float: left; }
span.checkboxes ul { list-style: none; padding: 0; margin-top: 0; }
span.checkboxes ul li label { float: none; width: auto; text-align: left; }
span.checkboxes ul li label input { width: auto; }

table.hours { width: 100%; }
table.hours th { font-weight: bold; color: #697a85; }
table.hours td { padding: 3px 0; }
table.hours .day { padding-right: 10px; text-align: right; font-size: 14px; color: #697a85; }
table.hours .open input { width: 80px; }
table.hours .close input { width: 80px; }


/* Search page */
#basic_search p { padding: 20px 0 0 0; }
body.search input.q, body.search #id_query { float: left; margin-right: 10px; width: 300px; font-size: 18px; font-weight: bold; }
body.search input.button { margin: 3px 5px 0 0; padding: 0; border: none; }

#advanced_criteria {
  margin-right: 0;
}
#advanced_criteria h4 {
  padding-bottom: 3px;
  border-bottom: 1px solid #b3c9e1;
  color: #697a85;
}
#advanced_criteria .date-range {
  margin-bottom: 10px;
  margin-right: 0;
  padding-left: 10px;
  background: #ebeff2;
  font-size: 12px;
}
#advanced_criteria .date-range input {
  background: #fff;
}
#advanced_criteria ul {
  list-style: none;
  font-size: 13px;
}
#advanced_criteria ul li {
  margin: 2px 0;
}
#advanced_choices {
  border-bottom: 1px solid #b3c9e1;
}
#advanced_choices .author {
  padding-left: 20px;
  width: 100%;
  clear: both;
}
#advanced_choices .author input {
  float: none;
  display: inline;
}
#advanced_choices .models:after {
  content:".";
  display:block;
  height:0;
  clear:both;
  visibility:hidden;
  margin-bottom:20px;
} /* Clear fix */
#advanced_choices .models {
  zoom:1;
} /* IE */
#advanced_criteria .models ul li {
  display:block;
  float:left;
  width:150px;
}
/* I would prefer to do this in the template with a filter,
   but form fields are not currently iterable. */
#advanced_criteria .models ul li label {
  text-transform: capitalize;
}



form#subscription-offer { margin-top:1.5em; }
form#subscription-offer fieldset { padding:1em; border:none; border-top:1px solid #ccc; }
form#subscription-offer fieldset.completed { display:none; }
form#subscription-offer legend { display:none; }
form#subscription-offer .form-row { display:block; padding-bottom:.6em; }
form#subscription-offer .note { display:block; font-size:80%; color:#666; text-transform:uppercase; }
form#subscription-offer .completed { display:none; }
form#subscription-offer .warning { color:#CC0000; font-weight:bold; }
form#subscription-offer label { margin-right:6px; }
form#subscription-offer .aligned label { width:9em; float:left; padding-bottom:1em; }
form#subscription-offer .wide label { width:11em; }
form#subscription-offer .secondary label { margin-left:3em; }
form#subscription-offer .required label, form label.required { font-weight:bold; }
form#subscription-offer ul.option-list { padding-left:0; }
form#subscription-offer .option-list li { list-style-type:none; }
form#subscription-offer input { font:110% Arial,Helvetica,sans-serif; color:#333; vertical-align:middle; margin-bottom:4px; }
form#subscription-offer input.tiny { width:3em; }
form#subscription-offer input.small { width:5em; }
form#subscription-offer fieldset.submit { padding-top:2em; background-color:transparent; }


form.tabled { margin-top:1.5em; }
form.tabled fieldset { padding:1em 0; border:none; }
form.tabled fieldset.completed { display:none; }
form.tabled legend { display:block; width:75%; margin-bottom:1em; color:#88949b; border-bottom:1px solid #ccd9df; font-size:16px; font-weight:normal; }
form.tabled .form-row { display:block; padding-bottom:.6em; }
form.tabled .note { display:block; font-size:80%; color:#666; text-transform:uppercase; }
form.tabled .completed { display:none; }
form.tabled .warning { color:#CC0000; font-weight:bold; }
form.tabled fieldset label { margin-right:6px; }
form.tabled fieldset label { width:9em; float:left; padding-bottom:1em; }
form.tabled label.sidebyside { width:0; float:none; padding-bottom:0; padding-left:5.5em; }
form.tabled .checkbox label { clear:both; width:0; float:none; padding-bottom:0; }
form.tabled .wide label { width:11em; }
form.tabled .secondary label { margin-left:3em; }
form.tabled .required label, form label.required { font-weight:bold; }
form.tabled ul.option-list { padding-left:0; }
form.tabled .option-list li { list-style-type:none; }
form.tabled fieldset input, form.tabled select { font:110% Helvetica,Arial,sans-serif; color:#333; vertical-align:middle; margin-bottom:4px; }
form.tabled input.tiny { width:3em; }
form.tabled input.small { width:5em; }
form.tabled fieldset.submit { padding-top:2em; background-color:transparent; }

/* /search/ SEARCH FORM STYLE OVERRIDES
------------------------------------------------------------------------------ */

.content_title .search_form { width:620px; }
.content_title .search_form p { width:500px; }
.content_title .search_form p input { width:480px; }
