p, li, h4 { font-size: 100%; }

p, h4 {
  margin-left: 1.5cm;
  margin-right: 2.5cm;
}

h4 { font-weight: bold; }

#title {
  text-align: center;
}

#title h1 {
  font-size: 250%;
  font-weight: bold;
  margin-bottom: 1cm;
} 

#title .subtitle {
  font-size: 150%;
  font-weight: bold;
}

#title p {
  margin: 0 2em;
}

code {
  font-size: 80%;
  font-family: "OCR A Extended", monospace;
}

pre, pre.xml {
  background-color: #E0E0E0;
  color: #000000;
  margin-left: 1.5cm;
  margin-right: 1.5cm;
  padding: 0.5cm;
  font-family: "OCR A Extended", monospace;
}

ul, ol, dl {
  margin-left: 2.5cm;
  margin-right: 2.5cm;
}

li ul, li ol {
  font-size: 85%;
  margin-left: 1.5cm;
  margin-bottom: 0.7cm;
}

span.xml-tag, code { color: #0000FF; background-color: inherit; font-weight: bold; }
span.xml-attrib-name { color: #800080; background-color: inherit; font-weight: bold; }
span.xml-attrib-value { color: #008000; background-color: inherit; font-weight: bold; } 
span.xml-comment { color: #A0A0A0; background-color: inherit; }
span.xml-cdata { color: #C06060; background-color: inherit; }

@media screen {
  body { font-size: 22px; }
  #content p, #content li { width: 25em; }
}

@media print {
  body { font-size: 12pt; }
  h2.empty { display: none; }
}

@media screen, print {
  body {
    font-family: Optima, sans-serif;
    margin: 0;
    padding: 0;
  }
  #title h1 {
    margin-top: 1cm;
  }
  #title .lowerleft {
    font-size: 70%;
    text-align: left;
    margin-left: 1cm;
  }
  h2 {
    font-size: 160%;
    font-weight: bold;
    border-bottom: solid 1px black;
    margin-left: 1cm;
    margin-right: 1cm;
    margin-top: 1.5cm;
    margin-bottom: 0.8cm;
    clear: both;
  }
  h3 {
    font-size: 120%;
    border-bottom: solid 1px black;
    margin-left: 1cm;
    margin-right: 1cm;
    margin-top: 1.5cm;
    margin-bottom: 0.8cm;
    clear: both;
  }
  pre {
    font-size: 80%;
  }
}

@media projection {
  div { width: 100%; }
  a { color: #004; font-decoration: none; }
  body {
    font-family: Optima, sans-serif;
    font-size: 1cm;
    margin: 0;
    padding: 0;
  }
  #title h1 {
    margin-top: 3.5cm;
  }
  #title .subtitle {
    margin-bottom: 4cm;
  }
  #title .lowerleft {
    font-size: 50%;
    margin-top: 2cm;
    text-align: left;
    margin-left: 0.5cm;
  }
  h2, h3 {
    page-break-before: always;
  }
  h2 {
    width: 100%;
    font-size: 155%;
    margin: 0 0 1.5cm 0;
    text-align: center;
    color: #000000;
    background-color: #E0F0F8;
    padding-top: 1cm;
    padding-bottom: 1cm;
    border-bottom: solid 0.05cm black;
  }
  h2.empty {
    width: 100%;
    font-size: 155%;
    text-align: center;
    color: #000000;
    background: white;
    margin-top: 7cm;
    padding-top: 1cm;
    padding-bottom: 1cm;
    border: none;
  }
  h2.section {
    width: 100%;
    font-size: 155%;
    text-align: center;
    color: #000000;
    background-color: #E0F0F8;
    margin-top: 7cm;
    padding-top: 1cm;
    padding-bottom: 1cm;
    border-bottom: solid 0.05cm black;
    border-top: solid 0.05cm black;
  }
  h3 {
    width: 100%;
    font-size: 120%;
    margin: 0 0 1.5cm 0;
    text-align: left;
    color: #000000;
    background-color: #E0F0F8;
    padding-top: 0.5cm;
    padding-bottom: 0.2cm;
    padding-left: 1.5cm;
    border-bottom: solid 0.05cm black;
  }
  pre {
    font-size: 60%;
  }
  #end {
    text-align: center;
  }
  #end h2 {
    margin-bottom: 7em;
  }
}
