/* overall page body styles */
body { 
   background: #333; 
   padding: 0; 
   margin: 10px 0; 
   font: 115% "Helvetica Neue", Helvetica, "Lucida Grande", Tahoma, Verdana, sans-serif; 
   color: #ccc; 
   text-align: center; 
}

/* generic header styling */
h1, .site-header, h2, h3, h4 { 
   margin: 10px 0; 
   font-size: 100%;
   font-weight: bold; 
}
.home h1, .site-header { 
   color: #d0eb6a; 
}
.home h1, .site-header { 
   font-size: 172%; 
}
h2, h3 { 
   padding: 3px; 
}
h2 { 
   background: #555 url(../images/h2-back.gif) repeat-x bottom left; 
   font-size: 122%; 
   color: #bbb; 
}
h4 { 
   border-bottom: 1px dotted #333; 
   padding-bottom: 5px; 
}
h1 span, .site-header span { 
   font-style: italic; 
   text-transform: none; 
}

/* header styling by module */
.home #main h2, .page #main h1 { 
   padding: 3px; 
   font-size: 150%; 
}
.home #main h2, .page #main h1, #sideBar h3, #linksBar h3 { 
   background: #151515; 
   border-bottom: 1px solid #d0eb6a; 
}
.date { 
   font-style: italic; 
   text-align: right; 
}

/* generic link styling */
a:link { 
   color: #d0eb6a; 
   text-decoration: none; 
}
a:visited { 
   color: #dfebb1; 
   text-decoration: none; 
} 
a:hover { 
   text-decoration: underline; 
}

/* generic table styling */
table { 
   width: 100%; 
   font-size: inherit; 
   font: 100%; 
} /* table font sizes don't inherit in IE5 / 5.5 */
th, td { 
   border-bottom: 1px dotted #333; 
}
th { 
   text-align: left; 
}
td { 
   padding-right: 5px; 
}
.last { 
   text-align: right; 
}

/* generic list styling */
ul, ol, dd { 
   padding: 0; 
   margin: 0; 
}
ul { 
   margin-left: 15px; 
   list-style-type: square; 
}
ol { 
   margin-left: 27px; 
}
dt { 
   border-bottom: 1px dotted #333; 
   margin-bottom: 5px; 
   font-weight: bold; 
}
dd { 
   margin-bottom: 10px; 
}

/* generic styling of other miscellaneous elements */
form { 
   padding: 0; 
   margin: 0; 
}
fieldset { 
   border: none; 
   width: 100%; 
   padding: 0; 
}
legend { 
   border-bottom: 1px dotted #333; 
   padding: 15px 0 0 0; 
   margin-bottom: 10px; 
   font-weight: bold; 
}
address { 
   font-style: normal; 
}

/* styling for code blocks */
.code { 
   border: 1px solid #2a2a2a; 
   list-style-type: decimal-leading-zero; 
   padding: 5px; 
   margin: 0; 
}
.code code { 
   display: block; 
   padding: 3px; 
   margin-bottom: 0; 
   font-size: 114%; 
}
.code li { 
   background: #1f1f1f; 
   border: 1px solid #2a2a2a; 
   margin: 0 0 2px 2.2em; 
}
.indent1 { 
   padding-left: 1.5em; 
}
.indent2 { 
   padding-left: 3em; 
}
.indent3 { 
   padding-left: 4.5em; 
}
.indent4 { 
   padding-left: 6em; 
}
.indent5 { 
   padding-left: 7.5em; 
}
li ol.code { 
   margin-top: 10px; 
}

/* main layout containers */
#page { 
   position: relative; 
   background: #1a1a1a; 
   border: 1px solid #555; 
   min-width: 934px; 
   max-width: 1150px; 
   width: 66em; 
   padding: 7px; 
   margin: 0 auto; 
   font-size: 77%; 
   line-height: 152%; 
   text-align: left; 
}

#photo { 
   position: relative; 
   background: url(../images/dark.jpg) bottom left no-repeat; 
   border: 1px solid #d0eb6a; 
   height: 124px; 
}

#strapLine { 
   position: absolute; 
   width: 100%; 
   bottom: 0; 
   -moz-opacity: .7; 
   opacity: .7; 
   filter: alpha(opacity=70); 
   background: #d0eb6a; 
   font-size: 122%; 
   color: #000; 
   text-align: right; 
}
#strapLine p { 
   border-top: 1px solid #d0eb6a; 
   padding: 3px; 
   margin: 0; 
}

