<!doctype html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <title>hackdoc:{{ .Title }}</title>
        <style type="text/css">
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

body {
    font-size: 14px;
    line-height: 1.25em;
    background-color: #f0f0f0;
}

html {
    /* Cursed snippet to prevent entire page being shifted left when scrollbar
       appears. */
    overflow-x: hidden;
    margin-right: calc(-1 * (100vw - 100%));
}

.wrapper {
    display: flex;
    flex-direction: row;
    justify-content: center;
    width: 100%;
    font-family: 'Open Sans', sans-serif;
}

.column {
    width: 80em;
    padding: 1rem 0 1rem 0;
}

.page {
    background-color: #fefefe;
    width: 100%;

    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.content {
    order: 1;
    padding: 1rem 1rem 3rem 3rem;
    width: 55em;
}

.sidebar {
    order: 2;
    width: 20em;
    margin-left: 1em;
    padding-top: 1rem;
    padding-bottom: 3rem;
}

.sidebar ul {
    padding: .5em;
    border: 1px solid #ddd;
    margin-top: 1em;
    margin-right: 2em;
    background-color: #f8f8f8;
    font-size: 1em;
}


.header {
    font-size: 1.2em;
    font-family: Consolas, monospace;
    margin-top: 1rem;
    display: inline-flex;
    background-color: #fefefe;
    width: 100%;
}

.headerInner {
    padding: 1em 1em 1em 3em;
}

.header a {
    text-decoration: none;
}
.header a:hover {
    text-decoration: underline;
}

.header span.red {
    color: #b30014;
}

.header span.part {
    color: #666;
    padding-left: 0.2em;
}

.header span.part a {
    color: rgb(27, 106, 203);
}
.header span.part a:visited {
    color: rgb(27, 106, 203);
}

.topbar {
    min-height: 1em;
    padding: 1em 1em 1em 3.5em;
}

.topbar a {
    text-decoration: none;
    color: #333;
    font-size: 1em;
}
.topbar a:hover {
    text-decoration: underline;
}

.topbar span {
    margin-right: 2em;
}

.footer {
    font-size: 0.8em;
    color: #ccc;
    font-weight: 800;
    padding: 0.5em 1em 1em;
    text-align: right;
}

.footer .left {
    float: left;
}

.footer .right {
    float: right;
}

.footer a {
    color: #bbb;
}

.page h1 {
    font-size: 1.9em;
    padding: 1em 0 0 0;
    font-weight: 400;
    color: #000;
}

.page p + h1 {
    padding: 2em 0 0 0;
}

.page h2 {
    font-size: 1.5em;
    padding: 1.6em 0 0 0;
    color: #000;
    font-weight: 400;
}

.page h3 {
    font-size: 1.4em;
    padding: 0.4em 0 0 0;
    color: #333;
}

.page h4 {
    font-size: 1.0em;
    color: #444;
}

.page strong {
    font-weight: 600;
}

.page code {
    font-family: Consolas, monospace;
    background-color: #f8f8f8;
}

.page pre {
    background-color: #f8f8f8;
    border: 1px solid #d8d8d8;
    margin: 2em 1em 2em 1em;
    padding: 0.5em;
    overflow: auto;
    max-width: 60em;
}

.page h1 + p {
    margin-top: 2em;
}

.page h2 + p {
    margin-top: 1em;
}

.page h3 + p {
    margin-top: 1em;
}

.page h4 + p {
    margin-top: 1em;
}


.page p + p {
    margin-top: 1em;
}

.page p {
    line-height: 1.6em;
}

.page :not(li) > ul {
    padding-top: 0.5em;
    line-height: 1.5em;
}

.page ul li {
    padding-left: 1em;
}

.page :not(li) > ul > li::before {
    content: "•";
    color: #333;;
    display: inline-block;
    width: 1em;
    margin-left: -0.5em;
}

.page li > ul > li::before {
    content: "◦";
    color: #333;;
    display: inline-block;
    width: 1em;
    margin-left: -0.5em;
}

.page img {
    max-width: 50em;
    margin: 1em 0 1em 0;
    display: block;
}

.page table {
    border: 1px solid #ddd;
    width: 100%;
    max-width: 100%;
    margin-bottom: 20px;
    margin-top: 20px;
}

.page table th {
    border-bottom-width: 2px;
    border: 1px solid #ddd;
    border: 1px solid #e36372;
    padding: 5px;
    text-align: left;
    vertical-align: bottom;
    background-color: #e36372;
    font-weight: 800;
    color: #fff;
}
.page table td {
    border: 1px solid #e36372;
    padding: 5px;
    vertical-align: top;
    background-color: #ffdbdf;
}

.page table code {
    font-family: Consolas, monospace;
    background-color: #fcedef;
}

.toc {
    padding: .5em;
    border: 1px solid #ddd;
    background-color: #f8f8f8;
    margin: 2em;
    max-width: 30em;
    font-size: 1em;
}

.toc a {
    text-decoration: none;
}

        </style>
    </head>
    <body>
        <div class="wrapper">
            <div class="column">
                <div class="header">
                    <div class="headerInner">
                        {{ template "header" . }}
                    </div>
                </div>
                <div class="topbar">
                    {{ template "topbar" . }}
                </div>

                <div class="page">
                    <div class="sidebar">
                        <h3>Page Info</h3>
                        <ul>
                            {{ range .WebLinks }}
                            <li><a href="{{.LinkURL}}">View {{.Kind}} ({{ .LinkLabel }})</a></li>
                            {{ end }}
                            <li><a href="{{ .HackdocURL }}/devtools/hackdoc">Generated by hackdoc</a></li>
                        </ul>
                    </div>
                    {{ .Rendered }}
                </div>
            </div>
        </div>
    </body>
</html>
