]> git.ipfire.org Git - ipfire.org.git/blob - src/scss/style.scss
blog: Make all images responsive
[ipfire.org.git] / src / scss / style.scss
1 @import "variables";
2
3 // Use all Bootstrap modules that we want
4 @import "../bootstrap/scss/functions";
5 @import "../bootstrap/scss/variables";
6 @import "../bootstrap/scss/mixins";
7 @import "../bootstrap/scss/root";
8 @import "../bootstrap/scss/reboot";
9 @import "../bootstrap/scss/type";
10 @import "../bootstrap/scss/images";
11 @import "../bootstrap/scss/code";
12 @import "../bootstrap/scss/grid";
13 @import "../bootstrap/scss/tables";
14 @import "../bootstrap/scss/forms";
15 @import "../bootstrap/scss/buttons";
16 @import "../bootstrap/scss/transitions";
17 @import "../bootstrap/scss/dropdown";
18 @import "../bootstrap/scss/button-group";
19 @import "../bootstrap/scss/input-group";
20 @import "../bootstrap/scss/nav";
21 @import "../bootstrap/scss/navbar";
22 @import "../bootstrap/scss/card";
23 @import "../bootstrap/scss/pagination";
24 @import "../bootstrap/scss/badge";
25 @import "../bootstrap/scss/alert";
26 @import "../bootstrap/scss/progress";
27 @import "../bootstrap/scss/media";
28 @import "../bootstrap/scss/list-group";
29 @import "../bootstrap/scss/close";
30 @import "../bootstrap/scss/modal";
31 @import "../bootstrap/scss/utilities";
32 @import "../bootstrap/scss/print";
33
34 // Include fonts
35 @import "fonts";
36
37 // Custom stuff
38 @import '_icons';
39
40 body {
41 // For scrollspy
42 position: relative;
43
44 min-height: 75rem;
45 padding-top: 6rem;
46
47 &.background {
48 background-image: url("img/header-background.jpg");
49 background-position: center top;
50 background-repeat: no-repeat;
51 background-size: contain;
52 }
53 }
54
55 // Buttons
56 .btn {
57 text-transform: uppercase;
58 }
59
60 // Headings
61
62 h1 {
63 line-height: 4rem;
64 font-weight: 300;
65 }
66
67 h2 {
68 line-height: 3.5rem;
69 }
70
71 h3 {
72 line-height: 3rem;
73 }
74
75 h4 {
76 line-height: 2.75rem;
77 }
78
79 h5 {
80 line-height: 2rem;
81 }
82
83 h6 {
84 line-height: 1.75rem;
85 }
86
87 .card {
88 box-shadow: $shadow-1;
89 }
90
91 .nav {
92 .nav-link {
93 color: $blue-grey-900;
94
95 &.active {
96 color: $link-color;
97 border-left: 2px solid $link-color;
98 }
99 }
100 }
101
102 .navbar {
103 &.scrolled {
104 background-color: white;
105 box-shadow: $shadow-2;
106
107 transition: background-color 200ms linear;
108 }
109
110 .navbar-nav {
111 .nav-link {
112 color: $blue-grey-900;
113
114 &.active {
115 border-bottom: 2px solid $link-color;
116 }
117 }
118 }
119 }
120
121 footer {
122 .btn-toolbar .icon {
123 height: 2.25rem;
124 width: 2.25rem;
125 fill: rgba($blue-grey-900, .6);
126 }
127 .i_heart {
128 vertical-align: top;
129 transform: translateY(-.15rem);
130 @include media-breakpoint-down(sm) {
131 transform: translateY(-.75rem);
132 }
133 }
134 }
135
136 // Sections
137
138 .main {
139 section {
140 padding: 3rem 0;
141
142 @include media-breakpoint-up(sm) {
143 padding: 72px 0;
144 }
145
146 h1 {
147 margin-bottom: 64px;
148 }
149 }
150
151 section.intro {
152 min-height: 100vh;
153 position: relative;
154
155 .branding {
156 margin-top: 7.5rem;
157 margin-bottom: 4rem;
158
159 @include media-breakpoint-down(xs) {
160 margin-top: 2.5rem;
161 }
162
163 text-align: center;
164
165 h1 {
166 margin-bottom: 0;
167
168 @include media-breakpoint-down(xs) {
169 font-size: 72px;
170 line-height: 88px;
171 }
172 }
173
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 }
193
194 h5 {
195 color: $blue-grey-600;
196
197 @include media-breakpoint-down(xs) {
198 font-size: 14px;
199 line-height: 20px;
200 }
201 }
202 }
203 }
204
205 section#news, section#support, footer {
206 background-color: rgba($blue-grey-900, .06);
207 }
208
209 section#news {
210 color: rgba($blue-grey-900, .6);
211 }
212
213 section#fireinfo {
214 border-bottom: 1px solid rgba($blue-grey-900, .2);
215 }
216
217 section#appliances {
218 padding-bottom: 48px;
219 }
220 }
221
222 .blog-post {
223 .blog-header {
224 h5 {
225 a {
226 color: $body-color;
227 }
228 }
229 }
230
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 }
240
241 img {
242 @include img-fluid;
243 }
244 }
245
246 &.lightning-wire-labs {
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 }
263 }
264 }
265 }
266
267 // Sidebar navigation
268
269 #sidebar .nav {
270 position: fixed;
271 }
272
273 .page-scroll {
274 display: block;
275 visibility: visible;
276 position: absolute;
277 bottom: 164px;
278 left: 50%;
279 transform: translateX(-50%);
280 .btn {
281 width: 36px;
282 height: 36px;
283 fill: $red_900;
284 @include media-breakpoint-up(sm) {
285 width: 64px;
286 height: 64px;
287 }
288 &:hover .i_arrow_down {
289 fill: white;
290 }
291 }
292 }
293
294 .feature_icons {
295 width: 40px;
296 height: 100%;
297 float: left;
298 margin-right: .75rem;
299 }
300
301 .progress {
302 background-color: rgba(255, 255, 255, .2);
303 }
304
305 .circle {
306 position: relative;
307 p.fireinfo_per {
308 color: $blue-grey-600;
309 position: absolute;
310 top: calc(50% - 18px);
311 width: 100%;
312 }
313 }
314
315 .fixed-top + .blog-content {
316 padding-top: 88px;
317 margin-bottom: 40px;
318 @include media-breakpoint-up(lg) {
319 padding-top: 161px;
320 }
321 .content {
322 background: white;
323 border-radius: 4px;
324 box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 1px 2px 0 rgba(0, 0, 0, 0.2);
325 padding: 40px 24px;
326 position: relative;
327 }
328 }
329
330 .blog-content {
331 margin-bottom: 80px;
332 }
333
334 .divider {
335 width: 128px;
336 height: 4px;
337 border-radius: 2px;
338 background-image: linear-gradient(to right, $red-900, $orange-a400);
339 margin: 40px auto 24px auto;
340 @include media-breakpoint-up(sm) {
341 margin: 56px auto 40px auto;
342 }
343 }
344
345 footer {
346 padding: 3rem 0 0 0;
347 @include media-breakpoint-down(md) {
348 padding-top: 31px;
349 }
350 h4 {
351 margin-bottom: 1.25rem;
352 color: rgba($blue-grey-900, .6);
353 font-size: 20px;
354 line-height: 28px;
355 }
356 ul {
357 li {
358 font-size: 14px;
359 margin-bottom: .75rem;
360 a {
361 color: rgba($blue-grey-900, .6);
362 text-decoration: none;
363 &:hover {
364 color: $blue-grey-900;
365 text-decoration: underline;
366 }
367 }
368 }
369 }
370 .btn-lg {
371 margin-bottom: 2.75rem;
372 }
373 .btn-sm {
374 box-shadow: none;
375 &:hover {
376 box-shadow: none;
377 }
378 }
379 }
380
381 #copyright {
382 background-color: rgba($blue-grey-900, .06);
383 padding: 1rem 0;
384 p {
385 font-size: 12px;
386 line-height: 16px;
387 }
388 }
389
390 // Animation
391 @keyframes scroll {
392 0%, 100% { transform: translateY(30%); }
393 50% { transform: translateY(50%); }
394 }