@wwtdev/bsds-css 2.24.0 → 2.25.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.
@@ -8,7 +8,7 @@
8
8
  position: fixed;
9
9
  right: 0;
10
10
  top: var(--top-offset);
11
- z-index: 1001;
11
+ z-index: 1000;
12
12
  }
13
13
 
14
14
  @media (min-width: 1166px) {
@@ -24,7 +24,7 @@
24
24
  color: var(--bs-ink-light);
25
25
  cursor: pointer;
26
26
  display: flex;
27
- height: 48px;
27
+ height: var(--bs-horizontal-nav-height);
28
28
  justify-content: space-between;
29
29
  padding-bottom: 0.5rem;
30
30
  padding-left: 2.25rem;
@@ -68,9 +68,9 @@
68
68
  background-color: var(--bg-color);
69
69
  display: flex;
70
70
  flex-direction: column;
71
- height: 100vh;
71
+ height: 100dvh;
72
72
  /* 100vh - top offset - toggle height */
73
- max-height: calc(100vh - var(--top-offset) - 48px);
73
+ max-height: calc(100dvh - var(--top-offset) - 48px);
74
74
  opacity: 0;
75
75
  overflow: scroll;
76
76
  scrollbar-width: none; /* Firefox */
@@ -80,7 +80,7 @@
80
80
  }
81
81
 
82
82
  .bs-horizontal-nav-mobile:where([data-hide-toggle="true"]) :where(.bs-horizontal-nav-mobile-menu) {
83
- max-height: calc(100vh - var(--top-offset));
83
+ max-height: calc(100dvh - var(--top-offset));
84
84
  }
85
85
 
86
86
  .bs-horizontal-nav-mobile:where([data-shown="true"]) :where(.bs-horizontal-nav-mobile-menu) {
@@ -201,17 +201,26 @@
201
201
  width: 1rem;
202
202
  }
203
203
 
204
- /* ===== Slotted Items ===== */
205
- .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-slotted-items) {
204
+ /* ===== End Items ===== */
205
+ .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-end-items) {
206
+ display: flex;
207
+ flex-direction: column;
208
+ margin-bottom: 1.5rem;
209
+ margin-top: auto;
210
+ }
211
+
212
+ .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-end-items > *:not(button)) {
206
213
  padding-bottom: 0.75rem;
207
214
  padding-left: 2.25rem;
208
215
  padding-right: 2.25rem;
209
216
  padding-top: 0.75rem;
210
- margin-top: auto;
211
217
  }
212
218
 
213
- .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-external-links ~ .bs-horizontal-nav-mobile-slotted-items) {
214
- margin-top: 0;
219
+ .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-end-items > button) {
220
+ margin-bottom: 0.75rem;
221
+ margin-left: 2.25rem;
222
+ margin-right: 2.25rem;
223
+ margin-top: 0.75rem;
215
224
  }
216
225
 
217
226
  /* Vue Transition Styles - Only used in Vue component */
