@font-face {
    font-family: 'RalewayWF';
    src: url('fonts/raleway-regular-webfont.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
    }
@font-face {
    font-family: 'RalewayWF';
    src: url('fonts/raleway-bold-webfont.woff2') format('woff2');
    font-weight: bold;
    font-style: normal;
    }
@font-face {
    font-family: 'RalewayWF';
    src: url('fonts/raleway-italic-webfont.woff2') format('woff2');
    font-weight: normal;
    font-style: italic;
    }
@font-face {
    font-family: 'ScheherazadeNewWF';
    src: url('fonts/scheherazadenew-regular-webfont.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
    }

/* Persian/Arabic font */
@font-face {
	font-family: Vazirmatn;
	src: url('fonts/vazirmatn/Vazirmatn-Thin.woff2') format('woff2');
	font-weight: 100;
	font-style: normal;
	font-display: swap;
  }
  
  @font-face {
	font-family: Vazirmatn;
	src: url('fonts/vazirmatn/Vazirmatn-ExtraLight.woff2') format('woff2');
	font-weight: 200;
	font-style: normal;
	font-display: swap;
  }
  
  @font-face {
	font-family: Vazirmatn;
	src: url('fonts/vazirmatn/Vazirmatn-Light.woff2') format('woff2');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
  }
  
  @font-face {
	font-family: Vazirmatn;
	src: url('fonts/vazirmatn/Vazirmatn-Regular.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
  }
  
  @font-face {
	font-family: Vazirmatn;
	src: url('fonts/vazirmatn/Vazirmatn-Medium.woff2') format('woff2');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
  }
  
  @font-face {
	font-family: Vazirmatn;
	src: url('fonts/vazirmatn/Vazirmatn-SemiBold.woff2') format('woff2');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
  }
  
  @font-face {
	font-family: Vazirmatn;
	src: url('fonts/vazirmatn/Vazirmatn-Bold.woff2') format('woff2');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
  }
  
  @font-face {
	font-family: Vazirmatn;
	src: url('fonts/vazirmatn/Vazirmatn-ExtraBold.woff2') format('woff2');
	font-weight: 800;
	font-style: normal;
	font-display: swap;
  }
  
  @font-face {
	font-family: Vazirmatn;
	src: url('fonts/vazirmatn/Vazirmatn-Black.woff2') format('woff2');
	font-weight: 900;
	font-style: normal;
	font-display: swap;
  }

/* From https://github.com/w3c/clreq/blob/gh-pages/local.css */
@font-face {
	font-family: 'Punctuation SC';
	src: local('PingFang SC'), local('Noto Sans CJK SC'), local('Noto Sans SC'), local('Heiti SC'), local('Microsoft Yahei');
	unicode-range: U+201C, U+201D, U+2018, U+2019, U+2E3A, U+2014, U+2013, U+2026, U+00B7, U+007E, U+002F;
	/* Unicode range for punctuation marks */
	}

@font-face {
	font-family: 'Punctuation TC';
	src: local('PingFang TC'), local('Noto Sans CJK TC'), local('Noto Sans TC'), local('Heiti TC'), local('Microsoft JhengHei');
	unicode-range: U+201C, U+201D, U+2018, U+2019, U+2E3A, U+2014, U+2013, U+2026, U+00B7, U+007E, U+002F;
	/* Unicode range for punctuation marks */
	}

body {
    line-height: 1.75;
	color: #333;
	font-weight: 400;
	margin: 0;
	padding: 0;
	background-color: white;
	font-family: RalewayWF, Helvetica, 'Helvetica Neue', Arial, "Segoe UI", sans-serif;
	hyphens: auto;
	}

:root[lang=bg] body, 
:root[lang=ru] body, 
:root[lang=uk] body, 
:root[lang=de] body, 
:root[lang=en] body, 
:root[lang=es] body,
:root[lang=fr] body, 
:root[lang=fr] body, 
:root[lang=gl] body, 
:root[lang=it] body, 
:root[lang=nl] body, 
:root[lang=pl] body, 
:root[lang=pt] body, 
:root[lang=ro] body, 
:root[lang=sv] body, 
:root[lang=tr] body { 
	font-family: RalewayWF, Helvetica, 'Helvetica Neue', Arial, "Segoe UI", sans-serif; 
	font-size: 16px;
	}
:root[lang=ar] body { 
	font-family: "ScheherazadeNewWF", "Geeza Pro", Calibri, RalewayWF, Helvetica, Arial, sans-serif; 
	font-size: 19px;
	}
:root[lang=el] body { 
	font-family: "Helvetica Neue", Helvetica, "Arial", "Segoe UI", sans-serif;
	font-size: 16px;
	}
:root[lang=vi] body { 
	font-family: Roboto, "Arial", "Segoe UI", sans-serif;
	font-size: 16px;
	}
:root[lang=ar] body { 
	font-family: "Scheherazade New", "Geeza Pro", Calibri, RalewayWF, Helvetica, Arial, sans-serif; 
	font-size: 19px;
	}
:root[lang=hi] body { 
	font-family: "Devanagari MT", "Arial Unicode MS", RalewayWF, Helvetica, Arial, sans-serif; 
	font-size: 18px;
	}
:root[lang=he] body { 
	font-family: "New Times Roman", RalewayWF, Helvetica, Arial, sans-serif; 
	font-size: 18px;
	}
:root[lang=zh-hans] body { 
	font-family: 'Punctuation SC', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', 'PingFang SC', 'Noto Sans CJK SC', 'Noto Sans SC', 'Heiti SC', 'DengXian', 'Microsoft YaHei', sans-serif;
	font-size: 18px;
	}
:root[lang=ja] body { 
	font-family: "MS Gothic", "MS PMincho", RalewayWF, Helvetica, Arial, sans-serif; 
	font-size: 18px;
	}
:root[lang=ko] body { 
	font-family: "AppleGothic", "Malgun Gothic", RalewayWF, Helvetica, Arial, sans-serif; 
	font-size: 18px;
	}
:root[lang=zh-hant] body { 
	font-family: 'Punctuation TC', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', 'PingFang TC', 'Noto Sans CJK TC', 'Noto Sans TC', 'Heiti TC', 'Microsoft JhengHei', sans-serif;
	font-size: 18px;
	}
:root[lang=pes] body { 
	font-family: Vazirmatn, sans-serif;
	font-size: 16px;
	}




h2:lang(bg), 
h2:lang(ru), 
h2:lang(uk), 
h2:lang(de), 
h2:lang(en), 
h2:lang(es), 
h2:lang(fr), 
h2:lang(gl), 
h2:lang(hu), 
h2:lang(it), 
h2:lang(nl), 
h2:lang(pl), 
h2:lang(pt), 
h2:lang(hu), 
h2:lang(pl), 
h2:lang(sv) { 
	font-family: "Gill Sans", "Gill Sans MT", "Myriad Pro", "DejaVu Sans Condensed", Helvetica, Arial, sans-serif; 
	}
h2:lang(pes) { 
	font-family: Vazirmatn, sans-serif;
	}

body.obsolete section,
body.obsolete div.section, body.obsolete div.section2,
body.obsolete h2, body.obsolete h3 {
	text-decoration: line-through;
	}




/* ************** counters ****************** */

body { counter-reset: figure; }

figcaption { font-size: 90%; }

figcaption { counter-increment: figure; }

figcaption::before { content: "Fig. " counter(figure) ". "; }

figcaption:lang(zh-hans)::before { content: "图" counter(figure) ":\00A0 "; }

/* ************** set margins **************** */

p, h2, h3, h4, dl, figure { margin-inline-start: 7.5%; margin-inline-end: 32%; }

table { margin-inline-start: 7.5%;  }
table.inband { margin-inline-end: 32%; }
figure table { margin-inline-start: 0; margin-inline-end: 0; }
figure.table { margin-inline-start: 7.5%; margin-inline-end: 32%; padding: 1em 0; }


ul, ol { margin-inline-start: 12.5%; margin-inline-end: 34%; padding-inline-start:0; }
ul ul { margin-inline-start: 2%; margin-inline-end: 5%; }
ol ul { margin-inline-start: 2%; margin-inline-end: 5%; }
li {margin-inline-start:0; padding-inline-start: 0; }
li p { margin-inline-start: 0; margin-inline-end: 0; }
li li { margin-inline-end: 0; }
li .example { margin-inline-start: 0; margin-inline-end: 0; }

blockquote { margin-inline-start: 11%; margin-inline-end: 34%; }
blockquote p { margin-inline-start: 0; margin-inline-end: 0; }
blockquote ol { margin-inline-end: 0; }

.example { margin-inline-start: 7.5%; margin-inline-end: 32%; }
.example-wide { margin-inline-start: 7.5%; margin-inline-end: 5%; }
.example dl { margin-inline-end: 0; }
.example dd { margin-inline-end: 0; }
.example p { margin-inline-start: 0; margin-inline-end: 0; }
.sidenote p { margin-inline-start: 0; margin-inline-end: 0; }
.example blockquote { margin-inline-start: 1em; margin-inline-end: 1em; }

figure { display:block; padding: 10px 3%; position: relative; }
figure p, figure pre { margin-inline-start: 0; margin-inline-end: 0; }
.demolink { font-size: 70%; position: absolute; bottom: 0.5em; right: 1em; }
.inlinedemolink { font-size: 80%; margin-inline-start: 1em; margin-start: 1em;  }
figcaption { font-style: italic; }
figcaption:lang(zh) { font-style: normal; }

dt, dd { margin-block-end: 0; }
dd .example { margin-inline-start: 0; margin-inline-end: 0; }
dd p { margin-inline-start: 0; margin-inline-end: 0; }



/* ************** sections **************** */


section > p { 
	text-align:justify;
	}




/* ************** asides **************** */

aside {
	float: right; 
	width: 28%;
	clear: right;
	}
aside:dir(rtl) {
	float: left; 
	width: 28%;
	clear: left;
	}
:root[dir=rtl] aside {
	float: left; 
	width: 28%;
	clear: left;
	}
#mainNavigationAside {
	max-width: 15em;
    background-color: antiquewhite;
    border-bottom-left-radius: 1em;
    padding-block-end: 1em;
    }
aside h2 {
	margin-block-start: 2em;
	margin-inline-start: 0;
	margin-inline-end: 0;
	text-transform: none;
	text-align: center;
    font-weight: normal;
    color: #333;
    border: 0;
    hyphens: none;
	}
aside p {
	margin-inline-start: 30px;
	margin-inline-end: 20px; 
	text-align: start;
	}
aside ul {
	margin-inline-start: 30px;
	margin-inline-end: 20px; 
	padding: 0;
	}
aside li {
	list-style-position: inside;	
	}


#sidebarExtras {
	display: none;
	}


/* ************** links **************** */

a {
	text-decoration: none;
	color: teal;
	}
#toc a {
    color: darkslategray;
	}
