* { margin:0; padding:0; }
body { font-family:georgia,serif; background-color:#fff; color:#333; }
body,p,li,td { font-size:15px; }
p, ul, ol, div.codeblock, table { margin:13px 0 20px 0; line-height:1.5; }
hr { border:none; height:1px; background-color:#ddd; }
img { border:none; vertical-align:bottom; }
ul, ol { padding-left:1.618em; }

a { text-decoration:none; border-bottom:1px solid #ddd; }
a:link, a:active { color:#316d96; border-bottom-color:#d9ebf8; }
a:visited { color:#7e5494; border-bottom-color:#f1ddfb; }
a:link:hover, a:active:hover { color:#006be4; background:#e2f4ff; border-bottom-color:#c7e4f7; }
a:visited:hover { color:#af00cf; background:#f4e6ff; border-bottom-color:#e5cbf0; }
a > img { margin-bottom:-1px; } /* hide the bottom border implied by the "a" tag */

h1, h2, h3, h4 { color:#000; font-family:'helvetica neue',helvetica,arial,sans-serif; }
h1 a, h2 a, h3 a, h4 a { border:none; }
h1 a:link, h2 a:link, h3 a:link, h4 a:link, 
	h1 a:visited, h2 a:visited, h3 a:visited, h4 a:visited { color:inherit; }
h1 { font-size:26px; }
h2 { font-size:19px; }
h3 { font-size:17px; color:#555; }

/* inline lists */
ul.inline {
    display: inline;
    padding-left: 0em;
    list-style: none;
}

ul.inline li {
    display: inherit;
}

ul.inline li a {
    display: inherit;
}

ul.inline li + li:before {
    content: "; ";
}


/* Universal helpers */
.highlight { background-color:#fffe95; color:#302400; }
.breaker { clear:both; }
.wrapper { clear:both; margin:0 auto; width:920px; }
	.wrapper hr {
		margin:1em -20px 1em -9999em;
		background-color:transparent;
		height:0;
		border-top:1px solid #ccc;
	}

/* Errors from gb::$errors */
#gb-errors { background-color:#fcc; color:#611; padding:10px; min-height:48px; border-bottom:4px solid #c00; }
	#gb-errors a { border:none; background:transparent; }
	#gb-errors a.close {
		display:block; float:right;
		width:16px; height:16px;
		background-image:url(icons16.png);
		background-position:0 -32px;
		background-repeat:no-repeat;
	}
	#gb-errors a.close:hover { background-position:0 -48px; }
	#gb-errors a.close span { display:none; }
	#gb-errors div.icon {
		background-image:url(icons48.png);
		background-position:0 -48px;
		background-repeat:no-repeat;
		width:48px; height:48px;
		float:left;
		margin-left:-15px;
	}
	#gb-errors ul { display:block; float:left; margin:0; padding:0; list-style:none; }
	#gb-errors li { font-family:'helvetica neue',helvetica,arial,sans-serif; font-size:16px; }
	#gb-errors li.title { font-weight:bold; line-height:1; margin:0.2em 0; }

/* Header */
#header {
	font-family:'helvetica neue',helvetica,arial,sans-serif;
	border-bottom:1px solid #ccc;
	background-repeat:repeat-x;
	background-position:0 0;
	height:85px;
	width:100%;
	padding-top:10px;
}
	#header a { border:none; }
	#header div.date { float:right; line-height:1; margin-top:16px; color:#999; }
	#header div.title { height:60px; }
		#header div.title div.name { font-size:34px; height:43px; font-weight:bold; }
			#header div.title div.name a:link, #header div.title div.name a:visited { color:#000; }
			#header div.title div.name a:link:hover, #header div.title div.name a:visited:hover {
				background:none; color:#006be4;
			}
		#header div.title div.description {
			font-family:georgia,serif; font-size:12px; font-style:italic; color:#999;
		}
	#header ul { display:block; height:25px; list-style:none; margin:0; padding:0; }
		#header ul li { float:left; }
		#header ul li.divider { width:20px; height:25px; }
			#header ul li.divider + li a { border-left:1px solid #ccc; }
		#header ul li:first-child a { border-left:1px solid #ccc; }
			#header ul li a {
				display:block; line-height:25px; padding:0 10px; height:25px;
				color:#999;
				font-size:12px;
				font-weight:bold;
				border:1px solid #ccc;
				border-bottom:none;
				border-left:none;
			}
			#header ul li a:hover {
				color:#000;
				background-color:transparent;
			}
			#header ul li a.current, #header ul li a.current:hover {
				color: #000;
				background-color:#fff;
			}
	
	/*
	 * The following ~40 lines adds some character to your blog.
	 * Remove these lines for a plain and simple black & white style.
	 */
	#header { background-color:#e4e2cd; border-color:#c2c0ae;
		background-image:url(/images/bg.jpg); background-position:center 0; }
	@font-face {
		font-family:'Liberation Serif';
		font-style:normal;
		src:local('Liberation Serif'), url('liberation-serif-regular.ttf') format('truetype');
	}
	@font-face {
		/* Firefox 3.5 don't seem to be able to deduce "italic" style from font-style:italic above
		 so we import the typeface under its ps name */
		font-family:'Liberation Serif Italic';
		font-style:italic;
		src:local('Liberation Serif Italic'), url('liberation-serif-italic.ttf') format('truetype');
	}
	@font-face {
		font-family:'Liberation Serif Bold';
		font-weight:bold;
		src:local('Liberation Serif Bold'), url('liberation-serif-bold.ttf') format('truetype');
	}
	@font-face {
		font-family:'Liberation Serif Bold Italic';
		font-weight:bold;
		font-style:italic;
		src:local('Liberation Serif Bold Italic'), url('liberation-serif-bold-italic.ttf') format('truetype');
	}
	@font-face {
		font-family:Inconsolata;
		src:local(Inconsolata), url('inconsolata.otf') format('opentype');
	}
	#header div.title div.name { text-shadow:#efeee1 0 1px 0; }
	body { font-family:'Liberation Serif', georgia, times; }
	#header div.title div.description { font-family:'Liberation Serif Italic', georgia, serif; }
	div.post code, div.post pre, div.post tt, div.post samp { font-family:'Inconsolata', monospace; }
	div.post div.body blockquote { font-family:'Liberation Serif Italic',georgia,serif; }
	div.post div.body b, div.post div.body strong { font-family:'Liberation Serif Bold',georgia,serif; }
	div.post div.body em, div.post div.body i { font-family:'Liberation Serif Italic',georgia,serif; }
	div.post div.body em b, div.post div.body i b, div.post div.body em strong, div.post div.body i strong,
		div.post div.body b em, div.post div.body b i, div.post div.body strong em, div.post div.body strong i
	{
		font-family:'Liberation Serif Bold Italic',georgia,serif;
	}
	#header div.title div.name a:link, #header div.title div.name a:visited { color:#2d2c25; }
	#header div.title div.name a:link:hover, #header div.title div.name a:visited:hover { color:#000; }
	#header div.title div.description { color:#8f8d7c; text-shadow:#efeee1 0 1px 0; }
	#header div.date { color:#696758; text-shadow:#efeee1 0 1px 0; }
	#header ul li a { color:#696758; border-color:#c2c0ae !important;
		border-top-left-radius:          2px;
		border-top-right-radius:         2px;
		-webkit-border-top-left-radius:  2px;
		-webkit-border-top-right-radius: 2px;
		-moz-border-radius-topleft:      2px;
		-moz-border-radius-topright:     2px;
		text-shadow:#efeee1 0 1px 0;
	}
	#header ul li a:hover { background-color:#fff; color:#006be4; }
	#header ul li a:hover, #header ul li a.current { text-shadow:none; }
	/* End of the posh styling */
	

