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