body {
    margin:0;
    padding:0;
    color:#000;
    background-color:#fff;
    font-family:Georgia, Times, Serif;
    font-size:small;
    line-height:1.6em;
}
a {
    color:#036;
    background-color:inherit;
    text-decoration:none;
}
a:hover {
    color:#f00;
    background-color:inherit;
    text-decoration:underline;
}
h1 {
    margin:0;
    font-size:medium;
    font-weight:bold;
    font-style:normal;
}
ul, ol {
    margin:0;
    padding-left:2em;
}
pre {
    padding:1em;
    border:1px solid #000;
    font-family:Courier, Monospace;
    font-size:small;
    line-height:1.2em;
}
abbr, span.notation {
    cursor:help;
    border-bottom:2px dotted #666;
}
div.control {
    font-family:Verdana, Helvetica, Sans-serif;
    font-size:smaller;
}
div.control a {
    color:#ccc;
    background-color:inherit;
    text-decoration:none;
}
div.control a:hover {
    color:#fff;
    background-color:inherit;
    text-decoration:underline;
}

/**
 * Abstract construct
 */
#specification,
#element-component {
    display:none;
}
#container {
    overflow:hidden;
}
#left {
    float:left;
    overflow:hidden;
    width:49%;
}
#right {
    float:right;
    overflow:hidden;
    width:50%;
}
#header, #footer {
    padding:.5em 1em .5em 1em;
    border:1px solid #000;
    color:#fff;
    background-color:#000;
}
#header a, #footer a {
    color:#ccc;
    background-color:inherit;
    text-decoration:none;
}
#header a:hover, #footer a:hover {
    color:#fff;
    background-color:inherit;
    text-decoration:underline;
}
#footer {
    clear:both;
    font-family:Verdana, Helvetica, Sans-serif;
    font-size:smaller;
    line-height:1.2em;
}
#footer p {
    margin:0;
}
#controller {
    float:right;
    position:relative;
    padding:0 .5em 0 .5em;
    color:#ccc;
    background-color:#069;
    border:1px solid #ccc;
}

/**
 * Spec container
 */
#spec-container {
    padding:1em;
}
#spec-container table {
    border-collapse:collapse;
}
#spec-container th,
#spec-container td {
    vertical-align:top;
    border-bottom:1px solid #000;
    font-weight:normal;
    text-align:left;
}
#spec-container th {
    width:30%;
    padding: .1em .5em .1em 0;
    font-style:oblique;
}
#spec-container td {
    padding: .1em 0 .1em .5em;
    font-style:normal;
}
#spec-container .alternate {
    padding:.1em .5em .1em .5em;
    border:1px solid #9c6;
    display:block;
    background-color:#cf9;
}

/**
 * Structure block
 */
#structure-block {
    margin:0;
    padding:1em;
    color:#000;
    background-color:#fff;
}
#structure-block h3,
#structure-block h4 {
    font-size:small;
    margin:0;
}
#structure-block h3 {
    font-weight:bold;
    font-style:normal;
}
#structure-block h4 {
    font-weight:normal;
    font-style:oblique;
}
#structure-block div {
    overflow:hidden;
    margin:.3em;
    padding:.1em .3em .1em .3em;
}
#structure-block div.root,
#structure-block div.content-container {
    margin:0;
    padding:0;
    border:0;
}
#structure-block div.element {
    border:1px solid #000;
    color:inherit;
    background-color:#ffc;
    font-family:"Trebuchet MS", Helvetica, Sans-serif;
}
#structure-block div.construct {
    border:1px solid #666;
    color:inherit;
    background-color:#eee;
    font-family:"Trebuchet MS", Helvetica, Sans-serif;
}
#structure-block div.common-attribute {
    border:1px solid #666;
    color:inherit;
    background-color:#ddd;
    font-family:"Trebuchet MS", Helvetica, Sans-serif;
}
#structure-block div.attribute {
    border:1px solid #369;
    color:inherit;
    background-color:#9cf;
    font-family:"Trebuchet MS", Helvetica, Sans-serif;
}
#structure-block div.attribute-value {
    border:1px solid #339;
    color:inherit;
    background-color:#99f;
    font-style:oblique;
    font-family:"Trebuchet MS", Helvetica, Sans-serif;
}
#structure-block div.text {
    border:1px solid #936;
    color:inherit;
    background-color:#f9c;
    font-style:oblique;
    font-family:"Trebuchet MS", Helvetica, Sans-serif;
}
#structure-block table {
    border-collapse:collapse;
    table-layout:fixed;
    width:100%;
}
#structure-block table td {
    vertical-align:top;
    padding:0;
    border:0;
}
#structure-block .altlink{
    cursor:pointer;
}
#structure-block div.reference {
    padding:1em;
    border:2px dotted #999;
    font-family:Verdana, Helvetica, Sans-serif;
}
#structure-block div.reference h2 {
    margin:0;
    font-size:small;
    font-weight:normal;
    font-style:normal;
    text-transform:uppercase;
}
#structure-block div.reference ul {
    font-size:smaller;
    line-height:1.2em;
}

/**
 * Correction for print
 */
@media print {
    body, pre {
        font-size:x-small;
    }
    #container,
    #structure-block div {
        overflow:visible;
    }
    #left,
    #right {
        float:none;
        overflow:visible;
        width:100% !important;
    }
    #controller {
        display:none;
    }
}
