govuk_publishing_components 24.21.0 → 25.2.0

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