@qld-gov-au/qgds-bootstrap5 1.1.40 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (184) hide show
  1. package/.eslintrc.cjs +27 -27
  2. package/.vscode/settings.json +5 -5
  3. package/dist/assets/components/bs5/button/button.hbs +48 -30
  4. package/dist/assets/components/bs5/card/card.hbs +3 -17
  5. package/dist/assets/components/bs5/containerLayout/containerLayout.hbs +100 -0
  6. package/dist/assets/components/bs5/footer/customLinks.hbs +7 -0
  7. package/dist/assets/components/bs5/footer/feedbackForm.hbs +25 -0
  8. package/dist/assets/components/bs5/footer/followLinks.hbs +14 -0
  9. package/dist/assets/components/bs5/footer/footer.hbs +229 -346
  10. package/dist/assets/components/bs5/formcheck/formcheck.hbs +1 -1
  11. package/dist/assets/components/bs5/head/head.hbs +4 -4
  12. package/dist/assets/components/bs5/header/header.hbs +124 -878
  13. package/dist/assets/components/bs5/header/headerBrand.hbs +35 -0
  14. package/dist/assets/components/bs5/link/link.hbs +41 -0
  15. package/dist/assets/components/bs5/logo/logoCOALandscape.hbs +110 -55
  16. package/dist/assets/components/bs5/logo/logoCOALandscape2Lines.hbs +2 -1
  17. package/dist/assets/components/bs5/navbar/navbar.hbs +65 -245
  18. package/dist/assets/components/bs5/pageLayout/templates/contentPageWithForm.hbs +53 -22
  19. package/dist/assets/components/bs5/pageLayout/templates/contentPageWithSideNavigation.hbs +79 -59
  20. package/dist/assets/components/bs5/pageLayout/templates/homePage.hbs +111 -0
  21. package/dist/assets/components/bs5/searchInput/searchInput.hbs +9 -11
  22. package/dist/assets/css/qld.bootstrap.css +1 -1
  23. package/dist/assets/css/qld.bootstrap.css.map +3 -3
  24. package/dist/assets/js/bootstrap.bundle.js +3 -6
  25. package/dist/assets/js/bootstrap.bundle.js.map +1 -1
  26. package/dist/assets/js/bootstrap.bundle.min.js +2 -2
  27. package/dist/assets/js/bootstrap.bundle.min.js.map +1 -1
  28. package/dist/assets/js/bootstrap.js +3 -6
  29. package/dist/assets/js/bootstrap.min.js +2 -2
  30. package/dist/assets/js/bootstrap.min.js.map +1 -1
  31. package/dist/assets/js/handlebars.helpers.bundle.js.map +2 -2
  32. package/dist/assets/js/handlebars.helpers.js +34 -34
  33. package/dist/assets/js/handlebars.init.min.js +1055 -2041
  34. package/dist/assets/js/handlebars.init.min.js.map +4 -4
  35. package/dist/assets/js/handlebars.partials.js +14 -6
  36. package/dist/assets/js/qld.bootstrap.min.js +9 -9
  37. package/dist/assets/js/qld.bootstrap.min.js.map +4 -4
  38. package/dist/assets/node/handlebars.init.min.js +538 -108
  39. package/dist/assets/node/handlebars.init.min.js.map +3 -3
  40. package/dist/components/bs5/button/button.hbs +48 -30
  41. package/dist/components/bs5/card/card.hbs +3 -17
  42. package/dist/components/bs5/containerLayout/containerLayout.hbs +100 -0
  43. package/dist/components/bs5/footer/customLinks.hbs +7 -0
  44. package/dist/components/bs5/footer/feedbackForm.hbs +25 -0
  45. package/dist/components/bs5/footer/followLinks.hbs +14 -0
  46. package/dist/components/bs5/footer/footer.hbs +229 -346
  47. package/dist/components/bs5/formcheck/formcheck.hbs +1 -1
  48. package/dist/components/bs5/head/head.hbs +4 -4
  49. package/dist/components/bs5/header/header.hbs +124 -878
  50. package/dist/components/bs5/header/headerBrand.hbs +35 -0
  51. package/dist/components/bs5/link/link.hbs +41 -0
  52. package/dist/components/bs5/logo/logoCOALandscape.hbs +110 -55
  53. package/dist/components/bs5/logo/logoCOALandscape2Lines.hbs +2 -1
  54. package/dist/components/bs5/navbar/navbar.hbs +65 -245
  55. package/dist/components/bs5/pageLayout/templates/contentPageWithForm.hbs +53 -22
  56. package/dist/components/bs5/pageLayout/templates/contentPageWithSideNavigation.hbs +79 -59
  57. package/dist/components/bs5/pageLayout/templates/homePage.hbs +111 -0
  58. package/dist/components/bs5/searchInput/searchInput.hbs +9 -11
  59. package/dist/components/handlebars.helpers.js +34 -34
  60. package/dist/components/handlebars.partials.js +14 -6
  61. package/dist/package.json +2 -2
  62. package/dist/sample-data/button/button.data.json +10 -8
  63. package/dist/sample-data/footer/footer.data.json +128 -84
  64. package/dist/sample-data/formcheck/stories/checkbox/checkbox.data.json +51 -46
  65. package/dist/sample-data/formcheck/stories/radio/radio.data.json +51 -46
  66. package/dist/sample-data/header/header.variant.coBrand.data.json +28 -40
  67. package/dist/sample-data/header/header.variant.endorsed.data.json +116 -150
  68. package/dist/sample-data/header/header.variant.masterBrand.data.json +116 -152
  69. package/dist/sample-data/header/header.variant.standAlone.data.json +118 -150
  70. package/dist/sample-data/header/header.variant.subBrand.data.json +32 -159
  71. package/dist/sample-data/inpageAlert/inpageAlert.data.json +6 -6
  72. package/dist/sample-data/link/link.data.json +77 -0
  73. package/dist/sample-data/logo/logo.data.json +1 -0
  74. package/dist/sample-data/navbar/navbar.data.json +191 -0
  75. package/dist/sample-data/searchInput/searchInput.data.json +2 -3
  76. package/dist/sample-data/tabs/tabs.data.json +45 -44
  77. package/package.json +2 -2
  78. package/src/components/bs5/accordion/Accordion.mdx +8 -2
  79. package/src/components/bs5/banner/Banner.mdx +6 -1
  80. package/src/components/bs5/banner/banner.scss +16 -9
  81. package/src/components/bs5/banner/banner.stories.js +17 -17
  82. package/src/components/bs5/breadcrumbs/Breadcrumbs.mdx +8 -2
  83. package/src/components/bs5/breadcrumbs/breadcrumbs.functions.js +2 -0
  84. package/src/components/bs5/breadcrumbs/breadcrumbs.scss +1 -1
  85. package/src/components/bs5/button/button.data.json +10 -8
  86. package/src/components/bs5/button/button.hbs +48 -30
  87. package/src/components/bs5/button/button.scss +61 -0
  88. package/src/components/bs5/button/button.stories.js +29 -10
  89. package/src/components/bs5/callToAction/callToAction.mdx +8 -3
  90. package/src/components/bs5/card/Card.mdx +8 -2
  91. package/src/components/bs5/card/card.hbs +3 -17
  92. package/src/components/bs5/card/card.scss +103 -103
  93. package/src/components/bs5/containerLayout/containerLayout.hbs +100 -0
  94. package/src/components/bs5/containerLayout/containerLayout.stories.js +83 -0
  95. package/src/components/bs5/footer/Footer.js +3 -3
  96. package/src/components/bs5/footer/Footer.mdx +8 -2
  97. package/src/components/bs5/footer/customLinks.hbs +7 -0
  98. package/src/components/bs5/footer/feedbackForm.hbs +25 -0
  99. package/src/components/bs5/footer/followLinks.hbs +14 -0
  100. package/src/components/bs5/footer/footer.data.json +128 -84
  101. package/src/components/bs5/footer/footer.functions.js +2 -1
  102. package/src/components/bs5/footer/footer.hbs +229 -346
  103. package/src/components/bs5/footer/footer.scss +262 -272
  104. package/src/components/bs5/footer/footer.stories.js +4 -92
  105. package/src/components/bs5/footer/footer_formio.scss +219 -0
  106. package/src/components/bs5/formcheck/formcheck.hbs +1 -1
  107. package/src/components/bs5/formcheck/formcheck.scss +161 -139
  108. package/src/components/bs5/formcheck/stories/checkbox/checkbox.data.json +51 -46
  109. package/src/components/bs5/formcheck/stories/radio/radio.data.json +51 -46
  110. package/src/components/bs5/globalAlert/GlobalAlert.mdx +8 -2
  111. package/src/components/bs5/globalAlert/globalAlert.test.js +3 -11
  112. package/src/components/bs5/header/_header-variables.scss +272 -0
  113. package/src/components/bs5/header/header.functions.js +9 -9
  114. package/src/components/bs5/header/header.hbs +124 -878
  115. package/src/components/bs5/header/header.scss +279 -411
  116. package/src/components/bs5/header/header.stories.js +8 -28
  117. package/src/components/bs5/header/header.variant.coBrand.data.json +28 -40
  118. package/src/components/bs5/header/header.variant.endorsed.data.json +116 -150
  119. package/src/components/bs5/header/header.variant.masterBrand.data.json +116 -152
  120. package/src/components/bs5/header/header.variant.standAlone.data.json +118 -150
  121. package/src/components/bs5/header/header.variant.subBrand.data.json +32 -159
  122. package/src/components/bs5/header/headerBrand.hbs +35 -0
  123. package/src/components/bs5/icons/icons.scss +79 -72
  124. package/src/components/bs5/inpageAlert/InpageAlert.mdx +8 -2
  125. package/src/components/bs5/inpageAlert/inpageAlert.data.json +6 -6
  126. package/src/components/bs5/inpagenav/inpagenav.scss +37 -37
  127. package/src/components/bs5/link/link.data.json +77 -0
  128. package/src/components/bs5/link/link.hbs +41 -0
  129. package/src/components/bs5/{pageLayout/pageLayout.js → link/link.js} +4 -5
  130. package/src/components/bs5/link/link.mdx +16 -0
  131. package/src/components/bs5/link/link.scss +81 -0
  132. package/src/components/bs5/link/link.stories.js +126 -0
  133. package/src/components/bs5/linkColumns/linkColumns.mdx +8 -3
  134. package/src/components/bs5/logo/logo.data.json +1 -0
  135. package/src/components/bs5/logo/logoCOALandscape.hbs +110 -55
  136. package/src/components/bs5/logo/logoCOALandscape2Lines.hbs +2 -1
  137. package/src/components/bs5/navbar/Navbar.js +2 -9
  138. package/src/components/bs5/navbar/navbar.data.json +191 -0
  139. package/src/components/bs5/navbar/navbar.functions.js +48 -196
  140. package/src/components/bs5/navbar/navbar.hbs +65 -245
  141. package/src/components/bs5/navbar/navbar.scss +684 -562
  142. package/src/components/bs5/navbar/navbar.stories.js +533 -0
  143. package/src/components/bs5/pageLayout/{FullWidthLandingPage.js → HomePage.js} +2 -2
  144. package/src/components/bs5/pageLayout/pageLayout.stories.js +242 -98
  145. package/src/components/bs5/pageLayout/templates/contentPageWithForm.hbs +53 -22
  146. package/src/components/bs5/pageLayout/templates/contentPageWithSideNavigation.hbs +79 -59
  147. package/src/components/bs5/pageLayout/templates/homePage.hbs +111 -0
  148. package/src/components/bs5/promotionalPanel/PromotionalPanel.mdx +8 -3
  149. package/src/components/bs5/searchInput/__snapshots__/searchInput.test.js.snap +10 -9
  150. package/src/components/bs5/searchInput/search.functions.js +94 -63
  151. package/src/components/bs5/searchInput/searchInput.data.json +2 -3
  152. package/src/components/bs5/searchInput/searchInput.hbs +9 -11
  153. package/src/components/bs5/searchInput/searchInput.scss +297 -255
  154. package/src/components/bs5/searchInput/searchInput.test.js +98 -90
  155. package/src/components/bs5/tabs/tabs.data.json +45 -44
  156. package/src/components/bs5/tabs/tabs.scss +544 -500
  157. package/src/components/bs5/tabs/tabs.stories.js +81 -51
  158. package/src/components/common/layout/container.scss +22 -0
  159. package/src/components/common/layout/content.scss +11 -4
  160. package/src/components/common/layout/grid.scss +26 -0
  161. package/src/css/main.scss +7 -2
  162. package/src/css/mixins/_index.scss +2 -1
  163. package/src/css/mixins/register-vars.scss +23 -0
  164. package/src/css/qld-variables.scss +106 -83
  165. package/src/css/utilities/_index.scss +1 -0
  166. package/src/css/utilities/responsive-visually-hidden.scss +10 -0
  167. package/src/js/handlebars.helpers.js +34 -34
  168. package/src/js/handlebars.partials.js +14 -6
  169. package/src/js/qld.bootstrap.js +10 -11
  170. package/dist/assets/components/bs5/footer/footerForgov.hbs +0 -279
  171. package/dist/assets/components/bs5/pageLayout/pageLayout.hbs +0 -34
  172. package/dist/assets/components/bs5/pageLayout/templates/fullWidthLandingPage.hbs +0 -61
  173. package/dist/components/bs5/footer/footerForgov.hbs +0 -279
  174. package/dist/components/bs5/pageLayout/pageLayout.hbs +0 -34
  175. package/dist/components/bs5/pageLayout/templates/fullWidthLandingPage.hbs +0 -61
  176. package/src/components/bs5/footer/_colours.scss +0 -149
  177. package/src/components/bs5/footer/_measurements.scss +0 -32
  178. package/src/components/bs5/footer/footerForgov.hbs +0 -279
  179. package/src/components/bs5/header/_colours.scss +0 -271
  180. package/src/components/bs5/header/_icons.scss +0 -10
  181. package/src/components/bs5/navbar/_colours.scss +0 -85
  182. package/src/components/bs5/navbar/_icons.scss +0 -64
  183. package/src/components/bs5/pageLayout/pageLayout.hbs +0 -34
  184. package/src/components/bs5/pageLayout/templates/fullWidthLandingPage.hbs +0 -61