/* Main content */
#main { }

/* Columns */
div.columns div.col { float:left; }
div.columns.c3 {}
	div.columns.c3 div.col { width:280px; float:left; }
	div.columns.c3 div.col + div.col { margin:0 40px; }
	div.columns.c3 div.col + div.col + div.col { margin:0; }

/* Summary columns */
#summary { border-bottom:1px solid #ccc; padding-top:20px; padding-bottom:10px; }
	#summary p, #summary li, #summary blockquote { font-size:13px; color:#555; }
	#summary div.recent-posts {}
		#summary div.recent-posts ol { list-style:none; padding:0; }
		#summary div.recent-posts li { white-space:nowrap; overflow:hidden; color:#999; }
			#summary div.recent-posts li a { margin-right:5px; }
			#summary div.recent-posts li span.age { white-space:nowrap;; }
	#summary h2 { font-size:14px; color:#555; margin-bottom:-5px; }
	ol.tags { overflow:hidden; }
	ol.tags a:link, ol.tags a:visited { border:none; }
	ol.tags a:link:hover, ol.tags a:visited:hover { color:#444 !important; }
	ol.tags { padding:0; }
	ol.tags li { float:left; list-style:none; padding:0 10px 0 0; }
	ol.tags li.p0	 a:link, ol.tags li.p0	 a:visited { color:#eee; }
	ol.tags li.p1	 a:link, ol.tags li.p1	 a:visited { color:#ddd; }
	ol.tags li.p2	 a:link, ol.tags li.p2	 a:visited { color:#ccc; }
	ol.tags li.p3	 a:link, ol.tags li.p3	 a:visited { color:#bbb; }
	ol.tags li.p4	 a:link, ol.tags li.p4	 a:visited { color:#aaa; }
	ol.tags li.p5	 a:link, ol.tags li.p5	 a:visited { color:#999; }
	ol.tags li.p6	 a:link, ol.tags li.p6	 a:visited { color:#888; }
	ol.tags li.p7	 a:link, ol.tags li.p7	 a:visited { color:#777; }
	ol.tags li.p8	 a:link, ol.tags li.p8	 a:visited { color:#666; }
	ol.tags li.p9	 a:link, ol.tags li.p9	 a:visited { color:#555; }
	ol.tags li.p10	a:link, ol.tags li.p10	a:visited { color:#555; }
	#twitter-status span.time { color: #c5c5c5; } 
        #twitter-status div.body { padding: 0px 0em 0em 0em; }
	#twitter-status div.body img { float: left; padding-right: 12px; }
	#twitter-status div.body p { margin-left: 12px; }

#summary.breadcrumb { padding:10px 0; border-bottom:1px dashed #ddd; }
	#summary.breadcrumb p {
		margin:0;
		font-style:italic;
	}

/* Sidebar */
#sidebar {
	float:right;
	width:280px;
	margin:0 0 0 20px;
	padding:20px 0 20px 20px;
}
	#sidebar > hr {
		margin:1em -20px 1em -20px;
		background-color:transparent;
		height:0;
		border-top:1px dashed #ccc;
	}
	#sidebar ol.recent-comments { list-style:none; padding:0; }
		#sidebar ol.recent-comments li { white-space:nowrap; max-width:280px; }
			#sidebar ol.recent-comments small { color:#999; width:75px; }
			#sidebar ol.recent-comments a { max-width:200px; }
			#sidebar ol.recent-comments a, #sidebar ol.recent-comments small {
				display:inline-block; overflow:hidden; text-overflow:ellipsis; border:none;
			}

/* Posts */
div.posts { width:600px; float:left; }
	div.posts > h1 { display:none; /* for SEO reasons, since we don't have a proper H1 */ }
	div.posts div.post { padding-bottom:20px; }
		div.posts div.post > h2 { font-size:26px; /* same as h1 for single posts */ }

/* Post */
div.post { margin-top:20px; margin-bottom:10px; width:600px; }
	div.post p.meta {
		font-family:"lucida grande","tahoma",sans-serif; font-size:11px;
		margin:2px 0;
		color:#999;
	}
		div.post p.meta a:link, div.post p.meta a:active { color:#9bafbd; border-bottom-color:#e3eff7; }
		div.post p.meta a:visited { color:#bca6c8; border-bottom-color:#f8effc; }
		div.post p.meta a:link:hover, div.post p.meta a:active:hover { color:#006be4; border-bottom-color:#c7e4f7; }
		div.post p.meta a:visited:hover { color:#af00cf; border-bottom-color:#e5cbf0; }
			div.post a.numcomments {
				font-family:'helvetica neue',helvetica,arial,sans-serif;
				border:none;
				display:block;
				float:right;
				background-image:url(icons16.png);
				background-position:right -64px;
				background-color:transparent;
				background-repeat:no-repeat;
				padding-right:19px;
				margin-top:9px;
				height:16px;
				line-height:16px;
			}
			div.post a.numcomments:hover { background-position:right -80px; }
			div.post a.numcomments:link, div.post a.numcomments:visited { color:#777; }
			div.post a.numcomments:link:hover, div.post a.numcomments:visited:hover { color:#000; }
	div.post div.body { /*overflow-x:hidden;*/ }
	div.post div.body a.img { background-color:transparent; border:none; }
	div.post div.body object, div.post div.body img { max-width:600px; }
	div.post div.body hr { border-top-style:dashed; }
	div.post div.body blockquote {
		padding-left:10px;
		border-left:5px solid #ccc;
		font-style:italic;
		color:#666;
	}
	div.post div.body .center { margin-left:auto; margin-right:auto; }
	div.post div.body img.center { display:block; }
	div.post div.body table { border-collapse:collapse; }
		div.post div.body table th, div.post div.body table td { border-left:1px solid #ccc; padding:0 7px; }
		div.post div.body table th { border-bottom:1px solid #ccc; }
		div.post div.body table th:first-child, div.post div.body table td:first-child { border-left:none; padding-left:0; }
		div.post div.body table th:last-child, div.post div.body table td:last-child { padding-right:0; }
	div.post *[align=right] { margin-left:15px; margin-bottom:15px; }
	div.post div.body > p.read-more { }
		div.post div.body > p.read-more a {
			display:inline-block; padding:0 7px; line-height:22px;
	    border-radius:5px; -webkit-border-radius:5px; -moz-border-radius:5px;
			background-color:#fffe95; color:#685c00; border:none;
		}
		div.post div.body > p.read-more a:hover { background-color:#fff000; color:#302400; }
	div.post div.body :target { background:#fe0; }
	div.post div.body sup:target { padding:2px 5px; }
	div.post div.body div.footnotes {}
  	div.post div.body div.footnotes ol:before { content:"Footnotes"; color:#999; }
  	div.post div.body div.footnotes ol { padding-left:0; }
  	div.post div.body div.footnotes li, div.post div.body div.footnotes p { font-size:13px; }
  	div.post div.body div.footnotes li > p { margin:6px 0 10px 0; }
  	div.post div.body div.footnotes li:target { background:#ffc; padding:4px 10px; margin:4px -10px; }

/* Paged posts footer */
#paged-footer {
	background-color:#eee;
	border-top:1px solid #ddd;
	border-bottom:1px solid #ddd;
	margin-top:-1px;
	padding:10px 0;
}

/* Comments */
#comments {
	float:left;
	width:600px;
}
	#comments div.notification { background:#9cc8ff; color:#00234e; width:560px; padding:10px 20px; margin:20px 0; }
	#comments div.notification p { padding-top:10px;padding-bottom:10px; margin:0; }
	#comments hr { margin-top:0; margin-right:0; }
	#comments h2 { margin-bottom:1em; }
	#comments ul { list-style:none; margin:0; padding:0 0 10px 30px; width:600px; }
	#comments > ul { padding-left:0; } /* first level is not indented */
		#comments ul.l1, #comments ul.l1 li { width:570px; }
		#comments ul.l2, #comments ul.l2 li { width:540px; }
		#comments ul.l3, #comments ul.l3 li { width:510px; }
		#comments ul.l4, #comments ul.l4 li { width:480px; }
		#comments ul.l5, #comments ul.l5 li { width:450px; }
		#comments ul.l6, #comments ul.l6 li { width:420px; }
		#comments ul.l1 div.message-wrapper { width:507px; }
		#comments ul.l2 div.message-wrapper { width:477px; }
		#comments ul.l3 div.message-wrapper { width:447px; }
		#comments ul.l4 div.message-wrapper { width:417px; }
		#comments ul.l5 div.message-wrapper { width:387px; }
		#comments ul.l6 div.message-wrapper { width:357px; }
	/* Comment */
	li.comment {
		width:600px;
		margin:0 0 10px 0;
		display:block;
	}
		li.comment.post-author div.author a.name { color:#00942a; }
		li.comment.post-author div.author a.name:after { content:" (author)"; font-weight:normal; font-style:italic; }
		li.comment div.avatar { float:left; width:48px; height:48px; margin:10px 0; }
		li.pingback div.avatar {
			background-image:url(icons48.png);
			background-position:0 0;
			background-repeat:no-repeat;
		}
			li.pingback div.avatar img { display:none; }
		li.comment div.message-wrapper {
			float:left;
			width:537px;
			margin:10px 0 10px 15px;
		}
			li.comment div.actions { float:right; }
				li.comment div.actions a {
					width:16px; height:16px;
					display:block;
					border:none;
					float:left;
					background-color:transparent;
					background-position:0 0;
					background-repeat:no-repeat;
					background-image:url(icons16.png);
				}
					li.comment div.actions a span { display:none; }
				li.comment div.actions a.reply { }
				li.comment div.actions a.reply:hover { background-position:0 -16px; }
				li.pingback div.actions a.reply { display:none; }
				li.comment div.actions a.rm { background-position:0 -32px; }
				li.comment div.actions a.rm:hover { background-position:0 -48px; }
		li.comment div.author {
			float:left;
			line-height:1;
			font-family:'helvetica neue',helvetica,arial,sans-serif;
			font-weight:bold;
		}
			li.comment div.author a { color:#111; border:none; }
			li.comment div.author a.age { margin-left:0.3em; color:#999; }
			li.comment div.author a:link:hover { color:#006be4; }
			li.comment div.author a:visited:hover { color:#af00cf; }
		li.comment div.message { margin-top:5px; margin-right:10px; }
		li.comment div.message > p { margin:0.6em 0 0 0; }
		li.comment div.message > p:first-child { margin:0; }
		li.comment > form { margin:10px 10px 10px 68px; }
#reply-title { margin-top:1em; }
#comment-form { width:500px; }
	#comment-form p { margin:0; }
	#comment-form textarea {
		width:488px;
		margin:0;
		padding:5px;
		border-width:3;
		font-family:inherit;
		font-size:1em;
	}
	#comment-form input[type="text"] { width:156px; margin-left:4px; padding:1px; border-width:3; }
	#comment-form input[type="text"]:first-child { margin-left:0; }
	#comment-form input { margin-top:5px; }
	#comment-form input.default { color:#999; }
	#comment-form.inline-reply { width:420px; padding-bottom:10px; }
	#comment-form.inline-reply textarea { width:408px; }
	#comment-form.inline-reply input[type="text"] { width:129px; }
	#comment-form.inline-reply input[type="text"]:first-child { width:130px; }

/* Footer */
#footer { padding:10px 0; color:#ccc; }
#footer a:link, #footer a:visited { color:#ccc; }

/* Error 404 not found */
#error404 { margin:100px; text-align:center; }
	#error404 h1 { margin-bottom:30px; }

/* Pygments source code syntax highlight */
/*div.codeblock {
	font-size:14px;
	background-color:#fff;
	margin-left:-10px;
	padding-left:9px;
	border-left:1px solid #eee;
}*/
div.codeblock {
	font-size:14px;
	background-color:#eee;
	padding:10px 10px;
	border:1px solid #ddd;
	margin:0px 0 15px 0; line-height:1.25;
}
	div.codeblock pre { overflow:auto; }
	div.codeblock .hll { background-color: #ffffcc }
	div.codeblock .g { color: #000000 } /* Generic */
	div.codeblock .gh { color: #000080; font-weight: bold } /* Generic.Heading */
	div.codeblock .gd { color: #a40000 } /* Generic.Deleted */
	div.codeblock .ge { color: #000000; font-style: italic } /* Generic.Emph */
	div.codeblock .gr { color: #ef2929 } /* Generic.Error */
	div.codeblock .gi { color: #00A000 } /* Generic.Inserted */
	div.codeblock .go { color: #000000; font-style: italic } /* Generic.Output */
	div.codeblock .gp { color: #8f5902 } /* Generic.Prompt */
	div.codeblock .gs { color: #000000; font-weight: bold } /* Generic.Strong */
	div.codeblock .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
	div.codeblock .gt { color: #a40000; font-weight: bold } /* Generic.Traceback */
	div.codeblock .c { color: #999; font-style: italic } /* Comment */
	div.codeblock .cm { color: #999; } /* Comment.Multiline */
	div.codeblock .cp { color: #8f5902; font-style: italic } /* Comment.Preproc */
	div.codeblock .c1 { color: #999; font-style: italic } /* Comment.Single */
	div.codeblock .cs { color: #8f5902; font-style: italic } /* Comment.Special */
	div.codeblock .err { color: #a40000; border: 1px solid #ef2929 } /* Error */
	div.codeblock .k { color: #204a87; } /* Keyword */
	div.codeblock .l { color: #000000 } /* Literal */
	div.codeblock .n { color: #000000 } /* Name */
	div.codeblock .o { color: #c31; } /* Operator */
	div.codeblock .x { color: #000000 } /* Other */
	div.codeblock .p { color: #000000; } /* Punctuation */
	div.codeblock .kc { color: #204a87; } /* Keyword.Constant */
	div.codeblock .kd { color: #1166cc; } /* Keyword.Declaration */
	div.codeblock .kn { color: #204a87; } /* Keyword.Namespace */
	div.codeblock .kp { color: #204a87; } /* Keyword.Pseudo */
	div.codeblock .kr { color: #204a87; } /* Keyword.Reserved */
	div.codeblock .kt { color: #204a87; } /* Keyword.Type */
	div.codeblock .ld { color: #000000 } /* Literal.Date */
	div.codeblock .m { color: #0000cf; } /* Literal.Number */
	div.codeblock .s { color: #4b8911 } /* Literal.String */
	div.codeblock .na { color: #c4a000 } /* Name.Attribute */
	div.codeblock .nb { color: #204a87 } /* Name.Builtin */
	div.codeblock .nc { color: #000000 } /* Name.Class */
	div.codeblock .no { color: #000000 } /* Name.Constant */
	div.codeblock .nd { color: #5c35cc; } /* Name.Decorator */
	div.codeblock .ni { color: #ce5c00 } /* Name.Entity */
	div.codeblock .ne { color: #cc0000; } /* Name.Exception */
	div.codeblock .nf { color: #000000 } /* Name.Function */
	div.codeblock .nl { color: #f57900 } /* Name.Label */
	div.codeblock .nn { color: #000000 } /* Name.Namespace */
	div.codeblock .nx { color: #000000 } /* Name.Other */
	div.codeblock .py { color: #000000 } /* Name.Property */
	div.codeblock .nt { color: #204a87; } /* Name.Tag */
	div.codeblock .nv { color: #000000 } /* Name.Variable */
	div.codeblock .ow { color: #204a87; } /* Operator.Word */
	div.codeblock .w { color: #f8f8f8; text-decoration: underline } /* Text.Whitespace */
	div.codeblock .mf { color: #91c; } /* Literal.Number.Float */
	div.codeblock .mh { color: #91c; } /* Literal.Number.Hex */
	div.codeblock .mi { color: #91c; } /* Literal.Number.Integer */
	div.codeblock .il { color: #91c; } /* Literal.Number.Integer.Long */
	div.codeblock .mo { color: #91c; } /* Literal.Number.Oct */
	div.codeblock .sb { color: #4e9a06 } /* Literal.String.Backtick */
	div.codeblock .sc { color: #4e9a06 } /* Literal.String.Char */
	div.codeblock .sd { color: #8f5902; font-style: italic } /* Literal.String.Doc */
	div.codeblock .s2 { color: #4e9a06 } /* Literal.String.Double */
	div.codeblock .se { color: #4e9a06 } /* Literal.String.Escape */
	div.codeblock .sh { color: #4e9a06 } /* Literal.String.Heredoc */
	div.codeblock .si { color: #4e9a06 } /* Literal.String.Interpol */
	div.codeblock .sx { color: #4e9a06 } /* Literal.String.Other */
	div.codeblock .sr { color: #4e9a06 } /* Literal.String.Regex */
	div.codeblock .s1 { color: #4e9a06 } /* Literal.String.Single */
	div.codeblock .ss { color: #4e9a06 } /* Literal.String.Symbol */
	div.codeblock .bp { color: #3465a4 } /* Name.Builtin.Pseudo */
	div.codeblock .vc { color: #000000 } /* Name.Variable.Class */
	div.codeblock .vg { color: #000000 } /* Name.Variable.Global */
	div.codeblock .vi { color: #000000 } /* Name.Variable.Instance */

/* textual dialogs */
ul.tdialog { list-style-type: none; }
ul.tdialog li:before { content: "— "; }
