/* base.hs: Inject Skylighting-generated CSS */
html { -webkit-text-size-adjust: 100%; }
pre > code.sourceCode { white-space: pre; position: relative; }
pre > code.sourceCode > span { display: inline-block; line-height: 1.25; }
pre > code.sourceCode > span:empty { height: 1.2em; }
.sourceCode { overflow: visible; }
code.sourceCode > span { color: inherit; text-decoration: inherit; }
div.sourceCode { margin: 1em 0; }
pre.sourceCode { margin: 0; }
@media screen {
div.sourceCode { overflow: auto; }
}
@media print {
pre > code.sourceCode { white-space: pre-wrap; }
pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
}
pre.numberSource code
  { counter-reset: source-line 0; }
pre.numberSource code > span
  { position: relative; left: -4em; counter-increment: source-line; }
pre.numberSource code > span > a:first-child::before
  { content: counter(source-line);
    position: relative; left: -1em; text-align: right; vertical-align: baseline;
    border: none; display: inline-block;
    -webkit-touch-callout: none; -webkit-user-select: none;
    -khtml-user-select: none; -moz-user-select: none;
    -ms-user-select: none; user-select: none;
    padding: 0 4px; width: 4em;
    color: #aaaaaa;
  }
pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa;  padding-left: 4px; }
div.sourceCode
  {   }
