body { margin: 0; padding: 0; background: url(../images/body.png) repeat-x center top; padding-bottom: 60px; position: relative; }

#shell { background: #fff; margin: auto; overflow: hidden; position: relative; width: 970px; z-index: 1; }

#head { border: 0px solid red; height: 175px; margin-bottom: 75px; position: relative; z-index: 1; }
#head #seal { position: absolute; left: 10px; top: 47px; z-index: 1; }
#head #wrapper { background: url(../images/body.png) repeat-x center -62px; height: 100px; top: 62px; position: absolute; width: 970px; }
#head #wrapper h1, #head #wrapper h2 { margin: 0; padding: 0; text-shadow: #122b3f 0 0 2px; }
#head #wrapper h1 a, #head #wrapper h2 a { color: #fff; text-decoration: none; }
#head #wrapper #name { background: none; color: #fff; font-family: Times, "Times New Roman", Georgia, serif; font-size: 29px; font-style: normal; font-weight: normal; left: 155px; line-height: 1.4em; position: absolute; text-transform: uppercase; top: 15px; }
#head #wrapper #description { background: none; color: #fff; font-family: Georgia, Times, "Times New Roman", serif; font-size: 18px; font-weight: normal; left: 155px; position: absolute; top: 55px; }
#head #wrapper img { position: absolute; right: 5px; top: 5px; }

#nav_primary_wrapper { border: 0px solid red; height: 84px; left: -5px; position: absolute; top: 167px; width: 980px; }
#nav_primary_wrapper #line { background: url(../images/double-dotted-line-up.png) repeat-x left top; height: 4px; left: 10px; position: absolute; top: 0; width: 960px; }

#side { display: inline; float: left; margin-left: 15px; width: 300px; }
#side table { font-size: 14px; }

#main { display: inline; float: right; margin-right: 15px; padding-bottom: 2em; width: 620px; }
#main #home_page { background: url(../images/david-stafford-picture.jpg) no-repeat right bottom; height: 230px; padding-right: 210px; padding-top: 0px; width: 410px; }

#foot { background: url(../images/double-dotted-line-down.png) repeat-x top left; letter-spacing: -0.03em; margin: 10px auto 0 auto; padding-top: 9px; width: 960px; }
#foot .row { background: url(../images/body.png) repeat-x left -62px; color: #fff; height: 80px; }
#foot .row .column { display: inline; float: left; height: 80px; margin-left: 20px; width: 220px; }
#foot .row .column p { text-shadow: #122b3f 0 0 2px; margin-bottom: 0; margin-top: 0.5em; }
#foot .row .column a { color: #fff; text-decoration: underline; }
#foot .row .column a:hover { color: #fff; }
#foot .row .column.first { margin-left: 10px; }
#foot #disclaimer { display: inline; float: left; font-size: 12px; margin-left: 10px; padding: 1em 0; width: 460px; }
#foot #copyright { display: inline; float: right; font-size: 12px; margin-right: 10px; padding: 1em 0; text-align: right; width: 460px; }
#foot .hr, #foot hr { margin-top: 5px; }

#foot_background { background: url(../images/foot.png) repeat-x center top; bottom: 0; height: 328px; min-width: 970px; width: 100%; position: absolute; z-index: 0; }

.results_wrapper { overflow: hidden; position: relative; margin-top: 20px; }

