@namespace url(http://www.w3.org/1999/xhtml);
@namespace svg url(http://www.w3.org/2000/svg);

html,body {
height:100%;
background:#FFF;
margin:0;
padding:0;
}

#root {
position:relative;
min-height:100%;
}

#masthead {
position:absolute;
top:0;
left:0;
width:100%;
height:115px;
z-index:10;
background:#BBBBBF url(/art/masthead.jpg) bottom right no-repeat;
overflow:hidden;
}

#left {
position:absolute;
top:0;
left:0;
width:200px;
min-height:100%;
background:#FFD;
}

#sidebar {
padding-top:115px;
text-align:left;
}

#main {
padding-top:116px;
padding-left:200px;
padding-bottom:1.7em;
}

#footer {
position:absolute;
bottom:0;
left:0;
right:0;
height:1.7em;
line-height:1.7em;
padding:0 .2em;
}

#footer .copyright {
text-align:right;
color:#777;
}

body {
color:#000;
font-family:sans-serif;
}

acronym,dfn,abbr {
cursor:help;
border-bottom-style:dotted;
border-bottom-width:1px;
font-style:inherit;
}

label {
font-weight:700;
cursor:default;
color:#555;
}

label.soft {
font-weight:400;
color:inherit;
}

a img {
border-style:none;
}

a img.bordered {
border-style:solid;
}

a:link {
color:#00A;
}

a[href]:hover,#content a[href]:focus {
color:#06F;
}

a:active {
color:#669;
}

form {
margin:0;
padding:0;
}

fieldset {
border-style:none;
margin:0;
padding:0;
}

fieldset.visible {
border-style:groove;
padding:.35em .625em .75em;
}

h2 {
font-size:170%;
font-weight:700;
}

h3 {
border-bottom:solid 1px #999;
color:#222;
font-size:120%;
font-weight:400;
margin-top:1.5em;
}

h4 {
font-size:100%;
font-weight:700;
margin:1em 0 .75em;
}

strong.header {
margin-right:.5em;
}

#crumbs {
background:#676;
color:#FFF;
}

#crumbs a {
color:inherit;
}

#crumbs p {
margin:0;
padding:.3em;
}

#crumbs .meta {
float:right;
color:#FFF;
font-size:100%;
}

#crumbs .search {
float:right;
padding:0 .1em 0 0;
}

#crumbs .search form {
display:inline;
margin:0;
padding:0;
}

#crumbs .search input {
background:#FFF;
width:10em;
margin:0;
}

#content {
line-height:150%;
text-align:justify;
padding:.5em 1em;
}

#content h2 {
margin-top:.5em;
line-height:1.2em;
}

a.github-ribbon span {
display:block;
height:10px;
}

a.github-ribbon span.first {
margin-top:-.5em;
}

a.github-ribbon.left span {
float:left;
clear:left;
margin-left:-1em;
background-image:url(/art/github-ribbons/forkme_left_darkblue_121621.png);
}

a.github-ribbon.left:hover span,a.github-ribbon.left:focus span {
background-image:url(/art/github-ribbons/forkme_left_red_aa0000.png);
}

a.github-ribbon.right span {
float:right;
clear:right;
margin-right:-1em;
background-image:url(/art/github-ribbons/forkme_right_darkblue_121621.png);
}

a.github-ribbon.right:hover span,a.github-ribbon.right:focus span {
background-image:url(/art/github-ribbons/forkme_right_red_aa0000.png);
}

.github-ribbon-preload {
background:url(/art/github-ribbons/forkme_right_red_aa0000.png) no-repeat -200px -200px;
}

img.about_portrait {
float:left;
width:76px;
height:108px;
margin:.3em 2em .5em 1.5em;
}

#masthead h1 {
position:absolute;
top:.65em;
left:1em;
font-size:170%;
font-weight:700;
margin:0;
}

#masthead h1 a {
color:#565;
text-decoration:none;
}

#masthead h1 img {
vertical-align:middle;
margin-right:.1em;
border:none;
}

#masthead h1 svg|svg {
vertical-align:middle;
margin-right:.1em;
border:none;
width:auto;
height:1.3em;
}

