@grantcodes/ui 2.12.1 → 2.15.5

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 (78) hide show
  1. package/CHANGELOG.md +75 -0
  2. package/README.md +5 -1
  3. package/custom-elements.json +295 -176
  4. package/package.json +11 -3
  5. package/src/components/accordion/accordion-item.css +14 -14
  6. package/src/components/accordion/accordion.css +1 -1
  7. package/src/components/app-bar/app-bar.component.js +2 -2
  8. package/src/components/app-bar/app-bar.css +68 -22
  9. package/src/components/app-bar/app-bar.stories.js +37 -0
  10. package/src/components/app-bar/app-bar.test.js +19 -0
  11. package/src/components/app-bar/nav-link.css +10 -11
  12. package/src/components/avatar/avatar.css +5 -6
  13. package/src/components/badge/badge.css +16 -15
  14. package/src/components/breadcrumb/breadcrumb.css +10 -11
  15. package/src/components/button/button.css +112 -24
  16. package/src/components/button/button.stories.js +37 -0
  17. package/src/components/button-group/button-group.css +4 -4
  18. package/src/components/card/card.css +25 -25
  19. package/src/components/code-preview/code-preview.css +6 -6
  20. package/src/components/container/container.css +2 -1
  21. package/src/components/container/container.stories.js +1 -1
  22. package/src/components/countdown/countdown.css +13 -13
  23. package/src/components/cta/cta.component.js +6 -5
  24. package/src/components/cta/cta.css +15 -23
  25. package/src/components/dialog/dialog.css +14 -14
  26. package/src/components/dropdown/dropdown.css +14 -14
  27. package/src/components/dropzone/dropzone.css +11 -12
  28. package/src/components/feature-list/feature-list.component.js +3 -2
  29. package/src/components/feature-list/feature-list.css +14 -20
  30. package/src/components/footer/footer-column.css +9 -10
  31. package/src/components/footer/footer.component.js +3 -2
  32. package/src/components/footer/footer.css +12 -18
  33. package/src/components/footer/footer.test.js +1 -1
  34. package/src/components/form-field/form-field.css +6 -6
  35. package/src/components/hero/hero.css +9 -9
  36. package/src/components/loading/loading.css +3 -3
  37. package/src/components/logo-cloud/logo-cloud.component.js +3 -2
  38. package/src/components/logo-cloud/logo-cloud.css +8 -16
  39. package/src/components/map/map.css +8 -8
  40. package/src/components/media-text/media-text.css +9 -9
  41. package/src/components/newsletter/newsletter.css +21 -21
  42. package/src/components/notice/notice.css +17 -17
  43. package/src/components/person/index.js +1 -0
  44. package/src/components/person/person.component.js +51 -0
  45. package/src/components/person/person.css +39 -0
  46. package/src/components/person/person.js +8 -0
  47. package/src/components/person/person.react.js +9 -0
  48. package/src/components/person/person.stories.js +59 -0
  49. package/src/components/person/person.test.js +69 -0
  50. package/src/components/pricing/pricing.component.js +3 -2
  51. package/src/components/pricing/pricing.css +33 -41
  52. package/src/components/sidebar/sidebar.css +21 -21
  53. package/src/components/stats/stats.component.js +3 -2
  54. package/src/components/stats/stats.css +13 -21
  55. package/src/components/tabs/internal/tabs-item.component.js +5 -0
  56. package/src/components/tabs/tabs.component.js +4 -2
  57. package/src/components/tabs/tabs.css +15 -15
  58. package/src/components/testimonials/testimonials.component.js +11 -24
  59. package/src/components/testimonials/testimonials.css +11 -36
  60. package/src/components/toast/toast.css +23 -24
  61. package/src/components/tooltip/tooltip.css +6 -6
  62. package/src/css/colors.stories.js +6 -6
  63. package/src/css/elements/a.css +4 -4
  64. package/src/css/elements/forms/input.css +27 -27
  65. package/src/css/elements/forms/label.css +1 -1
  66. package/src/css/elements/media/image.css +1 -0
  67. package/src/css/layers.stories.js +3 -3
  68. package/src/css/reset.css +3 -3
  69. package/src/css/themes/todomap.css +1 -1
  70. package/src/css/tokens.stories.js +16 -16
  71. package/src/css/typography.css +7 -7
  72. package/src/css/util/focus-ring.css +9 -9
  73. package/src/lib/styles/focus-ring.css +9 -9
  74. package/src/main.js +1 -0
  75. package/src/pages/agency.stories.js +5 -4
  76. package/src/pages/blog-post.stories.js +33 -50
  77. package/src/pages/saas-landing.stories.js +8 -7
  78. package/src/react.js +1 -0
