/* GENERAL STYLES */

body {
  margin: 0 auto 2em;
  width: 90%;
  max-width: 45em;
  color: #321;
  background-color: #fed;
  }
body#home, body#exhib_info {
  padding-top: 170px;
  }
body#concessions, body#demos {
  max-width: 55em;
  }
body, table {
  font-family: Georgia, "Times New Roman", serif;
  }
h1 {
  text-align: center;
  }
a:link:hover, a:visited:hover {
  background-color: #cda;
  }
address { /* address footer */
  clear: both;
  font-size: smaller;
  margin-top: 2em;
  border-top: 1px dotted #321;
  padding-top: 1em;
  text-align: right;
  }
address span { /* left half of address footer */
  float: left;
  margin-right: 2em;
  }
hr {
  border: 1px dotted #321;
  border-width: 1px 0 0 0;
  }
.no-show {
  margin-left: -20em;
  height: 1px;
  }
.centered {
  display: block;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  }


/* MORE-SPECIFIC GENERAL ITEMS */

p#banner {
  text-align: center;
  margin: .5em 0 2em;
  }
p#banner a:hover, p#banner_split a:hover {
  background-color: transparent;
  }
p#banner img {
  width: 100%;
  max-width: 700px;
  min-width: 350px;
  border-width: 0;
  }
p#banner_split img {
  border-width: 0;
  }
p#banner_split img#A {
  float: right;
  margin: 2em 0 1em 2%;
  }
p#banner_split img#B {
  float: left;
  margin: 2em 2% 1em 0;
  }
img#map {
  float: right;
  padding: 0 0 2px;
  background-color: #fff8ee;
  border: 1px dotted #321;
  margin: 0 0 2em 1em;
  }

/* inset images and text boxes */
div.inset-text {
  float: right;
  clear: right;
  width: 18em;
  max-width: 50%;
  padding: 0 1em;
  margin: 1em 0 1em 1em;
  border: 1px dotted #321;
  }
img.inset-graphic {
  float: right;
  padding: 0 0 2px;
  background-color: #654;
  border: 1px solid #ba9;
  border-width: 0 2px 2px;
  margin: 1em 0 1em 1em;
  }
img.go-left {
  float: left;
  margin: 1em 1em 1em 0;
  }
img.lead-in { /* added because giving all inset-graphics 0 top margin means bad floats */
  margin-top: 0;
  }
p#hero { /* some dominant upper-left image */
  float: left;
  padding: 1em;
  margin: 0 1em 1em 0;
  border: 1px dotted #321;
  }
h2.sub-hero { /* a heading following a hero image */
  clear: left;
  }
img.generic { /* non-floated, non-framed image */
  padding: 1em;
  border: 1px dotted #321;
  }
p.starred {
  padding-left: 25px;
  background: url(images/redstar.gif) top left no-repeat;
  }
abbrev[title], acronym[title] {
  color: #930;
  }
div#lonelymessage { /* SINGLE-MESSAGE PAGES (THANK YOU, ETC.) */
  margin: 2em 10% 6em;
  padding: 0 1em;
  border: 1px dotted #642;
  }
span.construction {
  background: #f96;
  padding: .1em;
  }
span.dropcap {
  float: left;
  font-size: 2em;
  font-weight: bold;
  position: relative;
  top: -.2em;
  }

/* UNIQUE PIECES */

div#ratecard { /* exhib-info page */
  float: right;
  margin-left: 1em;
  }
div#ratecard h3 {
  margin-top: 0;
  }
div#ratecard td[title] {
  cursor: help;
  }
div#sponsor-opps h3 { /* sponsors page */
  font-size: 1em;
  float: left;
  color: #732;
  margin: 0 1em 0 0;
  }
#sponsors-page { /* looks too plain with only one platinum sponsor, so... */
  background: #fed url(images/corn_palegold.gif) repeat-x fixed;
  }
#sponsors-page h1, #sponsors-page p {
  margin-left: 10%;
  margin-right: 10%;
  text-align: center;
  }
div#sponsors h2 {
  color: #732;
  font-size: 1em;
  }
