@kompasid/lit-web-components 0.5.0 → 0.5.2

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.
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "Kompas.id reusable web components",
4
4
  "license": "MIT",
5
5
  "author": "kompas.id",
6
- "version": "v0.5.0",
6
+ "version": "v0.5.2",
7
7
  "type": "module",
8
8
  "main": "dist/src/index.js",
9
9
  "module": "dist/src/index.js",
@@ -32,6 +32,7 @@
32
32
  "@custom-elements-manifest/analyzer": "^0.4.17",
33
33
  "@open-wc/eslint-config": "^9.2.1",
34
34
  "@open-wc/testing": "^3.1.6",
35
+ "@types/js-cookie": "^3.0.6",
35
36
  "@typescript-eslint/eslint-plugin": "^5.48.0",
36
37
  "@typescript-eslint/parser": "^5.48.0",
37
38
  "@web/dev-server": "^0.1.34",
@@ -13,6 +13,10 @@ export class KompasFreewall extends LitElement {
13
13
  :host {
14
14
  font-family: 'PT Sans', sans-serif;
15
15
  }
16
+
17
+ .top-shadow {
18
+ box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.16);
19
+ }
16
20
  `,
17
21
  TWStyles,
18
22
  ]
@@ -96,9 +100,8 @@ export class KompasFreewall extends LitElement {
96
100
  * Data Layer
97
101
  */
98
102
 
99
- private sendDataLayer(event: string): void {
103
+ private prepareImpressionsData(): Record<string, any> {
100
104
  const baseData = {
101
- event,
102
105
  paywall_location: this.paywall_location,
103
106
  paywall_subscription_package:
104
107
  this.paywall_subscription_package || this.packageData.title,
@@ -115,24 +118,36 @@ export class KompasFreewall extends LitElement {
115
118
  metered_wall_balance: this.tracker_metered_wall_balance,
116
119
  }
117
120
 
118
- const data = this.isArticle
119
- ? {
120
- ...baseData,
121
- content_id: this.tracker_content_id,
122
- content_title: this.tracker_content_title,
123
- content_categories: this.tracker_content_categories,
124
- content_type: this.tracker_content_type,
125
- }
126
- : {
127
- ...baseData,
128
- page_title: this.tracker_page_title,
129
- }
121
+ if (this.isArticle) {
122
+ return {
123
+ ...baseData,
124
+ content_id: this.tracker_content_id,
125
+ content_title: this.tracker_content_title,
126
+ content_categories: this.tracker_content_categories,
127
+ content_type: this.tracker_content_type,
128
+ }
129
+ }
130
+ return {
131
+ ...baseData,
132
+ page_title: this.tracker_page_title,
133
+ }
134
+ }
135
+
136
+ private sendDataLayer(
137
+ event: string,
138
+ includeImpressions: boolean = false
139
+ ): void {
140
+ const impressionsData = this.prepareImpressionsData()
141
+
142
+ const data = includeImpressions
143
+ ? { event, impressions: [impressionsData] }
144
+ : { event, ...impressionsData }
130
145
 
131
146
  window.dataLayer.push(data)
132
147
  }
133
148
 
134
149
  private sendDataLayerPaywallViewed(): void {
135
- if (this.isExpand) this.sendDataLayer('paywall_viewed')
150
+ if (this.isExpand) this.sendDataLayer('paywall_viewed', true)
136
151
  }
137
152
 
138
153
  private sendDataLayerSubscribeButtonClicked(): void {
@@ -163,6 +178,7 @@ export class KompasFreewall extends LitElement {
163
178
  override async connectedCallback() {
164
179
  super.connectedCallback()
165
180
  await this.updateComplete
181
+
166
182
  this.isExpand = this.expand
167
183
 
168
184
  const originHost: string = encodeURIComponent(window.location.href)
@@ -177,9 +193,10 @@ export class KompasFreewall extends LitElement {
177
193
 
178
194
  render() {
179
195
  return html`
180
- <div class="sticky bottom-0 w-full h-full z-20">
196
+ <div class="sticky bottom-0 w-full h-full z-20 top-shadow">
181
197
  <div
182
- class="flex flex-col w-full bg-blue-100 py-4 justify-center md:px-12 lg:px-24"
198
+ class="flex flex-col w-full bg-blue-100 justify-center ${this
199
+ .isExpand && 'pb-6 md:pb-7'} md:px-4 lg:px-24"
183
200
  >
