luna-one 3.1.597 → 3.1.598

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 (188) hide show
  1. package/README.md +2315 -2315
  2. package/dist/global-styles/content/typography.scss +140 -140
  3. package/dist/global-styles/fonts/benton.scss +113 -113
  4. package/dist/global-styles/global-terra.scss +10 -10
  5. package/dist/global-styles/global-vars.scss +599 -599
  6. package/dist/global-styles/layout/_css-grid.scss +20 -20
  7. package/dist/global-styles/layout/_media-queries.scss +35 -35
  8. package/dist/global-styles/layout/_normalize.scss +340 -340
  9. package/dist/global-styles/layout/_reset.scss +13 -13
  10. package/dist/global-styles/mixins/_box-shadow.scss +6 -6
  11. package/dist/global-styles/mixins/_mixins.scss +5 -5
  12. package/dist/global-styles/mixins/_organism-padding-hack.scss +7 -7
  13. package/dist/global-styles/mixins/_typography.scss +102 -102
  14. package/dist/global-styles/mixins/_yiq.scss +50 -50
  15. package/dist/global-styles/mixins/_z-index.scss +3 -3
  16. package/dist/global-styles/terra.scss +15 -15
  17. package/dist/global-styles/utilities/_box-shadow.scss +8 -8
  18. package/dist/global-styles/utilities/_display.scss +48 -48
  19. package/dist/global-styles/utilities/_font-family.scss +15 -15
  20. package/dist/global-styles/utilities/_parallax.scss +23 -23
  21. package/dist/global-styles/utilities/_text-align.scss +24 -24
  22. package/dist/luna/components/2x2/2x2.scss +915 -915
  23. package/dist/luna/components/2x2/2x2Documentation.mdx +77 -77
  24. package/dist/luna/components/Accordion/Accordion.scss +154 -154
  25. package/dist/luna/components/Accordion/AccordionDocumentation.mdx +45 -45
  26. package/dist/luna/components/AdminCategoryData/AdminCategoryData.scss +81 -81
  27. package/dist/luna/components/AdminProductData/AdminProductData.scss +75 -75
  28. package/dist/luna/components/BlockListItems/BlockListItems.scss +285 -285
  29. package/dist/luna/components/BlockListItems/BlockListItemsDocumentation.mdx +339 -339
  30. package/dist/luna/components/BrowserSupportBanner/BrowserSupportBanner.scss +6 -6
  31. package/dist/luna/components/CTAButtons/CTAButtons.scss +19 -19
  32. package/dist/luna/components/CTAButtons/CTAButtonsDocumentation.mdx +33 -33
  33. package/dist/luna/components/Carousel/Carousel.scss +155 -155
  34. package/dist/luna/components/Carousel/CarouselDocumentation.mdx +161 -161
  35. package/dist/luna/components/ComparisonTable/ComparisonTable.scss +331 -331
  36. package/dist/luna/components/ComparisonTable/ComparisonTableDocumentation.mdx +159 -159
  37. package/dist/luna/components/CtaWithHeader/CTAHeaderTextDocumentation.mdx +45 -45
  38. package/dist/luna/components/CtaWithHeader/CtaWithHeader.scss +324 -324
  39. package/dist/luna/components/DataPoint/DataPoint.scss +170 -170
  40. package/dist/luna/components/DataPoint/DataPointDocumentation.mdx +40 -40
  41. package/dist/luna/components/EventCard/EventCard.scss +134 -134
  42. package/dist/luna/components/EventCard/EventCardDocumentation.mdx +46 -46
  43. package/dist/luna/components/FilterHero/FilterHero.scss +80 -80
  44. package/dist/luna/components/FilterSection/FilterSection.scss +175 -175
  45. package/dist/luna/components/Flyout/Flyout.scss +367 -367
  46. package/dist/luna/components/Flyout/FlyoutDocumentation.mdx +60 -60
  47. package/dist/luna/components/Footer/Footer.scss +484 -484
  48. package/dist/luna/components/Footer/FooterDocumentation.mdx +133 -133
  49. package/dist/luna/components/FullBackgroundHero/FullBackgroundHero.scss +722 -722
  50. package/dist/luna/components/FullBackgroundHero/FullBackgroundHeroDocumentation.mdx +93 -93
  51. package/dist/luna/components/HTMLEmbed/HTMLEmbed.scss +51 -51
  52. package/dist/luna/components/HTMLEmbed/HTMLEmbedDocumentation.mdx +31 -31
  53. package/dist/luna/components/Header/Header.scss +36 -36
  54. package/dist/luna/components/Header/HeaderDocumentation.mdx +24 -24
  55. package/dist/luna/components/IconTextList/IconTextList.scss +124 -124
  56. package/dist/luna/components/IconTextList/IconTextListDocumentation.mdx +45 -45
  57. package/dist/luna/components/ImageGallery/ImageGallery.scss +442 -442
  58. package/dist/luna/components/ImageGallery/ImageGalleryDocumentation.mdx +90 -90
  59. package/dist/luna/components/InPageJumpNav/InPageJumpNav.scss +122 -122
  60. package/dist/luna/components/InPageJumpNav/InPageJumpNavDocumentation.mdx +22 -22
  61. package/dist/luna/components/JobPosting/JobPosting.scss +171 -171
  62. package/dist/luna/components/JobPosting/JobPostingDocumentation.mdx +69 -69
  63. package/dist/luna/components/LanguageSelector/LanguageSelector.scss +318 -318
  64. package/dist/luna/components/LanguageSelector/LanguageSelectorDocumentation.mdx +119 -119
  65. package/dist/luna/components/LinkList/LinkList.scss +59 -59
  66. package/dist/luna/components/LinkList/LinkListDocumentation.mdx +54 -54
  67. package/dist/luna/components/LoadingSpinner/LoadingSpinner.scss +34 -34
  68. package/dist/luna/components/Login/Login.scss +180 -180
  69. package/dist/luna/components/MarketoForm/MarketoForm.scss +56 -56
  70. package/dist/luna/components/MarketoForm/MarketoFormDocumentation.mdx +1 -1
  71. package/dist/luna/components/MegaMenu/MegaMenu.scss +570 -570
  72. package/dist/luna/components/MobileLogin/MobileLogin.scss +38 -38
  73. package/dist/luna/components/MobileMegaMenu/MobileMegaMenu.scss +289 -289
  74. package/dist/luna/components/MobileMenu/MobileMenu.scss +70 -70
  75. package/dist/luna/components/MobileNav/MobileNav.scss +286 -286
  76. package/dist/luna/components/NavBar/NavBar.scss +628 -628
  77. package/dist/luna/components/NavBar/NavigationBarDocumentation.mdx +245 -245
  78. package/dist/luna/components/NavBarTop/NavBarTop.scss +403 -403
  79. package/dist/luna/components/NavSearch/NavSearch.scss +130 -130
  80. package/dist/luna/components/NonTimeBasedListEntries/NonTimeBasedListEntries.scss +339 -339
  81. package/dist/luna/components/NonTimeBasedListEntries/NonTimeBasedListEntriesDocumentation.mdx +89 -89
  82. package/dist/luna/components/OverlayNotice/OverlayNotice.scss +247 -247
  83. package/dist/luna/components/OverlayNotice/OverlayNoticeDocumentation.mdx +45 -45
  84. package/dist/luna/components/Pagination/Pagination.scss +27 -27
  85. package/dist/luna/components/ProductSummary/ProductSummary.scss +273 -273
  86. package/dist/luna/components/ProductsPackage/ProductsPackage.scss +194 -194
  87. package/dist/luna/components/ProseLayout/ProseLayout.js +7 -5
  88. package/dist/luna/components/ProseLayout/ProseLayout.scss +394 -384
  89. package/dist/luna/components/ProseLayout/ProseLayoutDocumentation.mdx +93 -93
  90. package/dist/luna/components/PullQuote/PullQuote.scss +400 -400
  91. package/dist/luna/components/PullQuote/PullQuoteDocumentation.mdx +60 -60
  92. package/dist/luna/components/PullQuote/ico-quote-white.svg +3 -3
  93. package/dist/luna/components/PullQuote/ico-quote.svg +3 -3
  94. package/dist/luna/components/RegionCard/RegionCard.scss +86 -86
  95. package/dist/luna/components/ResourceGrid/ResourceGrid.scss +34 -34
  96. package/dist/luna/components/ResourceGrid/ResourceGridDocumentation.mdx +102 -102
  97. package/dist/luna/components/ScrollInPlace/ScrollInPlace.scss +219 -219
  98. package/dist/luna/components/ScrollInPlace/ScrollInPlaceDocumentation.mdx +123 -123
  99. package/dist/luna/components/SketchUpPricingCard/SketchUpPricingCard.scss +142 -142
  100. package/dist/luna/components/SlideOutFeat/SlideOutFeat.scss +124 -124
  101. package/dist/luna/components/StoreFrontCard/StoreFrontCard.scss +434 -434
  102. package/dist/luna/components/SubNav/SubNav.scss +274 -274
  103. package/dist/luna/components/SuperHero/SuperHero.scss +804 -804
  104. package/dist/luna/components/SuperHero/SuperHeroDocumentation.mdx +57 -57
  105. package/dist/luna/components/SupportCard/SupportCard.scss +134 -134
  106. package/dist/luna/components/Tabs/Tabs.scss +871 -871
  107. package/dist/luna/components/Tabs/TabsDocumentation.mdx +94 -94
  108. package/dist/luna/components/TimeBasedList/TimeBasedList.scss +394 -394
  109. package/dist/luna/components/TimeBasedList/TimeBasedListDocumentation.mdx +123 -123
  110. package/dist/luna/components/TrainerCard/TrainerCard.scss +51 -51
  111. package/dist/luna/components/TrialForm/TrialComponents/TrialSpecifics.scss +44 -44
  112. package/dist/luna/components/TrialForm/TrialComponents/TrialSummary.scss +57 -57
  113. package/dist/luna/components/TrialForm/TrialFormStart/TrialFormStart.scss +28 -28
  114. package/dist/luna/components/TrialForm/images/check.svg +3 -3
  115. package/dist/luna/components/TrialForm/images/form-border-bottom-dark.svg +4 -4
  116. package/dist/luna/components/TrialForm/images/form-border-bottom-light.svg +4 -4
  117. package/dist/luna/components/TrialForm/images/form-border-top-dark.svg +4 -4
  118. package/dist/luna/components/TrialForm/images/form-border-top-light.svg +4 -4
  119. package/dist/luna/components/UnboundedCard/UnboundedCard.scss +108 -108
  120. package/dist/luna/components/UnboundedCard/playIcon.svg +17 -17
  121. package/dist/luna/components/VariableContentCard/VariableContentCard.scss +253 -253
  122. package/dist/luna/components/Video/Video.scss +209 -209
  123. package/dist/luna/components/Video/VideoDocumentation.mdx +56 -56
  124. package/dist/luna/components/VidyardModal/VidyardModal.scss +34 -34
  125. package/dist/luna/components/WaffleMenu/WaffleMenu.scss +73 -73
  126. package/dist/luna/images/arrow-diagonal-black.svg +13 -13
  127. package/dist/luna/images/arrow-diagonal-blue.svg +13 -13
  128. package/dist/luna/images/arrow-diagonal-white.svg +13 -13
  129. package/dist/luna/images/bulletpoint.svg +3 -3
  130. package/dist/luna/images/callout-icon.svg +3 -3
  131. package/dist/luna/images/carat-down.svg +3 -3
  132. package/dist/luna/images/carat-up.svg +3 -3
  133. package/dist/luna/images/check-blue.svg +4 -4
  134. package/dist/luna/images/circle-arrow-right-black.svg +3 -3
  135. package/dist/luna/images/circle-arrow-right-white.svg +3 -3
  136. package/dist/luna/images/circle-arrow.svg +3 -3
  137. package/dist/luna/images/close-blue.svg +4 -4
  138. package/dist/luna/images/close-button.svg +42 -42
  139. package/dist/luna/images/close-dark-navy.svg +3 -3
  140. package/dist/luna/images/close-icon.svg +3 -3
  141. package/dist/luna/images/close.svg +3 -3
  142. package/dist/luna/images/collapse-close-blue.svg +5 -5
  143. package/dist/luna/images/collapse-close-gold.svg +5 -5
  144. package/dist/luna/images/collapse-open-blue.svg +4 -4
  145. package/dist/luna/images/collapse-open-gold.svg +4 -4
  146. package/dist/luna/images/cross-medium-blue.svg +4 -4
  147. package/dist/luna/images/cross-medium-white.svg +5 -5
  148. package/dist/luna/images/down-caret-dark-blue.svg +4 -4
  149. package/dist/luna/images/down-caret-dark-gray.svg +4 -4
  150. package/dist/luna/images/down-caret-light-gray.svg +4 -4
  151. package/dist/luna/images/downArrow.svg +36 -36
  152. package/dist/luna/images/ellipses.svg +6 -6
  153. package/dist/luna/images/external-arrow-blue.svg +11 -11
  154. package/dist/luna/images/external-arrow-white-theme.svg +12 -12
  155. package/dist/luna/images/external-arrow.svg +12 -12
  156. package/dist/luna/images/facebook.svg +13 -13
  157. package/dist/luna/images/form-border-top-light.svg +4 -4
  158. package/dist/luna/images/frame-intersection.svg +3 -3
  159. package/dist/luna/images/gallery-image-corner-border.svg +3 -3
  160. package/dist/luna/images/green-tick.svg +3 -3
  161. package/dist/luna/images/instagram.svg +19 -19
  162. package/dist/luna/images/internal-arrow-blue.svg +15 -15
  163. package/dist/luna/images/internal-arrow-white-theme.svg +15 -15
  164. package/dist/luna/images/internal-arrow.svg +15 -15
  165. package/dist/luna/images/linkedin.svg +15 -15
  166. package/dist/luna/images/logo-icon.svg +17 -17
  167. package/dist/luna/images/pdf-doc.svg +9 -9
  168. package/dist/luna/images/play.svg +17 -17
  169. package/dist/luna/images/right-caret-dark-blue.svg +3 -3
  170. package/dist/luna/images/right-caret-light-gray.svg +4 -4
  171. package/dist/luna/images/right-caret-light-yellow-stroke.svg +9 -9
  172. package/dist/luna/images/right-caret-light-yellow.svg +4 -4
  173. package/dist/luna/images/right-caret-medium-gray.svg +4 -4
  174. package/dist/luna/images/search.svg +9 -9
  175. package/dist/luna/images/skipicon.svg +154 -154
  176. package/dist/luna/images/text-doc.svg +9 -9
  177. package/dist/luna/images/text-lines.svg +22 -22
  178. package/dist/luna/images/tooltip-close-icon.svg +3 -3
  179. package/dist/luna/images/tooltip-icon.svg +3 -3
  180. package/dist/luna/images/twitter.svg +17 -17
  181. package/dist/luna/images/up-arrow.svg +36 -36
  182. package/dist/luna/images/up-right-arrow.svg +9 -9
  183. package/dist/luna/images/user-profile.svg +37 -37
  184. package/dist/luna/images/user.svg +4 -4
  185. package/dist/luna/images/waffle.svg +11 -11
  186. package/dist/luna/images/worldwide.svg +19 -19
  187. package/dist/luna/images/youtube.svg +14 -14
  188. package/package.json +91 -91
