h1 {
    font-family: serif;
    border-top-style: solid;
    border-top-width: 5px;
    padding-top: 9pt;
    margin-top: 40pt;
    color: #222266;
}

h1.title {
    border: none;
}

h2 {
    font-family: serif;
    border-top-style: solid;
    border-top-width: 2px;
    border-color: #ccccdd;
    padding-top: 9pt;
    margin-top: 40pt;
    margin-bottom: 2pt;
    color: #222266;
}

h3 {
    font-family: serif;
    font-style: bold;
    margin-top: 20pt;
    margin-bottom: 2pt;
    color: #222266;
}

h4 {
    font-family: serif;
    font-style: italic;
    margin-top: 2pt;
    margin-bottom: 2pt;
    color: #666688;
}

@media print {
    table {
        font-size: 8pt;
    }
}

@media screen {
    table {
        font-size: 10pt;
    }
}

pre {
    background: #eeeeff;
    border-color: #aaaaff;
    border-style: solid;
    border-width: 1px;
    margin-left: 40pt;
    margin-right: 40pt;
    padding: 6pt;
}

table {
    border-collapse: collapse;
    margin-top: 10pt;
    margin-left: 40pt;
    margin-right: 40pt;
}

table th {
    font-family: sans-serif;
    background: #aabbff;
}

table td {
    font-family: sans-serif;
    border-top-style: solid;
    border-bottom-style: solid;
    border-width: 1px;
    border-color: #aaaaff;
    padding-top: 3pt;
    padding-bottom: 3pt;
    padding-left: 3pt;
    padding-right: 4pt;
    background: #eeeeff;
}

table p {
    margin-bottom: 0pt;
}

/* for the bnf syntax sections */

table.bnf {
    background: #eeeeff;
    border-color: #aaaaff;
    border-style: solid;
    border-width: 1px;
    margin-top: 3pt;
    margin-bottom: 3pt;
    padding-top: 2pt;
    padding-bottom: 6pt;
    padding-left: 6pt;
    padding-right: 6pt;
}

table.bnf td {
    border: none;
    padding-left: 6pt;
    padding-right: 6pt;
    padding-top: 1pt;
    padding-bottom: 1pt;
}

table.bnf td:first-child {
    padding-right: 0pt;
    width: 8pt;
}

table.bnf td:first-child td {
    padding-left: 0pt;
}

table.bnf td.def {
    padding-top: 6pt;
}

table.bnf td.bar {
    padding-left: 15pt;
}

table.bnf code {
    font-weight: bold;
}


/* for the type name guide */

table.guide {
    margin-top: 20pt;
    margin-bottom: 20pt;
}

table.guide td:first-child {
    font-family: monospace;
    width: 15%;
}

table.guide td:first-child + td {
    font-family: sans-serif;
    width: 85%;
}


/* for the LEB128 example tables */

table.leb128Bits {
    margin-top: 20pt;
    margin-bottom: 20pt;
}

table.leb128Bits td {
    border-left: solid #aaaaff 1px;
    border-right: solid #aaaaff 1px;
}

table.leb128Bits td.start1 {
    border-left: none;
}

table.leb128Bits td.start2 {
    border-left: solid #000 2px;
}

table.leb128Bits td.end2 {
    border-right: none;
}

table.leb128 {
    margin-top: 20pt;
    margin-bottom: 20pt;
}

table.leb128 td:first-child {
    font-family: monospace;
    text-align: center;
    width: 31%;
}

table.leb128 td:first-child + td {
    font-family: monospace;
    text-align: center;
    width: 23%;
}

table.leb128 td:first-child + td + td {
    font-family: monospace;
    text-align: center;
    width: 23%;
}

table.leb128 td:first-child + td + td + td {
    font-family: monospace;
    text-align: center;
    width: 23%;
}


/* for the general format tables */

table.format {
    margin-top: 20pt;
    margin-bottom: 20pt;
}

table.format td:first-child {
    font-family: monospace;
    width: 20%;
}

table.format td:first-child + td {
    font-family: monospace;
    width: 20%;
}

table.format td:first-child + td + td {
    width: 60%;
}

table.format td i {
    font-family: sans-serif;
}


/* for the type code table */

table.typeCodes {
    margin-top: 20pt;
    margin-bottom: 20pt;
}

table.typeCodes td:first-child {
    font-family: monospace;
    width: 30%;
}

table.typeCodes td:first-child + td {
    font-family: monospace;
    width: 30%;
}

table.typeCodes td:first-child + td + td {
    font-family: monospace;
    width: 10%;
}

table.typeCodes td:first-child + td + td + td {
    font-family: monospace;
    width: 30%;
}

table.typeCodes td i {
    font-family: sans-serif;
}


/* for the access flags table */

table.accessFlags {
    margin-top: 20pt;
    margin-bottom: 20pt;
}

table.accessFlags td:first-child {
    font-family: monospace;
    width: 10%;
}

table.accessFlags td:first-child + td {
    font-family: monospace;
    width: 6%;
}

table.accessFlags td:first-child + td + td {
    width: 28%;
}

table.accessFlags td:first-child + td + td + td {
    width: 28%;
}

table.accessFlags td:first-child + td + td + td + td {
    width: 28%;
}

table.accessFlags i {
    font-family: sans-serif;
}


/* for the descriptor table */

table.descriptor {
    margin-top: 20pt;
    margin-bottom: 20pt;
}

table.descriptor td:first-child {
    font-family: monospace;
    width: 25%;
}

table.descriptor td:first-child + td {
    font-family: sans-serif;
    width: 75%;
}


/* for the debug bytecode table */

table.debugByteCode {
    margin-top: 20pt;
    margin-bottom: 20pt;
}

table.debugByteCode td:first-child {
    font-family: monospace;
    width: 20%;
}

table.debugByteCode td:first-child + td {
    font-family: monospace;
    width: 5%;
}

table.debugByteCode td:first-child + td + td{
    font-family: monospace;
    width: 15%;
}

table.debugByteCode td:first-child + td + td + td {
    width: 25%;
}

table.debugByteCode td:first-child + td + td + td + td {
    width: 35%;
}

table.debugByteCode i {
    font-family: sans-serif;
}


/* for the encoded value table */

table.encodedValue {
    margin-top: 20pt;
    margin-bottom: 20pt;
}

table.encodedValue td:first-child {
    font-family: monospace;
    width: 12%;
}

table.encodedValue td:first-child + td {
    font-family: monospace;
    width: 10%;
}

table.encodedValue td:first-child + td + td {
    font-family: monospace;
    width: 15%;
}

table.encodedValue td:first-child + td + td + td {
    font-family: monospace;
    width: 15%;
}

table.encodedValue td:first-child + td + td + td + td {
    width: 48%;
}

table.encodedValue td i {
    font-family: sans-serif;
}
