body {
	margin: 0;
	font-family: Arial, sans-serif;
	background-color: #fff;
	line-height: 1.3;
	text-align: center;
	color: #222;
}
pre,
code {
	font-family: Menlo, monospace;
	font-size: 0.875rem;
}
pre {
	line-height: 1.4;
	overflow-x: auto;
}
pre .comment {
	color: #006600;
}
pre .highlight,
pre .highlight-comment,
pre .selection-highlight,
pre .selection-highlight-comment {
	background: #FFFF00;
}
pre .selection,
pre .selection-comment {
	background: #FF9632;
}
pre .ln {
	color: #999;
	background: #efefef;
}
.ln {
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;

	/* Ensure 8 characters in the document - which due to floating
   * point rendering issues, might have a width of less than 1 each - are 8
   * characters wide, so a tab in the 9th position indents properly. See
   * https://github.com/webcompat/web-bugs/issues/17530#issuecomment-402675091
   * for more information. */
	display: inline-block;
	width: 8ch;
}

a,
.exampleHeading .text,
.expandAll {
	color: #375EAB;
	text-decoration: none;
}
a:hover,
.exampleHeading .text:hover,
.expandAll:hover {
	text-decoration: underline;
}
.article a {
	text-decoration: underline;
}
.article .title a {
	text-decoration: none;
}

.permalink {
	display: none;
}
:hover > .permalink {
	display: inline;
}

p, li {
	max-width: 50rem;
	word-wrap: break-word;
}
p,
pre,
ul,
ol {
	margin: 1.25rem;
}
pre {
	background: #EFEFEF;
	padding: 0.625rem;
	border-radius: 0.3125rem;
}

h1,
h2,
h3,
h4,
.rootHeading {
	margin: 1.25rem 0 1.25rem;
	padding: 0;
	color: #375EAB;
	font-weight: bold;
}
h1 {
	font-size: 1.75rem;
	line-height: 1;
}
h1 .text-muted {
	color:#777;
}
h2 {
	font-size: 1.25rem;
	background: #E0EBF5;
	padding: 0.5rem;
	line-height: 1.25;
	font-weight: normal;
	overflow: auto;
	overflow-wrap: break-word;
}
h2 a {
	font-weight: bold;
}
h3 {
	font-size: 1.25rem;
	line-height: 1.25;
	overflow: auto;
	overflow-wrap: break-word;
}
h3,
h4 {
	margin: 1.25rem 0.3125rem;
}
h4 {
	font-size: 1rem;
}
.rootHeading {
	font-size: 1.25rem;
	margin: 0;
}

h2 > span,
h3 > span {
	float: right;
	margin: 0 25px 0 0;
	font-weight: normal;
	color: #5279C7;
}

dl {
	margin: 1.25rem;
}
dd {
	margin: 0 0 0 1.25rem;
}
dl,
dd {
	font-size: 0.875rem;
}
div#nav table td {
	vertical-align: top;
}

#pkg-index h3 {
	font-size: 1rem;
}
.pkg-dir {
	padding: 0 0.625rem;
}
.pkg-dir table {
	border-collapse: collapse;
	border-spacing: 0;
}
.pkg-name {
	padding-right: 0.625rem;
}
.alert {
	color: #AA0000;
}

.top-heading {
	float: left;
	padding: 1.313rem 0;
	font-size: 1.25rem;
	font-weight: normal;
}
.top-heading a {
	color: #222;
	text-decoration: none;
}

#pkg-examples h3 {
	float: left;
}

#pkg-examples dl {
	clear: both;
}

.expandAll {
	cursor: pointer;
	float: left;
	margin: 1.25rem 0;
}

div#topbar {
	background: #E0EBF5;
	height: 4rem;
	overflow: hidden;
}

div#page {
	width: 100%;
}
div#page > .container,
div#topbar > .container {
	text-align: left;
	margin-left: auto;
	margin-right: auto;
	padding: 0 1.25rem;
}
div#topbar > .container,
div#page > .container {
	max-width: 59.38rem;
}
div#page.wide > .container,
div#topbar.wide > .container {
	max-width: none;
}
div#plusone {
	float: right;
	clear: right;
	margin-top: 0.3125rem;
}

