🔀 Merge “release/v81” into “master”
[Sone.git] / src / main / resources / static / css / sone.css
1 /* Sone Main CSS File */
2
3 /* first, override some fproxy rules. */
4 #sone div, #sone span, #sone .post .time,#sone .post .delete,#sone .post .show-reply-form, input[type=text], textarea {
5         font: inherit;
6 }
7
8 input[type=text], textarea {
9         font-size: 90%;
10         margin: 0.5ex;
11         margin-left: 0;
12         border: solid 1px #ccc;
13         padding: 0.5ex;
14         height: 1.5em;
15         width: 50em;
16         outline: none;
17 }
18
19 input[type=text].short {
20         width: 25em;
21 }
22
23 textarea {
24         height: 4em;
25 }
26
27 #sone button {
28         background-color: #ddd;
29         border-width: 1px;
30         color: #444;
31         padding: 0.5ex 1.5ex;
32 }
33
34 #sone form {
35         margin: 0px;
36 }
37
38 #sone select {
39         color: #444;
40         padding: 0.5ex 1.5ex;
41 }
42
43 /* now for the real stuff. */
44
45 #sone {
46         width: 55em;
47         margin: auto;
48 }
49
50 #sone .hidden {
51         display: none;
52 }
53
54 #sone .toggle-link {
55         margin-top: 1em;
56 }
57
58 #sone #formPassword {
59         display: none;
60 }
61
62 #sone a, #sone a:link, #sone a:visited {
63         color: rgb(28, 131, 191);
64         font-size: inherit;
65         text-decoration: none;
66 }
67
68 #sone a:active, #sone a:hover {
69         color: rgb(255, 172, 0);
70 }
71
72 #sone a.link {
73         cursor: pointer;
74 }
75
76 #sone a.internet {
77         color: rgb(255, 0, 0);
78 }
79
80 #sone a.internet:before {
81         content: '⚠ ';
82 }
83
84 #sone a.freenet:before {
85         content: '» ';
86 }
87
88 #sone a.freenet-trusted {
89         color: rgb(0, 128, 0);
90 }
91
92 #sone a.freenet-trusted:before {
93         content: '★ ';
94 }
95
96 #sone a.in-page-link:before {
97         content: '↓ ';
98 }
99
100 #sone a img {
101         border: none;
102 }
103
104 #sone .small-link {
105         font-size: 85%;
106 }
107
108 #sone .parsed {
109         white-space: pre-wrap;
110 }
111
112 #sone #main.offline {
113         opacity: 0.5;
114 }
115
116 #sone #offline-marker {
117         display: none;
118         position: fixed;
119         top: 2em;
120         right: 2em;
121         width: 128px;
122         height: 128px;
123         background-image: url("../images/sone-offline.png");
124 }
125
126 #sone #notification-area {
127         margin-top: 1em;
128 }
129
130 #sone #notification-area .notification {
131         padding: 1ex;
132         border: solid 1px #ccc;
133         background-color: #ffffa0;
134         margin-bottom: 1ex;
135         min-height: 3.5ex;
136 }
137
138 #sone #notification-area .notification button {
139         margin-left: 1ex;
140 }
141
142 #sone #notification-area .notification .dismiss {
143         float: right;
144 }
145
146 #sone #notification-area .notification .post-count {
147         margin-left: 1ex;
148 }
149
150 #sone #notification-area .notification .mark-as-read {
151         float: right;
152 }
153
154 #sone #notification-area .notification .hidden {
155         display: none;
156 }
157
158 #sone #notification-area #local-post-notification, #sone #notification-area #local-reply-notification {
159         display: none;
160 }
161
162 #sone #plugin-warning {
163         border: solid 0.5em red;
164         padding: 0.5em;
165         margin-bottom: 1em;
166 }
167
168 #sone #profile {
169         height: 80px;
170         margin-top: 1em;
171         margin-bottom: 1ex;
172 }
173
174 #sone .profile-avatar {
175         display: inline-block;
176         width: 80px;
177         height: 80px;
178         overflow: hidden;
179         position: absolute;
180 }
181
182 #sone .profile-link {
183         font-weight: bold;
184         color: rgb(28, 131, 191);
185 }
186
187 #sone #profile.online .picture {
188         position: absolute;
189 }
190
191 #sone #profile.offline .picture {
192         position: absolute;
193 }
194
195 #sone #profile.offline .edit-profile-link, #sone #profile.offline .profile-link {
196         display: none;
197 }
198
199 #sone #profile .edit-profile-link {
200         font-size: 85%;
201 }
202
203 #sone #home-sone {
204         margin-top: 1ex;
205         margin-left: 80px;
206         padding-left: 1ex;
207 }
208
209 #sone #update-status {
210         margin-bottom: 1em;
211 }
212
213 #sone #update-status label, #sone #post-message label {
214         display: none;
215 }
216
217 #sone #update-status input[type=text] {
218         width: 45em;
219 }
220
221 #sone #update-status textarea {
222         width: 45em;
223 }
224
225 #sone #update-status button {
226         float: right;
227 }
228
229 #sone #update-status .select-sender, #sone .create-reply .select-sender, #sone #post-message .select-sender {
230         display: none;
231 }
232
233 #sone #update-status .select-sender button, #sone #post-message .select-sender button {
234         display: inline;
235         float: left;
236 }
237
238 #sone .nice-name {
239         font-weight: bold;
240 }
241
242 #sone #main {
243         padding: 1em;
244         padding-top: 0px;
245 }
246
247 #sone #edit-profile #birth-day, #sone #edit-profile #birth-month, #sone #edit-profile #birth-year {
248         display: inline;
249         width: 15em;
250 }
251
252 #sone #edit-profile #birth-day input, #sone #edit-profile #birth-month input, #sone #edit-profile #birth-year input {
253         width: 4em;
254         text-align: right;
255 }
256
257 #sone td.numeric {
258         text-align: right;
259 }
260
261 #sone .post {
262         padding: 1ex 0px;
263         border-bottom: solid 1px #ccc;
264         clear: both;
265         position: relative;
266 }
267
268 #sone .post.new {
269         background-color: #ffffa0;
270         padding-left: 1ex;
271 }
272
273 #sone .post.last {
274         padding: 1ex 0px;
275         border-bottom: none;
276 }
277
278 #sone .post .sone-menu {
279         position: absolute;
280         top: 0;
281         left: -1ex;
282         padding: 1ex 1ex;
283         margin: -1px -1px;
284         display: none;
285         background-color: rgb(255, 255, 224);
286         border: solid 1px rgb(0, 0, 0);
287         z-index: 1;
288 }
289
290 #sone .post .sone-menu .avatar {
291         position: absolute;
292         margin-right: 1ex;
293 }
294
295 #sone .menu-avatar {
296         display: inline-block;
297         width: 64px;
298         height: 64px;
299         overflow: hidden;
300 }
301
302 #sone .post .sone-menu .inner-menu {
303         margin-left: 64px;
304         padding-left: 1ex;
305         min-height: 64px;
306 }
307
308 #sone .sone-menu .follow, #sone .sone-menu .unfollow {
309         cursor: pointer;
310 }
311
312 #sone .post > .avatar {
313         position: absolute;
314 }
315
316 #sone .post-avatar {
317         display: inline-block;
318         width: 48px;
319         height: 48px;
320         overflow: hidden;
321 }
322
323 #sone .post > .inner-part {
324         margin-left: 48px;
325         padding-left: 0.5em;
326         min-height: 48px;
327 }
328
329 #sone .post .author, #sone .post .recipient {
330         display: inline;
331         font-weight: bold;
332 }
333
334 #sone .post .author-wot-link {
335         font-size: 90%;
336 }
337
338 #sone .post .text, #sone .post .raw-text, #sone .post .short-text {
339         display: inline;
340         white-space: pre-wrap;
341         word-wrap: break-word;
342 }
343
344 #sone .post .text.hidden, #sone .post .raw-text.hidden, #sone .post .short-text.hidden {
345         display: none;
346 }
347
348 #sone .post .expand-post-text:before, #sone .post .expand-reply-text:before {
349         content: "» ";
350 }
351
352 #sone .post .shrink-post-text:before, #sone .post .shrink-reply-text:before {
353         content: "« ";
354 }
355
356 #sone .post .shrink-post-text {
357         cursor: pointer;
358 }
359
360 #sone .post .status-line {
361         margin-top: 0.5ex;
362         font-size: 85%;
363 }
364
365 #sone .separator {
366         font: inherit;
367         color: rgb(28, 131, 191);
368 }
369
370 #sone .show-source, #sone .show-reply-source {
371         display: inline;
372 }
373
374 #sone .permalink {
375         display: inline;
376 }
377
378 #sone .post .bookmarks {
379         display: inline;
380         color: rgb(28, 131, 191);
381 }
382
383 #sone .post .bookmark, #sone .post .unbookmark {
384         display: inline;
385         font: inherit;
386         margin: 0px;
387 }
388
389 #sone .post .time {
390         display: inline;
391         color: #666;
392 }
393
394 #sone .post .delete, #sone .post .likes, #sone .post .like, #sone .post .unlike, #sone .post .wot-link {
395         display: inline;
396         font: inherit;
397         margin: 0px;
398 }
399
400 #sone .post .likes.hidden {
401         display: none;
402 }
403
404 #sone .post .like.hidden, #sone .post .unlike.hidden, #sone .post .bookmark.hidden, #sone .post .unbookmark.hidden {
405         display: none;
406 }
407
408 #sone .post .delete button, #sone .post .like button, #sone .post .unlike button, #sone .post .bookmark button, #sone .post .unbookmark button {
409         border: 0px;
410         background: none;
411         padding: 0px;
412         color: rgb(28, 131, 191);
413         font: inherit;
414         margin: 0px;
415 }
416
417 #sone .post .delete button.confirm {
418         color: red;
419         font-weight: bold;
420 }
421
422 #sone .post .delete button:hover, #sone .post .like button:hover, #sone .post .unlike button:hover, #sone .post .bookmark button:hover, #sone .post .unbookmark button:hover {
423         border: 0px;
424         background: none;
425         padding: 0px;
426         color: rgb(255, 172, 0);
427         cursor: pointer;
428 }
429
430 #sone .post .likes span {
431         font: inherit;
432         color: green;
433 }
434
435 #sone .post .linked-elements {
436         margin-top: 1ex;
437 }
438
439 #sone .linked-element.loaded .image {
440         display: inline-block;
441         border: solid 1px black;
442         width: 160px;
443         height: 120px;
444         background-size: cover;
445         background-position: center;
446         margin-right: 1ex;
447         margin-bottom: 1ex;
448 }
449
450 #sone .linked-element.loaded .html-page {
451         display: inline-block;
452         width: 160px;
453         max-height: 120px;
454         overflow: hidden;
455         vertical-align: top;
456 }
457
458 #sone .reply .linked-element.loaded .html-page {
459         width: 120px;
460         max-height: 90px;
461 }
462
463 #sone .linked-element.loaded .html-page .heading {
464         font-size: 115%;
465         font-weight: 600;
466         text-overflow: ellipsis;
467         overflow: hidden;
468         white-space: nowrap;
469 }
470
471 #sone .linked-element.loaded .html-page .description {
472         font-size: 85%;
473 }
474
475 #sone .linked-element.loaded .html-page {
476         display: inline-block;
477 }
478
479 #sone .post .replies {
480         clear: both;
481         padding-top: 0.2ex;
482 }
483
484 #sone .post .replies .click-to-show {
485         background-color: #f0f0ff;
486         font-size: 85%;
487         padding: 0.5em;
488         cursor: pointer;
489 }
490
491 #sone .post .replies .click-to-show.new {
492         background-color: #ffffa0;
493 }
494
495 #sone .post .reply > .avatar {
496         position: absolute;
497 }
498
499 #sone .reply-avatar {
500         display: inline-block;
501         width: 36px;
502         height: 36px;
503         overflow: hidden;
504 }
505
506 #sone .post .reply > .inner-part {
507         margin-left: 36px;
508         padding-left: 0.5em;
509         min-height: 36px;
510 }
511
512 #sone .post .reply {
513         position: relative;
514         clear: both;
515         background-color: #f0f0ff;
516         margin: 1ex 0px;
517         padding: 1ex;
518 }
519
520 #sone .post .reply .inner-part {
521         font-size: 85%;
522 }
523
524 #sone .post .reply.new {
525         background-color: #ffffa0;
526 }
527
528 #sone .post .reply .time {
529         float: none;
530         display: inline;
531         color: #666;
532         font-size: inherit;
533 }
534
535 #sone .post .reply .linked-elements {
536         margin-top: 1ex;
537 }
538
539 #sone .post .reply .linked-element.loaded .image {
540         display: inline-block;
541         border: solid 1px black;
542         width: 120px;
543         height: 90px;
544         background-size: cover;
545         background-position: center;
546         margin-right: 1ex;
547         margin-bottom: 1ex;
548 }
549
550 #sone .post .show-reply-form {
551         display: inline;
552 }
553
554 #sone .post .show-reply-form span {
555         color: rgb(28, 131, 191);
556         cursor: pointer;
557         font: inherit;
558 }
559
560 #sone .post .show-reply-form span:hover {
561         color: rgb(255, 172, 0);
562 }
563
564 #sone .post .create-reply {
565         clear: both;
566         background-color: #f0f0ff;
567         padding: 0.5ex;
568 }
569
570 #sone .post .create-reply input[type=text] {
571         margin-left: 0.5ex;
572         width: 42em;
573 }
574
575 #sone .post .create-reply textarea {
576         margin-left: 0.5ex;
577         width: 42em;
578         height: 4em;
579 }
580
581 #sone .post .create-reply button {
582         float: right;
583 }
584
585 #sone .create-reply .select-sender button, #sone #post-message .select-sender button {
586         display: inline;
587         float: left;
588 }
589
590 #sone .sone {
591         clear: both;
592         background-color: #f0f0ff;
593         border: 1px solid #ccc;
594         margin-bottom: 0.5ex;
595         padding: 0.5ex;
596 }
597
598 #sone .sone.local {
599         background-color: #f0fff0;
600 }
601
602 #sone .sone.new {
603         background-color: #ffffa0;
604 }
605
606 #sone .sone .profile-link {
607         display: inline;
608 }
609
610 #sone .sone .sone-stats {
611         display: inline;
612 }
613
614 #sone .sone .short-request-uri {
615         clear: both;
616         float: right;
617 }
618
619 #sone .sone .unknown-marker, #sone .sone .download-marker, #sone .sone .insert-marker, #sone .sone .idle-marker, #sone .sone .modified-marker {
620         display: none;
621 }
622
623 #sone .sone.unknown .unknown-marker, #sone .sone.idle .idle-marker, #sone .sone.downloading .download-marker, #sone .sone.inserting .insert-marker, #sone .sone.modified .modified-marker {
624         display: inline;
625         float: right;
626         border: solid 1px #ccc;
627         border-right: none;
628         border-top: none;
629         padding: 0 0.5ex;
630         position: relative;
631         right: -0.5ex;
632         top: -0.5ex
633 }
634
635 #sone .sone.idle.modified .idle-marker {
636         display: none;
637 }
638
639 #sone .sone .last-update {
640         float: right;
641         display: inline;
642 }
643
644 #sone .sone .modified-marker, #sone .sone .unknown-marker {
645         color: red;
646         font-weight: bold;
647 }
648
649 #sone .sone form.follow, #sone .sone form.unfollow, #sone .sone form.lock, #sone .sone form.unlock {
650         display: inline;
651         border: solid 1px #ccc;
652         border-left: none;
653         border-bottom: none;
654         padding: 0 0.5ex;
655         position: relative;
656         left: -0.5ex;
657         bottom: -0.5ex
658 }
659
660 #sone .sone form.follow button, #sone .sone form.unfollow button, #sone .sone form.lock button, #sone .sone form.unlock button {
661         display: inline;
662         color: rgb(28, 131, 191);
663         background: none;
664         border: none;
665         font: inherit;
666         padding: 0px;
667 }
668
669 #sone .sone form.follow button:hover, #sone .sone form.unfollow button:hover, #sone .sone form.lock button:hover, #sone .sone form.unlock button:hover {
670         display: inline;
671         color: rgb(255, 172, 0);
672 }
673
674 #sone .sone.locked form.lock, #sone .sone.unlocked form.unlock {
675         display: none;
676 }
677
678 #sone .sone form.hidden {
679         display: none;
680 }
681
682 #sone .sone .spacer {
683         display: inline;
684 }
685
686 #sone .profile-field, #sone #edit-profile button[type=submit], #sone #delete-profile-field {
687         margin-top: 1em;
688 }
689
690 #sone .profile-field .name {
691         display: inline;
692         font-weight: bold;
693 }
694
695 #sone .profile-field .name.hidden {
696         display: none;
697 }
698
699 #sone .profile-field button.confirm.edit {
700         font-weight: bold;
701         color: #080;
702 }
703
704 #sone .profile-field button.cancel {
705         font-weight: bold;
706         color: red;
707 }
708
709 #sone .profile-field .value {
710         margin-left: 2em;
711 }
712
713 #sone #edit-profile .profile-field .value {
714         margin-left: inherit;
715 }
716
717 #sone .profile-field .edit-field-name, #sone .profile-field .move-up-field, #sone .profile-field .move-down-field, #sone .profile-field .delete-field-name {
718         float: right;
719         margin-top: -1ex;
720         position: relative;
721 }
722
723 #sone .backlinks {
724         font-size: 80%;
725         margin-bottom: 1em;
726 }
727
728 #sone .backlinks .backlink {
729         display: inline;
730 }
731
732 #sone .album {
733 }
734
735 #sone .image-row, #sone .album-row {
736         display: table-row;
737 }
738
739 #sone .image-container, #sone .album-container {
740         width: 250px;
741         height: 250px;
742         overflow: hidden;
743         padding: -1px;
744         border: solid 1px #000;
745 }
746
747 #sone .image, #sone .album {
748         display: table-cell;
749         vertical-align: top;
750         text-align: center;
751         padding: 0.5ex;
752 }
753
754 #sone .single-image img {
755         border: solid 1px #000;
756         background-color: #fff;
757 }
758
759 #sone .image .edit-image input, #sone .album .edit-album input {
760         width: 95%;
761 }
762
763 #sone .image .edit-image textarea, #sone .album .edit-album textarea {
764         width: 95%;
765 }
766
767 #sone .image .album-sone {
768         font-size: 80%;
769 }
770
771 #sone .image .image-title, #sone .album .album-title {
772         font-weight: bold;
773 }
774
775 #sone .image .image-description, #sone .album .album-description {
776         text-align: left;
777         width: 98%;
778         word-wrap: break-word;
779         max-height: 5em;
780         overflow: auto;
781 }
782
783 #sone .backlinks .separator {
784         display: inline;
785 }
786
787 #sone #search {
788         text-align: right;
789 }
790
791 #sone #search input[type=text] {
792         width: 35em;
793 }
794
795 #sone #sone-results + #sone #post-results {
796         clear: both;
797         padding-top: 1em;
798 }
799
800 #sone #tail {
801         margin-top: 1em;
802         border-top: solid 1px #ccc;
803         padding-top: 2em;
804         text-align: center;
805         font-size: 75%;
806         color: #888;
807 }
808
809 #sone #tail #version-information {
810         margin-top: 1em;
811 }
812
813 #sone #add-sone textarea, #sone #create-sone textarea, #sone #load-sone textarea, #sone #edit-profile textarea {
814         height: 1.5em;
815 }
816
817 #sone #add-sone button {
818         position: absolute;
819 }
820
821 #sone .navigation {
822         text-align: center;
823 }
824
825 #sone .navigation .first a, #sone .navigation .previous a, #sone .navigation .next a, #sone .navigation .last a, #sone .navigation .first span, #sone .navigation .previous span, #sone .navigation .next span, #sone .navigation .last span {
826         display: block;
827         height: 1.5em;
828         padding: 0.5ex;
829         width: 3em;
830         border: solid 1px #ccc;
831         background-color: #f0f0ff;
832         margin: 1ex 0;
833 }
834
835 #sone .navigation .first, #sone .navigation .previous {
836         float: left;
837 }
838
839 #sone .navigation .current-page, #sone .navigation .total-pages {
840         position: relative;
841         top: 0.5em;
842         margin-top: 0.5ex;
843         display: inline;
844 }
845
846 #sone .navigation .total-pages:before {
847         content: '/ ';
848 }
849
850 #sone .navigation .next, #sone .navigation .last {
851         float: right;
852 }
853
854 #sone .clear {
855         clear: both;
856 }
857
858 #sone h1 {
859         font-family: inherit;
860         font-size: 200%;
861         font-weight: bold;
862         clear: both;
863 }
864
865 #sone h1.backlink {
866         margin-bottom: 0px;
867 }
868
869 #sone h2 {
870         font-family: inherit;
871         font-size: 150%;
872         font-weight: bold;
873         clear: both;
874 }
875
876 #sone .error label {
877         color: red;
878         font-weight: bold;
879 }
880
881 #sone input.default, #sone textarea.default {
882         color: #888;
883 }
884
885 #sone input[type=text].key {
886         width: 130ex;;
887         font-size: 75%;
888 }
889
890 #sone .confirm {
891         font-weight: bold;
892         color: red;
893 }
894
895 #sone .warning {
896         color: red;
897         font-style: italic;
898 }
899
900 #sone #sort-options {
901         margin-bottom: 1em;
902 }
903
904 #sone ul#avatar-selection {
905         padding: 0;
906 }
907
908 #sone #avatar-selection li {
909         display: inline-block;
910 }
911
912 #sone #avatar-selection li .post-avatar {
913         vertical-align: middle;
914         margin-top: 0.5em;
915 }
916
917 #sone #avatar-selection li#no-avatar {
918         display: block;
919 }
920
921 #sone form#options ul {
922         padding-left: 1em;
923 }
924
925 #sone form#options li {
926         list-style-type: none;
927 }
928
929 #sone table thead tr {
930         font-weight: bold;
931 }