UNPKG

ecmarkup

Version:

Custom element definitions and core utilities for markup that specifies ECMAScript and related technologies.

1,631 lines (1,391 loc) 32.1 kB
:root { --foreground-color: #111; --background-color: #fff; --link-foreground-color: #206ca7; --link-hover-foreground-color: #239dee; --user-code-foreground-color: brown; --var-foreground-color: #218379; --referenced0-background-color: #ffff6c; --referenced1-background-color: #ffa4a8; --referenced2-background-color: #96e885; --referenced3-background-color: #3eeed2; --referenced4-background-color: #eacfb6; --referenced5-background-color: #82ddff; --referenced6-background-color: #ffbcf2; --note-background-color: #e9fbe9; --note-border-color: #52e052; --note-editor-border-color: #faa; --nt-link-foreground-color: #333; --production-rhs-background-color: #f0f0f0; --production-rhs-border-color: #888; --params-foreground-color: #2aa198; --opt-foreground-color: #b58900; --title-foreground-color: #f60; --caption-foreground-color: #555555; --table-header-background-color: #eeeeee; --highlight-background-color-start: rgba(249, 241, 172, 1); --highlight-background-color-end: rgba(249, 241, 172, 0); --highlight-background-color: rgba(249, 241, 172, 1); --ins-background-color: #e0f8e0; --ins-border-color: #396; --del-background-color: #fee; --control-foreground-color: #eee; --control-dimmed-foreground-color: #666; --control-background-color: #ddd; --control-dark-background-color: #ccc; --control-border-color: #aaa; --control-light-border-color: #bbb; --control-shortcut-background-color: #eee; --control-shortcut-shadow-color: #ccc; --control-dialog-fade-color: rgba(255, 255, 255, 0.6); --control-link-foreground-color: #1567a2; --control-input-background-color: #bbb; --control-input-border-color: #999; --menu-header-background-color: #bbb; --menu-revealed-link-foreground-color: #206ca7; --menu-unpin-hover-foreground-color: #bb1212; --menu-trace-list-foreground-color: #999; --menu-trace-list-background-color: #222; --toolbox-tail-background-outside-color: rgba(0, 0, 0, 0); --toolbox-tail-border-outside-color: rgba(204, 204, 204, 0); --normative-optional-background-color: #ffeedd; --normative-optional-border-color: #ff6600; --attributes-tag-foreground-color: #884400; --figure-background: #fff; } @supports (color-scheme: dark) { @media only screen and (prefers-color-scheme: dark) { :root { --foreground-color: #fcfcfc; --background-color: #171717; --link-foreground-color: #439de2; --link-hover-foreground-color: #80cafb; --user-code-foreground-color: brown; --var-foreground-color: #4fb6ab; --referenced0-background-color: #6d6d1e; --referenced1-background-color: #7e171c; --referenced2-background-color: #1f6211; --referenced3-background-color: #1a7a6b; --referenced4-background-color: #7b4719; --referenced5-background-color: #185870; --referenced6-background-color: #731761; --note-background-color: #1b2f1b; --note-border-color: #31a331; --note-editor-border-color: #801e1e; --nt-link-foreground-color: #d0d0d0; --production-rhs-background-color: #4d4d4d; --production-rhs-border-color: #888; --params-foreground-color: #57d0c7; --opt-foreground-color: #d8b750; --title-foreground-color: #f60; --caption-foreground-color: #b0b0b0; --table-header-background-color: #303030; --highlight-background-color-start: rgba(114, 105, 24, 1); --highlight-background-color-end: rgba(114, 105, 24, 0); --highlight-background-color: rgba(114, 105, 24, 1); --ins-background-color: #1e4a1e; --ins-border-color: #61d89b; --del-background-color: #4a1f1f; --control-foreground-color: #101010; --control-dimmed-foreground-color: #d0d0d0; --control-background-color: #202020; --control-dark-background-color: #303030; --control-border-color: #505050; --control-light-border-color: #606060; --control-shortcut-background-color: #505050; --control-shortcut-shadow-color: #000000; --control-dialog-fade-color: rgba(0, 0, 0, 0.6); --control-link-foreground-color: #7ebce9; --control-input-background-color: #606060; --control-input-border-color: #a0a0a0; --menu-header-background-color: #404040; --menu-revealed-link-foreground-color: #9bd0f7; --menu-unpin-hover-foreground-color: #f29c9c; --menu-trace-list-foreground-color: #222; --menu-trace-list-background-color: #999; --toolbox-tail-background-outside-color: rgba(0, 0, 0, 0); --toolbox-tail-border-outside-color: rgba(204, 204, 204, 0); --normative-optional-background-color: #352c24; --normative-optional-border-color: #ff6600; --attributes-tag-foreground-color: #e6a96d; --figure-background: #fff; } } } /* IBM Plex fonts (Latin subset) have been downloaded from Google Fonts and modified to add support back in for the `zero` substitution (slashed zeroes) */ /* https://fonts.googleapis.com/css2?family=IBM%20Plex%20Serif:ital,wght@0,400;0,700;1,400;1,700&display=swap */ @font-face { font-family: 'IBM Plex Serif'; font-style: normal; font-weight: 400; font-display: swap; src: local(IBM Plex Serif Regular), local(IBMPlexSerif-Regular); } @font-face { font-family: 'IBM Plex Serif'; font-style: normal; font-weight: 700; font-display: swap; src: local(IBM Plex Serif Bold), local(IBMPlexSerif-Bold); } @font-face { font-family: 'IBM Plex Serif'; font-style: italic; font-weight: 400; font-display: swap; src: local(IBM Plex Serif Italic), local(IBMPlexSerif-Italic); } @font-face { font-family: 'IBM Plex Serif'; font-style: italic; font-weight: 700; font-display: swap; src: local(IBM Plex Serif Bold Italic), local(IBMPlexSerif-BoldItalic); } /* https://fonts.googleapis.com/css2?family=IBM%20Plex%20Sans:ital,wght@0,400;0,700;1,400;1,700&display=swap */ @font-face { font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 400; font-display: swap; src: local(IBM Plex Sans Regular), local(IBMPlexSans-Regular); } @font-face { font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 700; font-display: swap; src: local(IBM Plex Sans Bold), local(IBMPlexSans-Bold); } @font-face { font-family: 'IBM Plex Sans'; font-style: italic; font-weight: 400; font-display: swap; src: local(IBM Plex Sans Italic), local(IBMPlexSans-Italic); } @font-face { font-family: 'IBM Plex Sans'; font-style: italic; font-weight: 700; font-display: swap; src: local(IBM Plex Sans Bold Italic), local(IBMPlexSans-BoldItalic); } /* https://fonts.googleapis.com/css2?family=IBM%20Plex%20Mono:ital,wght@0,400;0,700;1,400;1,700&display=swap */ @font-face { font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 400; font-display: swap; src: local(IBM Plex Mono Regular), local(IBMPlexMono-Regular); } @font-face { font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 700; font-display: swap; src: local(IBM Plex Mono Bold), local(IBMPlexMono-Bold); } @font-face { font-family: 'IBM Plex Mono'; font-style: italic; font-weight: 400; font-display: swap; src: local(IBM Plex Mono Italic), local(IBMPlexMono-Italic); } @font-face { font-family: 'IBM Plex Mono'; font-style: italic; font-weight: 700; font-display: swap; src: local(IBM Plex Mono Bold Italic), local(IBMPlexMono-BoldItalic); } html { background-color: var(--background-color); } body { display: flex; word-wrap: break-word; font-size: 18px; line-height: 1.5; font-family: 'IBM Plex Serif', serif; font-variant-numeric: slashed-zero; padding: 0; margin: 0; color: var(--foreground-color); } #spec-container { padding: 0 20px; max-width: 80rem; margin: 0 auto; flex-grow: 1; flex-basis: 66%; box-sizing: border-box; overflow: hidden; padding-bottom: 1em; } h1.shortname { display: none; } body.oldtoc { margin: 0 auto; } span[aria-hidden='true'] { font-size: 0; white-space: pre; } a { text-decoration: none; color: var(--link-foreground-color); } a:visited { color: var(--link-foreground-color); } a:hover { text-decoration: underline; color: var(--link-hover-foreground-color); } a.e-user-code, span.e-user-code { white-space: nowrap; } a.e-user-code::before, span.e-user-code::before { display: none; color: var(--user-code-foreground-color); background-color: var(--background-color); border: 2pt solid var(--user-code-foreground-color); padding: 0.3ex; margin: 0 0.25em 0 0; line-height: normal; vertical-align: middle; text-transform: uppercase; font-family: 'IBM Plex Sans', sans-serif; font-weight: 900; font-size: x-small; } a.e-user-code:hover::before, span.e-user-code:hover::before { background-color: var(--user-code-foreground-color); color: var(--background-color); } html.show-ao-annotations a.e-user-code::before, html.show-ao-annotations span.e-user-code::before { display: inline-block; } a.e-user-code::before, span.e-user-code::before { content: 'UC'; } code { font-weight: bold; font-family: 'Comic Code', 'IBM Plex Mono', monospace; white-space: pre; } pre code { font-weight: inherit; } pre code.hljs { background-color: var(--background-color); margin: 0; padding: 0; } ol.toc { list-style: none; padding-left: 0; } ol.toc ol.toc { padding-left: 2ex; list-style: none; } var { border-radius: 5px; color: var(--var-foreground-color); transition: all 0.25s ease-out; cursor: pointer; padding: 0 4px; margin: 0 -4px; mix-blend-mode: multiply; } @supports (color-scheme: dark) { @media only screen and (prefers-color-scheme: dark) { var { mix-blend-mode: normal; } } } var.field { font: inherit; color: inherit; } /* suppress line break opportunities between `.` and `[[FieldName]]` */ var.field::before { content: '\2060'; } var.referenced { color: inherit; } var.referenced0 { background-color: var(--referenced0-background-color); } var.referenced1 { background-color: var(--referenced1-background-color); } var.referenced2 { background-color: var(--referenced2-background-color); } var.referenced3 { background-color: var(--referenced3-background-color); } var.referenced4 { background-color: var(--referenced4-background-color); } var.referenced5 { background-color: var(--referenced5-background-color); } var.referenced6 { background-color: var(--referenced6-background-color); } emu-const { font-family: 'IBM Plex Sans', sans-serif; font-variant: small-caps; text-transform: uppercase; } emu-val { font-weight: bold; } /* depth 1 */ emu-alg ol, /* depth 4 */ emu-alg ol ol ol ol, emu-alg ol.nested-thrice, emu-alg ol.nested-twice ol, emu-alg ol.nested-once ol ol { list-style-type: decimal; } /* depth 2 */ emu-alg ol ol, emu-alg ol.nested-once, /* depth 5 */ emu-alg ol ol ol ol ol, emu-alg ol.nested-four-times, emu-alg ol.nested-thrice ol, emu-alg ol.nested-twice ol ol, emu-alg ol.nested-once ol ol ol { list-style-type: lower-alpha; } /* depth 3 */ emu-alg ol ol ol, emu-alg ol.nested-twice, emu-alg ol.nested-once ol, /* depth 6 */ emu-alg ol ol ol ol ol ol, emu-alg ol.nested-lots, emu-alg ol.nested-four-times ol, emu-alg ol.nested-thrice ol ol, emu-alg ol.nested-twice ol ol ol, emu-alg ol.nested-once ol ol ol ol, /* depth 7+ */ emu-alg ol.nested-lots ol { list-style-type: lower-roman; } emu-eqn { display: block; margin-left: 4em; } emu-eqn.inline { display: inline; margin: 0; } emu-eqn div:first-child { margin-left: -2em; } emu-note { margin: 1em 0; display: flex; gap: 1em; flex-direction: row; color: inherit; border-left: 5px solid var(--note-border-color); background: var(--note-background-color); padding: 10px 10px 10px 0; overflow-x: auto; } emu-note > span.note { white-space: nowrap; flex-grow: 0; flex-shrink: 1; text-transform: uppercase; padding-left: 5px; } emu-note[type='editor'] { border-left-color: var(--note-editor-border-color); } emu-note > div.note-contents { flex-grow: 1; flex-shrink: 1; overflow: auto; } emu-note > div.note-contents > p:first-of-type { margin-top: 0; } emu-note > div.note-contents > p:last-of-type { margin-bottom: 0; } emu-table:not(.code) td code { white-space: normal; } emu-figure { display: block; } emu-example { display: block; margin: 1em 3em; } emu-example figure figcaption { margin-top: 0.5em; text-align: left; } emu-figure figure, emu-example figure, emu-table figure { display: flex; flex-direction: column; align-items: center; } emu-production { display: block; } emu-grammar[type='example'] emu-production, emu-grammar[type='definition'] emu-production { margin-top: 1em; margin-bottom: 1em; margin-left: 5ex; } emu-grammar.inline, emu-production.inline, emu-grammar.inline emu-production emu-rhs, emu-production.inline emu-rhs, emu-grammar[collapsed] emu-production emu-rhs, emu-production[collapsed] emu-rhs { display: inline; padding-left: 0.5ex; margin-left: 0; } emu-grammar[collapsed] emu-production, emu-production[collapsed] { margin: 0; } emu-constraints { font-size: 0.75em; margin-right: 0.5ex; } emu-gann { margin-right: 0.5ex; } emu-gann emu-t:last-child, emu-gann emu-gprose:last-child, emu-gann emu-nt:last-child { margin-right: 0; } emu-geq { margin-left: 0.5ex; font-weight: bold; } emu-oneof { font-weight: bold; margin-left: 0.5ex; } emu-nt { display: inline-block; font-style: italic; white-space: nowrap; text-indent: 0; } emu-nt a, emu-nt a:visited { color: var(--nt-link-foreground-color); } emu-rhs emu-nt { margin-right: 0.5ex; } emu-t { display: inline-block; font-family: 'IBM Plex Mono', monospace; font-weight: bold; white-space: nowrap; text-indent: 0; } emu-production emu-t { margin-right: 0.5ex; } emu-rhs { display: block; padding-left: 75px; text-indent: -25px; } emu-production:not([collapsed]) emu-rhs { border: 0.2ex dashed transparent; } emu-production:not([collapsed]) emu-rhs:hover { border-color: var(--production-rhs-border-color); background-color: var(--production-rhs-background-color); } emu-mods { font-size: 0.85em; vertical-align: sub; font-style: normal; font-weight: normal; } emu-params, emu-opt { margin-right: 1ex; font-family: 'IBM Plex Mono', monospace; } emu-params, emu-constraints { color: var(--params-foreground-color); } emu-opt { color: var(--opt-foreground-color); } emu-gprose { font-size: 0.9em; font-family: 'IBM Plex Sans', sans-serif; } emu-production emu-gprose { margin-right: 1ex; } h1.shortname { color: var(--title-foreground-color); font-size: 1.5em; margin: 0; } h1.version { color: var(--title-foreground-color); font-size: 1.5em; } h1.title { color: var(--title-foreground-color); } h1, h2, h3, h4, h5, h6 { position: relative; } h1 .secnum { text-decoration: none; margin-right: 5px; } h1 span.title { order: 2; } h1 { font-size: 2.67em; margin-bottom: 0; line-height: 1em; } h2 { font-size: 2em; } h3 { font-size: 1.56em; } h4 { font-size: 1.25em; } h5 { font-size: 1.11em; } h6 { font-size: 1em; } pre code.hljs { background: transparent; } emu-clause[id], emu-annex[id], emu-intro[id] { scroll-margin-top: 2ex; } emu-intro h1, emu-clause h1, emu-annex h1 { font-size: 2em; } emu-intro h2, emu-clause h2, emu-annex h2 { font-size: 1.56em; } emu-intro h3, emu-clause h3, emu-annex h3 { font-size: 1.25em; } emu-intro h4, emu-clause h4, emu-annex h4 { font-size: 1.11em; } emu-intro h5, emu-clause h5, emu-annex h5 { font-size: 1em; } emu-intro h6, emu-clause h6, emu-annex h6 { font-size: 0.9em; } emu-intro emu-intro h1, emu-clause emu-clause h1, emu-annex emu-annex h1 { font-size: 1.56em; } emu-intro emu-intro h2, emu-clause emu-clause h2, emu-annex emu-annex h2 { font-size: 1.25em; } emu-intro emu-intro h3, emu-clause emu-clause h3, emu-annex emu-annex h3 { font-size: 1.11em; } emu-intro emu-intro h4, emu-clause emu-clause h4, emu-annex emu-annex h4 { font-size: 1em; } emu-intro emu-intro h5, emu-clause emu-clause h5, emu-annex emu-annex h5 { font-size: 0.9em; } emu-intro emu-intro emu-intro h1, emu-clause emu-clause emu-clause h1, emu-annex emu-annex emu-annex h1 { font-size: 1.25em; } emu-intro emu-intro emu-intro h2, emu-clause emu-clause emu-clause h2, emu-annex emu-annex emu-annex h2 { font-size: 1.11em; } emu-intro emu-intro emu-intro h3, emu-clause emu-clause emu-clause h3, emu-annex emu-annex emu-annex h3 { font-size: 1em; } emu-intro emu-intro emu-intro h4, emu-clause emu-clause emu-clause h4, emu-annex emu-annex emu-annex h4 { font-size: 0.9em; } emu-intro emu-intro emu-intro emu-intro h1, emu-clause emu-clause emu-clause emu-clause h1, emu-annex emu-annex emu-annex emu-annex h1 { font-size: 1.11em; } emu-intro emu-intro emu-intro emu-intro h2, emu-clause emu-clause emu-clause emu-clause h2, emu-annex emu-annex emu-annex emu-annex h2 { font-size: 1em; } emu-intro emu-intro emu-intro emu-intro h3, emu-clause emu-clause emu-clause emu-clause h3, emu-annex emu-annex emu-annex emu-annex h3 { font-size: 0.9em; } emu-intro emu-intro emu-intro emu-intro emu-intro h1, emu-clause emu-clause emu-clause emu-clause emu-clause h1, emu-annex emu-annex emu-annex emu-annex emu-annex h1 { font-size: 1em; } emu-intro emu-intro emu-intro emu-intro emu-intro h2, emu-clause emu-clause emu-clause emu-clause emu-clause h2, emu-annex emu-annex emu-annex emu-annex emu-annex h2 { font-size: 0.9em; } emu-intro emu-intro emu-intro emu-intro emu-intro emu-intro h1, emu-clause emu-clause emu-clause emu-clause emu-clause emu-clause h1, emu-annex emu-annex emu-annex emu-annex emu-annex emu-annex h1 { font-size: 0.9em; } emu-clause, emu-intro, emu-annex { display: block; } /* these values are twice the font-size for the <h1> titles for clauses */ emu-intro, emu-clause, emu-annex { margin-top: 4em; } emu-intro emu-intro, emu-clause emu-clause, emu-annex emu-annex { margin-top: 3.12em; } emu-intro emu-intro emu-intro, emu-clause emu-clause emu-clause, emu-annex emu-annex emu-annex { margin-top: 2.5em; } emu-intro emu-intro emu-intro emu-intro, emu-clause emu-clause emu-clause emu-clause, emu-annex emu-annex emu-annex emu-annex { margin-top: 2.22em; } emu-intro emu-intro emu-intro emu-intro emu-intro, emu-clause emu-clause emu-clause emu-clause emu-clause, emu-annex emu-annex emu-annex emu-annex emu-annex { margin-top: 2em; } emu-intro emu-intro emu-intro emu-intro emu-intro emu-intro, emu-clause emu-clause emu-clause emu-clause emu-clause emu-clause, emu-annex emu-annex emu-annex emu-annex emu-annex emu-annex { margin-top: 1.8em; } #spec-container > emu-intro:first-of-type, #spec-container > emu-clause:first-of-type, #spec-container > emu-annex:first-of-type { margin-top: 0; } /* Figures and tables */ figure { display: block; overflow-x: auto; margin: 1.5em 0; } figure object { display: block; margin: 0 auto; } figure table.real-table { margin: 0 auto; } figure figcaption { display: block; color: var(--caption-foreground-color); font-weight: bold; text-align: center; } figure img { background: var(--figure-background); } emu-table table { margin: 0 auto; } emu-table table, table.real-table { border-collapse: collapse; } emu-table td, emu-table th, table.real-table td, table.real-table th { border: 1px solid var(--foreground-color); padding: 0.4em; vertical-align: baseline; } emu-table th, emu-table thead td, table.real-table th { background-color: var(--table-header-background-color); } emu-table td { background: transparent; } td[colspan]:not([colspan="1"]), th[colspan]:not([colspan="1"]) { text-align: center; } /* 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; } /* for non-clause-like link targets, apply a fading highlight and a persistent focus-associated highlight */ @keyframes highlight-target-bg { 0% { background-color: var(--highlight-background-color-start); } 100% { background-color: var(--highlight-background-color-end); } } #spec-container :target:not(emu-annex, emu-clause, emu-intro, emu-note, body) { animation: highlight-target-bg 2.5s ease-out; } #spec-container :target:focus-within:not(:has(:not(a))) { animation: none; background-color: var(--highlight-background-color); } /* diff styles */ ins { background-color: var(--ins-background-color); text-decoration: none; border-bottom: 1px solid var(--ins-border-color); } del { background-color: var(--del-background-color); } ins.block, del.block, emu-production > ins, emu-production > del, emu-grammar > ins, emu-grammar > del { display: block; } emu-rhs > ins, emu-rhs > del { display: inline; } tr.ins > td > ins { border-bottom: none; } tr.ins > td { background-color: var(--ins-background-color); } tr.del > td { background-color: var(--del-background-color); } /* Menu Styles */ #menu-toggle { font-size: 2em; position: fixed; top: 0; left: 0; width: 1.5em; height: 1.5em; z-index: 3; visibility: hidden; color: var(--control-link-foreground-color); background-color: var(--background-color); line-height: 1.5em; text-align: center; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; cursor: pointer; } #menu { display: flex; flex-direction: column; width: 33%; height: 100vh; max-width: 500px; box-sizing: border-box; background: var(--control-background-color); overflow: hidden; transition: opacity 0.1s linear; padding: 0 5px; position: fixed; left: 0; top: 0; border-right: 2px solid var(--control-light-border-color); z-index: 2; } .menu-spacer { flex-basis: 33%; max-width: 500px; flex-grow: 0; flex-shrink: 0; } #menu a { color: var(--control-link-foreground-color); } #menu.active { display: flex; opacity: 1; z-index: 2; } #menu-pins { flex-grow: 1; display: none; } #menu-pins.active { display: block; } #menu-pins .unpin-all { border: none; background: var(--control-dark-background-color); border-radius: 4px; height: 18px; font-size: 12px; margin: 0 5px 0 10px; font-family: 'IBM Plex Sans', sans-serif; } #menu-pins .unpin-all:hover { background: var(--control-background-color); } #menu-pins-list { margin: 0; padding: 0; counter-reset: pins-counter; } #menu-pins-list > li { display: flex; align-items: stretch; gap: 4px; margin: 3px 1px; border-radius: 4px; } #menu-pins-list > li > a { flex-grow: 1; align-self: center; } #menu-pins-list > li::before, #menu-pins-list > li > .unpin { flex-shrink: 0; flex-grow: 0; text-align: center; padding: 1px 3px; border-radius: 4px; background: none; border: none; } #menu-pins-list > li::before, #menu-pins-list > li > .unpin:hover { background: var(--control-dark-background-color); } #menu-pins-list > li > .unpin, #menu-pins .unpin-all { cursor: pointer; color: var(--foreground-color); } #menu-pins-list > li > .unpin:hover, #menu-pins .unpin-all:hover { color: var(--menu-unpin-hover-foreground-color); } #menu-pins-list > li::before { content: counter(pins-counter); counter-increment: pins-counter; font-size: 16px; } #menu-toc > ol { padding: 0; flex-grow: 1; } #menu-toc > ol li { padding: 0; } #menu-toc > ol, #menu-toc > ol ol { list-style-type: none; margin: 0; padding: 0; } #menu-toc > ol ol { padding-left: 0.75em; } #menu-toc li { text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #menu-toc .item-toggle { display: inline-block; transform: rotate(0deg); transition: transform 0.1s ease; background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMC42MDUiIGhlaWdodD0iMTUuNTU1Ij48cGF0aCBmaWxsPSIjODg5IiBkPSJtMi44MjggMTUuNTU1IDcuNzc3LTcuNzc5TDIuODI4IDAgMCAyLjgyOGw0Ljk0OSA0Ljk0OEwwIDEyLjcyN2wyLjgyOCAyLjgyOHoiLz48L3N2Zz4); background-repeat: no-repeat; background-position: center; background-size: auto 50%; text-align: center; width: 1em; color: transparent; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; cursor: pointer; } #menu-toc .item-toggle-none { display: inline-block; width: 1em; } #menu-toc li.active > .item-toggle, #menu-toc li.revealed > .item-toggle { transform: rotate(90deg); } #menu-toc li > ol { display: none; } #menu-toc li.active > ol { display: block; } #menu-toc li.revealed > a { background-color: var(--control-dark-background-color); font-weight: bold; } #menu-toc li.revealed-leaf > a { color: var(--menu-revealed-link-foreground-color); } #menu-toc li.revealed > ol { display: block; } #menu-toc li > a { padding: 2px 5px; } #menu > * { margin-bottom: 5px; } .menu-pane-header { padding: 2px 8px; background-color: var(--menu-header-background-color); font-weight: bold; letter-spacing: 1px; flex-grow: 0; flex-shrink: 0; font-size: 80%; user-select: none; } .menu-pane-header emu-opt, .menu-pane-header emu-t, .menu-pane-header emu-nt { margin-right: 0px; display: inline; color: inherit; } .menu-pane-header emu-rhs { display: inline; padding-left: 0px; text-indent: 0px; } .menu-pane-header emu-geq { margin-left: 0px; } .menu-pane-header a { color: var(--control-link-foreground-color); } a.menu-pane-header-production { color: inherit; } .menu-pane-header-production { text-transform: none; letter-spacing: 1.5px; padding-left: 0.5em; } #menu-toc { display: flex; flex-direction: column; width: 100%; overflow: hidden; flex-grow: 1; } #menu-toc ol.toc { overflow-x: hidden; overflow-y: auto; } #menu-search { position: relative; flex-grow: 0; flex-shrink: 0; width: 100%; display: flex; flex-direction: column; max-height: 300px; } #menu-trace-list { display: none; } #menu-search-box { box-sizing: border-box; display: block; width: 100%; margin: 5px 0 0 0; font-size: 1em; padding: 2px; color: var(--foreground-color); background-color: var(--control-input-background-color); border: 1px solid var(--control-input-border-color); } #menu-search-results { overflow-x: hidden; overflow-y: auto; } li.menu-search-result-clause::before { content: 'clause'; width: 40px; display: inline-block; text-align: right; padding-right: 1ex; color: var(--control-dimmed-foreground-color); font-size: 75%; } li.menu-search-result-op::before { content: 'op'; width: 40px; display: inline-block; text-align: right; padding-right: 1ex; color: var(--control-dimmed-foreground-color); font-size: 75%; } li.menu-search-result-prod::before { content: 'prod'; width: 40px; display: inline-block; text-align: right; padding-right: 1ex; color: var(--control-dimmed-foreground-color); font-size: 75%; } li.menu-search-result-term::before { content: 'term'; width: 40px; display: inline-block; text-align: right; padding-right: 1ex; color: var(--control-dimmed-foreground-color); font-size: 75%; } #menu-search-results ul { padding: 0 5px; margin: 0; } #menu-search-results li { white-space: nowrap; text-overflow: ellipsis; } #menu-trace-list { counter-reset: item; margin: 0 0 0 20px; padding: 0; } #menu-trace-list li { display: block; white-space: nowrap; } #menu-trace-list li .secnum::after { content: ' '; } #menu-trace-list li::before { content: counter(item) ' '; background-color: var(--menu-trace-list-background-color); counter-increment: item; color: var(--menu-trace-list-foreground-color); width: 20px; height: 20px; line-height: 20px; display: inline-block; text-align: center; margin: 2px 4px 2px 0; } @media (max-width: 1000px) { body { margin: 0; display: block; } #menu { display: none; padding-top: 3em; width: 450px; } #menu.active { position: fixed; height: 100%; left: 0; top: 0; right: 300px; } #menu-toggle { visibility: visible; } #spec-container { padding: 0 5px; } #references-pane-spacer { display: none; } } @media only screen and (max-width: 800px) { #menu { width: 100%; } h1 .secnum:empty { margin: 0; padding: 0; } } /* Toolbox */ .toolbox-container { position: absolute; display: none; padding-bottom: 7px; } .toolbox-container.active { display: inline-block; } .toolbox { position: relative; background: var(--control-background-color); border: 1px solid var(--control-border-color); color: var(--control-foreground-color); padding: 5px 7px; border-radius: 3px; } .toolbox a { text-decoration: none; padding: 0 3px; white-space: nowrap; } .toolbox a:hover { text-decoration: underline; } .toolbox::after, .toolbox::before { top: 100%; left: 15px; border: solid transparent; content: ' '; height: 0; width: 0; position: absolute; pointer-events: none; } .toolbox::after { border-color: var(--toolbox-tail-background-outside-color); border-top-color: var(--control-border-color); border-width: 10px; margin-left: -10px; } .toolbox::before { border-color: var(--toolbox-tail-border-outside-color); border-top-color: var(--control-border-color); border-width: 12px; margin-left: -12px; } #references-pane-container { position: fixed; bottom: 0; left: 0; right: 0; display: none; background: var(--control-background-color); z-index: 1; } #references-pane-table-container { overflow-x: hidden; overflow-y: auto; min-height: 35px; max-height: 85vh; } #references-pane { flex-grow: 1; overflow: hidden; display: flex; flex-direction: column; } #references-pane > .menu-pane-header { cursor: row-resize; } #references-pane-container.active { display: flex; } #references-pane-close::after { content: '\2716'; float: right; cursor: pointer; } #references-pane table tbody { vertical-align: baseline; } #references-pane table tr td:first-child { text-align: right; padding-right: 5px; } emu-normative-optional { display: block; } emu-normative-optional::before { display: block; color: var(--attributes-tag-foreground-color); content: "NORMATIVE OPTIONAL"; } emu-normative-optional, [normative-optional], [deprecated], [legacy] { border-left: 5px solid var(--normative-optional-border-color); padding: 0.5em; background: var(--normative-optional-background-color); } .attributes-tag { text-transform: uppercase; color: var(--attributes-tag-foreground-color); } .attributes-tag a { color: var(--attributes-tag-foreground-color); } /* Shortcuts help dialog */ #shortcuts-help { position: fixed; left: 5%; margin: 0 auto; right: 5%; z-index: 10; top: 10%; top: calc(5vw + 5vh); padding: 30px 90px; max-width: 500px; outline: solid 10000px var(--control-dialog-fade-color); border-radius: 5px; border-width: 1px 1px 0 1px; background: var(--control-background-color); display: none; } #shortcuts-help.active { display: block; } #shortcuts-help ul { padding: 0; } #shortcuts-help li { display: flex; justify-content: space-between; } #shortcuts-help code { padding: 3px 10px; border-radius: 3px; border-width: 1px 1px 0 1px; border-color: var(--control-light-border-color); background-color: var(--control-shortcut-background-color); box-shadow: inset 0 -1px 0 var(--control-shortcut-shadow-color); } #ecma-logo { background: var(--figure-background); }