body {
	display: flex;
	flex-direction: row;
	letter-spacing: .2px;
	color: #333;
	margin: 0;
	font-family: 'Fira Sans', sans-serif;
	margin: 0;
	position: relative;
	overflow-wrap: break-word;
	overflow-wrap: anywhere;
	-webkit-font-feature-settings: kern, liga;
	-moz-font-feature-settings: kern, liga;
	font-feature-settings: kern, liga
}

nav {
	box-sizing: border-box;
	background-color: #F0F0F0;
	padding-top: 1em;
	padding-left: 1.5em;
	padding-right: 1.5em;
	padding-bottom: 2em;
	font-size: .875rem;
	width: 260px;
	min-width: 200px;
	overflow-y: auto;
	position: sticky;
	height: 100vh;
	top: 0;
	left: 0
}

.main-container {
	flex-grow: 1;
	height: 100%;
	overflow-y: auto;
	overflow-x: hidden;
	top: 0
}

main {
	box-sizing: border-box;
	margin-left: 2em;
	margin-right: 2em;
	padding-bottom: 2em;
	max-width: 960px;
	flex-grow: 1;
}

img.logo {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.mobile-only {
	display: none;
}

a {
	color: #356da4;
	text-decoration: none;
	background: transparent
}

a.path-link {
	font-family: 'Fira Sans', sans-serif;
}

a:hover,
a:active,
a:focus {
	text-decoration: underline;
}

nav li {
	margin: 0;
	padding: 0.2em;
}

main li {
	margin: 0;
	padding-top: 0.3em;
	padding-bottom: 0.7em;
}

.signature {
	padding: 0.6em;
	margin: -0.6em;
	margin-bottom: 0;
	display: flex;
	flex-direction: row;
	align-items: flex-start;
}

.signature .protocol-bound {
	margin-left: 2em;
	font-size: 0.9rem;
}

.signature .protocol-bound:first-of-type {
	margin-top: 0.4em;
}

.source-link {
	margin-left: 0.5em;
	white-space: nowrap;
}

.signature:target {
	background-color: #faf4e5;
}

.signature h4, .signature h3 {
	margin: 0;
	padding: 0;
	flex-grow: 1;
	font-family: "Source Code Pro", monospace;
	font-size: 1rem;
	font-weight: 600;
	margin-top: 0;
	margin-bottom: 0;
}

.signature h4 {
	font-size: 1rem;
}

.signature .source-link {
	font-size: 1.1rem;
}

.signature h3 {
	font-size: 1.1rem;
}

li .signature .source-link {
	font-size: 1rem;
}

.impl-header {
	margin-left: 0;
	margin-right: 0;
	padding-left: 0;
	padding-right: 0;
	padding-top: 0.5em;
	padding-bottom: 1em;
}

.impl-header.not-first {
	border-top: 1px solid #ddd;
	margin-top: 0.5em;
	padding-top: 1em;
}

p {
	font: 1rem/1.5 "Source Serif 4",NanumBarunGothic,serif;
	margin-block-start: 0.5em;
	margin-block-end: 0.5em;
	color: #000;
}

h1,
h2,
h3,
h4 {
	margin: 20px 0 15px;
	padding-bottom: 6px
}

h2,
.top-doc h3,
.top-doc h4 {
	border-bottom: 1px solid
}

h2,
h3,
h4 {
	border-bottom-color: #DDD
}

.docblock h1,
.docblock h2,
.docblock h3,
.docblock h4,
.docblock h5,
.docblock h6 {
	border-bottom-color: #ddd
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: 500
}

h2 {
	font-size: 1.375rem
}



code,
pre {
	font-family: "Source Code Pro", monospace;
}

pre {
	font-size: 1em;
	background-color: #F5F5F5;
	overflow-y: hidden;
	overflow-x: auto;
	padding: 14px;
}

.panics {
	border-left: 3px solid rgb(230, 74, 74);
	border-right: 3px solid rgb(230, 74, 74);
	background: repeating-linear-gradient(
		135deg,
		rgba(247, 240, 240, 1),
		rgba(247, 240, 240, 1) 10px,
		rgba(245, 245, 245, 1) 10px,
		rgba(245, 245, 245, 1) 20px
		);
	background-attachment:fixed;
}

.panics .playground-link {
	background: repeating-linear-gradient(
		135deg,
		rgba(247, 240, 240, 0.7),
		rgba(247, 240, 240, 0.7) 10px,
		rgba(245, 245, 245, 0.7) 10px,
		rgba(245, 245, 245, 0.7) 20px
		);
	background-attachment: fixed;
}

.dubious {
	border-left: 3px solid rgb(230, 201, 74);
	border-right: 3px solid rgb(230, 201, 74);
	background: repeating-linear-gradient(
		135deg,
		rgba(247, 240, 240, 1),
		rgba(247, 240, 240, 1) 10px,
		rgba(245, 245, 245, 1) 10px,
		rgba(245, 245, 245, 1) 20px
		);
	background-attachment:fixed;
}

.dubious .playground-link {
	background: repeating-linear-gradient(
		135deg,
		rgba(247, 240, 240, 0.7),
		rgba(247, 240, 240, 0.7) 10px,
		rgba(245, 245, 245, 0.7) 10px,
		rgba(245, 245, 245, 0.7) 20px
		);
	background-attachment: fixed;
}

p code {
	background-color: #F5F5F5;
	border-radius: 3px;
	padding: 0 0.125em;
}

pre code {
	padding: 0;
}

.playground-link {
	position: absolute;
	display: block;
	padding: 0.8em;
	font-family: 'Fira Sans', sans-serif;
	background-color: rgba(245, 245, 245, 0.7);
	font-size: 0.9rem;
	right: 0;
	top: 0;
}

.playground-link::before {
	content: "";
	height: 1.1rem;
	width: 1.1rem;
	margin-right: 0.2em;
	display: inline-block;
	background-size: cover;
	vertical-align: bottom;
	background-image: url("/static/logo.svg")
}

.with-playground-link {
	position: relative;
}

.badge {
	font-weight: 400;
	font-size: 0.8rem;
	background-color: #f4f4f4;
	color: #aaa;
	border-radius: 5px;
	padding: 5px;
}


ul {
	list-style-type: none;
	padding: 0;
	margin: 0
}

ul.markdown {
	list-style-type: initial;
	padding: initial;
	margin: initial;
}

#search-results {
	margin-top: 1em;
	margin-bottom: 2em;
	margin-left: 2em;
	margin-right: 2em;
	max-width: 960px;
}

