body {
	margin: 0;
	padding: 0;
	font-family: Verdana, sans-serif;
	font-size: small;
	text-align: center;
	line-height: 1.5em;
	color: #333;
	background: #333;
	}

/* ---[ links ]------------------------------- */

a:link {
	color: #40659B;
	text-decoration: none;
	border-bottom: 1px dotted #bbb;
	}
a:visited {
	color: #8EA4C2;
	text-decoration: none;
	border-bottom: 1px dotted #bbb;
	}
a:hover {
	color: #036;
	border-bottom-style: solid;
	}
a.more {
	padding-right: 7px;
	}

/* ---[ common elements ]--------------------- */

p {
	margin: 1em 0 1em;
	padding: 0;
	}
h1 {
	font-family: "Trebuchet MS", Verdana, sans-serif;
	font-size: 150%;
	font-weight: normal;
	padding: 0;
	margin: 0;
	}
h2 {
	font-family: "Trebuchet MS", Verdana, sans-serif;
	font-size: 150%;
	font-weight: normal;
	padding: 0;
	margin: 0 0 1em 0;
	}
h3 {
	margin: 1.5em 0 0 0;
	padding-bottom: 3px;
	font-family: "Trebuchet MS", Verdana, sans-serif;
	font-size: 120%;
	font-weight: normal;
	color: #7B9905;
	border-bottom: 1px solid #eaeaea;
	}
h3 a:link, h3 a:visited {
	font-size: 110%;
	text-decoration: none;
	border-bottom: none;
	color: #40659B;
	}
h3 a:hover {
	color: #036;
	}
h4, h5 {
	margin: 1.5em 0 0 0;
	font-family: "Trebuchet MS", Verdana, sans-serif;
	font-size: 110%;
	font-weight: normal;
	color: #333;
	}
h1 span, h2 span, h3 span {
	color: #999;
	}
blockquote {
	font-size: 88%;
	line-height: 1.5em;
	color: #777;
	padding-left: 23px;
	}
blockquote.praise {
	padding: 0 0 10px 23px;
	border-bottom: 1px solid #eaeaea;
	}
code {
	color: #7B9905;
	font-size: 110%;
	line-height: 1.2em;
	text-align: left;
	}
code strong {
	color: #4E6200;
	}
abbr, acronym, .popup {
	font-style: normal;
	border-bottom: 1px dotted #bbb;
	cursor: help;
	}
a abbr {
	border: none;
	}
em {
	font-style: italic;
	}
strong {
	font-weight: bold;
	}
del {
	text-decoration: line-through;
	}
ins {
	text-decoration: none;
	font-style: italic;
	}
address {
	margin: 0;
	padding: 0;
	font-style: normal;
	}

/* ---[ top ]------------------------------- */

#wrap {
	position: relative;
	margin: 0 auto;
	padding: 0;
	font-size: 95%;
	text-align: left;
  	width: 750px;
  	border-left: 1px solid #000;
  	border-right: 1px solid #000;
  	background: #fff;
	}
#logo {
	background: #003399;
	height: 90px;
	padding: 0;
	margin: 0;
	}
#logo a  {
	border-style: none;
	display: block;
	width: 118px;
	}
#logo img  {
	display: block;
	width: 0;
	}
#logo span {
	position: absolute; 
	top: 1px;
	left: 25px;
	width: 710px;
	height: 91px;
        background: url(images/header.jpg) no-repeat;
	}
html>body #logo span {
	top: 1px;
	}

/* navigation */

#nav {
	float: left;
	width: 750px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 82%;
	border-top: 1px solid #A2BD43;
	border-bottom: 3px solid #355A10;
	background: #333;
	}
#nav li {
	float: left;
	margin: 0;
	padding: 0 1px 0 0;
	list-style: none;
	}
#nav a {
	float: left;
	padding: 7px 13px;
	text-decoration: none;
	border-bottom: none;
	color: #fff;
	}
#nav a:hover, #nav a.active {
	color: #fff;
	background: #003366;
	}
#nav a.active {
	font-weight: bold;
	background: #003366 ;
	}
li#t-home a {
	margin-left: 25px;
	}

/* switcher */

