@iamproperty/components 3.1.0 → 3.2.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 (160) hide show
  1. package/README.md +141 -16
  2. package/assets/.DS_Store +0 -0
  3. package/assets/css/core.min.css +1 -1
  4. package/assets/css/core.min.css.map +1 -1
  5. package/assets/css/email.min.css +1 -1
  6. package/assets/css/email.min.css.map +1 -1
  7. package/assets/css/error.min.css +1 -1
  8. package/assets/css/error.min.css.map +1 -1
  9. package/assets/css/style.min.css +1 -1
  10. package/assets/css/style.min.css.map +1 -1
  11. package/assets/favicons/manifest.json +31 -31
  12. package/assets/js/main.js +57 -57
  13. package/assets/js/modules/accordion.js +32 -32
  14. package/assets/js/modules/alert.js +56 -56
  15. package/assets/js/modules/carousel.js +101 -101
  16. package/assets/js/modules/chart.js +218 -218
  17. package/assets/js/modules/drawer.js +15 -15
  18. package/assets/js/modules/file-upload.js +48 -48
  19. package/assets/js/modules/form.js +168 -168
  20. package/assets/js/modules/helpers.js +119 -119
  21. package/assets/js/modules/modal.js +89 -89
  22. package/assets/js/modules/nav.js +28 -28
  23. package/assets/js/modules/orderablelist.js +122 -122
  24. package/assets/js/modules/table.js +585 -585
  25. package/assets/js/modules/testimonial.js +82 -82
  26. package/assets/js/modules/youtubevideo.js +145 -145
  27. package/assets/js/scripts.bundle.js +220 -214
  28. package/assets/js/scripts.bundle.js.map +1 -1
  29. package/assets/js/scripts.bundle.min.js +1 -1
  30. package/assets/js/scripts.bundle.min.js.map +1 -1
  31. package/assets/sass/_components.scss +14 -14
  32. package/assets/sass/_corefiles.scss +40 -40
  33. package/assets/sass/_fonts.scss +16 -16
  34. package/assets/sass/_forms.scss +9 -9
  35. package/assets/sass/_func.scss +12 -12
  36. package/assets/sass/_functions/functions.scss +141 -141
  37. package/assets/sass/_functions/mixins.scss +170 -170
  38. package/assets/sass/_functions/utilities.scss +143 -143
  39. package/assets/sass/_functions/variables.scss +467 -467
  40. package/assets/sass/_print.scss +61 -61
  41. package/assets/sass/_tests/colours.spec.scss +44 -44
  42. package/assets/sass/_tests/func.spec.scss +232 -232
  43. package/assets/sass/_tests/mixins.spec.scss +194 -194
  44. package/assets/sass/_tests/sass.spec.js +9 -9
  45. package/assets/sass/_tests/typography.spec.scss +35 -35
  46. package/assets/sass/components/accordion.scss +197 -197
  47. package/assets/sass/components/alert.scss +98 -98
  48. package/assets/sass/components/cardDeck.scss +107 -107
  49. package/assets/sass/components/carousel.scss +234 -234
  50. package/assets/sass/components/charts.scss +569 -569
  51. package/assets/sass/components/drawer.scss +46 -46
  52. package/assets/sass/components/header.scss +63 -63
  53. package/assets/sass/components/modal.scss +136 -136
  54. package/assets/sass/components/nav.scss +960 -960
  55. package/assets/sass/components/property-searchbar.scss +143 -143
  56. package/assets/sass/components/snapshot.scss +70 -70
  57. package/assets/sass/components/stepper.scss +164 -164
  58. package/assets/sass/components/tabs.scss +87 -87
  59. package/assets/sass/components/testimonial.scss +132 -132
  60. package/assets/sass/components/timeline.scss +95 -95
  61. package/assets/sass/core.scss +6 -6
  62. package/assets/sass/elements/buttons.scss +251 -251
  63. package/assets/sass/elements/card.scss +288 -288
  64. package/assets/sass/elements/container.scss +236 -236
  65. package/assets/sass/elements/forms.scss +261 -261
  66. package/assets/sass/elements/links.scss +97 -97
  67. package/assets/sass/elements/lists.scss +159 -159
  68. package/assets/sass/elements/panel.scss +161 -161
  69. package/assets/sass/elements/tables.scss +290 -290
  70. package/assets/sass/elements/tooltips.scss +84 -84
  71. package/assets/sass/elements/type.scss +136 -136
  72. package/assets/sass/email.scss +65 -65
  73. package/assets/sass/error.scss +4 -4
  74. package/assets/sass/foundations/brand.scss +76 -72
  75. package/assets/sass/foundations/circles.scss +74 -74
  76. package/assets/sass/foundations/icons.scss +80 -80
  77. package/assets/sass/foundations/media.scss +50 -50
  78. package/assets/sass/foundations/reboot.scss +130 -130
  79. package/assets/sass/foundations/root.scss +125 -125
  80. package/assets/sass/main.scss +7 -7
  81. package/assets/svg/icons.svg +598 -598
  82. package/assets/svg/logo.svg +49 -43
  83. package/assets/ts/main.js +56 -56
  84. package/assets/ts/main.ts +68 -68
  85. package/assets/ts/modules/accordion.js +32 -32
  86. package/assets/ts/modules/accordion.ts +43 -43
  87. package/dist/components.es.js +381 -381
  88. package/dist/components.umd.js +16 -16
  89. package/package.json +96 -108
  90. package/src/.DS_Store +0 -0
  91. package/src/components/Accordion/Accordion.screenshot.vue +57 -57
  92. package/src/components/Accordion/Accordion.spec.js +63 -63
  93. package/src/components/Accordion/Accordion.vue +22 -22
  94. package/src/components/Accordion/AccordionItem.vue +52 -52
  95. package/src/components/Accordion/README.md +34 -34
  96. package/src/components/Alert/Alert.spec.js +49 -49
  97. package/src/components/Alert/Alert.vue +39 -39
  98. package/src/components/Alert/README.md +28 -28
  99. package/src/components/Banner/Banner.spec.js +28 -28
  100. package/src/components/Banner/Banner.vue +38 -38
  101. package/src/components/Banner/README.md +23 -23
  102. package/src/components/CardDeck/CardDeck.spec.js +99 -99
  103. package/src/components/CardDeck/CardDeck.vue +77 -77
  104. package/src/components/CardDeck/README.md +24 -24
  105. package/src/components/Carousel/Carousel.spec.js +45 -45
  106. package/src/components/Carousel/Carousel.vue +85 -85
  107. package/src/components/Carousel/README.md +19 -19
  108. package/src/components/Chart/Chart.spec.js +201 -201
  109. package/src/components/Chart/Chart.vue +88 -88
  110. package/src/components/Chart/README.md +17 -17
  111. package/src/components/Drawer/Drawer.vue +53 -53
  112. package/src/components/Drawer/README.md +22 -22
  113. package/src/components/Header/Header.spec.js +33 -33
  114. package/src/components/Header/Header.vue +38 -38
  115. package/src/components/Header/README.md +27 -27
  116. package/src/components/Modal/Modal.spec.js +22 -22
  117. package/src/components/Modal/Modal.vue +43 -43
  118. package/src/components/Modal/README.md +19 -19
  119. package/src/components/Nav/Nav.spec.js +35 -35
  120. package/src/components/Nav/Nav.vue +215 -215
  121. package/src/components/Nav/README.md +22 -22
  122. package/src/components/NoteFeed/NoteFeed.vue +79 -79
  123. package/src/components/NoteFeed/README.md +16 -16
  124. package/src/components/PropertySearchbar/PropertySearchbar.vue +204 -204
  125. package/src/components/PropertySearchbar/README.md +25 -25
  126. package/src/components/Snapshot/README.md +20 -20
  127. package/src/components/Snapshot/Snapshot.vue +32 -32
  128. package/src/components/Stepper/README.md +32 -32
  129. package/src/components/Stepper/Step.vue +28 -28
  130. package/src/components/Stepper/Stepper.spec.js +99 -99
  131. package/src/components/Stepper/Stepper.vue +33 -33
  132. package/src/components/Tabs/README.md +27 -27
  133. package/src/components/Tabs/Tab.vue +32 -32
  134. package/src/components/Tabs/Tabs.vue +77 -77
  135. package/src/components/Testimonial/README.md +25 -25
  136. package/src/components/Testimonial/Testimonial.spec.js +57 -57
  137. package/src/components/Testimonial/Testimonial.vue +60 -60
  138. package/src/components/Timeline/README.md +18 -18
  139. package/src/components/Timeline/Timeline.spec.js +17 -17
  140. package/src/components/Timeline/Timeline.vue +24 -24
  141. package/src/elements/Card/Card.vue +122 -122
  142. package/src/elements/Card/README.md +24 -24
  143. package/src/elements/FileUploads/FileUploads.vue +48 -48
  144. package/src/elements/FileUploads/README.md +24 -24
  145. package/src/elements/Input/Input.vue +272 -272
  146. package/src/elements/Input/README.md +19 -19
  147. package/src/elements/Table/README.md +62 -62
  148. package/src/elements/Table/Table.spec.js +90 -90
  149. package/src/elements/Table/Table.vue +129 -129
  150. package/src/foundations/Icon/Icon.spec.js +24 -24
  151. package/src/foundations/Icon/Icon.vue +24 -24
  152. package/src/foundations/Icon/README.md +11 -11
  153. package/src/foundations/Logo/Logo.spec.js +56 -56
  154. package/src/foundations/Logo/Logo.vue +39 -39
  155. package/src/foundations/Logo/README.md +20 -20
  156. package/src/foundations/YoutubeVideo/README.md +11 -11
  157. package/src/foundations/YoutubeVideo/YoutubeVideo.vue +24 -24
  158. package/src/helpers/strings.js +12 -12
  159. package/src/index.js +27 -27
  160. package/src/vue-shim.d.ts +6 -6
