kcc-gem-theme 1.33.15 → 1.34.15

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/_data/cache_bust_css.yml +1 -1
  3. data/_data/theme_hash.yml +1 -1
  4. data/_includes/header-global.html +24 -0
  5. data/_includes/nav-global-bottom.html +23 -0
  6. data/_includes/nav-global-local.html +29 -0
  7. data/_includes/nav-global-top.html +14 -0
  8. data/_includes/nav-local.html +3 -3
  9. data/_includes/scripts/kcc-mega-nav.html +2 -0
  10. data/_includes/scripts/kcc-nav.html +2 -0
  11. data/_includes/svg/kcc.html +62 -0
  12. data/_layouts/default-core.html +28 -0
  13. data/_layouts/default.html +1 -0
  14. data/assets/css/kcc-theme.css +1 -1
  15. data/assets/js/theme/dist/kcc-mega-nav.bundle.js +1 -0
  16. data/assets/js/theme/dist/kcc-nav.bundle.js +1 -0
  17. data/assets/js/theme/dist/kcc-theme-landing.bundle.js +1 -1
  18. data/assets/js/theme/dist/kcc-theme.bundle.js +1 -1
  19. data/assets/js/theme/nav/closeMegaNavOnClick.js +50 -0
  20. data/assets/js/theme/{src/closeMenuOnClick.js → nav/closeNavOnClick.js} +4 -0
  21. data/assets/js/theme/nav/googleCustomSearch.js +112 -0
  22. data/assets/js/theme/{src → nav}/highlightCurrentNav.js +0 -0
  23. data/assets/js/theme/nav/megaNav.js +9 -0
  24. data/assets/js/theme/{src → nav}/moveSearchIcon.js +0 -0
  25. data/assets/js/theme/nav/nav.js +13 -0
  26. data/assets/js/theme/nav/searchToggleMegaNav.js +96 -0
  27. data/assets/js/theme/{src/searchToggle.js → nav/searchToggleNav.js} +2 -2
  28. data/assets/js/theme/nav/toggleMenuOnWindowResize.js +26 -0
  29. data/assets/js/theme/nav/toggleSearchDropdownOnWindowResize.js +57 -0
  30. data/assets/js/theme/src/all.js +5 -15
  31. data/assets/scss/0-tools/_bootstrap-overrides.scss +20 -2
  32. data/assets/scss/0-tools/_gsc-overrides.scss +93 -11
  33. data/assets/scss/0-tools/_vars.scss +1 -0
  34. data/assets/scss/1-base/_header-global.scss +410 -0
  35. data/assets/scss/1-base/_links.scss +15 -0
  36. data/assets/scss/1-base/_typography.scss +75 -3
  37. data/assets/scss/3-layout/_padding.scss +12 -0
  38. data/assets/scss/3-layout/_positioning.scss +22 -6
  39. data/assets/scss/kcc-theme.scss +3 -1
  40. metadata +24 -6
@@ -31,6 +31,7 @@ $accent-blue: #005bac; // Accent blue-color used in all links and link bu
31
31
  $color-blue-light: #ccdde1;
32
32
  $color-tan-light: #fcf1d6;
33
33
  $color-orange: #f99e1b;
34
+ $color-blue-light-nav: #b8babc;
34
35
 
35
36
  $black: #000;
36
37
  $grey-1: #666;
