]> jfr.im git - irc/freenode/web-7.0.git/blame - static/css/style.css
Merge pull request #73 from freenode/condense-palette
[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}
69
2ed0f35d 70/* navbar */
2ed0f35d 71.navbar {
f38f696b
EK
72 width: 100%;
73 height: 50px;
74 background-color: var(--navbar-bg);
545c8ea4 75 box-shadow: 0 3px 4px rgba(0, 0, 0, 0.5);
f38f696b
EK
76 position: fixed;
77 left: 0;
78 right: 0;
79 top: 0;
80 display: flex;
81 flex-wrap: nowrap;
82 justify-content: space-between;
83 align-items: center;
545c8ea4 84 border-bottom: 1px solid var(--border-color);
f38f696b 85 z-index: 100;
15bc3c0b 86 padding-right: 5px;
2ed0f35d
S
87}
88
d1cee50f 89@media (--max-sm); {
545c8ea4
EK
90 .navbar {
91 position: absolute;
92 }
93}
94
95.navbar a {
15bc3c0b 96 margin-top: 2px;
545c8ea4
EK
97 height: 40px;
98}
99
2ed0f35d 100.nlogo {
f38f696b 101 height: 40px;
2ed0f35d
S
102}
103
2ed0f35d 104/* main */
2ed0f35d 105.container {
f38f696b 106 width: 100%;
28507109 107 min-height: 98vh;
588c2afb 108 padding-top: 50px;
28507109 109 padding-bottom: 11.5rem;
2ed0f35d
S
110}
111
112.main {
4f236e86 113 margin: 0 auto;
949bf01c 114 margin-top: .75em;
588c2afb 115 padding: 0 .75em;
4f236e86 116 max-width: var(--max-width);
19ea0778 117 line-height: 1.4;
2ed0f35d
S
118}
119
0e9ffab7
EK
120.main h1,
121.main h2,
122.main h3,
19ea0778 123.main h4,
50d68b4a 124.main li,
19ea0778
EK
125.main pre,
126.main p {
588c2afb 127 margin-top: .7em;
0e9ffab7
EK
128}
129
19ea0778
EK
130.main h1 + p,
131.main h2 + p,
132.main h3 + p,
133.main h3 + p {
134 margin-top: 0;
135}
136
81cae952 137ul {
50d68b4a
EK
138 padding-left: 2em;
139 list-style-type: disc;
140}
141
19ea0778
EK
142hr {
143 margin-top: .8em;
144 margin-bottom: .8em;
145}
146
2ed0f35d 147/* jumbotron */
2ed0f35d 148.jumbotron {
f38f696b
EK
149 position: relative;
150 width: 100%;
151 margin-top: -16px;
f38f696b 152 background: var(--jumbotron-bg);
545c8ea4 153 box-shadow: 0 1px 5px rgba(0, 0, 0, 0.6);
f38f696b 154 color: var(--jumbotron-text-color);
545c8ea4 155 padding: 2em 0;
2ed0f35d
S
156}
157
158.child {
f38f696b 159 text-align: center;
ef54eedd 160 margin: .5em auto;
f38f696b
EK
161 font-size: 32px;
162 line-height: 48px;
ef54eedd 163 max-width: 75%;
2ed0f35d
S
164}
165
166.box-container {
f38f696b
EK
167 display: flex;
168 flex-wrap: wrap;
169 justify-content: space-around;
170 align-items: stretch;
d1cee50f 171 max-width: var(--max-width-box);
6c2065c4 172 margin: 0 auto;
2ed0f35d
S
173}
174
175.box {
6c2065c4 176 text-align: center;
f38f696b 177 text-decoration: none;
ef54eedd 178 color: var(--jumbotron-text-color);
f38f696b 179 margin-bottom: 5px;
f38f696b 180 flex-basis: 30%;
81cae952 181 min-width: 26%;
ef54eedd 182 background-color: var(--box-color);
f38f696b 183 border-radius: var(--box-round);
81cae952 184 padding: 1em;
f38f696b
EK
185}
186
187.box:hover,.box:active {
d439b099 188 color: var(--jumbotron-text-color);
f38f696b
EK
189 background-color: var(--box-hover-color);
190}
191
192.box div{
f38f696b 193 position: relative;
d4b00db0 194 top: initial;
257112d0 195 font-size: 20px;
ef54eedd 196 font-weight: 600;
d4b00db0 197 line-height: 16px;
d4b00db0 198 display: block;
81cae952 199 margin-top: .75em;
e9725e62 200}
201
2ed0f35d 202.fa-users {
d1cee50f 203 margin-top: var(--margin-box-fa);
2ed0f35d
S
204}
205
f38f696b 206.fa-comment,.fa-question {
d1cee50f 207 margin-bottom: var(--margin-box-fa);
2ed0f35d
S
208}
209
210.title {
f38f696b 211 text-align: center;
2ed0f35d
S
212}
213
d1cee50f
SB
214@media (--max-md) {
215 .box {
216 text-align: center;
217 }
218
219 .child {
220 font-size: 20px;
221 line-height: 30px;
222 padding: 10px 0 5px;
223 }
224
225 .fa-4x {
226 padding: 0;
227 margin: 0;
228 width: 60px;
229 text-align: center;
230 font-size: 28px;
231 }
232
233 .box-container {
234 flex-direction: column;
235 margin: 0 .5em;
236 }
237
238 .box div {
239 font-size: 22px;
240 line-height: 22px;
241 padding-left: 8px;
242 font-weight: 700;
243 position: relative;
244 display: inline;
245 text-align: center;
246 }
247
248 .box {
249 text-align: left;
250 border-radius: calc(var(--box-round) / 2);
251 margin: 5px 0;
252 }
253}
254
b9f1cb69 255/* articles */
2ed0f35d 256h1 {
f38f696b 257 margin: 0;
2ed0f35d
S
258}
259
b9f1cb69 260.art-info {
ea0081b5 261 line-height: 1.6;
512215ac 262 display: flex;
512215ac 263 flex-direction: row;
ea0081b5 264 flex-wrap: wrap;
512215ac 265 justify-content: space-between;
ea0081b5 266 align-items: baseline;
2ed0f35d
S
267}
268
b7b20c22 269.art-info h1 {
b7b20c22 270 margin-top: 0;
ea0081b5 271 display: inline;
b7b20c22
EK
272}
273
b9f1cb69
EK
274.art-body {
275 margin-bottom: 1em;
276}
277
278.artlist {
00873aed 279 max-width: var(--max-width);
588c2afb 280 margin: 0 auto;
fd277af5
SB
281 margin-top: .5em;
282}
283
b9f1cb69 284.artlist .art-info:not(:first-child) {
545c8ea4 285 border-top: 1px solid var(--border-color);
2ed0f35d
S
286}
287
dbdcf68c 288.art-date {
ea0081b5
EK
289 display: inline-block;
290 text-align: baseline;
291 line-height: 1;
292 white-space: nowrap;
d1cee50f 293 color: var(--art-date-color);
512215ac
EK
294 font-feature-settings: "tnum";
295 font-variant-numeric: tabular-nums;
2ed0f35d
S
296}
297
b9f1cb69
EK
298.art-nav {
299 display: flex;
300 flex-direction: row;
301 justify-content: space-between;
302 width: 100%;
2ed0f35d
S
303}
304
d1cee50f 305@media (--max-md) {
4ec635fa
EK
306 .main.artlist {
307 padding-left: 0;
308 padding-right: 0;
309 }
310
512215ac 311 .artlist .art-info {
4ec635fa
EK
312 padding: 0 .75em;
313 }
314}
315
81cae952
EK
316/* faq */
317.faq-index {
318 list-style-type: none;
319 padding-left: 0;
320}
321
322.faq-index li {
323 font-size: 120%;
324}
325
2ed0f35d 326/* footer */
daf4b56e 327.footers {
28507109
EK
328 /*min-height: 30vh;*/
329 margin-top: -11rem;
330 min-height: 11rem;
daf4b56e
S
331}
332
2ed0f35d 333.footer {
f38f696b 334 background: var(--jumbotron-bg);
545c8ea4 335 color: var(--footer-text-color);
502cdd50 336 width: 100%;
f38f696b 337 margin-top: 2vh;
502cdd50 338 box-shadow: 0 -3px 5px rgba(150,150,150,.36);
339 min-height: 9.5rem;
340}
341
342.footer-container {
f38f696b 343 display: flex;
6c2065c4 344 flex-wrap: wrap;
f38f696b
EK
345 justify-content: space-between;
346 align-items: flex-start;
502cdd50 347 margin: 0 auto;
2ed0f35d
S
348}
349
350.footerchild {
502cdd50 351 margin: 0 2em;
f38f696b 352 margin-top: .5em;
28507109
EK
353}
354
355.footerchild:last-child {
356 margin-bottom: 1em;
6c2065c4
EK
357}
358
d1cee50f 359@media (--max-rem) {
28507109
EK
360 .footer-push {
361 margin-left: auto;
362 width: max-content;
363 }
2ed0f35d
S
364}
365
502cdd50 366footer a {
545c8ea4 367 color: var(--footer-link-color);
2ed0f35d
S
368}
369
502cdd50 370footer a:hover {
d1cee50f 371 color: var(--footer-hover-color);
ef54eedd
EK
372}
373
f8883dc0 374.footer h2 {
28507109 375 margin-bottom: .1em;
f38f696b 376 display: inline-block;
f8883dc0
S
377}
378
81cae952
EK
379.footerchild ul, .footerchild ul ul {
380 padding-left: 0;
f38f696b
EK
381 margin-left: 10px;
382 margin-right: 10px;
383 list-style-type: none;
2ed0f35d
S
384}
385
386.footerchild ul ul {
f38f696b 387 padding-left: 30px;
2ed0f35d
S
388}
389
d1cee50f 390@media (--max-md) {
f38f696b
EK
391 .footer {
392 flex-direction: column;
393 }
db572d44 394
f38f696b
EK
395 .footerchild {
396 width: 100%;
397 }
db572d44 398
6c2065c4
EK
399 .footer-push {
400 margin-left: 0;
401 }
402
f38f696b
EK
403 .footerchild ul li:last-child {
404 margin-bottom: .5em;
405 }
e9725e62 406
f38f696b
EK
407 .hdn {
408 display: none;
409 }
2ed0f35d
S
410}
411
502cdd50 412.footer h2, .footer h3 {
f38f696b
EK
413 margin-left: 10px;
414 margin-right: 10px;
2ed0f35d
S
415}
416
81cae952 417footer.copyright {
f38f696b 418 display: flex;
545c8ea4 419 flex-wrap: wrap;
f38f696b 420 justify-content: space-between;
545c8ea4
EK
421 background: var(--copyright-bg);
422 min-height: 1.5rem;
423 color: var(--copyright-text-color);
81cae952
EK
424 padding-left: .5em;
425 padding-right: .5em;
426 overflow: hidden;
db572d44
SB
427}
428
81cae952
EK
429footer.copyright div {
430 display: flex;
431 align-items: center;
432 height: 1.5rem;
433 line-height: 1.5rem;
434 vertical-align: top;
db572d44
SB
435}
436
81cae952
EK
437.copyright * {
438 margin: 0;
28507109 439 height: 1.5rem;
81cae952 440 line-height: 1.5rem;
df74dd1d
SB
441}
442
502cdd50 443.copyright .fa {
444 height: 100%;
5b76ff14
SB
445 vertical-align: top;
446 font-size: 1.4em;
502cdd50 447}
448
81cae952
EK
449.copyright .footer-link {
450 height: 28px;
f38f696b 451 margin-right: .5em;
81cae952
EK
452}
453
454.copyright img {
455 height: 1.5rem;
456 width: auto;
ebee5e25 457}