div#footer {
	text-align: center;
	color: #666;
	font-size: 0.875rem;
	margin: 2.5rem 0;
}

div#menu > a,
input#search,
div#learn .buttons a,
div.play .buttons a,
div#blog .read a,
#menu-button {
	padding: 0.625rem;

	text-decoration: none;
	font-size: 1rem;
	border-radius: 0.3125rem;
}
div#playground .buttons a,
div#menu > a,
input#search,
#menu-button {
	border: 0.0625rem solid #375EAB;
}
div#playground .buttons a,
div#menu > a,
#menu-button {
	color: white;
	background: #375EAB;
}
#playgroundButton.active {
	background: white;
	color: #375EAB;
}
a#start,
div#learn .buttons a,
div.play .buttons a,
div#blog .read a {
	color: #222;
	border: 0.0625rem solid #375EAB;
	background: #E0EBF5;
}
.download {
	width: 9.375rem;
}

div#menu {
	text-align: right;
	padding: 0.625rem;
	white-space: nowrap;
	max-height: 0;
	-moz-transition: max-height .25s linear;
	transition: max-height .25s linear;
	width: 100%;
}
div#menu.menu-visible {
	max-height: 31.25rem;
}
div#menu > a,
#menu-button {
	margin: 0.625rem 0.125rem;
	padding: 0.625rem;
}
::-webkit-input-placeholder {
	color: #7f7f7f;
	opacity: 1;
}
::placeholder {
	color: #7f7f7f;
	opacity: 1;
}
#menu .search-box {
	display: inline-flex;
	width: 8.75rem;
}
input#search {
	background: white;
	color: #222;
	box-sizing: border-box;
	-webkit-appearance: none;
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	border-right: 0;
	margin-right: 0;
	flex-grow: 1;
	max-width: 100%;
	min-width: 5.625rem;
}
input#search:-moz-ui-invalid {
	box-shadow: unset;
}
input#search + button {
	display: inline;
	font-size: 1em;
	background-color: #375EAB;
	color: white;
	border: 0.0625rem solid #375EAB;
	border-top-left-radius: 0;
	border-top-right-radius: 0.3125rem;
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0.3125rem;
	margin-left: 0;
	cursor: pointer;
}
input#search + button span {
	display: flex;
}
input#search + button svg {
	fill: white
}

#menu-button {
	display: none;
	position: absolute;
	right: 0.3125rem;
	top: 0;
	margin-right: 0.3125rem;
}
#menu-button-arrow {
	display: inline-block;
}
.vertical-flip {
	transform: rotate(-180deg);
}

div.left {
	float: left;
	clear: left;
	margin-right: 2.5%;
}
div.right {
	float: right;
	clear: right;
	margin-left: 2.5%;
}
div.left,
div.right {
	width: 45%;
}

div#learn,
div#about {
	padding-top: 1.25rem;
}
div#learn h2,
div#about {
	margin: 0;
}
div#about {
	font-size: 1.25rem;
	margin: 0 auto 1.875rem;
}
div#gopher {
	background: url(/doc/gopher/frontpage.png) no-repeat;
	background-position: center top;
	height: 9.688rem;
	max-height: 200px; /* Setting in px to prevent the gopher from blowing up in very high default font-sizes */
}
a#start {
	display: block;
	padding: 0.625rem;

	text-align: center;
	text-decoration: none;
	border-radius: 0.3125rem;
}
a#start .big {
	display: block;
	font-weight: bold;
	font-size: 1.25rem;
}
a#start .desc {
	display: block;
	font-size: 0.875rem;
	font-weight: normal;
	margin-top: 0.3125rem;
}

