/* BASICS */
* {
    margin: 0;
    padding: 0;
}

body {
   font-family: 'Dejavu Sans', 'Nimbus Sans', Helvetica, Arial, Verdana, sans-serif;
   font-size: 0.875em;
   color: #000;
}

#bodyend {
    clear: both;
}

#metadata {
    margin: 10px 0;
    border-style: dashed;
    border-color: #ccc;
    border-width: 4px 0 0 0;
    background: #aaa url('/static/metadata.png') no-repeat right bottom;
    padding: 2px 5px;
    color: #fff;
}

#metadata table, #metadata td, #metadata th {
    border: None;
    margin: 0;
}

#toc {
    background-color: #ddd;
    border: 2px dotted #aaa;
    display: inline-block;
    padding: 4px 9px;
    margin: 2px 0 10px 4px;
}

#toc li.level1 {
    margin-left: 0;
}

#toc li.level2 {
    margin-left: 10px;
}

#toc li.level3 {
    margin-left: 19px;
}

#toc li.level4 {
    margin-left: 27px;
}

#toc li.level5 {
    margin-left: 34px;
}

#toc li.level6 {
    margin-left: 40px;
}


/* LINKS */

a {
    text-decoration: none;
}

a:link, a:visited {
    color: #004a7f;
}

a:hover {
    color: #200cff;
}

/* HEADINGS */

h1, h2, h3, h4, h5, h6 {
    font-family: 'Dejavu Serif', FreeSerif, 'Nimbus Roman', Georgia, serif;
    font-weight: normal;
}

h1 {
    margin: 16px 0 5px 0;
    font-size: 2em;
}

h1:first-child {
    margin-top: 0;
}

h2 {
    margin: 14px 0 5px 0 ;
    font-size: 1.8em;
    background-color: #ddd;
}

h3 {
    margin: 9px 0 3px 0;
    font-size: 1.6em;
}

h4 {
    margin: 7px 0 2px 0;
    font-size: 1.4em;
    font-weight: bold;
}

h5 {
    margin: 5px 0 1px 0;
    font-size: 1.2em;
    font-weight: bold;
}

h6 {
    margin: 3px 0 1px 0;
    font-size: 1.1em;
    font-weight: bold;
}


/* Misc. elements */

p {
    text-align: justify;
    margin-top: 10px;
}

p:first-child {
    margin-top: 0;
}

div.caption {
    clear: both;
    margin-bottom: 10px;
}

caption, div.caption > p {
    background-color: #ddd;
    padding: 3px;
    text-align: center;
    font-style: italic;
}

div.caption.center-float img {
    margin: 0 auto;
}

div.caption.left-float img {
    margin: 0;
}

div.caption.center-float {
    text-align: center;
}

div.caption.center-float p {
    display: inline-block;
}

tt, code, samp, pre, var {
    font-family: 'Dejavu Sans Mono', monospace;
    font-size: 95%;
}

pre {
    margin-top: 10px;
    word-wrap: break-word;
}

img {
    border: none;
    clear: both;
    margin-bottom: 10px;
}

cite, quote {
    border-bottom: 1px dashed yellow;
}

blockquote {
    margin: 5px 0 5px 20px;
    font-size: 1.08em;
}

acronym, abbreviation {
    border-bottom: 1px dashed green;
}

kbd {
    background-color: #fff;
    padding: 1px 2px;
}

dfn {
    font-style: italic;
}

dfn {
    font-style: italic;
}

ins {
    text-decoration: underline;
}

del {
    text-decoration: line-through;
}

hr {
    margin: 5px 0;
}


/* Lists */

ul, ol {
    margin-top: 5px;
    list-style-position: inside;
}

ul > ul, ul > ol, ol > ul, ol > ol {
    margin-left: 17px;
    margin-bottom: 0;
    padding-left: 5px;
}

ul {
    list-style-type: disc;
}

ul > ul, ol > ul {
    list-style-type: square;
}

ul > * > ul, ol > * > ul {
    list-style-type: circle;
}

ul > * * > ul, ol > * * > ul {
    list-style-type: disc !important;
}