a:visited {
	color: brown;
    color: #036;
	}
a:hover {
	color:  #005a9c;
	background: #FFC;
	text-decoration: underline;
	}
	
/*	
header a {
	font-weight: 300;
	}*/



/* ************** structural styles **************** */

#mainNavigation { 
	line-height: 1.4; 
	}


#site-navigation {
	background-color: antiquewhite;
	/* color: #7FFFD4; */
	padding-block-start: 1em;
	padding-bottom: 0;
	background-image: url(standards-corner.png);
	background-position: top right;
	background-repeat: no-repeat;
	}
#site-navigation:dir(rtl) {
	background-image: url(standards-corner-rtl.png);
	background-position: top left;
	background-repeat: no-repeat;
	}
:root[dir=rtl] #site-navigation {
	background-image: url(standards-corner-rtl.png);
	background-position: top left;
	background-repeat: no-repeat;
	}
#site-navigation bdi {
	font-weight: 400;
	font-size: 1.1rem;
	}
#site-navigation ul {
	margin-inline-start: 30px;
	margin-inline-end: 20px; 
	margin-block-start: 0;
	margin-block-end: 0;
	padding: 0;
	}
#site-navigation li {
	display: inline;
	margin-inline-end: 10px;
	}
#site-navigation a {
	white-space: nowrap;
	}
