a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
caption,
center,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
u,
ul,
var,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    vertical-align: baseline
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block
}

ol,
ul {
    list-style: none
}

blockquote,
q {
    quotes: none
}

blockquote:after,
blockquote:before,
q:after,
q:before {
    content: '';
    content: none
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

button {
    display: block;
    margin: 0;
    padding: 0;
    border: none;
    background: 0 0;
    cursor: pointer;
    text-align: left;
    font: inherit;
    color: inherit
}

a {
    color: inherit;
    text-decoration: none
}

*,
:after,
:before {
    box-sizing: border-box;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased
}

body,
html {
    height: 100%
}

:root {
    --color-white: hsl(0deg 0% 100%);
    --color-off-white: hsl(210deg 20% 98%);
    --color-offblack: hsl(24deg 5% 6%);
    --color-gray-100: hsl(200deg 12% 97%);
    --color-gray-200: hsl(200deg 12% 95%);
    --color-gray-300: hsl(200deg 8% 90%);
    --color-gray-500: hsl(200deg 4% 60%);
    --color-gray-700: hsl(200deg 5% 40%);
    --color-gray-800: hsl(200deg 5% 25%);
    --color-gray-900: hsl(200deg 6% 16%);
    --color-primary: hsl(224deg 30% 40%);
    --color-secondary: hsl(180deg 35% 37%);
    --color-urgent: hsl(0deg 55% 54%);
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-bold: 600;
    --font-family-sans-serif: system-ui, sans-serif;
    --font-family-serif: 'Iowan Old Style', 'Palatino Linotype', 'URW Palladio L', P052, Georgia, serif;
    --font-family-monospace: ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, 'DejaVu Sans Mono', monospace;
    --prose-max-width: 550px;
}

body {
    background-color: var(--color-off-white);
    position: relative;
    max-width: min(100%, calc(1400px + 32px * 2));
    margin-left: auto;
    margin-right: auto;
    padding-left: 32px;
    padding-right: 32px;
    min-height: 100%;
    font-family: var(--font-family-sans-serif);
    font-size: 1rem;
    color: var(--color-offblack);
    word-wrap: break-word;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%
}

body p {
    line-height: 1.6
}

@media (max-width:650px) {
    body {
        padding-left: 16px;
        padding-right: 16px
    }
}

main, article {
    display: grid;
    grid-template-columns: min(100%, var(--prose-max-width)) 1fr;
    padding-top: 36px;
    padding-bottom: 36px
}

main>*, article>* {
    grid-column: 1
}

.full-bleed {
    grid-column: 1/-1
}

h1,
h2,
h3 {
    margin-top: 24px;
    margin-bottom: 16px;
    font-weight: var(--font-weight-bold);
    line-height: 1.25;
    font-family: var(--font-family-serif)
}

h1 {
    font-size: 2rem;
    margin-bottom: 24px;
    padding-bottom: .3em;
    border-bottom: 1px solid #d7dde3;
    font-weight: 650
}

h2 {
    font-size: 1.5rem
}

h3 {
    font-size: 1.25rem
}

p {
    margin-top: 0;
    margin-bottom: 1rem
}

a {
    background-color: transparent;
    color: #0969da;
}

article a {
    text-decoration: underline;
    text-underline-offset: 0.2rem;
}

a:hover {
    text-decoration: underline
}

code,
pre {
    font-family: var(--font-family-monospace)
}

pre {
    font-size: calc(1rem - .15rem);
    padding: 16px;
    overflow: auto;
    line-height: 1.5;
    background-color: var(--color-gray-200);
    border-radius: 4px;
    margin-bottom: 1rem
}

p code {
    font-size: calc(1rem - .15rem);
    padding: .2em .4em;
    white-space: break-spaces;
    background-color: var(--color-gray-200);
    border-radius: 6px
}

img {
    max-width: 100%;
    box-sizing: content-box;
}

figure {
    border-style: none;
    margin-top: 32px;
    margin-bottom: 32px;
}

figcaption {
    max-width: var(--prose-max-width);
    font-size: 0.9rem;
    text-align: center;
    margin-top: 8px;
}

hr {
    border: 0;
    border-bottom: 1px solid #d7dde3;
    height: .25rem;
    margin: 0;
    margin-top: 24px;
    margin-bottom: calc(22px + 1rem);
    background-color: var(--color-gray-300)
}

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

.endnote p {
    text-transform: uppercase;
    font-size: .9rem;
    font-weight: var(--font-weight-medium);
    color: var(--color-gray-700)
}

.appendix {
    font-size: .9rem
}

.appendix pre {
    font-size: calc(1rem - .25rem)
}

ol,
ul {
    list-style-position: inside;
    list-style-type: circle;
    padding-left: 16px
}

ol li {
    margin-bottom: 8px;
}


ol {
    list-style-position: outside;
    list-style: decimal;
    padding-left: 22px;
}

blockquote {
    font-size: 0.92rem;
    padding-left: 1em;
    color: var(--color-gray-800);
    border-left: .25em solid #d0d7de;
    margin-bottom: 1rem;
}

blockquote p:last-of-type {
    margin-bottom: 0;
}


/**
Code
*/

code span.al {
    color: red;
    font-weight: 700
}

code span.an {
    color: #60a0b0;
    font-weight: 700;
    font-style: italic
}

code span.at {
    color: #7d9029
}

code span.bn {
    color: #40a070
}

code span.cf {
    color: #007020;
    font-weight: 700
}

code span.ch {
    color: #4070a0
}

code span.cn {
    color: #800
}

code span.co {
    color: #60a0b0;
    font-style: italic
}

code span.cv {
    color: #60a0b0;
    font-weight: 700;
    font-style: italic
}

code span.do {
    color: #ba2121;
    font-style: italic
}

code span.dt {
    color: #902000
}

code span.dv {
    color: #40a070
}

code span.er {
    color: red;
    font-weight: 700
}

code span.fl {
    color: #40a070
}

code span.fu {
    color: #06287e
}

code span.in {
    color: #60a0b0;
    font-weight: 700;
    font-style: italic
}

code span.kw {
    color: #007020;
    font-weight: 700
}

code span.op {
    color: #666
}

code span.ot {
    color: #007020
}

code span.pp {
    color: #bc7a00
}

code span.sc {
    color: #4070a0
}

code span.ss {
    color: #b68
}

code span.st {
    color: #4070a0
}

code span.va {
    color: #19177c
}

code span.vs {
    color: #4070a0
}

code span.wa {
    color: #60a0b0;
    font-weight: 700;
    font-style: italic
}
