/* http://meyerweb.com/eric/tools/css/reset/ */
/* v1.0 | 20080212 */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

/* remember to define focus styles! */
:focus {
	outline: 0;
}

/* remember to highlight inserts somehow! */
ins {
	text-decoration: none;
}
del {
	text-decoration: line-through;
}

/* tables still need 'cellspacing="0"' in the markup */
table {
	border-collapse: collapse;
	border-spacing: 0;
}

article, aside, dialog, figure, footer, header, hgroup, menu, nav, section { display: block; }
body {
	color: #555;
	font-family: "Lucida Grande", "Lucida Sans Unicode", sans-serif;
	text-align: center;
}
h1, h2, h3, h4, h5 { color: #555; font-family: garamond, georgia, serif; font-weight: normal; }
a { color: #318DAA; }
#header {
	background-color: #4E4841;
	color: #fff;
	padding: 0.7em 0;
}
#header a#skip { color: #4E4841; position: absolute; top: 0; left: -9999px; }
#header h1 {
	margin: 0;
	padding: 0;
	font-family: "Lucida Grande", "Lucida Sans Unicode", sans-serif;
	font-size: 135%;
	font-weight: bold;
	text-shadow: 2px 2px 2px #333;
}
#header h1 a { color: #fff; text-decoration: none; }
#header h1 a span.creds { color: #9F9B75; font-size: 70%; font-weight: normal; }
.container { margin: 0 auto; text-align: left; width: 820px; }
nav {
    background-color: #ddd;
    background-image: -moz-linear-gradient(top, #999, #ddd 10px); /* FF3.6 */
    background-image: -webkit-gradient(linear,left bottom,left top,color-stop(0.95, #ddd),color-stop(1, #999)); /* Saf4+, Chrome */
    padding: 1em 0;
}
nav.base ul li {
    float: left;
    margin-right: 0.7em;
}
nav.base ul li a {
    background-color: #9F9B75;
    border: 1px solid #888;
    color: #fff;
    font-size: 80%;
    padding: 0.4em 0.7em;
    text-decoration: none;
	text-shadow: 1px 1px 2px #4E4841;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
}
nav.base ul li a:hover {
    background-color: #4E4841;
}

body#bio nav ul li.bio a,
body#blog nav ul li.blog a,
body#contact nav ul li.contact a,
body#resume nav ul li.resume a,
body#recommend nav ul li.recommend a {
    background-color: #4E4841;
}

nav.index p {
	color: #555;
	font-family: garamond, georgia, serif;
	font-size: 110%;
	font-weight: normal;
	line-height: 1.6em;
	width: 440px;
}
nav.index #minibio {
    float: left;
}
nav.index #minibio img {
    float: left;
    margin: 0 10px 0 0;
    background-color: #fff;
    border: 1px solid #999;
    /*
    padding: 5px;
    -webkit-border-radius: 10px;
       -moz-border-radius: 10px;
            border-radius: 10px;
    */
}
nav.index ul#internal {
    float: right;
    width: 300px;
}
nav.index ul#internal li {
	border-top: 1px solid #9F9B75;
	font-size: 90%;
	padding: 0.5em 0 0.5em 0.5em;
}
nav.index ul#internal li:hover { background-color: #eee; }
nav.index ul#internal li:first-child { border: 0px; }
nav.index ul#internal li a {
	color: #318DAA;
	font-weight: bold;
}
nav.index ul#social { margin: 0.5em 0 0 1.8em; }
nav.index ul#social li { float: left; margin: 0 0.5em 0 0; }
nav.index ul#social li a {
	display: block;
	height: 32px;
	width: 32px;
	text-indent: -9999px;
}
nav.index ul#social li.facebook a { background: url(../images/icons/facebook-32x32.png) no-repeat top left; }
nav.index ul#social li.flickr a { background: url(../images/icons/flickr-32x32.png) no-repeat top left; }
nav.index ul#social li.twitter a { background: url(../images/icons/twitter-32x32.png) no-repeat top left; }
nav.index ul#social li.youtube a { background: url(../images/icons/youtube-32x32.png) no-repeat top left; }
div#content { font-size: 87%; line-height: 1.3em; float: left; margin: 2em 0 3em 0; width: 480px; }
div#content p { line-height: 1.6em; margin-bottom: 1.5em; }
div#content li { line-height: 1.6em; }
div#content h1 {
    font-family: garamond, georgia, serif;
    font-size: 160%;
    font-weight: bold;
    line-height: 1.2em;
    margin: 0 0 0.6em 0;
}
div#content h2 {
    font-family: garamond, georgia, serif;
    font-size: 120%;
    font-weight: bold;
    margin: 0 0 1em 0;
}
div#content h3 {
	font-family: garamond, georgia, serif;
	font-size: 120%;
	font-style: italic;
	margin: 0 0 1em 0;
}
div#content h4 {
    color: #555;
    font-weight: bold;
	margin: 0 0 0.5em 0;
}
div#content ol {
    list-style: decimal outside none;
    margin-left: 3em;
    padding: 0 0 1em 0;
}
div#content ul {
    list-style: disc outside none;
    margin-left: 3em;
    padding: 0 0 1em 0;
}
div#content blockquote {
    background-color: #ddd;
    color: #555;
    font-style: italic;
    margin: 0 0 1em 2em;
    padding: 1em;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
}
div#content blockquote p {
    margin: 0;
    padding: 0.5em 0;
}
div#content blockquote p:last {
    padding: 0;
}
div#content li { margin: 0 0 1em 0; }
div#content li.citation { margin-left: 2em; text-indent: -2em; }
div#content hr {
    background: url(../images/hr.png) top center no-repeat;
    border: 0;
    display: block;
    height: 20px;
    margin: 2em 0 4em 0;
    width: 100%;
}

