/* Background element*/

body {
	background: #1B1B1B no-repeat top center url("../images/gray_bg.jpg");
	margin: 0;
}

.block {
	display: block;	
}

.left {
	float: left;	
}

.right {
	float: right;	
}

.clear {
	clear: both;	
}

/* Elements with fixed design width */

.contained, #header, #primary_nav, #content {
	width: 944px;
}

.contained {
	margin: 0 auto;
	padding: 0 0 50px 0;
	position: relative;
		top: 0;
		left: 0;
}

#content {
	background: repeat-y top center url("../images/white_container_bg.gif");
	position: absolute;
		top: 80px;
		left: 0;
		z-index: 0;
}

#top {
	background: no-repeat top center url("../images/white_container_top.jpg");
	/* min-height: 330px; */
	position: relative;
		top: 0;
		left: 0;
}

	#content .index {
		padding: 42px 42px 0 42px;
	}
	
	#content .open_margins {
		padding: 42px 182px 62px 182px;	
	}
	
	#content .tight_margins {
		padding: 42px 42px 42px 117px;	
	}
	
	#top br {
		clear: both;	
	}

/* Header element */

#header {
	height: 115px;
	position: absolute;
		top: 0;
		left: 0;
		z-index: 1;
}

	#header h1 {
		margin: 0;
		height: 41px;
		position: absolute;
			top: 32px;
			left: 36px;
		width: 228px;
	
	}
		
	#header h1 img {
		border: 0;
		height: 41px;
		width: 228px;
	}
	
	#header h1 a {
		display: block;
		outline: 0;
	}
	
/* Main navigation */
	
#primary_nav {
	height: 18px;
	margin: 0;
	padding: 0;
	position: absolute;
		left: 55px;
		bottom: 8px;
}

	#primary_nav li {
		background-position: 0 -18px;
		float: left;
		list-style: none;
		padding-right: 16px;
	}
	
	#primary_nav a {
		background-position: 0 0;		
	}
	
		#primary_nav .on a {
			background-position: 0 -18px;
		}
	
	#primary_nav li, #primary_nav a {
		background-repeat: no-repeat;
		display: block;
		height: 18px;
	}
	
		#why, #why a {
			background-image: url("../images/nav_why.gif");
			width: 61px;
		}
		
		#services, #services a {
			background-image: url("../images/nav_services.gif");
			width: 60px;
		}
		
		#work, #work a {
			background-image: url("../images/nav_work.gif");
			width: 40px;
		}
		
		#people, #people a {
			background-image: url("../images/nav_people.gif");
			width: 50px;
		}
		
		#blog, #blog a {
			background-image: url("../images/nav_blog.gif");
			width: 34px;
		}
		
		#news, #news a {
			background-image: url("../images/nav_news.gif");
			width: 40px;
		}
		
		#success, #success a {
			background-image: url("../images/nav_success.gif");
			width: 108px;
		}
		
		#contact, #contact a {
			background-image: url("../images/nav_contact.gif");
			width: 58px;			
		}
		
#free_ideas {
	background-position: 0 -39px;
	height: 39px;
	position: absolute;
		top: 76px;
		right: 153px;
	width: 106px;
}

	#free_ideas, #free_ideas a {
		background-image: url("../images/nav_free_ideas.gif");		
	}

	#free_ideas a {
		background-position: 0 0;
		display: block;
		height: 39px;
		width: 106px;
	}
	
/* Index elements */
	
#index_flash {
	background: no-repeat url("../images/home_bg.jpg");
	height: 330px;
	position: relative;
		top: 0;
		left: 0;
	width: 860px;
}

	#index_intro {
		position: absolute;
			top: 80px;
			left: 535px;
		width: 250px;
	}
	
	#index_thumbs {
		position: absolute;
			bottom: 55px;
			right: 40px;
		width: 821px;
	}
	
		#index_thumbs a {
			float: right;	
		}
		
		#index_thumbs img {
			border: 0;
			height: 60px;
			padding: 32px 0 0 5px;
			width: 93px;
		}

/* Interior elements */