div#learn .popout {
	float: right;
	display: block;
	cursor: pointer;
	font-size: 0.75rem;
	background: url(/doc/share.png) no-repeat;
	background-position: right center;
	padding: 0.375rem 1.688rem;
}
div#learn pre,
div#learn textarea {
	padding: 0;
	margin: 0;
	font-family: Menlo, monospace;
	font-size: 0.875rem;
}
div#learn .input {
	padding: 0.625rem;
	margin-top: 0.625rem;
	height: 9.375rem;

	border-top-left-radius: 0.3125rem;
	border-top-right-radius: 0.3125rem;
}
div#learn .input textarea {
	width: 100%;
	height: 100%;
	border: none;
	outline: none;
	resize: none;
}
div#learn .output {
	border-top: none !important;

	padding: 0.625rem;
	height: 3.688rem;
	overflow: auto;

	border-bottom-right-radius: 0.3125rem;
	border-bottom-left-radius: 0.3125rem;
}
div#learn .output pre {
	padding: 0;
	border-radius: 0;
}
div#learn .input,
div#learn .input textarea,
div#learn .output,
div#learn .output pre {
	background: #FFFFD8;
}
div#learn .input,
div#learn .output {
	border: 0.0625rem solid #375EAB;
}
div#learn .buttons {
	float: right;
	padding: 1.25rem 0 0.625rem 0;
	text-align: right;
}
div#learn .buttons a {
	height: 1rem;
	margin-left: 0.3125rem;
	padding: 0.625rem;
}
div#learn .toys {
	margin-top: 0.5rem;
}
div#learn .toys select {
	font-size: 0.875rem;
	border: 0.0625rem solid #375EAB;
	margin: 0;
}
div#learn .output .exit {
	display: none;
}

div#video {
	max-width: 100%;
}
div#blog,
div#video {
	margin-top: 2.5rem;
}
div#blog > a,
div#blog > div,
div#blog > h2,
div#video > a,
div#video > div,
div#video > h2 {
	margin-bottom: 0.625rem;
}
div#blog .title,
div#video .title {
	display: block;
	font-size: 1.25rem;
}
div#blog .when {
	color: #666;
	font-size: 0.875rem;
}
div#blog .read {
	text-align: right;
}

@supports (--c: 0) {
	[style*="--aspect-ratio-padding:"] {
		position: relative;
		overflow: hidden;
		padding-top: var(--aspect-ratio-padding);
	}

	[style*="--aspect-ratio-padding:"]>* {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
}

.toggleButton { cursor: pointer; }
.toggle > .collapsed { display: block; }
.toggle > .expanded { display: none; }
.toggleVisible > .collapsed { display: none; }
.toggleVisible > .expanded { display: block; }

table.codetable { margin-left: auto; margin-right: auto; border-style: none; }
table.codetable td { padding-right: 0.625rem; }
hr { border-style: none; border-top: 0.0625rem solid black; }

img.gopher {
	float: right;
	margin-left: 0.625rem;
	margin-bottom: 0.625rem;
	z-index: -1;
}
h2 { clear: right; }

/* example and drop-down playground */
div.play {
	padding: 0 1.25rem 2.5rem 1.25rem;
}
div.play pre,
div.play textarea,
div.play .lines {
	padding: 0;
	margin: 0;
	font-family: Menlo, monospace;
	font-size: 0.875rem;
}
div.play .input {
	padding: 0.625rem;
	margin-top: 0.625rem;

	border-top-left-radius: 0.3125rem;
	border-top-right-radius: 0.3125rem;

	overflow: hidden;
}
div.play .input textarea {
	width: 100%;
	height: 100%;
	border: none;
	outline: none;
	resize: none;

	overflow: hidden;
}
div#playground .input textarea {
	overflow: auto;
	resize: auto;
}
div.play .output {
	border-top: none !important;

	padding: 0.625rem;
	max-height: 12.5rem;
	overflow: auto;

	border-bottom-right-radius: 0.3125rem;
	border-bottom-left-radius: 0.3125rem;
}
div.play .output pre {
	padding: 0;
	border-radius: 0;
}
div.play .input,
div.play .input textarea,
div.play .output,
div.play .output pre {
	background: #FFFFD8;
}
div.play .input,
div.play .output {
	border: 0.0625rem solid #375EAB;
}
div.play .buttons {
	float: right;
	padding: 1.25rem 0 0.625rem 0;
	text-align: right;
}
div.play .buttons a {
	height: 1rem;
	margin-left: 0.3125rem;
	padding: 0.625rem;
	cursor: pointer;
}
.output .stderr {
	color: #933;
}
.output .system {
	color: #999;
}

