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