#theme {
	position: absolute;
	top: 97px;
	right: 5px;
	margin: 0;
	padding: 0;
	}
#theme a {
	border-bottom: none;
	}
#theme a img {
	background: #CCE181;
	margin: 2px 5px 0 0;
	}
#theme a:hover img {
	background: #fff;
	}
#theme a img#theme-fixed {
	background: #fff;
	}

/* ---[ title box ]-------------------------------- */

#title {
	clear: left;
	padding: 25px 310px 25px 25px;
	background: #101010;
	}
#title h1 {
	margin: 0;
	padding: 0;
	font-size: 150%; 
	font-weight: normal;
	color: #EB9F3D;
	}
#title h1 span {
	color: #666;
	}
#title h2 {
	font-family: Verdana, sans-serif;
	margin: 5px 0 0 0;
	padding: 0;
	font-size: 90%;
	line-height: 1.5em;
	color: #888;
	}
#title a {
	border-bottom-color: #333;
	}
#title a:visited {
	color: #40659B;
	}
#title a:hover {
	color: #036;
	}
h2#recent {
	margin: 0 0 4px 0;
	padding: 0;
	font-size: 90%;
	font-weight: normal;
	color: #7B9905;
	}

/* ---[ main column ]----------------------------- */

#main-body {
	float: left;
	width: 521px;
	}
#content {
	margin: 25px 0;
	padding: 0 25px;
	background: #fff;
	}

/* figures */

#content img.thumb {	
	float: right;
	margin-left: 12px;
	margin-bottom: 6px;
	margin-top: .5em;
	border-color: #ccc;
	border-width: 1px;
	border-style: solid;
	padding: 5px;
	}
#content img.alt {
	float: left;
	margin: .5em 12px 6px 0;
	}
#content img.plain {
	border: none !important;
	}
#content a img.thumb:hover {
	border-color: #999;
	}
#content .figure {
	float: right;
	margin: .5em 0 6px 20px;
	font-size: 92%;
	color: #999;
	text-align: center;
	}
#content .figure dt img {
	margin: 0 0 1em 0;
	padding: 5px;
	border: 1px solid #ddd;
	}
#content .figure img.fig {	
	border-color: #ddd;
	border-width: 1px;
	border-style: solid;
	padding: 5px;
	}
#content img.alone, #content .block {
	float: none;
	margin-left: 0;
	}

/* lists */

#content ul {
	list-style: none;
	margin: 1em 0 1em 0;
	padding-left: 24px;
	}
#content ul li {
	padding: 0 0 4px 13px;
	line-height: 1.4em;
	}
#content dl dd {
	margin: 0;
	padding: 0 0 1em 0;
	font-size: 90%;
	line-height: 1.5em;
	}
#content dl dt {
	font-weight: bold;
	}
#content dl dt span {
	font-weight: normal;
	}
#quick-list dt {
	padding: 0 0 0 13px;
	}
#quick-list .date {
	color: #999;
	}
#content #feed-list li {
	padding-left: 0;
	background: none;
	}
#content #feed-list li a {
	padding-left: 30px;
	}

/* alert note */

#content .note {
	font-size: 90%;
	line-height: 1.6em;
	color: #777;
	padding: 8px 0 0 0;
	border-top: 1px solid #eaeaea;
	}
#content .note strong {
	color: #333;
	}
#content .note code {
	color: #444;
	}
#content .alert {
	padding-left: 18px;
	}
#content .check {
	padding-left: 22px;
	}
#home #content .note, #content .plain {
	padding: 0;
	border: none;
	}

/* confirm box */

#content .confirm {
	margin: 1.5em 0;
	padding: 20px;
	font-size: 90%;
	line-height: 1.5em;
	color: #963;
	border: 2px solid #FDDC9A;
	border-left: none;
	border-right: none;
	border-bottom: none;
	background: #FFF3CE;
	}
#content .confirm strong {
	}

/* ---[ entries ]---------------------------------- */

#home #content h3 {
	margin: 0;
	padding: 0;
	border: none;
	}
#content dl.entries {
	margin: 0;
	padding: 0;
	}
#content dl.entries dt {
	font-family: "Trebuchet MS", Verdana, sans-serif;
	font-size: 140%;
	line-height: 1.5em;
	font-weight: normal;
	}
