body {
	margin: 0;
	padding: 0;
	font-size: 92%;
	line-height: 1.28em;
	font-family: Georgia, "Times New Roman", Times, serif;
	background: #444344;
}

#banner {
	margin: 0 auto;
	min-width: 964px;
	height: 112px;
	text-align: center;
	background: url(images/banner_background.png) repeat-x;
}

	#banner a {
		background: none;
		border: none;
	}

#nav {	
	min-width: 964px;
	margin: 0 auto;
	padding: 12px 0 12px 0;
	overflow: hidden;
	list-style: none;
	text-align: center;
	line-height: 1em;
	font-size: 16px;
	font-family: Helvetica, Arial, Geneva, sans-serif;
	background: url(images/nav.gif);
	color: #666;
}

	#nav li {
		display: inline;
		margin: 0 0 0 -6px;
	}
	
	#nav li a {		
		margin: 0;
		padding: 12px 30px;	
		font-size: 16px;
		text-decoration: none;
		color: #333;
		border: none;
		border-left: #999 2px groove;
		background: #999 url(images/nav_li_darkgrey.gif) top repeat-x;		
	}
		
		#nav li:first-child {
			border-left: none;
		}

		#nav li.home a:hover, #nav li.home a.active {
			background: #ff9900 url(images/nav_li_home.gif) top repeat-x;
		}
	
		#nav li.projects a:hover, #nav li.projects a.active {
			background: #6699ff url(images/nav_li_projects.gif) top repeat-x;
		}
	
		#nav li.articles a:hover, #nav li.articles a.active  {
			background: #ff66ff url(images/nav_li_articles.gif) top repeat-x;
		}
	
		#nav li.cv a:hover, #nav li.cv a.active  {
			background: #66ff66 url(images/nav_li_cv.gif) top repeat-x;
		}
		
		#nav li.simple_pages a:hover, #nav li.simple_pages a.active  {
			background: #ff3333 url(images/nav_li_simple_pages.gif) top repeat-x;
		}
		
		#nav li.contact a:hover, #nav li.contact a.active  {
			background: #ffff33 url(images/nav_li_contact.gif) top repeat-x;
		}
		
		#nav li a:hover, #nav li.active {
			background: #ccc url(images/nav_li.gif) top repeat-x;
		}	

.band {
	min-width: 964px;
	margin: 0 auto;
	padding: 16px 0 0 0;
	background: #ccc;
}

	body.home .band {
		background: #ff9900;
	}
	
	body.projects .band {
		background: #6699ff;
	}
	
	body.articles .band {
		background: #ff66ff;
	}
	
	body.cv .band {
		background: #66ff66;
	}
	
	body.services .band {
		background: #ff3333;
	}
	
	body.contact .band {
		background: #ffff33;
	}
	
p.crumbs {
	height: 28px;
	margin: 0;
	padding: 16px 4px 0 4px;
	text-align: center;
	font-size: smaller;
	font-family: Helvetica, Arial, Geneva, sans-serif;
	background: #d6d7d6 url(images/crumbs.gif) top repeat-x;
	color: #666;
}

#messages {
	text-align: center;
	background: #d6d7d6;
}

	#flashMessage, #authMessage, #jsMessage {
		display: inline-block;
		margin: 0 auto;
		padding: 16px 16px 16px 56px;
		background: url(images/notice.png) 8px 50% no-repeat;
		color: #333;
	}

#container {
	background: #d6d7d6 url(images/container.gif) center repeat-y;
}

#content {
	margin: 0 auto;
	padding: 0 2px 0 3px;
	width: 964px;
	overflow: auto;
	background: url(images/content.gif) top no-repeat;
	color: #333;
}
	
#main {
	padding: 0 10px 20px 6px;
	width: 740px;
	float: left;
}
	
	#main.article img {
		display: block;
		margin: 0 auto;
	}

#action {
	float: right;
	width: 180px;
	padding: 0 5px;
	font-size: 0.92em;
}

	#action ul {
		padding-left: 16px;
	}
	
a {
	background: #ffff99;
	color: #333;
	border-bottom: #ccc 1px solid;
	text-decoration: none;
}

	body.home a {
		border-bottom-color: #ff9900;
	}
	
	body.projects a {
		border-bottom-color: #6699ff;
	}
	
	body.articles a {
		border-bottom-color: #ff66ff;
	}
	
	body.cv a {
		border-bottom-color: #66ff66;
	}
	
	body.services a {
		border-bottom-color: #ff3333;
	}
	
	body.contact a {
		border-bottom-color: #ffff33;
	}

	a:visited {
		background: #fefec3;
	}
	
	a:hover {
		background: #fefee7;
	}

abbr {
	border-bottom: #666 1px dotted;
}

li {
	margin: 4px 0;
}
	
.side_nav li {
	list-style: none;
}

	.side_nav li a {
		display: block;
		padding-left: 24px;
		background: none;
		border: none;
	}

	.side_nav li a.active, .side_nav li a:hover {
		background: url(images/pointer_red.gif) no-repeat;
	}

