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