]> git.immae.eu Git - github/shaarli/Shaarli.git/blame - assets/default/scss/shaarli.scss
Process manage tags page through Slim controller
[github/shaarli/Shaarli.git] / assets / default / scss / shaarli.scss
CommitLineData
b2143ff4 1$fa-font-path: '~fork-awesome/fonts';
a33c5653 2
b2143ff4 3@import '~fork-awesome/scss/fork-awesome';
a33c5653
A
4@import '~purecss/build/pure.css';
5@import '~purecss/build/grids-responsive.css';
6@import '~pure-extras/css/pure-extras.css';
7@import '~awesomplete/awesomplete.css';
8
c69585f3
A
9$white: #fff;
10$black: #000;
11$almost-white: #f5f5f5;
12$dark-grey: #252525;
13$light-grey: #797979;
14$main-green: #1b926c;
15$light-green: #b0ddce;
8fc0a984 16$dark-green: #186446;
c69585f3
A
17$red: #ac2925;
18$orange: #f89406;
19$blue: #0b5ea6;
20$background-color: #d0d0d0;
21$background-linklist-info: #ddd;
22$light-shadow: rgba(255, 255, 255, .078);
23$dark-shadow: rgba(0, 0, 0, .298);
24$warning-text: #97600d;
25$form-input-border: #d8d8d8;
26$form-input-background: #eee;
27
a5a0c039
A
28:root {
29 --main-color: #{$main-green};
30 --background-color: #{$background-color};
31 --dark-main-color: #{$dark-green};
32}
33
c69585f3 34// General
402b0346 35body {
a5a0c039 36 background: var(--background-color);
402b0346
A
37}
38
39.strong {
c69585f3 40 font-weight: bold;
402b0346
A
41}
42
43.clear {
c69585f3 44 clear: both;
402b0346
A
45}
46
47.center {
c69585f3
A
48 margin: auto;
49 text-align: center;
402b0346
A
50}
51
52.label {
c69585f3
A
53 display: inline-block;
54 border-radius: .25rem;
55 padding: .25em .4em;
56 vertical-align: baseline;
57 text-align: center;
58 line-height: 1;
59 white-space: nowrap;
60 font-size: 75%;
61 font-weight: 700;
402b0346
A
62}
63
64pre {
c69585f3 65 max-width: 100%;
402b0346
A
66}
67
68@font-face {
c69585f3
A
69 font-family: 'Roboto';
70 font-weight: 400;
71 font-style: normal;
72 src: local('Roboto'),
73 local('Roboto-Regular'),
74 url('../fonts/Roboto-Regular.woff2') format('woff2'),
75 url('../fonts/Roboto-Regular.woff') format('woff');
ad5c7570
A
76}
77
78@font-face {
c69585f3
A
79 font-family: 'Roboto';
80 font-weight: 700;
81 font-style: normal;
82 src: local('Roboto'),
83 local('Roboto-Bold'),
84 url('../fonts/Roboto-Bold.woff2') format('woff2'),
85 url('../fonts/Roboto-Bold.woff') format('woff');
86}
87
88body,
89.pure-g [class*='pure-u'] {
90 font-family: Roboto, Arial, sans-serif;
91}
92
93// Extends Pure grids responsive to hide items.
94// Use xx-0 to hide an item on xx screen.
95// Display it at any level with xx-visible.
96.pure-u-0 {
97 display: none !important;
98}
99
402b0346 100@media screen and (min-width: 35.5em) {
c69585f3
A
101 .pure-u-sm-0 {
102 display: none !important;
103 }
104
105 .pure-u-sm-visible {
106 display: inline-block !important;
107 }
402b0346 108}
c69585f3 109
402b0346 110@media screen and (min-width: 48em) {
c69585f3
A
111 .pure-u-md-0 {
112 display: none !important;
113 }
114
115 .pure-u-md-visible {
116 display: inline-block !important;
117 }
402b0346 118}
c69585f3 119
402b0346 120@media screen and (min-width: 64em) {
c69585f3
A
121 .pure-u-lg-0 {
122 display: none !important;
123 }
124
125 .pure-u-lg-visible {
126 display: inline-block !important;
127 }
402b0346 128}
c69585f3 129
402b0346 130@media screen and (min-width: 80em) {
c69585f3
A
131 .pure-u-xl-0 {
132 display: none !important;
133 }
134
135 .pure-u-xl-visible {
136 display: inline-block !important;
137 }
402b0346
A
138}
139
c69585f3
A
140// Make pure-extras alert closable.
141.pure-alert-closable {
142 .fa-times {
402b0346 143 float: right;
c69585f3 144 }
402b0346 145}
c69585f3 146
402b0346 147.pure-alert-close {
c69585f3 148 cursor: pointer;
402b0346
A
149}
150
151.pure-alert-success {
a5a0c039 152 background-color: var(--main-color);
402b0346
A
153}
154
28f26524
A
155.pure-alert-warning {
156 a {
157 color: $warning-text;
158 font-weight: bold;
159 }
160}
161
e85b7a05
A
162.page-single-alert {
163 margin-top: 100px;
164}
165
c69585f3
A
166.anchor {
167 &:target {
402b0346 168 padding-top: 40px;
c69585f3 169 }
402b0346 170}
c69585f3
A
171
172// MENU
402b0346 173.shaarli-menu {
c69585f3
A
174 position: fixed;
175 top: 0;
176 transition: max-height .5s;
177 z-index: 999;
a5a0c039 178 background: var(--main-color);
c69585f3
A
179 width: 100%;
180 // Hack to transition with auto height: http://stackoverflow.com/a/8331169/1484919
181 max-height: 45px;
182 overflow: hidden;
183 -webkit-font-smoothing: antialiased;
184
185 &.open {
186 transition: max-height .75s;
187 max-height: 500px;
188 }
402b0346
A
189}
190
402b0346 191.pure-menu-item {
c69585f3
A
192 // Chrome bugfix: with 100% height, it only displays the first element.
193 height: 45px;
194
195 &:hover {
196 &::after {
197 display: block;
198 margin: -4px auto 0;
199 background: $white;
200 width: 100%;
201 height: 4px;
202 content: '';
203 }
204 }
402b0346
A
205}
206
207.head-logo {
c69585f3
A
208 float: left;
209 margin: 0 5px 0 0;
402b0346
A
210}
211
c69585f3
A
212%menu-link {
213 padding: .8em 1em;
214 color: $almost-white;
402b0346
A
215}
216
c69585f3
A
217%menu-link-hover {
218 background: transparent;
219 color: $white;
402b0346
A
220}
221
c69585f3
A
222.pure-menu-link {
223 @extend %menu-link;
224
225 &:visited {
226 @extend %menu-link;
227 }
228
229 &:hover,
230 &:focus {
231 @extend %menu-link-hover;
232 }
402b0346
A
233}
234
c69585f3
A
235.pure-menu-selected {
236 .pure-menu-link {
237 @extend %menu-link;
238
239 &:visited {
240 @extend %menu-link;
241 }
242
243 &:hover,
244 &:focus {
245 @extend %menu-link-hover;
246 }
247 }
402b0346
A
248}
249
c69585f3
A
250.menu-toggle {
251 display: none;
252 position: absolute;
253 top: 5px;
254 right: 0;
255 width: 34px;
256 height: 45px;
257
258 .bar {
402b0346 259 display: block;
402b0346
A
260 position: absolute;
261 top: 18px;
262 right: 7px;
c69585f3
A
263 border-radius: 100px;
264 background-color: $light-green;
265 width: 20px;
266 height: 2px;
267 transition-duration: .5s;
402b0346 268
c69585f3
A
269 &:first-child {
270 transform: translateY(-6px);
271 }
272 }
402b0346 273
c69585f3
A
274 &.x {
275 .bar {
276 transform: rotate(45deg);
402b0346 277
c69585f3
A
278 &:first-child {
279 transform: rotate(-45deg);
280 }
281 }
282 }
402b0346
A
283}
284
285@media screen and (max-width: 64em) {
c69585f3
A
286 .menu-toggle {
287 display: block;
288 }
402b0346
A
289}
290
291.header-buttons {
c69585f3 292 text-align: right;
402b0346
A
293}
294
295.linkcount {
c69585f3
A
296 color: $dark-grey;
297 font-size: .8em;
402b0346
A
298}
299
300@media screen and (min-width: 64em) {
c69585f3
A
301 .linkcount {
302 position: absolute;
303 right: 5px;
304 }
305}
306
307.searchform-block {
308 width: 100%;
309 text-align: center;
310
311 input {
312 &[type='text'] {
313 border: medium none currentColor;
314 border-radius: 2px;
315 box-shadow: 0 1px 0 $light-shadow, 0 1px 1px $dark-shadow inset;
316 background: $almost-white;
317 padding: 0 5px;
318 width: 260px;
319 height: 30px;
320 color: $dark-grey;
321
322 &::-webkit-input-placeholder {
323 color: $light-grey;
324 }
402b0346 325 }
c69585f3 326 }
402b0346 327
c69585f3
A
328 button {
329 border: 0;
402b0346 330 border-radius: 2px;
a5a0c039 331 background-color: var(--main-color);
c69585f3
A
332 padding: 4px 8px 6px;
333 color: $almost-white;
334 }
402b0346
A
335}
336
c69585f3
A
337@media screen and (max-width: 64em) {
338 .searchform {
339 margin: 0 auto;
340 max-width: 260px;
341 }
402b0346
A
342}
343
c69585f3
A
344.search-tagcloud {
345 button {
f210d94f 346 width: 90%;
c69585f3 347 }
402b0346
A
348}
349
f210d94f 350@media screen and (max-width: 64em) {
c69585f3
A
351 .search-linklist {
352 button {
353 width: 100%;
f210d94f 354 }
402b0346 355
c69585f3
A
356 .awesomplete {
357 margin: 5px 0;
402b0346 358 }
c69585f3 359 }
402b0346
A
360}
361
c69585f3
A
362.header-search,
363.search-linklist,
364.search-tagcloud {
365 button {
366 &:hover {
a5a0c039 367 color: var(--background-color);
c69585f3
A
368 }
369 }
29a837f3
A
370}
371
c69585f3
A
372.header-search,
373.search-linklist {
374 padding: 6px 0;
29a837f3
A
375}
376
c69585f3
A
377@media screen and (max-width: 64em) {
378 .header-search ,
379 .header-search * {
380 visibility: hidden;
381 }
402b0346
A
382}
383
c69585f3
A
384%subheader-form-input {
385 border: medium none currentColor;
386 border-radius: 2px;
387 box-shadow: 0 1px 0 $light-shadow, 0 1px 4px $dark-shadow inset;
388 background: $almost-white;
389 padding: 5px 5px 3px 15px;
c69585f3 390 color: $dark-grey;
70401690
A
391}
392
402b0346 393.subheader-form {
c69585f3
A
394 display: block;
395 position: fixed;
396 visibility: hidden;
397 z-index: 999;
a5a0c039 398 background: var(--main-color);
c69585f3
A
399 padding: 5px 0;
400 width: 100%;
401 height: 30px;
402 text-align: center;
403
404 input {
405 &[type='text'],
406 &[type='password'] {
407 @extend %subheader-form-input;
408
409 &::-webkit-input-placeholder {
410 color: $dark-grey;
411 }
402b0346 412 }
c69585f3 413 }
402b0346 414
c69585f3
A
415 &[type='submit'] {
416 display: inline-block;
417 margin: 0 0 5px;
418 border: 1px solid $almost-white;
402b0346 419 border-radius: 2px;
a5a0c039 420 background: var(--main-color);
c69585f3
A
421 padding: 4px 0;
422 width: 100px;
423 height: 28px;
424 color: $almost-white;
402b0346 425
c69585f3
A
426 &:hover {
427 background: $almost-white;
a5a0c039 428 color: var(--main-color);
c69585f3
A
429 }
430 }
431
432 .remember-me {
433 @extend %subheader-form-input;
402b0346 434
402b0346 435 display: inline-block;
402b0346 436 cursor: pointer;
c69585f3
A
437 padding: 5px 20px 3px;
438 width: auto;
402b0346 439
c69585f3
A
440 label,
441 input {
442 cursor: pointer;
443 }
444 }
445
446 a {
447 &.button {
448 border: 2px solid $almost-white;
449 border-radius: 5px;
450 padding: 3px 10px;
451 text-decoration: none;
452 color: $almost-white;
453 font-weight: bold;
454 }
455 }
402b0346
A
456}
457
c69585f3
A
458.header-login-form {
459 input {
460 &[type='text'],
461 &[type='password'] {
462 width: 200px;
463
464 // because chrome
465 &::-webkit-input-placeholder {
466 color: $light-grey;
467 }
468 }
469 }
402b0346
A
470}
471
c69585f3
A
472@media screen and (min-width: 64em) {
473 .subheader-form {
474 &.open {
475 visibility: visible;
476
477 * {
478 visibility: visible;
479 }
480 }
481 }
402b0346
A
482}
483
484.new-version-message {
c69585f3 485 text-align: center;
402b0346 486
c69585f3
A
487 a {
488 color: $warning-text;
402b0346 489 font-weight: bold;
c69585f3 490 }
402b0346
A
491}
492
8eac2e54
A
493.header-alert-message {
494 text-align: center;
495}
496
c69585f3
A
497// CONTENT - GENERAL
498.container {
499 position: relative;
500 z-index: 2;
501 margin-top: 45px;
402b0346
A
502}
503
c69585f3 504// Plugins additional forms
402b0346 505.toolbar-plugin {
c69585f3
A
506 margin: 5px 0;
507 text-align: center;
508
509 input {
510 &[type='text'] {
511 border: medium none currentColor;
512 border-radius: 2px;
513 box-shadow: 0 1px 0 $light-shadow, 0 1px 1px $dark-shadow inset;
514 background: $almost-white;
515 padding: 0 5px;
516 width: 300px;
517 height: 30px;
518 color: $dark-grey;
519
520 &::-webkit-input-placeholder {
521 color: $light-grey;
522 }
523 }
402b0346 524
c69585f3
A
525 &[type='submit'] {
526 border: medium none currentColor;
527 border-radius: 2px;
528 background: $almost-white;
529 padding: 0 10px;
530 height: 30px;
531 color: $dark-grey;
532
533 &:hover {
534 background: $white;
535 }
536 }
537 }
70401690
A
538}
539
402b0346 540@media screen and (max-width: 64em) {
c69585f3
A
541 .toolbar-plugin {
542 input {
543 &[type='text'] {
402b0346 544 width: 70%;
c69585f3 545 }
402b0346 546 }
c69585f3 547 }
402b0346
A
548}
549
c69585f3
A
550// CONTENT - LINKLIST PAGING
551// 64em -> lg
402b0346 552.linklist-filters {
c69585f3
A
553 margin: 5px 0;
554 color: $dark-grey;
555 font-size: .9em;
402b0346 556
54ee2408 557
c69585f3 558 a {
54ee2408
A
559 display: inline-block;
560 margin: 3px 0;
402b0346
A
561 padding: 5px 8px;
562 text-decoration: none;
c69585f3 563 }
402b0346 564
c69585f3
A
565 .filter-off {
566 background: $almost-white;
567 color: $dark-grey;
568 }
402b0346 569
c69585f3 570 .filter-on {
a5a0c039 571 background: var(--main-color);
c69585f3
A
572 color: $light-green;
573 }
402b0346 574
c69585f3
A
575 .filter-block {
576 background: $red;
577 color: $almost-white;
578 }
9d4736a3
A
579}
580
402b0346 581.linklist-pages {
c69585f3
A
582 margin: 5px 0;
583 text-align: center;
584 color: $dark-grey;
402b0346 585
c69585f3 586 a {
402b0346 587 text-decoration: none;
c69585f3
A
588 color: $dark-grey;
589
590 &:hover {
591 color: $white;
592 }
593 }
402b0346
A
594}
595
c69585f3
A
596%linksperpage-button {
597 display: inline-block;
598 width: 20px;
599 text-align: center;
402b0346
A
600}
601
602.linksperpage {
c69585f3
A
603 margin: 5px 0;
604 text-align: right;
605 color: $dark-grey;
606 font-size: .9em;
402b0346 607
c69585f3
A
608 form {
609 display: inline;
610 }
402b0346 611
c69585f3
A
612 a {
613 @extend %linksperpage-button;
402b0346 614
c69585f3
A
615 background: $almost-white;
616 padding: 5px;
617 text-decoration: none;
618 color: $dark-grey;
619 }
620
621 input {
622 &[type='text'] {
623 @extend %linksperpage-button;
624
625 margin: 0;
626 border: medium none currentColor;
627 background: $almost-white;
628 padding: 4px 5px 3px 8px;
629 height: 20px;
630 color: $dark-grey;
631 font-size: .8em;
632 }
633 }
402b0346
A
634}
635
c69585f3
A
636// CONTENT - LINKLIST ITEMS
637%private-border {
638 display: block;
639 position: absolute;
640 top: 0;
641 left: 3px;
642 z-index: 1;
643 background: $orange;
644 width: 2px;
645 height: 96%;
646 content: '';
402b0346
A
647}
648
402b0346 649.linklist-item {
7b4fea0e 650 position: relative;
c69585f3
A
651 margin: 0 0 10px;
652 box-shadow: 1px 1px 3px $light-grey;
653 background: $almost-white;
654
655 &.private {
7b4fea0e
A
656 &::before {
657 display: block;
658 position: absolute;
659 top: 0;
660 left: 0;
661 z-index: 1;
662 background: $orange;
663 width: 2px;
664 height: 100%;
665 content: '';
c69585f3
A
666 }
667 }
94c17565
A
668}
669
670.linklist-item-buttons {
c69585f3
A
671 position: relative;
672 z-index: 99;
673 background: transparent;
674 width: 23px;
94c17565
A
675}
676
677.linklist-item-buttons-right {
c69585f3
A
678 float: right;
679 margin-right: -25px;
94c17565
A
680}
681
682.linklist-item-buttons * {
c69585f3
A
683 display: block;
684 float: left;
685 margin: auto;
686 width: 100%;
687 text-align: center;
402b0346
A
688}
689
690.linklist-item-title {
c69585f3
A
691 position: relative;
692 margin: 0;
693 background: $almost-white;
694 word-wrap: break-word;
402b0346 695
c69585f3
A
696 h2 {
697 margin: 0;
698 padding: 3px 10px 0;
402b0346 699 line-height: 30px;
c69585f3 700 word-wrap: break-word;
402b0346 701
c69585f3
A
702 a {
703 vertical-align: middle;
704 text-decoration: none;
705 color: $dark-grey;
706 font-size: .7em;
707
708 &:visited {
709 .linklist-link {
a5a0c039 710 color: var(--dark-main-color);
c69585f3
A
711 }
712 }
713
714 &:hover {
715 color: $dark-grey;
716 }
717 }
718 }
402b0346 719
c69585f3 720 .linklist-link {
a5a0c039 721 color: var(--main-color);
402b0346 722 font-size: 1.1em;
402b0346 723
c69585f3
A
724 &:hover {
725 color: $dark-grey;
726 }
727 }
402b0346 728
d3defcac
A
729 .label {
730 font-family: Arial, sans-serif;
731 font-size: .65em;
732 }
733
c69585f3
A
734 .label-private {
735 border: solid 1px $orange;
736 color: $orange;
d3defcac
A
737 }
738
739 .label-sticky {
740 border: solid 1px $blue;
741 color: $blue;
c69585f3 742 }
402b0346
A
743}
744
94c17565 745.fold-button {
c69585f3
A
746 display: none;
747 color: $dark-grey;
402b0346
A
748}
749
750.linklist-item-editbuttons {
c69585f3
A
751 float: right;
752 padding: 8px 5px;
402b0346 753
c69585f3 754 * {
402b0346
A
755 display: block;
756 float: left;
757 margin: 0 1px;
c69585f3 758 }
402b0346 759
c69585f3 760 a {
402b0346 761 font-size: 1em;
c69585f3
A
762 }
763
fc574e64 764 .link-checkbox {
c69585f3
A
765 display: none;
766 }
402b0346
A
767}
768
769.edit-link {
c69585f3
A
770 color: $blue;
771 font-size: 1.2em;
402b0346
A
772}
773
774.delete-link {
c69585f3
A
775 color: $red !important;
776 font-size: 1.3em;
402b0346
A
777}
778
4154c25b 779.pin-link {
d9bf5b31 780 font-size: 1.3em;
4154c25b
A
781}
782
783.pinned-link {
d9bf5b31 784 color: $blue !important;
4154c25b
A
785}
786
402b0346 787.linklist-item-description {
c69585f3
A
788 position: relative;
789 padding: 0 10px;
790 line-height: 1.3em;
791 color: $dark-grey;
792 word-wrap: break-word;
402b0346 793
c69585f3 794 a {
402b0346 795 text-decoration: none;
a5a0c039 796 color: var(--main-color);
402b0346 797
c69585f3
A
798 &:hover {
799 color: $dark-grey;
800 }
402b0346 801
c69585f3 802 &:visited {
a5a0c039 803 color: var(--dark-main-color);
c69585f3
A
804 }
805 }
402b0346
A
806}
807
808.linklist-item-thumbnail {
c69585f3
A
809 position: relative;
810 float: right;
811 z-index: 50;
812 margin: 0;
813 padding: 0 0 0 5px;
814 height: 90px;
402b0346
A
815}
816
817.linklist-item-infos {
c69585f3
A
818 background: $background-linklist-info;
819 padding: 4px 8px;
820 color: $dark-grey;
402b0346 821
c69585f3 822 a {
402b0346 823 text-decoration: none;
c69585f3 824 color: $dark-grey;
402b0346 825
c69585f3
A
826 &:hover {
827 color: $black;
828 }
829 }
402b0346 830
c69585f3
A
831 .linklist-item-tags {
832 font-size: .8em;
833 }
402b0346 834
c69585f3 835 .label-tag {
402b0346 836 font-size: 1em;
c69585f3
A
837 }
838
839 .mobile-buttons {
840 text-align: right;
841 }
842
843 .linklist-plugin-icon {
844 display: inline-block;
845 margin: 0 2px;
846 width: 16px;
847 height: 16px;
848 }
402b0346
A
849}
850
851.linklist-item-infos-dateblock {
c69585f3 852 font-size: .9em;
402b0346
A
853}
854
855.linklist-plugin-icon {
c69585f3
A
856 width: 13px;
857 height: 13px;
402b0346
A
858}
859
860.linklist-item-infos-url {
c69585f3
A
861 height: 23px;
862 overflow: hidden;
863 text-align: right;
864 text-overflow: ellipsis;
865 line-height: 23px;
866 white-space: nowrap;
867 font-size: .8em;
402b0346
A
868}
869
94c17565 870.linklist-item-infos-controls-group {
c69585f3
A
871 display: inline-block;
872 border-right: 1px solid $light-grey;
873 padding-right: 6px;
94c17565
A
874}
875
876.ctrl-edit {
c69585f3 877 margin: 0 7px;
94c17565
A
878}
879
4154c25b 880.ctrl-delete {
d9bf5b31 881 margin: 0 7px 0 0;
4154c25b
A
882}
883
c69585f3 884// 64em -> lg
402b0346 885@media screen and (max-width: 64em) {
c69585f3
A
886 .linklist-item-infos-url {
887 text-align: left;
888 }
402b0346
A
889}
890
c69585f3
A
891// Footer
892.footer-container {
893 margin: 20px 0;
894 padding: 5px;
895 text-align: center;
896 color: $dark-grey;
402b0346 897
c69585f3 898 &::before {
402b0346 899 display: block;
402b0346 900 margin: 10px auto;
a5a0c039 901 background: linear-gradient(to right, var(--background-color), $dark-grey, var(--background-color));
c69585f3
A
902 width: 80%;
903 height: 1px;
904 content: '';
905 }
906
907 a {
908 color: $dark-grey;
909 }
910}
911
912// PAGE FORM
913%page-form-input {
914 margin: 10px 0;
915 border: solid 1px $form-input-border;
916 border-radius: 2px;
917 background: $form-input-background;
918 padding: 5px 5px 3px 15px;
919 width: 90%;
920 height: 35px;
921 color: $dark-grey;
922 box-sizing: border-box;
923}
924
925%page-form-button {
926 display: inline-block;
927 margin: 15px 5px;
928 border: 0;
929 box-shadow: 1px 1px 1px $form-input-border, -1px -1px 6px $form-input-border, -1px 1px 2px $form-input-border, 1px -1px 2px $form-input-border;
a5a0c039 930 background: var(--main-color);
c69585f3
A
931 min-width: 150px;
932 height: 35px;
933 vertical-align: center;
934 text-decoration: none;
935 line-height: 35px;
936 color: $almost-white;
937 font-size: 1.2em;
938 font-weight: normal;
402b0346
A
939}
940
402b0346 941.page-form {
c69585f3
A
942 margin: 20px 0 0;
943 box-shadow: 1px 1px 2px $light-grey;
944 background: $almost-white;
945 overflow: hidden;
946 color: $dark-grey;
947
948 .window-title {
949 margin: 0 0 10px;
950 background: $almost-white;
402b0346
A
951 padding: 10px 0;
952 width: 100%;
402b0346 953 text-align: center;
a5a0c039 954 color: var(--main-color);
c69585f3 955 }
402b0346 956
c69585f3 957 .window-subtitle {
402b0346 958 text-align: center;
c69585f3 959 }
402b0346 960
c69585f3 961 a {
aa4797ba 962 text-decoration: none;
a5a0c039 963 color: var(--main-color);
c69585f3 964 font-weight: bold;
402b0346 965
c69585f3
A
966 &.button {
967 @extend %page-form-button;
968 }
969 }
970
971 p {
402b0346 972 margin: 0;
c69585f3
A
973 padding: 5px 10px;
974 }
402b0346 975
c69585f3
A
976 input {
977 &[type='text'] {
978 @extend %page-form-input;
979
980 &::-webkit-input-placeholder {
981 color: $light-grey;
982 }
983 }
984
985 &[type='password'] {
986 @extend %page-form-input;
987
988 &::-webkit-input-placeholder {
989 color: $light-grey;
990 }
991 }
992
993 &[type='submit'] {
994 @extend %page-form-button;
995 }
996 }
997
998 textarea {
999 @extend %page-form-input;
402b0346 1000
402b0346 1001 padding: 15px 5px 3px 15px;
c69585f3 1002 min-height: 240px;
402b0346
A
1003 resize: vertical;
1004 overflow-y: auto;
c69585f3
A
1005 word-wrap: break-word;
1006 }
402b0346 1007
c69585f3
A
1008 select {
1009 color: $dark-grey;
1010 }
402b0346 1011
c69585f3
A
1012 .button {
1013 &.button-red {
1014 background: $red;
1015 }
1016 }
402b0346 1017
c69585f3
A
1018 .submit-buttons {
1019 margin-bottom: 10px;
1020 }
402b0346 1021
c69585f3
A
1022 section {
1023 margin: 10px 0 25px;
1024 }
402b0346 1025
c69585f3
A
1026 table,
1027 th,
1028 td {
1029 border-width: 1px 0;
1030 border-style: solid;
1031 border-color: $light-grey;
1032 }
402b0346 1033
c69585f3
A
1034 th,
1035 td {
1036 padding: 5px;
1037 }
1038
1039 table {
1040 margin: auto;
1041 width: 90%;
1042
1043 .order {
1044 text-decoration: none;
1045 color: $dark-grey;
402b0346 1046 }
c69585f3 1047 }
402b0346 1048
c69585f3
A
1049 .awesomplete {
1050 width: 90%;
1051
1052 input {
1053 width: 100%;
1054 }
1055 }
1056
1057 div {
1058 .awesomplete {
1059 > ul {
1060 color: $black;
1061 }
402b0346 1062 }
c69585f3
A
1063 }
1064}
1065
1066@media screen and (min-width: 64em) {
1067 .page-form {
1068 .submit-buttons {
1069 position: relative;
1070
1071 .button {
1072 &.button-red {
1073 position: absolute;
1074 right: 5%;
1075 }
1076 }
1077 }
1078 }
402b0346
A
1079}
1080
1081@media screen and (max-width: 64em) {
c69585f3
A
1082 .page-form {
1083 .submit-buttons {
1084 .button {
402b0346 1085 margin: auto;
c69585f3 1086 }
402b0346 1087 }
c69585f3 1088 }
402b0346
A
1089}
1090
c69585f3
A
1091// PAGE FORM - LIGHT
1092.page-form-light {
1093 div,
1094 p {
402b0346 1095 text-align: center;
c69585f3 1096 }
402b0346
A
1097}
1098
c69585f3
A
1099// PAGE FORM - COMPLETE
1100%page-form-valign {
1101 position: absolute;
1102 top: 50%;
1103 transform: translateY(-50%);
402b0346
A
1104}
1105
c69585f3
A
1106.page-form-complete {
1107 div,
1108 p {
1109 color: $dark-grey;
1110 }
1111
1112 .form-label,
1113 .form-input {
402b0346
A
1114 position: relative;
1115 height: 60px;
c69585f3 1116 }
402b0346 1117
c69585f3
A
1118 .form-label {
1119 label {
1120 @extend %page-form-valign;
402b0346 1121
c69585f3
A
1122 right: 0;
1123 padding: 0 20px;
1124 text-align: right;
1125 }
1126 }
402b0346 1127
c69585f3 1128 .label-name {
402b0346 1129 font-weight: bold;
c69585f3 1130 }
402b0346 1131
c69585f3
A
1132 .label-desc {
1133 font-size: .8em;
1134 }
402b0346 1135
c69585f3
A
1136 .form-input {
1137 input {
1138 @extend %page-form-valign;
402b0346 1139
c69585f3
A
1140 &[type='text'],
1141 &[type='password'] {
1142 margin: 0;
1143 }
1144 }
402b0346 1145
c69585f3
A
1146 select {
1147 &.align {
1148 @extend %page-form-valign;
1149 }
1150 }
1151 }
402b0346 1152
c69585f3
A
1153 textarea {
1154 margin: 0;
1155 }
402b0346 1156
c69585f3
A
1157 .timezone {
1158 @extend %page-form-valign;
1159 }
402b0346
A
1160}
1161
c69585f3
A
1162// Awesomeplete fix
1163div {
1164 &.awesomplete {
402b0346 1165 width: inherit;
402b0346 1166
c69585f3
A
1167 > input {
1168 display: inherit;
1169 }
402b0346 1170
c69585f3
A
1171 > ul {
1172 z-index: 9999;
1173 }
1174 }
402b0346
A
1175}
1176
c69585f3
A
1177form {
1178 &[name='linkform'] {
1179 &.page-form {
1180 overflow: visible;
1181 }
1182 }
402b0346
A
1183}
1184
c69585f3
A
1185@media screen and (max-width: 64em) {
1186 %page-form-valign-mobile {
1187 position: inherit;
1188 top: inherit;
1189 transform: translateY(0);
1190 }
402b0346 1191
c69585f3
A
1192 .page-form-complete {
1193 .form-label {
1194 height: inherit;
402b0346 1195
c69585f3
A
1196 label {
1197 @extend %page-form-valign-mobile;
15162272 1198
c69585f3
A
1199 display: block;
1200 margin: 10px 0 0;
1201 text-align: left;
1202 }
402b0346
A
1203 }
1204
c69585f3
A
1205 .form-input {
1206 text-align: center;
402b0346 1207
c69585f3
A
1208 input {
1209 @extend %page-form-valign-mobile;
402b0346 1210
c69585f3
A
1211 &[type='checkbox'] {
1212 position: absolute;
1213 top: 50%;
1214 right: 50%;
1215 transform: translateY(-50%);
1216 }
1217 }
402b0346
A
1218 }
1219
c69585f3
A
1220 .timezone {
1221 @extend %page-form-valign-mobile;
402b0346
A
1222 }
1223
c69585f3
A
1224 .radio-buttons {
1225 padding: 5px 15px;
1226 text-align: left;
402b0346 1227 }
c69585f3 1228 }
402b0346 1229
c69585f3
A
1230 .timezone-continent {
1231 &::after {
1232 white-space: pre;
1233 content: '\a\a';
402b0346 1234 }
c69585f3 1235 }
402b0346
A
1236}
1237
c69585f3 1238// Page visitor (page form extended)
402b0346 1239.page-visitor {
c69585f3 1240 color: $dark-grey;
402b0346
A
1241}
1242
dd51f653 1243.page-error-container {
c69585f3 1244 color: $dark-grey;
6c50a6cc
A
1245
1246 h2 {
dd51f653 1247 margin: 70px 0 25px;
6c50a6cc
A
1248 }
1249
1250 pre {
6c50a6cc
A
1251 margin: 0 20%;
1252 padding: 20px 0;
dd51f653
A
1253 text-align: left;
1254 line-height: .7em;
6c50a6cc 1255 }
402b0346
A
1256}
1257
c69585f3
A
1258// EDIT LINK
1259.edit-link-container {
1260 .created-date {
807cade6 1261 margin-bottom: 10px;
c69585f3
A
1262 color: $light-grey;
1263 }
807cade6
A
1264}
1265
c69585f3
A
1266// LOGIN
1267.login-form-container {
1268 .remember-me {
402b0346 1269 margin: 5px 0;
c69585f3 1270 }
402b0346
A
1271}
1272
c69585f3
A
1273// Search results
1274.search-result {
1275 a {
402b0346 1276 text-decoration: none;
c69585f3
A
1277 color: $white;
1278 }
402b0346 1279
c69585f3
A
1280 .label-tag {
1281 border-color: $white;
402b0346 1282
c69585f3
A
1283 .remove {
1284 margin: 0 0 0 5px;
1285 border-left: $white 1px solid;
1286 padding: 0 0 0 5px;
1287 }
1288 }
402b0346 1289
c69585f3
A
1290 .label-private {
1291 border: 1px solid $white;
1292 }
7c26f662
A
1293}
1294
c69585f3 1295// TOOLS
402b0346 1296.tools-item {
c69585f3 1297 margin: 10px 0;
402b0346 1298
c69585f3
A
1299 .pure-button {
1300 &:hover {
a5a0c039 1301 background-color: var(--main-color);
c69585f3
A
1302 background-image: none;
1303 color: $almost-white;
1304 }
1305 }
402b0346
A
1306}
1307
c69585f3
A
1308// PLUGIN ADMIN
1309.pluginform-container {
1310 .mobile-row {
1311 font-size: .9em;
1312 }
402b0346 1313
c69585f3 1314 .more {
402b0346 1315 margin-top: 10px;
c69585f3 1316 }
402b0346
A
1317}
1318
1319@media screen and (max-width: 64em) {
c69585f3
A
1320 .pluginform-container {
1321 .main-row {
1322 border-top-style: none;
1323 border-bottom-style: none;
402b0346 1324
c69585f3 1325 td {
402b0346 1326 border-top-style: none;
c69585f3
A
1327 border-bottom-style: none;
1328 }
402b0346 1329 }
c69585f3 1330 }
402b0346
A
1331}
1332
c69585f3
A
1333// IMPORT
1334.import-field-container {
1335 margin: 15px 0;
402b0346
A
1336}
1337
c69585f3
A
1338// TAG CLOUD
1339.cloudtag-container {
1340 padding: 10px;
1341 text-align: center;
1342 text-decoration: none;
1343 color: $dark-grey;
402b0346 1344
c69585f3 1345 a {
402b0346 1346 text-decoration: none;
c69585f3
A
1347 color: $dark-grey;
1348 }
402b0346 1349
c69585f3
A
1350 .count {
1351 color: $light-grey;
1352 }
402b0346
A
1353}
1354
c69585f3
A
1355// TAG LIST
1356.taglist-container {
1357 padding: 0 10px;
aa4797ba 1358
c69585f3 1359 a {
aa4797ba 1360 text-decoration: none;
c69585f3
A
1361 color: $dark-grey;
1362 }
aa4797ba 1363
c69585f3 1364 .count {
aa4797ba
A
1365 display: inline-block;
1366 width: 35px;
1367 text-align: right;
c69585f3
A
1368 color: $light-grey;
1369 }
aa4797ba 1370
c69585f3 1371 .rename-tag-form {
82e3bb5f 1372 display: none;
c69585f3 1373 }
82e3bb5f 1374
c69585f3 1375 .delete-tag {
aa4797ba 1376 display: none;
c69585f3
A
1377 color: $red;
1378 }
1379
1380 .rename-tag {
1381 color: $blue;
1382 }
1383
1384 .validate-rename-tag {
a5a0c039 1385 color: var(--main-color);
c69585f3
A
1386 }
1387}
1388
1389// Picture wall CSS
1390.picwall-container {
1391 clear: both;
1392 margin: 0 10px 10px;
1393 background-color: $almost-white;
1394 color: $dark-grey;
1395}
1396
1397.picwall-pictureframe {
1398 display: table-cell;
1399 position: relative;
1400 float: left;
1401 z-index: 5;
1402 margin: 2px;
1403 background-color: $almost-white;
1404 width: 90px;
1405 height: 90px;
1406 overflow: hidden;
1407 vertical-align: middle;
1408 text-align: center;
1409
1410 // Adapt the width of the image
1411 img {
402b0346
A
1412 max-width: 100%;
1413 height: auto;
1414 color: transparent;
c69585f3 1415 }
402b0346 1416
c69585f3 1417 a {
402b0346 1418 text-decoration: none;
c69585f3 1419 }
402b0346 1420
c69585f3
A
1421 span {
1422 &.info {
1423 display: none;
1424 font-family: Arial, sans-serif;
1425 }
1426 }
1427
1428 // CSS to show title when hovering an image - no javascript required.
1429 &:hover {
1430 span {
1431 &.info {
1432 display: block;
1433 position: absolute;
1434 top: 0;
1435 left: 0;
1436 background-color: $dark-shadow;
1437 width: 90px;
1438 height: 90px;
1439 text-align: left;
1440 color: $almost-white;
1441 font-size: 9pt;
1442 font-weight: bold;
1443 }
1444 }
1445 }
402b0346
A
1446}
1447
c69585f3
A
1448.b-lazy {
1449 transition: opacity 500ms ease-in-out;
1450 opacity: 0;
1451 -webkit-transition: opacity 500ms ease-in-out;
1452 -moz-transition: opacity 500ms ease-in-out;
1453 -o-transition: opacity 500ms ease-in-out;
b5e2b23c
A
1454 min-width: 1px;
1455 min-height: 1px;
c69585f3
A
1456
1457 &.b-loaded {
1458 opacity: 1;
1459 }
402b0346
A
1460}
1461
c69585f3 1462// DAILY
402b0346 1463.daily-desc {
c69585f3
A
1464 color: $light-grey;
1465 font-size: .8em;
402b0346 1466
c69585f3 1467 a {
402b0346 1468 text-decoration: none;
c69585f3 1469 color: $dark-grey;
402b0346 1470
c69585f3
A
1471 &:hover {
1472 color: $light-grey;
1473 }
1474 }
1475}
1476
1477.daily-about {
1478 h3 {
1479 &::before,
1480 &::after {
1481 display: block;
1482 margin: 10px auto;
a5a0c039 1483 background: linear-gradient(to right, var(--background-color), $dark-grey, var(--background-color));
c69585f3
A
1484 width: 90%;
1485 height: 1px;
1486 content: '';
1487 }
1488 }
402b0346
A
1489}
1490
1491.daily-entry {
c69585f3 1492 padding: 0 10px;
402b0346 1493
c69585f3
A
1494 .daily-entry-title {
1495 margin: 10px 0 0;
402b0346 1496
c69585f3
A
1497 a {
1498 text-decoration: none;
1499 color: $black;
1500 }
402b0346 1501
c69585f3
A
1502 &::after {
1503 display: block;
1504 margin: 5px auto;
1505 background: linear-gradient(to right, $white, $light-grey, $white);
1506 width: 70%;
1507 height: 1px;
1508 content: '';
1509 }
1510 }
402b0346 1511
c69585f3
A
1512 .daily-entry-description {
1513 padding: 5px 5px 0;
402b0346 1514 text-align: justify;
c69585f3 1515 font-size: .9em;
402b0346 1516 word-wrap: break-word;
c69585f3 1517 }
402b0346 1518
c69585f3
A
1519 .daily-entry-tags {
1520 padding: 0 5px 5px;
1521 font-size: .8em;
1522 }
402b0346
A
1523}
1524
1525.daily-entry-thumbnail {
c69585f3
A
1526 float: left;
1527 margin: 15px 5px 5px 15px;
402b0346
A
1528}
1529
c69585f3
A
1530.daily-entry-description {
1531 a {
402b0346 1532 text-decoration: none;
a5a0c039 1533 color: var(--main-color);
402b0346 1534
c69585f3
A
1535 &:hover {
1536 text-shadow: 1px 1px $background-linklist-info;
1537 }
402b0346 1538
c69585f3 1539 &:visited {
a5a0c039 1540 color: var(--dark-main-color);
c69585f3
A
1541 }
1542 }
402b0346 1543}
70401690 1544
c69585f3 1545// Fix empty bookmarklet name in Firefox
70401690 1546.pure-button {
c69585f3 1547 -moz-user-select: auto;
70401690 1548}
aa4797ba
A
1549
1550.tag-sort {
c69585f3
A
1551 margin-top: 30px;
1552 text-align: center;
aa4797ba 1553
c69585f3 1554 a {
aa4797ba
A
1555 display: inline-block;
1556 margin: 0 15px;
aa4797ba 1557 text-decoration: none;
c69585f3 1558 color: $white;
aa4797ba 1559 font-weight: bold;
c69585f3 1560 }
aa4797ba 1561}
94c17565 1562
c69585f3
A
1563// Markdown
1564.markdown {
1565 p {
94c17565 1566 margin: 0 !important;
c69585f3 1567 }
94c17565 1568
c69585f3
A
1569 p + p {
1570 margin: .5em 0 0 !important;
1571 }
94c17565 1572
c69585f3
A
1573 * {
1574 &:first-child {
1575 margin-top: 0 !important;
1576 }
94c17565 1577
c69585f3
A
1578 &:last-child {
1579 margin-bottom: 5px !important;
1580 }
1581 }
055ce4bd
A
1582}
1583
c69585f3 1584// Pure Button
055ce4bd
A
1585.pure-button-success,
1586.pure-button-error,
1587.pure-button-warning,
1588.pure-button-primary,
1589.pure-button-shaarli,
1590.pure-button-secondary {
c69585f3
A
1591 border-radius: 4px;
1592 text-shadow: 0 1px 1px $dark-shadow;
1593 color: $white !important;
055ce4bd
A
1594}
1595
1596.pure-button-shaarli {
a5a0c039 1597 background-color: var(--main-color);
055ce4bd 1598}
28f26524
A
1599
1600.progressbar {
1601 border-radius: 6px;
a5a0c039 1602 background-color: var(--main-color);
28f26524
A
1603 padding: 1px;
1604
1605 > div {
1606 border-radius: 10px;
1607 background: repeating-linear-gradient(
1608 -45deg,
1609 $almost-white,
1610 $almost-white 6px,
a5a0c039
A
1611 var(--background-color) 6px,
1612 var(--background-color) 12px
28f26524
A
1613 );
1614 width: 0%;
1615 height: 10px;
1616 }
1617}
1618
1619.thumbnails-page-container {
1620 .progress-counter {
1621 padding: 10px 0 20px;
1622 }
1623
1624 .thumbnail-placeholder {
1625 margin: 10px auto;
1626 background-color: $light-grey;
1627 }
1628
1629 .thumbnail-link-title {
1630 padding-bottom: 20px;
1631 overflow: hidden;
1632 text-overflow: ellipsis;
1633 white-space: nowrap;
1634 }
1635}
374f89e7
A
1636
1637// Print rules
1638@media print {
1639 .shaarli-menu {
1640 position: absolute;
1641 }
1642
1643 .search-linklist,
1644 .link-count-block,
1645 .linklist-item-infos-controls-group,
1646 .mobile-buttons {
1647 display: none;
1648 }
1649}