/*

Per CC0 <https://creativecommons.org/publicdomain/zero/1.0/>, to the
extent possible under law, the author has waived all copyright and
related or neighboring rights to this work.

*/

body {
  display: block;
  margin: 1em 1.5em;
  padding-left: 2em;
  line-height: 1.5;
}

h1, hgroup {
  color: #400080;
  background: transparent;
  line-height: 1.0;
}

hgroup > h1 {
  margin: 0;
}

hgroup > h2 {
  margin: 0.5em 0;
  font-size: 120%;
}

header dl dt {
  font-weight: bolder;
}

header dl dt::after {
  content: ": ";
}

.toc li {
  list-style: none;
}

p {
  margin: 0.5em 1em;
}

.note {
  display: block;
  margin: 0.3em 3em 0.3em 6em;
  padding: 0 0 0 2em;
  color: green;
  background-color: transparent;
  font-style: italic;
}

.note > p:first-child {
  text-indent: -3em;
}

.note > p:first-child::before {
  content: "Note:  ";
  font-weight: bolder;
  white-space: pre;
}

.steps, .steps ol {
  margin: 0.3em 2em;
  border-left: #400080 1px solid;
  padding-left: 3em;
}

.steps .switch {
  margin-top: 0;
  margin-bottom: 0;
}

.switch dt {
  font-weight: bolder;
}

.switch dt::before {
  content: "\21AA";
  padding: 0 0.5em 0 0;
  display: inline-block;
  width: 1em;
  text-align: right;
}

.switch dt::after {
  content: ": ";
}

.switch dd {
  margin-left: 2em;
  padding-left: 0;
}

.switch dd > .steps {
  margin-left: 0;
}

ul.short {
  margin-left: 2em;
  -webkit-column-width: 8em;
  column-width: 8em;
}

ul.short li {
  display: block;
}

dl.abnf {
  position: relative;
  margin-left: 2em;
  margin-right: 2em;
  padding: 0.5em 1em 0.5em 1.5em;
  background-color: #F5DCB3;
  color: black;
  page-break-inside: avoid;
}

dl.abnf::before {
  position: absolute;
  display: block;
  float: left;
  content: "ABNF";
  border: solid #F5DCB3 2px;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  padding: 0.05rem 0.3rem;
  background: white;
  color: black;
  font-size: 80%;
  left: -2rem;
  top: 0;
}

.abnf > dt {
  display: inline;
}

.abnf > dd {
  display: inline;
  margin: 0;
}

.abnf > dd::after {
  display: block;
  content: "";
  clear: both;
}

table {
  margin: 1em 2em;
  border-collapse: collapse;
  border-top: 1px solid;
}

thead {
  background: #eee;
}

tbody {
  border-top: 1px solid;
}

tbody:last-child {
  border-bottom: 1px solid;
}

tr:nth-child(2n) {
  background: #eee;
}

th, td {
  padding: 0.5em;
}

th[scope=row] {
  text-align: left;
}

.example {
  margin: 0.8em 0 0.8em 3em;
  border-left: #004000 double 3px;
  color: black;
  background-color: #FCFCFC;
  line-height: 2.0;
  font-size: 90%;
}

.example::before {
  display: block;
  float: right;
  content: "EXAMPLE";
  margin-right: 0.5em;
  font-weight: bolder;
  text-align: right;
  color: gray;
}

hr {
  visibility: hidden;
}

dfn {
  font-weight: bolder;
  font-style: normal;
}

.rfc2119 {
  text-transform: lowercase;
  font-variant: small-caps;
  font-style: normal;
  text-decoration: none;
  font-weight: normal;
  font-family: sans-serif;
}

code {
  font-family: "Courier New", "Courier", monospace;
  letter-spacing: 0.1em;
  background-color: transparent;
  color: orangered;
}

pre > code {
  display: block;
  background: #f7eef7;
  color: black;
  margin: 0.5em 1em;
  padding: 0.2em 0.4em;
}

.charname {
  text-transform: lowercase;
  font-variant: small-caps;
}

:link:hover, :link:visited {
  background-color: #FFA;
  color: #000080;
}

[href^="#"]:link, [href^="#"]:visited {
  text-decoration: none;
  border-bottom: dotted 1px;
}

.abnf [href^="#"] {
  color: inherit;
  border-bottom-style: none;
}

.abnf [href^="#"]:hover {
  border-bottom-style: dotted;
}

.bibref {
  font-size: 80%;
  vertical-align: super;
  font-style: normal;
}

section.reference dt {
  font-weight: bolder;
}

section.reference dt::before { content: "[" }
section.reference dt::after { content: "]" }

.bibref.normative, .bibref.normative a,
section.normative.reference dt {
  color: red;
}

.bibref.informative, .bibref.informative a,
section.informative.reference dt {
  color: green;
}

.XXX {
  margin-top: 1em;
  margin-bottom: 1em;
  border: medium solid red;
  padding: 0.5em;
  color: rgb(229, 0, 0);
  background-color: transparent;
}

.index-list {
  -moz-column-count: 3;
  -webkit-column-count: 3;
  column-count: 3;
}