#content dl.entries dt a {
	text-decoration: none;
	border-bottom: none;
	color: #40659B;
	}
#content dl.entries dt a:hover {
	color: #036;
	}
#content dl.entries dd {
	margin: 0;
	padding: 0;
	font-size: 100%;
	}
#content dl.entries dd .more {
	font-size: 90%;
	}
#content dl.entries dd.posted {
	margin: 1em 0 20px 0;
	padding: 4px 0 0 0;
	font-size: 90%;
	color: #ccc;
	border-top: 1px solid #eaeaea;
	}
#content dl.entries dd p {
	margin: 0 0 1em 0;
	}
a.plink {
	padding-left: 16px;
	color: #999;
	text-decoration: none;
	border-bottom: none;
	}
a.qblink {
	padding-left: 12px;
	color: #999;
	text-decoration: none;
	border-bottom: none;
	}
a.qb {
	color: #999;
	text-decoration: none;
	border-bottom: none;
	}
a.clink, .commoff {
	margin: 0 0 0 2px;
	padding: 0 0 0 16px;
	color: #999;
	text-decoration: none;
	border-bottom: none;
	}
.commoff {
	color: #ccc;
	}
a.plink:hover, a.qblink:hover, a.clink:hover {
	color: #666;
	}
	
/* monthly archives */

#content dl.monthly {
	clear: both;
	padding-top: 1em;
	}
p#menu {
	float: left;
	width: 100%;
	color: #999;
	font-size: 90%;
	margin: 0;
	padding: 0 0 4px 0;
	border-bottom: 1px solid #ddd;
	}
p#menu a {
	border: none;
	}

/* quickbits specific */
	
#content dl.entries dt.qb {
	text-indent: 15px;
	font-family: Verdana, sans-serif;
	font-size: 90%;
	line-height: 1.5em;
	}
#content dl.entries dd.qb {
	font-size: 90%;
	line-height: 1.5em;
	color: #666;
	}
#content dl.entries dt.qb a {
	text-decoration: underline;
	}

/* notebook main */

#note-ent {
	width: 65%;
	float: right;
	}
#note-ex {
	width: 23%;
	float: left;
	font-size: 90%;
	}
#content #note-ex ul {
	padding-left: 0;
	}
#content h3#note-rec {
	margin-bottom: 15px;
	}

/* ---[ comments ]--------------------------------- */

#comments {
	font-size: 90%;
	}
#comments textarea {
	width: 350px;
	}
#comments h3 {
	font-size: 130%;
	font-weight: normal;
	padding: 0 0 4px 0;
	margin-bottom: 10px;
	}
#comments h3#chead {
	margin-bottom: 8px;
	border-bottom: none;
	}
#comments h3#add-com {
	margin: 0;
	padding: 0;
	border-bottom: none;
	}
#comments code {
	font-size: 118%;
	}
#comments span {
	color: #999;
	}
#comments dl {
	margin-top: 0;
	color: #666;
	}
#comments dl dt {
	font-weight: normal;
	color: #333;
	padding: 12px 12px 4px 12px;
	margin: 0 0 0 0;
	font-size: 110%;
	line-height: 1em;
	background: #eee;
	border-top: 2px solid #ddd;
	}
#comments dl dt a {
	border-bottom: none;
	}
#comments dl dt a strong {
	font-weight: bold;
	border-bottom: 1px dotted #bbb;
	}
#comments dl dt a em {
	font-weight: normal;
	font-style: normal;
	font-size: 90%;
	color: #eee;
	}
#comments dl dt a:hover em {
	color: #999;
	}
#comments dl dt a.comment-bubble {
	border-bottom: none;
	}
#comments dl dt img {
	vertical-align: middle;
	}
#comments dl dd {
	color: #666;
	padding: 8px 12px 0 12px;
	margin: 0 0 20px 0;
	font-size: 100%;
	background: #eee;
	}
#comments dl dd p {
	margin: 0;
	padding: 0 0 12px 0; 
	}
#comments input {
	vertical-align: middle;
	}
#comments input#author,
#comments input#email,
#comments input#url {
	width: 250px;
	font-size: 130%;
	color: #444;
	border: 1px solid #ccc;
	}
