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