/* Body */
body {
    background-color: #FFFFFF;
    color: #000000;
    font-family: Verdana,'DejaVu Sans',sans-serif;
    vertical-align: top;
}

/* Headings */
h1, h2, h3, h4, h5, h6 { font-family: Georgia, 'Times New Roman', serif; }
h1, h2, h3 { color: #242424; }

/* Lists */
ol { list-style: decimal outside none; }
ul { list-style: circle outside none; }

/* Hidden content */
.hidden         { display: none; }

/* Horizontal align */
.left           { text-align:  left;   }
.center         { text-align:  center; }
.right          { text-align:  right;  }
.hpadl   { padding-left:  2em; }
.hpadr   { padding-right: 2em; }
.hpad    { padding-left:  2em; padding-right: 2em; }

/* Vertical align */
.top          { vertical-align: top; }
.middle       { vertical-align: middle; }
.bottom       { vertical-align: bottom; }

/* Font style */
.emph           { font-style:  italic; }
.italic         { font-style:  italic; }
.normal         { font-style:  normal; }
.bold           { font-weight: bold;   }
.monospace      { font-family: monospace; }

/* Absolute font sizes */
.xx-small       { font-size: xx-small; }
.x-small        { font-size:  x-small; }
.small          { font-size:    small; }
.large          { font-size:    large; }
.x-large        { font-size:  x-large; }
.xx-large       { font-size: xx-large; }

/* Relative font sizes */
.smaller        { font-size: smaller; }
.larger         { font-size:  larger; }

/* Lines */
.line-through   { text-decoration: line-through; }
.underline      { text-decoration: underline; }

/* generic importance levels */
.info     { background-color: #FFC000; color: #000000; }
.info a   { background-color: #FFC000; color: #000080; }
.debug    { color: #808080; }
.debug a  { color: #808080; }
.error    { background-color: #FF0000; color: #FFFFFF; }
.error a  { background-color: #FF0000; color: #FFFFFF; }

div.error { border: medium double #FFFFFF; }
div.error > p:first-child[class~="title"] {
    background-color: red;
    color: yellow;
    font-size: larger;
    font-weight: bold;
    text-align: center;
    text-decoration: underline;
}

div, table, tr, td {
    vertical-align: top;
    border-spacing: 0;
    border: thin none #000000;
    outline-style: none;
    margin: 0;
    padding: 0;
}
table {
    border-collapse: collapse;
}

p {
    text-align: justify;
    /* max-width: 60em; */
}
p.footnote      { font-size: smaller; }
p.center        { text-align: center; }
p.right         { text-align: right; }
p.top           { margin-top: 0; }

.float-left  { float: left; }
.float-right { float: right; }