#comments textarea {
	width: 400px;
	font-size: 130%;
	color: #444;
	border: 1px solid #ccc;
	}
#comments .note {
	font-size: 100%;
	}

/* author highlighting */

#comments dl dt.dan {
	color: #526702;
	border-color: #D2DBB3;
	background: #E5ECCE;
	}
#comments dl dt.dan a {
	color: #526702;
	}
#comments dl dt.dan a em {
	color: #E5ECCE;
	}
#comments dl dt.dan a:hover em {
	color: #97A662;
	}
#comments dl dd.dan {
	color: #526702;
	background: #E5ECCE;
	}
#comments dl dd.dan a {
	color: #526702;
	}

/* ---[ right column ]----------------------------- */

#sidebar {
	width: 219px;
	float: right;
	margin: 0 0 25px 0;
	padding: 0;
	font-size: 90%;
	line-height: 1.5em;
	color: #888;
	}
#sidebar h3 {
	margin: 30px 0 12px 0;
	padding: 5px 10px;
	color: #fff;
	font-size: 120%;
	border: none;
	background: #f90;
	}
#sidebar h3#quick {
	margin-top: 24px;
	}
#sidebar h3.sub {
	background: #003366;
	}
#sidebar h4 {
	font-size: 92%;
	font-weight: normal;
	margin: 0;
	}
#sidebar p, #sidebar ul, #sidebar dl {
	margin: 4px 10px 4px 10px;
	padding: 0;
	list-style: none;
	}
#sidebar li {
	margin: 0 0 .5em 0;
	padding: 0 0 0 13px;
	line-height: 1.4em;
	}
#sidebar img {
	vertical-align: middle;
	}

/* custom list styles */

#sidebar #quickbits li {
	padding-left: 16px;
	background-position: 0 3px;
	}
#sidebar ul.articles li {
	padding-left: 16px;
	background-position: 0 3px;
	}
#sidebar #slideshows li {
	margin-bottom: 0;
	padding: 0 0 7px 15px;
	}
#sidebar ul.none li {
	margin-bottom: 2px;
	padding-left: 0;
	background: none;
	}
#sidebar ul.sub li {
	padding-left: 12px;
	background: none;
	}
#sidebar ul.sub li.active a:link, #sidebar ul.sub li.active a:visited {
	color: #244008;
	font-weight: bold;
	text-decoration: none;
	border-bottom: none;
	}
#sidebar ul.sub a:hover {
	color: #244008;
	}
#sidebar ul.sub li.active {
	}
#sidebar ul.sub a { 
	color: #538620;
	}

/* img/desc teasers */

dl.teaser, #sidebar dl.teaser {
	margin: 0 0 10px 10px;
	padding: 0 20px 0 0;
	}
dl.teaser:after {
	content: "."; 
    display: block; 
    height: 0; 
    clear: left; 
    visibility: hidden;
    }
dl.teaser dt {
	margin: 0;
	padding: 0;
	}
dl.teaser dt a {
	float: left;
	display: block;
	margin: 2px 10px 0 0;
	padding: 2px;
	border: 1px solid #ccc;
	background: #fff;
	}
dl.teaser dt a img {
	float: left;
	}
dl.book dt a {
	border-color: #ddd;
	}
dl.teaser dt a:hover {
	padding: 0;
	border: 3px solid #ddd;
	}
dl.teaser dd {
	margin: 0 0 2px 0 !important;
	padding: 0;
	line-height: 1.4em;
	}
dl.teaser dd a {
	font-weight: normal;
	}
dl.teaser dd em {
	font-style: normal;
	color: #7B9905;
	}
dl.noimg dt a {
	float: none;
	display: inline;
	margin: 0;
	padding: 0;
	font-weight: bold;
	border: none;
	border-bottom: 1px dotted #bbb;
	}
dl.noimg dt a:hover {
	border: none;
	border-bottom: 1px solid #bbb;
	}
dl.noimg dd a {
	font-weight: normal;
	}
	
/* ---[ footer ]----------------------------------- */

#footer {
	position: relative;
	clear: both;
	margin: 0;
	padding: 0;
	font-size: 90%;
	color: #666;
	background: #000;
	}
