.castle-document #toc #toctitle{margin-top:1em;font-size:1.6875em;line-height:1.2;display:none}.castle-document #toc ul{padding-left:1em;list-style-type:none}.castle-document #toc li{line-height:1.3334;margin-top:.3334em}.castle-document .admonitionblock{margin-top:1em;margin-bottom:1em}.castle-document .admonitionblock td{padding:1em}.castle-document .admonitionblock td .paragraph:last-child p{margin-bottom:0}.castle-document .admonitionblock td.icon{padding:1em;font-weight:bold;text-transform:uppercase}.castle-document .admonitionblock.note,.castle-document .admonitionblock.tip{color:#173543;background-color:#d9edf7;border-color:#bce8f1}.castle-document .admonitionblock.important,.castle-document .admonitionblock.caution,.castle-document .admonitionblock.warning{color:#43351c;background-color:#fcf8e3;border-color:#faebcc}.castle-document .left{float:left !important}.castle-document .right{float:right !important}.castle-document .imageblock.left{margin:.25em .625em 1.25em 0}.castle-document .imageblock.right{margin:.25em 0 1.25em .625em}.castle-document .imageblock>.title{margin-bottom:0}.castle-document .imageblock.thumb,.castle-document .imageblock.th{border-width:6px}.castle-document .imageblock.thumb>.title,.castle-document .imageblock.th>.title{padding:0 .125em}.castle-document .image.left,.castle-document .image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}.castle-document .image.left{margin-right:.625em}.castle-document .image.right{margin-left:.625em}.castle-document a.image{text-decoration:none;display:inline-block}.castle-document a.image object{pointer-events:none}.castle-document .compact p{margin-top:0.1em;margin-bottom:0.1em}.castle-document pre.CodeRay{background:#f7f7f8}.castle-document .CodeRay .line-numbers{border-right:1px solid currentColor;opacity:.35;padding:0 .5em 0 0}.castle-document .CodeRay span.line-numbers{display:inline-block;margin-right:.75em}.castle-document .CodeRay .line-numbers strong{color:#000}.castle-document table.CodeRay{border-collapse:separate;border:0;margin-bottom:0;background:none}.castle-document table.CodeRay td{vertical-align:top;line-height:inherit}.castle-document table.CodeRay td.line-numbers{text-align:right}.castle-document table.CodeRay td.code{padding:0 0 0 .75em}.castle-document .CodeRay .debug{color:#fff !important;background:#000080 !important}.castle-document .CodeRay .annotation{color:#007}.castle-document .CodeRay .attribute-name{color:#000080}.castle-document .CodeRay .attribute-value{color:#700}.castle-document .CodeRay .binary{color:#509}.castle-document .CodeRay .comment{color:#998;font-style:italic}.castle-document .CodeRay .char{color:#04d}.castle-document .CodeRay .char .content{color:#04d}.castle-document .CodeRay .char .delimiter{color:#039}.castle-document .CodeRay .class{color:#458;font-weight:bold}.castle-document .CodeRay .complex{color:#a08}.castle-document .CodeRay .constant,.castle-document .CodeRay .predefined-constant{color:#008080}.castle-document .CodeRay .color{color:#099}.castle-document .CodeRay .class-variable{color:#369}.castle-document .CodeRay .decorator{color:#b0b}.castle-document .CodeRay .definition{color:#099}.castle-document .CodeRay .delimiter{color:#000}.castle-document .CodeRay .doc{color:#970}.castle-document .CodeRay .doctype{color:#34b}.castle-document .CodeRay .doc-string{color:#d42}.castle-document .CodeRay .escape{color:#666}.castle-document .CodeRay .entity{color:#800}.castle-document .CodeRay .error{color:#808}.castle-document .CodeRay .exception{color:inherit}.castle-document .CodeRay .filename{color:#099}.castle-document .CodeRay .function{color:#900;font-weight:bold}.castle-document .CodeRay .global-variable{color:#008080}.castle-document .CodeRay .hex{color:#058}.castle-document .CodeRay .integer,.castle-document .CodeRay .float{color:#099}.castle-document .CodeRay .include{color:#555}.castle-document .CodeRay .inline{color:#000}.castle-document .CodeRay .inline .inline{background:#ccc}.castle-document .CodeRay .inline .inline .inline{background:#bbb}.castle-document .CodeRay .inline .inline-delimiter{color:#d14}.castle-document .CodeRay .inline-delimiter{color:#d14}.castle-document .CodeRay .important{color:#555;font-weight:bold}.castle-document .CodeRay .interpreted{color:#b2b}.castle-document .CodeRay .instance-variable{color:#008080}.castle-document .CodeRay .label{color:#970}.castle-document .CodeRay .local-variable{color:#963}.castle-document .CodeRay .octal{color:#40e}.castle-document .CodeRay .predefined{color:#369}.castle-document .CodeRay .preprocessor{color:#579}.castle-document .CodeRay .pseudo-class{color:#555}.castle-document .CodeRay .directive{font-weight:bold}.castle-document .CodeRay .type{font-weight:bold}.castle-document .CodeRay .predefined-type{color:inherit}.castle-document .CodeRay .reserved,.castle-document .CodeRay .keyword{color:#000;font-weight:bold}.castle-document .CodeRay .key{color:#808}.castle-document .CodeRay .key .delimiter{color:#606}.castle-document .CodeRay .key .char{color:#80f}.castle-document .CodeRay .value{color:#088}.castle-document .CodeRay .regexp .delimiter{color:#808}.castle-document .CodeRay .regexp .content{color:#808}.castle-document .CodeRay .regexp .modifier{color:#808}.castle-document .CodeRay .regexp .char{color:#d14}.castle-document .CodeRay .regexp .function{color:#404;font-weight:bold}.castle-document .CodeRay .string{color:#d20}.castle-document .CodeRay .string .string .string{background:#ffd0d0}.castle-document .CodeRay .string .content{color:#d14}.castle-document .CodeRay .string .char{color:#d14}.castle-document .CodeRay .string .delimiter{color:#d14}.castle-document .CodeRay .shell{color:#d14}.castle-document .CodeRay .shell .delimiter{color:#d14}.castle-document .CodeRay .symbol{color:#990073}.castle-document .CodeRay .symbol .content{color:#a60}.castle-document .CodeRay .symbol .delimiter{color:#630}.castle-document .CodeRay .tag{color:#008080}.castle-document .CodeRay .tag-special{color:#d70}.castle-document .CodeRay .variable{color:#036}.castle-document .CodeRay .insert{background:#afa}.castle-document .CodeRay .delete{background:#faa}.castle-document .CodeRay .change{color:#aaf;background:#007}.castle-document .CodeRay .head{color:#f8f;background:#505}.castle-document .CodeRay .insert .insert{color:#080}.castle-document .CodeRay .delete .delete{color:#800}.castle-document .CodeRay .change .change{color:#66f}.castle-document .CodeRay .head .head{color:#f4f}

