/*
 * Style sheet for the CSS3 specification,
 * to be used in addition to http://www.w3.org/StyleSheets/TR/W3C-{WD,PR,REC}
 */

@media print {
	html { margin: 0 !important }
	body { font-family: serif }
	th, td { font-family: inherit }
	a { color: inherit !important }
	div.example:before { font-family: serif !important }
	pre.example:before { font-family: serif !important }
	a:link, a:visited { text-decoration: none !important }
	a:link:after, a:visited:after { /* create a cross-ref "see..." */ }
}
@page {
	margin: 1.5cm 1.1cm;
}

body {
	counter-reset: exampleno figure issue;
	margin: 0 auto !important;
}

/* Pagination */
h1, h2, h3, h4, h5, h6 { page-break-after: avoid }
div.figure, div.sidefigure, pre, table.propdef, table.propdef-extra,
div.example { page-break-inside: avoid }
dt { page-break-after: avoid }

span.id {float: right; font-weight: bold}

/* General Structural Markup */
h2, h3, h5, h6 { margin-top: 3em; }

h1 + h2 { margin-top: 0; }

h4 { margin-top: 4em; }

p, div.note, div.issue {
	margin-top: 1em;
	margin-bottom: 1em;
}

dd > p:first-child, li > p:first-child, .note > p:first-child, .issue > p:first-child {
	margin-top: 0
}

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

img {
	border-style: none;
	color: white;
}
.toc {
}

body {
	line-height: 1.5;
}

a:link, a:visited {
	color: inherit;
	text-decoration: underline;
}

a.logo:link, a.logo:visited {
	padding: 0;
	border-style: none;
}

dl dd { margin: 0 0 1em 2em }
.head dd { margin-bottom: 0; }
ul, ol { margin-left: 0; padding-left: 2em; }
li { margin: 0.25em 2em 0.5em 0; padding-left: 0 }

ul.indexlist { margin-left: 0; columns: 13em; }
ul.indexlist li { margin-left: 0; list-style: none }
ul.indexlist li li { margin-left: 1em }

/* Examples */

.example {
	counter-increment: exampleno;
}
div.example:before, pre.example:before {
	content: "Example";
	content: "例 " counter(exampleno);
	min-width: 7.5em;
	text-transform: uppercase;
	display: block;
}
div.illegal-example:before, pre.illegal-example:before {
	content: "Invalid Example";
	content: "Invalid Example" counter(exampleno);
}
div.example, div.illegal-example, div.html, div.illegal-html, div.xml,
div.illegal-xml, pre.example, pre.illegal-example, pre.html,
pre.illegal-html, pre.xml, pre.illegal-xml {
	padding: 0.5em;
	margin: 1em 0;
	position: relative;
	clear: both;
}
pre.example, pre.illegal-example, pre.html,
pre.illegal-html, pre.xml, pre.illegal-xml {
	padding-top: 1.5em;
}
pre.illegal-example { color: red }
div.illegal-example { color: red }
div.illegal-example p { color: black }

