]> git.lizzy.rs Git - rust.git/blob - src/librustdoc/html/static/rustdoc.css
Improve stability messages display a bit
[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", Georgia, Times, "Times New Roman", 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", "Helvetica Neue", Helvetica, Arial, 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", Menlo, Monaco, Consolas, "DejaVu Sans Mono", Inconsolata, 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 #search {
286         margin-left: 230px;
287         position: relative;
288 }
289
290 #results {
291         position: absolute;
292         right: 0;
293         left: 0;
294         overflow: auto;
295 }
296
297 #results > table {
298         width: 100%;
299         table-layout: fixed;
300 }
301
302 .content pre.line-numbers {
303         float: left;
304         border: none;
305         position: relative;
306
307         -webkit-user-select: none;
308         -moz-user-select: none;
309         -ms-user-select: none;
310         user-select: none;
311 }
312 .line-numbers span {
313         cursor: pointer;
314 }
315
316 .docblock-short p {
317         display: inline;
318 }
319
320 .docblock-short.nowrap {
321         display: block;
322         overflow: hidden;
323         white-space: nowrap;
324         text-overflow: ellipsis;
325 }
326
327 .docblock-short p {
328         overflow: hidden;
329         text-overflow: ellipsis;
330         margin: 0;
331 }
332 .docblock-short code {
333         white-space: nowrap;
334 }
335
336 .docblock h1, .docblock h2, .docblock h3, .docblock h4, .docblock h5 {
337         border-bottom: 1px solid;
338 }
339
340 #main > .docblock h1 { font-size: 1.3em; }
341 #main > .docblock h2 { font-size: 1.15em; }
342 #main > .docblock h3, #main > .docblock h4, #main > .docblock h5 { font-size: 1em; }
343
344 .docblock h1 { font-size: 1em; }
345 .docblock h2 { font-size: 0.95em; }
346 .docblock h3, .docblock h4, .docblock h5 { font-size: 0.9em; }
347
348 .docblock {
349         margin-left: 24px;
350         position: relative;
351 }
352
353 .content .out-of-band {
354         float: right;
355         font-size: 23px;
356         margin: 0px;
357         padding: 0px;
358         font-weight: normal;
359 }
360
361 h3.impl > .out-of-band {
362         font-size: 21px;
363 }
364
365 h4.method > .out-of-band {
366         font-size: 19px;
367 }
368
369 h4 > code, h3 > code, .invisible > code {
370         max-width: calc(100% - 41px);
371         display: block;
372 }
373
374 .in-band, code {
375         z-index: 5;
376 }
377
378 .invisible {
379         width: 100%;
380         display: inline-block;
381 }
382
383 .content .in-band {
384         margin: 0px;
385         padding: 0px;
386 }
387
388 .in-band > code {
389         display: inline-block;
390 }
391
392 #main {
393         position: relative;
394 }
395 #main > .since {
396         top: inherit;
397         font-family: "Fira Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
398 }
399
400 .content table:not(.table-display) {
401         border-spacing: 0 5px;
402 }
403 .content td { vertical-align: top; }
404 .content td:first-child { padding-right: 20px; }
405 .content td p:first-child { margin-top: 0; }
406 .content td h1, .content td h2 { margin-left: 0; font-size: 1.1em; }
407 .content tr:first-child td { border-top: 0; }
408
409 .docblock table {
410         margin: .5em 0;
411         width: 100%;
412 }
413
414 .docblock table td {
415         padding: .5em;
416         border: 1px dashed;
417 }
418
419 .docblock table th {
420         padding: .5em;
421         text-align: left;
422         border: 1px solid;
423 }
424
425 .fields + table {
426         margin-bottom: 1em;
427 }
428
429 .content .item-list {
430         list-style-type: none;
431         padding: 0;
432 }
433
434 .content .multi-column {
435         -moz-column-count: 5;
436         -moz-column-gap: 2.5em;
437         -webkit-column-count: 5;
438         -webkit-column-gap: 2.5em;
439         column-count: 5;
440         column-gap: 2.5em;
441 }
442 .content .multi-column li { width: 100%; display: inline-block; }
443
444 .content .method {
445         font-size: 1em;
446         position: relative;
447 }
448 /* Shift "where ..." part of method or fn definition down a line */
449 .content .method .where,
450 .content .fn .where,
451 .content .where.fmt-newline {
452         display: block;
453         font-size: 0.8em;
454 }
455
456 .content .methods > div:not(.important-traits) {
457         margin-left: 40px;
458         margin-bottom: 15px;
459 }
460
461 .content .docblock > .impl-items {
462         margin-left: 20px;
463         margin-top: -34px;
464 }
465 .content .docblock > .impl-items > h4 {
466         border-bottom: 0;
467 }
468 .content .docblock >.impl-items .table-display {
469         margin: 0;
470 }
471 .content .docblock >.impl-items table td {
472         padding: 0;
473 }
474 .toggle-wrapper.marg-left > .collapse-toggle {
475         left: -24px;
476 }
477 .content .docblock > .impl-items .table-display, .impl-items table td {
478         border: none;
479 }
480
481 .content .stability code {
482         font-size: 90%;
483 }
484
485 .content .stability {
486         position: relative;
487         margin-left: 33px;
488         margin-top: -13px;
489 }
490
491 .content .stability::before {
492         content: '˪';
493         font-size: 30px;
494         position: absolute;
495         top: -9px;
496         left: -13px;
497 }
498
499 .content .impl-items .method, .content .impl-items > .type, .impl-items > .associatedconstant {
500         margin-left: 20px;
501 }
502
503 .content .impl-items .docblock, .content .impl-items .stability {
504         margin-bottom: .6em;
505 }
506
507 .content .impl-items > .stability {
508         margin-left: 40px;
509 }
510
511 .methods > .stability, .content .impl-items > .stability {
512         margin-top: -8px;
513 }
514
515 #main > .stability {
516         margin-top: 0;
517 }
518
519 nav {
520         border-bottom: 1px solid;
521         padding-bottom: 10px;
522         margin-bottom: 10px;
523 }
524 nav.main {
525         padding: 20px 0;
526         text-align: center;
527 }
528 nav.main .current {
529         border-top: 1px solid;
530         border-bottom: 1px solid;
531 }
532 nav.main .separator {
533         border: 1px solid;
534         display: inline-block;
535         height: 23px;
536         margin: 0 20px;
537 }
538 nav.sum { text-align: right; }
539 nav.sub form { display: inline; }
540
541 nav.sub, .content {
542         margin-left: 230px;
543 }
544
545 a {
546         text-decoration: none;
547         background: transparent;
548 }
549
550 .small-section-header:hover > .anchor {
551         display: initial;
552 }
553
554 .in-band:hover > .anchor {
555         display: inline-block;
556         position: absolute;
557 }
558 .anchor {
559         display: none;
560         position: absolute;
561         left: -7px;
562 }
563 .anchor.field {
564         left: -5px;
565 }
566 .small-section-header > .anchor {
567         left: -28px;
568         padding-right: 10px; /* avoid gap that causes hover to disappear */
569 }
570 .anchor:before {
571         content: '\2002\00a7\2002';
572 }
573
574 .docblock a:not(.srclink):not(.test-arrow):hover,
575 .docblock-short a:not(.srclink):not(.test-arrow):hover, .stability a {
576         text-decoration: underline;
577 }
578
579 .invisible > .srclink {
580         position: absolute;
581         top: 0;
582         right: 0;
583         font-size: 17px;
584         font-weight: normal;
585 }
586
587 .block a.current.crate { font-weight: 500; }
588
589 .search-container {
590         position: relative;
591 }
592 .search-container > .top-button {
593         position: absolute;
594         right: 0;
595         top: 10px;
596 }
597 .search-input {
598         width: calc(100% - 34px);
599         /* Override Normalize.css: we have margins and do
600          not want to overflow - the `moz` attribute is necessary
601          until Firefox 29, too early to drop at this point */
602         -moz-box-sizing: border-box !important;
603         box-sizing: border-box !important;
604         outline: none;
605         border: none;
606         border-radius: 1px;
607         margin-top: 5px;
608         padding: 10px 16px;
609         font-size: 17px;
610         transition: border-color 300ms ease;
611         transition: border-radius 300ms ease-in-out;
612         transition: box-shadow 300ms ease-in-out;
613 }
614
615 .search-input:focus {
616         border-radius: 2px;
617         border: 0;
618         outline: 0;
619         box-shadow: 0 0 8px #078dd8;
620 }
621
622 .search-results .desc {
623         white-space: nowrap;
624         text-overflow: ellipsis;
625         overflow: hidden;
626         display: block;
627 }
628
629 .search-results a {
630         display: block;
631 }
632
633 .content .search-results td:first-child {
634         padding-right: 0;
635         width: 50%;
636 }
637 .content .search-results td:first-child a {
638         padding-right: 10px;
639 }
640 .content .search-results td:first-child a:after {
641     clear: both;
642     content: "";
643     display: block;
644 }
645 .content .search-results td:first-child a span {
646         float: left;
647 }
648
649 tr.result span.primitive::after {
650         content: ' (primitive type)';
651         font-style: italic;
652 }
653
654 tr.result span.keyword::after {
655         content: ' (keyword)';
656         font-style: italic;
657 }
658
659 body.blur > :not(#help) {
660         filter: blur(8px);
661         -webkit-filter: blur(8px);
662         opacity: .7;
663 }
664
665 #help {
666         width: 100%;
667         height: 100vh;
668         position: fixed;
669         top: 0;
670         left: 0;
671         display: flex;
672         justify-content: center;
673         align-items: center;
674 }
675 #help > div {
676         flex: 0 0 auto;
677         box-shadow: 0 0 6px rgba(0,0,0,.2);
678         width: 550px;
679         height: auto;
680         border: 1px solid;
681 }
682 #help dt {
683         float: left;
684         clear: left;
685         display: block;
686 }
687 #help dd { margin: 5px 35px; }
688 #help .infos { padding-left: 0; }
689 #help h1, #help h2 { margin-top: 0; }
690 #help > div div {
691         width: 50%;
692         float: left;
693         padding: 20px;
694         padding-left: 17px;
695 }
696
697 .stab {
698         display: table;
699         border-width: 1px;
700         border-style: solid;
701         padding: 3px;
702         margin-bottom: 5px;
703         font-size: 90%;
704 }
705 .stab p {
706         display: inline;
707 }
708
709 .stab summary {
710         display: list-item;
711 }
712
713 .stab .microscope {
714         font-size: 1.5em;
715 }
716
717 .module-item .stab {
718         display: inline;
719         border-width: 0;
720         padding: 0;
721         margin: 0;
722         background: inherit !important;
723 }
724
725 .module-item.unstable {
726         opacity: 0.65;
727 }
728
729 .since {
730         font-weight: normal;
731         font-size: initial;
732         position: absolute;
733         right: 0;
734         top: 0;
735 }
736
737 .variants_table {
738         width: 100%;
739 }
740
741 .variants_table tbody tr td:first-child {
742         width: 1%; /* make the variant name as small as possible */
743 }
744
745 td.summary-column {
746         width: 100%;
747 }
748
749 .summary {
750         padding-right: 0px;
751 }
752
753 pre.rust .question-mark {
754         font-weight: bold;
755 }
756
757 a.test-arrow {
758         display: inline-block;
759         position: absolute;
760         padding: 5px 10px 5px 10px;
761         border-radius: 5px;
762         font-size: 130%;
763         top: 5px;
764         right: 5px;
765 }
766 a.test-arrow:hover{
767         text-decoration: none;
768 }
769
770 .section-header:hover a:before {
771         position: absolute;
772         left: -25px;
773         padding-right: 10px; /* avoid gap that causes hover to disappear */
774         content: '\2002\00a7\2002';
775 }
776
777 .section-header:hover a {
778         text-decoration: none;
779 }
780
781 .section-header a {
782         color: inherit;
783 }
784
785 .collapse-toggle {
786         font-weight: 300;
787         position: absolute;
788         left: -23px;
789         top: 0;
790 }
791
792 h3 > .collapse-toggle, h4 > .collapse-toggle {
793         font-size: 0.8em;
794         top: 5px;
795 }
796
797 .toggle-wrapper > .collapse-toggle {
798         left: -24px;
799         margin-top: 0px;
800 }
801
802 .toggle-wrapper {
803         position: relative;
804         margin-top: 0;
805 }
806
807 .toggle-wrapper.collapsed {
808         height: 25px;
809         transition: height .2s;
810         margin-bottom: .6em;
811 }
812
813 .collapse-toggle > .inner {
814         display: inline-block;
815         width: 1.2ch;
816         text-align: center;
817 }
818
819 .ghost {
820         display: none;
821 }
822
823 .ghost + .since {
824         position: initial;
825         display: table-cell;
826 }
827
828 .since + .srclink {
829         display: table-cell;
830         padding-left: 10px;
831 }
832
833 .item-spacer {
834         width: 100%;
835         height: 12px;
836 }
837
838 span.since {
839         position: initial;
840         font-size: 20px;
841         margin-right: 5px;
842 }
843
844 .toggle-wrapper > .collapse-toggle {
845         left: 0;
846 }
847
848 .variant + .toggle-wrapper + .docblock > p {
849         margin-top: 5px;
850 }
851
852 .sub-variant, .sub-variant > h3 {
853         margin-top: 0 !important;
854 }
855
856 .toggle-label {
857         display: inline-block;
858         margin-left: 4px;
859         margin-top: 3px;
860 }
861
862 .enum > .toggle-wrapper + .docblock, .struct > .toggle-wrapper + .docblock {
863         margin-left: 30px;
864         margin-bottom: 20px;
865         margin-top: 5px;
866 }
867
868 .docblock > .section-header:first-child {
869         margin-left: 15px;
870         margin-top: 0;
871 }
872
873 .docblock > .section-header:first-child:hover > a:before {
874         left: -10px;
875 }
876
877 .enum > .collapsed, .struct > .collapsed {
878         margin-bottom: 25px;
879 }
880
881 #main > .variant, #main > .structfield {
882         display: block;
883 }
884
885 .attributes {
886         display: block;
887         margin-top: 0px !important;
888         margin-right: 0px;
889         margin-bottom: 0px !important;
890         margin-left: 30px;
891 }
892 .toggle-attributes.collapsed {
893         margin-bottom: 0;
894 }
895 .impl-items > .toggle-attributes {
896         margin-left: 20px;
897 }
898 .impl-items .attributes {
899         font-weight: 500;
900 }
901
902 :target > code {
903         opacity: 1;
904 }
905
906 /* Media Queries */
907
908 @media (max-width: 700px) {
909         body {
910                 padding-top: 0px;
911         }
912
913         body > .sidebar {
914                 height: 45px;
915                 min-height: 40px;
916                 margin: 0;
917                 margin-left: -15px;
918                 padding: 0 15px;
919                 position: static;
920                 z-index: 1;
921         }
922
923         .sidebar > .location {
924                 float: right;
925                 margin: 0px;
926                 margin-top: 2px;
927                 padding: 3px 10px 1px 10px;
928                 min-height: 39px;
929                 background: inherit;
930                 text-align: left;
931                 font-size: 24px;
932         }
933
934         .sidebar .location:empty {
935                 padding: 0;
936         }
937
938         .sidebar img {
939                 width: 35px;
940                 margin-top: 5px;
941                 margin-bottom: 5px;
942                 float: left;
943                 margin-left: 50px;
944         }
945
946         .sidebar-menu {
947                 position: fixed;
948                 z-index: 10;
949                 font-size: 2rem;
950                 cursor: pointer;
951                 width: 45px;
952                 left: 0;
953                 text-align: center;
954                 display: block;
955                 border-bottom: 1px solid;
956                 border-right: 1px solid;
957                 height: 45px;
958         }
959
960         .sidebar-elems {
961                 position: fixed;
962                 z-index: 1;
963                 left: 0;
964                 top: 45px;
965                 bottom: 0;
966                 overflow-y: auto;
967                 border-right: 1px solid;
968                 display: none;
969         }
970
971         .sidebar > .block.version {
972                 border-bottom: none;
973                 margin-top: 12px;
974         }
975
976         nav.sub {
977                 width: calc(100% - 32px);
978                 float: right;
979         }
980
981         .content {
982                 margin-left: 0px;
983         }
984
985         #main {
986                 margin-top: 45px;
987                 padding: 0;
988         }
989
990         .content .in-band {
991                 width: 100%;
992         }
993
994         .content h4 > .out-of-band {
995                 position: inherit;
996         }
997
998         .toggle-wrapper > .collapse-toggle {
999                 left: 0px;
1000         }
1001
1002         .toggle-wrapper {
1003                 height: 1.5em;
1004         }
1005
1006         #search {
1007                 margin-left: 0;
1008         }
1009
1010         .content .impl-items .method, .content .impl-items > .type, .impl-items > .associatedconstant {
1011                 display: flex;
1012         }
1013
1014         .anchor {
1015                 display: none !important;
1016         }
1017
1018         h1.fqn {
1019                 overflow: initial;
1020         }
1021 }
1022
1023 @media print {
1024         nav.sub, .content .out-of-band, .collapse-toggle {
1025                 display: none;
1026         }
1027 }
1028
1029 .information {
1030         position: absolute;
1031         left: -20px;
1032         margin-top: 7px;
1033         z-index: 1;
1034 }
1035
1036 .tooltip {
1037         position: relative;
1038         display: inline-block;
1039         cursor: pointer;
1040 }
1041
1042 .tooltip .tooltiptext {
1043         width: 120px;
1044         display: none;
1045         text-align: center;
1046         padding: 5px 3px;
1047         border-radius: 6px;
1048         margin-left: 5px;
1049         top: -5px;
1050         left: 105%;
1051         z-index: 1;
1052 }
1053
1054 .tooltip:hover .tooltiptext {
1055         display: inline;
1056 }
1057
1058 .tooltip .tooltiptext::after {
1059         content: " ";
1060         position: absolute;
1061         top: 50%;
1062         left: 11px;
1063         margin-top: -5px;
1064         border-width: 5px;
1065         border-style: solid;
1066 }
1067
1068 .important-traits .tooltip .tooltiptext {
1069         border: 1px solid;
1070 }
1071
1072 pre.rust {
1073         position: relative;
1074         tab-width: 4;
1075         -moz-tab-width: 4;
1076 }
1077
1078 .search-failed {
1079         text-align: center;
1080         margin-top: 20px;
1081 }
1082
1083 #titles {
1084         height: 35px;
1085 }
1086
1087 #titles > div {
1088         float: left;
1089         width: 33.3%;
1090         text-align: center;
1091         border-bottom: 1px solid;
1092         font-size: 18px;
1093         cursor: pointer;
1094 }
1095
1096 #titles > div.selected {
1097         border-bottom: 3px solid;
1098 }
1099
1100 #titles > div:hover {
1101         border-bottom: 3px solid;
1102 }
1103
1104 #titles > div > div.count {
1105         display: inline-block;
1106         font-size: 16px;
1107 }
1108
1109 .important-traits {
1110         cursor: pointer;
1111         z-index: 2;
1112 }
1113
1114 h4 > .important-traits {
1115         position: absolute;
1116         left: -44px;
1117         top: 2px;
1118 }
1119
1120 #all-types {
1121         text-align: center;
1122         border: 1px solid;
1123         margin: 0 10px;
1124         margin-bottom: 10px;
1125         display: block;
1126         border-radius: 7px;
1127 }
1128 #all-types > p {
1129         margin: 5px 0;
1130 }
1131
1132 @media (max-width: 700px) {
1133         h4 > .important-traits {
1134                 position: absolute;
1135                 left: -22px;
1136                 top: 24px;
1137         }
1138
1139         #titles > div > div.count {
1140                 float: left;
1141                 width: 100%;
1142         }
1143
1144         #titles {
1145                 height: 50px;
1146         }
1147
1148         .sidebar.mobile {
1149                 position: fixed;
1150                 width: 100%;
1151                 margin-left: 0;
1152                 background-color: rgba(0,0,0,0);
1153                 height: 100%;
1154         }
1155         .sidebar {
1156                 width: calc(100% + 30px);
1157         }
1158
1159         .show-it {
1160                 display: block;
1161                 width: 246px;
1162         }
1163
1164         .show-it > .block.items {
1165                 margin: 8px 0;
1166         }
1167
1168         .show-it > .block.items > ul {
1169                 margin: 0;
1170         }
1171
1172         .show-it > .block.items > ul > li {
1173                 text-align: center;
1174                 margin: 2px 0;
1175         }
1176
1177         .show-it > .block.items > ul > li > a {
1178                 font-size: 21px;
1179         }
1180
1181         /* Because of ios, we need to actually have a full height sidebar title so the
1182          * actual sidebar can show up. But then we need to make it transparent so we don't
1183          * hide content. The filler just allows to create the background for the sidebar
1184          * title. But because of the absolute position, I had to lower the z-index.
1185          */
1186         #sidebar-filler {
1187                 position: fixed;
1188                 left: 45px;
1189                 width: calc(100% - 45px);
1190                 top: 0;
1191                 height: 45px;
1192                 z-index: -1;
1193                 border-bottom: 1px solid;
1194         }
1195
1196         .collapse-toggle {
1197                 left: -20px;
1198         }
1199
1200         .impl > .collapse-toggle {
1201                 left: -10px;
1202         }
1203
1204         #all-types {
1205                 margin: 10px;
1206         }
1207 }
1208
1209
1210 @media (max-width: 416px) {
1211         #titles {
1212                 height: 73px;
1213         }
1214
1215         #titles > div {
1216                 height: 73px;
1217         }
1218 }
1219
1220 .modal {
1221         position: fixed;
1222         width: 100vw;
1223         height: 100vh;
1224         z-index: 10000;
1225         top: 0;
1226         left: 0;
1227 }
1228
1229 .modal-content {
1230         display: block;
1231         max-width: 60%;
1232         min-width: 200px;
1233         padding: 8px;
1234         top: 40%;
1235         position: absolute;
1236         left: 50%;
1237         transform: translate(-50%, -40%);
1238         border: 1px solid;
1239         border-radius: 4px;
1240         border-top-right-radius: 0;
1241 }
1242
1243 .modal-content > .docblock {
1244         margin: 0;
1245 }
1246
1247 h3.important {
1248         margin: 0;
1249         margin-bottom: 13px;
1250         font-size: 19px;
1251 }
1252
1253 .modal-content > .docblock > code.content {
1254         margin: 0;
1255         padding: 0;
1256         font-size: 20px;
1257 }
1258
1259 .modal-content > .close {
1260         position: absolute;
1261         font-weight: 900;
1262         right: -25px;
1263         top: -1px;
1264         font-size: 18px;
1265         width: 25px;
1266         padding-right: 2px;
1267         border-top-right-radius: 5px;
1268         border-bottom-right-radius: 5px;
1269         text-align: center;
1270         border: 1px solid;
1271         border-right: 0;
1272         cursor: pointer;
1273 }
1274
1275 .modal-content > .whiter {
1276         height: 25px;
1277         position: absolute;
1278         width: 3px;
1279         right: -2px;
1280         top: 0px;
1281 }
1282
1283 #main > div.important-traits {
1284         position: absolute;
1285         left: -24px;
1286         margin-top: 16px;
1287 }
1288
1289 .content > .methods > div.important-traits {
1290         position: absolute;
1291         left: -42px;
1292         margin-top: 2px;
1293 }
1294
1295 kbd {
1296         display: inline-block;
1297         padding: 3px 5px;
1298         font: 15px "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
1299         line-height: 10px;
1300         vertical-align: middle;
1301         border: solid 1px;
1302         border-radius: 3px;
1303         box-shadow: inset 0 -1px 0;
1304         cursor: default;
1305 }
1306
1307 .theme-picker {
1308         position: absolute;
1309         left: 211px;
1310         top: 19px;
1311 }
1312
1313 .theme-picker button {
1314         outline: none;
1315 }
1316
1317 #settings-menu {
1318         position: absolute;
1319         right: 0;
1320         top: 10px;
1321         outline: none;
1322 }
1323
1324 #theme-picker, #settings-menu {
1325         padding: 4px;
1326         width: 27px;
1327         height: 29px;
1328         border: 1px solid;
1329         border-radius: 3px;
1330         cursor: pointer;
1331 }
1332
1333 #theme-choices {
1334         display: none;
1335         position: absolute;
1336         left: 0;
1337         top: 28px;
1338         border: 1px solid;
1339         border-radius: 3px;
1340         z-index: 1;
1341         cursor: pointer;
1342 }
1343
1344 #theme-choices > button {
1345         border: none;
1346         width: 100%;
1347         padding: 4px;
1348         text-align: center;
1349         background: rgba(0,0,0,0);
1350 }
1351
1352 #theme-choices > button:not(:first-child) {
1353         border-top: 1px solid;
1354 }
1355
1356 @media (max-width: 700px) {
1357         .theme-picker {
1358                 left: 10px;
1359                 top: 54px;
1360                 z-index: 1;
1361         }
1362 }
1363
1364 .hidden-by-impl-hider,
1365 .hidden-by-usual-hider {
1366         /* important because of conflicting rule for small screens */
1367         display: none !important;
1368 }
1369
1370 #implementations-list > h3 > span.in-band {
1371         width: 100%;
1372 }
1373
1374 .table-display {
1375         width: 100%;
1376         border: 0;
1377         border-collapse: collapse;
1378         border-spacing: 0;
1379         font-size: 16px;
1380 }
1381
1382 .table-display tr td:first-child {
1383         padding-right: 0;
1384 }
1385
1386 .table-display tr td:last-child {
1387         float: right;
1388 }
1389 .table-display .out-of-band {
1390         position: relative;
1391         font-size: 19px;
1392         display: block;
1393 }
1394 #implementors-list > .impl-items .table-display .out-of-band {
1395         font-size: 17px;
1396 }
1397
1398 .table-display td:hover .anchor {
1399         display: block;
1400         top: 2px;
1401         left: -5px;
1402 }
1403
1404 #main > ul {
1405         padding-left: 10px;
1406 }
1407 #main > ul > li {
1408         list-style: none;
1409 }
1410
1411 .non-exhaustive {
1412         margin-bottom: 1em;
1413 }