diff --git a/CHANGELOG.md b/CHANGELOG.md
index db26aa8e847a3b666d11591f91c658fedb1fefe0..9833219f549a6f9201061799056a701be3551ba2 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -16,6 +16,7 @@
     sendNote.
 * Fixed style for gitlab-heatmap partial to match overall theme.
 * Fixed `Uncaught ReferenceError: ga is not defined` error in web console.
+* Added W3C specification styling for writing W3C recomendations directly.
 
 ## 2.1.0
 
diff --git a/README.md b/README.md
index 7623624c3fe5bc9079a4244d5c43e76a53c82fb9..8d1cdbe1979d86493d06b29dacc1e6d8cd59b256 100644
--- a/README.md
+++ b/README.md
@@ -161,3 +161,33 @@ All that is left now is to push your code to your GitLab repo. At that point the
 # Development
 
 Please see the `CONTRIBUTING.md` file for instructions regarding development and contribution.
+
+# W3C Specifications
+
+Now supports W3C specifications such as `working_draft` and `unofficial_draft`. Example with front matter:
+
+```
+---
+date: '2023-10-06T06:54:34'
+title: Semantic Versioning
+subtitle: v3.0.0, W3C Working Draft, 30 March 2024
+draft: false
+type: page
+w3c: working_draft
+w3c_latest_version: https://semantic-versioning.org
+w3c_feedback: ["https://git.qoto.org/semantic-versioning/semantic-versioning/-/issues"]
+w3c_editors:
+   "Jeffrey Phillips Freemam": "https://JeffreyFreeman.me"
+---
+
+{{<container>}}
+
+{{<w3c-header>}}
+
+## Foo
+
+Blah, blah....
+
+{{<container>}}
+
+```
diff --git a/layouts/partials/head.html b/layouts/partials/head.html
index 6fc49411b63846775fad289f90235814a9a41695..7eb45d134235361c75460834eb867a65fa1289b7 100644
--- a/layouts/partials/head.html
+++ b/layouts/partials/head.html
@@ -127,6 +127,11 @@
 <link rel="stylesheet" href="/css/pseudocode.css">
 <link rel="stylesheet" href="/javascripts/cal-heatmap/cal-heatmap.css">
 <link rel="stylesheet" href="/css/main.css">
+{{ if eq .Params.w3c "working_draft" -}}
+<link rel="stylesheet" href="/css/W3C-WD.css">
+{{ else if eq .Params.w3c "unofficial_draft" -}}
+<link rel="stylesheet" href="/css/W3C-UD.css">
+{{ end -}}
 
 {{ range .AlternativeOutputFormats -}}
 <link rel="{{ .Rel }}" type="{{ .MediaType.Type }}" href="{{ .Permalink | safeURL }}">
diff --git a/layouts/shortcodes/advisement-box.html b/layouts/shortcodes/advisement-box.html
new file mode 100644
index 0000000000000000000000000000000000000000..eb7f29cfdf106b96afc00fe500f4b3f01562ee7c
--- /dev/null
+++ b/layouts/shortcodes/advisement-box.html
@@ -0,0 +1,3 @@
+<div class="advisement">
+    {{ .Inner }}
+</div>
\ No newline at end of file
diff --git a/layouts/shortcodes/algorithm.html b/layouts/shortcodes/algorithm.html
new file mode 100644
index 0000000000000000000000000000000000000000..591f5377e6c46740817208c5b63d2e4884732505
--- /dev/null
+++ b/layouts/shortcodes/algorithm.html
@@ -0,0 +1,4 @@
+<div class="algorithm">
+    {{ .Inner }}
+</div>
+  
\ No newline at end of file
diff --git a/layouts/shortcodes/example-box.html b/layouts/shortcodes/example-box.html
new file mode 100644
index 0000000000000000000000000000000000000000..4b702ae2f4511a5c1ed1d068d2517332800df907
--- /dev/null
+++ b/layouts/shortcodes/example-box.html
@@ -0,0 +1,3 @@
+<div class="example">
+    {{ .Inner }}
+</div>
\ No newline at end of file
diff --git a/layouts/shortcodes/note-box.html b/layouts/shortcodes/note-box.html
new file mode 100644
index 0000000000000000000000000000000000000000..0c5b6e09ca6d98f12e5f877be25b400f8c8c03a9
--- /dev/null
+++ b/layouts/shortcodes/note-box.html
@@ -0,0 +1,3 @@
+<div class="note">
+    {{ .Inner }}
+</div>
\ No newline at end of file
diff --git a/layouts/shortcodes/w3c-header.html b/layouts/shortcodes/w3c-header.html
new file mode 100644
index 0000000000000000000000000000000000000000..d0100f328c8def0a4d05dcba6d165802dfbb75e2
--- /dev/null
+++ b/layouts/shortcodes/w3c-header.html
@@ -0,0 +1,40 @@
+<div class="head">
+    <div class="w3c_logo"><a class="logo" href="https://www.w3.org/"><img alt="W3C" height="48" src="https://www.w3.org/StyleSheets/TR/2016/logos/W3C" width="72"> </a> </div>
+    <h1 id="title">{{ if .Page.Title }}{{ .Page.Title }}{{ end }}</h1>
+    {{ if .Page.Params.Subtitle }}<h2 id="subtitle">{{ .Page.Params.Subtitle}}</h2>{{ end }}
+    <div>
+        <dl>
+            <dt>This version:
+            </dt>
+            <dd>
+                <a class="u-url" href="{{.Page.Permalink}}">{{.Page.Permalink}}</a>
+            </dd>
+            <dt>
+                Latest version:
+            </dt>
+            <dd>
+                <a href="{{.Page.Params.w3c_latest_version}}">{{.Page.Params.w3c_latest_version}}</a>
+            </dd>
+            <dt>
+                Previous Version:
+            </dt>
+            <dd>
+                <a href="{{ if .Page.Params.w3c_previous_version }}{{.Page.Params.w3c_previous_version}}{{else}}{{.Page.Permalink}}{{end}}" rel="previous">{{ if .Page.Params.w3c_previous_version }}{{.Page.Params.w3c_previous_version}}{{else}}{{.Page.Permalink}}{{end}}</a>
+            </dd>{{ if .Page.Params.w3c_feedback -}}<dt>
+                Feedback:
+            </dt>{{range .Page.Params.w3c_feedback}}<dd><a href="{{.}}">{{.}}</a></dd>{{end -}}{{end -}}
+            {{ if .Page.Params.w3c_editors -}}<dt class="editor">Editors:
+            </dt>{{ range $key, $value := .Page.Params.w3c_editors }}<dd><a href="{{$value}}">{{$key | title}}</a></dd>{{end -}}{{end -}}
+        </dl>
+    </div>
+    <div></div>
+    <p class="copyright">Copyright © 2024 - Present<sup>®</sup>(<a
+            href="http://www.csail.mit.edu/"><abbr title="Massachusetts Institute of Technology">MIT</abbr></a>, <a
+            href="http://www.ercim.eu/"><abbr
+                title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr></a>, <a
+            href="http://www.keio.ac.jp/">Keio</a>, <a href="http://ev.buaa.edu.cn/">Beihang</a>). W3C <a
+            href="https://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>, <a
+            href="https://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and <a
+            href="https://www.w3.org/Consortium/Legal/copyright-documents">document use</a> rules apply. </p>
+    <hr title="Separator for header">
+</div>
\ No newline at end of file
diff --git a/static/css/W3C-UD.css b/static/css/W3C-UD.css
new file mode 100644
index 0000000000000000000000000000000000000000..6a31f126283dbdd508eb91db2ee77f1276755d20
--- /dev/null
+++ b/static/css/W3C-UD.css
@@ -0,0 +1,14 @@
+
+/* Style for an "Unofficial Draft" */
+
+@import "w3c-base.css";
+
+body {
+  background: url(images/UD) no-repeat fixed,
+              url(images/UD-watermark-light-draft) repeat-y center left fixed,
+              url(images/UD-watermark-light-unofficial) repeat-y center right fixed;
+  background-image: url(images/UD),
+                    var(--draft-watermark),
+                    var(--unofficial-watermark);
+  background-color: var(--bg);
+}
diff --git a/static/css/W3C-WD.css b/static/css/W3C-WD.css
new file mode 100644
index 0000000000000000000000000000000000000000..0087e1a9a00c062c25b8c9913a8c0979b1ddc273
--- /dev/null
+++ b/static/css/W3C-WD.css
@@ -0,0 +1,10 @@
+
+/* Style for a "Working Draft" */
+
+@import "w3c-base.css";
+
+body {
+  background-image: url(/images/WD);
+  background-position-x: left;
+  background-position-y: 100px;
+}
diff --git a/static/css/main.css b/static/css/main.css
index a8d5cdae85fd28b1132224d61bf676d177bb7e36..b7504718a45716fe0aa9bbb01b28da107aff86b2 100644
--- a/static/css/main.css
+++ b/static/css/main.css
@@ -1082,7 +1082,7 @@ section {
     vertical-align:middle;
     white-space:nowrap
 }
