@penskemediacorp/larva-css 1.8.0-alpha.0 → 1.8.0

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 (120) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +199 -22
  3. package/__tests__/fixtures/expected.js +29 -0
  4. package/__tests__/lib/generators.test.js +11 -0
  5. package/build/css/algorithms.common.async.css +4 -0
  6. package/build/css/algorithms.common.inline.css +21 -0
  7. package/build/css/generic.common.inline.css +4 -0
  8. package/build/css/js.common.async.css +3 -0
  9. package/build/css/js.common.inline.css +6 -0
  10. package/build/css/utilities.common.async.css +8 -0
  11. package/build/css/utilities.common.inline.css +29 -0
  12. package/gulpfile.js +110 -82
  13. package/lib/generators.js +93 -0
  14. package/package.json +14 -6
  15. package/src/01-generic/elements.common.inline.scss +33 -1
  16. package/src/01-generic/forms.common.inline.scss +10 -0
  17. package/src/01-generic/side-skins.common.inline.scss +10 -0
  18. package/src/01-generic/typography.common.inline.scss +23 -15
  19. package/src/02-algorithms/a-buy-now/a-buy-now.common.inline.scss +112 -0
  20. package/src/02-algorithms/a-carousel-grid/a-carousel-grid.common.inline.scss +66 -0
  21. package/src/02-algorithms/a-children-border/a-children-border.common.inline.scss +43 -0
  22. package/src/02-algorithms/a-children-link-color/a-children-link-color.common.inline.scss +15 -0
  23. package/src/02-algorithms/a-children-link-decoration/a-children-link-decoration.common.inline.scss +13 -0
  24. package/src/02-algorithms/a-counter/a-counter.common.inline.scss +26 -0
  25. package/src/02-algorithms/a-crop/README.md +17 -13
  26. package/src/02-algorithms/a-crop/a-crop.common.inline.scss +96 -12
  27. package/src/02-algorithms/a-crop/a-crop.html +2 -2
  28. package/src/02-algorithms/a-floated/a-floated.common.inline.scss +32 -0
  29. package/src/02-algorithms/a-font/a-font.common.inline.scss +3 -0
  30. package/src/02-algorithms/a-glue/a-glue.common.inline.scss +63 -6
  31. package/src/02-algorithms/a-glue/a-glue.html +2 -2
  32. package/src/02-algorithms/a-grid/README.md +141 -14
  33. package/src/02-algorithms/a-grid/a-grid.common.inline.scss +53 -5
  34. package/src/02-algorithms/a-grid/a-grid.html +4 -4
  35. package/src/02-algorithms/a-hidden/a-hidden.common.inline.scss +43 -0
  36. package/src/02-algorithms/a-hover-dropup/a-hover-dropup.common.async.scss +7 -7
  37. package/src/02-algorithms/a-hover-dropup/a-hover-dropup.html +3 -3
  38. package/src/02-algorithms/a-hover-effect/a-hover-effect.common.async.scss +25 -0
  39. package/src/02-algorithms/a-hover-effect/a-hover-effect.html +16 -0
  40. package/src/02-algorithms/a-icon/a-icon.common.async.scss +28 -3
  41. package/src/02-algorithms/a-icon/a-icon.common.inline.scss +51 -73
  42. package/src/02-algorithms/a-screen-reader-only/a-screen-reader-only.common.inline.scss +30 -0
  43. package/src/02-algorithms/a-scrollable-grid/a-scrollable-grid.common.inline.scss +52 -0
  44. package/src/02-algorithms/a-show-on-hover/a-show-on-hover.common.inline.scss +16 -0
  45. package/src/02-algorithms/a-space-children/a-space-children.common.inline.scss +88 -17
  46. package/src/02-algorithms/a-truncate-ellipsis/a-truncate-ellipsis.common.async.scss +71 -0
  47. package/src/02-algorithms/a-unstyle-button/a-unstyle-button.common.inline.scss +2 -3
  48. package/src/02-algorithms/a-unstyle-link/a-unstyle-link.common.inline.scss +7 -0
  49. package/src/02-algorithms/a-unstyle-list/a-unstyle-list.common.inline.scss +1 -1
  50. package/src/02-algorithms/a-wrapper/a-wrapper.common.inline.scss +14 -2
  51. package/src/03-utilities/u-background-color.common.async.scss +15 -0
  52. package/src/03-utilities/u-background-color.common.inline.scss +37 -0
  53. package/src/03-utilities/u-border-color.common.async.scss +36 -8
  54. package/src/03-utilities/u-border-radius.common.async.scss +26 -2
  55. package/src/03-utilities/u-border.common.inline.scss +215 -4
  56. package/src/03-utilities/u-box-alignment.common.inline.scss +64 -4
  57. package/src/03-utilities/u-box-shadow.common.async.scss +34 -3
  58. package/src/03-utilities/u-color.common.async.scss +19 -21
  59. package/src/03-utilities/u-color.common.inline.scss +39 -0
  60. package/src/03-utilities/u-cursor.common.async.scss +1 -1
  61. package/src/03-utilities/u-display.common.inline.scss +87 -4
  62. package/src/03-utilities/u-filter.common.async.scss +5 -0
  63. package/src/03-utilities/u-flex.common.inline.scss +151 -9
  64. package/src/03-utilities/u-font-family.common.inline.scss +41 -17
  65. package/src/03-utilities/u-font-size.common.inline.scss +58 -5
  66. package/src/03-utilities/u-font-style.common.inline.scss +9 -0
  67. package/src/03-utilities/u-font-weight.common.inline.scss +50 -12
  68. package/src/03-utilities/u-height.common.inline.scss +38 -8
  69. package/src/03-utilities/u-left.common.inline.scss +7 -0
  70. package/src/03-utilities/u-letter-spacing.common.inline.scss +11 -0
  71. package/src/03-utilities/u-line-height.common.inline.scss +49 -13
  72. package/src/03-utilities/u-list-style.common.async.scss +3 -0
  73. package/src/03-utilities/u-margin.common.inline.scss +182 -47
  74. package/src/03-utilities/u-max-width.common.inline.scss +25 -0
  75. package/src/03-utilities/u-opacity.common.inline.scss +3 -0
  76. package/src/03-utilities/u-order.common.inline.scss +29 -2
  77. package/src/03-utilities/u-overflow.common.inline.scss +14 -2
  78. package/src/03-utilities/u-padding.common.inline.scss +157 -52
  79. package/src/03-utilities/u-position.common.inline.scss +11 -0
  80. package/src/03-utilities/u-text-align.common.inline.scss +27 -4
  81. package/src/03-utilities/u-text-decoration.common.inline.scss +11 -0
  82. package/src/03-utilities/u-text-transform.common.inline.scss +14 -2
  83. package/src/03-utilities/u-top.common.inline.scss +7 -0
  84. package/src/03-utilities/u-transform.common.inline.scss +12 -0
  85. package/src/03-utilities/u-vertical-align.common.inline.scss +7 -0
  86. package/src/03-utilities/u-whitespace.common.inline.scss +1 -1
  87. package/src/03-utilities/u-width.common.inline.scss +198 -12
  88. package/src/04-js/README.md +5 -0
  89. package/src/04-js/js-Collapsible.common.inline.scss +15 -0
  90. package/src/04-js/js-ExpandableSearch.common.async.scss +33 -0
  91. package/src/04-js/js-Flickity.common.async.scss +91 -0
  92. package/src/04-js/js-Header.common.inline.scss +73 -0
  93. package/src/04-js/js-MegaMenu.common.inline.scss +50 -0
  94. package/src/04-js/js-MobileHeightToggle.common.inline.scss +7 -5
  95. package/src/04-js/js-PopOver.common.async.scss +13 -0
  96. package/src/04-js/js-Tooltip.common.inline.scss +17 -0
  97. package/src/04-js/js-VideoShowcase.common.inline.scss +33 -0
  98. package/src/04-js/partials/expandable-search.scss +202 -0
  99. package/src/04-js/partials/flickity.scss +149 -0
  100. package/src/_generated/_a-font.scss +1027 -0
  101. package/src/larva-ui/prism.scss +127 -0
  102. package/src/setup.scss +7 -0
  103. package/stylelint.config.js +10 -11
  104. package/build/css/algorithms.common.async.scss +0 -36
  105. package/build/css/algorithms.common.inline.scss +0 -274
  106. package/build/css/generic.common.inline.scss +0 -66
  107. package/build/css/js.common.inline.scss +0 -9
  108. package/build/css/utilities.common.async.scss +0 -57
  109. package/build/css/utilities.common.inline.scss +0 -473
  110. package/holding/a-truncate-children/README.md +0 -3
  111. package/holding/a-truncate-children/a-truncate-children.browser-test.js +0 -104
  112. package/holding/a-truncate-children/a-truncate-children.css +0 -4
  113. package/holding/a-truncate-children/a-truncate-children.html +0 -15
  114. package/holding/a-truncate-children/a-truncate-children.scss +0 -5
  115. package/src/01-generic/config.common.inline.scss +0 -18
  116. package/src/02-algorithms/.DS_Store +0 -0
  117. package/src/02-algorithms/a-glue/index.js +0 -1
  118. package/src/02-algorithms/a-icon/a-icon.html +0 -20
  119. package/src/02-algorithms/a-unstyle-link/a-unstyle-link.common.async.scss +0 -5
  120. package/src/03-utilities/u-background.common.async.scss +0 -28
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2019 Penske Media Corporation
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,45 +1,222 @@
1
1
  # Larva CSS
2
2
 
3
- This package contains Larva's base CSS, CSS algorithms, utlities, and CSS for JS patterns from larva-js.
3
+ This package contains Larva's base CSS, CSS algorithms, utlities, and CSS for JS patterns from larva-js. Design-related utilities e.g. typography, spacing, and color, are generated according to configuration in [larva-tokens](https://github.com/penske-media-corp/pmc-larva/tree/master/packages/larva-tokens).
4
4
 
