/* Style sheet for nedbatchelder.com */
body {
	font-size: 101%;  /* Trick to shut off divergent font rounding algorithms. */
	font-family: verdana, sans-serif;
	margin: 0;
	padding: 0;
	background-color: #999;
	background: url(pix/hilbert.gif);
}

table#logo_banner {
	width: 840px;
	border: 5px solid #999;
}

td#logo {
	width: 120px;
	border-right: 5px solid #999;
	background: #fff;
}

td#banner {
 	width: 695px;
 	padding: 10px;
	background: #fff;
	text-align: left;
	font-size: 85%;
}

table#content_menu {
	width: 840px;
	border: 5px solid #999; border-top-width: 0;
}

td#menu {
	width: 175px;
	border-left: 5px solid #999;
	padding: 10px;
	background: #eee;
	text-align: left;
	font-size: 70%;
}

td#content {
	width: 620px;
	padding: 10px;
	background: #fff;
	font-family: verdana, sans-serif;
	font-size: 80%;
	text-align: left;
}

td#copyright {
	padding: 0 10px;
	border-top: 5px solid #999;
	text-align: left;
	background: #eee;
	color: black;
}

.dn {
	display: none !important;
}

p,h1,h2,h3,h4,h5,h6 {
	padding: 0;
	margin: 1em 0;
}

#menu p, #menu li, #menu blockquote {
	line-height: 1.1em;
}

/* Not sure why I made listed blockquotes smaller text... */
/* Changed my mind: they aren't smaller. */
li blockquote {
	font-size: 100%;
}

/* ..but we don't want to do it for listed code. */
li blockquote.code {
	font-size: 100%;
}

h1,h2,h3,h4,h5,h6 {
	font-family: verdana, sans-serif;
}

.first {
	margin-top: 0;
}

.body {
	line-height: 1.5em;
}

/* H1's have a line underneath them. */
.body h1 {
	font-size: 100%;
	border-bottom: 1px solid silver;
}

.body h2 {
	font-size: 100%;
}

/* H3's are run-in with the text. */
.body h3 {
	font-size: 100%; display: inline; line-height: 1.35em;
	float: left;
	margin: 0 1.5em 0 0;
}

.body table {
	border-collapse: collapse;
	margin-left: auto;
	margin-right: auto;
}

.body td {
	border: 1px solid #ccc;
	vertical-align: top;
	padding: .25em .5em;
}

.body th {
	border: 1px solid #ccc;
	border-bottom: 1px solid #999;
	vertical-align: top;
	padding: .25em .5em;
}

.body #comments td {
	border-width: 0px;
}

.copyright {
	font-size: 70%;
	font-style: italic;
	color: #333;
}

.copyright a {
	text-decoration: none;
	color: #333;
}

.copyright a:hover {
	text-decoration: underline;
	color: red;
}

.dateline {
	font-family: verdana, sans-serif;
	margin-top: 0;
	text-align: right;
	font-size: 85%;
	font-style: italic;
	color: gray;
}

.docinfo {
	font-family: verdana, sans-serif;
	margin-top: 0;
	margin-left: 35%;
	width: 65%;
	text-align: right;
	font-size: 85%;
	font-style: italic;
	color: gray;
}

ul {
	margin-top: .5em;
	margin-bottom: .5em;
	list-style-type: square;
}

li {
	margin-bottom: .4em;
}

ul li ul {
	margin-top: .5em;
}

dl {
	margin-top: .5em;
	margin-bottom: .5em;
}
dt,dd {
	margin-bottom: .4em;
}

.sidebar
{ line-height: 1.1em; margin-top: 0; font-weight: bold }

.sidebar a
{ text-decoration: none; color: black }

.sidebar a:hover
{ text-decoration: underline; color: red }

.blogroll
{ font-weight: normal; line-height: 1.1em }

.blogroll ul
{ list-style-type: none; padding-left: 0; margin-left: 0 }

.blogroll ul li
{ font-size: 100%; font-weight: bold; margin-bottom: 1.5em }