#masthead h1 svg|path {
fill:#565;
}

#masthead ul.tabs {
position:absolute;
left:.5em;
bottom:0;
margin:0;
padding:0;
}

#masthead ul.tabs li {
list-style-type:none;
display:inline;
margin:0;
padding:0;
}

#masthead ul.tabs a {
display:block;
float:left;
text-decoration:underline;
color:#000;
position:relative;
margin:0 0 0 1em;
padding:0 7px;
}

#masthead ul.tabs a .t {
display:block;
background:url(/art/white.png) repeat;
padding:.3em;
}

#masthead ul.tabs a .c {
position:absolute;
top:0;
bottom:0;
width:7px;
background-image:url(/art/rounded_corners.png);
background-repeat:no-repeat;
}

#masthead ul.tabs a .c.l {
left:0;
background-position:top left;
}

#masthead ul.tabs a .c.r {
right:0;
background-position:top right;
}

#masthead .preload1 {
background:url(/art/white-hover.png) no-repeat -100px -100px;
}

#masthead .preload2 {
background:url(/art/rounded_corners-hover.png) no-repeat -100px -100px;
}

#sidebar div {
padding-left:.5em;
padding-right:.5em;
}

#sidebar h2 {
border-bottom:2px solid;
color:#575;
font-size:130%;
font-weight:700;
margin:1em 0 .5em;
}

#sidebar ul {
list-style-type:none;
margin:.5em 0;
padding:0;
}

#sidebar ul li {
margin:0;
padding:0;
}

#sidebar a {
color:#121;
}

#sidebar ul.links a {
display:block;
margin:.1em 0;
padding:1px;
}

#sidebar ul.navbar,#sidebar ul.navbar ul {
margin:.1em 0 .6em;
}

#sidebar ul.navbar a,#sidebar ul.navbar span.active {
display:block;
padding:1px .3em;
}

#sidebar ul.navbar ul a,#sidebar ul.navbar ul span.active {
padding-left:1.3em;
}

#sidebar ul.navbar ul ul a,#sidebar ul.navbar ul ul span.active {
padding-left:2.6em;
}

#sidebar ul.navbar ul ul ul a,#sidebar ul.navbar ul ul ul span.active {
padding-left:3.9em;
}

#sidebar ul.other a {
margin-top:.4em;
}

#sidebar h2 .feed_icon {
display:block;
float:right;
height:.8em;
vertical-align:middle;
}

.clearer {
display:block;
clear:both;
margin:0;
padding:0;
}

code,kbd,samp,var {
display:inline;
font-style:normal;
font-weight:400;
}

blockquote.pre,code.block,kbd.block,samp.block {
display:block;
line-height:150%;
overflow:auto;
font-family:monospace;
border:dotted 1px;
background:inherit;
margin:.5em 1em 0;
padding:.3em .4em;
}

blockquote.pre,code.pre,kbd.pre,samp.pre {
white-space:pre;
}

kbd,samp {
background:#FFC;
color:#306;
}

code,var {
color:#060;
}

span.arg {
font-style:italic;
font-family:monospace;
}

code.block.terminal,kbd.block.terminal,samp.block.terminal {
background:#002;
color:#DDD;
border:none;
}

kbd.cmd span.prompt-user:before {
content:"$ ";
}

kbd.cmd span.prompt-root:before {
content:"# ";
}

img.float-left {
float:left;
margin:0 1em 1em 0;
}

img.float-right {
float:left;
margin:0 0 1em 1em;
}

.img-block {
margin:.5em 1em 0;
}

.img-block.captioned {
background:#F0F0F0;
text-align:center;
padding:1em;
}

.img-block.captioned.align-center {
margin-left:auto;
margin-right:auto;
}

.tldr {
font-style:italic;
line-height:1.5em;
}

.math {
font-style:italic;
white-space:nowrap;
}

.math .prose {
font-style:normal;
}

table.equations {
margin-left:3em;
}

table.equations .left {
text-align:right;
}

table.equations .remark {
padding-left:2em;
}

.pygments {
border:dotted 1px;
line-height:150%;
overflow:auto;
font-family:monospace;
background:#FFF;
margin:.5em 1em 0;
padding:.3em .4em;
}

