@ilo-org/styles 1.9.0 → 1.10.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 (103) hide show
  1. package/css/components/accordion.css +1 -1
  2. package/css/components/audioplayer.css +1 -0
  3. package/css/components/blockquote.css +1 -1
  4. package/css/components/breadcrumb.css +1 -1
  5. package/css/components/button.css +1 -1
  6. package/css/components/callout.css +1 -1
  7. package/css/components/card.css +1 -1
  8. package/css/components/cardgroup.css +1 -1
  9. package/css/components/checkbox.css +1 -1
  10. package/css/components/container.css +1 -1
  11. package/css/components/contextmenu.css +1 -1
  12. package/css/components/datacard.css +1 -1
  13. package/css/components/datepicker.css +1 -1
  14. package/css/components/detailcard.css +1 -1
  15. package/css/components/dropdown.css +1 -1
  16. package/css/components/empty.css +1 -1
  17. package/css/components/factlistcard.css +1 -1
  18. package/css/components/featurecard.css +1 -1
  19. package/css/components/fieldset.css +1 -1
  20. package/css/components/file-upload.css +1 -1
  21. package/css/components/footer.css +1 -1
  22. package/css/components/form.css +1 -1
  23. package/css/components/formcontrol.css +1 -1
  24. package/css/components/hero.css +1 -1
  25. package/css/components/herocard.css +1 -1
  26. package/css/components/image.css +1 -1
  27. package/css/components/input.css +1 -1
  28. package/css/components/languagetoggle.css +1 -1
  29. package/css/components/link.css +1 -1
  30. package/css/components/linklist.css +1 -1
  31. package/css/components/list.css +1 -1
  32. package/css/components/loading.css +1 -1
  33. package/css/components/logogrid.css +1 -1
  34. package/css/components/modal.css +1 -1
  35. package/css/components/multilinkcard.css +1 -1
  36. package/css/components/navigation.css +1 -1
  37. package/css/components/notification.css +1 -1
  38. package/css/components/pagination.css +1 -1
  39. package/css/components/profile.css +1 -1
  40. package/css/components/promocard.css +1 -1
  41. package/css/components/radio.css +1 -1
  42. package/css/components/readmore.css +1 -1
  43. package/css/components/richtext.css +1 -1
  44. package/css/components/scorecard.css +1 -1
  45. package/css/components/searchfield.css +1 -1
  46. package/css/components/socialmedia.css +1 -1
  47. package/css/components/statcard.css +1 -1
  48. package/css/components/status.css +1 -1
  49. package/css/components/table.css +1 -1
  50. package/css/components/tableofcontents.css +1 -1
  51. package/css/components/tabs.css +1 -1
  52. package/css/components/tag.css +1 -1
  53. package/css/components/textarea.css +1 -1
  54. package/css/components/textcard.css +1 -1
  55. package/css/components/textinput.css +1 -1
  56. package/css/components/toggle.css +1 -1
  57. package/css/components/tooltip.css +1 -1
  58. package/css/components/video.css +1 -1
  59. package/css/global.css +1 -1
  60. package/css/global.css.map +1 -1
  61. package/css/index.css +3 -3
  62. package/css/index.css.map +1 -1
  63. package/css/monorepo.css +3 -3
  64. package/css/monorepo.css.map +1 -1
  65. package/package.json +2 -2
  66. package/scss/_animations.scss +47 -1
  67. package/scss/_mixins.scss +9 -0
  68. package/scss/components/_audioplayer.scss +206 -0
  69. package/scss/components/_card.scss +1 -0
  70. package/scss/components/_datacard.scss +23 -0
  71. package/scss/components/_detailcard.scss +77 -0
  72. package/scss/components/_factlistcard.scss +10 -0
  73. package/scss/components/_featurecard.scss +23 -1
  74. package/scss/components/_footer.scss +26 -64
  75. package/scss/components/_languagetoggle.scss +7 -1
  76. package/scss/components/_multilinkcard.scss +57 -1
  77. package/scss/components/_promocard.scss +28 -0
  78. package/scss/components/_scorecard.scss +23 -0
  79. package/scss/components/_socialmedia.scss +43 -35
  80. package/scss/components/_statcard.scss +24 -0
  81. package/scss/components/_textcard.scss +19 -0
  82. package/scss/components/_video.scss +7 -1
  83. package/scss/components/index.scss +2 -0
  84. package/scss/components/navigation/_nav-complex.scss +16 -161
  85. package/scss/components/navigation/_nav-main.scss +127 -0
  86. package/scss/components/navigation/index.scss +2 -4
  87. package/scss/components/navigation/{_nav-dropdown.scss → internal/_nav-dropdown.scss} +4 -4
  88. package/scss/components/navigation/{_nav-grid.scss → internal/_nav-grid.scss} +4 -4
  89. package/scss/components/navigation/{_nav-menu.scss → internal/_nav-menu.scss} +31 -6
  90. package/scss/components/navigation/internal/_nav-shared.scss +206 -0
  91. package/scss/components/navigation/internal/index.scss +5 -0
  92. package/scss/components/navigation/{mobile → internal/mobile}/_nav-mobile-drawer.scss +4 -4
  93. package/scss/components/navigation/{mobile → internal/mobile}/_nav-mobile-menu.scss +4 -4
  94. package/scss/components/navigation/{mobile → internal/mobile}/_nav-mobile.scss +25 -4
  95. package/scss/components/photogallery/_expandable-caption.scss +92 -0
  96. package/scss/components/photogallery/_lightbox.scss +70 -0
  97. package/scss/components/photogallery/_lightboxgallery.scss +254 -0
  98. package/scss/components/photogallery/_photogallery-controls.scss +125 -0
  99. package/scss/components/photogallery/_photogallery-thumbnails.scss +100 -0
  100. package/scss/components/photogallery/_photogallery.scss +179 -0
  101. package/scss/components/photogallery/index.scss +6 -0
  102. package/scss/theme/_foundation.scss +10 -4
  103. /package/scss/components/navigation/{mobile → internal/mobile}/index.scss +0 -0