@@ -0,0 +1,410 @@
1
+ // Styles for the global KCC header
2
+ // ================================
3
+
4
+ .header-global {
5
+ padding-left: 0;
6
+ padding-right: 0;
7
+ &__brand {
8
+ position: absolute;
9
+ left: 1rem;
10
+ top: 0;
11
+ }
12
+ &__navbar--padding {
13
+ padding: 0;
14
+ }
15
+ &__nav-top {
16
+ background-color: $primary-blue;
17
+ flex-direction: row;
18
+ padding-left: 1rem;
19
+ padding-right: calc(2.5rem + 20px);
20
+ width: 100%;
21
+ }
22
+ &__nav-bottom {
23
+ background-color: $primary-red;
24
+ flex-direction: row;
25
+ padding-left: 1rem;
26
+ padding-bottom: .3125rem;
27
+ padding-right: 1rem;
28
+ padding-top: .3125rem;
29
+ width: 100%;
30
+ }
31
+ &__nav-local {
32
+ border-bottom-color: $grey-5;
33
+ flex-direction: row;
34
+ border-bottom-style: solid;
35
+ border-bottom-width: 1px;
36
+ padding-bottom: .5rem;
37
+ padding-left: 1rem;
38
+ padding-right: 1rem;
39
+ padding-top: .5rem;
40
+ width: 100%;
41
+ }
42
+ &__navbar--toggler { // Mostly sdtraight from BOOTSTRAP 4 Styling
43
+ border-color: rgba(0,0,0,.1);
44
+ color: rgba(0,0,0,.5);
45
+ position: absolute;
46
+ right: 1rem;
47
+ top: 3.25rem;
48
+ z-index: 1032;
49
+ & .navbar-toggler-icon { // Straight from the BOOTSTRAP 4 Styling
50
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
51
+ }
52
+ }
53
+ &__search-icon,
54
+ &__close-icon {
55
+ background-color: transparent;
56
+ border: 1px solid transparent;
57
+ border-radius: .25rem;
58
+ display: inline-block;
59
+ font-size: 1rem;
60
+ font-weight: 400;
61
+ line-height: 1.5;
62
+ padding: .375rem .75rem;
63
+ position: absolute;
64
+ text-align: center;
65
+ top: .125rem;
66
+ right: .3125rem;
67
+ user-select: none;
68
+ vertical-align: middle;
69
+ transition-property: opacity;
70
+ transition-timing-function: ease-in-out;
71
+ transition-duration: .1s;
72
+ z-index: 1032;
73
+ }
74
+ }
75
+
76
+ @media screen and (min-width: 410px) {
77
+ .header-global__navbar--toggler {
78
+ top: 3.2rem;
79
+ }
80
+ }
81
+
82
+ @media screen and (min-width: 576px) {
83
+ .header-global__navbar--toggler {
84
+ top: 3.25rem;
85
+ }
86
+ }
87
+
88
+ .header-global__search-icon--hidden,
89
+ .header-global__close-icon--hidden {
90
+ opacity: 0;
91
+ pointer-events: none;
92
+ z-index: -1;
93
+ }
94
+
95
+ @media screen and (max-width: 992px) {
96
+ #headerGlobalNavbarContent.collapse.show .header-global__nav-top,
97
+ #headerGlobalNavbarContent.collapsing .header-global__nav-top {
98
+ padding-right: 1rem;
99
+ }
100
+ }
101
+
102
+ @media screen and (max-width: 992px) {
103
+ #headerGlobalNavbarContent.collapse.show .header-global__navbar-nav--divider::after,
104
+ #headerGlobalNavbarContent.collapsing .header-global__navbar-nav--divider::after {
105
+ background-color: $grey-5;
106
+ content: '';
107
+ display: block;
108
+ height: .125rem;
109
+ margin-bottom: 1rem;
110
+ margin-top: .5rem;
111
+ width: 100%;
112
+ }
113
+ #headerGlobalNavbarContent.collapse.show .header-global__navbar-nav--divider:nth-child(2)::after,
114
+ #headerGlobalNavbarContent.collapsing .header-global__navbar-nav--divider:nth-child(2)::after {
115
+ margin-bottom: 0;
116
+ }
117
+ }
118
+
119
+ #headerGlobalNavbar.header-global__navbar--search-toggle {
120
+ top: 3.5rem;
121
+ }
122
+
123
+ @media screen and (min-width: 992px) {
124
+ .navbar-expand-lg .navbar-nav .header-global__nav-local--navbar-brand.nav-link {
125
+ padding-left: 0;
126
+ }
127
+ }
128
+
129
+ @media screen and (min-width: 992px) {
130
+ .header-global__nav-bottom--nav-link {
131
+ padding-top: .75rem;
132
+ padding-bottom: .75rem;
133
+ }
134
+ }
135
+
136
+ @media screen and (min-width: 992px) {
137
+ .header-global__nav-top--nav-link {
138
+ padding-top: .3125rem;
139
+ padding-bottom: .3125rem;
140
+ }
141
+ }
142
+
143
+ @media screen and (min-width: 992px) {
144
+ .navbar-expand-lg .navbar-nav .header-global__nav-top--nav-link {
145
+ padding-left: .9rem;
146
+ padding-right: .9rem;
147
+ }
148
+ }
149
+
150
+ @media screen and (min-width: 992px) {
151
+ a.header-global__nav-top--nav-link {
152
+ position: relative;
153
+ }
154
+ a.header-global__nav-top--nav-link::after,
155
+ a.header-global__nav-top--nav-link::after {
156
+ background-color: $orange-heading;
157
+ bottom: 0;
158
+ content: '';
159
+ display: block;
160
+ height: .125rem;
161
+ opacity: 0;
162
+ position: absolute;
163
+ transition: opacity 0.3s,transform 0.3s;
164
+ width: calc(100% - 1.8rem); // The `- 1.8rem` in `calc (100% - 1.8rem)` offsets the padding-left/right: .9rem on the links
165
+ }
166
+ a.header-global__nav-top--nav-link:hover::after,
167
+ a.header-global__nav-top--nav-link:focus::after {
168
+ opacity: 1;
169
+ transform: translateY(-0.2em);
170
+ }
171
+ }
172
+
173
+ @media screen and (min-width: 992px) {
174
+ .header-global__nav-bottom {
175
+ padding-bottom: 0;
176
+ padding-top: 0;
177
+ }
178
+ }
179
+
180
+ @media screen and (min-width: 992px) {
181
+ .header-global__nav-local {
182
+ padding-bottom: .5rem;
183
+ padding-top: .5rem;
184
+ }
185
+ }
186
+
187
+ .header-global__brand--svg {
188
+ fill: $white;
189
+ height: auto;
190
+ width: 85%;
191
+ }
192
+
193
+ @media screen and (min-width: 360px) {
194
+ .header-global__brand--svg {
195
+ width: 95%;
196
+ }
197
+ }
198
+
199
+ @media screen and (min-width: 400px) {
200
+ .header-global__brand--svg {
201
+ width: 100%;
202
+ }
203
+ }
204
+
205
+ @media screen and (min-width: 992px) {
206
+ .header-global__brand {
207
+ top: 2.5rem;
208
+ }
209
+ }
210
+
211
+ #headerGlobalNavbarContent.collapse.show .typography__nav-heading,
212
+ #headerGlobalNavbarContent.collapsing .typography__nav-heading {
213
+ font-size: 1.5rem;
214
+ }
215
+
216
+ #headerGlobalNavbarContent.collapse.show .navbar-nav,
217
+ #headerGlobalNavbarContent.collapsing .navbar-nav {
218
+ flex-direction: column;
219
+ background-color: $grey-4;
220
+ }
221
+
222
+ #headerGlobalNavbarContent.collapse.show .header-global__nav-top, // BOOTSTRAP 4 Selectors for when the menu is open/opening
223
+ #headerGlobalNavbarContent.collapsing .header-global__nav-top { // This rule-group is to pull the menu down, on mobile/tablet and provide a red background for the KCC text-logo & Search Icon.
224
+ position: relative;
225
+ top: 2.65rem; // Pull the menu down from its normal spot
226
+ margin-bottom: 2.65rem;
227
+ &::before { // Create & position a pseudo-element to make the red background
228
+ background-color: $primary-red;
229
+ content: '';
230
+ display: block;
231
+ height: 2.65rem;
232
+ position: absolute;
233
+ top: -2.65rem;
234
+ left: 0;
235
+ right: 0;
236
+ width: 100%;
237
+ z-index: -1; // This ensures the pseudo-element is behind when it has position: absolute
238
+ }
239
+ }
240
+
241
+ @media screen and (max-width: 992px) {
242
+ #headerGlobalNavbarContent.collapse:not(.show) {
243
+ display: block;
244
+ & .header-global__nav-top {
245
+ display: none;
246
+ position: absolute;
247
+ }
248
+ & .header-global__nav-bottom .nav-link,
249
+ .header-global__nav-local .nav-link:not(.navbar-brand) {
250
+ visibility: hidden;
251
+ }
252
+ }
253
+ }
254
+
255
+ .header-global__nav--search-icon,
256
+ .header-global__nav--close-icon {
257
+ background-size: 20px 20px;
258
+ background-position: center;
259
+ background-repeat: no-repeat;
260
+ display: block;
261
+ height: 20px;
262
+ pointer-events: none;
263
+ width: 20px;
264
+ }
265
+
266
+ .header-global__search-collapse {
267
+ left: .5rem;
268
+ margin-left: auto;
269
+ margin-right: auto;
270
+ position: absolute;
271
+ right: 2rem;
272
+ top: -56px;
273
+ width: 95%;
274
+ }
275
+
276
+ @media screen and (min-width: 360px) {
277
+ .header-global__search-collapse {
278
+ left: .55rem;
279
+ }
280
+ }
281
+
282
+ @media screen and (min-width: 410px) {
283
+ .header-global__search-collapse {
284
+ left: .65rem;
285
+ }
286
+ }
287
+
288
+ @media screen and (min-width: 410px) {
289
+ .header-global__search-collapse {
290
+ left: 1rem;
291
+ }
292
+ }
293
+
294
+ @media screen and (min-width: 768px) {
295
+ .header-global__search-collapse {
296
+ left: 1.25rem;
297
+ }
298
+ }
299
+
300
+ @media screen and (min-width: 992px) {
301
+ .header-global__search-collapse {
302
+ left: 1.5rem;
303
+ }
304
+ }
305
+
306
+ .header-global__search-collapse.header-global__search-collapse--visible {
307
+ top: -46px;
308
+ }
309
+
310
+ @media screen and (min-width: 992px) {
311
+ .header-global__search-collapse.header-global__search-collapse--visible {
312
+ top: -40px;
313
+ }
314
+ }
315
+
316
+ .header-global__navbar--search-toggle {
317
+ top: 50px;
318
+ }
319
+
320
+ .header-global__navbar--search-toggle::before {
321
+ background-color: $primary-red;
322
+ content: '';
323
+ display: block;
324
+ height: 64px;
325
+ position: absolute;
326
+ top: -60px;
327
+ width: 100%;
328
+ }
329
+
330
+ @media screen and (min-width: 992px) {
331
+ .header-global__navbar--search-toggle::before {
332
+ background-color: $primary-blue;
333
+ }
334
+ }
335
+
336
+ .header-global__dropdown.show {
337
+ background-color: $color-blue-light-nav;
338
+ }
339
+
340
+ @keyframes meganav {
341
+ 0% {
342
+ opacity: 0;
343
+ }
344
+ 100% {
345
+ opacity: 1;
346
+ }
347
+ }
348
+
349
+ @media screen and (min-width: 992px) {
350
+ .header-global__nav-bottom .dropdown:hover .dropdown-menu,
351
+ .header-global__nav-bottom .dropdown .dropdown-menu:hover {
352
+ animation-duration: .5s;
353
+ animation-name: meganav;
354
+ display: block !important; // Because Bootstrap loves to use !important
355
+ }
356
+ }
357
+
358
+ @media screen and (min-width: 992px) {
359
+ .header-global__nav-bottom .dropdown-item {
360
+ color: $grey-1;
361
+ }
362
+ }
363
+
364
+ @media screen and (min-width: 992px) {
365
+ .header-global__nav-bottom .dropdown:hover {
366
+ background-color: $color-blue-light-nav;
367
+ }
368
+ }
369
+
370
+ @media screen and (min-width: 992px) {
371
+ .nav-item.dropdown.header-global__dropdown--position { // First 2 classes in this selector are to override BS4 styling
372
+ position: static; // Needed to allow repositioning of the open dropdown menu
373
+ }
374
+ }
375
+
376
+ @media screen and (min-width: 992px) {
377
+ .header-global__dropdown-menu--full-width {
378
+ left: .75rem;
379
+ right: .75rem;
380
+ top: 5.325rem;
381
+ }
382
+ }
383
+
384
+ @media screen and (min-width: 1300px) {
385
+ .header-global__dropdown-menu--full-width {
386
+ left: 1rem;
387
+ right: 1rem;
388
+ }
389
+ }
390
+
391
+ @media screen and (min-width: 992px) {
392
+ .header-global__drodpown-menu--img {
393
+ width: 280px;
394
+ &--border {
395
+ border: thin solid $grey-8;
396
+ }
397
+ }
398
+ }
399
+
400
+ @media screen and (max-width: 992px) {
401
+ .header-global__core::after { // This provides the light-gray background for the navbar in mobile on core sites only
402
+ content: '';
403
+ display: block;
404
+ height: 60px;
405
+ background-color: $grey-4; // Same light-gray as in Bootstrap
406
+ border-bottom-color: $grey-5; // Same border-bottom as in Bootstrap
407
+ border-bottom-style: solid;
408
+ border-bottom-width: 1px;
409
+ }
410
+ }
@@ -103,3 +103,18 @@
103
103
  text-decoration: none;
