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