div#sponsors img {
  float: right;
  clear: right;
  margin-left: 2em;
  }
div#sponsors p q { /* used with Bauer Power's sponsor statement (removed) */
  font-style: italic;
  font-size: smaller;
  color: #732;
  }
div#sponsors ul {
  list-style-type: none;
  }
div#sponsors ul#primary li {
  margin-left: 1em;
  text-indent: -1em;
  }
div#sponsors ul#primary span.sponsname {
  font-weight: bold;
  font-size: larger;
  }
div#sponsors span.donor {
  font-weight: bold;
  color: #732;
  }
ul.tightlist { /* schedule page */
  margin: 0 0 0 1em;
  padding: 0;
  list-style-position: inside;
  text-indent: -1em; 
  }
dl#familytent {
  max-width: 30em;
  margin: auto;
  }
dl#familytent dt {
  margin-top: .5em;
  color: #732;
  }
dl#familytent dd.donor {
  font-style: italic;
  font-size: small;
  line-height: 1.6;
  }


/* NAVIGATION MENU */

div#secondary-nav {
  margin-top: 2em;
  clear: both;
  }
div#secondary-nav h2 {
  margin: 0 0 0 -1000px;
  height: 5px;
  padding: 0;
  }
div#secondary-nav ul {
  margin: 0;
  padding: 0 5%;
  text-align: center;
  font-size: smaller;
  line-height: 1.4;
  }
div#secondary-nav li {
  list-style-type: none;
  display: inline;
  padding: .5em;
  }
div#secondary-nav li a {
  padding: .25em;
  }

/* PARTICIPANT INFO */

dl.illustrated dt { /* people lists with a pic at right */
  font-weight: bold;
  margin-top: 1em;
  clear: both;
  }
dl.illustrated dd {
  margin-top: .25em;
  }
dl.illustrated dd img, .demo-detail img {
  float: right;
  clear: right;
  margin: 0 0 1em 1em;
  padding: .5em;
  border: 1px dotted #321;
  }
dl.illustrated ul {
  margin-top: .5em;
  margin-bottom: .5em;
  }
div#presentations { /* presenters page */
  float: right;
  width: 50%;
  }
div#presenter-bios {
  float: left;
  width: 45%;
  font-size: smaller;
  padding-right: 2%;
  }


div.variety {
  float: left;
  margin: 1em 2% 1em 0;
  border: 1px dotted #321;
  padding: 1em 2%;
  width: 26%;
  min-width: 190px; /*largest image is 180px wide */
  max-width: 16em;
  }  
div.variety dt {
  font-weight: bold;
  color: #732;
  }
div.variety dd {
  margin-left: 0;
  padding-left: 0;
  margin-top: .4em;
  }
div.variety img {
  display: block;
  margin: .5em auto;
  }
div.variety ul.menu, div.variety ul.menu ul {
  font-size: small;
  list-style-type: none;
  margin-left: 0;
  padding: .5em;
  background-color: #fff8ee;
  }
div.variety ul.menu ul {
  font-size: small;
  font-style: italic;
  padding: 0 5% 0 10%;
  }
div.variety ul.menu li {
  border-top: 1px dotted #321;
  padding-top: .25em;
  margin-top: .25em;
  text-indent: -.5em;
  padding-left: .5em;
  }
div.variety ul.menu li:first-child,
div.variety ul.menu ul li {
  border: 0;
  padding-top: 0;
  }
#shawarma_king #dessert_list {
  text-indent: 0;
  padding-left: 0;
  }
#shawarma_king ul.locations {
  margin-top: .25em;
  margin-bottom: 0;
  }
#shawna_greenway img {
  float: right;
  margin: 0 0 .5em .5em;
  }


/* TABLES */

table.format1 {
  border-collapse: collapse;
  border: 1px solid #321;
  border-width: 0 1px 1px 0;
  }
table.format1 th, table.format1 td {
  padding: .5em;
  border: 1px dotted #321;
  }
table.format1 th {
  border-style: solid;
  color: #732;
  }
