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