@import '/www/style/html/xoxo.css';
.section {
display: block;
margin: 1em;
border: #800080 1px solid;
padding: 0.5em 1em;
}
dt, strong, th {
font-weight: bolder;
font-family: sans-serif;
}
dt:after {
content: ":";
}
h1 {
font-weight: bolder;
font-family: sans-serif;
font-size: 180%;
}
h2, h3, h4, h5, h6, th {
font-weight: bolder;
font-family: sans-serif;
font-size: 100%;
background-color: #fff0f0;
color: black;
}
h2, h3, h4, h5, h6 {
margin: 0 0 0 -1em;
padding: 0.3em 1em;
}
.section[id$=transfer-errors] h2,
.section[id$=transfer-errors] h3,
.section[id$=transfer-errors] h4,
.section[id$=transfer-errors] h5,
.section[id$=transfer-errors] h6 {
padding-left: 40px;
background-image: url(icons/transfer-32);
background-repeat: no-repeat;
background-position: 6px center;
min-height: 32px;
}
.section[id$=parse-errors] h2,
.section[id$=parse-errors] h3,
.section[id$=parse-errors] h4,
.section[id$=parse-errors] h5,
.section[id$=parse-errors] h6 {
padding-left: 40px;
background-image: url(icons/syntax-32);
background-repeat: no-repeat;
background-position: 6px center;
min-height: 32px;
}
.section[id$=document-errors] h2,
.section[id$=document-errors] h3,
.section[id$=document-errors] h4,
.section[id$=document-errors] h5,
.section[id$=document-errors] h6 {
padding-left: 40px;
background-image: url(icons/structure-32);
background-repeat: no-repeat;
background-position: 6px center;
min-height: 32px;
}
.tree-text q, .tree-cdata q, .tree-comment q {
display: block;
}
q:before, q:after {
content: "";
}
#nav-items {
display: block;
position: fixed;
top: 0.5em;
right: 0.5em;
width: auto;
height: auto;
font-size: 90%;
background-color: #f4fff4;
color: black;
padding: 0;
line-height: 1.1;
}
#nav-items li {
display: block;
list-style: none;
margin: 0;
border-style: none;
padding: 0;
text-align: center;
}
#nav-items li a[href] {
display: block;
border-style: none;
color: inherit;
text-decoration: none;
}
body[data-scripted] #nav-items {
display: none;
}
img {
border-style: none;
}
code {
font-family: "Courier New", "Courier", monospace;
letter-spacing: 0.1em;
background-color: transparent;
color: orangered;
white-space: -moz-pre-wrap;
white-space: pre-wrap;
}
pre > code:empty:after {
content: " "; /* such that a line box is rendered */
}
.example {
background-color: #ececff;
}
pre.example {
margin-left: 1em;
margin-right: 1em;
padding: 0.2em 0.5em;
}
.example.bad {
background-color: #fff7f7;
}
code.example.bad {
color: inherit;
background-color: #ffeeee;
}
h3 code.example.bad {
color: orangered;
background-color: transparent;
}
pre.example::before {
content: "Example";
display: block;
color: #b0b0ff;
background-color: transparent;
font-weight: bolder;
font-family: sans-serif;
}
pre.example.html::before {
content: "HTML Example";
}
pre.example.xml::before {
content: "XML Example";
}
pre.example.manifest::before {
content: "Cache Manifest Example";
}
pre.example.bad::before {
content: "Bad Example";
color: #ffc1c1;
}
pre.example.bad.html::before {
content: "HTML Bad Example";
}
pre.example.bad.xml::before {
content: "XML Bad Example";
}
pre.example.bad.manifest::before {
content: "Cache Manifest Bad Example";
}
.rfc2119 {
border-style: none;
text-transform: lowercase;
font-variant: small-caps;
font-style: normal;
text-decoration: none;
font-weight: normal;
font-family: sans-serif;
}
/* dl.switch from WHATWG specification style sheet */
dl.switch {
padding-left: 2em;
}
dl.switch dt {
display: block;
text-indent: -1.5em;
font-weight: bolder;
font-family: sans-serif;
font-style: normal;
}
dl.switch dt:before {
content: '\21AA';
padding: 0 0.5em 0 0;
display: inline-block;
width: 1em;
text-align: right;
line-height: 0.5em;
}
dl.switch dt:after {
content: " :";
}
mark {
background-color: #ffff4d;
}
mark:empty:after {
content: " ";
}
/* Tab navigation */
body[data-scripted] {
min-width: 400px; /* body > nav's left is 300px */
/* min-height is set to .section */
}
body[data-scripted] > h1,
body[data-scripted] > #input > h2,
body[data-scripted] .section.subdoc > h2,
body[data-scripted] .section.subdoc > h3,
body[data-scripted] .section.subdoc > h4,
body[data-scripted] .section.subdoc > h5,
body[data-scripted] .section.subdoc > h6 {
font-size: 100%;
margin: 0;
padding: 0 17.5px; /* h1 > img's width is 265px */
}
body[data-scripted] > #input > h2,
body[data-scripted] .section.subdoc > h2,
body[data-scripted] .section.subdoc > h3,
body[data-scripted] .section.subdoc > h4,
body[data-scripted] .section.subdoc > h5,
body[data-scripted] .section.subdoc > h6 {
float: left;
margin: 0 0.5em 0 -1em;
padding: 0.3em 1em;
border: thin hidden;
background-color: #fff0f0;
color: black;
}
nav {
display: block;
}
.section nav {
margin-left: 1em;
}
nav ul {
margin: 0;
padding: 1em 0 0 0;
}
#input nav ul,
.section.subdoc nav ul {
padding-top: 0;
}
nav ul li {
display: inline;
margin: 0;
padding: 0 0.3em 0 0;
line-height: 2;
}
nav a {
display: inline;
padding: 0.1em 0.3em;
text-decoration: none;
color: inherit;
border: thin outset gray;
-moz-border-radius: 0.2em;
min-width: 4em;
text-align: center;
}
nav [data-active] a {
border-style: inset;
background-color: #C0C0C0;
}
nav a[href$=transfer-errors] {
padding-left: 20px;
background-image: url(icons/transfer-16);
background-repeat: no-repeat;
background-position: 2px center;
min-height: 16px;
}
nav a[href$=parse-errors] {
padding-left: 20px;
background-image: url(icons/syntax-16);
background-repeat: no-repeat;
background-position: 2px center;
min-height: 16px;
}
nav a[href$=document-errors] {
padding-left: 20px;
background-image: url(icons/structure-16);
background-repeat: no-repeat;
background-position: 2px center;
min-height: 16px;
}
.section {
clear: both;
}
body > nav {
position: absolute;
top: 0;
height: 100px; /* h1 > img's height is 90px */
left: 300px; /* h1 > img's width is 265px */
right: 0;
min-width: 100px; /* body's min-width is 400px */
overflow: auto;
}
.section > nav {
/*
height: 2em;
max-height: 2em; *//* hn's line + padding-top + padding-bottom = 1.6em */
overflow: auto;
min-width: 5em;
position: relative;
z-index: 1000; /* such that scrollbars are clickable */
white-space: nowrap; /* Firefox does not show vertical scrollbar,
because there is a floated hn element... */
}
body[data-scripted] > .section,
body[data-scripted] > #input > .section,
body[data-scripted] .section.subdoc > .section {
position: absolute;
top: 100px; /* h1 > img's height is 90px */
bottom: 0;
left: 0;
right: 0;
min-height: 10em;
overflow: auto;
}
body[data-scripted] > #input > .section,
body[data-scripted] .section.subdoc > .section {
top: 2em;
}
/* details widgets */
.details .legend {
font-weight: bolder;
}
.details .legend:after {
content: "...";
}
.details.open .legend:after,
body:not([data-scripted]) .details.default .legend:after {
content: ":";
}
body[data-scripted] .details .legend {
cursor: pointer;
}
body[data-scripted] .details > div {
display: none;
}
/* Data input forms */
input[type=url] {
width: 90%;
min-width: 30em;
}
textarea {
width: 95%;
min-width: 30em;
height: 20em;
}
/* Source codes taken from the input document or reformatted source */
/* q, */ .source li, .dump pre {
white-space: pre;
white-space: -moz-pre-wrap;
white-space: pre-wrap;
}
q, .source ol, .dump pre {
background-color: #f0f0ff;
color: black;
line-height: 1.5;
}
.dump pre > code {
color: inherit;
background-color: transparent;
}
/* Document dumps */
.dump > ol {
margin-left: 0;
padding-left: 0;
}
.dump > ol > li {
/* display: block;
list-style: none;
margin-left: 0;
padding-left: 0; */
}
.dump > ol /* ol */ {
margin-left: 1em;
padding-left: 0;
}
.dump ol /*ol*/ li {
margin-left: 0;
padding-left: 0.4em;
}
.dump ul.attributes {
margin-left: 3em;
padding: 0;
}
.dump ul.attributes li {
display: inline;
list-style: none;
margin: 0 2em 0 0;
padding: 0;
text-indent: 0;
font-size: 90%;
}
q:after {
content: " "; /* Make white-space-only quotations visible */
white-space: pre;
}
dd.no-entry:lang(en) {
font-style: italic;
}
dd.manifest-fallbacks + dd.manifest-fallbacks {
margin-top: 1em;
}
dd.manifest-fallbacks p {
margin: 0;
text-indent: 0;
}
dd.manifest-fallbacks > p + p {
text-indent: -1em;
}
dd.manifest-fallbacks > p + p:before {
content: "\21B3 ";
}
/* Errors */
.errors dt {
background-image: none;
background-position: left center;
background-repeat: no-repeat;
padding-left: 20px; /* icons/*-16.png */
min-height: 16px;
}
.errors dd {
margin-left: 0;
padding-left: 60px;
min-height: 32px; /* large-*.png files' height */
background-position: 20px center;
background-repeat: no-repeat;
}
.level-m, .level-s {
background-image: url(large-stop);
/* TODO: we need an image for SHOULD-level errors */
}
.level-w {
background-image: url(large-alert);
}
.level-i {
background-image: url(large-info);
}
.level-u {
background-image: none;
}
dt.level-u {
margin: 0.2em 0 0 0;
border: blue 0.2em solid;
border-bottom-style: none;
padding-top: 0.2em;
padding-right: 0.2em;
padding-bottom: 0;
background-color: #e1e1ff;
color: black;
}
dd.level-u {
margin: 0 0 0.2em;
border: blue 0.2em solid;
border-top-style: none;
padding-right: 0.2em;
padding-bottom: 0.2em;
padding-top: 0;
background-color: #e1e1ff;
color: black;
}
dt.layer-transfer {
background-image: url(icons/transfer-16);
}
dt.layer-encode,
dt.layer-charset {
background-image: url(icons/char-16);
/* TODO: We need different images for these layers */
}
dt.layer-syntax {
background-image: url(icons/syntax-16);
}
dt.layer-structure {
background-image: url(icons/structure-16);
}
dt.layer-semantics {
background-image: url(icons/semantics-16);
}
.errors dl:empty {
display: none;
}
.errors .no-errors {
text-indent: 0;
}
.errors .no-errors:lang(en) {
font-style: italic;
}
/* List of IDs */
#identifiers dd,
[id$="-identifiers"] dd {
margin-left: 20px;
padding-left: 20px;
min-height: 20px;
}
#identifiers dd + dd,
[id$="-identifiers"] dd + dd {
background-image: url(error);
background-position: center left;
background-repeat: no-repeat;
}
/* Result paragraph */
.result-para {
margin-left: 20px;
padding-left: 40px;
min-height: 32px;
background-color: none;
background-position: center left;
background-repeat: no-repeat;
padding-top: 0.2em;
padding-bottom: 0.2em;
padding-right: 1em;
}
.result-para.no-error {
background-image: url(ok);
background-color: #ddffdd;
color: black;
}
.result-para.must-errors,
.result-para.should-errors {
background-image: url(large-stop);
/* TODO: Use different image for should-errors */
}
/* See "Result summary table" for background color of
.must-errors and .should-errors */
.result-para.uncertain {
border: blue 0.2em solid;
background-color: #e1e1ff;
color: black;
background-image: none;
}
/* Result summary table */
.result table {
margin-left: auto;
margin-right: auto;
border: 4px solid #800080;
border-collapse: collapse;
}
.result tbody,
.result colgroup {
border: 4px solid #800080;
}
.result tbody > tr:first-child > th {
border-bottom-width: 2px;
}
.result tr.total > * {
border-top-width: 2px;
}
.result td.subrow {
border-right-width: 2px;
}
.result th,
.result td.subrow,
.result .uncertain td.subrow {
background-color: #fff0f0;
color: black;
}
.result th,
.result td {
border: 1px solid #800080;
padding: 0.2em 0.5em;
text-align: center;
empty-cells: show;
}
.result td.subrow {
border-top-style: hidden;
}
.result .uncertain td {
background-color: #e1e1ff;
color: black;
}
.result .must-errors,
.result .uncertain .must-errors {
background-color: #ffcece;
color: black;
}
.result .should-errors,
.result .uncertain .should-errors {
background-color: #e1e1ff;
color: black;
}
.result tfoot .total strong {
font-size: 150%;
}
.result thead > tr > th:first-child + th {
background-image: url(error);
background-repeat: no-repeat;
background-position: 2px center;
padding-left: 20px; /* error.png's width is 16px */
}
.result thead > tr > th:first-child + th + th {
background-image: url(error); /* TODO: SHOULD image */
background-repeat: no-repeat;
background-position: 2px center;
padding-left: 20px; /* error.png's width is 16px */
}
.result thead > tr > th:first-child + th + th + th {
background-image: url(alert);
background-repeat: no-repeat;
background-position: 2px center;
padding-left: 20px; /* alert.png's width is 16px */
}
.result thead > tr > th:first-child + th + th + th + th {
background-image: url(info);
background-repeat: no-repeat;
background-position: 2px center;
padding-left: 20px; /* info.png's width is 16px */
}
.result thead + tbody > tr:first-child + tr > th {
background-image: url(icons/transfer-16);
background-repeat: no-repeat;
background-position: 2px center;
padding-left: 20px; /* background-image's width is 16px */
}
.result thead + tbody > tr:first-child + tr + tr > th {
background-image: url(icons/char-16); /* TODO: new image */
background-repeat: no-repeat;
background-position: 2px center;
padding-left: 20px; /* background-image's width is 16px */
}
.result thead + tbody > tr:first-child + tr + tr + tr > th {
background-image: url(icons/char-16);
background-repeat: no-repeat;
background-position: 2px center;
padding-left: 20px; /* background-image's width is 16px */
}
.result thead + tbody > tr:first-child + tr + tr + tr + tr > th {
background-image: url(icons/syntax-16);
background-repeat: no-repeat;
background-position: 2px center;
padding-left: 20px; /* background-image's width is 16px */
}
.result thead + tbody > tr:first-child + tr + tr + tr + tr + tr > th {
background-image: url(icons/structure-16);
background-repeat: no-repeat;
background-position: 2px center;
padding-left: 20px; /* background-image's width is 16px */
}
.result thead + tbody > tr:first-child + tr + tr + tr + tr + tr + tr > th {
background-image: url(icons/semantics-16);
background-repeat: no-repeat;
background-position: 2px center;
padding-left: 20px; /* background-image's width is 16px */
}
/* Floating help box */
aside.help {
display: block;
position: fixed;
z-index: 10000;
background-color: #FFFFCC;
color: black;
border: 0.1em outset #FFFF66;
-moz-border-radius: 0.4em;
-webkit-border-radius: 0.4em;
border-radius: 0.4em;
padding: 0.5em;
overflow: auto;
max-height: 50%;
max-width: 50%;
-webkit-box-shadow: 0.6em 0.6em 0.4em gray;
}
aside.help > h3 {
display: none; /* since it is duplicated with the main document's content. */
}
aside.help > h3 + * {
margin-top: 0;
}
aside.help > *:last-child {
margin-bottom: 0;
}
/* Used instead of XHR for HTML documents */
iframe {
margin: 0;
border-style: none;
padding: 0;
width: 0;
height: 0;
}
body[data-scripted] a[rel~=help] {
text-decoration: none;
border-bottom: dotted 1px;
padding-bottom: 0;
}
/*
Copyright 2007-2008 Wakaba .
This library is free software; you can redistribute it
and/or modify it under the same terms as Perl itself.
$Date: 2008/08/30 05:32:51 $
*/