/* SASS mixins */
/* @import compass/css3 */

/* primary SASS */
html, body { margin: 0; padding: 0; border: 0; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; }

div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, pre, a, abbr, acronym, address, code, del, dfn, em, img, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, caption, tbody, tfoot, thead, tr { margin: 0; padding: 0; border: 0; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; }

blockquote, q { margin: 0; padding: 0; border: 0; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; quotes: "" ""; }
blockquote:before, q:before, blockquote:after, q:after { content: ""; }

th, td, caption { margin: 0; padding: 0; border: 0; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; text-align: left; font-weight: normal; vertical-align: middle; }

table { margin: 0; padding: 0; border: 0; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; border-collapse: separate; border-spacing: 0; vertical-align: middle; }

a img { border: none; }

h1:first-child, h2:first-child, h3:first-child, h4:first-child { margin-top: 0; }

h1 { font-size: 40px; margin-bottom: 12.24px; line-height: 65px; }

h2 { font-size: 36px; margin-bottom: 13.68px; line-height: 58.5px; }

h3 { font-size: 31px; margin-bottom: 15.296px; line-height: 50.375px; }

h4 { font-size: 28px; margin-bottom: 18.576px; line-height: 45.5px; }

h5 { font-size: 23px; margin-bottom: 19.808px; line-height: 37.375px; }

h6 { font-size: 21px; margin-bottom: 26px; line-height: 34.125px; }