div.html { color: #600 }
pre.html { color: #600 }
pre.illegal-html { color: red }
div.illegal-html { color: red }
div.illegal-html p { color: black }
pre.deprecated-html { color: red }
div.deprecated-html { color: red }
div.deprecated-html p { color: black }

div.xml { color: #600 }
pre.xml { color: #600 }
pre.illegal-xml { color: red }
div.illegal-xml { color: red }
div.illegal-xml p { color: black }

.css, .property { color: #005a9c }		/* inline CSS code (SPAN/CODE) */
code.css { font-family: inherit; font-size: 100% }
code.html { color: #600 }	/* inline HTML */
code.xml { color: #600 }	/* inline XML */
.property { font: inherit; white-space: nowrap; }	/* name of a CSS property (SPAN) */  
.descriptor { }			/* name of a CSS descriptor (SPAN) */
.type { font-style: italic }	/* A <type> value for a property */

dfn { font-weight: bolder; }

.issue, .note, div.example, pre.example {
	padding: .5em;
	/* padding: .5rem; /* proposed unit in css3-values */
	border-left-width: .5em;
	/* border-left-width: .5rem; /* proposed unit in css3-values */
	border-left-style: solid;
}
span.note, span.issue { padding: .1em .5em .15em; }

/* Open issue / editorial remark; not intended for a final publication */
.issue {
	border-color: #E05252;
	background: #FBE9E9;
	counter-increment: issue;
}

.issue:before {
	content: "Issue " counter(issue);
	padding-right: 1em;
	text-transform: uppercase;
	color: #E05252;    
}

/* Class note is a non-normative note. May be inline or a P or DIV */
.note {
	border-color: #52E052;
	background: #E9FBE9;
}

.normref { color: red }	
.informref { color: green }	

/* Example box */
div.example, pre.example {
	border-color: #E0CB52;
	background: #FCFAEE;    
}

div.example:before, pre.example:before { 
	color: #B9AB2D; 
	font-family: sans-serif;
}

/* ToC not indented, but font style shows hierarchy */
ul.toc {margin: 1em 0; padding: 0; line-height: 1.3; font-weight: bold; /*text-transform: uppercase;*/ }
ul.toc ul {margin: 0; padding: 0; font-weight: normal; text-transform: none; }
ul.toc ul ul {margin: 0 0 0 2em; font-style: italic; }
ul.toc ul ul ul {margin: 0}
ul.toc > li {margin: 1.5em 0; padding: 0; }
ul.toc ul.toc li { margin: 0.3em 0 0 0; }
ul.toc a { text-decoration: none; }
ul.toc a:hover, ul.toc a:focus { text-decoration: underline; }
/*
ul.toc li li li, ul.toc li li li ul {margin-left: 0; display: inline}
ul.toc li li li ul, ul.toc li li li ul li {margin-left: 0; display: inline}
*/

/* Section numbers in a column of their own */
ul.toc span.secno {float: left; width: 4em; margin-left: -5em}
ul.toc ul ul span.secno { margin-left: -7em; }
/*ul.toc span.secno {text-align: right}*/
ul.toc li {clear: both}
ul.toc {margin-left: 5em}
/* If we had 'tab', floats would not be needed here:
	 ul.toc span.secno {tab: 5em right; margin-right: 1em}
	 ul.toc li {text-indent: 5em hanging}
 The second line in case items wrap
*/

ul.index {
	list-style: none;
}

s, del {text-decoration: line-through; color: red}
u, ins {text-decoration: underline; background: #bfa}

div.figure, div.sidefigure {
	text-align: center;
	margin: 2.5em 0;
}
div.sidefigure {
	float: right;
	width: 50%;
	margin: 0 0 0.5em 0.5em
}
div.figure img, div.sidefigure img {
	display: block;
	margin: auto;
	max-width: 100%
}
p.caption, caption {
	text-align: center;
	font-style: italic;
	font-size: 90%;
}
p.caption:before {
	content: "Figure " counter(figure) ". ";
	font-weight: bold;
}
p.caption {
	counter-increment: figure;
}

/* DL list is indented, but figure inside it is not */
dd { margin-left: 2em }
dd div.figure { margin-left: -2em }

sup {
	vertical-align: super;
	font-size: 80%
}

/* "Equations" (not real MathML, but simple HTML) are put in a
blockquote and may have an equation number. We make sure the
blockquote has enough margin on the right and then put the equation
number there. */

blockquote {
	margin: 0.5em 4em 0.5em 2em;
	text-indent: 0;
}
.eqno {
	text-align: right;
	float: right;
	width: 3em;
	margin: 0 -4em 0 0;
	font-weight: bold;
	/* background: silver; color: black; padding: 0.1em */
}

table.equiv-table { border-spacing: 0; margin: 0.5em 0 }
table.equiv-table th, table.equiv-table td { padding: 0.3em }
table.equiv-table th { text-align: left }
/* table.equiv-table th:first-child { text-align: right } */
table.equiv-table td, table.equiv-table th { border-bottom: thin solid #666 }
table.equiv-table { border-bottom: hidden }
table.equiv-table { empty-cells: show }
table.equiv-table caption { margin: 0.5em 0 0 0 }

/* Style for table of properties */
table.proptable {
	font-size: small;
	border-collapse: collapse;
	border-spacing: 0;
	text-align: left;
	margin: 1em 0;
}

table.proptable td, table.proptable th {
	padding: 0.4em;
	text-align: center;
}

table.proptable tr:hover td {
	background: #DEF;
}


/* Style for table that defines a property or a descriptor */
table.propdef, table.propdef-extra, table.descdef {
	border-spacing: 0;
	padding: 0 1em 0.5em;
	width: 100%;
	table-layout: fixed;
	background: #DEF;
	margin: 1.2em 0;
	border-left: 0.5em solid #8CCBF2;
}

table.propdef td, table.propdef-extra td, table.descdef td,
table.propdef th, table.propdef-extra th, table.descdef th {
	padding: 0.5em;
	vertical-align: baseline;
	border-bottom: 1px solid #bbd7e9;
}
/*
table.propdef dfn, table.propdef-extra dfn, table.descdef dfn {
	font-weight: bold;
	font-style: normal
}
*/
table.propdef td:first-child,
table.propdef-extra td:first-child,
table.descdef td:first-child,
table.propdef th:first-child,
table.propdef-extra th:first-child,
table.descdef th:first-child {
	font-style: italic;
	font-weight: normal;
	width: 8.3em;
	padding-left: 1em;      
}
table.propdef td[colspan]:first-child,
table.propdef-extra td[colspan]:first-child,
table.descdef td[colspan]:first-child,
table.propdef th[colspan]:first-child,
table.propdef-extra th[colspan]:first-child,
table.descdef th[colspan]:first-child {
	font-style: inherit
}
table.propdef tr:first-child,
table.propdef-extra tr:first-child,
table.descdef tr:first-child {
	
}

table.propdef > tbody > tr:last-child th,
table.propdef-extra > tbody > tr:last-child th,
table.descdef > tbody > tr:last-child th,
table.propdef > tbody > tr:last-child td,
table.propdef-extra > tbody > tr:last-child td,
table.descdef > tbody > tr:last-child td {
	border-bottom: 0;
}

table.propdef tr:first-child th,
table.propdef-extra tr:first-child th,
table.descdef tr:first-child th,
table.propdef tr:first-child td,
table.propdef-extra tr:first-child td,
table.descdef tr:first-child td {
	padding-top: 1em;
}

/* For when values are extra-complex and need formatting for readability */
table td.pre {
	white-space: pre-wrap;}

/* A footnote at the bottom of a propdef */
table.propdef td.footnote {padding-top: 0.6em; width: auto}
table.propdef td.footnote:before {
	content: " ";
	display: block;
	height: 0.6em;
	width: 4em;
	border-top: thin solid;
}

table.proptable td .property {
	display: block;
	text-align: left;
	font-weight: bold;
}

/* CSS modules typically don't use MUST, SHOULD etc. from RFC 2119,
or, if they do, they don't put them in uppercase. But the following
class is provided in case a spec wants to use RFC 2119 terms in
uppercase in the source. */

em.rfc2119 {
	text-transform: lowercase;
	font-variant: small-caps;
	font-style: normal
}

/* In Profile specs, a table of required features: */

table.features th {
	background: #00589f;
	color: #fff;
	text-align: left;
	padding: 0.2em 0.2em 0.2em 0.5em;
}
table.features td {
	vertical-align: top;
	border-bottom: 1px solid #ccc;
	padding: 0.3em 0.3em 0.3em 0.7em;
}


/* Style for data tables (and properly marked-up proptables) */

.data, .proptable {
	margin: 1em auto;
	border-collapse: collapse;
	width: 100%;
	border: hidden;      
}
.data caption {
	width: 100%;
	text-align: center;
}

.data td, .data thx,
.proptable td, .proptable thx {
	padding: 0.5em;
	text-align: center;
	border-top: 1px dotted;        
}

.data thead td:empty {
	padding: 0;
	border: 0;
}

.data thead th[scope="row"],
.proptable thead th[scope="row"] {
	text-align: right;
	color: inherit;
}

.data thead,
.proptable thead,
.data tbody,
.proptable tbody {
	color: inherit;
	border-bottom: 1px solid;
}
	
.data colgroup {
	border-left: 1px solid;
}

.data tbody th:first-child,
.proptable tbody th:first-child ,
.data tbody td[scope="row"]:first-child,
.proptable tbody td[scope="row"]:first-child {
	text-align: right;
	color: inherit;
	border-right: 1px solid;
	border-top: 1px dotted;
	padding-right: 1em;
}

.data tbody th[rowspan],
.proptable tbody th[rowspan],
.data tbody td[rowspan],
.proptable tbody td[rowspan]{
	border-left: 1px dotted;
}

.data tbody th[rowspan]:first-child,
.proptable tbody th[rowspan]:first-child,
.data tbody td[rowspan]:first-child,
.proptable tbody td[rowspan]:first-child{
	border-left: 0;
	border-right: 1px dotted;
}    

.complex.data th,
.complex.data td {
	border: 1px dotted;
}


.data img {
	vertical-align: middle;
}

table.propdef {
	table-layout: auto;
}
.propdef th {
	font-style: italic;
	font-weight: normal;
	text-align: left;
	width: 3em;
}
dt dfn code {
	font-size: inherit;
}

/* This is mostly to make the list inside the CR exit criteria more compact. */
ol.inline, ol.inline li {display: inline; padding: 0; margin: 0}
ol.inline {counter-reset: list-item}
ol.inline li {counter-increment: list-item}
ol.inline li:before {content: "(" counter(list-item) ") "; font-weight: bold}

/* This styles the obsoletion notice on some of our older/abandoned specs. */
details.obsolete[open] {
	background: #fdd; 
	color: red; 
	font-weight: bold; 
	text-align: center; 
	padding: .5em; 
	border: thick solid red; 
	border-radius: 1em; 
	position: fixed; 
	left: 1em; 
	right: 1em;
	bottom: 1em; 
	z-index: 1000;
}

details.obsolete:not([open]) > summary {
	background: #fdd; 
	color: red; 
	font-weight: bold; 
	text-align: center; 
	padding: .5em; 	
}
