]> git.lizzy.rs Git - rust.git/blob - src/librustdoc/html/static/css/rustdoc.css
Rollup merge of #90025 - JohnTitor:revert-86011, r=estebank
[rust.git] / src / librustdoc / html / static / css / rustdoc.css
1 /* See FiraSans-LICENSE.txt for the Fira Sans license. */
2 @font-face {
3         font-family: 'Fira Sans';
4         font-style: normal;
5         font-weight: 400;
6         src: local('Fira Sans'),
7                 url("FiraSans-Regular.woff2") format("woff2"),
8                 url("FiraSans-Regular.woff") format('woff');
9         font-display: swap;
10 }
11 @font-face {
12         font-family: 'Fira Sans';
13         font-style: normal;
14         font-weight: 500;
15         src: local('Fira Sans Medium'),
16                 url("FiraSans-Medium.woff2") format("woff2"),
17                 url("FiraSans-Medium.woff") format('woff');
18         font-display: swap;
19 }
20
21 /* See SourceSerif4-LICENSE.md for the Source Serif 4 license. */
22 @font-face {
23         font-family: 'Source Serif 4';
24         font-style: normal;
25         font-weight: 400;
26         src: local('Source Serif 4'),
27                 url("SourceSerif4-Regular.ttf.woff2") format("woff2"),
28                 url("SourceSerif4-Regular.ttf.woff") format("woff");
29         font-display: swap;
30 }
31 @font-face {
32         font-family: 'Source Serif 4';
33         font-style: italic;
34         font-weight: 400;
35         src: local('Source Serif 4 Italic'),
36                 url("SourceSerif4-It.ttf.woff2") format("woff2"),
37                 url("SourceSerif4-It.ttf.woff") format("woff");
38         font-display: swap;
39 }
40 @font-face {
41         font-family: 'Source Serif 4';
42         font-style: normal;
43         font-weight: 700;
44         src: local('Source Serif 4 Bold'),
45                 url("SourceSerif4-Bold.ttf.woff2") format("woff2"),
46                 url("SourceSerif4-Bold.ttf.woff") format("woff");
47         font-display: swap;
48 }
49
50 /* See SourceCodePro-LICENSE.txt for the Source Code Pro license. */
51 @font-face {
52         font-family: 'Source Code Pro';
53         font-style: normal;
54         font-weight: 400;
55         /* Avoid using locally installed font because bad versions are in circulation:
56          * see https://github.com/rust-lang/rust/issues/24355 */
57         src: url("SourceCodePro-Regular.ttf.woff2") format("woff2"),
58                 url("SourceCodePro-Regular.ttf.woff") format("woff");
59         font-display: swap;
60 }
61 @font-face {
62         font-family: 'Source Code Pro';
63         font-style: italic;
64         font-weight: 400;
65         src: url("SourceCodePro-It.ttf.woff2") format("woff2"),
66                 url("SourceCodePro-It.ttf.woff") format("woff");
67         font-display: swap;
68 }
69 @font-face {
70         font-family: 'Source Code Pro';
71         font-style: normal;
72         font-weight: 600;
73         src: url("SourceCodePro-Semibold.ttf.woff2") format("woff2"),
74                 url("SourceCodePro-Semibold.ttf.woff") format("woff");
75         font-display: swap;
76 }
77
78 /* Avoid using legacy CJK serif fonts in Windows like Batang. */
79 @font-face {
80         font-family: 'Noto Sans KR';
81         src: url("noto-sans-kr-regular.woff2") format("woff2"),
82                 url("noto-sans-kr-regular.woff") format("woff");
83         font-display: swap;
84         unicode-range: U+AC00-D7AF, U+3130-318F, U+1100-11FF, U+A960-A97F, U+D7B0-D7FF;
85 }
86
87 * {
88         -webkit-box-sizing: border-box;
89         -moz-box-sizing: border-box;
90         box-sizing: border-box;
91 }
92
93 /* This part handles the "default" theme being used depending on the system one. */
94 html {
95         content: "";
96 }
97 @media (prefers-color-scheme: light) {
98         html {
99                 content: "light";
100         }
101 }
102 @media (prefers-color-scheme: dark) {
103         html {
104                 content: "dark";
105         }
106 }
107
108 /* General structure and fonts */
109
110 body {
111         font: 16px/1.4 "Source Serif 4", "Noto Sans KR", serif;
112         margin: 0;
113         position: relative;
114         padding: 10px 15px 20px 15px;
115
116         -webkit-font-feature-settings: "kern", "liga";
117         -moz-font-feature-settings: "kern", "liga";
118         font-feature-settings: "kern", "liga";
119 }
120
121 h1 {
122         font-size: 1.5em;
123 }
124 h2 {
125         font-size: 1.4em;
126 }
127 h3 {
128         font-size: 1.3em;
129 }
130 h1, h2, h3, h4, h5, h6 {
131         font-weight: 500;
132         margin: 20px 0 15px 0;
133         padding-bottom: 6px;
134 }
135 h1.fqn {
136         display: flex;
137         border-bottom: 1px dashed;
138         margin-top: 0;
139
140         /* workaround to keep flex from breaking below 700 px width due to the float: right on the nav
141            above the h1 */
142         padding-left: 1px;
143 }
144 h1.fqn > .in-band > a:hover {
145         text-decoration: underline;
146 }
147 h2, h3, h4 {
148         border-bottom: 1px solid;
149 }
150 h3.code-header, h4.code-header {
151         font-size: 1em;
152         font-weight: 600;
153         border: none;
154         padding: 0;
155         margin: 0;
156 }
157 .impl,
158 .impl-items .method,
159 .methods .method,
160 .impl-items .type,
161 .methods .type,
162 .impl-items .associatedconstant,
163 .methods .associatedconstant,
164 .impl-items .associatedtype,
165 .methods .associatedtype {
166         flex-basis: 100%;
167         font-weight: 600;
168         margin-top: 16px;
169         margin-bottom: 10px;
170         position: relative;
171 }
172 .impl, .method.trait-impl,
173 .type.trait-impl,
174 .associatedconstant.trait-impl,
175 .associatedtype.trait-impl {
176         padding-left: 15px;
177 }
178
179 div.impl-items > div {
180         padding-left: 0;
181 }
182
183 h1, h2, h3, h4, h5, h6,
184 .sidebar, a.source, .search-input, .search-results .result-name,
185 .content table td:first-child > a,
186 .item-left > a,
187 div.item-list .out-of-band, span.since,
188 #source-sidebar, #sidebar-toggle,
189 details.rustdoc-toggle > summary::before,
190 details.undocumented > summary::before,
191 div.impl-items > div:not(.docblock):not(.item-info),
192 .content ul.crate a.crate, a.srclink,
193 /* This selector is for the items listed in the "all items" page. */
194 #main > ul.docblock > li > a {
195         font-family: "Fira Sans", Arial, sans-serif;
196 }
197
198 .content ul.crate a.crate {
199         font-size: 16px/1.6;
200 }
201
202 ol, ul {
203         padding-left: 25px;
204 }
205 ul ul, ol ul, ul ol, ol ol {
206         margin-bottom: .6em;
207 }
208
209 p {
210         margin: 0 0 .6em 0;
211 }
212
213 summary {
214         outline: none;
215 }
216
217 /* Fix some style changes due to normalize.css 8 */
218
219 td,
220 th {
221         padding: 0;
222 }
223
224 table {
225         border-collapse: collapse;
226 }
227
228 button,
229 input,
230 optgroup,
231 select,
232 textarea {
233         color: inherit;
234         font: inherit;
235         margin: 0;
236 }
237
238 /* end tweaks for normalize.css 8 */
239
240 details:not(.rustdoc-toggle) summary {
241         margin-bottom: .6em;
242 }
243
244 code, pre, a.test-arrow, .code-header {
245         font-family: "Source Code Pro", monospace;
246 }
247 .docblock code, .docblock-short code {
248         border-radius: 3px;
249         padding: 0 0.1em;
250 }
251 .docblock pre code, .docblock-short pre code {
252         padding: 0;
253 }
254 pre {
255         padding: 14px;
256 }
257 .docblock.item-decl {
258         margin-left: 0;
259 }
260 .item-decl pre {
261         overflow-x: auto;
262 }
263
264 .source .content pre {
265         padding: 20px;
266 }
267
268 img {
269         max-width: 100%;
270 }
271
272 li {
273         position: relative;
274 }
275
276 .source .content {
277         margin-top: 50px;
278         max-width: none;
279         overflow: visible;
280         margin-left: 0px;
281 }
282
283 nav.sub {
284         font-size: 16px;
285         text-transform: uppercase;
286 }
287
288 .sidebar {
289         width: 200px;
290         position: fixed;
291         left: 0;
292         top: 0;
293         bottom: 0;
294         overflow: auto;
295 }
296
297 /* Improve the scrollbar display on firefox */
298 * {
299         scrollbar-width: initial;
300 }
301 .sidebar {
302         scrollbar-width: thin;
303 }
304
305 /* Improve the scrollbar display on webkit-based browsers */
306 ::-webkit-scrollbar {
307         width: 12px;
308 }
309 .sidebar::-webkit-scrollbar {
310         width: 8px;
311 }
312 ::-webkit-scrollbar-track {
313         -webkit-box-shadow: inset 0;
314 }
315
316 .sidebar .block > ul > li {
317         margin-right: -10px;
318 }
319
320 .content, nav {
321         max-width: 960px;
322 }
323
324 /* Everything else */
325
326 .hidden {
327         display: none !important;
328 }
329
330 .logo-container {
331         height: 100px;
332         width: 100px;
333         position: relative;
334         margin: 20px auto;
335         display: block;
336         margin-top: 10px;
337 }
338
339 .logo-container > img {
340         max-width: 100px;
341         max-height: 100px;
342         height: 100%;
343         position: absolute;
344         left: 50%;
345         top: 50%;
346         transform: translate(-50%, -50%);
347         display: block;
348 }
349
350 .sidebar .location {
351         border: 1px solid;
352         font-size: 17px;
353         margin: 30px 10px 20px 10px;
354         text-align: center;
355         word-wrap: break-word;
356         font-weight: inherit;
357         padding: 0;
358 }
359
360 .sidebar .version {
361         font-size: 15px;
362         text-align: center;
363         border-bottom: 1px solid;
364         overflow-wrap: break-word;
365         word-wrap: break-word; /* deprecated */
366         word-break: break-word; /* Chrome, non-standard */
367 }
368
369 .location:empty {
370         border: none;
371 }
372
373 .location a:first-of-type {
374         font-weight: 500;
375 }
376 .location a:hover {
377         text-decoration: underline;
378 }
379
380 .block {
381         padding: 0;
382         margin-bottom: 14px;
383 }
384 .block h2, .block h3 {
385         text-align: center;
386 }
387 .block ul, .block li {
388         margin: 0 10px;
389         padding: 0;
390         list-style: none;
391 }
392
393 .block a {
394         display: block;
395         text-overflow: ellipsis;
396         overflow: hidden;
397         line-height: 15px;
398         padding: 7px 5px;
399         font-size: 14px;
400         font-weight: 300;
401         transition: border 500ms ease-out;
402 }
403
404 .sidebar-title {
405         border-top: 1px solid;
406         border-bottom: 1px solid;
407         text-align: center;
408         font-size: 17px;
409         margin-bottom: 5px;
410         font-weight: inherit;
411         padding: 0;
412 }
413
414 .sidebar-links {
415         margin-bottom: 15px;
416 }
417
418 .sidebar-links > a {
419         padding-left: 10px;
420         width: 100%;
421 }
422
423 .sidebar-menu {
424         display: none;
425 }
426
427 .content {
428         padding: 15px 0;
429 }
430
431 .source .content pre.rust {
432         white-space: pre;
433         overflow: auto;
434         padding-left: 0;
435 }
436
437 .rustdoc .example-wrap {
438         display: inline-flex;
439         margin-bottom: 10px;
440 }
441
442 .example-wrap {
443         position: relative;
444         width: 100%;
445 }
446
447 .example-wrap > pre.line-number {
448         overflow: initial;
449         border: 1px solid;
450         padding: 13px 8px;
451         text-align: right;
452         border-top-left-radius: 5px;
453         border-bottom-left-radius: 5px;
454 }
455
456 .example-wrap > pre.rust a:hover {
457         text-decoration: underline;
458 }
459
460 .rustdoc:not(.source) .example-wrap > pre:not(.line-number) {
461         width: 100%;
462         overflow-x: auto;
463 }
464
465 .rustdoc .example-wrap > pre {
466         margin: 0;
467 }
468
469 #search {
470         margin-left: 230px;
471         position: relative;
472 }
473
474 #results > table {
475         width: 100%;
476         table-layout: fixed;
477 }
478
479 .content > .example-wrap pre.line-numbers {
480         position: relative;
481         -webkit-user-select: none;
482         -moz-user-select: none;
483         -ms-user-select: none;
484         user-select: none;
485 }
486 .line-numbers span {
487         cursor: pointer;
488 }
489
490 .docblock-short {
491         overflow-wrap: anywhere;
492 }
493 .docblock-short p {
494         display: inline;
495 }
496
497 .docblock-short p {
498         overflow: hidden;
499         text-overflow: ellipsis;
500         margin: 0;
501 }
502 /* Wrap non-pre code blocks (`text`) but not (```text```). */
503 .docblock > :not(pre) > code,
504 .docblock-short > :not(pre) > code {
505         white-space: pre-wrap;
506 }
507
508 .docblock h1, .docblock h2, .docblock h3, .docblock h4, .docblock h5, .docblock h6 {
509         border-bottom: 1px solid;
510 }
511
512 .top-doc .docblock h2 { font-size: 1.3em; }
513 .top-doc .docblock h3 { font-size: 1.15em; }
514 .top-doc .docblock h4,
515 .top-doc .docblock h5,
516 .top-doc .docblock h6 {
517         font-size: 1em;
518 }
519
520 .docblock h5 { font-size: 1em; }
521 .docblock h6 { font-size: 0.95em; }
522
523 .docblock {
524         margin-left: 24px;
525         position: relative;
526 }
527
528 .docblock > * {
529         max-width: 100%;
530         overflow-x: auto;
531 }
532
533 .content .out-of-band {
534         flex-grow: 0;
535         text-align: right;
536         font-size: 23px;
537         margin: 0px;
538         padding: 0 0 0 12px;
539         font-weight: normal;
540 }
541
542 .method > .code-header, .trait-impl > .code-header, .invisible > .code-header {
543         max-width: calc(100% - 41px);
544         display: block;
545 }
546
547 .invisible {
548         width: 100%;
549         display: inline-block;
550 }
551
552 .content .in-band {
553         flex-grow: 1;
554         margin: 0px;
555         padding: 0px;
556         overflow-wrap: anywhere;
557 }
558
559 .in-band > code, .in-band > .code-header {
560         display: inline-block;
561 }
562
563 #main {
564         position: relative;
565 }
566 #main > .since {
567         top: inherit;
568         font-family: "Fira Sans", Arial, sans-serif;
569 }
570
571 .content table:not(.table-display) {
572         border-spacing: 0 5px;
573 }
574 .content td { vertical-align: top; }
575 .content td:first-child { padding-right: 20px; }
576 .content td p:first-child { margin-top: 0; }
577 .content td h1, .content td h2 { margin-left: 0; font-size: 1.1em; }
578 .content tr:first-child td { border-top: 0; }
579
580 .docblock table {
581         margin: .5em 0;
582         width: calc(100% - 2px);
583         overflow-x: auto;
584         display: block;
585 }
586
587 .docblock table td {
588         padding: .5em;
589         border: 1px dashed;
590 }
591
592 .docblock table th {
593         padding: .5em;
594         text-align: left;
595         border: 1px solid;
596 }
597
598 .fields + table {
599         margin-bottom: 1em;
600 }
601
602 .content .item-list {
603         list-style-type: none;
604         padding: 0;
605 }
606
607 .content .multi-column {
608         -moz-column-count: 5;
609         -moz-column-gap: 2.5em;
610         -webkit-column-count: 5;
611         -webkit-column-gap: 2.5em;
612         column-count: 5;
613         column-gap: 2.5em;
614 }
615 .content .multi-column li { width: 100%; display: inline-block; }
616
617 .content > .methods > .method {
618         font-size: 1em;
619         position: relative;
620 }
621 /* Shift "where ..." part of method or fn definition down a line */
622 .content .method .where,
623 .content .fn .where,
624 .content .where.fmt-newline {
625         display: block;
626         font-size: 0.8em;
627 }
628
629 .content .methods > div:not(.notable-traits):not(.method) {
630         margin-left: 40px;
631         margin-bottom: 15px;
632 }
633
634 .content .docblock > .impl-items {
635         margin-left: 20px;
636         margin-top: -34px;
637 }
638 .content .docblock >.impl-items .table-display {
639         margin: 0;
640 }
641 .content .docblock >.impl-items table td {
642         padding: 0;
643 }
644 .content .docblock > .impl-items .table-display, .impl-items table td {
645         border: none;
646 }
647
648 .content .item-info code {
649         font-size: 90%;
650 }
651
652 .content .item-info {
653         position: relative;
654         margin-left: 33px;
655 }
656
657 .sub-variant > div > .item-info {
658         margin-top: initial;
659 }
660
661 .content .item-info::before {
662         content: '⬑';
663         font-size: 25px;
664         position: absolute;
665         top: -6px;
666         left: -19px;
667 }
668
669 .content .impl-items .method, .content .impl-items > .type, .impl-items > .associatedconstant,
670 .impl-items > .associatedtype, .content .impl-items details > summary > .type,
671 .impl-items details > summary > .associatedconstant,
672 .impl-items details > summary > .associatedtype {
673         margin-left: 20px;
674 }
675
676 .content .impl-items .docblock, .content .impl-items .item-info {
677         margin-bottom: .6em;
678 }
679
680 .content .impl-items > .item-info {
681         margin-left: 40px;
682 }
683
684 .methods > .item-info, .content .impl-items > .item-info {
685         margin-top: -8px;
686 }
687
688 .impl-items {
689         flex-basis: 100%;
690 }
691
692 #main > .item-info {
693         margin-top: 0;
694 }
695
696 nav:not(.sidebar) {
697         border-bottom: 1px solid;
698         padding-bottom: 10px;
699         margin-bottom: 10px;
700 }
701 nav.main {
702         padding: 20px 0;
703         text-align: center;
704 }
705 nav.main .current {
706         border-top: 1px solid;
707         border-bottom: 1px solid;
708 }
709 nav.main .separator {
710         border: 1px solid;
711         display: inline-block;
712         height: 23px;
713         margin: 0 20px;
714 }
715 nav.sum { text-align: right; }
716 nav.sub form { display: inline; }
717
718 nav.sub, .content {
719         margin-left: 230px;
720 }
721
722 a {
723         text-decoration: none;
724         background: transparent;
725 }
726
727 .small-section-header {
728         display: flex;
729         justify-content: space-between;
730         position: relative;
731 }
732
733 .small-section-header:hover > .anchor {
734         display: initial;
735 }
736
737 .in-band:hover > .anchor, .impl:hover > .anchor, .method.trait-impl:hover > .anchor,
738 .type.trait-impl:hover > .anchor, .associatedconstant.trait-impl:hover > .anchor,
739 .associatedtype.trait-impl:hover > .anchor {
740         display: inline-block;
741         position: absolute;
742 }
743 .anchor {
744         display: none;
745         position: absolute;
746         left: 0;
747         background: none !important;
748 }
749 .anchor.field {
750         left: -5px;
751 }
752 .small-section-header > .anchor {
753         left: -15px;
754         padding-right: 8px;
755 }
756 h2.small-section-header > .anchor {
757         padding-right: 6px;
758 }
759 .anchor::before {
760         content: '§';
761 }
762
763 .docblock a:not(.srclink):not(.test-arrow):hover,
764 .docblock-short a:not(.srclink):not(.test-arrow):hover, .item-info a {
765         text-decoration: underline;
766 }
767
768 .invisible > .srclink,
769 .method > .code-header + .srclink {
770         position: absolute;
771         top: 0;
772         right: 0;
773         font-size: 17px;
774         font-weight: normal;
775 }
776
777 .block a.current.crate { font-weight: 500; }
778
779 .item-table {
780         display: table;
781 }
782 .item-row {
783         display: table-row;
784 }
785 .item-left, .item-right {
786         display: table-cell;
787 }
788 .item-left {
789         padding-right: 1.2rem;
790 }
791
792 .search-container {
793         position: relative;
794 }
795 .search-container > div {
796         display: inline-flex;
797         width: calc(100% - 63px);
798 }
799 #crate-search {
800         min-width: 115px;
801         margin-top: 5px;
802         padding: 6px;
803         padding-right: 19px;
804         flex: none;
805         border: 0;
806         border-right: 0;
807         border-radius: 4px 0 0 4px;
808         outline: none;
809         cursor: pointer;
810         border-right: 1px solid;
811         -moz-appearance: none;
812         -webkit-appearance: none;
813         /* Removes default arrow from firefox */
814         text-indent: 0.01px;
815         text-overflow: "";
816         background-repeat: no-repeat;
817         background-color: transparent;
818         background-size: 20px;
819         background-position: calc(100% - 1px) 56%;
820 }
821 .search-container > .top-button {
822         position: absolute;
823         right: 0;
824         top: 10px;
825 }
826 .search-input {
827         /* Override Normalize.css: we have margins and do
828          not want to overflow - the `moz` attribute is necessary
829          until Firefox 29, too early to drop at this point */
830         -moz-box-sizing: border-box !important;
831         box-sizing: border-box !important;
832         outline: none;
833         border: none;
834         border-radius: 1px;
835         margin-top: 5px;
836         padding: 10px 16px;
837         font-size: 17px;
838         transition: border-color 300ms ease;
839         transition: border-radius 300ms ease-in-out;
840         transition: box-shadow 300ms ease-in-out;
841         width: 100%;
842 }
843
844 #crate-search + .search-input {
845         border-radius: 0 1px 1px 0;
846         width: calc(100% - 32px);
847 }
848
849 .search-input:focus {
850         border-radius: 2px;
851         border: 0;
852         outline: 0;
853 }
854
855 .search-results {
856         display: none;
857         padding-bottom: 2em;
858 }
859
860 .search-results.active {
861         display: block;
862         /* prevent overhanging tabs from moving the first result */
863         clear: both;
864 }
865
866 .search-results .desc > span {
867         white-space: nowrap;
868         text-overflow: ellipsis;
869         overflow: hidden;
870         display: block;
871 }
872
873 .search-results > a {
874         display: block;
875         width: 100%;
876         /* A little margin ensures the browser's outlining of focused links has room to display. */
877         margin-left: 2px;
878         margin-right: 2px;
879         border-bottom: 1px solid #aaa3;
880 }
881
882 .search-results > a > div {
883         display: flex;
884         flex-flow: row wrap;
885 }
886
887 .search-results .result-name, .search-results div.desc, .search-results .result-description {
888         width: 50%;
889 }
890 .search-results .result-name {
891         padding-right: 1em;
892 }
893
894 .search-results .result-name > span {
895         display: inline-block;
896         margin: 0;
897         font-weight: normal;
898 }
899
900 body.blur > :not(#help) {
901         filter: blur(8px);
902         -webkit-filter: blur(8px);
903         opacity: .7;
904 }
905
906 #help {
907         width: 100%;
908         height: 100vh;
909         position: fixed;
910         top: 0;
911         left: 0;
912         display: flex;
913         justify-content: center;
914         align-items: center;
915 }
916 #help > div {
917         flex: 0 0 auto;
918         box-shadow: 0 0 6px rgba(0,0,0,.2);
919         width: 550px;
920         height: auto;
921         border: 1px solid;
922 }
923 #help dt {
924         float: left;
925         clear: left;
926         display: block;
927         margin-right: 0.5rem;
928 }
929 #help span.top, #help span.bottom {
930         text-align: center;
931         display: block;
932         font-size: 18px;
933
934 }
935 #help span.top {
936         text-align: center;
937         display: block;
938         margin: 10px 0;
939         border-bottom: 1px solid;
940         padding-bottom: 4px;
941         margin-bottom: 6px;
942 }
943 #help span.bottom {
944         clear: both;
945         border-top: 1px solid;
946 }
947 #help dd { margin: 5px 35px; }
948 #help .infos { padding-left: 0; }
949 #help h1, #help h2 { margin-top: 0; }
950 #help > div div {
951         width: 50%;
952         float: left;
953         padding: 0 20px 20px 17px;;
954 }
955
956 .item-info .stab {
957         display: table;
958 }
959 .stab {
960         border-width: 1px;
961         border-style: solid;
962         padding: 3px;
963         margin-bottom: 5px;
964         font-size: 90%;
965         font-weight: normal;
966 }
967 .stab p {
968         display: inline;
969 }
970
971 .stab .emoji {
972         font-size: 1.5em;
973 }
974
975 /* Black one-pixel outline around emoji shapes */
976 .emoji {
977         text-shadow:
978                 1px 0 0 black,
979                 -1px 0 0 black,
980                 0  1px 0 black,
981                 0 -1px 0 black;
982 }
983
984 .module-item .stab,
985 .import-item .stab {
986         border-radius: 3px;
987         display: inline-block;
988         font-size: 80%;
989         line-height: 1.2;
990         margin-bottom: 0;
991         margin-left: .3em;
992         padding: 2px;
993         vertical-align: text-bottom;
994 }
995
996 .module-item.unstable,
997 .import-item.unstable {
998         opacity: 0.65;
999 }
1000
1001 .since {
1002         font-weight: normal;
1003         font-size: initial;
1004 }
1005
1006 .impl-items .since, .impl .since, .methods .since {
1007         padding-left: 12px;
1008         padding-right: 2px;
1009         position: initial;
1010 }
1011
1012 .impl-items .srclink, .impl .srclink, .methods .srclink {
1013         /* Override header settings otherwise it's too bold */
1014         font-size: 17px;
1015         font-weight: normal;
1016 }
1017
1018 .rightside {
1019         float: right;
1020 }
1021
1022 .has-srclink {
1023         font-size: 16px;
1024         margin-bottom: 12px;
1025         /* Push the src link out to the right edge consistently */
1026         justify-content: space-between;
1027 }
1028
1029 .variants_table {
1030         width: 100%;
1031 }
1032
1033 .variants_table tbody tr td:first-child {
1034         width: 1%; /* make the variant name as small as possible */
1035 }
1036
1037 td.summary-column {
1038         width: 100%;
1039 }
1040
1041 .summary {
1042         padding-right: 0px;
1043 }
1044
1045 pre.rust .question-mark {
1046         font-weight: bold;
1047 }
1048
1049 a.test-arrow {
1050         display: inline-block;
1051         position: absolute;
1052         padding: 5px 10px 5px 10px;
1053         border-radius: 5px;
1054         font-size: 130%;
1055         top: 5px;
1056         right: 5px;
1057         z-index: 1;
1058 }
1059 a.test-arrow:hover{
1060         text-decoration: none;
1061 }
1062
1063 .section-header:hover a:before {
1064         position: absolute;
1065         left: -25px;
1066         padding-right: 10px; /* avoid gap that causes hover to disappear */
1067         content: '\2002\00a7\2002';
1068 }
1069
1070 .section-header:hover a {
1071         text-decoration: none;
1072 }
1073
1074 .section-header a {
1075         color: inherit;
1076 }
1077
1078 .code-attribute {
1079         font-weight: 300;
1080 }
1081
1082 .since + .srclink {
1083         padding-left: 10px;
1084 }
1085
1086 .item-spacer {
1087         width: 100%;
1088         height: 12px;
1089 }
1090
1091 .out-of-band > span.since {
1092         position: initial;
1093         font-size: 20px;
1094         margin-right: 5px;
1095 }
1096
1097 .sub-variant, .sub-variant > h3 {
1098         margin-top: 0px !important;
1099         padding-top: 1px;
1100 }
1101
1102 #main .sub-variant > h3 {
1103         font-size: 15px;
1104         margin-left: 25px;
1105         margin-bottom: 5px;
1106 }
1107
1108 .sub-variant > div {
1109         margin-left: 20px;
1110         margin-bottom: 10px;
1111 }
1112
1113 .sub-variant > div > span {
1114         display: block;
1115         position: relative;
1116 }
1117
1118 .toggle-label {
1119         display: inline-block;
1120         margin-left: 4px;
1121         margin-top: 3px;
1122 }
1123
1124 .docblock > .section-header:first-child {
1125         margin-left: 15px;
1126         margin-top: 0;
1127 }
1128
1129 .docblock > .section-header:first-child:hover > a:before {
1130         left: -10px;
1131 }
1132
1133 :target > code, :target > .code-header {
1134         opacity: 1;
1135 }
1136
1137 :target {
1138         padding-right: 3px;
1139 }
1140
1141 .information {
1142         position: absolute;
1143         left: -25px;
1144         margin-top: 7px;
1145         z-index: 1;
1146 }
1147
1148 .tooltip {
1149         position: relative;
1150         display: inline-block;
1151         cursor: pointer;
1152 }
1153
1154 .tooltip::after {
1155         display: none;
1156         text-align: center;
1157         padding: 5px 3px 3px 3px;
1158         border-radius: 6px;
1159         margin-left: 5px;
1160         font-size: 16px;
1161 }
1162
1163 .tooltip.ignore::after {
1164         content: "This example is not tested";
1165 }
1166 .tooltip.compile_fail::after {
1167         content: "This example deliberately fails to compile";
1168 }
1169 .tooltip.should_panic::after {
1170         content: "This example panics";
1171 }
1172 .tooltip.edition::after {
1173         content: "This code runs with edition " attr(data-edition);
1174 }
1175
1176 .tooltip::before {
1177         content: " ";
1178         position: absolute;
1179         top: 50%;
1180         left: 16px;
1181         margin-top: -5px;
1182         border-width: 5px;
1183         border-style: solid;
1184         display: none;
1185 }
1186
1187 .tooltip:hover::before, .tooltip:hover::after {
1188         display: inline;
1189 }
1190
1191 .tooltip.compile_fail, .tooltip.should_panic, .tooltip.ignore {
1192         font-weight: bold;
1193         font-size: 20px;
1194 }
1195
1196 .notable-traits-tooltip {
1197         display: inline-block;
1198         cursor: pointer;
1199 }
1200
1201 .notable-traits:hover .notable-traits-tooltiptext,
1202 .notable-traits .notable-traits-tooltiptext.force-tooltip {
1203         display: inline-block;
1204 }
1205
1206 .notable-traits .notable-traits-tooltiptext {
1207         display: none;
1208         padding: 5px 3px 3px 3px;
1209         border-radius: 6px;
1210         margin-left: 5px;
1211         z-index: 10;
1212         font-size: 16px;
1213         cursor: default;
1214         position: absolute;
1215         border: 1px solid;
1216 }
1217
1218 .notable-traits-tooltip::after {
1219         /* The margin on the tooltip does not capture hover events,
1220            this extends the area of hover enough so that mouse hover is not
1221            lost when moving the mouse to the tooltip */
1222         content: "\00a0\00a0\00a0";
1223 }
1224
1225 .notable-traits .notable, .notable-traits .docblock {
1226         margin: 0;
1227 }
1228
1229 .notable-traits .notable {
1230         margin: 0;
1231         margin-bottom: 13px;
1232         font-size: 19px;
1233         font-weight: 600;
1234 }
1235
1236 .notable-traits .docblock code.content{
1237         margin: 0;
1238         padding: 0;
1239         font-size: 20px;
1240 }
1241
1242 /* Example code has the "Run" button that needs to be positioned relative to the pre */
1243 pre.rust.rust-example-rendered {
1244         position: relative;
1245 }
1246
1247 pre.rust {
1248         tab-size: 4;
1249         -moz-tab-size: 4;
1250 }
1251
1252 .search-failed {
1253         text-align: center;
1254         margin-top: 20px;
1255         display: none;
1256 }
1257
1258 .search-failed.active {
1259         display: block;
1260 }
1261
1262 .search-failed > ul {
1263         text-align: left;
1264         max-width: 570px;
1265         margin-left: auto;
1266         margin-right: auto;
1267 }
1268
1269 #titles {
1270         height: 35px;
1271 }
1272
1273 #titles > button {
1274         float: left;
1275         width: 33.3%;
1276         text-align: center;
1277         font-size: 18px;
1278         cursor: pointer;
1279         border: 0;
1280         border-top: 2px solid;
1281 }
1282
1283 #titles > button:not(:last-child) {
1284         margin-right: 1px;
1285         width: calc(33.3% - 1px);
1286 }
1287
1288 #titles > button > div.count {
1289         display: inline-block;
1290         font-size: 16px;
1291 }
1292
1293 .notable-traits {
1294         cursor: pointer;
1295         z-index: 2;
1296         margin-left: 5px;
1297 }
1298
1299 #all-types {
1300         text-align: center;
1301         border: 1px solid;
1302         margin: 0 10px;
1303         margin-bottom: 10px;
1304         display: block;
1305         border-radius: 7px;
1306 }
1307 #all-types > p {
1308         margin: 5px 0;
1309 }
1310
1311 #sidebar-toggle {
1312         position: fixed;
1313         top: 30px;
1314         left: 300px;
1315         z-index: 10;
1316         padding: 3px;
1317         border-top-right-radius: 3px;
1318         border-bottom-right-radius: 3px;
1319         cursor: pointer;
1320         font-weight: bold;
1321         transition: left .5s;
1322         font-size: 1.2em;
1323         border: 1px solid;
1324         border-left: 0;
1325 }
1326 #source-sidebar {
1327         position: fixed;
1328         top: 0;
1329         bottom: 0;
1330         left: 0;
1331         width: 300px;
1332         z-index: 1;
1333         overflow: auto;
1334         transition: left .5s;
1335         border-right: 1px solid;
1336 }
1337 #source-sidebar > .title {
1338         font-size: 1.5em;
1339         text-align: center;
1340         border-bottom: 1px solid;
1341         margin-bottom: 6px;
1342 }
1343
1344 .theme-picker {
1345         position: absolute;
1346         left: 211px;
1347         top: 19px;
1348 }
1349
1350 .theme-picker button {
1351         outline: none;
1352 }
1353
1354 #settings-menu, #help-button {
1355         position: absolute;
1356         top: 10px;
1357 }
1358
1359 #settings-menu {
1360         right: 0;
1361         outline: none;
1362 }
1363
1364 #theme-picker, #settings-menu, #help-button, #copy-path {
1365         padding: 4px;
1366         width: 27px;
1367         height: 29px;
1368         border: 1px solid;
1369         border-radius: 3px;
1370         cursor: pointer;
1371 }
1372
1373 #help-button {
1374         right: 30px;
1375         font-family: "Fira Sans", Arial, sans-serif;
1376         text-align: center;
1377         font-size: 17px;
1378         padding-top: 2px;
1379 }
1380
1381 #copy-path {
1382         background: initial;
1383         margin-left: 10px;
1384         padding: 0;
1385         padding-left: 2px;
1386         border: 0;
1387 }
1388
1389 #theme-choices {
1390         display: none;
1391         position: absolute;
1392         left: 0;
1393         top: 28px;
1394         border: 1px solid;
1395         border-radius: 3px;
1396         z-index: 1;
1397         cursor: pointer;
1398 }
1399
1400 #theme-choices > button {
1401         border: none;
1402         width: 100%;
1403         padding: 4px 8px;
1404         text-align: center;
1405         background: rgba(0,0,0,0);
1406 }
1407
1408 #theme-choices > button:not(:first-child) {
1409         border-top: 1px solid;
1410 }
1411
1412 kbd {
1413         display: inline-block;
1414         padding: 3px 5px;
1415         font: 15px monospace;
1416         line-height: 10px;
1417         vertical-align: middle;
1418         border: solid 1px;
1419         border-radius: 3px;
1420         box-shadow: inset 0 -1px 0;
1421         cursor: default;
1422 }
1423
1424 .hidden-by-impl-hider,
1425 .hidden-by-usual-hider {
1426         /* important because of conflicting rule for small screens */
1427         display: none !important;
1428 }
1429
1430 #implementations-list > h3 > span.in-band {
1431         width: 100%;
1432 }
1433
1434 .table-display {
1435         width: 100%;
1436         border: 0;
1437         border-collapse: collapse;
1438         border-spacing: 0;
1439         font-size: 16px;
1440 }
1441
1442 .table-display tr td:first-child {
1443         padding-right: 0;
1444 }
1445
1446 .table-display tr td:last-child {
1447         float: right;
1448 }
1449 .table-display .out-of-band {
1450         position: relative;
1451         font-size: 19px;
1452         display: block;
1453 }
1454 #implementors-list > .impl-items .table-display .out-of-band {
1455         font-size: 17px;
1456 }
1457
1458 .table-display td:hover .anchor {
1459         display: block;
1460         top: 2px;
1461         left: -5px;
1462 }
1463
1464 #main > ul {
1465         padding-left: 10px;
1466 }
1467 #main > ul > li {
1468         list-style: none;
1469 }
1470
1471 .non-exhaustive {
1472         margin-bottom: 1em;
1473 }
1474
1475 div.children {
1476         padding-left: 27px;
1477         display: none;
1478 }
1479 div.name {
1480         cursor: pointer;
1481         position: relative;
1482         margin-left: 16px;
1483 }
1484 div.files > a {
1485         display: block;
1486         padding: 0 3px;
1487 }
1488 div.files > a:hover, div.name:hover {
1489         background-color: #a14b4b;
1490 }
1491 div.name.expand + .children {
1492         display: block;
1493 }
1494 div.name::before {
1495         content: "\25B6";
1496         padding-left: 4px;
1497         font-size: 0.7em;
1498         position: absolute;
1499         left: -16px;
1500         top: 4px;
1501 }
1502 div.name.expand::before {
1503         transform: rotate(90deg);
1504         left: -15px;
1505         top: 2px;
1506 }
1507
1508 /* The hideme class is used on summary tags that contain a span with
1509         placeholder text shown only when the toggle is closed. For instance,
1510         "Expand description" or "Show methods". */
1511 details.rustdoc-toggle > summary.hideme {
1512         cursor: pointer;
1513 }
1514
1515 details.rustdoc-toggle > summary, details.undocumented > summary {
1516         list-style: none;
1517 }
1518 details.rustdoc-toggle > summary::-webkit-details-marker,
1519 details.rustdoc-toggle > summary::marker,
1520 details.undocumented > summary::-webkit-details-marker,
1521 details.undocumented > summary::marker {
1522         display: none;
1523 }
1524
1525 details.rustdoc-toggle > summary.hideme > span {
1526         margin-left: 9px;
1527 }
1528
1529 details.rustdoc-toggle > summary::before {
1530         content: "";
1531         cursor: pointer;
1532         width: 17px;
1533         height: max(17px, 1.1em);
1534         background-repeat: no-repeat;
1535         background-position: top left;
1536         display: inline-block;
1537         vertical-align: middle;
1538         opacity: .5;
1539 }
1540
1541 /* Screen readers see the text version at the end the line.
1542         Visual readers see the icon at the start of the line, but small and transparent. */
1543 details.rustdoc-toggle > summary::after {
1544         content: "Expand";
1545         overflow: hidden;
1546         width: 0;
1547         height: 0;
1548         position: absolute;
1549 }
1550
1551 details.rustdoc-toggle > summary.hideme::after {
1552         /* "hideme" toggles already have a description when they're contracted */
1553         content: "";
1554 }
1555
1556 details.rustdoc-toggle > summary:focus::before,
1557 details.rustdoc-toggle > summary:hover::before {
1558         opacity: 1;
1559 }
1560
1561 details.rustdoc-toggle.top-doc > summary,
1562 details.rustdoc-toggle.top-doc > summary::before,
1563 details.rustdoc-toggle.non-exhaustive > summary,
1564 details.rustdoc-toggle.non-exhaustive > summary::before {
1565         font-family: 'Fira Sans';
1566         font-size: 16px;
1567 }
1568
1569 details.non-exhaustive {
1570         margin-bottom: 8px;
1571 }
1572
1573 details.rustdoc-toggle > summary.hideme::before {
1574         position: relative;
1575 }
1576
1577 details.rustdoc-toggle > summary:not(.hideme)::before {
1578         position: absolute;
1579         left: -23px;
1580         top: 3px;
1581 }
1582
1583 .impl-items > details.rustdoc-toggle > summary:not(.hideme)::before,
1584 .undocumented > details.rustdoc-toggle > summary:not(.hideme)::before {
1585         position: absolute;
1586         left: -2px;
1587 }
1588
1589 /* When a "hideme" summary is open and the "Expand description" or "Show
1590         methods" text is hidden, we want the [-] toggle that remains to not
1591         affect the layout of the items to its right. To do that, we use
1592         absolute positioning. Note that we also set position: relative
1593         on the parent <details> to make this work properly. */
1594 details.rustdoc-toggle[open] > summary.hideme {
1595         position: absolute;
1596 }
1597
1598 details.rustdoc-toggle, details.undocumented {
1599         position: relative;
1600 }
1601
1602 details.rustdoc-toggle[open] > summary.hideme > span {
1603         display: none;
1604 }
1605
1606 details.rustdoc-toggle[open] > summary::before,
1607 details.rustdoc-toggle[open] > summary.hideme::before {
1608         width: 17px;
1609         height: max(17px, 1.1em);
1610         background-repeat: no-repeat;
1611         background-position: top left;
1612         display: inline-block;
1613         content: "";
1614 }
1615
1616 details.rustdoc-toggle[open] > summary::after,
1617 details.rustdoc-toggle[open] > summary.hideme::after {
1618         content: "Collapse";
1619 }
1620
1621 details.undocumented > summary::before {
1622         padding-left: 17px;
1623         height: max(17px, 1.1em);
1624         background-repeat: no-repeat;
1625         background-position: top left;
1626         content: "Show hidden undocumented items";
1627         cursor: pointer;
1628         font-size: 16px;
1629         font-weight: 300;
1630         opacity: .5;
1631 }
1632
1633 details.undocumented > summary:focus::before,
1634 details.undocumented > summary:hover::before {
1635         opacity: 1;
1636 }
1637
1638 details.undocumented[open] > summary::before {
1639         padding-left: 17px;
1640         height: max(17px, 1.1em);
1641         background-repeat: no-repeat
1642         background-position: top left;
1643         content: "Hide undocumented items";
1644 }
1645
1646 /* Media Queries */
1647
1648 @media (min-width: 701px) {
1649         /* In case there is no documentation before a code block, we need to add some margin at the top
1650         to prevent an overlay between the "collapse toggle" and the information tooltip.
1651         However, it's not needed with smaller screen width because the doc/code block is always put
1652         "one line" below. */
1653         .docblock > .information:first-child > .tooltip {
1654                 margin-top: 16px;
1655         }
1656 }
1657
1658 @media (max-width: 700px) {
1659         body {
1660                 padding-top: 0px;
1661         }
1662
1663         .rustdoc > .sidebar {
1664                 height: 45px;
1665                 min-height: 40px;
1666                 margin: 0;
1667                 margin-left: -15px;
1668                 padding: 0 15px;
1669                 position: static;
1670                 z-index: 11;
1671         }
1672
1673         .sidebar > .location {
1674                 float: right;
1675                 margin: 0px;
1676                 margin-top: 2px;
1677                 padding: 3px 10px 1px 10px;
1678                 min-height: 39px;
1679                 background: inherit;
1680                 text-align: left;
1681                 font-size: 24px;
1682         }
1683
1684         .sidebar .location:empty {
1685                 padding: 0;
1686         }
1687
1688         .sidebar .logo-container {
1689                 width: 35px;
1690                 height: 35px;
1691                 margin-top: 5px;
1692                 margin-bottom: 5px;
1693                 float: left;
1694                 margin-left: 50px;
1695         }
1696
1697         .sidebar .logo-container > img {
1698                 max-width: 35px;
1699                 max-height: 35px;
1700         }
1701
1702         .sidebar-menu {
1703                 position: fixed;
1704                 z-index: 10;
1705                 font-size: 2rem;
1706                 cursor: pointer;
1707                 width: 45px;
1708                 left: 0;
1709                 text-align: center;
1710                 display: block;
1711                 border-bottom: 1px solid;
1712                 border-right: 1px solid;
1713                 height: 45px;
1714         }
1715
1716         .rustdoc.source > .sidebar > .sidebar-menu {
1717                 display: none;
1718         }
1719
1720         /* We do NOT hide this element so that alternative device readers still have this information
1721            available. */
1722         .sidebar-elems {
1723                 position: fixed;
1724                 z-index: 1;
1725                 top: 45px;
1726                 bottom: 0;
1727                 width: 246px;
1728                 /* We move the sidebar to the left by its own width so it doesn't appear. */
1729                 left: -246px;
1730                 overflow-y: auto;
1731                 border-right: 1px solid;
1732         }
1733
1734         .sidebar > .block.version {
1735                 overflow: hidden;
1736                 border-bottom: none;
1737                 margin-bottom: 0;
1738                 height: 100%;
1739                 padding-left: 12px;
1740         }
1741         .sidebar > .block.version > div.narrow-helper {
1742                 float: left;
1743                 width: 1px;
1744                 height: 100%;
1745         }
1746         .sidebar > .block.version > p {
1747                 /* hide Version text if too narrow */
1748                 margin: 0;
1749                 min-width: 55px;
1750                 /* vertically center */
1751                 display: flex;
1752                 align-items: center;
1753                 height: 100%;
1754         }
1755
1756         nav.sub {
1757                 width: calc(100% - 32px);
1758                 float: right;
1759         }
1760
1761         .content {
1762                 margin-left: 0px;
1763         }
1764
1765         #main, #search {
1766                 margin-top: 45px;
1767                 padding: 0;
1768         }
1769
1770         #search {
1771                 margin-left: 0;
1772         }
1773
1774         .anchor {
1775                 display: none !important;
1776         }
1777
1778         .theme-picker {
1779                 left: 10px;
1780                 top: 54px;
1781                 z-index: 1;
1782         }
1783
1784         .notable-traits {
1785                 position: absolute;
1786                 left: -22px;
1787                 top: 24px;
1788         }
1789
1790         #titles > button > div.count {
1791                 float: left;
1792                 width: 100%;
1793         }
1794
1795         #titles {
1796                 height: 50px;
1797         }
1798
1799         .sidebar.mobile {
1800                 position: fixed;
1801                 width: 100%;
1802                 margin-left: 0;
1803                 background-color: rgba(0,0,0,0);
1804                 height: 100%;
1805         }
1806         /*
1807         This allows to prevent the version text to overflow the sidebar title on mobile mode when the
1808         sidebar is displayed (after clicking on the "hamburger" button).
1809         */
1810         .sidebar.mobile > div.version {
1811                 overflow: hidden;
1812                 max-height: 33px;
1813         }
1814         .sidebar {
1815                 width: calc(100% + 30px);
1816         }
1817
1818         .show-it, .sidebar-elems:focus-within {
1819                 z-index:  2;
1820                 left: 0;
1821         }
1822
1823         .show-it > .block.items {
1824                 margin: 8px 0;
1825         }
1826
1827         .show-it > .block.items > ul {
1828                 margin: 0;
1829         }
1830
1831         .show-it > .block.items > ul > li {
1832                 text-align: center;
1833                 margin: 2px 0;
1834         }
1835
1836         .show-it > .block.items > ul > li > a {
1837                 font-size: 21px;
1838         }
1839
1840         /* Because of ios, we need to actually have a full height sidebar title so the
1841          * actual sidebar can show up. But then we need to make it transparent so we don't
1842          * hide content. The filler just allows to create the background for the sidebar
1843          * title. But because of the absolute position, I had to lower the z-index.
1844          */
1845         #sidebar-filler {
1846                 position: fixed;
1847                 left: 45px;
1848                 width: calc(100% - 45px);
1849                 top: 0;
1850                 height: 45px;
1851                 z-index: -1;
1852                 border-bottom: 1px solid;
1853         }
1854
1855         #main > details.rustdoc-toggle > summary::before,
1856         #main > div > details.rustdoc-toggle > summary::before {
1857                 left: -11px;
1858         }
1859
1860         #all-types {
1861                 margin: 10px;
1862         }
1863
1864         #sidebar-toggle {
1865                 top: 100px;
1866                 width: 30px;
1867                 font-size: 1.5rem;
1868                 text-align: center;
1869                 padding: 0;
1870         }
1871
1872         #source-sidebar {
1873                 z-index: 11;
1874         }
1875
1876         #main > .line-numbers {
1877                 margin-top: 0;
1878         }
1879
1880         .notable-traits .notable-traits-tooltiptext {
1881                 left: 0;
1882                 top: 100%;
1883         }
1884
1885         /* We don't display the help button on mobile devices. */
1886         #help-button {
1887                 display: none;
1888         }
1889
1890         /* Display an alternating layout on tablets and phones */
1891         .item-table {
1892                 display: block;
1893         }
1894         .item-row {
1895                 display: flex;
1896                 flex-flow: column wrap;
1897         }
1898         .item-left, .item-right {
1899                 width: 100%;
1900         }
1901
1902         .search-container > div {
1903                 width: calc(100% - 32px);
1904         }
1905
1906         /* Display an alternating layout on tablets and phones */
1907         .search-results > a {
1908                 border-bottom: 1px solid #aaa9;
1909                 padding: 5px 0px;
1910         }
1911         .search-results .result-name, .search-results div.desc, .search-results .result-description {
1912                 width: 100%;
1913         }
1914         .search-results div.desc, .search-results .result-description, .item-right {
1915                 padding-left: 2em;
1916         }
1917 }
1918
1919 @media print {
1920         nav.sub, .content .out-of-band {
1921                 display: none;
1922         }
1923 }
1924
1925 @media (max-width: 464px) {
1926         #titles, #titles > button {
1927                 height: 73px;
1928         }
1929
1930         /* This is to prevent the search bar from being underneath the <section>
1931          * element following it.
1932          */
1933         #main, #search {
1934                 margin-top: 100px;
1935         }
1936
1937         #main > table:not(.table-display) td {
1938                 word-break: break-word;
1939                 width: 50%;
1940         }
1941
1942         .search-container > div {
1943                 display: block;
1944                 width: calc(100% - 37px);
1945         }
1946
1947         #crate-search {
1948                 width: 100%;
1949                 border-radius: 4px;
1950                 border: 0;
1951         }
1952
1953         #crate-search + .search-input {
1954                 width: calc(100% + 71px);
1955                 margin-left: -36px;
1956         }
1957
1958         #theme-picker, #settings-menu {
1959                 padding: 5px;
1960                 width: 31px;
1961                 height: 31px;
1962         }
1963
1964         #theme-picker {
1965                 margin-top: -2px;
1966         }
1967
1968         #settings-menu {
1969                 top: 7px;
1970         }
1971
1972         .docblock {
1973                 margin-left: 12px;
1974         }
1975
1976         .docblock code {
1977                 overflow-wrap: anywhere;
1978         }
1979 }