@materializecss/materialize 2.2.2 → 2.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +94 -91
  3. package/dist/css/materialize.colors.min.css +6 -0
  4. package/dist/css/materialize.css +7988 -9470
  5. package/dist/css/materialize.min.css +6 -6
  6. package/dist/css/materialize.min.css.map +1 -1
  7. package/dist/js/materialize.cjs.js +8370 -8239
  8. package/dist/js/materialize.d.ts +2552 -2593
  9. package/dist/js/materialize.js +8375 -8244
  10. package/dist/js/materialize.min.js +6 -6
  11. package/dist/js/materialize.mjs +8342 -8211
  12. package/package.json +95 -81
  13. package/sass/{components/_color-variables.scss → _colors.scss} +403 -402
  14. package/sass/{components/_global.scss → _global.scss} +490 -469
  15. package/sass/{components/_grid.scss → _grid.scss} +172 -172
  16. package/sass/{components/_table_of_contents.scss → _table_of_contents.scss} +28 -32
  17. package/sass/{components/_tapTarget.scss → _tapTarget.scss} +102 -102
  18. package/sass/{components/_typography.scss → _typography.scss} +58 -62
  19. package/sass/{components/_variables.scss → _variables.scss} +56 -57
  20. package/sass/components/forms/_forms.scss +19 -18
  21. package/sass/materialize.scss +48 -43
  22. package/sass/{components/mixins.module.scss → mixins.module.scss} +168 -159
  23. package/sass/components/_badges.scss +0 -75
  24. package/sass/components/_breadcrumb.scss +0 -27
  25. package/sass/components/_buttons.scss +0 -348
  26. package/sass/components/_cards.scss +0 -229
  27. package/sass/components/_carousel.scss +0 -93
  28. package/sass/components/_chips.scss +0 -140
  29. package/sass/components/_collapsible.scss +0 -83
  30. package/sass/components/_collection.scss +0 -114
  31. package/sass/components/_datepicker.scss +0 -263
  32. package/sass/components/_dropdown.scss +0 -82
  33. package/sass/components/_icons-material-design.scss +0 -6
  34. package/sass/components/_materialbox.scss +0 -42
  35. package/sass/components/_modal.scss +0 -75
  36. package/sass/components/_navbar.scss +0 -232
  37. package/sass/components/_normalize.scss +0 -349
  38. package/sass/components/_pagination.scss +0 -47
  39. package/sass/components/_preloader.scss +0 -420
  40. package/sass/components/_pulse.scss +0 -35
  41. package/sass/components/_sidenav.scss +0 -247
  42. package/sass/components/_slider.scss +0 -119
  43. package/sass/components/_tabs.scss +0 -167
  44. package/sass/components/_timepicker.scss +0 -294
  45. package/sass/components/_toast.scss +0 -68
  46. package/sass/components/_tooltip.scss +0 -40
  47. package/sass/components/_transitions.scss +0 -12
  48. package/sass/components/colors.module.scss +0 -74
  49. package/sass/components/forms/_checkboxes.scss +0 -199
  50. package/sass/components/forms/_file-input.scss +0 -41
  51. package/sass/components/forms/_input-fields.scss +0 -356
  52. package/sass/components/forms/_radio-buttons.scss +0 -112
  53. package/sass/components/forms/_range.scss +0 -158
  54. package/sass/components/forms/_select.scss +0 -103
  55. package/sass/components/forms/_switches.scss +0 -124
  56. package/sass/components/theme.module.scss +0 -140
  57. package/sass/components/tokens.module.scss +0 -272
  58. package/sass/components/typography.module.scss +0 -150
