/* ---------------------
	Title: Commuter Nation - Main Screen stylesheet
	Filename: screen.css
	Author: One Pica Inc, Boston MA
	
	Table of Contents:
		Searchstring (Section Name)				Description
		
		=General (General Styles):				Set font sizes, Page backgrounds, link behaviors, etc
		=Master (Master #container Styles):		Placing, sizing, styling the main container
		=Branding (Branding Styles):			Logos, taglines, branding info
		=Nav (Navigation Styles):				The navigation bar; internal and external
		=Forms (Form Styles)					Set appearance of forms, inputs, buttons, etc
		=Multicol (Multi-Column Styles):		The cases where the content needs to be in multiple columns
		=Headings (Heading Styles):				<h1> through <h6>
		=Content (Content Styles):				The main content of the page
		...Further style sections go here...
		=Footer (Credit/Footer Styles):			The footer
		=Uni (Universal Styles):				Classes and elements that apply throughout ('clear', 'blue', etc)
	
	Common Color Table:
		White:									#FFFFFF;
	
	Thanks To:
		CSS structure/commenting: http://www.huddletogether.com/2006/02/16/practical-web-development-tips/
		Markup structure: http://www.stuffandnonsense.co.uk/archives/whats_in_a_name_pt2.html
		Stylesheet searchstring flags: http://www.stopdesign.com/log/2005/05/03/css-tip-flags.html
---------------------- */

/* =General
---------------------- 
	General Styles applied to 'normalize' things
	Notes:
		'Em' styling generally following (http://www.clagnut.com/blog/348/) from this point 10px=1em, 11px=1.1em, etc
		100.01% font size from (http://www.communitymx.com/content/article.cfm?page=5&cid=FAF76)
		Beginning "global reset" styles, to clear troublesome browser defaults, 
		are based on (http://meyerweb.com/eric/thoughts/2007/04/14/reworked-reset/) 
		Note that most form elements are omitted; style those separately, further down.
---------------------- */
html, body, div, span,
applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dd, dl, dt, li, ol, ul,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	font-weight: inherit;
	font-style: inherit;
	font-size: 100%;
	line-height: 1;
	font-family: inherit;
	text-align: left;
	vertical-align: baseline;
}
a img, :link img, :visited img { border: 0; }
table { border-collapse: collapse; border-spacing: 0; }
ol, ul { list-style: none; }

/* Begin Actual Site Styles */
html {
	font-size: 100.01%; /* Ensures font consistency across browsers */
	height: 100%;
}
body {
	font-size: 10px; /* Sets base font-size for browsers that resize text correctly */
	line-height: 1.5; /* Sets base leading for lines of text */
	background: #fff url(../images/bg/body_bg.gif) 0 0 repeat;
	font-family: Arial, Helvetica, sans-serif;
	height: 100%;
}
.sweepspopup {
	background: url(../images/bg/sweeps_full.png) top center no-repeat;
}
.sweepspopup-rightdone {
	background: url(../images/bg/sweeps_full_rightdone.png) top center no-repeat;
}
.sweepspopup-leftdone {
	background: url(../images/bg/sweeps_full_leftdone.png) top center no-repeat;
}
.sweepspopup-alldone {
	background: url(../images/bg/sweeps_full_alldone.png) top center no-repeat;
}
p {margin-bottom: 1em; line-height: 1.5}
div, span, a {line-height: 1.5}

input, select, th, td {font-size: 1em}

h1 {font-size: 2em} /* 24px */
h2 {font-size: 1.5em} /* 18px */
h3 {font-size: 1.25em} /* 15px */
h4 {font-size: 1em} /* 12px */
h5 {font-size: 1em} /* 12px */
h6 {font-size: 1em} /* 12px */

strong {font-weight: bold}
em {font-style: italic}
sup {font-size: 50%; vertical-align: super;}