@@ -14,33 +14,32 @@
14
14
  flex-direction: column;
15
15
  align-items: center;
16
16
  justify-content: center;
17
- padding: var(--g-theme-spacing-xl);
18
- border: max(var(--g-theme-border-width-md), 0.2rem) dashed
19
- var(--g-theme-color-border-default);
20
- border-radius: var(--g-theme-border-radius-md);
21
- background-color: var(--g-theme-color-background-subtle);
17
+ padding: var(--g-spacing-xl);
18
+ border: max(var(--g-border-width-md), 0.2rem) dashed
19
+ var(--g-color-border-default);
20
+ border-radius: var(--g-border-radius-md);
21
+ background-color: var(--g-color-background-subtle);
22
22
  }
23
23
 
24
24
  .dropzone--fullscreen {
25
25
  position: fixed;
26
26
  inset: 0;
27
27
  z-index: 10;
28
- background-color: var(--g-theme-color-background-default);
28
+ background-color: var(--g-color-background-default);
29
29
  }
30
30
 
31
31
  .dropzone--fullscreen::after {
32
32
  content: "";
33
33
  display: flex;
34
34
  position: fixed;
35
- inset: var(--g-theme-spacing-xl);
35
+ inset: var(--g-spacing-xl);
36
36
  justify-content: center;
37
37
  align-items: center;
38
- padding: var(--g-theme-spacing-xl);
39
- border: max(calc(var(--g-theme-border-width-md) * 2), 0.4rem) dashed
40
- var(--g-theme-color-border-default);
41
- border-radius: calc(var(--g-theme-border-radius-md) * 2);
38
+ padding: var(--g-spacing-xl);
39
+ border: max(calc(var(--g-border-width-md) * 2), 0.4rem) dashed
40
+ var(--g-color-border-default);
41
+ border-radius: calc(var(--g-border-radius-md) * 2);
42
42
  z-index: 11;
43
- font-weight: var(--g-typography-font-weight-700);
44
43
  color: inherit;
45
44
  }
46
45
 
@@ -3,6 +3,7 @@ import { unsafeHTML } from "lit/directives/unsafe-html.js";
3
3
  import * as icons from "lucide-static";
4
4
  import featureListStyles from "./feature-list.css" with { type: "css" };
5
5
  import "../icon/icon.js";
6
+ import "../container/container.js";
6
7
 
7
8
  export class GrantCodesFeatureList extends LitElement {
8
9
  static styles = [featureListStyles];
@@ -67,7 +68,7 @@ export class GrantCodesFeatureList extends LitElement {
67
68
  const items = this._items;
68
69
  return html`
69
70
  <section class="feature-list">
70
- <div class="feature-list__container">
71
+ <grantcodes-container>
71
72
  ${
72
73
  this.title
73
74
  ? html`<h2 class="feature-list__title">${this.title}</h2>`
@@ -123,7 +124,7 @@ export class GrantCodesFeatureList extends LitElement {
123
124
  `,
124
125
  )}
125
126
  </ul>
126
- </div>
127
+ </grantcodes-container>
127
128
  </section>