.pygments .hll {
background-color:#FFC;
}

.pygments .err {
color:#a61717;
background-color:#e3d2d2;
}

.pygments .cp {
color:teal;
}

.pygments .cs {
color:#080;
font-weight:700;
}

.pygments .gd {
color:#000;
background-color:#FDD;
}

.pygments .gh {
color:#999;
}

.pygments .gi {
color:#000;
background-color:#DFD;
}

.pygments .go {
color:#888;
}

.pygments .gp {
color:#555;
}

.pygments .gu {
color:#AAA;
}

.pygments .na {
color:red;
}

.pygments .w {
color:#BBB;
}

.pygments .sc {
color:purple;
}

.home-page .col {
float:left;
}

.home-page .col.left {
width:55%;
}

.home-page .col.right {
width:45%;
}

.home-page .col.left .inner {
margin-right:1em;
}

.home-page .col.right .inner {
margin-left:1em;
}

.home-page .clearer {
clear:both;
}

.home-page .col h2 {
font-weight:700;
font-size:100%;
color:#444;
font-variant:small-caps;
border-bottom:solid #444 1px;
margin:0 0 .5em;
}

.home-page .col h2 .feed_icon {
display:block;
float:right;
height:1em;
vertical-align:middle;
}

.home-page .col h3 {
font-size:160%;
font-weight:700;
border:none;
text-align:left;
line-height:120%;
margin:0;
}

.home-page .blog_post h3 {
margin-bottom:.3em;
}

.home-page .blog_post p.date {
color:#444;
margin:0;
}

.home-page .blog_post .tldr {
font-style:italic;
max-width:none;
padding:0;
}

.home-page .photo-of-the-day h2 {
margin-bottom:1em;
}

.home-page .photo-of-the-day h3 {
margin-bottom:.5em;
}

.home-page .photo-of-the-day .photo {
float:left;
background:#FFF;
border:solid #000 1px;
margin:0 1em 1em 0;
padding:0;
}

.home-page .photo-of-the-day .photo a {
display:block;
margin:0;
padding:0;
}

.home-page .photo-of-the-day .photo img {
display:block;
border:none;
margin:0;
padding:0;
}

.home-page .photo-of-the-day .album {
font-style:italic;
margin:0;
}

.cms .policy {
color:#555;
font-style:italic;
}

.cms .requirement {
color:#555;
font-style:italic;
margin-left:.5em;
}

.cms .info-line {
color:#555;
clear:both;
}

.donate .bitcoin {
margin:1em 0;
}

.donate .bitcoin img {
vertical-align:middle;
}

.cms.blog.main .blog_post .date {
font-weight:700;
color:#444;
font-variant:small-caps;
border-bottom:solid #444 1px;
margin:0 0 1.2em -.7em;
}

.cms.blog.main .blog_post h3 {
border:none;
font-size:160%;
font-weight:700;
margin:0 0 .7em;
}

.cms.blog .blog_post .content {
line-height:170%;
color:#111;
font-size:115%;
max-width:50em;
}

.cms.blog .blog_post .info {
color:#666;
margin-top:1.3em;
}

.cms.blog .blog_post .info a:hover {
color:#333;
}

.cms.blog .promotion {
background:#EEE;
min-height:72px;
position:relative;
margin:3em 0 2em;
padding:.5em;
}

.cms.blog .promotion p {
margin:.5em 0 0 72px;
padding:0 0 0 .5em;
}

.cms.blog .promotion p.photo {
position:absolute;
top:0;
bottom:0;
left:0;
width:72px;
margin:0;
padding:.5em;
}

#sidebar.blog ul a {
display:block;
padding:1px;
}

#sidebar.blog .guest_pass_form ul a {
display:inline;
padding:0;
}

#sidebar.blog div.post_nav {
padding:1em 0;
}

#sidebar.blog div.post_nav p {
width:50%;
min-height:1px;
float:left;
text-align:center;
margin:0;
padding:0;
}

table.blog_post_index th {
text-align:right;
vertical-align:top;
font-weight:400;
color:#444;
padding-right:.5em;
}

