gatsby-core-theme 13.0.5 → 14.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 (46) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/gatsby-node.esm.js +1 -0
  3. package/package.json +1 -1
  4. package/src/components/app-ssr.js +3 -3
  5. package/src/components/app.js +3 -3
  6. package/src/components/atoms/author/index.js +1 -1
  7. package/src/components/atoms/author-box/author-box.test.js +1 -1
  8. package/src/components/atoms/author-box/index.js +3 -3
  9. package/src/components/atoms/breadcrumbs/index.js +2 -2
  10. package/src/components/atoms/module-title/index.js +25 -21
  11. package/src/components/atoms/module-title/module-title.test.js +13 -13
  12. package/src/components/atoms/operator-cta/index.js +1 -1
  13. package/src/components/atoms/scroll-to-top/index.js +6 -3
  14. package/src/components/atoms/scroll-to-top/scroll-to-top.module.scss +34 -2
  15. package/src/components/atoms/sitemap/index.js +1 -1
  16. package/src/components/atoms/spotlights/index.js +5 -5
  17. package/src/components/atoms/spotlights/spotlights.module.scss +39 -41
  18. package/src/components/molecules/operator-banner/index.js +79 -80
  19. package/src/components/molecules/operator-banner/operator-banner.module.scss +177 -144
  20. package/src/components/molecules/operator-banner/operator-banner.test.js +18 -6
  21. package/src/components/molecules/pagination/with-midpoints.js +1 -1
  22. package/src/components/molecules/star-rating/one-star.js +3 -5
  23. package/src/components/molecules/star-rating/one-star.module.scss +5 -0
  24. package/src/components/molecules/star-rating/one-star.test.js +3 -3
  25. package/src/components/molecules/toplist/default-row/default-row.module.scss +4 -0
  26. package/src/components/molecules/toplist/default-row/index.js +17 -8
  27. package/src/components/organisms/anchor/index.js +24 -18
  28. package/src/components/organisms/archive/index.js +1 -1
  29. package/src/components/organisms/cookie-consent/cookie-consent.module.scss +42 -11
  30. package/src/components/organisms/cookie-consent/cookie-consent.test.js +19 -11
  31. package/src/components/organisms/cookie-consent/index.js +41 -15
  32. package/src/components/organisms/navigation/index.js +13 -4
  33. package/src/components/organisms/navigation/navigation.module.scss +0 -5
  34. package/src/components/organisms/toplist/list/index.js +10 -1
  35. package/src/components/pages/body/body.test.js +16 -4
  36. package/src/context/MainProvider.js +24 -0
  37. package/src/helpers/getters.js +2 -2
  38. package/src/helpers/processor/common.js +1 -0
  39. package/src/helpers/processor/index.js +1 -0
  40. package/src/helpers/processor/modules.js +1 -0
  41. package/src/helpers/processor/sports.js +1 -0
  42. package/src/hooks/gatsby-img/index.js +3 -0
  43. package/src/hooks/scroll-x/index.js +50 -0
  44. package/src/images/logo.png +0 -0
  45. package/tests/factories/pages/list.factory.js +1 -0
  46. package/src/context/TranslationsProvider.js +0 -9
