/* Common to all QTSpecs */

code           { font-family: var(--monospace-font-family);
                 font-size: var(--monospace-font-size);
                 background-color: rgba(175,184,193,0.2);
                 border: 1px solid rgba(175,184,193,0.3);
                 border-radius: 5px;
                 padding-top: 0.1em;
                 padding-bottom: 0.1em;
                 padding-left: 0.3em;
                 padding-right: 0.3em;
                 margin: 0;
}

.proto code {
    background-color: inherit;
    border: inherit;
    border-radius: 0;
    padding-top: inherit;
    padding-bottom: inherit;
    padding-left: inherit;
    padding-right: inherit;
    margin: inherit;
}

div.constraint,
div.issue,
div.note,
div.notice     { margin-left: 2em; }

dd div.note    { margin-left: 0; }

div.issue
p.title        { margin-left: -2em; }

ol.enumar      { list-style-type: decimal; }
ol.enumla      { list-style-type: lower-alpha; }
ol.enumlr      { list-style-type: lower-roman; }
ol.enumua      { list-style-type: upper-alpha; }
ol.enumur      { list-style-type: upper-roman; }

li p           { margin-top: 0.3em;
                 margin-bottom: 0.3em; }

sup small      { font-style: italic;
                 color: #8F8F8F;
               }

div.schemaComp  { border: 4px double gray;
                  margin: 0em 1em;
                  padding: 0em;
                }
div.compHeader  { margin: 4px;
                  font-weight: bold;
                }
span.schemaComp { background-color: white;
                  color: #A52A2A;
                }
div.compBody    { border-top-width: 4px;
                  border-top-style: double;
                  border-top-color: #d3d3d3;
                  padding: 4px;
                  margin: 0em;
                }

div.exampleInner {
    background-color: rgba(175,184,193,0.2);
    color: black;
    border-top-width: 4px;
    border-top-style: double;
    border-top-color: rgba(175,184,193,0.3);
    border-bottom-width: 4px;
    border-bottom-style: double;
    border-bottom-color: rgba(175,184,193,0.3);
    padding: 4px;
    margin-bottom: 1em;
}

div.example table p {
    margin: 0;
}
div.example code {
    background-color: inherit;
    border: none;
}
div.example tbody tr:nth-child(odd) {
    background-color: var(--example-bg-odd);
}
div.example tbody tr:nth-child(even) {
    background-color: var(--example-bg-even);
}
div.example table {
    width: 100%;
}

div.issueBody    { margin-left: 0.25in;
                 }

code.function    { font-weight: bold;
                 }
code.return-type { font-style: italic;
                 }
code.type        { font-style: italic;
                 }
code.as          { font-style: normal;
                 }
code.arg         {
                 }
code.strikeout   { text-decoration: line-through;
                 }
code.small       { font-size: small;
                 }
p.table.footnote { font-size: 8pt;
                 }

dd.indent        { margin-left: 2em;
                 }

p.element-syntax { border: solid thin; background-color: #ffccff
                 }

p.element-syntax-chg { border: solid thick yellow; background-color: #ffccff
                 }


div.example-chg  { border: solid thick yellow; background-color: #40e0d0; padding: 1em
                 }

span.verb        { font: small-caps 100% sans-serif
                 }
                 
span.unicode-codepoint
                 { font: small-caps 80% sans-serif
                 }
                 
span.unicode-name
                 { font: small-caps 80% sans-serif
                 }

span.error       { font-size: small
                 }

span.definition  { font: small-caps 100% sans-serif
                 }

span.grayed      { color: gray
                 }

td.castOther     { background-color: yellow;
                   color: black;
                   text-align: center;
                   vertical-align: middle;
                 }
                 
td.prodComment   { font-style: italic;
                   color: black;
                   text-align: right;
                 }

.ednote {
border: 4px solid #ffdddd;
border-radius: 2px;
width: 100%;
background: repeating-linear-gradient(
  -45deg,
  #ffffff,
  #ffffff 74px,
  #ffdddd 20px,
  #ffdddd 80px
);
}

table.scrap {
    layout: fixed;
    border-spacing: 0;
    border-collapse: collapse;
}

table.scrap td {
	 vertical-align: baseline;
	 text-align: left;
	 padding-left: 10px;
}

table.scrap td code {
    border: none;
    background-color: inherit;
}

table.data table.index {
 border-bottom:2px !important ;
}

.markup-error {
  background-color: red;
  color: yellow;
}

div.exampleInner pre { margin-left: 1em;
                       margin-top: 0em; margin-bottom: 0em}

pre.small {
    /*font-size: small*/
}

div.exampleOuter {border: 4px double gray;
                  margin: 0em; padding: 0em}

div.exampleInner table { border: 0;
                         border-spacing: 0;
                       }

