
code :link, code :visited { color: inherit; }

h1 + h2, h2 + h3, h3 + h4, h4 + h5, h5 + h6,
  h1 + div.status + h2, h2 + div.status + h3, h3 + div.status + h4, h4 + div.status + h5, h5 + div.status + h6 { margin-top: 0.5em; }

.toc ul, .toc ol {
  list-style: none outside none;
}

dd p, dd ol, dd ol.brief { margin-top: 0; }
dd dl + p, dd dl + div.status + p { margin-top: 1em; }
dd table + p, dd table + div.status + p { margin-top: 1em; }
p + * > li, p + div.status + * > li, dd li { margin: 1em 0; }
@media screen { code { color: orangered; } }
.toc dfn, h1 dfn, h2 dfn, h3 dfn, h4 dfn, h5 dfn, h6 dfn { font: inherit; }
img.extra, p.overview { float: right; }
hr.bookmark { border: dashed 2em black; background: yellow; }
pre {
    white-space:    pre-wrap;
}
pre::before { font: bold 0.8em sans-serif; padding: 0.5em; position: absolute; top: auto; margin: -0.6em 0 0 -3.6em /* 1em/0.8 + 1.5em + 0.5em*2 */ ; width: 1.5em; background: inherit; border: 0.078125em; border-style: solid none solid solid; border-radius: 1em 0 0 1em; }
pre.idl { border: solid 0.0625em; background: #fcfafa; color: black; padding: 0.5em 1em; }
pre.idl :link, pre.idl :visited { color: inherit; background: transparent; }
pre.idl::before { content: 'IDL'; }
pre.asn { border: solid 0.0625em; background: #EEEEEE; color: black; padding: 0.5em 1em; }
pre.asn :link, pre.asn :visited { color: inherit; background: transparent; }
pre.asn::before { content: 'ASN'; }
pre.css { border: solid 0.0625em; background: #FFFFEE; color: black; padding: 0.5em 1em; }
pre.css:first-line { color: #AAAA50; }
pre.css::before { content: 'CSS'; }
dl.domintro { color: green; margin: 2em 0 2em 0; padding: 0.5em 1em 0.5em 2em; border: none; background: rgb(233, 251, 233); }
hr + dl.domintro, div.impl + dl.domintro, hr + div.status + dl.domintro, div.impl + div.status + dl.domintro { margin-top: 2.5em; margin-bottom: 1.5em; }
dl.domintro dt, dl.domintro dt * { color: black; text-decoration: none; }
dl.domintro dd { margin: 0.5em 0 1em 2em; padding: 0; }
dl.domintro dd p { margin: 0.5em 0; }
dl.domintro:before { display: table; margin: -1em -0.5em -0.5em auto; width: auto; content: 'This box is non-normative. Implementation requirements are given below this box.'; color: black; font-style: italic; border: solid 2px; background: white; padding: 0 0.25em; }
dl.switch { padding-left: 2em; }
dl.switch > dt { text-indent: -1.5em; }
dl.switch > dt:before { content: '\21AA'; padding: 0 0.5em 0 0; display: inline-block; width: 1em; text-align: right; line-height: 0.5em; }
dl.triple { padding: 0 0 0 1em; }
dl.triple dt, dl.triple dd { margin: 0; display: inline }
dl.triple dt:after { content: ':'; }
dl.triple dd:after { content: '\A'; white-space: pre; }
.diff-old { text-decoration: line-through; color: silver; background: transparent; }
.diff-chg, .diff-new { text-decoration: underline; color: green; background: transparent; }
a .diff-new { border-bottom: 1px blue solid; }
tr.rare { background: #EEEEEE; color: #333333; }

figure.diagrams { border: double black; background: white; padding: 1em; }
figure.diagrams img { display: block; margin: 1em auto; }

h2:not(.short) { page-break-before: always; }
h1, h2, h3, h4, h5, h6, dt { page-break-after: avoid; }
hgroup h2, h1 + h2, hr + h2.no-toc { page-break-before: auto ! important; }

p  > span:not([title=""]):not([class="XXX"]):not([class="impl"]):not([class="note"]),
li > span:not([title=""]):not([class="XXX"]):not([class="impl"]):not([class="note"]) { border-bottom: solid #99CC99; }

.brief { margin-top: 1em; margin-bottom: 1em; line-height: 1.1; }
.brief > li { margin: 0; padding: 0; }
.brief > li > p, .brief > li > ol, .brief > li > ul, .brief > li > dl { 
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;
}

.category-list { margin-top: -0.75em; margin-bottom: 1em; line-height: 1.5; }
.category-list::before { content: '\21D2\A0'; font-size: 1.2em; font-weight: 900; }
.category-list li { display: inline; }
.category-list li:not(:last-child)::after { content: ', '; }
.category-list li > span, .category-list li > a { text-transform: lowercase; }
.category-list li * { text-transform: none; } /* don't affect <code> nested in <a> */

[title=WIP], [title=TBW] { background: red; color: yellow; padding: 0.1em 0.3em; border: dotted white; margin: 0 0.7em 0 0.2em; }
[title=SCS] { background: green; color: white; padding: 0.1em 0.3em; border-style: none dashed; margin: 0 0.7em 0 0.2em; }
[title=WIP] :link, [title=WIP] :visited,
[title=TBW] :link, [title=TBW] :visited,
[title=SCS] :link, [title=SCS] :visited { background: transparent; color: inherit; }

.big-issue, .XXX { color: #E50000; background: white; border: solid red; padding: 0.5em; margin: 1em 0; }
.big-issue > :first-child, .XXX > :first-child { margin-top: 0; }
p .big-issue, p .XXX { line-height: 3em; }
.note { color: green; background: transparent; font-family: sans-serif, Droid Sans Fallback; }
.warning { color: #da4453; background: transparent; }
.note, .warning { font-weight: bolder; font-style: italic; }
.note em, .warning em, .note i, .warning i, .note var, .warning var { font-style: normal; }
p.note, div.note { padding: 0.5em 2em; }
span.note { padding: 0 2em; }
.note p:first-child, .warning p:first-child { margin-top: 0; }
.note p:last-child, .warning p:last-child { margin-bottom: 0; }
dd > .note:first-child { margin-bottom: 0; }
.warning:before { font-style: normal; }

.tablenote { margin: 0.25em 0; }
.tablenote small { font-size: 0.9em; }

.XXX:before, .XXX:after { content: " ** "; position: absolute; left: 0; width: 8em; text-align: right; }
p.note:before { content: 'Note: '; }
p.warning:before { content: '\26A0 Warning! '; }

.bookkeeping:before { display: block; content: 'Bookkeeping details'; font-weight: bolder; font-style: italic; }
.bookkeeping { font-size: 0.8em; margin: 2em 0; }
.bookkeeping p { margin: 0.5em 2em; display: list-item; list-style: square; }
.bookkeeping dt { margin: 0.5em 2em 0; }
.bookkeeping dd { margin: 0 3em 0.5em; }

.critical { margin: 1em; border: double thick red; padding: 1em; background: #FFFFCC; }
.critical > :first-child { margin-top: 0; }

h4 { position: relative; z-index: 3; }
h4 + .element, h4 + div.status + .element { margin-top: -2.5em; padding-top: 2em; }
.element { background: #EEFFEE; color: black; margin: 0 0 1em 0.15em; padding: 0 1em 0.25em 0.75em; border-left: solid #99FF99 0.25em; position: relative; z-index: 1; }
.element:before { position: absolute; z-index: 2; top: 0; left: -1.15em; height: 2em; width: 0.9em; background: #EEFFEE; content: ' '; border-style: none none solid solid; border-color: #99FF99; border-width: 0.25em; }
.element:not(:hover) > dt > :link, .element:not(:hover) > dt > :visited { color: inherit; text-decoration: none; }

table.css-property caption { text-align: left; font: inherit; font-weight: bold; }
table.css-property th { font: inherit; font-style: italic; text-align: left; padding-left: 2em; }

.example { display: block; color: #222222; background: #FCFCFC; border-left: double; margin-left: 2em; padding-left: 1em; }
td > .example:only-child { margin: 0 0 0 0.1em; }

td.non-rectangular-cell-continuation { border-left-style: hidden; }
td.non-rectangular-cell-indentation { border-top-style: hidden; min-width: 2em; }

.hide { display: none }

body.dfnEnabled dfn { cursor: pointer; }
.dfnPanel {
  display: inline;
  position: absolute;
  z-index: 10;
  height: auto;
  width: auto;
  padding: 0.5em 0.75em;
  font: small sans-serif, Droid Sans Fallback;
  background: #DDDDDD;
  color: black;
  border: outset 0.2em;
}
.dfnPanel * { margin: 0; padding: 0; font: inherit; text-indent: 0; }
.dfnPanel :link, .dfnPanel :visited { color: black; }
.dfnPanel p { font-weight: bolder; }
.dfnPanel * + p { margin-top: 0.25em; }
.dfnPanel li { list-style-position: inside; }

@media aural {  
  h1, h2, h3 { stress: 20; richness: 90 }
  .hide { speak: none }
  p.copyright { volume: x-soft; speech-rate: x-fast }
  dt { pause-before: 20% }
  code, pre { speak-punctuation: code } 
}

@media print {
  html { font-size: 8pt; }
  a[href^="#"]::after { font-size: 0.6em; vertical-align: super; padding: 0 0.15em 0 0.15em; content: "p" target-counter(attr(href), page); }
  .toc a::after { font: inherit; vertical-align: baseline; padding: 0; content: leader('.') target-counter(attr(href), page); }
  pre a[href^="#"]::after, blockquote a[href^="#"]::after { content: ""; padding: 0; }
}

ul.domTree, ul.domTree ul { padding: 0 0 0 1em; margin: 0; }
ul.domTree li { padding: 0; margin: 0; list-style: none; position: relative; }
ul.domTree li li { list-style: none; }
ul.domTree li:first-child::before { position: absolute; top: 0; height: 0.6em; left: -0.75em; width: 0.5em; border-style: none none solid solid; content: ''; border-width: 0.1em; }
ul.domTree li:not(:last-child)::after { position: absolute; top: 0; bottom: -0.6em; left: -0.75em; width: 0.5em; border-style: none none solid solid; content: ''; border-width: 0.1em; }
ul.domTree span { font-style: italic; font-family: serif, Droid Sans Fallback; }
ul.domTree .t1 code { color: purple; font-weight: bold; }
ul.domTree .t2 { font-style: normal; font-family: monospace, Droid Sans Fallback; }
ul.domTree .t2 .name { color: black; font-weight: bold; }
ul.domTree .t2 .value { color: blue; font-weight: normal; }
ul.domTree .t3 code, .domTree .t4 code, .domTree .t5 code { color: gray; }
ul.domTree .t7 code, .domTree .t8 code { color: green; }
ul.domTree .t10 code { color: teal; }

:target {
   background:         #ffc;
   box-shadow:         2px 2px 2px #ffa;
}

#anolis-references dd ul {
    padding-left:   0;
}

#anolis-references dd ul li {
    margin:   5px 0;
}

#anolis-references dt {
    margin-top: 10px;
}
