
	/****************
 *     global   *
 ****************/
 
	body {
		background-color: #BBB;
		font-size: 12px;
		font-family: sans-serif, verdana;
	}
	
	#workingArea {
		margin: 0 1%;
		width: 98%;
		background-color: #EEE;
		border: 1px solid black;
	}
	
	.textCentered {
		text-align: center;
	}
	
	a {
		text-decoration: none;
	}
	
	a:hover {
		text-decoration: underline;
	}
	
	.indentLeft {
		padding-left: 10px;
	}

	.explanatory {
		font-size: .9em;		
	}

	.marginCentered {
		margin: 0 auto;
	}
	
	.sixtyPercent {
		width: 60%;
	}
	
	.eightyPercent {
		width: 80%;
	}
	
	.no_floats {
		clear: both;
	}
	
	.emphasized {
		font-weight: bold;
	}
	
	.no_bottom_margin {
		margin-bottom: 0;
	}
	
	.error {
		color: red;
	}
	
	div.p {
		margin: 10px 0;
	}
	
	.hidden {
		display: none;
	}
	
	.backLink {
		font-weight: bold;
	}
	
	.center {
		text-align: center;
	}
	
	.center_margin {
		margin: 0 auto;
	}
		
/*******************
 *     home page   *
 *******************/
 
 .siteSelling {
 	font-size: 1.1em;
 }
 
 .siteSelling a {
 	font-weight: bold;
 }

/*****************
 * signup screen *
 *****************/
 
	.checkbox_inline {
		padding-top: 4px;
		display: inline;
	}
	
	.form_field {
		margin-top: 4px;
		margin-bottom: 4px;
	}


/*****************
 *  page content *
 *****************/
 
 	#pageContent {
 		padding: 1% 2%;
 	}
 	
 	#bottomLinks {
 		font-size: 0.9em;
 		text-align: center;
 		margin: 20px 0 0.5% 0;
 	}
 	
 	#pageTitle {
 		font-size: 2em;
 		font-weight: bold;
 		margin-bottom: 10px;
 	}
 	
 	.pageBody {
 		margin-left: 10px;
 	}	
 	
 /**************************
  *  record search results *
  **************************/
  
	.results {
	
	}
	
	.search_term {
		font-weight: bold;
		color: green;
	}
	
	.resultWhereCandidateSpeaks {
		color: green;
	}
	
	.resultWhereCandidateDoesNOTSpeak {
		color: #BBBB00;
	}
	
	.showHiddenResults {
		font-style: italic;
	}
	
	.legislatorImageSmall {
		height: 15px;
		width: 11px;
	}

	.loadingDiv {
		margin: 0 auto;
		width: 200px;
		text-align: center;
	}
	
	img#loadImage {
		margin-left: auto;
		margin-right: auto;
		border: none;
	}


	.textSearchIcon {
		vertical-align: middle;
	}
	
/*****************
 *  learn more   *
 *****************/

	.learnMore .question {
		font-weight: bold;
	}
 
/*****************
 *   login       *
 *****************/
 
	#loginPrompts {
		float: right;
		min-width: 160px;
		margin-top: 4px;
	}
	 
	.loginLabel {
		position: relative;
		left: -200px;
	}
	
	.loginField {
		position: relative;
		left: 70px;
		width: 200px;
	}	
	
	.loginPrompt {
		margin-bottom: 5px;
	}
			
	div#loginButton {
		margin: 0 10%;
	}
		
/**********************
 *     account form    *
 **********************/

	.facebookLoginBox {
		padding-left: 10px;
		background-color: #55A;
		margin-top: 5px;
	
	}
	
	.facebookLoginForm{
		background-color: #EEE;
		padding: 3px 0 0 5px;
	}

	img.facebookImage {
		width: 75px;
		border: none;
	}
	
	img.inline {
		display: inline;
		vertical-align: middle;
	}

/**********************
 *	navigation links  *
 **********************/

	.navlinks a {
		font-weight: bold;
		color: red;
		margin-right: 20px;
	}