div.exampleInner td { vertical-align: baseline;
                      padding: 0;
                    }

div.exampleWrapper { margin: 4px }
div.exampleHeader { font-weight: bold;
                    margin: 4px}

div.proto { border: 0;
            border-spacing: 0;
          }

div.issue { border-bottom-color: black;
            border-bottom-style: solid;
	    border-bottom-width: 1pt;
	    margin-bottom: 20pt;
}

th.issue-toc-head { border-bottom-color: black;
                    border-bottom-style: solid;
                    border-bottom-width: 1pt;
}

div.changes { border-bottom-color: blue;
              border-bottom-style: solid;
	           border-bottom-width: 4pt;
	           border-top-color: blue;
              border-top-style: solid;
	           border-top-width: 4pt;
	           margin-bottom: 20pt;
	           color: blue;
}

p.changesHeading { font-weight: bold; color: blue}

span.tocDelta { font-weight: bold; color: blue}

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

:root {
    --line-color: #777;
    --function-background-color: rgba(211, 82, 28, 0.4);
    --function-foreground-color: #000;
    --built-in-list-background-color: rgba(211, 82, 28, 0.4);
    --built-in-list-foreground-color: #000;
    --node-background-color: rgba(199, 110, 156, 0.4);
    --node-foreground-color: #000;
    --built-in-complex-background-color: rgba(199, 110, 156, 0.4);
    --built-in-complex-foreground-color: #000;
    --user-defined-node-background-color: rgba(0, 147, 106, 0.4);
    --user-defined-node-foreground-color: #000;
    --built-in-atomic-color: rgba(229, 147, 40, 0.4);
    --atomic-color: rgba(229, 147, 40, 0.4);
    --primitive-color: rgba(229, 147, 40, 0.4);
}

ul.type-colors,
.type-colors ul {
    padding: 0;
    margin: 0;
    list-style-type: none;
    position: relative;
}

.type-colors p,
.type-colors li {
    margin-top: 0;
    margin-bottom: 0;
}

.type-colors .kind {
    display: none;
}

.type-colors li {
    list-style-type: none;
    margin-left: 1.25em;
}

.type-hierarchy li {
    border-left: 2px solid var(--line-color);
}

.type-colors li.plain {
    border-left: none;
}

.type-hierarchy li.root {
    margin-left: 0;
}

.type-legend li p,
.type-hierarchy li p {
    padding-left: 0.75em;
    padding-top: 0.5em;
    position: relative;
    margin-top: 0;
    margin-bottom: 0;
    padding-bottom: 0;
}

.type-legend span,
.type-hierarchy span {
    border: 2px solid var(--line-color);
    border-radius: 0.5em;
    padding: 2px;
    padding-left: 6px;
    padding-right: 6px;
}

.type-legend span {
    border-radius: 8px;
}

.type-legend .abstract > span,
.type-hierarchy .abstract > span {
    border-radius: 0;
}

.type-legend .abstract > p > span,
.type-hierarchy .abstract > p > span {
    border-radius: 0;
}

.type-colors li.function > p > span {
    background-color: var(--function-background-color);
    color: var(--function-foreground-color);
}

.type-colors li.node > p > span {
    background-color: var(--node-background-color);
    color: var(--node-foreground-color);
}

.type-colors li.user-defined > p > span {
    background-color: var(--user-defined-node-background-color);
    color: var(--user-defined-node-foreground-color);
}

.type-colors li.built-in-atomic > p > span {
    background-color: var(--built-in-atomic-color);
}

.type-colors li.primitive > p > span {
    background-color: var(--primitive-color);
}

.type-colors li.atomic > p > span {
    background-color: var(--atomic-color);
}

.type-colors li.built-in-complex > p > span {
    background-color: var(--built-in-complex-background-color);
    color: var(--built-in-complex-foreground-color);
}

.type-colors li.built-in-list > p > span {
    background-color: var(--built-in-list-background-color);
    color: var(--built-in-list-foreground-color);
}

.type-hierarchy li p::before {
    content:'';
    position: absolute;
    top: 0;
    left: -2px;
    bottom: calc(50% - 0.25em);
    width: 0.75em;
    border: 2px solid var(--line-color);
    border-top: 0 none transparent;
    border-right: 0 none transparent;
}

.type-colors p.title {
    font-style: italic;
    font-size: 110%;
}

.type-colors li p.root::before {
    border: none;
    width: 0;
}

ul.type-hierarchy > li:last-child,
.type-hierarchy ul > li:last-child {
    border-left: 2px solid transparent;
}

div.legend {
    width: 40%;
}

div.legend > p {
    font-size: 110%;
    font-style: italic;
    margin-bottom: 0;
    margin-top: 0;
}

div.type-hierarchy-figure {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}