a img {
	border: none;
}

code, kbd {
	color: #006600;
	font-weight: bold;
	font-size: 14px;
}

	kbd {
		border-bottom: 1px dotted;
	}

small {
	color: #666;
}

.music, .bookmark, .admin, .status, .pages, .comment, .active, .faq {
	margin: 8px 0;
	padding-left: 24px;	
	list-style: none;
	background: url(images/music.png) left no-repeat;
}

	li.bookmark {
		background-image: url(images/bookmark.png);
	}

		li.bookmark span.quote {
			font-style: italic;
			color: #666;
		}

	li.status {
		background-image: url(images/status.png);
	}

	li.admin {
		background-image: url(images/admin.png);
	}

	li.comment {
		background-image: url(images/comment.png);
	}

	li.faq {
		background-image: url(images/faq.png);
	}
	
li.phone, li.web, li.email {
	margin: 8px 4px 8px 26%;
	padding: 20px 0 20px 64px;
	list-style: none;
	background: left no-repeat;
}

	li.phone {
		background-image: url(images/phone.png);
	}

	li.web {
		background-image: url(images/web.png);
	}

	li.email {
		background-image: url(images/email.png);
	}
	
blockquote {
	margin: 0;
	padding: 8px;
	border: 1px solid #d8d6d6;
}

	blockquote:before {
		content: url(images/blockquote.gif);
		margin-right: 8px;
	}
	
	blockquote p:first-child {
		display: inline;
	}
	
	blockquote:after {
		content: url(images/blockquote_after.gif);
		display: block;
		text-align: right;
	}

#comments {
	font-size: smaller;
	color: #666;
}

p.intro {
	width: 80%;
	background: url(images/h2.gif) center repeat-y; 
}

div.thumbs {
	overflow: auto;
	margin-bottom: 16px;
}

.thumb {
	float: left;
	margin: 7px;
	text-align: center;
	border: #ccc 1px solid;
}

	.thumb:hover {
		border-color: #fff;
	}
	
		.thumb:hover a img {
			opacity: .92;
		}
	
	.thumb a {
		display: block;
		margin: 0;
		border-bottom: none;
	}
	
	.thumb span {
		display: block;
		padding: 8px 4px 12px 4px;
	}

	.thumb img {
		margin: 0;
	}
	
	.thumb.large {
		width: 740px;
		margin: 6px 0;
		float: none;
	}
	
	.thumb.medium {
		width: 230px;
	}
	
		.thumb.medium span {
			min-height: 40px;
		}
	
	.thumb.small {
		float: none;
		margin: 6px auto;
		width: 150px;
	}	
	
.info {
	margin: 0 auto;
	width: 500px;
	background-color: #fff;
	font-size: smaller;
	color: #333;
}

pre {
	max-height: 300px;
	overflow: scroll;
	background: #efefef;
}

	.code_snippets pre {
		max-height: 600px;
	}

fieldset {
	border: #e5e5e5 1px solid;	
}

	div.input {
		padding: 4px;
		margin-bottom: 8px;
		overflow: auto;
	}

		div.input.required label:after, div.input.password label:after {
			content: "Required.";
			margin-left: 4px;
			font-size: smaller;
			font-style: italic;
			color: #333;
		}

		div.input input, div.input select, div.input textarea {
			margin-left: 4px;
			width: 58.2%;
			color: #333;
		}
		
		div.input textarea {
			height: 320px;
		}
		
		div.input.date select {
			width: 18.6%;
		}

		div.matches {
			margin-left: 46%;
		}

			.matches span {
				display: inline-block;
				margin: 4px;
				padding: 4px;
				cursor: pointer;
				background: #6861ff;
			}

		form em {
			font-size: smaller;
			color: #666;
		}
		
		form code {
			font-style: normal;
			color: #333;
		}
	
	#main label {
		float: left;
		width: 40%;
		text-align: right;
	}
	
		#action label {
			display: block;
		}

	div.submit {
		width: 80%;
		margin: 16px auto;
		padding-top: 16px;
		text-align: center;
		border-top: 1px solid #ddd;
	}
	
	.error {
		background: #ffc1c1;
		border: #ff9595 1px solid;
	}

		.error-message {
			margin-left: 40%;
			text-align: center;
			color: red;
		}
		
	#captcha {
		display: block;
		margin: 0 auto;
		border: 1px solid #ccc;
		border-top: none;
	}
	
		#captcha_refresh {
			float: right;
			margin-top: -40px;
		}
		
form.search {
	text-align: right;
}

	form.search input[type=text] {
		width: 40%;
	}
	
	.search fieldset {
		border: none;
	}
		
p.more {
	text-align: right;
}

#synopsis {
	width: 80%;
	margin: 60px auto 0 auto; 
	font-size: 1.6em;
	text-align: center;
	color: #333;
}

