  pre {
    font-weight: normal;
  }

  /* java keywords plus the literals - true, false, null */
  .key {
    color: blue;
    font-weight: bold;
  }
  .key:hover {
    color: blue;
    background-color: #ffff99;
  }

  /* string literals */
  .str {
    color: #b00000;
  }
  /* char literals */
  .ch {
    color: #d00000;
  }
  /* number literals */
  .num {
    color: #037507;
  }
  /* normal comments */
  .comm {
    color: #f60;
    font-style: italic;
  }
  /* javadoc comments */
  .jdoc {
    color: #060;
    font-style: normal;
  }
  /* line numbers */
  .ln {
    color: #b0b0b0;
    font-style: normal;
  }

  .key, .str, .ch, .num, .jdoc, .comm, .ln {
    background-color: transparent;
    font-family: "courier new", courier, sans-serif;
  }

  /* identifiers */
  .id {
    color: #014;
    background-color: transparent;
  }

  /* brackets
     b1 - '{', '}'
     b2 - '('. ')'
     b3 - '[', ']'
  */
  .b1, .b2, .b3 {
    font-weight: bold;
  }
  /* '{' and '}' */
  .b1 {
    font-size: large;
  }

  /* operators */
  .op {
    color: #ff5c00;
    background-color: transparent;
    font-weight: bold;
    font-family: "courier new", courier, sans-serif;
  }

  /* Haskell types */
  .tp {
    color: #007070;
    background-color: transparent;
    font-weight: bold;
  }