5
- ## Usage
5
+ ## Overview of Functionality
6
+
7
+ This package provides the source files for the larva.css stylesheet. They are built together and available as larva.css from the @penskemediacorp/larva package, but are available in chunks from this repository in order to support project-level additions to the library.
8
+
9
+ CSS rulesets are provided in a variety of ways. Many utilities, for example, are generated by iterating over design tokens provided in the SCSS map from larva-tokens, while other rules, such as flex-related utilities or generic styling resets, are added statically since their values are not controlled by tokens. Still others, specifically CSS algorithms, or rulesets that are more complicated than single declarations, are generated by SCSS mixins available in larva-scss (`a-grid`, `a-crop`), or are generated from a Node script (`a-font` - see below for details).
10
+
11
+ The CSS is ordered intentionally, following the ideology of low specificity and adherence to the cascade via layering similar to [ITCSS](https://www.xfive.co/blog/itcss-scalable-maintainable-css-architecture/).
12
+
13
+ Contribution to this repository is relatively infrequent, and will genereally be for the purposes of increasing the capability of the library.
14
+
15
+ ## Development Setup
16
+
17
+ 1. Clone this repository and follow the root README setup instructions.
18
+ 2. Make changes to this package, paying careful attention to where you are adding CSS, and ensuring it aligns with existing conventions.
19
+ 3. From the root of this repo, run `npm run prod:scss`
20
+
21
+ Note: For more immediate feedback during development, it is possible to run `npm run dev` in this package, and `npm run dev:scss` from the root.
22
+
23
+ ## Using larva-css in Projects
24
+
25
+ The easiest way to access the contents of larva-css is by using the built larva.css that is available in the package @penskemediacorp/larva. However, it is possible to use larva-css on its own.
26
+
27
+ First, install the package:
6
28
 
7
29
  ```
8
30
  npm install @penskemediacorp/larva-css --save
9
31
  ```
10
32
 
11
- Then include the CSS from @penskemediacorp/larva-css/build/css in your asset pipeline. Make sure that the CSS files containing `inline` and `async` are loaded accordingly.
33
+ Then, using the below details, determine how to load larva-css in your project.
34
+
35
+ ### Loading larva-css into your project's build
36
+
37
+ larva-css files can be accessed as CSS directly by linking the stylesheets available in the build directory, but the current recommended approach is to load them into a local project build and output a single file.
38
+
39
+ #### Option 1: Without project-level utility generation (simple)
40
+
41
+ In your local build, inlcude these files into your main stylesheet:
42
+
43
+ ```language:scss
44
+ // larva.scss => larva.css
45
+ @import '@penskemediacorp/larva-css/build/css/generic.common.inline';
46
+ @import '@penskemediacorp/larva-css/build/css/algorithms.common.inline';
47
+ @import '@penskemediacorp/larva-css/build/css/algorithms.common.async';
48
+ @import '@penskemediacorp/larva-css/build/css/utilities.common.inline';
49
+ @import '@penskemediacorp/larva-css/build/css/utilities.common.async';
50
+ @import '@penskemediacorp/larva-css/build/css/js.common.inline';
51
+
52
+ ```
53
+
54
+ If you are splitting inline CSS, you can load inline CSS separately by including the following in a file that will be inlined:
55
+
56
+ ```language:scss
57
+ // larva-inline.scss => larva-inline.css
58
+ @import '@penskemediacorp/larva-css/build/css/generic.inline';
59
+ @import '@penskemediacorp/larva-css/build/css/algorithms.inline';
60
+ @import '@penskemediacorp/larva-css/build/css/utilities.inline';
61
+ @import '@penskemediacorp/larva-css/build/css/js.inline';
62
+ ```
63
+
64
+ Note that at present, there are no js or generic files for async CSS from larva-css.
65
+ #### Option 2: With project-level utilities (complex, not recommended)
66
+
67
+ This approach is not recommended because accrues technical debt, but it also indicates the areas where the design system is not supporting designs requirements (and vice versa). Generally speaking, this approach allows a project to build the larva.css stylesheet locally and provides areas to plug in additional functionality while maintaining the same, strict architecture.
68
+
69
+ Prerequisites to this approach:
70
+
71
+ 1. Your project is using the `larva` binary for its build step.
72
+ 2. Your project includes a CSS architecture and directory structure that matches that of [pmc-spark/assets](https://bitbucket.org/penskemediacorp/pmc-spark/src/master/assets/).
73
+
74
+ Include the source .scss files from this repository in your top-level common stylesheet in assets/entries/:
75
+
76
+ In all of the following, replace `default` with the brand name containing tokens.
77
+
78
+ ```language:scss
79
+ // common.async.scss
80
+ @import '@penskemediacorp/larva-tokens/build/default.custom-properties';
81
+
82
+ @import '@penskemediacorp/larva-css/src/01-generic/*.scss';
83
+ @import '01-generic/*.common.*.scss';
84
+
85
+ @import '@penskemediacorp/larva-css/src/02-algorithms/**/*.scss';
86
+ @import '02-algorithms/*.common.*.scss';
87
+
88
+ @import '@penskemediacorp/larva-css/src/03-utilities/*.scss';
89
+ @import '03-utilities/*.common.*.scss';
90
+
91
+ @import '@penskemediacorp/larva-css/src/04-js/*.scss';
92
+ @import '04-js/*.common.*.scss';
93
+ ```
94
+
95
+ In a corresponding stylesheet for inline CSS, include only the .inline.scss extensions.
96
+
97
+ ```language:scss
98
+ // common.inline.scss
99
+ @import '@penskemediacorp/larva-tokens/build/default.custom-properties';
100
+
101
+ @import '@penskemediacorp/larva-css/src/01-generic/*.inline.scss';
102
+ @import '01-generic/*.common.inline.scss';
103
+
104
+ @import '@penskemediacorp/larva-css/src/02-algorithms/**/*.inline.scss';
105
+ @import '02-algorithms/*.common.inline.scss';
106
+
107
+ @import '@penskemediacorp/larva-css/src/03-utilities/*.inline.scss';
108
+ @import '03-utilities/*.common.inline.scss';
109
+
110
+ @import '@penskemediacorp/larva-css/src/04-js/*.inline.scss';
111
+ @import '04-js/*.common.inline.scss';
112
+ ```
113
+
114
+ Next, create a file for project-level tokens in in assets/src/scss/00-tools/tokens.scss that contains the following:
115
+
116
+ ```
117
+ @import '@penskemediacorp/larva-tokens/build/default.map.scss';
118
+
119
+ $local-tokens: (
120
+ 'font-size-12': pmc-rem(12),
121
+ 'opacity-075': 0.75,
122
+ );
123
+
124
+ $TOKENS-MAP: map-merge( $default-map, $local-tokens );
125
+ ```
126
+
127
+ And in assets/src/scss/setup.scss, import the tokens:
128
+ ```
129
+ @import '00-tools/tokens.scss';
130
+ ```
131
+
132
+ Be sure to `@import 'setup'` at the top of all of your local utility files. Font size is already generated from the larva-css repo, but opacity is not.
133
+
134
+ If a property is **not** generated from larva-css, you can iterate over the local tokens map with the following Sass:
135
+
136
+ ```
137
+ // Example: u-opacity.common.inline.scss
138
+ @import 'setup';
139
+
140
+ @each $token, $value in $TOKENS-MAP {
141
+ $token-str: quote( $token );
142
+
143
+ @if str-index( $token-str, 'opacity' ) {
144
+ .u-#{$token} {
145
+ opacity: $value;
146
+ }
147
+
148
+ // If you would like to generate a hover selector,
149
+ // that could happen here, but media queries need
150
+ // to be in an additional loops to maintain the cascade
151
+
152
+ }
153
+ }
154
+
155
+ //
156
+ // Media Queries
157
+ //
158
+
159
+
160
+ @include pmc-breakpoint( desktop ) {
161
+
162
+ @each $token, $value in $TOKENS-MAP {
163
+ $token-str: quote( $token );
164
+
165
+ @if str-index( $token-str, 'opacity' ) {
166
+ .u-#{$token}\@desktop {
167
+ opacity: $value;
168
+ }
169
+ }
170
+ }
171
+
172
+ }
173
+
174
+ @include pmc-breakpoint( desktop-xl ) {
175
+
176
+ @each $token, $value in $TOKENS-MAP {
177
+ $token-str: quote( $token );
178
+
179
+ @if str-index( $token-str, 'opacity' ) {
180
+ .u-#{$token}\@desktop-xl {
181
+ opacity: $value;
182
+ }
183
+ }
184
+ }
185
+
186
+ }
187
+
188
+ ```
189
+
190
+ Refer to the larva-css source files in larva-css/src and in the local Larva server, navigate to /css to see available classes.
191
+
192
+ ## Things to Know
12
193
 
13
- ## Concepts
194
+ ### The .lrv namespace
14
195
 
15
- ### "Atomic" or "Functional" CSS
196
+ CSS originating from larva-css .scss files contain a .lrv- namespace. Local project CSS should only contain an `a-`, `u-`, or `js-` namespace.
16
197
 
17
- Coming soon!
198
+ ### Utility Naming
18
199
 
19
- ### Removing the Burden of Naming
200
+ Utilities that are generated from larva-tokens, are named as follows:
20
201
 
21
- Unless you are authoring a CSS algorithm, you should not have to name a new class.
202
+ `.lrv-u-{$token-name}`
22
203
 
23
- ### Cascading and Specificity
204
+ For `spacing-XX` tokens, they are named:
24
205
 
25
- Directories are ordered according to the cascading of styles, inspired by ITCSS. Generic CSS will almost always be overridden, so it is first. Unless selector specificty says otherwise (e.g. `a-space-children` or the image in `a-crop`), CSS algorithms should be overridden by utilities. The CSS related to JS interactivity comes last because it should be the most important in the cascade.
206
+ `.lrv-u-margin-{l|r|t|b|lr|tb|a}-{$size}`
26
207
 
27
- ## Terminology
208
+ Where, if the token was `spacing-1`, the utility would be `lrv-u-margin-l-1`.
28
209
 
29
- *Generic* styles are any basic reset styles, usually applied to general elements. Larva does not use a formal reset like Normalize, rather, any initial property values are overridden in this directory as needed. For example, removing margins from headings and adding box-sizing: border-box to all elements.
210
+ ### Algorithms
30
211
 
31
- A *utility* is a single* declaration ruleset that is named according to the declaration and prefixed with a `u-*`. These sometimes come from SCSS generators, but many are authored by hand. A few examples (namespaced with pmc-* to indicate they come from this repository):
212
+ Algorithms are presentationally named CSS patterns that provide functionality difficult or impossible to accomplish with utilities, or where abstractions are useful. Examples are aspect ratio cropping, CSS grid with flex box fallbacks, and SVG icons with `::before` and `::after`.
32
213
 
33
- * pmc-u-display-block
34
- * pmc-u-color-brand-primary
35
- * pmc-u-margin-tb-1@tablet
214
+ Many of the variations for algorithms are generated with mixins from `larva-scss`, but this is slated to be deprecated in favor of Node scripts in this repository.
36
215
 
37
- \* The only time a utility would have more than one declaration is for margin and padding where top/bottom and right/left values can be in the same ruleset.
216
+ #### `.lrv-a-font` Generation
38
217
 
39
- An *algorithm* is a more involved ruleset or set of rulesets that accomplished a specific styling goal that is not reasonable to accomplish with utilties, and generally makes use of browser algorithms or familiar CSS programming patterns. A few examples:
218
+ The `.lrv-a-font` algorithm handles the styling for typography styles that are included in a style guide. Each property value and selector is generated according to data from `larva-tokens`. The SCSS itself is generated from a Node script in this package that is incoporated into the `larva-css` build.
40
219
 
41
- * pmc-a-space-children - utilized the owl selector pattern to apply space between child elements.
42
- * pmc-a-glue - an algorithm for "glueing" one element onto another with absolute positioning.
43
- * pmc-a-unstyle-list – a straightforward set of declarations that remove basic list styling.
220
+ ### JS-related CSS
44
221
 
45
- The *js* directory contains CSS corresponding to interactivity from larva-js. These styles could be kept alongside the JS, but in order to minimize build tool dependencies, there are kept here, in the larva-css package.
222
+ The SCSS files inside 04-js should be imported directly into a local project build, other than js-MobileHeightToggle which is added to the js.common.inline chunk here.
@@ -0,0 +1,29 @@
1
+ module.exports = {
2
+ ruleset: `
3
+ .lrv-a-font-primary-xxl {
4
+ // Define this token locally; it can be defined via larva-tokens, if needed in the future.
5
+ --font-family: var( --font-family-primary );
6
+
7
+ font-family: var( --font-family );
8
+ font-size: var( --primary-xxl-font-size-mobile );
9
+ line-height: var( --primary-xxl-line-height-mobile );
10
+ letter-spacing: var( --primary-xxl-letter-spacing-mobile );
11
+ font-weight: var( --primary-xxl-font-weight-mobile );
12
+ font-style: var( --primary-xxl-font-style-mobile );
13
+
14
+ @media (min-width: $screen-desktop) {
15
+ font-size: var( --primary-xxl-font-size-desktop );
16
+ line-height: var( --primary-xxl-line-height-desktop );
17
+ letter-spacing: var( --primary-xxl-letter-spacing-desktop );
18
+ font-weight: var( --primary-xxl-font-weight-desktop );
19
+ font-style: var( --primary-xxl-font-style-desktop );
20
+ }
21
+ @media (min-width: $screen-desktop-xl) {
22
+ font-size: var( --primary-xxl-font-size-desktop-xl );
23
+ line-height: var( --primary-xxl-line-height-desktop-xl );
24
+ letter-spacing: var( --primary-xxl-letter-spacing-desktop-xl );
25
+ font-weight: var( --primary-xxl-font-weight-desktop-xl );
26
+ font-style: var( --primary-xxl-font-style-desktop-xl );
27
+ }
28
+ }\n`,
29
+ };
@@ -0,0 +1,11 @@
1
+ const { generate } = require( '../../lib/generators' );
2
+
3
+ const expected = require( '../fixtures/expected' );
4
+
5
+ describe( 'A-Font Generator', () => {
6
+ it( 'should output a CSS ruleset containing a-font CSS', () => {
7
+ const output = generate( [ 'lrv-a-font-primary-xxl' ] );
8
+
9
+ expect( output ).toEqual( expected.ruleset );
10
+ } );
11
+ } );
@@ -0,0 +1,4 @@
1
+ @media(min-width: 48rem){.lrv-a-hover-dropup\@tablet{position:relative;min-width:14rem}.lrv-a-hover-dropup-trigger\@tablet{cursor:pointer}.lrv-a-hover-dropup-target\@tablet{width:100%;visibility:hidden;opacity:0;position:absolute;width:100%;z-index:2;bottom:100%;left:0;overflow-y:scroll;max-height:8.438rem}.lrv-a-hover-dropup\@tablet:hover .lrv-a-hover-dropup-target\@tablet,.lrv-a-hover-dropup\@tablet:focus .lrv-a-hover-dropup-target\@tablet{visibility:visible;opacity:1}.lrv-a-hover-dropup\@tablet:hover .lrv-a-icon-arrow-down::after,.lrv-a-hover-dropup\@tablet:focus .lrv-a-icon-arrow-down{--a-icon-transform: rotate(180deg)}}
2
+ .lrv-a-hover-effect{transition:var(--a-hover-effect-property, 300ms cubic-bezier(0.19, 1, 0.22, 1))}.lrv-a-hover-effect--fade{transform:translate3d(0px, 0px, 0px)}.lrv-a-hover-effect--fade:hover{--a-hover-effect-property: opacity;opacity:.5}.lrv-a-hover-effect--underline{transform:translate3d(0px, 0px, 0px)}.lrv-a-hover-effect--underline:hover{--a-hover-effect-property: border-bottom;border-bottom:1px solid currentColor}
3
+ @media(min-width: 48rem){.lrv-a-icon-after-remove\@tablet::after{display:none}}.lrv-a-icon-invert{--a-icon-filter: invert(1)}.lrv-a-icon-arrow-left,.lrv-a-icon-arrow-right,.lrv-a-icon-arrow-down,.lrv-a-icon-arrow-up{--a-icon-url: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 8'%3E%3Cpath d='M13.7 1.7l-6 6c-.2.2-.4.3-.7.3-.3 0-.5-.1-.7-.3l-6-6C-.1 1.3-.1.7.3.3s1-.4 1.4 0L7 5.6 12.3.3c.4-.4 1-.4 1.4 0s.4 1 0 1.4z'/%3E%3C/svg%3E" );--a-icon-height: 0.75rem}.lrv-a-icon-arrow-right{--a-icon-transform: rotate(-90deg)}.lrv-a-icon-arrow-left{--a-icon-transform: rotate(90deg)}.lrv-a-icon-envelope{--a-icon-url: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9'%3E%3Cpath d='M.77.945C.636.875.406.752.356.605.269.357.362.258.731.258h12.723c.37 0 .462.096.376.349-.05.143-.28.27-.416.34-.366.192-5.45 2.964-5.64 3.064-.19.1-.382.146-.681.146-.3 0-.493-.047-.683-.146C6.22 3.91 1.137 1.138.77.945zm12.934.15c.296-.15.276.023.276.163v6.82c0 .307-.39.696-.716.696H.921c-.326 0-.782-.386-.782-.695V1.258c0-.136.016-.313.31-.163.272.14 2.747 1.883 4.368 2.931L2.085 7.104c-.066.066-.096.15-.056.186.04.04.13.02.196-.046l3.28-2.769c.496.32.842.54.905.573.257.13.436.146.683.146.246 0 .425-.017.682-.146.06-.034.409-.253.905-.573l3.28 2.769c.07.063.156.083.196.046.037-.04.007-.12-.06-.186L9.363 4.026c1.62-1.048 4.069-2.791 4.342-2.931z'/%3E%3C/svg%3E" );--a-icon-height: 0.625rem}.lrv-a-icon-search{--a-icon-url: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18'%3E%3Cpath d='M5.228 11.335h.79l.28-.27a6.471 6.471 0 01-1.57-4.23 6.5 6.5 0 116.5 6.5c-1.61 0-3.09-.59-4.23-1.57l-.27.28v.79l-5 4.99-1.49-1.49 4.99-5zm6 0c2.49 0 4.5-2.01 4.5-4.5s-2.01-4.5-4.5-4.5-4.5 2.01-4.5 4.5 2.01 4.5 4.5 4.5z' fill-rule='evenodd'/%3E%3C/svg%3E" )}
4
+ .lrv-a-truncate-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lrv-a-truncate-ellipsis-1line{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.lrv-a-truncate-ellipsis-2line{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.lrv-a-truncate-ellipsis-3line{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.lrv-a-truncate-ellipsis-5line{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical}.lrv-a-truncate-ellipsis-6line{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical}@media(min-width: 78.75rem){.lrv-a-truncate-ellipsis-3line\@desktop-xl{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}}@media(max-width: 78.7499rem){.lrv-a-truncate-ellipsis-4line\@mobile-max{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical}}@media only screen and (max-width: 78.75rem)and (min-width: 48rem){.lrv-a-truncate-ellipsis-5line\@tablet-desktop-only{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical}}@media(max-width: 78.7499rem){.lrv-a-truncate-ellipsis-5line\@desktop-xl-max{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical}}@media only screen and (max-width: 78.75rem)and (min-width: 48rem){.lrv-a-truncate-ellipsis-1line\@tablet-desktop-only{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}}@media(max-width: 47.999rem){.lrv-a-truncate-ellipsis-2line\@mobile-max{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}
@@ -0,0 +1,21 @@
1
+ .lrv-a-buy-now{display:flex;flex-direction:column;align-items:center;position:relative}@media(min-width: 48rem){.lrv-a-buy-now{display:block}}.lrv-a-buy-now__image{position:relative;z-index:1;width:100%;background-color:#fff;max-width:18.75rem}@media(min-width: 48rem){.lrv-a-buy-now__image{width:11.875rem;left:0;padding:0 1.875rem 0 0}}@media(min-width: 62.5rem){.lrv-a-buy-now__image{width:15.3125rem;left:5.875rem;padding:0 1.875rem}}.lrv-a-buy-now__button{margin-top:1rem}@media(min-width: 48rem){.lrv-a-buy-now__button{margin-top:0;position:absolute;top:50%;left:11.875rem;transform:translateY(-50%)}}@media(min-width: 62.5rem){.lrv-a-buy-now__button{left:21.1875rem}}.lrv-a-buy-now__hr{display:none;margin:0;padding:0;border-top:0.03125rem solid #000;position:relative}@media(min-width: 48rem){.lrv-a-buy-now__hr{display:block}}.lrv-a-buy-now__hr--top{top:0}@media(min-width: 48rem){.lrv-a-buy-now__hr--top{top:2.3125rem}}@media(min-width: 62.5rem){.lrv-a-buy-now__hr--top{top:3.125rem}}.lrv-a-buy-now__hr--bottom{bottom:0}@media(min-width: 48rem){.lrv-a-buy-now__hr--bottom{bottom:2.3125rem}}@media(min-width: 62.5rem){.lrv-a-buy-now__hr--bottom{bottom:3.125rem}}.lrv-a-buy-now__span{display:none;position:absolute;right:0}@media(min-width: 48rem){.lrv-a-buy-now__span{display:block;bottom:1rem}}@media(min-width: 62.5rem){.lrv-a-buy-now__span{bottom:1.8125rem}}.lrv-a-buy-now__p{display:flex;flex-direction:column;align-items:center}.lrv-a-buy-now__p .lrv-a-buy-now__button{position:inherit;transform:none}
2
+ .lrv-a-carousel-grid{--grid-overlay: initial;display:grid;grid-template-columns:1fr}@media(min-width: 48rem){.lrv-a-carousel-grid{grid-gap:var(--spacing-050);grid-template-columns:2fr 1fr}}.lrv-a-carousel-grid__overlay{--grid-overlay: grid}@media(min-width: 48rem){.lrv-a-carousel-grid__overlay{grid-template-columns:1fr}}@media(min-width: 62.5rem){.lrv-a-carousel-grid__overlay--primary{display:var(--grid-overlay);grid-template-columns:1fr 1.5rem 2fr;align-items:center;grid-auto-flow:column;height:100%}}@media(min-width: 62.5rem){.lrv-a-carousel-grid__overlay--primary-img{grid-column:2/4;grid-row:1}}@media(min-width: 62.5rem){.lrv-a-carousel-grid__overlay--primary-content{grid-column:1/3;grid-row:1;padding:1.875rem;z-index:1;background-color:#fff}}@media(min-width: 62.5rem){.lrv-a-carousel-grid__overlay--secondary{display:var(--grid-overlay);grid-template-columns:repeat(3, 1fr);grid-gap:var(--spacing-125)}}.lrv-a-carousel-grid__overlay--secondary-card{display:var(--grid-overlay);grid-template-columns:6.25rem 1fr;grid-gap:var(--spacing-1)}
3
+ :root{--a-children-border-color: black}.lrv-a-children-border--grey{--a-children-border-color: #8c8c8c}.lrv-a-children-border--grey-light{--a-children-border-color: #cccccc}.lrv-a-children-border-vertical>*+*{border-top:var(--a-children-border-width, 1px) solid var(--a-children-border-color, "")}@media(max-width: 47.999rem){.lrv-a-children-border-vertical\@mobile-max>*+*{border-top:var(--a-children-border-width, 1px) solid var(--a-children-border-color, "")}}.lrv-a-children-border-horizontal>*+*{border-left:var(--a-children-border-width, 1px) solid var(--a-children-border-color, "")}@media(min-width: 62.5rem){.lrv-a-children-border-horizontal\@desktop>*+*{border-left:var(--a-children-border-width, 1px) solid var(--a-children-border-color, "")}}
4
+ .lrv-a-children-link-color-black>a{color:#000;color:var(--color-black)}.lrv-a-children-link-color-brand-primary\:hover>a:hover{color:#ec1c24;color:var(--color-brand-primary)}
5
+ .lrv-a-children-link-decoration-underline>a{text-decoration:underline}.lrv-a-children-link-decoration-underline\:hover>a:hover{text-decoration:underline}
6
+ .lrv-a-counter{counter-reset:a-counter}.lrv-a-counter-increment{counter-increment:a-counter}.lrv-a-counter-before::before{content:counter(a-counter);display:var(--a-counter__display, inline-block);padding:var(--a-counter__padding, initial);background-color:var(--a-counter__background-color, initial);color:var(--a-counter__color, inherit);border-top-right-radius:var(--a-counter__border-top-right-radius, inherit);font-family:var(--a-counter__font-family, inherit);font-size:var(--a-counter__font-size, inherit);line-height:var(--a-counter__line-height, 0.7);font-weight:var(--a-counter__font-weight, inherit);z-index:1;position:var(--a-counter__position, initial);left:var(--a-counter__left, auto);top:var(--a-counter__top, auto);right:var(--a-counter__right, auto);bottom:var(--a-counter__bottom, auto)}
7
+ .lrv-a-crop-1x1{position:relative;padding-bottom:calc( ( 1 / 1 ) * 100% )}.lrv-a-crop-1x1 img{position:absolute;width:100%;height:100%;object-fit:cover}.lrv-a-crop-2x1{position:relative;padding-bottom:calc( ( 1 / 2 ) * 100% )}.lrv-a-crop-2x1 img{position:absolute;width:100%;height:100%;object-fit:cover}.lrv-a-crop-2x3{position:relative;padding-bottom:calc( ( 3 / 2 ) * 100% )}.lrv-a-crop-2x3 img{position:absolute;width:100%;height:100%;object-fit:cover}.lrv-a-crop-3x2{position:relative;padding-bottom:calc( ( 2 / 3 ) * 100% )}.lrv-a-crop-3x2 img{position:absolute;width:100%;height:100%;object-fit:cover}.lrv-a-crop-4x3{position:relative;padding-bottom:calc( ( 3 / 4 ) * 100% )}.lrv-a-crop-4x3 img{position:absolute;width:100%;height:100%;object-fit:cover}.lrv-a-crop-16x9{position:relative;padding-bottom:calc( ( 9 / 16 ) * 100% )}.lrv-a-crop-16x9 img{position:absolute;width:100%;height:100%;object-fit:cover}.lrv-a-crop-5x1{position:relative;padding-bottom:calc( ( 1 / 5 ) * 100% )}.lrv-a-crop-5x1 img{position:absolute;width:100%;height:100%;object-fit:cover}.lrv-a-crop-5x2{position:relative;padding-bottom:calc( ( 2 / 5 ) * 100% )}.lrv-a-crop-5x2 img{position:absolute;width:100%;height:100%;object-fit:cover}.lrv-a-crop-3x4{position:relative;padding-bottom:calc( ( 4 / 3 ) * 100% )}.lrv-a-crop-3x4 img{position:absolute;width:100%;height:100%;object-fit:cover}.lrv-a-crop-contain img{object-fit:contain}@media(max-width: 47.999rem){.lrv-a-crop-1x1\@mobile-max{position:relative;padding-bottom:100%}.lrv-a-crop-1x1\@mobile-max img{position:absolute;width:100%;height:100%;object-fit:cover}}@media(min-width: 78.75rem){.lrv-a-crop-3x2\@desktop-xl{position:relative;padding-bottom:calc( ( 2 / 3 ) * 100% )}.lrv-a-crop-3x2\@desktop-xl img{position:absolute;width:100%;height:100%;object-fit:cover}}@media(min-width: 48rem){.lrv-a-crop-1x1\@tablet{position:relative;padding-bottom:100%}.lrv-a-crop-1x1\@tablet img{position:absolute;width:100%;height:100%;object-fit:cover}}@media(max-width: 78.7499rem){.lrv-a-crop-1x1\@desktop-xl-max{position:relative;padding-bottom:100%}.lrv-a-crop-1x1\@desktop-xl-max img{position:absolute;width:100%;height:100%;object-fit:cover}}@media(max-width: 47.999rem){.lrv-a-crop-3x2\@mobile-max{position:relative;padding-bottom:calc( ( 2 / 3 ) * 100% )}.lrv-a-crop-3x2\@mobile-max img{position:absolute;width:100%;height:100%;object-fit:cover}}
8
+ .lrv-a-floated-parent::before,.lrv-a-floated-parent::after{content:"";display:table}.lrv-a-floated-parent::after{clear:both}.lrv-a-floated-parent{zoom:1}.lrv-a-floated-left{float:left}@media(min-width: 48rem){.lrv-a-floated-left\@tablet{float:left}}@media(min-width: 48rem){.lrv-a-floated-right\@tablet{float:right}}
9
+ .lrv-a-font-primary-xxl{--font-family: var( --font-family-primary );font-family:var(--font-family);font-size:var(--primary-xxl-font-size-mobile);line-height:var(--primary-xxl-line-height-mobile);letter-spacing:var(--primary-xxl-letter-spacing-mobile);font-weight:var(--primary-xxl-font-weight-mobile);font-style:var(--primary-xxl-font-style-mobile)}@media(min-width: 62.5rem){.lrv-a-font-primary-xxl{font-size:var(--primary-xxl-font-size-desktop);line-height:var(--primary-xxl-line-height-desktop);letter-spacing:var(--primary-xxl-letter-spacing-desktop);font-weight:var(--primary-xxl-font-weight-desktop);font-style:var(--primary-xxl-font-style-desktop)}}@media(min-width: 78.75rem){.lrv-a-font-primary-xxl{font-size:var(--primary-xxl-font-size-desktop-xl);line-height:var(--primary-xxl-line-height-desktop-xl);letter-spacing:var(--primary-xxl-letter-spacing-desktop-xl);font-weight:var(--primary-xxl-font-weight-desktop-xl);font-style:var(--primary-xxl-font-style-desktop-xl)}}.lrv-a-font-primary-xl{--font-family: var( --font-family-primary );font-family:var(--font-family);font-size:var(--primary-xl-font-size-mobile);line-height:var(--primary-xl-line-height-mobile);letter-spacing:var(--primary-xl-letter-spacing-mobile);font-weight:var(--primary-xl-font-weight-mobile);font-style:var(--primary-xl-font-style-mobile)}@media(min-width: 62.5rem){.lrv-a-font-primary-xl{font-size:var(--primary-xl-font-size-desktop);line-height:var(--primary-xl-line-height-desktop);letter-spacing:var(--primary-xl-letter-spacing-desktop);font-weight:var(--primary-xl-font-weight-desktop);font-style:var(--primary-xl-font-style-desktop)}}@media(min-width: 78.75rem){.lrv-a-font-primary-xl{font-size:var(--primary-xl-font-size-desktop-xl);line-height:var(--primary-xl-line-height-desktop-xl);letter-spacing:var(--primary-xl-letter-spacing-desktop-xl);font-weight:var(--primary-xl-font-weight-desktop-xl);font-style:var(--primary-xl-font-style-desktop-xl)}}.lrv-a-font-primary-l{--font-family: var( --font-family-primary );font-family:var(--font-family);font-size:var(--primary-l-font-size-mobile);line-height:var(--primary-l-line-height-mobile);letter-spacing:var(--primary-l-letter-spacing-mobile);font-weight:var(--primary-l-font-weight-mobile);font-style:var(--primary-l-font-style-mobile)}@media(min-width: 62.5rem){.lrv-a-font-primary-l{font-size:var(--primary-l-font-size-desktop);line-height:var(--primary-l-line-height-desktop);letter-spacing:var(--primary-l-letter-spacing-desktop);font-weight:var(--primary-l-font-weight-desktop);font-style:var(--primary-l-font-style-desktop)}}@media(min-width: 78.75rem){.lrv-a-font-primary-l{font-size:var(--primary-l-font-size-desktop-xl);line-height:var(--primary-l-line-height-desktop-xl);letter-spacing:var(--primary-l-letter-spacing-desktop-xl);font-weight:var(--primary-l-font-weight-desktop-xl);font-style:var(--primary-l-font-style-desktop-xl)}}.lrv-a-font-primary-m{--font-family: var( --font-family-primary );font-family:var(--font-family);font-size:var(--primary-m-font-size-mobile);line-height:var(--primary-m-line-height-mobile);letter-spacing:var(--primary-m-letter-spacing-mobile);font-weight:var(--primary-m-font-weight-mobile);font-style:var(--primary-m-font-style-mobile)}@media(min-width: 62.5rem){.lrv-a-font-primary-m{font-size:var(--primary-m-font-size-desktop);line-height:var(--primary-m-line-height-desktop);letter-spacing:var(--primary-m-letter-spacing-desktop);font-weight:var(--primary-m-font-weight-desktop);font-style:var(--primary-m-font-style-desktop)}}@media(min-width: 78.75rem){.lrv-a-font-primary-m{font-size:var(--primary-m-font-size-desktop-xl);line-height:var(--primary-m-line-height-desktop-xl);letter-spacing:var(--primary-m-letter-spacing-desktop-xl);font-weight:var(--primary-m-font-weight-desktop-xl);font-style:var(--primary-m-font-style-desktop-xl)}}.lrv-a-font-primary-s{--font-family: var( --font-family-primary );font-family:var(--font-family);font-size:var(--primary-s-font-size-mobile);line-height:var(--primary-s-line-height-mobile);letter-spacing:var(--primary-s-letter-spacing-mobile);font-weight:var(--primary-s-font-weight-mobile);font-style:var(--primary-s-font-style-mobile)}@media(min-width: 62.5rem){.lrv-a-font-primary-s{font-size:var(--primary-s-font-size-desktop);line-height:var(--primary-s-line-height-desktop);letter-spacing:var(--primary-s-letter-spacing-desktop);font-weight:var(--primary-s-font-weight-desktop);font-style:var(--primary-s-font-style-desktop)}}@media(min-width: 78.75rem){.lrv-a-font-primary-s{font-size:var(--primary-s-font-size-desktop-xl);line-height:var(--primary-s-line-height-desktop-xl);letter-spacing:var(--primary-s-letter-spacing-desktop-xl);font-weight:var(--primary-s-font-weight-desktop-xl);font-style:var(--primary-s-font-style-desktop-xl)}}.lrv-a-font-primary-xs{--font-family: var( --font-family-primary );font-family:var(--font-family);font-size:var(--primary-xs-font-size-mobile);line-height:var(--primary-xs-line-height-mobile);letter-spacing:var(--primary-xs-letter-spacing-mobile);font-weight:var(--primary-xs-font-weight-mobile);font-style:var(--primary-xs-font-style-mobile)}@media(min-width: 62.5rem){.lrv-a-font-primary-xs{font-size:var(--primary-xs-font-size-desktop);line-height:var(--primary-xs-line-height-desktop);letter-spacing:var(--primary-xs-letter-spacing-desktop);font-weight:var(--primary-xs-font-weight-desktop);font-style:var(--primary-xs-font-style-desktop)}}@media(min-width: 78.75rem){.lrv-a-font-primary-xs{font-size:var(--primary-xs-font-size-desktop-xl);line-height:var(--primary-xs-line-height-desktop-xl);letter-spacing:var(--primary-xs-letter-spacing-desktop-xl);font-weight:var(--primary-xs-font-weight-desktop-xl);font-style:var(--primary-xs-font-style-desktop-xl)}}.lrv-a-font-primary-xxs{--font-family: var( --font-family-primary );font-family:var(--font-family);font-size:var(--primary-xxs-font-size-mobile);line-height:var(--primary-xxs-line-height-mobile);letter-spacing:var(--primary-xxs-letter-spacing-mobile);font-weight:var(--primary-xxs-font-weight-mobile);font-style:var(--primary-xxs-font-style-mobile)}@media(min-width: 62.5rem){.lrv-a-font-primary-xxs{font-size:var(--primary-xxs-font-size-desktop);line-height:var(--primary-xxs-line-height-desktop);letter-spacing:var(--primary-xxs-letter-spacing-desktop);font-weight:var(--primary-xxs-font-weight-desktop);font-style:var(--primary-xxs-font-style-desktop)}}@media(min-width: 78.75rem){.lrv-a-font-primary-xxs{font-size:var(--primary-xxs-font-size-desktop-xl);line-height:var(--primary-xxs-line-height-desktop-xl);letter-spacing:var(--primary-xxs-letter-spacing-desktop-xl);font-weight:var(--primary-xxs-font-weight-desktop-xl);font-style:var(--primary-xxs-font-style-desktop-xl)}}.lrv-a-font-primary-xxxs{--font-family: var( --font-family-primary );font-family:var(--font-family);font-size:var(--primary-xxxs-font-size-mobile);line-height:var(--primary-xxxs-line-height-mobile);letter-spacing:var(--primary-xxxs-letter-spacing-mobile);font-weight:var(--primary-xxxs-font-weight-mobile);font-style:var(--primary-xxxs-font-style-mobile)}@media(min-width: 62.5rem){.lrv-a-font-primary-xxxs{font-size:var(--primary-xxxs-font-size-desktop);line-height:var(--primary-xxxs-line-height-desktop);letter-spacing:var(--primary-xxxs-letter-spacing-desktop);font-weight:var(--primary-xxxs-font-weight-desktop);font-style:var(--primary-xxxs-font-style-desktop)}}@media(min-width: 78.75rem){.lrv-a-font-primary-xxxs{font-size:var(--primary-xxxs-font-size-desktop-xl);line-height:var(--primary-xxxs-line-height-desktop-xl);letter-spacing:var(--primary-xxxs-letter-spacing-desktop-xl);font-weight:var(--primary-xxxs-font-weight-desktop-xl);font-style:var(--primary-xxxs-font-style-desktop-xl)}}.lrv-a-font-secondary-xxl{--font-family: var( --font-family-secondary );font-family:var(--font-family);font-size:var(--secondary-xxl-font-size-mobile);line-height:var(--secondary-xxl-line-height-mobile);letter-spacing:var(--secondary-xxl-letter-spacing-mobile);font-weight:var(--secondary-xxl-font-weight-mobile);font-style:var(--secondary-xxl-font-style-mobile)}@media(min-width: 62.5rem){.lrv-a-font-secondary-xxl{font-size:var(--secondary-xxl-font-size-desktop);line-height:var(--secondary-xxl-line-height-desktop);letter-spacing:var(--secondary-xxl-letter-spacing-desktop);font-weight:var(--secondary-xxl-font-weight-desktop);font-style:var(--secondary-xxl-font-style-desktop)}}@media(min-width: 78.75rem){.lrv-a-font-secondary-xxl{font-size:var(--secondary-xxl-font-size-desktop-xl);line-height:var(--secondary-xxl-line-height-desktop-xl);letter-spacing:var(--secondary-xxl-letter-spacing-desktop-xl);font-weight:var(--secondary-xxl-font-weight-desktop-xl);font-style:var(--secondary-xxl-font-style-desktop-xl)}}.lrv-a-font-secondary-xl{--font-family: var( --font-family-secondary );font-family:var(--font-family);font-size:var(--secondary-xl-font-size-mobile);line-height:var(--secondary-xl-line-height-mobile);letter-spacing:var(--secondary-xl-letter-spacing-mobile);font-weight:var(--secondary-xl-font-weight-mobile);font-style:var(--secondary-xl-font-style-mobile)}@media(min-width: 62.5rem){.lrv-a-font-secondary-xl{font-size:var(--secondary-xl-font-size-desktop);line-height:var(--secondary-xl-line-height-desktop);letter-spacing:var(--secondary-xl-letter-spacing-desktop);font-weight:var(--secondary-xl-font-weight-desktop);font-style:var(--secondary-xl-font-style-desktop)}}@media(min-width: 78.75rem){.lrv-a-font-secondary-xl{font-size:var(--secondary-xl-font-size-desktop-xl);line-height:var(--secondary-xl-line-height-desktop-xl);letter-spacing:var(--secondary-xl-letter-spacing-desktop-xl);font-weight:var(--secondary-xl-font-weight-desktop-xl);font-style:var(--secondary-xl-font-style-desktop-xl)}}.lrv-a-font-secondary-l{--font-family: var( --font-family-secondary );font-family:var(--font-family);font-size:var(--secondary-l-font-size-mobile);line-height:var(--secondary-l-line-height-mobile);letter-spacing:var(--secondary-l-letter-spacing-mobile);font-weight:var(--secondary-l-font-weight-mobile);font-style:var(--secondary-l-font-style-mobile)}@media(min-width: 62.5rem){.lrv-a-font-secondary-l{font-size:var(--secondary-l-font-size-desktop);line-height:var(--secondary-l-line-height-desktop);letter-spacing:var(--secondary-l-letter-spacing-desktop);font-weight:var(--secondary-l-font-weight-desktop);font-style:var(--secondary-l-font-style-desktop)}}@media(min-width: 78.75rem){.lrv-a-font-secondary-l{font-size:var(--secondary-l-font-size-desktop-xl);line-height:var(--secondary-l-line-height-desktop-xl);letter-spacing:var(--secondary-l-letter-spacing-desktop-xl);font-weight:var(--secondary-l-font-weight-desktop-xl);font-style:var(--secondary-l-font-style-desktop-xl)}}.lrv-a-font-secondary-m{--font-family: var( --font-family-secondary );font-family:var(--font-family);font-size:var(--secondary-m-font-size-mobile);line-height:var(--secondary-m-line-height-mobile);letter-spacing:var(--secondary-m-letter-spacing-mobile);font-weight:var(--secondary-m-font-weight-mobile);font-style:var(--secondary-m-font-style-mobile)}@media(min-width: 62.5rem){.lrv-a-font-secondary-m{font-size:var(--secondary-m-font-size-desktop);line-height:var(--secondary-m-line-height-desktop);letter-spacing:var(--secondary-m-letter-spacing-desktop);font-weight:var(--secondary-m-font-weight-desktop);font-style:var(--secondary-m-font-style-desktop)}}@media(min-width: 78.75rem){.lrv-a-font-secondary-m{font-size:var(--secondary-m-font-size-desktop-xl);line-height:var(--secondary-m-line-height-desktop-xl);letter-spacing:var(--secondary-m-letter-spacing-desktop-xl);font-weight:var(--secondary-m-font-weight-desktop-xl);font-style:var(--secondary-m-font-style-desktop-xl)}}.lrv-a-font-secondary-s{--font-family: var( --font-family-secondary );font-family:var(--font-family);font-size:var(--secondary-s-font-size-mobile);line-height:var(--secondary-s-line-height-mobile);letter-spacing:var(--secondary-s-letter-spacing-mobile);font-weight:var(--secondary-s-font-weight-mobile);font-style:var(--secondary-s-font-style-mobile)}@media(min-width: 62.5rem){.lrv-a-font-secondary-s{font-size:var(--secondary-s-font-size-desktop);line-height:var(--secondary-s-line-height-desktop);letter-spacing:var(--secondary-s-letter-spacing-desktop);font-weight:var(--secondary-s-font-weight-desktop);font-style:var(--secondary-s-font-style-desktop)}}@media(min-width: 78.75rem){.lrv-a-font-secondary-s{font-size:var(--secondary-s-font-size-desktop-xl);line-height:var(--secondary-s-line-height-desktop-xl);letter-spacing:var(--secondary-s-letter-spacing-desktop-xl);font-weight:var(--secondary-s-font-weight-desktop-xl);font-style:var(--secondary-s-font-style-desktop-xl)}}.lrv-a-font-secondary-xs{--font-family: var( --font-family-secondary );font-family:var(--font-family);font-size:var(--secondary-xs-font-size-mobile);line-height:var(--secondary-xs-line-height-mobile);letter-spacing:var(--secondary-xs-letter-spacing-mobile);font-weight:var(--secondary-xs-font-weight-mobile);font-style:var(--secondary-xs-font-style-mobile)}@media(min-width: 62.5rem){.lrv-a-font-secondary-xs{font-size:var(--secondary-xs-font-size-desktop);line-height:var(--secondary-xs-line-height-desktop);letter-spacing:var(--secondary-xs-letter-spacing-desktop);font-weight:var(--secondary-xs-font-weight-desktop);font-style:var(--secondary-xs-font-style-desktop)}}@media(min-width: 78.75rem){.lrv-a-font-secondary-xs{font-size:var(--secondary-xs-font-size-desktop-xl);line-height:var(--secondary-xs-line-height-desktop-xl);letter-spacing:var(--secondary-xs-letter-spacing-desktop-xl);font-weight:var(--secondary-xs-font-weight-desktop-xl);font-style:var(--secondary-xs-font-style-desktop-xl)}}.lrv-a-font-secondary-xxs{--font-family: var( --font-family-secondary );font-family:var(--font-family);font-size:var(--secondary-xxs-font-size-mobile);line-height:var(--secondary-xxs-line-height-mobile);letter-spacing:var(--secondary-xxs-letter-spacing-mobile);font-weight:var(--secondary-xxs-font-weight-mobile);font-style:var(--secondary-xxs-font-style-mobile)}@media(min-width: 62.5rem){.lrv-a-font-secondary-xxs{font-size:var(--secondary-xxs-font-size-desktop);line-height:var(--secondary-xxs-line-height-desktop);letter-spacing:var(--secondary-xxs-letter-spacing-desktop);font-weight:var(--secondary-xxs-font-weight-desktop);font-style:var(--secondary-xxs-font-style-desktop)}}@media(min-width: 78.75rem){.lrv-a-font-secondary-xxs{font-size:var(--secondary-xxs-font-size-desktop-xl);line-height:var(--secondary-xxs-line-height-desktop-xl);letter-spacing:var(--secondary-xxs-letter-spacing-desktop-xl);font-weight:var(--secondary-xxs-font-weight-desktop-xl);font-style:var(--secondary-xxs-font-style-desktop-xl)}}.lrv-a-font-secondary-regular-m{--font-family: var( --font-family-secondary );font-family:var(--font-family);font-size:var(--secondary-regular-m-font-size-mobile);line-height:var(--secondary-regular-m-line-height-mobile);letter-spacing:var(--secondary-regular-m-letter-spacing-mobile);font-weight:var(--secondary-regular-m-font-weight-mobile);font-style:var(--secondary-regular-m-font-style-mobile)}@media(min-width: 62.5rem){.lrv-a-font-secondary-regular-m{font-size:var(--secondary-regular-m-font-size-desktop);line-height:var(--secondary-regular-m-line-height-desktop);letter-spacing:var(--secondary-regular-m-letter-spacing-desktop);font-weight:var(--secondary-regular-m-font-weight-desktop);font-style:var(--secondary-regular-m-font-style-desktop)}}@media(min-width: 78.75rem){.lrv-a-font-secondary-regular-m{font-size:var(--secondary-regular-m-font-size-desktop-xl);line-height:var(--secondary-regular-m-line-height-desktop-xl);letter-spacing:var(--secondary-regular-m-letter-spacing-desktop-xl);font-weight:var(--secondary-regular-m-font-weight-desktop-xl);font-style:var(--secondary-regular-m-font-style-desktop-xl)}}.lrv-a-font-accent-l{--font-family: var( --font-family-accent );font-family:var(--font-family);font-size:var(--accent-l-font-size-mobile);line-height:var(--accent-l-line-height-mobile);letter-spacing:var(--accent-l-letter-spacing-mobile);font-weight:var(--accent-l-font-weight-mobile);font-style:var(--accent-l-font-style-mobile)}@media(min-width: 62.5rem){.lrv-a-font-accent-l{font-size:var(--accent-l-font-size-desktop);line-height:var(--accent-l-line-height-desktop);letter-spacing:var(--accent-l-letter-spacing-desktop);font-weight:var(--accent-l-font-weight-desktop);font-style:var(--accent-l-font-style-desktop)}}@media(min-width: 78.75rem){.lrv-a-font-accent-l{font-size:var(--accent-l-font-size-desktop-xl);line-height:var(--accent-l-line-height-desktop-xl);letter-spacing:var(--accent-l-letter-spacing-desktop-xl);font-weight:var(--accent-l-font-weight-desktop-xl);font-style:var(--accent-l-font-style-desktop-xl)}}.lrv-a-font-accent-m{--font-family: var( --font-family-accent );font-family:var(--font-family);font-size:var(--accent-m-font-size-mobile);line-height:var(--accent-m-line-height-mobile);letter-spacing:var(--accent-m-letter-spacing-mobile);font-weight:var(--accent-m-font-weight-mobile);font-style:var(--accent-m-font-style-mobile)}@media(min-width: 62.5rem){.lrv-a-font-accent-m{font-size:var(--accent-m-font-size-desktop);line-height:var(--accent-m-line-height-desktop);letter-spacing:var(--accent-m-letter-spacing-desktop);font-weight:var(--accent-m-font-weight-desktop);font-style:var(--accent-m-font-style-desktop)}}@media(min-width: 78.75rem){.lrv-a-font-accent-m{font-size:var(--accent-m-font-size-desktop-xl);line-height:var(--accent-m-line-height-desktop-xl);letter-spacing:var(--accent-m-letter-spacing-desktop-xl);font-weight:var(--accent-m-font-weight-desktop-xl);font-style:var(--accent-m-font-style-desktop-xl)}}.lrv-a-font-accent-s{--font-family: var( --font-family-accent );font-family:var(--font-family);font-size:var(--accent-s-font-size-mobile);line-height:var(--accent-s-line-height-mobile);letter-spacing:var(--accent-s-letter-spacing-mobile);font-weight:var(--accent-s-font-weight-mobile);font-style:var(--accent-s-font-style-mobile)}@media(min-width: 62.5rem){.lrv-a-font-accent-s{font-size:var(--accent-s-font-size-desktop);line-height:var(--accent-s-line-height-desktop);letter-spacing:var(--accent-s-letter-spacing-desktop);font-weight:var(--accent-s-font-weight-desktop);font-style:var(--accent-s-font-style-desktop)}}@media(min-width: 78.75rem){.lrv-a-font-accent-s{font-size:var(--accent-s-font-size-desktop-xl);line-height:var(--accent-s-line-height-desktop-xl);letter-spacing:var(--accent-s-letter-spacing-desktop-xl);font-weight:var(--accent-s-font-weight-desktop-xl);font-style:var(--accent-s-font-style-desktop-xl)}}.lrv-a-font-accent-xs{--font-family: var( --font-family-accent );font-family:var(--font-family);font-size:var(--accent-xs-font-size-mobile);line-height:var(--accent-xs-line-height-mobile);letter-spacing:var(--accent-xs-letter-spacing-mobile);font-weight:var(--accent-xs-font-weight-mobile);font-style:var(--accent-xs-font-style-mobile)}@media(min-width: 62.5rem){.lrv-a-font-accent-xs{font-size:var(--accent-xs-font-size-desktop);line-height:var(--accent-xs-line-height-desktop);letter-spacing:var(--accent-xs-letter-spacing-desktop);font-weight:var(--accent-xs-font-weight-desktop);font-style:var(--accent-xs-font-style-desktop)}}@media(min-width: 78.75rem){.lrv-a-font-accent-xs{font-size:var(--accent-xs-font-size-desktop-xl);line-height:var(--accent-xs-line-height-desktop-xl);letter-spacing:var(--accent-xs-letter-spacing-desktop-xl);font-weight:var(--accent-xs-font-weight-desktop-xl);font-style:var(--accent-xs-font-style-desktop-xl)}}.lrv-a-font-accent-xxs{--font-family: var( --font-family-accent );font-family:var(--font-family);font-size:var(--accent-xxs-font-size-mobile);line-height:var(--accent-xxs-line-height-mobile);letter-spacing:var(--accent-xxs-letter-spacing-mobile);font-weight:var(--accent-xxs-font-weight-mobile);font-style:var(--accent-xxs-font-style-mobile)}@media(min-width: 62.5rem){.lrv-a-font-accent-xxs{font-size:var(--accent-xxs-font-size-desktop);line-height:var(--accent-xxs-line-height-desktop);letter-spacing:var(--accent-xxs-letter-spacing-desktop);font-weight:var(--accent-xxs-font-weight-desktop);font-style:var(--accent-xxs-font-style-desktop)}}@media(min-width: 78.75rem){.lrv-a-font-accent-xxs{font-size:var(--accent-xxs-font-size-desktop-xl);line-height:var(--accent-xxs-line-height-desktop-xl);letter-spacing:var(--accent-xxs-letter-spacing-desktop-xl);font-weight:var(--accent-xxs-font-weight-desktop-xl);font-style:var(--accent-xxs-font-style-desktop-xl)}}.lrv-a-font-accent-regular-xxs{--font-family: var( --font-family-accent );font-family:var(--font-family);font-size:var(--accent-regular-xxs-font-size-mobile);line-height:var(--accent-regular-xxs-line-height-mobile);letter-spacing:var(--accent-regular-xxs-letter-spacing-mobile);font-weight:var(--accent-regular-xxs-font-weight-mobile);font-style:var(--accent-regular-xxs-font-style-mobile)}@media(min-width: 62.5rem){.lrv-a-font-accent-regular-xxs{font-size:var(--accent-regular-xxs-font-size-desktop);line-height:var(--accent-regular-xxs-line-height-desktop);letter-spacing:var(--accent-regular-xxs-letter-spacing-desktop);font-weight:var(--accent-regular-xxs-font-weight-desktop);font-style:var(--accent-regular-xxs-font-style-desktop)}}@media(min-width: 78.75rem){.lrv-a-font-accent-regular-xxs{font-size:var(--accent-regular-xxs-font-size-desktop-xl);line-height:var(--accent-regular-xxs-line-height-desktop-xl);letter-spacing:var(--accent-regular-xxs-letter-spacing-desktop-xl);font-weight:var(--accent-regular-xxs-font-weight-desktop-xl);font-style:var(--accent-regular-xxs-font-style-desktop-xl)}}.lrv-a-font-body-xxxl{--font-family: var( --font-family-body );font-family:var(--font-family);font-size:var(--body-xxxl-font-size-mobile);line-height:var(--body-xxxl-line-height-mobile);letter-spacing:var(--body-xxxl-letter-spacing-mobile);font-weight:var(--body-xxxl-font-weight-mobile);font-style:var(--body-xxxl-font-style-mobile)}@media(min-width: 62.5rem){.lrv-a-font-body-xxxl{font-size:var(--body-xxxl-font-size-desktop);line-height:var(--body-xxxl-line-height-desktop);letter-spacing:var(--body-xxxl-letter-spacing-desktop);font-weight:var(--body-xxxl-font-weight-desktop);font-style:var(--body-xxxl-font-style-desktop)}}@media(min-width: 78.75rem){.lrv-a-font-body-xxxl{font-size:var(--body-xxxl-font-size-desktop-xl);line-height:var(--body-xxxl-line-height-desktop-xl);letter-spacing:var(--body-xxxl-letter-spacing-desktop-xl);font-weight:var(--body-xxxl-font-weight-desktop-xl);font-style:var(--body-xxxl-font-style-desktop-xl)}}.lrv-a-font-body-xxl{--font-family: var( --font-family-body );font-family:var(--font-family);font-size:var(--body-xxl-font-size-mobile);line-height:var(--body-xxl-line-height-mobile);letter-spacing:var(--body-xxl-letter-spacing-mobile);font-weight:var(--body-xxl-font-weight-mobile);font-style:var(--body-xxl-font-style-mobile)}@media(min-width: 62.5rem){.lrv-a-font-body-xxl{font-size:var(--body-xxl-font-size-desktop);line-height:var(--body-xxl-line-height-desktop);letter-spacing:var(--body-xxl-letter-spacing-desktop);font-weight:var(--body-xxl-font-weight-desktop);font-style:var(--body-xxl-font-style-desktop)}}@media(min-width: 78.75rem){.lrv-a-font-body-xxl{font-size:var(--body-xxl-font-size-desktop-xl);line-height:var(--body-xxl-line-height-desktop-xl);letter-spacing:var(--body-xxl-letter-spacing-desktop-xl);font-weight:var(--body-xxl-font-weight-desktop-xl);font-style:var(--body-xxl-font-style-desktop-xl)}}.lrv-a-font-body-xl{--font-family: var( --font-family-body );font-family:var(--font-family);font-size:var(--body-xl-font-size-mobile);line-height:var(--body-xl-line-height-mobile);letter-spacing:var(--body-xl-letter-spacing-mobile);font-weight:var(--body-xl-font-weight-mobile);font-style:var(--body-xl-font-style-mobile)}@media(min-width: 62.5rem){.lrv-a-font-body-xl{font-size:var(--body-xl-font-size-desktop);line-height:var(--body-xl-line-height-desktop);letter-spacing:var(--body-xl-letter-spacing-desktop);font-weight:var(--body-xl-font-weight-desktop);font-style:var(--body-xl-font-style-desktop)}}@media(min-width: 78.75rem){.lrv-a-font-body-xl{font-size:var(--body-xl-font-size-desktop-xl);line-height:var(--body-xl-line-height-desktop-xl);letter-spacing:var(--body-xl-letter-spacing-desktop-xl);font-weight:var(--body-xl-font-weight-desktop-xl);font-style:var(--body-xl-font-style-desktop-xl)}}.lrv-a-font-body-l{--font-family: var( --font-family-body );font-family:var(--font-family);font-size:var(--body-l-font-size-mobile);line-height:var(--body-l-line-height-mobile);letter-spacing:var(--body-l-letter-spacing-mobile);font-weight:var(--body-l-font-weight-mobile);font-style:var(--body-l-font-style-mobile)}@media(min-width: 62.5rem){.lrv-a-font-body-l{font-size:var(--body-l-font-size-desktop);line-height:var(--body-l-line-height-desktop);letter-spacing:var(--body-l-letter-spacing-desktop);font-weight:var(--body-l-font-weight-desktop);font-style:var(--body-l-font-style-desktop)}}@media(min-width: 78.75rem){.lrv-a-font-body-l{font-size:var(--body-l-font-size-desktop-xl);line-height:var(--body-l-line-height-desktop-xl);letter-spacing:var(--body-l-letter-spacing-desktop-xl);font-weight:var(--body-l-font-weight-desktop-xl);font-style:var(--body-l-font-style-desktop-xl)}}.lrv-a-font-body-m{--font-family: var( --font-family-body );font-family:var(--font-family);font-size:var(--body-m-font-size-mobile);line-height:var(--body-m-line-height-mobile);letter-spacing:var(--body-m-letter-spacing-mobile);font-weight:var(--body-m-font-weight-mobile);font-style:var(--body-m-font-style-mobile)}@media(min-width: 62.5rem){.lrv-a-font-body-m{font-size:var(--body-m-font-size-desktop);line-height:var(--body-m-line-height-desktop);letter-spacing:var(--body-m-letter-spacing-desktop);font-weight:var(--body-m-font-weight-desktop);font-style:var(--body-m-font-style-desktop)}}@media(min-width: 78.75rem){.lrv-a-font-body-m{font-size:var(--body-m-font-size-desktop-xl);line-height:var(--body-m-line-height-desktop-xl);letter-spacing:var(--body-m-letter-spacing-desktop-xl);font-weight:var(--body-m-font-weight-desktop-xl);font-style:var(--body-m-font-style-desktop-xl)}}.lrv-a-font-body-s{--font-family: var( --font-family-body );font-family:var(--font-family);font-size:var(--body-s-font-size-mobile);line-height:var(--body-s-line-height-mobile);letter-spacing:var(--body-s-letter-spacing-mobile);font-weight:var(--body-s-font-weight-mobile);font-style:var(--body-s-font-style-mobile)}@media(min-width: 62.5rem){.lrv-a-font-body-s{font-size:var(--body-s-font-size-desktop);line-height:var(--body-s-line-height-desktop);letter-spacing:var(--body-s-letter-spacing-desktop);font-weight:var(--body-s-font-weight-desktop);font-style:var(--body-s-font-style-desktop)}}@media(min-width: 78.75rem){.lrv-a-font-body-s{font-size:var(--body-s-font-size-desktop-xl);line-height:var(--body-s-line-height-desktop-xl);letter-spacing:var(--body-s-letter-spacing-desktop-xl);font-weight:var(--body-s-font-weight-desktop-xl);font-style:var(--body-s-font-style-desktop-xl)}}.lrv-a-font-body-xs{--font-family: var( --font-family-body );font-family:var(--font-family);font-size:var(--body-xs-font-size-mobile);line-height:var(--body-xs-line-height-mobile);letter-spacing:var(--body-xs-letter-spacing-mobile);font-weight:var(--body-xs-font-weight-mobile);font-style:var(--body-xs-font-style-mobile)}@media(min-width: 62.5rem){.lrv-a-font-body-xs{font-size:var(--body-xs-font-size-desktop);line-height:var(--body-xs-line-height-desktop);letter-spacing:var(--body-xs-letter-spacing-desktop);font-weight:var(--body-xs-font-weight-desktop);font-style:var(--body-xs-font-style-desktop)}}@media(min-width: 78.75rem){.lrv-a-font-body-xs{font-size:var(--body-xs-font-size-desktop-xl);line-height:var(--body-xs-line-height-desktop-xl);letter-spacing:var(--body-xs-letter-spacing-desktop-xl);font-weight:var(--body-xs-font-weight-desktop-xl);font-style:var(--body-xs-font-style-desktop-xl)}}.lrv-a-font-body-xxs{--font-family: var( --font-family-body );font-family:var(--font-family);font-size:var(--body-xxs-font-size-mobile);line-height:var(--body-xxs-line-height-mobile);letter-spacing:var(--body-xxs-letter-spacing-mobile);font-weight:var(--body-xxs-font-weight-mobile);font-style:var(--body-xxs-font-style-mobile)}@media(min-width: 62.5rem){.lrv-a-font-body-xxs{font-size:var(--body-xxs-font-size-desktop);line-height:var(--body-xxs-line-height-desktop);letter-spacing:var(--body-xxs-letter-spacing-desktop);font-weight:var(--body-xxs-font-weight-desktop);font-style:var(--body-xxs-font-style-desktop)}}@media(min-width: 78.75rem){.lrv-a-font-body-xxs{font-size:var(--body-xxs-font-size-desktop-xl);line-height:var(--body-xxs-line-height-desktop-xl);letter-spacing:var(--body-xxs-letter-spacing-desktop-xl);font-weight:var(--body-xxs-font-weight-desktop-xl);font-style:var(--body-xxs-font-style-desktop-xl)}}.lrv-a-font-body-xxxs{--font-family: var( --font-family-body );font-family:var(--font-family);font-size:var(--body-xxxs-font-size-mobile);line-height:var(--body-xxxs-line-height-mobile);letter-spacing:var(--body-xxxs-letter-spacing-mobile);font-weight:var(--body-xxxs-font-weight-mobile);font-style:var(--body-xxxs-font-style-mobile)}@media(min-width: 62.5rem){.lrv-a-font-body-xxxs{font-size:var(--body-xxxs-font-size-desktop);line-height:var(--body-xxxs-line-height-desktop);letter-spacing:var(--body-xxxs-letter-spacing-desktop);font-weight:var(--body-xxxs-font-weight-desktop);font-style:var(--body-xxxs-font-style-desktop)}}@media(min-width: 78.75rem){.lrv-a-font-body-xxxs{font-size:var(--body-xxxs-font-size-desktop-xl);line-height:var(--body-xxxs-line-height-desktop-xl);letter-spacing:var(--body-xxxs-letter-spacing-desktop-xl);font-weight:var(--body-xxxs-font-weight-desktop-xl);font-style:var(--body-xxxs-font-style-desktop-xl)}}.lrv-a-font-basic-xxl{--font-family: var( --font-family-basic );font-family:var(--font-family);font-size:var(--basic-xxl-font-size-mobile);line-height:var(--basic-xxl-line-height-mobile);letter-spacing:var(--basic-xxl-letter-spacing-mobile);font-weight:var(--basic-xxl-font-weight-mobile);font-style:var(--basic-xxl-font-style-mobile)}@media(min-width: 62.5rem){.lrv-a-font-basic-xxl{font-size:var(--basic-xxl-font-size-desktop);line-height:var(--basic-xxl-line-height-desktop);letter-spacing:var(--basic-xxl-letter-spacing-desktop);font-weight:var(--basic-xxl-font-weight-desktop);font-style:var(--basic-xxl-font-style-desktop)}}@media(min-width: 78.75rem){.lrv-a-font-basic-xxl{font-size:var(--basic-xxl-font-size-desktop-xl);line-height:var(--basic-xxl-line-height-desktop-xl);letter-spacing:var(--basic-xxl-letter-spacing-desktop-xl);font-weight:var(--basic-xxl-font-weight-desktop-xl);font-style:var(--basic-xxl-font-style-desktop-xl)}}.lrv-a-font-basic-xl{--font-family: var( --font-family-basic );font-family:var(--font-family);font-size:var(--basic-xl-font-size-mobile);line-height:var(--basic-xl-line-height-mobile);letter-spacing:var(--basic-xl-letter-spacing-mobile);font-weight:var(--basic-xl-font-weight-mobile);font-style:var(--basic-xl-font-style-mobile)}@media(min-width: 62.5rem){.lrv-a-font-basic-xl{font-size:var(--basic-xl-font-size-desktop);line-height:var(--basic-xl-line-height-desktop);letter-spacing:var(--basic-xl-letter-spacing-desktop);font-weight:var(--basic-xl-font-weight-desktop);font-style:var(--basic-xl-font-style-desktop)}}@media(min-width: 78.75rem){.lrv-a-font-basic-xl{font-size:var(--basic-xl-font-size-desktop-xl);line-height:var(--basic-xl-line-height-desktop-xl);letter-spacing:var(--basic-xl-letter-spacing-desktop-xl);font-weight:var(--basic-xl-font-weight-desktop-xl);font-style:var(--basic-xl-font-style-desktop-xl)}}.lrv-a-font-basic-l{--font-family: var( --font-family-basic );font-family:var(--font-family);font-size:var(--basic-l-font-size-mobile);line-height:var(--basic-l-line-height-mobile);letter-spacing:var(--basic-l-letter-spacing-mobile);font-weight:var(--basic-l-font-weight-mobile);font-style:var(--basic-l-font-style-mobile)}@media(min-width: 62.5rem){.lrv-a-font-basic-l{font-size:var(--basic-l-font-size-desktop);line-height:var(--basic-l-line-height-desktop);letter-spacing:var(--basic-l-letter-spacing-desktop);font-weight:var(--basic-l-font-weight-desktop);font-style:var(--basic-l-font-style-desktop)}}@media(min-width: 78.75rem){.lrv-a-font-basic-l{font-size:var(--basic-l-font-size-desktop-xl);line-height:var(--basic-l-line-height-desktop-xl);letter-spacing:var(--basic-l-letter-spacing-desktop-xl);font-weight:var(--basic-l-font-weight-desktop-xl);font-style:var(--basic-l-font-style-desktop-xl)}}.lrv-a-font-basic-m{--font-family: var( --font-family-basic );font-family:var(--font-family);font-size:var(--basic-m-font-size-mobile);line-height:var(--basic-m-line-height-mobile);letter-spacing:var(--basic-m-letter-spacing-mobile);font-weight:var(--basic-m-font-weight-mobile);font-style:var(--basic-m-font-style-mobile)}@media(min-width: 62.5rem){.lrv-a-font-basic-m{font-size:var(--basic-m-font-size-desktop);line-height:var(--basic-m-line-height-desktop);letter-spacing:var(--basic-m-letter-spacing-desktop);font-weight:var(--basic-m-font-weight-desktop);font-style:var(--basic-m-font-style-desktop)}}@media(min-width: 78.75rem){.lrv-a-font-basic-m{font-size:var(--basic-m-font-size-desktop-xl);line-height:var(--basic-m-line-height-desktop-xl);letter-spacing:var(--basic-m-letter-spacing-desktop-xl);font-weight:var(--basic-m-font-weight-desktop-xl);font-style:var(--basic-m-font-style-desktop-xl)}}.lrv-a-font-basic-s{--font-family: var( --font-family-basic );font-family:var(--font-family);font-size:var(--basic-s-font-size-mobile);line-height:var(--basic-s-line-height-mobile);letter-spacing:var(--basic-s-letter-spacing-mobile);font-weight:var(--basic-s-font-weight-mobile);font-style:var(--basic-s-font-style-mobile)}@media(min-width: 62.5rem){.lrv-a-font-basic-s{font-size:var(--basic-s-font-size-desktop);line-height:var(--basic-s-line-height-desktop);letter-spacing:var(--basic-s-letter-spacing-desktop);font-weight:var(--basic-s-font-weight-desktop);font-style:var(--basic-s-font-style-desktop)}}@media(min-width: 78.75rem){.lrv-a-font-basic-s{font-size:var(--basic-s-font-size-desktop-xl);line-height:var(--basic-s-line-height-desktop-xl);letter-spacing:var(--basic-s-letter-spacing-desktop-xl);font-weight:var(--basic-s-font-weight-desktop-xl);font-style:var(--basic-s-font-style-desktop-xl)}}.lrv-a-font-basic-xs{--font-family: var( --font-family-basic );font-family:var(--font-family);font-size:var(--basic-xs-font-size-mobile);line-height:var(--basic-xs-line-height-mobile);letter-spacing:var(--basic-xs-letter-spacing-mobile);font-weight:var(--basic-xs-font-weight-mobile);font-style:var(--basic-xs-font-style-mobile)}@media(min-width: 62.5rem){.lrv-a-font-basic-xs{font-size:var(--basic-xs-font-size-desktop);line-height:var(--basic-xs-line-height-desktop);letter-spacing:var(--basic-xs-letter-spacing-desktop);font-weight:var(--basic-xs-font-weight-desktop);font-style:var(--basic-xs-font-style-desktop)}}@media(min-width: 78.75rem){.lrv-a-font-basic-xs{font-size:var(--basic-xs-font-size-desktop-xl);line-height:var(--basic-xs-line-height-desktop-xl);letter-spacing:var(--basic-xs-letter-spacing-desktop-xl);font-weight:var(--basic-xs-font-weight-desktop-xl);font-style:var(--basic-xs-font-style-desktop-xl)}}.lrv-a-font-basic-xxs{--font-family: var( --font-family-basic );font-family:var(--font-family);font-size:var(--basic-xxs-font-size-mobile);line-height:var(--basic-xxs-line-height-mobile);letter-spacing:var(--basic-xxs-letter-spacing-mobile);font-weight:var(--basic-xxs-font-weight-mobile);font-style:var(--basic-xxs-font-style-mobile)}@media(min-width: 62.5rem){.lrv-a-font-basic-xxs{font-size:var(--basic-xxs-font-size-desktop);line-height:var(--basic-xxs-line-height-desktop);letter-spacing:var(--basic-xxs-letter-spacing-desktop);font-weight:var(--basic-xxs-font-weight-desktop);font-style:var(--basic-xxs-font-style-desktop)}}@media(min-width: 78.75rem){.lrv-a-font-basic-xxs{font-size:var(--basic-xxs-font-size-desktop-xl);line-height:var(--basic-xxs-line-height-desktop-xl);letter-spacing:var(--basic-xxs-letter-spacing-desktop-xl);font-weight:var(--basic-xxs-font-weight-desktop-xl);font-style:var(--basic-xxs-font-style-desktop-xl)}}
10
+ .lrv-a-glue-parent{position:relative}.lrv-a-glue{top:0;left:0;position:absolute;z-index:2;top:var(--a-glue-top, initial);bottom:var(--a-glue-bottom, initial);right:var(--a-glue-right, initial);left:var(--a-glue-left, initial)}@media(max-width: 47.999rem){.lrv-a-glue\@mobile-max{top:0;left:0;position:absolute;z-index:2;top:var(--a-glue-top, initial);bottom:var(--a-glue-bottom, initial);right:var(--a-glue-right, initial);left:var(--a-glue-left, initial)}}@media(min-width: 48rem){.lrv-a-glue\@tablet{top:0;left:0;position:absolute;z-index:2;top:var(--a-glue-top, initial);bottom:var(--a-glue-bottom, initial);right:var(--a-glue-right, initial);left:var(--a-glue-left, initial)}}.lrv-a-glue--l-0{--a-glue-left: 0}.lrv-a-glue--r-0{--a-glue-right: 0}.lrv-a-glue--t-0{--a-glue-top: 0}.lrv-a-glue--b-0{--a-glue-bottom: 0}.lrv-a-glue--t-50p{--a-glue-top: 50%}.lrv-a-glue--t-100p{--a-glue-top: 100%}.lrv-a-glue--l-50p{--a-glue-left: 50%}.lrv-a-glue--r-50p{--a-glue-right: 50%}.lrv-a-glue--b-n1{--a-glue-bottom: -1rem}@media(max-width: 47.999rem){.lrv-a-glue-parent\@mobile-max{position:relative}}@media(min-width: 48rem){.lrv-a-glue-parent\@tablet{position:relative}}@media(max-width: 47.999rem){.lrv-a-glue--b-unset\@mobile-max{bottom:unset}}
11
+ .lrv-a-grid{display:flex;flex-wrap:wrap;align-items:start}@supports(display: grid){.lrv-a-grid{--cols: 1;display:grid;grid-gap:1.25rem;grid-template-columns:repeat(var(--cols), minmax(0, 1fr))}}.lrv-a-grid-item{flex:none;padding:.625rem}@supports(display: grid){.lrv-a-grid-item{padding:0}}.lrv-a-cols2{--cols: 2}.lrv-a-cols2>*{flex-basis:50%}.lrv-a-cols3{--cols: 3}.lrv-a-cols3>*{flex-basis:33.3333333333%}@supports(display: grid){.lrv-a-span2{grid-column:span 2}}.lrv-a-cols3>.lrv-a-span2{flex-basis:66.6666666667%}@media(min-width: 48rem){.lrv-a-cols2\@tablet{--cols: 2}.lrv-a-cols2\@tablet>*{flex-basis:50%}}@media(min-width: 48rem){.lrv-a-cols3\@tablet{--cols: 3}.lrv-a-cols3\@tablet>*{flex-basis:33.3333333333%}}@media(min-width: 48rem){@supports(display: grid){.lrv-a-span2\@tablet{grid-column:span 2}}.lrv-a-cols3\@tablet>.lrv-a-span2\@tablet{flex-basis:66.6666666667%}}@media(min-width: 48rem){.lrv-a-cols4\@tablet{--cols: 4}.lrv-a-cols4\@tablet>*{flex-basis:25%}}@media(min-width: 48rem){@supports(display: grid){.lrv-a-span2\@tablet{grid-column:span 2}}.lrv-a-cols4\@tablet>.lrv-a-span2\@tablet{flex-basis:50%}}@media(min-width: 48rem){@supports(display: grid){.lrv-a-span3\@tablet{grid-column:span 3}}.lrv-a-cols4\@tablet>.lrv-a-span3\@tablet{flex-basis:75%}}@media(min-width: 62.5rem){.lrv-a-cols3\@desktop{--cols: 3}.lrv-a-cols3\@desktop>*{flex-basis:33.3333333333%}}@media(min-width: 62.5rem){.lrv-a-cols2\@desktop{--cols: 2}.lrv-a-cols2\@desktop>*{flex-basis:50%}}@media(min-width: 78.75rem){.lrv-a-cols2\@desktop-xl{--cols: 2}.lrv-a-cols2\@desktop-xl>*{flex-basis:50%}}@media(min-width: 62.5rem){.lrv-a-cols4\@desktop{--cols: 4}.lrv-a-cols4\@desktop>*{flex-basis:25%}}@media(min-width: 62.5rem){@supports(display: grid){.lrv-a-span2\@desktop{grid-column:span 2}}.lrv-a-cols4\@desktop>.lrv-a-span2\@desktop{flex-basis:50%}}@media(min-width: 62.5rem){.lrv-a-cols4\@desktop{--cols: 4}.lrv-a-cols4\@desktop>*{flex-basis:25%}}@media(min-width: 62.5rem){@supports(display: grid){.lrv-a-span3\@desktop{grid-column:span 3}}.lrv-a-cols4\@desktop>.lrv-a-span3\@desktop{flex-basis:75%}}@media(min-width: 78.75rem){.lrv-a-cols4\@desktop-xl{--cols: 4}.lrv-a-cols4\@desktop-xl>*{flex-basis:25%}}@media(min-width: 78.75rem){@supports(display: grid){.lrv-a-span3\@desktop-xl{grid-column:span 3}}.lrv-a-cols4\@desktop-xl>.lrv-a-span3\@desktop-xl{flex-basis:75%}}@media(min-width: 62.5rem){.lrv-a-cols5\@desktop{--cols: 5}.lrv-a-cols5\@desktop>*{flex-basis:20%}}@media(max-width: 47.999rem){@supports(display: grid){.lrv-a-grid-first-child-span-all\@mobile-max>*:first-child{grid-column:1/-1}}}
12
+ .lrv-a-hidden{display:none !important;height:0;width:0}@media(max-width: 47.999rem){.lrv-a-hidden\@mobile-max{display:none !important;height:0;width:0}}@media(max-width: 62.499rem){.lrv-a-hidden\@desktop-max{display:none !important;height:0;width:0}}@media(max-width: 78.7499rem){.lrv-a-hidden\@desktop-xl-max{display:none !important;height:0;width:0}}@media(min-width: 48rem){.lrv-a-hidden\@tablet{display:none !important;height:0;width:0}}@media(min-width: 62.5rem){.lrv-a-hidden\@desktop{display:none !important;height:0;width:0}}
13
+ .lrv-a-icon{content:var(--a-icon-content, "");filter:var(--a-icon-filter, none);background-image:var(--a-icon-url, "");background-repeat:no-repeat;background-size:contain;height:var(--a-icon-height, 1rem);width:var(--a-icon-width, 1rem);transform:var(--a-icon-transform, none);flex-shrink:0}.lrv-a-icon-before{display:inline-flex;align-items:center;flex-wrap:nowrap}.lrv-a-icon-before::before{content:var(--a-icon-content, "");filter:var(--a-icon-filter, none);background-image:var(--a-icon-url, "");background-repeat:no-repeat;background-size:contain;height:var(--a-icon-height, 1rem);width:var(--a-icon-width, 1rem);transform:var(--a-icon-transform, none);flex-shrink:0;margin-right:.5rem}.lrv-a-icon-after{display:inline-flex;align-items:center;flex-wrap:nowrap}.lrv-a-icon-after::after{content:var(--a-icon-content, "");filter:var(--a-icon-filter, none);background-image:var(--a-icon-url, "");background-repeat:no-repeat;background-size:contain;height:var(--a-icon-height, 1rem);width:var(--a-icon-width, 1rem);transform:var(--a-icon-transform, none);flex-shrink:0;margin-left:.5rem}.lrv-a-icon-after\:margin-l-auto::after{margin-left:auto}.lrv-a-icon-forward-slash::before,.lrv-a-icon-bullet::before,.lrv-a-icon-vertical-pipe::before{height:initial;width:initial;background:initial;font-size:inherit;color:currentColor;margin:0;padding-right:.5rem}.lrv-a-icon-forward-slash::after,.lrv-a-icon-bullet::after,.lrv-a-icon-vertical-pipe::after{height:initial;width:initial;background:initial;font-size:inherit;color:currentColor;margin:0;padding-left:.25rem}.lrv-a-icon-forward-slash{--a-icon-content: "/"}.lrv-a-icon-bullet{--a-icon-content: "•"}.lrv-a-icon-vertical-pipe{--a-icon-content: "|";padding-right:.25rem}.lrv-a-icon-after-arrow-top-left::before{position:absolute;content:"";display:block;width:1.5rem;height:1.5rem;left:13%;border:2px solid #000;border-right-color:transparent;border-bottom-color:transparent;transform:rotate(45deg);top:-0.75rem;background-color:#fff}.lrv-a-icon-after-arrow-top-right::before{position:absolute;content:"";display:block;width:1.5rem;height:1.5rem;right:13%;border:2px solid #000;border-right-color:transparent;border-bottom-color:transparent;transform:rotate(45deg);top:-0.75rem;background-color:#fff}
14
+ .lrv-a-screen-reader-only{border:0;clip:rect(1px, 1px, 1px, 1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal}@media(max-width: 47.999rem){.lrv-a-screen-reader-only\@mobile-max{border:0;clip:rect(1px, 1px, 1px, 1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal}}@media(min-width: 78.75rem){.lrv-a-screen-reader-only\@desktop-xl{border:0;clip:rect(1px, 1px, 1px, 1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal}}
15
+ :root{--scrollable-grid-column-size: calc( 5vw + 13.75rem )}@media(max-width: 62.499rem){.lrv-a-scrollable-grid\@desktop-max{overflow-x:scroll}}@media(max-width: 62.499rem){.lrv-a-scrollable-grid\@desktop-max,.lrv-a-scrollable-grid__nested\@desktop-max{-webkit-overflow-scrolling:touch;display:flex;flex-wrap:nowrap}.lrv-a-scrollable-grid\@desktop-max>*,.lrv-a-scrollable-grid__nested\@desktop-max>*{width:100%;min-width:calc( 1vw + 16.25rem );margin-right:1.5rem}@supports(display: grid){.lrv-a-scrollable-grid\@desktop-max,.lrv-a-scrollable-grid__nested\@desktop-max{display:grid;grid-auto-flow:column;grid-template-columns:unset;grid-auto-columns:var(--scrollable-grid-column-size)}.lrv-a-scrollable-grid\@desktop-max>*,.lrv-a-scrollable-grid__nested\@desktop-max>*{width:unset;min-width:unset;margin-right:unset}}}
16
+ .lrv-a-show-on-hover{opacity:0;visibility:hidden;position:absolute;top:100%;left:0;transition:opacity 300ms cubic-bezier(0.19, 1, 0.22, 1)}.lrv-a-show-on-hover-parent:hover .lrv-a-show-on-hover,.lrv-a-show-on-hover-parent:focus-within .lrv-a-show-on-hover{opacity:1;visibility:visible}
17
+ :root{--a-space-children-spacer: 0}.lrv-a-space-children-horizontal>*+*{margin-left:.5rem;margin-left:calc( var( --a-space-children-spacer ) * 1rem )}@media(max-width: 47.999rem){.lrv-a-space-children-horizontal\@mobile-max>*+*{margin-left:.5rem;margin-left:calc( var( --a-space-children-spacer ) * 1rem )}}@media(min-width: 48rem){.lrv-a-space-children-horizontal\@tablet>*+*{margin-left:.5rem;margin-left:calc( var( --a-space-children-spacer ) * 1rem )}}@media(max-width: 62.499rem){.lrv-a-space-children-horizontal\@desktop-max>*+*{margin-left:.5rem;margin-left:calc( var( --a-space-children-spacer ) * 1rem )}}@media(min-width: 78.75rem){.lrv-a-space-children-horizontal\@desktop-xl>*+*{margin-left:.5rem;margin-left:calc( var( --a-space-children-spacer ) * 1rem )}}.lrv-a-space-children-vertical>*+*{margin-top:.5rem;margin-top:calc( var( --a-space-children-spacer ) * 1rem )}@media(max-width: 47.999rem){.lrv-a-space-children-vertical\@mobile-max>*+*{margin-top:.5rem;margin-top:calc( var( --a-space-children-spacer ) * 1rem )}}@media(min-width: 48rem){.lrv-a-space-children-vertical\@tablet>*+*{margin-top:.5rem;margin-top:calc( var( --a-space-children-spacer ) * 1rem )}}@media(min-width: 62.5rem){.lrv-a-space-children-vertical\@desktop>*+*{margin-top:.5rem;margin-top:calc( var( --a-space-children-spacer ) * 1rem )}}.lrv-a-space-children--050{--a-space-children-spacer: 0.50}.lrv-a-space-children--1{--a-space-children-spacer: 1}.lrv-a-space-children--150{--a-space-children-spacer: 1.5}.lrv-a-space-children--2{--a-space-children-spacer: 2}.lrv-a-space-children--3{--a-space-children-spacer: 3}@media(min-width: 78.75rem){.lrv-a-space-children--2\@desktop-xl{--a-space-children-spacer: 2}}@media(max-width: 78.7499rem){.lrv-a-space-children--1\@desktop-xl-max{--a-space-children-spacer: 1}}@media(min-width: 78.75rem){.lrv-a-space-children--3\@desktop-xl{--a-space-children-spacer: 3}}@media(min-width: 62.5rem){.lrv-a-space-children--4\@desktop{--a-space-children-spacer: 4}}@media(min-width: 62.5rem){.lrv-a-space-children--5\@desktop{--a-space-children-spacer: 5}}@media(min-width: 78.75rem){.lrv-a-space-children--0\@desktop-xl{--a-space-children-spacer: 0}}
18
+ .lrv-a-unstyle-button{border-width:0;background-color:transparent;font-family:inherit;font-size:inherit;line-height:inherit;text-align:inherit}
19
+ .lrv-a-unstyle-link,.lrv-a-unstyle-link:hover,.lrv-a-unstyle-inner-links>a{color:currentColor;text-decoration:none}
20
+ .lrv-a-unstyle-list{list-style-type:none;padding-left:0;margin-top:0;margin-bottom:0}
21
+ .lrv-a-wrapper{max-width:78.75rem;max-width:var(--site-max-width, 78.75rem);margin-left:auto;margin-right:auto;padding-left:.5rem;padding-right:.5rem}@media(max-width: 47.999rem){.lrv-a-wrapper-100vw\@mobile-max{width:100vw;margin-left:calc(50% - 50vw)}}
@@ -0,0 +1,4 @@
1
+ html{--ON: initial;--OFF: /*! whitespace toggle */;--is-desktop: var( --OFF );--is-desktopxl: var( --OFF )}@media(min-width: 62.5rem){html{--is-desktop: var( --ON )}}@media(min-width: 78.75rem){html{--is-desktopxl: var( --ON )}}*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid}img{max-width:100%;height:auto}figure{margin:0}[hidden]{display:none;width:0;height:0}#icon-sprite{display:none}svg{fill:currentColor}cite{font-style:normal}
2
+ ::placeholder{color:#e6e6e6}button{padding-left:0;padding-right:0}
3
+ .has-side-skins{max-width:62.5rem;margin-left:auto;margin-right:auto}
4
+ body{font-family:Arial,sans-serif;font-family:var(--font-family-basic, Arial, sans-serif);margin:0;line-height:1.35}.wf-active body{--font-family-primary: var( --font-family-primary-fancy );--font-family-secondary: var( --font-family-secondary-fancy );--font-family-body: var( --font-family-body-fancy );--font-family-basic: var( --font-family-basic-fancy );--font-family-accent: var( --font-family-accent-fancy )}strong{font-weight:700}a{color:var(--color-brand-primary, #ec1c24);text-decoration:none}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;font-weight:700}ol,ul{margin-top:0}
@@ -0,0 +1,3 @@
1
+ .expandable-search{color:var(--color-black)}.expandable-search .search-form{display:flex;position:relative}.expandable-search .search-form::after{content:"";position:absolute;top:50%;right:1rem;content:"";background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18'%3E%3Ctitle%3ESearch Icon%3C/title%3E%3Cpath d='M17.7 16.3l-1.5 1.5-5-5V12l-.2-.2c-1.1 1-2.6 1.6-4.2 1.6-3.6 0-6.5-2.9-6.5-6.5S3.2.4 6.8.4s6.5 2.9 6.5 6.5c0 1.6-.6 3.1-1.6 4.2l.3.3h.8l4.9 4.9zm-6.5-9.5c0-2.5-2-4.5-4.5-4.5s-4.5 2-4.5 4.5 2 4.5 4.5 4.5 4.5-2 4.5-4.5z' fill-rule='evenodd'/%3E%3C/svg%3E");height:1.5rem;width:1.5rem;background-repeat:no-repeat;background-size:contain;transform:translateY(-50%);pointer-events:none;z-index:2;transition:300ms cubic-bezier(0.215, 0.61, 0.355, 1) transform}.expandable-search .search-form>label:first-of-type{position:relative}.expandable-search .search-form>label:first-of-type::after{content:"";position:absolute;bottom:1.0625rem;left:1.25rem;height:0.0625rem;background-color:#000;width:calc(100% - 5rem);display:inline-block;z-index:9}.expandable-search .search-form::before{background-color:#fff;content:"";position:absolute;right:0.125rem;top:0.125rem;height:calc( 100% - 0.125rem * 2 );width:2.75rem;z-index:1;pointer-events:none}.expandable-search .search-form input[type=text],.expandable-search .search-form input[type=search]{border:2px solid var(--color-black);padding:.5rem 1.25rem;min-width:18.75rem;font-family:var(--font-family-body);box-shadow:0 2px 4px 0 rgba(0,0,0,.08);font-size:0.625rem;height:3.875rem;position:relative}.expandable-search .search-form input[type=text]::-webkit-input-placeholder,.expandable-search .search-form input[type=search]::-webkit-input-placeholder{color:var(--color-black);text-transform:uppercase}.expandable-search .search-form input[type=text]:-ms-input-placeholder,.expandable-search .search-form input[type=search]:-ms-input-placeholder{color:var(--color-black);text-transform:uppercase}.expandable-search .search-form input[type=text]::placeholder,.expandable-search .search-form input[type=search]::placeholder{color:var(--color-black);text-transform:uppercase}.expandable-search .search-form input[type=submit]{position:absolute;right:0.125rem;height:100%;width:2.75rem;overflow:hidden;border:0;background-color:transparent;cursor:pointer}.expandable-search .swiftype-widget{background-color:var(--background-color-body);box-shadow:0 -2px 9px 0 rgba(0,0,0,.1)}.expandable-search .ac-section-title{font-family:var(--font-family-basic);padding-bottom:.25rem;font-size:.875rem;font-weight:var(--font-weight-bold);text-transform:uppercase;padding-left:.5rem;padding-right:.5rem}.expandable-search .autocomplete-section{padding-top:1rem}.expandable-search .ac-result{padding:.5rem}.expandable-search .ac-result:hover,.expandable-search .ac-result:focus{color:var(--color-brand-primary);background-color:var(--background-color-grey-lightest);cursor:pointer}.expandable-search .ac-result em{font-weight:var(--font-weight-bold);font-style:normal}.expandable-search .ac-result{border-top:1px solid var(--color-grey-light)}.expandable-search .ac_title{font-family:var(--font-family-primary);line-height:var(--line-height-normal)}.expandable-search .ac_title,.expandable-search .ac_tag{font-family:var(--font-family-body);font-size:1rem}.expandable-search .ac_sub{font-family:var(--font-family-body);font-size:.875rem;font-style:italic;color:var(--color-grey-dark)}.expandable-search .sticky-expandable .search-form>label:first-of-type::after{left:3.2rem}.expandable-search .sticky-expandable .search-form::before{left:.125rem;right:unset}.expandable-search .sticky-expandable .search-form::after{left:1rem;right:unset}.expandable-search .sticky-expandable .search-form input[type=search]{padding:.5rem 1.25rem .5rem 3.2rem}.expandable-search .sticky-expandable .search-form input[type=submit]{left:.125rem;right:unset}.is-ExpandableSearch-open{background-color:var(--color-brand-primary);color:var(--color-white);position:relative}.is-ExpandableSearch-open svg{opacity:0}.is-ExpandableSearch-open::before,.is-ExpandableSearch-open::after{content:"";position:absolute;top:calc( 50% - 0.0625rem );left:calc( 50% - 0.625rem );width:1.25rem;height:0.125rem;background-color:#fff;transition:transform 600ms ease;transform:rotateZ(45deg)}.is-ExpandableSearch-open::after{transform:rotateZ(-45deg)}.is-ExpandableSearch-open:hover{color:var(--color-white)}
2
+ /*! Flickity v2.2.1 https://flickity.metafizzy.co */.flickity-enabled{position:relative}.flickity-enabled:focus{outline:none}.flickity-viewport{overflow:hidden;position:relative;height:100%}.flickity-slider{position:absolute;width:100%;height:100%}.flickity-enabled.is-draggable{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.flickity-enabled.is-draggable .flickity-viewport{cursor:move;cursor:-webkit-grab;cursor:grab}.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down{cursor:-webkit-grabbing;cursor:grabbing}.flickity-button{position:absolute;background:rgba(255,255,255,.75);border:none;color:#333}.flickity-button:hover{background:#fff;cursor:pointer}.flickity-button:focus{outline:none;box-shadow:0 0 0 5px #19f}.flickity-button:active{opacity:.6}.flickity-button:disabled{opacity:.3;cursor:auto;pointer-events:none}.flickity-button-icon{fill:currentColor}.flickity-prev-next-button{top:50%;width:44px;height:44px;border-radius:50%;transform:translateY(-50%)}.flickity-prev-next-button.previous{left:10px}.flickity-prev-next-button.next{right:10px}.flickity-rtl .flickity-prev-next-button.previous{left:auto;right:10px}.flickity-rtl .flickity-prev-next-button.next{right:auto;left:10px}.flickity-prev-next-button .flickity-button-icon{position:absolute;left:20%;top:20%;width:60%;height:60%}.flickity-page-dots{position:absolute;width:100%;bottom:-25px;padding:0;margin:0;list-style:none;text-align:center;line-height:1}.flickity-rtl .flickity-page-dots{direction:rtl}.flickity-page-dots .dot{display:inline-block;width:10px;height:10px;margin:0 8px;background:#333;border-radius:50%;opacity:.25;cursor:pointer}.flickity-page-dots .dot.is-selected{opacity:1}.js-Flickity--100p .js-Flickity-cell{width:100%}.js-Flickity--profile .js-Flickity-cell{width:75%}@media(min-width: 62.5rem){.js-Flickity--profile .js-Flickity-cell{width:50%}}@media(min-width: 78.75rem){.js-Flickity--profile .js-Flickity-cell{width:33.3%}}.js-Flickity--thirds .js-Flickity-cell{width:66%;overflow:visible}.js-Flickity--fifths .js-Flickity-cell{width:35%}@media(min-width: 62.5rem){.js-Flickity--fifths .js-Flickity-cell{width:20%}}.js-Flickity--one-thirds .js-Flickity-cell{width:33%;overflow:visible}.js-Flickity--fourths .js-Flickity-cell{width:25%;overflow:visible}.js-Flickity--enlarge-selected .js-Flickity-cell{transform:scale(0.8);transition:300ms cubic-bezier(0.215, 0.61, 0.355, 1) transform;transform-origin:center center}.js-Flickity--enlarge-selected .js-Flickity-cell.is-selected{transform:scale(1);z-index:9;transform-origin:center center}.js-Flickity--nav-top-right{--button-size: 0;margin-top:var(--button-size)}@media(min-width: 48rem){.js-Flickity--nav-top-right{--button-size: 2.75rem}}.js-Flickity--nav-top-right .flickity-prev-next-button{top:calc( var( --button-size ) * -1 );height:var(--button-size);width:var(--button-size)}.js-Flickity--nav-top-right .flickity-prev-next-button.previous{left:calc( 100% - ( var( --button-size ) * 2.5 ) )}.js-Flickity--bordered-buttons .flickity-button{border:1px solid #000}.js-Flickity--bordered-buttons .flickity-icon{fill:#000}@media(max-width: 47.999rem){.js-Flickity--hide-nav\@mobile-max .flickity-button{display:none}}
3
+ .js-PopOver-target{opacity:0;visibility:hidden;position:absolute;top:100%;left:0;transition:opacity 300ms cubic-bezier(0.19, 1, 0.22, 1)}.js-PopOver-is-opened{opacity:1;visibility:visible}
@@ -0,0 +1,6 @@
1
+ [data-collapsible].is-expanded [data-collapsible-toggle]:not([data-collapsible-toggle=always-show]){display:none}[data-collapsible]:not(.is-expanded) [data-collapsible-panel]{display:none}@media(min-width: 62.5rem){[data-collapsible]:not(.is-expanded) [data-collapsible-panel][data-collapsible-breakpoint=mobile-only]{display:block}}
2
+ @keyframes slideDown{0%{transform:translateY(-100%)}100%{transform:translateY(0)}}@media(min-width: 62.5rem){.js-sticky-header-slidedown{transform:translateY(-100%)}}@media(min-width: 62.5rem){.is-sticky .js-sticky-header-slidedown{animation-name:slideDown;animation-duration:250ms;animation-fill-mode:forwards;transform:translateY(0)}}.js-Header-contents{position:relative;transition:transform 300ms cubic-bezier(0.215, 0.61, 0.355, 1);will-change:transform}.has-side-skins .js-Header-contents{max-width:62.5rem}.is-sticky .js-Header-contents{position:fixed;width:100%;z-index:2000;transform:translateY(0);top:var(--login-bar-height, 0)}.is-sticky .js-hide-when-sticky{display:none}.js-show-when-sticky{display:none}.is-sticky .js-show-when-sticky{display:block}
3
+ .js-MegaMenu{--mega-menu-top-offset: var( --login-bar-height );opacity:0;visibility:hidden;pointer-events:none;transform:translateY(calc( -100% - var( --mega-menu-top-offset ) ));transition:opacity 300ms cubic-bezier(0.455, 0.03, 0.515, 0.955),transform 300ms cubic-bezier(0.215, 0.61, 0.355, 1),visibility 300ms cubic-bezier(0.215, 0.61, 0.355, 1)}@media(max-width: 62.499rem){.js-MegaMenu{--mega-menu-top-offset: calc( var( --login-bar-height ) + var( --sticky-nav-height ) )}}.is-mega-open body{overflow:hidden}.is-mega-open .js-MegaMenu{opacity:1;visibility:visible;transform:translateY(0);pointer-events:initial}.mega-menu__parent-list-item{transition:background-color ease 300ms}
4
+ @media(max-width: 47.999rem){.lrv-js-MobileHeightToggle .lrv-js-MobileHeightToggle-target{height:0;visibility:hidden;overflow:hidden}.lrv-js-MobileHeightToggle.is-expanded .lrv-js-MobileHeightToggle-target{height:auto;visibility:visible}.lrv-js-MobileHeightToggle.is-expanded .lrv-a-icon-arrow-down.lrv-a-icon-after::after{--a-icon-transform: rotate(180deg)}}
5
+ .js-Tooltip{opacity:0;visibility:hidden;position:absolute;top:100%;transition:opacity .3 cubic-bezier(0.19, 1, 0.22, 1)}.is-Tooltip-open .js-Tooltip{opacity:1;visibility:visible}.is-Tooltip-open .lrv-a-icon-arrow-down{--a-icon-transform: rotate(-180deg)}
6
+ [data-video-showcase-active-text]{border:2px solid transparent}#jwplayerContainer,[data-video-showcase-iframe]{position:absolute;width:100%;height:100%}[data-video-showcase-trigger].is-playing [data-video-showcase-active-text]{border-color:#ec1c24}[data-video-showcase-trigger].is-playing [data-video-showcase-active-text]::after{content:attr(data-video-showcase-active-text);position:absolute;color:#fff;bottom:0;left:0;width:100%;text-align:center;background-color:#ec1c24;background-color:var(--background-color-brand-primary);padding-top:.25rem;padding-bottom:.25rem;font-size:.875rem}
@@ -0,0 +1,8 @@
1
+ .lrv-u-background-color-grey-light\:hover:hover{background-color:#ccc;background-color:var(--background-color-grey-light, #cccccc)}.lrv-u-background-color-grey-lightest\:hover:hover{background-color:#f7f7f7;background-color:var(--background-color-grey-lightest, #f7f7f7)}.lrv-u-background-color-brand-secondary-dark\:hover:hover{background-color:#000;background-color:var(--background-color-brand-secondary-dark, black)}.lrv-u-background-color-brand-secondary-light\:hover:hover{background-color:#000;background-color:var(--background-color-brand-secondary-light, black)}.lrv-u-background-color-grey-dark\:hover:hover{background-color:#6a6a6a;background-color:var(--background-color-grey-dark, #6a6a6a)}.lrv-u-background-color-grey\:hover:hover{background-color:#8c8c8c;background-color:var(--background-color-grey, #8c8c8c)}.lrv-u-background-color-body\:hover:hover{background-color:#fff;background-color:var(--background-color-body, white)}.lrv-u-background-color-brand-secondary\:hover:hover{background-color:#000;background-color:var(--background-color-brand-secondary, black)}.lrv-u-background-color-black\:hover:hover{background-color:#000;background-color:var(--background-color-black, black)}.lrv-u-background-color-brand-primary-light\:hover:hover{background-color:#ec1c24;background-color:var(--background-color-brand-primary-light, #ec1c24)}.lrv-u-background-color-brand-primary-dark\:hover:hover{background-color:#ec1c24;background-color:var(--background-color-brand-primary-dark, #ec1c24)}.lrv-u-background-color-white\:hover:hover{background-color:#fff;background-color:var(--background-color-white, white)}.lrv-u-background-color-brand-primary\:hover:hover{background-color:#ec1c24;background-color:var(--background-color-brand-primary, #ec1c24)}.lrv-u-background-color-grey-darkest\:hover:hover{background-color:#323232;background-color:var(--background-color-grey-darkest, #323232)}
2
+ .lrv-u-border-color-grey-lightest{border-color:#f7f7f7;border-color:var(--border-color-grey-lightest, #f7f7f7)}.lrv-u-border-color-grey-lightest\:hover:hover{border-color:#f7f7f7;border-color:var(--border-color-grey-lightest, #f7f7f7)}.lrv-u-border-color-brand-secondary-light{border-color:#000;border-color:var(--border-color-brand-secondary-light, black)}.lrv-u-border-color-brand-secondary-light\:hover:hover{border-color:#000;border-color:var(--border-color-brand-secondary-light, black)}.lrv-u-border-color-grey-light{border-color:#ccc;border-color:var(--border-color-grey-light, #cccccc)}.lrv-u-border-color-grey-light\:hover:hover{border-color:#ccc;border-color:var(--border-color-grey-light, #cccccc)}.lrv-u-border-color-grey-dark{border-color:#6a6a6a;border-color:var(--border-color-grey-dark, #6a6a6a)}.lrv-u-border-color-grey-dark\:hover:hover{border-color:#6a6a6a;border-color:var(--border-color-grey-dark, #6a6a6a)}.lrv-u-border-color-brand-secondary-dark{border-color:#000;border-color:var(--border-color-brand-secondary-dark, black)}.lrv-u-border-color-brand-secondary-dark\:hover:hover{border-color:#000;border-color:var(--border-color-brand-secondary-dark, black)}.lrv-u-border-color-brand-secondary{border-color:#000;border-color:var(--border-color-brand-secondary, black)}.lrv-u-border-color-brand-secondary\:hover:hover{border-color:#000;border-color:var(--border-color-brand-secondary, black)}.lrv-u-border-color-grey{border-color:#8c8c8c;border-color:var(--border-color-grey, #8c8c8c)}.lrv-u-border-color-grey\:hover:hover{border-color:#8c8c8c;border-color:var(--border-color-grey, #8c8c8c)}.lrv-u-border-color-brand-primary-light{border-color:#ec1c24;border-color:var(--border-color-brand-primary-light, #ec1c24)}.lrv-u-border-color-brand-primary-light\:hover:hover{border-color:#ec1c24;border-color:var(--border-color-brand-primary-light, #ec1c24)}.lrv-u-border-color-white{border-color:#fff;border-color:var(--border-color-white, white)}.lrv-u-border-color-white\:hover:hover{border-color:#fff;border-color:var(--border-color-white, white)}.lrv-u-border-color-brand-primary-dark{border-color:#ec1c24;border-color:var(--border-color-brand-primary-dark, #ec1c24)}.lrv-u-border-color-brand-primary-dark\:hover:hover{border-color:#ec1c24;border-color:var(--border-color-brand-primary-dark, #ec1c24)}.lrv-u-border-color-brand-primary{border-color:#ec1c24;border-color:var(--border-color-brand-primary, #ec1c24)}.lrv-u-border-color-brand-primary\:hover:hover{border-color:#ec1c24;border-color:var(--border-color-brand-primary, #ec1c24)}.lrv-u-border-color-currentColor{border-color:currentColor}@media(min-width: 62.5rem){.lrv-u-border-color-grey-lightest\@desktop{border-color:#f7f7f7;border-color:var(--border-color-grey-lightest, #f7f7f7)}}@media(min-width: 62.5rem){.lrv-u-border-color-brand-secondary-light\@desktop{border-color:#000;border-color:var(--border-color-brand-secondary-light, black)}}@media(min-width: 62.5rem){.lrv-u-border-color-grey-light\@desktop{border-color:#ccc;border-color:var(--border-color-grey-light, #cccccc)}}@media(min-width: 62.5rem){.lrv-u-border-color-grey-dark\@desktop{border-color:#6a6a6a;border-color:var(--border-color-grey-dark, #6a6a6a)}}@media(min-width: 62.5rem){.lrv-u-border-color-brand-secondary-dark\@desktop{border-color:#000;border-color:var(--border-color-brand-secondary-dark, black)}}@media(min-width: 62.5rem){.lrv-u-border-color-brand-secondary\@desktop{border-color:#000;border-color:var(--border-color-brand-secondary, black)}}@media(min-width: 62.5rem){.lrv-u-border-color-grey\@desktop{border-color:#8c8c8c;border-color:var(--border-color-grey, #8c8c8c)}}@media(min-width: 62.5rem){.lrv-u-border-color-brand-primary-light\@desktop{border-color:#ec1c24;border-color:var(--border-color-brand-primary-light, #ec1c24)}}@media(min-width: 62.5rem){.lrv-u-border-color-white\@desktop{border-color:#fff;border-color:var(--border-color-white, white)}}@media(min-width: 62.5rem){.lrv-u-border-color-brand-primary-dark\@desktop{border-color:#ec1c24;border-color:var(--border-color-brand-primary-dark, #ec1c24)}}@media(min-width: 62.5rem){.lrv-u-border-color-brand-primary\@desktop{border-color:#ec1c24;border-color:var(--border-color-brand-primary, #ec1c24)}}
3
+ .lrv-u-border-radius-50p{border-radius:50%}.lrv-u-border-radius-100{border-radius:100px}.lrv-u-border-radius-5{border-radius:5px}.lrv-u-border-radius-br-5{border-bottom-right-radius:5px}.lrv-u-border-radius-bl-5{border-bottom-left-radius:5px}.lrv-u-border-radius-tr-5{border-top-right-radius:5px}.lrv-u-border-radius-tl-5{border-top-left-radius:5px}
4
+ @media(min-width: 48rem){.lrv-u-box-shadow-medium\@tablet{box-shadow:0 -0.313rem .313rem rgba(0,0,0,.15)}}
5
+ .lrv-u-color-brand-secondary\:hover:hover{color:#000;color:var(--color-brand-secondary, black)}.lrv-u-color-black\:hover:hover{color:#000;color:var(--color-black, black)}.lrv-u-color-brand-primary-light\:hover:hover{color:#ec1c24;color:var(--color-brand-primary-light, #ec1c24)}.lrv-u-color-brand-primary-dark\:hover:hover{color:#ec1c24;color:var(--color-brand-primary-dark, #ec1c24)}.lrv-u-color-white\:hover:hover{color:#fff;color:var(--color-white, white)}.lrv-u-color-brand-primary\:hover:hover{color:#ec1c24;color:var(--color-brand-primary, #ec1c24)}.lrv-u-color-grey-light\:hover:hover{color:#e6e6e6;color:var(--color-grey-light, #e6e6e6)}.lrv-u-color-brand-secondary-dark\:hover:hover{color:#000;color:var(--color-brand-secondary-dark, black)}.lrv-u-color-brand-secondary-light\:hover:hover{color:#000;color:var(--color-brand-secondary-light, black)}.lrv-u-color-grey-dark\:hover:hover{color:#6a6a6a;color:var(--color-grey-dark, #6a6a6a)}.lrv-u-color-grey\:hover:hover{color:#8c8c8c;color:var(--color-grey, #8c8c8c)}.lrv-u-color-currentColor{color:currentColor}.lrv-u-color-transparent{color:transparent}
6
+ .lrv-u-cursor-pointer{cursor:pointer}
7
+ .lrv-u-filter-grayscale-100{filter:grayscale(100%)}
8
+ .lrv-u-list-style-type-disclosure-closed{list-style-type:disclosure-closed}