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