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