]> git.immae.eu Git - github/wallabag/wallabag.git/blame_incremental - app/Resources/static/themes/material/css/main.css
Fix right side-nav scrolling on low height window
[github/wallabag/wallabag.git] / app / Resources / static / themes / material / css / main.css
... / ...
CommitLineData
1/* ==========================================================================
2 Sommaire
3
4 0 = Common
5 1 = Nav
6 2 = Side-nav
7 3 = Filters slider
8 4 = Cards
9 5 = Article
10 6 = Media queries
11 7 = Font
12 8 = Others
13
14 ========================================================================== */
15
16/* ==========================================================================
17 0 = Common
18 ========================================================================== */
19
20/**
21 *
22 * Material icons
23 *
24 */
25
26@font-face {
27 font-family: 'Material Icons';
28 font-style: normal;
29 font-weight: 400;
30 src: url(../fonts/MaterialIcons-Regular.eot);
31
32 /* For IE6-8 */
33 src: local("Material Icons"), local("MaterialIcons-Regular"), url(../fonts/MaterialIcons-Regular.woff2) format("woff2"), url(../fonts/MaterialIcons-Regular.woff) format("woff"), url(../fonts/MaterialIcons-Regular.ttf) format("truetype");
34}
35
36.material-icons {
37 font-family: 'Material Icons';
38 font-weight: normal;
39 font-style: normal;
40 font-size: 24px; /* Preferred icon size */
41 width: 1em;
42 height: 1em;
43 display: inline-block;
44 line-height: 1;
45 text-transform: none;
46 letter-spacing: normal;
47 word-wrap: normal;
48 white-space: nowrap;
49 direction: ltr;
50
51 /* Support for all WebKit browsers. */
52 -webkit-font-smoothing: antialiased;
53
54 /* Support for Safari and Chrome. */
55 text-rendering: optimizeLegibility;
56
57 /* Support for Firefox. */
58 -moz-osx-font-smoothing: grayscale;
59
60 /* Support for IE. */
61 font-feature-settings: 'liga';
62}
63
64/* Rules for sizing the icon. */
65.material-icons.md-18 { font-size: 18px; }
66.material-icons.md-24 { font-size: 24px; }
67.material-icons.md-36 { font-size: 36px; }
68.material-icons.md-48 { font-size: 48px; }
69
70/* Rules for using icons as black on a light background. */
71.material-icons.md-dark { color: rgba(0, 0, 0, 0.54); }
72.material-icons.md-dark.md-inactive { color: rgba(0, 0, 0, 0.26); }
73
74/* Rules for using icons as white on a dark background. */
75.material-icons.md-light { color: rgba(255, 255, 255, 1); }
76.material-icons.md-light.md-inactive { color: rgba(255, 255, 255, 0.3); }
77
78/**
79 *
80 * Icomoon icons
81 *
82 */
83
84@font-face {
85 font-family: icomoon;
86 src: url("../fonts/IcoMoon-Free.ttf");
87 font-weight: normal;
88 font-style: normal;
89}
90
91[class^="icon-"]::before,
92[class*=" icon-"]::before {
93 font-family: icomoon;
94 speak: none;
95 font-style: normal;
96 font-weight: normal;
97 font-variant: normal;
98 text-transform: none;
99 line-height: 1;
100 background-size: 24px;
101
102 /* Enable Ligatures ================ */
103 letter-spacing: 0;
104 -webkit-font-feature-settings: "liga";
105 -moz-font-feature-settings: "liga=1";
106 -moz-font-feature-settings: "liga";
107 -ms-font-feature-settings: "liga" 1;
108 -o-font-feature-settings: "liga";
109 font-feature-settings: "liga";
110
111 /* Better Font Rendering =========== */
112 -webkit-font-smoothing: antialiased;
113 -moz-osx-font-smoothing: grayscale;
114}
115
116.icon-image {
117 background-size: 16px;
118 background-repeat: no-repeat;
119 padding-right: 1em !important;
120 padding-left: 1em !important;
121}
122
123.icon-eye::before {
124 content: "\e9ce";
125}
126
127.icon-no-eye::before {
128 content: "\e9d1";
129}
130
131.icon-calendar::before {
132 content: "\e953";
133}
134
135.icon-mail::before {
136 content: "\ea86";
137}
138
139.icon-time::before {
140 content: "\e952";
141}
142
143/* Carrot (http://carrot.org) */
144.icon-image--carrot {
145 background-image: url("../../_global/img/icons/carrot-icon--black.png");
146}
147
148/* Diaspora */
149.icon-image--diaspora {
150 background-image: url("../../_global/img/icons/diaspora-icon--black.png");
151}
152
153/* Unmark.it */
154.icon-image--unmark {
155 background-image: url("../../_global/img/icons/unmark-icon--black.png");
156}
157
158/* Shaarli */
159.icon-image--shaarli {
160 background-image: url("../../_global/img/icons/shaarli.png");
161}
162
163body {
164 display: flex;
165 min-height: 100vh;
166 flex-direction: column;
167 background: #fafafa;
168}
169
170body.login main {
171 padding: 0;
172 min-height: 100vh;
173}
174
175.border-bottom {
176 border-bottom: 1px solid #ddd;
177}
178
179nav,
180main,
181footer {
182 padding-left: 240px;
183}
184
185main,
186#content,
187.valign-wrapper {
188 height: 100%;
189}
190
191#main {
192 flex: 1 0 auto;
193}
194
195.results {
196 height: 1em;
197}
198
199.results .nb-results,
200.results .pagination {
201 margin: 15px;
202 margin-bottom: 0;
203}
204
205.results .nb-results {
206 display: inline-flex;
207}
208
209.results a {
210 color: #444;
211}
212
213.pagination {
214 float: right;
215}
216
217.pagination ul {
218 margin: 0 !important;
219}
220
221.pagination li {
222 padding: 0;
223}
224
225.pagination a {
226 padding: 0 10px;
227 height: 30px;
228 display: block;
229}
230
231.pagination .disabled {
232 margin-right: 10px;
233 margin-left: 10px;
234}
235
236div.pagination ul .prev.disabled,
237div.pagination ul .next.disabled {
238 display: none;
239}
240
241.pagination li.active span {
242 padding: 0 10px;
243 height: 30px;
244 display: block;
245 color: #fff;
246}
247
248.page-footer .footer-copyright {
249 min-width: 50px;
250 height: auto !important;
251 line-height: 1em !important;
252}
253
254.page-footer .footer-copyright p {
255 text-overflow: ellipsis;
256 white-space: nowrap;
257 overflow: hidden;
258 display: block;
259}
260
261.hidden {
262 display: none;
263}
264
265.picker__date-display {
266 display: none;
267}
268
269footer.page-footer {
270 margin-top: 10px;
271 padding-top: 0;
272}
273
274footer .row {
275 margin-bottom: 10px;
276}
277
278/* ==========================================================================
279 1 = Nav
280 ========================================================================== */
281
282nav input {
283 color: #aaa;
284}
285
286nav {
287 height: auto;
288}
289
290.nav-wrapper {
291 display: flex;
292 flex-wrap: wrap;
293 justify-content: space-between;
294}
295
296.nav-wrapper .button-collapse {
297 padding: 0 15px;
298}
299
300.nav-input {
301 display: none;
302}
303
304.nav-panel-buttom {
305 display: flex;
306 flex-grow: 1;
307 justify-content: right;
308}
309
310.nav-panel-buttom li {
311 max-height: 64px;
312}
313
314.nav-panels {
315 transition: background 0.2s ease;
316}
317
318.nav-panel-add .add,
319.nav-panel-search .search,
320.nav-panels .close {
321 color: #444 !important;
322}
323
324.nav-panels .action {
325 padding-left: 0.75rem;
326 font-size: 2.1rem;
327 white-space: nowrap;
328}
329
330.nav-panels .input-field input {
331 display: block;
332 line-height: inherit;
333 padding-left: 4rem !important;
334 width: calc(100% - 8rem);
335}
336
337.nav-panels .input-field input:focus {
338 background-color: #fff;
339 border: 0;
340 box-shadow: none;
341 color: #444;
342}
343
344.input-field.nav-panel-add label,
345.input-field.nav-panel-search label {
346 left: 1rem;
347}
348
349.input-field.nav-panel-add .close,
350.input-field.nav-panel-search .close {
351 position: absolute;
352 top: 0;
353 right: 1rem;
354 color: transparent;
355 cursor: pointer;
356 font-size: 2rem;
357 transition: 0.3s color;
358}
359
360#button_filters {
361 display: none;
362}
363
364#button_export {
365 display: none;
366}
367
368.input-field.nav-panel-add,
369.input-field.nav-panel-add form,
370.input-field.nav-panel-search,
371.input-field.nav-panel-search form {
372 flex-grow: 1;
373}
374
375/* ==========================================================================
376 2 = Side-nav
377 ========================================================================== */
378
379.side-nav.fixed a {
380 font-size: 13px;
381 line-height: 44px;
382 height: 44px;
383}
384
385.side-nav .collapsible-header,
386.side-nav.fixed .collapsible-header {
387 height: 45px;
388 line-height: 44px;
389 padding: 0 20px;
390}
391
392.bold > a {
393 font-weight: bold;
394}
395
396.side-nav > li.logo {
397 line-height: 0;
398 text-align: center;
399}
400
401#main .logo a {
402 height: 100pt;
403}
404
405#main .logo img {
406 height: 100pt;
407 width: 100pt;
408}
409
410#main .logo:hover {
411 background: transparent;
412}
413
414.side-nav li {
415 padding: 0;
416}
417
418.side-nav a {
419 margin: 0 1rem;
420}
421
422span.numberItems {
423 float: right;
424}
425
426nav ul a:hover {
427 background-color: initial;
428}
429
430/* ==========================================================================
431 * 3 = Filters slider
432 * ========================================================================== */
433
434#filters button {
435 padding: 0;
436 width: 100%;
437}
438
439.side-nav.fixed.right-aligned {
440 right: -250px;
441 left: auto !important;
442}
443
444#filters div.with-checkbox {
445 height: 3rem;
446 margin-top: 0;
447}
448
449/* ==========================================================================
450 4 = Cards
451 ========================================================================== */
452
453main #content {
454 padding: 0 0.5rem;
455}
456
457main ul.row {
458 padding: 0 0.75rem;
459}
460
461.data .card .card-body {
462 height: 19em;
463 overflow: hidden;
464}
465
466.card .card-content .card-title,
467.card .card-reveal .card-title {
468 line-height: 22.8px;
469 max-height: 80px;
470 font-size: 19px;
471 font-family: roberto, "Helvetica Neue", Helvetica, Arial, sans-serif;
472 color: #313131;
473}
474
475.card .card-content .activator,
476.card .card-reveal .activator {
477 cursor: pointer;
478 font-family: "Material Icons";
479}
480
481.card .card-content i.right,
482.card .card-reveal i.right {
483 margin-left: 0;
484}
485
486.card .card-content .original {
487 line-height: 24px;
488 font-size: 15px;
489}
490
491a.original {
492 text-overflow: ellipsis;
493 white-space: nowrap;
494 overflow: hidden;
495 display: block;
496}
497
498.card .card-entry-labels {
499 position: absolute;
500 top: 10px;
501 z-index: 90;
502 max-width: 50%;
503}
504
505.card .card-entry-labels li,
506.card-tag-labels li {
507 margin: 10px 10px 10px auto;
508 padding: 5px 12px 5px 16px !important;
509 background-color: rgba(0, 151, 167, 0.85);
510 border-radius: 0 3px 3px 0;
511 color: #fff;
512 cursor: default;
513 max-height: 2em;
514 overflow: hidden;
515 text-overflow: ellipsis;
516 white-space: nowrap;
517}
518
519.card .card-entry-labels-hidden {
520 margin: 2.5px auto;
521}
522
523.card .card-entry-labels-hidden li {
524 display: inline-block;
525 background-color: rgba(0, 151, 167, 0.85);
526 margin: 0 5px;
527 padding: 5px 12px;
528 border-radius: 3px;
529 color: #fff;
530 max-height: 2em;
531 max-width: calc(100% - 15px);
532 overflow: hidden;
533 text-overflow: ellipsis;
534 white-space: nowrap;
535}
536
537.card .card-entry-labels-hidden li:first-child {
538 margin-left: 0;
539}
540
541.card-entry-tags a,
542.card-entry-labels a,
543.card-tag-labels a,
544.card-entry-labels-hidden a,
545#list .chip a {
546 text-decoration: none;
547 font-weight: normal;
548 color: #fff;
549}
550
551.card .card-content .estimatedTime {
552 margin-bottom: 10px;
553}
554
555.card .card-action {
556 padding: 10px 5px 10px 15px;
557}
558
559.card .card-action ul.links {
560 margin: 0;
561 font-size: 24px;
562 line-height: 24px;
563}
564
565.card .card-action ul.tools li a.tool {
566 margin-right: 5px !important;
567}
568
569.card-stacked:hover ul.tools-list {
570 display: block;
571}
572
573.card-stacked ul.tools-list {
574 display: none;
575}
576
577.card .card-action a {
578 color: #fff;
579 margin: 0;
580}
581
582.card .card-action a:hover {
583 color: #fff;
584}
585
586.card .card-action .reading-time {
587 display: inline-flex;
588 vertical-align: middle;
589}
590
591.quickstart .card .card-action a,
592.quickstart .card .card-action a:hover {
593 color: #fff !important;
594}
595
596.settings .div_tabs {
597 padding-bottom: 15px;
598}
599
600.card.sw {
601 max-width: 370px;
602 margin-left: auto;
603 margin-right: auto;
604}
605
606.card .card-image {
607 height: 10em;
608}
609
610.card .card-fullimage {
611 height: 13.5em;
612}
613
614.card .card-image .preview,
615.card .card-fullimage .preview {
616 height: 14em;
617 background-size: cover;
618 background-repeat: no-repeat;
619 background-position: 50%;
620}
621
622/* ==========================================================================
623 5 = Article
624 ========================================================================== */
625
626#article {
627 font-size: 20px;
628 margin: 0 auto;
629 max-width: 45em;
630}
631
632#article article {
633 color: #424242;
634 font-size: 18px;
635 line-height: 1.7em;
636}
637
638#article article h1,
639#article article h2,
640#article article h3,
641#article article h4,
642#article article h5,
643#article article h6 {
644 color: #212121;
645}
646
647#article article h1 strong,
648#article article h2 strong,
649#article article h3 strong,
650#article article h4 strong,
651#article article h5 strong,
652#article article h6 strong {
653 font-weight: 500;
654}
655
656#article article h6 {
657 font-size: 1.2rem;
658}
659
660#article article h5 {
661 font-size: 1.6rem;
662}
663
664#article article h4 {
665 font-size: 1.9rem;
666}
667
668#article article h3 {
669 font-size: 2.2rem;
670}
671
672#article article h2 {
673 font-size: 2.5rem;
674}
675
676#article article h1 {
677 font-size: 2.7rem;
678}
679
680#article img,
681#article figure {
682 max-width: 100%;
683 height: auto;
684}
685
686#article article a {
687 border-bottom: 1px dotted #03a9f4;
688 text-decoration: none;
689}
690
691#article article a:hover {
692 border-bottom-style: solid;
693}
694
695#article article ul {
696 padding-left: 30px;
697}
698
699#article article ul,
700#article article ul li {
701 list-style-type: disc;
702}
703
704#article article blockquote {
705 font-style: italic;
706}
707
708#article article strong {
709 font-weight: bold;
710}
711
712#article article pre {
713 box-sizing: border-box;
714 margin: 0 0 1.75em;
715 border: #e3f2fd 1px solid;
716 width: 100%;
717 padding: 10px;
718 font-family: monospace;
719 font-size: 0.8em;
720 white-space: pre;
721 overflow: auto;
722 background: #f5f5f5;
723 border-radius: 3px;
724}
725
726#article > header > h1 {
727 font-size: 2em;
728 margin: 2.1rem 0 0.68rem;
729}
730
731.reader-mode {
732 width: 95px !important;
733 transition: width 0.2s ease;
734}
735
736.reader-mode:hover {
737 width: 240px !important;
738}
739
740.reader-mode .collapsible-body {
741 height: 0;
742 overflow: hidden;
743}
744
745.reader-mode:hover .collapsible-body {
746 height: auto;
747}
748
749.reader-mode span {
750 opacity: 0;
751 transition: opacity 0.2s ease;
752}
753
754.reader-mode:hover span {
755 opacity: 1;
756}
757
758.progress {
759 position: fixed;
760 top: 0;
761 width: 100%;
762 height: 3px;
763 margin: 0;
764 z-index: 9999;
765}
766
767#article aside .tools {
768 font-size: 0.8em;
769 display: flex;
770 flex-flow: row wrap;
771 margin: 0 auto;
772}
773
774article aside .tools li {
775 display: inline-flex;
776 vertical-align: middle;
777}
778
779#article aside .tools a {
780 color: #000;
781 text-decoration: none;
782}
783
784#article aside #list {
785 float: right;
786 margin: 0 15px 10px;
787}
788
789#article aside .chip {
790 background-color: rgba(0, 151, 167, 0.85);
791 padding: 0 15px 0 10px;
792 margin: auto 2px;
793}
794
795#article aside .chip a,
796#article aside .chip i {
797 color: #fff;
798}
799
800/* ==========================================================================
801 6 = Media queries
802 ========================================================================== */
803
804@media only screen and (max-width: 992px) {
805 header,
806 main,
807 footer {
808 padding-left: 0;
809 }
810
811 nav,
812 main,
813 footer {
814 padding-left: 0;
815 }
816
817 .pagination {
818 width: auto;
819 }
820
821 .nav-panels .action {
822 padding-right: 0.75rem;
823 }
824
825 .nav-panel-buttom {
826 justify-content: space-around;
827 }
828
829 #article {
830 max-width: 35em;
831 margin-left: auto;
832 margin-right: auto;
833 font-size: 18px;
834 }
835
836 #article > header > h1 {
837 font-size: 1.33em;
838 }
839
840 .reader-mode {
841 width: 240px !important;
842 }
843
844 .reader-mode span {
845 opacity: 1;
846 }
847
848 .tabs {
849 display: inline-block;
850 height: auto;
851 }
852
853 .tab {
854 min-width: 100%;
855 }
856
857 .indicator {
858 display: none;
859 }
860
861 .pagination li.prev,
862 .pagination li.next {
863 width: auto;
864 }
865
866 .drag-target + .drag-target {
867 height: 50%;
868 }
869
870 .drag-target + .drag-target + .drag-target {
871 top: 50%;
872 }
873}
874
875@media only screen and (min-width: 1200px) and (max-width: 1650px) {
876 .row .col.l3 {
877 width: 33.33333%;
878 margin-left: 0;
879 }
880}
881
882@media only screen and (min-width: 993px) and (max-width: 1200px) {
883 .row .col.l1 {
884 width: 25%;
885 margin-left: 0;
886 }
887
888 .row .col.l2 {
889 width: 33.33333%;
890 margin-left: 0;
891 }
892
893 .row .col.l3 {
894 width: 41.66667%;
895 margin-left: 0;
896 }
897
898 .row .col.l4 {
899 width: 50%;
900 margin-left: 0;
901 }
902
903 .row .col.l5 {
904 width: 58.33333%;
905 margin-left: 0;
906 }
907
908 .row .col.l6 {
909 width: 66.66667%;
910 margin-left: 0;
911 }
912
913 .row .col.l7 {
914 width: 75%;
915 margin-left: 0;
916 }
917
918 .row .col.l8 {
919 width: 83.33333%;
920 margin-left: 0;
921 }
922
923 .row .col.l9 {
924 width: 91.66667%;
925 margin-left: 0;
926 }
927
928 .row .col.l10 {
929 width: 100%;
930 margin-left: 0;
931 }
932}
933
934@media only screen and (max-width: 350px) {
935 .nb-results {
936 display: none;
937 }
938
939 main ul.row {
940 padding: 0;
941 }
942
943 .row .col {
944 padding: 0;
945 }
946}
947
948/* ==========================================================================
949 7 = Font
950 ========================================================================== */
951
952.icon-google-plus2::before {
953 content: "\ea89";
954}
955
956.icon-facebook2::before {
957 content: "\ea8d";
958}
959
960.icon-twitter::before {
961 content: "\ea96";
962}
963
964.icon-apple::before {
965 content: "\eabf";
966}
967
968.icon-android::before {
969 content: "\eac1";
970}
971
972.icon-chrome::before {
973 content: "\eae5";
974}
975
976.icon-firefox::before {
977 content: "\eae6";
978}
979
980.icon-link::before {
981 content: "\e9cb";
982}
983
984footer [class^="icon-"],
985footer [class*=" icon-"] {
986 font-size: 2em;
987 transition: text-shadow 0.2s ease;
988 padding-right: 10px;
989}
990
991footer [class^="icon-"]:hover,
992footer [class*=" icon-"]:hover {
993 text-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
994}
995
996/* ==========================================================================
997 8 = Others
998 ========================================================================== */
999
1000/* force height on non-input field in the settings page */
1001div.settings div.input-field div,
1002div.settings div.input-field ul {
1003 margin-top: 40px;
1004}
1005
1006/* but avoid to kill all file input */
1007div.settings div.file-field div {
1008 margin-top: inherit;
1009}
1010
1011.input-field label.active {
1012 font-size: 1rem;
1013}
1014
1015nav .input-field input {
1016 margin: 0;
1017}