Asset CleanUp: Page Speed Booster - Version 1.2.9

Version Description

  • Added "System Info" to "Tools" page to fetch information about the WordPress environment in case something needs debugged
  • Added "Getting Started" page to make things easier for anyone who doesn't understand how the plugin works
Download this release

Release Info

Developer gabelivan
Plugin Icon 128x128 Asset CleanUp: Page Speed Booster
Version 1.2.9
Comparing to
See all releases

Code changes from version 1.2.8.9 to 1.2.9

README.md ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ # wp-asset-clean-up
2
+ Performance WordPress Plugin: Make your Website Load FASTER by preventing specific scripts (.JS) and styles (.CSS) from loading on pages/posts and home page
3
+
4
+ Read more here: https://wordpress.org/plugins/wp-asset-clean-up/
assets/images/wpacu-logo-transparent-bg-v1.png ADDED
Binary file
assets/images/your-brain-on-a-slow-website-infographic.jpg ADDED
Binary file
assets/style.min.css CHANGED
@@ -1 +1 @@
1
- .wpacu_update_btn,label.wpacu_add_global{cursor:pointer!important}#wpacu-pages-info-area{width:98%}#wpacu-logo-area{margin:15px 0;padding:0 10px}#wpacu-logo-area img{max-width:340px;width:100%}.wpacu-tabs{position:relative;overflow:hidden;margin:0 auto 20px;width:100%;font-weight:300;font-size:20px}.wpacu-tabs nav{text-align:center}.wpacu-tabs nav ul{position:relative;display:-ms-flexbox;display:-webkit-flex;display:-moz-flex;display:-ms-flex;display:flex;margin:0 auto;padding:0;max-width:1200px;list-style:none;-ms-box-orient:horizontal;-ms-box-pack:center;-webkit-flex-flow:row wrap;-moz-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;justify-content:center}.wpacu-tabs nav ul li{position:relative;z-index:1;display:block;margin:0;text-align:center;-webkit-flex:1;-moz-flex:1;-ms-flex:1;flex:1}.wpacu-tabs nav ul li span.license-status{position:absolute;font-size:12px;left:0;right:50%;bottom:12px;-webkit-transform:translate(50%,50%);transform:translate(50%,50%)}.wpacu-tabs nav ul li span.license-status.inactive{color:#c00}.wpacu-tabs nav ul li span.license-status.active{color:green}.wpacu-tabs nav a{position:relative;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:2.5}.wpacu-tabs nav a span{vertical-align:middle;font-size:14px}.wpacu-tabs nav li.wpacu-tab-current a{color:#74777b}.wpacu-tabs nav a:focus{outline:0}.wpacu-tabs .dashicons{font-size:20px}.no-js .wpacu-content-wrap section{display:block;padding-bottom:2em;border-bottom:1px solid rgba(255,255,255,.6)}.no-flexbox nav ul{display:block}.no-flexbox nav ul li{min-width:15%;display:inline-block}@media screen and (max-width:58em){.wpacu-tabs nav a.icon span{display:none}.wpacu-tabs nav a:before{margin-right:0}}.wpacu-tabs-style-underline nav{background:#fff}.wpacu-tabs-style-underline nav a{color:#74777b;font-size:18px;text-transform:uppercase;text-decoration:none;padding:.25em 0 .5em;border-left:1px solid #e7ecea;-webkit-transition:color .2s;transition:color .2s}.wpacu-tabs-style-underline nav li:last-child a{border-right:1px solid #e7ecea}.wpacu-tabs-style-underline nav li a::after{position:absolute;bottom:0;left:0;width:100%;height:6px;background:#2CC185;content:'';-webkit-transition:-webkit-transform .3s;transition:transform .3s;-webkit-transform:translate3d(0,150%,0);transform:translate3d(0,150%,0)}.wpacu-tabs-style-underline nav li.wpacu-tab-current a::after{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.wpacu-tabs-style-underline nav a span{font-weight:700}.wpacu-tabs-style-topline{max-width:1200px;margin:20px auto 30px 0;width:100%;font-weight:300;text-decoration:none}.wpacu-tabs-style-topline nav li{border:1px solid rgba(40,44,42,.1)}.wpacu-tabs-style-topline nav li:not(:last-child){border-right:none}.wpacu-tabs-style-topline nav li.wpacu-tab-current{border-top-color:#0085ba;border-bottom:none}.wpacu-tabs-style-topline nav a{padding:20px 10px;background:rgba(40,44,42,.05);color:#74777b;line-height:1;-webkit-transition:color .2s;transition:color .2s;text-decoration:none}.wpacu-tabs-style-topline nav a:focus,.wpacu-tabs-style-topline nav a:hover{color:#0085ba}.wpacu-tabs-style-topline nav li.wpacu-tab-current a{background:0 0;box-shadow:inset 0 3px 0 #0085ba;color:#0085ba}.wpacu-tabs-style-topline nav li.wpacu-tab-current a span:not(.dashicons){font-weight:600}.wpacu-tabs-style-topline nav a span{text-transform:uppercase;font-weight:400}.wpacu-script-attributes-area{margin:20px 0 0!important}.wpacu-script-attributes-area.wpacu-lite ul.wpacu-script-attributes-settings{padding:5px 7px!important}.wpacu-script-attributes-area.wpacu-lite ul.wpacu-script-attributes-settings.wpacu-first{margin:0 28px 0 0!important}.wpacu-script-attributes-area.wpacu-lite ul.wpacu-script-attributes-settings label{margin:0!important}.wpacu-script-attributes-area.wpacu-lite ul.wpacu-script-attributes-settings li{margin:0 16px 0 0!important}.wpacu-script-attributes-area.wpacu-lite ul.wpacu-script-attributes-settings li:first-child{margin:0 10px 0 0!important}.wpacu-script-attributes-area.wpacu-lite ul.wpacu-script-attributes-settings li:last-child{margin:0 2px 0 0!important}.wpacu-script-attributes-area .wpacu-script-attributes-settings{background:#fff!important;border:1px solid #eee!important;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;padding:5px 10px!important;list-style:none;display:inline-block;margin:0}.wpacu-script-attributes-area .wpacu-script-attributes-settings input[type=radio]{padding:0;margin:0 5px 0 0}.wpacu-script-attributes-area .wpacu-script-attributes-settings.wpacu-first{margin:0 34px 0 0!important}.wpacu-script-attributes-area .wpacu-script-attributes-settings li{float:left;margin:0 17px 0 0}.wpacu-script-attributes-area .wpacu-script-attributes-settings li:first-child{margin:0 10px 0 0!important}.wpacu-script-attributes-area .wpacu-script-attributes-settings li:last-child{margin:0}.wpacu-script-attributes-area .wpacu-script-attributes-settings:hover{background:#f2faf2}.wpacu-license-area .notice,.wpacu-settings-area .notice{margin-left:0;padding:10px!important;width:97%;box-sizing:border-box;font-weight:600;font-style:italic}.wpacu-license-area .notice .dashicons,.wpacu-settings-area .notice .dashicons{color:green}tr.wpacu_not_load td,tr.wpacu_not_load th{background:#FFE1E1!important}.dashicons-wpacu{width:17px;height:17px;margin:2px 0 0;font-size:16px;text-decoration:none}.wpacu_widefat .check-column.wpacu_check{padding:10px}body[class*=wpassetcleanup] #footer-left{border-left:2px solid green;padding-left:10px}#wpacu_meta_box_content{width:99%}#wpacu_meta_box_content h3{margin-left:0;padding-left:0}#wpacu_meta_box_content div.wpacu_note{padding:10px;background-color:#f5f5f5}#wpacu_meta_box_content .dashicons.dashicons-warning{color:#c00}#wpacu_meta_box_content div.wpacu_warning,#wpacu_wrap_assets div.wpacu_warning{border:1px solid #c00}#wpacu_meta_box_content div.wpacu_verified{padding:10px;background-color:#f5f5f5;border-left:1px solid #ddd}#wpacu_meta_box_content div.wpacu_verified span{color:#0073aa;font-weight:700}#wpacu_meta_box_content ul.wpacu_asset_options{margin:0;padding:0}#wpacu_meta_box_content ul.wpacu_asset_options li{list-style:none;display:inline-block}#wpacu_wrap_assets img,#wpacu_wrap_assets small,.wpacu_asset_row td label{display:inline-block!important}#wpacu_meta_box_content ul.wpacu_asset_options label{font-weight:400;margin-right:5px;margin-top:5px;margin-bottom:5px}.wpacu-updated-frontend{font-weight:400;background-color:#fff;border-left:4px solid #46b450;border-top:1px solid #46b450;border-right:1px solid #46b450;border-bottom:1px solid #46b450;padding:9px 14px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.wpacu-updated-frontend span.dashicons-yes{color:#46b450;font-size:26px}#wpacu_wrap_assets{color:#000!important;text-align:left!important;clear:both!important;width:90%!important;padding:20px!important;margin:30px 0 0 15px!important;border:1px solid #cdcdcd;z-index:10000!important;position:relative!important;background-color:#fff!important}#wpacu_wrap_assets small{margin:0!important;letter-spacing:normal!important}#wpacu_wrap_assets input[type=checkbox]{margin-right:4px!important}#wpacu_wrap_assets p{margin:10px 0!important;line-height:22px!important;text-align:left!important;font-weight:400!important}#wpacu_wrap_assets p:first-child,.wpacu_verified{margin:0 0 10px!important}#wpacu_wrap_assets h1{margin:0 0 20px!important;font-size:160%!important;text-align:left!important}#wpacu_wrap_assets h3{margin:20px 0;font-size:130%}.wpacu_asset_row td{padding:10px!important;border-left:1px solid #cdcdcd;border-right:1px solid #cdcdcd;border-bottom:1px solid #cdcdcd}.wpacu_asset_row td:first-child{border-top:1px solid #cdcdcd}.wpacu_asset_row td p{padding:0!important;margin-bottom:10px!important;word-wrap:break-word!important;-ms-word-break:break-all;word-break:break-word}.wpacu_asset_row td label{margin:0!important;cursor:pointer!important;font-size:100%!important;font-weight:400!important}.wpacu_asset_row td label span:not(.dashicons){font-size:100%!important}.wpacu_asset_row td.wpacu_check{width:50px!important}.asset-table-extra-info td{padding:5px!important}body.wp-admin .wpacu_asset_row td.wpacu_check{width:25px!important}.wpacu_asset_row .dashicons-warning{color:red!important}label.wpacu_global_checked{font-weight:700;color:#d54e21}label.wpacu_global_unload_exception{font-weight:700!important}label.wpacu_bulk_unload_active{color:#d54e21}tr.wpacu_global_rule_row.selected{background:#e7e7e7}.nav-tab-wrapper{border-bottom:1px solid #ccc;width:95%}ul.wpacu_asset_options{margin:0 10px 0 0;padding:0}ul.wpacu_asset_options li{margin:0 20px 0 0;list-style:none;display:inline-block}ul.wpacu_asset_options li.remove_rule label{font-weight:700}ul.wpacu_asset_options label{margin-right:20px;font-weight:400}ul.wpacu_asset_options label input{margin-right:4px}.wpacu_list_table,.wpacu_list_table div,.wpacu_list_table li,.wpacu_list_table p{font-weight:400}.wpacu_widefat{width:99%;border:1px solid #e5e5e5!important}.wpacu_striped>tbody>:nth-child(even),ul.wpacu_striped>:nth-child(even){background-color:#fff!important}.wpacu_striped>tbody>:nth-child(odd),ul.wpacu_striped>:nth-child(odd){background-color:#f9f9f9!important}.wpacu_update_btn{-moz-box-shadow:inset 0 1px 0 0 #54a3f7!important;-webkit-box-shadow:inset 0 1px 0 0 #54a3f7!important;box-shadow:inset 0 1px 0 0 #54a3f7!important;background:-webkit-gradient(linear,left top,left bottom,color-stop(.05,#007dc1),color-stop(1,#0061a7))!important;background:-moz-linear-gradient(top,#007dc1 5%,#0061a7 100%)!important;background:-webkit-linear-gradient(top,#007dc1 5%,#0061a7 100%)!important;background:-o-linear-gradient(top,#007dc1 5%,#0061a7 100%)!important;background:-ms-linear-gradient(top,#007dc1 5%,#0061a7 100%)!important;background:linear-gradient(to bottom,#007dc1 5%,#0061a7 100%)!important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#007dc1', endColorstr='#0061a7', GradientType=0)!important;background-color:#007dc1!important;-moz-border-radius:3px!important;-webkit-border-radius:3px!important;border-radius:3px!important;border:1px solid #124d77!important;display:inline-block!important;color:#fff!important;font-size:15px!important;padding:10px 24px!important;text-decoration:none!important;text-shadow:0 1px 0 #154682!important;height:auto!important;line-height:normal!important}.wpacu-btns .btn:focus,.wpacu-btns .btn:hover,.wpacu-btns a{text-decoration:none}.wpacu_update_btn:hover{background:-webkit-gradient(linear,left top,left bottom,color-stop(.05,#0061a7),color-stop(1,#007dc1))!important;background:-moz-linear-gradient(top,#0061a7 5%,#007dc1 100%)!important;background:-webkit-linear-gradient(top,#0061a7 5%,#007dc1 100%)!important;background:-o-linear-gradient(top,#0061a7 5%,#007dc1 100%)!important;background:-ms-linear-gradient(top,#0061a7 5%,#007dc1 100%)!important;background:linear-gradient(to bottom,#0061a7 5%,#007dc1 100%)!important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0061a7', endColorstr='#007dc1', GradientType=0)!important;background-color:#0061a7!important}.wpacu_update_btn:active{position:relative!important;top:1px!important}ul.hire-reasons{margin-bottom:20px}ul.hire-reasons li{font-size:14px;line-height:22px;margin-bottom:12px}ul.hire-reasons li .dashicons{font-size:23px;line-height:23px}ul.hire-reasons li .dashicons.dashicons-yes{color:green}ol.getting-started li{font-size:14px;line-height:22px;margin-bottom:8px}.wpacu-get-help-wrap p{font-size:14px}.wpacu-btns .btn{display:inline-block;font-weight:400;line-height:1.25;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.5rem 1rem;font-size:1rem;-webkit-border-radius:.25rem;-moz-border-radius:.25rem;border-radius:.25rem;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.wpacu-btns .btn.focus,.wpacu-btns .btn:focus{outline:0;-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.25);box-shadow:0 0 0 2px rgba(2,117,216,.25)}.wpacu-btns .btn.disabled,.wpacu-btns .btn:disabled{cursor:not-allowed;opacity:.65}.wpacu-btns .btn.active,.wpacu-btns .btn:active{background-image:none}.wpacu-btns a.btn.disabled,.wpacu-btns fieldset[disabled] a.btn{pointer-events:none}.wpacu-btns .btn-primary{color:#fff;background-color:#0275d8;border-color:#0275d8}.wpacu-btns .btn-primary:hover{color:#fff;background-color:#025aa5;border-color:#01549b}.wpacu-btns .btn-primary.focus,.wpacu-btns .btn-primary:focus{-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.5);box-shadow:0 0 0 2px rgba(2,117,216,.5)}.wpacu-btns .btn-primary.disabled,.wpacu-btns .btn-primary:disabled{background-color:#0275d8;border-color:#0275d8}.wpacu-btns .btn-primary.active,.wpacu-btns .btn-primary:active,.wpacu-btns .show>.btn-primary.dropdown-toggle{color:#fff;background-color:#025aa5;background-image:none;border-color:#01549b}.wpacu-btns .btn-secondary{color:#292b2c;background-color:#fff;border-color:#ccc}.wpacu-btns .btn-secondary:hover{color:#292b2c;background-color:#e6e6e6;border-color:#adadad}.wpacu-btns .btn-secondary.focus,.wpacu-btns .btn-secondary:focus{-webkit-box-shadow:0 0 0 2px rgba(204,204,204,.5);box-shadow:0 0 0 2px rgba(204,204,204,.5)}.wpacu-btns .btn-secondary.disabled,.wpacu-btns .btn-secondary:disabled{background-color:#fff;border-color:#ccc}.wpacu-btns .btn-secondary.active,.wpacu-btns .btn-secondary:active,.wpacu-btns .show>.btn-secondary.dropdown-toggle{color:#292b2c;background-color:#e6e6e6;background-image:none;border-color:#adadad}.wpacu-btns .btn-info{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.wpacu-btns .btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#2aabd2}.wpacu-btns .btn-info.focus,.wpacu-btns .btn-info:focus{-webkit-box-shadow:0 0 0 2px rgba(91,192,222,.5);box-shadow:0 0 0 2px rgba(91,192,222,.5)}.wpacu-btns .btn-info.disabled,.wpacu-btns .btn-info:disabled{background-color:#5bc0de;border-color:#5bc0de}.wpacu-btns .btn-info.active,.wpacu-btns .btn-info:active,.wpacu-btns .show>.btn-info.dropdown-toggle{color:#fff;background-color:#31b0d5;background-image:none;border-color:#2aabd2}.wpacu-btns .btn-success{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.wpacu-btns .btn-success:hover{color:#fff;background-color:#449d44;border-color:#419641}.wpacu-btns .btn-success.focus,.wpacu-btns .btn-success:focus{-webkit-box-shadow:0 0 0 2px rgba(92,184,92,.5);box-shadow:0 0 0 2px rgba(92,184,92,.5)}.wpacu-btns .btn-success.disabled,.wpacu-btns .btn-success:disabled{background-color:#5cb85c;border-color:#5cb85c}.wpacu-btns .btn-success.active,.wpacu-btns .btn-success:active,.wpacu-btns .show>.btn-success.dropdown-toggle{color:#fff;background-color:#449d44;background-image:none;border-color:#419641}.wpacu-btns .btn-warning{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.wpacu-btns .btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#eb9316}.wpacu-btns .btn-warning.focus,.wpacu-btns .btn-warning:focus{-webkit-box-shadow:0 0 0 2px rgba(240,173,78,.5);box-shadow:0 0 0 2px rgba(240,173,78,.5)}.wpacu-btns .btn-warning.disabled,.wpacu-btns .btn-warning:disabled{background-color:#f0ad4e;border-color:#f0ad4e}.wpacu-btns .btn-warning.active,.wpacu-btns .btn-warning:active,.wpacu-btns .show>.btn-warning.dropdown-toggle{color:#fff;background-color:#ec971f;background-image:none;border-color:#eb9316}.wpacu-btns .btn-danger{color:#fff;background-color:#d9534f;border-color:#d9534f}.wpacu-btns .btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#c12e2a}.wpacu-btns .btn-danger.focus,.wpacu-btns .btn-danger:focus{-webkit-box-shadow:0 0 0 2px rgba(217,83,79,.5);box-shadow:0 0 0 2px rgba(217,83,79,.5)}.wpacu-btns .btn-danger.disabled,.wpacu-btns .btn-danger:disabled{background-color:#d9534f;border-color:#d9534f}.wpacu-btns .btn-danger.active,.wpacu-btns .btn-danger:active,.wpacu-btns .show>.btn-danger.dropdown-toggle{color:#fff;background-color:#c9302c;background-image:none;border-color:#c12e2a}.wpacu-btns .btn-outline-primary{color:#0275d8;background-image:none;background-color:transparent;border-color:#0275d8}.wpacu-btns .btn-outline-primary:hover{color:#fff;background-color:#0275d8;border-color:#0275d8}.wpacu-btns .btn-outline-primary.focus,.wpacu-btns .btn-outline-primary:focus{-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.5);box-shadow:0 0 0 2px rgba(2,117,216,.5)}.wpacu-btns .btn-outline-primary.disabled,.wpacu-btns .btn-outline-primary:disabled{color:#0275d8;background-color:transparent}.wpacu-btns .btn-outline-primary.active,.wpacu-btns .btn-outline-primary:active,.wpacu-btns .show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#0275d8;border-color:#0275d8}.wpacu-btns .btn-outline-secondary{color:#ccc;background-image:none;background-color:transparent;border-color:#ccc}.wpacu-btns .btn-outline-secondary:hover{color:#fff;background-color:#ccc;border-color:#ccc}.wpacu-btns .btn-outline-secondary.focus,.wpacu-btns .btn-outline-secondary:focus{-webkit-box-shadow:0 0 0 2px rgba(204,204,204,.5);box-shadow:0 0 0 2px rgba(204,204,204,.5)}.wpacu-btns .btn-outline-secondary.disabled,.wpacu-btns .btn-outline-secondary:disabled{color:#ccc;background-color:transparent}.wpacu-btns .btn-outline-secondary.active,.wpacu-btns .btn-outline-secondary:active,.wpacu-btns .show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#ccc;border-color:#ccc}.wpacu-btns .btn-outline-info{color:#5bc0de;background-image:none;background-color:transparent;border-color:#5bc0de}.wpacu-btns .btn-outline-info:hover{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.wpacu-btns .btn-outline-info.focus,.wpacu-btns .btn-outline-info:focus{-webkit-box-shadow:0 0 0 2px rgba(91,192,222,.5);box-shadow:0 0 0 2px rgba(91,192,222,.5)}.wpacu-btns .btn-outline-info.disabled,.wpacu-btns .btn-outline-info:disabled{color:#5bc0de;background-color:transparent}.wpacu-btns .btn-outline-info.active,.wpacu-btns .btn-outline-info:active,.wpacu-btns .show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.wpacu-btns .btn-outline-success{color:#5cb85c;background-image:none;background-color:transparent;border-color:#5cb85c}.wpacu-btns .btn-outline-success:hover{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.wpacu-btns .btn-outline-success.focus,.wpacu-btns .btn-outline-success:focus{-webkit-box-shadow:0 0 0 2px rgba(92,184,92,.5);box-shadow:0 0 0 2px rgba(92,184,92,.5)}.wpacu-btns .btn-outline-success.disabled,.wpacu-btns .btn-outline-success:disabled{color:#5cb85c;background-color:transparent}.wpacu-btns .btn-outline-success.active,.wpacu-btns .btn-outline-success:active,.wpacu-btns .show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.wpacu-btns .btn-outline-warning{color:#f0ad4e;background-image:none;background-color:transparent;border-color:#f0ad4e}.wpacu-btns .btn-outline-warning:hover{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.wpacu-btns .btn-outline-warning.focus,.wpacu-btns .btn-outline-warning:focus{-webkit-box-shadow:0 0 0 2px rgba(240,173,78,.5);box-shadow:0 0 0 2px rgba(240,173,78,.5)}.wpacu-btns .btn-outline-warning.disabled,.wpacu-btns .btn-outline-warning:disabled{color:#f0ad4e;background-color:transparent}.wpacu-btns .btn-outline-warning.active,.wpacu-btns .btn-outline-warning:active,.wpacu-btns .show>.btn-outline-warning.dropdown-toggle{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.wpacu-btns .btn-outline-danger{color:#d9534f;background-image:none;background-color:transparent;border-color:#d9534f}.wpacu-btns .btn-outline-danger:hover{color:#fff;background-color:#d9534f;border-color:#d9534f}.wpacu-btns .btn-outline-danger.focus,.wpacu-btns .btn-outline-danger:focus{-webkit-box-shadow:0 0 0 2px rgba(217,83,79,.5);box-shadow:0 0 0 2px rgba(217,83,79,.5)}.wpacu-btns .btn-outline-danger.disabled,.wpacu-btns .btn-outline-danger:disabled{color:#d9534f;background-color:transparent}.wpacu-btns .btn-outline-danger.active,.wpacu-btns .btn-outline-danger:active,.wpacu-btns .show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#d9534f;border-color:#d9534f}.wpacu-btns .btn-link{font-weight:400;color:#0275d8;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.wpacu-btns .btn-link,.wpacu-btns .btn-link.active,.wpacu-btns .btn-link:active,.wpacu-btns .btn-link:disabled{background-color:transparent}.wpacu-btns .btn-link,.wpacu-btns .btn-link:active,.wpacu-btns .btn-link:focus,.wpacu-btns .btn-link:hover{border-color:transparent}.wpacu-btns .btn-link:focus,.wpacu-btns .btn-link:hover{color:#014c8c;text-decoration:underline;background-color:transparent}.wpacu-btns .btn-link:disabled{color:#636c72}.wpacu-btns .btn-link:disabled:focus,.wpacu-btns .btn-link:disabled:hover{text-decoration:none}.wpacu-btns .btn-group-lg>.btn,.wpacu-btns .btn-lg{padding:.75rem 1.5rem;font-size:1.25rem;-webkit-border-radius:.3rem;-moz-border-radius:.3rem;border-radius:.3rem}.wpacu-btns .btn-group-sm>.btn,.wpacu-btns .btn-sm{padding:.25rem .5rem;font-size:.875rem;-webkit-border-radius:.2rem;-moz-border-radius:.2rem;border-radius:.2rem}.wpacu-btns .btn-block{display:block;width:100%}.go-pro-button,.go-pro-link-no-style,.wordpress-core-file{display:inline-block;text-decoration:none}.wpacu-btns .btn-block+.btn-block{margin-top:.5rem}.wpacu-btns input[type=submit].btn-block,.wpacu-btns input[type=reset].btn-block,.wpacu-btns input[type=button].btn-block{width:100%}.wpacu-btns .fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.go-pro-button{background-color:#4CAF50;border:2px solid #4CAF50;color:#fff;padding:12px 18px;text-align:center;font-size:16px;margin:4px 2px;cursor:pointer;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;-webkit-transition-duration:.4s;transition-duration:.4s}.go-pro-button:hover{background-color:#fff;color:#000;border:2px solid #4CAF50}body.wp-admin .wpacu_asset_row .go-pro-link-no-style .tooltip{padding:8px 2px}body.wp-admin .go-pro-link-no-style .tooltip{font-weight:400;font-size:12px;line-height:16px;padding:8px 11px}.go-pro-link-no-style{position:relative;color:inherit}.go-pro-link-no-style:not(.nav-tab){font-style:italic}.go-pro-link-no-style.no-transition .tooltip{-webkit-transition:0s all ease;transition:0s all ease;-webkit-transition-delay:0s;transition-delay:0s}.go-pro-link-no-style .tooltip{font-size:14px;line-height:18px;position:absolute;z-index:1;visibility:hidden;width:130px;background-color:#27ae60;color:#fff;text-align:center;padding:8px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;bottom:100%;bottom:calc(100% + 15px);left:50%;margin-left:-65px;-webkit-transition:.2s all ease;transition:.2s all ease;-webkit-transition-delay:0s;transition-delay:0s}.go-pro-link-no-style .tooltip:after{content:"";position:absolute;border-width:10px;border-style:solid;top:100%;left:50%;left:calc(50% - 10px);border-color:#27ae60 transparent transparent}.go-pro-link-no-style .tooltip.wpacu-larger{width:240px}.go-pro-link-no-style:hover .tooltip{visibility:visible}.wordpress-core-file{position:relative;font-style:normal;color:inherit}.wordpress-core-file .tooltip{font-size:14px;line-height:18px;position:absolute;z-index:1;visibility:hidden;width:160px;background-color:#c00;color:#fff;text-align:center;padding:6px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;bottom:100%;bottom:calc(100% + 15px);left:50%;margin-left:-86px;-webkit-transition:.5s all ease;transition:.5s all ease;-webkit-transition-delay:0s;transition-delay:0s}.wordpress-core-file .tooltip:after{content:"";position:absolute;border-width:10px;border-style:solid;top:100%;left:50%;left:calc(50% - 10px);border-color:#c00 transparent transparent}.wordpress-core-file:hover .tooltip{visibility:visible}.pro-page-unlock-notice{-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;padding:10px;background:#f2faf2;border:1px solid #c0e8c0;width:auto;display:block}.wpacu-get-help-wrap .help-content-wrap{margin:20px 0 25px;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-moz-flex;display:-webkit-flex;display:flex;width:100%}@media only screen and (min-width:768px){.wpacu-get-help-wrap .help-content-wrap{-webkit-box-align:start;-ms-flex-align:start;-ms-grid-row-align:flex-start;align-items:flex-start}}@media only screen and (max-width:767px){.wpacu-get-help-wrap .help-content-wrap{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.wpacu-get-help-wrap .help-content-wrap .help-content{padding:15px;background:#fff;border:1px solid #E0E0E0;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;box-shadow:2px 3px 8px 0 #231f2038;flex:1 1 50%;margin-bottom:10px}.wpacu-get-help-wrap .help-content-wrap .help-content .content-title{margin:5px 0 15px}.wpacu-get-help-wrap .help-content-wrap .help-content .cols-wrap{width:100%;margin:0 auto;display:table}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area{margin:5px 0 0;position:relative}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area.col-left{float:left;width:48%}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area.col-right{float:right;width:48%}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area.activate-plugin img{max-width:280px}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area img{width:99%;margin:8px 0;border:1px solid #cdcdcd;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.wpacu-get-help-wrap .help-content-wrap .help-content.upgrade-help{order:2}@media only screen and (min-width:768px){.wpacu-get-help-wrap .help-content-wrap .help-content{margin-right:24px}.wpacu-get-help-wrap .help-content-wrap .help-content.upgrade-help{margin-right:0}}.wpacu-get-help-wrap .help-content-wrap .help-content.tech-help{order:1}@media only screen and (max-width:767px){.wpacu-get-help-wrap .help-content-wrap .help-content.tech-help{margin-bottom:30px}}.wpacu-get-help-wrap .help-content-wrap .help-content ul{list-style:none;padding-left:0}.wpacu-get-help-wrap .help-content-wrap .help-content ul li{font-size:14px;line-height:22px;margin-bottom:15px}.wpacu-get-help-wrap .help-content-wrap .help-content p:last-child,.wpacu-get-help-wrap .help-content-wrap .help-content ul li:last-child{margin-bottom:0}.ajax-direct-call-error-area{background:#fff;padding:10px;border:1px solid #c00;-webkit-border-radius:8px;-moz-border-radius:8px;border-radius:8px}.ajax-direct-call-error-area td{padding:6px}.ajax-direct-call-error-area .note{margin-top:0;padding-top:0}.ajax-direct-call-error-area .error-code{color:#c00;font-weight:700}.ajax-wp-remote-post-call-error-area{background:#fff;padding:20px}.ajax-wp-remote-post-call-error-area .table-data{background:0 0;border:1px solid #c66;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.ajax-wp-remote-post-call-error-area .table-data td{padding:10px}.wrap-upgrade-info{background:#fff;padding:0 15px;border:1px solid #cdcdcd;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.wpacu-notice{margin:20px 20px 0 0!important}.wpacu-notice p{font-weight:600!important;font-style:italic}.wpacu-notice .dashicons{font-weight:inherit!important;color:#46b450!important;margin-right:4px;vertical-align:text-bottom;font-size:27px}.wpacu-wrap.wpacu-switch-standard .toplevel_page_wpassetcleanup_settings .wpacu_switch{width:auto;height:auto}.wpacu-wrap.wpacu-switch-standard .toplevel_page_wpassetcleanup_settings .wpacu_switch input{display:block}.wpacu-wrap.wpacu-switch-standard .toplevel_page_wpassetcleanup_settings .wpacu_switch input[type=checkbox]{margin:0 0 3px}.wpacu-wrap.wpacu-switch-standard .toplevel_page_wpassetcleanup_settings .wpacu_switch .wpacu_slider{display:none}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch{position:relative;display:inline-block;width:52px;height:29px}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch input{display:none}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch:not(.wpacu_switch_standard) .wpacu_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;-webkit-transition:.2s;transition:.2s}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch:not(.wpacu_switch_standard) .wpacu_slider:before{position:absolute;content:'';height:22px;width:22px;left:4px;bottom:4px;background-color:#fff;-webkit-transition:.2s;transition:.2s}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch input:checked+.wpacu_slider{background-color:#52af00}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch input:focus+.wpacu_slider{box-shadow:0 0 1px #52af00}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch input:checked+.wpacu_slider:before{-webkit-transform:translateX(22px);-ms-transform:translateX(22px);transform:translateX(22px)}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch .wpacu_slider.wpacu_round{border-radius:29px}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch .wpacu_slider.wpacu_round:before{border-radius:50%}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_locked_for_pro{opacity:.3}.toplevel_page_wpassetcleanup_settings .setting_title p.wpacu_subtitle{margin-top:2px;line-height:1.2}.toplevel_page_wpassetcleanup_settings .setting_title p.wpacu_subtitle em{font-weight:200}.toplevel_page_wpassetcleanup_settings .setting_title p.wpacu_read_more{margin-top:-10px;font-style:italic;font-size:12px}.toplevel_page_wpassetcleanup_settings .assets_list_inline_code_status_choices,.toplevel_page_wpassetcleanup_settings .assets_list_layout_areas_status_choices,.toplevel_page_wpassetcleanup_settings .input_style_choices{list-style:none;margin:0}.toplevel_page_wpassetcleanup_settings .assets_list_inline_code_status_choices li,.toplevel_page_wpassetcleanup_settings .assets_list_layout_areas_status_choices li,.toplevel_page_wpassetcleanup_settings .input_style_choices li{float:left;margin-right:30px}.toplevel_page_wpassetcleanup_settings .assets_list_inline_code_status_choices li:last-child,.toplevel_page_wpassetcleanup_settings .assets_list_layout_areas_status_choices li:last-child,.toplevel_page_wpassetcleanup_settings .input_style_choices li:last-child{margin-right:0}.wpacu-form-table th{vertical-align:top;text-align:left;padding:5px 20px 20px 0;width:200px;line-height:1.3;font-weight:600}.wpacu-form-table th label{color:#23282d;font-weight:600;font-size:14px;text-shadow:none;vertical-align:middle;cursor:pointer}.wpacu-form-table td{padding-bottom:25px}.wpacu-form-table td:last-child p:last-child{margin:0}.wrap_bulk_unload_options{width:auto;display:inline-flex;-webkit-flex-wrap:wrap;flex-wrap:wrap}.wrap_bulk_unload_options .wpacu_asset_options_wrap{flex-grow:1;margin:5px 10px 14px 0!important;padding:8px 10px 2px!important}.wrap_bulk_unload_options .wpacu_asset_options_wrap .wpacu_slider_text{position:relative!important;vertical-align:top;left:inherit!important;top:inherit!important}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch{position:relative;display:inline-block;width:52px;height:29px;margin-right:5px!important}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch input{display:none}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch .wpacu_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;-webkit-transition:.2s;transition:.2s}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch .wpacu_slider:before{position:absolute;content:'';height:22px;width:22px;left:4px;bottom:4px;background-color:#fff;-webkit-transition:.2s;transition:.2s}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch input:checked+.wpacu_slider{background-color:#C00}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch input:focus+.wpacu_slider{box-shadow:0 0 1px #C00}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch input:checked+.wpacu_slider:before{-webkit-transform:translateX(22px);-ms-transform:translateX(22px);transform:translateX(22px)}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch .wpacu_slider.wpacu_round{border-radius:29px}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch .wpacu_slider.wpacu_round:before{border-radius:50%}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_slider_text{position:absolute;left:62px;top:3px}.wpacu_asset_row td{width:100%}.wpacu_asset_row td p:last-child{margin-bottom:0!important}.wpacu_asset_row td .wpacu_asset_options_wrap{padding:8px 10px;margin:15px 0;background:#fff;border:1px solid #eee;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.wpacu_asset_row td .wpacu_asset_options_wrap p:first-child{margin-top:0;margin-bottom:8px!important}.wpacu_asset_row p.wpacu_handle{margin-top:0}.wpacu_asset_row li.wpacu_unload_this_page{display:block!important;position:relative}.wpacu-clearfix:after,.wpacu-clearfix:before{content:'';display:table}.wpacu-contract-expand-area{width:100%;margin:20px 0 0}.wpacu-contract-expand-area .col-left{float:left}.wpacu-contract-expand-area .col-left h4{margin-bottom:0}.wpacu-contract-expand-area .col-right{float:right}.wpacu-clearfix:after{clear:both}.wpacu-wp-button{color:#555;border-color:#ccc;background:#f7f7f7;box-shadow:0 1px 0 #ccc;vertical-align:top}body.wp-admin .wpacu-wp-button{font-size:13px;line-height:26px;height:28px}.wpacu-wp-button.wpacu-wp-button-secondary{display:inline-block;text-decoration:none;height:auto;margin:0 5px 0 0;padding:0 10px 1px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;border-radius:3px;white-space:nowrap;box-sizing:border-box}.wpacu-assets-collapsible-wrap.wpacu-wrap-all,.wpacu-assets-collapsible-wrap.wpacu-wrap-styles{margin-top:20px}.wpacu-wp-button:hover{background:#fafafa;border-color:#999;color:#23282d}a.wpacu-assets-collapsible.wpacu-assets-collapsible-active,a.wpacu-assets-collapsible:hover{background-color:#f1f3f8}.wpacu-assets-collapsible-wrap{border:1px solid #e7e7e7}.wpacu-assets-collapsible-wrap.wpacu-wrap-all .distinguish-asset-list{list-style:none;margin-left:0;margin-bottom:5px;display:inline-block}.wpacu-assets-collapsible-wrap.wpacu-wrap-all .distinguish-asset-list li{float:left;margin-right:20px}.wpacu-assets-collapsible-wrap.wpacu-wrap-all .distinguish-asset-list li:last-child{margin-right:0}.wpacu-assets-collapsible-wrap.wpacu-wrap-scripts{margin-top:10px}a.wpacu-assets-collapsible{color:#000;font-size:20px;text-decoration:none;display:block;position:relative;background-color:#f1f3f8;cursor:pointer;padding:15px 15px 15px 36px;width:auto;border:none;text-align:left;outline:0}a.wpacu-assets-collapsible>span.dashicons{font-size:25px;line-height:normal;position:absolute;top:15px;top:calc(50% - 21px);left:22px;-webkit-transform:translate(-50%,50%);transform:translate(-50%,50%)}a.wpacu-assets-collapsible:after{position:absolute;font-size:22px;font-family:Dashicons;right:14px;top:16px}a.wpacu-assets-collapsible:not(.wpacu-assets-collapsible-active):after{content:"\f132"}a.wpacu-assets-collapsible.wpacu-assets-collapsible-active:after{content:"\f460"}.wpacu-assets-collapsible-content{padding:0 16px;max-height:0;overflow:hidden;background-color:#fbfbfb8c}.wpacu-assets-collapsible-content>div{padding:16px 0 0}.wpacu-assets-collapsible-content>div>p:first-child{margin-top:0}.wpacu-assets-collapsible-content.wpacu-open{max-height:100%}a.wpacu-assets-inline-code-collapsible{font-size:14px;text-decoration:none;display:inline-block;position:relative;cursor:pointer;width:auto;outline:0;background:#f1f3f8;border:1px solid #cdcdcd;padding:4px 21px 4px 8px;margin:0 0 0 6px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}a.wpacu-assets-inline-code-collapsible:hover{border:1px solid #5c5c5c}a.wpacu-assets-inline-code-collapsible:after{position:absolute;font-size:15px;font-family:Dashicons;right:-3px;top:-1px;height:14px;width:14px;-webkit-transform:translate(-50%,50%);transform:translate(-50%,50%)}a.wpacu-assets-inline-code-collapsible:not(.wpacu-assets-inline-code-collapsible-active):after{content:"\f132"}a.wpacu-assets-inline-code-collapsible.wpacu-assets-inline-code-collapsible-active:after{content:"\f460"}.wpacu-assets-inline-code-collapsible-content{padding:0 8px;max-height:0;overflow:hidden;background-color:#fbfbfb8c}.wpacu-assets-inline-code-collapsible-content>div{padding:7px 8px 0}.wpacu-assets-inline-code-collapsible-content>div>p:first-child{margin-top:0}.wpacu-assets-inline-code-collapsible-content.wpacu-open{max-height:100%}.wpacu_table_wrap{margin:20px 0 0}.wpacu_table_wrap>table{border:1px solid #cdcdcd}.wpacu_table_wrap .table{width:100%;max-width:100%;margin-bottom:1rem;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.wpacu_table_wrap .table td,.wpacu_table_wrap .table th{padding:.75rem;vertical-align:top;border-top:1px solid #eceeef}.wpacu_table_wrap .table thead th{vertical-align:bottom;border-bottom:2px solid #eceeef}.wpacu_table_wrap .table tbody+tbody{border-top:2px solid #eceeef}.wpacu_table_wrap .table .table{background-color:#fff}.wpacu_table_wrap .table-sm td,.wpacu_table_wrap .table-sm th{padding:.3rem}.wpacu_table_wrap .table-bordered,.wpacu_table_wrap .table-bordered td,.wpacu_table_wrap .table-bordered th{border:1px solid #eceeef}.wpacu_table_wrap .table-bordered thead td,.wpacu_table_wrap .table-bordered thead th{border-bottom-width:2px}.wpacu_table_wrap .table-striped tbody tr:nth-of-type(even){background-color:#f9f9f9}.wpacu_table_wrap .table-striped tbody tr:nth-of-type(odd){background-color:#fff}.wpacu_table_wrap .table-active,.wpacu_table_wrap .table-active>td,.wpacu_table_wrap .table-active>th,.wpacu_table_wrap .table-hover .table-active:hover,.wpacu_table_wrap .table-hover .table-active:hover>td,.wpacu_table_wrap .table-hover .table-active:hover>th,.wpacu_table_wrap .table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.wpacu_table_wrap .table-success,.wpacu_table_wrap .table-success>td,.wpacu_table_wrap .table-success>th{background-color:#dff0d8}.wpacu_table_wrap .table-hover .table-success:hover,.wpacu_table_wrap .table-hover .table-success:hover>td,.wpacu_table_wrap .table-hover .table-success:hover>th{background-color:#d0e9c6}.wpacu_table_wrap .table-info,.wpacu_table_wrap .table-info>td,.wpacu_table_wrap .table-info>th{background-color:#d9edf7}.wpacu_table_wrap .table-hover .table-info:hover,.wpacu_table_wrap .table-hover .table-info:hover>td,.wpacu_table_wrap .table-hover .table-info:hover>th{background-color:#c4e3f3}.wpacu_table_wrap .table-warning,.wpacu_table_wrap .table-warning>td,.wpacu_table_wrap .table-warning>th{background-color:#fcf8e3}.wpacu_table_wrap .table-hover .table-warning:hover,.wpacu_table_wrap .table-hover .table-warning:hover>td,.wpacu_table_wrap .table-hover .table-warning:hover>th{background-color:#faf2cc}.wpacu_table_wrap .table-danger,.wpacu_table_wrap .table-danger>td,.wpacu_table_wrap .table-danger>th{background-color:#f2dede}.wpacu_table_wrap .table-hover .table-danger:hover,.wpacu_table_wrap .table-hover .table-danger:hover>td,.wpacu_table_wrap .table-hover .table-danger:hover>th{background-color:#ebcccc}.wpacu_table_wrap .thead-inverse th{color:#fff;background-color:#292b2c}.wpacu_table_wrap .thead-default th{color:#464a4c;background-color:#eceeef}.wpacu_table_wrap .table-inverse{color:#fff;background-color:#292b2c}.wpacu_table_wrap .table-inverse td,.wpacu_table_wrap .table-inverse th,.wpacu_table_wrap .table-inverse thead th{border-color:#fff}.wpacu_table_wrap .table-inverse.table-bordered,.wpacu_table_wrap .table-responsive.table-bordered{border:0}.wpacu_table_wrap .table-responsive{display:block;width:100%;overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar}#wpacu-license-data-remove-area{display:none;margin:10px 0 25px}#wpacu-license-data-remove-area.wpacu-visible{display:block}span#wpacu-license-data-removed-msg{display:block;padding-left:26px}#wpacu-warning-read{display:none;margin:10px 0}#wpacu-warning-read span.dashicons-warning{color:#c00}#wpacu-warning-read.wpacu-visible{display:block}#wpacu-reset-submit-area{margin:10px 0;clear:both}#wpacu-reset-submit-btn{margin:10px 0 0}.wpacu-tools-area{margin:10px 20px 0 2px}.wpacu-tools-area .wpacu-tools-container{background:#fff;padding:15px;border:1px solid #cdcdcd;width:96%}.wpacu-tools-area .wpacu-tools-container form>div:first-child{margin:0 0 10px}.wpacu-tools-area .wpacu-tools-container form .wpacu-warning{display:none;box-sizing:border-box;margin-top:10px}.wpacu-tools-area .wpacu-tools-container form .wpacu-warning p{margin:0 0 10px;line-height:22px}.wpacu-tools-area .wpacu-tools-container form .wpacu-warning p:only-child{margin:0}.wpacu-tools-area .wpacu-tools-container form .wpacu-warning ul{font-size:13px;list-style-type:disc;padding-left:30px}.wpacu-tools-area .wpacu-tools-container form .wpacu-warning.wpacu-visible{display:block}.wpacu-warning{font-size:15px;padding:10px;background:#fffcec;border:1px solid #fdd5c9;margin:0 0 5px;width:100%}
1
+ .wpacu_update_btn,label.wpacu_add_global{cursor:pointer!important}#wpacu-pages-info-area{width:98%}#wpacu-logo-area{margin:15px 0;padding:0 10px}#wpacu-logo-area img{max-width:340px;width:100%}.wpacu-tabs{position:relative;overflow:hidden;margin:0 auto 20px;width:100%;font-weight:300;font-size:20px}.wpacu-tabs nav{text-align:center}.wpacu-tabs nav ul{position:relative;display:-ms-flexbox;display:-webkit-flex;display:-moz-flex;display:-ms-flex;display:flex;margin:0 auto;padding:0;max-width:1200px;list-style:none;-ms-box-orient:horizontal;-ms-box-pack:center;-webkit-flex-flow:row wrap;-moz-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;justify-content:center}.wpacu-tabs nav ul li{position:relative;z-index:1;display:block;margin:0;text-align:center;-webkit-flex:1;-moz-flex:1;-ms-flex:1;flex:1}.wpacu-tabs nav ul li span.license-status{position:absolute;font-size:12px;left:0;right:50%;bottom:12px;-webkit-transform:translate(50%,50%);transform:translate(50%,50%)}.wpacu-tabs nav ul li span.license-status.inactive{color:#c00}.wpacu-tabs nav ul li span.license-status.active{color:green}.wpacu-tabs nav a{position:relative;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:2.5}.wpacu-tabs nav a span{vertical-align:middle;font-size:14px}.wpacu-tabs nav li.wpacu-tab-current a{color:#74777b}.wpacu-tabs nav a:focus{outline:0}.wpacu-tabs .dashicons{font-size:20px}.no-js .wpacu-content-wrap section{display:block;padding-bottom:2em;border-bottom:1px solid rgba(255,255,255,.6)}.no-flexbox nav ul{display:block}.no-flexbox nav ul li{min-width:15%;display:inline-block}@media screen and (max-width:58em){.wpacu-tabs nav a.icon span{display:none}.wpacu-tabs nav a:before{margin-right:0}}.wpacu-tabs-style-underline nav{background:#fff}.wpacu-tabs-style-underline nav a{color:#74777b;font-size:18px;text-transform:uppercase;text-decoration:none;padding:.25em 0 .5em;border-left:1px solid #e7ecea;-webkit-transition:color .2s;transition:color .2s}.wpacu-tabs-style-underline nav li:last-child a{border-right:1px solid #e7ecea}.wpacu-tabs-style-underline nav li a::after{position:absolute;bottom:0;left:0;width:100%;height:6px;background:#2CC185;content:'';-webkit-transition:-webkit-transform .3s;transition:transform .3s;-webkit-transform:translate3d(0,150%,0);transform:translate3d(0,150%,0)}.wpacu-tabs-style-underline nav li.wpacu-tab-current a::after{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.wpacu-tabs-style-underline nav a span{font-weight:700}.wpacu-tabs-style-topline{max-width:1200px;margin:20px auto 30px 0;width:100%;font-weight:300;text-decoration:none}.wpacu-tabs-style-topline nav li{border:1px solid rgba(40,44,42,.1)}.wpacu-tabs-style-topline nav li:not(:last-child){border-right:none}.wpacu-tabs-style-topline nav li.wpacu-tab-current{border-top-color:#0085ba;border-bottom:none}.wpacu-tabs-style-topline nav a{padding:20px 10px;background:rgba(40,44,42,.05);color:#74777b;line-height:1;-webkit-transition:color .2s;transition:color .2s;text-decoration:none}.wpacu-tabs-style-topline nav a:focus,.wpacu-tabs-style-topline nav a:hover{color:#0085ba}.wpacu-tabs-style-topline nav li.wpacu-tab-current a{background:0 0;box-shadow:inset 0 3px 0 #0085ba;color:#0085ba}.wpacu-tabs-style-topline nav li.wpacu-tab-current a span:not(.dashicons){font-weight:600}.wpacu-tabs-style-topline nav a span{text-transform:uppercase;font-weight:400}.wpacu-tab-nav-wrapper{border-bottom:none!important}.wpacu-tab-nav-wrapper .nav-tab.nav-tab-active{background:#fff;position:relative}.wpacu-tab-nav-wrapper .nav-tab.nav-tab-active:after{content:'';width:100%;bottom:-2px;left:0;position:absolute;border-bottom:2px solid #fff}.wpacu-script-attributes-area{margin:20px 0 0!important}.wpacu-script-attributes-area.wpacu-lite ul.wpacu-script-attributes-settings{padding:5px 7px!important}.wpacu-script-attributes-area.wpacu-lite ul.wpacu-script-attributes-settings.wpacu-first{margin:0 28px 0 0!important}.wpacu-script-attributes-area.wpacu-lite ul.wpacu-script-attributes-settings label{margin:0!important}.wpacu-script-attributes-area.wpacu-lite ul.wpacu-script-attributes-settings li{margin:0 16px 0 0!important}.wpacu-script-attributes-area.wpacu-lite ul.wpacu-script-attributes-settings li:first-child{margin:0 10px 0 0!important}.wpacu-script-attributes-area.wpacu-lite ul.wpacu-script-attributes-settings li:last-child{margin:0 2px 0 0!important}.wpacu-script-attributes-area .wpacu-script-attributes-settings{background:#fff!important;border:1px solid #eee!important;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;padding:5px 10px!important;list-style:none;display:inline-block;margin:0}.wpacu-script-attributes-area .wpacu-script-attributes-settings input[type=radio]{padding:0;margin:0 5px 0 0}.wpacu-script-attributes-area .wpacu-script-attributes-settings.wpacu-first{margin:0 34px 0 0!important}.wpacu-script-attributes-area .wpacu-script-attributes-settings li{float:left;margin:0 17px 0 0}.wpacu-script-attributes-area .wpacu-script-attributes-settings li:first-child{margin:0 10px 0 0!important}.wpacu-script-attributes-area .wpacu-script-attributes-settings li:last-child{margin:0}.wpacu-script-attributes-area .wpacu-script-attributes-settings:hover{background:#f2faf2}tr.wpacu_not_load td,tr.wpacu_not_load th{background:#FFE1E1!important}.dashicons-wpacu{width:17px;height:17px;margin:2px 0 0;font-size:16px;text-decoration:none}.wpacu_widefat .check-column.wpacu_check{padding:10px}body[class*=wpassetcleanup] #footer-left{border-left:2px solid green;padding-left:10px}#wpacu_meta_box_content{width:99%}#wpacu_meta_box_content h3{margin-left:0;padding-left:0}#wpacu_meta_box_content div.wpacu_note{padding:10px;background-color:#f5f5f5}#wpacu_meta_box_content .dashicons.dashicons-warning{color:#c00}#wpacu_meta_box_content div.wpacu_verified{padding:10px;background-color:#f5f5f5;border-left:1px solid #ddd}#wpacu_meta_box_content div.wpacu_verified span{color:#0073aa;font-weight:700}#wpacu_meta_box_content div.wpacu_warning{border:1px solid #c00}#wpacu_meta_box_content ul.wpacu_asset_options{margin:0;padding:0}#wpacu_meta_box_content ul.wpacu_asset_options li{list-style:none;display:inline-block}#wpacu_wrap_assets img,#wpacu_wrap_assets small,.wpacu_asset_row td label{display:inline-block!important}#wpacu_meta_box_content ul.wpacu_asset_options label{font-weight:400;margin-right:5px;margin-top:5px;margin-bottom:5px}.wpacu-updated-frontend{font-weight:400;background-color:#fff;border-left:4px solid #46b450;border-top:1px solid #46b450;border-right:1px solid #46b450;border-bottom:1px solid #46b450;padding:9px 14px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.wpacu-updated-frontend span.dashicons-yes{color:#46b450;font-size:26px}#wpacu_wrap_assets{color:#000!important;text-align:left!important;clear:both!important;width:90%!important;padding:20px!important;margin:30px 0 0 15px!important;border:1px solid #cdcdcd;z-index:10000!important;position:relative!important;background-color:#fff!important}#wpacu_wrap_assets div.wpacu_warning{border:1px solid #c00}#wpacu_wrap_assets small{margin:0!important;letter-spacing:normal!important}#wpacu_wrap_assets input[type=checkbox]{margin-right:4px!important}#wpacu_wrap_assets p{margin:10px 0!important;line-height:22px!important;text-align:left!important;font-weight:400!important}#wpacu_wrap_assets p:first-child,.wpacu_verified{margin:0 0 10px!important}#wpacu_wrap_assets h1{margin:0 0 20px!important;font-size:160%!important;text-align:left!important}#wpacu_wrap_assets h3{margin:20px 0;font-size:130%}.wpacu_asset_row td{padding:10px!important;border-left:1px solid #cdcdcd;border-right:1px solid #cdcdcd;border-bottom:1px solid #cdcdcd}.wpacu_asset_row td:first-child{border-top:1px solid #cdcdcd}.wpacu_asset_row td p{padding:0!important;margin-bottom:10px!important;word-wrap:break-word!important;-ms-word-break:break-all;word-break:break-word}.wpacu_asset_row td label{margin:0!important;cursor:pointer!important;font-size:100%!important;font-weight:400!important}.wpacu_asset_row td label span:not(.dashicons){font-size:100%!important}.wpacu_asset_row td.wpacu_check{width:50px!important}.asset-table-extra-info td{padding:5px!important}body.wp-admin .wpacu_asset_row td.wpacu_check{width:25px!important}.wpacu_asset_row .dashicons-warning{color:red!important}label.wpacu_global_checked{font-weight:700;color:#d54e21}label.wpacu_global_unload_exception{font-weight:700!important}label.wpacu_bulk_unload_active{color:#d54e21}tr.wpacu_global_rule_row.selected{background:#e7e7e7}.nav-tab-wrapper{border-bottom:1px solid #ccc;width:95%}ul.wpacu_asset_options{margin:0 10px 0 0;padding:0}ul.wpacu_asset_options li{margin:0 20px 0 0;list-style:none;display:inline-block}ul.wpacu_asset_options li.remove_rule label{font-weight:700}ul.wpacu_asset_options label{margin-right:20px;font-weight:400}ul.wpacu_asset_options label input{margin-right:4px}.wpacu_list_table,.wpacu_list_table div,.wpacu_list_table li,.wpacu_list_table p{font-weight:400}.wpacu_widefat{width:99%;border:1px solid #e5e5e5!important}.wpacu_striped>tbody>:nth-child(even),ul.wpacu_striped>:nth-child(even){background-color:#fff!important}.wpacu_striped>tbody>:nth-child(odd),ul.wpacu_striped>:nth-child(odd){background-color:#f9f9f9!important}.wpacu_update_btn{-moz-box-shadow:inset 0 1px 0 0 #54a3f7!important;-webkit-box-shadow:inset 0 1px 0 0 #54a3f7!important;box-shadow:inset 0 1px 0 0 #54a3f7!important;background:-webkit-gradient(linear,left top,left bottom,color-stop(.05,#007dc1),color-stop(1,#0061a7))!important;background:-moz-linear-gradient(top,#007dc1 5%,#0061a7 100%)!important;background:-webkit-linear-gradient(top,#007dc1 5%,#0061a7 100%)!important;background:-o-linear-gradient(top,#007dc1 5%,#0061a7 100%)!important;background:-ms-linear-gradient(top,#007dc1 5%,#0061a7 100%)!important;background:linear-gradient(to bottom,#007dc1 5%,#0061a7 100%)!important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#007dc1', endColorstr='#0061a7', GradientType=0)!important;background-color:#007dc1!important;-moz-border-radius:3px!important;-webkit-border-radius:3px!important;border-radius:3px!important;border:1px solid #124d77!important;display:inline-block!important;color:#fff!important;font-size:15px!important;padding:10px 24px!important;text-decoration:none!important;text-shadow:0 1px 0 #154682!important;height:auto!important;line-height:normal!important}.wpacu-btns .btn:focus,.wpacu-btns .btn:hover,.wpacu-btns a{text-decoration:none}.wpacu_update_btn:hover{background:-webkit-gradient(linear,left top,left bottom,color-stop(.05,#0061a7),color-stop(1,#007dc1))!important;background:-moz-linear-gradient(top,#0061a7 5%,#007dc1 100%)!important;background:-webkit-linear-gradient(top,#0061a7 5%,#007dc1 100%)!important;background:-o-linear-gradient(top,#0061a7 5%,#007dc1 100%)!important;background:-ms-linear-gradient(top,#0061a7 5%,#007dc1 100%)!important;background:linear-gradient(to bottom,#0061a7 5%,#007dc1 100%)!important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0061a7', endColorstr='#007dc1', GradientType=0)!important;background-color:#0061a7!important}.wpacu_update_btn:active{position:relative!important;top:1px!important}.wpacu-btns .btn{display:inline-block;font-weight:400;line-height:1.25;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.5rem 1rem;font-size:1rem;-webkit-border-radius:.25rem;-moz-border-radius:.25rem;border-radius:.25rem;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.wpacu-btns .btn.focus,.wpacu-btns .btn:focus{outline:0;-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.25);box-shadow:0 0 0 2px rgba(2,117,216,.25)}.wpacu-btns .btn.disabled,.wpacu-btns .btn:disabled{cursor:not-allowed;opacity:.65}.wpacu-btns .btn.active,.wpacu-btns .btn:active{background-image:none}.wpacu-btns a.btn.disabled,.wpacu-btns fieldset[disabled] a.btn{pointer-events:none}.wpacu-btns .btn-primary{color:#fff;background-color:#0275d8;border-color:#0275d8}.wpacu-btns .btn-primary:hover{color:#fff;background-color:#025aa5;border-color:#01549b}.wpacu-btns .btn-primary.focus,.wpacu-btns .btn-primary:focus{-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.5);box-shadow:0 0 0 2px rgba(2,117,216,.5)}.wpacu-btns .btn-primary.disabled,.wpacu-btns .btn-primary:disabled{background-color:#0275d8;border-color:#0275d8}.wpacu-btns .btn-primary.active,.wpacu-btns .btn-primary:active,.wpacu-btns .show>.btn-primary.dropdown-toggle{color:#fff;background-color:#025aa5;background-image:none;border-color:#01549b}.wpacu-btns .btn-secondary{color:#292b2c;background-color:#fff;border-color:#ccc}.wpacu-btns .btn-secondary:hover{color:#292b2c;background-color:#e6e6e6;border-color:#adadad}.wpacu-btns .btn-secondary.focus,.wpacu-btns .btn-secondary:focus{-webkit-box-shadow:0 0 0 2px rgba(204,204,204,.5);box-shadow:0 0 0 2px rgba(204,204,204,.5)}.wpacu-btns .btn-secondary.disabled,.wpacu-btns .btn-secondary:disabled{background-color:#fff;border-color:#ccc}.wpacu-btns .btn-secondary.active,.wpacu-btns .btn-secondary:active,.wpacu-btns .show>.btn-secondary.dropdown-toggle{color:#292b2c;background-color:#e6e6e6;background-image:none;border-color:#adadad}.wpacu-btns .btn-info{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.wpacu-btns .btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#2aabd2}.wpacu-btns .btn-info.focus,.wpacu-btns .btn-info:focus{-webkit-box-shadow:0 0 0 2px rgba(91,192,222,.5);box-shadow:0 0 0 2px rgba(91,192,222,.5)}.wpacu-btns .btn-info.disabled,.wpacu-btns .btn-info:disabled{background-color:#5bc0de;border-color:#5bc0de}.wpacu-btns .btn-info.active,.wpacu-btns .btn-info:active,.wpacu-btns .show>.btn-info.dropdown-toggle{color:#fff;background-color:#31b0d5;background-image:none;border-color:#2aabd2}.wpacu-btns .btn-success{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.wpacu-btns .btn-success:hover{color:#fff;background-color:#449d44;border-color:#419641}.wpacu-btns .btn-success.focus,.wpacu-btns .btn-success:focus{-webkit-box-shadow:0 0 0 2px rgba(92,184,92,.5);box-shadow:0 0 0 2px rgba(92,184,92,.5)}.wpacu-btns .btn-success.disabled,.wpacu-btns .btn-success:disabled{background-color:#5cb85c;border-color:#5cb85c}.wpacu-btns .btn-success.active,.wpacu-btns .btn-success:active,.wpacu-btns .show>.btn-success.dropdown-toggle{color:#fff;background-color:#449d44;background-image:none;border-color:#419641}.wpacu-btns .btn-warning{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.wpacu-btns .btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#eb9316}.wpacu-btns .btn-warning.focus,.wpacu-btns .btn-warning:focus{-webkit-box-shadow:0 0 0 2px rgba(240,173,78,.5);box-shadow:0 0 0 2px rgba(240,173,78,.5)}.wpacu-btns .btn-warning.disabled,.wpacu-btns .btn-warning:disabled{background-color:#f0ad4e;border-color:#f0ad4e}.wpacu-btns .btn-warning.active,.wpacu-btns .btn-warning:active,.wpacu-btns .show>.btn-warning.dropdown-toggle{color:#fff;background-color:#ec971f;background-image:none;border-color:#eb9316}.wpacu-btns .btn-danger{color:#fff;background-color:#d9534f;border-color:#d9534f}.wpacu-btns .btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#c12e2a}.wpacu-btns .btn-danger.focus,.wpacu-btns .btn-danger:focus{-webkit-box-shadow:0 0 0 2px rgba(217,83,79,.5);box-shadow:0 0 0 2px rgba(217,83,79,.5)}.wpacu-btns .btn-danger.disabled,.wpacu-btns .btn-danger:disabled{background-color:#d9534f;border-color:#d9534f}.wpacu-btns .btn-danger.active,.wpacu-btns .btn-danger:active,.wpacu-btns .show>.btn-danger.dropdown-toggle{color:#fff;background-color:#c9302c;background-image:none;border-color:#c12e2a}.wpacu-btns .btn-outline-primary{color:#0275d8;background-image:none;background-color:transparent;border-color:#0275d8}.wpacu-btns .btn-outline-primary:hover{color:#fff;background-color:#0275d8;border-color:#0275d8}.wpacu-btns .btn-outline-primary.focus,.wpacu-btns .btn-outline-primary:focus{-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.5);box-shadow:0 0 0 2px rgba(2,117,216,.5)}.wpacu-btns .btn-outline-primary.disabled,.wpacu-btns .btn-outline-primary:disabled{color:#0275d8;background-color:transparent}.wpacu-btns .btn-outline-primary.active,.wpacu-btns .btn-outline-primary:active,.wpacu-btns .show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#0275d8;border-color:#0275d8}.wpacu-btns .btn-outline-secondary{color:#ccc;background-image:none;background-color:transparent;border-color:#ccc}.wpacu-btns .btn-outline-secondary:hover{color:#fff;background-color:#ccc;border-color:#ccc}.wpacu-btns .btn-outline-secondary.focus,.wpacu-btns .btn-outline-secondary:focus{-webkit-box-shadow:0 0 0 2px rgba(204,204,204,.5);box-shadow:0 0 0 2px rgba(204,204,204,.5)}.wpacu-btns .btn-outline-secondary.disabled,.wpacu-btns .btn-outline-secondary:disabled{color:#ccc;background-color:transparent}.wpacu-btns .btn-outline-secondary.active,.wpacu-btns .btn-outline-secondary:active,.wpacu-btns .show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#ccc;border-color:#ccc}.wpacu-btns .btn-outline-info{color:#5bc0de;background-image:none;background-color:transparent;border-color:#5bc0de}.wpacu-btns .btn-outline-info:hover{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.wpacu-btns .btn-outline-info.focus,.wpacu-btns .btn-outline-info:focus{-webkit-box-shadow:0 0 0 2px rgba(91,192,222,.5);box-shadow:0 0 0 2px rgba(91,192,222,.5)}.wpacu-btns .btn-outline-info.disabled,.wpacu-btns .btn-outline-info:disabled{color:#5bc0de;background-color:transparent}.wpacu-btns .btn-outline-info.active,.wpacu-btns .btn-outline-info:active,.wpacu-btns .show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.wpacu-btns .btn-outline-success{color:#5cb85c;background-image:none;background-color:transparent;border-color:#5cb85c}.wpacu-btns .btn-outline-success:hover{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.wpacu-btns .btn-outline-success.focus,.wpacu-btns .btn-outline-success:focus{-webkit-box-shadow:0 0 0 2px rgba(92,184,92,.5);box-shadow:0 0 0 2px rgba(92,184,92,.5)}.wpacu-btns .btn-outline-success.disabled,.wpacu-btns .btn-outline-success:disabled{color:#5cb85c;background-color:transparent}.wpacu-btns .btn-outline-success.active,.wpacu-btns .btn-outline-success:active,.wpacu-btns .show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.wpacu-btns .btn-outline-warning{color:#f0ad4e;background-image:none;background-color:transparent;border-color:#f0ad4e}.wpacu-btns .btn-outline-warning:hover{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.wpacu-btns .btn-outline-warning.focus,.wpacu-btns .btn-outline-warning:focus{-webkit-box-shadow:0 0 0 2px rgba(240,173,78,.5);box-shadow:0 0 0 2px rgba(240,173,78,.5)}.wpacu-btns .btn-outline-warning.disabled,.wpacu-btns .btn-outline-warning:disabled{color:#f0ad4e;background-color:transparent}.wpacu-btns .btn-outline-warning.active,.wpacu-btns .btn-outline-warning:active,.wpacu-btns .show>.btn-outline-warning.dropdown-toggle{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.wpacu-btns .btn-outline-danger{color:#d9534f;background-image:none;background-color:transparent;border-color:#d9534f}.wpacu-btns .btn-outline-danger:hover{color:#fff;background-color:#d9534f;border-color:#d9534f}.wpacu-btns .btn-outline-danger.focus,.wpacu-btns .btn-outline-danger:focus{-webkit-box-shadow:0 0 0 2px rgba(217,83,79,.5);box-shadow:0 0 0 2px rgba(217,83,79,.5)}.wpacu-btns .btn-outline-danger.disabled,.wpacu-btns .btn-outline-danger:disabled{color:#d9534f;background-color:transparent}.wpacu-btns .btn-outline-danger.active,.wpacu-btns .btn-outline-danger:active,.wpacu-btns .show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#d9534f;border-color:#d9534f}.wpacu-btns .btn-link{font-weight:400;color:#0275d8;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.wpacu-btns .btn-link,.wpacu-btns .btn-link.active,.wpacu-btns .btn-link:active,.wpacu-btns .btn-link:disabled{background-color:transparent}.wpacu-btns .btn-link,.wpacu-btns .btn-link:active,.wpacu-btns .btn-link:focus,.wpacu-btns .btn-link:hover{border-color:transparent}.wpacu-btns .btn-link:focus,.wpacu-btns .btn-link:hover{color:#014c8c;text-decoration:underline;background-color:transparent}.wpacu-btns .btn-link:disabled{color:#636c72}.wpacu-btns .btn-link:disabled:focus,.wpacu-btns .btn-link:disabled:hover{text-decoration:none}.wpacu-btns .btn-group-lg>.btn,.wpacu-btns .btn-lg{padding:.75rem 1.5rem;font-size:1.25rem;-webkit-border-radius:.3rem;-moz-border-radius:.3rem;border-radius:.3rem}.wpacu-btns .btn-group-sm>.btn,.wpacu-btns .btn-sm{padding:.25rem .5rem;font-size:.875rem;-webkit-border-radius:.2rem;-moz-border-radius:.2rem;border-radius:.2rem}.wpacu-btns .btn-block{display:block;width:100%}.go-pro-button,.go-pro-link-no-style,.wordpress-core-file{display:inline-block;text-decoration:none}.wpacu-btns .btn-block+.btn-block{margin-top:.5rem}.wpacu-btns input[type=submit].btn-block,.wpacu-btns input[type=reset].btn-block,.wpacu-btns input[type=button].btn-block{width:100%}.wpacu-btns .fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.go-pro-button{background-color:#4CAF50;border:2px solid #4CAF50;color:#fff;padding:12px 18px;text-align:center;font-size:16px;margin:4px 2px;cursor:pointer;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;-webkit-transition-duration:.4s;transition-duration:.4s}.go-pro-button:hover{background-color:#fff;color:#000;border:2px solid #4CAF50}.go-pro-link-no-style .tooltip:after,.wordpress-core-file .tooltip:after{content:"";border-width:10px;border-style:solid;top:100%}body.wp-admin .wpacu_asset_row .go-pro-link-no-style .tooltip{padding:8px 2px}body.wp-admin .go-pro-link-no-style .tooltip{font-weight:400;font-size:12px;line-height:16px;padding:8px 11px}.go-pro-link-no-style{position:relative;color:inherit}.go-pro-link-no-style:not(.nav-tab){font-style:italic}.go-pro-link-no-style.no-transition .tooltip{-webkit-transition:0s all ease;transition:0s all ease;-webkit-transition-delay:0s;transition-delay:0s}.go-pro-link-no-style .tooltip{font-size:14px;line-height:18px;position:absolute;z-index:1;visibility:hidden;width:130px;background-color:#27ae60;color:#fff;text-align:center;padding:8px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;bottom:100%;bottom:calc(100% + 15px);left:50%;margin-left:-65px;-webkit-transition:.2s all ease;transition:.2s all ease;-webkit-transition-delay:0s;transition-delay:0s}.go-pro-link-no-style .tooltip:after{position:absolute;left:50%;left:calc(50% - 10px);border-color:#27ae60 transparent transparent}.go-pro-link-no-style .tooltip.wpacu-larger{width:240px}.go-pro-link-no-style:hover .tooltip{visibility:visible}.wordpress-core-file{position:relative;font-style:normal;color:inherit}.wordpress-core-file .tooltip{font-size:14px;line-height:18px;position:absolute;z-index:1;visibility:hidden;width:160px;background-color:#c00;color:#fff;text-align:center;padding:6px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;bottom:100%;bottom:calc(100% + 15px);left:50%;margin-left:-86px;-webkit-transition:.5s all ease;transition:.5s all ease;-webkit-transition-delay:0s;transition-delay:0s}.wordpress-core-file .tooltip:after{position:absolute;left:50%;left:calc(50% - 10px);border-color:#c00 transparent transparent}.wordpress-core-file:hover .tooltip{visibility:visible}.ajax-direct-call-error-area{background:#fff;padding:10px;border:1px solid #c00;-webkit-border-radius:8px;-moz-border-radius:8px;border-radius:8px}.ajax-direct-call-error-area td{padding:6px}.ajax-direct-call-error-area .note{margin-top:0;padding-top:0}.ajax-direct-call-error-area .error-code{color:#c00;font-weight:700}.ajax-wp-remote-post-call-error-area{background:#fff;padding:20px}.ajax-wp-remote-post-call-error-area .table-data{background:0 0;border:1px solid #c66;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.ajax-wp-remote-post-call-error-area .table-data td{padding:10px}.wrap-upgrade-info{background:#fff;padding:0 15px;border:1px solid #cdcdcd;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.wpacu-notice{margin:20px 20px 0 0!important}.wpacu-notice p{font-weight:600!important;font-style:italic}.wpacu-notice .dashicons{font-weight:inherit!important;color:#46b450!important;margin-right:4px;vertical-align:text-bottom;font-size:27px}.wpacu-warning{font-size:15px;padding:10px;background:#fffcec;border:1px solid #fdd5c9;margin:0 0 5px;width:100%}.pro-page-unlock-notice{-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;padding:10px;background:#f2faf2;border:1px solid #c0e8c0;width:auto;display:block}.wpacu-license-area .notice,.wpacu-settings-area .notice{margin-left:0;padding:10px!important;width:97%;box-sizing:border-box;font-weight:600;font-style:italic}.wpacu-license-area .notice .dashicons,.wpacu-settings-area .notice .dashicons{color:green}.wpacu-wrap.wpacu-switch-standard .toplevel_page_wpassetcleanup_settings .wpacu_switch{width:auto;height:auto}.wpacu-wrap.wpacu-switch-standard .toplevel_page_wpassetcleanup_settings .wpacu_switch input{display:block}.wpacu-wrap.wpacu-switch-standard .toplevel_page_wpassetcleanup_settings .wpacu_switch input[type=checkbox]{margin:0 0 3px}.wpacu-wrap.wpacu-switch-standard .toplevel_page_wpassetcleanup_settings .wpacu_switch .wpacu_slider{display:none}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch{position:relative;display:inline-block;width:52px;height:29px}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch input{display:none}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch:not(.wpacu_switch_standard) .wpacu_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;-webkit-transition:.2s;transition:.2s}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch:not(.wpacu_switch_standard) .wpacu_slider:before{position:absolute;content:'';height:22px;width:22px;left:4px;bottom:4px;background-color:#fff;-webkit-transition:.2s;transition:.2s}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch input:checked+.wpacu_slider{background-color:#52af00}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch input:focus+.wpacu_slider{box-shadow:0 0 1px #52af00}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch input:checked+.wpacu_slider:before{-webkit-transform:translateX(22px);-ms-transform:translateX(22px);transform:translateX(22px)}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch .wpacu_slider.wpacu_round{border-radius:29px}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch .wpacu_slider.wpacu_round:before{border-radius:50%}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_locked_for_pro{opacity:.3}.asset-cleanup_page_wpassetcleanup_settings .setting_title p.wpacu_subtitle{margin-top:2px;line-height:1.2}.asset-cleanup_page_wpassetcleanup_settings .setting_title p.wpacu_subtitle em{font-weight:200}.asset-cleanup_page_wpassetcleanup_settings .setting_title p.wpacu_read_more{margin-top:-10px;font-style:italic;font-size:12px}.asset-cleanup_page_wpassetcleanup_settings .assets_list_inline_code_status_choices,.asset-cleanup_page_wpassetcleanup_settings .assets_list_layout_areas_status_choices,.asset-cleanup_page_wpassetcleanup_settings .input_style_choices{list-style:none;margin:0}.asset-cleanup_page_wpassetcleanup_settings .assets_list_inline_code_status_choices li,.asset-cleanup_page_wpassetcleanup_settings .assets_list_layout_areas_status_choices li,.asset-cleanup_page_wpassetcleanup_settings .input_style_choices li{float:left;margin-right:30px}.asset-cleanup_page_wpassetcleanup_settings .assets_list_inline_code_status_choices li:last-child,.asset-cleanup_page_wpassetcleanup_settings .assets_list_layout_areas_status_choices li:last-child,.asset-cleanup_page_wpassetcleanup_settings .input_style_choices li:last-child{margin-right:0}.wpacu-form-table th{vertical-align:top;text-align:left;padding:5px 20px 20px 0;width:200px;line-height:1.3;font-weight:600}.wpacu-form-table th label{color:#23282d;font-weight:600;font-size:14px;text-shadow:none;vertical-align:middle;cursor:pointer}.wpacu-form-table td{padding-bottom:25px}.wpacu-form-table td:last-child p:last-child{margin:0}.wrap_bulk_unload_options{width:auto;display:inline-flex;-webkit-flex-wrap:wrap;flex-wrap:wrap}.wrap_bulk_unload_options .wpacu_asset_options_wrap{flex-grow:1;margin:5px 10px 14px 0!important;padding:8px 10px 2px!important}.wrap_bulk_unload_options .wpacu_asset_options_wrap .wpacu_slider_text{position:relative!important;vertical-align:top;left:inherit!important;top:inherit!important}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch{position:relative;display:inline-block;width:52px;height:29px;margin-right:5px!important}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch input{display:none}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch .wpacu_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;-webkit-transition:.2s;transition:.2s}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch .wpacu_slider:before{position:absolute;content:'';height:22px;width:22px;left:4px;bottom:4px;background-color:#fff;-webkit-transition:.2s;transition:.2s}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch input:checked+.wpacu_slider{background-color:#C00}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch input:focus+.wpacu_slider{box-shadow:0 0 1px #C00}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch input:checked+.wpacu_slider:before{-webkit-transform:translateX(22px);-ms-transform:translateX(22px);transform:translateX(22px)}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch .wpacu_slider.wpacu_round{border-radius:29px}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch .wpacu_slider.wpacu_round:before{border-radius:50%}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_slider_text{position:absolute;left:62px;top:3px}.wpacu_asset_row td{width:100%}.wpacu_asset_row td p:last-child{margin-bottom:0!important}.wpacu_asset_row td .wpacu_asset_options_wrap{padding:8px 10px;margin:15px 0;background:#fff;border:1px solid #eee;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.wpacu_asset_row td .wpacu_asset_options_wrap p:first-child{margin-top:0;margin-bottom:8px!important}.wpacu_asset_row p.wpacu_handle{margin-top:0}.wpacu_asset_row li.wpacu_unload_this_page{display:block!important;position:relative}.wpacu-clearfix:after,.wpacu-clearfix:before{content:'';display:table}.wpacu-contract-expand-area{width:100%;margin:20px 0 0}.wpacu-contract-expand-area .col-left{float:left}.wpacu-contract-expand-area .col-left h4{margin-bottom:0}.wpacu-contract-expand-area .col-right{float:right}.wpacu-clearfix:after{clear:both}.wpacu-wp-button{color:#555;border-color:#ccc;background:#f7f7f7;box-shadow:0 1px 0 #ccc;vertical-align:top}body.wp-admin .wpacu-wp-button{font-size:13px;line-height:26px;height:28px}.wpacu-wp-button.wpacu-wp-button-secondary{display:inline-block;text-decoration:none;height:auto;margin:0 5px 0 0;padding:0 10px 1px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;border-radius:3px;white-space:nowrap;box-sizing:border-box}.wpacu-assets-collapsible-wrap.wpacu-wrap-all,.wpacu-assets-collapsible-wrap.wpacu-wrap-styles{margin-top:20px}.wpacu-wp-button:hover{background:#fafafa;border-color:#999;color:#23282d}a.wpacu-assets-collapsible.wpacu-assets-collapsible-active,a.wpacu-assets-collapsible:hover{background-color:#f1f3f8}.wpacu-assets-collapsible-wrap{border:1px solid #e7e7e7}.wpacu-assets-collapsible-wrap.wpacu-wrap-all .distinguish-asset-list{list-style:none;margin-left:0;margin-bottom:5px;display:inline-block}.wpacu-assets-collapsible-wrap.wpacu-wrap-all .distinguish-asset-list li{float:left;margin-right:20px}.wpacu-assets-collapsible-wrap.wpacu-wrap-all .distinguish-asset-list li:last-child{margin-right:0}.wpacu-assets-collapsible-wrap.wpacu-wrap-scripts{margin-top:10px}a.wpacu-assets-collapsible{color:#000;font-size:20px;text-decoration:none;display:block;position:relative;background-color:#f1f3f8;cursor:pointer;padding:15px 15px 15px 36px;width:auto;border:none;text-align:left;outline:0}a.wpacu-assets-collapsible>span.dashicons{font-size:25px;line-height:normal;position:absolute;top:15px;top:calc(50% - 21px);left:22px;-webkit-transform:translate(-50%,50%);transform:translate(-50%,50%)}a.wpacu-assets-collapsible:after{position:absolute;font-size:22px;font-family:Dashicons;right:14px;top:16px}a.wpacu-assets-collapsible:not(.wpacu-assets-collapsible-active):after{content:"\f132"}a.wpacu-assets-collapsible.wpacu-assets-collapsible-active:after{content:"\f460"}.wpacu-assets-collapsible-content{padding:0 16px;max-height:0;overflow:hidden;background-color:#fbfbfb8c}.wpacu-assets-collapsible-content>div{padding:16px 0 0}.wpacu-assets-collapsible-content>div>p:first-child{margin-top:0}.wpacu-assets-collapsible-content.wpacu-open{max-height:100%}a.wpacu-assets-inline-code-collapsible{font-size:14px;text-decoration:none;display:inline-block;position:relative;cursor:pointer;width:auto;outline:0;background:#f1f3f8;border:1px solid #cdcdcd;padding:4px 21px 4px 8px;margin:0 0 0 6px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}a.wpacu-assets-inline-code-collapsible:hover{border:1px solid #5c5c5c}a.wpacu-assets-inline-code-collapsible:after{position:absolute;font-size:15px;font-family:Dashicons;right:-3px;top:-1px;height:14px;width:14px;-webkit-transform:translate(-50%,50%);transform:translate(-50%,50%)}a.wpacu-assets-inline-code-collapsible:not(.wpacu-assets-inline-code-collapsible-active):after{content:"\f132"}a.wpacu-assets-inline-code-collapsible.wpacu-assets-inline-code-collapsible-active:after{content:"\f460"}.wpacu-assets-inline-code-collapsible-content{padding:0 8px;max-height:0;overflow:hidden;background-color:#fbfbfb8c}.wpacu-assets-inline-code-collapsible-content>div{padding:7px 8px 0}.wpacu-assets-inline-code-collapsible-content>div>p:first-child{margin-top:0}.wpacu-assets-inline-code-collapsible-content.wpacu-open{max-height:100%}.wpacu_table_wrap{margin:20px 0 0}.wpacu_table_wrap>table{border:1px solid #cdcdcd}.wpacu_table_wrap .table{width:100%;max-width:100%;margin-bottom:1rem;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.wpacu_table_wrap .table td,.wpacu_table_wrap .table th{padding:.75rem;vertical-align:top;border-top:1px solid #eceeef}.wpacu_table_wrap .table thead th{vertical-align:bottom;border-bottom:2px solid #eceeef}.wpacu_table_wrap .table tbody+tbody{border-top:2px solid #eceeef}.wpacu_table_wrap .table .table{background-color:#fff}.wpacu_table_wrap .table-sm td,.wpacu_table_wrap .table-sm th{padding:.3rem}.wpacu_table_wrap .table-bordered,.wpacu_table_wrap .table-bordered td,.wpacu_table_wrap .table-bordered th{border:1px solid #eceeef}.wpacu_table_wrap .table-bordered thead td,.wpacu_table_wrap .table-bordered thead th{border-bottom-width:2px}.wpacu_table_wrap .table-striped tbody tr:nth-of-type(even){background-color:#f9f9f9}.wpacu_table_wrap .table-striped tbody tr:nth-of-type(odd){background-color:#fff}.wpacu_table_wrap .table-active,.wpacu_table_wrap .table-active>td,.wpacu_table_wrap .table-active>th,.wpacu_table_wrap .table-hover .table-active:hover,.wpacu_table_wrap .table-hover .table-active:hover>td,.wpacu_table_wrap .table-hover .table-active:hover>th,.wpacu_table_wrap .table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.wpacu_table_wrap .table-success,.wpacu_table_wrap .table-success>td,.wpacu_table_wrap .table-success>th{background-color:#dff0d8}.wpacu_table_wrap .table-hover .table-success:hover,.wpacu_table_wrap .table-hover .table-success:hover>td,.wpacu_table_wrap .table-hover .table-success:hover>th{background-color:#d0e9c6}.wpacu_table_wrap .table-info,.wpacu_table_wrap .table-info>td,.wpacu_table_wrap .table-info>th{background-color:#d9edf7}.wpacu_table_wrap .table-hover .table-info:hover,.wpacu_table_wrap .table-hover .table-info:hover>td,.wpacu_table_wrap .table-hover .table-info:hover>th{background-color:#c4e3f3}.wpacu_table_wrap .table-warning,.wpacu_table_wrap .table-warning>td,.wpacu_table_wrap .table-warning>th{background-color:#fcf8e3}.wpacu_table_wrap .table-hover .table-warning:hover,.wpacu_table_wrap .table-hover .table-warning:hover>td,.wpacu_table_wrap .table-hover .table-warning:hover>th{background-color:#faf2cc}.wpacu_table_wrap .table-danger,.wpacu_table_wrap .table-danger>td,.wpacu_table_wrap .table-danger>th{background-color:#f2dede}.wpacu_table_wrap .table-hover .table-danger:hover,.wpacu_table_wrap .table-hover .table-danger:hover>td,.wpacu_table_wrap .table-hover .table-danger:hover>th{background-color:#ebcccc}.wpacu_table_wrap .thead-inverse th{color:#fff;background-color:#292b2c}.wpacu_table_wrap .thead-default th{color:#464a4c;background-color:#eceeef}.wpacu_table_wrap .table-inverse{color:#fff;background-color:#292b2c}.wpacu_table_wrap .table-inverse td,.wpacu_table_wrap .table-inverse th,.wpacu_table_wrap .table-inverse thead th{border-color:#fff}.wpacu_table_wrap .table-inverse.table-bordered,.wpacu_table_wrap .table-responsive.table-bordered{border:0}.wpacu_table_wrap .table-responsive{display:block;width:100%;overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar}ul.hire-reasons{margin-bottom:20px}ul.hire-reasons li{font-size:14px;line-height:22px;margin-bottom:12px}ul.hire-reasons li .dashicons{font-size:23px;line-height:23px}ul.hire-reasons li .dashicons.dashicons-yes{color:green}ol.getting-started li{font-size:14px;line-height:22px;margin-bottom:8px}.wpacu-get-help-wrap p{font-size:14px}.wpacu-get-help-wrap .help-content-wrap{margin:20px 0 25px;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-moz-flex;display:-webkit-flex;display:flex;width:100%}@media only screen and (min-width:768px){.wpacu-get-help-wrap .help-content-wrap{-webkit-box-align:start;-ms-flex-align:start;-ms-grid-row-align:flex-start;align-items:flex-start}}@media only screen and (max-width:767px){.wpacu-get-help-wrap .help-content-wrap{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.wpacu-get-help-wrap .help-content-wrap .help-content{padding:15px;background:#fff;border:1px solid #E0E0E0;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;box-shadow:2px 3px 8px 0 #231f2038;flex:1 1 50%;margin-bottom:10px}.wpacu-get-help-wrap .help-content-wrap .help-content .content-title{margin:5px 0 15px}.wpacu-get-help-wrap .help-content-wrap .help-content .cols-wrap{width:100%;margin:0 auto;display:table}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area{margin:5px 0 0;position:relative}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area.col-left{float:left;width:48%}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area.col-right{float:right;width:48%}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area.activate-plugin img{max-width:280px}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area img{width:99%;margin:8px 0;border:1px solid #cdcdcd;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.wpacu-get-help-wrap .help-content-wrap .help-content.upgrade-help{order:2}@media only screen and (min-width:768px){.wpacu-get-help-wrap .help-content-wrap .help-content{margin-right:24px}.wpacu-get-help-wrap .help-content-wrap .help-content.upgrade-help{margin-right:0}}.wpacu-get-help-wrap .help-content-wrap .help-content.tech-help{order:1}@media only screen and (max-width:767px){.wpacu-get-help-wrap .help-content-wrap .help-content.tech-help{margin-bottom:30px}}.wpacu-get-help-wrap .help-content-wrap .help-content ul{list-style:none;padding-left:0}.wpacu-get-help-wrap .help-content-wrap .help-content ul li{font-size:14px;line-height:22px;margin-bottom:15px}.wpacu-get-help-wrap .help-content-wrap .help-content p:last-child,.wpacu-get-help-wrap .help-content-wrap .help-content ul li:last-child{margin-bottom:0}#wpacu-license-data-remove-area{display:none;margin:10px 0 25px}#wpacu-license-data-remove-area.wpacu-visible{display:block}span#wpacu-license-data-removed-msg{display:block;padding-left:26px}#wpacu-warning-read{display:none;margin:10px 0}#wpacu-warning-read span.dashicons-warning{color:#c00}#wpacu-warning-read.wpacu-visible{display:block}#wpacu-reset-submit-area{margin:10px 0;clear:both}#wpacu-reset-submit-btn{margin:10px 0 0}.wpacu-tools-area{margin:10px 20px 0 2px}.wpacu-tools-area .wpacu-tools-container{background:#fff;padding:15px;border:1px solid #cdcdcd;width:96%}.wpacu-tools-area .wpacu-tools-container form>div:first-child{margin:0 0 10px}.wpacu-tools-area .wpacu-tools-container form .wpacu-warning{display:none;box-sizing:border-box;margin-top:10px}.wpacu-tools-area .wpacu-tools-container form .wpacu-warning p{margin:0 0 10px;line-height:22px}.wpacu-tools-area .wpacu-tools-container form .wpacu-warning p:only-child{margin:0}.wpacu-tools-area .wpacu-tools-container form .wpacu-warning ul{font-size:13px;list-style-type:disc;padding-left:30px}.wpacu-tools-area .wpacu-tools-container form .wpacu-warning.wpacu-visible{display:block}.wpacu-about-wrap .wpacu-about-text img{width:auto;height:150px;position:absolute;top:20px;right:-20px}@media only screen and (max-width:767px){.wpacu-about-wrap h1{margin:20px}.wpacu-about-wrap .wpacu-about-text img{display:none}.wpacu-about-wrap .wpacu-about-text{margin:20px}}.wpacu-about-wrap .about-wrap-content .area-title{font-size:19px;line-height:19px;margin-bottom:0}.wpacu-about-wrap hr{margin:10px 0}
classes/Info.php CHANGED
@@ -7,6 +7,20 @@ namespace WpAssetCleanUp;
7
  */