184
201
  <kompasid-freewall-head
185
202
  .expand=${this.isExpand}
@@ -2,6 +2,9 @@
2
2
 
3
3
  ## Properties
4
4
 
5
+ ### Base Properties
6
+ **required for artilce and landing_page type*
7
+
5
8
  | Property | Attribute | Description | Type | Default |
6
9
  | ------------------------------ | ------------------------------ | ---------------------------------------------------------------------------------------- | -------- | ------- |
7
10
  | `isLogin` | `isLogin` | property isLogin untuk menghandle apakah user sudah login atau belum | `boolean` | `false` |
@@ -10,22 +13,51 @@
10
13
  | `head_copy_expand` | `head_copy_expand` | property head_copy_expand to update copy header when expand | `string` | `""` |
11
14
  | `head_copy_collapse` | `head_copy_collapse` | property head_copy_expand to update copy header when collapse | `string` | `""` |
12
15
  | `paywall_location` | `paywall_location` | property paywall_location is the location where user encounter the paywall | `string` | `''` |
13
- | `paywall_subscription_id` | `paywall_subscription_id` | property paywall_subscription_id is the ID of the subscription package viewed by user | `number` | `0` |
14
- | `paywall_subscription_package` | `paywall_subscription_package` | property paywall_subscription_package is the name of the subscription package viewed by user | `string` | `''` |
15
- | `paywall_subscription_price` | `paywall_subscription_price` | property paywall_subscription_price is the price of the subscription package viewed by user | `number` | `0` |
16
- | `paywall_position` | `paywall_position` | property paywall_position is the position of the subscription package viewed by user | `number` | `1` |
17
- | `tracker_page_type` | `tracker_page_type` | property tracker_page_type is the type of the page | `string` | `''` |
18
- | `tracker_page_title` | `tracker_page_title` | property tracker_page_title is the title of the page | `string` | `''` |
19
- | `tracker_content_id` | `tracker_content_id` | property tracker_content_id is the ID of article (slug) | `string` | `''` |
20
- | `tracker_content_title` | `tracker_content_title` | property content_title is the title of article | `string` | `''` |
21
- | `tracker_content_categories` | `tracker_content_categories` | property tracker_content_categories is the category of the content | `string` | `''` |
22
- | `tracker_content_type` | `tracker_content_type` | property tracker_content_type is to decide whether it's free article or paid article | `string` | `''` |
16
+ | `tracker_page_type` | `tracker_page_type` | property tracker_page_type is the type of the page | `string` | `''`
23
17
  | `tracker_user_type` | `tracker_user_type` | property tracker_user_type is the type of user based on their subscription | `string` | `''` |
24
18
  | `tracker_subscription_status` | `tracker_subscription_status` | property tracker_subscription_status is the status of their subscription | `string` | `''` |
25
19
  | `tracker_page_domain` | `tracker_page_domain` | property tracker_page_domain is the page domain | `string` | `''` |
26
20
  | `tracker_metered_wall_balance` | `tracker_metered_wall_balance` | property tracker_metered_wall_balance is the balance of their metered wall | `number` | `0` |
27
21
  | `tracker_metered_wall_type` | `tracker_metered_wall_type` | property tracker_metered_wall_type is the type of metered wall | `string` | `''` |
28
22
 
