PluginProbe ʕ •ᴥ•ʔ
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization / 1.19.0
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization v1.19.0
1.19.8 1.19.7 1.19.6 1.19.5 trunk 1.10.0 1.10.1 1.10.2 1.10.3 1.10.4 1.11.0 1.12.0 1.13.0 1.14.0 1.15.0 1.15.1 1.15.2 1.15.3 1.16.0 1.16.1 1.16.2 1.16.3 1.16.4 1.16.5 1.16.6 1.16.7 1.16.8 1.17.0 1.17.6 1.17.7 1.17.8 1.17.9 1.18.0 1.18.1 1.18.2 1.18.3 1.18.4 1.18.5 1.18.6 1.18.7 1.18.8 1.18.9 1.19.0 1.19.1 1.19.2 1.19.3 1.19.4 1.3.19 1.3.20 1.4.0 1.4.1 1.5.0 1.5.1 1.5.10 1.5.11 1.5.12 1.5.13 1.5.14 1.5.15 1.5.16 1.5.17 1.5.18 1.5.19 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6.0 1.6.1 1.7.0 1.7.1 1.8.0 1.8.1 1.8.3 1.9.0 1.9.1 1.9.2
nitropack / view / stylesheet / style.scss
nitropack / view / stylesheet Last commit date
fonts 1 year ago scss 7 months ago admin_bar_menu.min.css 4 months ago admin_bar_menu.scss 4 months ago connect.min.css 7 months ago connect.scss 7 months ago nitro-notifications.min.css 7 months ago nitro-notifications.min.css.map 1 year ago nitro-notifications.scss 7 months ago safemode.min.css 1 year ago safemode.min.css.map 1 year ago safemode.scss 1 year ago style.min.css 4 months ago style.min.css.map 1 year ago style.scss 4 months ago
style.scss
925 lines
1 @use "scss/variables" as *;
2 @use "scss/helpers" as *;
3 @use "scss/modals";
4 @use "scss/fancy-radio";
5 @use "scss/select2";
6 @use "scss/preview";
7
8 @font-face {
9 font-family: "Inter";
10 src: url("fonts/Inter/Inter-VariableFont_slnt,wght.ttf") format("truetype-variations");
11 }
12
13 /* Layout */
14
15 body,
16 html {
17 line-height: 1.5;
18 }
19 #wpcontent {
20 padding-left: 0;
21 }
22 #nitropack-container {
23 font-family: $font;
24 font-size: 0.875rem;
25 #main {
26 //margin-top: 2rem;
27 //padding: 0 $gutter;
28 line-height: $line-height;
29 }
30 }
31 .container {
32 max-width: 100%;
33 margin: 0 auto;
34 padding: $gutter;
35 display: flex;
36 flex-direction: column;
37 @media (min-width: 1440px) {
38 max-width: 1280px;
39 padding: 2rem;
40 }
41 @media (min-width: 1728px) {
42 max-width: 1328px;
43 padding: 3rem;
44 }
45 @media (min-width: 1920px) {
46 max-width: 1440px;
47 padding-top: 4.5rem;
48 }
49 }
50 .col-span-1 {
51 display: grid;
52 gap: 1rem;
53 @media (min-width: 1440px) {
54 gap: $gutter;
55 }
56 }
57 //any cols are grid
58 //inputs
59 input[type="radio"]="radio""] {
60 color: $primary-color;
61 border-color: $primary-color;
62 accent-color: $primary-color;
63 &:checked {
64 accent-color: $primary-color;
65 }
66 }
67 /* Typography */
68 h3,
69 .plan-name {
70 font-size: 1rem;
71 color: $gray-700;
72 font-weight: 700;
73 margin: 0 0 0.5rem 0;
74 }
75 .plan-name {
76 margin-bottom: 0;
77 }
78 p {
79 font-size: 0.875rem;
80 color: $text-color;
81 line-height: $line-height;
82 + p {
83 margin-top: 1rem;
84 }
85 }
86 //progress
87 .progress-wrapper {
88 display: flex;
89 align-items: center;
90 gap: 1rem;
91 color: $primary-color;
92 }
93 .progress-bar {
94 height: 6px;
95 background-color: $purple-100;
96 display: flex;
97 width: 242px;
98 .progress {
99 background-color: $primary-color;
100 border-radius: $border-radius;
101 height: 100%;
102 }
103 }
104 /* Buttons */
105 .btn {
106 @include btns();
107 }
108
109 .btn-link {
110 cursor: pointer;
111 }
112 .btn-xl {
113 padding: 1rem 5rem;
114 font-size: 1rem;
115 }
116 .btn-icon {
117 height: 2rem;
118 padding-left: 0.75rem;
119 padding-right: 0.75rem;
120 display: flex;
121 align-items: center;
122 justify-content: center;
123 }
124 /* Badge */
125 .badge {
126 padding: 0.25rem 0.5rem 0.25rem 0.5rem;
127 font-size: 0.75rem;
128 font-weight: normal;
129 border-radius: $border-radius;
130 &.badge-success {
131 background-color: $green-100;
132 color: $green-800;
133 }
134 &.badge-primary {
135 background-color: $purple-50;
136 color: $primary-hover;
137 }
138 }
139
140 /* Tooltips */
141 .tooltip-icon {
142 //cursor: help;
143 margin-left: 0.25rem;
144 img {
145 width: 1rem;
146 height: 1rem;
147 }
148 }
149 .tooltip-container {
150 background-color: $gray-700;
151 color: #fff;
152 position: absolute;
153 z-index: 10;
154 padding: 0.5rem;
155 font-weight: 500;
156 border-radius: $border-radius;
157 display: inline-block;
158 transition: $transition;
159 opacity: 0;
160 visibility: hidden;
161 max-width: 270px;
162 text-align: center;
163 &.visible {
164 visibility: visible;
165 opacity: 1;
166 display: block;
167 }
168 .tooltip-arrow {
169 bottom: -4px;
170 visibility: hidden;
171 background: inherit;
172 height: 8px;
173 position: absolute;
174 width: 8px;
175 left: -4px !important; //fix
176 &::before,
177 &::after {
178 content: "";
179 transform: rotate(45deg);
180 visibility: visible;
181 }
182 &::before {
183 background: inherit;
184 height: 8px;
185 position: absolute;
186 width: 8px;
187
188 border-color: #4b5563;
189 border-style: solid;
190 }
191
192 &::after {
193 background: inherit;
194 height: 9px;
195 position: absolute;
196 width: 9px;
197
198 border-color: #4b5563;
199 border-style: solid;
200 }
201 }
202 }
203 /* Cards */
204 .card {
205 box-shadow: $shadow-sm;
206 padding: $gutter $gutter 0 $gutter;
207 border: 1px solid $divider-color;
208 width: 100%;
209 max-width: 100%;
210 border-radius: $border-radius * 2;
211 margin-top: 0;
212 min-width: unset;
213 color: $text-color;
214
215 .card-header {
216 display: flex;
217 align-items: center;
218 justify-content: space-between;
219 flex-direction: row;
220 margin-bottom: calc($gutter / 2);
221 padding-bottom: calc($gutter / 2);
222 h3 {
223 margin-bottom: 0;
224 font-size: 1rem;
225 }
226 }
227 .card-body {
228 margin-bottom: 1.5rem;
229 + .card-footer {
230 margin-bottom: 0;
231 }
232 }
233 .card-footer {
234 border-top: 1px solid $divider-color;
235 margin-top: 1rem;
236 padding-top: 1rem;
237 padding-bottom: 1rem;
238 }
239 .text-box {
240 margin-right: 2rem;
241 }
242 }
243 .cache-warmup {
244 margin-bottom: 1.5rem;
245 .card-body {
246 max-width: 50%;
247 }
248 .card-footer {
249 border-top: 0;
250 margin-top: 0;
251 padding: 0 0 1.5rem 0;
252 }
253 }
254 /* Toggles */
255 .disabled {
256 pointer-events: none;
257 }
258 .peer {
259 &:checked ~ .toggle {
260 background-color: $primary-color;
261 &::after {
262 transform: translate(100%, 0px) rotate(0) skewX(0) skewY(0) scaleX(1) scaleY(1);
263 }
264 }
265 &:disabled ~ .toggle {
266 opacity: .5;
267 cursor: not-allowed;
268 }
269 }
270 .toggle {
271 width: 2.75rem;
272 height: 1.5rem;
273 position: relative;
274 border-radius: 9999px;
275 background-color: $toggle-color;
276 cursor: pointer;
277 &::after {
278 --tw-translate-x: 100%;
279 content: "";
280 transition-duration: 0.15s;
281 transition-property: all;
282 transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
283 --tw-bg-opacity: 1;
284 background-color: #fff;
285 border-radius: 9999px;
286 width: 1.25rem;
287 height: 1.25rem;
288 top: 0.125rem;
289 position: absolute;
290 inset-inline-start: 2px;
291 }
292 }
293 /* Tags */
294 .selected-shortcodes {
295 margin-top: 1rem;
296 background-color: #fff;
297 border-radius: $border-radius;
298 padding: 1rem;
299 border: 1px solid $divider-color;
300 min-height: 6rem;
301 #selected-shortcodes {
302 gap: 10px;
303 display: flex;
304 }
305 }
306 .shortcode-tag {
307 padding: 2px 6px;
308 border-radius: $border-radius;
309 background-color: #edebf1;
310 display: inline-block;
311 font-size: 0.75rem;
312 .remove {
313 cursor: pointer;
314 padding: 0px 4px;
315 }
316 }
317 #ajax-shortcodes-widget {
318 label {
319 font-weight: 500;
320 }
321 .select-wrapper {
322 display: flex;
323 flex-direction: column;
324 gap: 0.5rem;
325 margin-top: 0.5rem;
326
327 .select2-container {
328 flex: 1;
329 max-height: 6rem;
330 overflow: auto;
331 }
332 .btn {
333 width: 120px;
334 }
335 }
336 //select2
337 .select2-container--default .select2-selection--multiple .select2-selection__rendered {
338 display: flex;
339 align-items: center;
340 flex-wrap: wrap;
341 gap: 10px;
342 > li.select2-selection__choice {
343 display: inline-block;
344 margin-bottom: 0;
345 }
346 .select2-selection__choice__remove {
347 display: none;
348 }
349 .select2-selection__choice-inner {
350 padding: 2px 6px;
351 border-radius: $border-radius;
352 background-color: #edebf1;
353 display: inline-block;
354 font-size: 0.75rem;
355 display: flex;
356 align-items: center;
357
358 margin-bottom: 0;
359 line-height: 18px;
360
361 .np-select2-remove {
362 margin: 0 0 0 0.35rem;
363 cursor: pointer;
364 display: block;
365 &::before {
366 content: "";
367 background-image: url("../images/close-icon.svg");
368 width: 8px;
369 height: 8px;
370 background-size: cover;
371 display: block;
372 }
373 }
374 }
375 }
376 }
377
378 /* Accordions */
379 .accordion-body {
380 margin-top: 1rem;
381 padding-top: 1rem;
382 border-top: 1px solid $divider-color;
383 }
384
385 .options-container {
386 .nitro-option {
387 padding: 1rem 0;
388 &:first-child {
389 padding-top: 0;
390 }
391 &:last-child {
392 padding-bottom: 0;
393 }
394 .nitro-option-main {
395 display: flex;
396 justify-content: space-between;
397 align-items: center;
398 color: $text-color;
399 }
400
401 h6 {
402 color: $gray-700;
403 font-weight: 700;
404 font-size: 1rem;
405 margin-bottom: 0.5rem;
406 }
407 p {
408 color: $text-color;
409 }
410 + .nitro-option {
411 border-top: 1px solid $divider-color;
412 }
413 }
414 }
415 .msg-container {
416 background-color: $purple-50;
417 color: $gray-700;
418 padding: 0.5rem;
419 margin-top: 1rem;
420 border-radius: $border-radius;
421 .icon {
422 display: inline;
423 margin-right: 0.5rem;
424 width: 1rem;
425 height: 1rem;
426 }
427 }
428
429 /* tabs */
430 .tabs {
431 display: inline-flex;
432 justify-content: space-between;
433 align-items: center;
434 width: 100%;
435 border: 1px solid $divider-color;
436 border-radius: $border-radius;
437 padding: 4px;
438 overflow: auto;
439 margin-bottom: 1rem;
440 a {
441 flex: 1;
442 text-align: center;
443 line-height: 26px;
444 height: 2.5rem;
445 padding: 0.4rem 1.2rem;
446 &.tab-link {
447 color: $gray-500;
448 }
449 &.active {
450 color: #fff;
451 }
452 + a {
453 margin-left: 0.5rem;
454 }
455 }
456 &::-webkit-scrollbar {
457 height: 5px;
458 }
459 &::-webkit-scrollbar-thumb {
460 background: inherit;
461 //border-radius: 3px;
462 }
463 &::-webkit-scrollbar-track {
464 background: transparent;
465 display: none;
466 }
467 &:hover {
468 &::-webkit-scrollbar-thumb {
469 background: #edebf1;
470 }
471 }
472 }
473 .card-optimization-mode .upgrade-message {
474 padding: 0.65rem;
475 margin-bottom: 0.5rem;
476 .upgrade-here {
477 font-weight: bold;
478 color: $primary-color;
479 }
480 }
481 /* Scrollbars */
482 .scrollbar-default {
483 &::-webkit-scrollbar {
484 width: 3px;
485 }
486 &::-webkit-scrollbar-thumb {
487 background: inherit;
488 border-radius: 20px;
489 }
490 &::-webkit-scrollbar-track {
491 background: transparent;
492 display: none;
493 }
494 &:hover {
495 &::-webkit-scrollbar-thumb {
496 background: #edebf1;
497 }
498 }
499 }
500 /* Overlay*/
501 .nitro-backdrop {
502 background-color: rgba(42, 0, 122, 0.5);
503 }
504 .form-row {
505 //display: flex;
506 label {
507 font-weight: 500;
508 color: #0d0025;
509 }
510 input {
511 margin-top: 0.5rem;
512 padding: 0.75rem 1rem 0.75rem 1rem;
513 display: block;
514 border-color: #dbd7e3;
515 border-radius: $border-radius;
516 width: 100%;
517 }
518 .tooltip {
519 display: inline;
520 }
521 + .form-row {
522 margin-top: 1rem;
523 }
524 }
525 .toast-wrapper {
526 position: fixed;
527 bottom: -100px;
528 width: auto;
529 left: 50%;
530 transform: translate(-50%, 0);
531 transition: 0.3s ease all;
532 opacity: 0;
533 .toast-inner {
534 padding: 1rem;
535 border: 1px solid $primary-color;
536 box-shadow: $shadow-sm;
537 display: flex;
538 align-items: center;
539 justify-content: space-between;
540 background: #fff;
541 min-width: 400px;
542 max-width: 600px;
543 border-radius: $border-radius;
544 position: relative;
545 color: $text-color;
546 .icon {
547 margin-right: 1rem;
548 border-radius: 50%;
549 padding: 0.5rem;
550 display: flex;
551 img {
552 width: 1rem;
553 height: 1rem;
554 }
555 }
556 .text {
557 font-weight: 500;
558 }
559 .actions {
560 border-left: 1px solid $divider-color;
561 margin-left: auto;
562 padding-left: $gutter;
563 margin-left: 1rem;
564 }
565 .toast-close {
566 color: $gray-700;
567 cursor: pointer;
568 display: flex;
569 }
570 .msg-box {
571 display: flex;
572 align-items: center;
573 }
574 }
575 &.toast-success {
576 .toast-inner {
577 border-color: $green-500;
578 }
579 .progress-bar {
580 background-color: $green-500;
581 }
582 .icon {
583 background-color: $green-50;
584 svg {
585 color: $green-500;
586 }
587 }
588 }
589 &.toast-info {
590 .toast-inner {
591 border-color: $blue-700;
592 }
593 .icon {
594 background-color: $blue-100;
595 svg {
596 color: $blue-700;
597 }
598 }
599 .progress-bar {
600 background-color: $blue-700;
601 }
602 }
603 &.toast-error {
604 .toast-inner {
605 border-color: $red-600;
606 }
607 .icon {
608 background-color: $red-100;
609 svg {
610 color: $red-600;
611 }
612 }
613 .progress-bar {
614 background-color: $red-600;
615 }
616 }
617 .toast-progress {
618 height: 3px;
619 width: 100%;
620 position: absolute;
621 bottom: 0;
622 left: 0;
623 .progress-bar {
624 height: 3px;
625 width: 100%;
626 left: 0;
627 position: absolute;
628 transform-origin: left;
629 }
630 }
631 &.shown {
632 z-index: 9991;
633 bottom: 3rem;
634 opacity: 1;
635 .toast-progress .progress-bar {
636 animation: NitroToast__trackProgress linear 1 forwards;
637 animation-duration: 1s;
638 animation-direction: reverse;
639 }
640 &:hover .toast-progress .progress-bar {
641 animation-play-state: paused;
642 }
643 }
644 }
645 @keyframes NitroToast__trackProgress {
646 0% {
647 transform: scaleX(1);
648 }
649 100% {
650 transform: scaleX(0);
651 }
652 }
653 /* Fancy Table */
654 .modern-table {
655 height: 100%;
656 overflow: hidden;
657 color: $gray-700;
658 .thead {
659 border-bottom: 1px solid $divider-color;
660 padding: 1rem 0;
661 }
662 .th {
663 text-align: center;
664 font-weight: 500;
665 }
666 .tr {
667 border-bottom: 1px solid $divider-color;
668 transition: $transition;
669 &:hover,
670 .highlight-column {
671 background-color: $gray-100;
672 }
673 .current-highlight {
674 background-color: rgba(219, 215, 227, 0.3);
675 }
676 .td {
677 padding: 1rem 0;
678 }
679 .modes {
680 padding: 0;
681 }
682 }
683 }
684 /* List Items */
685 .list-items {
686 border: 1px solid $divider-color;
687 border-radius: $border-radius;
688 color: $gray-700;
689 .list-item {
690 font-size: 1rem;
691 font-weight: 500;
692 margin: 0;
693
694 .list-item-body {
695 display: flex;
696 justify-content: space-between;
697 align-items: center;
698 padding: 1rem;
699 transition: $transition;
700 &:hover {
701 background-color: $gray-100;
702 }
703 }
704 input {
705 margin-right: 1rem;
706 color: $primary-color;
707 &:checked:before {
708 content: "";
709 }
710 }
711 .actions {
712 display: flex;
713 align-items: center;
714 .toggle-dropdown {
715 padding: 0.5rem;
716 transition: $transition;
717 &:focus {
718 box-shadow: none;
719 }
720 }
721 }
722 .selected-count {
723 color: $gray-500;
724 font-weight: 400;
725 font-size: 0.875rem;
726 margin-right: 1rem;
727 }
728 .sub-menu {
729 border-top: 1px solid $divider-color;
730 .list-item-body {
731 padding-left: 3.5rem;
732 }
733 }
734
735 + .list-item {
736 border-top: 1px solid $divider-color;
737 }
738 }
739 }
740
741 .table-wrapper {
742 border-top: 1px solid $divider-color;
743 margin-top: 1rem;
744 padding-top: 1rem;
745 table {
746 color: $gray-700;
747 tr + tr td {
748 padding-top: 1rem;
749 }
750 .key {
751 font-weight: 500;
752 }
753 .value {
754 font-weight: bold;
755 text-align: right;
756 }
757 }
758 }
759
760 .card-optimized-pages {
761 .card-body-inner {
762 display: flex;
763 align-items: center;
764 gap: 1rem;
765 }
766 .optimized-pages {
767 font-size: 1.5rem;
768 font-weight: 500;
769 width: 5rem;
770 text-align: center;
771 }
772 .text-box {
773 overflow: hidden;
774 text-overflow: ellipsis;
775 flex: 1;
776 }
777 .reason {
778 overflow: hidden;
779 text-overflow: ellipsis;
780 }
781 #optimizations-purge-cache {
782 flex-shrink: 0;
783 }
784 }
785 .card-optimization-mode {
786 .see-modes {
787 text-align: right;
788 }
789 }
790
791 //custom elements
792 //header
793 .nitro-navigation {
794 border-bottom: 1px solid $divider-color;
795 }
796 .nitro-navigation-inner {
797 padding: 10px $gutter;
798 background-color: #fff;
799 }
800
801 .active-mode {
802 font-weight: 500;
803 text-transform: capitalize;
804 }
805 .app-card {
806 border-color: $primary-color;
807 }
808 //card vendor - WPEngine
809 .card-vendor {
810 padding-bottom: 1.5rem;
811 .card-title {
812 display: flex;
813 align-items: center;
814 justify-content: space-between;
815 flex-direction: row;
816 margin-bottom: 1rem;
817 border-bottom: 1px solid $divider-color;
818 padding-bottom: 1rem;
819 font-size: 1rem;
820 }
821 .row {
822 &:first-of-type {
823 display: inline;
824 }
825 &:nth-of-type(2) {
826 display: inline;
827 margin-left: 0.5rem;
828 }
829 }
830 .btn-outline-primary {
831 background-color: $primary-color;
832 border-color: $primary-color;
833 color: #fff;
834 &:hover {
835 background-color: $primary-hover;
836 }
837 }
838 }
839 .logging > div + div,
840 .logging {
841 margin-top: $gutter;
842 }
843 .log-table-container {
844 min-height: 140px;
845 max-height: calc(50vh - 170px);
846 overflow: auto;
847 margin-top: 1rem;
848 border: 1px solid $divider-color;
849 border-radius: $border-radius * 2;
850 #log-table {
851 width: 100%;
852 border-top: 0;
853 border-radius: $border-radius * 2;
854 @media screen and (max-width: 768px) {
855 max-width: calc(100vw - 125px);
856 display: block;
857 }
858 td {
859 border-top: 1px solid $divider-color;
860 padding: 1rem 1.75rem;
861 }
862 thead tr th {
863 font-weight: 500;
864 text-align: left;
865 position: sticky;
866 top: 0;
867 background-color: #fff;
868 padding: 1rem 1.75rem;
869 }
870 .file {
871 width: 100%;
872 a {
873 color: $primary-color;
874 }
875 }
876 .file-size {
877 min-width: 130px;
878 }
879 .file-date {
880 min-width: 200px;
881 }
882 .time {
883 color: $gray-500;
884 }
885 }
886 .no-logs {
887 text-align: center;
888 td {
889 padding-top: 1rem;
890 }
891 }
892 }
893 .download-all-logs {
894 border: 1px solid $divider-color;
895 padding: $gutter;
896 display: flex;
897 justify-content: space-between;
898 align-items: center;
899 border-radius: $border-radius * 2;
900 gap: $gutter;
901 @media only screen and (max-width: 768px) {
902 flex-direction: column;
903 align-items: flex-start;
904 }
905 }
906 @media only screen and (min-width: 993px) and (max-width: 1366px) {
907 html {
908 font-size: 85%;
909 }
910 }
911 @media only screen and (max-width: 576px) {
912 .card-optimized-pages .card-body-inner {
913 flex-direction: column;
914 align-items: initial;
915
916 .optimized-pages {
917 text-align: center;
918 width: auto;
919 }
920 .text-box {
921 margin: 0;
922 }
923 }
924 }
925