104
104
  }
105
105
  }
106
+
107
+ @media screen and (min-width: 992px) {
108
+ .links__header-global--nav-local {
109
+ position: relative;
110
+ }
111
+ .active .links__header-global--nav-local::after {
112
+ background-color: $primary-red;
113
+ bottom: .125rem;
114
+ content: '';
115
+ display: block;
116
+ height: .145rem;
117
+ position: absolute;
118
+ width: calc(100% - 1rem);
119
+ }
120
+ }
@@ -25,7 +25,7 @@ body {
25
25
  color: $primary-red;
26
26
  }
27
27
  &--smaller {
28
- font-size: 1.2rem;
28
+ font-size: 1.25rem;
29
29
  }
30
30
  }
31
31
 
@@ -33,14 +33,14 @@ body {
33
33
  .typography__nav-heading {
34
34
  font-size: 1.8rem;
35
35
  &--smaller {
36
- font-size: 1.35rem;
36
+ font-size: 1.5rem;
37
37
  }
38
38
  }
39
39
  }
40
40
 
41
41
  @media screen and (min-width:410px) {
42
42
  .typography__nav-heading {
43
- font-size: 1.5rem;
43
+ font-size: 2rem;
44
44
  }
45
45
  }
46
46
 
@@ -139,12 +139,78 @@ body {
139
139
  font-weight: $font-weight-boldish;
140
140
  }
