@font-face {
  font-family: "Fira Sans";
  font-style: normal;
  font-weight: 400;
  src: local("Fira Sans"), url("FiraSans-Regular.woff2") format("woff2");
  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");
  font-display: swap;
}
@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");
  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");
  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");
  font-display: swap;
}
@font-face {
  font-family: "Source Code Pro";
  font-style: normal;
  font-weight: 400;
  src: url("SourceCodePro-Regular.ttf.woff2") format("woff2");
  font-display: swap;
}
@font-face {
  font-family: "Source Code Pro";
  font-style: italic;
  font-weight: 400;
  src: url("SourceCodePro-It.ttf.woff2") format("woff2");
  font-display: swap;
}
@font-face {
  font-family: "Source Code Pro";
  font-style: normal;
  font-weight: 600;
  src: url("SourceCodePro-Semibold.ttf.woff2") format("woff2");
  font-display: swap;
}
@font-face {
  font-family: "NanumBarunGothic";
  src: url("NanumBarunGothic.ttf.woff2") format("woff2");
  font-display: swap;
  unicode-range: U+AC00-D7AF, U+1100-11FF, U+3130-318F, U+A960-A97F, U+D7B0-D7FF;
}
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html {
  content: "";
}
@media (prefers-color-scheme: light) {
  html {
    content: "light";
  }
}
@media (prefers-color-scheme: dark) {
  html {
    content: "dark";
  }
}
body {
  font: 16px/1.4 "Source Serif 4", NanumBarunGothic, 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";
  background-color: var(--main-background-color);
  color: var(--main-color);
}
h1 {
  font-size: 1.5rem;
}
h2 {
  font-size: 1.375rem;
}
h3 {
  font-size: 1.25rem;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 500;
}
h1,
h2,
h3,
h4 {
  margin: 20px 0 15px 0;
  padding-bottom: 6px;
}
.docblock h3,
.docblock h4,
h5,
h6 {
  margin: 15px 0 5px 0;
}
h1.fqn {
  margin: 0;
  padding: 0;
  border-bottom-color: var(--headings-border-bottom-color);
}
h2,
h3,
h4 {
  border-bottom-color: var(--headings-border-bottom-color);
}
.main-heading {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding-bottom: 6px;
  margin-bottom: 15px;
}
.main-heading a:hover {
  text-decoration: underline;
}
#toggle-all-docs {
  text-decoration: none;
}
h2,
.top-doc .docblock > h3,
.top-doc .docblock > h4 {
  border-bottom: 1px solid var(--headings-border-bottom-color);
}
h3.code-header {
  font-size: 1.125rem;
  font-weight: 600;
}
h4.code-header {
  font-size: 1rem;
}
.code-header {
  font-weight: 600;
  border-bottom-style: none;
  padding: 0;
  margin-top: 0.6em;
  margin-bottom: 0.4em;
}
.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;
  position: relative;
}
div.impl-items > div {
  padding-left: 0;
}
h1,
h2,
h3,
h4,
h5,
h6,
.sidebar,
.mobile-topbar,
a.source,
.search-input,
.search-results .result-name,
.content table td:first-child > a,
.item-left > a,
.out-of-band,
span.since,
#source-sidebar,
#sidebar-toggle,
details.swaydoc-toggle > summary::before,
div.impl-items > div:not(.docblock):not(.item-info),
.content ul.crate a.crate,
a.srclink,
#main-content > .since,
#help-button > a,
details.swaydoc-toggle.top-doc > summary,
details.swaydoc-toggle.top-doc > summary::before,
details.swaydoc-toggle.non-exhaustive > summary,
details.swaydoc-toggle.non-exhaustive > summary::before,
.scraped-example-title,
.more-examples-toggle summary,
.more-examples-toggle .hide-more,
.example-links a,
#main-content > ul.docblock > li > a {
  font-family: "Fira Sans", Arial, NanumBarunGothic, sans-serif;
}
h1,
h2,
h3,
h4,
a#toggle-all-docs,
a.anchor,
.small-section-header a,
#source-sidebar a,
pre.sway a,
.sidebar h2 a,
.sidebar h3 a,
.mobile-topbar h2 a,
.in-band a,
.search-results a,
.module-item .stab,
.import-item .stab,
.result-name .primitive > i,
.result-name .keyword > i,
.content .method .where,
.content .fn .where,
.content .where.fmt-newline {
  color: var(--main-color);
}
ol,
ul {
  padding-left: 24px;
}
ul ul,
ol ul,
ul ol,
ol ol {
  margin-bottom: 0.625em;
}
p {
  margin: 0 0 0.6em 0;
}
summary {
  outline: none;
}
td,
th {
  padding: 0;
}
table {
  border-collapse: collapse;
}
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}
button {
  padding: 1px 6px;
}
.swaydoc {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
}
main {
  position: relative;
  flex-grow: 1;
  padding: 10px 15px 40px 45px;
  min-width: 0;
}
.source main {
  padding: 15px;
}
.width-limiter {
  max-width: 960px;
  margin-right: auto;
}
.source .width-limiter {
  max-width: unset;
}
details:not(.swaydoc-toggle) summary {
  margin-bottom: 0.6em;
}
code,
pre,
a.test-arrow,
.code-header {
  font-family: "Source Code Pro", monospace;
}
.docblock code,
.docblock-short code {
  border-radius: 3px;
  padding: 0 0.125em;
}
.docblock pre code,
.docblock-short pre code {
  padding: 0;
}
pre {
  padding: 14px;
}
.docblock.item-decl {
  margin-left: 0;
}
.item-decl pre {
  overflow-x: auto;
}
.source .content pre {
  padding: 20px;
}
img {
  max-width: 100%;
}
li {
  position: relative;
}
.source .content {
  max-width: none;
  overflow: visible;
  margin-left: 0px;
}
nav.sub {
  position: relative;
  font-size: 1rem;
}
.sub-container {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
}
.sub-logo-container {
  display: none;
  margin-right: 20px;
}
.source .sub-logo-container {
  display: block;
}
.source .sub-logo-container > img {
  height: 60px;
  width: 60px;
  object-fit: contain;
}
.sidebar,
.mobile-topbar,
.sidebar-menu-toggle {
  background-color: var(--sidebar-background-color);
}
.sidebar {
  font-size: 0.875rem;
  width: 200px;
  min-width: 200px;
  overflow-y: scroll;
  position: sticky;
  height: 100vh;
  top: 0;
  left: 0;
}
.sidebar > .location {
  padding-left: 24px;
}
.sidebar .location {
  border: 1px solid;
  font-size: 17px;
  margin: 30px 10px 20px 10px;
  text-align: center;
  word-wrap: break-word;
  font-weight: inherit;
  padding: 0;
}
.swaydoc.source .sidebar {
  width: 50px;
  min-width: 0px;
  max-width: 300px;
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
  border-right: 1px solid;
  overflow-x: hidden;
  overflow-y: hidden;
}
.swaydoc.source .sidebar .sidebar-logo {
  display: none;
}
.source .sidebar,
#sidebar-toggle,
#source-sidebar {
  background-color: var(--sidebar-background-color);
}
#sidebar-toggle > button:hover,
#sidebar-toggle > button:focus {
  background-color: var(--sidebar-background-color-hover);
}
.source .sidebar > *:not(#sidebar-toggle) {
  opacity: 0;
  visibility: hidden;
}
.source-sidebar-expanded .source .sidebar {
  overflow-y: auto;
}
.source-sidebar-expanded .source .sidebar > *:not(#sidebar-toggle) {
  opacity: 1;
  visibility: visible;
}
#all-types {
  text-align: center;
  border: 1px solid;
  margin: 0 10px;
  margin-bottom: 10px;
  display: block;
  border-radius: 7px;
}
a#all-types:hover,
a#all-types:active {
  background-color: var(--sidebar-background-color-hover);
  color: #c5c5c5;
}
* {
  scrollbar-width: initial;
  scrollbar-color: var(--scrollbar-color);
}
.sidebar {
  scrollbar-width: thin;
  scrollbar-color: var(--scrollbar-color);
}
::-webkit-scrollbar {
  width: 12px;
}
.sidebar::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0;
  background-color: var(--scrollbar-track-background-color);
}
.sidebar::-webkit-scrollbar-track {
  background-color: var(--scrollbar-track-background-color);
}
::-webkit-scrollbar-thumb,
.sidebar::-webkit-scrollbar-thumb {
  background-color: var(--scrollbar-thumb-background-color);
}
.hidden {
  display: none !important;
}
.sidebar .logo-container {
  display: flex;
  margin-top: 10px;
  margin-bottom: 10px;
  justify-content: center;
}
.version {
  overflow-wrap: break-word;
}
.logo-container > img {
  height: 100px;
  width: 100px;
}
.location:empty {
  border: none;
}
.location a:first-of-type {
  font-weight: 500;
}
.block {
  padding: 0;
}
.block ul,
.block li {
  padding: 0;
  margin: 0;
  list-style: none;
}
.block a,
h2.location a {
  display: block;
  padding: 0.5rem;
  margin-left: .25rem;
  text-overflow: ellipsis;
  overflow: hidden;
}
.sidebar h2 {
  border-bottom: none;
  font-weight: 500;
  padding: 0;
  margin: 0;
  margin-top: 0.7rem;
  margin-bottom: 0.7rem;
}
.sidebar h3 {
  font-size: 1.125rem;
  font-weight: 500;
  padding: 1rem 1rem 0 0;
  margin: 0;
}
.sidebar-elems, 
.sidebar > .version, 
.sidebar > h2 {
  padding-left: 24px;
}
ul.block, .block li {
  padding: 0;
  margin: 0;
  list-style: none;
}
.mobile-topbar {
  display: none;
}
.source .content pre.sway {
  white-space: pre;
  overflow: auto;
  padding-left: 0;
}
.swaydoc .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;
}
.example-wrap > pre.sway a:hover {
  text-decoration: underline;
}
.line-numbers {
  text-align: right;
}
.swaydoc:not(.source) .example-wrap > pre:not(.line-number) {
  width: 100%;
  overflow-x: auto;
}
.swaydoc:not(.source) .example-wrap > pre.line-numbers {
  width: auto;
  overflow-x: visible;
}
.swaydoc .example-wrap > pre {
  margin: 0;
}
#search {
  position: relative;
}
.search-loading {
  text-align: center;
}
#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: break-word;
  overflow-wrap: anywhere;
}
.docblock-short p {
  display: inline;
}
.docblock-short p {
  overflow: hidden;
  text-overflow: ellipsis;
  margin: 0;
}
.docblock > :not(pre) > code,
.docblock-short > :not(pre) > code {
  white-space: pre-wrap;
}
.top-doc .docblock h2 {
  font-size: 1.375rem;
}
.top-doc .docblock h3 {
  font-size: 1.25rem;
}
.top-doc .docblock h4,
.top-doc .docblock h5 {
  font-size: 1.125rem;
}
.top-doc .docblock h6 {
  font-size: 1rem;
}
.docblock h1,
.docblock h2,
.docblock h3,
.docblock h4,
.docblock h5,
.docblock h6 {
  font-size: 1.125rem;
  color: var(--main-color);
  border-bottom-color: var(--headings-border-bottom-color);
}
.docblock {
  margin-left: 24px;
  position: relative;
}
.docblock > :not(.information):not(.more-examples-toggle) {
  max-width: 100%;
  overflow-x: auto;
}
.content .out-of-band {
  flex-grow: 0;
  font-size: 1.125rem;
  font-weight: normal;
  float: right;
}
.method > .code-header,
.trait-impl > .code-header {
  max-width: calc(100% - 41px);
  display: block;
}
.content .in-band {
  flex-grow: 1;
  margin-top: 0px;
  padding: 0px;
  overflow-wrap: break-word;
  overflow-wrap: anywhere;
}
.in-band > code,
.in-band > .code-header {
  display: inline-block;
}
.docblock code,
.docblock-short code,
pre,
.swaydoc.source .example-wrap {
  background-color: var(--code-block-background-color);
}
#main-content {
  position: relative;
}
#main-content > .since {
  top: inherit;
}
.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.125rem;
}
.content tr:first-child td {
  border-top: 0;
}
.docblock table {
  margin: 0.5em 0;
  width: calc(100% - 2px);
  overflow-x: auto;
  display: block;
}
.docblock table td {
  padding: 0.5em;
  border: 1px dashed;
}
.docblock table th {
  padding: 0.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: 1rem;
  position: relative;
}
.content .method .where,
.content .fn .where,
.content .where.fmt-newline {
  display: block;
  font-size: 0.875rem;
}
.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;
}
.item-info {
  display: block;
}
.content .item-info code {
  font-size: 0.875rem;
}
.content .item-info {
  position: relative;
  margin-left: 24px;
}
.sub-variant > div > .item-info {
  margin-top: initial;
}
.content .impl-items .docblock,
.content .impl-items .item-info {
  margin-bottom: 0.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-content > .item-info {
  margin-top: 0;
  margin-left: 0;
}
nav.sub {
  flex-grow: 1;
  margin-bottom: 25px;
}
.source nav.sub {
  margin-left: 32px;
}
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;
}
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,
.method.has-srclink: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;
  background: none !important;
}
.anchor.field {
  left: -5px;
}
.small-section-header > .anchor {
  left: -15px;
  padding-right: 8px;
}
h2.small-section-header > .anchor {
  padding-right: 6px;
}
.anchor::before {
  content: "§";
}
.docblock a:not(.srclink):not(.test-arrow):not(.scrape-help):hover,
.docblock-short a:not(.srclink):not(.test-arrow):not(.scrape-help):hover,
.item-info a {
  text-decoration: underline;
}
.block a.current.crate {
  font-weight: 500;
}
table,
.item-table {
  overflow-wrap: break-word;
}
.item-row {
  padding: 10px 0;
}
.item-right {
  padding-top: 4px;
}
.search-container {
  position: relative;
  display: flex;
  height: 34px;
}
.search-container > * {
  height: 100%;
}
.search-results-title {
  display: inline;
}
#search-settings {
  font-size: 1.5rem;
  font-weight: 500;
  margin-bottom: 20px;
}
#crate-search {
  min-width: 115px;
  margin-top: 5px;
  padding-left: 0.15em;
  padding-right: 23px;
  border: 1px solid;
  border-radius: 4px;
  outline: none;
  cursor: pointer;
  -moz-appearance: none;
  -webkit-appearance: none;
  background-repeat: no-repeat;
  background-color: transparent;
  background-size: 20px;
  background-position: calc(100% - 1px) 56%;
  background-image: url("down-arrow.svg");
  max-width: 100%;
  text-overflow: ellipsis;
}
.search-container {
  margin-top: 4px;
}
.search-input {
  -webkit-appearance: none;
  -moz-box-sizing: border-box !important;
  box-sizing: border-box !important;
  outline: none;
  border: 1px solid;
  border-radius: 2px;
  padding: 8px;
  font-size: 1rem;
  width: 100%;
}
.search-results {
  display: block;
}
.search-results .desc > span {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  display: block;
}
.search-results table {
  width: 100%; 
  white-space: nowrap;
  table-layout: fixed;
}
.search-results tr {
  cursor: pointer; 
  height:28px; 
  border-bottom:1px solid #28323E;
}
.search-results tr:hover {
  background-color: #28323E;
}
.search-results p {
  overflow: hidden;
  text-overflow: ellipsis;
  margin: 0;
}
.search-results td:first-child {
  padding-right: 15px; 
  white-space: initial;
}
.search-results td:first-child span {
  font-family: monospace; 
  font-size: 14px;
}
.search-results .type.struct,
.search-results .type.enum {
  color: #2DBFB8;
}
.search-results .type.function {
  color: #2BAB63;
}
.search-results .type.trait {
  color: #B78CF2;
}
.search-results .type.module,
.search-results .type.constant {
  color: #D2991D;
}
.popover {
  font-size: 1rem;
  position: absolute;
  right: 0;
  z-index: 2;
  display: block;
  margin-top: 7px;
  border-radius: 3px;
  border: 1px solid;
  font-size: 1rem;
}
.popover::before {
  content: "";
  position: absolute;
  right: 11px;
  border: solid;
  border-width: 1px 1px 0 0;
  display: inline-block;
  padding: 4px;
  transform: rotate(-45deg);
  top: -5px;
}
.popover,
.popover::before {
  background-color: var(--main-background-color);
  color: var(--main-color);
}
#help-button .popover {
  max-width: 600px;
}
#help-button .popover::before {
  right: 48px;
}
#help-button dt {
  float: left;
  clear: left;
  display: block;
  margin-right: 0.5rem;
}
#help-button span.top,
#help-button span.bottom {
  text-align: center;
  display: block;
  font-size: 1.125rem;
}
#help-button span.top {
  text-align: center;
  display: block;
  margin: 10px 0;
  border-bottom: 1px solid;
  padding-bottom: 4px;
  margin-bottom: 6px;
}
#help-button span.bottom {
  clear: both;
  border-top: 1px solid;
}
.side-by-side {
  text-align: initial;
}
.side-by-side > div {
  width: 50%;
  float: left;
  padding: 0 20px 20px 17px;
}
.item-info .stab {
  width: fit-content;
  min-height: 36px;
  display: flex;
  align-items: center;
  white-space: pre-wrap;
}
.stab {
  padding: 3px;
  margin-bottom: 5px;
  font-size: 0.875rem;
  font-weight: normal;
}
.stab p {
  display: inline;
  margin: 0;
}
.stab .emoji {
  font-size: 1.25rem;
}
.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: 0.875rem;
  line-height: 1.2;
  margin-bottom: 0;
  margin-left: 0.3125em;
  padding: 2px;
  vertical-align: text-bottom;
}
.module-item.unstable,
.import-item.unstable {
  opacity: 0.65;
}
.since {
  font-weight: normal;
  font-size: initial;
}
.rightside {
  padding-left: 12px;
  padding-right: 2px;
  position: initial;
}
.impl-items .srclink,
.impl .srclink,
.methods .srclink {
  font-weight: normal;
  font-size: 1rem;
}
.rightside {
  float: right;
}
.variants_table {
  width: 100%;
}
.variants_table tbody tr td:first-child {
  width: 1%;
}
td.summary-column {
  width: 100%;
}
.summary {
  padding-right: 0px;
}
pre.sway .question-mark {
  font-weight: bold;
}
a.test-arrow {
  display: inline-block;
  visibility: hidden;
  position: absolute;
  padding: 5px 10px 5px 10px;
  border-radius: 5px;
  font-size: 1.375rem;
  top: 5px;
  right: 5px;
  z-index: 1;
}
.example-wrap:hover .test-arrow {
  visibility: visible;
}
a.test-arrow:hover {
  text-decoration: none;
}
.code-attribute {
  font-weight: 300;
}
.item-spacer {
  width: 100%;
  height: 12px;
}
.out-of-band > span.since {
  position: initial;
  font-size: 1.25rem;
}
h3.variant {
  font-weight: 600;
  font-size: 1.125rem;
  margin-bottom: 10px;
  border-bottom: none;
}
.sub-variant h4 {
  font-size: 1rem;
  font-weight: 400;
  border-bottom: none;
  margin-top: 0;
  margin-bottom: 0;
}
.sub-variant {
  margin-left: 24px;
  margin-bottom: 40px;
}
.sub-variant > .sub-variant-field {
  margin-left: 24px;
}
.toggle-label {
  display: inline-block;
  margin-left: 4px;
  margin-top: 3px;
}
:target > code,
:target > .code-header {
  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: 1rem;
}
.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: 1.25rem;
}
.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: 1rem;
  cursor: default;
  position: absolute;
  border: 1px solid;
}
.notable-traits-tooltip::after {
  content: "\00a0\00a0\00a0";
}
.notable-traits .notable,
.notable-traits .docblock {
  margin: 0;
}
.notable-traits .notable {
  margin: 0;
  margin-bottom: 13px;
  font-size: 1.1875rem;
  font-weight: 600;
  display: block;
}
.notable-traits .docblock code.content {
  margin: 0;
  padding: 0;
  font-size: 1.25rem;
}
pre.sway.sway-example-rendered {
  position: relative;
}
pre.sway {
  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: 1.125rem;
  cursor: pointer;
  border: 0;
  border-top: 2px solid;
}
#titles > button:first-child:last-child {
  margin-right: 1px;
  width: calc(100% - 1px);
}
#titles > button:not(:last-child) {
  margin-right: 1px;
  width: calc(33.3% - 1px);
}
#titles > button > div.count {
  display: inline-block;
  font-size: 1rem;
}
.notable-traits {
  cursor: pointer;
  z-index: 2;
  margin-left: 5px;
}
#sidebar-toggle {
  position: sticky;
  top: 0;
  left: 0;
  font-weight: bold;
  font-size: 1.25rem;
  border-bottom: 1px solid;
  display: flex;
  height: 40px;
  justify-content: center;
  align-items: center;
  z-index: 10;
}
#source-sidebar {
  width: 100%;
  z-index: 1;
  overflow: auto;
}
#source-sidebar > .title {
  font-size: 1.5rem;
  text-align: center;
  border-bottom: 1px solid;
  margin-bottom: 6px;
}
#sidebar-toggle > button {
  background: none;
  color: inherit;
  cursor: pointer;
  text-align: center;
  border: none;
  outline: none;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  -webkit-appearance: none;
  opacity: 1;
}
#settings-menu,
#help-button {
  margin-left: 4px;
  outline: none;
}
#copy-path {
  height: 34px;
}
#settings-menu > a,
#help-button > a,
#copy-path {
  padding: 5px;
  width: 33px;
  border: 1px solid;
  border-radius: 2px;
  cursor: pointer;
}
#settings-menu {
  padding: 0;
}
#settings-menu > a,
#help-button > a {
  padding: 5px;
  height: 100%;
  display: block;
}
@keyframes rotating {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
#settings-menu.rotate > a img {
  animation: rotating 2s linear infinite;
}
.setting-line .radio-line input:checked {
  box-shadow: inset 0 0 0 3px var(--main-background-color);
  background-color: var(--settings-input-color);
}
.setting-line .radio-line input:focus {
  box-shadow: 0 0 1px 1px var(--settings-input-color);
}
.setting-line .radio-line input:checked:focus {
  box-shadow: inset 0 0 0 3px var(--main-background-color),
    0 0 2px 2px var(--settings-input-color);
}
.setting-line .radio-line input:hover {
  border-color: var(--settings-input-color) !important;
}
input:checked + .slider {
  background-color: var(--settings-input-color);
}
#help-button > a {
  text-align: center;
  font-size: 20px;
  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);
  overflow-wrap: normal;
}
#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;
  cursor: default;
}
.hidden-by-impl-hider,
.hidden-by-usual-hider {
  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: 1rem;
}
.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: 1.125rem;
  display: block;
}
.table-display td:hover .anchor {
  display: block;
  top: 2px;
  left: -5px;
}
#main-content > ul {
  padding-left: 10px;
}
#main-content > ul > li {
  list-style: none;
}
.non-exhaustive {
  margin-bottom: 1em;
}
details.dir-entry {
  padding-left: 4px;
}
details.dir-entry > summary {
  margin: 0 0 0 13px;
  list-style-position: outside;
  cursor: pointer;
}
details.dir-entry div.folders,
details.dir-entry div.files {
  padding-left: 23px;
}
details.dir-entry a {
  display: block;
}
details.swaydoc-toggle > summary.hideme {
  cursor: pointer;
}
details.swaydoc-toggle > summary {
  list-style: none;
}
details.swaydoc-toggle > summary::-webkit-details-marker,
details.swaydoc-toggle > summary::marker {
  display: none;
}
details.swaydoc-toggle > summary.hideme > span {
  margin-left: 9px;
}
details.swaydoc-toggle > summary::before {
  content: "";
  cursor: pointer;
  width: 16px;
  height: 16px;
  background-repeat: no-repeat;
  background-position: top left;
  display: inline-block;
  vertical-align: middle;
  opacity: 0.5;
}
details.swaydoc-toggle > summary::after {
  content: "Expand";
  overflow: hidden;
  width: 0;
  height: 0;
  position: absolute;
}
details.swaydoc-toggle > summary.hideme::after {
  content: "";
}
details.swaydoc-toggle > summary:focus::before,
details.swaydoc-toggle > summary:hover::before {
  opacity: 1;
}
details.swaydoc-toggle.top-doc > summary,
details.swaydoc-toggle.top-doc > summary::before,
details.swaydoc-toggle.non-exhaustive > summary,
details.swaydoc-toggle.non-exhaustive > summary::before {
  font-size: 1rem;
}
details.non-exhaustive {
  margin-bottom: 8px;
}
details.swaydoc-toggle > summary.hideme::before {
  position: relative;
}
details.swaydoc-toggle > summary:not(.hideme)::before {
  position: absolute;
  left: -24px;
  top: 4px;
}
.impl-items > details.swaydoc-toggle > summary:not(.hideme)::before {
  position: absolute;
  left: -24px;
}
details.swaydoc-toggle[open] > summary.hideme {
  position: absolute;
}
details.swaydoc-toggle {
  position: relative;
}
details.swaydoc-toggle[open] > summary.hideme > span {
  display: none;
}
details.swaydoc-toggle[open] > summary::before,
details.swaydoc-toggle[open] > summary.hideme::before {
  background-image: url("toggle-minus.svg");
}
details.swaydoc-toggle > summary::before {
  background-image: url("toggle-plus.svg");
}
details.swaydoc-toggle[open] > summary::before,
details.swaydoc-toggle[open] > summary.hideme::before {
  width: 16px;
  height: 16px;
  background-repeat: no-repeat;
  background-position: top left;
  display: inline-block;
  content: "";
}
details.swaydoc-toggle[open] > summary::after,
details.swaydoc-toggle[open] > summary.hideme::after {
  content: "Collapse";
}
.docblock summary > * {
  display: inline-block;
}
@media (min-width: 701px) {
  .docblock > .information:first-child > .tooltip {
    margin-top: 16px;
  }
  .source-sidebar-expanded
    .source
    .sidebar
    + main
    .width-limiter
    .sub-logo-container.rust-logo {
    display: none;
  }
  .source-sidebar-expanded .source .sidebar {
    width: 300px;
  }
}
@media (max-width: 700px) {
  *[id] {
    scroll-margin-top: 45px;
  }
  .swaydoc {
    padding-top: 0px;
    display: block;
  }
  main {
    padding-left: 15px;
    padding-top: 0px;
  }
  .swaydoc,
  .main-heading {
    flex-direction: column;
  }
  .content .out-of-band {
    text-align: left;
    margin-left: initial;
    padding: initial;
  }
  .content .out-of-band .since::before {
    content: "Since ";
  }
  #copy-path {
    display: none;
  }
  .sidebar .sidebar-logo,
  .sidebar .location {
    display: none;
  }
  .sidebar-elems {
    margin-top: 1em;
  }
  .sidebar {
    position: fixed;
    top: 45px;
    left: -1000px;
    margin-left: 0;
    margin: 0;
    padding: 0;
    z-index: 11;
    height: calc(100vh - 45px);
  }
  .source main,
  .swaydoc.source .sidebar {
    top: 0;
    padding: 0;
    height: 100vh;
    border: 0;
  }
  .sidebar.shown,
  .source-sidebar-expanded .source .sidebar,
  .sidebar:focus-within {
    left: 0;
  }
  .swaydoc.source > .sidebar {
    position: fixed;
    margin: 0;
    z-index: 11;
    width: 0;
  }
  .mobile-topbar .location a {
    padding: 0;
    margin: 0;
  }
  .mobile-topbar .location {
    border: none;
    padding: 0;
    margin: auto 0.5em auto auto;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    font-size: 24px;
  }
  .mobile-topbar .logo-container {
    max-height: 45px;
  }
  .mobile-topbar .logo-container > img {
    max-width: 35px;
    max-height: 35px;
    margin-left: 20px;
    margin-top: 5px;
    margin-bottom: 5px;
  }
  .mobile-topbar {
    display: flex;
    flex-direction: row;
    position: sticky;
    z-index: 10;
    font-size: 2rem;
    height: 45px;
    width: 100%;
    left: 0;
    top: 0;
  }
  .source .mobile-topbar {
    display: none;
  }
  .sidebar-menu-toggle {
    width: 45px;
    font-size: 32px;
    border: none;
  }
  .sidebar-elems {
    background-color: var(--sidebar-background-color);
  }
  .source nav:not(.sidebar).sub {
    margin-left: 32px;
  }
  .content {
    margin-left: 0px;
  }
  .source .content {
    margin-top: 10px;
  }
  #search {
    margin-left: 0;
    padding: 0;
  }
  .anchor {
    display: none !important;
  }
  .notable-traits {
    position: absolute;
    left: -22px;
    top: 24px;
  }
  #titles > button > div.count {
    float: left;
    width: 100%;
  }
  #titles {
    height: 50px;
  }
  #sidebar-filler {
    position: fixed;
    left: 45px;
    width: calc(100% - 45px);
    top: 0;
    height: 45px;
    z-index: -1;
    border-bottom: 1px solid;
  }
  #main-content > details.swaydoc-toggle > summary::before,
  #main-content > div > details.swaydoc-toggle > summary::before {
    left: -11px;
  }
  #sidebar-toggle {
    position: fixed;
    left: 1px;
    top: 100px;
    width: 30px;
    font-size: 1.5rem;
    text-align: center;
    padding: 0;
    z-index: 10;
    border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
    cursor: pointer;
    font-weight: bold;
    border: 1px solid;
    border-left: 0;
  }
  .source-sidebar-expanded #sidebar-toggle {
    left: unset;
    top: unset;
    width: unset;
    border-top-right-radius: unset;
    border-bottom-right-radius: unset;
    position: sticky;
    border: 0;
    border-bottom: 1px solid;
  }
  #source-sidebar {
    z-index: 11;
  }
  #main-content > .line-numbers {
    margin-top: 0;
  }
  .notable-traits .notable-traits-tooltiptext {
    left: 0;
    top: 100%;
  }
  #help-button {
    display: none;
  }
  .item-table {
    display: block;
  }
  .item-row {
    display: flex;
    flex-flow: column wrap;
  }
  .item-left,
  .item-right {
    width: 100%;
  }
  .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;
  }
  .source-sidebar-expanded .source .sidebar {
    max-width: 100vw;
    width: 100vw;
  }
  details.swaydoc-toggle:not(.top-doc) > summary {
    margin-left: 10px;
  }
  .impl-items > details.swaydoc-toggle > summary:not(.hideme)::before,
  #main-content > details.swaydoc-toggle:not(.top-doc) > summary::before,
  #main-content > div > details.swaydoc-toggle > summary::before {
    left: -11px;
  }
}
@media print {
  nav.sidebar,
  nav.sub,
  .content .out-of-band,
  a.srclink,
  #copy-path,
  details.swaydoc-toggle[open] > summary::before,
  details.swaydoc-toggle > summary::before,
  details.swaydoc-toggle.top-doc > summary {
    display: none;
  }
  .docblock {
    margin-left: 0;
  }
  main {
    padding: 10px;
  }
}
@media (max-width: 464px) {
  #titles,
  #titles > button {
    height: 73px;
  }
  #main-content > table:not(.table-display) td {
    word-break: break-word;
    width: 50%;
  }
  #crate-search {
    border-radius: 4px;
  }
  .docblock {
    margin-left: 12px;
  }
  .docblock code {
    overflow-wrap: break-word;
    overflow-wrap: anywhere;
  }
  .sub-container {
    flex-direction: column;
  }
  .sub-logo-container {
    align-self: center;
  }
  .source .sub-logo-container > img {
    height: 35px;
    width: 35px;
  }
  #sidebar-toggle {
    top: 10px;
  }
  .source-sidebar-expanded #sidebar-toggle {
    top: unset;
  }
}
.method-toggle summary,
.implementors-toggle summary,
.impl {
  margin-bottom: 0.75em;
}
.method-toggle[open] {
  margin-bottom: 2em;
}
#trait-implementations-list .method-toggle,
#synthetic-implementations-list .method-toggle,
#blanket-implementations-list .method-toggle {
  margin-bottom: 1em;
}
.scraped-example-list .scrape-help {
  margin-left: 10px;
  padding: 0 4px;
  font-weight: normal;
  font-size: 12px;
  position: relative;
  bottom: 1px;
  background: transparent;
  border-width: 1px;
  border-style: solid;
  border-radius: 50px;
}
.scraped-example .code-wrapper {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
}
.scraped-example:not(.expanded) .code-wrapper {
  max-height: 240px;
}
.scraped-example:not(.expanded) .code-wrapper pre {
  overflow-y: hidden;
  max-height: 240px;
  padding-bottom: 0;
}
.scraped-example:not(.expanded) .code-wrapper pre.line-numbers {
  overflow-x: hidden;
}
.scraped-example .code-wrapper .prev {
  position: absolute;
  top: 0.25em;
  right: 2.25em;
  z-index: 100;
  cursor: pointer;
}
.scraped-example .code-wrapper .next {
  position: absolute;
  top: 0.25em;
  right: 1.25em;
  z-index: 100;
  cursor: pointer;
}
.scraped-example .code-wrapper .expand {
  position: absolute;
  top: 0.25em;
  right: 0.25em;
  z-index: 100;
  cursor: pointer;
}
.scraped-example:not(.expanded) .code-wrapper:before {
  content: " ";
  width: 100%;
  height: 5px;
  position: absolute;
  z-index: 100;
  top: 0;
}
.scraped-example:not(.expanded) .code-wrapper:after {
  content: " ";
  width: 100%;
  height: 5px;
  position: absolute;
  z-index: 100;
  bottom: 0;
}
.scraped-example .code-wrapper .line-numbers {
  margin: 0;
  padding: 14px 0;
}
.scraped-example .code-wrapper .line-numbers span {
  padding: 0 14px;
}
.scraped-example .code-wrapper .example-wrap {
  flex: 1;
  overflow-x: auto;
  overflow-y: hidden;
  margin-bottom: 0;
}
.scraped-example:not(.expanded) .code-wrapper .example-wrap {
  overflow-x: hidden;
}
.scraped-example .code-wrapper .example-wrap pre.sway {
  overflow-x: inherit;
  width: inherit;
  overflow-y: hidden;
}
.more-examples-toggle {
  max-width: calc(100% + 25px);
  margin-top: 10px;
  margin-left: -25px;
}
.more-examples-toggle .hide-more {
  margin-left: 25px;
  margin-bottom: 5px;
  cursor: pointer;
}
.more-scraped-examples {
  margin-left: 5px;
  display: flex;
  flex-direction: row;
}
.more-scraped-examples-inner {
  width: calc(100% - 20px);
}
.toggle-line {
  align-self: stretch;
  margin-right: 10px;
  margin-top: 5px;
  padding: 0 4px;
  cursor: pointer;
}
.toggle-line-inner {
  min-width: 2px;
  height: 100%;
}
.more-scraped-examples .scraped-example {
  margin-bottom: 20px;
}
.more-scraped-examples .scraped-example:last-child {
  margin-bottom: 0;
}
.example-links a {
  margin-top: 20px;
}
.example-links ul {
  margin-bottom: 0;
}
#all-types > p {
  margin: 5px 0;
}
