body {
	margin: 0;
	padding: 0;
	background: url("images/body-bg.png") repeat-x #fff;
	font-size: 0.75em;
	line-height: 150%;
	font-family: Verdana,Arial,Helvetica,sans-serif;
	color: #333;
}

acronym, abbr {
	border-bottom: 0;	
}

code {
	font-size: 1.25em;
	color: #607899;
	font-weight: bold;	
}

a img {
	border: 0;	
}

img.icon {
	width: 16px;
	height: 16px;
	vertical-align: middle;	
}

p, ul, blockquote {
	margin-bottom: 0.75em;
}

/**
 * Global styles
 */

a {
	color: #325099;	
}

h2 {
	font-family: Calvert MT Std,Arial,Helvetica,sans-serif;
	font-size: 2em;
	text-transform: lowercase;
}

h3 {
	font-family: Calvert MT Std;
	font-size: 1.25em;
}

/**
 * Layout
 */

#header {
	width: 962px;
	margin: 0 auto;
}

h1 {
	float: left;
	margin: 31px 0 26px 11px;
	width: 461px;
	height: 23px;
}

h1 a {
	display: block;	
	width: 461px;
	height: 23px;
	background-image: url("images/logo.png");
	text-indent: -9999px;
	outline: 0;
}

#header-search {
	float: left;
	width: 230px;
	margin: 0 0 0 249px;
	padding: 28px 0 0 0;
}

#header-search input {
	width: 150px;
	margin: 0 10px 0 0;
	vertical-align: middle;
}

#header-search button {
	width: 60px;
	height: 24px;
	border: 0;
	margin: 0;
	padding: 0;
	background-image: url("images/search-submit.gif");
	vertical-align: middle;
	text-indent: -9999px;
	cursor: pointer;
	outline: 0;
}

#header-search button:hover {
	background-position: 0 -24px;	
}

#nav {
	clear: left;
	width: 960px;
	height: 40px;
	list-style-type: none;
	margin: 0 auto 30px auto;
	padding: 0 1px;
	background: url("images/nav-bg.png");
	overflow: auto;
}

#nav li {
	float: left;
	width: 160px;
	height: 40px;
	background-image: url("images/nav-li-bg.png");
}

#nav a {
	display: block;
	width: 160px;
	height: 40px;
	background-image: url("images/nav.png");
	text-indent: -9999px;
	outline: 0;
}

#nav-home a {
	background-position: 0 0;
}

#nav-home a:hover {
	background-position: 0 -40px; 
}

#nav-services a {
	background-position: -160px 0;
}

#nav-services a:hover {
	background-position: -160px -40px;
}

#nav-portfolio a {
	background-position: -320px 0;
}

#nav-portfolio a:hover {
	background-position: -320px -40px;
}

#nav-resume a {
	background-position: -480px 0;
}

#nav-resume a:hover {
	background-position: -480px -40px;
}

#nav-code a {
	background-position: -640px 0;
}

#nav-code a:hover {
	background-position: -640px -40px;
}

#nav-contact a {
	background-position: -800px 0;
}

#nav-contact a:hover {
	background-position: -800px -40px;
}

#main {
	width: 940px;
	margin: 0 auto;
}

#footer {
	margin-top: 30px;
	height: 40px;
	background-image: url("images/footer-bg.png");
}

#footer-inner {
	width: 960px;
	margin: 0 auto;
	color: #909090;
	font-size: 0.875em;
	padding: 12px 0 0 0;
}

#footer-rss {
	display: block;
	float: right;
	margin-top: 1px;
	width: 47px;
	height: 16px;
	background-image: url("images/footer-rss.png");
	text-indent: -9999px;
	outline: 0;
}

#footer-rss:hover {
	background-position: 0 -16px;	
}

/**
 * Generic form styles
 */

input[type=text] { 
	height: 14px;
	border: 1px #ccc solid;
	padding: 4px;
	font-family: Verdana,Arial,Helvetica,sans-serif;
	font-size: 1em;
}

textarea { 
	border: 1px #ccc solid;
	padding: 4px;
	font-family: Verdana,Arial,Helvetica,sans-serif;
	font-size: 1em;
	width: 484px; /* 494px (width of #blog-main) - 2px border - 8px padding */
	height: 150px;
}

#slideshow {
	width: 800px;
	height: 250px;
	margin: 0 70px 30px 70px;
	outline: 0;
}

/**
 * Blog pages
 */
 
#blog {
	width: 800px;
	margin: 0 auto;
	overflow: hidden;
}

#blog-main {
	float: left;
	width: 494px;
	margin: 0 40px 0 0;
}

