PluginProbe
Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor / 2.0.7
Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor v2.0.7
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 / horizontal-timeline / style.css

style.css in Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor 2.0.7, at blocks/horizontal-timeline/style.css

230 lines 8.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /* ── Horizontal Timeline ─────────────────────────────────────── */
2 .bkbg-ht-app { font-family: inherit; }
3
4 .bkbg-ht-section {
5 position: relative;
6 overflow: hidden;
7 user-select: none;
8 }
9
10 /* scrollable track */
11 .bkbg-ht-track-wrap {
12 position: relative;
13 overflow-x: auto;
14 overflow-y: visible;
15 scrollbar-width: none;
16 -ms-overflow-style: none;
17 cursor: grab;
18 }
19 .bkbg-ht-track-wrap::-webkit-scrollbar { display: none; }
20 .bkbg-ht-track-wrap.bkbg-ht-dragging { cursor: grabbing; }
21
22 /* horizontal line */
23 .bkbg-ht-line {
24 position: absolute;
25 left: 0;
26 right: 0;
27 pointer-events: none;
28 z-index: 0;
29 }
30
31 /* track flex container */
32 .bkbg-ht-track {
33 display: flex;
34 align-items: center;
35 position: relative;
36 z-index: 1;
37 }
38
39 /* per-item column */
40 .bkbg-ht-item-col {
41 display: flex;
42 flex-direction: column;
43 align-items: center;
44 position: relative;
45 flex-shrink: 0;
46 }
47
48 /* alignment helpers */
49 .bkbg-ht-item-col.bkbg-ht-top { justify-content: flex-start; }
50 .bkbg-ht-item-col.bkbg-ht-bottom { justify-content: flex-end; }
51
52 /* connector rod between card and dot */
53 .bkbg-ht-connector {
54 width: 2px;
55 background: var(--ht-line-color, #6366f1);
56 opacity: 0.35;
57 flex-shrink: 0;
58 }
59
60 /* dot */
61 .bkbg-ht-dot {
62 border-radius: 50%;
63 flex-shrink: 0;
64 position: relative;
65 z-index: 3;
66 transition: transform 0.25s, box-shadow 0.25s;
67 }
68 .bkbg-ht-item-col:hover .bkbg-ht-dot {
69 transform: scale(1.3);
70 }
71
72 /* card */
73 .bkbg-ht-card {
74 position: relative;
75 z-index: 2;
76 transition: transform 0.25s, box-shadow 0.25s;
77 box-sizing: border-box;
78 }
79 .bkbg-ht-item-col:hover .bkbg-ht-card {
80 transform: translateY(-3px);
81 }
82
83 .bkbg-ht-card-icon { line-height: 1; margin-bottom: 8px; }
84 .bkbg-ht-card-icon svg { width: 1em; height: 1em; fill: currentColor; }
85 .bkbg-ht-card-icon .dashicons { font-size: inherit; width: 1em; height: 1em; line-height: 1; }
86 .bkbg-ht-card-icon .bkbg-icon-img { width: 1em; height: 1em; object-fit: contain; }
87
88 /* ── date typography (CSS-var driven) ───── */
89 .bkbg-ht-card-date {
90 text-transform: var(--bkbg-ht-date-text-transform, uppercase);
91 letter-spacing: var(--bkbg-ht-date-letter-spacing-d, 0.6px);
92 margin-bottom: 4px;
93 font-family: var(--bkbg-ht-date-font-family, inherit);
94 font-size: var(--bkbg-ht-date-font-size-d, var(--bkbg-ht-date-sz, 11px));
95 font-weight: var(--bkbg-ht-date-font-weight, 700);
96 font-style: var(--bkbg-ht-date-font-style, normal);
97 text-decoration: var(--bkbg-ht-date-text-decoration, none);
98 line-height: var(--bkbg-ht-date-line-height-d, 1.4);
99 word-spacing: var(--bkbg-ht-date-word-spacing-d, normal);
100 }
101
102 /* ── title typography (CSS-var driven) ───── */
103 .bkbg-ht-card-title {
104 margin-bottom: 6px;
105 font-family: var(--bkbg-ht-tt-font-family, inherit);
106 font-size: var(--bkbg-ht-tt-font-size-d, var(--bkbg-ht-tt-sz, 13px));
107 font-weight: var(--bkbg-ht-tt-font-weight, var(--bkbg-ht-tt-fw, 600));
108 font-style: var(--bkbg-ht-tt-font-style, normal);
109 text-decoration: var(--bkbg-ht-tt-text-decoration, none);
110 text-transform: var(--bkbg-ht-tt-text-transform, none);
111 line-height: var(--bkbg-ht-tt-line-height-d, var(--bkbg-ht-tt-lh, 1.35));
112 letter-spacing: var(--bkbg-ht-tt-letter-spacing-d, normal);
113 word-spacing: var(--bkbg-ht-tt-word-spacing-d, normal);
114 }
115
116 /* ── description typography (CSS-var driven) ───── */
117 .bkbg-ht-card-desc {
118 font-family: var(--bkbg-ht-desc-font-family, inherit);
119 font-size: var(--bkbg-ht-desc-font-size-d, var(--bkbg-ht-desc-sz, 11px));
120 font-weight: var(--bkbg-ht-desc-font-weight, normal);
121 font-style: var(--bkbg-ht-desc-font-style, normal);
122 text-decoration: var(--bkbg-ht-desc-text-decoration, none);
123 text-transform: var(--bkbg-ht-desc-text-transform, none);
124 line-height: var(--bkbg-ht-desc-line-height-d, var(--bkbg-ht-desc-lh, 1.55));
125 letter-spacing: var(--bkbg-ht-desc-letter-spacing-d, normal);
126 word-spacing: var(--bkbg-ht-desc-word-spacing-d, normal);
127 }
128
129 /* ── Responsive: Tablet ───── */
130 @media (max-width: 1024px) {
131 .bkbg-ht-card-date {
132 font-size: var(--bkbg-ht-date-font-size-t, var(--bkbg-ht-date-font-size-d, var(--bkbg-ht-date-sz, 11px)));
133 line-height: var(--bkbg-ht-date-line-height-t, var(--bkbg-ht-date-line-height-d, 1.4));
134 letter-spacing: var(--bkbg-ht-date-letter-spacing-t, var(--bkbg-ht-date-letter-spacing-d, 0.6px));
135 word-spacing: var(--bkbg-ht-date-word-spacing-t, var(--bkbg-ht-date-word-spacing-d, normal));
136 }
137 .bkbg-ht-card-title {
138 font-size: var(--bkbg-ht-tt-font-size-t, var(--bkbg-ht-tt-font-size-d, var(--bkbg-ht-tt-sz, 13px)));
139 line-height: var(--bkbg-ht-tt-line-height-t, var(--bkbg-ht-tt-line-height-d, var(--bkbg-ht-tt-lh, 1.35)));
140 letter-spacing: var(--bkbg-ht-tt-letter-spacing-t, var(--bkbg-ht-tt-letter-spacing-d, normal));
141 word-spacing: var(--bkbg-ht-tt-word-spacing-t, var(--bkbg-ht-tt-word-spacing-d, normal));
142 }
143 .bkbg-ht-card-desc {
144 font-size: var(--bkbg-ht-desc-font-size-t, var(--bkbg-ht-desc-font-size-d, var(--bkbg-ht-desc-sz, 11px)));
145 line-height: var(--bkbg-ht-desc-line-height-t, var(--bkbg-ht-desc-line-height-d, var(--bkbg-ht-desc-lh, 1.55)));
146 letter-spacing: var(--bkbg-ht-desc-letter-spacing-t, var(--bkbg-ht-desc-letter-spacing-d, normal));
147 word-spacing: var(--bkbg-ht-desc-word-spacing-t, var(--bkbg-ht-desc-word-spacing-d, normal));
148 }
149 }
150
151 /* ── Responsive: Mobile ───── */
152 @media (max-width: 767px) {
153 .bkbg-ht-card-date {
154 font-size: var(--bkbg-ht-date-font-size-m, var(--bkbg-ht-date-font-size-t, var(--bkbg-ht-date-font-size-d, var(--bkbg-ht-date-sz, 11px))));
155 line-height: var(--bkbg-ht-date-line-height-m, var(--bkbg-ht-date-line-height-t, var(--bkbg-ht-date-line-height-d, 1.4)));
156 letter-spacing: var(--bkbg-ht-date-letter-spacing-m, var(--bkbg-ht-date-letter-spacing-t, var(--bkbg-ht-date-letter-spacing-d, 0.6px)));
157 word-spacing: var(--bkbg-ht-date-word-spacing-m, var(--bkbg-ht-date-word-spacing-t, var(--bkbg-ht-date-word-spacing-d, normal)));
158 }
159 .bkbg-ht-card-title {
160 font-size: var(--bkbg-ht-tt-font-size-m, var(--bkbg-ht-tt-font-size-t, var(--bkbg-ht-tt-font-size-d, var(--bkbg-ht-tt-sz, 13px))));
161 line-height: var(--bkbg-ht-tt-line-height-m, var(--bkbg-ht-tt-line-height-t, var(--bkbg-ht-tt-line-height-d, var(--bkbg-ht-tt-lh, 1.35))));
162 letter-spacing: var(--bkbg-ht-tt-letter-spacing-m, var(--bkbg-ht-tt-letter-spacing-t, var(--bkbg-ht-tt-letter-spacing-d, normal)));
163 word-spacing: var(--bkbg-ht-tt-word-spacing-m, var(--bkbg-ht-tt-word-spacing-t, var(--bkbg-ht-tt-word-spacing-d, normal)));
164 }
165 .bkbg-ht-card-desc {
166 font-size: var(--bkbg-ht-desc-font-size-m, var(--bkbg-ht-desc-font-size-t, var(--bkbg-ht-desc-font-size-d, var(--bkbg-ht-desc-sz, 11px))));
167 line-height: var(--bkbg-ht-desc-line-height-m, var(--bkbg-ht-desc-line-height-t, var(--bkbg-ht-desc-line-height-d, var(--bkbg-ht-desc-lh, 1.55))));
168 letter-spacing: var(--bkbg-ht-desc-letter-spacing-m, var(--bkbg-ht-desc-letter-spacing-t, var(--bkbg-ht-desc-letter-spacing-d, normal)));
169 word-spacing: var(--bkbg-ht-desc-word-spacing-m, var(--bkbg-ht-desc-word-spacing-t, var(--bkbg-ht-desc-word-spacing-d, normal)));
170 }
171 }
172
173 .bkbg-ht-card-img {
174 width: 100%;
175 border-radius: 8px;
176 object-fit: cover;
177 margin-bottom: 10px;
178 display: block;
179 }
180
181 /* navigation arrows */
182 .bkbg-ht-arrows {
183 display: flex;
184 justify-content: center;
185 gap: 12px;
186 margin-top: 16px;
187 }
188 .bkbg-ht-arrow {
189 width: 40px;
190 height: 40px;
191 border-radius: 50%;
192 border: none;
193 cursor: pointer;
194 font-size: 16px;
195 display: flex;
196 align-items: center;
197 justify-content: center;
198 transition: opacity 0.2s, transform 0.15s;
199 }
200 .bkbg-ht-arrow:hover { transform: scale(1.1); }
201 .bkbg-ht-arrow:disabled { opacity: 0.3; cursor: default; }
202
203 /* scroll-reveal animation */
204 .bkbg-ht-hidden {
205 opacity: 0;
206 transform: translateY(24px);
207 transition: opacity 0.5s ease, transform 0.5s ease;
208 }
209 .bkbg-ht-visible {
210 opacity: 1;
211 transform: translateY(0);
212 }
213 .bkbg-ht-item-col.bkbg-ht-bottom .bkbg-ht-hidden {
214 transform: translateY(-24px);
215 }
216
217 /* fade edges */
218 .bkbg-ht-section::before,
219 .bkbg-ht-section::after {
220 content: '';
221 position: absolute;
222 top: 0;
223 bottom: 0;
224 width: 48px;
225 z-index: 10;
226 pointer-events: none;
227 }
228 .bkbg-ht-section::before { left: 0; background: linear-gradient(to right, var(--ht-section-bg, #f8fafc), transparent); }
229 .bkbg-ht-section::after { right: 0; background: linear-gradient(to left, var(--ht-section-bg, #f8fafc), transparent); }
230