@@ -0,0 +1,127 @@
1
+ @use "../../tokens" as *;
2
+ @use "../../functions" as *;
3
+ @use "./internal/nav-shared" as *;
4
+ @import "../../mixins";
5
+ @import "../../config";
6
+
7
+ .ilo--main-nav {
8
+ @include nav-base;
9
+
10
+ &-bg {
11
+ &--dark {
12
+ background-color: var(--ilo-color-blue);
13
+ }
14
+
15
+ &--darker {
16
+ background-color: var(--ilo-color-blue-dark);
17
+
18
+ @include breakpoint("lg", true) {
19
+ background-color: var(--ilo-color-blue);
20
+ }
21
+ }
22
+ }
23
+
24
+ &__container {
25
+ @include nav-container;
26
+ }
27
+
28
+ &__widgets {
29
+ @include nav-widgets-bar-content;
30
+ &::after {
31
+ background-color: var(--ilo-color-blue-dark);
32
+ }
33
+
34
+ &-bar-corner {
35
+ @include nav-widgets-corner(var(--ilo-color-blue-dark));
36
+ }
37
+
38
+ &-bar {
39
+ @include nav-widgets-bar(var(--ilo-color-blue-dark));
40
+
41
+ &__link {
42
+ @include nav-widgets-link(var(--ilo-color-blue-dark));
43
+ }
44
+ }
45
+ }
46
+
47
+ &__branding {
48
+ @include nav-branding;
49
+
50
+ &-main {
51
+ @include nav-branding-main;
52
+ }
53
+
54
+ &-tag {
55
+ @include nav-branding-tag;
56
+
57
+ &__main {
58
+ color: white;
59
+ }
60
+
61
+ &__sub {
62
+ color: var(--ilo-color-blue-light);
63
+ }
64
+ }
65
+ }
66
+
67
+ &__nav {
68
+ @include nav-core;
69
+
70
+ &-menu {
71
+ @include nav-menu;
72
+ }
73
+
74
+ &-mobile {
75
+ @include nav-mobile;
76
+ }
77
+
78
+ &-search {
79
+ --ilo-subsite_nav_complex-search-color: var(--ilo-color-white);
80
+ @include nav-search;
81
+ border: none;
82
+
83
+ &__icon {
84
+ @include icon("search", var(--ilo-subsite_nav_complex-search-color));
85
+ }
86
+
87
+ &:hover {
88
+ --ilo-subsite_nav_complex-search-color: var(--ilo-color-blue);
89
+ background-color: var(--ilo-color-white);
90
+ }
91
+ }
92
+
93
+ &-burger {
94
+ @include nav-burger;
95
+
96
+ --ilo-subsite_nav_complex-burger-color: var(--ilo-color-white);
97
+
98
+ &__icon {
99
+ @include icon("burger", var(--ilo-subsite_nav_complex-burger-color));
100
+ }
101
+
102
+ &:hover {
103
+ --ilo-subsite-nav-burger-icon: var(--ilo-color-blue);
104
+ background-color: var(--ilo-color-white);
105
+ }
106
+ }
107
+
108
+ &-search-dropdown {
109
+ display: flex;
110
+ justify-content: center;
111
+ align-items: center;
112
+ form {
113
+ width: px-to-rem(620px);
114
+ }
115
+
116
+ .ilo--form-control,
117
+ .ilo--fieldset {
118
+ width: 100%;
119
+ }
120
+
121
+ .ilo--form-control {
122
+ padding-top: spacing(20);
123
+ padding-bottom: spacing(22);
124
+ }
125
+ }
126
+ }
127
+ }
@@ -1,6 +1,4 @@
1
- @use "nav-menu";
1
+ @use "internal";
2
2
  @use "nav-compact";
