]> git.immae.eu Git - github/shaarli/Shaarli.git/blame - tpl/default/css/shaarli.css
Mobile menu: chrome bugfix
[github/shaarli/Shaarli.git] / tpl / default / css / shaarli.css
CommitLineData
dfb058c6
A
1/**
2 * General
3 */
4ed6d1ba 4body {
fe1c9666 5 background: url(../img/noise.png) #979797;
4ed6d1ba
A
6}
7
dfb058c6
A
8.strong {
9 font-weight: bold;
10}
4ed6d1ba 11
dfb058c6
A
12.clear {
13 clear: both;
14}
15
f26d4d56
A
16.center {
17 text-align: center;
18}
19
348e1587
A
20.label {
21 display: inline-block;
22 padding: .25em .4em;
23 font-size: 75%;
24 font-weight: 700;
25 line-height: 1;
26 text-align: center;
27 white-space: nowrap;
28 vertical-align: baseline;
29 border-radius: .25rem;
30}
31
735bda92
A
32pre {
33 max-width: 100%;
34}
35
b74d833d
A
36@font-face {
37 font-family: 'Roboto Slab';
38 font-weight: 400;
39 font-style: normal;
40 src:
41 local('Fira Sans'),
42 local('Fira-Sans-regular'),
43 url('../fonts/Fira-Sans-regular.woff2') format('woff2'),
44 url('../fonts/Fira-Sans-regular.woff') format('woff');
45}
46
dfb058c6
A
47/**
48 * Extends Pure grids responsive to hide items.
49 * Use xx-0 to hide an item on xx screen.
50 * Display it at any level with xx-visible.
51 */
52.pure-u-0 { display: none !important; }
53@media screen and (min-width: 35.5em) {
54 .pure-u-sm-0 { display: none !important; }
fe1c9666 55 .pure-u-sm-visible { display: inline-block !important; }
dfb058c6
A
56}
57@media screen and (min-width: 48em) {
58 .pure-u-md-0 { display: none !important; }
fe1c9666 59 .pure-u-md-visible { display: inline-block !important; }
dfb058c6
A
60}
61@media screen and (min-width: 64em) {
62 .pure-u-lg-0 { display: none !important; }
fe1c9666 63 .pure-u-lg-visible { display: inline-block !important; }
dfb058c6
A
64}
65@media screen and (min-width: 80em) {
66 .pure-u-xl-0 { display: none !important; }
fe1c9666 67 .pure-u-xl-visible { display: inline-block !important; }
4ed6d1ba
A
68}
69
f26d4d56
A
70.pure-g [class*="pure-u"]{
71 font-family: Roboto Slab, Arial, sans-serif;
72}
73
735bda92
A
74/**
75 * Make pure-extras alert closable.
76 */
77.pure-alert-closable .fa-times {
78 float: right;
79}
80.pure-alert-close {
81 cursor: pointer;
82}
83
66195f06
A
84.pure-alert-success {
85 background-color: #1b926c;
86}
87
4ed6d1ba
A
88/**
89 * MENU
90 **/
dfb058c6
A
91.shaarli-menu {
92 position: fixed;
93 top: 0;
94 width: 100%;
95 background: #1b926c;
96 -webkit-font-smoothing: antialiased;
97 /* Hack to transition with auto height: http://stackoverflow.com/a/8331169/1484919 */
98 max-height: 2.1em;
99 transition: max-height 0.5s;
100 overflow: hidden;
101 z-index: 999;
102}
103
717aec2b
A
104/* Chrome bugfix: with 100% height, it only displays the first element. */
105.pure-menu-item {
106 height: inherit;
107}
108
dfb058c6
A
109.shaarli-menu.open {
110 max-height: 500px;
111 transition: max-height 0.75s;
4ed6d1ba
A
112}
113
114.pure-menu-selected {
dfb058c6 115 background: #1A694C;
4ed6d1ba
A
116}
117
118.pure-menu-link,
119.pure-menu-link:visited,
120.pure-menu-selected .pure-menu-link,
121.pure-menu-selected .pure-menu-link:visited {
122 color: #b0ddce;
123}
124
125.pure-menu-link:hover,
126.pure-menu-selected .pure-menu-link:hover {
dfb058c6 127 color: #d1fff0;
4ed6d1ba
A
128 background: transparent;
129}
130
4ed6d1ba
A
131.menu-toggle {
132 width: 34px;
133 height: 34px;
134 position: absolute;
135 top: 0;
136 right: 0;
137 display: none;
138}
139
140.menu-toggle .bar {
141 background-color: #b0ddce;
142 display: block;
143 width: 20px;
144 height: 2px;
145 border-radius: 100px;
146 position: absolute;
147 top: 18px;
148 right: 7px;
149 transition: all 0.5s;
150}
151
152.menu-toggle .bar:first-child {
153 transform: translateY(-6px);
154}
155
156.menu-toggle.x .bar {
157 transform: rotate(45deg);
158}
159
160.menu-toggle.x .bar:first-child {
161 transform: rotate(-45deg);
162}
163
164@media screen and (max-width: 64em) {
165 .menu-toggle {
166 display: block;
167 }
168}
169
170/**
dfb058c6 171 * Header
4ed6d1ba 172 */
dfb058c6
A
173#header {
174 width: 100%;
175 height: 150px;
d63f7cf5 176 background: url(../img/noise.png), #1fa67a url(../img/logo2.png) no-repeat fixed 10px 2.5em;
4ed6d1ba 177}
dfb058c6
A
178
179#header h1 {
180 position: fixed;
181 float: left;
d63f7cf5
A
182 margin: 45px 0 0 125px;
183 width: 55%;
dfb058c6 184 height: 100px;
4ed6d1ba 185}
dfb058c6
A
186
187#header h1 a, #header h1 a:visited {
188 /* https://css-tricks.com/centering-css-complete-guide/#vertical-inline-multiple */
189 display: -ms-flexbox;
190 display: flex;
191 flex-direction: column;
192 justify-content: center;
193
194 overflow: hidden;
195 height: 100px;
196 color: #b0ddce;
197 text-decoration: none;
198 z-index: 1;
199
b74d833d
A
200 font-family: Roboto Slab, Arial, sans-serif;
201 font-size: 1.2em;
4ed6d1ba 202}
dfb058c6
A
203
204#header h1 a:hover {
205 color: #d1fff0;
206}
207
735bda92
A
208.header-buttons {
209 text-align: right;
210}
211
dfb058c6 212#linkcount {
d63f7cf5
A
213 /* position: fixed; */
214 position: absolute;
dfb058c6
A
215 top: 40px;
216 right: 10px;
217 color: #b0ddce;
218 font-size: 0.8em;
219}
220
221#search {
d63f7cf5
A
222 /**
223 * Can't make it work with awesomplete list z-index. Any idea?
224 * position: fixed;
225 */
226 position: absolute;
227 top: 60px;
dfb058c6 228 right: 10px;
d63f7cf5 229 width: 30%;
dfb058c6
A
230 text-align: right;
231}
232
d63f7cf5
A
233#search input[type="text"] {
234 margin: 0 0 5px 0;
235 padding: 5px 5px 3px 15px;
236 height: 20px;
237 width: 140px;
238 transition: width .5s ease;
239 background: #1b926c;
240 border: medium none currentColor;
241 border-radius: 25px;
242 box-shadow: 0 1px 0 rgba(255, 255, 255, 0.078), 0 1px 4px rgba(0, 0, 0, 0.298) inset;
243 color: #b0ddce;
244}
245
735bda92
A
246/* because chrome */
247#search input[type="text"]::-webkit-input-placeholder {
248 color: #b0ddce;
249}
250
d63f7cf5
A
251#search button {
252 background: transparent;
253 border: none;
254 color: #b0ddce;
255}
256
257#search button:hover {
258 color: #fff;
259}
260
735bda92 261#header-login-form {
f26d4d56 262 height: 0;
735bda92
A
263 text-align: center;
264 background: #1b926c;
f26d4d56
A
265 transition: 0.3s;
266}
267
268#header-login-form.open {
269 display: block;
270 height: 30px;
271 padding: 5px 0;
735bda92
A
272 box-shadow: 0 1px 1px 1px #797979;
273}
274
f26d4d56 275#header-login-form input[type="text"], #header-login-form input[type="password"], #header-login-form .remember-me {
735bda92
A
276 margin: 0 0 5px 0;
277 padding: 5px 5px 3px 15px;
278 height: 20px;
279 width: 200px;
280 background: #1fa67a;
281 border: medium none currentColor;
282 border-radius: 25px;
283 box-shadow: 0 1px 0 rgba(255, 255, 255, 0.078), 0 1px 4px rgba(0, 0, 0, 0.298) inset;
284 color: #b0ddce;
285}
286
287/* because chrome */
288#header-login-form input[type="text"]::-webkit-input-placeholder,
289#header-login-form input[type="password"]::-webkit-input-placeholder
290{
291 color: #b0ddce;
292}
293
f26d4d56
A
294#header-login-form .remember-me {
295 display: inline-block;
296 width: auto;
297 padding: 5px 20px 3px 20px;
298 cursor: pointer;
299}
300
301#header-login-form .remember-me label, #header-login-form .remember-me input {
302 cursor: pointer;
303}
304
735bda92
A
305#header-login-form input[type="submit"] {
306 display: inline-block;
307 margin: 0 0 5px 0;
308 height: 25px;
309 width: 100px;
310 background: #0C7653;
311 border: medium none currentColor;
312 border-radius: 25px;
313 box-shadow: 1px 1px 2px #005C3E, -1px -1px 2px #005C3E;
314 color: #b0ddce;
315}
316
f26d4d56
A
317#header-login-form input, #header-login-form .remember-me {
318 transition: visibility 1s, opacity 1s;
319 visibility: hidden;
320 opacity: 0;
321}
322
323#header-login-form.open input, #header-login-form.open .remember-me {
324 visibility: visible;
325 opacity: 1;
326}
327
735bda92
A
328.new-version-message {
329 text-align: center;
330}
331
332.new-version-message a {
333 color: rgb(151, 96, 13);
334 font-weight: bold;
335}
336
d63f7cf5 337/**
4d7cd1b0 338 * CONTENT - GENERAL
d63f7cf5 339 */
dfb058c6
A
340#content {
341 position: relative;
fe1c9666
A
342 /* Hack-ish way to only shadow the top part. */
343 box-shadow: 0 -20px 20px -20px #797979;
dfb058c6
A
344 z-index: 2;
345 background: url(../img/noise.png) #979797;
4d7cd1b0
A
346}
347
fe1c9666 348@media screen and (max-width: 64em) {
f26d4d56 349 #content {
4d7cd1b0
A
350 margin: 2.1em 0 0 0;
351 }
352}
353
354@media screen and (min-width: 64em) {
f26d4d56
A
355 #content {
356 /* https://css-tricks.com/fighting-the-space-between-inline-block-elements/ */
357 margin-top: -4px;
4d7cd1b0
A
358 }
359}
360
f26d4d56
A
361/**
362 * CONTENT - LINKLIST PAGING
363 * 64em -> lg
364 */
365
366
4d7cd1b0
A
367.linklist-filters {
368 margin: 10px 0;
369 color: #252525;
735bda92 370 font-size: 0.9em;
4d7cd1b0
A
371}
372
373.linklist-filters a {
374 padding: 2px 5px;
375 text-decoration: none;
376}
377
378.linklist-filters .filter-off {
379 color: #252525;
380 background: #c8c8c8;
381}
382
383.linklist-filters .filter-on {
384 color: #b0ddce;
385 background: #1b926c;
386}
387
388.linklist-pages {
389 margin: 10px 0;
390 color: #252525;
391 text-align: center;
392}
393
394.linklist-pages a {
395 color: #252525;
396 text-decoration: none;
397}
398
399.linklist-pages a:hover {
400 color: #fff;
401}
402
403.linksperpage {
404 margin: 10px 0;
405 text-align: right;
406 color: #252525;
735bda92 407 font-size: 0.9em;
4d7cd1b0
A
408}
409
410.linksperpage a {
411 padding: 2px 5px;
412 text-decoration: none;
413 color: #252525;
414 background: #c8c8c8;
415 border: solid 1px #979797;
416}
417
418.linksperpage form {
419 display: inline;
420 margin: 0 10px 0 0;
421}
422
423.linksperpage input[type="text"] {
424 width: 28px;
735bda92
A
425 height: 16px;
426 margin: 0;
4d7cd1b0
A
427 padding: 3px 5px 3px 8px;
428 background: #c8c8c8;
429 border: medium none currentColor;
735bda92 430 --border-radius: 25px;
4d7cd1b0
A
431 box-shadow: 0 1px 0 rgba(255, 255, 255, 0.078), 0 1px 4px rgba(0, 0, 0, 0.298) inset;
432 color: #252525;
433 font-size: 0.8em;
348e1587
A
434}
435
436/**
437 * CONTENT - LINKLIST ITEMS
438 */
439.linklist-item {
440 margin: 15px 0;
b74d833d 441 background: #f5f5f5;
348e1587
A
442 box-shadow: 2px 2px 0.5em #797979;
443}
444
445.linklist-item-title, .linklist-item-title h2 {
446 margin: 0;
f26d4d56 447 word-wrap: break-word;
348e1587
A
448}
449
450.linklist-item-title {
451 background: #20b988 url(../img/noise.png);
452 border-bottom: 1px solid #1b926c;
453 box-shadow: 1px 1px 0.2em #1b926c;
454}
455
456.linklist-item-title h2 {
b74d833d 457 padding: 3px 10px 0 10px;
348e1587
A
458 line-height: 25px;
459}
460
461.linklist-item-title a {
b74d833d 462 font-size: 0.7em;
348e1587
A
463 color: #d0fff0;
464 text-decoration: none;
465 vertical-align: middle;
b74d833d
A
466 font-family: Roboto Slab, Arial, sans-serif;
467}
468
469.linklist-item-title .linklist-link:visited {
470 color: #ddd;
348e1587
A
471}
472
b74d833d 473.linklist-item-title a:hover, .linklist-item-title .linklist-link:hover{
348e1587
A
474 color: #fff;
475}
476
b74d833d 477
348e1587
A
478.linklist-item-title .label-private {
479 border: solid 1px #d0fff0;
b74d833d
A
480 font-family: Arial, sans-serif;
481 font-size: 0.65em;
348e1587
A
482}
483
497b1c71
A
484.linklist-item-title .fold-button {
485 display: none;
486}
487
348e1587
A
488.linklist-item-editbuttons {
489 float: right;
490 padding: 5px;
491}
492
493.linklist-item-editbuttons a {
494 font-size: 1em;
495}
496
497.linklist-item-description {
498 padding: 10px;
b74d833d 499 font-family: Roboto Slab, Arial, sans-serif;
f26d4d56 500 word-wrap: break-word;
b74d833d
A
501}
502
503.linklist-item-description a {
504 text-decoration: none;
505 color: #1b926c;
506}
507
508.linklist-item-description a:hover {
509 text-shadow: 1px 1px #ddd;
510}
511
512.linklist-item-description a:visited {
513 color: #20b988;
348e1587
A
514}
515
735bda92
A
516.linklist-item-thumbnail {
517 padding: 10px;
518 float: left;
519}
520
348e1587 521.linklist-item-infos {
735bda92 522 padding: 5px 5px 0 5px;
348e1587
A
523 background: #ddd url(../img/noise.png);
524 border-top: 1px solid #989898;
525 box-shadow: 1px -1px 0.2em #989898;
526 color: #252525;
348e1587
A
527}
528
529.linklist-item-infos a {
530 color: #505050;
531 text-decoration: none;
532}
533
534.linklist-item-infos a:hover {
535 color: #000;
536}
537
b74d833d
A
538.linklist-item-tags {
539 margin: 0 0 5px 0;
735bda92 540 font-size: 0.8em;
b74d833d
A
541}
542
348e1587
A
543.linklist-item-infos .label-tag {
544 border: 1px solid #505050;
545 font-size: 0.9em;
546}
547
548.linklist-item-infos .label-tag:hover {
549 border: 1px solid #000;
550}
551
735bda92
A
552.linklist-item-infos-dateblock {
553 font-size: 0.9em;
554}
555
b74d833d
A
556.linklist-plugin-icon {
557 width: 13px;
558 height: 13px;
559}
560
348e1587
A
561.linklist-item-infos-url {
562 text-align: right;
563 white-space: nowrap;
564 overflow: hidden;
565 text-overflow: ellipsis;
735bda92
A
566 font-size: 0.8em;
567}
568
569/** 64em -> lg **/
570@media screen and (max-width: 64em) {
571 .linklist-item-infos-url {
572 text-align: left;
573 }
348e1587
A
574}
575
735bda92
A
576/**
577 * Footer
578 */
579#footer {
580 margin: 20px 0;
581 padding: 5px;
582 text-align: center;
583 color: #252525;
584}
585
586#footer:before {
587 display: block;
588 content:"";
589 background: linear-gradient(to right, #949393, #252525, #949393);
590 height: 1px;
591 width: 80%;
592 margin: 10px auto;
593}
594
595#footer a {
596 color: #252525;
597}
f26d4d56 598
348e1587 599/**
f26d4d56
A
600 * Login page
601 */
09d6e7e0 602.page-form {
f26d4d56
A
603 margin: 20px 0 0 0;
604 background: url(../img/noise.png) #1fa67a;
605 border-radius: 5px;
606 box-shadow: 1px 1px 2px #797979;
607}
608
09d6e7e0 609.page-form h2 {
f26d4d56
A
610 margin: 0 0 10px 0;
611 padding: 10px 0;
612 width: 100%;
613 color: #b0ddce;
614 background: #1b926c;
615 text-align: center;
616 border-radius: 5px 5px 0 0;
617 border-bottom: 1px solid #797979;
618}
619
66195f06 620.page-form div, .page-form p {
f26d4d56
A
621 text-align: center;
622}
623
66195f06
A
624.page-form p {
625 color: #b0ddce;
626}
627
09d6e7e0 628.page-form input[type="text"], .page-form input[type="password"] {
f26d4d56
A
629 margin: 10px 0;
630 padding: 5px 5px 3px 15px;
631 height: 30px;
632 width: 80%;
633 background: #1b926c;
634 border: medium none currentColor;
635 border-radius: 25px;
636 box-shadow: 0 1px 0 rgba(255, 255, 255, 0.078), 0 1px 4px rgba(0, 0, 0, 0.298) inset;
637 color: #b0ddce;
638}
639
640/* because chrome */
09d6e7e0
A
641.page-form input[type="text"]::-webkit-input-placeholder,
642.page-form input[type="password"]::-webkit-input-placeholder {
f26d4d56
A
643 color: #b0ddce;
644}
645
646#login-form .remember-me {
647 margin: 5px 0;
648 color: #b0ddce;
649 font-weight: bold;
650}
651
09d6e7e0 652.page-form input[type="submit"] {
f26d4d56
A
653 margin: 10px 0;
654 height: 35px;
655 width: 150px;
656 background: #1b926c;
657 border: medium none currentColor;
658 border-radius: 25px;
659 box-shadow: 1px 1px 4px #0C7653, -1px -1px 6px #0C7653, -1px 1px 6px #0C7653, 1px -1px 6px #0C7653;
660 font-size: 1.2em;
661 font-weight: bold;
662 color: #b0ddce;
663}
664
665#page404 {
666 color: #3f3f3f;
66195f06
A
667}
668
669/**
348e1587
A
670 * CONTENT - LINKLIST ITEMS
671 */
672.linklist-item {
673 margin: 15px 0;
c2c0df8d 674 background: #f5f5f5;
348e1587
A
675 box-shadow: 2px 2px 0.5em #797979;
676}
677
678.linklist-item-title, .linklist-item-title h2 {
679 margin: 0;
680}
681
682.linklist-item-title {
683 background: #20b988 url(../img/noise.png);
684 border-bottom: 1px solid #1b926c;
685 box-shadow: 1px 1px 0.2em #1b926c;
686}
687
688.linklist-item-title h2 {
c2c0df8d 689 padding: 3px 10px 0 10px;
348e1587
A
690 line-height: 25px;
691}
692
693.linklist-item-title a {
c2c0df8d 694 font-size: 0.7em;
348e1587
A
695 color: #d0fff0;
696 text-decoration: none;
697 vertical-align: middle;
c2c0df8d 698 font-family: Roboto Slab, Arial, sans-serif;
348e1587
A
699}
700
c2c0df8d
A
701.linklist-item-title .linklist-link:visited {
702 color: #ddd;
703}
704
705.linklist-item-title a:hover, .linklist-item-title .linklist-link:hover{
348e1587
A
706 color: #fff;
707}
708
c2c0df8d 709
f0ebe623
A
710.linklist-item-title .label-private {
711 border: solid 1px #d0fff0;
c2c0df8d
A
712 font-family: Arial, sans-serif;
713 font-size: 0.65em;
f0ebe623
A
714}
715
2b31afdf
A
716.linklist-item-title .fold-button {
717 display: none;
718}
719
348e1587
A
720.linklist-item-editbuttons {
721 float: right;
722 padding: 5px;
723}
724
725.linklist-item-editbuttons a {
726 font-size: 1em;
727}
728
729.linklist-item-description {
730 padding: 10px;
c2c0df8d
A
731 font-family: Roboto Slab, Arial, sans-serif;
732}
733
734.linklist-item-description a {
735 text-decoration: none;
736 color: #1b926c;
737}
738
739.linklist-item-description a:hover {
740 text-shadow: 1px 1px #ddd;
741}
742
743.linklist-item-description a:visited {
744 color: #20b988;
348e1587
A
745}
746
747.linklist-item-infos {
748 padding: 5px;
749 background: #ddd url(../img/noise.png);
750 border-top: 1px solid #989898;
751 box-shadow: 1px -1px 0.2em #989898;
752 color: #252525;
753 font-size: 0.8em;
754}
755
756.linklist-item-infos a {
f0ebe623 757 color: #505050;
348e1587
A
758 text-decoration: none;
759}
760
761.linklist-item-infos a:hover {
f0ebe623 762 color: #000;
348e1587 763}
f0ebe623 764
c2c0df8d
A
765.linklist-item-tags {
766 margin: 0 0 5px 0;
767}
768
f0ebe623
A
769.linklist-item-infos .label-tag {
770 border: 1px solid #505050;
771 font-size: 0.9em;
772}
773
774.linklist-item-infos .label-tag:hover {
775 border: 1px solid #000;
776}
777
c2c0df8d
A
778.linklist-plugin-icon {
779 width: 13px;
780 height: 13px;
781}
782
f0ebe623
A
783.linklist-item-infos-url {
784 text-align: right;
785 white-space: nowrap;
786 overflow: hidden;
787 text-overflow: ellipsis;
1df7f8dc 788}
66195f06
A
789
790/**
791 * TOOLS
792 */
793.tools-item {
794 margin: 10px 0;
795}