p {
    -ms-hyphens: auto;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    hyphens: auto;
    max-width: 40em;
}
li.languageChoice {
    position: relative;
    display: block;
}
span.otherLanguages {
    display: none;
}
li.languageChoice:hover span.otherLanguages {
    position: absolute;
    display: block;
}
/**
 * page layout
 * use display table to keep footer low, even on empty pages
 */
html {
    height: 100%;
}
body {
    display: table;
    height: 100%;
    width: 100%;
    /* page background goes here */
}
body > div.toprow, body > div.bottomrow {
    display: table-row;
    margin: 0;
    padding: 0;
    border: 0;
}
body > div.toprow > .topcell, body > div.bottomrow > div.bottomcell {
    display: table-cell;
    display: table-cell;
	width: 100%;
    margin: 0;
    padding: 0;
}
body > div.toprow > div.topcell > *, body > div.bottomrow > div.bottomcell > * {
    margin: 0em;
    /** 1px is needed to avoid collapse of background */
    padding-top: 1px;
    padding-bottom: 1px;
    padding-left: 0;
    padding-right: 0;
}
body > div.toprow > div.topcell {
    vertical-align: top;
}
body > div.bottomrow > div.bottomcell {
    vertical-align: bottom;
}
footer > :first-child{
    padding-top: 0.5em;
}
footer > * {
    background: #eeeeee;
}

/** Layout elements from opendocumentformat.org **/

@font-face {
    font-family: 'FoxScript-Normal';
    src: url('../fonts/foxscript-normal.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'NotethisRegular';
    src: url('../fonts/note_this-webfont.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

div.opendocumentformat div.quote-box {
    padding: 1em;
}

div.opendocumentformat p {
    max-width: 60em;
}

div.opendocumentformat div.highlight-box,
div.opendocumentformat div.quote-box:nth-child(even) {
    -webkit-border-radius: 23px 0px 20px 0px;
    -moz-border-radius: 23px 0px 20px 0px;
    border-radius: 23px 0px 20px 0px;
    -webkit-box-shadow: #b3b3b3 1em 1em 1em;
    -moz-box-shadow: #b3b3b3 1em 1em 1em;
    box-shadow: #b3b3b3 1em 1em 1em;
    padding: 1em;
}

div.opendocumentformat img {
    margin: 1em;
}

div.opendocumentformat div.highlight-box {
    color: white;
    background-color: #552682;
    border: 2px solid #000000;
}

div.opendocumentformat div.quote-box:nth-child(even) {
    color: white;
    background-color: #e8ae0f;
}

div.opendocumentformat div.quote-box img {
    float: left;
    display: block;
    -webkit-box-shadow: #a37f1d 1em 1em 1em;
    -moz-box-shadow: #a37f1d 1em 1em 1em;
    box-shadow: #a37f1d 1em 1em 1em;
    -webkit-border-radius: 7px 0px 7px 0px;
    -moz-border-radius: 7px 0px 7px 0px;
    border-radius: 7px 0px 7px 0px;
}

div.opendocumentformat div.quote-box:nth-child(odd) img {
    float: right;
}

div.opendocumentformat a {
    color: #e8ae0f;
}

div.opendocumentformat cite {
    color: #552682;
}

div.opendocumentformat h1 {
    text-align: center;
    font-family: NotethisRegular;
}

div.opendocumentformat h2 {
    color: #552682;
    font-weight: bold;
}

div.opendocumentformat h3 {
    color: #e8ae0f;
    font-family: NotethisRegular;
}

div.opendocumentformat div.quote {
    font-family: NotethisRegular;
}

div.opendocumentformat blockquote {
    border: 0px;
}

div.opendocumentformat div.highlight-box h2 {
    color: #e8ae0f;
}

div.opendocumentformat .purple {
    color: #552682;
}

div.opendocumentformat div.purple-bg {
    color: white;
    background-color: #552682;
}

div.opendocumentformat .purple-bg a,
div.opendocumentformat .purple-bg > h2,
div.opendocumentformat .purple-bg > h3 {
    color: #e8ae0f;
}

div.opendocumentformat .yellow {
    color: #e8ae0f;
}

div.opendocumentformat div.yellow-bg {
    color: white;
    background-color: #e8ae0f;
}

div.opendocumentformat div.yellow-bg b {
    color: #552682;
}

div.opendocumentformat .yellow-bg a,
div.opendocumentformat .yellow-bg > h2,
div.opendocumentformat .yellow-bg > h3 {
    color: #552682;
}

/*** start code highlighting ***/
table.sourceCode,tr.sourceCode,td.sourceCode,table.sourceCode pre {
    margin: 0;
    padding: 0;
    border: 0;
    vertical-align: baseline;
    border: none;
    background-color: #f8f8f8 ;
}
td.nums {
    text-align: right;
    padding-right: 5px;
    padding-left: 5px;
    background-color: #f0f0f0;
}
td.sourceCode {
    padding-left: 5px;
}
code.sourceCode {
    background-color: #f8f8f8;
}
pre.sourceCode {
    background-color: #f8f8f8;
    line-height: 125% ;
}
td.nums pre {
    background-color: #f0f0f0;
    line-height: 125% ;
}
code.sourceCode span.kw {
    color: #204a87;
    font-weight: bold ;
}
code.sourceCode span.ex {
    color: #204a87;
    font-weight: bold ;
}
code.sourceCode span.dt {
    color: #204a87 ;
}
code.sourceCode span.dv {
    color: #0000cf ;
}
code.sourceCode span.bn {
    color: #0000cf ;
}
code.sourceCode span.fl {
    color: #0000cf ;
}
code.sourceCode span.ch {
    color: #4e9a06 ;
}
code.sourceCode span.st {
    color: #4e9a06 ;
}
code.sourceCode span.co {
    color: #8f5902;
    font-style: italic ;
}
code.sourceCode span.ot {
    color: #8f5902 ;
}
code.sourceCode span.al {
    color: #ef2929 ;
}
code.sourceCode span.fu {
    color: #000000 ;
}
code.sourceCode span.er {
    color: #a40000;
    border: 1px solid #ef2929 ;
}
/*** end code highlighting ***/