@primer/brand-css 0.0.0-20250212132611

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 (75) hide show
  1. package/components/Accordion/Accordion.css +305 -0
  2. package/components/ActionMenu/ActionMenu.css +187 -0
  3. package/components/AnchorNav/AnchorNav.css +427 -0
  4. package/components/Avatar/Avatar.css +115 -0
  5. package/components/Bento/Bento.css +2157 -0
  6. package/components/Box/Box.css +2795 -0
  7. package/components/Box/Box.features.css +48 -0
  8. package/components/Breadcrumbs/Breadcrumbs.css +81 -0
  9. package/components/BreakoutBanner/BreakoutBanner.css +109 -0
  10. package/components/Button/Button.css +207 -0
  11. package/components/ButtonGroup/ButtonGroup.css +10 -0
  12. package/components/CTABanner/CTABanner.css +104 -0
  13. package/components/CTAForm/CTAForm.css +48 -0
  14. package/components/Card/Card.css +183 -0
  15. package/components/ComparisonTable/ComparisonTable.css +290 -0
  16. package/components/ExpandableArrow/ExpandableArrow.css +26 -0
  17. package/components/EyebrowBanner/EyebrowBanner.css +320 -0
  18. package/components/FAQ/FAQ.css +51 -0
  19. package/components/FAQ/FAQGroup.css +51 -0
  20. package/components/Footnotes/Footnotes.css +35 -0
  21. package/components/FrostedGlassVFX/FrostedGlassVFX.css +50 -0
  22. package/components/Grid/Grid.css +741 -0
  23. package/components/Heading/Heading.css +284 -0
  24. package/components/Hero/Hero.css +87 -0
  25. package/components/IDE/IDE.css +392 -0
  26. package/components/Icon/Icon.css +121 -0
  27. package/components/Image/Image.css +54 -0
  28. package/components/InlineLink/InlineLink.css +30 -0
  29. package/components/Label/Label.css +167 -0
  30. package/components/Link/Link.css +84 -0
  31. package/components/LogoSuite/LogoSuite.css +165 -0
  32. package/components/MinimalFooter/MinimalFooter.css +116 -0
  33. package/components/MonaSans/MonaSans.css +4 -0
  34. package/components/Pagination/Pagination.css +117 -0
  35. package/components/Pillar/Pillar.css +106 -0
  36. package/components/PricingOptions/PricingOptions.css +357 -0
  37. package/components/Prose/Prose.css +332 -0
  38. package/components/Section/Section.css +156 -0
  39. package/components/Section/Section.features.css +33 -0
  40. package/components/SectionIntro/SectionIntro.css +48 -0
  41. package/components/Stack/Stack.css +793 -0
  42. package/components/Statistic/Statistic.css +91 -0
  43. package/components/SubNav/SubNav.css +678 -0
  44. package/components/SubdomainNavBar/SubdomainNavBar.css +728 -0
  45. package/components/Testimonial/Testimonial.css +228 -0
  46. package/components/Text/Text.css +195 -0
  47. package/components/Timeline/Timeline.css +79 -0
  48. package/components/Tooltip/Tooltip.css +170 -0
  49. package/components/VideoPlayer/VideoPlayer.css +348 -0
  50. package/components/VideoPlayer/components/Captions/Captions.css +17 -0
  51. package/components/VideoPlayer/components/VolumeControl/VolumeControl.css +3 -0
  52. package/components/animation/Animation.css +192 -0
  53. package/components/animation/TextRevealAnimation/TextRevealAnimation.css +38 -0
  54. package/components/forms/Checkbox/Checkbox.css +88 -0
  55. package/components/forms/ControlGroup/ControlGroup.css +59 -0
  56. package/components/forms/FormControl/FormControl.css +113 -0
  57. package/components/forms/Radio/Radio.css +111 -0
  58. package/components/forms/Select/Select.css +143 -0
  59. package/components/forms/TextInput/TextInput.css +266 -0
  60. package/components/forms/Textarea/Textarea.css +129 -0
  61. package/components/list/ListItem/ListItem.css +29 -0
  62. package/components/list/OrderedList/OrderedList.css +3 -0
  63. package/components/list/list-shared.css +10 -0
  64. package/components/recipes/FeaturePreviewLPs/FeaturePreviewLevelOne/FeaturePreviewLevelOne.css +204 -0
  65. package/components/recipes/FeaturePreviewLPs/FeaturePreviewLevelTwo/FeaturePreviewLevelTwo.css +57 -0
  66. package/components/recipes/FeaturePreviewLPs/FeaturePreviewLevelZero/FeaturePreviewLevelZero.css +3 -0
  67. package/components/recipes/SolutionTemplates/CategoryPage/CategoryPage.css +83 -0
  68. package/components/recipes/SolutionTemplates/SolutionPage/SolutionPage.css +119 -0
  69. package/components/recipes/SolutionTemplates/SolutionsOverview/SolutionsOverview.css +35 -0
  70. package/components/recipes/SolutionTemplates/parallax.css +165 -0
  71. package/components/recipes/seo/Article/Article.css +289 -0
  72. package/components/recipes/seo/Category/CategoryPage.css +43 -0
  73. package/components/river/RiverStoryScroll/RiverStoryScroll.css +470 -0
  74. package/components/river/river-shared.css +205 -0
  75. package/package.json +42 -0
