]> git.lizzy.rs Git - rust.git/blob - src/librustdoc/html/static/rustdoc.css
Rollup merge of #57950 - QuietMisdreavus:lifetime-err-desc, r=estebank
[rust.git] / src / librustdoc / html / static / 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'), url("FiraSans-Regular.woff") format('woff');
7 }
8 @font-face {
9         font-family: 'Fira Sans';
10         font-style: normal;
11         font-weight: 500;
12         src: local('Fira Sans Medium'), url("FiraSans-Medium.woff") format('woff');
13 }
14
15 /* See SourceSerifPro-LICENSE.txt for the Source Serif Pro license. */
16 @font-face {
17         font-family: 'Source Serif Pro';
18         font-style: normal;
19         font-weight: 400;
20         src: local('Source Serif Pro'), url("SourceSerifPro-Regular.ttf.woff") format('woff');
21 }
22 @font-face {
23         font-family: 'Source Serif Pro';
24         font-style: italic;
25         font-weight: 400;
26         src: local('Source Serif Pro Italic'), url("SourceSerifPro-It.ttf.woff") format('woff');
27 }
28 @font-face {
29         font-family: 'Source Serif Pro';
30         font-style: normal;
31         font-weight: 700;
32         src: local('Source Serif Pro Bold'), url("SourceSerifPro-Bold.ttf.woff") format('woff');
33 }
34
35 /* See SourceCodePro-LICENSE.txt for the Source Code Pro license. */
36 @font-face {
37         font-family: 'Source Code Pro';
38         font-style: normal;
39         font-weight: 400;
40         /* Avoid using locally installed font because bad versions are in circulation:
41          * see https://github.com/rust-lang/rust/issues/24355 */
42         src: url("SourceCodePro-Regular.woff") format('woff');
43 }
44 @font-face {
45         font-family: 'Source Code Pro';
46         font-style: normal;
47         font-weight: 600;
48         src: url("SourceCodePro-Semibold.woff") format('woff');
49 }
50
51 * {
52   -webkit-box-sizing: border-box;
53          -moz-box-sizing: border-box;
54                   box-sizing: border-box;
55 }
56
57 /* General structure and fonts */
58
59 body {
60         font: 16px/1.4 "Source Serif Pro", serif;
61         margin: 0;
62         position: relative;
63         padding: 10px 15px 20px 15px;
64
65         -webkit-font-feature-settings: "kern", "liga";
66         -moz-font-feature-settings: "kern", "liga";
67         font-feature-settings: "kern", "liga";
68 }
69
70 h1 {
71         font-size: 1.5em;
72 }
73 h2 {
74         font-size: 1.4em;
75 }
76 h3 {
77         font-size: 1.3em;
78 }
79 h1, h2, h3:not(.impl):not(.method):not(.type):not(.tymethod):not(.important), h4:not(.method):not(.type):not(.tymethod):not(.associatedconstant) {
80         font-weight: 500;
81         margin: 20px 0 15px 0;
82         padding-bottom: 6px;
83 }
84 h1.fqn {
85         border-bottom: 1px dashed;
86         margin-top: 0;
87 }
88 h2, h3:not(.impl):not(.method):not(.type):not(.tymethod), h4:not(.method):not(.type):not(.tymethod):not(.associatedconstant) {
89         border-bottom: 1px solid;
90 }
91 h3.impl, h3.method, h4.method, h3.type, h4.type, h4.associatedconstant {
92         flex-basis: 100%;
93         font-weight: 600;
94         margin-top: 16px;
95         margin-bottom: 10px;
96         position: relative;
97 }
98 h3.impl, h3.method, h3.type {
99         padding-left: 15px;
100 }
101
102 h1, h2, h3, h4,
103 .sidebar, a.source, .search-input, .content table :not(code)>a,
104 .collapse-toggle, div.item-list .out-of-band,
105 #source-sidebar, #sidebar-toggle {
106         font-family: "Fira Sans", sans-serif;
107 }
108
109 ol, ul {
110         padding-left: 25px;
111 }
112 ul ul, ol ul, ul ol, ol ol {
113         margin-bottom: .6em;
114 }
115
116 p {
117         margin: 0 0 .6em 0;
118 }
119
120 summary {
121         outline: none;
122 }
123
124 code, pre {
125         font-family: "Source Code Pro", monospace;
126 }
127 .docblock code, .docblock-short code {
128         border-radius: 3px;
129         padding: 0 0.1em;
130 }
131 .docblock pre code, .docblock-short pre code, .docblock code.spotlight {
132         padding: 0;
133 }
134 .docblock code.spotlight :last-child {
135         padding-bottom: 0.6em;
136 }
137 pre {
138         padding: 14px;
139 }
140
141 .source .content pre {
142         padding: 20px;
143 }
144
145 img {
146         max-width: 100%;
147 }
148
149 .source .content {
150         margin-top: 50px;
151         max-width: none;
152         overflow: visible;
153         margin-left: 0px;
154         min-width: 70em;
155 }
156
157 nav.sub {
158         font-size: 16px;
159         text-transform: uppercase;
160 }
161
162 .sidebar {
163         width: 200px;
164         position: fixed;
165         left: 0;
166         top: 0;
167         height: 100vh;
168         overflow: auto;
169 }
170
171 .sidebar .block > ul > li {
172         margin-right: -10px;
173 }
174
175 .content, nav {
176         max-width: 960px;
177 }
178
179 /* Everything else */
180
181 .js-only, .hidden {
182         display: none !important;
183 }
184
185 .sidebar img {
186         margin: 20px auto;
187         display: block;
188         margin-top: 10px;
189 }
190
191 .sidebar .location {
192         border: 1px solid;
193         font-size: 17px;
194         margin: 30px 10px 20px 10px;
195         text-align: center;
196         word-wrap: break-word;
197 }
198
199 .sidebar .version {
200         font-size: 15px;
201         text-align: center;
202         border-bottom: 1px solid;
203         overflow-wrap: break-word;
204         word-wrap: break-word; /* deprecated */
205         word-break: break-word; /* Chrome, non-standard */
206 }
207
208 .location:empty {
209         border: none;
210 }
211
212 .location a:first-child {
213         font-weight: 500;
214 }
215
216 .block {
217         padding: 0;
218         margin-bottom: 14px;
219 }
220 .block h2, .block h3 {
221         margin-top: 0;
222         margin-bottom: 8px;
223         text-align: center;
224 }
225 .block ul, .block li {
226         margin: 0 10px;
227         padding: 0;
228         list-style: none;
229 }
230
231 .block a {
232         display: block;
233         text-overflow: ellipsis;
234         overflow: hidden;
235         line-height: 15px;
236         padding: 7px 5px;
237         font-size: 14px;
238         font-weight: 300;
239         transition: border 500ms ease-out;
240 }
241
242 .sidebar-title {
243         border-top: 1px solid;
244         border-bottom: 1px solid;
245         text-align: center;
246         font-size: 17px;
247         margin-bottom: 5px;
248 }
249
250 .sidebar-links {
251         margin-bottom: 15px;
252 }
253
254 .sidebar-links > a {
255         padding-left: 10px;
256         width: 100%;
257 }
258
259 .sidebar-menu {
260         display: none;
261 }
262
263 .content {
264         padding: 15px 0;
265 }
266
267 .source .content pre.rust {
268         white-space: pre;
269         overflow: auto;
270         padding-left: 0;
271 }
272
273 .rustdoc:not(.source) .example-wrap {
274         display: inline-flex;
275         margin-bottom: 10px;
276 }
277
278 .example-wrap {
279         width: 100%;
280 }
281
282 .example-wrap > pre.line-number {
283         overflow: initial;
284         border: 1px solid;
285         border-top-left-radius: 5px;
286         border-bottom-left-radius: 5px;
287         padding: 13px 8px;
288         text-align: right;
289 }
290
291 .rustdoc:not(.source) .example-wrap > pre.rust {
292         width: 100%;
293         overflow-x: auto;
294 }
295
296 .rustdoc:not(.source) .example-wrap > pre {
297         margin: 0;
298 }
299
300 #search {
301         margin-left: 230px;
302         position: relative;
303 }
304
305 #results {
306         position: absolute;
307         right: 0;
308         left: 0;
309         overflow: auto;
310 }
311
312 #results > table {
313         width: 100%;
314         table-layout: fixed;
315 }
316
317 .content pre.line-numbers {
318         float: left;
319         border: none;
320         position: relative;
321
322         -webkit-user-select: none;
323         -moz-user-select: none;
324         -ms-user-select: none;
325         user-select: none;
326 }
327 .line-numbers span {
328         cursor: pointer;
329 }
330
331 .docblock-short p {
332         display: inline;
333 }
334
335 .docblock-short.nowrap {
336         display: block;
337         overflow: hidden;
338         white-space: nowrap;
339         text-overflow: ellipsis;
340 }
341
342 .docblock-short p {
343         overflow: hidden;
344         text-overflow: ellipsis;
345         margin: 0;
346 }
347 .docblock-short code {
348         white-space: nowrap;
349 }
350
351 .docblock h1, .docblock h2, .docblock h3, .docblock h4, .docblock h5 {
352         border-bottom: 1px solid;
353 }
354
355 #main > .docblock h1 { font-size: 1.3em; }
356 #main > .docblock h2 { font-size: 1.15em; }
357 #main > .docblock h3, #main > .docblock h4, #main > .docblock h5 { font-size: 1em; }
358
359 #main > h2 + div, #main > h2 + h3, #main > h3 + div {
360         display: none; /* Changed to flex or block via js once the page is loaded */
361         flex-wrap: wrap;
362 }
363
364 .docblock h1 { font-size: 1em; }
365 .docblock h2 { font-size: 0.95em; }
366 .docblock h3, .docblock h4, .docblock h5 { font-size: 0.9em; }
367
368 .docblock {
369         margin-left: 24px;
370         position: relative;
371 }
372
373 .content .out-of-band {
374         float: right;
375         font-size: 23px;
376         margin: 0px;
377         padding: 0px;
378         font-weight: normal;
379 }
380
381 h3.impl > .out-of-band {
382         font-size: 21px;
383 }
384
385 h4.method > .out-of-band {
386         font-size: 19px;
387 }
388
389 h4 > code, h3 > code, .invisible > code {
390         max-width: calc(100% - 41px);
391         display: block;
392 }
393
394 .invisible {
395         width: 100%;
396         display: inline-block;
397 }
398
399 .content .in-band {
400         margin: 0px;
401         padding: 0px;
402 }
403
404 .in-band > code {
405         display: inline-block;
406 }
407
408 #main {
409         position: relative;
410 }
411 #main > .since {
412         top: inherit;
413         font-family: "Fira Sans", sans-serif;
414 }
415
416 .content table:not(.table-display) {
417         border-spacing: 0 5px;
418 }
419 .content td { vertical-align: top; }
420 .content td:first-child { padding-right: 20px; }
421 .content td p:first-child { margin-top: 0; }
422 .content td h1, .content td h2 { margin-left: 0; font-size: 1.1em; }
423 .content tr:first-child td { border-top: 0; }
424
425 .docblock table {
426         margin: .5em 0;
427         width: 100%;
428 }
429
430 .docblock table td {
431         padding: .5em;
432         border: 1px dashed;
433 }
434
435 .docblock table th {
436         padding: .5em;
437         text-align: left;
438         border: 1px solid;
439 }
440
441 .fields + table {
442         margin-bottom: 1em;
443 }
444
445 .content .item-list {
446         list-style-type: none;
447         padding: 0;
448 }
449
450 .content .multi-column {
451         -moz-column-count: 5;
452         -moz-column-gap: 2.5em;
453         -webkit-column-count: 5;
454         -webkit-column-gap: 2.5em;
455         column-count: 5;
456         column-gap: 2.5em;
457 }
458 .content .multi-column li { width: 100%; display: inline-block; }
459
460 .content .method {
461         font-size: 1em;
462         position: relative;
463 }
464 /* Shift "where ..." part of method or fn definition down a line */
465 .content .method .where,
466 .content .fn .where,
467 .content .where.fmt-newline {
468         display: block;
469         font-size: 0.8em;
470 }
471
472 .content .methods > div:not(.important-traits) {
473         margin-left: 40px;
474         margin-bottom: 15px;
475 }
476
477 .content .docblock > .impl-items {
478         margin-left: 20px;
479         margin-top: -34px;
480 }
481 .content .docblock > .impl-items > h4 {
482         border-bottom: 0;
483 }
484 .content .docblock >.impl-items .table-display {
485         margin: 0;
486 }
487 .content .docblock >.impl-items table td {
488         padding: 0;
489 }
490 .toggle-wrapper.marg-left > .collapse-toggle {
491         left: -24px;
492 }
493 .content .docblock > .impl-items .table-display, .impl-items table td {
494         border: none;
495 }
496
497 .content .stability code {
498         font-size: 90%;
499 }
500
501 .content .stability {
502         position: relative;
503         margin-left: 33px;
504         margin-top: -13px;
505 }
506
507 .sub-variant > div > .stability {
508         margin-top: initial;
509 }
510
511 .content .stability::before {
512         content: '˪';
513         font-size: 30px;
514         position: absolute;
515         top: -9px;
516         left: -13px;
517 }
518
519 .content .impl-items .method, .content .impl-items > .type, .impl-items > .associatedconstant {
520         margin-left: 20px;
521 }
522
523 .content .impl-items .docblock, .content .impl-items .stability {
524         margin-bottom: .6em;
525 }
526
527 .content .impl-items > .stability {
528         margin-left: 40px;
529 }
530
531 .methods > .stability, .content .impl-items > .stability {
532         margin-top: -8px;
533 }
534
535 .impl-items {
536         flex-basis: 100%;
537 }
538
539 #main > .stability {
540         margin-top: 0;
541 }
542
543 nav {
544         border-bottom: 1px solid;
545         padding-bottom: 10px;
546         margin-bottom: 10px;
547 }
548 nav.main {
549         padding: 20px 0;
550         text-align: center;
551 }
552 nav.main .current {
553         border-top: 1px solid;
554         border-bottom: 1px solid;
555 }
556 nav.main .separator {
557         border: 1px solid;
558         display: inline-block;
559         height: 23px;
560         margin: 0 20px;
561 }
562 nav.sum { text-align: right; }
563 nav.sub form { display: inline; }
564
565 nav.sub, .content {
566         margin-left: 230px;
567 }
568
569 a {
570         text-decoration: none;
571         background: transparent;
572 }
573
574 .small-section-header:hover > .anchor {
575         display: initial;
576 }
577
578 .in-band:hover > .anchor {
579         display: inline-block;
580         position: absolute;
581 }
582 .anchor {
583         display: none;
584         position: absolute;
585         left: -7px;
586 }
587 .anchor.field {
588         left: -5px;
589 }
590 .small-section-header > .anchor {
591         left: -28px;
592         padding-right: 10px; /* avoid gap that causes hover to disappear */
593 }
594 .anchor:before {
595         content: '\2002\00a7\2002';
596 }
597
598 .docblock a:not(.srclink):not(.test-arrow):hover,
599 .docblock-short a:not(.srclink):not(.test-arrow):hover, .stability a {
600         text-decoration: underline;
601 }
602
603 .invisible > .srclink, h4 > code + .srclink {
604         position: absolute;
605         top: 0;
606         right: 0;
607         font-size: 17px;
608         font-weight: normal;
609 }
610
611 .block a.current.crate { font-weight: 500; }
612
613 .search-container {
614         position: relative;
615 }
616 .search-container > div {
617         display: inline-flex;
618         width: calc(100% - 34px);
619 }
620 #crate-search {
621         margin-top: 5px;
622         padding: 6px;
623         padding-right: 19px;
624         border: 0;
625         border-right: 0;
626         border-radius: 4px 0 0 4px;
627         outline: none;
628         cursor: pointer;
629         border-right: 1px solid;
630         -moz-appearance: none;
631         -webkit-appearance: none;
632         /* Removes default arrow from firefox */
633         text-indent: 0.01px;
634         text-overflow: "";
635         background-repeat: no-repeat;
636         background-color: transparent;
637         background-size: 20px;
638         background-position: calc(100% - 1px) 56%;
639 }
640 .search-container > .top-button {
641         position: absolute;
642         right: 0;
643         top: 10px;
644 }
645 .search-input {
646         /* Override Normalize.css: we have margins and do
647          not want to overflow - the `moz` attribute is necessary
648          until Firefox 29, too early to drop at this point */
649         -moz-box-sizing: border-box !important;
650         box-sizing: border-box !important;
651         outline: none;
652         border: none;
653         border-radius: 1px;
654         margin-top: 5px;
655         padding: 10px 16px;
656         font-size: 17px;
657         transition: border-color 300ms ease;
658         transition: border-radius 300ms ease-in-out;
659         transition: box-shadow 300ms ease-in-out;
660         width: 100%;
661 }
662
663 #crate-search + .search-input {
664         border-radius: 0 1px 1px 0;
665 }
666
667 .search-input:focus {
668         border-radius: 2px;
669         border: 0;
670         outline: 0;
671         box-shadow: 0 0 8px #078dd8;
672 }
673
674 .search-results .desc {
675         white-space: nowrap;
676         text-overflow: ellipsis;
677         overflow: hidden;
678         display: block;
679 }
680
681 .search-results a {
682         display: block;
683 }
684
685 .content .search-results td:first-child {
686         padding-right: 0;
687         width: 50%;
688 }
689 .content .search-results td:first-child a {
690         padding-right: 10px;
691 }
692 .content .search-results td:first-child a:after {
693         clear: both;
694         content: "";
695         display: block;
696 }
697 .content .search-results td:first-child a span {
698         float: left;
699 }
700
701 tr.result span.primitive::after {
702         content: ' (primitive type)';
703         font-style: italic;
704 }
705
706 tr.result span.keyword::after {
707         content: ' (keyword)';
708         font-style: italic;
709 }
710
711 body.blur > :not(#help) {
712         filter: blur(8px);
713         -webkit-filter: blur(8px);
714         opacity: .7;
715 }
716
717 #help {
718         width: 100%;
719         height: 100vh;
720         position: fixed;
721         top: 0;
722         left: 0;
723         display: flex;
724         justify-content: center;
725         align-items: center;
726 }
727 #help > div {
728         flex: 0 0 auto;
729         box-shadow: 0 0 6px rgba(0,0,0,.2);
730         width: 550px;
731         height: auto;
732         border: 1px solid;
733 }
734 #help dt {
735         float: left;
736         clear: left;
737         display: block;
738 }
739 #help dd { margin: 5px 35px; }
740 #help .infos { padding-left: 0; }
741 #help h1, #help h2 { margin-top: 0; }
742 #help > div div {
743         width: 50%;
744         float: left;
745         padding: 20px;
746         padding-left: 17px;
747 }
748
749 .stab {
750         display: table;
751         border-width: 1px;
752         border-style: solid;
753         padding: 3px;
754         margin-bottom: 5px;
755         font-size: 90%;
756 }
757 .stab p {
758         display: inline;
759 }
760
761 .stab summary {
762         display: list-item;
763 }
764
765 .stab .emoji {
766         font-size: 1.5em;
767 }
768
769 .module-item .stab {
770         display: inline;
771         border-width: 0;
772         padding: 0;
773         margin: 0;
774         background: inherit !important;
775 }
776
777 .module-item.unstable {
778         opacity: 0.65;
779 }
780
781 .since {
782         font-weight: normal;
783         font-size: initial;
784         position: absolute;
785         right: 0;
786         top: 0;
787 }
788
789 .impl-items .since, .impl .since {
790         flex-grow: 0;
791         padding-left: 12px;
792         padding-right: 2px;
793         position: initial;
794 }
795
796 .impl-items .srclink, .impl .srclink {
797         flex-grow: 0;
798         /* Override header settings otherwise it's too bold */
799         font-size: 17px;
800         font-weight: normal;
801 }
802
803 .impl-items code, .impl code {
804         flex-grow: 1;
805 }
806
807 .impl-items h4, h4.impl, h3.impl {
808         display: flex;
809         flex-basis: 100%;
810         font-size: 16px;
811         margin-bottom: 12px;
812         /* Push the src link out to the right edge consistently */
813         justify-content: space-between;
814 }
815
816 .variants_table {
817         width: 100%;
818 }
819
820 .variants_table tbody tr td:first-child {
821         width: 1%; /* make the variant name as small as possible */
822 }
823
824 td.summary-column {
825         width: 100%;
826 }
827
828 .summary {
829         padding-right: 0px;
830 }
831
832 pre.rust .question-mark {
833         font-weight: bold;
834 }
835
836 a.test-arrow {
837         display: inline-block;
838         position: absolute;
839         padding: 5px 10px 5px 10px;
840         border-radius: 5px;
841         font-size: 130%;
842         top: 5px;
843         right: 5px;
844 }
845 a.test-arrow:hover{
846         text-decoration: none;
847 }
848
849 .section-header:hover a:before {
850         position: absolute;
851         left: -25px;
852         padding-right: 10px; /* avoid gap that causes hover to disappear */
853         content: '\2002\00a7\2002';
854 }
855
856 .section-header:hover a {
857         text-decoration: none;
858 }
859
860 .section-header a {
861         color: inherit;
862 }
863
864 .collapse-toggle {
865         font-weight: 300;
866         position: absolute;
867         left: -23px;
868         top: 0;
869 }
870
871 h3 > .collapse-toggle, h4 > .collapse-toggle {
872         font-size: 0.8em;
873         top: 5px;
874 }
875
876 .toggle-wrapper > .collapse-toggle {
877         left: -24px;
878         margin-top: 0px;
879 }
880
881 .toggle-wrapper {
882         position: relative;
883         margin-top: 0;
884 }
885
886 .toggle-wrapper.collapsed {
887         height: 25px;
888         transition: height .2s;
889         margin-bottom: .6em;
890 }
891
892 .collapse-toggle > .inner {
893         display: inline-block;
894         width: 1.2ch;
895         text-align: center;
896 }
897
898 .collapse-toggle.hidden-default {
899         position: relative;
900         margin-left: 20px;
901 }
902
903 .since + .srclink {
904         display: table-cell;
905         padding-left: 10px;
906 }
907
908 .item-spacer {
909         width: 100%;
910         height: 12px;
911 }
912
913 span.since {
914         position: initial;
915         font-size: 20px;
916         margin-right: 5px;
917 }
918
919 .toggle-wrapper > .collapse-toggle {
920         left: 0;
921 }
922
923 .variant + .toggle-wrapper + .docblock > p {
924         margin-top: 5px;
925 }
926
927 .sub-variant, .sub-variant > h3 {
928         margin-top: 1px !important;
929 }
930
931 #main > .sub-variant > h3 {
932         font-size: 15px;
933         margin-left: 25px;
934         margin-bottom: 5px;
935 }
936
937 .sub-variant > div {
938         margin-left: 20px;
939         margin-bottom: 10px;
940 }
941
942 .sub-variant > div > span {
943         display: block;
944         position: relative;
945 }
946
947 .toggle-label {
948         display: inline-block;
949         margin-left: 4px;
950         margin-top: 3px;
951 }
952
953 .enum > .toggle-wrapper + .docblock, .struct > .toggle-wrapper + .docblock {
954         margin-left: 30px;
955         margin-bottom: 20px;
956         margin-top: 5px;
957 }
958
959 .docblock > .section-header:first-child {
960         margin-left: 15px;
961         margin-top: 0;
962 }
963
964 .docblock > .section-header:first-child:hover > a:before {
965         left: -10px;
966 }
967
968 .enum > .collapsed, .struct > .collapsed {
969         margin-bottom: 25px;
970 }
971
972 #main > .variant, #main > .structfield {
973         display: block;
974 }
975
976 .attributes {
977         display: block;
978         margin-top: 0px !important;
979         margin-right: 0px;
980         margin-bottom: 0px !important;
981         margin-left: 30px;
982 }
983 .toggle-attributes.collapsed {
984         margin-bottom: 0;
985 }
986 .impl-items > .toggle-attributes {
987         margin-left: 20px;
988 }
989 .impl-items .attributes {
990         font-weight: 500;
991 }
992
993 :target > code {
994         opacity: 1;
995 }
996
997 /* Media Queries */
998
999 @media (max-width: 700px) {
1000         body {
1001                 padding-top: 0px;
1002         }
1003
1004         .rustdoc > .sidebar {
1005                 height: 45px;
1006                 min-height: 40px;
1007                 margin: 0;
1008                 margin-left: -15px;
1009                 padding: 0 15px;
1010                 position: static;
1011                 z-index: 11;
1012         }
1013
1014         .sidebar > .location {
1015                 float: right;
1016                 margin: 0px;
1017                 margin-top: 2px;
1018                 padding: 3px 10px 1px 10px;
1019                 min-height: 39px;
1020                 background: inherit;
1021                 text-align: left;
1022                 font-size: 24px;
1023         }
1024
1025         .sidebar .location:empty {
1026                 padding: 0;
1027         }
1028
1029         .sidebar img {
1030                 width: 35px;
1031                 margin-top: 5px;
1032                 margin-bottom: 5px;
1033                 float: left;
1034                 margin-left: 50px;
1035         }
1036
1037         .sidebar-menu {
1038                 position: fixed;
1039                 z-index: 10;
1040                 font-size: 2rem;
1041                 cursor: pointer;
1042                 width: 45px;
1043                 left: 0;
1044                 text-align: center;
1045                 display: block;
1046                 border-bottom: 1px solid;
1047                 border-right: 1px solid;
1048                 height: 45px;
1049         }
1050
1051         .sidebar-elems {
1052                 position: fixed;
1053                 z-index: 1;
1054                 left: 0;
1055                 top: 45px;
1056                 bottom: 0;
1057                 overflow-y: auto;
1058                 border-right: 1px solid;
1059                 display: none;
1060         }
1061
1062         .sidebar > .block.version {
1063                 border-bottom: none;
1064                 margin-top: 12px;
1065         }
1066
1067         nav.sub {
1068                 width: calc(100% - 32px);
1069                 float: right;
1070         }
1071
1072         .content {
1073                 margin-left: 0px;
1074         }
1075
1076         #main {
1077                 margin-top: 45px;
1078                 padding: 0;
1079         }
1080
1081         .content .in-band {
1082                 width: 100%;
1083         }
1084
1085         .content h4 > .out-of-band {
1086                 position: inherit;
1087         }
1088
1089         .toggle-wrapper > .collapse-toggle {
1090                 left: 0px;
1091         }
1092
1093         .toggle-wrapper {
1094                 height: 1.5em;
1095         }
1096
1097         #search {
1098                 margin-left: 0;
1099         }
1100
1101         .content .impl-items .method, .content .impl-items > .type, .impl-items > .associatedconstant {
1102                 display: flex;
1103         }
1104
1105         .anchor {
1106                 display: none !important;
1107         }
1108
1109         h1.fqn {
1110                 overflow: initial;
1111         }
1112 }
1113
1114 @media print {
1115         nav.sub, .content .out-of-band, .collapse-toggle {
1116                 display: none;
1117         }
1118 }
1119
1120 .information {
1121         position: absolute;
1122         left: -20px;
1123         margin-top: 7px;
1124         z-index: 1;
1125 }
1126
1127 .tooltip {
1128         position: relative;
1129         display: inline-block;
1130         cursor: pointer;
1131 }
1132
1133 .tooltip .tooltiptext {
1134         width: 120px;
1135         display: none;
1136         text-align: center;
1137         padding: 5px 3px;
1138         border-radius: 6px;
1139         margin-left: 5px;
1140         top: -5px;
1141         left: 105%;
1142         z-index: 10;
1143 }
1144
1145 .tooltip:hover .tooltiptext {
1146         display: inline;
1147 }
1148
1149 .tooltip .tooltiptext::after {
1150         content: " ";
1151         position: absolute;
1152         top: 50%;
1153         left: 11px;
1154         margin-top: -5px;
1155         border-width: 5px;
1156         border-style: solid;
1157 }
1158
1159 .important-traits .tooltip .tooltiptext {
1160         border: 1px solid;
1161 }
1162
1163 pre.rust {
1164         position: relative;
1165         tab-width: 4;
1166         -moz-tab-width: 4;
1167 }
1168
1169 .search-failed {
1170         text-align: center;
1171         margin-top: 20px;
1172 }
1173
1174 .search-failed > ul {
1175         text-align: left;
1176         max-width: 570px;
1177         margin-left: auto;
1178         margin-right: auto;
1179 }
1180
1181 #titles {
1182         height: 35px;
1183 }
1184
1185 #titles > div {
1186         float: left;
1187         width: 33.3%;
1188         text-align: center;
1189         font-size: 18px;
1190         cursor: pointer;
1191         border-top: 2px solid;
1192 }
1193
1194 #titles > div:not(:last-child):not(.selected) {
1195         margin-right: 1px;
1196         width: calc(33.3% - 1px);
1197 }
1198
1199 #titles > div > div.count {
1200         display: inline-block;
1201         font-size: 16px;
1202 }
1203
1204 .important-traits {
1205         cursor: pointer;
1206         z-index: 2;
1207 }
1208
1209 h4 > .important-traits {
1210         position: absolute;
1211         left: -44px;
1212         top: 2px;
1213 }
1214
1215 #all-types {
1216         text-align: center;
1217         border: 1px solid;
1218         margin: 0 10px;
1219         margin-bottom: 10px;
1220         display: block;
1221         border-radius: 7px;
1222 }
1223 #all-types > p {
1224         margin: 5px 0;
1225 }
1226
1227 @media (max-width: 700px) {
1228         h4 > .important-traits {
1229                 position: absolute;
1230                 left: -22px;
1231                 top: 24px;
1232         }
1233
1234         #titles > div > div.count {
1235                 float: left;
1236                 width: 100%;
1237         }
1238
1239         #titles {
1240                 height: 50px;
1241         }
1242
1243         .sidebar.mobile {
1244                 position: fixed;
1245                 width: 100%;
1246                 margin-left: 0;
1247                 background-color: rgba(0,0,0,0);
1248                 height: 100%;
1249         }
1250         .sidebar {
1251                 width: calc(100% + 30px);
1252         }
1253
1254         .show-it {
1255                 display: block;
1256                 width: 246px;
1257         }
1258
1259         .show-it > .block.items {
1260                 margin: 8px 0;
1261         }
1262
1263         .show-it > .block.items > ul {
1264                 margin: 0;
1265         }
1266
1267         .show-it > .block.items > ul > li {
1268                 text-align: center;
1269                 margin: 2px 0;
1270         }
1271
1272         .show-it > .block.items > ul > li > a {
1273                 font-size: 21px;
1274         }
1275
1276         /* Because of ios, we need to actually have a full height sidebar title so the
1277          * actual sidebar can show up. But then we need to make it transparent so we don't
1278          * hide content. The filler just allows to create the background for the sidebar
1279          * title. But because of the absolute position, I had to lower the z-index.
1280          */
1281         #sidebar-filler {
1282                 position: fixed;
1283                 left: 45px;
1284                 width: calc(100% - 45px);
1285                 top: 0;
1286                 height: 45px;
1287                 z-index: -1;
1288                 border-bottom: 1px solid;
1289         }
1290
1291         .collapse-toggle {
1292                 left: -20px;
1293         }
1294
1295         .impl > .collapse-toggle {
1296                 left: -10px;
1297         }
1298
1299         #all-types {
1300                 margin: 10px;
1301         }
1302 }
1303
1304
1305 @media (max-width: 416px) {
1306         #titles {
1307                 height: 73px;
1308         }
1309
1310         #titles > div {
1311                 height: 73px;
1312         }
1313 }
1314
1315 .modal {
1316         position: fixed;
1317         width: 100vw;
1318         height: 100vh;
1319         z-index: 10000;
1320         top: 0;
1321         left: 0;
1322 }
1323
1324 .modal-content {
1325         display: block;
1326         max-width: 60%;
1327         min-width: 200px;
1328         padding: 8px;
1329         top: 40%;
1330         position: absolute;
1331         left: 50%;
1332         transform: translate(-50%, -40%);
1333         border: 1px solid;
1334         border-radius: 4px;
1335         border-top-right-radius: 0;
1336 }
1337
1338 .modal-content > .docblock {
1339         margin: 0;
1340 }
1341
1342 h3.important {
1343         margin: 0;
1344         margin-bottom: 13px;
1345         font-size: 19px;
1346 }
1347
1348 .modal-content > .docblock > code.content {
1349         margin: 0;
1350         padding: 0;
1351         font-size: 20px;
1352 }
1353
1354 .modal-content > .close {
1355         position: absolute;
1356         font-weight: 900;
1357         right: -25px;
1358         top: -1px;
1359         font-size: 18px;
1360         width: 25px;
1361         padding-right: 2px;
1362         border-top-right-radius: 5px;
1363         border-bottom-right-radius: 5px;
1364         text-align: center;
1365         border: 1px solid;
1366         border-right: 0;
1367         cursor: pointer;
1368 }
1369
1370 .modal-content > .whiter {
1371         height: 25px;
1372         position: absolute;
1373         width: 3px;
1374         right: -2px;
1375         top: 0px;
1376 }
1377
1378 #main > div.important-traits {
1379         position: absolute;
1380         left: -24px;
1381         margin-top: 16px;
1382 }
1383
1384 .content > .methods > .method > div.important-traits {
1385         position: absolute;
1386         font-weight: 400;
1387         left: -42px;
1388         margin-top: 2px;
1389 }
1390
1391 kbd {
1392         display: inline-block;
1393         padding: 3px 5px;
1394         font: 15px monospace;
1395         line-height: 10px;
1396         vertical-align: middle;
1397         border: solid 1px;
1398         border-radius: 3px;
1399         box-shadow: inset 0 -1px 0;
1400         cursor: default;
1401 }
1402
1403 .theme-picker {
1404         position: absolute;
1405         left: 211px;
1406         top: 19px;
1407 }
1408
1409 .theme-picker button {
1410         outline: none;
1411 }
1412
1413 #settings-menu {
1414         position: absolute;
1415         right: 0;
1416         top: 10px;
1417         outline: none;
1418 }
1419
1420 #theme-picker, #settings-menu {
1421         padding: 4px;
1422         width: 27px;
1423         height: 29px;
1424         border: 1px solid;
1425         border-radius: 3px;
1426         cursor: pointer;
1427 }
1428
1429 #theme-choices {
1430         display: none;
1431         position: absolute;
1432         left: 0;
1433         top: 28px;
1434         border: 1px solid;
1435         border-radius: 3px;
1436         z-index: 1;
1437         cursor: pointer;
1438 }
1439
1440 #theme-choices > button {
1441         border: none;
1442         width: 100%;
1443         padding: 4px;
1444         text-align: center;
1445         background: rgba(0,0,0,0);
1446 }
1447
1448 #theme-choices > button:not(:first-child) {
1449         border-top: 1px solid;
1450 }
1451
1452 @media (max-width: 700px) {
1453         .theme-picker {
1454                 left: 10px;
1455                 top: 54px;
1456                 z-index: 1;
1457         }
1458 }
1459
1460 .hidden-by-impl-hider,
1461 .hidden-by-usual-hider {
1462         /* important because of conflicting rule for small screens */
1463         display: none !important;
1464 }
1465
1466 #implementations-list > h3 > span.in-band {
1467         width: 100%;
1468 }
1469
1470 .table-display {
1471         width: 100%;
1472         border: 0;
1473         border-collapse: collapse;
1474         border-spacing: 0;
1475         font-size: 16px;
1476 }
1477
1478 .table-display tr td:first-child {
1479         padding-right: 0;
1480 }
1481
1482 .table-display tr td:last-child {
1483         float: right;
1484 }
1485 .table-display .out-of-band {
1486         position: relative;
1487         font-size: 19px;
1488         display: block;
1489 }
1490 #implementors-list > .impl-items .table-display .out-of-band {
1491         font-size: 17px;
1492 }
1493
1494 .table-display td:hover .anchor {
1495         display: block;
1496         top: 2px;
1497         left: -5px;
1498 }
1499
1500 #main > ul {
1501         padding-left: 10px;
1502 }
1503 #main > ul > li {
1504         list-style: none;
1505 }
1506
1507 .non-exhaustive {
1508         margin-bottom: 1em;
1509 }
1510
1511 #sidebar-toggle {
1512         position: fixed;
1513         top: 30px;
1514         left: 300px;
1515         z-index: 10;
1516         padding: 3px;
1517         border-top-right-radius: 3px;
1518         border-bottom-right-radius: 3px;
1519         cursor: pointer;
1520         font-weight: bold;
1521         transition: left .5s;
1522         font-size: 1.2em;
1523         border: 1px solid;
1524         border-left: 0;
1525 }
1526 #source-sidebar {
1527         position: fixed;
1528         top: 0;
1529         bottom: 0;
1530         left: 0;
1531         width: 300px;
1532         z-index: 1;
1533         overflow: auto;
1534         transition: left .5s;
1535         border-right: 1px solid;
1536 }
1537 #source-sidebar > .title {
1538         font-size: 1.5em;
1539         text-align: center;
1540         border-bottom: 1px solid;
1541         margin-bottom: 6px;
1542 }
1543
1544 div.children {
1545         padding-left: 27px;
1546         display: none;
1547 }
1548 div.name {
1549         cursor: pointer;
1550         position: relative;
1551         margin-left: 16px;
1552 }
1553 div.files > a {
1554         display: block;
1555         padding: 0 3px;
1556 }
1557 div.files > a:hover, div.name:hover {
1558         background-color: #a14b4b;
1559 }
1560 div.name.expand + .children {
1561         display: block;
1562 }
1563 div.name::before {
1564         content: "\25B6";
1565         padding-left: 4px;
1566         font-size: 0.7em;
1567         position: absolute;
1568         left: -16px;
1569         top: 4px;
1570 }
1571 div.name.expand::before {
1572         transform: rotate(90deg);
1573         left: -14px;
1574 }