@@ -1,17 +1,21 @@
1
1
  @mixin horizontal-navigation() {
2
- .bs-horizontal-nav {
2
+ :root {
3
+ --bs-horizontal-nav-height: 48px;
4
+ }
5
+
6
+ .bs-horizontal-nav {
3
7
  --bg-color: var(--bs-bg-light);
4
8
  --top-offset: 48px;
5
9
  align-items: center;
6
10
  background-color: var(--bg-color);
7
11
  bottom: auto;
8
12
  display: none;
9
- height: 48px;
13
+ height: var(--bs-horizontal-nav-height);
10
14
  left: 0;
11
15
  position: fixed;
12
16
  right: 0;
13
17
  top: var(--top-offset);
14
- z-index: 1001;
18
+ z-index: 1000;
15
19
  }
16
20
 
17
21
  @media (min-width: 1166px) {
@@ -33,8 +37,7 @@
33
37
  }
34
38
 
35
39
  /* ===== Nav List ===== */
36
- .bs-horizontal-nav :where(nav > ul),
37
- .bs-horizontal-nav :where(nav > .bs-horizontal-nav-external-links > ul) {
40
+ .bs-horizontal-nav :where(nav > ul) {
38
41
  align-items: center;
39
42
  display: flex;
40
43
  flex-direction: row;
@@ -57,20 +60,17 @@
57
60
  padding-left: 0;
58
61
  padding-right: 0;
59
62
  padding-top: 0;
60
- width: auto;
61
63
  }
62
64
 
63
65
  /* ===== Nav Items ===== */
64
- .bs-horizontal-nav :where(nav > ul > li),
65
- .bs-horizontal-nav :where(nav > .bs-horizontal-nav-external-links > ul > li) {
66
+ .bs-horizontal-nav :where(nav > ul > li) {
66
67
  border-bottom: none;
67
68
  display: list-item;
68
69
  margin-left: 0;
69
70
  width: auto;
70
71
  }
71
72
 
72
- .bs-horizontal-nav :where(nav > ul > li:not(.bs-horizontal-nav-title) > a),
73
- .bs-horizontal-nav :where(nav > .bs-horizontal-nav-external-links > ul > li > a) {
73
+ .bs-horizontal-nav :where(nav > ul > li:not(.bs-horizontal-nav-title) > a) {
74
74
  align-items: center;
75
75
  border-radius: 4px;
76
76
  color: var(--bs-ink-light);
@@ -86,19 +86,16 @@
86
86
  width: 100%;
87
87
  }
88
88
 
89
- .bs-horizontal-nav :where(nav > ul > li:not(.bs-horizontal-nav-title) > a:hover),
90
- .bs-horizontal-nav :where(nav > .bs-horizontal-nav-external-links > ul > li > a:hover) {
89
+ .bs-horizontal-nav :where(nav > ul > li > a:hover) {
91
90
  color: var(--bs-ink-blue);
92
91
  }
93
92
 
94
- .bs-horizontal-nav :where(nav > ul > li > a[data-active="true"]),
95
- .bs-horizontal-nav :where(nav > .bs-horizontal-nav-external-links > ul > li > a[data-active="true"]) {
93
+ .bs-horizontal-nav :where(nav > ul > li > a[data-active="true"]) {
96
94
  color: var(--bs-ink-base);
97
95
  font-weight: 600;
98
96
  }
99
97
 
100
- .bs-horizontal-nav :where(nav > ul > li > a[data-active="true"]:hover),
101
- .bs-horizontal-nav :where(nav > .bs-horizontal-nav-external-links > ul > li > a[data-active="true"]:hover) {
98
+ .bs-horizontal-nav :where(nav > ul > li > a[data-active="true"]:hover) {
102
99
  color: var(--bs-ink-blue);
103
100
  }
104
101
 
@@ -158,10 +155,12 @@
158
155
  --dropdown-top: 100%;
159
156
  border-radius: 8px;
160
157
  padding: 1.5rem;
161
- width: 10.5rem;
162
158
  }
163
159
 
164
160
  .bs-horizontal-nav :where(.bs-horizontal-nav-nested-menu > ul) {
161
+ display: inline-flex;
162
+ flex-direction: column;
163
+ gap: 0.5rem;
165
164
  list-style: none;
166
165
  }
167
166
 
@@ -187,26 +186,32 @@
187
186
  color: var(--bs-ink-blue);
188
187
  }
189
188
 
190
- /* ===== External Links ===== */
191
- .bs-horizontal-nav :where(.bs-horizontal-nav-external-link-icon) {
192
- height: 1rem;
193
- width: 1rem;
189
+ /* ===== End Items ===== */
190
+ .bs-horizontal-nav :where(.bs-horizontal-nav-end-items) {
191
+ display: flex;
192
+ gap: 1.5rem;
193
+ margin-left: auto;
194
+ white-space: nowrap;
194
195
  }
195
196
 
196
- /* ===== Slotted Items ===== */
197
- .bs-horizontal-nav :where(.bs-horizontal-nav-slotted-items) {
198
- margin-left: auto;
197
+ .bs-horizontal-nav :where(.bs-horizontal-nav-end-items > *) {
198
+ font-size: 0.75rem;
199
+ font-weight: 600;
199
200
  }
200
201
 
201
- .bs-horizontal-nav :where(.bs-horizontal-nav-external-links ~ .bs-horizontal-nav-slotted-items) {
202
- margin-left: 1.5rem;
202
+ .bs-horizontal-nav :where(.bs-horizontal-nav-end-items > *:not(button)) {
203
+ color: var(--bs-ink-light);
204
+ padding-bottom: 0.5rem;
205
+ padding-left: 0rem;
206
+ padding-right: 0rem;
207
+ padding-top: 0.5rem;
203
208
  }
204
209
 
205
- /* ===== Component-specific ===== */
206
- .bs-horizontal-nav :where(.bs-horizontal-nav-nested-menu-override) {
207
- --dropdown-top: 0;
208
- padding: 1.5rem;
209
- width: 10.5rem;
210
+ .bs-horizontal-nav :where(.bs-horizontal-nav-end-items > button) {
211
+ margin-bottom: 0.5rem;
212
+ margin-left: 0rem;
213
+ margin-right: 0rem;
214
+ margin-top: 0.5rem;
210
215
  }
211
216
 
212
217
  }
@@ -29,7 +29,7 @@
29
29
 
30
30
  @media (min-width: 752px) {
31
31
  .bs-modal {
32
- max-height: min(calc(100vh - 3rem), 40.625rem);
32
+ max-height: min(calc(100dvh - 3rem), 40.625rem);
33
33
  width: var(--base-modal-width);
34
34
  }
35
35
 
@@ -1,19 +1,23 @@
1
1
  @mixin vertical-navigation() {
2
- .bs-vertical-nav {
2
+ :root {
3
+ --bs-vertical-nav-width: 9.875rem;
4
+ --bs-vertical-nav-narrow-width: 4.5rem;
5
+ }
6
+
7
+ .bs-vertical-nav {
3
8
  --active-color: rgba(255, 255, 255, 0.25);
4
9
  --bg-color: var(--bs-navy-base);
5
10
  --border-color: var(--bs-border-dark);
6
11
  --expand-y-transform: translateY(calc(-1 * var(--top-offset)));
7
12
  --top-offset: 48px;
8
- --width: auto;
9
13
  -ms-overflow-style: none; /* Internet Explorer 10+ */
10
14
  background-color: var(--bg-color);
11
15
  color: var(--bs-white);
12
16
  display: flex;
13
17
  flex-direction: column;
14
- height: 100vh;
18
+ height: 100dvh;
15
19
  left: 0;
16
- max-height: calc(100vh - var(--top-offset));
20
+ max-height: calc(100dvh - var(--top-offset));
17
21
  opacity: 0;
18
22
  overflow: scroll;
19
23
  padding-bottom: 1.5rem;
@@ -27,8 +31,8 @@
27
31
  /* Slight delay for visibility to change prior to opacity */
28
32
  transition: opacity 200ms ease 10ms;
29
33
  visibility: hidden;
30
- width: var(--width);
31
- z-index: 1001;
34
+ width: auto;
35
+ z-index: 1000;
32
36
  }
33
37
 
34
38
  .bs-vertical-nav:where([data-mobile-shown="true"]) {
@@ -45,7 +49,6 @@
45
49
 
46
50
  @media (min-width: 1166px) {
47
51
  .bs-vertical-nav {
48
- --width: 9.875rem;
49
52
  border-right: 1px solid var(--bg-color);
50
53
  opacity: 1;
51
54
  padding-bottom: 1rem;
@@ -55,10 +58,11 @@
55
58
  right: auto;
56
59
  transition: max-height 200ms ease, transform 200ms ease;
57
60
  visibility: visible;
61
+ width: var(--bs-vertical-nav-width);
58
62
  }
59
63
 
60
64
  .bs-vertical-nav:where([data-narrow="true"]) {
61
- --width: 4.5rem;
65
+ width: var(--bs-vertical-nav-narrow-width);
62
66
  }
63
67
  }
64
68
 
@@ -68,7 +72,7 @@
68
72
 
69
73
  .bs-vertical-nav:where([data-y-expand="true"]) {
70
74
  transform: var(--expand-y-transform);
71
- max-height: 100vh;
75
+ max-height: 100dvh;
72
76
  }
73
77
 
74
78
  /* ===== Sections ===== */
@@ -105,6 +109,21 @@
105
109
  width: 100%;
106
110
  }
107
111
 
112
+ @media (min-width: 1166px) {
113
+ .bs-vertical-nav :where(.bs-vertical-nav-section-toggle) {
114
+ /* nav width - nav left padding - nav right padding */
115
+ width: calc(var(--bs-vertical-nav-width) - 0.5rem - 0.5rem);
116
+ }
117
+
118
+ .bs-vertical-nav :where(.bs-vertical-nav-section-toggle span:first-child) {
119
+ overflow: hidden;
120
+ text-align: start;
121
+ text-overflow: ellipsis;
122
+ /* nav width - nav left padding - nav right padding - link left padding - link right padding - caret width */
123
+ width: calc(var(--bs-vertical-nav-width) - 0.5rem - 0.5rem - 0.75rem - 0.75rem - 0.75rem);
124
+ }
125
+ }
126
+
108
127
  .bs-vertical-nav :where(.bs-vertical-nav-section-toggle-caret) {
109
128
  height: 0.75rem;
110
129
  transform: none;
@@ -156,6 +175,24 @@
156
175
  font-size: 0.875rem;
157
176
  padding-bottom: 0.5rem;
158
177
  padding-top: 0.5rem;
178
+ /* nav width - nav left padding - nav right padding */
179
+ width: calc(var(--bs-vertical-nav-width) - 0.5rem - 0.5rem);
180
+ }
181
+
182
+ /* Text overflow - normal width - no icon */
183
+ .bs-vertical-nav :where(ul li a:not(:has(.bs-vertical-nav-link-icon)) span:first-child) {
184
+ overflow: hidden;
185
+ text-overflow: ellipsis;
186
+ /* nav width - nav left padding - nav right padding - link left padding - link right padding */
187
+ width: calc(var(--bs-vertical-nav-width) - 0.5rem - 0.5rem - 0.75rem - 0.75rem);
188
+ }
189
+
190
+ /* Text overflow - normal width - with icon */
191
+ .bs-vertical-nav :where(ul li a:has(.bs-vertical-nav-link-icon) span:nth-child(2)) {
192
+ overflow: hidden;
193
+ text-overflow: ellipsis;
194
+ /* nav width - nav left padding - nav right padding - link left padding - link right padding - icon width - icon gap */
195
+ width: calc(var(--bs-vertical-nav-width) - 0.5rem - 0.5rem - 0.75rem - 0.75rem - 0.875rem - 0.5rem);
159
196
  }
160
197
 
161
198
  .bs-vertical-nav:where([data-narrow="true"]) :where(ul li a) {
@@ -168,6 +205,17 @@
168
205
  padding-right: 0.25rem;
169
206
  padding-top: 0.75rem;
170
207
  text-align: center;
208
+ /* nav width - nav left padding - nav right padding */
209
+ width: calc(var(--bs-vertical-nav-narrow-width) - 0.5rem - 0.5rem);
210
+ }
211
+
212
+ /* Text overflow - narrow width */
213
+ .bs-vertical-nav:where([data-narrow="true"]) :where(ul li a:not(:has(.bs-vertical-nav-link-icon)) span:first-child),
214
+ .bs-vertical-nav:where([data-narrow="true"]) :where(ul li a:has(.bs-vertical-nav-link-icon) span:nth-child(2)) {
215
+ overflow: hidden;
216
+ text-overflow: ellipsis;
217
+ /* nav width - nav left padding - nav right padding - link left padding */
218
+ width: calc(var(--bs-vertical-nav-narrow-width) - 0.5rem - 0.5rem);
171
219
  }
172
220
  }
173
221
 
@@ -197,38 +245,40 @@
197
245
  }
198
246
  }
199
247
 
200
- /* ===== External Links ===== */
201
- .bs-vertical-nav :where(.bs-vertical-nav-external-links) {
248
+ /* ===== End Items ===== */
249
+ .bs-vertical-nav :where(.bs-vertical-nav-end-items) {
250
+ display: flex;
251
+ flex-direction: column;
252
+ gap: 0.25rem;
202
253
  margin-top: auto;
203
- padding-top: 2.25rem;
204
254
  }
205
255
 
206
- .bs-vertical-nav:where([data-narrow="true"]) :where(.bs-vertical-nav-external-links) {
207
- display: none;
256
+ .bs-vertical-nav :where(.bs-vertical-nav-end-items > *) {
257
+ color: var(--bs-white);
208
258
  }
209
259
 
210
- .bs-vertical-nav :where(.bs-vertical-nav-external-links .bs-vertical-nav-external-link-icon) {
211
- height: 1rem;
212
- width: 1rem;
260
+ .bs-vertical-nav :where(.bs-vertical-nav-end-items > *:not(button)) {
261
+ color: var(--bs-white);
262
+ padding-bottom: 0.5rem;
263
+ padding-left: 0.75rem;
264
+ padding-right: 0.75rem;
265
+ padding-top: 0.5rem;
213
266
  }
214
267
 
215
268
  @media (min-width: 1166px) {
216
- .bs-vertical-nav :where(.bs-vertical-nav-external-links .bs-vertical-nav-external-link-icon) {
217
- height: 0.875rem;
218
- width: 0.875rem;
269
+ .bs-vertical-nav :where(.bs-vertical-nav-end-items > *:not(button)) {
270
+ font-size: 0.875rem;
219
271
  }
220
272
  }
221
273
 
222
- /* ===== Slotted Items ===== */
223
- .bs-vertical-nav :where(.bs-vertical-nav-slotted-items) {
224
- margin-top: auto;
225
- }
226
-
227
- .bs-vertical-nav :where(.bs-vertical-nav-external-links ~ .bs-vertical-nav-slotted-items) {
228
- margin-top: 1rem;
274
+ .bs-vertical-nav :where(.bs-vertical-nav-end-items > button) {
275
+ margin-bottom: 0.5rem;
276
+ margin-left: 0.75rem;
277
+ margin-right: 0.75rem;
278
+ margin-top: 0.5rem;
229
279
  }
230
280
 
231
- .bs-vertical-nav:where([data-narrow="true"]) :where(.bs-vertical-nav-slotted-items) {
281
+ .bs-vertical-nav:where([data-narrow="true"]) :where(.bs-vertical-nav-end-items) {
232
282
  display: none;
233
283
  }
234
284
 
@@ -7,7 +7,7 @@
7
7
  position: fixed;
8
8
  right: 0;
9
9
  top: var(--top-offset);
10
- z-index: 1001;
10
+ z-index: 1000;
11
11
  }
12
12
 
13
13
  @media (min-width: 1166px) {
@@ -23,7 +23,7 @@
23
23
  color: var(--bs-ink-light);
24
24
  cursor: pointer;
25
25
  display: flex;
26
- height: 48px;
26
+ height: var(--bs-horizontal-nav-height);
27
27
  justify-content: space-between;
28
28
  padding-bottom: 0.5rem;
29
29
  padding-left: 2.25rem;
@@ -67,9 +67,9 @@
67
67
  background-color: var(--bg-color);
68
68
  display: flex;
69
69
  flex-direction: column;
70
- height: 100vh;
70
+ height: 100dvh;
71
71
  /* 100vh - top offset - toggle height */
72
- max-height: calc(100vh - var(--top-offset) - 48px);
72
+ max-height: calc(100dvh - var(--top-offset) - 48px);
73
73
  opacity: 0;
74
74
  overflow: scroll;
75
75
  scrollbar-width: none; /* Firefox */
@@ -79,7 +79,7 @@
79
79
  }
80
80
 
81
81
  .bs-horizontal-nav-mobile:where([data-hide-toggle="true"]) :where(.bs-horizontal-nav-mobile-menu) {
82
- max-height: calc(100vh - var(--top-offset));
82
+ max-height: calc(100dvh - var(--top-offset));
83
83
  }
84
84
 
85
85
  .bs-horizontal-nav-mobile:where([data-shown="true"]) :where(.bs-horizontal-nav-mobile-menu) {
@@ -200,17 +200,26 @@
200
200
  width: 1rem;
201
201
  }
202
202
 
203
- /* ===== Slotted Items ===== */
204
- .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-slotted-items) {
203
+ /* ===== End Items ===== */
204
+ .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-end-items) {
205
+ display: flex;
206
+ flex-direction: column;
207
+ margin-bottom: 1.5rem;
208
+ margin-top: auto;
209
+ }
210
+
211
+ .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-end-items > *:not(button)) {
205
212
  padding-bottom: 0.75rem;
206
213
  padding-left: 2.25rem;
207
214
  padding-right: 2.25rem;
208
215
  padding-top: 0.75rem;
209
- margin-top: auto;
210
216
  }
211
217
 
212
- .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-external-links ~ .bs-horizontal-nav-mobile-slotted-items) {
213
- margin-top: 0;
218
+ .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-end-items > button) {
219
+ margin-bottom: 0.75rem;
220
+ margin-left: 2.25rem;
221
+ margin-right: 2.25rem;
222
+ margin-top: 0.75rem;
214
223
  }
215
224
 
216
225
  /* Vue Transition Styles - Only used in Vue component */
@@ -1,3 +1,7 @@
1
+ :root {
2
+ --bs-horizontal-nav-height: 48px;
3
+ }
4
+
1
5
  .bs-horizontal-nav {
2
6
  --bg-color: var(--bs-bg-light);
3
7
  --top-offset: 48px;
@@ -5,12 +9,12 @@
5
9
  background-color: var(--bg-color);
6
10
  bottom: auto;
7
11
  display: none;
8
- height: 48px;
12
+ height: var(--bs-horizontal-nav-height);
9
13
  left: 0;
10
14
  position: fixed;
11
15
  right: 0;
12
16
  top: var(--top-offset);
13
- z-index: 1001;
17
+ z-index: 1000;
14
18
  }
15
19
 
16
20
  @media (min-width: 1166px) {
@@ -32,8 +36,7 @@
32
36
  }
33
37
 
34
38
  /* ===== Nav List ===== */
35
- .bs-horizontal-nav :where(nav > ul),
36
- .bs-horizontal-nav :where(nav > .bs-horizontal-nav-external-links > ul) {
39
+ .bs-horizontal-nav :where(nav > ul) {
37
40
  align-items: center;
38
41
  display: flex;
39
42
  flex-direction: row;
@@ -56,20 +59,17 @@
56
59
  padding-left: 0;
57
60
  padding-right: 0;
58
61
  padding-top: 0;
59
- width: auto;
60
62
  }
61
63
 
62
64
  /* ===== Nav Items ===== */
63
- .bs-horizontal-nav :where(nav > ul > li),
64
- .bs-horizontal-nav :where(nav > .bs-horizontal-nav-external-links > ul > li) {
65
+ .bs-horizontal-nav :where(nav > ul > li) {
65
66
  border-bottom: none;
66
67
  display: list-item;
67
68
  margin-left: 0;
68
69
  width: auto;
69
70
  }
70
71
 
71
- .bs-horizontal-nav :where(nav > ul > li:not(.bs-horizontal-nav-title) > a),
72
- .bs-horizontal-nav :where(nav > .bs-horizontal-nav-external-links > ul > li > a) {
72
+ .bs-horizontal-nav :where(nav > ul > li:not(.bs-horizontal-nav-title) > a) {
73
73
  align-items: center;
74
74
  border-radius: 4px;
75
75
  color: var(--bs-ink-light);
@@ -85,19 +85,16 @@
85
85
  width: 100%;
86
86
  }
87
87
 
88
- .bs-horizontal-nav :where(nav > ul > li:not(.bs-horizontal-nav-title) > a:hover),
89
- .bs-horizontal-nav :where(nav > .bs-horizontal-nav-external-links > ul > li > a:hover) {
88
+ .bs-horizontal-nav :where(nav > ul > li > a:hover) {
90
89
  color: var(--bs-ink-blue);
91
90
  }
92
91
 
93
- .bs-horizontal-nav :where(nav > ul > li > a[data-active="true"]),
94
- .bs-horizontal-nav :where(nav > .bs-horizontal-nav-external-links > ul > li > a[data-active="true"]) {
92
+ .bs-horizontal-nav :where(nav > ul > li > a[data-active="true"]) {
95
93
  color: var(--bs-ink-base);
96
94
  font-weight: 600;
97
95
  }
98
96
 
99
- .bs-horizontal-nav :where(nav > ul > li > a[data-active="true"]:hover),
100
- .bs-horizontal-nav :where(nav > .bs-horizontal-nav-external-links > ul > li > a[data-active="true"]:hover) {
97
+ .bs-horizontal-nav :where(nav > ul > li > a[data-active="true"]:hover) {
101
98
  color: var(--bs-ink-blue);
102
99
  }
103
100
 
@@ -157,10 +154,12 @@
157
154
  --dropdown-top: 100%;
158
155
  border-radius: 8px;
159
156
  padding: 1.5rem;
160
- width: 10.5rem;
161
157
  }
162
158
 
163
159
  .bs-horizontal-nav :where(.bs-horizontal-nav-nested-menu > ul) {
160
+ display: inline-flex;
161
+ flex-direction: column;
162
+ gap: 0.5rem;
164
163
  list-style: none;
165
164
  }
166
165
 
@@ -186,24 +185,30 @@
186
185
  color: var(--bs-ink-blue);
187
186
  }
188
187
 
189
- /* ===== External Links ===== */
190
- .bs-horizontal-nav :where(.bs-horizontal-nav-external-link-icon) {
191
- height: 1rem;
192
- width: 1rem;
188
+ /* ===== End Items ===== */
189
+ .bs-horizontal-nav :where(.bs-horizontal-nav-end-items) {
190
+ display: flex;
191
+ gap: 1.5rem;
192
+ margin-left: auto;
193
+ white-space: nowrap;
193
194
  }
194
195
 
195
- /* ===== Slotted Items ===== */
196
- .bs-horizontal-nav :where(.bs-horizontal-nav-slotted-items) {
197
- margin-left: auto;
196
+ .bs-horizontal-nav :where(.bs-horizontal-nav-end-items > *) {
197
+ font-size: 0.75rem;
198
+ font-weight: 600;
198
199
  }
199
200
 
200
- .bs-horizontal-nav :where(.bs-horizontal-nav-external-links ~ .bs-horizontal-nav-slotted-items) {
201
- margin-left: 1.5rem;
201
+ .bs-horizontal-nav :where(.bs-horizontal-nav-end-items > *:not(button)) {
202
+ color: var(--bs-ink-light);
203
+ padding-bottom: 0.5rem;
204
+ padding-left: 0rem;
205
+ padding-right: 0rem;
206
+ padding-top: 0.5rem;
202
207
  }
203
208
 
204
- /* ===== Component-specific ===== */
205
- .bs-horizontal-nav :where(.bs-horizontal-nav-nested-menu-override) {
206
- --dropdown-top: 0;
207
- padding: 1.5rem;
208
- width: 10.5rem;
209
+ .bs-horizontal-nav :where(.bs-horizontal-nav-end-items > button) {
210
+ margin-bottom: 0.5rem;
211
+ margin-left: 0rem;
212
+ margin-right: 0rem;
213
+ margin-top: 0.5rem;
209
214
  }
@@ -28,7 +28,7 @@
28
28
 
29
29
  @media (min-width: 752px) {
30
30
  .bs-modal {
31
- max-height: min(calc(100vh - 3rem), 40.625rem);
31
+ max-height: min(calc(100dvh - 3rem), 40.625rem);
32
32
  width: var(--base-modal-width);
33
33
  }
34
34