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