]> jfr.im git - irc/freenode/web-7.0.git/blame - static/css/style.css
Merge pull request #142 from freenode/svbeon-patch-1
[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,
50d68b4a 133.main li,
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
b9f1cb69 301.art-info {
7e59dd2d 302 margin-top: 2.1em;
512215ac 303 display: flex;
512215ac 304 flex-direction: row;
ea0081b5 305 flex-wrap: wrap;
512215ac 306 justify-content: space-between;
ea0081b5 307 align-items: baseline;
2ed0f35d
S
308}
309
b7b20c22 310.art-info h1 {
b7b20c22 311 margin-top: 0;
ea0081b5 312 display: inline;
0f23d7fd 313 margin-right: 2em;
b7b20c22
EK
314}
315
b9f1cb69
EK
316.art-body {
317 margin-bottom: 1em;
318}
319
320.artlist {
00873aed 321 max-width: var(--max-width);
588c2afb 322 margin: 0 auto;
fd277af5
SB
323 margin-top: .5em;
324}
325
d535feaa 326.artlist.heading {
36c1b351 327 margin: 8em auto 2em auto;
d535feaa 328 padding: 0 0.75em;
329}
330
b9f1cb69 331.artlist .art-info:not(:first-child) {
545c8ea4 332 border-top: 1px solid var(--border-color);
2ed0f35d
S
333}
334
dbdcf68c 335.art-date {
ea0081b5 336 display: inline-block;
0f23d7fd 337 vertical-align: baseline;
ea0081b5
EK
338 line-height: 1;
339 white-space: nowrap;
d1cee50f 340 color: var(--art-date-color);
512215ac
EK
341 font-feature-settings: "tnum";
342 font-variant-numeric: tabular-nums;
2ed0f35d
S
343}
344
b9f1cb69
EK
345.art-nav {
346 display: flex;
347 flex-direction: row;
348 justify-content: space-between;
349 width: 100%;
2ed0f35d
S
350}
351
d1cee50f 352@media (--max-md) {
4ec635fa
EK
353 .main.artlist {
354 padding-left: 0;
355 padding-right: 0;
356 }
357
512215ac 358 .artlist .art-info {
4ec635fa
EK
359 padding: 0 .75em;
360 }
361}
362
81cae952 363/* faq */
91b0633e 364.kb-index {
81cae952
EK
365 list-style-type: none;
366 padding-left: 0;
aad4ef42
EK
367 display: flex;
368 flex-direction: row;
369 flex-wrap: wrap;
370 justify-content: stretch;
81cae952
EK
371}
372
91b0633e 373.kb-index li {
aad4ef42
EK
374 display: block;
375 flex: 1 1 15em;
376 height: 7em;
377 margin: 1em;
378}
379
91b0633e 380.kb-index li h2 {
aad4ef42
EK
381 margin-top: 0;
382}
383
91b0633e 384.kb-index a {
aad4ef42
EK
385 display: block;
386 color: var(--text-color);
387 width: 100%;
388 height: 100%;
389}
91b0633e 390.kb-index a h2 {
aad4ef42
EK
391 color: var(--link-color);
392}
91b0633e 393.kb-index a:hover h2 {
aad4ef42 394 color: var(--link-hover-color);
81cae952
EK
395}
396
2ed0f35d 397/* footer */
daf4b56e 398.footers {
28507109 399 /*min-height: 30vh;*/
ea5b3fae
EK
400 margin-top: -17rem;
401 min-height: 17rem;
daf4b56e
S
402}
403
2ed0f35d 404.footer {
f38f696b 405 background: var(--jumbotron-bg);
545c8ea4 406 color: var(--footer-text-color);
502cdd50 407 width: 100%;
502cdd50 408 box-shadow: 0 -3px 5px rgba(150,150,150,.36);
ea5b3fae 409 min-height: 15.4rem;
0f23d7fd 410 padding: 3em 0;
502cdd50 411}
412
413.footer-container {
f38f696b 414 display: flex;
6c2065c4 415 flex-wrap: wrap;
0f23d7fd 416 justify-content: center;
f38f696b 417 align-items: flex-start;
502cdd50 418 margin: 0 auto;
2ed0f35d
S
419}
420
421.footerchild {
502cdd50 422 margin: 0 2em;
f38f696b 423 margin-top: .5em;
0f23d7fd 424 flex-grow: 1;
425 flex-shrink: 0;
28507109
EK
426}
427
428.footerchild:last-child {
7e59dd2d 429 margin-bottom: .5em;
6c2065c4
EK
430}
431
51b09107
EV
432.footer-push {
433 margin-left: auto;
434 width: max-content;
2ed0f35d
S
435}
436
502cdd50 437footer a {
545c8ea4 438 color: var(--footer-link-color);
2ed0f35d
S
439}
440
502cdd50 441footer a:hover {
d1cee50f 442 color: var(--footer-hover-color);
ef54eedd
EK
443}
444
f8883dc0 445.footer h2 {
28507109 446 margin-bottom: .1em;
f38f696b 447 display: inline-block;
f8883dc0
S
448}
449
81cae952
EK
450.footerchild ul, .footerchild ul ul {
451 padding-left: 0;
f38f696b
EK
452 margin-left: 10px;
453 margin-right: 10px;
454 list-style-type: none;
2ed0f35d
S
455}
456
457.footerchild ul ul {
f38f696b 458 padding-left: 30px;
2ed0f35d
S
459}
460
7e59dd2d 461@media (--max-sm) {
a406ba13 462 .footer-container {
f38f696b
EK
463 flex-direction: column;
464 }
db572d44 465
a406ba13
EV
466 .footer-push {
467 margin-left: 0;
7e59dd2d 468 width: 100%;
f38f696b 469 }
db572d44 470
f38f696b
EK
471 .footerchild ul li:last-child {
472 margin-bottom: .5em;
473 }
e9725e62 474
7e59dd2d
SB
475 .footer-push ul li:last-child {
476 margin-bottom: .1em;
477 }
478
f38f696b
EK
479 .hdn {
480 display: none;
481 }
7e59dd2d
SB
482 .footer {
483 padding: .5em 0;
484 }
485 .footer-push ul {
486 display: flex;
487 flex-wrap: wrap;
488 flex-direction: row;
489 justify-content: space-between;
490 align-items: flex-start;
491 text-align: center;
492 }
493 .footer-push ul li {
494 display: inline-block;
495 font-size: 12vw;
496 }
497 .footer-push ul li img {
498 height: 12vw;
499 }
2ed0f35d
S
500}
501
502cdd50 502.footer h2, .footer h3 {
f38f696b
EK
503 margin-left: 10px;
504 margin-right: 10px;
2ed0f35d
S
505}
506
81cae952 507footer.copyright {
f38f696b 508 display: flex;
545c8ea4 509 flex-wrap: wrap;
f38f696b 510 justify-content: space-between;
545c8ea4
EK
511 background: var(--copyright-bg);
512 min-height: 1.5rem;
513 color: var(--copyright-text-color);
81cae952
EK
514 padding-left: .5em;
515 padding-right: .5em;
516 overflow: hidden;
db572d44
SB
517}
518
81cae952
EK
519footer.copyright div {
520 display: flex;
521 align-items: center;
ea5b3fae
EK
522 height: 1.6rem;
523 line-height: 1.6rem;
81cae952 524 vertical-align: top;
db572d44
SB
525}
526
81cae952
EK
527.copyright * {
528 margin: 0;
ea5b3fae
EK
529 height: 1.6rem;
530 line-height: 1.6rem;
df74dd1d
SB
531}
532
502cdd50 533.copyright .fa {
534 height: 100%;
5b76ff14
SB
535 vertical-align: top;
536 font-size: 1.4em;
502cdd50 537}
538
81cae952
EK
539.copyright .footer-link {
540 height: 28px;
f38f696b 541 margin-right: .5em;
81cae952
EK
542}
543
544.copyright img {
545 height: 1.5rem;
546 width: auto;
ebee5e25 547}