PluginProbe
Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor / 2.0.13
Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor v2.0.13
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 / tech-stack / style.css

style.css in Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor 2.0.13, at blocks/tech-stack/style.css

224 lines 8.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /* ── Tech Stack ─────────────────────────────────────────────────────────────── */
2 .bkbg-ts-wrapper {
3 box-sizing: border-box;
4 width: 100%;
5 }
6
7 .bkbg-ts {
8 display: flex;
9 flex-direction: column;
10 }
11
12 /* Category label */
13 .bkbg-ts-cat-label {
14 font-size: var(--bkbg-ts-cat-size, 12px);
15 font-weight: 800;
16 text-transform: uppercase;
17 letter-spacing: 0.1em;
18 color: var(--bkbg-ts-cat-color, #9ca3af);
19 margin: 0 0 16px;
20 }
21
22 /* Grid */
23 .bkbg-ts-grid {
24 display: grid;
25 }
26
27 /* ── Item base ──────────────────────────────────────────────────────────────── */
28 .bkbg-ts-item {
29 display: flex;
30 flex-direction: column;
31 align-items: center;
32 gap: 8px;
33 text-align: center;
34 transition: transform 0.22s ease, box-shadow 0.22s ease, filter 0.22s ease;
35 text-decoration: none;
36 cursor: default;
37 }
38
39 a.bkbg-ts-item {
40 cursor: pointer;
41 }
42
43 .bkbg-ts-item img {
44 width: var(--bkbg-ts-icon-size, 48px);
45 height: var(--bkbg-ts-icon-size, 48px);
46 object-fit: contain;
47 display: block;
48 transition: filter 0.22s ease;
49 flex-shrink: 0;
50 }
51
52 /* ── Cards display style ────────────────────────────────────────────────────── */
53 .bkbg-ts--cards .bkbg-ts-item {
54 background: var(--bkbg-ts-card-bg, #fff);
55 border-radius: var(--bkbg-ts-radius, 12px);
56 padding: var(--bkbg-ts-pad, 20px);
57 box-shadow: var(--bkbg-ts-shadow, none);
58 }
59
60 .bkbg-ts--cards .bkbg-ts-item.has-border {
61 border: 1px solid var(--bkbg-ts-border, #e5e7eb);
62 }
63
64 /* ── Inline display style ───────────────────────────────────────────────────── */
65 .bkbg-ts--inline .bkbg-ts-item {
66 flex-direction: row;
67 gap: 10px;
68 text-align: left;
69 }
70
71 .bkbg-ts--inline .bkbg-ts-label-wrap {
72 align-items: flex-start;
73 }
74
75 /* ── Label ─────────────────────────────────────────────────────────────────── */
76 .bkbg-ts-label-wrap {
77 display: flex;
78 flex-direction: column;
79 align-items: center;
80 }
81
82 .bkbg-ts--inline .bkbg-ts-label-wrap {
83 align-items: flex-start;
84 }
85
86 .bkbg-ts-label {
87 font-family: var(--bktst-lb-font-family, inherit);
88 font-size: var(--bktst-lb-font-size-d, 13px);
89 line-height: var(--bktst-lb-line-height-d, 1.3);
90 letter-spacing: var(--bktst-lb-letter-spacing-d, normal);
91 word-spacing: var(--bktst-lb-word-spacing-d, normal);
92 font-weight: var(--bktst-lb-font-weight, 700);
93 font-style: var(--bktst-lb-font-style, normal);
94 text-decoration: var(--bktst-lb-text-decoration, none);
95 text-transform: var(--bktst-lb-text-transform, none);
96 color: var(--bkbg-ts-label-color, #111827);
97 }
98
99 .bkbg-ts-desc {
100 font-family: var(--bktst-ds-font-family, inherit);
101 font-size: var(--bktst-ds-font-size-d, 11px);
102 line-height: var(--bktst-ds-line-height-d, 1.4);
103 letter-spacing: var(--bktst-ds-letter-spacing-d, normal);
104 word-spacing: var(--bktst-ds-word-spacing-d, normal);
105 font-weight: var(--bktst-ds-font-weight, 400);
106 font-style: var(--bktst-ds-font-style, normal);
107 text-decoration: var(--bktst-ds-text-decoration, none);
108 text-transform: var(--bktst-ds-text-transform, none);
109 color: var(--bkbg-ts-desc-color, #9ca3af);
110 margin-top: 2px;
111 }
112
113 /* ── Proficiency dots ───────────────────────────────────────────────────────── */
114 .bkbg-ts-prof-dots {
115 display: flex;
116 gap: 3px;
117 justify-content: center;
118 margin-top: 6px;
119 }
120
121 .bkbg-ts-prof-dots div {
122 width: 6px;
123 height: 6px;
124 border-radius: 50%;
125 }
126
127 /* ── Proficiency bar ────────────────────────────────────────────────────────── */
128 .bkbg-ts-prof-bar {
129 height: 3px;
130 background: #e5e7eb;
131 border-radius: 3px;
132 margin-top: 8px;
133 overflow: hidden;
134 width: 100%;
135 }
136
137 .bkbg-ts-prof-bar div {
138 height: 100%;
139 border-radius: 3px;
140 }
141
142 /* ── Proficiency label ──────────────────────────────────────────────────────── */
143 .bkbg-ts-prof-label {
144 font-size: 10px;
145 font-weight: 700;
146 padding: 2px 8px;
147 border-radius: 99px;
148 display: inline-block;
149 margin-top: 6px;
150 }
151
152 /* ── Hover effects ──────────────────────────────────────────────────────────── */
153 .bkbg-ts-item.bkbg-ts-hover-lift:hover {
154 transform: translateY(-5px);
155 }
156
157 .bkbg-ts-item.bkbg-ts-hover-glow:hover {
158 box-shadow: 0 0 18px var(--bkbg-ts-accent, #6c3fb5);
159 }
160
161 /* Color on hover: grayscale items get color back */
162 .bkbg-ts-wrapper[class*="color-on-hover"] .bkbg-ts-item img {
163 filter: grayscale(100%);
164 }
165
166 .bkbg-ts-wrapper[class*="color-on-hover"] .bkbg-ts-item:hover img {
167 filter: none;
168 }
169
170 /* ── Animate on scroll ──────────────────────────────────────────────────────── */
171 .bkbg-ts-item.bkbg-ts-anim {
172 opacity: 0;
173 transform: translateY(18px);
174 transition: opacity 0.45s ease, transform 0.45s ease;
175 }
176
177 .bkbg-ts-item.bkbg-ts-anim.bkbg-ts-visible {
178 opacity: 1;
179 transform: translateY(0);
180 }
181
182 /* ── Responsive ─────────────────────────────────────────────────────────────── */
183 @media (max-width: 1024px) {
184 .bkbg-ts-label {
185 font-size: var(--bktst-lb-font-size-t, var(--bktst-lb-font-size-d, 13px));
186 line-height: var(--bktst-lb-line-height-t, var(--bktst-lb-line-height-d, 1.3));
187 letter-spacing: var(--bktst-lb-letter-spacing-t, var(--bktst-lb-letter-spacing-d, normal));
188 word-spacing: var(--bktst-lb-word-spacing-t, var(--bktst-lb-word-spacing-d, normal));
189 }
190 .bkbg-ts-desc {
191 font-size: var(--bktst-ds-font-size-t, var(--bktst-ds-font-size-d, 11px));
192 line-height: var(--bktst-ds-line-height-t, var(--bktst-ds-line-height-d, 1.4));
193 letter-spacing: var(--bktst-ds-letter-spacing-t, var(--bktst-ds-letter-spacing-d, normal));
194 word-spacing: var(--bktst-ds-word-spacing-t, var(--bktst-ds-word-spacing-d, normal));
195 }
196 }
197
198 @media (max-width: 767px) {
199 .bkbg-ts-label {
200 font-size: var(--bktst-lb-font-size-m, var(--bktst-lb-font-size-t, var(--bktst-lb-font-size-d, 13px)));
201 line-height: var(--bktst-lb-line-height-m, var(--bktst-lb-line-height-t, var(--bktst-lb-line-height-d, 1.3)));
202 letter-spacing: var(--bktst-lb-letter-spacing-m, var(--bktst-lb-letter-spacing-t, var(--bktst-lb-letter-spacing-d, normal)));
203 word-spacing: var(--bktst-lb-word-spacing-m, var(--bktst-lb-word-spacing-t, var(--bktst-lb-word-spacing-d, normal)));
204 }
205 .bkbg-ts-desc {
206 font-size: var(--bktst-ds-font-size-m, var(--bktst-ds-font-size-t, var(--bktst-ds-font-size-d, 11px)));
207 line-height: var(--bktst-ds-line-height-m, var(--bktst-ds-line-height-t, var(--bktst-ds-line-height-d, 1.4)));
208 letter-spacing: var(--bktst-ds-letter-spacing-m, var(--bktst-ds-letter-spacing-t, var(--bktst-ds-letter-spacing-d, normal)));
209 word-spacing: var(--bktst-ds-word-spacing-m, var(--bktst-ds-word-spacing-t, var(--bktst-ds-word-spacing-d, normal)));
210 }
211 }
212
213 @media (max-width: 768px) {
214 .bkbg-ts-grid {
215 grid-template-columns: repeat(3, 1fr) !important;
216 }
217 }
218
219 @media (max-width: 480px) {
220 .bkbg-ts-grid {
221 grid-template-columns: repeat(2, 1fr) !important;
222 }
223 }
224