html{color:#000;background:#FFF}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}fieldset,img{border:0}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal}li{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}q:before,q:after{content:''}abbr,acronym{border:0;font-variant:normal}sup{vertical-align:text-top}sub{vertical-align:text-bottom}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit}input,textarea,select{*font-size:100%}legend{color:#000}h1{font-size:138.5%}h2{font-size:123.1%}h3{font-size:108%}h1,h2,h3{margin:1em 0}h1,h2,h3,h4,h5,h6,strong{font-weight:bold}abbr,acronym{border-bottom:1px dotted #000;cursor:help}em{font-style:italic}blockquote,ul,ol,dl{margin:1em}ol,ul,dl{margin-left:2em}ol li{list-style:decimal outside}ul li{list-style:disc outside}dl dd{margin-left:1em}th,td{border:1px solid #000;padding:.5em}th{font-weight:bold;text-align:center}caption{margin-bottom:.5em;text-align:center}p,fieldset,table,pre{margin-bottom:1em}input[type=text],input[type=password],textarea{width:12.25em;*width:11.9em}.CodeRay{background-color:#f8f8f8;border:1px solid silver;font-family:'Courier New','Terminal',monospace;color:#000;margin:.5em 0 1em 0}.CodeRay pre{margin:0;padding:.5em}span.CodeRay{white-space:pre;border:0;padding:2px}table.CodeRay{border-collapse:collapse;width:100%;padding:2px}table.CodeRay td{padding:2px 4px;vertical-align:top}.CodeRay .line_numbers,.CodeRay .no{background-color:#def;color:gray;text-align:right}.CodeRay .line_numbers tt{font-weight:bold}.CodeRay .line_numbers .highlighted{color:red}.CodeRay .no{padding:0 4px}.CodeRay .code{width:100%}ol.CodeRay{font-size:10pt}ol.CodeRay li{white-space:pre}.CodeRay .code pre{overflow:auto}.CodeRay .debug{color:white!important;background:blue!important}.CodeRay .af{color:#00c}.CodeRay .an{color:#007}.CodeRay .at{color:#f08}.CodeRay .av{color:#700}.CodeRay .aw{color:#c00}.CodeRay .bi{color:#509;font-weight:bold}.CodeRay .c{color:#888}.CodeRay .ch{color:#04d}.CodeRay .ch .k{color:#04d}.CodeRay .ch .dl{color:#039}.CodeRay .cl{color:#B06;font-weight:bold}.CodeRay .cm{color:#A08;font-weight:bold}.CodeRay .co{color:#036;font-weight:bold}.CodeRay .cr{color:#0a0}.CodeRay .cv{color:#369}.CodeRay .de{color:#B0B}.CodeRay .df{color:#099;font-weight:bold}.CodeRay .di{color:#088;font-weight:bold}.CodeRay .dl{color:black}.CodeRay .do{color:#970}.CodeRay .dt{color:#34b}.CodeRay .ds{color:#D42;font-weight:bold}.CodeRay .e{color:#666;font-weight:bold}.CodeRay .en{color:#800;font-weight:bold}.CodeRay .ex{color:#C00;font-weight:bold}.CodeRay .fl{color:#60E;font-weight:bold}.CodeRay .fu{color:#06B;font-weight:bold}.CodeRay .gv{color:#d70;font-weight:bold}.CodeRay .hx{color:#058;font-weight:bold}.CodeRay .i{color:#00D;font-weight:bold}.CodeRay .ic{color:#B44;font-weight:bold}.CodeRay .il{background:#eee;color:black}.CodeRay .il .il{background:#ccc}.CodeRay .il .il .il{background:#bbb}.CodeRay .il .idl{background:#eee;font-weight:bold;color:#666}.CodeRay .idl{background-color:#bbb;font-weight:bold;color:#666}.CodeRay .im{color:#f00}.CodeRay .in{color:#B2B;font-weight:bold}.CodeRay .iv{color:#33b}.CodeRay .la{color:#970;font-weight:bold}.CodeRay .lv{color:#963}.CodeRay .oc{color:#40E;font-weight:bold}.CodeRay .of{color:#000;font-weight:bold}.CodeRay .pc{color:#038;font-weight:bold}.CodeRay .pd{color:#369;font-weight:bold}.CodeRay .pp{color:#579}.CodeRay .ps{color:#00C;font-weight:bold}.CodeRay .pt{color:#074;font-weight:bold}.CodeRay .r,.kw{color:#080;font-weight:bold}.CodeRay .ke{color:#808}.CodeRay .ke .dl{color:#606}.CodeRay .ke .ch{color:#80f}.CodeRay .vl{color:#088}.CodeRay .rx{background-color:#fff0ff}.CodeRay .rx .k{color:#808}.CodeRay .rx .dl{color:#404}.CodeRay .rx .mod{color:#c2c}.CodeRay .rx .fu{color:#404;font-weight:bold}.CodeRay .s{color:#D20}.CodeRay .s .s{background-color:#ffe0e0}.CodeRay .s .s .s{background-color:#ffd0d0}.CodeRay .s .ch{color:#b0b}.CodeRay .s .dl{color:#710}.CodeRay .sh{background-color:#f0fff0;color:#2b2}.CodeRay .sh .dl{color:#161}.CodeRay .sy{color:#a60}.CodeRay .sy .k{color:#a60}.CodeRay .sy .dl{color:#630}.CodeRay .ta{color:#070}.CodeRay .tf{color:#070;font-weight:bold}.CodeRay .ts{color:#D70;font-weight:bold}.CodeRay .ty{color:#339;font-weight:bold}.CodeRay .v{color:#036}.CodeRay .xt{color:#444}.CodeRay .ins{background:#afa}.CodeRay .del{background:#faa}.CodeRay .chg{color:#aaf;background:#007}.CodeRay .head{color:#f8f;background:#505}.CodeRay .ins .ins{color:#080;font-weight:bold}.CodeRay .del .del{color:#800;font-weight:bold}.CodeRay .chg .chg{color:#66f}.CodeRay .head .head{color:#f4f}body{color:#222;font-family:verdana,arial,helvetica,sans-serif;font-size:.875em;line-height:1.285em}h1,h2,h3,h4,h5,h6{font-family:georgia,times,"Times New Roman",serif;font-weight:normal}b,strong{font-weight:bold;color:black}code{font-size:1.25em;color:black}pre{font-size:1.25em;color:black}a{color:#1080f0;text-decoration:none}a:hover{color:#f08010;text-decoration:none}a.me{color:#999;font-style:italic}a.me:hover{color:#999;text-decoration:underline}.clear{clear:both}.published{font-size:.75em;padding-left:.5em;color:#999;white-space:nowrap}hr.separator{width:10em;margin:2em auto;border:0;border-top:1px solid #CCC}img.picture{border:1px solid black;box-shadow:3px 3px 3px #AAA;-moz-box-shadow:3px 3px 3px #AAA;-webkit-box-shadow:3px 3px 3px #AAA}img.right{float:right;margin:1em 0 1em 1em}img.left{float:left;margin:1em 1em 1em 0}img.center{display:block;margin:0 auto}@media screen{body{min-width:45em;max-width:62em;margin:0 auto;padding:0;overflow:scroll}#header .title{width:30em;display:inline-block}#header .logo{float:right;display:block}#header .links{display:none}#header .contact{display:none}#main{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;width:45em;margin-right:15em;padding:0 1em}#sidebar{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;display:block;clear:right;float:right;padding-top:1em;padding-left:1em;width:15em}#sidebar .adverts{padding-top:1em}#footer{min-height:30em;padding:4em;margin:4em}}@media screen and (max-width:62em){#main{margin:0 auto;padding-top:1em}#sidebar{display:none}#header .logo{display:none}#header .title{display:block;margin:0 auto}#header .links{display:inline-block;margin-right:6em}#header .contact{display:inline-block;margin-left:0}}#header .byline{font-size:.75em;border-top:1px solid #ccc;text-align:right;color:#999;padding-right:1em}#header .byline img{vertical-align:middle;border:0}#sidebar .section{margin-bottom:2em}#sidebar .section h2{font-size:1em}#sidebar .section ul li{white-space:nowrap}#sidebar .section ul li.current{list-style-type:circle}#sidebar .section ul li.current a{color:#063361}#sidebar .section.links ul{margin-left:1em}#sidebar .section.links ul li{list-style-type:none}#sidebar .section.contact ul{margin-left:1em}#sidebar .section.contact ul li{display:inline-block;list-style-type:none;margin-right:4px}#sidebar .section.contact ul li img{vertical-align:middle;border:0}#sidebar div.series ul.posts li{list-style-type:lower-roman}#footer{font-size:.75em;text-align:center;border-top:1px solid #ccc;background:url(http://codeincomplete.com/images/watermark.v228.png) no-repeat center 6em}#footer .copyright{color:#999;position:absolute;padding-left:1em}#footer .navigation{color:#999}#footer .navigation a{color:#222}#footer .navigation a:hover{color:#f08010}.addthis_toolbox{height:2.5em}.addthis_toolbox .atclear{clear:left}#front_page{padding-top:3em}#front_page #promo{margin-bottom:4em}#front_page #promo .summary{font-size:1.5em;line-height:1.25em}#front_page #promo .avatar{float:left;margin:0 1em 1em 0}#front_page .posts .post:first-child{padding:1em 1em 2em 1em;background-color:#ffffd7;border:1px solid #f08010}#front_page .post .content a.continued{display:block;padding:1em 2em}#front_page .post .content h1{margin:1em 0}#front_page hr.fold{margin:4em auto 6em auto;width:60%;border-top:1px solid #999}.post .content h1{font-weight:normal;margin:2em 0 1em 0}.post .content h2{font-weight:bold;color:black;font-size:1em}.post .content h3{font-weight:bold;color:black;font-size:1em}.post .content p{text-align:left}.post .comments{margin-top:4em}.skills li{background-color:#337ab7;display:inline-block;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em;margin:0 .2em}.resume{font-size:138.5%;font-family:georgia,times,'Times New Roman',serif;font-weight:normal;margin:1em .5em 1.5em .5em}