]> git.ipfire.org Git - ipfire.org.git/blame - src/scss/style.scss
Refactor donation page
[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 min-height: 75rem;
45 padding-top: 6rem;
46}
47
41f3d31d
MT
48// Buttons
49.btn {
50 text-transform: uppercase;
51}
52
e434c81f
MT
53// Headings
54
55h1 {
56 line-height: 4rem;
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 {
c79aaf03
MT
144 // Make it cover the navbar, too
145 margin-top: -6rem;
146 padding-top: 6rem;
147
cc59f0e1
MT
148 min-height: 100vh;
149 background-image: url('img/header-background.jpg');
150 background-size: cover;
151 background-attachment: fixed;
152 background-position: center top;
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
9f043320
MT
222// Sidebar navigation
223
224#sidebar .nav {
225 position: fixed;
226}
227
f8c4f791
S
228.page-scroll {
229 display: block;
230 visibility: visible;
231 position: absolute;
232 bottom: 48px;
233 left: 50%;
234 transform: translateX(-50%);
235 .btn {
236 width: 36px;
237 height: 36px;
238 fill: $red_900;
239 @include media-breakpoint-up(sm) {
240 width: 64px;
241 height: 64px;
242 }
243 &:hover .i_arrow_down {
244 fill: white;
1423222c
S
245 }
246 }
4b4334da
S
247}
248
c2cbe16d
S
249.feature_icons {
250 width: 40px;
251 height: 100%;
252 float: left;
253 margin-right: .75rem;
4b4334da
S
254}
255
61975d93
S
256.progress {
257 background-color: rgba(255, 255, 255, .2);
258}
259
c2cbe16d
S
260.circle {
261 position: relative;
f8c4f791 262 p.fireinfo_per {
c2cbe16d
S
263 color: $blue-grey-600;
264 position: absolute;
d56f505e 265 top: calc(50% - 18px);
c2cbe16d
S
266 width: 100%;
267 }
20df8773
S
268}
269
8e4a3eaa 270.fixed-top + .blog-content {
96dd6875 271 padding-top: 88px;
0955047d 272 margin-bottom: 40px;
346e30de 273 @include media-breakpoint-up(lg) {
96dd6875
SH
274 padding-top: 161px;
275 }
0955047d
S
276 .content {
277 background: white;
278 border-radius: 4px;
279 box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 1px 2px 0 rgba(0, 0, 0, 0.2);
280 padding: 40px 24px;
f59b40f6 281 position: relative;
0955047d
S
282 }
283}
284
8e4a3eaa
SH
285.blog-content {
286 margin-bottom: 80px;
287}
288
bf5b46d4 289.divider {
0955047d 290 width: 128px;
bf5b46d4
S
291 height: 4px;
292 border-radius: 2px;
bc5b7100 293 background-image: linear-gradient(to right, $red-900, $orange-a400);
96dd6875
SH
294 margin: 40px auto 24px auto;
295 @include media-breakpoint-up(sm) {
296 margin: 56px auto 40px auto;
297 }
0955047d
S
298}
299
20df8773
S
300footer {
301 padding: 3rem 0 0 0;
8e18ac98
S
302 @include media-breakpoint-down(md) {
303 padding-top: 31px;
304 }
6aa3b1ec
S
305 h4 {
306 margin-bottom: 1.25rem;
c2cbe16d 307 color: rgba($blue-grey-900, .6);
f8c4f791
S
308 font-size: 20px;
309 line-height: 28px;
6aa3b1ec
S
310 }
311 ul {
312 li {
f8c4f791 313 font-size: 14px;
6aa3b1ec
S
314 margin-bottom: .75rem;
315 a {
c2cbe16d 316 color: rgba($blue-grey-900, .6);
6aa3b1ec
S
317 text-decoration: none;
318 &:hover {
c2cbe16d 319 color: $blue-grey-900;
6aa3b1ec
S
320 text-decoration: underline;
321 }
322 }
323 }
324 }
325 .btn-lg {
326 margin-bottom: 2.75rem;
6aa3b1ec
S
327 }
328 .btn-sm {
329 box-shadow: none;
330 &:hover {
331 box-shadow: none;
332 }
6aa3b1ec 333 }
20df8773
S
334}
335
c2cbe16d
S
336#copyright {
337 background-color: rgba($blue-grey-900, .06);
338 padding: 1rem 0;
f8c4f791
S
339 p {
340 font-size: 12px;
341 line-height: 16px;
342 }
ac7f3ec6
S
343}
344
c2cbe16d 345// Animation
c2cbe16d 346@keyframes scroll {
61eaa9b2 347 0%, 100% { transform: translateY(30%); }
fdae1aac 348 50% { transform: translateY(50%); }
7c0605e8 349}