luna-one 3.1.594 → 3.1.596

Sign up to get free protection for your applications and to get access to all the features.
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
+ }