@media screen {
pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
}
code span.al { color: #ff0000; } /* Alert */
code span.an { color: #008000; } /* Annotation */
code span.at { } /* Attribute */
code span.bu { } /* BuiltIn */
code span.cf { color: #0000ff; } /* ControlFlow */
code span.ch { color: #008080; } /* Char */
code span.cn { } /* Constant */
code span.co { color: #008000; } /* Comment */
code span.cv { color: #008000; } /* CommentVar */
code span.do { color: #008000; } /* Documentation */
code span.er { color: #ff0000; font-weight: bold; } /* Error */
code span.ex { } /* Extension */
code span.im { } /* Import */
code span.in { color: #008000; } /* Information */
code span.kw { color: #0000ff; } /* Keyword */
code span.op { } /* Operator */
code span.ot { color: #ff4000; } /* Other */
code span.pp { color: #ff4000; } /* Preprocessor */
code span.sc { color: #008080; } /* SpecialChar */
code span.ss { color: #008080; } /* SpecialString */
code span.st { color: #008080; } /* String */
code span.va { } /* Variable */
code span.vs { color: #008080; } /* VerbatimString */
code span.wa { color: #008000; font-weight: bold; } /* Warning */

/* base.hs: Inject Clay-generated CSS */

html
{
  margin           : 0px 0px 0px 0px;
  padding          : 0px 0px 0px 0px;
  background-color : #ffffff;
  color            : #000000;
}

html body
{
  overflow-y  : scroll;
  font-family : "Source Serif Pro", serif;
  width       : 900px;
  margin      : 0px auto 0px auto;
}

html body a
{
  outline         : none 1px #000000;
  text-decoration : none;
}

html body a:link
{
  color : #0033ff;
}

html body a:visited
{
  color : #007033;
}

html body a:hover
{
  text-decoration : underline;
}

html body a.section-heading:hover
{
  text-decoration : underline;
}

html body a.section-heading
{
  color : #000000;
}

html body sup
{
  vertical-align : top;
  font-size      : small;
}

html body hr
{
  font-size : small;
  border    : 1px solid #000000;
  margin    : 0px auto 1em auto;
  width     : 76%;
}


html body div.center
{
  text-align : center;
}


html body div#sticky-title
{
  top                : 0;
  z-index            : 2;
  background-image   : -webkit-linear-gradient(right,#ffffff 0%,#e0f8f2 10%,#e0f8f2 90%,#ffffff 100%);
  background-image   : -moz-linear-gradient(right,#ffffff 0%,#e0f8f2 10%,#e0f8f2 90%,#ffffff 100%);
  background-image   : -ms-linear-gradient(right,#ffffff 0%,#e0f8f2 10%,#e0f8f2 90%,#ffffff 100%);
  background-image   : -o-linear-gradient(right,#ffffff 0%,#e0f8f2 10%,#e0f8f2 90%,#ffffff 100%);
  background-image   : linear-gradient(right,#ffffff 0%,#e0f8f2 10%,#e0f8f2 90%,#ffffff 100%);
  border-image       : -webkit-linear-gradient(right,#ffffff 0%,#37a68a 10%,#37a68a 90%,#ffffff 100%);
  border-image       : -moz-linear-gradient(right,#ffffff 0%,#37a68a 10%,#37a68a 90%,#ffffff 100%);
  border-image       : -ms-linear-gradient(right,#ffffff 0%,#37a68a 10%,#37a68a 90%,#ffffff 100%);
  border-image       : -o-linear-gradient(right,#ffffff 0%,#37a68a 10%,#37a68a 90%,#ffffff 100%);
  border-image       : linear-gradient(right,#ffffff 0%,#37a68a 10%,#37a68a 90%,#ffffff 100%);
  border-image-slice : 1;
  border-width       : 1px;
  border-style       : solid;
  padding            : 0.5em 0px 0.5em 0px;
  margin-bottom      : 2em;
  -webkit-box-shadow : 0px 30px 25px -30px #aaaaaa;
  -moz-box-shadow    : 0px 30px 25px -30px #aaaaaa;
  -ms-box-shadow     : 0px 30px 25px -30px #aaaaaa;
  -o-box-shadow      : 0px 30px 25px -30px #aaaaaa;
  box-shadow         : 0px 30px 25px -30px #aaaaaa;
}

html body div#sticky-title h1
{
  padding-left  : 12%;
  padding-right : 12%;
  text-align    : center;
}


html body div#header
{
  padding    : 0.5em 0em 0.5em 0em;
  text-align : center;
  font-size  : 18pt;
}

html body div#content
{
  background-color : #ffffff;
  padding-bottom   : 0px;
  margin           : 0px 0px 0px 0px;
}


html body div#content div.canvas-centered
{
  display       : grid;
  justify-items : center;
  margin        : 1em auto 1em auto;
}

html body div#content div.canvas-centered canvas
{
  image-rendering : pixelated;
  image-rendering : crisp-edges;
  image-rendering : -moz-crisp-edges;
  image-rendering : -webkit-crisp-edges;
}

html body div#content div.canvas-centered canvas.active-pixel-canvas
{
  z-index : 1;
}

html body div#content div.canvas-centered canvas.layer
{
  grid-area : 1/1;
}

html body div#content div.canvas-tooltip
{
  position         : absolute;
  background-color : #ffffff;
  padding          : 4px 4px 4px 4px;
  border           : 2px solid #000000;
  opacity          : 0;
}

html body div#content h1,
html body div#content h2,
html body div#content h3,
html body div#content h4,
html body div#content h5,
html body div#content h6
{
  margin            : 0px 0px 0px 0px;
  padding-left      : 12%;
  padding-right     : 12%;
  padding-bottom    : 0.5em;
  font-weight       : normal;
  scroll-margin-top : 110px;
}

html body div#content h1 code,
html body div#content h2 code,
html body div#content h3 code,
html body div#content h4 code,
html body div#content h5 code,
html body div#content h6 code
{
  margin : 0px 4px 0px 4px;
}


html body div#content h1::before
{
  content  : "▣  ";
  position : relative;
}

html body div#content h1.center
{
  margin          : 0px 0px 0px 0px;
  padding-top     : 0em;
  padding-bottom  : 0.5em;
  font-size       : 30pt;
  font-weight     : bold;
  padding-right   : 12%;
  text-align      : center;
  text-decoration : none;
}

html body div#content h1.center::before
{
  content : none;
}

html body div#content h1#page-title
{
  padding-bottom : 0px;
}


html body div#content h2::before
{
  content  : "■  ";
  position : relative;
}


html body div#content h3::before
{
  content  : "□  ";
  position : relative;
}


html body div#content h4::before
{
  content  : "◆  ";
  position : relative;
}


html body div#content h5::before
{
  content  : "◈  ";
  position : relative;
}


html body div#content h6::before
{
  content  : "◇  ";
  position : relative;
}

html body div#content table
{
  margin          : 0px auto 0px auto;
  margin-bottom   : 1em;
  border-collapse : collapse;
}

html body div#content table td
{
  padding : 0em 0.5em 0em 0.5em;
}

html body div#content table td + td
{
  border-left : 1px solid #000000;
}


html body div#content table.ul
{
  border-collapse : separate;
}

html body div#content table.ul td
{
  border-style : none;
}


html body div#content div.info
{
  padding-bottom : 1em;
}


html body div#content div.code-and-raw
{
  background-color : #ffffff;
  margin-bottom    : 1em;
  padding-left     : 0px;
}


html body div#content div.code-and-raw div.sourceCode
{
  background-image : -webkit-linear-gradient(right,#ffffff 0%,#f0f0f0 10%,#f0f0f0 90%,#ffffff 100%);
  background-image : -moz-linear-gradient(right,#ffffff 0%,#f0f0f0 10%,#f0f0f0 90%,#ffffff 100%);
  background-image : -ms-linear-gradient(right,#ffffff 0%,#f0f0f0 10%,#f0f0f0 90%,#ffffff 100%);
  background-image : -o-linear-gradient(right,#ffffff 0%,#f0f0f0 10%,#f0f0f0 90%,#ffffff 100%);
  background-image : linear-gradient(right,#ffffff 0%,#f0f0f0 10%,#f0f0f0 90%,#ffffff 100%);
  margin           : 0px 0px 0px 0px;
}


html body div#content div.code-and-raw div.sourceCode pre.numberSource
{
  border-style : none;
}

html body div#content div.code-and-raw div.sourceCode pre code
{
  background-image : none;
  margin-bottom    : 0px;
}

html body div#content div.code-and-raw div.sourceCode pre code span
{
  scroll-margin-top : 110px;
}

html body div#content div.code-and-raw div.raw-link
{
  background-image   : -webkit-linear-gradient(right,#ffffff 0%,#e0e0e0 10%,#e0e0e0 90%,#ffffff 100%);
  background-image   : -moz-linear-gradient(right,#ffffff 0%,#e0e0e0 10%,#e0e0e0 90%,#ffffff 100%);
  background-image   : -ms-linear-gradient(right,#ffffff 0%,#e0e0e0 10%,#e0e0e0 90%,#ffffff 100%);
  background-image   : -o-linear-gradient(right,#ffffff 0%,#e0e0e0 10%,#e0e0e0 90%,#ffffff 100%);
  background-image   : linear-gradient(right,#ffffff 0%,#e0e0e0 10%,#e0e0e0 90%,#ffffff 100%);
  border-image       : -webkit-linear-gradient(right,#ffffff 0%,#888888 10%,#888888 90%,#ffffff 100%);
  border-image       : -moz-linear-gradient(right,#ffffff 0%,#888888 10%,#888888 90%,#ffffff 100%);
  border-image       : -ms-linear-gradient(right,#ffffff 0%,#888888 10%,#888888 90%,#ffffff 100%);
  border-image       : -o-linear-gradient(right,#ffffff 0%,#888888 10%,#888888 90%,#ffffff 100%);
  border-image       : linear-gradient(right,#ffffff 0%,#888888 10%,#888888 90%,#ffffff 100%);
  border-image-slice : 1;
  border-width       : 1px;
  border-style       : solid;
  border-top-width   : 0px;
}

html body div#content div.code-and-raw div.raw-link hr
{
  border        : 1px solid #cccccc;
  margin-bottom : 0px;
  width         : 76%;
}

html body div#content div.code-and-raw div.raw-link p
{
  padding    : 0.5em 0px 0.5em 0px;
  text-align : center;
}

html body div#content div.code-and-raw div.raw-link p a
{
  font-weight : bold;
}

html body div#content div.code-and-raw div.raw-link p a.raw
{
  margin-left : 0em;
}

html body div#content div.code-and-raw div.raw-link p a:visited
{
  color : #0033ff;
}

html body div#content div.sourceCode
{
  margin : 0px 0px 0px 0px;
}

html body div#content div.sourceCode pre
{
  border-style : none;
  margin       : 0px 0px 0px 0px;
  padding      : 0px 0px 0px 0px;
}

html body div#content div.sourceCode pre code
{
  -moz-tab-size      : 4;
  -o-tab-size        : 4;
  tab-size           : 4;
  display            : block;
  background-image   : -webkit-linear-gradient(right,#ffffff 0%,#f0f0f0 10%,#f0f0f0 90%,#ffffff 100%);
  background-image   : -moz-linear-gradient(right,#ffffff 0%,#f0f0f0 10%,#f0f0f0 90%,#ffffff 100%);
  background-image   : -ms-linear-gradient(right,#ffffff 0%,#f0f0f0 10%,#f0f0f0 90%,#ffffff 100%);
  background-image   : -o-linear-gradient(right,#ffffff 0%,#f0f0f0 10%,#f0f0f0 90%,#ffffff 100%);
  background-image   : linear-gradient(right,#ffffff 0%,#f0f0f0 10%,#f0f0f0 90%,#ffffff 100%);
  border-image       : -webkit-linear-gradient(right,#ffffff 0%,#888888 10%,#888888 90%,#ffffff 100%);
  border-image       : -moz-linear-gradient(right,#ffffff 0%,#888888 10%,#888888 90%,#ffffff 100%);
  border-image       : -ms-linear-gradient(right,#ffffff 0%,#888888 10%,#888888 90%,#ffffff 100%);
  border-image       : -o-linear-gradient(right,#ffffff 0%,#888888 10%,#888888 90%,#ffffff 100%);
  border-image       : linear-gradient(right,#ffffff 0%,#888888 10%,#888888 90%,#ffffff 100%);
  border-image-slice : 1;
  border-width       : 1px;
  border-style       : solid;
  border-radius      : 0px 0px 0px 0px;
  margin-bottom      : 1em;
  padding-left       : 12%;
  padding-right      : 12%;
  padding-top        : 1em;
  padding-bottom     : 1em;
  font-weight        : normal;
}

html body div#content div.sourceCode pre code span
{
  scroll-margin-top : 110px;
}

html body div#content pre
{
  border-style : none;
  margin       : 0px 0px 0px 0px;
  padding      : 0px 0px 0px 0px;
}

html body div#content pre code
{
  -moz-tab-size      : 4;
  -o-tab-size        : 4;
  tab-size           : 4;
  display            : block;
  background-image   : -webkit-linear-gradient(right,#ffffff 0%,#f0f0f0 10%,#f0f0f0 90%,#ffffff 100%);
  background-image   : -moz-linear-gradient(right,#ffffff 0%,#f0f0f0 10%,#f0f0f0 90%,#ffffff 100%);
  background-image   : -ms-linear-gradient(right,#ffffff 0%,#f0f0f0 10%,#f0f0f0 90%,#ffffff 100%);
  background-image   : -o-linear-gradient(right,#ffffff 0%,#f0f0f0 10%,#f0f0f0 90%,#ffffff 100%);
  background-image   : linear-gradient(right,#ffffff 0%,#f0f0f0 10%,#f0f0f0 90%,#ffffff 100%);
  border-image       : -webkit-linear-gradient(right,#ffffff 0%,#888888 10%,#888888 90%,#ffffff 100%);
  border-image       : -moz-linear-gradient(right,#ffffff 0%,#888888 10%,#888888 90%,#ffffff 100%);
  border-image       : -ms-linear-gradient(right,#ffffff 0%,#888888 10%,#888888 90%,#ffffff 100%);
  border-image       : -o-linear-gradient(right,#ffffff 0%,#888888 10%,#888888 90%,#ffffff 100%);
  border-image       : linear-gradient(right,#ffffff 0%,#888888 10%,#888888 90%,#ffffff 100%);
  border-image-slice : 1;
  border-width       : 1px;
  border-style       : solid;
  border-radius      : 0px 0px 0px 0px;
  margin-bottom      : 1em;
  padding-left       : 12%;
  padding-right      : 12%;
  padding-top        : 1em;
  padding-bottom     : 1em;
  font-weight        : normal;
}

html body div#content pre code span
{
  scroll-margin-top : 110px;
}

html body div#content ol
{
  margin         : 0px 0px 0px 0px;
  padding-left   : 18%;
  padding-right  : 12%;
  padding-bottom : 1em;
}

html body div#content ol p
{
  padding : 0px 0px 0px 0px;
}


html body div#content ol li p
{
  padding        : 0px 0px 0px 0px;
  padding-bottom : 1em;
}

html body div#content ul
{
  margin         : 0px 0px 0px 0px;
  padding-left   : 18%;
  padding-right  : 12%;
  padding-bottom : 1em;
}


html body div#content ul li p
{
  padding        : 0px 0px 0px 0px;
  padding-bottom : 1em;
}

html body div#content ul ul
{
  margin         : 0px 0px 0px 0px;
  padding-left   : 6%;
  padding-right  : 12%;
  padding-bottom : 0px;
}


html body div#content span.mtd
{
  scroll-margin-top : 110px;
}

html body div#content p
{
  margin         : 0px 0px 0px 0px;
  padding-bottom : 1em;
  padding-left   : 12%;
  padding-right  : 12%;
  text-align     : justify;
}

html body div#content p a
{
  scroll-margin-top : 110px;
}

html body div#content code
{
  padding     : 0px 0.1em 0px 0.1em;
  font-weight : bold;
}


html body div#content div.figure
{
  display : table;
  margin  : 0px auto 0px auto;
}

html body div#content div.footnotes
{
  background-image : -webkit-linear-gradient(right,#ffffff 0%,#f0f0f0 10%,#f0f0f0 90%,#ffffff 100%);
  background-image : -moz-linear-gradient(right,#ffffff 0%,#f0f0f0 10%,#f0f0f0 90%,#ffffff 100%);
  background-image : -ms-linear-gradient(right,#ffffff 0%,#f0f0f0 10%,#f0f0f0 90%,#ffffff 100%);
  background-image : -o-linear-gradient(right,#ffffff 0%,#f0f0f0 10%,#f0f0f0 90%,#ffffff 100%);
  background-image : linear-gradient(right,#ffffff 0%,#f0f0f0 10%,#f0f0f0 90%,#ffffff 100%);
  padding-bottom   : 0px;
}

html body div#content div.footnotes hr
{
  display : none;
}

html body div#content div.footnotes ol
{
  padding-left   : 12%;
  padding-right  : 12%;
  padding-top    : 1em;
  padding-bottom : 0em;
}

html body div#content div.footnotes ol li
{
  padding-left : 0px;
}

html body div#content div.footnotes ol li p
{
  padding-bottom : 1em;
}

html body div#content blockquote
{
  margin             : 0px 0px 0px 0px;
  padding            : 0px 0px 0px 0px;
  -moz-tab-size      : 4;
  -o-tab-size        : 4;
  tab-size           : 4;
  background-image   : -webkit-linear-gradient(right,#ffffff 0%,#ddffdd 10%,#ddffdd 90%,#ffffff 100%);
  background-image   : -moz-linear-gradient(right,#ffffff 0%,#ddffdd 10%,#ddffdd 90%,#ffffff 100%);
  background-image   : -ms-linear-gradient(right,#ffffff 0%,#ddffdd 10%,#ddffdd 90%,#ffffff 100%);
  background-image   : -o-linear-gradient(right,#ffffff 0%,#ddffdd 10%,#ddffdd 90%,#ffffff 100%);
  background-image   : linear-gradient(right,#ffffff 0%,#ddffdd 10%,#ddffdd 90%,#ffffff 100%);
  border-image       : -webkit-linear-gradient(right,#ffffff 0%,#8ece8e 10%,#8ece8e 90%,#ffffff 100%);
  border-image       : -moz-linear-gradient(right,#ffffff 0%,#8ece8e 10%,#8ece8e 90%,#ffffff 100%);
  border-image       : -ms-linear-gradient(right,#ffffff 0%,#8ece8e 10%,#8ece8e 90%,#ffffff 100%);
  border-image       : -o-linear-gradient(right,#ffffff 0%,#8ece8e 10%,#8ece8e 90%,#ffffff 100%);
  border-image       : linear-gradient(right,#ffffff 0%,#8ece8e 10%,#8ece8e 90%,#ffffff 100%);
  border-image-slice : 1;
  border-width       : 1px;
  border-style       : solid;
  margin-bottom      : 1em;
  padding-top        : 1em;
}





html body div#content table tbody tr td.centered
{
  text-align : center;
}

html body div#content table.posts-index
{
  margin-left    : 12%;
  margin-right   : 12%;
  padding-bottom : 1em;
}



html body div#content table.posts-index thead tr th
{
  border-style : none;
}

html body div#content table.posts-index thead tr th.label
{
  text-align : center;
}

html body div#content table.posts-index thead tr th.size
{
  padding-left : 0.5em;
}

html body div#content table.posts-index thead tr th.title
{
  padding-left : 0.5em;
  text-align   : left;
}



html body div#content table.posts-index tbody tr td
{
  border-style   : none;
  vertical-align : text-top;
}

html body div#content table.posts-index tbody tr td.date
{
  padding     : 0px 0px 0px 0px;
  white-space : nowrap;
}

html body div#content table.posts-index tbody tr td.bytes
{
  padding-left : 1em;
  text-align   : right;
  white-space  : nowrap;
}

html body div#content table.posts-index tbody tr td code
{
  font-weight : normal;
}



html body div#content section.footnotes ol
{
  padding-left  : 12%;
  padding-right : 12%;
}

html body div#footer
{
  margin-top     : 1em;
  padding-bottom : 2em;
  font-size      : medium;
  text-align     : center;
}

html body div#footer p
{
  padding-top : 1em;
  margin      : 0px 0px 0px 0px;
}


html body div#footer img#brand-icon
{
  image-rendering        : optimizeSpeed;
  image-rendering        : -moz-crisp-edges;
  image-rendering        : -o-crisp-edges;
  image-rendering        : -webkit-optimize-contrast;
  image-rendering        : pixelated;
  image-rendering        : optimize-contrast;
  -ms-interpolation-mode : nearest-neighbor;
  width                  : 39px;
}


/* Generated with Clay, http://fvisser.nl/clay */

