govuk_publishing_components 24.21.1 → 25.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (109) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/govuk_publishing_components/analytics.js +2 -0
  3. data/app/assets/javascripts/govuk_publishing_components/{lib → analytics}/track-click.js +0 -0
  4. data/app/assets/javascripts/govuk_publishing_components/{lib/select.js → analytics/track-select-change.js} +0 -0
  5. data/app/assets/javascripts/govuk_publishing_components/components/intervention.js +16 -0
  6. data/app/assets/javascripts/govuk_publishing_components/components/layout-super-navigation-header.js +234 -40
  7. data/app/assets/javascripts/govuk_publishing_components/lib/govspeak/youtube-link-enhancement.js +6 -0
  8. data/app/assets/javascripts/govuk_publishing_components/lib/header-navigation.js +34 -5
  9. data/app/assets/javascripts/govuk_publishing_components/modules.js +11 -17
  10. data/app/assets/stylesheets/govuk_publishing_components/component_support.scss +0 -1
  11. data/app/assets/stylesheets/govuk_publishing_components/components/_intervention.scss +12 -10
  12. data/app/assets/stylesheets/govuk_publishing_components/components/_layout-super-navigation-header.scss +606 -41
  13. data/app/assets/stylesheets/govuk_publishing_components/components/_notice.scss +2 -17
  14. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_charts.scss +5 -0
  15. data/app/views/govuk_publishing_components/components/_fieldset.html.erb +1 -1
  16. data/app/views/govuk_publishing_components/components/_input.html.erb +1 -1
  17. data/app/views/govuk_publishing_components/components/_intervention.html.erb +26 -8
  18. data/app/views/govuk_publishing_components/components/_label.html.erb +6 -4
  19. data/app/views/govuk_publishing_components/components/_layout_for_public.html.erb +1 -1
  20. data/app/views/govuk_publishing_components/components/_layout_super_navigation_header.html.erb +265 -63
  21. data/app/views/govuk_publishing_components/components/_notice.html.erb +19 -13
  22. data/app/views/govuk_publishing_components/components/_radio.html.erb +5 -6
  23. data/app/views/govuk_publishing_components/components/_search.html.erb +11 -3
  24. data/app/views/govuk_publishing_components/components/_select.html.erb +3 -1
  25. data/app/views/govuk_publishing_components/components/_summary_list.html.erb +1 -1
  26. data/app/views/govuk_publishing_components/components/_title.html.erb +14 -7
  27. data/app/views/govuk_publishing_components/components/docs/notice.yml +15 -0
  28. data/app/views/govuk_publishing_components/components/docs/radio.yml +4 -15
  29. data/app/views/govuk_publishing_components/components/docs/search.yml +5 -0
  30. data/app/views/govuk_publishing_components/components/docs/title.yml +7 -12
  31. data/config/locales/ar.yml +5 -3
  32. data/config/locales/az.yml +5 -3
  33. data/config/locales/be.yml +5 -3
  34. data/config/locales/bg.yml +5 -3
  35. data/config/locales/bn.yml +5 -3
  36. data/config/locales/cs.yml +5 -3
  37. data/config/locales/cy.yml +8 -6
  38. data/config/locales/da.yml +5 -3
  39. data/config/locales/de.yml +5 -3
  40. data/config/locales/dr.yml +5 -3
  41. data/config/locales/el.yml +5 -3
  42. data/config/locales/en.yml +91 -84
  43. data/config/locales/es-419.yml +5 -3
  44. data/config/locales/es.yml +5 -3
  45. data/config/locales/et.yml +5 -3
  46. data/config/locales/fa.yml +5 -3
  47. data/config/locales/fi.yml +5 -3
  48. data/config/locales/fr.yml +5 -3
  49. data/config/locales/gd.yml +5 -3
  50. data/config/locales/gu.yml +5 -3
  51. data/config/locales/he.yml +5 -3
  52. data/config/locales/hi.yml +5 -3
  53. data/config/locales/hr.yml +5 -3
  54. data/config/locales/hu.yml +5 -3
  55. data/config/locales/hy.yml +5 -3
  56. data/config/locales/id.yml +5 -3
  57. data/config/locales/is.yml +5 -3
  58. data/config/locales/it.yml +5 -3
  59. data/config/locales/ja.yml +5 -3
  60. data/config/locales/ka.yml +5 -3
  61. data/config/locales/kk.yml +5 -3
  62. data/config/locales/ko.yml +5 -3
  63. data/config/locales/lt.yml +5 -3
  64. data/config/locales/lv.yml +5 -3
  65. data/config/locales/ms.yml +5 -3
  66. data/config/locales/mt.yml +5 -3
  67. data/config/locales/nl.yml +5 -3
  68. data/config/locales/no.yml +5 -3
  69. data/config/locales/pa-pk.yml +5 -3
  70. data/config/locales/pa.yml +5 -3
  71. data/config/locales/pl.yml +5 -3
  72. data/config/locales/ps.yml +5 -3
  73. data/config/locales/pt.yml +5 -3
  74. data/config/locales/ro.yml +5 -3
  75. data/config/locales/ru.yml +5 -3
  76. data/config/locales/si.yml +5 -3
  77. data/config/locales/sk.yml +5 -3
  78. data/config/locales/sl.yml +5 -3
  79. data/config/locales/so.yml +5 -3
  80. data/config/locales/sq.yml +5 -3
  81. data/config/locales/sr.yml +5 -3
  82. data/config/locales/sv.yml +5 -3
  83. data/config/locales/sw.yml +5 -3
  84. data/config/locales/ta.yml +5 -3
  85. data/config/locales/th.yml +5 -3
  86. data/config/locales/tk.yml +5 -3
  87. data/config/locales/tr.yml +5 -3
  88. data/config/locales/uk.yml +5 -3
  89. data/config/locales/ur.yml +5 -3
  90. data/config/locales/uz.yml +5 -3
  91. data/config/locales/vi.yml +5 -3
  92. data/config/locales/zh-hk.yml +5 -3
  93. data/config/locales/zh-tw.yml +5 -3
  94. data/config/locales/zh.yml +5 -3
  95. data/lib/govuk_publishing_components/presenters/shared_helper.rb +5 -1
  96. data/lib/govuk_publishing_components/version.rb +1 -1
  97. metadata +5 -16
  98. data/app/assets/stylesheets/govuk_publishing_components/components/helpers/_px-to-em.scss +0 -12
  99. data/app/assets/stylesheets/govuk_publishing_components/components/print/_attachment.scss +0 -2
  100. data/app/assets/stylesheets/govuk_publishing_components/components/print/_back-link.scss +0 -2
  101. data/app/assets/stylesheets/govuk_publishing_components/components/print/_feedback.scss +0 -2
  102. data/app/assets/stylesheets/govuk_publishing_components/components/print/_layout-footer.scss +0 -2
  103. data/app/assets/stylesheets/govuk_publishing_components/components/print/_layout-header.scss +0 -2
  104. data/app/assets/stylesheets/govuk_publishing_components/components/print/_metadata.scss +0 -2
  105. data/app/assets/stylesheets/govuk_publishing_components/components/print/_search.scss +0 -2
  106. data/app/assets/stylesheets/govuk_publishing_components/components/print/_share-links.scss +0 -2
  107. data/app/assets/stylesheets/govuk_publishing_components/components/print/_skip-link.scss +0 -2
  108. data/app/assets/stylesheets/govuk_publishing_components/components/print/_subscription-links.scss +0 -2
  109. data/app/assets/stylesheets/govuk_publishing_components/components/print/_translation-nav.scss +0 -2
