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