/* -------------------------------------------------------------- 
   RESET
-------------------------------------------------------------- */

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%; font-weight: normal; vertical-align: baseline; background: transparent; }
body { line-height: 1; }
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
:focus { outline: none; }
ins { text-decoration: none; }
del { text-decoration: line-through; }
table { border-collapse: collapse; border-spacing: 0; }
caption, th, td { text-align: left; }
input,textarea { margin: 0; }


/* -------------------------------------------------------------- 
   TYPOGRAPHY
-------------------------------------------------------------- */

body,h1,h2,h3,h4,h5,h6,p,ul,ol,dl,input,textarea { font-family: Helvetica, Arial, FreeSans, sans-serif; }

/* HEADINGS */
h1 { font-size: 40px; line-height: 50px; margin-bottom: 10px; }
h2 { font-size: 30px; line-height: 40px; margin-bottom: 10px; }
h3 { font-size: 20px; line-height: 30px; }
h4 { font-size: 14px; line-height: 20px; }
h5 { font-size: 14px; line-height: 20px; }
h6 { font-size: 14px; line-height: 20px; }

/* TEXT ELEMENTS */
p, ul, ol, dl { margin-bottom: 20px; font-size: 14px; line-height: 20px; }
ul, ol { padding-left: 20px;}
ul { list-style-type: circle; }
ol { list-style-type: decimal; }
dl dt { font-weight: bold; }
dl dd { padding-left: 10px; }
abbr, acronym { text-decoration: underline; }
a { color: #009; text-decoration: none; }
a:hover { text-decoration: underline; }
blockquote { margin: 20px 0; padding-left: 10px; }
dfn { font-style: italic; font-weight: bold; }
pre, code { margin: 20px 0; white-space: pre; }
pre, code, tt { font: 10px monospace; line-height: 20px; } 
tt { display: block; margin: 20px 0; line-height: 20px; }

/* TABLES */
table { margin-bottom: 20px; }
th,td { padding: 5px 10px 5px 0; }


/* -------------------------------------------------------------- 
   FORMS
-------------------------------------------------------------- */

label { font-weight: bold; }
fieldset { padding: 9px; margin-bottom: 20px; border: 1px solid #ddd; }
legend { padding: 0 10px; font-weight: bold; font-size: 14px; line-height: 20px; }
textarea { padding: 10px; }
/* -------------------------------------------------------------- 
   TABS - Starting point for turning lists into tabs.
-------------------------------------------------------------- */

ul.tabs { margin: 0; padding: 0; }
ul.tabs li ul { float: left; }
ul.tabs li { float: left; list-style: none; margin: 0; padding: 0; }
ul.tabs li a { float: left; display: block; }

/* Clearing floats without extra markup  */
ul.tabs { display: inline-block; }
ul.tabs:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
* html ul.tabs { height: 1%; }
ul.tabs, ul.tabs li ul { display: block; }


/* -------------------------------------------------------------- 
   WRAPPER - Clearing floats without extra markup.
-------------------------------------------------------------- */

.wrapper { display: inline-block; }
.wrapper:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
* html .wrapper { height: 1%; }
.wrapper { display: block; }


/* -------------------------------------------------------------- 
   (h)orizontal Form and (v)ertical Form
-------------------------------------------------------------- */

/* hFORM */
form.hform p { margin-bottom: 10px; }
form.hform p label { float: left; width: 100px; }
form.hform p input { width: 200px; }
form.hform p select { width: 200px; }
form.hform p input.button { width: auto; }
form.hform p input.checkbox { width: auto; }
form.hform p input.radio { width: auto; }
form.hform p.checkbox { margin-left: 100px; }
form.hform p.checkbox label { float: none; }
form.hform p.checkbox input { width: auto; }

/* vFORM */
form.vform p { margin-bottom: 10px; }
form.vform p label { display: block; }
form.vform p.checkbox label { display: inline; }
body {
	background: #d5cebf;
	color: #000;
	margin: 0em;
}

body,p,ul,ol,li,input,textarea {
	font-family: Verdana, sans-serif;
}

h1, h2, h3, h4 {
	font-family: georgia, serif;
}

h3 {
	font-size: 22px;
	margin-bottom: 0.5em;
}

a {
	color: #2872dc;
}

code {
	font-size: 14px;
}

fieldset {
	border: none;
}

#comments {
	padding-top: 1em;
	margin-top: 4em;
}
#comments h4 {
	border-bottom: 1px dotted black;
	padding-bottom: 0;
	margin-bottom: 1em;
	color: #2E3436;
	font-size: 20px; line-height: 30px;
	font-weight: normal;
}
#comments ol {
	list-style-type: none;
}
#comments li {
	border-bottom: 1px dotted black;
	margin-bottom: 1em;
	padding-bottom: 2em;
}
#comments li ul {
	list-style-type: none;
	padding-left: 0;
	min-height: 90px;
}
#comments li ul div.meta {
	float: left;
	width: 140px;
}
#comments li ul li {
	border-bottom: 0;
	margin-bottom: 0;
	padding-bottom: 0;
}
#comments li ul li.date {
	font-size: 12px;	
	color: gray;
}
#comments li ul li.comment {
	margin-left: 140px;
}

.pub_date {
	font-family: georgia;
	color: #2e3436;
	font-size: 13px;
	position: relative;
	top: -4.5em;
}

.tags {
	font-family: georgia;
	color: #6F6F6F;
	font-size: 13px;
	position: relative;
	top: -4.5em;
}

.banner {
	display: block;
	padding: 4px;
	background: #fff;
	border: 1px solid #eeeeec;
}

.error {
	color: #ff0000;
}

