@vixcom/ui 1.1.0

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 (114) hide show
  1. package/.firebaserc +17 -0
  2. package/.github/release-please.yml +2 -0
  3. package/.github/workflows/deploy-prod.yml +26 -0
  4. package/.pnpm-debug.log +19 -0
  5. package/assets/img/favicon.png +0 -0
  6. package/assets/img/icon.png +0 -0
  7. package/css/animations.css +175 -0
  8. package/css/animations.css.map +1 -0
  9. package/css/app.css +1896 -0
  10. package/css/app.css.map +1 -0
  11. package/css/colors.css +5591 -0
  12. package/css/colors.css.map +1 -0
  13. package/css/external/bootstrap-grid.css +4997 -0
  14. package/css/external/bootstrap.css +10308 -0
  15. package/css/external/mdb.css +9444 -0
  16. package/css/external/owl-carousel.css +218 -0
  17. package/css/fonts.css +65 -0
  18. package/css/fonts.css.map +1 -0
  19. package/css/grid.css +6 -0
  20. package/css/grid.css.map +1 -0
  21. package/css/helper/owl.carousel.css +75 -0
  22. package/css/helper/owl.carousel.css.map +1 -0
  23. package/css/helper/primefaces.css +287 -0
  24. package/css/helper/primefaces.css.map +1 -0
  25. package/css/helper/primefaces.org.css.map +1 -0
  26. package/css/helper/tailwindcss.css +6 -0
  27. package/css/helper/tailwindcss.css.map +1 -0
  28. package/css/icons/external/bootstrap.icons.css +5502 -0
  29. package/css/icons/external/fontawesome.icons.css +6127 -0
  30. package/css/icons/external/material-design.icons.css +5728 -0
  31. package/css/icons/external/themify.icons.css +1428 -0
  32. package/css/index.css +23 -0
  33. package/css/index.css.map +1 -0
  34. package/css/menu.css +556 -0
  35. package/css/menu.css.map +1 -0
  36. package/css/polyfills.css +11 -0
  37. package/css/polyfills.css.map +1 -0
  38. package/css/sidebar.css.map +1 -0
  39. package/css/sizes.css +7457 -0
  40. package/css/sizes.css.map +1 -0
  41. package/css/variables.css +258 -0
  42. package/css/variables.css.map +1 -0
  43. package/firebase.json +55 -0
  44. package/fonts/MontessoriScript.ttf +0 -0
  45. package/fonts/Montserrat-Bold.ttf +0 -0
  46. package/fonts/Montserrat-Regular.ttf +0 -0
  47. package/fonts/NotoSans-Bold.ttf +0 -0
  48. package/fonts/Roboto-Bold.ttf +0 -0
  49. package/fonts/Roboto-Regular.ttf +0 -0
  50. package/fonts/bootstrap-icons.woff +0 -0
  51. package/fonts/fa-brands.woff +0 -0
  52. package/fonts/fa-regular.woff +0 -0
  53. package/fonts/fa-solid.woff +0 -0
  54. package/fonts/material-design-icons.ttf +0 -0
  55. package/http-server.sh +4 -0
  56. package/index.html +206 -0
  57. package/js/axios.min.js +3 -0
  58. package/js/bootstrap.min.js +7 -0
  59. package/js/jquery.min.js +4 -0
  60. package/js/lodash.min.js +139 -0
  61. package/js/mdb.min.js +15411 -0
  62. package/js/owl.carousel.min.js +7 -0
  63. package/js/rapidoc-min.js +4 -0
  64. package/js/sidebar.min.js +50 -0
  65. package/package.json +15 -0
  66. package/pages/error/index.html +32 -0
  67. package/pages/sidemenu/index.html +36 -0
  68. package/pages/tier-1/LICENSE +201 -0
  69. package/pages/tier-1/fonts/krub/Krub-Bold.ttf +0 -0
  70. package/pages/tier-1/fonts/krub/Krub-Light.ttf +0 -0
  71. package/pages/tier-1/fonts/krub/Krub-Regular.ttf +0 -0
  72. package/pages/tier-1/fonts/themify.woff +0 -0
  73. package/pages/tier-1/index.html +74 -0
  74. package/pages/tier-1/preview.png +0 -0
  75. package/pages/tier-1/scripts/jquery.min.js +4 -0
  76. package/pages/tier-1/scripts/sidebar.min.js +50 -0
  77. package/pages/tier-1/styles/bootstrap.css +9495 -0
  78. package/pages/tier-1/styles/color.css +28 -0
  79. package/pages/tier-1/styles/layout.css +33 -0
  80. package/pages/tier-1/styles/mdb.css +9657 -0
  81. package/pages/tier-1/styles/page.css +26 -0
  82. package/pages/tier-1/styles/sidebar.css +193 -0
  83. package/pages/tier-1/styles/themify.css +1428 -0
  84. package/pages/tier-2/LICENSE +201 -0
  85. package/pages/tier-2/fonts/krub/Krub-Bold.ttf +0 -0
  86. package/pages/tier-2/fonts/krub/Krub-Light.ttf +0 -0
  87. package/pages/tier-2/fonts/krub/Krub-Regular.ttf +0 -0
  88. package/pages/tier-2/fonts/themify.woff +0 -0
  89. package/pages/tier-2/index.html +65 -0
  90. package/pages/tier-2/preview.png +0 -0
  91. package/pages/tier-2/scripts/jquery.min.js +4 -0
  92. package/pages/tier-2/scripts/sidebar.min.js +50 -0
  93. package/pages/tier-2/styles/bootstrap.css +9495 -0
  94. package/pages/tier-2/styles/color.css +28 -0
  95. package/pages/tier-2/styles/layout.css +43 -0
  96. package/pages/tier-2/styles/mdb.css +9657 -0
  97. package/pages/tier-2/styles/page.css +26 -0
  98. package/pages/tier-2/styles/sidebar.css +193 -0
  99. package/pages/tier-2/styles/themify.css +1428 -0
  100. package/styles/_mixins.scss +309 -0
  101. package/styles/animations.scss +191 -0
  102. package/styles/app.scss +2020 -0
  103. package/styles/colors.scss +117 -0
  104. package/styles/fonts.scss +16 -0
  105. package/styles/grid.scss +4 -0
  106. package/styles/helper/owl.carousel.scss +92 -0
  107. package/styles/helper/primefaces.scss +373 -0
  108. package/styles/helper/tailwindcss.scss +4 -0
  109. package/styles/index.scss +25 -0
  110. package/styles/menu.scss +566 -0
  111. package/styles/polyfills.scss +9 -0
  112. package/styles/sizes.scss +191 -0
  113. package/styles/variables.scss +30 -0
  114. package/test.http +14 -0