body { line-height: 1.625em; color: #333333; }

p { padding-bottom: 13px; }
p img { float: left; margin-top: 8px; margin-right: 13px; margin-bottom: 13px; margin-left: 0; padding: 0; }
p img.right { margin-right: 0; margin-left: 13px; }

table { margin: 0 0 26px; border-collapse: collapse; }
table th { font-weight: bold; }
table tr, table th, table td { margin: 0; padding: 0 26px 0 16px; }
table tfoot { font-style: italic; }
table caption { text-align: center; }

ol { list-style: inside decimal; margin: 0 0 26px; }
ol li ol { margin: 0 0 26px; }

ul { list-style: inside; margin: 0 0 26px; }
ul li ul { margin: 0 0 26px; }

dl { margin: 0 0 26px; }
dl dt { font-weight: bold; }
dl dd { margin-left: 26px; }

blockquote { padding: 24px 24px 24px 28.8px; position: relative; margin-bottom: 13px; }
blockquote:before { content: "\201C"; font-size: 48px; margin: 5px 0 0 -0.525em; position: absolute; font-family: Times, Georgia, serif; line-height: 0; }
blockquote > p { padding: 0; margin: 0; }

q { font-style: italic; }
q:before { content: "\201C"; }
q:after { content: "\201D"; }

em, dfn { font-style: italic; }

strong, dfn { font-weight: bold; }

del { text-decoration: line-through; }

span.highlight, em.highlight, strong.highlight { background-color: #ff6; padding: 2px; margin: 0 -2px; }

abbr, acronym { border-bottom: 1px dotted; cursor: help; }

address { margin-top: 26px; font-style: italic; }

pre, code { margin: 26px 0; white-space: pre; }

pre, code, tt { font-family: "Menlo", "Bitstream Vera Sans", Monaco, "Andale Mono", "Lucida Console", monospace; line-height: 24px; }

tt { display: block; margin: 26px 0; }

sub, sup { line-height: 0; }

hr { margin-bottom: 26px; }

small, .small { font-size: 13px; }

big, .big { font-size: 20px; }

body { font-size: 16px; font-family: Georgia, Times, "Times New Roman", serif; }

h1, h2, h3, h4, h5, h6 { color: #333; font-weight: bold; font-family: Georgia, Times, "Times New Roman", serif; letter-spacing: -1px; }

blockquote { font-family: Georgia, Times, "Times New Roman", serif; font-style: italic; color: #555; background: #f8f8f8; border-top: 1px solid #e5e5e5; border-bottom: 1px solid #e5e5e5; }
blockquote:before { color: #ddd; }
blockquote cite { font-family: "Lucida Grande", "Lucida Sans Unicode", "Trebuchet MS", Helvetica, Arial, Verdana, sans-serif; font-size: 14px; display: block; padding-top: 16px; }
blockquote cite:before { content: "\30FC"; padding-right: 2px; }
blockquote cite a { color: inherit !important; }
blockquote cite a:hover { color: #165c95 !important; }

html body { background-color: #323232; color: #333333; }
html body a { color: #165c95; }

.page_width { width: 900px; margin: 0 auto; padding-left: 30px; padding-right: 30px; }

/* specific SASS */
#collapser { font-family: "Lucida Grande", "Lucida Sans Unicode", "Trebuchet MS", Helvetica, Arial, Verdana, sans-serif; display: block; cursor: pointer; background: #f8f8f8; color: #888; padding: 5px 10px; font-size: 10px; line-height: 150%; cursor: pointer; position: absolute; top: 0; right: 0; }

table tr td.header { font-weight: bold; }

pre { color: #ccc; font-size: 13px; background: #222; line-height: 1.5em; border: #aaa 1px solid; overflow-x: auto; overflow-y: hidden; padding: 25px 20px; }
pre .lineno { color: #888; background: #e3e3e3; display: inline-block; padding: 0 0 0 10px; }
pre .lineno:first-child { padding-top: 15px; display: inline-block; }

.highlight { position: relative; }
.highlight .pre_expander { font-family: "Menlo", "Bitstream Vera Sans", Monaco, "Andale Mono", "Lucida Console", monospace; font-size: 10px; text-align: right; padding: 4px 8px; line-height: 150%; position: absolute; cursor: pointer; top: 2px; right: 2px; border-bottom-left-radius: 4px; -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; display: block; color: #777; background: #333; }
.highlight .pre_expander:hover { background: #444; color: #ccc; }

.editor { background: rgb(0,22,41); line-height: 1.25; }

pre.console { background-color: black; color: #00ff01; letter-spacing: 1px; padding: 0.5em; }
pre.console .prompt { color: #8080ff; }
pre.console .prompt:before { color: white; content: "["; }
pre.console .prompt:after { color: white; content: "]"; }
pre.console .stdin { font-weight: bold; color: white; }

.highlight { padding: 0 0 0.1em; color: white; }
.highlight .c { color: #999988; font-style: italic; }
.highlight .err { color: #a61717; background-color: #e3d2d2; }
.highlight .n { color: white; }
.highlight .k { color: rgb(255, 157, 0); }
.highlight .p { color: #573500; }
.highlight .o { color: rgb(255, 157, 0); }
.highlight .cm { color: #999988; font-style: italic; }
.highlight .cp { color: #999999; }
.highlight .c1 { color: #999988; font-style: italic; }
.highlight .cs { color: #999999; font-style: italic; }
.highlight .gd { color: #000000; background-color: #ffdddd; }
.highlight .gd .x { color: #000000; background-color: #ffaaaa; }
.highlight .ge { font-style: italic; }
.highlight .gr { color: #aa0000; }
.highlight .gh { color: #999999; }
.highlight .gi { color: #000000; background-color: #ddffdd; }
.highlight .gi .x { color: #000000; background-color: #aaffaa; }
.highlight .go { color: #888888; }
.highlight .gp { color: #555555; }
.highlight .gs { color: white; }
.highlight .gu { color: #aaaaaa; }
.highlight .gt { color: #aa0000; }
.highlight .kc { color: white; }
.highlight .kd { color: white; }
.highlight .kp { color: white; }
.highlight .kr { color: white; }
.highlight .kt { color: #445588; }
.highlight .m { color: rgb(255, 98, 140); }
.highlight .s { color: #d14; }
.highlight .na { color: #008080; }
.highlight .nb { color: #1aff84; }
.highlight .nc { color: #1aff84; }
.highlight .no { color: rgb(128, 255, 187); }
.highlight .ni { color: #800080; }
.highlight .ne { color: rgb(255,221, 0); }
.highlight .nf { color: rgb(255,221, 0); }
.highlight .nn { color: #555555; }
.highlight .nt { color: white; }
.highlight .nv { color: #008080; }
.highlight .ow { color: white; }
.highlight .w { color: #bbbbbb; }
.highlight .nl { color: rgb(255, 98, 140); }
.highlight .mf { color: rgb(255, 98, 140); }
.highlight .mh { color: rgb(255, 98, 140); }
.highlight .mi { color: rgb(255, 98, 140); }
.highlight .mo { color: rgb(255, 98, 140); }
.highlight .sb { color: rgb(58,217,0); }
.highlight .sc { color: rgb(58,217,0); }
.highlight .sd { color: rgb(58,217,0); }
.highlight .s2 { color: rgb(58,217,0); }
.highlight .se { color: rgb(58,217,0); }
.highlight .sh { color: rgb(58,217,0); }
.highlight .si { color: rgb(158,255,128); }
.highlight .sx { color: rgb(58,217,0); }
.highlight .sr { color: #009926; }
.highlight .s1 { color: rgb(58,217,0); }
.highlight .ss { color: rgb(255, 98, 140); }
.highlight .bp { color: #999999; }
.highlight .vc { color: #008080; }
.highlight .vg { color: #008080; }
.highlight .vi { color: #008080; }
.highlight .il { color: rgb(255, 98, 140); }

#search { position: absolute; left: 680px; top: 10%; }
#search form { background: url(/images/search_bg.png) no-repeat; padding: 0; height: 28px; width: 218px; }
#search #q { background: none; position: relative; top: 1px; width: 160px; margin-left: 30px; font-size: 15px; border: none; color: #aaa; }
#search #q:focus { outline: none; }

#sidebar { float: left; width: 250px; margin-left: 30px; font-size: 80%; line-height: 1.625em; }
#sidebar h4 { margin: 20px 0 0; }
#sidebar h4:first-child { margin-top: 10px; }
#sidebar h4 .small { font-family: "Lucida Grande", "Lucida Sans Unicode", "Trebuchet MS", Helvetica, Arial, Verdana, sans-serif; font-size: 50%; }

#twitter, #delicious, #stackoverflow { border-radius: 4px; -moz-border-radius: 4px; -webkit-border-radius: 4px; background: #f8f8f8; border: 1px solid #eee; padding: 5px 0; }
#twitter ul, #delicious ul, #stackoverflow ul { list-style-type: none; margin: 0; }
#twitter li, #delicious li, #stackoverflow li { margin: 0 15px; padding: 10px 0 0; border-bottom: #ddd 1px dashed; }
#twitter li:last-child, #delicious li:last-child, #stackoverflow li:last-child { border-bottom: 0; }

#delicious p { font-style: italic; }
#delicious li { color: #666; font-style: normal; padding-bottom: 8px; }

#twitter p { padding-bottom: 10px; }
#twitter p a.topic { color: #888888; }
#twitter .meta { color: #999999; font-size: 80%; display: block; padding: 8px 0 0; }
#twitter .meta a { color: inherit; text-decoration: none; }
#twitter .meta a:hover { text-decoration: underline; }

#stackoverflow div { margin: 0 15px; padding: 10px 0 0; }
#stackoverflow .gravatar { float: left; }
#stackoverflow .gravatar img { border: none; width: 50px; -ms-interpolation-mode: bicubic; }
#stackoverflow .userInfo { text-align: right; }
#stackoverflow .userInfo .username { line-height: 12px; }
#stackoverflow .userInfo .username img { border: none; padding-right: 3px; }
#stackoverflow .userInfo .username a { font-weight: bold; text-decoration: none; }
#stackoverflow .badge1 { color: #ffcc00; font-size: 120%; margin-left: 3px; }
#stackoverflow .badge2 { color: #c0c0c0; font-size: 120%; margin-left: 3px; }
#stackoverflow .badge3 { color: #CC9966; font-size: 120%; margin-left: 3px; }
#stackoverflow .reputation-score { color: #999999; font-size: 120%; font-weight: bold; }
#stackoverflow .badgecount { color: #999999; padding-left: 1px; }

/* layout partials */
#header { background-color: #323232; border-bottom: 1px solid #181818; padding: 30px 0; }
#header .page_width { position: relative; }
#header a.title { font-size: 40px; font-family: Georgia, Times, "Times New Roman", serif; display: inline-block; color: #dddddd; text-decoration: none; }

#nav { overflow: hidden; display: inline-block; position: relative; z-index: 1; padding: 6px 0; background-color: #e8e8e8; background-image: -webkit-gradient(linear, left top, left bottom, from(#fcfcfc), to(#ddd), color-stop(0.3, #f4f4f4)); background-image: -moz-linear-gradient(left top, left bottom, from(#fcfcfc), to(#ddd), color-stop(0.3, #f4f4f4)); border-top: 1px solid white; border-bottom: 1px solid #aaaaaa; }
#nav { display: block; }
#nav ul { position: relative; margin: 0; padding: 0; border: 0; outline: 0; overflow: hidden; display: inline-block; margin: 0 auto; overflow: visible; }
#nav ul { display: block; }
#nav ul li { list-style-type: none; margin-left: 0px; white-space: nowrap; display: inline; float: left; padding-left: 4px; padding-right: 4px; }
#nav ul li.first { padding-left: 0px; }
#nav ul li.last { padding-right: 0px; }
#nav ul li { padding: 0 15px; border-left: 1px solid #cccccc; border-right: 1px solid white; }
#nav ul li.alpha { border-left: none; padding-left: 0; }
#nav ul li.omega { border-right: 0; }
#nav ul li.subscribe { position: absolute; left: 635px; border: none; }
#nav ul li.subscribe a { display: inline-block; padding-left: 28px; background: url("/images/rss.png") left top no-repeat; }
#nav ul li a { display: inline-block; color: #555555; line-height: 150%; text-decoration: none; }
#nav ul li a:hover { color: black; }

#page { overflow: hidden; display: inline-block; background-color: #f0f0f0; }
#page { display: block; }
#page .page_width { overflow: hidden; display: inline-block; position: relative; padding-top: 25px; padding-bottom: 25px; background-color: white; box-shadow:  1px 1px 8px #cccccc; -webkit-box-shadow:  1px 1px 8px #cccccc; -moz-box-shadow:  1px 1px 8px #cccccc; border-left: 1px solid #cccccc; border-right: 1px solid #cccccc; }
#page .page_width { display: block; }

#main { width: 620px; float: left; }
#main.expanded { width: 100%; }

#sidebar { float: left; width: 250px; margin-left: 30px; font-size: 80%; line-height: 1.625em; }
#sidebar h4 { margin: 20px 0 0; }
#sidebar h4:first-child { margin-top: 10px; }
#sidebar h4 .small { font-family: "Lucida Grande", "Lucida Sans Unicode", "Trebuchet MS", Helvetica, Arial, Verdana, sans-serif; font-size: 50%; }

#twitter, #delicious, #stackoverflow { border-radius: 4px; -moz-border-radius: 4px; -webkit-border-radius: 4px; background: #f8f8f8; border: 1px solid #eee; padding: 5px 0; }
#twitter ul, #delicious ul, #stackoverflow ul { list-style-type: none; margin: 0; }
#twitter li, #delicious li, #stackoverflow li { margin: 0 15px; padding: 10px 0 0; border-bottom: #ddd 1px dashed; }
#twitter li:last-child, #delicious li:last-child, #stackoverflow li:last-child { border-bottom: 0; }

#delicious p { font-style: italic; }
#delicious li { color: #666; font-style: normal; padding-bottom: 8px; }

.blog .article { padding: 24px 0 24px; border-bottom: 1px solid #eeeeee; }
.blog .article:first-child { padding-top: 0; }
.blog .footer { padding-top: 16px; }

#footer { position: relative; z-index: 2; font-size: 13px; clear: both; padding: 24px 0; color: #999999; background: -webkit-gradient(linear, left top, left bottom, from(black), to(#323232)); background: -moz-linear-gradient(left top, left bottom, from(black), to(#323232)); border-top: 14px solid #444444; }
#footer a { color: #dddddd; }
#footer a:hover { color: white; }
