Add context menu to reply avatars.
[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 #formPassword {
55         display: none;
56 }
57
58 #sone a, #sone a:link, #sone a:visited {
59         color: rgb(28, 131, 191);
60         font-size: inherit;
61         text-decoration: none;
62 }
63
64 #sone a:active, #sone a:hover {
65         color: rgb(255, 172, 0);
66 }
67
68 #sone a.link {
69         cursor: pointer;
70 }
71
72 #sone a.internet {
73         color: rgb(255, 0, 0);
74 }
75
76 #sone a.internet:before {
77         content: '⚠ ';
78 }
79
80 #sone a.freenet:before {
81         content: '» ';
82 }
83
84 #sone a.freenet-trusted {
85         color: rgb(0, 128, 0);
86 }
87
88 #sone a.freenet-trusted:before {
89         content: '★ ';
90 }
91
92 #sone a.in-page-link:before {
93         content: '↓ ';
94 }
95
96 #sone a img {
97         border: none;
98 }
99
100 #sone #main.offline {
101         opacity: 0.5;
102 }
103
104 #sone #offline-marker {
105         display: none;
106         position: fixed;
107         top: 2em;
108         right: 2em;
109         width: 128px;
110         height: 128px;
111         background-image: url("../images/sone-offline.png");
112 }
113
114 #sone #notification-area {
115         margin-top: 1em;
116 }
117
118 #sone #notification-area .notification {
119         padding: 1ex;
120         border: solid 1px #ccc;
121         background-color: #ffffa0;
122         margin-bottom: 1ex;
123         min-height: 3.5ex;
124 }
125
126 #sone #notification-area .notification button {
127         margin-left: 1ex;
128 }
129
130 #sone #notification-area .notification .dismiss {
131         float: right;
132 }
133
134 #sone #notification-area .notification .post-count {
135         margin-left: 1ex;
136 }
137
138 #sone #notification-area .notification .mark-as-read {
139         float: right;
140 }
141
142 #sone #notification-area .notification .hidden {
143         display: none;
144 }
145
146 #sone #notification-area #local-post-notification, #sone #notification-area #local-reply-notification {
147         display: none;
148
149
150 #sone #plugin-warning {
151         border: solid 0.5em red;
152         padding: 0.5em;
153         margin-bottom: 1em;
154 }
155
156 #sone #profile {
157         height: 80px;
158         margin-top: 1em;
159         margin-bottom: 1ex;
160 }
161
162 #sone .profile-link {
163         font-weight: bold;
164         color: rgb(28, 131, 191);
165 }
166
167 #sone #profile.online .picture {
168         position: absolute;
169 }
170
171 #sone #profile.offline .picture {
172         position: absolute;
173 }
174
175 #sone #profile.offline .edit-profile-link, #sone #profile.offline .profile-link {
176         display: none;
177 }
178
179 #sone #profile .edit-profile-link {
180         font-size: 85%;
181 }
182
183 #sone #home-sone {
184         margin-top: 1ex;
185         margin-left: 80px;
186         padding-left: 1ex;
187 }
188
189 #sone #update-status {
190         margin-bottom: 1em;
191 }
192
193 #sone #update-status label, #sone #post-message label {
194         display: none;
195 }
196
197 #sone #update-status input[type=text] {
198         width: 45em;
199 }
200
201 #sone #update-status textarea {
202         width: 45em;
203 }
204
205 #sone #update-status button {
206         float: right;
207 }
208
209 #sone #update-status .select-sender, #sone .create-reply .select-sender, #sone #post-message .select-sender {
210         display: none;
211 }
212
213 #sone #update-status .select-sender button, #sone #post-message .select-sender button {
214         display: inline;
215         float: left;
216 }
217
218 #sone .nice-name {
219         font-weight: bold;
220 }
221
222 #sone #main {
223         padding: 1em;
224         padding-top: 0px;
225 }
226
227 #sone #edit-profile #birth-day, #sone #edit-profile #birth-month, #sone #edit-profile #birth-year {
228         display: inline;
229         width: 15em;
230 }
231
232 #sone #edit-profile #birth-day input, #sone #edit-profile #birth-month input, #sone #edit-profile #birth-year input {
233         width: 4em;
234         text-align: right;
235 }
236
237 #sone .post {
238         padding: 1ex 0px;
239         border-bottom: solid 1px #ccc;
240         clear: both;
241         position: relative;
242 }
243
244 #sone .post.new {
245         background-color: #ffffa0;
246         padding-left: 1ex;
247 }
248
249 #sone .post.last {
250         padding: 1ex 0px;
251         border-bottom: none;
252 }
253
254 #sone .post .sone-menu {
255         position: absolute;
256         top: 0;
257         left: -1ex;
258         padding: 1ex 1ex;
259         margin: -1px -1px;
260         display: none;
261         background-color: rgb(255, 255, 224);
262         border: solid 1px rgb(0, 0, 0);
263         z-index: 1;
264 }
265
266 #sone .post .sone-menu .avatar {
267         position: absolute;
268         margin-right: 1ex;
269 }
270
271 #sone .post .sone-menu .inner-menu {
272         margin-left: 64px;
273         padding-left: 1ex;
274         min-height: 64px;
275 }
276
277 #sone .sone-menu .follow, #sone .sone-menu .unfollow {
278         cursor: pointer;
279 }
280
281 #sone .post > .avatar {
282         position: absolute;
283 }
284
285 #sone .post > .inner-part {
286         margin-left: 48px;
287         padding-left: 0.5em;
288         min-height: 48px;
289 }
290
291 #sone .post .author, #sone .post .recipient {
292         display: inline;
293         font-weight: bold;
294 }
295
296 #sone .post .author-wot-link {
297         font-size: 90%;
298 }
299
300 #sone .post .text, #sone .post .raw-text {
301         display: inline;
302         white-space: pre-wrap;
303 }
304
305 #sone .post .text.hidden, #sone .post .raw-text.hidden {
306         display: none;
307 }
308
309 #sone .post .status-line {
310         margin-top: 0.5ex;
311         font-size: 85%;
312 }
313
314 #sone .separator {
315         font: inherit;
316         color: rgb(28, 131, 191);
317 }
318
319 #sone .show-source, #sone .show-reply-source {
320         display: inline;
321 }
322
323 #sone .permalink {
324         display: inline;
325 }
326
327 #sone .post .bookmarks {
328         display: inline;
329         color: rgb(28, 131, 191);
330 }
331
332 #sone .post .bookmark, #sone .post .unbookmark {
333         display: inline;
334         font: inherit;
335         margin: 0px;
336 }
337
338 #sone .post .time {
339         display: inline;
340         color: #666;
341 }
342
343 #sone .post .delete, #sone .post .likes, #sone .post .like, #sone .post .unlike, #sone .post .trust, #sone .post .distrust, #sone .post .untrust {
344         display: inline;
345         font: inherit;
346         margin: 0px;
347 }
348
349 #sone .post .likes.hidden {
350         display: none;
351 }
352
353 #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 {
354         display: none;
355 }
356
357 #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 {
358         border: 0px;
359         background: none;
360         padding: 0px;
361         color: rgb(28, 131, 191);
362         font: inherit;
363         margin: 0px;
364 }
365
366 #sone .post .delete button.confirm {
367         color: red;
368         font-weight: bold;
369 }
370
371 #sone .post .trust button {
372         color: rgb(0, 128, 0);
373 }
374
375 #sone .post .distrust button {
376         color: rgb(255, 0, 0);
377 }
378
379 #sone .post .untrust button {
380         color: rgb(64, 64, 64);
381 }
382
383 #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 {
384         border: 0px;
385         background: none;
386         padding: 0px;
387         color: rgb(255, 172, 0);
388         cursor: pointer;
389 }
390
391 #sone .post .likes span {
392         font: inherit;
393         color: green;
394 }
395
396 #sone .post .replies {
397         clear: both;
398         padding-top: 0.2ex;
399 }
400
401 #sone .post .replies .click-to-show {
402         background-color: #f0f0ff;
403         font-size: 85%;
404         padding: 0.5em;
405         cursor: pointer;
406 }
407
408 #sone .post .replies .click-to-show.new {
409         background-color: #ffffa0;
410 }
411
412 #sone .post .reply > .avatar {
413         position: absolute;
414 }
415
416 #sone .post .reply > .inner-part {
417         margin-left: 36px;
418         padding-left: 0.5em;
419         min-height: 36px;
420 }
421
422 #sone .post .reply {
423         position: relative;
424         clear: both;
425         background-color: #f0f0ff;
426         margin: 1ex 0px;
427         padding: 1ex;
428 }
429
430 #sone .post .reply .inner-part {
431         font-size: 85%;
432 }
433
434 #sone .post .reply.new {
435         background-color: #ffffa0;
436 }
437
438 #sone .post .reply .time {
439         float: none;
440         display: inline;
441         color: #666;
442         font-size: inherit;
443 }
444
445 #sone .post .show-reply-form {
446         display: inline;
447 }
448
449 #sone .post .show-reply-form span {
450         color: rgb(28, 131, 191);
451         cursor: pointer;
452         font: inherit;
453 }
454
455 #sone .post .show-reply-form span:hover {
456         color: rgb(255, 172, 0);
457 }
458
459 #sone .post .create-reply {
460         clear: both;
461         background-color: #f0f0ff;
462         padding: 0.5ex;
463 }
464
465 #sone .post .create-reply input[type=text] {
466         margin-left: 0.5ex;
467         width: 42em;
468 }
469
470 #sone .post .create-reply textarea {
471         margin-left: 0.5ex;
472         width: 42em;
473         height: 4em;
474 }
475
476 #sone .post .create-reply button {
477         float: right;
478 }
479
480 #sone .create-reply .select-sender button, #sone #post-message .select-sender button {
481         display: inline;
482         float: left;
483 }
484
485 #sone .sone {
486         clear: both;
487         background-color: #f0f0ff;
488         border: 1px solid #ccc;
489         margin-bottom: 0.5ex;
490         padding: 0.5ex;
491 }
492
493 #sone .sone.local {
494         background-color: #f0fff0;
495 }
496
497 #sone .sone.new {
498         background-color: #ffffa0;
499 }
500
501 #sone .sone .profile-link {
502         display: block;
503 }
504
505 #sone .sone .short-request-uri {
506         clear: both;
507         float: right;
508 }
509
510 #sone .sone .unknown-marker, #sone .sone .download-marker, #sone .sone .insert-marker, #sone .sone .idle-marker, #sone .sone .modified-marker {
511         display: none;
512 }
513
514 #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 {
515         display: inline;
516         float: right;
517         border: solid 1px #ccc;
518         border-right: none;
519         border-top: none;
520         padding: 0 0.5ex;
521         position: relative;
522         right: -0.5ex;
523         top: -0.5ex
524 }
525
526 #sone .sone.idle.modified .idle-marker {
527         display: none;
528 }
529
530 #sone .sone .last-update {
531         float: right;
532         display: inline;
533 }
534
535 #sone .sone .modified-marker, #sone .sone .unknown-marker {
536         color: red;
537         font-weight: bold;
538 }
539
540 #sone .sone form.follow, #sone .sone form.unfollow, #sone .sone form.lock, #sone .sone form.unlock {
541         display: inline;
542         border: solid 1px #ccc;
543         border-left: none;
544         border-bottom: none;
545         padding: 0 0.5ex;
546         position: relative;
547         left: -0.5ex;
548         bottom: -0.5ex
549 }
550
551 #sone .sone form.follow button, #sone .sone form.unfollow button, #sone .sone form.lock button, #sone .sone form.unlock button {
552         display: inline;
553         color: rgb(28, 131, 191);
554         background: none;
555         border: none;
556         font: inherit;
557         padding: 0px;
558 }
559
560 #sone .sone form.follow button:hover, #sone .sone form.unfollow button:hover, #sone .sone form.lock button:hover, #sone .sone form.unlock button:hover {
561         display: inline;
562         color: rgb(255, 172, 0);
563 }
564
565 #sone .sone.locked form.lock, #sone .sone.unlocked form.unlock {
566         display: none;
567 }
568
569 #sone .sone form.hidden {
570         display: none;
571 }
572
573 #sone .sone .spacer {
574         display: inline;
575 }
576
577 #sone .profile-field, #sone #edit-profile button[type=submit], #sone #delete-profile-field {
578         margin-top: 1em;
579 }
580
581 #sone .profile-field .name {
582         display: inline;
583         font-weight: bold;
584 }
585
586 #sone .profile-field .name.hidden {
587         display: none;
588 }
589
590 #sone .profile-field button.confirm.edit {
591         font-weight: bold;
592         color: #080;
593 }
594
595 #sone .profile-field button.cancel {
596         font-weight: bold;
597         color: red;
598 }
599
600 #sone .profile-field .value {
601         margin-left: 2em;
602 }
603
604 #sone #edit-profile .profile-field .value {
605         margin-left: inherit;
606 }
607
608 #sone .profile-field .edit-field-name, #sone .profile-field .move-up-field, #sone .profile-field .move-down-field, #sone .profile-field .delete-field-name {
609         float: right;
610         margin-top: -1ex;
611         position: relative;
612 }
613
614 #sone #search {
615         text-align: right;
616 }
617
618 #sone #search input[type=text] {
619         width: 35em;
620 }
621
622 #sone #sone-results + #sone #post-results {
623         clear: both;
624         padding-top: 1em;
625 }
626
627 #sone #tail {
628         margin-top: 1em;
629         border-top: solid 1px #ccc;
630         padding-top: 2em;
631         text-align: center;
632         font-size: 75%;
633         color: #888;
634 }
635
636 #sone #tail #version-information {
637         margin-top: 1em;
638 }
639
640 #sone #add-sone textarea, #sone #create-sone textarea, #sone #load-sone textarea, #sone #edit-profile textarea {
641         height: 1.5em;
642 }
643
644 #sone #add-sone button {
645         position: absolute;
646 }
647
648 #sone .navigation {
649         text-align: center;
650 }
651
652 #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 {
653         display: block;
654         height: 1.5em;
655         padding: 0.5ex;
656         width: 3em;
657         border: solid 1px #ccc;
658         background-color: #f0f0ff;
659         margin: 1ex 0;
660 }
661
662 #sone .navigation .first, #sone .navigation .previous {
663         float: left;
664 }
665
666 #sone .navigation .current-page, #sone .navigation .total-pages {
667         position: relative;
668         top: 0.5em;
669         margin-top: 0.5ex;
670         display: inline;
671 }
672
673 #sone .navigation .total-pages:before {
674         content: '/ ';
675 }
676
677 #sone .navigation .next, #sone .navigation .last {
678         float: right;
679 }
680
681 #sone h1 {
682         font-family: inherit;
683         font-size: 200%;
684         font-weight: bold;
685         clear: both;
686 }
687
688 #sone h2 {
689         font-family: inherit;
690         font-size: 150%;
691         font-weight: bold;
692         clear: both;
693 }
694
695 #sone .error label {
696         color: red;
697         font-weight: bold;
698 }
699
700 #sone input.default {
701         color: #888;
702 }
703
704 #sone input[type=text].key {
705         width: 130ex;;
706         font-size: 75%;
707 }
708
709 #sone .confirm {
710         font-weight: bold;
711         color: red;
712 }
713
714 #sone .warning {
715         color: red;
716         font-style: italic;
717 }