]> git.ipfire.org Git - ipfire.org.git/blame - src/scss/style.scss
blog: Add login link to footer
[ipfire.org.git] / src / scss / style.scss
CommitLineData
bc5b7100 1@import "variables";
91e44d91 2
8e1ad516 3// Use all Bootstrap modules that we want
bc5b7100
MT
4@import "../bootstrap/scss/functions";
5@import "../bootstrap/scss/variables";
6@import "../bootstrap/scss/mixins";
8e1ad516 7@import "../bootstrap/scss/root";
bc5b7100 8@import "../bootstrap/scss/reboot";
bc5b7100 9@import "../bootstrap/scss/type";
8e1ad516
MT
10@import "../bootstrap/scss/images";
11@import "../bootstrap/scss/code";
bc5b7100
MT
12@import "../bootstrap/scss/grid";
13@import "../bootstrap/scss/tables";
14@import "../bootstrap/scss/forms";
15@import "../bootstrap/scss/buttons";
bc5b7100 16@import "../bootstrap/scss/transitions";
8e1ad516 17@import "../bootstrap/scss/dropdown";
bc5b7100 18@import "../bootstrap/scss/button-group";
8e1ad516 19@import "../bootstrap/scss/input-group";
bc5b7100
MT
20@import "../bootstrap/scss/nav";
21@import "../bootstrap/scss/navbar";
8e1ad516
MT
22@import "../bootstrap/scss/card";
23@import "../bootstrap/scss/pagination";
bc5b7100 24@import "../bootstrap/scss/badge";
8e1ad516 25@import "../bootstrap/scss/alert";
bc5b7100
MT
26@import "../bootstrap/scss/progress";
27@import "../bootstrap/scss/media";
28@import "../bootstrap/scss/list-group";
8e1ad516 29@import "../bootstrap/scss/close";
95b30f84 30@import "../bootstrap/scss/modal";
bc5b7100 31@import "../bootstrap/scss/utilities";
8e1ad516 32@import "../bootstrap/scss/print";
1423222c 33
616bd6a5
MT
34// Include fonts
35@import "fonts";
36
5236a99a 37// Custom stuff
7ca46dd8 38@import '_icons';
5236a99a 39
cc59f0e1 40body {
9f043320
MT
41 // For scrollspy
42 position: relative;
43
cc59f0e1
MT
44 padding-top: 6rem;
45}
46
41f3d31d
MT
47// Buttons
48.btn {
49 text-transform: uppercase;
50}
51
e434c81f
MT
52// Headings
53
54h1 {
55 line-height: 4rem;
825bacca 56 font-weight: 300;
e434c81f
MT
57}
58
59h2 {
60 line-height: 3.5rem;
61}
62
63h3 {
64 line-height: 3rem;
65}
66
67h4 {
68 line-height: 2.75rem;
69}
70
71h5 {
72 line-height: 2rem;
73}
74
75h6 {
76 line-height: 1.75rem;
77}
78
cc59f0e1
MT
79.card {
80 box-shadow: $shadow-1;
81}
82
9f043320
MT
83.nav {
84 .nav-link {
85 color: $blue-grey-900;
86
87 &.active {
88 color: $link-color;
89 border-left: 2px solid $link-color;
90 }
91 }
92}
93
56fdd02c
MT
94.navbar {
95 &.scrolled {
96 background-color: white;
97 box-shadow: $shadow-2;
98
99 transition: background-color 200ms linear;
100 }
dce6f905
MT
101
102 .navbar-nav {
103 .nav-link {
104 color: $blue-grey-900;
105
106 &.active {
107 border-bottom: 2px solid $link-color;
108 }
109 }
110 }
56fdd02c
MT
111}
112
c2cbe16d
S
113footer {
114 .btn-toolbar .icon {
fdae1aac
S
115 height: 2.25rem;
116 width: 2.25rem;
c2cbe16d
S
117 fill: rgba($blue-grey-900, .6);
118 }
119 .i_heart {
fdae1aac
S
120 vertical-align: top;
121 transform: translateY(-.15rem);
122 @include media-breakpoint-down(sm) {
123 transform: translateY(-.75rem);
124 }
c2cbe16d
S
125 }
126}
127
c2cbe16d 128// Sections
319dd276 129
cc59f0e1
MT
130.main {
131 section {
132 padding: 3rem 0;
319dd276 133
cc59f0e1
MT
134 @include media-breakpoint-up(sm) {
135 padding: 72px 0;
136 }
319dd276 137
cc59f0e1
MT
138 h1 {
139 margin-bottom: 64px;
140 }
319dd276 141 }
319dd276 142
cc59f0e1 143 section.intro {
ed163b4b
MT
144 // Make it cover the navbar, too
145 margin-top: -6rem;
146 padding-top: 6rem;
147
cc59f0e1 148 min-height: 100vh;
ed163b4b
MT
149 background-image: url('img/header-background.jpg');
150 background-size: cover;
151 background-attachment: fixed;
152 background-position: center top;
cc59f0e1 153 position: relative;
b4bff93b 154
cc59f0e1 155 .branding {
c79aaf03
MT
156 margin-top: 7.5rem;
157 margin-bottom: 4rem;
319dd276 158
c79aaf03
MT
159 @include media-breakpoint-down(xs) {
160 margin-top: 2.5rem;
cc59f0e1 161 }
319dd276 162
c79aaf03
MT
163 text-align: center;
164
cc59f0e1
MT
165 h1 {
166 margin-bottom: 0;
319dd276 167
cc59f0e1
MT
168 @include media-breakpoint-down(xs) {
169 font-size: 72px;
170 line-height: 88px;
171 }
1423222c 172 }
319dd276 173
cc59f0e1
MT
174 h1:before {
175 content: "";
176 height: 60px;
177 width: 76px;
178 background-image: url('img/ipfire-tux.png');
179 background-repeat: no-repeat;
180 background-position: center center;
181 background-size: contain;
182 display: inline-block;
183 position: relative;
184 top: 4px;
185
186 @include media-breakpoint-up(sm) {
187 height: 120px;
188 width: 93px;
189 margin-right: 32px;
190 top: 8px;
191 }
192 }
319dd276 193
cc59f0e1
MT
194 h5 {
195 color: $blue-grey-600;
319dd276 196
c79aaf03
MT
197 @include media-breakpoint-down(xs) {
198 font-size: 14px;
199 line-height: 20px;
200 }
201 }
319dd276 202 }
1423222c 203 }
f8c4f791 204
cc59f0e1
MT
205 section#news, section#support, footer {
206 background-color: rgba($blue-grey-900, .06);
207 }
319dd276 208
cc59f0e1
MT
209 section#news {
210 color: rgba($blue-grey-900, .6);
211 }
319dd276 212
cc59f0e1
MT
213 section#fireinfo {
214 border-bottom: 1px solid rgba($blue-grey-900, .2);
215 }
319dd276 216
cc59f0e1
MT
217 section#appliances {
218 padding-bottom: 48px;
219 }
319dd276
MT
220}
221
12e5de7e 222.blog-post {
4b2975d2
MT
223 .blog-header {
224 h5 {
225 a {
226 color: $body-color;
227 }
60e77f07
MT
228 }
229 }
8ebc98d4 230
fb37ac29
MT
231 .blog-content {
232 h1, h2, h3, h4, h5, h6 {
233 font-size: 20px;
234 font-weight: $headings-font-weight;
235
236 line-height: 28px;
237
238 margin-bottom: 0.25rem;
239 }
c5cfd0d5
MT
240
241 img {
242 @include img-fluid;
243 }
fb37ac29
MT
244 }
245
8ebc98d4 246 &.lightning-wire-labs {
4b2975d2
MT
247 .blog-header {
248 h5 {
249 a {
250 color: $lwl;
251 }
252 }
253
254 a {
255 color: $lwl;
256 }
257 }
258
259 .blog-content {
260 a {
261 color: $lwl;
262 }
8ebc98d4
MT
263 }
264 }
12e5de7e
MT
265}
266
8bc72662
MT
267// Donations
268
269.faq {
270 a {
271 color: $body-color;
272 }
273}
274
161b0c22 275.donation-explanation {
161b0c22
MT
276 margin-bottom: 2rem;
277
278 p {
279 color: $text-muted;
280 }
281
282 @include media-breakpoint-down(sm) {
283 background-color: $dark;
284 color: $white;
285
f929df78
MT
286 padding: 1.5rem;
287
161b0c22
MT
288 h5, p {
289 color: inherit;
290 }
291 }
292}
293
9f043320
MT
294// Sidebar navigation
295
296#sidebar .nav {
297 position: fixed;
298}
299
f8c4f791
S
300.page-scroll {
301 display: block;
302 visibility: visible;
303 position: absolute;
ed163b4b 304 bottom: 48px;
f8c4f791
S
305 left: 50%;
306 transform: translateX(-50%);
307 .btn {
308 width: 36px;
309 height: 36px;
310 fill: $red_900;
311 @include media-breakpoint-up(sm) {
312 width: 64px;
313 height: 64px;
314 }
315 &:hover .i_arrow_down {
316 fill: white;
1423222c
S
317 }
318 }
4b4334da
S
319}
320
c2cbe16d
S
321.feature_icons {
322 width: 40px;
323 height: 100%;
324 float: left;
325 margin-right: .75rem;
4b4334da
S
326}
327
61975d93
S
328.progress {
329 background-color: rgba(255, 255, 255, .2);
330}
331
c2cbe16d
S
332.circle {
333 position: relative;
f8c4f791 334 p.fireinfo_per {
c2cbe16d
S
335 color: $blue-grey-600;
336 position: absolute;
d56f505e 337 top: calc(50% - 18px);
c2cbe16d
S
338 width: 100%;
339 }
20df8773
S
340}
341
8e4a3eaa 342.fixed-top + .blog-content {
96dd6875 343 padding-top: 88px;
0955047d 344 margin-bottom: 40px;
346e30de 345 @include media-breakpoint-up(lg) {
96dd6875
SH
346 padding-top: 161px;
347 }
0955047d
S
348 .content {
349 background: white;
350 border-radius: 4px;
351 box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 1px 2px 0 rgba(0, 0, 0, 0.2);
352 padding: 40px 24px;
f59b40f6 353 position: relative;
0955047d
S
354 }
355}
356
8e4a3eaa
SH
357.blog-content {
358 margin-bottom: 80px;
359}
360
bf5b46d4 361.divider {
0955047d 362 width: 128px;
bf5b46d4
S
363 height: 4px;
364 border-radius: 2px;
bc5b7100 365 background-image: linear-gradient(to right, $red-900, $orange-a400);
96dd6875
SH
366 margin: 40px auto 24px auto;
367 @include media-breakpoint-up(sm) {
368 margin: 56px auto 40px auto;
369 }
0955047d
S
370}
371
20df8773
S
372footer {
373 padding: 3rem 0 0 0;
8e18ac98
S
374 @include media-breakpoint-down(md) {
375 padding-top: 31px;
376 }
6aa3b1ec
S
377 h4 {
378 margin-bottom: 1.25rem;
c2cbe16d 379 color: rgba($blue-grey-900, .6);
f8c4f791
S
380 font-size: 20px;
381 line-height: 28px;
6aa3b1ec
S
382 }
383 ul {
384 li {
f8c4f791 385 font-size: 14px;
6aa3b1ec
S
386 margin-bottom: .75rem;
387 a {
c2cbe16d 388 color: rgba($blue-grey-900, .6);
6aa3b1ec
S
389 text-decoration: none;
390 &:hover {
c2cbe16d 391 color: $blue-grey-900;
6aa3b1ec
S
392 text-decoration: underline;
393 }
394 }
395 }
396 }
397 .btn-lg {
398 margin-bottom: 2.75rem;
6aa3b1ec
S
399 }
400 .btn-sm {
401 box-shadow: none;
402 &:hover {
403 box-shadow: none;
404 }
6aa3b1ec 405 }
20df8773 406
23015f63
MT
407 .copyright {
408 background-color: rgba($blue-grey-900, .06);
409 padding: $spacer 0;
410
411 font-size: $small-font-size;
412
413 a {
414 color: $text-muted;
415 }
f8c4f791 416 }
ac7f3ec6
S
417}
418
c2cbe16d 419// Animation
c2cbe16d 420@keyframes scroll {
61eaa9b2 421 0%, 100% { transform: translateY(30%); }
fdae1aac 422 50% { transform: translateY(50%); }
7c0605e8 423}