29
- ----------------------------------------------
23
+ ### Article Properties
24
+ **required for article type*
25
+ | Property | Attribute | Description | Type | Default |
26
+ | ------------------------------ | ------------------------------ | ---------------------------------------------------------------------------------------- | -------- | ------- |
27
+ | `tracker_content_id` | `tracker_content_id` | property tracker_content_id is the ID of article (slug) | `string` | `''` |
28
+ | `tracker_content_title` | `tracker_content_title` | property content_title is the title of article | `string` | `''` |
29
+ | `tracker_content_categories` | `tracker_content_categories` | property tracker_content_categories is the category of the content | `string` | `''` |
30
+ | `tracker_content_type` | `tracker_content_type` | property tracker_content_type is to decide whether it's free article or paid article | `string` | `''` |
31
+
32
+
33
+ ### Landing Page Properties
34
+ **required for landing_page type*
35
+ | Property | Attribute | Description | Type | Default |
36
+ | ------------------------------ | ------------------------------ | ---------------------------------------------------------------------------------------- | -------- | ------- |
37
+ | `tracker_page_title` | `tracker_page_title` | property tracker_page_title is the title of the page | `string` | `''` |
38
+
39
+ ### Optional Properties
40
+ **not required*
41
+ | Property | Attribute | Description | Type | Default |
42
+ | ------------------------------ | ------------------------------ | ---------------------------------------------------------------------------------------- | -------- | ------- |
43
+ | `paywall_subscription_id` | `paywall_subscription_id` | property paywall_subscription_id is the ID of the subscription package viewed by user | `number` | `0` |
44
+ | `paywall_subscription_package` | `paywall_subscription_package` | property paywall_subscription_package is the name of the subscription package viewed by user | `string` | `''` |
45
+ | `paywall_subscription_price` | `paywall_subscription_price` | property paywall_subscription_price is the price of the subscription package viewed by user | `number` | `0` |
46
+ | `paywall_position` | `paywall_position` | property paywall_position is the position of the subscription package viewed by user | `number` | `1` |
47
+
48
+ ## Dependencies
49
+
50
+ ### Depends on
51
+
52
+ - [kompasid-freewall-head](../kompasid-freewall-head)
53
+ - [kompasid-freewall-body](../kompasid-freewall-body)
54
+
55
+ ### Graph
56
+ ```mermaid
57
+ graph TD;
58
+ kompasid-freewall --> kompasid-freewall-head
59
+ kompasid-freewall --> kompasid-freewall-body
60
+ style kompasid-freewall fill:#023B73,stroke:#333,stroke-width:4px
61
+ ```
30
62
 
31
63
  *Terbikin oleh tim front-end kompas.id*
@@ -121,8 +121,8 @@ export class KompasFreewallBody extends LitElement {
121
121
  id="subscription-card"
122
122
  class="flex justify-between items-center relative z-10 flex-col w-[328px] ${this
123
123
  .isLogin
124
- ? 'h-[277px] md:w-[580px] md:h-[240px]'
125
- : 'h-[223px] md:w-[350px] lg:w-[410px] md:h-[210px]'} py-3 px-[10px] md:p-5 md:pt-3 rounded-[10px] border-2 border-yellow-400 bg-white"
124
+ ? 'md:w-[580px]'
125
+ : 'md:w-[350px] lg:w-[410px]'} py-3 px-[10px] md:p-5 md:pt-3 rounded-[10px] border-2 border-yellow-400 bg-white"
126
126
  >
127
127
  <div
128
128
  class="flex w-full flex-col ${this.isLogin
