@npm_leadtech/legal-lib-components 5.16.10 → 5.17.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.
Files changed (80) hide show
  1. package/dist/css/styles.css +1 -1
  2. package/dist/images/componentsSvg/IconWeb.d.ts +2 -0
  3. package/dist/images/componentsSvg/IconWeb.js +4 -0
  4. package/dist/images/componentsSvg/IconWeb.tsx +31 -0
  5. package/dist/images/componentsSvg/PhoneIcon.d.ts +6 -0
  6. package/dist/images/componentsSvg/PhoneIcon.js +4 -0
  7. package/dist/images/componentsSvg/PhoneIcon.tsx +18 -0
  8. package/dist/images/componentsSvg/PhoneIcon24px.d.ts +9 -0
  9. package/dist/images/componentsSvg/PhoneIcon24px.js +2 -0
  10. package/dist/images/componentsSvg/PhoneIcon24px.tsx +4 -2
  11. package/dist/images/svg/facebook.svg +4 -0
  12. package/dist/images/svg/icon-24-px-satisfaction-grey.svg +3 -0
  13. package/dist/images/svg/icon-24-px-security_black.svg +3 -0
  14. package/dist/images/svg/linkedin.svg +4 -0
  15. package/dist/images/svg/pinterest.svg +4 -0
  16. package/dist/images/svg/x.svg +4 -0
  17. package/dist/src/components/atoms/DisclaimerRatafia/DisclaimerRatafia.js +1 -1
  18. package/dist/src/components/atoms/DisclaimerRatafia/DisclaimerRatafia.tsx +3 -0
  19. package/dist/src/components/atoms/FixedFooter/FixedFooter.d.ts +3 -0
  20. package/dist/src/components/atoms/FixedFooter/FixedFooter.js +73 -0
  21. package/dist/src/components/atoms/FixedFooter/FixedFooter.styled.d.ts +1 -0
  22. package/dist/src/components/atoms/FixedFooter/FixedFooter.styled.js +394 -0
  23. package/dist/src/components/atoms/FixedFooter/FixedFooter.styled.ts +395 -0
  24. package/dist/src/components/atoms/FixedFooter/FixedFooter.tsx +307 -0
  25. package/dist/src/components/atoms/FixedFooter/FixedFooterProps.d.ts +68 -0
  26. package/dist/src/components/atoms/FixedFooter/FixedFooterProps.js +1 -0
  27. package/dist/src/components/atoms/FixedFooter/FixedFooterProps.ts +79 -0
  28. package/dist/src/components/atoms/FixedFooter/index.d.ts +2 -0
  29. package/dist/src/components/atoms/FixedFooter/index.js +2 -0
  30. package/dist/src/components/atoms/FixedFooter/index.ts +2 -0
  31. package/dist/src/components/atoms/GoogleButton/GoogleButton.js +2 -2
  32. package/dist/src/components/atoms/GoogleButton/GoogleButton.tsx +2 -2
  33. package/dist/src/components/atoms/GoogleButton/GoogleButtonProps.types.d.ts +0 -1
  34. package/dist/src/components/atoms/GoogleButton/GoogleButtonProps.types.ts +0 -1
  35. package/dist/src/components/atoms/MenuItems/MenuItemProps.types.d.ts +1 -0
  36. package/dist/src/components/atoms/MenuItems/MenuItemProps.types.ts +1 -0
  37. package/dist/src/components/atoms/PreFooter/PreFooter.d.ts +3 -0
  38. package/dist/src/components/atoms/PreFooter/PreFooter.js +8 -0
  39. package/dist/src/components/atoms/PreFooter/PreFooter.styled.d.ts +1 -0
  40. package/dist/src/components/atoms/PreFooter/PreFooter.styled.js +43 -0
  41. package/dist/src/components/atoms/PreFooter/PreFooter.styled.ts +43 -0
  42. package/dist/src/components/atoms/PreFooter/PreFooter.tsx +34 -0
  43. package/dist/src/components/atoms/PreFooter/PreFooterProps.d.ts +8 -0
  44. package/dist/src/components/atoms/PreFooter/PreFooterProps.js +1 -0
  45. package/dist/src/components/atoms/PreFooter/PreFooterProps.ts +8 -0
  46. package/dist/src/components/atoms/PreFooter/index.d.ts +2 -0
  47. package/dist/src/components/atoms/PreFooter/index.js +2 -0
  48. package/dist/src/components/atoms/PreFooter/index.ts +2 -0
  49. package/dist/src/components/atoms/SearchSelect/SearchSelect.styled.js +1 -1
  50. package/dist/src/components/atoms/SearchSelect/SearchSelect.styled.ts +1 -1
  51. package/dist/src/components/atoms/SemFooter/SemFooter.d.ts +3 -0
  52. package/dist/src/components/atoms/SemFooter/SemFooter.js +7 -0
  53. package/dist/src/components/atoms/SemFooter/SemFooter.styled.d.ts +1 -0
  54. package/dist/src/components/atoms/SemFooter/SemFooter.styled.js +59 -0
  55. package/dist/src/components/atoms/SemFooter/SemFooter.styled.ts +60 -0
  56. package/dist/src/components/atoms/SemFooter/SemFooter.tsx +26 -0
  57. package/dist/src/components/atoms/SemFooter/SemFooterProps.d.ts +8 -0
  58. package/dist/src/components/atoms/SemFooter/SemFooterProps.js +1 -0
  59. package/dist/src/components/atoms/SemFooter/SemFooterProps.ts +10 -0
  60. package/dist/src/components/atoms/SemFooter/index.d.ts +2 -0
  61. package/dist/src/components/atoms/SemFooter/index.js +2 -0
  62. package/dist/src/components/atoms/SemFooter/index.ts +2 -0
  63. package/dist/src/components/atoms/index.d.ts +3 -0
  64. package/dist/src/components/atoms/index.js +3 -0
  65. package/dist/src/components/atoms/index.ts +3 -0
  66. package/dist/src/components/molecules/BottomOverlay/BottomOverlay.js +13 -1
  67. package/dist/src/components/molecules/BottomOverlay/BottomOverlay.tsx +21 -1
  68. package/dist/src/components/molecules/BottomOverlay/BottomOverlayProps.types.d.ts +1 -0
  69. package/dist/src/components/molecules/BottomOverlay/BottomOverlayProps.types.ts +1 -0
  70. package/dist/src/components/molecules/RatafiaSubscriptionCard/RatafiaSubscriptionCard.styled.js +8 -1
  71. package/dist/src/components/molecules/RatafiaSubscriptionCard/RatafiaSubscriptionCard.styled.ts +8 -1
  72. package/dist/src/components/molecules/TextInput/TextInput.scss +1 -1
  73. package/dist/src/components/organisms/LoginRatafiaContent/LoginRatafiaContent.js +3 -4
  74. package/dist/src/components/organisms/LoginRatafiaContent/LoginRatafiaContent.styled.js +0 -7
  75. package/dist/src/components/organisms/LoginRatafiaContent/LoginRatafiaContent.styled.ts +0 -7
  76. package/dist/src/components/organisms/LoginRatafiaContent/LoginRatafiaContent.tsx +2 -8
  77. package/dist/src/components/pages/LoginRatafiaPage/LoginRatafiaPage.styled.js +2 -11
  78. package/dist/src/components/pages/LoginRatafiaPage/LoginRatafiaPage.styled.ts +2 -11
  79. package/dist/tsconfig.build.tsbuildinfo +1 -1
  80. package/package.json +1 -1
@@ -0,0 +1,395 @@
1
+ import styled from 'styled-components'
2
+
3
+ export const FixedFooterStyled = styled.div`
4
+ .footer {
5
+ margin-top: auto;
6
+ left: 0;
7
+ bottom: 0;
8
+ position: static;
9
+ width: 100%;
10
+ background-color: var(--primary-main-dark-2);
11
+ color: var(--primary-main-light-6);
12
+ }
13
+
14
+ .language-selector-mobile-container {
15
+ max-width: 1200px;
16
+ margin: auto;
17
+ padding: 2.75rem 1rem 1rem;
18
+ }
19
+
20
+ @media (min-width: 720px) {
21
+ .language-selector-mobile-container {
22
+ display: none;
23
+ }
24
+ }
25
+
26
+ .footer a {
27
+ color: var(--primary-main-light-6);
28
+ text-decoration: none;
29
+ }
30
+
31
+ .footer li {
32
+ margin-bottom: 1.25rem;
33
+ }
34
+
35
+ .footer li a {
36
+ padding: 0.5rem 0;
37
+ }
38
+
39
+ .footer li:last-child {
40
+ margin-bottom: 0;
41
+ }
42
+
43
+ .footer__wrapper {
44
+ display: flex;
45
+ flex-flow: row wrap;
46
+ max-width: 1200px;
47
+ width: 100%;
48
+ justify-content: center;
49
+ margin: 0 auto;
50
+ padding: 1rem 1rem 2.75rem;
51
+ grid-row-gap: 32px;
52
+ }
53
+
54
+ @media (min-width: 960px) {
55
+ .footer__wrapper {
56
+ padding: 2.75rem 0;
57
+ }
58
+ }
59
+
60
+ .footer__wrapper__logo {
61
+ width: 45%;
62
+ max-width: 45%;
63
+ display: flex;
64
+ align-items: baseline;
65
+ }
66
+
67
+ @media (min-width: 720px) {
68
+ .footer__wrapper__logo {
69
+ width: 100%;
70
+ max-width: 100%;
71
+ }
72
+ }
73
+
74
+ .sem-footer__wrapper {
75
+ display: flex;
76
+ flex-flow: column wrap;
77
+ width: 100%;
78
+ max-width: 1200px;
79
+ justify-content: space-between;
80
+ margin: auto;
81
+ padding: 1rem 1rem 2.75rem;
82
+ grid-row-gap: 32px;
83
+ }
84
+
85
+ @media (min-width: 960px) {
86
+ .sem-footer__wrapper {
87
+ flex-flow: row wrap;
88
+ padding: 1.5rem 1rem;
89
+ }
90
+ }
91
+
92
+ .sem-footer__legal-links {
93
+ display: flex;
94
+ flex-flow: row wrap;
95
+ align-items: center;
96
+ gap: 1rem;
97
+ }
98
+
99
+ .sem-footer__legal-links li {
100
+ margin-bottom: 0;
101
+ }
102
+
103
+ .sem-footer__contact-info {
104
+ display: flex;
105
+ flex-flow: column;
106
+ column-gap: 0.5rem;
107
+ row-gap: 0.25rem;
108
+ }
109
+
110
+ @media (min-width: 575px) {
111
+ .sem-footer__contact-info {
112
+ flex-flow: row;
113
+ }
114
+ }
115
+
116
+ .sem-footer__contact-info__phone {
117
+ display: flex;
118
+ align-items: center;
119
+ font-size: 0.8rem;
120
+ }
121
+
122
+ .sem-footer__contact-info__schedule {
123
+ font-size: 0.75rem;
124
+ }
125
+
126
+ .fixed-container {
127
+ position: fixed;
128
+ bottom: 0;
129
+ z-index: 3;
130
+ width: 100%;
131
+ }
132
+
133
+ .footer__products,
134
+ .footer__popular-documents,
135
+ .footer__company {
136
+ width: 100%;
137
+ max-width: 50%;
138
+ display: flex;
139
+ flex-flow: column wrap;
140
+ justify-content: flex-start;
141
+ }
142
+
143
+ .footer__products p,
144
+ .footer__popular-documents p,
145
+ .footer__company p {
146
+ margin-bottom: 1.5rem;
147
+ }
148
+
149
+ @media (min-width: 575px) {
150
+ .footer__products,
151
+ .footer__popular-documents,
152
+ .footer__company {
153
+ max-width: 28%;
154
+ padding-right: 1.5rem;
155
+ }
156
+ }
157
+
158
+ @media (min-width: 960px) {
159
+ .footer__products,
160
+ .footer__popular-documents,
161
+ .footer__company {
162
+ max-width: 20%;
163
+ }
164
+ }
165
+
166
+ @media (max-width: 575px) {
167
+ .footer__products,
168
+ .footer__popular-documents,
169
+ .footer__company {
170
+ max-width: 100%;
171
+ }
172
+ }
173
+
174
+ .footer__company__resources__findUs .footer__resources,
175
+ .footer__help__resources .footer__resources {
176
+ margin-top: 22px;
177
+ }
178
+
179
+ .footer__help__resources,
180
+ .footer__company {
181
+ display: flex;
182
+ flex-flow: column wrap;
183
+ justify-content: flex-start;
184
+ margin-bottom: 0;
185
+ max-width: 50%;
186
+ width: 100%;
187
+ }
188
+
189
+ @media (min-width: 575px) and (max-width: 960px) {
190
+ .footer__help__resources,
191
+ .footer__company {
192
+ display: block;
193
+ }
194
+ }
195
+
196
+ .footer__help__resources p,
197
+ .footer__company p {
198
+ margin-bottom: 1.5rem;
199
+ }
200
+
201
+ @media (min-width: 575px) {
202
+ .footer__help__resources,
203
+ .footer__company {
204
+ max-width: 22.5%;
205
+ padding-right: 1rem;
206
+ }
207
+ }
208
+
209
+ @media (min-width: 960px) {
210
+ .footer__help__resources,
211
+ .footer__company {
212
+ max-width: 15%;
213
+ }
214
+ }
215
+
216
+ .footer__findUs {
217
+ display: flex;
218
+ flex-flow: row nowrap;
219
+ flex-direction: column;
220
+ max-width: 100%;
221
+ }
222
+
223
+ .footer__findUs .trustpilot-widget {
224
+ margin-top: 0;
225
+ }
226
+
227
+ @media (min-width: 575px) {
228
+ .footer__findUs .trustpilot-widget {
229
+ margin-top: 22px;
230
+ }
231
+ }
232
+
233
+ @media (min-width: 720px) {
234
+ .footer__findUs {
235
+ display: block;
236
+ max-width: 20%;
237
+ }
238
+ }
239
+
240
+ @media (min-width: 960px) {
241
+ .footer__findUs {
242
+ max-width: 15%;
243
+ }
244
+ }
245
+
246
+ @media (max-width: 575px) {
247
+ .footer__findUs {
248
+ width: 100%;
249
+ }
250
+ }
251
+
252
+ .footer__findUs ul {
253
+ display: flex;
254
+ flex-direction: row;
255
+ }
256
+
257
+ .footer__findUs ul li {
258
+ margin-right: 0.4rem;
259
+ }
260
+
261
+ .footer-links__title {
262
+ width: 100%;
263
+ text-transform: uppercase;
264
+ font-weight: bold;
265
+ color: var(--primary-main-light-4);
266
+ }
267
+
268
+ .product-categories {
269
+ cursor: pointer;
270
+ display: flex;
271
+ flex-flow: row wrap;
272
+ align-items: flex-start;
273
+ flex-direction: row;
274
+ justify-content: space-between;
275
+ list-style-type: none;
276
+ font-family: 'Inter', sans-serif;
277
+ font-size: 12px;
278
+ font-weight: bold;
279
+ font-stretch: normal;
280
+ font-style: normal;
281
+ line-height: 1.33;
282
+ letter-spacing: -0.3px;
283
+ padding-top: 1rem;
284
+ width: 100%;
285
+ padding-bottom: 0.6rem;
286
+ }
287
+
288
+ .product-categories:not(:last-child) {
289
+ border-bottom: 1px solid var(--primary-main);
290
+ }
291
+
292
+ .product-categories:has(.open) {
293
+ padding-bottom: 0;
294
+ }
295
+
296
+ .expand-icon {
297
+ width: 10px;
298
+ height: 13px;
299
+ transform: rotate(90deg);
300
+ margin-right: 8px;
301
+ }
302
+
303
+ .expand-icon:before,
304
+ .expand-icon:after {
305
+ width: 2px;
306
+ background-color: var(--others-white);
307
+ }
308
+
309
+ .expand-icon.open {
310
+ transform: rotate(-90deg);
311
+ }
312
+
313
+ .rotate {
314
+ transform: rotate(180deg);
315
+ }
316
+
317
+ .list-box {
318
+ background-color: var(--primary-main-dark-1);
319
+ width: 100%;
320
+ padding-left: 0.5rem;
321
+ margin-top: 0.6rem;
322
+ }
323
+
324
+ .list-products {
325
+ margin: 14px 0;
326
+ }
327
+
328
+ .footer__media__logos__wrapper {
329
+ width: 84%;
330
+ display: flex;
331
+ justify-content: space-around;
332
+ padding-bottom: 35px;
333
+ flex-wrap: wrap;
334
+ flex-direction: row;
335
+ }
336
+
337
+ .footer__media__logos__wrapper .logo {
338
+ display: inline-flex;
339
+ padding-left: 20px;
340
+ align-items: center;
341
+ height: 59px;
342
+ }
343
+
344
+ .footer__media__logos__wrapper .logo:first-child {
345
+ padding-left: 0;
346
+ }
347
+
348
+ @media (max-width: 720px) {
349
+ .footer__media__logos__wrapper {
350
+ width: 100%;
351
+ padding-bottom: 15px;
352
+ flex-wrap: wrap;
353
+ }
354
+
355
+ .footer__media__logos__wrapper .logo {
356
+ width: 50%;
357
+ }
358
+ }
359
+
360
+ .separator {
361
+ display: block;
362
+ width: 84%;
363
+ height: 1px;
364
+ background-color: var(--primary-main-light-1);
365
+ margin-bottom: 30px;
366
+ }
367
+
368
+ @media (max-width: 720px) {
369
+ .separator {
370
+ width: 100%;
371
+ }
372
+ }
373
+
374
+ .footer-trustpilot {
375
+ display: none;
376
+ }
377
+
378
+ @media (min-width: 720px) {
379
+ .footer-trustpilot {
380
+ display: flex;
381
+ }
382
+ }
383
+
384
+ .footer-trustpilot-mobile {
385
+ display: flex;
386
+ width: 100%;
387
+ margin: 1rem 0 2rem 0;
388
+ }
389
+
390
+ @media (min-width: 720px) {
391
+ .footer-trustpilot-mobile {
392
+ display: none;
393
+ }
394
+ }
395
+ `
@@ -0,0 +1,307 @@
1
+ import React from 'react'
2
+
3
+ import { FixedFooterProps } from './FixedFooterProps'
4
+ import { FixedFooterStyled } from './FixedFooter.styled'
5
+
6
+ import { Button } from '../Button'
7
+ import { ContactBox } from '../../molecules/ContactBox'
8
+ import { Disclaimer } from '../Disclaimer'
9
+ import { IconWeb } from '../../../../images/componentsSvg/IconWeb'
10
+ import { LanguageSelectorMobile } from '../../organisms/LanguageSelectorMobile'
11
+ import { Logo } from '../Logo'
12
+ import { PhoneIcon } from '../../../../images/componentsSvg/PhoneIcon'
13
+ import { WideInfoBar } from '../WideInfoBar'
14
+
15
+ import facebook from '../../../../images/svg/facebook.svg'
16
+ import guaranteeIconGrey from '../../../../images/svg/icon-24-px-satisfaction-grey.svg'
17
+ import linkedin from '../../../../images/svg/linkedin.svg'
18
+ import pinterest from '../../../../images/svg/pinterest.svg'
19
+ import securityIconBlack from '../../../../images/svg/icon-24-px-security_black.svg'
20
+ import x from '../../../../images/svg/x.svg'
21
+
22
+ export const FixedFooter: React.FC<FixedFooterProps> = ({
23
+ config = {
24
+ siteName: 'LawDistrict',
25
+ sitePhone: '123-456-7890',
26
+ siteSchedule: 'Monday - Friday, 9am - 5pm',
27
+ siteUrl: 'https://www.lawdistrict.com',
28
+ hasGrav: true,
29
+ hasCookieMessage: true,
30
+ hasContactBar: false,
31
+ hasTrustPilot: true,
32
+ isJonSnow: false,
33
+ isSEMPage: false,
34
+ isMobile: false,
35
+ isTablet: false,
36
+ isDesktop: true,
37
+ isAnonymousPayment: false,
38
+ hide: false,
39
+ noFooter: false
40
+ },
41
+ footer = {
42
+ disclaimerText: '',
43
+ guaranteeText: '',
44
+ securityText: '',
45
+ bottomFixedBlock: <></>,
46
+ createDocumentBlock: <></>,
47
+ trustPilotWidget: <></>
48
+ },
49
+ preFooter = {
50
+ show: true,
51
+ title: 'Try LawDistrict Now',
52
+ columns: [
53
+ 'Instant and complete access to our entire library of legal forms',
54
+ 'Edit, download and print in PDF and Word format from any device',
55
+ 'Save time and money on legal document creation'
56
+ ],
57
+ hasButton: true,
58
+ buttonLabel: 'Get Unlimited Access Now',
59
+ buttonLink: './',
60
+ buttonClick: () => {}
61
+ },
62
+ productsBlock = {
63
+ title: 'Products',
64
+ productsCategories: <></>,
65
+ allProductsLink: <></>
66
+ },
67
+ popularDocumentsBlock = {
68
+ title: 'Popular Documents',
69
+ popularDocuments: <></>
70
+ },
71
+ companyBlock = {
72
+ title: 'Company',
73
+ links: <></>
74
+ },
75
+ helpBlock = {
76
+ title: 'Help',
77
+ links: <></>
78
+ },
79
+ resourcesBlock = {
80
+ title: 'Resources',
81
+ links: <></>
82
+ },
83
+ languageSelector = {
84
+ show: false,
85
+ content: <></>
86
+ }
87
+ }) => {
88
+ return (
89
+ <FixedFooterStyled>
90
+ {preFooter.show && (
91
+ <section className={'prefooter'}>
92
+ <div className='wrapper'>
93
+ <div className='prefooter-container'>
94
+ <div className='serif --hero prefooter__title'>{preFooter.title}</div>
95
+ <div className={'prefooter--columns'}>
96
+ {preFooter.columns.map((column, index) => (
97
+ <p key={index} className='prefooter--columns__text'>
98
+ {column}
99
+ </p>
100
+ ))}
101
+ </div>
102
+ {preFooter.hasButton && (
103
+ <Button
104
+ label={preFooter.buttonLabel}
105
+ onClick={preFooter.buttonClick}
106
+ link={preFooter.buttonLink}
107
+ dataQa={'cta-footer'}
108
+ isExternal
109
+ hasNoFollow
110
+ />
111
+ )}
112
+ </div>
113
+ </div>
114
+ </section>
115
+ )}
116
+ {config.isSEMPage && config.isMobile && (
117
+ <footer className={'sem-footer'}>
118
+ <section className={'sem-footer__wrapper'}>
119
+ <ul className='sem-footer__legal-links'>{companyBlock.links}</ul>
120
+ <div className='sem-footer__contact-info'>
121
+ <div className='sem-footer__contact-info__phone'>
122
+ <PhoneIcon width={20} height={20} fill={'white'} />
123
+ <b>{config.sitePhone} </b>
124
+ </div>
125
+ <div className='sem-footer__contact-info__schedule'>{config.siteSchedule}</div>
126
+ </div>
127
+ <div className='fixed-container'>{footer.createDocumentBlock}</div>
128
+ </section>
129
+ </footer>
130
+ )}
131
+ {!config.isSEMPage && (
132
+ <footer>
133
+ {!config.hide && !config.noFooter ? (
134
+ <>
135
+ <div className='language-selector-mobile-container'>
136
+ {languageSelector.show === true && languageSelector.content}
137
+ </div>
138
+ <section className={'footer__wrapper'}>
139
+ <div className={'footer__products'}>
140
+ <p className={'sans-serif --small footer-links__title'}>{productsBlock.title}</p>
141
+ {productsBlock.productsCategories}
142
+ <div className={'sans-serif --extra-small product-categories'}>{productsBlock.allProductsLink}</div>
143
+ </div>
144
+ <div className={'footer__popular-documents'}>
145
+ <p className={'sans-serif --small footer-links__title'}>{popularDocumentsBlock.title}</p>
146
+ <ul>{popularDocumentsBlock.popularDocuments}</ul>
147
+ {config.isTablet && (
148
+ <div className='footer__help__tablet'>
149
+ <p className={'sans-serif --small footer-links__title'}>{helpBlock.title}</p>
150
+ <ul>{helpBlock.links}</ul>
151
+ </div>
152
+ )}
153
+ </div>
154
+ {(config.isMobile || config.isDesktop) && (
155
+ <div className={'footer__company'}>
156
+ <p className={'sans-serif --small footer-links__title'}>{companyBlock.title}</p>
157
+ <ul>{companyBlock.links}</ul>
158
+ </div>
159
+ )}
160
+ <div className='footer__company__resources__findUs'>
161
+ {config.isTablet && (
162
+ <>
163
+ <p className={'sans-serif --small footer-links__title'}>{companyBlock.title}</p>
164
+ <ul>{companyBlock.links}</ul>
165
+
166
+ {!config.isJonSnow && config.hasGrav && config.isTablet && (
167
+ <div className='footer__resources'>
168
+ <p className={'sans-serif --small footer-links__title'}>{resourcesBlock.title}</p>
169
+ <ul>{resourcesBlock.links}</ul>
170
+ </div>
171
+ )}
172
+ </>
173
+ )}
174
+ </div>
175
+ {!config.isTablet && (
176
+ <div className={'footer__help__resources'}>
177
+ <div>
178
+ <div className='footer__help'>
179
+ <p className={'sans-serif --small footer-links__title'}>{helpBlock.title}</p>
180
+ <ul>{helpBlock.links}</ul>
181
+ </div>
182
+ {!config.isJonSnow && config.hasGrav && (
183
+ <div className='footer__resources'>
184
+ <p className={'sans-serif --small footer-links__title'}>{resourcesBlock.title}</p>
185
+ <ul>{resourcesBlock.links}</ul>
186
+ </div>
187
+ )}
188
+ </div>
189
+ </div>
190
+ )}
191
+ <div className={'footer__findUs'}>
192
+ <div className='find-us-container'>
193
+ {!config.isJonSnow && (
194
+ <>
195
+ <div className='find-us-content'>
196
+ <p className={'sans-serif --small footer-links__title'}>Find us</p>
197
+ <ul>
198
+ <li>
199
+ <a
200
+ href={'https://www.facebook.com/lawdistrictlegal'}
201
+ rel='noopener noreferrer'
202
+ target='_blank'
203
+ >
204
+ <img src={facebook} alt='Facebook logo' width='32' height='32' />
205
+ </a>
206
+ </li>
207
+ <li>
208
+ <a href={'https://twitter.com/district_law'} rel='noopener noreferrer' target='_blank'>
209
+ <img src={x} alt='Twitter logo' width='32' height='32' />
210
+ </a>
211
+ </li>
212
+ <li>
213
+ <a
214
+ href={'https://www.linkedin.com/company/law-district/'}
215
+ rel='noopener noreferrer'
216
+ target='_blank'
217
+ >
218
+ <img src={linkedin} alt='Linkedin logo' width='32' height='32' />
219
+ </a>
220
+ </li>
221
+ <li>
222
+ <a
223
+ href={'https://www.pinterest.com/lawdistrict/'}
224
+ rel='noopener noreferrer'
225
+ target='_blank'
226
+ >
227
+ <img src={pinterest} alt='Pinterest logo' width='32' height='32' />
228
+ </a>
229
+ </li>
230
+ </ul>
231
+ </div>
232
+ <div className={'footer-contact-box'}>
233
+ <span className='footer-contact-box_phone'>{config.sitePhone}</span>
234
+ <Button
235
+ centered
236
+ isExternal
237
+ link={`tel:${config.sitePhone}`}
238
+ givenClass={'footer-contact-box_phone-button'}
239
+ label={config.sitePhone}
240
+ dataQa={'footer_contact_box'}
241
+ />
242
+ </div>
243
+ </>
244
+ )}
245
+ <div className={'footer__logo'}>
246
+ <Logo
247
+ className='footer__lawdistrict'
248
+ siteName={config.siteName}
249
+ width='138'
250
+ height='24'
251
+ type='white'
252
+ />
253
+ </div>
254
+ </div>
255
+ {config.hasTrustPilot && footer.trustPilotWidget}
256
+ </div>
257
+ {!config.isJonSnow && (
258
+ <div className={'footer__mobile-contact'}>
259
+ <ContactBox
260
+ mobile={true}
261
+ phone={config.sitePhone}
262
+ schedule={config.siteSchedule}
263
+ mobileGtmTag='clicked_phone_footer'
264
+ dataQa='footer_contact_box'
265
+ darkMode
266
+ />
267
+ </div>
268
+ )}
269
+ </section>
270
+ </>
271
+ ) : null}
272
+ {config.hasContactBar && (
273
+ <WideInfoBar>
274
+ <>
275
+ <div className={`contact-bar-wrapper ${(config.isJonSnow || config.isAnonymousPayment) && 'hidden'}`}>
276
+ <IconWeb />
277
+ <div className='contact-bar-wrapper__text'>
278
+ <div className='is-mobile'>
279
+ <a className='phone' href={`tel:${config.sitePhone}`}>
280
+ <strong>{config.sitePhone}</strong>
281
+ </a>
282
+ {` - ${config.siteSchedule}`}
283
+ </div>
284
+ <div className='no-mobile'>
285
+ <strong>{config.sitePhone}</strong> - {config.siteSchedule}
286
+ </div>
287
+ </div>
288
+ </div>
289
+ <div className='contact-bar-wrapper'>
290
+ <img src={securityIconBlack} alt='' />
291
+ <p className='contact-bar-wrapper__text'>{footer.securityText}</p>
292
+ </div>
293
+ <div className='contact-bar-wrapper'>
294
+ <img src={guaranteeIconGrey} alt='' />
295
+ <p className='contact-bar-wrapper__text'>{footer.guaranteeText}</p>
296
+ </div>
297
+ </>
298
+ </WideInfoBar>
299
+ )}
300
+ <Disclaimer text={footer.disclaimerText} siteUrl={config.siteUrl} />
301
+ <div className='fixed-container'>{footer.createDocumentBlock}</div>
302
+ </footer>
303
+ )}
304
+ {footer.bottomFixedBlock}
305
+ </FixedFooterStyled>
306
+ )
307
+ }