##// END OF EJS Templates
styling: use sandboxed style for ipython so it doesn't affect style of application anymore.
marcink -
r3784:cc55d3ca default
parent child Browse files
Show More
This diff has been collapsed as it changes many lines, (11669 lines changed) Show them Hide them
@@ -0,0 +1,11669 b''
1 div.ipynb {
2 /*!
3 *
4 * Twitter Bootstrap
5 *
6 */
7 /*!
8 * Bootstrap v3.3.7 (http://getbootstrap.com)
9 * Copyright 2011-2016 Twitter, Inc.
10 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
11 */
12 /*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
13 html {
14 font-family: sans-serif;
15 -ms-text-size-adjust: 100%;
16 -webkit-text-size-adjust: 100%;
17 }
18 body {
19 margin: 0;
20 }
21 article,
22 aside,
23 details,
24 figcaption,
25 figure,
26 footer,
27 header,
28 hgroup,
29 main,
30 menu,
31 nav,
32 section,
33 summary {
34 display: block;
35 }
36 audio,
37 canvas,
38 progress,
39 video {
40 display: inline-block;
41 vertical-align: baseline;
42 }
43 audio:not([controls]) {
44 display: none;
45 height: 0;
46 }
47 [hidden],
48 template {
49 display: none;
50 }
51 a {
52 background-color: transparent;
53 }
54 a:active,
55 a:hover {
56 outline: 0;
57 }
58 abbr[title] {
59 border-bottom: 1px dotted;
60 }
61 b,
62 strong {
63 font-weight: bold;
64 }
65 dfn {
66 font-style: italic;
67 }
68 h1 {
69 font-size: 2em;
70 margin: 0.67em 0;
71 }
72 mark {
73 background: #ff0;
74 color: #000;
75 }
76 small {
77 font-size: 80%;
78 }
79 sub,
80 sup {
81 font-size: 75%;
82 line-height: 0;
83 position: relative;
84 vertical-align: baseline;
85 }
86 sup {
87 top: -0.5em;
88 }
89 sub {
90 bottom: -0.25em;
91 }
92 img {
93 border: 0;
94 }
95 svg:not(:root) {
96 overflow: hidden;
97 }
98 figure {
99 margin: 1em 40px;
100 }
101 hr {
102 box-sizing: content-box;
103 height: 0;
104 }
105 pre {
106 overflow: auto;
107 }
108 code,
109 kbd,
110 pre,
111 samp {
112 font-family: monospace, monospace;
113 font-size: 1em;
114 }
115 button,
116 input,
117 optgroup,
118 select,
119 textarea {
120 color: inherit;
121 font: inherit;
122 margin: 0;
123 }
124 button {
125 overflow: visible;
126 }
127 button,
128 select {
129 text-transform: none;
130 }
131 button,
132 html input[type="button"],
133 input[type="reset"],
134 input[type="submit"] {
135 -webkit-appearance: button;
136 cursor: pointer;
137 }
138 button[disabled],
139 html input[disabled] {
140 cursor: default;
141 }
142 button::-moz-focus-inner,
143 input::-moz-focus-inner {
144 border: 0;
145 padding: 0;
146 }
147 input {
148 line-height: normal;
149 }
150 input[type="checkbox"],
151 input[type="radio"] {
152 box-sizing: border-box;
153 padding: 0;
154 }
155 input[type="number"]::-webkit-inner-spin-button,
156 input[type="number"]::-webkit-outer-spin-button {
157 height: auto;
158 }
159 input[type="search"] {
160 -webkit-appearance: textfield;
161 box-sizing: content-box;
162 }
163 input[type="search"]::-webkit-search-cancel-button,
164 input[type="search"]::-webkit-search-decoration {
165 -webkit-appearance: none;
166 }
167 fieldset {
168 border: 1px solid #c0c0c0;
169 margin: 0 2px;
170 padding: 0.35em 0.625em 0.75em;
171 }
172 legend {
173 border: 0;
174 padding: 0;
175 }
176 textarea {
177 overflow: auto;
178 }
179 optgroup {
180 font-weight: bold;
181 }
182 table {
183 border-collapse: collapse;
184 border-spacing: 0;
185 }
186 td,
187 th {
188 padding: 0;
189 }
190 /*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
191 @media print {
192 *,
193 *:before,
194 *:after {
195 background: transparent !important;
196 color: #000 !important;
197 box-shadow: none !important;
198 text-shadow: none !important;
199 }
200 a,
201 a:visited {
202 text-decoration: underline;
203 }
204 a[href]:after {
205 content: " (" attr(href) ")";
206 }
207 abbr[title]:after {
208 content: " (" attr(title) ")";
209 }
210 a[href^="#"]:after,
211 a[href^="javascript:"]:after {
212 content: "";
213 }
214 pre,
215 blockquote {
216 border: 1px solid #999;
217 page-break-inside: avoid;
218 }
219 thead {
220 display: table-header-group;
221 }
222 tr,
223 img {
224 page-break-inside: avoid;
225 }
226 img {
227 max-width: 100% !important;
228 }
229 p,
230 h2,
231 h3 {
232 orphans: 3;
233 widows: 3;
234 }
235 h2,
236 h3 {
237 page-break-after: avoid;
238 }
239 .navbar {
240 display: none;
241 }
242 .btn > .caret,
243 .dropup > .btn > .caret {
244 border-top-color: #000 !important;
245 }
246 .label {
247 border: 1px solid #000;
248 }
249 .table {
250 border-collapse: collapse !important;
251 }
252 .table td,
253 .table th {
254 background-color: #fff !important;
255 }
256 .table-bordered th,
257 .table-bordered td {
258 border: 1px solid #ddd !important;
259 }
260 }
261 @font-face {
262 font-family: 'Glyphicons Halflings';
263 src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot');
264 src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff') format('woff'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
265 }
266 .glyphicon {
267 position: relative;
268 top: 1px;
269 display: inline-block;
270 font-family: 'Glyphicons Halflings';
271 font-style: normal;
272 font-weight: normal;
273 line-height: 1;
274 -webkit-font-smoothing: antialiased;
275 -moz-osx-font-smoothing: grayscale;
276 }
277 .glyphicon-asterisk:before {
278 content: "\002a";
279 }
280 .glyphicon-plus:before {
281 content: "\002b";
282 }
283 .glyphicon-euro:before,
284 .glyphicon-eur:before {
285 content: "\20ac";
286 }
287 .glyphicon-minus:before {
288 content: "\2212";
289 }
290 .glyphicon-cloud:before {
291 content: "\2601";
292 }
293 .glyphicon-envelope:before {
294 content: "\2709";
295 }
296 .glyphicon-pencil:before {
297 content: "\270f";
298 }
299 .glyphicon-glass:before {
300 content: "\e001";
301 }
302 .glyphicon-music:before {
303 content: "\e002";
304 }
305 .glyphicon-search:before {
306 content: "\e003";
307 }
308 .glyphicon-heart:before {
309 content: "\e005";
310 }
311 .glyphicon-star:before {
312 content: "\e006";
313 }
314 .glyphicon-star-empty:before {
315 content: "\e007";
316 }
317 .glyphicon-user:before {
318 content: "\e008";
319 }
320 .glyphicon-film:before {
321 content: "\e009";
322 }
323 .glyphicon-th-large:before {
324 content: "\e010";
325 }
326 .glyphicon-th:before {
327 content: "\e011";
328 }
329 .glyphicon-th-list:before {
330 content: "\e012";
331 }
332 .glyphicon-ok:before {
333 content: "\e013";
334 }
335 .glyphicon-remove:before {
336 content: "\e014";
337 }
338 .glyphicon-zoom-in:before {
339 content: "\e015";
340 }
341 .glyphicon-zoom-out:before {
342 content: "\e016";
343 }
344 .glyphicon-off:before {
345 content: "\e017";
346 }
347 .glyphicon-signal:before {
348 content: "\e018";
349 }
350 .glyphicon-cog:before {
351 content: "\e019";
352 }
353 .glyphicon-trash:before {
354 content: "\e020";
355 }
356 .glyphicon-home:before {
357 content: "\e021";
358 }
359 .glyphicon-file:before {
360 content: "\e022";
361 }
362 .glyphicon-time:before {
363 content: "\e023";
364 }
365 .glyphicon-road:before {
366 content: "\e024";
367 }
368 .glyphicon-download-alt:before {
369 content: "\e025";
370 }
371 .glyphicon-download:before {
372 content: "\e026";
373 }
374 .glyphicon-upload:before {
375 content: "\e027";
376 }
377 .glyphicon-inbox:before {
378 content: "\e028";
379 }
380 .glyphicon-play-circle:before {
381 content: "\e029";
382 }
383 .glyphicon-repeat:before {
384 content: "\e030";
385 }
386 .glyphicon-refresh:before {
387 content: "\e031";
388 }
389 .glyphicon-list-alt:before {
390 content: "\e032";
391 }
392 .glyphicon-lock:before {
393 content: "\e033";
394 }
395 .glyphicon-flag:before {
396 content: "\e034";
397 }
398 .glyphicon-headphones:before {
399 content: "\e035";
400 }
401 .glyphicon-volume-off:before {
402 content: "\e036";
403 }
404 .glyphicon-volume-down:before {
405 content: "\e037";
406 }
407 .glyphicon-volume-up:before {
408 content: "\e038";
409 }
410 .glyphicon-qrcode:before {
411 content: "\e039";
412 }
413 .glyphicon-barcode:before {
414 content: "\e040";
415 }
416 .glyphicon-tag:before {
417 content: "\e041";
418 }
419 .glyphicon-tags:before {
420 content: "\e042";
421 }
422 .glyphicon-book:before {
423 content: "\e043";
424 }
425 .glyphicon-bookmark:before {
426 content: "\e044";
427 }
428 .glyphicon-print:before {
429 content: "\e045";
430 }
431 .glyphicon-camera:before {
432 content: "\e046";
433 }
434 .glyphicon-font:before {
435 content: "\e047";
436 }
437 .glyphicon-bold:before {
438 content: "\e048";
439 }
440 .glyphicon-italic:before {
441 content: "\e049";
442 }
443 .glyphicon-text-height:before {
444 content: "\e050";
445 }
446 .glyphicon-text-width:before {
447 content: "\e051";
448 }
449 .glyphicon-align-left:before {
450 content: "\e052";
451 }
452 .glyphicon-align-center:before {
453 content: "\e053";
454 }
455 .glyphicon-align-right:before {
456 content: "\e054";
457 }
458 .glyphicon-align-justify:before {
459 content: "\e055";
460 }
461 .glyphicon-list:before {
462 content: "\e056";
463 }
464 .glyphicon-indent-left:before {
465 content: "\e057";
466 }
467 .glyphicon-indent-right:before {
468 content: "\e058";
469 }
470 .glyphicon-facetime-video:before {
471 content: "\e059";
472 }
473 .glyphicon-picture:before {
474 content: "\e060";
475 }
476 .glyphicon-map-marker:before {
477 content: "\e062";
478 }
479 .glyphicon-adjust:before {
480 content: "\e063";
481 }
482 .glyphicon-tint:before {
483 content: "\e064";
484 }
485 .glyphicon-edit:before {
486 content: "\e065";
487 }
488 .glyphicon-share:before {
489 content: "\e066";
490 }
491 .glyphicon-check:before {
492 content: "\e067";
493 }
494 .glyphicon-move:before {
495 content: "\e068";
496 }
497 .glyphicon-step-backward:before {
498 content: "\e069";
499 }
500 .glyphicon-fast-backward:before {
501 content: "\e070";
502 }
503 .glyphicon-backward:before {
504 content: "\e071";
505 }
506 .glyphicon-play:before {
507 content: "\e072";
508 }
509 .glyphicon-pause:before {
510 content: "\e073";
511 }
512 .glyphicon-stop:before {
513 content: "\e074";
514 }
515 .glyphicon-forward:before {
516 content: "\e075";
517 }
518 .glyphicon-fast-forward:before {
519 content: "\e076";
520 }
521 .glyphicon-step-forward:before {
522 content: "\e077";
523 }
524 .glyphicon-eject:before {
525 content: "\e078";
526 }
527 .glyphicon-chevron-left:before {
528 content: "\e079";
529 }
530 .glyphicon-chevron-right:before {
531 content: "\e080";
532 }
533 .glyphicon-plus-sign:before {
534 content: "\e081";
535 }
536 .glyphicon-minus-sign:before {
537 content: "\e082";
538 }
539 .glyphicon-remove-sign:before {
540 content: "\e083";
541 }
542 .glyphicon-ok-sign:before {
543 content: "\e084";
544 }
545 .glyphicon-question-sign:before {
546 content: "\e085";
547 }
548 .glyphicon-info-sign:before {
549 content: "\e086";
550 }
551 .glyphicon-screenshot:before {
552 content: "\e087";
553 }
554 .glyphicon-remove-circle:before {
555 content: "\e088";
556 }
557 .glyphicon-ok-circle:before {
558 content: "\e089";
559 }
560 .glyphicon-ban-circle:before {
561 content: "\e090";
562 }
563 .glyphicon-arrow-left:before {
564 content: "\e091";
565 }
566 .glyphicon-arrow-right:before {
567 content: "\e092";
568 }
569 .glyphicon-arrow-up:before {
570 content: "\e093";
571 }
572 .glyphicon-arrow-down:before {
573 content: "\e094";
574 }
575 .glyphicon-share-alt:before {
576 content: "\e095";
577 }
578 .glyphicon-resize-full:before {
579 content: "\e096";
580 }
581 .glyphicon-resize-small:before {
582 content: "\e097";
583 }
584 .glyphicon-exclamation-sign:before {
585 content: "\e101";
586 }
587 .glyphicon-gift:before {
588 content: "\e102";
589 }
590 .glyphicon-leaf:before {
591 content: "\e103";
592 }
593 .glyphicon-fire:before {
594 content: "\e104";
595 }
596 .glyphicon-eye-open:before {
597 content: "\e105";
598 }
599 .glyphicon-eye-close:before {
600 content: "\e106";
601 }
602 .glyphicon-warning-sign:before {
603 content: "\e107";
604 }
605 .glyphicon-plane:before {
606 content: "\e108";
607 }
608 .glyphicon-calendar:before {
609 content: "\e109";
610 }
611 .glyphicon-random:before {
612 content: "\e110";
613 }
614 .glyphicon-comment:before {
615 content: "\e111";
616 }
617 .glyphicon-magnet:before {
618 content: "\e112";
619 }
620 .glyphicon-chevron-up:before {
621 content: "\e113";
622 }
623 .glyphicon-chevron-down:before {
624 content: "\e114";
625 }
626 .glyphicon-retweet:before {
627 content: "\e115";
628 }
629 .glyphicon-shopping-cart:before {
630 content: "\e116";
631 }
632 .glyphicon-folder-close:before {
633 content: "\e117";
634 }
635 .glyphicon-folder-open:before {
636 content: "\e118";
637 }
638 .glyphicon-resize-vertical:before {
639 content: "\e119";
640 }
641 .glyphicon-resize-horizontal:before {
642 content: "\e120";
643 }
644 .glyphicon-hdd:before {
645 content: "\e121";
646 }
647 .glyphicon-bullhorn:before {
648 content: "\e122";
649 }
650 .glyphicon-bell:before {
651 content: "\e123";
652 }
653 .glyphicon-certificate:before {
654 content: "\e124";
655 }
656 .glyphicon-thumbs-up:before {
657 content: "\e125";
658 }
659 .glyphicon-thumbs-down:before {
660 content: "\e126";
661 }
662 .glyphicon-hand-right:before {
663 content: "\e127";
664 }
665 .glyphicon-hand-left:before {
666 content: "\e128";
667 }
668 .glyphicon-hand-up:before {
669 content: "\e129";
670 }
671 .glyphicon-hand-down:before {
672 content: "\e130";
673 }
674 .glyphicon-circle-arrow-right:before {
675 content: "\e131";
676 }
677 .glyphicon-circle-arrow-left:before {
678 content: "\e132";
679 }
680 .glyphicon-circle-arrow-up:before {
681 content: "\e133";
682 }
683 .glyphicon-circle-arrow-down:before {
684 content: "\e134";
685 }
686 .glyphicon-globe:before {
687 content: "\e135";
688 }
689 .glyphicon-wrench:before {
690 content: "\e136";
691 }
692 .glyphicon-tasks:before {
693 content: "\e137";
694 }
695 .glyphicon-filter:before {
696 content: "\e138";
697 }
698 .glyphicon-briefcase:before {
699 content: "\e139";
700 }
701 .glyphicon-fullscreen:before {
702 content: "\e140";
703 }
704 .glyphicon-dashboard:before {
705 content: "\e141";
706 }
707 .glyphicon-paperclip:before {
708 content: "\e142";
709 }
710 .glyphicon-heart-empty:before {
711 content: "\e143";
712 }
713 .glyphicon-link:before {
714 content: "\e144";
715 }
716 .glyphicon-phone:before {
717 content: "\e145";
718 }
719 .glyphicon-pushpin:before {
720 content: "\e146";
721 }
722 .glyphicon-usd:before {
723 content: "\e148";
724 }
725 .glyphicon-gbp:before {
726 content: "\e149";
727 }
728 .glyphicon-sort:before {
729 content: "\e150";
730 }
731 .glyphicon-sort-by-alphabet:before {
732 content: "\e151";
733 }
734 .glyphicon-sort-by-alphabet-alt:before {
735 content: "\e152";
736 }
737 .glyphicon-sort-by-order:before {
738 content: "\e153";
739 }
740 .glyphicon-sort-by-order-alt:before {
741 content: "\e154";
742 }
743 .glyphicon-sort-by-attributes:before {
744 content: "\e155";
745 }
746 .glyphicon-sort-by-attributes-alt:before {
747 content: "\e156";
748 }
749 .glyphicon-unchecked:before {
750 content: "\e157";
751 }
752 .glyphicon-expand:before {
753 content: "\e158";
754 }
755 .glyphicon-collapse-down:before {
756 content: "\e159";
757 }
758 .glyphicon-collapse-up:before {
759 content: "\e160";
760 }
761 .glyphicon-log-in:before {
762 content: "\e161";
763 }
764 .glyphicon-flash:before {
765 content: "\e162";
766 }
767 .glyphicon-log-out:before {
768 content: "\e163";
769 }
770 .glyphicon-new-window:before {
771 content: "\e164";
772 }
773 .glyphicon-record:before {
774 content: "\e165";
775 }
776 .glyphicon-save:before {
777 content: "\e166";
778 }
779 .glyphicon-open:before {
780 content: "\e167";
781 }
782 .glyphicon-saved:before {
783 content: "\e168";
784 }
785 .glyphicon-import:before {
786 content: "\e169";
787 }
788 .glyphicon-export:before {
789 content: "\e170";
790 }
791 .glyphicon-send:before {
792 content: "\e171";
793 }
794 .glyphicon-floppy-disk:before {
795 content: "\e172";
796 }
797 .glyphicon-floppy-saved:before {
798 content: "\e173";
799 }
800 .glyphicon-floppy-remove:before {
801 content: "\e174";
802 }
803 .glyphicon-floppy-save:before {
804 content: "\e175";
805 }
806 .glyphicon-floppy-open:before {
807 content: "\e176";
808 }
809 .glyphicon-credit-card:before {
810 content: "\e177";
811 }
812 .glyphicon-transfer:before {
813 content: "\e178";
814 }
815 .glyphicon-cutlery:before {
816 content: "\e179";
817 }
818 .glyphicon-header:before {
819 content: "\e180";
820 }
821 .glyphicon-compressed:before {
822 content: "\e181";
823 }
824 .glyphicon-earphone:before {
825 content: "\e182";
826 }
827 .glyphicon-phone-alt:before {
828 content: "\e183";
829 }
830 .glyphicon-tower:before {
831 content: "\e184";
832 }
833 .glyphicon-stats:before {
834 content: "\e185";
835 }
836 .glyphicon-sd-video:before {
837 content: "\e186";
838 }
839 .glyphicon-hd-video:before {
840 content: "\e187";
841 }
842 .glyphicon-subtitles:before {
843 content: "\e188";
844 }
845 .glyphicon-sound-stereo:before {
846 content: "\e189";
847 }
848 .glyphicon-sound-dolby:before {
849 content: "\e190";
850 }
851 .glyphicon-sound-5-1:before {
852 content: "\e191";
853 }
854 .glyphicon-sound-6-1:before {
855 content: "\e192";
856 }
857 .glyphicon-sound-7-1:before {
858 content: "\e193";
859 }
860 .glyphicon-copyright-mark:before {
861 content: "\e194";
862 }
863 .glyphicon-registration-mark:before {
864 content: "\e195";
865 }
866 .glyphicon-cloud-download:before {
867 content: "\e197";
868 }
869 .glyphicon-cloud-upload:before {
870 content: "\e198";
871 }
872 .glyphicon-tree-conifer:before {
873 content: "\e199";
874 }
875 .glyphicon-tree-deciduous:before {
876 content: "\e200";
877 }
878 .glyphicon-cd:before {
879 content: "\e201";
880 }
881 .glyphicon-save-file:before {
882 content: "\e202";
883 }
884 .glyphicon-open-file:before {
885 content: "\e203";
886 }
887 .glyphicon-level-up:before {
888 content: "\e204";
889 }
890 .glyphicon-copy:before {
891 content: "\e205";
892 }
893 .glyphicon-paste:before {
894 content: "\e206";
895 }
896 .glyphicon-alert:before {
897 content: "\e209";
898 }
899 .glyphicon-equalizer:before {
900 content: "\e210";
901 }
902 .glyphicon-king:before {
903 content: "\e211";
904 }
905 .glyphicon-queen:before {
906 content: "\e212";
907 }
908 .glyphicon-pawn:before {
909 content: "\e213";
910 }
911 .glyphicon-bishop:before {
912 content: "\e214";
913 }
914 .glyphicon-knight:before {
915 content: "\e215";
916 }
917 .glyphicon-baby-formula:before {
918 content: "\e216";
919 }
920 .glyphicon-tent:before {
921 content: "\26fa";
922 }
923 .glyphicon-blackboard:before {
924 content: "\e218";
925 }
926 .glyphicon-bed:before {
927 content: "\e219";
928 }
929 .glyphicon-apple:before {
930 content: "\f8ff";
931 }
932 .glyphicon-erase:before {
933 content: "\e221";
934 }
935 .glyphicon-hourglass:before {
936 content: "\231b";
937 }
938 .glyphicon-lamp:before {
939 content: "\e223";
940 }
941 .glyphicon-duplicate:before {
942 content: "\e224";
943 }
944 .glyphicon-piggy-bank:before {
945 content: "\e225";
946 }
947 .glyphicon-scissors:before {
948 content: "\e226";
949 }
950 .glyphicon-bitcoin:before {
951 content: "\e227";
952 }
953 .glyphicon-btc:before {
954 content: "\e227";
955 }
956 .glyphicon-xbt:before {
957 content: "\e227";
958 }
959 .glyphicon-yen:before {
960 content: "\00a5";
961 }
962 .glyphicon-jpy:before {
963 content: "\00a5";
964 }
965 .glyphicon-ruble:before {
966 content: "\20bd";
967 }
968 .glyphicon-rub:before {
969 content: "\20bd";
970 }
971 .glyphicon-scale:before {
972 content: "\e230";
973 }
974 .glyphicon-ice-lolly:before {
975 content: "\e231";
976 }
977 .glyphicon-ice-lolly-tasted:before {
978 content: "\e232";
979 }
980 .glyphicon-education:before {
981 content: "\e233";
982 }
983 .glyphicon-option-horizontal:before {
984 content: "\e234";
985 }
986 .glyphicon-option-vertical:before {
987 content: "\e235";
988 }
989 .glyphicon-menu-hamburger:before {
990 content: "\e236";
991 }
992 .glyphicon-modal-window:before {
993 content: "\e237";
994 }
995 .glyphicon-oil:before {
996 content: "\e238";
997 }
998 .glyphicon-grain:before {
999 content: "\e239";
1000 }
1001 .glyphicon-sunglasses:before {
1002 content: "\e240";
1003 }
1004 .glyphicon-text-size:before {
1005 content: "\e241";
1006 }
1007 .glyphicon-text-color:before {
1008 content: "\e242";
1009 }
1010 .glyphicon-text-background:before {
1011 content: "\e243";
1012 }
1013 .glyphicon-object-align-top:before {
1014 content: "\e244";
1015 }
1016 .glyphicon-object-align-bottom:before {
1017 content: "\e245";
1018 }
1019 .glyphicon-object-align-horizontal:before {
1020 content: "\e246";
1021 }
1022 .glyphicon-object-align-left:before {
1023 content: "\e247";
1024 }
1025 .glyphicon-object-align-vertical:before {
1026 content: "\e248";
1027 }
1028 .glyphicon-object-align-right:before {
1029 content: "\e249";
1030 }
1031 .glyphicon-triangle-right:before {
1032 content: "\e250";
1033 }
1034 .glyphicon-triangle-left:before {
1035 content: "\e251";
1036 }
1037 .glyphicon-triangle-bottom:before {
1038 content: "\e252";
1039 }
1040 .glyphicon-triangle-top:before {
1041 content: "\e253";
1042 }
1043 .glyphicon-console:before {
1044 content: "\e254";
1045 }
1046 .glyphicon-superscript:before {
1047 content: "\e255";
1048 }
1049 .glyphicon-subscript:before {
1050 content: "\e256";
1051 }
1052 .glyphicon-menu-left:before {
1053 content: "\e257";
1054 }
1055 .glyphicon-menu-right:before {
1056 content: "\e258";
1057 }
1058 .glyphicon-menu-down:before {
1059 content: "\e259";
1060 }
1061 .glyphicon-menu-up:before {
1062 content: "\e260";
1063 }
1064 * {
1065 -webkit-box-sizing: border-box;
1066 -moz-box-sizing: border-box;
1067 box-sizing: border-box;
1068 }
1069 *:before,
1070 *:after {
1071 -webkit-box-sizing: border-box;
1072 -moz-box-sizing: border-box;
1073 box-sizing: border-box;
1074 }
1075 html {
1076 font-size: 10px;
1077 -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
1078 }
1079 body {
1080 font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
1081 font-size: 13px;
1082 line-height: 1.42857143;
1083 color: #000;
1084 background-color: #fff;
1085 }
1086 input,
1087 button,
1088 select,
1089 textarea {
1090 font-family: inherit;
1091 font-size: inherit;
1092 line-height: inherit;
1093 }
1094 a {
1095 color: #337ab7;
1096 text-decoration: none;
1097 }
1098 a:hover,
1099 a:focus {
1100 color: #23527c;
1101 text-decoration: underline;
1102 }
1103 a:focus {
1104 outline: 5px auto -webkit-focus-ring-color;
1105 outline-offset: -2px;
1106 }
1107 figure {
1108 margin: 0;
1109 }
1110 img {
1111 vertical-align: middle;
1112 }
1113 .img-responsive,
1114 .thumbnail > img,
1115 .thumbnail a > img,
1116 .carousel-inner > .item > img,
1117 .carousel-inner > .item > a > img {
1118 display: block;
1119 max-width: 100%;
1120 height: auto;
1121 }
1122 .img-rounded {
1123 border-radius: 3px;
1124 }
1125 .img-thumbnail {
1126 padding: 4px;
1127 line-height: 1.42857143;
1128 background-color: #fff;
1129 border: 1px solid #ddd;
1130 border-radius: 2px;
1131 -webkit-transition: all 0.2s ease-in-out;
1132 -o-transition: all 0.2s ease-in-out;
1133 transition: all 0.2s ease-in-out;
1134 display: inline-block;
1135 max-width: 100%;
1136 height: auto;
1137 }
1138 .img-circle {
1139 border-radius: 50%;
1140 }
1141 hr {
1142 margin-top: 18px;
1143 margin-bottom: 18px;
1144 border: 0;
1145 border-top: 1px solid #eeeeee;
1146 }
1147 .sr-only {
1148 position: absolute;
1149 width: 1px;
1150 height: 1px;
1151 margin: -1px;
1152 padding: 0;
1153 overflow: hidden;
1154 clip: rect(0, 0, 0, 0);
1155 border: 0;
1156 }
1157 .sr-only-focusable:active,
1158 .sr-only-focusable:focus {
1159 position: static;
1160 width: auto;
1161 height: auto;
1162 margin: 0;
1163 overflow: visible;
1164 clip: auto;
1165 }
1166 [role="button"] {
1167 cursor: pointer;
1168 }
1169 h1,
1170 h2,
1171 h3,
1172 h4,
1173 h5,
1174 h6,
1175 .h1,
1176 .h2,
1177 .h3,
1178 .h4,
1179 .h5,
1180 .h6 {
1181 font-family: inherit;
1182 font-weight: 500;
1183 line-height: 1.1;
1184 color: inherit;
1185 }
1186 h1 small,
1187 h2 small,
1188 h3 small,
1189 h4 small,
1190 h5 small,
1191 h6 small,
1192 .h1 small,
1193 .h2 small,
1194 .h3 small,
1195 .h4 small,
1196 .h5 small,
1197 .h6 small,
1198 h1 .small,
1199 h2 .small,
1200 h3 .small,
1201 h4 .small,
1202 h5 .small,
1203 h6 .small,
1204 .h1 .small,
1205 .h2 .small,
1206 .h3 .small,
1207 .h4 .small,
1208 .h5 .small,
1209 .h6 .small {
1210 font-weight: normal;
1211 line-height: 1;
1212 color: #777777;
1213 }
1214 h1,
1215 .h1,
1216 h2,
1217 .h2,
1218 h3,
1219 .h3 {
1220 margin-top: 18px;
1221 margin-bottom: 9px;
1222 }
1223 h1 small,
1224 .h1 small,
1225 h2 small,
1226 .h2 small,
1227 h3 small,
1228 .h3 small,
1229 h1 .small,
1230 .h1 .small,
1231 h2 .small,
1232 .h2 .small,
1233 h3 .small,
1234 .h3 .small {
1235 font-size: 65%;
1236 }
1237 h4,
1238 .h4,
1239 h5,
1240 .h5,
1241 h6,
1242 .h6 {
1243 margin-top: 9px;
1244 margin-bottom: 9px;
1245 }
1246 h4 small,
1247 .h4 small,
1248 h5 small,
1249 .h5 small,
1250 h6 small,
1251 .h6 small,
1252 h4 .small,
1253 .h4 .small,
1254 h5 .small,
1255 .h5 .small,
1256 h6 .small,
1257 .h6 .small {
1258 font-size: 75%;
1259 }
1260 h1,
1261 .h1 {
1262 font-size: 33px;
1263 }
1264 h2,
1265 .h2 {
1266 font-size: 27px;
1267 }
1268 h3,
1269 .h3 {
1270 font-size: 23px;
1271 }
1272 h4,
1273 .h4 {
1274 font-size: 17px;
1275 }
1276 h5,
1277 .h5 {
1278 font-size: 13px;
1279 }
1280 h6,
1281 .h6 {
1282 font-size: 12px;
1283 }
1284 p {
1285 margin: 0 0 9px;
1286 }
1287 .lead {
1288 margin-bottom: 18px;
1289 font-size: 14px;
1290 font-weight: 300;
1291 line-height: 1.4;
1292 }
1293 @media (min-width: 768px) {
1294 .lead {
1295 font-size: 19.5px;
1296 }
1297 }
1298 small,
1299 .small {
1300 font-size: 92%;
1301 }
1302 mark,
1303 .mark {
1304 background-color: #fcf8e3;
1305 padding: .2em;
1306 }
1307 .text-left {
1308 text-align: left;
1309 }
1310 .text-right {
1311 text-align: right;
1312 }
1313 .text-center {
1314 text-align: center;
1315 }
1316 .text-justify {
1317 text-align: justify;
1318 }
1319 .text-nowrap {
1320 white-space: nowrap;
1321 }
1322 .text-lowercase {
1323 text-transform: lowercase;
1324 }
1325 .text-uppercase {
1326 text-transform: uppercase;
1327 }
1328 .text-capitalize {
1329 text-transform: capitalize;
1330 }
1331 .text-muted {
1332 color: #777777;
1333 }
1334 .text-primary {
1335 color: #337ab7;
1336 }
1337 a.text-primary:hover,
1338 a.text-primary:focus {
1339 color: #286090;
1340 }
1341 .text-success {
1342 color: #3c763d;
1343 }
1344 a.text-success:hover,
1345 a.text-success:focus {
1346 color: #2b542c;
1347 }
1348 .text-info {
1349 color: #31708f;
1350 }
1351 a.text-info:hover,
1352 a.text-info:focus {
1353 color: #245269;
1354 }
1355 .text-warning {
1356 color: #8a6d3b;
1357 }
1358 a.text-warning:hover,
1359 a.text-warning:focus {
1360 color: #66512c;
1361 }
1362 .text-danger {
1363 color: #a94442;
1364 }
1365 a.text-danger:hover,
1366 a.text-danger:focus {
1367 color: #843534;
1368 }
1369 .bg-primary {
1370 color: #fff;
1371 background-color: #337ab7;
1372 }
1373 a.bg-primary:hover,
1374 a.bg-primary:focus {
1375 background-color: #286090;
1376 }
1377 .bg-success {
1378 background-color: #dff0d8;
1379 }
1380 a.bg-success:hover,
1381 a.bg-success:focus {
1382 background-color: #c1e2b3;
1383 }
1384 .bg-info {
1385 background-color: #d9edf7;
1386 }
1387 a.bg-info:hover,
1388 a.bg-info:focus {
1389 background-color: #afd9ee;
1390 }
1391 .bg-warning {
1392 background-color: #fcf8e3;
1393 }
1394 a.bg-warning:hover,
1395 a.bg-warning:focus {
1396 background-color: #f7ecb5;
1397 }
1398 .bg-danger {
1399 background-color: #f2dede;
1400 }
1401 a.bg-danger:hover,
1402 a.bg-danger:focus {
1403 background-color: #e4b9b9;
1404 }
1405 .page-header {
1406 padding-bottom: 8px;
1407 margin: 36px 0 18px;
1408 border-bottom: 1px solid #eeeeee;
1409 }
1410 ul,
1411 ol {
1412 margin-top: 0;
1413 margin-bottom: 9px;
1414 }
1415 ul ul,
1416 ol ul,
1417 ul ol,
1418 ol ol {
1419 margin-bottom: 0;
1420 }
1421 .list-unstyled {
1422 padding-left: 0;
1423 list-style: none;
1424 }
1425 .list-inline {
1426 padding-left: 0;
1427 list-style: none;
1428 margin-left: -5px;
1429 }
1430 .list-inline > li {
1431 display: inline-block;
1432 padding-left: 5px;
1433 padding-right: 5px;
1434 }
1435 dl {
1436 margin-top: 0;
1437 margin-bottom: 18px;
1438 }
1439 dt,
1440 dd {
1441 line-height: 1.42857143;
1442 }
1443 dt {
1444 font-weight: bold;
1445 }
1446 dd {
1447 margin-left: 0;
1448 }
1449 @media (min-width: 541px) {
1450 .dl-horizontal dt {
1451 float: left;
1452 width: 160px;
1453 clear: left;
1454 text-align: right;
1455 overflow: hidden;
1456 text-overflow: ellipsis;
1457 white-space: nowrap;
1458 }
1459 .dl-horizontal dd {
1460 margin-left: 180px;
1461 }
1462 }
1463 abbr[title],
1464 abbr[data-original-title] {
1465 cursor: help;
1466 border-bottom: 1px dotted #777777;
1467 }
1468 .initialism {
1469 font-size: 90%;
1470 text-transform: uppercase;
1471 }
1472 blockquote {
1473 padding: 9px 18px;
1474 margin: 0 0 18px;
1475 font-size: inherit;
1476 border-left: 5px solid #eeeeee;
1477 }
1478 blockquote p:last-child,
1479 blockquote ul:last-child,
1480 blockquote ol:last-child {
1481 margin-bottom: 0;
1482 }
1483 blockquote footer,
1484 blockquote small,
1485 blockquote .small {
1486 display: block;
1487 font-size: 80%;
1488 line-height: 1.42857143;
1489 color: #777777;
1490 }
1491 blockquote footer:before,
1492 blockquote small:before,
1493 blockquote .small:before {
1494 content: '\2014 \00A0';
1495 }
1496 .blockquote-reverse,
1497 blockquote.pull-right {
1498 padding-right: 15px;
1499 padding-left: 0;
1500 border-right: 5px solid #eeeeee;
1501 border-left: 0;
1502 text-align: right;
1503 }
1504 .blockquote-reverse footer:before,
1505 blockquote.pull-right footer:before,
1506 .blockquote-reverse small:before,
1507 blockquote.pull-right small:before,
1508 .blockquote-reverse .small:before,
1509 blockquote.pull-right .small:before {
1510 content: '';
1511 }
1512 .blockquote-reverse footer:after,
1513 blockquote.pull-right footer:after,
1514 .blockquote-reverse small:after,
1515 blockquote.pull-right small:after,
1516 .blockquote-reverse .small:after,
1517 blockquote.pull-right .small:after {
1518 content: '\00A0 \2014';
1519 }
1520 address {
1521 margin-bottom: 18px;
1522 font-style: normal;
1523 line-height: 1.42857143;
1524 }
1525 code,
1526 kbd,
1527 pre,
1528 samp {
1529 font-family: monospace;
1530 }
1531 code {
1532 padding: 2px 4px;
1533 font-size: 90%;
1534 color: #c7254e;
1535 background-color: #f9f2f4;
1536 border-radius: 2px;
1537 }
1538 kbd {
1539 padding: 2px 4px;
1540 font-size: 90%;
1541 color: #888;
1542 background-color: transparent;
1543 border-radius: 1px;
1544 box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
1545 }
1546 kbd kbd {
1547 padding: 0;
1548 font-size: 100%;
1549 font-weight: bold;
1550 box-shadow: none;
1551 }
1552 pre {
1553 display: block;
1554 padding: 8.5px;
1555 margin: 0 0 9px;
1556 font-size: 12px;
1557 line-height: 1.42857143;
1558 word-break: break-all;
1559 word-wrap: break-word;
1560 color: #333333;
1561 background-color: #f5f5f5;
1562 border: 1px solid #ccc;
1563 border-radius: 2px;
1564 }
1565 pre code {
1566 padding: 0;
1567 font-size: inherit;
1568 color: inherit;
1569 white-space: pre-wrap;
1570 background-color: transparent;
1571 border-radius: 0;
1572 }
1573 .pre-scrollable {
1574 max-height: 340px;
1575 overflow-y: scroll;
1576 }
1577 .container {
1578 margin-right: auto;
1579 margin-left: auto;
1580 padding-left: 0px;
1581 padding-right: 0px;
1582 }
1583 @media (min-width: 768px) {
1584 .container {
1585 width: 768px;
1586 }
1587 }
1588 @media (min-width: 992px) {
1589 .container {
1590 width: 940px;
1591 }
1592 }
1593 @media (min-width: 1200px) {
1594 .container {
1595 width: 1140px;
1596 }
1597 }
1598 .container-fluid {
1599 margin-right: auto;
1600 margin-left: auto;
1601 padding-left: 0px;
1602 padding-right: 0px;
1603 }
1604 .row {
1605 margin-left: 0px;
1606 margin-right: 0px;
1607 }
1608 .col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
1609 position: relative;
1610 min-height: 1px;
1611 padding-left: 0px;
1612 padding-right: 0px;
1613 }
1614 .col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
1615 float: left;
1616 }
1617 .col-xs-12 {
1618 width: 100%;
1619 }
1620 .col-xs-11 {
1621 width: 91.66666667%;
1622 }
1623 .col-xs-10 {
1624 width: 83.33333333%;
1625 }
1626 .col-xs-9 {
1627 width: 75%;
1628 }
1629 .col-xs-8 {
1630 width: 66.66666667%;
1631 }
1632 .col-xs-7 {
1633 width: 58.33333333%;
1634 }
1635 .col-xs-6 {
1636 width: 50%;
1637 }
1638 .col-xs-5 {
1639 width: 41.66666667%;
1640 }
1641 .col-xs-4 {
1642 width: 33.33333333%;
1643 }
1644 .col-xs-3 {
1645 width: 25%;
1646 }
1647 .col-xs-2 {
1648 width: 16.66666667%;
1649 }
1650 .col-xs-1 {
1651 width: 8.33333333%;
1652 }
1653 .col-xs-pull-12 {
1654 right: 100%;
1655 }
1656 .col-xs-pull-11 {
1657 right: 91.66666667%;
1658 }
1659 .col-xs-pull-10 {
1660 right: 83.33333333%;
1661 }
1662 .col-xs-pull-9 {
1663 right: 75%;
1664 }
1665 .col-xs-pull-8 {
1666 right: 66.66666667%;
1667 }
1668 .col-xs-pull-7 {
1669 right: 58.33333333%;
1670 }
1671 .col-xs-pull-6 {
1672 right: 50%;
1673 }
1674 .col-xs-pull-5 {
1675 right: 41.66666667%;
1676 }
1677 .col-xs-pull-4 {
1678 right: 33.33333333%;
1679 }
1680 .col-xs-pull-3 {
1681 right: 25%;
1682 }
1683 .col-xs-pull-2 {
1684 right: 16.66666667%;
1685 }
1686 .col-xs-pull-1 {
1687 right: 8.33333333%;
1688 }
1689 .col-xs-pull-0 {
1690 right: auto;
1691 }
1692 .col-xs-push-12 {
1693 left: 100%;
1694 }
1695 .col-xs-push-11 {
1696 left: 91.66666667%;
1697 }
1698 .col-xs-push-10 {
1699 left: 83.33333333%;
1700 }
1701 .col-xs-push-9 {
1702 left: 75%;
1703 }
1704 .col-xs-push-8 {
1705 left: 66.66666667%;
1706 }
1707 .col-xs-push-7 {
1708 left: 58.33333333%;
1709 }
1710 .col-xs-push-6 {
1711 left: 50%;
1712 }
1713 .col-xs-push-5 {
1714 left: 41.66666667%;
1715 }
1716 .col-xs-push-4 {
1717 left: 33.33333333%;
1718 }
1719 .col-xs-push-3 {
1720 left: 25%;
1721 }
1722 .col-xs-push-2 {
1723 left: 16.66666667%;
1724 }
1725 .col-xs-push-1 {
1726 left: 8.33333333%;
1727 }
1728 .col-xs-push-0 {
1729 left: auto;
1730 }
1731 .col-xs-offset-12 {
1732 margin-left: 100%;
1733 }
1734 .col-xs-offset-11 {
1735 margin-left: 91.66666667%;
1736 }
1737 .col-xs-offset-10 {
1738 margin-left: 83.33333333%;
1739 }
1740 .col-xs-offset-9 {
1741 margin-left: 75%;
1742 }
1743 .col-xs-offset-8 {
1744 margin-left: 66.66666667%;
1745 }
1746 .col-xs-offset-7 {
1747 margin-left: 58.33333333%;
1748 }
1749 .col-xs-offset-6 {
1750 margin-left: 50%;
1751 }
1752 .col-xs-offset-5 {
1753 margin-left: 41.66666667%;
1754 }
1755 .col-xs-offset-4 {
1756 margin-left: 33.33333333%;
1757 }
1758 .col-xs-offset-3 {
1759 margin-left: 25%;
1760 }
1761 .col-xs-offset-2 {
1762 margin-left: 16.66666667%;
1763 }
1764 .col-xs-offset-1 {
1765 margin-left: 8.33333333%;
1766 }
1767 .col-xs-offset-0 {
1768 margin-left: 0%;
1769 }
1770 @media (min-width: 768px) {
1771 .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
1772 float: left;
1773 }
1774 .col-sm-12 {
1775 width: 100%;
1776 }
1777 .col-sm-11 {
1778 width: 91.66666667%;
1779 }
1780 .col-sm-10 {
1781 width: 83.33333333%;
1782 }
1783 .col-sm-9 {
1784 width: 75%;
1785 }
1786 .col-sm-8 {
1787 width: 66.66666667%;
1788 }
1789 .col-sm-7 {
1790 width: 58.33333333%;
1791 }
1792 .col-sm-6 {
1793 width: 50%;
1794 }
1795 .col-sm-5 {
1796 width: 41.66666667%;
1797 }
1798 .col-sm-4 {
1799 width: 33.33333333%;
1800 }
1801 .col-sm-3 {
1802 width: 25%;
1803 }
1804 .col-sm-2 {
1805 width: 16.66666667%;
1806 }
1807 .col-sm-1 {
1808 width: 8.33333333%;
1809 }
1810 .col-sm-pull-12 {
1811 right: 100%;
1812 }
1813 .col-sm-pull-11 {
1814 right: 91.66666667%;
1815 }
1816 .col-sm-pull-10 {
1817 right: 83.33333333%;
1818 }
1819 .col-sm-pull-9 {
1820 right: 75%;
1821 }
1822 .col-sm-pull-8 {
1823 right: 66.66666667%;
1824 }
1825 .col-sm-pull-7 {
1826 right: 58.33333333%;
1827 }
1828 .col-sm-pull-6 {
1829 right: 50%;
1830 }
1831 .col-sm-pull-5 {
1832 right: 41.66666667%;
1833 }
1834 .col-sm-pull-4 {
1835 right: 33.33333333%;
1836 }
1837 .col-sm-pull-3 {
1838 right: 25%;
1839 }
1840 .col-sm-pull-2 {
1841 right: 16.66666667%;
1842 }
1843 .col-sm-pull-1 {
1844 right: 8.33333333%;
1845 }
1846 .col-sm-pull-0 {
1847 right: auto;
1848 }
1849 .col-sm-push-12 {
1850 left: 100%;
1851 }
1852 .col-sm-push-11 {
1853 left: 91.66666667%;
1854 }
1855 .col-sm-push-10 {
1856 left: 83.33333333%;
1857 }
1858 .col-sm-push-9 {
1859 left: 75%;
1860 }
1861 .col-sm-push-8 {
1862 left: 66.66666667%;
1863 }
1864 .col-sm-push-7 {
1865 left: 58.33333333%;
1866 }
1867 .col-sm-push-6 {
1868 left: 50%;
1869 }
1870 .col-sm-push-5 {
1871 left: 41.66666667%;
1872 }
1873 .col-sm-push-4 {
1874 left: 33.33333333%;
1875 }
1876 .col-sm-push-3 {
1877 left: 25%;
1878 }
1879 .col-sm-push-2 {
1880 left: 16.66666667%;
1881 }
1882 .col-sm-push-1 {
1883 left: 8.33333333%;
1884 }
1885 .col-sm-push-0 {
1886 left: auto;
1887 }
1888 .col-sm-offset-12 {
1889 margin-left: 100%;
1890 }
1891 .col-sm-offset-11 {
1892 margin-left: 91.66666667%;
1893 }
1894 .col-sm-offset-10 {
1895 margin-left: 83.33333333%;
1896 }
1897 .col-sm-offset-9 {
1898 margin-left: 75%;
1899 }
1900 .col-sm-offset-8 {
1901 margin-left: 66.66666667%;
1902 }
1903 .col-sm-offset-7 {
1904 margin-left: 58.33333333%;
1905 }
1906 .col-sm-offset-6 {
1907 margin-left: 50%;
1908 }
1909 .col-sm-offset-5 {
1910 margin-left: 41.66666667%;
1911 }
1912 .col-sm-offset-4 {
1913 margin-left: 33.33333333%;
1914 }
1915 .col-sm-offset-3 {
1916 margin-left: 25%;
1917 }
1918 .col-sm-offset-2 {
1919 margin-left: 16.66666667%;
1920 }
1921 .col-sm-offset-1 {
1922 margin-left: 8.33333333%;
1923 }
1924 .col-sm-offset-0 {
1925 margin-left: 0%;
1926 }
1927 }
1928 @media (min-width: 992px) {
1929 .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
1930 float: left;
1931 }
1932 .col-md-12 {
1933 width: 100%;
1934 }
1935 .col-md-11 {
1936 width: 91.66666667%;
1937 }
1938 .col-md-10 {
1939 width: 83.33333333%;
1940 }
1941 .col-md-9 {
1942 width: 75%;
1943 }
1944 .col-md-8 {
1945 width: 66.66666667%;
1946 }
1947 .col-md-7 {
1948 width: 58.33333333%;
1949 }
1950 .col-md-6 {
1951 width: 50%;
1952 }
1953 .col-md-5 {
1954 width: 41.66666667%;
1955 }
1956 .col-md-4 {
1957 width: 33.33333333%;
1958 }
1959 .col-md-3 {
1960 width: 25%;
1961 }
1962 .col-md-2 {
1963 width: 16.66666667%;
1964 }
1965 .col-md-1 {
1966 width: 8.33333333%;
1967 }
1968 .col-md-pull-12 {
1969 right: 100%;
1970 }
1971 .col-md-pull-11 {
1972 right: 91.66666667%;
1973 }
1974 .col-md-pull-10 {
1975 right: 83.33333333%;
1976 }
1977 .col-md-pull-9 {
1978 right: 75%;
1979 }
1980 .col-md-pull-8 {
1981 right: 66.66666667%;
1982 }
1983 .col-md-pull-7 {
1984 right: 58.33333333%;
1985 }
1986 .col-md-pull-6 {
1987 right: 50%;
1988 }
1989 .col-md-pull-5 {
1990 right: 41.66666667%;
1991 }
1992 .col-md-pull-4 {
1993 right: 33.33333333%;
1994 }
1995 .col-md-pull-3 {
1996 right: 25%;
1997 }
1998 .col-md-pull-2 {
1999 right: 16.66666667%;
2000 }
2001 .col-md-pull-1 {
2002 right: 8.33333333%;
2003 }
2004 .col-md-pull-0 {
2005 right: auto;
2006 }
2007 .col-md-push-12 {
2008 left: 100%;
2009 }
2010 .col-md-push-11 {
2011 left: 91.66666667%;
2012 }
2013 .col-md-push-10 {
2014 left: 83.33333333%;
2015 }
2016 .col-md-push-9 {
2017 left: 75%;
2018 }
2019 .col-md-push-8 {
2020 left: 66.66666667%;
2021 }
2022 .col-md-push-7 {
2023 left: 58.33333333%;
2024 }
2025 .col-md-push-6 {
2026 left: 50%;
2027 }
2028 .col-md-push-5 {
2029 left: 41.66666667%;
2030 }
2031 .col-md-push-4 {
2032 left: 33.33333333%;
2033 }
2034 .col-md-push-3 {
2035 left: 25%;
2036 }
2037 .col-md-push-2 {
2038 left: 16.66666667%;
2039 }
2040 .col-md-push-1 {
2041 left: 8.33333333%;
2042 }
2043 .col-md-push-0 {
2044 left: auto;
2045 }
2046 .col-md-offset-12 {
2047 margin-left: 100%;
2048 }
2049 .col-md-offset-11 {
2050 margin-left: 91.66666667%;
2051 }
2052 .col-md-offset-10 {
2053 margin-left: 83.33333333%;
2054 }
2055 .col-md-offset-9 {
2056 margin-left: 75%;
2057 }
2058 .col-md-offset-8 {
2059 margin-left: 66.66666667%;
2060 }
2061 .col-md-offset-7 {
2062 margin-left: 58.33333333%;
2063 }
2064 .col-md-offset-6 {
2065 margin-left: 50%;
2066 }
2067 .col-md-offset-5 {
2068 margin-left: 41.66666667%;
2069 }
2070 .col-md-offset-4 {
2071 margin-left: 33.33333333%;
2072 }
2073 .col-md-offset-3 {
2074 margin-left: 25%;
2075 }
2076 .col-md-offset-2 {
2077 margin-left: 16.66666667%;
2078 }
2079 .col-md-offset-1 {
2080 margin-left: 8.33333333%;
2081 }
2082 .col-md-offset-0 {
2083 margin-left: 0%;
2084 }
2085 }
2086 @media (min-width: 1200px) {
2087 .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
2088 float: left;
2089 }
2090 .col-lg-12 {
2091 width: 100%;
2092 }
2093 .col-lg-11 {
2094 width: 91.66666667%;
2095 }
2096 .col-lg-10 {
2097 width: 83.33333333%;
2098 }
2099 .col-lg-9 {
2100 width: 75%;
2101 }
2102 .col-lg-8 {
2103 width: 66.66666667%;
2104 }
2105 .col-lg-7 {
2106 width: 58.33333333%;
2107 }
2108 .col-lg-6 {
2109 width: 50%;
2110 }
2111 .col-lg-5 {
2112 width: 41.66666667%;
2113 }
2114 .col-lg-4 {
2115 width: 33.33333333%;
2116 }
2117 .col-lg-3 {
2118 width: 25%;
2119 }
2120 .col-lg-2 {
2121 width: 16.66666667%;
2122 }
2123 .col-lg-1 {
2124 width: 8.33333333%;
2125 }
2126 .col-lg-pull-12 {
2127 right: 100%;
2128 }
2129 .col-lg-pull-11 {
2130 right: 91.66666667%;
2131 }
2132 .col-lg-pull-10 {
2133 right: 83.33333333%;
2134 }
2135 .col-lg-pull-9 {
2136 right: 75%;
2137 }
2138 .col-lg-pull-8 {
2139 right: 66.66666667%;
2140 }
2141 .col-lg-pull-7 {
2142 right: 58.33333333%;
2143 }
2144 .col-lg-pull-6 {
2145 right: 50%;
2146 }
2147 .col-lg-pull-5 {
2148 right: 41.66666667%;
2149 }
2150 .col-lg-pull-4 {
2151 right: 33.33333333%;
2152 }
2153 .col-lg-pull-3 {
2154 right: 25%;
2155 }
2156 .col-lg-pull-2 {
2157 right: 16.66666667%;
2158 }
2159 .col-lg-pull-1 {
2160 right: 8.33333333%;
2161 }
2162 .col-lg-pull-0 {
2163 right: auto;
2164 }
2165 .col-lg-push-12 {
2166 left: 100%;
2167 }
2168 .col-lg-push-11 {
2169 left: 91.66666667%;
2170 }
2171 .col-lg-push-10 {
2172 left: 83.33333333%;
2173 }
2174 .col-lg-push-9 {
2175 left: 75%;
2176 }
2177 .col-lg-push-8 {
2178 left: 66.66666667%;
2179 }
2180 .col-lg-push-7 {
2181 left: 58.33333333%;
2182 }
2183 .col-lg-push-6 {
2184 left: 50%;
2185 }
2186 .col-lg-push-5 {
2187 left: 41.66666667%;
2188 }
2189 .col-lg-push-4 {
2190 left: 33.33333333%;
2191 }
2192 .col-lg-push-3 {
2193 left: 25%;
2194 }
2195 .col-lg-push-2 {
2196 left: 16.66666667%;
2197 }
2198 .col-lg-push-1 {
2199 left: 8.33333333%;
2200 }
2201 .col-lg-push-0 {
2202 left: auto;
2203 }
2204 .col-lg-offset-12 {
2205 margin-left: 100%;
2206 }
2207 .col-lg-offset-11 {
2208 margin-left: 91.66666667%;
2209 }
2210 .col-lg-offset-10 {
2211 margin-left: 83.33333333%;
2212 }
2213 .col-lg-offset-9 {
2214 margin-left: 75%;
2215 }
2216 .col-lg-offset-8 {
2217 margin-left: 66.66666667%;
2218 }
2219 .col-lg-offset-7 {
2220 margin-left: 58.33333333%;
2221 }
2222 .col-lg-offset-6 {
2223 margin-left: 50%;
2224 }
2225 .col-lg-offset-5 {
2226 margin-left: 41.66666667%;
2227 }
2228 .col-lg-offset-4 {
2229 margin-left: 33.33333333%;
2230 }
2231 .col-lg-offset-3 {
2232 margin-left: 25%;
2233 }
2234 .col-lg-offset-2 {
2235 margin-left: 16.66666667%;
2236 }
2237 .col-lg-offset-1 {
2238 margin-left: 8.33333333%;
2239 }
2240 .col-lg-offset-0 {
2241 margin-left: 0%;
2242 }
2243 }
2244 table {
2245 background-color: transparent;
2246 }
2247 caption {
2248 padding-top: 8px;
2249 padding-bottom: 8px;
2250 color: #777777;
2251 text-align: left;
2252 }
2253 th {
2254 text-align: left;
2255 }
2256 .table {
2257 width: 100%;
2258 max-width: 100%;
2259 margin-bottom: 18px;
2260 }
2261 .table > thead > tr > th,
2262 .table > tbody > tr > th,
2263 .table > tfoot > tr > th,
2264 .table > thead > tr > td,
2265 .table > tbody > tr > td,
2266 .table > tfoot > tr > td {
2267 padding: 8px;
2268 line-height: 1.42857143;
2269 vertical-align: top;
2270 border-top: 1px solid #ddd;
2271 }
2272 .table > thead > tr > th {
2273 vertical-align: bottom;
2274 border-bottom: 2px solid #ddd;
2275 }
2276 .table > caption + thead > tr:first-child > th,
2277 .table > colgroup + thead > tr:first-child > th,
2278 .table > thead:first-child > tr:first-child > th,
2279 .table > caption + thead > tr:first-child > td,
2280 .table > colgroup + thead > tr:first-child > td,
2281 .table > thead:first-child > tr:first-child > td {
2282 border-top: 0;
2283 }
2284 .table > tbody + tbody {
2285 border-top: 2px solid #ddd;
2286 }
2287 .table .table {
2288 background-color: #fff;
2289 }
2290 .table-condensed > thead > tr > th,
2291 .table-condensed > tbody > tr > th,
2292 .table-condensed > tfoot > tr > th,
2293 .table-condensed > thead > tr > td,
2294 .table-condensed > tbody > tr > td,
2295 .table-condensed > tfoot > tr > td {
2296 padding: 5px;
2297 }
2298 .table-bordered {
2299 border: 1px solid #ddd;
2300 }
2301 .table-bordered > thead > tr > th,
2302 .table-bordered > tbody > tr > th,
2303 .table-bordered > tfoot > tr > th,
2304 .table-bordered > thead > tr > td,
2305 .table-bordered > tbody > tr > td,
2306 .table-bordered > tfoot > tr > td {
2307 border: 1px solid #ddd;
2308 }
2309 .table-bordered > thead > tr > th,
2310 .table-bordered > thead > tr > td {
2311 border-bottom-width: 2px;
2312 }
2313 .table-striped > tbody > tr:nth-of-type(odd) {
2314 background-color: #f9f9f9;
2315 }
2316 .table-hover > tbody > tr:hover {
2317 background-color: #f5f5f5;
2318 }
2319 table col[class*="col-"] {
2320 position: static;
2321 float: none;
2322 display: table-column;
2323 }
2324 table td[class*="col-"],
2325 table th[class*="col-"] {
2326 position: static;
2327 float: none;
2328 display: table-cell;
2329 }
2330 .table > thead > tr > td.active,
2331 .table > tbody > tr > td.active,
2332 .table > tfoot > tr > td.active,
2333 .table > thead > tr > th.active,
2334 .table > tbody > tr > th.active,
2335 .table > tfoot > tr > th.active,
2336 .table > thead > tr.active > td,
2337 .table > tbody > tr.active > td,
2338 .table > tfoot > tr.active > td,
2339 .table > thead > tr.active > th,
2340 .table > tbody > tr.active > th,
2341 .table > tfoot > tr.active > th {
2342 background-color: #f5f5f5;
2343 }
2344 .table-hover > tbody > tr > td.active:hover,
2345 .table-hover > tbody > tr > th.active:hover,
2346 .table-hover > tbody > tr.active:hover > td,
2347 .table-hover > tbody > tr:hover > .active,
2348 .table-hover > tbody > tr.active:hover > th {
2349 background-color: #e8e8e8;
2350 }
2351 .table > thead > tr > td.success,
2352 .table > tbody > tr > td.success,
2353 .table > tfoot > tr > td.success,
2354 .table > thead > tr > th.success,
2355 .table > tbody > tr > th.success,
2356 .table > tfoot > tr > th.success,
2357 .table > thead > tr.success > td,
2358 .table > tbody > tr.success > td,
2359 .table > tfoot > tr.success > td,
2360 .table > thead > tr.success > th,
2361 .table > tbody > tr.success > th,
2362 .table > tfoot > tr.success > th {
2363 background-color: #dff0d8;
2364 }
2365 .table-hover > tbody > tr > td.success:hover,
2366 .table-hover > tbody > tr > th.success:hover,
2367 .table-hover > tbody > tr.success:hover > td,
2368 .table-hover > tbody > tr:hover > .success,
2369 .table-hover > tbody > tr.success:hover > th {
2370 background-color: #d0e9c6;
2371 }
2372 .table > thead > tr > td.info,
2373 .table > tbody > tr > td.info,
2374 .table > tfoot > tr > td.info,
2375 .table > thead > tr > th.info,
2376 .table > tbody > tr > th.info,
2377 .table > tfoot > tr > th.info,
2378 .table > thead > tr.info > td,
2379 .table > tbody > tr.info > td,
2380 .table > tfoot > tr.info > td,
2381 .table > thead > tr.info > th,
2382 .table > tbody > tr.info > th,
2383 .table > tfoot > tr.info > th {
2384 background-color: #d9edf7;
2385 }
2386 .table-hover > tbody > tr > td.info:hover,
2387 .table-hover > tbody > tr > th.info:hover,
2388 .table-hover > tbody > tr.info:hover > td,
2389 .table-hover > tbody > tr:hover > .info,
2390 .table-hover > tbody > tr.info:hover > th {
2391 background-color: #c4e3f3;
2392 }
2393 .table > thead > tr > td.warning,
2394 .table > tbody > tr > td.warning,
2395 .table > tfoot > tr > td.warning,
2396 .table > thead > tr > th.warning,
2397 .table > tbody > tr > th.warning,
2398 .table > tfoot > tr > th.warning,
2399 .table > thead > tr.warning > td,
2400 .table > tbody > tr.warning > td,
2401 .table > tfoot > tr.warning > td,
2402 .table > thead > tr.warning > th,
2403 .table > tbody > tr.warning > th,
2404 .table > tfoot > tr.warning > th {
2405 background-color: #fcf8e3;
2406 }
2407 .table-hover > tbody > tr > td.warning:hover,
2408 .table-hover > tbody > tr > th.warning:hover,
2409 .table-hover > tbody > tr.warning:hover > td,
2410 .table-hover > tbody > tr:hover > .warning,
2411 .table-hover > tbody > tr.warning:hover > th {
2412 background-color: #faf2cc;
2413 }
2414 .table > thead > tr > td.danger,
2415 .table > tbody > tr > td.danger,
2416 .table > tfoot > tr > td.danger,
2417 .table > thead > tr > th.danger,
2418 .table > tbody > tr > th.danger,
2419 .table > tfoot > tr > th.danger,
2420 .table > thead > tr.danger > td,
2421 .table > tbody > tr.danger > td,
2422 .table > tfoot > tr.danger > td,
2423 .table > thead > tr.danger > th,
2424 .table > tbody > tr.danger > th,
2425 .table > tfoot > tr.danger > th {
2426 background-color: #f2dede;
2427 }
2428 .table-hover > tbody > tr > td.danger:hover,
2429 .table-hover > tbody > tr > th.danger:hover,
2430 .table-hover > tbody > tr.danger:hover > td,
2431 .table-hover > tbody > tr:hover > .danger,
2432 .table-hover > tbody > tr.danger:hover > th {
2433 background-color: #ebcccc;
2434 }
2435 .table-responsive {
2436 overflow-x: auto;
2437 min-height: 0.01%;
2438 }
2439 @media screen and (max-width: 767px) {
2440 .table-responsive {
2441 width: 100%;
2442 margin-bottom: 13.5px;
2443 overflow-y: hidden;
2444 -ms-overflow-style: -ms-autohiding-scrollbar;
2445 border: 1px solid #ddd;
2446 }
2447 .table-responsive > .table {
2448 margin-bottom: 0;
2449 }
2450 .table-responsive > .table > thead > tr > th,
2451 .table-responsive > .table > tbody > tr > th,
2452 .table-responsive > .table > tfoot > tr > th,
2453 .table-responsive > .table > thead > tr > td,
2454 .table-responsive > .table > tbody > tr > td,
2455 .table-responsive > .table > tfoot > tr > td {
2456 white-space: nowrap;
2457 }
2458 .table-responsive > .table-bordered {
2459 border: 0;
2460 }
2461 .table-responsive > .table-bordered > thead > tr > th:first-child,
2462 .table-responsive > .table-bordered > tbody > tr > th:first-child,
2463 .table-responsive > .table-bordered > tfoot > tr > th:first-child,
2464 .table-responsive > .table-bordered > thead > tr > td:first-child,
2465 .table-responsive > .table-bordered > tbody > tr > td:first-child,
2466 .table-responsive > .table-bordered > tfoot > tr > td:first-child {
2467 border-left: 0;
2468 }
2469 .table-responsive > .table-bordered > thead > tr > th:last-child,
2470 .table-responsive > .table-bordered > tbody > tr > th:last-child,
2471 .table-responsive > .table-bordered > tfoot > tr > th:last-child,
2472 .table-responsive > .table-bordered > thead > tr > td:last-child,
2473 .table-responsive > .table-bordered > tbody > tr > td:last-child,
2474 .table-responsive > .table-bordered > tfoot > tr > td:last-child {
2475 border-right: 0;
2476 }
2477 .table-responsive > .table-bordered > tbody > tr:last-child > th,
2478 .table-responsive > .table-bordered > tfoot > tr:last-child > th,
2479 .table-responsive > .table-bordered > tbody > tr:last-child > td,
2480 .table-responsive > .table-bordered > tfoot > tr:last-child > td {
2481 border-bottom: 0;
2482 }
2483 }
2484 fieldset {
2485 padding: 0;
2486 margin: 0;
2487 border: 0;
2488 min-width: 0;
2489 }
2490 legend {
2491 display: block;
2492 width: 100%;
2493 padding: 0;
2494 margin-bottom: 18px;
2495 font-size: 19.5px;
2496 line-height: inherit;
2497 color: #333333;
2498 border: 0;
2499 border-bottom: 1px solid #e5e5e5;
2500 }
2501 label {
2502 display: inline-block;
2503 max-width: 100%;
2504 margin-bottom: 5px;
2505 font-weight: bold;
2506 }
2507 input[type="search"] {
2508 -webkit-box-sizing: border-box;
2509 -moz-box-sizing: border-box;
2510 box-sizing: border-box;
2511 }
2512 input[type="radio"],
2513 input[type="checkbox"] {
2514 margin: 4px 0 0;
2515 margin-top: 1px \9;
2516 line-height: normal;
2517 }
2518 input[type="file"] {
2519 display: block;
2520 }
2521 input[type="range"] {
2522 display: block;
2523 width: 100%;
2524 }
2525 select[multiple],
2526 select[size] {
2527 height: auto;
2528 }
2529 input[type="file"]:focus,
2530 input[type="radio"]:focus,
2531 input[type="checkbox"]:focus {
2532 outline: 5px auto -webkit-focus-ring-color;
2533 outline-offset: -2px;
2534 }
2535 output {
2536 display: block;
2537 padding-top: 7px;
2538 font-size: 13px;
2539 line-height: 1.42857143;
2540 color: #555555;
2541 }
2542 .form-control {
2543 display: block;
2544 width: 100%;
2545 height: 32px;
2546 padding: 6px 12px;
2547 font-size: 13px;
2548 line-height: 1.42857143;
2549 color: #555555;
2550 background-color: #fff;
2551 background-image: none;
2552 border: 1px solid #ccc;
2553 border-radius: 2px;
2554 -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
2555 box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
2556 -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
2557 -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
2558 transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
2559 }
2560 .form-control:focus {
2561 border-color: #66afe9;
2562 outline: 0;
2563 -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
2564 box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
2565 }
2566 .form-control::-moz-placeholder {
2567 color: #999;
2568 opacity: 1;
2569 }
2570 .form-control:-ms-input-placeholder {
2571 color: #999;
2572 }
2573 .form-control::-webkit-input-placeholder {
2574 color: #999;
2575 }
2576 .form-control::-ms-expand {
2577 border: 0;
2578 background-color: transparent;
2579 }
2580 .form-control[disabled],
2581 .form-control[readonly],
2582 fieldset[disabled] .form-control {
2583 background-color: #eeeeee;
2584 opacity: 1;
2585 }
2586 .form-control[disabled],
2587 fieldset[disabled] .form-control {
2588 cursor: not-allowed;
2589 }
2590 textarea.form-control {
2591 height: auto;
2592 }
2593 input[type="search"] {
2594 -webkit-appearance: none;
2595 }
2596 @media screen and (-webkit-min-device-pixel-ratio: 0) {
2597 input[type="date"].form-control,
2598 input[type="time"].form-control,
2599 input[type="datetime-local"].form-control,
2600 input[type="month"].form-control {
2601 line-height: 32px;
2602 }
2603 input[type="date"].input-sm,
2604 input[type="time"].input-sm,
2605 input[type="datetime-local"].input-sm,
2606 input[type="month"].input-sm,
2607 .input-group-sm input[type="date"],
2608 .input-group-sm input[type="time"],
2609 .input-group-sm input[type="datetime-local"],
2610 .input-group-sm input[type="month"] {
2611 line-height: 30px;
2612 }
2613 input[type="date"].input-lg,
2614 input[type="time"].input-lg,
2615 input[type="datetime-local"].input-lg,
2616 input[type="month"].input-lg,
2617 .input-group-lg input[type="date"],
2618 .input-group-lg input[type="time"],
2619 .input-group-lg input[type="datetime-local"],
2620 .input-group-lg input[type="month"] {
2621 line-height: 45px;
2622 }
2623 }
2624 .form-group {
2625 margin-bottom: 15px;
2626 }
2627 .radio,
2628 .checkbox {
2629 position: relative;
2630 display: block;
2631 margin-top: 10px;
2632 margin-bottom: 10px;
2633 }
2634 .radio label,
2635 .checkbox label {
2636 min-height: 18px;
2637 padding-left: 20px;
2638 margin-bottom: 0;
2639 font-weight: normal;
2640 cursor: pointer;
2641 }
2642 .radio input[type="radio"],
2643 .radio-inline input[type="radio"],
2644 .checkbox input[type="checkbox"],
2645 .checkbox-inline input[type="checkbox"] {
2646 position: absolute;
2647 margin-left: -20px;
2648 margin-top: 4px \9;
2649 }
2650 .radio + .radio,
2651 .checkbox + .checkbox {
2652 margin-top: -5px;
2653 }
2654 .radio-inline,
2655 .checkbox-inline {
2656 position: relative;
2657 display: inline-block;
2658 padding-left: 20px;
2659 margin-bottom: 0;
2660 vertical-align: middle;
2661 font-weight: normal;
2662 cursor: pointer;
2663 }
2664 .radio-inline + .radio-inline,
2665 .checkbox-inline + .checkbox-inline {
2666 margin-top: 0;
2667 margin-left: 10px;
2668 }
2669 input[type="radio"][disabled],
2670 input[type="checkbox"][disabled],
2671 input[type="radio"].disabled,
2672 input[type="checkbox"].disabled,
2673 fieldset[disabled] input[type="radio"],
2674 fieldset[disabled] input[type="checkbox"] {
2675 cursor: not-allowed;
2676 }
2677 .radio-inline.disabled,
2678 .checkbox-inline.disabled,
2679 fieldset[disabled] .radio-inline,
2680 fieldset[disabled] .checkbox-inline {
2681 cursor: not-allowed;
2682 }
2683 .radio.disabled label,
2684 .checkbox.disabled label,
2685 fieldset[disabled] .radio label,
2686 fieldset[disabled] .checkbox label {
2687 cursor: not-allowed;
2688 }
2689 .form-control-static {
2690 padding-top: 7px;
2691 padding-bottom: 7px;
2692 margin-bottom: 0;
2693 min-height: 31px;
2694 }
2695 .form-control-static.input-lg,
2696 .form-control-static.input-sm {
2697 padding-left: 0;
2698 padding-right: 0;
2699 }
2700 .input-sm {
2701 height: 30px;
2702 padding: 5px 10px;
2703 font-size: 12px;
2704 line-height: 1.5;
2705 border-radius: 1px;
2706 }
2707 select.input-sm {
2708 height: 30px;
2709 line-height: 30px;
2710 }
2711 textarea.input-sm,
2712 select[multiple].input-sm {
2713 height: auto;
2714 }
2715 .form-group-sm .form-control {
2716 height: 30px;
2717 padding: 5px 10px;
2718 font-size: 12px;
2719 line-height: 1.5;
2720 border-radius: 1px;
2721 }
2722 .form-group-sm select.form-control {
2723 height: 30px;
2724 line-height: 30px;
2725 }
2726 .form-group-sm textarea.form-control,
2727 .form-group-sm select[multiple].form-control {
2728 height: auto;
2729 }
2730 .form-group-sm .form-control-static {
2731 height: 30px;
2732 min-height: 30px;
2733 padding: 6px 10px;
2734 font-size: 12px;
2735 line-height: 1.5;
2736 }
2737 .input-lg {
2738 height: 45px;
2739 padding: 10px 16px;
2740 font-size: 17px;
2741 line-height: 1.3333333;
2742 border-radius: 3px;
2743 }
2744 select.input-lg {
2745 height: 45px;
2746 line-height: 45px;
2747 }
2748 textarea.input-lg,
2749 select[multiple].input-lg {
2750 height: auto;
2751 }
2752 .form-group-lg .form-control {
2753 height: 45px;
2754 padding: 10px 16px;
2755 font-size: 17px;
2756 line-height: 1.3333333;
2757 border-radius: 3px;
2758 }
2759 .form-group-lg select.form-control {
2760 height: 45px;
2761 line-height: 45px;
2762 }
2763 .form-group-lg textarea.form-control,
2764 .form-group-lg select[multiple].form-control {
2765 height: auto;
2766 }
2767 .form-group-lg .form-control-static {
2768 height: 45px;
2769 min-height: 35px;
2770 padding: 11px 16px;
2771 font-size: 17px;
2772 line-height: 1.3333333;
2773 }
2774 .has-feedback {
2775 position: relative;
2776 }
2777 .has-feedback .form-control {
2778 padding-right: 40px;
2779 }
2780 .form-control-feedback {
2781 position: absolute;
2782 top: 0;
2783 right: 0;
2784 z-index: 2;
2785 display: block;
2786 width: 32px;
2787 height: 32px;
2788 line-height: 32px;
2789 text-align: center;
2790 pointer-events: none;
2791 }
2792 .input-lg + .form-control-feedback,
2793 .input-group-lg + .form-control-feedback,
2794 .form-group-lg .form-control + .form-control-feedback {
2795 width: 45px;
2796 height: 45px;
2797 line-height: 45px;
2798 }
2799 .input-sm + .form-control-feedback,
2800 .input-group-sm + .form-control-feedback,
2801 .form-group-sm .form-control + .form-control-feedback {
2802 width: 30px;
2803 height: 30px;
2804 line-height: 30px;
2805 }
2806 .has-success .help-block,
2807 .has-success .control-label,
2808 .has-success .radio,
2809 .has-success .checkbox,
2810 .has-success .radio-inline,
2811 .has-success .checkbox-inline,
2812 .has-success.radio label,
2813 .has-success.checkbox label,
2814 .has-success.radio-inline label,
2815 .has-success.checkbox-inline label {
2816 color: #3c763d;
2817 }
2818 .has-success .form-control {
2819 border-color: #3c763d;
2820 -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
2821 box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
2822 }
2823 .has-success .form-control:focus {
2824 border-color: #2b542c;
2825 -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
2826 box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
2827 }
2828 .has-success .input-group-addon {
2829 color: #3c763d;
2830 border-color: #3c763d;
2831 background-color: #dff0d8;
2832 }
2833 .has-success .form-control-feedback {
2834 color: #3c763d;
2835 }
2836 .has-warning .help-block,
2837 .has-warning .control-label,
2838 .has-warning .radio,
2839 .has-warning .checkbox,
2840 .has-warning .radio-inline,
2841 .has-warning .checkbox-inline,
2842 .has-warning.radio label,
2843 .has-warning.checkbox label,
2844 .has-warning.radio-inline label,
2845 .has-warning.checkbox-inline label {
2846 color: #8a6d3b;
2847 }
2848 .has-warning .form-control {
2849 border-color: #8a6d3b;
2850 -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
2851 box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
2852 }
2853 .has-warning .form-control:focus {
2854 border-color: #66512c;
2855 -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
2856 box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
2857 }
2858 .has-warning .input-group-addon {
2859 color: #8a6d3b;
2860 border-color: #8a6d3b;
2861 background-color: #fcf8e3;
2862 }
2863 .has-warning .form-control-feedback {
2864 color: #8a6d3b;
2865 }
2866 .has-error .help-block,
2867 .has-error .control-label,
2868 .has-error .radio,
2869 .has-error .checkbox,
2870 .has-error .radio-inline,
2871 .has-error .checkbox-inline,
2872 .has-error.radio label,
2873 .has-error.checkbox label,
2874 .has-error.radio-inline label,
2875 .has-error.checkbox-inline label {
2876 color: #a94442;
2877 }
2878 .has-error .form-control {
2879 border-color: #a94442;
2880 -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
2881 box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
2882 }
2883 .has-error .form-control:focus {
2884 border-color: #843534;
2885 -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
2886 box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
2887 }
2888 .has-error .input-group-addon {
2889 color: #a94442;
2890 border-color: #a94442;
2891 background-color: #f2dede;
2892 }
2893 .has-error .form-control-feedback {
2894 color: #a94442;
2895 }
2896 .has-feedback label ~ .form-control-feedback {
2897 top: 23px;
2898 }
2899 .has-feedback label.sr-only ~ .form-control-feedback {
2900 top: 0;
2901 }
2902 .help-block {
2903 display: block;
2904 margin-top: 5px;
2905 margin-bottom: 10px;
2906 color: #404040;
2907 }
2908 @media (min-width: 768px) {
2909 .form-inline .form-group {
2910 display: inline-block;
2911 margin-bottom: 0;
2912 vertical-align: middle;
2913 }
2914 .form-inline .form-control {
2915 display: inline-block;
2916 width: auto;
2917 vertical-align: middle;
2918 }
2919 .form-inline .form-control-static {
2920 display: inline-block;
2921 }
2922 .form-inline .input-group {
2923 display: inline-table;
2924 vertical-align: middle;
2925 }
2926 .form-inline .input-group .input-group-addon,
2927 .form-inline .input-group .input-group-btn,
2928 .form-inline .input-group .form-control {
2929 width: auto;
2930 }
2931 .form-inline .input-group > .form-control {
2932 width: 100%;
2933 }
2934 .form-inline .control-label {
2935 margin-bottom: 0;
2936 vertical-align: middle;
2937 }
2938 .form-inline .radio,
2939 .form-inline .checkbox {
2940 display: inline-block;
2941 margin-top: 0;
2942 margin-bottom: 0;
2943 vertical-align: middle;
2944 }
2945 .form-inline .radio label,
2946 .form-inline .checkbox label {
2947 padding-left: 0;
2948 }
2949 .form-inline .radio input[type="radio"],
2950 .form-inline .checkbox input[type="checkbox"] {
2951 position: relative;
2952 margin-left: 0;
2953 }
2954 .form-inline .has-feedback .form-control-feedback {
2955 top: 0;
2956 }
2957 }
2958 .form-horizontal .radio,
2959 .form-horizontal .checkbox,
2960 .form-horizontal .radio-inline,
2961 .form-horizontal .checkbox-inline {
2962 margin-top: 0;
2963 margin-bottom: 0;
2964 padding-top: 7px;
2965 }
2966 .form-horizontal .radio,
2967 .form-horizontal .checkbox {
2968 min-height: 25px;
2969 }
2970 .form-horizontal .form-group {
2971 margin-left: 0px;
2972 margin-right: 0px;
2973 }
2974 @media (min-width: 768px) {
2975 .form-horizontal .control-label {
2976 text-align: right;
2977 margin-bottom: 0;
2978 padding-top: 7px;
2979 }
2980 }
2981 .form-horizontal .has-feedback .form-control-feedback {
2982 right: 0px;
2983 }
2984 @media (min-width: 768px) {
2985 .form-horizontal .form-group-lg .control-label {
2986 padding-top: 11px;
2987 font-size: 17px;
2988 }
2989 }
2990 @media (min-width: 768px) {
2991 .form-horizontal .form-group-sm .control-label {
2992 padding-top: 6px;
2993 font-size: 12px;
2994 }
2995 }
2996 .btn {
2997 display: inline-block;
2998 margin-bottom: 0;
2999 font-weight: normal;
3000 text-align: center;
3001 vertical-align: middle;
3002 touch-action: manipulation;
3003 cursor: pointer;
3004 background-image: none;
3005 border: 1px solid transparent;
3006 white-space: nowrap;
3007 padding: 6px 12px;
3008 font-size: 13px;
3009 line-height: 1.42857143;
3010 border-radius: 2px;
3011 -webkit-user-select: none;
3012 -moz-user-select: none;
3013 -ms-user-select: none;
3014 user-select: none;
3015 }
3016 .btn:focus,
3017 .btn:active:focus,
3018 .btn.active:focus,
3019 .btn.focus,
3020 .btn:active.focus,
3021 .btn.active.focus {
3022 outline: 5px auto -webkit-focus-ring-color;
3023 outline-offset: -2px;
3024 }
3025 .btn:hover,
3026 .btn:focus,
3027 .btn.focus {
3028 color: #333;
3029 text-decoration: none;
3030 }
3031 .btn:active,
3032 .btn.active {
3033 outline: 0;
3034 background-image: none;
3035 -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
3036 box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
3037 }
3038 .btn.disabled,
3039 .btn[disabled],
3040 fieldset[disabled] .btn {
3041 cursor: not-allowed;
3042 opacity: 0.65;
3043 filter: alpha(opacity=65);
3044 -webkit-box-shadow: none;
3045 box-shadow: none;
3046 }
3047 a.btn.disabled,
3048 fieldset[disabled] a.btn {
3049 pointer-events: none;
3050 }
3051 .btn-default {
3052 color: #333;
3053 background-color: #fff;
3054 border-color: #ccc;
3055 }
3056 .btn-default:focus,
3057 .btn-default.focus {
3058 color: #333;
3059 background-color: #e6e6e6;
3060 border-color: #8c8c8c;
3061 }
3062 .btn-default:hover {
3063 color: #333;
3064 background-color: #e6e6e6;
3065 border-color: #adadad;
3066 }
3067 .btn-default:active,
3068 .btn-default.active,
3069 .open > .dropdown-toggle.btn-default {
3070 color: #333;
3071 background-color: #e6e6e6;
3072 border-color: #adadad;
3073 }
3074 .btn-default:active:hover,
3075 .btn-default.active:hover,
3076 .open > .dropdown-toggle.btn-default:hover,
3077 .btn-default:active:focus,
3078 .btn-default.active:focus,
3079 .open > .dropdown-toggle.btn-default:focus,
3080 .btn-default:active.focus,
3081 .btn-default.active.focus,
3082 .open > .dropdown-toggle.btn-default.focus {
3083 color: #333;
3084 background-color: #d4d4d4;
3085 border-color: #8c8c8c;
3086 }
3087 .btn-default:active,
3088 .btn-default.active,
3089 .open > .dropdown-toggle.btn-default {
3090 background-image: none;
3091 }
3092 .btn-default.disabled:hover,
3093 .btn-default[disabled]:hover,
3094 fieldset[disabled] .btn-default:hover,
3095 .btn-default.disabled:focus,
3096 .btn-default[disabled]:focus,
3097 fieldset[disabled] .btn-default:focus,
3098 .btn-default.disabled.focus,
3099 .btn-default[disabled].focus,
3100 fieldset[disabled] .btn-default.focus {
3101 background-color: #fff;
3102 border-color: #ccc;
3103 }
3104 .btn-default .badge {
3105 color: #fff;
3106 background-color: #333;
3107 }
3108 .btn-primary {
3109 color: #fff;
3110 background-color: #337ab7;
3111 border-color: #2e6da4;
3112 }
3113 .btn-primary:focus,
3114 .btn-primary.focus {
3115 color: #fff;
3116 background-color: #286090;
3117 border-color: #122b40;
3118 }
3119 .btn-primary:hover {
3120 color: #fff;
3121 background-color: #286090;
3122 border-color: #204d74;
3123 }
3124 .btn-primary:active,
3125 .btn-primary.active,
3126 .open > .dropdown-toggle.btn-primary {
3127 color: #fff;
3128 background-color: #286090;
3129 border-color: #204d74;
3130 }
3131 .btn-primary:active:hover,
3132 .btn-primary.active:hover,
3133 .open > .dropdown-toggle.btn-primary:hover,
3134 .btn-primary:active:focus,
3135 .btn-primary.active:focus,
3136 .open > .dropdown-toggle.btn-primary:focus,
3137 .btn-primary:active.focus,
3138 .btn-primary.active.focus,
3139 .open > .dropdown-toggle.btn-primary.focus {
3140 color: #fff;
3141 background-color: #204d74;
3142 border-color: #122b40;
3143 }
3144 .btn-primary:active,
3145 .btn-primary.active,
3146 .open > .dropdown-toggle.btn-primary {
3147 background-image: none;
3148 }
3149 .btn-primary.disabled:hover,
3150 .btn-primary[disabled]:hover,
3151 fieldset[disabled] .btn-primary:hover,
3152 .btn-primary.disabled:focus,
3153 .btn-primary[disabled]:focus,
3154 fieldset[disabled] .btn-primary:focus,
3155 .btn-primary.disabled.focus,
3156 .btn-primary[disabled].focus,
3157 fieldset[disabled] .btn-primary.focus {
3158 background-color: #337ab7;
3159 border-color: #2e6da4;
3160 }
3161 .btn-primary .badge {
3162 color: #337ab7;
3163 background-color: #fff;
3164 }
3165 .btn-success {
3166 color: #fff;
3167 background-color: #5cb85c;
3168 border-color: #4cae4c;
3169 }
3170 .btn-success:focus,
3171 .btn-success.focus {
3172 color: #fff;
3173 background-color: #449d44;
3174 border-color: #255625;
3175 }
3176 .btn-success:hover {
3177 color: #fff;
3178 background-color: #449d44;
3179 border-color: #398439;
3180 }
3181 .btn-success:active,
3182 .btn-success.active,
3183 .open > .dropdown-toggle.btn-success {
3184 color: #fff;
3185 background-color: #449d44;
3186 border-color: #398439;
3187 }
3188 .btn-success:active:hover,
3189 .btn-success.active:hover,
3190 .open > .dropdown-toggle.btn-success:hover,
3191 .btn-success:active:focus,
3192 .btn-success.active:focus,
3193 .open > .dropdown-toggle.btn-success:focus,
3194 .btn-success:active.focus,
3195 .btn-success.active.focus,
3196 .open > .dropdown-toggle.btn-success.focus {
3197 color: #fff;
3198 background-color: #398439;
3199 border-color: #255625;
3200 }
3201 .btn-success:active,
3202 .btn-success.active,
3203 .open > .dropdown-toggle.btn-success {
3204 background-image: none;
3205 }
3206 .btn-success.disabled:hover,
3207 .btn-success[disabled]:hover,
3208 fieldset[disabled] .btn-success:hover,
3209 .btn-success.disabled:focus,
3210 .btn-success[disabled]:focus,
3211 fieldset[disabled] .btn-success:focus,
3212 .btn-success.disabled.focus,
3213 .btn-success[disabled].focus,
3214 fieldset[disabled] .btn-success.focus {
3215 background-color: #5cb85c;
3216 border-color: #4cae4c;
3217 }
3218 .btn-success .badge {
3219 color: #5cb85c;
3220 background-color: #fff;
3221 }
3222 .btn-info {
3223 color: #fff;
3224 background-color: #5bc0de;
3225 border-color: #46b8da;
3226 }
3227 .btn-info:focus,
3228 .btn-info.focus {
3229 color: #fff;
3230 background-color: #31b0d5;
3231 border-color: #1b6d85;
3232 }
3233 .btn-info:hover {
3234 color: #fff;
3235 background-color: #31b0d5;
3236 border-color: #269abc;
3237 }
3238 .btn-info:active,
3239 .btn-info.active,
3240 .open > .dropdown-toggle.btn-info {
3241 color: #fff;
3242 background-color: #31b0d5;
3243 border-color: #269abc;
3244 }
3245 .btn-info:active:hover,
3246 .btn-info.active:hover,
3247 .open > .dropdown-toggle.btn-info:hover,
3248 .btn-info:active:focus,
3249 .btn-info.active:focus,
3250 .open > .dropdown-toggle.btn-info:focus,
3251 .btn-info:active.focus,
3252 .btn-info.active.focus,
3253 .open > .dropdown-toggle.btn-info.focus {
3254 color: #fff;
3255 background-color: #269abc;
3256 border-color: #1b6d85;
3257 }
3258 .btn-info:active,
3259 .btn-info.active,
3260 .open > .dropdown-toggle.btn-info {
3261 background-image: none;
3262 }
3263 .btn-info.disabled:hover,
3264 .btn-info[disabled]:hover,
3265 fieldset[disabled] .btn-info:hover,
3266 .btn-info.disabled:focus,
3267 .btn-info[disabled]:focus,
3268 fieldset[disabled] .btn-info:focus,
3269 .btn-info.disabled.focus,
3270 .btn-info[disabled].focus,
3271 fieldset[disabled] .btn-info.focus {
3272 background-color: #5bc0de;
3273 border-color: #46b8da;
3274 }
3275 .btn-info .badge {
3276 color: #5bc0de;
3277 background-color: #fff;
3278 }
3279 .btn-warning {
3280 color: #fff;
3281 background-color: #f0ad4e;
3282 border-color: #eea236;
3283 }
3284 .btn-warning:focus,
3285 .btn-warning.focus {
3286 color: #fff;
3287 background-color: #ec971f;
3288 border-color: #985f0d;
3289 }
3290 .btn-warning:hover {
3291 color: #fff;
3292 background-color: #ec971f;
3293 border-color: #d58512;
3294 }
3295 .btn-warning:active,
3296 .btn-warning.active,
3297 .open > .dropdown-toggle.btn-warning {
3298 color: #fff;
3299 background-color: #ec971f;
3300 border-color: #d58512;
3301 }
3302 .btn-warning:active:hover,
3303 .btn-warning.active:hover,
3304 .open > .dropdown-toggle.btn-warning:hover,
3305 .btn-warning:active:focus,
3306 .btn-warning.active:focus,
3307 .open > .dropdown-toggle.btn-warning:focus,
3308 .btn-warning:active.focus,
3309 .btn-warning.active.focus,
3310 .open > .dropdown-toggle.btn-warning.focus {
3311 color: #fff;
3312 background-color: #d58512;
3313 border-color: #985f0d;
3314 }
3315 .btn-warning:active,
3316 .btn-warning.active,
3317 .open > .dropdown-toggle.btn-warning {
3318 background-image: none;
3319 }
3320 .btn-warning.disabled:hover,
3321 .btn-warning[disabled]:hover,
3322 fieldset[disabled] .btn-warning:hover,
3323 .btn-warning.disabled:focus,
3324 .btn-warning[disabled]:focus,
3325 fieldset[disabled] .btn-warning:focus,
3326 .btn-warning.disabled.focus,
3327 .btn-warning[disabled].focus,
3328 fieldset[disabled] .btn-warning.focus {
3329 background-color: #f0ad4e;
3330 border-color: #eea236;
3331 }
3332 .btn-warning .badge {
3333 color: #f0ad4e;
3334 background-color: #fff;
3335 }
3336 .btn-danger {
3337 color: #fff;
3338 background-color: #d9534f;
3339 border-color: #d43f3a;
3340 }
3341 .btn-danger:focus,
3342 .btn-danger.focus {
3343 color: #fff;
3344 background-color: #c9302c;
3345 border-color: #761c19;
3346 }
3347 .btn-danger:hover {
3348 color: #fff;
3349 background-color: #c9302c;
3350 border-color: #ac2925;
3351 }
3352 .btn-danger:active,
3353 .btn-danger.active,
3354 .open > .dropdown-toggle.btn-danger {
3355 color: #fff;
3356 background-color: #c9302c;
3357 border-color: #ac2925;
3358 }
3359 .btn-danger:active:hover,
3360 .btn-danger.active:hover,
3361 .open > .dropdown-toggle.btn-danger:hover,
3362 .btn-danger:active:focus,
3363 .btn-danger.active:focus,
3364 .open > .dropdown-toggle.btn-danger:focus,
3365 .btn-danger:active.focus,
3366 .btn-danger.active.focus,
3367 .open > .dropdown-toggle.btn-danger.focus {
3368 color: #fff;
3369 background-color: #ac2925;
3370 border-color: #761c19;
3371 }
3372 .btn-danger:active,
3373 .btn-danger.active,
3374 .open > .dropdown-toggle.btn-danger {
3375 background-image: none;
3376 }
3377 .btn-danger.disabled:hover,
3378 .btn-danger[disabled]:hover,
3379 fieldset[disabled] .btn-danger:hover,
3380 .btn-danger.disabled:focus,
3381 .btn-danger[disabled]:focus,
3382 fieldset[disabled] .btn-danger:focus,
3383 .btn-danger.disabled.focus,
3384 .btn-danger[disabled].focus,
3385 fieldset[disabled] .btn-danger.focus {
3386 background-color: #d9534f;
3387 border-color: #d43f3a;
3388 }
3389 .btn-danger .badge {
3390 color: #d9534f;
3391 background-color: #fff;
3392 }
3393 .btn-link {
3394 color: #337ab7;
3395 font-weight: normal;
3396 border-radius: 0;
3397 }
3398 .btn-link,
3399 .btn-link:active,
3400 .btn-link.active,
3401 .btn-link[disabled],
3402 fieldset[disabled] .btn-link {
3403 background-color: transparent;
3404 -webkit-box-shadow: none;
3405 box-shadow: none;
3406 }
3407 .btn-link,
3408 .btn-link:hover,
3409 .btn-link:focus,
3410 .btn-link:active {
3411 border-color: transparent;
3412 }
3413 .btn-link:hover,
3414 .btn-link:focus {
3415 color: #23527c;
3416 text-decoration: underline;
3417 background-color: transparent;
3418 }
3419 .btn-link[disabled]:hover,
3420 fieldset[disabled] .btn-link:hover,
3421 .btn-link[disabled]:focus,
3422 fieldset[disabled] .btn-link:focus {
3423 color: #777777;
3424 text-decoration: none;
3425 }
3426 .btn-lg,
3427 .btn-group-lg > .btn {
3428 padding: 10px 16px;
3429 font-size: 17px;
3430 line-height: 1.3333333;
3431 border-radius: 3px;
3432 }
3433 .btn-sm,
3434 .btn-group-sm > .btn {
3435 padding: 5px 10px;
3436 font-size: 12px;
3437 line-height: 1.5;
3438 border-radius: 1px;
3439 }
3440 .btn-xs,
3441 .btn-group-xs > .btn {
3442 padding: 1px 5px;
3443 font-size: 12px;
3444 line-height: 1.5;
3445 border-radius: 1px;
3446 }
3447 .btn-block {
3448 display: block;
3449 width: 100%;
3450 }
3451 .btn-block + .btn-block {
3452 margin-top: 5px;
3453 }
3454 input[type="submit"].btn-block,
3455 input[type="reset"].btn-block,
3456 input[type="button"].btn-block {
3457 width: 100%;
3458 }
3459 .fade {
3460 opacity: 0;
3461 -webkit-transition: opacity 0.15s linear;
3462 -o-transition: opacity 0.15s linear;
3463 transition: opacity 0.15s linear;
3464 }
3465 .fade.in {
3466 opacity: 1;
3467 }
3468 .collapse {
3469 display: none;
3470 }
3471 .collapse.in {
3472 display: block;
3473 }
3474 tr.collapse.in {
3475 display: table-row;
3476 }
3477 tbody.collapse.in {
3478 display: table-row-group;
3479 }
3480 .collapsing {
3481 position: relative;
3482 height: 0;
3483 overflow: hidden;
3484 -webkit-transition-property: height, visibility;
3485 transition-property: height, visibility;
3486 -webkit-transition-duration: 0.35s;
3487 transition-duration: 0.35s;
3488 -webkit-transition-timing-function: ease;
3489 transition-timing-function: ease;
3490 }
3491 .caret {
3492 display: inline-block;
3493 width: 0;
3494 height: 0;
3495 margin-left: 2px;
3496 vertical-align: middle;
3497 border-top: 4px dashed;
3498 border-top: 4px solid \9;
3499 border-right: 4px solid transparent;
3500 border-left: 4px solid transparent;
3501 }
3502 .dropup,
3503 .dropdown {
3504 position: relative;
3505 }
3506 .dropdown-toggle:focus {
3507 outline: 0;
3508 }
3509 .dropdown-menu {
3510 position: absolute;
3511 top: 100%;
3512 left: 0;
3513 z-index: 1000;
3514 display: none;
3515 float: left;
3516 min-width: 160px;
3517 padding: 5px 0;
3518 margin: 2px 0 0;
3519 list-style: none;
3520 font-size: 13px;
3521 text-align: left;
3522 background-color: #fff;
3523 border: 1px solid #ccc;
3524 border: 1px solid rgba(0, 0, 0, 0.15);
3525 border-radius: 2px;
3526 -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
3527 box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
3528 background-clip: padding-box;
3529 }
3530 .dropdown-menu.pull-right {
3531 right: 0;
3532 left: auto;
3533 }
3534 .dropdown-menu .divider {
3535 height: 1px;
3536 margin: 8px 0;
3537 overflow: hidden;
3538 background-color: #e5e5e5;
3539 }
3540 .dropdown-menu > li > a {
3541 display: block;
3542 padding: 3px 20px;
3543 clear: both;
3544 font-weight: normal;
3545 line-height: 1.42857143;
3546 color: #333333;
3547 white-space: nowrap;
3548 }
3549 .dropdown-menu > li > a:hover,
3550 .dropdown-menu > li > a:focus {
3551 text-decoration: none;
3552 color: #262626;
3553 background-color: #f5f5f5;
3554 }
3555 .dropdown-menu > .active > a,
3556 .dropdown-menu > .active > a:hover,
3557 .dropdown-menu > .active > a:focus {
3558 color: #fff;
3559 text-decoration: none;
3560 outline: 0;
3561 background-color: #337ab7;
3562 }
3563 .dropdown-menu > .disabled > a,
3564 .dropdown-menu > .disabled > a:hover,
3565 .dropdown-menu > .disabled > a:focus {
3566 color: #777777;
3567 }
3568 .dropdown-menu > .disabled > a:hover,
3569 .dropdown-menu > .disabled > a:focus {
3570 text-decoration: none;
3571 background-color: transparent;
3572 background-image: none;
3573 filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
3574 cursor: not-allowed;
3575 }
3576 .open > .dropdown-menu {
3577 display: block;
3578 }
3579 .open > a {
3580 outline: 0;
3581 }
3582 .dropdown-menu-right {
3583 left: auto;
3584 right: 0;
3585 }
3586 .dropdown-menu-left {
3587 left: 0;
3588 right: auto;
3589 }
3590 .dropdown-header {
3591 display: block;
3592 padding: 3px 20px;
3593 font-size: 12px;
3594 line-height: 1.42857143;
3595 color: #777777;
3596 white-space: nowrap;
3597 }
3598 .dropdown-backdrop {
3599 position: fixed;
3600 left: 0;
3601 right: 0;
3602 bottom: 0;
3603 top: 0;
3604 z-index: 990;
3605 }
3606 .pull-right > .dropdown-menu {
3607 right: 0;
3608 left: auto;
3609 }
3610 .dropup .caret,
3611 .navbar-fixed-bottom .dropdown .caret {
3612 border-top: 0;
3613 border-bottom: 4px dashed;
3614 border-bottom: 4px solid \9;
3615 content: "";
3616 }
3617 .dropup .dropdown-menu,
3618 .navbar-fixed-bottom .dropdown .dropdown-menu {
3619 top: auto;
3620 bottom: 100%;
3621 margin-bottom: 2px;
3622 }
3623 @media (min-width: 541px) {
3624 .navbar-right .dropdown-menu {
3625 left: auto;
3626 right: 0;
3627 }
3628 .navbar-right .dropdown-menu-left {
3629 left: 0;
3630 right: auto;
3631 }
3632 }
3633 .btn-group,
3634 .btn-group-vertical {
3635 position: relative;
3636 display: inline-block;
3637 vertical-align: middle;
3638 }
3639 .btn-group > .btn,
3640 .btn-group-vertical > .btn {
3641 position: relative;
3642 float: left;
3643 }
3644 .btn-group > .btn:hover,
3645 .btn-group-vertical > .btn:hover,
3646 .btn-group > .btn:focus,
3647 .btn-group-vertical > .btn:focus,
3648 .btn-group > .btn:active,
3649 .btn-group-vertical > .btn:active,
3650 .btn-group > .btn.active,
3651 .btn-group-vertical > .btn.active {
3652 z-index: 2;
3653 }
3654 .btn-group .btn + .btn,
3655 .btn-group .btn + .btn-group,
3656 .btn-group .btn-group + .btn,
3657 .btn-group .btn-group + .btn-group {
3658 margin-left: -1px;
3659 }
3660 .btn-toolbar {
3661 margin-left: -5px;
3662 }
3663 .btn-toolbar .btn,
3664 .btn-toolbar .btn-group,
3665 .btn-toolbar .input-group {
3666 float: left;
3667 }
3668 .btn-toolbar > .btn,
3669 .btn-toolbar > .btn-group,
3670 .btn-toolbar > .input-group {
3671 margin-left: 5px;
3672 }
3673 .btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
3674 border-radius: 0;
3675 }
3676 .btn-group > .btn:first-child {
3677 margin-left: 0;
3678 }
3679 .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
3680 border-bottom-right-radius: 0;
3681 border-top-right-radius: 0;
3682 }
3683 .btn-group > .btn:last-child:not(:first-child),
3684 .btn-group > .dropdown-toggle:not(:first-child) {
3685 border-bottom-left-radius: 0;
3686 border-top-left-radius: 0;
3687 }
3688 .btn-group > .btn-group {
3689 float: left;
3690 }
3691 .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
3692 border-radius: 0;
3693 }
3694 .btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,
3695 .btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
3696 border-bottom-right-radius: 0;
3697 border-top-right-radius: 0;
3698 }
3699 .btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
3700 border-bottom-left-radius: 0;
3701 border-top-left-radius: 0;
3702 }
3703 .btn-group .dropdown-toggle:active,
3704 .btn-group.open .dropdown-toggle {
3705 outline: 0;
3706 }
3707 .btn-group > .btn + .dropdown-toggle {
3708 padding-left: 8px;
3709 padding-right: 8px;
3710 }
3711 .btn-group > .btn-lg + .dropdown-toggle {
3712 padding-left: 12px;
3713 padding-right: 12px;
3714 }
3715 .btn-group.open .dropdown-toggle {
3716 -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
3717 box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
3718 }
3719 .btn-group.open .dropdown-toggle.btn-link {
3720 -webkit-box-shadow: none;
3721 box-shadow: none;
3722 }
3723 .btn .caret {
3724 margin-left: 0;
3725 }
3726 .btn-lg .caret {
3727 border-width: 5px 5px 0;
3728 border-bottom-width: 0;
3729 }
3730 .dropup .btn-lg .caret {
3731 border-width: 0 5px 5px;
3732 }
3733 .btn-group-vertical > .btn,
3734 .btn-group-vertical > .btn-group,
3735 .btn-group-vertical > .btn-group > .btn {
3736 display: block;
3737 float: none;
3738 width: 100%;
3739 max-width: 100%;
3740 }
3741 .btn-group-vertical > .btn-group > .btn {
3742 float: none;
3743 }
3744 .btn-group-vertical > .btn + .btn,
3745 .btn-group-vertical > .btn + .btn-group,
3746 .btn-group-vertical > .btn-group + .btn,
3747 .btn-group-vertical > .btn-group + .btn-group {
3748 margin-top: -1px;
3749 margin-left: 0;
3750 }
3751 .btn-group-vertical > .btn:not(:first-child):not(:last-child) {
3752 border-radius: 0;
3753 }
3754 .btn-group-vertical > .btn:first-child:not(:last-child) {
3755 border-top-right-radius: 2px;
3756 border-top-left-radius: 2px;
3757 border-bottom-right-radius: 0;
3758 border-bottom-left-radius: 0;
3759 }
3760 .btn-group-vertical > .btn:last-child:not(:first-child) {
3761 border-top-right-radius: 0;
3762 border-top-left-radius: 0;
3763 border-bottom-right-radius: 2px;
3764 border-bottom-left-radius: 2px;
3765 }
3766 .btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
3767 border-radius: 0;
3768 }
3769 .btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,
3770 .btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
3771 border-bottom-right-radius: 0;
3772 border-bottom-left-radius: 0;
3773 }
3774 .btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
3775 border-top-right-radius: 0;
3776 border-top-left-radius: 0;
3777 }
3778 .btn-group-justified {
3779 display: table;
3780 width: 100%;
3781 table-layout: fixed;
3782 border-collapse: separate;
3783 }
3784 .btn-group-justified > .btn,
3785 .btn-group-justified > .btn-group {
3786 float: none;
3787 display: table-cell;
3788 width: 1%;
3789 }
3790 .btn-group-justified > .btn-group .btn {
3791 width: 100%;
3792 }
3793 .btn-group-justified > .btn-group .dropdown-menu {
3794 left: auto;
3795 }
3796 [data-toggle="buttons"] > .btn input[type="radio"],
3797 [data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
3798 [data-toggle="buttons"] > .btn input[type="checkbox"],
3799 [data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
3800 position: absolute;
3801 clip: rect(0, 0, 0, 0);
3802 pointer-events: none;
3803 }
3804 .input-group {
3805 position: relative;
3806 display: table;
3807 border-collapse: separate;
3808 }
3809 .input-group[class*="col-"] {
3810 float: none;
3811 padding-left: 0;
3812 padding-right: 0;
3813 }
3814 .input-group .form-control {
3815 position: relative;
3816 z-index: 2;
3817 float: left;
3818 width: 100%;
3819 margin-bottom: 0;
3820 }
3821 .input-group .form-control:focus {
3822 z-index: 3;
3823 }
3824 .input-group-lg > .form-control,
3825 .input-group-lg > .input-group-addon,
3826 .input-group-lg > .input-group-btn > .btn {
3827 height: 45px;
3828 padding: 10px 16px;
3829 font-size: 17px;
3830 line-height: 1.3333333;
3831 border-radius: 3px;
3832 }
3833 select.input-group-lg > .form-control,
3834 select.input-group-lg > .input-group-addon,
3835 select.input-group-lg > .input-group-btn > .btn {
3836 height: 45px;
3837 line-height: 45px;
3838 }
3839 textarea.input-group-lg > .form-control,
3840 textarea.input-group-lg > .input-group-addon,
3841 textarea.input-group-lg > .input-group-btn > .btn,
3842 select[multiple].input-group-lg > .form-control,
3843 select[multiple].input-group-lg > .input-group-addon,
3844 select[multiple].input-group-lg > .input-group-btn > .btn {
3845 height: auto;
3846 }
3847 .input-group-sm > .form-control,
3848 .input-group-sm > .input-group-addon,
3849 .input-group-sm > .input-group-btn > .btn {
3850 height: 30px;
3851 padding: 5px 10px;
3852 font-size: 12px;
3853 line-height: 1.5;
3854 border-radius: 1px;
3855 }
3856 select.input-group-sm > .form-control,
3857 select.input-group-sm > .input-group-addon,
3858 select.input-group-sm > .input-group-btn > .btn {
3859 height: 30px;
3860 line-height: 30px;
3861 }
3862 textarea.input-group-sm > .form-control,
3863 textarea.input-group-sm > .input-group-addon,
3864 textarea.input-group-sm > .input-group-btn > .btn,
3865 select[multiple].input-group-sm > .form-control,
3866 select[multiple].input-group-sm > .input-group-addon,
3867 select[multiple].input-group-sm > .input-group-btn > .btn {
3868 height: auto;
3869 }
3870 .input-group-addon,
3871 .input-group-btn,
3872 .input-group .form-control {
3873 display: table-cell;
3874 }
3875 .input-group-addon:not(:first-child):not(:last-child),
3876 .input-group-btn:not(:first-child):not(:last-child),
3877 .input-group .form-control:not(:first-child):not(:last-child) {
3878 border-radius: 0;
3879 }
3880 .input-group-addon,
3881 .input-group-btn {
3882 width: 1%;
3883 white-space: nowrap;
3884 vertical-align: middle;
3885 }
3886 .input-group-addon {
3887 padding: 6px 12px;
3888 font-size: 13px;
3889 font-weight: normal;
3890 line-height: 1;
3891 color: #555555;
3892 text-align: center;
3893 background-color: #eeeeee;
3894 border: 1px solid #ccc;
3895 border-radius: 2px;
3896 }
3897 .input-group-addon.input-sm {
3898 padding: 5px 10px;
3899 font-size: 12px;
3900 border-radius: 1px;
3901 }
3902 .input-group-addon.input-lg {
3903 padding: 10px 16px;
3904 font-size: 17px;
3905 border-radius: 3px;
3906 }
3907 .input-group-addon input[type="radio"],
3908 .input-group-addon input[type="checkbox"] {
3909 margin-top: 0;
3910 }
3911 .input-group .form-control:first-child,
3912 .input-group-addon:first-child,
3913 .input-group-btn:first-child > .btn,
3914 .input-group-btn:first-child > .btn-group > .btn,
3915 .input-group-btn:first-child > .dropdown-toggle,
3916 .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
3917 .input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
3918 border-bottom-right-radius: 0;
3919 border-top-right-radius: 0;
3920 }
3921 .input-group-addon:first-child {
3922 border-right: 0;
3923 }
3924 .input-group .form-control:last-child,
3925 .input-group-addon:last-child,
3926 .input-group-btn:last-child > .btn,
3927 .input-group-btn:last-child > .btn-group > .btn,
3928 .input-group-btn:last-child > .dropdown-toggle,
3929 .input-group-btn:first-child > .btn:not(:first-child),
3930 .input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
3931 border-bottom-left-radius: 0;
3932 border-top-left-radius: 0;
3933 }
3934 .input-group-addon:last-child {
3935 border-left: 0;
3936 }
3937 .input-group-btn {
3938 position: relative;
3939 font-size: 0;
3940 white-space: nowrap;
3941 }
3942 .input-group-btn > .btn {
3943 position: relative;
3944 }
3945 .input-group-btn > .btn + .btn {
3946 margin-left: -1px;
3947 }
3948 .input-group-btn > .btn:hover,
3949 .input-group-btn > .btn:focus,
3950 .input-group-btn > .btn:active {
3951 z-index: 2;
3952 }
3953 .input-group-btn:first-child > .btn,
3954 .input-group-btn:first-child > .btn-group {
3955 margin-right: -1px;
3956 }
3957 .input-group-btn:last-child > .btn,
3958 .input-group-btn:last-child > .btn-group {
3959 z-index: 2;
3960 margin-left: -1px;
3961 }
3962 .nav {
3963 margin-bottom: 0;
3964 padding-left: 0;
3965 list-style: none;
3966 }
3967 .nav > li {
3968 position: relative;
3969 display: block;
3970 }
3971 .nav > li > a {
3972 position: relative;
3973 display: block;
3974 padding: 10px 15px;
3975 }
3976 .nav > li > a:hover,
3977 .nav > li > a:focus {
3978 text-decoration: none;
3979 background-color: #eeeeee;
3980 }
3981 .nav > li.disabled > a {
3982 color: #777777;
3983 }
3984 .nav > li.disabled > a:hover,
3985 .nav > li.disabled > a:focus {
3986 color: #777777;
3987 text-decoration: none;
3988 background-color: transparent;
3989 cursor: not-allowed;
3990 }
3991 .nav .open > a,
3992 .nav .open > a:hover,
3993 .nav .open > a:focus {
3994 background-color: #eeeeee;
3995 border-color: #337ab7;
3996 }
3997 .nav .nav-divider {
3998 height: 1px;
3999 margin: 8px 0;
4000 overflow: hidden;
4001 background-color: #e5e5e5;
4002 }
4003 .nav > li > a > img {
4004 max-width: none;
4005 }
4006 .nav-tabs {
4007 border-bottom: 1px solid #ddd;
4008 }
4009 .nav-tabs > li {
4010 float: left;
4011 margin-bottom: -1px;
4012 }
4013 .nav-tabs > li > a {
4014 margin-right: 2px;
4015 line-height: 1.42857143;
4016 border: 1px solid transparent;
4017 border-radius: 2px 2px 0 0;
4018 }
4019 .nav-tabs > li > a:hover {
4020 border-color: #eeeeee #eeeeee #ddd;
4021 }
4022 .nav-tabs > li.active > a,
4023 .nav-tabs > li.active > a:hover,
4024 .nav-tabs > li.active > a:focus {
4025 color: #555555;
4026 background-color: #fff;
4027 border: 1px solid #ddd;
4028 border-bottom-color: transparent;
4029 cursor: default;
4030 }
4031 .nav-tabs.nav-justified {
4032 width: 100%;
4033 border-bottom: 0;
4034 }
4035 .nav-tabs.nav-justified > li {
4036 float: none;
4037 }
4038 .nav-tabs.nav-justified > li > a {
4039 text-align: center;
4040 margin-bottom: 5px;
4041 }
4042 .nav-tabs.nav-justified > .dropdown .dropdown-menu {
4043 top: auto;
4044 left: auto;
4045 }
4046 @media (min-width: 768px) {
4047 .nav-tabs.nav-justified > li {
4048 display: table-cell;
4049 width: 1%;
4050 }
4051 .nav-tabs.nav-justified > li > a {
4052 margin-bottom: 0;
4053 }
4054 }
4055 .nav-tabs.nav-justified > li > a {
4056 margin-right: 0;
4057 border-radius: 2px;
4058 }
4059 .nav-tabs.nav-justified > .active > a,
4060 .nav-tabs.nav-justified > .active > a:hover,
4061 .nav-tabs.nav-justified > .active > a:focus {
4062 border: 1px solid #ddd;
4063 }
4064 @media (min-width: 768px) {
4065 .nav-tabs.nav-justified > li > a {
4066 border-bottom: 1px solid #ddd;
4067 border-radius: 2px 2px 0 0;
4068 }
4069 .nav-tabs.nav-justified > .active > a,
4070 .nav-tabs.nav-justified > .active > a:hover,
4071 .nav-tabs.nav-justified > .active > a:focus {
4072 border-bottom-color: #fff;
4073 }
4074 }
4075 .nav-pills > li {
4076 float: left;
4077 }
4078 .nav-pills > li > a {
4079 border-radius: 2px;
4080 }
4081 .nav-pills > li + li {
4082 margin-left: 2px;
4083 }
4084 .nav-pills > li.active > a,
4085 .nav-pills > li.active > a:hover,
4086 .nav-pills > li.active > a:focus {
4087 color: #fff;
4088 background-color: #337ab7;
4089 }
4090 .nav-stacked > li {
4091 float: none;
4092 }
4093 .nav-stacked > li + li {
4094 margin-top: 2px;
4095 margin-left: 0;
4096 }
4097 .nav-justified {
4098 width: 100%;
4099 }
4100 .nav-justified > li {
4101 float: none;
4102 }
4103 .nav-justified > li > a {
4104 text-align: center;
4105 margin-bottom: 5px;
4106 }
4107 .nav-justified > .dropdown .dropdown-menu {
4108 top: auto;
4109 left: auto;
4110 }
4111 @media (min-width: 768px) {
4112 .nav-justified > li {
4113 display: table-cell;
4114 width: 1%;
4115 }
4116 .nav-justified > li > a {
4117 margin-bottom: 0;
4118 }
4119 }
4120 .nav-tabs-justified {
4121 border-bottom: 0;
4122 }
4123 .nav-tabs-justified > li > a {
4124 margin-right: 0;
4125 border-radius: 2px;
4126 }
4127 .nav-tabs-justified > .active > a,
4128 .nav-tabs-justified > .active > a:hover,
4129 .nav-tabs-justified > .active > a:focus {
4130 border: 1px solid #ddd;
4131 }
4132 @media (min-width: 768px) {
4133 .nav-tabs-justified > li > a {
4134 border-bottom: 1px solid #ddd;
4135 border-radius: 2px 2px 0 0;
4136 }
4137 .nav-tabs-justified > .active > a,
4138 .nav-tabs-justified > .active > a:hover,
4139 .nav-tabs-justified > .active > a:focus {
4140 border-bottom-color: #fff;
4141 }
4142 }
4143 .tab-content > .tab-pane {
4144 display: none;
4145 }
4146 .tab-content > .active {
4147 display: block;
4148 }
4149 .nav-tabs .dropdown-menu {
4150 margin-top: -1px;
4151 border-top-right-radius: 0;
4152 border-top-left-radius: 0;
4153 }
4154 .navbar {
4155 position: relative;
4156 min-height: 30px;
4157 margin-bottom: 18px;
4158 border: 1px solid transparent;
4159 }
4160 @media (min-width: 541px) {
4161 .navbar {
4162 border-radius: 2px;
4163 }
4164 }
4165 @media (min-width: 541px) {
4166 .navbar-header {
4167 float: left;
4168 }
4169 }
4170 .navbar-collapse {
4171 overflow-x: visible;
4172 padding-right: 0px;
4173 padding-left: 0px;
4174 border-top: 1px solid transparent;
4175 box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
4176 -webkit-overflow-scrolling: touch;
4177 }
4178 .navbar-collapse.in {
4179 overflow-y: auto;
4180 }
4181 @media (min-width: 541px) {
4182 .navbar-collapse {
4183 width: auto;
4184 border-top: 0;
4185 box-shadow: none;
4186 }
4187 .navbar-collapse.collapse {
4188 display: block !important;
4189 height: auto !important;
4190 padding-bottom: 0;
4191 overflow: visible !important;
4192 }
4193 .navbar-collapse.in {
4194 overflow-y: visible;
4195 }
4196 .navbar-fixed-top .navbar-collapse,
4197 .navbar-static-top .navbar-collapse,
4198 .navbar-fixed-bottom .navbar-collapse {
4199 padding-left: 0;
4200 padding-right: 0;
4201 }
4202 }
4203 .navbar-fixed-top .navbar-collapse,
4204 .navbar-fixed-bottom .navbar-collapse {
4205 max-height: 340px;
4206 }
4207 @media (max-device-width: 540px) and (orientation: landscape) {
4208 .navbar-fixed-top .navbar-collapse,
4209 .navbar-fixed-bottom .navbar-collapse {
4210 max-height: 200px;
4211 }
4212 }
4213 .container > .navbar-header,
4214 .container-fluid > .navbar-header,
4215 .container > .navbar-collapse,
4216 .container-fluid > .navbar-collapse {
4217 margin-right: 0px;
4218 margin-left: 0px;
4219 }
4220 @media (min-width: 541px) {
4221 .container > .navbar-header,
4222 .container-fluid > .navbar-header,
4223 .container > .navbar-collapse,
4224 .container-fluid > .navbar-collapse {
4225 margin-right: 0;
4226 margin-left: 0;
4227 }
4228 }
4229 .navbar-static-top {
4230 z-index: 1000;
4231 border-width: 0 0 1px;
4232 }
4233 @media (min-width: 541px) {
4234 .navbar-static-top {
4235 border-radius: 0;
4236 }
4237 }
4238 .navbar-fixed-top,
4239 .navbar-fixed-bottom {
4240 position: fixed;
4241 right: 0;
4242 left: 0;
4243 z-index: 1030;
4244 }
4245 @media (min-width: 541px) {
4246 .navbar-fixed-top,
4247 .navbar-fixed-bottom {
4248 border-radius: 0;
4249 }
4250 }
4251 .navbar-fixed-top {
4252 top: 0;
4253 border-width: 0 0 1px;
4254 }
4255 .navbar-fixed-bottom {
4256 bottom: 0;
4257 margin-bottom: 0;
4258 border-width: 1px 0 0;
4259 }
4260 .navbar-brand {
4261 float: left;
4262 padding: 6px 0px;
4263 font-size: 17px;
4264 line-height: 18px;
4265 height: 30px;
4266 }
4267 .navbar-brand:hover,
4268 .navbar-brand:focus {
4269 text-decoration: none;
4270 }
4271 .navbar-brand > img {
4272 display: block;
4273 }
4274 @media (min-width: 541px) {
4275 .navbar > .container .navbar-brand,
4276 .navbar > .container-fluid .navbar-brand {
4277 margin-left: 0px;
4278 }
4279 }
4280 .navbar-toggle {
4281 position: relative;
4282 float: right;
4283 margin-right: 0px;
4284 padding: 9px 10px;
4285 margin-top: -2px;
4286 margin-bottom: -2px;
4287 background-color: transparent;
4288 background-image: none;
4289 border: 1px solid transparent;
4290 border-radius: 2px;
4291 }
4292 .navbar-toggle:focus {
4293 outline: 0;
4294 }
4295 .navbar-toggle .icon-bar {
4296 display: block;
4297 width: 22px;
4298 height: 2px;
4299 border-radius: 1px;
4300 }
4301 .navbar-toggle .icon-bar + .icon-bar {
4302 margin-top: 4px;
4303 }
4304 @media (min-width: 541px) {
4305 .navbar-toggle {
4306 display: none;
4307 }
4308 }
4309 .navbar-nav {
4310 margin: 3px 0px;
4311 }
4312 .navbar-nav > li > a {
4313 padding-top: 10px;
4314 padding-bottom: 10px;
4315 line-height: 18px;
4316 }
4317 @media (max-width: 540px) {
4318 .navbar-nav .open .dropdown-menu {
4319 position: static;
4320 float: none;
4321 width: auto;
4322 margin-top: 0;
4323 background-color: transparent;
4324 border: 0;
4325 box-shadow: none;
4326 }
4327 .navbar-nav .open .dropdown-menu > li > a,
4328 .navbar-nav .open .dropdown-menu .dropdown-header {
4329 padding: 5px 15px 5px 25px;
4330 }
4331 .navbar-nav .open .dropdown-menu > li > a {
4332 line-height: 18px;
4333 }
4334 .navbar-nav .open .dropdown-menu > li > a:hover,
4335 .navbar-nav .open .dropdown-menu > li > a:focus {
4336 background-image: none;
4337 }
4338 }
4339 @media (min-width: 541px) {
4340 .navbar-nav {
4341 float: left;
4342 margin: 0;
4343 }
4344 .navbar-nav > li {
4345 float: left;
4346 }
4347 .navbar-nav > li > a {
4348 padding-top: 6px;
4349 padding-bottom: 6px;
4350 }
4351 }
4352 .navbar-form {
4353 margin-left: 0px;
4354 margin-right: 0px;
4355 padding: 10px 0px;
4356 border-top: 1px solid transparent;
4357 border-bottom: 1px solid transparent;
4358 -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
4359 box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
4360 margin-top: -1px;
4361 margin-bottom: -1px;
4362 }
4363 @media (min-width: 768px) {
4364 .navbar-form .form-group {
4365 display: inline-block;
4366 margin-bottom: 0;
4367 vertical-align: middle;
4368 }
4369 .navbar-form .form-control {
4370 display: inline-block;
4371 width: auto;
4372 vertical-align: middle;
4373 }
4374 .navbar-form .form-control-static {
4375 display: inline-block;
4376 }
4377 .navbar-form .input-group {
4378 display: inline-table;
4379 vertical-align: middle;
4380 }
4381 .navbar-form .input-group .input-group-addon,
4382 .navbar-form .input-group .input-group-btn,
4383 .navbar-form .input-group .form-control {
4384 width: auto;
4385 }
4386 .navbar-form .input-group > .form-control {
4387 width: 100%;
4388 }
4389 .navbar-form .control-label {
4390 margin-bottom: 0;
4391 vertical-align: middle;
4392 }
4393 .navbar-form .radio,
4394 .navbar-form .checkbox {
4395 display: inline-block;
4396 margin-top: 0;
4397 margin-bottom: 0;
4398 vertical-align: middle;
4399 }
4400 .navbar-form .radio label,
4401 .navbar-form .checkbox label {
4402 padding-left: 0;
4403 }
4404 .navbar-form .radio input[type="radio"],
4405 .navbar-form .checkbox input[type="checkbox"] {
4406 position: relative;
4407 margin-left: 0;
4408 }
4409 .navbar-form .has-feedback .form-control-feedback {
4410 top: 0;
4411 }
4412 }
4413 @media (max-width: 540px) {
4414 .navbar-form .form-group {
4415 margin-bottom: 5px;
4416 }
4417 .navbar-form .form-group:last-child {
4418 margin-bottom: 0;
4419 }
4420 }
4421 @media (min-width: 541px) {
4422 .navbar-form {
4423 width: auto;
4424 border: 0;
4425 margin-left: 0;
4426 margin-right: 0;
4427 padding-top: 0;
4428 padding-bottom: 0;
4429 -webkit-box-shadow: none;
4430 box-shadow: none;
4431 }
4432 }
4433 .navbar-nav > li > .dropdown-menu {
4434 margin-top: 0;
4435 border-top-right-radius: 0;
4436 border-top-left-radius: 0;
4437 }
4438 .navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
4439 margin-bottom: 0;
4440 border-top-right-radius: 2px;
4441 border-top-left-radius: 2px;
4442 border-bottom-right-radius: 0;
4443 border-bottom-left-radius: 0;
4444 }
4445 .navbar-btn {
4446 margin-top: -1px;
4447 margin-bottom: -1px;
4448 }
4449 .navbar-btn.btn-sm {
4450 margin-top: 0px;
4451 margin-bottom: 0px;
4452 }
4453 .navbar-btn.btn-xs {
4454 margin-top: 4px;
4455 margin-bottom: 4px;
4456 }
4457 .navbar-text {
4458 margin-top: 6px;
4459 margin-bottom: 6px;
4460 }
4461 @media (min-width: 541px) {
4462 .navbar-text {
4463 float: left;
4464 margin-left: 0px;
4465 margin-right: 0px;
4466 }
4467 }
4468 @media (min-width: 541px) {
4469 .navbar-left {
4470 float: left !important;
4471 float: left;
4472 }
4473 .navbar-right {
4474 float: right !important;
4475 float: right;
4476 margin-right: 0px;
4477 }
4478 .navbar-right ~ .navbar-right {
4479 margin-right: 0;
4480 }
4481 }
4482 .navbar-default {
4483 background-color: #f8f8f8;
4484 border-color: #e7e7e7;
4485 }
4486 .navbar-default .navbar-brand {
4487 color: #777;
4488 }
4489 .navbar-default .navbar-brand:hover,
4490 .navbar-default .navbar-brand:focus {
4491 color: #5e5e5e;
4492 background-color: transparent;
4493 }
4494 .navbar-default .navbar-text {
4495 color: #777;
4496 }
4497 .navbar-default .navbar-nav > li > a {
4498 color: #777;
4499 }
4500 .navbar-default .navbar-nav > li > a:hover,
4501 .navbar-default .navbar-nav > li > a:focus {
4502 color: #333;
4503 background-color: transparent;
4504 }
4505 .navbar-default .navbar-nav > .active > a,
4506 .navbar-default .navbar-nav > .active > a:hover,
4507 .navbar-default .navbar-nav > .active > a:focus {
4508 color: #555;
4509 background-color: #e7e7e7;
4510 }
4511 .navbar-default .navbar-nav > .disabled > a,
4512 .navbar-default .navbar-nav > .disabled > a:hover,
4513 .navbar-default .navbar-nav > .disabled > a:focus {
4514 color: #ccc;
4515 background-color: transparent;
4516 }
4517 .navbar-default .navbar-toggle {
4518 border-color: #ddd;
4519 }
4520 .navbar-default .navbar-toggle:hover,
4521 .navbar-default .navbar-toggle:focus {
4522 background-color: #ddd;
4523 }
4524 .navbar-default .navbar-toggle .icon-bar {
4525 background-color: #888;
4526 }
4527 .navbar-default .navbar-collapse,
4528 .navbar-default .navbar-form {
4529 border-color: #e7e7e7;
4530 }
4531 .navbar-default .navbar-nav > .open > a,
4532 .navbar-default .navbar-nav > .open > a:hover,
4533 .navbar-default .navbar-nav > .open > a:focus {
4534 background-color: #e7e7e7;
4535 color: #555;
4536 }
4537 @media (max-width: 540px) {
4538 .navbar-default .navbar-nav .open .dropdown-menu > li > a {
4539 color: #777;
4540 }
4541 .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
4542 .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
4543 color: #333;
4544 background-color: transparent;
4545 }
4546 .navbar-default .navbar-nav .open .dropdown-menu > .active > a,
4547 .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
4548 .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
4549 color: #555;
4550 background-color: #e7e7e7;
4551 }
4552 .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,
4553 .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,
4554 .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
4555 color: #ccc;
4556 background-color: transparent;
4557 }
4558 }
4559 .navbar-default .navbar-link {
4560 color: #777;
4561 }
4562 .navbar-default .navbar-link:hover {
4563 color: #333;
4564 }
4565 .navbar-default .btn-link {
4566 color: #777;
4567 }
4568 .navbar-default .btn-link:hover,
4569 .navbar-default .btn-link:focus {
4570 color: #333;
4571 }
4572 .navbar-default .btn-link[disabled]:hover,
4573 fieldset[disabled] .navbar-default .btn-link:hover,
4574 .navbar-default .btn-link[disabled]:focus,
4575 fieldset[disabled] .navbar-default .btn-link:focus {
4576 color: #ccc;
4577 }
4578 .navbar-inverse {
4579 background-color: #222;
4580 border-color: #080808;
4581 }
4582 .navbar-inverse .navbar-brand {
4583 color: #9d9d9d;
4584 }
4585 .navbar-inverse .navbar-brand:hover,
4586 .navbar-inverse .navbar-brand:focus {
4587 color: #fff;
4588 background-color: transparent;
4589 }
4590 .navbar-inverse .navbar-text {
4591 color: #9d9d9d;
4592 }
4593 .navbar-inverse .navbar-nav > li > a {
4594 color: #9d9d9d;
4595 }
4596 .navbar-inverse .navbar-nav > li > a:hover,
4597 .navbar-inverse .navbar-nav > li > a:focus {
4598 color: #fff;
4599 background-color: transparent;
4600 }
4601 .navbar-inverse .navbar-nav > .active > a,
4602 .navbar-inverse .navbar-nav > .active > a:hover,
4603 .navbar-inverse .navbar-nav > .active > a:focus {
4604 color: #fff;
4605 background-color: #080808;
4606 }
4607 .navbar-inverse .navbar-nav > .disabled > a,
4608 .navbar-inverse .navbar-nav > .disabled > a:hover,
4609 .navbar-inverse .navbar-nav > .disabled > a:focus {
4610 color: #444;
4611 background-color: transparent;
4612 }
4613 .navbar-inverse .navbar-toggle {
4614 border-color: #333;
4615 }
4616 .navbar-inverse .navbar-toggle:hover,
4617 .navbar-inverse .navbar-toggle:focus {
4618 background-color: #333;
4619 }
4620 .navbar-inverse .navbar-toggle .icon-bar {
4621 background-color: #fff;
4622 }
4623 .navbar-inverse .navbar-collapse,
4624 .navbar-inverse .navbar-form {
4625 border-color: #101010;
4626 }
4627 .navbar-inverse .navbar-nav > .open > a,
4628 .navbar-inverse .navbar-nav > .open > a:hover,
4629 .navbar-inverse .navbar-nav > .open > a:focus {
4630 background-color: #080808;
4631 color: #fff;
4632 }
4633 @media (max-width: 540px) {
4634 .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
4635 border-color: #080808;
4636 }
4637 .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
4638 background-color: #080808;
4639 }
4640 .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
4641 color: #9d9d9d;
4642 }
4643 .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,
4644 .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
4645 color: #fff;
4646 background-color: transparent;
4647 }
4648 .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,
4649 .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,
4650 .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
4651 color: #fff;
4652 background-color: #080808;
4653 }
4654 .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,
4655 .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,
4656 .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
4657 color: #444;
4658 background-color: transparent;
4659 }
4660 }
4661 .navbar-inverse .navbar-link {
4662 color: #9d9d9d;
4663 }
4664 .navbar-inverse .navbar-link:hover {
4665 color: #fff;
4666 }
4667 .navbar-inverse .btn-link {
4668 color: #9d9d9d;
4669 }
4670 .navbar-inverse .btn-link:hover,
4671 .navbar-inverse .btn-link:focus {
4672 color: #fff;
4673 }
4674 .navbar-inverse .btn-link[disabled]:hover,
4675 fieldset[disabled] .navbar-inverse .btn-link:hover,
4676 .navbar-inverse .btn-link[disabled]:focus,
4677 fieldset[disabled] .navbar-inverse .btn-link:focus {
4678 color: #444;
4679 }
4680 .breadcrumb {
4681 padding: 8px 15px;
4682 margin-bottom: 18px;
4683 list-style: none;
4684 background-color: #f5f5f5;
4685 border-radius: 2px;
4686 }
4687 .breadcrumb > li {
4688 display: inline-block;
4689 }
4690 .breadcrumb > li + li:before {
4691 content: "/\00a0";
4692 padding: 0 5px;
4693 color: #5e5e5e;
4694 }
4695 .breadcrumb > .active {
4696 color: #777777;
4697 }
4698 .pagination {
4699 display: inline-block;
4700 padding-left: 0;
4701 margin: 18px 0;
4702 border-radius: 2px;
4703 }
4704 .pagination > li {
4705 display: inline;
4706 }
4707 .pagination > li > a,
4708 .pagination > li > span {
4709 position: relative;
4710 float: left;
4711 padding: 6px 12px;
4712 line-height: 1.42857143;
4713 text-decoration: none;
4714 color: #337ab7;
4715 background-color: #fff;
4716 border: 1px solid #ddd;
4717 margin-left: -1px;
4718 }
4719 .pagination > li:first-child > a,
4720 .pagination > li:first-child > span {
4721 margin-left: 0;
4722 border-bottom-left-radius: 2px;
4723 border-top-left-radius: 2px;
4724 }
4725 .pagination > li:last-child > a,
4726 .pagination > li:last-child > span {
4727 border-bottom-right-radius: 2px;
4728 border-top-right-radius: 2px;
4729 }
4730 .pagination > li > a:hover,
4731 .pagination > li > span:hover,
4732 .pagination > li > a:focus,
4733 .pagination > li > span:focus {
4734 z-index: 2;
4735 color: #23527c;
4736 background-color: #eeeeee;
4737 border-color: #ddd;
4738 }
4739 .pagination > .active > a,
4740 .pagination > .active > span,
4741 .pagination > .active > a:hover,
4742 .pagination > .active > span:hover,
4743 .pagination > .active > a:focus,
4744 .pagination > .active > span:focus {
4745 z-index: 3;
4746 color: #fff;
4747 background-color: #337ab7;
4748 border-color: #337ab7;
4749 cursor: default;
4750 }
4751 .pagination > .disabled > span,
4752 .pagination > .disabled > span:hover,
4753 .pagination > .disabled > span:focus,
4754 .pagination > .disabled > a,
4755 .pagination > .disabled > a:hover,
4756 .pagination > .disabled > a:focus {
4757 color: #777777;
4758 background-color: #fff;
4759 border-color: #ddd;
4760 cursor: not-allowed;
4761 }
4762 .pagination-lg > li > a,
4763 .pagination-lg > li > span {
4764 padding: 10px 16px;
4765 font-size: 17px;
4766 line-height: 1.3333333;
4767 }
4768 .pagination-lg > li:first-child > a,
4769 .pagination-lg > li:first-child > span {
4770 border-bottom-left-radius: 3px;
4771 border-top-left-radius: 3px;
4772 }
4773 .pagination-lg > li:last-child > a,
4774 .pagination-lg > li:last-child > span {
4775 border-bottom-right-radius: 3px;
4776 border-top-right-radius: 3px;
4777 }
4778 .pagination-sm > li > a,
4779 .pagination-sm > li > span {
4780 padding: 5px 10px;
4781 font-size: 12px;
4782 line-height: 1.5;
4783 }
4784 .pagination-sm > li:first-child > a,
4785 .pagination-sm > li:first-child > span {
4786 border-bottom-left-radius: 1px;
4787 border-top-left-radius: 1px;
4788 }
4789 .pagination-sm > li:last-child > a,
4790 .pagination-sm > li:last-child > span {
4791 border-bottom-right-radius: 1px;
4792 border-top-right-radius: 1px;
4793 }
4794 .pager {
4795 padding-left: 0;
4796 margin: 18px 0;
4797 list-style: none;
4798 text-align: center;
4799 }
4800 .pager li {
4801 display: inline;
4802 }
4803 .pager li > a,
4804 .pager li > span {
4805 display: inline-block;
4806 padding: 5px 14px;
4807 background-color: #fff;
4808 border: 1px solid #ddd;
4809 border-radius: 15px;
4810 }
4811 .pager li > a:hover,
4812 .pager li > a:focus {
4813 text-decoration: none;
4814 background-color: #eeeeee;
4815 }
4816 .pager .next > a,
4817 .pager .next > span {
4818 float: right;
4819 }
4820 .pager .previous > a,
4821 .pager .previous > span {
4822 float: left;
4823 }
4824 .pager .disabled > a,
4825 .pager .disabled > a:hover,
4826 .pager .disabled > a:focus,
4827 .pager .disabled > span {
4828 color: #777777;
4829 background-color: #fff;
4830 cursor: not-allowed;
4831 }
4832 .label {
4833 display: inline;
4834 padding: .2em .6em .3em;
4835 font-size: 75%;
4836 font-weight: bold;
4837 line-height: 1;
4838 color: #fff;
4839 text-align: center;
4840 white-space: nowrap;
4841 vertical-align: baseline;
4842 border-radius: .25em;
4843 }
4844 a.label:hover,
4845 a.label:focus {
4846 color: #fff;
4847 text-decoration: none;
4848 cursor: pointer;
4849 }
4850 .label:empty {
4851 display: none;
4852 }
4853 .btn .label {
4854 position: relative;
4855 top: -1px;
4856 }
4857 .label-default {
4858 background-color: #777777;
4859 }
4860 .label-default[href]:hover,
4861 .label-default[href]:focus {
4862 background-color: #5e5e5e;
4863 }
4864 .label-primary {
4865 background-color: #337ab7;
4866 }
4867 .label-primary[href]:hover,
4868 .label-primary[href]:focus {
4869 background-color: #286090;
4870 }
4871 .label-success {
4872 background-color: #5cb85c;
4873 }
4874 .label-success[href]:hover,
4875 .label-success[href]:focus {
4876 background-color: #449d44;
4877 }
4878 .label-info {
4879 background-color: #5bc0de;
4880 }
4881 .label-info[href]:hover,
4882 .label-info[href]:focus {
4883 background-color: #31b0d5;
4884 }
4885 .label-warning {
4886 background-color: #f0ad4e;
4887 }
4888 .label-warning[href]:hover,
4889 .label-warning[href]:focus {
4890 background-color: #ec971f;
4891 }
4892 .label-danger {
4893 background-color: #d9534f;
4894 }
4895 .label-danger[href]:hover,
4896 .label-danger[href]:focus {
4897 background-color: #c9302c;
4898 }
4899 .badge {
4900 display: inline-block;
4901 min-width: 10px;
4902 padding: 3px 7px;
4903 font-size: 12px;
4904 font-weight: bold;
4905 color: #fff;
4906 line-height: 1;
4907 vertical-align: middle;
4908 white-space: nowrap;
4909 text-align: center;
4910 background-color: #777777;
4911 border-radius: 10px;
4912 }
4913 .badge:empty {
4914 display: none;
4915 }
4916 .btn .badge {
4917 position: relative;
4918 top: -1px;
4919 }
4920 .btn-xs .badge,
4921 .btn-group-xs > .btn .badge {
4922 top: 0;
4923 padding: 1px 5px;
4924 }
4925 a.badge:hover,
4926 a.badge:focus {
4927 color: #fff;
4928 text-decoration: none;
4929 cursor: pointer;
4930 }
4931 .list-group-item.active > .badge,
4932 .nav-pills > .active > a > .badge {
4933 color: #337ab7;
4934 background-color: #fff;
4935 }
4936 .list-group-item > .badge {
4937 float: right;
4938 }
4939 .list-group-item > .badge + .badge {
4940 margin-right: 5px;
4941 }
4942 .nav-pills > li > a > .badge {
4943 margin-left: 3px;
4944 }
4945 .jumbotron {
4946 padding-top: 30px;
4947 padding-bottom: 30px;
4948 margin-bottom: 30px;
4949 color: inherit;
4950 background-color: #eeeeee;
4951 }
4952 .jumbotron h1,
4953 .jumbotron .h1 {
4954 color: inherit;
4955 }
4956 .jumbotron p {
4957 margin-bottom: 15px;
4958 font-size: 20px;
4959 font-weight: 200;
4960 }
4961 .jumbotron > hr {
4962 border-top-color: #d5d5d5;
4963 }
4964 .container .jumbotron,
4965 .container-fluid .jumbotron {
4966 border-radius: 3px;
4967 padding-left: 0px;
4968 padding-right: 0px;
4969 }
4970 .jumbotron .container {
4971 max-width: 100%;
4972 }
4973 @media screen and (min-width: 768px) {
4974 .jumbotron {
4975 padding-top: 48px;
4976 padding-bottom: 48px;
4977 }
4978 .container .jumbotron,
4979 .container-fluid .jumbotron {
4980 padding-left: 60px;
4981 padding-right: 60px;
4982 }
4983 .jumbotron h1,
4984 .jumbotron .h1 {
4985 font-size: 59px;
4986 }
4987 }
4988 .thumbnail {
4989 display: block;
4990 padding: 4px;
4991 margin-bottom: 18px;
4992 line-height: 1.42857143;
4993 background-color: #fff;
4994 border: 1px solid #ddd;
4995 border-radius: 2px;
4996 -webkit-transition: border 0.2s ease-in-out;
4997 -o-transition: border 0.2s ease-in-out;
4998 transition: border 0.2s ease-in-out;
4999 }
5000 .thumbnail > img,
5001 .thumbnail a > img {
5002 margin-left: auto;
5003 margin-right: auto;
5004 }
5005 a.thumbnail:hover,
5006 a.thumbnail:focus,
5007 a.thumbnail.active {
5008 border-color: #337ab7;
5009 }
5010 .thumbnail .caption {
5011 padding: 9px;
5012 color: #000;
5013 }
5014 .alert {
5015 padding: 15px;
5016 margin-bottom: 18px;
5017 border: 1px solid transparent;
5018 border-radius: 2px;
5019 }
5020 .alert h4 {
5021 margin-top: 0;
5022 color: inherit;
5023 }
5024 .alert .alert-link {
5025 font-weight: bold;
5026 }
5027 .alert > p,
5028 .alert > ul {
5029 margin-bottom: 0;
5030 }
5031 .alert > p + p {
5032 margin-top: 5px;
5033 }
5034 .alert-dismissable,
5035 .alert-dismissible {
5036 padding-right: 35px;
5037 }
5038 .alert-dismissable .close,
5039 .alert-dismissible .close {
5040 position: relative;
5041 top: -2px;
5042 right: -21px;
5043 color: inherit;
5044 }
5045 .alert-success {
5046 background-color: #dff0d8;
5047 border-color: #d6e9c6;
5048 color: #3c763d;
5049 }
5050 .alert-success hr {
5051 border-top-color: #c9e2b3;
5052 }
5053 .alert-success .alert-link {
5054 color: #2b542c;
5055 }
5056 .alert-info {
5057 background-color: #d9edf7;
5058 border-color: #bce8f1;
5059 color: #31708f;
5060 }
5061 .alert-info hr {
5062 border-top-color: #a6e1ec;
5063 }
5064 .alert-info .alert-link {
5065 color: #245269;
5066 }
5067 .alert-warning {
5068 background-color: #fcf8e3;
5069 border-color: #faebcc;
5070 color: #8a6d3b;
5071 }
5072 .alert-warning hr {
5073 border-top-color: #f7e1b5;
5074 }
5075 .alert-warning .alert-link {
5076 color: #66512c;
5077 }
5078 .alert-danger {
5079 background-color: #f2dede;
5080 border-color: #ebccd1;
5081 color: #a94442;
5082 }
5083 .alert-danger hr {
5084 border-top-color: #e4b9c0;
5085 }
5086 .alert-danger .alert-link {
5087 color: #843534;
5088 }
5089 @-webkit-keyframes progress-bar-stripes {
5090 from {
5091 background-position: 40px 0;
5092 }
5093 to {
5094 background-position: 0 0;
5095 }
5096 }
5097 @keyframes progress-bar-stripes {
5098 from {
5099 background-position: 40px 0;
5100 }
5101 to {
5102 background-position: 0 0;
5103 }
5104 }
5105 .progress {
5106 overflow: hidden;
5107 height: 18px;
5108 margin-bottom: 18px;
5109 background-color: #f5f5f5;
5110 border-radius: 2px;
5111 -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
5112 box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
5113 }
5114 .progress-bar {
5115 float: left;
5116 width: 0%;
5117 height: 100%;
5118 font-size: 12px;
5119 line-height: 18px;
5120 color: #fff;
5121 text-align: center;
5122 background-color: #337ab7;
5123 -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
5124 box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
5125 -webkit-transition: width 0.6s ease;
5126 -o-transition: width 0.6s ease;
5127 transition: width 0.6s ease;
5128 }
5129 .progress-striped .progress-bar,
5130 .progress-bar-striped {
5131 background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5132 background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5133 background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5134 background-size: 40px 40px;
5135 }
5136 .progress.active .progress-bar,
5137 .progress-bar.active {
5138 -webkit-animation: progress-bar-stripes 2s linear infinite;
5139 -o-animation: progress-bar-stripes 2s linear infinite;
5140 animation: progress-bar-stripes 2s linear infinite;
5141 }
5142 .progress-bar-success {
5143 background-color: #5cb85c;
5144 }
5145 .progress-striped .progress-bar-success {
5146 background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5147 background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5148 background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5149 }
5150 .progress-bar-info {
5151 background-color: #5bc0de;
5152 }
5153 .progress-striped .progress-bar-info {
5154 background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5155 background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5156 background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5157 }
5158 .progress-bar-warning {
5159 background-color: #f0ad4e;
5160 }
5161 .progress-striped .progress-bar-warning {
5162 background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5163 background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5164 background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5165 }
5166 .progress-bar-danger {
5167 background-color: #d9534f;
5168 }
5169 .progress-striped .progress-bar-danger {
5170 background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5171 background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5172 background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5173 }
5174 .media {
5175 margin-top: 15px;
5176 }
5177 .media:first-child {
5178 margin-top: 0;
5179 }
5180 .media,
5181 .media-body {
5182 zoom: 1;
5183 overflow: hidden;
5184 }
5185 .media-body {
5186 width: 10000px;
5187 }
5188 .media-object {
5189 display: block;
5190 }
5191 .media-object.img-thumbnail {
5192 max-width: none;
5193 }
5194 .media-right,
5195 .media > .pull-right {
5196 padding-left: 10px;
5197 }
5198 .media-left,
5199 .media > .pull-left {
5200 padding-right: 10px;
5201 }
5202 .media-left,
5203 .media-right,
5204 .media-body {
5205 display: table-cell;
5206 vertical-align: top;
5207 }
5208 .media-middle {
5209 vertical-align: middle;
5210 }
5211 .media-bottom {
5212 vertical-align: bottom;
5213 }
5214 .media-heading {
5215 margin-top: 0;
5216 margin-bottom: 5px;
5217 }
5218 .media-list {
5219 padding-left: 0;
5220 list-style: none;
5221 }
5222 .list-group {
5223 margin-bottom: 20px;
5224 padding-left: 0;
5225 }
5226 .list-group-item {
5227 position: relative;
5228 display: block;
5229 padding: 10px 15px;
5230 margin-bottom: -1px;
5231 background-color: #fff;
5232 border: 1px solid #ddd;
5233 }
5234 .list-group-item:first-child {
5235 border-top-right-radius: 2px;
5236 border-top-left-radius: 2px;
5237 }
5238 .list-group-item:last-child {
5239 margin-bottom: 0;
5240 border-bottom-right-radius: 2px;
5241 border-bottom-left-radius: 2px;
5242 }
5243 a.list-group-item,
5244 button.list-group-item {
5245 color: #555;
5246 }
5247 a.list-group-item .list-group-item-heading,
5248 button.list-group-item .list-group-item-heading {
5249 color: #333;
5250 }
5251 a.list-group-item:hover,
5252 button.list-group-item:hover,
5253 a.list-group-item:focus,
5254 button.list-group-item:focus {
5255 text-decoration: none;
5256 color: #555;
5257 background-color: #f5f5f5;
5258 }
5259 button.list-group-item {
5260 width: 100%;
5261 text-align: left;
5262 }
5263 .list-group-item.disabled,
5264 .list-group-item.disabled:hover,
5265 .list-group-item.disabled:focus {
5266 background-color: #eeeeee;
5267 color: #777777;
5268 cursor: not-allowed;
5269 }
5270 .list-group-item.disabled .list-group-item-heading,
5271 .list-group-item.disabled:hover .list-group-item-heading,
5272 .list-group-item.disabled:focus .list-group-item-heading {
5273 color: inherit;
5274 }
5275 .list-group-item.disabled .list-group-item-text,
5276 .list-group-item.disabled:hover .list-group-item-text,
5277 .list-group-item.disabled:focus .list-group-item-text {
5278 color: #777777;
5279 }
5280 .list-group-item.active,
5281 .list-group-item.active:hover,
5282 .list-group-item.active:focus {
5283 z-index: 2;
5284 color: #fff;
5285 background-color: #337ab7;
5286 border-color: #337ab7;
5287 }
5288 .list-group-item.active .list-group-item-heading,
5289 .list-group-item.active:hover .list-group-item-heading,
5290 .list-group-item.active:focus .list-group-item-heading,
5291 .list-group-item.active .list-group-item-heading > small,
5292 .list-group-item.active:hover .list-group-item-heading > small,
5293 .list-group-item.active:focus .list-group-item-heading > small,
5294 .list-group-item.active .list-group-item-heading > .small,
5295 .list-group-item.active:hover .list-group-item-heading > .small,
5296 .list-group-item.active:focus .list-group-item-heading > .small {
5297 color: inherit;
5298 }
5299 .list-group-item.active .list-group-item-text,
5300 .list-group-item.active:hover .list-group-item-text,
5301 .list-group-item.active:focus .list-group-item-text {
5302 color: #c7ddef;
5303 }
5304 .list-group-item-success {
5305 color: #3c763d;
5306 background-color: #dff0d8;
5307 }
5308 a.list-group-item-success,
5309 button.list-group-item-success {
5310 color: #3c763d;
5311 }
5312 a.list-group-item-success .list-group-item-heading,
5313 button.list-group-item-success .list-group-item-heading {
5314 color: inherit;
5315 }
5316 a.list-group-item-success:hover,
5317 button.list-group-item-success:hover,
5318 a.list-group-item-success:focus,
5319 button.list-group-item-success:focus {
5320 color: #3c763d;
5321 background-color: #d0e9c6;
5322 }
5323 a.list-group-item-success.active,
5324 button.list-group-item-success.active,
5325 a.list-group-item-success.active:hover,
5326 button.list-group-item-success.active:hover,
5327 a.list-group-item-success.active:focus,
5328 button.list-group-item-success.active:focus {
5329 color: #fff;
5330 background-color: #3c763d;
5331 border-color: #3c763d;
5332 }
5333 .list-group-item-info {
5334 color: #31708f;
5335 background-color: #d9edf7;
5336 }
5337 a.list-group-item-info,
5338 button.list-group-item-info {
5339 color: #31708f;
5340 }
5341 a.list-group-item-info .list-group-item-heading,
5342 button.list-group-item-info .list-group-item-heading {
5343 color: inherit;
5344 }
5345 a.list-group-item-info:hover,
5346 button.list-group-item-info:hover,
5347 a.list-group-item-info:focus,
5348 button.list-group-item-info:focus {
5349 color: #31708f;
5350 background-color: #c4e3f3;
5351 }
5352 a.list-group-item-info.active,
5353 button.list-group-item-info.active,
5354 a.list-group-item-info.active:hover,
5355 button.list-group-item-info.active:hover,
5356 a.list-group-item-info.active:focus,
5357 button.list-group-item-info.active:focus {
5358 color: #fff;
5359 background-color: #31708f;
5360 border-color: #31708f;
5361 }
5362 .list-group-item-warning {
5363 color: #8a6d3b;
5364 background-color: #fcf8e3;
5365 }
5366 a.list-group-item-warning,
5367 button.list-group-item-warning {
5368 color: #8a6d3b;
5369 }
5370 a.list-group-item-warning .list-group-item-heading,
5371 button.list-group-item-warning .list-group-item-heading {
5372 color: inherit;
5373 }
5374 a.list-group-item-warning:hover,
5375 button.list-group-item-warning:hover,
5376 a.list-group-item-warning:focus,
5377 button.list-group-item-warning:focus {
5378 color: #8a6d3b;
5379 background-color: #faf2cc;
5380 }
5381 a.list-group-item-warning.active,
5382 button.list-group-item-warning.active,
5383 a.list-group-item-warning.active:hover,
5384 button.list-group-item-warning.active:hover,
5385 a.list-group-item-warning.active:focus,
5386 button.list-group-item-warning.active:focus {
5387 color: #fff;
5388 background-color: #8a6d3b;
5389 border-color: #8a6d3b;
5390 }
5391 .list-group-item-danger {
5392 color: #a94442;
5393 background-color: #f2dede;
5394 }
5395 a.list-group-item-danger,
5396 button.list-group-item-danger {
5397 color: #a94442;
5398 }
5399 a.list-group-item-danger .list-group-item-heading,
5400 button.list-group-item-danger .list-group-item-heading {
5401 color: inherit;
5402 }
5403 a.list-group-item-danger:hover,
5404 button.list-group-item-danger:hover,
5405 a.list-group-item-danger:focus,
5406 button.list-group-item-danger:focus {
5407 color: #a94442;
5408 background-color: #ebcccc;
5409 }
5410 a.list-group-item-danger.active,
5411 button.list-group-item-danger.active,
5412 a.list-group-item-danger.active:hover,
5413 button.list-group-item-danger.active:hover,
5414 a.list-group-item-danger.active:focus,
5415 button.list-group-item-danger.active:focus {
5416 color: #fff;
5417 background-color: #a94442;
5418 border-color: #a94442;
5419 }
5420 .list-group-item-heading {
5421 margin-top: 0;
5422 margin-bottom: 5px;
5423 }
5424 .list-group-item-text {
5425 margin-bottom: 0;
5426 line-height: 1.3;
5427 }
5428 .panel {
5429 margin-bottom: 18px;
5430 background-color: #fff;
5431 border: 1px solid transparent;
5432 border-radius: 2px;
5433 -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
5434 box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
5435 }
5436 .panel-body {
5437 padding: 15px;
5438 }
5439 .panel-heading {
5440 padding: 10px 15px;
5441 border-bottom: 1px solid transparent;
5442 border-top-right-radius: 1px;
5443 border-top-left-radius: 1px;
5444 }
5445 .panel-heading > .dropdown .dropdown-toggle {
5446 color: inherit;
5447 }
5448 .panel-title {
5449 margin-top: 0;
5450 margin-bottom: 0;
5451 font-size: 15px;
5452 color: inherit;
5453 }
5454 .panel-title > a,
5455 .panel-title > small,
5456 .panel-title > .small,
5457 .panel-title > small > a,
5458 .panel-title > .small > a {
5459 color: inherit;
5460 }
5461 .panel-footer {
5462 padding: 10px 15px;
5463 background-color: #f5f5f5;
5464 border-top: 1px solid #ddd;
5465 border-bottom-right-radius: 1px;
5466 border-bottom-left-radius: 1px;
5467 }
5468 .panel > .list-group,
5469 .panel > .panel-collapse > .list-group {
5470 margin-bottom: 0;
5471 }
5472 .panel > .list-group .list-group-item,
5473 .panel > .panel-collapse > .list-group .list-group-item {
5474 border-width: 1px 0;
5475 border-radius: 0;
5476 }
5477 .panel > .list-group:first-child .list-group-item:first-child,
5478 .panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {
5479 border-top: 0;
5480 border-top-right-radius: 1px;
5481 border-top-left-radius: 1px;
5482 }
5483 .panel > .list-group:last-child .list-group-item:last-child,
5484 .panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
5485 border-bottom: 0;
5486 border-bottom-right-radius: 1px;
5487 border-bottom-left-radius: 1px;
5488 }
5489 .panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {
5490 border-top-right-radius: 0;
5491 border-top-left-radius: 0;
5492 }
5493 .panel-heading + .list-group .list-group-item:first-child {
5494 border-top-width: 0;
5495 }
5496 .list-group + .panel-footer {
5497 border-top-width: 0;
5498 }
5499 .panel > .table,
5500 .panel > .table-responsive > .table,
5501 .panel > .panel-collapse > .table {
5502 margin-bottom: 0;
5503 }
5504 .panel > .table caption,
5505 .panel > .table-responsive > .table caption,
5506 .panel > .panel-collapse > .table caption {
5507 padding-left: 15px;
5508 padding-right: 15px;
5509 }
5510 .panel > .table:first-child,
5511 .panel > .table-responsive:first-child > .table:first-child {
5512 border-top-right-radius: 1px;
5513 border-top-left-radius: 1px;
5514 }
5515 .panel > .table:first-child > thead:first-child > tr:first-child,
5516 .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,
5517 .panel > .table:first-child > tbody:first-child > tr:first-child,
5518 .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
5519 border-top-left-radius: 1px;
5520 border-top-right-radius: 1px;
5521 }
5522 .panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
5523 .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
5524 .panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
5525 .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
5526 .panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
5527 .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
5528 .panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
5529 .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
5530 border-top-left-radius: 1px;
5531 }
5532 .panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
5533 .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
5534 .panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
5535 .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
5536 .panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
5537 .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
5538 .panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
5539 .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
5540 border-top-right-radius: 1px;
5541 }
5542 .panel > .table:last-child,
5543 .panel > .table-responsive:last-child > .table:last-child {
5544 border-bottom-right-radius: 1px;
5545 border-bottom-left-radius: 1px;
5546 }
5547 .panel > .table:last-child > tbody:last-child > tr:last-child,
5548 .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
5549 .panel > .table:last-child > tfoot:last-child > tr:last-child,
5550 .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
5551 border-bottom-left-radius: 1px;
5552 border-bottom-right-radius: 1px;
5553 }
5554 .panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
5555 .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
5556 .panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
5557 .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
5558 .panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
5559 .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
5560 .panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
5561 .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
5562 border-bottom-left-radius: 1px;
5563 }
5564 .panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,
5565 .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
5566 .panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
5567 .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
5568 .panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
5569 .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
5570 .panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
5571 .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
5572 border-bottom-right-radius: 1px;
5573 }
5574 .panel > .panel-body + .table,
5575 .panel > .panel-body + .table-responsive,
5576 .panel > .table + .panel-body,
5577 .panel > .table-responsive + .panel-body {
5578 border-top: 1px solid #ddd;
5579 }
5580 .panel > .table > tbody:first-child > tr:first-child th,
5581 .panel > .table > tbody:first-child > tr:first-child td {
5582 border-top: 0;
5583 }
5584 .panel > .table-bordered,
5585 .panel > .table-responsive > .table-bordered {
5586 border: 0;
5587 }
5588 .panel > .table-bordered > thead > tr > th:first-child,
5589 .panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
5590 .panel > .table-bordered > tbody > tr > th:first-child,
5591 .panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
5592 .panel > .table-bordered > tfoot > tr > th:first-child,
5593 .panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
5594 .panel > .table-bordered > thead > tr > td:first-child,
5595 .panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
5596 .panel > .table-bordered > tbody > tr > td:first-child,
5597 .panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
5598 .panel > .table-bordered > tfoot > tr > td:first-child,
5599 .panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
5600 border-left: 0;
5601 }
5602 .panel > .table-bordered > thead > tr > th:last-child,
5603 .panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
5604 .panel > .table-bordered > tbody > tr > th:last-child,
5605 .panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
5606 .panel > .table-bordered > tfoot > tr > th:last-child,
5607 .panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
5608 .panel > .table-bordered > thead > tr > td:last-child,
5609 .panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
5610 .panel > .table-bordered > tbody > tr > td:last-child,
5611 .panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
5612 .panel > .table-bordered > tfoot > tr > td:last-child,
5613 .panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
5614 border-right: 0;
5615 }
5616 .panel > .table-bordered > thead > tr:first-child > td,
5617 .panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
5618 .panel > .table-bordered > tbody > tr:first-child > td,
5619 .panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
5620 .panel > .table-bordered > thead > tr:first-child > th,
5621 .panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
5622 .panel > .table-bordered > tbody > tr:first-child > th,
5623 .panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
5624 border-bottom: 0;
5625 }
5626 .panel > .table-bordered > tbody > tr:last-child > td,
5627 .panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
5628 .panel > .table-bordered > tfoot > tr:last-child > td,
5629 .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
5630 .panel > .table-bordered > tbody > tr:last-child > th,
5631 .panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
5632 .panel > .table-bordered > tfoot > tr:last-child > th,
5633 .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
5634 border-bottom: 0;
5635 }
5636 .panel > .table-responsive {
5637 border: 0;
5638 margin-bottom: 0;
5639 }
5640 .panel-group {
5641 margin-bottom: 18px;
5642 }
5643 .panel-group .panel {
5644 margin-bottom: 0;
5645 border-radius: 2px;
5646 }
5647 .panel-group .panel + .panel {
5648 margin-top: 5px;
5649 }
5650 .panel-group .panel-heading {
5651 border-bottom: 0;
5652 }
5653 .panel-group .panel-heading + .panel-collapse > .panel-body,
5654 .panel-group .panel-heading + .panel-collapse > .list-group {
5655 border-top: 1px solid #ddd;
5656 }
5657 .panel-group .panel-footer {
5658 border-top: 0;
5659 }
5660 .panel-group .panel-footer + .panel-collapse .panel-body {
5661 border-bottom: 1px solid #ddd;
5662 }
5663 .panel-default {
5664 border-color: #ddd;
5665 }
5666 .panel-default > .panel-heading {
5667 color: #333333;
5668 background-color: #f5f5f5;
5669 border-color: #ddd;
5670 }
5671 .panel-default > .panel-heading + .panel-collapse > .panel-body {
5672 border-top-color: #ddd;
5673 }
5674 .panel-default > .panel-heading .badge {
5675 color: #f5f5f5;
5676 background-color: #333333;
5677 }
5678 .panel-default > .panel-footer + .panel-collapse > .panel-body {
5679 border-bottom-color: #ddd;
5680 }
5681 .panel-primary {
5682 border-color: #337ab7;
5683 }
5684 .panel-primary > .panel-heading {
5685 color: #fff;
5686 background-color: #337ab7;
5687 border-color: #337ab7;
5688 }
5689 .panel-primary > .panel-heading + .panel-collapse > .panel-body {
5690 border-top-color: #337ab7;
5691 }
5692 .panel-primary > .panel-heading .badge {
5693 color: #337ab7;
5694 background-color: #fff;
5695 }
5696 .panel-primary > .panel-footer + .panel-collapse > .panel-body {
5697 border-bottom-color: #337ab7;
5698 }
5699 .panel-success {
5700 border-color: #d6e9c6;
5701 }
5702 .panel-success > .panel-heading {
5703 color: #3c763d;
5704 background-color: #dff0d8;
5705 border-color: #d6e9c6;
5706 }
5707 .panel-success > .panel-heading + .panel-collapse > .panel-body {
5708 border-top-color: #d6e9c6;
5709 }
5710 .panel-success > .panel-heading .badge {
5711 color: #dff0d8;
5712 background-color: #3c763d;
5713 }
5714 .panel-success > .panel-footer + .panel-collapse > .panel-body {
5715 border-bottom-color: #d6e9c6;
5716 }
5717 .panel-info {
5718 border-color: #bce8f1;
5719 }
5720 .panel-info > .panel-heading {
5721 color: #31708f;
5722 background-color: #d9edf7;
5723 border-color: #bce8f1;
5724 }
5725 .panel-info > .panel-heading + .panel-collapse > .panel-body {
5726 border-top-color: #bce8f1;
5727 }
5728 .panel-info > .panel-heading .badge {
5729 color: #d9edf7;
5730 background-color: #31708f;
5731 }
5732 .panel-info > .panel-footer + .panel-collapse > .panel-body {
5733 border-bottom-color: #bce8f1;
5734 }
5735 .panel-warning {
5736 border-color: #faebcc;
5737 }
5738 .panel-warning > .panel-heading {
5739 color: #8a6d3b;
5740 background-color: #fcf8e3;
5741 border-color: #faebcc;
5742 }
5743 .panel-warning > .panel-heading + .panel-collapse > .panel-body {
5744 border-top-color: #faebcc;
5745 }
5746 .panel-warning > .panel-heading .badge {
5747 color: #fcf8e3;
5748 background-color: #8a6d3b;
5749 }
5750 .panel-warning > .panel-footer + .panel-collapse > .panel-body {
5751 border-bottom-color: #faebcc;
5752 }
5753 .panel-danger {
5754 border-color: #ebccd1;
5755 }
5756 .panel-danger > .panel-heading {
5757 color: #a94442;
5758 background-color: #f2dede;
5759 border-color: #ebccd1;
5760 }
5761 .panel-danger > .panel-heading + .panel-collapse > .panel-body {
5762 border-top-color: #ebccd1;
5763 }
5764 .panel-danger > .panel-heading .badge {
5765 color: #f2dede;
5766 background-color: #a94442;
5767 }
5768 .panel-danger > .panel-footer + .panel-collapse > .panel-body {
5769 border-bottom-color: #ebccd1;
5770 }
5771 .embed-responsive {
5772 position: relative;
5773 display: block;
5774 height: 0;
5775 padding: 0;
5776 overflow: hidden;
5777 }
5778 .embed-responsive .embed-responsive-item,
5779 .embed-responsive iframe,
5780 .embed-responsive embed,
5781 .embed-responsive object,
5782 .embed-responsive video {
5783 position: absolute;
5784 top: 0;
5785 left: 0;
5786 bottom: 0;
5787 height: 100%;
5788 width: 100%;
5789 border: 0;
5790 }
5791 .embed-responsive-16by9 {
5792 padding-bottom: 56.25%;
5793 }
5794 .embed-responsive-4by3 {
5795 padding-bottom: 75%;
5796 }
5797 .well {
5798 min-height: 20px;
5799 padding: 19px;
5800 margin-bottom: 20px;
5801 background-color: #f5f5f5;
5802 border: 1px solid #e3e3e3;
5803 border-radius: 2px;
5804 -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
5805 box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
5806 }
5807 .well blockquote {
5808 border-color: #ddd;
5809 border-color: rgba(0, 0, 0, 0.15);
5810 }
5811 .well-lg {
5812 padding: 24px;
5813 border-radius: 3px;
5814 }
5815 .well-sm {
5816 padding: 9px;
5817 border-radius: 1px;
5818 }
5819 .close {
5820 float: right;
5821 font-size: 19.5px;
5822 font-weight: bold;
5823 line-height: 1;
5824 color: #000;
5825 text-shadow: 0 1px 0 #fff;
5826 opacity: 0.2;
5827 filter: alpha(opacity=20);
5828 }
5829 .close:hover,
5830 .close:focus {
5831 color: #000;
5832 text-decoration: none;
5833 cursor: pointer;
5834 opacity: 0.5;
5835 filter: alpha(opacity=50);
5836 }
5837 button.close {
5838 padding: 0;
5839 cursor: pointer;
5840 background: transparent;
5841 border: 0;
5842 -webkit-appearance: none;
5843 }
5844 .modal-open {
5845 overflow: hidden;
5846 }
5847 .modal {
5848 display: none;
5849 overflow: hidden;
5850 position: fixed;
5851 top: 0;
5852 right: 0;
5853 bottom: 0;
5854 left: 0;
5855 z-index: 1050;
5856 -webkit-overflow-scrolling: touch;
5857 outline: 0;
5858 }
5859 .modal.fade .modal-dialog {
5860 -webkit-transform: translate(0, -25%);
5861 -ms-transform: translate(0, -25%);
5862 -o-transform: translate(0, -25%);
5863 transform: translate(0, -25%);
5864 -webkit-transition: -webkit-transform 0.3s ease-out;
5865 -moz-transition: -moz-transform 0.3s ease-out;
5866 -o-transition: -o-transform 0.3s ease-out;
5867 transition: transform 0.3s ease-out;
5868 }
5869 .modal.in .modal-dialog {
5870 -webkit-transform: translate(0, 0);
5871 -ms-transform: translate(0, 0);
5872 -o-transform: translate(0, 0);
5873 transform: translate(0, 0);
5874 }
5875 .modal-open .modal {
5876 overflow-x: hidden;
5877 overflow-y: auto;
5878 }
5879 .modal-dialog {
5880 position: relative;
5881 width: auto;
5882 margin: 10px;
5883 }
5884 .modal-content {
5885 position: relative;
5886 background-color: #fff;
5887 border: 1px solid #999;
5888 border: 1px solid rgba(0, 0, 0, 0.2);
5889 border-radius: 3px;
5890 -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
5891 box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
5892 background-clip: padding-box;
5893 outline: 0;
5894 }
5895 .modal-backdrop {
5896 position: fixed;
5897 top: 0;
5898 right: 0;
5899 bottom: 0;
5900 left: 0;
5901 z-index: 1040;
5902 background-color: #000;
5903 }
5904 .modal-backdrop.fade {
5905 opacity: 0;
5906 filter: alpha(opacity=0);
5907 }
5908 .modal-backdrop.in {
5909 opacity: 0.5;
5910 filter: alpha(opacity=50);
5911 }
5912 .modal-header {
5913 padding: 15px;
5914 border-bottom: 1px solid #e5e5e5;
5915 }
5916 .modal-header .close {
5917 margin-top: -2px;
5918 }
5919 .modal-title {
5920 margin: 0;
5921 line-height: 1.42857143;
5922 }
5923 .modal-body {
5924 position: relative;
5925 padding: 15px;
5926 }
5927 .modal-footer {
5928 padding: 15px;
5929 text-align: right;
5930 border-top: 1px solid #e5e5e5;
5931 }
5932 .modal-footer .btn + .btn {
5933 margin-left: 5px;
5934 margin-bottom: 0;
5935 }
5936 .modal-footer .btn-group .btn + .btn {
5937 margin-left: -1px;
5938 }
5939 .modal-footer .btn-block + .btn-block {
5940 margin-left: 0;
5941 }
5942 .modal-scrollbar-measure {
5943 position: absolute;
5944 top: -9999px;
5945 width: 50px;
5946 height: 50px;
5947 overflow: scroll;
5948 }
5949 @media (min-width: 768px) {
5950 .modal-dialog {
5951 width: 600px;
5952 margin: 30px auto;
5953 }
5954 .modal-content {
5955 -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
5956 box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
5957 }
5958 .modal-sm {
5959 width: 300px;
5960 }
5961 }
5962 @media (min-width: 992px) {
5963 .modal-lg {
5964 width: 900px;
5965 }
5966 }
5967 .tooltip {
5968 position: absolute;
5969 z-index: 1070;
5970 display: block;
5971 font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
5972 font-style: normal;
5973 font-weight: normal;
5974 letter-spacing: normal;
5975 line-break: auto;
5976 line-height: 1.42857143;
5977 text-align: left;
5978 text-align: start;
5979 text-decoration: none;
5980 text-shadow: none;
5981 text-transform: none;
5982 white-space: normal;
5983 word-break: normal;
5984 word-spacing: normal;
5985 word-wrap: normal;
5986 font-size: 12px;
5987 opacity: 0;
5988 filter: alpha(opacity=0);
5989 }
5990 .tooltip.in {
5991 opacity: 0.9;
5992 filter: alpha(opacity=90);
5993 }
5994 .tooltip.top {
5995 margin-top: -3px;
5996 padding: 5px 0;
5997 }
5998 .tooltip.right {
5999 margin-left: 3px;
6000 padding: 0 5px;
6001 }
6002 .tooltip.bottom {
6003 margin-top: 3px;
6004 padding: 5px 0;
6005 }
6006 .tooltip.left {
6007 margin-left: -3px;
6008 padding: 0 5px;
6009 }
6010 .tooltip-inner {
6011 max-width: 200px;
6012 padding: 3px 8px;
6013 color: #fff;
6014 text-align: center;
6015 background-color: #000;
6016 border-radius: 2px;
6017 }
6018 .tooltip-arrow {
6019 position: absolute;
6020 width: 0;
6021 height: 0;
6022 border-color: transparent;
6023 border-style: solid;
6024 }
6025 .tooltip.top .tooltip-arrow {
6026 bottom: 0;
6027 left: 50%;
6028 margin-left: -5px;
6029 border-width: 5px 5px 0;
6030 border-top-color: #000;
6031 }
6032 .tooltip.top-left .tooltip-arrow {
6033 bottom: 0;
6034 right: 5px;
6035 margin-bottom: -5px;
6036 border-width: 5px 5px 0;
6037 border-top-color: #000;
6038 }
6039 .tooltip.top-right .tooltip-arrow {
6040 bottom: 0;
6041 left: 5px;
6042 margin-bottom: -5px;
6043 border-width: 5px 5px 0;
6044 border-top-color: #000;
6045 }
6046 .tooltip.right .tooltip-arrow {
6047 top: 50%;
6048 left: 0;
6049 margin-top: -5px;
6050 border-width: 5px 5px 5px 0;
6051 border-right-color: #000;
6052 }
6053 .tooltip.left .tooltip-arrow {
6054 top: 50%;
6055 right: 0;
6056 margin-top: -5px;
6057 border-width: 5px 0 5px 5px;
6058 border-left-color: #000;
6059 }
6060 .tooltip.bottom .tooltip-arrow {
6061 top: 0;
6062 left: 50%;
6063 margin-left: -5px;
6064 border-width: 0 5px 5px;
6065 border-bottom-color: #000;
6066 }
6067 .tooltip.bottom-left .tooltip-arrow {
6068 top: 0;
6069 right: 5px;
6070 margin-top: -5px;
6071 border-width: 0 5px 5px;
6072 border-bottom-color: #000;
6073 }
6074 .tooltip.bottom-right .tooltip-arrow {
6075 top: 0;
6076 left: 5px;
6077 margin-top: -5px;
6078 border-width: 0 5px 5px;
6079 border-bottom-color: #000;
6080 }
6081 .popover {
6082 position: absolute;
6083 top: 0;
6084 left: 0;
6085 z-index: 1060;
6086 display: none;
6087 max-width: 276px;
6088 padding: 1px;
6089 font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
6090 font-style: normal;
6091 font-weight: normal;
6092 letter-spacing: normal;
6093 line-break: auto;
6094 line-height: 1.42857143;
6095 text-align: left;
6096 text-align: start;
6097 text-decoration: none;
6098 text-shadow: none;
6099 text-transform: none;
6100 white-space: normal;
6101 word-break: normal;
6102 word-spacing: normal;
6103 word-wrap: normal;
6104 font-size: 13px;
6105 background-color: #fff;
6106 background-clip: padding-box;
6107 border: 1px solid #ccc;
6108 border: 1px solid rgba(0, 0, 0, 0.2);
6109 border-radius: 3px;
6110 -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
6111 box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
6112 }
6113 .popover.top {
6114 margin-top: -10px;
6115 }
6116 .popover.right {
6117 margin-left: 10px;
6118 }
6119 .popover.bottom {
6120 margin-top: 10px;
6121 }
6122 .popover.left {
6123 margin-left: -10px;
6124 }
6125 .popover-title {
6126 margin: 0;
6127 padding: 8px 14px;
6128 font-size: 13px;
6129 background-color: #f7f7f7;
6130 border-bottom: 1px solid #ebebeb;
6131 border-radius: 2px 2px 0 0;
6132 }
6133 .popover-content {
6134 padding: 9px 14px;
6135 }
6136 .popover > .arrow,
6137 .popover > .arrow:after {
6138 position: absolute;
6139 display: block;
6140 width: 0;
6141 height: 0;
6142 border-color: transparent;
6143 border-style: solid;
6144 }
6145 .popover > .arrow {
6146 border-width: 11px;
6147 }
6148 .popover > .arrow:after {
6149 border-width: 10px;
6150 content: "";
6151 }
6152 .popover.top > .arrow {
6153 left: 50%;
6154 margin-left: -11px;
6155 border-bottom-width: 0;
6156 border-top-color: #999999;
6157 border-top-color: rgba(0, 0, 0, 0.25);
6158 bottom: -11px;
6159 }
6160 .popover.top > .arrow:after {
6161 content: " ";
6162 bottom: 1px;
6163 margin-left: -10px;
6164 border-bottom-width: 0;
6165 border-top-color: #fff;
6166 }
6167 .popover.right > .arrow {
6168 top: 50%;
6169 left: -11px;
6170 margin-top: -11px;
6171 border-left-width: 0;
6172 border-right-color: #999999;
6173 border-right-color: rgba(0, 0, 0, 0.25);
6174 }
6175 .popover.right > .arrow:after {
6176 content: " ";
6177 left: 1px;
6178 bottom: -10px;
6179 border-left-width: 0;
6180 border-right-color: #fff;
6181 }
6182 .popover.bottom > .arrow {
6183 left: 50%;
6184 margin-left: -11px;
6185 border-top-width: 0;
6186 border-bottom-color: #999999;
6187 border-bottom-color: rgba(0, 0, 0, 0.25);
6188 top: -11px;
6189 }
6190 .popover.bottom > .arrow:after {
6191 content: " ";
6192 top: 1px;
6193 margin-left: -10px;
6194 border-top-width: 0;
6195 border-bottom-color: #fff;
6196 }
6197 .popover.left > .arrow {
6198 top: 50%;
6199 right: -11px;
6200 margin-top: -11px;
6201 border-right-width: 0;
6202 border-left-color: #999999;
6203 border-left-color: rgba(0, 0, 0, 0.25);
6204 }
6205 .popover.left > .arrow:after {
6206 content: " ";
6207 right: 1px;
6208 border-right-width: 0;
6209 border-left-color: #fff;
6210 bottom: -10px;
6211 }
6212 .carousel {
6213 position: relative;
6214 }
6215 .carousel-inner {
6216 position: relative;
6217 overflow: hidden;
6218 width: 100%;
6219 }
6220 .carousel-inner > .item {
6221 display: none;
6222 position: relative;
6223 -webkit-transition: 0.6s ease-in-out left;
6224 -o-transition: 0.6s ease-in-out left;
6225 transition: 0.6s ease-in-out left;
6226 }
6227 .carousel-inner > .item > img,
6228 .carousel-inner > .item > a > img {
6229 line-height: 1;
6230 }
6231 @media all and (transform-3d), (-webkit-transform-3d) {
6232 .carousel-inner > .item {
6233 -webkit-transition: -webkit-transform 0.6s ease-in-out;
6234 -moz-transition: -moz-transform 0.6s ease-in-out;
6235 -o-transition: -o-transform 0.6s ease-in-out;
6236 transition: transform 0.6s ease-in-out;
6237 -webkit-backface-visibility: hidden;
6238 -moz-backface-visibility: hidden;
6239 backface-visibility: hidden;
6240 -webkit-perspective: 1000px;
6241 -moz-perspective: 1000px;
6242 perspective: 1000px;
6243 }
6244 .carousel-inner > .item.next,
6245 .carousel-inner > .item.active.right {
6246 -webkit-transform: translate3d(100%, 0, 0);
6247 transform: translate3d(100%, 0, 0);
6248 left: 0;
6249 }
6250 .carousel-inner > .item.prev,
6251 .carousel-inner > .item.active.left {
6252 -webkit-transform: translate3d(-100%, 0, 0);
6253 transform: translate3d(-100%, 0, 0);
6254 left: 0;
6255 }
6256 .carousel-inner > .item.next.left,
6257 .carousel-inner > .item.prev.right,
6258 .carousel-inner > .item.active {
6259 -webkit-transform: translate3d(0, 0, 0);
6260 transform: translate3d(0, 0, 0);
6261 left: 0;
6262 }
6263 }
6264 .carousel-inner > .active,
6265 .carousel-inner > .next,
6266 .carousel-inner > .prev {
6267 display: block;
6268 }
6269 .carousel-inner > .active {
6270 left: 0;
6271 }
6272 .carousel-inner > .next,
6273 .carousel-inner > .prev {
6274 position: absolute;
6275 top: 0;
6276 width: 100%;
6277 }
6278 .carousel-inner > .next {
6279 left: 100%;
6280 }
6281 .carousel-inner > .prev {
6282 left: -100%;
6283 }
6284 .carousel-inner > .next.left,
6285 .carousel-inner > .prev.right {
6286 left: 0;
6287 }
6288 .carousel-inner > .active.left {
6289 left: -100%;
6290 }
6291 .carousel-inner > .active.right {
6292 left: 100%;
6293 }
6294 .carousel-control {
6295 position: absolute;
6296 top: 0;
6297 left: 0;
6298 bottom: 0;
6299 width: 15%;
6300 opacity: 0.5;
6301 filter: alpha(opacity=50);
6302 font-size: 20px;
6303 color: #fff;
6304 text-align: center;
6305 text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
6306 background-color: rgba(0, 0, 0, 0);
6307 }
6308 .carousel-control.left {
6309 background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
6310 background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
6311 background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
6312 background-repeat: repeat-x;
6313 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
6314 }
6315 .carousel-control.right {
6316 left: auto;
6317 right: 0;
6318 background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
6319 background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
6320 background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
6321 background-repeat: repeat-x;
6322 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
6323 }
6324 .carousel-control:hover,
6325 .carousel-control:focus {
6326 outline: 0;
6327 color: #fff;
6328 text-decoration: none;
6329 opacity: 0.9;
6330 filter: alpha(opacity=90);
6331 }
6332 .carousel-control .icon-prev,
6333 .carousel-control .icon-next,
6334 .carousel-control .glyphicon-chevron-left,
6335 .carousel-control .glyphicon-chevron-right {
6336 position: absolute;
6337 top: 50%;
6338 margin-top: -10px;
6339 z-index: 5;
6340 display: inline-block;
6341 }
6342 .carousel-control .icon-prev,
6343 .carousel-control .glyphicon-chevron-left {
6344 left: 50%;
6345 margin-left: -10px;
6346 }
6347 .carousel-control .icon-next,
6348 .carousel-control .glyphicon-chevron-right {
6349 right: 50%;
6350 margin-right: -10px;
6351 }
6352 .carousel-control .icon-prev,
6353 .carousel-control .icon-next {
6354 width: 20px;
6355 height: 20px;
6356 line-height: 1;
6357 font-family: serif;
6358 }
6359 .carousel-control .icon-prev:before {
6360 content: '\2039';
6361 }
6362 .carousel-control .icon-next:before {
6363 content: '\203a';
6364 }
6365 .carousel-indicators {
6366 position: absolute;
6367 bottom: 10px;
6368 left: 50%;
6369 z-index: 15;
6370 width: 60%;
6371 margin-left: -30%;
6372 padding-left: 0;
6373 list-style: none;
6374 text-align: center;
6375 }
6376 .carousel-indicators li {
6377 display: inline-block;
6378 width: 10px;
6379 height: 10px;
6380 margin: 1px;
6381 text-indent: -999px;
6382 border: 1px solid #fff;
6383 border-radius: 10px;
6384 cursor: pointer;
6385 background-color: #000 \9;
6386 background-color: rgba(0, 0, 0, 0);
6387 }
6388 .carousel-indicators .active {
6389 margin: 0;
6390 width: 12px;
6391 height: 12px;
6392 background-color: #fff;
6393 }
6394 .carousel-caption {
6395 position: absolute;
6396 left: 15%;
6397 right: 15%;
6398 bottom: 20px;
6399 z-index: 10;
6400 padding-top: 20px;
6401 padding-bottom: 20px;
6402 color: #fff;
6403 text-align: center;
6404 text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
6405 }
6406 .carousel-caption .btn {
6407 text-shadow: none;
6408 }
6409 @media screen and (min-width: 768px) {
6410 .carousel-control .glyphicon-chevron-left,
6411 .carousel-control .glyphicon-chevron-right,
6412 .carousel-control .icon-prev,
6413 .carousel-control .icon-next {
6414 width: 30px;
6415 height: 30px;
6416 margin-top: -10px;
6417 font-size: 30px;
6418 }
6419 .carousel-control .glyphicon-chevron-left,
6420 .carousel-control .icon-prev {
6421 margin-left: -10px;
6422 }
6423 .carousel-control .glyphicon-chevron-right,
6424 .carousel-control .icon-next {
6425 margin-right: -10px;
6426 }
6427 .carousel-caption {
6428 left: 20%;
6429 right: 20%;
6430 padding-bottom: 30px;
6431 }
6432 .carousel-indicators {
6433 bottom: 20px;
6434 }
6435 }
6436 .clearfix:before,
6437 .clearfix:after,
6438 .dl-horizontal dd:before,
6439 .dl-horizontal dd:after,
6440 .container:before,
6441 .container:after,
6442 .container-fluid:before,
6443 .container-fluid:after,
6444 .row:before,
6445 .row:after,
6446 .form-horizontal .form-group:before,
6447 .form-horizontal .form-group:after,
6448 .btn-toolbar:before,
6449 .btn-toolbar:after,
6450 .btn-group-vertical > .btn-group:before,
6451 .btn-group-vertical > .btn-group:after,
6452 .nav:before,
6453 .nav:after,
6454 .navbar:before,
6455 .navbar:after,
6456 .navbar-header:before,
6457 .navbar-header:after,
6458 .navbar-collapse:before,
6459 .navbar-collapse:after,
6460 .pager:before,
6461 .pager:after,
6462 .panel-body:before,
6463 .panel-body:after,
6464 .modal-header:before,
6465 .modal-header:after,
6466 .modal-footer:before,
6467 .modal-footer:after,
6468 .item_buttons:before,
6469 .item_buttons:after {
6470 content: " ";
6471 display: table;
6472 }
6473 .clearfix:after,
6474 .dl-horizontal dd:after,
6475 .container:after,
6476 .container-fluid:after,
6477 .row:after,
6478 .form-horizontal .form-group:after,
6479 .btn-toolbar:after,
6480 .btn-group-vertical > .btn-group:after,
6481 .nav:after,
6482 .navbar:after,
6483 .navbar-header:after,
6484 .navbar-collapse:after,
6485 .pager:after,
6486 .panel-body:after,
6487 .modal-header:after,
6488 .modal-footer:after,
6489 .item_buttons:after {
6490 clear: both;
6491 }
6492 .center-block {
6493 display: block;
6494 margin-left: auto;
6495 margin-right: auto;
6496 }
6497 .pull-right {
6498 float: right !important;
6499 }
6500 .pull-left {
6501 float: left !important;
6502 }
6503 .hide {
6504 display: none !important;
6505 }
6506 .show {
6507 display: block !important;
6508 }
6509 .invisible {
6510 visibility: hidden;
6511 }
6512 .text-hide {
6513 font: 0/0 a;
6514 color: transparent;
6515 text-shadow: none;
6516 background-color: transparent;
6517 border: 0;
6518 }
6519 .hidden {
6520 display: none !important;
6521 }
6522 .affix {
6523 position: fixed;
6524 }
6525 @-ms-viewport {
6526 width: device-width;
6527 }
6528 .visible-xs,
6529 .visible-sm,
6530 .visible-md,
6531 .visible-lg {
6532 display: none !important;
6533 }
6534 .visible-xs-block,
6535 .visible-xs-inline,
6536 .visible-xs-inline-block,
6537 .visible-sm-block,
6538 .visible-sm-inline,
6539 .visible-sm-inline-block,
6540 .visible-md-block,
6541 .visible-md-inline,
6542 .visible-md-inline-block,
6543 .visible-lg-block,
6544 .visible-lg-inline,
6545 .visible-lg-inline-block {
6546 display: none !important;
6547 }
6548 @media (max-width: 767px) {
6549 .visible-xs {
6550 display: block !important;
6551 }
6552 table.visible-xs {
6553 display: table !important;
6554 }
6555 tr.visible-xs {
6556 display: table-row !important;
6557 }
6558 th.visible-xs,
6559 td.visible-xs {
6560 display: table-cell !important;
6561 }
6562 }
6563 @media (max-width: 767px) {
6564 .visible-xs-block {
6565 display: block !important;
6566 }
6567 }
6568 @media (max-width: 767px) {
6569 .visible-xs-inline {
6570 display: inline !important;
6571 }
6572 }
6573 @media (max-width: 767px) {
6574 .visible-xs-inline-block {
6575 display: inline-block !important;
6576 }
6577 }
6578 @media (min-width: 768px) and (max-width: 991px) {
6579 .visible-sm {
6580 display: block !important;
6581 }
6582 table.visible-sm {
6583 display: table !important;
6584 }
6585 tr.visible-sm {
6586 display: table-row !important;
6587 }
6588 th.visible-sm,
6589 td.visible-sm {
6590 display: table-cell !important;
6591 }
6592 }
6593 @media (min-width: 768px) and (max-width: 991px) {
6594 .visible-sm-block {
6595 display: block !important;
6596 }
6597 }
6598 @media (min-width: 768px) and (max-width: 991px) {
6599 .visible-sm-inline {
6600 display: inline !important;
6601 }
6602 }
6603 @media (min-width: 768px) and (max-width: 991px) {
6604 .visible-sm-inline-block {
6605 display: inline-block !important;
6606 }
6607 }
6608 @media (min-width: 992px) and (max-width: 1199px) {
6609 .visible-md {
6610 display: block !important;
6611 }
6612 table.visible-md {
6613 display: table !important;
6614 }
6615 tr.visible-md {
6616 display: table-row !important;
6617 }
6618 th.visible-md,
6619 td.visible-md {
6620 display: table-cell !important;
6621 }
6622 }
6623 @media (min-width: 992px) and (max-width: 1199px) {
6624 .visible-md-block {
6625 display: block !important;
6626 }
6627 }
6628 @media (min-width: 992px) and (max-width: 1199px) {
6629 .visible-md-inline {
6630 display: inline !important;
6631 }
6632 }
6633 @media (min-width: 992px) and (max-width: 1199px) {
6634 .visible-md-inline-block {
6635 display: inline-block !important;
6636 }
6637 }
6638 @media (min-width: 1200px) {
6639 .visible-lg {
6640 display: block !important;
6641 }
6642 table.visible-lg {
6643 display: table !important;
6644 }
6645 tr.visible-lg {
6646 display: table-row !important;
6647 }
6648 th.visible-lg,
6649 td.visible-lg {
6650 display: table-cell !important;
6651 }
6652 }
6653 @media (min-width: 1200px) {
6654 .visible-lg-block {
6655 display: block !important;
6656 }
6657 }
6658 @media (min-width: 1200px) {
6659 .visible-lg-inline {
6660 display: inline !important;
6661 }
6662 }
6663 @media (min-width: 1200px) {
6664 .visible-lg-inline-block {
6665 display: inline-block !important;
6666 }
6667 }
6668 @media (max-width: 767px) {
6669 .hidden-xs {
6670 display: none !important;
6671 }
6672 }
6673 @media (min-width: 768px) and (max-width: 991px) {
6674 .hidden-sm {
6675 display: none !important;
6676 }
6677 }
6678 @media (min-width: 992px) and (max-width: 1199px) {
6679 .hidden-md {
6680 display: none !important;
6681 }
6682 }
6683 @media (min-width: 1200px) {
6684 .hidden-lg {
6685 display: none !important;
6686 }
6687 }
6688 .visible-print {
6689 display: none !important;
6690 }
6691 @media print {
6692 .visible-print {
6693 display: block !important;
6694 }
6695 table.visible-print {
6696 display: table !important;
6697 }
6698 tr.visible-print {
6699 display: table-row !important;
6700 }
6701 th.visible-print,
6702 td.visible-print {
6703 display: table-cell !important;
6704 }
6705 }
6706 .visible-print-block {
6707 display: none !important;
6708 }
6709 @media print {
6710 .visible-print-block {
6711 display: block !important;
6712 }
6713 }
6714 .visible-print-inline {
6715 display: none !important;
6716 }
6717 @media print {
6718 .visible-print-inline {
6719 display: inline !important;
6720 }
6721 }
6722 .visible-print-inline-block {
6723 display: none !important;
6724 }
6725 @media print {
6726 .visible-print-inline-block {
6727 display: inline-block !important;
6728 }
6729 }
6730 @media print {
6731 .hidden-print {
6732 display: none !important;
6733 }
6734 }
6735 /*!
6736 *
6737 * Font Awesome
6738 *
6739 */
6740 /*!
6741 * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome
6742 * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
6743 */
6744 /* FONT PATH
6745 * -------------------------- */
6746 @font-face {
6747 font-family: 'FontAwesome';
6748 src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?v=4.2.0');
6749 src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'), url('../components/font-awesome/fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'), url('../components/font-awesome/fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'), url('../components/font-awesome/fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg');
6750 font-weight: normal;
6751 font-style: normal;
6752 }
6753 .fa {
6754 display: inline-block;
6755 font: normal normal normal 14px/1 FontAwesome;
6756 font-size: inherit;
6757 text-rendering: auto;
6758 -webkit-font-smoothing: antialiased;
6759 -moz-osx-font-smoothing: grayscale;
6760 }
6761 /* makes the font 33% larger relative to the icon container */
6762 .fa-lg {
6763 font-size: 1.33333333em;
6764 line-height: 0.75em;
6765 vertical-align: -15%;
6766 }
6767 .fa-2x {
6768 font-size: 2em;
6769 }
6770 .fa-3x {
6771 font-size: 3em;
6772 }
6773 .fa-4x {
6774 font-size: 4em;
6775 }
6776 .fa-5x {
6777 font-size: 5em;
6778 }
6779 .fa-fw {
6780 width: 1.28571429em;
6781 text-align: center;
6782 }
6783 .fa-ul {
6784 padding-left: 0;
6785 margin-left: 2.14285714em;
6786 list-style-type: none;
6787 }
6788 .fa-ul > li {
6789 position: relative;
6790 }
6791 .fa-li {
6792 position: absolute;
6793 left: -2.14285714em;
6794 width: 2.14285714em;
6795 top: 0.14285714em;
6796 text-align: center;
6797 }
6798 .fa-li.fa-lg {
6799 left: -1.85714286em;
6800 }
6801 .fa-border {
6802 padding: .2em .25em .15em;
6803 border: solid 0.08em #eee;
6804 border-radius: .1em;
6805 }
6806 .pull-right {
6807 float: right;
6808 }
6809 .pull-left {
6810 float: left;
6811 }
6812 .fa.pull-left {
6813 margin-right: .3em;
6814 }
6815 .fa.pull-right {
6816 margin-left: .3em;
6817 }
6818 .fa-spin {
6819 -webkit-animation: fa-spin 2s infinite linear;
6820 animation: fa-spin 2s infinite linear;
6821 }
6822 @-webkit-keyframes fa-spin {
6823 0% {
6824 -webkit-transform: rotate(0deg);
6825 transform: rotate(0deg);
6826 }
6827 100% {
6828 -webkit-transform: rotate(359deg);
6829 transform: rotate(359deg);
6830 }
6831 }
6832 @keyframes fa-spin {
6833 0% {
6834 -webkit-transform: rotate(0deg);
6835 transform: rotate(0deg);
6836 }
6837 100% {
6838 -webkit-transform: rotate(359deg);
6839 transform: rotate(359deg);
6840 }
6841 }
6842 .fa-rotate-90 {
6843 filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
6844 -webkit-transform: rotate(90deg);
6845 -ms-transform: rotate(90deg);
6846 transform: rotate(90deg);
6847 }
6848 .fa-rotate-180 {
6849 filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
6850 -webkit-transform: rotate(180deg);
6851 -ms-transform: rotate(180deg);
6852 transform: rotate(180deg);
6853 }
6854 .fa-rotate-270 {
6855 filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
6856 -webkit-transform: rotate(270deg);
6857 -ms-transform: rotate(270deg);
6858 transform: rotate(270deg);
6859 }
6860 .fa-flip-horizontal {
6861 filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);
6862 -webkit-transform: scale(-1, 1);
6863 -ms-transform: scale(-1, 1);
6864 transform: scale(-1, 1);
6865 }
6866 .fa-flip-vertical {
6867 filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);
6868 -webkit-transform: scale(1, -1);
6869 -ms-transform: scale(1, -1);
6870 transform: scale(1, -1);
6871 }
6872 :root .fa-rotate-90,
6873 :root .fa-rotate-180,
6874 :root .fa-rotate-270,
6875 :root .fa-flip-horizontal,
6876 :root .fa-flip-vertical {
6877 filter: none;
6878 }
6879 .fa-stack {
6880 position: relative;
6881 display: inline-block;
6882 width: 2em;
6883 height: 2em;
6884 line-height: 2em;
6885 vertical-align: middle;
6886 }
6887 .fa-stack-1x,
6888 .fa-stack-2x {
6889 position: absolute;
6890 left: 0;
6891 width: 100%;
6892 text-align: center;
6893 }
6894 .fa-stack-1x {
6895 line-height: inherit;
6896 }
6897 .fa-stack-2x {
6898 font-size: 2em;
6899 }
6900 .fa-inverse {
6901 color: #fff;
6902 }
6903 /* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
6904 readers do not read off random characters that represent icons */
6905 .fa-glass:before {
6906 content: "\f000";
6907 }
6908 .fa-music:before {
6909 content: "\f001";
6910 }
6911 .fa-search:before {
6912 content: "\f002";
6913 }
6914 .fa-envelope-o:before {
6915 content: "\f003";
6916 }
6917 .fa-heart:before {
6918 content: "\f004";
6919 }
6920 .fa-star:before {
6921 content: "\f005";
6922 }
6923 .fa-star-o:before {
6924 content: "\f006";
6925 }
6926 .fa-user:before {
6927 content: "\f007";
6928 }
6929 .fa-film:before {
6930 content: "\f008";
6931 }
6932 .fa-th-large:before {
6933 content: "\f009";
6934 }
6935 .fa-th:before {
6936 content: "\f00a";
6937 }
6938 .fa-th-list:before {
6939 content: "\f00b";
6940 }
6941 .fa-check:before {
6942 content: "\f00c";
6943 }
6944 .fa-remove:before,
6945 .fa-close:before,
6946 .fa-times:before {
6947 content: "\f00d";
6948 }
6949 .fa-search-plus:before {
6950 content: "\f00e";
6951 }
6952 .fa-search-minus:before {
6953 content: "\f010";
6954 }
6955 .fa-power-off:before {
6956 content: "\f011";
6957 }
6958 .fa-signal:before {
6959 content: "\f012";
6960 }
6961 .fa-gear:before,
6962 .fa-cog:before {
6963 content: "\f013";
6964 }
6965 .fa-trash-o:before {
6966 content: "\f014";
6967 }
6968 .fa-home:before {
6969 content: "\f015";
6970 }
6971 .fa-file-o:before {
6972 content: "\f016";
6973 }
6974 .fa-clock-o:before {
6975 content: "\f017";
6976 }
6977 .fa-road:before {
6978 content: "\f018";
6979 }
6980 .fa-download:before {
6981 content: "\f019";
6982 }
6983 .fa-arrow-circle-o-down:before {
6984 content: "\f01a";
6985 }
6986 .fa-arrow-circle-o-up:before {
6987 content: "\f01b";
6988 }
6989 .fa-inbox:before {
6990 content: "\f01c";
6991 }
6992 .fa-play-circle-o:before {
6993 content: "\f01d";
6994 }
6995 .fa-rotate-right:before,
6996 .fa-repeat:before {
6997 content: "\f01e";
6998 }
6999 .fa-refresh:before {
7000 content: "\f021";
7001 }
7002 .fa-list-alt:before {
7003 content: "\f022";
7004 }
7005 .fa-lock:before {
7006 content: "\f023";
7007 }
7008 .fa-flag:before {
7009 content: "\f024";
7010 }
7011 .fa-headphones:before {
7012 content: "\f025";
7013 }
7014 .fa-volume-off:before {
7015 content: "\f026";
7016 }
7017 .fa-volume-down:before {
7018 content: "\f027";
7019 }
7020 .fa-volume-up:before {
7021 content: "\f028";
7022 }
7023 .fa-qrcode:before {
7024 content: "\f029";
7025 }
7026 .fa-barcode:before {
7027 content: "\f02a";
7028 }
7029 .fa-tag:before {
7030 content: "\f02b";
7031 }
7032 .fa-tags:before {
7033 content: "\f02c";
7034 }
7035 .fa-book:before {
7036 content: "\f02d";
7037 }
7038 .fa-bookmark:before {
7039 content: "\f02e";
7040 }
7041 .fa-print:before {
7042 content: "\f02f";
7043 }
7044 .fa-camera:before {
7045 content: "\f030";
7046 }
7047 .fa-font:before {
7048 content: "\f031";
7049 }
7050 .fa-bold:before {
7051 content: "\f032";
7052 }
7053 .fa-italic:before {
7054 content: "\f033";
7055 }
7056 .fa-text-height:before {
7057 content: "\f034";
7058 }
7059 .fa-text-width:before {
7060 content: "\f035";
7061 }
7062 .fa-align-left:before {
7063 content: "\f036";
7064 }
7065 .fa-align-center:before {
7066 content: "\f037";
7067 }
7068 .fa-align-right:before {
7069 content: "\f038";
7070 }
7071 .fa-align-justify:before {
7072 content: "\f039";
7073 }
7074 .fa-list:before {
7075 content: "\f03a";
7076 }
7077 .fa-dedent:before,
7078 .fa-outdent:before {
7079 content: "\f03b";
7080 }
7081 .fa-indent:before {
7082 content: "\f03c";
7083 }
7084 .fa-video-camera:before {
7085 content: "\f03d";
7086 }
7087 .fa-photo:before,
7088 .fa-image:before,
7089 .fa-picture-o:before {
7090 content: "\f03e";
7091 }
7092 .fa-pencil:before {
7093 content: "\f040";
7094 }
7095 .fa-map-marker:before {
7096 content: "\f041";
7097 }
7098 .fa-adjust:before {
7099 content: "\f042";
7100 }
7101 .fa-tint:before {
7102 content: "\f043";
7103 }
7104 .fa-edit:before,
7105 .fa-pencil-square-o:before {
7106 content: "\f044";
7107 }
7108 .fa-share-square-o:before {
7109 content: "\f045";
7110 }
7111 .fa-check-square-o:before {
7112 content: "\f046";
7113 }
7114 .fa-arrows:before {
7115 content: "\f047";
7116 }
7117 .fa-step-backward:before {
7118 content: "\f048";
7119 }
7120 .fa-fast-backward:before {
7121 content: "\f049";
7122 }
7123 .fa-backward:before {
7124 content: "\f04a";
7125 }
7126 .fa-play:before {
7127 content: "\f04b";
7128 }
7129 .fa-pause:before {
7130 content: "\f04c";
7131 }
7132 .fa-stop:before {
7133 content: "\f04d";
7134 }
7135 .fa-forward:before {
7136 content: "\f04e";
7137 }
7138 .fa-fast-forward:before {
7139 content: "\f050";
7140 }
7141 .fa-step-forward:before {
7142 content: "\f051";
7143 }
7144 .fa-eject:before {
7145 content: "\f052";
7146 }
7147 .fa-chevron-left:before {
7148 content: "\f053";
7149 }
7150 .fa-chevron-right:before {
7151 content: "\f054";
7152 }
7153 .fa-plus-circle:before {
7154 content: "\f055";
7155 }
7156 .fa-minus-circle:before {
7157 content: "\f056";
7158 }
7159 .fa-times-circle:before {
7160 content: "\f057";
7161 }
7162 .fa-check-circle:before {
7163 content: "\f058";
7164 }
7165 .fa-question-circle:before {
7166 content: "\f059";
7167 }
7168 .fa-info-circle:before {
7169 content: "\f05a";
7170 }
7171 .fa-crosshairs:before {
7172 content: "\f05b";
7173 }
7174 .fa-times-circle-o:before {
7175 content: "\f05c";
7176 }
7177 .fa-check-circle-o:before {
7178 content: "\f05d";
7179 }
7180 .fa-ban:before {
7181 content: "\f05e";
7182 }
7183 .fa-arrow-left:before {
7184 content: "\f060";
7185 }
7186 .fa-arrow-right:before {
7187 content: "\f061";
7188 }
7189 .fa-arrow-up:before {
7190 content: "\f062";
7191 }
7192 .fa-arrow-down:before {
7193 content: "\f063";
7194 }
7195 .fa-mail-forward:before,
7196 .fa-share:before {
7197 content: "\f064";
7198 }
7199 .fa-expand:before {
7200 content: "\f065";
7201 }
7202 .fa-compress:before {
7203 content: "\f066";
7204 }
7205 .fa-plus:before {
7206 content: "\f067";
7207 }
7208 .fa-minus:before {
7209 content: "\f068";
7210 }
7211 .fa-asterisk:before {
7212 content: "\f069";
7213 }
7214 .fa-exclamation-circle:before {
7215 content: "\f06a";
7216 }
7217 .fa-gift:before {
7218 content: "\f06b";
7219 }
7220 .fa-leaf:before {
7221 content: "\f06c";
7222 }
7223 .fa-fire:before {
7224 content: "\f06d";
7225 }
7226 .fa-eye:before {
7227 content: "\f06e";
7228 }
7229 .fa-eye-slash:before {
7230 content: "\f070";
7231 }
7232 .fa-warning:before,
7233 .fa-exclamation-triangle:before {
7234 content: "\f071";
7235 }
7236 .fa-plane:before {
7237 content: "\f072";
7238 }
7239 .fa-calendar:before {
7240 content: "\f073";
7241 }
7242 .fa-random:before {
7243 content: "\f074";
7244 }
7245 .fa-comment:before {
7246 content: "\f075";
7247 }
7248 .fa-magnet:before {
7249 content: "\f076";
7250 }
7251 .fa-chevron-up:before {
7252 content: "\f077";
7253 }
7254 .fa-chevron-down:before {
7255 content: "\f078";
7256 }
7257 .fa-retweet:before {
7258 content: "\f079";
7259 }
7260 .fa-shopping-cart:before {
7261 content: "\f07a";
7262 }
7263 .fa-folder:before {
7264 content: "\f07b";
7265 }
7266 .fa-folder-open:before {
7267 content: "\f07c";
7268 }
7269 .fa-arrows-v:before {
7270 content: "\f07d";
7271 }
7272 .fa-arrows-h:before {
7273 content: "\f07e";
7274 }
7275 .fa-bar-chart-o:before,
7276 .fa-bar-chart:before {
7277 content: "\f080";
7278 }
7279 .fa-twitter-square:before {
7280 content: "\f081";
7281 }
7282 .fa-facebook-square:before {
7283 content: "\f082";
7284 }
7285 .fa-camera-retro:before {
7286 content: "\f083";
7287 }
7288 .fa-key:before {
7289 content: "\f084";
7290 }
7291 .fa-gears:before,
7292 .fa-cogs:before {
7293 content: "\f085";
7294 }
7295 .fa-comments:before {
7296 content: "\f086";
7297 }
7298 .fa-thumbs-o-up:before {
7299 content: "\f087";
7300 }
7301 .fa-thumbs-o-down:before {
7302 content: "\f088";
7303 }
7304 .fa-star-half:before {
7305 content: "\f089";
7306 }
7307 .fa-heart-o:before {
7308 content: "\f08a";
7309 }
7310 .fa-sign-out:before {
7311 content: "\f08b";
7312 }
7313 .fa-linkedin-square:before {
7314 content: "\f08c";
7315 }
7316 .fa-thumb-tack:before {
7317 content: "\f08d";
7318 }
7319 .fa-external-link:before {
7320 content: "\f08e";
7321 }
7322 .fa-sign-in:before {
7323 content: "\f090";
7324 }
7325 .fa-trophy:before {
7326 content: "\f091";
7327 }
7328 .fa-github-square:before {
7329 content: "\f092";
7330 }
7331 .fa-upload:before {
7332 content: "\f093";
7333 }
7334 .fa-lemon-o:before {
7335 content: "\f094";
7336 }
7337 .fa-phone:before {
7338 content: "\f095";
7339 }
7340 .fa-square-o:before {
7341 content: "\f096";
7342 }
7343 .fa-bookmark-o:before {
7344 content: "\f097";
7345 }
7346 .fa-phone-square:before {
7347 content: "\f098";
7348 }
7349 .fa-twitter:before {
7350 content: "\f099";
7351 }
7352 .fa-facebook:before {
7353 content: "\f09a";
7354 }
7355 .fa-github:before {
7356 content: "\f09b";
7357 }
7358 .fa-unlock:before {
7359 content: "\f09c";
7360 }
7361 .fa-credit-card:before {
7362 content: "\f09d";
7363 }
7364 .fa-rss:before {
7365 content: "\f09e";
7366 }
7367 .fa-hdd-o:before {
7368 content: "\f0a0";
7369 }
7370 .fa-bullhorn:before {
7371 content: "\f0a1";
7372 }
7373 .fa-bell:before {
7374 content: "\f0f3";
7375 }
7376 .fa-certificate:before {
7377 content: "\f0a3";
7378 }
7379 .fa-hand-o-right:before {
7380 content: "\f0a4";
7381 }
7382 .fa-hand-o-left:before {
7383 content: "\f0a5";
7384 }
7385 .fa-hand-o-up:before {
7386 content: "\f0a6";
7387 }
7388 .fa-hand-o-down:before {
7389 content: "\f0a7";
7390 }
7391 .fa-arrow-circle-left:before {
7392 content: "\f0a8";
7393 }
7394 .fa-arrow-circle-right:before {
7395 content: "\f0a9";
7396 }
7397 .fa-arrow-circle-up:before {
7398 content: "\f0aa";
7399 }
7400 .fa-arrow-circle-down:before {
7401 content: "\f0ab";
7402 }
7403 .fa-globe:before {
7404 content: "\f0ac";
7405 }
7406 .fa-wrench:before {
7407 content: "\f0ad";
7408 }
7409 .fa-tasks:before {
7410 content: "\f0ae";
7411 }
7412 .fa-filter:before {
7413 content: "\f0b0";
7414 }
7415 .fa-briefcase:before {
7416 content: "\f0b1";
7417 }
7418 .fa-arrows-alt:before {
7419 content: "\f0b2";
7420 }
7421 .fa-group:before,
7422 .fa-users:before {
7423 content: "\f0c0";
7424 }
7425 .fa-chain:before,
7426 .fa-link:before {
7427 content: "\f0c1";
7428 }
7429 .fa-cloud:before {
7430 content: "\f0c2";
7431 }
7432 .fa-flask:before {
7433 content: "\f0c3";
7434 }
7435 .fa-cut:before,
7436 .fa-scissors:before {
7437 content: "\f0c4";
7438 }
7439 .fa-copy:before,
7440 .fa-files-o:before {
7441 content: "\f0c5";
7442 }
7443 .fa-paperclip:before {
7444 content: "\f0c6";
7445 }
7446 .fa-save:before,
7447 .fa-floppy-o:before {
7448 content: "\f0c7";
7449 }
7450 .fa-square:before {
7451 content: "\f0c8";
7452 }
7453 .fa-navicon:before,
7454 .fa-reorder:before,
7455 .fa-bars:before {
7456 content: "\f0c9";
7457 }
7458 .fa-list-ul:before {
7459 content: "\f0ca";
7460 }
7461 .fa-list-ol:before {
7462 content: "\f0cb";
7463 }
7464 .fa-strikethrough:before {
7465 content: "\f0cc";
7466 }
7467 .fa-underline:before {
7468 content: "\f0cd";
7469 }
7470 .fa-table:before {
7471 content: "\f0ce";
7472 }
7473 .fa-magic:before {
7474 content: "\f0d0";
7475 }
7476 .fa-truck:before {
7477 content: "\f0d1";
7478 }
7479 .fa-pinterest:before {
7480 content: "\f0d2";
7481 }
7482 .fa-pinterest-square:before {
7483 content: "\f0d3";
7484 }
7485 .fa-google-plus-square:before {
7486 content: "\f0d4";
7487 }
7488 .fa-google-plus:before {
7489 content: "\f0d5";
7490 }
7491 .fa-money:before {
7492 content: "\f0d6";
7493 }
7494 .fa-caret-down:before {
7495 content: "\f0d7";
7496 }
7497 .fa-caret-up:before {
7498 content: "\f0d8";
7499 }
7500 .fa-caret-left:before {
7501 content: "\f0d9";
7502 }
7503 .fa-caret-right:before {
7504 content: "\f0da";
7505 }
7506 .fa-columns:before {
7507 content: "\f0db";
7508 }
7509 .fa-unsorted:before,
7510 .fa-sort:before {
7511 content: "\f0dc";
7512 }
7513 .fa-sort-down:before,
7514 .fa-sort-desc:before {
7515 content: "\f0dd";
7516 }
7517 .fa-sort-up:before,
7518 .fa-sort-asc:before {
7519 content: "\f0de";
7520 }
7521 .fa-envelope:before {
7522 content: "\f0e0";
7523 }
7524 .fa-linkedin:before {
7525 content: "\f0e1";
7526 }
7527 .fa-rotate-left:before,
7528 .fa-undo:before {
7529 content: "\f0e2";
7530 }
7531 .fa-legal:before,
7532 .fa-gavel:before {
7533 content: "\f0e3";
7534 }
7535 .fa-dashboard:before,
7536 .fa-tachometer:before {
7537 content: "\f0e4";
7538 }
7539 .fa-comment-o:before {
7540 content: "\f0e5";
7541 }
7542 .fa-comments-o:before {
7543 content: "\f0e6";
7544 }
7545 .fa-flash:before,
7546 .fa-bolt:before {
7547 content: "\f0e7";
7548 }
7549 .fa-sitemap:before {
7550 content: "\f0e8";
7551 }
7552 .fa-umbrella:before {
7553 content: "\f0e9";
7554 }
7555 .fa-paste:before,
7556 .fa-clipboard:before {
7557 content: "\f0ea";
7558 }
7559 .fa-lightbulb-o:before {
7560 content: "\f0eb";
7561 }
7562 .fa-exchange:before {
7563 content: "\f0ec";
7564 }
7565 .fa-cloud-download:before {
7566 content: "\f0ed";
7567 }
7568 .fa-cloud-upload:before {
7569 content: "\f0ee";
7570 }
7571 .fa-user-md:before {
7572 content: "\f0f0";
7573 }
7574 .fa-stethoscope:before {
7575 content: "\f0f1";
7576 }
7577 .fa-suitcase:before {
7578 content: "\f0f2";
7579 }
7580 .fa-bell-o:before {
7581 content: "\f0a2";
7582 }
7583 .fa-coffee:before {
7584 content: "\f0f4";
7585 }
7586 .fa-cutlery:before {
7587 content: "\f0f5";
7588 }
7589 .fa-file-text-o:before {
7590 content: "\f0f6";
7591 }
7592 .fa-building-o:before {
7593 content: "\f0f7";
7594 }
7595 .fa-hospital-o:before {
7596 content: "\f0f8";
7597 }
7598 .fa-ambulance:before {
7599 content: "\f0f9";
7600 }
7601 .fa-medkit:before {
7602 content: "\f0fa";
7603 }
7604 .fa-fighter-jet:before {
7605 content: "\f0fb";
7606 }
7607 .fa-beer:before {
7608 content: "\f0fc";
7609 }
7610 .fa-h-square:before {
7611 content: "\f0fd";
7612 }
7613 .fa-plus-square:before {
7614 content: "\f0fe";
7615 }
7616 .fa-angle-double-left:before {
7617 content: "\f100";
7618 }
7619 .fa-angle-double-right:before {
7620 content: "\f101";
7621 }
7622 .fa-angle-double-up:before {
7623 content: "\f102";
7624 }
7625 .fa-angle-double-down:before {
7626 content: "\f103";
7627 }
7628 .fa-angle-left:before {
7629 content: "\f104";
7630 }
7631 .fa-angle-right:before {
7632 content: "\f105";
7633 }
7634 .fa-angle-up:before {
7635 content: "\f106";
7636 }
7637 .fa-angle-down:before {
7638 content: "\f107";
7639 }
7640 .fa-desktop:before {
7641 content: "\f108";
7642 }
7643 .fa-laptop:before {
7644 content: "\f109";
7645 }
7646 .fa-tablet:before {
7647 content: "\f10a";
7648 }
7649 .fa-mobile-phone:before,
7650 .fa-mobile:before {
7651 content: "\f10b";
7652 }
7653 .fa-circle-o:before {
7654 content: "\f10c";
7655 }
7656 .fa-quote-left:before {
7657 content: "\f10d";
7658 }
7659 .fa-quote-right:before {
7660 content: "\f10e";
7661 }
7662 .fa-spinner:before {
7663 content: "\f110";
7664 }
7665 .fa-circle:before {
7666 content: "\f111";
7667 }
7668 .fa-mail-reply:before,
7669 .fa-reply:before {
7670 content: "\f112";
7671 }
7672 .fa-github-alt:before {
7673 content: "\f113";
7674 }
7675 .fa-folder-o:before {
7676 content: "\f114";
7677 }
7678 .fa-folder-open-o:before {
7679 content: "\f115";
7680 }
7681 .fa-smile-o:before {
7682 content: "\f118";
7683 }
7684 .fa-frown-o:before {
7685 content: "\f119";
7686 }
7687 .fa-meh-o:before {
7688 content: "\f11a";
7689 }
7690 .fa-gamepad:before {
7691 content: "\f11b";
7692 }
7693 .fa-keyboard-o:before {
7694 content: "\f11c";
7695 }
7696 .fa-flag-o:before {
7697 content: "\f11d";
7698 }
7699 .fa-flag-checkered:before {
7700 content: "\f11e";
7701 }
7702 .fa-terminal:before {
7703 content: "\f120";
7704 }
7705 .fa-code:before {
7706 content: "\f121";
7707 }
7708 .fa-mail-reply-all:before,
7709 .fa-reply-all:before {
7710 content: "\f122";
7711 }
7712 .fa-star-half-empty:before,
7713 .fa-star-half-full:before,
7714 .fa-star-half-o:before {
7715 content: "\f123";
7716 }
7717 .fa-location-arrow:before {
7718 content: "\f124";
7719 }
7720 .fa-crop:before {
7721 content: "\f125";
7722 }
7723 .fa-code-fork:before {
7724 content: "\f126";
7725 }
7726 .fa-unlink:before,
7727 .fa-chain-broken:before {
7728 content: "\f127";
7729 }
7730 .fa-question:before {
7731 content: "\f128";
7732 }
7733 .fa-info:before {
7734 content: "\f129";
7735 }
7736 .fa-exclamation:before {
7737 content: "\f12a";
7738 }
7739 .fa-superscript:before {
7740 content: "\f12b";
7741 }
7742 .fa-subscript:before {
7743 content: "\f12c";
7744 }
7745 .fa-eraser:before {
7746 content: "\f12d";
7747 }
7748 .fa-puzzle-piece:before {
7749 content: "\f12e";
7750 }
7751 .fa-microphone:before {
7752 content: "\f130";
7753 }
7754 .fa-microphone-slash:before {
7755 content: "\f131";
7756 }
7757 .fa-shield:before {
7758 content: "\f132";
7759 }
7760 .fa-calendar-o:before {
7761 content: "\f133";
7762 }
7763 .fa-fire-extinguisher:before {
7764 content: "\f134";
7765 }
7766 .fa-rocket:before {
7767 content: "\f135";
7768 }
7769 .fa-maxcdn:before {
7770 content: "\f136";
7771 }
7772 .fa-chevron-circle-left:before {
7773 content: "\f137";
7774 }
7775 .fa-chevron-circle-right:before {
7776 content: "\f138";
7777 }
7778 .fa-chevron-circle-up:before {
7779 content: "\f139";
7780 }
7781 .fa-chevron-circle-down:before {
7782 content: "\f13a";
7783 }
7784 .fa-html5:before {
7785 content: "\f13b";
7786 }
7787 .fa-css3:before {
7788 content: "\f13c";
7789 }
7790 .fa-anchor:before {
7791 content: "\f13d";
7792 }
7793 .fa-unlock-alt:before {
7794 content: "\f13e";
7795 }
7796 .fa-bullseye:before {
7797 content: "\f140";
7798 }
7799 .fa-ellipsis-h:before {
7800 content: "\f141";
7801 }
7802 .fa-ellipsis-v:before {
7803 content: "\f142";
7804 }
7805 .fa-rss-square:before {
7806 content: "\f143";
7807 }
7808 .fa-play-circle:before {
7809 content: "\f144";
7810 }
7811 .fa-ticket:before {
7812 content: "\f145";
7813 }
7814 .fa-minus-square:before {
7815 content: "\f146";
7816 }
7817 .fa-minus-square-o:before {
7818 content: "\f147";
7819 }
7820 .fa-level-up:before {
7821 content: "\f148";
7822 }
7823 .fa-level-down:before {
7824 content: "\f149";
7825 }
7826 .fa-check-square:before {
7827 content: "\f14a";
7828 }
7829 .fa-pencil-square:before {
7830 content: "\f14b";
7831 }
7832 .fa-external-link-square:before {
7833 content: "\f14c";
7834 }
7835 .fa-share-square:before {
7836 content: "\f14d";
7837 }
7838 .fa-compass:before {
7839 content: "\f14e";
7840 }
7841 .fa-toggle-down:before,
7842 .fa-caret-square-o-down:before {
7843 content: "\f150";
7844 }
7845 .fa-toggle-up:before,
7846 .fa-caret-square-o-up:before {
7847 content: "\f151";
7848 }
7849 .fa-toggle-right:before,
7850 .fa-caret-square-o-right:before {
7851 content: "\f152";
7852 }
7853 .fa-euro:before,
7854 .fa-eur:before {
7855 content: "\f153";
7856 }
7857 .fa-gbp:before {
7858 content: "\f154";
7859 }
7860 .fa-dollar:before,
7861 .fa-usd:before {
7862 content: "\f155";
7863 }
7864 .fa-rupee:before,
7865 .fa-inr:before {
7866 content: "\f156";
7867 }
7868 .fa-cny:before,
7869 .fa-rmb:before,
7870 .fa-yen:before,
7871 .fa-jpy:before {
7872 content: "\f157";
7873 }
7874 .fa-ruble:before,
7875 .fa-rouble:before,
7876 .fa-rub:before {
7877 content: "\f158";
7878 }
7879 .fa-won:before,
7880 .fa-krw:before {
7881 content: "\f159";
7882 }
7883 .fa-bitcoin:before,
7884 .fa-btc:before {
7885 content: "\f15a";
7886 }
7887 .fa-file:before {
7888 content: "\f15b";
7889 }
7890 .fa-file-text:before {
7891 content: "\f15c";
7892 }
7893 .fa-sort-alpha-asc:before {
7894 content: "\f15d";
7895 }
7896 .fa-sort-alpha-desc:before {
7897 content: "\f15e";
7898 }
7899 .fa-sort-amount-asc:before {
7900 content: "\f160";
7901 }
7902 .fa-sort-amount-desc:before {
7903 content: "\f161";
7904 }
7905 .fa-sort-numeric-asc:before {
7906 content: "\f162";
7907 }
7908 .fa-sort-numeric-desc:before {
7909 content: "\f163";
7910 }
7911 .fa-thumbs-up:before {
7912 content: "\f164";
7913 }
7914 .fa-thumbs-down:before {
7915 content: "\f165";
7916 }
7917 .fa-youtube-square:before {
7918 content: "\f166";
7919 }
7920 .fa-youtube:before {
7921 content: "\f167";
7922 }
7923 .fa-xing:before {
7924 content: "\f168";
7925 }
7926 .fa-xing-square:before {
7927 content: "\f169";
7928 }
7929 .fa-youtube-play:before {
7930 content: "\f16a";
7931 }
7932 .fa-dropbox:before {
7933 content: "\f16b";
7934 }
7935 .fa-stack-overflow:before {
7936 content: "\f16c";
7937 }
7938 .fa-instagram:before {
7939 content: "\f16d";
7940 }
7941 .fa-flickr:before {
7942 content: "\f16e";
7943 }
7944 .fa-adn:before {
7945 content: "\f170";
7946 }
7947 .fa-bitbucket:before {
7948 content: "\f171";
7949 }
7950 .fa-bitbucket-square:before {
7951 content: "\f172";
7952 }
7953 .fa-tumblr:before {
7954 content: "\f173";
7955 }
7956 .fa-tumblr-square:before {
7957 content: "\f174";
7958 }
7959 .fa-long-arrow-down:before {
7960 content: "\f175";
7961 }
7962 .fa-long-arrow-up:before {
7963 content: "\f176";
7964 }
7965 .fa-long-arrow-left:before {
7966 content: "\f177";
7967 }
7968 .fa-long-arrow-right:before {
7969 content: "\f178";
7970 }
7971 .fa-apple:before {
7972 content: "\f179";
7973 }
7974 .fa-windows:before {
7975 content: "\f17a";
7976 }
7977 .fa-android:before {
7978 content: "\f17b";
7979 }
7980 .fa-linux:before {
7981 content: "\f17c";
7982 }
7983 .fa-dribbble:before {
7984 content: "\f17d";
7985 }
7986 .fa-skype:before {
7987 content: "\f17e";
7988 }
7989 .fa-foursquare:before {
7990 content: "\f180";
7991 }
7992 .fa-trello:before {
7993 content: "\f181";
7994 }
7995 .fa-female:before {
7996 content: "\f182";
7997 }
7998 .fa-male:before {
7999 content: "\f183";
8000 }
8001 .fa-gittip:before {
8002 content: "\f184";
8003 }
8004 .fa-sun-o:before {
8005 content: "\f185";
8006 }
8007 .fa-moon-o:before {
8008 content: "\f186";
8009 }
8010 .fa-archive:before {
8011 content: "\f187";
8012 }
8013 .fa-bug:before {
8014 content: "\f188";
8015 }
8016 .fa-vk:before {
8017 content: "\f189";
8018 }
8019 .fa-weibo:before {
8020 content: "\f18a";
8021 }
8022 .fa-renren:before {
8023 content: "\f18b";
8024 }
8025 .fa-pagelines:before {
8026 content: "\f18c";
8027 }
8028 .fa-stack-exchange:before {
8029 content: "\f18d";
8030 }
8031 .fa-arrow-circle-o-right:before {
8032 content: "\f18e";
8033 }
8034 .fa-arrow-circle-o-left:before {
8035 content: "\f190";
8036 }
8037 .fa-toggle-left:before,
8038 .fa-caret-square-o-left:before {
8039 content: "\f191";
8040 }
8041 .fa-dot-circle-o:before {
8042 content: "\f192";
8043 }
8044 .fa-wheelchair:before {
8045 content: "\f193";
8046 }
8047 .fa-vimeo-square:before {
8048 content: "\f194";
8049 }
8050 .fa-turkish-lira:before,
8051 .fa-try:before {
8052 content: "\f195";
8053 }
8054 .fa-plus-square-o:before {
8055 content: "\f196";
8056 }
8057 .fa-space-shuttle:before {
8058 content: "\f197";
8059 }
8060 .fa-slack:before {
8061 content: "\f198";
8062 }
8063 .fa-envelope-square:before {
8064 content: "\f199";
8065 }
8066 .fa-wordpress:before {
8067 content: "\f19a";
8068 }
8069 .fa-openid:before {
8070 content: "\f19b";
8071 }
8072 .fa-institution:before,
8073 .fa-bank:before,
8074 .fa-university:before {
8075 content: "\f19c";
8076 }
8077 .fa-mortar-board:before,
8078 .fa-graduation-cap:before {
8079 content: "\f19d";
8080 }
8081 .fa-yahoo:before {
8082 content: "\f19e";
8083 }
8084 .fa-google:before {
8085 content: "\f1a0";
8086 }
8087 .fa-reddit:before {
8088 content: "\f1a1";
8089 }
8090 .fa-reddit-square:before {
8091 content: "\f1a2";
8092 }
8093 .fa-stumbleupon-circle:before {
8094 content: "\f1a3";
8095 }
8096 .fa-stumbleupon:before {
8097 content: "\f1a4";
8098 }
8099 .fa-delicious:before {
8100 content: "\f1a5";
8101 }
8102 .fa-digg:before {
8103 content: "\f1a6";
8104 }
8105 .fa-pied-piper:before {
8106 content: "\f1a7";
8107 }
8108 .fa-pied-piper-alt:before {
8109 content: "\f1a8";
8110 }
8111 .fa-drupal:before {
8112 content: "\f1a9";
8113 }
8114 .fa-joomla:before {
8115 content: "\f1aa";
8116 }
8117 .fa-language:before {
8118 content: "\f1ab";
8119 }
8120 .fa-fax:before {
8121 content: "\f1ac";
8122 }
8123 .fa-building:before {
8124 content: "\f1ad";
8125 }
8126 .fa-child:before {
8127 content: "\f1ae";
8128 }
8129 .fa-paw:before {
8130 content: "\f1b0";
8131 }
8132 .fa-spoon:before {
8133 content: "\f1b1";
8134 }
8135 .fa-cube:before {
8136 content: "\f1b2";
8137 }
8138 .fa-cubes:before {
8139 content: "\f1b3";
8140 }
8141 .fa-behance:before {
8142 content: "\f1b4";
8143 }
8144 .fa-behance-square:before {
8145 content: "\f1b5";
8146 }
8147 .fa-steam:before {
8148 content: "\f1b6";
8149 }
8150 .fa-steam-square:before {
8151 content: "\f1b7";
8152 }
8153 .fa-recycle:before {
8154 content: "\f1b8";
8155 }
8156 .fa-automobile:before,
8157 .fa-car:before {
8158 content: "\f1b9";
8159 }
8160 .fa-cab:before,
8161 .fa-taxi:before {
8162 content: "\f1ba";
8163 }
8164 .fa-tree:before {
8165 content: "\f1bb";
8166 }
8167 .fa-spotify:before {
8168 content: "\f1bc";
8169 }
8170 .fa-deviantart:before {
8171 content: "\f1bd";
8172 }
8173 .fa-soundcloud:before {
8174 content: "\f1be";
8175 }
8176 .fa-database:before {
8177 content: "\f1c0";
8178 }
8179 .fa-file-pdf-o:before {
8180 content: "\f1c1";
8181 }
8182 .fa-file-word-o:before {
8183 content: "\f1c2";
8184 }
8185 .fa-file-excel-o:before {
8186 content: "\f1c3";
8187 }
8188 .fa-file-powerpoint-o:before {
8189 content: "\f1c4";
8190 }
8191 .fa-file-photo-o:before,
8192 .fa-file-picture-o:before,
8193 .fa-file-image-o:before {
8194 content: "\f1c5";
8195 }
8196 .fa-file-zip-o:before,
8197 .fa-file-archive-o:before {
8198 content: "\f1c6";
8199 }
8200 .fa-file-sound-o:before,
8201 .fa-file-audio-o:before {
8202 content: "\f1c7";
8203 }
8204 .fa-file-movie-o:before,
8205 .fa-file-video-o:before {
8206 content: "\f1c8";
8207 }
8208 .fa-file-code-o:before {
8209 content: "\f1c9";
8210 }
8211 .fa-vine:before {
8212 content: "\f1ca";
8213 }
8214 .fa-codepen:before {
8215 content: "\f1cb";
8216 }
8217 .fa-jsfiddle:before {
8218 content: "\f1cc";
8219 }
8220 .fa-life-bouy:before,
8221 .fa-life-buoy:before,
8222 .fa-life-saver:before,
8223 .fa-support:before,
8224 .fa-life-ring:before {
8225 content: "\f1cd";
8226 }
8227 .fa-circle-o-notch:before {
8228 content: "\f1ce";
8229 }
8230 .fa-ra:before,
8231 .fa-rebel:before {
8232 content: "\f1d0";
8233 }
8234 .fa-ge:before,
8235 .fa-empire:before {
8236 content: "\f1d1";
8237 }
8238 .fa-git-square:before {
8239 content: "\f1d2";
8240 }
8241 .fa-git:before {
8242 content: "\f1d3";
8243 }
8244 .fa-hacker-news:before {
8245 content: "\f1d4";
8246 }
8247 .fa-tencent-weibo:before {
8248 content: "\f1d5";
8249 }
8250 .fa-qq:before {
8251 content: "\f1d6";
8252 }
8253 .fa-wechat:before,
8254 .fa-weixin:before {
8255 content: "\f1d7";
8256 }
8257 .fa-send:before,
8258 .fa-paper-plane:before {
8259 content: "\f1d8";
8260 }
8261 .fa-send-o:before,
8262 .fa-paper-plane-o:before {
8263 content: "\f1d9";
8264 }
8265 .fa-history:before {
8266 content: "\f1da";
8267 }
8268 .fa-circle-thin:before {
8269 content: "\f1db";
8270 }
8271 .fa-header:before {
8272 content: "\f1dc";
8273 }
8274 .fa-paragraph:before {
8275 content: "\f1dd";
8276 }
8277 .fa-sliders:before {
8278 content: "\f1de";
8279 }
8280 .fa-share-alt:before {
8281 content: "\f1e0";
8282 }
8283 .fa-share-alt-square:before {
8284 content: "\f1e1";
8285 }
8286 .fa-bomb:before {
8287 content: "\f1e2";
8288 }
8289 .fa-soccer-ball-o:before,
8290 .fa-futbol-o:before {
8291 content: "\f1e3";
8292 }
8293 .fa-tty:before {
8294 content: "\f1e4";
8295 }
8296 .fa-binoculars:before {
8297 content: "\f1e5";
8298 }
8299 .fa-plug:before {
8300 content: "\f1e6";
8301 }
8302 .fa-slideshare:before {
8303 content: "\f1e7";
8304 }
8305 .fa-twitch:before {
8306 content: "\f1e8";
8307 }
8308 .fa-yelp:before {
8309 content: "\f1e9";
8310 }
8311 .fa-newspaper-o:before {
8312 content: "\f1ea";
8313 }
8314 .fa-wifi:before {
8315 content: "\f1eb";
8316 }
8317 .fa-calculator:before {
8318 content: "\f1ec";
8319 }
8320 .fa-paypal:before {
8321 content: "\f1ed";
8322 }
8323 .fa-google-wallet:before {
8324 content: "\f1ee";
8325 }
8326 .fa-cc-visa:before {
8327 content: "\f1f0";
8328 }
8329 .fa-cc-mastercard:before {
8330 content: "\f1f1";
8331 }
8332 .fa-cc-discover:before {
8333 content: "\f1f2";
8334 }
8335 .fa-cc-amex:before {
8336 content: "\f1f3";
8337 }
8338 .fa-cc-paypal:before {
8339 content: "\f1f4";
8340 }
8341 .fa-cc-stripe:before {
8342 content: "\f1f5";
8343 }
8344 .fa-bell-slash:before {
8345 content: "\f1f6";
8346 }
8347 .fa-bell-slash-o:before {
8348 content: "\f1f7";
8349 }
8350 .fa-trash:before {
8351 content: "\f1f8";
8352 }
8353 .fa-copyright:before {
8354 content: "\f1f9";
8355 }
8356 .fa-at:before {
8357 content: "\f1fa";
8358 }
8359 .fa-eyedropper:before {
8360 content: "\f1fb";
8361 }
8362 .fa-paint-brush:before {
8363 content: "\f1fc";
8364 }
8365 .fa-birthday-cake:before {
8366 content: "\f1fd";
8367 }
8368 .fa-area-chart:before {
8369 content: "\f1fe";
8370 }
8371 .fa-pie-chart:before {
8372 content: "\f200";
8373 }
8374 .fa-line-chart:before {
8375 content: "\f201";
8376 }
8377 .fa-lastfm:before {
8378 content: "\f202";
8379 }
8380 .fa-lastfm-square:before {
8381 content: "\f203";
8382 }
8383 .fa-toggle-off:before {
8384 content: "\f204";
8385 }
8386 .fa-toggle-on:before {
8387 content: "\f205";
8388 }
8389 .fa-bicycle:before {
8390 content: "\f206";
8391 }
8392 .fa-bus:before {
8393 content: "\f207";
8394 }
8395 .fa-ioxhost:before {
8396 content: "\f208";
8397 }
8398 .fa-angellist:before {
8399 content: "\f209";
8400 }
8401 .fa-cc:before {
8402 content: "\f20a";
8403 }
8404 .fa-shekel:before,
8405 .fa-sheqel:before,
8406 .fa-ils:before {
8407 content: "\f20b";
8408 }
8409 .fa-meanpath:before {
8410 content: "\f20c";
8411 }
8412 /*!
8413 *
8414 * IPython base
8415 *
8416 */
8417 .modal.fade .modal-dialog {
8418 -webkit-transform: translate(0, 0);
8419 -ms-transform: translate(0, 0);
8420 -o-transform: translate(0, 0);
8421 transform: translate(0, 0);
8422 }
8423 code {
8424 color: #000;
8425 }
8426 pre {
8427 font-size: inherit;
8428 line-height: inherit;
8429 }
8430 label {
8431 font-weight: normal;
8432 }
8433 /* Make the page background atleast 100% the height of the view port */
8434 /* Make the page itself atleast 70% the height of the view port */
8435 .border-box-sizing {
8436 box-sizing: border-box;
8437 -moz-box-sizing: border-box;
8438 -webkit-box-sizing: border-box;
8439 }
8440 .corner-all {
8441 border-radius: 2px;
8442 }
8443 .no-padding {
8444 padding: 0px;
8445 }
8446 /* Flexible box model classes */
8447 /* Taken from Alex Russell http://infrequently.org/2009/08/css-3-progress/ */
8448 /* This file is a compatability layer. It allows the usage of flexible box
8449 model layouts accross multiple browsers, including older browsers. The newest,
8450 universal implementation of the flexible box model is used when available (see
8451 `Modern browsers` comments below). Browsers that are known to implement this
8452 new spec completely include:
8453
8454 Firefox 28.0+
8455 Chrome 29.0+
8456 Internet Explorer 11+
8457 Opera 17.0+
8458
8459 Browsers not listed, including Safari, are supported via the styling under the
8460 `Old browsers` comments below.
8461 */
8462 .hbox {
8463 /* Old browsers */
8464 display: -webkit-box;
8465 -webkit-box-orient: horizontal;
8466 -webkit-box-align: stretch;
8467 display: -moz-box;
8468 -moz-box-orient: horizontal;
8469 -moz-box-align: stretch;
8470 display: box;
8471 box-orient: horizontal;
8472 box-align: stretch;
8473 /* Modern browsers */
8474 display: flex;
8475 flex-direction: row;
8476 align-items: stretch;
8477 }
8478 .hbox > * {
8479 /* Old browsers */
8480 -webkit-box-flex: 0;
8481 -moz-box-flex: 0;
8482 box-flex: 0;
8483 /* Modern browsers */
8484 flex: none;
8485 }
8486 .vbox {
8487 /* Old browsers */
8488 display: -webkit-box;
8489 -webkit-box-orient: vertical;
8490 -webkit-box-align: stretch;
8491 display: -moz-box;
8492 -moz-box-orient: vertical;
8493 -moz-box-align: stretch;
8494 display: box;
8495 box-orient: vertical;
8496 box-align: stretch;
8497 /* Modern browsers */
8498 display: flex;
8499 flex-direction: column;
8500 align-items: stretch;
8501 }
8502 .vbox > * {
8503 /* Old browsers */
8504 -webkit-box-flex: 0;
8505 -moz-box-flex: 0;
8506 box-flex: 0;
8507 /* Modern browsers */
8508 flex: none;
8509 }
8510 .hbox.reverse,
8511 .vbox.reverse,
8512 .reverse {
8513 /* Old browsers */
8514 -webkit-box-direction: reverse;
8515 -moz-box-direction: reverse;
8516 box-direction: reverse;
8517 /* Modern browsers */
8518 flex-direction: row-reverse;
8519 }
8520 .hbox.box-flex0,
8521 .vbox.box-flex0,
8522 .box-flex0 {
8523 /* Old browsers */
8524 -webkit-box-flex: 0;
8525 -moz-box-flex: 0;
8526 box-flex: 0;
8527 /* Modern browsers */
8528 flex: none;
8529 width: auto;
8530 }
8531 .hbox.box-flex1,
8532 .vbox.box-flex1,
8533 .box-flex1 {
8534 /* Old browsers */
8535 -webkit-box-flex: 1;
8536 -moz-box-flex: 1;
8537 box-flex: 1;
8538 /* Modern browsers */
8539 flex: 1;
8540 }
8541 .hbox.box-flex,
8542 .vbox.box-flex,
8543 .box-flex {
8544 /* Old browsers */
8545 /* Old browsers */
8546 -webkit-box-flex: 1;
8547 -moz-box-flex: 1;
8548 box-flex: 1;
8549 /* Modern browsers */
8550 flex: 1;
8551 }
8552 .hbox.box-flex2,
8553 .vbox.box-flex2,
8554 .box-flex2 {
8555 /* Old browsers */
8556 -webkit-box-flex: 2;
8557 -moz-box-flex: 2;
8558 box-flex: 2;
8559 /* Modern browsers */
8560 flex: 2;
8561 }
8562 .box-group1 {
8563 /* Deprecated */
8564 -webkit-box-flex-group: 1;
8565 -moz-box-flex-group: 1;
8566 box-flex-group: 1;
8567 }
8568 .box-group2 {
8569 /* Deprecated */
8570 -webkit-box-flex-group: 2;
8571 -moz-box-flex-group: 2;
8572 box-flex-group: 2;
8573 }
8574 .hbox.start,
8575 .vbox.start,
8576 .start {
8577 /* Old browsers */
8578 -webkit-box-pack: start;
8579 -moz-box-pack: start;
8580 box-pack: start;
8581 /* Modern browsers */
8582 justify-content: flex-start;
8583 }
8584 .hbox.end,
8585 .vbox.end,
8586 .end {
8587 /* Old browsers */
8588 -webkit-box-pack: end;
8589 -moz-box-pack: end;
8590 box-pack: end;
8591 /* Modern browsers */
8592 justify-content: flex-end;
8593 }
8594 .hbox.center,
8595 .vbox.center,
8596 .center {
8597 /* Old browsers */
8598 -webkit-box-pack: center;
8599 -moz-box-pack: center;
8600 box-pack: center;
8601 /* Modern browsers */
8602 justify-content: center;
8603 }
8604 .hbox.baseline,
8605 .vbox.baseline,
8606 .baseline {
8607 /* Old browsers */
8608 -webkit-box-pack: baseline;
8609 -moz-box-pack: baseline;
8610 box-pack: baseline;
8611 /* Modern browsers */
8612 justify-content: baseline;
8613 }
8614 .hbox.stretch,
8615 .vbox.stretch,
8616 .stretch {
8617 /* Old browsers */
8618 -webkit-box-pack: stretch;
8619 -moz-box-pack: stretch;
8620 box-pack: stretch;
8621 /* Modern browsers */
8622 justify-content: stretch;
8623 }
8624 .hbox.align-start,
8625 .vbox.align-start,
8626 .align-start {
8627 /* Old browsers */
8628 -webkit-box-align: start;
8629 -moz-box-align: start;
8630 box-align: start;
8631 /* Modern browsers */
8632 align-items: flex-start;
8633 }
8634 .hbox.align-end,
8635 .vbox.align-end,
8636 .align-end {
8637 /* Old browsers */
8638 -webkit-box-align: end;
8639 -moz-box-align: end;
8640 box-align: end;
8641 /* Modern browsers */
8642 align-items: flex-end;
8643 }
8644 .hbox.align-center,
8645 .vbox.align-center,
8646 .align-center {
8647 /* Old browsers */
8648 -webkit-box-align: center;
8649 -moz-box-align: center;
8650 box-align: center;
8651 /* Modern browsers */
8652 align-items: center;
8653 }
8654 .hbox.align-baseline,
8655 .vbox.align-baseline,
8656 .align-baseline {
8657 /* Old browsers */
8658 -webkit-box-align: baseline;
8659 -moz-box-align: baseline;
8660 box-align: baseline;
8661 /* Modern browsers */
8662 align-items: baseline;
8663 }
8664 .hbox.align-stretch,
8665 .vbox.align-stretch,
8666 .align-stretch {
8667 /* Old browsers */
8668 -webkit-box-align: stretch;
8669 -moz-box-align: stretch;
8670 box-align: stretch;
8671 /* Modern browsers */
8672 align-items: stretch;
8673 }
8674 div.error {
8675 margin: 2em;
8676 text-align: center;
8677 }
8678 div.error > h1 {
8679 font-size: 500%;
8680 line-height: normal;
8681 }
8682 div.error > p {
8683 font-size: 200%;
8684 line-height: normal;
8685 }
8686 div.traceback-wrapper {
8687 text-align: left;
8688 max-width: 800px;
8689 margin: auto;
8690 }
8691 /**
8692 * Primary styles
8693 *
8694 * Author: Jupyter Development Team
8695 */
8696 body {
8697 background-color: #fff;
8698 /* This makes sure that the body covers the entire window and needs to
8699 be in a different element than the display: box in wrapper below */
8700 position: absolute;
8701 left: 0px;
8702 right: 0px;
8703 top: 0px;
8704 bottom: 0px;
8705 overflow: visible;
8706 }
8707 body > #header {
8708 /* Initially hidden to prevent FLOUC */
8709 display: none;
8710 background-color: #fff;
8711 /* Display over codemirror */
8712 position: relative;
8713 z-index: 100;
8714 }
8715 body > #header #header-container {
8716 padding-bottom: 5px;
8717 padding-top: 5px;
8718 box-sizing: border-box;
8719 -moz-box-sizing: border-box;
8720 -webkit-box-sizing: border-box;
8721 }
8722 body > #header .header-bar {
8723 width: 100%;
8724 height: 1px;
8725 background: #e7e7e7;
8726 margin-bottom: -1px;
8727 }
8728 @media print {
8729 body > #header {
8730 display: none !important;
8731 }
8732 }
8733 #header-spacer {
8734 width: 100%;
8735 visibility: hidden;
8736 }
8737 @media print {
8738 #header-spacer {
8739 display: none;
8740 }
8741 }
8742 #ipython_notebook {
8743 padding-left: 0px;
8744 padding-top: 1px;
8745 padding-bottom: 1px;
8746 }
8747 @media (max-width: 991px) {
8748 #ipython_notebook {
8749 margin-left: 10px;
8750 }
8751 }
8752 [dir="rtl"] #ipython_notebook {
8753 float: right !important;
8754 }
8755 #noscript {
8756 width: auto;
8757 padding-top: 16px;
8758 padding-bottom: 16px;
8759 text-align: center;
8760 font-size: 22px;
8761 color: red;
8762 font-weight: bold;
8763 }
8764 #ipython_notebook img {
8765 height: 28px;
8766 }
8767 #site {
8768 width: 100%;
8769 display: none;
8770 box-sizing: border-box;
8771 -moz-box-sizing: border-box;
8772 -webkit-box-sizing: border-box;
8773 overflow: auto;
8774 }
8775 @media print {
8776 #site {
8777 height: auto !important;
8778 }
8779 }
8780 /* Smaller buttons */
8781 .ui-button .ui-button-text {
8782 padding: 0.2em 0.8em;
8783 font-size: 77%;
8784 }
8785 input.ui-button {
8786 padding: 0.3em 0.9em;
8787 }
8788 span#login_widget {
8789 float: right;
8790 }
8791 span#login_widget > .button,
8792 #logout {
8793 color: #333;
8794 background-color: #fff;
8795 border-color: #ccc;
8796 }
8797 span#login_widget > .button:focus,
8798 #logout:focus,
8799 span#login_widget > .button.focus,
8800 #logout.focus {
8801 color: #333;
8802 background-color: #e6e6e6;
8803 border-color: #8c8c8c;
8804 }
8805 span#login_widget > .button:hover,
8806 #logout:hover {
8807 color: #333;
8808 background-color: #e6e6e6;
8809 border-color: #adadad;
8810 }
8811 span#login_widget > .button:active,
8812 #logout:active,
8813 span#login_widget > .button.active,
8814 #logout.active,
8815 .open > .dropdown-togglespan#login_widget > .button,
8816 .open > .dropdown-toggle#logout {
8817 color: #333;
8818 background-color: #e6e6e6;
8819 border-color: #adadad;
8820 }
8821 span#login_widget > .button:active:hover,
8822 #logout:active:hover,
8823 span#login_widget > .button.active:hover,
8824 #logout.active:hover,
8825 .open > .dropdown-togglespan#login_widget > .button:hover,
8826 .open > .dropdown-toggle#logout:hover,
8827 span#login_widget > .button:active:focus,
8828 #logout:active:focus,
8829 span#login_widget > .button.active:focus,
8830 #logout.active:focus,
8831 .open > .dropdown-togglespan#login_widget > .button:focus,
8832 .open > .dropdown-toggle#logout:focus,
8833 span#login_widget > .button:active.focus,
8834 #logout:active.focus,
8835 span#login_widget > .button.active.focus,
8836 #logout.active.focus,
8837 .open > .dropdown-togglespan#login_widget > .button.focus,
8838 .open > .dropdown-toggle#logout.focus {
8839 color: #333;
8840 background-color: #d4d4d4;
8841 border-color: #8c8c8c;
8842 }
8843 span#login_widget > .button:active,
8844 #logout:active,
8845 span#login_widget > .button.active,
8846 #logout.active,
8847 .open > .dropdown-togglespan#login_widget > .button,
8848 .open > .dropdown-toggle#logout {
8849 background-image: none;
8850 }
8851 span#login_widget > .button.disabled:hover,
8852 #logout.disabled:hover,
8853 span#login_widget > .button[disabled]:hover,
8854 #logout[disabled]:hover,
8855 fieldset[disabled] span#login_widget > .button:hover,
8856 fieldset[disabled] #logout:hover,
8857 span#login_widget > .button.disabled:focus,
8858 #logout.disabled:focus,
8859 span#login_widget > .button[disabled]:focus,
8860 #logout[disabled]:focus,
8861 fieldset[disabled] span#login_widget > .button:focus,
8862 fieldset[disabled] #logout:focus,
8863 span#login_widget > .button.disabled.focus,
8864 #logout.disabled.focus,
8865 span#login_widget > .button[disabled].focus,
8866 #logout[disabled].focus,
8867 fieldset[disabled] span#login_widget > .button.focus,
8868 fieldset[disabled] #logout.focus {
8869 background-color: #fff;
8870 border-color: #ccc;
8871 }
8872 span#login_widget > .button .badge,
8873 #logout .badge {
8874 color: #fff;
8875 background-color: #333;
8876 }
8877 .nav-header {
8878 text-transform: none;
8879 }
8880 #header > span {
8881 margin-top: 10px;
8882 }
8883 .modal_stretch .modal-dialog {
8884 /* Old browsers */
8885 display: -webkit-box;
8886 -webkit-box-orient: vertical;
8887 -webkit-box-align: stretch;
8888 display: -moz-box;
8889 -moz-box-orient: vertical;
8890 -moz-box-align: stretch;
8891 display: box;
8892 box-orient: vertical;
8893 box-align: stretch;
8894 /* Modern browsers */
8895 display: flex;
8896 flex-direction: column;
8897 align-items: stretch;
8898 min-height: 80vh;
8899 }
8900 .modal_stretch .modal-dialog .modal-body {
8901 max-height: calc(100vh - 200px);
8902 overflow: auto;
8903 flex: 1;
8904 }
8905 @media (min-width: 768px) {
8906 .modal .modal-dialog {
8907 width: 700px;
8908 }
8909 }
8910 @media (min-width: 768px) {
8911 select.form-control {
8912 margin-left: 12px;
8913 margin-right: 12px;
8914 }
8915 }
8916 /*!
8917 *
8918 * IPython auth
8919 *
8920 */
8921 .center-nav {
8922 display: inline-block;
8923 margin-bottom: -4px;
8924 }
8925 /*!
8926 *
8927 * IPython tree view
8928 *
8929 */
8930 /* We need an invisible input field on top of the sentense*/
8931 /* "Drag file onto the list ..." */
8932 .alternate_upload {
8933 background-color: none;
8934 display: inline;
8935 }
8936 .alternate_upload.form {
8937 padding: 0;
8938 margin: 0;
8939 }
8940 .alternate_upload input.fileinput {
8941 text-align: center;
8942 vertical-align: middle;
8943 display: inline;
8944 opacity: 0;
8945 z-index: 2;
8946 width: 12ex;
8947 margin-right: -12ex;
8948 }
8949 .alternate_upload .btn-upload {
8950 height: 22px;
8951 }
8952 /**
8953 * Primary styles
8954 *
8955 * Author: Jupyter Development Team
8956 */
8957 [dir="rtl"] #tabs li {
8958 float: right;
8959 }
8960 ul#tabs {
8961 margin-bottom: 4px;
8962 }
8963 [dir="rtl"] ul#tabs {
8964 margin-right: 0px;
8965 }
8966 ul#tabs a {
8967 padding-top: 6px;
8968 padding-bottom: 4px;
8969 }
8970 ul.breadcrumb a:focus,
8971 ul.breadcrumb a:hover {
8972 text-decoration: none;
8973 }
8974 ul.breadcrumb i.icon-home {
8975 font-size: 16px;
8976 margin-right: 4px;
8977 }
8978 ul.breadcrumb span {
8979 color: #5e5e5e;
8980 }
8981 .list_toolbar {
8982 padding: 4px 0 4px 0;
8983 vertical-align: middle;
8984 }
8985 .list_toolbar .tree-buttons {
8986 padding-top: 1px;
8987 }
8988 [dir="rtl"] .list_toolbar .tree-buttons {
8989 float: left !important;
8990 }
8991 [dir="rtl"] .list_toolbar .pull-right {
8992 padding-top: 1px;
8993 float: left !important;
8994 }
8995 [dir="rtl"] .list_toolbar .pull-left {
8996 float: right !important;
8997 }
8998 .dynamic-buttons {
8999 padding-top: 3px;
9000 display: inline-block;
9001 }
9002 .list_toolbar [class*="span"] {
9003 min-height: 24px;
9004 }
9005 .list_header {
9006 font-weight: bold;
9007 background-color: #EEE;
9008 }
9009 .list_placeholder {
9010 font-weight: bold;
9011 padding-top: 4px;
9012 padding-bottom: 4px;
9013 padding-left: 7px;
9014 padding-right: 7px;
9015 }
9016 .list_container {
9017 margin-top: 4px;
9018 margin-bottom: 20px;
9019 border: 1px solid #ddd;
9020 border-radius: 2px;
9021 }
9022 .list_container > div {
9023 border-bottom: 1px solid #ddd;
9024 }
9025 .list_container > div:hover .list-item {
9026 background-color: red;
9027 }
9028 .list_container > div:last-child {
9029 border: none;
9030 }
9031 .list_item:hover .list_item {
9032 background-color: #ddd;
9033 }
9034 .list_item a {
9035 text-decoration: none;
9036 }
9037 .list_item:hover {
9038 background-color: #fafafa;
9039 }
9040 .list_header > div,
9041 .list_item > div {
9042 padding-top: 4px;
9043 padding-bottom: 4px;
9044 padding-left: 7px;
9045 padding-right: 7px;
9046 line-height: 22px;
9047 }
9048 .list_header > div input,
9049 .list_item > div input {
9050 margin-right: 7px;
9051 margin-left: 14px;
9052 vertical-align: baseline;
9053 line-height: 22px;
9054 position: relative;
9055 top: -1px;
9056 }
9057 .list_header > div .item_link,
9058 .list_item > div .item_link {
9059 margin-left: -1px;
9060 vertical-align: baseline;
9061 line-height: 22px;
9062 }
9063 .new-file input[type=checkbox] {
9064 visibility: hidden;
9065 }
9066 .item_name {
9067 line-height: 22px;
9068 height: 24px;
9069 }
9070 .item_icon {
9071 font-size: 14px;
9072 color: #5e5e5e;
9073 margin-right: 7px;
9074 margin-left: 7px;
9075 line-height: 22px;
9076 vertical-align: baseline;
9077 }
9078 .item_buttons {
9079 line-height: 1em;
9080 margin-left: -5px;
9081 }
9082 .item_buttons .btn,
9083 .item_buttons .btn-group,
9084 .item_buttons .input-group {
9085 float: left;
9086 }
9087 .item_buttons > .btn,
9088 .item_buttons > .btn-group,
9089 .item_buttons > .input-group {
9090 margin-left: 5px;
9091 }
9092 .item_buttons .btn {
9093 min-width: 13ex;
9094 }
9095 .item_buttons .running-indicator {
9096 padding-top: 4px;
9097 color: #5cb85c;
9098 }
9099 .item_buttons .kernel-name {
9100 padding-top: 4px;
9101 color: #5bc0de;
9102 margin-right: 7px;
9103 float: left;
9104 }
9105 .toolbar_info {
9106 height: 24px;
9107 line-height: 24px;
9108 }
9109 .list_item input:not([type=checkbox]) {
9110 padding-top: 3px;
9111 padding-bottom: 3px;
9112 height: 22px;
9113 line-height: 14px;
9114 margin: 0px;
9115 }
9116 .highlight_text {
9117 color: blue;
9118 }
9119 #project_name {
9120 display: inline-block;
9121 padding-left: 7px;
9122 margin-left: -2px;
9123 }
9124 #project_name > .breadcrumb {
9125 padding: 0px;
9126 margin-bottom: 0px;
9127 background-color: transparent;
9128 font-weight: bold;
9129 }
9130 #tree-selector {
9131 padding-right: 0px;
9132 }
9133 [dir="rtl"] #tree-selector a {
9134 float: right;
9135 }
9136 #button-select-all {
9137 min-width: 50px;
9138 }
9139 #select-all {
9140 margin-left: 7px;
9141 margin-right: 2px;
9142 }
9143 .menu_icon {
9144 margin-right: 2px;
9145 }
9146 .tab-content .row {
9147 margin-left: 0px;
9148 margin-right: 0px;
9149 }
9150 .folder_icon:before {
9151 display: inline-block;
9152 font: normal normal normal 14px/1 FontAwesome;
9153 font-size: inherit;
9154 text-rendering: auto;
9155 -webkit-font-smoothing: antialiased;
9156 -moz-osx-font-smoothing: grayscale;
9157 content: "\f114";
9158 }
9159 .folder_icon:before.pull-left {
9160 margin-right: .3em;
9161 }
9162 .folder_icon:before.pull-right {
9163 margin-left: .3em;
9164 }
9165 .notebook_icon:before {
9166 display: inline-block;
9167 font: normal normal normal 14px/1 FontAwesome;
9168 font-size: inherit;
9169 text-rendering: auto;
9170 -webkit-font-smoothing: antialiased;
9171 -moz-osx-font-smoothing: grayscale;
9172 content: "\f02d";
9173 position: relative;
9174 top: -1px;
9175 }
9176 .notebook_icon:before.pull-left {
9177 margin-right: .3em;
9178 }
9179 .notebook_icon:before.pull-right {
9180 margin-left: .3em;
9181 }
9182 .running_notebook_icon:before {
9183 display: inline-block;
9184 font: normal normal normal 14px/1 FontAwesome;
9185 font-size: inherit;
9186 text-rendering: auto;
9187 -webkit-font-smoothing: antialiased;
9188 -moz-osx-font-smoothing: grayscale;
9189 content: "\f02d";
9190 position: relative;
9191 top: -1px;
9192 color: #5cb85c;
9193 }
9194 .running_notebook_icon:before.pull-left {
9195 margin-right: .3em;
9196 }
9197 .running_notebook_icon:before.pull-right {
9198 margin-left: .3em;
9199 }
9200 .file_icon:before {
9201 display: inline-block;
9202 font: normal normal normal 14px/1 FontAwesome;
9203 font-size: inherit;
9204 text-rendering: auto;
9205 -webkit-font-smoothing: antialiased;
9206 -moz-osx-font-smoothing: grayscale;
9207 content: "\f016";
9208 position: relative;
9209 top: -2px;
9210 }
9211 .file_icon:before.pull-left {
9212 margin-right: .3em;
9213 }
9214 .file_icon:before.pull-right {
9215 margin-left: .3em;
9216 }
9217 #notebook_toolbar .pull-right {
9218 padding-top: 0px;
9219 margin-right: -1px;
9220 }
9221 ul#new-menu {
9222 left: auto;
9223 right: 0;
9224 }
9225 [dir="rtl"] #new-menu {
9226 text-align: right;
9227 }
9228 .kernel-menu-icon {
9229 padding-right: 12px;
9230 width: 24px;
9231 content: "\f096";
9232 }
9233 .kernel-menu-icon:before {
9234 content: "\f096";
9235 }
9236 .kernel-menu-icon-current:before {
9237 content: "\f00c";
9238 }
9239 #tab_content {
9240 padding-top: 20px;
9241 }
9242 #running .panel-group .panel {
9243 margin-top: 3px;
9244 margin-bottom: 1em;
9245 }
9246 #running .panel-group .panel .panel-heading {
9247 background-color: #EEE;
9248 padding-top: 4px;
9249 padding-bottom: 4px;
9250 padding-left: 7px;
9251 padding-right: 7px;
9252 line-height: 22px;
9253 }
9254 #running .panel-group .panel .panel-heading a:focus,
9255 #running .panel-group .panel .panel-heading a:hover {
9256 text-decoration: none;
9257 }
9258 #running .panel-group .panel .panel-body {
9259 padding: 0px;
9260 }
9261 #running .panel-group .panel .panel-body .list_container {
9262 margin-top: 0px;
9263 margin-bottom: 0px;
9264 border: 0px;
9265 border-radius: 0px;
9266 }
9267 #running .panel-group .panel .panel-body .list_container .list_item {
9268 border-bottom: 1px solid #ddd;
9269 }
9270 #running .panel-group .panel .panel-body .list_container .list_item:last-child {
9271 border-bottom: 0px;
9272 }
9273 [dir="rtl"] #running .col-sm-8 {
9274 float: right !important;
9275 }
9276 .delete-button {
9277 display: none;
9278 }
9279 .duplicate-button {
9280 display: none;
9281 }
9282 .rename-button {
9283 display: none;
9284 }
9285 .shutdown-button {
9286 display: none;
9287 }
9288 .dynamic-instructions {
9289 display: inline-block;
9290 padding-top: 4px;
9291 }
9292 /*!
9293 *
9294 * IPython text editor webapp
9295 *
9296 */
9297 .selected-keymap i.fa {
9298 padding: 0px 5px;
9299 }
9300 .selected-keymap i.fa:before {
9301 content: "\f00c";
9302 }
9303 #mode-menu {
9304 overflow: auto;
9305 max-height: 20em;
9306 }
9307 .edit_app #header {
9308 -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
9309 box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
9310 }
9311 .edit_app #menubar .navbar {
9312 /* Use a negative 1 bottom margin, so the border overlaps the border of the
9313 header */
9314 margin-bottom: -1px;
9315 }
9316 .dirty-indicator {
9317 display: inline-block;
9318 font: normal normal normal 14px/1 FontAwesome;
9319 font-size: inherit;
9320 text-rendering: auto;
9321 -webkit-font-smoothing: antialiased;
9322 -moz-osx-font-smoothing: grayscale;
9323 width: 20px;
9324 }
9325 .dirty-indicator.pull-left {
9326 margin-right: .3em;
9327 }
9328 .dirty-indicator.pull-right {
9329 margin-left: .3em;
9330 }
9331 .dirty-indicator-dirty {
9332 display: inline-block;
9333 font: normal normal normal 14px/1 FontAwesome;
9334 font-size: inherit;
9335 text-rendering: auto;
9336 -webkit-font-smoothing: antialiased;
9337 -moz-osx-font-smoothing: grayscale;
9338 width: 20px;
9339 }
9340 .dirty-indicator-dirty.pull-left {
9341 margin-right: .3em;
9342 }
9343 .dirty-indicator-dirty.pull-right {
9344 margin-left: .3em;
9345 }
9346 .dirty-indicator-clean {
9347 display: inline-block;
9348 font: normal normal normal 14px/1 FontAwesome;
9349 font-size: inherit;
9350 text-rendering: auto;
9351 -webkit-font-smoothing: antialiased;
9352 -moz-osx-font-smoothing: grayscale;
9353 width: 20px;
9354 }
9355 .dirty-indicator-clean.pull-left {
9356 margin-right: .3em;
9357 }
9358 .dirty-indicator-clean.pull-right {
9359 margin-left: .3em;
9360 }
9361 .dirty-indicator-clean:before {
9362 display: inline-block;
9363 font: normal normal normal 14px/1 FontAwesome;
9364 font-size: inherit;
9365 text-rendering: auto;
9366 -webkit-font-smoothing: antialiased;
9367 -moz-osx-font-smoothing: grayscale;
9368 content: "\f00c";
9369 }
9370 .dirty-indicator-clean:before.pull-left {
9371 margin-right: .3em;
9372 }
9373 .dirty-indicator-clean:before.pull-right {
9374 margin-left: .3em;
9375 }
9376 #filename {
9377 font-size: 16pt;
9378 display: table;
9379 padding: 0px 5px;
9380 }
9381 #current-mode {
9382 padding-left: 5px;
9383 padding-right: 5px;
9384 }
9385 #texteditor-backdrop {
9386 padding-top: 20px;
9387 padding-bottom: 20px;
9388 }
9389 @media not print {
9390 #texteditor-backdrop {
9391 background-color: #EEE;
9392 }
9393 }
9394 @media print {
9395 #texteditor-backdrop #texteditor-container .CodeMirror-gutter,
9396 #texteditor-backdrop #texteditor-container .CodeMirror-gutters {
9397 background-color: #fff;
9398 }
9399 }
9400 @media not print {
9401 #texteditor-backdrop #texteditor-container .CodeMirror-gutter,
9402 #texteditor-backdrop #texteditor-container .CodeMirror-gutters {
9403 background-color: #fff;
9404 }
9405 }
9406 @media not print {
9407 #texteditor-backdrop #texteditor-container {
9408 padding: 0px;
9409 background-color: #fff;
9410 -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
9411 box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
9412 }
9413 }
9414 /*!
9415 *
9416 * IPython notebook
9417 *
9418 */
9419 /* CSS font colors for translated ANSI colors. */
9420 .ansibold {
9421 font-weight: bold;
9422 }
9423 /* use dark versions for foreground, to improve visibility */
9424 .ansiblack {
9425 color: black;
9426 }
9427 .ansired {
9428 color: darkred;
9429 }
9430 .ansigreen {
9431 color: darkgreen;
9432 }
9433 .ansiyellow {
9434 color: #c4a000;
9435 }
9436 .ansiblue {
9437 color: darkblue;
9438 }
9439 .ansipurple {
9440 color: darkviolet;
9441 }
9442 .ansicyan {
9443 color: steelblue;
9444 }
9445 .ansigray {
9446 color: gray;
9447 }
9448 /* and light for background, for the same reason */
9449 .ansibgblack {
9450 background-color: black;
9451 }
9452 .ansibgred {
9453 background-color: red;
9454 }
9455 .ansibggreen {
9456 background-color: green;
9457 }
9458 .ansibgyellow {
9459 background-color: yellow;
9460 }
9461 .ansibgblue {
9462 background-color: blue;
9463 }
9464 .ansibgpurple {
9465 background-color: magenta;
9466 }
9467 .ansibgcyan {
9468 background-color: cyan;
9469 }
9470 .ansibggray {
9471 background-color: gray;
9472 }
9473 div.cell {
9474 /* Old browsers */
9475 display: -webkit-box;
9476 -webkit-box-orient: vertical;
9477 -webkit-box-align: stretch;
9478 display: -moz-box;
9479 -moz-box-orient: vertical;
9480 -moz-box-align: stretch;
9481 display: box;
9482 box-orient: vertical;
9483 box-align: stretch;
9484 /* Modern browsers */
9485 display: flex;
9486 flex-direction: column;
9487 align-items: stretch;
9488 border-radius: 2px;
9489 box-sizing: border-box;
9490 -moz-box-sizing: border-box;
9491 -webkit-box-sizing: border-box;
9492 border-width: 1px;
9493 border-style: solid;
9494 border-color: transparent;
9495 width: 100%;
9496 padding: 5px;
9497 /* This acts as a spacer between cells, that is outside the border */
9498 margin: 0px;
9499 outline: none;
9500 border-left-width: 1px;
9501 padding-left: 5px;
9502 background: linear-gradient(to right, transparent -40px, transparent 1px, transparent 1px, transparent 100%);
9503 }
9504 div.cell.jupyter-soft-selected {
9505 border-left-color: #90CAF9;
9506 border-left-color: #E3F2FD;
9507 border-left-width: 1px;
9508 padding-left: 5px;
9509 border-right-color: #E3F2FD;
9510 border-right-width: 1px;
9511 background: #E3F2FD;
9512 }
9513 @media print {
9514 div.cell.jupyter-soft-selected {
9515 border-color: transparent;
9516 }
9517 }
9518 div.cell.selected {
9519 border-color: #ababab;
9520 border-left-width: 0px;
9521 padding-left: 6px;
9522 background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 5px, transparent 5px, transparent 100%);
9523 }
9524 @media print {
9525 div.cell.selected {
9526 border-color: transparent;
9527 }
9528 }
9529 div.cell.selected.jupyter-soft-selected {
9530 border-left-width: 0;
9531 padding-left: 6px;
9532 background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 7px, #E3F2FD 7px, #E3F2FD 100%);
9533 }
9534 .edit_mode div.cell.selected {
9535 border-color: #66BB6A;
9536 border-left-width: 0px;
9537 padding-left: 6px;
9538 background: linear-gradient(to right, #66BB6A -40px, #66BB6A 5px, transparent 5px, transparent 100%);
9539 }
9540 @media print {
9541 .edit_mode div.cell.selected {
9542 border-color: transparent;
9543 }
9544 }
9545 .prompt {
9546 /* This needs to be wide enough for 3 digit prompt numbers: In[100]: */
9547 min-width: 14ex;
9548 /* This padding is tuned to match the padding on the CodeMirror editor. */
9549 padding: 0.4em;
9550 margin: 0px;
9551 font-family: monospace;
9552 text-align: right;
9553 /* This has to match that of the the CodeMirror class line-height below */
9554 line-height: 1.21429em;
9555 /* Don't highlight prompt number selection */
9556 -webkit-touch-callout: none;
9557 -webkit-user-select: none;
9558 -khtml-user-select: none;
9559 -moz-user-select: none;
9560 -ms-user-select: none;
9561 user-select: none;
9562 /* Use default cursor */
9563 cursor: default;
9564 }
9565 @media (max-width: 540px) {
9566 .prompt {
9567 text-align: left;
9568 }
9569 }
9570 div.inner_cell {
9571 min-width: 0;
9572 /* Old browsers */
9573 display: -webkit-box;
9574 -webkit-box-orient: vertical;
9575 -webkit-box-align: stretch;
9576 display: -moz-box;
9577 -moz-box-orient: vertical;
9578 -moz-box-align: stretch;
9579 display: box;
9580 box-orient: vertical;
9581 box-align: stretch;
9582 /* Modern browsers */
9583 display: flex;
9584 flex-direction: column;
9585 align-items: stretch;
9586 /* Old browsers */
9587 -webkit-box-flex: 1;
9588 -moz-box-flex: 1;
9589 box-flex: 1;
9590 /* Modern browsers */
9591 flex: 1;
9592 }
9593 /* input_area and input_prompt must match in top border and margin for alignment */
9594 div.input_area {
9595 border: 1px solid #cfcfcf;
9596 border-radius: 2px;
9597 background: #f7f7f7;
9598 line-height: 1.21429em;
9599 }
9600 /* This is needed so that empty prompt areas can collapse to zero height when there
9601 is no content in the output_subarea and the prompt. The main purpose of this is
9602 to make sure that empty JavaScript output_subareas have no height. */
9603 div.prompt:empty {
9604 padding-top: 0;
9605 padding-bottom: 0;
9606 }
9607 div.unrecognized_cell {
9608 padding: 5px 5px 5px 0px;
9609 /* Old browsers */
9610 display: -webkit-box;
9611 -webkit-box-orient: horizontal;
9612 -webkit-box-align: stretch;
9613 display: -moz-box;
9614 -moz-box-orient: horizontal;
9615 -moz-box-align: stretch;
9616 display: box;
9617 box-orient: horizontal;
9618 box-align: stretch;
9619 /* Modern browsers */
9620 display: flex;
9621 flex-direction: row;
9622 align-items: stretch;
9623 }
9624 div.unrecognized_cell .inner_cell {
9625 border-radius: 2px;
9626 padding: 5px;
9627 font-weight: bold;
9628 color: red;
9629 border: 1px solid #cfcfcf;
9630 background: #eaeaea;
9631 }
9632 div.unrecognized_cell .inner_cell a {
9633 color: inherit;
9634 text-decoration: none;
9635 }
9636 div.unrecognized_cell .inner_cell a:hover {
9637 color: inherit;
9638 text-decoration: none;
9639 }
9640 @media (max-width: 540px) {
9641 div.unrecognized_cell > div.prompt {
9642 display: none;
9643 }
9644 }
9645 div.code_cell {
9646 /* avoid page breaking on code cells when printing */
9647 }
9648 @media print {
9649 div.code_cell {
9650 page-break-inside: avoid;
9651 }
9652 }
9653 /* any special styling for code cells that are currently running goes here */
9654 div.input {
9655 page-break-inside: avoid;
9656 /* Old browsers */
9657 display: -webkit-box;
9658 -webkit-box-orient: horizontal;
9659 -webkit-box-align: stretch;
9660 display: -moz-box;
9661 -moz-box-orient: horizontal;
9662 -moz-box-align: stretch;
9663 display: box;
9664 box-orient: horizontal;
9665 box-align: stretch;
9666 /* Modern browsers */
9667 display: flex;
9668 flex-direction: row;
9669 align-items: stretch;
9670 }
9671 @media (max-width: 540px) {
9672 div.input {
9673 /* Old browsers */
9674 display: -webkit-box;
9675 -webkit-box-orient: vertical;
9676 -webkit-box-align: stretch;
9677 display: -moz-box;
9678 -moz-box-orient: vertical;
9679 -moz-box-align: stretch;
9680 display: box;
9681 box-orient: vertical;
9682 box-align: stretch;
9683 /* Modern browsers */
9684 display: flex;
9685 flex-direction: column;
9686 align-items: stretch;
9687 }
9688 }
9689 /* input_area and input_prompt must match in top border and margin for alignment */
9690 div.input_prompt {
9691 color: #303F9F;
9692 border-top: 1px solid transparent;
9693 }
9694 div.input_area > div.highlight {
9695 margin: 0.4em;
9696 border: none;
9697 padding: 0px;
9698 background-color: transparent;
9699 }
9700 div.input_area > div.highlight > pre {
9701 margin: 0px;
9702 border: none;
9703 padding: 0px;
9704 background-color: transparent;
9705 }
9706 /* The following gets added to the <head> if it is detected that the user has a
9707 * monospace font with inconsistent normal/bold/italic height. See
9708 * notebookmain.js. Such fonts will have keywords vertically offset with
9709 * respect to the rest of the text. The user should select a better font.
9710 * See: https://github.com/ipython/ipython/issues/1503
9711 *
9712 * .CodeMirror span {
9713 * vertical-align: bottom;
9714 * }
9715 */
9716 .CodeMirror {
9717 line-height: 1.21429em;
9718 /* Changed from 1em to our global default */
9719 font-size: 14px;
9720 height: auto;
9721 /* Changed to auto to autogrow */
9722 background: none;
9723 /* Changed from white to allow our bg to show through */
9724 }
9725 .CodeMirror-scroll {
9726 /* The CodeMirror docs are a bit fuzzy on if overflow-y should be hidden or visible.*/
9727 /* We have found that if it is visible, vertical scrollbars appear with font size changes.*/
9728 overflow-y: hidden;
9729 overflow-x: auto;
9730 }
9731 .CodeMirror-lines {
9732 /* In CM2, this used to be 0.4em, but in CM3 it went to 4px. We need the em value because */
9733 /* we have set a different line-height and want this to scale with that. */
9734 padding: 0.4em;
9735 }
9736 .CodeMirror-linenumber {
9737 padding: 0 8px 0 4px;
9738 }
9739 .CodeMirror-gutters {
9740 border-bottom-left-radius: 2px;
9741 border-top-left-radius: 2px;
9742 }
9743 .CodeMirror pre {
9744 /* In CM3 this went to 4px from 0 in CM2. We need the 0 value because of how we size */
9745 /* .CodeMirror-lines */
9746 padding: 0;
9747 border: 0;
9748 border-radius: 0;
9749 }
9750 /*
9751
9752 Original style from softwaremaniacs.org (c) Ivan Sagalaev <Maniac@SoftwareManiacs.Org>
9753 Adapted from GitHub theme
9754
9755 */
9756 .highlight-base {
9757 color: #000;
9758 }
9759 .highlight-variable {
9760 color: #000;
9761 }
9762 .highlight-variable-2 {
9763 color: #1a1a1a;
9764 }
9765 .highlight-variable-3 {
9766 color: #333333;
9767 }
9768 .highlight-string {
9769 color: #BA2121;
9770 }
9771 .highlight-comment {
9772 color: #408080;
9773 font-style: italic;
9774 }
9775 .highlight-number {
9776 color: #080;
9777 }
9778 .highlight-atom {
9779 color: #88F;
9780 }
9781 .highlight-keyword {
9782 color: #008000;
9783 font-weight: bold;
9784 }
9785 .highlight-builtin {
9786 color: #008000;
9787 }
9788 .highlight-error {
9789 color: #f00;
9790 }
9791 .highlight-operator {
9792 color: #AA22FF;
9793 font-weight: bold;
9794 }
9795 .highlight-meta {
9796 color: #AA22FF;
9797 }
9798 /* previously not defined, copying from default codemirror */
9799 .highlight-def {
9800 color: #00f;
9801 }
9802 .highlight-string-2 {
9803 color: #f50;
9804 }
9805 .highlight-qualifier {
9806 color: #555;
9807 }
9808 .highlight-bracket {
9809 color: #997;
9810 }
9811 .highlight-tag {
9812 color: #170;
9813 }
9814 .highlight-attribute {
9815 color: #00c;
9816 }
9817 .highlight-header {
9818 color: blue;
9819 }
9820 .highlight-quote {
9821 color: #090;
9822 }
9823 .highlight-link {
9824 color: #00c;
9825 }
9826 /* apply the same style to codemirror */
9827 .cm-s-ipython span.cm-keyword {
9828 color: #008000;
9829 font-weight: bold;
9830 }
9831 .cm-s-ipython span.cm-atom {
9832 color: #88F;
9833 }
9834 .cm-s-ipython span.cm-number {
9835 color: #080;
9836 }
9837 .cm-s-ipython span.cm-def {
9838 color: #00f;
9839 }
9840 .cm-s-ipython span.cm-variable {
9841 color: #000;
9842 }
9843 .cm-s-ipython span.cm-operator {
9844 color: #AA22FF;
9845 font-weight: bold;
9846 }
9847 .cm-s-ipython span.cm-variable-2 {
9848 color: #1a1a1a;
9849 }
9850 .cm-s-ipython span.cm-variable-3 {
9851 color: #333333;
9852 }
9853 .cm-s-ipython span.cm-comment {
9854 color: #408080;
9855 font-style: italic;
9856 }
9857 .cm-s-ipython span.cm-string {
9858 color: #BA2121;
9859 }
9860 .cm-s-ipython span.cm-string-2 {
9861 color: #f50;
9862 }
9863 .cm-s-ipython span.cm-meta {
9864 color: #AA22FF;
9865 }
9866 .cm-s-ipython span.cm-qualifier {
9867 color: #555;
9868 }
9869 .cm-s-ipython span.cm-builtin {
9870 color: #008000;
9871 }
9872 .cm-s-ipython span.cm-bracket {
9873 color: #997;
9874 }
9875 .cm-s-ipython span.cm-tag {
9876 color: #170;
9877 }
9878 .cm-s-ipython span.cm-attribute {
9879 color: #00c;
9880 }
9881 .cm-s-ipython span.cm-header {
9882 color: blue;
9883 }
9884 .cm-s-ipython span.cm-quote {
9885 color: #090;
9886 }
9887 .cm-s-ipython span.cm-link {
9888 color: #00c;
9889 }
9890 .cm-s-ipython span.cm-error {
9891 color: #f00;
9892 }
9893 .cm-s-ipython span.cm-tab {
9894 background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAMCAYAAAAkuj5RAAAAAXNSR0IArs4c6QAAAGFJREFUSMft1LsRQFAQheHPowAKoACx3IgEKtaEHujDjORSgWTH/ZOdnZOcM/sgk/kFFWY0qV8foQwS4MKBCS3qR6ixBJvElOobYAtivseIE120FaowJPN75GMu8j/LfMwNjh4HUpwg4LUAAAAASUVORK5CYII=);
9895 background-position: right;
9896 background-repeat: no-repeat;
9897 }
9898 div.output_wrapper {
9899 /* this position must be relative to enable descendents to be absolute within it */
9900 position: relative;
9901 /* Old browsers */
9902 display: -webkit-box;
9903 -webkit-box-orient: vertical;
9904 -webkit-box-align: stretch;
9905 display: -moz-box;
9906 -moz-box-orient: vertical;
9907 -moz-box-align: stretch;
9908 display: box;
9909 box-orient: vertical;
9910 box-align: stretch;
9911 /* Modern browsers */
9912 display: flex;
9913 flex-direction: column;
9914 align-items: stretch;
9915 z-index: 1;
9916 }
9917 /* class for the output area when it should be height-limited */
9918 div.output_scroll {
9919 /* ideally, this would be max-height, but FF barfs all over that */
9920 height: 24em;
9921 /* FF needs this *and the wrapper* to specify full width, or it will shrinkwrap */
9922 width: 100%;
9923 overflow: auto;
9924 border-radius: 2px;
9925 -webkit-box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8);
9926 box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8);
9927 display: block;
9928 }
9929 /* output div while it is collapsed */
9930 div.output_collapsed {
9931 margin: 0px;
9932 padding: 0px;
9933 /* Old browsers */
9934 display: -webkit-box;
9935 -webkit-box-orient: vertical;
9936 -webkit-box-align: stretch;
9937 display: -moz-box;
9938 -moz-box-orient: vertical;
9939 -moz-box-align: stretch;
9940 display: box;
9941 box-orient: vertical;
9942 box-align: stretch;
9943 /* Modern browsers */
9944 display: flex;
9945 flex-direction: column;
9946 align-items: stretch;
9947 }
9948 div.out_prompt_overlay {
9949 height: 100%;
9950 padding: 0px 0.4em;
9951 position: absolute;
9952 border-radius: 2px;
9953 }
9954 div.out_prompt_overlay:hover {
9955 /* use inner shadow to get border that is computed the same on WebKit/FF */
9956 -webkit-box-shadow: inset 0 0 1px #000;
9957 box-shadow: inset 0 0 1px #000;
9958 background: rgba(240, 240, 240, 0.5);
9959 }
9960 div.output_prompt {
9961 color: #D84315;
9962 }
9963 /* This class is the outer container of all output sections. */
9964 div.output_area {
9965 padding: 0px;
9966 page-break-inside: avoid;
9967 /* Old browsers */
9968 display: -webkit-box;
9969 -webkit-box-orient: horizontal;
9970 -webkit-box-align: stretch;
9971 display: -moz-box;
9972 -moz-box-orient: horizontal;
9973 -moz-box-align: stretch;
9974 display: box;
9975 box-orient: horizontal;
9976 box-align: stretch;
9977 /* Modern browsers */
9978 display: flex;
9979 flex-direction: row;
9980 align-items: stretch;
9981 }
9982 div.output_area .MathJax_Display {
9983 text-align: left !important;
9984 }
9985 div.output_area .rendered_html table {
9986 margin-left: 0;
9987 margin-right: 0;
9988 }
9989 div.output_area .rendered_html img {
9990 margin-left: 0;
9991 margin-right: 0;
9992 }
9993 div.output_area img,
9994 div.output_area svg {
9995 max-width: 100%;
9996 height: auto;
9997 }
9998 div.output_area img.unconfined,
9999 div.output_area svg.unconfined {
10000 max-width: none;
10001 }
10002 /* This is needed to protect the pre formating from global settings such
10003 as that of bootstrap */
10004 .output {
10005 /* Old browsers */
10006 display: -webkit-box;
10007 -webkit-box-orient: vertical;
10008 -webkit-box-align: stretch;
10009 display: -moz-box;
10010 -moz-box-orient: vertical;
10011 -moz-box-align: stretch;
10012 display: box;
10013 box-orient: vertical;
10014 box-align: stretch;
10015 /* Modern browsers */
10016 display: flex;
10017 flex-direction: column;
10018 align-items: stretch;
10019 }
10020 @media (max-width: 540px) {
10021 div.output_area {
10022 /* Old browsers */
10023 display: -webkit-box;
10024 -webkit-box-orient: vertical;
10025 -webkit-box-align: stretch;
10026 display: -moz-box;
10027 -moz-box-orient: vertical;
10028 -moz-box-align: stretch;
10029 display: box;
10030 box-orient: vertical;
10031 box-align: stretch;
10032 /* Modern browsers */
10033 display: flex;
10034 flex-direction: column;
10035 align-items: stretch;
10036 }
10037 }
10038 div.output_area pre {
10039 margin: 0;
10040 padding: 0;
10041 border: 0;
10042 vertical-align: baseline;
10043 color: black;
10044 background-color: transparent;
10045 border-radius: 0;
10046 }
10047 /* This class is for the output subarea inside the output_area and after
10048 the prompt div. */
10049 div.output_subarea {
10050 overflow-x: auto;
10051 padding: 0.4em;
10052 /* Old browsers */
10053 -webkit-box-flex: 1;
10054 -moz-box-flex: 1;
10055 box-flex: 1;
10056 /* Modern browsers */
10057 flex: 1;
10058 max-width: calc(100% - 14ex);
10059 }
10060 div.output_scroll div.output_subarea {
10061 overflow-x: visible;
10062 }
10063 /* The rest of the output_* classes are for special styling of the different
10064 output types */
10065 /* all text output has this class: */
10066 div.output_text {
10067 text-align: left;
10068 color: #000;
10069 /* This has to match that of the the CodeMirror class line-height below */
10070 line-height: 1.21429em;
10071 }
10072 /* stdout/stderr are 'text' as well as 'stream', but execute_result/error are *not* streams */
10073 div.output_stderr {
10074 background: #fdd;
10075 /* very light red background for stderr */
10076 }
10077 div.output_latex {
10078 text-align: left;
10079 }
10080 /* Empty output_javascript divs should have no height */
10081 div.output_javascript:empty {
10082 padding: 0;
10083 }
10084 .js-error {
10085 color: darkred;
10086 }
10087 /* raw_input styles */
10088 div.raw_input_container {
10089 line-height: 1.21429em;
10090 padding-top: 5px;
10091 }
10092 pre.raw_input_prompt {
10093 /* nothing needed here. */
10094 }
10095 input.raw_input {
10096 font-family: monospace;
10097 font-size: inherit;
10098 color: inherit;
10099 width: auto;
10100 /* make sure input baseline aligns with prompt */
10101 vertical-align: baseline;
10102 /* padding + margin = 0.5em between prompt and cursor */
10103 padding: 0em 0.25em;
10104 margin: 0em 0.25em;
10105 }
10106 input.raw_input:focus {
10107 box-shadow: none;
10108 }
10109 p.p-space {
10110 margin-bottom: 10px;
10111 }
10112 div.output_unrecognized {
10113 padding: 5px;
10114 font-weight: bold;
10115 color: red;
10116 }
10117 div.output_unrecognized a {
10118 color: inherit;
10119 text-decoration: none;
10120 }
10121 div.output_unrecognized a:hover {
10122 color: inherit;
10123 text-decoration: none;
10124 }
10125 .rendered_html {
10126 color: #000;
10127 /* any extras will just be numbers: */
10128 }
10129 .rendered_html em {
10130 font-style: italic;
10131 }
10132 .rendered_html strong {
10133 font-weight: bold;
10134 }
10135 .rendered_html u {
10136 text-decoration: underline;
10137 }
10138 .rendered_html :link {
10139 text-decoration: underline;
10140 }
10141 .rendered_html :visited {
10142 text-decoration: underline;
10143 }
10144 .rendered_html h1 {
10145 font-size: 185.7%;
10146 margin: 1.08em 0 0 0;
10147 font-weight: bold;
10148 line-height: 1.0;
10149 }
10150 .rendered_html h2 {
10151 font-size: 157.1%;
10152 margin: 1.27em 0 0 0;
10153 font-weight: bold;
10154 line-height: 1.0;
10155 }
10156 .rendered_html h3 {
10157 font-size: 128.6%;
10158 margin: 1.55em 0 0 0;
10159 font-weight: bold;
10160 line-height: 1.0;
10161 }
10162 .rendered_html h4 {
10163 font-size: 100%;
10164 margin: 2em 0 0 0;
10165 font-weight: bold;
10166 line-height: 1.0;
10167 }
10168 .rendered_html h5 {
10169 font-size: 100%;
10170 margin: 2em 0 0 0;
10171 font-weight: bold;
10172 line-height: 1.0;
10173 font-style: italic;
10174 }
10175 .rendered_html h6 {
10176 font-size: 100%;
10177 margin: 2em 0 0 0;
10178 font-weight: bold;
10179 line-height: 1.0;
10180 font-style: italic;
10181 }
10182 .rendered_html h1:first-child {
10183 margin-top: 0.538em;
10184 }
10185 .rendered_html h2:first-child {
10186 margin-top: 0.636em;
10187 }
10188 .rendered_html h3:first-child {
10189 margin-top: 0.777em;
10190 }
10191 .rendered_html h4:first-child {
10192 margin-top: 1em;
10193 }
10194 .rendered_html h5:first-child {
10195 margin-top: 1em;
10196 }
10197 .rendered_html h6:first-child {
10198 margin-top: 1em;
10199 }
10200 .rendered_html ul {
10201 list-style: disc;
10202 margin: 0em 2em;
10203 padding-left: 0px;
10204 }
10205 .rendered_html ul ul {
10206 list-style: square;
10207 margin: 0em 2em;
10208 }
10209 .rendered_html ul ul ul {
10210 list-style: circle;
10211 margin: 0em 2em;
10212 }
10213 .rendered_html ol {
10214 list-style: decimal;
10215 margin: 0em 2em;
10216 padding-left: 0px;
10217 }
10218 .rendered_html ol ol {
10219 list-style: upper-alpha;
10220 margin: 0em 2em;
10221 }
10222 .rendered_html ol ol ol {
10223 list-style: lower-alpha;
10224 margin: 0em 2em;
10225 }
10226 .rendered_html ol ol ol ol {
10227 list-style: lower-roman;
10228 margin: 0em 2em;
10229 }
10230 .rendered_html ol ol ol ol ol {
10231 list-style: decimal;
10232 margin: 0em 2em;
10233 }
10234 .rendered_html * + ul {
10235 margin-top: 1em;
10236 }
10237 .rendered_html * + ol {
10238 margin-top: 1em;
10239 }
10240 .rendered_html hr {
10241 color: black;
10242 background-color: black;
10243 }
10244 .rendered_html pre {
10245 margin: 1em 2em;
10246 }
10247 .rendered_html pre,
10248 .rendered_html code {
10249 border: 0;
10250 background-color: #fff;
10251 color: #000;
10252 font-size: 100%;
10253 padding: 0px;
10254 }
10255 .rendered_html blockquote {
10256 margin: 1em 2em;
10257 }
10258 .rendered_html table {
10259 margin-left: auto;
10260 margin-right: auto;
10261 border: 1px solid black;
10262 border-collapse: collapse;
10263 }
10264 .rendered_html tr,
10265 .rendered_html th,
10266 .rendered_html td {
10267 border: 1px solid black;
10268 border-collapse: collapse;
10269 margin: 1em 2em;
10270 }
10271 .rendered_html td,
10272 .rendered_html th {
10273 text-align: left;
10274 vertical-align: middle;
10275 padding: 4px;
10276 }
10277 .rendered_html th {
10278 font-weight: bold;
10279 }
10280 .rendered_html * + table {
10281 margin-top: 1em;
10282 }
10283 .rendered_html p {
10284 text-align: left;
10285 }
10286 .rendered_html * + p {
10287 margin-top: 1em;
10288 }
10289 .rendered_html img {
10290 display: block;
10291 margin-left: auto;
10292 margin-right: auto;
10293 }
10294 .rendered_html * + img {
10295 margin-top: 1em;
10296 }
10297 .rendered_html img,
10298 .rendered_html svg {
10299 max-width: 100%;
10300 height: auto;
10301 }
10302 .rendered_html img.unconfined,
10303 .rendered_html svg.unconfined {
10304 max-width: none;
10305 }
10306 div.text_cell {
10307 /* Old browsers */
10308 display: -webkit-box;
10309 -webkit-box-orient: horizontal;
10310 -webkit-box-align: stretch;
10311 display: -moz-box;
10312 -moz-box-orient: horizontal;
10313 -moz-box-align: stretch;
10314 display: box;
10315 box-orient: horizontal;
10316 box-align: stretch;
10317 /* Modern browsers */
10318 display: flex;
10319 flex-direction: row;
10320 align-items: stretch;
10321 }
10322 @media (max-width: 540px) {
10323 div.text_cell > div.prompt {
10324 display: none;
10325 }
10326 }
10327 div.text_cell_render {
10328 /*font-family: "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;*/
10329 outline: none;
10330 resize: none;
10331 width: inherit;
10332 border-style: none;
10333 padding: 0.5em 0.5em 0.5em 0.4em;
10334 color: #000;
10335 box-sizing: border-box;
10336 -moz-box-sizing: border-box;
10337 -webkit-box-sizing: border-box;
10338 }
10339 a.anchor-link:link {
10340 text-decoration: none;
10341 padding: 0px 20px;
10342 visibility: hidden;
10343 }
10344 h1:hover .anchor-link,
10345 h2:hover .anchor-link,
10346 h3:hover .anchor-link,
10347 h4:hover .anchor-link,
10348 h5:hover .anchor-link,
10349 h6:hover .anchor-link {
10350 visibility: visible;
10351 }
10352 .text_cell.rendered .input_area {
10353 display: none;
10354 }
10355 .text_cell.rendered .rendered_html {
10356 overflow-x: auto;
10357 overflow-y: hidden;
10358 }
10359 .text_cell.unrendered .text_cell_render {
10360 display: none;
10361 }
10362 .cm-header-1,
10363 .cm-header-2,
10364 .cm-header-3,
10365 .cm-header-4,
10366 .cm-header-5,
10367 .cm-header-6 {
10368 font-weight: bold;
10369 font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
10370 }
10371 .cm-header-1 {
10372 font-size: 185.7%;
10373 }
10374 .cm-header-2 {
10375 font-size: 157.1%;
10376 }
10377 .cm-header-3 {
10378 font-size: 128.6%;
10379 }
10380 .cm-header-4 {
10381 font-size: 110%;
10382 }
10383 .cm-header-5 {
10384 font-size: 100%;
10385 font-style: italic;
10386 }
10387 .cm-header-6 {
10388 font-size: 100%;
10389 font-style: italic;
10390 }
10391 /*!
10392 *
10393 * IPython notebook webapp
10394 *
10395 */
10396 @media (max-width: 767px) {
10397 .notebook_app {
10398 padding-left: 0px;
10399 padding-right: 0px;
10400 }
10401 }
10402 #ipython-main-app {
10403 box-sizing: border-box;
10404 -moz-box-sizing: border-box;
10405 -webkit-box-sizing: border-box;
10406 height: 100%;
10407 }
10408 div#notebook_panel {
10409 margin: 0px;
10410 padding: 0px;
10411 box-sizing: border-box;
10412 -moz-box-sizing: border-box;
10413 -webkit-box-sizing: border-box;
10414 height: 100%;
10415 }
10416 div#notebook {
10417 font-size: 14px;
10418 line-height: 20px;
10419 overflow-y: hidden;
10420 overflow-x: auto;
10421 width: 100%;
10422 /* This spaces the page away from the edge of the notebook area */
10423 padding-top: 20px;
10424 margin: 0px;
10425 outline: none;
10426 box-sizing: border-box;
10427 -moz-box-sizing: border-box;
10428 -webkit-box-sizing: border-box;
10429 min-height: 100%;
10430 }
10431 @media not print {
10432 #notebook-container {
10433 padding: 15px;
10434 background-color: #fff;
10435 min-height: 0;
10436 -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
10437 box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
10438 }
10439 }
10440 @media print {
10441 #notebook-container {
10442 width: 100%;
10443 }
10444 }
10445 div.ui-widget-content {
10446 border: 1px solid #ababab;
10447 outline: none;
10448 }
10449 pre.dialog {
10450 background-color: #f7f7f7;
10451 border: 1px solid #ddd;
10452 border-radius: 2px;
10453 padding: 0.4em;
10454 padding-left: 2em;
10455 }
10456 p.dialog {
10457 padding: 0.2em;
10458 }
10459 /* Word-wrap output correctly. This is the CSS3 spelling, though Firefox seems
10460 to not honor it correctly. Webkit browsers (Chrome, rekonq, Safari) do.
10461 */
10462 pre,
10463 code,
10464 kbd,
10465 samp {
10466 white-space: pre-wrap;
10467 }
10468 #fonttest {
10469 font-family: monospace;
10470 }
10471 p {
10472 margin-bottom: 0;
10473 }
10474 .end_space {
10475 min-height: 100px;
10476 transition: height .2s ease;
10477 }
10478 .notebook_app > #header {
10479 -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
10480 box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
10481 }
10482 @media not print {
10483 .notebook_app {
10484 background-color: #EEE;
10485 }
10486 }
10487 kbd {
10488 border-style: solid;
10489 border-width: 1px;
10490 box-shadow: none;
10491 margin: 2px;
10492 padding-left: 2px;
10493 padding-right: 2px;
10494 padding-top: 1px;
10495 padding-bottom: 1px;
10496 }
10497 /* CSS for the cell toolbar */
10498 .celltoolbar {
10499 border: thin solid #CFCFCF;
10500 border-bottom: none;
10501 background: #EEE;
10502 border-radius: 2px 2px 0px 0px;
10503 width: 100%;
10504 height: 29px;
10505 padding-right: 4px;
10506 /* Old browsers */
10507 display: -webkit-box;
10508 -webkit-box-orient: horizontal;
10509 -webkit-box-align: stretch;
10510 display: -moz-box;
10511 -moz-box-orient: horizontal;
10512 -moz-box-align: stretch;
10513 display: box;
10514 box-orient: horizontal;
10515 box-align: stretch;
10516 /* Modern browsers */
10517 display: flex;
10518 flex-direction: row;
10519 align-items: stretch;
10520 /* Old browsers */
10521 -webkit-box-pack: end;
10522 -moz-box-pack: end;
10523 box-pack: end;
10524 /* Modern browsers */
10525 justify-content: flex-end;
10526 display: -webkit-flex;
10527 }
10528 @media print {
10529 .celltoolbar {
10530 display: none;
10531 }
10532 }
10533 .ctb_hideshow {
10534 display: none;
10535 vertical-align: bottom;
10536 }
10537 /* ctb_show is added to the ctb_hideshow div to show the cell toolbar.
10538 Cell toolbars are only shown when the ctb_global_show class is also set.
10539 */
10540 .ctb_global_show .ctb_show.ctb_hideshow {
10541 display: block;
10542 }
10543 .ctb_global_show .ctb_show + .input_area,
10544 .ctb_global_show .ctb_show + div.text_cell_input,
10545 .ctb_global_show .ctb_show ~ div.text_cell_render {
10546 border-top-right-radius: 0px;
10547 border-top-left-radius: 0px;
10548 }
10549 .ctb_global_show .ctb_show ~ div.text_cell_render {
10550 border: 1px solid #cfcfcf;
10551 }
10552 .celltoolbar {
10553 font-size: 87%;
10554 padding-top: 3px;
10555 }
10556 .celltoolbar select {
10557 display: block;
10558 width: 100%;
10559 height: 32px;
10560 padding: 6px 12px;
10561 font-size: 13px;
10562 line-height: 1.42857143;
10563 color: #555555;
10564 background-color: #fff;
10565 background-image: none;
10566 border: 1px solid #ccc;
10567 border-radius: 2px;
10568 -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
10569 box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
10570 -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
10571 -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
10572 transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
10573 height: 30px;
10574 padding: 5px 10px;
10575 font-size: 12px;
10576 line-height: 1.5;
10577 border-radius: 1px;
10578 width: inherit;
10579 font-size: inherit;
10580 height: 22px;
10581 padding: 0px;
10582 display: inline-block;
10583 }
10584 .celltoolbar select:focus {
10585 border-color: #66afe9;
10586 outline: 0;
10587 -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
10588 box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
10589 }
10590 .celltoolbar select::-moz-placeholder {
10591 color: #999;
10592 opacity: 1;
10593 }
10594 .celltoolbar select:-ms-input-placeholder {
10595 color: #999;
10596 }
10597 .celltoolbar select::-webkit-input-placeholder {
10598 color: #999;
10599 }
10600 .celltoolbar select::-ms-expand {
10601 border: 0;
10602 background-color: transparent;
10603 }
10604 .celltoolbar select[disabled],
10605 .celltoolbar select[readonly],
10606 fieldset[disabled] .celltoolbar select {
10607 background-color: #eeeeee;
10608 opacity: 1;
10609 }
10610 .celltoolbar select[disabled],
10611 fieldset[disabled] .celltoolbar select {
10612 cursor: not-allowed;
10613 }
10614 textarea.celltoolbar select {
10615 height: auto;
10616 }
10617 select.celltoolbar select {
10618 height: 30px;
10619 line-height: 30px;
10620 }
10621 textarea.celltoolbar select,
10622 select[multiple].celltoolbar select {
10623 height: auto;
10624 }
10625 .celltoolbar label {
10626 margin-left: 5px;
10627 margin-right: 5px;
10628 }
10629 .completions {
10630 position: absolute;
10631 z-index: 110;
10632 overflow: hidden;
10633 border: 1px solid #ababab;
10634 border-radius: 2px;
10635 -webkit-box-shadow: 0px 6px 10px -1px #adadad;
10636 box-shadow: 0px 6px 10px -1px #adadad;
10637 line-height: 1;
10638 }
10639 .completions select {
10640 background: white;
10641 outline: none;
10642 border: none;
10643 padding: 0px;
10644 margin: 0px;
10645 overflow: auto;
10646 font-family: monospace;
10647 font-size: 110%;
10648 color: #000;
10649 width: auto;
10650 }
10651 .completions select option.context {
10652 color: #286090;
10653 }
10654 #kernel_logo_widget {
10655 float: right !important;
10656 float: right;
10657 }
10658 #kernel_logo_widget .current_kernel_logo {
10659 display: none;
10660 margin-top: -1px;
10661 margin-bottom: -1px;
10662 width: 32px;
10663 height: 32px;
10664 }
10665 #menubar {
10666 box-sizing: border-box;
10667 -moz-box-sizing: border-box;
10668 -webkit-box-sizing: border-box;
10669 margin-top: 1px;
10670 }
10671 #menubar .navbar {
10672 border-top: 1px;
10673 border-radius: 0px 0px 2px 2px;
10674 margin-bottom: 0px;
10675 }
10676 #menubar .navbar-toggle {
10677 float: left;
10678 padding-top: 7px;
10679 padding-bottom: 7px;
10680 border: none;
10681 }
10682 #menubar .navbar-collapse {
10683 clear: left;
10684 }
10685 .nav-wrapper {
10686 border-bottom: 1px solid #e7e7e7;
10687 }
10688 i.menu-icon {
10689 padding-top: 4px;
10690 }
10691 ul#help_menu li a {
10692 overflow: hidden;
10693 padding-right: 2.2em;
10694 }
10695 ul#help_menu li a i {
10696 margin-right: -1.2em;
10697 }
10698 .dropdown-submenu {
10699 position: relative;
10700 }
10701 .dropdown-submenu > .dropdown-menu {
10702 top: 0;
10703 left: 100%;
10704 margin-top: -6px;
10705 margin-left: -1px;
10706 }
10707 .dropdown-submenu:hover > .dropdown-menu {
10708 display: block;
10709 }
10710 .dropdown-submenu > a:after {
10711 display: inline-block;
10712 font: normal normal normal 14px/1 FontAwesome;
10713 font-size: inherit;
10714 text-rendering: auto;
10715 -webkit-font-smoothing: antialiased;
10716 -moz-osx-font-smoothing: grayscale;
10717 display: block;
10718 content: "\f0da";
10719 float: right;
10720 color: #333333;
10721 margin-top: 2px;
10722 margin-right: -10px;
10723 }
10724 .dropdown-submenu > a:after.pull-left {
10725 margin-right: .3em;
10726 }
10727 .dropdown-submenu > a:after.pull-right {
10728 margin-left: .3em;
10729 }
10730 .dropdown-submenu:hover > a:after {
10731 color: #262626;
10732 }
10733 .dropdown-submenu.pull-left {
10734 float: none;
10735 }
10736 .dropdown-submenu.pull-left > .dropdown-menu {
10737 left: -100%;
10738 margin-left: 10px;
10739 }
10740 #notification_area {
10741 float: right !important;
10742 float: right;
10743 z-index: 10;
10744 }
10745 .indicator_area {
10746 float: right !important;
10747 float: right;
10748 color: #777;
10749 margin-left: 5px;
10750 margin-right: 5px;
10751 width: 11px;
10752 z-index: 10;
10753 text-align: center;
10754 width: auto;
10755 }
10756 #kernel_indicator {
10757 float: right !important;
10758 float: right;
10759 color: #777;
10760 margin-left: 5px;
10761 margin-right: 5px;
10762 width: 11px;
10763 z-index: 10;
10764 text-align: center;
10765 width: auto;
10766 border-left: 1px solid;
10767 }
10768 #kernel_indicator .kernel_indicator_name {
10769 padding-left: 5px;
10770 padding-right: 5px;
10771 }
10772 #modal_indicator {
10773 float: right !important;
10774 float: right;
10775 color: #777;
10776 margin-left: 5px;
10777 margin-right: 5px;
10778 width: 11px;
10779 z-index: 10;
10780 text-align: center;
10781 width: auto;
10782 }
10783 #readonly-indicator {
10784 float: right !important;
10785 float: right;
10786 color: #777;
10787 margin-left: 5px;
10788 margin-right: 5px;
10789 width: 11px;
10790 z-index: 10;
10791 text-align: center;
10792 width: auto;
10793 margin-top: 2px;
10794 margin-bottom: 0px;
10795 margin-left: 0px;
10796 margin-right: 0px;
10797 display: none;
10798 }
10799 .modal_indicator:before {
10800 width: 1.28571429em;
10801 text-align: center;
10802 }
10803 .edit_mode .modal_indicator:before {
10804 display: inline-block;
10805 font: normal normal normal 14px/1 FontAwesome;
10806 font-size: inherit;
10807 text-rendering: auto;
10808 -webkit-font-smoothing: antialiased;
10809 -moz-osx-font-smoothing: grayscale;
10810 content: "\f040";
10811 }
10812 .edit_mode .modal_indicator:before.pull-left {
10813 margin-right: .3em;
10814 }
10815 .edit_mode .modal_indicator:before.pull-right {
10816 margin-left: .3em;
10817 }
10818 .command_mode .modal_indicator:before {
10819 display: inline-block;
10820 font: normal normal normal 14px/1 FontAwesome;
10821 font-size: inherit;
10822 text-rendering: auto;
10823 -webkit-font-smoothing: antialiased;
10824 -moz-osx-font-smoothing: grayscale;
10825 content: ' ';
10826 }
10827 .command_mode .modal_indicator:before.pull-left {
10828 margin-right: .3em;
10829 }
10830 .command_mode .modal_indicator:before.pull-right {
10831 margin-left: .3em;
10832 }
10833 .kernel_idle_icon:before {
10834 display: inline-block;
10835 font: normal normal normal 14px/1 FontAwesome;
10836 font-size: inherit;
10837 text-rendering: auto;
10838 -webkit-font-smoothing: antialiased;
10839 -moz-osx-font-smoothing: grayscale;
10840 content: "\f10c";
10841 }
10842 .kernel_idle_icon:before.pull-left {
10843 margin-right: .3em;
10844 }
10845 .kernel_idle_icon:before.pull-right {
10846 margin-left: .3em;
10847 }
10848 .kernel_busy_icon:before {
10849 display: inline-block;
10850 font: normal normal normal 14px/1 FontAwesome;
10851 font-size: inherit;
10852 text-rendering: auto;
10853 -webkit-font-smoothing: antialiased;
10854 -moz-osx-font-smoothing: grayscale;
10855 content: "\f111";
10856 }
10857 .kernel_busy_icon:before.pull-left {
10858 margin-right: .3em;
10859 }
10860 .kernel_busy_icon:before.pull-right {
10861 margin-left: .3em;
10862 }
10863 .kernel_dead_icon:before {
10864 display: inline-block;
10865 font: normal normal normal 14px/1 FontAwesome;
10866 font-size: inherit;
10867 text-rendering: auto;
10868 -webkit-font-smoothing: antialiased;
10869 -moz-osx-font-smoothing: grayscale;
10870 content: "\f1e2";
10871 }
10872 .kernel_dead_icon:before.pull-left {
10873 margin-right: .3em;
10874 }
10875 .kernel_dead_icon:before.pull-right {
10876 margin-left: .3em;
10877 }
10878 .kernel_disconnected_icon:before {
10879 display: inline-block;
10880 font: normal normal normal 14px/1 FontAwesome;
10881 font-size: inherit;
10882 text-rendering: auto;
10883 -webkit-font-smoothing: antialiased;
10884 -moz-osx-font-smoothing: grayscale;
10885 content: "\f127";
10886 }
10887 .kernel_disconnected_icon:before.pull-left {
10888 margin-right: .3em;
10889 }
10890 .kernel_disconnected_icon:before.pull-right {
10891 margin-left: .3em;
10892 }
10893 .notification_widget {
10894 color: #777;
10895 z-index: 10;
10896 background: rgba(240, 240, 240, 0.5);
10897 margin-right: 4px;
10898 color: #333;
10899 background-color: #fff;
10900 border-color: #ccc;
10901 }
10902 .notification_widget:focus,
10903 .notification_widget.focus {
10904 color: #333;
10905 background-color: #e6e6e6;
10906 border-color: #8c8c8c;
10907 }
10908 .notification_widget:hover {
10909 color: #333;
10910 background-color: #e6e6e6;
10911 border-color: #adadad;
10912 }
10913 .notification_widget:active,
10914 .notification_widget.active,
10915 .open > .dropdown-toggle.notification_widget {
10916 color: #333;
10917 background-color: #e6e6e6;
10918 border-color: #adadad;
10919 }
10920 .notification_widget:active:hover,
10921 .notification_widget.active:hover,
10922 .open > .dropdown-toggle.notification_widget:hover,
10923 .notification_widget:active:focus,
10924 .notification_widget.active:focus,
10925 .open > .dropdown-toggle.notification_widget:focus,
10926 .notification_widget:active.focus,
10927 .notification_widget.active.focus,
10928 .open > .dropdown-toggle.notification_widget.focus {
10929 color: #333;
10930 background-color: #d4d4d4;
10931 border-color: #8c8c8c;
10932 }
10933 .notification_widget:active,
10934 .notification_widget.active,
10935 .open > .dropdown-toggle.notification_widget {
10936 background-image: none;
10937 }
10938 .notification_widget.disabled:hover,
10939 .notification_widget[disabled]:hover,
10940 fieldset[disabled] .notification_widget:hover,
10941 .notification_widget.disabled:focus,
10942 .notification_widget[disabled]:focus,
10943 fieldset[disabled] .notification_widget:focus,
10944 .notification_widget.disabled.focus,
10945 .notification_widget[disabled].focus,
10946 fieldset[disabled] .notification_widget.focus {
10947 background-color: #fff;
10948 border-color: #ccc;
10949 }
10950 .notification_widget .badge {
10951 color: #fff;
10952 background-color: #333;
10953 }
10954 .notification_widget.warning {
10955 color: #fff;
10956 background-color: #f0ad4e;
10957 border-color: #eea236;
10958 }
10959 .notification_widget.warning:focus,
10960 .notification_widget.warning.focus {
10961 color: #fff;
10962 background-color: #ec971f;
10963 border-color: #985f0d;
10964 }
10965 .notification_widget.warning:hover {
10966 color: #fff;
10967 background-color: #ec971f;
10968 border-color: #d58512;
10969 }
10970 .notification_widget.warning:active,
10971 .notification_widget.warning.active,
10972 .open > .dropdown-toggle.notification_widget.warning {
10973 color: #fff;
10974 background-color: #ec971f;
10975 border-color: #d58512;
10976 }
10977 .notification_widget.warning:active:hover,
10978 .notification_widget.warning.active:hover,
10979 .open > .dropdown-toggle.notification_widget.warning:hover,
10980 .notification_widget.warning:active:focus,
10981 .notification_widget.warning.active:focus,
10982 .open > .dropdown-toggle.notification_widget.warning:focus,
10983 .notification_widget.warning:active.focus,
10984 .notification_widget.warning.active.focus,
10985 .open > .dropdown-toggle.notification_widget.warning.focus {
10986 color: #fff;
10987 background-color: #d58512;
10988 border-color: #985f0d;
10989 }
10990 .notification_widget.warning:active,
10991 .notification_widget.warning.active,
10992 .open > .dropdown-toggle.notification_widget.warning {
10993 background-image: none;
10994 }
10995 .notification_widget.warning.disabled:hover,
10996 .notification_widget.warning[disabled]:hover,
10997 fieldset[disabled] .notification_widget.warning:hover,
10998 .notification_widget.warning.disabled:focus,
10999 .notification_widget.warning[disabled]:focus,
11000 fieldset[disabled] .notification_widget.warning:focus,
11001 .notification_widget.warning.disabled.focus,
11002 .notification_widget.warning[disabled].focus,
11003 fieldset[disabled] .notification_widget.warning.focus {
11004 background-color: #f0ad4e;
11005 border-color: #eea236;
11006 }
11007 .notification_widget.warning .badge {
11008 color: #f0ad4e;
11009 background-color: #fff;
11010 }
11011 .notification_widget.success {
11012 color: #fff;
11013 background-color: #5cb85c;
11014 border-color: #4cae4c;
11015 }
11016 .notification_widget.success:focus,
11017 .notification_widget.success.focus {
11018 color: #fff;
11019 background-color: #449d44;
11020 border-color: #255625;
11021 }
11022 .notification_widget.success:hover {
11023 color: #fff;
11024 background-color: #449d44;
11025 border-color: #398439;
11026 }
11027 .notification_widget.success:active,
11028 .notification_widget.success.active,
11029 .open > .dropdown-toggle.notification_widget.success {
11030 color: #fff;
11031 background-color: #449d44;
11032 border-color: #398439;
11033 }
11034 .notification_widget.success:active:hover,
11035 .notification_widget.success.active:hover,
11036 .open > .dropdown-toggle.notification_widget.success:hover,
11037 .notification_widget.success:active:focus,
11038 .notification_widget.success.active:focus,
11039 .open > .dropdown-toggle.notification_widget.success:focus,
11040 .notification_widget.success:active.focus,
11041 .notification_widget.success.active.focus,
11042 .open > .dropdown-toggle.notification_widget.success.focus {
11043 color: #fff;
11044 background-color: #398439;
11045 border-color: #255625;
11046 }
11047 .notification_widget.success:active,
11048 .notification_widget.success.active,
11049 .open > .dropdown-toggle.notification_widget.success {
11050 background-image: none;
11051 }
11052 .notification_widget.success.disabled:hover,
11053 .notification_widget.success[disabled]:hover,
11054 fieldset[disabled] .notification_widget.success:hover,
11055 .notification_widget.success.disabled:focus,
11056 .notification_widget.success[disabled]:focus,
11057 fieldset[disabled] .notification_widget.success:focus,
11058 .notification_widget.success.disabled.focus,
11059 .notification_widget.success[disabled].focus,
11060 fieldset[disabled] .notification_widget.success.focus {
11061 background-color: #5cb85c;
11062 border-color: #4cae4c;
11063 }
11064 .notification_widget.success .badge {
11065 color: #5cb85c;
11066 background-color: #fff;
11067 }
11068 .notification_widget.info {
11069 color: #fff;
11070 background-color: #5bc0de;
11071 border-color: #46b8da;
11072 }
11073 .notification_widget.info:focus,
11074 .notification_widget.info.focus {
11075 color: #fff;
11076 background-color: #31b0d5;
11077 border-color: #1b6d85;
11078 }
11079 .notification_widget.info:hover {
11080 color: #fff;
11081 background-color: #31b0d5;
11082 border-color: #269abc;
11083 }
11084 .notification_widget.info:active,
11085 .notification_widget.info.active,
11086 .open > .dropdown-toggle.notification_widget.info {
11087 color: #fff;
11088 background-color: #31b0d5;
11089 border-color: #269abc;
11090 }
11091 .notification_widget.info:active:hover,
11092 .notification_widget.info.active:hover,
11093 .open > .dropdown-toggle.notification_widget.info:hover,
11094 .notification_widget.info:active:focus,
11095 .notification_widget.info.active:focus,
11096 .open > .dropdown-toggle.notification_widget.info:focus,
11097 .notification_widget.info:active.focus,
11098 .notification_widget.info.active.focus,
11099 .open > .dropdown-toggle.notification_widget.info.focus {
11100 color: #fff;
11101 background-color: #269abc;
11102 border-color: #1b6d85;
11103 }
11104 .notification_widget.info:active,
11105 .notification_widget.info.active,
11106 .open > .dropdown-toggle.notification_widget.info {
11107 background-image: none;
11108 }
11109 .notification_widget.info.disabled:hover,
11110 .notification_widget.info[disabled]:hover,
11111 fieldset[disabled] .notification_widget.info:hover,
11112 .notification_widget.info.disabled:focus,
11113 .notification_widget.info[disabled]:focus,
11114 fieldset[disabled] .notification_widget.info:focus,
11115 .notification_widget.info.disabled.focus,
11116 .notification_widget.info[disabled].focus,
11117 fieldset[disabled] .notification_widget.info.focus {
11118 background-color: #5bc0de;
11119 border-color: #46b8da;
11120 }
11121 .notification_widget.info .badge {
11122 color: #5bc0de;
11123 background-color: #fff;
11124 }
11125 .notification_widget.danger {
11126 color: #fff;
11127 background-color: #d9534f;
11128 border-color: #d43f3a;
11129 }
11130 .notification_widget.danger:focus,
11131 .notification_widget.danger.focus {
11132 color: #fff;
11133 background-color: #c9302c;
11134 border-color: #761c19;
11135 }
11136 .notification_widget.danger:hover {
11137 color: #fff;
11138 background-color: #c9302c;
11139 border-color: #ac2925;
11140 }
11141 .notification_widget.danger:active,
11142 .notification_widget.danger.active,
11143 .open > .dropdown-toggle.notification_widget.danger {
11144 color: #fff;
11145 background-color: #c9302c;
11146 border-color: #ac2925;
11147 }
11148 .notification_widget.danger:active:hover,
11149 .notification_widget.danger.active:hover,
11150 .open > .dropdown-toggle.notification_widget.danger:hover,
11151 .notification_widget.danger:active:focus,
11152 .notification_widget.danger.active:focus,
11153 .open > .dropdown-toggle.notification_widget.danger:focus,
11154 .notification_widget.danger:active.focus,
11155 .notification_widget.danger.active.focus,
11156 .open > .dropdown-toggle.notification_widget.danger.focus {
11157 color: #fff;
11158 background-color: #ac2925;
11159 border-color: #761c19;
11160 }
11161 .notification_widget.danger:active,
11162 .notification_widget.danger.active,
11163 .open > .dropdown-toggle.notification_widget.danger {
11164 background-image: none;
11165 }
11166 .notification_widget.danger.disabled:hover,
11167 .notification_widget.danger[disabled]:hover,
11168 fieldset[disabled] .notification_widget.danger:hover,
11169 .notification_widget.danger.disabled:focus,
11170 .notification_widget.danger[disabled]:focus,
11171 fieldset[disabled] .notification_widget.danger:focus,
11172 .notification_widget.danger.disabled.focus,
11173 .notification_widget.danger[disabled].focus,
11174 fieldset[disabled] .notification_widget.danger.focus {
11175 background-color: #d9534f;
11176 border-color: #d43f3a;
11177 }
11178 .notification_widget.danger .badge {
11179 color: #d9534f;
11180 background-color: #fff;
11181 }
11182 div#pager {
11183 background-color: #fff;
11184 font-size: 14px;
11185 line-height: 20px;
11186 overflow: hidden;
11187 display: none;
11188 position: fixed;
11189 bottom: 0px;
11190 width: 100%;
11191 max-height: 50%;
11192 padding-top: 8px;
11193 -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
11194 box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
11195 /* Display over codemirror */
11196 z-index: 100;
11197 /* Hack which prevents jquery ui resizable from changing top. */
11198 top: auto !important;
11199 }
11200 div#pager pre {
11201 line-height: 1.21429em;
11202 color: #000;
11203 background-color: #f7f7f7;
11204 padding: 0.4em;
11205 }
11206 div#pager #pager-button-area {
11207 position: absolute;
11208 top: 8px;
11209 right: 20px;
11210 }
11211 div#pager #pager-contents {
11212 position: relative;
11213 overflow: auto;
11214 width: 100%;
11215 height: 100%;
11216 }
11217 div#pager #pager-contents #pager-container {
11218 position: relative;
11219 padding: 15px 0px;
11220 box-sizing: border-box;
11221 -moz-box-sizing: border-box;
11222 -webkit-box-sizing: border-box;
11223 }
11224 div#pager .ui-resizable-handle {
11225 top: 0px;
11226 height: 8px;
11227 background: #f7f7f7;
11228 border-top: 1px solid #cfcfcf;
11229 border-bottom: 1px solid #cfcfcf;
11230 /* This injects handle bars (a short, wide = symbol) for
11231 the resize handle. */
11232 }
11233 div#pager .ui-resizable-handle::after {
11234 content: '';
11235 top: 2px;
11236 left: 50%;
11237 height: 3px;
11238 width: 30px;
11239 margin-left: -15px;
11240 position: absolute;
11241 border-top: 1px solid #cfcfcf;
11242 }
11243 .quickhelp {
11244 /* Old browsers */
11245 display: -webkit-box;
11246 -webkit-box-orient: horizontal;
11247 -webkit-box-align: stretch;
11248 display: -moz-box;
11249 -moz-box-orient: horizontal;
11250 -moz-box-align: stretch;
11251 display: box;
11252 box-orient: horizontal;
11253 box-align: stretch;
11254 /* Modern browsers */
11255 display: flex;
11256 flex-direction: row;
11257 align-items: stretch;
11258 line-height: 1.8em;
11259 }
11260 .shortcut_key {
11261 display: inline-block;
11262 width: 21ex;
11263 text-align: right;
11264 font-family: monospace;
11265 }
11266 .shortcut_descr {
11267 display: inline-block;
11268 /* Old browsers */
11269 -webkit-box-flex: 1;
11270 -moz-box-flex: 1;
11271 box-flex: 1;
11272 /* Modern browsers */
11273 flex: 1;
11274 }
11275 span.save_widget {
11276 margin-top: 6px;
11277 }
11278 span.save_widget span.filename {
11279 height: 1em;
11280 line-height: 1em;
11281 padding: 3px;
11282 margin-left: 16px;
11283 border: none;
11284 font-size: 146.5%;
11285 border-radius: 2px;
11286 }
11287 span.save_widget span.filename:hover {
11288 background-color: #e6e6e6;
11289 }
11290 span.checkpoint_status,
11291 span.autosave_status {
11292 font-size: small;
11293 }
11294 @media (max-width: 767px) {
11295 span.save_widget {
11296 font-size: small;
11297 }
11298 span.checkpoint_status,
11299 span.autosave_status {
11300 display: none;
11301 }
11302 }
11303 @media (min-width: 768px) and (max-width: 991px) {
11304 span.checkpoint_status {
11305 display: none;
11306 }
11307 span.autosave_status {
11308 font-size: x-small;
11309 }
11310 }
11311 .toolbar {
11312 padding: 0px;
11313 margin-left: -5px;
11314 margin-top: 2px;
11315 margin-bottom: 5px;
11316 box-sizing: border-box;
11317 -moz-box-sizing: border-box;
11318 -webkit-box-sizing: border-box;
11319 }
11320 .toolbar select,
11321 .toolbar label {
11322 width: auto;
11323 vertical-align: middle;
11324 margin-right: 2px;
11325 margin-bottom: 0px;
11326 display: inline;
11327 font-size: 92%;
11328 margin-left: 0.3em;
11329 margin-right: 0.3em;
11330 padding: 0px;
11331 padding-top: 3px;
11332 }
11333 .toolbar .btn {
11334 padding: 2px 8px;
11335 }
11336 .toolbar .btn-group {
11337 margin-top: 0px;
11338 margin-left: 5px;
11339 }
11340 #maintoolbar {
11341 margin-bottom: -3px;
11342 margin-top: -8px;
11343 border: 0px;
11344 min-height: 27px;
11345 margin-left: 0px;
11346 padding-top: 11px;
11347 padding-bottom: 3px;
11348 }
11349 #maintoolbar .navbar-text {
11350 float: none;
11351 vertical-align: middle;
11352 text-align: right;
11353 margin-left: 5px;
11354 margin-right: 0px;
11355 margin-top: 0px;
11356 }
11357 .select-xs {
11358 height: 24px;
11359 }
11360 .pulse,
11361 .dropdown-menu > li > a.pulse,
11362 li.pulse > a.dropdown-toggle,
11363 li.pulse.open > a.dropdown-toggle {
11364 background-color: #F37626;
11365 color: white;
11366 }
11367 /**
11368 * Primary styles
11369 *
11370 * Author: Jupyter Development Team
11371 */
11372 /** WARNING IF YOU ARE EDITTING THIS FILE, if this is a .css file, It has a lot
11373 * of chance of beeing generated from the ../less/[samename].less file, you can
11374 * try to get back the less file by reverting somme commit in history
11375 **/
11376 /*
11377 * We'll try to get something pretty, so we
11378 * have some strange css to have the scroll bar on
11379 * the left with fix button on the top right of the tooltip
11380 */
11381 @-moz-keyframes fadeOut {
11382 from {
11383 opacity: 1;
11384 }
11385 to {
11386 opacity: 0;
11387 }
11388 }
11389 @-webkit-keyframes fadeOut {
11390 from {
11391 opacity: 1;
11392 }
11393 to {
11394 opacity: 0;
11395 }
11396 }
11397 @-moz-keyframes fadeIn {
11398 from {
11399 opacity: 0;
11400 }
11401 to {
11402 opacity: 1;
11403 }
11404 }
11405 @-webkit-keyframes fadeIn {
11406 from {
11407 opacity: 0;
11408 }
11409 to {
11410 opacity: 1;
11411 }
11412 }
11413 /*properties of tooltip after "expand"*/
11414 .bigtooltip {
11415 overflow: auto;
11416 height: 200px;
11417 -webkit-transition-property: height;
11418 -webkit-transition-duration: 500ms;
11419 -moz-transition-property: height;
11420 -moz-transition-duration: 500ms;
11421 transition-property: height;
11422 transition-duration: 500ms;
11423 }
11424 /*properties of tooltip before "expand"*/
11425 .smalltooltip {
11426 -webkit-transition-property: height;
11427 -webkit-transition-duration: 500ms;
11428 -moz-transition-property: height;
11429 -moz-transition-duration: 500ms;
11430 transition-property: height;
11431 transition-duration: 500ms;
11432 text-overflow: ellipsis;
11433 overflow: hidden;
11434 height: 80px;
11435 }
11436 .tooltipbuttons {
11437 position: absolute;
11438 padding-right: 15px;
11439 top: 0px;
11440 right: 0px;
11441 }
11442 .tooltiptext {
11443 /*avoid the button to overlap on some docstring*/
11444 padding-right: 30px;
11445 }
11446 .ipython_tooltip {
11447 max-width: 700px;
11448 /*fade-in animation when inserted*/
11449 -webkit-animation: fadeOut 400ms;
11450 -moz-animation: fadeOut 400ms;
11451 animation: fadeOut 400ms;
11452 -webkit-animation: fadeIn 400ms;
11453 -moz-animation: fadeIn 400ms;
11454 animation: fadeIn 400ms;
11455 vertical-align: middle;
11456 background-color: #f7f7f7;
11457 overflow: visible;
11458 border: #ababab 1px solid;
11459 outline: none;
11460 padding: 3px;
11461 margin: 0px;
11462 padding-left: 7px;
11463 font-family: monospace;
11464 min-height: 50px;
11465 -moz-box-shadow: 0px 6px 10px -1px #adadad;
11466 -webkit-box-shadow: 0px 6px 10px -1px #adadad;
11467 box-shadow: 0px 6px 10px -1px #adadad;
11468 border-radius: 2px;
11469 position: absolute;
11470 z-index: 1000;
11471 }
11472 .ipython_tooltip a {
11473 float: right;
11474 }
11475 .ipython_tooltip .tooltiptext pre {
11476 border: 0;
11477 border-radius: 0;
11478 font-size: 100%;
11479 background-color: #f7f7f7;
11480 }
11481 .pretooltiparrow {
11482 left: 0px;
11483 margin: 0px;
11484 top: -16px;
11485 width: 40px;
11486 height: 16px;
11487 overflow: hidden;
11488 position: absolute;
11489 }
11490 .pretooltiparrow:before {
11491 background-color: #f7f7f7;
11492 border: 1px #ababab solid;
11493 z-index: 11;
11494 content: "";
11495 position: absolute;
11496 left: 15px;
11497 top: 10px;
11498 width: 25px;
11499 height: 25px;
11500 -webkit-transform: rotate(45deg);
11501 -moz-transform: rotate(45deg);
11502 -ms-transform: rotate(45deg);
11503 -o-transform: rotate(45deg);
11504 }
11505 ul.typeahead-list i {
11506 margin-left: -10px;
11507 width: 18px;
11508 }
11509 ul.typeahead-list {
11510 max-height: 80vh;
11511 overflow: auto;
11512 }
11513 ul.typeahead-list > li > a {
11514 /** Firefox bug **/
11515 /* see https://github.com/jupyter/notebook/issues/559 */
11516 white-space: normal;
11517 }
11518 .cmd-palette .modal-body {
11519 padding: 7px;
11520 }
11521 .cmd-palette form {
11522 background: white;
11523 }
11524 .cmd-palette input {
11525 outline: none;
11526 }
11527 .no-shortcut {
11528 display: none;
11529 }
11530 .command-shortcut:before {
11531 content: "(command)";
11532 padding-right: 3px;
11533 color: #777777;
11534 }
11535 .edit-shortcut:before {
11536 content: "(edit)";
11537 padding-right: 3px;
11538 color: #777777;
11539 }
11540 #find-and-replace #replace-preview .match,
11541 #find-and-replace #replace-preview .insert {
11542 background-color: #BBDEFB;
11543 border-color: #90CAF9;
11544 border-style: solid;
11545 border-width: 1px;
11546 border-radius: 0px;
11547 }
11548 #find-and-replace #replace-preview .replace .match {
11549 background-color: #FFCDD2;
11550 border-color: #EF9A9A;
11551 border-radius: 0px;
11552 }
11553 #find-and-replace #replace-preview .replace .insert {
11554 background-color: #C8E6C9;
11555 border-color: #A5D6A7;
11556 border-radius: 0px;
11557 }
11558 #find-and-replace #replace-preview {
11559 max-height: 60vh;
11560 overflow: auto;
11561 }
11562 #find-and-replace #replace-preview pre {
11563 padding: 5px 10px;
11564 }
11565 .terminal-app {
11566 background: #EEE;
11567 }
11568 .terminal-app #header {
11569 background: #fff;
11570 -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
11571 box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
11572 }
11573 .terminal-app .terminal {
11574 width: 100%;
11575 float: left;
11576 font-family: monospace;
11577 color: white;
11578 background: black;
11579 padding: 0.4em;
11580 border-radius: 2px;
11581 -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4);
11582 box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4);
11583 }
11584 .terminal-app .terminal,
11585 .terminal-app .terminal dummy-screen {
11586 line-height: 1em;
11587 font-size: 14px;
11588 }
11589 .terminal-app .terminal .xterm-rows {
11590 padding: 10px;
11591 }
11592 .terminal-app .terminal-cursor {
11593 color: black;
11594 background: white;
11595 }
11596 .terminal-app #terminado-container {
11597 margin-top: 20px;
11598 }
11599 /*# sourceMappingURL=style.min.css.map */
11600 .c-ElasticMatch { background-color: #faffa6; padding: 0.2em;}
11601 .hll { background-color: #ffffcc }
11602 .c { color: #408080; font-style: italic } /* Comment */
11603 .err, .codehilite .err { border: none } /* Error */
11604 .k { color: #008000; font-weight: bold } /* Keyword */
11605 .o { color: #666666 } /* Operator */
11606 .ch { color: #408080; font-style: italic } /* Comment.Hashbang */
11607 .cm { color: #408080; font-style: italic } /* Comment.Multiline */
11608 .cp { color: #BC7A00 } /* Comment.Preproc */
11609 .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
11610 .c1 { color: #408080; font-style: italic } /* Comment.Single */
11611 .cs { color: #408080; font-style: italic } /* Comment.Special */
11612 .gd { color: #A00000 } /* Generic.Deleted */
11613 .ge { font-style: italic } /* Generic.Emph */
11614 .gr { color: #FF0000 } /* Generic.Error */
11615 .gh { color: #000080; font-weight: bold } /* Generic.Heading */
11616 .gi { color: #00A000 } /* Generic.Inserted */
11617 .go { color: #888888 } /* Generic.Output */
11618 .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
11619 .gs { font-weight: bold } /* Generic.Strong */
11620 .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
11621 .gt { color: #0044DD } /* Generic.Traceback */
11622 .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
11623 .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
11624 .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
11625 .kp { color: #008000 } /* Keyword.Pseudo */
11626 .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
11627 .kt { color: #B00040 } /* Keyword.Type */
11628 .m { color: #666666 } /* Literal.Number */
11629 .s { color: #BA2121 } /* Literal.String */
11630 .na { color: #7D9029 } /* Name.Attribute */
11631 .nb { color: #008000 } /* Name.Builtin */
11632 .nc { color: #0000FF; font-weight: bold } /* Name.Class */
11633 .no { color: #880000 } /* Name.Constant */
11634 .nd { color: #AA22FF } /* Name.Decorator */
11635 .ni { color: #999999; font-weight: bold } /* Name.Entity */
11636 .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
11637 .nf { color: #0000FF } /* Name.Function */
11638 .nl { color: #A0A000 } /* Name.Label */
11639 .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
11640 .nt { color: #008000; font-weight: bold } /* Name.Tag */
11641 .nv { color: #19177C } /* Name.Variable */
11642 .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
11643 .w { color: #bbbbbb } /* Text.Whitespace */
11644 .mb { color: #666666 } /* Literal.Number.Bin */
11645 .mf { color: #666666 } /* Literal.Number.Float */
11646 .mh { color: #666666 } /* Literal.Number.Hex */
11647 .mi { color: #666666 } /* Literal.Number.Integer */
11648 .mo { color: #666666 } /* Literal.Number.Oct */
11649 .sa { color: #BA2121 } /* Literal.String.Affix */
11650 .sb { color: #BA2121 } /* Literal.String.Backtick */
11651 .sc { color: #BA2121 } /* Literal.String.Char */
11652 .dl { color: #BA2121 } /* Literal.String.Delimiter */
11653 .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
11654 .s2 { color: #BA2121 } /* Literal.String.Double */
11655 .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
11656 .sh { color: #BA2121 } /* Literal.String.Heredoc */
11657 .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
11658 .sx { color: #008000 } /* Literal.String.Other */
11659 .sr { color: #BB6688 } /* Literal.String.Regex */
11660 .s1 { color: #BA2121 } /* Literal.String.Single */
11661 .ss { color: #19177C } /* Literal.String.Symbol */
11662 .bp { color: #008000 } /* Name.Builtin.Pseudo */
11663 .fm { color: #0000FF } /* Name.Function.Magic */
11664 .vc { color: #19177C } /* Name.Variable.Class */
11665 .vg { color: #19177C } /* Name.Variable.Global */
11666 .vi { color: #19177C } /* Name.Variable.Instance */
11667 .vm { color: #19177C } /* Name.Variable.Magic */
11668 .il { color: #666666 } /* Literal.Number.Integer.Long */
11669 } No newline at end of file
@@ -1,296 +1,296 b''
1 # Nix environment for the community edition
1 # Nix environment for the community edition
2 #
2 #
3 # This shall be as lean as possible, just producing the enterprise-ce
3 # This shall be as lean as possible, just producing the enterprise-ce
4 # derivation. For advanced tweaks to pimp up the development environment we use
4 # derivation. For advanced tweaks to pimp up the development environment we use
5 # "shell.nix" so that it does not have to clutter this file.
5 # "shell.nix" so that it does not have to clutter this file.
6 #
6 #
7 # Configuration, set values in "~/.nixpkgs/config.nix".
7 # Configuration, set values in "~/.nixpkgs/config.nix".
8 # example
8 # example
9 # {
9 # {
10 # # Thoughts on how to configure the dev environment
10 # # Thoughts on how to configure the dev environment
11 # rc = {
11 # rc = {
12 # codeInternalUrl = "https://usr:token@code.rhodecode.com/internal";
12 # codeInternalUrl = "https://usr:token@code.rhodecode.com/internal";
13 # sources = {
13 # sources = {
14 # rhodecode-vcsserver = "/home/user/work/rhodecode-vcsserver";
14 # rhodecode-vcsserver = "/home/user/work/rhodecode-vcsserver";
15 # rhodecode-enterprise-ce = "/home/user/work/rhodecode-enterprise-ce";
15 # rhodecode-enterprise-ce = "/home/user/work/rhodecode-enterprise-ce";
16 # rhodecode-enterprise-ee = "/home/user/work/rhodecode-enterprise-ee";
16 # rhodecode-enterprise-ee = "/home/user/work/rhodecode-enterprise-ee";
17 # };
17 # };
18 # };
18 # };
19 # }
19 # }
20
20
21 args@
21 args@
22 { system ? builtins.currentSystem
22 { system ? builtins.currentSystem
23 , pythonPackages ? "python27Packages"
23 , pythonPackages ? "python27Packages"
24 , pythonExternalOverrides ? self: super: {}
24 , pythonExternalOverrides ? self: super: {}
25 , doCheck ? false
25 , doCheck ? false
26 , ...
26 , ...
27 }:
27 }:
28
28
29 let
29 let
30 pkgs_ = args.pkgs or (import <nixpkgs> { inherit system; });
30 pkgs_ = args.pkgs or (import <nixpkgs> { inherit system; });
31 in
31 in
32
32
33 let
33 let
34 pkgs = import <nixpkgs> {
34 pkgs = import <nixpkgs> {
35 overlays = [
35 overlays = [
36 (import ./pkgs/overlays.nix)
36 (import ./pkgs/overlays.nix)
37 ];
37 ];
38 inherit
38 inherit
39 (pkgs_)
39 (pkgs_)
40 system;
40 system;
41 };
41 };
42
42
43 # Works with the new python-packages, still can fallback to the old
43 # Works with the new python-packages, still can fallback to the old
44 # variant.
44 # variant.
45 basePythonPackagesUnfix = basePythonPackages.__unfix__ or (
45 basePythonPackagesUnfix = basePythonPackages.__unfix__ or (
46 self: basePythonPackages.override (a: { inherit self; }));
46 self: basePythonPackages.override (a: { inherit self; }));
47
47
48 # Evaluates to the last segment of a file system path.
48 # Evaluates to the last segment of a file system path.
49 basename = path: with pkgs.lib; last (splitString "/" path);
49 basename = path: with pkgs.lib; last (splitString "/" path);
50
50
51 # source code filter used as arugment to builtins.filterSource.
51 # source code filter used as arugment to builtins.filterSource.
52 src-filter = path: type: with pkgs.lib;
52 src-filter = path: type: with pkgs.lib;
53 let
53 let
54 ext = last (splitString "." path);
54 ext = last (splitString "." path);
55 in
55 in
56 !builtins.elem (basename path) [
56 !builtins.elem (basename path) [
57 ".git" ".hg" "__pycache__" ".eggs" ".idea" ".dev"
57 ".git" ".hg" "__pycache__" ".eggs" ".idea" ".dev"
58 "node_modules" "node_binaries"
58 "node_modules" "node_binaries"
59 "build" "data" "result" "tmp"] &&
59 "build" "data" "result" "tmp"] &&
60 !builtins.elem ext ["egg-info" "pyc"] &&
60 !builtins.elem ext ["egg-info" "pyc"] &&
61 # TODO: johbo: This check is wrong, since "path" contains an absolute path,
61 # TODO: johbo: This check is wrong, since "path" contains an absolute path,
62 # it would still be good to restore it since we want to ignore "result-*".
62 # it would still be good to restore it since we want to ignore "result-*".
63 !hasPrefix "result" path;
63 !hasPrefix "result" path;
64
64
65 sources =
65 sources =
66 let
66 let
67 inherit
67 inherit
68 (pkgs.lib)
68 (pkgs.lib)
69 all
69 all
70 isString
70 isString
71 attrValues;
71 attrValues;
72 sourcesConfig = pkgs.config.rc.sources or {};
72 sourcesConfig = pkgs.config.rc.sources or {};
73 in
73 in
74 # Ensure that sources are configured as strings. Using a path
74 # Ensure that sources are configured as strings. Using a path
75 # would result in a copy into the nix store.
75 # would result in a copy into the nix store.
76 assert all isString (attrValues sourcesConfig);
76 assert all isString (attrValues sourcesConfig);
77 sourcesConfig;
77 sourcesConfig;
78
78
79 version = builtins.readFile "${rhodecode-enterprise-ce-src}/rhodecode/VERSION";
79 version = builtins.readFile "${rhodecode-enterprise-ce-src}/rhodecode/VERSION";
80 rhodecode-enterprise-ce-src = builtins.filterSource src-filter ./.;
80 rhodecode-enterprise-ce-src = builtins.filterSource src-filter ./.;
81
81
82 nodeEnv = import ./pkgs/node-default.nix {
82 nodeEnv = import ./pkgs/node-default.nix {
83 inherit
83 inherit
84 pkgs
84 pkgs
85 system;
85 system;
86 };
86 };
87 nodeDependencies = nodeEnv.shell.nodeDependencies;
87 nodeDependencies = nodeEnv.shell.nodeDependencies;
88
88
89 rhodecode-testdata-src = sources.rhodecode-testdata or (
89 rhodecode-testdata-src = sources.rhodecode-testdata or (
90 pkgs.fetchhg {
90 pkgs.fetchhg {
91 url = "https://code.rhodecode.com/upstream/rc_testdata";
91 url = "https://code.rhodecode.com/upstream/rc_testdata";
92 rev = "v0.10.0";
92 rev = "v0.10.0";
93 sha256 = "0zn9swwvx4vgw4qn8q3ri26vvzgrxn15x6xnjrysi1bwmz01qjl0";
93 sha256 = "0zn9swwvx4vgw4qn8q3ri26vvzgrxn15x6xnjrysi1bwmz01qjl0";
94 });
94 });
95
95
96 rhodecode-testdata = import "${rhodecode-testdata-src}/default.nix" {
96 rhodecode-testdata = import "${rhodecode-testdata-src}/default.nix" {
97 inherit
97 inherit
98 doCheck
98 doCheck
99 pkgs
99 pkgs
100 pythonPackages;
100 pythonPackages;
101 };
101 };
102
102
103 pythonLocalOverrides = self: super: {
103 pythonLocalOverrides = self: super: {
104 rhodecode-enterprise-ce =
104 rhodecode-enterprise-ce =
105 let
105 let
106 linkNodePackages = ''
106 linkNodePackages = ''
107 export RHODECODE_CE_PATH=${rhodecode-enterprise-ce-src}
107 export RHODECODE_CE_PATH=${rhodecode-enterprise-ce-src}
108
108
109 echo "[BEGIN]: Link node packages and binaries"
109 echo "[BEGIN]: Link node packages and binaries"
110 # johbo: Linking individual packages allows us to run "npm install"
110 # johbo: Linking individual packages allows us to run "npm install"
111 # inside of a shell to try things out. Re-entering the shell will
111 # inside of a shell to try things out. Re-entering the shell will
112 # restore a clean environment.
112 # restore a clean environment.
113 rm -fr node_modules
113 rm -fr node_modules
114 mkdir node_modules
114 mkdir node_modules
115 ln -s ${nodeDependencies}/lib/node_modules/* node_modules/
115 ln -s ${nodeDependencies}/lib/node_modules/* node_modules/
116 export NODE_PATH=./node_modules
116 export NODE_PATH=./node_modules
117
117
118 rm -fr node_binaries
118 rm -fr node_binaries
119 mkdir node_binaries
119 mkdir node_binaries
120 ln -s ${nodeDependencies}/bin/* node_binaries/
120 ln -s ${nodeDependencies}/bin/* node_binaries/
121 echo "[DONE ]: Link node packages and binaries"
121 echo "[DONE ]: Link node packages and binaries"
122 '';
122 '';
123
123
124 releaseName = "RhodeCodeEnterpriseCE-${version}";
124 releaseName = "RhodeCodeEnterpriseCE-${version}";
125 in super.rhodecode-enterprise-ce.override (attrs: {
125 in super.rhodecode-enterprise-ce.override (attrs: {
126 inherit
126 inherit
127 doCheck
127 doCheck
128 version;
128 version;
129
129
130 name = "rhodecode-enterprise-ce-${version}";
130 name = "rhodecode-enterprise-ce-${version}";
131 releaseName = releaseName;
131 releaseName = releaseName;
132 src = rhodecode-enterprise-ce-src;
132 src = rhodecode-enterprise-ce-src;
133 dontStrip = true; # prevent strip, we don't need it.
133 dontStrip = true; # prevent strip, we don't need it.
134
134
135 # expose following attributed outside
135 # expose following attributed outside
136 passthru = {
136 passthru = {
137 inherit
137 inherit
138 rhodecode-testdata
138 rhodecode-testdata
139 linkNodePackages
139 linkNodePackages
140 myPythonPackagesUnfix
140 myPythonPackagesUnfix
141 pythonLocalOverrides
141 pythonLocalOverrides
142 pythonCommunityOverrides;
142 pythonCommunityOverrides;
143
143
144 pythonPackages = self;
144 pythonPackages = self;
145 };
145 };
146
146
147 buildInputs =
147 buildInputs =
148 attrs.buildInputs or [] ++ [
148 attrs.buildInputs or [] ++ [
149 rhodecode-testdata
149 rhodecode-testdata
150 ];
150 ];
151
151
152 #NOTE: option to inject additional propagatedBuildInputs
152 #NOTE: option to inject additional propagatedBuildInputs
153 propagatedBuildInputs =
153 propagatedBuildInputs =
154 attrs.propagatedBuildInputs or [] ++ [
154 attrs.propagatedBuildInputs or [] ++ [
155
155
156 ];
156 ];
157
157
158 LC_ALL = "en_US.UTF-8";
158 LC_ALL = "en_US.UTF-8";
159 LOCALE_ARCHIVE =
159 LOCALE_ARCHIVE =
160 if pkgs.stdenv.isLinux
160 if pkgs.stdenv.isLinux
161 then "${pkgs.glibcLocales}/lib/locale/locale-archive"
161 then "${pkgs.glibcLocales}/lib/locale/locale-archive"
162 else "";
162 else "";
163
163
164 # Add bin directory to path so that tests can find 'rhodecode'.
164 # Add bin directory to path so that tests can find 'rhodecode'.
165 preCheck = ''
165 preCheck = ''
166 export PATH="$out/bin:$PATH"
166 export PATH="$out/bin:$PATH"
167 '';
167 '';
168
168
169 # custom check phase for testing
169 # custom check phase for testing
170 checkPhase = ''
170 checkPhase = ''
171 runHook preCheck
171 runHook preCheck
172 PYTHONHASHSEED=random py.test -vv -p no:sugar -r xw --cov-config=.coveragerc --cov=rhodecode --cov-report=term-missing rhodecode
172 PYTHONHASHSEED=random py.test -vv -p no:sugar -r xw --cov-config=.coveragerc --cov=rhodecode --cov-report=term-missing rhodecode
173 runHook postCheck
173 runHook postCheck
174 '';
174 '';
175
175
176 postCheck = ''
176 postCheck = ''
177 echo "Cleanup of rhodecode/tests"
177 echo "Cleanup of rhodecode/tests"
178 rm -rf $out/lib/${self.python.libPrefix}/site-packages/rhodecode/tests
178 rm -rf $out/lib/${self.python.libPrefix}/site-packages/rhodecode/tests
179 '';
179 '';
180
180
181 preBuild = ''
181 preBuild = ''
182 echo "[BEGIN]: Building frontend assets"
182 echo "[BEGIN]: Building frontend assets"
183 ${linkNodePackages}
183 ${linkNodePackages}
184 make web-build
184 make web-build
185 rm -fr node_modules
185 rm -fr node_modules
186 rm -fr node_binaries
186 rm -fr node_binaries
187 echo "[DONE ]: Building frontend assets"
187 echo "[DONE ]: Building frontend assets"
188 '';
188 '';
189
189
190 postInstall = ''
190 postInstall = ''
191 # check required files
191 # check required files
192 STATIC_CHECK="/robots.txt /502.html
192 STATIC_CHECK="/robots.txt /502.html
193 /js/scripts.js /js/rhodecode-components.js
193 /js/scripts.js /js/rhodecode-components.js
194 /css/style.css /css/style-polymer.css"
194 /css/style.css /css/style-polymer.css /css/style-ipython.css"
195
195
196 for file in $STATIC_CHECK;
196 for file in $STATIC_CHECK;
197 do
197 do
198 if [ ! -f rhodecode/public/$file ]; then
198 if [ ! -f rhodecode/public/$file ]; then
199 echo "Missing $file"
199 echo "Missing $file"
200 exit 1
200 exit 1
201 fi
201 fi
202 done
202 done
203
203
204 echo "Writing enterprise-ce meta information for rccontrol to nix-support/rccontrol"
204 echo "Writing enterprise-ce meta information for rccontrol to nix-support/rccontrol"
205 mkdir -p $out/nix-support/rccontrol
205 mkdir -p $out/nix-support/rccontrol
206 cp -v rhodecode/VERSION $out/nix-support/rccontrol/version
206 cp -v rhodecode/VERSION $out/nix-support/rccontrol/version
207 echo "[DONE ]: enterprise-ce meta information for rccontrol written"
207 echo "[DONE ]: enterprise-ce meta information for rccontrol written"
208
208
209 mkdir -p $out/etc
209 mkdir -p $out/etc
210 cp configs/production.ini $out/etc
210 cp configs/production.ini $out/etc
211 echo "[DONE ]: saved enterprise-ce production.ini into $out/etc"
211 echo "[DONE ]: saved enterprise-ce production.ini into $out/etc"
212
212
213 cp -Rf rhodecode/config/rcextensions $out/etc/rcextensions.tmpl
213 cp -Rf rhodecode/config/rcextensions $out/etc/rcextensions.tmpl
214 echo "[DONE ]: saved enterprise-ce rcextensions into $out/etc/rcextensions.tmpl"
214 echo "[DONE ]: saved enterprise-ce rcextensions into $out/etc/rcextensions.tmpl"
215
215
216 # python based programs need to be wrapped
216 # python based programs need to be wrapped
217 mkdir -p $out/bin
217 mkdir -p $out/bin
218
218
219 # required binaries from dependencies
219 # required binaries from dependencies
220 ln -s ${self.supervisor}/bin/supervisorctl $out/bin/
220 ln -s ${self.supervisor}/bin/supervisorctl $out/bin/
221 ln -s ${self.supervisor}/bin/supervisord $out/bin/
221 ln -s ${self.supervisor}/bin/supervisord $out/bin/
222 ln -s ${self.pastescript}/bin/paster $out/bin/
222 ln -s ${self.pastescript}/bin/paster $out/bin/
223 ln -s ${self.channelstream}/bin/channelstream $out/bin/
223 ln -s ${self.channelstream}/bin/channelstream $out/bin/
224 ln -s ${self.celery}/bin/celery $out/bin/
224 ln -s ${self.celery}/bin/celery $out/bin/
225 ln -s ${self.gunicorn}/bin/gunicorn $out/bin/
225 ln -s ${self.gunicorn}/bin/gunicorn $out/bin/
226 ln -s ${self.pyramid}/bin/prequest $out/bin/
226 ln -s ${self.pyramid}/bin/prequest $out/bin/
227 ln -s ${self.pyramid}/bin/pserve $out/bin/
227 ln -s ${self.pyramid}/bin/pserve $out/bin/
228
228
229 echo "[DONE ]: created symlinks into $out/bin"
229 echo "[DONE ]: created symlinks into $out/bin"
230 DEPS="$out/bin/supervisorctl \
230 DEPS="$out/bin/supervisorctl \
231 $out/bin/supervisord \
231 $out/bin/supervisord \
232 $out/bin/paster \
232 $out/bin/paster \
233 $out/bin/channelstream \
233 $out/bin/channelstream \
234 $out/bin/celery \
234 $out/bin/celery \
235 $out/bin/gunicorn \
235 $out/bin/gunicorn \
236 $out/bin/prequest \
236 $out/bin/prequest \
237 $out/bin/pserve"
237 $out/bin/pserve"
238
238
239 # wrap only dependency scripts, they require to have full PYTHONPATH set
239 # wrap only dependency scripts, they require to have full PYTHONPATH set
240 # to be able to import all packages
240 # to be able to import all packages
241 for file in $DEPS;
241 for file in $DEPS;
242 do
242 do
243 wrapProgram $file \
243 wrapProgram $file \
244 --prefix PATH : $PATH \
244 --prefix PATH : $PATH \
245 --prefix PYTHONPATH : $PYTHONPATH \
245 --prefix PYTHONPATH : $PYTHONPATH \
246 --set PYTHONHASHSEED random
246 --set PYTHONHASHSEED random
247 done
247 done
248
248
249 echo "[DONE ]: enterprise-ce binary wrapping"
249 echo "[DONE ]: enterprise-ce binary wrapping"
250
250
251 # rhodecode-tools don't need wrapping
251 # rhodecode-tools don't need wrapping
252 ln -s ${self.rhodecode-tools}/bin/rhodecode-* $out/bin/
252 ln -s ${self.rhodecode-tools}/bin/rhodecode-* $out/bin/
253
253
254 # expose sources of CE
254 # expose sources of CE
255 ln -s $out $out/etc/rhodecode_enterprise_ce_source
255 ln -s $out $out/etc/rhodecode_enterprise_ce_source
256
256
257 # expose static files folder
257 # expose static files folder
258 cp -Rf $out/lib/${self.python.libPrefix}/site-packages/rhodecode/public/ $out/etc/static
258 cp -Rf $out/lib/${self.python.libPrefix}/site-packages/rhodecode/public/ $out/etc/static
259 chmod 755 -R $out/etc/static
259 chmod 755 -R $out/etc/static
260
260
261 '';
261 '';
262 });
262 });
263
263
264 };
264 };
265
265
266 basePythonPackages = with builtins;
266 basePythonPackages = with builtins;
267 if isAttrs pythonPackages then
267 if isAttrs pythonPackages then
268 pythonPackages
268 pythonPackages
269 else
269 else
270 getAttr pythonPackages pkgs;
270 getAttr pythonPackages pkgs;
271
271
272 pythonGeneratedPackages = import ./pkgs/python-packages.nix {
272 pythonGeneratedPackages = import ./pkgs/python-packages.nix {
273 inherit
273 inherit
274 pkgs;
274 pkgs;
275 inherit
275 inherit
276 (pkgs)
276 (pkgs)
277 fetchurl
277 fetchurl
278 fetchgit
278 fetchgit
279 fetchhg;
279 fetchhg;
280 };
280 };
281
281
282 pythonCommunityOverrides = import ./pkgs/python-packages-overrides.nix {
282 pythonCommunityOverrides = import ./pkgs/python-packages-overrides.nix {
283 inherit pkgs basePythonPackages;
283 inherit pkgs basePythonPackages;
284 };
284 };
285
285
286 # Apply all overrides and fix the final package set
286 # Apply all overrides and fix the final package set
287 myPythonPackagesUnfix = with pkgs.lib;
287 myPythonPackagesUnfix = with pkgs.lib;
288 (extends pythonExternalOverrides
288 (extends pythonExternalOverrides
289 (extends pythonLocalOverrides
289 (extends pythonLocalOverrides
290 (extends pythonCommunityOverrides
290 (extends pythonCommunityOverrides
291 (extends pythonGeneratedPackages
291 (extends pythonGeneratedPackages
292 basePythonPackagesUnfix))));
292 basePythonPackagesUnfix))));
293
293
294 myPythonPackages = (pkgs.lib.fix myPythonPackagesUnfix);
294 myPythonPackages = (pkgs.lib.fix myPythonPackagesUnfix);
295
295
296 in myPythonPackages.rhodecode-enterprise-ce
296 in myPythonPackages.rhodecode-enterprise-ce
@@ -1,175 +1,177 b''
1 {
1 {
2 "dirs": {
2 "dirs": {
3 "css": {
3 "css": {
4 "src": "rhodecode/public/css",
4 "src": "rhodecode/public/css",
5 "dest": "rhodecode/public/css"
5 "dest": "rhodecode/public/css"
6 },
6 },
7 "js": {
7 "js": {
8 "src": "rhodecode/public/js/src",
8 "src": "rhodecode/public/js/src",
9 "src_rc": "rhodecode/public/js/rhodecode",
9 "src_rc": "rhodecode/public/js/rhodecode",
10 "dest": "rhodecode/public/js",
10 "dest": "rhodecode/public/js",
11 "node_modules": "node_modules"
11 "node_modules": "node_modules"
12 }
12 }
13 },
13 },
14 "copy": {
14 "copy": {
15 "main": {
15 "main": {
16 "files": [
16 "files": [
17 {
17 {
18 "expand": true,
18 "expand": true,
19 "cwd": "node_modules/@webcomponents",
19 "cwd": "node_modules/@webcomponents",
20 "src": "webcomponentsjs/*.*",
20 "src": "webcomponentsjs/*.*",
21 "dest": "<%= dirs.js.dest %>/vendors"
21 "dest": "<%= dirs.js.dest %>/vendors"
22 },
22 },
23 {
23 {
24 "src": "<%= dirs.css.src %>/style-polymer.css",
24 "src": "<%= dirs.css.src %>/style-polymer.css",
25 "dest": "<%= dirs.js.dest %>/src/components/style-polymer.css"
25 "dest": "<%= dirs.js.dest %>/src/components/style-polymer.css"
26 }
26 }
27 ]
27 ]
28 }
28 }
29 },
29 },
30 "concat": {
30 "concat": {
31 "dist": {
31 "dist": {
32 "src": [
32 "src": [
33 "<%= dirs.js.node_modules %>/jquery/dist/jquery.min.js",
33 "<%= dirs.js.node_modules %>/jquery/dist/jquery.min.js",
34 "<%= dirs.js.node_modules %>/mousetrap/mousetrap.min.js",
34 "<%= dirs.js.node_modules %>/mousetrap/mousetrap.min.js",
35 "<%= dirs.js.node_modules %>/moment/min/moment.min.js",
35 "<%= dirs.js.node_modules %>/moment/min/moment.min.js",
36 "<%= dirs.js.node_modules %>/clipboard/dist/clipboard.min.js",
36 "<%= dirs.js.node_modules %>/clipboard/dist/clipboard.min.js",
37 "<%= dirs.js.node_modules %>/favico.js/favico-0.3.10.min.js",
37 "<%= dirs.js.node_modules %>/favico.js/favico-0.3.10.min.js",
38 "<%= dirs.js.node_modules %>/dropzone/dist/dropzone.js",
38 "<%= dirs.js.node_modules %>/dropzone/dist/dropzone.js",
39 "<%= dirs.js.node_modules %>/sticky-sidebar/dist/sticky-sidebar.min.js",
39 "<%= dirs.js.node_modules %>/sticky-sidebar/dist/sticky-sidebar.min.js",
40 "<%= dirs.js.node_modules %>/sticky-sidebar/dist/jquery.sticky-sidebar.min.js",
40 "<%= dirs.js.node_modules %>/sticky-sidebar/dist/jquery.sticky-sidebar.min.js",
41 "<%= dirs.js.node_modules %>/waypoints/lib/noframework.waypoints.min.js",
41 "<%= dirs.js.node_modules %>/waypoints/lib/noframework.waypoints.min.js",
42 "<%= dirs.js.node_modules %>/waypoints/lib/jquery.waypoints.min.js",
42 "<%= dirs.js.node_modules %>/waypoints/lib/jquery.waypoints.min.js",
43 "<%= dirs.js.node_modules %>/appenlight-client/appenlight-client.min.js",
43 "<%= dirs.js.node_modules %>/appenlight-client/appenlight-client.min.js",
44 "<%= dirs.js.src %>/logging.js",
44 "<%= dirs.js.src %>/logging.js",
45 "<%= dirs.js.src %>/bootstrap.js",
45 "<%= dirs.js.src %>/bootstrap.js",
46 "<%= dirs.js.src %>/i18n_utils.js",
46 "<%= dirs.js.src %>/i18n_utils.js",
47 "<%= dirs.js.src %>/deform.js",
47 "<%= dirs.js.src %>/deform.js",
48 "<%= dirs.js.src %>/ejs.js",
48 "<%= dirs.js.src %>/ejs.js",
49 "<%= dirs.js.src %>/ejs_templates/utils.js",
49 "<%= dirs.js.src %>/ejs_templates/utils.js",
50 "<%= dirs.js.src %>/plugins/jquery.pjax.js",
50 "<%= dirs.js.src %>/plugins/jquery.pjax.js",
51 "<%= dirs.js.src %>/plugins/jquery.dataTables.js",
51 "<%= dirs.js.src %>/plugins/jquery.dataTables.js",
52 "<%= dirs.js.src %>/plugins/flavoured_checkbox.js",
52 "<%= dirs.js.src %>/plugins/flavoured_checkbox.js",
53 "<%= dirs.js.src %>/plugins/jquery.auto-grow-input.js",
53 "<%= dirs.js.src %>/plugins/jquery.auto-grow-input.js",
54 "<%= dirs.js.src %>/plugins/jquery.autocomplete.js",
54 "<%= dirs.js.src %>/plugins/jquery.autocomplete.js",
55 "<%= dirs.js.src %>/plugins/jquery.debounce.js",
55 "<%= dirs.js.src %>/plugins/jquery.debounce.js",
56 "<%= dirs.js.node_modules %>/mark.js/dist/jquery.mark.min.js",
56 "<%= dirs.js.node_modules %>/mark.js/dist/jquery.mark.min.js",
57 "<%= dirs.js.src %>/plugins/jquery.timeago.js",
57 "<%= dirs.js.src %>/plugins/jquery.timeago.js",
58 "<%= dirs.js.src %>/plugins/jquery.timeago-extension.js",
58 "<%= dirs.js.src %>/plugins/jquery.timeago-extension.js",
59 "<%= dirs.js.src %>/select2/select2.js",
59 "<%= dirs.js.src %>/select2/select2.js",
60 "<%= dirs.js.src %>/codemirror/codemirror.js",
60 "<%= dirs.js.src %>/codemirror/codemirror.js",
61 "<%= dirs.js.src %>/codemirror/codemirror_loadmode.js",
61 "<%= dirs.js.src %>/codemirror/codemirror_loadmode.js",
62 "<%= dirs.js.src %>/codemirror/codemirror_hint.js",
62 "<%= dirs.js.src %>/codemirror/codemirror_hint.js",
63 "<%= dirs.js.src %>/codemirror/codemirror_overlay.js",
63 "<%= dirs.js.src %>/codemirror/codemirror_overlay.js",
64 "<%= dirs.js.src %>/codemirror/codemirror_placeholder.js",
64 "<%= dirs.js.src %>/codemirror/codemirror_placeholder.js",
65 "<%= dirs.js.src %>/codemirror/codemirror_simplemode.js",
65 "<%= dirs.js.src %>/codemirror/codemirror_simplemode.js",
66 "<%= dirs.js.dest %>/mode/meta.js",
66 "<%= dirs.js.dest %>/mode/meta.js",
67 "<%= dirs.js.dest %>/mode/meta_ext.js",
67 "<%= dirs.js.dest %>/mode/meta_ext.js",
68 "<%= dirs.js.src_rc %>/i18n/select2/translations.js",
68 "<%= dirs.js.src_rc %>/i18n/select2/translations.js",
69 "<%= dirs.js.src %>/rhodecode/utils/array.js",
69 "<%= dirs.js.src %>/rhodecode/utils/array.js",
70 "<%= dirs.js.src %>/rhodecode/utils/string.js",
70 "<%= dirs.js.src %>/rhodecode/utils/string.js",
71 "<%= dirs.js.src %>/rhodecode/utils/pyroutes.js",
71 "<%= dirs.js.src %>/rhodecode/utils/pyroutes.js",
72 "<%= dirs.js.src %>/rhodecode/utils/ajax.js",
72 "<%= dirs.js.src %>/rhodecode/utils/ajax.js",
73 "<%= dirs.js.src %>/rhodecode/utils/autocomplete.js",
73 "<%= dirs.js.src %>/rhodecode/utils/autocomplete.js",
74 "<%= dirs.js.src %>/rhodecode/utils/colorgenerator.js",
74 "<%= dirs.js.src %>/rhodecode/utils/colorgenerator.js",
75 "<%= dirs.js.src %>/rhodecode/utils/ie.js",
75 "<%= dirs.js.src %>/rhodecode/utils/ie.js",
76 "<%= dirs.js.src %>/rhodecode/utils/os.js",
76 "<%= dirs.js.src %>/rhodecode/utils/os.js",
77 "<%= dirs.js.src %>/rhodecode/utils/topics.js",
77 "<%= dirs.js.src %>/rhodecode/utils/topics.js",
78 "<%= dirs.js.src %>/rhodecode/init.js",
78 "<%= dirs.js.src %>/rhodecode/init.js",
79 "<%= dirs.js.src %>/rhodecode/changelog.js",
79 "<%= dirs.js.src %>/rhodecode/changelog.js",
80 "<%= dirs.js.src %>/rhodecode/codemirror.js",
80 "<%= dirs.js.src %>/rhodecode/codemirror.js",
81 "<%= dirs.js.src %>/rhodecode/comments.js",
81 "<%= dirs.js.src %>/rhodecode/comments.js",
82 "<%= dirs.js.src %>/rhodecode/constants.js",
82 "<%= dirs.js.src %>/rhodecode/constants.js",
83 "<%= dirs.js.src %>/rhodecode/files.js",
83 "<%= dirs.js.src %>/rhodecode/files.js",
84 "<%= dirs.js.src %>/rhodecode/followers.js",
84 "<%= dirs.js.src %>/rhodecode/followers.js",
85 "<%= dirs.js.src %>/rhodecode/menus.js",
85 "<%= dirs.js.src %>/rhodecode/menus.js",
86 "<%= dirs.js.src %>/rhodecode/notifications.js",
86 "<%= dirs.js.src %>/rhodecode/notifications.js",
87 "<%= dirs.js.src %>/rhodecode/permissions.js",
87 "<%= dirs.js.src %>/rhodecode/permissions.js",
88 "<%= dirs.js.src %>/rhodecode/pjax.js",
88 "<%= dirs.js.src %>/rhodecode/pjax.js",
89 "<%= dirs.js.src %>/rhodecode/pullrequests.js",
89 "<%= dirs.js.src %>/rhodecode/pullrequests.js",
90 "<%= dirs.js.src %>/rhodecode/settings.js",
90 "<%= dirs.js.src %>/rhodecode/settings.js",
91 "<%= dirs.js.src %>/rhodecode/select2_widgets.js",
91 "<%= dirs.js.src %>/rhodecode/select2_widgets.js",
92 "<%= dirs.js.src %>/rhodecode/tooltips.js",
92 "<%= dirs.js.src %>/rhodecode/tooltips.js",
93 "<%= dirs.js.src %>/rhodecode/users.js",
93 "<%= dirs.js.src %>/rhodecode/users.js",
94 "<%= dirs.js.src %>/rhodecode/appenlight.js",
94 "<%= dirs.js.src %>/rhodecode/appenlight.js",
95 "<%= dirs.js.src %>/rhodecode.js",
95 "<%= dirs.js.src %>/rhodecode.js",
96 "<%= dirs.js.dest %>/rhodecode-components.js"
96 "<%= dirs.js.dest %>/rhodecode-components.js"
97 ],
97 ],
98 "dest": "<%= dirs.js.dest %>/scripts.js",
98 "dest": "<%= dirs.js.dest %>/scripts.js",
99 "nonull": true
99 "nonull": true
100 }
100 }
101 },
101 },
102 "less": {
102 "less": {
103 "development": {
103 "development": {
104 "options": {
104 "options": {
105 "compress": false,
105 "compress": false,
106 "yuicompress": false,
106 "yuicompress": false,
107 "optimization": 0
107 "optimization": 0
108 },
108 },
109 "files": {
109 "files": {
110 "<%= dirs.css.dest %>/style.css": "<%= dirs.css.src %>/main.less",
110 "<%= dirs.css.dest %>/style.css": "<%= dirs.css.src %>/main.less",
111 "<%= dirs.css.dest %>/style-polymer.css": "<%= dirs.css.src %>/polymer.less"
111 "<%= dirs.css.dest %>/style-polymer.css": "<%= dirs.css.src %>/polymer.less",
112 "<%= dirs.css.dest %>/style-ipython.css": "<%= dirs.css.src %>/ipython.less"
112 }
113 }
113 },
114 },
114 "production": {
115 "production": {
115 "options": {
116 "options": {
116 "compress": true,
117 "compress": true,
117 "yuicompress": true,
118 "yuicompress": true,
118 "optimization": 2
119 "optimization": 2
119 },
120 },
120 "files": {
121 "files": {
121 "<%= dirs.css.dest %>/style.css": "<%= dirs.css.src %>/main.less",
122 "<%= dirs.css.dest %>/style.css": "<%= dirs.css.src %>/main.less",
122 "<%= dirs.css.dest %>/style-polymer.css": "<%= dirs.css.src %>/polymer.less"
123 "<%= dirs.css.dest %>/style-polymer.css": "<%= dirs.css.src %>/polymer.less",
124 "<%= dirs.css.dest %>/style-ipython.css": "<%= dirs.css.src %>/ipython.less"
123 }
125 }
124 },
126 },
125 "components": {
127 "components": {
126 "files": [
128 "files": [
127 {
129 {
128 "cwd": "<%= dirs.js.src %>/components/",
130 "cwd": "<%= dirs.js.src %>/components/",
129 "dest": "<%= dirs.js.src %>/components/",
131 "dest": "<%= dirs.js.src %>/components/",
130 "src": [
132 "src": [
131 "**/*.less"
133 "**/*.less"
132 ],
134 ],
133 "expand": true,
135 "expand": true,
134 "ext": ".css"
136 "ext": ".css"
135 }
137 }
136 ]
138 ]
137 }
139 }
138 },
140 },
139 "watch": {
141 "watch": {
140 "less": {
142 "less": {
141 "files": [
143 "files": [
142 "<%= dirs.css.src %>/**/*.less",
144 "<%= dirs.css.src %>/**/*.less",
143 "<%= dirs.js.src %>/components/**/*.less"
145 "<%= dirs.js.src %>/components/**/*.less"
144 ],
146 ],
145 "tasks": [
147 "tasks": [
146 "less:development",
148 "less:development",
147 "less:components",
149 "less:components",
148 "concat:polymercss",
150 "concat:polymercss",
149 "webpack",
151 "webpack",
150 "concat:dist"
152 "concat:dist"
151 ]
153 ]
152 },
154 },
153 "js": {
155 "js": {
154 "files": [
156 "files": [
155 "!<%= dirs.js.src %>/components/root-styles.gen.html",
157 "!<%= dirs.js.src %>/components/root-styles.gen.html",
156 "<%= dirs.js.src %>/**/*.js",
158 "<%= dirs.js.src %>/**/*.js",
157 "<%= dirs.js.src %>/components/**/*.html"
159 "<%= dirs.js.src %>/components/**/*.html"
158 ],
160 ],
159 "tasks": [
161 "tasks": [
160 "less:components",
162 "less:components",
161 "concat:polymercss",
163 "concat:polymercss",
162 "webpack",
164 "webpack",
163 "concat:dist"
165 "concat:dist"
164 ]
166 ]
165 }
167 }
166 },
168 },
167 "jshint": {
169 "jshint": {
168 "rhodecode": {
170 "rhodecode": {
169 "src": "<%= dirs.js.src %>/rhodecode/**/*.js",
171 "src": "<%= dirs.js.src %>/rhodecode/**/*.js",
170 "options": {
172 "options": {
171 "jshintrc": ".jshintrc"
173 "jshintrc": ".jshintrc"
172 }
174 }
173 }
175 }
174 }
176 }
175 }
177 }
@@ -1,559 +1,559 b''
1 # -*- coding: utf-8 -*-
1 # -*- coding: utf-8 -*-
2
2
3 # Copyright (C) 2011-2019 RhodeCode GmbH
3 # Copyright (C) 2011-2019 RhodeCode GmbH
4 #
4 #
5 # This program is free software: you can redistribute it and/or modify
5 # This program is free software: you can redistribute it and/or modify
6 # it under the terms of the GNU Affero General Public License, version 3
6 # it under the terms of the GNU Affero General Public License, version 3
7 # (only), as published by the Free Software Foundation.
7 # (only), as published by the Free Software Foundation.
8 #
8 #
9 # This program is distributed in the hope that it will be useful,
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
12 # GNU General Public License for more details.
13 #
13 #
14 # You should have received a copy of the GNU Affero General Public License
14 # You should have received a copy of the GNU Affero General Public License
15 # along with this program. If not, see <http://www.gnu.org/licenses/>.
15 # along with this program. If not, see <http://www.gnu.org/licenses/>.
16 #
16 #
17 # This program is dual-licensed. If you wish to learn more about the
17 # This program is dual-licensed. If you wish to learn more about the
18 # RhodeCode Enterprise Edition, including its added features, Support services,
18 # RhodeCode Enterprise Edition, including its added features, Support services,
19 # and proprietary license terms, please see https://rhodecode.com/licenses/
19 # and proprietary license terms, please see https://rhodecode.com/licenses/
20
20
21
21
22 """
22 """
23 Renderer for markup languages with ability to parse using rst or markdown
23 Renderer for markup languages with ability to parse using rst or markdown
24 """
24 """
25
25
26 import re
26 import re
27 import os
27 import os
28 import lxml
28 import lxml
29 import logging
29 import logging
30 import urlparse
30 import urlparse
31 import bleach
31 import bleach
32
32
33 from mako.lookup import TemplateLookup
33 from mako.lookup import TemplateLookup
34 from mako.template import Template as MakoTemplate
34 from mako.template import Template as MakoTemplate
35
35
36 from docutils.core import publish_parts
36 from docutils.core import publish_parts
37 from docutils.parsers.rst import directives
37 from docutils.parsers.rst import directives
38 from docutils import writers
38 from docutils import writers
39 from docutils.writers import html4css1
39 from docutils.writers import html4css1
40 import markdown
40 import markdown
41
41
42 from rhodecode.lib.markdown_ext import GithubFlavoredMarkdownExtension
42 from rhodecode.lib.markdown_ext import GithubFlavoredMarkdownExtension
43 from rhodecode.lib.utils2 import (safe_unicode, md5_safe, MENTIONS_REGEX)
43 from rhodecode.lib.utils2 import (safe_unicode, md5_safe, MENTIONS_REGEX)
44
44
45 log = logging.getLogger(__name__)
45 log = logging.getLogger(__name__)
46
46
47 # default renderer used to generate automated comments
47 # default renderer used to generate automated comments
48 DEFAULT_COMMENTS_RENDERER = 'rst'
48 DEFAULT_COMMENTS_RENDERER = 'rst'
49
49
50
50
51 class CustomHTMLTranslator(writers.html4css1.HTMLTranslator):
51 class CustomHTMLTranslator(writers.html4css1.HTMLTranslator):
52 """
52 """
53 Custom HTML Translator used for sandboxing potential
53 Custom HTML Translator used for sandboxing potential
54 JS injections in ref links
54 JS injections in ref links
55 """
55 """
56
56
57 def visit_reference(self, node):
57 def visit_reference(self, node):
58 if 'refuri' in node.attributes:
58 if 'refuri' in node.attributes:
59 refuri = node['refuri']
59 refuri = node['refuri']
60 if ':' in refuri:
60 if ':' in refuri:
61 prefix, link = refuri.lstrip().split(':', 1)
61 prefix, link = refuri.lstrip().split(':', 1)
62 prefix = prefix or ''
62 prefix = prefix or ''
63
63
64 if prefix.lower() == 'javascript':
64 if prefix.lower() == 'javascript':
65 # we don't allow javascript type of refs...
65 # we don't allow javascript type of refs...
66 node['refuri'] = 'javascript:alert("SandBoxedJavascript")'
66 node['refuri'] = 'javascript:alert("SandBoxedJavascript")'
67
67
68 # old style class requires this...
68 # old style class requires this...
69 return html4css1.HTMLTranslator.visit_reference(self, node)
69 return html4css1.HTMLTranslator.visit_reference(self, node)
70
70
71
71
72 class RhodeCodeWriter(writers.html4css1.Writer):
72 class RhodeCodeWriter(writers.html4css1.Writer):
73 def __init__(self):
73 def __init__(self):
74 writers.Writer.__init__(self)
74 writers.Writer.__init__(self)
75 self.translator_class = CustomHTMLTranslator
75 self.translator_class = CustomHTMLTranslator
76
76
77
77
78 def relative_links(html_source, server_paths):
78 def relative_links(html_source, server_paths):
79 if not html_source:
79 if not html_source:
80 return html_source
80 return html_source
81
81
82 try:
82 try:
83 from lxml.html import fromstring
83 from lxml.html import fromstring
84 from lxml.html import tostring
84 from lxml.html import tostring
85 except ImportError:
85 except ImportError:
86 log.exception('Failed to import lxml')
86 log.exception('Failed to import lxml')
87 return html_source
87 return html_source
88
88
89 try:
89 try:
90 doc = lxml.html.fromstring(html_source)
90 doc = lxml.html.fromstring(html_source)
91 except Exception:
91 except Exception:
92 return html_source
92 return html_source
93
93
94 for el in doc.cssselect('img, video'):
94 for el in doc.cssselect('img, video'):
95 src = el.attrib.get('src')
95 src = el.attrib.get('src')
96 if src:
96 if src:
97 el.attrib['src'] = relative_path(src, server_paths['raw'])
97 el.attrib['src'] = relative_path(src, server_paths['raw'])
98
98
99 for el in doc.cssselect('a:not(.gfm)'):
99 for el in doc.cssselect('a:not(.gfm)'):
100 src = el.attrib.get('href')
100 src = el.attrib.get('href')
101 if src:
101 if src:
102 raw_mode = el.attrib['href'].endswith('?raw=1')
102 raw_mode = el.attrib['href'].endswith('?raw=1')
103 if raw_mode:
103 if raw_mode:
104 el.attrib['href'] = relative_path(src, server_paths['raw'])
104 el.attrib['href'] = relative_path(src, server_paths['raw'])
105 else:
105 else:
106 el.attrib['href'] = relative_path(src, server_paths['standard'])
106 el.attrib['href'] = relative_path(src, server_paths['standard'])
107
107
108 return lxml.html.tostring(doc)
108 return lxml.html.tostring(doc)
109
109
110
110
111 def relative_path(path, request_path, is_repo_file=None):
111 def relative_path(path, request_path, is_repo_file=None):
112 """
112 """
113 relative link support, path is a rel path, and request_path is current
113 relative link support, path is a rel path, and request_path is current
114 server path (not absolute)
114 server path (not absolute)
115
115
116 e.g.
116 e.g.
117
117
118 path = '../logo.png'
118 path = '../logo.png'
119 request_path= '/repo/files/path/file.md'
119 request_path= '/repo/files/path/file.md'
120 produces: '/repo/files/logo.png'
120 produces: '/repo/files/logo.png'
121 """
121 """
122 # TODO(marcink): unicode/str support ?
122 # TODO(marcink): unicode/str support ?
123 # maybe=> safe_unicode(urllib.quote(safe_str(final_path), '/:'))
123 # maybe=> safe_unicode(urllib.quote(safe_str(final_path), '/:'))
124
124
125 def dummy_check(p):
125 def dummy_check(p):
126 return True # assume default is a valid file path
126 return True # assume default is a valid file path
127
127
128 is_repo_file = is_repo_file or dummy_check
128 is_repo_file = is_repo_file or dummy_check
129 if not path:
129 if not path:
130 return request_path
130 return request_path
131
131
132 path = safe_unicode(path)
132 path = safe_unicode(path)
133 request_path = safe_unicode(request_path)
133 request_path = safe_unicode(request_path)
134
134
135 if path.startswith((u'data:', u'javascript:', u'#', u':')):
135 if path.startswith((u'data:', u'javascript:', u'#', u':')):
136 # skip data, anchor, invalid links
136 # skip data, anchor, invalid links
137 return path
137 return path
138
138
139 is_absolute = bool(urlparse.urlparse(path).netloc)
139 is_absolute = bool(urlparse.urlparse(path).netloc)
140 if is_absolute:
140 if is_absolute:
141 return path
141 return path
142
142
143 if not request_path:
143 if not request_path:
144 return path
144 return path
145
145
146 if path.startswith(u'/'):
146 if path.startswith(u'/'):
147 path = path[1:]
147 path = path[1:]
148
148
149 if path.startswith(u'./'):
149 if path.startswith(u'./'):
150 path = path[2:]
150 path = path[2:]
151
151
152 parts = request_path.split('/')
152 parts = request_path.split('/')
153 # compute how deep we need to traverse the request_path
153 # compute how deep we need to traverse the request_path
154 depth = 0
154 depth = 0
155
155
156 if is_repo_file(request_path):
156 if is_repo_file(request_path):
157 # if request path is a VALID file, we use a relative path with
157 # if request path is a VALID file, we use a relative path with
158 # one level up
158 # one level up
159 depth += 1
159 depth += 1
160
160
161 while path.startswith(u'../'):
161 while path.startswith(u'../'):
162 depth += 1
162 depth += 1
163 path = path[3:]
163 path = path[3:]
164
164
165 if depth > 0:
165 if depth > 0:
166 parts = parts[:-depth]
166 parts = parts[:-depth]
167
167
168 parts.append(path)
168 parts.append(path)
169 final_path = u'/'.join(parts).lstrip(u'/')
169 final_path = u'/'.join(parts).lstrip(u'/')
170
170
171 return u'/' + final_path
171 return u'/' + final_path
172
172
173
173
174 _cached_markdown_renderer = None
174 _cached_markdown_renderer = None
175
175
176
176
177 def get_markdown_renderer(extensions, output_format):
177 def get_markdown_renderer(extensions, output_format):
178 global _cached_markdown_renderer
178 global _cached_markdown_renderer
179
179
180 if _cached_markdown_renderer is None:
180 if _cached_markdown_renderer is None:
181 _cached_markdown_renderer = markdown.Markdown(
181 _cached_markdown_renderer = markdown.Markdown(
182 extensions=extensions,
182 extensions=extensions,
183 enable_attributes=False, output_format=output_format)
183 enable_attributes=False, output_format=output_format)
184 return _cached_markdown_renderer
184 return _cached_markdown_renderer
185
185
186
186
187 _cached_markdown_renderer_flavored = None
187 _cached_markdown_renderer_flavored = None
188
188
189
189
190 def get_markdown_renderer_flavored(extensions, output_format):
190 def get_markdown_renderer_flavored(extensions, output_format):
191 global _cached_markdown_renderer_flavored
191 global _cached_markdown_renderer_flavored
192
192
193 if _cached_markdown_renderer_flavored is None:
193 if _cached_markdown_renderer_flavored is None:
194 _cached_markdown_renderer_flavored = markdown.Markdown(
194 _cached_markdown_renderer_flavored = markdown.Markdown(
195 extensions=extensions + [GithubFlavoredMarkdownExtension()],
195 extensions=extensions + [GithubFlavoredMarkdownExtension()],
196 enable_attributes=False, output_format=output_format)
196 enable_attributes=False, output_format=output_format)
197 return _cached_markdown_renderer_flavored
197 return _cached_markdown_renderer_flavored
198
198
199
199
200 class MarkupRenderer(object):
200 class MarkupRenderer(object):
201 RESTRUCTUREDTEXT_DISALLOWED_DIRECTIVES = ['include', 'meta', 'raw']
201 RESTRUCTUREDTEXT_DISALLOWED_DIRECTIVES = ['include', 'meta', 'raw']
202
202
203 MARKDOWN_PAT = re.compile(r'\.(md|mkdn?|mdown|markdown)$', re.IGNORECASE)
203 MARKDOWN_PAT = re.compile(r'\.(md|mkdn?|mdown|markdown)$', re.IGNORECASE)
204 RST_PAT = re.compile(r'\.re?st$', re.IGNORECASE)
204 RST_PAT = re.compile(r'\.re?st$', re.IGNORECASE)
205 JUPYTER_PAT = re.compile(r'\.(ipynb)$', re.IGNORECASE)
205 JUPYTER_PAT = re.compile(r'\.(ipynb)$', re.IGNORECASE)
206 PLAIN_PAT = re.compile(r'^readme$', re.IGNORECASE)
206 PLAIN_PAT = re.compile(r'^readme$', re.IGNORECASE)
207
207
208 URL_PAT = re.compile(r'(http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]'
208 URL_PAT = re.compile(r'(http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]'
209 r'|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+)')
209 r'|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+)')
210
210
211 extensions = ['markdown.extensions.codehilite', 'markdown.extensions.extra',
211 extensions = ['markdown.extensions.codehilite', 'markdown.extensions.extra',
212 'markdown.extensions.def_list', 'markdown.extensions.sane_lists']
212 'markdown.extensions.def_list', 'markdown.extensions.sane_lists']
213
213
214 output_format = 'html4'
214 output_format = 'html4'
215
215
216 # extension together with weights. Lower is first means we control how
216 # extension together with weights. Lower is first means we control how
217 # extensions are attached to readme names with those.
217 # extensions are attached to readme names with those.
218 PLAIN_EXTS = [
218 PLAIN_EXTS = [
219 # prefer no extension
219 # prefer no extension
220 ('', 0), # special case that renders READMES names without extension
220 ('', 0), # special case that renders READMES names without extension
221 ('.text', 2), ('.TEXT', 2),
221 ('.text', 2), ('.TEXT', 2),
222 ('.txt', 3), ('.TXT', 3)
222 ('.txt', 3), ('.TXT', 3)
223 ]
223 ]
224
224
225 RST_EXTS = [
225 RST_EXTS = [
226 ('.rst', 1), ('.rest', 1),
226 ('.rst', 1), ('.rest', 1),
227 ('.RST', 2), ('.REST', 2)
227 ('.RST', 2), ('.REST', 2)
228 ]
228 ]
229
229
230 MARKDOWN_EXTS = [
230 MARKDOWN_EXTS = [
231 ('.md', 1), ('.MD', 1),
231 ('.md', 1), ('.MD', 1),
232 ('.mkdn', 2), ('.MKDN', 2),
232 ('.mkdn', 2), ('.MKDN', 2),
233 ('.mdown', 3), ('.MDOWN', 3),
233 ('.mdown', 3), ('.MDOWN', 3),
234 ('.markdown', 4), ('.MARKDOWN', 4)
234 ('.markdown', 4), ('.MARKDOWN', 4)
235 ]
235 ]
236
236
237 def _detect_renderer(self, source, filename=None):
237 def _detect_renderer(self, source, filename=None):
238 """
238 """
239 runs detection of what renderer should be used for generating html
239 runs detection of what renderer should be used for generating html
240 from a markup language
240 from a markup language
241
241
242 filename can be also explicitly a renderer name
242 filename can be also explicitly a renderer name
243
243
244 :param source:
244 :param source:
245 :param filename:
245 :param filename:
246 """
246 """
247
247
248 if MarkupRenderer.MARKDOWN_PAT.findall(filename):
248 if MarkupRenderer.MARKDOWN_PAT.findall(filename):
249 detected_renderer = 'markdown'
249 detected_renderer = 'markdown'
250 elif MarkupRenderer.RST_PAT.findall(filename):
250 elif MarkupRenderer.RST_PAT.findall(filename):
251 detected_renderer = 'rst'
251 detected_renderer = 'rst'
252 elif MarkupRenderer.JUPYTER_PAT.findall(filename):
252 elif MarkupRenderer.JUPYTER_PAT.findall(filename):
253 detected_renderer = 'jupyter'
253 detected_renderer = 'jupyter'
254 elif MarkupRenderer.PLAIN_PAT.findall(filename):
254 elif MarkupRenderer.PLAIN_PAT.findall(filename):
255 detected_renderer = 'plain'
255 detected_renderer = 'plain'
256 else:
256 else:
257 detected_renderer = 'plain'
257 detected_renderer = 'plain'
258
258
259 return getattr(MarkupRenderer, detected_renderer)
259 return getattr(MarkupRenderer, detected_renderer)
260
260
261 @classmethod
261 @classmethod
262 def bleach_clean(cls, text):
262 def bleach_clean(cls, text):
263 from .bleach_whitelist import markdown_attrs, markdown_tags
263 from .bleach_whitelist import markdown_attrs, markdown_tags
264 allowed_tags = markdown_tags
264 allowed_tags = markdown_tags
265 allowed_attrs = markdown_attrs
265 allowed_attrs = markdown_attrs
266
266
267 try:
267 try:
268 return bleach.clean(text, tags=allowed_tags, attributes=allowed_attrs)
268 return bleach.clean(text, tags=allowed_tags, attributes=allowed_attrs)
269 except Exception:
269 except Exception:
270 return 'UNPARSEABLE TEXT'
270 return 'UNPARSEABLE TEXT'
271
271
272 @classmethod
272 @classmethod
273 def renderer_from_filename(cls, filename, exclude):
273 def renderer_from_filename(cls, filename, exclude):
274 """
274 """
275 Detect renderer markdown/rst from filename and optionally use exclude
275 Detect renderer markdown/rst from filename and optionally use exclude
276 list to remove some options. This is mostly used in helpers.
276 list to remove some options. This is mostly used in helpers.
277 Returns None when no renderer can be detected.
277 Returns None when no renderer can be detected.
278 """
278 """
279 def _filter(elements):
279 def _filter(elements):
280 if isinstance(exclude, (list, tuple)):
280 if isinstance(exclude, (list, tuple)):
281 return [x for x in elements if x not in exclude]
281 return [x for x in elements if x not in exclude]
282 return elements
282 return elements
283
283
284 if filename.endswith(
284 if filename.endswith(
285 tuple(_filter([x[0] for x in cls.MARKDOWN_EXTS if x[0]]))):
285 tuple(_filter([x[0] for x in cls.MARKDOWN_EXTS if x[0]]))):
286 return 'markdown'
286 return 'markdown'
287 if filename.endswith(tuple(_filter([x[0] for x in cls.RST_EXTS if x[0]]))):
287 if filename.endswith(tuple(_filter([x[0] for x in cls.RST_EXTS if x[0]]))):
288 return 'rst'
288 return 'rst'
289
289
290 return None
290 return None
291
291
292 def render(self, source, filename=None):
292 def render(self, source, filename=None):
293 """
293 """
294 Renders a given filename using detected renderer
294 Renders a given filename using detected renderer
295 it detects renderers based on file extension or mimetype.
295 it detects renderers based on file extension or mimetype.
296 At last it will just do a simple html replacing new lines with <br/>
296 At last it will just do a simple html replacing new lines with <br/>
297
297
298 :param file_name:
298 :param file_name:
299 :param source:
299 :param source:
300 """
300 """
301
301
302 renderer = self._detect_renderer(source, filename)
302 renderer = self._detect_renderer(source, filename)
303 readme_data = renderer(source)
303 readme_data = renderer(source)
304 return readme_data
304 return readme_data
305
305
306 @classmethod
306 @classmethod
307 def _flavored_markdown(cls, text):
307 def _flavored_markdown(cls, text):
308 """
308 """
309 Github style flavored markdown
309 Github style flavored markdown
310
310
311 :param text:
311 :param text:
312 """
312 """
313
313
314 # Extract pre blocks.
314 # Extract pre blocks.
315 extractions = {}
315 extractions = {}
316
316
317 def pre_extraction_callback(matchobj):
317 def pre_extraction_callback(matchobj):
318 digest = md5_safe(matchobj.group(0))
318 digest = md5_safe(matchobj.group(0))
319 extractions[digest] = matchobj.group(0)
319 extractions[digest] = matchobj.group(0)
320 return "{gfm-extraction-%s}" % digest
320 return "{gfm-extraction-%s}" % digest
321 pattern = re.compile(r'<pre>.*?</pre>', re.MULTILINE | re.DOTALL)
321 pattern = re.compile(r'<pre>.*?</pre>', re.MULTILINE | re.DOTALL)
322 text = re.sub(pattern, pre_extraction_callback, text)
322 text = re.sub(pattern, pre_extraction_callback, text)
323
323
324 # Prevent foo_bar_baz from ending up with an italic word in the middle.
324 # Prevent foo_bar_baz from ending up with an italic word in the middle.
325 def italic_callback(matchobj):
325 def italic_callback(matchobj):
326 s = matchobj.group(0)
326 s = matchobj.group(0)
327 if list(s).count('_') >= 2:
327 if list(s).count('_') >= 2:
328 return s.replace('_', r'\_')
328 return s.replace('_', r'\_')
329 return s
329 return s
330 text = re.sub(r'^(?! {4}|\t)\w+_\w+_\w[\w_]*', italic_callback, text)
330 text = re.sub(r'^(?! {4}|\t)\w+_\w+_\w[\w_]*', italic_callback, text)
331
331
332 # Insert pre block extractions.
332 # Insert pre block extractions.
333 def pre_insert_callback(matchobj):
333 def pre_insert_callback(matchobj):
334 return '\n\n' + extractions[matchobj.group(1)]
334 return '\n\n' + extractions[matchobj.group(1)]
335 text = re.sub(r'\{gfm-extraction-([0-9a-f]{32})\}',
335 text = re.sub(r'\{gfm-extraction-([0-9a-f]{32})\}',
336 pre_insert_callback, text)
336 pre_insert_callback, text)
337
337
338 return text
338 return text
339
339
340 @classmethod
340 @classmethod
341 def urlify_text(cls, text):
341 def urlify_text(cls, text):
342 def url_func(match_obj):
342 def url_func(match_obj):
343 url_full = match_obj.groups()[0]
343 url_full = match_obj.groups()[0]
344 return '<a href="%(url)s">%(url)s</a>' % ({'url': url_full})
344 return '<a href="%(url)s">%(url)s</a>' % ({'url': url_full})
345
345
346 return cls.URL_PAT.sub(url_func, text)
346 return cls.URL_PAT.sub(url_func, text)
347
347
348 @classmethod
348 @classmethod
349 def plain(cls, source, universal_newline=True, leading_newline=True):
349 def plain(cls, source, universal_newline=True, leading_newline=True):
350 source = safe_unicode(source)
350 source = safe_unicode(source)
351 if universal_newline:
351 if universal_newline:
352 newline = '\n'
352 newline = '\n'
353 source = newline.join(source.splitlines())
353 source = newline.join(source.splitlines())
354
354
355 rendered_source = cls.urlify_text(source)
355 rendered_source = cls.urlify_text(source)
356 source = ''
356 source = ''
357 if leading_newline:
357 if leading_newline:
358 source += '<br />'
358 source += '<br />'
359 source += rendered_source.replace("\n", '<br />')
359 source += rendered_source.replace("\n", '<br />')
360
360
361 rendered = cls.bleach_clean(source)
361 rendered = cls.bleach_clean(source)
362 return rendered
362 return rendered
363
363
364 @classmethod
364 @classmethod
365 def markdown(cls, source, safe=True, flavored=True, mentions=False,
365 def markdown(cls, source, safe=True, flavored=True, mentions=False,
366 clean_html=True):
366 clean_html=True):
367 """
367 """
368 returns markdown rendered code cleaned by the bleach library
368 returns markdown rendered code cleaned by the bleach library
369 """
369 """
370
370
371 if flavored:
371 if flavored:
372 markdown_renderer = get_markdown_renderer_flavored(
372 markdown_renderer = get_markdown_renderer_flavored(
373 cls.extensions, cls.output_format)
373 cls.extensions, cls.output_format)
374 else:
374 else:
375 markdown_renderer = get_markdown_renderer(
375 markdown_renderer = get_markdown_renderer(
376 cls.extensions, cls.output_format)
376 cls.extensions, cls.output_format)
377
377
378 if mentions:
378 if mentions:
379 mention_pat = re.compile(MENTIONS_REGEX)
379 mention_pat = re.compile(MENTIONS_REGEX)
380
380
381 def wrapp(match_obj):
381 def wrapp(match_obj):
382 uname = match_obj.groups()[0]
382 uname = match_obj.groups()[0]
383 return ' **@%(uname)s** ' % {'uname': uname}
383 return ' **@%(uname)s** ' % {'uname': uname}
384 mention_hl = mention_pat.sub(wrapp, source).strip()
384 mention_hl = mention_pat.sub(wrapp, source).strip()
385 # we extracted mentions render with this using Mentions false
385 # we extracted mentions render with this using Mentions false
386 return cls.markdown(mention_hl, safe=safe, flavored=flavored,
386 return cls.markdown(mention_hl, safe=safe, flavored=flavored,
387 mentions=False)
387 mentions=False)
388
388
389 source = safe_unicode(source)
389 source = safe_unicode(source)
390
390
391 try:
391 try:
392 if flavored:
392 if flavored:
393 source = cls._flavored_markdown(source)
393 source = cls._flavored_markdown(source)
394 rendered = markdown_renderer.convert(source)
394 rendered = markdown_renderer.convert(source)
395 except Exception:
395 except Exception:
396 log.exception('Error when rendering Markdown')
396 log.exception('Error when rendering Markdown')
397 if safe:
397 if safe:
398 log.debug('Fallback to render in plain mode')
398 log.debug('Fallback to render in plain mode')
399 rendered = cls.plain(source)
399 rendered = cls.plain(source)
400 else:
400 else:
401 raise
401 raise
402
402
403 if clean_html:
403 if clean_html:
404 rendered = cls.bleach_clean(rendered)
404 rendered = cls.bleach_clean(rendered)
405 return rendered
405 return rendered
406
406
407 @classmethod
407 @classmethod
408 def rst(cls, source, safe=True, mentions=False, clean_html=False):
408 def rst(cls, source, safe=True, mentions=False, clean_html=False):
409 if mentions:
409 if mentions:
410 mention_pat = re.compile(MENTIONS_REGEX)
410 mention_pat = re.compile(MENTIONS_REGEX)
411
411
412 def wrapp(match_obj):
412 def wrapp(match_obj):
413 uname = match_obj.groups()[0]
413 uname = match_obj.groups()[0]
414 return ' **@%(uname)s** ' % {'uname': uname}
414 return ' **@%(uname)s** ' % {'uname': uname}
415 mention_hl = mention_pat.sub(wrapp, source).strip()
415 mention_hl = mention_pat.sub(wrapp, source).strip()
416 # we extracted mentions render with this using Mentions false
416 # we extracted mentions render with this using Mentions false
417 return cls.rst(mention_hl, safe=safe, mentions=False)
417 return cls.rst(mention_hl, safe=safe, mentions=False)
418
418
419 source = safe_unicode(source)
419 source = safe_unicode(source)
420 try:
420 try:
421 docutils_settings = dict(
421 docutils_settings = dict(
422 [(alias, None) for alias in
422 [(alias, None) for alias in
423 cls.RESTRUCTUREDTEXT_DISALLOWED_DIRECTIVES])
423 cls.RESTRUCTUREDTEXT_DISALLOWED_DIRECTIVES])
424
424
425 docutils_settings.update({
425 docutils_settings.update({
426 'input_encoding': 'unicode', 'report_level': 4})
426 'input_encoding': 'unicode', 'report_level': 4})
427
427
428 for k, v in docutils_settings.iteritems():
428 for k, v in docutils_settings.iteritems():
429 directives.register_directive(k, v)
429 directives.register_directive(k, v)
430
430
431 parts = publish_parts(source=source,
431 parts = publish_parts(source=source,
432 writer=RhodeCodeWriter(),
432 writer=RhodeCodeWriter(),
433 settings_overrides=docutils_settings)
433 settings_overrides=docutils_settings)
434 rendered = parts["fragment"]
434 rendered = parts["fragment"]
435 if clean_html:
435 if clean_html:
436 rendered = cls.bleach_clean(rendered)
436 rendered = cls.bleach_clean(rendered)
437 return parts['html_title'] + rendered
437 return parts['html_title'] + rendered
438 except Exception:
438 except Exception:
439 log.exception('Error when rendering RST')
439 log.exception('Error when rendering RST')
440 if safe:
440 if safe:
441 log.debug('Fallbacking to render in plain mode')
441 log.debug('Fallbacking to render in plain mode')
442 return cls.plain(source)
442 return cls.plain(source)
443 else:
443 else:
444 raise
444 raise
445
445
446 @classmethod
446 @classmethod
447 def jupyter(cls, source, safe=True):
447 def jupyter(cls, source, safe=True):
448 from rhodecode.lib import helpers
448 from rhodecode.lib import helpers
449
449
450 from traitlets.config import Config
450 from traitlets.config import Config
451 import nbformat
451 import nbformat
452 from nbconvert import HTMLExporter
452 from nbconvert import HTMLExporter
453 from nbconvert.preprocessors import Preprocessor
453 from nbconvert.preprocessors import Preprocessor
454
454
455 class CustomHTMLExporter(HTMLExporter):
455 class CustomHTMLExporter(HTMLExporter):
456 def _template_file_default(self):
456 def _template_file_default(self):
457 return 'basic'
457 return 'basic'
458
458
459 class Sandbox(Preprocessor):
459 class Sandbox(Preprocessor):
460
460
461 def preprocess(self, nb, resources):
461 def preprocess(self, nb, resources):
462 sandbox_text = 'SandBoxed(IPython.core.display.Javascript object)'
462 sandbox_text = 'SandBoxed(IPython.core.display.Javascript object)'
463 for cell in nb['cells']:
463 for cell in nb['cells']:
464 if not safe:
464 if not safe:
465 continue
465 continue
466
466
467 if 'outputs' in cell:
467 if 'outputs' in cell:
468 for cell_output in cell['outputs']:
468 for cell_output in cell['outputs']:
469 if 'data' in cell_output:
469 if 'data' in cell_output:
470 if 'application/javascript' in cell_output['data']:
470 if 'application/javascript' in cell_output['data']:
471 cell_output['data']['text/plain'] = sandbox_text
471 cell_output['data']['text/plain'] = sandbox_text
472 cell_output['data'].pop('application/javascript', None)
472 cell_output['data'].pop('application/javascript', None)
473
473
474 if 'source' in cell and cell['cell_type'] == 'markdown':
474 if 'source' in cell and cell['cell_type'] == 'markdown':
475 # sanitize similar like in markdown
475 # sanitize similar like in markdown
476 cell['source'] = cls.bleach_clean(cell['source'])
476 cell['source'] = cls.bleach_clean(cell['source'])
477
477
478 return nb, resources
478 return nb, resources
479
479
480 def _sanitize_resources(input_resources):
480 def _sanitize_resources(input_resources):
481 """
481 """
482 Skip/sanitize some of the CSS generated and included in jupyter
482 Skip/sanitize some of the CSS generated and included in jupyter
483 so it doesn't messes up UI so much
483 so it doesn't messes up UI so much
484 """
484 """
485
485
486 # TODO(marcink): probably we should replace this with whole custom
486 # TODO(marcink): probably we should replace this with whole custom
487 # CSS set that doesn't screw up, but jupyter generated html has some
487 # CSS set that doesn't screw up, but jupyter generated html has some
488 # special markers, so it requires Custom HTML exporter template with
488 # special markers, so it requires Custom HTML exporter template with
489 # _default_template_path_default, to achieve that
489 # _default_template_path_default, to achieve that
490
490
491 # strip the reset CSS
491 # strip the reset CSS
492 input_resources[0] = input_resources[0][input_resources[0].find('/*! Source'):]
492 input_resources[0] = input_resources[0][input_resources[0].find('/*! Source'):]
493 return input_resources
493 return input_resources
494
494
495 def as_html(notebook):
495 def as_html(notebook):
496 conf = Config()
496 conf = Config()
497 conf.CustomHTMLExporter.preprocessors = [Sandbox]
497 conf.CustomHTMLExporter.preprocessors = [Sandbox]
498 html_exporter = CustomHTMLExporter(config=conf)
498 html_exporter = CustomHTMLExporter(config=conf)
499
499
500 (body, resources) = html_exporter.from_notebook_node(notebook)
500 (body, resources) = html_exporter.from_notebook_node(notebook)
501 header = '<!-- ## IPYTHON NOTEBOOK RENDERING ## -->'
501 header = '<!-- ## IPYTHON NOTEBOOK RENDERING ## -->'
502 js = MakoTemplate(r'''
502 js = MakoTemplate(r'''
503 <!-- Load mathjax -->
504 <!-- MathJax configuration -->
503 <!-- MathJax configuration -->
505 <script type="text/x-mathjax-config">
504 <script type="text/x-mathjax-config">
506 MathJax.Hub.Config({
505 MathJax.Hub.Config({
507 jax: ["input/TeX","output/HTML-CSS", "output/PreviewHTML"],
506 jax: ["input/TeX","output/HTML-CSS", "output/PreviewHTML"],
508 extensions: ["tex2jax.js","MathMenu.js","MathZoom.js", "fast-preview.js", "AssistiveMML.js", "[Contrib]/a11y/accessibility-menu.js"],
507 extensions: ["tex2jax.js","MathMenu.js","MathZoom.js", "fast-preview.js", "AssistiveMML.js", "[Contrib]/a11y/accessibility-menu.js"],
509 TeX: {
508 TeX: {
510 extensions: ["AMSmath.js","AMSsymbols.js","noErrors.js","noUndefined.js"]
509 extensions: ["AMSmath.js","AMSsymbols.js","noErrors.js","noUndefined.js"]
511 },
510 },
512 tex2jax: {
511 tex2jax: {
513 inlineMath: [ ['$','$'], ["\\(","\\)"] ],
512 inlineMath: [ ['$','$'], ["\\(","\\)"] ],
514 displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
513 displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
515 processEscapes: true,
514 processEscapes: true,
516 processEnvironments: true
515 processEnvironments: true
517 },
516 },
518 // Center justify equations in code and markdown cells. Elsewhere
517 // Center justify equations in code and markdown cells. Elsewhere
519 // we use CSS to left justify single line equations in code cells.
518 // we use CSS to left justify single line equations in code cells.
520 displayAlign: 'center',
519 displayAlign: 'center',
521 "HTML-CSS": {
520 "HTML-CSS": {
522 styles: {'.MathJax_Display': {"margin": 0}},
521 styles: {'.MathJax_Display': {"margin": 0}},
523 linebreaks: { automatic: true },
522 linebreaks: { automatic: true },
524 availableFonts: ["STIX", "TeX"]
523 availableFonts: ["STIX", "TeX"]
525 },
524 },
526 showMathMenu: false
525 showMathMenu: false
527 });
526 });
528 </script>
527 </script>
529 <!-- End of mathjax configuration -->
528 <!-- End of MathJax configuration -->
530 <script src="${h.asset('js/src/math_jax/MathJax.js')}"></script>
529 <script src="${h.asset('js/src/math_jax/MathJax.js')}"></script>
531 ''').render(h=helpers)
530 ''').render(h=helpers)
532
531
533 css = '<style>{}</style>'.format(
532 css = MakoTemplate(r'''
534 ''.join(_sanitize_resources(resources['inlining']['css'])))
533 <link rel="stylesheet" type="text/css" href="${h.asset('css/style-ipython.css', ver=ver)}" media="screen"/>
534 ''').render(h=helpers, ver='ver1')
535
535
536 body = '\n'.join([header, css, js, body])
536 body = '\n'.join([header, css, js, body])
537 return body, resources
537 return body, resources
538
538
539 notebook = nbformat.reads(source, as_version=4)
539 notebook = nbformat.reads(source, as_version=4)
540 (body, resources) = as_html(notebook)
540 (body, resources) = as_html(notebook)
541 return body
541 return body
542
542
543
543
544 class RstTemplateRenderer(object):
544 class RstTemplateRenderer(object):
545
545
546 def __init__(self):
546 def __init__(self):
547 base = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
547 base = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
548 rst_template_dirs = [os.path.join(base, 'templates', 'rst_templates')]
548 rst_template_dirs = [os.path.join(base, 'templates', 'rst_templates')]
549 self.template_store = TemplateLookup(
549 self.template_store = TemplateLookup(
550 directories=rst_template_dirs,
550 directories=rst_template_dirs,
551 input_encoding='utf-8',
551 input_encoding='utf-8',
552 imports=['from rhodecode.lib import helpers as h'])
552 imports=['from rhodecode.lib import helpers as h'])
553
553
554 def _get_template(self, templatename):
554 def _get_template(self, templatename):
555 return self.template_store.get_template(templatename)
555 return self.template_store.get_template(templatename)
556
556
557 def render(self, template_name, **kwargs):
557 def render(self, template_name, **kwargs):
558 template = self._get_template(template_name)
558 template = self._get_template(template_name)
559 return template.render(**kwargs)
559 return template.render(**kwargs)
General Comments 0
You need to be logged in to leave comments. Login now