1 /* See FiraSans-LICENSE.txt for the Fira Sans license. */
3 font-family: 'Fira Sans';
6 src: local('Fira Sans'),
7 url("FiraSans-Regular.woff2") format("woff2");
11 font-family: 'Fira Sans';
14 src: local('Fira Sans Medium'),
15 url("FiraSans-Medium.woff2") format("woff2");
19 /* See SourceSerif4-LICENSE.md for the Source Serif 4 license. */
21 font-family: 'Source Serif 4';
24 src: local('Source Serif 4'),
25 url("SourceSerif4-Regular.ttf.woff2") format("woff2");
29 font-family: 'Source Serif 4';
32 src: local('Source Serif 4 Italic'),
33 url("SourceSerif4-It.ttf.woff2") format("woff2");
37 font-family: 'Source Serif 4';
40 src: local('Source Serif 4 Bold'),
41 url("SourceSerif4-Bold.ttf.woff2") format("woff2");
45 /* See SourceCodePro-LICENSE.txt for the Source Code Pro license. */
47 font-family: 'Source Code Pro';
50 /* Avoid using locally installed font because bad versions are in circulation:
51 * see https://github.com/rust-lang/rust/issues/24355 */
52 src: url("SourceCodePro-Regular.ttf.woff2") format("woff2");
56 font-family: 'Source Code Pro';
59 src: url("SourceCodePro-It.ttf.woff2") format("woff2");
63 font-family: 'Source Code Pro';
66 src: url("SourceCodePro-Semibold.ttf.woff2") format("woff2");
70 /* Avoid using legacy CJK serif fonts in Windows like Batang. */
72 font-family: 'NanumBarunGothic';
73 src: url("NanumBarunGothic.ttf.woff2") format("woff2");
75 unicode-range: U+AC00-D7AF, U+1100-11FF, U+3130-318F, U+A960-A97F, U+D7B0-D7FF;
79 -webkit-box-sizing: border-box;
80 -moz-box-sizing: border-box;
81 box-sizing: border-box;
84 /* This part handles the "default" theme being used depending on the system one. */
88 @media (prefers-color-scheme: light) {
93 @media (prefers-color-scheme: dark) {
99 /* General structure and fonts */
102 /* Line spacing at least 1.5 per Web Content Accessibility Guidelines
103 https://www.w3.org/WAI/WCAG21/Understanding/visual-presentation.html */
104 font: 1rem/1.5 "Source Serif 4", NanumBarunGothic, serif;
107 /* We use overflow-wrap: break-word for Safari, which doesn't recognize
108 `anywhere`: https://developer.mozilla.org/en-US/docs/Web/CSS/overflow-wrap */
109 overflow-wrap: break-word;
110 /* Then override it with `anywhere`, which is required to make non-Safari browsers break
111 more aggressively when we want them to. */
112 overflow-wrap: anywhere;
114 -webkit-font-feature-settings: "kern", "liga";
115 -moz-font-feature-settings: "kern", "liga";
116 font-feature-settings: "kern", "liga";
120 font-size: 1.5rem; /* 24px */
123 font-size: 1.375rem; /* 22px */
126 font-size: 1.25rem; /* 20px */
128 h1, h2, h3, h4, h5, h6 {
132 margin: 20px 0 15px 0;
135 .docblock h3, .docblock h4, h5, h6 {
136 margin: 15px 0 5px 0;
145 justify-content: space-between;
149 .main-heading a:hover {
150 text-decoration: underline;
153 text-decoration: none;
155 /* The only headings that get underlines are:
156 Markdown-generated headings within the top-doc
157 Rustdoc-generated h2 section headings (e.g. "Implementations", "Required Methods", etc)
158 Underlines elsewhere in the documentation break up visual flow and tend to invert
159 section hierarchies. */
161 .top-doc .docblock > h3,
162 .top-doc .docblock > h4 {
163 border-bottom: 1px solid;
166 font-size: 1.125rem; /* 18px */
173 border-bottom-style: none;
177 margin-bottom: 0.4em;
184 .impl-items .associatedconstant,
185 .methods .associatedconstant,
186 .impl-items .associatedtype,
187 .methods .associatedtype {
193 div.impl-items > div {
197 h1, h2, h3, h4, h5, h6,
202 .search-results .result-name,
203 .content table td:first-child > a,
207 #source-sidebar, #sidebar-toggle,
208 details.rustdoc-toggle > summary::before,
209 div.impl-items > div:not(.docblock):not(.item-info),
210 .content ul.crate a.crate,
212 /* This selector is for the items listed in the "all items" page. */
213 #main-content > ul.docblock > li > a {
214 font-family: "Fira Sans", Arial, NanumBarunGothic, sans-serif;
220 ul ul, ol ul, ul ol, ol ol {
221 margin-bottom: .625em;
225 /* Paragraph spacing at least 1.5 times line spacing per Web Content Accessibility Guidelines.
226 Line-height is 1.5rem, so line spacing is .5rem; .75em is 1.5 times that.
227 https://www.w3.org/WAI/WCAG21/Understanding/visual-presentation.html */
235 /* Fix some style changes due to normalize.css 8 */
243 border-collapse: collapse;
257 /* Buttons on Safari have different default padding than other platforms. Make them the same. */
261 /* end tweaks for normalize.css 8 */
272 padding: 10px 15px 40px 45px;
285 .source .width-limiter {
289 details:not(.rustdoc-toggle) summary {
293 code, pre, a.test-arrow, .code-header {
294 font-family: "Source Code Pro", monospace;
296 .docblock code, .docblock-short code {
300 .docblock pre code, .docblock-short pre code {
306 .docblock.item-decl {
313 .source .content pre {
342 .sub-logo-container {
347 .source .sub-logo-container {
351 .source .sub-logo-container > img {
369 .sidebar > .location {
374 overflow-wrap: anywhere;
377 .rustdoc.source .sidebar {
384 border-right: 1px solid;
386 /* The sidebar is by default hidden */
390 .source .sidebar > *:not(#sidebar-toggle) {
395 .source .sidebar.expanded {
399 .source .sidebar.expanded > *:not(#sidebar-toggle) {
408 /* Improve the scrollbar display on firefox */
410 scrollbar-width: initial;
413 scrollbar-width: thin;
416 /* Improve the scrollbar display on webkit-based browsers */
417 ::-webkit-scrollbar {
420 .sidebar::-webkit-scrollbar {
423 ::-webkit-scrollbar-track {
424 -webkit-box-shadow: inset 0;
427 /* Everything else */
430 display: none !important;
433 .sidebar .logo-container {
437 justify-content: center;
441 overflow-wrap: break-word;
444 .logo-container > img {
453 .location a:first-of-type {
460 .block ul, .block li {
470 margin-left: -0.25rem;
472 text-overflow: ellipsis;
482 margin-bottom: 0.7rem;
486 font-size: 1.125rem; /* 18px */
492 .sidebar-elems .block {
496 .sidebar-elems .block li a {
504 .source .content pre.rust {
510 .rustdoc .example-wrap {
511 display: inline-flex;
520 .example-wrap > pre.line-number {
525 border-top-left-radius: 5px;
526 border-bottom-left-radius: 5px;
529 .example-wrap > pre.rust a:hover {
530 text-decoration: underline;
536 .rustdoc:not(.source) .example-wrap > pre:not(.line-number) {
541 .rustdoc:not(.source) .example-wrap > pre.line-numbers {
546 .rustdoc .example-wrap > pre {
563 .content > .example-wrap pre.line-numbers {
565 -webkit-user-select: none;
566 -moz-user-select: none;
567 -ms-user-select: none;
575 overflow-wrap: break-word;
576 overflow-wrap: anywhere;
584 text-overflow: ellipsis;
587 /* Wrap non-pre code blocks (`text`) but not (```text```). */
588 .docblock > :not(pre) > code,
589 .docblock-short > :not(pre) > code {
590 white-space: pre-wrap;
593 .top-doc .docblock h2 { font-size: 1.375rem; }
594 .top-doc .docblock h3 { font-size: 1.25; }
595 .top-doc .docblock h4,
596 .top-doc .docblock h5 {
599 .top-doc .docblock h6 {
603 .docblock h5 { font-size: 1rem; }
604 .docblock h6 { font-size: 0.875rem; }
611 .docblock > :not(.information):not(.more-examples-toggle) {
616 .content .out-of-band {
623 .method > .code-header, .trait-impl > .code-header {
624 max-width: calc(100% - 41px);
630 display: inline-block;
637 overflow-wrap: break-word;
638 overflow-wrap: anywhere;
641 .in-band > code, .in-band > .code-header {
642 display: inline-block;
648 #main-content > .since {
650 font-family: "Fira Sans", Arial, sans-serif;
653 .content table:not(.table-display) {
654 border-spacing: 0 5px;
656 .content td { vertical-align: top; }
657 .content td:first-child { padding-right: 20px; }
658 .content td p:first-child { margin-top: 0; }
659 .content td h1, .content td h2 { margin-left: 0; font-size: 1.125rem; }
660 .content tr:first-child td { border-top: 0; }
664 width: calc(100% - 2px);
684 .content .item-list {
685 list-style-type: none;
689 .content .multi-column {
690 -moz-column-count: 5;
691 -moz-column-gap: 2.5em;
692 -webkit-column-count: 5;
693 -webkit-column-gap: 2.5em;
697 .content .multi-column li { width: 100%; display: inline-block; }
699 .content > .methods > .method {
703 /* Shift "where ..." part of method or fn definition down a line */
704 .content .method .where,
706 .content .where.fmt-newline {
711 .content .methods > div:not(.notable-traits):not(.method) {
716 .content .docblock > .impl-items {
720 .content .docblock >.impl-items .table-display {
723 .content .docblock >.impl-items table td {
726 .content .docblock > .impl-items .table-display, .impl-items table td {
734 .content .item-info code {
738 .content .item-info {
743 .sub-variant > div > .item-info {
747 .content .impl-items .docblock, .content .impl-items .item-info {
751 .content .impl-items > .item-info {
755 .methods > .item-info, .content .impl-items > .item-info {
763 #main-content > .item-info {
780 border-top: 1px solid;
781 border-bottom: 1px solid;
783 nav.main .separator {
785 display: inline-block;
789 nav.sum { text-align: right; }
790 nav.sub form { display: inline; }
793 text-decoration: none;
794 background: transparent;
797 .small-section-header {
799 justify-content: space-between;
803 .small-section-header:hover > .anchor {
807 .in-band:hover > .anchor, .impl:hover > .anchor, .method.trait-impl:hover > .anchor,
808 .type.trait-impl:hover > .anchor, .associatedconstant.trait-impl:hover > .anchor,
809 .associatedtype.trait-impl:hover > .anchor {
810 display: inline-block;
817 background: none !important;
822 .small-section-header > .anchor {
826 h2.small-section-header > .anchor {
833 .docblock a:not(.srclink):not(.test-arrow):not(.scrape-help):hover,
834 .docblock-short a:not(.srclink):not(.test-arrow):not(.scrape-help):hover, .item-info a {
835 text-decoration: underline;
838 .block a.current.crate { font-weight: 500; }
840 /* In most contexts we use `overflow-wrap: anywhere` to ensure that we can wrap
841 as much as needed on mobile (see
842 src/test/rustdoc-gui/type-declaration-overflow.goml for an example of why
843 this matters). The `anywhere` value means:
845 "Soft wrap opportunities introduced by the word break are considered when
846 calculating min-content intrinsic sizes."
848 https://developer.mozilla.org/en-US/docs/Web/CSS/overflow-wrap#values
850 For table layouts, that becomes a problem: the browser tries to make each
851 column as narrow as possible, and `overflow-wrap: anywhere` means it can do
852 so by breaking words - even if some other column could be shrunk without
853 breaking words! This shows up, for instance, in the `Structs` / `Modules` /
854 `Functions` (etcetera) sections of a module page, and when a docblock
857 So, for table layouts, override the default with break-word, which does
858 _not_ affect min-content intrinsic sizes.
862 overflow-wrap: break-word;
871 .item-left, .item-right {
875 padding-right: 1.25rem;
883 .search-container > * {
886 .search-results-title {
898 padding-left: 0.3125em;
904 -moz-appearance: none;
905 -webkit-appearance: none;
906 /* Removes default arrow from firefox */
909 background-repeat: no-repeat;
910 background-color: transparent;
911 background-size: 20px;
912 background-position: calc(100% - 1px) 56%;
913 background-image: /* AUTOREPLACE: */url("down-arrow.svg");
919 /* Override Normalize.css: it has a rule that sets
920 -webkit-appearance: textfield for search inputs. That
921 causes rounded corners and no border on iOS Safari. */
922 -webkit-appearance: none;
923 /* Override Normalize.css: we have margins and do
924 not want to overflow - the `moz` attribute is necessary
925 until Firefox 29, too early to drop at this point */
926 -moz-box-sizing: border-box !important;
927 box-sizing: border-box !important;
933 transition: border-color 300ms ease;
942 .search-results.active {
944 /* prevent overhanging tabs from moving the first result */
948 .search-results .desc > span {
950 text-overflow: ellipsis;
955 .search-results > a {
958 /* A little margin ensures the browser's outlining of focused links has room to display. */
961 border-bottom: 1px solid #aaa3;
964 .search-results > a > div {
969 .search-results .result-name, .search-results div.desc, .search-results .result-description {
972 .search-results .result-name {
976 .search-results .result-name > span {
977 display: inline-block;
982 body.blur > :not(#help) {
984 -webkit-filter: blur(8px);
995 justify-content: center;
1000 box-shadow: 0 0 6px rgba(0,0,0,.2);
1009 margin-right: 0.5rem;
1011 #help span.top, #help span.bottom {
1014 font-size: 1.125rem;
1021 border-bottom: 1px solid;
1022 padding-bottom: 4px;
1027 border-top: 1px solid;
1029 #help dd { margin: 5px 35px; }
1030 #help .infos { padding-left: 0; }
1031 #help h1, #help h2 { margin-top: 0; }
1035 padding: 0 20px 20px 17px;;
1039 display: inline-block;
1044 font-size: 0.875rem;
1045 font-weight: normal;
1055 /* Black one-pixel outline around emoji shapes */
1065 .import-item .stab {
1067 display: inline-block;
1068 font-size: 0.875rem;
1071 margin-left: 0.3125em;
1073 vertical-align: text-bottom;
1076 .module-item.unstable,
1077 .import-item.unstable {
1082 font-weight: normal;
1092 .impl-items .srclink, .impl .srclink, .methods .srclink {
1093 /* Override header settings otherwise it's too bold */
1094 font-weight: normal;
1106 .variants_table tbody tr td:first-child {
1107 width: 1%; /* make the variant name as small as possible */
1118 pre.rust .question-mark {
1123 display: inline-block;
1126 padding: 5px 10px 5px 10px;
1128 font-size: 1.375rem;
1133 .example-wrap:hover .test-arrow {
1134 visibility: visible;
1137 text-decoration: none;
1149 .out-of-band > span.since {
1156 font-size: 1.125rem;
1157 margin-bottom: 10px;
1158 border-bottom: none;
1164 border-bottom: none;
1171 margin-bottom: 40px;
1174 .sub-variant > .sub-variant-field {
1179 display: inline-block;
1184 :target > code, :target > .code-header {
1201 display: inline-block;
1208 padding: 5px 3px 3px 3px;
1214 .tooltip.ignore::after {
1215 content: "This example is not tested";
1217 .tooltip.compile_fail::after {
1218 content: "This example deliberately fails to compile";
1220 .tooltip.should_panic::after {
1221 content: "This example panics";
1223 .tooltip.edition::after {
1224 content: "This code runs with edition " attr(data-edition);
1234 border-style: solid;
1238 .tooltip:hover::before, .tooltip:hover::after {
1242 .tooltip.compile_fail, .tooltip.should_panic, .tooltip.ignore {
1247 .notable-traits-tooltip {
1248 display: inline-block;
1252 .notable-traits:hover .notable-traits-tooltiptext,
1253 .notable-traits .notable-traits-tooltiptext.force-tooltip {
1254 display: inline-block;
1257 .notable-traits .notable-traits-tooltiptext {
1259 padding: 5px 3px 3px 3px;
1269 .notable-traits-tooltip::after {
1270 /* The margin on the tooltip does not capture hover events,
1271 this extends the area of hover enough so that mouse hover is not
1272 lost when moving the mouse to the tooltip */
1273 content: "\00a0\00a0\00a0";
1276 .notable-traits .notable, .notable-traits .docblock {
1280 .notable-traits .notable {
1282 margin-bottom: 13px;
1283 font-size: 1.1875rem;
1288 .notable-traits .docblock code.content{
1294 /* Example code has the "Run" button that needs to be positioned relative to the pre */
1295 pre.rust.rust-example-rendered {
1310 .search-failed.active {
1314 .search-failed > ul {
1329 font-size: 1.125rem;
1332 border-top: 2px solid;
1335 #titles > button:first-child:last-child {
1337 width: calc(100% - 1px);
1340 #titles > button:not(:last-child) {
1342 width: calc(33.3% - 1px);
1345 #titles > button > div.count {
1346 display: inline-block;
1363 border-bottom: 1px solid;
1366 justify-content: center;
1367 align-items: center;
1375 #source-sidebar > .title {
1378 border-bottom: 1px solid;
1382 #settings-menu, #help-button {
1390 #settings-menu > a, #help-button, #copy-path {
1400 #settings-menu > a {
1407 @keyframes rotating {
1409 transform: rotate(0deg);
1412 transform: rotate(360deg);
1415 #settings-menu.rotate > a img {
1416 animation: rotating 2s linear infinite;
1420 font-family: "Fira Sans", Arial, sans-serif;
1422 /* Rare exception to specifying font sizes in rem. Since this is acting
1423 as an icon, it's okay to specify their sizes in pixels. */
1429 background: initial;
1447 #theme-choices > button {
1452 background: rgba(0,0,0,0);
1453 overflow-wrap: normal;
1456 #theme-choices > button:not(:first-child) {
1457 border-top: 1px solid;
1461 display: inline-block;
1463 font: 15px monospace;
1465 vertical-align: middle;
1471 .hidden-by-impl-hider,
1472 .hidden-by-usual-hider {
1473 /* important because of conflicting rule for small screens */
1474 display: none !important;
1477 #implementations-list > h3 > span.in-band {
1484 border-collapse: collapse;
1489 .table-display tr td:first-child {
1493 .table-display tr td:last-child {
1496 .table-display .out-of-band {
1498 font-size: 1.125rem;
1502 .table-display td:hover .anchor {
1508 #main-content > ul {
1511 #main-content > ul > li {
1532 div.files > a:hover, div.name:hover {
1533 background-color: #a14b4b;
1535 div.name.expand + .children {
1541 font-size: 0.625rem;
1546 div.name.expand::before {
1547 transform: rotate(90deg);
1552 /* The hideme class is used on summary tags that contain a span with
1553 placeholder text shown only when the toggle is closed. For instance,
1554 "Expand description" or "Show methods". */
1555 details.rustdoc-toggle > summary.hideme {
1559 details.rustdoc-toggle > summary {
1562 details.rustdoc-toggle > summary::-webkit-details-marker,
1563 details.rustdoc-toggle > summary::marker {
1567 details.rustdoc-toggle > summary.hideme > span {
1571 details.rustdoc-toggle > summary::before {
1576 background-repeat: no-repeat;
1577 background-position: top left;
1578 display: inline-block;
1579 vertical-align: middle;
1583 /* Screen readers see the text version at the end the line.
1584 Visual readers see the icon at the start of the line, but small and transparent. */
1585 details.rustdoc-toggle > summary::after {
1593 details.rustdoc-toggle > summary.hideme::after {
1594 /* "hideme" toggles already have a description when they're contracted */
1598 details.rustdoc-toggle > summary:focus::before,
1599 details.rustdoc-toggle > summary:hover::before {
1603 details.rustdoc-toggle.top-doc > summary,
1604 details.rustdoc-toggle.top-doc > summary::before,
1605 details.rustdoc-toggle.non-exhaustive > summary,
1606 details.rustdoc-toggle.non-exhaustive > summary::before {
1607 font-family: 'Fira Sans';
1611 details.non-exhaustive {
1615 details.rustdoc-toggle > summary.hideme::before {
1619 details.rustdoc-toggle > summary:not(.hideme)::before {
1625 .impl-items > details.rustdoc-toggle > summary:not(.hideme)::before {
1630 /* When a "hideme" summary is open and the "Expand description" or "Show
1631 methods" text is hidden, we want the [-] toggle that remains to not
1632 affect the layout of the items to its right. To do that, we use
1633 absolute positioning. Note that we also set position: relative
1634 on the parent <details> to make this work properly. */
1635 details.rustdoc-toggle[open] > summary.hideme {
1639 details.rustdoc-toggle {
1643 details.rustdoc-toggle[open] > summary.hideme > span {
1647 details.undocumented[open] > summary::before,
1648 details.rustdoc-toggle[open] > summary::before,
1649 details.rustdoc-toggle[open] > summary.hideme::before {
1650 background-image: /* AUTOREPLACE: */url("toggle-minus.svg");
1653 details.undocumented > summary::before, details.rustdoc-toggle > summary::before {
1654 background-image: /* AUTOREPLACE: */url("toggle-plus.svg");
1657 details.rustdoc-toggle[open] > summary::before,
1658 details.rustdoc-toggle[open] > summary.hideme::before {
1661 background-repeat: no-repeat;
1662 background-position: top left;
1663 display: inline-block;
1667 details.rustdoc-toggle[open] > summary::after,
1668 details.rustdoc-toggle[open] > summary.hideme::after {
1669 content: "Collapse";
1672 /* This is needed in docblocks to have the "â–¶" element to be on the same line. */
1673 .docblock summary > * {
1674 display: inline-block;
1679 @media (min-width: 701px) {
1680 /* In case there is no documentation before a code block, we need to add some margin at the top
1681 to prevent an overlay between the "collapse toggle" and the information tooltip.
1682 However, it's not needed with smaller screen width because the doc/code block is always put
1683 "one line" below. */
1684 .docblock > .information:first-child > .tooltip {
1688 /* When we expand the sidebar on the source code page, we hide the logo on the left of the
1689 search bar to have more space. */
1690 .sidebar.expanded + main .width-limiter .sub-logo-container.rust-logo {
1694 .source .sidebar.expanded {
1699 @media (max-width: 700px) {
1700 /* When linking to an item with an `id` (for instance, by clicking a link in the sidebar,
1701 or visiting a URL with a fragment like `#method.new`, we don't want the item to be obscured
1702 by the topbar. Anything with an `id` gets scroll-margin-top equal to .mobile-topbar's size.
1705 scroll-margin-top: 45px;
1710 /* Sidebar should overlay main content, rather than pushing main content to the right.
1711 Turn off `display: flex` on the body element. */
1722 flex-direction: column;
1725 .content .out-of-band {
1727 margin-left: initial;
1731 .content .out-of-band .since::before {
1739 /* Hide the logo and item name from the sidebar. Those are displayed
1740 in the mobile-topbar instead. */
1741 .sidebar .sidebar-logo,
1742 .sidebar .location {
1753 /* Hide the sidebar offscreen while not in use. Doing this instead of display: none means
1754 the sidebar stays visible for screen readers, which is useful for navigation. */
1757 background-color: rgba(0,0,0,0);
1761 /* Reduce height slightly to account for mobile topbar. */
1762 height: calc(100vh - 45px);
1765 /* The source view uses a different design for the sidebar toggle, and doesn't have a topbar,
1766 so don't bump down the main content or the sidebar. */
1775 .sidebar:focus-within {
1779 .rustdoc.source > .sidebar {
1786 .mobile-topbar .location a {
1791 .mobile-topbar .location {
1794 margin: auto 0.5em auto auto;
1795 text-overflow: ellipsis;
1797 white-space: nowrap;
1798 /* Rare exception to specifying font sizes in rem. Since the topbar
1799 height is specified in pixels, this also has to be specified in
1800 pixels to avoid overflowing the topbar when the user sets a bigger
1805 .mobile-topbar .logo-container {
1809 .mobile-topbar .logo-container > img {
1819 flex-direction: row;
1829 .source .mobile-topbar {
1833 .sidebar-menu-toggle {
1835 /* Rare exception to specifying font sizes in rem. Since this is acting
1836 as an icon, it's okay to specify its sizes in pixels. */
1841 .source nav:not(.sidebar).sub {
1859 display: none !important;
1868 #titles > button > div.count {
1877 /* Because of ios, we need to actually have a full height sidebar title so the
1878 * actual sidebar can show up. But then we need to make it transparent so we don't
1879 * hide content. The filler just allows to create the background for the sidebar
1880 * title. But because of the absolute position, I had to lower the z-index.
1885 width: calc(100% - 45px);
1889 border-bottom: 1px solid;
1892 #main-content > details.rustdoc-toggle > summary::before,
1893 #main-content > div > details.rustdoc-toggle > summary::before {
1897 .sidebar.expanded #sidebar-toggle {
1901 .sidebar:not(.expanded) #sidebar-toggle {
1910 border-top-right-radius: 3px;
1911 border-bottom-right-radius: 3px;
1922 #main-content > .line-numbers {
1926 .notable-traits .notable-traits-tooltiptext {
1931 /* We don't display the help button on mobile devices. */
1936 /* Display an alternating layout on tablets and phones */
1942 flex-flow: column wrap;
1944 .item-left, .item-right {
1948 /* Display an alternating layout on tablets and phones */
1949 .search-results > a {
1950 border-bottom: 1px solid #aaa9;
1953 .search-results .result-name, .search-results div.desc, .search-results .result-description {
1956 .search-results div.desc, .search-results .result-description, .item-right {
1960 .source .sidebar.expanded {
1965 /* Position of the "[-]" element. */
1966 details.rustdoc-toggle:not(.top-doc) > summary {
1969 .impl-items > details.rustdoc-toggle > summary:not(.hideme)::before,
1970 #main-content > details.rustdoc-toggle:not(.top-doc) > summary::before,
1971 #main-content > div > details.rustdoc-toggle > summary::before {
1977 nav.sub, .content .out-of-band {
1982 @media (max-width: 464px) {
1983 #titles, #titles > button {
1987 #main-content > table:not(.table-display) td {
1988 word-break: break-word;
2001 overflow-wrap: break-word;
2002 overflow-wrap: anywhere;
2006 flex-direction: column;
2009 .sub-logo-container {
2013 .source .sub-logo-container > img {
2018 .sidebar:not(.expanded) #sidebar-toggle {
2023 .method-toggle summary,
2024 .implementors-toggle summary,
2026 margin-bottom: 0.75em;
2029 .method-toggle[open] {
2033 .implementors-toggle[open] {
2037 #trait-implementations-list .method-toggle,
2038 #synthetic-implementations-list .method-toggle,
2039 #blanket-implementations-list .method-toggle {
2043 /* Begin: styles for --scrape-examples feature */
2045 .scraped-example-list .scrape-help {
2048 font-weight: normal;
2052 background: transparent;
2054 border-style: solid;
2055 border-radius: 50px;
2058 .scraped-example-title {
2059 font-family: 'Fira Sans';
2062 .scraped-example .code-wrapper {
2065 flex-direction: row;
2070 .scraped-example:not(.expanded) .code-wrapper {
2074 .scraped-example:not(.expanded) .code-wrapper pre {
2080 .scraped-example:not(.expanded) .code-wrapper pre.line-numbers {
2084 .scraped-example .code-wrapper .prev {
2092 .scraped-example .code-wrapper .next {
2100 .scraped-example .code-wrapper .expand {
2108 .scraped-example:not(.expanded) .code-wrapper:before {
2117 .scraped-example:not(.expanded) .code-wrapper:after {
2126 .scraped-example .code-wrapper .line-numbers {
2131 .scraped-example .code-wrapper .line-numbers span {
2135 .scraped-example .code-wrapper .example-wrap {
2142 .scraped-example:not(.expanded) .code-wrapper .example-wrap {
2146 .scraped-example .code-wrapper .example-wrap pre.rust {
2147 overflow-x: inherit;
2153 .more-examples-toggle {
2154 max-width: calc(100% + 25px);
2159 .more-examples-toggle .hide-more {
2165 .more-examples-toggle summary, .more-examples-toggle .hide-more {
2166 font-family: 'Fira Sans';
2169 .more-scraped-examples {
2172 flex-direction: row;
2175 .more-scraped-examples-inner {
2176 /* 20px is width of toggle-line + toggle-line-inner */
2177 width: calc(100% - 20px);
2181 align-self: stretch;
2188 .toggle-line-inner {
2193 .more-scraped-examples .scraped-example {
2194 margin-bottom: 20px;
2197 .more-scraped-examples .scraped-example:last-child {
2203 font-family: 'Fira Sans';
2210 /* End: styles for --scrape-examples feature */