div#sidebar {
	float: right;
	font-size: 80%;
    line-height: 1.5em;
	margin-top: 2em;
	width: 295px;
}
div#sidebar h3 { font-size: 120%; margin-bottom: 1em; font-weight: bold; }
div#sidebar ol, div#sidebar ul { margin-bottom: 1em; }
div#sidebar ol li, div#sidebar ul li { margin-bottom: 1em; }
div#sidebar .sidebar-item { margin-bottom: 2em; }
div#sidebar p { font-size: 90%; line-height: 150%; padding: 0 1em 0 0.1; }

ul#products li { clear: both; font-size: 87%; line-height: 1.3em; margin: 1em 0 0 1em; }
ul#products li p { padding-left: 90px; }
ul#products li a { float: left; }

#paginator { padding: 0 0 1.5em 0; text-align: center; }
#paginator li { display: inline; padding: 0; }
#paginator li.next { padding: 0 0 0 5px; }
#paginator li.previous { padding: 0 5px 0 0; }
#paginator li.current {
    background-color: #4E4841;
    border: 1px solid #9F9B75;
    color: #fff;
    padding: 0.4em 0.8em;
	text-shadow: 1px 1px 2px #4E4841;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
}
#paginator a {
    background-color: #9F9B75;
    border: 1px solid #888;
    color: #fff;
    font-size: 80%;
    font-weight: normal;
    padding: 0.4em 0.8em;
    text-decoration: none;
	text-shadow: 1px 1px 2px #4E4841;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
}
#paginator a:hover { background-color: #4E4841; }

footer {
	background-color: #4E4841;
	clear: both;
	color: #9F9B75;
	font-size: 80%;
	line-height: 1.4em;
	margin-top: 2em;
	padding: 1em 0;
	text-align: center;
	text-shadow: 2px 2px 2px #333;
}
footer .container { text-align: center; }
footer a#license-image { display: block; margin: 10px 0 5px 0; }
footer a#license-link { display: block; }

/* blog post styles */

#content .hentry h1 { margin-bottom: 0; }
.hentry { margin-bottom: 0; }
.hentry h1 a {
    color: #555;
    text-decoration: none;
}
.hentry abbr.published {
    display: block;
    font-family: garamond, georgia, serif;
    font-style: italic;
    margin-bottom: 1em;
}
.hentry div.entry-content { clear: both; }
.hentry .meta span {
    display: block;
    float: left;
    font-size: 80%;
    margin-right: 1em;
    padding-left: 2em;
    height: 24px;
}
.hentry .meta span.author { background: url(../images/icons/user_edit.png) 0 2px no-repeat; }
.hentry .meta span.comments { background: url(../images/icons/user_comment.png) 0 2px no-repeat; }
.hentry .meta span.permalink { background: url(../images/icons/link_go.png) 0 2px no-repeat; }
.hentry .meta iframe { display: block; margin: 2em 0; }

article.preview {
    background-color: #ddd;
    padding: 1em 2em;
    margin-bottom: 1em;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
}

#comments { margin-top: 3em; }
#comments article {
    clear: both;
    margin: 0 0 3em 0;
    padding: 0;
    width: 100%;
}
#comments article header { margin-bottom: 0.5em; }
#comments article h1 {
    display: inline;
	font-family: "Lucida Grande", "Lucida Sans Unicode", sans-serif;
    font-size: 100%;
    font-weight: bold;
	margin: 0 0.5em 0 0;
}
#comments article h1 a { color: #318DAA; }
#comments article time { font-size: 80%; }
#comments article img.gravatar {
    float: right;
    margin: 0 0 1em 1em;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
}
#comments article p {
    padding-left: 2em;
}
#preview article {
    background-color: #ddd;
    margin: 0 0 1em 0;
    padding: 1em 2em;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
}
#preview-or-change { padding: 2em 0; }

/* resume styles */

