]> git.ipfire.org Git - ipfire.org.git/blame - src/scss/style.scss
blog: Make posts from Lightning Wire Labs indigo
[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;
d4105f96
MT
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 }
cc59f0e1
MT
53}
54
41f3d31d
MT
55// Buttons
56.btn {
57 text-transform: uppercase;
58}
59
e434c81f
MT
60// Headings
61
62h1 {
63 line-height: 4rem;
825bacca 64 font-weight: 300;
e434c81f
MT
65}
66
67h2 {
68 line-height: 3.5rem;
69}
70
71h3 {
72 line-height: 3rem;
73}
74
75h4 {
76 line-height: 2.75rem;
77}
78
79h5 {
80 line-height: 2rem;
81}
82
83h6 {
84 line-height: 1.75rem;
85}
86
cc59f0e1
MT
87.card {
88 box-shadow: $shadow-1;
89}
90
9f043320
MT
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
56fdd02c
MT
102.navbar {
103 &.scrolled {
104 background-color: white;
105 box-shadow: $shadow-2;
106
107 transition: background-color 200ms linear;
108 }
dce6f905
MT
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 }
56fdd02c
MT
119}
120
c2cbe16d
S
121footer {
122 .btn-toolbar .icon {
fdae1aac
S
123 height: 2.25rem;
124 width: 2.25rem;
c2cbe16d
S
125 fill: rgba($blue-grey-900, .6);
126 }
127 .i_heart {
fdae1aac
S
128 vertical-align: top;
129 transform: translateY(-.15rem);
130 @include media-breakpoint-down(sm) {
131 transform: translateY(-.75rem);
132 }
c2cbe16d
S
133 }
134}
135
c2cbe16d 136// Sections
319dd276 137
cc59f0e1
MT
138.main {
139 section {
140 padding: 3rem 0;
319dd276 141
cc59f0e1
MT
142 @include media-breakpoint-up(sm) {
143 padding: 72px 0;
144 }
319dd276 145
cc59f0e1
MT
146 h1 {
147 margin-bottom: 64px;
148 }
319dd276 149 }
319dd276 150
cc59f0e1
MT
151 section.intro {
152 min-height: 100vh;
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
MT
222.blog-post {
223 // Custom CSS for blog posts goes here
8ebc98d4
MT
224
225 &.lightning-wire-labs {
226 h5:first-of-type, a {
227 color: $lwl;
228 }
229 }
12e5de7e
MT
230}
231
9f043320
MT
232// Sidebar navigation
233
234#sidebar .nav {
235 position: fixed;
236}
237
f8c4f791
S
238.page-scroll {
239 display: block;
240 visibility: visible;
241 position: absolute;
d4105f96 242 bottom: 164px;
f8c4f791
S
243 left: 50%;
244 transform: translateX(-50%);
245 .btn {
246 width: 36px;
247 height: 36px;
248 fill: $red_900;
249 @include media-breakpoint-up(sm) {
250 width: 64px;
251 height: 64px;
252 }
253 &:hover .i_arrow_down {
254 fill: white;
1423222c
S
255 }
256 }
4b4334da
S
257}
258
c2cbe16d
S
259.feature_icons {
260 width: 40px;
261 height: 100%;
262 float: left;
263 margin-right: .75rem;
4b4334da
S
264}
265
61975d93
S
266.progress {
267 background-color: rgba(255, 255, 255, .2);
268}
269
c2cbe16d
S
270.circle {
271 position: relative;
f8c4f791 272 p.fireinfo_per {
c2cbe16d
S
273 color: $blue-grey-600;
274 position: absolute;
d56f505e 275 top: calc(50% - 18px);
c2cbe16d
S
276 width: 100%;
277 }
20df8773
S
278}
279
8e4a3eaa 280.fixed-top + .blog-content {
96dd6875 281 padding-top: 88px;
0955047d 282 margin-bottom: 40px;
346e30de 283 @include media-breakpoint-up(lg) {
96dd6875
SH
284 padding-top: 161px;
285 }
0955047d
S
286 .content {
287 background: white;
288 border-radius: 4px;
289 box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 1px 2px 0 rgba(0, 0, 0, 0.2);
290 padding: 40px 24px;
f59b40f6 291 position: relative;
0955047d
S
292 }
293}
294
8e4a3eaa
SH
295.blog-content {
296 margin-bottom: 80px;
297}
298
bf5b46d4 299.divider {
0955047d 300 width: 128px;
bf5b46d4
S
301 height: 4px;
302 border-radius: 2px;
bc5b7100 303 background-image: linear-gradient(to right, $red-900, $orange-a400);
96dd6875
SH
304 margin: 40px auto 24px auto;
305 @include media-breakpoint-up(sm) {
306 margin: 56px auto 40px auto;
307 }
0955047d
S
308}
309
20df8773
S
310footer {
311 padding: 3rem 0 0 0;
8e18ac98
S
312 @include media-breakpoint-down(md) {
313 padding-top: 31px;
314 }
6aa3b1ec
S
315 h4 {
316 margin-bottom: 1.25rem;
c2cbe16d 317 color: rgba($blue-grey-900, .6);
f8c4f791
S
318 font-size: 20px;
319 line-height: 28px;
6aa3b1ec
S
320 }
321 ul {
322 li {
f8c4f791 323 font-size: 14px;
6aa3b1ec
S
324 margin-bottom: .75rem;
325 a {
c2cbe16d 326 color: rgba($blue-grey-900, .6);
6aa3b1ec
S
327 text-decoration: none;
328 &:hover {
c2cbe16d 329 color: $blue-grey-900;
6aa3b1ec
S
330 text-decoration: underline;
331 }
332 }
333 }
334 }
335 .btn-lg {
336 margin-bottom: 2.75rem;
6aa3b1ec
S
337 }
338 .btn-sm {
339 box-shadow: none;
340 &:hover {
341 box-shadow: none;
342 }
6aa3b1ec 343 }
20df8773
S
344}
345
c2cbe16d
S
346#copyright {
347 background-color: rgba($blue-grey-900, .06);
348 padding: 1rem 0;
f8c4f791
S
349 p {
350 font-size: 12px;
351 line-height: 16px;
352 }
ac7f3ec6
S
353}
354
c2cbe16d 355// Animation
c2cbe16d 356@keyframes scroll {
61eaa9b2 357 0%, 100% { transform: translateY(30%); }
fdae1aac 358 50% { transform: translateY(50%); }
7c0605e8 359}