/***********************
 *	legislator profile *
 ***********************/

	.legislatorProfilePartyState {
		font-weight: bold;
	}

	.dem {
		color: blue;
	}

	.gop {
		color: red;
	}
	
	
	.selectedMode {
		font-weight: bold;
	}
	
	.associatedRecordsContainer {
		overflow: hidden;
		height: 15px;
	}
	
	.recordListOptionTitle {
		font-weight: bold;
	}
	
/**********************
		errors
 **********************/
  
	.fieldWithErrors {
		display: inline;
		background-color: red;
		padding-top: 4px;
	}
	
	.fieldWithErrors input {
		border: 2px red solid;
	}
	
	#errorExplanation {
		width: 400px;
		border: 2px solid red;
		padding: 7px;
		padding-bottom: 7px;
		margin-top: 12px;
		margin-bottom: 12px;
		background-color: #f0f0f0;
	}
	
	#errorExplanation h2 {
		text-align: left;
		font-weight: bold;
		padding: 5px 5px 5px 15px;
		font-size: 12px;
		margin: -7px;
		background-color: #c00;
		color: #fff;
	}
	
	#errorExplanation p {
		color: #333;
		margin-bottom: 0;
		padding: 5px;
	}
	
	#errorExplanation ul li {
		font-size: 12px;
		list-style: square;
	}
	
	#recaptcha_widget_div {
		margin: 10px;	
	}
	
/*******************
 *       header    *
 *******************/
 
 #header {
 	border-bottom: 1px solid black;
 	padding: 4px;
	background-color: #99F;
	height: 78px;
	margin-bottom: 0.75%;
 }
 
 #headerImage {
	float: left;
	width: 70px;
 }
 
 #headerImage img {
 	width: 61px;
 	height: 78px;
  	border: none;
 }	
 
 #header a#homeLink{
 	color: black;
 	text-decoration: none;
 }

 #header a#homeLink:hover{
 	text-decoration: none;
 }

 
#headerLogo {
	/* the name of the project */
	float: left;
	font-size: 1.5em;
	text-align: center;
	margin: 15px 4px;
}

#headerLogo .bigText {
	font-size: 2em;
}
 
#header .loginLabel {
	left: -115px;
}

#header .loginField {
	left: 50px;
	width: 100px;
}

#header #loginPrompts #goButton {
	text-align: center;
	font-weight: bold;
}

.quoteAndLogin {
	float: right;
	width: 63%;
}

.bannerQuoteHolder {
	float: left;
	position: relative;
	top: 25px;
}

.bannerQuote {
	font-size: 1.2em;
	font-weight: bold;
	text-align: center;
	margin: 0 auto;
	width: 310px;
}

.userWelcome {
	margin-right: 4px;
	position: relative;
	text-align: right;
	top: 17px;
}

.userWelcome .welcomeMessage {
}

.userWelcome .welcomeLinks {
	font-size: .9em;
}

#goButton {
	cursor: pointer;
}

.fbConnectPic {
	float: right;
	margin-left: 5px;
	top: 5px;
	position: relative;
}

.fbConnectLoginPrompts {
	min-width: 200px;
}
	
/*******************
 *       widgets    *
 *******************/
 
 	.widgetRow {
 		clear: both;
 	}
 	
	.widget {
		border: 1px solid black;
		margin: .75% 1.5%;
		padding: 1%;
	}
	
	.widgetSmall {
		width: 29%;	
	}
	
	.widgetBig {
		width: 58%;	
	}

	.widgetFull {
		width: 94.75%;	
	}	
	
	.floatLeft {
		float: left;
	}
	
	.floatRight {
		float: right;
	}
	
	.widget .header {
		font-size: 1.4em;
		font-weight: bold;
	}
	
	.header .backLink {
		font-size: 0.7em; /* smaller than usual since it's calculated against the header size */
	}

	.subheader {
		font-size: 1.2em;
	}

	.widget .bigLink {
		font-size: 1.2em;
		text-align: center;
	}
	
	.widget .content {
		margin: 20 10px;
	}

