@import url("https://indestructibletype.com/fonts/Jost.css");

body {
	font-family: 'Jost', serif;
	margin: 0 auto;
	max-width: 36em;
	padding: 0 1em;
}


/* Header */

hgroup {
	margin: 1em 0;
}

hgroup h1 {
	font-size: 12pt;
	font-weight: 600;
	margin: 0;
}

hgroup p {
	font-weight: 300;
	margin: 0;
}

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

hgroup a:hover {
	color: #f00;
}

a {
	color: #03f;
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
}

h2 {
	font-size: 24pt;
	font-weight: 600;
	text-transform: uppercase;
	/* font-variant: small-caps; */
	letter-spacing: 0.02em;
}

h2 .number {
	font-size: 12pt;
	font-weight: 400;
	/* text-transform: uppercase; */
}



/* Footer */

footer {
	align-items: end;
	border-top: 1px solid #ccc;
	display: flex;
	margin-top: 2em;
	padding: 1em 0;
}

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

footer a:hover {
	color: #f00;
}

footer a:not(:first-child) {
	margin-left: auto;
}

footer a::before,
footer a .before {
	display: block;
	font-size: 8pt;
	font-weight: 600;
	letter-spacing: 0.125em;
	text-transform: uppercase;
}

footer a[rel="next"]::before {
	content: "Next";
}

footer a[rel="prev"]::before {
	content: "Back";
}

footer a[rel="start"]::before {
	content: "Begin";
}




body > section {
	margin-top: 4em;
}

h3 {
	border-bottom: 2.5pt solid;
}

@media (min-width: 40em) {

	h3,
	h4 {
		display: flex;
	}

	h3 > .number,
	h4 > .number {
		margin-left: -4em;
		margin-right: 1em;
		text-align: right;
		width: 3em;
	}

	h3 > .title,
	h4 > .title {
		flex: 1;
	}
}

/* Figures */

figcaption {
	font-size: 80%;
}

figcaption > .number {
	font-weight: 600;
}

figure img {
	max-width: 100%;
}





dl.classlist dt {
	font-family: monospace;
	font-weight: bold;
}


/* Sample Input */

kbd {
	background-color: #000;
	color: #fff;
	display: block;
	overflow: auto;
	margin: 1em 0;
	padding: 1em;
}

kbd::before {
	content: "$ "
}


/* Sample Output and Code Blocks */

section > code,
section > samp {
	background-color: #f8f8f8;
	border: 1px solid #ddd;
	display: block;
	overflow: auto;
	padding: 1em;
	position: relative;
	tab-size: 4;
}

section > code pre,
section > samp pre {
	counter-increment: line;
	margin: 0;
	tab-size: 4;
}

section > code.numbered {
	counter-reset: line;
	padding: 1em 0;
}

section > code.numbered.resume {
	counter-reset: none;
}

section > code.numbered::before,
section > samp.numbered::before {
	border-left: 1px solid #ddd;
	bottom: 0;
	content: "";
	display: block;
	left: 3em;
	position: absolute;
	top: 0;
	width: 0;
}

section > code pre:empty::after,
section > samp pre:empty::after {
	content: " ";
}

section > code.numbered pre::before,
section > samp.numbered pre::before {
	content: counter(line);
	float: left;
	width: 2em;
	border-right: 1px solid #ddd;
	text-align: right;
	margin-right: 1em;
	padding-right: 1em;
}


/*

		dt {font-weight: bold; float: left; margin-right: 0.33em;}
		dt + dd {font-style: italic;}
		dt + dd code {font-style: normal;}
*/

dt {
	font-weight: bold;
}

dd {
	margin-left: 2em;
}

dd:has(+dt) {
	margin-bottom: 1em;
}


/* Class Listings */

.class-list dt {
	float: left;
	margin-right: 0.33em;
}

.class-list dt + dd {
	font-style: italic;
}

.class-list dt + dd code {
	font-style: normal;
}


/* Properties */

.property-name {
	float: left;
	margin-right: 0.33em;
}

.property-name + .property-type::before {
	content: ": "
}
.property-type {
	font-style: italic;
}


/* Methods */

.method-name {
	float: left;
}

.method-signature {
	margin-left: 0;
}

.method-signature::before {
	content: "(";
}

.method-signature dl,
.method-signature dt,
.method-signature dd {
	display: inline;
	margin: 0;
}

.method-signature dt {
	font-style: normal;
	font-weight: normal;
}

.method-signature dd {
	font-style: italic;
	padding-right: 0;
}

.method-signature dl:has(:nth-child(5)) {
	display: grid;
	grid-template-columns: min-content auto;
	padding-left: 2em;
}

.method-signature dl:has(:nth-child(5)) dt {
	display: block;
	grid-column: 1;
	padding-right: 0.33em;
}
.method-signature dl:has(:nth-child(5)) dd {
	display: block;
	grid-column: 2;
}

.method-signature dt + dd::before {
	content: ": ";
}

.method-signature dd:has( + dt)::after {
	content: ",";
}

.method-signature span {
	font-style: italic;
}

.method-signature span::before {
	content: ") : ";
	font-style: normal;
}


/* Allowable Values */

dl.possible-values {
	display: grid;
	grid-template-columns: min-content auto;
}

dl.possible-values dt {
	font-weight: 600;
	grid-column: 1;
	margin-right: 1em;
}

dl.possible-values dd {
	grid-column: 2;
	margin: 0;
}



/* Updates */

ins {
	color: green;
	font-style: italic;
	text-decoration: none;
}

ins cite {
	font-style: normal;
}

ins p::before {
	background-color: green;
	color: #fff;
	content: "update";
	display: inline-block;
	font-style: normal;
	font-variant: small-caps;
	font-weight: 600;
	margin-right: 0.33em;
	line-height: 0.9;
	padding: 0 0.33em 2px;
}