@@ -0,0 +1,2020 @@
1
+ @import 'mixins';
2
+
3
+ /* Scrollbar - Start */
4
+
5
+ * {
6
+ scrollbar-color: hsl(var(--muted-hs), calc(var(--muted-l) + 40%)) transparent;
7
+ scrollbar-width: thin;
8
+ cursor: default;
9
+ /* word-break: break-word; */
10
+ }
11
+
12
+ ::-webkit-scrollbar {
13
+ -webkit-appearance: none;
14
+ appearance: none;
15
+ width: 0.25rem;
16
+ height: 0.25rem;
17
+ z-index: 1;
18
+ }
19
+
20
+ ::-webkit-scrollbar-corner {
21
+ display: none;
22
+ }
23
+
24
+ ::-webkit-scrollbar-thumb {
25
+ background-color: hsl(var(--muted-hs), calc(var(--muted-l) + 40%));
26
+ border-radius: 0;
27
+ }
28
+
29
+ ::-webkit-scrollbar-track {
30
+ background-color: transparent;
31
+ padding: 0.5rem;
32
+ }
33
+
34
+ ::-moz-selection {
35
+ color: var(--white);
36
+ background: hsl(var(--muted-hs), calc(var(--muted-l) + 20%));
37
+ }
38
+
39
+ ::selection {
40
+ color: var(--white);
41
+ background: hsl(var(--muted-hs), calc(var(--muted-l) + 20%));
42
+ }
43
+
44
+ /* Scrollbar - End */
45
+
46
+ body {
47
+ font-family: 'AppContent', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
48
+ background-color: var(--background-color, --default-c, --white);
49
+ color: var(--default, --white-c);
50
+ font-size: var(--font-size);
51
+ font-weight: normal;
52
+ }
53
+
54
+ %title {
55
+ font-family: 'AppTitle', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
56
+ font-weight: bold;
57
+ font-size: var(--heading-size);
58
+ /* color: var(--primary); */
59
+ }
60
+
61
+ .title {
62
+ @extend %title;
63
+ }
64
+
65
+ @for $n from 1 through 6 {
66
+ h#{$n},
67
+ .h#{$n} {
68
+ @extend %title;
69
+ }
70
+ }
71
+
72
+ b {
73
+ font-weight: bold;
74
+ }
75
+
76
+ :disabled,
77
+ .disabled,
78
+ [disable] {
79
+ cursor: not-allowed;
80
+ filter: grayscale(0.8);
81
+ }
82
+
83
+ .bg-text,
84
+ .bg-text-color {
85
+ position: relative;
86
+ display: inline-flex;
87
+ // align-items: center;
88
+ // justify-content: center;
89
+
90
+ &:hover::after {
91
+ opacity: 0.125;
92
+ }
93
+
94
+ &::after {
95
+ content: '';
96
+ position: absolute;
97
+ top: 0;
98
+ left: 0;
99
+ background-color: currentColor;
100
+ opacity: 0.055;
101
+ height: 100%;
102
+ width: 100%;
103
+ border-radius: inherit;
104
+ z-index: 0;
105
+ }
106
+ }
107
+
108
+ .is-blur {
109
+ position: relative;
110
+ transition: background-color 0.5s;
111
+
112
+ @include before-content;
113
+
114
+ &::before {
115
+ backdrop-filter: blur(10px);
116
+ }
117
+ }
118
+
119
+ .blur {
120
+ filter: blur(5px);
121
+ }
122
+
123
+ a,
124
+ .link {
125
+ color: var(--secondary);
126
+ cursor: pointer;
127
+
128
+ &:hover {
129
+ color: hsla(var(--secondary-hs), calc(var(--secondary-l) - 10%));
130
+ }
131
+ }
132
+
133
+ a:not(.link) {
134
+ text-decoration: none;
135
+ }
136
+
137
+ .app-icon {
138
+ object-fit: contain;
139
+ width: 4rem;
140
+ height: 4rem;
141
+ }
142
+
143
+ .app-logo {
144
+ display: inline-flex;
145
+ width: 10rem;
146
+ max-width: 100%;
147
+ object-fit: contain;
148
+ }
149
+
150
+ .app-header {
151
+ padding: 1rem 1.5rem;
152
+ display: flex;
153
+ align-items: center;
154
+ position: relative;
155
+ z-index: 1;
156
+
157
+ &.position-sticky,
158
+ &.sticky {
159
+ position: sticky !important;
160
+ top: 0;
161
+ left: 0;
162
+ }
163
+
164
+ .app-title {
165
+ margin-bottom: 0;
166
+ font-size: 125%;
167
+
168
+ @include unify-selector(img, &) {
169
+ width: 10rem;
170
+ }
171
+ }
172
+ }
173
+
174
+ .flex-container {
175
+ display: flex;
176
+ flex-wrap: wrap;
177
+ /* align-items: flex-end; */
178
+ margin: 0.5rem 0;
179
+ gap: 0.5rem;
180
+
181
+ > * {
182
+ /* align-self: flex-start; */
183
+ margin-bottom: 0;
184
+ }
185
+
186
+ // .button {
187
+ // margin-bottom: 0;
188
+ // }
189
+ }
190
+
191
+ .page-header {
192
+ margin: 1rem 0;
193
+ padding: 0 1rem;
194
+ display: flex;
195
+ align-items: center;
196
+
197
+ .page-title {
198
+ text-transform: capitalize;
199
+ margin-right: auto;
200
+ margin-bottom: 1rem;
201
+ color: var(--primary);
202
+
203
+ font: {
204
+ size: 200%;
205
+ weight: normal;
206
+ }
207
+ }
208
+
209
+ .button {
210
+ min-width: auto;
211
+ }
212
+ }
213
+
214
+ .section-header {
215
+ display: flex;
216
+ align-items: center;
217
+ margin: 1.5rem 0;
218
+ padding: 0 1.5rem;
219
+
220
+ &.has-arrow {
221
+ // justify-content: space-between;
222
+
223
+ &::before {
224
+ content: attr(data-arrow-text);
225
+ display: inline-block;
226
+ margin-left: auto;
227
+ font-size: 75%;
228
+ order: 1;
229
+ }
230
+
231
+ &::after {
232
+ content: '\f105';
233
+ font-family: 'FontAwesome';
234
+ margin-left: 1rem;
235
+ order: 2;
236
+ font-size: 90%;
237
+ // transform: scale(1.25, 0.9);
238
+ font-weight: normal;
239
+ }
240
+ }
241
+
242
+ .section-title {
243
+ margin-right: auto;
244
+ margin-bottom: 1rem;
245
+ font-weight: normal;
246
+ color: var(--primary);
247
+ }
248
+
249
+ .button {
250
+ min-width: auto;
251
+ }
252
+ }
253
+
254
+ .row > [class*='col'] {
255
+ margin-bottom: 1em;
256
+
257
+ & + [class*='col'] {
258
+ margin-top: 0;
259
+ }
260
+
261
+ .card {
262
+ height: 100%;
263
+ }
264
+ }
265
+
266
+ .icon {
267
+ @include flex-center;
268
+ }
269
+
270
+ .icon-container {
271
+ @include flex-center;
272
+
273
+ &:not(.h) {
274
+ flex-direction: column;
275
+
276
+ .icon {
277
+ margin: 0.5rem 0;
278
+ }
279
+ }
280
+
281
+ &.h .icon {
282
+ margin: 0 0.5rem;
283
+ }
284
+
285
+ .icon {
286
+ font-size: 150%;
287
+ }
288
+ }
289
+
290
+ [class*='sq-'] {
291
+ @include flex-center;
292
+ flex: unset;
293
+ padding: 0;
294
+ /* margin: auto; */
295
+
296
+ &:not(.h) {
297
+ flex-direction: column;
298
+ }
299
+
300
+ img {
301
+ object-fit: contain;
302
+ width: 100%;
303
+ }
304
+ }
305
+
306
+ hr {
307
+ border-top-color: currentColor;
308
+ opacity: 0.5;
309
+ }
310
+
311
+ hr[class*='s-']:not(.default) {
312
+ background-color: transparent !important;
313
+ margin: 0;
314
+ border: 0;
315
+ }
316
+
317
+ .s-sm {
318
+ padding: 0.25rem;
319
+ }
320
+
321
+ .s-1 {
322
+ padding: 0.5rem;
323
+ }
324
+
325
+ .s-2 {
326
+ padding: 0.75rem;
327
+ }
328
+
329
+ .s-3 {
330
+ padding: 1.5rem;
331
+ }
332
+
333
+ .s-4 {
334
+ padding: 2.5rem;
335
+ }
336
+
337
+ .s-5 {
338
+ padding: 5rem;
339
+ }
340
+
341
+ .dropdown-menu-right .dropdown-menu {
342
+ transform: translate(-100%, 0);
343
+ }
344
+
345
+ .dropdown-menu {
346
+ min-width: 12.5rem;
347
+ padding: 0;
348
+ border-radius: 0.5rem;
349
+ box-shadow: var(--card-shadow);
350
+
351
+ > {
352
+ :first-child {
353
+ border-top-left-radius: inherit;
354
+ border-top-right-radius: inherit;
355
+ }
356
+
357
+ :last-child {
358
+ border-bottom-left-radius: inherit;
359
+ border-bottom-right-radius: inherit;
360
+ }
361
+ }
362
+
363
+ .dropdown-header {
364
+ font-size: unset;
365
+ }
366
+
367
+ .dropdown-item {
368
+ padding: 0.75rem 1.25rem;
369
+ margin: 0;
370
+
371
+ // &+.dropdown-item {
372
+ // margin-top: 0.5rem;
373
+ // }
374
+ }
375
+ }
376
+
377
+ input,
378
+ *:not(.input) > {
379
+ .input {
380
+ /* background-color: transparent; */
381
+ /* margin: 0.25rem 0 1rem; */
382
+ border-radius: 0.25rem;
383
+ border: 1px solid currentColor;
384
+ /* width: 100%; */
385
+
386
+ &:not(.has-addon) {
387
+ /* align-self: stretch; */
388
+ padding: 0.5rem 1rem;
389
+ }
390
+
391
+ &.has-error {
392
+ border: 1px solid var(--danger);
393
+ }
394
+ }
395
+ }
396
+
397
+ input,
398
+ textarea {
399
+ opacity: 0.75;
400
+
401
+ &:focus {
402
+ opacity: 1;
403
+ }
404
+
405
+ &::placeholder,
406
+ &:-ms-input-placeholder,
407
+ &::-ms-input-placeholder,
408
+ &:-moz-input-placeholder,
409
+ &::-moz-input-placeholder,
410
+ &:-webkit-input-placeholder,
411
+ &::-webkit-input-placeholder {
412
+ display: none;
413
+ color: currentColor;
414
+ opacity: 0.75;
415
+ }
416
+ }
417
+
418
+ ul {
419
+ list-style: none;
420
+ padding-left: 0;
421
+ }
422
+
423
+ label {
424
+ cursor: pointer;
425
+
426
+ &.radio,
427
+ &.checkbox {
428
+ &,
429
+ &-container {
430
+ display: flex;
431
+ align-items: center;
432
+ margin: 1rem 0;
433
+
434
+ .label > * {
435
+ margin-bottom: 0;
436
+ }
437
+
438
+ & + {
439
+ .radio,
440
+ .checkbox {
441
+ margin-top: 1rem;
442
+ }
443
+ }
444
+ }
445
+ }
446
+
447
+ input ~ .label.off {
448
+ order: -1;
449
+ }
450
+
451
+ .active,
452
+ input:not(:checked) ~ .label.off,
453
+ input:checked ~ .label:not(.off) {
454
+ color: var(--secondary);
455
+ font-weight: bold;
456
+ }
457
+
458
+ input[type='radio'],
459
+ input[type='checkbox'] {
460
+ margin: 0 0.5rem;
461
+ }
462
+ }
463
+
464
+ .bg-primary input[type='checkbox']::before {
465
+ background-color: hsl(var(--muted-hs), calc(var(--muted-l) + 10));
466
+ }
467
+
468
+ input {
469
+ &::-webkit-outer-spin-button,
470
+ &::-webkit-inner-spin-button {
471
+ -webkit-appearance: none;
472
+ margin: 0;
473
+ }
474
+
475
+ &[type='number'] {
476
+ -moz-appearance: textfield;
477
+ }
478
+
479
+ &[type='checkbox'] {
480
+ position: relative;
481
+ -webkit-appearance: none;
482
+ appearance: none;
483
+ border: none;
484
+ width: 2rem;
485
+ min-width: 2rem;
486
+ height: 1rem;
487
+ padding: 0 !important;
488
+ margin: 0;
489
+ border-radius: 0.5rem;
490
+ background-color: hsla(var(--white-hs), var(--white-l), 0.5);
491
+ color: unset;
492
+ opacity: 1;
493
+
494
+ &::before {
495
+ content: '';
496
+ display: block;
497
+ height: 100%;
498
+ width: 100%;
499
+ opacity: 0.275;
500
+ background-color: currentColor;
501
+ border-radius: inherit;
502
+ transition: width 0.25s ease, opacity 0.25s;
503
+ }
504
+
505
+ &::after {
506
+ content: '';
507
+ display: block;
508
+ position: absolute;
509
+ top: 50%;
510
+ left: 0;
511
+ width: 1rem;
512
+ height: 1rem;
513
+ padding: 0.25rem;
514
+ background-color: currentColor;
515
+ border-radius: 50%;
516
+ transform: translate(0, -50%);
517
+ transition: left 0.25s ease, transform 0.25s ease;
518
+ }
519
+
520
+ &:checked {
521
+ &::before {
522
+ opacity: 0.575;
523
+ }
524
+
525
+ &::after {
526
+ left: 100%;
527
+ transform: translate(-100%, -50%);
528
+ }
529
+ }
530
+
531
+ &.default {
532
+ -webkit-appearance: checkbox;
533
+ appearance: checkbox;
534
+
535
+ &::after,
536
+ &::before {
537
+ content: unset;
538
+ }
539
+ }
540
+
541
+ &.switch {
542
+ &::before {
543
+ position: absolute;
544
+ left: 0;
545
+ top: 50%;
546
+ height: 50%;
547
+ transform: translateY(-50%);
548
+ }
549
+ }
550
+ }
551
+
552
+ &[type='radio'] {
553
+ position: relative;
554
+ -webkit-appearance: none;
555
+ appearance: none;
556
+ color: inherit;
557
+ background-color: transparent;
558
+ border: 0.125rem solid currentColor;
559
+ border-radius: 50%;
560
+ display: inline-block;
561
+ justify-content: center;
562
+ align-items: center;
563
+ width: 1rem !important;
564
+ min-width: 1rem;
565
+ height: 1rem;
566
+ min-height: 1rem;
567
+ padding: 0.125rem !important;
568
+ margin: 0;
569
+
570
+ &::after {
571
+ content: '';
572
+ display: block;
573
+ background-color: currentColor;
574
+ opacity: 0;
575
+ width: 100%;
576
+ /* flex: 1; */
577
+ height: 100%;
578
+ border-radius: inherit;
579
+ transition: opacity 0.25s ease-in;
580
+ }
581
+
582
+ &:hover::after {
583
+ opacity: 0.25;
584
+ }
585
+
586
+ &:checked::after {
587
+ opacity: 1;
588
+ }
589
+ }
590
+
591
+ &[type='search'] {
592
+ min-width: 22.5%;
593
+ }
594
+
595
+ &[type='file'] {
596
+ display: none;
597
+ }
598
+
599
+ /* &.phone,
600
+ &[type=phone],
601
+ &[type=password] {
602
+ letter-spacing: 2px;
603
+ } */
604
+ }
605
+
606
+ .input {
607
+ display: flex;
608
+ align-items: center;
609
+
610
+ &.has-addon {
611
+ input,
612
+ .input,
613
+ .addon {
614
+ padding: 0.5rem 1rem;
615
+ margin: 0;
616
+ }
617
+ }
618
+
619
+ .addon {
620
+ display: flex;
621
+ align-items: center;
622
+ justify-content: center;
623
+ border-radius: inherit !important;
624
+ /* font-weight: bold; */
625
+ align-self: stretch;
626
+ min-width: unset;
627
+
628
+ &:not(:last-child) {
629
+ border-top-right-radius: 0 !important;
630
+ border-bottom-right-radius: 0 !important;
631
+ }
632
+
633
+ &:not(:first-child) {
634
+ border-top-left-radius: 0 !important;
635
+ border-bottom-left-radius: 0 !important;
636
+ }
637
+ }
638
+
639
+ &.file {
640
+ border-style: dashed;
641
+ text-align: center;
642
+
643
+ &::before {
644
+ content: attr(data-placeholder);
645
+ display: block;
646
+ width: 100%;
647
+ }
648
+ }
649
+
650
+ &.p-0 {
651
+ padding: 0;
652
+
653
+ select {
654
+ padding: 0.75rem 1.25rem;
655
+ }
656
+ }
657
+
658
+ input,
659
+ .input,
660
+ select {
661
+ border: none;
662
+ width: 100%;
663
+ background-color: transparent;
664
+ }
665
+ }
666
+
667
+ option[disabled]:first-of-type {
668
+ display: none;
669
+ }
670
+
671
+ .h-group {
672
+ flex-wrap: wrap;
673
+
674
+ label {
675
+ width: 100%;
676
+ }
677
+ }
678
+
679
+ .checkbox-group {
680
+ display: flex;
681
+ justify-content: space-around;
682
+ align-items: center;
683
+ text-transform: capitalize;
684
+ flex-wrap: wrap;
685
+ padding: 1rem;
686
+
687
+ label {
688
+ display: flex;
689
+ align-items: center;
690
+ }
691
+
692
+ label + label,
693
+ & > input[type='checkbox'] + input[type='checkbox'] {
694
+ margin-top: 1rem;
695
+ }
696
+ }
697
+
698
+ .radio-group {
699
+ display: flex;
700
+ justify-content: space-around;
701
+ align-items: center;
702
+ text-transform: capitalize;
703
+ border-radius: 0.25rem;
704
+ padding: 1rem;
705
+ margin-bottom: 1rem;
706
+
707
+ &.h-group::before {
708
+ left: unset;
709
+ right: 1rem;
710
+ }
711
+
712
+ &::before {
713
+ content: attr(data-label);
714
+ display: block;
715
+ position: absolute;
716
+ padding: 0.5rem;
717
+ left: 1rem;
718
+ top: 0;
719
+ transform: translateY(-50%);
720
+ background-color: inherit;
721
+ }
722
+
723
+ label {
724
+ display: flex;
725
+ align-items: center;
726
+ }
727
+ }
728
+
729
+ .input-container {
730
+ display: block;
731
+ position: relative;
732
+ width: 100%;
733
+ /* margin-bottom: 1rem; */
734
+ text-align: left;
735
+ $input-container: &;
736
+
737
+ input + input,
738
+ & + .input-container {
739
+ margin-top: 0.5rem;
740
+ }
741
+
742
+ &:has(input:invalid) {
743
+ color: var(--danger);
744
+ }
745
+
746
+ &:has(input:focus:empty),
747
+ &:has(input:focus:placeholder-shown) {
748
+ &::before,
749
+ .label {
750
+ // @include append-selector() {
751
+ background-color: var(--primary);
752
+ }
753
+ }
754
+
755
+ // &>label,
756
+ &::before,
757
+ .label {
758
+ content: attr(data-label);
759
+ display: block;
760
+ font-weight: bold;
761
+ font-size: 80%;
762
+ /* text-transform: capitalize; */
763
+ margin-bottom: 0.25rem;
764
+ padding-left: 1rem;
765
+ opacity: 0.75;
766
+ }
767
+
768
+ &::after,
769
+ .hint {
770
+ content: attr(data-hint);
771
+ display: none;
772
+ width: 100%;
773
+ padding: 0.25rem;
774
+ font-size: 80%;
775
+ }
776
+
777
+ &.has-error,
778
+ &.has-warning,
779
+ &.show-hint {
780
+ &::after,
781
+ .hint {
782
+ display: block;
783
+ }
784
+ }
785
+
786
+ &.has-error {
787
+ &::after,
788
+ .hint {
789
+ font-weight: bold;
790
+ color: var(--danger);
791
+ }
792
+
793
+ .addon {
794
+ background-color: var(--danger) !important;
795
+ color: var(--white) !important;
796
+ }
797
+
798
+ > {
799
+ input,
800
+ .input {
801
+ border: 1px solid var(--danger);
802
+ }
803
+ }
804
+ }
805
+
806
+ &.has-warning {
807
+ &::after,
808
+ .hint {
809
+ /* font-weight: bold; */
810
+ color: var(--warning);
811
+ }
812
+
813
+ input,
814
+ .input {
815
+ border: 1px solid var(--warning);
816
+ }
817
+ }
818
+
819
+ &.has-info {
820
+ &::after,
821
+ .hint {
822
+ color: var(--info);
823
+ }
824
+ }
825
+
826
+ input,
827
+ .input {
828
+ width: 100%;
829
+ /* margin-bottom: 0; */
830
+ }
831
+ }
832
+
833
+ .progress {
834
+ position: relative;
835
+ background-color: transparent;
836
+ @include before-content;
837
+
838
+ &::before {
839
+ opacity: 0.75;
840
+ }
841
+
842
+ &.bar {
843
+ @include after-content;
844
+
845
+ &::after {
846
+ background-color: currentColor;
847
+ // width: attr(data-progress '%');
848
+ transition: width 0.5s;
849
+ }
850
+ }
851
+
852
+ &.dotted {
853
+ display: flex;
854
+ min-width: 25%;
855
+ list-style: none;
856
+ position: relative;
857
+ align-items: center;
858
+ justify-content: space-between;
859
+ overflow: hidden;
860
+ gap: 0.125rem;
861
+ /* border-radius: 5rem; */
862
+ @include before-content;
863
+
864
+ &::before {
865
+ opacity: 0.125;
866
+ background-color: currentColor;
867
+ }
868
+
869
+ .dot,
870
+ .item {
871
+ background-color: currentColor;
872
+ border-radius: 50%;
873
+ width: 0.5rem;
874
+ height: 0.5rem;
875
+ z-index: 1;
876
+ position: relative;
877
+
878
+ & + :is(.dot, .item) {
879
+ margin-left: 0.5rem;
880
+ }
881
+
882
+ &.active ~ :is(.dot, .item) {
883
+ opacity: 0.5;
884
+ }
885
+ }
886
+ }
887
+ }
888
+
889
+ .tabs {
890
+ position: relative;
891
+ margin-bottom: 1rem;
892
+ display: flex;
893
+ overflow-x: scroll;
894
+ flex-wrap: nowrap;
895
+ /* align-items: center; */
896
+ width: 100%;
897
+ padding: 0.125rem 1.25rem;
898
+ gap: 0.5rem;
899
+ /* z-index: 1; */
900
+
901
+ > .tab {
902
+ display: inline-flex;
903
+ align-items: center;
904
+ justify-content: center;
905
+ text-transform: capitalize;
906
+ padding: 0.25rem;
907
+ border: none;
908
+ border-radius: 0.25rem;
909
+ /* font-weight: bold; */
910
+ min-width: 5rem;
911
+ flex: 0 0 auto;
912
+ transition: background-color 0.25s;
913
+ z-index: 1;
914
+ }
915
+
916
+ &.pills {
917
+ > .tab {
918
+ border-radius: 5rem;
919
+ }
920
+ }
921
+
922
+ %no-scrollbar {
923
+ scrollbar-width: 0;
924
+ margin-bottom: 0;
925
+
926
+ &::-webkit-scrollbar {
927
+ width: 0;
928
+ }
929
+ }
930
+
931
+ &.md,
932
+ &.overlap,
933
+ &.no-scrollbar {
934
+ @extend %no-scrollbar;
935
+ }
936
+
937
+ &.overlap {
938
+ @include after-content;
939
+
940
+ &::after {
941
+ background-color: inherit;
942
+ }
943
+ }
944
+
945
+ &.md {
946
+ .tab {
947
+ background-color: transparent !important;
948
+
949
+ &.active {
950
+ border-bottom: medium solid;
951
+ }
952
+ }
953
+ }
954
+
955
+ &.md,
956
+ &.overlap {
957
+ // @extend &.no-scrollbar;
958
+
959
+ > .tab {
960
+ margin-bottom: 0;
961
+ border-bottom-left-radius: 0;
962
+ border-bottom-right-radius: 0;
963
+ padding: 0.25rem 0.5rem;
964
+
965
+ .label {
966
+ margin: 0.5rem;
967
+ }
968
+ }
969
+ }
970
+ }
971
+
972
+ .tabs-container {
973
+ .tabs {
974
+ .tab {
975
+ position: relative;
976
+
977
+ &::before,
978
+ &::after {
979
+ content: '';
980
+ position: absolute;
981
+ height: 5%;
982
+ width: 5%;
983
+ bottom: -1px;
984
+ }
985
+
986
+ &::before {
987
+ left: 0;
988
+ transform: translateX(-100%);
989
+ border-top-left-radius: 5%;
990
+ }
991
+
992
+ &::after {
993
+ right: 0;
994
+ transform: translateX(100%);
995
+ border-top-left-radius: 5%;
996
+ }
997
+
998
+ &:not(.active, :active) {
999
+ }
1000
+ }
1001
+ }
1002
+ }
1003
+
1004
+ .border {
1005
+ &-dashed {
1006
+ border-style: dashed !important;
1007
+ }
1008
+
1009
+ &-current {
1010
+ border-color: currentColor !important;
1011
+ }
1012
+ }
1013
+
1014
+ .badge {
1015
+ display: inline-flex;
1016
+ align-items: center;
1017
+ border-radius: 0.25rem;
1018
+ padding: 0.25rem 0.75rem;
1019
+ font-size: 80%;
1020
+ letter-spacing: 1px;
1021
+ text-transform: capitalize;
1022
+
1023
+ // &.small {
1024
+ // font-size: 60%;
1025
+ // }
1026
+
1027
+ // &.badge-sm {
1028
+ // padding: 0.5rem 1rem;
1029
+ // }
1030
+
1031
+ // &.badge-xs {
1032
+ // padding: 0.25rem;
1033
+ // }
1034
+ }
1035
+
1036
+ .button-group,
1037
+ .button-group-vertical {
1038
+ border-radius: 0.5rem;
1039
+ }
1040
+
1041
+ .button {
1042
+ position: relative;
1043
+ padding: 0.25rem 1.5rem;
1044
+ font-size: 120%;
1045
+ /* font-weight: bold; */
1046
+ min-width: 7.5rem;
1047
+ display: inline-flex;
1048
+ gap: 0.5rem;
1049
+ justify-content: center;
1050
+ align-items: center;
1051
+ /* border: none; */
1052
+
1053
+ &:focus {
1054
+ outline: 1px solid hsl(var(--secondary-hs), calc(var(--secondary-l) + 50%));
1055
+ }
1056
+
1057
+ // &:not(.no-rounded) {
1058
+ // border-radius: 0.125rem;
1059
+ // }
1060
+
1061
+ &.button-block {
1062
+ width: 100%;
1063
+ }
1064
+
1065
+ &.button-circle {
1066
+ width: 3rem;
1067
+ height: 3rem;
1068
+ display: inline-flex;
1069
+ min-width: unset !important;
1070
+ padding: 0.5rem;
1071
+ align-items: center;
1072
+ justify-content: center;
1073
+ border-radius: 50%;
1074
+
1075
+ &.button-sm {
1076
+ width: 2rem;
1077
+ height: 2rem;
1078
+ }
1079
+ }
1080
+
1081
+ &.button-lg {
1082
+ font-size: 150%;
1083
+ padding: 0.5rem 1.25rem;
1084
+ min-width: 10rem;
1085
+ }
1086
+
1087
+ &.button-sm {
1088
+ font-size: 80%;
1089
+ }
1090
+
1091
+ &.button-xs {
1092
+ font-size: 75%;
1093
+ padding: 0.125rem 0.5rem;
1094
+ min-width: 5rem;
1095
+ }
1096
+
1097
+ &.button-block + .button {
1098
+ margin-top: 0.5rem;
1099
+ }
1100
+
1101
+ // .icon {
1102
+ // font-size: 80%;
1103
+ // }
1104
+ }
1105
+
1106
+ .button-group {
1107
+ /* margin: 1rem 0; */
1108
+ align-items: stretch;
1109
+
1110
+ &.no-rounded {
1111
+ .button {
1112
+ border-radius: 0;
1113
+ }
1114
+ }
1115
+
1116
+ .button {
1117
+ border-radius: inherit;
1118
+ align-self: stretch;
1119
+ margin: 0;
1120
+ min-width: unset;
1121
+ flex: 1 1 100%;
1122
+ }
1123
+ }
1124
+
1125
+ .button-group-vertical .button {
1126
+ border-radius: inherit;
1127
+ }
1128
+
1129
+ table {
1130
+ border-collapse: separate;
1131
+ border-spacing: 0;
1132
+ width: 100%;
1133
+ }
1134
+
1135
+ .table-container {
1136
+ $table-container: &;
1137
+ display: flex;
1138
+ flex-direction: column;
1139
+ padding: 0 0 1rem;
1140
+ gap: 1rem;
1141
+ width: 100%;
1142
+ overflow: scroll;
1143
+ scrollbar-width: medium;
1144
+
1145
+ &::-webkit-scrollbar {
1146
+ height: 0.5rem;
1147
+ }
1148
+
1149
+ &.compact {
1150
+ font-size: 90%;
1151
+
1152
+ thead,
1153
+ .table-header {
1154
+ font-weight: normal;
1155
+ }
1156
+
1157
+ tr,
1158
+ > .row {
1159
+ background-color: inherit !important;
1160
+
1161
+ & + tr,
1162
+ & + .row {
1163
+ border-top: 0.5px solid;
1164
+ }
1165
+
1166
+ td,
1167
+ th,
1168
+ [class*='col'] {
1169
+ padding: 0.25rem;
1170
+ }
1171
+ }
1172
+ }
1173
+
1174
+ .sticky {
1175
+ /* &::after {
1176
+ content: '';
1177
+ display: block;
1178
+ box-shadow: 5px 0px 10px -5px rgba(0, 0, 0, 0.5);
1179
+ width: 5%;
1180
+ top: 0;
1181
+ bottom: 0;
1182
+ right: 0;
1183
+ position: absolute;
1184
+ border-right: thin solid var(--border-color)
1185
+ } */
1186
+ }
1187
+
1188
+ .row {
1189
+ flex-wrap: nowrap;
1190
+ }
1191
+
1192
+ thead th {
1193
+ min-width: 15vw;
1194
+ }
1195
+
1196
+ thead,
1197
+ .table-header {
1198
+ position: sticky;
1199
+ /* color: hsl(var(--secondary-hs), calc(var(--secondary-l) + 10%)); */
1200
+ font-weight: bold;
1201
+ width: fit-content;
1202
+ top: 0;
1203
+ bottom: 0;
1204
+ z-index: 1;
1205
+
1206
+ &.sticky-header {
1207
+ th {
1208
+ position: sticky;
1209
+ position: -webkit-sticky;
1210
+ top: 0;
1211
+ bottom: 0;
1212
+ z-index: 2;
1213
+
1214
+ &.sticky {
1215
+ z-index: 3;
1216
+ }
1217
+ }
1218
+ }
1219
+
1220
+ // &.sticky {
1221
+ // top: 0;
1222
+ // bottom: 0;
1223
+ // z-index: 1;
1224
+ // }
1225
+ }
1226
+
1227
+ tr,
1228
+ > .row,
1229
+ .scrollable > .row {
1230
+ position: relative;
1231
+ border-radius: 0.5rem;
1232
+ margin: 0 0 0.25rem;
1233
+ width: 100%;
1234
+ // font-size: 90%;
1235
+ background-color: inherit;
1236
+ z-index: 0;
1237
+
1238
+ &:nth-child(even):not(.table-header) {
1239
+ // @include before-content;
1240
+
1241
+ // &::before {
1242
+ // background-color: var(--white);
1243
+ // opacity: 0.25;
1244
+ // z-index: 0;
1245
+ // }
1246
+ }
1247
+
1248
+ [class*='col'] {
1249
+ display: flex;
1250
+ // flex-direction: column;
1251
+ // align-items: flex-start;
1252
+ // justify-content: center;
1253
+ }
1254
+
1255
+ td,
1256
+ th,
1257
+ [class*='col'] {
1258
+ margin-bottom: 0;
1259
+ padding: 1rem;
1260
+ background-color: inherit;
1261
+ border-radius: 0;
1262
+ word-break: break-word;
1263
+ /* min-width: 12.5%; */
1264
+
1265
+ &:first-of-type {
1266
+ border-top-left-radius: inherit;
1267
+ border-bottom-left-radius: inherit;
1268
+ }
1269
+
1270
+ &:last-of-type {
1271
+ border-top-right-radius: inherit;
1272
+ border-bottom-right-radius: inherit;
1273
+ }
1274
+
1275
+ &.sticky,
1276
+ &.md-sticky {
1277
+ left: 0;
1278
+ right: 0;
1279
+ z-index: 1;
1280
+
1281
+ /* &::after {
1282
+ content: '';
1283
+ display: block;
1284
+ box-shadow: 5px 0px 10px -5px rgba(0, 0, 0, 0.5);
1285
+ width: 5%;
1286
+ top: 0;
1287
+ bottom: 0;
1288
+ right: 0;
1289
+ position: absolute;
1290
+ border-right: thin solid var(--border-color);
1291
+ } */
1292
+ }
1293
+
1294
+ &.text-truncate {
1295
+ /* max-width: 15vw; */
1296
+ }
1297
+
1298
+ p {
1299
+ margin-bottom: 0;
1300
+ }
1301
+ }
1302
+
1303
+ .table-badge {
1304
+ position: absolute;
1305
+ top: 0;
1306
+ right: 1rem;
1307
+ transform: translateY(-50%);
1308
+ }
1309
+ }
1310
+ }
1311
+
1312
+ /* Modal Backdrop - Start */
1313
+
1314
+ .modal-backdrop {
1315
+ .show {
1316
+ opacity: 0.25;
1317
+ }
1318
+ }
1319
+
1320
+ /* Modal Close Button - End */
1321
+
1322
+ /* Scrollable Container - Start */
1323
+
1324
+ .scroll-container {
1325
+ position: relative;
1326
+ display: flex;
1327
+ flex-direction: column;
1328
+ height: 100%;
1329
+ overflow: hidden;
1330
+ }
1331
+
1332
+ .scrollable {
1333
+ position: relative;
1334
+ height: 100%;
1335
+ /* flex: 1 1 auto; */
1336
+ overflow-y: scroll;
1337
+ overflow-x: hidden;
1338
+
1339
+ &.h {
1340
+ display: flex;
1341
+ flex-direction: row;
1342
+ width: 100%;
1343
+ flex-wrap: nowrap;
1344
+ justify-content: space-between;
1345
+ overflow-x: scroll;
1346
+ overflow-y: hidden;
1347
+ }
1348
+ }
1349
+
1350
+ /* Scrollable Container - End */
1351
+ .overflow-hidden {
1352
+ overflow: hidden;
1353
+ }
1354
+
1355
+ .flex-none {
1356
+ flex: unset;
1357
+ }
1358
+
1359
+ .flex-center {
1360
+ @include flex-center;
1361
+
1362
+ &:not(.h) {
1363
+ flex-direction: column;
1364
+ }
1365
+ }
1366
+
1367
+ .flex-align-center {
1368
+ display: flex;
1369
+
1370
+ &.h {
1371
+ align-items: center;
1372
+ }
1373
+
1374
+ &:not(.h) {
1375
+ flex-direction: column;
1376
+ justify-content: center;
1377
+ }
1378
+ }
1379
+
1380
+ .flex-start {
1381
+ display: flex;
1382
+ justify-content: start;
1383
+ align-items: start;
1384
+ }
1385
+
1386
+ .flex-item,
1387
+ .flex-card {
1388
+ position: relative;
1389
+ display: flex;
1390
+ flex-direction: row;
1391
+ align-items: center;
1392
+
1393
+ /* overflow: hidden; */
1394
+ &.flex-card {
1395
+ border: 1px solid var(--border-color);
1396
+ border-radius: 0.5rem;
1397
+ background-clip: border-box;
1398
+
1399
+ [class*='bg-'] {
1400
+ border: none;
1401
+ }
1402
+
1403
+ &.has-bg::before,
1404
+ .bg-svg {
1405
+ content: '';
1406
+ display: block;
1407
+ position: absolute;
1408
+ height: 100%;
1409
+ width: 100%;
1410
+ background-color: inherit;
1411
+ z-index: 0;
1412
+ }
1413
+
1414
+ .bg-svg {
1415
+ -webkit-mask-image: url('/assets/bg/flex-card-bg-icons.svg');
1416
+ mask-image: url('/assets/bg/flex-card-bg-icons.svg');
1417
+ }
1418
+ }
1419
+
1420
+ .img,
1421
+ .icon {
1422
+ position: relative;
1423
+ display: flex;
1424
+ flex-direction: column;
1425
+ align-self: stretch;
1426
+ justify-content: center;
1427
+ object-fit: cover;
1428
+ text-align: center;
1429
+ font-size: 200%;
1430
+ z-index: 1;
1431
+ }
1432
+
1433
+ .img {
1434
+ flex: 1 1 40%;
1435
+ width: 40%;
1436
+ border-radius: inherit;
1437
+ }
1438
+
1439
+ .icon {
1440
+ flex: 1 1 25%;
1441
+ width: 25%;
1442
+ /* padding-left: 0.75rem; */
1443
+ /* font-weight: bold; */
1444
+ }
1445
+
1446
+ .addon {
1447
+ align-self: stretch;
1448
+ flex: 1 1 25%;
1449
+ width: 25%;
1450
+
1451
+ > * {
1452
+ flex: 1 1 auto;
1453
+ }
1454
+ }
1455
+
1456
+ .content {
1457
+ position: relative;
1458
+ margin: 0;
1459
+ padding: 0.75rem;
1460
+ flex: 1 1 100%;
1461
+ width: 100%;
1462
+ z-index: 1;
1463
+ }
1464
+
1465
+ .img img {
1466
+ width: 100%;
1467
+ height: 100%;
1468
+ object-fit: cover;
1469
+ }
1470
+ }
1471
+
1472
+ .text-spaced {
1473
+ letter-spacing: 0.25rem;
1474
+
1475
+ &.s-1 {
1476
+ letter-spacing: 0.5rem;
1477
+ }
1478
+ }
1479
+
1480
+ .title-strick,
1481
+ .text-strick-line {
1482
+ display: flex;
1483
+ align-items: center;
1484
+ justify-content: center;
1485
+
1486
+ & .label,
1487
+ &::content {
1488
+ width: 100%;
1489
+ }
1490
+
1491
+ &::before,
1492
+ &::after {
1493
+ content: '';
1494
+ display: inline-block;
1495
+ margin: 0 0.5rem;
1496
+ width: 100%;
1497
+ height: 1px;
1498
+ max-width: 10rem;
1499
+ background-color: currentColor;
1500
+ }
1501
+ }
1502
+
1503
+ .card {
1504
+ @include before-content;
1505
+
1506
+ &:not(.flat) {
1507
+ /* overflow: unset; */
1508
+ border: none;
1509
+ z-index: 0;
1510
+
1511
+ & > * {
1512
+ /* position: relative; */
1513
+ }
1514
+
1515
+ &::before {
1516
+ box-shadow: var(--card-shadow);
1517
+ }
1518
+ }
1519
+
1520
+ & + .card {
1521
+ margin-top: 1rem;
1522
+ }
1523
+
1524
+ &:not(.card-body) > {
1525
+ :first-child[class*='card-'] {
1526
+ border-top-left-radius: inherit;
1527
+ border-top-right-radius: inherit;
1528
+ }
1529
+
1530
+ :last-child[class*='card-'] {
1531
+ border-bottom-left-radius: inherit;
1532
+ border-bottom-right-radius: inherit;
1533
+ }
1534
+ }
1535
+
1536
+ .card-title {
1537
+ margin: 1rem 0 0.75rem;
1538
+ }
1539
+
1540
+ .card-header,
1541
+ .card-footer {
1542
+ background-color: transparent;
1543
+ border: none;
1544
+ padding: 1rem 1.5rem;
1545
+ }
1546
+
1547
+ .card-body,
1548
+ &.card-body {
1549
+ padding: 1.5rem;
1550
+ /* z-index: 1; */
1551
+ }
1552
+
1553
+ .card-body {
1554
+ padding: 0 1.5rem;
1555
+
1556
+ .card-img {
1557
+ margin: 0 -1.5rem;
1558
+ width: unset;
1559
+ }
1560
+ }
1561
+
1562
+ .card-img {
1563
+ max-height: 15rem;
1564
+ object-fit: cover;
1565
+ overflow: overlay;
1566
+ min-width: 100%;
1567
+ }
1568
+
1569
+ .card-header,
1570
+ .card-footer {
1571
+ display: flex;
1572
+ align-items: center;
1573
+ justify-content: space-between;
1574
+ }
1575
+ }
1576
+
1577
+ .flex-list,
1578
+ .item-list {
1579
+ margin: 1.5rem 0;
1580
+ list-style: none;
1581
+ display: flex;
1582
+
1583
+ &:not(.has-connector) {
1584
+ gap: 0.5rem;
1585
+ }
1586
+
1587
+ &.h .item {
1588
+ flex-direction: column;
1589
+ }
1590
+
1591
+ &.has-connector {
1592
+ .item {
1593
+ margin: 0;
1594
+ width: 100%;
1595
+
1596
+ &:not(:first-child) :is(.connector, li::marker)::before,
1597
+ &:not(:last-child) :is(.connector, li::marker)::after {
1598
+ content: '';
1599
+ }
1600
+
1601
+ .connector,
1602
+ li::marker {
1603
+ display: flex;
1604
+ flex-direction: column;
1605
+
1606
+ &::before,
1607
+ &::after {
1608
+ margin: 0 auto;
1609
+ width: 1px;
1610
+ height: 100%;
1611
+ background-color: currentColor;
1612
+ display: block;
1613
+ }
1614
+ }
1615
+ }
1616
+
1617
+ &.align-top {
1618
+ .item .connector {
1619
+ justify-content: flex-start;
1620
+
1621
+ &::before {
1622
+ content: unset;
1623
+ }
1624
+ }
1625
+ }
1626
+ }
1627
+
1628
+ &:not(.h) {
1629
+ flex-direction: column;
1630
+
1631
+ .item + .item {
1632
+ border-top: 1px solid var(--border-color);
1633
+ }
1634
+ }
1635
+
1636
+ .item {
1637
+ display: flex;
1638
+ /* align-items: center; */
1639
+ /* justify-content: space-between; */
1640
+ gap: 0.25rem;
1641
+ padding: 0 1rem;
1642
+ cursor: pointer;
1643
+
1644
+ // > {
1645
+ // .label {
1646
+ // width: 100%;
1647
+ // }
1648
+
1649
+ // .value {
1650
+ // font-weight: bold;
1651
+ // width: 100%;
1652
+ // }
1653
+ // }
1654
+
1655
+ .icon {
1656
+ font-weight: bold;
1657
+ /* margin-right: 1.25rem; */
1658
+ transition: margin-right 0.125s linear;
1659
+ }
1660
+
1661
+ .content {
1662
+ & + .content {
1663
+ margin-top: 0.5rem;
1664
+ }
1665
+ }
1666
+
1667
+ &:hover .icon {
1668
+ /* margin-right: 1.5rem; */
1669
+ }
1670
+ }
1671
+ }
1672
+
1673
+ .link-list {
1674
+ margin: 0;
1675
+ /* padding: 0.5rem; */
1676
+ list-style: none;
1677
+ font-size: 110%;
1678
+
1679
+ .item {
1680
+ display: flex;
1681
+ align-items: center;
1682
+ padding: 0.5rem 0.75rem;
1683
+ border-radius: 0.25rem;
1684
+ width: 100%;
1685
+ border: 1px solid var(--border-color);
1686
+ color: var(--primary);
1687
+ background-color: transparent;
1688
+ cursor: pointer;
1689
+
1690
+ & ~ .item {
1691
+ margin-top: 1rem;
1692
+ }
1693
+ }
1694
+ }
1695
+
1696
+ .list .item + .item {
1697
+ padding-top: 1rem;
1698
+ border-top: 1px solid var(--border-color);
1699
+ }
1700
+
1701
+ .stacked {
1702
+ // DEFAULT: .forward
1703
+ position: relative;
1704
+ @include flex-center;
1705
+
1706
+ &.h {
1707
+ .item + .item {
1708
+ margin-left: -25%;
1709
+ }
1710
+ }
1711
+
1712
+ &:not(.h) {
1713
+ flex-direction: column;
1714
+
1715
+ .item + .item {
1716
+ margin-top: -25%;
1717
+ }
1718
+ }
1719
+
1720
+ &.backwards {
1721
+ &:not(.h) {
1722
+ flex-direction: column-reverse;
1723
+ }
1724
+
1725
+ flex-direction: row-reverse;
1726
+ }
1727
+
1728
+ .item {
1729
+ position: relative;
1730
+ z-index: 1;
1731
+ }
1732
+ }
1733
+
1734
+ .modal-content {
1735
+ .modal-header {
1736
+ justify-content: flex-start;
1737
+ border-bottom: 2px solid var(--primary);
1738
+
1739
+ &:hover .close {
1740
+ opacity: 1;
1741
+ }
1742
+
1743
+ .close {
1744
+ margin: 0;
1745
+ display: inline-flex;
1746
+ align-items: center;
1747
+ justify-content: center;
1748
+ border-radius: 50%;
1749
+ display: inline-flex;
1750
+ width: 1.5rem;
1751
+ height: 1.5rem;
1752
+ font-size: 200%;
1753
+ padding: 0;
1754
+ min-width: unset;
1755
+ position: absolute;
1756
+ top: 0.5rem;
1757
+ right: 0.5rem;
1758
+ opacity: 0.125;
1759
+ transition: color 0.25s, opacity 0.25s;
1760
+
1761
+ &:hover {
1762
+ color: var(--danger);
1763
+ }
1764
+
1765
+ &::after,
1766
+ &::before {
1767
+ content: '';
1768
+ height: 0.125rem;
1769
+ width: 75%;
1770
+ display: block;
1771
+ background-color: currentColor;
1772
+ position: absolute;
1773
+ top: 50%;
1774
+ left: 50%;
1775
+ transform-origin: center;
1776
+ transform: translate(-50%, -50%);
1777
+ transition: transform 0.2s ease-out;
1778
+ }
1779
+
1780
+ &:hover::after {
1781
+ transform: translate(-50%, -50%) rotate(45deg);
1782
+ }
1783
+
1784
+ &:hover::before {
1785
+ transform: translate(-50%, -50%) rotate(-45deg);
1786
+ }
1787
+ }
1788
+ }
1789
+
1790
+ .modal-body {
1791
+ padding: 1rem 2rem;
1792
+ }
1793
+
1794
+ .modal-footer {
1795
+ border-top: none;
1796
+ padding: 1rem 2rem 2rem;
1797
+ justify-content: space-between;
1798
+ }
1799
+ }
1800
+
1801
+ .accordion-tab {
1802
+ display: flex;
1803
+ cursor: pointer;
1804
+ width: 100%;
1805
+
1806
+ & ~ .accordion-tab {
1807
+ margin-top: 1rem;
1808
+ }
1809
+
1810
+ .icon {
1811
+ align-self: flex-start;
1812
+ }
1813
+ }
1814
+
1815
+ img {
1816
+ max-width: 100%;
1817
+ }
1818
+
1819
+ .img-fullwidth {
1820
+ margin: 0 -1.25rem;
1821
+ width: 100vw;
1822
+ min-width: 100vw;
1823
+ height: 12.5rem;
1824
+ object-fit: cover;
1825
+ }
1826
+
1827
+ .img-circle {
1828
+ width: 100%;
1829
+ border-radius: 50%;
1830
+ width: 4rem;
1831
+ height: 4rem;
1832
+ display: flex;
1833
+ overflow: hidden;
1834
+
1835
+ img {
1836
+ width: 100%;
1837
+ height: 100%;
1838
+ object-fit: cover;
1839
+ border-radius: inherit;
1840
+ }
1841
+ }
1842
+
1843
+ .img-bg {
1844
+ @include absolute-content;
1845
+ object-fit: cover;
1846
+ }
1847
+
1848
+ .has-bg {
1849
+ @include after-content;
1850
+
1851
+ & > .img-bg {
1852
+ z-index: 0;
1853
+ position: absolute;
1854
+ }
1855
+
1856
+ &::after {
1857
+ background-color: hsla(var(--black-hs), var(--black-l), 0.5);
1858
+ }
1859
+ }
1860
+
1861
+ .rounded-inherit {
1862
+ border-radius: inherit;
1863
+ }
1864
+
1865
+ .sticky {
1866
+ position: sticky;
1867
+ position: -webkit-sticky;
1868
+ }
1869
+
1870
+ [class*='position-'] {
1871
+ &.left {
1872
+ left: 0;
1873
+ }
1874
+
1875
+ &.right {
1876
+ right: 0;
1877
+ }
1878
+
1879
+ &.top {
1880
+ top: 0;
1881
+ }
1882
+
1883
+ &.bottom {
1884
+ bottom: 0;
1885
+ }
1886
+
1887
+ &.all,
1888
+ &.spread {
1889
+ left: 0;
1890
+ right: 0;
1891
+ top: 0;
1892
+ bottom: 0;
1893
+ }
1894
+ }
1895
+
1896
+ [class*='float-'] {
1897
+ z-index: 1;
1898
+ }
1899
+
1900
+ .section,
1901
+ section {
1902
+ position: relative;
1903
+ min-height: 100vh;
1904
+ padding: 1.25rem;
1905
+ }
1906
+
1907
+ @media (min-width: 576px) {
1908
+ .md-sticky {
1909
+ position: sticky;
1910
+ }
1911
+ }
1912
+
1913
+ /* ABOVE <-- Tablets/Mini PC */
1914
+ @media (min-width: 768px) {
1915
+ .item-list {
1916
+ .item > .value {
1917
+ margin-left: 1rem;
1918
+ text-align: right;
1919
+ }
1920
+ }
1921
+
1922
+ .table-container {
1923
+ // font-size: 90%;
1924
+
1925
+ .row .table-header {
1926
+ display: none;
1927
+ }
1928
+ }
1929
+ }
1930
+
1931
+ /* Tables/Mini PC <---> BELOW */
1932
+ @media (max-width: 767.98px) {
1933
+ .page-header,
1934
+ .section-header {
1935
+ padding: 0;
1936
+ flex-wrap: wrap;
1937
+
1938
+ input[type='search'] {
1939
+ width: 100%;
1940
+ }
1941
+
1942
+ .tabs {
1943
+ justify-content: space-between;
1944
+ }
1945
+ }
1946
+
1947
+ .flex-container {
1948
+ /* flex-direction: column; */
1949
+ width: 100%;
1950
+
1951
+ .button {
1952
+ width: 100%;
1953
+ }
1954
+ }
1955
+
1956
+ .tabs {
1957
+ padding: 1.25rem 0.125rem;
1958
+
1959
+ &.overlap {
1960
+ padding: 0;
1961
+ }
1962
+ }
1963
+
1964
+ .table-container {
1965
+ &:not(.is-sticky) .row.table-header {
1966
+ display: none;
1967
+ }
1968
+
1969
+ &.is-sticky {
1970
+ .row {
1971
+ .table-header {
1972
+ display: none;
1973
+ }
1974
+
1975
+ [class*='col'] {
1976
+ margin: 0;
1977
+ }
1978
+ }
1979
+ }
1980
+
1981
+ > .row,
1982
+ .scrollable > .row {
1983
+ .table-header {
1984
+ margin-right: 1rem;
1985
+ }
1986
+
1987
+ [class*='col'] {
1988
+ flex-direction: row;
1989
+ // flex-wrap: nowrap;
1990
+ justify-content: flex-start;
1991
+ margin: 0.5rem 0;
1992
+ }
1993
+ }
1994
+ }
1995
+ }
1996
+
1997
+ /* Mobile <---> BELOW */
1998
+ @media (max-width: 575.98px) {
1999
+ .card {
2000
+ width: 100%;
2001
+ }
2002
+
2003
+ .item-list {
2004
+ &:not(.has-connector) {
2005
+ gap: 1rem;
2006
+ }
2007
+
2008
+ .item {
2009
+ flex-direction: column;
2010
+ gap: 0.5rem;
2011
+ }
2012
+ }
2013
+
2014
+ .table-container {
2015
+ td {
2016
+ min-width: fit-content;
2017
+ max-width: 75%;
2018
+ }
2019
+ }
2020
+ }