.blogroll ul li ul li
{ font-weight: normal; margin-top: .8em; margin-bottom: 0 }

.blogroll ul li ul.compact
{ font-weight: normal; margin-top: .4em; margin-bottom: 0 }

.blogroll ul li ul.compact li
{ font-weight: normal; margin-top: .4em; margin-bottom: 0 }

a.s
{ text-decoration: none; color: black }

a.s:hover
{ text-decoration: underline; color: red }

.headslug
{ font-size: 170%; font-weight: bold; line-height: 150%; }

.mainslug
{ font-size: 200%; font-weight: bold }

.path
{ line-height: 150% }

.path a
{ text-decoration: none; color: black }

.path a:hover
{ text-decoration: underline; color: red }

.blog-entry .head {
	font-family: verdana, sans-serif;
	padding-bottom: .2em; margin-bottom: 0;
}

.blog-entry .foot {
	font-family: verdana, sans-serif;
	font-size: 85%; color: gray;
	font-style: italic;
	border-bottom: solid 1px silver;
	padding-bottom: 12pt; margin-bottom: 6pt;
}

.blog-entry .foot a
{ text-decoration: none; color: gray }

.blog-entry .foot a:hover
{ text-decoration: underline; color: red }

.blog-entry .title {
	margin: 0;
	font-size: 115%;
	font-weight: bold;
	display: block; float: none;
}

.blog-entry .date {
	font-size: 85%; 
	color: gray; margin: 0; padding: 0;
}

.blog-entry .date a.s {
	color: gray;
}

.blog-entry p {
	margin: 0 0 1em 0;
	clear: both;
}

.blog-entry .via { 
	float: right 
}

/* The style for blog entries highlighted by being a fragment target. */
.hilitefragment {
	background: #ffa;
	padding: 1em 1em 0 1em;
	border: 1px solid #880;
}

/* Archive page: make the dates hang left to align all the titles. */

.archive p {
	font-size: 100%;
	font-family: verdana, sans-serif;
	margin: 0 0 0 5.5em;
	line-height: 1.45em;
}

.archive p.date {
	width: 5em;
	text-align: right;
	padding: 0 0 0 0;
	margin: 0 0 -1.45em 0;
	color: gray;
}

/* Category page: Like archive, but the dates are wider. */

.category p {
	font-size: 100%;
	font-family: verdana, sans-serif;
	margin: 0 0 0 8.5em;
	line-height: 1.45em;
}

.category p.date {
	width: 8em;
	text-align: right;
	padding: 0 0 0 0;
	margin: 0 0 -1.45em 0;
	color: gray;
}

.catlist p {
	margin: 0 0 0 10.5em;
	line-height: 1.45em;
}

.catlist p.catname {
	padding: 0 0 0 0;
	margin: 0 0 -1.45em 0;
	width: 10em;
	text-align: right;
	font-weight: bold;
}

.also {
	font-size: 85%; color: gray;
	font-style: italic; text-decoration: none;
}

.also a {
	text-decoration: none; color: gray
}

.also a:hover {
	text-decoration: underline; color: red
}

/* Monthly pages: prev/main/next links at the top and bottom. */
.pmntop {
	border-bottom: solid 1px silver;
	padding: 0 0 2em 0;
	margin: 0 0 .5em 0;
}

.pmnbot {
    padding: 0;
    margin: 3em 0 1.5em 0;
}

.pmn {
	font-family: verdana, sans-serif;
}

.pmn span {
	font-size: 80%;
    display: block;
    line-height: 1em;
    margin: 0 0 -1em 0;
}

.pmn .p {
    text-align: left;
}
.pmn .m {
    text-align: center;
}
.pmn .n {
    text-align: right;
}

/* Block quotes */
blockquote {
	font-size: 100%;
	margin: 1em 2em;
	border-left: 1px solid #c0c0c0;
	padding: 0;
	background-color: #f0f0f0;
}

blockquote div {
	margin: 0;
	padding: .6em 1em .1em 1em;
}

blockquote div p {
	margin: .4em 0;
}

blockquote div ol {
	margin: .4em 0;
	padding-left: 1.5em;
}