.hresume cite { font-style: normal; }
div#content .hresume ol,
div#content .hresume ul {
    margin-left: 0;
}
.hresume li { list-style: none; }
.hresume li.citation .publication { font-style: italic; }
.hresume span.location { display: block; }
.hresume span.date {
    background-color: #ddd;
    background-image: -moz-radial-gradient(center 45deg, ellipse closest-side, #eee 0%, #ddd 100%);
    background-image: -webkit-gradient(radial, 50% 50%, 25, 50% 50%, 5, from(#ddd), to(#eee));
    color: #4E4841;
    float: left;
    font-size: 90%;
    line-height: 1.5em;
    margin: 0 1em 1em 0;
    padding: 15px 10px;
    text-align: center;
    width: 90px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
}
.hresume li.experience span.date abbr { display: block; }
.hresume li { clear: both; padding-bottom: 1em; }
.hresume li.experience div.description {
    clear: both;
    margin-top: 1em;
}
.hresume li.experience span.organization-name,
.hresume li.experience span.organization-unit {
    display: block;
}

/* form stuff */

#content form { margin-bottom: 2em; }
#content form ul { list-style: none; padding: 0; margin: 0; }
#content form label { display: block; float: left; margin-top: 0.4em; width: 110px; }
#content form input[type=text] {
    border: 1px solid #888;
    color: #555;
    font-size: 90%;
    margin: 0;
    padding: 0.4em;
    width: 250px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
}
#content form input[type=text]:focus { background-color: #fff0b0; }
#content form textarea {
    border: 1px solid #888;
    color: #555;
    font-size: 90%;
    margin: 0;
    padding: 0.4em;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
}
#content form textarea:focus { background-color: #fff0b0; }
#content form ul.errorlist li { color: #f34; margin: 0; padding: 0; }

#content form input[type=submit],
#content form button {
    font-size: 120%;
}
#content form li.submit { padding-left: 110px; }

/* messages */

#content ul.messages {
    color: #fff;
    margin: 0;
    padding: 0;
	text-shadow: 1px 1px 2px #666;
}
#content ul.messages li.success {
    background: #98AC76 url(../images/icons/accept-16x16.png) 10px 13px no-repeat;
    display: block;
    margin: 0 0 1em 0;
    padding: 10px 0 10px 35px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
}

/* various elements */

#mugsy-link {
    background: url(../images/mugsy-case-study-notext.jpg) no-repeat;
    color: #fff;
    display: block;
    margin: 0 0 1em 0;
    text-decoration: none;
    height: 130px;
    width: 275px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
}
#mugsy-link span {
    display: block;
	font-family: garamond, georgia, serif;
    font-size: 28px;
    font-weight: normal;
    line-height: 35px;
    padding: 12px 0 0 15px;
    width: 100px;
}

/* flickr styles */

#flickr div.flickr_badge_image { display: inline; float: left; }
#flickr div.flickr_badge_image img {
    border: 1px solid #999;
    margin: 0 8px 8px 0;
    padding: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
}

/* affiliates */

ul.affiliates img { border: 1px solid #999; padding: 10px; }

iframe#aba-affiliate {
    border: 0;
    height: 0;
    width: 0;
}

#content ul.product-list,
#content ul.product-preview-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

#content ul.product-list li.product { display: block; margin-bottom: 5em;}
#content ul.product-list li.product h4 a {
    color: #555;
    text-decoration: none;
}
#content ul.product-list li.product.featured h4 {
    background: url(../images/icons/star.png) no-repeat;
    padding-left: 25px;
}
#content ul.product-list li.product img { float: right; margin: 0 0 1em 1em; }
#content ul.product-list li.product p { margin-bottom: 0.5em; }
#content ul.product-list li.product .description { font-size: 90%; }
#content ul.product-list li.product .product-url {
    background: url(../images/icons/cart_go.png) 0 3px no-repeat;
    padding-left: 25px;
}
#content ul.product-list li.product .other-url {
    background: url(../images/icons/link_go.png) 0 3px no-repeat;
    padding-left: 25px;
}

#content div.category-description {
    font-size: 90%;
    margin-bottom: 3em;
}

#content ul.product-preview-list li.product {
    border: 1px solid #999;
    float: left;
    margin: 1em;
    padding: 2em 0 1em 0;
    text-align: center;
    width: 200px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
}

/* admin */

#admin {
    color: #9F9B75;
    float: right;
    font-size: 80%;
    margin: 5px 0 0 0;
	text-shadow: 2px 2px 2px #333;
}
#admin a {
    color: #fff;
    text-decoration: none;
}

/* utility styles */

.clear { display: inline-block; }
.clear:after {
	display: block;
	visibility: hidden;
	clear: both;
	height: 0;
	content: ".";
}

.tip {
    background-color: #ddd;
    font-size: 80%;
    padding: 5px 10px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
}