/* drop-down playground */
#playgroundButton,
div#playground {
	/* start hidden; revealed by javascript */
	display: none;
}
div#playground {
	position: absolute;
	top: 3.938rem;
	right: 1.25rem;
	padding: 0 0.625rem 0.625rem 0.625rem;
	z-index: 1;
	text-align: left;
	background: #E0EBF5;

	border: 0.0625rem solid #B0BBC5;
	border-top: none;

	border-bottom-left-radius: 0.3125rem;
	border-bottom-right-radius: 0.3125rem;
}
div#playground .code {
	width: 32.5rem;
	height: 12.5rem;
}
div#playground .output {
	height: 6.25rem;
}

/* Inline runnable snippets (play.js/initPlayground) */
#content .code pre, #content .playground pre, #content .output pre {
        margin: 0;
        padding: 0;
        background: none;
        border: none;
	outline: 0 solid transparent;
        overflow: auto;
}
#content .playground .number, #content .code .number {
        color: #999;
}
#content .code, #content .playground, #content .output {
	width: auto;
        margin: 1.25rem;
        padding: 0.625rem;
        border-radius: 0.3125rem;
}
#content .code, #content .playground {
        background: #e9e9e9;
}
#content .output {
        background: #202020;
}
#content .output .stdout, #content .output pre {
        color: #e6e6e6;
}
#content .output .stderr, #content .output .error {
        color: rgb(244, 74, 63);
}
#content .output .system, #content .output .exit {
        color: rgb(255, 209, 77)
}
#content .buttons {
        position: relative;
        float: right;
        top: -3.125rem;
        right: 1.875rem;
}
#content .output .buttons {
        top: -3.75rem;
        right: 0;
        height: 0;
}
#content .buttons .kill {
        display: none;
        visibility: hidden;
}
a.error {
	font-weight: bold;
        color: white;
	background-color: darkred;
        border-bottom-left-radius: 0.25rem;
        border-bottom-right-radius: 0.25rem;
        border-top-left-radius: 0.25rem;
        border-top-right-radius: 0.25rem;
        padding: 0.125rem 0.25rem 0.125rem 0.25rem; /* TRBL */
}


#heading-narrow {
	display: none;
}

.downloading {
	background: #F9F9BE;
	padding: 0.625rem;
	text-align: center;
	border-radius: 0.3125rem;
}

@media (max-width: 58.125em) {
	#heading-wide {
		display: none;
	}
	#heading-narrow {
		display: block;
	}
}

@media (max-width: 47.5em) {
	.container .left,
	.container .right {
		width: auto;
		float: none;
	}

	div#about {
		max-width: 31.25rem;
		text-align: center;
	}
}

@media (min-width: 43.75em) and (max-width: 62.5em) {
	div#menu > a {
		margin: 0.3125rem 0;
		font-size: 0.875rem;
	}

	input#search {
		font-size: 0.875rem;
	}
}

@media (max-width: 43.75em) {
	body {
		font-size: 0.9375rem;
	}

	pre,
	code {
		font-size: 0.866rem;
	}

	div#page > .container {
		padding: 0 0.625rem;
	}

	div#topbar {
		height: auto;
		padding: 0.625rem;
	}

	div#topbar > .container {
		padding: 0;
	}

	#heading-wide {
		display: block;
	}
	#heading-narrow {
		display: none;
	}

	.top-heading {
		float: none;
		display: inline-block;
		padding: 0.75rem;
	}

	div#menu {
		padding: 0;
		min-width: 0;
		text-align: left;
		float: left;
	}

	div#menu > a {
		display: block;
		margin-left: 0;
		margin-right: 0;
	}

	#menu .search-box {
		display: flex;
		width: 100%;
	}

	#menu-button {
		display: inline-block;
	}

	p,
	pre,
	ul,
	ol {
		margin: 0.625rem;
	}

	.pkg-synopsis {
		display: none;
	}

	img.gopher {
		display: none;
	}
}

@media (max-width: 30em) {
	#heading-wide {
		display: none;
	}
	#heading-narrow {
		display: block;
	}
}

@media print {
	pre {
		background: #FFF;
		border: 0.0625rem solid #BBB;
		white-space: pre-wrap;
	}
}
