h1 {font-size:1.2em}

body {
font-family:sans-serif;
line-height:1.5;
}
section {}
h1 {}
body > section {}
body > section > section {}
body > section > section section {}
body > .inner-title { font-size: 160%;}
body section h1 {}
body > hgroup > h1 {}
h1 span.secnum {}
body section h2 { font-size: 90%;}

h1 > span.section-status { display: block; }

b, em.jargon-first-use, span.this, span.value, span.libname,
span.errorname, code, pre {color:#8b2252}

code, pre, .string.value { font-family:monospace; }
code, .string, .math { white-space: nowrap; }

#sec4\.3 section h1 { font-size: 100%; margin-bottom: 0; }

sup, sub {
    font-size: smaller;
    vertical-align: baseline;  /* Make sup and sub not affect line height. */
    position: relative;
}
sup { bottom:  0.3em; }
sub { bottom: -0.3em; }
.gp sub, .prod sub, sub.gopt {  /* Specifically for "opt". */
    font-size: 65%;
}

pre {
    margin-left: 2em;
    font-size: 85%;
}
div.math-display {
    margin-left: 4em;
}

a:link {
    text-decoration: none;
    color: #3333bb;
}
a:hover {
    text-decoration: underline;
    color: blue;
}
a:link b, a:link span.value, a:link span.this,

a:link span.libname, a:link span.errorname, a:link code { color: #5555bb; }

a:hover b, a:hover span.value, a:hover span.this,
a:hover span.libname, a:hover span.errorname, a:hover code { color: #0000ee; }
a:visited b, a:visited span.value, a:visited span.this,
a:visited span.libname, a:visited span.errorname, a:visited code { color: inherit; }
span.secnum a:link, span.secnum a:visited { color: inherit; }
h1:hover span.secnum a:link, h1:hover span.secnum a:visited { color:#5555bb; text-decoration: underline; }
.toc span.secnum a:link, .toc span.secnum a:visited { color:#5555bb; }

em { font-style: italic; }
p.formal-reference { margin-left: 3em; text-indent: -1em; }
span.book-title { font-style: italic; }
span.abstractopname { font-style: italic; }
span.typename { font-style: italic; }
span.typecombinator { font-style: italic; }
dfn { font-style: italic; }

div.blank-page:after {
    content: '\0000a0';
    clear: both;
    margin-bottom: 1em;
}

/* Front matter */
ol.toc { padding-left: 0; }
ol.toc > li { list-style-type: none; padding-left: 1em; text-indent: -1em;}
ol.toc > li span.secnum {
    float: none;
}

#unofficial { background-color: #eed4bb; }
#ecma-disclaimer { font-style: italic; border: 1px solid; margin: 2em 0 3em 0; }
.stern.warning { font-weight: bold; text-transform: uppercase; }

/* Notes */
div.note { margin: 1em 0 1em 6em; }
span.nh { float: left; width: 6em; margin-left: -6em; }

/* Figures and tables */
figure { display: block; margin: 1em 0 3em 0; }
figure object { display: block; margin: 0 auto; }
figure table.real-table { margin: 0 auto; }
figure figcaption { display: block; color: #555555; font-weight: bold; text-align: center; }

table.real-table {
    border-collapse: collapse;
}
table.real-table td, table.real-table th {
    border: 1px solid black;
    padding: 0.4em;
    vertical-align: baseline;
}
table.real-table th {
    background-color: #eeeeee;
}

/* Note: the left content edges of table.lightweight-table >tbody >tr >td
   and div.display line up. */
table.lightweight-table {
    border-collapse: collapse;
    margin: 0 0 0 1.5em;
}
table.lightweight-table td, table.lightweight-table th {
    border: none;
    padding: 0 0.5em;
    vertical-align: baseline;
}
div.display { margin: 1em 0 1em 2em; }

/* Grammar productions */
div.gp { margin-left: 2.4em; margin-top: 0.9em; }
div.rhs { margin-left: 2.4em; }  /* right-hand side */
div.pile { margin-left: 2.4em; max-width: 40em; }
div.keyword.pile code { float: left; width: 25%; }
div.keyword5.pile code { float: left; width: 20%; }
div.operator.pile code { float: left; width: 16%; }
div.end-pile { clear: both; }

code { /* including code.t, meaning "terminal" or "token" */

}

span.nt {  /* nonterminal */
    font-family: serif;
    font-style: italic;
}
span.geq { font-weight: bold; }  /* grammar equal-sign, like "::" */
span.grhsmod {  /* right-hand side modifier, like "one of", "but not" */
    font-weight: bold;
    color: #555555;
}
span.grhsannot {   /* right-hand side annotation, like "[empty]" */
    font-family: Helvetica, Arial, Liberation Sans, sans-serif;
    font-size: smaller;
}
span.chgloss {  /* gloss for a character, like "asterisk" */
    font-style: italic;
}
span.gprose {
    font-family: Helvetica, Arial, Liberation Sans, sans-serif;
    font-size: 90%;
}

div.gsumxref {     /* grammar summary cross-reference, used in Annex A */
    width: 8em;
    float: right;
}

span.prod { margin-left: 5pt; margin-right: 5pt; }

div.rhs > code.t,
div.rhs > span.nt,
div.rhs > span.grhsannot,
div.rhs > span.grhsmod,
div.rhs > span.chgloss,
div.rhs > span.gprose,
div.rhs > var,
span.prod > span.geq,
span.prod > code.t,
span.prod > span.nt,
span.prod > span.grhsannot,
span.prod > span.grhsmod,
span.prod > span.chgloss,
span.prod > span.gprose,
div.rhs > var {
    margin-left: 5pt;
}

div.rhs > code.t:first-child,
div.rhs > span.nt:first-child,
div.rhs > span.grhsannot:first-child,
div.rhs > span.grhsmod:first-child,
div.rhs > span.chgloss:first-child,
div.rhs > span.gprose:first-child,
div.rhs > var:first-child,
span.prod > span.geq:first-child,
span.prod > code.t:first-child,
span.prod > span.nt:first-child,
span.prod > span.grhsannot:first-child,
span.prod > span.grhsmod:first-child,
span.prod > span.chprose:first-child,
span.prod > span.gprose:first-child,
span.prod > var:first-child {
    margin-left: 0;
}

ul > li { list-style-type: disc; }

/* Procedures */
ol.proc > li { list-style-type: decimal; }
ol.proc > li > ol.block > li { list-style-type: lower-latin; }
ol.proc > li > ol.block > li > ol.block > li
  { list-style-type: lower-roman; }
ol.proc > li > ol.block > li > ol.block > li >
  ol.block > li { list-style-type: decimal; }
ol.proc > li > ol.block > li > ol.block > li >
  ol.block > li > ol.block > li { list-style-type: lower-latin; }
ol.proc > li > ol.block > li > ol.block > li >
  ol.block > li > ol.block > li > ol.block > li
  { list-style-type: lower-roman; }

/* Bibliography */
ol.bibliography { margin-left: 0; }
ol.bibliography > li {
    margin-left: 3em; list-style-type: none; margin-bottom: 1.1em; }
ol.bibliography > li > span.num {
    float: left; margin-left: -3em; width: 2.5em; text-align: right; }

