summaryrefslogtreecommitdiff
path: root/public/stylesheets
diff options
context:
space:
mode:
authorerdgeist <erdgeist@erdgeist.org>2026-06-27 22:52:50 +0200
committererdgeist <erdgeist@erdgeist.org>2026-06-27 22:52:50 +0200
commit9a19a0494ef51cdac9a78e24d517ca48ba44c453 (patch)
tree8eaae12d8047a40e29d3ea7ff3116b5c869e04bd /public/stylesheets
parent85a01e35274b8d4d4165a7b26bd7986e211246bb (diff)
parent1853082fcd8c067390c246f9daa01a9b47387497 (diff)
Migration from Rails 2.3.5 to Rails 8.1 successful.
Merging dev branch.
Diffstat (limited to 'public/stylesheets')
-rw-r--r--public/stylesheets/admin.css237
-rw-r--r--public/stylesheets/ccc.css514
-rw-r--r--public/stylesheets/ccc.css_579
-rw-r--r--public/stylesheets/ccc.css_old257
4 files changed, 1456 insertions, 131 deletions
diff --git a/public/stylesheets/admin.css b/public/stylesheets/admin.css
index f95fa18..4b08356 100644
--- a/public/stylesheets/admin.css
+++ b/public/stylesheets/admin.css
@@ -2,7 +2,7 @@
2 2
3body { 3body {
4 font-family: Helvetica, Arial, sans-serif; 4 font-family: Helvetica, Arial, sans-serif;
5 font-size: 12px; 5 font-size: 1rem;
6 margin: 0px; 6 margin: 0px;
7} 7}
8 8
@@ -19,14 +19,24 @@ th {
19 text-transform: lowercase; 19 text-transform: lowercase;
20} 20}
21 21
22#metadata,
22#content { 23#content {
23 margin-left: 5px; 24 margin-left: 5px;
24} 25}
25 26
27@media(min-width:1016px) {
26#wrapper { 28#wrapper {
27 margin-left: 125px; 29 margin: 0 125px;
28 width: 899px;
29} 30}
31}
32@media(max-width:1015px) {
33#wrapper {
34 margin: 0;
35 width: 100%;
36 box-sizing: border-box;
37}
38}
39
30 40
31#flash { 41#flash {
32 height: 12px; 42 height: 12px;
@@ -106,6 +116,53 @@ input[type=submit],
106 text-transform: lowercase; 116 text-transform: lowercase;
107} 117}
108 118
119/* button_to forms: render submit inputs as plain links */
120form.button_to {
121 display: inline;
122 margin: 0;
123 padding: 0;
124}
125
126form.button_to input[type="submit"] {
127 background: none;
128 border: none;
129 padding: 0;
130 margin: 0;
131 font: inherit;
132 color: inherit;
133 cursor: pointer;
134 text-decoration: none
135}
136
137form.button_to input[type="submit"]:hover {
138 color: #ffffff;
139 background-color: #ff9600;
140}
141
142#admin_wizard {
143 margin-bottom: 2rem;
144}
145
146#page_submit a,
147.admin_wizard_button a {
148 color: white !important;
149}
150
151#page_submit,
152.admin_wizard_button {
153 display: inline-block;
154 font-size: 1rem;
155 font-weight: bold;
156 padding: 0.5rem;
157 margin-bottom: 0.5rem;
158 background-color: green;
159}
160
161#page_submit:hover,
162.admin_wizard_button:hover {
163 background-color: lime !important;
164}
165
109#sub_navigation a { 166#sub_navigation a {
110 color: #969696; 167 color: #969696;
111} 168}
@@ -128,21 +185,27 @@ input[type=submit],
128/* Nodes */ 185/* Nodes */
129 186
130table.node_table { 187table.node_table {
131 width: 899px;
132 border-collapse: collapse; 188 border-collapse: collapse;
133} 189}
134 190
135table.node_table tr { 191table.node_table tr {
136 height: 65px; 192 min-height: 2rem;
137 border-bottom: 1px solid #000000; 193 border-bottom: 1px solid #000000;
138} 194}
139 195
196table.node_table th.node_id,
197table.node_table th.revision,
140table.node_table th.title { 198table.node_table th.title {
141 width: 450px; 199 min-width: 4rem;
200}
201
202table.node_table th.editor,
203table.node_table th.title {
204 min-width: 12rem;
142} 205}
143 206
144table.node_table tr.header { 207table.node_table tr.header {
145 height: 20px; 208 height: 2rem;
146 text-align: left; 209 text-align: left;
147} 210}
148 211
@@ -151,6 +214,7 @@ table.node_table td {
151 padding-bottom: 0px; 214 padding-bottom: 0px;
152 padding-right: 25px; 215 padding-right: 25px;
153 padding-left: 0px; 216 padding-left: 0px;
217 min-width: 2rem;
154} 218}
155 219
156table.node_table .node_id { 220table.node_table .node_id {
@@ -170,6 +234,10 @@ table.node_table .actions {
170 text-transform: lowercase; 234 text-transform: lowercase;
171} 235}
172 236
237#admin_sitemap_table .node_id:before {
238 content: "• ";
239}
240
173/* Revisions */ 241/* Revisions */
174 242
175table#revisions { 243table#revisions {
@@ -212,31 +280,19 @@ table#revisions tr {
212/* Page Editor */ 280/* Page Editor */
213 281
214input[type=text], textarea { 282input[type=text], textarea {
215 font-size: 12px; 283 font-size: 1rem;
216 font-family: Helvetica; 284 font-family: Helvetica;
217 border: 1px solid #989898; 285 border: 1px solid #989898;
218} 286}
219 287
220select { 288select {
221 font-size: 12px; 289 font-size: 1rem;
222 border: 1px solid #989898; 290 border: 1px solid #989898;
223} 291}
224 292
225input[type=text]#page_title { 293input[type=text]#tag_list,
226 width: 690px; 294input[type=text]#node_staged_slug,
227 font-size: 14px; 295input#move_to_search_term {
228 padding-top: 6px;
229 padding-bottom: 4px;
230 padding-left: 5px;
231 padding-right: 5px;
232 font-weight: bold;
233}
234
235input[type=text]#tag_list {
236 padding: 5px;
237}
238
239input[type=text]#node_slug {
240 padding: 5px; 296 padding: 5px;
241} 297}
242 298
@@ -265,6 +321,24 @@ div#login_form input[type=text], div#login_form input[type=password] {
265 width: 150px; 321 width: 150px;
266} 322}
267 323
324
325@media(min-width:1016px) {
326input#tag_list,
327input#node_staged_slug,
328input#move_to_search_term {
329 width: 690px;
330}
331
332input[type=text]#page_title {
333 width: 690px;
334 font-size: 1rem;
335 padding-top: 6px;
336 padding-bottom: 4px;
337 padding-left: 5px;
338 padding-right: 5px;
339 font-weight: bold;
340}
341
268textarea#page_abstract { 342textarea#page_abstract {
269 width: 690px; 343 width: 690px;
270 height: 150px; 344 height: 150px;
@@ -280,6 +354,56 @@ textarea#page_abstract {
280 margin-left: -125px; 354 margin-left: -125px;
281} 355}
282 356
357}
358
359/* Mobile */
360@media(max-width:1015px) {
361input#tag_list,
362input#node_staged_slug,
363input#move_to_search_term {
364 box-sizing: border-box;
365 width: 100%;
366}
367
368#page_editor #content,
369#page_editor #metadata {
370 padding-right: 5px;
371}
372
373#page_editor textarea#page_body {
374 box-sizing: border-box;
375 width: 800px;
376 height: 50rem;
377}
378
379#page_editor textarea#page_abstract {
380 box-sizing: border-box;
381 height: 8rem;
382 width: 100%;
383}
384
385input[type=text]#page_title {
386 box-sizing: border-box;
387 width: 100%;
388 font-size: 2rem;
389 padding-top: 6px;
390 padding-bottom: 4px;
391 padding-left: 5px;
392 font-weight: bold;
393}
394
395input[type=text], textarea {
396 font-size: 1.5rem;
397}
398select {
399 font-size: 1.5rem;
400}
401
402#metadata ul#image_box {
403 width: 100% !important;
404}
405}
406
283#new_node { 407#new_node {
284 margin-left: -118px; 408 margin-left: -118px;
285} 409}
@@ -296,14 +420,38 @@ td {
296 padding-right: 10px; 420 padding-right: 10px;
297} 421}
298 422
299td.description { 423@media(min-width:1016px) {
300 width: 100px; 424div.node_description {
425 float: left;
426 width: 110px;
427 min-height: 2rem;
301 text-align: right; 428 text-align: right;
302 text-transform: lowercase; 429 text-transform: lowercase;
303 letter-spacing: 1px;
304 vertical-align: top; 430 vertical-align: top;
305} 431}
306 432
433div.node_content {
434 margin-left: 120px;
435 min-height: 2rem;
436 display: block;
437 margin-bottom: 1rem;
438}
439}
440@media(max-width:1015px) {
441div.node_description {
442 min-height: 2rem;
443 width: 30em;
444 text-transform: lowercase;
445 vertical-align: top;
446}
447
448div.node_content {
449 min-height: 2rem;
450 margin-bottom: 1rem;
451}
452
453}
454
307div#page_editor { 455div#page_editor {
308 margin-top: 0px; 456 margin-top: 0px;
309 margin-left: 10px; 457 margin-left: 10px;
@@ -381,6 +529,10 @@ table#content th.content {
381 529
382#menu_item_list { 530#menu_item_list {
383 border-collapse: collapse; 531 border-collapse: collapse;
532 padding: 5px 5px 5px 5px;
533 border: solid 5px lightgrey;
534 background-color: lightgrey;
535 border-radius: 5px;
384} 536}
385 537
386#menu_item_list tr:hover { 538#menu_item_list tr:hover {
@@ -393,16 +545,24 @@ table#content th.content {
393 545
394#menu_item_list td.menu_sort_handle div { 546#menu_item_list td.menu_sort_handle div {
395 background-color: #989898; 547 background-color: #989898;
396 height: 10px; 548 height: 26px;
397 width: 10px; 549 width: 26px;
550}
551
552#menu_item_list td.menu_sort_handle div:before {
553 content: "⇳";
554 font-size: 20px;
555 font-weight: bold;
556 text-align: center;
557 vertical-align: center;
398} 558}
399 559
400#menu_item_list td.menu_sort_handle div:hover { 560#menu_item_list td.menu_sort_handle div:hover {
401 cursor: move; 561 cursor: grab;
402} 562}
403 563
404#menu_item_list td.menu_item_title { 564#menu_item_list td.menu_item_title {
405 width: 100px; 565 width: 200px;
406} 566}
407 567
408.ui-state-highlight td{ 568.ui-state-highlight td{
@@ -410,12 +570,11 @@ table#content th.content {
410} 570}
411 571
412#metadata ul#image_box { 572#metadata ul#image_box {
573 box-sizing: border-box;
413 margin: 0; 574 margin: 0;
414 padding-left: 0; 575 padding: 10px 5px 10px 5px;
415 height: 100px; 576 height: 100px;
416 width: 690px; 577 width: 702px;
417 padding-top: 10px;
418 padding-bottom: 10px;
419 border: 1px solid #989898; 578 border: 1px solid #989898;
420} 579}
421 580
@@ -435,14 +594,6 @@ div#image_browser ul li {
435 list-style-type: none; 594 list-style-type: none;
436} 595}
437 596
438input#move_to_search_term, input#node_staged_slug {
439 width: 690px;
440}
441
442#tag_list {
443 width: 680px;
444}
445
446table.user_list td.user_login { 597table.user_list td.user_login {
447 padding-right: 30px; 598 padding-right: 30px;
448} 599}
diff --git a/public/stylesheets/ccc.css b/public/stylesheets/ccc.css
index c58e3ae..c4530fa 100644
--- a/public/stylesheets/ccc.css
+++ b/public/stylesheets/ccc.css
@@ -1,28 +1,73 @@
1html {
2 height: 100%;
3 line-height: 1.6rem;
4}
5
1body { 6body {
2 background-color: #FFFFFF;
3 margin: 0; 7 margin: 0;
4 padding: 0; 8 padding: 0;
5 text-align: center; 9 text-align: center;
6 font-family: Verdana, Helvetica, Arial, sans-serif; 10 font-family: Verdana, Helvetica, Arial, sans-serif;
7 font-size: 11px; 11 background-color: Canvas;
8 line-height: 16px; 12 color: color-mix(in srgb, CanvasText, #808080 25%);
9 background-color: #ffffff; 13 hyphens: auto;
10 color: #535353; 14 color-scheme: light dark;
15
16 min-height: 100%;
17 height: 100%;
18}
19
20@media (prefers-color-scheme: light) {
21 body:has(#light-mode:checked) {
22 color-scheme: dark;
23 }
24 #light-mode + label[for=light-mode]:before { content: '🌙'; }
25 #light-mode:checked + label[for=light-mode]:before { content: '☀️'; }
26
27 /* The header images were set in the before times. Let them shine in dark
28 mode, too */
29 body:has(#light-mode:checked) #header img,
30 body:has(#light-mode:checked) div#left_column::before
31 {
32 filter: invert(50%);
33 }
11} 34}
12 35
13div#header { 36@media (prefers-color-scheme: dark) {
14 height: 224px; 37 body:has(#light-mode:checked) {
38 color-scheme: light;
39 }
40 #light-mode + label[for=light-mode]:before { content: '☀️'; }
41 #light-mode:checked + label[for=light-mode]:before { content: '🌙'; }
42
43 /* The header images were set in the before times. Let them shine in dark
44 mode, too */
45 body:not(:has(#light-mode:checked)) #header img,
46 body:not(:has(#light-mode:checked)) div#left_column::before
47 {
48 filter: invert(50%);
49 }
50}
51
52img {
53 max-width: 100%;
15} 54}
16 55
17div#header img { 56div#header img {
18 border: none; 57 border: none;
19} 58}
20 59
21div#wrapper { 60@media(min-width:1016px) {
22 position: relative; 61 div#wrapper {
23 width: 909px; 62 position: relative;
24 margin-left: 90px; 63 width: 909px;
25 text-align: left; 64 margin: 0 auto 0 auto;
65 text-align: left;
66 min-height: 100%;
67 }
68 .break-mobile {
69 display: block;
70 }
26} 71}
27 72
28pre { 73pre {
@@ -41,7 +86,8 @@ a {
41} 86}
42 87
43a:visited { 88a:visited {
44 color: #5b8ca7; 89 color: #D1791A;
90 text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
45} 91}
46 92
47a:hover { 93a:hover {
@@ -51,23 +97,27 @@ a:hover {
51/*------------------headlines-------------------*/ 97/*------------------headlines-------------------*/
52 98
53h2 { 99h2 {
54 font-size: 15px; 100 font-size: 1.5rem;
55 line-height: 20px; 101 font-family: Helvetica, Arial, sans-serif;
56 font-family: Helvetica; 102 line-height: 1.75rem;
57} 103}
58 104
59div#center_column h2 a { 105div#center_column h2 a {
60 color: #535353; 106 color: CanvasText;
61 text-decoration: none; 107 text-decoration: none;
62} 108}
63 109
64div#center_column h2 a:hover { 110div#center_column h2 a:hover {
65 color: #8e8e8e; 111 color: color-mix(in srgb, CanvasText, #808080 50%);
66} 112}
67 113
68div#center_column h2.headline { 114div#center_column h2.headline {
69 margin-top: 10px; 115 margin-top: 10px;
116}
117
118div#center_column .article_partial h2.headline {
70 padding-top: 30px; 119 padding-top: 30px;
120 margin-bottom: 0.3rem;
71 border-top: 2px solid #cccccc; 121 border-top: 2px solid #cccccc;
72} 122}
73 123
@@ -76,14 +126,18 @@ div.article_partial h2 a {
76} 126}
77 127
78h3 { 128h3 {
79 font-size: 13px; 129 font-size: 1.3rem;
80 text-decoration: none; 130 text-decoration: none;
81 131
82} 132}
83 133
84h4 { 134h4 {
85 font-size: 11px; 135 font-size: 1.0rem;
86 text-decoration: bold; 136 text-decoration: none;
137}
138
139#left_column {
140 line-height: 1.5em;
87} 141}
88 142
89/*------------------main-navigation-------------------*/ 143/*------------------main-navigation-------------------*/
@@ -91,51 +145,120 @@ h4 {
91div.main_navigation ul { 145div.main_navigation ul {
92 margin-left: 0; 146 margin-left: 0;
93 padding-left: 0; 147 padding-left: 0;
94 line-height: 18px; 148 padding-left: 15px;
149 padding-right: 15px;
150 text-align: left;
95} 151}
96 152
97div.main_navigation li { 153
98 list-style-type: none; 154@media(max-width:1016px) {
155 div.main_navigation li:not(:first-child):before {
156 content: '•';
157 margin-left: .3rem;
158 margin-right: .6rem;
159 }
160
161 div.main_navigation li {
162 list-style-type: none;
163 display: inline-block;
164 line-height: .75rem;
165 }
166}
167
168@media(min-width:1016px) {
169 div.main_navigation ul {
170 padding: 0;
171 text-align: right;
172 }
173
174 div.main_navigation li {
175 list-style-type: none;
176 line-height: 1.45em;
177 }
99} 178}
100 179
101div.main_navigation a { 180div.main_navigation a {
102 text-decoration: none; 181 text-decoration: none;
103 font-size: 14px;
104} 182}
105 183
106div.main_navigation a.inactive:hover { 184div.main_navigation a.inactive:hover, div#left_column span.inactive:hover {
107 color: #F8921E; 185 color: color-mix(in srgb, CanvasText, #808080 50%);
186}
187
188div.main_navigation a.active:before {
189 content: "▸";
108} 190}
109 191
110div.main_navigation a.active { 192div.main_navigation a.active {
111 color: #000000; 193 color: CanvasText;
112 text-decoration: none; 194 text-decoration: none;
113 font-size: 13px;
114} 195}
115 196
116div.main_navigation a.inactive { 197div.main_navigation a.inactive, div.main_navigation span.inactive, div#left_column span.inactive {
117 color: #aeadad; 198 color: color-mix(in srgb, CanvasText, #808080 25%);
118 font-size: 13px;
119} 199}
120 200
121/*------------------calendar-featured-tags-------------------*/ 201/*------------------calendar-featured-tags-------------------*/
122 202
123div#frontpage_calendar { 203div#frontpage_calendar {
124 margin-top: 30px; 204 display: none;
205 margin-top: 10px;
125} 206}
126 207
127div#frontpage_calendar h2, div#tags h2, div#featured_articles h2 { 208@media(min-width:1016px) {
128 color: #aeadad; 209 div#frontpage_calendar {
129 border-top: 2px solid #aeadad; 210 margin-top: 30px;
130 border-bottom: 2px solid #aeadad; 211 }
131 font-size: 16px; 212}
213
214div#frontpage_calendar h2, div#tags h2, div#featured_articles h2, div.main_navigation h2 {
215 border-top: 2px solid;
216 border-bottom: 2px solid;
217 font-size: 1.1em;
132 padding-top: 2px; 218 padding-top: 2px;
133 padding-bottom: 2px; 219 padding-bottom: 2px;
134} 220}
135 221
222div#frontpage_calendar h2 {
223 display: none;
224 border-top: none;
225 margin-left: auto;
226 margin-right: auto;
227 padding-left: 0.5em;
228 padding-right: 0.5em;
229 margin-top: 0;
230}
231
232@media(max-width:1016px) {
233 div#tags li {
234 list-style-type: none;
235 display: inline-block;
236 }
237
238 div#tags li:not(:first-child):before {
239 content: '•';
240 margin-left: .3em;
241 margin-right: .6em;
242 }
243}
244
245@media(min-width:1016px) {
246 div#frontpage_calendar h2, div#tags h2, div#featured_articles h2 {
247 font-size: 1rem;
248 }
249
250 div#frontpage_calendar h2 {
251 display: block;
252 border-top: 2px solid #aeadad;
253 padding: 2px 0;
254 }
255
256}
257
136div#frontpage_calendar ul, div#tags ul, div#featured_articles ul { 258div#frontpage_calendar ul, div#tags ul, div#featured_articles ul {
137 padding: 0px; 259 padding: 0px;
138 font-size: 11px; 260 font-size: 1rem;
261 line-height: 1.5em;
139} 262}
140 263
141div#featured_articles #ds_icon img { 264div#featured_articles #ds_icon img {
@@ -156,54 +279,160 @@ div#frontpage_calendar li, div#tags li, div#featured_articles li {
156 279
157div#frontpage_calendar li a, div#tags li a, div#featured_articles li a { 280div#frontpage_calendar li a, div#tags li a, div#featured_articles li a {
158 text-decoration: none; 281 text-decoration: none;
159 color: #535353; 282 color: color-mix(in srgb, CanvasText, #808080 25%);
160} 283}
161 284
162div#frontpage_calendar li a:hover, 285div#frontpage_calendar li a:hover,
163div#tags li a:hover, 286div#tags li a:hover,
164div#featured_articles li a:hover { 287div#featured_articles li a:hover {
165 text-decoration: none; 288 text-decoration: none;
166 color: #ff9600; 289 color: color-mix(in srgb, CanvasText, #808080 50%);
290}
291
292/* We don't want the only colourful thing on the site to be pointing
293 * somewhere else */
294div#featured_articles img {
295 filter: grayscale(1);
296}
297
298dt {
299 font-weight: bold;
300 margin-bottom: 1em;
301}
302
303dd {
304 margin-bottom: 1em;
167} 305}
168 306
169/*--------------------------------------------------------------*/ 307/*--------------------------------------------------------------*/
170 308
171div.author_and_date { 309div.author_and_date {
172 font-style: italic; 310 font-style: italic;
173 padding-left: 15px;
174 font-family: Georgia; 311 font-family: Georgia;
312 color: color-mix(in srgb, CanvasText, #808080);
313 padding-top: .2rem;
314 padding-bottom: .8rem;
175} 315}
176 316
177div#left_column { 317@media(min-width:1016px) {
178 position: absolute; 318 div#left_column::before {
179 background-image: url(/images/left_column.png); 319 content: " ";
180 background-position: top right; 320 position: absolute;
181 background-repeat: no-repeat; 321 left: 0;
182 left: 0px; 322 top: 0;
183 width: 115px; 323 width: 100%;
184 min-height: 100px; 324 height: 100%;
185 text-align: right; 325 box-sizing: border-box;
186 padding-right: 70px; 326 background-image: url(/images/left_column.png);
327 background-position: top right;
328 background-repeat: no-repeat;
329 z-index: -10;
330 }
331 div#left_column {
332 position: absolute;
333 left: 0px;
334 width: 135px;
335 min-height: 100px;
336 text-align: right;
337 padding-right: 50px;
338 }
339
340 div#left_column > a {
341 font-size: 0.8rem;
342 }
343}
344
345.menu-checkbox {
346 display: none;
347}
348
349.burger-menu {
350 display: none;
351 cursor: pointer;
352}
353
354#burger-div {
355 position: absolute;
356 right: 54px;
187} 357}
188 358
359/* Mobile styles */
360@media (max-width: 1016px) {
361 .burger-menu {
362 position: absolute;
363 display: flex;
364 flex-direction: column;
365 transition: transform 0.3s ease, opacity 0.3s ease;
366 }
367
368 .burger-menu span {
369 display: inline-flex;
370 width: 26px;
371 height: 4px;
372 background: color-mix(in srgb, CanvasText, #808080 25%);
373 border-radius: 2px;
374 margin: 3px 0;
375 transition: max-height 0.5s ease-in-out, opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
376 }
377
378 #left_column .main_navigation {
379 width: 100%;
380 position: relative;
381 }
382
383 #toolbox ~ #left_column .main_navigation ul {
384 transition: max-height 0.2s ease-in-out, transform 0.4s ease-in-out, opacity 0.4s ease;
385 overflow: hidden;
386 text-align: center;
387 }
388
389 #toolbox ~ #left_column .main_navigation:first-of-type ul {
390 transform: translateY(-200px);
391 max-height: 0;
392 opacity: 0;
393 z-index: -10;
394 }
395
396 /* Show menu when checkbox is checked */
397 #toolbox:has(.menu-checkbox:checked) ~ #left_column .main_navigation ul {
398 max-height: 400px;
399 opacity: 1;
400 transform: translateY(0);
401 }
402
403 .menu-checkbox:checked + .burger-menu span:nth-child(1) { transform: translateY(10px) rotate(45deg); }
404 .menu-checkbox:checked + .burger-menu span:nth-child(2) { opacity: 0; }
405 .menu-checkbox:checked + .burger-menu span:nth-child(3) { transform: translateY(-10px) rotate(-45deg); }
406}
189 407
190div#center_column { 408div#center_column {
191 position: absolute;
192 background-color: #ffffff;
193 left: 200px;
194 width: 460px;
195 padding-left: 15px;
196 padding-right: 15px;
197 padding-bottom: 40px; 409 padding-bottom: 40px;
198} 410}
199 411
200div#right_column { 412@media(max-width: 1016px) {
201 position: absolute; 413div#center_column {
202 background-color: #ffffff; 414 padding: 0 15px 40px 15px;
203 padding-left: 70px; 415}
204 left: 675px; 416}
205 width: 155px; 417
206 height: 100px; 418@media(min-width: 1016px) {
419 div#center_column {
420 position: absolute;
421 background-color: Canvas;
422 left: 200px;
423 width: 490px;
424 }
425}
426
427@media(min-width:1016px) {
428 div#right_column {
429 position: absolute;
430 background-color: Canvas;
431 padding-left: 55px;
432 left: 690px;
433 width: 155px;
434 height: 100px;
435 }
207} 436}
208 437
209div.teaser_ruler { 438div.teaser_ruler {
@@ -219,39 +448,148 @@ div.article_partial {
219 448
220 449
221div.article_partial p.excerpt { 450div.article_partial p.excerpt {
222 color: #404040; 451 color: CanvasText;
223} 452}
224 453
225div#center_column div.body, 454/* Search bar */
226div#center_column div.abstract { 455@media(min-width:1016px) {
227 font-size: 11px; 456 div#search {
228 line-height: 16px; 457 position: absolute;
458 top: 145px;
459 left: 676px;
460 height: 25px;
461 vertical-align: top;
462 }
229} 463}
230 464
231div#search { 465@media(max-width:1016px) {
232 position: absolute; 466 div#search {
233 top: 145px; 467 position: absolute;
234 left: 676px; 468 left: 25px;
235 height: 20px; 469 height: 25px;
236 vertical-align: top; 470 }
237} 471}
238 472
239div#search input[type=button] { 473div#search input {
240 display: block; 474 color: CanvasText !important;
241 height: 20px;
242} 475}
243 476div#search input[type=search],
244div#search input[type=text] { 477div#search input[type=text] {
245 display: block; 478 display: block;
246 padding: 0px; 479 padding: 2px;
247 margin: 0px; 480 margin: 0px;
248 height: 20px; 481 height: 25px;
249 width: 132px; 482 width: 132px;
250 line-height: 20px; 483 line-height: 20px;
251 border: none; 484 border: solid #808080 1px;
252 background-image: url(/images/search_field.png); 485 background-color: Canvas;
253 background-repeat:no-repeat; 486 border-radius: 5px;
254 padding-right: 5px;
255 margin-right: 5px; 487 margin-right: 5px;
256 background-position: top top; 488 text-indent: 0.5rem;
257} \ No newline at end of file 489}
490
491/* Header */
492#header img,
493#header > a {
494 display: block;
495 line-height: 0;
496}
497
498/* Main section */
499.article, .article_partial {
500 text-align: left;
501}
502
503h1, h2, h3 {
504 word-wrap: anywhere;
505 hyphens:auto;
506}
507
508.pagination {
509 margin-bottom: .5rem;
510}
511
512li {
513 line-height: 1.5rem;
514 margin-block-start: 1rem;
515 margin-block-end: 1rem;
516}
517
518#tags ul li {
519 margin-block-start: 0.5rem;
520 margin-block-end: 0.5rem;
521}
522
523/* Footer */
524#footer {
525 border-bottom: 2px solid #aeadad;
526 border-top: 2px solid #aeadad;
527 bottom: 0;
528 color: CanvasText;
529}
530
531#footer > br {
532 display: none;
533}
534
535#footer p {
536 margin: .5rem auto;
537}
538
539#footer a {
540 margin-left: 1rem;
541 margin-right: 1rem;
542 color: CanvasText;
543}
544
545@media(max-width:1016px) {
546#toolbox {
547 display: relative;
548 height: 30px;
549}
550}
551
552/* Light and dark mode button magic */
553@media(max-width:1016px) {
554 div#light-mode-div {
555 position: absolute;
556 left: 170px;
557 }
558}
559
560@media(min-width:1016px) {
561 div#light-mode-div {
562 position: absolute;
563 top: 145px;
564 left: 816px;
565 }
566}
567input#light-mode[type="checkbox"] {
568 display: none;
569}
570
571label[for=light-mode] {
572 font-size: 25px;
573 user-select: none;
574 cursor: pointer;
575 filter: grayscale(1) contrast(10%);
576}
577
578.hide-me {
579 display: none;
580}
581
582/* Temporary glowing style for easterhegg 22 */
583#eh22_icon img {
584 animation: animate 3s linear infinite;
585}
586
587@keyframes animate {
588 from {
589 filter: sepia(100%) hue-rotate(0deg);
590 }
591 to {
592 filter: sepia(100%) hue-rotate(360deg);
593 }
594}
595
diff --git a/public/stylesheets/ccc.css_ b/public/stylesheets/ccc.css_
new file mode 100644
index 0000000..9c5dbba
--- /dev/null
+++ b/public/stylesheets/ccc.css_
@@ -0,0 +1,579 @@
1html {
2 height: 100%;
3 line-height: 1.6rem;
4}
5
6body {
7 margin: 0;
8 padding: 0;
9 text-align: center;
10 font-family: Verdana, Helvetica, Arial, sans-serif;
11 background-color: Canvas;
12 color: color-mix(in srgb, CanvasText, #808080 25%);
13 hyphens: auto;
14 color-scheme: light dark;
15
16 min-height: 100%;
17 height: 100%;
18}
19
20@media (prefers-color-scheme: light) {
21 body:has(#light-mode:checked) {
22 color-scheme: dark;
23 }
24 #light-mode + label[for=light-mode]:before { content: '🌙'; }
25 #light-mode:checked + label[for=light-mode]:before { content: '☀️'; }
26}
27
28@media (prefers-color-scheme: dark) {
29 body:has(#light-mode:checked) {
30 color-scheme: light;
31 }
32 #light-mode + label[for=light-mode]:before { content: '☀️'; }
33 #light-mode:checked + label[for=light-mode]:before { content: '🌙'; }
34
35 /* The header images were set in the before times. Let them shine in dark
36 mode, too */
37 body:not(:has(#light-mode:checked)) #header img,
38 body:not(:has(#light-mode:checked)) div#left_column::before
39 {
40 filter: invert(50%);
41 }
42}
43
44img {
45 max-width: 100%;
46}
47
48div#header img {
49 border: none;
50}
51
52@media(min-width:1016px) {
53 div#wrapper {
54 position: relative;
55 width: 909px;
56 margin: 0 auto 0 auto;
57 text-align: left;
58 min-height: 100%;
59 }
60 .break-mobile {
61 display: block;
62 }
63}
64
65pre {
66 overflow: auto;
67}
68
69.right {
70 text-align: right;
71}
72
73/*------------------links-------------------*/
74
75a {
76 color: #F8921E;
77 text-decoration: none;
78}
79
80a:visited {
81 color: #D1791A;
82 text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
83}
84
85a:hover {
86 color: #5b8ca7;
87}
88
89/*------------------headlines-------------------*/
90
91h2 {
92 font-size: 1.5rem;
93 font-family: Helvetica, Arial, sans-serif;
94 line-height: 1.75rem;
95}
96
97div#center_column h2 a {
98 color: CanvasText;
99 text-decoration: none;
100}
101
102div#center_column h2 a:hover {
103 color: color-mix(in srgb, CanvasText, #808080 50%);
104}
105
106div#center_column h2.headline {
107 margin-top: 10px;
108}
109
110div#center_column .article_partial h2.headline {
111 padding-top: 30px;
112 margin-bottom: 0.3rem;
113 border-top: 2px solid #cccccc;
114}
115
116div.article_partial h2 a {
117 text-decoration: none;
118}
119
120h3 {
121 font-size: 1.3rem;
122 text-decoration: none;
123
124}
125
126h4 {
127 font-size: 1.0rem;
128 text-decoration: none;
129}
130
131#left_column {
132 line-height: 1.5em;
133}
134
135/*------------------main-navigation-------------------*/
136
137div.main_navigation ul {
138 margin-left: 0;
139 padding-left: 0;
140 padding-left: 15px;
141 padding-right: 15px;
142 text-align: left;
143}
144
145
146@media(max-width:1016px) {
147 div.main_navigation li:not(:first-child):before {
148 content: '•';
149 margin-left: .3rem;
150 margin-right: .6rem;
151 }
152
153 div.main_navigation li {
154 list-style-type: none;
155 display: inline-block;
156 line-height: .75rem;
157 }
158}
159
160@media(min-width:1016px) {
161 div.main_navigation ul {
162 padding: 0;
163 text-align: right;
164 }
165
166 div.main_navigation li {
167 list-style-type: none;
168 line-height: 1.45em;
169 }
170}
171
172div.main_navigation a {
173 text-decoration: none;
174}
175
176div.main_navigation a.inactive:hover, div#left_column span.inactive:hover {
177 color: color-mix(in srgb, CanvasText, #808080 50%);
178}
179
180div.main_navigation a.active:before {
181 content: "▸";
182}
183
184div.main_navigation a.active {
185 color: CanvasText;
186 text-decoration: none;
187}
188
189div.main_navigation a.inactive, div.main_navigation span.inactive, div#left_column span.inactive {
190 color: color-mix(in srgb, CanvasText, #808080 25%);
191}
192
193/*------------------calendar-featured-tags-------------------*/
194
195div#frontpage_calendar {
196 display: none;
197 margin-top: 10px;
198}
199
200@media(min-width:1016px) {
201 div#frontpage_calendar {
202 margin-top: 30px;
203 }
204}
205
206div#frontpage_calendar h2, div#tags h2, div#featured_articles h2, div.main_navigation h2 {
207 border-top: 2px solid;
208 border-bottom: 2px solid;
209 font-size: 1.1em;
210 padding-top: 2px;
211 padding-bottom: 2px;
212}
213
214div#frontpage_calendar h2 {
215 display: none;
216 border-top: none;
217 margin-left: auto;
218 margin-right: auto;
219 padding-left: 0.5em;
220 padding-right: 0.5em;
221 margin-top: 0;
222}
223
224@media(max-width:1016px) {
225 div#tags li {
226 list-style-type: none;
227 display: inline-block;
228 }
229
230 div#tags li:not(:first-child):before {
231 content: '•';
232 margin-left: .3em;
233 margin-right: .6em;
234 }
235}
236
237@media(min-width:1016px) {
238 div#frontpage_calendar h2, div#tags h2, div#featured_articles h2 {
239 font-size: 1rem;
240 }
241
242 div#frontpage_calendar h2 {
243 display: block;
244 border-top: 2px solid #aeadad;
245 padding: 2px 0;
246 }
247
248}
249
250div#frontpage_calendar ul, div#tags ul, div#featured_articles ul {
251 padding: 0px;
252 font-size: 1rem;
253 line-height: 1.5em;
254}
255
256div#featured_articles #ds_icon img {
257 padding-top: 10px;
258}
259
260div#featured_articles #events_icon img {
261 padding-left: 10px;
262}
263
264div#frontpage_calendar li {
265 margin-bottom: 20px;
266}
267
268div#frontpage_calendar li, div#tags li, div#featured_articles li {
269 list-style-type: none;
270}
271
272div#frontpage_calendar li a, div#tags li a, div#featured_articles li a {
273 text-decoration: none;
274 color: color-mix(in srgb, CanvasText, #808080 25%);
275}
276
277div#frontpage_calendar li a:hover,
278div#tags li a:hover,
279div#featured_articles li a:hover {
280 text-decoration: none;
281 color: color-mix(in srgb, CanvasText, #808080 50%);
282}
283
284/* We don't want the only colourful thing on the site to be pointing
285 * somewhere else */
286div#featured_articles img {
287 filter: grayscale(1);
288}
289
290dt {
291 font-weight: bold;
292 margin-bottom: 1em;
293}
294
295dd {
296 margin-bottom: 1em;
297}
298
299/*--------------------------------------------------------------*/
300
301div.author_and_date {
302 font-style: italic;
303 font-family: Georgia;
304 color: color-mix(in srgb, CanvasText, #808080);
305 padding-top: 0;
306 padding-bottom: 1rem;
307}
308
309@media(min-width:1016px) {
310 div#left_column::before {
311 content: " ";
312 position: absolute;
313 left: 0;
314 top: 0;
315 width: 100%;
316 height: 100%;
317 box-sizing: border-box;
318 background-image: url(/images/left_column.png);
319 background-position: top right;
320 background-repeat: no-repeat;
321 z-index: -10;
322 }
323 div#left_column {
324 position: absolute;
325 left: 0px;
326 width: 135px;
327 min-height: 100px;
328 text-align: right;
329 padding-right: 50px;
330 }
331
332 div#left_column > a {
333 font-size: 0.8rem;
334 }
335}
336
337.menu-checkbox {
338 display: none;
339}
340
341.burger-menu {
342 display: none;
343 cursor: pointer;
344}
345
346/* Mobile styles */
347@media (max-width: 1016px) {
348 .main_navigation {
349 width: 100%;
350 position: relative;
351 }
352
353 .main_navigation ul {
354 transition: max-height 0.5s ease-in-out, transform .4s ease, opacity 0.4s ease;
355 overflow: hidden;
356 text-align: center;
357 }
358
359
360 .burger-menu {
361 position: absolute;
362 top: -48px;
363 right: 30px;
364 display: flex;
365 flex-direction: column;
366 transition: transform 0.3s ease, opacity 0.3s ease;
367 }
368
369 .burger-menu span {
370 display: inline-flex;
371 width: 30px;
372 height: 4px;
373 background: color-mix(in srgb, CanvasText, #808080 25%);
374 border-radius: 2px;
375 margin: 3px 0;
376 transition: max-height 0.5s ease-in-out, opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
377 }
378 .main_navigation .menu-checkbox:not(:checked) ~ ul {
379 transform: translateY(-60px);
380 max-height: 0;
381 opacity: 0;
382 }
383
384 /* Show menu when checkbox is checked */
385 .main_navigation .menu-checkbox ~ ul {
386 max-height: 400px;
387 opacity: 1;
388 transform: translateY(0);
389 text-align: center;
390 }
391
392 .menu-checkbox:checked + .burger-menu span:nth-child(1) { transform: translateY(10px) rotate(45deg); }
393 .menu-checkbox:checked + .burger-menu span:nth-child(2) { opacity: 0; }
394 .menu-checkbox:checked + .burger-menu span:nth-child(3) { transform: translateY(-10px) rotate(-45deg); }
395}
396
397div#center_column {
398 padding-bottom: 40px;
399}
400
401@media(max-width: 1016px) {
402div#center_column {
403 padding: 0 15px 40px 15px;
404}
405}
406
407@media(min-width: 1016px) {
408 div#center_column {
409 position: absolute;
410 background-color: Canvas;
411 left: 200px;
412 width: 490px;
413 }
414}
415
416@media(min-width:1016px) {
417 div#right_column {
418 position: absolute;
419 background-color: Canvas;
420 padding-left: 55px;
421 left: 690px;
422 width: 155px;
423 height: 100px;
424 }
425}
426
427div.teaser_ruler {
428 border-top: 1px solid #CCCCCC;
429 border-bottom: 1px dashed #CCCCCC;
430 height: 3px;
431 margin-top: 30px;
432}
433
434div.article_partial {
435 margin-bottom: 30px;
436}
437
438
439div.article_partial p.excerpt {
440 color: CanvasText;
441}
442
443/* Search bar */
444@media(min-width:1016px) {
445 div#search {
446 position: absolute;
447 top: 145px;
448 left: 676px;
449 height: 25px;
450 vertical-align: top;
451 }
452}
453
454@media(max-width:1016px) {
455 div#search {
456 position: relative;
457 bottom: 5px;
458 left: 0px;
459 margin-left: 25px;
460 height: 25px;
461 vertical-align: top;
462 }
463}
464
465div#search input {
466 color: CanvasText !important;
467}
468div#search input[type=search],
469div#search input[type=text] {
470 display: block;
471 padding: 2px;
472 margin: 0px;
473 height: 25px;
474 width: 132px;
475 line-height: 20px;
476 border: solid #808080 1px;
477 background-color: Canvas;
478 border-radius: 5px;
479 margin-right: 5px;
480 text-indent: 0.5rem;
481}
482
483/* Header */
484#header img,
485#header > a {
486 display: block;
487 line-height: 0;
488}
489
490/* Main section */
491.article, .article_partial {
492 text-align: left;
493}
494
495h1, h2, h3 {
496 word-wrap: anywhere;
497 hyphens:auto;
498}
499
500.pagination {
501 margin-bottom: .5rem;
502}
503
504li {
505 line-height: 1.5rem;
506 margin-block-start: 1rem;
507 margin-block-end: 1rem;
508}
509
510#tags ul li {
511 margin-block-start: 0.5rem;
512 margin-block-end: 0.5rem;
513}
514
515/* Footer */
516#footer {
517 border-bottom: 2px solid #aeadad;
518 border-top: 2px solid #aeadad;
519 bottom: 0;
520 color: CanvasText;
521}
522
523#footer > br {
524 display: none;
525}
526
527#footer p {
528 margin: .5rem auto;
529}
530
531#footer a {
532 margin-left: 1rem;
533 margin-right: 1rem;
534 color: CanvasText;
535}
536
537/* Light and dark mode button magic */
538@media(max-width:1016px) {
539 div#light-mode-li {
540 position: absolute;
541 top: 145px;
542 left: 25px;
543 }
544}
545
546@media(min-width:1016px) {
547 div#light-mode-li {
548 position: absolute;
549 top: 145px;
550 left: 816px;
551 }
552}
553input#light-mode[type="checkbox"] {
554 display: none;
555}
556
557label[for=light-mode] {
558 font-size: 25px;
559 user-select: none;
560 filter: grayscale(1);
561}
562
563.hide-me {
564 display: none;
565}
566
567/* Temporary glowing style for easterhegg 22 */
568#eh22_icon img {
569 animation: animate 3s linear infinite;
570}
571
572@keyframes animate {
573 from {
574 filter: sepia(100%) hue-rotate(0deg);
575 }
576 to {
577 filter: sepia(100%) hue-rotate(360deg);
578 }
579}
diff --git a/public/stylesheets/ccc.css_old b/public/stylesheets/ccc.css_old
new file mode 100644
index 0000000..93651b9
--- /dev/null
+++ b/public/stylesheets/ccc.css_old
@@ -0,0 +1,257 @@
1body {
2 background-color: #FFFFFF;
3 margin: 0;
4 padding: 0;
5 text-align: center;
6 font-family: Verdana, Helvetica, Arial, sans-serif;
7 font-size: 11px;
8 line-height: 16px;
9 background-color: #ffffff;
10 color: #535353;
11}
12
13div#header {
14 height: 224px;
15}
16
17div#header img {
18 border: none;
19}
20
21div#wrapper {
22 position: relative;
23 width: 909px;
24 margin-left: 90px;
25 text-align: left;
26}
27
28pre {
29 overflow: auto;
30}
31
32.right {
33 text-align: right;
34}
35
36/*------------------links-------------------*/
37
38a {
39 color: #F8921E;
40 text-decoration: none;
41}
42
43a:visited {
44 color: #5b8ca7;
45}
46
47a:hover {
48 color: #5b8ca7;
49}
50
51/*------------------headlines-------------------*/
52
53h2 {
54 font-size: 15px;
55 line-height: 20px;
56 font-family: Helvetica;
57}
58
59div#center_column h2 a {
60 color: #535353;
61 text-decoration: none;
62}
63
64div#center_column h2 a:hover {
65 color: #8e8e8e;
66}
67
68div#center_column h2.headline {
69 margin-top: 10px;
70 padding-top: 30px;
71 border-top: 2px solid #cccccc;
72}
73
74div.article_partial h2 a {
75 text-decoration: none;
76}
77
78h3 {
79 font-size: 13px;
80 text-decoration: none;
81
82}
83
84h4 {
85 font-size: 11px;
86 text-decoration: bold;
87}
88
89/*------------------main-navigation-------------------*/
90
91div.main_navigation ul {
92 margin-left: 0;
93 padding-left: 0;
94 line-height: 18px;
95}
96
97div.main_navigation li {
98 list-style-type: none;
99}
100
101div.main_navigation a {
102 text-decoration: none;
103 font-size: 14px;
104}
105
106div.main_navigation a.inactive:hover {
107 color: #F8921E;
108}
109
110div.main_navigation a.active {
111 color: #000000;
112 text-decoration: none;
113 font-size: 13px;
114}
115
116div.main_navigation a.inactive {
117 color: #aeadad;
118 font-size: 13px;
119}
120
121/*------------------calendar-featured-tags-------------------*/
122
123div#frontpage_calendar {
124 margin-top: 30px;
125}
126
127div#frontpage_calendar h2, div#tags h2, div#featured_articles h2 {
128 color: #aeadad;
129 border-top: 2px solid #aeadad;
130 border-bottom: 2px solid #aeadad;
131 font-size: 16px;
132 padding-top: 2px;
133 padding-bottom: 2px;
134}
135
136div#frontpage_calendar ul, div#tags ul, div#featured_articles ul {
137 padding: 0px;
138 font-size: 11px;
139}
140
141div#featured_articles #ds_icon img {
142 padding-top: 10px;
143}
144
145div#featured_articles #events_icon img {
146 padding-left: 10px;
147}
148
149div#frontpage_calendar li {
150 margin-bottom: 20px;
151}
152
153div#frontpage_calendar li, div#tags li, div#featured_articles li {
154 list-style-type: none;
155}
156
157div#frontpage_calendar li a, div#tags li a, div#featured_articles li a {
158 text-decoration: none;
159 color: #535353;
160}
161
162div#frontpage_calendar li a:hover,
163div#tags li a:hover,
164div#featured_articles li a:hover {
165 text-decoration: none;
166 color: #ff9600;
167}
168
169/*--------------------------------------------------------------*/
170
171div.author_and_date {
172 font-style: italic;
173 padding-left: 15px;
174 font-family: Georgia;
175}
176
177div#left_column {
178 position: absolute;
179 background-image: url(/images/left_column.png);
180 background-position: top right;
181 background-repeat: no-repeat;
182 left: 0px;
183 width: 115px;
184 min-height: 100px;
185 text-align: right;
186 padding-right: 70px;
187}
188
189
190div#center_column {
191 position: absolute;
192 background-color: #ffffff;
193 left: 200px;
194 width: 460px;
195 padding-left: 15px;
196 padding-right: 15px;
197 padding-bottom: 40px;
198}
199
200div#right_column {
201 position: absolute;
202 background-color: #ffffff;
203 padding-left: 70px;
204 left: 675px;
205 width: 155px;
206 height: 100px;
207}
208
209div.teaser_ruler {
210 border-top: 1px solid #CCCCCC;
211 border-bottom: 1px dashed #CCCCCC;
212 height: 3px;
213 margin-top: 30px;
214}
215
216div.article_partial {
217 margin-bottom: 30px;
218}
219
220
221div.article_partial p.excerpt {
222 color: #404040;
223}
224
225div#center_column div.body,
226div#center_column div.abstract {
227 font-size: 11px;
228 line-height: 16px;
229}
230
231div#search {
232 position: absolute;
233 top: 145px;
234 left: 676px;
235 height: 20px;
236 vertical-align: top;
237}
238
239div#search input[type=button] {
240 display: block;
241 height: 20px;
242}
243
244div#search input[type=text] {
245 display: block;
246 padding: 0px;
247 margin: 0px;
248 height: 20px;
249 width: 132px;
250 line-height: 20px;
251 border: none;
252 background-image: url(/images/search_field.png);
253 background-repeat:no-repeat;
254 padding-right: 5px;
255 margin-right: 5px;
256 background-position: top top;
257}