3
3
  @use "nav-complex";
4
- @use "nav-dropdown";
5
- @use "nav-grid";
6
- @use "mobile";
4
+ @use "nav-main";
@@ -1,7 +1,7 @@
1
- @use "../../tokens" as *;
2
- @use "../../functions" as *;
3
- @import "../../mixins";
4
- @import "../../config";
1
+ @use "../../../tokens" as *;
2
+ @use "../../../functions" as *;
3
+ @import "../../../mixins";
4
+ @import "../../../config";
5
5
 
6
6
  .ilo--nav-dropdown {
7
7
  position: absolute;
@@ -1,7 +1,7 @@
1
- @use "../../tokens" as *;
2
- @use "../../functions" as *;
3
- @import "../../mixins";
4
- @import "../../config";
1
+ @use "../../../tokens" as *;
2
+ @use "../../../functions" as *;
3
+ @import "../../../mixins";
4
+ @import "../../../config";
5
5
 
6
6
  .ilo--nav-menu-grid {
7
7
  display: flex;
@@ -1,13 +1,14 @@
1
- @use "../../tokens" as *;
2
- @use "../../functions" as *;
3
- @import "../../mixins";
4
- @import "../../config";
5
- @import "../../animations";
1
+ @use "../../../tokens" as *;
2
+ @use "../../../functions" as *;
3
+ @import "../../../mixins";
4
+ @import "../../../config";
5
+ @import "../../../animations";
6
6
 
7
7
  .ilo--nav-menu {
8
8
  display: flex;
9
9
  align-items: center;
10
10
  gap: spacing(12);
11
+ $self: &;
11
12
 
12
13
  @include breakpoint("xl", true) {
13
14
  gap: spacing(6);
@@ -46,6 +47,18 @@
46
47
  }
47
48
  }
48
49
 
50
+ &--light {
51
+ #{$self}__link {
52
+ &--active,
53
+ &:hover,
54
+ &:focus,
55
+ &:active {
56
+ color: var(--ilo-color-blue);
57
+ background-color: var(--ilo-color-white);
58
+ }
59
+ }
60
+ }
61
+
49
62
  &__more {
50
63
  @include globaltransition("background-color, border-color");
51
64
 
@@ -75,11 +88,23 @@
75
88
 
76
89
  &--open,
77
90
  &:hover,
78
- &:focus,
79
91
  &:active {
80
92
  outline: none;
81
93
  border-color: var(--ilo-color-blue-dark);
82
94
  background-color: var(--ilo-color-blue-dark);
83
95
  }
84
96
  }
97
+
98
+ &--light {
99
+ #{$self}__more {
100
+ &--open,
101
+ &:hover,
102
+ &:active {
103
+ --ilo-nav_menu-icon-color: var(--ilo-color-blue);
104
+ color: var(--ilo-color-blue);
105
+ border-color: var(--ilo-color-white);
106
+ background-color: var(--ilo-color-white);
107
+ }
108
+ }
109
+ }
85
110
  }