128
129
  `;
129
130
  }
@@ -9,34 +9,28 @@
9
9
  }
10
10
 
11
11
  .feature-list {
12
- padding-block: var(--g-theme-spacing-3xl);
13
- padding-inline: var(--g-theme-spacing-md);
14
- }
15
-
16
- .feature-list__container {
17
- max-width: 1200px;
18
- margin: 0 auto;
12
+ padding-block: var(--g-spacing-3xl);
19
13
  }
20
14
 
21
15
  .feature-list__title {
22
- margin: 0 0 var(--g-theme-spacing-sm);
23
- font: var(--g-typography-h4-font);
16
+ margin: 0 0 var(--g-spacing-sm);
17
+ font: var(--g-typography-h3-font);
24
18
  text-align: center;
25
- color: var(--g-theme-color-content-default);
19
+ color: var(--g-color-content-default);
26
20
  }
27
21
 
28
22
  .feature-list__subtitle {
29
- margin: 0 auto var(--g-theme-spacing-2xl);
30
- font-size: var(--g-theme-typography-body-lg-font-size);
23
+ margin: 0 auto var(--g-spacing-2xl);
24
+ font: var(--g-typography-body-lg-font);
31
25
  text-align: center;
32
- color: var(--g-theme-color-content-subtle);
26
+ color: var(--g-color-content-subtle);
33
27
  max-width: 55ch;
34
28
  }
35
29
 
36
30
  .feature-list__grid {
37
31
  display: grid;
38
32
  grid-template-columns: repeat(var(--columns, 3), 1fr);
39
- gap: var(--g-theme-spacing-xl);
33
+ gap: var(--g-spacing-xl);
40
34
  padding: 0;
41
35
  margin: 0;
42
36
  list-style: none;
@@ -62,17 +56,17 @@
62
56
  }
63
57
 
64
58
  .feature-list__link:hover .feature-list__item-title {
65
- color: var(--g-theme-color-content-primary, #7c3aed);
59
+ color: var(--g-color-content-primary, #7c3aed);
66
60
  }
67
61
 
68
62
  .feature-list__icon {
69
63
  display: block;
70
- padding: var(--g-theme-spacing-md);
64
+ padding: var(--g-spacing-md);
71
65
  border-radius: 50%;
72
66
  inline-size: fit-content;
73
- margin-block-end: var(--g-theme-spacing-md);
74
- color: var(--g-theme-color-content-primary, currentColor);
75
- background-color: var(--g-theme-color-background-primary);
67
+ margin-block-end: var(--g-spacing-md);
68
+ color: var(--g-color-content-primary, currentColor);
69
+ background-color: var(--g-color-background-primary);
76
70
  }
77
71
 
78
72
  .feature-list__item-title {
@@ -80,5 +74,5 @@
80
74
  }
81
75
 
82
76
  .feature-list__item-desc {
83
- color: var(--g-theme-color-content-subtle);
77
+ color: var(--g-color-content-subtle);
84
78
  }
@@ -5,14 +5,13 @@
5
5
  .footer-column {
6
6
  display: flex;
7
7
  flex-direction: column;
8
- gap: var(--g-spacing-12);
8
+ gap: var(--g-spacing-sm);
9
9
  }
10
10
 
11
11
  ::slotted(h3) {
12
- font-size: var(--g-typography-font-size-16);
13
- color: var(--g-theme-color-content-default);
14
- margin: 0 0 var(--g-theme-spacing-sm) 0;
15
- font-weight: var(--g-typography-font-weight-600);
12
+ font: var(--g-typography-h6-font);
13
+ color: var(--g-color-content-default);
14
+ margin: 0 0 var(--g-spacing-sm) 0;
16
15
  }
17
16
 
18
17
  ::slotted(ul) {
@@ -21,7 +20,7 @@
21
20
  margin: 0;
22
21
  display: flex;
23
22
  flex-direction: column;
24
- gap: var(--g-theme-spacing-sm);
23
+ gap: var(--g-spacing-sm);
25
24
  }
26
25
 
27
26
  ::slotted(li) {
@@ -29,18 +28,18 @@
29
28
  }
30
29
 
31
30
  ::slotted(a) {
32
- color: var(--g-theme-color-content-subtle);
31
+ color: var(--g-color-content-subtle);
33
32
  text-decoration: none;
34
33
  transition: color 0.2s ease;
35
34
  }
36
35
 
37
36
  ::slotted(a:hover) {
38
- color: var(--g-theme-color-content-default);
37
+ color: var(--g-color-content-default);
39
38
  text-decoration: underline;
40
39
  }
41
40
 
42
41
  ::slotted(p) {
43
42
  margin: 0;
44
- color: var(--g-theme-color-content-subtle);
45
- font: var(--g-typography-body-sm);
43
+ color: var(--g-color-content-subtle);
44
+ font: var(--g-typography-body-sm-font);
46
45
  }
@@ -1,6 +1,7 @@
1
1
  import { LitElement } from "lit";
2
2
  import { html } from "lit/static-html.js";
3
3
  import footerStyles from "./footer.css" with { type: "css" };
4
+ import "../container/container.js";
4
5
 
5
6
  export class GrantCodesFooter extends LitElement {
6
7
  static styles = [footerStyles];
@@ -22,7 +23,7 @@ export class GrantCodesFooter extends LitElement {
22
23
  render() {
23
24
  return html`