/* Rouge (syntax highlighting) styles, adjusted from Rouge default style */
pre.rouge table td { padding: 5px; }
pre.rouge table pre { margin: 0; }
pre.rouge, pre.rouge .w {
  color: #24292f;
  background-color: #f6f8fa;
}
pre.rouge .k, pre.rouge .kd, pre.rouge .kn, pre.rouge .kp, pre.rouge .kr, pre.rouge .kt, pre.rouge .kv {
  /* color: #cf222e; */
  /* CGE: make Pascal keywords look just like CodeRay default style */
  color: #000;
  font-weight: bold;
}
pre.rouge .gr {
  color: #f6f8fa;
}
pre.rouge .gd {
  color: #82071e;
  background-color: #ffebe9;
}
pre.rouge .nb {
  color: #953800;
}
pre.rouge .nc {
  color: #953800;
}
pre.rouge .no {
  color: #953800;
}
pre.rouge .nn {
  color: #953800;
}
pre.rouge .sr {
  color: #116329;
}
pre.rouge .na {
  color: #116329;
}
pre.rouge .nt {
  color: #116329;
}
pre.rouge .gi {
  color: #116329;
  background-color: #dafbe1;
}
pre.rouge .ges {
  font-weight: bold;
  font-style: italic;
}
pre.rouge .kc {
  color: #0550ae;
}
pre.rouge .l, pre.rouge .ld, pre.rouge .m, pre.rouge .mb, pre.rouge .mf, pre.rouge .mh, pre.rouge .mi, pre.rouge .il, pre.rouge .mo, pre.rouge .mx {
  color: #0550ae;
}
pre.rouge .sb {
  color: #0550ae;
}
pre.rouge .bp {
  color: #0550ae;
}
pre.rouge .ne {
  color: #0550ae;
}
pre.rouge .nl {
  color: #0550ae;
}
pre.rouge .py {
  color: #0550ae;
}
pre.rouge .nv, pre.rouge .vc, pre.rouge .vg, pre.rouge .vi, pre.rouge .vm {
  color: #0550ae;
}
pre.rouge .o, pre.rouge .ow {
  color: #0550ae;
}
pre.rouge .gh {
  color: #0550ae;
  font-weight: bold;
}
pre.rouge .gu {
  color: #0550ae;
  font-weight: bold;
}
pre.rouge .s, pre.rouge .sa, pre.rouge .sc, pre.rouge .dl, pre.rouge .sd, pre.rouge .s2, pre.rouge .se, pre.rouge .sh, pre.rouge .sx, pre.rouge .s1, pre.rouge .ss {
  color: #0a3069;
}
pre.rouge .nd {
  color: #8250df;
}
pre.rouge .nf, pre.rouge .fm {
  color: #8250df;
}
pre.rouge .err {
  color: #f6f8fa;
  background-color: #82071e;
}
pre.rouge .c, pre.rouge .ch, pre.rouge .cd, pre.rouge .cm, pre.rouge .cp, pre.rouge .cpf, pre.rouge .c1, pre.rouge .cs {
  /* color: #6e7781; */
  /* CGE: make Pascal comments just like CodeRay default style */
  color: #998;
  font-style: italic;
}
/*TODO: CGE: make Pascal compiler directives just like CodeRay default style.
  Unfortunately Rouge doesn't seem to have a specific class for this,
  compiler directives get cm class which is also for regular { } comments. */
/*
pre.rouge .cm {
  color: #579;
}
*/
pre.rouge .gl {
  color: #6e7781;
}
pre.rouge .gt {
  color: #6e7781;
}
pre.rouge .ni {
  color: #24292f;
}
pre.rouge .si {
  color: #24292f;
}
pre.rouge .ge {
  color: #24292f;
  font-style: italic;
}
pre.rouge .gs {
  color: #24292f;
  font-weight: bold;
}