@@ -8,7 +8,6 @@
8
8
 
9
9
  @import "govuk_publishing_components/components/helpers/brand-colours";
10
10
  @import "govuk_publishing_components/components/helpers/link";
11
- @import "govuk_publishing_components/components/helpers/px-to-em";
12
11
  @import "govuk_publishing_components/components/mixins/govuk-template-link-focus-override";
13
12
  @import "govuk_publishing_components/components/mixins/media-down";
14
13
  @import "govuk_publishing_components/components/mixins/margins";
@@ -1,16 +1,18 @@
1
1
  .gem-c-intervention {
2
2
  @include govuk-text-colour;
3
- @include govuk-responsive-padding(4);
4
- @include govuk-responsive-margin(4, "bottom");
3
+ @include govuk-responsive-padding(6, "left");
4
+ @include govuk-responsive-padding(6, "right");
5
+ @include govuk-responsive-padding(4, "top");
6
+ @include govuk-responsive-padding(4, "bottom");
7
+ @include govuk-responsive-margin(6, "bottom");
5
8
  background-color: govuk-colour("light-grey", $legacy: "grey-4");
6
- }
7
9
 
8
- .gem-c-intervention__title {
9
- @include govuk-font(24, $weight: bold);
10
- margin-top: 0;
11
- @include govuk-responsive-margin(4, "bottom");
12
- }
10
+ .gem-c-intervention__title {
11
+ @include govuk-responsive-margin(0);
12
+ @include govuk-responsive-padding(4, "bottom");
13
+ }
13
14
 