@@ -1,961 +1,961 @@
1
- @use "../_func" as *;
2
-
3
- // #region set dark background for mobile view
4
- .nav .nav__mobile-bar {
5
-
6
- background: var(--colour-primary);
7
- color: white;
8
-
9
- @if $compatible != "true" {
10
-
11
- @include invert-colours();
12
- }
13
-
14
- display: flex;
15
- flex-direction: column;
16
- flex-wrap: nowrap;
17
- width: rem(375);
18
-
19
- @include media-breakpoint-up(sm) {
20
- width: 100%;
21
- }
22
-
23
- > .container {
24
-
25
- padding-top: rem(16);
26
- padding-bottom: 1rem;
27
- flex-shrink: 0;
28
- overflow: visible;
29
- }
30
- }
31
- // #endregion
32
-
33
- // #region General styles
34
- .nav {
35
-
36
-
37
- font-weight: bold;
38
-
39
- &__inner,
40
- &__menu--account {
41
-
42
- display: flex;
43
- flex-direction: column;
44
- flex-wrap: nowrap;
45
-
46
- > .container {
47
-
48
- padding-top: rem(16);
49
- padding-bottom: 0;
50
- flex-shrink: 0;
51
- overflow: visible;
52
- z-index: unset;
53
- }
54
- }
55
-
56
- &__menu {
57
- padding-top: rem(36);
58
- padding-bottom: rem(16);
59
- }
60
-
61
- .brand {
62
- font-size: rem(36);
63
-
64
- @include media-breakpoint-up(md) {
65
- font-size: rem(60);
66
- }
67
- }
68
- }
69
-
70
- .nav__logo img {
71
- height: rem(36);
72
- width: auto;
73
-
74
- @include media-breakpoint-up(sm) {
75
- height: rem(60);
76
- width: auto;
77
- }
78
- }
79
-
80
- .nav__search-btn,
81
- .nav__menu-btn {
82
-
83
- display: flex;
84
-
85
- label {
86
- height: rem(18);
87
- width: rem(24);
88
- text-indent: -300%;
89
- overflow: hidden;
90
- position: relative;
91
- cursor: pointer;
92
-
93
- color: var(--colour-link);
94
-
95
- &:hover,
96
- &:focus {
97
-
98
- color: var(--colour-hover);
99
- }
100
-
101
- &:active {
102
-
103
- color: var(--colour-active);
104
- }
105
-
106
- &:before,
107
- &:after {
108
- content: "";
109
- position: absolute;
110
- width: 0%;
111
- height: 2px;
112
- top: calc(50% - 1px);
113
- left: 0;
114
- background: currentColor;
115
- transform-origin: 50% 50%;
116
- transition: transform 0.5s, width 0.5s;
117
- }
118
- }
119
- }
120
-
121
- .nav__search-btn {
122
-
123
- label {
124
- text-indent: 0;
125
- overflow: visible;
126
- }
127
- .icon {
128
- height: rem(32);
129
- width: rem(32);
130
- margin-top: rem(-8);
131
- margin-left: rem(-1);
132
- transition: opacity 0.5s;
133
- color: inherit;
134
-
135
- &__outline {
136
-
137
- stroke-width: 2px;
138
- stroke: currentColor;
139
- }
140
- }
141
- }
142
-
143
- .nav__menu-btn {
144
- display: flex;
145
-
146
- label {
147
-
148
- border-top: 2px solid currentColor;
149
- border-bottom: 2px solid currentColor;
150
-
151
- &:before,
152
- &:after {
153
- width: 100%;
154
- }
155
- }
156
- }
157
-
158
- .nav__account-btn {
159
-
160
- label {
161
- font-size: rem(18);
162
- text-indent: 0;
163
- overflow: visible;
164
- color: var(--colour-body);
165
- height: rem(48);
166
- line-height: rem(48);
167
- display: block;
168
- border-top: 1px solid var(--colour-border);
169
- border-bottom: 1px solid var(--colour-border);
170
- }
171
- .icon {
172
- height: rem(28);
173
- width: rem(28);
174
- margin-top: rem(-8);
175
- margin-right: rem(8);
176
- transition: opacity 0.5s;
177
- color: inherit;
178
-
179
- &__outline {
180
-
181
- stroke-width: 2px;
182
- stroke: currentColor;
183
- }
184
- }
185
- }
186
-
187
- .nav__menu > ul {
188
- margin-bottom: 0;
189
-
190
- > li > a {
191
- font-size: rem(18);
192
- line-height: rem(32);
193
- display: inline-block;
194
- position: relative;
195
- text-decoration: none;
196
-
197
- &.current{
198
- border-left: #{rem(6)} solid var(--colour-info);
199
- margin-left: rem(-20);
200
- padding-left: rem(20 - 6)
201
- }
202
- }
203
- }
204
-
205
- // #endregion
206
-
207
- // #region nav search
208
-
209
- @include media-breakpoint-up(md) {
210
-
211
- .nav__menu--search {
212
- display: none;
213
- }
214
-
215
- #showSearch:checked ~ .nav__inner > .nav__menu--search {
216
- order: 2;
217
- position: absolute;
218
- top: 100%;
219
- left: 0;
220
- width: 100%;
221
-
222
- background: rgba(0,0,0,.6);
223
- height: calc(100vh - 5rem);
224
- display: block;
225
- }
226
- }
227
- // #endregion
228
-
229
- // #region nav account
230
-
231
- .services {
232
- line-height: 2rem;
233
-
234
- li {
235
- display: flex;
236
- justify-content: space-between;
237
- }
238
-
239
- .service--active {
240
- &:before {
241
- content: "";
242
- height: 1em;
243
- width: 1em;
244
- display: inline-block;
245
- background: var(--colour-secondary);
246
- margin-right: 0.5rem;
247
- margin-bottom: -0.1em;
248
- border-radius: 50%;
249
- }
250
- }
251
- }
252
-
253
- .credits {
254
- border: 2px solid var(--colour-primary);
255
- padding: 1rem;
256
- margin-bottom: 2rem;
257
- border-radius: rem(10);
258
-
259
- .h5,
260
- ul {
261
- padding-inline: 1rem;
262
- }
263
-
264
-
265
- > *:last-child {
266
- margin-bottom: 0!important;
267
- }
268
- }
269
- // #endregion
270
-
271
- // #region Nav with background colour applied
272
- .nav[class*="bg-"] {
273
-
274
- .nav__inner {
275
- background-color: transparent;
276
- }
277
- .nav__menu--secondary {
278
-
279
- //background-color: white!important;
280
- }
281
- .nav__menu--secondary > .container > .list-unstyled > li > a,
282
- .nav__menu--secondary > .container > .list-unstyled > li > details > summary .link {
283
- /*
284
- --colour-link: var(--colour-link-theme);
285
- --colour-hover: var(--colour-hover-theme);
286
- --colour-active: var(--colour-active-theme);
287
- */
288
- }
289
- }
290
- // #endregion
291
-
292
- // #region Secondary nav
293
- .nav__menu--secondary {
294
- flex-grow: 1;
295
-
296
- font-weight: bold;
297
-
298
- .nav__section-link {
299
- pointer-events: none;
300
- font-weight: bold;
301
- color: var(--colour-link);
302
- font-size: rem(18);
303
- }
304
-
305
- > .container > ul > li {
306
-
307
- &:not(:last-child){
308
-
309
- border-bottom: 1px solid var(--colour-border);
310
- }
311
-
312
- padding-block: rem(6);
313
-
314
- a {
315
- display: inline-block;
316
- font-size: rem(18);
317
- line-height: rem(36);
318
- text-decoration: none;
319
- font-weight: bold;
320
- }
321
-
322
- ul {
323
- padding: 0;
324
-
325
- a {
326
- font-weight: normal;
327
-
328
- .icon {
329
- display: none;
330
- }
331
- }
332
- }
333
- }
334
-
335
- /*
336
- background: var(--colour-primary);
337
-
338
- > .container > .list-unstyled > li > a,
339
- > .container > .list-unstyled > li > details > summary .link {
340
- --colour-body: white;
341
- --colour-link: white;
342
- --colour-hover: white;
343
- --colour-active: white;
344
- --colour-heading: white;
345
- --colour-underline: white;
346
- --colour-border: white;
347
- }
348
-
349
- a,
350
- .link {
351
- display: inline-block;
352
- font-size: rem(15);
353
- padding: rem(8) 0 rem(8) 0;
354
- text-decoration: none;
355
-
356
- &:hover,
357
- &:focus {
358
- text-decoration: underline!important;
359
- }
360
- }
361
-
362
- */
363
- }
364
- // #endregion
365
-
366
-
367
- // #region Sticky nav
368
- .nav {
369
-
370
- position: sticky;
371
- top: 0;
372
- left: 0;
373
- width: 100%;
374
- z-index: var(--index-menu);
375
-
376
- &.is-stuck {
377
-
378
- -webkit-box-shadow: 0 4px 20px -10px rgba(51,51,51,0.25);
379
- box-shadow: 0 4px 20px -10px rgba(51,51,51,0.25);
380
- }
381
- }
382
-
383
- nav + main > *:first-child {
384
- padding-top: 2rem;
385
- }
386
-
387
-
388
- // #endregion
389
-
390
- // #region Show/hide
391
- .nav__menu,
392
- .nav__btn,
393
- .nav__menu--secondary {
394
-
395
- display: none;
396
- }
397
-
398
- .nav__inner,
399
- .nav__menu--account {
400
- position: absolute;
401
- top: 0;
402
- left: 100%;
403
- background: var(--body-bg);
404
- z-index: 2;
405
- width: 100%;
406
- overscroll-behavior: contain;
407
-
408
- @include media-breakpoint-up(sm) {
409
-
410
- width: rem(375);
411
- }
412
- }
413
-
414
- .nav__menu--account {
415
- z-index: 2;
416
- height: 100vh;
417
- }
418
-
419
- #showMenu:checked ~ .nav__inner,
420
- #showAccount:checked ~ .nav__menu--account {
421
-
422
- height: 100vh;
423
- overflow: visible;
424
- overflow-x: auto;
425
- left: 0;
426
-
427
- @include media-breakpoint-up(sm) {
428
-
429
- left: calc(100% - #{rem(375)});
430
- }
431
- }
432
-
433
- @include media-breakpoint-up(md) {
434
-
435
- #showAccount ~ .nav__menu--account {
436
-
437
- display: none;
438
- }
439
-
440
- #showAccount:checked ~ .nav__menu--account {
441
-
442
- left: 0;
443
- width: 100%;
444
- height: auto;
445
- display: block;
446
- top: 6rem;
447
- border-top: rem(5) solid var(--colour-primary);
448
- border-bottom: 1px solid var(--colour-border-light);
449
- -webkit-box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
450
- -moz-box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
451
- box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
452
- }
453
- }
454
-
455
- #showMenu:checked ~ div .nav__menu,
456
- #showMenu:checked ~ div .nav__btn,
457
- #showMenu:checked ~ div .nav__menu--secondary,
458
- #showMenu:not(:checked) ~ #showSearch:checked ~ div .nav__menu--search {
459
- display: block;
460
- }
461
-
462
-
463
-
464
- #showMenu:checked ~ div .nav__menu-btn label,
465
- #showSearch:checked ~ div .nav__search-btn label {
466
-
467
- border: 0;
468
-
469
- .icon {
470
- opacity: 0;
471
- }
472
- &:before {
473
- width: 100%;
474
- transform: rotate(45deg);
475
- }
476
- &:after {
477
-
478
- width: 100%;
479
- transform: rotate(-45deg);
480
- }
481
- }
482
-
483
- @include media-breakpoint-up(sm) {
484
-
485
- #showMenu:checked ~ .nav__bg {
486
- content: " ";
487
- position: absolute;
488
- top: 0;
489
- left: 0;
490
- width: 100vw;
491
- height: 100vh;
492
- background: rgba(0,0,0,0.5);
493
- z-index: 1;
494
-
495
- }
496
- }
497
-
498
- @include media-breakpoint-up(md) {
499
-
500
- .nav__bg {
501
- display: none;
502
- }
503
- }
504
-
505
- // #endregion
506
-
507
- // #region Desktop nav
508
- @include media-breakpoint-up(md) {
509
-
510
- .nav .nav__mobile-bar {
511
-
512
- display: none;
513
- }
514
-
515
-
516
- .nav__logo {
517
- height: rem(64);
518
- }
519
-
520
- #showMenu:checked ~ .nav__inner,
521
- .nav__inner {
522
- overflow: visible;
523
- position: static;
524
- width: 100%;
525
- }
526
-
527
- .nav .nav__menu {
528
- display: flex;
529
- padding-bottom: 0;
530
- }
531
-
532
- .nav__btn,
533
- .nav__menu--secondary {
534
- display: flex;
535
- }
536
-
537
- .nav {
538
-
539
- .nav__inner > .container {
540
- padding-bottom: 1rem;
541
- }
542
-
543
- }
544
-
545
- .nav__search-btn,
546
- .nav__btn {
547
- order: 2;
548
- margin-left: 1rem;
549
-
550
- .btn {
551
- margin-bottom: 0;
552
- }
553
- }
554
- .nav__menu {
555
- padding-top: 0;
556
- }
557
- .nav__menu > .list-unstyled {
558
- margin-left: -1.5rem!important;
559
- margin-right: -1.5rem!important;
560
- width: calc(100% + 3rem);
561
- margin-bottom: 0;
562
- //text-align: right;
563
- padding-top: 0;
564
- padding-left: 1.5rem;
565
- padding-right: 1.5rem;
566
-
567
- > li {
568
- display: inline-block;
569
- padding-left: 1rem;
570
- padding-right: 1rem;
571
-
572
- &:not(:last-child){
573
-
574
- border-right: 1px solid var(--colour-border);
575
- }
576
- > a {
577
- line-height: 1.75rem;
578
- }
579
- > a.current {
580
- border-left: none;
581
- padding-left: 0;
582
- border-bottom: rem(3) solid var(--colour-info);
583
- }
584
- }
585
- }
586
-
587
- .nav__account-btn {
588
- max-width: fit-content!important;
589
-
590
- label {
591
-
592
- border: none!important;
593
- padding-top: 0.5rem;
594
- position: relative;
595
- padding-right: 2.5rem;
596
-
597
- &:after {
598
- content: "";
599
- position: absolute;
600
- top: calc(50% + 0.5rem);
601
- right: 0;
602
- width: 1.5em;
603
- height: 1.5em;
604
- background: currentColor;
605
- mask-image: var(--icon-arrow);
606
- mask-size: 50%;
607
- mask-repeat: no-repeat;
608
- mask-position: 50% 50%;
609
- -webkit-mask-image: var(--icon-arrow);
610
- -webkit-mask-size: 50%;
611
- -webkit-mask-repeat: no-repeat;
612
- -webkit-mask-position: 50% 50%;
613
- transition: transform 0.2s ease-in-out;
614
- transform: rotate(90deg) translate(-50%, 0);
615
- }
616
- }
617
- }
618
-
619
- .nav .nav__menu--secondary > .container > .list-unstyled {
620
- font-size: rem(15);
621
- padding-top: 0;
622
- }
623
-
624
-
625
- }
626
- // #endregion
627
-
628
-
629
- // #region Nav secondary DESKTOP
630
- @include media-breakpoint-up(md) {
631
-
632
-
633
- .nav__menu--secondary {
634
- background-color: var(--colour-primary);
635
- @include invert-colours();
636
-
637
- .nav__section-link {
638
- pointer-events: all;
639
- }
640
- }
641
-
642
- .nav__menu--secondary > .container {
643
- padding-bottom: 0;
644
- }
645
-
646
- .nav__menu--secondary > .container > .list-unstyled {
647
- margin-left: -1rem!important;
648
- margin-right: -1rem!important;
649
- width: calc(100% + 2rem);
650
- margin-bottom: 0;
651
-
652
- > li {
653
- display: inline-block;
654
- padding-left: 1rem;
655
- padding-right: 1rem;
656
- border: none!important;
657
- padding-block: 0;
658
- position: relative;
659
-
660
- a,
661
- .nav__section-link {
662
- display: block;
663
- line-height: 2.25rem;
664
- padding-block: 0.5rem;
665
- cursor: pointer;
666
- }
667
-
668
- ul {
669
- display: none;
670
- }
671
-
672
- &:hover,
673
- &:focus,
674
- &:focus-within {
675
-
676
- > .nav__section-link {
677
-
678
- color: var(--colour-selected);
679
- }
680
-
681
- ul {
682
- display: block;
683
- background: white;
684
- position: absolute;
685
- top: 100%;
686
- left: 0;
687
- padding-top: rem(16);
688
-
689
- -webkit-box-shadow: 0 4px 20px -10px rgba(51,51,51,0.25);
690
- box-shadow: 0 4px 20px -10px rgba(51,51,51,0.25);
691
-
692
- @include reset-colours();
693
-
694
- --colour-admin: var(--colour-admin-theme);
695
-
696
- li {
697
-
698
- padding-inline: rem(24);
699
- }
700
-
701
- li:last-child {
702
-
703
- padding-bottom: rem(16);
704
- }
705
-
706
- li.nav__download {
707
- background: var(--colour-admin);
708
- padding-top: rem(16);
709
-
710
- & + li.nav__download {
711
- padding-top: 0;
712
- }
713
- }
714
-
715
- a {
716
- white-space: nowrap;
717
- padding: 0;
718
- line-height: 3rem;
719
-
720
- .icon {
721
- display: inline-block;
722
- font-size: 1.5em;
723
- padding: 0;
724
- margin: -0.15em 0.25em 0 0;
725
- }
726
- }
727
- }
728
- }
729
- }
730
- }
731
-
732
- .nav__menu--secondary > .container > .logout-button {
733
- display: none;
734
- }
735
-
736
- }
737
- // #endregion
738
-
739
-
740
- // #region Nav account Desktop
741
-
742
-
743
- @include media-breakpoint-up(md) {
744
- .nav__menu--account {
745
-
746
- > .container:first-child {
747
-
748
- display: none;
749
- }
750
-
751
- > .container:not(:first-child) {
752
-
753
- &:before {
754
- display: none;
755
- }
756
-
757
- display: flex;
758
- flex-wrap: wrap;
759
- gap: 2rem;
760
-
761
- align-items: start;
762
-
763
- > .row,
764
- .nav__featured-link,
765
- .credits {
766
-
767
- flex-basis: 22%;
768
- flex-grow: 1;
769
- margin: 0;
770
-
771
- }
772
-
773
- > .row > .col:first-child,
774
- .nav__featured-link > .row > .col:first-child {
775
- max-width: 100%!important;
776
- width: 100%;
777
- flex-shrink: 0;
778
- min-width: 100%;
779
- margin-bottom: 1rem;
780
- }
781
-
782
- .logout-button {
783
- min-width: 100%;
784
- }
785
- }
786
- }
787
- }
788
- // #endregion
789
-
790
-
791
- // #region Mega menu
792
- .nav .list-unstyled > li details.nav__mega-menu {
793
-
794
- @include media-breakpoint-up(md) {
795
-
796
- position: static;
797
-
798
- height: 4.5rem;
799
- margin-bottom: -5rem;
800
- }
801
-
802
- .inner {
803
-
804
- z-index: 5;
805
-
806
- [class*="bg-"]{
807
-
808
- --bs-bg-opacity: 0;
809
- @include media-breakpoint-up(md) {
810
- --bs-bg-opacity: 1;
811
- }
812
- }
813
-
814
-
815
- @include media-breakpoint-up(md) {
816
-
817
- --bs-bg-opacity: 1;
818
- position: absolute;
819
- top: 100%;
820
- left: 50%;
821
- width: 100vw!important;
822
- max-width: 100vw!important;
823
- -webkit-transform: translateX(-50%);
824
- -ms-transform: translateX(-50%);
825
- transform: translateX(-50%);
826
-
827
- background: rgba(0,0,0,.6);
828
- height: calc(100vh - 8rem);
829
-
830
- pointer-events: none;
831
- padding-top: 0;
832
-
833
- .container {
834
- padding: 0 rem(60 - 36) 1rem rem(60 - 36)!important;
835
- max-width: rem(1440)!important;
836
- text-align: left;
837
- pointer-events: all;
838
- display: flex;
839
-
840
- > div {
841
- padding: rem(36);
842
- }
843
- }
844
- }
845
- }
846
- }
847
- // #endregion
848
-
849
- // #region inline search
850
- .nav--inline-search {
851
-
852
- .nav__menu form {
853
- position: relative;
854
- .form-control__wrapper .form-control {
855
- padding-right: 3rem;
856
- }
857
-
858
- button {
859
- position: absolute;
860
- bottom: 0;
861
- right: 0;
862
- margin: 0;
863
- z-index: var(--index-focus);
864
- border-color: transparent;
865
- background: transparent;
866
- padding: 0.85rem 0rem;
867
-
868
- .icon {
869
- stroke: currentColor;
870
- }
871
- }
872
- }
873
-
874
- @include media-breakpoint-up(md) {
875
- .nav__menu > .list-unstyled {
876
- text-align: left;
877
- margin-right: 0!important;
878
- }
879
-
880
- .nav__menu form {
881
- min-width: rem(350);
882
- position: relative;
883
-
884
- .form-control__wrapper {
885
- margin-bottom: 0;
886
- display: flex;
887
- align-items: center;
888
-
889
- label {
890
- white-space: nowrap;
891
- padding-right: 1rem;
892
- }
893
-
894
- .form-control {
895
- padding: rem(7) 3rem rem(7) 1rem;
896
- }
897
- }
898
-
899
- button {
900
- padding: rem(8) 0rem;
901
- }
902
- }
903
- }
904
- }
905
- // #endregion
906
-
907
- // #region nav admin
908
- @include media-breakpoint-up(md) {
909
- .nav--admin {
910
- .nav__logo {
911
- height: 3rem;
912
-
913
- .brand {
914
- font-size: 3rem;
915
- }
916
- }
917
- }
918
- }
919
- // #endregion
920
-
921
- // #region
922
-
923
- .nav--just-account {
924
-
925
- .nav__menu,
926
- .nav__account-btn {
927
- display: none!important;
928
- }
929
-
930
- @include media-breakpoint-up(md) {
931
-
932
- .nav__menu,
933
- .nav__account-btn {
934
- display: block!important;
935
- }
936
- }
937
-
938
- #showMenu:checked ~ .nav__menu--account {
939
- height: 100vh;
940
- overflow: visible;
941
- overflow-x: auto;
942
- left: 0;
943
- pointer-events: none;
944
- background: transparent;
945
-
946
- @include media-breakpoint-up(sm) {
947
-
948
- width: rem(375);
949
- left: calc(100% - #{rem(375)});
950
- }
951
-
952
- > .container:first-child {
953
- opacity: 0;
954
- }
955
- > .container:not(:first-child) {
956
- pointer-events: all;
957
- }
958
- }
959
- }
960
-
1
+ @use "../_func" as *;
2
+
3
+ // #region set dark background for mobile view
4
+ .nav .nav__mobile-bar {
5
+
6
+ background: var(--colour-primary);
7
+ color: white;
8
+
9
+ @if $compatible != "true" {
10
+
11
+ @include invert-colours();
12
+ }
13
+
14
+ display: flex;
15
+ flex-direction: column;
16
+ flex-wrap: nowrap;
17
+ width: rem(375);
18
+
19
+ @include media-breakpoint-up(sm) {
20
+ width: 100%;
21
+ }
22
+
23
+ > .container {
24
+
25
+ padding-top: rem(16);
26
+ padding-bottom: 1rem;
27
+ flex-shrink: 0;
28
+ overflow: visible;
29
+ }
30
+ }
31
+ // #endregion
32
+
33
+ // #region General styles
34
+ .nav {
35
+
36
+
37
+ font-weight: bold;
38
+
39
+ &__inner,
40
+ &__menu--account {
41
+
42
+ display: flex;
43
+ flex-direction: column;
44
+ flex-wrap: nowrap;
45
+
46
+ > .container {
47
+
48
+ padding-top: rem(16);
49
+ padding-bottom: 0;
50
+ flex-shrink: 0;
51
+ overflow: visible;
52
+ z-index: unset;
53
+ }
54
+ }
55
+
56
+ &__menu {
57
+ padding-top: rem(36);
58
+ padding-bottom: rem(16);
59
+ }
60
+
61
+ .brand {
62
+ font-size: rem(36);
63
+
64
+ @include media-breakpoint-up(md) {
65
+ font-size: rem(60);
66
+ }
67
+ }
68
+ }
69
+
70
+ .nav__logo img {
71
+ height: rem(36);
72
+ width: auto;
73
+
74
+ @include media-breakpoint-up(sm) {
75
+ height: rem(60);
76
+ width: auto;
77
+ }
78
+ }
79
+
80
+ .nav__search-btn,
81
+ .nav__menu-btn {
82
+
83
+ display: flex;
84
+
85
+ label {
86
+ height: rem(18);
87
+ width: rem(24);
88
+ text-indent: -300%;
89
+ overflow: hidden;
90
+ position: relative;
91
+ cursor: pointer;
92
+
93
+ color: var(--colour-link);
94
+
95
+ &:hover,
96
+ &:focus {
97
+
98
+ color: var(--colour-hover);
99
+ }
100
+
101
+ &:active {
102
+
103
+ color: var(--colour-active);
104
+ }
105
+
106
+ &:before,
107
+ &:after {
108
+ content: "";
109
+ position: absolute;
110
+ width: 0%;
111
+ height: 2px;
112
+ top: calc(50% - 1px);
113
+ left: 0;
114
+ background: currentColor;
115
+ transform-origin: 50% 50%;
116
+ transition: transform 0.5s, width 0.5s;
117
+ }
118
+ }
119
+ }
120
+
121
+ .nav__search-btn {
122
+
123
+ label {
124
+ text-indent: 0;
125
+ overflow: visible;
126
+ }
127
+ .icon {
128
+ height: rem(32);
129
+ width: rem(32);
130
+ margin-top: rem(-8);
131
+ margin-left: rem(-1);
132
+ transition: opacity 0.5s;
133
+ color: inherit;
134
+
135
+ &__outline {
136
+
137
+ stroke-width: 2px;
138
+ stroke: currentColor;
139
+ }
140
+ }
141
+ }
142
+
143
+ .nav__menu-btn {
144
+ display: flex;
145
+
146
+ label {
147
+
148
+ border-top: 2px solid currentColor;
149
+ border-bottom: 2px solid currentColor;
150
+
151
+ &:before,
152
+ &:after {
153
+ width: 100%;
154
+ }
155
+ }
156
+ }
157
+
158
+ .nav__account-btn {
159
+
160
+ label {
161
+ font-size: rem(18);
162
+ text-indent: 0;
163
+ overflow: visible;
164
+ color: var(--colour-body);
165
+ height: rem(48);
166
+ line-height: rem(48);
167
+ display: block;
168
+ border-top: 1px solid var(--colour-border);
169
+ border-bottom: 1px solid var(--colour-border);
170
+ }
171
+ .icon {
172
+ height: rem(28);
173
+ width: rem(28);
174
+ margin-top: rem(-8);
175
+ margin-right: rem(8);
176
+ transition: opacity 0.5s;
177
+ color: inherit;
178
+
179
+ &__outline {
180
+
181
+ stroke-width: 2px;
182
+ stroke: currentColor;
183
+ }
184
+ }
185
+ }
186
+
187
+ .nav__menu > ul {
188
+ margin-bottom: 0;
189
+
190
+ > li > a {
191
+ font-size: rem(18);
192
+ line-height: rem(32);
193
+ display: inline-block;
194
+ position: relative;
195
+ text-decoration: none;
196
+
197
+ &.current{
198
+ border-left: #{rem(6)} solid var(--colour-info);
199
+ margin-left: rem(-20);
200
+ padding-left: rem(20 - 6)
201
+ }
202
+ }
203
+ }
204
+
205
+ // #endregion
206
+
207
+ // #region nav search
208
+
209
+ @include media-breakpoint-up(md) {
210
+
211
+ .nav__menu--search {
212
+ display: none;
213
+ }
214
+
215
+ #showSearch:checked ~ .nav__inner > .nav__menu--search {
216
+ order: 2;
217
+ position: absolute;
218
+ top: 100%;
219
+ left: 0;
220
+ width: 100%;
221
+
222
+ background: rgba(0,0,0,.6);
223
+ height: calc(100vh - 5rem);
224
+ display: block;
225
+ }
226
+ }
227
+ // #endregion
228
+
229
+ // #region nav account
230
+
231
+ .services {
232
+ line-height: 2rem;
233
+
234
+ li {
235
+ display: flex;
236
+ justify-content: space-between;
237
+ }
238
+
239
+ .service--active {
240
+ &:before {
241
+ content: "";
242
+ height: 1em;
243
+ width: 1em;
244
+ display: inline-block;
245
+ background: var(--colour-secondary);
246
+ margin-right: 0.5rem;
247
+ margin-bottom: -0.1em;
248
+ border-radius: 50%;
249
+ }
250
+ }
251
+ }
252
+
253
+ .credits {
254
+ border: 2px solid var(--colour-primary);
255
+ padding: 1rem;
256
+ margin-bottom: 2rem;
257
+ border-radius: rem(10);
258
+
259
+ .h5,
260
+ ul {
261
+ padding-inline: 1rem;
262
+ }
263
+
264
+
265
+ > *:last-child {
266
+ margin-bottom: 0!important;
267
+ }
268
+ }
269
+ // #endregion
270
+
271
+ // #region Nav with background colour applied
272
+ .nav[class*="bg-"] {
273
+
274
+ .nav__inner {
275
+ background-color: transparent;
276
+ }
277
+ .nav__menu--secondary {
278
+
279
+ //background-color: white!important;
280
+ }
281
+ .nav__menu--secondary > .container > .list-unstyled > li > a,
282
+ .nav__menu--secondary > .container > .list-unstyled > li > details > summary .link {
283
+ /*
284
+ --colour-link: var(--colour-link-theme);
285
+ --colour-hover: var(--colour-hover-theme);
286
+ --colour-active: var(--colour-active-theme);
287
+ */
288
+ }
289
+ }
290
+ // #endregion
291
+
292
+ // #region Secondary nav
293
+ .nav__menu--secondary {
294
+ flex-grow: 1;
295
+
296
+ font-weight: bold;
297
+
298
+ .nav__section-link {
299
+ pointer-events: none;
300
+ font-weight: bold;
301
+ color: var(--colour-link);
302
+ font-size: rem(18);
303
+ }
304
+
305
+ > .container > ul > li {
306
+
307
+ &:not(:last-child){
308
+
309
+ border-bottom: 1px solid var(--colour-border);
310
+ }
311
+
312
+ padding-block: rem(6);
313
+
314
+ a {
315
+ display: inline-block;
316
+ font-size: rem(18);
317
+ line-height: rem(36);
318
+ text-decoration: none;
319
+ font-weight: bold;
320
+ }
321
+
322
+ ul {
323
+ padding: 0;
324
+
325
+ a {
326
+ font-weight: normal;
327
+
328
+ .icon {
329
+ display: none;
330
+ }
331
+ }
332
+ }
333
+ }
334
+
335
+ /*
336
+ background: var(--colour-primary);
337
+
338
+ > .container > .list-unstyled > li > a,
339
+ > .container > .list-unstyled > li > details > summary .link {
340
+ --colour-body: white;
341
+ --colour-link: white;
342
+ --colour-hover: white;
343
+ --colour-active: white;
344
+ --colour-heading: white;
345
+ --colour-underline: white;
346
+ --colour-border: white;
347
+ }
348
+
349
+ a,
350
+ .link {
351
+ display: inline-block;
352
+ font-size: rem(15);
353
+ padding: rem(8) 0 rem(8) 0;
354
+ text-decoration: none;
355
+
356
+ &:hover,
357
+ &:focus {
358
+ text-decoration: underline!important;
359
+ }
360
+ }
361
+
362
+ */
363
+ }
364
+ // #endregion
365
+
366
+
367
+ // #region Sticky nav
368
+ .nav {
369
+
370
+ position: sticky;
371
+ top: 0;
372
+ left: 0;
373
+ width: 100%;
374
+ z-index: var(--index-menu);
375
+
376
+ &.is-stuck {
377
+
378
+ -webkit-box-shadow: 0 4px 20px -10px rgba(51,51,51,0.25);
379
+ box-shadow: 0 4px 20px -10px rgba(51,51,51,0.25);
380
+ }
381
+ }
382
+
383
+ nav + main > *:first-child {
384
+ padding-top: 2rem;
385
+ }
386
+
387
+
388
+ // #endregion
389
+
390
+ // #region Show/hide
391
+ .nav__menu,
392
+ .nav__btn,
393
+ .nav__menu--secondary {
394
+
395
+ display: none;
396
+ }
397
+
398
+ .nav__inner,
399
+ .nav__menu--account {
400
+ position: absolute;
401
+ top: 0;
402
+ left: 100%;
403
+ background: var(--body-bg);
404
+ z-index: 2;
405
+ width: 100%;
406
+ overscroll-behavior: contain;
407
+
408
+ @include media-breakpoint-up(sm) {
409
+
410
+ width: rem(375);
411
+ }
412
+ }
413
+
414
+ .nav__menu--account {
415
+ z-index: 2;
416
+ height: 100vh;
417
+ }
418
+
419
+ #showMenu:checked ~ .nav__inner,
420
+ #showAccount:checked ~ .nav__menu--account {
421
+
422
+ height: 100vh;
423
+ overflow: visible;
424
+ overflow-x: auto;
425
+ left: 0;
426
+
427
+ @include media-breakpoint-up(sm) {
428
+
429
+ left: calc(100% - #{rem(375)});
430
+ }
431
+ }
432
+
433
+ @include media-breakpoint-up(md) {
434
+
435
+ #showAccount ~ .nav__menu--account {
436
+
437
+ display: none;
438
+ }
439
+
440
+ #showAccount:checked ~ .nav__menu--account {
441
+
442
+ left: 0;
443
+ width: 100%;
444
+ height: auto;
445
+ display: block;
446
+ top: 6rem;
447
+ border-top: rem(5) solid var(--colour-primary);
448
+ border-bottom: 1px solid var(--colour-border-light);
449
+ -webkit-box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
450
+ -moz-box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
451
+ box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
452
+ }
453
+ }
454
+
455
+ #showMenu:checked ~ div .nav__menu,
456
+ #showMenu:checked ~ div .nav__btn,
457
+ #showMenu:checked ~ div .nav__menu--secondary,
458
+ #showMenu:not(:checked) ~ #showSearch:checked ~ div .nav__menu--search {
459
+ display: block;
460
+ }
461
+
462
+
463
+
464
+ #showMenu:checked ~ div .nav__menu-btn label,
465
+ #showSearch:checked ~ div .nav__search-btn label {
466
+
467
+ border: 0;
468
+
469
+ .icon {
470
+ opacity: 0;
471
+ }
472
+ &:before {
473
+ width: 100%;
474
+ transform: rotate(45deg);
475
+ }
476
+ &:after {
477
+
478
+ width: 100%;
479
+ transform: rotate(-45deg);
480
+ }
481
+ }
482
+
483
+ @include media-breakpoint-up(sm) {
484
+
485
+ #showMenu:checked ~ .nav__bg {
486
+ content: " ";
487
+ position: absolute;
488
+ top: 0;
489
+ left: 0;
490
+ width: 100vw;
491
+ height: 100vh;
492
+ background: rgba(0,0,0,0.5);
493
+ z-index: 1;
494
+
495
+ }
496
+ }
497
+
498
+ @include media-breakpoint-up(md) {
499
+
500
+ .nav__bg {
501
+ display: none;
502
+ }
503
+ }
504
+
505
+ // #endregion
506
+
507
+ // #region Desktop nav
508
+ @include media-breakpoint-up(md) {
509
+
510
+ .nav .nav__mobile-bar {
511
+
512
+ display: none;
513
+ }
514
+
515
+
516
+ .nav__logo {
517
+ height: rem(64);
518
+ }
519
+
520
+ #showMenu:checked ~ .nav__inner,
521
+ .nav__inner {
522
+ overflow: visible;
523
+ position: static;
524
+ width: 100%;
525
+ }
526
+
527
+ .nav .nav__menu {
528
+ display: flex;
529
+ padding-bottom: 0;
530
+ }
531
+
532
+ .nav__btn,
533
+ .nav__menu--secondary {
534
+ display: flex;
535
+ }
536
+
537
+ .nav {
538
+
539
+ .nav__inner > .container {
540
+ padding-bottom: 1rem;
541
+ }
542
+
543
+ }
544
+
545
+ .nav__search-btn,
546
+ .nav__btn {
547
+ order: 2;
548
+ margin-left: 1rem;
549
+
550
+ .btn {
551
+ margin-bottom: 0;
552
+ }
553
+ }
554
+ .nav__menu {
555
+ padding-top: 0;
556
+ }
557
+ .nav__menu > .list-unstyled {
558
+ margin-left: -1.5rem!important;
559
+ margin-right: -1.5rem!important;
560
+ width: calc(100% + 3rem);
561
+ margin-bottom: 0;
562
+ //text-align: right;
563
+ padding-top: 0;
564
+ padding-left: 1.5rem;
565
+ padding-right: 1.5rem;
566
+
567
+ > li {
568
+ display: inline-block;
569
+ padding-left: 1rem;
570
+ padding-right: 1rem;
571
+
572
+ &:not(:last-child){
573
+
574
+ border-right: 1px solid var(--colour-border);
575
+ }
576
+ > a {
577
+ line-height: 1.75rem;
578
+ }
579
+ > a.current {
580
+ border-left: none;
581
+ padding-left: 0;
582
+ border-bottom: rem(3) solid var(--colour-info);
583
+ }
584
+ }
585
+ }
586
+
587
+ .nav__account-btn {
588
+ max-width: fit-content!important;
589
+
590
+ label {
591
+
592
+ border: none!important;
593
+ padding-top: 0.5rem;
594
+ position: relative;
595
+ padding-right: 2.5rem;
596
+
597
+ &:after {
598
+ content: "";
599
+ position: absolute;
600
+ top: calc(50% + 0.5rem);
601
+ right: 0;
602
+ width: 1.5em;
603
+ height: 1.5em;
604
+ background: currentColor;
605
+ mask-image: var(--icon-arrow);
606
+ mask-size: 50%;
607
+ mask-repeat: no-repeat;
608
+ mask-position: 50% 50%;
609
+ -webkit-mask-image: var(--icon-arrow);
610
+ -webkit-mask-size: 50%;
611
+ -webkit-mask-repeat: no-repeat;
612
+ -webkit-mask-position: 50% 50%;
613
+ transition: transform 0.2s ease-in-out;
614
+ transform: rotate(90deg) translate(-50%, 0);
615
+ }
616
+ }
617
+ }
618
+
619
+ .nav .nav__menu--secondary > .container > .list-unstyled {
620
+ font-size: rem(15);
621
+ padding-top: 0;
622
+ }
623
+
624
+
625
+ }
626
+ // #endregion
627
+
628
+
629
+ // #region Nav secondary DESKTOP
630
+ @include media-breakpoint-up(md) {
631
+
632
+
633
+ .nav__menu--secondary {
634
+ background-color: var(--colour-primary);
635
+ @include invert-colours();
636
+
637
+ .nav__section-link {
638
+ pointer-events: all;
639
+ }
640
+ }
641
+
642
+ .nav__menu--secondary > .container {
643
+ padding-bottom: 0;
644
+ }
645
+
646
+ .nav__menu--secondary > .container > .list-unstyled {
647
+ margin-left: -1rem!important;
648
+ margin-right: -1rem!important;
649
+ width: calc(100% + 2rem);
650
+ margin-bottom: 0;
651
+
652
+ > li {
653
+ display: inline-block;
654
+ padding-left: 1rem;
655
+ padding-right: 1rem;
656
+ border: none!important;
657
+ padding-block: 0;
658
+ position: relative;
659
+
660
+ a,
661
+ .nav__section-link {
662
+ display: block;
663
+ line-height: 2.25rem;
664
+ padding-block: 0.5rem;
665
+ cursor: pointer;
666
+ }
667
+
668
+ ul {
669
+ display: none;
670
+ }
671
+
672
+ &:hover,
673
+ &:focus,
674
+ &:focus-within {
675
+
676
+ > .nav__section-link {
677
+
678
+ color: var(--colour-selected);
679
+ }
680
+
681
+ ul {
682
+ display: block;
683
+ background: white;
684
+ position: absolute;
685
+ top: 100%;
686
+ left: 0;
687
+ padding-top: rem(16);
688
+
689
+ -webkit-box-shadow: 0 4px 20px -10px rgba(51,51,51,0.25);
690
+ box-shadow: 0 4px 20px -10px rgba(51,51,51,0.25);
691
+
692
+ @include reset-colours();
693
+
694
+ --colour-admin: var(--colour-admin-theme);
695
+
696
+ li {
697
+
698
+ padding-inline: rem(24);
699
+ }
700
+
701
+ li:last-child {
702
+
703
+ padding-bottom: rem(16);
704
+ }
705
+
706
+ li.nav__download {
707
+ background: var(--colour-admin);
708
+ padding-top: rem(16);
709
+
710
+ & + li.nav__download {
711
+ padding-top: 0;
712
+ }
713
+ }
714
+
715
+ a {
716
+ white-space: nowrap;
717
+ padding: 0;
718
+ line-height: 3rem;
719
+
720
+ .icon {
721
+ display: inline-block;
722
+ font-size: 1.5em;
723
+ padding: 0;
724
+ margin: -0.15em 0.25em 0 0;
725
+ }
726
+ }
727
+ }
728
+ }
729
+ }
730
+ }
731
+
732
+ .nav__menu--secondary > .container > .logout-button {
733
+ display: none;
734
+ }
735
+
736
+ }
737
+ // #endregion
738
+
739
+
740
+ // #region Nav account Desktop
741
+
742
+
743
+ @include media-breakpoint-up(md) {
744
+ .nav__menu--account {
745
+
746
+ > .container:first-child {
747
+
748
+ display: none;
749
+ }
750
+
751
+ > .container:not(:first-child) {
752
+
753
+ &:before {
754
+ display: none;
755
+ }
756
+
757
+ display: flex;
758
+ flex-wrap: wrap;
759
+ gap: 2rem;
760
+
761
+ align-items: start;
762
+
763
+ > .row,
764
+ .nav__featured-link,
765
+ .credits {
766
+
767
+ flex-basis: 22%;
768
+ flex-grow: 1;
769
+ margin: 0;
770
+
771
+ }
772
+
773
+ > .row > .col:first-child,
774
+ .nav__featured-link > .row > .col:first-child {
775
+ max-width: 100%!important;
776
+ width: 100%;
777
+ flex-shrink: 0;
778
+ min-width: 100%;
779
+ margin-bottom: 1rem;
780
+ }
781
+
782
+ .logout-button {
783
+ min-width: 100%;
784
+ }
785
+ }
786
+ }
787
+ }
788
+ // #endregion
789
+
790
+
791
+ // #region Mega menu
792
+ .nav .list-unstyled > li details.nav__mega-menu {
793
+
794
+ @include media-breakpoint-up(md) {
795
+
796
+ position: static;
797
+
798
+ height: 4.5rem;
799
+ margin-bottom: -5rem;
800
+ }
801
+
802
+ .inner {
803
+
804
+ z-index: 5;
805
+
806
+ [class*="bg-"]{
807
+
808
+ --bs-bg-opacity: 0;
809
+ @include media-breakpoint-up(md) {
810
+ --bs-bg-opacity: 1;
811
+ }
812
+ }
813
+
814
+
815
+ @include media-breakpoint-up(md) {
816
+
817
+ --bs-bg-opacity: 1;
818
+ position: absolute;
819
+ top: 100%;
820
+ left: 50%;
821
+ width: 100vw!important;
822
+ max-width: 100vw!important;
823
+ -webkit-transform: translateX(-50%);
824
+ -ms-transform: translateX(-50%);
825
+ transform: translateX(-50%);
826
+
827
+ background: rgba(0,0,0,.6);
828
+ height: calc(100vh - 8rem);
829
+
830
+ pointer-events: none;
831
+ padding-top: 0;
832
+
833
+ .container {
834
+ padding: 0 rem(60 - 36) 1rem rem(60 - 36)!important;
835
+ max-width: rem(1440)!important;
836
+ text-align: left;
837
+ pointer-events: all;
838
+ display: flex;
839
+
840
+ > div {
841
+ padding: rem(36);
842
+ }
843
+ }
844
+ }
845
+ }
846
+ }
847
+ // #endregion
848
+
849
+ // #region inline search
850
+ .nav--inline-search {
851
+
852
+ .nav__menu form {
853
+ position: relative;
854
+ .form-control__wrapper .form-control {
855
+ padding-right: 3rem;
856
+ }
857
+
858
+ button {
859
+ position: absolute;
860
+ bottom: 0;
861
+ right: 0;
862
+ margin: 0;
863
+ z-index: var(--index-focus);
864
+ border-color: transparent;
865
+ background: transparent;
866
+ padding: 0.85rem 0rem;
867
+
868
+ .icon {
869
+ stroke: currentColor;
870
+ }
871
+ }
872
+ }
873
+
874
+ @include media-breakpoint-up(md) {
875
+ .nav__menu > .list-unstyled {
876
+ text-align: left;
877
+ margin-right: 0!important;
878
+ }
879
+
880
+ .nav__menu form {
881
+ min-width: rem(350);
882
+ position: relative;
883
+
884
+ .form-control__wrapper {
885
+ margin-bottom: 0;
886
+ display: flex;
887
+ align-items: center;
888
+
889
+ label {
890
+ white-space: nowrap;
891
+ padding-right: 1rem;
892
+ }
893
+
894
+ .form-control {
895
+ padding: rem(7) 3rem rem(7) 1rem;
896
+ }
897
+ }
898
+
899
+ button {
900
+ padding: rem(8) 0rem;
901
+ }
902
+ }
903
+ }
904
+ }
905
+ // #endregion
906
+
907
+ // #region nav admin
908
+ @include media-breakpoint-up(md) {
909
+ .nav--admin {
910
+ .nav__logo {
911
+ height: 3rem;
912
+
913
+ .brand {
914
+ font-size: 3rem;
915
+ }
916
+ }
917
+ }
918
+ }
919
+ // #endregion
920
+
921
+ // #region
922
+
923
+ .nav--just-account {
924
+
925
+ .nav__menu,
926
+ .nav__account-btn {
927
+ display: none!important;
928
+ }
929
+
930
+ @include media-breakpoint-up(md) {
931
+
932
+ .nav__menu,
933
+ .nav__account-btn {
934
+ display: block!important;
935
+ }
936
+ }
937
+
938
+ #showMenu:checked ~ .nav__menu--account {
939
+ height: 100vh;
940
+ overflow: visible;
941
+ overflow-x: auto;
942
+ left: 0;
943
+ pointer-events: none;
944
+ background: transparent;
945
+
946
+ @include media-breakpoint-up(sm) {
947
+
948
+ width: rem(375);
949
+ left: calc(100% - #{rem(375)});
950
+ }
951
+
952
+ > .container:first-child {
953
+ opacity: 0;
954
+ }
955
+ > .container:not(:first-child) {
956
+ pointer-events: all;
957
+ }
958
+ }
959
+ }
960
+
961
961
  // #endregion