.cms.photos div.album {
margin-bottom:2em;
}

.cms.photos div.album h3 {
font-size:120%;
font-weight:700;
border:none;
padding-top:0;
margin:0 0 .7em;
}

.cms.photos div.album .highlight {
float:left;
padding-right:1em;
background:#FFF;
width:200px;
text-align:center;
position:relative;
z-index:10;
margin:0;
}

.cms.photos div.album .desc {
margin-top:1em;
font-style:italic;
}

.cms.photos p.thumbnail {
display:inline-block;
width:250px;
text-align:center;
margin:0 0 .5em;
}

.cms.photos p.thumbnail a {
display:inline-block;
color:#00A;
padding:20px;
}

.cms.photos p.thumbnail img {
display:block;
border:solid #000 1px;
margin:0 auto 1em;
}

.cms.photos p.thumbnail .title {
display:block;
font-weight:700;
}

#sidebar.photos div.desc {
padding-left:0;
font-style:italic;
}

#sidebar.photos div.nav {
margin:0 10px;
padding:1em 0 0;
}

#sidebar.photos div.nav p.thumb {
width:50%;
min-height:1px;
float:left;
margin:0;
padding:0;
}

#sidebar.photos div.nav p.thumb a {
display:block;
text-decoration:none;
width:75px;
margin:0 auto;
padding:7px;
}

#sidebar.photos div.nav p.thumb a span {
display:block;
text-decoration:underline;
text-align:center;
}

#sidebar.photos div.nav p.thumb a img {
display:block;
border:none;
margin:0 auto 5px;
padding:0;
}

#sidebar.photos div.nav p.all {
text-align:center;
clear:both;
}

#sidebar.photos ul.sizes {
display:inline;
margin:0;
padding:0;
}

#sidebar.photos ul.sizes li {
list-style-type:none;
display:inline;
margin:0;
padding:0;
}

#sidebar.photos ul.sizes a {
display:block;
float:left;
border:solid #666 1px;
background:#DDD;
font-weight:400;
text-align:center;
color:#000;
text-decoration:none;
margin:0 .5em .5em 0;
padding:.2em;
}

#sidebar.photos ul.sizes a:hover {
background:#D0D0D0;
}

#sidebar.photos ul.sizes a.selected {
background:#BBB;
font-weight:700;
}

#sidebar.photos ul.sizes li.small a {
width:2em;
line-height:1em;
height:1em;
}

#sidebar.photos ul.sizes li.medium a {
width:3.1em;
line-height:1.55em;
height:1.55em;
}

#sidebar.photos ul.sizes li.large a {
width:4.1em;
line-height:2.05em;
height:2.05em;
}

.tip-summary h3 {
font-size:100%;
font-weight:700;
float:left;
margin:0 0 .5em;
}

.tip-summary p.date {
clear:none;
float:right;
font-size:100%;
font-weight:400;
margin:0;
}

.tip-summary p {
clear:both;
margin:0;
}

.tip-summary {
margin:0 0 1em;
}

.tips h3.tip {
border:none;
}

#sidebar.tips p.nav {
margin:.2em 0;
}

.comment h4 {
font-size:100%;
margin-bottom:1.4em;
}

.comment {
margin:1em 0 2em .75em;
}

.comment .info-line {
margin-bottom:0;
}

.comments .level {
margin-left:.75em;
}

.comments .level .level {
margin-left:2em;
}

.comments .level .comment {
margin-left:0;
}

.post_comment_form div.preview .comment {
background:#FFC;
padding:.5em;
}

.post_comment_form div.errors {
background:#FCC;
padding:.3em .4em;
}

.post_comment_form div.errors h4 {
font-size:100%;
font-weight:700;
margin:.1em;
}

.post_comment_form div.errors ul {
margin:.4em 0 .2em;
}

#skiptocontent,legend,#masthead h2,span.fluff {
display:none;
}

#footer p,fieldset.visible p.singular,code.block p,kbd.block p,samp.block p,.img-block p,.img-block img,.pygments pre,.donate .bitcoin p,#sidebar.tips p.info,.post_comment_form div.errors p {
margin:0;
}

