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