@mjsz-vbr-elements/shared 2.32.0 → 2.33.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 (61) hide show
  1. package/assets/css/base/borders.css +8 -0
  2. package/assets/css/base/color.primary.css +17 -0
  3. package/assets/css/base/color.secondary.css +11 -0
  4. package/assets/css/base/ease.css +30 -0
  5. package/assets/css/base/font.css +22 -0
  6. package/assets/css/base/shadow.css +49 -0
  7. package/assets/css/base/sizes.css +21 -0
  8. package/assets/css/components/accordion.css +86 -0
  9. package/assets/css/components/avatar.css +29 -0
  10. package/assets/css/components/badge.css +54 -0
  11. package/assets/css/components/card.css +22 -0
  12. package/assets/css/components/countdown.css +190 -0
  13. package/assets/css/components/definition-list.css +69 -0
  14. package/assets/css/components/double-bar.css +78 -0
  15. package/assets/css/components/error-notice.css +26 -0
  16. package/assets/css/components/floating-content.css +74 -0
  17. package/assets/css/components/form-field.css +74 -0
  18. package/assets/css/components/game-center-game-data.css +91 -0
  19. package/assets/css/components/game-center-timeline.css +665 -0
  20. package/assets/css/components/game-center.css +275 -0
  21. package/assets/css/components/game-item.css +35 -0
  22. package/assets/css/components/games-timeline.css +280 -0
  23. package/assets/css/components/hero.css +51 -0
  24. package/assets/css/components/icon-button.css +30 -0
  25. package/assets/css/components/list.css +138 -0
  26. package/assets/css/components/loading-indicator.css +8 -0
  27. package/assets/css/components/paginator.css +63 -0
  28. package/assets/css/components/playoffs.css +81 -0
  29. package/assets/css/components/progress.css +67 -0
  30. package/assets/css/components/responsive-table.css +13 -0
  31. package/assets/css/components/standings-selector.css +79 -0
  32. package/assets/css/components/table.css +205 -0
  33. package/assets/css/components/tabs.css +111 -0
  34. package/assets/css/components/timezone-selector.css +19 -0
  35. package/assets/css/components/top-list.css +97 -0
  36. package/assets/css/components/typography.css +41 -0
  37. package/assets/css/core/normalize.css +94 -0
  38. package/assets/css/core/utils.css +174 -0
  39. package/assets/css/core.css +22 -0
  40. package/assets/css/theme.css +63 -0
  41. package/dist/icons/index.js +414 -3
  42. package/package.json +8 -9
  43. package/dist/icons/IconArrowDown.js +0 -18
  44. package/dist/icons/IconArrowUp.js +0 -18
  45. package/dist/icons/IconBroadcast.js +0 -39
  46. package/dist/icons/IconChange.js +0 -19
  47. package/dist/icons/IconHockeyPuck.js +0 -19
  48. package/dist/icons/IconLaunch.js +0 -18
  49. package/dist/icons/IconLeft.js +0 -20
  50. package/dist/icons/IconMenu.js +0 -18
  51. package/dist/icons/IconMore.js +0 -34
  52. package/dist/icons/IconRight.js +0 -20
  53. package/dist/icons/IconSheet.js +0 -28
  54. package/dist/icons/IconSort.js +0 -24
  55. package/dist/icons/IconSortAsc.js +0 -24
  56. package/dist/icons/IconSortDesc.js +0 -24
  57. package/dist/icons/IconStar.js +0 -23
  58. package/dist/icons/IconTimer.js +0 -19
  59. package/dist/icons/IconWarning.js +0 -32
  60. package/dist/icons/IconWhistle.js +0 -15
  61. package/dist/icons/IconYoutube.js +0 -21
