@foeewni/web-core 3.0.0-alpha.0 → 3.0.0-alpha.10
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.
- package/README.md +55 -1
- package/dist/css/foe.critical.min.css +8 -8
- package/dist/css/foe.extras.min.css +1 -1
- package/dist/css/foe.main.min.css +9 -9
- package/dist/js/foe.fonts.min.js +1 -1
- package/dist/js/foe.main.min.js +1 -1
- package/package.json +3 -4
- package/src/components/form/buttons.scss +58 -0
- package/src/components/form/inputs.scss +45 -2
- package/src/components/go-top/index.js +1 -1
- package/src/components/hero-panel/style.scss +37 -13
- package/src/components/layout/backgrounds.scss +82 -0
- package/src/components/layout/reset.scss +13 -0
- package/src/components/navigation/_header.scss +7 -6
- package/src/components/navigation/_nav-items.scss +36 -39
- package/src/components/navigation/_search.scss +18 -6
- package/src/components/tools/data-defer-src.js +2 -7
- package/src/components/tools/jaunty.js +246 -0
- package/src/components/typography/blockquotes.scss +18 -24
- package/src/components/typography/fonts.scss +2 -2
- package/src/fonts.js +31 -20
- package/src/main.js +1 -0
- package/src/utils/scss/helpers/_mixins.scss +4 -3
- package/src/utils/scss/helpers/_variables.scss +62 -33
|
@@ -48,6 +48,26 @@ Form `type=submit`s, `button`s are by default uncolorized, please use one of the
|
|
|
48
48
|
@import '~bootstrap/scss/buttons';
|
|
49
49
|
@import '~bootstrap/scss/button-group';
|
|
50
50
|
|
|
51
|
+
/*******************************
|
|
52
|
+
* overwrites for legacy use of button styles
|
|
53
|
+
* .foe-cta is an old class that should be phased out
|
|
54
|
+
* (based on the comment on theme/src/sass/ckeditor-overrides.scss "Subtle highlight for old-style (incorrect) CTA buttons")
|
|
55
|
+
* .foe-secondary is based on a colour option but styling for secondary buttons seems to be exclusively outline ao to meet accessibility
|
|
56
|
+
* requirements it was more straight forward to just retarget those.
|
|
57
|
+
*******************************/
|
|
58
|
+
|
|
59
|
+
.btn-block {
|
|
60
|
+
max-width: fit-content;
|
|
61
|
+
margin: 0 auto;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.btn {
|
|
65
|
+
&:focus {
|
|
66
|
+
outline: $foe-element-default-outline;
|
|
67
|
+
outline-offset: $foe-element-default-outline-offset;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
51
71
|
@include media-breakpoint-down(sm) {
|
|
52
72
|
.btn {
|
|
53
73
|
font-size: .8rem;
|
|
@@ -58,3 +78,41 @@ Form `type=submit`s, `button`s are by default uncolorized, please use one of the
|
|
|
58
78
|
white-space: normal;
|
|
59
79
|
}
|
|
60
80
|
}
|
|
81
|
+
|
|
82
|
+
.foe-cta {
|
|
83
|
+
@extend .btn;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.btn-primary,
|
|
87
|
+
.foe-cta {
|
|
88
|
+
@include button-variant($foe-iris, $foe-iris);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.btn-outline-primary,
|
|
92
|
+
.btn-secondary {
|
|
93
|
+
@include button-outline-variant($foe-iris);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.btn-secondary {
|
|
97
|
+
background-color: transparent;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.btn-accent {
|
|
101
|
+
@include button-variant($foe-leaf, $foe-leaf);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.btn-outline-accent {
|
|
105
|
+
@include button-outline-variant($foe-leaf);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.btn-sunset {
|
|
109
|
+
color: $foe-extradark;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.btn-donate {
|
|
113
|
+
color: $foe-donate-text;
|
|
114
|
+
|
|
115
|
+
&:hover {
|
|
116
|
+
color: $foe-donate-text;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
@@ -149,6 +149,12 @@ input {
|
|
|
149
149
|
|
|
150
150
|
&:not(.form-control-sm):not(.form-control-lg) {
|
|
151
151
|
@extend .form-control;
|
|
152
|
+
|
|
153
|
+
&:focus,
|
|
154
|
+
&.focus {
|
|
155
|
+
outline: $foe-element-default-outline;
|
|
156
|
+
outline-offset: $foe-element-default-outline-offset;
|
|
157
|
+
}
|
|
152
158
|
}
|
|
153
159
|
}
|
|
154
160
|
}
|
|
@@ -158,6 +164,12 @@ select {
|
|
|
158
164
|
|
|
159
165
|
&:not(.form-control-sm):not(.form-control-lg) {
|
|
160
166
|
@extend .form-control;
|
|
167
|
+
|
|
168
|
+
&:focus,
|
|
169
|
+
&.focus {
|
|
170
|
+
outline: $foe-element-default-outline;
|
|
171
|
+
outline-offset: $foe-element-default-outline-offset;
|
|
172
|
+
}
|
|
161
173
|
}
|
|
162
174
|
}
|
|
163
175
|
|
|
@@ -165,6 +177,12 @@ textarea {
|
|
|
165
177
|
@extend .form-control;
|
|
166
178
|
|
|
167
179
|
margin-bottom: $spacer;
|
|
180
|
+
|
|
181
|
+
&:focus,
|
|
182
|
+
&.focus {
|
|
183
|
+
outline: $foe-element-default-outline;
|
|
184
|
+
outline-offset: $foe-element-default-outline-offset;
|
|
185
|
+
}
|
|
168
186
|
}
|
|
169
187
|
|
|
170
188
|
%checkradio-label {
|
|
@@ -254,10 +272,21 @@ textarea {
|
|
|
254
272
|
// Stylelint goes nuts on + selectors like this
|
|
255
273
|
/* stylelint-disable no-descending-specificity */
|
|
256
274
|
input[type=checkbox] {
|
|
257
|
-
display: none;
|
|
275
|
+
// display: none; //this wasn't accessible by tabbing so changing for the below
|
|
276
|
+
// using advice from https://stackoverflow.com/questions/51207650/how-to-use-keyboard-tab-on-hidden-radio-buttons
|
|
277
|
+
opacity: 0;
|
|
278
|
+
position: absolute;
|
|
279
|
+
z-index: -1;
|
|
258
280
|
|
|
259
281
|
+ label {
|
|
260
282
|
@extend %checkradio-label;
|
|
283
|
+
|
|
284
|
+
&:focus,
|
|
285
|
+
&.focus {
|
|
286
|
+
outline: $foe-element-default-outline;
|
|
287
|
+
outline-offset: $foe-element-default-outline-offset;
|
|
288
|
+
box-shadow: 0 0 0 $foe-element-default-focus-width $foe-element-default-focus-color;
|
|
289
|
+
}
|
|
261
290
|
}
|
|
262
291
|
|
|
263
292
|
+ label::before {
|
|
@@ -279,10 +308,18 @@ input[type=checkbox] {
|
|
|
279
308
|
&:checked:disabled + label::before {
|
|
280
309
|
@extend %checkradio-picker-checked-disabled;
|
|
281
310
|
}
|
|
311
|
+
|
|
312
|
+
&:focus + label {
|
|
313
|
+
outline: $foe-element-default-outline;
|
|
314
|
+
outline-offset: $foe-element-default-outline-offset;
|
|
315
|
+
box-shadow: 0 0 0 $foe-element-default-focus-width $foe-element-default-focus-color;
|
|
316
|
+
}
|
|
282
317
|
}
|
|
283
318
|
|
|
284
319
|
input[type=radio] {
|
|
285
|
-
|
|
320
|
+
opacity: 0;
|
|
321
|
+
position: absolute;
|
|
322
|
+
z-index: -1;
|
|
286
323
|
|
|
287
324
|
+ label {
|
|
288
325
|
@extend %checkradio-label;
|
|
@@ -307,6 +344,12 @@ input[type=radio] {
|
|
|
307
344
|
&:checked:disabled + label::before {
|
|
308
345
|
@extend %checkradio-picker-checked-disabled;
|
|
309
346
|
}
|
|
347
|
+
|
|
348
|
+
&:focus + label {
|
|
349
|
+
outline: $foe-element-default-outline;
|
|
350
|
+
outline-offset: $foe-element-default-outline-offset;
|
|
351
|
+
box-shadow: 0 0 0 $foe-element-default-focus-width $foe-element-default-focus-color;
|
|
352
|
+
}
|
|
310
353
|
}
|
|
311
354
|
/* stylelint-enable no-descending-specificity */
|
|
312
355
|
|
|
@@ -21,7 +21,7 @@ import './style.scss';
|
|
|
21
21
|
const $gotop = $(`
|
|
22
22
|
<a id="foe-go-top" href="#foe-go-top-anchor" title="Return to the top of the page">
|
|
23
23
|
<i class="fas fa-arrow-alt-circle-up"></i>
|
|
24
|
-
<span class="sr-only">Go to top</span>
|
|
24
|
+
<span class="sr-only" role="navigation">Go to top</span>
|
|
25
25
|
</a>
|
|
26
26
|
`);
|
|
27
27
|
|
|
@@ -156,6 +156,8 @@ The parallax effect needs the file `foe.components.js` to be appended in the pag
|
|
|
156
156
|
width: 100%;
|
|
157
157
|
margin: 0;
|
|
158
158
|
top: 0;
|
|
159
|
+
// #13287 the nav bar is now solid so the hero needs to be padded accordingly
|
|
160
|
+
padding-top: $foe-nav-height-small;
|
|
159
161
|
background-color: $foe-extradark;
|
|
160
162
|
overflow: hidden;
|
|
161
163
|
// Vertically aligns everything.
|
|
@@ -177,21 +179,24 @@ The parallax effect needs the file `foe.components.js` to be appended in the pag
|
|
|
177
179
|
bottom: 0;
|
|
178
180
|
left: 0;
|
|
179
181
|
right: 0;
|
|
180
|
-
|
|
181
|
-
z-index: 1;
|
|
182
|
+
z-index: 0;
|
|
182
183
|
width: 100%;
|
|
183
184
|
height: 100%;
|
|
184
185
|
overflow: hidden;
|
|
185
186
|
|
|
186
|
-
|
|
187
|
-
content: '';
|
|
188
|
-
position: absolute;
|
|
189
|
-
top: 0;
|
|
190
|
-
bottom: 0;
|
|
191
|
-
left: 0;
|
|
192
|
-
right: 0;
|
|
187
|
+
&.is-dimmed {
|
|
193
188
|
background-color: $foe-tint-overlay;
|
|
194
|
-
|
|
189
|
+
|
|
190
|
+
&::before {
|
|
191
|
+
content: '';
|
|
192
|
+
position: absolute;
|
|
193
|
+
top: 0;
|
|
194
|
+
bottom: 0;
|
|
195
|
+
left: 0;
|
|
196
|
+
right: 0;
|
|
197
|
+
background-color: $foe-tint-overlay;
|
|
198
|
+
z-index: 2;
|
|
199
|
+
}
|
|
195
200
|
}
|
|
196
201
|
|
|
197
202
|
// Fit and crop <img> or <video> elements to 100% x 100% of
|
|
@@ -213,6 +218,14 @@ The parallax effect needs the file `foe.components.js` to be appended in the pag
|
|
|
213
218
|
min-width: 100%;
|
|
214
219
|
min-height: 100%;
|
|
215
220
|
}
|
|
221
|
+
|
|
222
|
+
&.is-fixed {
|
|
223
|
+
clip-path: inset(0);
|
|
224
|
+
|
|
225
|
+
img {
|
|
226
|
+
position: fixed;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
216
229
|
}
|
|
217
230
|
|
|
218
231
|
.foe-hero-panel-buffer {
|
|
@@ -235,7 +248,8 @@ The parallax effect needs the file `foe.components.js` to be appended in the pag
|
|
|
235
248
|
.foe-hero-panel-heading {
|
|
236
249
|
position: relative;
|
|
237
250
|
z-index: 3;
|
|
238
|
-
|
|
251
|
+
// #13287 see above the nav height moved to container padding so the text is aligned in the centre of the visible space
|
|
252
|
+
padding-top: $spacer;
|
|
239
253
|
padding-bottom: $spacer;
|
|
240
254
|
|
|
241
255
|
@include media-breakpoint-up(md) {
|
|
@@ -247,8 +261,18 @@ The parallax effect needs the file `foe.components.js` to be appended in the pag
|
|
|
247
261
|
}
|
|
248
262
|
|
|
249
263
|
h1 {
|
|
250
|
-
color: $foe-
|
|
251
|
-
|
|
264
|
+
color: $foe-extradark;
|
|
265
|
+
|
|
266
|
+
span {
|
|
267
|
+
background: $foe-primary;
|
|
268
|
+
padding: $spacer;
|
|
269
|
+
display: inline-block;
|
|
270
|
+
border-color: transparent;
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
.btn {
|
|
275
|
+
@include font-size($h5-font-size);
|
|
252
276
|
}
|
|
253
277
|
|
|
254
278
|
.foe-hero-cta-container {
|
|
@@ -1,3 +1,85 @@
|
|
|
1
|
+
@import '../../utils/scss/loader';
|
|
2
|
+
|
|
1
3
|
.fixed-background {
|
|
2
4
|
background-attachment: fixed !important;
|
|
3
5
|
}
|
|
6
|
+
|
|
7
|
+
/*******************************
|
|
8
|
+
* Background tweaks according to
|
|
9
|
+
* Author options white/primary/dark/extradark are re-mapped to reflect the brand colours and prefered combinations
|
|
10
|
+
* bg-dark uses iris which is the accent colour
|
|
11
|
+
* bg-extradark has been replaced with sunset, it was decided to not use the space for a background colour so the inability
|
|
12
|
+
* to access this combination shouldn't be a problem and this will account for any other instances where author accessible
|
|
13
|
+
* theme colours are referenced in the code
|
|
14
|
+
* $foe-leaf-75 is used in some places to increase the number of accessible options available
|
|
15
|
+
* $foe-sunset-75 is used to stop those backgrounds being so intense
|
|
16
|
+
******************************/
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
.bg-accent {
|
|
20
|
+
@include heading_colours($foe-offwhite, $foe-secondary);
|
|
21
|
+
@include text_colours($foe-offwhite, $foe-secondary);
|
|
22
|
+
|
|
23
|
+
.btn-primary,
|
|
24
|
+
.foe-cta {
|
|
25
|
+
@include button-variant($foe-primary, $foe-primary);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.btn-outline-primary,
|
|
29
|
+
.btn-secondary {
|
|
30
|
+
@include button-outline-variant($foe-offwhite);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.bg-primary {
|
|
35
|
+
background-color: $foe-leaf-75 !important;
|
|
36
|
+
|
|
37
|
+
@include heading_colours($foe-extradark, $foe-extradark);
|
|
38
|
+
@include text_colours($foe-extradark, $foe-extradark);
|
|
39
|
+
|
|
40
|
+
.btn-outline-primary,
|
|
41
|
+
.btn-secondary {
|
|
42
|
+
@include button-outline-variant($foe-extradark);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.bg-offwhite {
|
|
47
|
+
@include heading_colours($foe-accent, $foe-accent);
|
|
48
|
+
@include text_colours($foe-accent, $foe-accent);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.bg-extradark,
|
|
52
|
+
.bg-sunset {
|
|
53
|
+
background-color: $foe-sunset-75 !important;
|
|
54
|
+
|
|
55
|
+
@include heading_colours($foe-extradark, $foe-extradark);
|
|
56
|
+
@include text_colours($foe-extradark, $foe-extradark);
|
|
57
|
+
|
|
58
|
+
.btn-primary,
|
|
59
|
+
.foe-cta {
|
|
60
|
+
@include button-variant($foe-extradark, $foe-extradark);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.btn-outline-primary,
|
|
64
|
+
.btn-secondary {
|
|
65
|
+
@include button-outline-variant($foe-extradark);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.bg-dark,
|
|
70
|
+
.bg-iris {
|
|
71
|
+
background-color: $foe-iris !important;
|
|
72
|
+
|
|
73
|
+
@include heading_colours($foe-offwhite, $foe-secondary);
|
|
74
|
+
@include text_colours($foe-offwhite, $foe-secondary);
|
|
75
|
+
|
|
76
|
+
.btn-primary,
|
|
77
|
+
.foe-cta {
|
|
78
|
+
@include button-variant($foe-leaf-75, $foe-leaf-75);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.btn-outline-primary,
|
|
82
|
+
.btn-secondary {
|
|
83
|
+
@include button-outline-variant($foe-offwhite);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
@@ -13,6 +13,19 @@ input {
|
|
|
13
13
|
max-width: 100%;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
+
cite {
|
|
17
|
+
font-style: normal;
|
|
18
|
+
}
|
|
19
|
+
|
|
16
20
|
.form-group {
|
|
17
21
|
margin-bottom: 1rem;
|
|
22
|
+
|
|
23
|
+
.form-inline & {
|
|
24
|
+
margin-bottom: 0;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
p a:not(.btn, .foe-cta) {
|
|
29
|
+
text-decoration: underline;
|
|
30
|
+
color: $foe-text;
|
|
18
31
|
}
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
top: 0;
|
|
13
13
|
padding: 0;
|
|
14
14
|
z-index: $zindex-navbar !important;
|
|
15
|
-
background-color: $foe-
|
|
15
|
+
background-color: $foe-leaf-75;
|
|
16
16
|
transition:
|
|
17
17
|
background-color $foe-transition-duration-base $foe-transition-easing,
|
|
18
18
|
background-position $foe-transition-duration-base $foe-transition-easing,
|
|
@@ -35,15 +35,15 @@
|
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
&.foe-header-transparent-start {
|
|
38
|
-
background-color: rgba($foe-
|
|
39
|
-
background-image: linear-gradient(to bottom, rgba(0, 0, 0, .25), rgba($foe-
|
|
38
|
+
// background-color: rgba($foe-primary, 0); // Tricks into a better transition from transparent using the theme colour
|
|
39
|
+
background-image: linear-gradient(to bottom, rgba(0, 0, 0, .25), rgba($foe-primary, 0) 50%);
|
|
40
40
|
background-size: 100% 200%;
|
|
41
41
|
background-repeat: no-repeat;
|
|
42
42
|
|
|
43
43
|
// Scrolled state
|
|
44
44
|
&.js-menustack-stuck {
|
|
45
45
|
background-position-y: 100%;
|
|
46
|
-
background-color: $foe-
|
|
46
|
+
background-color: $foe-leaf-75;
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
49
|
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
// Not sure if it got removed at a certain point, so I do repurpose this for the nonjs version
|
|
52
52
|
&::before {
|
|
53
53
|
content: '';
|
|
54
|
-
background: $foe-
|
|
54
|
+
background: $foe-primary;
|
|
55
55
|
position: absolute;
|
|
56
56
|
display: block;
|
|
57
57
|
z-index: -5; // Otherwise it clashes with the logo
|
|
@@ -65,7 +65,8 @@
|
|
|
65
65
|
@include media-breakpoint-down(md) {
|
|
66
66
|
padding-left: calc($grid-gutter-width / 2) !important;
|
|
67
67
|
padding-right: calc($grid-gutter-width / 2) !important;
|
|
68
|
-
overflow:
|
|
68
|
+
// #13294 Fixing the mobile navigation (with overflow:hidden the mobile search does not display below the navigation)
|
|
69
|
+
// overflow: hidden;
|
|
69
70
|
}
|
|
70
71
|
|
|
71
72
|
// Scrolled state
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
width: auto;
|
|
6
6
|
float: right;
|
|
7
7
|
padding: 0;
|
|
8
|
-
margin: 0;
|
|
8
|
+
margin: 0 $spacer/2 0 0;
|
|
9
9
|
line-height: 4rem;
|
|
10
10
|
|
|
11
11
|
@include media-breakpoint-down(md) {
|
|
@@ -22,6 +22,8 @@
|
|
|
22
22
|
padding-top: 0;
|
|
23
23
|
padding-bottom: 0;
|
|
24
24
|
float: none; // Resets bootstrap floating.
|
|
25
|
+
// #13294 Not sure why the mobile nav wasn't left aligned
|
|
26
|
+
text-align: left;
|
|
25
27
|
|
|
26
28
|
@include media-breakpoint-up(lg) {
|
|
27
29
|
float: left; // Reinstate for MD+
|
|
@@ -29,65 +31,62 @@
|
|
|
29
31
|
|
|
30
32
|
> a {
|
|
31
33
|
position: relative;
|
|
34
|
+
padding: .2rem;
|
|
32
35
|
line-height: $foe-nav-height-small;
|
|
33
|
-
font-weight:
|
|
34
|
-
|
|
36
|
+
font-weight: 900;
|
|
37
|
+
font-size: 1.25rem;
|
|
35
38
|
display: block;
|
|
36
|
-
color:
|
|
39
|
+
color: $foe-extradark;
|
|
40
|
+
text-decoration: none;
|
|
41
|
+
box-shadow: inset 0 0 0 0 $foe-accent;
|
|
37
42
|
transition:
|
|
38
|
-
|
|
39
|
-
|
|
43
|
+
color $foe-transition-duration-base ease-in-out,
|
|
44
|
+
box-shadow $foe-transition-duration-base ease-in-out;
|
|
45
|
+
// transition: line-height $foe-transition-duration-base $foe-transition-easing, color $foe-transition-duration-base $foe-transition-easing;
|
|
40
46
|
|
|
41
47
|
@include media-breakpoint-up(lg) {
|
|
42
48
|
padding: 0 18px;
|
|
43
|
-
line-height: $foe-nav-height-large;
|
|
49
|
+
line-height: $foe-nav-height-large / 3;
|
|
44
50
|
}
|
|
45
51
|
|
|
46
52
|
&:focus {
|
|
47
53
|
background-color: transparent;
|
|
48
|
-
|
|
54
|
+
box-shadow: 0 0 0 .125rem $foe-extradark;
|
|
55
|
+
outline: .125rem solid $foe-offwhite;
|
|
56
|
+
outline-offset: .125rem;
|
|
49
57
|
}
|
|
50
58
|
|
|
51
59
|
&:hover {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
background: transparent;
|
|
60
|
+
color: $foe-offwhite;
|
|
61
|
+
box-shadow: inset 10rem 0 0 0 $foe-accent;
|
|
55
62
|
text-decoration: none;
|
|
56
63
|
}
|
|
57
|
-
|
|
58
|
-
&::after {
|
|
59
|
-
$arrow-size: 10px;
|
|
60
|
-
|
|
61
|
-
position: absolute;
|
|
62
|
-
z-index: $zindex-navbar + 21;
|
|
63
|
-
content: '';
|
|
64
|
-
width: 0;
|
|
65
|
-
height: 0;
|
|
66
|
-
border: $arrow-size solid transparent;
|
|
67
|
-
border-bottom-color: $foe-offwhite;
|
|
68
|
-
bottom: -1px;
|
|
69
|
-
left: 50%;
|
|
70
|
-
margin-left: ($arrow-size * -1);
|
|
71
|
-
opacity: 0;
|
|
72
|
-
transition: opacity $foe-transition-duration-base $foe-transition-easing;
|
|
73
|
-
}
|
|
74
64
|
}
|
|
75
65
|
|
|
76
66
|
&.active > a {
|
|
77
67
|
font-weight: 300;
|
|
78
68
|
}
|
|
79
69
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
visibility: visible;
|
|
84
|
-
transition-delay: .2s;
|
|
85
|
-
z-index: $zindex-navbar + 20;
|
|
70
|
+
.foe-megamenu-container {
|
|
71
|
+
a:hover {
|
|
72
|
+
text-decoration: underline;
|
|
86
73
|
}
|
|
74
|
+
}
|
|
87
75
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
76
|
+
&.foe-has-megamenu {
|
|
77
|
+
&:focus-within,
|
|
78
|
+
&:hover {
|
|
79
|
+
.foe-megamenu-container {
|
|
80
|
+
opacity: 1;
|
|
81
|
+
visibility: visible;
|
|
82
|
+
transition-delay: .2s;
|
|
83
|
+
z-index: $zindex-navbar + 20;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
> a::after {
|
|
87
|
+
opacity: 1;
|
|
88
|
+
transition-delay: .2s;
|
|
89
|
+
}
|
|
91
90
|
}
|
|
92
91
|
}
|
|
93
92
|
}
|
|
@@ -108,8 +107,6 @@
|
|
|
108
107
|
// Handheld only
|
|
109
108
|
@include media-breakpoint-down(md) {
|
|
110
109
|
&.foe-header-mobile-is-open {
|
|
111
|
-
background-color: $foe-extradark !important;
|
|
112
|
-
|
|
113
110
|
ul.navbar-nav {
|
|
114
111
|
max-height: calc(100vh - 4rem);
|
|
115
112
|
overflow-y: auto;
|
|
@@ -14,13 +14,21 @@
|
|
|
14
14
|
a.search-button {
|
|
15
15
|
text-decoration: none !important;
|
|
16
16
|
position: relative;
|
|
17
|
-
|
|
18
|
-
color: $foe-
|
|
17
|
+
height: $foe-nav-height-small;
|
|
18
|
+
color: $foe-extradark !important;
|
|
19
19
|
transition: line-height $foe-transition-duration-base $foe-transition-easing;
|
|
20
20
|
width: calc($spacer * 3);
|
|
21
21
|
padding-left: calc($grid-gutter-width / 2);
|
|
22
22
|
padding-right: calc($grid-gutter-width / 2);
|
|
23
|
-
display
|
|
23
|
+
// #13293 display switched to inline-flex for search icon alignment on mobile
|
|
24
|
+
display: inline-flex;
|
|
25
|
+
align-items: center;
|
|
26
|
+
vertical-align: middle;
|
|
27
|
+
|
|
28
|
+
.svg-inline--fa {
|
|
29
|
+
height: 1.5em;
|
|
30
|
+
transition: height $foe-transition-duration-base $foe-transition-easing;
|
|
31
|
+
}
|
|
24
32
|
|
|
25
33
|
.fa-times {
|
|
26
34
|
display: none;
|
|
@@ -35,11 +43,11 @@
|
|
|
35
43
|
}
|
|
36
44
|
|
|
37
45
|
@include media-breakpoint-up(md) {
|
|
38
|
-
|
|
46
|
+
height: $foe-nav-height-medium;
|
|
39
47
|
}
|
|
40
48
|
|
|
41
49
|
@include media-breakpoint-up(lg) {
|
|
42
|
-
|
|
50
|
+
height: $foe-nav-height-large;
|
|
43
51
|
}
|
|
44
52
|
|
|
45
53
|
&::after {
|
|
@@ -117,8 +125,12 @@
|
|
|
117
125
|
&.js-menustack-stuck {
|
|
118
126
|
.header-search {
|
|
119
127
|
a.search-button {
|
|
128
|
+
.svg-inline--fa {
|
|
129
|
+
height: 1em;
|
|
130
|
+
}
|
|
131
|
+
|
|
120
132
|
@include media-breakpoint-up(lg) {
|
|
121
|
-
|
|
133
|
+
height: $foe-nav-height-large-scrolled;
|
|
122
134
|
}
|
|
123
135
|
}
|
|
124
136
|
}
|
|
@@ -50,20 +50,15 @@ import './data-defer-src.scss';
|
|
|
50
50
|
entries.forEach((entry) => {
|
|
51
51
|
if (!isVisible && entry.intersectionRatio > 0) {
|
|
52
52
|
isVisible = true;
|
|
53
|
-
|
|
54
|
-
el.contentWindow.location.replace(source);
|
|
55
|
-
} else {
|
|
56
|
-
el.src = source;
|
|
57
|
-
}
|
|
53
|
+
el.src = source;
|
|
58
54
|
}
|
|
59
55
|
|
|
60
56
|
if (el.hasAttribute('data-defer-dispose') && isVisible && entry.intersectionRatio === 0) {
|
|
61
57
|
isVisible = false;
|
|
62
58
|
if (el.tagName === 'IFRAME') {
|
|
63
59
|
el.contentWindow.location.replace('about:blank');
|
|
64
|
-
} else {
|
|
65
|
-
el.removeAttribute('src');
|
|
66
60
|
}
|
|
61
|
+
el.removeAttribute('src');
|
|
67
62
|
el.classList.add('js-defer-is-loading');
|
|
68
63
|
}
|
|
69
64
|
});
|