.election_details, .precinct_details { overflow: auto; max-height: 400px; position: absolute; width: 100%; }
.election_details table, .precinct_details table { background: #fff; position: relative; }

.precinct_details table { font-size: 12px; }

#nav_top { background: url(../images/double-dotted-line-down.png) repeat-x 0 bottom; height: 57px; margin: auto; padding: 0; width: 960px; }
#nav_top li { display: inline; list-style: none; margin: 0; padding: 0; }
#nav_top li a { display: inline; float: left; font-size: 18px; height: 50px; line-height: 57px; margin-left: 20px; margin-top: 0; padding-left: 20px; text-decoration: none; width: 200px; }
#nav_top li a:hover { background: url(../images/body.png) repeat-x left -300px; }
#nav_top li.first a { margin-left: 10px; }

#nav_primary { margin: 0; padding: 0; background: url(../images/nav-primary-shadow.png) no-repeat center bottom; height: 75px; left: 5px; line-height: 1em; overflow: hidden; position: absolute; width: 970px; top: 4px; z-index: 2222; }
#nav_primary li.first { margin-left: 5px; }
#nav_primary li { margin: 0; padding: 0; display: inline; float: left; font-size: 14px; height: 60px; line-height: 1em; width: 160px; }
#nav_primary li div { background: url(../images/nav-arrows.png) no-repeat 0 8px; display: block; height: 20px; margin-left: 10px; margin-top: 35px; padding-left: 13px; width: 137px; }
#nav_primary li div#military { height: 35px; background-position: 0 23px; margin-top: 20px; }
#nav_primary li ul { margin: 0; padding: 0; background: url(../images/dotted-line-vertical.png) repeat-y 0 0; border-top: 1px solid #999; height: 170px; height: 0; overflow: hidden; padding: 5px 5px 0 5px; width: 150px; }
#nav_primary li ul li { margin: 0; padding: 0; height: auto; }
#nav_primary li ul li:hover { background: none; height: auto; }
#nav_primary li ul li a { margin: 0; padding: 0; display: block; font-size: 12px; border: 1px solid transparent; letter-spacing: -0.03em; padding: 2px 4px; text-decoration: none; width: 140px; }
#nav_primary li ul li a.small { float: left; width: auto; }
#nav_primary li ul li a img { position: relative; top: 2px; }
#nav_primary li ul li a:hover { border-radius: 4px; -moz-border-radius: 4px; -webkit-border-radius: 4px; text-shadow: #122b3f 0 0 2px; background: url(../images/body.png) repeat-x 0 -100px; border: 1px solid #245477; border-bottom-color: #122b3f; color: #fff; }
#nav_primary li ul li a:hover img { -moz-box-shadow: #122b3f 0 0 2px; -webkit-box-shadow: #122b3f 0 0 2px; }
#nav_primary li:hover { background: url(../images/nav-blue-gradient.png) repeat-x left bottom; height: auto; }
#nav_primary.expanding { background: url(../images/nav-primary-expanded.png) no-repeat center bottom; }
#nav_primary.expanding li ul { display: block; }

#nav_side { margin: 0; padding: 0; }
#nav_side li { margin: 0; padding: 0; background: url(../images/dotted-line-horizontal.png) repeat-x left bottom; list-style: none; padding-bottom: 1px; }
#nav_side li a { background: url(../images/nav-stars.png) no-repeat 5px 20px; display: block; font-size: 16px; height: 39px; line-height: 50px; padding-left: 25px; text-decoration: none; width: 275px; }
#nav_side li a:hover { background-position: 5px -70px; }

.jump_to_contest { margin: 1em 0 0 0; text-align: right; }
.jump_to_contest label { font-size: 90%; }

.nav_election_results { margin: 0; padding: 0; clear: right; float: right; font-size: 14px; font-style: italic; height: 30px; margin-top: 10px; width: 240px; }
.nav_election_results li { margin: 0; padding: 0; display: inline; list-style: none; }
.nav_election_results li a { border-radius: 4px; -moz-border-radius: 4px; -webkit-border-radius: 4px; border: 1px solid #fff; color: #245477; float: left; padding: 5px; margin-right: 5px; }
.nav_election_results li a:hover { background: #ccdde6 url(../images/transparent-diagonal-stripe.png); }
.nav_election_results li a.active { border-color: #ccdde6; color: #333; text-decoration: none; }

.results_wrapper table, .results_wrapper th, .results_wrapper td { position: relative; }

table { width: 100%; border-collapse: collapse; line-height: 1em; }
table th { font-weight: normal; text-align: left; }
table th, table td { background: url(../images/dotted-line-horizontal.png) repeat-x 0 bottom; padding: 5px; }
table thead th { color: #8e2323; }
table tbody th, table tbody td { background: url(../images/dotted-grid.png) repeat-y right bottom; }
table tbody td:last-child { background: url(../images/dotted-line-horizontal.png) repeat-x 0 bottom; }
table tbody th { color: #000; }
table tbody tr:hover th, table tbody tr:hover td { background-color: #f9feb4; }
table tbody tr:hover th.max, table tbody tr:hover td.max { background-color: #E9FE91; }
table tbody td { line-height: 25px; }
table tbody td.number { font-size: 12px; }
table tbody td.percentage { text-align: right; }
table tbody td.max { background-color: #dffeb2; color: #8e2323; }
table tbody td.bar_shell { line-height: 0; position: relative; width: 250px; }
table tbody td.bar_shell .bar_shell2 { position: relative; width: 100%; }
table tbody td div.stripes, table tbody td img.bar { height: 40px; height: 25px; }
table tbody td div.stripes { background: url(../images/transparent-diagonal-stripe.png); font-size: 12px; line-height: 40px; line-height: 25px; position: relative; text-align: right; width: 100%; z-index: 1; }
table tbody td .bar { border-radius: 4px; -moz-border-radius: 4px; -webkit-border-radius: 4px; height: 25px; margin-top: 0; position: absolute; top: 0; left: 0; }
table tbody td .min { background: url(../images/color-min.png); }
table tbody td .non, table tbody td .ref { background: url(../images/color-non.png); }
table tbody td .rep { background: url(../images/color-rep.png); }
table tbody td .dem { background: url(../images/color-dem.png); }
table tbody td .npa { background: url(../images/color-npa.png); }

#voter_registration { background: url(../nav-primary-expanded.png) no-repeat 1000px 1000px // exists to load the nav graphic; margin-top: 0.5em; }
#voter_registration .bar_shell { width: 150px; }
#voter_registration div.stripes, #voter_registration img.bar { height: 25px; }
#voter_registration div.stripes { line-height: 25px; }

body { color: #333333; font-family: Georgia, Times, "Times New Roman", serif; font-size: 14px; line-height: 1.5em; }

a { color: #245477; }
a:hover { color: #8e2323; }

img { border: 0; }

h1, h2, h3, h4, h5, h6 { color: #000; font-weight: normal; margin: 0 0 0 0; padding: 1em 0 0.25em 0; }

h1 { font-size: 24px; font-style: italic; }

h1, h2 { background: url(../images/dotted-line-horizontal.png) repeat-x left bottom; }

h2 { font-size: 24px; }

h3 { font-size: 20px; }

h4 { font-size: 18px; font-style: italic; }

h5 { font-weight: bold; font-size: 14px; }

hr { margin: 0; padding: 0; border: 0; color: #fff; font-size: 0; height: 0; line-height: 0; }

div.hr { background: url(../images/dotted-line-horizontal.png) repeat-x left bottom; color: none; height: 1px; margin-top: 0.5em; }
div.hr.double { background-image: url(../images/double-dotted-line-up.png); height: 4px; }
div.hr.top { background-image: url(../images/double-dotted-line-down.png); }

ul li { line-height: 1.25em; margin-bottom: 0.5em; }

.page_title_last_word { color: #8e2323; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-weight: bold; }

.left { float: left; margin-right: 10px; }

.right { float: right; margin-left: 10px; }

.clear { clear: both; }

.callout { float: right; margin-left: 10px; background: url(../images/callout.png) no-repeat; display: block; color: #000; font-size: 24px; height: 90px; padding: 50px 10px 0 10px; text-decoration: none; width: 170px; }
.callout:hover { background-position: 0 -140px; color: #000; }

.fc { display: block; margin-bottom: 10px; }
.fc label { display: block; font-weight: bold; width: 270px; }
.fc input[type="text"] { height: 20px; width: 250px; }
.fc .default { color: #999; }
.fc .fieldWithErrors label { color: #8e2323; }
.fc .fieldWithErrors input, .fc .fieldWithErrors textarea { border: 1px solid #8e2323; }
