]> git.immae.eu Git - github/shaarli/Shaarli.git/blame - assets/default/scss/shaarli.scss
Added $links_per_page variable to template and display on default
[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
816ffba7
KC
621 a.selected {
622 background: var(--main-color);
623 color: $white;
624 }
625
c69585f3
A
626 input {
627 &[type='text'] {
628 @extend %linksperpage-button;
629
630 margin: 0;
631 border: medium none currentColor;
632 background: $almost-white;
633 padding: 4px 5px 3px 8px;
634 height: 20px;
635 color: $dark-grey;
636 font-size: .8em;
637 }
638 }
402b0346
A
639}
640
c69585f3
A
641// CONTENT - LINKLIST ITEMS
642%private-border {
643 display: block;
644 position: absolute;
645 top: 0;
646 left: 3px;
647 z-index: 1;
648 background: $orange;
649 width: 2px;
650 height: 96%;
651 content: '';
402b0346
A
652}
653
402b0346 654.linklist-item {
7b4fea0e 655 position: relative;
c69585f3
A
656 margin: 0 0 10px;
657 box-shadow: 1px 1px 3px $light-grey;
658 background: $almost-white;
659
660 &.private {
7b4fea0e
A
661 &::before {
662 display: block;
663 position: absolute;
664 top: 0;
665 left: 0;
666 z-index: 1;
667 background: $orange;
668 width: 2px;
669 height: 100%;
670 content: '';
c69585f3
A
671 }
672 }
94c17565
A
673}
674
675.linklist-item-buttons {
c69585f3
A
676 position: relative;
677 z-index: 99;
678 background: transparent;
679 width: 23px;
94c17565
A
680}
681
682.linklist-item-buttons-right {
c69585f3
A
683 float: right;
684 margin-right: -25px;
94c17565
A
685}
686
687.linklist-item-buttons * {
c69585f3
A
688 display: block;
689 float: left;
690 margin: auto;
691 width: 100%;
692 text-align: center;
402b0346
A
693}
694
695.linklist-item-title {
c69585f3
A
696 position: relative;
697 margin: 0;
698 background: $almost-white;
699 word-wrap: break-word;
402b0346 700
c69585f3
A
701 h2 {
702 margin: 0;
703 padding: 3px 10px 0;
402b0346 704 line-height: 30px;
c69585f3 705 word-wrap: break-word;
402b0346 706
c69585f3
A
707 a {
708 vertical-align: middle;
709 text-decoration: none;
710 color: $dark-grey;
711 font-size: .7em;
712
713 &:visited {
714 .linklist-link {
a5a0c039 715 color: var(--dark-main-color);
c69585f3
A
716 }
717 }
718
719 &:hover {
720 color: $dark-grey;
721 }
722 }
723 }
402b0346 724
c69585f3 725 .linklist-link {
a5a0c039 726 color: var(--main-color);
402b0346 727 font-size: 1.1em;
402b0346 728
c69585f3
A
729 &:hover {
730 color: $dark-grey;
731 }
732 }
402b0346 733
d3defcac
A
734 .label {
735 font-family: Arial, sans-serif;
736 font-size: .65em;
737 }
738
c69585f3
A
739 .label-private {
740 border: solid 1px $orange;
741 color: $orange;
d3defcac
A
742 }
743
744 .label-sticky {
745 border: solid 1px $blue;
746 color: $blue;
c69585f3 747 }
402b0346
A
748}
749
94c17565 750.fold-button {
c69585f3
A
751 display: none;
752 color: $dark-grey;
402b0346
A
753}
754
755.linklist-item-editbuttons {
c69585f3
A
756 float: right;
757 padding: 8px 5px;
402b0346 758
c69585f3 759 * {
402b0346
A
760 display: block;
761 float: left;
762 margin: 0 1px;
c69585f3 763 }
402b0346 764
c69585f3 765 a {
402b0346 766 font-size: 1em;
c69585f3
A
767 }
768
fc574e64 769 .link-checkbox {
c69585f3
A
770 display: none;
771 }
402b0346
A
772}
773
774.edit-link {
c69585f3
A
775 color: $blue;
776 font-size: 1.2em;
402b0346
A
777}
778
779.delete-link {
c69585f3
A
780 color: $red !important;
781 font-size: 1.3em;
402b0346
A
782}
783
4154c25b 784.pin-link {
d9bf5b31 785 font-size: 1.3em;
4154c25b
A
786}
787
788.pinned-link {
d9bf5b31 789 color: $blue !important;
4154c25b
A
790}
791
402b0346 792.linklist-item-description {
c69585f3
A
793 position: relative;
794 padding: 0 10px;
795 line-height: 1.3em;
796 color: $dark-grey;
797 word-wrap: break-word;
402b0346 798
c69585f3 799 a {
402b0346 800 text-decoration: none;
a5a0c039 801 color: var(--main-color);
402b0346 802
c69585f3
A
803 &:hover {
804 color: $dark-grey;
805 }
402b0346 806
c69585f3 807 &:visited {
a5a0c039 808 color: var(--dark-main-color);
c69585f3
A
809 }
810 }
402b0346
A
811}
812
813.linklist-item-thumbnail {
c69585f3
A
814 position: relative;
815 float: right;
816 z-index: 50;
817 margin: 0;
818 padding: 0 0 0 5px;
819 height: 90px;
402b0346
A
820}
821
822.linklist-item-infos {
c69585f3
A
823 background: $background-linklist-info;
824 padding: 4px 8px;
825 color: $dark-grey;
402b0346 826
c69585f3 827 a {
402b0346 828 text-decoration: none;
c69585f3 829 color: $dark-grey;
402b0346 830
c69585f3
A
831 &:hover {
832 color: $black;
833 }
834 }
402b0346 835
c69585f3
A
836 .linklist-item-tags {
837 font-size: .8em;
838 }
402b0346 839
c69585f3 840 .label-tag {
402b0346 841 font-size: 1em;
c69585f3
A
842 }
843
844 .mobile-buttons {
845 text-align: right;
846 }
847
848 .linklist-plugin-icon {
849 display: inline-block;
850 margin: 0 2px;
851 width: 16px;
852 height: 16px;
853 }
402b0346
A
854}
855
856.linklist-item-infos-dateblock {
c69585f3 857 font-size: .9em;
402b0346
A
858}
859
860.linklist-plugin-icon {
c69585f3
A
861 width: 13px;
862 height: 13px;
402b0346
A
863}
864
865.linklist-item-infos-url {
c69585f3
A
866 height: 23px;
867 overflow: hidden;
868 text-align: right;
869 text-overflow: ellipsis;
870 line-height: 23px;
871 white-space: nowrap;
872 font-size: .8em;
402b0346
A
873}
874
94c17565 875.linklist-item-infos-controls-group {
c69585f3
A
876 display: inline-block;
877 border-right: 1px solid $light-grey;
878 padding-right: 6px;
94c17565
A
879}
880
881.ctrl-edit {
c69585f3 882 margin: 0 7px;
94c17565
A
883}
884
4154c25b 885.ctrl-delete {
d9bf5b31 886 margin: 0 7px 0 0;
4154c25b
A
887}
888
c69585f3 889// 64em -> lg
402b0346 890@media screen and (max-width: 64em) {
c69585f3
A
891 .linklist-item-infos-url {
892 text-align: left;
893 }
402b0346
A
894}
895
c69585f3
A
896// Footer
897.footer-container {
898 margin: 20px 0;
899 padding: 5px;
900 text-align: center;
901 color: $dark-grey;
402b0346 902
c69585f3 903 &::before {
402b0346 904 display: block;
402b0346 905 margin: 10px auto;
a5a0c039 906 background: linear-gradient(to right, var(--background-color), $dark-grey, var(--background-color));
c69585f3
A
907 width: 80%;
908 height: 1px;
909 content: '';
910 }
911
912 a {
913 color: $dark-grey;
914 }
915}
916
917// PAGE FORM
918%page-form-input {
919 margin: 10px 0;
920 border: solid 1px $form-input-border;
921 border-radius: 2px;
922 background: $form-input-background;
923 padding: 5px 5px 3px 15px;
924 width: 90%;
925 height: 35px;
926 color: $dark-grey;
927 box-sizing: border-box;
928}
929
930%page-form-button {
931 display: inline-block;
932 margin: 15px 5px;
933 border: 0;
934 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 935 background: var(--main-color);
c69585f3
A
936 min-width: 150px;
937 height: 35px;
938 vertical-align: center;
939 text-decoration: none;
940 line-height: 35px;
941 color: $almost-white;
942 font-size: 1.2em;
943 font-weight: normal;
402b0346
A
944}
945
402b0346 946.page-form {
c69585f3
A
947 margin: 20px 0 0;
948 box-shadow: 1px 1px 2px $light-grey;
949 background: $almost-white;
950 overflow: hidden;
951 color: $dark-grey;
952
953 .window-title {
954 margin: 0 0 10px;
955 background: $almost-white;
402b0346
A
956 padding: 10px 0;
957 width: 100%;
402b0346 958 text-align: center;
a5a0c039 959 color: var(--main-color);
c69585f3 960 }
402b0346 961
c69585f3 962 .window-subtitle {
402b0346 963 text-align: center;
c69585f3 964 }
402b0346 965
c69585f3 966 a {
aa4797ba 967 text-decoration: none;
a5a0c039 968 color: var(--main-color);
c69585f3 969 font-weight: bold;
402b0346 970
c69585f3
A
971 &.button {
972 @extend %page-form-button;
973 }
974 }
975
976 p {
402b0346 977 margin: 0;
c69585f3
A
978 padding: 5px 10px;
979 }
402b0346 980
c69585f3
A
981 input {
982 &[type='text'] {
983 @extend %page-form-input;
984
985 &::-webkit-input-placeholder {
986 color: $light-grey;
987 }
988 }
989
990 &[type='password'] {
991 @extend %page-form-input;
992
993 &::-webkit-input-placeholder {
994 color: $light-grey;
995 }
996 }
997
998 &[type='submit'] {
999 @extend %page-form-button;
1000 }
1001 }
1002
1003 textarea {
1004 @extend %page-form-input;
402b0346 1005
402b0346 1006 padding: 15px 5px 3px 15px;
c69585f3 1007 min-height: 240px;
402b0346
A
1008 resize: vertical;
1009 overflow-y: auto;
c69585f3
A
1010 word-wrap: break-word;
1011 }
402b0346 1012
c69585f3
A
1013 select {
1014 color: $dark-grey;
1015 }
402b0346 1016
c69585f3
A
1017 .button {
1018 &.button-red {
1019 background: $red;
1020 }
1021 }
402b0346 1022
c69585f3
A
1023 .submit-buttons {
1024 margin-bottom: 10px;
1025 }
402b0346 1026
c69585f3
A
1027 section {
1028 margin: 10px 0 25px;
1029 }
402b0346 1030
c69585f3
A
1031 table,
1032 th,
1033 td {
1034 border-width: 1px 0;
1035 border-style: solid;
1036 border-color: $light-grey;
1037 }
402b0346 1038
c69585f3
A
1039 th,
1040 td {
1041 padding: 5px;
1042 }
1043
1044 table {
1045 margin: auto;
1046 width: 90%;
1047
1048 .order {
1049 text-decoration: none;
1050 color: $dark-grey;
402b0346 1051 }
c69585f3 1052 }
402b0346 1053
c69585f3
A
1054 .awesomplete {
1055 width: 90%;
1056
1057 input {
1058 width: 100%;
1059 }
1060 }
1061
1062 div {
1063 .awesomplete {
1064 > ul {
1065 color: $black;
1066 }
402b0346 1067 }
c69585f3
A
1068 }
1069}
1070
1071@media screen and (min-width: 64em) {
1072 .page-form {
1073 .submit-buttons {
1074 position: relative;
1075
1076 .button {
1077 &.button-red {
1078 position: absolute;
1079 right: 5%;
1080 }
1081 }
1082 }
1083 }
402b0346
A
1084}
1085
1086@media screen and (max-width: 64em) {
c69585f3
A
1087 .page-form {
1088 .submit-buttons {
1089 .button {
402b0346 1090 margin: auto;
c69585f3 1091 }
402b0346 1092 }
c69585f3 1093 }
402b0346
A
1094}
1095
c69585f3
A
1096// PAGE FORM - LIGHT
1097.page-form-light {
1098 div,
1099 p {
402b0346 1100 text-align: center;
c69585f3 1101 }
402b0346
A
1102}
1103
c69585f3
A
1104// PAGE FORM - COMPLETE
1105%page-form-valign {
1106 position: absolute;
1107 top: 50%;
1108 transform: translateY(-50%);
402b0346
A
1109}
1110
c69585f3
A
1111.page-form-complete {
1112 div,
1113 p {
1114 color: $dark-grey;
1115 }
1116
1117 .form-label,
1118 .form-input {
402b0346
A
1119 position: relative;
1120 height: 60px;
c69585f3 1121 }
402b0346 1122
c69585f3
A
1123 .form-label {
1124 label {
1125 @extend %page-form-valign;
402b0346 1126
c69585f3
A
1127 right: 0;
1128 padding: 0 20px;
1129 text-align: right;
1130 }
1131 }
402b0346 1132
c69585f3 1133 .label-name {
402b0346 1134 font-weight: bold;
c69585f3 1135 }
402b0346 1136
c69585f3
A
1137 .label-desc {
1138 font-size: .8em;
1139 }
402b0346 1140
c69585f3
A
1141 .form-input {
1142 input {
1143 @extend %page-form-valign;
402b0346 1144
c69585f3
A
1145 &[type='text'],
1146 &[type='password'] {
1147 margin: 0;
1148 }
1149 }
402b0346 1150
c69585f3
A
1151 select {
1152 &.align {
1153 @extend %page-form-valign;
1154 }
1155 }
1156 }
402b0346 1157
c69585f3
A
1158 textarea {
1159 margin: 0;
1160 }
402b0346 1161
c69585f3
A
1162 .timezone {
1163 @extend %page-form-valign;
1164 }
402b0346
A
1165}
1166
c69585f3
A
1167// Awesomeplete fix
1168div {
1169 &.awesomplete {
402b0346 1170 width: inherit;
402b0346 1171
c69585f3
A
1172 > input {
1173 display: inherit;
1174 }
402b0346 1175
c69585f3
A
1176 > ul {
1177 z-index: 9999;
1178 }
1179 }
402b0346
A
1180}
1181
c69585f3
A
1182form {
1183 &[name='linkform'] {
1184 &.page-form {
1185 overflow: visible;
1186 }
1187 }
402b0346
A
1188}
1189
c69585f3
A
1190@media screen and (max-width: 64em) {
1191 %page-form-valign-mobile {
1192 position: inherit;
1193 top: inherit;
1194 transform: translateY(0);
1195 }
402b0346 1196
c69585f3
A
1197 .page-form-complete {
1198 .form-label {
1199 height: inherit;
402b0346 1200
c69585f3
A
1201 label {
1202 @extend %page-form-valign-mobile;
15162272 1203
c69585f3
A
1204 display: block;
1205 margin: 10px 0 0;
1206 text-align: left;
1207 }
402b0346
A
1208 }
1209
c69585f3
A
1210 .form-input {
1211 text-align: center;
402b0346 1212
c69585f3
A
1213 input {
1214 @extend %page-form-valign-mobile;
402b0346 1215
c69585f3
A
1216 &[type='checkbox'] {
1217 position: absolute;
1218 top: 50%;
1219 right: 50%;
1220 transform: translateY(-50%);
1221 }
1222 }
402b0346
A
1223 }
1224
c69585f3
A
1225 .timezone {
1226 @extend %page-form-valign-mobile;
402b0346
A
1227 }
1228
c69585f3
A
1229 .radio-buttons {
1230 padding: 5px 15px;
1231 text-align: left;
402b0346 1232 }
c69585f3 1233 }
402b0346 1234
c69585f3
A
1235 .timezone-continent {
1236 &::after {
1237 white-space: pre;
1238 content: '\a\a';
402b0346 1239 }
c69585f3 1240 }
402b0346
A
1241}
1242
c69585f3 1243// Page visitor (page form extended)
402b0346 1244.page-visitor {
c69585f3 1245 color: $dark-grey;
402b0346
A
1246}
1247
dd51f653 1248.page-error-container {
c69585f3 1249 color: $dark-grey;
6c50a6cc
A
1250
1251 h2 {
dd51f653 1252 margin: 70px 0 25px;
6c50a6cc
A
1253 }
1254
1255 pre {
6c50a6cc
A
1256 margin: 0 20%;
1257 padding: 20px 0;
dd51f653
A
1258 text-align: left;
1259 line-height: .7em;
6c50a6cc 1260 }
402b0346
A
1261}
1262
c69585f3
A
1263// EDIT LINK
1264.edit-link-container {
1265 .created-date {
807cade6 1266 margin-bottom: 10px;
c69585f3
A
1267 color: $light-grey;
1268 }
807cade6
A
1269}
1270
c69585f3
A
1271// LOGIN
1272.login-form-container {
1273 .remember-me {
402b0346 1274 margin: 5px 0;
c69585f3 1275 }
402b0346
A
1276}
1277
c69585f3
A
1278// Search results
1279.search-result {
1280 a {
402b0346 1281 text-decoration: none;
c69585f3
A
1282 color: $white;
1283 }
402b0346 1284
c69585f3
A
1285 .label-tag {
1286 border-color: $white;
402b0346 1287
c69585f3
A
1288 .remove {
1289 margin: 0 0 0 5px;
1290 border-left: $white 1px solid;
1291 padding: 0 0 0 5px;
1292 }
1293 }
402b0346 1294
c69585f3
A
1295 .label-private {
1296 border: 1px solid $white;
1297 }
7c26f662
A
1298}
1299
c69585f3 1300// TOOLS
402b0346 1301.tools-item {
c69585f3 1302 margin: 10px 0;
402b0346 1303
c69585f3
A
1304 .pure-button {
1305 &:hover {
a5a0c039 1306 background-color: var(--main-color);
c69585f3
A
1307 background-image: none;
1308 color: $almost-white;
1309 }
1310 }
402b0346
A
1311}
1312
c69585f3
A
1313// PLUGIN ADMIN
1314.pluginform-container {
1315 .mobile-row {
1316 font-size: .9em;
1317 }
402b0346 1318
c69585f3 1319 .more {
402b0346 1320 margin-top: 10px;
c69585f3 1321 }
402b0346
A
1322}
1323
1324@media screen and (max-width: 64em) {
c69585f3
A
1325 .pluginform-container {
1326 .main-row {
1327 border-top-style: none;
1328 border-bottom-style: none;
402b0346 1329
c69585f3 1330 td {
402b0346 1331 border-top-style: none;
c69585f3
A
1332 border-bottom-style: none;
1333 }
402b0346 1334 }
c69585f3 1335 }
402b0346
A
1336}
1337
c69585f3
A
1338// IMPORT
1339.import-field-container {
1340 margin: 15px 0;
402b0346
A
1341}
1342
c69585f3
A
1343// TAG CLOUD
1344.cloudtag-container {
1345 padding: 10px;
1346 text-align: center;
1347 text-decoration: none;
1348 color: $dark-grey;
402b0346 1349
c69585f3 1350 a {
402b0346 1351 text-decoration: none;
c69585f3
A
1352 color: $dark-grey;
1353 }
402b0346 1354
c69585f3
A
1355 .count {
1356 color: $light-grey;
1357 }
402b0346
A
1358}
1359
c69585f3
A
1360// TAG LIST
1361.taglist-container {
1362 padding: 0 10px;
aa4797ba 1363
c69585f3 1364 a {
aa4797ba 1365 text-decoration: none;
c69585f3
A
1366 color: $dark-grey;
1367 }
aa4797ba 1368
c69585f3 1369 .count {
aa4797ba
A
1370 display: inline-block;
1371 width: 35px;
1372 text-align: right;
c69585f3
A
1373 color: $light-grey;
1374 }
aa4797ba 1375
c69585f3 1376 .rename-tag-form {
82e3bb5f 1377 display: none;
c69585f3 1378 }
82e3bb5f 1379
c69585f3 1380 .delete-tag {
aa4797ba 1381 display: none;
c69585f3
A
1382 color: $red;
1383 }
1384
1385 .rename-tag {
1386 color: $blue;
1387 }
1388
1389 .validate-rename-tag {
a5a0c039 1390 color: var(--main-color);
c69585f3
A
1391 }
1392}
1393
1394// Picture wall CSS
1395.picwall-container {
1396 clear: both;
1397 margin: 0 10px 10px;
1398 background-color: $almost-white;
1399 color: $dark-grey;
1400}
1401
1402.picwall-pictureframe {
1403 display: table-cell;
1404 position: relative;
1405 float: left;
1406 z-index: 5;
1407 margin: 2px;
1408 background-color: $almost-white;
1409 width: 90px;
1410 height: 90px;
1411 overflow: hidden;
1412 vertical-align: middle;
1413 text-align: center;
1414
1415 // Adapt the width of the image
1416 img {
402b0346
A
1417 max-width: 100%;
1418 height: auto;
1419 color: transparent;
c69585f3 1420 }
402b0346 1421
c69585f3 1422 a {
402b0346 1423 text-decoration: none;
c69585f3 1424 }
402b0346 1425
c69585f3
A
1426 span {
1427 &.info {
1428 display: none;
1429 font-family: Arial, sans-serif;
1430 }
1431 }
1432
1433 // CSS to show title when hovering an image - no javascript required.
1434 &:hover {
1435 span {
1436 &.info {
1437 display: block;
1438 position: absolute;
1439 top: 0;
1440 left: 0;
1441 background-color: $dark-shadow;
1442 width: 90px;
1443 height: 90px;
1444 text-align: left;
1445 color: $almost-white;
1446 font-size: 9pt;
1447 font-weight: bold;
1448 }
1449 }
1450 }
402b0346
A
1451}
1452
c69585f3
A
1453.b-lazy {
1454 transition: opacity 500ms ease-in-out;
1455 opacity: 0;
1456 -webkit-transition: opacity 500ms ease-in-out;
1457 -moz-transition: opacity 500ms ease-in-out;
1458 -o-transition: opacity 500ms ease-in-out;
b5e2b23c
A
1459 min-width: 1px;
1460 min-height: 1px;
c69585f3
A
1461
1462 &.b-loaded {
1463 opacity: 1;
1464 }
402b0346
A
1465}
1466
c69585f3 1467// DAILY
402b0346 1468.daily-desc {
c69585f3
A
1469 color: $light-grey;
1470 font-size: .8em;
402b0346 1471
c69585f3 1472 a {
402b0346 1473 text-decoration: none;
c69585f3 1474 color: $dark-grey;
402b0346 1475
c69585f3
A
1476 &:hover {
1477 color: $light-grey;
1478 }
1479 }
1480}
1481
1482.daily-about {
1483 h3 {
1484 &::before,
1485 &::after {
1486 display: block;
1487 margin: 10px auto;
a5a0c039 1488 background: linear-gradient(to right, var(--background-color), $dark-grey, var(--background-color));
c69585f3
A
1489 width: 90%;
1490 height: 1px;
1491 content: '';
1492 }
1493 }
402b0346
A
1494}
1495
1496.daily-entry {
c69585f3 1497 padding: 0 10px;
402b0346 1498
c69585f3
A
1499 .daily-entry-title {
1500 margin: 10px 0 0;
402b0346 1501
c69585f3
A
1502 a {
1503 text-decoration: none;
1504 color: $black;
1505 }
402b0346 1506
c69585f3
A
1507 &::after {
1508 display: block;
1509 margin: 5px auto;
1510 background: linear-gradient(to right, $white, $light-grey, $white);
1511 width: 70%;
1512 height: 1px;
1513 content: '';
1514 }
1515 }
402b0346 1516
c69585f3
A
1517 .daily-entry-description {
1518 padding: 5px 5px 0;
402b0346 1519 text-align: justify;
c69585f3 1520 font-size: .9em;
402b0346 1521 word-wrap: break-word;
c69585f3 1522 }
402b0346 1523
c69585f3
A
1524 .daily-entry-tags {
1525 padding: 0 5px 5px;
1526 font-size: .8em;
1527 }
402b0346
A
1528}
1529
1530.daily-entry-thumbnail {
c69585f3
A
1531 float: left;
1532 margin: 15px 5px 5px 15px;
402b0346
A
1533}
1534
c69585f3
A
1535.daily-entry-description {
1536 a {
402b0346 1537 text-decoration: none;
a5a0c039 1538 color: var(--main-color);
402b0346 1539
c69585f3
A
1540 &:hover {
1541 text-shadow: 1px 1px $background-linklist-info;
1542 }
402b0346 1543
c69585f3 1544 &:visited {
a5a0c039 1545 color: var(--dark-main-color);
c69585f3
A
1546 }
1547 }
402b0346 1548}
70401690 1549
c69585f3 1550// Fix empty bookmarklet name in Firefox
70401690 1551.pure-button {
c69585f3 1552 -moz-user-select: auto;
70401690 1553}
aa4797ba
A
1554
1555.tag-sort {
c69585f3
A
1556 margin-top: 30px;
1557 text-align: center;
aa4797ba 1558
c69585f3 1559 a {
aa4797ba
A
1560 display: inline-block;
1561 margin: 0 15px;
aa4797ba 1562 text-decoration: none;
c69585f3 1563 color: $white;
aa4797ba 1564 font-weight: bold;
c69585f3 1565 }
aa4797ba 1566}
94c17565 1567
c69585f3
A
1568// Markdown
1569.markdown {
1570 p {
94c17565 1571 margin: 0 !important;
c69585f3 1572 }
94c17565 1573
c69585f3
A
1574 p + p {
1575 margin: .5em 0 0 !important;
1576 }
94c17565 1577
c69585f3
A
1578 * {
1579 &:first-child {
1580 margin-top: 0 !important;
1581 }
94c17565 1582
c69585f3
A
1583 &:last-child {
1584 margin-bottom: 5px !important;
1585 }
1586 }
055ce4bd
A
1587}
1588
c69585f3 1589// Pure Button
055ce4bd
A
1590.pure-button-success,
1591.pure-button-error,
1592.pure-button-warning,
1593.pure-button-primary,
1594.pure-button-shaarli,
1595.pure-button-secondary {
c69585f3
A
1596 border-radius: 4px;
1597 text-shadow: 0 1px 1px $dark-shadow;
1598 color: $white !important;
055ce4bd
A
1599}
1600
1601.pure-button-shaarli {
a5a0c039 1602 background-color: var(--main-color);
055ce4bd 1603}
28f26524
A
1604
1605.progressbar {
1606 border-radius: 6px;
a5a0c039 1607 background-color: var(--main-color);
28f26524
A
1608 padding: 1px;
1609
1610 > div {
1611 border-radius: 10px;
1612 background: repeating-linear-gradient(
1613 -45deg,
1614 $almost-white,
1615 $almost-white 6px,
a5a0c039
A
1616 var(--background-color) 6px,
1617 var(--background-color) 12px
28f26524
A
1618 );
1619 width: 0%;
1620 height: 10px;
1621 }
1622}
1623
1624.thumbnails-page-container {
1625 .progress-counter {
1626 padding: 10px 0 20px;
1627 }
1628
1629 .thumbnail-placeholder {
1630 margin: 10px auto;
1631 background-color: $light-grey;
1632 }
1633
1634 .thumbnail-link-title {
1635 padding-bottom: 20px;
1636 overflow: hidden;
1637 text-overflow: ellipsis;
1638 white-space: nowrap;
1639 }
1640}
374f89e7
A
1641
1642// Print rules
1643@media print {
1644 .shaarli-menu {
1645 position: absolute;
1646 }
1647
1648 .search-linklist,
1649 .link-count-block,
1650 .linklist-item-infos-controls-group,
1651 .mobile-buttons {
1652 display: none;
1653 }
1654}