8
  class Info
9
  {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
  /**
11
  *
12
  */
7
  */
8
  class Info
9
  {
10
+ /**
11
+ *
12
+ */
13
+ public function gettingStarted()
14
+ {
15
+ $data = array('for' => 'how-it-works');
16
+
17
+ if (array_key_exists('wpacu_for', $_GET)) {
18
+ $data['for'] = sanitize_text_field($_GET['wpacu_for']);
19
+ }
20
+
21
+ Main::instance()->parseTemplate('admin-page-getting-started', $data, true);
22
+ }
23
+
24
  /**
25
  *
26
  */
classes/Main.php CHANGED
@@ -67,9 +67,13 @@ class Main
67
  public $vars = array('woo_url_not_match' => false, 'is_woo_shop_page' => false);
68
 
69
  /**
 
 
 
 
70
  * @var bool
71
  */
72
- public $isFrontendView = false;
73
 
74
  /**
75
  * @var array
@@ -171,11 +175,17 @@ class Main
171
  add_action( 'wp_print_footer_scripts', array( $this, 'filterStyles' ), 1 );
172
  }
173
 
174
- // [wpacu_lite]
175
- if ( ! (defined('WPACU_PRO_HIDE_HTML_USAGE_COMMENT') && WPACU_PRO_HIDE_HTML_USAGE_COMMENT) ) {
 
 
 
 
 
176
  $this->wpacuUsageNotice();
177
  }
178
- // [/wpacu_lite]
 
179
  }
180
 
181
  /**
@@ -224,9 +234,9 @@ class Main
224
  */
225
  public function setVarsBeforeUpdate()
226
  {
227
- $this->isFrontendView = ($this->settings['frontend_show'] && Menu::userCanManageAssets()
228
- && !isset($_REQUEST[WPACU_LOAD_ASSETS_REQ_KEY])
229
- && !is_admin());
230
 
231
  // it will update $this->isUpdateable;
232
  $this->getCurrentPostId();
@@ -695,10 +705,10 @@ class Main
695
  return;
696
  }
697
 
698
- $isFrontEndView = $this->isFrontendView;
699
- $isDashboardView = (!$isFrontEndView && array_key_exists(WPACU_LOAD_ASSETS_REQ_KEY, $_REQUEST));
700
 
701
- if (!$isFrontEndView && !$isDashboardView) {
702
  return;
703
  }
704
 
@@ -756,7 +766,7 @@ class Main
756
  $manageStyles = $wp_styles->done;
757
  $manageScripts = $wp_scripts->done;
758
 
759
- if ($isFrontEndView) {
760
  if (isset($this->wpAllStyles['queue']) && ! empty($this->wpAllStyles)) {
761
  $manageStyles = $this->wpAllStyles['queue'];
762
  }
@@ -807,7 +817,7 @@ class Main
807
  */
808
  $stylesList = $wp_styles->registered;
809
 
810
- if ($isFrontEndView) {
811
  $stylesList = $stylesBeforeUnload['registered'];
812
  }
813
 
@@ -865,7 +875,7 @@ class Main
865
  */
866
  $scriptsList = $wp_scripts->registered;
867
 
868
- if ($isFrontEndView) {
869
  $scriptsList = $scriptsBeforeUnload['registered'];
870
  }
871
 
@@ -915,7 +925,7 @@ class Main
915
  }
916
 
917
  // Front-end View while admin is logged in
918
- if ($isFrontEndView) {
919
  $wpacuSettings = new Settings();
920
 
921
  $data = array(
@@ -1003,7 +1013,7 @@ class Main
1003
  $data['total_scripts'] = ! empty($data['all']['scripts']) ? count($data['all']['scripts']) : 0;
1004
 
1005
  $this->parseTemplate('settings-frontend', $data, true);
1006
- } elseif ($isDashboardView) {
1007
  // AJAX call (not the classic WP one) from the WP Dashboard
1008
  echo self::START_DEL
1009
  .base64_encode(json_encode($list)).
@@ -1605,17 +1615,33 @@ class Main
1605
  */
1606
  public function wpacuUsageNotice()
1607
  {
1608
- // Trigger only in the front-end view
1609
- if (is_admin()) {
1610
- return;
1611
- }
1612
-
1613
  add_action('wp_loaded', function() {
1614
  ob_start(function($htmlSource) {
 
 
 
 
 
 
1615
  $altCleanHtmlSource = trim($htmlSource);
1616
 
1617
  if (strtolower(substr($altCleanHtmlSource, -7)) === '</html>') {
1618
- $htmlSource .= "\n" . '<!-- This website is optimized by Asset CleanUp: Page Speed Booster. Do you want to have a faster loading website? Learn more here: https://wordpress.org/plugins/wp-asset-clean-up/ -->';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1619
  }
1620
 
1621
  return $htmlSource;
@@ -1623,4 +1649,45 @@ class Main
1623
  });
1624
  }
1625
  // [wpacu_lite]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1626
  }
67
  public $vars = array('woo_url_not_match' => false, 'is_woo_shop_page' => false);
68
 
69
  /**
70
+ * This is set to `true` only if "Manage in the Front-end?" is enabled in plugin's settings
71
+ * and the logged-in administrator with plugin activation privileges
72
+ * is outside the Dashboard viewing the pages like a visitor
73
+ *
74
  * @var bool
75
  */
76
+ public $isFrontendEditView = false;
77
 
78
  /**
79
  * @var array
175
  add_action( 'wp_print_footer_scripts', array( $this, 'filterStyles' ), 1 );
176
  }
177
 
178
+ // This is recommended to keep active for Lite users as it helps spread the word about the plugin
179
+ // To remove the notice, consider upgrading to PRO
180
+
181
+ // If you still want to remove it, consider adding the following code in your wp-config (WordPress root file)
182
+ // define('WPACU_HIDE_HTML_USAGE_COMMENT', true);
183
+ if ( ! (defined('WPACU_PRO_HIDE_HTML_USAGE_COMMENT') && WPACU_PRO_HIDE_HTML_USAGE_COMMENT)
184
+ && ! (defined('WPACU_HIDE_HTML_USAGE_COMMENT') && WPACU_HIDE_HTML_USAGE_COMMENT) ) {
185
  $this->wpacuUsageNotice();
186
  }
187
+
188
+ $this->wpacuHtmlNoticeForAdmin();
189
  }
190
 
191
  /**
234
  */
235
  public function setVarsBeforeUpdate()
236
  {
237
+ $this->isFrontendEditView = ( $this->settings['frontend_show'] && Menu::userCanManageAssets()
238
+ && !isset($_REQUEST[WPACU_LOAD_ASSETS_REQ_KEY])
239
+ && !is_admin());
240
 
241
  // it will update $this->isUpdateable;
242
  $this->getCurrentPostId();
705
  return;
706
  }
707
 
708
+ $isFrontEndEditView = $this->isFrontendEditView;
709
+ $isDashboardEditView = (!$isFrontEndEditView && array_key_exists(WPACU_LOAD_ASSETS_REQ_KEY, $_REQUEST));
710
 
711
+ if (!$isFrontEndEditView && !$isDashboardEditView) {
712
  return;
713
  }
714
 
766
  $manageStyles = $wp_styles->done;
767
  $manageScripts = $wp_scripts->done;
768
 
769
+ if ($isFrontEndEditView) {
770
  if (isset($this->wpAllStyles['queue']) && ! empty($this->wpAllStyles)) {
771
  $manageStyles = $this->wpAllStyles['queue'];
772
  }
817
  */
818
  $stylesList = $wp_styles->registered;
819
 
820
+ if ($isFrontEndEditView) {
821
  $stylesList = $stylesBeforeUnload['registered'];
822
  }
823
 
875
  */
876
  $scriptsList = $wp_scripts->registered;
877
 
878
+ if ($isFrontEndEditView) {
879
  $scriptsList = $scriptsBeforeUnload['registered'];
880
  }
881
 
925
  }
926
 
927
  // Front-end View while admin is logged in
928
+ if ($isFrontEndEditView) {
929
  $wpacuSettings = new Settings();
930
 
931
  $data = array(
1013
  $data['total_scripts'] = ! empty($data['all']['scripts']) ? count($data['all']['scripts']) : 0;
1014
 
1015
  $this->parseTemplate('settings-frontend', $data, true);
1016
+ } elseif ($isDashboardEditView) {
1017
  // AJAX call (not the classic WP one) from the WP Dashboard
1018
  echo self::START_DEL
1019
  .base64_encode(json_encode($list)).
1615
  */
1616
  public function wpacuUsageNotice()
1617
  {
 
 
 
 
 
1618
  add_action('wp_loaded', function() {
1619
  ob_start(function($htmlSource) {
1620
+ // If user is within the Dashboard or logged in (could be in the front-end view)
1621
+ // do not show the usage notice, spread the word for new visitors
1622
+ if (is_admin() || is_user_logged_in()) {
1623
+ return $htmlSource;
1624
+ }
1625
+
1626
  $altCleanHtmlSource = trim($htmlSource);
1627
 
1628
  if (strtolower(substr($altCleanHtmlSource, -7)) === '</html>') {
1629
+ $extraParams = '';
1630
+
1631
+ if (defined('WP_CONTENT_URL')) {
1632
+ $urlPieces = parse_url( WP_CONTENT_URL );
1633
+ $shortSource = isset($urlPieces['host']) ? str_ireplace('www.', '', $urlPieces['host']) : '';
1634
+
1635
+ if (strpos($shortSource, '.') !== false) {
1636
+ list($shortSource) = explode('.', $shortSource);
1637
+ }
1638
+
1639
+ if ($shortSource) {
1640
+ $extraParams = '?utm_source=' . $shortSource . '&utm_medium=website_html_comment';
1641
+ }
1642
+ }
1643
+
1644
+ $htmlSource .= "\n" . '<!-- This website is optimized by Asset CleanUp: Page Speed Booster. Do you want to have a faster loading website? Learn more here: https://wordpress.org/plugins/wp-asset-clean-up/'.$extraParams.' -->';
1645
  }
1646
 
1647
  return $htmlSource;
1649
  });
1650
  }
1651
  // [wpacu_lite]
1652
+
1653
+ /**
1654
+ * Make administrator more aware if "TEST MODE" is enabled or not
1655
+ */
1656
+ public function wpacuHtmlNoticeForAdmin()
1657
+ {
1658
+ add_action('wp_loaded', function() {
1659
+ ob_start(function($htmlSource) {
1660
+ if ( ! (Menu::userCanManageAssets() && ! is_admin())) {
1661
+ return $htmlSource;
1662
+ }
1663
+
1664
+ $altCleanHtmlSource = trim($htmlSource);
1665
+
1666
+ if (strtolower(substr($altCleanHtmlSource, -7)) === '</html>') {
1667
+ if (Main::instance()->settings['test_mode']) {
1668
+ $consoleMessage = __('Asset CleanUp: "TEST MODE" ENABLED (any settings or unloads will be visible ONLY to you, the logged-in administrator)', WPACU_PLUGIN_TEXT_DOMAIN);
1669
+ $testModeNotice = __('"Test Mode" is ENABLED. Any settings or unloads will be visible ONLY to you, the logged-in administrator.', WPACU_PLUGIN_TEXT_DOMAIN);
1670
+ } else {
1671
+ $consoleMessage = __('Asset CleanUp: "LIVE MODE" (test mode is not enabled, thus, all the plugin changes are visible for everyone: you, the logged-in administrator and the regular visitors)', WPACU_PLUGIN_TEXT_DOMAIN);
1672
+ $testModeNotice = __('The website is in LIVE MODE as "Test Mode" is not enabled. All the plugin changes are visible for everyone: logged-in administrators and regular visitors.', WPACU_PLUGIN_TEXT_DOMAIN);
1673
+ }
1674
+
1675
+ $htmlCommentNote = __('NOTE: These "Asset CleanUp: Page Speed Booster" messages are only shown to you, the HTML comment is not visible for the regular visitor.', WPACU_PLUGIN_TEXT_DOMAIN);
1676
+
1677
+ $htmlSource .= <<<HTML
1678
+ <!--
1679
+ {$htmlCommentNote}
1680
+
1681
+ {$testModeNotice}
1682
+ -->
1683
+ <script type="text/javascript">
1684
+ console.log('{$consoleMessage}');
1685
+ </script>
1686
+ HTML;
1687
+ }
1688
+
1689
+ return $htmlSource;
1690
+ });
1691
+ });
1692
+ }
1693
  }
classes/Menu.php CHANGED
@@ -22,7 +22,7 @@ class Menu
22
  */
23
  public function __construct()
24
  {
25
- self::$slug = WPACU_PLUGIN_ID . '_settings';
26
 
27
  add_action('admin_menu', array($this, 'activeMenu'));
28
 
@@ -47,11 +47,21 @@ class Menu
47
  __('Asset CleanUp', WPACU_PLUGIN_TEXT_DOMAIN),
48
  self::$capability,
49
  self::$slug,
50
- array(new Settings, 'settingsPage'),
51
  WPACU_PLUGIN_URL.'/assets/icons/icon-asset-cleanup.png'
52
  );
53
 
54
- add_submenu_page(
 
 
 
 
 
 
 
 
 
 
55
  self::$slug,
56
  __('Home Page', WPACU_PLUGIN_TEXT_DOMAIN),
57
  __('Home Page', WPACU_PLUGIN_TEXT_DOMAIN),
@@ -127,7 +137,7 @@ class Menu
127
  );
128
 
129
  // Rename first item from the menu which has the same title as the menu page
130
- $GLOBALS['submenu'][self::$slug][0][0] = esc_attr__('Settings', WPACU_PLUGIN_TEXT_DOMAIN);
131
  }
132
 
133
  /**
22
  */
23
  public function __construct()
24
  {
25
+ self::$slug = WPACU_PLUGIN_ID . '_getting_started';
26
 
27
  add_action('admin_menu', array($this, 'activeMenu'));
28
 
47
  __('Asset CleanUp', WPACU_PLUGIN_TEXT_DOMAIN),
48
  self::$capability,
49
  self::$slug,
50
+ array(new Info, 'gettingStarted'),
51
  WPACU_PLUGIN_URL.'/assets/icons/icon-asset-cleanup.png'
52
  );
53
 
54
+ add_submenu_page(
55
+ self::$slug,
56
+ __('Settings', WPACU_PLUGIN_TEXT_DOMAIN),
57
+ __('Settings', WPACU_PLUGIN_TEXT_DOMAIN),
58
+ self::$capability,
59
+ WPACU_PLUGIN_ID . '_settings',
60
+ array(new Settings, 'settingsPage')
61
+ );
62
+
63
+
64
+ add_submenu_page(
65
  self::$slug,
66
  __('Home Page', WPACU_PLUGIN_TEXT_DOMAIN),
67
  __('Home Page', WPACU_PLUGIN_TEXT_DOMAIN),
137
  );
138
 
139
  // Rename first item from the menu which has the same title as the menu page
140
+ $GLOBALS['submenu'][self::$slug][0][0] = esc_attr__('Getting Started', WPACU_PLUGIN_TEXT_DOMAIN);
141
  }
142
 
143
  /**
classes/OwnAssets.php CHANGED
@@ -47,7 +47,7 @@ class OwnAssets
47
  {
48
  ?>
49
  <style type="text/css">
50
- .menu-top.toplevel_page_wpassetcleanup_settings .wp-menu-image > img { width: 26px; position: absolute; left: 8px; top: -4px; }
51
 
52
  <?php if (is_admin_bar_showing()) { ?>
53
  #wp-admin-bar-wpacu-test-mode span.dashicons { width: 15px; height: 15px; font-family: 'Dashicons', Arial, "Times New Roman", "Bitstream Charter", Times, serif; }
@@ -108,7 +108,7 @@ class OwnAssets
108
  $this->loadPluginAssets = true;
109
  }
110
 
111
- if ( strpos($page, WPACU_PLUGIN_ID) === 0) {
112
  $this->loadPluginAssets = true;
113
  }
114
 
47
  {
48
  ?>
49
  <style type="text/css">
50
+ .menu-top.toplevel_page_wpassetcleanup_getting_started .wp-menu-image > img { width: 26px; position: absolute; left: 8px; top: -4px; }
51
 
52
  <?php if (is_admin_bar_showing()) { ?>
53
  #wp-admin-bar-wpacu-test-mode span.dashicons { width: 15px; height: 15px; font-family: 'Dashicons', Arial, "Times New Roman", "Bitstream Charter", Times, serif; }
108
  $this->loadPluginAssets = true;
109
  }
110
 
111
+ if (strpos($page, WPACU_PLUGIN_ID) === 0) {
112
  $this->loadPluginAssets = true;
113
  }
114
 
classes/Plugin.php CHANGED
@@ -11,6 +11,9 @@ class Plugin
11
  */
12
  public function __construct()
13
  {
 
 
 
14
  // [wpacu_lite]
15
  // Admin footer text: Ask the user to review the plugin
16
  add_filter('admin_footer_text', array($this, 'adminFooter'), 1, 1);
@@ -27,7 +30,8 @@ class Plugin
27
  */
28
  public function actionLinks($links)
29
  {
30
- $links['settings'] = '<a href="admin.php?page=' . WPACU_PLUGIN_ID . '_settings">' . __('Settings', WPACU_PLUGIN_TEXT_DOMAIN) . '</a>';
 
31
 
32
  // [wpacu_lite]
33
  $allPlugins = get_plugins();
@@ -57,4 +61,31 @@ class Plugin
57
  return $text;
58
  }
59
  // [/wpacu_lite]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
60
  }
11
  */
12
  public function __construct()
13
  {
14
+ register_activation_hook(WPACU_PLUGIN_FILE, array($this, 'whenActivated'));
15
+ add_action('admin_init', array($this, 'redirectToGettingStarted'));
16
+
17
  // [wpacu_lite]
18
  // Admin footer text: Ask the user to review the plugin
19
  add_filter('admin_footer_text', array($this, 'adminFooter'), 1, 1);
30
  */
31
  public function actionLinks($links)
32
  {
33
+ $links['getting_started'] = '<a href="admin.php?page=' . WPACU_PLUGIN_ID . '_getting_started">' . __('Getting Started', WPACU_PLUGIN_TEXT_DOMAIN) . '</a>';
34
+ $links['settings'] = '<a href="admin.php?page=' . WPACU_PLUGIN_ID . '_settings">' . __('Settings', WPACU_PLUGIN_TEXT_DOMAIN) . '</a>';
35
 
36
  // [wpacu_lite]
37
  $allPlugins = get_plugins();
61
  return $text;
62
  }
63
  // [/wpacu_lite]
64
+
65
+ /**
66
+ *
67
+ */
68
+ public function whenActivated()
69
+ {
70
+ // Is the plugin activated for the first time? Prepare for the redirection to "Getting Started"
71
+ if (! get_option(WPACU_PLUGIN_ID.'_do_activation_redirect_first_time')) {
72
+ add_option(WPACU_PLUGIN_ID.'_do_activation_redirect_first_time', 1, 'no');
73
+ set_transient(WPACU_PLUGIN_ID . '_redirect_after_activation', 1, 15);
74
+ }
75
+ }
76
+
77
+ /**
78
+ *
79
+ */
80
+ public function redirectToGettingStarted()
81
+ {
82
+ if (get_transient(WPACU_PLUGIN_ID . '_redirect_after_activation')) {
83
+ // Remove it as only one redirect is needed (first time the plugin is activated)
84
+ delete_transient(WPACU_PLUGIN_ID . '_redirect_after_activation');
85
+
86
+ // Do the 'first activation time'' redirection
87
+ wp_redirect(admin_url('admin.php?page=' . WPACU_PLUGIN_ID . '_getting_started'));
88
+ exit();
89
+ }
90
+ }
91
  }
classes/Tools.php CHANGED
@@ -7,6 +7,11 @@ namespace WpAssetCleanUp;
7
  */
8
  class Tools
9
  {
 
 
 
 
 
10
  /**
11
  * @var
12
  */
@@ -17,27 +22,241 @@ class Tools
17
  */
18
  public $licenseDataRemoved = false;
19
 
 
 
 
 
 
20
  /**
21
  * Tools constructor.
22
  */
23
  public function __construct()
24
  {
25
- add_action('plugins_loaded', function() {
26
- if ( array_key_exists( 'wpacu-tools-reset', $_POST ) && $_POST['wpacu-tools-reset'] ) {
27
- $this->doReset();
28
- }
29
- });
30
  }
31
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
32
  /**
33
  *
34
  */
35
  public function toolsPage()
36
  {
37
- $data = array();
38
- Main::instance()->parseTemplate('admin-page-tools', $data, true);
 
 
 
 
 
39
  }
40
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
41
  /**
42
  *
43
  */
@@ -89,6 +308,8 @@ WHERE option_name LIKE 'wpassetcleanup_%'
89
  SQL;
90
  $resetStatus = $wpdb->query($sqlQuery);
91
 
 
 
92
  // Remove the license data?
93
  if (Misc::getVar('post', 'wpacu-remove-license-data') !== '') {
94
  delete_option(WPACU_PLUGIN_ID . '_pro_license_key');
@@ -125,14 +346,14 @@ SQL;
125
  if ($this->resetChoice === 'reset_settings') {
126
  $msg = __('All the settings were reset to their default values.', WPACU_PLUGIN_TEXT_DOMAIN);
127
  } elseif ($this->resetChoice === 'reset_everything') {
128
- $msg = __('Everything was reset (including settings, individual &amp; bulk unloads, load exceptions) to the same point it was when you first activated the plugin', WPACU_PLUGIN_TEXT_DOMAIN);
129
 
130
  if ($this->licenseDataRemoved) {
131
  $msg .= '<span id="wpacu-license-data-removed-msg">'.__('Any license data was also removed, as you requested.').'</span>';
132
  }
133
  }
134
  ?>
135
- <div class="updated notice wpacu-notice is-dismissible">
136
  <p><span class="dashicons dashicons-yes"></span> <?php echo $msg; ?></p>
137
  </div>
138
  <?php
7
  */
8
  class Tools
9
  {
10
+ /**
11
+ * @var string
12
+ */
13
+ public $wpacuFor = 'reset';
14
+
15
  /**
16
  * @var
17
  */
22
  */
23
  public $licenseDataRemoved = false;
24
 
25
+ /**
26
+ * @var array
27
+ */
28
+ public $data = array();
29
+
30
  /**
31
  * Tools constructor.
32
  */
33
  public function __construct()
34
  {
35
+ $this->wpacuFor = Misc::getVar('request', 'wpacu_for', $this->wpacuFor);
36
+
37
+ add_action('plugins_loaded', array($this, 'afterPluginsLoaded'));
38
+ add_action('admin_init', array($this, 'onAdminInit'));
 
39
  }
40
 
41
+ /**
42
+ *
43
+ */
44
+ public function afterPluginsLoaded()
45
+ {
46
+ if ( array_key_exists( 'wpacu-tools-reset', $_POST ) && $_POST['wpacu-tools-reset'] && is_admin() ) {
47
+ $this->doReset();
48
+ }
49
+ }
50
+
51
+ /**
52
+ *
53
+ */
54
+ public function onAdminInit()
55
+ {
56
+ if ( array_key_exists( 'wpacu-get-system-info', $_POST ) && $_POST['wpacu-get-system-info'] ) {
57
+ $this->downloadSystemInfo();
58
+ }
59
+ }
60
+
61
  /**
62
  *
63
  */
64
  public function toolsPage()
65
  {
66
+ $this->data['for'] = $this->wpacuFor;
67
+
68
+ if ($this->data['for'] === 'system_info') {
69
+ $this->data['system_info'] = $this->getSystemInfo();
70
+ }
71
+
72
+ Main::instance()->parseTemplate('admin-page-tools', $this->data, true);
73
  }
74
 
75
+ /**
76
+ * @return string
77
+ */
78
+ public function getSystemInfo()
79
+ {
80
+ global $wpdb;
81
+
82
+ $return = '### Begin System Info ###' . "\n";
83
+
84
+ $return .= "\n" . '# Site Info' . "\n";
85
+ $return .= 'Site URL: ' . site_url() . "\n";
86
+ $return .= 'Home URL: ' . home_url() . "\n";
87
+ $return .= 'Multisite: ' . ( is_multisite() ? 'Yes' : 'No' ) . "\n";
88
+
89
+ $return .= "\n" . '# Asset CleanUp Configuration '. "\n";
90
+
91
+ $settingsClass = new Settings();
92
+ $settings = $settingsClass->getAll();
93
+
94
+ $return .= 'Manage in the Dashboard: '. (($settings['dashboard_show'] == 1) ? 'Yes ('.$settings['dom_get_type'].')' : 'No') . "\n";
95
+ $return .= 'Manage in the Front-end: '. (($settings['frontend_show'] == 1) ? 'Yes' : 'No') ."\n";
96
+ $return .= 'Input Fields Style: '. ucfirst($settings['input_style'])."\n";
97
+ $return .= 'Hide WP Files (from managing): '. (($settings['hide_core_files'] == 1) ? 'Yes' : 'No') . "\n";
98
+ $return .= 'Enable "Test Mode"? '. (($settings['test_mode'] == 1) ? 'Yes' : 'No') . "\n";
99
+ $return .= 'Disable Emojis? '. (($settings['disable_emojis'] == 1) ? 'Yes' : 'No') . "\n";
100
+
101
+ $return .= 'Disable jQuery Migrate (site-wide)? '. (($settings['disable_jquery_migrate'] == 1) ? 'Yes' : 'No') . "\n";
102
+ $return .= 'Disable Comment Reply (site-wide)? '. (($settings['disable_comment_reply'] == 1) ? 'Yes' : 'No') . "\n";
103
+
104
+ // WordPress configuration.
105
+ // Get theme info.
106
+ $theme_data = wp_get_theme();
107
+ $theme = $theme_data->Name . ' ' . $theme_data->Version;
108
+
109
+ $return .= "\n" . '# WordPress Configuration' . "\n";
110
+ $return .= 'Version: ' . get_bloginfo( 'version' ) . "\n";
111
+ $return .= 'Language: ' . ( defined( 'WPLANG' ) && WPLANG ? WPLANG : 'en_US' ) . "\n";
112
+ $return .= 'Permalink Structure: ' . ( get_option( 'permalink_structure' ) ? get_option( 'permalink_structure' ) : 'Default' ) . "\n";
113
+ $return .= 'Active Theme: ' . $theme . "\n";
114
+ $return .= 'Show On Front: ' . get_option( 'show_on_front' ) . "\n";
115
+
116
+ // Only show page specs if front page is set to 'page'.
117
+ if ( get_option( 'show_on_front' ) === 'page' ) {
118
+ $front_page_id = get_option( 'page_on_front' );
119
+ $blog_page_id = get_option( 'page_for_posts' );
120
+
121
+ $return .= 'Page On Front: ' . ( 0 != $front_page_id ? get_the_title( $front_page_id ) . ' (ID: ' . $front_page_id . ')' : 'Unset' ) . "\n";
122
+ $return .= 'Page For Posts: ' . ( 0 != $blog_page_id ? get_the_title( $blog_page_id ) . ' (ID: ' . $blog_page_id . ')' : 'Unset' ) . "\n";
123
+ }
124
+
125
+ $return .= 'ABSPATH: ' . ABSPATH . "\n";
126
+ $return .= 'WP_DEBUG: ' . ( defined( 'WP_DEBUG' ) ? (WP_DEBUG ? 'Enabled' : 'Disabled') : 'Not set' ) . "\n";
127
+ $return .= 'Memory Limit: ' . WP_MEMORY_LIMIT . "\n";
128
+
129
+ $return .= "\n" . '# WordPress Uploads/Constants' . "\n";
130
+ $return .= 'WP_CONTENT_DIR: ' . ( defined( 'WP_CONTENT_DIR' ) ? (WP_CONTENT_DIR ? WP_CONTENT_DIR : 'Disabled') : 'Not set' ) . "\n";
131
+ $return .= 'WP_CONTENT_URL: ' . ( defined( 'WP_CONTENT_URL' ) ? (WP_CONTENT_URL ? WP_CONTENT_URL : 'Disabled') : 'Not set' ) . "\n";
132
+ $return .= 'UPLOADS: ' . ( defined( 'UPLOADS' ) ? (UPLOADS ? UPLOADS : 'Disabled') : 'Not set' ) . "\n";
133
+
134
+ $uploads_dir = wp_upload_dir();
135
+
136
+ $return .= 'wp_uploads_dir() path: ' . $uploads_dir['path'] . "\n";
137
+ $return .= 'wp_uploads_dir() url: ' . $uploads_dir['url'] . "\n";
138
+ $return .= 'wp_uploads_dir() basedir: ' . $uploads_dir['basedir'] . "\n";
139
+ $return .= 'wp_uploads_dir() baseurl: ' . $uploads_dir['baseurl'] . "\n";
140
+
141
+ // Get plugins that have an update.
142
+ $updates = get_plugin_updates();
143
+
144
+ // Must-use plugins.
145
+ // NOTE: MU plugins can't show updates!
146
+ $muplugins = get_mu_plugins();
147
+ if ( count( $muplugins ) > 0 && ! empty( $muplugins ) ) {
148
+ $return .= "\n" . '# Must-Use Plugins ("mu-plugins" directory)' . "\n";
149
+
150
+ foreach ( $muplugins as $plugin => $plugin_data ) {
151
+ $return .= $plugin_data['Name'] . ': ' . $plugin_data['Version'] . "\n";
152
+ }
153
+ }
154
+
155
+ // WordPress active plugins.
156
+ $return .= "\n" . '# Active Plugins ("plugins" directory)' . "\n";
157
+
158
+ $plugins = get_plugins();
159
+ $active_plugins = get_option( 'active_plugins', array() );
160
+
161
+ foreach ( $plugins as $plugin_path => $plugin ) {
162
+ if ( ! in_array( $plugin_path, $active_plugins, true ) ) {
163
+ continue;
164
+ }
165
+ $update = ( array_key_exists( $plugin_path, $updates ) ) ? ' (new version available - ' . $updates[ $plugin_path ]->update->new_version . ')' : '';
166
+ $return .= $plugin['Name'] . ': ' . $plugin['Version'] . $update . "\n";
167
+ }
168
+
169
+ // WordPress inactive plugins.
170
+ $return .= "\n" . '# Inactive Plugins ("plugins" directory)' . "\n";
171
+
172
+ foreach ( $plugins as $plugin_path => $plugin ) {
173
+ if ( in_array( $plugin_path, $active_plugins, true ) ) {
174
+ continue;
175
+ }
176
+ $update = ( array_key_exists( $plugin_path, $updates ) ) ? ' (new version available - ' . $updates[ $plugin_path ]->update->new_version . ')' : '';
177
+ $return .= $plugin['Name'] . ': ' . $plugin['Version'] . $update . "\n";
178
+ }
179
+
180
+ if ( is_multisite() ) {
181
+ // WordPress Multisite active plugins.
182
+ $return .= "\n" . '# Network Active Plugins' . "\n";
183
+
184
+ $plugins = wp_get_active_network_plugins();
185
+ $active_plugins = get_site_option( 'active_sitewide_plugins', array() );
186
+
187
+ foreach ( $plugins as $plugin_path ) {
188
+ $plugin_base = plugin_basename( $plugin_path );
189
+ if ( ! array_key_exists( $plugin_base, $active_plugins ) ) {
190
+ continue;
191
+ }
192
+ $update = ( array_key_exists( $plugin_path, $updates ) ) ? ' (new version available - ' . $updates[ $plugin_path ]->update->new_version . ')' : '';
193
+ $plugin = get_plugin_data( $plugin_path );
194
+ $return .= $plugin['Name'] . ': ' . $plugin['Version'] . $update . "\n";
195
+ }
196
+ }
197
+
198
+ // Server configuration (really just versions).
199
+ $return .= "\n" . '# Webserver Configuration' . "\n";
200
+ $return .= 'PHP Version: ' . PHP_VERSION . "\n";
201
+ $return .= 'MySQL Version: ' . $wpdb->db_version() . "\n";
202
+ $return .= 'Webserver Info: ' . $_SERVER['SERVER_SOFTWARE'] . "\n";
203
+
204
+ // PHP important configuration taken from php.ini
205
+ $return .= "\n" . '# PHP Configuration' . "\n";
206
+ $return .= 'Memory Limit: ' . ini_get( 'memory_limit' ) . "\n";
207
+ $return .= 'Upload Max Size: ' . ini_get( 'upload_max_filesize' ) . "\n";
208
+ $return .= 'Post Max Size: ' . ini_get( 'post_max_size' ) . "\n";
209
+ $return .= 'Upload Max Filesize: ' . ini_get( 'upload_max_filesize' ) . "\n";
210
+ $return .= 'Time Limit: ' . ini_get( 'max_execution_time' ) . "\n";
211
+ $return .= 'Max Input Vars: ' . ini_get( 'max_input_vars' ) . "\n";
212
+ $return .= 'Display Errors: ' . ( ini_get( 'display_errors' ) ? 'On (php.ini value: ' . ini_get( 'display_errors' ) . ')' : 'N/A' ) . "\n";
213
+
214
+ // PHP extensions and such.
215
+ $return .= "\n" . '# PHP Extensions' . "\n";
216
+ $return .= 'cURL: ' . ( function_exists( 'curl_init' ) ? 'Supported' : 'Not Supported' ) . "\n";
217
+ $return .= 'fsockopen: ' . ( function_exists( 'fsockopen' ) ? 'Supported' : 'Not Supported' ) . "\n";
218
+ $return .= 'SOAP Client: ' . ( class_exists( 'SoapClient' ) ? 'Installed' : 'Not Installed' ) . "\n";
219
+ $return .= 'Suhosin: ' . ( extension_loaded( 'suhosin' ) ? 'Installed' : 'Not Installed' ) . "\n";
220
+
221
+ // Session stuff.
222
+ $return .= "\n" . '# Session Configuration' . "\n";
223
+ $return .= 'Session: ' . ( isset( $_SESSION ) ? 'Enabled' : 'Disabled' ) . "\n";
224
+
225
+ // The rest of this is only relevant if session is enabled.
226
+ if ( isset( $_SESSION ) ) {
227
+ $return .= 'Session Name: ' . esc_html( ini_get( 'session.name' ) ) . "\n";
228
+ $return .= 'Cookie Path: ' . esc_html( ini_get( 'session.cookie_path' ) ) . "\n";
229
+ $return .= 'Save Path: ' . esc_html( ini_get( 'session.save_path' ) ) . "\n";
230
+ $return .= 'Use Cookies: ' . ( ini_get( 'session.use_cookies' ) ? 'On' : 'Off' ) . "\n";
231
+ $return .= 'Use Only Cookies: ' . ( ini_get( 'session.use_only_cookies' ) ? 'On' : 'Off' ) . "\n";
232
+ }
233
+
234
+ $return .= "\n" . '### End System Info ###';
235
+
236
+ return $return;
237
+ }
238
+
239
+ /**
240
+ *
241
+ */
242
+ public function downloadSystemInfo()
243
+ {
244
+ if (! Menu::userCanManageAssets()) {
245
+ exit();
246
+ }
247
+
248
+ \check_admin_referer('wpacu_get_system_info');
249
+
250
+ $date = date('j-M-Y');
251
+ $host = parse_url(site_url(), PHP_URL_HOST);
252
+
253
+ header('Content-type: text/plain');
254
+ header('Content-Disposition: attachment; filename="asset-cleanup-system-info-'.$host.'-'.$date.'.txt"');
255
+
256
+ echo $this->getSystemInfo();
257
+ exit();
258
+ }
259
+
260
  /**
261
  *
262
  */
308
  SQL;
309
  $resetStatus = $wpdb->query($sqlQuery);
310
 
311
+ delete_option(WPACU_PLUGIN_ID.'_do_activation_redirect_first_time');
312
+
313
  // Remove the license data?
314
  if (Misc::getVar('post', 'wpacu-remove-license-data') !== '') {
315
  delete_option(WPACU_PLUGIN_ID . '_pro_license_key');
346
  if ($this->resetChoice === 'reset_settings') {
347
  $msg = __('All the settings were reset to their default values.', WPACU_PLUGIN_TEXT_DOMAIN);
348
  } elseif ($this->resetChoice === 'reset_everything') {
349
+ $msg = __('Everything was reset (including settings, individual &amp; bulk unloads, load exceptions) to the same point it was when you first activated the plugin.', WPACU_PLUGIN_TEXT_DOMAIN);
350
 
351
  if ($this->licenseDataRemoved) {
352
  $msg .= '<span id="wpacu-license-data-removed-msg">'.__('Any license data was also removed, as you requested.').'</span>';
353
  }
354
  }
355
  ?>
356
+ <div class="updated notice wpacu-notice wpacu-reset-notice is-dismissible">
357
  <p><span class="dashicons dashicons-yes"></span> <?php echo $msg; ?></p>
358
  </div>
359
  <?php
freemius-load.php CHANGED
@@ -21,7 +21,7 @@ if ( ! function_exists( 'wpassetcleanup_fs' )
21
  'has_paid_plans' => false,
22
  'anonymous_mode' => true,
23
  'menu' => array(
24
- 'slug' => WPACU_PLUGIN_ID . '_settings',
25
  'override_exact' => true,
26
  'account' => false,
27
  'contact' => false,
@@ -40,7 +40,7 @@ if ( ! function_exists( 'wpassetcleanup_fs' )
40
  do_action('wpassetcleanup_fs_loaded');
41
 
42
  function wpassetcleanup_fs_settings_url() {
43
- return admin_url('admin.php?page='.WPACU_PLUGIN_ID.'_settings');
44
  }
45
 
46
  wpassetcleanup_fs()->add_filter('connect_url', WPACU_PLUGIN_ID.'_fs_settings_url');
21
  'has_paid_plans' => false,
22
  'anonymous_mode' => true,
23
  'menu' => array(
24
+ 'slug' => WPACU_PLUGIN_ID . '_getting_started',
25
  'override_exact' => true,
26
  'account' => false,
27
  'contact' => false,
40
  do_action('wpassetcleanup_fs_loaded');
41
 
42
  function wpassetcleanup_fs_settings_url() {
43
+ return admin_url('admin.php?page='.WPACU_PLUGIN_ID . '_getting_started');
44
  }
45
 
46
  wpassetcleanup_fs()->add_filter('connect_url', WPACU_PLUGIN_ID.'_fs_settings_url');
freemius/templates/admin-notice-gabe-bkp.php ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * @package Freemius
4
+ * @copyright Copyright (c) 2015, Freemius, Inc.
5
+ * @license https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3
6
+ * @since 1.0.3
7
+ */
8
+
9
+ if ( ! defined( 'ABSPATH' ) ) {
10
+ exit;
11
+ }
12
+
13
+ $dismiss_text = fs_text_x_inline( 'Dismiss', 'as close a window', 'dismiss' );
14
+ ?>
15
+ <div<?php if ( ! empty( $VARS['id'] ) ) : ?> data-id="<?php echo $VARS['id'] ?>"<?php endif ?><?php if ( ! empty( $VARS['manager_id'] ) ) : ?> data-manager-id="<?php echo $VARS['manager_id'] ?>"<?php endif ?>
16
+ <?php
17
+ // [wpacu_lite]
18
+ // Hide "opt-in" notice that has "We made a few tweaks to the plugin"
19
+ if ($VARS['manager_id'] === 'wp-asset-clean-up' && strpos($VARS['message'], 'made a few tweaks to the plugin') !== false) {
20
+ ?>
21
+ style="display: none !important;"
22
+ <?php
23
+ }
24
+
25
+ $isWpacuPage = isset($_GET['page']) && (strpos($_GET['page'], 'wpassetcleanup_') !== false);
26
+
27
+ $wpacuShowNoticePluginTitle = true;
28
+
29
+ if ( $VARS['id'] === 'activation_pending' ) {
30
+ if ( ! $isWpacuPage ) {
31
+ ?>
32
+ style="display: none !important;"
33
+ <?php
34
+ } else {
35
+ $wpacuShowNoticePluginTitle = false;
36
+ }
37
+ }
38
+
39
+
40
+ // [/wpacu_lite]
41
+ ?>
42
+ class="<?php
43
+ switch ( $VARS['type'] ) {
44
+ case 'error':
45
+ echo 'error form-invalid';
46
+ break;
47
+ case 'promotion':
48
+ echo 'updated promotion';
49
+ break;
50
+ case 'update':
51
+ // echo 'update-nag update';
52
+ // break;
53
+ case 'success':
54
+ default:
55
+ echo 'updated success';
56
+ break;
57
+ }
58
+ ?> fs-notice<?php if ( ! empty( $VARS['sticky'] ) ) {
59
+ echo ' fs-sticky';
60
+ } ?><?php if ( ! empty( $VARS['plugin'] ) ) {
61
+ echo ' fs-has-title';
62
+ } ?>"><?php if ( ! empty( $VARS['plugin'] ) && $wpacuShowNoticePluginTitle ) { ?>
63
+ <label class="fs-plugin-title"><?php echo $VARS['plugin'] ?></label>
64
+ <?php } ?>
65
+ <?php if ( ! empty( $VARS['sticky'] ) ) : ?>
66
+ <div class="fs-close"><i class="dashicons dashicons-no"
67
+ title="<?php echo esc_attr( $dismiss_text ) ?>"></i> <span><?php echo esc_html( $dismiss_text ) ?></span>
68
+ </div>
69
+ <?php endif ?>
70
+ <div class="fs-notice-body">
71
+ <?php if ( ! empty( $VARS['title'] ) ) : ?><b><?php echo $VARS['title'] ?></b> <?php endif ?>
72
+ <?php echo $VARS['message'] ?>
73
+ </div>
74
+ </div>
readme.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: gabelivan
3
  Tags: pagespeed, page speed, dequeue, performance, gtmetrix
4
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=7GJZCW6RD8ECS
5
  Requires at least: 4.0
6
- Tested up to: 5.0.1
7
- Stable tag: 1.2.8.9
8
  License: GPLv3
9
  License URI: http://www.gnu.org/licenses/gpl.html
10
 
@@ -12,7 +12,7 @@ Make your website load FASTER by preventing specific scripts (.JS) & styles (.CS
12
 
13
  == Description ==
14
  * Make your web pages load FASTER with **Asset CleanUp: Page Speed Booster**
15
- * Faster page load = Happier Visitors = More Conversions
16
 
17
  There are often times when you are using a theme and a number of plugins which are enabled and run on the same page. However, you don't need to use all of them and to improve the speed of your website and make the HTML source code cleaner (convenient for debugging purposes), it's better to prevent those styles and scripts from loading.
18
 
@@ -122,7 +122,7 @@ In case the assets are not loading for you, please write me on the forum and I w
122
 
123
  = I do not know or I'm not sure which assets to unload on my pages. What should I do? =
124
 
125
- With the recently released "Test Mode" feature, you can safely unload assets on your web pages without affecting the pages' functionality for the regular visitors. It will unload CSS & JavaScript files that you selected ONLY for yourself (logged-in administrator). That's recommended in case you have any doubts about whether you should applying a specific setting or unload any asset. Once you've been through the trial and error and your website is lighter, you can deactivate "Test Mode" and the changes will apply for everyone. Then, test the page speed score of your website :)
126
 
127
  == Screenshots ==
128
  1. When editing a post/page (custom post type as well) a meta box will load with the asset list
@@ -131,6 +131,10 @@ With the recently released "Test Mode" feature, you can safely unload assets on
131
  4. Scripts (.JS) are selected for site-wide unload
132
 
133
  == Changelog ==
 
 
 
 
134
  = 1.2.8.9 =
135
  * Only trigger specific actions when necessary to avoid the use of extra server resources
136
  * Make sure "ver" query string is stripped on request only for the front-end view; Avoid removing the license info from the database when resetting everything (unless the admin chooses to remove the license info too for a complete uninstall)
3
  Tags: pagespeed, page speed, dequeue, performance, gtmetrix
4
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=7GJZCW6RD8ECS
5
  Requires at least: 4.0
6
+ Tested up to: 5.0.2
7
+ Stable tag: 1.2.9
8
  License: GPLv3
9
  License URI: http://www.gnu.org/licenses/gpl.html
10
 
12
 
13
  == Description ==
14
  * Make your web pages load FASTER with **Asset CleanUp: Page Speed Booster**
15
+ * Faster page load = Happier Visitors = More Conversions = More Revenue
16
 
17
  There are often times when you are using a theme and a number of plugins which are enabled and run on the same page. However, you don't need to use all of them and to improve the speed of your website and make the HTML source code cleaner (convenient for debugging purposes), it's better to prevent those styles and scripts from loading.
18
 
122
 
123
  = I do not know or I'm not sure which assets to unload on my pages. What should I do? =
124
 
125
+ With the recently released "Test Mode" feature, you can safely unload assets on your web pages without affecting the pages' functionality for the regular visitors. It will unload CSS & JavaScript files that you selected ONLY for yourself (logged-in administrator). That's recommended in case you have any doubts about whether you should applying a specific setting or unload any asset. Once you've been through the trial and error and your website is lighter, you can deactivate "Test Mode", clear cache (if using a caching plugin) and the changes will apply for everyone. Then, test the page speed score of your website :)
126
 
127
  == Screenshots ==
128
  1. When editing a post/page (custom post type as well) a meta box will load with the asset list
131
  4. Scripts (.JS) are selected for site-wide unload
132
 
133
  == Changelog ==
134
+ = 1.2.9 =
135
+ * Added "System Info" to "Tools" page to fetch information about the WordPress environment in case something needs debugged
136
+ * Added "Getting Started" page to make things easier for anyone who doesn't understand how the plugin works
137
+
138
  = 1.2.8.9 =
139
  * Only trigger specific actions when necessary to avoid the use of extra server resources
140
  * Make sure "ver" query string is stripped on request only for the front-end view; Avoid removing the license info from the database when resetting everything (unless the admin chooses to remove the license info too for a complete uninstall)
templates/admin-page-getting-started.php ADDED
@@ -0,0 +1,96 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * No direct access to this file
4
+ */
5
+ if (! isset($data)) {
6
+ exit;
7
+ }
8
+ ?>
9
+ <div class="wpacu-wrap">
10
+ <div class="about-wrap wpacu-about-wrap">
11
+ <h1>Welcome to Asset CleanUp <?php echo WPACU_PLUGIN_VERSION; ?></h1>
12
+ <p class="about-text wpacu-about-text">
13
+ Thank you for installing this page speed booster plugin! Prepare to make your WordPress website faster &amp; lighter by removing the useless CSS &amp; JavaScript files from your pages. For maximum performance, Asset CleanUp works best when used with a caching plugin or a 3rd party solution such as Varnish.
14
+ <img src="<?php echo WPACU_PLUGIN_URL; ?>/assets/images/wpacu-logo-transparent-bg-v1.png" alt="" />
15
+ </p>
16
+
17
+ <h2 class="nav-tab-wrapper wp-clearfix">
18
+ <a href="<?php echo admin_url('admin.php?page=wpassetcleanup_getting_started&wpacu_for=how-it-works'); ?>" class="nav-tab <?php if ($data['for'] === 'how-it-works') { ?>nav-tab-active<?php } ?>">How it works</a>
19
+ <a href="<?php echo admin_url('admin.php?page=wpassetcleanup_getting_started&wpacu_for=benefits-fast-pages'); ?>" class="nav-tab <?php if ($data['for'] === 'benefits-fast-pages') { ?>nav-tab-active<?php } ?>">Benefits of fast loading pages</a>
20
+ <a href="<?php echo admin_url('admin.php?page=wpassetcleanup_getting_started&wpacu_for=start-optimization'); ?>" class="nav-tab <?php if ($data['for'] === 'start-optimization') { ?>nav-tab-active<?php } ?>">Start Optimization</a>
21
+ </h2>
22
+
23
+ <div class="about-wrap-content">
24
+ <?php if ($data['for'] === 'how-it-works') { ?>
25
+ <p>Often, our WordPress websites are loaded with elements that are not needed to load on specific pages or even everywhere. These assets (CSS &amp; JavaScript files) as well as inline code are adding up to the total size of the page, thus taking more time for the page to load.</p>
26
+ <p>This could end up in a slow website that leads to page abandonment, poor ranking in Google search and sometimes conflict JavaScript errors where too many scripts are loading and one of them (or more) have poorly written code that is not autonomous and badly interacts with other code.</p>
27
+ <hr />
28
+ <p class="area-title">What Asset CleanUp really does?</p>
29
+ <p>Asset CleanUp is not a caching plugin and doesn't just make the page faster once you install &amp; activate it. You need to select the assets that are not needed to load on your website which will in the end reduce considerably the number of HTTP requests and optimize the front-end side of your pages.</p>
30
+ <p>Once the setup is completed, the pages will have a better speed score (this can be tested using tools such as GTMetrix) and combined with a caching plugin (such as <a target="_blank" href="https://gabelivan.com/visit/wp-rocket">WP Rocket</a>), it will improve the page speed even more. <span style="font-size: 17px;">🚀</span></p>
31
+ <hr />
32
+ <p class="area-title">Example (Stripping ~66% of "crap") <span style="font-size: 22px;">✨</span></p>
33
+ <p>Let's suppose you have a page where 30 files (CSS &amp; JS) are loaded. All have a total size of 1.5 MB. Using Asset CleanUp, you can reduce the number to 12 files by unloading the other 18 files which are useless on the page. You've reduced the total size to 0.7 MB, this resulting in less time in downloading the assets, thus the page will load faster. If you also use a caching plugin and combined and minify the remaining 12 files, the total assets size becomes smaller to 0.5 MB. In the end, <strong>the assets will load 3 times faster and improve your page speed score</strong>. Moreover, the HTML source code will be cleaner and easier to go through in case you're a developer and need to do any debugging or just check something in the code.</p>
34
+ <hr />
35
+ <p class="area-title">Not sure how to configure it? <span style="font-size: 22px;">🤔</span></p>
36
+ <p>No problem! You can enable "Test Mode" and any changes you make, will only be visible for you (the logged-in administrator), while the regular visitors will see the pages as if the plugin is not active. Once all is good, you can disable "Test Mode" (thus applying the settings to everyone), clear the page caching (if using a plugin or a server-side solution such as Varnish) and check out the page speed score. <a target="_blank" href="https://assetcleanup.com/docs/?p=84">Read more</a></p>
37
+ <?php } elseif ($data['for'] === 'stop-loading-useless-css-js-files') { ?>
38
+
39
+ <?php } elseif ($data['for'] === 'benefits-fast-pages') { ?>
40
+ <p class="area-title">Higher search ranking</p>
41
+ <p>Since 2010, there has been a signal in Google search ranking algorithms: site speed, which reflects how quickly a website responds to web requests.</p>
42
+ <p>Speeding up websites is important — not just to site owners, but to all Internet users. Faster sites create happy users and Google has seen in their internal studies that when a site responds slowly, visitors spend less time there. But faster sites don't just improve user experience; recent data shows that improving site speed also reduces operating costs. Like Google, their users place a lot of value in speed — that's why they've decided to take site speed into account in their search rankings. They use a variety of sources to determine the speed of a site relative to other sites.
43
+ <p><span class="dashicons dashicons-video-alt3"></span> <a href="https://www.youtube.com/watch?v=SO4YuDAkplU" target="_blank">How does Google determine page speed?</a></p>
44
+ <hr />
45
+
46
+ <p class="area-title">Visitor Experience</p>
47
+ <p>For a customer (it's likely happened to you too) that wants to purchase something online, it's very frustrating to land on slow loading website. A blazing fast website, will keep your visitors happy, engaged, which will directly influence conversions. If a visitor doesn't get what he wants in a time he/she thinks it's reasonable, they will probably head to another website belonging to a competitor. As today's users expect a fast and streamlined web experience, you're losing business if you neglect this often overlooked aspect.</p>
48
+ <hr />
49
+
50
+ <p class="area-title">Better Developer Experience</p>
51
+ <p>As developers, we often go through the HTML source code of the website, access the server (e.g. Apache, NGINX) logs that has the HTTP requests, and have to sometimes solve code conflict problems (e.g. between plugins) due to poorly written code. By preventing unnecessary files to load, having less HTTP requests, and cleaner HTML code, you will be able to easily go through the code (which is smaller), your log files will take less space on the server, will be easier to backup and analyse, and by having less JavaScript files loading, you will be reduce the changes of getting less JS errors that could interfere with the functionality of your website.</p>
52
+ <hr />
53
+
54
+ <p class="area-title">Higher Revenue</p>
55
+ <p>Just about any major retailer is taking site speed as a very important factor for increasing conversions. According to Strangeloop, 57% of online customers will leave a website after waiting 3 seconds for the page to load. Moreover, 80% of those people will not return to that page. Some of them will tell others about their negative experience. This has a direct impact on the conversion rate, revenue and brand image.</p>
56
+
57
+ <p style="margin-bottom: 0;"><em>"78% of users say they've felt STRESS OR ANGER while using a slow website."</em></p>
58
+ <p style="margin-top: 5px; margin-bottom: 0;"><em>"44% of users say that slow online transaction make them ANXIOUS about the success of the transaction."</em></p>
59
+ <p style="margin-top: 5px;"><em>"4% of people have THROWN THEIR PHONE while using a slow mobile site."</em></p>
60
+
61
+ <?php add_thickbox(); ?>
62
+ <div id="wpacu-brain-slow-website-info" style="display:none;">
63
+ <img alt="" style="width: 100%;"
64
+ src="<?php echo WPACU_PLUGIN_URL; ?>/assets/images/your-brain-on-a-slow-website-infographic.jpg" />
65
+ </div>
66
+
67
+ <span class="dashicons dashicons-format-image"></span> <a href="#TB_inline?&width=1024&height=550&inlineId=wpacu-brain-slow-website-info"
68
+ class="thickbox">View "This Is Your Brain On A Slow Website" Infographic</a>
69
+ <?php } elseif ($data['for'] === 'start-optimization') { ?>
70
+ <p>The first step that needs to be taken is to check the list of your active plugins that load CSS &amp; JavaScript, as well as the active theme, and determine which .css &amp; .js assets are not needed on the pages you want to optimize.</p>
71
+
72
+ <p class="area-title">Common Example: "Contact Form 7" plugin</p>
73
+ <p>At the time of writing this (January 1, 2019), the plugin loads 2 files everywhere (site-wide), when most of the WordPress websites only use them in the contact page. These files are:</p>
74
+ <ul>
75
+ <li><em>/wp-content/plugins/contact-form-7/includes/css/styles.css?ver=5.1.1</em> (Stylesheet File)</li>
76
+ <li><em>/wp-content/plugins/contact-form-7/includes/js/scripts.js?ver=5.1.1</em> (JavaScript File)</li>
77
+ </ul>
78
+
79
+ <p>Moreover, the JavaScript file has an inline code associated with it, which looks something like this:</p>
80
+
81
+ <pre><code>&lt;script type=&#39;text/javascript&#39;&gt;
82
+ /* &lt;![CDATA[ */
83
+ var wpcf7 = {&quot;apiSettings&quot;:{&quot;root&quot;:&quot;https:\/\/www.yourdomain.com\/wp-json\/contact-form-7\/v1&quot;,&quot;namespace&quot;:&quot;contact-form-7\/v1&quot;},&quot;cached&quot;:&quot;1&quot;};
84
+ /* ]]&gt; */
85
+ &lt;/script&gt;
86
+ </code></pre>
87
+
88
+ <p style="margin-top: 0;">These extra files loading, as well as the HTML code used to call them, not to mention the inline code associated with the JS file, add up to the total size of the page: the number of HTTP requests and the HTML source code size (this is a minor thing, but when dealing with tens of files, it adds up).</p>
89
+
90
+ <p>Just like "Contact Form 7", there are plenty of other files that are loading from plugins and the active theme which shouldn't be loaded in many pages. Think about pages that have mostly text such as "Terms and Conditions", "Privacy Policy" or the "404 (Not Found)" page. These ones can be stripped by a lot of "crap" which will boost the speed score and offer a better visitor experience.</p>
91
+
92
+ <p>Once you unload the right (the ones you know are not useful) files and test everything (via "Test Mode" to make sure your visitors will not be affected in case you break any page functionality), you can clear the cache if you're using a caching plugin and test your page speed score in GTMetrix or other similar tool that measures the page load. You will see an improvement. <span style="vertical-align: bottom; font-size: 20px; line-height: 20px;">😀️</span></p>
93
+ <?php } ?>
94
+ </div>
95
+ </div>
96
+ </div>
templates/admin-page-tools.php CHANGED
@@ -9,56 +9,72 @@ if (! isset($data)) {
9
  include_once '_top-area.php';
10
 
11
  do_action('wpacu_admin_notices');
12
-
13
- // TODO: Add a tab navigation menu with "Reset" as the default one and develop "System Info" functionality
14
  ?>
15
  <div class="wpacu-wrap wpacu-tools-area">
 
 
 
 
 
16
  <div class="wpacu-tools-container">
17
  <form id="wpacu-tools-form" action="<?php echo admin_url('admin.php?page='.WPACU_PLUGIN_ID.'_tools'); ?>" method="post">
18
- <div><label for="wpacu-reset-drop-down">Do you need to reset the plugin to its initial settings or reset all changes?</label></div>
 
 
 
 
 
 
 
19
 
20
- <select name="wpacu-reset" id="wpacu-reset-drop-down">
21
- <option value="">Select an option first...</option>
22
- <option data-id="wpacu-warning-reset-settings" value="reset_settings">Reset settings</option>
23
- <option data-id="wpacu-warning-reset-everything" value="reset_everything">Reset everything: settings, all unloads (bulk &amp; individual) &amp; load exceptions</option>
24
- </select>
25
 
26
- <div id="wpacu-license-data-remove-area">
27
- <label for="wpacu-remove-license-data">
28
- <input id="wpacu-remove-license-data" type="checkbox" name="wpacu-remove-license-data" value="1" /> Also remove license data in case the premium version was active at any point
29
- </label>
30
- </div>
31
 
32
- <div id="wpacu-warning-read"><span class="dashicons dashicons-warning"></span> <strong>Please read carefully below what the chosen action does as this process is NOT reversible.</strong></div>
 
 
33
 
34
- <div id="wpacu-warning-reset-settings" class="wpacu-warning">
35
- <p>This will reset every option from the "Settings" page/tab to the same state it was when you first activated the plugin.</p>
36
- </div>
37
 
38
- <div id="wpacu-warning-reset-everything" class="wpacu-warning">
39
- <p>This will reset everything (settings, page loads &amp; any load exceptions) to the same point it was when you first activated the plugin. All the plugin's database records will be removed. It will technically have the same effect for your website as if the plugin would be deactivated.</p>
 
 
 
 
40
 
41
- <p>This action is usually taken if:</p>
42
- <ul>
43
- <li>You believe you have applied some changes (such as unloading the wrong CSS / JavaScript file(s)) that broke the website and you need a quick fix to make it work the way it used to. Note that for this option, you can also enable "Test Mode" from the plugin's settings which will only apply the changes to you (logged-in administrator), while the regular visitors will view the website as if Asset CleanUp is deactivated.</li>
44
- <li>You want to uninstall Asset CleanUp and remove the traces left in the database (this is not the same thing as deactivating and activating the plugin again, as any changes applied would be preserved in this scenario)</li>
45
- </ul>
46
- </div>
47
 
48
- <?php
49
- wp_nonce_field('wpacu_tools_reset');
50
- ?>
51
 
52
- <input type="hidden" name="wpacu-tools-reset" value="1" />
53
- <input type="hidden" name="wpacu-action-confirmed" id="wpacu-action-confirmed" value="" />
 
 
 
 
 
 
 
 
 
54
 
55
- <div id="wpacu-reset-submit-area">
56
- <button name="submit"
57
- disabled="disabled"
58
- id="wpacu-reset-submit-btn"
59
- class="button button-secondary"><?php esc_attr_e('Submit', WPACU_PLUGIN_TEXT_DOMAIN); ?></button>
60
- </div>
 
61
  </form>
62
  </div>
63
  </div>
64
-
9
  include_once '_top-area.php';
10
 
11
  do_action('wpacu_admin_notices');
 
 
12
  ?>
13
  <div class="wpacu-wrap wpacu-tools-area">
14
+ <nav class="wpacu-tab-nav-wrapper nav-tab-wrapper">
15
+ <a href="<?php echo admin_url('admin.php?page=wpassetcleanup_tools&wpacu_for=reset'); ?>" class="nav-tab <?php if ($data['for'] === 'reset') { ?>nav-tab-active<?php } ?>">Reset</a>
16
+ <a href="<?php echo admin_url('admin.php?page=wpassetcleanup_tools&wpacu_for=system_info'); ?>" class="nav-tab <?php if ($data['for'] === 'system_info') { ?>nav-tab-active<?php } ?>">System Info</a>
17
+ </nav>
18
+
19
  <div class="wpacu-tools-container">
20
  <form id="wpacu-tools-form" action="<?php echo admin_url('admin.php?page='.WPACU_PLUGIN_ID.'_tools'); ?>" method="post">
21
+ <?php if ($data['for'] === 'reset') { ?>
22
+ <div><label for="wpacu-reset-drop-down">Do you need to reset the plugin to its initial settings or reset all changes?</label></div>
23
+
24
+ <select name="wpacu-reset" id="wpacu-reset-drop-down">
25
+ <option value="">Select an option first...</option>
26
+ <option data-id="wpacu-warning-reset-settings" value="reset_settings">Reset settings</option>
27
+ <option data-id="wpacu-warning-reset-everything" value="reset_everything">Reset everything: settings, all unloads (bulk &amp; individual) &amp; load exceptions</option>
28
+ </select>
29
 
30
+ <div id="wpacu-license-data-remove-area">
31
+ <label for="wpacu-remove-license-data">
32
+ <input id="wpacu-remove-license-data" type="checkbox" name="wpacu-remove-license-data" value="1" /> Also remove license data in case the premium version was active at any point
33
+ </label>
34
+ </div>
35
 
36
+ <div id="wpacu-warning-read"><span class="dashicons dashicons-warning"></span> <strong>Please read carefully below what the chosen action does as this process is NOT reversible.</strong></div>
 
 
 
 
37
 
38
+ <div id="wpacu-warning-reset-settings" class="wpacu-warning">
39
+ <p>This will reset every option from the "Settings" page/tab to the same state it was when you first activated the plugin.</p>
40
+ </div>
41
 
42
+ <div id="wpacu-warning-reset-everything" class="wpacu-warning">
43
+ <p>This will reset everything (settings, page loads &amp; any load exceptions) to the same point it was when you first activated the plugin. All the plugin's database records will be removed. It will technically have the same effect for your website as if the plugin would be deactivated.</p>
 
44
 
45
+ <p>This action is usually taken if:</p>
46
+ <ul>
47
+ <li>You believe you have applied some changes (such as unloading the wrong CSS / JavaScript file(s)) that broke the website and you need a quick fix to make it work the way it used to. Note that for this option, you can also enable "Test Mode" from the plugin's settings which will only apply the changes to you (logged-in administrator), while the regular visitors will view the website as if Asset CleanUp is deactivated.</li>
48
+ <li>You want to uninstall Asset CleanUp and remove the traces left in the database (this is not the same thing as deactivating and activating the plugin again, as any changes applied would be preserved in this scenario)</li>
49
+ </ul>
50
+ </div>
51
 
52
+ <?php
53
+ wp_nonce_field('wpacu_tools_reset');
54
+ ?>
 
 
 
55
 
56
+ <input type="hidden" name="wpacu-tools-reset" value="1" />
57
+ <input type="hidden" name="wpacu-action-confirmed" id="wpacu-action-confirmed" value="" />
 
58
 
59
+ <div id="wpacu-reset-submit-area">
60
+ <button name="submit"
61
+ disabled="disabled"
62
+ id="wpacu-reset-submit-btn"
63
+ class="button button-secondary"><?php esc_attr_e('Submit', WPACU_PLUGIN_TEXT_DOMAIN); ?></button>
64
+ </div>
65
+ <?php } elseif ($data['for'] === 'system_info') { ?>
66
+ <?php
67
+ wp_nonce_field('wpacu_get_system_info');
68
+ ?>
69
+ <input type="hidden" name="wpacu-get-system-info" value="1" />
70
 
71
+ <textarea disabled="disabled" style="color: rgba(51,51,51,1); background: #eee; white-space: pre; font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; width: 80%; max-width: 100%;"
72
+ rows="20"><?php echo $data['system_info']; ?></textarea>
73
+
74
+ <p><button name="submit"
75
+ id="wpacu-download-system-info-btn"
76
+ class="button button-primary"><?php esc_attr_e('Download System Info', WPACU_PLUGIN_TEXT_DOMAIN); ?></button></p>
77
+ <?php } ?>
78
  </form>
79
  </div>
80
  </div>
 
wpacu.php CHANGED
@@ -2,13 +2,13 @@
2
  /*
3
  * Plugin Name: Asset CleanUp: Page Speed Booster
4
  * Plugin URI: https://wordpress.org/plugins/wp-asset-clean-up/
5
- * Version: 1.2.8.9
6
  * Description: Prevent Chosen Scripts & Styles from loading in Posts/Pages to reduce HTTP Requests and have the website load faster
7
  * Author: Gabriel Livan
8
  * Author URI: http://gabelivan.com/
9
  */
10
 
11
- define('WPACU_PLUGIN_VERSION', '1.2.8.9');
12
 
13
  // Exit if accessed directly
14
  if (! defined('ABSPATH')) {
2
  /*
3
  * Plugin Name: Asset CleanUp: Page Speed Booster
4
  * Plugin URI: https://wordpress.org/plugins/wp-asset-clean-up/
5
+ * Version: 1.2.9
6
  * Description: Prevent Chosen Scripts & Styles from loading in Posts/Pages to reduce HTTP Requests and have the website load faster
7
  * Author: Gabriel Livan
8
  * Author URI: http://gabelivan.com/
9
  */
10
 
11
+ define('WPACU_PLUGIN_VERSION', '1.2.9');
12
 
13
  // Exit if accessed directly
14
  if (! defined('ABSPATH')) {