package/CHANGELOG.md CHANGED
@@ -1,3 +1,60 @@
1
+ # [14.0.0](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/compare/v13.0.6...v14.0.0) (2022-11-01)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * anchor scroll ([21ad450](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/commit/21ad450787c23899fe09351489f18c481c45aabd))
7
+ * fix content module operator banner issue ([6b3ccce](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/commit/6b3ccce3ff8a53c3484d4e85d190fa0a6bb42c17))
8
+ * lighthouse ([933aa69](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/commit/933aa6932de3495ad057888d02887f30f932f88b))
9
+ * module title and logo image ([5c0b107](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/commit/5c0b10723a7bc1d3ed5f1526d63a6b3b8270ca6a))
10
+ * module title and logo image ([2b5ada5](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/commit/2b5ada51777467cb99eba583d9457c119e88ac8a))
11
+ * module title and logo image ([d8c6707](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/commit/d8c6707fe0d74daa4d53c8c7e43bef2e1a2d6fc7))
12
+ * removed useless divs and change logo to use gatsby image ([73a0d9b](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/commit/73a0d9bc4336feeb5dc25accdb446565db6d68a0))
13
+ * scrollable prop ([fcfa439](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/commit/fcfa439c80b60793f45a549b55ca6555b74cee59))
14
+ * test ([7fd7a4d](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/commit/7fd7a4d9c044a9841cae9a674cbe999da5deea46))
15
+ * toplist item ([a0e369b](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/commit/a0e369b8e2e6cec6db46bff7e8d7f83e53a0b5cb))
16
+
17
+
18
+ ### Code Refactoring
19
+
20
+ * add banner context to core theme ([229dedd](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/commit/229dedd58b6a62f9c64d14f939959a34ef19f87e))
21
+ * minor css ([d6d44e4](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/commit/d6d44e42c96e291ef29443c00e9012fdfb6823ad))
22
+ * operator banner width ([6d75b35](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/commit/6d75b35d9c163169af601fa58fd5921ad7cf0ef4))
23
+ * remove operator banner ([acb3ce1](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/commit/acb3ce1f69eb3cd4146acced199173cba01a9d9e))
24
+
25
+
26
+ ### Config
27
+
28
+ * merge master ([d14a48f](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/commit/d14a48f5988f69d414f88f9944ed90ea6d169130))
29
+
30
+
31
+ * Merge branch 'tm-3103-Dom-size-changes' into 'master' ([ac23b7d](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/commit/ac23b7d0686a596f2aa31edeb077462ff47cd320))
32
+ * Merge branch 'tm-3080-anchor-scroll-logic' into 'master' ([a00dfbd](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/commit/a00dfbdef6e9ac07e095c8936dc633568d41cbdd))
33
+ * Merge branch 'tm-3079-banner-context' into 'master' ([9b6e85d](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/commit/9b6e85da39da788952daf7e6ea1d5bae0eb2be13))
34
+ * Merge branch 'master' into tm-3079-banner-context ([4480de2](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/commit/4480de2eb45ba1fbe5307ce80b6477f45b96c8e5))
35
+
36
+
37
+ ### Tests
38
+
39
+ * fix test scripts ([46ca683](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/commit/46ca6835e16fcaac3968801e9533fef36051f542))
40
+
41
+ ## [13.0.6](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/compare/v13.0.5...v13.0.6) (2022-10-28)
42
+
43
+
44
+ ### Bug Fixes
45
+
46
+ * author date separator and author first name extract ([4167337](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/commit/4167337bd1662e54cc2a860cc5b688aa79328abf))
47
+ * gif cdn ([35f9d31](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/commit/35f9d3186698b4883590e53aa695604a4d08dd15))
48
+ * module title for cards v2 ([338ce09](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/commit/338ce0912e46c76653f4bc944b155578bc1a472d))
49
+
50
+
51
+ * Merge branch 'TM-3044-replace-author' into 'master' ([a5cd364](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/commit/a5cd364a3d3362fae6b1461b8ab1c56993604a12))
52
+
53
+
54
+ ### Tests
55
+
56
+ * fix for test script ([f80707f](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/commit/f80707fcfacaafba4c8b5ae1c856daebe1dd9616))
57
+
1
58
  ## [13.0.5](https://git.ilcd.rocks/team-floyd/themes/gatsby-themes/compare/v13.0.4...v13.0.5) (2022-10-26)
2
59
 
3
60
 
@@ -1,3 +1,4 @@
1
+ /* eslint-disable import/no-extraneous-dependencies */
1
2
  /* eslint-disable prefer-destructuring */
2
3
  /* eslint-disable no-unused-vars */
3
4
  /* eslint no-console: ["error", { allow: ["log"] }], no-shadow: ["error", { "allow": ["marketSections", "prefilledModules"] }] */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gatsby-core-theme",
3
- "version": "13.0.5",
3
+ "version": "14.0.0",
4
4
  "description": "Gatsby Theme NPM Package",
5
5
  "main": "index.js",
6
6
  "GATSBY_RECAPTCHA_SITEKEY": "6LfoyvMUAAAAAO4nl_MQnqHb4XdHxEiu5cXgIqeB",
@@ -3,7 +3,7 @@
3
3
  import React, { useEffect, useState } from 'react';
