PluginProbe
Document Embedder – let visitors read files without downloading / trunk
Document Embedder – let visitors read files without downloading vtrunk
2.3.1 2.3.0 2.2.1 2.2.0 2.1.2 2.1.1 trunk 1.0 1.1 1.2 1.3 1.7.4 1.7.6 1.7.9 1.8.1 1.8.2 1.8.3 1.8.5 1.8.6 1.8.7 1.8.8 1.8.9 2.0.0 2.0.1 2.0.2 All 30 releases
document-emberdder / assets / css / style.css

style.css in Document Embedder – let visitors read files without downloading trunk, at assets/css/style.css

629 lines 12.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /* ShortCode After Title */
2 .bplde_shortcode_area_after_title {
3 display: flex;
4 background: #fff;
5 padding: 5px 15px;
6 align-items: center;
7 gap: 15px;
8 border-radius: 3px;
9 margin-top: 10px;
10 border: 1px solid #ccc;
11 }
12
13 .bplde_shortcode_area_after_title label {
14 font-weight: 500;
15 font-size: 1rem;
16 }
17
18 .bplde_shortcode_area_after_title .shortcode_area {
19 display: flex;
20 align-items: center;
21 gap: 10px;
22 }
23
24 .bplde_shortcode_area_after_title .shortcode_area svg {
25 cursor: pointer;
26 }
27
28 /* ShortCode Column */
29 .bplde_front_shortcode input {
30 cursor: pointer;
31 }
32
33 .bplde_front_shortcode {
34 position: relative;
35 display: inline-block;
36 }
37
38 .bplde_front_shortcode .htooltip {
39 visibility: hidden;
40 width: 140px;
41 background-color: #555;
42 color: #fff;
43 text-align: center;
44 border-radius: 6px;
45 padding: 5px;
46 position: absolute;
47 z-index: 1;
48 bottom: 150%;
49 left: 50%;
50 margin-left: -75px;
51 opacity: 0;
52 transition: opacity 0.3s;
53 }
54
55 .bplde_front_shortcode .htooltip::after {
56 content: "";
57 position: absolute;
58 top: 100%;
59 left: 50%;
60 margin-left: -5px;
61 border-width: 5px;
62 border-style: solid;
63 border-color: #555 transparent transparent transparent;
64 }
65
66 .bplde_front_shortcode:hover .htooltip {
67 visibility: visible;
68 opacity: 1;
69 }
70
71 /* Upgrade Notice */
72 .bplde_upgrade_notice {
73 border: 1px solid #ccc;
74 background: linear-gradient(#fefefe, #f5f5f5);
75 padding: 15px;
76 border-radius: 5px;
77 margin-bottom: 15px;
78 margin-top: 35px;
79 margin-right: 20px;
80 display: flex;
81 justify-content: space-between;
82 align-items: center;
83 }
84
85 .bplde_upgrade_notice .flex {
86 display: flex;
87 align-items: center;
88 gap: 10px;
89 }
90
91 .bplde_upgrade_notice a.button {
92 background: #f19610fa;
93 border: none;
94 padding: 4px 15px;
95 font-weight: 500;
96 display: flex;
97 align-items: center;
98 gap: 8px;
99 cursor: pointer;
100 text-transform: uppercase;
101 font-size: 13px;
102 }
103
104 .bplde_upgrade_notice a.button:hover,
105 .bplde_upgrade_notice a.button:focus,
106 .bplde_upgrade_notice a.button:active {
107 background: #d5840e;
108 border: none;
109 box-shadow: none;
110 }
111
112 @media (max-width: 1320px) {
113 .bplde_upgrade_notice {
114 display: none;
115 }
116 }
117
118 /* Pro Field CSS */
119 .bplde-field-title,
120 .bplde-new-title {
121 display: flex;
122 justify-content: space-between;
123 align-items: center;
124 }
125
126 .bplde-field-title h4,
127 .bplde-new-title h4 {
128 margin: 0;
129 }
130
131 .bplde-field-title span {
132 color: #fff;
133 background: #146ef5;
134 padding: 3px 10px;
135 border-radius: 0;
136 height: fit-content;
137 }
138 /* Opacity rules for lock fields */
139 .bplde-lock-field.section:not(.has-doc) {
140 opacity: 0.5;
141 }
142
143 .bplde-lock-field:not(.section):not(.has-doc) .csf-fieldset {
144 opacity: 0.5;
145 }
146
147 .bplde-lock-field.has-doc .csf-title,
148 .bplde-lock-field.has-doc .csf-fieldset .csf-before-text,
149 .bplde-lock-field.has-doc .csf-fieldset input {
150 opacity: 0.5;
151 }
152
153 .csf-field.bplde-lock-field:hover::after {
154 display: block;
155 }
156
157 .csf-field.bplde-lock-field::before {
158 display: block;
159 width: 85%;
160 height: 100%;
161 content: "";
162 position: absolute;
163 z-index: 999;
164 overflow: hidden;
165 top: 0;
166 left: 0;
167 }
168
169 .csf-field.bplde-lock-field::after {
170 display: none;
171 content: "";
172 width: 85%;
173 height: 100%;
174 position: absolute;
175 z-index: 9999999;
176 }
177 .csf-field.bplde-lock-field.has-doc {
178 opacity: 1 !important;
179 }
180
181 /* For Documentation link */
182 .bplde-doc-link {
183 width: fit-content;
184 height: fit-content;
185 position: absolute;
186 z-index: 999;
187 top: 30%;
188 right: 6px;
189 margin-right: 30px;
190 display: inline-block;
191 padding: 6px 10px;
192 border: 1px solid #146ef5;
193 background: #fff;
194 color: #146ef5;
195 text-decoration: none;
196 font-weight: 500;
197 border-radius: 0;
198 transition: all 0.3s ease;
199 }
200
201 .bplde-doc-link:hover {
202 background: #146ef5;
203 color: #fff;
204 }
205
206 /* Metabox Upgrade Section */
207 .bplde-metabox-upgrade-section {
208 display: flex;
209 align-items: center;
210 justify-content: center;
211 gap: 10px;
212 }
213
214 .button.button-bplugins {
215 background: #146ef5;
216 color: #fff;
217 }
218
219 .button.button-bplugins:hover,
220 .button.button-bplugins:focus,
221 .button.button-bplugins:active {
222 background: #0b50b8;
223 color: #fff;
224 }
225
226
227 .csf-field #picker_container {
228 display: flex;
229 justify-content: center;
230 gap: 20px;
231 }
232
233 .dropbox-dropin-btn,
234 .dropbox-dropin-btn-default {
235 padding: 15px !important;
236 display: flex !important;
237 margin: 0 !important;
238 border: 1px solid #267ffc !important;
239 justify-content: center !important;
240 align-items: center !important;
241 font-size: 14px !important;
242 }
243
244 .google-drive-picker-btn {
245 padding: 13px;
246 border: 1px solid #267ffc;
247 display: flex;
248 justify-content: center;
249 font-size: 16px;
250 align-items: center;
251 cursor: pointer;
252 }
253
254 .dropbox-dropin-btn .dropin-btn-status {
255 height: 18px;
256 }
257
258 /* Upgrade Button Design */
259 .fs-submenu-item.document-emberdder.pricing.upgrade-mode {
260 background: #267ffc;
261 border-radius: 0;
262 color: #fff;
263 display: inline-block;
264 padding: 6px 40px 6px 15px;
265 }
266
267 .fs-submenu-item.document-emberdder.pricing.upgrade-mode {
268 color: white;
269 }
270
271 /* New Badge */
272 .bplde-new-badge {
273 color: #fff;
274 background: #ff9800;
275 padding: 2px 6px;
276 border-radius: 0;
277 font-size: 9px;
278 margin-left: 5px;
279 vertical-align: middle;
280 text-transform: uppercase;
281 font-weight: 600;
282 line-height: 1;
283 display: inline-block;
284 }
285
286 /* PDF Only Badge */
287 .bplde-pdf-only-badge {
288 color: #ffffff;
289 background: #8b5cf6;
290 padding: 2px 6px;
291 border-radius: 0;
292 font-size: 9px;
293 margin-left: 5px;
294 vertical-align: middle;
295 text-transform: uppercase;
296 font-weight: 600;
297 line-height: 1;
298 display: inline-block;
299 }
300 /* Preview Metabox Styles */
301 #bplde_live_preview .inside {
302 margin: 0;
303 padding: 0;
304 }
305
306 .bplde-preview-bar {
307 display: flex;
308 align-items: center;
309 justify-content: space-between;
310 gap: 12px;
311 padding: 10px 12px;
312 background: #f9fafb;
313 border-bottom: 1px solid #e5e7eb;
314 }
315
316 .bplde-preview-actions {
317 display: flex;
318 align-items: center;
319 gap: 10px;
320 }
321
322 .bplde-preview-status {
323 font-size: 12px;
324 color: #6b7280;
325 }
326
327 .bplde-preview-status.is-busy {
328 color: #3858e9;
329 }
330
331 .bplde-preview-devices {
332 display: inline-flex;
333 border: 1px solid #d1d5db;
334 border-radius: 0;
335 overflow: hidden;
336 background: #fff;
337 }
338
339 .bplde-preview-device, .bplde-preview-refresh {
340 border: 0;
341 background: transparent;
342 cursor: pointer;
343 padding: 5px 12px;
344 font-size: 12px;
345 color: #4b5563;
346 line-height: 20px;
347 }
348 .bplde-preview-refresh {
349 border: 1px solid #3858e9;
350 }
351
352 .bplde-preview-device+.bplde-preview-device {
353 border-left: 1px solid #e5e7eb;
354 }
355
356 .bplde-preview-device:hover {
357 background: #f3f4f6;
358 }
359
360 .bplde-preview-device.is-active {
361 background: #3858e9;
362 color: #fff;
363 }
364
365 .bplde-preview-stage {
366 display: flex;
367 justify-content: center;
368 padding: 16px;
369 background: #f1f3f5;
370 }
371
372 .bplde-preview-stage iframe {
373 width: 100%;
374 max-width: 100%;
375 height: 640px;
376 border: 0;
377 background: #fff;
378 box-shadow: 0 1px 3px rgba(0, 0, 0, .12);
379 transition: width .2s ease, height .2s ease;
380 }
381
382 /* Go-to-preview button: always on screen, since the preview box now sits below the
383 configuration box. */
384 .bplde-preview-jump {
385 position: fixed;
386 right: 260px;
387 bottom: 80px;
388 z-index: 100001;
389 display: inline-flex;
390 align-items: center;
391 gap: 8px;
392 padding: 10px 16px;
393 border: 1px solid #3858e9;
394 background: #3858e9;
395 color: #fff;
396 font-size: 13px;
397 line-height: 1;
398 cursor: pointer;
399 box-shadow: 0 4px 12px rgba(0, 0, 0, .18);
400 }
401
402 .bplde-preview-jump:hover {
403 background: #2c48c9;
404 border-color: #2c48c9;
405 color: #fff;
406 }
407
408 /* No focus ring on click — :focus fires for mouse presses too, which put a dark outline round
409 the button every time it was used. :focus-visible limits it to keyboard focus, and the ring
410 is white so it reads against the blue instead of as a black box. */
411 .bplde-preview-jump:focus:not(:focus-visible) {
412 outline: none;
413 }
414
415 .bplde-preview-jump:focus-visible {
416 outline: 2px solid #fff;
417 outline-offset: -4px;
418 }
419
420 .bplde-preview-jump-icon {
421 display: inline-flex;
422 align-items: center;
423 }
424
425 /* Continuous wave so the button stays noticeable. Two rings offset by half the cycle keep it
426 flowing instead of pulsing in bursts. They are pseudo-elements rather than an animation on
427 the button itself, so its own drop shadow is left alone; they are transparent inside, so the
428 expanding ring never washes over the icon or the label. box-shadow spread is used instead of
429 transform:scale() because spread grows by an equal number of pixels on every side, which
430 keeps the wave square on a wide button — scaling would stretch it horizontally. */
431 .bplde-preview-jump::before,
432 .bplde-preview-jump::after {
433 content: "";
434 position: absolute;
435 top: 0;
436 right: 0;
437 bottom: 0;
438 left: 0;
439 background: transparent;
440 pointer-events: none;
441 animation: bplde-preview-wave 2.6s cubic-bezier(.22, .61, .36, 1) infinite;
442 }
443
444 .bplde-preview-jump::after {
445 animation-delay: 1.3s;
446 }
447
448 @keyframes bplde-preview-wave {
449 0% {
450 box-shadow: 0 0 0 0 rgba(56, 88, 233, .55);
451 }
452
453 100% {
454 box-shadow: 0 0 0 18px rgba(56, 88, 233, 0);
455 }
456 }
457
458 /* Respect a reduced-motion preference; the button is already permanently visible without it. */
459 @media (prefers-reduced-motion: reduce) {
460
461 .bplde-preview-jump::before,
462 .bplde-preview-jump::after {
463 animation: none;
464 }
465 }
466
467
468 .bplde-preview-note {
469 margin: 0;
470 padding: 8px 12px;
471 font-size: 12px;
472 color: #6b7280;
473 border-top: 1px solid #e5e7eb;
474 background: #f9fafb;
475 }
476
477 /* ----------------------------------------------------------------------------
478 Side-column panels (Pro teaser + Page Builder), rendered under Download Stats
479 on the document edit screen. Both share one surface, so they read as a pair.
480 Sized for the ~280px side column.
481 ---------------------------------------------------------------------------- */
482
483 /* Each panel supplies its own surface, so the postbox around it is stripped back
484 to nothing. With .postbox-header gone there is no toggle and no drag handle,
485 and forcing .inside open ignores any collapsed state WordPress has already
486 stored for the box in user meta. */
487 .postbox.bplde-flat-box {
488 border: 0;
489 background: transparent;
490 box-shadow: none;
491 }
492
493 .postbox.bplde-flat-box .postbox-header {
494 display: none;
495 }
496
497 .postbox.bplde-flat-box .inside {
498 display: block !important;
499 margin: 0;
500 padding: 0;
501 }
502
503 .bplde-panel {
504 position: relative;
505 /* Room above for the badge, which straddles the top border. */
506 margin-top: 10px;
507 padding: 20px;
508 border: 1px solid #e3e6ef;
509 border-radius: 0;
510 background: #fff;
511 box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
512 }
513
514 .bplde-panel__badge {
515 position: absolute;
516 top: 0;
517 right: 20px;
518 transform: translateY(-50%);
519 margin: 0;
520 padding: 4px 10px;
521 border-radius: 0;
522 background: #3858e9;
523 color: #fff;
524 font-size: 10px;
525 font-weight: 600;
526 letter-spacing: 0.1em;
527 line-height: 1.2;
528 text-transform: uppercase;
529 white-space: nowrap;
530 }
531
532 .bplde-panel__title {
533 margin: 0 0 6px;
534 font-size: 14px;
535 font-weight: 600;
536 line-height: 1.35;
537 color: #101828;
538 }
539
540 .bplde-panel__note {
541 margin: 0 0 14px;
542 font-size: 13px;
543 line-height: 1.5;
544 color: #667085;
545 }
546
547 /* In the short builder panel the note is the only content, so it carries no
548 trailing gap. */
549 .bplde-panel__note:last-child {
550 margin-bottom: 0;
551 }
552
553 /* Builder names lift out of the note by weight and a darker ink, so the list
554 scans without turning the sentence into six coloured links. */
555 .bplde-panel__name {
556 font-weight: 600;
557 color: #1b2438;
558 }
559
560 .bplde-panel__list {
561 margin: 0 0 20px;
562 padding: 0;
563 list-style: none;
564 border-top: 1px solid #eceef4;
565 }
566
567 .bplde-panel__list li {
568 margin: 0;
569 padding: 9px 0;
570 font-size: 13px;
571 line-height: 1.4;
572 font-weight: 500;
573 color: #1b2438;
574 border-bottom: 1px solid #eceef4;
575 }
576
577 /* The metabox pane is far wider than the side column, so the same list runs in
578 two columns there. A short list falls back to one column on its own. */
579 .bplde-panel__list--wide {
580 display: grid;
581 grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
582 column-gap: 28px;
583 }
584
585 /* Wide panels put the button and the footnote on one row instead of stacking
586 them centred, which is what the narrow side column needs. */
587 .bplde-panel__foot-row {
588 display: flex;
589 align-items: center;
590 gap: 16px;
591 flex-wrap: wrap;
592 }
593
594 .bplde-panel__foot-row .bplde-panel__cta {
595 display: inline-block;
596 padding: 10px 22px;
597 }
598
599 .bplde-panel__foot-row .bplde-panel__foot {
600 margin: 0;
601 }
602
603 .bplde-panel__cta {
604 display: block;
605 padding: 10px 12px;
606 border-radius: 0;
607 background: #3858e9;
608 color: #fff;
609 font-size: 13px;
610 font-weight: 600;
611 text-align: center;
612 text-decoration: none;
613 transition: background 0.2s ease;
614 }
615
616 .bplde-panel__cta:hover,
617 .bplde-panel__cta:focus {
618 background: #2b45c9;
619 color: #fff;
620 box-shadow: none;
621 outline: 0;
622 }
623
624 .bplde-panel__foot {
625 margin: 10px 0 0;
626 font-size: 11px;
627 text-align: center;
628 color: #98a2b3;
629 }