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

style.css in Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor 2.0.11, at blocks/marquee/style.css

253 lines 6.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /* ========================================
2 Marquee / Announcement Bar
3 ======================================== */
4
5 .bkbg-marquee-wrap {
6 --bkbg-mq-bg: #1e40af;
7 --bkbg-mq-color: #ffffff;
8 --bkbg-mq-link-hover: #fbbf24;
9 --bkbg-mq-py: 12px;
10 --bkbg-mq-px: 20px;
11 --bkbg-mq-font-size: 15px;
12 --bkbg-mq-font-weight: 500;
13 --bkbg-mq-letter-spacing: 0;
14 --bkbg-mq-speed: 50s;
15 --bkbg-mq-sep-spacing: 40px;
16 --bkbg-mq-border-color: rgba(255,255,255,0.2);
17 --bkbg-mq-border-width: 1px;
18 --bkbg-mq-close-color: #ffffff;
19 --bkbg-mq-z-index: 999;
20
21 position: relative;
22 width: 100%;
23 background: var(--bkbg-mq-bg);
24 color: var(--bkbg-mq-color);
25 overflow: hidden;
26 }
27
28 .bkbg-marquee-wrap.has-shadow {
29 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
30 }
31
32 .bkbg-marquee-wrap.has-border-top {
33 border-top: var(--bkbg-mq-border-width) solid var(--bkbg-mq-border-color);
34 }
35
36 .bkbg-marquee-wrap.has-border-bottom {
37 border-bottom: var(--bkbg-mq-border-width) solid var(--bkbg-mq-border-color);
38 }
39
40 .bkbg-marquee-wrap.is-sticky {
41 position: fixed;
42 left: 0;
43 right: 0;
44 z-index: var(--bkbg-mq-z-index);
45 }
46
47 .bkbg-marquee-wrap.is-sticky-top {
48 top: 0;
49 }
50
51 .bkbg-marquee-wrap.is-sticky-bottom {
52 bottom: 0;
53 }
54
55 .bkbg-marquee-wrap.is-hidden {
56 display: none;
57 }
58
59 .bkbg-marquee-inner {
60 display: flex;
61 align-items: center;
62 padding: var(--bkbg-mq-py) var(--bkbg-mq-px);
63 overflow: hidden;
64 position: relative;
65 }
66
67 .bkbg-marquee-track {
68 display: flex;
69 flex-shrink: 0;
70 animation: bkbg-marquee-scroll var(--bkbg-mq-speed) linear infinite;
71 will-change: transform;
72 }
73
74 .bkbg-marquee-wrap[data-direction="right"] .bkbg-marquee-track {
75 animation-name: bkbg-marquee-scroll-right;
76 }
77
78 .bkbg-marquee-wrap.is-paused .bkbg-marquee-track,
79 .bkbg-marquee-wrap:hover .bkbg-marquee-track {
80 animation-play-state: paused;
81 }
82
83 .bkbg-marquee-wrap:not([data-pause-hover="1"]):hover .bkbg-marquee-track {
84 animation-play-state: running;
85 }
86
87 /* Respect reduced motion preference */
88 @media (prefers-reduced-motion: reduce) {
89 .bkbg-marquee-wrap.respects-motion .bkbg-marquee-track {
90 animation: none;
91 }
92 }
93
94 .bkbg-marquee-content {
95 display: flex;
96 align-items: center;
97 flex-shrink: 0;
98 padding-right: var(--bkbg-mq-sep-spacing);
99 }
100
101 .bkbg-marquee-item {
102 display: inline-flex;
103 align-items: center;
104 font-family: var(--bkbg-mq-tx-font-family, inherit);
105 font-size: var(--bkbg-mq-tx-font-size-d, var(--bkbg-mq-font-size, 15px));
106 font-weight: var(--bkbg-mq-tx-font-weight, var(--bkbg-mq-font-weight, 500));
107 font-style: var(--bkbg-mq-tx-font-style, normal);
108 text-decoration: var(--bkbg-mq-tx-text-decoration, none);
109 text-transform: var(--bkbg-mq-tx-text-transform, none);
110 line-height: var(--bkbg-mq-tx-line-height-d, 1.4);
111 letter-spacing: var(--bkbg-mq-tx-letter-spacing-d, var(--bkbg-mq-letter-spacing, normal));
112 word-spacing: var(--bkbg-mq-tx-word-spacing-d, normal);
113 white-space: nowrap;
114 color: inherit;
115 transition: color 180ms ease;
116 }
117
118 a.bkbg-marquee-item:hover {
119 color: var(--bkbg-mq-link-hover);
120 }
121
122 .bkbg-marquee-separator {
123 display: inline-block;
124 margin: 0 var(--bkbg-mq-sep-spacing);
125 opacity: 0.5;
126 font-size: var(--bkbg-mq-tx-font-size-d, var(--bkbg-mq-font-size, 15px));
127 }
128
129 .bkbg-marquee-gap {
130 display: inline-block;
131 width: var(--bkbg-mq-sep-spacing);
132 height: 1px;
133 flex: 0 0 auto;
134 }
135
136 /* Close button */
137 .bkbg-marquee-close {
138 position: absolute;
139 right: 10px;
140 top: 50%;
141 transform: translateY(-50%);
142 width: 28px;
143 height: 28px;
144 border: 0;
145 background: transparent;
146 color: var(--bkbg-mq-close-color);
147 cursor: pointer;
148 display: flex;
149 align-items: center;
150 justify-content: center;
151 border-radius: 4px;
152 opacity: 0.7;
153 transition: opacity 180ms ease, background 180ms ease;
154 z-index: 2;
155 }
156
157 .bkbg-marquee-close:hover {
158 opacity: 1;
159 background: rgba(0, 0, 0, 0.1);
160 }
161
162 .bkbg-marquee-close svg {
163 width: 16px;
164 height: 16px;
165 fill: currentColor;
166 }
167
168 /* Keyframes */
169 @keyframes bkbg-marquee-scroll {
170 0% {
171 transform: translateX(0);
172 }
173 100% {
174 transform: translateX(-50%);
175 }
176 }
177
178 @keyframes bkbg-marquee-scroll-right {
179 0% {
180 transform: translateX(-50%);
181 }
182 100% {
183 transform: translateX(0);
184 }
185 }
186
187 /* Editor styles */
188 .editor-styles-wrapper .bkbg-marquee-wrap {
189 outline: 1px dashed rgba(0, 124, 186, 0.25);
190 outline-offset: -1px;
191 /* Ensure editor label (::before) is visible (not clipped) */
192 overflow: visible;
193 }
194
195 .bkbg-marquee-editor-items {
196 padding: 16px;
197 background: rgba(0, 0, 0, 0.03);
198 border-radius: 8px;
199 margin-bottom: 12px;
200 }
201
202 .bkbg-marquee-editor-item {
203 display: grid;
204 grid-template-columns: 1fr auto;
205 gap: 8px;
206 padding: 12px;
207 background: #fff;
208 border: 1px solid rgba(0, 0, 0, 0.1);
209 border-radius: 6px;
210 margin-bottom: 8px;
211 align-items: start;
212 }
213
214 .bkbg-marquee-editor-item:last-child {
215 margin-bottom: 0;
216 }
217
218 .bkbg-marquee-editor-item-fields {
219 display: grid;
220 gap: 8px;
221 }
222
223 .bkbg-marquee-editor-item-actions {
224 display: flex;
225 flex-direction: column;
226 gap: 4px;
227 }
228
229 .bkbg-marquee-editor-item-actions button {
230 padding: 4px 8px;
231 font-size: 11px;
232 }
233
234 /* Text transform classes */
235 .bkbg-marquee-wrap.text-uppercase .bkbg-marquee-item {
236 text-transform: uppercase;
237 }
238
239 .bkbg-marquee-wrap.text-lowercase .bkbg-marquee-item {
240 text-transform: lowercase;
241 }
242
243 .bkbg-marquee-wrap.text-capitalize .bkbg-marquee-item {
244 text-transform: capitalize;
245 }
246
247 @media (max-width: 1024px) {
248 .bkbg-marquee-item { font-size: var(--bkbg-mq-tx-font-size-t, var(--bkbg-mq-font-size, 15px)); line-height: var(--bkbg-mq-tx-line-height-t, 1.4); letter-spacing: var(--bkbg-mq-tx-letter-spacing-t, var(--bkbg-mq-letter-spacing, normal)); word-spacing: var(--bkbg-mq-tx-word-spacing-t, normal); }
249 }
250 @media (max-width: 767px) {
251 .bkbg-marquee-item { font-size: var(--bkbg-mq-tx-font-size-m, var(--bkbg-mq-font-size, 15px)); line-height: var(--bkbg-mq-tx-line-height-m, 1.4); letter-spacing: var(--bkbg-mq-tx-letter-spacing-m, var(--bkbg-mq-letter-spacing, normal)); word-spacing: var(--bkbg-mq-tx-word-spacing-m, normal); }
252 }
253