luna-one 3.1.538 → 3.1.539

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