html {
    font-size: 110%;
}

h4 {
    margin-top: 2rem;
}

.editors-draft {
    border: solid 1pt #808080;
    padding: 1em;
    background-color: #ffaaaa;
    border-radius: 5px;
}

dl.toc             { margin-top: 0;
                     margin-bottom: 0
}

dl.toc dt {
    font-weight: normal;
}

dl.errs dt {
    font-weight: normal;
}

.figure-wrapper {
    text-align: center;
    margin-left: 0.25in;
    margin-right: 0.25in;
}

.figure-wrapper div.title {
    margin-top: 0.5em;
    font-weight: bold;
}

.figure {
    border: solid 1pt #808080;
    padding-top: 1em;
    padding-bottom: 1em;
}

.informalfigure-wrapper {
    text-align: center;
    margin-left: 0.25in;
    margin-right: 0.25in;
}

.rfc2119 {
    font-weight: bold;
}

.admonition {
    margin-left: 40px;
    margin-right: 40px;
    border: solid 1px #AAAAAA;
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
}

.admonition h3 {
    margin: 0px;
    padding-top: 1.5ex;
    padding-left: 1ex;
    padding-right: 1ex;
    border-top-left-radius: 5px;
}

.admonition-body { 
    padding-left: 1ex;
    padding-right: 1ex;
}

.editorial {
    background-color: #FAFAAA;
}

.editorial h3 {
    background-color: #FFC000;
    padding-top: 0.5ex;
    padding-bottom: 0.5ex;
}

.element-syntax {
    padding: 4px;
    line-height: 1.25;
    white-space: nowrap;
    overflow-x: scroll;
}

.element-syntax { #000000; }
.element-syntax .attr { color: #000000; }
.element-syntax .value { color: rgb(9,70,138); }
.element-syntax .comment,
.element-syntax .opt-type { color: #948695; }

.element-syntax-declare-step       { border: solid thin;  background-color: #ffeeff }
.element-syntax-declare-step-opt   { border: solid thin; background-color: #ffeeff }
.element-syntax-declare-step-opt   { border: solid thin; background-color: #ffeeff }
.element-syntax-error-vocabulary   { border: solid thin;  background-color: #ffffee }
.element-syntax-language-construct { border: solid thin;  background-color: #ffeeff }
.element-syntax-language-example   { border: solid thin;  background-color: #ffeeff }
.element-syntax-other-step         { border: solid thin;  background-color: #ffeeff }
.element-syntax-step-vocabulary    { border: dotted thin; background-color: #ffffee }

p.element-syntax code {
    font-size: inherit;
}

code {
    white-space: nowrap;
}

pre code {
    white-space: preserve;
}

div.funcsynopsis {
  background-color: #D5DEE3;
  border-bottom: 4px double #D3D3D3;
  border-top: 4px double #D3D3D3;
  color: black;
  margin-bottom: 4px;
  padding: 4px;
  font-family: monospace;
}

span.funcname {
  font-weight: bold;
}

div.funcsynopsis span.type {
  font-style: italic;
}

span.decl code.type-value { font-weight: bold; }
span.opt-req code.name-value { font-weight: bold; }

span.opt-type { font-style: italic; }
code.comment  { font-style: italic; }

.revision-inherited {
                    }

.revision-deleted   { background-color: rgb(255, 85, 85, 0.3);
                      text-decoration: line-through;
                    }

.revision-added     { background-color: rgb(144, 238, 144, 0.3);
                    }

.revision-changed   { background-color: #FFFF99;
                    }

a.difflink {
  text-decoration: none;
}

div.diffpara p a.difflink {
  display: none;
}

div:hover.diffpara p a.difflink,
a:hover.difflink {
  display: inline;
}

.hanging-indent {
  padding-left: 1.25in !important; 
  text-indent: -1.25in;
}

/* Not for us; we don't want h6 to be smallcaps! */
h6 { font: italic 100% sans-serif }

sup.xrefspec {
   font-size: 70%;
   color: #999999;
}

sup.xrefspec a,
sup.xrefspec a:visited {
   color: #999999;
   text-decoration: none;
}

.error {
    background-color: #FF7777;
}

.assert {
}

/* ============================================================ */

:root {
    --tableaux-border-color: #aaaaaa;
}

div.declare-step {
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    border: 1px solid var(--tableaux-border-color);
}

div.declare-step > p {
    padding: 0;
    margin: 0;
    padding-bottom: 0.25rem;
    font-weight: bold;
    font-size: 110%;
}

table.tableaux {
    width: 100%;
    margin-bottom: 1rem;
    border-spacing: 0;
    border-collapse: separate;
}

table.tableaux thead th {
    font-weight: normal;
}

table.tableaux thead th,
table.tableaux tbody td {
    border-right: 1px solid var(--tableaux-border-color);
}

table.tableaux thead th.port {
    width: 20%;
}

table.tableaux thead th.check {
    width: 10%;
}

table.tableaux tbody td.check {
    width: 10%;
    text-align: center;
    font-family: serif;
    font-size: 90%;
}

table.tableaux thead th.binding {
    width: 20%;
}

table.tableaux tbody td.errcode {
    line-height: 1.5;
    vertical-align: top;
}

table.tableaux tbody td.description {
    font-family: sans-serif;
    font-size: 100%;
    line-height: 1.5;
}

table.tableaux tbody td.primary,
table.tableaux tbody td.required {
    font-weight: bold;
}

table.tableaux thead tr th:first-of-type,
table.tableaux tbody tr td:first-of-type {
    border-left: 1px solid var(--tableaux-border-color);
}

table.tableaux thead th,
table.tableaux tbody td {
    padding: 0.25em;
}

table.tableaux tbody td {
    font-family: monospace;
    font-size: 125%;
}

table.tableaux thead tr:nth-child(1) th,
table.tableaux tbody tr:nth-child(1) td {
    border-top: 1px solid var(--tableaux-border-color);
}

table.tableaux tbody tr:last-of-type td {
    border-bottom: 1px solid var(--tableaux-border-color);
}

table.tableaux thead tr th {
    background-color: #eeeeee;
}

table.tableaux tbody tr:nth-child(even) td {
    background-color: #eeeeee;
}
