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,blockquote:after,q:before,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,h2,h3,h4,h5,h6{line-height:1.1em;margin-bottom:0.7em;margin-top:0.3em}h1{font-size:56px}h2{font-size:48px}h3{font-size:32px}h4{font-size:24px}h5{font-size:20px}h6{font-size:16px}body{line-height:1.45em;color:#333}p{padding-bottom:1.3em}p img{float:left;margin-top:8px;margin-right:13.008px;margin-bottom:13.008px;margin-left:0;padding:0}p img.right{margin-right:0;margin-left:13.008px}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:13.008px}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,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:0.2em}small,.small{font-size:13px}big,.big{font-size:20px}body{font-size:16px;font-family:"Lucida Grande", "Lucida Sans Unicode", "Trebuchet MS", Helvetica, Arial, Verdana, sans-serif}h1,h2,h3,h4,h5,h6{color:#444;font-weight:bold;font-family:"Helvetica Neue", Helvetica, Arial, sans-serif}h1,h2,h3,h4{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}.quote blockquote{font-size:24px;line-height:32.5px;color:#555}p code{font-size:0.9em;line-height:1.4em;background:#dde8f1;border:1px solid #b9d0e2;padding:1px 3px !important;-moz-border-radius:3px;-webkit-border-radius:3px;-o-border-radius:3px;-ms-border-radius:3px;-khtml-border-radius:3px;border-radius:3px}html body{background-color:#1c1c1c;color:#333}html body a{color:#0c78d1}.page_width{width:900px;margin:0 auto;padding-left:30px;padding-right:30px}img{border:none}img.left{display:inline;float:left;margin-right:15px;margin-bottom:15px}img.right{display:inline;float:right;margin-left:15px;margin-bottom:15px}.vr{display:inline-block;border-left:1px solid #999;width:0;margin:0 4px;line-height:120%}#page a.button{font-family:"Lucida Grande", Lucida, Arial, sans_serif;background:url('/images/button_bg.png?1262308446') repeat-x bottom left;margin:0;width:auto;overflow:visible;display:inline-block;cursor:pointer;text-decoration:none;border-style:solid;font-weight:bold;-moz-border-radius:4px;-webkit-border-radius:4px;-o-border-radius:4px;-ms-border-radius:4px;-khtml-border-radius:4px;border-radius:4px;font-size:20px;line-height:24px;padding:5px 20px;border-width:1px;background-color:#0098e6;background-image:-webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(0%, #94d7fa), color-stop(10%, #3cb7f6), color-stop(50%, #0a8bce), color-stop(50%, #0981bf), color-stop(100%, #0ba2f0));background-image:-moz-linear-gradient(top, #94d7fa 0%, #3cb7f6 10%, #0a8bce 50%, #0981bf 50%, #0ba2f0 100%);border-color:#076393;text-shadow:#004467 0px 1px 1px;margin-right:5px}#page a.button::-moz-focus-inner{border:none;padding:0}#page a.button:focus{outline:none}#page a.button.disabled,#page a.button[disabled]{-moz-opacity:0.7;-webkit-opacity:0.7;-o-opacity:0.7;-khtml-opacity:0.7;opacity:0.7;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=70);filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=70)}#page a.button.disabled:hover,#page a.button.disabled:focus,#page a.button[disabled]:hover,#page a.button[disabled]:focus{cursor:default}#page a.button:active{padding:4px 19px;border-width:2px}#page a.button.disabled:active,#page a.button[disabled]{padding:5px 20px;border-width:1px}#page a.button,#page a.button:visited{color:#fff}#page a.button.disabled:active,#page a.button.disabled:hover,#page a.button[disabled]:active,#page a.button[disabled]:hover{background-color:#0098e6;background-image:-webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(0%, #94d7fa), color-stop(10%, #3cb7f6), color-stop(50%, #0a8bce), color-stop(50%, #0981bf), color-stop(100%, #0ba2f0));background-image:-moz-linear-gradient(top, #94d7fa 0%, #3cb7f6 10%, #0a8bce 50%, #0981bf 50%, #0ba2f0 100%);border-color:#076393;text-shadow:#004467 0px 1px 1px}#page a.button.disabled:active,#page a.button.disabled:active:visited,#page a.button.disabled:hover,#page a.button.disabled:hover:visited,#page a.button[disabled]:active,#page a.button[disabled]:active:visited,#page a.button[disabled]:hover,#page a.button[disabled]:hover:visited{color:#fff}#page a.button:hover,#page a.button:focus{background-color:#008ed6;background-image:-webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(0%, #85d2fa), color-stop(10%, #2db2f6), color-stop(50%, #0981bf), color-stop(50%, #0877b0), color-stop(100%, #0a98e1));background-image:-moz-linear-gradient(top, #85d2fa 0%, #2db2f6 10%, #0981bf 50%, #0877b0 50%, #0a98e1 100%);border-color:#065984;text-shadow:#003957 0px 1px 1px}#page a.button:hover,#page a.button:hover:visited,#page a.button:focus,#page a.button:focus:visited{color:#fff}#page a.button:active{background-color:#0084c8;background-image:-webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(0%, #0981bf), color-stop(30%, #0a87c9), color-stop(50%, #097ab5), color-stop(50%, #0870a7), color-stop(100%, #0b9be6));background-image:-moz-linear-gradient(top, #0981bf 0%, #0a87c9 30%, #097ab5 50%, #0870a7 50%, #0b9be6 100%);border-color:#065076;text-shadow:#003049 0px -1px -1px}#page a.button:active,#page a.button:active:visited{color:#fff}pre{margin:5px 0 15px;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;-moz-border-radius-bottomleft:4px;-webkit-border-bottom-left-radius:4px;-o-border-bottom-left-radius:4px;-ms-border-bottom-left-radius:4px;-khtml-border-bottom-left-radius:4px;border-bottom-left-radius:4px;display:block;color:#777;background:#333}.highlight .pre_expander:hover{background:#444;color:#ccc}.editor{background:#001629;line-height:1.25}pre.console{background-color:#000;color:#00ff01;letter-spacing:1px;padding:0.5em}pre.console .prompt{color:#8080ff}pre.console .prompt:before{color:#fff;content:"["}pre.console .prompt:after{color:#fff;content:"]"}pre.console .stdin{font-weight:bold;color:#fff}.highlight{padding:0 0 0.1em;color:#fff}.highlight .c{color:#998;font-style:italic}.highlight .err{color:#a61717;background-color:#e3d2d2}.highlight .n{color:#fff}.highlight .k{color:#ff9d00}.highlight .p{color:#573500}.highlight .o{color:#ff9d00}.highlight .cm{color:#998;font-style:italic}.highlight .cp{color:#999}.highlight .c1{color:#998;font-style:italic}.highlight .cs{color:#999;font-style:italic}.highlight .gd{color:#000;background-color:#fdd}.highlight .gd .x{color:#000;background-color:#faa}.highlight .ge{font-style:italic}.highlight .gr{color:#a00}.highlight .gh{color:#999}.highlight .gi{color:#000;background-color:#dfd}.highlight .gi .x{color:#000;background-color:#afa}.highlight .go{color:#888}.highlight .gp{color:#555}.highlight .gs{color:#fff}.highlight .gu{color:#aaa}.highlight .gt{color:#a00}.highlight .kc{color:#fff}.highlight .kd{color:#fff}.highlight .kp{color:#fff}.highlight .kr{color:#fff}.highlight .kt{color:#458}.highlight .m{color:#ff628c}.highlight .s{color:#d14}.highlight .na{color:teal}.highlight .nb{color:#1aff84}.highlight .nc{color:#1aff84}.highlight .no{color:#80ffbb}.highlight .ni{color:purple}.highlight .ne{color:#fd0}.highlight .nf{color:#fd0}.highlight .nn{color:#555}.highlight .nt{color:#fff}.highlight .nv{color:teal}.highlight .ow{color:#fff}.highlight .w{color:#bbb}.highlight .nl{color:#ff628c}.highlight .mf{color:#ff628c}.highlight .mh{color:#ff628c}.highlight .mi{color:#ff628c}.highlight .mo{color:#ff628c}.highlight .sb{color:#3ad900}.highlight .sc{color:#3ad900}.highlight .sd{color:#3ad900}.highlight .s2{color:#3ad900}.highlight .se{color:#3ad900}.highlight .sh{color:#3ad900}.highlight .si{color:#9eff80}.highlight .sx{color:#3ad900}.highlight .sr{color:#009926}.highlight .s1{color:#3ad900}.highlight .ss{color:#ff628c}.highlight .bp{color:#999}.highlight .vc{color:teal}.highlight .vg{color:teal}.highlight .vi{color:teal}.highlight .il{color:#ff628c}#search{position:absolute;left:690px;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:233px;margin-left:25px;color:#000;font-size:13px;line-height:1.525em}#sidebar .section{margin-left:-25px;padding:15px 0 10px 25px;border-top:1px solid #eee;border-bottom:1px solid #c6c6c6}#sidebar .section.alpha{padding-top:20px;border-top:0}#sidebar .section.omega{border-bottom:0}#sidebar h4{margin:0;font-size:32px;margin-bottom:10px}#sidebar h4 small{color:#888;font-family:"Lucida Grande", "Lucida Sans Unicode", "Trebuchet MS", Helvetica, Arial, Verdana, sans-serif;font-size:52%}#sidebar h4 small a{color:#0c78d1;padding:2px;margin:0 -2px;-moz-border-radius:3px;-webkit-border-radius:3px;-o-border-radius:3px;-ms-border-radius:3px;-khtml-border-radius:3px;border-radius:3px}#sidebar h4 small a:hover{background-color:#0c78d1;color:#fff;text-decoration:none}#blog_links.section{padding-bottom:20px}#blog_links.section a{font-size:15px;font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;font-weight:bold;color:#555;text-decoration:none;padding:0;margin:0;-moz-border-radius:0;-webkit-border-radius:0;-o-border-radius:0;-ms-border-radius:0;-khtml-border-radius:0;border-radius:0}#blog_links.section a:hover{color:#0c78d1;background-color:inherit;text-decoration:underline}#blog_links.section #rss{display:inline-block;padding:0 6px 0 28px;background:url('/images/rss.png?1262308446') no-repeat left center}#blog_links.section #archive{display:inline-block;border-left:1px solid #c6c6c6;padding-left:8px}#twitter,#delicious{-moz-border-radius:4px;-webkit-border-radius:4px;-o-border-radius:4px;-ms-border-radius:4px;-khtml-border-radius:4px;border-radius:4px;background:#f5f5f5;border:1px solid #d4d4d4;padding:5px 0;margin-bottom:20px}#twitter ul,#delicious ul{list-style-type:none;margin:0}#twitter li,#delicious li{margin:0 15px;padding:10px 0 0;border-bottom:#ddd 1px dashed}#twitter li:last-child,#delicious li:last-child{border-bottom:0}#delicious p{font-style:italic}#delicious li{color:#666;font-style:normal;padding-bottom:8px}#hire_me h4{background:url('/images/hire_me_small.png?1262308446') no-repeat left center;padding:15px 0 22px 85px;margin-bottom:0;position:relative;left:-10px}#page #social a{padding:0;margin:0;-moz-border-radius:0;-webkit-border-radius:0;-o-border-radius:0;-ms-border-radius:0;-khtml-border-radius:0;border-radius:0}#page #social a:hover{color:inherit;background-color:inherit;text-decoration:underline}#social{padding:15px 0 5px;list-style:none}#social li,#social a{display:inline-block}#social li a{-moz-opacity:0.85;-webkit-opacity:0.85;-o-opacity:0.85;-khtml-opacity:0.85;opacity:0.85;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=85);filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=85);margin:0;padding:0;border:0;outline:0;background:url('/images/social.png?1262308446') no-repeat;width:24px;height:24px;overflow:hidden;text-indent:-9999em}#social li a:hover{-moz-opacity:1;-webkit-opacity:1;-o-opacity:1;-khtml-opacity:1;opacity:1;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100)}#social li a.twitter{background-position:0px 0px}#social li a.github{background-position:0px -24px}#social li a.facebook{background-position:0px -48px}#social li a.linkedin{background-position:0px -72px}#social li a.delicious{background-position:0px -96px}#social li a.flickr{background-position:0px -120px}#twitter p{padding-bottom:10px}#twitter p a.topic{color:#888}#twitter .meta{color:#999;font-size:80%;display:block;padding:8px 0 0}#twitter .meta a{color:inherit;text-decoration:none}#twitter .meta a:hover{text-decoration:underline;color:#fff;background-color:#aaa}#header{overflow:hidden;display:inline-block;background-color:#1c1c1c}#header{display:block}#header .page_width{position:relative}#header a.title{text-indent:-9999em;overflow:hidden;text-align:left;background-image:url('/images/logo.png?1262308446');background-repeat:no-repeat;background-position:50% 50%;display:inline-block;text-decoration:none;height:64px;width:280px;float:left;position:relative;top:30px;left:6px}#search{position:absolute;left:725px;top:45px}#search form{background:url(/images/search_bg.png) no-repeat;padding:0;height:28px;width:204px}#search #q{background:none;position:relative;top:-2px;width:160px;margin-left:30px;font-size:15px;border:none;color:#aaa}#search #q:focus{outline:none}#nav{float:left;margin-left:30px}#nav ul{list-style:none}#nav ul li{float:left;height:120px;overflow:hidden;padding:0 25px}#nav ul li a{color:#ccc;display:inline-block;padding:3.3em 2px 10px;font-size:90%;text-transform:uppercase;text-decoration:none}#nav ul li a:hover{color:#fff}#nav ul li a:hover{text-decoration:underline}#nav ul li.here{border-right:2px solid #888;border-left:2px solid #888;background:#252525 url('/images/line_tile.png?1262308446');background-image:-webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(0%, #343434), color-stop(100%, #1a1a1a));background-image:-moz-linear-gradient(top, #343434 0%, #1a1a1a 100%)}#nav ul li.here a{color:#fff;text-decoration:none;padding-left:0;padding-right:0}#page{overflow:hidden;display:inline-block;background-color:#ebebeb;background-image:url('/images/line_tile.png?1262308446');border-top:14px solid #444}#page{display:block}#page a{color:#0c78d1;padding:2px;margin:0 -2px;-moz-border-radius:3px;-webkit-border-radius:3px;-o-border-radius:3px;-ms-border-radius:3px;-khtml-border-radius:3px;border-radius:3px}#page a:hover{background-color:#0c78d1;color:#fff;text-decoration:none}#page h1 a,#page h2 a,#page h3 a,#page h4 a,#page h5 a,#page h6 a{color:#444;padding:0;margin:0;-moz-border-radius:0;-webkit-border-radius:0;-o-border-radius:0;-ms-border-radius:0;-khtml-border-radius:0;border-radius:0}#page h1 a:hover,#page h2 a:hover,#page h3 a:hover,#page h4 a:hover,#page h5 a:hover,#page h6 a:hover{color:#0c78d1;background-color:inherit;text-decoration:underline}#page .page_width{position:relative;width:960px;padding:0}#main{width:640px;background-color:#fff;-moz-box-shadow:#ccc 0 0 10px;-webkit-box-shadow:#ccc 0 0 10px;-o-box-shadow:#ccc 0 0 10px;box-shadow:#ccc 0 0 10px;border-left:1px solid #ccc;border-right:1px solid #ccc;padding:25px 30px;float:left}#main.expanded{width:900px}#sidebar{float:left;width:233px;margin-left:25px;color:#000;font-size:13px;line-height:1.525em}#sidebar .section{margin-left:-25px;padding:15px 0 10px 25px;border-top:1px solid #eee;border-bottom:1px solid #c6c6c6}#sidebar .section.alpha{padding-top:20px;border-top:0}#sidebar .section.omega{border-bottom:0}#sidebar h4{margin:0;font-size:32px;margin-bottom:10px}#sidebar h4 small{color:#888;font-family:"Lucida Grande", "Lucida Sans Unicode", "Trebuchet MS", Helvetica, Arial, Verdana, sans-serif;font-size:52%}#sidebar h4 small a{color:#0c78d1;padding:2px;margin:0 -2px;-moz-border-radius:3px;-webkit-border-radius:3px;-o-border-radius:3px;-ms-border-radius:3px;-khtml-border-radius:3px;border-radius:3px}#sidebar h4 small a:hover{background-color:#0c78d1;color:#fff;text-decoration:none}#blog_links.section{padding-bottom:20px}#blog_links.section a{font-size:15px;font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;font-weight:bold;color:#555;text-decoration:none;padding:0;margin:0;-moz-border-radius:0;-webkit-border-radius:0;-o-border-radius:0;-ms-border-radius:0;-khtml-border-radius:0;border-radius:0}#blog_links.section a:hover{color:#0c78d1;background-color:inherit;text-decoration:underline}#blog_links.section #rss{display:inline-block;padding:0 6px 0 28px;background:url('/images/rss.png?1262308446') no-repeat left center}#blog_links.section #archive{display:inline-block;border-left:1px solid #c6c6c6;padding-left:8px}#twitter,#delicious{-moz-border-radius:4px;-webkit-border-radius:4px;-o-border-radius:4px;-ms-border-radius:4px;-khtml-border-radius:4px;border-radius:4px;background:#f5f5f5;border:1px solid #d4d4d4;padding:5px 0;margin-bottom:20px}#twitter ul,#delicious ul{list-style-type:none;margin:0}#twitter li,#delicious li{margin:0 15px;padding:10px 0 0;border-bottom:#ddd 1px dashed}#twitter li:last-child,#delicious li:last-child{border-bottom:0}#delicious p{font-style:italic}#delicious li{color:#666;font-style:normal;padding-bottom:8px}#hire_me h4{background:url('/images/hire_me_small.png?1262308446') no-repeat left center;padding:15px 0 22px 85px;margin-bottom:0;position:relative;left:-10px}#page #social a{padding:0;margin:0;-moz-border-radius:0;-webkit-border-radius:0;-o-border-radius:0;-ms-border-radius:0;-khtml-border-radius:0;border-radius:0}#page #social a:hover{color:inherit;background-color:inherit;text-decoration:underline}#social{padding:15px 0 5px;list-style:none}#social li,#social a{display:inline-block}#social li a{-moz-opacity:0.85;-webkit-opacity:0.85;-o-opacity:0.85;-khtml-opacity:0.85;opacity:0.85;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=85);filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=85);margin:0;padding:0;border:0;outline:0;background:url('/images/social.png?1262308446') no-repeat;width:24px;height:24px;overflow:hidden;text-indent:-9999em}#social li a:hover{-moz-opacity:1;-webkit-opacity:1;-o-opacity:1;-khtml-opacity:1;opacity:1;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100)}#social li a.twitter{background-position:0px 0px}#social li a.github{background-position:0px -24px}#social li a.facebook{background-position:0px -48px}#social li a.linkedin{background-position:0px -72px}#social li a.delicious{background-position:0px -96px}#social li a.flickr{background-position:0px -120px}#page .blog{overflow:hidden;display:inline-block;margin:0 -2px;padding:2px}#page .blog{display:block}#page .blog h2{padding-top:0;margin-bottom:0.1em}#page .blog .title{text-decoration:none}#page .blog .title:hover{text-decoration:underline}#page .blog .article{border-bottom:1px solid #eee;margin-top:2.5em;padding-bottom:1.5em;position:relative}#page .blog .article:first-child{margin-top:0}#page .blog .article .meta{border-bottom:1px dashed #ddd;text-transform:uppercase;color:#777;padding:8px 0 5px;margin-bottom:1.5em;font-size:80%;letter-spacing:1px}#page .blog .pubdate{padding:15px 0;font-size:80%;color:#666;border-bottom:1px solid #eee;text-align:right}#page .blog .footer{clear:both;padding-top:24px;padding-bottom:35px}#page .blog .footer .comments_off,#page .blog .footer .metadata{color:#666}#page .blog .footer .comments_off{font-size:95%}#flash{display:inline-block;padding:15px 25px;margin:1em 0;-moz-border-radius:5px;-webkit-border-radius:5px;-o-border-radius:5px;-ms-border-radius:5px;-khtml-border-radius:5px;border-radius:5px}#flash.notice{background:#fafad2;border:1px dashed #e8e831;color:#2f2f05}#disqus_thread{padding-top:35px}#disqus_thread h3{font-size:24px}#disqus_thread a{padding:0;margin:0;-moz-border-radius:0;-webkit-border-radius:0;-o-border-radius:0;-ms-border-radius:0;-khtml-border-radius:0;border-radius:0}#disqus_thread a:hover{color:#0c78d1;background-color:inherit;text-decoration:underline}.hover_switcher{-moz-box-shadow:#ccc 1px 1px 5px;-webkit-box-shadow:#ccc 1px 1px 5px;-o-box-shadow:#ccc 1px 1px 5px;box-shadow:#ccc 1px 1px 5px;border:2px solid #aaa;display:inline-block}.hover_switcher .hide{display:none}.hover_switcher:hover .hide{display:inline-block}.hover_switcher:hover .show{display:none}#footer{position:relative;z-index:2;clear:both;padding:25px 0;color:#999;border-top:14px solid #444}#footer .page_width{overflow:hidden;display:inline-block}#footer .page_width{display:block}#footer span.credit{color:#767676;margin:0;padding:0;border:0;outline:0;padding:10px 5px 0;font-size:75%;text-transform:uppercase;float:left;display:inline-block;padding:10px 0 0 10px;color:#767676;float:left}#footer span.credit a{color:#aaa;padding:2px;margin:0 -2px;-moz-border-radius:3px;-webkit-border-radius:3px;-o-border-radius:3px;-ms-border-radius:3px;-khtml-border-radius:3px;border-radius:3px}#footer span.credit a:hover{background-color:#aaa;color:#000;text-decoration:none}#footer a.affiliate{margin:0;padding:0;border:0;outline:0;background:url('/images/association_logos.png?1262308446') no-repeat;width:34px;height:38px;overflow:hidden;float:left;display:inline-block;margin:0 5px 0 0;-moz-opacity:0.7;-webkit-opacity:0.7;-o-opacity:0.7;-khtml-opacity:0.7;opacity:0.7;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=70);filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=70);text-indent:-9999em}#footer a.affiliate:hover{-moz-opacity:1;-webkit-opacity:1;-o-opacity:1;-khtml-opacity:1;opacity:1;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100)}#footer a.affiliate:hover{background-color:none}#footer a.affiliate.compass{background-position:0px 0px}#footer a.affiliate.compass:hover{background-position:0px -38px}#footer a.affiliate.apple{background-position:-34px 0px}#footer a.affiliate.apple:hover{background-position:-34px -38px}#footer a.affiliate.terralien{background-position:-68px 0px}#footer a.affiliate.terralien:hover{background-position:-68px -38px}#header{overflow:hidden;display:inline-block;background-color:#1c1c1c}#header{display:block}#header .page_width{position:relative}#header a.title{text-indent:-9999em;overflow:hidden;text-align:left;background-image:url('/images/logo.png?1262308446');background-repeat:no-repeat;background-position:50% 50%;display:inline-block;text-decoration:none;height:64px;width:280px;float:left;position:relative;top:30px;left:6px}#search{position:absolute;left:725px;top:45px}#search form{background:url(/images/search_bg.png) no-repeat;padding:0;height:28px;width:204px}#search #q{background:none;position:relative;top:-2px;width:160px;margin-left:30px;font-size:15px;border:none;color:#aaa}#search #q:focus{outline:none}pre{margin:5px 0 15px;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;-moz-border-radius-bottomleft:4px;-webkit-border-bottom-left-radius:4px;-o-border-bottom-left-radius:4px;-ms-border-bottom-left-radius:4px;-khtml-border-bottom-left-radius:4px;border-bottom-left-radius:4px;display:block;color:#777;background:#333}.highlight .pre_expander:hover{background:#444;color:#ccc}.editor{background:#001629;line-height:1.25}pre.console{background-color:#000;color:#00ff01;letter-spacing:1px;padding:0.5em}pre.console .prompt{color:#8080ff}pre.console .prompt:before{color:#fff;content:"["}pre.console .prompt:after{color:#fff;content:"]"}pre.console .stdin{font-weight:bold;color:#fff}.highlight{padding:0 0 0.1em;color:#fff}.highlight .c{color:#998;font-style:italic}.highlight .err{color:#a61717;background-color:#e3d2d2}.highlight .n{color:#fff}.highlight .k{color:#ff9d00}.highlight .p{color:#573500}.highlight .o{color:#ff9d00}.highlight .cm{color:#998;font-style:italic}.highlight .cp{color:#999}.highlight .c1{color:#998;font-style:italic}.highlight .cs{color:#999;font-style:italic}.highlight .gd{color:#000;background-color:#fdd}.highlight .gd .x{color:#000;background-color:#faa}.highlight .ge{font-style:italic}.highlight .gr{color:#a00}.highlight .gh{color:#999}.highlight .gi{color:#000;background-color:#dfd}.highlight .gi .x{color:#000;background-color:#afa}.highlight .go{color:#888}.highlight .gp{color:#555}.highlight .gs{color:#fff}.highlight .gu{color:#aaa}.highlight .gt{color:#a00}.highlight .kc{color:#fff}.highlight .kd{color:#fff}.highlight .kp{color:#fff}.highlight .kr{color:#fff}.highlight .kt{color:#458}.highlight .m{color:#ff628c}.highlight .s{color:#d14}.highlight .na{color:teal}.highlight .nb{color:#1aff84}.highlight .nc{color:#1aff84}.highlight .no{color:#80ffbb}.highlight .ni{color:purple}.highlight .ne{color:#fd0}.highlight .nf{color:#fd0}.highlight .nn{color:#555}.highlight .nt{color:#fff}.highlight .nv{color:teal}.highlight .ow{color:#fff}.highlight .w{color:#bbb}.highlight .nl{color:#ff628c}.highlight .mf{color:#ff628c}.highlight .mh{color:#ff628c}.highlight .mi{color:#ff628c}.highlight .mo{color:#ff628c}.highlight .sb{color:#3ad900}.highlight .sc{color:#3ad900}.highlight .sd{color:#3ad900}.highlight .s2{color:#3ad900}.highlight .se{color:#3ad900}.highlight .sh{color:#3ad900}.highlight .si{color:#9eff80}.highlight .sx{color:#3ad900}.highlight .sr{color:#009926}.highlight .s1{color:#3ad900}.highlight .ss{color:#ff628c}.highlight .bp{color:#999}.highlight .vc{color:teal}.highlight .vg{color:teal}.highlight .vi{color:teal}.highlight .il{color:#ff628c}#sidebar{float:left;width:233px;margin-left:25px;color:#000;font-size:13px;line-height:1.525em}#sidebar .section{margin-left:-25px;padding:15px 0 10px 25px;border-top:1px solid #eee;border-bottom:1px solid #c6c6c6}#sidebar .section.alpha{padding-top:20px;border-top:0}#sidebar .section.omega{border-bottom:0}#sidebar h4{margin:0;font-size:32px;margin-bottom:10px}#sidebar h4 small{color:#888;font-family:"Lucida Grande", "Lucida Sans Unicode", "Trebuchet MS", Helvetica, Arial, Verdana, sans-serif;font-size:52%}#sidebar h4 small a{color:#0c78d1;padding:2px;margin:0 -2px;-moz-border-radius:3px;-webkit-border-radius:3px;-o-border-radius:3px;-ms-border-radius:3px;-khtml-border-radius:3px;border-radius:3px}#sidebar h4 small a:hover{background-color:#0c78d1;color:#fff;text-decoration:none}#blog_links.section{padding-bottom:20px}#blog_links.section a{font-size:15px;font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;font-weight:bold;color:#555;text-decoration:none;padding:0;margin:0;-moz-border-radius:0;-webkit-border-radius:0;-o-border-radius:0;-ms-border-radius:0;-khtml-border-radius:0;border-radius:0}#blog_links.section a:hover{color:#0c78d1;background-color:inherit;text-decoration:underline}#blog_links.section #rss{display:inline-block;padding:0 6px 0 28px;background:url('/images/rss.png?1262308446') no-repeat left center}#blog_links.section #archive{display:inline-block;border-left:1px solid #c6c6c6;padding-left:8px}#twitter,#delicious{-moz-border-radius:4px;-webkit-border-radius:4px;-o-border-radius:4px;-ms-border-radius:4px;-khtml-border-radius:4px;border-radius:4px;background:#f5f5f5;border:1px solid #d4d4d4;padding:5px 0;margin-bottom:20px}#twitter ul,#delicious ul{list-style-type:none;margin:0}#twitter li,#delicious li{margin:0 15px;padding:10px 0 0;border-bottom:#ddd 1px dashed}#twitter li:last-child,#delicious li:last-child{border-bottom:0}#delicious p{font-style:italic}#delicious li{color:#666;font-style:normal;padding-bottom:8px}#hire_me h4{background:url('/images/hire_me_small.png?1262308446') no-repeat left center;padding:15px 0 22px 85px;margin-bottom:0;position:relative;left:-10px}#page #social a{padding:0;margin:0;-moz-border-radius:0;-webkit-border-radius:0;-o-border-radius:0;-ms-border-radius:0;-khtml-border-radius:0;border-radius:0}#page #social a:hover{color:inherit;background-color:inherit;text-decoration:underline}#social{padding:15px 0 5px;list-style:none}#social li,#social a{display:inline-block}#social li a{-moz-opacity:0.85;-webkit-opacity:0.85;-o-opacity:0.85;-khtml-opacity:0.85;opacity:0.85;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=85);filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=85);margin:0;padding:0;border:0;outline:0;background:url('/images/social.png?1262308446') no-repeat;width:24px;height:24px;overflow:hidden;text-indent:-9999em}#social li a:hover{-moz-opacity:1;-webkit-opacity:1;-o-opacity:1;-khtml-opacity:1;opacity:1;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100)}#social li a.twitter{background-position:0px 0px}#social li a.github{background-position:0px -24px}#social li a.facebook{background-position:0px -48px}#social li a.linkedin{background-position:0px -72px}#social li a.delicious{background-position:0px -96px}#social li a.flickr{background-position:0px -120px}#twitter p{padding-bottom:10px}#twitter p a.topic{color:#888}#twitter .meta{color:#999;font-size:80%;display:block;padding:8px 0 0}#twitter .meta a{color:inherit;text-decoration:none}#twitter .meta a:hover{text-decoration:underline;color:#fff;background-color:#aaa}#footer{position:relative;z-index:2;clear:both;padding:25px 0;color:#999;border-top:14px solid #444}#footer .page_width{overflow:hidden;display:inline-block}#footer .page_width{display:block}#footer span.credit{color:#767676;margin:0;padding:0;border:0;outline:0;padding:10px 5px 0;font-size:75%;text-transform:uppercase;float:left;display:inline-block;padding:10px 0 0 10px;color:#767676;float:left}#footer span.credit a{color:#aaa;padding:2px;margin:0 -2px;-moz-border-radius:3px;-webkit-border-radius:3px;-o-border-radius:3px;-ms-border-radius:3px;-khtml-border-radius:3px;border-radius:3px}#footer span.credit a:hover{background-color:#aaa;color:#000;text-decoration:none}#footer a.affiliate{margin:0;padding:0;border:0;outline:0;background:url('/images/association_logos.png?1262308446') no-repeat;width:34px;height:38px;overflow:hidden;float:left;display:inline-block;margin:0 5px 0 0;-moz-opacity:0.7;-webkit-opacity:0.7;-o-opacity:0.7;-khtml-opacity:0.7;opacity:0.7;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=70);filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=70);text-indent:-9999em}#footer a.affiliate:hover{-moz-opacity:1;-webkit-opacity:1;-o-opacity:1;-khtml-opacity:1;opacity:1;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100)}#footer a.affiliate:hover{background-color:none}#footer a.affiliate.compass{background-position:0px 0px}#footer a.affiliate.compass:hover{background-position:0px -38px}#footer a.affiliate.apple{background-position:-34px 0px}#footer a.affiliate.apple:hover{background-position:-34px -38px}#footer a.affiliate.terralien{background-position:-68px 0px}#footer a.affiliate.terralien:hover{background-position:-68px -38px}body#work #main h2{margin-top:0;margin-bottom:0.2em;padding:0 2px;line-height:1.2em}body#work #main p em{font-family:Georgia, Times, "Times New Roman", serif;font-size:90%;color:#666;font-style:italic}body#work #main .section{border-top:1px solid #eee;padding:25px 2px 15px;overflow:hidden;display:inline-block}body#work #main .section{display:block}body#work #main .section.alpha{border:none;padding-top:0}body#work #main .section p,body#work #main .section .footer{font-size:85%;line-height:1.5em}body#work #main .section img{border:1px solid #ccc;background:#fff;-moz-border-radius:4px;-webkit-border-radius:4px;-o-border-radius:4px;-ms-border-radius:4px;-khtml-border-radius:4px;border-radius:4px;padding:3px}body#work #main .section h3{line-height:1.2em;margin-top:0;margin-bottom:0.4em}body#work #main .section .soft{color:#666;width:48%}body#work #main .section .soft.block{border-top:1px solid #eee;border-bottom:1px solid #eee;display:block;padding:3px 0;margin-bottom:1em}
