]> git.ipfire.org Git - ipfire.org.git/blame - src/scss/style.scss
features: Fix scrollspy
[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";
bc5b7100 30@import "../bootstrap/scss/utilities";
8e1ad516 31@import "../bootstrap/scss/print";
1423222c 32
e33d95d5
SH
33// Lightbox
34@import "photoswipe/main";
35@import "photoswipe/default-skin/default-skin";
7ca46dd8 36
fed291df
SH
37// Donation Box
38@import "_donation";
39
5236a99a 40// Custom stuff
7ca46dd8 41@import '_icons';
5236a99a 42
cc59f0e1 43body {
9f043320
MT
44 // For scrollspy
45 position: relative;
46
cc59f0e1
MT
47 min-height: 75rem;
48 padding-top: 6rem;
49}
50
41f3d31d
MT
51// Buttons
52.btn {
53 text-transform: uppercase;
54}
55
e434c81f
MT
56// Headings
57
58h1 {
59 line-height: 4rem;
60}
61
62h2 {
63 line-height: 3.5rem;
64}
65
66h3 {
67 line-height: 3rem;
68}
69
70h4 {
71 line-height: 2.75rem;
72}
73
74h5 {
75 line-height: 2rem;
76}
77
78h6 {
79 line-height: 1.75rem;
80}
81
cc59f0e1
MT
82.card {
83 box-shadow: $shadow-1;
84}
85
9f043320
MT
86.nav {
87 .nav-link {
88 color: $blue-grey-900;
89
90 &.active {
91 color: $link-color;
92 border-left: 2px solid $link-color;
93 }
94 }
95}
96
c2cbe16d
S
97footer {
98 .btn-toolbar .icon {
fdae1aac
S
99 height: 2.25rem;
100 width: 2.25rem;
c2cbe16d
S
101 fill: rgba($blue-grey-900, .6);
102 }
103 .i_heart {
fdae1aac
S
104 vertical-align: top;
105 transform: translateY(-.15rem);
106 @include media-breakpoint-down(sm) {
107 transform: translateY(-.75rem);
108 }
c2cbe16d
S
109 }
110}
111
c2cbe16d 112// Sections
319dd276 113
cc59f0e1
MT
114.main {
115 section {
116 padding: 3rem 0;
319dd276 117
cc59f0e1
MT
118 @include media-breakpoint-up(sm) {
119 padding: 72px 0;
120 }
319dd276 121
cc59f0e1
MT
122 h1 {
123 margin-bottom: 64px;
124 }
319dd276 125 }
319dd276 126
cc59f0e1
MT
127 section.intro {
128 min-height: 100vh;
129 background-image: url('img/header-background.jpg');
130 background-size: cover;
131 background-attachment: fixed;
132 background-position: center top;
133 position: relative;
b4bff93b 134
cc59f0e1
MT
135 .branding {
136 margin-bottom: 64px;
137 text-align: center;
319dd276 138
cc59f0e1 139 padding-top: 6rem;
319dd276 140
cc59f0e1
MT
141 @include media-breakpoint-up(sm) {
142 padding-top: 192px;
143 }
319dd276 144
cc59f0e1
MT
145 h1 {
146 margin-bottom: 0;
319dd276 147
cc59f0e1
MT
148 @include media-breakpoint-down(xs) {
149 font-size: 72px;
150 line-height: 88px;
151 }
319dd276 152
cc59f0e1
MT
153 strong {
154 font-weight: 700 !important;
155 }
1423222c 156 }
319dd276 157
cc59f0e1
MT
158 h1:before {
159 content: "";
160 height: 60px;
161 width: 76px;
162 background-image: url('img/ipfire-tux.png');
163 background-repeat: no-repeat;
164 background-position: center center;
165 background-size: contain;
166 display: inline-block;
167 position: relative;
168 top: 4px;
169
170 @include media-breakpoint-up(sm) {
171 height: 120px;
172 width: 93px;
173 margin-right: 32px;
174 top: 8px;
175 }
176 }
319dd276 177
cc59f0e1
MT
178 h5 {
179 color: $blue-grey-600;
82468973 180 }
319dd276 181
319dd276 182 }
1423222c 183 }
f8c4f791 184
cc59f0e1
MT
185 section#news, section#support, footer {
186 background-color: rgba($blue-grey-900, .06);
187 }
319dd276 188
cc59f0e1
MT
189 section#news {
190 color: rgba($blue-grey-900, .6);
191 }
319dd276 192
cc59f0e1
MT
193 section#fireinfo {
194 border-bottom: 1px solid rgba($blue-grey-900, .2);
195 }
319dd276 196
cc59f0e1
MT
197 section#appliances {
198 padding-bottom: 48px;
199 }
319dd276
MT
200}
201
9f043320
MT
202// Sidebar navigation
203
204#sidebar .nav {
205 position: fixed;
206}
207
f8c4f791
S
208.page-scroll {
209 display: block;
210 visibility: visible;
211 position: absolute;
212 bottom: 48px;
213 left: 50%;
214 transform: translateX(-50%);
215 .btn {
216 width: 36px;
217 height: 36px;
218 fill: $red_900;
219 @include media-breakpoint-up(sm) {
220 width: 64px;
221 height: 64px;
222 }
223 &:hover .i_arrow_down {
224 fill: white;
1423222c
S
225 }
226 }
4b4334da
S
227}
228
c2cbe16d
S
229.feature_icons {
230 width: 40px;
231 height: 100%;
232 float: left;
233 margin-right: .75rem;
4b4334da
S
234}
235
61975d93
S
236.progress {
237 background-color: rgba(255, 255, 255, .2);
238}
239
c2cbe16d
S
240.circle {
241 position: relative;
f8c4f791 242 p.fireinfo_per {
c2cbe16d
S
243 color: $blue-grey-600;
244 position: absolute;
d56f505e 245 top: calc(50% - 18px);
c2cbe16d
S
246 width: 100%;
247 }
20df8773
S
248}
249
8e4a3eaa 250.fixed-top + .blog-content {
96dd6875 251 padding-top: 88px;
0955047d 252 margin-bottom: 40px;
346e30de 253 @include media-breakpoint-up(lg) {
96dd6875
SH
254 padding-top: 161px;
255 }
0955047d
S
256 .content {
257 background: white;
258 border-radius: 4px;
259 box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 1px 2px 0 rgba(0, 0, 0, 0.2);
260 padding: 40px 24px;
f59b40f6 261 position: relative;
0955047d
S
262 }
263}
264
8e4a3eaa
SH
265.blog-content {
266 margin-bottom: 80px;
267}
268
bf5b46d4 269.divider {
0955047d 270 width: 128px;
bf5b46d4
S
271 height: 4px;
272 border-radius: 2px;
bc5b7100 273 background-image: linear-gradient(to right, $red-900, $orange-a400);
96dd6875
SH
274 margin: 40px auto 24px auto;
275 @include media-breakpoint-up(sm) {
276 margin: 56px auto 40px auto;
277 }
0955047d
S
278}
279
20df8773
S
280footer {
281 padding: 3rem 0 0 0;
8e18ac98
S
282 @include media-breakpoint-down(md) {
283 padding-top: 31px;
284 }
6aa3b1ec
S
285 h4 {
286 margin-bottom: 1.25rem;
c2cbe16d 287 color: rgba($blue-grey-900, .6);
f8c4f791
S
288 font-size: 20px;
289 line-height: 28px;
6aa3b1ec
S
290 }
291 ul {
292 li {
f8c4f791 293 font-size: 14px;
6aa3b1ec
S
294 margin-bottom: .75rem;
295 a {
c2cbe16d 296 color: rgba($blue-grey-900, .6);
6aa3b1ec
S
297 text-decoration: none;
298 &:hover {
c2cbe16d 299 color: $blue-grey-900;
6aa3b1ec
S
300 text-decoration: underline;
301 }
302 }
303 }
304 }
305 .btn-lg {
306 margin-bottom: 2.75rem;
6aa3b1ec
S
307 }
308 .btn-sm {
309 box-shadow: none;
310 &:hover {
311 box-shadow: none;
312 }
6aa3b1ec 313 }
20df8773
S
314}
315
c2cbe16d
S
316#copyright {
317 background-color: rgba($blue-grey-900, .06);
318 padding: 1rem 0;
f8c4f791
S
319 p {
320 font-size: 12px;
321 line-height: 16px;
322 }
ac7f3ec6
S
323}
324
c2cbe16d 325// Animation
c2cbe16d 326@keyframes scroll {
61eaa9b2 327 0%, 100% { transform: translateY(30%); }
fdae1aac 328 50% { transform: translateY(50%); }
7c0605e8 329}