PluginProbe
Squeeze – Image Optimization & Compression, WEBP Conversion / 1.7.9
Squeeze – Image Optimization & Compression, WEBP Conversion v1.7.9
1.7.15 1.7.14 1.7.13 1.7.12 1.7.11 1.7.10 trunk 1.0 1.1 1.2 1.3 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.9 1.5 1.5.1 1.5.2 1.6 All 42 releases
squeeze / assets / css / admin.css

admin.css in Squeeze – Image Optimization & Compression, WEBP Conversion 1.7.9, at assets/css/admin.css

1,256 lines 32.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 body {
2 --squeeze-primary-color: var(--wp-admin-theme-color, #2271b1);
3 --squeeze-secondary-color: #6c757d;
4 --squeeze-success-color: #6BCB77;
5 --squeeze-warning-color: #FFD93D;
6 --squeeze-notice-color: #b6dcfb;
7 --squeeze-error-color: #FF6B6B;
8 --squeeze-table-color: #F6F7F7;
9 --squeeze-box-color: #F9F9F9;
10 --squeeze-border-color: #DCDDDF;
11 --squeeze-range-color: #EDEEF1;
12 --squeeze-text-color: #1d2327;
13 --squeeze-text-secondary-color: #6C6C6C;
14 --squeeze-light-color: #fff;
15 --squeeze-dark-color: #000;
16 --squeeze-border-radius: 1rem;
17 --squeeze-border-radius-inner: 0.625rem;
18 --squeeze-box-shadow: 0 2px 6px -2px rgba(0, 0, 0, 0.15);
19 --squeeze-box-shadow-inner: 0 1px 4px -2px rgba(0, 0, 0, 0.15);
20 --squeeze-box-shadow-toggle: 0 0 6px 0 rgba(0, 0, 0, 0.25);
21 --squeeze-transition: all 0.3s ease;
22 --squeeze-spacing-xl: 2.5rem;
23 --squeeze-spacing-l: 1.5rem;
24 --squeeze-spacing-m: 1rem;
25 --squeeze-spacing-s: 0.5rem;
26 --squeeze-spacing-xs: 0.25rem;
27 --squeeze-font-size-heading: 1.5em;
28 --squeeze-font-size-text-big: 1.125em;
29 --squeeze-font-size-text-small: 0.875em;
30 --squeeze-icon-size: 1rem;
31 --squeeze-toggle-x: 6px;
32 --squeeze-range-y: 6px;
33 }
34 @keyframes squeeze-fill-chart {
35 to {
36 stroke-dasharray: 0,1000000;
37 }
38 }
39 @keyframes squeeze-rotate {
40 to {
41 transform: rotate(360deg);
42 }
43 }
44 .compat-item span.squeeze_status {
45 text-align: inherit;
46 }
47 .squeeze-box {
48 background-color: var(--squeeze-box-color);
49 border-radius: var(--squeeze-border-radius);
50 margin-bottom: var(--squeeze-spacing-l);
51 padding: var(--squeeze-spacing-l);
52 position: relative;
53 box-shadow: var(--squeeze-box-shadow);
54
55 }
56 .squeeze-box.squeeze-box--settings {
57 border-top-left-radius: 0;
58 border-top-right-radius: 0;
59 }
60 .squeeze-box--fieldset {
61 border-radius: var(--squeeze-border-radius-inner);
62 box-shadow: var(--squeeze-box-shadow-inner);
63 background-color: var(--squeeze-light-color);
64 display: inline-block;
65 }
66 .squeeze-box--fieldset .squeeze-box-content {
67 gap: var(--squeeze-spacing-m);
68 }
69 .squeeze-box-header,
70 .squeeze-box-footer {
71 display: flex;
72 justify-content: space-between;
73 align-items: center;
74 }
75 .squeeze-box-header h2,
76 .squeeze-box-footer h2 {
77 margin: 0;
78 font-size: var(--squeeze-font-size-heading);
79 font-weight: 400;
80 }
81 .squeeze-box-header__col,
82 .squeeze-box-footer__col {
83 display: flex;
84 gap: var(--squeeze-spacing-m);
85 flex-direction: column;
86 }
87 .squeeze-box-content {
88 display: flex;
89 flex-direction: column;
90 gap: var(--squeeze-spacing-l);
91 flex: 1;
92 }
93 .squeeze-box-content__row {
94 display: flex;
95 gap: var(--squeeze-spacing-l);
96 align-items: center;
97 justify-content: space-between;
98 flex-wrap: wrap;
99 }
100 .squeeze-box-content__col {
101 display: flex;
102 flex-direction: column;
103 gap: var(--squeeze-spacing-m);
104 }
105 .squeeze-box-content__col--end {
106 justify-content: flex-end;
107 }
108 .squeeze-box-content__col--start {
109 justify-content: flex-start;
110 flex: 1;
111 }
112 .squeeze-box-content__col--main {
113 flex: 2;
114 }
115 .squeeze-box-bulk-grid {
116 display: grid;
117 grid-template-columns: repeat(2, minmax(15rem, 1fr));
118 grid-gap: var(--squeeze-spacing-xl);
119 }
120 @media (max-width: 782px) {
121 .squeeze-box-bulk-grid {
122 grid-template-columns: 1fr;
123 }
124 }
125 .squeeze-box-bulk-grid__col {
126 display: flex;
127 flex-direction: column;
128 gap: var(--squeeze-spacing-l);
129 position: relative;
130 }
131 .squeeze-box-bulk-grid__row {
132 display: flex;
133 gap: var(--squeeze-spacing-l);
134 align-items: center;
135 justify-content: space-between;
136 grid-column: 1 / -1;
137 position: relative;
138 }
139 .squeeze-box-bulk-stack {
140 display: flex;
141 flex-direction: column;
142 gap: var(--squeeze-spacing-xl);
143 }
144 .squeeze-box-bulk-stack__footer {
145 margin-top: var(--squeeze-spacing-s);
146 padding: var(--squeeze-spacing-m);
147 border: 1px solid var(--squeeze-border-color);
148 border-radius: var(--squeeze-border-radius-inner);
149 background: var(--squeeze-light-color);
150 }
151 .squeeze-box-bulk-workflows {
152 display: grid;
153 grid-template-columns: repeat(2, minmax(0, 1fr));
154 gap: var(--squeeze-spacing-xl);
155 align-items: stretch;
156 }
157 @media (max-width: 782px) {
158 .squeeze-box-bulk-workflows {
159 grid-template-columns: 1fr;
160 }
161 }
162 .squeeze-box-bulk-page {
163 grid-column: 1 / -1;
164 }
165 .squeeze-box-bulk-page .squeeze-box-content__row {
166 justify-content: flex-start;
167 }
168 .squeeze-box label input {
169 margin-top: var(--squeeze-spacing-xs);
170 }
171 .squeeze-box .button {
172 border-radius: 10rem;
173 }
174 .squeeze-box input[type="text"],
175 .squeeze-box input[type="number"],
176 .squeeze-box input[type="email"],
177 .squeeze-box input[type="password"],
178 .squeeze-box textarea,
179 .squeeze-box select {
180 border: 1px solid var(--squeeze-border-color);
181 border-radius: 10rem;
182 }
183 .squeeze-box textarea {
184 min-height: 5em;
185 width: 20em;
186 border-radius: var(--squeeze-border-radius-inner);
187 }
188 .squeeze-box input[type="range"] {
189 background-color: transparent;
190 vertical-align: middle;
191 accent-color: var(--squeeze-primary-color);
192 }
193 .squeeze-box input[type="range"]::-webkit-slider-runnable-track {
194 border: 1px solid var(--squeeze-border-color);
195 height: var(--squeeze-range-y);
196 }
197 .squeeze-box input[type="range"]::-moz-range-track {
198 border: 1px solid var(--squeeze-border-color);
199 height: var(--squeeze-range-y);
200 }
201 .squeeze-box input[type="range"]::-webkit-slider-thumb {
202 background: var(--squeeze-primary-color);
203 border-radius: 50%;
204 margin-top: calc(var(--squeeze-range-y) / -1);
205 box-shadow: var(--squeeze-box-shadow-toggle);
206 }
207 .squeeze-box input[type="range"]::-moz-range-thumb {
208 background: var(--squeeze-primary-color);
209 border-radius: 50%;
210 margin-top: calc(var(--squeeze-range-y) / -1);
211 box-shadow: var(--squeeze-box-shadow-toggle);
212 }
213 .squeeze-box input[type="range"]::-moz-range-progress {
214 background: var(--squeeze-primary-color);
215 }
216 .squeeze-box input[type="range"] + output {
217 vertical-align: middle;
218 margin-inline-start: 0.5em;
219 }
220 .squeeze-box p {
221 margin-top: 0;
222 margin-bottom: var(--squeeze-spacing-s);
223 }
224 .squeeze-box p:last-child {
225 margin-bottom: 0;
226 }
227 .squeeze-box [name="squeeze_bulk"] .squeeze-icon,
228 .squeeze-box [name="squeeze_bulk_path_button"] .squeeze-icon {
229 fill: var(--squeeze-light-color);
230 }
231 .squeeze-box :disabled .squeeze-icon {
232 fill: var(--squeeze-border-color) !important;
233 }
234 .squeeze-bulk-lede {
235 margin-top: 0;
236 margin-bottom: var(--squeeze-spacing-m);
237 color: var(--squeeze-text-secondary-color);
238 font-size: var(--squeeze-font-size-text-big);
239 }
240 .squeeze-bulk-section {
241 display: flex;
242 flex-direction: column;
243 min-height: 100%;
244 background: var(--squeeze-light-color);
245 border: 1px solid var(--squeeze-border-color);
246 border-radius: var(--squeeze-border-radius-inner);
247 box-shadow: var(--squeeze-box-shadow-inner);
248 padding: 0;
249 scroll-margin-top: 1rem;
250 }
251 .squeeze-bulk-section--library {
252 border-left: 4px solid var(--squeeze-primary-color);
253 }
254 .squeeze-bulk-section--directory {
255 border-left: 4px solid #dba617;
256 }
257 .squeeze-bulk-section__head {
258 padding: var(--squeeze-spacing-m) var(--squeeze-spacing-l) var(--squeeze-spacing-s);
259 border-bottom: 1px solid var(--squeeze-border-color);
260 }
261 .squeeze-bulk-section__kicker {
262 margin: 0 0 0.25em;
263 font-size: 0.75rem;
264 font-weight: 700;
265 letter-spacing: 0.04em;
266 text-transform: uppercase;
267 color: var(--squeeze-text-secondary-color);
268 }
269 .squeeze-bulk-section__head h2 {
270 margin: 0;
271 font-size: var(--squeeze-font-size-text-big);
272 font-weight: 600;
273 }
274 .squeeze-bulk-section__meta {
275 margin: 0.35em 0 0;
276 font-size: var(--squeeze-font-size-text-small);
277 color: var(--squeeze-text-secondary-color);
278 }
279 .squeeze-bulk-section__body {
280 flex: 1;
281 padding: var(--squeeze-spacing-m) var(--squeeze-spacing-l);
282 }
283 .squeeze-bulk-section__actions {
284 display: flex;
285 flex-wrap: wrap;
286 gap: var(--squeeze-spacing-m);
287 padding: var(--squeeze-spacing-m) var(--squeeze-spacing-l) var(--squeeze-spacing-l);
288 border-top: 1px solid var(--squeeze-border-color);
289 margin-top: 0;
290 justify-content: flex-start;
291 }
292 .squeeze-bulk-section__secondary-actions {
293 margin-top: var(--squeeze-spacing-m);
294 }
295 .squeeze-bulk-field {
296 margin-top: var(--squeeze-spacing-m);
297 }
298 .squeeze-bulk-field-label {
299 display: block;
300 font-weight: 600;
301 font-size: var(--squeeze-font-size-text-small);
302 margin-bottom: 0.25em;
303 }
304 .squeeze-bulk-field-hint {
305 margin: 0 0 var(--squeeze-spacing-s);
306 font-size: var(--squeeze-font-size-text-small);
307 color: var(--squeeze-text-secondary-color);
308 max-width: 60ch;
309 }
310 .squeeze-bulk-field-hint--tight {
311 margin-top: var(--squeeze-spacing-s);
312 }
313 .squeeze-bulk-media-stats {
314 display: flex;
315 gap: var(--squeeze-spacing-m);
316 align-items: center;
317 }
318 .squeeze-bulk-media-stats--linear {
319 flex-direction: column;
320 align-items: stretch;
321 width: 100%;
322 }
323 .squeeze-bulk-media-stats-linear-head {
324 display: flex;
325 flex-wrap: wrap;
326 align-items: baseline;
327 justify-content: space-between;
328 gap: var(--squeeze-spacing-s) var(--squeeze-spacing-m);
329 margin-bottom: var(--squeeze-spacing-s);
330 }
331 .squeeze-bulk-media-stats-hint {
332 margin: var(--squeeze-spacing-m) 0 0;
333 font-size: var(--squeeze-font-size-text-small);
334 color: var(--squeeze-text-secondary-color);
335 }
336 .squeeze-bulk-media-stats-legend {
337 display: flex;
338 flex-wrap: wrap;
339 gap: var(--squeeze-spacing-s) var(--squeeze-spacing-l);
340 margin-top: var(--squeeze-spacing-s);
341 padding-top: var(--squeeze-spacing-s);
342 border-top: 1px solid var(--squeeze-border-color);
343 font-size: var(--squeeze-font-size-text-small);
344 }
345 .squeeze-bulk-media-stats-legend-item {
346 display: inline-flex;
347 align-items: center;
348 gap: 0.5em;
349 }
350 .squeeze-bulk-media-stats-legend-swatch {
351 width: 12px;
352 height: 12px;
353 border-radius: 2px;
354 flex-shrink: 0;
355 }
356 .squeeze-bulk-media-stats-legend-swatch--done {
357 background: var(--squeeze-success-color);
358 }
359 .squeeze-bulk-media-stats-legend-swatch--rest {
360 background: var(--squeeze-error-color);
361 }
362 .squeeze-bulk-media-stats-item {
363 display: flex;
364 gap: var(--squeeze-spacing-s);
365 flex-direction: column;
366 }
367 .squeeze-bulk-media-stats-item--inline {
368 flex-direction: row;
369 align-items: baseline;
370 gap: 0.5em;
371 }
372 .squeeze-bulk-media-stats-item-value {
373 font-size: var(--squeeze-font-size-text-big);
374 font-weight: 700;
375 }
376 .squeeze-bulk-media-stats-item-label .squeeze-icon {
377 animation: squeeze-rotate 1s linear infinite;
378 }
379 .squeeze-bulk-media-stats-chart {
380 display: flex;
381 align-items: center;
382 justify-content: center;
383 position: relative;
384 --squeeze-chart-width: 10;
385 }
386 .squeeze-bulk-media-stats-chart-total {
387 stroke: var(--squeeze-error-color);
388 stroke-width: var(--squeeze-chart-width);
389 }
390 .squeeze-bulk-media-stats-chart-squeezed {
391 stroke: var(--squeeze-success-color);
392 stroke-width: calc(var(--squeeze-chart-width) + 2);
393 stroke-linecap: round;
394 stroke-dasharray: var(--squeeze-dasharray, 0), 565.49;
395 transform: rotate(-90deg);
396 transform-origin: center;
397 filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.3)) drop-shadow(0 1px 3px rgba(0, 0, 0, 0.15));
398 animation: squeeze-fill-chart 2s 500ms reverse;
399 transition: stroke-dasharray 500ms linear;
400 }
401 .squeeze-bulk-media-stats-chart-value {
402 font-size: var(--squeeze-font-size-heading);
403 font-weight: bold;
404 }
405 .squeeze-bulk-media-stats-chart--linear {
406 width: 100%;
407 display: block;
408 }
409 .squeeze-bulk-media-stats-chart-track {
410 height: 12px;
411 border-radius: 999px;
412 background: var(--squeeze-error-color);
413 overflow: hidden;
414 }
415 .squeeze-bulk-media-stats-chart-fill {
416 height: 100%;
417 width: calc(var(--squeeze-progress-pct, 0) * 1%);
418 background: var(--squeeze-success-color);
419 border-radius: 999px 0 0 999px;
420 transition: width 500ms linear;
421 }
422 .squeeze-bulk-media-actions {
423 display: flex;
424 gap: var(--squeeze-spacing-m);
425 flex-wrap: wrap;
426 justify-content: center;
427 }
428 .squeeze-bulk-media-stats-chart-value--linear {
429 display: flex;
430 flex-wrap: wrap;
431 align-items: baseline;
432 gap: 0.35em 0.75em;
433 }
434 .squeeze-bulk-media-stats-chart-pct {
435 font-size: var(--squeeze-font-size-heading);
436 font-weight: 700;
437 line-height: 1.2;
438 }
439 .squeeze-bulk-media-stats-chart-pct-label {
440 font-size: 0.75rem;
441 color: var(--squeeze-text-secondary-color);
442 text-transform: uppercase;
443 letter-spacing: 0.03em;
444 }
445 .squeeze-icon {
446 width: 1rem;
447 height: 1rem;
448 fill: var(--squeeze-primary-color);
449 vertical-align: text-bottom;
450 margin-inline-end: 0.25rem;
451 }
452 .squeeze-hint {
453 font-size: var(--squeeze-font-size-text-small);
454 color: var(--squeeze-text-secondary-color);
455 display: block;
456 margin-top: 1em;
457 }
458 .squeeze-banner {
459 background-color: var(--squeeze-secondary-color);
460 color: var(--squeeze-dark-color);
461 padding: var(--squeeze-spacing-m);
462 border-radius: var(--squeeze-border-radius-inner);
463 display: flex;
464 justify-content: space-between;
465 margin-block-end: var(--squeeze-spacing-m);
466 }
467 .squeeze-banner.squeeze-banner--warning {
468 background-color: var(--squeeze-warning-color);
469 }
470 .squeeze-banner.squeeze-banner--notice {
471 background-color: var(--squeeze-notice-color);
472 }
473 .squeeze-banner__content p {
474 font-size: var(--squeeze-font-size-text-big);
475 }
476 .squeeze-banner__content ul {
477 margin: 0.5em 0 0;
478 padding-left: 1.2em;
479 font-size: var(--squeeze-font-size-text-big);
480 }
481 .squeeze-banner__title {
482 font-weight: 600;
483 margin: 0 0 0.35em;
484 font-size: var(--squeeze-font-size-text-big);
485 }
486 .squeeze-banner .squeeze-icon {
487 fill: var(--squeeze-text-color);
488 height: var(--squeeze-icon-size);
489 width: var(--squeeze-icon-size);
490 min-width: var(--squeeze-icon-size);
491 margin: 0;
492 order: 10;
493 }
494 #squeeze_bulk_log {
495 height: 15rem;
496 overflow: auto;
497 background-color: var(--squeeze-table-color);
498 align-content: center;
499 }
500 #squeeze_bulk_log:has(#squeeze-log-data > *:nth-child(4)) {
501 height: 45rem;
502 }
503 #squeeze_bulk_log * {
504 overflow-anchor: none;
505 }
506 #squeeze-anchor {
507 overflow-anchor: auto;
508 height: 1px;
509 }
510 .squeeze-log-placeholder {
511 font-family: monospace;
512 color: var(--squeeze-text-secondary-color);
513 font-size: var(--squeeze-font-size-heading);
514 text-align: center;
515 }
516 .squeeze-log-placeholder + * {
517 margin-top: var(--squeeze-spacing-m);
518 }
519 input[type="checkbox"].squeeze-ios8-switch {
520 position: absolute;
521 opacity: 0;
522 margin: var(--squeeze-toggle-x) 0 0 calc(var(--squeeze-toggle-x) * 2);
523 }
524 input[type="checkbox"].squeeze-ios8-switch + label {
525 position: relative;
526 padding: 0 0 0 calc(var(--squeeze-toggle-x) * 6);
527 line-height: calc(var(--squeeze-toggle-x)*3 + 2px);
528 }
529 input[type="checkbox"].squeeze-ios8-switch + label:before {
530 content: "";
531 position: absolute;
532 display: block;
533 left: 0;
534 top: 0;
535 width: calc(var(--squeeze-toggle-x) * 5);
536 /* x*5 */
537 height: calc(var(--squeeze-toggle-x) * 3);
538 /* x*3 */
539 border-radius: calc(var(--squeeze-toggle-x) * 2);
540 /* x*2 */
541 background: var(--squeeze-table-color);
542 border: 1px solid var(--squeeze-border-color);
543 transition: all 0.3s;
544 }
545 input[type="checkbox"].squeeze-ios8-switch + label:after {
546 content: "";
547 position: absolute;
548 display: block;
549 left: 0px;
550 top: 0px;
551 width: calc(var(--squeeze-toggle-x) * 3);
552 /* x*3 */
553 height: calc(var(--squeeze-toggle-x) * 3);
554 /* x*3 */
555 border-radius: calc(var(--squeeze-toggle-x) * 2);
556 /* x*2 */
557 background: var(--squeeze-light-color);
558 border: 1px solid var(--squeeze-border-color);
559 transition: all 0.3s;
560 }
561 input[type="checkbox"].squeeze-ios8-switch + label:hover:after {
562 box-shadow: var(--squeeze-box-shadow-toggle);
563 }
564 input[type="checkbox"].squeeze-ios8-switch:checked + label:after {
565 margin-left: calc(var(--squeeze-toggle-x) * 2);
566 }
567 input[type="checkbox"].squeeze-ios8-switch:checked + label:before {
568 background: var(--squeeze-primary-color);
569 }
570 input[type="checkbox"].squeeze-ios8-switch:focus-visible + label:after {
571 box-shadow: var(--squeeze-box-shadow-toggle);
572 }
573 input[type="checkbox"].squeeze-ios8-switch:disabled + label:before,
574 input[type="checkbox"].squeeze-ios8-switch:disabled + label:after {
575 opacity: 0.5;
576 }
577 .squeeze-suboption {
578 position: relative;
579 }
580 .squeeze-setting-units {
581 margin-inline-start: 0.5em;
582 }
583 .squeeze-settings-example {
584 max-width: fit-content;
585 display: inline-block;
586 margin-inline-start: var(--squeeze-spacing-m);
587 /*opacity: 0.5;
588
589 &.enabled {
590 opacity: 1;
591 }*/
592 }
593 .squeeze-settings-example.squeeze-settings-example--webp_replace_urls {
594 display: block;
595 margin-inline-start: 0;
596 margin-top: var(--squeeze-spacing-m);
597 }
598 .squeeze-settings-example .squeeze-box--fieldset {
599 display: flex;
600 gap: var(--squeeze-spacing-m);
601 }
602 .squeeze-settings-example .squeeze-box--fieldset .squeeze-box-content {
603 gap: var(--squeeze-spacing-s);
604 }
605 .squeeze-settings-example .squeeze-box--fieldset .squeeze-box-content p {
606 display: flex;
607 justify-content: space-between;
608 gap: var(--squeeze-spacing-m);
609 }
610 .squeeze-settings-example .squeeze-box--fieldset .squeeze-box-content .striked {
611 text-decoration: line-through;
612 color: var(--squeeze-error-color);
613 }
614 .squeeze-settings-example .squeeze-box--fieldset .squeeze-box-content .greened {
615 color: var(--squeeze-success-color);
616 }
617 .squeeze-settings-example .squeeze-box--fieldset .squeeze-box-content img {
618 max-width: 100%;
619 height: auto;
620 }
621 .squeeze-settings-example .squeeze-hint {
622 margin-top: 0;
623 margin-bottom: 0.5em;
624 }
625 .form-table tr.squeeze_setting_restore_defaults {
626 display: none;
627 }
628 .form-table tr:has(.squeeze-hidden) {
629 display: none;
630 }
631 .form-table tr.squeeze-legacy-option {
632 opacity: 0.5;
633 }
634 .form-table tr.squeeze-legacy-option:hover {
635 opacity: 1;
636 }
637 body.settings_page_squeeze #wpbody-content {
638 padding-bottom: 72px;
639 }
640 body.settings_page_squeeze .squeeze-settings-layout {
641 display: grid;
642 grid-template-columns: minmax(0, 1fr) 280px;
643 gap: var(--squeeze-spacing-l);
644 align-items: start;
645 max-width: 1100px;
646 }
647 @media (max-width: 960px) {
648 body.settings_page_squeeze .squeeze-settings-layout {
649 grid-template-columns: 1fr;
650 }
651 }
652 body.settings_page_squeeze .squeeze-card {
653 background-color: var(--squeeze-box-color);
654 border: 1px solid var(--squeeze-border-color);
655 border-radius: var(--squeeze-border-radius-inner);
656 box-shadow: var(--squeeze-box-shadow);
657 margin-bottom: var(--squeeze-spacing-m);
658 overflow: hidden;
659 }
660 body.settings_page_squeeze .squeeze-card-header {
661 padding: var(--squeeze-spacing-m) var(--squeeze-spacing-l);
662 border-bottom: 1px solid var(--squeeze-border-color);
663 }
664 body.settings_page_squeeze .squeeze-card-title {
665 margin: 0;
666 font-size: 14px;
667 font-weight: 600;
668 }
669 body.settings_page_squeeze .squeeze-card-desc {
670 margin: 6px 0 0;
671 font-size: 13px;
672 color: var(--squeeze-text-secondary-color);
673 }
674 body.settings_page_squeeze .squeeze-card--aside .squeeze-card-body {
675 padding: var(--squeeze-spacing-m) var(--squeeze-spacing-l);
676 font-size: 13px;
677 color: var(--squeeze-text-secondary-color);
678 }
679 body.settings_page_squeeze .squeeze-card--aside .squeeze-card-body p {
680 margin-top: 0;
681 }
682 body.settings_page_squeeze .squeeze-aside-list {
683 margin: 8px 0 0;
684 padding-inline-start: 18px;
685 }
686 body.settings_page_squeeze .squeeze-form-table--card.form-table th {
687 width: 200px;
688 vertical-align: top;
689 padding-inline-start: var(--squeeze-spacing-l);
690 }
691 body.settings_page_squeeze .squeeze-webp-delivery-fullwidth {
692 width: 100%;
693 box-sizing: border-box;
694 padding: 0 var(--squeeze-spacing-l) var(--squeeze-spacing-m);
695 }
696 body.settings_page_squeeze .squeeze-form-table--hidden {
697 display: none !important;
698 }
699 body.settings_page_squeeze .squeeze-webp-modes {
700 display: grid;
701 grid-template-columns: repeat(2, minmax(0, 1fr));
702 gap: var(--squeeze-spacing-s);
703 border: none;
704 margin: 0;
705 padding: 0;
706 }
707 @media (min-width: 1100px) {
708 body.settings_page_squeeze .squeeze-webp-modes {
709 grid-template-columns: repeat(3, minmax(0, 1fr));
710 }
711 }
712 @media (max-width: 782px) {
713 body.settings_page_squeeze .squeeze-webp-modes {
714 grid-template-columns: 1fr;
715 }
716 }
717 body.settings_page_squeeze .squeeze-webp-mode-card {
718 position: relative;
719 border: 2px solid var(--squeeze-border-color);
720 border-radius: var(--squeeze-border-radius-inner);
721 padding: var(--squeeze-spacing-m);
722 cursor: pointer;
723 display: block;
724 background: var(--squeeze-light-color);
725 }
726 body.settings_page_squeeze .squeeze-webp-mode-card.is-selected {
727 border-color: var(--squeeze-primary-color);
728 background: var(--squeeze-table-color);
729 }
730 body.settings_page_squeeze .squeeze-webp-mode-input {
731 position: absolute;
732 opacity: 0;
733 pointer-events: none;
734 }
735 body.settings_page_squeeze .squeeze-webp-mode-badge {
736 display: inline-block;
737 font-size: 11px;
738 text-transform: uppercase;
739 letter-spacing: 0.02em;
740 color: var(--squeeze-primary-color);
741 font-weight: 600;
742 }
743 body.settings_page_squeeze .squeeze-webp-mode-title {
744 display: block;
745 font-weight: 600;
746 margin: 4px 0 6px;
747 font-size: 14px;
748 }
749 body.settings_page_squeeze .squeeze-webp-mode-desc {
750 display: block;
751 font-size: 12px;
752 color: var(--squeeze-text-secondary-color);
753 line-height: 1.45;
754 }
755 body.settings_page_squeeze .squeeze-webp-code-sample {
756 margin: 0;
757 padding: 12px;
758 overflow: auto;
759 font-size: 12px;
760 line-height: 1.45;
761 background: #fff;
762 border: 1px solid var(--squeeze-border-color);
763 border-radius: var(--squeeze-border-radius-inner);
764 }
765 body.settings_page_squeeze .squeeze-webp-code-sample .squeeze-webp-pre-heading {
766 display: block;
767 margin: 12px 0 4px;
768 font: 600 11px system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
769 letter-spacing: 0.04em;
770 text-transform: uppercase;
771 color: var(--squeeze-primary-color);
772 }
773 body.settings_page_squeeze .squeeze-webp-code-sample .squeeze-webp-pre-callout {
774 display: block;
775 margin: 0 0 8px;
776 padding: 0;
777 font-size: 12px;
778 font-weight: 700;
779 line-height: 1.5;
780 color: var(--squeeze-text-color);
781 }
782 body.settings_page_squeeze .squeeze-webp-code-sample .squeeze-webp-size {
783 display: inline-block;
784 margin-left: 6px;
785 padding: 2px 8px;
786 border-radius: 4px;
787 font-weight: 700;
788 font-size: 11px;
789 line-height: 1.3;
790 vertical-align: baseline;
791 white-space: nowrap;
792 }
793 body.settings_page_squeeze .squeeze-webp-code-sample .squeeze-webp-size--before {
794 background: #eceff1;
795 color: #37474f;
796 border: 1px solid #cfd8dc;
797 }
798 body.settings_page_squeeze .squeeze-webp-code-sample .squeeze-webp-size--after {
799 background: #e8f5e9;
800 color: #1b5e20;
801 border: 1px solid #81c784;
802 }
803 body.settings_page_squeeze .squeeze-webp-code-sample .squeeze-webp-pre-note {
804 font-size: 11px;
805 font-weight: 500;
806 color: var(--squeeze-text-secondary-color);
807 }
808 body.settings_page_squeeze .squeeze-webp-example {
809 margin-top: var(--squeeze-spacing-s);
810 border: 1px solid var(--squeeze-border-color);
811 border-radius: var(--squeeze-border-radius-inner);
812 background: #fafafa;
813 }
814 body.settings_page_squeeze .squeeze-webp-example > summary {
815 cursor: pointer;
816 padding: 8px 12px;
817 color: var(--squeeze-primary-color);
818 font-size: 13px;
819 list-style: none;
820 }
821 body.settings_page_squeeze .squeeze-webp-example > summary::-webkit-details-marker {
822 display: none;
823 }
824 body.settings_page_squeeze .squeeze-webp-example[open] > summary {
825 border-bottom: 1px solid var(--squeeze-border-color);
826 }
827 body.settings_page_squeeze .squeeze-thumb-toolbar {
828 display: flex;
829 flex-wrap: wrap;
830 gap: 8px;
831 margin-bottom: var(--squeeze-spacing-s);
832 }
833 body.settings_page_squeeze .squeeze-thumb-grid {
834 display: grid;
835 grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
836 gap: 6px 10px;
837 max-height: 220px;
838 overflow-y: auto;
839 }
840 body.settings_page_squeeze .squeeze-format-chips .squeeze-box-content {
841 display: flex;
842 flex-wrap: wrap;
843 gap: 8px;
844 }
845 body.settings_page_squeeze .squeeze-format-chip {
846 display: inline-flex;
847 align-items: center;
848 gap: 6px;
849 }
850 body.settings_page_squeeze .squeeze-settings-submit {
851 position: fixed;
852 bottom: 0;
853 left: 160px;
854 right: 0;
855 margin: 0 !important;
856 padding: 12px 24px !important;
857 background: var(--squeeze-light-color);
858 border-top: 1px solid var(--squeeze-border-color);
859 box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06);
860 z-index: 100;
861 }
862 @media (max-width: 782px) {
863 body.settings_page_squeeze .squeeze-settings-submit {
864 left: 0;
865 }
866 }
867 body.folded.settings_page_squeeze .squeeze-settings-submit {
868 left: 36px;
869 }
870 @media (max-width: 782px) {
871 body.folded.settings_page_squeeze .squeeze-settings-submit {
872 left: 0;
873 }
874 }
875 .js .squeeze-single-file-upload-notice:has(+ .html-uploader) {
876 display: block;
877 }
878 #squeeze-path-dialog {
879 padding: var(--squeeze-spacing-l);
880 border: none;
881 border-radius: var(--squeeze-border-radius);
882 width: 25rem;
883 max-width: 100%;
884 box-shadow: var(--squeeze-box-shadow);
885 overflow: hidden;
886 }
887 #squeeze-path-dialog .squeeze-box-header {
888 padding-bottom: var(--squeeze-spacing-m);
889 }
890 #squeeze-path-dialog [name="squeeze_close_path_dialog_button"] .squeeze-icon {
891 fill: var(--squeeze-text-color);
892 margin: 0;
893 }
894 #squeeze-path-dialog [name="squeeze_save_path_button"] {
895 width: 100%;
896 }
897 #squeeze-bulk-directory-list {
898 max-height: 60vh;
899 overflow: auto;
900 padding: var(--squeeze-spacing-m) 0;
901 }
902 #squeeze-bulk-directory-list .squeeze-icon {
903 animation: squeeze-rotate 1s linear infinite;
904 }
905 .directory-item {
906 display: flex;
907 align-items: flex-start;
908 gap: var(--squeeze-spacing-s);
909 flex-direction: column;
910 }
911 .directory-item .directory-item__inner {
912 display: flex;
913 align-items: center;
914 gap: var(--squeeze-spacing-s);
915 }
916 .directory-item .directory-item__inner > label {
917 padding-left: var(--squeeze-spacing-l);
918 background-image: url(../images/computer-folder-close-icon.svg);
919 background-position: left 0.15rem center;
920 background-repeat: no-repeat;
921 background-size: var(--squeeze-spacing-m);
922 }
923 .directory-item.loading {
924 opacity: 0.5;
925 }
926 .directory-item > .directory-item {
927 padding-left: var(--squeeze-spacing-m);
928 }
929 .directory-item:not(.opened) > .directory-item {
930 display: none;
931 }
932 .directory-item.opened > .directory-item__inner > label {
933 background-image: url(../images/computer-folder-open-icon.svg);
934 }
935 .directory-item label {
936 cursor: pointer;
937 text-decoration: underline;
938 text-underline-offset: 0.3em;
939 text-decoration-style: dashed;
940 }
941 .directory-item label:hover {
942 color: var(--squeeze-primary-color);
943 }
944 .directory-item input[type="checkbox"],
945 .directory-item input[type="radio"] {
946 margin: 0;
947 }
948 [name="squeeze_select_path_button"] {
949 align-self: flex-start;
950 }
951 [name="squeeze_bulk_path_button"] {
952 align-self: center;
953 }
954 .squeeze-path-list {
955 display: flex;
956 flex-direction: column;
957 gap: var(--squeeze-spacing-s);
958 }
959 .squeeze-path-list input[type="text"].squeeze-path-list__input {
960 min-width: 15rem;
961 flex: 1 1 auto;
962 font-family: monospace;
963 border: 0;
964 border-radius: var(--squeeze-border-radius-inner);
965 border: 1px solid var(--squeeze-border-color);
966 padding: var(--squeeze-spacing-xs) var(--squeeze-spacing-s);
967 }
968 .squeeze-path-list__item {
969 position: relative;
970 display: flex;
971 align-items: center;
972 gap: var(--squeeze-spacing-s);
973 }
974 .squeeze-path-list__remove {
975 flex-shrink: 0;
976 cursor: pointer;
977 }
978 .squeeze-path-list__remove:disabled {
979 opacity: 0.5;
980 cursor: not-allowed;
981 }
982 .squeeze-path-list__remove.button {
983 padding: 0.25em 0.75em;
984 height: auto;
985 width: auto;
986 line-height: 1.4;
987 border-radius: var(--squeeze-border-radius-inner);
988 font-size: var(--squeeze-font-size-text-small);
989 }
990 .squeeze-path-list__remove:not(.button) {
991 background: none;
992 border: 0;
993 padding: 0;
994 width: 1.5rem;
995 height: 1.5rem;
996 }
997 .squeeze-path-list__remove:not(.button):hover {
998 color: var(--squeeze-error-color);
999 }
1000 .squeeze-path-list__remove:not(.button) .squeeze-icon {
1001 width: var(--squeeze-icon-size);
1002 height: var(--squeeze-icon-size);
1003 fill: currentColor;
1004 }
1005 .media-log-wrapper {
1006 display: flex;
1007 flex-direction: column;
1008 gap: var(--squeeze-spacing-m);
1009 padding: var(--squeeze-spacing-m);
1010 border-radius: var(--squeeze-border-radius-inner);
1011 background-color: var(--squeeze-light-color);
1012 position: relative;
1013 }
1014 .media-log-wrapper h3 {
1015 margin: 0;
1016 display: flex;
1017 gap: var(--squeeze-spacing-s);
1018 align-items: center;
1019 position: relative;
1020 z-index: 1;
1021 }
1022 .media-log-wrapper h3 .squeeze-icon {
1023 margin: 0;
1024 width: var(--squeeze-icon-size);
1025 height: var(--squeeze-icon-size);
1026 }
1027 .media-log-wrapper .button-link {
1028 align-self: flex-start;
1029 }
1030 .media-log-wrapper .squeeze-comparison-table {
1031 display: none;
1032 }
1033 .media-log-wrapper .squeeze-comparison-table.show {
1034 display: block;
1035 }
1036 .media-log-wrapper table.widefat {
1037 border: 0;
1038 border-top: 1px solid var(--squeeze-border-color);
1039 border-bottom: 1px solid var(--squeeze-border-color);
1040 }
1041 .media-log-process {
1042 display: flex;
1043 gap: var(--squeeze-spacing-xl);
1044 position: relative;
1045 padding-inline-start: var(--squeeze-spacing-xl);
1046 width: fit-content;
1047 }
1048 .media-log-process::before {
1049 content: "";
1050 position: absolute;
1051 top: 0.5rem;
1052 left: 0.75rem;
1053 right: 0;
1054 translate: 0 -100%;
1055 height: calc(0.75em + 0.75rem + var(--squeeze-spacing-m));
1056 border-left: 1px solid var(--squeeze-border-color);
1057 border-bottom: 1px solid var(--squeeze-border-color);
1058 border-bottom-left-radius: var(--squeeze-border-radius);
1059 transition: var(--squeeze-transition);
1060 }
1061 .media-log-process::after {
1062 content: "";
1063 position: absolute;
1064 top: 0.5rem;
1065 right: 0;
1066 width: 0.5rem;
1067 height: 0.5rem;
1068 border: 1px solid var(--squeeze-border-color);
1069 border-radius: 50%;
1070 translate: 100% -50%;
1071 }
1072 .media-log-step {
1073 display: flex;
1074 flex-direction: column;
1075 gap: var(--squeeze-spacing-s);
1076 align-items: center;
1077 position: relative;
1078 max-width: 20em;
1079 }
1080 .media-log-step .squeeze-icon {
1081 fill: var(--squeeze-primary-color);
1082 margin: 0;
1083 animation: squeeze-bulk-loading 2s linear infinite;
1084 }
1085 .media-log-step .squeeze-icon.image-file-icon {
1086 rotate: 45deg;
1087 }
1088 .media-log-step .squeeze-icon.check-mark-circle-icon {
1089 fill: var(--squeeze-success-color);
1090 }
1091 .media-log-step .squeeze-icon.ban-sign-icon {
1092 fill: var(--squeeze-error-color);
1093 }
1094 .media-log-step span {
1095 font-size: var(--squeeze-font-size-text-big);
1096 color: var(--squeeze-text-secondary-color);
1097 }
1098 .media-log-wrapper--done .media-log-step .squeeze-icon {
1099 animation: none;
1100 }
1101 .media-log-thumbnail {
1102 position: absolute;
1103 right: var(--squeeze-spacing-m);
1104 bottom: var(--squeeze-spacing-m);
1105 top: var(--squeeze-spacing-m);
1106 max-height: 85px;
1107 }
1108 .media-log-thumbnail img {
1109 height: 100%;
1110 width: auto;
1111 }
1112 #squeeze-log-data {
1113 display: flex;
1114 flex-direction: column;
1115 gap: var(--squeeze-spacing-m);
1116 }
1117 .squeeze-comparison-table table tr {
1118 display: table-row;
1119 }
1120 .squeeze-savings-label {
1121 color: var(--squeeze-light-color);
1122 padding: var(--squeeze-spacing-xs) var(--squeeze-spacing-s);
1123 border-radius: 0.25rem;
1124 position: relative;
1125 white-space: nowrap;
1126 }
1127 .squeeze-savings-label.squeeze-savings-positive {
1128 background-color: var(--squeeze-success-color);
1129 }
1130 .squeeze-savings-label.squeeze-savings-positive::after {
1131 content: "\25bc";
1132 position: relative;
1133 margin-inline-start: 0.5em;
1134 }
1135 .squeeze-savings-label.squeeze-savings-negative {
1136 background-color: var(--squeeze-error-color);
1137 }
1138 .squeeze-savings-label.squeeze-savings-negative::after {
1139 content: "\25b2";
1140 position: relative;
1141 margin-inline-start: 0.5em;
1142 }
1143
1144 .squeeze-upgrade-features {
1145 display: flex;
1146 gap: var(--squeeze-spacing-m);
1147 max-width: 65rem;
1148 }
1149 .squeeze-upgrade-features > * {
1150 flex: 1;
1151 display: flex;
1152 flex-direction: column;
1153 gap: var(--squeeze-spacing-s);
1154 align-items: center;
1155 padding: var(--squeeze-spacing-m);
1156 }
1157 .squeeze-upgrade-features > * img {
1158 height: 4em;
1159 width: auto;
1160 }
1161 body.settings_page_squeeze-account .nav-tab[href*="#squeeze_account"] {
1162 display: none !important;
1163 }
1164 body.media_page_squeeze-bulk .wrap .nav-tab-wrapper {
1165 display: none !important;
1166 }
1167 .squeeze-disabled {
1168 opacity: 0.5;
1169 pointer-events: none;
1170 }
1171 .squeeze-popup-message {
1172 border: none;
1173 overflow: visible;
1174 margin: auto;
1175 text-align: center;
1176 }
1177 .squeeze-popup-message > p:last-child {
1178 margin-bottom: 0;
1179 }
1180 .squeeze-popup-message > .squeeze-icon {
1181 display: block;
1182 margin: 0 auto var(--squeeze-spacing-m) auto;
1183 width: 2rem;
1184 height: 2rem;
1185 }
1186 .squeeze-popup-success > .squeeze-icon {
1187 fill: var(--squeeze-success-color);
1188 }
1189 .squeeze-popup-error > .squeeze-icon {
1190 fill: var(--squeeze-error-color);
1191 }
1192 .squeeze-popup-info > .squeeze-icon {
1193 fill: var(--squeeze-notice-color);
1194 }
1195 .squeeze-popup-close-btn {
1196 position: absolute;
1197 top: 0;
1198 right: 0;
1199 translate: 100% -50%;
1200 border: 0;
1201 padding: 0;
1202 width: 2rem;
1203 height: 2rem;
1204 background: none;
1205 cursor: pointer;
1206 }
1207 .squeeze-popup-close-btn .squeeze-icon {
1208 margin-inline-end: 0;
1209 }
1210 .squeeze-loading-wrap {
1211 position: relative;
1212 display: inline-flex;
1213 align-items: center;
1214 font-size: 1em;
1215 user-select: none;
1216 }
1217 .squeeze-loading-wrap .squeeze-loading-icon {
1218 animation: squeeze-loading-animation 2s infinite ease-in-out;
1219 transform-origin: center;
1220 }
1221 @keyframes squeeze-loading-animation {
1222 0% {
1223 transform: rotate(0deg);
1224 }
1225 50% {
1226 transform: rotate(360deg);
1227 }
1228 100% {
1229 transform: rotate(360deg);
1230 }
1231 }
1232 @keyframes squeeze-bulk-loading {
1233 0%,
1234 22% {
1235 transform: scale(1);
1236 }
1237 32% {
1238 transform: scaleX(0.55) scaleY(1.35);
1239 }
1240 42% {
1241 transform: scaleX(0.7) scaleY(1.2);
1242 }
1243 60%,
1244 100% {
1245 transform: scale(1);
1246 }
1247 }
1248 /* Accessibility */
1249 @media (prefers-reduced-motion: reduce) {
1250 .squeeze-loading-wrap *,
1251 .squeeze-restore-loading-wrap *,
1252 .media-log-step .squeeze-icon {
1253 animation: none;
1254 }
1255 }
1256