/* overall content styling */

* {
    margin: 0px; padding: 0px;
}

p, blockquote, li {
    font-family: "Verdana", "DejaVu Sans", sans-serif;
    font-size: 10pt;
    line-height: 13pt;
    font-weight: normal;
}

h1, h2, h3, h4 {
    font-family: "EB Garamond", garamond, serif;
    font-weight: normal;
    -webkit-font-feature-settings: "liga", "dlig";
}

blockquote {
    padding-left: 4ex;
    padding-right: 4ex;
}

h1 {
    text-align: center;
    padding-top: 2ex;
    padding-bottom: 2ex;
    font-size: 36pt;
}

h2 {
    font-size: 20pt;
    padding-top: 1ex;
    padding-bottom: 1ex;
}

h3 {
    font-size: 16pt;
    padding-top: 1ex;
}
div.seplines > h3 {
    margin-top: 2ex;
    border-top: 1px solid #ccc;
}

h4 {
    font-size: 14pt;
    padding-left: 2ex;
}

code, pre, p.hltitle {
    font-family: "DejaVu Sans Mono", "Consolas", monospace;
    font-size: 10pt;
}
code {
    padding-left: 1px;
    padding-right: 1px;
    color: #404;
}

p {
    margin-top: 1.5ex;
    margin-bottom: 1.5ex;
}

img.math {
    vertical-align: baseline;
    position: relative;
}
p.eq {
    text-align: center;
}

div.bodytext {
    max-width: 120ex;
    padding-left: 3ex;
}

#body ol, #body ul {
    padding-left: 3ex;
}

a:link, a:visited { text-decoration: none; }
a:active, a:hover { text-decoration: underline; }
:link { color: #008; }
:visited { color: #006; }

div.bodytext p a:before { content: "["; }
div.bodytext p a:after { content: "]"; }

p#footer { font-size: 8pt; }

/* navbar content styling */

#navbar > ul { padding-bottom: 1ex; }
#navbar > ul > li { padding-top: 2px; padding-bottom: 2px; }

#navbar ul {
    list-style-type: none;
    margin-left: 1ex;
}

#navbar ul a.open { text-decoration: underline }
div.bodytext span.open {
    color: #800; background-color: #fee;
    padding-left: 3px; padding-right: 3px;
}

#navbar li.navsep {
    border-top: 1px dotted #888;
    margin-top: 2px;
    margin-right: 2ex;
    font-size: 8pt;
}

#navlogodiv {
    padding: 1ex;
    text-align: center;
}
#navlogodiv img { border-style: none; }

/* page layout styling */

body {
    background-color: #ccc;
}

#bodywrap {
    background-color: #eee;
}

#body {
    margin-left: 192px;
    padding-right: 2ex;
    padding-bottom: 4ex;
    border-left: 1px solid #aaa;
    background-color: #fff;
}

#navbar {
    width: 192px;
    float: left;
}

#footer {
    margin: 0px;
    border-top: 1px solid #aaa;
    padding: 1ex;
}

/* index page */

#logodiv { text-align: center; }
#logodiv canvas, #logodiv img { border: 1px solid black; }

p.logonote {
    margin-top: 0px;
    font-size: 8pt;
}

#indexlinks {
    text-align: center;
    margin-top: 2em;
}

/* bio page */

div#portrait {
    width: 220px;
    padding: 10px;
    float: right;
    text-align: center;
}
p#portcapt {
    margin: 0px; padding: 2px;
}
p#portcapt > span {
    padding: 2px;
    border: 1px dotted #ccc;
}

/* syntax highlight support */

div.hl {
    border: 1px solid #aaa;
    padding: 1ex;
}
p.hltitle {
    margin-top: 0px;
    margin-bottom: 0.5ex;
    padding-bottom: 0.5ex;
    border-bottom: 1px dotted #aaa;
}

.hl.num { color:#2928ff; }
.hl.esc { color:#ff00ff; }
.hl.str { color:#ff0000; }
.hl.dstr { color:#818100; }
.hl.slc { color:#838183; font-style:italic; }
.hl.com { color:#838183; font-style:italic; }
.hl.dir { color:#008200; }
.hl.sym { color:#000000; }
.hl.line { color:#555555; }
.hl.mark        { background-color:#ffffbb;}
.hl.kwa { color:#000000; font-weight:bold; }
.hl.kwb { color:#830000; }
.hl.kwc { color:#000000; font-weight:bold; }
.hl.kwd { color:#010181; }