-.button,.button:hover{
+.button,.button:hover,a[href].button,a.button:visited {
     color:#fff;
     color:var(--ifm-button-color);
     outline:0;
@@ -2695,8 +2695,12 @@ li.navbar-menu-item > .button {
   }
 }
 
-
-
+  /*****************************************************************************
+  ** W3C formatting
+  *****************************************************************************/
+.w3c_logo {
+  margin-left: 90%;
+}
 
 /*******************************************************************************
 ********************************************************************************
diff --git a/static/css/w3c-base.css b/static/css/w3c-base.css
new file mode 100644
index 0000000000000000000000000000000000000000..d4ee6ac66b0835b90d2621097ac3f6e4790f33d6
--- /dev/null
+++ b/static/css/w3c-base.css
@@ -0,0 +1,1589 @@
+/******************************************************************************
+ *                   Style sheet for the W3C specifications                   *
+ *
+ * Special classes handled by this style sheet include:
+ *
+ * Indices
+ *   - .toc for the Table of Contents (<ol class="toc">)
+ *     + <span class="secno"> for the section numbers
+ *   - #toc for the Table of Contents (<nav id="toc">)
+ *   - ul.index for Indices (<a href="#ref">term</a><span>, in §N.M</span>)
+ *   - table.index for Index Tables (e.g. for properties or elements)
+ *
+ * Structural Markup
+ *   - table.data for general data tables
+ *     -> use 'scope' attribute, <colgroup>, <thead>, and <tbody> for best results !
+ *     -> use <table class='complex data'> for extra-complex tables
+ *     -> use <td class='long'> for paragraph-length cell content
+ *     -> use <td class='pre'> when manual line breaks/indentation would help readability
+ *   - dl.switch for switch statements
+ *   - ol.algorithm for algorithms (helps to visualize nesting)
+ *   - .figure and .caption (HTML4) and figure and figcaption (HTML5)
+ *     -> .sidefigure for right-floated figures
+ *   - ins/del
+ *     -> ins/del[cite] for candidate and proposed changes (amendments)
+ *
+ * Code
+ *   - pre and code
+ *
+ * Special Sections
+ *   - .note       for informative notes             (div, p, span, aside, details)
+ *   - .example    for informative examples          (div, p, pre, span)
+ *   - .issue      for issues                        (div, p, span)
+ *   - .advisement for loud normative statements     (div, p, strong)
+ *   - .annoying-warning for spec obsoletion notices (div, aside, details)
+ *   - .correction for "candidate corrections"       (div, aside, details, section)
+ *   - .addition   for "candidate additions"         (div, aside, details, section)
+ *   - .correction.proposed for "proposed corrections" (div, aside, details, section)
+ *   - .addition.proposed   for "proposed additions"   (div, aside, details, section)
+ *
+ * Definition Boxes
+ *   - pre.def   for WebIDL definitions
+ *   - table.def for tables that define other entities (e.g. CSS properties)
+ *   - dl.def    for definition lists that define other entitles (e.g. HTML elements)
+ *
+ * Numbering
+ *   - .secno for section numbers in .toc and headings (<span class='secno'>3.2</span>)
+ *   - .marker for source-inserted example/figure/issue numbers (<span class='marker'>Issue 4</span>)
+ *   - ::before styled for CSS-generated issue/example/figure numbers:
+ *     -> Documents wishing to use this only need to add
+ *        figcaption::before,
+ *        .caption::before { content: "Figure "  counter(figure) " ";  }
+ *        .example::before { content: "Example " counter(example) " "; }
+ *        .issue::before   { content: "Issue "   counter(issue) " ";   }
+ *
+ * Header Stuff (ignore, just don't conflict with these classes)
+ *   - .head for the header
+ *   - .copyright for the copyright
+ *
+ * Outdated warning for old specs
+ *
+ * Miscellaneous
+ *   - .overlarge for things that should be as wide as possible, even if
+ *     that overflows the body text area. This can be used on an item or
+ *     on its container, depending on the effect desired.
+ *     Note that this styling basically doesn't help at all when printing,
+ *     since A4 paper isn't much wider than the max-width here.
+ *     It's better to design things to fit into a narrower measure if possible.
+ *
+ *   - js-added ToC jump links (see fixup.js)
+ * 
+ *   - .uname and .codepoint for character names and examples
+ *
+ ******************************************************************************/
+
+
+/******************************************************************************/
+/*                                  Colors                                    */
+/******************************************************************************/
+
+/* Any --*-text not paired with a --*-bg is assumed to have a transparent bg */
+:root {
+	--text: black;
+	--bg: white;
+
+	/* Absolute URLs due to https://bugs.webkit.org/show_bug.cgi?id=230243 */
+	--unofficial-watermark: url(/images/UD-watermark-light-unofficial.svg);
+	--draft-watermark: url(/images/UD-watermark-light-draft.svg);
+
+	--logo-bg: #1a5e9a;
+	--logo-active-bg: #c00;
+	--logo-text: white;
+
+	--tocnav-normal-text: #707070;
+	--tocnav-normal-bg: var(--bg);
+	--tocnav-hover-text: var(--tocnav-normal-text);
+	--tocnav-hover-bg: #f8f8f8;
+	--tocnav-active-text: #c00;
+	--tocnav-active-bg: var(--tocnav-normal-bg);
+
+	--tocsidebar-text: var(--text);
+	--tocsidebar-bg: #f7f8f9;
+	--tocsidebar-shadow: rgba(0,0,0,.1);
+	--tocsidebar-heading-text: hsla(203,20%,40%,.7);
+
+	--toclink-text: var(--text);
+	--toclink-underline: #3980b5;
+	--toclink-visited-text: var(--toclink-text);
+	--toclink-visited-underline: #054572;
+
+	--heading-text: #005a9c;
+
+	--hr-text: var(--text);
+
+	--algo-border: #def;
+
+	--del-text: #AA0000;
+	--del-bg: transparent;
+	--ins-text: #006100;
+	--ins-bg: transparent;
+
+	--a-normal-text: #034575;
+	--a-normal-underline: #707070;
+	--a-visited-text: var(--a-normal-text);
+	--a-visited-underline: #bbb;
+	--a-hover-bg: rgba(75%, 75%, 75%, .25);
+	--a-active-text: #c00;
+	--a-active-underline: #c00;
+
+	--blockquote-border: silver;
+	--blockquote-bg: transparent;
+	--blockquote-text: var(--text);
+
+	--issue-border: #e05252;
+	--issue-bg: #fbe9e9;
+	--issue-text: var(--text);
+	--issueheading-text: #831616;
+
+	--example-border: #e0cb52;
+	--example-bg: #fcfaee;
+	--example-text: var(--text);
+	--exampleheading-text: #574b0f;
+
+	--note-border: #52e052;
+	--note-bg: #e9fbe9;
+	--note-text: var(--text);
+	--noteheading-text: hsl(120, 70%, 22%);
+	--notesummary-underline: silver;
+
+	--advisement-border: orange;
+	--advisement-bg: #fec;
+	--advisement-text: var(--text);
+	--advisementheading-text: #b35f00;
+
+	--amendment-border: #330099;
+	--amendment-bg: #F5F0FF;
+	--amendment-text: var(--text);
+	--amendmentheading-text: #220066;
+
+	--warning-border: red;
+	--warning-bg: hsla(40,100%,50%,0.95);
+	--warning-text: var(--text);
+
+	--def-border: #8ccbf2;
+	--def-bg: #def;
+	--def-text: var(--text);
+	--defrow-border: #bbd7e9;
+
+	--datacell-border: silver;
+
+	--indexinfo-text: #707070;
+
+	--indextable-hover-text: black;
+	--indextable-hover-bg: #f7f8f9;
+
+	--outdatedspec-bg: rgba(0, 0, 0, .5);
+	--outdatedspec-text: black;
+	--outdated-bg: maroon;
+	--outdated-text: white;
+	--outdated-shadow: red;
+
+	--editedrec-bg: darkorange;
+}
+
+/******************************************************************************/
+/*                                   Body                                     */
+/******************************************************************************/
+
+	body {
+		counter-reset: example figure issue;
+
+		/* Layout */
+		max-width: 50em;             /* limit line length to 50em for readability   */
+		margin: 0 auto 4em;          /* center text within page, space for footers  */
+		padding: 1.6em 1.5em 0 50px; /* assume 16px font size for downlevel clients */
+		padding: 1.6em 1.5em 0 calc(26px + 1.5em); /* leave space for status flag   */
+
+		/* Typography */
+		line-height: 1.5;
+		font-family: sans-serif;
+		widows: 2;
+		orphans: 2;
+		word-wrap: break-word;
+		overflow-wrap: break-word;
+
+		/* Colors */
+		color: black;
+		color: var(--text);
+		background: white top left fixed no-repeat;
+		background-color: var(--bg);
+		background-size: 25px auto;
+	}
+
+/******************************************************************************/
+/*                         Front Matter & Navigation                          */
+/******************************************************************************/
+
+/** Header ********************************************************************/
+
+	div.head { margin-bottom: 1em; }
+	div.head hr { border-style: solid; }
+
+	div.head h1 {
+		font-weight: bold;
+		margin: 0 0 .1em;
+		font-size: 220%;
+	}
+
+	#w3c-state {
+		margin-top: 0;
+		margin-bottom: 1.5em;
+		font: 140% sans-serif;   /* Reset all font styling to clear out UA styles */
+		font-family: inherit;    /* Inherit the font family. */
+		line-height: 1.2;        /* Keep wrapped headings compact */
+		hyphens: manual;         /* Hyphenated headings look weird */
+		color: #005a9c;
+		color: var(--heading-text);
+	}
+
+/** W3C Logo ******************************************************************/
+
+	.head p:not(.copyright):first-child {
+		margin: 0;
+	}
+
+	.head p:not(.copyright):first-child > a,
+	.head > a:first-child {
+		float: right;
+		margin: 0.4rem 0 0.2rem .4rem;
+	}
+
+	.head img[src*="logos/W3C"] {
+		display: block;
+		border: solid #1a5e9a;
+		border: solid var(--logo-bg);
+		border-width: .65rem .7rem .6rem;
+		border-radius: .4rem;
+		background: #1a5e9a;
+		background: var(--logo-bg);
+		color: white;
+		color: var(--logo-text);
+		font-weight: bold;
+	}
+
+	.head a:hover > img[src*="logos/W3C"],
+	.head a:focus > img[src*="logos/W3C"] {
+		opacity: .8;
+	}
+
+	.head a:active > img[src*="logos/W3C"] {
+		background: #c00;
+		background: var(--logo-active-bg);
+		border-color: #c00;
+		border-color: var(--logo-active-bg);
+	}
+
+	/* see also additional rules in Link Styling section */
+
+/** Copyright *****************************************************************/
+
+	p.copyright,
+	p.copyright small { font-size: small; }
+
+/** Back to Top / ToC Toggle **************************************************/
+
+	@media print {
+		#toc-nav {
+			display: none;
+		}
+	}
+	@media not print {
+		#toc-nav {
+			position: fixed;
+			z-index: 3;
+			bottom: 0; left: 0;
+			margin: 0;
+			min-width: 1.33em;
+			border-top-right-radius: 2rem;
+			box-shadow: 0 0 2px;
+			font-size: 1.5em;
+		}
+		#toc-nav > a {
+			display: block;
+			white-space: nowrap;
+
+			height: 1.33em;
+			padding: .1em 0.3em;
+			margin: 0;
+
+			box-shadow: 0 0 2px;
+			border: none;
+			border-top-right-radius: 1.33em;
+
+			color: #707070;
+			color: var(--tocnav-normal-text);
+			background: white;
+			background: var(--tocnav-normal-bg);
+		}
+		#toc-nav > a:hover,
+		#toc-nav > a:focus {
+			color: black;
+			color: var(--tocnav-hover-text);
+			background: #f8f8f8;
+			background: var(--tocnav-hover-bg);
+		}
+		#toc-nav > a:active {
+			color: #c00;
+			color: var(--tocnav-active-text);
+			background: white;
+			background: var(--tocnav-active-bg);
+		}
+
+		#toc-nav > #toc-jump,
+		#toc-nav > #toc-toggle {
+			padding-bottom: 2em;
+			margin-bottom: -1.9em;
+		}
+
+		/* statusbar gets in the way on keyboard focus; remove once browsers fix */
+		#toc-nav > a[href="#toc"]:not(:hover):focus:last-child {
+			padding-bottom: 1.5rem;
+		}
+
+		#toc-nav:not(:hover) > a:not(:focus) > span + span {
+			/* Ideally this uses :focus-within on #toc-nav */
+			display: none;
+		}
+		#toc-nav > a > span + span {
+			padding-right: 0.2em;
+		}
+	}
+
+/** ToC Sidebar ***************************************************************/
+
+	/* Floating sidebar */
+	@media screen {
+		body.toc-sidebar #toc {
+			position: fixed;
+			top: 0; bottom: 0;
+			left: 0;
+			width: 23.5em;
+			max-width: 80%;
+			max-width: calc(100% - 2em - 26px);
+			overflow: auto;
+			padding: 0 1em;
+			padding-left: 42px;
+			padding-left: calc(1em + 26px);
+			color: black;
+			color: var(--tocsidebar-text);
+			background: inherit;
+			background-color: #f7f8f9;
+			background-color: var(--tocsidebar-bg);
+			z-index: 1;
+			box-shadow: -.1em 0 .25em rgba(0,0,0,.1) inset;
+			box-shadow: -.1em 0 .25em var(--tocsidebar-shadow) inset;
+		}
+		body.toc-sidebar #toc h2 {
+			margin-top: .8rem;
+			font-variant: small-caps;
+			font-variant: all-small-caps;
+			text-transform: lowercase;
+			font-weight: bold;
+			color: gray;
+			color: hsla(203,20%,40%,.7);
+			color: var(--tocsidebar-heading-text);
+		}
+		body.toc-sidebar #toc-jump:not(:focus) {
+			width: 0;
+			height: 0;
+			padding: 0;
+			position: absolute;
+			overflow: hidden;
+		}
+	}
+	/* Hide main scroller when only the ToC is visible anyway */
+	@media screen and (max-width: 28em) {
+		body.toc-sidebar {
+			overflow: hidden;
+		}
+	}
+
+	/* Sidebar with its own space */
+	@media screen and (min-width: 78em) {
+		body:not(.toc-inline) #toc {
+			position: fixed;
+			top: 0; bottom: 0;
+			left: 0;
+			width: 23.5em;
+			overflow: auto;
+			padding: 0 1em;
+			padding-left: 42px;
+			padding-left: calc(1em + 26px);
+			color: black;
+			color: var(--tocsidebar-text);
+			background: inherit;
+			background-color: #f7f8f9;
+			background-color: var(--tocsidebar-bg);
+			z-index: 1;
+			box-shadow: -.1em 0 .25em rgba(0,0,0,.1) inset;
+			box-shadow: -.1em 0 .25em var(--tocsidebar-shadow) inset;
+		}
+		body:not(.toc-inline) #toc h2 {
+			margin-top: .8rem;
+			font-variant: small-caps;
+			font-variant: all-small-caps;
+			text-transform: lowercase;
+			font-weight: bold;
+			color: gray;
+			color: hsla(203,20%,40%,.7);
+			color: var(--tocsidebar-heading-text);
+		}
+
+		body:not(.toc-inline) {
+			padding-left: 29em;
+		}
+		/* See also Overflow section at the bottom */
+
+		body:not(.toc-inline) #toc-jump:not(:focus) {
+			width: 0;
+			height: 0;
+			padding: 0;
+			position: absolute;
+			overflow: hidden;
+		}
+	}
+	@media screen and (min-width: 90em) {
+		body:not(.toc-inline) {
+			margin: 0 4em;
+		}
+	}
+
+/******************************************************************************/
+/*                                Sectioning                                  */
+/******************************************************************************/
+
+/** Headings ******************************************************************/
+
+	h1, h2, h3, h4, h5, h6, dt {
+		page-break-after: avoid;
+		page-break-inside: avoid;
+		font: 100% sans-serif;   /* Reset all font styling to clear out UA styles */
+		font-family: inherit;    /* Inherit the font family. */
+		line-height: 1.2;        /* Keep wrapped headings compact */
+		hyphens: manual;         /* Hyphenated headings look weird */
+	}
+
+	h2, h3, h4, h5, h6 {
+		margin-top: 3rem;
+	}
+
+	h1, h2, h3 {
+		color: #005a9c;
+		color: var(--heading-text);
+	}
+
+	h1 { font-size: 170%; }
+	h2 { font-size: 140%; }
+	h3 { font-size: 120%; }
+	h4 { font-weight: bold; }
+	h5 { font-style: italic; }
+	h6 { font-variant: small-caps; }
+	dt { font-weight: bold; }
+
+/** Subheadings ***************************************************************/
+
+	h1 + h2,
+	#subtitle {
+		/* #subtitle is a subtitle in an H2 under the H1 */
+		margin-top: 0;
+	}
+	h2 + h3,
+	h3 + h4,
+	h4 + h5,
+	h5 + h6 {
+		margin-top: 1.2em; /* = 1 x line-height */
+	}
+
+/** Section divider ***********************************************************/
+
+	:not(.head) > :not(.head) + hr {
+		font-size: 1.5em;
+		text-align: center;
+		margin: 1em auto;
+		height: auto;
+		color: black;
+		color: var(--hr-text);
+		border: transparent solid 0;
+		background: transparent;
+	}
+	:not(.head) > hr::before {
+		content: "\2727\2003\2003\2727\2003\2003\2727";
+	}
+
+/******************************************************************************/
+/*                            Paragraphs and Lists                            */
+/******************************************************************************/
+
+	p {
+		margin: 1em 0;
+	}
+
+	dd > p:first-child,
+	li > p:first-child {
+		margin-top: 0;
+	}
+
+	ul, ol {
+		margin-left: 0;
+		padding-left: 2em;
+	}
+
+	li {
+		margin: 0.25em 0 0.5em;
+		padding: 0;
+	}
+
+	dl dd {
+		margin: 0 0 .5em 2em;
+	}
+
+	.head dd + dd { /* compact for header */
+		margin-top: -.5em;
+	}
+
+	/* Style for algorithms */
+	ol.algorithm ol:not(.algorithm),
+	.algorithm > ol ol:not(.algorithm) {
+	 border-left: 0.5em solid #def;
+	 border-left: 0.5em solid var(--algo-border);
+	}
+
+	/* Style for switch/case <dl>s */
+	dl.switch > dd > ol.only {
+	 margin-left: 0;
+	}
+	dl.switch > dd > ol.algorithm {
+	 margin-left: -2em;
+	}
+	dl.switch {
+	 padding-left: 2em;
+	}
+	dl.switch > dt {
+	 margin-top: 1em;
+	}
+	dl.switch > dt + dt {
+	 margin-top: 0;
+	}
+
+	/* For older browsers */
+	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 {
+	 text-indent: -1.5em;
+	}
+	:where(dl.switch > dt > *) {
+		text-indent: 0; /* break inheritance on e.g. list children */
+	}
+	/* Undo above styling and use list-style for proper bullets */
+	@supports (list-style: "\21AA  ") {
+		dl.switch > dt {
+			display: list-item;
+			list-style: "\21AA  ";
+			margin-left: -1.5em;
+			text-indent: 0;
+		}
+		dl.switch > dt::before {
+			content: none;
+		}
+		dl {
+			/* don't accidentally increment the implied list-item counter */
+			counter-reset: list-item;
+		}
+	}
+
+
+/** Terminology Markup ********************************************************/
+
+
+/******************************************************************************/
+/*                                 Inline Markup                              */
+/******************************************************************************/
+
+/** Terminology Markup ********************************************************/
+	dfn   { /* Defining instance */
+		font-weight: bolder;
+	}
+	a > i { /* Instance of term */
+		font-style: normal;
+	}
+	dt dfn code, code.idl {
+		font-size: inherit;
+	}
+	dfn var {
+		font-style: normal;
+	}
+
+/** Change Marking ************************************************************/
+
+	del {
+		color: #AA0000;
+		color: var(--del-text);
+		background: transparent;
+		background: var(--del-bg);
+		text-decoration: line-through;
+	}
+	ins {
+		color: #006100;
+		color: var(--ins-text);
+		background: transparent;
+		background: var(--ins-bg);
+		text-decoration: underline;
+		text-decoration-style: dashed;
+	}
+	ins:not(#dontusethisid) *,
+	del:not(#dontusethisid) * {
+		color: inherit;
+	}
+	ins:not([hidden]).diff-inactive,
+	del:not([hidden]).diff-inactive {
+		all: unset;
+	}
+	ins:not(.diff-inactive) *,
+	del:not(.diff-inactive) * {
+		color: inherit;
+	}
+
+	/* for amendments (candidate/proposed changes) */
+	.amendment ins, .correction ins, .addition ins,
+	ins[cite] { text-decoration-style: dotted; }
+	.amendment del, .correction del, .addition del,
+	del[cite] { text-decoration-style: dotted; }
+	.amendment.proposed ins, .correction.proposed ins, .addition.proposed ins,
+	ins[cite].proposed { text-decoration-style: double; }
+	.amendment.proposed del, .correction.proposed del, .addition.proposed del,
+	del[cite].proposed { text-decoration-style: double; }
+
+/** Miscellaneous improvements to inline formatting ***************************/
+
+	sup {
+		vertical-align: super;
+		font-size: 80%;
+	}
+
+/******************************************************************************/
+/*                                    Code                                    */
+/******************************************************************************/
+
+/** General monospace/pre rules ***********************************************/
+
+	pre, code, samp {
+		font-family: Menlo, Consolas, "DejaVu Sans Mono", Monaco, monospace;
+		font-size: .9em;
+		hyphens: none;
+		text-transform: none;
+		text-align: left;
+		text-align: start;
+		font-variant: normal;
+		orphans: 3;
+		widows: 3;
+		page-break-before: avoid;
+	}
+	pre code,
+	code code {
+		font-size: 100%;
+	}
+
+	pre {
+		margin-top: 1em;
+		margin-bottom: 1em;
+		overflow: auto;
+	}
+
+/** Inline Code fragments *****************************************************/
+
+  /* Do something nice. */
+
+/******************************************************************************/
+/*                                    Links                                   */
+/******************************************************************************/
+
+/** General Hyperlinks ********************************************************/
+
+	/* We hyperlink a lot, so make it less intrusive */
+	a[href] {
+		color: #034575;
+		color: var(--a-normal-text);
+		text-decoration-color: #707070;
+		text-decoration-color: var(--a-normal-underline);
+		text-decoration-skip-ink: none;
+	}
+	a:visited {
+		color: #034575;
+		color: var(--a-visited-text);
+		text-decoration-color: #bbb;
+		text-decoration-color: var(--a-visited-underline);
+	}
+
+	/* Indicate interaction with the link */
+	a[href]:focus,
+	a[href]:hover {
+		text-decoration-thickness: 2px;
+		text-decoration-skip-ink: none;
+	}
+	a[href]:active {
+		color: #c00;
+		color: var(--a-active-text);
+		text-decoration-color: #c00;
+		text-decoration-color: var(--a-active-underline);
+	}
+
+	/* Backout above styling for W3C logo */
+	.head p:not(.copyright):first-child > a,
+	.head > a:first-child {
+		border: none;
+		text-decoration: none;
+		background: transparent;
+	}
+
+/******************************************************************************/
+/*                                    Images                                  */
+/******************************************************************************/
+
+	img {
+		border-style: none;
+	}
+
+	/* For autogen numbers, add
+	   .caption::before, figcaption::before { content: "Figure " counter(figure) ". "; }
+	*/
+
+	figure, .figure, .sidefigure {
+		page-break-inside: avoid;
+		text-align: center;
+		margin: 2.5em 0;
+	}
+	.figure img,    .sidefigure img,    figure img,
+	.figure object, .sidefigure object, figure object,
+        .figure svg,    .sidefigure svg,    figure svg {
+		max-width: 100%;
+		margin: auto;
+		height: auto;
+	}
+	.figure pre, .sidefigure pre, figure pre {
+		text-align: left;
+		display: table;
+		margin: 1em auto;
+	}
+	.figure table, figure table {
+		margin: auto;
+	}
+	@media screen and (min-width: 20em) {
+		.sidefigure {
+			float: right;
+			width: 50%;
+			margin: 0 0 0.5em 0.5em;
+		}
+	}
+	.caption, figcaption, caption {
+		font-style: italic;
+		font-size: 90%;
+	}
+	.caption::before, figcaption::before, figcaption > .marker {
+		font-weight: bold;
+	}
+	.caption, figcaption {
+		counter-increment: figure;
+	}
+
+	/* DL list is indented 2em, but figure inside it is not */
+	dd > .figure, dd > figure { margin-left: -2em; }
+
+/******************************************************************************/
+/*                             Colored Boxes                                  */
+/******************************************************************************/
+
+	.issue, .note, .example, .advisement, blockquote,
+	.amendment, .correction, .addition {
+		padding: .5em;
+		border: .5em;
+		border-left-style: solid;
+		page-break-inside: avoid;
+		margin: 1em auto;
+	}
+	span.issue, span.note {
+		padding: .1em .5em .15em;
+		border-right-style: solid;
+	}
+
+	.note  > p:first-child,
+	.issue > p:first-child,
+	blockquote > :first-child,
+	.amendment > p:first-child,
+	.correction > p:first-child,
+	.addition > p:first-child {
+		margin-top: 0;
+	}
+	.note  > p:last-child,
+	.issue > p:last-child,
+	blockquote > :last-child,
+	.amendment > p:last-child,
+	.correction > p:last-child,
+	.addition > p:last-child {
+		margin-bottom: 0;
+	}
+
+	.issue::before, .issue > .marker,
+	.example::before, .example > .marker,
+	.note::before, .note > .marker,
+	details.note > summary > .marker,
+	.amendment::before, .amendment > .marker,
+	details.amendment > summary > .marker,
+	.correction::before, .correction > .marker,
+	details.correction > summary > .marker,
+	.addition::before, .addition > .marker,
+	details.addition > summary > .marker {
+		text-transform: uppercase;
+		padding-right: 1em;
+	}
+
+	.example::before, .example > .marker {
+		display: block;
+		padding-right: 0em;
+	}
+
+/** Blockquotes ***************************************************************/
+
+	blockquote {
+		border-color: silver;
+		border-color: var(--blockquote-border);
+		background: var(--blockquote-bg);
+		color: var(--blockquote-text);
+	}
+
+/** Open issue ****************************************************************/
+
+	.issue {
+		border-color: #e05252;
+		border-color: var(--issue-border);
+		background: #fbe9e9;
+		background: var(--issue-bg);
+		color: black;
+		color: var(--issue-text);
+		counter-increment: issue;
+		overflow: auto;
+	}
+	.issue::before, .issue > .marker {
+		color: #831616;
+		color: var(--issueheading-text);
+	}
+	/* Add .issue::before { content: "Issue " counter(issue) " "; } for autogen numbers,
+	   or use class="marker" to mark up the issue number in source. */
+
+/** Example *******************************************************************/
+
+	.example {
+		border-color: #e0cb52;
+		border-color: var(--example-border);
+		background: #fcfaee;
+		background: var(--example-bg);
+		color: black;
+		color: var(--example-text);
+		counter-increment: example;
+		overflow: auto;
+		clear: both;
+	}
+	.example::before, .example > .marker {
+		color: #574b0f;
+		color: var(--exampleheading-text);
+	}
+	/* Add .example::before { content: "Example " counter(example) " "; } for autogen numbers,
+	   or use class="marker" to mark up the example number in source. */
+
+/** Non-normative Note ********************************************************/
+
+	.note {
+		border-color: #52e052;
+		border-color: var(--note-border);
+		background: #e9fbe9;
+		background: var(--note-bg);
+		color: black;
+		color: var(--note-text);
+		overflow: auto;
+	}
+
+	.note::before, .note > .marker,
+	details.note > summary {
+		color: hsl(120, 70%, 22%);
+		color: var(--noteheading-text);
+	}
+	/* Add .note::before { content: "Note "; } for autogen label,
+	   or use class="marker" to mark up the label in source. */
+
+	details.note[open] > summary {
+		border-bottom: 1px silver solid;
+		border-bottom: 1px var(--notesummary-underline) solid;
+	}
+
+/** Advisement Box ************************************************************/
+	/*  for attention-grabbing normative statements */
+
+	.advisement {
+		border-color: orange;
+		border-color: var(--advisement-border);
+		border-style: none solid;
+		background: #fec;
+		background: var(--advisement-bg);
+		color: black;
+		color: var(--advisement-text);
+	}
+	strong.advisement {
+		display: block;
+		text-align: center;
+	}
+	.advisement::before, .advisement > .marker {
+		color: #b35f00;
+		color: var(--advisementheading-text);
+	}
+
+/** Amendment Box *************************************************************/
+
+	.amendment, .correction, .addition {
+		border-color: #330099;
+		border-color: var(--amendment-border);
+		background: #F5F0FF;
+		background: var(--amendment-bg);
+	}
+	.amendment.proposed, .correction.proposed, .addition.proposed {
+		border-style: solid;
+		border-block-width: 0.25em;
+	}
+	.amendment::before, .amendment > .marker,
+	details.amendment > summary::before, details.amendment > summary > .marker,
+	.correction::before, .correction > .marker,
+	details.correction > summary::before, details.correction > summary > .marker,
+	.addition::before, .addition > .marker,
+	details.addition > summary::before, details.addition > summary > .marker {
+		color: #220066;
+		color: var(--amendmentheading-text);
+	}
+	.amendment.proposed::before, .amendment.proposed > .marker,
+	details.amendment.proposed > summary::before, details.amendment.proposed > summary > .marker,
+	.correction.proposed::before, .correction.proposed > .marker,
+	details.correction.proposed > summary::before, details.correction.proposed > summary > .marker,
+	.addition.proposed::before, .addition.proposed > .marker,
+	details.addition.proposed > summary::before, details.addition.proposed > summary > .marker {
+		font-weight: bold;
+	}
+
+/** Spec Obsoletion Notice ****************************************************/
+	/* obnoxious obsoletion notice for older/abandoned specs. */
+
+	details:not([hidden]) {
+		display: block;
+	}
+	summary {
+		font-weight: bolder;
+	}
+
+	.annoying-warning:not(details),
+	details.annoying-warning:not([open]) > summary,
+	details.annoying-warning[open] {
+		background: hsla(40,100%,50%,0.95);
+		background: var(--warning-bg);
+		color: black;
+		color: var(--warning-text);
+		padding: .75em 1em;
+		border: red;
+		border: var(--warning-border);
+		border-style: solid none;
+		box-shadow: 0 2px 8px black;
+		text-align: center;
+	}
+	.annoying-warning :last-child {
+		margin-bottom: 0;
+	}
+
+@media not print {
+	details.annoying-warning[open] {
+		position: fixed;
+		left: 0;
+		right: 0;
+		bottom: 2em;
+		z-index: 1000;
+	}
+}
+
+	details.annoying-warning:not([open]) > summary {
+		text-align: center;
+	}
+
+/** Entity Definition Boxes ***************************************************/
+
+	.def {
+		padding: .5em 1em;
+		background: #def;
+		background: var(--def-bg);
+		margin: 1.2em 0;
+		border-left: 0.5em solid #8ccbf2;
+		border-left: 0.5em solid var(--def-border);
+		color: black;
+		color: var(--def-text);
+	}
+
+/******************************************************************************/
+/*                                    Tables                                  */
+/******************************************************************************/
+
+	th, td {
+		text-align: left;
+		text-align: start;
+	}
+
+/** Property/Descriptor Definition Tables *************************************/
+
+	table.def {
+		/* inherits .def box styling, see above */
+		width: 100%;
+		border-spacing: 0;
+	}
+
+	table.def td,
+	table.def th {
+		padding: 0.5em;
+		vertical-align: baseline;
+		border-bottom: 1px solid #bbd7e9;
+		border-bottom: 1px solid var(--defrow-border);
+	}
+
+	table.def > tbody > tr:last-child th,
+	table.def > tbody > tr:last-child td {
+		border-bottom: 0;
+	}
+
+	table.def th {
+		font-style: italic;
+		font-weight: normal;
+		padding-left: 1em;
+		width: 3em;
+	}
+
+	/* 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 def table */
+	table.def td.footnote {
+		padding-top: 0.6em;
+	}
+	table.def td.footnote::before {
+		content: " ";
+		display: block;
+		height: 0.6em;
+		width: 4em;
+		border-top: thin solid;
+	}
+
+/** Data tables (and properly marked-up index tables) *************************/
+	/*
+		 <table class="data"> highlights structural relationships in a table
+		 when correct markup is used (e.g. thead/tbody, th vs. td, scope attribute)
+
+		 Use class="complex data" for particularly complicated tables --
+		 (This will draw more lines: busier, but clearer.)
+
+		 Use class="long" on table cells with paragraph-like contents
+		 (This will adjust text alignment accordingly.)
+		 Alternately use class="longlastcol" on tables, to have the last column assume "long".
+	*/
+
+	table {
+		word-wrap: normal;
+		overflow-wrap: normal;
+		hyphens: manual;
+	}
+
+	table.data,
+	table.index {
+		margin: 1em auto;
+		border-collapse: collapse;
+		border: hidden;
+		width: 100%;
+	}
+	table.data caption,
+	table.index caption {
+		max-width: 50em;
+		margin: 0 auto 1em;
+	}
+
+	table.data td,  table.data th,
+	table.index td, table.index th {
+		padding: 0.5em 1em;
+		border-width: 1px;
+		border-color: silver;
+		border-color: var(--datacell-border);
+		border-top-style: solid;
+	}
+
+	table.data thead td:empty {
+		padding: 0;
+		border: 0;
+	}
+
+	table.data  thead,
+	table.index thead,
+	table.data  tbody,
+	table.index tbody {
+		border-bottom: 2px solid;
+	}
+
+	table.data colgroup,
+	table.index colgroup {
+		border-left: 2px solid;
+	}
+
+	table.data  tbody th:first-child,
+	table.index tbody th:first-child  {
+		border-right: 2px solid;
+		border-top: 1px solid silver;
+		border-top: 1px solid var(--datacell-border);
+		padding-right: 1em;
+	}
+
+	table.data th[colspan],
+	table.data td[colspan] {
+		text-align: center;
+	}
+
+	table.complex.data th,
+	table.complex.data td {
+		border: 1px solid silver;
+		border: 1px solid var(--datacell-border);
+		text-align: center;
+	}
+
+	table.data.longlastcol td:last-child,
+	table.data td.long {
+	 vertical-align: baseline;
+	 text-align: left;
+	}
+
+	table.data img {
+		vertical-align: middle;
+	}
+
+
+/*
+Alternate table alignment rules
+
+	table.data,
+	table.index {
+		text-align: center;
+	}
+
+	table.data  thead th[scope="row"],
+	table.index thead th[scope="row"] {
+		text-align: right;
+	}
+
+	table.data  tbody th:first-child,
+	table.index tbody th:first-child  {
+		text-align: right;
+	}
+
+Possible extra rowspan handling
+
+	table.data  tbody th[rowspan]:not([rowspan='1']),
+	table.index tbody th[rowspan]:not([rowspan='1']),
+	table.data  tbody td[rowspan]:not([rowspan='1']),
+	table.index tbody td[rowspan]:not([rowspan='1']) {
+		border-left: 1px solid silver;
+	}
+
+	table.data  tbody th[rowspan]:first-child,
+	table.index tbody th[rowspan]:first-child,
+	table.data  tbody td[rowspan]:first-child,
+	table.index tbody td[rowspan]:first-child{
+		border-left: 0;
+		border-right: 1px solid silver;
+	}
+*/
+
+/******************************************************************************/
+/*                                  Indices                                   */
+/******************************************************************************/
+
+
+/** Table of Contents *********************************************************/
+
+	.toc a {
+		color: black;
+		color: var(--toclink-text);
+		/* More spacing; use padding to make it part of the click target. */
+		padding: 0.1rem 1px 0;
+		/* Larger, more consistently-sized click target */
+		display: block;
+		/* Switch to using border-bottom */
+		text-decoration: none;
+		border-bottom: 3px solid transparent;
+		margin-bottom: -2px;
+	}
+	.toc a:visited {
+		color: black;
+		color: var(--toclink-visited-text);
+	}
+	.toc a:focus,
+	.toc a:hover {
+		background: #f8f8f8;
+		background: rgba(75%, 75%, 75%, .25);
+		background: var(--a-hover-bg);
+		border-bottom-color: #3980b5;
+		border-bottom-color: var(--toclink-underline);
+	}
+	.toc a:visited:focus,
+	.toc a:visited:hover {
+		border-bottom-color: #054572;
+		border-bottom-color: var(--toclink-visited-underline);
+	}
+
+	.toc, .toc ol, .toc ul, .toc li {
+		list-style: none; /* Numbers must be inlined into source */
+		/* because generated content isn't search/selectable and markers can't do multilevel yet */
+		margin:  0;
+		padding: 0;
+	}
+	.toc {
+		line-height: 1.1em; /* consistent spacing */
+	}
+
+	/* ToC not indented until third level, but font style & margins show hierarchy */
+	.toc > li             { font-weight: bold;   }
+	.toc > li li          { font-weight: normal; }
+	.toc > li li li       { font-size:   95%;    }
+	.toc > li li li li    { font-size:   90%;    }
+	.toc > li li li li li { font-size:   85%;    }
+
+	.toc > li             { margin: 1.5rem 0;    }
+	.toc > li li          { margin: 0.3rem 0;    }
+	.toc > li li li       { margin-left: 2rem;   }
+
+	/* Section numbers in a column of their own */
+	.toc .secno {
+		float: left;
+		width: 4rem;
+		white-space: nowrap;
+	}
+	.toc > li li li li .secno {
+		font-size: 85%;
+	}
+	.toc > li li li li li .secno {
+		font-size: 100%;
+	}
+
+	:not(li) > .toc              { margin-left:  5rem; }
+	.toc .secno                  { margin-left: -5rem; }
+	.toc > li li li .secno       { margin-left: -7rem; }
+	.toc > li li li li .secno    { margin-left: -9rem; }
+	.toc > li li li li li .secno { margin-left: -11rem; }
+
+	/* Tighten up indentation in narrow ToCs */
+	@media (max-width: 30em) {
+		:not(li) > .toc              { margin-left:  4rem; }
+		.toc .secno                  { margin-left: -4rem; }
+		.toc > li li li              { margin-left:  1rem; }
+		.toc > li li li .secno       { margin-left: -5rem; }
+		.toc > li li li li .secno    { margin-left: -6rem; }
+		.toc > li li li li li .secno { margin-left: -7rem; }
+	}
+	@media screen and (min-width: 78em) {
+		body:not(.toc-inline) :not(li) > .toc              { margin-left:  4rem; }
+		body:not(.toc-inline) .toc .secno                  { margin-left: -4rem; }
+		body:not(.toc-inline) .toc > li li li              { margin-left:  1rem; }
+		body:not(.toc-inline) .toc > li li li .secno       { margin-left: -5rem; }
+		body:not(.toc-inline) .toc > li li li li .secno    { margin-left: -6rem; }
+		body:not(.toc-inline) .toc > li li li li li .secno { margin-left: -7rem; }
+	}
+	body.toc-sidebar #toc :not(li) > .toc              { margin-left:  4rem; }
+	body.toc-sidebar #toc .toc .secno                  { margin-left: -4rem; }
+	body.toc-sidebar #toc .toc > li li li              { margin-left:  1rem; }
+	body.toc-sidebar #toc .toc > li li li .secno       { margin-left: -5rem; }
+	body.toc-sidebar #toc .toc > li li li li .secno    { margin-left: -6rem; }
+	body.toc-sidebar #toc .toc > li li li li li .secno { margin-left: -7rem; }
+
+	.toc li {
+		clear: both;
+	}
+
+
+/** Index *********************************************************************/
+
+	/* Index Lists: Layout */
+	ul.index       { margin-left: 0; columns: 15em; text-indent: 1em hanging; }
+	ul.index li    { margin-left: 0; list-style: none; break-inside: avoid; }
+	ul.index li li { margin-left: 1em; }
+	ul.index dl    { margin-top: 0; }
+	ul.index dt    { margin: .2em 0 .2em 20px;}
+	ul.index dd    { margin: .2em 0 .2em 40px;}
+	/* Index Lists: Typography */
+	ul.index ul,
+	ul.index dl { font-size: smaller; }
+	@media not print {
+		ul.index li a + span {
+			white-space: nowrap;
+			color: transparent;
+		}
+		ul.index li a:hover + span,
+		ul.index li a:focus + span {
+			color: #707070;
+			color: var(--indexinfo-text);
+		}
+	}
+
+/** Index Tables *****************************************************/
+	/* See also the data table styling section, which this effectively subclasses */
+
+	table.index {
+		font-size: small;
+		border-collapse: collapse;
+		border-spacing: 0;
+		text-align: left;
+		margin: 1em 0;
+	}
+
+	table.index td,
+	table.index th {
+		padding: 0.4em;
+	}
+
+	table.index tr:hover td:not([rowspan]),
+	table.index tr:hover th:not([rowspan]) {
+		color: black;
+		color: var(--indextable-hover-text);
+		background: #f7f8f9;
+		background: var(--indextable-hover-bg);
+	}
+
+	/* The link in the first column in the property table (formerly a TD) */
+	table.index th:first-child a {
+		font-weight: bold;
+	}
+
+/** Unicode characters and character sequences *******************************/
+
+	.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;
+	}
+
+/** Outdated warning **********************************************************/
+
+.outdated-spec {
+	color: black;
+	color: var(--outdatedspec-text);
+	background-color: rgba(0,0,0,0.5);
+	background-color: var(--outdatedspec-bg);
+}
+
+.outdated-warning {
+	position: fixed;
+	bottom: 50%;
+	left: 0;
+	right: 0;
+	margin: 0 auto;
+	width: 50%;
+	background: maroon;
+	background: var(--outdated-bg);
+	color: white;
+	color: var(--outdated-text);
+	border-radius: 1em;
+	box-shadow: 0 0 1em red;
+	box-shadow: 0 0 1em var(--outdated-shadow);
+	padding: 2em;
+	text-align: center;
+	z-index: 2;
+}
+
+.outdated-warning a {
+	color: currentcolor;
+	background: transparent;
+}
+
+.edited-rec-warning {
+	background: darkorange;
+	background: var(--editedrec-bg);
+	box-shadow: 0 0 1em;
+}
+
+.outdated-warning button {
+	position: absolute;
+	top: 0;
+	right:0;
+	margin: 0;
+	border: 0;
+	padding: 0.25em 0.5em;
+	background: transparent;
+	color: white;
+	color: var(--outdated-text);
+	font:1em sans-serif;
+	text-align:center;
+}
+
+.outdated-warning span {
+	display: block;
+}
+
+.outdated-collapsed {
+	bottom: 0;
+	border-radius: 0;
+	width: 100%;
+	padding: 0;
+}
+
+/******************************************************************************/
+/*                                    Print                                   */
+/******************************************************************************/
+
+	@media print {
+		/* Pages have their own margins. */
+		html {
+			margin: 0;
+		}
+		/* Serif for print. */
+		body {
+			font-family: serif;
+		}
+
+		.outdated-warning {
+			position: absolute;
+			border-style: solid;
+			border-color: red;
+		}
+
+		.outdated-warning input {
+			display: none;
+		}
+	}
+	@page {
+		margin: 1.5cm 1.1cm;
+	}
+
+/******************************************************************************/
+/*                                    Legacy                                  */
+/******************************************************************************/
+
+	/* This rule is inherited from past style sheets. No idea what it's for. */
+	.hide { display: none; }
+
+
+
+/******************************************************************************/
+/*                             Overflow Control                               */
+/******************************************************************************/
+
+	.figure .caption, .sidefigure .caption, figcaption {
+		/* in case figure is overlarge, limit caption to 50em */
+		max-width: 50rem;
+		margin-left: auto;
+		margin-right: auto;
+	}
+	.overlarge {
+		/* Magic to create good item positioning:
+		   "content column" is 50ems wide at max; less on smaller screens.
+		   Extra space (after ToC + content) is empty on the right.
+
+		   1. When item < content column, centers item in column.
+		   2. When content < item < available, left-aligns.
+		   3. When item > available, fills available and is scrollable.
+		*/
+		display: grid;
+		grid-template-columns: minmax(0, 50em);
+	}
+	.overlarge > table {
+		/* limit preferred width of table */
+		max-width: 50em;
+		margin-left: auto;
+		margin-right: auto;
+	}
+
+	@media (min-width: 55em) {
+		.overlarge {
+			margin-right: calc(13px + 26.5rem - 50vw);
+			max-width: none;
+		}
+	}
+	@media screen and (min-width: 78em) {
+		body:not(.toc-inline) .overlarge {
+			/* 30.5em body padding 50em content area */
+			margin-right: calc(40em - 50vw) !important;
+		}
+	}
+	@media screen and (min-width: 90em) {
+		body:not(.toc-inline) .overlarge {
+			/* 4em html margin 30.5em body padding 50em content area */
+			margin-right: calc(84.5em - 100vw) !important;
+		}
+	}
+
+	@media not print {
+		.overlarge {
+			overflow-x: auto;
+			/* See Lea Verou's explanation background-attachment:
+			 * http://lea.verou.me/2012/04/background-attachment-local/
+			 *
+			background: top left  / 4em 100% linear-gradient(to right,  #ffffff, rgba(255, 255, 255, 0)) local,
+			            top right / 4em 100% linear-gradient(to left, #ffffff, rgba(255, 255, 255, 0)) local,
+			            top left  / 1em 100% linear-gradient(to right,  #c3c3c5, rgba(195, 195, 197, 0)) scroll,
+			            top right / 1em 100% linear-gradient(to left, #c3c3c5, rgba(195, 195, 197, 0)) scroll,
+			            white;
+			background-repeat: no-repeat;
+			*/
+		}
+	}
+
+/******************************************************************************/
+/*                             Dark mode toggle                               */
+/******************************************************************************/
+
+	#toc-theme-toggle input {
+		position: absolute;
+		clip: rect(1px, 1px, 1px, 1px);
+		clip-path: inset(0px 0px 99.9% 99.9%);
+		overflow: hidden;
+		height: 1px;
+		width: 1px;
+		padding: 0;
+		border: 0;
+	}
+
+	#toc-theme-toggle img {
+		background-color: transparent;
+        }
+
+	#toc-theme-toggle span {
+		padding: 5px;
+		border-radius: 30px;
+	}
+
+	#toc-theme-toggle input:checked + span {
+		background-color: var(--logo-bg);
+		color: var(--logo-text);
+		padding: 3px 10px;
+	}
+
+	@media (prefers-reduced-motion: reduce) {
+		body.toc-sidebar #toc {
+			position: absolute;
+			overflow: initial;
+			bottom: unset;
+		}
+	}
diff --git a/static/images/UD-watermark-dark-draft.svg b/static/images/UD-watermark-dark-draft.svg
new file mode 100644
index 0000000000000000000000000000000000000000..05f8d428ce90bbe6aca58dac91dd828d0d22bd7f
--- /dev/null
+++ b/static/images/UD-watermark-dark-draft.svg
@@ -0,0 +1,7 @@
+<svg xmlns='http://www.w3.org/2000/svg' width='80' height='400'>
+ <g transform='translate(50 200) rotate(-90) translate(-40 -190)'
+    style='font: 750 70px Arial, sans-serif; letter-spacing: 3px'
+    fill='#100808' stroke='#100808' stroke-width='3'>
+  <text x='50%' y='50%' style='text-anchor: middle'>DRAFT</text>
+ </g>
+</svg>
diff --git a/static/images/UD-watermark-dark-unofficial.svg b/static/images/UD-watermark-dark-unofficial.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d7105cef45afe116d8957073f30fcc30e5eea05a
--- /dev/null
+++ b/static/images/UD-watermark-dark-unofficial.svg
@@ -0,0 +1,7 @@
+<svg xmlns='http://www.w3.org/2000/svg' width='80' height='600'>
+ <g transform='translate(50 300) rotate(-90) translate(-40 -290)'
+    style='font: 750 70px Arial, sans-serif; letter-spacing: 3px'
+    fill='#100808' stroke='#100808' stroke-width='3'>
+  <text x='50%' y='50%' style='text-anchor: middle'>UNOFFICIAL</text>
+ </g>
+</svg>
diff --git a/static/images/UD-watermark-dark.svg b/static/images/UD-watermark-dark.svg
new file mode 100644
index 0000000000000000000000000000000000000000..07adbd442fd63dbbd776da951c6d421bfbf8fd38
--- /dev/null
+++ b/static/images/UD-watermark-dark.svg
@@ -0,0 +1,8 @@
+<svg xmlns='http://www.w3.org/2000/svg' width='400' height='400'>
+ <g transform='translate(200 200) rotate(-45) translate(-200 -200)'
+    style='font: 750 70px Arial, sans-serif; letter-spacing: 3px'
+    fill='#100808' stroke='#100808' stroke-width='3'>
+  <text x='53%' y='220' style='text-anchor: middle'>UNOFFICIAL</text>
+  <text x='53%' y='305' style='text-anchor: middle'>DRAFT</text>
+ </g>
+</svg>
diff --git a/static/images/UD-watermark-light-draft.svg b/static/images/UD-watermark-light-draft.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c19a4a2fdbe2900e0f53d23fdc3ddb5d52420fc0
--- /dev/null
+++ b/static/images/UD-watermark-light-draft.svg
@@ -0,0 +1,7 @@
+<svg xmlns='http://www.w3.org/2000/svg' width='80' height='400'>
+ <g transform='translate(50 200) rotate(-90) translate(-40 -190)'
+    style='font: 750 70px Arial, sans-serif; letter-spacing: 3px'
+    fill='#FDEDED' stroke='#FDEDED' stroke-width='3'>
+  <text x='50%' y='50%' style='text-anchor: middle'>DRAFT</text>
+ </g>
+</svg>
diff --git a/static/images/UD-watermark-light-unofficial.svg b/static/images/UD-watermark-light-unofficial.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ac7b25f6ebb5746574d185bcbb5b561fb9218d06
--- /dev/null
+++ b/static/images/UD-watermark-light-unofficial.svg
@@ -0,0 +1,7 @@
+<svg xmlns='http://www.w3.org/2000/svg' width='80' height='600'>
+ <g transform='translate(50 300) rotate(-90) translate(-40 -290)'
+    style='font: 750 70px Arial, sans-serif; letter-spacing: 3px'
+    fill='#FDEDED' stroke='#FDEDED' stroke-width='3'>
+  <text x='50%' y='50%' style='text-anchor: middle'>UNOFFICIAL</text>
+ </g>
+</svg>
diff --git a/static/images/UD-watermark-light.svg b/static/images/UD-watermark-light.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f247c9b121e2b7fd62c575e95b2640a8cb4c7913
--- /dev/null
+++ b/static/images/UD-watermark-light.svg
@@ -0,0 +1,8 @@
+<svg xmlns='http://www.w3.org/2000/svg' width='400' height='400'>
+ <g transform='translate(200 200) rotate(-45) translate(-200 -200)'
+    style='font: 750 70px Arial, sans-serif; letter-spacing: 3px'
+    fill='#FDEDED' stroke='#FDEDED' stroke-width='3'>
+  <text x='53%' y='220' style='text-anchor: middle'>UNOFFICIAL</text>
+  <text x='53%' y='305' style='text-anchor: middle'>DRAFT</text>
+ </g>
+</svg>
diff --git a/static/images/UD-watermark.png b/static/images/UD-watermark.png
new file mode 100644
index 0000000000000000000000000000000000000000..17916dba0b09f33887e9992b9e28c998cf9e31de
Binary files /dev/null and b/static/images/UD-watermark.png differ
diff --git a/static/images/UD.png b/static/images/UD.png
new file mode 100644
index 0000000000000000000000000000000000000000..0c1ecc2590e4826a3563aa06137e3d9bf69ece89
Binary files /dev/null and b/static/images/UD.png differ
diff --git a/static/images/W3C-wok.png b/static/images/W3C-wok.png
new file mode 100644
index 0000000000000000000000000000000000000000..c96510438623715a8fa812c9e7173d9d12cacd7d
Binary files /dev/null and b/static/images/W3C-wok.png differ
diff --git a/static/images/W3C-wok.svg b/static/images/W3C-wok.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9feefc57e62f53b669bf10c4081c973421d0306f
--- /dev/null
+++ b/static/images/W3C-wok.svg
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+
+<svg
+   version="1.1"
+   id="Layer_1"
+   viewBox="0 0 154 113"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:svg="http://www.w3.org/2000/svg">
+  <defs
+     id="defs25" />
+  <rect
+     x="0"
+     y="0"
+     width="154"
+     height="113"
+     fill="red"
+     id="rect4" />
+  <g
+     transform="translate(0,12.5)"
+     id="g18">
+    <g
+       id="g16">
+      <path
+         fill="#ffffff"
+         d="M 100.383,38.538 C 97.871,34.401 94.166,31.544 89.276,29.975 l 13.933,-24 V 1.366 H 76.076 66.492 66.2 L 52.548,47.757 38.905,1.366 H 29.019 L 33.539,16.519 24.312,47.757 10.665,1.366 H 0.782 L 23.37,77.59 h 0.942 L 38.429,30.354 52.548,77.59 h 0.94 L 72.829,12.325 73.738,10.778 H 89.655 L 76.467,33.545 v 4.518 h 3.772 c 4.836,0 8.373,1.475 10.636,4.426 1.945,2.506 2.915,6.051 2.915,10.631 0,4.143 -0.907,7.688 -2.726,10.635 -1.819,2.951 -4.047,4.42 -6.683,4.42 -2.506,0 -4.692,-0.829 -6.547,-2.491 -1.847,-1.659 -3.344,-3.935 -4.47,-6.815 l -7.722,3.193 c 1.566,4.77 3.986,8.547 7.247,11.34 3.259,2.788 7.097,4.188 11.491,4.188 5.828,0 10.581,-2.354 14.252,-7.057 3.674,-4.704 5.517,-10.512 5.517,-17.413 0.001,-5.583 -1.26,-10.447 -3.766,-14.582 z"
+         id="path6" />
+      <g
+         id="g14">
+        <path
+           fill="#ffffff"
+           d="m 142.451,0.939 1.606,9.73 -5.677,10.841 c 0,0 -2.176,-4.603 -5.783,-7.148 -3.045,-2.145 -5.034,-2.611 -8.131,-1.969 -3.987,0.822 -8.507,5.582 -10.477,11.454 -2.363,7.028 -2.383,10.427 -2.462,13.552 -0.133,5.002 0.655,7.963 0.655,7.963 0,0 -3.438,-6.36 -3.407,-15.682 0.028,-6.652 1.069,-12.689 4.141,-18.643 2.713,-5.229 6.742,-8.372 10.316,-8.744 3.692,-0.384 6.616,1.398 8.875,3.325 2.366,2.021 4.756,6.446 4.756,6.446 z"
+           id="path8" />
+        <path
+           fill="#ffffff"
+           d="m 143.151,55.996 c 0,0 -2.511,4.474 -4.068,6.201 -1.563,1.722 -4.351,4.765 -7.799,6.281 -3.454,1.517 -5.258,1.806 -8.671,1.479 -3.404,-0.327 -6.571,-2.296 -7.681,-3.121 -1.106,-0.822 -3.936,-3.248 -5.537,-5.5 -1.604,-2.262 -4.109,-6.777 -4.109,-6.777 0,0 1.392,4.527 2.27,6.447 0.502,1.104 2.048,4.482 4.239,7.427 2.038,2.754 6.011,7.477 12.052,8.544 6.041,1.064 10.186,-1.644 11.211,-2.298 1.025,-0.656 3.19,-2.472 4.558,-3.936 1.431,-1.526 2.782,-3.477 3.536,-4.645 0.552,-0.856 1.439,-2.59 1.439,-2.59 z"
+           id="path10" />
+        <path
+           fill-rule="evenodd"
+           clip-rule="evenodd"
+           fill="#ffffff"
+           d="m 149.896,2.222 c 0.654,0 0.957,0.184 0.957,0.639 0,0.436 -0.303,0.593 -0.938,0.593 h -0.593 V 2.222 Z m 0.126,-0.454 h -1.401 v 3.72 h 0.7 V 3.901 h 0.691 l 0.758,1.586 h 0.781 L 150.723,3.79 c 0.537,-0.108 0.848,-0.473 0.848,-1.002 0,-0.675 -0.51,-1.02 -1.549,-1.02 z m 2.759,1.95 c 0,0.758 -0.291,1.46 -0.828,1.978 -0.563,0.548 -1.265,0.839 -2.039,0.839 -0.729,0 -1.447,-0.3 -1.986,-0.847 -0.537,-0.548 -0.836,-1.249 -0.836,-1.996 0,-0.749 0.311,-1.478 0.865,-2.042 0.52,-0.53 1.22,-0.813 1.983,-0.813 0.783,0 1.485,0.292 2.032,0.849 0.528,0.528 0.809,1.24 0.809,2.032 z m -2.849,-3.307 c -0.885,0 -1.676,0.316 -2.276,0.929 -0.636,0.649 -0.992,1.486 -0.992,2.352 0,0.867 0.337,1.667 0.956,2.295 0.628,0.639 1.44,0.983 2.312,0.983 0.856,0 1.684,-0.344 2.331,-0.973 0.62,-0.601 0.956,-1.403 0.956,-2.305 0,-0.876 -0.347,-1.697 -0.948,-2.307 -0.626,-0.639 -1.446,-0.974 -2.339,-0.974 z"
+           id="path12" />
+      </g>
+    </g>
+  </g>
+  <g
+     aria-label="Editor's Draft"
+     id="text20"
+     style="fill:#ffffff">
+    <path
+       d="M -3.5371094,91.536133 H 8.0644531 v 2.607422 h -8.67187497 v 6.240235 H 7.7714844 v 2.62207 h -8.37890627 v 6.35742 H 8.3427734 v 2.60742 H -3.5371094 Z"
+       style="fill:#ffffff"
+       id="path27" />
+    <path
+       d="m 20.09082,91.536133 h 2.680664 V 112 h -5.698242 q -2.988281,0 -4.77539,-1.88965 -1.772461,-1.88965 -1.772461,-5.06836 0,-2.97363 1.860351,-4.89258 1.875,-1.918941 4.775391,-1.918941 1.347656,0 2.929687,0.571289 z m 0,18.178707 v -8.54004 q -1.245117,-0.62988 -2.519531,-0.62988 -1.992187,0 -3.178711,1.30371 -1.171875,1.30371 -1.171875,3.51563 0,2.08008 1.025391,3.20801 0.615234,0.67382 1.303711,0.9082 0.688476,0.23437 2.475586,0.23437 z"
+       style="fill:#ffffff"
+       id="path29" />
+    <path
+       d="m 27.766602,92.854492 q 0.659179,0 1.127929,0.454102 0.46875,0.454101 0.46875,1.113281 0,0.644531 -0.46875,1.113281 -0.46875,0.46875 -1.127929,0.46875 -0.615235,0 -1.083985,-0.46875 -0.46875,-0.483398 -0.46875,-1.113281 0,-0.615234 0.46875,-1.083984 0.46875,-0.483399 1.083985,-0.483399 z m -1.31836,5.668945 h 2.666016 V 112 h -2.666016 z"
+       style="fill:#ffffff"
+       id="path31" />
+    <path
+       d="m 31.0625,100.66211 5.009766,-4.921876 v 2.783203 h 4.262695 v 2.402343 h -4.262695 v 6.60645 q 0,2.31445 1.918945,2.31445 1.435547,0 3.032226,-0.9668 v 2.49024 q -1.538085,0.86426 -3.354492,0.86426 -1.831054,0 -3.046875,-1.06934 -0.380859,-0.32227 -0.629883,-0.71777 -0.249023,-0.41016 -0.424804,-1.05469 -0.161133,-0.65918 -0.161133,-2.49024 v -5.97656 H 31.0625 Z"
+       style="fill:#ffffff"
+       id="path33" />
+    <path
+       d="m 49.416992,98.494141 q 3.076172,0 5.112305,1.992189 2.036133,1.97754 2.036133,4.98047 0,2.91504 -2.06543,4.84863 -2.06543,1.91895 -5.200195,1.91895 -3.032227,0 -5.06836,-1.94825 -2.036133,-1.96289 -2.036133,-4.89258 0,-2.95898 2.050782,-4.92187 2.065429,-1.977539 5.170898,-1.977539 z m -0.146484,2.402339 q -1.918946,0 -3.149414,1.25977 -1.230469,1.25977 -1.230469,3.20801 0,1.93359 1.259766,3.16406 1.259765,1.21582 3.237304,1.21582 1.962891,0 3.208008,-1.23047 1.259766,-1.24512 1.259766,-3.17871 0,-1.91894 -1.303711,-3.17871 -1.303711,-1.25977 -3.28125,-1.25977 z"
+       style="fill:#ffffff"
+       id="path35" />
+    <path
+       d="m 62.410156,98.523437 v 3.090823 l 0.146485,-0.23438 q 1.933593,-3.120114 3.867187,-3.120114 1.508789,0 3.149414,1.523437 l -1.40625,2.343747 q -1.391601,-1.31836 -2.578125,-1.31836 -1.289062,0 -2.241211,1.23047 -0.9375,1.23047 -0.9375,2.91504 V 112 H 59.729492 V 98.523437 Z"
+       style="fill:#ffffff"
+       id="path37" />
+    <path
+       d="m 73.191406,98.142578 h -1.655273 l -0.65918,-4.02832 v -3.588867 h 3.00293 v 3.588867 z"
+       style="fill:#ffffff"
+       id="path39" />
+    <path
+       d="m 76.414062,111.0332 v -2.87109 q 1.12793,0.79102 2.299805,1.28906 1.186524,0.4834 1.992188,0.4834 0.834961,0 1.435547,-0.41016 0.600585,-0.41015 0.600585,-0.98144 0,-0.58594 -0.395507,-0.9668 -0.38086,-0.39551 -1.669922,-1.12793 -2.578125,-1.43554 -3.383789,-2.44629 -0.791016,-1.02539 -0.791016,-2.22656 0,-1.55273 1.201172,-2.534179 1.21582,-0.981445 3.120117,-0.981445 1.977539,0 4.057617,1.113281 v 2.636723 q -2.373047,-1.43555 -3.881836,-1.43555 -0.776367,0 -1.259765,0.33691 -0.46875,0.32227 -0.46875,0.86426 0,0.46875 0.424804,0.89356 0.439454,0.4248 1.523438,1.02539 l 0.952148,0.54199 q 3.369141,1.9043 3.369141,4.21875 0,1.65527 -1.303711,2.72461 -1.289062,1.05469 -3.325195,1.05469 -1.201172,0 -2.138672,-0.24903 -0.9375,-0.26367 -2.358399,-0.95215 z"
+       style="fill:#ffffff"
+       id="path41" />
+    <path
+       d="M 97.332031,111.9707 V 91.536133 h 6.899419 q 4.1748,0 6.60644,1.259765 2.43164,1.245118 3.86719,3.676758 1.43555,2.431641 1.43555,5.302734 0,2.05078 -0.79102,3.92578 -0.79102,1.875 -2.25586,3.2959 -1.49414,1.46484 -3.47168,2.21191 -1.15723,0.45411 -2.12402,0.61524 -0.9668,0.14648 -3.69141,0.14648 z m 6.591799,-17.827145 h -3.66211 v 15.219725 h 3.75 q 2.19726,0 3.41308,-0.29297 1.21583,-0.30761 2.02149,-0.76172 0.82031,-0.46875 1.49414,-1.14257 2.16797,-2.19727 2.16797,-5.55176 0,-3.295901 -2.22656,-5.375979 -0.82032,-0.776367 -1.88965,-1.274414 -1.05469,-0.498047 -2.00684,-0.65918 -0.95215,-0.161132 -3.06152,-0.161132 z"
+       style="fill:#ffffff"
+       id="path43" />
+    <path
+       d="m 122.29297,98.523437 v 3.090823 l 0.14648,-0.23438 q 1.9336,-3.120114 3.86719,-3.120114 1.50879,0 3.14941,1.523437 l -1.40625,2.343747 q -1.3916,-1.31836 -2.57812,-1.31836 -1.28906,0 -2.24121,1.23047 -0.9375,1.23047 -0.9375,2.91504 V 112 H 119.6123 V 98.523437 Z"
+       style="fill:#ffffff"
+       id="path45" />
+    <path
+       d="m 139.79785,103.89941 v 5.72754 q 0,0.68848 0.46875,0.68848 0.4834,0 1.50879,-0.71777 v 1.62597 q -0.9082,0.58594 -1.46484,0.79102 -0.542,0.21973 -1.14258,0.21973 -1.71387,0 -2.02149,-1.34766 -1.69921,1.31836 -3.61816,1.31836 -1.40625,0 -2.34375,-0.92285 -0.9375,-0.9375 -0.9375,-2.34375 0,-1.27442 0.9082,-2.27051 0.92285,-1.01074 2.60743,-1.59668 l 3.41308,-1.17188 v -0.71777 q 0,-2.43164 -2.43164,-2.43164 -2.18262,0 -4.24805,2.25586 v -2.91504 q 1.55274,-1.831054 4.46778,-1.831054 2.18261,0 3.50097,1.142578 0.43946,0.366211 0.79102,0.981446 0.35156,0.60059 0.43945,1.21582 0.10254,0.60059 0.10254,2.2998 z m -2.62207,5.43457 v -3.99902 l -1.78711,0.68848 q -1.3623,0.54199 -1.93359,1.09863 -0.55664,0.54199 -0.55664,1.36231 0,0.83496 0.52734,1.3623 0.54199,0.52734 1.3916,0.52734 1.27442,0 2.3584,-1.04004 z"
+       style="fill:#ffffff"
+       id="path47" />
+    <path
+       d="m 144.4707,98.523437 v -0.805664 q 0,-3.251953 1.37696,-4.848632 1.3916,-1.59668 3.32519,-1.59668 0.83496,0 1.97754,0.263672 v 2.607422 q -0.64453,-0.234375 -1.23047,-0.234375 -1.56738,0 -2.18262,0.834961 -0.60058,0.834961 -0.60058,2.973632 v 0.805664 h 2.40234 v 2.402343 h -2.40234 V 112 h -2.66602 v -11.07422 h -1.93359 v -2.402343 z"
+       style="fill:#ffffff"
+       id="path49" />
+    <path
+       d="m 149.77344,100.66211 5.00976,-4.921876 v 2.783203 h 4.2627 v 2.402343 h -4.2627 v 6.60645 q 0,2.31445 1.91895,2.31445 1.43555,0 3.03222,-0.9668 v 2.49024 q -1.53808,0.86426 -3.35449,0.86426 -1.83105,0 -3.04687,-1.06934 -0.38086,-0.32227 -0.62989,-0.71777 -0.24902,-0.41016 -0.4248,-1.05469 -0.16113,-0.65918 -0.16113,-2.49024 v -5.97656 h -2.34375 z"
+       style="fill:#ffffff"
+       id="path51" />
+  </g>
+</svg>
diff --git a/static/images/W3C.png b/static/images/W3C.png
new file mode 100644
index 0000000000000000000000000000000000000000..7aaf3927a0b0645d6c95b02ec992bb3f003ff434
Binary files /dev/null and b/static/images/W3C.png differ
diff --git a/static/images/W3C.svg b/static/images/W3C.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7170dcb0f1f2b6bdf96b5f9be105bcf22bce0198
--- /dev/null
+++ b/static/images/W3C.svg
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" version="1.1" id="Layer_1" viewBox="0 0 72 48.000001" width="72" height="48">
+  <metadata id="metadata1654">
+    <rdf:RDF>
+      <cc:Work rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs id="defs1652" />
+  <rect x="0" y="0" width="72" height="48" fill="#1a5e9a" id="rect993" style="stroke-width:0.467575;fill:#005a9c" />
+  <path fill="#005a9c" d="m 2.032453,8.005453 9.53125,32.169922 h 0.396485 l 5.957031,-19.935547 5.958984,19.935547 h 0.396485 l 7.142578,-24.105469 c 1.364136,-4.603602 0.687308,-4.09375 4.757812,-4.09375 H 39.5305 l -6.636719,11.519532 h 2.664063 c 1.721607,0 3.534281,0.621234 4.488281,1.865234 0.133648,0.172602 0.253747,0.360478 0.365234,0.55664 0.02583,0.04519 0.04955,0.09224 0.07422,0.138672 0.104919,0.198597 0.202906,0.404193 0.28711,0.625 0.334699,0.878194 0.503906,1.933265 0.503906,3.167969 0,1.748 -0.384344,3.243281 -1.152344,4.488281 -0.208483,0.337699 -0.430231,0.625068 -0.664062,0.871094 -0.149564,0.157361 -0.305105,0.293883 -0.464844,0.414063 -0.01343,0.01005 -0.02751,0.01951 -0.04102,0.0293 -0.16287,0.11871 -0.328479,0.220536 -0.501953,0.300781 -0.158112,0.07314 -0.323214,0.125 -0.490234,0.166015 -0.04266,0.01039 -0.08568,0.01904 -0.128907,0.02734 -0.171803,0.03328 -0.346243,0.05664 -0.527343,0.05664 -0.0081,0 -0.01537,-0.0019 -0.02344,-0.002 -0.0081,-4.1e-5 -0.01539,-0.0019 -0.02344,-0.002 -0.0041,-3.9e-5 -0.0078,-0.0015 -0.01172,-0.002 -0.0094,-1.18e-4 -0.01799,-0.0018 -0.02734,-0.002 -0.238184,-0.0043 -0.471291,-0.0224 -0.695312,-0.0625 -0.0013,-2.26e-4 -0.0027,2.27e-4 -0.0039,0 -0.06129,-0.01103 -0.117505,-0.03511 -0.177734,-0.04883 -0.01254,-0.0028 -0.02493,-0.0059 -0.03711,-0.0098 -0.01528,-0.0037 -0.02971,-0.0098 -0.04492,-0.01367 -0.152838,-0.03546 -0.306311,-0.06965 -0.451172,-0.125 -0.228292,-0.08723 -0.447099,-0.195603 -0.658203,-0.326172 C 34.94049,35.478399 34.737935,35.326101 34.544172,35.151938 34.12993,34.701856 33.817992,34.190231 33.487531,33.691 h -4.054687 c 0.274888,0.816985 0.616402,1.555996 1.009765,2.234375 l -0.01172,0.02148 c 0.04254,0.07684 0.09949,0.148778 0.146484,0.22461 0.280031,0.454876 0.581602,0.886262 0.917969,1.27539 0.299571,0.346562 0.620593,0.666438 0.964844,0.960938 0.171266,0.146622 0.346692,0.28372 0.52539,0.412109 0,0 0.002,0.002 0.002,0.002 0.177989,0.127783 0.35957,0.245774 0.544922,0.355469 0.115046,0.06809 0.233683,0.126384 0.351563,0.1875 0.01577,0.0082 0.03106,0.01734 0.04687,0.02539 0.05701,0.03134 0.113495,0.06405 0.171875,0.0918 0.0018,8.68e-4 0.004,0.0011 0.0059,0.002 0.191896,0.09099 0.386651,0.17313 0.585937,0.246093 0.0027,10e-4 0.0051,0.0029 0.0078,0.0039 0,0 0.002,0 0.002,0 0.19779,0.07217 0.398564,0.134947 0.603516,0.189453 0.004,0.0011 0.0077,0.0029 0.01172,0.0039 0,0 0.002,0 0.002,0 0.20397,0.05382 0.412003,0.09842 0.623046,0.134766 0.0051,8.82e-4 0.01049,0.0011 0.01563,0.002 0.188465,0.03187 0.380106,0.05416 0.574218,0.07227 0.0046,4.32e-4 0.009,0.0015 0.01367,0.002 0.0071,0.0014 0.01417,0.0032 0.02148,0.0039 0.01093,0.0019 0.02197,0.0029 0.0332,0.0039 0,0 0.002,0 0.002,0 0.0053,4.46e-4 0.01031,0.0015 0.01563,0.002 0,0 0.002,0 0.002,0 0.116936,0.0096 0.238074,0.0091 0.357422,0.01367 0.02479,9.55e-4 0.04934,0.0032 0.07422,0.0039 0.0156,8.44e-4 0.03113,0.0016 0.04687,0.002 0.06026,0.0036 0.120272,0.0077 0.181641,0.0078 0.0079,2.2e-5 0.0155,0 0.02344,0 0.178244,0 0.34802,-0.01694 0.521484,-0.02734 v -0.0098 c 0.186606,-0.01341 0.378263,-0.0155 0.560547,-0.03906 0.02559,-0.0035 0.05069,-0.0079 0.07617,-0.01172 0.342257,-0.04769 0.6738,-0.119812 0.996094,-0.210937 1.50249,-0.424817 2.793149,-1.310157 3.861328,-2.679688 1.549,-1.986 2.324218,-4.434656 2.324218,-7.347656 0,-2.356 -0.530843,-4.407297 -1.589843,-6.154297 -0.804245,-1.326738 -1.898881,-2.339405 -3.283203,-3.041015 -0.04289,-0.02175 -0.08941,-0.03939 -0.132813,-0.06055 -0.178828,-0.087 -0.358606,-0.17317 -0.546875,-0.25 -0.233487,-0.09575 -0.473854,-0.183791 -0.722656,-0.263672 2.324763,-4.025522 4.690291,-8.027757 6.978515,-12.074219 H 33.805891 c -3.624299,0 -4.352809,0.6176449 -5.611329,4.896485 L 23.876203,27.585531 18.116438,8.005453 h -4.167969 l 0.953125,3.199219 c 0.794004,2.664306 0.723496,3.97222 -0.02148,6.49414 L 11.960188,27.585531 6.2023749,8.005453 Z" id="path1599-5" style="opacity:0.991;fill:#ffffff" />
+  <path id="path6-9" d="m 66.92,8.0059999 c -0.819,0 -1.554,0.295 -2.111,0.861 -0.591,0.6 -0.92,1.3760001 -0.92,2.1780001 0,0.802 0.313,1.545 0.887,2.128 0.583,0.591 1.334,0.912 2.145,0.912 0.793,0 1.562,-0.321 2.161,-0.903 0.574,-0.557 0.886,-1.301 0.886,-2.137 0,-0.811 -0.321,-1.5700001 -0.878,-2.1360001 -0.583,-0.591 -1.343,-0.903 -2.17,-0.903 z M 69.563,11.071 c 0,0.701 -0.271,1.351 -0.769,1.832 -0.523,0.507 -1.173,0.777 -1.891,0.777 -0.675,0 -1.342,-0.278 -1.84,-0.785 -0.498,-0.506 -0.777,-1.157 -0.777,-1.849 0,-0.692 0.287,-1.3680001 0.802,-1.8910001 0.481,-0.49 1.131,-0.751 1.84,-0.751 0.726,0 1.376,0.271 1.883,0.785 0.49,0.489 0.752,1.1480001 0.752,1.8820001 z M 67.005,9.2639999 h -1.3 V 12.709 h 0.65 V 11.24 h 0.642 l 0.701,1.469 h 0.726 l -0.769,-1.571 c 0.498,-0.101 0.785,-0.439 0.785,-0.928 0,-0.6250001 -0.473,-0.9460001 -1.435,-0.9460001 z m -0.119,0.422 c 0.608,0 0.886,0.169 0.886,0.5910001 0,0.405 -0.278,0.549 -0.87,0.549 H 66.353 V 9.6859999 Z" style="opacity:0.991;fill:#ffffff" />
+  <path id="path8-7" d="m 61.807,7.8249999 0.338,2.0535 C 62.460497,11.795283 62.1396,12.589153 61.2875,14.2195 L 60.092,16.507 c 0,0 -0.918,-1.941 -2.443,-3.015 -1.285,-0.905 -2.122,-1.102 -3.431,-0.832 -1.681,0.347 -3.587,2.357 -4.419,4.835 -0.995,2.965 -1.005,4.4 -1.04,5.718 -0.056,2.113 0.277,3.362 0.277,3.362 0,0 -1.451,-2.686 -1.438,-6.62 0.009,-2.808 0.451,-5.354 1.75,-7.867 1.143,-2.2090001 2.842,-3.5350001 4.35,-3.6910001 1.559,-0.161 2.791,0.59 3.743,1.404 C 58.44,10.655 59.451,12.521 59.451,12.521 Z" style="opacity:0.991;fill:#ffffff" />
+  <path id="path10-5" d="m 62.102,31.063 c 0,0 -1.057,1.889 -1.715,2.617 -0.659,0.728 -1.837,2.01 -3.292,2.651 -1.456,0.641 -2.218,0.762 -3.656,0.624 -1.437,-0.138 -2.773,-0.97 -3.241,-1.317 -0.468,-0.347 -1.664,-1.369 -2.339,-2.322 -0.676,-0.954 -1.733,-2.859 -1.733,-2.859 0,0 0.589,1.911 0.958,2.721 0.212,0.466 0.864,1.894 1.79,3.136 0.862,1.159 2.539,3.154 5.086,3.604 2.547,0.451 4.297,-0.693 4.73,-0.971 0.433,-0.277 1.432309,-0.93042 2.010243,-1.548482 0.603066,-0.644938 0.923083,-1.107393 1.325111,-1.920775 0.292057,-0.590889 0.544763,-1.977304 0.381146,-2.829243 z" style="opacity:0.991;fill:#ffffff" />
+</svg>
diff --git a/static/images/WD.gif b/static/images/WD.gif
new file mode 100644
index 0000000000000000000000000000000000000000..982fa70048e7f20c72ae93de996c58b59413dbe8
Binary files /dev/null and b/static/images/WD.gif differ
diff --git a/static/images/WD.png b/static/images/WD.png
new file mode 100644
index 0000000000000000000000000000000000000000..d1dd37c9588bd1c5a15a866e218754d0a42999ce
Binary files /dev/null and b/static/images/WD.png differ
diff --git a/static/images/WD.svg b/static/images/WD.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8a13673a493f991ef68e64c0601c740f37a391db
--- /dev/null
+++ b/static/images/WD.svg
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   version="1.1"
+   width="25"
+   height="380"
+   viewBox="0 0 25 380"
+   enable-background="new 0 0 25 380"
+   id="svg14"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:svg="http://www.w3.org/2000/svg">
+  <defs
+     id="defs18" />
+  <g
+     id="g12">
+    <path
+       id="rect4"
+       style="clip-rule:evenodd;fill:#1a5e9a;fill-rule:evenodd"
+       d="M 0,0 H 25 V 380 H 0 Z" />
+    <g
+       transform="rotate(-90,19,37)"
+       id="g10">
+      <g
+         aria-label="W3C Working Draft"
+         id="text8"
+         style="fill:#ffffff">
+        <path
+           d="m -129.4668,23.357422 h 1.94336 l -5.51758,13.701172 h -0.41992 l -4.46289,-11.09375 -4.50195,11.09375 h -0.41992 l -5.49805,-13.701172 h 1.96289 l 3.75977,9.404297 3.77929,-9.404297 h 1.85547 l 3.79883,9.404297 z"
+           id="path21" />
+        <path
+           d="m -123.88086,29.060547 h 0.11719 q 1.27929,0 1.94336,-0.527344 0.67383,-0.527344 0.67383,-1.533203 0,-0.908203 -0.6543,-1.474609 -0.64453,-0.566407 -1.69922,-0.566407 -1.06445,0 -2.36328,0.664063 v -1.865235 q 1.1914,-0.595703 2.59765,-0.595703 1.88477,0 2.96875,0.986328 1.09375,0.986329 1.09375,2.695313 0,1.035156 -0.41992,1.748047 -0.41992,0.703125 -1.33789,1.210937 0.80078,0.3125 1.17188,0.771485 0.37109,0.449218 0.57617,1.09375 0.20508,0.644531 0.20508,1.367187 0,1.78711 -1.19141,2.958985 -1.19141,1.162109 -3.00781,1.162109 -1.55274,0 -2.99805,-0.751953 v -2.128906 q 1.54297,0.966796 2.99805,0.966796 0.98633,0 1.58203,-0.585937 0.60547,-0.585938 0.60547,-1.552734 0,-0.810547 -0.49805,-1.416016 -0.29297,-0.341797 -0.6543,-0.498047 -0.35156,-0.166016 -1.5332,-0.3125 l -0.17578,-0.01953 z"
+           id="path23" />
+        <path
+           d="m -104.22266,33.835937 v 2.148438 q -2.14843,1.171875 -4.96093,1.171875 -2.28516,0 -3.87696,-0.917969 -1.59179,-0.917969 -2.51953,-2.529297 -0.92773,-1.611328 -0.92773,-3.486328 0,-2.978515 2.11914,-5.009765 2.1289,-2.03125 5.24414,-2.03125 2.14844,0 4.77539,1.123046 v 2.09961 q -2.39258,-1.367188 -4.67774,-1.367188 -2.34375,0 -3.89648,1.484375 -1.54297,1.47461 -1.54297,3.701172 0,2.246094 1.52344,3.691406 1.52344,1.445313 3.89648,1.445313 2.48047,0 4.84375,-1.523438 z"
+           id="path25" />
+        <path
+           d="m -81.380859,23.357422 h 1.943359 l -5.517578,13.701172 H -85.375 l -4.462891,-11.09375 -4.501953,11.09375 h -0.419922 l -5.498044,-13.701172 h 1.962888 l 3.759766,9.404297 3.779297,-9.404297 h 1.855468 l 3.798829,9.404297 z"
+           id="path27" />
+        <path
+           d="m -75.638672,27.996094 q 2.050781,0 3.408203,1.328125 1.357422,1.318359 1.357422,3.320312 0,1.94336 -1.376953,3.232422 -1.376953,1.279297 -3.466797,1.279297 -2.021484,0 -3.378906,-1.298828 -1.357422,-1.308594 -1.357422,-3.261719 0,-1.972656 1.367188,-3.28125 1.376953,-1.318359 3.447265,-1.318359 z m -0.09766,1.601562 q -1.279297,0 -2.099609,0.839844 -0.820313,0.839844 -0.820313,2.138672 0,1.289062 0.839844,2.109375 0.839844,0.810547 2.158203,0.810547 1.308594,0 2.138672,-0.820313 0.839844,-0.830078 0.839844,-2.11914 0,-1.279297 -0.869141,-2.119141 -0.869141,-0.839844 -2.1875,-0.839844 z"
+           id="path29" />
+        <path
+           d="m -66.976562,28.015625 v 2.060547 l 0.09766,-0.15625 q 1.289062,-2.080078 2.578125,-2.080078 1.005859,0 2.099609,1.015625 l -0.9375,1.5625 q -0.927734,-0.878907 -1.71875,-0.878907 -0.859375,0 -1.49414,0.820313 -0.625,0.820312 -0.625,1.943359 V 37 h -1.78711 v -8.984375 z"
+           id="path31" />
+        <path
+           d="m -55.111328,28.015625 h 2.119141 L -56.830078,32.419922 -52.210937,37 h -2.382813 l -4.501953,-4.580078 z m -5.839844,-4.658203 h 1.777344 V 37 h -1.777344 z"
+           id="path33" />
+        <path
+           d="m -50.462891,24.236328 q 0.439454,0 0.751954,0.302734 0.3125,0.302735 0.3125,0.742188 0,0.429687 -0.3125,0.742187 -0.3125,0.3125 -0.751954,0.3125 -0.410156,0 -0.722656,-0.3125 -0.3125,-0.322265 -0.3125,-0.742187 0,-0.410156 0.3125,-0.722656 0.3125,-0.322266 0.722656,-0.322266 z m -0.878906,3.779297 h 1.777344 V 37 h -1.777344 z"
+           id="path35" />
+        <path
+           d="m -45.228516,28.015625 v 1.142578 q 1.191407,-1.318359 2.705079,-1.318359 0.839843,0 1.5625,0.439453 0.722656,0.429687 1.09375,1.191406 0.380859,0.751953 0.380859,2.392578 V 37 h -1.777344 v -5.117188 q 0,-1.376953 -0.419922,-1.96289 -0.419922,-0.595703 -1.40625,-0.595703 -1.259765,0 -2.138672,1.259765 V 37 h -1.816406 v -8.984375 z"
+           id="path37" />
+        <path
+           d="m -37.464844,31.121094 q 0,-1.435547 1.044922,-2.265625 1.054688,-0.839844 2.871094,-0.839844 h 3.701172 v 1.386719 h -1.816406 q 0.527343,0.537109 0.732421,0.976562 0.205079,0.439453 0.205079,1.00586 0,0.703125 -0.400391,1.386718 -0.400391,0.673828 -1.035156,1.035157 -0.625,0.361328 -2.060547,0.576171 -1.00586,0.146485 -1.00586,0.69336 0,0.3125 0.371094,0.517578 0.38086,0.195312 1.367188,0.410156 1.65039,0.361328 2.11914,0.566406 0.478516,0.205079 0.859375,0.585938 0.644532,0.644531 0.644532,1.621094 0,1.279297 -1.142579,2.041015 -1.132812,0.761719 -3.037109,0.761719 -1.923828,0 -3.076172,-0.771484 -1.142578,-0.761719 -1.142578,-2.050782 0,-1.826171 2.255859,-2.353515 -0.898437,-0.576172 -0.898437,-1.142578 0,-0.429688 0.380859,-0.78125 0.390625,-0.351563 1.044922,-0.517578 -1.982422,-0.878907 -1.982422,-2.841797 z m 3.339844,-1.5625 q -0.722656,0 -1.230469,0.488281 -0.507812,0.488281 -0.507812,1.171875 0,0.693359 0.498047,1.152344 0.498047,0.449218 1.259765,0.449218 0.751953,0 1.25,-0.458984 0.507813,-0.46875 0.507813,-1.162109 0,-0.703125 -0.507813,-1.171875 -0.507812,-0.46875 -1.269531,-0.46875 z m -0.419922,7.861328 q -0.898437,0 -1.474609,0.380859 -0.566406,0.38086 -0.566406,0.976563 0,1.386718 2.5,1.386718 1.18164,0 1.826171,-0.351562 0.654297,-0.341797 0.654297,-0.976563 0,-0.625 -0.820312,-1.02539 -0.820313,-0.390625 -2.119141,-0.390625 z"
+           id="path39" />
+        <path
+           d="M -22.640625,36.980469 V 23.357422 h 4.599609 q 2.783203,0 4.404297,0.839844 1.621094,0.830078 2.578125,2.451171 0.957031,1.621094 0.957031,3.535157 0,1.367187 -0.527343,2.617187 -0.527344,1.25 -1.503907,2.197266 -0.996093,0.976562 -2.314453,1.474609 -0.771484,0.302735 -1.416015,0.410156 -0.644531,0.09766 -2.460938,0.09766 z m 4.394531,-11.884766 H -20.6875 v 10.146484 h 2.5 q 1.464844,0 2.275391,-0.195312 0.810546,-0.205078 1.347656,-0.507813 0.546875,-0.3125 0.996094,-0.761718 1.445312,-1.464844 1.445312,-3.701172 0,-2.197266 -1.484375,-3.583985 -0.546875,-0.517578 -1.259766,-0.849609 -0.703125,-0.332031 -1.33789,-0.439453 -0.634766,-0.107422 -2.041016,-0.107422 z"
+           id="path41" />
+        <path
+           d="m -6,28.015625 v 2.060547 l 0.097656,-0.15625 q 1.2890625,-2.080078 2.5781249,-2.080078 1.0058594,0 2.0996094,1.015625 l -0.9375,1.5625 q -0.9277344,-0.878907 -1.71875,-0.878907 -0.859375,0 -1.4941406,0.820313 Q -6,31.179687 -6,32.302734 V 37 h -1.7871094 v -8.984375 z"
+           id="path43" />
+        <path
+           d="m 5.6699219,31.599609 v 3.81836 q 0,0.458984 0.3125,0.458984 0.3222656,0 1.0058593,-0.478516 v 1.083985 Q 6.3828125,36.873047 6.0117187,37.009766 5.6503906,37.15625 5.25,37.15625 q -1.1425781,0 -1.3476562,-0.898438 -1.1328125,0.878907 -2.4121094,0.878907 -0.93750003,0 -1.56250002,-0.615235 -0.625,-0.625 -0.625,-1.5625 0,-0.849609 0.60546875,-1.513672 Q 0.5234375,32.771484 1.6464844,32.380859 L 3.921875,31.599609 V 31.121094 Q 3.921875,29.5 2.3007813,29.5 0.84570313,29.5 -0.53125,31.003906 v -1.943359 q 1.03515625,-1.220703 2.9785156,-1.220703 1.4550782,0 2.3339844,0.761718 0.2929687,0.244141 0.5273437,0.654297 0.234375,0.400391 0.2929688,0.810547 0.068359,0.400391 0.068359,1.533203 z M 3.921875,35.222656 v -2.666015 l -1.1914062,0.458984 q -0.9082032,0.361328 -1.2890626,0.732422 -0.3710937,0.361328 -0.3710937,0.908203 0,0.556641 0.3515625,0.908203 0.3613281,0.351563 0.9277344,0.351563 0.8496094,0 1.5722656,-0.69336 z"
+           id="path45" />
+        <path
+           d="m 8.7851563,28.015625 v -0.537109 q 0,-2.167969 0.9179687,-3.232422 0.927734,-1.064453 2.216797,-1.064453 0.556641,0 1.318359,0.175781 v 1.738281 q -0.429687,-0.15625 -0.820312,-0.15625 -1.044922,0 -1.455078,0.556641 -0.400391,0.55664 -0.400391,1.982422 v 0.537109 h 1.601563 v 1.601562 H 10.5625 V 37 H 8.7851563 V 29.617187 H 7.4960937 v -1.601562 z"
+           id="path47" />
+        <path
+           d="m 12.320313,29.441406 3.339843,-3.28125 v 1.855469 h 2.841797 v 1.601562 h -2.841797 v 4.404297 q 0,1.542969 1.279297,1.542969 0.957031,0 2.021484,-0.644531 v 1.660156 q -1.02539,0.576172 -2.236328,0.576172 -1.220703,0 -2.03125,-0.712891 -0.253906,-0.214843 -0.419921,-0.478515 -0.166016,-0.273438 -0.283204,-0.703125 -0.107421,-0.439453 -0.107421,-1.660157 v -3.984375 h -1.5625 z"
+           id="path49" />
+      </g>
+    </g>
+  </g>
+</svg>