@@ -1,469 +1,490 @@
1
- @use './_variables' as *;
2
-
3
- html {
4
- box-sizing: border-box;
5
- }
6
-
7
- *, *:before, *:after {
8
- box-sizing: inherit;
9
- }
10
-
11
- body {
12
- background-color: var(--md-sys-color-background);
13
- color: var(--md-sys-color-on-background);
14
- }
15
-
16
- button,
17
- input,
18
- optgroup,
19
- select,
20
- textarea {
21
- font-family: $font-stack;
22
- }
23
-
24
- a {
25
- color: $link-color;
26
- text-decoration: none;
27
- -webkit-tap-highlight-color: transparent; // Gets rid of tap active state
28
- }
29
-
30
- // Positioning
31
- .valign-wrapper { display: flex; align-items: center; }
32
-
33
- .clearfix { clear: both; }
34
-
35
- // Z-levels
36
- .z-depth-0 {
37
- box-shadow: none !important;
38
- }
39
-
40
- /* 2dp elevation modified*/
41
- .z-depth-1 {
42
- box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14),
43
- 0 3px 1px -2px rgba(0, 0, 0, 0.12),
44
- 0 1px 5px 0 rgba(0, 0, 0, 0.2);
45
- }
46
-
47
- .z-depth-1-half {
48
- box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.14), 0 1px 7px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -1px rgba(0, 0, 0, 0.2);
49
- }
50
-
51
- /* 6dp elevation modified*/
52
- .z-depth-2 {
53
- box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14),
54
- 0 1px 10px 0 rgba(0, 0, 0, 0.12),
55
- 0 2px 4px -1px rgba(0, 0, 0, 0.3);
56
- }
57
-
58
- /* 12dp elevation modified*/
59
- .z-depth-3 {
60
- box-shadow: 0 8px 17px 2px rgba(0, 0, 0, 0.14),
61
- 0 3px 14px 2px rgba(0, 0, 0, 0.12),
62
- 0 5px 5px -3px rgba(0, 0, 0, 0.2);
63
- }
64
-
65
- /* 16dp elevation */
66
- .z-depth-4 {
67
- box-shadow: 0 16px 24px 2px rgba(0, 0, 0, 0.14),
68
- 0 6px 30px 5px rgba(0, 0, 0, 0.12),
69
- 0 8px 10px -7px rgba(0, 0, 0, 0.2);
70
- }
71
-
72
- /* 24dp elevation */
73
- .z-depth-5 {
74
- box-shadow: 0 24px 38px 3px rgba(0, 0, 0, 0.14),
75
- 0 9px 46px 8px rgba(0, 0, 0, 0.12),
76
- 0 11px 15px -7px rgba(0, 0, 0, 0.2);
77
- }
78
-
79
- .hoverable {
80
- transition: box-shadow .25s;
81
- &:hover {
82
- box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
83
- }
84
- }
85
-
86
- // Dividers
87
- .divider {
88
- height: 1px;
89
- overflow: hidden;
90
- background-color: var(--md-sys-color-outline-variant);
91
- }
92
-
93
- // Blockquote
94
- blockquote { margin: 20px 0; padding-left: 1.5rem; border-left: 5px solid var(--md-sys-color-primary); }
95
-
96
- // Icon Styles
97
- i {
98
- line-height: inherit;
99
- &.left {
100
- float: left;
101
- margin-left: -8px;
102
- // margin-right: 15px;
103
- }
104
- &.right {
105
- float: right;
106
- // margin-left: 15px;
107
- }
108
- &.tiny {
109
- font-size: 1rem;
110
- }
111
- &.small {
112
- font-size: 2rem;
113
- }
114
- &.medium {
115
- font-size: 4rem;
116
- }
117
- &.large {
118
- font-size: 6rem;
119
- }
120
- }
121
-
122
- // Modal
123
- html.noscroll {
124
- position: fixed;
125
- overflow-y: scroll;
126
- width: 100%;
127
- }
128
-
129
- // Images
130
- img.responsive-img,
131
- video.responsive-video {
132
- max-width: 100%;
133
- height: auto;
134
- }
135
-
136
- // Parallax
137
- .parallax-container {
138
- position: relative;
139
- overflow: hidden;
140
- height: 500px;
141
-
142
- .parallax {
143
- position: absolute;
144
- top: 0;
145
- left: 0;
146
- right: 0;
147
- bottom: 0;
148
- z-index: -1;
149
-
150
- img {
151
- opacity: 0;
152
- position: absolute;
153
- left: 50%;
154
- bottom: 0;
155
- min-width: 100%;
156
- min-height: 100%;
157
- transform: translate3d(0, 0, 0);
158
- transform: translateX(-50%);
159
- }
160
- }
161
- }
162
-
163
- // Pushpin
164
- .pin-top, .pin-bottom {
165
- position: relative;
166
- }
167
-
168
- .pinned {
169
- position: fixed !important;
170
- }
171
-
172
- /*********************
173
- Transition Classes
174
- **********************/
175
-
176
- ul.staggered-list li { opacity: 0; }
177
- .fade-in { opacity: 0; transform-origin: 0 50%; }
178
-
179
- /*********************
180
- Media Query Classes
181
- **********************/
182
- .hide-on-small-only, .hide-on-small-and-down {
183
- @media #{$small-and-down} { display: none !important; }
184
- }
185
-
186
- .hide-on-med-and-down {
187
- @media #{$medium-and-down} { display: none !important; }
188
- }
189
-
190
- .hide-on-med-and-up {
191
- @media #{$medium-and-up} { display: none !important; }
192
- }
193
-
194
- .hide-on-med-only {
195
- @media only screen and (min-width: $small-screen-up) and (max-width: $medium-screen) {
196
- display: none !important;
197
- }
198
- }
199
-
200
- .hide-on-large-only {
201
- @media #{$large-and-up} { display: none !important; }
202
- }
203
-
204
- .hide-on-extra-large-only {
205
- @media #{$extra-large-and-up} { display: none !important; }
206
- }
207
-
208
- .show-on-extra-large {
209
- @media #{$extra-large-and-up} { display: block !important; }
210
- }
211
-
212
- .show-on-large {
213
- @media #{$large-and-up} { display: block !important; }
214
- }
215
-
216
- .show-on-medium {
217
- @media only screen and (min-width: $small-screen-up) and (max-width: $medium-screen) {
218
- display: block !important;
219
- }
220
- }
221
-
222
- .show-on-small {
223
- @media #{$small-and-down} { display: block !important; }
224
- }
225
-
226
- .show-on-medium-and-up {
227
- @media #{$medium-and-up} { display: block !important; }
228
- }
229
-
230
- .show-on-medium-and-down {
231
- @media #{$medium-and-down} { display: block !important; }
232
- }
233
-
234
-
235
- // Center text on mobile
236
- .center-on-small-only {
237
- @media #{$small-and-down} { text-align: center; }
238
- }
239
-
240
- // Footer
241
- .page-footer {
242
- margin-top: 5rem;
243
- padding-top: 3rem;
244
- border-top: 1px dashed var(--md-sys-color-outline-variant);
245
- p {
246
- color: var(--md-sys-color-outline-light);
247
- }
248
- a {
249
- color: var(--md-sys-color-primary);
250
- }
251
- .footer-copyright,
252
- .footer-copyright a {
253
- overflow: hidden;
254
- min-height: 50px;
255
- display: flex;
256
- align-items: center;
257
- justify-content: space-between;
258
- padding: 10px 0px;
259
- }
260
- }
261
-
262
- .page-footer ul {
263
- padding-left: 0;
264
- list-style-type: none;
265
- }
266
-
267
- // Tables
268
- table, th, td {
269
- border: none;
270
- }
271
-
272
- table {
273
- width: 100%;
274
- display: table;
275
- border-collapse: collapse;
276
- border-spacing: 0;
277
-
278
- &.striped {
279
- tr {
280
- border-bottom: none;
281
- }
282
- tbody > tr:nth-child(odd) {
283
- background-color: rgba(0, 0, 0, 0.08);
284
- }
285
- }
286
-
287
- &.highlight > tbody > tr {
288
- transition: background-color .25s ease;
289
-
290
- &:hover {
291
- background-color: rgba(0, 0, 0, 0.04);
292
- }
293
- }
294
-
295
- thead {
296
- color: var(--md-sys-color-on-surface-variant);
297
- }
298
-
299
- &.centered {
300
- thead tr th, tbody tr td {
301
- text-align: center;
302
- }
303
- }
304
- }
305
-
306
- tr {
307
- border-bottom: 1px solid var(--md-sys-color-outline-variant);
308
- }
309
-
310
- td, th {
311
- padding: 15px 5px;
312
- display: table-cell;
313
- text-align: left;
314
- vertical-align: middle;
315
- border-radius: 0;
316
- }
317
-
318
- // Responsive Table
319
- @media #{$medium-and-down} {
320
-
321
- table.responsive-table {
322
- width: 100%;
323
- border-collapse: collapse;
324
- border-spacing: 0;
325
- display: block;
326
- position: relative;
327
-
328
- td:empty:before {
329
- content: '\00a0';
330
- }
331
- th,
332
- td {
333
- margin: 0;
334
- vertical-align: top;
335
- }
336
- th {
337
- text-align: left;
338
- }
339
- thead {
340
- display: block;
341
- float: left;
342
-
343
- tr {
344
- display: block;
345
- padding: 0 10px 0 0;
346
-
347
- th::before {
348
- content: "\00a0";
349
- }
350
- }
351
- }
352
- tbody {
353
- display: block;
354
- width: auto;
355
- position: relative;
356
- overflow-x: auto;
357
- white-space: nowrap;
358
-
359
- tr {
360
- display: inline-block;
361
- vertical-align: top;
362
- }
363
- }
364
- th {
365
- display: block;
366
- text-align: right;
367
- }
368
- td {
369
- display: block;
370
- min-height: 1.25em;
371
- text-align: left;
372
- }
373
- tr {
374
- border-bottom: none;
375
- padding: 0 10px;
376
- }
377
- /* sort out borders */
378
- thead {
379
- border: 0;
380
- border-right: 1px solid var(--md-sys-color-outline-variant);
381
- }
382
- }
383
- }
384
-
385
- // Responsive Videos
386
- .video-container {
387
- position: relative;
388
- padding-bottom: 56.25%;
389
- height: 0;
390
- overflow: hidden;
391
-
392
- iframe, object, embed {
393
- position: absolute;
394
- top: 0;
395
- left: 0;
396
- width: 100%;
397
- height: 100%;
398
- }
399
- }
400
-
401
- /*******************
402
- Utility Classes
403
- *******************/
404
-
405
- .hide { display: none !important; }
406
-
407
- // Text Align
408
- .left-align { text-align: left; }
409
- .right-align { text-align: right }
410
- .center, .center-align { text-align: center; }
411
-
412
- // TODO: Remove this
413
- .left { float: left !important; }
414
- .right { float: right !important; }
415
-
416
- // No Text Select
417
- .no-select { user-select: none; }
418
- .circle { border-radius: 50%; }
419
- .center-block { display: block; margin-left: auto; margin-right: auto; }
420
- .truncate { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
421
- .no-padding { padding: 0 !important; }
422
-
423
- /**************************
424
- Utility Spacing Classes
425
- **************************/
426
-
427
- $spacing-shortcuts: ("margin": "m", "padding": "p") !default;
428
- $spacing-directions: ("top": "t", "right": "r", "bottom": "b", "left": "l") !default;
429
- $spacing-horizontal: "x" !default;
430
- $spacing-vertical: "y" !default;
431
- $spacing-values: ("0": 0, "1": 0.25rem, "2": 0.5rem, "3": 0.75rem, "4": 1rem, "5": 1.5rem, "6": 3rem, "auto": auto) !default;
432
-
433
- @each $property, $shortcut in $spacing-shortcuts{
434
- @each $name, $value in $spacing-values{
435
- // All direction spacing
436
- .#{$shortcut}-#{$name}{
437
- #{$property}: $value !important;
438
- }
439
- // (t, b, r, l) spacing
440
- @each $direction, $suffix in $spacing-directions{
441
- .#{$shortcut}#{$suffix}-#{$name}{
442
- #{$property}-#{$direction}: $value !important
443
- }
444
- }
445
- // x spacing
446
- @if $spacing-horizontal != null{
447
- .#{$shortcut}#{$spacing-horizontal}-#{$name}{
448
- #{$property}-left: $value !important;
449
- #{$property}-right: $value !important;
450
- }
451
- }
452
- // y spacing
453
- @if $spacing-vertical != null{
454
- .#{$shortcut}#{$spacing-vertical}-#{$name}{
455
- #{$property}-top: $value !important;
456
- #{$property}-bottom: $value !important;
457
- }
458
- }
459
- }
460
- }
461
-
462
- // Docked display
463
- .display-docked {
464
- position: absolute;
465
- opacity: 0;
466
- z-index: 9999;
467
- visibility: hidden;
468
- }
469
-
1
+ @use './_variables' as *;
2
+
3
+ html {
4
+ box-sizing: border-box;
5
+ }
6
+
7
+ *, *:before, *:after {
8
+ box-sizing: inherit;
9
+ }
10
+
11
+ body {
12
+ background-color: var(--md-sys-color-background);
13
+ color: var(--md-sys-color-on-background);
14
+ }
15
+
16
+ button,
17
+ input,
18
+ optgroup,
19
+ select,
20
+ textarea {
21
+ font-family: $font-stack;
22
+ }
23
+
24
+ a {
25
+ color: $link-color;
26
+ text-decoration: none;
27
+ -webkit-tap-highlight-color: transparent; // Gets rid of tap active state
28
+ }
29
+
30
+ // Positioning
31
+ .valign-wrapper { display: flex; align-items: center; }
32
+
33
+ .clearfix { clear: both; }
34
+
35
+ // Z-levels
36
+ .z-depth-0 {
37
+ box-shadow: none !important;
38
+ }
39
+
40
+ /* 2dp elevation modified*/
41
+ .z-depth-1 {
42
+ box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14),
43
+ 0 3px 1px -2px rgba(0, 0, 0, 0.12),
44
+ 0 1px 5px 0 rgba(0, 0, 0, 0.2);
45
+ }
46
+
47
+ .z-depth-1-half {
48
+ box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.14), 0 1px 7px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -1px rgba(0, 0, 0, 0.2);
49
+ }
50
+
51
+ /* 6dp elevation modified*/
52
+ .z-depth-2 {
53
+ box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14),
54
+ 0 1px 10px 0 rgba(0, 0, 0, 0.12),
55
+ 0 2px 4px -1px rgba(0, 0, 0, 0.3);
56
+ }
57
+
58
+ /* 12dp elevation modified*/
59
+ .z-depth-3 {
60
+ box-shadow: 0 8px 17px 2px rgba(0, 0, 0, 0.14),
61
+ 0 3px 14px 2px rgba(0, 0, 0, 0.12),
62
+ 0 5px 5px -3px rgba(0, 0, 0, 0.2);
63
+ }
64
+
65
+ /* 16dp elevation */
66
+ .z-depth-4 {
67
+ box-shadow: 0 16px 24px 2px rgba(0, 0, 0, 0.14),
68
+ 0 6px 30px 5px rgba(0, 0, 0, 0.12),
69
+ 0 8px 10px -7px rgba(0, 0, 0, 0.2);
70
+ }
71
+
72
+ /* 24dp elevation */
73
+ .z-depth-5 {
74
+ box-shadow: 0 24px 38px 3px rgba(0, 0, 0, 0.14),
75
+ 0 9px 46px 8px rgba(0, 0, 0, 0.12),
76
+ 0 11px 15px -7px rgba(0, 0, 0, 0.2);
77
+ }
78
+
79
+ .hoverable {
80
+ transition: box-shadow .25s;
81
+ &:hover {
82
+ box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
83
+ }
84
+ }
85
+
86
+ // Dividers
87
+ .divider {
88
+ height: 1px;
89
+ overflow: hidden;
90
+ background-color: var(--md-sys-color-outline-variant);
91
+ }
92
+
93
+ // Blockquote
94
+ blockquote { margin: 20px 0; padding-left: 1.5rem; border-left: 5px solid var(--md-sys-color-primary); }
95
+
96
+ // Icon Styles
97
+ i {
98
+ line-height: inherit;
99
+ &.left {
100
+ float: left;
101
+ margin-left: -8px;
102
+ // margin-right: 15px;
103
+ }
104
+ &.right {
105
+ float: right;
106
+ // margin-left: 15px;
107
+ }
108
+ &.tiny {
109
+ font-size: 1rem;
110
+ }
111
+ &.small {
112
+ font-size: 2rem;
113
+ }
114
+ &.medium {
115
+ font-size: 4rem;
116
+ }
117
+ &.large {
118
+ font-size: 6rem;
119
+ }
120
+ }
121
+
122
+ // Modal
123
+ html.noscroll {
124
+ position: fixed;
125
+ overflow-y: scroll;
126
+ width: 100%;
127
+ }
128
+
129
+ // Images
130
+ img.responsive-img,
131
+ video.responsive-video {
132
+ max-width: 100%;
133
+ height: auto;
134
+ }
135
+
136
+ // Parallax
137
+ .parallax-container {
138
+ position: relative;
139
+ overflow: hidden;
140
+ height: 500px;
141
+
142
+ .parallax {
143
+ position: absolute;
144
+ top: 0;
145
+ left: 0;
146
+ right: 0;
147
+ bottom: 0;
148
+ z-index: -1;
149
+
150
+ img {
151
+ opacity: 0;
152
+ position: absolute;
153
+ left: 50%;
154
+ bottom: 0;
155
+ min-width: 100%;
156
+ min-height: 100%;
157
+ transform: translate3d(0, 0, 0);
158
+ transform: translateX(-50%);
159
+ }
160
+ }
161
+ }
162
+
163
+ // Pushpin
164
+ .pin-top, .pin-bottom {
165
+ position: relative;
166
+ }
167
+
168
+ .pinned {
169
+ position: fixed !important;
170
+ }
171
+
172
+ // Remove Focus Boxes
173
+ select:focus {
174
+ outline: 1px solid var(--md-ref-palette-primary80);
175
+ }
176
+
177
+ label {
178
+ font-size: .8rem;
179
+ color: var(--md-sys-color-on-surface-variant);
180
+ }
181
+
182
+
183
+ /*********************
184
+ Transition Classes
185
+ **********************/
186
+
187
+ ul.staggered-list li { opacity: 0; }
188
+ .fade-in { opacity: 0; transform-origin: 0 50%; }
189
+
190
+ /*********************
191
+ Media Query Classes
192
+ **********************/
193
+ .hide-on-small-only, .hide-on-small-and-down {
194
+ @media #{$small-and-down} { display: none !important; }
195
+ }
196
+
197
+ .hide-on-med-and-down {
198
+ @media #{$medium-and-down} { display: none !important; }
199
+ }
200
+
201
+ .hide-on-med-and-up {
202
+ @media #{$medium-and-up} { display: none !important; }
203
+ }
204
+
205
+ .hide-on-med-only {
206
+ @media only screen and (min-width: $small-screen-up) and (max-width: $medium-screen) {
207
+ display: none !important;
208
+ }
209
+ }
210
+
211
+ .hide-on-large-only {
212
+ @media #{$large-and-up} { display: none !important; }
213
+ }
214
+
215
+ .hide-on-extra-large-only {
216
+ @media #{$extra-large-and-up} { display: none !important; }
217
+ }
218
+
219
+ .show-on-extra-large {
220
+ @media #{$extra-large-and-up} { display: block !important; }
221
+ }
222
+
223
+ .show-on-large {
224
+ @media #{$large-and-up} { display: block !important; }
225
+ }
226
+
227
+ .show-on-medium {
228
+ @media only screen and (min-width: $small-screen-up) and (max-width: $medium-screen) {
229
+ display: block !important;
230
+ }
231
+ }
232
+
233
+ .show-on-small {
234
+ @media #{$small-and-down} { display: block !important; }
235
+ }
236
+
237
+ .show-on-medium-and-up {
238
+ @media #{$medium-and-up} { display: block !important; }
239
+ }
240
+
241
+ .show-on-medium-and-down {
242
+ @media #{$medium-and-down} { display: block !important; }
243
+ }
244
+
245
+
246
+ // Center text on mobile
247
+ .center-on-small-only {
248
+ @media #{$small-and-down} { text-align: center; }
249
+ }
250
+
251
+ // Footer
252
+ .page-footer {
253
+ margin-top: 5rem;
254
+ padding-top: 3rem;
255
+ border-top: 1px dashed var(--md-sys-color-outline-variant);
256
+ p {
257
+ color: var(--md-sys-color-outline-light);
258
+ }
259
+ a {
260
+ color: var(--md-sys-color-primary);
261
+ }
262
+ .footer-copyright,
263
+ .footer-copyright a {
264
+ overflow: hidden;
265
+ min-height: 50px;
266
+ display: flex;
267
+ align-items: center;
268
+ justify-content: space-between;
269
+ padding: 10px 0px;
270
+ }
271
+ }
272
+
273
+ .page-footer ul {
274
+ padding-left: 0;
275
+ list-style-type: none;
276
+ }
277
+
278
+ // Tables
279
+ table, th, td {
280
+ border: none;
281
+ }
282
+
283
+ table {
284
+ width: 100%;
285
+ display: table;
286
+ border-collapse: collapse;
287
+ border-spacing: 0;
288
+
289
+ &.striped {
290
+ tr {
291
+ border-bottom: none;
292
+ }
293
+ tbody > tr:nth-child(odd) {
294
+ background-color: rgba(0, 0, 0, 0.08);
295
+ }
296
+ }
297
+
298
+ &.highlight > tbody > tr {
299
+ transition: background-color .25s ease;
300
+
301
+ &:hover {
302
+ background-color: rgba(0, 0, 0, 0.04);
303
+ }
304
+ }
305
+
306
+ thead {
307
+ color: var(--md-sys-color-on-surface-variant);
308
+ }
309
+
310
+ &.centered {
311
+ thead tr th, tbody tr td {
312
+ text-align: center;
313
+ }
314
+ }
315
+ }
316
+
317
+ tr {
318
+ border-bottom: 1px solid var(--md-sys-color-outline-variant);
319
+ }
320
+
321
+ td, th {
322
+ padding: 15px 5px;
323
+ display: table-cell;
324
+ text-align: left;
325
+ vertical-align: middle;
326
+ border-radius: 0;
327
+ }
328
+
329
+ // Responsive Table
330
+ @media #{$medium-and-down} {
331
+
332
+ table.responsive-table {
333
+ width: 100%;
334
+ border-collapse: collapse;
335
+ border-spacing: 0;
336
+ display: block;
337
+ position: relative;
338
+
339
+ td:empty:before {
340
+ content: '\00a0';
341
+ }
342
+ th,
343
+ td {
344
+ margin: 0;
345
+ vertical-align: top;
346
+ }
347
+ th {
348
+ text-align: left;
349
+ }
350
+ thead {
351
+ display: block;
352
+ float: left;
353
+
354
+ tr {
355
+ display: block;
356
+ padding: 0 10px 0 0;
357
+
358
+ th::before {
359
+ content: "\00a0";
360
+ }
361
+ }
362
+ }
363
+ tbody {
364
+ display: block;
365
+ width: auto;
366
+ position: relative;
367
+ overflow-x: auto;
368
+ white-space: nowrap;
369
+
370
+ tr {
371
+ display: inline-block;
372
+ vertical-align: top;
373
+ }
374
+ }
375
+ th {
376
+ display: block;
377
+ text-align: right;
378
+ }
379
+ td {
380
+ display: block;
381
+ min-height: 1.25em;
382
+ text-align: left;
383
+ }
384
+ tr {
385
+ border-bottom: none;
386
+ padding: 0 10px;
387
+ }
388
+ /* sort out borders */
389
+ thead {
390
+ border: 0;
391
+ border-right: 1px solid var(--md-sys-color-outline-variant);
392
+ }
393
+ }
394
+ }
395
+
396
+ // Responsive Videos
397
+ .video-container {
398
+ position: relative;
399
+ padding-bottom: 56.25%;
400
+ height: 0;
401
+ overflow: hidden;
402
+
403
+ iframe, object, embed {
404
+ position: absolute;
405
+ top: 0;
406
+ left: 0;
407
+ width: 100%;
408
+ height: 100%;
409
+ }
410
+ }
411
+
412
+ /*******************
413
+ Utility Classes
414
+ *******************/
415
+
416
+ .hide { display: none !important; }
417
+
418
+ // Text Align
419
+ .left-align { text-align: left; }
420
+ .right-align { text-align: right }
421
+ .center, .center-align { text-align: center; }
422
+
423
+ // TODO: Remove this
424
+ .left { float: left !important; }
425
+ .right { float: right !important; }
426
+
427
+ // No Text Select
428
+ .no-select { user-select: none; }
429
+ .circle { border-radius: 50%; }
430
+ .center-block { display: block; margin-left: auto; margin-right: auto; }
431
+ .truncate { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
432
+ .no-padding { padding: 0 !important; }
433
+
434
+ /**************************
435
+ Utility Spacing Classes
436
+ **************************/
437
+
438
+ $spacing-shortcuts: ("margin": "m", "padding": "p") !default;
439
+ $spacing-directions: ("top": "t", "right": "r", "bottom": "b", "left": "l") !default;
440
+ $spacing-horizontal: "x" !default;
441
+ $spacing-vertical: "y" !default;
442
+ $spacing-values: ("0": 0, "1": 0.25rem, "2": 0.5rem, "3": 0.75rem, "4": 1rem, "5": 1.5rem, "6": 3rem, "auto": auto) !default;
443
+
444
+ @each $property, $shortcut in $spacing-shortcuts{
445
+ @each $name, $value in $spacing-values{
446
+ // All direction spacing
447
+ .#{$shortcut}-#{$name}{
448
+ #{$property}: $value !important;
449
+ }
450
+ // (t, b, r, l) spacing
451
+ @each $direction, $suffix in $spacing-directions{
452
+ .#{$shortcut}#{$suffix}-#{$name}{
453
+ #{$property}-#{$direction}: $value !important
454
+ }
455
+ }
456
+ // x spacing
457
+ @if $spacing-horizontal != null{
458
+ .#{$shortcut}#{$spacing-horizontal}-#{$name}{
459
+ #{$property}-left: $value !important;
460
+ #{$property}-right: $value !important;
461
+ }
462
+ }
463
+ // y spacing
464
+ @if $spacing-vertical != null{
465
+ .#{$shortcut}#{$spacing-vertical}-#{$name}{
466
+ #{$property}-top: $value !important;
467
+ #{$property}-bottom: $value !important;
468
+ }
469
+ }
470
+ }
471
+ }
472
+
473
+ // Docked display
474
+ .display-docked {
475
+ position: absolute;
476
+ opacity: 0;
477
+ z-index: 9999;
478
+ visibility: hidden;
479
+ }
480
+
481
+ .confirmation-btns {
482
+ margin-left: auto;
483
+ }
484
+
485
+ /* This is needed for some mobile phones to display the Google Icon font properly */
486
+ .material-icons, .material-symbols-outlined,
487
+ .material-symbols-rounded, .material-symbols-sharp {
488
+ text-rendering: optimizeLegibility;
489
+ font-feature-settings: 'liga';
490
+ }