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