#options { 
   position: absolute; 
   top: 12px; 
   right: 7px; 
   *right:  5px; 
}
#options ul { 
   display: inline; 
   padding: 0; 
   margin: 0; 
   list-style-type: none; 
}
#options li { 
   display: inline; 
}
#options span { 
   margin-left: 10px; 
   margin-right: 10px; 
}

#content { 
   float: left; 
   margin-bottom: 5px; 
   width: 100%; 
}

#menu {
   background: #333;
   border-top: 1px solid #1a1a1a;
   padding: 5px;
   margin: 0 0 10px 0;
}

#menu li {
   display: inline;
   border-right: 1px solid #000;
   padding-right: 10px;
   margin-right: 10px;
   font-size: 120%;
}

#menu .last {
   border: none;
}

#main { 
   float: left; 
   width: 54%; 
}
.page #main {
   width: 76%;
}
#main pre { 
   width: 100%; 
   overflow: auto; 
}

#sideBar { 
   float: left; 
   width: 24%; 
}
#sideBar ul { 
   list-style-type: none; 
   margin-left: 0; 
}
#sideBar ul li { 
   border-bottom: 1px dotted #333; 
   padding-bottom: 2px; 
}

#linksBar { 
   float: right; 
   width: 22%; 
}

#footer { 
   clear: both; 
   background: #d0eb6a; 
   padding: 3px; 
   color: #1a1a1a; 
   overflow: hidden; 
}
#footer a { 
   color: #000; 
   text-decoration: underline; 
}

.colpad { 
   border-right: 1px solid #2a2a2a; 
   padding-right: 10px; 
   margin-right: 10px; 
}
.page #sideBar .colpad {
   border: none;
   padding: 0;
   margin: 0;
}

.promo { 
   background: #111; 
   padding: 7px; 
}
.promo strong { 
   font-size:  122%; 
   text-decoration:  underline; 
}

.quickLinks a, .other-projects a { 
   display: block; 
   margin-bottom: 10px; 
}
.quickLinks li, .other-projects li { 
   border-bottom: 1px dotted #333; 
   padding-bottom: 10px; 
   margin-bottom: 10px; 
}

.screenshot img, .screenshot a { 
   display: block; 
   margin: 0 auto; 
   margin-bottom: 5px; 
   text-align: center; 
}

/* blog posts */
#blog-posts, #comments { 
   list-style-type: none; 
   padding: 0; 
   margin: 0; 
}

.post-body a {
   background: #222;
   padding: 0 2px;
}

/* blog details line */
.blog-details { 
   border-top: 5px solid #333; 
   border-bottom: 1px dotted #333; 
   width: 100%; 
   padding: 5px 0; 
   margin: 10px 0; 
}
.blog-details li { 
   display: inline; 
   border-right: 1px dotted #333; 
   padding-right: 5px; 
   margin-right: 5px; 
}
.blog-details .last { 
   border: none; 
}

.blog-index { 
   border-top: 1px dotted #333; 
   border-bottom: 1px dotted #333; 
   padding: 5px 0; 
}

.comment-details { 
   border-top: 1px solid #333; 
   border-bottom: 1px solid #333; 
   font-size: 85%; 
   padding: 5px 0; 
}

.comment-details img {
   margin-right: 10px;
   vertical-align: top;
}

.author { 
   background: #222; 
   border: 1px solid #333; 
   padding: 1px 7px; 
   margin-bottom: 10px; 
}

/* article samples */
.sample { 
   clear: both; 
}
.sample img { 
   float: left; 
   margin: 0 10px 10px 0; 
}

/* standard clear */
.clear { 
   clear: both; 
}

/* paging */
.paging { 
   clear: both; 
   float: right; 
   margin: 0 0 10px 0; 
   list-style-type: none; 
}
.paging li { 
   display: inline; 
   margin-right: 5px; 
}
.paging .first { 
   border-right: 1px dotted #333; 
   padding-right: 5px; 
}