#site-navigation a:link {
    color: #5C7A7A;
	}
#site-navigation a:active {
	background-color: white; 
    color: #5C7A7A;
	}
#site-navigation a:visited {
	background-color: white; 
	text-decoration: none;
    color: #5C7A7A;
	}
#site-navigation a:hover {
	color: white;
	background-color: #003163; 
	border-radius: 3px;
	text-decoration: none;
	}


#disclaimer {
	font-size: 80%; 
	line-height: 1em; 
	background-color: transparent; 
	}
#disclaimer p {
	font-size: 115%; 
	line-height: 1.2em;
    color: brown;
	}


#search {
	}
#searchField {
	background-color: #C08D34; 
	background-color: #5F9EA0;
	border: 0;
	margin-inline-end: 5px;
	}
#searchSite {
	background-color: teal;
	color: #7FFFD4;
	font-size: 80%;
	padding: 0px 5px 0px 5px;
	/* margin: 30px 49px 10px 18px; */
	margin-block-start: 30px;
	margin-block-end: 10px;
	margin-inline-start: 18px;
	margin-inline-end: 49px;
	border-radius: 5px;
	margin-inline-end:10px;
	}
#searchSite input {
	width:90%; 
	background-image: url(/International/style/search.png); 
	background-position: left; 
	background-repeat: no-repeat; 
	padding-inline-start:18px; 
	color:#7fffd4; 
	background-color:teal;
	cursor:pointer;
    height: 2em;
	}


#breadcrumbs {
	font-size: 90%;
	margin-block-end: 10px;
	}
	

#toc ol {
	margin:0;	
	padding: 0;
	margin-inline-start:2em;
	margin-inline-end: 1em;
	margin-block-end: 1em;
	}
#toc li {
	list-style-type:none;
	margin-block-end: .3em;
    font-size: 97%;
	}
#toc ol ol {
	/* margin: 8px 0 8px 10px; */
	margin-block: 8px;
	margin-inline-start: 10px;
	margin-inline-end: 0;
	font-size:90%;
	}
#toc ol ol li {
	margin-block-end: .2em;
	}


#aboutdoc p { 
	font-size: 90%;
	}





/* ************** top banner **************** */

#siteicons {
	padding: 0;
    height: 49px;
    padding-inline-start: 10px;
    padding-block-start: 1em;
    /* margin: 0 32% 0 3%; */
    margin-block: 0;
    margin-inline-start: 3%;
    margin-inline-end: 32%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    }
#siteicons img {
    vertical-align: middle;
	}
#siteicons a:hover {
	text-decoration: none;
	background-color: #003163;
	color: white;
	}
#sitename {
    font-size: 22px;
    border-bottom: 2px solid brown;
    color: #4c5c9c;
    margin: 0;
    }
#subtitle {
    margin:0;
    font-size:12px;
    font-style:italic;
    color: #4c5c9c;
    }
#subtitle:lang(ja), #subtitle:lang(ko), #subtitle:lang(zh), #subtitle:lang(hi), #subtitle:lang(ar) {
    font-style: normal;
    }
#subtitle:lang(hi), #subtitle:lang(ar) {
    line-height: 2;
    }
#sitelinks {
	padding-block-start: 1em;
    padding-block-end: 1em;
    margin-inline-start: 3%;
    text-align: start;
    font-size: 90%;
	}
#sitelinks a { 
	padding-inline: .75rem;
	/* note that this was chosen carefully to avoid unequal gapping
	produced by logical values and by intervening spaces */
	}
#sitelinks a:hover {
	color: #005a9c;
	text-decoration: none;
	}
#sitelinks a:visited {
	color: teal;
	text-decoration: none;
	}
	


/* ************** headings **************** */

h1 {
	background-color: white;
	padding: 5px;
	padding-inline-start: 10px;
	/* margin: 1em 32% 0 3%; */
	margin-block-start: 1rem;
    margin-block-end: 0;
    margin-inline-start: 3%;
    margin-inline-end: 32%;
	line-height: 1.2; 
    font-weight: 400;
    color: #666;
    font-size: 3.25em;
    hyphens: none;
	}

h2 {
	font-size: 150%;
	font-weight: bold;
	margin-block-start: 3em; 
	border-bottom: 1px solid #eee;
	text-transform: uppercase;
	}
h2 a:link {
    font-weight: bold;
    color: #333;
	}
h2 a:visited { 
	color: #333;
	text-decoration: none;
	}

h3 {
	font-size: 120%;
	font-weight: bold;
	margin-block-start: 3em;
	margin-block-end: 1em;
	}
h3 a:link {
	color: #111;
	}
h3 a:visited { 
	color: #333;
	}

h4 {
    font-weight: bold;
    color: #777;
    font-style: italic;
    margin-block-start: 3em;
    margin-block-end: 0;
    color: #222;
    font-size: 90%;
    }
h4 a:link {
    color: #777;
	}
h4 a:visited { 
	color: #777;
	}

h2 code, h3 code, h4 code {
	font-size: 88%;
	}

#nutshell {
	margin-block-start: 2em;
	margin-block-end: .25em;
	margin-inline-start: 7.5%; 
	margin-inline-end: 32%;
	padding: 1em 1em 0 1em; 
    border-block-start: 3px solid brown;
    border-block-end: 3px solid brown;
    }
#nutshell h2 {
	font-size: 36px;
	color: #900;
	margin-block-start: 10px;
	/*margin-inline-start: 5%;*/
	margin-inline-start: 0;
	margin-inline-end: 20px;
	background-color: transparent;
	padding-inline-start: 0;
	}
#nutshell h2 {
	color: brown;
    font-weight: normal;
	}
.nutshellIntro {
	font-style: italic;
	color: #777;
	font-size: 90%;
	}
#nutshell p, #nutshell .example { 
	margin-inline-start: 0;
	margin-inline-end: 0;
	}
#nutshell .insideinfonote { 
	margin-inline-end: 0;
	}



