/*** 
 * GENERIC HTML ELEMENTS
 * Rewrites of standard HTML elements
 * ------------------------------------------------------------------------- */

* {
	margin: 0;
	padding: 0;
}

html {
	font-family: Georgia, Palatino Linotype, serif;
	font-size: 62.5%;
	line-height: 1em;
}

body {
	color: #111;
	background-color: #f7f8fa;
	line-height: 1.6em;
	height: 100%;
}
	
/*
 * Header margins:
 * TOP: line-height/size 
 * BOTTOM: TOP/2 
 */
h1, h2, h3, h4, h5, h6 {
	font-family: Arial, Helvetica, Verdana, sans-serif;
	font-weight: normal;
}
	h1 {
		font-size: 2.5em;
		line-height: 1.25em;
		margin: 0.5em 0 0.25em;
	}
	h2 {
		font-size: 1.6em;
		margin: 1em 0 .5em;
	}
	h3 {
		font-size: 1.5em;
		margin: 1.07em 0 0.535em;
	}
	h4 {
		font-size: 1.4em;
		margin: 1.14em 0 0.57em;
	}
	
p {
	margin-bottom: 1.6em;
	font-size: 1.1em;
}
	p + p {
		margin-top: -0.8em;
	}

a {
	text-decoration: none;
	color: #e491e5;
}
	a:hover {
		text-decoration: underline;
	}
	a img {
		border: none;
	}
	
	ul, ol, dl {
		margin: 1em 0;
		padding:0;
	}
		ul li,
		ol li {
			margin: 0 0 0.5em 2em;
			padding: 0;
		}
			ul li ul {
				margin-top: 0.5em;
				margin-bottom: 0;
			}
		dl dt {
			font-weight: bold;
		}
		dl dd {
			padding: 0 0 0 1.2em;
		}
	
	blockquote {
		font-style: italic;
		margin: 2em;
	}
/*** END GENERIC HTML ELEMENTS ***/

/*** 
 * VARIATIONS ON HTML SELECTORS
 * ------------------------------------------------------------------------- */
a.button {
	border: 1px solid #b69060;
	padding: 0.4em 0.6em;
	margin: 0 0.5em 0 0;
	font-family: Georgia, "Times New Roman", Times, serif;
	font-weight: bold;
	font-size: 0.9em;
	cursor: pointer;
	text-decoration: none;
}

ul.buttonlist {
	list-style: none;
	margin: 1em 0;
	padding: 0;
}
	ul.buttonlist li {
		display: inline;
		margin: 0;
		padding: 0;
	}

div.hr,
p.hr {
	clear: both;
	height: 1px;
	overflow: hidden;
	margin: 1.5em 0;
	line-height: normal;
}
div.hr3 {
	clear: both;
	height: 5px;
	overflow: hidden;
	margin: 1.5em 0;
}

h1.title span {
	font-size: 32px;
}
/***  END VARIATIONS ON HTML SELECTORS ***/

/*** 
 * UTILITY ELEMENTS
 * Things like clearing divs, screenreader navs, hide classes, etc
 * ------------------------------------------------------------------------- */
div.clear {
	clear: both;
	height: 0px;
	overflow: hidden;
}

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

ul.nav_sr {
	left: -999999em;
	position: absolute;
	margin: 0;
	padding: 0;
}

.offscreen_positioned {
	left: -999999em;
	position: absolute;
	margin: 0;
	padding: 0;
}

.hide {
	display: none;
}

div.divider {
	height: 3px;
	background: transparent url("../../_img/dividers/divider_gray_dot.gif") 0 0 repeat-x;
	margin: 0 0 2em;
}

div.nowrap {
	margin: 0;
	padding: 0;
	white-space: nowrap;
	display: inline; /* IE gets all fussy otherwise */
}

.nobg {
	background: none !important;
}
/*** END UTILITY ELEMENTS ***/

/*** 
 * TEMPLATE STRUCTURAL ELEMENTS AND ITEMS
 * Elements which define the overall layout of the site.
 * ------------------------------------------------------------------------- */
