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