24
25
  <footer class="footer">
25
- <div class="footer__container">
26
+ <grantcodes-container align="wide">
26
27
  <div class="footer__columns" style="--footer-columns: ${this.columns}">
27
28
  <slot></slot>
28
29
  </div>
@@ -31,7 +32,7 @@ export class GrantCodesFooter extends LitElement {
31
32
  <div class="footer__bottom">
32
33
  <slot name="bottom"></slot>
33
34
  </div>
34
- </div>
35
+ </grantcodes-container>
35
36
  </footer>
36
37
  `;
37
38
  }
@@ -12,21 +12,15 @@
12
12
 
13
13
  .footer {
14
14
  margin-block-start: auto;
15
- border-block-start: 1px solid var(--g-theme-color-border-subtle);
16
- background-color: var(--g-theme-color-background-subtle);
17
- }
18
-
19
- .footer__container {
20
- padding-block: var(--g-theme-spacing-2xl) var(--g-theme-spacing-xl);
21
- padding-inline: var(--g-theme-spacing-md);
22
- max-inline-size: 1400px;
23
- margin-inline: auto;
15
+ padding-block: var(--g-spacing-2xl) var(--g-spacing-xl);
16
+ border-block-start: 1px solid var(--g-color-border-subtle);
17
+ background-color: var(--g-color-background-subtle);
24
18
  }
25
19
 
26
20
  .footer__columns {
27
21
  display: grid;
28
22
  grid-template-columns: repeat(var(--footer-columns, 3), 1fr);
29
- gap: var(--g-theme-spacing-xl);
23
+ gap: var(--g-spacing-xl);
30
24
  }
31
25
 
32
26
  /* Responsive grid using container queries */
@@ -44,14 +38,14 @@
44
38
 
45
39
  /* Bottom section (copyright, social links, etc.) */
46
40
  .footer__bottom {
47
- margin-block-start: var(--g-theme-spacing-xl);
48
- padding-block-start: var(--g-theme-spacing-xl);
49
- border-block-start: 1px solid var(--g-theme-color-border-default);
41
+ margin-block-start: var(--g-spacing-xl);
42
+ padding-block-start: var(--g-spacing-xl);
43
+ border-block-start: 1px solid var(--g-color-border-default);
50
44
  display: flex;
51
45
  flex-wrap: wrap;
52
46
  justify-content: space-between;
53
47
  align-items: center;
54
- gap: var(--g-theme-spacing-md);
48
+ gap: var(--g-spacing-md);
55
49
  }
56
50
 
57
51
  @container footer (max-width: 640px) {
@@ -63,8 +57,8 @@
63
57
 
64
58
  /* Slotted content styling */
65
59
  ::slotted(*) {
66
- font: var(--g-typography-font-body-sm);
67
- color: var(--g-theme-color-content-subtle);
60
+ font: var(--g-typography-body-sm-font);
61
+ color: var(--g-color-content-subtle);
68
62
  }
69
63
 
70
64
  ::slotted(p) {
@@ -73,12 +67,12 @@
73
67
  }
74
68
 
75
69
  ::slotted(a) {
76
- color: var(--g-theme-color-content-subtle);
70
+ color: var(--g-color-content-subtle);
77
71
  text-decoration: none;
78
72
  transition: color 0.2s ease;
79
73
  }
80
74
 
81
75
  ::slotted(a:hover) {
82
- color: var(--g-theme-color-content-default);
76
+ color: var(--g-color-content-default);
83
77
  text-decoration: underline;
84
78
  }
@@ -86,7 +86,7 @@ describe("Footer Component", () => {
86
86
 
87
87
  it("should have footer container", async () => {
88
88
  element = await fixture("grantcodes-footer");
89
- const container = element.shadowRoot.querySelector(".footer__container");
89
+ const container = element.shadowRoot.querySelector("grantcodes-container");
90
90
  assert.ok(container, "Footer container should exist");
91
91
  });
92
92
 
@@ -7,7 +7,7 @@
7
7
  .form-field {
8
8
  display: flex;
9
9
  flex-direction: column;
10
- gap: var(--g-theme-spacing-xs);
10
+ gap: var(--g-spacing-xs);
11
11
  padding: 0;
12
12
  margin: 0;
13
13
  border: none;
@@ -24,7 +24,7 @@
24
24
  flex-direction: row-reverse;
25
25
  align-items: center;
26
26
  justify-content: flex-end;
27
- gap: var(--g-theme-spacing-sm);
27
+ gap: var(--g-spacing-sm);
28
28
  }
29
29
 
30
30
  .form-field__label {
@@ -32,17 +32,17 @@
32
32
  padding: 0;
33
33
 
34
34
  &:where(legend) {
35
- margin-bottom: var(--g-theme-spacing-xs);
35
+ margin-bottom: var(--g-spacing-xs);
36
36
  }
37
37
  }
38
38
 
39
39
  .form-field__help {
40
- font-size: var(--g-theme-typography-body-sm-font-size);
40
+ font-size: var(--g-typography-body-sm-font-size);
41
41
  opacity: 0.7;
42
42
  }
43
43
 
44
44
  .form-field__error {
45
45
  margin: 0;
46
- font-size: var(--g-theme-typography-body-sm-font-size);
47
- color: var(--g-color-utility-red-700);
46
+ font-size: var(--g-typography-body-sm-font-size);
47
+ color: var(--g-color-content-utility-error);
48
48
  }
@@ -14,10 +14,10 @@
14
14
  justify-content: center;
15
15
  align-items: center;
16
16
  min-height: 50vh;
17
- padding: var(--g-theme-spacing-2xl) var(--g-theme-spacing-md);
17
+ padding: var(--g-spacing-2xl) var(--g-spacing-md);
18
18
  background: linear-gradient(
19
19
  135deg,
20
- var(--g-theme-color-background-primary-knockout),
20
+ var(--g-color-background-primary-knockout),
21
21
  var(--g-color-primary-900)
22
22
  );
23
23
  }
@@ -25,7 +25,7 @@
25
25
  .hero__container {
26
26
  width: 100%;
27
27
  max-width: 65ch;
28
- gap: var(--g-theme-spacing-lg);
28
+ gap: var(--g-spacing-lg);
29
29
  }
30
30
 
31
31
  :host([center]) .hero {
@@ -38,24 +38,24 @@
38
38
 
39
39
  .hero__title {
40
40
  font: var(--g-typography-h1-font);
41
- color: var(--g-theme-color-content-primary-knockout);
41
+ color: var(--g-color-content-primary-knockout);
42
42
  }
43
43
 
44
44
  .hero__text {
45
- font: var(--g-typography-body-lg);
46
- color: var(--g-theme-color-content-primary-knockout);
45
+ font: var(--g-typography-body-lg-font);
46
+ color: var(--g-color-content-primary-knockout);
47
47
  }
48
48
 
49
49
  :host([size="sm"]) .hero {
50
50
  min-height: 30vh;
51
- padding: var(--g-theme-spacing-xl) var(--g-theme-spacing-md);
51
+ padding: var(--g-spacing-xl) var(--g-spacing-md);
52
52
  }
53
53
 
54
54
  :host([size="lg"]) .hero {
55
55
  min-height: 70vh;
56
- padding: var(--g-theme-spacing-3xl) var(--g-theme-spacing-md);
56
+ padding: var(--g-spacing-3xl) var(--g-spacing-md);
57
57
  }
58
58
 
59
59
  ::slotted(*) {
60
- color: var(--g-theme-color-content-primary-knockout, #ffffff);
60
+ color: var(--g-color-content-primary-knockout, #ffffff);
61
61
  }
@@ -18,12 +18,12 @@
18
18
  overflow: hidden;
19
19
  padding-top: var(--height);
20
20
  background-repeat: no-repeat;
21
- background-color: var(--g-theme-color-primary-500);
21
+ background-color: var(--g-color-primary-500);
22
22
  background-image: linear-gradient(
23
23
  to right,
24
24
  transparent 0%,
25
- var(--g-color-neutral-500) 10%,
26
- var(--g-color-neutral-500) 90%,
25
+ var(--g-color-background-shimmer) 10%,
26
+ var(--g-color-background-shimmer) 90%,
27
27
  transparent 100%
28
28
  );
29
29
  background-size: var(--inner-width) 100%;
@@ -1,5 +1,6 @@
1
1
  import { LitElement, html } from "lit";
2
2
  import logoCloudStyles from "./logo-cloud.css" with { type: "css" };
3
+ import "../container/container.js";
3
4
 
4
5
  export class GrantCodesLogoCloud extends LitElement {
5
6
  static styles = [logoCloudStyles];
@@ -35,7 +36,7 @@ export class GrantCodesLogoCloud extends LitElement {
35
36
  const logos = this._logos;
36
37
  return html`
37
38
  <section class="logo-cloud">
38
- <div class="logo-cloud__container">
39
+ <grantcodes-container>
39
40
  ${
40
41
  this.title
41
42
  ? html`<p class="logo-cloud__title">${this.title}</p>`
@@ -74,7 +75,7 @@ export class GrantCodesLogoCloud extends LitElement {
74
75
  `,
75
76
  )}
76
77
  </ul>
77
- </div>
78
+ </grantcodes-container>
78
79
  </section>
79
80
  `;
80
81
  }
@@ -9,25 +9,17 @@
9
9
  }
10
10
 
11
11
  .logo-cloud {
12
- padding-block: var(--g-theme-spacing-2xl);
13
- padding-inline: var(--g-theme-spacing-md);
14
- border-top: 1px solid var(--g-theme-color-border-default);
15
- border-bottom: 1px solid var(--g-theme-color-border-default);
16
- }
17
-
18
- .logo-cloud__container {
19
- max-width: 1200px;
20
- margin: 0 auto;
12
+ padding-block: var(--g-spacing-2xl);
13
+ border-top: 1px solid var(--g-color-border-default);
14
+ border-bottom: 1px solid var(--g-color-border-default);
21
15
  }
22
16
 
23
17
  .logo-cloud__title {
24
- margin: 0 0 var(--g-theme-spacing-xl);
25
- font-size: var(--g-theme-typography-meta-default-font-size);
26
- font-weight: var(--g-theme-typography-meta-default-font-weight);
27
- letter-spacing: var(--g-theme-typography-meta-default-letter-spacing);
18
+ margin: 0 0 var(--g-spacing-xl);
19
+ font: var(--g-typography-body-sm-font);
28
20
  text-transform: uppercase;
29
21
  text-align: center;
30
- color: var(--g-theme-color-content-subtle);
22
+ color: var(--g-color-content-subtle);
31
23
  }
32
24
 
33
25
  .logo-cloud__grid {
@@ -35,7 +27,7 @@
35
27
  flex-wrap: wrap;
36
28
  align-items: center;
37
29
  justify-content: center;
38
- gap: var(--g-theme-spacing-lg) var(--g-theme-spacing-2xl);
30
+ gap: var(--g-spacing-lg) var(--g-spacing-2xl);
39
31
  padding: 0;
40
32
  margin: 0;
41
33
  list-style: none;
@@ -53,7 +45,7 @@
53
45
 
54
46
  .logo-cloud__logo {
55
47
  display: block;
56
- block-size: var(--g-theme-spacing-xl);
48
+ block-size: var(--g-spacing-xl);
57
49
  inline-size: auto;
58
50
  max-inline-size: 140px;
59
51
  object-fit: contain;
@@ -10,8 +10,8 @@
10
10
 
11
11
  .map {
12
12
  position: relative;
13
- border: 1px solid var(--g-theme-color-border-default);
14
- border-radius: var(--g-theme-border-radius-md, 0.5rem);
13
+ border: 1px solid var(--g-color-border-default);
14
+ border-radius: var(--g-border-radius-md, 0.5rem);
15
15
  overflow: hidden;
16
16
  }
17
17
 
@@ -26,16 +26,16 @@
26
26
 
27
27
  .map__directions {
28
28
  display: block;
29
- padding: var(--g-theme-spacing-sm) var(--g-theme-spacing-md);
30
- font-size: var(--g-theme-typography-body-sm-font-size);
31
- color: var(--g-theme-color-content-primary, #7c3aed);
29
+ padding: var(--g-spacing-sm) var(--g-spacing-md);
30
+ font-size: var(--g-typography-body-sm-font-size);
31
+ color: var(--g-color-content-primary, #7c3aed);
32
32
  text-decoration: none;
33
- border-block-start: 1px solid var(--g-theme-color-border-default);
34
- background: var(--g-theme-color-background-subtle);
33
+ border-block-start: 1px solid var(--g-color-border-default);
34
+ background: var(--g-color-background-subtle);
35
35
  transition: background-color 0.2s ease;
36
36
  }
37
37
 
38
38
  .map__directions:hover {
39
- background: var(--g-theme-color-background-subtle-hover);
39
+ background: var(--g-color-background-subtle-hover);
40
40
  text-decoration: underline;
41
41
  }
@@ -9,8 +9,8 @@
9
9
  }
10
10
 
11
11
  .media-text {
12
- padding-block: var(--g-theme-spacing-3xl);
13
- padding-inline: var(--g-theme-spacing-md);
12
+ padding-block: var(--g-spacing-3xl);
13
+ padding-inline: var(--g-spacing-md);
14
14
  }
15
15
 
16
16
  .media-text__container {
@@ -18,7 +18,7 @@
18
18
  margin: 0 auto;
19
19
  display: grid;
20
20
  grid-template-columns: 1fr 1fr;
21
- gap: var(--g-theme-spacing-3xl);
21
+ gap: var(--g-spacing-3xl);
22
22
  align-items: center;
23
23
  }
24
24
 
@@ -34,7 +34,7 @@
34
34
  @media (max-width: 768px) {
35
35
  .media-text__container {
36
36
  grid-template-columns: 1fr;
37
- gap: var(--g-theme-spacing-xl);
37
+ gap: var(--g-spacing-xl);
38
38
  direction: ltr;
39
39
  }
40
40
  }
@@ -44,7 +44,7 @@
44
44
  inline-size: 100%;
45
45
  block-size: auto;
46
46
  display: block;
47
- border-radius: var(--g-theme-border-radius-md, 0.5rem);
47
+ border-radius: var(--g-border-radius-md, 0.5rem);
48
48
  object-fit: cover;
49
49
  aspect-ratio: 4 / 3;
50
50
  }
@@ -52,17 +52,17 @@
52
52
  .media-text__content {
53
53
  display: flex;
54
54
  flex-direction: column;
55
- gap: var(--g-theme-spacing-lg);
55
+ gap: var(--g-spacing-lg);
56
56
  }
57
57
 
58
58
  .media-text__title {
59
59
  margin: 0;
60
60
  font: var(--g-typography-h4-font);
61
- color: var(--g-theme-color-content-default);
61
+ color: var(--g-color-content-default);
62
62
  }
63
63
 
64
64
  .media-text__text {
65
65
  margin: 0;
66
- font: var(--g-theme-typography-body-lg);
67
- color: var(--g-theme-color-content-subtle);
66
+ font: var(--g-typography-body-lg);
67
+ color: var(--g-color-content-subtle);
68
68
  }
@@ -9,9 +9,9 @@
9
9
  }
10
10
 
11
11
  .newsletter {
12
- padding-block: var(--g-theme-spacing-3xl);
13
- padding-inline: var(--g-theme-spacing-md);
14
- background: var(--g-theme-color-background-primary-knockout, #7c3aed);
12
+ padding-block: var(--g-spacing-3xl);
13
+ padding-inline: var(--g-spacing-md);
14
+ background: var(--g-color-background-primary-knockout);
15
15
  text-align: center;
16
16
  }
17
17
 
@@ -21,15 +21,15 @@
21
21
  }
22
22
 
23
23
  .newsletter__title {
24
- margin: 0 0 var(--g-theme-spacing-sm);
25
- font: var(--g-typography-h4-font);
26
- color: var(--g-theme-color-content-primary-knockout, #ffffff);
24
+ margin: 0 0 var(--g-spacing-sm);
25
+ font: var(--g-typography-h3-font);
26
+ color: var(--g-color-content-primary-knockout);
27
27
  }
28
28
 
29
29
  .newsletter__text {
30
- margin: 0 0 var(--g-theme-spacing-xl);
31
- font: var(--g-theme-typography-body-lg);
32
- color: var(--g-theme-color-content-primary-knockout, #ffffff);
30
+ margin: 0 0 var(--g-spacing-xl);
31
+ font: var(--g-typography-body-lg);
32
+ color: var(--g-color-content-primary-knockout);
33
33
  opacity: 0.9;
34
34
  }
35
35
 
@@ -52,35 +52,35 @@
52
52
  .newsletter__field {
53
53
  display: flex;
54
54
  flex-direction: column;
55
- gap: var(--g-theme-spacing-sm);
55
+ gap: var(--g-spacing-sm);
56
56
  }
57
57
 
58
58
  .newsletter__input-wrap {
59
59
  display: flex;
60
- gap: var(--g-theme-spacing-sm);
60
+ gap: var(--g-spacing-sm);
61
61
  }
62
62
 
63
63
  .newsletter__input {
64
64
  flex: 1;
65
65
  min-width: 0;
66
- padding-block: var(--g-theme-spacing-sm);
67
- padding-inline: var(--g-theme-spacing-md);
68
- font-size: var(--g-theme-typography-body-default-font-size);
66
+ padding-block: var(--g-spacing-sm);
67
+ padding-inline: var(--g-spacing-md);
68
+ font-size: var(--g-typography-body-default-font-size);
69
69
  border: 2px solid transparent;
70
- border-radius: var(--g-theme-border-radius-md, 0.5rem);
71
- background: var(--g-theme-color-background-default);
72
- color: var(--g-theme-color-content-default);
70
+ border-radius: var(--g-border-radius-md, 0.5rem);
71
+ background: var(--g-color-background-default);
72
+ color: var(--g-color-content-default);
73
73
  outline: none;
74
74
  }
75
75
 
76
76
  .newsletter__input:focus {
77
- border-color: var(--g-theme-color-border-default);
77
+ border-color: var(--g-color-border-default);
78
78
  }
79
79
 
80
80
  .newsletter__disclaimer {
81
- margin: var(--g-theme-spacing-md) 0 0;
82
- font: var(--g-theme-typography-body-sm);
83
- color: var(--g-theme-color-content-primary-knockout, #ffffff);
81
+ margin: var(--g-spacing-md) 0 0;
82
+ font: var(--g-typography-body-sm);
83
+ color: var(--g-color-content-primary-knockout);
84
84
  opacity: 0.75;
85
85
  }
86
86