/* General CSS Setup */

html {
	margin: 0;
	padding: 0;
	background: #0986E3 url("/images/rfo_background.png") repeat-x;
    text-align: center;
}

body {
	position: relative;
	width: 988px;
	margin: 10px auto;
	padding: 0px;
	font-size: 14pt;
}

img {
	padding: 0;
	margin: 0;
	border: 0;
}

p {
	padding: 0;
}

h1, h2, h3, h4, h5, h6, p {
	padding: 0;
	margin: 0;
	font-size: 1em;
}

h1 {
	font-size: 1.5em;
	padding-bottom: 1em;
}

p {
	margin-bottom: 1em;
}

h3 {
	font-size: 18pt;
	margin-bottom: 0.5em;
}

h4 {
	margin-bottom: 0.5em;
}

a { 
	color: blue;
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}

table {
	width: 100%;
}

form textarea {
	width: 100%;
}

/* Main Page Wrapper */
#wrapper {
	margin: 4px;
	width: 968px;
	float: none;
	text-align: left;
	padding: 0;
}

#container {
	background: #FFF;
}

/* Header */

#header {
	margin: 0;
	padding: 0;
	height: 105px;
	border-bottom: 0;
}

/* Democratic Youth Strategy Council logo */

#dysc_logo {
  padding: 0;
  margin-bottom: 1em;
  text-align: center;
  border: 0;
  color: #000;
}

#dysc_logo span {
	text-align: center;
	display: block;
	width: 90px;
	margin: 0;
	padding: 0;
	font-size: 10pt;
}

/* RunForOffice.org Logo */

#rfo_logo {
  position: relative;
  left: 80px;
  top: 10px;
}


/* Run For Office Tagline */
#tag_line {
	position: relative;
	left: -390px;
	top: 25px;
	color: #FFF;
	width: 500px;
	text-align: center;
	z-index: 1;
	font-size: 12pt;
	font-family: Georgia;
    font-style: italic;
}

/* Contribution Button */
#contribute_button {
	position: relative;
	bottom: 60px;
	left: 147px;
	z-index: 1;
}

/* Image of a young candidate */
#young_candidate {
	position: relative;
	left: 707px;
	bottom: 83px;
	z-index: 0;
}

/* Navigation */
#nav {
	position: relative;
	width: 966px;
	height: 44px;
	border: 1px solid black;
	border-bottom: 0;
	margin: 0;
	padding: 0;
	background: #FFF url("/images/nav_bar.png");
	z-index: 999;
}

#nav ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

#nav li {
	margin: 0;
	padding: 0;
	list-style: none;
	position: absolute;
	top: 0;
}

#nav a {
	height: 34px;
	width: 138px;
	display: block;
}

#nav span {
	display: none;
}

#nav_1 {left: 0; width: 138px;}
#nav_2 {left: 138px; width: 138px;}
#nav_3 {left: 276px; width: 138px;}
#nav_4 {left: 414px; width: 138px;}
#nav_5 {left: 552px; width: 138px;}
#nav_6 {left: 690px; width: 138px;}
#nav_7 {left: 828px; width: 138px;}

#nav_1 a:hover {background: transparent url("/images/nav_bar.png") 0 -44px no-repeat;}
#nav_2 a:hover {background: transparent url("/images/nav_bar.png") -138px -44px no-repeat;}
#nav_3 a:hover {background: transparent url("/images/nav_bar.png") -276px -44px no-repeat;}
#nav_4 a:hover {background: transparent url("/images/nav_bar.png") -414px -44px no-repeat;}
#nav_5 a:hover {background: transparent url("/images/nav_bar.png") -552px -44px no-repeat;}
#nav_6 a:hover {background: transparent url("/images/nav_bar.png") -690px -44px no-repeat;}
#nav_7 a:hover {background: transparent url("/images/nav_bar.png") -828px -44px no-repeat;}

/* Container of Content Columns */
#container {
	border: 1px solid black;
	border-top: 0;
	padding: 7px;
}

/* Sidebar */
#left_column {
	width: 211px;
	background: none;
	float: left;
	padding: 0;
	margin: 0;
	margin-top: -15px;
}