blockquote div ul {
	margin: .4em 0;
	padding-left: 1.5em;
}

tt {
	font-size: 90%; line-height: 130%;
	font-family: "courier new", monospace;
}

.code {
	padding: .3em;
	border: none;
	white-space: nowrap;
	overflow: auto;
	width: 540px;
	line-height: 1;
}

/* Code samples can't be as wide in a list element.. */
ul .code, ol .code, li .code {
	width: 510px;
}
dd .code {
	width: 500px;
}
dd li .code {
	width: 470px;	/* even narrower doubly-nested. */
}

.code a {
	text-decoration: none;
}

.code p.name {
	text-align: right;
	font-style: italic;
	margin: 0 0 -1em 0;
	padding: 0;
}

.code .linenumber
{
	background: #f8f8f8;
	color: #aaa;
	font-size: 80%;
	text-align: right;
	padding: .7em .8em;
	border-right: 1px solid #bbb;
	margin: 0 .5em 0 -.4em;
}

.codeword {
	font-size: 100%;
	font-family: "lucida console", monospace;
	background-color: #e8e8e8;
}

.box {
	border: 1px solid;
	border-color: #ccc #999 #999 #ccc;
	padding: .3em .6em;
	background-color: #ffc;
}

img {
	border: none;
}

.body img {
	margin: 0 .5em;	/* So that side-by-side images will have some space between them */
}

.body img.floatimg {
	float: left;
	margin: 0 1.5em .8em 0;
}

.tweet a.user, .tweet a.date {
	text-decoration: none; color: inherit;
}

.tweet a.user:hover, .tweet a.date:hover {
	text-decoration: underline; color: inherit;
}

.comments {
	font-family: verdana, sans-serif;
}

.comments h1 {
	border: none;
	margin: 0;
	padding: 1em;
	background: #eee;
}

.comments h2 {
	border: none;
	border-top: 1px solid #eee;
	margin: 0 0 1em 0;
	padding: 1em 0 .5em 0;
	font-style: italic; font-weight: normal;
}

.comment .who {
	font-family: verdana, sans-serif;
	float: left;
}

.comment .who a {
	color: black;
}

.comment .when {
	font-family: verdana, sans-serif;
	float: right;
	font-size: 85%; color: gray; margin-top: 0;
}

.comment .head {
	margin-bottom: 20pt;
}

.comment img.gravatar {
	float: left;
	margin: 3px 0 0 -50px;
	border: 1px solid #eee;
}

.comments .comment {
	font-family: georgia, serif;
	border-top: solid 1px #eee;
	padding: .5em 10pt 0 50px;
	margin-top: 6pt;
	overflow: auto;
	width: 540px;
}

.comments .comment.preview {
	background-color: #ffff80;
	border: 1px solid #cccccc;
	padding: .5em 10pt 0 54px;
}

.comments #commentform {
	margin-top: 6pt;
	border-top: solid 1px #eee;
	padding-top: 0;
}

.comments .notice {
	font-size: 90%;
	color: gray;
}

.comments .label {
	font-size: 90%;
	text-align: right;
	color: #666666;
	margin-right: 6px;
	width: 42px;
}

.comment .commenttext {
	clear: right
}

.comments .errormsg {
	color: #800;
	font-weight: bold;
	background: #faa;
	padding: 2pt 4pt;
	border: 1px solid red;
	margin: 0;
}

/* Search word highlighting */
.searchword0 {
	background-color: #CFFFB9;	/* green */
	text-decoration: inherit;
}

.searchword1 {
	background-color: #FFCFCF;	/* pink */
	text-decoration: inherit;
}

.searchword2 {
	background-color: #DCDAFF;	/* blue */
	text-decoration: inherit;
}

.searchwelcome {
	border: solid 1px silver;
	background: #ffc;
	margin-bottom: 2em;
	padding: 0 1em;
}

/* Google Ads box */
.googleads {
	margin-top: 2em;
	text-align: center;
}

/* Sphinx-generated module documentation.  Easier to change the CSS than the .py... */
tt.descname, tt.descclassname {
	font-weight: bold;
	font-family: verdana, sans-serif;
	}
