]> git.ipfire.org Git - ipfire.org.git/blame - src/scss/style.scss
CSS: Use rounded corners for buttons, etc.
[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
25346297
MT
79.card {
80 color: $dark;
81}
82
9f043320
MT
83.nav {
84 .nav-link {
25346297 85 color: $white;
9f043320
MT
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;
56fdd02c
MT
97
98 transition: background-color 200ms linear;
99 }
dce6f905
MT
100
101 .navbar-nav {
102 .nav-link {
25346297 103 color: $white;
dce6f905
MT
104
105 &.active {
106 border-bottom: 2px solid $link-color;
107 }
108 }
109 }
56fdd02c
MT
110}
111
c2cbe16d
S
112footer {
113 .btn-toolbar .icon {
fdae1aac
S
114 height: 2.25rem;
115 width: 2.25rem;
25346297 116 fill: rgba($gray-400, .6);
c2cbe16d
S
117 }
118 .i_heart {
fdae1aac
S
119 vertical-align: top;
120 transform: translateY(-.15rem);
121 @include media-breakpoint-down(sm) {
122 transform: translateY(-.75rem);
123 }
c2cbe16d
S
124 }
125}
126
c2cbe16d 127// Sections
319dd276 128
cc59f0e1
MT
129.main {
130 section {
131 padding: 3rem 0;
319dd276 132
cc59f0e1
MT
133 @include media-breakpoint-up(sm) {
134 padding: 72px 0;
135 }
319dd276 136
cc59f0e1
MT
137 h1 {
138 margin-bottom: 64px;
139 }
319dd276 140 }
319dd276 141
cc59f0e1 142 section.intro {
ed163b4b
MT
143 // Make it cover the navbar, too
144 margin-top: -6rem;
145 padding-top: 6rem;
146
cc59f0e1 147 min-height: 100vh;
ed163b4b
MT
148 background-image: url('img/header-background.jpg');
149 background-size: cover;
150 background-attachment: fixed;
151 background-position: center top;
cc59f0e1 152 position: relative;
b4bff93b 153
cc59f0e1 154 .branding {
c79aaf03
MT
155 margin-top: 7.5rem;
156 margin-bottom: 4rem;
319dd276 157
c79aaf03
MT
158 @include media-breakpoint-down(xs) {
159 margin-top: 2.5rem;
cc59f0e1 160 }
319dd276 161
c79aaf03
MT
162 text-align: center;
163
cc59f0e1
MT
164 h1 {
165 margin-bottom: 0;
319dd276 166
cc59f0e1
MT
167 @include media-breakpoint-down(xs) {
168 font-size: 72px;
169 line-height: 88px;
170 }
1423222c 171 }
319dd276 172
cc59f0e1
MT
173 h1:before {
174 content: "";
175 height: 60px;
176 width: 76px;
177 background-image: url('img/ipfire-tux.png');
178 background-repeat: no-repeat;
179 background-position: center center;
180 background-size: contain;
181 display: inline-block;
182 position: relative;
183 top: 4px;
184
185 @include media-breakpoint-up(sm) {
186 height: 120px;
187 width: 93px;
188 margin-right: 32px;
189 top: 8px;
190 }
191 }
319dd276 192
cc59f0e1 193 h5 {
25346297 194 color: $white;
319dd276 195
c79aaf03
MT
196 @include media-breakpoint-down(xs) {
197 font-size: 14px;
198 line-height: 20px;
199 }
200 }
319dd276 201 }
1423222c 202 }
f8c4f791 203
cc59f0e1 204 section#news, section#support, footer {
25346297 205 background-color: rgba($gray-800, .06);
cc59f0e1 206 }
319dd276 207
cc59f0e1 208 section#news {
25346297 209 color: rgba($gray-800, .6);
cc59f0e1 210 }
319dd276 211
cc59f0e1 212 section#fireinfo {
25346297 213 border-bottom: 1px solid rgba($gray-800, .2);
cc59f0e1 214 }
319dd276 215
cc59f0e1
MT
216 section#appliances {
217 padding-bottom: 48px;
218 }
319dd276
MT
219}
220
12e5de7e 221.blog-post {
4b2975d2
MT
222 .blog-header {
223 h5 {
224 a {
225 color: $body-color;
226 }
60e77f07
MT
227 }
228 }
8ebc98d4 229
fb37ac29
MT
230 .blog-content {
231 h1, h2, h3, h4, h5, h6 {
232 font-size: 20px;
233 font-weight: $headings-font-weight;
234
235 line-height: 28px;
236
237 margin-bottom: 0.25rem;
238 }
c5cfd0d5
MT
239
240 img {
241 @include img-fluid;
242 }
fb37ac29
MT
243 }
244
8ebc98d4 245 &.lightning-wire-labs {
4b2975d2
MT
246 .blog-header {
247 h5 {
248 a {
249 color: $lwl;
250 }
251 }
252
253 a {
254 color: $lwl;
255 }
256 }
257
258 .blog-content {
259 a {
260 color: $lwl;
261 }
8ebc98d4
MT
262 }
263 }
12e5de7e
MT
264}
265
8bc72662
MT
266// Donations
267
268.faq {
269 a {
270 color: $body-color;
271 }
272}
273
161b0c22 274.donation-explanation {
161b0c22
MT
275 margin-bottom: 2rem;
276
277 p {
278 color: $text-muted;
279 }
280
281 @include media-breakpoint-down(sm) {
282 background-color: $dark;
283 color: $white;
284
f929df78
MT
285 padding: 1.5rem;
286
161b0c22
MT
287 h5, p {
288 color: inherit;
289 }
290 }
291}
292
9f043320
MT
293// Sidebar navigation
294
295#sidebar .nav {
296 position: fixed;
297}
298
f8c4f791
S
299.page-scroll {
300 display: block;
301 visibility: visible;
302 position: absolute;
ed163b4b 303 bottom: 48px;
f8c4f791
S
304 left: 50%;
305 transform: translateX(-50%);
306 .btn {
307 width: 36px;
308 height: 36px;
25346297 309 fill: $red;
f8c4f791
S
310 @include media-breakpoint-up(sm) {
311 width: 64px;
312 height: 64px;
313 }
314 &:hover .i_arrow_down {
315 fill: white;
1423222c
S
316 }
317 }
4b4334da
S
318}
319
c2cbe16d
S
320.feature_icons {
321 width: 40px;
322 height: 100%;
323 float: left;
324 margin-right: .75rem;
4b4334da
S
325}
326
61975d93
S
327.progress {
328 background-color: rgba(255, 255, 255, .2);
329}
330
c2cbe16d
S
331.circle {
332 position: relative;
f8c4f791 333 p.fireinfo_per {
25346297 334 color: $gray-800;
c2cbe16d 335 position: absolute;
d56f505e 336 top: calc(50% - 18px);
c2cbe16d
S
337 width: 100%;
338 }
20df8773
S
339}
340
8e4a3eaa 341.fixed-top + .blog-content {
96dd6875 342 padding-top: 88px;
0955047d 343 margin-bottom: 40px;
346e30de 344 @include media-breakpoint-up(lg) {
96dd6875
SH
345 padding-top: 161px;
346 }
0955047d
S
347 .content {
348 background: white;
349 border-radius: 4px;
0955047d 350 padding: 40px 24px;
f59b40f6 351 position: relative;
0955047d
S
352 }
353}
354
8e4a3eaa
SH
355.blog-content {
356 margin-bottom: 80px;
357}
358
bf5b46d4 359.divider {
0955047d 360 width: 128px;
bf5b46d4
S
361 height: 4px;
362 border-radius: 2px;
25346297 363 background-image: linear-gradient(to right, $red, $gray-400);
96dd6875
SH
364 margin: 40px auto 24px auto;
365 @include media-breakpoint-up(sm) {
366 margin: 56px auto 40px auto;
367 }
0955047d
S
368}
369
20df8773
S
370footer {
371 padding: 3rem 0 0 0;
8e18ac98
S
372 @include media-breakpoint-down(md) {
373 padding-top: 31px;
374 }
6aa3b1ec
S
375 h4 {
376 margin-bottom: 1.25rem;
25346297 377 color: rgba($gray-400, .6);
f8c4f791
S
378 font-size: 20px;
379 line-height: 28px;
6aa3b1ec
S
380 }
381 ul {
382 li {
f8c4f791 383 font-size: 14px;
6aa3b1ec
S
384 margin-bottom: .75rem;
385 a {
25346297 386 color: rgba($gray-400, .6);
6aa3b1ec
S
387 text-decoration: none;
388 &:hover {
25346297 389 color: $gray-400;
6aa3b1ec
S
390 text-decoration: underline;
391 }
392 }
393 }
394 }
395 .btn-lg {
396 margin-bottom: 2.75rem;
6aa3b1ec 397 }
20df8773 398
23015f63 399 .copyright {
25346297 400 background-color: rgba($gray-400, .06);
23015f63
MT
401 padding: $spacer 0;
402
403 font-size: $small-font-size;
404
405 a {
406 color: $text-muted;
407 }
f8c4f791 408 }
ac7f3ec6
S
409}
410
c2cbe16d 411// Animation
c2cbe16d 412@keyframes scroll {
61eaa9b2 413 0%, 100% { transform: translateY(30%); }
fdae1aac 414 50% { transform: translateY(50%); }
7c0605e8 415}