/* reset */

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

/* fonts */

body {
 font: 16px/1.5 "Droid Serif", "Bitstream Vera Serif", "Baskerville", serif;
}

h1, h2, h3, h4, h5, h6, #h, #cloud {
 font-family: "Yanone Kaffeesatz", "Futura-CondensedMedium", sans-serif;
}

pre, code, tt {
 font-family: Inconsolata, "Lucida Console", Consolata, monospace;
 overflow: auto;
}

.leif {
 font-family: "IM Fell English", "Hoefler Text", serif;
 font-style: italic;
}

/* element styles */

a { color: #23b; text-decoration: none; border-bottom: solid 1px transparent; }
a:visited { color: #238; }
a:hover { border-color: #23b; }
a:not([href]) { color: inherit; border-width: 0; }

a > img { border: none; }

blockquote, dl, ul, ol, pre, table { margin: 0.75em 0 0.75em 2em; }

body { background: #fff; color: #222; text-align: justify; }

abbr, acronym { border-bottom: 1px dotted #666; }
address, em, dfn { font-style: italic; }
blockquote { quotes: "" ""; }
blockquote:before, blockquote:after { content: ""; }
caption { text-align: left; font-weight: normal; }
dd { margin-left: 1.5em; }
del { color: #666; }
dfn { font-weight: bold; }
div { position: relative; }
dl dt { font-weight: bold; }
h1, h2, h3, h4, h5, h6 {
 font-weight: normal;
 color: #111;
 break-after: avoid;
 -webkit-column-break-after: avoid;
}
h1 img, h2 img, h3 img, h4 img, h5 img, h6 img { margin: 0; }
img { border: none; display: block; margin: 1em; -ms-interpolation-mode: bicubic; }
a img { border: none; }
q { quotes: "" ""; }
q:before, q:after { content: ""; }
pre { white-space: pre; }
strong { font-weight: bold; }
ul { list-style: none; }
ul li { text-indent: -1.4em; }
ul li:before { content: "\2767\00a0\00a0"; }
table { border-collapse: collapse; border-spacing: 0; border-width: 0; }
table, td, th { vertical-align: top; }
td, th { text-align: left; padding: 0 0.5em 0 0; }

h1 { font-size: 3em; line-height: 1; margin: 0; }
h2 { font-size: 2em; line-height: 1.5; margin: 0.55em 0 0.2em; }
h3 { font-size: 1.5em; line-height: 1; margin: 1.5em 0 0.5em; }

p + p, table.docutils + p { text-indent: 1.5em; }
h2 + div.section > h3 { margin-top: 0; }
div.multicolumn > div.preview > h2 { margin-top: 0; }

/* general body layout */

#h { margin: 0.5em 5em 1em; clear: both; }
#b { margin: 1em 5em; clear: both; }
#f { margin: 1em 5em; clear: both; }

/* header */

#h h2 { float: left; margin: 0; padding: 0; }
#h h3 { float: right; margin: 0.1em 0 0.1em 0.1em; padding: 0.333em; }
#h h3.encircled { background: #fc3; }

#h a { border: none; }
#h a.striker:hover { text-decoration: line-through; }
#h h1 { clear: left; }

#cloud { font-size: smaller; clear: both; }
#cloud span { white-space: nowrap; }
#cloud span:hover { opacity: 1; }
#cloud span.tag { padding-right: 0.5em; }

/* footer */

#f { padding-bottom: 2em; }

#recent .snaps { width: 216px; float: left; margin: 1em 1em 1em 0; }
#recent ul { float: left; }

#f a:hover { border-width: 1px; }

#adsense { margin-left: 12%; }

#archives h3 { margin-top: 0.714em; }

#archives td, #archives th {
 font-size: 10px;
 line-height: 1.333;
 padding: 0.5em 0.5em 0.5em 0;
}
#archives tbody td, #archives thead th { border-bottom: solid 1px #9d9; }
#archives .year { padding-left: 1em; }
#archives a { border: none; }

#archives td.month-count { font-size: 2em; padding-right: 0; }

/* generic styles */

.showgrid { background-image: url(/img/line-height-24.png); }
.clear { clear: both; }

.hidden { visibility: hidden; }
.quiet { color: #999; }

.alpha-1 { opacity: 0.35; }
.alpha-2 { opacity: 0.65; }
.alpha-3 { opacity: 1.0; }

.yellowish { background: #ffc; border: solid 1px #ff9; }
.blueish { background: #def; border: solid 1px #bdf; }
.whiteish { border: solid 1px #eee; }

.padded-1em { padding: 0.6em 1em; }
.padded-05em { padding: 0.3em 0.5em; }

.rounded-1em { border-radius: 1em; -moz-border-radius: 1em; -webkit-border-radius: 1em; }
.rounded-05em { border-radius: 0.5em; -moz-border-radius: 0.5em; -webkit-border-radius: 0.5em; }

.rounded-9px { border-radius: 9px; -moz-border-radius: 9px; -webkit-border-radius: 9px; }
.rounded-18px { border-radius: 18px; -moz-border-radius: 18px; -webkit-border-radius: 18px; }
.rounded-36px { border-radius: 36px; -moz-border-radius: 36px; -webkit-border-radius: 36px; }

.multicolumn {
 -moz-column-width: 25em; -webkit-column-width: 25em; column-width: 25em;
 -moz-column-gap: 2em; -webkit-column-gap: 2em; column-gap: 2em;
 -moz-column-fill: balance; -webkit-column-fill: balance; column-fill: balance;
}

/* pagination */

#p { margin: 1.5em 0; clear: both; }
#p a, #p span { margin-right: 0.5em; padding: 0.2em 0.5em; border: solid 1px #333; }
#p a { text-decoration: none; }
#p a:hover { background: #f90; }
#p span { background: #333; color: #fff; }

/* articles */

.preview { margin-bottom: 1em; break-inside: avoid; -webkit-column-break-inside: avoid; }
.preview time { color: #666; }

#summary { font-style: italic; margin-bottom: 1.5em; }
#meta { text-indent: 0; margin-top: 1.5em; }

p#table-1, table.docutils { text-indent: 0; padding: 0.6em 1em; }
table.docutils { display: block; }
table.docutils-citation, table.docutils-footnote { margin-left: 0; }

/* photos */

img[onclick] { cursor: pointer; }

.photo { margin: 0 0 1em 0; width: 100%; }

.crop { float: left; margin: 0 6px 6px 0; }

.thumb { float: left; margin: 0 12px 12px 0; height: 144px; width: 144px; }
.thumb a {
 display: table-cell;
 vertical-align: middle;
 text-align: center;
 height: 144px;
 width: 144px;
 border: none;
}
.thumb a img { margin: 0; padding: 0; display: inline; vertical-align: middle; }

#caption { font-style: italic; }

#photo .prev, #photo .next {
 display: block;
 margin-left: -54px;
 float: left;
 clear: left;
 opacity: 0.618;
 border: none;
}
#photo .next { margin-top: 36px; }
#photo a:hover { opacity: 1; }

/* pygment source code markup */

.codeblock .c   { color: #999 } /* Comment */
.codeblock .err { color: #999; border: 1px solid #FF0000 } /* Error */
.codeblock .g   { color: #999 } /* Generic */
.codeblock .k   { color: #0c0 } /* Keyword */
.codeblock .l   { color: #999 } /* Literal */
.codeblock .n   { color: #000 } /* Name */
.codeblock .o   { color: #39c } /* Operator */
.codeblock .x   { color: #999 } /* Other */
.codeblock .p   { color: #999 } /* Punctuation */
.codeblock .cm  { color: #0cc } /* Comment.Multiline */
.codeblock .cp  { color: #0cc } /* Comment.Preproc */
.codeblock .c1  { color: #0cc } /* Comment.Single */
.codeblock .cs  { color: #c00; font-weight: bold } /* Comment.Special */
.codeblock .gd  { color: #f00 } /* Generic.Deleted */
.codeblock .ge  { font-style: italic } /* Generic.Emph */
.codeblock .gr  { color: #f00 } /* Generic.Error */
.codeblock .gh  { color: #009; font-weight: bold } /* Generic.Heading */
.codeblock .gi  { color: #0c0 } /* Generic.Inserted */
.codeblock .go  { color: #999 } /* Generic.Output */
.codeblock .gp  { color: #009; font-weight: bold } /* Generic.Prompt */
.codeblock .gs  { color: #999; font-weight: bold } /* Generic.Strong */
.codeblock .gu  { color: #909; font-weight: bold } /* Generic.Subheading */
.codeblock .gt  { color: #03c } /* Generic.Traceback */
.codeblock .kc  { color: #cc0 } /* Keyword.Constant */
.codeblock .kd  { color: #cc0 } /* Keyword.Declaration */
.codeblock .kp  { color: #cc0 } /* Keyword.Pseudo */
.codeblock .kr  { color: #cc0 } /* Keyword.Reserved */
.codeblock .kt  { color: #3cc } /* Keyword.Type */
.codeblock .ld  { color: #999 } /* Literal.Date */
.codeblock .m   { color: #999 } /* Literal.Number */
.codeblock .s   { color: #06c } /* Literal.String */
.codeblock .na  { color: #999 } /* Name.Attribute */
.codeblock .nb  { color: #c00 } /* Name.Builtin */
.codeblock .nc  { color: #c0c } /* Name.Class */
.codeblock .no  { color: #999 } /* Name.Constant */
.codeblock .nd  { color: #999 } /* Name.Decorator */
.codeblock .ni  { color: #999 } /* Name.Entity */
.codeblock .ne  { color: #669; font-weight: bold } /* Name.Exception */
.codeblock .nf  { color: #333; font-weight: bold } /* Name.Function */
.codeblock .nl  { color: #999 } /* Name.Label */
.codeblock .nn  { color: #60c; font-weight: bold } /* Name.Namespace */
.codeblock .nx  { color: #999 } /* Name.Other */
.codeblock .py  { color: #999 } /* Name.Property */
.codeblock .nt  { color: #999 } /* Name.Tag */
.codeblock .nv  { color: #0cc } /* Name.Variable */
.codeblock .ow  { color: #39c } /* Operator.Word */
.codeblock .w   { color: #999 } /* Text.Whitespace */
.codeblock .mf  { color: #60c } /* Literal.Number.Float */
.codeblock .mh  { color: #60c } /* Literal.Number.Hex */
.codeblock .mi  { color: #60c } /* Literal.Number.Integer */
.codeblock .mo  { color: #60c } /* Literal.Number.Oct */
.codeblock .sb  { color: #c00 } /* Literal.String.Backtick */
.codeblock .sc  { color: #c00 } /* Literal.String.Char */
.codeblock .sd  { color: #c00 } /* Literal.String.Doc */
.codeblock .s2  { color: #c00 } /* Literal.String.Double */
.codeblock .se  { color: #c00 } /* Literal.String.Escape */
.codeblock .sh  { color: #c00 } /* Literal.String.Heredoc */
.codeblock .si  { color: #c00 } /* Literal.String.Interpol */
.codeblock .sx  { color: #c00 } /* Literal.String.Other */
.codeblock .sr  { color: #c00 } /* Literal.String.Regex */
.codeblock .s1  { color: #c00 } /* Literal.String.Single */
.codeblock .ss  { color: #c00 } /* Literal.String.Symbol */
.codeblock .bp  { color: #c0c } /* Name.Builtin.Pseudo */
.codeblock .vc  { color: #0cc } /* Name.Variable.Class */
.codeblock .vg  { color: #0cc } /* Name.Variable.Global */
.codeblock .vi  { color: #0cc } /* Name.Variable.Instance */
.codeblock .il  { color: #c0c } /* Literal.Number.Integer.Long */
