]> jfr.im git - irc/freenode/web-7.0.git/blame - static/css/style.css
removes off-white color (unused)
[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);
55bc73dc 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 {
ffc164dc 80 color: var(--c-light);
f38f696b
EK
81 width: 100%;
82 height: 50px;
83 background-color: var(--navbar-bg);
545c8ea4 84 box-shadow: 0 3px 4px rgba(0, 0, 0, 0.5);
f38f696b
EK
85 position: fixed;
86 left: 0;
87 right: 0;
88 top: 0;
89 display: flex;
90 flex-wrap: nowrap;
91 justify-content: space-between;
92 align-items: center;
545c8ea4 93 border-bottom: 1px solid var(--border-color);
f38f696b 94 z-index: 100;
15bc3c0b 95 padding-right: 5px;
2ed0f35d
S
96}
97
e43e6fbd 98@media (--max-sm) {
545c8ea4
EK
99 .navbar {
100 position: absolute;
101 }
102}
103
104.navbar a {
15bc3c0b 105 margin-top: 2px;
545c8ea4
EK
106 height: 40px;
107}
108
457df43b
SB
109/* nav = navbar
110 * pia = Private Internet access
111 */
ffc164dc
EK
112#nav-logo { order: 10; }
113#nav-pia { order: 30; }
114
115#nav-jump { order: 1000; }
116
117#nav-search {
118 order: 20;
119 margin-left: auto;
120 line-height: 35px;
121}
122
123#nav-search input {
124 background-color: var(--c-bg-dark);
125 border-style: none;
126 border-radius: 2px;
127 color: var(--c-light);
128 padding: .5em;
129 padding-right: 2em;
130 margin-right: -2em;
131}
132
133#nav-label {
134 display: inline-block;
135 width: 2em;
136 margin-right: .7em;
137}
138
139@media (--max-sm) {
140 #nav-search {
141 order: 100;
142 margin: 0 .5em;
143 }
144
145 #nav-pia {
146 margin-left: auto;
147 }
148
149 #nav-label {
150 width: auto;
151 margin: 0 .5em;
152 }
153
154 #nav-searchbox:not(:focus) {
155 display: inline-block;
156 position: absolute;
157 height: 0;
158 width: 0;
159 padding: 0;
160 margin: 0;
161 background: transparent;
162 overflow: hidden;
163 }
164
165 #nav-searchbox:focus {
166 position: absolute;
167 visibility: visible;
168 outline: none;
169 top: 0;
170 left: 0;
171 right: 0;
172 height: 50px;
173 line-height: 50px;
174 font-size: 1.5em;
175 padding-right: 2.5em;
176 width: 100%;
177 }
178
179 #nav-searchbox:focus + #nav-label {
180 display: block;
181 position: absolute;
182 pointer-events: none;
183 top: 0;
184 right: 0;
185 width: 1.5em;
186 font-size: 2em;
187 line-height: 50px;
188 padding-top: -.1em;
189 margin: 0;
190 }
191}
192
457df43b
SB
193/* n = nav */
194.nlogo { height: 40px; }
2ed0f35d 195
457df43b 196/* t = text (used in jumbotron for small logo as text) */
90257b61 197.tlogo {
e46a0cc3
EK
198 height: 2.4ex;
199 margin-bottom: -.47ex;
90257b61
AM
200 margin-left: -10px;
201 margin-right: -10px;
202}
203
2ed0f35d 204/* main */
2ed0f35d 205.container {
f38f696b 206 width: 100%;
0a1e9a90
EK
207 min-height: 100vh;
208 padding-top: 50px;
ea5b3fae 209 padding-bottom: 17.5rem;
2ed0f35d
S
210}
211
212.main {
0a1e9a90 213 margin: 2em auto;
588c2afb 214 padding: 0 .75em;
4f236e86 215 max-width: var(--max-width);
10218a76 216 line-height: 1.8;
2ed0f35d
S
217}
218
0e9ffab7
EK
219.main h1,
220.main h2,
221.main h3,
19ea0778 222.main h4,
6908d6d7
EK
223.main h5,
224.main h6,
96915a91 225.main li,
19ea0778 226.main pre,
cc0249fc 227.main p,
9bb233b4 228.main blockquote {
588c2afb 229 margin-top: .7em;
0e9ffab7
EK
230}
231
96915a91
EK
232.artlist li {
233 margin-top: 0;
234}
235
19ea0778
EK
236.main h1 + p,
237.main h2 + p,
238.main h3 + p,
6908d6d7
EK
239.main h4 + p,
240.main h5 + p,
241.main h6 + p,
9bb233b4 242.main blockquote > p:first-child {
19ea0778
EK
243 margin-top: 0;
244}
245
ae820f7b
FB
246
247.main pre {
55bc73dc 248 padding: .5em .75em;
9a913923 249 border: 1px solid var(--c-border);
ae820f7b
FB
250 overflow-x: auto;
251}
252
9a913923
FB
253.main :not(pre)>code {
254 padding: 0 0.2em;
255}
256
257.main pre, .main :not(pre)>code {
258 background: var(--c-shadow);
ae820f7b 259 border-radius: .25em;
55bc73dc
SB
260}
261
98bbf581
S
262.toclink,
263.toclink:hover {
264 color: var(--text-color);
265}
266
267.toclink::after {
268 content: ' \f13d';
269 font-family: FontAwesome;
270 color: var(--link-color);
271 font-weight: normal;
e4b1b92b
S
272 opacity: 0;
273 transition: opacity .08s;
274}
275
98bbf581 276.toclink:hover::after {
e4b1b92b 277 opacity: 1;
98bbf581 278 color: var(--link-hover-color);
e4b1b92b
S
279}
280
281@media (--max-sm) {
98bbf581 282 .toclink::after {
e4b1b92b
S
283 opacity: 1;
284 }
285}
286
81cae952 287ul {
50d68b4a
EK
288 padding-left: 2em;
289 list-style-type: disc;
290}
291
f2fdabcd
SB
292ol {
293 padding-left: 2em;
294 list-style-type: decimal;
295}
296
19ea0778
EK
297hr {
298 margin-top: .8em;
299 margin-bottom: .8em;
300}
301
30b54282
EK
302table {
303 border: 1px solid var(--c-dark);
304 border-collapse: collapse;
305}
306
307th, td {
308 margin: .2em;
309}
310
311th {
312 background-color: var(--c-bg-dark);
313 color: var(--c-light);
314}
315
316td {
317 padding: .2em .5em;
318}
319
320td:not(:first-child), th:not(:first-child) {
321 border-left: 1px solid var(--c-dark);
322}
323
1fb25165
EK
324tr:nth-child(odd) {
325 background-color: var(--c-shadow);
326}
327
2ed0f35d 328/* jumbotron */
2ed0f35d 329.jumbotron {
f38f696b
EK
330 position: relative;
331 width: 100%;
0a1e9a90 332 margin-top: -50px;
f38f696b 333 background: var(--jumbotron-bg);
545c8ea4 334 box-shadow: 0 1px 5px rgba(0, 0, 0, 0.6);
f38f696b 335 color: var(--jumbotron-text-color);
7e59dd2d
SB
336 padding: 4em 0 4em 0;
337}
338
457df43b 339/* j = jumbotron */
7e59dd2d 340.jindex {
90257b61 341 z-index: 99;
7e59dd2d
SB
342}
343
344.jlogo {
345 display: block;
346 margin: 25px auto;
347}
348
349.jpia {
350 position: absolute;
351 height: 40px;
ea5b3fae 352 right: 0;
7e59dd2d
SB
353 top: 0;
354 margin: 25px;
355}
356
357@media (--max-sm) {
358 .jlogo {
359 margin: 2em auto -2em auto;
360 }
361 .jumbotron {
362 padding-bottom: 2em;
363 }
2ed0f35d
S
364}
365
366.child {
f38f696b 367 text-align: center;
ef54eedd 368 margin: .5em auto;
f38f696b
EK
369 font-size: 32px;
370 line-height: 48px;
ef54eedd 371 max-width: 75%;
2ed0f35d
S
372}
373
374.box-container {
f38f696b
EK
375 display: flex;
376 flex-wrap: wrap;
377 justify-content: space-around;
378 align-items: stretch;
d1cee50f 379 max-width: var(--max-width-box);
6c2065c4 380 margin: 0 auto;
2ed0f35d
S
381}
382
383.box {
6c2065c4 384 text-align: center;
f38f696b 385 text-decoration: none;
ef54eedd 386 color: var(--jumbotron-text-color);
f38f696b 387 margin-bottom: 5px;
f38f696b 388 flex-basis: 30%;
81cae952 389 min-width: 26%;
ef54eedd 390 background-color: var(--box-color);
f38f696b 391 border-radius: var(--box-round);
81cae952 392 padding: 1em;
f38f696b
EK
393}
394
395.box:hover,.box:active {
d439b099 396 color: var(--jumbotron-text-color);
f38f696b
EK
397 background-color: var(--box-hover-color);
398}
399
57bd8f7d 400.box span {
f38f696b 401 position: relative;
d4b00db0 402 top: initial;
257112d0 403 font-size: 20px;
ef54eedd 404 font-weight: 600;
d4b00db0 405 line-height: 16px;
d4b00db0 406 display: block;
81cae952 407 margin-top: .75em;
e9725e62 408}
409
457df43b 410/* fa = font awesome */
2ed0f35d 411.fa-users {
d1cee50f 412 margin-top: var(--margin-box-fa);
2ed0f35d
S
413}
414
cd9b0475 415.fa-comments,.fa-question {
d1cee50f 416 margin-bottom: var(--margin-box-fa);
2ed0f35d
S
417}
418
419.title {
f38f696b 420 text-align: center;
2ed0f35d
S
421}
422
d1cee50f
SB
423@media (--max-md) {
424 .box {
425 text-align: center;
426 }
427
428 .child {
429 font-size: 20px;
430 line-height: 30px;
431 padding: 10px 0 5px;
432 }
433
434 .fa-4x {
435 padding: 0;
436 margin: 0;
437 width: 60px;
438 text-align: center;
439 font-size: 28px;
440 }
441
442 .box-container {
443 flex-direction: column;
444 margin: 0 .5em;
445 }
446
57bd8f7d 447 .box span {
d1cee50f
SB
448 font-size: 22px;
449 line-height: 22px;
450 padding-left: 8px;
57bd8f7d 451 font-weight: bold;
d1cee50f 452 position: relative;
57bd8f7d 453 display: inline-block;
d1cee50f 454 text-align: center;
da5e0658 455 margin-top: 0;
d1cee50f
SB
456 }
457
458 .box {
459 text-align: left;
460 border-radius: calc(var(--box-round) / 2);
461 margin: 5px 0;
462 }
463}
464
b9f1cb69 465/* articles */
2ed0f35d 466h1 {
f38f696b 467 margin: 0;
2ed0f35d 468}
457df43b 469/* art = article */
8e4058cf
EK
470.artlist ul {
471 padding: 0;
5a791e57
EK
472 list-style-type: none;
473}
474
b9f1cb69 475.art-info {
512215ac 476 display: flex;
512215ac 477 flex-direction: row;
ea0081b5 478 flex-wrap: wrap;
512215ac 479 justify-content: space-between;
ea0081b5 480 align-items: baseline;
2ed0f35d
S
481}
482
b7b20c22 483.art-info h1 {
b7b20c22 484 margin-top: 0;
ea0081b5 485 display: inline;
0f23d7fd 486 margin-right: 2em;
b7b20c22
EK
487}
488
df8e5765
EK
489.art-warning {
490 margin-bottom: 2em;
491 padding: .5em;
492 border: 1px solid var(--border-color);
493 color: red;
494}
495
b9f1cb69
EK
496.art-body {
497 margin-bottom: 1em;
498}
499
8e4058cf
EK
500@media(--max-sm) {
501 .artlist .heading {
502 padding: 0 0.75em;
503 }
fd277af5
SB
504}
505
8e4058cf
EK
506.artlist ul {
507 max-width: var(--max-width);
508 margin: 2em auto;
509 margin-top: .5em;
d535feaa 510}
511
5a791e57 512.artlist li:not(:first-child) {
545c8ea4 513 border-top: 1px solid var(--border-color);
2ed0f35d
S
514}
515
a7a6cb8f 516.artlist .art {
5a791e57
EK
517 font-weight: bold;
518 font-size: 120%;
519}
520
dbdcf68c 521.art-date {
ea0081b5 522 display: inline-block;
0f23d7fd 523 vertical-align: baseline;
ea0081b5
EK
524 line-height: 1;
525 white-space: nowrap;
d1cee50f 526 color: var(--art-date-color);
512215ac
EK
527 font-feature-settings: "tnum";
528 font-variant-numeric: tabular-nums;
2ed0f35d
S
529}
530
5a791e57
EK
531.artlist .art-date {
532 margin-bottom: .5em;
533}
534
b9f1cb69
EK
535.art-nav {
536 display: flex;
537 flex-direction: row;
538 justify-content: space-between;
539 width: 100%;
2ed0f35d
S
540}
541
76f0d8e1
EK
542.art-nav * {
543 flex-basis: 30%;
544}
545
546.art-nav *:nth-child(1) { text-align: left; }
547.art-nav *:nth-child(2) { text-align: center; }
548.art-nav *:nth-child(3) { text-align: right; }
549
cc0249fc
SB
550blockquote {
551 padding-left: 1em;
cc0249fc
SB
552 display: inline-block;
553 border-left: .5em solid var(--c-shadow);
554 font-style: italic;
555}
556
d1cee50f 557@media (--max-md) {
4ec635fa
EK
558 .main.artlist {
559 padding-left: 0;
560 padding-right: 0;
561 }
562
512215ac 563 .artlist .art-info {
4ec635fa
EK
564 padding: 0 .75em;
565 }
566}
567
81cae952 568/* faq */
457df43b 569/* kb = knowledge base */
91b0633e 570.kb-index {
81cae952
EK
571 list-style-type: none;
572 padding-left: 0;
aad4ef42
EK
573 display: flex;
574 flex-direction: row;
575 flex-wrap: wrap;
576 justify-content: stretch;
81cae952
EK
577}
578
91b0633e 579.kb-index li {
aad4ef42
EK
580 display: block;
581 flex: 1 1 15em;
528842a3 582 height: 3em;
aad4ef42
EK
583 margin: 1em;
584}
585
91b0633e 586.kb-index li h2 {
aad4ef42
EK
587 margin-top: 0;
588}
589
91b0633e 590.kb-index a {
aad4ef42
EK
591 display: block;
592 color: var(--text-color);
593 width: 100%;
594 height: 100%;
595}
91b0633e 596.kb-index a h2 {
aad4ef42
EK
597 color: var(--link-color);
598}
91b0633e 599.kb-index a:hover h2 {
aad4ef42 600 color: var(--link-hover-color);
81cae952
EK
601}
602
2ed0f35d 603/* footer */
daf4b56e 604.footers {
28507109 605 /*min-height: 30vh;*/
ea5b3fae
EK
606 margin-top: -17rem;
607 min-height: 17rem;
daf4b56e
S
608}
609
2ed0f35d 610.footer {
f38f696b 611 background: var(--jumbotron-bg);
545c8ea4 612 color: var(--footer-text-color);
502cdd50 613 width: 100%;
502cdd50 614 box-shadow: 0 -3px 5px rgba(150,150,150,.36);
ea5b3fae 615 min-height: 15.4rem;
0f23d7fd 616 padding: 3em 0;
502cdd50 617}
618
57025cf5
EK
619.footer .fa-fw {
620 height: 14px;
621}
622
502cdd50 623.footer-container {
f38f696b 624 display: flex;
6c2065c4 625 flex-wrap: wrap;
0f23d7fd 626 justify-content: center;
f38f696b 627 align-items: flex-start;
502cdd50 628 margin: 0 auto;
2ed0f35d
S
629}
630
631.footerchild {
502cdd50 632 margin: 0 2em;
f38f696b 633 margin-top: .5em;
1e8d02c5 634 flex-grow: 1;
0f23d7fd 635 flex-shrink: 0;
28507109
EK
636}
637
638.footerchild:last-child {
7e59dd2d 639 margin-bottom: .5em;
6c2065c4
EK
640}
641
51b09107
EV
642.footer-push {
643 margin-left: auto;
644 width: max-content;
2ed0f35d
S
645}
646
502cdd50 647footer a {
545c8ea4 648 color: var(--footer-link-color);
2ed0f35d
S
649}
650
502cdd50 651footer a:hover {
d1cee50f 652 color: var(--footer-hover-color);
ef54eedd
EK
653}
654
f8883dc0 655.footer h2 {
28507109 656 margin-bottom: .1em;
f38f696b 657 display: inline-block;
f8883dc0
S
658}
659
81cae952
EK
660.footerchild ul, .footerchild ul ul {
661 padding-left: 0;
f38f696b
EK
662 margin-left: 10px;
663 margin-right: 10px;
664 list-style-type: none;
2ed0f35d
S
665}
666
667.footerchild ul ul {
f38f696b 668 padding-left: 30px;
2ed0f35d
S
669}
670
7e59dd2d 671@media (--max-sm) {
a406ba13 672 .footer-container {
f38f696b
EK
673 flex-direction: column;
674 }
db572d44 675
a406ba13
EV
676 .footer-push {
677 margin-left: 0;
7e59dd2d 678 width: 100%;
f38f696b 679 }
db572d44 680
f38f696b
EK
681 .footerchild ul li:last-child {
682 margin-bottom: .5em;
683 }
e9725e62 684
7e59dd2d
SB
685 .footer-push ul li:last-child {
686 margin-bottom: .1em;
687 }
688
457df43b 689 /* hdn = hidden */
f38f696b
EK
690 .hdn {
691 display: none;
692 }
7e59dd2d
SB
693 .footer {
694 padding: .5em 0;
695 }
fbbfcaa8
EK
696 .footer li a {
697 line-height: 1.8;
698 }
7e59dd2d
SB
699 .footer-push ul {
700 display: flex;
701 flex-wrap: wrap;
702 flex-direction: row;
703 justify-content: space-between;
704 align-items: flex-start;
705 text-align: center;
706 }
707 .footer-push ul li {
708 display: inline-block;
fbbfcaa8 709 font-size: 2.5rem;
7e59dd2d 710 }
fbbfcaa8
EK
711 .footerchild ul li img,
712 .footerchild ul li .fa-fw {
45d71cbd 713 height: 3.5rem;
7e59dd2d 714 }
2ed0f35d
S
715}
716
502cdd50 717.footer h2, .footer h3 {
f38f696b
EK
718 margin-left: 10px;
719 margin-right: 10px;
2ed0f35d
S
720}
721
81cae952 722footer.copyright {
f38f696b 723 display: flex;
545c8ea4 724 flex-wrap: wrap;
1e8d02c5 725 justify-content: space-between;
545c8ea4
EK
726 background: var(--copyright-bg);
727 min-height: 1.5rem;
728 color: var(--copyright-text-color);
1e8d02c5
S
729 padding-left: .5em;
730 padding-right: .5em;
81cae952 731 overflow: hidden;
db572d44
SB
732}
733
81cae952 734footer.copyright div {
1e8d02c5 735 display: flex;
81cae952 736 align-items: center;
ea5b3fae
EK
737 height: 1.6rem;
738 line-height: 1.6rem;
81cae952 739 vertical-align: top;
db572d44
SB
740}
741
81cae952
EK
742.copyright * {
743 margin: 0;
ea5b3fae
EK
744 height: 1.6rem;
745 line-height: 1.6rem;
df74dd1d
SB
746}
747
502cdd50 748.copyright .fa {
749 height: 100%;
5b76ff14
SB
750 vertical-align: top;
751 font-size: 1.4em;
502cdd50 752}
753
81cae952
EK
754.copyright .footer-link {
755 height: 28px;
f38f696b 756 margin-right: .5em;
81cae952
EK
757}
758
759.copyright img {
81cae952 760 width: auto;
ebee5e25 761}