strong,#sidebar ul.navbar span.active,ul.linklist li a,ol.linklist li a,.pygments .gs,.pygments .ow,.cms .info-line .permalink,.donate .bitcoin a span,.tip-summary h3 a {
font-weight:700;
}

em,span.replaceable,.proper.play,.latin,.pygments .ge,.cms .item-info {
font-style:italic;
}

a[href],.home-page .col h3 a:hover,.cms.blog.main .blog_post h3 a:hover {
text-decoration:underline;
}

a:visited,.cms.photos p.thumbnail a:visited {
color:#639;
}

input[type=text]:focus,input[type=password]:focus,textarea:focus,input[type=checkbox]:focus + label {
background:#EEE;
}

fieldset.visible legend,#sidebar.tips ul a {
display:block;
}

h2 + div > h3,h4 + p,.cms.blog .promotion p.first {
margin-top:0;
}

#masthead ul.tabs a:hover .t,#masthead ul.tabs a:focus .t {
background-image:url(/art/white-hover.png);
}

#masthead ul.tabs a:hover .c,#masthead ul.tabs a:focus .c {
background-image:url(/art/rounded_corners-hover.png);
}

#sidebar a:hover,#sidebar a:focus,#sidebar ul.links a:hover,#sidebar.blog a:focus,#sidebar ul.navbar a:hover,#sidebar.blog a:hover,#sidebar.blog a:focus,.cms.photos p.thumbnail a:hover,#content .cms.photos p.thumbnail a:focus,#sidebar.photos a:hover,#sidebar.photos a:focus,#sidebar.photos div.nav p.thumb a:hover,#sidebar.photos div.nav p.thumb a:focus,#sidebar.tips a:hover,#sidebar.tips a:focus {
background:#DDD;
}

#sidebar h2 a.feed_icon:hover,#sidebar h2 a.feed_icon:focus,.home-page .col h2 a.feed_icon:hover,.home-page h2 a.feed_icon:focus {
background:inherit;
}

#sidebar h2 .feed_icon svg|svg,.home-page .col h2 .feed_icon svg|svg {
height:100%;
width:auto;
}

.nobr,code.block,kbd.block,samp.block,#sidebar .guest_pass_form ul .expiration {
white-space:nowrap;
}

.img-block.align-center,table.equations .op {
text-align:center;
}

.pygments .c,.pygments .cm,.pygments .c1 {
color:#080;
font-style:italic;
}

.pygments .k,.pygments .kc,.pygments .kd,.pygments .kn,.pygments .kp,.pygments .kr,.pygments .kt,.pygments .nt {
color:navy;
font-weight:700;
}

.pygments .gr,.pygments .gt {
color:#A00;
}

.pygments .m,.pygments .s,.pygments .mf,.pygments .mh,.pygments .mi,.pygments .mo,.pygments .sb,.pygments .sd,.pygments .s2,.pygments .se,.pygments .sh,.pygments .si,.pygments .sx,.pygments .sr,.pygments .s1,.pygments .ss,.pygments .il {
color:#00F;
}

.home-page .col h3 a,.cms.blog.main .blog_post h3 a {
color:inherit;
text-decoration:none;
}

.home-page .blog_post,.cms.blog.main .blog_post {
margin:1em 0 3em .7em;
}

.home-page .photo-of-the-day,table.blog_post_index td {
text-align:left;
}

.cms .disclaimer,.cms.blog .blog_post .info a {
color:#666;
}

#sidebar.blog ul.recent a,.cms.photos div.album .info {
margin:.3em 0;
}

#sidebar.blog div.post_nav a,#sidebar.photos div.nav p.all a {
padding:.2em;
}

.cms.photos div.album .highlight img,.cms.photos .photo img {
border:solid #000 1px;
}

#sidebar.photos table.info,#sidebar.tips table.info {
border-collapse:collapse;
margin:0;
}

#sidebar.photos table.info th,#sidebar.tips table.info th {
font-weight:700;
text-align:right;
padding:.1em .5em .1em 0;
}

#sidebar.photos table.info td,#sidebar.tips table.info td {
font-weight:400;
padding:.1em 0 .1em .5em;
}
