* {
	margin: 0;
	padding: 0;
}
a:link,
a:visited,
a:hover {
	color: #3333ff;
}

img {
	border: 0 none;
}
body {
	font: 100% Verdana, Arial, Helvetica, sans-serif;
	background: #666666;
}
em {
	font-style: normal;
	font-weight: bold;
}
#the_page{
border: 1px solid black;
width:1000px;
margin: 0.5em auto;
}
#header, #mid, #footer{
width: 1000px;
}
#header {
	background-color:#000;
	color: #FFFFFF;
	padding: 0 0 0.5em 0; /* 0 10px matches... what? */
	overflow: hidden;
	clear: both;
}
#header div {
	font-size: 1.5em;
	text-align: center;
	margin: 0 auto;
}
#mid{
	background-color:#fff;
	overflow:hidden;
	text-align: left;
}
#content{
	background-color:#fff;
	width:760px;
/*	border-left:240px solid #A02409;  /* The width and color of the rail */
/*  margin-left:150px; /* Hat tip to Ryan Brill */
	float:left;
}


/***   COLORS: is the red darker rgb(102, 0, 0)  or lighter #A02409 ?   ***/
#rail{
	background-color:#A02409;
}
#content{
	border-left:240px solid #A02409;  /* The width and color of the rail */
}

#content h3, h2.schedule, .registration h2,
.presenters h2, .hotel h2, .expect h2, .vendors h2,
.bio h2, .bio h3, #footer a {
	color: #A02409;
}



.hotel em {
	font-style: normal;
	text-decoration: none;
	font-weight: bold;
}

.bio h4 {	/* class names */
	font-style: italic;
}
.bio, .presenters, .expect, .hotel, .vendors, .registration,
ol .key {
	font-size: 0.8em;
}
.registration p {
	margin-bottom: 1em;
	text-align: justify;
}
.presenters p.last, p.last {
	margin-bottom: 0;
}
/* .bio h2 {
	font-size: 1.2em;	/* 18px *//*
}
.bio h4 {
	font-size: 0.9em;	/* 13px *//*
} */
h2.schedule, .hotel h2, .expect h2, .vendors h2 {
/*	margin: 0.5em 0 0.5em 0.3em; */
	margin: 0.5em 0 0.5em 16px;
}
.bio h2, .bio h3, .bio h4, .bio h5,
.registration h2,
.presenters h2 {
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}
.hotel h4 {
	margin-top: 2em;
	font-size: 1em;
}
.bio p, .vendors p,
.hotel p, .expect p,
.presenters p {
	margin-bottom: 1em;
}

.bio ol,
.bio ul {
	margin: 0 1em 1em 3em;
}

hr {
	margin: 1em auto;
}

ol .key {
	margin-left: 1em;
}
#rail{
	color:#fff;
  width:240px;
  float:left;
  margin-left: -1000px;
  overflow: hidden;
  padding: 0.8em 0;
}
#rail a:link,
#rail a:visited,
#rail a:hover {
	color: #ffffff;
	text-decoration:none;
}
.sidemenu {
	list-style-type: none;
	font-size: 1.0em;
	padding: 0;
	margin: 0 0 1.0em 1.5em;
	font-variant: small-caps;
}
.sidemenu .spaced{
	margin: 1.0em 0 0 0;
}

ol.ppl, ol.contacts {
	list-style-type: none;
	font-size: 0.8em;
	padding: 0;
	margin: 1.0em 0 1.0em 1.5em;
}
ol.ppl ol {
	list-style-type: none;
}
#footer{
  background-color:#DDDDDD;
  padding: 0.7em 0;
  clear:both;
  overflow: hidden;
}
#footer a {
	text-decoration: none;
	font-weight: bold;
}
.expect ul {
	list-style-type: circle;
	margin-left: 4em;
	margin-bottom: 1.5em;
}
.expect ul ul {
	font-size: 0.9em;	/* 85em; */
	list-style-type: disc;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}

/** Special content formatting **/
.presenters td {
	padding: 0.8em 0 0.8em 1.0em;
}