4
4
  import PropTypes from 'prop-types';
5
5
  import { globalHistory } from '@reach/router';
6
- import TranslationsProvider from '~context/TranslationsProvider';
6
+ import MainProvider from '~context/MainProvider';
7
7
  import Body from '~pages/body';
8
8
  import HeadData from '~organisms/head';
9
9
  import { getAPIData } from '~helpers/server-data';
@@ -55,9 +55,9 @@ const AppSSR = ({ pageContext, serverData }) => {
55
55
 
56
56
  return (
57
57
  <>
58
- <TranslationsProvider value={{ translations }}>
58
+ <MainProvider value={{ translations }}>
59
59
  <Body pageContext={isPreview ? previewContext : pageContext} serverData={serverData} />
60
- </TranslationsProvider>
60
+ </MainProvider>
61
61
  </>
62
62
  );
63
63
  };
@@ -4,7 +4,7 @@ import React, { useEffect, useState } from 'react';
4
4
  import PropTypes from 'prop-types';
5
5
  import loadable from '@loadable/component';
6
6
  import { globalHistory } from '@reach/router';
7
- import TranslationsProvider from '~context/TranslationsProvider';
7
+ import MainProvider from '~context/MainProvider';
8
8
  import Body from '~pages/body';
9
9
  import HeadData from '~organisms/head';
10
10
 
@@ -61,9 +61,9 @@ const App = ({ pageContext }) => {
61
61
  <TrackerContent pageContext={pageContext} path={pageContext.page.path} />
62
62
  </>
63
63
  ) : (
64
- <TranslationsProvider value={{ translations }}>
64
+ <MainProvider value={{ translations }}>
65
65
  <Body pageContext={isPreview ? previewContext : pageContext} />
66
- </TranslationsProvider>
66
+ </MainProvider>
67
67
  );
68
68
  };
69
69
 
@@ -14,7 +14,7 @@ const Author = ({
14
14
  prefix = '',
15
15
  date = '',
16
16
  dateFormat = 'DD.MM.YYYY',
17
- dateSeparator = '.',
17
+ dateSeparator = '/',
18
18
  readingTime = '',
19
19
  reviewer = {},
20
20
  }) => {
@@ -24,7 +24,7 @@ describe('author box component', () => {
24
24
  // Biography
25
25
  expect(getByText('Here goes the biography of the author.')).toBeTruthy();
26
26
  // CTA
27
- expect(getByText('More about Ida Moen Olsen')).toBeTruthy();
27
+ expect(getByText('More about Ida')).toBeTruthy();
28
28
  });
29
29
  });
