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