Include images of an album below a post with an album link
[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 .post {
258         padding: 1ex 0px;
259         border-bottom: solid 1px #ccc;
260         clear: both;
261         position: relative;
262 }
263
264 #sone .post.new {
265         background-color: #ffffa0;
266         padding-left: 1ex;
267 }
268
269 #sone .post.last {
270         padding: 1ex 0px;
271         border-bottom: none;
272 }
273
274 #sone .post .sone-menu {
275         position: absolute;
276         top: 0;
277         left: -1ex;
278         padding: 1ex 1ex;
279         margin: -1px -1px;
280         display: none;
281         background-color: rgb(255, 255, 224);
282         border: solid 1px rgb(0, 0, 0);
283         z-index: 1;
284 }
285
286 #sone .post .sone-menu .avatar {
287         position: absolute;
288         margin-right: 1ex;
289 }
290
291 #sone .menu-avatar {
292         display: inline-block;
293         width: 64px;
294         height: 64px;
295         overflow: hidden;
296 }
297
298 #sone .post .sone-menu .inner-menu {
299         margin-left: 64px;
300         padding-left: 1ex;
301         min-height: 64px;
302 }
303
304 #sone .sone-menu .follow, #sone .sone-menu .unfollow {
305         cursor: pointer;
306 }
307
308 #sone .post > .avatar {
309         position: absolute;
310 }
311
312 #sone .post-avatar {
313         display: inline-block;
314         width: 48px;
315         height: 48px;
316         overflow: hidden;
317 }
318
319 #sone .post > .inner-part {
320         margin-left: 48px;
321         padding-left: 0.5em;
322         min-height: 48px;
323 }
324
325 #sone .post .author, #sone .post .recipient {
326         display: inline;
327         font-weight: bold;
328 }
329
330 #sone .post .author-wot-link {
331         font-size: 90%;
332 }
333
334 #sone .post .text, #sone .post .raw-text, #sone .post .short-text {
335         display: inline;
336         white-space: pre-wrap;
337         word-wrap: break-word;
338 }
339
340 #sone .post .text.hidden, #sone .post .raw-text.hidden, #sone .post .short-text.hidden {
341         display: none;
342 }
343
344 #sone .post .expand-post-text:before, #sone .post .expand-reply-text:before {
345         content: "» ";
346 }
347
348 #sone .post .shrink-post-text:before, #sone .post .shrink-reply-text:before {
349         content: "« ";
350 }
351
352 #sone .post .shrink-post-text {
353         cursor: pointer;
354 }
355
356 #sone .post .linked-album {
357         display: table;
358         border-collapse: collapse;
359 }
360
361 #sone .post .linked-album .album-header {
362         display: table-caption;
363         margin-bottom: 1ex;
364 }
365
366 #sone .post .linked-album .album-header .album-title {
367         font-size: 150%;
368         font-weight: bold;
369 }
370
371 #sone .post .linked-image {
372         display: table-row;
373 }
374
375 #sone .post .linked-image .image-left {
376         display: table-cell;
377         padding-bottom: 1ex;
378 }
379
380 #sone .post .linked-image .image {
381         width: 160px;
382         height: 90px;
383         overflow: hidden;
384         border: solid 1px black;
385         display: inline-block;
386         padding: 0px;
387 }
388
389 #sone .post .linked-image .about-image {
390         display: table-cell;
391         padding-left: 1ex;
392 }
393
394 #sone .post .linked-image .about-image .title {
395         font-weight: bold;
396         margin-bottom: 0.5ex;
397 }
398
399 #sone .post .status-line {
400         margin-top: 0.5ex;
401         font-size: 85%;
402 }
403
404 #sone .separator {
405         font: inherit;
406         color: rgb(28, 131, 191);
407 }
408
409 #sone .show-source, #sone .show-reply-source {
410         display: inline;
411 }
412
413 #sone .permalink {
414         display: inline;
415 }
416
417 #sone .post .bookmarks {
418         display: inline;
419         color: rgb(28, 131, 191);
420 }
421
422 #sone .post .bookmark, #sone .post .unbookmark {
423         display: inline;
424         font: inherit;
425         margin: 0px;
426 }
427
428 #sone .post .time {
429         display: inline;
430         color: #666;
431 }
432
433 #sone .post .delete, #sone .post .likes, #sone .post .like, #sone .post .unlike, #sone .post .trust, #sone .post .distrust, #sone .post .untrust {
434         display: inline;
435         font: inherit;
436         margin: 0px;
437 }
438
439 #sone .post .likes.hidden {
440         display: none;
441 }
442
443 #sone .post .like.hidden, #sone .post .unlike.hidden, #sone .post .trust.hidden, #sone .post .distrust.hidden, #sone .post .untrust.hidden, #sone .post .bookmark.hidden, #sone .post .unbookmark.hidden {
444         display: none;
445 }
446
447 #sone .post .delete button, #sone .post .like button, #sone .post .unlike button, #sone .post .trust button, #sone .post .distrust button, #sone .post .untrust button, #sone .post .bookmark button, #sone .post .unbookmark button {
448         border: 0px;
449         background: none;
450         padding: 0px;
451         color: rgb(28, 131, 191);
452         font: inherit;
453         margin: 0px;
454 }
455
456 #sone .post .delete button.confirm {
457         color: red;
458         font-weight: bold;
459 }
460
461 #sone .post .trust button {
462         color: rgb(0, 128, 0);
463 }
464
465 #sone .post .distrust button {
466         color: rgb(255, 0, 0);
467 }
468
469 #sone .post .untrust button {
470         color: rgb(64, 64, 64);
471 }
472
473 #sone .post .delete button:hover, #sone .post .like button:hover, #sone .post .unlike button:hover, #sone .post .trust button:hover, #sone .post .distrust button:hover, #sone .post .untrust button:hover, #sone .post .bookmark button:hover, #sone .post .unbookmark button:hover {
474         border: 0px;
475         background: none;
476         padding: 0px;
477         color: rgb(255, 172, 0);
478         cursor: pointer;
479 }
480
481 #sone .post .likes span {
482         font: inherit;
483         color: green;
484 }
485
486 #sone .post .replies {
487         clear: both;
488         padding-top: 0.2ex;
489 }
490
491 #sone .post .replies .click-to-show {
492         background-color: #f0f0ff;
493         font-size: 85%;
494         padding: 0.5em;
495         cursor: pointer;
496 }
497
498 #sone .post .replies .click-to-show.new {
499         background-color: #ffffa0;
500 }
501
502 #sone .post .reply > .avatar {
503         position: absolute;
504 }
505
506 #sone .reply-avatar {
507         display: inline-block;
508         width: 36px;
509         height: 36px;
510         overflow: hidden;
511 }
512
513 #sone .post .reply > .inner-part {
514         margin-left: 36px;
515         padding-left: 0.5em;
516         min-height: 36px;
517 }
518
519 #sone .post .reply {
520         position: relative;
521         clear: both;
522         background-color: #f0f0ff;
523         margin: 1ex 0px;
524         padding: 1ex;
525 }
526
527 #sone .post .reply .inner-part {
528         font-size: 85%;
529 }
530
531 #sone .post .reply.new {
532         background-color: #ffffa0;
533 }
534
535 #sone .post .reply .time {
536         float: none;
537         display: inline;
538         color: #666;
539         font-size: inherit;
540 }
541
542 #sone .post .show-reply-form {
543         display: inline;
544 }
545
546 #sone .post .show-reply-form span {
547         color: rgb(28, 131, 191);
548         cursor: pointer;
549         font: inherit;
550 }
551
552 #sone .post .show-reply-form span:hover {
553         color: rgb(255, 172, 0);
554 }
555
556 #sone .post .create-reply {
557         clear: both;
558         background-color: #f0f0ff;
559         padding: 0.5ex;
560 }
561
562 #sone .post .create-reply input[type=text] {
563         margin-left: 0.5ex;
564         width: 42em;
565 }
566
567 #sone .post .create-reply textarea {
568         margin-left: 0.5ex;
569         width: 42em;
570         height: 4em;
571 }
572
573 #sone .post .create-reply button {
574         float: right;
575 }
576
577 #sone .create-reply .select-sender button, #sone #post-message .select-sender button {
578         display: inline;
579         float: left;
580 }
581
582 #sone .sone {
583         clear: both;
584         background-color: #f0f0ff;
585         border: 1px solid #ccc;
586         margin-bottom: 0.5ex;
587         padding: 0.5ex;
588 }
589
590 #sone .sone.local {
591         background-color: #f0fff0;
592 }
593
594 #sone .sone.new {
595         background-color: #ffffa0;
596 }
597
598 #sone .sone .profile-link {
599         display: inline;
600 }
601
602 #sone .sone .sone-stats {
603         display: inline;
604 }
605
606 #sone .sone .short-request-uri {
607         clear: both;
608         float: right;
609 }
610
611 #sone .sone .unknown-marker, #sone .sone .download-marker, #sone .sone .insert-marker, #sone .sone .idle-marker, #sone .sone .modified-marker {
612         display: none;
613 }
614
615 #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 {
616         display: inline;
617         float: right;
618         border: solid 1px #ccc;
619         border-right: none;
620         border-top: none;
621         padding: 0 0.5ex;
622         position: relative;
623         right: -0.5ex;
624         top: -0.5ex
625 }
626
627 #sone .sone.idle.modified .idle-marker {
628         display: none;
629 }
630
631 #sone .sone .last-update {
632         float: right;
633         display: inline;
634 }
635
636 #sone .sone .modified-marker, #sone .sone .unknown-marker {
637         color: red;
638         font-weight: bold;
639 }
640
641 #sone .sone form.follow, #sone .sone form.unfollow, #sone .sone form.lock, #sone .sone form.unlock {
642         display: inline;
643         border: solid 1px #ccc;
644         border-left: none;
645         border-bottom: none;
646         padding: 0 0.5ex;
647         position: relative;
648         left: -0.5ex;
649         bottom: -0.5ex
650 }
651
652 #sone .sone form.follow button, #sone .sone form.unfollow button, #sone .sone form.lock button, #sone .sone form.unlock button {
653         display: inline;
654         color: rgb(28, 131, 191);
655         background: none;
656         border: none;
657         font: inherit;
658         padding: 0px;
659 }
660
661 #sone .sone form.follow button:hover, #sone .sone form.unfollow button:hover, #sone .sone form.lock button:hover, #sone .sone form.unlock button:hover {
662         display: inline;
663         color: rgb(255, 172, 0);
664 }
665
666 #sone .sone.locked form.lock, #sone .sone.unlocked form.unlock {
667         display: none;
668 }
669
670 #sone .sone form.hidden {
671         display: none;
672 }
673
674 #sone .sone .spacer {
675         display: inline;
676 }
677
678 #sone .profile-field, #sone #edit-profile button[type=submit], #sone #delete-profile-field {
679         margin-top: 1em;
680 }
681
682 #sone .profile-field .name {
683         display: inline;
684         font-weight: bold;
685 }
686
687 #sone .profile-field .name.hidden {
688         display: none;
689 }
690
691 #sone .profile-field button.confirm.edit {
692         font-weight: bold;
693         color: #080;
694 }
695
696 #sone .profile-field button.cancel {
697         font-weight: bold;
698         color: red;
699 }
700
701 #sone .profile-field .value {
702         margin-left: 2em;
703 }
704
705 #sone #edit-profile .profile-field .value {
706         margin-left: inherit;
707 }
708
709 #sone .profile-field .edit-field-name, #sone .profile-field .move-up-field, #sone .profile-field .move-down-field, #sone .profile-field .delete-field-name {
710         float: right;
711         margin-top: -1ex;
712         position: relative;
713 }
714
715 #sone .backlinks {
716         font-size: 80%;
717         margin-bottom: 1em;
718 }
719
720 #sone .backlinks .backlink {
721         display: inline;
722 }
723
724 #sone .album {
725 }
726
727 #sone .image-row, #sone .album-row {
728         display: table-row;
729 }
730
731 #sone .image-container, #sone .album-container {
732         width: 250px;
733         height: 250px;
734         overflow: hidden;
735         padding: -1px;
736         border: solid 1px #000;
737 }
738
739 #sone .image, #sone .album {
740         display: table-cell;
741         vertical-align: top;
742         text-align: center;
743         padding: 0.5ex;
744 }
745
746 #sone .single-image img {
747         border: solid 1px #000;
748         background-color: #fff;
749 }
750
751 #sone .image .edit-image input, #sone .album .edit-album input {
752         width: 95%;
753 }
754
755 #sone .image .edit-image textarea, #sone .album .edit-album textarea {
756         width: 95%;
757 }
758
759 #sone .image .album-sone {
760         font-size: 80%;
761 }
762
763 #sone .image .image-title, #sone .album .album-title {
764         font-weight: bold;
765 }
766
767 #sone .image .image-description, #sone .album .album-description {
768         text-align: left;
769         width: 98%;
770         word-wrap: break-word;
771         max-height: 5em;
772         overflow: auto;
773 }
774
775 #sone .backlinks .separator {
776         display: inline;
777 }
778
779 #sone #search {
780         text-align: right;
781 }
782
783 #sone #search input[type=text] {
784         width: 35em;
785 }
786
787 #sone #sone-results + #sone #post-results {
788         clear: both;
789         padding-top: 1em;
790 }
791
792 #sone #tail {
793         margin-top: 1em;
794         border-top: solid 1px #ccc;
795         padding-top: 2em;
796         text-align: center;
797         font-size: 75%;
798         color: #888;
799 }
800
801 #sone #tail #version-information {
802         margin-top: 1em;
803 }
804
805 #sone #add-sone textarea, #sone #create-sone textarea, #sone #load-sone textarea, #sone #edit-profile textarea {
806         height: 1.5em;
807 }
808
809 #sone #add-sone button {
810         position: absolute;
811 }
812
813 #sone .navigation {
814         text-align: center;
815 }
816
817 #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 {
818         display: block;
819         height: 1.5em;
820         padding: 0.5ex;
821         width: 3em;
822         border: solid 1px #ccc;
823         background-color: #f0f0ff;
824         margin: 1ex 0;
825 }
826
827 #sone .navigation .first, #sone .navigation .previous {
828         float: left;
829 }
830
831 #sone .navigation .current-page, #sone .navigation .total-pages {
832         position: relative;
833         top: 0.5em;
834         margin-top: 0.5ex;
835         display: inline;
836 }
837
838 #sone .navigation .total-pages:before {
839         content: '/ ';
840 }
841
842 #sone .navigation .next, #sone .navigation .last {
843         float: right;
844 }
845
846 #sone .clear {
847         clear: both;
848 }
849
850 #sone h1 {
851         font-family: inherit;
852         font-size: 200%;
853         font-weight: bold;
854         clear: both;
855 }
856
857 #sone h1.backlink {
858         margin-bottom: 0px;
859 }
860
861 #sone h2 {
862         font-family: inherit;
863         font-size: 150%;
864         font-weight: bold;
865         clear: both;
866 }
867
868 #sone .error label {
869         color: red;
870         font-weight: bold;
871 }
872
873 #sone input.default, #sone textarea.default {
874         color: #888;
875 }
876
877 #sone input[type=text].key {
878         width: 130ex;;
879         font-size: 75%;
880 }
881
882 #sone .confirm {
883         font-weight: bold;
884         color: red;
885 }
886
887 #sone .warning {
888         color: red;
889         font-style: italic;
890 }
891
892 #sone #sort-options {
893         margin-bottom: 1em;
894 }
895
896 #sone ul#avatar-selection {
897         padding: 0;
898 }
899
900 #sone #avatar-selection li {
901         display: inline-block;
902 }
903
904 #sone #avatar-selection li .post-avatar {
905         vertical-align: middle;
906         margin-top: 0.5em;
907 }
908
909 #sone #avatar-selection li#no-avatar {
910         display: block;
911 }
912
913 #sone form#options ul {
914         padding-left: 1em;
915 }
916
917 #sone form#options li {
918         list-style-type: none;
919 }