#footer p {
	margin: 0;
	padding: 25px;
	}
#footer a {
	color: #888;
	border-bottom-color: #333;
	}
#footer a:hover {
	color: #ccc;
	}
#footer-rss {
	padding-left: 28px;
	}

/* ---[ forms ]------------------------------------ */

#contactform, #comments-form, .shirt-form, #search-form, #rfp-form {
	margin: 0 0 25px 0;
	padding: 15px;
	}
#search-form {
	margin: 0 0 0 0;
	}
#search-form p {
	margin: 0 0 10px 0;
	}
#search-form input {
	vertical-align: middle;
	}
#contactform dl, #rfp-form dl {
	margin: 0;
	padding: 0;
	font-size: 90%;
	}
#contactform dt, #rfp-form dt {
	color: #333;
	font-weight: normal !important;
	}
#contactform dt em, #contactform .note em, #rfp-form dt em, #rfp-form .note em {
	color: #c00;
	font-weight: bold;
	font-style: normal;
	}
#contactform #realname, #contactform #email, #contactform #url {
	width: 250px;
	border: 1px solid #ccc;
	padding: 2px;
	font-size: 130%;
	color: #444;
	}
#contactform textarea {
	width: 400px;
	height: 180px;
	font-family: inherit;
	font-size: 130%;
	color: #444;
	border: 1px solid #ccc;
	}
#rfp-form h3 {
	margin: 0 0 1em 0;
	}
#rfp-form dl {
	margin: 0 0 2em 20px;
	}
#content #rfp-form dl dt.chbox {
	margin-bottom: 1em;
	}
#content #rfp-form dl dd.chbox {
	margin: 0 0 3px 20px;
	padding: 0;
	}
#content #rfp-form dl dd.last {
	margin-bottom: 1em;
	}

/* tshirt form */

.tshirt-form {
	margin: 0 auto;
	padding: 0;
	}
.tshirt-form th {
	text-align: right;
	vertical-align: top;
	}
.tshirt-form td {
	padding: 0 0 10px 10px;
	vertical-align: top;
	}
.tshirt-form td p {
	margin: 0;
	padding: 0;
	}

/* ---[ photos ]------------------------------------------ */

#photoGrid {
	width: 450px;
	margin-top: 12px;
	text-align: left;
	}
#photoGrid:after {
	content: "."; 
    display: block; 
    height: 0; 
    clear: left; 
    visibility: hidden;
    }
#photoGrid .photo {
	float: left;
	margin: 0 10px 10px 0;
	border: 1px solid #ccc;
	padding: 5px;
	}	
#photoGrid a {
	color: #999;
	text-decoration: none;
	border-style: none;
	}
#photoGrid a:hover {
	color: #000;
	}
#photoNav {
	margin: 1em 0 0 0;
	}
#photoNav a {	
	float: left;
	margin: 0 1px .5em 1px;
	padding: 1px 4px 0 4px;
	color: #ccc;
	text-decoration: none;
	border: none;
	}
#photoNav a:hover, #photoNav a.active {
	color: #000;
	background: #ccc;
	}

#slidenav {
	float: left;
	width: 522px;
	margin: 1em 0;
	padding: 0;
	font-size: 85%;
	line-height: 1.5em;
	text-align: center;
	color: #ccc;
	}
#next {
	float: right;
	padding-right: 7px;
	}
#prev {
	float: left;
	padding-left: 7px;
	}
	
#clearPhoto {
	clear: both;
	margin: 20px 0 0 0;
	}
img#photo {
	margin: 0 0 1em 0;
	padding: 10px;
	border: 1px solid #ccc;
	}

/* photo viewer overrides */

body.viewer #sidebar {
	display: none;
	}

/* ---[ publications ]------------------------------------ */

dl.book {
	margin-bottom: 10px;
	}
dl.book:after {
	content: "."; 
    display: block; 
    height: 0; 
    clear: left; 
    visibility: hidden;
    }
dl.tiplist em {
	color: #999;
	font-style: normal;
	}
#content dl.book dt {
	float: left;
	background: none;
	padding-left: 0;
	margin-right: 10px;
	}
#content dl.book dt img {
	padding: 3px;
	border: 1px solid #ddd;
	}
