PluginProbe
Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor / 2.0.6
Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor v2.0.6
2.0.13 2.0.12 2.0.11 2.0.10 2.0.9 trunk 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8
blockenberg / blocks / logo-carousel / style.css

style.css in Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor 2.0.6, at blocks/logo-carousel/style.css

339 lines 7.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /**
2 * Logo Carousel Block Styles
3 * Blockenberg
4 */
5
6 .bkbg-lc-wrap {
7 --bkbg-lc-columns: 5;
8 --bkbg-lc-gap: 24px;
9
10 --bkbg-lc-carousel-visible: 4;
11 --bkbg-lc-peek: 20%;
12
13 --bkbg-lc-logo-max-h: 150px;
14 --bkbg-lc-logo-padding: 14px;
15 --bkbg-lc-logo-radius: 12px;
16 --bkbg-lc-logo-bg: transparent;
17 --bkbg-lc-logo-border-color: rgba(0, 0, 0, 0.1);
18 --bkbg-lc-logo-border-width: 0px;
19
20 --bkbg-lc-logo-opacity: 0.8;
21 --bkbg-lc-logo-hover-opacity: 1;
22 --bkbg-lc-logo-filter: grayscale(1);
23 --bkbg-lc-logo-hover-filter: grayscale(0);
24
25 --bkbg-lc-indicator-size: 8px;
26 --bkbg-lc-indicator-color: rgba(0, 0, 0, 0.22);
27 --bkbg-lc-indicator-active-color: rgba(0, 0, 0, 0.65);
28 --bkbg-lc-progress-height: 6px;
29 --bkbg-lc-progress-bg: rgba(0, 0, 0, 0.12);
30 --bkbg-lc-progress-fg: rgba(0, 0, 0, 0.55);
31 --bkbg-lc-fraction-color: rgba(0, 0, 0, 0.65);
32 --bkbg-lc-fraction-size: 13px;
33
34 width: 100%;
35 }
36
37 .wp-block-blockenberg-logo-carousel,
38 .wp-block-blockenberg-logo-carousel .bkbg-lc-wrap {
39 border: 0;
40 outline: 0;
41 }
42
43 /* Grid */
44 .bkbg-lc-grid {
45 display: grid;
46 grid-template-columns: repeat(var(--bkbg-lc-columns), minmax(0, 1fr));
47 gap: var(--bkbg-lc-gap);
48 }
49
50 .bkbg-lc-grid-cell {
51 position: relative;
52 }
53
54 @media (max-width: 900px) {
55 .bkbg-lc-grid {
56 grid-template-columns: repeat(3, minmax(0, 1fr));
57 }
58 }
59
60 @media (max-width: 560px) {
61 .bkbg-lc-grid {
62 grid-template-columns: repeat(2, minmax(0, 1fr));
63 }
64 }
65
66 /* Carousel */
67 .bkbg-lc-carousel {
68 width: 100%;
69 }
70
71 @media (max-width: 900px) {
72 .bkbg-lc-carousel {
73 --bkbg-lc-carousel-visible: 3;
74 }
75 }
76
77 @media (max-width: 560px) {
78 .bkbg-lc-carousel {
79 --bkbg-lc-carousel-visible: 2;
80 }
81 }
82
83 .bkbg-lc-nav {
84 display: flex;
85 justify-content: flex-end;
86 gap: 8px;
87 margin-bottom: 10px;
88 }
89
90 .bkbg-lc-nav-btn {
91 width: 36px;
92 height: 36px;
93 border-radius: 10px;
94 border: 1px solid rgba(0, 0, 0, 0.12);
95 background: #fff;
96 cursor: pointer;
97 display: inline-flex;
98 align-items: center;
99 justify-content: center;
100 }
101
102 .bkbg-lc-nav-btn:hover {
103 background: rgba(0, 0, 0, 0.03);
104 }
105
106 .bkbg-lc-track {
107 display: flex;
108 gap: var(--bkbg-lc-gap);
109 overflow-x: auto;
110 overflow-y: visible;
111 padding-bottom: 8px;
112 scroll-snap-type: x mandatory;
113 -webkit-overflow-scrolling: touch;
114 -ms-overflow-style: none;
115 scrollbar-width: none;
116 }
117
118 .bkbg-lc-track::-webkit-scrollbar {
119 width: 0;
120 height: 0;
121 }
122
123 .bkbg-lc-carousel.bkbg-lc-carousel-peek .bkbg-lc-track {
124 padding-right: var(--bkbg-lc-peek);
125 }
126
127 .bkbg-lc-slide {
128 scroll-snap-align: start;
129 flex: 0 0 calc((100% - (var(--bkbg-lc-gap) * (var(--bkbg-lc-carousel-visible) - 1))) / var(--bkbg-lc-carousel-visible));
130 min-width: 160px;
131 }
132
133 /* Nav placement styles */
134 .bkbg-lc-carousel-inner {
135 position: relative;
136 display: flex;
137 flex-direction: column;
138 }
139
140 .bkbg-lc-nav {
141 order: 0;
142 position: relative;
143 z-index: 2;
144 }
145
146 .bkbg-lc-track {
147 order: 1;
148 position: relative;
149 z-index: 1;
150 }
151
152 .bkbg-lc-nav-bottom .bkbg-lc-nav {
153 justify-content: center;
154 margin: 10px 0 0;
155 order: 2;
156 }
157
158 .bkbg-lc-nav-overlay .bkbg-lc-nav {
159 position: absolute;
160 top: 50%;
161 left: 0;
162 right: 0;
163 transform: translateY(-50%);
164 justify-content: space-between;
165 margin: 0;
166 pointer-events: none;
167 z-index: 3;
168 }
169
170 .bkbg-lc-nav-overlay .bkbg-lc-nav-btn {
171 pointer-events: auto;
172 position: relative;
173 z-index: 4;
174 }
175
176 .bkbg-lc-nav-overlay .bkbg-lc-nav-btn:hover {
177 z-index: 10;
178 background: #fff;
179 }
180
181 .bkbg-lc-nav-overlay .bkbg-lc-nav-btn {
182 width: 40px;
183 height: 40px;
184 border-radius: 999px;
185 box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
186 }
187
188 .bkbg-lc-nav-overlay .bkbg-lc-track {
189 padding-left: 48px;
190 padding-right: 48px;
191 }
192
193 /* Logo item */
194 .bkbg-lc-item {
195 display: flex;
196 align-items: center;
197 justify-content: center;
198 width: 100%;
199 background: var(--bkbg-lc-logo-bg);
200 border: var(--bkbg-lc-logo-border-width) solid var(--bkbg-lc-logo-border-color);
201 border-radius: var(--bkbg-lc-logo-radius);
202 padding: var(--bkbg-lc-logo-padding);
203 text-decoration: none;
204 min-height: calc(var(--bkbg-lc-logo-max-h) + (var(--bkbg-lc-logo-padding) * 2));
205 box-sizing: border-box;
206 }
207
208 .bkbg-lc-item img {
209 display: block;
210 width: 100%;
211 height: auto;
212 max-height: var(--bkbg-lc-logo-max-h);
213 object-fit: var(--bkbg-lc-logo-fit, contain);
214 opacity: var(--bkbg-lc-logo-opacity);
215 filter: var(--bkbg-lc-logo-filter);
216 transition: opacity 0.18s ease, filter 0.18s ease, transform 0.18s ease;
217 }
218
219 .bkbg-lc-item:hover img {
220 opacity: var(--bkbg-lc-logo-hover-opacity);
221 filter: var(--bkbg-lc-logo-hover-filter);
222 transform: scale(var(--bkbg-lc-logo-hover-scale, 1.03));
223 }
224
225 .bkbg-lc-placeholder {
226 width: 100%;
227 height: var(--bkbg-lc-logo-max-h);
228 display: flex;
229 align-items: center;
230 justify-content: center;
231 color: rgba(0, 0, 0, 0.5);
232 font-weight: 600;
233 letter-spacing: 0.02em;
234 }
235
236 /* Indicators */
237 .bkbg-lc-indicators {
238 display: flex;
239 justify-content: center;
240 margin-top: 10px;
241 }
242
243 .bkbg-lc-indicators-pos-top .bkbg-lc-indicators {
244 margin-top: 0;
245 margin-bottom: 10px;
246 }
247
248 .bkbg-lc-dots {
249 display: flex;
250 gap: 8px;
251 }
252
253 .bkbg-lc-dot {
254 width: var(--bkbg-lc-indicator-size, 8px);
255 height: var(--bkbg-lc-indicator-size, 8px);
256 border-radius: 999px;
257 border: 0;
258 background: var(--bkbg-lc-indicator-color, rgba(0, 0, 0, 0.22));
259 cursor: pointer;
260 padding: 0;
261 transition: width 0.18s ease, background-color 0.18s ease;
262 }
263
264 .bkbg-lc-dot.is-active {
265 background: var(--bkbg-lc-indicator-active-color, rgba(0, 0, 0, 0.65));
266 }
267
268 .bkbg-lc-dots-style-pill .bkbg-lc-dot.is-active {
269 width: calc(var(--bkbg-lc-indicator-size, 8px) * 2.6);
270 }
271
272 .bkbg-lc-progress {
273 width: min(360px, 100%);
274 height: var(--bkbg-lc-progress-height, 6px);
275 border-radius: 999px;
276 background: var(--bkbg-lc-progress-bg, rgba(0, 0, 0, 0.12));
277 overflow: hidden;
278 }
279
280 .bkbg-lc-progress-style-edge .bkbg-lc-progress {
281 width: 100%;
282 border-radius: 0;
283 }
284
285 .bkbg-lc-progress-style-edge .bkbg-lc-progress-bar {
286 border-radius: 0;
287 }
288
289 .bkbg-lc-progress-bar {
290 height: 100%;
291 width: 0%;
292 background: var(--bkbg-lc-progress-fg, rgba(0, 0, 0, 0.55));
293 border-radius: 999px;
294 }
295
296 .bkbg-lc-fraction {
297 font-size: var(--bkbg-lc-fraction-size, 13px);
298 color: var(--bkbg-lc-fraction-color, rgba(0, 0, 0, 0.65));
299 font-weight: 600;
300 letter-spacing: 0.02em;
301 user-select: none;
302 }
303
304 /* Editor-only item actions */
305 .bkbg-lc-card-actions {
306 position: absolute;
307 top: 10px;
308 right: 10px;
309 display: flex;
310 gap: 6px;
311 opacity: 0;
312 transform: translateY(-4px);
313 transition: opacity 0.15s ease, transform 0.15s ease;
314 z-index: 999999;
315 background: white;
316 }
317
318 .bkbg-lc-slide-inner {
319 position: relative;
320 }
321
322 .bkbg-lc-slide-inner:hover .bkbg-lc-card-actions,
323 .bkbg-lc-slide-inner.is-active .bkbg-lc-card-actions {
324 opacity: 1;
325 transform: translateY(0);
326 }
327
328 .bkbg-lc-card-actions .components-button {
329 min-width: 28px;
330 height: 28px;
331 padding: 0;
332 }
333
334 @media (prefers-reduced-motion: reduce) {
335 .bkbg-lc-track {
336 scroll-behavior: auto;
337 }
338 }
339