zenkit-css 1.0.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 (96) hide show
  1. package/README.md +182 -0
  2. package/dist/zenkit.css +33721 -0
  3. package/dist/zenkit.css.map +1 -0
  4. package/dist/zenkit.min.css +1 -0
  5. package/dist/zenkit.min.css.map +1 -0
  6. package/package.json +41 -0
  7. package/scss/abstracts/_functions.scss +174 -0
  8. package/scss/abstracts/_mixins.scss +272 -0
  9. package/scss/abstracts/_variables.scss +216 -0
  10. package/scss/base/_reset.scss +130 -0
  11. package/scss/base/_root.scss +194 -0
  12. package/scss/base/_typography.scss +271 -0
  13. package/scss/components/_accordion.scss +200 -0
  14. package/scss/components/_affix.scss +278 -0
  15. package/scss/components/_alerts.scss +175 -0
  16. package/scss/components/_anchor.scss +438 -0
  17. package/scss/components/_autocomplete.scss +530 -0
  18. package/scss/components/_avatar.scss +256 -0
  19. package/scss/components/_backtop.scss +329 -0
  20. package/scss/components/_badges.scss +266 -0
  21. package/scss/components/_breadcrumb.scss +102 -0
  22. package/scss/components/_buttons.scss +340 -0
  23. package/scss/components/_calendar.scss +787 -0
  24. package/scss/components/_cards.scss +265 -0
  25. package/scss/components/_carousel.scss +306 -0
  26. package/scss/components/_cascader.scss +510 -0
  27. package/scss/components/_close-button.scss +106 -0
  28. package/scss/components/_colorpicker.scss +593 -0
  29. package/scss/components/_datepicker.scss +625 -0
  30. package/scss/components/_descriptions.scss +453 -0
  31. package/scss/components/_divider.scss +253 -0
  32. package/scss/components/_drawer.scss +485 -0
  33. package/scss/components/_dropdown.scss +323 -0
  34. package/scss/components/_empty.scss +321 -0
  35. package/scss/components/_floatbutton.scss +400 -0
  36. package/scss/components/_forms.scss +753 -0
  37. package/scss/components/_image.scss +497 -0
  38. package/scss/components/_inputnumber.scss +475 -0
  39. package/scss/components/_layout.scss +538 -0
  40. package/scss/components/_list-group.scss +227 -0
  41. package/scss/components/_list.scss +528 -0
  42. package/scss/components/_mentions.scss +479 -0
  43. package/scss/components/_menu.scss +510 -0
  44. package/scss/components/_message.scss +412 -0
  45. package/scss/components/_modal.scss +304 -0
  46. package/scss/components/_navbar.scss +329 -0
  47. package/scss/components/_notification.scss +499 -0
  48. package/scss/components/_offcanvas.scss +274 -0
  49. package/scss/components/_pagination.scss +176 -0
  50. package/scss/components/_placeholder.scss +237 -0
  51. package/scss/components/_popconfirm.scss +393 -0
  52. package/scss/components/_popover.scss +298 -0
  53. package/scss/components/_progress.scss +225 -0
  54. package/scss/components/_rating.scss +314 -0
  55. package/scss/components/_result.scss +383 -0
  56. package/scss/components/_segmented.scss +441 -0
  57. package/scss/components/_select.scss +412 -0
  58. package/scss/components/_spinners.scss +229 -0
  59. package/scss/components/_statistic.scss +336 -0
  60. package/scss/components/_steps.scss +343 -0
  61. package/scss/components/_tabs.scss +239 -0
  62. package/scss/components/_tag.scss +317 -0
  63. package/scss/components/_timeline.scss +341 -0
  64. package/scss/components/_timepicker.scss +468 -0
  65. package/scss/components/_toast.scss +279 -0
  66. package/scss/components/_tooltip.scss +305 -0
  67. package/scss/components/_tour.scss +488 -0
  68. package/scss/components/_transfer.scss +556 -0
  69. package/scss/components/_tree.scss +518 -0
  70. package/scss/components/_treeselect.scss +531 -0
  71. package/scss/components/_upload.scss +510 -0
  72. package/scss/components/_watermark.scss +314 -0
  73. package/scss/content/_figures.scss +38 -0
  74. package/scss/content/_images.scss +138 -0
  75. package/scss/content/_tables.scss +232 -0
  76. package/scss/layout/_container.scss +71 -0
  77. package/scss/layout/_grid.scss +258 -0
  78. package/scss/utilities/_animations.scss +494 -0
  79. package/scss/utilities/_borders.scss +246 -0
  80. package/scss/utilities/_colors.scss +194 -0
  81. package/scss/utilities/_display.scss +263 -0
  82. package/scss/utilities/_filters.scss +328 -0
  83. package/scss/utilities/_flex.scss +178 -0
  84. package/scss/utilities/_float.scss +70 -0
  85. package/scss/utilities/_grid-utils.scss +151 -0
  86. package/scss/utilities/_helpers.scss +479 -0
  87. package/scss/utilities/_interactions.scss +249 -0
  88. package/scss/utilities/_overflow.scss +204 -0
  89. package/scss/utilities/_position.scss +245 -0
  90. package/scss/utilities/_shadows.scss +67 -0
  91. package/scss/utilities/_sizing.scss +217 -0
  92. package/scss/utilities/_spacing.scss +207 -0
  93. package/scss/utilities/_text.scss +237 -0
  94. package/scss/utilities/_transforms.scss +368 -0
  95. package/scss/utilities/_visibility.scss +251 -0
  96. package/scss/zenkit.scss +121 -0