span.banner-hover {
	background: url('/static/img/helios_banner.jpg') 0px -228px no-repeat;
	opacity: 0;
	display: block;
	width: 634px;
	height: 228px;
}

#header-bg {
	background: url('/static/img/header_bg.png') 0px 0px repeat-x;
	height: 168px;
	margin: auto;
}

#header {
}

#header h1 {
	margin: 0;
	padding: 0;
	width: 320px;
	height: 87px;
}
#header h1 a {
	float: left;
	display: block;
	background: url('/static/img/logo.png') 0px 0px no-repeat;
	width: 340px;
	height: 110px;
	position: relative;
	top: 40px;
	left: -8px;
}
#header p.punchline {
	background: url('/static/img/punchline.png') right no-repeat;
	height: 51px;
	width: 347px;
	position: relative;
	top: -22px;
	float: right;
}

#menu-bar {
	clear: both;
}

#menu-bar ul.tabs {
	margin: auto;
	height: 29px;
}
#menu-bar ul.tabs li.break {
}
#menu-bar ul li {
	height: 29px;
	text-align: center;
	margin-top: 3px;
	padding: 4px 8px 0 8px;
}
#menu-bar a {
	display: block;
	color: #fff;
}
#menu-bar a:hover {
	text-decoration: none;
	color: #8ae234;
}

#container {
	background: #fffaef;
	border-bottom: 1px solid #ad9f82;
}

#container2 {
	width: 960px;
	margin: auto;
	margin-bottom: 2em;
	padding: 0 1em 0 1em;
	position: relative;
	top: -192px;
}

#content {
	padding-top: 2em;
	margin-bottom: 2em;
	margin-top: 2em;
}

#footer  {
	width: 960px;
	clear: both;
	position: relative;
	margin: auto;
	margin-bottom: 1em;
	padding-top: 1em;
}
#footer p {
	font-size: 11px;
	text-align: right;
}

.footer_box {
	width: 325px;
}

ul.project {
	min-height: 360px;
	padding-left: 0;
	list-style-type: none;
}

ul.project img {
	border: 4px solid #fff;
	float: left;
}

div.project_meta {
	position: relative;
	float: right;
	width: 290px;
}
div.project_meta dl {
}

div.project_desc {
	clear: both;
}

.padded {
	padding: 0 8em 0 8em;
}

.serif {
	font-family: georgia, serif;
}

.right_aligned {
	text-align: right;
}

.post {
	border-bottom: 1px dotted #2e3436;
	margin-bottom: 2em;
}

.center {
	text-align: center;
}

.gravatar {
	width: 80px;
	height: 80px;
	background: #fff;
	padding: 1px;
	border: 1px solid #000;
}

#left-content {
	width: 480px;
	float: left;
}
#right-content {
	width: 480px;
	float: right;
}

#cleaner {
	clear: both;
}


.language-selector {
	float: right;
	font-size: 11px;
	color: #eeeeec;
}
.language-selector a {
}

.language-selector .selected {
	font-weight: bold;
}

.vcard {
	list-style-type: none;
	padding-left: 0;
}
.vcard li {
	margin-bottom: 5px;
}
.vcard .org {
	font-weight: bold;
}

.closed {
	margin: auto;
	text-align: center;
	font-style: italic;
	max-width: 480px;
}

.highlight span {
	font-size: 14px;
}
.highlight .hll { background-color: #ffffcc }
/*.highlight  { background: #fff6e3; }*/
.highlight  {
	padding-left: 14px;
	border-left: 2px solid #ad9f82;
}
.highlight .c { color: #408080; font-style: italic } /* Comment */
.highlight .err { border: 1px solid #FF0000 } /* Error */
.highlight .k { color: #008000; font-weight: bold } /* Keyword */
.highlight .o { color: #666666 } /* Operator */
.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #BC7A00 } /* Comment.Preproc */
.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */
.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */
.highlight .gd { color: #A00000 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gr { color: #FF0000 } /* Generic.Error */
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #00A000 } /* Generic.Inserted */
.highlight .go { color: #808080 } /* Generic.Output */
.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #0040D0 } /* Generic.Traceback */
.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008000 } /* Keyword.Pseudo */
.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #B00040 } /* Keyword.Type */
.highlight .m { color: #666666 } /* Literal.Number */
.highlight .s { color: #BA2121 } /* Literal.String */
.highlight .na { color: #7D9029 } /* Name.Attribute */
.highlight .nb { color: #008000 } /* Name.Builtin */
.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */
.highlight .no { color: #880000 } /* Name.Constant */
.highlight .nd { color: #AA22FF } /* Name.Decorator */
.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */
.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #0000FF } /* Name.Function */
.highlight .nl { color: #A0A000 } /* Name.Label */
.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #19177C } /* Name.Variable */
.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mf { color: #666666 } /* Literal.Number.Float */
.highlight .mh { color: #666666 } /* Literal.Number.Hex */
.highlight .mi { color: #666666 } /* Literal.Number.Integer */
.highlight .mo { color: #666666 } /* Literal.Number.Oct */
.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */
.highlight .sc { color: #BA2121 } /* Literal.String.Char */
.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.highlight .s2 { color: #BA2121 } /* Literal.String.Double */
.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */
.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.highlight .sx { color: #008000 } /* Literal.String.Other */
.highlight .sr { color: #BB6688 } /* Literal.String.Regex */
.highlight .s1 { color: #BA2121 } /* Literal.String.Single */
.highlight .ss { color: #19177C } /* Literal.String.Symbol */
.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */
.highlight .vc { color: #19177C } /* Name.Variable.Class */
.highlight .vg { color: #19177C } /* Name.Variable.Global */
.highlight .vi { color: #19177C } /* Name.Variable.Instance */
.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */
