@eeacms/volto-eea-design-system 1.31.2 → 1.32.1
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/CHANGELOG.md +19 -0
- package/package.json +1 -1
- package/src/ui/Footer/Footer.jsx +2 -0
- package/src/ui/Footer/Footer.stories.js +4 -2
- package/src/ui/Footer/Footer.stories.test.js +2 -19
- package/src/ui/Footer/FooterSitesButton.jsx +36 -0
- package/src/ui/Footer/Social.jsx +2 -2
- package/src/ui/Footer/SubFooter.jsx +3 -31
- package/theme/themes/eea/extras/contextNavigation.less +83 -2
- package/theme/themes/eea/extras/contextNavigation.variables +11 -3
- package/theme/themes/eea/extras/footer.less +65 -29
- package/theme/themes/eea/extras/footer.variables +18 -9
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,25 @@ All notable changes to this project will be documented in this file. Dates are d
|
|
|
4
4
|
|
|
5
5
|
Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
|
|
6
6
|
|
|
7
|
+
### [1.32.1](https://github.com/eea/volto-eea-design-system/compare/1.32.0...1.32.1) - 27 August 2024
|
|
8
|
+
|
|
9
|
+
#### :bug: Bug Fixes
|
|
10
|
+
|
|
11
|
+
- fix: Update SubFooter.jsx to improve table layout - refs #265857 [dobri1408 - [`6b95d14`](https://github.com/eea/volto-eea-design-system/commit/6b95d14838bbc9423ea2d6c1f400f9a12efc898d)]
|
|
12
|
+
|
|
13
|
+
### [1.32.0](https://github.com/eea/volto-eea-design-system/compare/1.31.2...1.32.0) - 26 August 2024
|
|
14
|
+
|
|
15
|
+
#### :rocket: New Features
|
|
16
|
+
|
|
17
|
+
- feat(context-navigation): Added styling of side navigation - refs #272384 [ichim-david - [`1b9da93`](https://github.com/eea/volto-eea-design-system/commit/1b9da934b6c9b0044764dd41cb1f83ac34572aa8)]
|
|
18
|
+
|
|
19
|
+
#### :nail_care: Enhancements
|
|
20
|
+
|
|
21
|
+
- refactor: Footer simplification according to the #265857 [dobri1408 - [`75ba3b6`](https://github.com/eea/volto-eea-design-system/commit/75ba3b6e02f2d06820880d3af9ddacc3a14222a7)]
|
|
22
|
+
|
|
23
|
+
#### :hammer_and_wrench: Others
|
|
24
|
+
|
|
25
|
+
- Release 1.32.0 [Alin Voinea - [`f8fe25f`](https://github.com/eea/volto-eea-design-system/commit/f8fe25fff59471b2b1ca974b1c311d7c348b5328)]
|
|
7
26
|
### [1.31.2](https://github.com/eea/volto-eea-design-system/compare/1.31.1...1.31.2) - 22 July 2024
|
|
8
27
|
|
|
9
28
|
#### :nail_care: Enhancements
|
package/package.json
CHANGED
package/src/ui/Footer/Footer.jsx
CHANGED
|
@@ -11,6 +11,7 @@ import FooterActions from '@eeacms/volto-eea-design-system/ui/Footer/FooterActio
|
|
|
11
11
|
import FooterHeader from '@eeacms/volto-eea-design-system/ui/Footer/FooterHeader';
|
|
12
12
|
import SubFooter from '@eeacms/volto-eea-design-system/ui/Footer/SubFooter';
|
|
13
13
|
import Social from '@eeacms/volto-eea-design-system/ui/Footer/Social';
|
|
14
|
+
import FooterSitesButton from '@eeacms/volto-eea-design-system/ui/Footer/FooterSitesButton';
|
|
14
15
|
import Contact from '@eeacms/volto-eea-design-system/ui/Footer/Contact';
|
|
15
16
|
import { useFirstVisited } from '@eeacms/volto-eea-design-system/helpers';
|
|
16
17
|
import Description from '@eeacms/volto-eea-design-system/ui/Footer/Description';
|
|
@@ -44,6 +45,7 @@ Footer.Contact = Contact;
|
|
|
44
45
|
Footer.Header = FooterHeader;
|
|
45
46
|
Footer.Sites = FooterSites;
|
|
46
47
|
Footer.Social = Social;
|
|
48
|
+
Footer.SitesButton = FooterSitesButton;
|
|
47
49
|
Footer.SubFooter = SubFooter;
|
|
48
50
|
Footer.Description = Description;
|
|
49
51
|
|
|
@@ -23,14 +23,16 @@ const Template = (args) => (
|
|
|
23
23
|
<Footer>
|
|
24
24
|
<Footer.SubFooter {...args} />
|
|
25
25
|
<Footer.Header>{args.header}</Footer.Header>
|
|
26
|
-
<Footer.
|
|
26
|
+
<Footer.SitesButton {...args} />
|
|
27
|
+
<Footer.Social {...args} />
|
|
27
28
|
<Footer.Actions actions={args.actions} copyright={args.copyright} />
|
|
28
29
|
</Footer>
|
|
29
30
|
);
|
|
30
31
|
|
|
31
32
|
export const Default = Template.bind({});
|
|
32
33
|
Default.args = {
|
|
33
|
-
|
|
34
|
+
buttonName: 'Explore our Environmental information systems',
|
|
35
|
+
hrefButton: 'https://www.eea.europa.eu/en/information-systems',
|
|
34
36
|
description: '',
|
|
35
37
|
actions: [
|
|
36
38
|
{ url: '/privacy', title: 'Privacy' },
|
|
@@ -23,7 +23,7 @@ describe('Default', () => {
|
|
|
23
23
|
});
|
|
24
24
|
|
|
25
25
|
it('renders correctly', () => {
|
|
26
|
-
const { container
|
|
26
|
+
const { container } = render(
|
|
27
27
|
<Router history={history}>
|
|
28
28
|
<Default {...Default.args} />
|
|
29
29
|
</Router>,
|
|
@@ -44,16 +44,7 @@ describe('Default', () => {
|
|
|
44
44
|
container.querySelector('a[href="https://www.eea.europa.eu/en/login"]'),
|
|
45
45
|
).toBeInTheDocument();
|
|
46
46
|
expect(container.querySelector('.actions')).toBeInTheDocument();
|
|
47
|
-
|
|
48
|
-
expect(container.querySelector('.footer-header')).toBeInTheDocument();
|
|
49
|
-
expect(getByText('Environmental information systems')).toBeInTheDocument();
|
|
50
|
-
|
|
51
|
-
expect(container.querySelector('.theme-sites')).toBeInTheDocument();
|
|
52
|
-
Default.args.sites.map((site) =>
|
|
53
|
-
expect(
|
|
54
|
-
container.querySelector(`a[href="${site.url}"] img[src="${site.src}"]`),
|
|
55
|
-
).toBeInTheDocument(),
|
|
56
|
-
);
|
|
47
|
+
expect(container.querySelector('.theme-sites-button')).toBeInTheDocument();
|
|
57
48
|
});
|
|
58
49
|
|
|
59
50
|
it('renders correctly', () => {
|
|
@@ -85,10 +76,6 @@ describe('Default', () => {
|
|
|
85
76
|
container.querySelector('a[href="https://www.eea.europa.eu/en/login"]'),
|
|
86
77
|
).toBeInTheDocument();
|
|
87
78
|
expect(container.querySelector('.actions')).toBeInTheDocument();
|
|
88
|
-
|
|
89
|
-
expect(container.querySelector('.footer-header')).toBeInTheDocument();
|
|
90
|
-
expect(getByText('Environmental information systems')).toBeInTheDocument();
|
|
91
|
-
|
|
92
79
|
expect(getByText('Sites test')).toBeInTheDocument();
|
|
93
80
|
expect(getByText('SubFooter test')).toBeInTheDocument();
|
|
94
81
|
});
|
|
@@ -116,10 +103,6 @@ describe('Default', () => {
|
|
|
116
103
|
|
|
117
104
|
expect(container.querySelector('#footer')).toBeInTheDocument();
|
|
118
105
|
expect(container.querySelector('.footer-wrapper-nobg')).toBeInTheDocument();
|
|
119
|
-
|
|
120
|
-
expect(container.querySelector('.footer-header')).toBeInTheDocument();
|
|
121
|
-
expect(getByText('Environmental information systems')).toBeInTheDocument();
|
|
122
|
-
|
|
123
106
|
expect(getByText('Actions test')).toBeInTheDocument();
|
|
124
107
|
});
|
|
125
108
|
});
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Button } from 'semantic-ui-react';
|
|
3
|
+
import PropTypes from 'prop-types';
|
|
4
|
+
import { isInternalURL, flattenToAppURL } from '@plone/volto/helpers';
|
|
5
|
+
|
|
6
|
+
const SitesButton = (props) => {
|
|
7
|
+
if (props.children) {
|
|
8
|
+
return <div>{props.children}</div>;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
//fallback to props
|
|
12
|
+
return (
|
|
13
|
+
<div className="theme-sites">
|
|
14
|
+
<Button
|
|
15
|
+
className="theme-sites-button"
|
|
16
|
+
onClick={() => {
|
|
17
|
+
if (__CLIENT__ && window) {
|
|
18
|
+
window.location.assign(
|
|
19
|
+
isInternalURL(props.hrefButton)
|
|
20
|
+
? flattenToAppURL(props.hrefButton)
|
|
21
|
+
: props.hrefButton,
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
}}
|
|
25
|
+
>
|
|
26
|
+
{props.buttonName}
|
|
27
|
+
</Button>
|
|
28
|
+
</div>
|
|
29
|
+
);
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
SitesButton.propTypes = {
|
|
33
|
+
hrefButton: PropTypes.string,
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
export default SitesButton;
|
package/src/ui/Footer/Social.jsx
CHANGED
|
@@ -9,13 +9,13 @@ const Social = (props) => {
|
|
|
9
9
|
|
|
10
10
|
return props.social && props.social.length > 0 ? (
|
|
11
11
|
<Grid.Row>
|
|
12
|
-
<
|
|
12
|
+
<span className="social">
|
|
13
13
|
{props.social?.map((item, index) => (
|
|
14
14
|
<a href={item.url} aria-label={`${item.name} link`} key={index}>
|
|
15
15
|
<Icon className={item.icon}></Icon>
|
|
16
16
|
</a>
|
|
17
17
|
))}
|
|
18
|
-
</
|
|
18
|
+
</span>
|
|
19
19
|
</Grid.Row>
|
|
20
20
|
) : null;
|
|
21
21
|
};
|
|
@@ -10,7 +10,7 @@ const SubFooter = (props) => {
|
|
|
10
10
|
|
|
11
11
|
return (
|
|
12
12
|
<div className={'subfooter'}>
|
|
13
|
-
<Grid>
|
|
13
|
+
<Grid className="mobile">
|
|
14
14
|
{props.managedBy &&
|
|
15
15
|
props.managedBy.map((manager, index) => (
|
|
16
16
|
<Grid.Column
|
|
@@ -18,7 +18,7 @@ const SubFooter = (props) => {
|
|
|
18
18
|
tablet={manager.columnSize.tablet}
|
|
19
19
|
computer={manager.columnSize.computer}
|
|
20
20
|
key={index}
|
|
21
|
-
className="mobile
|
|
21
|
+
className="mobile"
|
|
22
22
|
>
|
|
23
23
|
<div className="item">
|
|
24
24
|
<div className={manager.className}>
|
|
@@ -34,40 +34,12 @@ const SubFooter = (props) => {
|
|
|
34
34
|
</Grid.Column>
|
|
35
35
|
))}
|
|
36
36
|
|
|
37
|
-
<Grid.Column mobile={12} tablet={
|
|
37
|
+
<Grid.Column mobile={12} tablet={12} computer={4}>
|
|
38
38
|
<div className="item">
|
|
39
39
|
<Footer.Contact contacts={props.contacts} />
|
|
40
40
|
</div>
|
|
41
41
|
</Grid.Column>
|
|
42
42
|
</Grid>
|
|
43
|
-
|
|
44
|
-
<Footer.Description description={props.description} />
|
|
45
|
-
|
|
46
|
-
<Footer.Social social={props.social} />
|
|
47
|
-
|
|
48
|
-
<Grid className="mobile only">
|
|
49
|
-
{props.managedBy &&
|
|
50
|
-
props.managedBy.map((manager, index) => (
|
|
51
|
-
<Grid.Column
|
|
52
|
-
mobile={manager.columnSize.mobile}
|
|
53
|
-
tablet={manager.columnSize.tablet}
|
|
54
|
-
computer={manager.columnSize.computer}
|
|
55
|
-
key={index}
|
|
56
|
-
>
|
|
57
|
-
<div className="item">
|
|
58
|
-
<div className={manager.className}>
|
|
59
|
-
<a href={manager.url}>
|
|
60
|
-
<Image
|
|
61
|
-
src={manager.src}
|
|
62
|
-
alt={manager.alt}
|
|
63
|
-
loading="lazy"
|
|
64
|
-
></Image>
|
|
65
|
-
</a>
|
|
66
|
-
</div>
|
|
67
|
-
</div>
|
|
68
|
-
</Grid.Column>
|
|
69
|
-
))}
|
|
70
|
-
</Grid>
|
|
71
43
|
</div>
|
|
72
44
|
);
|
|
73
45
|
};
|
|
@@ -17,6 +17,13 @@
|
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
+
@media screen and (min-width: @mobileBreakpoint) and (max-width: @computerBreakpoint) {
|
|
21
|
+
.context-navigation {
|
|
22
|
+
max-width: @mobileSidenavMaxWidth;
|
|
23
|
+
margin: 0 auto;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
20
27
|
.context-navigation .item a {
|
|
21
28
|
display : block;
|
|
22
29
|
padding : @sidenavItemPadding;
|
|
@@ -43,7 +50,7 @@
|
|
|
43
50
|
margin-right: @sidenavHeaderIconMarginRight;
|
|
44
51
|
}
|
|
45
52
|
|
|
46
|
-
&::before {
|
|
53
|
+
&::before:not(.accordion-header) {
|
|
47
54
|
content: @sidenavHeaderIconContent;
|
|
48
55
|
font-family: 'remixicon';
|
|
49
56
|
font-weight: @sidenavHeaderIconFontWeight;
|
|
@@ -84,10 +91,14 @@
|
|
|
84
91
|
border-bottom: none;
|
|
85
92
|
}
|
|
86
93
|
|
|
87
|
-
.item.level-
|
|
94
|
+
.context-navigation .item.level-2 a {
|
|
88
95
|
padding-left: @subparItemPaddingLeft;
|
|
89
96
|
}
|
|
90
97
|
|
|
98
|
+
.context-navigation .item.level-3 a {
|
|
99
|
+
padding-left: @subparItemPaddingLeft + 2rem;
|
|
100
|
+
}
|
|
101
|
+
|
|
91
102
|
// Active indicator
|
|
92
103
|
.context-navigation .active.item > .content > a {
|
|
93
104
|
color: @sidenavItemActiveColor;
|
|
@@ -102,4 +113,74 @@
|
|
|
102
113
|
.content.active-indicator {
|
|
103
114
|
display: none;
|
|
104
115
|
}
|
|
116
|
+
|
|
117
|
+
/*******************************
|
|
118
|
+
Side navigation
|
|
119
|
+
*******************************/
|
|
120
|
+
.accordion-header {
|
|
121
|
+
cursor: pointer;
|
|
122
|
+
justify-content: space-between;
|
|
123
|
+
align-items: center;
|
|
124
|
+
padding: @sidenavAccordionHeaderPadding;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.context-navigation-list .title-link {
|
|
128
|
+
display: block;
|
|
129
|
+
color: @sidenavItemColor;
|
|
130
|
+
font-size : @sidenavItemFontSize;
|
|
131
|
+
font-weight: @sidenavItemFontWeight;
|
|
132
|
+
}
|
|
133
|
+
.context-navigation-list .content .title-link {
|
|
134
|
+
font-weight: @sidenavLevelTwoItemFontWeight;
|
|
135
|
+
}
|
|
136
|
+
.context-navigation {
|
|
137
|
+
box-shadow: @sidenavBoxShadow;
|
|
138
|
+
|
|
139
|
+
.current {
|
|
140
|
+
color: @sidenavItemActiveColor;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
.accordion {
|
|
144
|
+
display: flex;
|
|
145
|
+
flex-wrap: wrap;
|
|
146
|
+
}
|
|
147
|
+
.ui.accordion>.title {
|
|
148
|
+
--text-color: @sidenavItemColor;
|
|
149
|
+
--text-color-hover: @sidenavItemColor;
|
|
150
|
+
font-size: @sidenavItemFontSize;
|
|
151
|
+
font-weight: @sidenavItemFontWeight;
|
|
152
|
+
padding: @sidenavFolderItemPadding;
|
|
153
|
+
text-align: left;
|
|
154
|
+
&:not([aria-expanded="true"]) {
|
|
155
|
+
border-bottom: @sidenavContentBorderBottom;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
.accordion-list {
|
|
160
|
+
margin-top: 0;
|
|
161
|
+
margin-bottom: 0;
|
|
162
|
+
list-style: none;
|
|
163
|
+
padding-left: 0;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
.context-navigation-list>.accordion-list-title {
|
|
167
|
+
border-bottom: @sidenavContentBorderBottom;
|
|
168
|
+
|
|
169
|
+
.title-link {
|
|
170
|
+
padding: @sidenavFolderItemPadding;
|
|
171
|
+
font-size: @sidenavItemFontSize;
|
|
172
|
+
font-weight: @sidenavItemFontWeight;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
.content .accordion-list .title-link {
|
|
177
|
+
padding: @sidenavLevelTwoItemPadding;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
.ui.accordion .content {
|
|
181
|
+
--bg-color: transparent;
|
|
182
|
+
width: 100%;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
|
|
105
186
|
.loadUIOverrides();
|
|
@@ -4,17 +4,21 @@
|
|
|
4
4
|
|
|
5
5
|
@sidenavMaxWidth: 350px;
|
|
6
6
|
@widescreenSidenavMaxWidth: 300px;
|
|
7
|
+
@mobileSidenavMaxWidth: 100%;
|
|
7
8
|
@sidenavBackground: @grey-0;
|
|
8
9
|
@sidenavMarginRight: @rem-space-4;
|
|
9
|
-
@sidenavPaddingLeft:
|
|
10
|
+
@sidenavPaddingLeft: 0;
|
|
10
11
|
@sidenavOverflow: inherit;
|
|
11
12
|
@sidenavMargin: @rem-space-8 auto;
|
|
13
|
+
@sidenavShadowColor: @grey-3;
|
|
14
|
+
@sidenavBoxShadow: 0px 3px 3px @sidenavShadowColor;
|
|
12
15
|
|
|
13
16
|
/* Header */
|
|
14
17
|
@sidenavHeaderColor: @blue-grey-5;
|
|
15
18
|
@sidenavHeaderFontSize: @font-size-3;
|
|
16
19
|
@sidenavHeaderFontWeight: @font-weight-7;
|
|
17
20
|
@sidenavHeaderPadding: @rem-space-4;
|
|
21
|
+
@sidenavAccordionHeaderPadding: @rem-space-2 @rem-space-4;
|
|
18
22
|
@sidenavHeaderBorderBottom: @2px solid @blue-grey-5;
|
|
19
23
|
@sidenavHeaderIconMarginRight: @rem-space-4;
|
|
20
24
|
|
|
@@ -29,7 +33,7 @@
|
|
|
29
33
|
/* Nav item */
|
|
30
34
|
@sidenavItemPadding: @rem-space-2 0 @rem-space-2 @rem-space-8;
|
|
31
35
|
@sidenavItemFontSize: @font-size-1;
|
|
32
|
-
@sidenavItemFontWeight: @font-weight-
|
|
36
|
+
@sidenavItemFontWeight: @font-weight-5;
|
|
33
37
|
@sidenavItemColor: @blue-grey-5;
|
|
34
38
|
@sidenavItemHoverBackground: @blue-grey-5;
|
|
35
39
|
@sidenavItemHoverColor: @grey-0;
|
|
@@ -46,4 +50,8 @@
|
|
|
46
50
|
/* Folders - Level 1 */
|
|
47
51
|
@sidenavFolderFontSize: @font-size-2;
|
|
48
52
|
@sidenavFolderFontWeight: @font-weight-7;
|
|
49
|
-
@sidenavFolderItemPadding: @rem-space-4
|
|
53
|
+
@sidenavFolderItemPadding: @rem-space-4;
|
|
54
|
+
|
|
55
|
+
/* Item - Level 2 */
|
|
56
|
+
@sidenavLevelTwoItemFontWeight: @font-weight-4;
|
|
57
|
+
@sidenavLevelTwoItemPadding: 0.5rem 1.5rem;
|
|
@@ -25,10 +25,23 @@ footer {
|
|
|
25
25
|
width: @wrapperWidth;
|
|
26
26
|
padding: @mobileWrapperPadding;
|
|
27
27
|
}
|
|
28
|
+
.theme-sites-button {
|
|
29
|
+
background: @themeSitesButtonBackground !important;
|
|
30
|
+
font-size: @themeSitesButtonFontSize !important;
|
|
31
|
+
padding: @themeSitesButtonPadding !important;
|
|
32
|
+
color: @themeSitesButtonColor !important;
|
|
33
|
+
border: @themeSitesButtonBorder !important;
|
|
34
|
+
}
|
|
35
|
+
.theme-sites {
|
|
36
|
+
display: flex;
|
|
37
|
+
width: 100%;
|
|
38
|
+
justify-content: center;
|
|
39
|
+
}
|
|
28
40
|
}
|
|
29
41
|
|
|
30
42
|
footer .theme-sites {
|
|
31
43
|
padding: @mobileThemeSitesPadding;
|
|
44
|
+
padding-top: @computerThemeSitesPaddingTop;
|
|
32
45
|
|
|
33
46
|
.logos .ui.grid {
|
|
34
47
|
align-items: center;
|
|
@@ -37,7 +50,6 @@ footer .theme-sites {
|
|
|
37
50
|
.logos .logo img {
|
|
38
51
|
margin: @mobileThemeSitesLogoMargin;
|
|
39
52
|
}
|
|
40
|
-
|
|
41
53
|
}
|
|
42
54
|
footer .footer-header {
|
|
43
55
|
font-size: @mobileFooterTitleFontSize;
|
|
@@ -53,6 +65,7 @@ footer .footer-header {
|
|
|
53
65
|
height: @subFooterItemHeight;
|
|
54
66
|
align-items: @subFooterItemAlignItems;
|
|
55
67
|
}
|
|
68
|
+
|
|
56
69
|
.subfooter .item .ui.grid {
|
|
57
70
|
align-items: center;
|
|
58
71
|
}
|
|
@@ -64,33 +77,46 @@ footer .footer-header {
|
|
|
64
77
|
}
|
|
65
78
|
}
|
|
66
79
|
|
|
67
|
-
.subfooter .contact-wrapper {
|
|
68
|
-
margin-bottom: @tabletContactBlockMarginBottom;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
80
|
.contact-wrapper .subcontact a {
|
|
72
81
|
font-size: @computerSubContactIconFontSize;
|
|
73
82
|
margin-right: @computerSubContactIconMarginRight;
|
|
74
83
|
font-weight: @computerSubContactIconFontWeight;
|
|
75
84
|
}
|
|
85
|
+
.contact-wrapper .subcontact a {
|
|
86
|
+
font-size: @tabletSubContactIconFontSize;
|
|
87
|
+
margin-right: @tabletSubContactIconMarginRight;
|
|
88
|
+
}
|
|
76
89
|
|
|
77
90
|
.subfooter .contact {
|
|
78
|
-
display:
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
gap: @
|
|
91
|
+
display: flex;
|
|
92
|
+
font-size: @tabletContactFontSize;
|
|
93
|
+
margin: @tabletContactMargin;
|
|
94
|
+
gap: @tabletContactGap;
|
|
95
|
+
}
|
|
96
|
+
.contact-wrapper .subcontact {
|
|
97
|
+
display: flex;
|
|
98
|
+
gap: @tabletContactGap;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.subfooter .contact-wrapper {
|
|
102
|
+
margin-inline: @tabletContactBlockMarginInline;
|
|
103
|
+
}
|
|
82
104
|
|
|
105
|
+
.subfooter .contact {
|
|
83
106
|
a {
|
|
84
|
-
color: @
|
|
85
|
-
}
|
|
107
|
+
color: @socialIconColor;
|
|
86
108
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
109
|
+
&:active,
|
|
110
|
+
&:hover {
|
|
111
|
+
color: @socialIconColor;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
i.icon {
|
|
115
|
+
font-size: @mobileSocialIconSize;
|
|
116
|
+
}
|
|
90
117
|
}
|
|
91
118
|
}
|
|
92
|
-
|
|
93
|
-
.subfooter .social {
|
|
119
|
+
footer .social {
|
|
94
120
|
display: flex;
|
|
95
121
|
justify-content: @mobileSocialJustifyContent;
|
|
96
122
|
margin: @mobileSocialIconsMargin;
|
|
@@ -148,7 +174,7 @@ footer .footer-wrapper .menu {
|
|
|
148
174
|
}
|
|
149
175
|
}
|
|
150
176
|
|
|
151
|
-
@media only screen and (max-width: @
|
|
177
|
+
@media only screen and (max-width: @tabletBreakpoint) {
|
|
152
178
|
.footer-wrapper > .container {
|
|
153
179
|
display: flex;
|
|
154
180
|
flex-direction: column;
|
|
@@ -158,9 +184,22 @@ footer .footer-wrapper .menu {
|
|
|
158
184
|
font-size: @mobileMenuCopyrightFontSize;
|
|
159
185
|
font-weight: @mobileMenuCopyrightFontWeight;
|
|
160
186
|
}
|
|
161
|
-
|
|
187
|
+
.contact-wrapper {
|
|
188
|
+
padding: @mobileContactMargin;
|
|
189
|
+
}
|
|
190
|
+
.contact-wrapper .contact {
|
|
191
|
+
gap: @mobileContactGap;
|
|
192
|
+
}
|
|
162
193
|
.contact-wrapper .subcontact {
|
|
163
|
-
|
|
194
|
+
display: flex;
|
|
195
|
+
gap: @mobileContactGap;
|
|
196
|
+
}
|
|
197
|
+
.theme-sites {
|
|
198
|
+
padding-top: @mobileThemeSitesPaddingTop !important;
|
|
199
|
+
padding-bottom: @mobileThemeSitesPaddingTop !important;
|
|
200
|
+
}
|
|
201
|
+
footer .social {
|
|
202
|
+
margin: @mobileSocialIconsMargin;
|
|
164
203
|
}
|
|
165
204
|
}
|
|
166
205
|
|
|
@@ -181,8 +220,11 @@ footer .footer-wrapper .menu {
|
|
|
181
220
|
|
|
182
221
|
.subfooter .contact {
|
|
183
222
|
display: flex;
|
|
223
|
+
|
|
184
224
|
font-size: @tabletContactFontSize;
|
|
225
|
+
|
|
185
226
|
margin: @tabletContactMargin;
|
|
227
|
+
|
|
186
228
|
gap: @tabletContactGap;
|
|
187
229
|
}
|
|
188
230
|
|
|
@@ -192,6 +234,7 @@ footer .footer-wrapper .menu {
|
|
|
192
234
|
|
|
193
235
|
.contact-wrapper .subcontact a {
|
|
194
236
|
font-size: @tabletSubContactIconFontSize;
|
|
237
|
+
|
|
195
238
|
margin-right: @tabletSubContactIconMarginRight;
|
|
196
239
|
}
|
|
197
240
|
|
|
@@ -199,7 +242,7 @@ footer .footer-wrapper .menu {
|
|
|
199
242
|
margin: @tabletFooterDescriptionMargin;
|
|
200
243
|
}
|
|
201
244
|
|
|
202
|
-
|
|
245
|
+
footer .social {
|
|
203
246
|
justify-content: @tabletSocialJustifyContent;
|
|
204
247
|
gap: @tabletSocialGap;
|
|
205
248
|
margin: @tabletSocialIconsMargin;
|
|
@@ -223,14 +266,6 @@ footer .footer-wrapper .menu {
|
|
|
223
266
|
}
|
|
224
267
|
}
|
|
225
268
|
|
|
226
|
-
footer .theme-sites {
|
|
227
|
-
padding: @computerThemeSitesPadding;
|
|
228
|
-
|
|
229
|
-
.logos .logo img {
|
|
230
|
-
margin: @computerThemeSitesLogoMargin;
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
|
|
234
269
|
.subfooter .logo-header {
|
|
235
270
|
// To match the figma align
|
|
236
271
|
margin-left: @computerLogoHeaderMarginLeft;
|
|
@@ -264,7 +299,8 @@ footer .footer-wrapper .menu {
|
|
|
264
299
|
}
|
|
265
300
|
}
|
|
266
301
|
|
|
267
|
-
.subfooter
|
|
302
|
+
.subfooter,
|
|
303
|
+
footer .social {
|
|
268
304
|
margin: @computerSocialIconsMargin;
|
|
269
305
|
}
|
|
270
306
|
|
|
@@ -18,12 +18,19 @@
|
|
|
18
18
|
|
|
19
19
|
/* Theme Sites */
|
|
20
20
|
@mobileThemeSitesPadding : @rem-space-3 0;
|
|
21
|
+
@mobileThemeSitesPaddingTop : @rem-space-10;
|
|
21
22
|
@computerThemeSitesPadding : @rem-space-5 0;
|
|
23
|
+
@computerThemeSitesPaddingTop : @rem-space-20;
|
|
22
24
|
@mobileThemeSitesLogoMargin : 0 auto @rem-space-8;
|
|
23
25
|
@computerThemeSitesLogoMargin : 0 auto @rem-space-10;
|
|
24
|
-
@mobileFooterTitleFontSize : @
|
|
25
|
-
@tabletFooterTitleFontSize : @
|
|
26
|
+
@mobileFooterTitleFontSize : @font-size-1;
|
|
27
|
+
@tabletFooterTitleFontSize : @font-size-3;
|
|
26
28
|
@freshwaterLogoMaxWidth : 122px;
|
|
29
|
+
@themeSitesButtonBackground : transparent;
|
|
30
|
+
@themeSitesButtonFontSize : 1rem;
|
|
31
|
+
@themeSitesButtonPadding : 1rem 2rem;
|
|
32
|
+
@themeSitesButtonColor : white;
|
|
33
|
+
@themeSitesButtonBorder : 1px solid white;
|
|
27
34
|
|
|
28
35
|
/* Sub-footer Item */
|
|
29
36
|
@subFooterItemDisplay: flex;
|
|
@@ -42,16 +49,17 @@
|
|
|
42
49
|
@tabletContactBlockMarginBottom : @space-4;
|
|
43
50
|
@mobileContactMargin : @space-4 0;
|
|
44
51
|
@tabletContactMargin : @rem-space-050 0;
|
|
45
|
-
@contactFontSize : @font-size-
|
|
46
|
-
@tabletContactFontSize : @font-size-
|
|
52
|
+
@contactFontSize : @font-size-2;
|
|
53
|
+
@tabletContactFontSize : @font-size-3;
|
|
47
54
|
@tabletContactGap : @rem-space-4;
|
|
48
|
-
@contactGap : @rem-space-
|
|
55
|
+
@contactGap : @rem-space-4;
|
|
56
|
+
@mobileContactGap : @em-space-10;
|
|
49
57
|
@mobileContactIconMarginRight : @space-3;
|
|
50
58
|
@mobileSubcontactBlockMarginTop : @space-3;
|
|
51
59
|
@mobileContactIconFontSize : @font-size-4;
|
|
52
60
|
@computerContactIconFontSize : @font-size-9;
|
|
53
|
-
@tabletSubContactIconFontSize : @font-size-
|
|
54
|
-
@computerSubContactIconFontSize : @font-size-
|
|
61
|
+
@tabletSubContactIconFontSize : @font-size-3;
|
|
62
|
+
@computerSubContactIconFontSize : @font-size-3;
|
|
55
63
|
@tabletSubContactIconMarginRight : @rem-space-2;
|
|
56
64
|
@computerSubContactIconMarginRight : @rem-space-4;
|
|
57
65
|
@computerSubContactIconFontWeight : @font-weight-4;
|
|
@@ -65,8 +73,9 @@
|
|
|
65
73
|
@footerDescriptionTextAlign : center;
|
|
66
74
|
|
|
67
75
|
/* Social Icons */
|
|
68
|
-
@
|
|
69
|
-
@
|
|
76
|
+
@computerSocialIconsMargin : @rem-space-2 0 @rem-space-8;
|
|
77
|
+
@mobileSocialIconsMargin : @rem-space-2 0 @rem-space-10;
|
|
78
|
+
@tabletSocialIconsMargin : @rem-space-13 0;
|
|
70
79
|
@computerSocialIconsMargin : @rem-space-17 0;
|
|
71
80
|
@socialIconColor : @white;
|
|
72
81
|
@mobileSocialJustifyContent : space-around;
|