@@ -0,0 +1,111 @@
1
+ @layer components.variables {
2
+ :where(:host) {
3
+ /* Tabs */
4
+ --mvw-tab-btn-font-size: var(--font-size-500);
5
+ --mvw-tab-btn-font-weight: 500;
6
+ --mvw-tab-btn-color: light-dark(var(--mvw-color-primary-300), var(--mvw-color-primary-500));
7
+ --mvw-tab-btn-border-style: solid;
8
+ --mvw-tab-btn-border-width: 0 0 3px 0;
9
+ --mvw-tab-btn-text-transform: uppercase;
10
+ --mvw-tab-btn-hover-color: light-dark(var(--mvw-color-primary-500), var(--mvw-color-primary-300));
11
+ --mvw-tab-btn-hover-border-color: transparent;
12
+ --mvw-tab-btn-active-color: light-dark(var(--mvw-color-primary-900), var(--mvw-color-primary-50));
13
+ --mvw-tab-btn-active-border-color: var(--mvw-border-highlighted);
14
+ --mvw-tab-btn-group-separator-color: var(--mvw-border-muted);
15
+
16
+ /* Toggle */
17
+ --mvw-toggle-group-gap: var(--size-6);
18
+ --mvw-toggle-group-nav-padding: 0;
19
+ --mvw-toggle-group-border-width: 0;
20
+ --mvw-toggle-group-btn-padding: var(--size-4) var(--size-8);
21
+ --mvw-toggle-group-btn-size: var(--font-size-400);
22
+ --mvw-toggle-group-btn-color: light-dark(var(--mvw-color-primary-900), var(--mvw-color-primary-100));
23
+ --mvw-toggle-group-btn-bg-color: light-dark(var(--mvw-color-primary-50), var(--mvw-color-primary-900));
24
+ --mvw-toggle-group-btn-active-color: var(--mvw-color-primary-0);
25
+ --mvw-toggle-group-btn-active-bg-color: var(--mvw-bg-highlighted);
26
+ --mvw-toggle-group-btn-radius: var(--radius-2);
27
+ }
28
+ }
29
+
30
+ @layer components {
31
+ :where(nav.tabs) {
32
+ & > [role='tablist'] {
33
+ button {
34
+ outline-color: transparent;
35
+ outline-offset: -4px;
36
+
37
+ &:focus-visible {
38
+ outline: 2px solid blue;
39
+ }
40
+
41
+ /* &[aria-selected='true'] {
42
+ &:focus-visible {
43
+ outline: 2px solid blue;
44
+ }
45
+ } */
46
+ }
47
+ }
48
+
49
+ /* Underlined */
50
+ &.underlined {
51
+ /* Tab list */
52
+ & > [role='tablist'] {
53
+ border-bottom: 1px solid var(--mvw-tab-btn-group-separator-color);
54
+
55
+ button {
56
+ background: transparent;
57
+ color: var(--mvw-tab-btn-color);
58
+ font-weight: var(--mvw-tab-btn-font-weight);
59
+ line-height: var(--font-lineheight-4);
60
+ padding: var(--size-8) var(--size-16);
61
+ text-transform: var(--mvw-tab-btn-text-transform);
62
+
63
+ &:focus-visible {
64
+ border-radius: 0;
65
+ }
66
+
67
+ &[aria-selected='true'] {
68
+ border-block-end: 3px solid var(--mvw-tab-btn-active-border-color);
69
+ color: var(--mvw-tab-btn-active-color);
70
+ }
71
+
72
+ &[aria-selected='false']:hover {
73
+ color: var(--mvw-tab-btn-hover-color);
74
+ /* background-color: var(--mvw-tab-btn-hover-bg-color); */
75
+ }
76
+ }
77
+ }
78
+ }
79
+
80
+ /* Filled */
81
+ &.filled {
82
+ & > [role='tablist'] {
83
+ display: flex;
84
+ gap: var(--mvw-toggle-group-gap);
85
+ border: var(--mvw-toggle-group-border-width) solid var(--mvw-border-muted);
86
+ border-radius: calc(var(--mvw-toggle-group-btn-radius) + var(--mvw-toggle-group-nav-padding));
87
+ overflow: hidden;
88
+ padding: var(--mvw-toggle-group-nav-padding);
89
+ width: fit-content;
90
+
91
+ button {
92
+ background-color: var(--mvw-toggle-group-btn-bg-color);
93
+ border-radius: var(--mvw-toggle-group-btn-radius);
94
+ font-size: var(--mvw-toggle-group-btn-size);
95
+ color: var(--mvw-toggle-group-btn-color);
96
+ /* line-height: var(--font-lineheight-4); */
97
+ padding: var(--mvw-toggle-group-btn-padding);
98
+
99
+ /* &:hover {
100
+ background-color: var(--mvw-toggle-group-btn-active-bg-color);
101
+ } */
102
+
103
+ &[aria-selected='true'] {
104
+ color: var(--mvw-toggle-group-btn-active-color);
105
+ background-color: var(--mvw-toggle-group-btn-active-bg-color);
106
+ }
107
+ }
108
+ }
109
+ }
110
+ }
111
+ }
@@ -0,0 +1,19 @@
1
+ @layer components.variables {
2
+ :where(:host) {
3
+ --mvw-timezone-selector-color: light-dark(var(--mvw-color-primary-500), var(--mvw-color-primary-500));
4
+ --mvw-timezone-selector-font-size: var(--font-size-300);
5
+ }
6
+ }
7
+
8
+ @layer components {
9
+ :where(.timezone-selector) {
10
+ padding: 3px 0;
11
+ color: var(--mvw-timezone-selector-color);
12
+ font-size: var(--mvw-timezone-selector-font-size);
13
+ font-weight: 500;
14
+
15
+ .is-active {
16
+ font-weight: 700;
17
+ }
18
+ }
19
+ }
@@ -0,0 +1,97 @@
1
+ @layer components.variables {
2
+ :where(:host) {
3
+ --mvw-top-list-bg-color: var(--mvw-color-primary-900);
4
+ --mvw-top-list-title-color: var(--mvw-color-primary-50);
5
+ --mvw-top-list-title-separator-color: var(--mvw-color-primary-700);
6
+ --mvw-top-list-value-color: var(--mvw-color-primary-300);
7
+ --mvw-top-list-player-separator-color: var(--mvw-color-primary-800);
8
+ --mvw-top-list-image-border-color: var(--mvw-color-primary-600);
9
+ --mvw-top-list-image-bg-color: var(--mvw-color-primary-800);
10
+ --mvw-top-list-selector-border-color: var(--mvw-color-primary-400);
11
+ }
12
+ }
13
+
14
+ @layer components {
15
+ :where(.liga-top-list) {
16
+ background-color: var(--mvw-top-list-bg-color);
17
+
18
+ .top-list-container {
19
+ padding: var(--size-16);
20
+
21
+ h2 {
22
+ display: grid;
23
+ grid-template-columns: 1fr auto;
24
+ align-items: center;
25
+ padding-block: var(--size-8);
26
+ font-size: var(--font-size-400);
27
+ font-weight: 700;
28
+ text-transform: uppercase;
29
+ color: var(--mvw-top-list-title-color);
30
+ border-bottom: 1px solid var(--mvw-top-list-title-separator-color);
31
+
32
+ svg {
33
+ display: block;
34
+ width: 14px;
35
+ height: 14px;
36
+ }
37
+ }
38
+
39
+ [role='list'],
40
+ ul {
41
+ display: grid;
42
+ gap: var(--size-8);
43
+ }
44
+
45
+ [role='listitem'],
46
+ li {
47
+ display: grid;
48
+ grid-template-columns: 30px 1fr auto;
49
+ grid-template-areas: 'logo player value' 'logo team value';
50
+ align-items: center;
51
+ gap: var(--size-4) var(--size-8);
52
+ padding-block: var(--size-8);
53
+ font-size: var(--font-size-300);
54
+ line-height: 1;
55
+ border-bottom: 1px solid var(--mvw-top-list-player-separator-color);
56
+
57
+ .avatar {
58
+ --_width: 26px;
59
+ }
60
+
61
+ &.is-large {
62
+ font-size: var(--font-size-400);
63
+ font-weight: 700;
64
+
65
+ .avatar {
66
+ --_width: 32px;
67
+ }
68
+ }
69
+
70
+ /* :is(.is-player, .is-team) {
71
+ overflow: hidden;
72
+ text-overflow: ellipsis;
73
+ white-space: nowrap;
74
+ } */
75
+
76
+ a.is-player {
77
+ grid-area: player;
78
+ }
79
+ a.is-team {
80
+ grid-area: team;
81
+ font-size: var(--font-size-50);
82
+ }
83
+
84
+ span {
85
+ grid-area: value;
86
+ font-weight: 700;
87
+ color: var(--mvw-top-list-value-color);
88
+ }
89
+
90
+ .is-images {
91
+ grid-area: logo;
92
+ justify-self: center;
93
+ }
94
+ }
95
+ }
96
+ }
97
+ }
@@ -0,0 +1,41 @@
1
+ @layer components {
2
+ :where(h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6) {
3
+ color: var(--mvw-text-highlighted);
4
+ font-weight: 700;
5
+ text-wrap: pretty;
6
+ }
7
+
8
+ :where(h1, .h1) {
9
+ font-size: var(--font-size-h1, var(--font-size-700));
10
+ letter-spacing: -0.02em;
11
+ line-height: 1.15;
12
+ }
13
+
14
+ :where(h2, .h2) {
15
+ font-size: var(--font-size-h2, var(--font-size-5, 2rem));
16
+ letter-spacing: -0.02em;
17
+ line-height: 1.2;
18
+ }
19
+
20
+ :where(h3, .h3) {
21
+ font-size: var(--font-size-h3, var(--font-size-4, 1.5rem));
22
+ letter-spacing: -0.01em;
23
+ line-height: 1.167;
24
+ }
25
+
26
+ :where(h4, .h4) {
27
+ font-size: var(--font-size-h4, var(--font-size-3, 1.25rem));
28
+ letter-spacing: -0.01em;
29
+ line-height: 1.235;
30
+ }
31
+
32
+ :where(h5, .h5) {
33
+ font-size: var(--font-size-h5, var(--font-size-2, 1.1rem));
34
+ line-height: 1.334;
35
+ }
36
+
37
+ :where(h6, .h6) {
38
+ font-size: var(--font-size-h6, var(--font-size-500, 1rem));
39
+ line-height: 1;
40
+ }
41
+ }
@@ -0,0 +1,94 @@
1
+ @layer normalize {
2
+ *,
3
+ ::before,
4
+ ::after {
5
+ /* Set box sizing instead of inheriting */
6
+ /* https://www.oddbird.net/2025/09/04/box-model/ */
7
+ box-sizing: border-box;
8
+ }
9
+
10
+ * {
11
+ scrollbar-width: thin;
12
+ }
13
+
14
+ :where(input, button, textarea),
15
+ :where(input[type='file'])::-webkit-file-upload-button {
16
+ color: inherit;
17
+ font-size: inherit;
18
+ font: inherit;
19
+ letter-spacing: inherit;
20
+ }
21
+
22
+ :where(img, svg, video, canvas, audio, iframe, embed, object) {
23
+ display: inline-block;
24
+ }
25
+
26
+ :where(img, svg, video) {
27
+ block-size: auto;
28
+ max-inline-size: 100%;
29
+ }
30
+
31
+ :where(img) {
32
+ opacity: 0;
33
+ transition: opacity 0.5s ease-out;
34
+
35
+ &.is-loaded {
36
+ opacity: 1;
37
+ }
38
+ }
39
+
40
+ :where(svg:not([width])) {
41
+ inline-size: var(--size-16);
42
+ }
43
+
44
+ :where(input, button, textarea),
45
+ :where(input[type='file'])::-webkit-file-upload-button {
46
+ color: inherit;
47
+ font-size: inherit;
48
+ font: inherit;
49
+ letter-spacing: inherit;
50
+ }
51
+
52
+ :where(
53
+ a[href],
54
+ area,
55
+ button,
56
+ [role='button'],
57
+ input,
58
+ label[for],
59
+ select,
60
+ summary,
61
+ textarea,
62
+ [tabindex]:not([tabindex*='-'])
63
+ ) {
64
+ -webkit-tap-highlight-color: transparent;
65
+ touch-action: manipulation;
66
+ }
67
+
68
+ :where(:not(fieldset, progress, meter)) {
69
+ background-origin: border-box;
70
+ background-repeat: no-repeat;
71
+ border-style: solid;
72
+ border-width: 0;
73
+ }
74
+
75
+ :where(button) {
76
+ appearance: button;
77
+ -webkit-appearance: button;
78
+ background-color: transparent;
79
+ background-image: none;
80
+ }
81
+
82
+ :where(dd, pre) {
83
+ margin: 0;
84
+ }
85
+
86
+ :where(ul, li) {
87
+ margin: 0;
88
+ padding: 0;
89
+ }
90
+
91
+ :where(ol, ul) {
92
+ list-style: none;
93
+ }
94
+ }
@@ -0,0 +1,174 @@
1
+ @layer utils {
2
+ /* Font */
3
+ .font-bold {
4
+ font-weight: 700;
5
+ }
6
+
7
+ .italic {
8
+ font-style: italic;
9
+ }
10
+
11
+ .uppercase {
12
+ text-transform: uppercase;
13
+ }
14
+
15
+ .truncate {
16
+ overflow: hidden;
17
+ text-overflow: ellipsis;
18
+ white-space: nowrap;
19
+ }
20
+
21
+ /* Text */
22
+ .text-start {
23
+ text-align: start;
24
+ }
25
+
26
+ .text-end {
27
+ text-align: end;
28
+ }
29
+
30
+ .text-center {
31
+ text-align: center;
32
+ }
33
+
34
+ .text-xs {
35
+ font-size: var(--font-size-200);
36
+ }
37
+
38
+ .text-sm {
39
+ font-size: var(--font-size-400);
40
+ }
41
+
42
+ .text-xl {
43
+ font-size: var(--font-size-700);
44
+ }
45
+
46
+ .text-faded {
47
+ color: var(--mvw-text-faded);
48
+ }
49
+
50
+ .text-dimmed {
51
+ color: var(--mvw-text-dimmed);
52
+ }
53
+
54
+ .text-muted {
55
+ color: var(--mvw-text-muted);
56
+ }
57
+
58
+ .text-toned {
59
+ color: var(--mvw-text-toned);
60
+ }
61
+
62
+ .text-default {
63
+ color: var(--mvw-text-default);
64
+ }
65
+
66
+ .text-highlighted {
67
+ color: var(--mvw-text-highlighted);
68
+ }
69
+
70
+ /* Size */
71
+ .w-auto {
72
+ width: auto;
73
+ }
74
+
75
+ .mx-sm {
76
+ margin-inline: var(--size-8);
77
+ }
78
+ .mb-sm {
79
+ margin-block-end: var(--size-8);
80
+ }
81
+ .mb-md {
82
+ margin-block-end: var(--size-16);
83
+ }
84
+ .mb-xl {
85
+ margin-block-end: calc(var(--size-16) * 2);
86
+ }
87
+ .mt-md {
88
+ margin-block-start: var(--size-16);
89
+ }
90
+ .mt-lg {
91
+ margin-block-start: var(--size-24);
92
+ }
93
+ .mt-xl {
94
+ margin-block-start: calc(var(--size-16) * 2);
95
+ }
96
+
97
+ .p-sm {
98
+ padding-block: var(--size-8);
99
+ }
100
+
101
+ .py-md {
102
+ padding-block: var(--size-16);
103
+ }
104
+
105
+ /* Display */
106
+ .flex {
107
+ display: flex;
108
+ }
109
+
110
+ .grid {
111
+ display: grid;
112
+ }
113
+
114
+ .block {
115
+ display: block;
116
+ }
117
+
118
+ .rounded {
119
+ border-radius: 1e5px;
120
+ }
121
+
122
+ .sticky {
123
+ position: sticky;
124
+ top: var(--mvw-sticky-top-offset, 0);
125
+ z-index: 10;
126
+ }
127
+
128
+ .blured-bg {
129
+ backdrop-filter: blur(10px);
130
+ }
131
+
132
+ /* Layout */
133
+ .grid-container {
134
+ --min-width: 230px;
135
+ --max-width: 1fr;
136
+ --gap: var(--size-16);
137
+ --align-items: center;
138
+
139
+ display: grid;
140
+ grid-template-columns: repeat(auto-fit, minmax(var(--min-width), var(--max-width)));
141
+ align-items: var(--align-items);
142
+ gap: var(--gap);
143
+ }
144
+
145
+ .flex-container {
146
+ display: flex;
147
+ flex-wrap: wrap;
148
+ gap: var(--size-16);
149
+ }
150
+
151
+ .responsive-team-name {
152
+ container-type: inline-size;
153
+ container-name: team-name;
154
+
155
+ > * {
156
+ overflow: hidden;
157
+ text-overflow: ellipsis;
158
+ white-space: nowrap;
159
+
160
+ .team-name-short {
161
+ display: none;
162
+ }
163
+
164
+ @container team-name (max-width: 200px) {
165
+ .team-name-long {
166
+ display: none;
167
+ }
168
+ .team-name-short {
169
+ display: inline-block;
170
+ }
171
+ }
172
+ }
173
+ }
174
+ }
@@ -0,0 +1,22 @@
1
+ @layer normalize, theme, components.variables, components, utils;
2
+
3
+ /* Base */
4
+ @import 'base/color.primary.css';
5
+ @import 'base/color.secondary.css';
6
+ @import 'base/borders.css';
7
+ @import 'base/font.css';
8
+ @import 'base/sizes.css';
9
+ @import 'base/shadow.css';
10
+ @import 'base/ease.css';
11
+
12
+ /* Normalize */
13
+ @import 'core/normalize.css';
14
+
15
+ /* Theme */
16
+ @import 'theme.css';
17
+
18
+ /* Common Components */
19
+ @import 'components/loading-indicator.css';
20
+
21
+ /* Utils */
22
+ @import 'core/utils.css';
@@ -0,0 +1,63 @@
1
+ @layer theme {
2
+ [data-theme='light'],
3
+ :host-context(.light) {
4
+ color-scheme: only light;
5
+ }
6
+
7
+ [data-theme='dark'],
8
+ :host-context(.dark) {
9
+ color-scheme: only dark;
10
+ }
11
+
12
+ :root,
13
+ :host {
14
+ font-family: var(--mvw-font, inherit);
15
+
16
+ /* Special Colors */
17
+ --mvw-color-live: #8bc34a;
18
+ --mvw-color-error: #fb2c36;
19
+ --mvw-color-warning: #ffc107;
20
+ --mvw-color-info: #2870ed;
21
+ --mvw-color-team: #ff6129;
22
+
23
+ /* Link */
24
+ --mvw-link-color: light-dark(var(--mvw-color-secondary-700), var(--mvw-color-secondary-400));
25
+ --mvw-link-hover-color: light-dark(var(--mvw-color-secondary-900), var(--mvw-color-secondary-200));
26
+
27
+ /* Text */
28
+ --mvw-text-pale: light-dark(var(--mvw-color-primary-100), var(--mvw-color-primary-700));
29
+ --mvw-text-faded: light-dark(var(--mvw-color-primary-200), var(--mvw-color-primary-600));
30
+ --mvw-text-dimmed: light-dark(var(--mvw-color-primary-400), var(--mvw-color-primary-500));
31
+ --mvw-text-muted: light-dark(var(--mvw-color-primary-500), var(--mvw-color-primary-400));
32
+ --mvw-text-toned: light-dark(var(--mvw-color-primary-600), var(--mvw-color-primary-300));
33
+ --mvw-text-default: light-dark(var(--mvw-color-primary-700), var(--mvw-color-primary-200));
34
+ --mvw-text-highlighted: light-dark(var(--mvw-color-primary-900), var(--mvw-color-primary-50));
35
+ --mvw-text-inverted: light-dark(var(--mvw-color-white), var(--mvw-color-primary-950));
36
+
37
+ /* Background */
38
+ --mvw-bg-default: light-dark(var(--mvw-color-white), var(--mvw-color-primary-950));
39
+ --mvw-bg-muted: light-dark(var(--mvw-color-primary-50), var(--mvw-color-primary-900));
40
+ --mvw-bg-elevated: light-dark(var(--mvw-color-primary-100), var(--mvw-color-primary-800));
41
+ --mvw-bg-accented: light-dark(var(--mvw-color-primary-200), var(--mvw-color-primary-700));
42
+ --mvw-bg-highlighted: var(--mvw-color-secondary-500);
43
+ --mvw-bg-inverted: light-dark(var(--mvw-color-primary-900), var(--mvw-color-primary-50));
44
+
45
+ /* Border */
46
+ --mvw-border-faded: light-dark(var(--mvw-color-primary-100), var(--mvw-color-primary-800));
47
+ --mvw-border-muted: light-dark(var(--mvw-color-primary-200), var(--mvw-color-primary-700));
48
+ --mvw-border-highlighted: var(--mvw-color-secondary-500);
49
+ }
50
+
51
+ :where(a[href]) {
52
+ color: var(--mvw-link-color);
53
+ text-decoration: none;
54
+
55
+ &:hover {
56
+ color: var(--mvw-link-hover-color);
57
+ }
58
+
59
+ &:visited {
60
+ color: var(--mvw-link-color);
61
+ }
62
+ }
63
+ }