]> git.immae.eu Git - github/shaarli/Shaarli.git/blame - assets/default/scss/shaarli.scss
Add a page to update all thumbnails through AJAX requests in both templates
[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;
384 width: 20%;
385 height: 20px;
386 color: $dark-grey;
70401690
A
387}
388
402b0346 389.subheader-form {
c69585f3
A
390 display: block;
391 position: fixed;
392 visibility: hidden;
393 z-index: 999;
394 background: $main-green;
395 padding: 5px 0;
396 width: 100%;
397 height: 30px;
398 text-align: center;
399
400 input {
401 &[type='text'],
402 &[type='password'] {
403 @extend %subheader-form-input;
404
405 &::-webkit-input-placeholder {
406 color: $dark-grey;
407 }
402b0346 408 }
c69585f3 409 }
402b0346 410
c69585f3
A
411 &[type='submit'] {
412 display: inline-block;
413 margin: 0 0 5px;
414 border: 1px solid $almost-white;
402b0346 415 border-radius: 2px;
c69585f3
A
416 background: $main-green;
417 padding: 4px 0;
418 width: 100px;
419 height: 28px;
420 color: $almost-white;
402b0346 421
c69585f3
A
422 &:hover {
423 background: $almost-white;
424 color: $main-green;
425 }
426 }
427
428 .remember-me {
429 @extend %subheader-form-input;
402b0346 430
402b0346 431 display: inline-block;
402b0346 432 cursor: pointer;
c69585f3
A
433 padding: 5px 20px 3px;
434 width: auto;
402b0346 435
c69585f3
A
436 label,
437 input {
438 cursor: pointer;
439 }
440 }
441
442 a {
443 &.button {
444 border: 2px solid $almost-white;
445 border-radius: 5px;
446 padding: 3px 10px;
447 text-decoration: none;
448 color: $almost-white;
449 font-weight: bold;
450 }
451 }
402b0346
A
452}
453
c69585f3
A
454.header-login-form {
455 input {
456 &[type='text'],
457 &[type='password'] {
458 width: 200px;
459
460 // because chrome
461 &::-webkit-input-placeholder {
462 color: $light-grey;
463 }
464 }
465 }
402b0346
A
466}
467
c69585f3
A
468@media screen and (min-width: 64em) {
469 .subheader-form {
470 &.open {
471 visibility: visible;
472
473 * {
474 visibility: visible;
475 }
476 }
477 }
402b0346
A
478}
479
480.new-version-message {
c69585f3 481 text-align: center;
402b0346 482
c69585f3
A
483 a {
484 color: $warning-text;
402b0346 485 font-weight: bold;
c69585f3 486 }
402b0346
A
487}
488
c69585f3
A
489// CONTENT - GENERAL
490.container {
491 position: relative;
492 z-index: 2;
493 margin-top: 45px;
402b0346
A
494}
495
c69585f3 496// Plugins additional forms
402b0346 497.toolbar-plugin {
c69585f3
A
498 margin: 5px 0;
499 text-align: center;
500
501 input {
502 &[type='text'] {
503 border: medium none currentColor;
504 border-radius: 2px;
505 box-shadow: 0 1px 0 $light-shadow, 0 1px 1px $dark-shadow inset;
506 background: $almost-white;
507 padding: 0 5px;
508 width: 300px;
509 height: 30px;
510 color: $dark-grey;
511
512 &::-webkit-input-placeholder {
513 color: $light-grey;
514 }
515 }
402b0346 516
c69585f3
A
517 &[type='submit'] {
518 border: medium none currentColor;
519 border-radius: 2px;
520 background: $almost-white;
521 padding: 0 10px;
522 height: 30px;
523 color: $dark-grey;
524
525 &:hover {
526 background: $white;
527 }
528 }
529 }
70401690
A
530}
531
402b0346 532@media screen and (max-width: 64em) {
c69585f3
A
533 .toolbar-plugin {
534 input {
535 &[type='text'] {
402b0346 536 width: 70%;
c69585f3 537 }
402b0346 538 }
c69585f3 539 }
402b0346
A
540}
541
c69585f3
A
542// CONTENT - LINKLIST PAGING
543// 64em -> lg
402b0346 544.linklist-filters {
c69585f3
A
545 margin: 5px 0;
546 color: $dark-grey;
547 font-size: .9em;
402b0346 548
c69585f3 549 a {
402b0346
A
550 padding: 5px 8px;
551 text-decoration: none;
c69585f3 552 }
402b0346 553
c69585f3
A
554 .filter-off {
555 background: $almost-white;
556 color: $dark-grey;
557 }
402b0346 558
c69585f3
A
559 .filter-on {
560 background: $main-green;
561 color: $light-green;
562 }
402b0346 563
c69585f3
A
564 .filter-block {
565 background: $red;
566 color: $almost-white;
567 }
9d4736a3
A
568}
569
402b0346 570.linklist-pages {
c69585f3
A
571 margin: 5px 0;
572 text-align: center;
573 color: $dark-grey;
402b0346 574
c69585f3 575 a {
402b0346 576 text-decoration: none;
c69585f3
A
577 color: $dark-grey;
578
579 &:hover {
580 color: $white;
581 }
582 }
402b0346
A
583}
584
c69585f3
A
585%linksperpage-button {
586 display: inline-block;
587 width: 20px;
588 text-align: center;
402b0346
A
589}
590
591.linksperpage {
c69585f3
A
592 margin: 5px 0;
593 text-align: right;
594 color: $dark-grey;
595 font-size: .9em;
402b0346 596
c69585f3
A
597 form {
598 display: inline;
599 }
402b0346 600
c69585f3
A
601 a {
602 @extend %linksperpage-button;
402b0346 603
c69585f3
A
604 background: $almost-white;
605 padding: 5px;
606 text-decoration: none;
607 color: $dark-grey;
608 }
609
610 input {
611 &[type='text'] {
612 @extend %linksperpage-button;
613
614 margin: 0;
615 border: medium none currentColor;
616 background: $almost-white;
617 padding: 4px 5px 3px 8px;
618 height: 20px;
619 color: $dark-grey;
620 font-size: .8em;
621 }
622 }
402b0346
A
623}
624
c69585f3
A
625// CONTENT - LINKLIST ITEMS
626%private-border {
627 display: block;
628 position: absolute;
629 top: 0;
630 left: 3px;
631 z-index: 1;
632 background: $orange;
633 width: 2px;
634 height: 96%;
635 content: '';
402b0346
A
636}
637
402b0346 638.linklist-item {
c69585f3
A
639 margin: 0 0 10px;
640 box-shadow: 1px 1px 3px $light-grey;
641 background: $almost-white;
642
643 &.private {
644 .linklist-item-title {
645 &::before {
646 @extend %private-border;
647 margin-top: 3px;
648 }
649 }
650
651 .linklist-item-description {
652 &::before {
653 @extend %private-border;
654 height: 100%;
655 }
656 }
657 }
94c17565
A
658}
659
660.linklist-item-buttons {
c69585f3
A
661 position: relative;
662 z-index: 99;
663 background: transparent;
664 width: 23px;
94c17565
A
665}
666
667.linklist-item-buttons-right {
c69585f3
A
668 float: right;
669 margin-right: -25px;
94c17565
A
670}
671
672.linklist-item-buttons * {
c69585f3
A
673 display: block;
674 float: left;
675 margin: auto;
676 width: 100%;
677 text-align: center;
402b0346
A
678}
679
680.linklist-item-title {
c69585f3
A
681 position: relative;
682 margin: 0;
683 background: $almost-white;
684 word-wrap: break-word;
402b0346 685
c69585f3
A
686 h2 {
687 margin: 0;
688 padding: 3px 10px 0;
402b0346 689 line-height: 30px;
c69585f3 690 word-wrap: break-word;
402b0346 691
c69585f3
A
692 a {
693 vertical-align: middle;
694 text-decoration: none;
695 color: $dark-grey;
696 font-size: .7em;
697
698 &:visited {
699 .linklist-link {
700 color: $dark-green;
701 }
702 }
703
704 &:hover {
705 color: $dark-grey;
706 }
707 }
708 }
402b0346 709
c69585f3
A
710 .linklist-link {
711 color: $main-green;
402b0346 712 font-size: 1.1em;
402b0346 713
c69585f3
A
714 &:hover {
715 color: $dark-grey;
716 }
717 }
402b0346 718
c69585f3
A
719 .label-private {
720 border: solid 1px $orange;
721 color: $orange;
402b0346 722 font-family: Arial, sans-serif;
c69585f3
A
723 font-size: .65em;
724 }
402b0346
A
725}
726
94c17565 727.fold-button {
c69585f3
A
728 display: none;
729 color: $dark-grey;
402b0346
A
730}
731
732.linklist-item-editbuttons {
c69585f3
A
733 float: right;
734 padding: 8px 5px;
402b0346 735
c69585f3 736 * {
402b0346
A
737 display: block;
738 float: left;
739 margin: 0 1px;
c69585f3 740 }
402b0346 741
c69585f3 742 a {
402b0346 743 font-size: 1em;
c69585f3
A
744 }
745
746 .delete-checkbox {
747 display: none;
748 }
402b0346
A
749}
750
751.edit-link {
c69585f3
A
752 color: $blue;
753 font-size: 1.2em;
402b0346
A
754}
755
756.delete-link {
c69585f3
A
757 color: $red !important;
758 font-size: 1.3em;
402b0346
A
759}
760
761.linklist-item-description {
c69585f3
A
762 position: relative;
763 padding: 0 10px;
764 line-height: 1.3em;
765 color: $dark-grey;
766 word-wrap: break-word;
402b0346 767
c69585f3 768 a {
402b0346 769 text-decoration: none;
c69585f3 770 color: $main-green;
402b0346 771
c69585f3
A
772 &:hover {
773 color: $dark-grey;
774 }
402b0346 775
c69585f3
A
776 &:visited {
777 color: $dark-green;
778 }
779 }
402b0346
A
780}
781
782.linklist-item-thumbnail {
c69585f3
A
783 position: relative;
784 float: right;
785 z-index: 50;
786 margin: 0;
787 padding: 0 0 0 5px;
788 height: 90px;
402b0346
A
789}
790
791.linklist-item-infos {
c69585f3
A
792 background: $background-linklist-info;
793 padding: 4px 8px;
794 color: $dark-grey;
402b0346 795
c69585f3 796 a {
402b0346 797 text-decoration: none;
c69585f3 798 color: $dark-grey;
402b0346 799
c69585f3
A
800 &:hover {
801 color: $black;
802 }
803 }
402b0346 804
c69585f3
A
805 .linklist-item-tags {
806 font-size: .8em;
807 }
402b0346 808
c69585f3 809 .label-tag {
402b0346 810 font-size: 1em;
c69585f3
A
811 }
812
813 .mobile-buttons {
814 text-align: right;
815 }
816
817 .linklist-plugin-icon {
818 display: inline-block;
819 margin: 0 2px;
820 width: 16px;
821 height: 16px;
822 }
402b0346
A
823}
824
825.linklist-item-infos-dateblock {
c69585f3 826 font-size: .9em;
402b0346
A
827}
828
829.linklist-plugin-icon {
c69585f3
A
830 width: 13px;
831 height: 13px;
402b0346
A
832}
833
834.linklist-item-infos-url {
c69585f3
A
835 height: 23px;
836 overflow: hidden;
837 text-align: right;
838 text-overflow: ellipsis;
839 line-height: 23px;
840 white-space: nowrap;
841 font-size: .8em;
402b0346
A
842}
843
94c17565 844.linklist-item-infos-controls-group {
c69585f3
A
845 display: inline-block;
846 border-right: 1px solid $light-grey;
847 padding-right: 6px;
94c17565
A
848}
849
850.ctrl-edit {
c69585f3 851 margin: 0 7px;
94c17565
A
852}
853
c69585f3 854// 64em -> lg
402b0346 855@media screen and (max-width: 64em) {
c69585f3
A
856 .linklist-item-infos-url {
857 text-align: left;
858 }
402b0346
A
859}
860
c69585f3
A
861// Footer
862.footer-container {
863 margin: 20px 0;
864 padding: 5px;
865 text-align: center;
866 color: $dark-grey;
402b0346 867
c69585f3 868 &::before {
402b0346 869 display: block;
402b0346 870 margin: 10px auto;
c69585f3
A
871 background: linear-gradient(to right, $background-color, $dark-grey, $background-color);
872 width: 80%;
873 height: 1px;
874 content: '';
875 }
876
877 a {
878 color: $dark-grey;
879 }
880}
881
882// PAGE FORM
883%page-form-input {
884 margin: 10px 0;
885 border: solid 1px $form-input-border;
886 border-radius: 2px;
887 background: $form-input-background;
888 padding: 5px 5px 3px 15px;
889 width: 90%;
890 height: 35px;
891 color: $dark-grey;
892 box-sizing: border-box;
893}
894
895%page-form-button {
896 display: inline-block;
897 margin: 15px 5px;
898 border: 0;
899 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;
900 background: $main-green;
901 min-width: 150px;
902 height: 35px;
903 vertical-align: center;
904 text-decoration: none;
905 line-height: 35px;
906 color: $almost-white;
907 font-size: 1.2em;
908 font-weight: normal;
402b0346
A
909}
910
402b0346 911.page-form {
c69585f3
A
912 margin: 20px 0 0;
913 box-shadow: 1px 1px 2px $light-grey;
914 background: $almost-white;
915 overflow: hidden;
916 color: $dark-grey;
917
918 .window-title {
919 margin: 0 0 10px;
920 background: $almost-white;
402b0346
A
921 padding: 10px 0;
922 width: 100%;
402b0346 923 text-align: center;
c69585f3
A
924 color: $main-green;
925 }
402b0346 926
c69585f3 927 .window-subtitle {
402b0346 928 text-align: center;
c69585f3 929 }
402b0346 930
c69585f3 931 a {
aa4797ba 932 text-decoration: none;
c69585f3
A
933 color: $main-green;
934 font-weight: bold;
402b0346 935
c69585f3
A
936 &.button {
937 @extend %page-form-button;
938 }
939 }
940
941 p {
402b0346 942 margin: 0;
c69585f3
A
943 padding: 5px 10px;
944 }
402b0346 945
c69585f3
A
946 input {
947 &[type='text'] {
948 @extend %page-form-input;
949
950 &::-webkit-input-placeholder {
951 color: $light-grey;
952 }
953 }
954
955 &[type='password'] {
956 @extend %page-form-input;
957
958 &::-webkit-input-placeholder {
959 color: $light-grey;
960 }
961 }
962
963 &[type='submit'] {
964 @extend %page-form-button;
965 }
966 }
967
968 textarea {
969 @extend %page-form-input;
402b0346 970
402b0346 971 padding: 15px 5px 3px 15px;
c69585f3 972 min-height: 240px;
402b0346
A
973 resize: vertical;
974 overflow-y: auto;
c69585f3
A
975 word-wrap: break-word;
976 }
402b0346 977
c69585f3
A
978 select {
979 color: $dark-grey;
980 }
402b0346 981
c69585f3
A
982 .button {
983 &.button-red {
984 background: $red;
985 }
986 }
402b0346 987
c69585f3
A
988 .submit-buttons {
989 margin-bottom: 10px;
990 }
402b0346 991
c69585f3
A
992 section {
993 margin: 10px 0 25px;
994 }
402b0346 995
c69585f3
A
996 table,
997 th,
998 td {
999 border-width: 1px 0;
1000 border-style: solid;
1001 border-color: $light-grey;
1002 }
402b0346 1003
c69585f3
A
1004 th,
1005 td {
1006 padding: 5px;
1007 }
1008
1009 table {
1010 margin: auto;
1011 width: 90%;
1012
1013 .order {
1014 text-decoration: none;
1015 color: $dark-grey;
402b0346 1016 }
c69585f3 1017 }
402b0346 1018
c69585f3
A
1019 .awesomplete {
1020 width: 90%;
1021
1022 input {
1023 width: 100%;
1024 }
1025 }
1026
1027 div {
1028 .awesomplete {
1029 > ul {
1030 color: $black;
1031 }
402b0346 1032 }
c69585f3
A
1033 }
1034}
1035
1036@media screen and (min-width: 64em) {
1037 .page-form {
1038 .submit-buttons {
1039 position: relative;
1040
1041 .button {
1042 &.button-red {
1043 position: absolute;
1044 right: 5%;
1045 }
1046 }
1047 }
1048 }
402b0346
A
1049}
1050
1051@media screen and (max-width: 64em) {
c69585f3
A
1052 .page-form {
1053 .submit-buttons {
1054 .button {
402b0346
A
1055 display: block;
1056 margin: auto;
c69585f3 1057 }
402b0346 1058 }
c69585f3 1059 }
402b0346
A
1060}
1061
c69585f3
A
1062// PAGE FORM - LIGHT
1063.page-form-light {
1064 div,
1065 p {
402b0346 1066 text-align: center;
c69585f3 1067 }
402b0346
A
1068}
1069
c69585f3
A
1070// PAGE FORM - COMPLETE
1071%page-form-valign {
1072 position: absolute;
1073 top: 50%;
1074 transform: translateY(-50%);
402b0346
A
1075}
1076
c69585f3
A
1077.page-form-complete {
1078 div,
1079 p {
1080 color: $dark-grey;
1081 }
1082
1083 .form-label,
1084 .form-input {
402b0346
A
1085 position: relative;
1086 height: 60px;
c69585f3 1087 }
402b0346 1088
c69585f3
A
1089 .form-label {
1090 label {
1091 @extend %page-form-valign;
402b0346 1092
c69585f3
A
1093 right: 0;
1094 padding: 0 20px;
1095 text-align: right;
1096 }
1097 }
402b0346 1098
c69585f3 1099 .label-name {
402b0346 1100 font-weight: bold;
c69585f3 1101 }
402b0346 1102
c69585f3
A
1103 .label-desc {
1104 font-size: .8em;
1105 }
402b0346 1106
c69585f3
A
1107 .form-input {
1108 input {
1109 @extend %page-form-valign;
402b0346 1110
c69585f3
A
1111 &[type='text'],
1112 &[type='password'] {
1113 margin: 0;
1114 }
1115 }
402b0346 1116
c69585f3
A
1117 select {
1118 &.align {
1119 @extend %page-form-valign;
1120 }
1121 }
1122 }
402b0346 1123
c69585f3
A
1124 textarea {
1125 margin: 0;
1126 }
402b0346 1127
c69585f3
A
1128 .timezone {
1129 @extend %page-form-valign;
1130 }
402b0346
A
1131}
1132
c69585f3
A
1133// Awesomeplete fix
1134div {
1135 &.awesomplete {
402b0346 1136 width: inherit;
402b0346 1137
c69585f3
A
1138 > input {
1139 display: inherit;
1140 }
402b0346 1141
c69585f3
A
1142 > ul {
1143 z-index: 9999;
1144 }
1145 }
402b0346
A
1146}
1147
c69585f3
A
1148form {
1149 &[name='linkform'] {
1150 &.page-form {
1151 overflow: visible;
1152 }
1153 }
402b0346
A
1154}
1155
c69585f3
A
1156@media screen and (max-width: 64em) {
1157 %page-form-valign-mobile {
1158 position: inherit;
1159 top: inherit;
1160 transform: translateY(0);
1161 }
402b0346 1162
c69585f3
A
1163 .page-form-complete {
1164 .form-label {
1165 height: inherit;
402b0346 1166
c69585f3
A
1167 label {
1168 @extend %page-form-valign-mobile;
15162272 1169
c69585f3
A
1170 display: block;
1171 margin: 10px 0 0;
1172 text-align: left;
1173 }
402b0346
A
1174 }
1175
c69585f3
A
1176 .form-input {
1177 text-align: center;
402b0346 1178
c69585f3
A
1179 input {
1180 @extend %page-form-valign-mobile;
402b0346 1181
c69585f3
A
1182 &[type='checkbox'] {
1183 position: absolute;
1184 top: 50%;
1185 right: 50%;
1186 transform: translateY(-50%);
1187 }
1188 }
402b0346
A
1189 }
1190
c69585f3
A
1191 .timezone {
1192 @extend %page-form-valign-mobile;
402b0346
A
1193 }
1194
c69585f3
A
1195 .radio-buttons {
1196 padding: 5px 15px;
1197 text-align: left;
402b0346 1198 }
c69585f3 1199 }
402b0346 1200
c69585f3
A
1201 .timezone-continent {
1202 &::after {
1203 white-space: pre;
1204 content: '\a\a';
402b0346 1205 }
c69585f3 1206 }
402b0346
A
1207}
1208
c69585f3 1209// Page visitor (page form extended)
402b0346 1210.page-visitor {
c69585f3 1211 color: $dark-grey;
402b0346
A
1212}
1213
c69585f3
A
1214.page404-container {
1215 color: $dark-grey;
402b0346
A
1216}
1217
c69585f3
A
1218// EDIT LINK
1219.edit-link-container {
1220 .created-date {
807cade6 1221 margin-bottom: 10px;
c69585f3
A
1222 color: $light-grey;
1223 }
807cade6
A
1224}
1225
c69585f3
A
1226// LOGIN
1227.login-form-container {
1228 .remember-me {
402b0346 1229 margin: 5px 0;
c69585f3 1230 }
402b0346
A
1231}
1232
c69585f3
A
1233// Search results
1234.search-result {
1235 a {
402b0346 1236 text-decoration: none;
c69585f3
A
1237 color: $white;
1238 }
402b0346 1239
c69585f3
A
1240 .label-tag {
1241 border-color: $white;
402b0346 1242
c69585f3
A
1243 .remove {
1244 margin: 0 0 0 5px;
1245 border-left: $white 1px solid;
1246 padding: 0 0 0 5px;
1247 }
1248 }
402b0346 1249
c69585f3
A
1250 .label-private {
1251 border: 1px solid $white;
1252 }
7c26f662
A
1253}
1254
c69585f3 1255// TOOLS
402b0346 1256.tools-item {
c69585f3 1257 margin: 10px 0;
402b0346 1258
c69585f3
A
1259 .pure-button {
1260 &:hover {
1261 background-color: $main-green;
1262 background-image: none;
1263 color: $almost-white;
1264 }
1265 }
402b0346
A
1266}
1267
c69585f3
A
1268// PLUGIN ADMIN
1269.pluginform-container {
1270 .mobile-row {
1271 font-size: .9em;
1272 }
402b0346 1273
c69585f3 1274 .more {
402b0346 1275 margin-top: 10px;
c69585f3 1276 }
402b0346
A
1277}
1278
1279@media screen and (max-width: 64em) {
c69585f3
A
1280 .pluginform-container {
1281 .main-row {
1282 border-top-style: none;
1283 border-bottom-style: none;
402b0346 1284
c69585f3 1285 td {
402b0346 1286 border-top-style: none;
c69585f3
A
1287 border-bottom-style: none;
1288 }
402b0346 1289 }
c69585f3 1290 }
402b0346
A
1291}
1292
c69585f3
A
1293// IMPORT
1294.import-field-container {
1295 margin: 15px 0;
402b0346
A
1296}
1297
c69585f3
A
1298// TAG CLOUD
1299.cloudtag-container {
1300 padding: 10px;
1301 text-align: center;
1302 text-decoration: none;
1303 color: $dark-grey;
402b0346 1304
c69585f3 1305 a {
402b0346 1306 text-decoration: none;
c69585f3
A
1307 color: $dark-grey;
1308 }
402b0346 1309
c69585f3
A
1310 .count {
1311 color: $light-grey;
1312 }
402b0346
A
1313}
1314
c69585f3
A
1315// TAG LIST
1316.taglist-container {
1317 padding: 0 10px;
aa4797ba 1318
c69585f3 1319 a {
aa4797ba 1320 text-decoration: none;
c69585f3
A
1321 color: $dark-grey;
1322 }
aa4797ba 1323
c69585f3 1324 .count {
aa4797ba
A
1325 display: inline-block;
1326 width: 35px;
1327 text-align: right;
c69585f3
A
1328 color: $light-grey;
1329 }
aa4797ba 1330
c69585f3 1331 .rename-tag-form {
82e3bb5f 1332 display: none;
c69585f3 1333 }
82e3bb5f 1334
c69585f3 1335 .delete-tag {
aa4797ba 1336 display: none;
c69585f3
A
1337 color: $red;
1338 }
1339
1340 .rename-tag {
1341 color: $blue;
1342 }
1343
1344 .validate-rename-tag {
1345 color: $main-green;
1346 }
1347}
1348
1349// Picture wall CSS
1350.picwall-container {
1351 clear: both;
1352 margin: 0 10px 10px;
1353 background-color: $almost-white;
1354 color: $dark-grey;
1355}
1356
1357.picwall-pictureframe {
1358 display: table-cell;
1359 position: relative;
1360 float: left;
1361 z-index: 5;
1362 margin: 2px;
1363 background-color: $almost-white;
1364 width: 90px;
1365 height: 90px;
1366 overflow: hidden;
1367 vertical-align: middle;
1368 text-align: center;
1369
1370 // Adapt the width of the image
1371 img {
402b0346
A
1372 max-width: 100%;
1373 height: auto;
1374 color: transparent;
c69585f3 1375 }
402b0346 1376
c69585f3 1377 a {
402b0346 1378 text-decoration: none;
c69585f3 1379 }
402b0346 1380
c69585f3
A
1381 span {
1382 &.info {
1383 display: none;
1384 font-family: Arial, sans-serif;
1385 }
1386 }
1387
1388 // CSS to show title when hovering an image - no javascript required.
1389 &:hover {
1390 span {
1391 &.info {
1392 display: block;
1393 position: absolute;
1394 top: 0;
1395 left: 0;
1396 background-color: $dark-shadow;
1397 width: 90px;
1398 height: 90px;
1399 text-align: left;
1400 color: $almost-white;
1401 font-size: 9pt;
1402 font-weight: bold;
1403 }
1404 }
1405 }
402b0346
A
1406}
1407
c69585f3
A
1408.b-lazy {
1409 transition: opacity 500ms ease-in-out;
1410 opacity: 0;
1411 -webkit-transition: opacity 500ms ease-in-out;
1412 -moz-transition: opacity 500ms ease-in-out;
1413 -o-transition: opacity 500ms ease-in-out;
1414
1415 &.b-loaded {
1416 opacity: 1;
1417 }
402b0346
A
1418}
1419
c69585f3 1420// DAILY
402b0346 1421.daily-desc {
c69585f3
A
1422 color: $light-grey;
1423 font-size: .8em;
402b0346 1424
c69585f3 1425 a {
402b0346 1426 text-decoration: none;
c69585f3 1427 color: $dark-grey;
402b0346 1428
c69585f3
A
1429 &:hover {
1430 color: $light-grey;
1431 }
1432 }
1433}
1434
1435.daily-about {
1436 h3 {
1437 &::before,
1438 &::after {
1439 display: block;
1440 margin: 10px auto;
1441 background: linear-gradient(to right, $background-color, $dark-grey, $background-color);
1442 width: 90%;
1443 height: 1px;
1444 content: '';
1445 }
1446 }
402b0346
A
1447}
1448
1449.daily-entry {
c69585f3 1450 padding: 0 10px;
402b0346 1451
c69585f3
A
1452 .daily-entry-title {
1453 margin: 10px 0 0;
402b0346 1454
c69585f3
A
1455 a {
1456 text-decoration: none;
1457 color: $black;
1458 }
402b0346 1459
c69585f3
A
1460 &::after {
1461 display: block;
1462 margin: 5px auto;
1463 background: linear-gradient(to right, $white, $light-grey, $white);
1464 width: 70%;
1465 height: 1px;
1466 content: '';
1467 }
1468 }
402b0346 1469
c69585f3
A
1470 .daily-entry-description {
1471 padding: 5px 5px 0;
402b0346 1472 text-align: justify;
c69585f3 1473 font-size: .9em;
402b0346 1474 word-wrap: break-word;
c69585f3 1475 }
402b0346 1476
c69585f3
A
1477 .daily-entry-tags {
1478 padding: 0 5px 5px;
1479 font-size: .8em;
1480 }
402b0346
A
1481}
1482
1483.daily-entry-thumbnail {
c69585f3
A
1484 float: left;
1485 margin: 15px 5px 5px 15px;
402b0346
A
1486}
1487
c69585f3
A
1488.daily-entry-description {
1489 a {
402b0346 1490 text-decoration: none;
c69585f3 1491 color: $main-green;
402b0346 1492
c69585f3
A
1493 &:hover {
1494 text-shadow: 1px 1px $background-linklist-info;
1495 }
402b0346 1496
c69585f3
A
1497 &:visited {
1498 color: $dark-green;
1499 }
1500 }
402b0346 1501}
70401690 1502
c69585f3 1503// Fix empty bookmarklet name in Firefox
70401690 1504.pure-button {
c69585f3 1505 -moz-user-select: auto;
70401690 1506}
aa4797ba
A
1507
1508.tag-sort {
c69585f3
A
1509 margin-top: 30px;
1510 text-align: center;
aa4797ba 1511
c69585f3 1512 a {
aa4797ba
A
1513 display: inline-block;
1514 margin: 0 15px;
aa4797ba 1515 text-decoration: none;
c69585f3 1516 color: $white;
aa4797ba 1517 font-weight: bold;
c69585f3 1518 }
aa4797ba 1519}
94c17565 1520
c69585f3
A
1521// Markdown
1522.markdown {
1523 p {
94c17565 1524 margin: 0 !important;
c69585f3 1525 }
94c17565 1526
c69585f3
A
1527 p + p {
1528 margin: .5em 0 0 !important;
1529 }
94c17565 1530
c69585f3
A
1531 * {
1532 &:first-child {
1533 margin-top: 0 !important;
1534 }
94c17565 1535
c69585f3
A
1536 &:last-child {
1537 margin-bottom: 5px !important;
1538 }
1539 }
055ce4bd
A
1540}
1541
c69585f3 1542// Pure Button
055ce4bd
A
1543.pure-button-success,
1544.pure-button-error,
1545.pure-button-warning,
1546.pure-button-primary,
1547.pure-button-shaarli,
1548.pure-button-secondary {
c69585f3
A
1549 border-radius: 4px;
1550 text-shadow: 0 1px 1px $dark-shadow;
1551 color: $white !important;
055ce4bd
A
1552}
1553
1554.pure-button-shaarli {
c69585f3 1555 background-color: $main-green;
055ce4bd 1556}
28f26524
A
1557
1558.progressbar {
1559 border-radius: 6px;
1560 background-color: $main-green;
1561 padding: 1px;
1562
1563 > div {
1564 border-radius: 10px;
1565 background: repeating-linear-gradient(
1566 -45deg,
1567 $almost-white,
1568 $almost-white 6px,
1569 $background-color 6px,
1570 $background-color 12px
1571 );
1572 width: 0%;
1573 height: 10px;
1574 }
1575}
1576
1577.thumbnails-page-container {
1578 .progress-counter {
1579 padding: 10px 0 20px;
1580 }
1581
1582 .thumbnail-placeholder {
1583 margin: 10px auto;
1584 background-color: $light-grey;
1585 }
1586
1587 .thumbnail-link-title {
1588 padding-bottom: 20px;
1589 overflow: hidden;
1590 text-overflow: ellipsis;
1591 white-space: nowrap;
1592 }
1593}