@@ -0,0 +1,206 @@
1
+ @use "../../../tokens" as *;
2
+ @use "../../../functions" as *;
3
+ @import "../../../mixins";
4
+ @import "../../../config";
5
+
6
+ // Base navigation container
7
+ @mixin nav-base {
8
+ position: relative;
9
+ overflow: hidden;
10
+
11
+ @include breakpoint("lg", true) {
12
+ height: px-to-rem(70px);
13
+ }
14
+ }
15
+
16
+ @mixin nav-container {
17
+ max-width: px-to-rem(1296px);
18
+ margin-left: auto;
19
+ margin-right: auto;
20
+ padding-inline: spacing(4);
21
+ }
22
+
23
+ @mixin nav-widgets-bar-content {
24
+ display: flex;
25
+ justify-content: flex-end;
26
+ align-items: center;
27
+ height: px-to-rem(32px);
28
+ position: relative;
29
+ padding-inline-end: 0;
30
+
31
+ @include breakpoint("lg", true) {
32
+ display: none;
33
+ }
34
+
35
+ &::after {
36
+ content: "";
37
+ position: absolute;
38
+ top: 0;
39
+ left: 100%;
40
+ width: 100vw;
41
+ height: 100%;
42
+ z-index: 1;
43
+
44
+ [dir="rtl"] & {
45
+ left: auto;
46
+ right: 100%;
47
+ }
48
+ }
49
+ }
50
+
51
+ @mixin nav-widgets-corner($bg-color) {
52
+ display: block;
53
+ background-color: $bg-color;
54
+ width: px-to-rem(32px);
55
+ height: px-to-rem(32px);
56
+ clip-path: polygon(0 0, 100% 0, 99% 100%);
57
+ margin-right: -1px;
58
+ transform: skewY(0.001deg);
59
+
60
+ [dir="rtl"] & {
61
+ @include cornercut(spacing(10), 100%, "left");
62
+ margin-right: 0;
63
+ margin-left: -1px;
64
+ clip-path: polygon(0 0, 100% 0, 1% 100%);
65
+ }
66
+ }
67
+
68
+ @mixin nav-widgets-bar($bg-color) {
69
+ background-color: $bg-color;
70
+ height: 100%;
71
+ display: flex;
72
+ align-items: center;
73
+ gap: spacing(4);
74
+ padding-inline-end: spacing(4);
75
+ height: px-to-rem(32px);
76
+ }
77
+
78
+ @mixin nav-widgets-link($hover-bg-color) {
79
+ @include typography("highlight-small-bold");
80
+ height: inherit;
81
+ display: flex;
82
+ align-items: center;
83
+ padding-inline: spacing(2);
84
+ text-decoration: none;
85
+ color: var(--ilo-color-white);
86
+
87
+ &:hover,
88
+ &:focus {
89
+ background-color: $hover-bg-color;
90
+ }
91
+ }
92
+
93
+ @mixin nav-branding {
94
+ display: flex;
95
+ justify-content: space-between;
96
+ align-items: center;
97
+ padding-bottom: spacing(6);
98
+
99
+ @include breakpoint("lg", true) {
100
+ display: none;
101
+ }
102
+ }
103
+
104
+ @mixin nav-branding-main {
105
+ display: flex;
106
+ justify-content: center;
107
+ align-items: center;
108
+
109
+ &__logo img {
110
+ height: 100%;
111
+ height: px-to-rem(72px);
112
+ width: auto;
113
+ }
114
+
115
+ &__name {
116
+ @include typography("heading-2");
117
+ padding-inline-start: spacing(4);
118
+ }
119
+ }
120
+
121
+ @mixin nav-branding-tag {
122
+ display: flex;
123
+ flex-direction: column;
124
+ text-align: right;
125
+
126
+ &__main {
127
+ @include typography("heading-4");
128
+ }
129
+
130
+ &__sub {
131
+ @include typography("body-xsmall");
132
+ }
133
+ }
134
+
135
+ @mixin nav-core {
136
+ display: flex;
137
+ justify-content: space-between;
138
+ align-items: center;
139
+ height: px-to-rem(64px);
140
+
141
+ @include breakpoint("lg", true) {
142
+ height: px-to-rem(70px);
143
+ }
144
+ }
145
+
146
+ @mixin nav-menu {
147
+ height: 100%;
148
+ @include breakpoint("lg", true) {
149
+ display: none;
150
+ }
151
+ }
152
+
153
+ @mixin nav-mobile {
154
+ justify-content: center;
155
+ align-items: center;
156
+ display: none;
157
+
158
+ @include breakpoint("lg", true) {
159
+ display: flex;
160
+ }
161
+
162
+ &__logo {
163
+ padding-inline-end: spacing(4);
164
+ height: px-to-rem(38px);
165
+
166
+ img {
167
+ height: 100%;
168
+ width: auto;
169
+ }
170
+ }
171
+ }
172
+
173
+ @mixin nav-search {
174
+ height: 100%;
175
+ display: flex;
176
+ align-items: center;
177
+ padding-inline: spacing(2);
178
+
179
+ @include breakpoint("lg", true) {
180
+ display: none;
181
+ }
182
+
183
+ &__icon {
184
+ width: px-to-rem(32px);
185
+ height: px-to-rem(32px);
186
+ cursor: pointer;
187
+ }
188
+ }
189
+
190
+ @mixin nav-burger {
191
+ display: none;
192
+
193
+ @include breakpoint("lg", true) {
194
+ display: flex;
195
+ }
196
+
197
+ margin-block: px-to-rem(20px);
198
+ align-items: center;
199
+ border: none;
200
+ cursor: pointer;
201
+
202
+ &__icon {
203
+ width: px-to-rem(32px);
204
+ height: px-to-rem(32px);
205
+ }
206
+ }
@@ -0,0 +1,5 @@
1
+ @use "nav-dropdown";
2
+ @use "nav-grid";
3
+ @use "nav-menu";
4
+ @use "nav-shared";
5
+ @use "mobile";
@@ -1,7 +1,7 @@
1
- @use "../../../tokens" as *;
2
- @use "../../../functions" as *;
3
- @import "../../../mixins";
4
- @import "../../../config";
1
+ @use "../../../../tokens" as *;
2
+ @use "../../../../functions" as *;
3
+ @import "../../../../mixins";
4
+ @import "../../../../config";
5
5
 
