body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,p,blockquote,table,th,td {
	margin: 0;
	padding: 0;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
fieldset,img,abbr { 
	border: 0;
}
address,caption,cite,code,dfn,h1,h2,h3,h4,h5,h6,th,var,i,b { 
	font-style: normal;
	font-weight: normal;
}
caption,th {
	text-align:left;
}
q:before,q:after {
	content: '';
}
a,u {
	text-decoration:none;
}

body {
	font: normal 12px/21px Arial, sans-serif;
	background-color: white;
	color: #656565;
	text-align: center;
}
a {
	color: #656565;
	outline: none;
	border-bottom: 1px solid #656565;
}
a:visited {
	color: #656565;
}
a:hover {
	background-color: #EEE;
}
ul, ol, li {
	margin: 0;
	padding: 0;
	list-style: none;
}
em {
	color: #FF7E00;
	font-style: normal;
	font-weight: bold;
}
#wrapper {
	width: 772px;
	margin: 45px auto 15px auto;
	text-align: left;
}

#logo {
	margin: 0 10px;
}
#logo a {
	border-width: 0;
}

#cols {
	margin: 62px 0 70px 0;
}

#main_col {
	float: right;
	width: 621px;
}
#main_col_contents {
	margin: 0 10px 0 0;
}
#main_col h1 {
	margin: 0 0 20px 0;
	font-size: 20px;
}
#main_col p {
	margin: -5px 0 10px 0;
	width: 50%;
}

#home_projects {
}
#home_projects .group {
	margin-bottom: 1px;
}
#home_projects .project {
	float: left;
	margin-left: 1px;
}
#home_projects .first {
	margin-left: 0;
}
#home_projects a {
	display: block;
	border-width: 0;
	width: 203px;
	height: 150px;
}
#home_projects a:hover {
	background: transparent;
	border: 2px solid #FF7E00;
	width: 199px;
	height: 146px;
}
#home_projects .wide a {
	width: 305px;
}
#home_projects .wide a:hover {
	width: 301px;
}
#home_projects img, #home_projects span {
	display: none;
}

#linear_nav {
	float: left;
	margin: 8px 0 0 13px;
}
#linear_nav a, div#next, div#back {
	display: block;
	width: 26px;
	height: 10px;
	border-width: 0;
}
#next {
	background: url(/images/linear_nav_next.gif);
	margin: 0 0 6px 0;
}
#back {
	background: url(/images/linear_nav_back.gif);
}
#linear_nav a:hover {
	background-position: -100px 0;
}
div#next, div#back {
	background-position: -200px 0;
}
#linear_nav span {
	display: none;
}

#photo_nav {
	margin: 0 0 9px 0;
	position: relative;
}
#thumbs {
	margin-right: -1px;
}
#thumbs .thumb {
	float: left;
	margin: 0 1px 1px 0;
}
#thumbs .thumb a {
	border-width: 0;
	display: block;
	width: 67px;
	height: 41px;
}
#thumbs .thumb a:hover {
	background: transparent;
	border: 2px solid #656565;
	width: 63px;
	height: 37px;
}
#thumbs .current a, #thumbs .current a:hover {
	border: 2px solid #FF7E00;
	width: 63px;
	height: 37px;
}

.photo_marker {
	background: #FF7E00;
	position: absolute;
}
.photo_marker_top, .photo_marker_bottom {
	width: 67px;
	height: 2px;
}
.photo_marker_top {
	top: 0;
}
.photo_marker_right {
	top: 0;
	right: 0;
}
.photo_marker_bottom {
	bottom: 0;
}
.photo_marker_left {
	top: 0;
}
.photo_marker_left, .photo_marker_right {
	width: 2px;
	height: 41px;
}

#photo_wrapper {
	float: right;
	width: 100%;
}
#photo {
	position: relative;
	height: 411px;
}
#photo .photo {
	position: absolute;
}
#photo .photo a {
	cursor: -moz-zoom-in;
	border-width: 0;
}
#photo .photo img {
	border: 3px solid #B1B1B1;
}
#photo .photo .controls a {
	cursor: pointer;
}
#photo .photo .controls img {
	border-width: 0;
}
#photo .detail {
	position: absolute;
	width: 605px;
	height: 411px;
	overflow: hidden;
	border: 3px solid #B1B1B1;
}
#photo .detail img {
	position: relative;
	cursor: move;
	border-width: 0;
}

#side_col {
	margin: 0 621px 0 10px;
	padding: 0 15px 0 0;
}
#side_col_contents {
	float: left;
	width: 100%;
}

