.title  {
    text-align: center;
    margin-bottom: .2em;
}

.subtitle {
    text-align: center;
    font-weight: bold;
    font-size: smaller;
    margin-top:0;
}

.todo   {
    font-family: monospace; color: red;
}

.done   {
    font-family: monospace; color: green;
}

.priority {
    font-family: monospace; color: orange;
}

.tag {
    background-color: orange;
    font-family: monospace;
    padding: 2px;
    font-size: 80%;
    font-weight: normal;
}

.timestamp {
    color: #bebebe;
}

.timestamp-kwd {
    color: #5f9ea0;
}

.org-right  {
    margin-left: auto; margin-right: 0px;  text-align: right;
}

.org-left   {
    margin-left: 0px;  margin-right: auto; text-align: left;
}

.org-center {
    margin-left: auto; margin-right: auto; text-align: center;
}

.underline {
    text-decoration: underline;
}

#postamble p, #preamble p {
    font-size: 90%; margin: .2em;
}

p.verse {
    margin-left: 3%;
}

pre {
    border: 1px solid #ccc;
    box-shadow: 3px 3px 3px #eee;
    padding: 8pt;
    font-family: monospace;
    overflow: auto;
    margin: 1.2em;
}

pre.src {
    position: relative;
    overflow: visible;
    padding-top: 1.2em;
}

pre.src:before {
    display: none;
    position: absolute;
    background-color: white;
    top: -10px;
    right: 10px;
    padding: 3px;
    border: 1px solid black;
}

pre.src:hover:before {
    display: inline;
}

/* Languages per Org manual */
pre.src-asymptote:before { content: 'Asymptote'; }
pre.src-awk:before { content: 'Awk'; }
pre.src-C:before { content: 'C'; }
/* pre.src-C++ doesn't work in CSS */
pre.src-clojure:before { content: 'Clojure'; }
pre.src-css:before { content: 'CSS'; }
pre.src-D:before { content: 'D'; }
pre.src-ditaa:before { content: 'ditaa'; }
pre.src-dot:before { content: 'Graphviz'; }
pre.src-calc:before { content: 'Emacs Calc'; }
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
pre.src-fortran:before { content: 'Fortran'; }
pre.src-gnuplot:before { content: 'gnuplot'; }
pre.src-haskell:before { content: 'Haskell'; }
pre.src-java:before { content: 'Java'; }
pre.src-js:before { content: 'Javascript'; }
pre.src-latex:before { content: 'LaTeX'; }
pre.src-ledger:before { content: 'Ledger'; }
pre.src-lisp:before { content: 'Lisp'; }
pre.src-lilypond:before { content: 'Lilypond'; }
pre.src-lua:before { content: 'Lua'; }
pre.src-matlab:before { content: 'MATLAB'; }
pre.src-mscgen:before { content: 'Mscgen'; }
pre.src-ocaml:before { content: 'Objective Caml'; }
pre.src-octave:before { content: 'Octave'; }
pre.src-org:before { content: 'Org mode'; }
pre.src-oz:before { content: 'OZ'; }
pre.src-plantuml:before { content: 'Plantuml'; }
pre.src-processing:before { content: 'Processing.js'; }
pre.src-python:before { content: 'Python'; }
pre.src-R:before { content: 'R'; }
pre.src-ruby:before { content: 'Ruby'; }
pre.src-sass:before { content: 'Sass'; }
pre.src-scheme:before { content: 'Scheme'; }
pre.src-screen:before { content: 'Gnu Screen'; }
pre.src-sed:before { content: 'Sed'; }
pre.src-sh:before { content: 'shell'; }
pre.src-sql:before { content: 'SQL'; }
pre.src-sqlite:before { content: 'SQLite'; }
/* additional languages in org.el's org-babel-load-languages alist */
pre.src-forth:before { content: 'Forth'; }
pre.src-io:before { content: 'IO'; }
pre.src-J:before { content: 'J'; }
pre.src-makefile:before { content: 'Makefile'; }
pre.src-maxima:before { content: 'Maxima'; }
pre.src-perl:before { content: 'Perl'; }
pre.src-picolisp:before { content: 'Pico Lisp'; }
pre.src-scala:before { content: 'Scala'; }
pre.src-shell:before { content: 'Shell Script'; }
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
/* additional language identifiers per "defun org-babel-execute"
       in ob-*.el */
pre.src-cpp:before  { content: 'C++'; }
pre.src-abc:before  { content: 'ABC'; }
pre.src-coq:before  { content: 'Coq'; }
pre.src-groovy:before  { content: 'Groovy'; }
/* additional language identifiers from org-babel-shell-names in
     ob-shell.el: ob-shell is the only babel language using a lambda to put
     the execution function name together. */