div#page {}
	div#page p#logo {
		width: 915px;
		height: 67px;
		display: block;
		text-indent: -99999px;
		background: transparent url("/_img/logo.gif") 0 0 no-repeat;
	}
		div#page p#logo a {
			display: block;
			width: 100%;
			height: 100%;
		}
	div#page ul#nav_main {
		list-style: none;
	}

	div#page div#primary {}

	div#page div#primary h2 {
		margin-left: 20px;
	}
	
	ul.portfolio_items {
		list-style: none;
	}
		ul.portfolio_items li {
			font-size: 1.1em;
			margin-left: 0;
		}
		
	div#page div#footer {
		margin: 10px 20px;
	}			
/*** END TEMPLATE STRUCTURAL ELEMENTS AND ITEMS ***/


/*** 
 * WIDGETS AND PARTS
 * Little fancy things that are used in many places and individual, reusable widgets
 * ------------------------------------------------------------------------- */
div.errors {
	background-color: #ffe1db;
	border: 2px solid #cb1603;
	color: #be0b0b;
	padding: 1em;
	margin: 2em 0 2em -15px;
}
	div.errors h2 {
		margin: 0.25em 0.25em 0;
	}
	div.errors ul {}
		div.errors ul li {
			list-style: none;
			margin: 5px;
			font-size: 1.1em;
		}
		
li.error {
	background-color: #ffe1db !important;
	color: #be0b0b;
}
	li.error a {
		color: #000;
		text-decoration: underline;
	}

div.success {
	background-color: #e2f9e3;
	border: 2px solid #99cc99;
	color: #008800;
	padding: 1em;
	font-size: 1em;
	margin: 2em 0 2em -15px;
}
	div.success h2 {
		margin: 0.25em 0.25em 0;
	}
	div.success p {
		margin: 1em 0.25em 0;
	}

p.caption {
	text-align: center;
}
	p.caption span {
		text-transform: uppercase;
		font-size: 0.82em;
		color: #888787;
		line-height: 2em;
	}

	
/*** END WIDGETS AND PARTS ***/	
	
/*** 
 * SPECIFIC PAGES
 * Stylesheets for specific pages and layouts
 * ------------------------------------------------------------------------- */

/** 
 * Home
 */

div#twitter_updates {
	width: 894px;
	height: 371px;
	background: transparent url("/_img/bg/billboard.jpg") 0 0 no-repeat;
	margin: 10px 20px;
}
	div#twitter_updates div#tweet_container {
		position: absolute;
		top: 150px;		
	}
		div#twitter_updates div#tweet_container div#tweet {
			position: relative;
			width: 500px;
			padding: 20px;
			background: transparent url("/_img/transparent/white_70.png") 0 0 repeat;
		}
		div#twitter_updates div#tweet_container div#tweet p {
			text-align: right;
			font-size: 2.4em;
			color: #e491e5;
			line-height: 1em;
			margin-bottom: 1em;
		}
		div#twitter_updates div#tweet_container div#tweet p.caption {
			padding-bottom: 1px;
			font-size: 1.8em;
		}
		div#twitter_updates div#tweet_container div#tweet p.caption a {
			background: transparent url("/_img/twitter_link.gif") 0 0 no-repeat;
			height: 13px;
			width: 85px;
			display: block;
			text-indent: -99999px;
			float: right;
		}
		div#twitter_updates div#tweet_container div#tweet p.caption a span {
			position: absolute;
			left: -999999em;
		}		
			div#twitter_updates div#tweet_container div#tweet p.caption a:hover {
				background-position: 0 -13px;
			}												
		div#twitter_updates div#tweet_container div#tweet_tip {
			position: relative;
			height: 23px;
			width: 38px;
			background: transparent url("/_img/transparent/white_70_tri.png") 0 0 no-repeat;
			margin: 0 0 0 60px;
		}
		div#twitter_updates div#tweet_container div#twitter_animal {
			position: relative;
			height: 151px;
			width: 113px;
			background: transparent url("/_img/bg/twitter_moose.gif") 0 0 no-repeat;
			margin: 20px 0;
		}						
/*** END SPECIFIC PAGES ***/															