/* Basic link styles */
a, a:link {
	color: #125080;
	text-decoration: underline;
}
a:visited { color: #125080; }
a:hover, a:active { color: #125080; text-decoration: underline; }
a:focus { outline: none; /* Removes dotted outline in Firefox */ }

/* =Master
---------------------- 
	Master Container
	Notes:
		margin: 0px auto; centers the container horizontally except in IE5, which is fixed in the body tag
---------------------- */
#container {
	position: relative;
	margin: 0px auto;
	padding: 0;
	width: 880px;
	font-size: 1.2em; /* 12px (based on value from body) */
	text-align: left; /* Normalize alignment; unfix all browsers from fix in IE stylesheet */
}
.sweeps-index-index #container { width:auto; }
.sweepspopup #container {
	width: 628px;
}

#hd, #bg, #ft { clear: both; }
#hd { padding-top: 16px; }
#bd {}
#ft {}

/* Skip link: This is the very first link anywhere on the page; by tabbing to it or hitting accesskey 2, a user can skip the header/navigation of a page and go directly to the page content. It is normally 'hidden' by being positioned far, far off the page; bringing it into focus with Tab makes it visible. */
	#skiplink a {
		position: absolute;
		top: -1000px;
		left: -2000px;
	}
		#skiplink a:focus, #skiplink a:active {
			position: absolute;
			margin: 0;
			top: 0;
			left: 0;
			display: block;
			padding: 0;
			background: #000;
			color: #fff;
			font-weight: bold;
		}
		#skiplink a:hover {}

/* =Branding
----------------------
	Branding styles: Usually the logo and tagline
	Notes:
		Image replacement: Usually Phark Method (http://www.mezzoblue.com/tests/revised-image-replacement/)
---------------------- */
#branding {}
#branding-logo { width: 477px; height: 189px; margin: 0 auto; cursor: pointer; }
#branding-logo h1 { text-indent: -5000px; overflow: hidden; background: transparent url(../images/branding/commuternation_logo.gif) 0 0 no-repeat; width: 100%; height: 100%; line-height: 1; padding: 0; }
#branding-logo h1 a { display: block; width: 100%; height: 100%; }
#branding-tagline { display: none; }
#branding-tagline h2 {}

/* =Nav
----------------------
	Navigation styles
	Notes:
		Navigation belongs in an UL tag with <ul><li><a></a></li></ul> as the markup scheme.
		Keep each of the below #elements as divs, and put the UL inside them
		If there's a Left-Hand navigation, use #nav-section, give it a width & float it left
---------------------- */
#nav {}
	#nav-main {}
	#nav-section {}
	#nav-external {}

#sweeptag {
	position: absolute;
	right: 0px;
	top: 0px;
	z-index: 50;
}
	#sweepbutton {
		width: 338px;
		height: 130px;
	}