/*********************
 *  home page stuff  *
 *********************/

	.yearList {
		margin: 10px;
		text-align: center;	
	}
	
	#aboutUs .emphasized {
		font-weight: bold;
		color: #070;
	}
	
	.introQuoteBackground {
		font-size: 3em;
		color: #8888FF;
		font-family: serif;
	}


	.bottomLinks {
		margin-top: 20px;
		clear: both;
	}

	/****************
 *     tags     *
 ****************/

	 .tagCloud {
		margin: 15px;
		text-align: center;
	 }

	.tag {
		margin: 0 3px 0 2px;
		display: inline;	
	}
	
	.project_enabled {
		font-weight: bold;
	}
	
	.tagHeader {
		font-size: 1.1em;
		font-weight: bold;
	}

	.switchListLink {
		font-size: 0.8em;
	}

			/************************
			Progress Bar
		 ************************/
		
		.progressBar {
			border: 1px solid black;
			overflow: hidden;
			width: 90%;
			height: 18px;
			margin-left: 4px;
			position: relative;
			background: #EEE;
			z-Index: 1;
		}
		
		.progressBarHeader {
			font-style: italic;
		}
		
		.progressBarShadow {
			width: 90.3%;
			position: relative;
			z-Index: 0;
			left: 5;
			border-right: 2px solid gray;
			border-bottom: 2px solid gray;
			opacitiy: 0;
			filter: alpha(opacity=0);
			height: 19px;
			background: gray;
		}
		
		.progressBar .finished {
			background-color: #0D0;
			position: relative; 
			top: -18px;
			height: 25px;
		}
		
		.progressBar .inProgress {
			background-color: #7F7;
			top: -40px;
			position: relative;
			height: 24px;
		}

		.progressBar .inProgressNoneFinished {
			background-color: #7F7;
			top: -18px;
			position: relative;
			height: 25px;
		}
		
		.progressBar .number {
			position: relative;
			left: 20%;
			z-Index: 51;
			font-weight: bold;
			top: 3px;
		}
		
		.progressBarExplanatory {
			font-size: 0.9em;
			position: relative;
			height: 1px;
			text-align: center;
			width: 80%;
			padding-left: 5px;
		}
			/**********************
		 *       ratings      *
		 **********************/
		 
		.ratingList {
			display: inline;
		}
		
		.ratingItem  {
			display: block;
			cursor: pointer;
			float: left;
			width: 12px;
			padding-left: 1px;
			padding-right: 1px;
			background: transparent url("/images/ratings.gif") no-repeat;
		}
		
		.ratingItemUnselected {
			background-position: -60px 0;
		}
		
		.ratingItemSelected {
			background-image: url("/images/ratingSelected.gif");
		}
		
		.ratingItemSpacer {
			width: 16px;
		}
		
		.float_left {
			float: left;
		}
		
		.no_floats {
			clear: both;
		}
		
		.rateText {
			padding-left: 20px;
			padding-right: 5px;
			font-style: italic;
			color: #0A5;
			float: left;
		}
		
		
		/***********************
		 *   bulleted lists    *
		 ***********************/

		.listOfReviewedRecords {
			list-style-image: url(/images/12-em-check.png);
		}		
		
		.listOfQuotes {
			list-style-image: url(/images/12-em-pencil.png);
		}
	/******************
 *     profiles   *
 ******************/
 
	.userProfile {
	
	}
	
	.userProfile .username {
		font-size: 2em;
		font-weight: bold;
	}
	
	.userProfile .profileItem {
		margin: 10px 0;
	}

	.userProfile .error {
		color: red;
		font-size: 1.5em;
	}

	.userProfile .homeLink {
		font-size: .85em;
	}	
			/******************************************
			document review page (document side)
		 ******************************************/
		
		#bodywrapper {
			width: 90%;
			margin: 0 auto;
		}

		#documentHeader {
			height: 28px;
			text-align: center;
			margin-top: 1%;
			margin-bottom: 1%;
		}
		
		#documentTitle {
			font-size: 1.6em;
			font-weight: bold;
		}

		#documentInfo {
			font-size: 1.2em;
		}

		#reviewwrapper {
			border: 2px solid black;
			background-color: #D0D0D0;
			margin-bottom: 20px;
		}

		* html #reviewwrapper {
			width: 100%;
			overflow: undefined;
		}
		
		.textreader {
			width: 58.8%;
			padding-right: 0.2%;
			background-color: gray;
			float: left;
		}		
		
		#text {
			padding: 0 0 0 2.5%;
			height: 100%;
			min-height: 100%;
			background-color: white;		
		}
		
		.viewControl {
			cursor: pointer;
		}		
		
		input.pageControl {
			margin-left: 2%;
			margin-top: 1px;
		}
		
		.viewControlHeader {
			width: 25px;
			padding-left: 5px;
			font-weight: bold;
			
		}	
				
		#textNodeControls {
			border-bottom: 2px gray solid;
			font-size: 0.9em;
			padding: 3px 0;
			background-color: #CCCCCC;		
		}
		
		.pageNumber {
			font-weight: bold;
			margin: 10px 0 0 0;
			cursor: pointer;
		}
		
		#bottom {
			height: 1px;
			clear: both;
			overflow: hidden;
		}
			
		.loadImage {
			width: 53px;
			height: 53px;
			margin: 30% auto 50% auto;
		}
		
		.loadImageSmall {
			margin-left: 90%;
			margin-top: 20%;
			margin-bottom: 20%;
		}
			
		.highlightedQuote {
			font-weight: bold;
		}

		/******************************************
			document review page (review side)
		 ******************************************/
		 
		#fixedContentPadding {
			height: 1px;
			overflow: hidden;
		}
				
		.reviewcolumn {
			width: 41%;
			min-height: 100%;
			float: right;
			padding: 10px 0 10px 0;
			overflow: hidden;
		}
		
		#fixedContent {
			position: fixed;
			margin-left: 20px;
			width: 32%;
		}
		
		* html #fixedContent {
			width: 95%;
		}
		
		* html .reviewcolumn {
			float: left;
		}
		
		#reviewheader {
			font-size: large;
			margin-bottom: 2px;
			overflow: auto;
		}
		
		.questionheader {
			margin-top: 10px;
			font-weight: bold;
		}
	
		.techError {
			margin: 0 auto;
			padding: 3px;
			width: 80%;
			border: 1px #000000 solid;
			background: #FFFFFF;
			font-size: .8em;
			text-decoration: underline;
			color: blue;
			cursor: pointer;
		}
		
		.submitField {
			margin: 0 30%;
			padding-bottom: 10px;
			width: 30%;
		}
		
		.documentRatingBlock {
			margin-left: 25%;
		}
		
		div#forms {
			margin-top: 20px;
		}
		
		#submitButton {
		}
		
		.textHeader {
			font-weight: bold;
			font-size: 1.1em;
			padding-top: 15px;
			padding-bottom: 10px;
			width: 90%;
			color: #22AA22;
			text-align: center;
			white-space: normal;
		}
		
		.actionable {
			display: none;
		}
	
		#voteField {
			/*display: none;*/
		}
		
		textarea.reviewNotes {
			width: 95%;
			margin-bottom: 5px;
		}
	
		/**********************
				overlays
		 **********************/

		.saved_overlay {
			position: absolute;
			top: 0;
			left: -10000;
			z-Index: 100;
			width: 100%;
			height: 100%;
			overflow: hidden;
			background-color: white;
			opacity: 0.85;
			filter: alpha(opacity=85);
			margin: 0 auto;
			background-color: #F0F0F0;
		}
		
		.saved_confirm {
			width: 40%;
			border: 5px black solid;
			padding: 8px;
			position: absolute;
			opacity: 1;
			filter: alpha(opacity=100);
			background-color: #C0C0C0;
			z-index: 101;
		}
		
		* html .saved_confirm {
			width: 400px;
		}
		
		.confirm_header {
			font-size: 1.2em;
			margin-bottom: 8px;
			font-weight: bold;
		}
		
		div.overlay_text {
			margin-top: 8px;
		}
		
		div#overlay_header {
			overflow: hidden;
		}

		/*********************************
			categories, tags, and quotes
		 *********************************/

		div.itemInstructions {
			padding-top: 6px;
			padding-right: 15px;
			margin-bottom: 2px;
		}
		
		.selectedCategory {
			cursor: pointer;
			color: green;
			font-weight: bold;
		}

		.expandableForm {
			background-color: #CCCCAA;
			border: 2px solid #CC9900;
			padding: 4px 0px 4px 10px;
			margin: 4% 0 3% 0;
		}

		.headerExplanatory {
			background-color: #DDDDBB;
			border: 2px solid #CC9900;
			padding: 3px 4px;
			position: relative;
			top: -10px;
			left: -5px;
			margin-bottom: -2px;
		}

		#category_list_wrapper {
			height: 130px;
			margin-top: 5px;
			overflow: auto;
		}
		
		.taggedCategory {
			color: green;
			font-weight: bold;
			margin: 2px 0 2px 0;
		}
		
		.insertedItem {
			overflow: hidden;
			height: 12px;
		}
		
		div.newTag {
		}
		
		#tagArea {
			min-height: 12px;
		}
		
		.removeTagLink {
			font-weight: bold;
			color: red;
			cursor: pointer;
		}
		
		div#tagFields {
			padding-left: 20px;
			margin-top: 10px;
		}
		
		div.itemsChosen {
			margin: 2px 0 2px 0;
			height: 1px;
			padding-left: 10px;
			overflow: hidden;
		}
		
		.error {
			font-weight: bold;
			color: red;
			height: 1px;
			margin-top: 2px;
			margin-bottom: 2px;
		}
		
		.loginError {
			font-weight: bold;
			color: red;
			margin-top: 2px;
			margin-bottom: 2px;
		}
		
		/***************
		 *   tooltips  *
		 ***************/
		 
 		.tooltip {
			border: 1px solid black;
			background-color: #F0F099;
			position: absolute;
			z-Index: 50;
			padding: 3px;
			max-width: 250px;
			color: black;
		}
		
		/**************
		 *  speeches  *
		 **************/
		
		/* each individual speech */
		.speechBlock {
			margin: 5px 0;
		}

		
		/* the area with the description of the speaker */
		.speakerBoxOuter {
			border-color: #669999;
			border-style: solid;
			border-width: 2px 0 2px 2px;
			float: left;
			left: 2px;
			padding: 2px;
			position: relative;
			width: 20%;
			z-index: 1;
			background-color: white;
		}
		
		.speakerBoxInner {
			background-color: #ADD;
			padding: 4px;
		}

		.speakerName {
			font-weight: bold;
		}
		.speakerStateParty {
		}

		/* the text of a speech */
		.speechText {
			padding: 6px 10px;
			width: 70%;
		}
		
		.speechByPerson {
			border-color: #669999;
			border-style: solid;
			border-width: 2px;		
			float: left;
		}
		
	 	.speechByRecord {
			border: none;
			margin: 0 20px 0 21%;
		}

			/**********************
				overlays
		 **********************/

		.saved_overlay {
			position: fixed;
			top: 0;
			left: -10000;
			z-Index: 100;
			width: 100%;
			height: 100%;
			overflow: hidden;
			background-color: white;
			opacity: 0.85;
			filter: alpha(opacity=85);
			margin: 0 auto;
			background-color: #F0F0F0;
		}
		
		.saved_confirm {
			width: 40%;
			border: 5px black solid;
			padding: 8px;
			position: fixed;
			opacity: 1;
			filter: alpha(opacity=100);
			background-color: #C0C0C0;
			z-index: 101;
		}
		
		* html .saved_confirm {
			width: 400px;
		}
		
		.confirm_header {
			font-size: 1.2em;
			margin-bottom: 8px;
			font-weight: bold;
		}
		
		div.overlay_text {
			margin-top: 8px;
		}
		
		div#overlay_header {
			overflow: hidden;
		}	
	/**************************
 *     navigation links   *
 **************************/

	.navLinks {
		text-align: center;
	}
	
	.navLinks a {
		/* the links inside the nav bar */
		margin: 0 20px;
		color: #00B;
		font-weight: bold;
	}
	
	.adminTable {
	
	}
	
	.adminTable td {
		text-align: center;
	}
	
	.adminList {
		font-size: 0.9em;
		margin-left: 20px;
		text-align: left;
	}		