#nav {
	margin: 0 0 0 -7px;
}
#nav li {
	margin: 0 0 24px 0;
}
#nav a {
	display: block;
	height: 8px;
	border-width: 0;
}
#nav a.home {
	background: url(/images/nav_home.gif);
	width: 37px;
}
#nav a.about {
	background: url(/images/nav_about.gif);
	width: 48px;
}
#nav a.portfolio {
	background: url(/images/nav_portfolio.gif);
	width: 63px;
}
#nav a.press {
	background: url(/images/nav_press.gif);
	width: 40px;
}
#nav a.contact {
	background: url(/images/nav_contact.gif);
	width: 54px;
}
#nav li.current a {
	background-position: -200px 0;
}
#nav li a:hover {
	background-position: -100px 0;
}
#nav a span {
	display: none;
}
#nav li ul {
	margin: 5px 0 0 15px;
}
#nav li li {
	font: 11px/16px Arial, sans-serif;
	margin: 0;
}
#nav li li a {
	display: inline;
}
#nav li li a:hover {
	color: #3E3E3E;
	background: transparent;
}
#nav li li.current a, #nav li li.current a:hover {
	color: #FF7E00;
	border-width: 0;
}

#side_col p {
	font: normal 11px/16px Arial, sans-serif;
	width: 100%;
}
#project_description h2 {
	margin: 40px 0 5px 0;
	color: #3F403F;
	font: normal 11px/16px Arial, sans-serif;
}
#caption p {
	margin: 5px 0 0 0;
	width: 100%;
	font-style: italic;
}

#footer {
	margin: 0 0 20px 149px;
	border-left: 1px solid #8B8B8B;
	padding: 0 0 0 7px;
	font: normal 11px/15px Arial, sans-serif;
	color: #3E3E3E;
}
#footer p, #footer ul {
	margin: 0 0 8px 0;
}
#footer_nav li {
	float: left;
	border-left: 1px solid #8B8B8B;
	margin-left: 5px;
	padding-left: 5px;
}
#footer_nav li.first {
	border-left-width: 0;
	margin-left: 0;
	padding-left: 0;
}

.controls {
	margin: 10px 0 0 0;
}
.controls a {
	border-width: 0;
}

/* clearing floats without markup (http://www.positioniseverything.net/easyclearing.html) */
.clearfix:after {
    content: "."; 
    display: block; 
    height: 0; 
    clear: both; 
    visibility: hidden;
}
.clearfix {
	display: inline-block;
}
/* Hides from IE-mac \*/
* html .clearfix {height: 1%;}
.clearfix {display: block;}
/* End hide from IE-mac */
/* end of clearing floats without markup */

.clear_float {
	height: 0;
	float: none;
	clear: both;
}

.required {
	font-size:20px;
	line-height:14px;
	color:#C00;
}
#main_col .required_key {
	margin: 10px 0 0 0;
}

table {
	margin:0 0 15px 0;
	padding:0;
	border-collapse:collapse;
	border-top:2px solid #CCC;
	border-bottom:2px solid #CCC;
}
table th {
	font-weight:bold;
	font-size:10px;
	line-height:13px;
	text-transform:uppercase;
	border-top:1px solid #CCC;
	border-bottom:1px solid #CCC;
	padding:5px;
	vertical-align:middle;
	text-align:left;
	white-space: nowrap;
}
table td {
	font-size:12px;
	line-height:15px;
	border-top:1px solid #CCC;
	border-bottom-width:0;
	padding:5px;
	vertical-align:middle;
	text-align:left;	
}

#notice_wrapper {
	position: absolute;
	top: 0;
	width: 750px;
	height: 1px;
	z-index: 9999;
}
#notice {
	position: relative;
	width: 280px;
	margin: 0 auto;
}
#notice div {
	background: url(/images/notice_bg.gif) center bottom;
}
#notice p {
	margin: 0;
	padding: 15px;
	font: 12px/16px Arial, sans-serif;
}
#notice p .inner {
	margin: 0 0 0 18px;
	display: block;
}
#notice p .bullet {
	background: url(/images/exclamation.png);
}
#notice.positive p .bullet {
	background: url(/images/accept.png);
}

#main_col p.message {
	margin: 5px 0 0 0;
	color: #C00;
	width: 100%;
}

.bullet {
	width: 16px;
	height: 16px;
	display: block;
	float: left;
	position: relative;
	margin: -1px 3px 0 0;
	padding: 0;
	background: no-repeat;
}

