summaryrefslogtreecommitdiff
path: root/public/stylesheets/ccc.css
diff options
context:
space:
mode:
authorerdgeist <erdgeist@erdgeist.org>2026-06-23 18:04:37 +0200
committererdgeist <erdgeist@erdgeist.org>2026-06-23 18:04:37 +0200
commit6424e10be5a89f175a74c71c55660412a169b8b8 (patch)
treeae8c8111bd1e8c6e82c0a5f9a2c4b088c92bafe5 /public/stylesheets/ccc.css
parent375ed745052148faeb34763087fe04214105f1b8 (diff)
Update deployed state to what's currently running
Diffstat (limited to 'public/stylesheets/ccc.css')
-rw-r--r--public/stylesheets/ccc.css363
1 files changed, 266 insertions, 97 deletions
diff --git a/public/stylesheets/ccc.css b/public/stylesheets/ccc.css
index c782b1f..c4530fa 100644
--- a/public/stylesheets/ccc.css
+++ b/public/stylesheets/ccc.css
@@ -1,34 +1,52 @@
1html {
2 height: 100%;
3 line-height: 1.6rem;
4}
5
1body { 6body {
2 margin: 0; 7 margin: 0;
3 padding: 0; 8 padding: 0;
4 text-align: center; 9 text-align: center;
5 font-family: Verdana, Helvetica, Arial, sans-serif; 10 font-family: Verdana, Helvetica, Arial, sans-serif;
6 background-color: Canvas; 11 background-color: Canvas;
12 color: color-mix(in srgb, CanvasText, #808080 25%);
7 hyphens: auto; 13 hyphens: auto;
8 color: color-mix(in srgb, CanvasText, #808080 30%);
9 color-scheme: light dark; 14 color-scheme: light dark;
10}
11 15
12body:has(#light-mode:checked) { 16 min-height: 100%;
13 color-scheme: light; 17 height: 100%;
14} 18}
15 19
16@media (prefers-color-scheme: light) { 20@media (prefers-color-scheme: light) {
17#light-mode-li, #light-mode, label[for=light-mode] { 21 body:has(#light-mode:checked) {
18 display: none; 22 color-scheme: dark;
19} 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 }
20} 34}
21 35
22@media (prefers-color-scheme: dark) { 36@media (prefers-color-scheme: dark) {
23body:not(:has(#light-mode:checked)) #header img, 37 body:has(#light-mode:checked) {
24body:not(:has(#light-mode:checked)) div#left_column::before 38 color-scheme: light;
25{ 39 }
26 filter: invert(50%); 40 #light-mode + label[for=light-mode]:before { content: '☀️'; }
27} 41 #light-mode:checked + label[for=light-mode]:before { content: '🌙'; }
28}
29 42
30p { 43 /* The header images were set in the before times. Let them shine in dark
31 line-height: 1.5em; 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 }
32} 50}
33 51
34img { 52img {
@@ -45,6 +63,10 @@ div#header img {
45 width: 909px; 63 width: 909px;
46 margin: 0 auto 0 auto; 64 margin: 0 auto 0 auto;
47 text-align: left; 65 text-align: left;
66 min-height: 100%;
67 }
68 .break-mobile {
69 display: block;
48 } 70 }
49} 71}
50 72
@@ -64,7 +86,8 @@ a {
64} 86}
65 87
66a:visited { 88a:visited {
67 color: #5b8ca7; 89 color: #D1791A;
90 text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
68} 91}
69 92
70a:hover { 93a:hover {
@@ -76,20 +99,25 @@ a:hover {
76h2 { 99h2 {
77 font-size: 1.5rem; 100 font-size: 1.5rem;
78 font-family: Helvetica, Arial, sans-serif; 101 font-family: Helvetica, Arial, sans-serif;
102 line-height: 1.75rem;
79} 103}
80 104
81div#center_column h2 a { 105div#center_column h2 a {
82 color: color-mix(in srgb, CanvasText, #808080 80%); 106 color: CanvasText;
83 text-decoration: none; 107 text-decoration: none;
84} 108}
85 109
86div#center_column h2 a:hover { 110div#center_column h2 a:hover {
87 color: color-mix(in srgb, CanvasText, #808080 10%); 111 color: color-mix(in srgb, CanvasText, #808080 50%);
88} 112}
89 113
90div#center_column h2.headline { 114div#center_column h2.headline {
91 margin-top: 10px; 115 margin-top: 10px;
116}
117
118div#center_column .article_partial h2.headline {
92 padding-top: 30px; 119 padding-top: 30px;
120 margin-bottom: 0.3rem;
93 border-top: 2px solid #cccccc; 121 border-top: 2px solid #cccccc;
94} 122}
95 123
@@ -105,11 +133,10 @@ h3 {
105 133
106h4 { 134h4 {
107 font-size: 1.0rem; 135 font-size: 1.0rem;
108 text-decoration: bold; 136 text-decoration: none;
109} 137}
110 138
111#left_column { 139#left_column {
112 font-size: .8em;
113 line-height: 1.5em; 140 line-height: 1.5em;
114} 141}
115 142
@@ -123,20 +150,19 @@ div.main_navigation ul {
123 text-align: left; 150 text-align: left;
124} 151}
125 152
126div.main_navigation li {
127 list-style-type: none;
128 display: inline-block;
129 line-height: 1.75em;
130}
131 153
132div.main_navigation li::after { 154@media(max-width:1016px) {
133 content: '-'; 155 div.main_navigation li:not(:first-child):before {
134 color: #aeadad; 156 content: '•';
135 margin-left: .3em; 157 margin-left: .3rem;
136} 158 margin-right: .6rem;
159 }
137 160
138div.main_navigation li:last-child::after { 161 div.main_navigation li {
139 content: none; 162 list-style-type: none;
163 display: inline-block;
164 line-height: .75rem;
165 }
140} 166}
141 167
142@media(min-width:1016px) { 168@media(min-width:1016px) {
@@ -146,21 +172,21 @@ div.main_navigation li:last-child::after {
146 } 172 }
147 173
148 div.main_navigation li { 174 div.main_navigation li {
149 display: block; 175 list-style-type: none;
150 line-height: 1.45em; 176 line-height: 1.45em;
151 } 177 }
152
153 div.main_navigation li::after {
154 content: none;
155 }
156} 178}
157 179
158div.main_navigation a { 180div.main_navigation a {
159 text-decoration: none; 181 text-decoration: none;
160} 182}
161 183
162div.main_navigation a.inactive:hover { 184div.main_navigation a.inactive:hover, div#left_column span.inactive:hover {
163 color: #F8921E; 185 color: color-mix(in srgb, CanvasText, #808080 50%);
186}
187
188div.main_navigation a.active:before {
189 content: "▸";
164} 190}
165 191
166div.main_navigation a.active { 192div.main_navigation a.active {
@@ -168,8 +194,8 @@ div.main_navigation a.active {
168 text-decoration: none; 194 text-decoration: none;
169} 195}
170 196
171div.main_navigation a.inactive { 197div.main_navigation a.inactive, div.main_navigation span.inactive, div#left_column span.inactive {
172 color: #aeadad; 198 color: color-mix(in srgb, CanvasText, #808080 25%);
173} 199}
174 200
175/*------------------calendar-featured-tags-------------------*/ 201/*------------------calendar-featured-tags-------------------*/
@@ -185,10 +211,9 @@ div#frontpage_calendar {
185 } 211 }
186} 212}
187 213
188div#frontpage_calendar h2, div#tags h2, div#featured_articles h2 { 214div#frontpage_calendar h2, div#tags h2, div#featured_articles h2, div.main_navigation h2 {
189 color: #aeadad; 215 border-top: 2px solid;
190 border-top: 2px solid #aeadad; 216 border-bottom: 2px solid;
191 border-bottom: 2px solid #aeadad;
192 font-size: 1.1em; 217 font-size: 1.1em;
193 padding-top: 2px; 218 padding-top: 2px;
194 padding-bottom: 2px; 219 padding-bottom: 2px;
@@ -204,9 +229,22 @@ div#frontpage_calendar h2 {
204 margin-top: 0; 229 margin-top: 0;
205} 230}
206 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
207@media(min-width:1016px) { 245@media(min-width:1016px) {
208 div#frontpage_calendar h2, div#tags h2, div#featured_articles h2 { 246 div#frontpage_calendar h2, div#tags h2, div#featured_articles h2 {
209 font-size: 16px; 247 font-size: 1rem;
210 } 248 }
211 249
212 div#frontpage_calendar h2 { 250 div#frontpage_calendar h2 {
@@ -214,20 +252,15 @@ div#frontpage_calendar h2 {
214 border-top: 2px solid #aeadad; 252 border-top: 2px solid #aeadad;
215 padding: 2px 0; 253 padding: 2px 0;
216 } 254 }
255
217} 256}
218 257
219div#frontpage_calendar ul, div#tags ul, div#featured_articles ul { 258div#frontpage_calendar ul, div#tags ul, div#featured_articles ul {
220 padding: 0px; 259 padding: 0px;
221 font-size: 0.8em; 260 font-size: 1rem;
222 line-height: 1.5em; 261 line-height: 1.5em;
223} 262}
224 263
225@media(min-width:1016px) {
226 div#tags ul {
227 font-size: 0.8rem;
228 }
229}
230
231div#featured_articles #ds_icon img { 264div#featured_articles #ds_icon img {
232 padding-top: 10px; 265 padding-top: 10px;
233} 266}
@@ -246,22 +279,39 @@ div#frontpage_calendar li, div#tags li, div#featured_articles li {
246 279
247div#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 {
248 text-decoration: none; 281 text-decoration: none;
249 color: #535353; 282 color: color-mix(in srgb, CanvasText, #808080 25%);
250} 283}
251 284
252div#frontpage_calendar li a:hover, 285div#frontpage_calendar li a:hover,
253div#tags li a:hover, 286div#tags li a:hover,
254div#featured_articles li a:hover { 287div#featured_articles li a:hover {
255 text-decoration: none; 288 text-decoration: none;
256 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;
257} 305}
258 306
259/*--------------------------------------------------------------*/ 307/*--------------------------------------------------------------*/
260 308
261div.author_and_date { 309div.author_and_date {
262 font-style: italic; 310 font-style: italic;
263 padding-left: 2em;
264 font-family: Georgia; 311 font-family: Georgia;
312 color: color-mix(in srgb, CanvasText, #808080);
313 padding-top: .2rem;
314 padding-bottom: .8rem;
265} 315}
266 316
267@media(min-width:1016px) { 317@media(min-width:1016px) {
@@ -281,10 +331,10 @@ div.author_and_date {
281 div#left_column { 331 div#left_column {
282 position: absolute; 332 position: absolute;
283 left: 0px; 333 left: 0px;
284 width: 115px; 334 width: 135px;
285 min-height: 100px; 335 min-height: 100px;
286 text-align: right; 336 text-align: right;
287 padding-right: 70px; 337 padding-right: 50px;
288 } 338 }
289 339
290 div#left_column > a { 340 div#left_column > a {
@@ -292,19 +342,85 @@ div.author_and_date {
292 } 342 }
293} 343}
294 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;
357}
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}
295 407
296div#center_column { 408div#center_column {
297 padding-left: 15px;
298 padding-right: 15px;
299 padding-bottom: 40px; 409 padding-bottom: 40px;
300} 410}
301 411
412@media(max-width: 1016px) {
413div#center_column {
414 padding: 0 15px 40px 15px;
415}
416}
417
302@media(min-width: 1016px) { 418@media(min-width: 1016px) {
303 div#center_column { 419 div#center_column {
304 position: absolute; 420 position: absolute;
305 background-color: Canvas; 421 background-color: Canvas;
306 left: 200px; 422 left: 200px;
307 width: 460px; 423 width: 490px;
308 } 424 }
309} 425}
310 426
@@ -312,8 +428,8 @@ div#center_column {
312 div#right_column { 428 div#right_column {
313 position: absolute; 429 position: absolute;
314 background-color: Canvas; 430 background-color: Canvas;
315 padding-left: 70px; 431 padding-left: 55px;
316 left: 675px; 432 left: 690px;
317 width: 155px; 433 width: 155px;
318 height: 100px; 434 height: 100px;
319 } 435 }
@@ -332,51 +448,48 @@ div.article_partial {
332 448
333 449
334div.article_partial p.excerpt { 450div.article_partial p.excerpt {
335 color: color-mix(in srgb, CanvasText, #808080 50%); 451 color: CanvasText;
336} 452}
337 453
338/* Search bar */ 454/* Search bar */
339#search form table {
340 display: inline-table;
341}
342
343@media(min-width:1016px) { 455@media(min-width:1016px) {
344 #search form table {
345 display: table;
346 }
347
348 div#search { 456 div#search {
349 position: absolute; 457 position: absolute;
350 top: 145px; 458 top: 145px;
351 left: 676px; 459 left: 676px;
352 height: 20px; 460 height: 25px;
353 vertical-align: top; 461 vertical-align: top;
354 } 462 }
355} 463}
356 464
357div#search input[type=button] { 465@media(max-width:1016px) {
358 display: block; 466 div#search {
359 height: 20px; 467 position: absolute;
468 left: 25px;
469 height: 25px;
470 }
360} 471}
361 472
473div#search input {
474 color: CanvasText !important;
475}
476div#search input[type=search],
362div#search input[type=text] { 477div#search input[type=text] {
363 display: block; 478 display: block;
364 padding: 0px; 479 padding: 2px;
365 margin: 0px; 480 margin: 0px;
366 height: 20px; 481 height: 25px;
367 width: 132px; 482 width: 132px;
368 line-height: 20px; 483 line-height: 20px;
369 border: solid Canvas 1px; 484 border: solid #808080 1px;
485 background-color: Canvas;
370 border-radius: 5px; 486 border-radius: 5px;
371 background-image: url(/images/search_field.png);
372 background-repeat:no-repeat;
373 margin-right: 5px; 487 margin-right: 5px;
374 text-indent: 0.5rem; 488 text-indent: 0.5rem;
375 background-position: top;
376 color: #000;
377} 489}
378 490
379/* Header */ 491/* Header */
492#header img,
380#header > a { 493#header > a {
381 display: block; 494 display: block;
382 line-height: 0; 495 line-height: 0;
@@ -384,37 +497,35 @@ div#search input[type=text] {
384 497
385/* Main section */ 498/* Main section */
386.article, .article_partial { 499.article, .article_partial {
387 font-size: .9rem;
388 text-align: left; 500 text-align: left;
389} 501}
390 502
391/*
392@media(min-width:1016px) {
393 .article, .article_partial {
394 font-size: 11px;
395 }
396}
397*/
398
399h1, h2, h3 { 503h1, h2, h3 {
400 word-wrap: anywhere; 504 word-wrap: anywhere;
401 hyphens:auto; 505 hyphens:auto;
402} 506}
403 507
404.pagination { 508.pagination {
405 margin-bottom: .5em; 509 margin-bottom: .5rem;
406} 510}
407 511
408li { 512li {
409 line-height: 1.5em; 513 line-height: 1.5rem;
410 margin-block-start: 1em; 514 margin-block-start: 1rem;
411 margin-block-end: 1em; 515 margin-block-end: 1rem;
516}
517
518#tags ul li {
519 margin-block-start: 0.5rem;
520 margin-block-end: 0.5rem;
412} 521}
413 522
414/* Footer */ 523/* Footer */
415#footer { 524#footer {
416 border-bottom: 2px solid #aeadad; 525 border-bottom: 2px solid #aeadad;
417 border-top: 2px solid #aeadad; 526 border-top: 2px solid #aeadad;
527 bottom: 0;
528 color: CanvasText;
418} 529}
419 530
420#footer > br { 531#footer > br {
@@ -422,5 +533,63 @@ li {
422} 533}
423 534
424#footer p { 535#footer p {
425 margin: .5em auto; 536 margin: .5rem auto;
426} 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