#subnav, #subnav_tight {
	position: relative;
		top: 0;
		left: 0;
}

	#subnav {
		height: 90px;	
	}
	
	#subnav_tight {
		height: 60px;	
	}

	#subnav .aligned_to_bottom, #subnav_tight .aligned_to_bottom {
		position: absolute;
			bottom: 20px;
			left: 0;
	}
	
	#subnav .aligned_to_top, #subnav_tight .aligned_to_top {
		position: absolute;
			top: 15px;
			right: 75px;
	}
	
/* Media and summary, left column and right column */	
	
#excerpt, #left_column {
	float: left;
	padding-right: 20px;
}

#media, #right_column {
	float: left;
	overflow: hidden;
}

	#excerpt {
		width: 335px;
	}
	
	#media {
		width: 430px;	
	}
	
		#video {
			margin: 0 auto;
			width: 320px;
		}
	
	#left_column {
		border-right: 2px solid #C4B287;
		width: 	480px;
	}
	
	#right_column {
		/* border-left: 2px solid #C4B287; */
		padding-left: 20px;
		width: 263px;
	}

/* Block navigation */

#blocks, #blocks_empty {
	background-color: #616265;
	margin: 0 auto;
	padding: 0;
	overflow: hidden;
	width: 860px;
}

	#blocks {
		background-image: url("../images/block_bg.gif");
		background-position: 0 8px;
		background-repeat: repeat-x;
		height: 180px;		
	}
	
	#blocks_empty {
		height: 8px;	
	}

	#blocks li {
		background-repeat: no-repeat;
		display: block;
		float: left;
		height: 77px;
		list-style: none;
		padding: 0;
		margin: 0 12px 0 0;
		overflow: hidden;
		width: 97px;
	}
	
	#blocks .row_a {
		margin-top: 8px;
		margin-bottom: 10px;
	}
	
	#blocks .last {
		margin-right: 0;	
	}

	.block_1, .block_3, .block_5, .block_7 {
		background-image: url("../images/block_1a.jpg");	
	}
	
	.block_2, .block_4, .block_6, .block_8 {
		background-image: url("../images/block_2a.jpg");	
	}
	
	.block_9, .block_11, .block_13, .block_15 {
		background-image: url("../images/block_1b.jpg");	
	}
	
	.block_10, .block_12, .block_14, .block_16 {
		background-image: url("../images/block_2b.jpg");	
	}
	
	#blocks li a img {
		filter: alpha(opacity=60);
		-moz-opacity: 0.6;
		-khtml-opacity: 0.6;
		opacity: 0.6;		
	}

/* Footer */

#footer {
	background: #1B1B1B no-repeat top center url("../images/white_container_footer.gif");
	height: 100px;
	padding: 0 57px 0 57px;
}

	#footer .right div {
		float: left;
		height: 31px;
		margin-right: 4px;
		width: auto;
	}

	#footer .right img {
		border: 0;
		float: left;
		margin: 4px 0 0 4px;
	}
	
	#footer_login {
		height: 60px;	
	}
	
	#footer_login a {
		padding-right: 20px;
	}
	
/* Form elements */

.message {
	padding: 15px 0 15px 0;	
}

form fieldset {
	border: 0;
	display: block;
	padding: 0;
	width: 350px; /* Change this width to affect element widths */
}

	form input, form select, form textarea {
		border: 0;
		display: block;
		padding: 0;
		width: 100%;
	}
	
	/* Use these wrapper classes to change padding, margin, etc. on form elements */
	
	form .input, form .textarea, form .select {
		background: #FFF;
		border: 1px solid #666666;
		margin-top: 5px;
		padding: 3px;
	}
	
	form label {
		display: block;
		width: 100%;
	}
	
	/* Wrapper for label and form field element */

	form .field {
		margin-bottom: 9px; 
		padding: 0;
	}
	
	/* Special widths */
	
	form .half {
		width: 50%;	
	}
	
	form .quarter {
		width: 25%;	
	}
	
	form #submit {
		background: #BB5831;
		cursor: pointer;
		margin: 10px 0 10px 0;
		padding: 4px;
		width: auto;	
	}