table.format1 span.time {
  display: block;
  margin: .25em 0;
  font-weight: bold;
  color: #732;
  }
table.format1 td {
  min-width: 5em;
  }
table.format1 th.hide {
  border: 0;
  }
table.format1 th.hide span {
  display: none;
  }
table.format2 td {
  text-align: center;
  }
td.blank {
  background-color: #edc;
  }


/* FORMS */

form#volunteer, form#inquiry, form#exhibitor, div#exhibprintform, div#exhib-options {
  border: 1px solid #642;
  padding: 1em 2em;
  background: #fed;
  }
.warning {
  color: red;
  background-color: #ff9;
  }
#contact input, #contact textarea {  /* so they're not so small */
  font-size: .8em;
  }
input.formbox {
  width: 20em;
  max-width: 100%;
  }
p#city input {
  width: 10em;
  }
p#state input {
  width: 3em;
  }
p#postal input {
  width: 5em;
  }
p#city, p#state, p#postal {
  float: left;
  margin-right: 1em;
  margin-top: 0;
  }
p#email {
  clear: left;
  }
span#hear_the_word {
  font-size: smaller;
  }


/* CONTACT AND VOLUNTEER FORMS */

input.timebox {
  width: 4em;
  }
fieldset, div.contact {
  border: 0;
  padding: 0;
  margin: 0;
  }
fieldset ul {
  margin: 0 0 .5em;
  padding: 0;
  }
fieldset ul li {
  list-style-type: none;
  margin: 0 0 .25em 1.5em;
  text-indent: -1.5em;
  }
div#interests2, fieldset#availability {
  float: right;
  width: 48%;
  }
div#interests2 {
  float: left;
  }
span#date_note {
  font-weight: normal;
  margin-left: .5em;
  }
p#time_range {
  margin-left: 1.5em;
  }
fieldset p {
  margin-top: 0;
  }
div#contact label {
  display: block;
  }
form hr {
  border: 1px solid #642;
  border-width: 1px 0 0 0;
  margin: 1em 0;
  }
p.postal {
  margin-left: 1.5em;
  }

/* EXHIBITOR FORMS */

div#exhibprintform h2 {
  font-size: 1em;
  }
div.exhibformcolumn {
  float: left;
  width: 45%;
  margin-right: 4%;
  }
div.exhibformcolumn ul {
  margin-left: 2.5em;
  padding-left: 0;
  }
div.exhibformcolumn li {
  list-style-type: none;
  text-indent: -1.5em;
  }
div.exhibformcolumn li p {
  margin: 0;
  }
div#exhib-options ul {
  margin-left: 4%;
  padding-left: 0;
  }
div#exhib-options li {
  list-style-type: none;
  text-indent: 0;
  clear: both;
  margin-top: .5em;
  padding-top: .25em;
  border-top: 1px dotted #642;
  }
div#exhib-options li:first-child {
  border-top-width: 0;
  padding-top: 0;
  }
div#exhib-options li form { /* 'Add to Cart' buttons */
  float: right;
  margin: 0 0 .5em .5em;
  }
div#exhib-options li#halfpagead form {
  float: none;
  }
div#exhib-options li#halfpagead span#orientbutton {
  float: left;
  }
div#exhib-options li#halfpagead span#addbutton {
  float: right;
  }
ul#exhibformcontact {
  clear: both;
  margin: 0;
  padding: 1em 0;
  }
ul#exhibformcontact li {
  list-style-type: none;
  margin-bottom: .5em;
  }
div#exhib-options div#viewcart {
  text-align: center;
  }
span.unavailable {
  color: #987;
  text-decoration: line-through;
  }
span.sold {
  font-weight: bold;
  color: #732;
  font-variant: small-caps;
  letter-spacing: .1em;
  }


body#home {
  background: #fed url(images/spread.jpg) top center no-repeat;
  }
body#exhib_info {
  background: #fed url(images/pumpkinpile.jpg) top center no-repeat;
  }
body#formprintable {
  font-size: smaller;
  }
body#contact_volunteer ul li, body#exhibsign_form ul li {
  list-style-type: none;
  }