/* Page Content */

#content {
  	font-size: 16pt;
	padding: 0;
	float: right;
	color: #000;
	width: 741px;
	background: none;
}

#content ul li {
	margin-bottom: 1em;
}

#content ul {
	margin: 1em;
}

/* Page Footer */

#footer {
	clear: both;
	font-size: 10pt;
	text-align: center;
	margin: 0;
	padding: 1em;
	color: #000;
	background: none;
}

#footer #sponsor_label {
	text-align: center;
	margin: 1em auto;
	padding: 1em;
	width: 40em;
	border: 1px solid black;
	background: #ADD8E6;
}

#footer p {
	margin: 0;
	padding: 0;
}

/* Form for entry query criteria */

#query_form {
	width: 22em;
	margin-left: 6em;
        margin-bottom: 1em;
}

#query_form table {
	margin-bottom: 0.5em;
}

#query_form .input_item {
	margin: 1em 0;
	margin-right: 1em;
}

/* Query results table */

#query_results {
	table-layout: fixed;
	width: 100%;
	border-collapse: collapse;
}

#query_results td {
	padding: 10px;
}

#query_results th {
	padding: 0px 10px;
}

/* Table generated for position description */

#position_desc_table {
	table-layout: fixed;
	width: 100%;
	border-collapse: collapse;
}

#position_desc_table th {
	width: 13em;
}

#position_desc_table th, #position_desc_table td {
	padding-bottom: 1em;
}

#position_desc_table tr {
	vertical-align: top;
}

#age_col {
	width: 2em;
}

#show_col {
	width: 2em;
}

#state_col {
	width: 8em;
}

/* Styles for partners page */

#partners_500_level {
	margin-left: 20px;
	border: 4px dashed #DDD;
	background: #55F;
	width: 60%;
	height: 225px;
	padding: 1em;
	color: #FFF;
}

#partners_1000_level {
	margin-left: 220px;
	margin-top: -120px;
	border: 4px dashed #DDD;
	background: #00C;
	width: 60%;
	height: 225px;
	padding: 1em;
	color: #FFF;
}

#goal_thermometer {
        float: right;
}

#yar_top_bar {
	background: #333355 url('/images/yar_top_bar.png') no-repeat; 
	background-position: right;
	text-align: right; 
	height: 25px; 
	padding: 5px; 
	margin-bottom: 1em;
	color: #fff;
	font-size: 12pt;
}

#yar_top_bar #profile_menu {
	list-style-type: none;
	text-align: left;
	margin: 0;
	padding: 0;
	margin-top: 2px;
	margin-left: 1em;
}

#yar_top_bar #profile_menu li {
	display: inline;
	margin-left: 0.5em;
}

#yar_top_bar #profile_menu li a {
	color: #161938;
	padding: 2px 7px;
	border: 1px solid #FFF;
	background: #C9E8FF;
	font-weight: bold;
}

#yar_top_bar #profile_menu li a.active, #yar_top_bar #profile_menu li a:hover {
	background: #0672BE; 
	color: #FFF;
	text-decoration: none;
}

/*#yar_top_bar #profile_menu li a:hover {
	color: #FFF;
	background: #161938;
	text-decoration: none;
	border: 1px solid #C9E8FF;;
}*/

#profile_form {
	padding: 0em 1em;
}

#profile_form label {
	display: block;
	width: 8em;
	float: left;
	font-weight: bold;
	color: #035299;
}

#profile_form h2 {
	color: #035299;;
}

#profile_form .profile_form_group {
	margin-bottom: 1em;
}

#profile_form .profile_form_group p {
	margin-bottom: 0.25em;
}

#login_info {
	font-size: 10pt;
	margin-top: 15px;
	background: #333355;
	height: 35px;
	color: #FFF;
	padding-left: 0.5em;
}

#login_info a {
	color: #FFF;
}

#login_box {
	border: 2px solid #037DC7;
	padding: 1em 2em 0em 2em;
	margin: 2em auto;
	width: 15em;
}

