summaryrefslogtreecommitdiff
path: root/public/stylesheets/ccc.css
diff options
context:
space:
mode:
Diffstat (limited to 'public/stylesheets/ccc.css')
-rw-r--r--public/stylesheets/ccc.css514
1 files changed, 426 insertions, 88 deletions
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