@@ -1,14 +1,132 @@
1
1
  // ----------------------------------------------------------------------------------------------------------------------
2
2
  // Footer Area
3
-
4
- @import "./colours";
5
- @import "./measurements";
6
- @import "./footer_formio";
3
+ // ----------------------------------------------------------------------------------------------------------------------
7
4
 
8
5
  .qld-footer {
9
- padding-block: var(--#{$prefix}footer-padding-y);
6
+ // ------------------------------------------------------------------------------------------------------------------
7
+ // 1. Palette colours
8
+ // ------------------------------------------------------------------------------------------------------------------
9
+ // Default palette
10
+ --#{$prefix}footer-color-crest-fill: var(
11
+ --#{$prefix}color-default-color-light-crest-fill
12
+ );
13
+ --#{$prefix}footer-color-border: var(
14
+ --#{$prefix}color-default-color-light-border-default
15
+ );
16
+ --#{$prefix}footer-color-border-alt: var(
17
+ --#{$prefix}color-default-color-light-border-alt
18
+ );
19
+ --#{$prefix}footer-color-title: var(--#{$prefix}light-text-heading);
20
+ --#{$prefix}footer-color-designAccent: var(
21
+ --#{$prefix}color-default-color-light-accent-design-accent
22
+ );
23
+ --#{$prefix}footer-color-text: var(
24
+ --#{$prefix}color-default-color-light-text-default
25
+ );
26
+ --#{$prefix}footer-color-text__muted: var(
27
+ --#{$prefix}color-default-color-light-text-lighter
28
+ );
29
+ --#{$prefix}footer-color-link: var(
30
+ --#{$prefix}color-default-color-light-link-default
31
+ );
32
+ --#{$prefix}footer-color-focus: var(
33
+ --#{$prefix}color-default-color-light-focus-default
34
+ );
35
+ --#{$prefix}footer-color-background: var(
36
+ --#{$prefix}color-default-color-light-background-default
37
+ );
38
+ --#{$prefix}footer-color-alt-button: var(
39
+ --#{$prefix}core-default-color-brand-secondary-darkgreen
40
+ );
41
+ --#{$prefix}footer-color-alt-button__hover: var(
42
+ --#{$prefix}core-default-color-brand-primary-light-green
43
+ );
44
+
45
+ // ------------------------------------------------------------------------------------------------------------------
46
+ // 2. Colours
47
+ // ------------------------------------------------------------------------------------------------------------------
48
+ --#{$prefix}footer-column-border-color: var(--#{$prefix}footer-color-border);
49
+ @include media-breakpoint-down(lg) {
50
+ --#{$prefix}footer-column-border-color: transparent;
51
+ }
52
+
53
+ // ------------------------------------------------------------------------------------------------------------------
54
+ // Dark palette & Forgov
55
+ // ------------------------------------------------------------------------------------------------------------------
56
+ &.dark,
57
+ &.dark-alt {
58
+ --#{$prefix}footer-color-crest-fill: var(
59
+ --#{$prefix}color-default-color-dark-crest-fill
60
+ );
61
+ --#{$prefix}footer-color-text: var(
62
+ --#{$prefix}color-default-color-dark-text-default
63
+ );
64
+ --#{$prefix}footer-color-border: var(
65
+ --#{$prefix}color-default-color-dark-border-default
66
+ );
67
+ --#{$prefix}footer-color-border-alt: var(
68
+ --#{$prefix}color-default-color-dark-border-alt
69
+ );
70
+ --#{$prefix}footer-color-title: var(
71
+ --#{$prefix}color-default-color-dark-text-heading
72
+ );
73
+ --#{$prefix}footer-color-designAccent: var(
74
+ --#{$prefix}color-default-color-dark-accent-design-accent
75
+ );
76
+ --#{$prefix}footer-color-alt-button: var(
77
+ --#{$prefix}color-default-color-dark-action-secondary
78
+ );
79
+ --#{$prefix}footer-color-alt-button__hover: var(
80
+ --#{$prefix}color-default-color-dark-action-secondary-hover
81
+ );
82
+ --#{$prefix}footer-color-link: var(
83
+ --#{$prefix}color-default-color-dark-link-default
84
+ );
85
+ --#{$prefix}footer-color-focus: var(
86
+ --#{$prefix}color-default-color-dark-underline-default
87
+ );
88
+ }
89
+ &.dark-alt {
90
+ --#{$prefix}footer-color-background: var(
91
+ --#{$prefix}color-default-color-dark-background-alt
92
+ );
93
+ --#{$prefix}footer-color-background: var(
94
+ --#{$prefix}color-default-color-dark-background-alt
95
+ );
96
+ }
97
+ &.dark {
98
+ --#{$prefix}footer-color-background: var(
99
+ --#{$prefix}color-default-color-dark-background-default
100
+ );
101
+ --#{$prefix}footer-color-background: var(
102
+ --#{$prefix}color-default-color-dark-background-default
103
+ );
104
+ }
105
+
106
+ // Measurements
107
+ // -text
108
+ --#{$prefix}footer-font-size: 0.875rem;
109
+ --#{$prefix}footer-title-font-size: 1.25rem;
110
+
111
+ // -spacing
112
+ --#{$prefix}footer-gap: 0.75rem;
113
+ --#{$prefix}footer-column-spacing: 2rem;
114
+ --#{$prefix}footer-spacing: 1rem;
115
+ --#{$prefix}footer-padding-y: 4rem;
116
+
117
+ // -boarders
118
+ --#{$prefix}footer-top-border-width: 0.25rem;
119
+ --#{$prefix}footer-special-border-default-width: 0.13rem;
120
+ --#{$prefix}footer-special-border-thin-width: 0.06rem;
121
+
122
+ // Icons and Crest
123
+ --#{$prefix}footer-crest-max-width: 15.72rem;
124
+
125
+ @include media-breakpoint-up(lg) {
126
+ padding-block: var(--#{$prefix}footer-padding-y);
127
+ }
10
128
  border-top: solid;
11
- border-top-width: calc(var(--#{$prefix}footer-special-border-width) + 1px);
129
+ border-top-width: var(--#{$prefix}footer-top-border-width);
12
130
  border-top-color: var(--#{$prefix}footer-color-designAccent);
13
131
  background: var(--#{$prefix}footer-color-background);
14
132
  color: var(--#{$prefix}footer-color-text);
@@ -16,11 +134,14 @@
16
134
 
17
135
  a:not(.btn),
18
136
  a.nav-link {
19
- --qld-link-color-rgb: var(--#{$prefix}footer-color-link);
137
+ --qld-link-color: var(--#{$prefix}footer-color-link);
20
138
  text-decoration: underline;
21
139
  text-decoration-color: var(--#{$prefix}footer-color-link);
22
140
  text-decoration-thickness: var(--#{$prefix}link-underline-thickness);
23
- text-underline-offset: var(--#{$prefix}link-underline-offset);
141
+ text-underline-offset: auto;
142
+ text-underline-position: from-font;
143
+ color: var(--qld-link-color);
144
+ padding-left: 0;
24
145
 
25
146
  &:hover {
26
147
  text-decoration-thickness: var(
@@ -36,88 +157,88 @@
36
157
  }
37
158
  }
38
159
 
39
- .footer-site-name {
40
- font-size: var(--#{$prefix}footer-title-font-size);
41
- line-height: 1.5;
42
- font-weight: 600;
43
- margin-block-end: calc(var(--#{$prefix}footer-spacing) * 2);
44
- display: block;
45
- color: var(--#{$prefix}footer-color-title);
46
- }
47
-
48
160
  .footer-column {
49
161
  position: relative;
50
- margin-block-end: var(--#{$prefix}footer-spacing);
51
- margin-inline-end: 0;
52
- }
53
162
 
54
- @include media-breakpoint-down(lg) {
55
- .footer-column {
56
- margin-block-start: calc(var(--#{$prefix}footer-spacing) * 2);
163
+ // Medium and below
164
+ padding-block-start: 1.5rem;
165
+ padding-block-end: 1.5rem;
166
+
167
+ border-top: var(--#{$prefix}footer-special-border-thin-width) solid
168
+ var(--#{$prefix}footer-color-border);
169
+
170
+ // Large and above
171
+ @include media-breakpoint-up(lg) {
172
+ padding-block-start: 0;
173
+ padding-block-end: 0;
174
+
175
+ border-top: none;
57
176
  }
58
177
  }
59
178
 
60
179
  .border-column {
61
- height: 100%;
180
+ // height: 100%;
62
181
  position: relative;
63
182
 
64
- &:before {
183
+ &:after {
65
184
  position: absolute;
66
185
  content: "";
67
- width: calc(var(--#{$prefix}footer-special-border-width) - 1px);
186
+ width: var(--#{$prefix}footer-special-border-default-width);
68
187
  background: var(--#{$prefix}footer-column-border-color);
69
188
  top: 0;
70
189
  bottom: 0;
71
- inset-inline-start: calc(var(--#{$prefix}footer-spacing) * -2);
190
+ right: calc(var(--qld-gutter-x) * 0.5);
72
191
  }
73
192
  }
74
193
 
75
- .footer-heading {
76
- color: var(--#{$prefix}footer-color-title);
77
- font-size: var(--#{$prefix}footer-title-font-size);
78
- margin-block-end: var(--#{$prefix}footer-spacing);
79
- line-height: 1.5;
80
- font-weight: 600;
194
+ .footer {
195
+ &-site-name,
196
+ &-heading {
197
+ color: var(--#{$prefix}footer-color-title);
198
+ font-size: var(--#{$prefix}footer-title-font-size);
199
+ line-height: 1.2;
200
+ font-weight: 600;
201
+ }
202
+ &-site-name {
203
+ margin-block-end: calc(var(--#{$prefix}footer-spacing) * 2);
204
+ }
205
+ &-heading {
206
+ margin-block-end: var(--#{$prefix}footer-spacing);
207
+ }
81
208
  }
82
209
 
83
210
  .footer-contact-item {
211
+ margin-block-end: 0.75rem;
84
212
  display: flex;
85
213
  align-items: center;
86
- margin-block-end: calc(var(--#{$prefix}footer-spacing) * 1.25);
214
+ gap: 0.5rem;
215
+
216
+ &:last-child {
217
+ margin-block-end: 0;
218
+ }
87
219
 
88
220
  .qld-icon {
89
221
  --#{$prefix}icon-color: var(--#{$prefix}brand-accent);
222
+ --qld-brand-accent: var(--#{$prefix}footer-color-alt-button);
90
223
  display: block;
91
- width: var(--#{$prefix}footer-social-icon-size-width);
92
- min-width: var(--#{$prefix}footer-social-icon-size-width);
93
- margin-inline-end: calc(var(--#{$prefix}footer-spacing) * 0.5);
94
224
  background-color: var(--#{$prefix}icon-color);
95
- --qld-brand-accent: var(--#{$prefix}footer-color-alt-button);
96
225
 
97
226
  &:hover {
98
227
  --qld-brand-accent: var(--#{$prefix}footer-color-alt-button__hover);
99
228
  }
100
229
  }
101
-
102
- b {
103
- margin-inline-end: calc(var(--#{$prefix}footer-spacing) * 0.5);
104
- }
105
230
  }
106
231
 
232
+ //Crest Logo
107
233
  .footer-crest {
108
234
  display: block;
109
235
  width: 100%;
110
- max-width: var(--#{$prefix}footer-crest-max-width);
111
- margin-block-start: var(--#{$prefix}footer-spacing);
112
- margin-block-end: var(--#{$prefix}footer-spacing);
113
-
114
- @include media-breakpoint-up(md) {
115
- margin-block-start: calc(var(--#{$prefix}footer-spacing) * 1.5);
116
- margin-block-end: calc(var(--#{$prefix}footer-spacing) * 1.5);
117
- }
236
+ max-width: 14.5rem;
237
+ margin-block-start: calc(var(--#{$prefix}footer-spacing) * 1.5);
238
+ margin-block-end: calc(var(--#{$prefix}footer-spacing) * 1.5);
118
239
 
119
- svg {
120
- width: 100%;
240
+ @include media-breakpoint-up(lg) {
241
+ max-width: var(--#{$prefix}footer-crest-max-width);
121
242
  }
122
243
  }
123
244
 
@@ -125,37 +246,67 @@
125
246
  --#{$prefix}nav-link-color: var(--#{$prefix}footer-color-link);
126
247
 
127
248
  &.footer-link-list {
128
- a.nav-link {
129
- font-weight: 400;
130
- margin-block-end: calc(var(--#{$prefix}footer-spacing) * 0.7);
131
- padding: 0;
249
+ display: grid;
250
+ gap: 0.75rem;
132
251
 
133
- &:first-child {
134
- margin-block-start: calc(var(--#{$prefix}footer-spacing) * 0.5);
252
+ // Social media / follow us links
253
+ &--social {
254
+ display: flex;
255
+ flex-direction: row;
256
+ gap: 1rem;
257
+ margin-inline-start: 1rem;
258
+
259
+ @include media-breakpoint-up(lg) {
260
+ margin-inline-start: 0;
261
+ flex-direction: column;
262
+ gap: 0.75rem;
135
263
  }
136
264
 
137
- &:focus-visible {
138
- box-shadow: 0 0 0 3px var(--#{$prefix}footer-color-border);
265
+ li {
266
+ white-space: nowrap;
139
267
  }
140
268
 
141
- span {
142
- display: block;
269
+ a.nav-link {
270
+ display: flex;
271
+ padding-inline: 0 !important;
272
+ margin-block-end: 0 !important;
273
+
274
+ .nav-link-label {
275
+ display: none;
276
+
277
+ @include media-breakpoint-up(lg) {
278
+ display: block;
279
+ }
280
+ }
281
+
282
+ .qld-icon {
283
+ // max-height: unset;
284
+ margin-block-end: 0;
285
+
286
+ @include media-breakpoint-up(lg) {
287
+ margin-inline-end: 1rem;
288
+ max-height: var(--#{$prefix}footer-social-icon-size-height);
289
+ }
290
+ }
291
+
292
+ &:hover {
293
+ --component-icon-color: var(--#{$prefix}footer-color-crest-fill);
294
+ }
143
295
  }
144
296
  }
145
297
 
146
- &--social .nav-link {
147
- display: flex;
148
- margin-block-end: calc(var(--#{$prefix}footer-spacing) * 1.2);
298
+ a.nav-link {
299
+ font-weight: 400;
300
+ line-height: 1.25rem;
301
+ padding-block-start: 0;
302
+ padding-block-end: 0;
149
303
 
150
- svg {
151
- fill: var(--#{$prefix}footer-color-crest-fill);
152
- width: var(--#{$prefix}footer-social-icon-size-width);
153
- max-height: var(--#{$prefix}footer-social-icon-size-height);
154
- margin-inline-end: calc(var(--#{$prefix}footer-spacing) * 0.75);
304
+ &:focus-visible {
305
+ box-shadow: 0 0 0 3px var(--#{$prefix}footer-color-border);
155
306
  }
156
307
 
157
- &:hover {
158
- --component-icon-color: var(--#{$prefix}footer-color-crest-fill);
308
+ span {
309
+ display: block;
159
310
  }
160
311
  }
161
312
  }
@@ -177,251 +328,90 @@
177
328
  }
178
329
  }
179
330
 
180
- .footer-contact {
331
+ .contact-btn {
332
+ align-items: flex-start;
333
+ justify-content: flex-end;
334
+
181
335
  .btn {
182
- min-width: 200px;
183
- margin-block-start: var(--#{$prefix}footer-spacing);
336
+ min-width: 10rem;
337
+ width: fit-content;
184
338
  }
185
339
  }
186
340
 
187
- .container > .row > div {
188
- padding-inline: var(--#{$prefix}footer-column-spacing);
189
- }
190
-
191
341
  .btn-global-secondary {
192
342
  white-space: normal;
193
343
  }
194
344
 
345
+ // ------------------------------------------------------------------------------------------------------------------
346
+ // Responsive
195
347
  @include media-breakpoint-down(lg) {
196
- --#{$prefix}last-para-margin: 24px;
197
- --qld-footer-padding-y: 0;
198
-
199
348
  padding-top: calc(var(--#{$prefix}footer-gap) * 2);
200
349
 
201
350
  .footer-site-name {
202
351
  margin-block-end: calc(var(--#{$prefix}footer-gap) * 2);
203
352
  }
204
353
 
354
+ .border-column {
355
+ &:after {
356
+ content: none;
357
+ }
358
+ }
359
+
205
360
  .container {
206
361
  > .row {
207
- margin-inline: calc(var(--#{$prefix}footer-gap) * -1);
208
- --qld-gutter-x: calc(var(--#{$prefix}footer-spacing) * 2);
209
-
210
- & > * {
211
- padding-inline: 0;
212
- }
213
-
214
- > .col-md-12 {
215
- --qld-gutter-x: calc(var(--#{$prefix}footer-spacing) * 2);
216
- border-top: calc(var(--#{$prefix}footer-special-border-width) - 2px)
217
- solid var(--#{$prefix}footer-color-border);
218
-
219
- padding-inline: 0;
220
- margin-inline-start: var(--qld-gutter-x);
221
- width: calc(100% - calc(var(--qld-gutter-x) * 2));
222
-
223
- .border-column {
224
- &:before {
225
- content: "";
226
- content: none;
227
- background: none;
228
- }
229
-
230
- height: auto;
231
- }
232
-
233
- .footer-column {
234
- margin-block: calc(var(--#{$prefix}footer-gap) * 2);
235
- margin-inline-end: 0;
236
- }
237
- }
238
-
239
- > .col-md-12:first-of-type {
240
- border-top: none;
241
- }
242
-
243
362
  > .title {
244
- border-bottom: calc(
245
- var(--#{$prefix}footer-special-border-width) - 2px
246
- )
247
- solid var(--#{$prefix}footer-color-border);
248
- padding-inline: var(--qld-gutter-x);
363
+ border-bottom: var(--#{$prefix}footer-special-border-thin-width) solid
364
+ var(--#{$prefix}footer-color-border-alt);
249
365
  }
250
366
 
367
+ // Crest "column"
251
368
  > .crest {
252
- border-top: calc(var(--#{$prefix}footer-special-border-width) - 2px)
253
- solid var(--#{$prefix}footer-color-border);
254
- padding-inline: var(--qld-gutter-x);
255
- margin-inline: 0;
256
- width: 100%;
369
+ border-top: var(--#{$prefix}footer-special-border-thin-width) solid
370
+ var(--#{$prefix}footer-color-border-alt);
257
371
 
258
372
  .footer-column {
259
- margin-block-end: calc(var(--#{$prefix}footer-spacing) * 2);
373
+ border-top: none;
260
374
  }
261
375
  }
262
-
263
- p:last-child {
264
- margin-block-end: 0;
265
- }
266
376
  }
267
377
  }
268
378
 
269
- .btn-outline-secondary {
270
- width: 100%;
271
- min-width: auto !important;
272
- }
273
-
274
379
  .footer-link-list {
275
- display: block;
276
- column-count: 3;
277
-
278
- a.nav-link,
279
- a.nav-link:first-child {
280
- margin: 0 !important;
281
- margin-block-end: calc(
282
- var(--#{$prefix}footer-font-size) * 0.5
283
- ) !important;
284
- }
380
+ grid-template-columns: repeat(3, 1fr);
285
381
  }
286
- }
287
382
 
288
- @include media-breakpoint-down(md) {
289
- .container {
290
- > .row {
291
- > .col-md-12 {
292
- margin-inline-start: var(--#{$prefix}footer-spacing);
293
- width: calc(100% - calc(var(--#{$prefix}footer-spacing) * 2));
294
- }
295
-
296
- > .title,
297
- > .crest {
298
- padding-inline: var(--qld-footer-spacing);
299
- margin-inline: 0;
300
- width: 100%;
383
+ .footer-column {
384
+ // Specific to Social Links column
385
+ &:has(.footer-link-list--social) {
386
+ display: flex;
387
+ flex-direction: row !important;
388
+ align-items: center;
301
389
 
302
- .footer-column {
303
- margin-block-end: calc(var(--#{$prefix}footer-spacing) * 2.5);
304
- }
390
+ .footer-heading {
391
+ margin-block-end: 0;
392
+ line-height: 2rem;
305
393
  }
306
-
307
- p:last-child {
308
- margin-block-end: var(--#{$prefix}last-para-margin);
394
+ .footer-content,
395
+ a.nav-link {
396
+ line-height: 2rem;
309
397
  }
310
398
  }
311
399
  }
400
+ }
312
401
 
402
+ @include media-breakpoint-down(md) {
313
403
  .footer-link-list {
314
- column-count: 2;
315
- width: 100%;
404
+ grid-template-columns: repeat(2, 1fr);
316
405
  }
317
406
 
318
407
  .footer-site-name,
319
408
  .footer-heading {
320
409
  font-size: calc(var(--#{$prefix}footer-title-font-size) - 0.25rem);
410
+ line-height: 1.25rem;
321
411
  }
322
- }
323
- }
324
-
325
- /* Feedback form */
326
- #qg-feedback-toggle {
327
- --qld-dark-alt-border: var(--#{$prefix}formIO-input-border);
328
- color: var(--#{$prefix}formIO-formio-colour);
329
- width: 100%;
330
-
331
- #btn-footer-feedback {
332
- color: var(--#{$prefix}footer-color-text);
333
- border: var(--#{$prefix}footer-special-border-width) solid
334
- var(--#{$prefix}footer-color-alt-button);
335
- width: 100%;
336
- font-weight: normal;
337
- margin-block-start: var(--#{$prefix}footer-spacing);
338
-
339
- &:active {
340
- color: var(--#{$prefix}formIO-formio-colour);
341
- }
342
- }
343
412
 
344
- #btn-footer-feedback:not(.collapsed) {
345
- font-weight: var(--#{$prefix}formIO-feeback-font-weight);
346
- border-color: var(--#{$prefix}formIO-bg-colour);
347
- border-radius: var(--#{$prefix}footer-border-radius);
348
- border-end-end-radius: 0;
349
- border-end-start-radius: 0;
350
- outline: none !important;
351
- width: 100%;
352
- text-align: start;
353
- background-color: var(--#{$prefix}formIO-bg-colour);
354
- color: var(--#{$prefix}light-text-heading);
355
- font-weight: 700;
356
- }
357
-
358
- .btn.qg-feedback-toggle {
359
- font-weight: bold;
360
- }
361
-
362
- &:has(#feedbackFormIO .formio-component-html1) {
363
- #btn-footer-feedback {
364
- display: none;
365
- visibility: hidden;
366
- }
367
-
368
- #qg-footer-feedback {
369
- padding-block-start: calc(var(--#{$prefix}footer-spacing) - 4px);
370
- border-start-start-radius: var(--#{$prefix}footer-border-radius);
371
- border-start-end-radius: var(--#{$prefix}footer-border-radius);
372
- }
373
- }
374
- }
375
-
376
- #qg-footer-feedback {
377
- --qld-footer-bootstrap-default-padding: 1.5rem;
378
-
379
- background-color: var(--#{$prefix}formIO-bg-colour);
380
-
381
- a {
382
- color: var(--#{$prefix}formIO-link-colour);
383
- text-decoration-color: var(--#{$prefix}formIO-link-colour);
384
-
385
- &:hover {
386
- text-decoration-thickness: var(
387
- --#{$prefix}link-underline-thickness-hover
388
- ) !important;
389
- }
390
-
391
- &:hover,
392
- &:visited {
393
- color: var(--#{$prefix}formIO-link-colour);
394
- }
395
- }
396
-
397
- border-radius: var(--#{$prefix}footer-border-radius);
398
- border-start-start-radius: 0;
399
- border-start-end-radius: 0;
400
- padding-inline: var(--#{$prefix}footer-bootstrap-default-padding);
401
- padding-block-end: var(--#{$prefix}footer-bootstrap-default-padding);
402
-
403
- .qg-footer-feedback-footer {
404
- border-block-start: var(--#{$prefix}footer-border-width) solid
405
- var(--#{$prefix}formIO-hr-colour);
406
- padding-block-start: calc(var(--#{$prefix}footer-spacing) + 4px);
407
-
408
- a.qg-footer-feedback__close {
409
- border: var(--#{$prefix}footer-special-border-width) solid
410
- var(--#{$prefix}formIO-btn-close-colour);
411
- width: 100%;
412
- display: block;
413
- border-radius: var(--#{$prefix}footer-border-radius);
414
- padding: 9px 24px;
415
- text-align: center;
416
- text-decoration: none;
417
-
418
- &:hover {
419
- border-color: var(--#{$prefix}formIO-btn-close-colour__hover);
420
- text-decoration: underline;
421
- text-decoration-thickness: var(
422
- --#{$prefix}footer-font-underline-boarder
423
- );
424
- }
413
+ .footer-column:has(.footer-link-list--social) .footer-heading {
414
+ line-height: 1.5rem;
425
415
  }
426
416
  }
427
417
  }