.blog-entry {
	padding: 0 0 24px 0;
	margin: 0 0 24px 0;
	border-bottom: 1px #ccc solid;
}

.blog-entry h3 {
	margin: 0;
}

.blog-entry h3 a {
	text-decoration: none;	
}

.blog-entry-timestamp,
.blog-entry-tags,
.blog-entry-metadata {
	color: #787878;
	margin: 0;
	font-size: 0.875em;
}

.blog-entry-addthis {
	margin-bottom: 0;	
}

#blog-sidebar {
	float: left;
	width: 266px;
}

#blog-sidebar ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

#blog-sidebar li {
	background: url("images/bullet.gif") 0 5px no-repeat;
	padding: 0 0 0 16px;
}

.blog-sidebar-box {
	border-top: 1px #ccc solid;
	padding: 16px 0 20px 0;
}

#blog-sidebar .blog-sidebar-box-first-child {
	border-top: 0;
	padding-top: 0;	
}

.blog-sidebar-box h3 {
	margin-top: 0;
}

#testimonial-quote {
	background: url("images/blockquote-open.png") 0 4px no-repeat;
	margin: 0;
	padding: 0 0 0 16px;
}

#testimonial-quote p {
	background: url("images/blockquote-close.png") bottom right no-repeat;
	padding: 0 16px 0 0;
	margin: 0;
}

#testimonial-attribution {
	text-align: right;
	font-style: italic;
	margin-bottom: 0;
}

/**
 * Portfolio
 */
 
#portfolio {
	list-style-type: none;
	margin: 0 0 24px 0;
	padding: 0;
	/* border-top: 1px #ccc solid; */
}

#portfolio li {
	padding: 24px 0;
	border-bottom: 1px #ccc solid;
	overflow: auto; 
}

#portfolio img {
	display: block;
	width: 380px;
	float: right;
	margin: 0 0 0 40px;
}

#portfolio h3 {
	margin: 0;
}

.portfolio-summary {
	margin-top: 0;
	font-style: italic;
	color: #999;
}

#portfolio-extras {
	overflow: auto;
}

#portfolio-extras li {
	width: 50%;
	float: left;
}

#portfolio-extras li.secret {
	display: none;
}

#portfolio-extras li.unsecret {
	color: #c00;
	opacity: 0;
}

#portfolio-extras li.unsecret a {
	color: #c00;
}

/**
 * Contact page
 */

#contact-message {
	width: 300px;
	height: 250px;
}

#contact-captcha {
	width: 48px;
	vertical-align: middle;
}

#contact-captcha-image {
	vertical-align: middle;
}

#contact-submit {
	width: 60px;
	height: 24px;
	border: 0;
	margin: 0;
	padding: 0;
	background-image: url("images/contact-submit.gif");
	text-indent: -9999px;
	outline: 0;
	cursor: pointer;
}

#contact-submit:hover {
	background-position: 0 -24px;
}

/**
 * Pagers
 */
 
.pager {
	overflow: auto;
	margin: 0 0 24px 0;
}

.pager a {
	outline: 0;	
}

.pager-prev {
	width: 247px;
	float: left; 
}

.pager-next {
	width: 247px;
	float: left;
	text-align: right; 
}

/** 
 * Resume
 */
 
.resume-job-period {
	font-weight: normal;
}

.resume-job-address {
	color: #787878;
}

/**
 * Comment listings
 */
 
#comment-author,
#comment-email,
#comment-url {
	width: 220px;	
}

#comment-captcha-container {
	margin: 0 0 24px 0;	
}

button.comment-submit {
	width: 120px;
	height: 24px;
	border: 0;
	padding: 0;
	margin: 0;
	text-indent: -9999px;
	background-image: url("images/comment-submit.gif");
	outline: 0;
	cursor: pointer;
}

button.comment-submit:hover {
	background-position: 0 -24px;	
}
	

.commentlist {
	list-style-type: none;
	margin: 0;
	padding: 0;
}
 
.comment {
	border-bottom: 1px #ccc solid;
	padding: 20px 20px;	
}

/* TODO: fix bottom margin/padding on li.comment */

.avatar {
	width: 32px;
	height: 32px;
	float: left;
	margin: 0 10px 10px 0;
}

/**
 * Forms
 */
 
div.field {
	margin: 0 0 10px 0;
}

div.field label {
	display: block;
	width: 80px;
	float: left;
	margin: 0 20px 0 0;
	padding: 3px 0 0 0;
	font-weight: bold;	
}

.form-note {
	font-style: italic;
	color: #787878;
}

/**
 * For reCAPTCHA Form plugin
 */
 
.alert {
	color: #c00;
	font-weight: bold;
}