14
- .gem-c-intervention__paragraph {
15
- @include govuk-font(19);
15
+ .govuk-body:last-of-type {
16
+ @include govuk-responsive-margin(0, "bottom");
17
+ }
16
18
  }
@@ -1,8 +1,183 @@
1
1
  $search-icon-size: 20px;
2
2
 
3
+ @mixin chevron($colour) {
4
+ border-bottom: 3px solid govuk-colour($colour);
5
+ border-right: 3px solid govuk-colour($colour);
6
+ content: " ";
7
+ display: inline-block;
8
+ height: 8px;
9
+ margin: 0 8px 0 2px;
10
+ transform: translateY(-35%) rotate(45deg);
11
+ vertical-align: middle;
12
+ width: 8px;
13
+ }
14
+
15
+ %top-level-navigation-link-base {
16
+ background: none;
17
+ @include govuk-font($size: 24, $weight: bold, $line-height: 20px);
18
+ border: 0;
19
+ box-sizing: border-box;
20
+ display: block;
21
+ margin: 0;
22
+ padding: govuk-spacing(6) govuk-spacing(3);
23
+ position: relative;
24
+ text-decoration: none;
25
+
26
+ &,
27
+ &:link,
28
+ &:visited {
29
+ color: $govuk-link-colour;
30
+ }
31
+
32
+ &:focus {
33
+ background: $govuk-focus-colour;
34
+ border-color: $govuk-focus-text-colour;
35
+ border-top-color: $govuk-focus-colour;
36
+ color: $govuk-focus-text-colour;
37
+ outline: 3px solid transparent;
38
+ box-shadow: none;
39
+ z-index: 1;
40
+ }
41
+
42
+ @include govuk-media-query($from: "tablet") {
43
+ padding: govuk-spacing(6);
44
+ }
45
+
46
+ @include govuk-media-query($from: "desktop") {
47
+ @include govuk-font($size: 16, $weight: false, $line-height: 20px);
48
+ color: govuk-colour("white");
49
+ display: inherit;
50
+ height: govuk-spacing(9);
51
+ padding: govuk-spacing(4);
52
+
53
+ &:after {
54
+ background: govuk-colour("black");
55
+ bottom: 0;
56
+ content: " ";
57
+ display: block;
58
+ height: govuk-spacing(1);
59
+ left: govuk-spacing(4);
60
+ position: absolute;
61
+ right: govuk-spacing(4);
62
+ }
63
+
64
+ &:hover {
65
+ background: govuk-colour("black");
66
+ color: govuk-colour("mid-grey");
67
+
68
+ &:after {
69
+ background-color: govuk-colour("mid-grey");
70
+ }
71
+ }
72
+
73
+ &:focus {
74
+ @include govuk-focused-text;
75
+ box-shadow: none;
76
+
77
+ &:after {
78
+ background-color: $govuk-focus-text-colour;
79
+ }
80
+ }
81
+
82
+ &,
83
+ &:visited {
84
+ color: govuk-colour("white");
85
+ }
86
+ }
87
+ }
88
+
89
+ %toggle-base {
90
+ @extend %top-level-navigation-link-base;
91
+ @include govuk-font($size: 16, $weight: false, $line-height: 20px);
92
+ border-radius: 0;
93
+ cursor: pointer;
94
+ padding: govuk-spacing(4);
95
+ right: 0;
96
+ top: 0;
97
+
98
+ @include govuk-media-query($from: "desktop") {
99
+ border: none;
100
+ }
101
+ }
102
+
103
+ %top-level-navigation-toggle-base {
104
+ @extend %toggle-base;
105
+ border-top: 1px solid govuk-colour("black");
106
+ height: govuk-spacing(9);
107
+
108
+ &:focus {
109
+ border-color: $govuk-focus-colour;
110
+ }
111
+
112
+ &.gem-c-layout-super-navigation-header__open-button {
113
+ border-left-color: govuk-colour("black");
114
+ border-right-color: govuk-colour("black");
115
+
116
+ &,
117
+ &:hover {
118
+ background: govuk-colour("light-grey");
119
+ color: govuk-colour("light-grey");
120
+ }
121
+
122
+ &:focus {
123
+ color: $govuk-focus-colour;
124
+ background: $govuk-focus-colour;
125
+ }
126
+
127
+ &:before,
128
+ &:after {
129
+ $width: govuk-spacing(4);
130
+ $height: 4px;
131
+
132
+ border: none;
133
+ content: " ";
134
+ display: block;
135
+ margin: 0;
136
+ width: $width;
137
+ height: $height;
138
+ background: govuk-colour("black");
139
+ transform-origin: center;
140
+ position: absolute;
141
+ top: calc(50% - #{$height / 2});
142
+ left: calc(50% - #{$width / 2});
143
+ }
144
+
145
+ &:before {
146
+ transform: rotate(45deg);
147
+ }
148
+
149
+ &:after {
150
+ transform: rotate(-45deg);
151
+ }
152
+ }
153
+ }
154
+
155
+ %search-icon {
156
+ height: $search-icon-size;
157
+ pointer-events: none;
158
+ width: $search-icon-size;
159
+ }
160
+
161
+ // Header layout - black bar and logo.
3
162
  .gem-c-layout-super-navigation-header {
4
163
  background: govuk-colour("black");
5
164
  position: relative;
165
+
166
+ .lte-ie8 & {
167
+ height: govuk-spacing(9);
168
+ }
169
+
170
+ [hidden] {
171
+ display: none;
172
+ }
173
+ }
174
+
175
+ .gem-c-layout-super-navigation-header__container {
176
+ position: relative;
177
+
178
+ @include govuk-media-query($from: "desktop") {
179
+ position: static;
180
+ }
6
181
  }
7
182
 
8
183
  .gem-c-layout-super-navigation-header__header-logo {
@@ -23,103 +198,493 @@ $search-icon-size: 20px;
23
198
  }
24
199
  }
25
200
 
26
- .gem-c-layout-super-navigation-header__items {
201
+ // Top level navigation and search.
202
+ .gem-c-layout-super-navigation-header__navigation-items,
203
+ .gem-c-layout-super-navigation-header__search-items {
204
+ background: govuk-colour("light-grey");
205
+ display: block;
27
206
  list-style: none;
28
- margin: 0;
29
- padding: 0 0 govuk-spacing(1) 0;
207
+ margin: 0 (0 - govuk-spacing(3));
208
+ padding: 0;
209
+
210
+ @include govuk-media-query($from: "tablet") {
211
+ margin: 0 (0 - govuk-spacing(6));
212
+ }
30
213
 
31
214
  @include govuk-media-query($from: "desktop") {
215
+ background: none;
216
+ float: left;
32
217
  padding: 0;
218
+ margin: 0;
219
+ }
220
+ }
221
+
222
+ .gem-c-layout-super-navigation-header__navigation-items {
223
+ .js-enabled & {
224
+ padding: 0 0 govuk-spacing(9) 0;
225
+
226
+ @include govuk-media-query($from: "desktop") {
227
+ padding: 0;
228
+ }
33
229
  }
34
230
  }
35
231
 
36
- .gem-c-layout-super-navigation-header__item {
232
+ .gem-c-layout-super-navigation-header__navigation-item,
233
+ .gem-c-layout-super-navigation-header__search-item {
37
234
  margin-right: 0;
38
- padding: govuk-spacing(1) 0;
235
+ padding: 0;
39
236
 
40
237
  @include govuk-media-query($from: "desktop") {
238
+ border-bottom: none;
41
239
  float: left;
42
240
  padding: 0;
43
241
  }
44
242
  }
45
243
 
46
- .gem-c-layout-super-navigation-header__item-link {
47
- display: block;
48
- padding: govuk-spacing(3) 0;
49
- position: relative;
244
+ .gem-c-layout-super-navigation-header__navigation-item {
245
+ &:after {
246
+ background-color: $govuk-border-colour;
247
+ content: " ";
248
+ display: block;
249
+ height: 1px;
250
+ left: 0;
251
+ right: 0;
252
+ position: absolute;
253
+ }
50
254
 
51
255
  @include govuk-media-query($from: "desktop") {
52
- padding: govuk-spacing(4);
53
- width: auto;
256
+ &:after {
257
+ content: none;
258
+ }
54
259
  }
260
+ }
55
261
 
56
- &:focus {
57
- z-index: 1;
262
+ // Top level navigation links.
263
+ .gem-c-layout-super-navigation-header__navigation-item-link {
264
+ @extend %top-level-navigation-link-base;
265
+
266
+ &,
267
+ &:link, // 👈 required to override govuk-template
268
+ &:visited {
269
+ color: $govuk-link-colour;
270
+
271
+ &:hover {
272
+ color: govuk-colour("mid-grey");
273
+ }
274
+
275
+ &:focus {
276
+ color: $govuk-focus-text-colour;
277
+ }
278
+
279
+ @include govuk-media-query($from: "desktop") {
280
+ color: govuk-colour("white");
281
+ }
58
282
  }
59
- }
60
283
 
61
- // Special search link
62
- .gem-c-layout-super-navigation-header__item--search {
63
- border-bottom: 0;
284
+ // This :link:focus selector is required to override the `govuk-template`
285
+ // defaults.
286
+ &:link:focus {
287
+ color: $govuk-focus-text-colour;
288
+ }
289
+
290
+ .js-enabled & {
291
+ @include govuk-media-query($until: "desktop") {
292
+ padding: govuk-spacing(6) govuk-spacing(3) govuk-spacing(6) govuk-spacing(9);
293
+ }
294
+
295
+ @include govuk-media-query($until: "tablet") {
296
+ padding-left: govuk-spacing(7);
297
+ }
298
+ }
64
299
  }
65
300
 
66
- .gem-c-layout-super-navigation-header__item-link--search {
301
+ // Search link and dropdown.
302
+ .gem-c-layout-super-navigation-header__search-item-link {
303
+ @extend %top-level-navigation-link-base;
304
+
67
305
  @include govuk-media-query($from: "desktop") {
68
- background-color: $govuk-link-colour;
69
- display: inherit;
70
- width: govuk-spacing(4);
306
+ background: $govuk-link-colour;
307
+ margin-left: 0;
71
308
 
72
- &:hover {
73
- background-color: $govuk-link-hover-colour;
309
+ &:focus:hover:after,
310
+ &:after {
311
+ content: none;
74
312
  }
75
313
 
76
- &:focus {
77
- background-color: $govuk-focus-colour;
314
+ &:hover:after {
315
+ content: " ";
316
+ left: 0;
317
+ right: 0;
78
318
  }
79
319
  }
80
320
  }
81
321
 
82
- .gem-c-layout-super-navigation-header__item-link-text--search {
322
+ .gem-c-layout-super-navigation-header__search-item-link-text {
83
323
  @include govuk-media-query($from: "desktop") {
84
324
  @include govuk-visually-hidden;
85
325
  }
86
326
  }
87
327
 
88
- .gem-c-layout-super-navigation-header__item-link-icon--search {
328
+ .gem-c-layout-super-navigation-header__search-item-link-icon {
329
+ @extend %search-icon;
89
330
  display: none;
90
331
 
91
332
  @include govuk-media-query($from: "desktop") {
92
333
  display: block;
93
- height: $search-icon-size;
94
- width: $search-icon-size;
95
334
  }
96
335
  }
97
336
 
98
- .gem-c-layout-super-navigation-header__menu-button {
99
- @include govuk-font($size: 19, $weight: bold, $line-height: 20px);
337
+ .gem-c-layout-super-navigation-header__search-toggle-button-link-icon {
338
+ @extend %search-icon;
339
+ display: block;
340
+ }
341
+
342
+ // Search and popular content dropdown.
343
+ .gem-c-layout-super-navigation-header__search-and-popular {
344
+ display: none;
345
+ padding-bottom: govuk-spacing(4);
346
+ padding-top: govuk-spacing(4);
347
+
348
+ .js-enabled & {
349
+ display: block;
350
+ }
351
+ }
352
+
353
+ // Styles for top level navigation toggle button.
354
+ .gem-c-layout-super-navigation-header__navigation-top-toggle-button {
355
+ @extend %top-level-navigation-toggle-base;
100
356
  border-left: 1px solid govuk-colour("mid-grey");
101
- border-right: 1px solid govuk-colour("mid-grey");
102
- padding: govuk-spacing(4);
103
- top: 0;
357
+ color: govuk-colour("white");
358
+ position: absolute;
359
+ right: 45px;
360
+
361
+ @include govuk-media-query($from: 360px) {
362
+ &:before {
363
+ @include chevron("white");
364
+ }
365
+ }
104
366
 
105
367
  &:focus {
106
- border-left-color: $govuk-focus-colour;
107
- border-right-color: $govuk-focus-colour;
368
+ &:before {
369
+ border-color: $govuk-focus-text-colour;
370
+ }
371
+ }
372
+
373
+ @include govuk-media-query(360px) {
374
+ right: 60px;
375
+ }
376
+
377
+ @include govuk-media-query($from: "desktop") {
378
+ display: none;
379
+ }
380
+ }
381
+
382
+ // styles for search toggle button
383
+ .gem-c-layout-super-navigation-header__search-toggle-button {
384
+ @extend %top-level-navigation-toggle-base;
385
+ border-top: 1px solid transparent;
386
+ border-left: 1px solid govuk-colour("mid-grey");
387
+ color: govuk-colour("white");
388
+ position: absolute;
389
+ right: (0 - govuk-spacing(3));
390
+
391
+ &:hover {
392
+ border-color: govuk-colour("black");
393
+ }
394
+
395
+ @include govuk-media-query($from: 360px) {
396
+ right: 0;
397
+ }
398
+
399
+ @include govuk-media-query($from: "desktop") {
400
+ background-color: $govuk-link-colour;
401
+ border-left: 0;
402
+ height: govuk-spacing(9);
403
+ margin-left: govuk-spacing(3);
404
+ padding: govuk-spacing(4);
405
+ position: relative;
406
+ float: right;
407
+
408
+ &:not(.gem-c-layout-super-navigation-header__open-button):hover {
409
+ background: none;
410
+ color: govuk-colour("light-grey");
411
+
412
+ &:after {
413
+ content: " ";
414
+ left: 0;
415
+ right: 0;
416
+ }
417
+ }
418
+
419
+ &:focus:hover:after,
420
+ &:after {
421
+ content: none;
422
+ }
423
+
424
+ &.gem-c-layout-super-navigation-header__open-button {
425
+ border-top-color: govuk-colour("black");
426
+
427
+ &:hover:after {
428
+ content: " ";
429
+ }
430
+ }
108
431
  }
109
432
  }
110
433
 
111
- .js-enabled .gem-c-layout-super-navigation-header__items {
434
+ // styles for second level navigation toggle buttons
435
+ .gem-c-layout-super-navigation-header__navigation-second-toggle-button {
436
+ @extend %toggle-base;
437
+ @include govuk-font($size: 24, $weight: false, $line-height: 20px);
438
+ border: 0;
439
+ margin: 0;
440
+ padding: govuk-spacing(6) govuk-spacing(3);
441
+ position: relative;
442
+ text-align: left;
443
+ text-decoration: none;
444
+ width: 100%;
445
+
446
+ &:before {
447
+ @include chevron("black");
448
+ }
449
+
450
+ &,
451
+ &:visited {
452
+ color: $govuk-link-colour;// FIXME: contrast against govuk-colour("light-grey") not high enough
453
+
454
+ @include govuk-media-query($from: "desktop") {
455
+ color: govuk-colour("white");
456
+ }
457
+ }
458
+
459
+ @include govuk-media-query($from: "tablet") {
460
+ padding: govuk-spacing(6);
461
+ }
462
+
463
+ @include govuk-media-query($from: "desktop") {
464
+ @include govuk-font($size: 16, $weight: false, $line-height: 20px);
465
+ border-top: 1px solid transparent;
466
+ color: govuk-colour("white");
467
+ height: govuk-spacing(9);
468
+ padding: govuk-spacing(4);
469
+ position: relative;
470
+
471
+ &:before {
472
+ border-color: govuk-colour("white");
473
+ }
474
+
475
+ &:hover {
476
+ color: govuk-colour("mid-grey");
477
+
478
+ &:after {
479
+ background-color: govuk-colour("mid-grey");
480
+ }
481
+
482
+ &:before {
483
+ border-color: govuk-colour("mid-grey");
484
+ }
485
+ }
486
+
487
+ &:focus {
488
+ color: $govuk-focus-text-colour;
489
+ // border-color: $govuk-focus-text-colour;
490
+
491
+ &:after {
492
+ background-color: $govuk-focus-text-colour;
493
+ }
494
+
495
+ &:before {
496
+ border-color: $govuk-focus-text-colour;
497
+ }
498
+ }
499
+ }
500
+
501
+ &.gem-c-layout-super-navigation-header__open-button {
502
+ border-top-color: govuk-colour("black");
503
+
504
+ &:focus {
505
+ border-top-color: $govuk-focus-colour;
506
+ }
507
+
508
+ &:before {
509
+ transform: translateY(20%) rotate(225deg);
510
+ }
511
+
512
+ @include govuk-media-query($from: "desktop") {
513
+ background-color: govuk-colour("light-grey");
514
+ color: $govuk-link-colour;
515
+
516
+ &:after {
517
+ background: $govuk-link-colour;
518
+ }
519
+
520
+ &:before {
521
+ border-color: $govuk-link-colour;
522
+ }
523
+
524
+ &:focus {
525
+ background-color: $govuk-focus-colour;
526
+ color: $govuk-focus-text-colour;
527
+
528
+ &:after {
529
+ background-color: $govuk-focus-text-colour;
530
+ }
531
+
532
+ &:before {
533
+ border-color: $govuk-focus-text-colour;
534
+ }
535
+ }
536
+
537
+ &:active {
538
+ background-color: govuk-colour("light-grey");
539
+ color: $govuk-link-colour;
540
+
541
+ &:before {
542
+ border-color: $govuk-link-colour;
543
+ }
544
+ }
545
+ }
546
+ }
547
+ }
548
+
549
+ // Dropdown menu.
550
+ .gem-c-layout-super-navigation-header__navigation-dropdown-menu {
551
+ background: govuk-colour("white");
552
+
553
+ @include govuk-media-query($from: "desktop") {
554
+ background: govuk-colour("light-grey");
555
+ left: 0;
556
+ position: absolute;
557
+ right: 0;
558
+ }
559
+ }
560
+
561
+ // Dropdown menu description.
562
+ .gem-c-layout-super-navigation-header__menu-description {
112
563
  display: none;
113
564
 
114
565
  @include govuk-media-query($from: "desktop") {
115
566
  display: block;
567
+ padding: govuk-spacing(7) 0 govuk-spacing(7) 0;
116
568
  }
117
569
  }
118
570
 
119
- .js-enabled .gem-c-layout-super-navigation-header__items--open {
120
- display: block;
571
+ // Dropdown menu items.
572
+ .gem-c-layout-super-navigation-header__dropdown-list-item {
573
+ @include govuk-media-query($from: "desktop") {
574
+ padding: govuk-spacing(2) 0;
575
+ }
121
576
  }
122
577
 
123
- .gem-c-layout-super-navigation-header__dropdown-menu {
124
- display: none;
578
+ // Navigation menu items.
579
+ .gem-c-layout-super-navigation-header__navigation-second-items {
580
+ margin: 0 auto;
581
+ padding: govuk-spacing(2) 0 govuk-spacing(6) 0;
582
+
583
+ @include govuk-media-query($from: "desktop") {
584
+ display: flex;
585
+ flex-wrap: wrap;
586
+ margin-left: (0 - govuk-spacing(3));
587
+ margin-right: (0 - govuk-spacing(3));
588
+ padding: govuk-spacing(6) 0 govuk-spacing(8) 0;
589
+
590
+ & > li {
591
+ box-sizing: border-box;
592
+ margin-bottom: 0;
593
+ padding-left: govuk-spacing(3);
594
+ padding-right: govuk-spacing(3);
595
+ width: 50%;
596
+ }
597
+ }
598
+ }
599
+
600
+ .gem-c-layout-super-navigation-header__navigation-second-item-link {
601
+ display: inline-block;
602
+ padding: govuk-spacing(2) 0;
603
+
604
+ @include govuk-media-query($from: "desktop") {
605
+ display: inline;
606
+ font-weight: bold;
607
+ padding: 0;
608
+ }
609
+ }
610
+
611
+ .gem-c-layout-super-navigation-header__navigation-second-item-link--with-description {
612
+ @include govuk-font($size: 19, $weight: bold);
613
+ margin-bottom: 0;
614
+ padding-bottom: govuk-spacing(1);
615
+ }
616
+
617
+ // Dropdown menu footer links.
618
+ .gem-c-layout-super-navigation-header__navigation-second-footer {
619
+ border-top: 1px solid govuk-colour("mid-grey");
620
+ }
621
+
622
+ .gem-c-layout-super-navigation-header__navigation-second-footer-list {
623
+ list-style: none;
624
+ padding-bottom: govuk-spacing(8);
625
+ padding-top: govuk-spacing(4);
626
+
627
+ @include govuk-grid-column($width: "two-thirds", $float: right, $at: "desktop");
628
+
629
+ @include govuk-media-query($from: "desktop") {
630
+ padding: govuk-spacing(7) 0 govuk-spacing(8) 0;
631
+ }
632
+ }
633
+
634
+ .gem-c-layout-super-navigation-header__navigation-second-footer-item {
635
+ @include govuk-media-query($from: "desktop") {
636
+ box-sizing: border-box;
637
+ float: left;
638
+ width: 50%;
639
+ padding: 0 govuk-spacing(3);
640
+ }
641
+ }
642
+
643
+ .gem-c-layout-super-navigation-header__navigation-second-footer-link {
644
+ @include govuk-font($size: 19, $weight: bold);
645
+ display: inline-block;
646
+ margin: govuk-spacing(1) 0;
647
+ padding: govuk-spacing(2) 0;
648
+
649
+ @include govuk-media-query($from: "desktop") {
650
+ display: inline;
651
+ font-weight: bold;
652
+ padding: 0;
653
+ }
654
+ }
655
+
656
+ // Search dropdown.
657
+ .gem-c-layout-super-navigation-header__search-items {
658
+ background: govuk-colour("light-grey");
659
+ margin: 0 (0 - govuk-spacing(3));
660
+
661
+ @include govuk-media-query($from: "tablet") {
662
+ margin: 0 (0 - govuk-spacing(6));
663
+ }
664
+
665
+ @include govuk-media-query($from: "desktop") {
666
+ margin: 0;
667
+
668
+ .js-enabled & {
669
+ left: 0;
670
+ position: absolute;
671
+ right: 0;
672
+ top: 60px;
673
+ }
674
+ }
675
+ }
676
+
677
+ .gem-c-layout-super-navigation-header__search-form {
678
+ padding: govuk-spacing(3) 0 govuk-spacing(6) 0;
679
+ }
680
+
681
+ // Popular links.
682
+ .gem-c-layout-super-navigation-header__popular-link {
683
+ padding: govuk-spacing(2) 0;
684
+ display: inline-block;
685
+
686
+ @include govuk-media-query($from: "desktop") {
687
+ margin: govuk-spacing(1) 0;
688
+ padding: 0;
689
+ }
125
690
  }