]> jfr.im git - irc/freenode/web-7.0.git/blame - static/css/style.css
Styling blockquotes
[irc/freenode/web-7.0.git] / static / css / style.css
CommitLineData
2ed0f35d 1/* vars */
f38f696b 2:root {
d439b099
EK
3 --c-dark: #292f2f;
4 --c-bg-dark: #3a4346;
5 --c-bg-light: #4c5456;
6 --c-light: #ecf7fa;
7 --c-hl-dark: #008499;
8 --c-hl-light: #3baec4;
1fb25165 9 --c-shadow: #dae5e2;
d439b099 10
d1cee50f 11 /* backgrounds */
d439b099
EK
12 --navbar-bg: var(--c-dark);
13 --jumbotron-bg: var(--c-bg-dark);
14 --copyright-bg: var(--c-dark);
15
d1cee50f 16 /* link colors */
d439b099
EK
17 --link-color: var(--c-hl-dark);
18 --link-hover-color: var(--c-hl-light);
19 --footer-link-color: var(--c-light);
20 --footer-hover-color: #fff;
21
d1cee50f 22 /* text colors */
d439b099
EK
23 --text-color: var(--c-dark);
24 --footer-text-color: var(--c-light);
25 --copyright-text-color: var(--c-light);
26 --jumbotron-text-color: var(--c-light);
27 --art-date-color: color(var(--c-dark) tint(50%));
28
d1cee50f 29 /* box colors */
d439b099
EK
30 --border-color: var(--c-dark);
31 --box-color: var(--c-bg-light);
32 --box-hover-color: var(--c-dark);;
d1cee50f 33 --box-round: 10px;
d439b099 34
d1cee50f 35 /* other */
46687d13 36 --max-width: 600px;
d1cee50f
SB
37 --max-width-box: 800px;
38 --margin-box-fa: 5px;
f38f696b 39}
d1cee50f
SB
40@custom-media --max-sm all and (max-width: 600px);
41@custom-media --max-md all and (max-width: 800px);
42@custom-media --max-rem all and (max-width: 60rem);
2ed0f35d 43
2ed0f35d 44/* reset css for browser compat */
2ed0f35d 45* {
f38f696b
EK
46 margin: 0;
47 padding: 0;
48 box-sizing: border-box;
2ed0f35d
S
49}
50
51/* global */
2ed0f35d 52body {
3bb8ef3b 53 font-family: 'Open Sans', sans-serif;
512215ac
EK
54 font-feature-settings: "lnum";
55 font-variant-numeric: lining-nums;
f38f696b
EK
56 color: var(--text-color);
57 font-size: 14px;
58 min-height: 100vh;
59 height: auto;
2ed0f35d
S
60}
61
834273d1
EK
62.invisible {
63 display: none;
64}
65
2ed0f35d 66a {
ef54eedd 67 color: var(--link-color);
f38f696b 68 text-decoration: none;
2ed0f35d
S
69}
70
d439b099
EK
71a:hover {
72 color: var(--link-hover-color);
73}
a9a27d4b
SB
74img {
75 max-width: 100%;
76}
d439b099 77
2ed0f35d 78/* navbar */
2ed0f35d 79.navbar {
f38f696b
EK
80 width: 100%;
81 height: 50px;
82 background-color: var(--navbar-bg);
545c8ea4 83 box-shadow: 0 3px 4px rgba(0, 0, 0, 0.5);
f38f696b
EK
84 position: fixed;
85 left: 0;
86 right: 0;
87 top: 0;
88 display: flex;
89 flex-wrap: nowrap;
90 justify-content: space-between;
91 align-items: center;
545c8ea4 92 border-bottom: 1px solid var(--border-color);
f38f696b 93 z-index: 100;
15bc3c0b 94 padding-right: 5px;
2ed0f35d
S
95}
96
e43e6fbd 97@media (--max-sm) {
545c8ea4
EK
98 .navbar {
99 position: absolute;
100 }
101}
102
103.navbar a {
15bc3c0b 104 margin-top: 2px;
545c8ea4
EK
105 height: 40px;
106}
107
2ed0f35d 108.nlogo {
f38f696b 109 height: 40px;
2ed0f35d
S
110}
111
90257b61
AM
112.tlogo {
113 height: 40px;
114 margin-bottom: -9px;
115 margin-left: -10px;
116 margin-right: -10px;
117}
118
2ed0f35d 119/* main */
2ed0f35d 120.container {
f38f696b 121 width: 100%;
0a1e9a90
EK
122 min-height: 100vh;
123 padding-top: 50px;
ea5b3fae 124 padding-bottom: 17.5rem;
2ed0f35d
S
125}
126
127.main {
0a1e9a90 128 margin: 2em auto;
588c2afb 129 padding: 0 .75em;
4f236e86 130 max-width: var(--max-width);
10218a76 131 line-height: 1.8;
2ed0f35d
S
132}
133
0e9ffab7
EK
134.main h1,
135.main h2,
136.main h3,
19ea0778 137.main h4,
96915a91 138.main li,
19ea0778 139.main pre,
cc0249fc
SB
140.main p,
141.main blockquote{
588c2afb 142 margin-top: .7em;
0e9ffab7
EK
143}
144
96915a91
EK
145.artlist li {
146 margin-top: 0;
147}
148
19ea0778
EK
149.main h1 + p,
150.main h2 + p,
151.main h3 + p,
152.main h3 + p {
153 margin-top: 0;
154}
155
81cae952 156ul {
50d68b4a
EK
157 padding-left: 2em;
158 list-style-type: disc;
159}
160
f2fdabcd
SB
161ol {
162 padding-left: 2em;
163 list-style-type: decimal;
164}
165
19ea0778
EK
166hr {
167 margin-top: .8em;
168 margin-bottom: .8em;
169}
170
30b54282
EK
171table {
172 border: 1px solid var(--c-dark);
173 border-collapse: collapse;
174}
175
176th, td {
177 margin: .2em;
178}
179
180th {
181 background-color: var(--c-bg-dark);
182 color: var(--c-light);
183}
184
185td {
186 padding: .2em .5em;
187}
188
189td:not(:first-child), th:not(:first-child) {
190 border-left: 1px solid var(--c-dark);
191}
192
1fb25165
EK
193tr:nth-child(odd) {
194 background-color: var(--c-shadow);
195}
196
2ed0f35d 197/* jumbotron */
2ed0f35d 198.jumbotron {
f38f696b
EK
199 position: relative;
200 width: 100%;
0a1e9a90 201 margin-top: -50px;
f38f696b 202 background: var(--jumbotron-bg);
545c8ea4 203 box-shadow: 0 1px 5px rgba(0, 0, 0, 0.6);
f38f696b 204 color: var(--jumbotron-text-color);
7e59dd2d
SB
205 padding: 4em 0 4em 0;
206}
207
208.jindex {
90257b61 209 z-index: 99;
7e59dd2d
SB
210}
211
212.jlogo {
213 display: block;
214 margin: 25px auto;
215}
216
217.jpia {
218 position: absolute;
219 height: 40px;
ea5b3fae 220 right: 0;
7e59dd2d
SB
221 top: 0;
222 margin: 25px;
223}
224
225@media (--max-sm) {
226 .jlogo {
227 margin: 2em auto -2em auto;
228 }
229 .jumbotron {
230 padding-bottom: 2em;
231 }
2ed0f35d
S
232}
233
234.child {
f38f696b 235 text-align: center;
ef54eedd 236 margin: .5em auto;
f38f696b
EK
237 font-size: 32px;
238 line-height: 48px;
ef54eedd 239 max-width: 75%;
2ed0f35d
S
240}
241
242.box-container {
f38f696b
EK
243 display: flex;
244 flex-wrap: wrap;
245 justify-content: space-around;
246 align-items: stretch;
d1cee50f 247 max-width: var(--max-width-box);
6c2065c4 248 margin: 0 auto;
2ed0f35d
S
249}
250
251.box {
6c2065c4 252 text-align: center;
f38f696b 253 text-decoration: none;
ef54eedd 254 color: var(--jumbotron-text-color);
f38f696b 255 margin-bottom: 5px;
f38f696b 256 flex-basis: 30%;
81cae952 257 min-width: 26%;
ef54eedd 258 background-color: var(--box-color);
f38f696b 259 border-radius: var(--box-round);
81cae952 260 padding: 1em;
f38f696b
EK
261}
262
263.box:hover,.box:active {
d439b099 264 color: var(--jumbotron-text-color);
f38f696b
EK
265 background-color: var(--box-hover-color);
266}
267
57bd8f7d 268.box span {
f38f696b 269 position: relative;
d4b00db0 270 top: initial;
257112d0 271 font-size: 20px;
ef54eedd 272 font-weight: 600;
d4b00db0 273 line-height: 16px;
d4b00db0 274 display: block;
81cae952 275 margin-top: .75em;
e9725e62 276}
277
2ed0f35d 278.fa-users {
d1cee50f 279 margin-top: var(--margin-box-fa);
2ed0f35d
S
280}
281
cd9b0475 282.fa-comments,.fa-question {
d1cee50f 283 margin-bottom: var(--margin-box-fa);
2ed0f35d
S
284}
285
286.title {
f38f696b 287 text-align: center;
2ed0f35d
S
288}
289
d1cee50f
SB
290@media (--max-md) {
291 .box {
292 text-align: center;
293 }
294
295 .child {
296 font-size: 20px;
297 line-height: 30px;
298 padding: 10px 0 5px;
299 }
300
301 .fa-4x {
302 padding: 0;
303 margin: 0;
304 width: 60px;
305 text-align: center;
306 font-size: 28px;
307 }
308
309 .box-container {
310 flex-direction: column;
311 margin: 0 .5em;
312 }
313
57bd8f7d 314 .box span {
d1cee50f
SB
315 font-size: 22px;
316 line-height: 22px;
317 padding-left: 8px;
57bd8f7d 318 font-weight: bold;
d1cee50f 319 position: relative;
57bd8f7d 320 display: inline-block;
d1cee50f 321 text-align: center;
da5e0658 322 margin-top: 0;
d1cee50f
SB
323 }
324
325 .box {
326 text-align: left;
327 border-radius: calc(var(--box-round) / 2);
328 margin: 5px 0;
329 }
330}
331
b9f1cb69 332/* articles */
2ed0f35d 333h1 {
f38f696b 334 margin: 0;
2ed0f35d
S
335}
336
8e4058cf
EK
337.artlist ul {
338 padding: 0;
5a791e57
EK
339 list-style-type: none;
340}
341
b9f1cb69 342.art-info {
512215ac 343 display: flex;
512215ac 344 flex-direction: row;
ea0081b5 345 flex-wrap: wrap;
512215ac 346 justify-content: space-between;
ea0081b5 347 align-items: baseline;
2ed0f35d
S
348}
349
b7b20c22 350.art-info h1 {
b7b20c22 351 margin-top: 0;
ea0081b5 352 display: inline;
0f23d7fd 353 margin-right: 2em;
b7b20c22
EK
354}
355
b9f1cb69
EK
356.art-body {
357 margin-bottom: 1em;
358}
359
8e4058cf
EK
360@media(--max-sm) {
361 .artlist .heading {
362 padding: 0 0.75em;
363 }
fd277af5
SB
364}
365
8e4058cf
EK
366.artlist ul {
367 max-width: var(--max-width);
368 margin: 2em auto;
369 margin-top: .5em;
d535feaa 370}
371
5a791e57 372.artlist li:not(:first-child) {
545c8ea4 373 border-top: 1px solid var(--border-color);
2ed0f35d
S
374}
375
a7a6cb8f 376.artlist .art {
5a791e57
EK
377 font-weight: bold;
378 font-size: 120%;
379}
380
dbdcf68c 381.art-date {
ea0081b5 382 display: inline-block;
0f23d7fd 383 vertical-align: baseline;
ea0081b5
EK
384 line-height: 1;
385 white-space: nowrap;
d1cee50f 386 color: var(--art-date-color);
512215ac
EK
387 font-feature-settings: "tnum";
388 font-variant-numeric: tabular-nums;
2ed0f35d
S
389}
390
5a791e57
EK
391.artlist .art-date {
392 margin-bottom: .5em;
393}
394
b9f1cb69
EK
395.art-nav {
396 display: flex;
397 flex-direction: row;
398 justify-content: space-between;
399 width: 100%;
2ed0f35d
S
400}
401
76f0d8e1
EK
402.art-nav * {
403 flex-basis: 30%;
404}
405
406.art-nav *:nth-child(1) { text-align: left; }
407.art-nav *:nth-child(2) { text-align: center; }
408.art-nav *:nth-child(3) { text-align: right; }
409
cc0249fc
SB
410blockquote {
411 padding-left: 1em;
412 max-width: calc(var(--max-width) - .7em);
413 display: inline-block;
414 border-left: .5em solid var(--c-shadow);
415 font-style: italic;
416}
417
d1cee50f 418@media (--max-md) {
4ec635fa
EK
419 .main.artlist {
420 padding-left: 0;
421 padding-right: 0;
422 }
423
512215ac 424 .artlist .art-info {
4ec635fa
EK
425 padding: 0 .75em;
426 }
427}
428
81cae952 429/* faq */
91b0633e 430.kb-index {
81cae952
EK
431 list-style-type: none;
432 padding-left: 0;
aad4ef42
EK
433 display: flex;
434 flex-direction: row;
435 flex-wrap: wrap;
436 justify-content: stretch;
81cae952
EK
437}
438
91b0633e 439.kb-index li {
aad4ef42
EK
440 display: block;
441 flex: 1 1 15em;
528842a3 442 height: 3em;
aad4ef42
EK
443 margin: 1em;
444}
445
91b0633e 446.kb-index li h2 {
aad4ef42
EK
447 margin-top: 0;
448}
449
91b0633e 450.kb-index a {
aad4ef42
EK
451 display: block;
452 color: var(--text-color);
453 width: 100%;
454 height: 100%;
455}
91b0633e 456.kb-index a h2 {
aad4ef42
EK
457 color: var(--link-color);
458}
91b0633e 459.kb-index a:hover h2 {
aad4ef42 460 color: var(--link-hover-color);
81cae952
EK
461}
462
2ed0f35d 463/* footer */
daf4b56e 464.footers {
28507109 465 /*min-height: 30vh;*/
ea5b3fae
EK
466 margin-top: -17rem;
467 min-height: 17rem;
daf4b56e
S
468}
469
2ed0f35d 470.footer {
f38f696b 471 background: var(--jumbotron-bg);
545c8ea4 472 color: var(--footer-text-color);
502cdd50 473 width: 100%;
502cdd50 474 box-shadow: 0 -3px 5px rgba(150,150,150,.36);
ea5b3fae 475 min-height: 15.4rem;
0f23d7fd 476 padding: 3em 0;
502cdd50 477}
478
57025cf5
EK
479.footer .fa-fw {
480 height: 14px;
481}
482
502cdd50 483.footer-container {
f38f696b 484 display: flex;
6c2065c4 485 flex-wrap: wrap;
0f23d7fd 486 justify-content: center;
f38f696b 487 align-items: flex-start;
502cdd50 488 margin: 0 auto;
2ed0f35d
S
489}
490
491.footerchild {
502cdd50 492 margin: 0 2em;
f38f696b 493 margin-top: .5em;
0f23d7fd 494 flex-grow: 1;
495 flex-shrink: 0;
28507109
EK
496}
497
498.footerchild:last-child {
7e59dd2d 499 margin-bottom: .5em;
6c2065c4
EK
500}
501
51b09107
EV
502.footer-push {
503 margin-left: auto;
504 width: max-content;
2ed0f35d
S
505}
506
502cdd50 507footer a {
545c8ea4 508 color: var(--footer-link-color);
2ed0f35d
S
509}
510
502cdd50 511footer a:hover {
d1cee50f 512 color: var(--footer-hover-color);
ef54eedd
EK
513}
514
f8883dc0 515.footer h2 {
28507109 516 margin-bottom: .1em;
f38f696b 517 display: inline-block;
f8883dc0
S
518}
519
81cae952
EK
520.footerchild ul, .footerchild ul ul {
521 padding-left: 0;
f38f696b
EK
522 margin-left: 10px;
523 margin-right: 10px;
524 list-style-type: none;
2ed0f35d
S
525}
526
527.footerchild ul ul {
f38f696b 528 padding-left: 30px;
2ed0f35d
S
529}
530
7e59dd2d 531@media (--max-sm) {
a406ba13 532 .footer-container {
f38f696b
EK
533 flex-direction: column;
534 }
db572d44 535
a406ba13
EV
536 .footer-push {
537 margin-left: 0;
7e59dd2d 538 width: 100%;
f38f696b 539 }
db572d44 540
f38f696b
EK
541 .footerchild ul li:last-child {
542 margin-bottom: .5em;
543 }
e9725e62 544
7e59dd2d
SB
545 .footer-push ul li:last-child {
546 margin-bottom: .1em;
547 }
548
f38f696b
EK
549 .hdn {
550 display: none;
551 }
7e59dd2d
SB
552 .footer {
553 padding: .5em 0;
554 }
fbbfcaa8
EK
555 .footer li a {
556 line-height: 1.8;
557 }
7e59dd2d
SB
558 .footer-push ul {
559 display: flex;
560 flex-wrap: wrap;
561 flex-direction: row;
562 justify-content: space-between;
563 align-items: flex-start;
564 text-align: center;
565 }
566 .footer-push ul li {
567 display: inline-block;
fbbfcaa8 568 font-size: 2.5rem;
7e59dd2d 569 }
fbbfcaa8
EK
570 .footerchild ul li img,
571 .footerchild ul li .fa-fw {
572 height: 2.5rem;
7e59dd2d 573 }
2ed0f35d
S
574}
575
502cdd50 576.footer h2, .footer h3 {
f38f696b
EK
577 margin-left: 10px;
578 margin-right: 10px;
2ed0f35d
S
579}
580
81cae952 581footer.copyright {
f38f696b 582 display: flex;
545c8ea4 583 flex-wrap: wrap;
f38f696b 584 justify-content: space-between;
545c8ea4
EK
585 background: var(--copyright-bg);
586 min-height: 1.5rem;
587 color: var(--copyright-text-color);
81cae952
EK
588 padding-left: .5em;
589 padding-right: .5em;
590 overflow: hidden;
db572d44
SB
591}
592
81cae952
EK
593footer.copyright div {
594 display: flex;
595 align-items: center;
ea5b3fae
EK
596 height: 1.6rem;
597 line-height: 1.6rem;
81cae952 598 vertical-align: top;
db572d44
SB
599}
600
81cae952
EK
601.copyright * {
602 margin: 0;
ea5b3fae
EK
603 height: 1.6rem;
604 line-height: 1.6rem;
df74dd1d
SB
605}
606
502cdd50 607.copyright .fa {
608 height: 100%;
5b76ff14
SB
609 vertical-align: top;
610 font-size: 1.4em;
502cdd50 611}
612
81cae952
EK
613.copyright .footer-link {
614 height: 28px;
f38f696b 615 margin-right: .5em;
81cae952
EK
616}
617
618.copyright img {
619 height: 1.5rem;
620 width: auto;
ebee5e25 621}