ol {
    list-style-type: decimal;
}

ol > ol, ul > ol {
    list-style-type: upper-alpha;
}

ol > * > ol, ul > * > ol {
    list-style-type: lower-alpha;
}

ol > * * > ol, ul > * * > ol {
    list-style-type: decimal !important;
}


/* Definition lists */

dd {
    margin-left: 20px;
}

dl dl {
    margin-left: 21px;
    padding-left: 5px;
    border-left: 4px solid #000;
}


/* Tables */

table {
    margin: 5px auto;
    border-collapse: collapse;
}

table, thead, tbody, tfoot, td, th {
    border-style: inset;
    border-color: black;
}

td, th {
    margin: 0 5px;
    padding: 1px 3px;
    border-width: 0 2px 0 0;
}

td:last-child, th:last-child {
    border-width: 0;
}

table, tbody {
    border-width: 0;
}

thead {
    border-width: 0 0 2px 0;
}

tfoot {
    border-width: 2px 0 0 0;
}

thead, tfoot {
    font-weight: bold;
}


/* Math */

.math {
    position: relative;
    top: 14px;
}

.block.math {
    position: static;
    top: 0;
    margin: 10px auto 0 auto;
}

caption {
    caption-side: bottom;
}


/* Formatting-related classes */

.strong {
    font-weight: bold;
}

.emph {
    font-style: italic;
}

.underline {
    text-decoration: underline;
}

.center-align, .center-align > * {
    text-align: center !important;
}

.right-align, .right-align > * {
    text-align: right !important;
}

.left-align, .left-align > * {
    text-align: left !important;
}

.center-float {
    margin-right: auto;
    margin-left: auto;
}

.right-float {
    float: right;
}

.left-float {
    float: left;
}

div.right-float, img.right-float, video.right-float, audio.right-float  {
    margin-left: 10px;
}

div.left-float, img.left-float, video.left-float, audio.left-float  {
    margin-right: 10px;
}

.block {
    display: block;
}

.inline {
    display: inline;
}

.clear {
   clear: both;
}

.noclear, div.caption.noclear {
    clear: none !important;
}

.huge, .huge * {
    font-size: 1.8em !important;
}

.large, .large * {
    font-size: 1.5em !important;
}

.medium, .medium * {
    font-size: 1em !important;
}

.small, .small * {
    font-size: 0.8em !important;
}

.tiny, .tiny * {
    font-size: 0.65em !important;
}


/* Code highlighting */

.highlight {
    padding: 2px 4px;
}

.highlight span {
    white-space: pre;
}

.highlighttable {
    margin: 5px 0 5px 0;
}

.highlighttable pre {
    margin-top: 0;
}

.highlighttable, .highlighttable .code  {
    border-width: 0;
}

.linenos {
    border-width: 0 1px 0 0;
    border-style: solid;
    border-color: black;
    vertical-align: top;
}

/* Projects boxes */

.projectboxes li {
    display: block;
    float: left;
    margin: 0 10px 10px 0;
    width: 230px;
    overflow: hidden;
    background-color: #000;
}

.projectboxes li a {
    display: block;
    padding: 2px 3px;
    height: 115px;
    overflow: hidden;
    background-position: 0 20px;
	background-repeat: no-repeat;
    white-space: nowrap;
    text-align: right;
}

.projectboxes li a:link, .projectboxes li a:visited {
    color: #ffff00;
    font-weight: bold;
}

.projectboxes li a:hover {
    background-color: #ffff00;
    color: #000;
}

.projectboxes li dfn {
    display: block;
    padding: 2px 3px;
    height: 35px;
    overflow: hidden;
    font-style: normal;
    color: #fff;
    background-color: #444;
}

/* Misc. classes */

.warning {
    background-color: #ffa400;
    font-weight: bold;
    padding: 5px 5px 0 5px;
    border: 1px outset black;
}

.note {
    background-color: #c3cfcf;
    font-weight: bold;
    padding: 5px 5px 0 5px;
    border: 1px outset black;
}

.notice {
    background-color: yellow;
}

.notice p, .note p, .warning p {
    margin-bottom: 5px;
}