table.schedule {
	margin: 1em auto 2em auto;
	border-collapse: collapse;
	width: 751px;
}
.schedule h3{
	font-size: 1.35em;
	padding-bottom: 0.2em;
	margin-left: 0;
}
/* 715px total...  -25 -50 -50 -50 +175=0  */
.schedule .col1{
	width: 90px;
}
.schedule .col2{
	width: 150px;
}
.schedule .col3{
	width: 150px;
}
.schedule .col4{
	width: 150px;
}
.schedule .col5{
	width: 175px;
}
.schedule tr.spacer td {
	height: 30px;
}
.schedule tr.title td {
	border: none;
}
.schedule td {
	border: 1px solid #AAA;
/*
	border-top: 1px solid black;
	border-bottom: 1px solid black;
	border-left: 1px solid black;
	border-right: 1px solid black;
*/
	padding: 0 0.2em;
	margin: 0;
	font-size: 0.8em;
}
.schedule td.times {
	font-size: 0.9em;	/*100%;*/
	border: none;
}
.schedule td.rooms {
	border: none;
	padding-top: 5px;
	text-align: center;
	vertical-align:bottom;
	font-variant: small-caps;
}
.schedule h5.rooms {
	font-variant: small-caps;
	font-weight: normal;
	font-size: 1em;
	margin: 0;
}
.schedule td.empty {
	border: none;
}
table.schedule tr.med_ht td {
	height: 40px;
}
table.schedule tr.time_dotted_bottom td.times {
	border-bottom: 1px dotted #555;
}
table.schedule td.large {
	background-color: #FFFFFF;
}
table.schedule td.large h4.subheader {
	font-weight: normal;
	font-size: 0.75em;
}
table.schedule tr td div.header {
	text-align: center;
}
.schedule td.all {
/*	border: none; */
	background-color: #EEEEEE;
	padding: 0.2em 0.3em;
	font-size: 100%;
	text-align: center;
}
.schedule td.tall {
	padding: 1em 0;
}
.schedule td.all h4 {
	margin: 0;
	font-size: 0.9em;
}
.schedule td.all a {
	font-size: 0.7em;
}
.schedule td.all h4 a {
	font-size: 0.85em;
	font-weight: normal;
}
.schedule td h3 {
	margin: 0 0 0.2em 0;
	padding: 0;
}
.schedule td h4 {
	font-size: 100%;
	margin: 0;
}
.schedule td a,
.bio h5 a {
	text-decoration: none;
}
.schedule td h4 a {
/*	text-decoration: underline; */
}
h1, h2, h3, h4, h5, p,
.bio img { /* h3, p {*/
	margin-left: 16px; /*1em;*/
	margin-right: 16px; /*1em;*/
}
div.schedule p {
	font-size: 0.9em;
}
p.more {
	margin-bottom: 1em;
}
h3.side_logo {
	margin: 10px 0 10px 20px;
}
h3.side_logo img {
	display: inline;
	overflow: show;
}
ol.sidemenu li.side_logo {
	margin-left: -4px;
	clear: both;
	overflow: show;
}

div.timestamp {
	font-size: 0.6em;
	color: #777777;
	text-align: right;
	margin: 0 5px 5px 0;
}

table.schedule div.footnote {
	font-size: 0.8em;
	color: #777777;
	text-align: right;
	margin: 0 5px 5px 0;
}


/** Styles for particular pages - can we organize and aggregate them? **/
/* div#mid div.about h2,
div#mid div.about h5,
div#mid div.about ol,
div#mid div.about p,
div#mid div.home h2,
div#mid div.home p
{
	margin-left: 16px;
	margin-right: 16px;
}
*/
div#mid div.about ol {
	margin-left: 3em;
	margin-bottom: 2em;
}
div#mid div.about p,
div#mid div.home p {
	margin-bottom: 16px;
	text-align: justify;
}
div#mid div.about p.imgtxt {
	font-size: 0.8em;
}
div#mid div.home {
	font-size: 0.8em;
}
.vendors img {
	margin: 10px auto;
	display: block;
	clear: both;
}

.registration div {
	margin-left: 16px;
}


