body {
  font-size: 16px;
  margin: 0px 0px;
  background-color: #ffffff;
  color: #404040;
  font-family: Palatino, Georgia, serif;
  background-image: url('/graphics/blogbg1b.gif');
}
article img {
  max-width: 100%;
}
a {
  font-weight: bold;
  color: #1828a0;
}
a:link {
  text-decoration: none;
}
a:visited {
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Liberation Sans", Arial;
  font-weight: normal;
  color: black;
}
h1 {
  padding-top: 0.2em;
  font-size: 1.7em;
  font-weight: normal;
  line-height: 1.2em;
}
h2,
.post h1 {
  font-size: 1.3em;
}
h3,
.post h2 {
  font-size: 1.2em;
}
h4,
.post h3 {
  font-size: 1.1em;
  font-style: italic;
}
h5,
.post h4 {
  font-size: 1.05em;
  font-style: italic;
}
h6,
.post h5 {
  font-size: 1.0em;
}
h1 a,
h2 a,
h3 a,
h4 a {
  font-weight: normal;
  color: #000080;
}
h1 a[href^="#"],
h2 a[href^="#"],
h3 a[href^="#"],
h4 a[href^="#"] {
  font-size: 80%;
  vertical-align: super;
}
h1 a:visited,
h2 a:visited,
h3 a:visited,
h4 a:visited {
  text-decoration: none;
  color: #404080;
}
h1 a:hover,
h2 a:hover,
h3 a:hover,
h4 a:hover {
  text-decoration: underline;
}
h1 {
  margin-bottom: .3em;
  margin-top: 0;
}
h2,
h3 {
  margin-bottom: .2em;
}
h1 + p,
h2 + p,
h3 + p,
h4 + p,
h5 + p,
h6 + p,
blockquote > p {
  margin-top: 0em;
}
.programmingerror {
  color: red;
  font-weight: bold;
}
blockquote {
  margin: 0.5em 2em;
  padding: 0em 1em;
  border-left: 3px solid #ddd;
}
blockquote p:last-child {
  padding-bottom: 0px;
  margin-bottom: 0px;
}
.boxed {
  border: 2px solid #4170dc;
  background: #e0e0e0;
}
div.boxed,
pre.boxed {
  padding: 5px 5px ;
}
span.boxed {
  padding: 2px 3px;
  margin: 0;
}
.strike {
  text-decoration: line-through;
}
img.align-center {
  margin-left: auto;
  margin-right: auto;
  display: block;
}
#container,
#container-clone {
  width: 800px;
  max-width: 100%;
  margin: 0 auto;
  border-left: 1px solid #e0e0e0;
  border-right: 1px solid #e0e0e0;
}
#maintitle {
  padding: 0;
  color: #448;
  margin: 0 0 5px 0;
  border-bottom: 3px double #e0e0e0;
  min-height: 64px;
}
#maintitletext {
  padding: 0.5em;
  font-size: 32px;
  text-shadow: 1px 1px 2px #445;
  float: left;
  font-family: Arial;
}
#content {
  background: #ffffff;
  line-height: 1.6em;
}
#content pre,
#content tt {
  font-size: 14px;
  font-family: "Bitstream Vera Sans Mono", "DejaVu Sans Mono", "Lucida Console", "Andale Mono", monospace;
}
#content tt.literal {
  border-radius: 4px;
  background-color: #eee;
  padding: 2px 4px;
}
#content pre {
  line-height: 1.6em;
}
#container-clone.negative h1,
#container-clone.negative h2,
#container-clone.negative h3,
#container-clone.negative h4,
#container-clone.negative h5,
#container-clone.negative h6 {
  color: #808080;
}
#container-clone.negative #content {
  background-color: black;
  color: #b0b0b0;
}
#contentinner {
  margin: 0 1em;
}
#contentinner h1:first-child {
  padding-top: 0.5em;
}
#toplinks {
  font-size: 80%;
  text-align: right;
}
#toplinks ul,
#toplinks li {
  list-style-type: none;
}
#toplinks ul ul,
#toplinks ul ul li {
  display: inline;
}
#toplinks ul {
  padding: 0px;
  margin-top: 0px;
  margin-bottom: 0px;
}
#toplinks li {
  padding: 0px;
  margin: 0px;
  font-weight: bold;
}
#toplinks #toplinksinner > ul > li {
  margin-top: 5px;
}
#toplinks #toplinksinner > ul > li:first-child {
  margin-top: 0px;
}
#toplinks #toplinksinner > ul > li:only-child {
  padding: 5px;
}
#toplinks #toplinksinner > ul > li li a {
  text-shadow: 1px 1px 1px #999;
  margin: 0px;
  display: inline-block;
  width: auto;
}
#toplinks #toplinksinner > ul > li li a:before {
  display: inline-block;
  content: " ~ ";
  padding: 0 8px;
}
#toplinks #toplinksinner > ul > li li:first-child a:before {
  content: "";
  padding: 0px;
}
#toplinksinner {
  padding: 5px;
}
.toplinksheader {
  padding: 0px 3px;
  color: #aaa;
}
.toplinksheader:after {
  content: ":";
}
.development-work-page {
  background-color: black;
  background-image: url('/graphics/bg_inverted.gif');
}
.development-work-page #container {
  margin-left: 0px;
}
#jsSource {
  background-color: #333;
  opacity: 0.7;
}
h1.posttitle {
  padding-top: 0.25em;
}
.author {
  font-style: italic;
  color: #808080;
}
.post {
  margin-top: 0.5em;
}
.metainfo {
  text-align: right;
  padding-bottom: 0.25em;
  border-bottom: 1px solid #e0e0e0;
}
.metainfoindex {
  margin-top: 2px;
  padding-top: 2px;
  margin-left: 2em;
  color: #666;
}
.summarylink {
  padding-top: 5px;
}
.summary {
  margin: 1em 0 2em 2em;
  padding: 0em 1em;
  border-left: 4px solid #bbd;
}
a.footnote-reference {
  vertical-align: super;
  font-size: 80%;
}
#footer {
  margin-top: 1em;
  border-top: 1px solid #f0f0f0;
  border-bottom: 1px solid #f0f0f0;
  padding-top: 1em;
  text-align: center;
  padding-bottom: 1em;
  overflow: auto;
  width: 100%;
}
#footer p {
  margin: 0;
}
.related {
  border-top: 3px double #e0e0e0;
  border-bottom: 3px double #e0e0e0;
  padding: 1em;
  margin: 2em -1em 1em;
}
#contentinner .related h1 {
  padding: 0;
}
#comments_loading {
  font-style: italic;
}
.paginglinks {
  text-align: right;
}
div.category {
  margin-top: 0.5em;
}
pre {
  overflow: auto;
}
pre.shell,
pre.bash {
  border: 2px solid blue;
  background-color: black;
  color: #e0e0e0;
  padding: 8px;
  margin: 1em;
}
pre.bash .str,
pre.shell .str,
pre.bash .kwd,
pre.shell .kwd,
pre.bash .com,
pre.shell .com,
pre.bash .typ,
pre.shell .typ,
pre.bash .lit,
pre.shell .lit,
pre.bash .pun,
pre.shell .pun,
pre.bash .pln,
pre.shell .pln,
pre.bash .tag,
pre.shell .tag,
pre.bash .atn,
pre.shell .atn,
pre.bash .atv,
pre.shell .atv,
pre.bash .dec,
pre.shell .dec {
  color: #e0e0e0;
}
pre.python,
.python pre {
  background-color: #e0ffe0;
  border: 1px solid #c0e0c0;
}
pre.haskell,
.haskell pre {
  background-color: #d0d0ff;
  border: 1px solid #9080b0;
}
pre.csharp,
.csharp pre {
  background-color: #b0ddff;
  border: 1px solid #85ccff;
}
.html pre,
.javascript pre {
  background-color: #d0d0d0;
  border: 1px solid #b0b0b0;
}
pre.python,
pre.haskell,
pre.csharp,
pre.rst,
.python pre,
.haskell pre,
.csharp pre,
.rst pre,
.html pre,
.javascript pre,
pre.sourceCode,
pre.literal-block {
  margin-left: 1em;
  padding: 0.5em;
}
span.usertext {
  color: #408040;
  font-weight: bold;
}
.shell .usertext {
  color: #80ff80;
}
pre.sourceCode span.Keyword {
  font-weight: bold;
}
pre.sourceCode span.DataType {
  color: #445588;
}
pre.sourceCode span.DecVal {
  color: #009999;
}
pre.sourceCode span.BaseN {
  color: #009999;
}
pre.sourceCode span.Float {
  color: #009999;
}
pre.sourceCode span.Char {
  color: #aa7733;
}
pre.sourceCode span.String {
  color: #aa7733;
}
pre.sourceCode span.Comment {
  color: #777766;
}
pre.sourceCode span.Others {
  color: #007020;
}
pre.sourceCode span.Alert {
  color: red;
  font-weight: bold;
}
pre.sourceCode span.Function {
  /* color: #06287e; */
}
pre.sourceCode span.Error {
  color: red;
  font-weight: bold;
}
pre.sourceCode span.ModuleName {
  color: #445588;
  font-weight: bold;
}
pre.sourceCode span.DataConstructor {
  color: #445588;
  font-weight: bold;
}
.haskell .keyglyph,
.haskell .layout {
  color: #990000;
}
.haskell .keyword {
  font-weight: bold;
}
.haskell .comment,
.haskell .comment a {
  color: #777766;
}
.haskell .str,
.haskell .chr {
  color: #aa7733;
}
.haskell .conop,
.haskell .conid {
  color: #445588;
  font-weight: bold;
}
.haskell .varop {
  font-weight: bold;
}
.haskell .num {
  color: #009999;
}
.codeblock .c,
pre.code .c,
.codeblock .comment,
pre.code .comment {
  color: #777766;
  font-style: italic;
}
.codeblock .err,
pre.code .err {
  color: #a61717;
  background-color: #e3d2d2;
}
.codeblock .k,
pre.code .k,
.codeblock .keyword,
pre.code .keyword {
  font-weight: bold;
}
.codeblock .o,
pre.code .o,
.codeblock .operator,
pre.code .operator {
  font-weight: bold;
}
.codeblock .cm,
pre.code .cm {
  color: #777766;
  font-style: italic;
}
.codeblock .cp,
pre.code .cp {
  color: #777777;
  font-weight: bold;
}
.codeblock .c1,
pre.code .c1 {
  color: #777766;
  font-style: italic;
}
.codeblock .cs,
pre.code .cs {
  color: #777777;
  font-weight: bold;
  font-style: italic;
}
.codeblock .gd,
pre.code .gd {
  color: #000000;
  background-color: #ffdddd;
}
.codeblock .ge,
pre.code .ge {
  font-style: italic;
}
.codeblock .gr,
pre.code .gr {
  color: #aa0000;
}
.codeblock .gh,
pre.code .gh {
  color: #777777;
}
.codeblock .gi,
pre.code .gi {
  color: #000000;
  background-color: #ddffdd;
}
.codeblock .go,
pre.code .go {
  color: #888888;
}
.codeblock .gp,
pre.code .gp {
  color: #555555;
}
.codeblock .gs,
pre.code .gs {
  font-weight: bold;
}
.codeblock .gu,
pre.code .gu {
  color: #aaaaaa;
}
.codeblock .gt,
pre.code .gt {
  color: #aa0000;
}
.codeblock .kc,
pre.code .kc {
  font-weight: bold;
}
.codeblock .kd,
pre.code .kd {
  font-weight: bold;
}
.codeblock .kp,
pre.code .kp {
  font-weight: bold;
}
.codeblock .kr,
pre.code .kr {
  font-weight: bold;
}
.codeblock .kt,
pre.code .kt {
  color: #445588;
  font-weight: bold;
}
.codeblock .m,
pre.code .m {
  color: #009999;
}
.codeblock .s,
pre.code .s,
.codeblock .literal.string,
pre.code .literal.string {
  color: #bb8844;
}
.codeblock .na,
pre.code .na {
  color: #008080;
}
.codeblock .nb,
pre.code .nb,
.codeblock .name.builtin,
pre.code .name.builtin {
  color: #777777;
}
.codeblock .nc,
pre.code .nc,
.codeblock .name.class,
pre.code .name.class {
  color: #445588;
  font-weight: bold;
}
.codeblock .no,
pre.code .no {
  color: #008080;
}
.codeblock .ni,
pre.code .ni {
  color: #800080;
}
.codeblock .ne,
pre.code .ne {
  color: #990000;
  font-weight: bold;
}
.codeblock .nf,
pre.code .nf,
.codeblock .name.function,
pre.code .name.function {
  color: #990000;
  font-weight: bold;
}
.codeblock .nn,
pre.code .nn {
  color: #555555;
}
.codeblock .nt,
pre.code .nt {
  color: #000080;
}
.codeblock .nv,
pre.code .nv {
  color: #008080;
}
.codeblock .ow,
pre.code .ow {
  font-weight: bold;
}
.codeblock .mf,
pre.code .mf {
  color: #009999;
}
.codeblock .mh,
pre.code .mh {
  color: #009999;
}
.codeblock .mi,
pre.code .mi,
.codeblock .literal.number,
pre.code .literal.number {
  color: #009999;
}
.codeblock .mo,
pre.code .mo {
  color: #009999;
}
.codeblock .sb,
pre.code .sb {
  color: #bb8844;
}
.codeblock .sc,
pre.code .sc {
  color: #bb8844;
}
.codeblock .sd,
pre.code .sd {
  color: #bb8844;
}
.codeblock .s2,
pre.code .s2 {
  color: #bb8844;
}
.codeblock .se,
pre.code .se {
  color: #bb8844;
}
.codeblock .sh,
pre.code .sh {
  color: #bb8844;
}
.codeblock .si,
pre.code .si {
  color: #bb8844;
}
.codeblock .sx,
pre.code .sx {
  color: #bb8844;
}
.codeblock .sr,
pre.code .sr {
  color: #808000;
}
.codeblock .s1,
pre.code .s1 {
  color: #bb8844;
}
.codeblock .ss,
pre.code .ss {
  color: #bb8844;
}
.codeblock .bp,
pre.code .bp {
  color: #777777;
}
.codeblock .vc,
pre.code .vc {
  color: #008080;
}
.codeblock .vg,
pre.code .vg {
  color: #008080;
}
.codeblock .vi,
pre.code .vi {
  color: #008080;
}
.codeblock .il,
pre.code .il {
  color: #009999;
}
.anchor:link,
.anchor:visited {
  border: none;
  color: #888;
  font-size: .8em;
  vertical-align: text-top;
  text-decoration: none;
}
h1:hover .anchor,
h2:hover .anchor,
h3:hover .anchor,
h4:hover .anchor,
h5:hover .anchor,
h6:hover .anchor {
  color: #333;
}
div.fractimg {
  text-align: center;
  border-top: 1px dashed #808080;
  margin-top: 10px;
}
div.fractimg p.imgsize {
  font-size: small;
  margin: 0px;
  font-weight: bold;
}
div.fractimg img {
  border: 2px solid #0000ff;
}
@media (max-width: 479px) {
  #toplinksinner {
    clear: left;
  }
}
