html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, output, ruby, section, summary, time, mark, audio, video {

margin: 0;
padding: 0; }

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {

border: 0;
font-size: 100%; }

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, tt, var, b, u, i, center, dl, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {

vertical-align: baseline; }

html, body, div, span, applet, object, iframe, p, blockquote, a, abbr, acronym, address, big, cite, del, dfn, em, img, ins, q, s, small, strike, strong, sub, sup, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {

font-family: {{bodyfont}}; }

code, pre, tt, kbd, samp {

font-family: {{monospacefont}};
font-variant-ligatures: none; }

code *, pre *, tt *, kbd *, samp * {

font-family: {{monospacefont}} !important;
font-variant-ligatures: none; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {

display: block; }

table {

border-collapse: collapse;
border-spacing: 0; }

h1, h2, h3, h4, h5, h6 {

font-family: {{headerfont}}; }

blockquote, q {

quotes: none; }
blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none; }

.h2Annex {

font-family: {{headerfont}}; }

dl {

display: grid;
grid-template-columns: max-content auto; }
dl dt p, dl dd p {
  margin-top: 0; }
dl dt {
  grid-column-start: 1; }
dl dd {
  grid-column-start: 2; }

b, strong {

font-weight: bold; }

div.document-stage-band, div.document-type-band {

background-color: #333333; }

a.FootnoteRef + a.FootnoteRef:before {

content: ", ";
vertical-align: super; }

standard-band {

background-color: #0ac442; }

standard {

border-bottom: solid 3px #0ac442; }

governance-band {

background-color: #750697; }

governance {

border-bottom: solid 3px #750697; }

guide-band {

background-color: #48a0e7; }

guide {

border-bottom: solid 3px #48a0e7; }

working-draft-band {

background-color: #fda706; }

working-draft {

border-bottom: solid 3px #fda706; }

committee-draft-band {

background-color: #fd06fd; }

committee-draft {

border-bottom: solid 3px #fd06fd; }

draft-standard-band {

background-color: #fdf906; }

draft-standard {

border-bottom: solid 3px #fdf906; }

standard-band {

background-color: #0ac442; }

standard {

border-bottom: solid 3px #0ac442; }

obsolete-band {

background-color: #7e0d13; }

obsolete {

border-bottom: solid 3px #7e0d13; }

body {

margin-left: auto;
margin-right: auto;
max-width: 100%;
font-size: {{bodyfont}};
font-weight: 400;
line-height: 1.3;
color: black;
background-color: white; }
body main {
  margin: 0 3em 0 6em; }
@media screen and (min-width: 768px) {
  body {
    padding-left: 323px; } }
@media print {
  body {
    padding-left: 0; } }

.title-section, .prefatory-section {

padding-right: 2em;
padding-left: 4em;
padding-top: 2em; }
@media screen and (min-width: 768px) {
  .title-section, .prefatory-section {
    padding-top: 0; } }

.doctitle-en, .doctitle-fr {

margin-top: 2em;
text-align: left; }

.doctitle-en {

background-color: black;
padding-left: 3em;
margin-left: -3em;
padding-top: 2em;
padding-bottom: 2em; }
.doctitle-en span {
  font-size: 1.5em;
  line-height: 1.5em;
  font-weight: 900;
  display: block;
  color: white; }

.doctitle-fr span {

font-size: 1.2em;
line-height: 1.2em;
font-style: italic;
display: block; }

span.title {

text-transform: uppercase;
font-size: 1em;
font-weight: 800; }

.coverpage_docstage {

margin-top: 2em;
margin-bottom: 2em; }

.coverpage_warning {

border-top: solid 1px #f36f36;
border-bottom: solid 1px #f36f36;
margin: 1em 2em;
color: #485094;
padding: 1em; }
.coverpage_warning .title {
  color: #f36f36;
  font-weight: 500; }
.coverpage_warning .content {
  font-style: italic; }

.coverpage_docnumber, .coverpage_techcommittee {

text-align: right;
font-size: 14.0pt; }

.coverpage {

text-align: center;
padding: 2em 0; }

.coverpage-category {

float: left;
text-align: left; }

.coverpage-logo {

color: #485094; }

.coverpage-tc-name {

color: #485094;
font-size: 1.2em;
line-height: 1.2em;
margin: 0.25em 0; }

.coverpage-doc-identity {

background-color: #485094;
color: white;
font-size: 2em;
line-height: 2em;
margin: 0.5em 0; }

.coverpage-doc-identity-first {

font-size: 5mm;
text-align: right;
padding-right: 5mm;
padding-bottom: 1em;
padding-top: 1em; }

.coverpage-title {

font-weight: 400; }
.coverpage-title .title-second {
  display: none; }

.coverpage-logo-text {

font-size: 24.0pt; }

.coverpage-stage-block {

font-style: italic;
text-align: center;
font-size: 1.25em;
font-weight: 600; }

span.date-publish {

float: left; }

span.date-active {

float: right; }

.coverpage-doc-relations {

font-size: 10.5pt;
padding-top: 0.5em; }

.coverpage-title-zh {

font-size: 8mm;
display: flex;
flex-wrap: wrap;
justify-content: center;
/* flex-direction: column; */
font-family: {{headerfont}}; }

.coverpage-title-zh span {

padding-top: 2mm;
font-size: 28pt; }

.coverpage-title-en {

margin-top: 10mm;
font-size: 18pt;
display: flex;
flex-wrap: wrap;
justify-content: center;
font-family: {{headerfont}}; }

.coverpage-title-en span {

display: block; }

.coverpage-title-en .title-first {

text-transform: uppercase; }

.coverpage-iso-relation {

font-size: 14pt;
margin-top: 10mm;
text-align: center; }

.coverpage-dates {

font-size: 14.0pt;
width: 100%;
margin-top: 25mm;
font-family: {{headerfont}};
border-bottom: 1px solid #000; }

.coverpage_footer {

text-align: center;
font-size: 16pt;
font-weight: 600;
width: 100%;
margin-top: 10mm; }
.coverpage_footer table, .coverpage_footer table th, .coverpage_footer table td {
  border: 0; }
.coverpage_footer table th, .coverpage_footer table td {
  padding: 5px;
  font-size: 1.1em;
  font-weight: 600; }
.coverpage_footer .publish {
  vertical-align: middle; }

.coverpage-banner {

padding-top: 5mm;
margin-left: auto;
margin-right: auto;
width: auto;
display: flex;
flex-wrap: wrap;
justify-content: center; }

.coverpage-maturity {

font-family: 'Overpass', sans-serif;
font-weight: 400;
font-size: 1em;
margin: 0 0 2em 0;
text-transform: uppercase; }

.copyright .year, .copyright .message, .copyright .name, .copyright .address {

margin-top: 1em;
line-height: 1.1em;
display: block; }

.copyright .message, .copyright .name, .copyright .address {

font-size: 0.9em; }

.copyright .name {

color: #485094;
font-weight: 600;
padding-top: 1em; }

.copyright .address {

color: #485094; }

.prefatory-section {

margin-bottom: 5em; }

h1 {

font-size: 1.5em;
line-height: 2em;
color: #485094;
font-weight: 400;
margin-top: 2em;
margin-bottom: 1em; }

h2 {

font-size: 1.3em;
line-height: 1.5em;
color: #485094;
font-weight: 300;
margin-top: 2em;
margin-bottom: 1em; }
h2 p {
  display: inline; }
@media screen and (min-width: 768px) {
  h2.toc-contents {
    margin-top: 1em; } }

h3 {

font-size: 1.1em;
line-height: 1.3em;
color: #485094;
font-weight: 300; }

h4, h5, h6 {

line-height: 1.2; }

p {

margin-top: 1em;
margin-bottom: 1em;
line-height: 1.2em; }

p.zzSTDTitle1 {

font-weight: 700;
font-size: 1.5em; }

span.obligation {

font-weight: 400; }

sup a {

vertical-align: super;
font-size: 0.8em; }

a, a:visited {

text-decoration: none;
color: #485094; }

a:hover {

text-style: italic;
color: #485094; }

ul, ol {

margin-left: 2em; }
ul li p, ol li p {
  margin-bottom: 0.6em;
  line-height: 1.2; }

ol > li > p:before {

content: "";
display: none; }

span.keyword {

font-weight: 600; }

p.TermNum, p.Terms, p.AltTerms, p.DeprecatedTerms {

margin: 0;
color: #485094;
font-weight: 400; }

p.AltTerms, p.DeprecatedTerms {

font-style: italic; }

@media screen and (min-width: 768px) {

nav {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  width: 278px;
  font-size: 0.9em;
  overflow: auto;
  padding: 0 0 0 45px;
  background-color: #f7f7f7; } }

@media print {

nav {
  position: relative;
  width: auto;
  font-size: 0.9em;
  overflow: auto;
  padding: 0;
  margin-right: 0;
  background-color: white; } }

nav a {

color: black;
text-decoration: none;
line-height: 1.2em; }

@media screen and (min-width: 768px) {

#toggle {
  position: fixed;
  height: 100%;
  width: 30px;
  background-color: black;
  color: white !important;
  cursor: pointer;
  z-index: 100; }
  #toggle span {
    text-align: center;
    width: 100%;
    position: absolute;
    top: 50%;
    transform: translate(0, -50%); } }

@media screen and (max-width: 768px) {

#toggle {
  display: none; } }

@media print {

#toggle {
  display: none; } }

@media screen and (min-width: 768px) {

#toggle {
  margin-left: -4em;
  width: 30px; } }

toc ul {

margin: 0;
padding: 0;
list-style: none; }
#toc ul li a {
  padding: 5px 10px; }
#toc ul a {
  color: inherit;
  text-decoration: none;
  display: block; }
  #toc ul a:hover {
    box-shadow: none;
    color: white; }

toc .h2 {

padding-left: 30px; }

toc .h3 {

padding-left: 50px; }

toc .toc-active, toc li:hover {

background: #1d1d1d;
box-shadow: inset -5px 0px 10px -5px #1d1d1d !important; }
#toc .toc-active a, #toc li:hover a {
  color: white; }

@media print {

#toc .toc-active, #toc li:hover {
  background: white;
  box-shadow: none !important; }
#toc .toc-active a {
  color: inherit; }
#toc li:hover a {
  color: black; } }

toc li:before {

content: " ";
display: none; }

toc-list ul {

margin-bottom: 0.25em; }
#toc-list ul li {
  list-style-type: none; }

@media screen and (min-width: 768px) {

#toc-list {
  padding: 0;
  margin: 0; } }

myBtn {

font-family: {{monospacefont}};
font-variant-ligatures: none;
display: none;
position: fixed;
bottom: 20px;
right: 30px;
z-index: 99;
font-size: 12px;
border: none;
outline: none;
background-color: #1d1d1d;
opacity: 0.15;
color: white;
cursor: pointer;
padding: 10px 15px 10px 15px;
border-radius: 4px; }
#myBtn:hover {
  opacity: 1; }
@media print {
  #myBtn {
    display: none; } }

.rule {

width: 100%;
height: 1px;
background-color: #0e1a85;
margin: 2em 0; }
@media screen and (min-width: 768px) {
  .rule.toc {
    display: none; } }

.document-stage-band {

left: 0;
top: 0;
height: 100%;
position: fixed;
display: block;
z-index: 101;
box-shadow: -5px 0px 10px #1d1d1d; }
.document-stage-band > :first-child {
  position: relative;
  width: 25px;
  font-weight: 300;
  height: 160px;
  color: white;
  text-transform: uppercase;
  font-size: 0.9em;
  font-weight: 400;
  letter-spacing: 0.05em;
  margin: 0;
  margin-left: 6px;
  writing-mode: tb-rl;
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  white-space: nowrap;
  display: block;
  bottom: 0; }
@media print {
  .document-stage-band {
    display: none; } }

.document-type-band {

left: 0;
top: 180px;
height: 100%;
position: fixed;
display: block;
z-index: 102; }
.document-type-band > :first-child {
  position: relative;
  width: 25px;
  font-weight: 400;
  color: white;
  text-transform: uppercase;
  font-size: 0.9em;
  font-weight: 400;
  letter-spacing: 0.05em;
  margin: 0;
  margin-left: 6px;
  writing-mode: tb-rl;
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  white-space: nowrap;
  display: block;
  bottom: 0; }
@media print {
  .document-type-band {
    display: none; } }
.document-type-band .document-type {
  top: 20px; }

governance-band p.document-type {

font-weight: 400;
height: 230px !important; }

p.Biblio, p.NormRef {

margin-top: 1em;
margin-left: 2em; }

.figure {

line-height: 1.6em;
padding: 1.5em;
margin: 2em 0 1em 0;
overflow: auto;
background-color: #f7f7f7;
/*
  div.figure > img:not(.logo) {
    TODO:         ^^^ Relevant selector?
    margin-left: auto;
    margin-right: auto;
    display: block;
    max-width: 100%;
    height: auto;
  }
*/ }
.figure .FigureTitle, .figure .figure-title {
  font-weight: 700;
  font-size: 1em;
  text-align: center; }
.figure > img {
  margin-left: auto;
  margin-right: auto;
  display: block;
  max-width: 100%;
  height: auto; }

.SourceTitle {

font-weight: 700;
font-size: 1em;
text-align: center; }

pre {

font-family: {{monospacefont}};
font-variant-ligatures: none;
background-color: #f7f7f7;
font-size: 0.8em;
line-height: 1.6em;
padding: 1.5em;
margin: 2em 0 1em 0;
overflow-y: auto;
overflow-x: scroll; }

.pseudocode {

background-color: #f7f7f7;
font-size: 0.8em;
line-height: 1.6em;
padding: 1.5em;
margin: 2em 0 1em 0;
overflow: auto; }
.pseudocode .SourceTitle {
  font-weight: 700;
  font-size: 1em;
  text-align: center; }

.RecommendationTitle {

font-weight: 700;
font-size: 1em;
text-align: center; }

.Note, .note {

background-color: #fff495;
color: #47430c;
padding: 0.5em;
margin: 1.5em 0 1.5em 0;
text-align: left; }
.Note p, .note p {
  margin: 0; }

.Admonition {

background-color: #ffcccc;
color: #47430c;
padding: 0.5em;
margin: 1.5em 0 1.5em 0;
text-align: left; }
.Admonition .AdmonitionTitle {
  font-weight: 700;
  font-size: 1em;
  text-align: center; }
.Admonition p {
  margin: 0; }

.example {

background-color: #e1eef1;
padding: 0.5em;
margin: 2em 0 1em 0;
text-align: left;
padding-left: 2em; }
.example p {
  margin: 0; }
.example .example-title {
  font-weight: 700;
  text-transform: uppercase;
  margin-left: -1.5em; }
.example .example-title {
  margin-top: 0; }
.example pre, .example .pseudocode {
  background: none; }

.blockquote, .Quote {

background-color: #f7f7f7;
font-style: italic;
width: 80%;
padding: 1.5em;
margin-top: 2em;
margin-left: auto;
margin-right: auto; }

.formula {

background-color: #f7f7f7;
padding: 1.5em;
margin-top: 2em;
text-align: center;
margin-left: 20%;
margin-right: 20%;
font-size: 0.9em; }

dl.formula_dl {

background-color: #f7f7f7;
margin-left: 20%;
margin-right: 20%;
font-size: 0.9em; }

.Admonition, .admonition {

background-color: #ffb3b3;
padding: 0.5em;
margin: 1.5em 0 1.5em 0;
text-align: left; }
.Admonition p, .admonition p {
  margin: 0; }

table {

width: 100%;
font-weight: 300;
margin: 1em 0 2em 0;
margin-left: auto;
margin-right: auto;
padding-right: 2em;
text-align: center; }
table, table th, table td {
  border: 1px solid black;
  font-size: 0.95em; }
table th, table td {
  padding: 1em; }
table td.header {
  font-weigth: 400; }

p.TableTitle {

text-align: center;
margin-top: 2.5em;
font-weight: 800;
font-size: 1.1em; }

.TableFootnote {

text-align: left !important; }

a.footnote-number, a.TableFootnoteRef, span.TableFootnoteRef {

vertical-align: super;
font-size: 0.8em; }

.footnote {

font-size: 0.9em; }

footnote_box {

font-size: 14px;
background: white;
padding: 0 10px;
margin: 10px;
border: 1px solid #888;
-moz-box-shadow: 0px 0px 5px #888;
-webkit-box-shadow: 0px 0px 5px #888;
box-shadow: 0px 0px 5px #888; }

ol.footnotes-list, aside.footnote {

margin-left: 1em; }

ol.footnotes-list li, aside.footnote {

font-size: 0.9em;
vertical-align: top;
list-style: decimal;
margin-bottom: 1em; }

ol.footnotes-list:first-child {

margin-top: 2em; }

ol.footnotes-list p, aside.footnote {

display: inline; }