#furtherreading h2 {
	margin-block-end: 2em;
	}
.referencestitle {
	margin-inline-start: 11%; 
	margin-inline-end: 34%; 
	margin-block-start: 30px;
	font-weight: 700;
	}



/* *********** notes ************* */

.sidenoteGroup {
	position: relative;
	width: 100%;
	}
/* Note that .sidenote has to be absolute to get it to position alongside the top of the text it comments on, but have it read after.  The order is important for screen readers and for the printed version. The use of the sidegroupnote div allows you to specify the location where the note should be read. (cf. .insidenote) */
.sidenote {
	position: absolute;
	top: 0;	
	right: 2em;
	width: 24%;
	font-size: 80%;
	line-height: 1em;
	}
.sidenote:dir(rtl) {
	right: unset;
	left: 2rem;
	line-height: 1.4rem;
	}
:root[dir=rtl] .sidenote {
	right: unset;
	left: 2rem;
	line-height: 1.4rem;
	}
.sideinfonote, .implnote {
    position: absolute;
    top: 1px;
    right: 2em;
    width: 24%;
    font-size: 80%;
    line-height: 1.2em;
    border: 1px solid #CCC;
    /* padding: 5px 10px 5px 15px; */
    padding-block: 5px;
    padding-inline-start: 15px;
    padding-inline-end: 10px;
    border-radius: 10px;
	}
.sideinfonote:dir(rtl), .implnote:dir(rtl) {
    left: 2em;
    right: unset;
	}
:root[dir=rtl] .sideinfonote, :root[dir=rtl] .implnote {
    left: 2em;
    right: unset;
	}
.sideinfonote {
	color: #000066;
	background-color:#f4f4fe;
    background-color: antiquewhite;
    color: #444;
	}
.implnote {
	color: #666;
	background-color:#ffeadd; 
	background-color: white;
    border: 0;
	}

.info::before, .warning::before, .footnote::before, .impl::before { 
	float: left;
 	font-family: Old English, Georgia, serif;
 	font-size: 300%;
 	line-height: 1em;
 	margin-inline-end: 0.3em;
 	margin-block-end:0; 
	font-weight: 700;
    color: #999;
    color: chocolate;
	}
.info:dir(rtl)::before, .warning:dir(rtl)::before, .footnote:dir(rtl)::before, .impl:dir(rtl)::before { 
	float: right;
	}
:root[dir=rtl] .info::before, :root[dir=rtl] .warning::before, :root[dir=rtl] .footnote::before, :root[dir=rtl] .impl::before { 
	float: right;
	}
.info::before { content: 'i'; }
.warning::before { content: '!'; }
.footnote::before { content: '*'; }
/* .impl::before { content: '🛠'; } */
.impl::before { 
	content: url(../icons/implementation.png); 
	content: '';
	}
.sideinfonote p {
	margin:0;
	margin-block-end: .5em; 
	}
.implnote p {
	margin:0;
	margin-block-end: .5em; 
	}

/* .insidenote is for use at the top of the document where the sidenote might conflict with the sidebar.  Note that, because it uses float rather than absolute, the note it encapsulates has to come *before* the text it is displayed alongside. This is less than ideal for voice browsers. */
.insidenote {
	float: right;
	margin-inline-end: 2em;
	margin-inline-start: 1.5em;
	margin-block-start: .5em;
	margin-block-end: 1em;
	width: 24%;
	font-size: 80%;
	line-height: 1em;
	z-index:-500;
	}
.insidenote p {
	margin:0;
	margin-block-end: .5em; 
	}
.insideinfonote, .insideimplnote {
	float: right;
	margin-inline-end: 2em;
	margin-inline-start: 1.5em;
	margin-block-start: .5em;
	margin-block-end: 1em;
	width: 24%;
	font-size: 80%;
	z-index:-500;
	line-height: 1.2em;
	border: 1px solid #CCC; 
	padding: 5px 10px 5px 15px; 
	border-radius: 10px; 
	clear: none;
	}
.insideinfonote {
	color: #222;
    background-color: antiquewhite;
    background-color: bisque;
    color: #444;
	}
.insideimplnote {
	color: #666;
	min-height: 40px; 
	background-color: white;
    border: 0;
	}
.insideinfonote p {
	margin:0;
	margin-block-end: .5em; 
	}
.insideimplnote p {
	margin:0;
	margin-block-end: .5em; 
	}


.sn {
    float: right;
    position: absolute;
    top: 1px;
    right: 2em;
    width: 24%;
    font-size: 80%;
    line-height: 1.2em;
    border: 1px solid #CCC;
    padding: 5px 10px 5px 15px;
    border-radius: 10px;
    color: #000066;
    background-color: #f4f4fe;
    }


.note {
	color: #000066;
	/* margin: .25em 35% .25em 10%; */
	margin-block-start: .25rem;
    margin-inline-end: 35%;
    margin-block-end: .25rem;
    margin-inline-start: 10%;
	background-color:#eef; 
	background-color: #ffdccb;
	border: 1px solid #CCC; 
	padding: 5px 10px 5px 15px; 
	border-radius: 10px; 
	clear: both;
    color: brown;
	}
.note b { font-size: 110%; font-weight: 700; padding-inline-end: 10px; }

.strongnote {
	color: #000066;
	/* margin: .25em 35% .25em 10%; */
	margin-block-start: .25rem;
    margin-inline-end: 35%;
    margin-block-end: .25rem;
    margin-inline-start: 10%;
	background-color:#eef; 
	border: 1px solid #CCC; 
	box-shadow: 7px 7px 5px #888; 
	padding: 5px 10px 5px 15px; 
	border-radius: 10px; 
	}
.strongnote b { font-size: 180%; text-transform: lowercase; font-weight: normal; padding-inline-end: 10px; }
.note p, .strongnote p { margin-inline-start: 0; margin-inline-end: 0; }
.note ul, .strongnote ul { margin-inline-start: 2em; margin-inline-end: 0; }