em.property {
	font-style: normal;
	}
.internal.reference em, .external.reference em {
	font-style: normal;
	}

/* Code styling.  There are a lot of different styles! */

.code .c_commentline,
.code .c_comment,
.code .p_commentline,
.code .h_comment,
.code .css_comment,
.code .hphp_comment,
.code .hphp_commentline,
.code .ps_comment,
.code .ps_dsc_comment,
.code .ps_dsc_value
{ color: #080; }

.code .c_word,
.code .c_preprocessor,
.code .p_word,
.code .h_tag,
.code .h_tagunknown,
.code .css_identifier,
.code .css_unknown_identifier,
.code .hphp_word,
.code .ps_keyword
{ font-weight: bold; color: #008 }

.code .h_attribute,
.code .h_attributeunknown
{ color: #008 }

.code .c_string,
.code .c_character,
.code .p_string,
.code .p_character,
.code .p_triple,
.code .p_tripledouble,
.code .h_doublestring,
.code .h_singlestring,
.code .css_doublestring,
.code .css_singlestring,
.code .hphp_hstring,
.code .hphp_simplestring,
.code .ps_text
{ color: #808; }

.code .p_classname,
.code .p_defname,
.code .css_class,
.code .css_pseudoclass,
.code .css_unknown_pseudoclass,
.code .css_tag,
.code .ps_literal
{ font-weight: bold; color: #088; }


/* Adapted from https://github.com/richleland/pygments-css/blob/master/vs.css */
.code .hll { background-color: #ffffcc }
.code .c { color: #008000 } /* Comment */
.code .err { border: 1px solid #FF0000 } /* Error */
.code .k { color: #000080; font-weight: bold } /* Keyword */
.code .cm { color: #008000 } /* Comment.Multiline */
.code .cp { color: #0000ff } /* Comment.Preproc */
.code .c1 { color: #008000 } /* Comment.Single */
.code .cs { color: #008000 } /* Comment.Special */
.code .ge { font-style: italic } /* Generic.Emph */
.code .gh { font-weight: bold } /* Generic.Heading */
.code .gp { font-weight: bold } /* Generic.Prompt */
.code .gs { font-weight: bold } /* Generic.Strong */
.code .gu { font-weight: bold } /* Generic.Subheading */
.code .kc { color: #0000ff } /* Keyword.Constant */
.code .kd { color: #0000ff } /* Keyword.Declaration */
.code .kn { color: #0000ff } /* Keyword.Namespace */
.code .kp { color: #0000ff } /* Keyword.Pseudo */
.code .kr { color: #0000ff } /* Keyword.Reserved */
.code .kt { color: #2b91af } /* Keyword.Type */
.code .s { color: #a31515 } /* Literal.String */
.code .nc { color: #2b91af } /* Name.Class */
.code .ow { color: #0000ff } /* Operator.Word */
.code .sb { color: #a31515 } /* Literal.String.Backtick */
.code .sc { color: #a31515 } /* Literal.String.Char */
.code .sd { color: #a31515 } /* Literal.String.Doc */
.code .s2 { color: #a31515 } /* Literal.String.Double */
.code .se { color: #a31515 } /* Literal.String.Escape */
.code .sh { color: #a31515 } /* Literal.String.Heredoc */
.code .si { color: #a31515 } /* Literal.String.Interpol */
.code .sx { color: #a31515 } /* Literal.String.Other */
.code .sr { color: #a31515 } /* Literal.String.Regex */
.code .s1 { color: #a31515 } /* Literal.String.Single */
.code .ss { color: #a31515 } /* Literal.String.Symbol */


#SOPA {
    width: 100%;
    height: 75%;
    background: black;
    color: #aaa;
    position: absolute;
    top: 0; left: 0;
    z-index: 99999;
    font-size: 150%;
    opacity: .9;
}
#SOPA .content {
    padding: 3em 6em;
    font-weight: normal;
}
#SOPA a {
    color: inherit;
    text-decoration: underline;
}