.search-results-table {
	display: table;
	margin-bottom: 0.5em;
	width: 100%;
	border-collapse: collapse;
}

.search-results-table .row {
	display: table-row;
	border-bottom: 1px solid #eee;
}

.search-results-table .row:hover {
	background-color: #eee;
}

.search-results-table .row div {
	display: table-cell;
	padding-top: 0.3em;
	padding-bottom: 0.3em;
}

.item-short-table {
	display: table;
}

.item-short-table .row {
	display: table-row;
}

.item-short-table .row div {
	display: table-cell;
	padding-top: 0.3em;
	padding-bottom: 0.3em;
}

.cell-name {
	padding-right: 1.25rem;
	overflow-wrap: initial;
}

.main-title {
	display: flex;
	gap: 1em;
	flex-wrap: wrap;
	align-items: center;
	margin: 20px 0 15px;
	padding-bottom: 6px
}

.main-title h1 {
	flex-grow: 1;
	margin: 0;
	padding: 0;
}

.main-title .defined-in {
	font-size: 0.9rem;
}

.cell-doc {
	font-family: 'Source Serif 4', serif;
	overflow-wrap: anywhere;
}

.item-doc {
	margin-left: 24px;
}

.mixin-methods {
	padding-left: 16px;
	border-left: 2px solid #eee;
	margin-bottom: 0.5em;
}

.identifier-function, .token.function, .token.macro {
	color: #795E26;
}

.token.number {
	color: #098658;
}

.identifier-type {
	color: #267f99;
}

.identifier-constant {
	color: #0070C1;
}

.identifier-variable {
	color: #001080;
}

.keyword, .token.boolean {
	color: #2267e9;
}

.token.comment {
	color: #808080;
}

.keyword-type, .token.class-name, .token.namespace {
	color: #267f99;
}

.keyword-control, .token.control-keyword {
	color: #AF00DB;
}

.literal-string, .token.string, .token.char  {
	color: #a31515;
}


#search-container {
	padding-top: 1em;
	margin-left: 2em;
	margin-right: 2em;
	max-width: 960px;
	gap: 1em;
	display: flex;
	align-items: center;
}

.search-input:focus {
    border-color: #66afe9;
}

.search-input {
	color: #555;
    background-color: white;
    -webkit-appearance: none;
    -moz-box-sizing: border-box !important;
    box-sizing: border-box !important;
    outline: none;
    border: 1px solid #e0e0e0;
    border-radius: 2px;
    padding: 8px;
    font-size: 1rem;
    transition: border-color 300ms ease;
    flex-grow: 1;
}

@media only screen and (max-width: 768px) {
	nav {
		display: none;
	}

	main {
		margin-left: 1.5em;
		margin-right: 1.5em;
	}

	#search-container {
		margin-left: 1.5em;
		margin-right: 1.5em;
	}

	#search-results {
		margin-left: 1.5em;
		margin-right: 1.5em;
	}

	.search-results-table {
		display: block;
	}

	.search-results-table .row {
		display: block;
	}

	.search-results-table .row div {
		display: block;
		overflow-wrap: break-word;
	}

	.mobile-only {
		display: inherit;
	}
}

@media only screen and (max-width: 1024px) {
	.playground-link {
		left: 0;
		top: 0;
	}

	.with-playground-link {
		padding-top: 2.5em;
		position: relative;
	}
}

@media print {
	nav {
		display: none
	}

	main {
		display: block;
		margin-left: 1em;
		margin-right: 1em;
	}

	#search-container {
		display: none;
	}

	.playground-link, .source-link {
		display: none;
	}
}