.advancedusage {
	color: #666;
	/* margin: .25em 32% 2em 7.5%; */
	margin-block-start: .25rem;
    margin-inline-end: 35%;
    margin-block-end: .25rem;
    margin-inline-start: 10%;
	background-color:#ffeadd; 
	border: 1px solid #CCC; 
	padding: 5px 10px 5px 15px; 
	border-radius: 10px; 
	}
.advancedusage strong { font-size: 120%; text-transform: lowercase; font-weight: normal; padding-inline-end: 10px; }
.advancedusage p { margin-inline-start: 0; margin-inline-end: 0; }
.advancedusage figure { margin-inline-start: 0; margin-inline-end: 0; }



/* *********** address & small ************* */



address {
	font-style: normal;
	/* margin: 5em 30% 1em 7.5%; */
	margin-block-start: 5rem;
    margin-inline-end: 30%;
    margin-block-end: 1rem;
    margin-inline-start: 7.5%;
	border-top: 1px solid gray;
	border-bottom: 1px solid gray;
	}
address p {
	/* margin: .5em 0; */
	margin-block: .5rem;
	margin-inline: 0;
	}
address p+p {
	margin-block-start: 1em;
	}

small {
	margin-inline-start: 7.5%; 
	margin-inline-end: 32%;
	margin-block-end: 1em;
	display:block;
	line-height: 1.4; 
	font-size: 80%; 
	}
.copyright[dir=ltr] {
	margin-inline-end: 7.5%;
	margin-inline-start: 32%;
	}
	/* needed to change logical properties to align margins */


/* ***********examples************* */


.example, .example-wide {
	margin-block-start: .25em;
	margin-block-end: .25em;
	
	background-color:#ffe; 
    background-color: #f5f2f0;
	border: 1px solid #CCC; 
	padding: 5px 10px 5px 15px; 
	border-radius: 5px; 
	}
.example figcaption {
	font-style: italic;
	}
.example-head {
	font-style: italic;
	margin-block-end: 10px;
	}
.example .demolink { 
	font-size: 70%; 
	position: static; 
	text-align: end;
	margin: 0;
	}

/* **************character markup******* */
    .codepoint bdi {
        line-height: 1em;
        font-size: 1.25em;
        padding-inline: 0.25em;
    }
	
    .codepoint img {
        height: 2em;
        margin-inline: 0.25em;
        vertical-align: bottom;
    }

    .uname {
        font-family: Arial, monospace;
        font-size: 0.75em;                    
        letter-spacing: 0.03em;
        color: brown;
    }

/* **************figures**************** */

figcaption .demolink {
	display: block;
	font-size: 80%;
	text-align: center;
	}
.figWrap {
	margin-inline-start: 7.5%;
	margin-inline-end: 32%;
	}
.figWrap figure {
	text-align: center;
	margin-inline-start: 0;
	margin-inline-end: 0;
	margin: 0;
	}
.demolink { 
	font-size: 70%; 
	position: static; 
	text-align: end;
	margin-inline-start: 1em;
	margin-block-end: 1em;
	}



/* **************inline elements**************** */

q	 { quotes: '"' '"' "'" "'"; }

:lang(no) q { quotes: "«" "»" '"' '"'; }
:lang(de) q { quotes: "\201E " "\201C " '\201A ' '\2018 '; }
:lang(sv) q { quotes: '\201d' '\201d' '\2019' '\2019'; }
:lang(ar) q { quotes: '»' '«' '2019' '\2018'}

.qchar { quotes: '\2018' '\2019'; }
:lang(de) .qchar { quotes: '\2018' '\2019'; }
:lang(sv) .qchar { quotes: '\2019' '\2019'; }
:lang(ar) .qchar { quotes: '\2019' '\2018'; }
.qchar {
	font-size: 100%;
	color: #666;
	font-family: "Times New Roman", Times, serif;
	}
.qchar:before {
	content: open-quote;
	font-style: normal;
	font-size: 100%;
	margin-inline-end: 1px;
	}
.qchar:after {
	content: close-quote;
	font-style: normal;
	font-size: 100%;
	margin-inline-start: 1px;
	}

.qterm {
	font-style: italic;
	}
.qterm	 { quotes: "'" "'"; } 
:lang(sv) .qterm { quotes: '\201d' '\201d' '\2019' '\2019'; }
:lang(de) .qterm { quotes: "\0027" "\0027"; }
:lang(zh-hans) .qterm { quotes: "\201c" "\201d"; font-style: normal; }
.qterm:before {
	content: open-quote;
	font-style: normal;
	font-size: 100%;
	}
.qterm:after {
	content: close-quote;
	font-style: normal;
	font-size: 100%;
	margin-inline-start: 2px;
	}

mark {
	font-weight:400;
    padding: 0 .3em;
    border-radius: 5px;
    color: brown;
    background-color: antiquewhite;
	}
strong {
    font-weight: bold;
	color: #666;
	}
:lang(zh) strong {
	font-weight: 900;
	color: black;
	}
.kw {
	color: #A52A2A;
	font-family: "Courier New", monospaced;
	font-size: 100%;
    hyphens: none;
	}
code, samp {
	font-family: Monaco, "Andale Mono", Consolas, monospace;
	font-weight: normal;
	font-size: 13px;
	}
code.code1 {
	display: block;
	}
code.code2 {
	display: block;
	margin-inline-start: 40px;
	}


/* ************** specials ********************* */

.dontuse { 
	vertical-align: middle;
	}

#alternates a {
	text-transform: none;
	}

a.dfn:link {
	color: inherit;
	text-decoration: none;
	border-bottom:1px dotted teal;
	}
a.dfn:hover {
	color:  #005a9c;
	background: white;
	text-decoration: none;
	border-bottom:1px dotted teal;
	}
a.dfn:visited {
	color: inherit;
	text-decoration: none;
	border-bottom:1px dotted teal;
	}
	

.acronym {
	text-transform: capitalize;
	}
.background-link {
	margin-block-end: 0;
	margin-block-start: 0;
	}
.box-header {
	font-weight: 700;
	}
.codelink {
	float: right;
	}
.codelinkl {
	float: left;
	}
div.code {
	display: block;
	overflow: auto;
	width: 100%;
	white-space: pre;
  	font-family: Monaco, "Andale Mono", Consolas, monospace;
	font-size: 95%;
	line-height: 120%;
	}