pre.src-bash:before  { content: 'bash'; }
pre.src-csh:before  { content: 'csh'; }
pre.src-ash:before  { content: 'ash'; }
pre.src-dash:before  { content: 'dash'; }
pre.src-ksh:before  { content: 'ksh'; }
pre.src-mksh:before  { content: 'mksh'; }
pre.src-posh:before  { content: 'posh'; }
/* Additional Emacs modes also supported by the LaTeX listings package */
pre.src-ada:before { content: 'Ada'; }
pre.src-asm:before { content: 'Assembler'; }
pre.src-caml:before { content: 'Caml'; }
pre.src-delphi:before { content: 'Delphi'; }
pre.src-html:before { content: 'HTML'; }
pre.src-idl:before { content: 'IDL'; }
pre.src-mercury:before { content: 'Mercury'; }
pre.src-metapost:before { content: 'MetaPost'; }
pre.src-modula-2:before { content: 'Modula-2'; }
pre.src-pascal:before { content: 'Pascal'; }
pre.src-ps:before { content: 'PostScript'; }
pre.src-prolog:before { content: 'Prolog'; }
pre.src-simula:before { content: 'Simula'; }
pre.src-tcl:before { content: 'tcl'; }
pre.src-tex:before { content: 'TeX'; }
pre.src-plain-tex:before { content: 'Plain TeX'; }
pre.src-verilog:before { content: 'Verilog'; }
pre.src-vhdl:before { content: 'VHDL'; }
pre.src-xml:before { content: 'XML'; }
pre.src-nxml:before { content: 'XML'; }
/* add a generic configuration mode; LaTeX export needs an additional
     (add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
pre.src-conf:before { content: 'Configuration File'; }

table {
    border-collapse:collapse;
}

caption.t-above {
    caption-side: top;
}

caption.t-bottom {
    caption-side: bottom;
}

td, th {
    padding: 0 0.5ch;
    vertical-align:top;
}

th.org-right  {
    text-align: center;
}

th.org-left   {
    text-align: center;
}

th.org-center {
    text-align: center;
}

td.org-right  {
    text-align: right;
}

td.org-left   {
    text-align: left;
}

td.org-center {
    text-align: center;
}

dt {
    font-weight: bold;
}

.footpara {
    display: inline;
}

.footdef  {
    margin-bottom: 1em;
}

.figure {
    padding: 1em;
}

.figure p {
    text-align: center;
}

.inlinetask {
    padding: 10px;
    border: 2px solid gray;
    margin: 10px;
    background: #ffffcc;

}

#org-div-home-and-up
{
    text-align: right; font-size: 70%; white-space: nowrap;
}

textarea {
    overflow-x: auto;
}

.linenr {
    font-size: smaller
}

.code-highlighted {
    background-color: #ffff00;
}

.org-info-js_info-navigation {
    border-style: none;
}

#org-info-js_console-label
{
    font-size: 10px; font-weight: bold; white-space: nowrap;
}

.org-info-js_search-highlight
{
    background-color: #ffff00; color: #000000; font-weight: bold;
}

.org-svg {
    width: 90%;
}


html {
    font-family:
	Optima,
	-apple-system,
	".SFNSText-Regular",
	"San Francisco",
	"Roboto",
	"Segoe UI",
	"Helvetica Neue",
	"Lucida Grande",
	sans-serif;
    margin: 0 0.5ch;
}

body {
    font-size: large;
    max-width: 100%;
    margin: 0;
}

.abstract {
    padding: 0 10%;
    border-top: 1px dashed #ccc;
    border-bottom: 1px dashed #ccc;
}

nav ul {
    padding: 0;
    list-style-type: none;
}

nav ul li {
    display: inline;
    padding-left: 1ch;
    white-space: nowrap;
}

nav ul li:first-child {
    padding-left: 0;
}

img {
    max-width: 100%;
}

#postamble {
    border-top: 1px dashed #ccc;
    font-size: smaller;
    color: #888;
}

@media (min-width: 600px) {
    body {
        font-size: x-large;
        max-width: 65ch;
        margin: auto;
    }
}

td + td, th + th {
    border-left: 0.5px solid grey;
}

thead + tbody, tbody + tbody {
    border-top: 1px solid grey;
}

caption.t-above {
    padding: 0.5ch;
}

#footnotes {
    border-top: 1px solid grey;
}


/* Drawers. Inspired by https://pavpanchekha.com/blog/org-mode-publish.html */
.drawer {
    padding: 20px;
    margin: 1em 0;
    border: 5px solid salmon;
}
.drawer h6 {
    font-size: 100%;
    font-weight: bold;
    margin: 0 0 1em 0;
}
.drawer *:last-child {margin-bottom: 0;}

aside {
    background: lightgray;
    width: 30%;
    padding: 0 1em;
    float: right;
}