@@ -1,915 +1,915 @@
1
- @import "../../../global-styles/terra.scss";
2
-
3
- //Line trimming function
4
- @mixin trim($numLines: null) {
5
- @if $numLines != null {
6
- display: -webkit-box;
7
- -webkit-line-clamp: $numLines;
8
- -webkit-box-orient: vertical;
9
- overflow: hidden;
10
- } @else {
11
- text-overflow: ellipsis;
12
- white-space: nowrap;
13
- overflow: hidden;
14
- display: block;
15
- }
16
- }
17
-
18
- .luna-2x2 {
19
- display: grid;
20
- //Grid counts are doubled since this component ...
21
- //... places items on half grid lines.
22
- grid-template-columns: repeat(28, 1fr); // 14
23
- grid-template-rows: repeat(18, 1fr); // 9
24
- width: 100%;
25
- height: 720px;
26
-
27
- @media screen and (max-width: $breakpoint-xs) {
28
- height: fit-content;
29
- grid-template-rows: auto 1fr;
30
- grid-template-columns: repeat(14, 1fr);
31
- }
32
-
33
- &__short-data-point {
34
- max-width: 560px;
35
- width: 100%;
36
- height: 560px;
37
-
38
- @media screen and (max-width: $breakpoint-xs) {
39
- height: 960px;
40
- }
41
- }
42
-
43
- &__data-point {
44
- @media screen and (max-width: $breakpoint-xs) {
45
- grid-template-rows: auto 1fr;
46
- height: min-content;
47
- }
48
- }
49
-
50
- //One background image and overlapping content have the same ...
51
- //... number of grid rows
52
- &__one-background-image {
53
- grid-template-rows: repeat(22, 1fr); // 11
54
- height: 880px;
55
-
56
- @media screen and (max-width: $breakpoint-sm) {
57
- height: 600px;
58
- }
59
-
60
- @media screen and (max-width: $breakpoint-xs) {
61
- height: fit-content;
62
- grid-template-rows: auto 1fr;
63
- grid-template-columns: repeat(14, 1fr);
64
- }
65
-
66
- &--no-background-image {
67
- min-height: 880px;
68
-
69
- @media screen and (min-width: $breakpoint-sm) {
70
- height: 840px;
71
- }
72
- }
73
-
74
- &__background {
75
- grid-column: 1 / span 28;
76
- grid-row: 1 / span 22;
77
-
78
- @media screen and (max-width: $breakpoint-xs) {
79
- grid-column: 1 / span 14;
80
- grid-row: 1 / span 52;
81
- }
82
- }
83
- }
84
-
85
- &__four-background-images {
86
- //Grid counts are quadrupled since this component ...
87
- //... places items on quarter grid lines.
88
- grid-template-columns: repeat(56, 1fr); // 14
89
- grid-template-rows: repeat(52, 1fr); // 13
90
- height: 1000px;
91
- overflow: hidden;
92
-
93
- @media screen and (max-width: $breakpoint-sm) {
94
- height: 1140px;
95
- }
96
-
97
- @media screen and (max-width: $breakpoint-xs) {
98
- height: fit-content;
99
- grid-template-rows: auto 1fr;
100
- grid-template-columns: repeat(14, 1fr);
101
- }
102
-
103
- &__background1 {
104
- grid-column: 1 / span 27;
105
- grid-row: 1 / span 22;
106
- background-size: cover;
107
- background-position: center;
108
-
109
- @media screen and (max-width: $breakpoint-xs) {
110
- grid-column: 1 / span 14;
111
- grid-row: 1 / span 11;
112
- }
113
- }
114
- &__background2 {
115
- grid-column: 30 / span 27;
116
- grid-row: 1 / span 22;
117
- background-size: cover;
118
- background-position: center;
119
-
120
- @media screen and (max-width: $breakpoint-xs) {
121
- grid-column: 1 / span 14;
122
- grid-row: 16 / span 11;
123
- }
124
- }
125
- &__background3 {
126
- grid-column: 1 / span 27;
127
- grid-row: 31 / span 22;
128
- background-size: cover;
129
- background-position: center;
130
-
131
- @media screen and (max-width: $breakpoint-xs) {
132
- grid-column: 1 / span 14;
133
- grid-row: 46 / span 11;
134
- }
135
- }
136
- &__background4 {
137
- grid-column: 30 / span 27;
138
- grid-row: 31 / span 22;
139
- background-size: cover;
140
- background-position: center;
141
-
142
- @media screen and (max-width: $breakpoint-xs) {
143
- grid-column: 1 / span 14;
144
- grid-row: 31 / span 11;
145
- }
146
- }
147
- }
148
-
149
- &__background-image {
150
- height: 100%;
151
- width: 100%;
152
- object-fit: cover;
153
- }
154
-
155
- &__content-quadrant {
156
- display: flex;
157
- justify-content: center;
158
- flex-direction: column;
159
- position: relative;
160
- overflow: hidden;
161
-
162
- .luna-stat-container {
163
-
164
- &__stat {
165
- font-size: 60px;
166
- line-height: 70px;
167
- margin-bottom: 8px;
168
- @include benton-normal();
169
-
170
- @media screen and (max-width: $breakpoint-xs) {
171
- font-size: 40px;
172
- line-height: 47px;
173
- }
174
- }
175
-
176
- &__subheader {
177
- font-size: 24px;
178
- line-height: 30px;
179
- @include benton-very-bold();
180
-
181
- @media screen and (max-width: $breakpoint-xs) {
182
- font-size: 22px;
183
- line-height: 27px;
184
- }
185
- }
186
-
187
- &__text {
188
- font-size: 18px;
189
- line-height: 25px;
190
- @include benton-light();
191
-
192
- @media screen and (max-width: $breakpoint-xs) {
193
- font-size: 15px;
194
- line-height: 23px;
195
- }
196
- }
197
- }
198
-
199
- &--content {
200
- padding: spacing("lg");
201
- overflow: hidden;
202
- display: flex;
203
- flex-direction: column;
204
-
205
- @media screen and (max-width: $breakpoint-md) {
206
- overflow: unset;
207
- }
208
-
209
- @media screen and (max-width: $breakpoint-sm) {
210
- padding: spacing("md");
211
- }
212
-
213
- @media screen and (max-width: $breakpoint-xs) {
214
- padding: spacing("sm");
215
- }
216
-
217
- .headline {
218
- @include trim(2);
219
- font-weight: $very-bold-font-weight;
220
- @media screen and (max-width: $breakpoint-sm) {
221
- font-size: font-size("md");
222
- margin: 4px 0 0 0;
223
- line-height: 1.4;
224
- }
225
-
226
- @media screen and (max-width: $breakpoint-xs) {
227
- line-height: 1.2;
228
- -webkit-line-clamp: unset !important;
229
- }
230
-
231
- &--no-margin {
232
- margin: 0;
233
- }
234
- }
235
-
236
- .ter-icon-text-list__content-wrapper {
237
- @media screen and (max-width: 960px) {
238
- grid-column: 1 / span 16 !important;
239
- align-self: start;
240
- }
241
- }
242
- .ter-icon-text-list__item {
243
- @media screen and (max-width: 960px) {
244
- margin-bottom: spacing("xxs");
245
- }
246
- }
247
-
248
- > .ter-header {
249
- > .ter-header__container {
250
- > .headline {
251
- font-size: $card-title-size;
252
- line-height: 30px;
253
- }
254
- }
255
- }
256
-
257
- > .richtext-container {
258
- padding-left: 20px;
259
- padding-right: 20px;
260
- > p {
261
- font-size: $body-font-size;
262
- line-height: 25px;
263
- &:last-child {
264
- margin-bottom: 0;
265
- }
266
- }
267
- }
268
- }
269
-
270
- &--image {
271
- height: 100%;
272
- width: 100%;
273
- object-fit: cover;
274
- overflow: hidden;
275
- }
276
-
277
- &--has-data-point {
278
- padding: spacing("none");
279
- align-items: center;
280
- }
281
-
282
- &__top-left {
283
- &--one-background-image {
284
- grid-column: 2 / span 13;
285
- grid-row: 4 / span 9;
286
-
287
- @media screen and (max-width: $breakpoint-xs) {
288
- grid-column: 2 / span 12;
289
- grid-row: 4 / span 12;
290
- }
291
- }
292
-
293
- &--four-background-images {
294
- grid-column: 3 / span 25;
295
- grid-row: 11 / span 15;
296
-
297
- @media screen and (max-width: $breakpoint-sm) {
298
- grid-column: 3 / span 25;
299
- grid-row: 10 / span 16;
300
- }
301
-
302
- @media screen and (max-width: $breakpoint-xs) {
303
- grid-column: 2 / span 13;
304
- grid-row: 4 / span 11;
305
- }
306
- }
307
-
308
- &--zero-background-images {
309
- &--has-image {
310
- &--has-overlap {
311
- grid-column: 1 / span 16;
312
- grid-row: 1 / span 11;
313
- z-index: 1;
314
-
315
- @media screen and (max-width: $breakpoint-xs) {
316
- grid-column: 1 / span 14;
317
- grid-row: 1 / span 13;
318
- }
319
- }
320
- &--no-overlap {
321
- grid-column: 2 / span 13;
322
- grid-row: 2 / span 8;
323
-
324
- @media screen and (max-width: $breakpoint-xs) {
325
- grid-column: 1 / span 14;
326
- grid-row: 1 / span 13;
327
- }
328
- }
329
- &--has-short-data-point {
330
- grid-column: 1 / span 14;
331
- grid-row: 1 / span 9;
332
-
333
- @media screen and (max-width: $breakpoint-xs) {
334
- grid-column: 1 / span 14;
335
- grid-row: 1 / span 13;
336
- }
337
- }
338
- &--has-data-point {
339
- @media screen and (max-width: $breakpoint-xs) {
340
- grid-column: 1 / span 14;
341
- grid-row: 1 / span 13;
342
- }
343
- }
344
- }
345
-
346
- &--no-image {
347
- &--has-overlap {
348
- grid-column: 1 / span 16;
349
- grid-row: 2 / span 9;
350
- z-index: 2;
351
-
352
- @media screen and (max-width: $breakpoint-xs) {
353
- grid-row: 3 / span 9;
354
- }
355
-
356
- @media screen and (max-width: $breakpoint-xs) {
357
- grid-column: 1 / span 13;
358
- grid-row: 12 / span 15;
359
- z-index: 2;
360
- }
361
- }
362
- &--no-overlap {
363
- grid-column: 1 / span 14;
364
- grid-row: 1 / span 9;
365
-
366
- @media screen and (max-width: $breakpoint-xs) {
367
- grid-column: 1 / span 13;
368
- grid-row: 12 / span 15;
369
- z-index: 2;
370
- }
371
- }
372
- &--has-short-data-point {
373
- grid-column: 1 / span 14;
374
- grid-row: 1 / span 9;
375
-
376
- @media screen and (max-width: $breakpoint-xs) {
377
- grid-column: 1 / span 14;
378
- grid-row: 14 / span 13;
379
- z-index: 2;
380
- }
381
- }
382
- &--has-data-point {
383
- @media screen and (max-width: $breakpoint-md) {
384
- height: fit-content;
385
- }
386
-
387
- @media screen and (max-width: $breakpoint-xs) {
388
- grid-column: 1 / span 13;
389
- grid-row: 12 / span 25;
390
- z-index: 2;
391
- }
392
- }
393
- }
394
- }
395
- }
396
-
397
- &__top-right {
398
- &--one-background-image {
399
- grid-column: 15 / span 13;
400
- grid-row: 4 / span 9;
401
-
402
- @media screen and (max-width: $breakpoint-xs) {
403
- grid-column: 2 / span 12;
404
- grid-row: 16 / span 12;
405
- }
406
- }
407
- &--four-background-images {
408
- grid-column: 30 / span 25;
409
- grid-row: 11 / span 15;
410
-
411
- @media screen and (max-width: $breakpoint-sm) {
412
- grid-column: 30 / span 25;
413
- grid-row: 10 / span 16;
414
- }
415
-
416
- @media screen and (max-width: $breakpoint-xs) {
417
- grid-column: 2 / span 13;
418
- grid-row: 19 / span 11;
419
- }
420
- }
421
-
422
- &--zero-background-images {
423
- &--has-image {
424
- &--has-overlap {
425
- grid-column: 13 / span 16;
426
- grid-row: 1 / span 11;
427
- z-index: 1;
428
-
429
- @media screen and (max-width: $breakpoint-xs) {
430
- grid-column: 1 / span 14;
431
- grid-row: 1 / span 13;
432
- }
433
- }
434
- &--no-overlap {
435
- grid-column: 15 / span 13;
436
- grid-row: 2 / span 8;
437
-
438
- @media screen and (max-width: $breakpoint-xs) {
439
- grid-column: 1 / span 14;
440
- grid-row: 1 / span 13;
441
- }
442
- }
443
- &--has-short-data-point {
444
- grid-column: 15 / span 14;
445
- grid-row: 1 / span 9;
446
-
447
- @media screen and (max-width: $breakpoint-xs) {
448
- grid-column: 1 / span 14;
449
- grid-row: 1 / span 13;
450
- }
451
- }
452
- &--has-data-point {
453
- @media screen and (max-width: $breakpoint-xs) {
454
- grid-column: 1 / span 14;
455
- grid-row: 1 / span 13;
456
- }
457
- }
458
- }
459
-
460
- &--no-image {
461
- &--has-overlap {
462
- grid-column: 13 / span 16;
463
- grid-row: 3 / span 9;
464
- z-index: 2;
465
-
466
- @media screen and (max-width: $breakpoint-md) {
467
- grid-row: 1 / span 10;
468
- }
469
-
470
- @media screen and (max-width: $breakpoint-xs) {
471
- grid-column: 1 / span 13;
472
- grid-row: 12 / span 15;
473
- z-index: 2;
474
- }
475
- }
476
- &--no-overlap {
477
- grid-column: 15 / span 14;
478
- grid-row: 1 / span 9;
479
-
480
- @media screen and (max-width: $breakpoint-xs) {
481
- grid-column: 1 / span 13;
482
- grid-row: 12 / span 15;
483
- z-index: 2;
484
- }
485
- }
486
- &--has-short-data-point {
487
- grid-column: 15 / span 14;
488
- grid-row: 1 / span 9;
489
-
490
- @media screen and (max-width: $breakpoint-xs) {
491
- grid-column: 1 / span 14;
492
- grid-row: 14 / span 13;
493
- z-index: 2;
494
- }
495
- }
496
- &--has-data-point {
497
- @media screen and (max-width: $breakpoint-xs) {
498
- grid-column: 1 / span 13;
499
- grid-row: 12 / span 19;
500
- z-index: 2;
501
- }
502
- }
503
- }
504
- }
505
- }
506
-
507
- &__bottom-left {
508
- &--one-background-image {
509
- grid-column: 2 / span 13;
510
- grid-row: 13 / span 9;
511
-
512
- @media screen and (max-width: $breakpoint-xs) {
513
- grid-column: 2 / span 12;
514
- grid-row: 40 / span 12;
515
- }
516
- }
517
- &--four-background-images {
518
- grid-column: 3 / span 25;
519
- grid-row: 28 / span 15;
520
-
521
- @media screen and (max-width: $breakpoint-sm) {
522
- grid-column: 3 / span 25;
523
- grid-row: 28 / span 16;
524
- }
525
-
526
- @media screen and (max-width: $breakpoint-xs) {
527
- grid-column: 2 / span 13;
528
- grid-row: 49 / span 11;
529
- }
530
- }
531
-
532
- &--zero-background-images {
533
- &--has-image {
534
- &--has-overlap {
535
- grid-column: 1 / span 16;
536
- grid-row: 11 / span 11;
537
- z-index: 0;
538
-
539
- @media screen and (max-width: $breakpoint-xs) {
540
- grid-column: 1 / span 14;
541
- grid-row: 27 / span 13;
542
- }
543
- }
544
- &--no-overlap {
545
- grid-column: 2 / span 13;
546
- grid-row: 10 / span 8;
547
-
548
- @media screen and (max-width: $breakpoint-xs) {
549
- grid-column: 1 / span 14;
550
- grid-row: 27 / span 13;
551
- }
552
- }
553
- &--has-short-data-point {
554
- grid-column: 1 / span 14;
555
- grid-row: 10 / span 9;
556
-
557
- @media screen and (max-width: $breakpoint-xs) {
558
- grid-column: 1 / span 14;
559
- grid-row: 27 / span 13;
560
- }
561
- }
562
- &--has-data-point {
563
- @media screen and (max-width: $breakpoint-xs) {
564
- grid-column: 1 / span 14;
565
- grid-row: 38 / span 23;
566
- }
567
- }
568
- }
569
-
570
- &--no-image {
571
- &--has-overlap {
572
- grid-column: 1 / span 16;
573
- grid-row: 12 / span 9;
574
- z-index: 2;
575
-
576
- @media screen and (max-width: $breakpoint-md) {
577
- grid-row: 12 / span 10;
578
- }
579
-
580
- @media screen and (max-width: $breakpoint-xs) {
581
- grid-column: 1 / span 13;
582
- grid-row: 38 / span 15;
583
- z-index: 2;
584
- }
585
- }
586
- &--no-overlap {
587
- grid-column: 1 / span 14;
588
- grid-row: 10 / span 9;
589
-
590
- @media screen and (max-width: $breakpoint-xs) {
591
- grid-column: 1 / span 13;
592
- grid-row: 38 / span 15;
593
- z-index: 2;
594
- }
595
- }
596
- &--has-short-data-point {
597
- grid-column: 1 / span 14;
598
- grid-row: 10 / span 9;
599
-
600
- @media screen and (max-width: $breakpoint-xs) {
601
- grid-column: 1 / span 14;
602
- grid-row: 40 / span 13;
603
- z-index: 2;
604
- }
605
- }
606
- &--has-data-point {
607
- @media screen and (max-width: $breakpoint-xs) {
608
- grid-column: 1 / span 13;
609
- grid-row: 42 / span 23;
610
- z-index: 2;
611
- }
612
- }
613
- }
614
- }
615
- }
616
-
617
- &__bottom-right {
618
- &--one-background-image {
619
- grid-column: 15 / span 13;
620
- grid-row: 13 / span 9;
621
-
622
- @media screen and (max-width: $breakpoint-xs) {
623
- grid-column: 2 / span 12;
624
- grid-row: 28 / span 12;
625
- }
626
- }
627
-
628
- &--four-background-images {
629
- grid-column: 30 / span 25;
630
- grid-row: 28 / span 15;
631
-
632
- @media screen and (max-width: $breakpoint-sm) {
633
- grid-column: 30 / span 25;
634
- grid-row: 28 / span 16;
635
- }
636
-
637
- @media screen and (max-width: $breakpoint-xs) {
638
- grid-column: 2 / span 13;
639
- grid-row: 34 / span 11;
640
- }
641
- }
642
-
643
- &--zero-background-images {
644
- &--has-image {
645
- &--has-overlap {
646
- grid-column: 13 / span 16;
647
- grid-row: 11 / span 11;
648
- z-index: 0;
649
-
650
- @media screen and (max-width: $breakpoint-xs) {
651
- grid-column: 1 / span 14;
652
- grid-row: 27 / span 13;
653
- }
654
- }
655
- &--no-overlap {
656
- grid-column: 15 / span 13;
657
- grid-row: 10 / span 8;
658
-
659
- @media screen and (max-width: $breakpoint-xs) {
660
- grid-column: 1 / span 14;
661
- grid-row: 27 / span 13;
662
- }
663
- }
664
- &--has-short-data-point {
665
- grid-column: 15 / span 14;
666
- grid-row: 10 / span 9;
667
-
668
- @media screen and (max-width: $breakpoint-xs) {
669
- grid-column: 1 / span 14;
670
- grid-row: 27 / span 13;
671
- }
672
- }
673
- &--has-data-point {
674
- @media screen and (max-width: $breakpoint-xs) {
675
- grid-column: 1 / span 14;
676
- grid-row: 31 / span 13;
677
- }
678
- }
679
- }
680
-
681
- &--no-image {
682
- &--has-overlap {
683
- grid-column: 13 / span 16;
684
- grid-row: 12 / span 8;
685
- z-index: 2;
686
-
687
- @media screen and (max-width: $breakpoint-md) {
688
- grid-row: 12 / span 9;
689
- }
690
-
691
- @media screen and (max-width: $breakpoint-xs) {
692
- grid-column: 1 / span 13;
693
- grid-row: 38 / span 15;
694
- z-index: 2;
695
- }
696
- }
697
- &--no-overlap {
698
- grid-column: 15 / span 14;
699
- grid-row: 10 / span 9;
700
-
701
- @media screen and (max-width: $breakpoint-sm) {
702
- grid-row: 8 / -1;
703
- }
704
-
705
- @media screen and (max-width: $breakpoint-xs) {
706
- grid-column: 1 / span 13;
707
- grid-row: 38 / span 15;
708
- z-index: 2;
709
- }
710
- }
711
- &--has-short-data-point {
712
- grid-column: 15 / span 14;
713
- grid-row: 10 / span 9;
714
-
715
- @media screen and (max-width: $breakpoint-xs) {
716
- grid-column: 1 / span 14;
717
- grid-row: 40 / span 13;
718
- z-index: 2;
719
- }
720
- }
721
- &--has-data-point {
722
- @media screen and (max-width: $breakpoint-xs) {
723
- grid-column: 1 / span 13;
724
- grid-row: 59 / span 25;
725
- z-index: 2;
726
- }
727
- }
728
- }
729
- }
730
- }
731
-
732
- &--white {
733
- background: $white;
734
- color: $trimble-dark-gray;
735
- &--background-image {
736
- background: rgba($white, 0.95);
737
- }
738
- }
739
-
740
- &--trimble-blue {
741
- background: $trimble-blue;
742
- color: $white;
743
- &--background-image {
744
- background: rgba($trimble-blue, 0.95);
745
- }
746
- }
747
-
748
- &--dark-navy {
749
- background: $dark-navy;
750
- color: $white;
751
-
752
- &--background-image {
753
- background: rgba($dark-navy, 0.95);
754
- }
755
- }
756
-
757
- &--concrete-gray {
758
- background: $concrete-gray;
759
- color: $trimble-dark-gray;
760
-
761
- &--background-image {
762
- background: rgba($concrete-gray, 0.95);
763
- }
764
- }
765
-
766
- &--trimble-dark-gray {
767
- background: $trimble-dark-gray;
768
- color: $white;
769
- &--background-image {
770
- background: rgba($trimble-dark-gray, 0.95);
771
- }
772
- }
773
- .luna-2x2--lottie-animation,
774
- #lottie {
775
- height: 100%;
776
- }
777
- }
778
-
779
- &__content-spacer {
780
- @include trim(5);
781
- padding-top: spacing("xs");
782
- object-fit: cover;
783
-
784
- @media screen and (max-width: $breakpoint-sm) {
785
- @include trim(10);
786
- padding-top: spacing("xxs");
787
- }
788
-
789
- @media screen and (max-width: $breakpoint-xs) {
790
- padding-top: spacing("mini");
791
- -webkit-line-clamp: unset !important;
792
- }
793
-
794
- p {
795
- font-size: $subheading-size-mobile;
796
- line-height: 25px;
797
-
798
- @media screen and (max-width: $breakpoint-sm) {
799
- font-size: 600px;
800
- font-size: font-size("micro");
801
- }
802
- }
803
-
804
- p:last-of-type {
805
- padding-top: 0;
806
- margin-bottom: 0;
807
- }
808
- }
809
- #lottie {
810
- height: 100%;
811
- }
812
- }
813
-
814
- .luna-2x2__content-quadrant--dark-navy,
815
- .luna-2x2__content-quadrant--trimble-blue,
816
- .luna-2x2__content-quadrant--trimble-dark-gray {
817
- h1,
818
- h2,
819
- h3,
820
- h4,
821
- h5,
822
- h6,
823
- p,
824
- li,
825
- ul,
826
- ol,
827
- a,
828
- i,
829
- b {
830
- color: $white;
831
- }
832
-
833
- p {
834
- font-weight: 400 !important;
835
- }
836
-
837
- .richtext-container a {
838
- font-weight: 400;
839
- transition: color 0.2s ease;
840
- display: inline-block;
841
- position: relative;
842
- text-decoration: none !important;
843
- line-height: 1.2;
844
-
845
- &::before {
846
- content: "";
847
- display: block;
848
- position: absolute;
849
- border-bottom: 2px solid $trimble-gold;
850
- width: 100%;
851
- left: 0;
852
- right: 0;
853
- bottom: 0;
854
- }
855
-
856
- &:hover {
857
- color: $white !important;
858
- }
859
-
860
- &:hover::before {
861
- border-bottom: 2px solid $dark-theme-link-list-underscore !important;
862
- }
863
- }
864
- }
865
-
866
- .luna-2x2__content-quadrant--concrete-gray,
867
- .luna-2x2__content-quadrant--white {
868
- h1,
869
- h2,
870
- h3,
871
- h4,
872
- h5,
873
- h6,
874
- p,
875
- li,
876
- ul,
877
- ol,
878
- a,
879
- i,
880
- b {
881
- color: $trimble-dark-gray;
882
- }
883
-
884
- p {
885
- font-weight: 400 !important;
886
- }
887
-
888
- .richtext-container a {
889
- font-weight: 400;
890
- transition: color 0.2s ease;
891
- display: inline-block;
892
- position: relative;
893
- text-decoration: none !important;
894
- line-height: 1.2;
895
-
896
- &::before {
897
- content: "";
898
- display: block;
899
- position: absolute;
900
- border-bottom: 2px solid $trimble-gold;
901
- width: 100%;
902
- left: 0;
903
- right: 0;
904
- bottom: 0;
905
- }
906
-
907
- &:hover {
908
- color: $trimble-dark-gray !important;
909
- }
910
-
911
- &:hover::before {
912
- border-bottom: 2px solid $trimble-blue;
913
- }
914
- }
915
- }
1
+ @import "../../../global-styles/terra.scss";
2
+
3
+ //Line trimming function
4
+ @mixin trim($numLines: null) {
5
+ @if $numLines != null {
6
+ display: -webkit-box;
7
+ -webkit-line-clamp: $numLines;
8
+ -webkit-box-orient: vertical;
9
+ overflow: hidden;
10
+ } @else {
11
+ text-overflow: ellipsis;
12
+ white-space: nowrap;
13
+ overflow: hidden;
14
+ display: block;
15
+ }
16
+ }
17
+
18
+ .luna-2x2 {
19
+ display: grid;
20
+ //Grid counts are doubled since this component ...
21
+ //... places items on half grid lines.
22
+ grid-template-columns: repeat(28, 1fr); // 14
23
+ grid-template-rows: repeat(18, 1fr); // 9
24
+ width: 100%;
25
+ height: 720px;
26
+
27
+ @media screen and (max-width: $breakpoint-xs) {
28
+ height: fit-content;
29
+ grid-template-rows: auto 1fr;
30
+ grid-template-columns: repeat(14, 1fr);
31
+ }
32
+
33
+ &__short-data-point {
34
+ max-width: 560px;
35
+ width: 100%;
36
+ height: 560px;
37
+
38
+ @media screen and (max-width: $breakpoint-xs) {
39
+ height: 960px;
40
+ }
41
+ }
42
+
43
+ &__data-point {
44
+ @media screen and (max-width: $breakpoint-xs) {
45
+ grid-template-rows: auto 1fr;
46
+ height: min-content;
47
+ }
48
+ }
49
+
50
+ //One background image and overlapping content have the same ...
51
+ //... number of grid rows
52
+ &__one-background-image {
53
+ grid-template-rows: repeat(22, 1fr); // 11
54
+ height: 880px;
55
+
56
+ @media screen and (max-width: $breakpoint-sm) {
57
+ height: 600px;
58
+ }
59
+
60
+ @media screen and (max-width: $breakpoint-xs) {
61
+ height: fit-content;
62
+ grid-template-rows: auto 1fr;
63
+ grid-template-columns: repeat(14, 1fr);
64
+ }
65
+
66
+ &--no-background-image {
67
+ min-height: 880px;
68
+
69
+ @media screen and (min-width: $breakpoint-sm) {
70
+ height: 840px;
71
+ }
72
+ }
73
+
74
+ &__background {
75
+ grid-column: 1 / span 28;
76
+ grid-row: 1 / span 22;
77
+
78
+ @media screen and (max-width: $breakpoint-xs) {
79
+ grid-column: 1 / span 14;
80
+ grid-row: 1 / span 52;
81
+ }
82
+ }
83
+ }
84
+
85
+ &__four-background-images {
86
+ //Grid counts are quadrupled since this component ...
87
+ //... places items on quarter grid lines.
88
+ grid-template-columns: repeat(56, 1fr); // 14
89
+ grid-template-rows: repeat(52, 1fr); // 13
90
+ height: 1000px;
91
+ overflow: hidden;
92
+
93
+ @media screen and (max-width: $breakpoint-sm) {
94
+ height: 1140px;
95
+ }
96
+
97
+ @media screen and (max-width: $breakpoint-xs) {
98
+ height: fit-content;
99
+ grid-template-rows: auto 1fr;
100
+ grid-template-columns: repeat(14, 1fr);
101
+ }
102
+
103
+ &__background1 {
104
+ grid-column: 1 / span 27;
105
+ grid-row: 1 / span 22;
106
+ background-size: cover;
107
+ background-position: center;
108
+
109
+ @media screen and (max-width: $breakpoint-xs) {
110
+ grid-column: 1 / span 14;
111
+ grid-row: 1 / span 11;
112
+ }
113
+ }
114
+ &__background2 {
115
+ grid-column: 30 / span 27;
116
+ grid-row: 1 / span 22;
117
+ background-size: cover;
118
+ background-position: center;
119
+
120
+ @media screen and (max-width: $breakpoint-xs) {
121
+ grid-column: 1 / span 14;
122
+ grid-row: 16 / span 11;
123
+ }
124
+ }
125
+ &__background3 {
126
+ grid-column: 1 / span 27;
127
+ grid-row: 31 / span 22;
128
+ background-size: cover;
129
+ background-position: center;
130
+
131
+ @media screen and (max-width: $breakpoint-xs) {
132
+ grid-column: 1 / span 14;
133
+ grid-row: 46 / span 11;
134
+ }
135
+ }
136
+ &__background4 {
137
+ grid-column: 30 / span 27;
138
+ grid-row: 31 / span 22;
139
+ background-size: cover;
140
+ background-position: center;
141
+
142
+ @media screen and (max-width: $breakpoint-xs) {
143
+ grid-column: 1 / span 14;
144
+ grid-row: 31 / span 11;
145
+ }
146
+ }
147
+ }
148
+
149
+ &__background-image {
150
+ height: 100%;
151
+ width: 100%;
152
+ object-fit: cover;
153
+ }
154
+
155
+ &__content-quadrant {
156
+ display: flex;
157
+ justify-content: center;
158
+ flex-direction: column;
159
+ position: relative;
160
+ overflow: hidden;
161
+
162
+ .luna-stat-container {
163
+
164
+ &__stat {
165
+ font-size: 60px;
166
+ line-height: 70px;
167
+ margin-bottom: 8px;
168
+ @include benton-normal();
169
+
170
+ @media screen and (max-width: $breakpoint-xs) {
171
+ font-size: 40px;
172
+ line-height: 47px;
173
+ }
174
+ }
175
+
176
+ &__subheader {
177
+ font-size: 24px;
178
+ line-height: 30px;
179
+ @include benton-very-bold();
180
+
181
+ @media screen and (max-width: $breakpoint-xs) {
182
+ font-size: 22px;
183
+ line-height: 27px;
184
+ }
185
+ }
186
+
187
+ &__text {
188
+ font-size: 18px;
189
+ line-height: 25px;
190
+ @include benton-light();
191
+
192
+ @media screen and (max-width: $breakpoint-xs) {
193
+ font-size: 15px;
194
+ line-height: 23px;
195
+ }
196
+ }
197
+ }
198
+
199
+ &--content {
200
+ padding: spacing("lg");
201
+ overflow: hidden;
202
+ display: flex;
203
+ flex-direction: column;
204
+
205
+ @media screen and (max-width: $breakpoint-md) {
206
+ overflow: unset;
207
+ }
208
+
209
+ @media screen and (max-width: $breakpoint-sm) {
210
+ padding: spacing("md");
211
+ }
212
+
213
+ @media screen and (max-width: $breakpoint-xs) {
214
+ padding: spacing("sm");
215
+ }
216
+
217
+ .headline {
218
+ @include trim(2);
219
+ font-weight: $very-bold-font-weight;
220
+ @media screen and (max-width: $breakpoint-sm) {
221
+ font-size: font-size("md");
222
+ margin: 4px 0 0 0;
223
+ line-height: 1.4;
224
+ }
225
+
226
+ @media screen and (max-width: $breakpoint-xs) {
227
+ line-height: 1.2;
228
+ -webkit-line-clamp: unset !important;
229
+ }
230
+
231
+ &--no-margin {
232
+ margin: 0;
233
+ }
234
+ }
235
+
236
+ .ter-icon-text-list__content-wrapper {
237
+ @media screen and (max-width: 960px) {
238
+ grid-column: 1 / span 16 !important;
239
+ align-self: start;
240
+ }
241
+ }
242
+ .ter-icon-text-list__item {
243
+ @media screen and (max-width: 960px) {
244
+ margin-bottom: spacing("xxs");
245
+ }
246
+ }
247
+
248
+ > .ter-header {
249
+ > .ter-header__container {
250
+ > .headline {
251
+ font-size: $card-title-size;
252
+ line-height: 30px;
253
+ }
254
+ }
255
+ }
256
+
257
+ > .richtext-container {
258
+ padding-left: 20px;
259
+ padding-right: 20px;
260
+ > p {
261
+ font-size: $body-font-size;
262
+ line-height: 25px;
263
+ &:last-child {
264
+ margin-bottom: 0;
265
+ }
266
+ }
267
+ }
268
+ }
269
+
270
+ &--image {
271
+ height: 100%;
272
+ width: 100%;
273
+ object-fit: cover;
274
+ overflow: hidden;
275
+ }
276
+
277
+ &--has-data-point {
278
+ padding: spacing("none");
279
+ align-items: center;
280
+ }
281
+
282
+ &__top-left {
283
+ &--one-background-image {
284
+ grid-column: 2 / span 13;
285
+ grid-row: 4 / span 9;
286
+
287
+ @media screen and (max-width: $breakpoint-xs) {
288
+ grid-column: 2 / span 12;
289
+ grid-row: 4 / span 12;
290
+ }
291
+ }
292
+
293
+ &--four-background-images {
294
+ grid-column: 3 / span 25;
295
+ grid-row: 11 / span 15;
296
+
297
+ @media screen and (max-width: $breakpoint-sm) {
298
+ grid-column: 3 / span 25;
299
+ grid-row: 10 / span 16;
300
+ }
301
+
302
+ @media screen and (max-width: $breakpoint-xs) {
303
+ grid-column: 2 / span 13;
304
+ grid-row: 4 / span 11;
305
+ }
306
+ }
307
+
308
+ &--zero-background-images {
309
+ &--has-image {
310
+ &--has-overlap {
311
+ grid-column: 1 / span 16;
312
+ grid-row: 1 / span 11;
313
+ z-index: 1;
314
+
315
+ @media screen and (max-width: $breakpoint-xs) {
316
+ grid-column: 1 / span 14;
317
+ grid-row: 1 / span 13;
318
+ }
319
+ }
320
+ &--no-overlap {
321
+ grid-column: 2 / span 13;
322
+ grid-row: 2 / span 8;
323
+
324
+ @media screen and (max-width: $breakpoint-xs) {
325
+ grid-column: 1 / span 14;
326
+ grid-row: 1 / span 13;
327
+ }
328
+ }
329
+ &--has-short-data-point {
330
+ grid-column: 1 / span 14;
331
+ grid-row: 1 / span 9;
332
+
333
+ @media screen and (max-width: $breakpoint-xs) {
334
+ grid-column: 1 / span 14;
335
+ grid-row: 1 / span 13;
336
+ }
337
+ }
338
+ &--has-data-point {
339
+ @media screen and (max-width: $breakpoint-xs) {
340
+ grid-column: 1 / span 14;
341
+ grid-row: 1 / span 13;
342
+ }
343
+ }
344
+ }
345
+
346
+ &--no-image {
347
+ &--has-overlap {
348
+ grid-column: 1 / span 16;
349
+ grid-row: 2 / span 9;
350
+ z-index: 2;
351
+
352
+ @media screen and (max-width: $breakpoint-xs) {
353
+ grid-row: 3 / span 9;
354
+ }
355
+
356
+ @media screen and (max-width: $breakpoint-xs) {
357
+ grid-column: 1 / span 13;
358
+ grid-row: 12 / span 15;
359
+ z-index: 2;
360
+ }
361
+ }
362
+ &--no-overlap {
363
+ grid-column: 1 / span 14;
364
+ grid-row: 1 / span 9;
365
+
366
+ @media screen and (max-width: $breakpoint-xs) {
367
+ grid-column: 1 / span 13;
368
+ grid-row: 12 / span 15;
369
+ z-index: 2;
370
+ }
371
+ }
372
+ &--has-short-data-point {
373
+ grid-column: 1 / span 14;
374
+ grid-row: 1 / span 9;
375
+
376
+ @media screen and (max-width: $breakpoint-xs) {
377
+ grid-column: 1 / span 14;
378
+ grid-row: 14 / span 13;
379
+ z-index: 2;
380
+ }
381
+ }
382
+ &--has-data-point {
383
+ @media screen and (max-width: $breakpoint-md) {
384
+ height: fit-content;
385
+ }
386
+
387
+ @media screen and (max-width: $breakpoint-xs) {
388
+ grid-column: 1 / span 13;
389
+ grid-row: 12 / span 25;
390
+ z-index: 2;
391
+ }
392
+ }
393
+ }
394
+ }
395
+ }
396
+
397
+ &__top-right {
398
+ &--one-background-image {
399
+ grid-column: 15 / span 13;
400
+ grid-row: 4 / span 9;
401
+
402
+ @media screen and (max-width: $breakpoint-xs) {
403
+ grid-column: 2 / span 12;
404
+ grid-row: 16 / span 12;
405
+ }
406
+ }
407
+ &--four-background-images {
408
+ grid-column: 30 / span 25;
409
+ grid-row: 11 / span 15;
410
+
411
+ @media screen and (max-width: $breakpoint-sm) {
412
+ grid-column: 30 / span 25;
413
+ grid-row: 10 / span 16;
414
+ }
415
+
416
+ @media screen and (max-width: $breakpoint-xs) {
417
+ grid-column: 2 / span 13;
418
+ grid-row: 19 / span 11;
419
+ }
420
+ }
421
+
422
+ &--zero-background-images {
423
+ &--has-image {
424
+ &--has-overlap {
425
+ grid-column: 13 / span 16;
426
+ grid-row: 1 / span 11;
427
+ z-index: 1;
428
+
429
+ @media screen and (max-width: $breakpoint-xs) {
430
+ grid-column: 1 / span 14;
431
+ grid-row: 1 / span 13;
432
+ }
433
+ }
434
+ &--no-overlap {
435
+ grid-column: 15 / span 13;
436
+ grid-row: 2 / span 8;
437
+
438
+ @media screen and (max-width: $breakpoint-xs) {
439
+ grid-column: 1 / span 14;
440
+ grid-row: 1 / span 13;
441
+ }
442
+ }
443
+ &--has-short-data-point {
444
+ grid-column: 15 / span 14;
445
+ grid-row: 1 / span 9;
446
+
447
+ @media screen and (max-width: $breakpoint-xs) {
448
+ grid-column: 1 / span 14;
449
+ grid-row: 1 / span 13;
450
+ }
451
+ }
452
+ &--has-data-point {
453
+ @media screen and (max-width: $breakpoint-xs) {
454
+ grid-column: 1 / span 14;
455
+ grid-row: 1 / span 13;
456
+ }
457
+ }
458
+ }
459
+
460
+ &--no-image {
461
+ &--has-overlap {
462
+ grid-column: 13 / span 16;
463
+ grid-row: 3 / span 9;
464
+ z-index: 2;
465
+
466
+ @media screen and (max-width: $breakpoint-md) {
467
+ grid-row: 1 / span 10;
468
+ }
469
+
470
+ @media screen and (max-width: $breakpoint-xs) {
471
+ grid-column: 1 / span 13;
472
+ grid-row: 12 / span 15;
473
+ z-index: 2;
474
+ }
475
+ }
476
+ &--no-overlap {
477
+ grid-column: 15 / span 14;
478
+ grid-row: 1 / span 9;
479
+
480
+ @media screen and (max-width: $breakpoint-xs) {
481
+ grid-column: 1 / span 13;
482
+ grid-row: 12 / span 15;
483
+ z-index: 2;
484
+ }
485
+ }
486
+ &--has-short-data-point {
487
+ grid-column: 15 / span 14;
488
+ grid-row: 1 / span 9;
489
+
490
+ @media screen and (max-width: $breakpoint-xs) {
491
+ grid-column: 1 / span 14;
492
+ grid-row: 14 / span 13;
493
+ z-index: 2;
494
+ }
495
+ }
496
+ &--has-data-point {
497
+ @media screen and (max-width: $breakpoint-xs) {
498
+ grid-column: 1 / span 13;
499
+ grid-row: 12 / span 19;
500
+ z-index: 2;
501
+ }
502
+ }
503
+ }
504
+ }
505
+ }
506
+
507
+ &__bottom-left {
508
+ &--one-background-image {
509
+ grid-column: 2 / span 13;
510
+ grid-row: 13 / span 9;
511
+
512
+ @media screen and (max-width: $breakpoint-xs) {
513
+ grid-column: 2 / span 12;
514
+ grid-row: 40 / span 12;
515
+ }
516
+ }
517
+ &--four-background-images {
518
+ grid-column: 3 / span 25;
519
+ grid-row: 28 / span 15;
520
+
521
+ @media screen and (max-width: $breakpoint-sm) {
522
+ grid-column: 3 / span 25;
523
+ grid-row: 28 / span 16;
524
+ }
525
+
526
+ @media screen and (max-width: $breakpoint-xs) {
527
+ grid-column: 2 / span 13;
528
+ grid-row: 49 / span 11;
529
+ }
530
+ }
531
+
532
+ &--zero-background-images {
533
+ &--has-image {
534
+ &--has-overlap {
535
+ grid-column: 1 / span 16;
536
+ grid-row: 11 / span 11;
537
+ z-index: 0;
538
+
539
+ @media screen and (max-width: $breakpoint-xs) {
540
+ grid-column: 1 / span 14;
541
+ grid-row: 27 / span 13;
542
+ }
543
+ }
544
+ &--no-overlap {
545
+ grid-column: 2 / span 13;
546
+ grid-row: 10 / span 8;
547
+
548
+ @media screen and (max-width: $breakpoint-xs) {
549
+ grid-column: 1 / span 14;
550
+ grid-row: 27 / span 13;
551
+ }
552
+ }
553
+ &--has-short-data-point {
554
+ grid-column: 1 / span 14;
555
+ grid-row: 10 / span 9;
556
+
557
+ @media screen and (max-width: $breakpoint-xs) {
558
+ grid-column: 1 / span 14;
559
+ grid-row: 27 / span 13;
560
+ }
561
+ }
562
+ &--has-data-point {
563
+ @media screen and (max-width: $breakpoint-xs) {
564
+ grid-column: 1 / span 14;
565
+ grid-row: 38 / span 23;
566
+ }
567
+ }
568
+ }
569
+
570
+ &--no-image {
571
+ &--has-overlap {
572
+ grid-column: 1 / span 16;
573
+ grid-row: 12 / span 9;
574
+ z-index: 2;
575
+
576
+ @media screen and (max-width: $breakpoint-md) {
577
+ grid-row: 12 / span 10;
578
+ }
579
+
580
+ @media screen and (max-width: $breakpoint-xs) {
581
+ grid-column: 1 / span 13;
582
+ grid-row: 38 / span 15;
583
+ z-index: 2;
584
+ }
585
+ }
586
+ &--no-overlap {
587
+ grid-column: 1 / span 14;
588
+ grid-row: 10 / span 9;
589
+
590
+ @media screen and (max-width: $breakpoint-xs) {
591
+ grid-column: 1 / span 13;
592
+ grid-row: 38 / span 15;
593
+ z-index: 2;
594
+ }
595
+ }
596
+ &--has-short-data-point {
597
+ grid-column: 1 / span 14;
598
+ grid-row: 10 / span 9;
599
+
600
+ @media screen and (max-width: $breakpoint-xs) {
601
+ grid-column: 1 / span 14;
602
+ grid-row: 40 / span 13;
603
+ z-index: 2;
604
+ }
605
+ }
606
+ &--has-data-point {
607
+ @media screen and (max-width: $breakpoint-xs) {
608
+ grid-column: 1 / span 13;
609
+ grid-row: 42 / span 23;
610
+ z-index: 2;
611
+ }
612
+ }
613
+ }
614
+ }
615
+ }
616
+
617
+ &__bottom-right {
618
+ &--one-background-image {
619
+ grid-column: 15 / span 13;
620
+ grid-row: 13 / span 9;
621
+
622
+ @media screen and (max-width: $breakpoint-xs) {
623
+ grid-column: 2 / span 12;
624
+ grid-row: 28 / span 12;
625
+ }
626
+ }
627
+
628
+ &--four-background-images {
629
+ grid-column: 30 / span 25;
630
+ grid-row: 28 / span 15;
631
+
632
+ @media screen and (max-width: $breakpoint-sm) {
633
+ grid-column: 30 / span 25;
634
+ grid-row: 28 / span 16;
635
+ }
636
+
637
+ @media screen and (max-width: $breakpoint-xs) {
638
+ grid-column: 2 / span 13;
639
+ grid-row: 34 / span 11;
640
+ }
641
+ }
642
+
643
+ &--zero-background-images {
644
+ &--has-image {
645
+ &--has-overlap {
646
+ grid-column: 13 / span 16;
647
+ grid-row: 11 / span 11;
648
+ z-index: 0;
649
+
650
+ @media screen and (max-width: $breakpoint-xs) {
651
+ grid-column: 1 / span 14;
652
+ grid-row: 27 / span 13;
653
+ }
654
+ }
655
+ &--no-overlap {
656
+ grid-column: 15 / span 13;
657
+ grid-row: 10 / span 8;
658
+
659
+ @media screen and (max-width: $breakpoint-xs) {
660
+ grid-column: 1 / span 14;
661
+ grid-row: 27 / span 13;
662
+ }
663
+ }
664
+ &--has-short-data-point {
665
+ grid-column: 15 / span 14;
666
+ grid-row: 10 / span 9;
667
+
668
+ @media screen and (max-width: $breakpoint-xs) {
669
+ grid-column: 1 / span 14;
670
+ grid-row: 27 / span 13;
671
+ }
672
+ }
673
+ &--has-data-point {
674
+ @media screen and (max-width: $breakpoint-xs) {
675
+ grid-column: 1 / span 14;
676
+ grid-row: 31 / span 13;
677
+ }
678
+ }
679
+ }
680
+
681
+ &--no-image {
682
+ &--has-overlap {
683
+ grid-column: 13 / span 16;
684
+ grid-row: 12 / span 8;
685
+ z-index: 2;
686
+
687
+ @media screen and (max-width: $breakpoint-md) {
688
+ grid-row: 12 / span 9;
689
+ }
690
+
691
+ @media screen and (max-width: $breakpoint-xs) {
692
+ grid-column: 1 / span 13;
693
+ grid-row: 38 / span 15;
694
+ z-index: 2;
695
+ }
696
+ }
697
+ &--no-overlap {
698
+ grid-column: 15 / span 14;
699
+ grid-row: 10 / span 9;
700
+
701
+ @media screen and (max-width: $breakpoint-sm) {
702
+ grid-row: 8 / -1;
703
+ }
704
+
705
+ @media screen and (max-width: $breakpoint-xs) {
706
+ grid-column: 1 / span 13;
707
+ grid-row: 38 / span 15;
708
+ z-index: 2;
709
+ }
710
+ }
711
+ &--has-short-data-point {
712
+ grid-column: 15 / span 14;
713
+ grid-row: 10 / span 9;
714
+
715
+ @media screen and (max-width: $breakpoint-xs) {
716
+ grid-column: 1 / span 14;
717
+ grid-row: 40 / span 13;
718
+ z-index: 2;
719
+ }
720
+ }
721
+ &--has-data-point {
722
+ @media screen and (max-width: $breakpoint-xs) {
723
+ grid-column: 1 / span 13;
724
+ grid-row: 59 / span 25;
725
+ z-index: 2;
726
+ }
727
+ }
728
+ }
729
+ }
730
+ }
731
+
732
+ &--white {
733
+ background: $white;
734
+ color: $trimble-dark-gray;
735
+ &--background-image {
736
+ background: rgba($white, 0.95);
737
+ }
738
+ }
739
+
740
+ &--trimble-blue {
741
+ background: $trimble-blue;
742
+ color: $white;
743
+ &--background-image {
744
+ background: rgba($trimble-blue, 0.95);
745
+ }
746
+ }
747
+
748
+ &--dark-navy {
749
+ background: $dark-navy;
750
+ color: $white;
751
+
752
+ &--background-image {
753
+ background: rgba($dark-navy, 0.95);
754
+ }
755
+ }
756
+
757
+ &--concrete-gray {
758
+ background: $concrete-gray;
759
+ color: $trimble-dark-gray;
760
+
761
+ &--background-image {
762
+ background: rgba($concrete-gray, 0.95);
763
+ }
764
+ }
765
+
766
+ &--trimble-dark-gray {
767
+ background: $trimble-dark-gray;
768
+ color: $white;
769
+ &--background-image {
770
+ background: rgba($trimble-dark-gray, 0.95);
771
+ }
772
+ }
773
+ .luna-2x2--lottie-animation,
774
+ #lottie {
775
+ height: 100%;
776
+ }
777
+ }
778
+
779
+ &__content-spacer {
780
+ @include trim(5);
781
+ padding-top: spacing("xs");
782
+ object-fit: cover;
783
+
784
+ @media screen and (max-width: $breakpoint-sm) {
785
+ @include trim(10);
786
+ padding-top: spacing("xxs");
787
+ }
788
+
789
+ @media screen and (max-width: $breakpoint-xs) {
790
+ padding-top: spacing("mini");
791
+ -webkit-line-clamp: unset !important;
792
+ }
793
+
794
+ p {
795
+ font-size: $subheading-size-mobile;
796
+ line-height: 25px;
797
+
798
+ @media screen and (max-width: $breakpoint-sm) {
799
+ font-size: 600px;
800
+ font-size: font-size("micro");
801
+ }
802
+ }
803
+
804
+ p:last-of-type {
805
+ padding-top: 0;
806
+ margin-bottom: 0;
807
+ }
808
+ }
809
+ #lottie {
810
+ height: 100%;
811
+ }
812
+ }
813
+
814
+ .luna-2x2__content-quadrant--dark-navy,
815
+ .luna-2x2__content-quadrant--trimble-blue,
816
+ .luna-2x2__content-quadrant--trimble-dark-gray {
817
+ h1,
818
+ h2,
819
+ h3,
820
+ h4,
821
+ h5,
822
+ h6,
823
+ p,
824
+ li,
825
+ ul,
826
+ ol,
827
+ a,
828
+ i,
829
+ b {
830
+ color: $white;
831
+ }
832
+
833
+ p {
834
+ font-weight: 400 !important;
835
+ }
836
+
837
+ .richtext-container a {
838
+ font-weight: 400;
839
+ transition: color 0.2s ease;
840
+ display: inline-block;
841
+ position: relative;
842
+ text-decoration: none !important;
843
+ line-height: 1.2;
844
+
845
+ &::before {
846
+ content: "";
847
+ display: block;
848
+ position: absolute;
849
+ border-bottom: 2px solid $trimble-gold;
850
+ width: 100%;
851
+ left: 0;
852
+ right: 0;
853
+ bottom: 0;
854
+ }
855
+
856
+ &:hover {
857
+ color: $white !important;
858
+ }
859
+
860
+ &:hover::before {
861
+ border-bottom: 2px solid $dark-theme-link-list-underscore !important;
862
+ }
863
+ }
864
+ }
865
+
866
+ .luna-2x2__content-quadrant--concrete-gray,
867
+ .luna-2x2__content-quadrant--white {
868
+ h1,
869
+ h2,
870
+ h3,
871
+ h4,
872
+ h5,
873
+ h6,
874
+ p,
875
+ li,
876
+ ul,
877
+ ol,
878
+ a,
879
+ i,
880
+ b {
881
+ color: $trimble-dark-gray;
882
+ }
883
+
884
+ p {
885
+ font-weight: 400 !important;
886
+ }
887
+
888
+ .richtext-container a {
889
+ font-weight: 400;
890
+ transition: color 0.2s ease;
891
+ display: inline-block;
892
+ position: relative;
893
+ text-decoration: none !important;
894
+ line-height: 1.2;
895
+
896
+ &::before {
897
+ content: "";
898
+ display: block;
899
+ position: absolute;
900
+ border-bottom: 2px solid $trimble-gold;
901
+ width: 100%;
902
+ left: 0;
903
+ right: 0;
904
+ bottom: 0;
905
+ }
906
+
907
+ &:hover {
908
+ color: $trimble-dark-gray !important;
909
+ }
910
+
911
+ &:hover::before {
912
+ border-bottom: 2px solid $trimble-blue;
913
+ }
914
+ }
915
+ }