dt {
	font-weight: 700;
	margin-block-start: 1em;
	}
.ed {
	color: red;
	}
fieldset {
	color: #a52a2a;
	}
#footer {
	margin-block-start: 5em;
	border-block-start-width: 1px;
	border-bottom: 0;
	border-inline-start: 0;
	border-inline-end: 0;
	border-color: #333;
	border-style: solid;
	font-size: 90%;
	}
p.background-link + h2 {
	margin-block-start: 0;
	}
.leadin {
	font-weight: bold;
	}

.hide {
	}
img {
	border:0;
	}
#icon {
	float: right;
	width: 28%;
	clear: right;
	}
#icon:dir(rtl) {
	float: left;
	width: 28%;
	clear: left;
	}
:root[dir=rtl] #icon {
	float: left;
	width: 28%;
	clear: left;
	}
p.background-link { 
	color: teal;
	text-align: end;
	margin-block-start: 0;
	margin-block-end: 0;
	}
.sidenoteGroup > p {
	text-align:justify;
	}

/*#line {
	position: absolute;
	left: 72%;
	top: 0;
	width: 10px;
	border-left: 2px dotted #005a9c;
	height: 30em;
	}*/
#logos {
	float: right;
	/* margin: .25em 1em 0 1em; */
	margin-block-start: .25rem;
	margin-block-end: 0;
	margin-inline: 1rem;
	}
#logos:dir(rtl) {
	float: left;
	}
:root[dir=rtl] #logos {
	float: left;
	}
#navigation {
	line-height: 150%;
	background-color: transparent;
	color: #555;
	font-weight: 700;
	margin-block-start: 3em;
	margin-block-end: 1.5em;
	text-transform: lowercase;
	}
#navigation:lang(de) { text-transform: none; }
.newterm {
	font-weight: 700;
	}
#audience {
	line-height: normal;
	font-weight: 300; 
	color: gray;
	margin-block-start: 4em;
	margin-block-end: 2em;
	font-size: 90%;
	}
#audience:lang(zh) {
	font-weight: 400;
	}
#audience .leadin {
	font-weight: 400;
	color: #555;
	text-transform: lowercase;
	}
#audience .leadin:lang(de) { text-transform: none; }
p#internal-links {
	line-height: normal;
	}
#disclaimer p {
	margin-inline-start: 30px;
	margin-inline-end: 20px; 
	}
#navigation p {
	margin-block-start: 0;
	margin-block-end: .25em;
	font-size: 90%;
	}
p#pagelocation {
	display: none;
	}
img#picture {
	margin-inline-start:20px;
	margin-block-start: .5em;
	margin-block-end: .5em;
	display: block;
	border: 0;
	}
pre {
	line-height: 1.3em;
	font-size: 15px;
	/*margin-inline-start: 7.5% !important;*/
	}
.question {
	font-weight: 700;
	color: #000;
	}
.sidebar {
	float: right;
	width: 28%;
	clear: right;
	}
.sidebar:dir(rtl) {
	float: left;
	width: 28%;
	clear: left;
	}
:root[dir=rtl] .sidebar {
	float: left;
	width: 28%;
	clear: left;
	}
/* Note that stuff that goes in the sidebar will not be printed! If you want a note that will be printed, consider an insidenote or sidenote. */


span#scale {
	white-space: nowrap; 
	color: gray;
	}
span.searchkey {
	font-style: italic;
	}
span.surveyScale {
	white-space: nowrap; 
	color: gray;
	}
table, td, th {
	font-size: 1em;
	}
table td { 
	border: 1px solid #ccc; 
	vertical-align: top; 
	text-align: start; 
	border-collapse: collapse; 
	padding: 4px;
	}
table th { 
	font-size: 80%; 
	text-align: start;
	padding: 4px;
	}
.uppercase {
	text-transform: uppercase;
	}
.uri {
	display: none;
	}
#wai-start  { 
	position:absolute; 
	left:-999px; 
	width:990px;
	display: block;	
	}
	






/***** survey form *****/

#survey {
	font-size: 90%;
	border-top-left-radius: 10px;
	border-bottom-left-radius: 10px;
	width: 20%;
  	max-width: 250px;
	padding: 20px;
	color: #666;
	line-height: 1.4;
	position: absolute;
	right: 0;
    background-color: antiquewhite;
	}
#survey:dir(rtl) {
    left: -1rem;
    right: unset;
	border-top-right-radius: 10px;
	border-bottom-right-radius: 10px;
    }
:root[dir=rtl] #survey {
    left: -1rem;
    right: unset;
	border-top-right-radius: 10px;
	border-bottom-right-radius: 10px;
    }
#survey p {
	margin-inline-start: 10px; 
	margin-inline-end: 10px; 
	}
#survey a.interaction { 
  font-size: 130%;
  color: #e70;
  }
#survey button.interaction {
  font-size: 130%;
  color: #e70;
  background-color: #ffffff; 
  border: 0; 
  margin: 0; 
  padding: 0;
  text-align: start; /* for IE */
  cursor: pointer;
  }
#survey label.interaction {
  font-size: 130%;
  color: #e70;
  border: 0; 
  margin: 0; 
  padding: 0;
  cursor: pointer;
  }
#survey form {
	margin: 0;
	padding: 0;
	border: 0;
	}
#survey p {
	margin: 0;
	padding-block-start: 9px;
	}





#print-author {
	font-size: 110%;
	color: #005a9c;
	margin-block-start: 4em;
	font-weight: 700;
	display: none;
	}
#print-uri {
	font-size: 100%;
	color: #005a9c;
	display: none;
	margin-block-end: 2em;
	}

#full-links p { 
	text-align: start; 
	margin-block-end: 0;
	}
#full-links ul {
	margin-block-start: 0;
	}
#full-links ul li {
	list-style-type: none;
	}



