luna-one 3.1.597 → 3.1.599

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 (189) 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.js +4 -4
  64. package/dist/luna/components/LanguageSelector/LanguageSelector.scss +318 -318
  65. package/dist/luna/components/LanguageSelector/LanguageSelectorDocumentation.mdx +119 -119
  66. package/dist/luna/components/LinkList/LinkList.scss +59 -59
  67. package/dist/luna/components/LinkList/LinkListDocumentation.mdx +54 -54
  68. package/dist/luna/components/LoadingSpinner/LoadingSpinner.scss +34 -34
  69. package/dist/luna/components/Login/Login.scss +180 -180
  70. package/dist/luna/components/MarketoForm/MarketoForm.scss +56 -56
  71. package/dist/luna/components/MarketoForm/MarketoFormDocumentation.mdx +1 -1
  72. package/dist/luna/components/MegaMenu/MegaMenu.scss +570 -570
  73. package/dist/luna/components/MobileLogin/MobileLogin.scss +38 -38
  74. package/dist/luna/components/MobileMegaMenu/MobileMegaMenu.scss +289 -289
  75. package/dist/luna/components/MobileMenu/MobileMenu.scss +70 -70
  76. package/dist/luna/components/MobileNav/MobileNav.scss +286 -286
  77. package/dist/luna/components/NavBar/NavBar.scss +628 -628
  78. package/dist/luna/components/NavBar/NavigationBarDocumentation.mdx +245 -245
  79. package/dist/luna/components/NavBarTop/NavBarTop.scss +403 -403
  80. package/dist/luna/components/NavSearch/NavSearch.scss +130 -130
  81. package/dist/luna/components/NonTimeBasedListEntries/NonTimeBasedListEntries.scss +339 -339
  82. package/dist/luna/components/NonTimeBasedListEntries/NonTimeBasedListEntriesDocumentation.mdx +89 -89
  83. package/dist/luna/components/OverlayNotice/OverlayNotice.scss +247 -247
  84. package/dist/luna/components/OverlayNotice/OverlayNoticeDocumentation.mdx +45 -45
  85. package/dist/luna/components/Pagination/Pagination.scss +27 -27
  86. package/dist/luna/components/ProductSummary/ProductSummary.scss +273 -273
  87. package/dist/luna/components/ProductsPackage/ProductsPackage.scss +194 -194
  88. package/dist/luna/components/ProseLayout/ProseLayout.js +7 -5
  89. package/dist/luna/components/ProseLayout/ProseLayout.scss +394 -384
  90. package/dist/luna/components/ProseLayout/ProseLayoutDocumentation.mdx +93 -93
  91. package/dist/luna/components/PullQuote/PullQuote.scss +400 -400
  92. package/dist/luna/components/PullQuote/PullQuoteDocumentation.mdx +60 -60
  93. package/dist/luna/components/PullQuote/ico-quote-white.svg +3 -3
  94. package/dist/luna/components/PullQuote/ico-quote.svg +3 -3
  95. package/dist/luna/components/RegionCard/RegionCard.scss +86 -86
  96. package/dist/luna/components/ResourceGrid/ResourceGrid.scss +34 -34
  97. package/dist/luna/components/ResourceGrid/ResourceGridDocumentation.mdx +102 -102
  98. package/dist/luna/components/ScrollInPlace/ScrollInPlace.scss +219 -219
  99. package/dist/luna/components/ScrollInPlace/ScrollInPlaceDocumentation.mdx +123 -123
  100. package/dist/luna/components/SketchUpPricingCard/SketchUpPricingCard.scss +142 -142
  101. package/dist/luna/components/SlideOutFeat/SlideOutFeat.scss +124 -124
  102. package/dist/luna/components/StoreFrontCard/StoreFrontCard.scss +434 -434
  103. package/dist/luna/components/SubNav/SubNav.scss +274 -274
  104. package/dist/luna/components/SuperHero/SuperHero.scss +804 -804
  105. package/dist/luna/components/SuperHero/SuperHeroDocumentation.mdx +57 -57
  106. package/dist/luna/components/SupportCard/SupportCard.scss +134 -134
  107. package/dist/luna/components/Tabs/Tabs.scss +871 -871
  108. package/dist/luna/components/Tabs/TabsDocumentation.mdx +94 -94
  109. package/dist/luna/components/TimeBasedList/TimeBasedList.scss +394 -394
  110. package/dist/luna/components/TimeBasedList/TimeBasedListDocumentation.mdx +123 -123
  111. package/dist/luna/components/TrainerCard/TrainerCard.scss +51 -51
  112. package/dist/luna/components/TrialForm/TrialComponents/TrialSpecifics.scss +44 -44
  113. package/dist/luna/components/TrialForm/TrialComponents/TrialSummary.scss +57 -57
  114. package/dist/luna/components/TrialForm/TrialFormStart/TrialFormStart.scss +28 -28
  115. package/dist/luna/components/TrialForm/images/check.svg +3 -3
  116. package/dist/luna/components/TrialForm/images/form-border-bottom-dark.svg +4 -4
  117. package/dist/luna/components/TrialForm/images/form-border-bottom-light.svg +4 -4
  118. package/dist/luna/components/TrialForm/images/form-border-top-dark.svg +4 -4
  119. package/dist/luna/components/TrialForm/images/form-border-top-light.svg +4 -4
  120. package/dist/luna/components/UnboundedCard/UnboundedCard.scss +108 -108
  121. package/dist/luna/components/UnboundedCard/playIcon.svg +17 -17
  122. package/dist/luna/components/VariableContentCard/VariableContentCard.scss +253 -253
  123. package/dist/luna/components/Video/Video.scss +209 -209
  124. package/dist/luna/components/Video/VideoDocumentation.mdx +56 -56
  125. package/dist/luna/components/VidyardModal/VidyardModal.scss +34 -34
  126. package/dist/luna/components/WaffleMenu/WaffleMenu.scss +73 -73
  127. package/dist/luna/images/arrow-diagonal-black.svg +13 -13
  128. package/dist/luna/images/arrow-diagonal-blue.svg +13 -13
  129. package/dist/luna/images/arrow-diagonal-white.svg +13 -13
  130. package/dist/luna/images/bulletpoint.svg +3 -3
  131. package/dist/luna/images/callout-icon.svg +3 -3
  132. package/dist/luna/images/carat-down.svg +3 -3
  133. package/dist/luna/images/carat-up.svg +3 -3
  134. package/dist/luna/images/check-blue.svg +4 -4
  135. package/dist/luna/images/circle-arrow-right-black.svg +3 -3
  136. package/dist/luna/images/circle-arrow-right-white.svg +3 -3
  137. package/dist/luna/images/circle-arrow.svg +3 -3
  138. package/dist/luna/images/close-blue.svg +4 -4
  139. package/dist/luna/images/close-button.svg +42 -42
  140. package/dist/luna/images/close-dark-navy.svg +3 -3
  141. package/dist/luna/images/close-icon.svg +3 -3
  142. package/dist/luna/images/close.svg +3 -3
  143. package/dist/luna/images/collapse-close-blue.svg +5 -5
  144. package/dist/luna/images/collapse-close-gold.svg +5 -5
  145. package/dist/luna/images/collapse-open-blue.svg +4 -4
  146. package/dist/luna/images/collapse-open-gold.svg +4 -4
  147. package/dist/luna/images/cross-medium-blue.svg +4 -4
  148. package/dist/luna/images/cross-medium-white.svg +5 -5
  149. package/dist/luna/images/down-caret-dark-blue.svg +4 -4
  150. package/dist/luna/images/down-caret-dark-gray.svg +4 -4
  151. package/dist/luna/images/down-caret-light-gray.svg +4 -4
  152. package/dist/luna/images/downArrow.svg +36 -36
  153. package/dist/luna/images/ellipses.svg +6 -6
  154. package/dist/luna/images/external-arrow-blue.svg +11 -11
  155. package/dist/luna/images/external-arrow-white-theme.svg +12 -12
  156. package/dist/luna/images/external-arrow.svg +12 -12
  157. package/dist/luna/images/facebook.svg +13 -13
  158. package/dist/luna/images/form-border-top-light.svg +4 -4
  159. package/dist/luna/images/frame-intersection.svg +3 -3
  160. package/dist/luna/images/gallery-image-corner-border.svg +3 -3
  161. package/dist/luna/images/green-tick.svg +3 -3
  162. package/dist/luna/images/instagram.svg +19 -19
  163. package/dist/luna/images/internal-arrow-blue.svg +15 -15
  164. package/dist/luna/images/internal-arrow-white-theme.svg +15 -15
  165. package/dist/luna/images/internal-arrow.svg +15 -15
  166. package/dist/luna/images/linkedin.svg +15 -15
  167. package/dist/luna/images/logo-icon.svg +17 -17
  168. package/dist/luna/images/pdf-doc.svg +9 -9
  169. package/dist/luna/images/play.svg +17 -17
  170. package/dist/luna/images/right-caret-dark-blue.svg +3 -3
  171. package/dist/luna/images/right-caret-light-gray.svg +4 -4
  172. package/dist/luna/images/right-caret-light-yellow-stroke.svg +9 -9
  173. package/dist/luna/images/right-caret-light-yellow.svg +4 -4
  174. package/dist/luna/images/right-caret-medium-gray.svg +4 -4
  175. package/dist/luna/images/search.svg +9 -9
  176. package/dist/luna/images/skipicon.svg +154 -154
  177. package/dist/luna/images/text-doc.svg +9 -9
  178. package/dist/luna/images/text-lines.svg +22 -22
  179. package/dist/luna/images/tooltip-close-icon.svg +3 -3
  180. package/dist/luna/images/tooltip-icon.svg +3 -3
  181. package/dist/luna/images/twitter.svg +17 -17
  182. package/dist/luna/images/up-arrow.svg +36 -36
  183. package/dist/luna/images/up-right-arrow.svg +9 -9
  184. package/dist/luna/images/user-profile.svg +37 -37
  185. package/dist/luna/images/user.svg +4 -4
  186. package/dist/luna/images/waffle.svg +11 -11
  187. package/dist/luna/images/worldwide.svg +19 -19
  188. package/dist/luna/images/youtube.svg +14 -14
  189. 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
+ }