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