#inbox_table th {
	border: 1px solid black;
	background: #C9E8FF;
	padding: 3px;
	font-size: 14pt;
}

#inbox_table {
	background: #0672BE;
}

#inbox_table td {
	font-size: 12pt;
	color: #034677;
	background: #FFF;
	padding: 3px;
}

#inbox_table td.unread {
	font-weight: bold;
}

/* Classes */

/* Blue Box around content */
.info_box {
	margin: 0px;
	margin-bottom: 1em;
	margin-left: 5px;
	color: #000;
	overflow: hidden;
	font: 13pt Verdana;
}

.info_box a {
	color: #00F;
}

.info_box_header {
	background: url("/images/info_box_header.png");
	color: #FFF;
	font-size: 18pt;
	height: 29px;
	text-align: center;
	font-family: veranda;
	font-weight: bold;
}

.info_box_body {
	background: url("/images/info_bg.png") repeat-y;
	margin: 0;
	padding: 0px 10px 5px 5px;
}

.info_box_content {
	background: #FFF;
	padding: 10px;
	width: 98%;
}

.query_table_header {
	font-weight: bold;
	border: 1px solid black;
	border-spacing: 5px;
	margin: 5px;
}

/* Allows alternating row color for query results table */
.table_row_tan {
	background: #FEB;
}

/* Numbered list for homepage */
.home_ordered_item {
}

.home_ordered_num {
	float: left;
	padding: 0 10px;
}

.home_ordered_content {
	margin-left: 80px;
}

/* Adds clearing attribute to an element */
.clearer {
	clear: both;
}

/* Formats the error notice box from Rails */
.notice {
	text-align: center;
	padding: 0.15em;
	border: 1px solid #000;
	color: #FFF;
	margin: 0;
	margin-bottom: 5px;
	background: #037DC7;
	font-size: 12pt;
}

/* Formats the top row of a table to add spacing*/
.top_row {
	vertical-align: top;
	height: 2em;
}

/* Image links for resources page */
.resource_links {
	margin: 1em 0;
	text-align: center;
}

.resource_links img {
	/*width: 200px;*/
}

.profile_item {
	margin: 0 1em 0.5em 1em;
	border: 3px solid #1B2143;
	padding: 10px;
	font-size: 16pt;
	height: 95px;
	overflow: hidden;
	background: url('../images/profile_listing_bg.jpg');
}

.profile_item:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

.profile_item label 			{ width: 5em; display: block; float: left; }
.profile_sites 					{ font-size: 10pt; margin-left: 6.5em; margin-top: 0.5em; }
.profile_location 				{ float: right; width: 10em; text-align: right; }
.profile_name 					{ width: 15em;  overflow: hidden; height: 1em; }
.profile_office_sought 	{ font-size: 12pt; font-style: italic; }

.errorExplanation {
	border: 2px solid #F00;
	margin: 1em;
	padding: 1em;
	color: #F00;
	font-size: 12pt;
}

.required_field {
	border: 2px solid darkblue;
}

form.post_form label {
	display: block;
	width: 7em;
	float: left;
}

.post_listing {
	border: 1px solid black;
	position: relative;
	min-height: 180px;
	margin-bottom: 10px;
	padding: 0;
	background: #8FCDFA;
}

.post_listing .user_box {
	float: left;
	padding: 5px;
	width: 70px;
}

.post_listing .post_content {
	padding: 5px;
	margin-left: 75px;
}

.post_listing .post_title {
	padding: 1px 5px;
	background: #333355;
	color: #FFF;
}

.post_listing .post_content .post_body {
	padding: 5px;
	font-size: 12pt;
	margin: 5px;
	background: #FFF;
}

.shiny_button {
	background: url('/images/shiny_button_template.png') no-repeat;
	height: 75px;
	width: 207px;
}

#sidebar_menu {
	margin: 0;
	margin-top: 10px;
}

#sidebar_menu div {
	padding: 3px;
	margin: 0px;
	padding-bottom: 0px;
}

#sidebar_menu a, #sidebar_menu img {
	padding: 0px;
	margin: 0px;
}

#sidebar_menu div:hover {
	background: #8ECCF9;
}