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