#footer {
	min-width: 964px;
	padding: 70px 0 50px 0;
	text-align: right;
	font-family: Helvetica, Arial, Geneva, sans-serif;
	font-size: smaller;
	line-height: 1.8em;
	background: url(images/footer.gif) top repeat-x;
	color: #999;
}

	body.home #footer {
		background: url(images/footer_home.gif) top repeat-x;
	}
	
	body.projects #footer {
		background: url(images/footer_projects.gif) top repeat-x;
	}
	
	body.articles #footer {
		background: url(images/footer_articles.gif) top repeat-x;
	}
	
	body.cv #footer {
		background: url(images/footer_cv.gif) top repeat-x;
	}
	
	body.services #footer {
		background: url(images/footer_services.gif) top repeat-x;
	}
	
	body.contact #footer {
		background: url(images/footer_contact.gif) top repeat-x;
	}

	#footer a {
		background: none;
		border-bottom: #666 1px solid;
	}

	#footer a {
		color: #fff;
		text-decoration: none;
	}
	
	#footer p {
		width: 80%;
		margin: 0 auto;
	}

	#footer ul {
		width: 80%;
		margin: 0 auto;
		padding: 0;	
		list-style: none;
	}

		#footer li {
			margin: 0;
			padding: 0 0 0 3px;	
			line-height: 1.6em;
		}

			#footer li_active {
				border-left: red 3px solid;
			}

#options {
	padding: 32px 4px;
	text-align: center;
	background: #d6d7d6 url(images/options.gif) top no-repeat;
}

	#options a {
		color: #999;
	}

	#options a:hover {
		color: #666;
	}

div.menu div {
	float: left;
	margin: 4px;
	min-width: 150px;
	text-align: center;
}

	div.menu div a {
		display: block;
		padding: 8px;	
	}

th {
	padding: 5px;
	border: #ccc solid 1px;
	background: url(images/th.gif);
}

td {
	padding: 5px;
	border: #ccc solid 1px;
}

	td.icon {
		background-color: #fff;
	}

h1 {	
	margin: 32px 0;
	padding-bottom: 8px;
	border-bottom: #ccc solid 1px;
	font-family: Helvetica, Arial, Geneva, sans-serif;
	font-size: 1.6em;
	color: #666;
}

h2 {
	clear: left;
	margin-top: 16px;
	padding: 3px 5px 20px 54px; 
	font-family: Helvetica, Arial, Geneva, sans-serif;
	font-size: 1.2em;
	line-height: 1.4em;
	font-weight: bold;
	background: url(images/h2.gif) center repeat-y;
	color: #666;
}

	#action h2 {
		padding-left: 4px;
	}

h3 {
	margin: 0 0 20px 0;
	font-size: 1.4em;
	line-height: 1.2;
	font-weight: bold;
	color: #333;
}

h4 {
	color: black;
	font-family: Helvetica, Arial, Geneva, sans-serif;
}

h5 {
	margin: 0;
	padding: 10px 5px 10px 5px;
	font-family: Helvetica, Arial, Geneva, sans-serif;
	font-size: 1.2em;
	font-weight: bold;
	color: #ffff99;
}

.mceEditor {
	clear: left;
}

	.mceEditor a {
		border: none;
		background-color: transparent;
	}

	.mceEditor a img {
		background-color: transparent;
		background-image: none;
		border-bottom: none;
	}

	.mceContentBody {
		background: #ddd;
	}

acronym, abbr, kbd {
	cursor: help;
}

a acronym, a abbr {
	cursor: pointer;
}

span.modified {
	font-family: Helvetica, Arial, Geneva, sans-serif;
	font-size: 1.4em;
	color: #666;
}

div.pagination {
	margin: 0 auto;
	text-align: center;
}

.caption {
	margin: 20px auto;
	padding: 16px;
	background: #ccc;
	text-align: center;
	border: 1px solid #999;
	font-style: italic;
}

	.caption p {
		margin: 0;
	}

p.feed, p.pdf {
	padding: 8px 0 8px 42px; 
	background: url(images/rss.png) left no-repeat;
}

	p.pdf {
		background-image: url(images/pdf.png);
	}

table {
	margin: 0 auto;
}

p.summary {
	text-align: right;
	font-size: 1.2em;
	line-height: 1.2em;
	font-style: italic;
	color: #333;
	border-bottom: #ccc 1px solid;
}

p.blurb {
	clear: left;
	font-size: 1.8em;
	line-height: 1.2em;
	font-style: italic;
	color: #666;
}

span.highlight {
	background: #99CCFF;
}

span.help {
	background: url('images/stripe.gif'); 
	font-size: 1.4em; 
	color: #339933
}

#flashcontent {
	text-align: center;
}

.stretch:after {		/* Expands the container around any floated elements it may contain */
    content: "."; 
    display: block; 
    height: 0; 
    clear: both; 
    visibility: hidden;
}

* html stretch {
	height: 1%;
}

pre li {
	font-size: 1.08em;
	line-height: 0;
}