@@ -151,7 +151,7 @@ export class KompasFreewallBody extends LitElement {
151
151
  </div>
152
152
  <div id="ribbon-container">
153
153
  <div
154
- class="text-[11px] font-medium font-roboto-condensed flex justify-center items-center"
154
+ class="text-[11px] font-medium text-grey-600 font-roboto-condensed flex justify-center items-center"
155
155
  >
156
156
  <span class="-ml-2">Penawaran Terbaik</span>
157
157
  </div>
@@ -163,7 +163,7 @@ export class KompasFreewallBody extends LitElement {
163
163
  private registerCardComponent() {
164
164
  return html`
165
165
  <div
166
- class="flex flex-col justify-between w-[328px] h-[159px] md:w-[350px] lg:w-[410px] md:h-[210px] py-3 px-[10px] md:p-5 md:pt-3 rounded-[10px] bg-white"
166
+ class="flex flex-col justify-between md:min-h-[244px] lg:min-h-[220px] w-[328px] md:w-[350px] lg:w-[410px] py-3 px-[10px] md:p-5 md:pt-3 rounded-[10px] bg-white"
167
167
  >
168
168
  <div>
169
169
  <h5
@@ -171,7 +171,9 @@ export class KompasFreewallBody extends LitElement {
171
171
  >
172
172
  Daftar Akun Gratis
173
173
  </h5>
174
- <div class="flex items-start lg:items-center mt-1 md:mt-3">
174
+ <div
175
+ class="flex items-start lg:items-center mt-3 mb-4 md:mt-4 md:mb-5"
176
+ >
175
177
  <div class="mt-1 lg:mt-0">${faCheck()}</div>
176
178
  <h6 class="text-base text-grey-600 ml-1">
177
179
  Akses ke 3 artikel berbayar gratis tiap bulan
@@ -180,7 +182,7 @@ export class KompasFreewallBody extends LitElement {
180
182
  </div>
181
183
  <button
182
184
  @click=${() => redirectToRegister('freewall')}
183
- class="bg-white border border-blue-600 whitespace-nowrap rounded md:rounded h-10 px-4 md:px-5 text-sm md:text-base text-blue-600 font-bold leading-[18px]"
185
+ class="bg-white border border-brand-1 whitespace-nowrap rounded md:rounded h-10 px-4 md:px-5 text-sm md:text-base text-brand-1 font-bold leading-[18px]"
184
186
  >
185
187
  Daftar Gratis
186
188
  </button>
@@ -189,7 +191,7 @@ export class KompasFreewallBody extends LitElement {
189
191
  }
190
192
 
191
193
  private descriptionSection() {
192
- return html`<div class="flex flex-col space-y-1 mt-1 lg:mt-3">
194
+ return html`<div class="flex flex-col space-y-1 mt-3 mb-4 md:mt-4 md:mb-5">
193
195
  ${this.description.map(
194
196
  item =>
195
197
  html`
@@ -209,7 +211,7 @@ export class KompasFreewallBody extends LitElement {
209
211
  render() {
210
212
  return html`
211
213
  <div
212
- class="w-full h-full flex flex-col md:flex-row pt-6 md:pt-3 relative px-4 md:px-0 py-3 space-y-4 md:space-x-5 md:space-y-0 justify-center items-center"
214
+ class="w-full h-full flex flex-col md:flex-row pt-[5px] relative space-y-4 md:space-x-5 md:space-y-0 justify-center items-center"
213
215
  >
214
216
  ${this.subscriptionCardComponent()}
215
217
  ${!this.isLogin ? this.registerCardComponent() : nothing}
@@ -61,11 +61,15 @@ export class KompasFreewallHead extends LitElement {
61
61
 
62
62
  render() {
63
63
  return html`
64
- <div class="flex flex-col px-4 md:px-0 space-y-4">
64
+ <div class="flex flex-col px-4 md:px-0 space-y-4 pt-4 pb-5 md:py-2">
65
65
  <div class="flex justify-between items-center h-full space-x-3">
66
- <div class="hidden md:block"></div>
66
+ <div
67
+ class="hidden ${this.expand ? 'md:block' : 'lg:block'} w-9 h-9"
68
+ ></div>
67
69
  <div class="flex items-center md:justify-start space-x-3">
68
- <p class="w-[280px] md:w-full">${this.headCopy}</p>
70
+ <p class="max-w-[280px] md:max-w-full text-grey-600">
71
+ ${this.headCopy}
72
+ </p>
69
73
  ${!this.expand
70
74
  ? html`<button
71
75
  @click=${this.onSubscriptionClick}
@@ -79,6 +83,7 @@ export class KompasFreewallHead extends LitElement {
79
83
  <div>
80
84
  <button
81
85
  @click=${this.toggleExpand}
86
+ aria-label="Toggle Expand"
82
87
  class="h-9 w-9 flex items-center justify-center text-blue-500 rounded bg-blue-200"
83
88
  >
84
89
  <div class="${!this.expand && 'rotate-180'}">
@@ -118,7 +118,6 @@ export class KompasPaywallVideo extends LitElement {
118
118
  private defaultComponent() {
119
119
  return html`
120
120
  <div class="flex flex-col items-center space-y-2 md:space-y-4">
121
- ${this.sendDataLayeronNonLogin()} ${this.sendDataLayerPaywallViewed()}
122
121
  <h5
123
122
  class="leading-5 md:leading-6 w-[296px] md:w-[400px] text-white text-center text-base mb-2 md:mb-0 ${!this
124
123
  .isLogin &&
@@ -154,9 +153,8 @@ export class KompasPaywallVideo extends LitElement {
154
153
  * Data Layer
155
154
  */
156
155
 
157
- private sendDataLayer(event: string): void {
156
+ private prepareImpressionsData(): Record<string, any> {
158
157
  const baseData = {
159
- event,
160
158
  paywall_location: this.paywall_location,
161
159
  paywall_subscription_package:
162
160
  this.paywall_subscription_package || this.packageData.title,
@@ -172,22 +170,34 @@ export class KompasPaywallVideo extends LitElement {
172
170
  metered_wall_balance: this.tracker_metered_wall_balance,
173
171
  }
174
172
 
175
- const data = this.isArticle
176
- ? {
177
- ...baseData,
178
- page_type: this.tracker_page_type,
179
- content_id: this.tracker_content_id,
180
- content_title: this.tracker_content_title,
181
- content_categories: this.tracker_content_categories,
182
- content_type: this.tracker_content_type,
183
- }
184
- : baseData
173
+ if (this.isArticle) {
174
+ return {
175
+ ...baseData,
176
+ page_type: this.tracker_page_type,
177
+ content_id: this.tracker_content_id,
178
+ content_title: this.tracker_content_title,
179
+ content_categories: this.tracker_content_categories,
180
+ content_type: this.tracker_content_type,
181
+ }
182
+ }
183
+ return baseData
184
+ }
185
+
186
+ private sendDataLayer(
187
+ event: string,
188
+ includeImpressions: boolean = false
189
+ ): void {
190
+ const impressionsData = this.prepareImpressionsData()
191
+
192
+ const data = includeImpressions
193
+ ? { event, impressions: [impressionsData] }
194
+ : { event, ...impressionsData }
185
195
 
186
196
  window.dataLayer.push(data)
187
197
  }
188
198
 
189
199
  private sendDataLayerPaywallViewed(): void {
190
- this.sendDataLayer('paywall_viewed')
200
+ this.sendDataLayer('paywall_viewed', true)
191
201
  }
192
202
 
193
203
  private sendDataLayerSubscribeButtonClicked(): void {
@@ -250,6 +260,9 @@ export class KompasPaywallVideo extends LitElement {
250
260
 
251
261
  const originHost: string = encodeURIComponent(window.location.href)
252
262
  this.packageData = { ...this.showPackage, referrer: originHost }
263
+
264
+ this.sendDataLayeronNonLogin()
265
+ this.sendDataLayerPaywallViewed()
253
266
  }
254
267
 
255
268
  /**
@@ -656,6 +656,10 @@ video {
656
656
  margin-bottom: 0.5rem;
657
657
  }
658
658
 
659
+ .mb-4 {
660
+ margin-bottom: 1rem;
661
+ }
662
+
659
663
  .ml-0 {
660
664
  margin-left: 0px;
661
665
  }
@@ -760,18 +764,6 @@ video {
760
764
  height: 2.25rem;
761
765
  }
762
766
 
763
- .h-\[159px\] {
764
- height: 159px;
765
- }
766
-
767
- .h-\[223px\] {
768
- height: 223px;
769
- }
770
-
771
- .h-\[277px\] {
772
- height: 277px;
773
- }
774
-
775
767
  .h-auto {
776
768
  height: auto;
777
769
  }
@@ -832,10 +824,6 @@ video {
832
824
  width: 138px;
833
825
  }
834
826
 
835
- .w-\[250px\] {
836
- width: 250px;
837
- }
838
-
839
827
  .w-\[296px\] {
840
828
  width: 296px;
841
829
  }
@@ -852,14 +840,14 @@ video {
852
840
  width: 100%;
853
841
  }
854
842
 
855
- .w-\[280px\] {
856
- width: 280px;
857
- }
858
-
859
843
  .max-w-7xl {
860
844
  max-width: 80rem;
861
845
  }
862
846
 
847
+ .max-w-\[280px\] {
848
+ max-width: 280px;
849
+ }
850
+
863
851
  .max-w-screen-md {
864
852
  max-width: 768px;
865
853
  }
@@ -1069,9 +1057,9 @@ video {
1069
1057
  border-color: rgb(147 200 253 / var(--tw-border-opacity));
1070
1058
  }
1071
1059
 
1072
- .border-blue-600 {
1060
+ .border-brand-1 {
1073
1061
  --tw-border-opacity: 1;
1074
- border-color: rgb(3 86 168 / var(--tw-border-opacity));
1062
+ border-color: rgb(0 85 154 / var(--tw-border-opacity));
1075
1063
  }
1076
1064
 
1077
1065
  .border-dark-6 {
@@ -1300,6 +1288,10 @@ video {
1300
1288
  padding-bottom: 1rem;
1301
1289
  }
1302
1290
 
1291
+ .pb-5 {
1292
+ padding-bottom: 1.25rem;
1293
+ }
1294
+
1303
1295
  .pb-6 {
1304
1296
  padding-bottom: 1.5rem;
1305
1297
  }
@@ -1340,10 +1332,18 @@ video {
1340
1332
  padding-top: 2.5rem;
1341
1333
  }
1342
1334
 
1335
+ .pt-4 {
1336
+ padding-top: 1rem;
1337
+ }
1338
+
1343
1339
  .pt-6 {
1344
1340
  padding-top: 1.5rem;
1345
1341
  }
1346
1342
 
1343
+ .pt-\[5px\] {
1344
+ padding-top: 5px;
1345
+ }
1346
+
1347
1347
  .text-left {
1348
1348
  text-align: left;
1349
1349
  }
@@ -1519,11 +1519,6 @@ video {
1519
1519
  color: rgb(255 255 255 / var(--tw-text-opacity));
1520
1520
  }
1521
1521
 
1522
- .text-green-100 {
1523
- --tw-text-opacity: 1;
1524
- color: rgb(238 252 210 / var(--tw-text-opacity));
1525
- }
1526
-
1527
1522
  .underline {
1528
1523
  text-decoration-line: underline;
1529
1524
  }
@@ -1555,6 +1550,10 @@ video {
1555
1550
  margin-bottom: 0px;
1556
1551
  }
1557
1552
 
1553
+ .md\:mb-5 {
1554
+ margin-bottom: 1.25rem;
1555
+ }
1556
+
1558
1557
  .md\:ml-1 {
1559
1558
  margin-left: 0.25rem;
1560
1559
  }
@@ -1591,12 +1590,8 @@ video {
1591
1590
  height: 3rem;
1592
1591
  }
1593
1592
 
1594
- .md\:h-\[210px\] {
1595
- height: 210px;
1596
- }
1597
-
1598
- .md\:h-\[240px\] {
1599
- height: 240px;
1593
+ .md\:min-h-\[244px\] {
1594
+ min-height: 244px;
1600
1595
  }
1601
1596
 
1602
1597
  .md\:w-3\/5 {
@@ -1635,6 +1630,10 @@ video {
1635
1630
  width: 100%;
1636
1631
  }
1637
1632
 
1633
+ .md\:max-w-full {
1634
+ max-width: 100%;
1635
+ }
1636
+
1638
1637
  .md\:max-w-sm {
1639
1638
  max-width: 24rem;
1640
1639
  }
@@ -1690,16 +1689,16 @@ video {
1690
1689
  padding-right: 0px;
1691
1690
  }
1692
1691
 
1693
- .md\:px-12 {
1694
- padding-left: 3rem;
1695
- padding-right: 3rem;
1696
- }
1697
-
1698
1692
  .md\:px-20 {
1699
1693
  padding-left: 5rem;
1700
1694
  padding-right: 5rem;
1701
1695
  }
1702
1696
 
1697
+ .md\:px-4 {
1698
+ padding-left: 1rem;
1699
+ padding-right: 1rem;
1700
+ }
1701
+
1703
1702
  .md\:px-5 {
1704
1703
  padding-left: 1.25rem;
1705
1704
  padding-right: 1.25rem;
@@ -1710,6 +1709,11 @@ video {
1710
1709
  padding-right: 1.5rem;
1711
1710
  }
1712
1711
 
1712
+ .md\:py-2 {
1713
+ padding-top: 0.5rem;
1714
+ padding-bottom: 0.5rem;
1715
+ }
1716
+
1713
1717
  .md\:py-6 {
1714
1718
  padding-top: 1.5rem;
1715
1719
  padding-bottom: 1.5rem;
@@ -1719,6 +1723,10 @@ video {
1719
1723
  padding-bottom: 1rem;
1720
1724
  }
1721
1725
 
1726
+ .md\:pb-7 {
1727
+ padding-bottom: 1.75rem;
1728
+ }
1729
+
1722
1730
  .md\:pt-3 {
1723
1731
  padding-top: 0.75rem;
1724
1732
  }
@@ -1794,10 +1802,6 @@ video {
1794
1802
  margin-top: 0.5rem;
1795
1803
  }
1796
1804
 
1797
- .lg\:mt-3 {
1798
- margin-top: 0.75rem;
1799
- }
1800
-
1801
1805
  .lg\:block {
1802
1806
  display: block;
1803
1807
  }
@@ -1810,6 +1814,10 @@ video {
1810
1814
  display: none;
1811
1815
  }
1812
1816
 
1817
+ .lg\:min-h-\[220px\] {
1818
+ min-height: 220px;
1819
+ }
1820
+
1813
1821
  .lg\:w-\[410px\] {
1814
1822
  width: 410px;
1815
1823
  }