.outofdate {  background-color: yellow; border: 1px solid teal; padding: 8px;  border-radius: 5px; line-height: 1.5; }
.unlinked {  background-color: yellow; border: 1px solid teal; padding: 8px; color: #c30; font-size: 120%; border-radius: 5px; line-height: 1.5; }

.foreign { font-style: italic; }


/* quick check form in side bar */

.quickcheck input { border:1px solid #ccc; color:#999; width:100%; padding: 2px; border-radius: 5px; }
.quickcheck button[type=submit] {border:0;background-color:#eee; padding: 2px 5px 2px 5px; border-radius: 5px; }
.quickcheck .guide { font-size:75%; font-style:italic; }
.quickcheck p { margin-block-end: 5px; margin-block-start: 5px; color:#A52a2a; color:#666; }


	
dfn {
	font-weight:700;
	font-style: normal;
	}
a.termref { border-bottom: 1px dotted #C66; } 
cite {
	font-style: italic;
	}
cite:lang(zh) {
	font-style: normal;
	}

.updated { text-align:end; font-size: 90%; margin-block-start: 0; margin-block-end:0; }

.badcode { font-size: 75%; color:#999; line-height: 1em; }
.badcode img { vertical-align: text-top }

.acknowledgements { font-size: 80%; color: gray; }


img.shadow {
	box-shadow: 7px 7px 5px #999; 
	}


/* ***** BIDI SHIM FOR DIR ****** */
[dir='ltr'], [dir='rtl'] { 
	unicode-bidi: -webkit-isolate;
	unicode-bidi: -moz-isolate;
	unicode-bidi: -ms-isolate;
	unicode-bidi: isolate;
	} 
bdo[dir='ltr'], bdo[dir='rtl'] {
	unicode-bidi: bidi-override; 
	unicode-bidi: -webkit-isolate-override; 
	unicode-bidi: -moz-isolate-override; 
	unicode-bidi: -ms-isolate-override; 
	unicode-bidi: isolate-override;
  	}
/* ***** END BIDI SHIM FOR DIR ****** */


#printLinks {
	display: none;
	}
	
	
@media print {

/* ***********  PRINTING ****************** */


#breadcrumbs {
	display: none;
	}
#audience {
	width: 72%;
	}
#aboutdoc {
	float: right;
	width: 24%;
	}
#aboutdoc:dir(rtl) {
	float: left;
	width: 24%;
	}
:root[dir=rtl] #aboutdoc {
	float: left;
	width: 24%;
	}
#aboutdoc p {
	margin-inline-end: 1%;
	}

#nutshell { margin-inline-start: 7.5%; margin-inline-end: 10%; }
#quicksummary { margin-block-start:.5em; }


/* print the URI of links unless they appear in certain elements or
   have a class=dontprinturi */
#printLinks {
	display: block;
	}
a.print:after { 
	content: " [" attr(title) "] ";
	color: #888;
	font-size: 85%;
	}

#full-links a:after { 
	content: " (" attr(href) ") ";
	color: #888;
	font-size: 85%;
	} 

.kw {
    color: #666;
    font-family: "Courier New", monospaced;
    font-size: 100%;
}

a {
	text-decoration: none;
	color: #666;
	font-weight: 400;
	}
a:visited {
	font-weight: 400;
	color: #666;
	}



h2 { margin-block-start: 2em; }


body {
	font-size: 10pt;
    font-family: Helvetica, 'Helvetica Neue', Arial, "Segoe UI", sans-serif;
    line-height: 1.75;
	color: #666;
	font-weight: normal;
	margin: 0;
	padding: 0;
	background-color: white;
	}

#siteicons {
	background-color: #003163;
	margin-inline-end: 29%;
	border-bottom-right-radius: 30px;
	box-shadow: none; 
	padding: 0; height: 49px;
	}
#siteicons:dir(rtl) {
	background-color: #003163;
	margin-inline-end: 29%;
	border-bottom-left-radius: 30px;
	box-shadow: none; 
	padding: 0; height: 49px;
	}
:root[dir=rtl] #siteicons {
	background-color: #003163;
	margin-inline-end: 29%;
	border-bottom-left-radius: 30px;
	box-shadow: none; 
	padding: 0; height: 49px;
	}

.sidebar {
	float: none;
	margin-inline-start: 10%;
	margin-inline-end: 12%;
	margin-block-end: 3em;
	width: 80%;
	line-height: 1.5;
	text-align: justify;
	background-color: #cccc99;
	background-color: white;
	color: #555;
	}
	
	
/*.sidenote:before {
	content: '◼ ';
	color: #005a9c;
	} */
.sidenote {
	position: static;
	font-size: 80%;
	line-height: 1;
	text-align: start;
	width: auto;
	margin-inline-start: 11%; 
	margin-inline-end: 12%; 
	margin-block-end: 10px;
	padding: 8px;
	padding-inline-start: 16px;
	border: 1px solid #ccc;
	border-radius: 10px;
	}	
.insidenote {
	position: static;
	font-size: 80%;
	line-height: 1;
	text-align: start;
	width: auto;
	max-width: 50%;
	margin-inline-start: 11%; 
	margin-inline-end: 12%; 
	}	
.sidenote p, .insidenote p {
	margin-block-start: 0;
	margin-block-end: 4px;
	}
.sideinfonote {
	position: static;
	font-size: 80%;
	line-height: 1;
	text-align: start;
	width: auto;
	margin-inline-start: 11%; 
	margin-inline-end: 12%; 
	margin-block-end: 10px;
	padding: 8px;
	padding-inline-start: 16px;
	border: 1px solid #ccc;
	border-radius: 10px;
	}	
.insideinfonote {
	position: static;
	font-size: 80%;
	line-height: 1;
	text-align: start;
	width: auto;
	max-width: 30%;
	margin-inline-start: 11%; 
	margin-inline-end: 12%; 
	}	
.sideinfonote p, .insideinfonote p {
	margin-block-start: 0;
	margin-block-end: 4px;
	}

aside {
	float: none;
	width: 100%;
	}

h1, h2  {
	background-color: white;
    color: #666;
	}
h2 {
	padding-inline-start: 0;
	/*page-break-before: always;*/
	page-break-after: avoid;
	padding-block-start: 3em;
	/*text-transform:none; */
	border-bottom: 1px solid #eee;
    font-weight: normal;
	}