6
6
  .ilo--nav-mobile-drawer {
7
7
  position: fixed;
@@ -1,7 +1,7 @@
1
- @use "../../../tokens" as *;
2
- @use "../../../functions" as *;
3
- @import "../../../mixins";
4
- @import "../../../config";
1
+ @use "../../../../tokens" as *;
2
+ @use "../../../../functions" as *;
3
+ @import "../../../../mixins";
4
+ @import "../../../../config";
5
5
 
6
6
  .ilo--nav-mobile-menu {
7
7
  display: flex;
@@ -1,7 +1,7 @@
1
- @use "../../../tokens" as *;
2
- @use "../../../functions" as *;
3
- @import "../../../mixins";
4
- @import "../../../config";
1
+ @use "../../../../tokens" as *;
2
+ @use "../../../../functions" as *;
3
+ @import "../../../../mixins";
4
+ @import "../../../../config";
5
5
 
6
6
  .ilo--nav-mobile {
7
7
  &__branding {
@@ -20,6 +20,10 @@
20
20
  }
21
21
 
22
22
  &__widgets {
23
+ display: flex;
24
+ flex-direction: column;
25
+ margin: px-to-rem(2px);
26
+
23
27
  &-search {
24
28
  padding: spacing(4) 0;
25
29
  display: flex;
@@ -43,6 +47,23 @@
43
47
  }
44
48
  }
45
49
 
50
+ &-search-input {
51
+ // Form control overrides can be deleted when form control hides label conditionally
52
+ .ilo--fieldset {
53
+ width: 100%;
54
+ }
55
+
56
+ .ilo--form-control {
57
+ width: 100%;
58
+ display: inline;
59
+ }
60
+ .ilo--form-control--label {
61
+ display: none;
62
+ }
63
+
64
+ padding-block: spacing(5);
65
+ }
66
+
46
67
  &-link {
47
68
  @include typography("highlight-medium");
48
69
  padding: spacing(4) 0;
@@ -0,0 +1,92 @@
1
+ @use "../../tokens" as *;
2
+ @use "../../functions" as *;
3
+ @import "../../mixins";
4
+ @import "../../config";
5
+
6
+ .ilo--photo-gallery-expandable-caption {
7
+ position: relative;
8
+ $self: &;
9
+ min-height: px-to-rem(56px);
10
+
11
+ &__preview {
12
+ padding: spacing(4);
13
+ min-height: px-to-rem(56px);
14
+ display: flex;
15
+ justify-content: space-between;
16
+ gap: spacing(1);
17
+ align-items: center;
18
+ color: var(--ilo-color-white);
19
+ animation: slideDown 0.2s ease-out;
20
+ }
21
+
22
+ &__text {
23
+ @include typography("body-xsmall");
24
+ line-height: normal;
25
+ position: relative;
26
+ padding-left: spacing(4);
27
+ flex: 1;
28
+ overflow: hidden;
29
+ white-space: nowrap;
30
+ text-overflow: ellipsis;
31
+ margin: 0;
32
+
33
+ [dir="rtl"] & {
34
+ padding-left: 0;
35
+ padding-right: spacing(4);
36
+ text-align: right;
37
+ }
38
+
39
+ &::before {
40
+ content: "";
41
+ position: absolute;
42
+ left: 0;
43
+ top: 50%;
44
+ transform: translateY(-50%);
45
+ width: px-to-rem(3px);
46
+ height: 100%;
47
+ background-color: var(--ilo-color-gray-light);
48
+
49
+ [dir="rtl"] & {
50
+ left: auto;
51
+ right: 0;
52
+ }
53
+ }
54
+ }
55
+
56
+ &__toggle {
57
+ border: none;
58
+ outline: none;
59
+ width: px-to-rem(24px);
60
+ height: px-to-rem(24px);
61
+ background: transparent;
62
+ color: var(--ilo-color-white);
63
+ cursor: pointer;
64
+ flex-shrink: 0;
65
+
66
+ &:hover {
67
+ opacity: 0.8;
68
+ }
69
+ }
70
+
71
+ &--expanded {
72
+ #{$self}__preview {
73
+ overflow: visible;
74
+ white-space: normal;
75
+ text-overflow: unset;
76
+ position: absolute;
77
+ bottom: 0;
78
+ left: 0;
79
+ right: 0;
80
+ background: rgba(0, 0, 0, 0.8);
81
+ color: var(--ilo-color-white);
82
+ animation: slideUp 0.2s ease-out;
83
+ align-items: flex-start;
84
+ }
85
+
86
+ #{$self}__text {
87
+ overflow: visible;
88
+ white-space: normal;
89
+ text-overflow: unset;
90
+ }
91
+ }
92
+ }
@@ -0,0 +1,70 @@
1
+ @use "../../tokens" as *;
2
+ @use "../../functions" as *;
3
+ @import "../../mixins";
4
+ @import "../../config";
5
+
6
+ .ilo--lightbox {
7
+ position: fixed;
8
+ top: 0;
9
+ left: 0;
10
+ right: 0;
11
+ bottom: 0;
12
+ z-index: 9999;
13
+ display: none;
14
+ opacity: 0;
15
+ align-items: center;
16
+ justify-content: center;
17
+ background-color: var(--ilo-color-gray-charcoal);
18
+
19
+ &--open {
20
+ display: flex;
21
+ opacity: 1;
22
+ }
23
+
24
+ &__backdrop {
25
+ position: absolute;
26
+ top: 0;
27
+ left: 0;
28
+ right: 0;
29
+ bottom: 0;
30
+ background-color: var(--ilo-color-gray-charcoal);
31
+ }
32
+
33
+ &__container {
34
+ position: relative;
35
+ width: 100svw;
36
+ height: 100%;
37
+ }
38
+
39
+ &__content {
40
+ position: relative;
41
+ z-index: 1;
42
+ height: 100%;
43
+ }
44
+
45
+ &__close {
46
+ position: fixed;
47
+ top: 0;
48
+ right: 0;
49
+ z-index: 10000;
50
+ background: var(--ilo-color-white);
51
+ border: none;
52
+ width: px-to-rem(40px);
53
+ height: px-to-rem(40px);
54
+ display: flex;
55
+ align-items: center;
56
+ justify-content: center;
57
+ color: var(--ilo-color-gray-charcoal);
58
+ cursor: pointer;
59
+
60
+ &:hover {
61
+ background: var(--ilo-color-blue-lighter);
62
+ color: var(--ilo-color-blue);
63
+ }
64
+
65
+ &:focus {
66
+ outline: 2px solid var(--ilo-color-blue);
67
+ outline-offset: 2px;
68
+ }
69
+ }
70
+ }