141
141
 
142
+ .typography__header-global--nav-top,
143
+ .typography__header-global--nav-bottom,
144
+ .typography__header-global--nav-local {
145
+ color: $primary-blue;
146
+ font-family: $font-family-oswald;
147
+ font-size: 1rem;
148
+ font-weight: 500;
149
+ letter-spacing: 0.05rem;
150
+ padding-bottom: .25rem;
151
+ padding-top: .25rem;
152
+ text-transform: capitalize;
153
+ }
154
+
155
+ @media screen and (min-width: 992px) {
156
+ .typography__header-global--nav-top {
157
+ color: $color-blue-light-nav;
158
+ font-size: 1.1rem;
159
+ &:hover,
160
+ &:focus {
161
+ color: $color-blue-light-nav;
162
+ }
163
+ }
164
+ }
165
+
166
+ @media screen and (min-width: 992px) {
167
+ .typography__header-global--nav-bottom {
168
+ color: $white;
169
+ font-size: 1.05rem;
170
+ font-weight: 400;
171
+ }
172
+ }
173
+
174
+ @media screen and (min-width: 992px) {
175
+ .typography__header-global--nav-bottom:hover,
176
+ .typography__header-global--nav-bottom:focus,
177
+ .header-global__dropdown:hover .typography__header-global--nav-bottom,
178
+ .header-global__dropdown:focus .typography__header-global--nav-bottom {
179
+ color: $primary-blue;
180
+ }
181
+ }
182
+
183
+ @media screen and (min-width: 992px) {
184
+ .typography__header-global--nav-local {
185
+ font-size: 1rem;
186
+ font-weight: 400;
187
+ }
188
+ & .nav-link {
189
+ margin-left: 5px;
190
+ margin-right: 5px;
191
+ }
192
+ }
193
+
142
194
  .typography__nav-link {
195
+ color: $white;
143
196
  font-family: $font-family-oswald;
197
+ font-size: 1.05rem;
198
+ font-weight: 400;
199
+ letter-spacing: 0.05rem;
200
+ text-transform: capitalize;
201
+ }
202
+
203
+ .typography__nav-local--nav-link {
204
+ font-family: $font-family-oswald;
205
+ font-size: 1rem;
144
206
  font-weight: 500;
145
207
  text-transform: uppercase;
146
208
  }
147
209
 
210
+ .typography__nav-local--color {
211
+ color: $primary-blue;
212
+ }
213
+
148
214
  // "The POWER of Community" text
149
215
  .typography__power-text {
150
216
  color: $white;
@@ -548,3 +614,9 @@ h1 sup, h2 sup, h3 sup, h4 sup, h5 sup, h6 sup { // Make superscripts within hea
548
614
  margin-top: -15px;
549
615
  }
550
616
  }
617
+
618
+ @media screen and (max-width: 992px) {
619
+ .typography__nowrap--sm {
620
+ white-space: nowrap;
621
+ }
622
+ }