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