about summary refs log tree commit diff
path: root/src/librustdoc/html/static/css/rustdoc.css
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2021-07-08 04:05:41 +0000
committerbors <bors@rust-lang.org>2021-07-08 04:05:41 +0000
commitac8c3bfffb2829d0af075a5d4020fb7e9e86c3a2 (patch)
tree7ed177e41caaf762288a5e899f18a027fa12e320 /src/librustdoc/html/static/css/rustdoc.css
parentd2b04f075c0ce010758c4c8674152ff89d1d73f3 (diff)
parent01474ad92cc025ac7e16a9d70c76c2d030d414d7 (diff)
downloadrust-ac8c3bfffb2829d0af075a5d4020fb7e9e86c3a2.tar.gz
rust-ac8c3bfffb2829d0af075a5d4020fb7e9e86c3a2.zip
Auto merge of #86966 - JohnTitor:rollup-uiqj2vc, r=JohnTitor
Rollup of 9 pull requests

Successful merges:

 - #86639 (Support lint tool names in rustc command line options)
 - #86812 (Recover from `&dyn mut ...` parse errors)
 - #86917 (Add doc comment for `impl From<LayoutError> for TryReserveError`)
 - #86925 (Add self to mailmap)
 - #86927 (Sync rustc_codegen_cranelift)
 - #86932 (Fix ICE when misplaced visibility cannot be properly parsed)
 - #86933 (Clean up rustdoc static files)
 - #86955 (Fix typo in `ops::Drop` docs)
 - #86956 (Revert "Add "every" as a doc alias for "all".")

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
Diffstat (limited to 'src/librustdoc/html/static/css/rustdoc.css')
-rw-r--r--src/librustdoc/html/static/css/rustdoc.css1888
1 files changed, 1888 insertions, 0 deletions
diff --git a/src/librustdoc/html/static/css/rustdoc.css b/src/librustdoc/html/static/css/rustdoc.css
new file mode 100644
index 00000000000..71123aa9a0e
--- /dev/null
+++ b/src/librustdoc/html/static/css/rustdoc.css
@@ -0,0 +1,1888 @@
+/* See FiraSans-LICENSE.txt for the Fira Sans license. */
+@font-face {
+	font-family: 'Fira Sans';
+	font-style: normal;
+	font-weight: 400;
+	src: local('Fira Sans'),
+		url("FiraSans-Regular.woff2") format("woff2"),
+		url("FiraSans-Regular.woff") format('woff');
+	font-display: swap;
+}
+@font-face {
+	font-family: 'Fira Sans';
+	font-style: normal;
+	font-weight: 500;
+	src: local('Fira Sans Medium'),
+		url("FiraSans-Medium.woff2") format("woff2"),
+		url("FiraSans-Medium.woff") format('woff');
+	font-display: swap;
+}
+
+/* See SourceSerif4-LICENSE.md for the Source Serif 4 license. */
+@font-face {
+	font-family: 'Source Serif 4';
+	font-style: normal;
+	font-weight: 400;
+	src: local('Source Serif 4'),
+		url("SourceSerif4-Regular.ttf.woff2") format("woff2"),
+		url("SourceSerif4-Regular.ttf.woff") format("woff");
+	font-display: swap;
+}
+@font-face {
+	font-family: 'Source Serif 4';
+	font-style: italic;
+	font-weight: 400;
+	src: local('Source Serif 4 Italic'),
+		url("SourceSerif4-It.ttf.woff2") format("woff2"),
+		url("SourceSerif4-It.ttf.woff") format("woff");
+	font-display: swap;
+}
+@font-face {
+	font-family: 'Source Serif 4';
+	font-style: normal;
+	font-weight: 700;
+	src: local('Source Serif 4 Bold'),
+		url("SourceSerif4-Bold.ttf.woff2") format("woff2"),
+		url("SourceSerif4-Bold.ttf.woff") format("woff");
+	font-display: swap;
+}
+
+/* See SourceCodePro-LICENSE.txt for the Source Code Pro license. */
+@font-face {
+	font-family: 'Source Code Pro';
+	font-style: normal;
+	font-weight: 400;
+	/* Avoid using locally installed font because bad versions are in circulation:
+	 * see https://github.com/rust-lang/rust/issues/24355 */
+	src: url("SourceCodePro-Regular.ttf.woff2") format("woff2"),
+		url("SourceCodePro-Regular.ttf.woff") format("woff");
+	font-display: swap;
+}
+@font-face {
+	font-family: 'Source Code Pro';
+	font-style: italic;
+	font-weight: 400;
+	src: url("SourceCodePro-It.ttf.woff2") format("woff2"),
+		url("SourceCodePro-It.ttf.woff") format("woff");
+	font-display: swap;
+}
+@font-face {
+	font-family: 'Source Code Pro';
+	font-style: normal;
+	font-weight: 600;
+	src: url("SourceCodePro-Semibold.ttf.woff2") format("woff2"),
+		url("SourceCodePro-Semibold.ttf.woff") format("woff");
+	font-display: swap;
+}
+
+/* Avoid using legacy CJK serif fonts in Windows like Batang */
+@font-face {
+	font-family: 'Noto Sans KR';
+	src: url("noto-sans-kr-v13-korean-regular.woff") format("woff");
+	font-display: swap;
+	unicode-range: U+A960-A97F, U+AC00-D7AF, U+D7B0-D7FF;
+}
+
+* {
+	-webkit-box-sizing: border-box;
+	-moz-box-sizing: border-box;
+	box-sizing: border-box;
+}
+
+/* This part handles the "default" theme being used depending on the system one. */
+html {
+	content: "";
+}
+@media (prefers-color-scheme: light) {
+	html {
+		content: "light";
+	}
+}
+@media (prefers-color-scheme: dark) {
+	html {
+		content: "dark";
+	}
+}
+
+/* General structure and fonts */
+
+body {
+	font: 16px/1.4 "Source Serif 4", "Noto Sans KR", serif;
+	margin: 0;
+	position: relative;
+	padding: 10px 15px 20px 15px;
+
+	-webkit-font-feature-settings: "kern", "liga";
+	-moz-font-feature-settings: "kern", "liga";
+	font-feature-settings: "kern", "liga";
+}
+
+h1 {
+	font-size: 1.5em;
+}
+h2 {
+	font-size: 1.4em;
+}
+h3 {
+	font-size: 1.3em;
+}
+h1, h2, h3, h4 {
+	font-weight: 500;
+	margin: 20px 0 15px 0;
+	padding-bottom: 6px;
+}
+h1.fqn {
+	display: flex;
+	border-bottom: 1px dashed;
+	margin-top: 0;
+
+	/* workaround to keep flex from breaking below 700 px width due to the float: right on the nav
+	   above the h1 */
+	padding-left: 1px;
+}
+h1.fqn > .in-band > a:hover {
+	text-decoration: underline;
+}
+h2, h3, h4 {
+	border-bottom: 1px solid;
+}
+.impl,
+.impl-items .method,
+.methods .method,
+.impl-items .type,
+.methods .type,
+.impl-items .associatedconstant,
+.methods .associatedconstant,
+.impl-items .associatedtype,
+.methods .associatedtype {
+	flex-basis: 100%;
+	font-weight: 600;
+	margin-top: 16px;
+	margin-bottom: 10px;
+	position: relative;
+}
+.impl, .method.trait-impl,
+.type.trait-impl,
+.associatedconstant.trait-impl,
+.associatedtype.trait-impl {
+	padding-left: 15px;
+}
+
+div.impl-items > div {
+	padding-left: 0;
+}
+
+h1, h2, h3, h4,
+.sidebar, a.source, .search-input, .search-results .result-name,
+.content table td:first-child > a,
+.item-left > a,
+div.item-list .out-of-band, span.since,
+#source-sidebar, #sidebar-toggle,
+details.rustdoc-toggle > summary::before,
+details.undocumented > summary::before,
+div.impl-items > div:not(.docblock):not(.item-info),
+.content ul.crate a.crate, a.srclink,
+/* This selector is for the items listed in the "all items" page. */
+#main > ul.docblock > li > a {
+	font-family: "Fira Sans", Arial, sans-serif;
+}
+
+.content ul.crate a.crate {
+	font-size: 16px/1.6;
+}
+
+ol, ul {
+	padding-left: 25px;
+}
+ul ul, ol ul, ul ol, ol ol {
+	margin-bottom: .6em;
+}
+
+p {
+	margin: 0 0 .6em 0;
+}
+
+summary {
+	outline: none;
+}
+
+/* Fix some style changes due to normalize.css 8 */
+
+td,
+th {
+	padding: 0;
+}
+
+table {
+	border-collapse: collapse;
+}
+
+button,
+input,
+optgroup,
+select,
+textarea {
+	color: inherit;
+	font: inherit;
+	margin: 0;
+}
+
+/* end tweaks for normalize.css 8 */
+
+details:not(.rustdoc-toggle) summary {
+	margin-bottom: .6em;
+}
+
+code, pre, a.test-arrow {
+	font-family: "Source Code Pro", monospace;
+}
+.docblock code, .docblock-short code {
+	border-radius: 3px;
+	padding: 0 0.1em;
+}
+.docblock pre code, .docblock-short pre code {
+	padding: 0;
+	padding-right: 1ex;
+}
+pre {
+	padding: 14px;
+}
+
+.source .content pre {
+	padding: 20px;
+}
+
+img {
+	max-width: 100%;
+}
+
+li {
+	position: relative;
+}
+
+.source .content {
+	margin-top: 50px;
+	max-width: none;
+	overflow: visible;
+	margin-left: 0px;
+}
+
+nav.sub {
+	font-size: 16px;
+	text-transform: uppercase;
+}
+
+.sidebar {
+	width: 200px;
+	position: fixed;
+	left: 0;
+	top: 0;
+	bottom: 0;
+	overflow: auto;
+}
+
+/* Improve the scrollbar display on firefox */
+* {
+	scrollbar-width: initial;
+}
+.sidebar {
+	scrollbar-width: thin;
+}
+
+/* Improve the scrollbar display on webkit-based browsers */
+::-webkit-scrollbar {
+	width: 12px;
+}
+.sidebar::-webkit-scrollbar {
+	width: 8px;
+}
+::-webkit-scrollbar-track {
+	-webkit-box-shadow: inset 0;
+}
+
+.sidebar .block > ul > li {
+	margin-right: -10px;
+}
+
+.content, nav {
+	max-width: 960px;
+}
+
+/* Everything else */
+
+.hidden {
+	display: none !important;
+}
+
+.logo-container {
+	height: 100px;
+	width: 100px;
+	position: relative;
+	margin: 20px auto;
+	display: block;
+	margin-top: 10px;
+}
+
+.logo-container > img {
+	max-width: 100px;
+	max-height: 100px;
+	position: absolute;
+	left: 50%;
+	top: 50%;
+	transform: translate(-50%, -50%);
+	display: block;
+}
+
+.sidebar .location {
+	border: 1px solid;
+	font-size: 17px;
+	margin: 30px 10px 20px 10px;
+	text-align: center;
+	word-wrap: break-word;
+}
+
+.sidebar .version {
+	font-size: 15px;
+	text-align: center;
+	border-bottom: 1px solid;
+	overflow-wrap: break-word;
+	word-wrap: break-word; /* deprecated */
+	word-break: break-word; /* Chrome, non-standard */
+}
+
+.location:empty {
+	border: none;
+}
+
+.location a:first-of-type {
+	font-weight: 500;
+}
+.location a:hover {
+	text-decoration: underline;
+}
+
+.block {
+	padding: 0;
+	margin-bottom: 14px;
+}
+.block h2, .block h3 {
+	text-align: center;
+}
+.block ul, .block li {
+	margin: 0 10px;
+	padding: 0;
+	list-style: none;
+}
+
+.block a {
+	display: block;
+	text-overflow: ellipsis;
+	overflow: hidden;
+	line-height: 15px;
+	padding: 7px 5px;
+	font-size: 14px;
+	font-weight: 300;
+	transition: border 500ms ease-out;
+}
+
+.sidebar-title {
+	border-top: 1px solid;
+	border-bottom: 1px solid;
+	text-align: center;
+	font-size: 17px;
+	margin-bottom: 5px;
+}
+
+.sidebar-links {
+	margin-bottom: 15px;
+}
+
+.sidebar-links > a {
+	padding-left: 10px;
+	width: 100%;
+}
+
+.sidebar-menu {
+	display: none;
+}
+
+.content {
+	padding: 15px 0;
+}
+
+.source .content pre.rust {
+	white-space: pre;
+	overflow: auto;
+	padding-left: 0;
+}
+
+.rustdoc .example-wrap {
+	display: inline-flex;
+	margin-bottom: 10px;
+}
+
+.example-wrap {
+	position: relative;
+	width: 100%;
+}
+
+.example-wrap > pre.line-number {
+	overflow: initial;
+	border: 1px solid;
+	padding: 13px 8px;
+	text-align: right;
+	border-top-left-radius: 5px;
+	border-bottom-left-radius: 5px;
+}
+
+.rustdoc:not(.source) .example-wrap > pre.rust {
+	width: 100%;
+	overflow-x: auto;
+}
+
+.rustdoc .example-wrap > pre {
+	margin: 0;
+}
+
+#search {
+	margin-left: 230px;
+	position: relative;
+}
+
+#results > table {
+	width: 100%;
+	table-layout: fixed;
+}
+
+.content > .example-wrap pre.line-numbers {
+	position: relative;
+	-webkit-user-select: none;
+	-moz-user-select: none;
+	-ms-user-select: none;
+	user-select: none;
+}
+.line-numbers span {
+	cursor: pointer;
+}
+
+.docblock-short {
+	overflow-wrap: anywhere;
+}
+.docblock-short p {
+	display: inline;
+}
+
+.docblock-short p {
+	overflow: hidden;
+	text-overflow: ellipsis;
+	margin: 0;
+}
+/* Wrap non-pre code blocks (`text`) but not (```text```). */
+.docblock > :not(pre) > code,
+.docblock-short > :not(pre) > code {
+	white-space: pre-wrap;
+}
+
+.docblock h1, .docblock h2, .docblock h3, .docblock h4, .docblock h5 {
+	border-bottom: 1px solid;
+}
+
+.top-doc .docblock h1 { font-size: 1.3em; }
+.top-doc .docblock h2 { font-size: 1.15em; }
+.top-doc .docblock h3,
+.top-doc .docblock h4,
+.top-doc .docblock h5 {
+	font-size: 1em;
+}
+
+.docblock h1 { font-size: 1em; }
+.docblock h2 { font-size: 0.95em; }
+.docblock h3, .docblock h4, .docblock h5 { font-size: 0.9em; }
+
+.docblock {
+	margin-left: 24px;
+	position: relative;
+}
+
+.content .out-of-band {
+	flex-grow: 0;
+	text-align: right;
+	font-size: 23px;
+	margin: 0px;
+	padding: 0 0 0 12px;
+	font-weight: normal;
+}
+
+.method > code, .trait-impl > code, .invisible > code {
+	max-width: calc(100% - 41px);
+	display: block;
+}
+
+.invisible {
+	width: 100%;
+	display: inline-block;
+}
+
+.content .in-band {
+	flex-grow: 1;
+	margin: 0px;
+	padding: 0px;
+}
+
+.in-band > code {
+	display: inline-block;
+}
+
+#main {
+	position: relative;
+}
+#main > .since {
+	top: inherit;
+	font-family: "Fira Sans", Arial, sans-serif;
+}
+
+.content table:not(.table-display) {
+	border-spacing: 0 5px;
+}
+.content td { vertical-align: top; }
+.content td:first-child { padding-right: 20px; }
+.content td p:first-child { margin-top: 0; }
+.content td h1, .content td h2 { margin-left: 0; font-size: 1.1em; }
+.content tr:first-child td { border-top: 0; }
+
+.docblock table {
+	margin: .5em 0;
+	width: calc(100% - 2px);
+	border: 1px dashed;
+}
+
+.docblock table td {
+	padding: .5em;
+	border: 1px dashed;
+}
+
+.docblock table th {
+	padding: .5em;
+	text-align: left;
+	border: 1px solid;
+}
+
+.fields + table {
+	margin-bottom: 1em;
+}
+
+.content .item-list {
+	list-style-type: none;
+	padding: 0;
+}
+
+.content .multi-column {
+	-moz-column-count: 5;
+	-moz-column-gap: 2.5em;
+	-webkit-column-count: 5;
+	-webkit-column-gap: 2.5em;
+	column-count: 5;
+	column-gap: 2.5em;
+}
+.content .multi-column li { width: 100%; display: inline-block; }
+
+.content > .methods > .method {
+	font-size: 1em;
+	position: relative;
+}
+/* Shift "where ..." part of method or fn definition down a line */
+.content .method .where,
+.content .fn .where,
+.content .where.fmt-newline {
+	display: block;
+	font-size: 0.8em;
+}
+
+.content .methods > div:not(.notable-traits):not(.method) {
+	margin-left: 40px;
+	margin-bottom: 15px;
+}
+
+.content .docblock > .impl-items {
+	margin-left: 20px;
+	margin-top: -34px;
+}
+.content .docblock >.impl-items .table-display {
+	margin: 0;
+}
+.content .docblock >.impl-items table td {
+	padding: 0;
+}
+.content .docblock > .impl-items .table-display, .impl-items table td {
+	border: none;
+}
+
+.content .item-info code {
+	font-size: 90%;
+}
+
+.content .item-info {
+	position: relative;
+	margin-left: 33px;
+}
+
+.sub-variant > div > .item-info {
+	margin-top: initial;
+}
+
+.content .item-info::before {
+	content: '⬑';
+	font-size: 25px;
+	position: absolute;
+	top: -6px;
+	left: -19px;
+}
+
+.content .impl-items .method, .content .impl-items > .type, .impl-items > .associatedconstant,
+.impl-items > .associatedtype, .content .impl-items details > summary > .type,
+.impl-items details > summary > .associatedconstant,
+.impl-items details > summary > .associatedtype {
+	margin-left: 20px;
+}
+
+.content .impl-items .docblock, .content .impl-items .item-info {
+	margin-bottom: .6em;
+}
+
+.content .impl-items > .item-info {
+	margin-left: 40px;
+}
+
+.methods > .item-info, .content .impl-items > .item-info {
+	margin-top: -8px;
+}
+
+.impl-items {
+	flex-basis: 100%;
+}
+
+#main > .item-info {
+	margin-top: 0;
+}
+
+nav:not(.sidebar) {
+	border-bottom: 1px solid;
+	padding-bottom: 10px;
+	margin-bottom: 10px;
+}
+nav.main {
+	padding: 20px 0;
+	text-align: center;
+}
+nav.main .current {
+	border-top: 1px solid;
+	border-bottom: 1px solid;
+}
+nav.main .separator {
+	border: 1px solid;
+	display: inline-block;
+	height: 23px;
+	margin: 0 20px;
+}
+nav.sum { text-align: right; }
+nav.sub form { display: inline; }
+
+nav.sub, .content {
+	margin-left: 230px;
+}
+
+a {
+	text-decoration: none;
+	background: transparent;
+}
+
+.small-section-header {
+	display: flex;
+	justify-content: space-between;
+	position: relative;
+}
+
+.small-section-header:hover > .anchor {
+	display: initial;
+}
+
+.in-band:hover > .anchor, .impl:hover > .anchor, .method.trait-impl:hover > .anchor,
+.type.trait-impl:hover > .anchor, .associatedconstant.trait-impl:hover > .anchor,
+.associatedtype.trait-impl:hover > .anchor {
+	display: inline-block;
+	position: absolute;
+}
+.anchor {
+	display: none;
+	position: absolute;
+	left: -7px;
+}
+.anchor.field {
+	left: -5px;
+}
+.small-section-header > .anchor {
+	left: -28px;
+	padding-right: 10px; /* avoid gap that causes hover to disappear */
+}
+.anchor:before {
+	content: '\2002\00a7\2002';
+}
+
+.docblock a:not(.srclink):not(.test-arrow):hover,
+.docblock-short a:not(.srclink):not(.test-arrow):hover, .item-info a {
+	text-decoration: underline;
+}
+
+.invisible > .srclink,
+.method > code + .srclink {
+	position: absolute;
+	top: 0;
+	right: 0;
+	font-size: 17px;
+	font-weight: normal;
+}
+
+.block a.current.crate { font-weight: 500; }
+
+.item-table {
+	display: grid;
+	column-gap: 1.2rem;
+	row-gap: 0.0rem;
+	grid-template-columns: auto 1fr;
+	/* align content left */
+	justify-items: start;
+}
+
+.item-left, .item-right {
+	display: block;
+}
+.item-left {
+	grid-column: 1;
+}
+.item-right {
+	grid-column: 2;
+}
+
+.search-container {
+	position: relative;
+}
+.search-container > div {
+	display: inline-flex;
+	width: calc(100% - 63px);
+}
+#crate-search {
+	min-width: 115px;
+	margin-top: 5px;
+	padding: 6px;
+	padding-right: 19px;
+	flex: none;
+	border: 0;
+	border-right: 0;
+	border-radius: 4px 0 0 4px;
+	outline: none;
+	cursor: pointer;
+	border-right: 1px solid;
+	-moz-appearance: none;
+	-webkit-appearance: none;
+	/* Removes default arrow from firefox */
+	text-indent: 0.01px;
+	text-overflow: "";
+	background-repeat: no-repeat;
+	background-color: transparent;
+	background-size: 20px;
+	background-position: calc(100% - 1px) 56%;
+}
+.search-container > .top-button {
+	position: absolute;
+	right: 0;
+	top: 10px;
+}
+.search-input {
+	/* Override Normalize.css: we have margins and do
+	 not want to overflow - the `moz` attribute is necessary
+	 until Firefox 29, too early to drop at this point */
+	-moz-box-sizing: border-box !important;
+	box-sizing: border-box !important;
+	outline: none;
+	border: none;
+	border-radius: 1px;
+	margin-top: 5px;
+	padding: 10px 16px;
+	font-size: 17px;
+	transition: border-color 300ms ease;
+	transition: border-radius 300ms ease-in-out;
+	transition: box-shadow 300ms ease-in-out;
+	width: 100%;
+}
+
+#crate-search + .search-input {
+	border-radius: 0 1px 1px 0;
+	width: calc(100% - 32px);
+}
+
+.search-input:focus {
+	border-radius: 2px;
+	border: 0;
+	outline: 0;
+}
+
+.search-results {
+	display: none;
+	padding-bottom: 2em;
+}
+
+.search-results.active {
+	display: block;
+	/* prevent overhanging tabs from moving the first result */
+	clear: both;
+}
+
+.search-results .desc > span {
+	white-space: nowrap;
+	text-overflow: ellipsis;
+	overflow: hidden;
+	display: block;
+}
+
+.search-results > a {
+	display: block;
+	width: 100%;
+	/* A little margin ensures the browser's outlining of focused links has room to display. */
+	margin-left: 2px;
+	margin-right: 2px;
+	border-bottom: 1px solid #aaa3;
+}
+
+.search-results > a > div {
+	display: flex;
+	flex-flow: row wrap;
+}
+
+.search-results .result-name, .search-results div.desc, .search-results .result-description {
+	width: 50%;
+}
+.search-results .result-name {
+	padding-right: 1em;
+}
+
+.search-results .result-name > span {
+	display: inline-block;
+	margin: 0;
+	font-weight: normal;
+}
+
+body.blur > :not(#help) {
+	filter: blur(8px);
+	-webkit-filter: blur(8px);
+	opacity: .7;
+}
+
+#help {
+	width: 100%;
+	height: 100vh;
+	position: fixed;
+	top: 0;
+	left: 0;
+	display: flex;
+	justify-content: center;
+	align-items: center;
+}
+#help > div {
+	flex: 0 0 auto;
+	box-shadow: 0 0 6px rgba(0,0,0,.2);
+	width: 550px;
+	height: auto;
+	border: 1px solid;
+}
+#help dt {
+	float: left;
+	clear: left;
+	display: block;
+	margin-right: 0.5rem;
+}
+#help > div > span {
+	text-align: center;
+	display: block;
+	margin: 10px 0;
+	font-size: 18px;
+	border-bottom: 1px solid #ccc;
+	padding-bottom: 4px;
+	margin-bottom: 6px;
+}
+#help dd { margin: 5px 35px; }
+#help .infos { padding-left: 0; }
+#help h1, #help h2 { margin-top: 0; }
+#help > div div {
+	width: 50%;
+	float: left;
+	padding: 0 20px 20px 17px;;
+}
+
+.stab {
+	border-width: 1px;
+	border-style: solid;
+	padding: 3px;
+	margin-bottom: 5px;
+	font-size: 90%;
+	font-weight: normal;
+}
+.stab p {
+	display: inline;
+}
+
+.stab .emoji {
+	font-size: 1.5em;
+}
+
+/* Black one-pixel outline around emoji shapes */
+.emoji {
+	text-shadow:
+		1px 0 0 black,
+		-1px 0 0 black,
+		0  1px 0 black,
+		0 -1px 0 black;
+}
+
+.module-item .stab,
+.import-item .stab {
+	border-radius: 3px;
+	display: inline-block;
+	font-size: 80%;
+	line-height: 1.2;
+	margin-bottom: 0;
+	margin-left: .3em;
+	padding: 2px;
+	vertical-align: text-bottom;
+}
+
+.module-item.unstable,
+.import-item.unstable {
+	opacity: 0.65;
+}
+
+.since {
+	font-weight: normal;
+	font-size: initial;
+}
+
+.impl-items .since, .impl .since, .methods .since {
+	padding-left: 12px;
+	padding-right: 2px;
+	position: initial;
+}
+
+.impl-items .srclink, .impl .srclink, .methods .srclink {
+	/* Override header settings otherwise it's too bold */
+	font-size: 17px;
+	font-weight: normal;
+}
+
+.rightside {
+	float: right;
+}
+
+.has-srclink {
+	font-size: 16px;
+	margin-bottom: 12px;
+	/* Push the src link out to the right edge consistently */
+	justify-content: space-between;
+}
+
+.variants_table {
+	width: 100%;
+}
+
+.variants_table tbody tr td:first-child {
+	width: 1%; /* make the variant name as small as possible */
+}
+
+td.summary-column {
+	width: 100%;
+}
+
+.summary {
+	padding-right: 0px;
+}
+
+pre.rust .question-mark {
+	font-weight: bold;
+}
+
+a.test-arrow {
+	display: inline-block;
+	position: absolute;
+	padding: 5px 10px 5px 10px;
+	border-radius: 5px;
+	font-size: 130%;
+	top: 5px;
+	right: 5px;
+	z-index: 1;
+}
+a.test-arrow:hover{
+	text-decoration: none;
+}
+
+.section-header:hover a:before {
+	position: absolute;
+	left: -25px;
+	padding-right: 10px; /* avoid gap that causes hover to disappear */
+	content: '\2002\00a7\2002';
+}
+
+.section-header:hover a {
+	text-decoration: none;
+}
+
+.section-header a {
+	color: inherit;
+}
+
+.code-attribute {
+	font-weight: 300;
+}
+
+.since + .srclink {
+	padding-left: 10px;
+}
+
+.item-spacer {
+	width: 100%;
+	height: 12px;
+}
+
+.out-of-band > span.since {
+	position: initial;
+	font-size: 20px;
+	margin-right: 5px;
+}
+
+.sub-variant, .sub-variant > h3 {
+	margin-top: 0px !important;
+	padding-top: 1px;
+}
+
+#main > details > .sub-variant > h3 {
+	font-size: 15px;
+	margin-left: 25px;
+	margin-bottom: 5px;
+}
+
+.sub-variant > div {
+	margin-left: 20px;
+	margin-bottom: 10px;
+}
+
+.sub-variant > div > span {
+	display: block;
+	position: relative;
+}
+
+.toggle-label {
+	display: inline-block;
+	margin-left: 4px;
+	margin-top: 3px;
+}
+
+.docblock > .section-header:first-child {
+	margin-left: 15px;
+	margin-top: 0;
+}
+
+.docblock > .section-header:first-child:hover > a:before {
+	left: -10px;
+}
+
+#main > .variant, #main > .structfield {
+	display: block;
+}
+
+
+:target > code {
+	opacity: 1;
+}
+
+:target {
+	padding-right: 3px;
+}
+
+.information {
+	position: absolute;
+	left: -25px;
+	margin-top: 7px;
+	z-index: 1;
+}
+
+.tooltip {
+	position: relative;
+	display: inline-block;
+	cursor: pointer;
+}
+
+.tooltip::after {
+	display: none;
+	text-align: center;
+	padding: 5px 3px 3px 3px;
+	border-radius: 6px;
+	margin-left: 5px;
+	font-size: 16px;
+}
+
+.tooltip.ignore::after {
+	content: "This example is not tested";
+}
+.tooltip.compile_fail::after {
+	content: "This example deliberately fails to compile";
+}
+.tooltip.should_panic::after {
+	content: "This example panics";
+}
+.tooltip.edition::after {
+	content: "This code runs with edition " attr(data-edition);
+}
+
+.tooltip::before {
+	content: " ";
+	position: absolute;
+	top: 50%;
+	left: 16px;
+	margin-top: -5px;
+	border-width: 5px;
+	border-style: solid;
+	display: none;
+}
+
+.tooltip:hover::before, .tooltip:hover::after {
+	display: inline;
+}
+
+.tooltip.compile_fail, .tooltip.should_panic, .tooltip.ignore {
+	font-weight: bold;
+	font-size: 20px;
+}
+
+.notable-traits-tooltip {
+	display: inline-block;
+	cursor: pointer;
+}
+
+.notable-traits:hover .notable-traits-tooltiptext,
+.notable-traits .notable-traits-tooltiptext.force-tooltip {
+	display: inline-block;
+}
+
+.notable-traits .notable-traits-tooltiptext {
+	display: none;
+	padding: 5px 3px 3px 3px;
+	border-radius: 6px;
+	margin-left: 5px;
+	z-index: 10;
+	font-size: 16px;
+	cursor: default;
+	position: absolute;
+	border: 1px solid;
+}
+
+.notable-traits-tooltip::after {
+	/* The margin on the tooltip does not capture hover events,
+	   this extends the area of hover enough so that mouse hover is not
+	   lost when moving the mouse to the tooltip */
+	content: "\00a0\00a0\00a0";
+}
+
+.notable-traits .notable, .notable-traits .docblock {
+	margin: 0;
+}
+
+.notable-traits .notable {
+	margin: 0;
+	margin-bottom: 13px;
+	font-size: 19px;
+	font-weight: 600;
+}
+
+.notable-traits .docblock code.content{
+	margin: 0;
+	padding: 0;
+	font-size: 20px;
+}
+
+/* Example code has the "Run" button that needs to be positioned relative to the pre */
+pre.rust.rust-example-rendered {
+	position: relative;
+}
+
+pre.rust {
+	tab-size: 4;
+	-moz-tab-size: 4;
+}
+
+.search-failed {
+	text-align: center;
+	margin-top: 20px;
+	display: none;
+}
+
+.search-failed.active {
+	display: block;
+}
+
+.search-failed > ul {
+	text-align: left;
+	max-width: 570px;
+	margin-left: auto;
+	margin-right: auto;
+}
+
+#titles {
+	height: 35px;
+}
+
+#titles > button {
+	float: left;
+	width: 33.3%;
+	text-align: center;
+	font-size: 18px;
+	cursor: pointer;
+	border: 0;
+	border-top: 2px solid;
+}
+
+#titles > button:not(:last-child) {
+	margin-right: 1px;
+	width: calc(33.3% - 1px);
+}
+
+#titles > button > div.count {
+	display: inline-block;
+	font-size: 16px;
+}
+
+.notable-traits {
+	cursor: pointer;
+	z-index: 2;
+	margin-left: 5px;
+}
+
+#all-types {
+	text-align: center;
+	border: 1px solid;
+	margin: 0 10px;
+	margin-bottom: 10px;
+	display: block;
+	border-radius: 7px;
+}
+#all-types > p {
+	margin: 5px 0;
+}
+
+#sidebar-toggle {
+	position: fixed;
+	top: 30px;
+	left: 300px;
+	z-index: 10;
+	padding: 3px;
+	border-top-right-radius: 3px;
+	border-bottom-right-radius: 3px;
+	cursor: pointer;
+	font-weight: bold;
+	transition: left .5s;
+	font-size: 1.2em;
+	border: 1px solid;
+	border-left: 0;
+}
+#source-sidebar {
+	position: fixed;
+	top: 0;
+	bottom: 0;
+	left: 0;
+	width: 300px;
+	z-index: 1;
+	overflow: auto;
+	transition: left .5s;
+	border-right: 1px solid;
+}
+#source-sidebar > .title {
+	font-size: 1.5em;
+	text-align: center;
+	border-bottom: 1px solid;
+	margin-bottom: 6px;
+}
+
+.theme-picker {
+	position: absolute;
+	left: 211px;
+	top: 19px;
+}
+
+.theme-picker button {
+	outline: none;
+}
+
+#settings-menu, #help-button {
+	position: absolute;
+	top: 10px;
+}
+
+#settings-menu {
+	right: 0;
+	outline: none;
+}
+
+#theme-picker, #settings-menu, #help-button, #copy-path {
+	padding: 4px;
+	width: 27px;
+	height: 29px;
+	border: 1px solid;
+	border-radius: 3px;
+	cursor: pointer;
+}
+
+#help-button {
+	right: 30px;
+	font-family: "Fira Sans", Arial, sans-serif;
+	text-align: center;
+	font-size: 17px;
+	padding-top: 2px;
+}
+
+#copy-path {
+	background: initial;
+	margin-left: 10px;
+	padding: 0;
+	padding-left: 2px;
+	border: 0;
+}
+
+#theme-choices {
+	display: none;
+	position: absolute;
+	left: 0;
+	top: 28px;
+	border: 1px solid;
+	border-radius: 3px;
+	z-index: 1;
+	cursor: pointer;
+}
+
+#theme-choices > button {
+	border: none;
+	width: 100%;
+	padding: 4px 8px;
+	text-align: center;
+	background: rgba(0,0,0,0);
+}
+
+#theme-choices > button:not(:first-child) {
+	border-top: 1px solid;
+}
+
+kbd {
+	display: inline-block;
+	padding: 3px 5px;
+	font: 15px monospace;
+	line-height: 10px;
+	vertical-align: middle;
+	border: solid 1px;
+	border-radius: 3px;
+	box-shadow: inset 0 -1px 0;
+	cursor: default;
+}
+
+.hidden-by-impl-hider,
+.hidden-by-usual-hider {
+	/* important because of conflicting rule for small screens */
+	display: none !important;
+}
+
+#implementations-list > h3 > span.in-band {
+	width: 100%;
+}
+
+.table-display {
+	width: 100%;
+	border: 0;
+	border-collapse: collapse;
+	border-spacing: 0;
+	font-size: 16px;
+}
+
+.table-display tr td:first-child {
+	padding-right: 0;
+}
+
+.table-display tr td:last-child {
+	float: right;
+}
+.table-display .out-of-band {
+	position: relative;
+	font-size: 19px;
+	display: block;
+}
+#implementors-list > .impl-items .table-display .out-of-band {
+	font-size: 17px;
+}
+
+.table-display td:hover .anchor {
+	display: block;
+	top: 2px;
+	left: -5px;
+}
+
+#main > ul {
+	padding-left: 10px;
+}
+#main > ul > li {
+	list-style: none;
+}
+
+.non-exhaustive {
+	margin-bottom: 1em;
+}
+
+div.children {
+	padding-left: 27px;
+	display: none;
+}
+div.name {
+	cursor: pointer;
+	position: relative;
+	margin-left: 16px;
+}
+div.files > a {
+	display: block;
+	padding: 0 3px;
+}
+div.files > a:hover, div.name:hover {
+	background-color: #a14b4b;
+}
+div.name.expand + .children {
+	display: block;
+}
+div.name::before {
+	content: "\25B6";
+	padding-left: 4px;
+	font-size: 0.7em;
+	position: absolute;
+	left: -16px;
+	top: 4px;
+}
+div.name.expand::before {
+	transform: rotate(90deg);
+	left: -15px;
+	top: 2px;
+}
+
+/* The hideme class is used on summary tags that contain a span with
+	placeholder text shown only when the toggle is closed. For instance,
+	"Expand description" or "Show methods". */
+details.rustdoc-toggle > summary.hideme {
+	cursor: pointer;
+}
+
+details.rustdoc-toggle > summary, details.undocumented > summary {
+	list-style: none;
+}
+details.rustdoc-toggle > summary::-webkit-details-marker,
+details.rustdoc-toggle > summary::marker,
+details.undocumented > summary::-webkit-details-marker,
+details.undocumented > summary::marker {
+	display: none;
+}
+
+details.rustdoc-toggle > summary.hideme > span {
+	margin-left: 9px;
+}
+
+details.rustdoc-toggle > summary::before {
+	content: "[+]";
+	font-weight: 300;
+	font-size: 0.8em;
+	letter-spacing: 1px;
+	cursor: pointer;
+}
+
+details.rustdoc-toggle.top-doc > summary,
+details.rustdoc-toggle.top-doc > summary::before,
+details.rustdoc-toggle.non-exhaustive > summary,
+details.rustdoc-toggle.non-exhaustive > summary::before {
+	font-family: 'Fira Sans';
+	font-size: 16px;
+}
+
+details.non-exhaustive {
+	margin-bottom: 8px;
+}
+
+details.rustdoc-toggle > summary.hideme::before {
+	position: relative;
+}
+
+details.rustdoc-toggle > summary:not(.hideme)::before {
+	position: absolute;
+	left: -23px;
+	top: 3px;
+}
+
+.impl-items > details.rustdoc-toggle > summary:not(.hideme)::before,
+.undocumented > details.rustdoc-toggle > summary:not(.hideme)::before {
+	position: absolute;
+	left: -2px;
+}
+
+/* When a "hideme" summary is open and the "Expand description" or "Show
+	methods" text is hidden, we want the [-] toggle that remains to not
+	affect the layout of the items to its right. To do that, we use
+	absolute positioning. Note that we also set position: relative
+	on the parent <details> to make this work properly. */
+details.rustdoc-toggle[open] > summary.hideme {
+	position: absolute;
+}
+
+details.rustdoc-toggle, details.undocumented {
+	position: relative;
+}
+
+details.rustdoc-toggle[open] > summary.hideme > span {
+	display: none;
+}
+
+details.rustdoc-toggle[open] > summary::before {
+	content: "[−]";
+	display: inline;
+}
+
+details.undocumented > summary::before {
+	content: "[+] Show hidden undocumented items";
+	cursor: pointer;
+	font-size: 16px;
+	font-weight: 300;
+}
+
+details.undocumented[open] > summary::before {
+	content: "[−] Hide undocumented items";
+}
+
+/* Media Queries */
+
+@media (min-width: 701px) {
+	/* In case there is no documentation before a code block, we need to add some margin at the top
+	to prevent an overlay between the "collapse toggle" and the information tooltip.
+	However, it's not needed with smaller screen width because the doc/code block is always put
+	"one line" below. */
+	.docblock > .information:first-child > .tooltip {
+		margin-top: 16px;
+	}
+}
+
+@media (max-width: 700px) {
+	body {
+		padding-top: 0px;
+	}
+
+	.rustdoc > .sidebar {
+		height: 45px;
+		min-height: 40px;
+		margin: 0;
+		margin-left: -15px;
+		padding: 0 15px;
+		position: static;
+		z-index: 11;
+	}
+
+	.sidebar > .location {
+		float: right;
+		margin: 0px;
+		margin-top: 2px;
+		padding: 3px 10px 1px 10px;
+		min-height: 39px;
+		background: inherit;
+		text-align: left;
+		font-size: 24px;
+	}
+
+	.sidebar .location:empty {
+		padding: 0;
+	}
+
+	.sidebar .logo-container {
+		width: 35px;
+		height: 35px;
+		margin-top: 5px;
+		margin-bottom: 5px;
+		float: left;
+		margin-left: 50px;
+	}
+
+	.sidebar .logo-container > img {
+		max-width: 35px;
+		max-height: 35px;
+	}
+
+	.sidebar-menu {
+		position: fixed;
+		z-index: 10;
+		font-size: 2rem;
+		cursor: pointer;
+		width: 45px;
+		left: 0;
+		text-align: center;
+		display: block;
+		border-bottom: 1px solid;
+		border-right: 1px solid;
+		height: 45px;
+	}
+
+	.rustdoc.source > .sidebar > .sidebar-menu {
+		display: none;
+	}
+
+	.sidebar-elems {
+		position: fixed;
+		z-index: 1;
+		left: 0;
+		top: 45px;
+		bottom: 0;
+		overflow-y: auto;
+		border-right: 1px solid;
+		display: none;
+	}
+
+	.sidebar > .block.version {
+		overflow: hidden;
+		border-bottom: none;
+		margin-bottom: 0;
+		height: 100%;
+		padding-left: 12px;
+	}
+	.sidebar > .block.version > div.narrow-helper {
+		float: left;
+		width: 1px;
+		height: 100%;
+	}
+	.sidebar > .block.version > p {
+		/* hide Version text if too narrow */
+		margin: 0;
+		min-width: 55px;
+		/* vertically center */
+		display: flex;
+		align-items: center;
+		height: 100%;
+	}
+
+	nav.sub {
+		width: calc(100% - 32px);
+		float: right;
+	}
+
+	.content {
+		margin-left: 0px;
+	}
+
+	#main, #search {
+		margin-top: 45px;
+		padding: 0;
+	}
+
+	#search {
+		margin-left: 0;
+	}
+
+	.anchor {
+		display: none !important;
+	}
+
+	.theme-picker {
+		left: 10px;
+		top: 54px;
+		z-index: 1;
+	}
+
+	.notable-traits {
+		position: absolute;
+		left: -22px;
+		top: 24px;
+	}
+
+	#titles > button > div.count {
+		float: left;
+		width: 100%;
+	}
+
+	#titles {
+		height: 50px;
+	}
+
+	.sidebar.mobile {
+		position: fixed;
+		width: 100%;
+		margin-left: 0;
+		background-color: rgba(0,0,0,0);
+		height: 100%;
+	}
+	/*
+	This allows to prevent the version text to overflow the sidebar title on mobile mode when the
+	sidebar is displayed (after clicking on the "hamburger" button).
+	*/
+	.sidebar.mobile > div.version {
+		overflow: hidden;
+		max-height: 33px;
+	}
+	.sidebar {
+		width: calc(100% + 30px);
+	}
+
+	.show-it {
+		display: block;
+		width: 246px;
+	}
+
+	.show-it > .block.items {
+		margin: 8px 0;
+	}
+
+	.show-it > .block.items > ul {
+		margin: 0;
+	}
+
+	.show-it > .block.items > ul > li {
+		text-align: center;
+		margin: 2px 0;
+	}
+
+	.show-it > .block.items > ul > li > a {
+		font-size: 21px;
+	}
+
+	/* Because of ios, we need to actually have a full height sidebar title so the
+	 * actual sidebar can show up. But then we need to make it transparent so we don't
+	 * hide content. The filler just allows to create the background for the sidebar
+	 * title. But because of the absolute position, I had to lower the z-index.
+	 */
+	#sidebar-filler {
+		position: fixed;
+		left: 45px;
+		width: calc(100% - 45px);
+		top: 0;
+		height: 45px;
+		z-index: -1;
+		border-bottom: 1px solid;
+	}
+
+	#main > details.rustdoc-toggle > summary::before,
+	#main > div > details.rustdoc-toggle > summary::before {
+		left: -11px;
+	}
+
+	#all-types {
+		margin: 10px;
+	}
+
+	#sidebar-toggle {
+		top: 100px;
+		width: 30px;
+		font-size: 1.5rem;
+		text-align: center;
+		padding: 0;
+	}
+
+	#source-sidebar {
+		z-index: 11;
+	}
+
+	#main > .line-numbers {
+		margin-top: 0;
+	}
+
+	.notable-traits .notable-traits-tooltiptext {
+		left: 0;
+		top: 100%;
+	}
+
+	/* We don't display the help button on mobile devices. */
+	#help-button {
+		display: none;
+	}
+
+	/* Display an alternating layout on tablets and phones */
+	.item-table {
+		display: flex;
+		flex-flow: column wrap;
+	}
+	.item-left, .item-right {
+		width: 100%;
+	}
+
+	.search-container > div {
+		width: calc(100% - 32px);
+	}
+
+	/* Display an alternating layout on tablets and phones */
+	.search-results > a {
+		border-bottom: 1px solid #aaa9;
+		padding: 5px 0px;
+	}
+	.search-results .result-name, .search-results div.desc, .search-results .result-description {
+		width: 100%;
+	}
+	.search-results div.desc, .search-results .result-description, .item-right {
+		padding-left: 2em;
+	}
+}
+
+@media print {
+	nav.sub, .content .out-of-band {
+		display: none;
+	}
+}
+
+@media (max-width: 464px) {
+	#titles, #titles > button {
+		height: 73px;
+	}
+
+	/* This is to prevent the search bar from being underneath the <section>
+	 * element following it.
+	 */
+	#main, #search {
+		margin-top: 100px;
+	}
+
+	#main > table:not(.table-display) td {
+		word-break: break-word;
+		width: 50%;
+	}
+
+	.search-container > div {
+		display: block;
+		width: calc(100% - 37px);
+	}
+
+	#crate-search {
+		width: 100%;
+		border-radius: 4px;
+		border: 0;
+	}
+
+	#crate-search + .search-input {
+		width: calc(100% + 71px);
+		margin-left: -36px;
+	}
+
+	#theme-picker, #settings-menu {
+		padding: 5px;
+		width: 31px;
+		height: 31px;
+	}
+
+	#theme-picker {
+		margin-top: -2px;
+	}
+
+	#settings-menu {
+		top: 7px;
+	}
+
+	.docblock {
+		margin-left: 12px;
+	}
+}