/* =Forms
----------------------
	Form styles
	Notes:
		A <p></p> should always enclose every label-input (or label-select) pair.
		Widths are in % to start, so that they scale, but they are the attributes most likely to change.
		Remember -- the IE stylesheet has different percentage widths to start.
---------------------- */
form {
	display: block;
	margin: 0;
	padding: 0;
	width: 100%;
}
.sweeps_column form {
	margin: 10px 0 0 5px;
}
#sweeps_enter_form {
	margin-top: 110px;
}
#sweeps_tell_form {
	margin-top: 270px;
	float:left;
	display:block;
}
	fieldset {
		border: 0px solid;
		padding: 0;
		margin: 0 0 1.4em 0;
	}
	form p {
		display: block;
		clear: both;
		margin: 3px 0 3px 0;
		padding: 0;	
	}
		form label {
			display: block;
			float: left;
			width: 85px;
			padding: 0 15px 0 0;
			margin: 1px 0 0 0;
			color: #FFF;
			line-height: 15px;
		}
		.sweeps_column_right label {
			width: 155px;
			padding-right: 0;
		}
		form input, form select, form textarea {
			float: left;
			margin: 0;
			height: 15px;
			padding: 1px 2px;
			width: 150px;
			font-size: 1em;
			border: solid 1px #333;
			background-color: #fff;
			font-family: Arial, Helvetica, sans-serif;
		}
		.sweeps_column_right input {
			width: 120px;
		}
		form select { width: 156px; height: 20px} /* Selects are not the same as inputs */
		form textarea {height: 6em}
		
		/* Radio buttons */
		form input.radio, form input.radiobtn {
			text-align: left;
			width: 1.3em;
			margin: 0.3em 0.2em 0 0;
			padding: 0;
			border: none;
			background: none;
		}
		form .radiotext {
			margin: 0 1em 0 0;
			width: 120px;
		}
		
		/* Check boxes */
		form input.ckbx, form input.checkbox {
			text-align: left;
			width: 1.2em;
			margin: 0 5px 0 0;
			padding: 0;
			border: none;
			background: none;
		}
		form input.submit, button { /* There are lots of default values to fix */
			border: none;
			padding: 0;
			background: none;
			color: #555;
			font-size: 0.9em;
			font-weight: bold;
			height: auto;
			width: auto;
			cursor: pointer;
			font-family: inherit;
		}
		#enter_submit, #tell_submit {
			border: none;
			padding: 0;
			background: none;
			color: #555;
			font-size: 0.9em;
			font-weight: bold;
			height: auto;
			width: auto;
			cursor: pointer;
			font-family: inherit;
			margin: 2px 20px 0 0;
		}
		#enter_submit {
			float: right;
		}
		#tell_submit {
			float: right;
		}
		form input.submit:hover, button:hover { /* IE6 can't see these, too bad */
		}
		form input.submit:active, button:active { /* Button 'feedback' behavior */
		}
		form button.nostyle {
			border: none !important;
			padding: 0 !important;
			margin: 0 !important;
			line-height: 1 !important;
			background: transparent !important;
		}
		form input.dob_input {
			width: 40px;
			margin-right: 4px;
		}
		
	form p.indent { /* For buttons or text that need to align with inputs/selects */
		margin-left: 100px;
	}
	form p.indent-wide {
		margin-left: 155px;
	}
	form p.xspa { /* "extra space after" */
		margin-bottom: 2.0em;
	}
	form .req, form p.required, form span.required, form label.required {
		color: red;
	}
	form input:focus {
		/* however we want the focused field to look */
	}

	/* validation.js styles */
	.validation-advice { display: none; }
	.validation-failed { background-color: #FFD2D2; }

/* =Multicol
----------------------
	Multi-Column Content styles
	Notes:
		These columns should be used for text within #content.
		Values are in percentages to start off -- remember that the IE stylesheet has different values.
		If you need "pixel-perfect", you'll have to stop using percentages and use actual pixels
---------------------- */
.twoColumnLayout {
	width: 47%;
	float: left;
	clear: none;
}
	.twoColumnLeft { margin-right: 5%; }
.threeColumnLayout {
	width: 30%;
	float: left;
	clear: none;
}
	.threeColumnLeft { margin-right: 4%; }
	.threeColumnMiddle { margin-right: 4%; }
	.threeColumnRight {	margin-right: 0; }

.sweeps_column {
	float: left;
	margin-top: 221px;
	height: 497px;
}
.sweeps_column_left {
	padding: 0 0 0 20px;
	width: 285px;
}
.sweeps_column_left_thanks {
	background: url(../images/bg/sweeps_left_thanks.png) left top no-repeat;
}
.sweeps_column_right {
	padding: 0 0 0 15px;
	width: 308px;
	float:right;
}\
.sweeps_column_right_thanks {
	background: url(../images/bg/sweeps_right_thanks.png) left top no-repeat;
}
	.sweeps_column a, .sweeps_column a:visited {
		color: #FFF;
	}
.sweeps_full {
	float: left;
	clear: left;
	background: url(../images/bg/sweeps_both_thanks.png) left top no-repeat;
	width: 408px;
	height: 197px;
	margin: 221px 0 0 0;
	padding: 300px 0 0 220px;
}
.sweeps_share {
	position: absolute;
	left: 525px;
	top: 15px;
	color:#FFF;
	width: 86px;
}
	.sweeps_share a {
		float: right;
		margin-left: 4px;
	}
.sweeps_column .radiotext { margin-right: 0; padding-right: 0; }
#winners-list { position: absolute; width: 149px; height: 38px; top: 133px; right: 23px; text-indent: -5000px; font-size: 0; line-height: 0; }

/* Winners page */
.sweeps-index-winners { background-image: url(../images/bg/sweeps_winners_bg.png); }
#sweeps-winners-content { height: 406px; overflow: auto; margin-top: 272px; padding: 0 40px 0 22px; }
#sweeps-winners-content h3 { height: 14px; color: #092833; margin: 0 0 16px 0; padding: 0; font-size: 14px; line-height: 14px; text-indent: 0; text-transform: uppercase; }
#sweeps-winners-content h3.unused { color: #02415C; margin-bottom: 3px; }
#sweeps-winners-content p { color: #092833; font-style: italic; margin-bottom: 16px; font-size: 14px; }
#sweeps-winners-content p .name { font-weight: bold; font-style: normal; color: #fff; }
#sweeps-winners-content p .location { font-style: normal; color: #C2E8F9; }
.sweeps-index-winners #winners-list { top: -139px; right: 21px; height: 40px; width: 152px; }

/* Sweeps chooser */
#sweepsChooser { position:absolute; height:485px; width:699px; z-index:99; display:block; background:url(../images/bg/sweeps_chooser_bg.png) center center no-repeat; }
#sweepsChooser .mainBg { position:relative; top:25px; left:25px; height:426px; width:628px; background:url(../images/bg/sweeps_chooser.png) center center no-repeat; }
#sweepsChooser button { position:absolute; top:365px; left:100px; height:44px; width:164px; cursor:pointer; background:url(../images/buttons/button_enter.png) center center no-repeat; }
#sweepsChooser .closeBtn { position:absolute; top: 30px; right: 5px; height:60px; width: 28px; cursor:pointer; }

/* sweepsContainer */
#sweepsContainer { width:674px; height:804px; background:transparent url(/images/bg/sweeps_full_bg.png) 0 0 no-repeat; position:absolute; z-index:99; display:block; line-height:1em; padding:25px 0 0 25px; }
#sweepsContainer iframe { width:628px; height:754px; }
#sweepsContainer .closeBtn { position:absolute; top: 30px; right: 5px; height:60px; width: 28px; cursor:pointer; }

#sweeps_full_thanks { position:absolute; top:550px; left:220px; }


/* =Headings
----------------------
	<h1> through <h6> styles
---------------------- */
h1 {}
h2 { color: #125080; font-weight: bold; }
h3 { color: #125080; font-weight: bold; margin-bottom: 0.5em; }
h4 { font-weight: bold; }
h5 { font-weight: bold; }
h6 {}

h1 { border: none; display: block; text-indent: -5000px; background-repeat: no-repeat; background-position: 0 0; background-color: transparent; font-size: 0; line-height: 0; }
h1.logo a { position: absolute; left: -35px; top: -70px; height: 106px; width: 291px; background-image: url(../images/branding/logo_med.png); }

h3 { padding-bottom:15px; height:22px; border: none; display: block; text-indent: -5000px; background-repeat: no-repeat; background-position: 0 0; background-color: transparent; font-size: 0; line-height: 0; }
.hello-employers { width:243px; background-image: url(../images/bg/h3-hello-employers.png); }

h4 { padding-bottom:5px; height:17px; border: none; display: block; text-indent: -5000px; background-repeat: no-repeat; background-position: 0 0; background-color: transparent; font-size: 0; line-height: 0; }
.benefits-that-everyone-can-appreciate { width:391px; background-image: url(../images/bg/h4-benefits-that-everyone-can-appreciate.png); }
.how-does-it-work { width:391px; background-image: url(../images/bg/h4-how-does-it-work.png); }

h5 { padding-bottom:5px; height:14px; border: none; display: block; text-indent: -5000px; background-repeat: no-repeat; background-position: 0 0; background-color: transparent; font-size: 0; line-height: 0; }
.no-replacement { text-indent: 0; height: auto; font-size: 13px; line-height: 1em; padding-top: 10px; }
.benefits { width:74px; background-image: url(../images/bg/h5-benefits.png); }


/* =Content
----------------------
	Main Content styles
	Notes:
		
		Font-size is inherited, so some math will be necessary to size child elements up or down correctly
---------------------- */
#content { font-size: 1em; /* Inherits 12px from #container */ color: #232323; }
	#content-main {}
	#content-news {}

/* Home/Tour page: Display only the flash movie for now. */
.default-index-tour #container, 
.default-index-tour #bd, 
.default-index-tour #content, 
.default-index-tour #content-main { width: 100%; height: 100%; }

.default-index-tour #hd,
.default-index-tour #ft { display: none; }

.employer-index-index #hd { display: none; }

/* Newsletter */
#newsletter-form {}
#newsletter-form img { display: block; margin: 0 auto 15px; }
#newsletter-form p { text-align: center; }
#newsletter-form input { width: 195px; color: #666; }
#newsletter-form input.dirty { color: #232323; }

.newsletter { margin-top: 15px; }
.newsletter h3,
.newsletter h4 { text-align: center; }

.error-page { border: 1px solid #ccc; background-color: #F3F3F3; width: 60%; margin: 20px auto 10px; padding: 16px; }
.error-page h2 { text-align: center; margin-bottom: 12px; }
.error-page p { text-align: center; }

/* Content Pages */
#frame_top { width: 878px; height: 17px; background: url(../images/bg/frame_top.png) 0 0 no-repeat; margin-top: 70px; }
#frame_mid { width: 808px; height: auto; background: url(../images/bg/frame_mid.png) 0 0 repeat-y; padding: 22px 40px 17px 40px; position:relative; }
#frame_bot { width: 878px; height: 17px; background: url(../images/bg/frame_bot.png) 0 0 no-repeat; }

.underFrame { padding:5px 40px 0px 40px; width:808px; }
.underFrame strong { font-size:14px; }
.underFrame a { font-size:11px; text-transform: uppercase; text-decoration:none; font-weight:bold; color:#000000; }

ul li { background: url(../images/bg/bullet_blue.png) left center no-repeat; padding: 2px 13px 3px 13px; }
.intro { font-size: 16px; line-height: 1.1; }
.pad { padding: 10px; }
.callout_take-a-tour { float: right; width: 448px; left: 450px; position: absolute; }
.cc_block { color: #fff; float: left; margin: 20px 0 0 2px; width: 391px; height: 565px; background: #135080 url(../images/inline/cc_block_fade.png) 0 154px no-repeat; }
.cc_block ul li { background-image: url(../images/bg/bullet_white.png); }
.first { margin-right:18px; }
.cc_block .pad { padding: 10px 30px 0 50px; }
.learn-more { display: block; width: 151px; padding: 10px 0 5px 0; }

a.callout-cc-learn-more { position: absolute; display: block; bottom: 32px; left: -10px; width: 405px; height: 125px; background: transparent url(../images/bg/callout_cc-learn-more.png) 0 0 no-repeat; text-indent: -5000px; }
a.callout-cc-learn-more:hover { background-image: url(../images/bg/callout_cc-learn-more_hover.png) }

/* =Footer
----------------------
	Credit/footer styles: Usually the copyright/company info
	Notes:
---------------------- */
#siteinfo { padding: 20px 0 10px 40px; color: #999; }
	#siteinfo-legal { /* Usually the copyright notice */ font-size: 10px; text-transform: uppercase; }
	#siteinfo-links { /* Usually Terms, Privacy and Accessibility */}

/* =Uni
----------------------
	Universal styles: Styles that apply to elements found throughout the site
	Notes:
		The best example of this is the "clear" div
---------------------- */
.clear {clear: left}
.clear-right {clear: right}
.clear-both {clear: both}
.clear-none {clear: none;}

.bold {font-weight: bold}
.em {font-style: italic}

div.hr {
	border-top: 1px solid #ccc;
	height: 1px;
	margin: 8px 0 8px 0;
	font-size: 0;
}

.fat { height: 12px; }
.fat-pad { padding-top: 12px; }
.thin { height: 5px; }
.thin-pad { padding-top: 5px; }
.header { font-weight: bold; }
.align-right { text-align: right; }
.hidden { display: none; }

.error-message { border: 1px solid #990033; background-color: #FFE1E1; width: 70%; margin: 12px auto; padding: 6px 12px; }
.error-message p { margin-bottom: 0; color: #990033 }
