]> jfr.im git - irc/freenode/web-7.0.git/blob - static/css/style.css
Merge pull request #23 from freenode/design-mobileboxes
[irc/freenode/web-7.0.git] / static / css / style.css
1 /* vars */
2 :root {
3 --navbar-bg: #292f2f;
4 --jumbotron-bg: #3a4346;
5 --copyright-bg: #292f2f;
6 --link-color: 66,139,202;
7 --footer-link-color: #ddd;
8 --nlink-col: #000;
9 --text-color: #333;
10 --footer-text-color: #eee;
11 --copyright-text-color: #ccc;
12 --jumbotron-text-color: #eee;
13 --border-color: #292f2f;
14 --box-hover-color: #ddd;
15 --box-round: 10px;
16 }
17
18 /* reset css for browser compat */
19 * {
20 margin: 0;
21 padding: 0;
22 box-sizing: border-box;
23 }
24
25 /* global */
26 body {
27 font-family: 'Open Sans';
28 color: var(--text-color);
29 font-size: 14px;
30 min-height: 100vh;
31 height: auto;
32 }
33
34 a {
35 color: rgb(var(--link-color));
36 text-decoration: none;
37 }
38
39 /* navbar */
40 .navbar {
41 width: 100%;
42 height: 50px;
43 background-color: var(--navbar-bg);
44 box-shadow: 0 3px 4px rgba(0, 0, 0, 0.5);
45 position: fixed;
46 left: 0;
47 right: 0;
48 top: 0;
49 display: flex;
50 flex-wrap: nowrap;
51 justify-content: space-between;
52 align-items: center;
53 border-bottom: 1px solid var(--border-color);
54 z-index: 100;
55 }
56
57 @media all and (max-width: 600px) {
58 .navbar {
59 position: absolute;
60 }
61 }
62
63 .navbar a {
64 height: 40px;
65 }
66
67 a.nav-light {
68 background-color: #eee;
69 height: 44px;
70 padding: 2px;
71 margin-right: 3px;
72 }
73
74 .nlogo {
75 height: 40px;
76 }
77
78 .navlinks {
79 display: flex;
80 justify-content: space-around;
81 flex-wrap: nowrap;
82 }
83
84 .nlink {
85 text-decoration: none;
86 color: var(--nlink-col);
87 }
88
89 /* main */
90 .container {
91 padding: 50px 0 0;
92 width: 100%;
93 min-height: 98vh;
94 padding-bottom: 11.5rem;
95 }
96
97 .main {
98 margin: 0 .5em;
99 margin-top: 1em;
100 }
101
102 .main h1,
103 .main h2,
104 .main h3,
105 .main li,
106 .main p + p,
107 .main ul + p {
108 margin-top: .5em;
109 }
110
111 .main ul {
112 padding-left: 2em;
113 list-style-type: disc;
114 }
115
116 /* jumbotron */
117 .jumbotron {
118 position: relative;
119 width: 100%;
120 margin-top: -16px;
121 background: var(--jumbotron-bg);
122 box-shadow: 0 1px 5px rgba(0, 0, 0, 0.6);
123 color: var(--jumbotron-text-color);
124 padding: 2em 0;
125 }
126
127 .child {
128 text-align: center;
129 margin: .5em;
130 font-size: 32px;
131 line-height: 48px;
132 }
133
134 .box-container {
135 display: flex;
136 flex-wrap: wrap;
137 justify-content: space-around;
138 align-items: stretch;
139 max-width: 800px;
140 margin: 0 auto;
141 }
142
143 .box {
144 text-align: center;
145 text-decoration: none;
146 color: var(--text-color);
147 margin-bottom: 5px;
148 padding: 5px;
149 flex-basis: 30%;
150 background-color: #fff;
151 border-radius: var(--box-round);
152 -webkit-border-radius: var(--box-round);
153 -moz-border-radius: var(--box-round);
154 }
155
156 .box span {
157 display: block;
158 }
159
160 .box:hover,.box:active {
161 background-color: var(--box-hover-color);
162 }
163
164 .box div{
165 position: relative;
166 top: initial;
167 font-size: 16px;
168 font-weight: normal;
169 line-height: 16px;
170 padding: 10px 0;
171 display: block;
172 }
173
174 .fa-users {
175 margin-top: 5px;
176 }
177
178 .fa-comment,.fa-question {
179 margin-bottom: 5px;
180 }
181
182 .fa-4x {
183 padding-left: 8px;
184 }
185
186 .title {
187 text-align: center;
188 }
189
190 /* articles feed */
191 h1 {
192 margin: 0;
193 }
194
195 div.art {
196 clear: right;
197 min-height: 2em;
198 flex-grow: 1;
199 }
200
201 div.artlist {
202 display: flex;
203 flex-wrap: wrap;
204 justify-content: flex-start;
205 align-items: stretch;
206 margin-top: .5em;
207 }
208
209 @media all and (min-width: 800px) {
210 div.artlist {
211 max-width: 50%;
212 margin-right: auto;
213 margin-left: auto;
214 }
215 }
216
217 div.art:not(:first-child) {
218 border-top: 1px solid var(--border-color);
219 }
220
221 b.art {
222 margin-bottom: 0;
223 font-size: 18px;
224 }
225
226 p.art {
227 margin: 0;
228 }
229
230 p.art-ingress {
231 font-style: italic;
232 margin: 0;
233 }
234
235 .art-date {
236 float: right;
237 color: #ccc;
238 margin: 0 .5em;
239 }
240
241 p.heading {
242 white-space: nowrap;
243 }
244
245 p.art-link {
246 margin-top: 0;
247 }
248
249 /* help */
250 .hmain {
251 display: flex;
252 flex-wrap: wrap;
253 justify-content: space-around;
254 align-items: stretch;
255 }
256
257 a.hchild {
258 color: var(--text-color);
259 /*height: 40px;*/
260 width: 95%;
261 text-align: center;
262 border-top: 1px solid var(--border-color);
263 border-left: 1px solid var(--border-color);
264 border-right: 1px solid var(--border-color);
265 }
266
267 a.hchild:hover,a.hchild:active {
268 background-color: var(--box-hover-color);
269 }
270
271 .hchild:first-child {
272 margin-top: 10px;
273 -webkit-border-top-left-radius: var(--box-round);
274 -webkit-border-top-right-radius: var(--box-round);
275 -moz-border-radius-topleft: var(--box-round);
276 -moz-border-radius-topright: var(--box-round);
277 border-top-left-radius: var(--box-round);
278 border-top-right-radius: var(--box-round);
279 }
280
281 .hchild:last-child {
282 margin-bottom: 10px;
283 border-bottom: 1px solid var(--border-color);
284 -webkit-border-bottom-right-radius: var(--box-round);
285 -webkit-border-bottom-left-radius: var(--box-round);
286 -moz-border-radius-bottomright: var(--box-round);
287 -moz-border-radius-bottomleft: var(--box-round);
288 border-bottom-right-radius: var(--box-round);
289 border-bottom-left-radius: var(--box-round);
290 }
291
292 /* footer */
293 .footers {
294 /*min-height: 30vh;*/
295 margin-top: -11rem;
296 min-height: 11rem;
297 }
298
299 .footer {
300 background: var(--jumbotron-bg);
301 color: var(--footer-text-color);
302 margin-top: 2vh;
303 display: flex;
304 flex-wrap: wrap;
305 justify-content: space-between;
306 align-items: flex-start;
307 box-shadow: 0 -3px 5px rgba(150,150,150,.36);
308 min-height: 9.5rem;
309 }
310
311 .footerchild {
312 margin-top: .5em;
313 flex: 1 1 1px;
314 min-width: 12rem;
315 }
316
317 .footerchild:last-child {
318 margin-bottom: 1em;
319 }
320
321 @media all and (max-width: 60rem) {
322 .footer-push {
323 margin-left: auto;
324 width: max-content;
325 }
326 }
327
328 .footer a {
329 color: var(--footer-link-color);
330 }
331
332 .footer h2 {
333 margin-bottom: .1em;
334 display: inline-block;
335 }
336
337 .footerchild ul,.footerchild ul ul {
338 margin-left: 10px;
339 margin-right: 10px;
340 list-style-type: none;
341 }
342
343 .footerchild ul ul {
344 padding-left: 30px;
345 }
346
347 @media all and (max-width: 600px) {
348 .footer {
349 flex-direction: column;
350 }
351
352 .footerchild {
353 width: 100%;
354 }
355
356 .footer-push {
357 margin-left: 0;
358 }
359
360 .footerchild ul li:last-child {
361 margin-bottom: .5em;
362 }
363
364 .hdn {
365 display: none;
366 }
367
368 .box {
369 text-align: center;
370 }
371
372 .child {
373 font-size: 20px;
374 line-height: 30px;
375 padding: 10px 0 5px;
376 }
377
378 .fa-4x {
379 padding: 0;
380 margin: 0;
381 width: 60px;
382 text-align: center;
383 font-size: 28px;
384 }
385
386 .box-container {
387 flex-direction: column;
388 margin: 0 .5em;
389 }
390
391 .box div {
392 font-size: 22px;
393 line-height: 22px;
394 padding-left: 8px;
395 font-weight: 700;
396 position: relative;
397 display: inline;
398 text-align: center;
399
400 }
401
402 .box {
403 text-align: left;
404 border-radius: calc(var(--box-round) / 2);
405 margin: 5px 0;
406 }
407
408 }
409
410 .footer h2,.footer h3 {
411 margin-left: 10px;
412 margin-right: 10px;
413 }
414
415 .copyright {
416 display: flex;
417 flex-wrap: wrap;
418 justify-content: space-between;
419 align-items: center;
420 background: var(--copyright-bg);
421 min-height: 1.5rem;
422 color: var(--copyright-text-color);
423 }
424
425 a.copyright {
426 background: var(--copyright-bg);
427 margin-bottom: 0;
428 margin-top: 0;
429 margin-left: .5em;
430 margin-right: .5em;
431 width: auto;
432 height: auto;
433 }
434
435 .copyright a img {
436 height: 1.5rem;
437 width: auto;
438 }
439
440 .copyright p {
441 margin-bottom: 0;
442 margin-top: 0;
443 margin-left: .5em;
444 margin-right: .5em;
445 text-align: right;
446 }