]> git.ipfire.org Git - ipfire.org.git/blame - src/scss/style.scss
CSS: Adjust media breakpoints
[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";
7f3d1ede
MT
7@import "../bootstrap/scss/utilities";
8
53835183
MT
9$theme-colors: map-merge($theme-colors, $custom-colors);
10
8e1ad516 11@import "../bootstrap/scss/root";
bc5b7100 12@import "../bootstrap/scss/reboot";
bc5b7100 13@import "../bootstrap/scss/type";
8e1ad516 14@import "../bootstrap/scss/images";
7f3d1ede 15@import "../bootstrap/scss/containers";
bc5b7100
MT
16@import "../bootstrap/scss/grid";
17@import "../bootstrap/scss/tables";
18@import "../bootstrap/scss/forms";
19@import "../bootstrap/scss/buttons";
bc5b7100 20@import "../bootstrap/scss/transitions";
8e1ad516 21@import "../bootstrap/scss/dropdown";
bc5b7100 22@import "../bootstrap/scss/button-group";
bc5b7100
MT
23@import "../bootstrap/scss/nav";
24@import "../bootstrap/scss/navbar";
8e1ad516 25@import "../bootstrap/scss/card";
7f3d1ede 26@import "../bootstrap/scss/accordion";
6ac7e934 27@import "../bootstrap/scss/breadcrumb";
7f3d1ede 28@import "../bootstrap/scss/pagination";
bc5b7100 29@import "../bootstrap/scss/badge";
8e1ad516 30@import "../bootstrap/scss/alert";
bc5b7100 31@import "../bootstrap/scss/progress";
bc5b7100 32@import "../bootstrap/scss/list-group";
8e1ad516 33@import "../bootstrap/scss/close";
95b30f84 34@import "../bootstrap/scss/modal";
7f3d1ede
MT
35@import "../bootstrap/scss/tooltip";
36@import "../bootstrap/scss/popover";
37@import "../bootstrap/scss/carousel";
2901b734 38@import "../bootstrap/scss/spinners";
7f3d1ede
MT
39@import "../bootstrap/scss/offcanvas";
40@import "../bootstrap/scss/placeholders";
41
42@import "../bootstrap/scss/helpers";
43@import "../bootstrap/scss/utilities/api";
1423222c 44
616bd6a5 45// Include fonts
20cd8624 46@import "_fonts.scss";
616bd6a5 47
5236a99a 48// Custom stuff
95483f04 49@import "icons";
c4657f62 50@import "code-highlighting";
5236a99a 51
60ad7705
MT
52// Makes everything white with dark text on it
53.inverse {
54 background-color: $body-color;
55 color: $body-bg;
56}
57
d5389cd7 58body {
13ddfd7a 59 display: flex;
a2b09808 60 min-height: 100vh;
13ddfd7a 61 flex-flow: column;
0a637f92
MT
62
63 // Make the wiki slightly narrower
64 &.wiki-ipfire-org {
9442ebd2
MT
65 .container {
66 max-width: 900px;
0a637f92
MT
67 }
68 }
cc59f0e1
MT
69}
70
80b26795
MT
71.header {
72 padding-top: 5rem;
fac0d945 73 margin-bottom: $spacer;
80b26795
MT
74 background-color: $light;
75}
76
41f3d31d
MT
77// Buttons
78.btn {
79 text-transform: uppercase;
80}
81
dd06f761 82@each $color, $value in $theme-colors {
6563eb49 83 .glow-#{$color} {
dcaed004 84 color: white;
dd06f761
MT
85 background-color: rgba($value, .15);
86 }
87}
88
5ff649e9
MT
89code {
90 background-color: $dark;
91 border-radius: $border-radius;
92 padding: 0.1rem 0.2rem;
93}
94
95pre {
96 background-color: $dark;
97 border-radius: $border-radius;
98 padding: 0.5rem;
99
100 code {
101 background-color: inherit;
102 padding: 0;
103 }
55eea098
MT
104
105 &.pre-light {
106 background-color: $white;
107 color: $body-bg;
108 }
5ff649e9
MT
109}
110
34b78dd3
MT
111.navbar {
112 .navbar-brand {
113 font-weight: bold;
114 letter-spacing: 0.07em;
115 }
116}
117
2e7764cb
MT
118.bg-brand {
119 min-height: 40rem;
120
121 // Background Image
122 background-image: url("img/bg-img.jpg");
123 background-repeat: no-repeat;
124 background-position: center;
125 background-size: cover;
126
127 // Text is white
128 color: $white;
129
130 // Center the content
131 display: flex;
132 flex-direction: column;
133 justify-content: center;
134}
135
b6d6d80f
MT
136.icon-large {
137 font-size: 8em;
138
9442ebd2 139 @include media-breakpoint-up(lg) {
b6d6d80f
MT
140 font-size: 6em;
141 }
142
9442ebd2 143 @include media-breakpoint-up(xl) {
b6d6d80f
MT
144 font-size: 8em;
145 }
146
9442ebd2 147 @include media-breakpoint-up(xxl) {
b6d6d80f
MT
148 font-size: 10em;
149 }
150}
151
c2cbe16d 152footer {
13ddfd7a 153 margin-top: auto;
252d95b6 154
c819ecf2 155 .footer {
deae0443 156 margin: ($spacer * 2) 0;
fac0d945 157 padding-top: $spacer * 2;
2597b512 158
deae0443
MT
159 ul {
160 @include list-unstyled();
252d95b6 161
deae0443
MT
162 li {
163 padding: ($spacer / 2) 0;
c819ecf2 164 }
252d95b6 165 }
deae0443 166 }
252d95b6 167
deae0443
MT
168 .footer-link {
169 color: inherit;
252d95b6 170
deae0443
MT
171 &:hover {
172 color: inherit;
252d95b6
MT
173 }
174 }
c2cbe16d
S
175}
176
cf503f2b
MT
177.map {
178 min-height: 24rem;
179}
180
c2cbe16d 181// Sections
319dd276 182
00026d8b 183section {
8ad3de4a 184 padding: 3rem 1rem;
00026d8b 185
9442ebd2 186 @include media-breakpoint-up(lg) {
bbaf0fc1 187 padding: 5rem 0;
8ad3de4a
MT
188 }
189
9442ebd2 190 @include media-breakpoint-up(lg) {
8ad3de4a
MT
191 // Reset large headlines to normal size on mobile devices
192 h1 {
193 font-size: $display1-size;
7f3d1ede 194 font-weight: $display-font-weight;
8ad3de4a
MT
195 line-height: $display-line-height;
196 }
00026d8b 197 }
319dd276
MT
198}
199
a20794ee
MT
200blockquote {
201 @extend .blockquote;
202
203 // Add a light border to the left
204 border-left: 0.5rem solid $light;
205 padding: $spacer;
206
207 quotes: "“" "”" "“" "”";
208
209 // Quote
210 &:before{
211 color: $light;
212 font-size: $display1-size;
213 line-height: 0;
214 margin-right: 0.25em;
215 vertical-align: -0.4em;
216 }
217
218 &:before {
219 content: open-quote;
220 }
221
222 p {
223 margin-bottom: 0;
224 }
225}
226
321c58c3
MT
227.blog-post {
228 .blog-header {
53a70dd6
MT
229 h4 {
230 margin-bottom: 0;
231
4b2975d2 232 a {
9632ca8b 233 color: $dark;
4b2975d2 234 }
60e77f07
MT
235 }
236 }
8ebc98d4 237
321c58c3 238 .blog-content {
fb37ac29 239 h1, h2, h3, h4, h5, h6 {
2ee63634 240 font-size: 1.375rem;
fb37ac29 241 font-weight: $headings-font-weight;
2ee63634 242 line-height: $headings-line-height;
fb37ac29
MT
243 margin-bottom: 0.25rem;
244 }
c5cfd0d5
MT
245
246 img {
247 @include img-fluid;
c738f6d3
MT
248
249 // Center all images
250 display: block;
251 margin-left: auto;
252 margin-right: auto;
253
254 // Add some extra margin to the top & bottom
255 padding: ($spacer * 2) 0 ($spacer * 2) 0;
c5cfd0d5 256 }
a35816e6
MT
257
258 table {
259 @extend .table;
260 @extend .table-sm;
261 @extend .table-striped;
262
263 // Apply CSS classes for alignment
264 thead {
265 th[align="left"], td[align="left"] {
7f3d1ede 266 @extend .text-start;
a35816e6
MT
267 }
268
269 th[align="center"], td[align="center"] {
270 @extend .text-center;
271 }
272
273 th[align="right"], td[align="right"] {
7f3d1ede 274 @extend .text-end;
a35816e6
MT
275 }
276 }
277 }
fb37ac29
MT
278 }
279
8ebc98d4 280 &.lightning-wire-labs {
321c58c3 281 .blog-header {
4b2975d2
MT
282 h5 {
283 a {
284 color: $lwl;
285 }
286 }
287
288 a {
289 color: $lwl;
290 }
291 }
292
321c58c3 293 .blog-content {
4b2975d2
MT
294 a {
295 color: $lwl;
296 }
8ebc98d4
MT
297 }
298 }
12e5de7e
MT
299}
300
9bc17e85
MT
301.wiki-content {
302 h1, h2, h3, h4, h5, h6 {
303 font-weight: $headings-font-weight;
304 line-height: $headings-line-height;
457ead31 305 margin-bottom: 0.5rem;
9bc17e85
MT
306 }
307
308 h1 {
309 font-size: $h4-font-size;
310 }
311
312 h2 {
313 font-size: $h5-font-size;
314 }
315
316 h3, h4, h5, h6 {
317 font-size: $h6-font-size;
318 }
319
fa8c5edd
MT
320 figure {
321 // Center images
322 display: table;
9bc17e85 323 margin-right: auto;
fa8c5edd 324 margin-left: auto;
9bc17e85
MT
325
326 // Add some extra margin to the top & bottom
327 padding: ($spacer * 2) 0 ($spacer * 2) 0;
328 }
612e0574 329
86bcb973
MT
330 blockquote {
331 @extend .blockquote;
332 }
333
612e0574
MT
334 table {
335 @extend .table;
336 @extend .table-sm;
9d3de77d 337 @extend .table-striped;
c3772a5e
MT
338
339 // Apply CSS classes for alignment
340 thead {
341 th[align="left"], td[align="left"] {
7f3d1ede 342 @extend .text-start;
c3772a5e
MT
343 }
344
345 th[align="center"], td[align="center"] {
346 @extend .text-center;
347 }
348
349 th[align="right"], td[align="right"] {
7f3d1ede 350 @extend .text-end;
c3772a5e
MT
351 }
352 }
612e0574 353 }
40235414
MT
354
355 .footnote {
356 font-size: $small-font-size;
357
358 ol {
359 margin-bottom: 0;
360
361 li {
362 p {
363 margin-bottom: 0;
364 }
365 }
366 }
367 }
9bc17e85
MT
368}
369
2901b734
MT
370#preview {
371 // Hide the spinner by default
372 #spinner {
373 display: none;
374 }
375
376 #preview-content {
377 @include transition(opacity .5s linear);
378 }
379
380 &.updating {
381 // Show the spinner during updates
382 #spinner {
383 display: block;
384 }
385
386 // While updating, we face out the content
387 #preview-content {
388 opacity: 0.5;
389 }
390 }
391}
392
ecea28b2
MT
393hr.divider {
394 border-color: rgba($dark, .15);
395 margin-top: 2rem;
396 margin-bottom: 3rem;
397}
9f043320 398
c2cbe16d
S
399.circle {
400 position: relative;
f8c4f791 401 p.fireinfo_per {
25346297 402 color: $gray-800;
c2cbe16d 403 position: absolute;
d56f505e 404 top: calc(50% - 18px);
c2cbe16d
S
405 width: 100%;
406 }
20df8773 407}
8cb0bea4
MT
408
409.pdf-viewer {
410 width: 100%;
411 min-height: 32rem;
412}