h2#quicksummary {
	padding-block-start: 10px;
	}
h3 {
	padding-block-start: 1em;
	page-break-after: avoid;
	border-bottom: 0;
    font-weight: normal;
	}
h4 {
	page-break-after: avoid;
	margin-inline-end: 0;
    font-weight: normal;
	}
div.h4  {
	 margin-inline-start: 7.5%; margin-inline-end: 10%;
	}

h2 a:link {
	color: #666;
	text-decoration: none;
	font-weight: 300;
	}
h2 a:visited { 
	color: #666;
	text-decoration: none;
	}
section h3 a:link { 
	text-decoration: none;
	color: #666;
	}
section h3 a:visited { 
	color: #666;
	}



figure {
	break-inside: avoid;
	clear:both;
	}
#line {
	border: 0;
	}
.noprint {
	display: none;
	}
code {
	font-size: 100%;
	}
#survey {
	display: none;
	}
.uri {
	display: inline;
	font-style: italic;
	}
#full-links p { 
	text-align: start; 
	}
p#pagelocation {
	display: block;
	font-weight: bold;
	}
#site-navigation {
	display: none;
	}
#navigation { 
	display: none;
	}
p, h2, h3, dl, div#footer { margin-inline-start: 7.5%; margin-inline-end: 10%; }
li p { margin-inline-start: 0; margin-inline-end: 0; }
ul, ol, blockquote { margin-inline-start: 11%; margin-inline-end: 12%; }
table { margin-inline-start: 7.5%;  }
.example { margin-inline-start: 7.5%; margin-inline-end: 10%; }

/* a:after { 
	content: "[" attr(href) "]";
	}
*/
#print-author, #print-uri { display:block; }


}   /* END OF @media print */


ins { background-color: #FF9; }
del { color: #CCC; text-decoration: line-through; }




/* SELF LINKS */
h2, h3, h4, h5, h6 { position: relative; }
.selflink { display: none; }
h2:hover > a.selflink::before, h3:hover > a.selflink::before, h4:hover > a.selflink::before, h5:hover > a.selflink::before, h6:hover > a.selflink::before {
    content: "\00A7";
    display: block;
    }
h2 > a.selflink, h3 > a.selflink, h4 > a.selflink, h5 > a.selflink, h6 > a.selflink {
    color: inherit;
    font-size: 83%;
    text-align: center;
    background-color: transparent;
    }
h2:hover > a.selflink, h3 > a.selflink, h4 > a.selflink, h5 > a.selflink, h6 > a.selflink {
    border: none;
    color: inherit;
    font-size: 83%;
    height: 2em;
    left: -1.6em;
    opacity: .5;
    position: absolute;
    text-align: start;
    text-decoration: none;
    top: 0;
    transition: opacity .2s;
    width: 2em;
    display: block;
    }
/* END SELF LINKS */




/* IN-DOC TESTS */
.browser_output {
    font-size: 1.15rem;
    border: 1px solid #ccc;
    padding: 1rem;
    line-height: 1.4;
    margin-inline-start: 7.5%;
    margin-inline-end: 32%;
    }
.browser_output p {
    margin: 0;
    }
.browser_output_title {
    font-size: .8rem;
    font-weight: bold;
    }
.browser_output p:first-of-type {
	margin-block-end: .5rem;
	}
/* END IN-DOC TESTS */



/* COOKIE CONSENT */

.cookie-banner {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	max-width: 500px;
	width: 90%;
	background: #ffffff;
	border: 1px solid #ccc;
	border-radius: 8px;
	box-shadow: 0 8px 32px rgba(0,0,0,0.2);
	z-index: 10000;
	font-family: Arial, sans-serif;
	font-size: 14px;
	line-height: 1.4;
	animation: fadeInScale 0.3s ease-out;
}

.cookie-banner::before {
	content: '';
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.1);
	z-index: -1;
}

@keyframes fadeInScale {
	from { 
		transform: translate(-50%, -50%) scale(0.8); 
		opacity: 0; 
	}
	to { 
		transform: translate(-50%, -50%) scale(1); 
		opacity: 1; 
	}
}

@keyframes fadeOutScale {
	from { 
		transform: translate(-50%, -50%) scale(1); 
		opacity: 1; 
	}
	to { 
		transform: translate(-50%, -50%) scale(0.8); 
		opacity: 0; 
	}
}

.cookie-banner-content {
	padding: 16px;
}

.cookie-banner-title {
	margin: 0 0 8px 0;
	font-size: 16px;
	font-weight: bold;
	color: #333;
}

.cookie-banner-text div {
	margin: 0 0 12px 0;
	color: #000;
	font-weight: 500;
	line-height: 1.5;
}

.cookie-banner-text strong {
	color: #005a9c;
	font-weight: bold;
}

.cookie-banner-actions {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.cookie-btn {
	padding: 8px 12px;
	border: 1px solid #ddd;
	border-radius: 4px;
	background: #f8f9fa;
	color: #333;
	cursor: pointer;
	font-size: 13px;
	transition: all 0.2s;
}

.cookie-btn:hover {
	background: #e9ecef;
}

.cookie-btn-primary {
	background: #005a9c;
	color: white;
	border-color: #005a9c;
}

.cookie-btn-primary:hover {
	background: #004080;
}

.cookie-btn-close {
	margin-left: auto;
	padding: 4px 8px;
	background: transparent;
	border: none;
	font-size: 18px;
	color: #999;
}

.cookie-btn-close:hover {
	color: #333;
	background: #f0f0f0;
}

@media (max-width: 480px) {
	.cookie-banner {
		width: 95%;
		max-width: none;
		margin: 0 auto;
	}
	
	.cookie-banner-content {
		padding: 20px;
	}
	
	.cookie-banner-actions {
		flex-direction: column;
	}
	
	.cookie-btn {
		width: 100%;
		margin-bottom: 8px;
	}
	
	.cookie-btn-close {
		width: auto;
		margin-left: 0;
		align-self: flex-end;
	}
}

/* END COOKIE CONSENT */
