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; }

.addition {

color: blue; }

.deletion {

color: red;
text-decoration: line-through; }

standard-band {

background-color: #3D9970; }

standard {

border-bottom: solid 3px #3D9970; }

abstract-specification-topic-band {

background-color: #3D9970; }

abstract-specification-topic {

border-bottom: solid 3px #3D9970; }

reference-model-band {

background-color: #3D9970; }

reference-model {

border-bottom: solid 3px #3D9970; }

best-practice-band {

background-color: #39CCCC; }

best-practice {

border-bottom: solid 3px #39CCCC; }

discussion-paper-band {

background-color: #39CCCC; }

discussion-paper {

border-bottom: solid 3px #39CCCC; }

white-paper-band {

background-color: #39CCCC; }

white-paper {

border-bottom: solid 3px #39CCCC; }

engineering-report-band {

background-color: #39CCCC; }

engineering-report {

border-bottom: solid 3px #39CCCC; }

release-notes-band {

background-color: #FFDC00; }

release-notes {

border-bottom: solid 3px #FFDC00; }

user-guide-band {

background-color: #FFDC00; }

user-guide {

border-bottom: solid 3px #FFDC00; }

community-practice-band {

background-color: #FF851B; }

community-practice {

border-bottom: solid 3px #FF851B; }

community-standard-band {

background-color: #FF851B; }

community-standard {

border-bottom: solid 3px #FF851B; }

other-band {

background-color: #0074D9; }

other {

border-bottom: solid 3px #0074D9; }

policy-band {

background-color: #0074D9; }

policy {

border-bottom: solid 3px #0074D9; }

change-request-supporting-document-band {

background-color: #0074D9; }

change-request-supporting-document {

border-bottom: solid 3px #0074D9; }

test-suite-band {

background-color: #001F3F; }

test-suite {

border-bottom: solid 3px #001F3F; }

candidate-band {

background-color: #8B9EB7; }

candidate {

border-bottom: solid 3px #8B9EB7; }

working-draft-band {

background-color: #8B9EB7; }

working-draft {

border-bottom: solid 3px #8B9EB7; }

proposal-band {

background-color: #8B9EB7; }

proposal {

border-bottom: solid 3px #8B9EB7; }

oab-review-band {

background-color: #8B9EB7; }

oab-review {

border-bottom: solid 3px #8B9EB7; }

committee-draft-band {

background-color: #8B9EB7; }

committee-draft {

border-bottom: solid 3px #8B9EB7; }

swg-draft-band {

background-color: #8B9EB7; }

swg-draft {

border-bottom: solid 3px #8B9EB7; }

public-rfc-band {

background-color: #48a0e7; }

public-rfc {

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

tc-vote-band {

background-color: #fd06fd; }

tc-vote {

border-bottom: solid 3px #fd06fd; }

published-band {

background-color: #9abd48; }

published {

border-bottom: solid 3px #9abd48; }

deprecated-band {

background-color: #7e0d13; }

deprecated {

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

retired-band {

background-color: #7e0d13; }

retired {

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

.coverpage-maturity, .coverpage-stage {

font-family: {{headerfont}};
font-weight: 400;
font-size: 1.3em;
margin: 0 0 2em 0;
text-transform: uppercase; }

.icon-svg {

width: 100%;
color: #5ecf86; }

.wrapper-top {

background: #00335b;
background: linear-gradient(130deg, #00335b 45%, #f1f8ff 100%);
color: #ffffff;
padding: 5em 0;
width: 100%; }

.wrapper-top-bottom {

width: 0;
height: 0;
border-top: 100px solid #00335b;
border-right: 100px solid transparent;
position: absolute; }

.document-type-band {

top: 260px; }

.document-stage-band > :first-child {

height: 240px; }

.coverpage-metadata {

margin-top: 35px;
padding-top: 15px;
margin-right: 25px;
border-top: solid 1px white; }

.coverpage-metadata, .coverpage-alt-formats {

font-size: 12px;
font-family: {{headerfont}};
margin-left: 1em;
text-align: left; }
.coverpage-metadata span,
.coverpage-alt-formats span {
  display: block;
  text-align: left; }
  .coverpage-metadata span a,
  .coverpage-alt-formats span a {
    color: white; }
    .coverpage-metadata span a:hover,
    .coverpage-alt-formats span a:hover {
      text-decoration: underline;
      background: none;
      box-shadow: none !important;
      font-weight: 400; }
.coverpage-metadata .value,
.coverpage-alt-formats .value {
  font-size: 15px;
  margin-bottom: 15px; }
.coverpage-metadata .label,
.coverpage-alt-formats .label {
  font-size: 12px;
  padding: 0; }

.coverpage-alt-formats span {

display: inline;
text-align: left; }
.coverpage-alt-formats span a {
  padding-right: 5px; }

.coverpage-title {

padding-bottom: 0.5em;
font-family: {{headerfont}};
font-weight: 100;
padding-left: 1em;
padding-right: 1em; }
.coverpage-title span {
  font-family: {{headerfont}};
  font-size: 1.8em;
  line-height: 1; }

.docstage-box table {

width: auto; }

.docstage-box th {

background-color: #93c0d6; }

.docstage-box td {

vertical-align: top;
background-color: #daeef3;
padding: 0.5em;
border: 0; }

.docstage-box th:first-child {

border-radius: 1em 0 0 0; }

.docstage-box th:last-child {

border-radius: 0 1em 0 0; }

.docstage-box tr:first-child {

border-radius: 0 0 0 1em; }

.docstage-box tr:last-child {

border-radius: 0 1em 0 0; }

.docstage-box tr:last-child > td:first-child {

border-radius: 0 0 0 1em; }

.docstage-box tr:last-child > td:last-child {

border-radius: 0 0 1em 0; }

.WordSection11 {

padding: 0 2em 0 3em; }

.info-section {

padding: 0 2em 0 5em; }

.prefatory-section {

padding: 0 3em 0 6em; }

.zzSTDTitle1, .MsoCommentText {

display: none; }

.coverpage {

text-align: center;
padding-left: 1.5em; }

.coverpage-logo span, .coverpage-tc-name span {

font-family: {{bodyfont}};
text-transform: none;
font-weight: 300;
margin-left: 1em; }

.coverpage-tc-name {

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

.copyright {

padding: 1em;
font-size: 0.9em;
text-align: left; }

/* Document Identity */ .coverpage-doc-identity {

font-size: 2em;
line-height: 2em; }

.coverpage-title .title-second {

display: none; }

.coverpage-stage-block {

font-family: {{headerfont}};
font-weight: 600;
font-size: 1.25em;
margin: 2em 0em 2em 0em;
text-transform: uppercase; }

.authors {

margin-top: 2em; }
.authors span {
  display: block;
  line-height: 2; }
.authors span.roletag {
  display: inline-block;
  font-size: 12px;
  color: #00335b;
  background-color: white;
  padding: 2px 5px;
  margin-left: 7px;
  border-radius: 5px; }

/* Draft Warning */ .coverpage-warning {

border: #f36f36 solid 2px;
color: #f36f36 !important;
margin: 1em 2em;
color: #2e81c2;
padding: 2em 1em 1em 1em;
border-radius: 25px; }
.coverpage-warning h1 {
  font-family: {{headerfont}};
  font-weight: 300;
  text-transform: uppercase;
  font-size: 1.2em; }

@media print {

.document-info, .copyright {
  page-break-before: always; }
.coverpage {
  height: 23cm; }
.info-section {
  display: none; }
.wrapper-top {
  top: 0;
  padding-top: 4cm;
  padding-bottom: 4cm; }
.wrapper-top-bottom {
  margin-top: -5px;
  display: none; } }

body {

margin-left: auto;
margin-right: auto;
max-width: 100%;
font-size: {{normalfontsize}};
font-weight: 300;
line-height: 1.5;
color: #00335b;
background-color: #f6f8fa; }
body main {
  margin: 0 3em 0 6em; }
@media screen and (min-width: 768px) {
  body {
    padding-left: 360px; } }
@media print {
  body {
    padding-left: 0; } }

dl {

grid-template-columns: minmax(0, 1fr) 93%; }
dl pre {
  overflow-x: scroll; }

toc ul {

margin: 0;
padding: 0;
list-style: none; }
#toc ul li a {
  padding: 5px 10px; }
#toc ul a {
  color: #00335b;
  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: #00335b;
box-shadow: inset -5px 0px 10px -5px #00335b !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: #00335b; }
#toc li:hover a {
  color: black; } }

toc li a {

font-size: 14px; }

toc li:before {

content: " ";
display: none; }

toc .toc-active, toc li:hover {

font-weight: 600; }

toc li:hover a {

background: none;
box-shadow: none; }

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

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

@media print {

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

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

nav {
  marign-right: 30px; } }

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

#toggle {
  position: fixed;
  height: 100%;
  width: 30px;
  background-color: #00335b;
  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; } }

.rule {

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

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

h1.toc-contents {
  margin-top: 1em; }
ul#toc-list {
  padding: 0;
  margin: 0; } }

toc-list ul {

margin-bottom: 0.25em; }

toc-list li {

list-style-type: none; }

.figure {

line-height: 1.6em;
padding: 1.5em;
margin: 2em 0 1em 0;
overflow: 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; }

.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; }

standard-band p {

height: 135px; }

proposal-band p {

height: 150px; }

standard-band, published-band {

color: #7ba812; }

standard, published {

color: #9ABD48; }

p {

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

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

color: #00335b;
font-weight: 400;
margin-top: 1.6em;
margin-bottom: 0.3em; }

h1 {

font-size: 1.8em;
text-transform: uppercase;
margin-top: 2em; }
h1 #content {
  margin-top: 2em; }

h2 {

margin-top: 1.3em;
font-size: 1.7em;
font-weight: 300; }
h2 p {
  display: inline; }

h3 {

margin-top: 1.3em;
font-size: 1.5em;
font-weight: 100; }

h4 {

font-size: 1.4em; }

.contact-info {

padding: 2em;
margin-top: 5em;
width: 280px;
text-align: left;
border: #00335b solid 2px;
color: #00335b !important;
border-radius: 25px; }
.contact-info a:hover {
  text-decoration: underline;
  background: none;
  box-shadow: 0 0 0 0; }
.contact-info a, .contact-info a:hover {
  color: #00335b; }
.contact-info p, .contact-info a {
  font-family: {{monospacefont}};
  font-variant-ligatures: none;
  font-weight: 400; }
.contact-info #boilerplate-name {
  font-weight: 700;
  font-size: 1.2em;
  margin-bottom: 0; }
.contact-info #boilerplate-address {
  font-size: 1em;
  line-height: 1.3em;
  margin-top: 0; }

ul, ol {

margin-left: 1.2em; }

ul > li {

list-style: none; }
ul > li:before {
  content: "\2014";
  display: inline-block;
  width: 1em;
  margin-left: -1em; }
ul > li p:first-child {
  display: inline; }
ul > li:first-child {
  margin-top: 1em; }

ul ul > li:first-child {

margin-top: 0; }

ol ul > li:first-child {

margin-top: 0; }

span.keyword {

font-weight: 600; }

/* Tables */ table {

width: 100%;
font-weight: 300;
margin: 1em 0 2em 0;
margin-left: auto;
margin-right: auto;
padding-right: 2em;
/*color: #010d16;*/ }
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; }
table thead tr th {
  background-color: #5d99d6; }
table td, table th {
  padding: 1em; }
table td.header {
  font-weight: 400; }

.docstage-box table, .docstage-box table th, .docstage-box table td {

border: none; }

table.recommendtest {

width: 100%;
font-weight: 300;
margin: 1em 0 2em 0;
margin-left: auto;
margin-right: auto;
padding-right: 2em;
color: #010d16; }
table.recommendtest, table.recommendtest th, table.recommendtest td {
  border: none !important;
  font-size: 0.95em; }
table.recommendtest th, table.recommendtest td {
  padding: 1em; }
table.recommendtest td.header {
  font-weigth: 400; }
table.recommendtest tr:nth-child(even) {
  background: #ffffff; }
table.recommendtest tr:nth-child(odd) {
  background: #ffffff; }
table.recommendtest thead tr th {
  background-color: #5d99d6; }
table.recommendtest td, table.recommendtest th {
  padding: 1em; }
table.recommendtest td.header {
  font-weight: 400; }

td > p:first-child, th > p:first-child {

margin-top: 0em; }

td > p:last-child, th > p:last-child {

margin-bottom: 0em; }

p.TableTitle {

text-align: center;
margin-top: 2.5em;
font-weight: 400; }

/* Terms */ .TermNum, .Terms, .AltTerms {

color: #00335b;
font-weight: 300;
font-family: {{headerfont}}; }

h2.TermNum {

margin-bottom: 0; }

p.AltTerms {

font-size: 24px;
margin-top: 1em; }

span.AdmittedLabel {

color: #00335b;
background-color: #CFE2F3; }

/* Links, selection */ a, a:visited {

text-decoration: none;
color: #2e81c2; }

a:hover {

color: #00335b;
background: white;
box-shadow: 3px 0 0 white, -3px 0 0 white; }

::selection, ::-moz-selection {

background: white;
color: #00335b; }

/* Bibliograhy */ p.Biblio, p.NormRef {

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

/* Blocks */ .SourceTitle {

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

pre {

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

.Admonition {

padding: 1em 1.2em 1.2em 1.2em;
margin: 1em 0 1em 0;
background-color: #fcad88;
border-top: 10px solid #eb5a06;
color: #290404; }
.Admonition .AdmonitionTitle {
  font-weight: 700;
  font-size: 1em;
  text-align: center; }
.Admonition.Important {
  background-color: #f58cff;
  color: #5d1364;
  border-top: 10px solid #9503a8; }
.Admonition.Warning {
  background-color: #ff989d;
  color: #270204;
  border-top: 10px solid #e4010c; }
.Admonition p, .Admonition.Important p, .Admonition.Warning p {
  margin: 0; }

.figure, pre, .pseudocode {

background-color: #e1eef1;
color: #424242;
font-size: {{monospacefontsize}}; }

.Note {

background-color: #fff8bb;
color: #7d760b;
padding: 1.2em;
margin: 1em 0 1em 0; }
.Note p {
  margin: 0; }

.example {

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

.Quote {

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

.formula {

background-color: #f6f6f6;
padding: 1.5em;
margin-top: 2em;
text-align: center; }

.recommend .RecommendationTitle, .recommendtest .RecommendationTitle {

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

.require .RecommendationTitle, .requiretest .RecommendationTitle {

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

.permission .RecommendationTitle, .permissiontest .RecommendationTitle {

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

.RecommendationTestTitle {

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

/* .recommend {

&, .example_label {
  background-color: #f8ffbd;
}
.example_label {
  font-weight: bold;
}

}

.permission {

&, .example_label {
  background-color: #cdfdbe;
}
.example_label {
  font-weight: bold;
}

}

.require {

&, .example_label {
  background-color: #d3e6ff;
}
.example_label {
  font-weight: bold;
}

} */ .recommend .RecommendationTitle {

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

.require .RecommendationTitle {

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

.permission .RecommendationTitle {

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

tbody td.recommend p.RecommendationTitle, tbody td.recommend p.RecommendationTitle, tbody td.recommend p.RecommendationTitle {

font-weight: normal;
text-align: left; }

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: #00335b;
opacity: 0.15;
color: white;
cursor: pointer;
padding: 10px 15px 10px 15px;
border-radius: 4px; }
#myBtn:hover {
  opacity: 1; }
@media print {
  #myBtn {
    display: none; } }

a.anchorjs-link:hover {

background: none;
color: #2e81c2;
box-shadow: none; }

@page {

margin: 2cm 1cm; }

@media print {

h1, h2, h3, h4 {
  page-break-after: avoid;
  margin-top: 1.2em; }
h1 {
  font-size: 1.5em;
  line-height: 1.5; }
  h1.content {
    margin-top: 2em;
    line-height: 2.5em; }
h2 {
  font-size: 1.2em; }
h3 {
  font-size: 1em; }
.prefatory-section {
  page-break-before: always; }
.note, .pseudocode {
  page-break-inside: avoid; }
.Note {
  background-color: #fff495;
  color: #47430c;
  padding: 5px;
  margin: 2em 0 1em 0; }
  .Note p {
    padding: 0 5px 0 5px; }
nav {
  line-height: 1; } }

/* Footnotes */ a.footnote-number {

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

.footnote {

font-size: {{footnotefontsize}}; }

span.hi {

background-color: yellow; }