]> git.immae.eu Git - github/wallabag/wallabag.git/blob - app/Resources/static/themes/material/css/main.css
Merge pull request #2630 from ThibaudDauce/fix-black-headings
[github/wallabag/wallabag.git] / app / Resources / static / themes / material / css / main.css
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
163 body {
164 display: flex;
165 min-height: 100vh;
166 flex-direction: column;
167 background: #f0f0f0;
168 }
169
170 body.login main {
171 padding: 0;
172 min-height: 100vh;
173 }
174
175 .border-bottom {
176 border-bottom: 1px solid #ddd;
177 }
178
179 nav,
180 main,
181 footer {
182 padding-left: 240px;
183 }
184
185 main,
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 line-height: 30px;
198 }
199
200 .results .nb-results,
201 .results .pagination {
202 margin: 15px;
203 margin-bottom: 0;
204 }
205
206 .pagination {
207 float: right;
208 }
209
210 .pagination ul {
211 margin: 0 !important;
212 }
213
214 .pagination li {
215 padding: 0;
216 }
217
218 .pagination a {
219 padding: 0 10px;
220 height: 30px;
221 display: block;
222 }
223
224 .pagination .disabled {
225 margin-right: 10px;
226 margin-left: 10px;
227 }
228
229 div.pagination ul .prev.disabled,
230 div.pagination ul .next.disabled {
231 display: none;
232 }
233
234 .pagination li.active span {
235 padding: 0 10px;
236 height: 30px;
237 display: block;
238 color: #fff;
239 }
240
241 .page-footer .footer-copyright {
242 min-width: 50px;
243 height: auto !important;
244 line-height: 1em !important;
245 }
246
247 .page-footer .footer-copyright p {
248 text-overflow: ellipsis;
249 white-space: nowrap;
250 overflow: hidden;
251 display: block;
252 }
253
254 .hidden {
255 display: none;
256 }
257
258 .picker__date-display {
259 display: none;
260 }
261
262 footer.page-footer {
263 margin-top: 10px;
264 padding-top: 0;
265 }
266
267 footer .row {
268 margin-bottom: 10px;
269 }
270
271 /* ==========================================================================
272 1 = Nav
273 ========================================================================== */
274
275 nav input {
276 color: #aaa;
277 }
278
279 .nav-wrapper .button-collapse {
280 padding: 0 15px;
281 }
282
283 .nav-input {
284 display: none;
285 }
286
287 .nav-panels {
288 overflow: hidden;
289 }
290
291 .nav-panel-buttom li {
292 max-height: 64px;
293 }
294
295 .nav-panels {
296 transition: background 0.2s ease;
297 }
298
299 .nav-panel-add .add,
300 .nav-panel-search .search,
301 .nav-panels .close {
302 color: #444 !important;
303 }
304
305 .nav-panels .action {
306 padding-left: 0.75rem;
307 font-size: 2.1rem;
308 white-space: nowrap;
309 }
310
311 .nav-panels .input-field input {
312 display: block;
313 line-height: inherit;
314 padding-left: 4rem !important;
315 width: calc(100% - 8rem);
316 }
317
318 .nav-panels .input-field input:focus {
319 background-color: #fff;
320 border: 0;
321 box-shadow: none;
322 color: #444;
323 }
324
325 .input-field.nav-panel-add label,
326 .input-field.nav-panel-search label {
327 left: 1rem;
328 }
329
330 .input-field.nav-panel-add .close,
331 .input-field.nav-panel-search .close {
332 position: absolute;
333 top: 0;
334 right: 1rem;
335 color: transparent;
336 cursor: pointer;
337 font-size: 2rem;
338 transition: 0.3s color;
339 }
340
341 #button_filters {
342 display: none;
343 }
344
345 #button_export {
346 display: none;
347 }
348
349 .input-field.nav-panel-add,
350 .input-field.nav-panel-add form,
351 .input-field.nav-panel-search,
352 .input-field.nav-panel-search form {
353 height: 100%;
354 }
355
356 /* ==========================================================================
357 2 = Side-nav
358 ========================================================================== */
359
360 .side-nav.fixed a {
361 font-size: 13px;
362 line-height: 44px;
363 height: 44px;
364 }
365
366 .side-nav .collapsible-header,
367 .side-nav.fixed .collapsible-header {
368 height: 45px;
369 line-height: 44px;
370 padding: 0 20px;
371 }
372
373 .bold > a {
374 font-weight: bold;
375 }
376
377 .side-nav > li.logo {
378 line-height: 0;
379 text-align: center;
380 }
381
382 #main .logo a {
383 height: 100pt;
384 }
385
386 #main .logo img {
387 height: 100pt;
388 width: 100pt;
389 }
390
391 #main .logo:hover {
392 background: transparent;
393 }
394
395 .side-nav li {
396 padding: 0;
397 }
398
399 .side-nav a {
400 margin: 0 1rem;
401 }
402
403 span.numberItems {
404 float: right;
405 }
406
407 nav ul a:hover {
408 background-color: initial;
409 }
410
411 /* ==========================================================================
412 * 3 = Filters slider
413 * ========================================================================== */
414
415 #filters button {
416 padding: 0;
417 width: 100%;
418 }
419
420 .side-nav.fixed.right-aligned {
421 right: -250px;
422 left: auto !important;
423 overflow-y: visible;
424 }
425
426 #filters div.with-checkbox {
427 height: 3rem;
428 margin-top: 0;
429 }
430
431 /* ==========================================================================
432 4 = Cards
433 ========================================================================== */
434
435 main #content {
436 padding: 0 0.5rem;
437 }
438
439 main ul.row {
440 padding: 0 0.75rem;
441 }
442
443 .data .card .card-body {
444 height: 19em;
445 overflow: hidden;
446 }
447
448 .card .card-content .card-title,
449 .card .card-reveal .card-title {
450 line-height: 22.8px;
451 max-height: 80px;
452 font-size: 19px;
453 font-family: roberto, "Helvetica Neue", Helvetica, Arial, sans-serif;
454 color: #313131;
455 }
456
457 .card .card-content .activator,
458 .card .card-reveal .activator {
459 cursor: pointer;
460 font-family: "Material Icons";
461 }
462
463 .card .card-content i.right,
464 .card .card-reveal i.right {
465 margin-left: 0;
466 }
467
468 .card .card-content .original {
469 line-height: 24px;
470 font-size: 15px;
471 }
472
473 a.original {
474 text-overflow: ellipsis;
475 white-space: nowrap;
476 overflow: hidden;
477 display: block;
478 }
479
480 .card .card-entry-labels {
481 position: absolute;
482 top: 10px;
483 z-index: 90;
484 max-width: 50%;
485 }
486
487 .card .card-entry-labels li,
488 .card-tag-labels li {
489 margin: 10px 10px 10px auto;
490 padding: 5px 12px 5px 16px !important;
491 background-color: rgba(0, 151, 167, 0.85);
492 border-radius: 0 3px 3px 0;
493 color: #fff;
494 cursor: default;
495 max-height: 2em;
496 overflow: hidden;
497 text-overflow: ellipsis;
498 white-space: nowrap;
499 }
500
501 .card .card-entry-labels-hidden {
502 margin: 2.5px auto;
503 }
504
505 .card .card-entry-labels-hidden li {
506 display: inline-block;
507 background-color: rgba(0, 151, 167, 0.85);
508 margin: 0 5px;
509 padding: 5px 12px;
510 border-radius: 3px;
511 color: #fff;
512 max-height: 2em;
513 max-width: calc(100% - 15px);
514 overflow: hidden;
515 text-overflow: ellipsis;
516 white-space: nowrap;
517 }
518
519 .card .card-entry-labels-hidden li:first-child {
520 margin-left: 0;
521 }
522
523 .card-entry-tags a,
524 .card-entry-labels a,
525 .card-tag-labels a,
526 .card-entry-labels-hidden a,
527 #list .chip a {
528 text-decoration: none;
529 font-weight: normal;
530 color: #fff;
531 }
532
533 .card .card-content .estimatedTime {
534 margin-bottom: 10px;
535 }
536
537 .card .card-action {
538 padding: 10px 5px 10px 15px;
539 }
540
541 .card .card-action ul.links {
542 margin: 0;
543 font-size: 24px;
544 line-height: 24px;
545 }
546
547 .card .card-action a {
548 color: #fff;
549 margin: 0;
550 }
551
552 .card .card-action a:hover {
553 color: #fff;
554 }
555
556 .card .card-action .reading-time {
557 display: inline-flex;
558 vertical-align: middle;
559 }
560
561 .quickstart .card .card-action a,
562 .quickstart .card .card-action a:hover {
563 color: #fff !important;
564 }
565
566 .settings .div_tabs {
567 padding-bottom: 15px;
568 }
569
570 .card.sw {
571 max-width: 370px;
572 margin-left: auto;
573 margin-right: auto;
574 }
575
576 .card .card-image {
577 height: 10em;
578 }
579
580 .card .card-fullimage {
581 height: 13.5em;
582 }
583
584 .card .card-image .preview,
585 .card .card-fullimage .preview {
586 height: 14em;
587 background-size: cover;
588 background-repeat: no-repeat;
589 background-position: 50%;
590 }
591
592 /* ==========================================================================
593 5 = Article
594 ========================================================================== */
595
596 #article {
597 font-size: 20px;
598 margin: 0 auto;
599 max-width: 40em;
600 }
601
602 #article img,
603 #article figure {
604 max-width: 100%;
605 height: auto;
606 }
607
608 #article > header > h1 {
609 font-size: 2em;
610 margin: 2.1rem 0 0.68rem;
611 }
612
613 .reader-mode {
614 width: 95px !important;
615 transition: width 0.2s ease;
616 }
617
618 .reader-mode:hover {
619 width: 240px !important;
620 }
621
622 .reader-mode .collapsible-body {
623 height: 0;
624 overflow: hidden;
625 }
626
627 .reader-mode:hover .collapsible-body {
628 height: auto;
629 }
630
631 .reader-mode span {
632 opacity: 0;
633 transition: opacity 0.2s ease;
634 }
635
636 .reader-mode:hover span {
637 opacity: 1;
638 }
639
640 .progress {
641 position: fixed;
642 top: 0;
643 width: 100%;
644 height: 3px;
645 margin: 0;
646 z-index: 9999;
647 }
648
649 #article aside .tools {
650 font-size: 0.8em;
651 display: flex;
652 flex-flow: row wrap;
653 margin: 0 auto;
654 }
655
656 article aside .tools li {
657 display: inline-flex;
658 vertical-align: middle;
659 }
660
661 #article aside .tools a {
662 color: #000;
663 text-decoration: none;
664 }
665
666 #article aside #list {
667 float: right;
668 margin: 0 15px 10px;
669 }
670
671 #article aside .chip {
672 background-color: rgba(0, 151, 167, 0.85);
673 padding: 0 15px 0 10px;
674 margin: auto 2px;
675 }
676
677 #article aside .chip a,
678 #article aside .chip i {
679 color: #fff;
680 }
681
682 /* ==========================================================================
683 6 = Media queries
684 ========================================================================== */
685
686 @media only screen and (max-width: 992px) {
687 header,
688 main,
689 footer {
690 padding-left: 0;
691 }
692
693 nav,
694 main,
695 footer {
696 padding-left: 0;
697 }
698
699 .pagination {
700 width: auto;
701 }
702
703 #article {
704 max-width: 35em;
705 margin-left: auto;
706 margin-right: auto;
707 font-size: 18px;
708 }
709
710 #article > header > h1 {
711 font-size: 1.33em;
712 }
713
714 .reader-mode {
715 width: 240px !important;
716 }
717
718 .reader-mode span {
719 opacity: 1;
720 }
721
722 .tabs {
723 display: inline-block;
724 height: auto;
725 }
726
727 .tab {
728 min-width: 100%;
729 }
730
731 .indicator {
732 display: none;
733 }
734
735 .pagination li.prev,
736 .pagination li.next {
737 width: auto;
738 }
739 }
740
741 @media only screen and (min-width: 400px) {
742 .nav-panel-buttom {
743 float: right;
744 }
745 }
746
747 @media only screen and (min-width: 1200px) and (max-width: 1650px) {
748 .row .col.l3 {
749 width: 33.33333%;
750 margin-left: 0;
751 }
752 }
753
754 @media only screen and (min-width: 993px) and (max-width: 1200px) {
755 .row .col.l1 {
756 width: 25%;
757 margin-left: 0;
758 }
759
760 .row .col.l2 {
761 width: 33.33333%;
762 margin-left: 0;
763 }
764
765 .row .col.l3 {
766 width: 41.66667%;
767 margin-left: 0;
768 }
769
770 .row .col.l4 {
771 width: 50%;
772 margin-left: 0;
773 }
774
775 .row .col.l5 {
776 width: 58.33333%;
777 margin-left: 0;
778 }
779
780 .row .col.l6 {
781 width: 66.66667%;
782 margin-left: 0;
783 }
784
785 .row .col.l7 {
786 width: 75%;
787 margin-left: 0;
788 }
789
790 .row .col.l8 {
791 width: 83.33333%;
792 margin-left: 0;
793 }
794
795 .row .col.l9 {
796 width: 91.66667%;
797 margin-left: 0;
798 }
799
800 .row .col.l10 {
801 width: 100%;
802 margin-left: 0;
803 }
804 }
805
806 @media only screen and (max-width: 350px) {
807 .nb-results {
808 display: none;
809 }
810
811 main ul.row {
812 padding: 0;
813 }
814
815 .row .col {
816 padding: 0;
817 }
818 }
819
820 /* ==========================================================================
821 7 = Font
822 ========================================================================== */
823
824 .icon-google-plus2::before {
825 content: "\ea89";
826 }
827
828 .icon-facebook2::before {
829 content: "\ea8d";
830 }
831
832 .icon-twitter::before {
833 content: "\ea96";
834 }
835
836 .icon-apple::before {
837 content: "\eabf";
838 }
839
840 .icon-android::before {
841 content: "\eac1";
842 }
843
844 .icon-chrome::before {
845 content: "\eae5";
846 }
847
848 .icon-firefox::before {
849 content: "\eae6";
850 }
851
852 .icon-link::before {
853 content: "\e9cb";
854 }
855
856 footer [class^="icon-"],
857 footer [class*=" icon-"] {
858 font-size: 2em;
859 transition: text-shadow 0.2s ease;
860 padding-right: 10px;
861 }
862
863 footer [class^="icon-"]:hover,
864 footer [class*=" icon-"]:hover {
865 text-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
866 }
867
868 /* ==========================================================================
869 8 = Others
870 ========================================================================== */
871
872 /* force height on non-input field in the settings page */
873 div.settings div.input-field div,
874 div.settings div.input-field ul {
875 margin-top: 40px;
876 }
877
878 /* but avoid to kill all file input */
879 div.settings div.file-field div {
880 margin-top: inherit;
881 }
882
883 .input-field label.active {
884 font-size: 1rem;
885 }
886
887 nav .input-field input {
888 margin: 0;
889 }