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