]> git.immae.eu Git - github/wallabag/wallabag.git/blob - app/Resources/static/themes/material/css/main.css
Optimize the way tag list is rendered
[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 @font-face {
21 font-family: icomoon;
22 src: url("../fonts/IcoMoon-Free.ttf");
23 font-weight: normal;
24 font-style: normal;
25 }
26
27 @font-face {
28 font-family: 'Material Icons';
29 font-style: normal;
30 font-weight: 400;
31 src: url(../fonts/MaterialIcons-Regular.eot);
32
33 /* For IE6-8 */
34 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");
35 }
36
37 .material-icons {
38 font-family: 'Material Icons';
39 font-weight: normal;
40 font-style: normal;
41 font-size: 24px; /* Preferred icon size */
42 width: 1em;
43 height: 1em;
44 display: inline-block;
45 line-height: 1;
46 text-transform: none;
47 letter-spacing: normal;
48 word-wrap: normal;
49 white-space: nowrap;
50 direction: ltr;
51
52 /* Support for all WebKit browsers. */
53 -webkit-font-smoothing: antialiased;
54
55 /* Support for Safari and Chrome. */
56 text-rendering: optimizeLegibility;
57
58 /* Support for Firefox. */
59 -moz-osx-font-smoothing: grayscale;
60
61 /* Support for IE. */
62 font-feature-settings: 'liga';
63 }
64
65 [class^="icon-"]::before,
66 [class*=" icon-"]::before {
67 font-family: icomoon;
68 speak: none;
69 font-style: normal;
70 font-weight: normal;
71 font-variant: normal;
72 text-transform: none;
73 line-height: 1;
74 background-size: 24px;
75
76 /* Enable Ligatures ================ */
77 letter-spacing: 0;
78 -webkit-font-feature-settings: "liga";
79 -moz-font-feature-settings: "liga=1";
80 -moz-font-feature-settings: "liga";
81 -ms-font-feature-settings: "liga" 1;
82 -o-font-feature-settings: "liga";
83 font-feature-settings: "liga";
84
85 /* Better Font Rendering =========== */
86 -webkit-font-smoothing: antialiased;
87 -moz-osx-font-smoothing: grayscale;
88 }
89
90 .icon-image {
91 background-size: 16px;
92 background-repeat: no-repeat;
93 padding-right: 1em !important;
94 padding-left: 1em !important;
95 }
96
97 .icon-eye::before {
98 content: "\e9ce";
99 }
100
101 .icon-no-eye::before {
102 content: "\e9d1";
103 }
104
105 .icon-calendar::before {
106 content: "\e953";
107 }
108
109 .icon-mail::before {
110 content: "\ea86";
111 }
112
113 .icon-time::before {
114 content: "\e952";
115 }
116
117 /* Carrot (http://carrot.org) */
118 .icon-image--carrot {
119 background-image: url("../../_global/img/icons/carrot-icon--black.png");
120 }
121
122 /* Diaspora */
123 .icon-image--diaspora {
124 background-image: url("../../_global/img/icons/diaspora-icon--black.png");
125 }
126
127 /* Shaarli */
128 .icon-image--shaarli {
129 background-image: url("../../_global/img/icons/shaarli.png");
130 }
131
132 body {
133 display: flex;
134 min-height: 100vh;
135 flex-direction: column;
136 background: #f0f0f0;
137 }
138
139 body.login main {
140 padding: 0;
141 min-height: 100vh;
142 }
143
144 .border-bottom {
145 border-bottom: 1px solid #ddd;
146 }
147
148 nav,
149 main,
150 footer {
151 padding-left: 240px;
152 }
153
154 main,
155 #content,
156 .valign-wrapper {
157 height: 100%;
158 }
159
160 #main {
161 flex: 1 0 auto;
162 }
163
164 .results {
165 height: 1em;
166 line-height: 30px;
167 }
168
169 .results .nb-results,
170 .results .pagination {
171 margin: 15px;
172 margin-bottom: 0;
173 }
174
175 .pagination {
176 float: right;
177 }
178
179 .pagination ul {
180 margin: 0 !important;
181 }
182
183 .pagination li {
184 padding: 0;
185 }
186
187 .pagination a {
188 padding: 0 10px;
189 height: 30px;
190 display: block;
191 }
192
193 .pagination .disabled {
194 margin-right: 10px;
195 margin-left: 10px;
196 }
197
198 div.pagination ul .prev.disabled,
199 div.pagination ul .next.disabled {
200 display: none;
201 }
202
203 .pagination li.active span {
204 padding: 0 10px;
205 height: 30px;
206 display: block;
207 color: #fff;
208 }
209
210 .page-footer .footer-copyright p {
211 display: inline;
212 }
213
214 .hidden {
215 display: none;
216 }
217
218 .picker__date-display {
219 display: none;
220 }
221
222 footer.page-footer {
223 margin-top: 10px;
224 padding-top: 0;
225 }
226
227 footer .row {
228 margin-bottom: 10px;
229 }
230
231 /* ==========================================================================
232 1 = Nav
233 ========================================================================== */
234
235 nav input {
236 color: #aaa;
237 }
238
239 .nav-wrapper .button-collapse {
240 padding: 0 15px;
241 }
242
243 .nav-input {
244 display: none;
245 }
246
247 .nav-panels {
248 overflow: hidden;
249 }
250
251 .nav-panel-buttom li {
252 max-height: 64px;
253 }
254
255 .nav-panels {
256 transition: background 0.2s ease;
257 }
258
259 .nav-panel-add .add,
260 .nav-panel-search .search,
261 .nav-panels .close {
262 color: #444 !important;
263 }
264
265 .nav-panels .action {
266 padding-left: 0.75rem;
267 font-size: 2.1rem;
268 white-space: nowrap;
269 }
270
271 .nav-panels .input-field input {
272 display: block;
273 line-height: inherit;
274 padding-left: 4rem !important;
275 width: calc(100% - 8rem);
276 }
277
278 .nav-panels .input-field input:focus {
279 background-color: #fff;
280 border: 0;
281 box-shadow: none;
282 color: #444;
283 }
284
285 .input-field.nav-panel-add label {
286 left: 1rem;
287 }
288
289 .input-field.nav-panel-add .close {
290 position: absolute;
291 top: 0;
292 right: 1rem;
293 color: transparent;
294 cursor: pointer;
295 font-size: 2rem;
296 transition: 0.3s color;
297 }
298
299 #button_filters {
300 display: none;
301 }
302
303 #button_export {
304 display: none;
305 }
306
307 .input-field.nav-panel-add,
308 .input-field.nav-panel-add form {
309 height: 100%;
310 }
311
312 /* ==========================================================================
313 2 = Side-nav
314 ========================================================================== */
315
316 .side-nav.fixed a {
317 font-size: 13px;
318 line-height: 44px;
319 height: 44px;
320 }
321
322 .side-nav .collapsible-header,
323 .side-nav.fixed .collapsible-header {
324 height: 45px;
325 line-height: 44px;
326 padding: 0 20px;
327 }
328
329 .bold > a {
330 font-weight: bold;
331 }
332
333 .side-nav > li.logo {
334 line-height: 0;
335 text-align: center;
336 }
337
338 #main .logo a {
339 height: 100pt;
340 }
341
342 #main .logo img {
343 height: 100pt;
344 width: 100pt;
345 }
346
347 #main .logo:hover {
348 background: transparent;
349 }
350
351 .side-nav li {
352 padding: 0;
353 }
354
355 .side-nav a {
356 margin: 0 1rem;
357 }
358
359 span.numberItems {
360 float: right;
361 }
362
363 /* ==========================================================================
364 * 3 = Filters slider
365 * ========================================================================== */
366
367 #filters button {
368 padding: 0;
369 width: 100%;
370 }
371
372 .side-nav.fixed.right-aligned {
373 right: -250px;
374 left: auto !important;
375 overflow-y: visible;
376 }
377
378 #filters div.with-checkbox {
379 height: 3rem;
380 margin-top: 0;
381 }
382
383 /* ==========================================================================
384 4 = Cards
385 ========================================================================== */
386
387 main #content {
388 padding: 0 0.5rem;
389 }
390
391 main ul.row {
392 padding: 0 0.75rem;
393 }
394
395 .data .card .card-body {
396 height: 22em;
397 overflow: hidden;
398 }
399
400 .card .card-content .card-title {
401 line-height: 32px;
402 max-height: 64px;
403 }
404
405 .card .card-content i.right,
406 .card .card-reveal i.right {
407 margin-left: 0;
408 }
409
410 .card .card-entry-labels {
411 position: absolute;
412 top: 10px;
413 z-index: 90;
414 max-width: 50%;
415 }
416
417 .card .card-entry-labels li, .card-tag-labels li {
418 margin: 10px 10px 10px auto;
419 padding: 5px 12px 5px 16px !important;
420 background-color: rgba(0, 151, 167, 0.85);
421 border-radius: 0 3px 3px 0;
422 color: #fff;
423 cursor: default;
424 max-height: 2em;
425 overflow: hidden;
426 text-overflow: ellipsis;
427 white-space: nowrap;
428 }
429
430 .card .card-entry-labels-hidden {
431 margin-top: 5px;
432 }
433
434 .card .card-entry-labels-hidden li {
435 display: inline-block;
436 background-color: rgba(0, 151, 167, 0.85);
437 margin: 0 5px;
438 padding: 5px 12px;
439 border-radius: 3px;
440 color: #fff;
441 max-height: 2em;
442 max-width: calc(100% - 15px);
443 overflow: hidden;
444 text-overflow: ellipsis;
445 white-space: nowrap;
446 }
447
448 .card-entry-tags a,
449 .card-entry-labels a,
450 .card-tag-labels a,
451 .card-entry-labels-hidden a,
452 #list .chip a {
453 text-decoration: none;
454 font-weight: normal;
455 color: #fff;
456 }
457
458 .card .card-content .estimatedTime {
459 margin-bottom: 10px;
460 }
461
462 .card .card-action .original {
463 line-height: 24px;
464 }
465
466 .card .card-action ul.links {
467 margin: 0;
468 font-size: 24px;
469 line-height: 24px;
470 }
471
472 .card .card-action a {
473 color: #fff;
474 margin: 0;
475 }
476
477 .card .card-action a:hover {
478 color: #fff;
479 }
480
481 .quickstart .card .card-action a,
482 .quickstart .card .card-action a:hover {
483 color: #fff !important;
484 }
485
486 .settings .div_tabs {
487 padding-bottom: 15px;
488 }
489
490 .card.sw {
491 max-width: 370px;
492 margin-left: auto;
493 margin-right: auto;
494 }
495
496 .card .card-image {
497 height: 14em;
498 }
499
500 .card .card-image .preview {
501 height: 14em;
502 background-size: cover;
503 background-repeat: no-repeat;
504 background-position: 50%;
505 }
506
507 /* ==========================================================================
508 5 = Article
509 ========================================================================== */
510
511 #article {
512 font-size: 20px;
513 margin: 0 auto;
514 max-width: 40em;
515 }
516
517 #article img,
518 #article figure {
519 max-width: 100%;
520 height: auto;
521 }
522
523 #article > header > h1 {
524 font-size: 2em;
525 }
526
527 .reader-mode {
528 width: 95px !important;
529 transition: width 0.2s ease;
530 }
531
532 .reader-mode:hover {
533 width: 240px !important;
534 }
535
536 .reader-mode .collapsible-body {
537 height: 0;
538 overflow: hidden;
539 }
540
541 .reader-mode:hover .collapsible-body {
542 height: auto;
543 }
544
545 .reader-mode span {
546 opacity: 0;
547 transition: opacity 0.2s ease;
548 }
549
550 .reader-mode:hover span {
551 opacity: 1;
552 }
553
554 .progress {
555 position: fixed;
556 top: 0;
557 width: 100%;
558 height: 3px;
559 margin: 0;
560 z-index: 9999;
561 }
562
563 #article aside .link {
564 color: #000;
565 font-size: 0.8em;
566 text-decoration: none;
567 }
568
569 #article aside #list {
570 float: right;
571 margin: 0 15px 10px;
572 }
573
574 #article aside .chip {
575 background-color: rgba(0, 151, 167, 0.85);
576 color: #fff;
577 padding: 0 15px 0 10px;
578 }
579
580 #article aside .chip i {
581 color: #fff;
582 }
583
584 /* ==========================================================================
585 6 = Media queries
586 ========================================================================== */
587
588 @media only screen and (max-width: 992px) {
589 header,
590 main,
591 footer {
592 padding-left: 0;
593 }
594
595 nav,
596 main,
597 footer {
598 padding-left: 0;
599 }
600
601 .pagination {
602 width: auto;
603 }
604
605 .reader-mode {
606 width: 240px !important;
607 }
608
609 .reader-mode span {
610 opacity: 1;
611 }
612
613 .tabs {
614 display: inline-block;
615 height: auto;
616 }
617
618 .tab {
619 min-width: 100%;
620 }
621
622 .indicator {
623 display: none;
624 }
625
626 .pagination li.prev,
627 .pagination li.next {
628 width: auto;
629 }
630 }
631
632 @media only screen and (min-width: 400px) {
633 .nav-panel-buttom {
634 float: right;
635 }
636 }
637
638 @media only screen and (min-width: 993px) and (max-width: 1180px) {
639 .row .col.l1 {
640 width: 25%;
641 margin-left: 0;
642 }
643
644 .row .col.l2 {
645 width: 33.33333%;
646 margin-left: 0;
647 }
648
649 .row .col.l3 {
650 width: 41.66667%;
651 margin-left: 0;
652 }
653
654 .row .col.l4 {
655 width: 50%;
656 margin-left: 0;
657 }
658
659 .row .col.l5 {
660 width: 58.33333%;
661 margin-left: 0;
662 }
663
664 .row .col.l6 {
665 width: 66.66667%;
666 margin-left: 0;
667 }
668
669 .row .col.l7 {
670 width: 75%;
671 margin-left: 0;
672 }
673
674 .row .col.l8 {
675 width: 83.33333%;
676 margin-left: 0;
677 }
678
679 .row .col.l9 {
680 width: 91.66667%;
681 margin-left: 0;
682 }
683
684 .row .col.l10 {
685 width: 100%;
686 margin-left: 0;
687 }
688 }
689
690 @media only screen and (max-width: 350px) {
691 .nb-results {
692 display: none;
693 }
694 }
695
696 /* ==========================================================================
697 7 = Font
698 ========================================================================== */
699
700 .icon-google-plus2::before {
701 content: "\ea89";
702 }
703
704 .icon-facebook2::before {
705 content: "\ea8d";
706 }
707
708 .icon-twitter::before {
709 content: "\ea96";
710 }
711
712 .icon-apple::before {
713 content: "\eabf";
714 }
715
716 .icon-android::before {
717 content: "\eac1";
718 }
719
720 .icon-chrome::before {
721 content: "\eae5";
722 }
723
724 .icon-firefox::before {
725 content: "\eae6";
726 }
727
728 .icon-link::before {
729 content: "\e9cb";
730 }
731
732 footer [class^="icon-"],
733 footer [class*=" icon-"] {
734 font-size: 2em;
735 transition: text-shadow 0.2s ease;
736 padding-right: 10px;
737 }
738
739 footer [class^="icon-"]:hover,
740 footer [class*=" icon-"]:hover {
741 text-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
742 }
743
744 /* ==========================================================================
745 8 = Others
746 ========================================================================== */
747
748 /* force height on non-input field in the settings page */
749 div.settings div.input-field div,
750 div.settings div.input-field ul {
751 margin-top: 40px;
752 }
753
754 /* but avoid to kill all file input */
755 div.settings div.file-field div {
756 margin-top: inherit;
757 }
758
759 .input-field label.active {
760 font-size: 1rem;
761 }