#content dl.book dd.book-title {
	padding-bottom: 0;
	font-weight: bold;
	font-size: 100%;
	}
#content dl.tiplist dd {
	margin-left: 0;
	}

/* ---[ software ]--------------------------------------- */

.softlist dt {
	padding: 0 0 2px 0;
	margin: 1.2em 0 1em 0;
	border-bottom: 1px solid #ddd;
	}
#content dl.softlist dd {
	padding-bottom: 0;
	}
.softlist p {
	margin-top: 0;
	}

/* ---[ work ]-------------------------------------- */

#work-list dt {
	margin: 10px 0 0 0;
	font-weight: normal;
	}
#content #work-list dd {
	margin: 0;
	padding: 0;
	font-size: 100%;
	}
#work-list dd strong {
	color: #666;
	}
#work-list dt a {
	float: left;
	display: block;
	margin: 2px 6px 0 0;
	padding: 2px;
	background: #fff;
	border: 1px solid #ccc;
	}
#work-list dd a {
	color: #538620;
	}
#work-list dt a:hover, #work-list dt.active a {
	border: 3px solid #ccc;
	padding: 0;
	}
#work-list dt.active a {
	border-color: #244008;
	}
#work-list dd a:hover, #work-list dd.active a {
	color: #244008;
	}
#work-list dd.active a {
	text-decoration: none;
	font-weight: bold;
	border-bottom: none;
	}

/* portfolio pieces */

#port {
	position: relative;
	}
#portText {
	padding-left: 220px;
	}
#port ul {
	padding-left: 0;
	}
#portimg {
	position: absolute;
	top: 0;
	left: 0;
	width: 199px;
	padding: 0;
	margin: .5em 15px 10px 0;
	color: #666;
	font-size: 100%;
	text-align: left;
	}
#portimg dt {
	padding: 6px;
	border: 1px solid #ddd;
	}
#content dl#portimg dd {
	padding: 0;
	margin: 10px 0 0 0;
	}

/* ---[ shop ]------------------------------------------ */

/* shop teasers */

#content h3.teaser-title {
	border-bottom: none;
	}
#content dl.teaser {
	margin: 0 0 15px 0;
	padding: 10px;
	border-top: 2px solid #ddd;
	background: #eee;
	}
#content dl.teaser dd {
	padding: 0;
	}
#content dl.teaser dd.title {
	margin: 0;
	padding: 0;
	font-size: 100%;
	}
#content dl.teaser dd em {
	color: #888;
	font-style: italic;
	}
#content .teaser-row {
	margin: 0 0 1em 0;
	padding: 10px;
	border-top: 2px solid #ddd;
	background: #eee;
	}
#content .teaser-row:after {
	content: "."; 
	display: block; 
	height: 0; 
	clear: both; 
	visibility: hidden;
	}
#content .teaser-row dl.teaser {
	float: left;
	width: 45%;
	margin: 0 5% 0 0;
	padding: 0;
	border: none;
	}
#content .teaser-row dl.last {
	width: 45%;
	margin-right: 0;
	}

/* shop products */

.prod-feature:after {
	content: "."; 
	display: block; 
	height: 0; 
	clear: both; 
	visibility: hidden;
	}
.prod-feature h3 {
	margin-top: 0;
	}
.prod-sample {
	float: left;
	margin: 20px 0 0 0;
	}
.prod-desc {
	margin: 20px 0 0 235px;
	font-size: 90%;
	line-height: 1.5em;
	}
.prod-feature .t-shirt {
	margin-left: 170px;
	}
.prod-feature form.shirt-form {
	clear: left;
	margin: 0 0 1em 0;
	padding-bottom: 5px;
	}
.prod-feature form em {	
	color: #666;
	}
	
/* ---[ misc. ]---------------------------------------- */

hr {
	border-top: 1px dashed #ccc;
	color: #fff;
	background-color: #fff;
	height: 1px;
	}	
h3 img {
	vertical-align: middle;
	}
ul.noBullet li {
	list-style-type: none;
	}
ul.fiveent em {
	color: #999;
	font-style: normal;
	font-size: 90%;
	}
.center {
	text-align: center;
	}
a img {
	border: none;
	}
.hide {
	display: none;
	}

