luna-one 3.1.594 → 3.1.596

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 (212) 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/AdminCategoryData/CategoryTranslationData.js +4 -4
  28. package/dist/luna/components/AdminProductData/AdminProductData.js +4 -4
  29. package/dist/luna/components/AdminProductData/AdminProductData.scss +75 -75
  30. package/dist/luna/components/BlockListItems/BlockListItems.scss +285 -285
  31. package/dist/luna/components/BlockListItems/BlockListItemsDocumentation.mdx +339 -339
  32. package/dist/luna/components/BrowserSupportBanner/BrowserSupportBanner.scss +6 -6
  33. package/dist/luna/components/CTAButtons/CTAButtons.scss +19 -19
  34. package/dist/luna/components/CTAButtons/CTAButtonsDocumentation.mdx +33 -33
  35. package/dist/luna/components/Carousel/Carousel.scss +155 -155
  36. package/dist/luna/components/Carousel/CarouselDocumentation.mdx +161 -161
  37. package/dist/luna/components/ComparisonTable/ComparisonTable.scss +331 -331
  38. package/dist/luna/components/ComparisonTable/ComparisonTableDocumentation.mdx +159 -159
  39. package/dist/luna/components/CtaWithHeader/CTAHeaderTextDocumentation.mdx +45 -45
  40. package/dist/luna/components/CtaWithHeader/CtaWithHeader.scss +324 -324
  41. package/dist/luna/components/DataPoint/DataPoint.scss +170 -170
  42. package/dist/luna/components/DataPoint/DataPointDocumentation.mdx +40 -40
  43. package/dist/luna/components/EventCard/EventCard.js +3 -3
  44. package/dist/luna/components/EventCard/EventCard.scss +134 -134
  45. package/dist/luna/components/EventCard/EventCardDocumentation.mdx +46 -46
  46. package/dist/luna/components/FilterHero/FilterHero.scss +80 -80
  47. package/dist/luna/components/FilterSection/FilterSection.scss +175 -175
  48. package/dist/luna/components/Flyout/Flyout.js +4 -5
  49. package/dist/luna/components/Flyout/Flyout.scss +367 -367
  50. package/dist/luna/components/Flyout/FlyoutDocumentation.mdx +60 -60
  51. package/dist/luna/components/Footer/Footer.scss +484 -484
  52. package/dist/luna/components/Footer/FooterDocumentation.mdx +133 -133
  53. package/dist/luna/components/FullBackgroundHero/FullBackgroundHero.scss +722 -722
  54. package/dist/luna/components/FullBackgroundHero/FullBackgroundHeroDocumentation.mdx +93 -93
  55. package/dist/luna/components/HTMLEmbed/HTMLEmbed.scss +51 -51
  56. package/dist/luna/components/HTMLEmbed/HTMLEmbedDocumentation.mdx +31 -31
  57. package/dist/luna/components/Header/Header.scss +36 -36
  58. package/dist/luna/components/Header/HeaderDocumentation.mdx +24 -24
  59. package/dist/luna/components/IconTextList/IconTextList.scss +124 -124
  60. package/dist/luna/components/IconTextList/IconTextListDocumentation.mdx +45 -45
  61. package/dist/luna/components/ImageGallery/ImageGallery.scss +442 -442
  62. package/dist/luna/components/ImageGallery/ImageGalleryDocumentation.mdx +90 -90
  63. package/dist/luna/components/InPageJumpNav/InPageJumpNav.scss +122 -122
  64. package/dist/luna/components/InPageJumpNav/InPageJumpNavDocumentation.mdx +22 -22
  65. package/dist/luna/components/JobPosting/JobPosting.scss +171 -171
  66. package/dist/luna/components/JobPosting/JobPostingDocumentation.mdx +69 -69
  67. package/dist/luna/components/LanguageSelector/LanguageSelector.js +2 -3
  68. package/dist/luna/components/LanguageSelector/LanguageSelector.scss +318 -318
  69. package/dist/luna/components/LanguageSelector/LanguageSelectorDocumentation.mdx +119 -119
  70. package/dist/luna/components/LinkList/LinkList.scss +59 -59
  71. package/dist/luna/components/LinkList/LinkListDocumentation.mdx +54 -54
  72. package/dist/luna/components/LoadingSpinner/LoadingSpinner.scss +34 -34
  73. package/dist/luna/components/Login/Login.js +3 -4
  74. package/dist/luna/components/Login/Login.scss +180 -180
  75. package/dist/luna/components/MarketoForm/MarketoForm.scss +56 -56
  76. package/dist/luna/components/MarketoForm/MarketoFormDocumentation.mdx +1 -1
  77. package/dist/luna/components/MegaMenu/MegaMenu.js +5 -6
  78. package/dist/luna/components/MegaMenu/MegaMenu.scss +570 -570
  79. package/dist/luna/components/MegaMenu/menu-generators/PartialSubMenu.js +3 -4
  80. package/dist/luna/components/MegaMenu/menu-generators/SubMenu.js +15 -13
  81. package/dist/luna/components/MegaMenu/menu-generators/TertiaryMenu.js +12 -10
  82. package/dist/luna/components/MegaMenu/menu-generators/UncollapsedLinks.js +3 -4
  83. package/dist/luna/components/MobileLogin/MobileLogin.js +3 -4
  84. package/dist/luna/components/MobileLogin/MobileLogin.scss +38 -38
  85. package/dist/luna/components/MobileMegaMenu/MobileMegaMenu.js +6 -6
  86. package/dist/luna/components/MobileMegaMenu/MobileMegaMenu.scss +289 -289
  87. package/dist/luna/components/MobileMegaMenu/MobileMegaMenuCategory.js +9 -9
  88. package/dist/luna/components/MobileMegaMenu/MobileMegaMenuPartialCategory.js +3 -3
  89. package/dist/luna/components/MobileMegaMenu/MobileMegaMenuSubCategory.js +8 -9
  90. package/dist/luna/components/MobileMenu/MobileMenu.scss +70 -70
  91. package/dist/luna/components/MobileNav/MobileNav.js +1 -2
  92. package/dist/luna/components/MobileNav/MobileNav.scss +286 -286
  93. package/dist/luna/components/NavBar/NavBar.scss +628 -628
  94. package/dist/luna/components/NavBar/NavMiniMenu.js +3 -4
  95. package/dist/luna/components/NavBar/NavigationBarDocumentation.mdx +245 -245
  96. package/dist/luna/components/NavBar/UtilityNav.js +5 -5
  97. package/dist/luna/components/NavBarTop/NavBarTop.js +7 -8
  98. package/dist/luna/components/NavBarTop/NavBarTop.scss +403 -403
  99. package/dist/luna/components/NavSearch/NavSearch.scss +130 -130
  100. package/dist/luna/components/NonTimeBasedListEntries/NonTimeBasedListEntries.scss +339 -339
  101. package/dist/luna/components/NonTimeBasedListEntries/NonTimeBasedListEntriesDocumentation.mdx +89 -89
  102. package/dist/luna/components/OverlayNotice/OverlayNotice.scss +247 -247
  103. package/dist/luna/components/OverlayNotice/OverlayNoticeDocumentation.mdx +45 -45
  104. package/dist/luna/components/Pagination/Pagination.scss +27 -27
  105. package/dist/luna/components/ProductSummary/ProductSummary.scss +273 -273
  106. package/dist/luna/components/ProductsPackage/ProductsPackage.scss +194 -194
  107. package/dist/luna/components/ProseLayout/ProseLayout.scss +384 -384
  108. package/dist/luna/components/ProseLayout/ProseLayoutDocumentation.mdx +93 -93
  109. package/dist/luna/components/PullQuote/PullQuote.scss +400 -400
  110. package/dist/luna/components/PullQuote/PullQuoteDocumentation.mdx +60 -60
  111. package/dist/luna/components/PullQuote/ico-quote-white.svg +3 -3
  112. package/dist/luna/components/PullQuote/ico-quote.svg +3 -3
  113. package/dist/luna/components/RegionCard/RegionCard.js +4 -4
  114. package/dist/luna/components/RegionCard/RegionCard.scss +86 -86
  115. package/dist/luna/components/ResourceGrid/ResourceGrid.scss +34 -34
  116. package/dist/luna/components/ResourceGrid/ResourceGridDocumentation.mdx +102 -102
  117. package/dist/luna/components/ScrollInPlace/ScrollInPlace.scss +219 -219
  118. package/dist/luna/components/ScrollInPlace/ScrollInPlaceDocumentation.mdx +123 -123
  119. package/dist/luna/components/SketchUpPricingCard/SketchUpPricingCard.scss +142 -142
  120. package/dist/luna/components/SlideOutFeat/SlideOutFeat.scss +124 -124
  121. package/dist/luna/components/StoreFrontCard/StoreFrontCard.js +1 -2
  122. package/dist/luna/components/StoreFrontCard/StoreFrontCard.scss +434 -434
  123. package/dist/luna/components/SubNav/SubNav.js +4 -5
  124. package/dist/luna/components/SubNav/SubNav.scss +274 -274
  125. package/dist/luna/components/SuperHero/SuperHero.scss +804 -804
  126. package/dist/luna/components/SuperHero/SuperHeroDocumentation.mdx +57 -57
  127. package/dist/luna/components/SupportCard/SupportCard.scss +134 -134
  128. package/dist/luna/components/Tabs/Tabs.js +1 -2
  129. package/dist/luna/components/Tabs/Tabs.scss +871 -871
  130. package/dist/luna/components/Tabs/TabsDocumentation.mdx +94 -94
  131. package/dist/luna/components/TimeBasedList/TimeBasedList.scss +394 -394
  132. package/dist/luna/components/TimeBasedList/TimeBasedListDocumentation.mdx +123 -123
  133. package/dist/luna/components/TrainerCard/TrainerCard.scss +51 -51
  134. package/dist/luna/components/TrialForm/TrialComponents/TrialSpecifics.scss +44 -44
  135. package/dist/luna/components/TrialForm/TrialComponents/TrialSummary.scss +57 -57
  136. package/dist/luna/components/TrialForm/TrialFormStart/TrialFormStart.scss +28 -28
  137. package/dist/luna/components/TrialForm/images/check.svg +3 -3
  138. package/dist/luna/components/TrialForm/images/form-border-bottom-dark.svg +4 -4
  139. package/dist/luna/components/TrialForm/images/form-border-bottom-light.svg +4 -4
  140. package/dist/luna/components/TrialForm/images/form-border-top-dark.svg +4 -4
  141. package/dist/luna/components/TrialForm/images/form-border-top-light.svg +4 -4
  142. package/dist/luna/components/UnboundedCard/UnboundedCard.scss +108 -108
  143. package/dist/luna/components/UnboundedCard/playIcon.svg +17 -17
  144. package/dist/luna/components/VariableContentCard/VariableContentCard.js +4 -4
  145. package/dist/luna/components/VariableContentCard/VariableContentCard.scss +253 -253
  146. package/dist/luna/components/Video/Video.scss +209 -209
  147. package/dist/luna/components/Video/VideoDocumentation.mdx +56 -56
  148. package/dist/luna/components/VidyardModal/VidyardModal.scss +34 -34
  149. package/dist/luna/components/WaffleMenu/WaffleMenu.scss +73 -73
  150. package/dist/luna/images/arrow-diagonal-black.svg +13 -13
  151. package/dist/luna/images/arrow-diagonal-blue.svg +13 -13
  152. package/dist/luna/images/arrow-diagonal-white.svg +13 -13
  153. package/dist/luna/images/bulletpoint.svg +3 -3
  154. package/dist/luna/images/callout-icon.svg +3 -3
  155. package/dist/luna/images/carat-down.svg +3 -3
  156. package/dist/luna/images/carat-up.svg +3 -3
  157. package/dist/luna/images/check-blue.svg +4 -4
  158. package/dist/luna/images/circle-arrow-right-black.svg +3 -3
  159. package/dist/luna/images/circle-arrow-right-white.svg +3 -3
  160. package/dist/luna/images/circle-arrow.svg +3 -3
  161. package/dist/luna/images/close-blue.svg +4 -4
  162. package/dist/luna/images/close-button.svg +42 -42
  163. package/dist/luna/images/close-dark-navy.svg +3 -3
  164. package/dist/luna/images/close-icon.svg +3 -3
  165. package/dist/luna/images/close.svg +3 -3
  166. package/dist/luna/images/collapse-close-blue.svg +5 -5
  167. package/dist/luna/images/collapse-close-gold.svg +5 -5
  168. package/dist/luna/images/collapse-open-blue.svg +4 -4
  169. package/dist/luna/images/collapse-open-gold.svg +4 -4
  170. package/dist/luna/images/cross-medium-blue.svg +4 -4
  171. package/dist/luna/images/cross-medium-white.svg +5 -5
  172. package/dist/luna/images/down-caret-dark-blue.svg +4 -4
  173. package/dist/luna/images/down-caret-dark-gray.svg +4 -4
  174. package/dist/luna/images/down-caret-light-gray.svg +4 -4
  175. package/dist/luna/images/downArrow.svg +36 -36
  176. package/dist/luna/images/ellipses.svg +6 -6
  177. package/dist/luna/images/external-arrow-blue.svg +11 -11
  178. package/dist/luna/images/external-arrow-white-theme.svg +12 -12
  179. package/dist/luna/images/external-arrow.svg +12 -12
  180. package/dist/luna/images/facebook.svg +13 -13
  181. package/dist/luna/images/form-border-top-light.svg +4 -4
  182. package/dist/luna/images/frame-intersection.svg +3 -3
  183. package/dist/luna/images/gallery-image-corner-border.svg +3 -3
  184. package/dist/luna/images/green-tick.svg +3 -3
  185. package/dist/luna/images/instagram.svg +19 -19
  186. package/dist/luna/images/internal-arrow-blue.svg +15 -15
  187. package/dist/luna/images/internal-arrow-white-theme.svg +15 -15
  188. package/dist/luna/images/internal-arrow.svg +15 -15
  189. package/dist/luna/images/linkedin.svg +15 -15
  190. package/dist/luna/images/logo-icon.svg +17 -17
  191. package/dist/luna/images/pdf-doc.svg +9 -9
  192. package/dist/luna/images/play.svg +17 -17
  193. package/dist/luna/images/right-caret-dark-blue.svg +3 -3
  194. package/dist/luna/images/right-caret-light-gray.svg +4 -4
  195. package/dist/luna/images/right-caret-light-yellow-stroke.svg +9 -9
  196. package/dist/luna/images/right-caret-light-yellow.svg +4 -4
  197. package/dist/luna/images/right-caret-medium-gray.svg +4 -4
  198. package/dist/luna/images/search.svg +9 -9
  199. package/dist/luna/images/skipicon.svg +154 -154
  200. package/dist/luna/images/text-doc.svg +9 -9
  201. package/dist/luna/images/text-lines.svg +22 -22
  202. package/dist/luna/images/tooltip-close-icon.svg +3 -3
  203. package/dist/luna/images/tooltip-icon.svg +3 -3
  204. package/dist/luna/images/twitter.svg +17 -17
  205. package/dist/luna/images/up-arrow.svg +36 -36
  206. package/dist/luna/images/up-right-arrow.svg +9 -9
  207. package/dist/luna/images/user-profile.svg +37 -37
  208. package/dist/luna/images/user.svg +4 -4
  209. package/dist/luna/images/waffle.svg +11 -11
  210. package/dist/luna/images/worldwide.svg +19 -19
  211. package/dist/luna/images/youtube.svg +14 -14
  212. 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
+ }