@@ -0,0 +1,265 @@
1
+ // ========================================
2
+ // ZenKit - Cards
3
+ // ========================================
4
+
5
+ @use '../abstracts/variables' as *;
6
+ @use '../abstracts/mixins' as *;
7
+
8
+ // ----------------------------------------
9
+ // Base Card
10
+ // ----------------------------------------
11
+ .card {
12
+ @include card;
13
+ display: flex;
14
+ flex-direction: column;
15
+ overflow: hidden;
16
+ }
17
+
18
+ // ----------------------------------------
19
+ // Card Sections
20
+ // ----------------------------------------
21
+ .card-header {
22
+ padding: 1rem 1.25rem;
23
+ border-bottom: $border-width solid var(--border);
24
+ background-color: var(--bg-muted);
25
+
26
+ &:first-child {
27
+ border-radius: calc(var(--radius-lg) - 1px) calc(var(--radius-lg) - 1px) 0 0;
28
+ }
29
+ }
30
+
31
+ .card-body {
32
+ flex: 1 1 auto;
33
+ padding: 1.25rem;
34
+ }
35
+
36
+ .card-footer {
37
+ padding: 1rem 1.25rem;
38
+ border-top: $border-width solid var(--border);
39
+ background-color: var(--bg-muted);
40
+
41
+ &:last-child {
42
+ border-radius: 0 0 calc(var(--radius-lg) - 1px) calc(var(--radius-lg) - 1px);
43
+ }
44
+ }
45
+
46
+ // ----------------------------------------
47
+ // Card Title & Text
48
+ // ----------------------------------------
49
+ .card-title {
50
+ margin-bottom: 0.5rem;
51
+ font-size: var(--text-xl);
52
+ font-weight: $font-weight-semibold;
53
+ color: var(--text);
54
+ }
55
+
56
+ .card-subtitle {
57
+ margin-top: -0.25rem;
58
+ margin-bottom: 0.5rem;
59
+ font-size: var(--text-sm);
60
+ color: var(--text-muted);
61
+ }
62
+
63
+ .card-text {
64
+ color: var(--text-secondary);
65
+
66
+ &:last-child {
67
+ margin-bottom: 0;
68
+ }
69
+ }
70
+
71
+ // ----------------------------------------
72
+ // Card Image
73
+ // ----------------------------------------
74
+ .card-img-top {
75
+ width: 100%;
76
+ border-radius: calc(var(--radius-lg) - 1px) calc(var(--radius-lg) - 1px) 0 0;
77
+ }
78
+
79
+ .card-img-bottom {
80
+ width: 100%;
81
+ border-radius: 0 0 calc(var(--radius-lg) - 1px) calc(var(--radius-lg) - 1px);
82
+ }
83
+
84
+ .card-img {
85
+ width: 100%;
86
+ }
87
+
88
+ // Card image overlay
89
+ .card-img-overlay {
90
+ position: absolute;
91
+ top: 0;
92
+ right: 0;
93
+ bottom: 0;
94
+ left: 0;
95
+ padding: 1.25rem;
96
+ background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, transparent 100%);
97
+ border-radius: calc(var(--radius-lg) - 1px);
98
+ display: flex;
99
+ flex-direction: column;
100
+ justify-content: flex-end;
101
+ color: var(--white);
102
+
103
+ .card-title,
104
+ .card-text {
105
+ color: var(--white);
106
+ }
107
+ }
108
+
109
+ // ----------------------------------------
110
+ // Card Variants
111
+ // ----------------------------------------
112
+ .card-hover {
113
+ transition: transform var(--transition-base) ease-in-out,
114
+ box-shadow var(--transition-base) ease-in-out;
115
+
116
+ &:hover {
117
+ transform: translateY(-4px);
118
+ box-shadow: var(--shadow-lg);
119
+ }
120
+ }
121
+
122
+ .card-clickable {
123
+ cursor: pointer;
124
+ transition: transform var(--transition-base) ease-in-out,
125
+ box-shadow var(--transition-base) ease-in-out;
126
+
127
+ &:hover {
128
+ transform: translateY(-2px);
129
+ box-shadow: var(--shadow-md);
130
+ }
131
+
132
+ &:active {
133
+ transform: translateY(0);
134
+ }
135
+ }
136
+
137
+ // ----------------------------------------
138
+ // Card Sizes
139
+ // ----------------------------------------
140
+ .card-sm {
141
+ .card-header,
142
+ .card-footer {
143
+ padding: 0.75rem 1rem;
144
+ }
145
+
146
+ .card-body {
147
+ padding: 1rem;
148
+ }
149
+ }
150
+
151
+ .card-lg {
152
+ .card-header,
153
+ .card-footer {
154
+ padding: 1.25rem 1.5rem;
155
+ }
156
+
157
+ .card-body {
158
+ padding: 1.5rem;
159
+ }
160
+ }
161
+
162
+ // ----------------------------------------
163
+ // Card Colors
164
+ // ----------------------------------------
165
+ .card-primary {
166
+ background-color: var(--primary);
167
+ border-color: var(--primary);
168
+ color: var(--white);
169
+
170
+ .card-header,
171
+ .card-footer {
172
+ background-color: rgba(0, 0, 0, 0.1);
173
+ border-color: rgba(255, 255, 255, 0.2);
174
+ }
175
+
176
+ .card-title,
177
+ .card-text {
178
+ color: var(--white);
179
+ }
180
+ }
181
+
182
+ .card-success {
183
+ background-color: var(--success-light);
184
+ border-color: var(--success);
185
+
186
+ .card-header {
187
+ background-color: var(--success);
188
+ color: var(--white);
189
+ border-color: var(--success);
190
+ }
191
+ }
192
+
193
+ .card-danger {
194
+ background-color: var(--danger-light);
195
+ border-color: var(--danger);
196
+
197
+ .card-header {
198
+ background-color: var(--danger);
199
+ color: var(--white);
200
+ border-color: var(--danger);
201
+ }
202
+ }
203
+
204
+ .card-warning {
205
+ background-color: var(--warning-light);
206
+ border-color: var(--warning);
207
+
208
+ .card-header {
209
+ background-color: var(--warning);
210
+ color: var(--gray-900);
211
+ border-color: var(--warning);
212
+ }
213
+ }
214
+
215
+ .card-info {
216
+ background-color: var(--info-light);
217
+ border-color: var(--info);
218
+
219
+ .card-header {
220
+ background-color: var(--info);
221
+ color: var(--white);
222
+ border-color: var(--info);
223
+ }
224
+ }
225
+
226
+ // ----------------------------------------
227
+ // Horizontal Card
228
+ // ----------------------------------------
229
+ .card-horizontal {
230
+ flex-direction: row;
231
+
232
+ .card-img-left {
233
+ width: 40%;
234
+ object-fit: cover;
235
+ border-radius: calc(var(--radius-lg) - 1px) 0 0 calc(var(--radius-lg) - 1px);
236
+ }
237
+
238
+ .card-body {
239
+ display: flex;
240
+ flex-direction: column;
241
+ justify-content: center;
242
+ }
243
+ }
244
+
245
+ // ----------------------------------------
246
+ // Card Group
247
+ // ----------------------------------------
248
+ .card-group {
249
+ display: flex;
250
+ flex-wrap: wrap;
251
+ gap: 1.5rem;
252
+
253
+ > .card {
254
+ flex: 1 1 300px;
255
+ }
256
+ }
257
+
258
+ // ----------------------------------------
259
+ // Card Grid
260
+ // ----------------------------------------
261
+ .card-grid {
262
+ display: grid;
263
+ gap: 1.5rem;
264
+ grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
265
+ }
@@ -0,0 +1,306 @@
1
+ // ========================================
2
+ // ZenKit - Carousel
3
+ // ========================================
4
+
5
+ @use '../abstracts/variables' as *;
6
+
7
+ // ----------------------------------------
8
+ // Carousel Variables
9
+ // ----------------------------------------
10
+ .carousel {
11
+ --carousel-control-color: var(--white);
12
+ --carousel-control-width: 15%;
13
+ --carousel-control-opacity: 0.5;
14
+ --carousel-control-hover-opacity: 0.9;
15
+ --carousel-control-transition: opacity 0.15s ease;
16
+ --carousel-indicator-width: 30px;
17
+ --carousel-indicator-height: 3px;
18
+ --carousel-indicator-hit-area-height: 10px;
19
+ --carousel-indicator-spacer: 3px;
20
+ --carousel-indicator-opacity: 0.5;
21
+ --carousel-indicator-active-bg: var(--white);
22
+ --carousel-indicator-active-opacity: 1;
23
+ --carousel-indicator-transition: opacity 0.6s ease;
24
+ --carousel-caption-width: 70%;
25
+ --carousel-caption-color: var(--white);
26
+ --carousel-caption-padding-y: 1.25rem;
27
+ --carousel-caption-spacer: 1.25rem;
28
+ --carousel-control-icon-width: 2rem;
29
+ --carousel-transition-duration: 0.6s;
30
+
31
+ position: relative;
32
+ }
33
+
34
+ // ----------------------------------------
35
+ // Carousel Inner
36
+ // ----------------------------------------
37
+ .carousel-inner {
38
+ position: relative;
39
+ width: 100%;
40
+ overflow: hidden;
41
+
42
+ &::after {
43
+ display: block;
44
+ clear: both;
45
+ content: "";
46
+ }
47
+ }
48
+
49
+ // ----------------------------------------
50
+ // Carousel Item
51
+ // ----------------------------------------
52
+ .carousel-item {
53
+ position: relative;
54
+ display: none;
55
+ float: left;
56
+ width: 100%;
57
+ margin-right: -100%;
58
+ backface-visibility: hidden;
59
+ transition: transform var(--carousel-transition-duration) ease-in-out;
60
+ }
61
+
62
+ .carousel-item.active,
63
+ .carousel-item-next,
64
+ .carousel-item-prev {
65
+ display: block;
66
+ }
67
+
68
+ .carousel-item-next:not(.carousel-item-start),
69
+ .active.carousel-item-end {
70
+ transform: translateX(100%);
71
+ }
72
+
73
+ .carousel-item-prev:not(.carousel-item-end),
74
+ .active.carousel-item-start {
75
+ transform: translateX(-100%);
76
+ }
77
+
78
+ // ----------------------------------------
79
+ // Carousel Fade
80
+ // ----------------------------------------
81
+ .carousel-fade {
82
+ .carousel-item {
83
+ opacity: 0;
84
+ transition-property: opacity;
85
+ transform: none;
86
+ }
87
+
88
+ .carousel-item.active,
89
+ .carousel-item-next.carousel-item-start,
90
+ .carousel-item-prev.carousel-item-end {
91
+ z-index: 1;
92
+ opacity: 1;
93
+ }
94
+
95
+ .active.carousel-item-start,
96
+ .active.carousel-item-end {
97
+ z-index: 0;
98
+ opacity: 0;
99
+ transition: opacity 0s var(--carousel-transition-duration);
100
+ }
101
+ }
102
+
103
+ // ----------------------------------------
104
+ // Carousel Controls
105
+ // ----------------------------------------
106
+ .carousel-control-prev,
107
+ .carousel-control-next {
108
+ position: absolute;
109
+ top: 0;
110
+ bottom: 0;
111
+ z-index: 1;
112
+ display: flex;
113
+ align-items: center;
114
+ justify-content: center;
115
+ width: var(--carousel-control-width);
116
+ padding: 0;
117
+ color: var(--carousel-control-color);
118
+ text-align: center;
119
+ background: none;
120
+ border: 0;
121
+ opacity: var(--carousel-control-opacity);
122
+ transition: var(--carousel-control-transition);
123
+
124
+ &:hover {
125
+ color: var(--carousel-control-color);
126
+ text-decoration: none;
127
+ outline: 0;
128
+ opacity: var(--carousel-control-hover-opacity);
129
+ }
130
+
131
+ &:focus {
132
+ color: var(--carousel-control-color);
133
+ text-decoration: none;
134
+ outline: 0;
135
+ opacity: var(--carousel-control-hover-opacity);
136
+ }
137
+ }
138
+
139
+ .carousel-control-prev {
140
+ left: 0;
141
+ background-image: linear-gradient(90deg, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.001));
142
+ }
143
+
144
+ .carousel-control-next {
145
+ right: 0;
146
+ background-image: linear-gradient(270deg, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.001));
147
+ }
148
+
149
+ // ----------------------------------------
150
+ // Carousel Control Icons
151
+ // ----------------------------------------
152
+ .carousel-control-prev-icon,
153
+ .carousel-control-next-icon {
154
+ display: inline-block;
155
+ width: var(--carousel-control-icon-width);
156
+ height: var(--carousel-control-icon-width);
157
+ background-repeat: no-repeat;
158
+ background-position: 50%;
159
+ background-size: 100% 100%;
160
+ }
161
+
162
+ .carousel-control-prev-icon {
163
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e");
164
+ }
165
+
166
+ .carousel-control-next-icon {
167
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
168
+ }
169
+
170
+ // ----------------------------------------
171
+ // Carousel Indicators
172
+ // ----------------------------------------
173
+ .carousel-indicators {
174
+ position: absolute;
175
+ right: 0;
176
+ bottom: 0;
177
+ left: 0;
178
+ z-index: 2;
179
+ display: flex;
180
+ justify-content: center;
181
+ padding: 0;
182
+ margin-right: var(--carousel-control-width);
183
+ margin-bottom: 1rem;
184
+ margin-left: var(--carousel-control-width);
185
+
186
+ [data-slide-to] {
187
+ box-sizing: content-box;
188
+ flex: 0 1 auto;
189
+ width: var(--carousel-indicator-width);
190
+ height: var(--carousel-indicator-height);
191
+ padding: 0;
192
+ margin-right: var(--carousel-indicator-spacer);
193
+ margin-left: var(--carousel-indicator-spacer);
194
+ text-indent: -999px;
195
+ cursor: pointer;
196
+ background-color: var(--carousel-indicator-active-bg);
197
+ background-clip: padding-box;
198
+ border: 0;
199
+ border-top: var(--carousel-indicator-hit-area-height) solid transparent;
200
+ border-bottom: var(--carousel-indicator-hit-area-height) solid transparent;
201
+ opacity: var(--carousel-indicator-opacity);
202
+ transition: var(--carousel-indicator-transition);
203
+ }
204
+
205
+ .active {
206
+ opacity: var(--carousel-indicator-active-opacity);
207
+ }
208
+ }
209
+
210
+ // ----------------------------------------
211
+ // Carousel Caption
212
+ // ----------------------------------------
213
+ .carousel-caption {
214
+ position: absolute;
215
+ right: calc((100% - var(--carousel-caption-width)) * 0.5);
216
+ bottom: var(--carousel-caption-spacer);
217
+ left: calc((100% - var(--carousel-caption-width)) * 0.5);
218
+ padding-top: var(--carousel-caption-padding-y);
219
+ padding-bottom: var(--carousel-caption-padding-y);
220
+ color: var(--carousel-caption-color);
221
+ text-align: center;
222
+ }
223
+
224
+ // ----------------------------------------
225
+ // Carousel Dark
226
+ // ----------------------------------------
227
+ .carousel-dark {
228
+ --carousel-control-color: var(--gray-900);
229
+ --carousel-indicator-active-bg: var(--gray-900);
230
+ --carousel-caption-color: var(--gray-900);
231
+
232
+ .carousel-control-prev-icon {
233
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e");
234
+ }
235
+
236
+ .carousel-control-next-icon {
237
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
238
+ }
239
+ }
240
+
241
+ // ----------------------------------------
242
+ // Carousel Thumbnails
243
+ // ----------------------------------------
244
+ .carousel-thumbnails {
245
+ display: flex;
246
+ justify-content: center;
247
+ gap: 0.5rem;
248
+ margin-top: 1rem;
249
+
250
+ .carousel-thumbnail {
251
+ width: 60px;
252
+ height: 40px;
253
+ object-fit: cover;
254
+ border: 2px solid transparent;
255
+ border-radius: var(--radius-sm);
256
+ cursor: pointer;
257
+ opacity: 0.6;
258
+ transition: all $transition-fast ease;
259
+
260
+ &:hover {
261
+ opacity: 0.8;
262
+ }
263
+
264
+ &.active {
265
+ border-color: var(--primary);
266
+ opacity: 1;
267
+ }
268
+ }
269
+ }
270
+
271
+ // ----------------------------------------
272
+ // Reduced Motion
273
+ // ----------------------------------------
274
+ @media (prefers-reduced-motion: reduce) {
275
+ .carousel-item {
276
+ transition: none;
277
+ }
278
+
279
+ .carousel-fade .carousel-item {
280
+ transition: none;
281
+ }
282
+
283
+ .carousel-control-prev,
284
+ .carousel-control-next {
285
+ transition: none;
286
+ }
287
+
288
+ .carousel-indicators [data-slide-to] {
289
+ transition: none;
290
+ }
291
+ }
292
+
293
+ // ----------------------------------------
294
+ // Carousel Sizes
295
+ // ----------------------------------------
296
+ .carousel-sm {
297
+ --carousel-control-icon-width: 1.5rem;
298
+ --carousel-indicator-width: 20px;
299
+ --carousel-indicator-height: 2px;
300
+ }
301
+
302
+ .carousel-lg {
303
+ --carousel-control-icon-width: 3rem;
304
+ --carousel-indicator-width: 40px;
305
+ --carousel-indicator-height: 4px;
306
+ }