/** DLs side-by-side **/
dl.contacts,
dl.distances {
	clear: both;
	padding: 0 0 2em 40px;
	overflow: hidden;
}
dl.contacts dt,
dl.distances dt{
	font-weight: normal;
	float: left;
	clear: left;
	text-align: center;
}
dl.contacts dd,
dl.distances dd{
	font-weight: normal;
	float: right;
	clear: right;
	text-align: left;
}
dl.contacts {
	font-size: 0.8em;
}
dl.distances dt{
	text-align: left;
}
dl.contacts {width: 600px;}
dl.contacts dt{width: 275px;}
dl.contacts dd{width: 300px;}

dl.distances {width: 551px;}
dl.distances dt{width: 400px;}
dl.distances dd{width: 150px;}

dl.distances dt.odd{background-color: #EEE;}
dl.distances dd.odd{background-color: #EEE;}


/**** TABLES ****/
table.classes {
	text-align: left;
	width: 95%;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1em;
/*	border-collapse: collapse; */
	border: 1px solid #AAA;
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
}
table.classes th,
table.classes td {
	border: 1px solid #AAA;
	border-left: 1px solid #000;
	border-top: 1px solid #000;
}
table.classes td.col1{
	width: 25%;
}
table.classes th{
	padding: 0.2em 1em;
}
table.classes td{
	padding: 1em;
}

td.deep_dungeon, div.xcol {
	clear: both; overflow: hidden;
}
td.deep_dungeon div, div.xcol div {
	width: 200px; float: left;
}
td.deep_dungeon div.rt, div.xcol div.rt {
	float: right;
}
div.xcol div.ctr {
	margin-left: 10px;
	font-variant: small-caps; font-size: 1.3em;
	margin-top: 10px;
}
td.deep_dungeon,
.schedule td.closing {
	font-variant: small-caps;/* font-size: 1.3em; */
	text-align: center;
}
.schedule td.registration h4 {
/*	font-variant: small-caps; */
	font-size: 1.1em;
	font-weight: normal;
}
.schedule td.registration h5 {
	font-weight: normal;
	font-size: 0.75em
}
.schedule td.deep_dungeon h4 {
	font-size: 1.3em;
	font-weight: normal;
}
.schedule td.deep_dungeon h5,
.schedule td.closing h5 {
	font-weight: normal;
}
div.xcol div.ctr {
	width: 800px; float:left;
}
td.deep_dungeon ul, div.xcol ul {
	list-style-type: none;
	overflow: hidden;
}
td.deep_dungeon li, div.xcol li {
	font-size: 0.9em; font-variant: small-caps;
}
div.xcol ul {
	margin-top: 10px;
}
div.xcol li {
	padding: 5px 0;
}
.schedule td.deep_dungeon div h4,
div.deep_dungeon div h4 {
	font-size: 0.8em; font-weight: normal;
}
.schedule td.deep_dungeon div.ctr h4,
div.deep_dungeon div.ctr h4 {
	font-size: 0.6em; font-weight: normal;
}
ul.horiz3 {
	list-style-type: none;
	padding: 0 0 0 2px
	margin: 0px
	clear: left;
	overflow:hidden;
}
ul.horiz3 li {
	float: left;
	width: 210px;
	font-size: 0.9em;
}
ul.horiz3 li div {
	font-size: 0.7em;
}
ul.horiz3 li h4{
	font-size: 0.8em;
	font-weight: bold;
	font-variant: small-caps;
}
ul.horiz3 li h5{
/*	font-size: 0.7em; */
	font-weight: normal;
	font-variant: small-caps;
}

p.agree, p.disagree {
	clear: both;
	width: 40em;
	margin: 20px auto 0 auto;
	padding: 0;
	text-align: justify;
}

h3.rule {
/*	margin-left: auto; margin-right: auto; nothing */
	margin: 1em 0 2em 150px;
	clear:both;
	float: left;
}
dl.rules {
	clear: both; 
	float: left;
	margin: 0 2em 0 2em;
}
dl.rules dt {
	margin-top: 0.5em;
	font-weight: bold;
	font-size: 1.2em;
	text-decoration: underline;
	clear: left;
}

dl.rules dd {
	clear: right;
}
dl.rules dd {
}
ol.pageant_info {
	list-style-type: disc;
	margin: 0 0 10px 35px;
}
ol.pageant_info li {
	margin-bottom: 4px;
}