30
30
  afterEach(() => {
@@ -13,7 +13,7 @@ import styles from './author-box.module.scss';
13
13
  import LazyImage from '~hooks/lazy-image';
14
14
  import Link from '~hooks/link';
15
15
  import { formatDate } from '~helpers/date-time';
16
- import { Context } from '~context/TranslationsProvider';
16
+ import { Context } from '~context/MainProvider';
17
17
 
18
18
  export default function AuthorBox({
19
19
  author,
@@ -22,7 +22,7 @@ export default function AuthorBox({
22
22
  email = '../../../images/email.svg',
23
23
  date = '',
24
24
  dateFormat = 'DD.MM.YYYY',
25
- dateSeparator = '.',
25
+ dateSeparator = '/',
26
26
  readingTime = '',
27
27
  reviewer = {},
28
28
  check = '../../../images/check.svg',
@@ -133,7 +133,7 @@ export default function AuthorBox({
133
133
  >
134
134
  {translate(translations, 'read_more_about', 'More about [author]').replace(
135
135
  '[author]',
136
- author.name
136
+ author.name.split(' ')[0]
137
137
  )}
138
138
  <FaArrowRight />
139
139
  </Link>
@@ -6,7 +6,7 @@ import Link from '~hooks/link';
6
6
  import styles from './breadcrumbs.module.scss';
7
7
  import keygen from '~helpers/keygen';
8
8
  import { translate } from '~helpers/getters';
9
- import { Context } from '~context/TranslationsProvider';
9
+ import { Context } from '~context/MainProvider';
10
10
 
11
11
  function Breadcrumbs({ page, separator = <span> / </span> }) {
12
12
  const { translations } = useContext(Context) || {};
@@ -45,7 +45,7 @@ Breadcrumbs.propTypes = {
45
45
  page: PropTypes.shape({
46
46
  title: PropTypes.string,
47
47
  path: PropTypes.string,
48
- breadcrumbs: PropTypes.arrayOf(PropTypes.object),
48
+ breadcrumbs: PropTypes.arrayOf(PropTypes.shape({})),
49
49
  vanity_label: PropTypes.string,
50
50
  translations: PropTypes.shape({}),
51
51
  }).isRequired,
@@ -6,13 +6,13 @@ import Link from '~hooks/link';
6
6
  import styles from './module-title.module.scss';
7
7
 
8
8
  const ModuleTitle = ({ module, viewMoreIcon = <FaAngleRight />, pageContext = null }) => {
9
- const getTitle = () => {
9
+ const getTitle = (classname = '') => {
10
10
  if (module.module_title_tag === 'h2') return <h2>{module.module_title}</h2>;
11
11
  if (module.module_title_tag === 'h3') return <h3>{module.module_title}</h3>;
12
12
  if (module.module_title_tag === 'h4') return <h4>{module.module_title}</h4>;
13
13
  if (module.module_title_tag === 'h5') return <h5>{module.module_title}</h5>;
14
14
  if (module.module_title_tag === 'h6') return <h6>{module.module_title}</h6>;
15
- return <span className={styles.noTag}>{module.module_title}</span>;
15
+ return <span className={`${styles.noTag} ${classname}`}>{module.module_title}</span>;
16
16
  };
17
17
  // if (
18
18
  // module.name === 'content' &&
@@ -26,25 +26,29 @@ const ModuleTitle = ({ module, viewMoreIcon = <FaAngleRight />, pageContext = nu
26
26
 
27
27
  const type = pageContext && pageContext?.page?.type;
28
28
 
29
- return (
30
- <>
31
- {(module.module_title || module.link_label) && (
32
- <div
33
- className={`${styles.moduleTitle} ${styles[type]} ${
34
- module?.style && styles[module.style]
35
- }`}
36
- >
37
- {module.module_title && getTitle(module)}
38
- {module.link_label && (
39
- <Link to={module.link_value} className={`${styles.viewMore} module-title-gtm`}>
40
- {module.link_label}
41
- {viewMoreIcon}
42
- </Link>
43
- )}
44
- </div>
45
- )}
46
- </>
47
- );
29
+ if (module.module_title && module.link_label) {
30
+ return (
31
+ <div
32
+ className={`${styles.moduleTitle} ${styles[type]} ${
33
+ module?.style && styles[module.style]
34
+ }`}
35
+ >
36
+ {getTitle(module)}
37
+
38
+ <Link to={module.link_value} className={`${styles.viewMore} module-title-gtm`}>
39
+ {module.link_label}
40
+ {viewMoreIcon}
41
+ </Link>
42
+ </div>
43
+ );
44
+ }
45
+
46
+ if (module.module_title && !module.link_label) {
47
+ return (
48
+ module.module_title &&
49
+ getTitle(`${styles.moduleTitle} ${styles[type]} ${module?.style && styles[module.style]}`)
50
+ );
51
+ }
48
52
  };
49
53
 
50
54
  ModuleTitle.propTypes = {
@@ -24,19 +24,19 @@ describe('Module Title Component', () => {
24
24
  expect(container.querySelector('i.arrow-left')).toBeTruthy();
25
25
  });
26
26
 
27
- test('without title', () => {
28
- const { container, getByText } = render(
29
- <ModuleTitle
30
- module={{
31
- link_label: 'View More',
32
- link_value: '/more',
33
- }}
34
- />
35
- );
36
- expect(container.querySelector('h2')).toBeFalsy();
37
- expect(getByText('View More')).toBeTruthy();
38
- expect(container.querySelector('a.viewMore').getAttribute('href')).toEqual('/more');
39
- });
27
+ // test('without title', () => {
28
+ // const { container, getByText } = render(
29
+ // <ModuleTitle
30
+ // module={{
31
+ // link_label: 'View More',
32
+ // link_value: '/more',
33
+ // }}
34
+ // />
35
+ // );
36
+ // expect(container.querySelector('h2')).toBeFalsy();
37
+ // expect(getByText('View More')).toBeTruthy();
38
+ // expect(container.querySelector('a.viewMore').getAttribute('href')).toEqual('/more');
39
+ // });
40
40
 
41
41
  test('all H elements', () => {
42
42
  const arr = ['h2', 'h3', 'h4', 'h5', 'h6'];
@@ -4,7 +4,7 @@ import PropTypes from 'prop-types';
4
4
 
5
5
  import Button from '~atoms/button';
6
6
  import { prettyTracker, translate } from '~helpers/getters';
7
- import { Context } from '~context/TranslationsProvider';
7
+ import { Context } from '~context/MainProvider';
8
8
  import styles from './operator-cta.module.scss';
9
9
 
10
10
  export default function OperatorCta({
@@ -1,10 +1,11 @@
1
- import React, { useState, useEffect } from 'react';
1
+ import React, { useState, useEffect, useContext } from 'react';
2
2
  import PropTypes from 'prop-types';
3
-
3
+ import { Context } from '~context/MainProvider';
4
4
  import styles from './scroll-to-top.module.scss';
5
5
 
6
6
  const ScrollToTop = ({ scrollTo = '0' }) => {
7
7
  const [showScroll, setShowScroll] = useState(false);
8
+ const { cookieAccepted, bannerIsActive } = useContext(Context) || {};
8
9
 
9
10
  const checkScrollTop = () => {
10
11
  if (!showScroll && window.pageYOffset > 400) {
@@ -35,7 +36,9 @@ const ScrollToTop = ({ scrollTo = '0' }) => {
35
36
  type="button"
36
37
  aria-label="Scroll to top"
37
38
  onClick={(e) => scrollTop(e)}
38
- className={styles.scrollToTop}
39
+ className={`${styles.scrollToTop} ${cookieAccepted && styles.cookieAccepted} ${
40
+ !bannerIsActive && styles.closedBanner
41
+ }`}
39
42
  style={{ display: showScroll ? 'flex' : 'none' }}
40
43
  />
41
44
  );
@@ -12,7 +12,7 @@ body[data-scroll='0'] {
12
12
  width: 64px;
13
13
  height: 64px;
14
14
  text-align: center;
15
- bottom: 0;
15
+ bottom: 47rem;
16
16
  position: fixed;
17
17
  right: 0;
18
18
 
@@ -22,4 +22,36 @@ body[data-scroll='0'] {
22
22
  bottom: calc(50% - 1.25rem);
23
23
  left: calc(50% - 1rem);
24
24
  }
25
- }
25
+
26
+ &.cookieAccepted {
27
+ bottom: 25rem;
28
+
29
+ &.closedBanner{
30
+ bottom: 0;
31
+ }
32
+
33
+ @include min(tablet){
34
+ bottom: 11rem;
35
+ }
36
+ }
37
+
38
+ &.closedBanner{
39
+ bottom: 22rem;
40
+
41
+ @include min(tablet){
42
+ bottom: 16.2rem;
43
+ }
44
+
45
+ @include min(laptop){
46
+ bottom: 7.4rem;
47
+ }
48
+ }
49
+
50
+ @include min(tablet){
51
+ bottom: 27.2rem;
52
+ }
53
+
54
+ @include min(laptop){
55
+ bottom: 18.4rem;
56
+ }
57
+ }
@@ -6,7 +6,7 @@ import { BiSitemap } from '@react-icons/all-files/bi/BiSitemap';
6
6
  import { IoMdLink } from '@react-icons/all-files/io/IoMdLink';
7
7
  // eslint-disable-next-line import/no-extraneous-dependencies
8
8
  import Masonry from 'react-masonry-css';
9
- import { Context } from '~context/TranslationsProvider';
9
+ import { Context } from '~context/MainProvider';
10
10
  import { translate } from '~helpers/getters';
11
11
  import styles from './sitemap.module.scss';
12
12
  import Link from '~hooks/link';
@@ -47,14 +47,14 @@ const Spotlights = ({ module, themeStyles = {} }) => {
47
47
  };
48
48
 
49
49
  return (
50
- <div className={`${styles.spotlightsContainer} ${getStyle()}`}>
50
+ <>
51
51
  {show_read_more === '1' && (
52
52
  <div
53
53
  className={styles.spotlightsText}
54
54
  dangerouslySetInnerHTML={{ __html: read_more_text }}
55
55
  />
56
56
  )}
57
- <ul>
57
+ <ul className={`${styles.spotlightsContainer} ${getStyle()}`}>
58
58
  {items.map((item) => (
59
59
  <li key={keygen()}>
60
60
  {item.link &&
@@ -82,7 +82,7 @@ const Spotlights = ({ module, themeStyles = {} }) => {
82
82
 
83
83
  {mode === 'image_text' &&
84
84
  (item.link && item.link.value ? (
85
- <div className={styles.spotlightsTextCTA}>
85
+ <>
86
86
  {item?.text && <div dangerouslySetInnerHTML={{ __html: item.text }} />}
87
87
  <Button
88
88
  to={item.link.value}
@@ -94,14 +94,14 @@ const Spotlights = ({ module, themeStyles = {} }) => {
94
94
  gtmClass="spotlights-gtm"
95
95
  btnText={item.link_text ? item.link_text : 'Read More'}
96
96
  />
97
- </div>
97
+ </>
98
98
  ) : (
99
99
  item.text && <div dangerouslySetInnerHTML={{ __html: item.text }} />
100
100
  ))}
101
101
  </li>
102
102
  ))}
103
103
  </ul>
104
- </div>
104
+ </>
105
105
  );
106
106
  };
107
107
  Spotlights.propTypes = {
@@ -3,56 +3,54 @@
3
3
  width: 100%;
4
4
  max-width: var(--main-container-max);
5
5
 
6
- ul {
7
- display: grid;
8
- grid-template-columns: repeat(1, 1fr);
9
- column-gap: 1rem;
10
- @include min(tablet) {
11
- grid-template-columns: repeat(2, 1fr);
12
- }
6
+ display: grid;
7
+ grid-template-columns: repeat(1, 1fr);
8
+ column-gap: 1rem;
9
+ @include min(tablet) {
10
+ grid-template-columns: repeat(2, 1fr);
11
+ }
12
+
13
+ @include min(desktop) {
14
+ grid-template-columns: repeat(3, 1fr);
15
+ column-gap: 1.6rem;
16
+ }
17
+ li {
18
+ text-align: center;
19
+ background-color: var(--color-9);
20
+ border: none;
21
+ margin-bottom: 1rem;
22
+ padding: 1.5rem;
13
23
 
14
24
  @include min(desktop) {
15
- grid-template-columns: repeat(3, 1fr);
16
- column-gap: 1.6rem;
25
+ margin-bottom: 1.6rem;
17
26
  }
18
- li {
19
- text-align: center;
20
- background-color: var(--color-9);
21
- border: none;
22
- margin-bottom: 1rem;
23
- padding: 1.5rem;
24
-
25
- @include min(desktop) {
26
- margin-bottom: 1.6rem;
27
- }
28
27
 
29
- @include flex-direction(column);
28
+ @include flex-direction(column);
30
29
 
31
- img {
32
- margin: 0 auto;
33
- margin-bottom: 1rem;
34
- }
30
+ img {
31
+ margin: 0 auto;
32
+ margin-bottom: 1rem;
33
+ }
35
34
 
36
- > div > a {
37
- @include flex-direction(column);
38
- color: #000;
39
- font-size: 2rem;
40
- font-weight: 700;
41
- margin-top: 1rem;
42
- width: 100%;
43
-
44
- label {
45
- cursor: pointer;
46
- }
35
+ > div > a {
36
+ @include flex-direction(column);
37
+ color: #000;
38
+ font-size: 2rem;
39
+ font-weight: 700;
40
+ margin-top: 1rem;
41
+ width: 100%;
42
+
43
+ label {
44
+ cursor: pointer;
47
45
  }
46
+ }
48
47
 
49
- span {
50
- display: block;
51
- }
48
+ span {
49
+ display: block;
50
+ }
52
51
 
53
- svg {
54
- display: none;
55
- }
52
+ svg {
53
+ display: none;
56
54
  }
57
55
  }
58
56
  }