/* search form */
#search, #search p { 
   display:  inline; 
}
#search input { 
   background: #1a1a1a; 
   border: 1px solid #333; 
   color: #999; 
}
#searchfor { 
   width: 7em; 
}
#search-results h3 { 
   margin-top: 0; 
}
#search-results h3 a { 
   position:  absolute; 
   top 0; 
   right: 12px; 
}
#search-results { 
   display: none; 
   position: absolute; 
   top: 2.56em; 
   right: 7px; 
   *right:  5px; 
   z-index: 100; 
   background: #000; 
   border: 1px solid #333; 
   min-width: 300px; 
   _width: 300px; 
   padding: 7px; 
}

/* blog comments and contact form */
.comment-form p { 
   background: #1c1c1c; 
   border: 1px solid #222; 
   border-width: 1px 0; 
   padding: 5px; 
   margin-bottom: 5px; 
   overflow: hidden; 
   zoom: 1; 
}
.comment-form label { 
   float: left; 
   color: #555; 
}
.comment-form label em { 
   font-style: normal; 
   color: #999; 
}
.comment-form input, .comment-form textarea { 
   float: right; 
   background: #1a1a1a; 
   border: 1px solid #333; 
   color: #999; 
}
.comment-form input { 
   width: 25em; 
}
.comment-form textarea { 
   width: 29em; 
}
#post { 
   background: #2a2a2a; 
   width: 7em; 
}

/* error messages */
.error { 
   border-top: 1px dotted #d0eb6a; 
   border-bottom: 1px dotted #d0eb6a; 
   padding: 5px 0; 
   color: #d0eb6a; 
}

#nag-bar { 
   border: 1px solid #d0eb6a; 
   padding: 7px; 
   margin-top: 10px; 
   color: #d0eb6a; 
}

.feedburner img { 
   border: none; 
}
.badge, .feedburner { 
   margin: 10px auto; 
   text-align: center; 
}
.badge img { 
   border: 2px solid #d0eb6a; 
}
.badge span { 
   display: block; 
}
.linkedin img { 
   border: none; 
}
.email-form input { 
   background: #1a1a1a; 
   border: 1px solid #333; 
   color: #999; 
}

/* styling for del.icio.us badge displayed on every page */
#delicious-badge { 
   border: 2px solid #3a3a3a; 
}
#delicious-badge .bookmark  { 
   background: url(http://images.del.icio.us/static/img/delicious.small.gif) no-repeat left center; 
   padding-left: 15px; 
   font-weight: bold; 
}
#delicious-badge p, #delicious-badge div { 
   padding: 7px 3px; 
   margin: 0; 
   text-align: center; 
}
#delicious-badge a { 
   color: #d0eb6a; 
   text-decoration: none; 
}
#delicious-badge a:hover { 
   text-decoration: underline; 
}
#delicious-badge div { 
   background: #2a2a2a; 
}
#delicious-badge div span { 
   font-weight: bold; 
   color: #999; 
}
#delicious-badge ul, #delicious-badge li { 
   display: inline; 
   list-style: none; 
   padding: 0; 
   margin: 0; 
}
#delicious-badge li { 
   margin-left: 5px; 
}
#delicious-badge li span { 
   position: absolute; 
   left: -999px; 
   width: 999px; 
}
#delicious-badge .saved-by { 
   color: #999; 
}
#delicious-badge .saved-by span { 
   background: #d0eb6a; 
   padding: 3px; 
   color: #1a1a1a; 
}
#delicious-badge .be-first { 
   font-size: 85%; 
   color: #999; 
}
#delicious-badge .tag-size-1 { 
   font-size: 100%; 
}
#delicious-badge .tag-size-2 { 
   font-size: 115%; 
}
#delicious-badge .tag-size-3 { 
   font-size: 130%; 
}
#delicious-badge .tag-size-4 { 
   font-size: 145%; 
}
#delicious-badge .tag-size-5 { 
   font-size: 160%; 
}

#feeds a { 
   display: block; 
   background: url(../images/feed-dark.gif) top left no-repeat; 
   padding-left: 20px; 
   margin: 3px 0 0 0; 
}

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

.ads img {
   border: none;
}

h2.highlight { 
   background: #d0eb6a; 
   margin-top: 0;
   color: #000; 
}
p.highlight { 
   background: #2a2a2a; 
   padding: 7px;
}
#pf_ad {
   position: absolute;
   top: 0;
   left: 0;
}
#pf_ad img {
   border: none;
}