Add Sone context menu when hovering over avatar.
[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-post-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-post-menu .avatar {
267         position: absolute;
268         margin-right: 1ex;
269 }
270
271 #sone .post .sone-post-menu .inner-menu {
272         margin-left: 64px;
273         padding-left: 1ex;
274         min-height: 64px;
275 }
276
277 #sone .post > .avatar {
278         position: absolute;
279 }
280
281 #sone .post > .inner-part {
282         margin-left: 48px;
283         padding-left: 0.5em;
284         min-height: 48px;
285 }
286
287 #sone .post .author, #sone .post .recipient {
288         display: inline;
289         font-weight: bold;
290 }
291
292 #sone .post .author-wot-link {
293         font-size: 90%;
294 }
295
296 #sone .post .text, #sone .post .raw-text {
297         display: inline;
298         white-space: pre-wrap;
299 }
300
301 #sone .post .text.hidden, #sone .post .raw-text.hidden {
302         display: none;
303 }
304
305 #sone .post .status-line {
306         margin-top: 0.5ex;
307         font-size: 85%;
308 }
309
310 #sone .separator {
311         font: inherit;
312         color: rgb(28, 131, 191);
313 }
314
315 #sone .show-source, #sone .show-reply-source {
316         display: inline;
317 }
318
319 #sone .permalink {
320         display: inline;
321 }
322
323 #sone .post .bookmarks {
324         display: inline;
325         color: rgb(28, 131, 191);
326 }
327
328 #sone .post .bookmark, #sone .post .unbookmark {
329         display: inline;
330         font: inherit;
331         margin: 0px;
332 }
333
334 #sone .post .time {
335         display: inline;
336         color: #666;
337 }
338
339 #sone .post .delete, #sone .post .likes, #sone .post .like, #sone .post .unlike, #sone .post .trust, #sone .post .distrust, #sone .post .untrust {
340         display: inline;
341         font: inherit;
342         margin: 0px;
343 }
344
345 #sone .post .likes.hidden {
346         display: none;
347 }
348
349 #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 {
350         display: none;
351 }
352
353 #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 {
354         border: 0px;
355         background: none;
356         padding: 0px;
357         color: rgb(28, 131, 191);
358         font: inherit;
359         margin: 0px;
360 }
361
362 #sone .post .delete button.confirm {
363         color: red;
364         font-weight: bold;
365 }
366
367 #sone .post .trust button {
368         color: rgb(0, 128, 0);
369 }
370
371 #sone .post .distrust button {
372         color: rgb(255, 0, 0);
373 }
374
375 #sone .post .untrust button {
376         color: rgb(64, 64, 64);
377 }
378
379 #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 {
380         border: 0px;
381         background: none;
382         padding: 0px;
383         color: rgb(255, 172, 0);
384         cursor: pointer;
385 }
386
387 #sone .post .likes span {
388         font: inherit;
389         color: green;
390 }
391
392 #sone .post .replies {
393         clear: both;
394         padding-top: 0.2ex;
395 }
396
397 #sone .post .replies .click-to-show {
398         background-color: #f0f0ff;
399         font-size: 85%;
400         padding: 0.5em;
401         cursor: pointer;
402 }
403
404 #sone .post .replies .click-to-show.new {
405         background-color: #ffffa0;
406 }
407
408 #sone .post .reply > .avatar {
409         position: absolute;
410 }
411
412 #sone .post .reply > .inner-part {
413         margin-left: 36px;
414         padding-left: 0.5em;
415         min-height: 36px;
416 }
417
418 #sone .post .reply {
419         clear: both;
420         background-color: #f0f0ff;
421         font-size: 85%;
422         margin: 1ex 0px;
423         padding: 1ex;
424 }
425
426 #sone .post .reply.new {
427         background-color: #ffffa0;
428 }
429
430 #sone .post .reply .time {
431         float: none;
432         display: inline;
433         color: #666;
434         font-size: inherit;
435 }
436
437 #sone .post .show-reply-form {
438         display: inline;
439 }
440
441 #sone .post .show-reply-form span {
442         color: rgb(28, 131, 191);
443         cursor: pointer;
444         font: inherit;
445 }
446
447 #sone .post .show-reply-form span:hover {
448         color: rgb(255, 172, 0);
449 }
450
451 #sone .post .create-reply {
452         clear: both;
453         background-color: #f0f0ff;
454         padding: 0.5ex;
455 }
456
457 #sone .post .create-reply input[type=text] {
458         margin-left: 0.5ex;
459         width: 42em;
460 }
461
462 #sone .post .create-reply textarea {
463         margin-left: 0.5ex;
464         width: 42em;
465         height: 4em;
466 }
467
468 #sone .post .create-reply button {
469         float: right;
470 }
471
472 #sone .create-reply .select-sender button, #sone #post-message .select-sender button {
473         display: inline;
474         float: left;
475 }
476
477 #sone .sone {
478         clear: both;
479         background-color: #f0f0ff;
480         border: 1px solid #ccc;
481         margin-bottom: 0.5ex;
482         padding: 0.5ex;
483 }
484
485 #sone .sone.local {
486         background-color: #f0fff0;
487 }
488
489 #sone .sone.new {
490         background-color: #ffffa0;
491 }
492
493 #sone .sone .profile-link {
494         display: block;
495 }
496
497 #sone .sone .short-request-uri {
498         clear: both;
499         float: right;
500 }
501
502 #sone .sone .unknown-marker, #sone .sone .download-marker, #sone .sone .insert-marker, #sone .sone .idle-marker, #sone .sone .modified-marker {
503         display: none;
504 }
505
506 #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 {
507         display: inline;
508         float: right;
509         border: solid 1px #ccc;
510         border-right: none;
511         border-top: none;
512         padding: 0 0.5ex;
513         position: relative;
514         right: -0.5ex;
515         top: -0.5ex
516 }
517
518 #sone .sone.idle.modified .idle-marker {
519         display: none;
520 }
521
522 #sone .sone .last-update {
523         float: right;
524         display: inline;
525 }
526
527 #sone .sone .modified-marker, #sone .sone .unknown-marker {
528         color: red;
529         font-weight: bold;
530 }
531
532 #sone .sone form.follow, #sone .sone form.unfollow, #sone .sone form.lock, #sone .sone form.unlock {
533         display: inline;
534         border: solid 1px #ccc;
535         border-left: none;
536         border-bottom: none;
537         padding: 0 0.5ex;
538         position: relative;
539         left: -0.5ex;
540         bottom: -0.5ex
541 }
542
543 #sone .sone form.follow button, #sone .sone form.unfollow button, #sone .sone form.lock button, #sone .sone form.unlock button {
544         display: inline;
545         color: rgb(28, 131, 191);
546         background: none;
547         border: none;
548         font: inherit;
549         padding: 0px;
550 }
551
552 #sone .sone form.follow button:hover, #sone .sone form.unfollow button:hover, #sone .sone form.lock button:hover, #sone .sone form.unlock button:hover {
553         display: inline;
554         color: rgb(255, 172, 0);
555 }
556
557 #sone .sone.locked form.lock, #sone .sone.unlocked form.unlock {
558         display: none;
559 }
560
561 #sone .sone form.hidden {
562         display: none;
563 }
564
565 #sone .sone .spacer {
566         display: inline;
567 }
568
569 #sone .profile-field, #sone #edit-profile button[type=submit], #sone #delete-profile-field {
570         margin-top: 1em;
571 }
572
573 #sone .profile-field .name {
574         display: inline;
575         font-weight: bold;
576 }
577
578 #sone .profile-field .name.hidden {
579         display: none;
580 }
581
582 #sone .profile-field button.confirm.edit {
583         font-weight: bold;
584         color: #080;
585 }
586
587 #sone .profile-field button.cancel {
588         font-weight: bold;
589         color: red;
590 }
591
592 #sone .profile-field .value {
593         margin-left: 2em;
594 }
595
596 #sone #edit-profile .profile-field .value {
597         margin-left: inherit;
598 }
599
600 #sone .profile-field .edit-field-name, #sone .profile-field .move-up-field, #sone .profile-field .move-down-field, #sone .profile-field .delete-field-name {
601         float: right;
602         margin-top: -1ex;
603         position: relative;
604 }
605
606 #sone #search {
607         text-align: right;
608 }
609
610 #sone #search input[type=text] {
611         width: 35em;
612 }
613
614 #sone #sone-results + #sone #post-results {
615         clear: both;
616         padding-top: 1em;
617 }
618
619 #sone #tail {
620         margin-top: 1em;
621         border-top: solid 1px #ccc;
622         padding-top: 2em;
623         text-align: center;
624         font-size: 75%;
625         color: #888;
626 }
627
628 #sone #tail #version-information {
629         margin-top: 1em;
630 }
631
632 #sone #add-sone textarea, #sone #create-sone textarea, #sone #load-sone textarea, #sone #edit-profile textarea {
633         height: 1.5em;
634 }
635
636 #sone #add-sone button {
637         position: absolute;
638 }
639
640 #sone .navigation {
641         text-align: center;
642 }
643
644 #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 {
645         display: block;
646         height: 1.5em;
647         padding: 0.5ex;
648         width: 3em;
649         border: solid 1px #ccc;
650         background-color: #f0f0ff;
651         margin: 1ex 0;
652 }
653
654 #sone .navigation .first, #sone .navigation .previous {
655         float: left;
656 }
657
658 #sone .navigation .current-page, #sone .navigation .total-pages {
659         position: relative;
660         top: 0.5em;
661         margin-top: 0.5ex;
662         display: inline;
663 }
664
665 #sone .navigation .total-pages:before {
666         content: '/ ';
667 }
668
669 #sone .navigation .next, #sone .navigation .last {
670         float: right;
671 }
672
673 #sone h1 {
674         font-family: inherit;
675         font-size: 200%;
676         font-weight: bold;
677         clear: both;
678 }
679
680 #sone h2 {
681         font-family: inherit;
682         font-size: 150%;
683         font-weight: bold;
684         clear: both;
685 }
686
687 #sone .error label {
688         color: red;
689         font-weight: bold;
690 }
691
692 #sone input.default {
693         color: #888;
694 }
695
696 #sone input[type=text].key {
697         width: 130ex;;
698         font-size: 75%;
699 }
700
701 #sone .confirm {
702         font-weight: bold;
703         color: red;
704 }
705
706 #sone .warning {
707         color: red;
708         font-style: italic;
709 }