@@ -0,0 +1,129 @@
1
+ /*
2
+ * Default Textarea styles
3
+ */
4
+ .Textarea {
5
+ display: flex;
6
+ color: var(--brand-control-color-fg-default);
7
+ background-color: var(--brand-color-canvas-default);
8
+ border: none;
9
+ border-radius: var(--brand-borderRadius-medium);
10
+ line-height: var(--brand-text-lineHeight-100);
11
+ transition: var(--brand-control-animation-duration) var(--brand-control-animation-easing);
12
+ transition-property: color, background-color, box-shadow;
13
+ }
14
+
15
+ .Textarea::-moz-placeholder {
16
+ color: var(--brand-color-text-subtle);
17
+ opacity: 1;
18
+ }
19
+
20
+ .Textarea::placeholder {
21
+ color: var(--brand-color-text-subtle);
22
+ opacity: 1;
23
+ }
24
+
25
+ .Textarea[disabled] {
26
+ -webkit-text-fill-color: var(--brand-control-color-fg-disabled);
27
+ color: var(--brand-control-color-fg-disabled);
28
+ cursor: not-allowed;
29
+ background-color: var(--brand-control-color-canvas-disabled);
30
+ opacity: 1;
31
+ resize: none;
32
+ }
33
+
34
+ .Textarea:focus {
35
+ outline: none;
36
+ }
37
+
38
+ .Textarea-resize--vertical {
39
+ resize: vertical;
40
+ }
41
+
42
+ .Textarea-resize--horizontal {
43
+ resize: horizontal;
44
+ }
45
+
46
+ .Textarea-resize--none {
47
+ resize: none;
48
+ }
49
+
50
+ .Textarea-resize--both {
51
+ resize: both;
52
+ }
53
+
54
+ /*
55
+ * Sizes
56
+ */
57
+ .Textarea--medium {
58
+ font-weight: var(--brand-text-weight-100);
59
+ font-size: var(--brand-text-size-100);
60
+ padding: var(--brand-control-medium-paddingBlock-normal) var(--brand-control-medium-paddingInline-condensed);
61
+ }
62
+
63
+ .Textarea--large {
64
+ font-weight: var(--brand-text-weight-200);
65
+ font-size: var(--brand-text-size-200);
66
+ padding: var(--brand-control-large-paddingBlock-normal) var(--brand-control-large-paddingInline-condensed);
67
+ }
68
+
69
+ /*
70
+ * Visual states
71
+ */
72
+ .Textarea--fullWidth {
73
+ width: 100%;
74
+ }
75
+
76
+ /*
77
+ * Textarea wrapper
78
+ */
79
+
80
+ .Textarea-wrapper--disabled {
81
+ border-color: var(--brand-control-color-border-disabled);
82
+ }
83
+
84
+ .Textarea-wrapper {
85
+ font-family: var(--brand-body-fontFamily);
86
+ display: inline-flex;
87
+ position: relative;
88
+ border: solid var(--brand-borderWidth-thin, 1px) var(--brand-control-color-border-default);
89
+ border-radius: var(--brand-borderRadius-medium);
90
+ transition: var(--brand-control-animation-duration) var(--brand-control-animation-easing);
91
+ transition-property: border;
92
+ }
93
+
94
+ .Textarea-wrapper--invisible {
95
+ border-color: transparent;
96
+ }
97
+
98
+ .Textarea-wrapper--fullWidth {
99
+ display: flex;
100
+ }
101
+
102
+ .Textarea-wrapper:not(.Textarea-wrapper--fullWidth) {
103
+ width: -moz-min-content;
104
+ width: min-content;
105
+ }
106
+
107
+ .Textarea-wrapper--monospace {
108
+ font-family: var(--brand-fontStack-monospace);
109
+ }
110
+
111
+ .Textarea-wrapper:focus-within {
112
+ border-color: var(--brand-color-focus);
113
+ box-shadow: 0 0 0 1px var(--brand-color-focus);
114
+ outline: none;
115
+ }
116
+
117
+ /*
118
+ * Validation
119
+ */
120
+
121
+ .Textarea-wrapper--success,
122
+ .Textarea-wrapper--success.Textarea-wrapper--disabled {
123
+ border-color: var(--brand-color-success-fg);
124
+ }
125
+
126
+ .Textarea-wrapper--error,
127
+ .Textarea-wrapper--error.Textarea-wrapper--disabled {
128
+ border-color: var(--brand-color-error-fg);
129
+ }
@@ -0,0 +1,29 @@
1
+ .ListItem {
2
+ display: flex;
3
+ align-items: flex-start;
4
+ gap: var(--base-size-12);
5
+ }
6
+
7
+ .ListItem--default {
8
+ color: var(--brand-color-text-default);
9
+ }
10
+
11
+ .ListItem--muted {
12
+ color: var(--brand-color-text-muted);
13
+ }
14
+
15
+ .ListItem__leading-visual {
16
+ margin: var(--base-size-4) 0;
17
+ }
18
+
19
+ .ListItem__leading-visual--muted {
20
+ fill: var(--brand-color-text-muted);
21
+ }
22
+
23
+ .OrderedList__item::before {
24
+ content: counter(li) '.';
25
+ counter-increment: li;
26
+ min-width: var(--base-size-16);
27
+ text-align: center;
28
+ font-weight: var(--brand-text-size-200);
29
+ }
@@ -0,0 +1,3 @@
1
+ .OrderedList {
2
+ counter-reset: li;
3
+ }
@@ -0,0 +1,10 @@
1
+ .List {
2
+ display: flex;
3
+ flex-direction: column;
4
+ margin: 0;
5
+ list-style: none;
6
+ gap: var(--base-size-8);
7
+ padding-inline-start: 0px;
8
+ font-family: var(--brand-body-fontFamily);
9
+ color: var(--brand-color-text-default);
10
+ }
@@ -0,0 +1,204 @@
1
+ /**
2
+ * Custom overrides
3
+ * Should be fixed in the respective components
4
+ */
5
+
6
+ .FeaturePreview {
7
+ --brand-Hero-regular-padding: var(--brand-Hero-narrow-padding);
8
+ }
9
+
10
+ [data-color-mode='dark'] .FeaturePreview__trailingSection {
11
+ --brand-color-canvas-subtle: var(--base-color-scale-gray-7);
12
+ }
13
+
14
+ .FeaturePreview__footer {
15
+ z-index: 2;
16
+ }
17
+
18
+ .FeaturePreview__mainContent {
19
+ position: relative;
20
+ z-index: 1;
21
+ }
22
+
23
+ .FeaturePreview__mainContentGrid {
24
+ padding: 0;
25
+ position: relative;
26
+ }
27
+
28
+ .FeaturePreview__borderTop {
29
+ border-top: var(--brand-borderWidth-thin) solid var(--brand-control-color-border-default);
30
+ }
31
+
32
+ .FeaturePreview__hero {
33
+ z-index: 1;
34
+ }
35
+ @media screen and (max-width: 63.25rem) {
36
+ .FeaturePreview__heroContent {
37
+ background-color: var(--base-color-scale-black-0);
38
+ }
39
+ }
40
+
41
+ .FeaturePreview__splitLayout {
42
+ --brand-featurepreview-dark-bgColor: #000;
43
+ }
44
+
45
+ @media screen and (max-width: 63.25rem) {
46
+ .FeaturePreview__splitLayout {
47
+ display: none;
48
+ }
49
+ .FeaturePreview__splitLayoutBg {
50
+ background-image: none !important;
51
+ }
52
+
53
+ .FeaturePreview__heroBg {
54
+ background-size: cover;
55
+ background-image: none !important;
56
+ }
57
+ }
58
+
59
+ @media screen and (min-width: 63.25rem) {
60
+ .FeaturePreview__splitLayout {
61
+ position: absolute;
62
+ height: 100%;
63
+ width: 100%;
64
+ padding: 0;
65
+ background-repeat: no-repeat;
66
+ background-position: left bottom;
67
+ background-size: cover;
68
+ }
69
+
70
+ .FeaturePreview__splitLayoutBg {
71
+ position: fixed;
72
+ top: 0;
73
+ left: 0;
74
+ height: 100%;
75
+ width: 100%;
76
+ background-repeat: no-repeat;
77
+ background-position: left bottom;
78
+ background-size: cover;
79
+ z-index: 0;
80
+ }
81
+
82
+ .FeaturePreview__splitLayoutEnterprise {
83
+ background-color: var(--brand-featurepreview-dark-bgColor);
84
+ }
85
+
86
+ .FeaturePreview__formContent {
87
+ background-color: var(--brand-color-canvas-default);
88
+ position: relative;
89
+ z-index: 1;
90
+ }
91
+
92
+ [data-color-mode='dark'] .FeaturePreview__formContent {
93
+ background-color: var(--brand-color-canvas-subtle);
94
+ }
95
+
96
+ .FeaturePreview__heroContentInnerSticky {
97
+ height: 100vh;
98
+ }
99
+
100
+ .FeaturePreview__heroContentInnerStickyContent {
101
+ position: fixed;
102
+ }
103
+ }
104
+
105
+ .FeaturePreview__footerLink {
106
+ color: var(--brand-color-text-muted);
107
+ }
108
+
109
+ /**
110
+ * Enterprise story
111
+ * Positional overrides that are required as the video doesn't fade.
112
+ * FIXME: by replacing the video with one that fades into background on its edges
113
+ */
114
+
115
+ .FeaturePreview__enterpriseVideo {
116
+ position: fixed;
117
+ bottom: -250px;
118
+ left: 0;
119
+ width: 54%;
120
+ max-width: 1200px;
121
+ z-index: 0;
122
+ height: auto;
123
+ }
124
+
125
+ .FeaturePreview__enterpriseVideoOverlayTop {
126
+ position: fixed;
127
+ top: 0;
128
+ left: 0;
129
+ width: 54%;
130
+ height: 100%;
131
+ z-index: 1;
132
+ background-image: linear-gradient(black 40%, transparent 50%);
133
+ }
134
+
135
+ .FeaturePreview__enterpriseVideoOverlayLeft {
136
+ position: fixed;
137
+ top: 0;
138
+ left: 0;
139
+ width: 54%;
140
+ height: 100%;
141
+ z-index: 1;
142
+ background-image: linear-gradient(to right, black 5%, transparent 20%);
143
+ }
144
+
145
+ .FeaturePreview__enterpriseVideoOverlayRight {
146
+ position: fixed;
147
+ top: 0;
148
+ right: 45%;
149
+ width: 50%;
150
+ height: 100%;
151
+ z-index: 1;
152
+ background-image: linear-gradient(to left, black 0%, transparent 20%);
153
+ }
154
+
155
+ @media screen and (max-width: 63.25rem) {
156
+ .FeaturePreview__enterpriseVideo,
157
+ .FeaturePreview__enterpriseVideoOverlayRight,
158
+ .FeaturePreview__enterpriseVideoOverlayTop,
159
+ .FeaturePreview__enterpriseVideoOverlayLeft {
160
+ display: none;
161
+ }
162
+ }
163
+
164
+ @media screen and (max-height: 37.5rem) {
165
+ .FeaturePreview__enterpriseVideo {
166
+ display: none;
167
+ }
168
+ }
169
+
170
+ @media screen and (min-width: 80rem) {
171
+ .FeaturePreview__enterpriseVideo {
172
+ left: 5%;
173
+ bottom: -370px;
174
+ }
175
+ }
176
+
177
+ @media screen and (min-height: 1040px) {
178
+ .FeaturePreview__enterpriseVideo {
179
+ bottom: -250px;
180
+ }
181
+ }
182
+
183
+ @media screen and (min-width: 125rem) and (max-height: 1040px) {
184
+ .FeaturePreview__enterpriseVideo {
185
+ bottom: -460px;
186
+ }
187
+ }
188
+
189
+ @media screen and (min-width: 125rem) and (min-height: 1040px) {
190
+ .FeaturePreview__enterpriseVideo {
191
+ left: 10%;
192
+ top: 150px;
193
+ }
194
+
195
+ .FeaturePreview__enterpriseVideoOverlayLeft {
196
+ background-image: linear-gradient(to right, black 25%, transparent 55%);
197
+ }
198
+ }
199
+
200
+ @media screen and (min-width: 150rem) and (min-height: 1040px) {
201
+ .FeaturePreview__enterpriseVideo {
202
+ left: 15%;
203
+ }
204
+ }
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Custom overrides
3
+ * Should be fixed in the respective components
4
+ */
5
+
6
+ .Hero {
7
+ /* In this template, the vertical spacing in Hero
8
+ * at wider viewports uses the same value
9
+ * as that used in narrower viewports.
10
+ */
11
+ padding: var(--brand-Hero-narrow-padding);
12
+ }
13
+
14
+ @media screen and (min-width: 48rem) {
15
+ .FeaturePreview {
16
+ --brand-River-spacing-outer: var(--base-size-48);
17
+ }
18
+ }
19
+
20
+ .FeaturePreview__heroBg {
21
+ background-repeat: no-repeat;
22
+ background-size: cover;
23
+ background-position: right center;
24
+ }
25
+
26
+ .FeaturePreview__heroImageContainer {
27
+ background-repeat: no-repeat;
28
+ background-size: cover;
29
+ border-radius: var(--brand-borderRadius-large);
30
+ overflow: hidden;
31
+ }
32
+
33
+ .FeaturePreview__ctaBanner {
34
+ background-repeat: no-repeat;
35
+ background-size: cover;
36
+ border-radius: var(--brand-borderRadius-large);
37
+ overflow: hidden;
38
+ }
39
+
40
+ .FeaturePreview__heroImageContainer img {
41
+ display: block;
42
+ }
43
+
44
+ .FeaturePreview__trailingSection {
45
+ --brand-color-canvas-subtle: var(--base-color-scale-gray-1);
46
+ }
47
+
48
+ [data-color-mode='dark'] .FeaturePreview__trailingSection {
49
+ --brand-color-canvas-subtle: var(--base-color-scale-gray-7);
50
+ }
51
+
52
+ @media screen and (min-width: 48rem) {
53
+ /* This will eventually be fixed by using the Grid inside the River */
54
+ .RiverContent {
55
+ padding-inline-start: calc(var(--brand-River-spacing-inner) * 2);
56
+ }
57
+ }
@@ -0,0 +1,3 @@
1
+ .FeaturePreview__borderTop {
2
+ border-top: var(--brand-borderWidth-thin) solid var(--brand-color-border-default);
3
+ }
@@ -0,0 +1,83 @@
1
+ .hideHorizontalOverflow {
2
+ position: relative;
3
+ overflow-x: hidden;
4
+ }
5
+
6
+ .subtleCards {
7
+ --brand-Card-background-default: var(--brand-color-canvas-subtle);
8
+ }
9
+
10
+ .customHero {
11
+ overflow-x: hidden;
12
+ --brand-Hero-regular-padding: var(--base-size-112) 0 var(--base-size-96);
13
+ --initialOpacity: 0.2;
14
+ }
15
+
16
+ @keyframes scaleAnimation {
17
+ 0% {
18
+ opacity: var(--initialOpacity);
19
+ transform: scale(0.99);
20
+ }
21
+ 100% {
22
+ opacity: 1;
23
+ transform: scale(1);
24
+ }
25
+ }
26
+
27
+ .customHero::before,
28
+ .customHero::after {
29
+ --diameter: 1200px;
30
+ --radius: 1227px;
31
+
32
+ position: absolute;
33
+ top: -1125px;
34
+ bottom: 0;
35
+ left: 45%;
36
+ z-index: -1;
37
+ display: block;
38
+ width: var(--diameter);
39
+ height: var(--diameter);
40
+ transform: scale(0.99);
41
+ transform-origin: center 0;
42
+ content: '';
43
+ z-index: 0;
44
+ filter: blur(200px);
45
+ animation: scaleAnimation 2s var(--brand-animation-easing-glide) forwards;
46
+ animation-delay: 0.3s;
47
+ opacity: var(--initialOpacity);
48
+ border-radius: var(--radius);
49
+ }
50
+
51
+ .customHero::before {
52
+ left: 20%;
53
+ }
54
+
55
+ [data-color-mode='light'] .customHero::before {
56
+ background: var(--base-color-scale-blue-2);
57
+ }
58
+
59
+ [data-color-mode='light'] .customHero::after {
60
+ background: var(--base-color-scale-purple-2);
61
+ }
62
+
63
+ [data-color-mode='dark'] .customHero::before {
64
+ background: var(--base-color-scale-blue-5);
65
+ }
66
+
67
+ [data-color-mode='dark'] .customHero::after {
68
+ background: var(--base-color-scale-purple-5);
69
+ }
70
+
71
+ .relative {
72
+ position: relative;
73
+ z-index: 1;
74
+ }
75
+
76
+ .ctaBanner {
77
+ --brand-CTABanner-bgColor: var(--brand-color-canvas-subtle);
78
+ }
79
+
80
+ /* In dotcom, use h-full */
81
+ .fullHeight {
82
+ height: 100%;
83
+ }
@@ -0,0 +1,119 @@
1
+ .hideHorizontalOverflow {
2
+ overflow-x: clip;
3
+ }
4
+
5
+ .sectionIntro {
6
+ display: grid;
7
+ grid-template-rows: auto;
8
+ height: 100%;
9
+ grid-auto-rows: max-content;
10
+ justify-items: start;
11
+ }
12
+
13
+ .verticalOffset > div:nth-child(2),
14
+ .verticalOffset > div:nth-child(3) {
15
+ margin-block-start: calc(var(--base-size-48) * -1);
16
+ }
17
+
18
+ .topOfStack {
19
+ position: relative;
20
+ z-index: 2;
21
+ }
22
+
23
+ .relative {
24
+ position: relative;
25
+ z-index: 1;
26
+ }
27
+
28
+ .gitLinesBg {
29
+ background-size: cover;
30
+ background-position: center center;
31
+ }
32
+
33
+ .ctaBanner {
34
+ --brand-CTABanner-bgColor: var(--brand-color-canvas-subtle);
35
+ }
36
+
37
+ .noBottomRadius {
38
+ border-bottom-left-radius: 0;
39
+ border-bottom-right-radius: 0;
40
+ }
41
+
42
+ .jtbd2Section {
43
+ --brand-RiverStoryScroll-content-inactive-bgColor: var(--brand-color-canvas-subtle);
44
+ }
45
+
46
+ .cards {
47
+ --brand-Grid-spacing-row: var(--base-size-32);
48
+ }
49
+
50
+ .breadcrumbsOffset {
51
+ margin-top: calc(-1 * var(--base-size-96));
52
+ }
53
+
54
+ /*
55
+ * Hero video glow
56
+ * Opt-in feature. Not officialy-support Primer Brand pattern.
57
+ */
58
+
59
+ @keyframes scaleAnimation {
60
+ 0% {
61
+ opacity: 0.1;
62
+ transform: translateX(200px) scale(0.5);
63
+ }
64
+ 100% {
65
+ opacity: 1;
66
+ transform: translateX(200px) scale(1);
67
+ }
68
+ }
69
+
70
+ .heroVideoGlow {
71
+ position: relative;
72
+ }
73
+
74
+ .heroVideoGlow::before,
75
+ .heroVideoGlow::after {
76
+ --diameter: 520px;
77
+ --radius: 720px;
78
+ --topOffset: 600px;
79
+ --leftOffset: 45%;
80
+
81
+ position: absolute;
82
+ top: var(--topOffset);
83
+ bottom: 0;
84
+ left: var(--leftOffset);
85
+ z-index: -1;
86
+ display: block;
87
+ width: var(--diameter);
88
+ height: var(--diameter);
89
+ transform: translateX(200px) scale(0.99);
90
+ transform-origin: center 0;
91
+ content: '';
92
+ z-index: 0;
93
+ filter: blur(200px);
94
+ animation: scaleAnimation 3s var(--brand-animation-easing-default) forwards;
95
+ animation-delay: 0.5s;
96
+ opacity: 0;
97
+ border-radius: var(--radius);
98
+ }
99
+
100
+ .heroVideoGlow::before {
101
+ left: calc(var(--leftOffset) - 200px);
102
+ top: calc(--topOffset - 100px);
103
+ }
104
+
105
+ [data-color-mode='light'] .heroVideoGlow::before {
106
+ background: var(--base-color-scale-blue-2);
107
+ }
108
+
109
+ [data-color-mode='light'] .heroVideoGlow::after {
110
+ background: var(--base-color-scale-purple-2);
111
+ }
112
+
113
+ [data-color-mode='dark'] .heroVideoGlow::before {
114
+ background: var(--base-color-scale-blue-7);
115
+ }
116
+
117
+ [data-color-mode='dark'] .heroVideoGlow::after {
118
+ background: var(--base-color-scale-purple-7);
119
+ }
@@ -0,0 +1,35 @@
1
+ .verticalOffset > div {
2
+ margin-block-start: calc(var(--base-size-48) * -1);
3
+ }
4
+
5
+ .noBottomRadius {
6
+ border-bottom-left-radius: 0;
7
+ border-bottom-right-radius: 0;
8
+ }
9
+
10
+ .topOfStack {
11
+ position: relative;
12
+ z-index: 2;
13
+ }
14
+
15
+ .portalCustomerCards {
16
+ --brand-Card-background-default: transparent;
17
+ }
18
+
19
+ .gitLinesBg {
20
+ background-size: cover;
21
+ background-position: center center;
22
+ }
23
+
24
+ .ctaBanner {
25
+ --brand-CTABanner-bgColor: var(--brand-color-canvas-subtle);
26
+ }
27
+
28
+ /* In dotcom, use h-full */
29
+ .fullHeight {
30
+ height: 100%;
31
+ }
32
+
33
+ .customerCards {
34
+ --brand-Grid-spacing-row: var(--base-size-32);
35
+ }