]> git.ipfire.org Git - ipfire.org.git/blob - src/scss/style.scss
blog: Make headlines clickable
[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 h5:first-of-type {
224 a {
225 color: $body-color;
226 }
227 }
228
229 &.lightning-wire-labs {
230 h5:first-of-type a, a {
231 color: $lwl;
232 }
233 }
234 }
235
236 // Sidebar navigation
237
238 #sidebar .nav {
239 position: fixed;
240 }
241
242 .page-scroll {
243 display: block;
244 visibility: visible;
245 position: absolute;
246 bottom: 164px;
247 left: 50%;
248 transform: translateX(-50%);
249 .btn {
250 width: 36px;
251 height: 36px;
252 fill: $red_900;
253 @include media-breakpoint-up(sm) {
254 width: 64px;
255 height: 64px;
256 }
257 &:hover .i_arrow_down {
258 fill: white;
259 }
260 }
261 }
262
263 .feature_icons {
264 width: 40px;
265 height: 100%;
266 float: left;
267 margin-right: .75rem;
268 }
269
270 .progress {
271 background-color: rgba(255, 255, 255, .2);
272 }
273
274 .circle {
275 position: relative;
276 p.fireinfo_per {
277 color: $blue-grey-600;
278 position: absolute;
279 top: calc(50% - 18px);
280 width: 100%;
281 }
282 }
283
284 .fixed-top + .blog-content {
285 padding-top: 88px;
286 margin-bottom: 40px;
287 @include media-breakpoint-up(lg) {
288 padding-top: 161px;
289 }
290 .content {
291 background: white;
292 border-radius: 4px;
293 box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 1px 2px 0 rgba(0, 0, 0, 0.2);
294 padding: 40px 24px;
295 position: relative;
296 }
297 }
298
299 .blog-content {
300 margin-bottom: 80px;
301 }
302
303 .divider {
304 width: 128px;
305 height: 4px;
306 border-radius: 2px;
307 background-image: linear-gradient(to right, $red-900, $orange-a400);
308 margin: 40px auto 24px auto;
309 @include media-breakpoint-up(sm) {
310 margin: 56px auto 40px auto;
311 }
312 }
313
314 footer {
315 padding: 3rem 0 0 0;
316 @include media-breakpoint-down(md) {
317 padding-top: 31px;
318 }
319 h4 {
320 margin-bottom: 1.25rem;
321 color: rgba($blue-grey-900, .6);
322 font-size: 20px;
323 line-height: 28px;
324 }
325 ul {
326 li {
327 font-size: 14px;
328 margin-bottom: .75rem;
329 a {
330 color: rgba($blue-grey-900, .6);
331 text-decoration: none;
332 &:hover {
333 color: $blue-grey-900;
334 text-decoration: underline;
335 }
336 }
337 }
338 }
339 .btn-lg {
340 margin-bottom: 2.75rem;
341 }
342 .btn-sm {
343 box-shadow: none;
344 &:hover {
345 box-shadow: none;
346 }
347 }
348 }
349
350 #copyright {
351 background-color: rgba($blue-grey-900, .06);
352 padding: 1rem 0;
353 p {
354 font-size: 12px;
355 line-height: 16px;
356 }
357 }
358
359 // Animation
360 @keyframes scroll {
361 0%, 100% { transform: translateY(30%); }
362 50% { transform: translateY(50%); }
363 }