Asset CleanUp: Page Speed Booster - Version 1.3.6.4

Version Description

  • New Option: "When list is grouped by location, keep the assets from each of the plugins in the following state": 'Contracted' mode is now available and if you have many plugins, the list can be contracted when the CSS/JS manager list is loaded
  • New Option: "File Size:" available for each CSS/JS, either local or external
  • Combine CSS/JS "Apply combination only for logged-in administrator (for debugging purposes)" is no longer available and has been replaced with two options: "Apply it only for guest visitors (default)" & "Apply it for all visitors (not recommended)"
  • "Overview" new options: 1) Added option to remove all load exceptions for a handle in "Overview" page when the load exceptions are not tied to any bulk unload rule; 2) Clear redundant unload rules if the site-wide rule is already applied
  • "Autoptimize" compatibility: Make sure the HTML source code is always altered before "Optimize HTML Code?" is triggered in Autoptimize
Download this release

Release Info

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

Code changes from version 1.3.6.3 to 1.3.6.4

assets/style.min.css CHANGED
@@ -1 +1 @@
1
- @charset "UTF-8";#wpacu-pages-info-area{width:98%}#wpacu-top-area{margin:15px 0;padding:0 10px}#wpacu-quick-actions{color:#74777b;float:right;width:auto;margin-right:30px;background:rgba(40,44,42,.05);border-radius:10px;padding:6px 12px}#wpacu-quick-actions .wpacu-actions-title{font-weight:200;letter-spacing:.5px}#wpacu-quick-actions a{color:#004567;text-decoration:none}#wpacu-quick-actions a:hover{color:#0073aa}#wpacu-logo-wrap{width:auto;display:inline-block;position:relative}#wpacu-logo-wrap a{display:block}#wpacu-logo-wrap img{width:352px;height:79px}#wpacu-logo-wrap .wpacu-pro-sign{position:absolute;height:auto;font-family:FiraSans-Medium,proxima-nova-1,Montserrat,Helvetica,sans-serif;font-size:13px;font-weight:600;letter-spacing:1px;padding:5px 11px;border-radius:15px;right:-60px;top:30px;width:auto;display:inline-block;text-align:center}#wpacu-logo-wrap .wpacu-pro-sign.wpacu-lite{color:#74777b;background:rgba(40,44,42,.05)}#wpacu-logo-wrap .wpacu-pro-sign.wpacu-pro{color:#004567;background-color:rgba(40,44,42,.05)}.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;padding:0;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.extra-info{position:absolute;font-size:12px;left:-50%;right:50%;bottom:12px;-webkit-transform:translate(50%,50%);transform:translate(50%,50%);white-space:nowrap}.wpacu-tabs nav ul li span.extra-info.has-bulk-unloads{right:48%}.wpacu-tabs nav ul li span.extra-info.no-bulk-unloads{left:0;right:2px;bottom:2px;-webkit-transform:inherit;transform:inherit}.wpacu-tabs nav ul li span.extra-info .dashicons{font-size:16px;margin-right:-3px;margin-top:1px}.wpacu-tabs nav ul li span.extra-info.license-status.inactive{color:#c00}.wpacu-tabs nav ul li span.extra-info.license-status.active{color:green}.wpacu-tabs nav ul li span.extra-info.assets-unloaded-false{color:#004567}.wpacu-tabs nav ul li span.extra-info.assets-unloaded-true,.wpacu-tabs nav ul li span.extra-info.bulk-unloads-true{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:1800px;margin:20px auto 22px 0;width:98%;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:#008f9c;border-bottom:none}.wpacu-tabs-style-topline nav a{padding:20px 18px;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{background:0 0;color:#008f9c}.wpacu-tabs-style-topline nav li.wpacu-tab-current a{background:0 0;box-shadow:inset 0 3px 0 #008f9c;color:#008f9c}.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_hide{display:none!important}.wpacu-script-attributes-area{display:block;margin-bottom:12px}.wpacu-script-attributes-area>div:first-of-type{display:inline-block;float:left;margin-right:15px;line-height:30px;vertical-align:middle}.wpacu-script-attributes-area ul.wpacu-script-attributes-settings{display:inline-block;float:left;padding:5px 7px!important}.wpacu-script-attributes-area ul.wpacu-script-attributes-settings.wpacu-first{margin:0 15px 0 0!important}.wpacu-script-attributes-area ul.wpacu-script-attributes-settings label{margin:0!important}.wpacu-script-attributes-area ul.wpacu-script-attributes-settings li{display:inline-block;margin:0 16px 0 0!important}.wpacu-script-attributes-area ul.wpacu-script-attributes-settings li:first-child{margin:0 10px 0 0!important}.wpacu-script-attributes-area 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]{width:auto;padding:0;margin:0 5px 0 0}.wpacu-script-attributes-area .wpacu-script-attributes-settings:hover{background:#f2faf2}tr.wpacu_location_changed>td{border-left:#004567 4px solid}tr.wpacu_not_load td,tr.wpacu_not_load th{background:#FFE1E1!important}tr.wpacu_not_load td .wpacu-assets-inline-code-wrap,tr.wpacu_not_load td .wpacu-script-attributes-area,tr.wpacu_not_load th .wpacu-assets-inline-code-wrap,tr.wpacu_not_load th .wpacu-script-attributes-area{filter:alpha(opacity=45);opacity:.45}.dashicons-wpacu{width:17px;height:17px;margin:2px 0 0;font-size:16px;text-decoration:none;color:inherit!important}.wpacu_widefat .check-column.wpacu_check{padding:10px}body[class*=wpassetcleanup] #footer-left{border-left:2px solid green;padding-left:10px}#wpassetcleanup_asset_list small{width:auto;float:none;display:inline}#wpacu_meta_box_content{width:99%}#wpacu_meta_box_content div.select select{max-width:inherit}#wpacu_meta_box_content .emoji{font-size:18px}#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,#wpacu_meta_box_content .dashicons.dashicons-wordpress-alt{color:#c00}#wpacu_meta_box_content .wpacu_verified{padding:10px;background-color:#f5f5f5;border-left:1px solid #ddd}#wpacu_meta_box_content .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_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_exception_options_area_wrap label.wpacu_bold span,.wpacu_load_regex_area_wrap label.wpacu_bold span,.wpacu_unload_regex_area_wrap label.wpacu_bold span{font-weight:600!important}.wpacu-updated-frontend span.dashicons-yes{color:#46b450;font-size:26px}#wpacu-update-front-settings-area{margin:10px 0;display:inline-block;position:relative}@media only screen and (min-width:768px){#wpacu-update-front-settings-area{position:-webkit-sticky;position:sticky;bottom:0;display:block;padding:15px 0;z-index:1000000;border-top:1px solid #cdcdcd;background:#fff}}#wpacu-updating-front-settings{display:none;position:absolute;top:20px;left:142px}.wpacu_load_regex_area_wrap label.wpacu_unload_checked span,.wpacu_unload_regex_area_wrap label.wpacu_unload_checked span{color:#d54e21}.wpacu_load_regex_area_wrap .wpacu_handle_unload_regex_input_wrap,.wpacu_unload_regex_area_wrap .wpacu_handle_unload_regex_input_wrap{margin:4px 0 0}.wpacu_load_regex_area_wrap .wpacu_handle_unload_regex_input_wrap input[type=text],.wpacu_unload_regex_area_wrap .wpacu_handle_unload_regex_input_wrap input[type=text]{line-height:normal;min-height:20px;min-width:300px;max-width:400px;display:inline-block;padding:4px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.wpacu_load_regex_area_wrap .wpacu_handle_unload_regex_input_wrap input[type=text].wpacu_disabled,.wpacu_unload_regex_area_wrap .wpacu_handle_unload_regex_input_wrap input[type=text].wpacu_disabled{background:#fbfafa!important;color:inherit}.wpacu_is_global_unloaded .wpacu_exception_options_area_wrap{display:inline-block}.wpacu_is_global_unloaded .wpacu_exception_options_area_wrap .wpacu_area_one,.wpacu_is_global_unloaded .wpacu_exception_options_area_wrap .wpacu_area_two,.wpacu_is_global_unloaded .wpacu_exception_options_area_wrap .wpacu_load_regex_input_wrap{display:block}.wpacu_exception_options_area_wrap{display:table;background:#fff!important}.wpacu_exception_options_area_wrap textarea{line-height:normal;min-height:20px;min-width:300px;max-width:400px;display:inline-block;padding:2px 4px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.wpacu_exception_options_area_wrap textarea:focus{width:100%}.wpacu_exception_options_area_wrap textarea.wpacu_disabled{background:#fbfafa!important;color:inherit}.wpacu_exception_options_area_wrap p:first-of-type{margin-top:0}.wpacu_exception_options_area_wrap .wpacu_area_one{display:table-cell;vertical-align:top;padding-right:10px}.wpacu_exception_options_area_wrap .wpacu_area_two{display:table-cell}@media only screen and (max-width:1199px){.wpacu_exception_options_area_wrap,.wpacu_exception_options_area_wrap .wpacu_area_one,.wpacu_exception_options_area_wrap .wpacu_area_two{display:block}}#wpacu_meta_box_content .wpacu_widefat{width:100%}#wpacu_meta_box_content .wpacu-assets-collapsible-content{padding:0 10px!important}#wpacu_meta_box_content ul.wpacu_asset_options{vertical-align:middle}#wpacu_meta_box_content ul.wpacu_asset_options.wpacu_exception_options_area li{display:inline-block;float:left;margin:1px 25px 1px 0;line-height:20px}#wpacu_meta_box_content ul.wpacu_asset_options.wpacu_exception_options_area li:last-of-type{margin:1px 0}#wpacu_meta_box_content ul.wpacu_asset_options.wpacu_exception_options_area li input[type=text]{margin-left:5px;border:1px solid #e7e7e7;background:#fff}#wpacu_wrap_assets,.wpacu_striped>tbody>:nth-child(even),ul.wpacu_striped>:nth-child(even){background-color:#fff!important}#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}#wpacu_wrap_assets div.wpacu_warning{border:1px solid #c00;padding:5px 10px}#wpacu_wrap_assets small{display:inline!important;margin:0!important;letter-spacing:normal!important}#wpacu_wrap_assets input[type=checkbox]{width:auto!important;margin-right:4px!important}#wpacu_wrap_assets img:not(.wpacu-ajax-loader){display:inline-block!important}#wpacu_wrap_assets p{line-height:22px!important;margin:10px 0!important;text-align:left!important;font-weight:400!important}#wpacu_wrap_assets p:first-child{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_wrap_assets ul.wpacu_asset_options.wpacu_exception_options_area li{display:inline-block;float:left;margin:1px 25px 1px 0;line-height:30px}#wpacu_wrap_assets ul.wpacu_asset_options.wpacu_exception_options_area li:last-of-type{margin:1px 0}.wpacu_verified{margin:0 0 10px!important}.wpacu_asset_row div.select{display:inline-block;width:auto}.wpacu_asset_row:first-child td{border-top:1px solid #cdcdcd}.wpacu_asset_row td{border-left:1px solid #cdcdcd;border-right:1px solid #cdcdcd;border-bottom:1px solid #cdcdcd}.wpacu_asset_row.wpacu_notice_row td{position:relative;padding:5px;border-bottom:1px solid transparent}.wpacu_asset_row.wpacu_notice_row td div.wpacu-warning{width:auto;margin:5px;font-style:italic}.wpacu_asset_row:not(.wpacu_notice_row) td{padding:18px!important;position:relative}.wpacu_asset_row:not(.wpacu_notice_row) td[data-wpacu-row-status=contracted]{padding:18px 18px 8px!important}.wpacu_asset_row:not(.wpacu_notice_row) td.wpacu_selected,.wpacu_asset_row:not(.wpacu_notice_row) td:hover{-moz-box-shadow:inset 0 0 12px #cdcdcd;-webkit-box-shadow:inset 0 0 12px #cdcdcd;box-shadow:inset 0 0 12px #cdcdcd}.wpacu_asset_row:not(.wpacu_notice_row) td p{padding:0!important;margin-bottom:8px!important;word-wrap:break-word!important;-ms-word-break:break-all;word-break:break-word}.wpacu_asset_row:not(.wpacu_notice_row) td label{width:auto!important;margin:0!important;cursor:pointer!important;display:inline-block!important;font-size:100%!important;font-weight:400!important}.wpacu_asset_row:not(.wpacu_notice_row) td label span:not(.dashicons){font-size:100%!important}.wpacu_asset_row:not(.wpacu_notice_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,.wpacu_asset_row .dashicons-wordpress-alt{color:red!important}.wpacu_asset_row .dashicons-wordpress-alt{font-size:17px;vertical-align:middle}label.wpacu_add_global{cursor:pointer!important}label.wpacu_input_load_checked{font-weight:700;color:#d54e21}label.wpacu_global_unload_exception{font-weight:700!important}tr.wpacu_bulk_change_row.wpacu_selected,tr.wpacu_global_rule_row.wpacu_selected,tr.wpacu_remove_preload_row.wpacu_selected{background:#e7e7e7}.nav-tab-wrapper{border-bottom:1px solid #ccc;width:95%}.nav-tab-wrapper.nav-assets-manager .nav-tab{font-size:13px;font-weight:500;padding:6px 10px}.nav-tab-wrapper.nav-assets-manager .nav-tab.for-pro{padding:6px 8px 6px 3px}ul.wpacu_asset_options{margin:0 10px 0 0;padding:0}ul.wpacu_asset_options li{margin:0 10px 0 0;list-style:none;display:inline-block;line-height:normal}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{width:100%;font-weight:400}.wpacu_list_table div,.wpacu_list_table li,.wpacu_list_table p{font-weight:400}.wpacu_widefat{width:99%}.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;cursor:pointer!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.wpacu_submitting,.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.wpacu_submitting{cursor:default!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=button].btn-block,.wpacu-btns input[type=reset].btn-block,.wpacu-btns input[type=submit].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;text-decoration:none}.wpacu-restore-pos-btn{font-size:14px!important;line-height:normal!important;height:42px!important;padding:0 18px!important;margin-top:10px!important}body.wp-admin .wpacu_asset_row .go-pro-link-no-style .wpacu-tooltip{padding:8px 2px}body.wp-admin .go-pro-link-no-style .wpacu-tooltip{text-shadow:none;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 .wpacu-tooltip,.wordpress-core-file .wpacu-tooltip{line-height:18px;width:160px;color:#fff;text-align:center;font-size:14px;z-index:1}.go-pro-link-no-style:not(.nav-tab){font-style:italic}.go-pro-link-no-style.no-transition .wpacu-tooltip{-webkit-transition:0s all ease;transition:0s all ease;-webkit-transition-delay:0s;transition-delay:0s}.go-pro-link-no-style>img{max-width:20px;max-height:20px}.go-pro-link-no-style .wpacu-tooltip{position:absolute;visibility:hidden;background-color:#00a7a7;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:.1s all ease;transition:.1s all ease;-webkit-transition-delay:0s;transition-delay:0s}.go-pro-link-no-style .wpacu-tooltip:after{content:"";position:absolute;border-width:10px;border-style:solid;top:100%;left:50%;left:calc(50% - 10px);border-color:#00a7a7 transparent transparent}.go-pro-link-no-style .wpacu-tooltip.wpacu-on-pages-btn{cursor:pointer;margin-left:-77px;width:130px}.go-pro-link-no-style .wpacu-tooltip.wpacu-larger{width:240px}.go-pro-link-no-style:hover .wpacu-tooltip{visibility:visible}.wpacu_list_table tr:first-child .wordpress-core-file .wpacu-tooltip{bottom:-40px;left:120px;margin-left:-86px}.wpacu_list_table tr:first-child .wordpress-core-file .wpacu-tooltip:after{top:41px;left:-20px;border-color:transparent #c00 transparent transparent}.wordpress-core-file{position:relative;font-style:normal;color:inherit}.wordpress-core-file .wpacu-tooltip{position:absolute;visibility:hidden;background-color:#c00;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:.1s all ease;transition:.1s all ease;-webkit-transition-delay:0s;transition-delay:0s}.wordpress-core-file .wpacu-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 .wpacu-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-notice-info{padding:12px 12px 12px 16px;background:#fff;border-left:4px solid #008f9c}.wpacu-notice-info p{margin-top:8px}.wpacu-notice-info p:first-child{margin-top:0}.wpacu-notice-info p:last-child{margin-bottom:0}.wpacu-warning{font-size:15px;padding:10px;background:#fffcec;border:1px solid #fdd5c9;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;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-dom-get-type-selections,.wpacu-radio-selections{float:none;clear:both;width:auto;display:inline-block;margin-bottom:0;margin-top:0}#wpacu-dom-get-type-selections.wpacu-vertical,.wpacu-radio-selections.wpacu-vertical{display:block;margin-top:15px;margin-bottom:18px}#wpacu-dom-get-type-selections.wpacu-vertical li,.wpacu-radio-selections.wpacu-vertical li{float:none;margin-bottom:12px}#wpacu-dom-get-type-selections.wpacu-vertical li:last-child,.wpacu-radio-selections.wpacu-vertical li:last-child{margin-bottom:0}#wpacu-dom-get-type-selections li,.wpacu-radio-selections li{margin-right:30px;float:left;margin-bottom:0}#wpacu-dom-get-type-selections li:first-child,.wpacu-radio-selections li:first-child{margin-right:15px}#wpacu-dom-get-type-selections li:last-child,.wpacu-radio-selections li:last-child{margin-right:0}.wpacu_combine_loaded_js_level_area{display:none;background:0 0;border-left:2px solid #008f9c;padding-top:8px;padding-bottom:8px;padding-right:10px;padding-left:10px;margin:20px 0 15px}.wpacu_combine_loaded_js_level_area.wpacu_active{display:block}#wpacu-dom-get-type-infos{margin-bottom:0}#wpacu-dom-get-type-infos li{margin-bottom:0;line-height:20px}.wpacu-wrap li,.wpacu-wrap p,.wpacu-wrap td{font-weight:400}.wpacu-wrap small{width:auto;float:none;display:inline}.wpacu-wrap small code{font-size:inherit!important}.wpacu-wrap.wpacu-settings-show-all .wpacu-settings-tab-content{display:block;width:100%}.wpacu-wrap.wpacu-settings-show-all .wpacu-settings-area-title{color:#004567;padding:16px 15px;background:#f8f8f8;border-left:5px solid #004567b0;border-top:1px solid #e7e7e7;border-right:1px solid #e7e7e7;border-bottom:1px solid #e7e7e7;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;font-size:1.45em;font-weight:500}.wpacu-wrap.wpacu-settings-show-all #wpacu-update-button-area,.wpacu-wrap.wpacu-settings-show-all #wpacu-update-button-area .submit{margin:0}.wpacu-wrap.wpacu-settings-show-all #wpacu-update-button-area .button{padding:11px 28px;height:38px;font-size:18px}.wpacu-wrap.wpacu-settings-show-all #wpacu-updating-settings{margin-left:224px;top:35px;left:3px}.wpacu-wrap.wpacu-switch-standard .asset-cleanup-pro_page_wpassetcleanup_settings .wpacu_switch,.wpacu-wrap.wpacu-switch-standard .asset-cleanup_page_wpassetcleanup_settings .wpacu_switch{width:auto;height:auto}.wpacu-wrap.wpacu-switch-standard .asset-cleanup-pro_page_wpassetcleanup_settings .wpacu_switch input,.wpacu-wrap.wpacu-switch-standard .asset-cleanup_page_wpassetcleanup_settings .wpacu_switch input{display:block}.wpacu-wrap.wpacu-switch-standard .asset-cleanup-pro_page_wpassetcleanup_settings .wpacu_switch input[type=checkbox],.wpacu-wrap.wpacu-switch-standard .asset-cleanup_page_wpassetcleanup_settings .wpacu_switch input[type=checkbox]{margin:0 0 3px}.wpacu-wrap.wpacu-switch-standard .asset-cleanup-pro_page_wpassetcleanup_settings .wpacu_switch .wpacu_slider,.wpacu-wrap.wpacu-switch-standard .asset-cleanup_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_disabled,.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_locked_for_pro{opacity:.3}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_disabled:before{content:"";font-family:Dashicons,Arial,"Times New Roman","Bitstream Charter",Times,serif;position:absolute;font-size:23px;top:5px;right:2px;z-index:1000}.asset-cleanup-pro_page_wpassetcleanup_settings .setting_title p.wpacu_subtitle,.asset-cleanup_page_wpassetcleanup_settings .setting_title p.wpacu_subtitle{margin-top:4px;line-height:1.4}.asset-cleanup-pro_page_wpassetcleanup_settings .setting_title p.wpacu_subtitle em,.asset-cleanup_page_wpassetcleanup_settings .setting_title p.wpacu_subtitle em{font-weight:200}.asset-cleanup-pro_page_wpassetcleanup_settings .setting_title p.wpacu_read_more,.asset-cleanup_page_wpassetcleanup_settings .setting_title p.wpacu_read_more{margin-top:-10px;font-style:italic;font-size:12px}.asset-cleanup-pro_page_wpassetcleanup_settings .assets_list_inline_code_status_choices,.asset-cleanup-pro_page_wpassetcleanup_settings .assets_list_layout_areas_status_choices,.asset-cleanup-pro_page_wpassetcleanup_settings .input_style_choices,.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-pro_page_wpassetcleanup_settings .assets_list_inline_code_status_choices li,.asset-cleanup-pro_page_wpassetcleanup_settings .assets_list_layout_areas_status_choices li,.asset-cleanup-pro_page_wpassetcleanup_settings .input_style_choices li,.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-pro_page_wpassetcleanup_settings .assets_list_inline_code_status_choices li:last-child,.asset-cleanup-pro_page_wpassetcleanup_settings .assets_list_layout_areas_status_choices li:last-child,.asset-cleanup-pro_page_wpassetcleanup_settings .input_style_choices li:last-child,.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-assets-list-by-location-selected{background:0 0;border:1px solid #e7e7e7;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;padding:8px;clear:both}.notice.notice-success+.wpacu-wrap.wpacu-settings-area{margin-top:20px}.wpacu-license-action-btn-area{margin-top:0;position:relative;display:inline-block}.wpacu-license-spinner{display:none;position:absolute;right:-30px;top:4px}.wpacu-license-spinner img{width:20px;height:20px}#wpacu-activation-issues-info{border-radius:10px;width:90%;margin-top:20px;font-size:14px;padding:6px 20px;background:#fff;border:1px solid #e7e7e7}#wpacu-activation-issues-info ol li{font-size:13px;margin-bottom:10px}#wpacu-mark-license-area-wrap{margin:15px 0}.wpacu-form-table.wpacu-license th{width:120px}.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}.wpacu-form-table .wpacu-fancy-checkbox input[type=checkbox],.wpacu-form-table label input[type=checkbox]{height:20px;width:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.wpacu-form-table .wpacu-fancy-checkbox input[type=checkbox]:checked,.wpacu-form-table .wpacu-fancy-checkbox input[type=checkbox]:hover,.wpacu-form-table label input[type=checkbox]:checked,.wpacu-form-table label input[type=checkbox]:hover{border:1px solid green}.wpacu-form-table .wpacu-fancy-checkbox input[type=checkbox]:disabled,.wpacu-form-table label input[type=checkbox]:disabled{border:none}.wpacu-form-table .wpacu-fancy-checkbox input[type=checkbox]:disabled:checked,.wpacu-form-table label input[type=checkbox]:disabled:checked{opacity:.3}.wpacu-form-table .wpacu-fancy-checkbox input[type=checkbox]:checked:before,.wpacu-form-table label input[type=checkbox]:checked:before{color:#52af00;font:400 24px/1 dashicons}.wpacu-form-table .wpacu-fancy-radio input[type=radio]{-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;position:relative;height:20px;width:20px;margin:2px 0 0}.wpacu-form-table .wpacu-fancy-radio input[type=radio]:checked,.wpacu-form-table .wpacu-fancy-radio input[type=radio]:hover{border:1px solid green}.wpacu-form-table .wpacu-fancy-radio input[type=radio]:checked:before{margin:0;line-height:inherit;text-indent:inherit;content:"";position:absolute;top:4px;left:4px;width:10px;height:10px;border-radius:50%;background:#52af00;color:#52af00;font:400 24px/1 dashicons}#wpacu-settings-vertical-tab-wrap{display:table;width:100%}#wpacu-settings-vertical-tab-wrap .wpacu-tab-extra-text{margin:4px 0 0}#wpacu-settings-vertical-tab-wrap .wpacu-tab-extra-text small{font-weight:lighter}#wpacu-settings-vertical-tab-wrap .wpacu-tab-extra-text small span.wpacu-status-wrap{position:relative;padding-left:14px}#wpacu-settings-vertical-tab-wrap .wpacu-tab-extra-text small span.wpacu-status-wrap span.wpacu-circle-status{position:absolute;left:0;top:2px;height:10px;width:10px;border-radius:50%;display:inline-block;opacity:.75}#wpacu-settings-vertical-tab-wrap .wpacu-tab-extra-text small span.wpacu-status-wrap span.wpacu-circle-status.wpacu-on{background:#52af00}#wpacu-settings-vertical-tab-wrap .wpacu-tab-extra-text small span.wpacu-status-wrap span.wpacu-circle-status.wpacu-off{background:#ccc}#wpacu-settings-vertical-tab-wrap *{box-sizing:border-box}.wpacu-settings-tab{display:table-cell;width:20%;height:100%;vertical-align:top}.wpacu-settings-tab a{text-decoration:none;border-left:3px solid transparent;display:block;background-color:#f1f1f1;color:#004567;padding:17px 16px;width:100%;outline:0;text-align:left;cursor:pointer;font-size:14px;font-weight:600;border-bottom:1px solid #ccc}.wpacu-settings-tab a:first-child{border-top:1px solid transparent!important}.wpacu-settings-tab a:last-child{border-bottom:1px solid transparent!important}.wpacu-settings-tab a:hover{background-color:#fff;border-left:3px solid #004567;position:relative}.wpacu-settings-tab a.active{color:#004567;background-color:#fff;border-left:3px solid #004567;position:relative;border-bottom:1px solid #ccc}.wpacu-settings-tab a.active:after{content:"";position:absolute;height:100%;width:1px;top:0;right:-1px;background-color:#fff}.wpacu-settings-tab-content{background-color:#fff;display:none;padding:12px 18px;width:79%;border-left:none;height:100%;border-top-right-radius:10px;border-bottom-right-radius:10px}.wpacu-settings-tab-content h2{padding:0 0 15px;border-bottom:1px solid #e7e7e7}.wpacu-settings-tab-content.active{display:table-cell}#wpacu_minify_css_exceptions_area,#wpacu_minify_js_exceptions_area{margin:16px 0 0}@media only screen and (min-width:768px){body.asset-cleanup-pro_page_wpassetcleanup_assets_manager #wpacu-update-button-area,body.asset-cleanup_page_wpassetcleanup_assets_manager #wpacu-update-button-area{position:-webkit-sticky;position:sticky;bottom:0;padding:0;z-index:1000000;border-top:1px solid #cdcdcd;background:#f1f1f1}.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}}body[class*=version-5-3] #wpacu-update-button-area .button{height:auto;padding:4px 18px 6px;font-size:15px}body[class*=version-5-3] #wpacu-updating-settings{margin-left:178px}#wpacu-update-button-area{position:relative;margin-left:20%}#wpacu-update-button-area.no-left-margin{margin-left:0}#wpacu-update-button-area .submit{margin:0;padding:19px 0}#wpacu-update-button-area .button{padding:5px 18px;height:38px;font-size:15px}#wpacu-updating-settings{position:absolute;margin-left:183px;top:28px;display:none}#combine_loaded_js_info_area{position:relative}#combine_loaded_js_info_area.locked-for-pro:before{position:absolute;content:"";height:100%;width:100%;background:#fff;opacity:.5;z-index:10000}.google_fonts_load_types{clear:both;margin:20px 0 15px;display:flex}.google_fonts_load_types>div{text-align:left}.google_fonts_load_types>div input{float:left;margin:0 7px 20px 0!important}.wpacu-sub-tabs-wrap{min-width:320px;margin:0 auto}.wpacu-sub-tabs-wrap input.wpacu-nav-input{display:none}.wpacu-sub-tabs-wrap label.wpacu-nav-label{display:inline-block;margin:0 0 -1px;padding:15px 25px;font-weight:600;text-align:center;color:#74777b;border-left:1px solid transparent;border-right:1px solid transparent;border-top:3px solid transparent;border-bottom:0}.wpacu-sub-tabs-wrap label.wpacu-nav-label:hover{cursor:pointer}.wpacu-sub-tabs-wrap input.wpacu-nav-input:checked+label.wpacu-nav-label{color:#004567;border-left:1px solid #ccc;border-right:1px solid #ccc;border-top:3px solid #004567;border-bottom:1px solid #fff}.wpacu-sub-tabs-wrap section{display:none;padding:20px 0 0;border-top:1px solid #ccc}#wpacu-google-fonts-optimize-tab-item:checked~#wpacu-google-fonts-optimize-tab-item-area,#wpacu-google-fonts-remove-tab-item:checked~#wpacu-google-fonts-remove-tab-item-area{display:block}body.wp-admin .wpacu-handle-notes p{margin-top:0!important}body.wp-admin .wpacu-handle-notes p a{font-size:inherit}body.wp-admin .wpacu-handle-notes p a span.dashicons{font-size:19px;width:19px;height:19px;vertical-align:bottom;text-decoration:none}.wpacu-handle-notes{padding-top:5px;margin-bottom:-10px;border-top:1px solid #e7e7e7}.wpacu-handle-notes .wpacu-handle-notes-field{display:none}.wpacu-handle-notes .wpacu-handle-notes-field>textarea{font-size:85%;padding:6px;width:320px;max-width:100%}.wpacu-handle-notes p{margin:10px 0 0!important}.wpacu-handle-notes p a.wpacu-add-handle-note{text-decoration:none;font-size:80%;display:inline-block;color:inherit}.wpacu-handle-notes p a.wpacu-add-handle-note span.dashicons{font-size:18px;width:18px;height:18px}.wrap_bulk_unload_options{width:auto;display:block;clear:both}.wrap_bulk_unload_options .wpacu_asset_options_wrap{display:inline-block;float:left;margin:5px 10px 14px 0!important;padding:8px 10px 12px!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;min-width:52px;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:.15s;transition:.15s}.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:.15s;transition:.15s}.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_switch.wpacu_disabled{opacity:.3}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch.wpacu_disabled:before{content:"";font-family:Dashicons,Arial,"Times New Roman","Bitstream Charter",Times,serif;position:absolute;font-size:23px;top:1px;right:2px;z-index:1000}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_slider_text{position:absolute;left:62px;top:3px}.wpacu-wrap{width:98%}.wpacu-wrap tr.wpacu_regex_rule_row{opacity:.45}.wpacu-wrap tr.wpacu_regex_rule_row textarea{line-height:normal;min-height:20px;min-width:400px;display:inline-block;padding:2px 4px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.wpacu-wrap tr.wpacu_regex_rule_row textarea:focus{width:100%}.wpacu-wrap tr.wpacu_regex_rule_row.wpacu_enabled{opacity:1}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small{position:relative;display:inline-block;min-width:30px;width:30px;height:17px;margin-right:5px!important}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small input{display:none}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small .wpacu_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;-webkit-transition:.15s;transition:.15s}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small .wpacu_slider:before{position:absolute;content:"";height:13px;width:13px;left:2px;bottom:2px;background-color:#fff;-webkit-transition:.15s;transition:.15s}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small input:checked+.wpacu_slider{background-color:#52af00}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small input:focus+.wpacu_slider{box-shadow:0 0 1px #52af00}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small input:checked+.wpacu_slider:before{-webkit-transform:translateX(13px);-ms-transform:translateX(13px);transform:translateX(13px)}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small .wpacu_slider.wpacu_round{border-radius:17px}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small .wpacu_slider.wpacu_round:before{border-radius:50%}.editor-post-saved-state.is-wpacu-reloading{animation:edit-post__loading-fade-animation .5s infinite}body.wp-admin tr.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract .dashicons{width:19px;height:19px;font-size:19px}body.wp-admin tr.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:before{right:20px;top:-2px}body.wp-admin tr.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:after{left:20px;top:-2px}body.wp-admin tr.wpacu_asset_row.wpacu-loading{position:relative}body.wp-admin tr.wpacu_asset_row.wpacu-loading .wpacu-ajax-loader{display:block!important}body.wp-admin tr.wpacu_asset_row .wpacu-ajax-loader{display:none;width:58px;height:58px;position:absolute;bottom:0;right:0;opacity:.75}.wpacu_asset_row.wpacu_not_load .wpacu_dependency_notice_area em{color:#c00}.wpacu_asset_row .wpacu-hardcoded-code-area{margin:0}.wpacu_asset_row .wpacu-hardcoded-code-area span.wpacu_inside_cond_comm{display:block;margin-bottom:8px}.wpacu_asset_row .wpacu-hardcoded-code-area .wpacu-has-view-more{max-height:300px;position:relative;overflow:hidden}.wpacu_asset_row .wpacu-hardcoded-code-area .wpacu-has-view-more p.wpacu-view-more-link-area{position:absolute;bottom:0;left:0;width:100%;margin:0;padding:20px 0 15px 15px;background:linear-gradient(to bottom,rgba(255,255,255,0) 0,#fbfbfb8c 100%);background:-webkit-linear-gradient(top,rgba(255,255,255,0) 0,#fbfbfb8c 100%)}.wpacu_asset_row .wpacu-hardcoded-code-area pre{margin:0;padding:0 0 8px;white-space:pre-wrap;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.wpacu_asset_row .wpacu-hardcoded-code-area code{color:inherit;font-style:italic;margin-left:2px;word-break:break-word}.wpacu_asset_row[data-is-hardcoded-asset=true] .wpacu-source-row{margin-top:0}.wpacu_asset_row[data-is-hardcoded-asset=true] .wpacu_handle_row_expand_contract_area{right:18px;top:18px;background:inherit;z-index:100}.wpacu_asset_row>td{overflow-wrap:break-word;word-wrap:break-word;-ms-word-break:break-all;word-break:break-all}.wpacu_asset_row>td[data-wpacu-row-status=expanded] .wpacu_file_size_area{margin:10px 0}.wpacu_asset_row>td[data-wpacu-row-status=expanded] .wpacu_hardcoded_part_if_contracted{display:none}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_hardcoded_part_if_contracted,.wpacu_asset_row>td[data-wpacu-row-status=expanded] .wpacu_hardcoded_part_if_expanded{display:block}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_file_size_area{margin:0}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_hardcoded_part_if_contracted code{width:100%}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_hardcoded_part_if_expanded{display:none}.wpacu_asset_row>td div.wpacu_dependency_notice_area{line-height:22px;margin:10px 0;text-align:left!important;font-weight:400!important}.wpacu_asset_row>td div.wpacu-source-row{margin-top:12px}.wpacu_asset_row>td .wpacu_hide_if_handle_row_contracted{display:inline-block}.wpacu_asset_row>td[data-wpacu-row-status=contracted]>div{float:left;margin-top:0;margin-right:20px;margin-bottom:10px}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_hide_if_handle_row_contracted{display:none}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract{transition:none}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:focus,.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:focus-visible,.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:visited{text-decoration:none;border:none}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:after,.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:before{opacity:0;-webkit-transition:-webkit-transform .3s,opacity .2s;-moz-transition:-moz-transform .3s,opacity .2s;transition:transform .3s,opacity .2s}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:before{position:absolute;right:20px;top:-4px;content:"[";-webkit-transform:translateX(20px);-moz-transform:translateX(20px);transform:translateX(20px)}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:after{position:absolute;left:20px;top:-4px;content:"]";-webkit-transform:translateX(-20px);-moz-transform:translateX(-20px);transform:translateX(-20px)}.wpacu_asset_row>td[data-wpacu-row-status=contracted].wpacu_hovered .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:focus .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:hover .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract{transition:none}.wpacu_asset_row>td[data-wpacu-row-status=contracted].wpacu_hovered .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:hover,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:focus .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:hover,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:hover .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:hover{color:green}.wpacu_asset_row>td[data-wpacu-row-status=contracted].wpacu_hovered .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:after,.wpacu_asset_row>td[data-wpacu-row-status=contracted].wpacu_hovered .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:before,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:focus .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:after,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:focus .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:before,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:hover .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:after,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:hover .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:before{opacity:1;-webkit-transform:translateX(0);-moz-transform:translateX(0);transform:translateX(0)}.wpacu_asset_row .wpacu_handle_row_expand_contract_area{position:absolute;right:20px;top:20px;float:none!important;margin:0!important}.wpacu_asset_row .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract{color:#000;text-decoration:none}.wpacu_asset_row .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:hover{text-decoration:none}.wpacu_asset_row input{width:auto;height:auto;min-height:16px}.wpacu_asset_row .tip{background:inherit;border-left:4px solid #e7e7e7;margin:10px 0;padding:7px;font-style:italic;font-size:small;line-height:1.4}.wpacu_asset_row td{width:100%;text-align:left}.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 div.wpacu_handle{margin:0 0 -8px}.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{display:table;content:""}.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{clear:both;height:0}.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-wp-button:hover{background:#fafafa;border-color:#999;color:#23282d}.distinguish-asset-list{list-style:none;margin-left:0;margin-bottom:5px;display:inline-block}.distinguish-asset-list li{float:left;margin-right:20px}.distinguish-asset-list li:last-child{margin-right:0}body[class*=asset-cleanup-pro] a.wpacu-plugin-contracted-wrap-link{padding:16px 6px 16px 41px!important}body[class*=asset-cleanup-pro] .wpacu-area-open .wpacu-plugin-toggle-all{font-size:12px!important;width:calc(100% - 26px)!important}body.wp-admin .wpacu-area-expanded .wpacu-plugin-toggle-all{top:5px}body.wp-admin .wpacu-area-expanded .wpacu-plugin-toggle-all ul li{font-size:12px!important}.wpacu-assets-collapsible-wrap{border:1px solid #cdcdcd}.wpacu-assets-collapsible-wrap.wpacu-by-location{margin-bottom:15px}.wpacu-assets-collapsible-wrap.wpacu-wrap-all{margin-top:20px}.wpacu-assets-collapsible-wrap.wpacu-wrap-area{margin-top:10px}.wpacu-assets-collapsible-wrap.wpacu-by-location>a.wpacu-assets-collapsible{padding:15px 15px 15px 43px}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu_list_table{border-width:0;margin:0;border-spacing:inherit;width:100%;box-shadow:3px 3px 2px #ddd;border-bottom-right-radius:5px;border-top-right-radius:5px}.wpacu-assets-collapsible-wrap.wpacu-by-location span.wpacu-child-location-name{font-weight:600}.wpacu-assets-collapsible-wrap.wpacu-by-location span.wpacu-child-location-version{font-weight:200}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-location-child-area[data-wpacu-plugin=oxygen] .icon-area{border-radius:50%}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-location-child-area .wpacu-plugin-toggle-all-wrap .wpacu-plugin-toggle-all{display:inline-block;padding:0;font-size:13px;width:100%;width:calc(100% + 46px);min-width:250px;position:absolute;left:100%;left:calc(100% + 6px);margin:0;top:4px}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-location-child-area .wpacu-plugin-toggle-all-wrap .wpacu-plugin-toggle-all ul{display:inline-block;margin:0;list-style:none;padding-left:13px;padding-top:0}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-location-child-area .wpacu-plugin-toggle-all-wrap .wpacu-plugin-toggle-all ul li{padding:0;margin:0;line-height:normal;font-size:14px}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-location-child-area .wpacu-plugin-toggle-all-wrap .wpacu-plugin-toggle-all ul li:first-child{font-style:italic;margin-bottom:5px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-themes .wpacu-assets-collapsible-content>table:last-child{margin-bottom:20px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-themes .wpacu-assets-collapsible-content .wpacu-location-child-area .wpacu-area-title{display:inline;position:relative;z-index:1}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-themes .wpacu-assets-collapsible-content .wpacu-location-child-area .wpacu-area-title:after{content:"";position:absolute;width:100%;left:0;bottom:0;height:1px;background-color:#fdfdfd}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content .wpacu-plugin-assets-wrap{padding:0 0 10px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content .wpacu-plugin-assets-wrap.wpacu-area-open.wpacu-plugin-assets-last{margin-bottom:18px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content .wpacu-plugin-assets-wrap.wpacu-area-open .wpacu-plugin-toggle-all-wrap .wpacu-plugin-toggle-all{display:inline-block;padding:7px 12px 8px;font-size:14px;width:100%;text-align:left;border-left:1px solid #cdcdcd;border-right:1px solid #cdcdcd}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content .wpacu-plugin-assets-wrap.wpacu-area-open .wpacu-plugin-toggle-all-wrap .wpacu-plugin-toggle-all+.wpacu-plugin-toggle-all{padding:2px 12px 10px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link{color:inherit;text-decoration:none;font-weight:inherit;font-style:inherit;font-size:105%;line-height:initial;height:auto;margin:14px 0 0;padding:13px 6px 14px 39px;position:relative;display:block}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link:after{position:absolute;font-size:18px;font-family:Dashicons;right:12px;top:14px;content:""}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link.wpacu-link-open:after{content:""}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link.wpacu-link-closed{border:1px solid #cdcdcd}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link:hover{border:1px solid #878787;background:#f9f9f9}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link:hover.wpacu-link-closed{box-shadow:3px 3px 2px #ddd}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link.wpacu-link-open{border-top:1px solid #cdcdcd;border-left:1px solid #cdcdcd;border-right:1px solid #cdcdcd;border-bottom:none}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link.wpacu-link-closed.wpacu-last-wrap-link{margin-bottom:20px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link .icon-plugin-default{top:10px;left:10px;width:30px;height:30px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link .icon-plugin-default .icon-area{width:30px;height:30px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link .icon-plugin-default .icon-area:before{font-size:22px;line-height:22px;top:4px;left:5px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link .wpacu-area-title{position:relative;padding:17px 10px 16px 46px;z-index:1}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link .wpacu-area-title:after{content:"";position:absolute;width:100%;left:0;bottom:0;height:1px;background-color:#fdfdfd}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link.wpacu-area-last{margin-bottom:18px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content .wpacu-area-open{padding:0;max-height:100%}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content .wpacu-area-closed{padding:0;overflow:hidden;max-height:0}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content>table:last-child{margin-bottom:20px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-themes .wpacu-assets-collapsible-content .wpacu-location-child-area .wpacu-area-title{margin-top:0;margin-bottom:-1px;padding:14px 10px 16px 12px!important}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-themes .wpacu-assets-collapsible-content .wpacu-location-child-area .wpacu-area-title.wpacu-theme-has-icon{padding:18px 10px 16px 58px!important}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-assets-collapsible-content .wpacu-location-child-area{margin-top:22px;margin-bottom:-1px;font-size:110%;line-height:initial}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-assets-collapsible-content .wpacu-location-child-area.wpacu-location-child-area-first{margin-top:2px}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-assets-collapsible-content .wpacu-location-child-area.wpacu-area-expanded .wpacu-area-title{display:inline-block;z-index:1;padding:17px 10px 16px 46px}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-assets-collapsible-content .wpacu-location-child-area .wpacu-area-title{display:inline;border-top-right-radius:8px;border-top-left-radius:8px;background-color:#f9f9f9;border-left:1px solid #cdcdcd;border-top:1px solid #cdcdcd;border-bottom:1px solid transparent;border-right:1px solid #cdcdcd;position:relative}.wpacu-assets-collapsible-wrap.wpacu-by-location .icon-plugin-default{position:absolute;padding:0;top:10px;left:10px;width:37px;height:37px}.wpacu-assets-collapsible-wrap.wpacu-by-location .icon-plugin-default:not(.has-icon){color:#b4b9be;background-color:#eee;box-shadow:inset 0 0 10px rgba(160,165,170,.15);-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.wpacu-assets-collapsible-wrap.wpacu-by-location .icon-plugin-default:not(.has-icon) .icon-area:before{content:"";font-family:Dashicons;position:absolute;font-size:28px;line-height:28px;top:5px;left:5px}.wpacu-assets-collapsible-wrap.wpacu-by-location .icon-plugin-default .icon-area{position:relative;width:37px;height:37px}.wpacu-assets-collapsible-wrap.wpacu-by-location .icon-theme{position:absolute;padding:0;top:10px;left:10px;width:37px;height:37px}.wpacu-assets-collapsible-wrap.wpacu-by-location .icon-theme .icon-area{position:relative;width:37px;height:37px}.wpacu-assets-collapsible-wrap.wpacu-wp_core{border:1px solid #c00}.wpacu-assets-collapsible-wrap.wpacu-external .wpacu-assets-collapsible-content,.wpacu-assets-collapsible-wrap.wpacu-wp_core .wpacu-assets-collapsible-content{padding:0}.wpacu-assets-collapsible-wrap.wpacu-external .wpacu-assets-collapsible-content .wpacu_list_table,.wpacu-assets-collapsible-wrap.wpacu-wp_core .wpacu-assets-collapsible-content .wpacu_list_table{width:100%;margin:0}.wpacu-assets-collapsible-wrap.wpacu-external .wpacu-assets-collapsible-content .wpacu_list_table .wpacu_asset_row td,.wpacu-assets-collapsible-wrap.wpacu-wp_core .wpacu-assets-collapsible-content .wpacu_list_table .wpacu_asset_row td{border-left:hidden;border-right:hidden;border-bottom:1px solid #cdcdcd}.wpacu-assets-collapsible-wrap.wpacu-external .wpacu-assets-collapsible-content .wpacu_list_table .wpacu_asset_row:last-child,.wpacu-assets-collapsible-wrap.wpacu-wp_core .wpacu-assets-collapsible-content .wpacu_list_table .wpacu_asset_row:last-child{margin-bottom:0!important}.wpacu-assets-collapsible-wrap.wpacu-external .wpacu-assets-collapsible-content .wpacu_list_table .wpacu_asset_row:last-child td:last-child,.wpacu-assets-collapsible-wrap.wpacu-wp_core .wpacu-assets-collapsible-content .wpacu_list_table .wpacu_asset_row:last-child td:last-child{border-bottom:hidden}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:hover{background-color:#f1f3f8;text-decoration:none}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:""}a.wpacu-assets-collapsible.wpacu-assets-collapsible-active{background-color:#f1f3f8}a.wpacu-assets-collapsible.wpacu-assets-collapsible-active:after{content:""}.wpacu-assets-collapsible-content{padding:0 16px;max-height:0;overflow:hidden;background-color:#fbfbfb8c}.wpacu-assets-collapsible-content .wpacu-assets-note{margin:0;padding:15px 15px 10px}.wpacu-assets-collapsible-content>div:not(.wpacu-assets-table-list-wrap){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{color:inherit;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;width:14px;height: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:""}a.wpacu-assets-inline-code-collapsible.wpacu-assets-inline-code-collapsible-active:after{content:""}.wpacu-assets-inline-code-collapsible-content{padding:0 8px 2px 0;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{line-height:normal!important}.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_asset_row p div.select{display:inline-block}.wpacu-wrap-choose-position{display:inline}.wpacu-wrap-choose-position>div{display:inline-block}.wpacu-wrap-choose-position select{width:auto;font-size:inherit;display:inline;margin-left:6px;margin-right:4px}.wpacu-wrap-choose-position>.select>.select{display:inline}.wpacu-wrap-choose-position>.select>.select select{padding-right:30px}.wpacu-wrap-choose-position>.select>.select:after{right:15px;top:-4px}.wpacu_handle_unload_regex_input_wrap,.wpacu_load_regex_input_wrap{display:block;width:100%}.wpacu_handle_unload_regex_input_wrap .wpacu_regex_rule_area .wpacu_regex_rule_textarea,.wpacu_load_regex_input_wrap .wpacu_regex_rule_area .wpacu_regex_rule_textarea{line-height:normal;min-height:20px;min-width:300px;max-width:400px;display:inline-block;padding:2px 4px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.wpacu_handle_unload_regex_input_wrap .wpacu_regex_rule_area .wpacu_regex_rule_textarea:focus,.wpacu_load_regex_input_wrap .wpacu_regex_rule_area .wpacu_regex_rule_textarea:focus{width:100%}body.logged-in:not(.wp-admin) .wpacu-view-more-code{box-shadow:inset 0 1px 0 0 #fff;background:linear-gradient(to bottom,#f9f9f9 5%,#e9e9e9 100%);background-color:#f9f9f9;border-radius:6px;border:1px solid #dcdcdc;display:inline-block;cursor:pointer;color:#666;font-size:inherit;font-weight:700;padding:6px 24px;text-decoration:none;text-shadow:0 1px 0 #fff}body.logged-in:not(.wp-admin) .wpacu-view-more-code:hover{background:linear-gradient(to bottom,#e9e9e9 5%,#f9f9f9 100%);background-color:#e9e9e9}body.logged-in:not(.wp-admin) .wpacu-view-more-code:active{position:relative;top:1px}.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}body.wp-admin[class*=asset-cleanup] .wpacu-overview-wrap .wpacu-overview-list-table tr:not(.wpacu-top):hover td{border-top:1px solid #ccd0d4;border-bottom:1px solid #ccd0d4}body.wp-admin[class*=asset-cleanup] .wpacu-overview-wrap .wpacu-overview-list-table tr:not(.wpacu-top):hover td:first-of-type{border-left:1px solid #ccd0d4}body.wp-admin[class*=asset-cleanup] .wpacu-overview-wrap .wpacu-overview-list-table tr:not(.wpacu-top):hover td:last-of-type{border-right:1px solid #ccd0d4}body.wp-admin[class*=asset-cleanup] .wpacu-overview-wrap .wpacu-overview-list-table tr td{font-size:14px;border-top:1px solid transparent;border-bottom:1px solid transparent}body.wp-admin[class*=asset-cleanup] .wpacu-overview-wrap .wpacu-overview-list-table tr td:first-of-type{border-left:1px solid transparent}body.wp-admin[class*=asset-cleanup] .wpacu-overview-wrap .wpacu-overview-list-table tr td:last-of-type{border-right:1px solid transparent}body.wp-admin[class*=asset-cleanup] table.wp-list-table:not(.wpacu-overview-list-table) tr:not(:first-of-type):not(.wpacu_selected):hover,body.wp-admin[class*=asset-cleanup] table.wp-list-table:not(.wpacu-overview-list-table).wpacu-list-table tr:not(.wpacu_selected):hover{-moz-box-shadow:inset 0 0 2px 1px #b3b3b3;-webkit-box-shadow:inset 0 0 2px 1px #B3B3B3;box-shadow:inset 0 0 2px 1px #B3B3B3}.wp-list-table .wpacu_remove_global_attr_row.wpacu_selected,.wp-list-table .wpacu_restore_position_row.wpacu_selected{background:#e7e7e7!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}#wpacu-plugins-load-manager-wrap .wrap_plugin_unload_rules_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules label.wpacu_plugin_unload_rule_input_checked,#wpacu-warning-read span.dashicons-warning,#wpacu-warning-read span.dashicons-wordpress-alt{color:#c00}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 (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}select#wpacu-reset-drop-down{max-width:100%}#wpacu-license-data-remove-area{display:none;margin:14px 0 12px}#wpacu-license-data-remove-area.wpacu-visible{display:block}#wpacu-cache-assets-remove-area{display:none;margin:12px 0 25px}#wpacu-cache-assets-remove-area.wpacu-visible{display:block}#wpacu-cached-assets-removed-msg,span#wpacu-license-data-removed-msg{display:block;padding-left:26px}#wpacu-warning-read{display:none;margin:10px 0}#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-tools-area .wpacu-export-import-area{padding:10px}.wpacu-tools-area .wpacu-export-import-area form>p:first-of-type{margin-top:0}.wpacu-tools-area .wpacu-export-import-area form>p:last-of-type{margin-bottom:0}.wpacu-tools-area .wpacu-export-import-area:hover{background:rgba(40,44,42,.05);box-shadow:inset 0 0 10px rgba(160,165,170,.15)}.wpacu-tools-area .wpacu-export-import-area+hr{display:block;height:1px;border:0;border-top:1px solid #cdcdcd;margin:10px 0;padding:0}#wpacu-import-form button.wpacu-importing img.wpacu-spinner{display:inline-block}#wpacu-import-form button img.wpacu-spinner{display:none;margin:0 0 0 5px;height:16px;width:16px;vertical-align:middle}.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}.wpacu-lite-vs-pro-wrap ul{display:flex;top:0;z-index:10;padding-bottom:14px}.wpacu-lite-vs-pro-wrap li{list-style:none;flex:1}.wpacu-lite-vs-pro-wrap li:last-child{border-right:1px solid #DDD}.wpacu-lite-vs-pro-wrap button{width:100%;border:1px solid #DDD;border-right:0;border-top:0;padding:10px;background:#FFF;font-size:14px;font-weight:700;height:60px;color:#999}.wpacu-lite-vs-pro-wrap li.active button{background:#F5F5F5;color:#000}.wpacu-lite-vs-pro-wrap table{border-collapse:collapse;table-layout:fixed;width:100%}.wpacu-lite-vs-pro-wrap th{background:inherit}.wpacu-lite-vs-pro-wrap tr.first{background:inherit;font-size:18px}.wpacu-lite-vs-pro-wrap tr.first .bg-lite{border-top:4px solid #6d6e70;background:#fff;color:#6d6e70}.wpacu-lite-vs-pro-wrap tr.first .bg-pro{border-top:4px solid green;background:#fff;color:green}.wpacu-lite-vs-pro-wrap tr:not(.first){background:#fff}.wpacu-lite-vs-pro-wrap tr:not(:last-child):hover{background:#f8f8f8}.wpacu-lite-vs-pro-wrap td,.wpacu-lite-vs-pro-wrap th{height:53px;line-height:22px;border:1px solid #DDD;padding:10px 16px;empty-cells:show;text-align:left}@media only screen and (max-width:767px){.wpacu-lite-vs-pro-wrap td,.wpacu-lite-vs-pro-wrap th{font-size:14px}}.wpacu-lite-vs-pro-wrap td+td,.wpacu-lite-vs-pro-wrap th+th{text-align:center;display:none}.wpacu-lite-vs-pro-wrap td.default{display:table-cell}.wpacu-lite-vs-pro-wrap .txt-l{font-size:28px;font-weight:700}.wpacu-lite-vs-pro-wrap .txt-top{position:relative;top:-9px;left:-2px}.wpacu-lite-vs-pro-wrap svg{width:18px;height:18px}.wpacu-lite-vs-pro-wrap svg path{fill:green}.wpacu-lite-vs-pro-wrap .tick{color:#2CA01C}.wpacu-lite-vs-pro-wrap .tick img{fill:#2CA01C}@media only screen and (max-width:767px){.wpacu-lite-vs-pro-wrap .txt-l{font-size:20px}.wpacu-lite-vs-pro-wrap .tick{font-size:15px}}.wpacu-lite-vs-pro-wrap .na{font-size:18px;opacity:.3;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"}.wpacu-lite-vs-pro-wrap .hide{border:0;background:0 0}.wpacu-lite-vs-pro-wrap td,.wpacu-lite-vs-pro-wrap th{display:table-cell!important;width:auto}.wpacu-lite-vs-pro-wrap td+td,.wpacu-lite-vs-pro-wrap th+th{width:130px}@media only screen and (max-width:767px){.wpacu-lite-vs-pro-wrap .na{font-size:15px}.wpacu-lite-vs-pro-wrap td+td,.wpacu-lite-vs-pro-wrap th+th{width:42px}}@media only screen and (min-width:768px){.wpacu-lite-vs-pro-wrap td .button{font-size:16px!important}}@media only screen and (max-width:767px){.wpacu-lite-vs-pro-wrap td .button{font-size:14px!important;padding:0 20px!important}.wpacu-lite-vs-pro-wrap td .button.button-primary{margin-top:6px;margin-bottom:14px}}@media only screen and (min-width:768px){.wpacu-lite-vs-pro-wrap{margin-bottom:40px;clear:both}}.wpacu-video-areas>div{padding:20px;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.wpacu-video-areas>div:nth-child(odd){background:#fff}.wpacu-video-areas>div:nth-child(even){background:inherit}@media only screen and (min-width:1200px){.wpacu-video-areas .wpacu-video-area-wrapper{margin:0 0 15px;display:flex}.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-col-right{padding:0 20px 0 25px}}@media only screen and (min-width:992px) and (max-width:1199px){.wpacu-video-areas .wpacu-video-area-wrapper{margin:0 0 40px}}.wpacu-video-areas .wpacu-video-area-wrapper ol{font-size:14px}.wpacu-video-areas .wpacu-video-area-wrapper ul{font-size:14px;list-style:disc;margin-left:22px}@media only screen and (min-width:1200px){.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-col-right p:first-child{margin-top:0}.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-col-right p:last-child{margin-bottom:0}}@media only screen and (max-width:1199px){.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-video-wrapper{position:relative;padding-bottom:56.25%;padding-top:30px;height:0;overflow:hidden}}.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-video-wrapper iframe{width:560px;height:315px}@media only screen and (max-width:1199px){.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-video-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%}}#wpassetcleanup_asset_list.postbox h2{padding-left:52px!important;position:relative}#wpassetcleanup_asset_list.postbox h2:before{content:"";position:absolute;background-image:url(images/wpacu-logo-transparent-bg-v1.png);background-size:cover;top:6px;left:13px;width:33px;height:26px;opacity:.8;-webkit-filter:grayscale(100%);filter:grayscale(100%)}body.wp-admin .wpacu-modal{display:none;position:fixed;z-index:1000000;padding-top:15%;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#000;background-color:rgba(0,0,0,.4)}body.wp-admin .wpacu-modal pre{white-space:normal}body.wp-admin .wpacu-modal-content{background-color:#fefefe;margin:auto;padding:20px;border:1px solid #888;width:80%;max-width:600px;border-radius:10px}body.wp-admin .wpacu-modal-content pre{white-space:normal}body.wp-admin .wpacu-close{color:#aaa;float:right;font-size:28px;font-weight:700}body.wp-admin .wpacu-close:focus,body.wp-admin .wpacu-close:hover{color:#000;text-decoration:none;cursor:pointer}.wpacu-bulk-changes-tabs{display:table;position:relative;overflow:hidden;margin:0;width:100%}.wpacu-bulk-changes-tabs li{border-top:1px solid rgba(40,44,42,.1);border-left:1px solid rgba(40,44,42,.1);border-bottom:1px solid rgba(40,44,42,.1);float:left;line-height:38px;padding:0;position:relative;margin-bottom:12px}.wpacu-bulk-changes-tabs li:last-child{border-right:1px solid rgba(40,44,42,.1)}.wpacu-bulk-changes-tabs a{position:relative;background:rgba(40,44,42,.05);color:#004567;font-size:14px;font-weight:500;display:block;letter-spacing:0;outline:0;padding:6px 20px;text-decoration:none;border-top:3px solid transparent}.wpacu-bulk-changes-tabs a:hover{background:#f1f1f1;border-top:3px solid transparent}.wpacu-bulk-changes-tabs .current a{background:#fff;border-top:3px solid #004567}.wpacu-bulk-changes-tabs .current a:hover{background:#fff}.wpacu-bulk-changes-tabs .current a:after,.wpacu-bulk-changes-tabs .current a:before{top:100%;left:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}.wpacu-bulk-changes-tabs .current a:after{border-color:rgba(136,183,213,0);border-top-color:#fff;border-width:12px;margin-left:-12px}.wpacu-bulk-changes-tabs .current a:before{border-color:rgba(194,225,245,0);border-top-color:rgba(40,44,42,.1);border-width:13px;margin-left:-13px}img.wpacu-emoji{display:inline!important;border:none!important;height:1em!important;width:1em!important;margin:0 .07em!important;vertical-align:-.1em!important;background:0 0!important;padding:0!important;box-shadow:none!important}#wpacu-plugins-load-manager-wrap table td{border-bottom:1px solid #e7e7e7}#wpacu-plugins-load-manager-wrap table td.wpacu_plugin_icon{padding:14px 10px}#wpacu-plugins-load-manager-wrap table td.wpacu_plugin_details{vertical-align:middle;padding:10px 0 10px 8px}#wpacu-plugins-load-manager-wrap table td.wpacu_plugin_details .wpacu_plugin_title{font-weight:600}#wpacu-plugins-load-manager-wrap .wrap_plugin_unload_rules_options{width:auto;display:inline-flex;-webkit-flex-wrap:wrap;flex-wrap:wrap}#wpacu-plugins-load-manager-wrap .wrap_plugin_unload_rules_options .wpacu_plugin_rules_wrap{flex-grow:1;margin:0 16px 0 0!important;padding:8px 10px 6px 0!important}#wpacu-plugins-load-manager-wrap .wrap_plugin_unload_rules_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules{margin:0;vertical-align:middle}#wpacu-plugins-load-manager-wrap .wrap_plugin_unload_rules_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules label{vertical-align:top}#wpacu-plugins-load-manager-wrap .wrap_plugin_unload_rules_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules label input[type=radio].wpacu_plugin_load_it:before{background-color:green}#wpacu-plugins-load-manager-wrap .wrap_plugin_unload_rules_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules label input[type=radio].wpacu_plugin_unload_rule_input:before{background-color:#c00}#wpacu-plugins-load-manager-wrap .wrap_plugin_load_exception_options{padding-top:5px;border-top:1px solid #e7e7e7;width:auto;display:inline-flex;-webkit-flex-wrap:wrap;flex-wrap:wrap}#wpacu-plugins-load-manager-wrap .wrap_plugin_load_exception_options .wpacu_plugin_rules_wrap{flex-grow:1;margin:0 16px 0 0!important;padding:6px 10px 6px 0!important}#wpacu-plugins-load-manager-wrap .wrap_plugin_load_exception_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules{margin:0;vertical-align:middle}#wpacu-plugins-load-manager-wrap .wrap_plugin_load_exception_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules label{vertical-align:top}#wpacu-plugins-load-manager-wrap .wrap_plugin_load_exception_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules.wpacu_exception_options_area li{display:inline-block;float:left;margin:1px 25px 1px 0;line-height:20px}#wpacu-plugins-load-manager-wrap .wrap_plugin_load_exception_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules.wpacu_exception_options_area li:last-of-type{margin:1px 0}.wpacu-list-table.plugins{width:98%;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}#wpacu-plugins-load-manager-wrap .help_link{text-decoration:none;color:inherit;vertical-align:middle}#wpacu-plugins-load-manager-wrap .help_link.unload_it_regex{vertical-align:top}#wpacu-plugins-load-manager-wrap .wpacu_plugin_details .wpacu_plugin_path{font-style:italic;color:grey}#wpacu-plugins-load-manager-wrap .wpacu_plugin_icon>img{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}#wpacu-plugins-load-manager-wrap .wpacu_plugin_icon>div{background:#efefef;border:#cdcdcd;border-radius:3px;width:40px;height:40px;vertical-align:middle;position:relative;text-align:center}#wpacu-plugins-load-manager-wrap .wpacu_plugin_icon>div>span{font-size:30px;color:#b3b3b3;top:50%;vertical-align:middle;left:50%;transform:translate(-50%,-50%);width:30px;height:30px;position:absolute}#wpacu-plugins-load-manager-wrap .wpacu_exception_options_area textarea,#wpacu-plugins-load-manager-wrap textarea:focus{width:100%}#wpacu-plugins-load-manager-wrap .wpacu_plugin_unload_regex_input_wrap{display:block}#wpacu-plugins-load-manager-wrap .wpacu_plugin_unload_regex_input_wrap textarea{margin-top:6px;min-width:400px}#wpacu-plugins-load-manager-wrap textarea{line-height:normal;min-height:20px;min-width:300px;display:inline-block;padding:2px 4px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}#wpacu-plugins-load-manager-wrap textarea.wpacu_disabled{background:#fbfafa!important;color:inherit}
1
+ @charset "UTF-8";#wpacu-pages-info-area{width:98%}#wpacu-top-area{margin:15px 0;padding:0 10px}#wpacu-quick-actions{color:#74777b;float:right;width:auto;margin-right:30px;background:rgba(40,44,42,.05);border-radius:10px;padding:6px 12px}#wpacu-quick-actions .wpacu-actions-title{font-weight:200;letter-spacing:.5px}#wpacu-quick-actions a{color:#004567;text-decoration:none}#wpacu-quick-actions a:hover{color:#0073aa}#wpacu-logo-wrap{width:auto;display:inline-block;position:relative}#wpacu-logo-wrap a{display:block}#wpacu-logo-wrap img{width:352px;height:79px}#wpacu-logo-wrap .wpacu-pro-sign{position:absolute;height:auto;font-family:FiraSans-Medium,proxima-nova-1,Montserrat,Helvetica,sans-serif;font-size:13px;font-weight:600;letter-spacing:1px;padding:5px 11px;border-radius:15px;right:-60px;top:30px;width:auto;display:inline-block;text-align:center}#wpacu-logo-wrap .wpacu-pro-sign.wpacu-lite{color:#74777b;background:rgba(40,44,42,.05)}#wpacu-logo-wrap .wpacu-pro-sign.wpacu-pro{color:#004567;background-color:rgba(40,44,42,.05)}.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;padding:0;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.extra-info{position:absolute;font-size:12px;left:-50%;right:50%;bottom:12px;-webkit-transform:translate(50%,50%);transform:translate(50%,50%);white-space:nowrap}.wpacu-tabs nav ul li span.extra-info.has-bulk-unloads{right:48%}.wpacu-tabs nav ul li span.extra-info.no-bulk-unloads{left:0;right:2px;bottom:2px;-webkit-transform:inherit;transform:inherit}.wpacu-tabs nav ul li span.extra-info .dashicons{font-size:16px;margin-right:-3px;margin-top:1px}.wpacu-tabs nav ul li span.extra-info.license-status.inactive{color:#c00}.wpacu-tabs nav ul li span.extra-info.license-status.active{color:green}.wpacu-tabs nav ul li span.extra-info.assets-unloaded-false{color:#004567}.wpacu-tabs nav ul li span.extra-info.assets-unloaded-true,.wpacu-tabs nav ul li span.extra-info.bulk-unloads-true{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:1800px;margin:20px auto 22px 0;width:98%;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:#008f9c;border-bottom:none}.wpacu-tabs-style-topline nav a{padding:20px 18px;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{background:0 0;color:#008f9c}.wpacu-tabs-style-topline nav li.wpacu-tab-current a{background:0 0;box-shadow:inset 0 3px 0 #008f9c;color:#008f9c}.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_hide{display:none!important}.wpacu-script-attributes-area{display:block;margin-bottom:12px}.wpacu-script-attributes-area>div:first-of-type{display:inline-block;float:left;margin-right:15px;line-height:30px;vertical-align:middle}.wpacu-script-attributes-area ul.wpacu-script-attributes-settings{display:inline-block;float:left;padding:5px 7px!important}.wpacu-script-attributes-area ul.wpacu-script-attributes-settings.wpacu-first{margin:0 15px 0 0!important}.wpacu-script-attributes-area ul.wpacu-script-attributes-settings label{margin:0!important}.wpacu-script-attributes-area ul.wpacu-script-attributes-settings li{display:inline-block;margin:0 16px 0 0!important}.wpacu-script-attributes-area ul.wpacu-script-attributes-settings li:first-child{margin:0 10px 0 0!important}.wpacu-script-attributes-area 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]{width:auto;padding:0;margin:0 5px 0 0}.wpacu-script-attributes-area .wpacu-script-attributes-settings:hover{background:#f2faf2}tr.wpacu_location_changed>td{border-left:#004567 4px solid}tr.wpacu_not_load td,tr.wpacu_not_load th{background:#FFE1E1!important}tr.wpacu_not_load td .wpacu-assets-inline-code-wrap,tr.wpacu_not_load td .wpacu-script-attributes-area,tr.wpacu_not_load th .wpacu-assets-inline-code-wrap,tr.wpacu_not_load th .wpacu-script-attributes-area{filter:alpha(opacity=45);opacity:.45}.dashicons-wpacu{width:17px;height:17px;margin:2px 0 0;font-size:16px;text-decoration:none;color:inherit!important}.wpacu_widefat .check-column.wpacu_check{padding:10px}body[class*=wpassetcleanup] #footer-left{border-left:2px solid green;padding-left:10px}#wpassetcleanup_asset_list small{width:auto;float:none;display:inline}#wpacu_meta_box_content{width:99%}#wpacu_meta_box_content div.select select{max-width:inherit}#wpacu_meta_box_content .emoji{font-size:18px}#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,#wpacu_meta_box_content .dashicons.dashicons-wordpress-alt{color:#c00}#wpacu_meta_box_content .wpacu_verified{padding:10px;background-color:#f5f5f5;border-left:1px solid #ddd}#wpacu_meta_box_content .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_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_exception_options_area_wrap label.wpacu_bold span,.wpacu_load_regex_area_wrap label.wpacu_bold span,.wpacu_unload_regex_area_wrap label.wpacu_bold span{font-weight:600!important}.wpacu-updated-frontend span.dashicons-yes{color:#46b450;font-size:26px}#wpacu-update-front-settings-area{margin:10px 0;display:inline-block;position:relative}@media only screen and (min-width:768px){#wpacu-update-front-settings-area{position:-webkit-sticky;position:sticky;bottom:0;display:block;padding:15px 0;z-index:1000000;border-top:1px solid #cdcdcd;background:#fff}}#wpacu-updating-front-settings{display:none;position:absolute;top:20px;left:142px}.wpacu_load_regex_area_wrap label.wpacu_unload_checked span,.wpacu_unload_regex_area_wrap label.wpacu_unload_checked span{color:#d54e21}.wpacu_load_regex_area_wrap .wpacu_handle_unload_regex_input_wrap,.wpacu_unload_regex_area_wrap .wpacu_handle_unload_regex_input_wrap{margin:4px 0 0}.wpacu_load_regex_area_wrap .wpacu_handle_unload_regex_input_wrap input[type=text],.wpacu_unload_regex_area_wrap .wpacu_handle_unload_regex_input_wrap input[type=text]{line-height:normal;min-height:20px;min-width:300px;max-width:400px;display:inline-block;padding:4px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.wpacu_load_regex_area_wrap .wpacu_handle_unload_regex_input_wrap input[type=text].wpacu_disabled,.wpacu_unload_regex_area_wrap .wpacu_handle_unload_regex_input_wrap input[type=text].wpacu_disabled{background:#fbfafa!important;color:inherit}.wpacu_is_global_unloaded .wpacu_exception_options_area_wrap{display:inline-block}.wpacu_is_global_unloaded .wpacu_exception_options_area_wrap .wpacu_area_one,.wpacu_is_global_unloaded .wpacu_exception_options_area_wrap .wpacu_area_two,.wpacu_is_global_unloaded .wpacu_exception_options_area_wrap .wpacu_load_regex_input_wrap{display:block}.wpacu_exception_options_area_wrap{display:table;background:#fff!important}.wpacu_exception_options_area_wrap textarea{line-height:normal;min-height:20px;min-width:300px;max-width:400px;display:inline-block;padding:2px 4px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.wpacu_exception_options_area_wrap textarea:focus{width:100%}.wpacu_exception_options_area_wrap textarea.wpacu_disabled{background:#fbfafa!important;color:inherit}.wpacu_exception_options_area_wrap p:first-of-type{margin-top:0}.wpacu_exception_options_area_wrap .wpacu_area_one{display:table-cell;vertical-align:top;padding-right:10px}.wpacu_exception_options_area_wrap .wpacu_area_two{display:table-cell}@media only screen and (max-width:1199px){.wpacu_exception_options_area_wrap,.wpacu_exception_options_area_wrap .wpacu_area_one,.wpacu_exception_options_area_wrap .wpacu_area_two{display:block}}#wpacu_meta_box_content .wpacu_widefat{width:100%}#wpacu_meta_box_content .wpacu-assets-collapsible-content{padding:0 10px!important}#wpacu_meta_box_content ul.wpacu_asset_options{vertical-align:middle}#wpacu_meta_box_content ul.wpacu_asset_options.wpacu_exception_options_area li{display:inline-block;float:left;margin:1px 25px 1px 0;line-height:20px}#wpacu_meta_box_content ul.wpacu_asset_options.wpacu_exception_options_area li:last-of-type{margin:1px 0}#wpacu_meta_box_content ul.wpacu_asset_options.wpacu_exception_options_area li input[type=text]{margin-left:5px;border:1px solid #e7e7e7;background:#fff}#wpacu_wrap_assets,.wpacu_striped>tbody>:nth-child(even),ul.wpacu_striped>:nth-child(even){background-color:#fff!important}#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}#wpacu_wrap_assets div.wpacu_warning{border:1px solid #c00;padding:5px 10px}#wpacu_wrap_assets small{display:inline!important;margin:0!important;letter-spacing:normal!important}#wpacu_wrap_assets input[type=checkbox]{width:auto!important;margin-right:4px!important}#wpacu_wrap_assets img:not(.wpacu-ajax-loader){display:inline-block!important}#wpacu_wrap_assets p{line-height:22px!important;margin:10px 0!important;text-align:left!important;font-weight:400!important}#wpacu_wrap_assets p:first-child{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_wrap_assets ul.wpacu_asset_options.wpacu_exception_options_area li{display:inline-block;float:left;margin:1px 25px 1px 0;line-height:30px}#wpacu_wrap_assets ul.wpacu_asset_options.wpacu_exception_options_area li:last-of-type{margin:1px 0}.wpacu_verified{margin:0 0 10px!important}.wpacu_asset_row div.select{display:inline-block;width:auto}.wpacu_asset_row:first-child td{border-top:1px solid #cdcdcd}.wpacu_asset_row td{border-left:1px solid #cdcdcd;border-right:1px solid #cdcdcd;border-bottom:1px solid #cdcdcd}.wpacu_asset_row.wpacu_notice_row td{position:relative;padding:5px;border-bottom:1px solid transparent}.wpacu_asset_row.wpacu_notice_row td div.wpacu-warning{width:auto;margin:5px;font-style:italic}.wpacu_asset_row:not(.wpacu_notice_row) td{padding:18px!important;position:relative}.wpacu_asset_row:not(.wpacu_notice_row) td[data-wpacu-row-status=contracted]{padding:18px 18px 8px!important}.wpacu_asset_row:not(.wpacu_notice_row) td.wpacu_selected,.wpacu_asset_row:not(.wpacu_notice_row) td:hover{-moz-box-shadow:inset 0 0 12px #cdcdcd;-webkit-box-shadow:inset 0 0 12px #cdcdcd;box-shadow:inset 0 0 12px #cdcdcd}.wpacu_asset_row:not(.wpacu_notice_row) td p{padding:0!important;margin-bottom:8px!important;word-wrap:break-word!important;-ms-word-break:break-all;word-break:break-word}.wpacu_asset_row:not(.wpacu_notice_row) td label{width:auto!important;margin:0!important;cursor:pointer!important;display:inline-block!important;font-size:100%!important;font-weight:400!important}.wpacu_asset_row:not(.wpacu_notice_row) td label span:not(.dashicons){font-size:100%!important}.wpacu_asset_row:not(.wpacu_notice_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,.wpacu_asset_row .dashicons-wordpress-alt{color:red!important}.wpacu_asset_row .dashicons-wordpress-alt{font-size:17px;vertical-align:middle}label.wpacu_add_global{cursor:pointer!important}label.wpacu_input_load_checked{font-weight:700;color:#d54e21}label.wpacu_global_unload_exception{font-weight:700!important}tr.wpacu_bulk_change_row.wpacu_selected,tr.wpacu_global_rule_row.wpacu_selected,tr.wpacu_remove_preload_row.wpacu_selected{background:#e7e7e7}.nav-tab-wrapper{border-bottom:1px solid #ccc;width:95%}.nav-tab-wrapper.nav-assets-manager .nav-tab{font-size:13px;font-weight:500;padding:6px 10px}.nav-tab-wrapper.nav-assets-manager .nav-tab.for-pro{padding:6px 8px 6px 3px}ul.wpacu_asset_options{margin:0 10px 0 0;padding:0}ul.wpacu_asset_options li{margin:0 10px 0 0;list-style:none;display:inline-block;line-height:normal}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{width:100%;font-weight:400}.wpacu_list_table div,.wpacu_list_table li,.wpacu_list_table p{font-weight:400}.wpacu_widefat{width:99%}.wpacu_striped>tbody>:nth-child(odd),ul.wpacu_striped>:nth-child(odd){background-color:#f9f9f9!important}.wpacu_update_btn{width:auto;-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;cursor:pointer!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.wpacu_submitting,.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.wpacu_submitting{cursor:default!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=button].btn-block,.wpacu-btns input[type=reset].btn-block,.wpacu-btns input[type=submit].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;text-decoration:none}.wpacu-restore-pos-btn{font-size:14px!important;line-height:normal!important;height:42px!important;padding:0 18px!important;margin-top:10px!important}body.wp-admin .wpacu_asset_row .go-pro-link-no-style .wpacu-tooltip{padding:8px 2px}body.wp-admin .go-pro-link-no-style .wpacu-tooltip{text-shadow:none;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 .wpacu-tooltip,.wordpress-core-file .wpacu-tooltip{line-height:18px;width:160px;color:#fff;text-align:center;font-size:14px;z-index:1}.go-pro-link-no-style:not(.nav-tab){font-style:italic}.go-pro-link-no-style.no-transition .wpacu-tooltip{-webkit-transition:0s all ease;transition:0s all ease;-webkit-transition-delay:0s;transition-delay:0s}.go-pro-link-no-style>img{max-width:20px;max-height:20px}.go-pro-link-no-style .wpacu-tooltip{position:absolute;visibility:hidden;background-color:#00a7a7;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:.1s all ease;transition:.1s all ease;-webkit-transition-delay:0s;transition-delay:0s}.go-pro-link-no-style .wpacu-tooltip:after{content:"";position:absolute;border-width:10px;border-style:solid;top:100%;left:50%;left:calc(50% - 10px);border-color:#00a7a7 transparent transparent}.go-pro-link-no-style .wpacu-tooltip.wpacu-on-pages-btn{cursor:pointer;margin-left:-77px;width:130px}.go-pro-link-no-style .wpacu-tooltip.wpacu-larger{width:240px}.go-pro-link-no-style:hover .wpacu-tooltip{visibility:visible}.wpacu_list_table tr:first-child .wordpress-core-file .wpacu-tooltip{bottom:-40px;left:120px;margin-left:-86px}.wpacu_list_table tr:first-child .wordpress-core-file .wpacu-tooltip:after{top:41px;left:-20px;border-color:transparent #c00 transparent transparent}.wordpress-core-file{position:relative;font-style:normal;color:inherit}.wordpress-core-file .wpacu-tooltip{position:absolute;visibility:hidden;background-color:#c00;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:.1s all ease;transition:.1s all ease;-webkit-transition-delay:0s;transition-delay:0s}.wordpress-core-file .wpacu-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 .wpacu-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-notice-info{padding:12px 12px 12px 16px;background:#fff;border-left:4px solid #008f9c}.wpacu-notice-info p{margin-top:8px}.wpacu-notice-info p:first-child{margin-top:0}.wpacu-notice-info p:last-child{margin-bottom:0}.wpacu-warning{font-size:15px;padding:10px;background:#fffcec;border:1px solid #fdd5c9;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;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-dom-get-type-selections,.wpacu-radio-selections{float:none;clear:both;width:auto;display:inline-block;margin-bottom:0;margin-top:0}#wpacu-dom-get-type-selections.wpacu-vertical,.wpacu-radio-selections.wpacu-vertical{display:block;margin-top:15px;margin-bottom:18px}#wpacu-dom-get-type-selections.wpacu-vertical li,.wpacu-radio-selections.wpacu-vertical li{float:none;margin-bottom:12px}#wpacu-dom-get-type-selections.wpacu-vertical li:last-child,.wpacu-radio-selections.wpacu-vertical li:last-child{margin-bottom:0}#wpacu-dom-get-type-selections li,.wpacu-radio-selections li{margin-right:30px;float:left;margin-bottom:0}#wpacu-dom-get-type-selections li:first-child,.wpacu-radio-selections li:first-child{margin-right:15px}#wpacu-dom-get-type-selections li:last-child,.wpacu-radio-selections li:last-child{margin-right:0}.wpacu_combine_loaded_js_level_area{display:none;background:0 0;border-left:2px solid #008f9c;padding-top:8px;padding-bottom:8px;padding-right:10px;padding-left:10px;margin:20px 0 15px}.wpacu_combine_loaded_js_level_area.wpacu_active{display:block}#wpacu-dom-get-type-infos{margin-bottom:0}#wpacu-dom-get-type-infos li{margin-bottom:0;line-height:20px}.wpacu-wrap li,.wpacu-wrap p,.wpacu-wrap td{font-weight:400}.wpacu-wrap small{width:auto;float:none;display:inline}.wpacu-wrap small code{font-size:inherit!important}.wpacu-wrap.wpacu-settings-show-all .wpacu-settings-tab-content{display:block;width:100%}.wpacu-wrap.wpacu-settings-show-all .wpacu-settings-area-title{color:#004567;padding:16px 15px;background:#f8f8f8;border-left:5px solid #004567b0;border-top:1px solid #e7e7e7;border-right:1px solid #e7e7e7;border-bottom:1px solid #e7e7e7;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;font-size:1.45em;font-weight:500}.wpacu-wrap.wpacu-settings-show-all #wpacu-update-button-area,.wpacu-wrap.wpacu-settings-show-all #wpacu-update-button-area .submit{margin:0}.wpacu-wrap.wpacu-settings-show-all #wpacu-update-button-area .button{padding:11px 28px;height:38px;font-size:18px}.wpacu-wrap.wpacu-settings-show-all #wpacu-updating-settings{margin-left:224px;top:35px;left:3px}.wpacu-wrap.wpacu-switch-standard .asset-cleanup-pro_page_wpassetcleanup_settings .wpacu_switch,.wpacu-wrap.wpacu-switch-standard .asset-cleanup_page_wpassetcleanup_settings .wpacu_switch{width:auto;height:auto}.wpacu-wrap.wpacu-switch-standard .asset-cleanup-pro_page_wpassetcleanup_settings .wpacu_switch input,.wpacu-wrap.wpacu-switch-standard .asset-cleanup_page_wpassetcleanup_settings .wpacu_switch input{display:block}.wpacu-wrap.wpacu-switch-standard .asset-cleanup-pro_page_wpassetcleanup_settings .wpacu_switch input[type=checkbox],.wpacu-wrap.wpacu-switch-standard .asset-cleanup_page_wpassetcleanup_settings .wpacu_switch input[type=checkbox]{margin:0 0 3px}.wpacu-wrap.wpacu-switch-standard .asset-cleanup-pro_page_wpassetcleanup_settings .wpacu_switch .wpacu_slider,.wpacu-wrap.wpacu-switch-standard .asset-cleanup_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_disabled,.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_locked_for_pro{opacity:.3}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_disabled:before{content:"";font-family:Dashicons,Arial,"Times New Roman","Bitstream Charter",Times,serif;position:absolute;font-size:23px;top:5px;right:2px;z-index:1000}.asset-cleanup-pro_page_wpassetcleanup_settings .setting_title p.wpacu_subtitle,.asset-cleanup_page_wpassetcleanup_settings .setting_title p.wpacu_subtitle{margin-top:4px;line-height:1.4}.asset-cleanup-pro_page_wpassetcleanup_settings .setting_title p.wpacu_subtitle em,.asset-cleanup_page_wpassetcleanup_settings .setting_title p.wpacu_subtitle em{font-weight:200}.asset-cleanup-pro_page_wpassetcleanup_settings .setting_title p.wpacu_read_more,.asset-cleanup_page_wpassetcleanup_settings .setting_title p.wpacu_read_more{margin-top:-10px;font-style:italic;font-size:12px}.asset-cleanup-pro_page_wpassetcleanup_settings .assets_list_inline_code_status_choices,.asset-cleanup-pro_page_wpassetcleanup_settings .assets_list_layout_areas_status_choices,.asset-cleanup-pro_page_wpassetcleanup_settings .input_style_choices,.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-pro_page_wpassetcleanup_settings .assets_list_inline_code_status_choices li,.asset-cleanup-pro_page_wpassetcleanup_settings .assets_list_layout_areas_status_choices li,.asset-cleanup-pro_page_wpassetcleanup_settings .input_style_choices li,.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-pro_page_wpassetcleanup_settings .assets_list_inline_code_status_choices li:last-child,.asset-cleanup-pro_page_wpassetcleanup_settings .assets_list_layout_areas_status_choices li:last-child,.asset-cleanup-pro_page_wpassetcleanup_settings .input_style_choices li:last-child,.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-assets-list-by-location-selected{background:0 0;border:1px solid #e7e7e7;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;padding:8px;clear:both}.notice.notice-success+.wpacu-wrap.wpacu-settings-area{margin-top:20px}.wpacu-license-action-btn-area{margin-top:0;position:relative;display:inline-block}.wpacu-license-spinner{display:none;position:absolute;right:-30px;top:4px}.wpacu-license-spinner img{width:20px;height:20px}#wpacu-activation-issues-info{border-radius:10px;width:90%;margin-top:20px;font-size:14px;padding:6px 20px;background:#fff;border:1px solid #e7e7e7}#wpacu-activation-issues-info ol li{font-size:13px;margin-bottom:10px}#wpacu-mark-license-area-wrap{margin:15px 0}.wpacu-form-table.wpacu-license th{width:120px}.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}.wpacu-form-table .wpacu-fancy-checkbox input[type=checkbox],.wpacu-form-table label input[type=checkbox]{height:20px;width:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.wpacu-form-table .wpacu-fancy-checkbox input[type=checkbox]:checked,.wpacu-form-table .wpacu-fancy-checkbox input[type=checkbox]:hover,.wpacu-form-table label input[type=checkbox]:checked,.wpacu-form-table label input[type=checkbox]:hover{border:1px solid green}.wpacu-form-table .wpacu-fancy-checkbox input[type=checkbox]:disabled,.wpacu-form-table label input[type=checkbox]:disabled{border:none}.wpacu-form-table .wpacu-fancy-checkbox input[type=checkbox]:disabled:checked,.wpacu-form-table label input[type=checkbox]:disabled:checked{opacity:.3}.wpacu-form-table .wpacu-fancy-checkbox input[type=checkbox]:checked:before,.wpacu-form-table label input[type=checkbox]:checked:before{color:#52af00;font:400 24px/1 dashicons}.wpacu-form-table .wpacu-fancy-radio input[type=radio]{-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;position:relative;height:20px;width:20px;margin:2px 0 0}.wpacu-form-table .wpacu-fancy-radio input[type=radio]:checked,.wpacu-form-table .wpacu-fancy-radio input[type=radio]:hover{border:1px solid green}.wpacu-form-table .wpacu-fancy-radio input[type=radio]:checked:before{margin:0;line-height:inherit;text-indent:inherit;content:"";position:absolute;top:4px;left:4px;width:10px;height:10px;border-radius:50%;background:#52af00;color:#52af00;font:400 24px/1 dashicons}#wpacu-settings-vertical-tab-wrap{display:table;width:100%}#wpacu-settings-vertical-tab-wrap .wpacu-tab-extra-text{margin:4px 0 0}#wpacu-settings-vertical-tab-wrap .wpacu-tab-extra-text small{font-weight:lighter}#wpacu-settings-vertical-tab-wrap .wpacu-tab-extra-text small span.wpacu-status-wrap{position:relative;padding-left:14px}#wpacu-settings-vertical-tab-wrap .wpacu-tab-extra-text small span.wpacu-status-wrap span.wpacu-circle-status{position:absolute;left:0;top:2px;height:10px;width:10px;border-radius:50%;display:inline-block;opacity:.75}#wpacu-settings-vertical-tab-wrap .wpacu-tab-extra-text small span.wpacu-status-wrap span.wpacu-circle-status.wpacu-on{background:#52af00}#wpacu-settings-vertical-tab-wrap .wpacu-tab-extra-text small span.wpacu-status-wrap span.wpacu-circle-status.wpacu-off{background:#ccc}#wpacu-settings-vertical-tab-wrap *{box-sizing:border-box}.wpacu-settings-tab{display:table-cell;width:20%;height:100%;vertical-align:top}.wpacu-settings-tab a{text-decoration:none;border-left:3px solid transparent;display:block;background-color:#f1f1f1;color:#004567;padding:17px 16px;width:100%;outline:0;text-align:left;cursor:pointer;font-size:14px;font-weight:600;border-bottom:1px solid #ccc}.wpacu-settings-tab a:first-child{border-top:1px solid transparent!important}.wpacu-settings-tab a:last-child{border-bottom:1px solid transparent!important}.wpacu-settings-tab a:hover{background-color:#fff;border-left:3px solid #004567;position:relative}.wpacu-settings-tab a.active{color:#004567;background-color:#fff;border-left:3px solid #004567;position:relative;border-bottom:1px solid #ccc}.wpacu-settings-tab a.active:after{content:"";position:absolute;height:100%;width:1px;top:0;right:-1px;background-color:#fff}.wpacu-settings-tab-content{background-color:#fff;display:none;padding:12px 18px;width:79%;border-left:none;height:100%;border-top-right-radius:10px;border-bottom-right-radius:10px}.wpacu-settings-tab-content h2{padding:0 0 15px;border-bottom:1px solid #e7e7e7}.wpacu-settings-tab-content.active{display:table-cell}#wpacu_minify_css_exceptions_area,#wpacu_minify_js_exceptions_area{margin:16px 0 0}@media only screen and (min-width:768px){body.asset-cleanup-pro_page_wpassetcleanup_assets_manager #wpacu-update-button-area,body.asset-cleanup_page_wpassetcleanup_assets_manager #wpacu-update-button-area{position:-webkit-sticky;position:sticky;bottom:0;padding:0;z-index:1000000;border-top:1px solid #cdcdcd;background:#f1f1f1}.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}}body[class*=version-5-3] #wpacu-update-button-area .button{height:auto;padding:4px 18px 6px;font-size:15px}body[class*=version-5-3] #wpacu-updating-settings{margin-left:178px}#wpacu-update-button-area{position:relative;margin-left:20%}#wpacu-update-button-area.no-left-margin{margin-left:0}#wpacu-update-button-area .submit{margin:0;padding:19px 0}#wpacu-update-button-area .button{padding:5px 18px;height:38px;font-size:15px}#wpacu-updating-settings{position:absolute;margin-left:183px;top:28px;display:none}#combine_loaded_js_info_area{position:relative}#combine_loaded_js_info_area.locked-for-pro:before{position:absolute;content:"";height:100%;width:100%;background:#fff;opacity:.5;z-index:10000}.google_fonts_load_types{clear:both;margin:20px 0 15px;display:flex}.google_fonts_load_types>div{text-align:left}.google_fonts_load_types>div input{float:left;margin:0 7px 20px 0!important}.wpacu-sub-tabs-wrap{min-width:320px;margin:0 auto}.wpacu-sub-tabs-wrap input.wpacu-nav-input{display:none}.wpacu-sub-tabs-wrap label.wpacu-nav-label{display:inline-block;margin:0 0 -1px;padding:15px 25px;font-weight:600;text-align:center;color:#74777b;border-left:1px solid transparent;border-right:1px solid transparent;border-top:3px solid transparent;border-bottom:0}.wpacu-sub-tabs-wrap label.wpacu-nav-label:hover{cursor:pointer}.wpacu-sub-tabs-wrap input.wpacu-nav-input:checked+label.wpacu-nav-label{color:#004567;border-left:1px solid #ccc;border-right:1px solid #ccc;border-top:3px solid #004567;border-bottom:1px solid #fff}.wpacu-sub-tabs-wrap section{display:none;padding:20px 0 0;border-top:1px solid #ccc}#wpacu-google-fonts-optimize-tab-item:checked~#wpacu-google-fonts-optimize-tab-item-area,#wpacu-google-fonts-remove-tab-item:checked~#wpacu-google-fonts-remove-tab-item-area{display:block}body.wp-admin .wpacu-handle-notes p{margin-top:0!important}body.wp-admin .wpacu-handle-notes p a{font-size:inherit}body.wp-admin .wpacu-handle-notes p a span.dashicons{font-size:19px;width:19px;height:19px;vertical-align:bottom;text-decoration:none}.wpacu-handle-notes{padding-top:5px;margin-bottom:-10px;border-top:1px solid #e7e7e7}.wpacu-handle-notes .wpacu-handle-notes-field{display:none}.wpacu-handle-notes .wpacu-handle-notes-field>textarea{font-size:85%;padding:6px;width:320px;max-width:100%}.wpacu-handle-notes p{margin:10px 0 0!important}.wpacu-handle-notes p a.wpacu-add-handle-note{text-decoration:none;font-size:80%;display:inline-block;color:inherit}.wpacu-handle-notes p a.wpacu-add-handle-note span.dashicons{font-size:18px;width:18px;height:18px}.wrap_bulk_unload_options{width:auto;display:block;clear:both}.wrap_bulk_unload_options .wpacu_asset_options_wrap{display:inline-block;float:left;margin:5px 10px 14px 0!important;padding:8px 10px 12px!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;min-width:52px;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:.15s;transition:.15s}.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:.15s;transition:.15s}.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_switch.wpacu_disabled{opacity:.3}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_switch.wpacu_disabled:before{content:"";font-family:Dashicons,Arial,"Times New Roman","Bitstream Charter",Times,serif;position:absolute;font-size:23px;top:1px;right:2px;z-index:1000}.wpacu-switch-enhanced .wpacu_asset_row .wpacu_slider_text{position:absolute;left:62px;top:3px}.wpacu-wrap{width:98%}.wpacu-wrap tr.wpacu_regex_rule_row{opacity:.45}.wpacu-wrap tr.wpacu_regex_rule_row textarea{line-height:normal;min-height:20px;min-width:400px;display:inline-block;padding:2px 4px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.wpacu-wrap tr.wpacu_regex_rule_row textarea:focus{width:100%}.wpacu-wrap tr.wpacu_regex_rule_row.wpacu_enabled{opacity:1}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small{position:relative;display:inline-block;min-width:30px;width:30px;height:17px;margin-right:5px!important}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small input{display:none}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small .wpacu_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;-webkit-transition:.15s;transition:.15s}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small .wpacu_slider:before{position:absolute;content:"";height:13px;width:13px;left:2px;bottom:2px;background-color:#fff;-webkit-transition:.15s;transition:.15s}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small input:checked+.wpacu_slider{background-color:#52af00}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small input:focus+.wpacu_slider{box-shadow:0 0 1px #52af00}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small input:checked+.wpacu_slider:before{-webkit-transform:translateX(13px);-ms-transform:translateX(13px);transform:translateX(13px)}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small .wpacu_slider.wpacu_round{border-radius:17px}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch_small .wpacu_slider.wpacu_round:before{border-radius:50%}.editor-post-saved-state.is-wpacu-reloading{animation:edit-post__loading-fade-animation .5s infinite}body.wp-admin tr.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract .dashicons{width:19px;height:19px;font-size:19px}body.wp-admin tr.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:before{right:20px;top:-2px}body.wp-admin tr.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:after{left:20px;top:-2px}body.wp-admin tr.wpacu_asset_row.wpacu-loading{position:relative}body.wp-admin tr.wpacu_asset_row.wpacu-loading .wpacu-ajax-loader{display:block!important}body.wp-admin tr.wpacu_asset_row .wpacu-ajax-loader{display:none;width:58px;height:58px;position:absolute;bottom:0;right:0;opacity:.75}.wpacu_asset_row.wpacu_not_load .wpacu_dependency_notice_area em{color:#c00}.wpacu_asset_row .wpacu-hardcoded-code-area{margin:0}.wpacu_asset_row .wpacu-hardcoded-code-area span.wpacu_inside_cond_comm{display:block;margin-bottom:8px}.wpacu_asset_row .wpacu-hardcoded-code-area .wpacu-has-view-more{max-height:300px;position:relative;overflow:hidden}.wpacu_asset_row .wpacu-hardcoded-code-area .wpacu-has-view-more p.wpacu-view-more-link-area{position:absolute;bottom:0;left:0;width:100%;margin:0;padding:20px 0 15px 15px;background:linear-gradient(to bottom,rgba(255,255,255,0) 0,#fbfbfb8c 100%);background:-webkit-linear-gradient(top,rgba(255,255,255,0) 0,#fbfbfb8c 100%)}.wpacu_asset_row .wpacu-hardcoded-code-area pre{margin:0;padding:0 0 8px;white-space:pre-wrap;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.wpacu_asset_row .wpacu-hardcoded-code-area code{color:inherit;font-style:italic;margin-left:2px;word-break:break-word}.wpacu_asset_row[data-is-hardcoded-asset=true] .wpacu-source-row{margin-top:0}.wpacu_asset_row[data-is-hardcoded-asset=true] .wpacu_handle_row_expand_contract_area{right:18px;top:18px;background:inherit;z-index:100}.wpacu_asset_row>td{overflow-wrap:break-word;word-wrap:break-word;-ms-word-break:break-all;word-break:break-all}.wpacu_asset_row>td[data-wpacu-row-status=expanded] .wpacu_file_size_area{margin:10px 0}.wpacu_asset_row>td[data-wpacu-row-status=expanded] .wpacu_hardcoded_part_if_contracted{display:none}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_hardcoded_part_if_contracted,.wpacu_asset_row>td[data-wpacu-row-status=expanded] .wpacu_hardcoded_part_if_expanded{display:block}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_file_size_area{margin:0}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_hardcoded_part_if_contracted code{width:100%}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_hardcoded_part_if_expanded{display:none}.wpacu_asset_row>td div.wpacu_dependency_notice_area{line-height:22px;margin:10px 0;text-align:left!important;font-weight:400!important}.wpacu_asset_row>td div.wpacu-source-row{margin-top:12px}.wpacu_asset_row>td .wpacu_hide_if_handle_row_contracted{display:inline-block}.wpacu_asset_row>td[data-wpacu-row-status=contracted]>div{float:left;margin-top:0;margin-right:20px;margin-bottom:10px}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_hide_if_handle_row_contracted{display:none}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract{transition:none}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:focus,.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:focus-visible,.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:visited{text-decoration:none;border:none}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:after,.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:before{opacity:0;-webkit-transition:-webkit-transform .3s,opacity .2s;-moz-transition:-moz-transform .3s,opacity .2s;transition:transform .3s,opacity .2s}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:before{position:absolute;right:20px;top:-4px;content:"[";-webkit-transform:translateX(20px);-moz-transform:translateX(20px);transform:translateX(20px)}.wpacu_asset_row>td[data-wpacu-row-status=contracted] .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:after{position:absolute;left:20px;top:-4px;content:"]";-webkit-transform:translateX(-20px);-moz-transform:translateX(-20px);transform:translateX(-20px)}.wpacu_asset_row>td[data-wpacu-row-status=contracted].wpacu_hovered .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:focus .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:hover .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract{transition:none}.wpacu_asset_row>td[data-wpacu-row-status=contracted].wpacu_hovered .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:hover,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:focus .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:hover,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:hover .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:hover{color:green}.wpacu_asset_row>td[data-wpacu-row-status=contracted].wpacu_hovered .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:after,.wpacu_asset_row>td[data-wpacu-row-status=contracted].wpacu_hovered .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:before,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:focus .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:after,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:focus .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:before,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:hover .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:after,.wpacu_asset_row>td[data-wpacu-row-status=contracted]:hover .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:before{opacity:1;-webkit-transform:translateX(0);-moz-transform:translateX(0);transform:translateX(0)}.wpacu_asset_row .wpacu_handle_row_expand_contract_area{position:absolute;right:20px;top:20px;float:none!important;margin:0!important}.wpacu_asset_row .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract{color:#000;text-decoration:none}.wpacu_asset_row .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract:hover{text-decoration:none}.wpacu_asset_row input{width:auto;height:auto;min-height:16px}.wpacu_asset_row .tip{background:inherit;border-left:4px solid #e7e7e7;margin:10px 0;padding:7px;font-style:italic;font-size:small;line-height:1.4}.wpacu_asset_row td{width:100%;text-align:left}.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 div.wpacu_handle{margin:0 0 -8px}.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{display:table;content:""}.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{clear:both;height:0}.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-wp-button:hover{background:#fafafa;border-color:#999;color:#23282d}.distinguish-asset-list{list-style:none;margin-left:0;margin-bottom:5px;display:inline-block}.distinguish-asset-list li{float:left;margin-right:20px}.distinguish-asset-list li:last-child{margin-right:0}body[class*=asset-cleanup-pro] a.wpacu-plugin-contracted-wrap-link{padding:16px 6px 16px 41px!important}body[class*=asset-cleanup-pro] .wpacu-area-open .wpacu-plugin-toggle-all{font-size:12px!important;width:calc(100% - 26px)!important}body.wp-admin .wpacu-area-expanded .wpacu-plugin-toggle-all{top:5px}body.wp-admin .wpacu-area-expanded .wpacu-plugin-toggle-all ul li{font-size:12px!important}.wpacu-assets-collapsible-wrap{border:1px solid #cdcdcd}.wpacu-assets-collapsible-wrap.wpacu-by-location{margin-bottom:15px}.wpacu-assets-collapsible-wrap.wpacu-wrap-all{margin-top:20px}.wpacu-assets-collapsible-wrap.wpacu-wrap-area{margin-top:10px}.wpacu-assets-collapsible-wrap.wpacu-by-location>a.wpacu-assets-collapsible{padding:15px 15px 15px 43px}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu_list_table{border-width:0;margin:0;border-spacing:inherit;width:100%;box-shadow:3px 3px 2px #ddd;border-bottom-right-radius:5px;border-top-right-radius:5px}.wpacu-assets-collapsible-wrap.wpacu-by-location span.wpacu-child-location-name{font-weight:600}.wpacu-assets-collapsible-wrap.wpacu-by-location span.wpacu-child-location-version{font-weight:200}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-location-child-area[data-wpacu-plugin=oxygen] .icon-area{border-radius:50%}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-location-child-area .wpacu-plugin-toggle-all-wrap .wpacu-plugin-toggle-all{display:inline-block;padding:0;font-size:13px;width:100%;width:calc(100% + 46px);min-width:250px;position:absolute;left:100%;left:calc(100% + 6px);margin:0;top:4px}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-location-child-area .wpacu-plugin-toggle-all-wrap .wpacu-plugin-toggle-all ul{display:inline-block;margin:0;list-style:none;padding-left:13px;padding-top:0}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-location-child-area .wpacu-plugin-toggle-all-wrap .wpacu-plugin-toggle-all ul li{padding:0;margin:0;line-height:normal;font-size:14px}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-location-child-area .wpacu-plugin-toggle-all-wrap .wpacu-plugin-toggle-all ul li:first-child{font-style:italic;margin-bottom:5px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-themes .wpacu-assets-collapsible-content>table:last-child{margin-bottom:20px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-themes .wpacu-assets-collapsible-content .wpacu-location-child-area .wpacu-area-title{display:inline;position:relative;z-index:1}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-themes .wpacu-assets-collapsible-content .wpacu-location-child-area .wpacu-area-title:after{content:"";position:absolute;width:100%;left:0;bottom:0;height:1px;background-color:#fdfdfd}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content .wpacu-plugin-assets-wrap{padding:0 0 10px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content .wpacu-plugin-assets-wrap.wpacu-area-open.wpacu-plugin-assets-last{margin-bottom:18px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content .wpacu-plugin-assets-wrap.wpacu-area-open .wpacu-plugin-toggle-all-wrap .wpacu-plugin-toggle-all{display:inline-block;padding:7px 12px 8px;font-size:14px;width:100%;text-align:left;border-left:1px solid #cdcdcd;border-right:1px solid #cdcdcd}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content .wpacu-plugin-assets-wrap.wpacu-area-open .wpacu-plugin-toggle-all-wrap .wpacu-plugin-toggle-all+.wpacu-plugin-toggle-all{padding:2px 12px 10px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link{color:inherit;text-decoration:none;font-weight:inherit;font-style:inherit;font-size:105%;line-height:initial;height:auto;margin:14px 0 0;padding:13px 6px 14px 39px;position:relative;display:block}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link:after{position:absolute;font-size:18px;font-family:Dashicons;right:12px;top:14px;content:""}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link.wpacu-link-open:after{content:""}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link.wpacu-link-closed{border:1px solid #cdcdcd}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link:hover{border:1px solid #878787;background:#f9f9f9}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link:hover.wpacu-link-closed{box-shadow:3px 3px 2px #ddd}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link.wpacu-link-open{border-top:1px solid #cdcdcd;border-left:1px solid #cdcdcd;border-right:1px solid #cdcdcd;border-bottom:none}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link.wpacu-link-closed.wpacu-last-wrap-link{margin-bottom:20px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link .icon-plugin-default{top:10px;left:10px;width:30px;height:30px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link .icon-plugin-default .icon-area{width:30px;height:30px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link .icon-plugin-default .icon-area:before{font-size:22px;line-height:22px;top:4px;left:5px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link .wpacu-area-title{position:relative;padding:17px 10px 16px 46px;z-index:1}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link .wpacu-area-title:after{content:"";position:absolute;width:100%;left:0;bottom:0;height:1px;background-color:#fdfdfd}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content a.wpacu-plugin-contracted-wrap-link.wpacu-area-last{margin-bottom:18px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content .wpacu-area-open{padding:0;max-height:100%}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content .wpacu-area-closed{padding:0;overflow:hidden;max-height:0}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-plugins .wpacu-assets-collapsible-content>table:last-child{margin-bottom:20px}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-themes .wpacu-assets-collapsible-content .wpacu-location-child-area .wpacu-area-title{margin-top:0;margin-bottom:-1px;padding:14px 10px 16px 12px!important}.wpacu-assets-collapsible-wrap.wpacu-by-location.wpacu-themes .wpacu-assets-collapsible-content .wpacu-location-child-area .wpacu-area-title.wpacu-theme-has-icon{padding:18px 10px 16px 58px!important}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-assets-collapsible-content .wpacu-location-child-area{margin-top:22px;margin-bottom:-1px;font-size:110%;line-height:initial}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-assets-collapsible-content .wpacu-location-child-area.wpacu-location-child-area-first{margin-top:2px}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-assets-collapsible-content .wpacu-location-child-area.wpacu-area-expanded .wpacu-area-title{display:inline-block;z-index:1;padding:17px 10px 16px 46px}.wpacu-assets-collapsible-wrap.wpacu-by-location .wpacu-assets-collapsible-content .wpacu-location-child-area .wpacu-area-title{display:inline;border-top-right-radius:8px;border-top-left-radius:8px;background-color:#f9f9f9;border-left:1px solid #cdcdcd;border-top:1px solid #cdcdcd;border-bottom:1px solid transparent;border-right:1px solid #cdcdcd;position:relative}.wpacu-assets-collapsible-wrap.wpacu-by-location .icon-plugin-default{position:absolute;padding:0;top:10px;left:10px;width:37px;height:37px}.wpacu-assets-collapsible-wrap.wpacu-by-location .icon-plugin-default:not(.has-icon){color:#b4b9be;background-color:#eee;box-shadow:inset 0 0 10px rgba(160,165,170,.15);-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.wpacu-assets-collapsible-wrap.wpacu-by-location .icon-plugin-default:not(.has-icon) .icon-area:before{content:"";font-family:Dashicons;position:absolute;font-size:28px;line-height:28px;top:5px;left:5px}.wpacu-assets-collapsible-wrap.wpacu-by-location .icon-plugin-default .icon-area{position:relative;width:37px;height:37px}.wpacu-assets-collapsible-wrap.wpacu-by-location .icon-theme{position:absolute;padding:0;top:10px;left:10px;width:37px;height:37px}.wpacu-assets-collapsible-wrap.wpacu-by-location .icon-theme .icon-area{position:relative;width:37px;height:37px}.wpacu-assets-collapsible-wrap.wpacu-wp_core{border:1px solid #c00}.wpacu-assets-collapsible-wrap.wpacu-external .wpacu-assets-collapsible-content,.wpacu-assets-collapsible-wrap.wpacu-wp_core .wpacu-assets-collapsible-content{padding:0}.wpacu-assets-collapsible-wrap.wpacu-external .wpacu-assets-collapsible-content .wpacu_list_table,.wpacu-assets-collapsible-wrap.wpacu-wp_core .wpacu-assets-collapsible-content .wpacu_list_table{width:100%;margin:0}.wpacu-assets-collapsible-wrap.wpacu-external .wpacu-assets-collapsible-content .wpacu_list_table .wpacu_asset_row td,.wpacu-assets-collapsible-wrap.wpacu-wp_core .wpacu-assets-collapsible-content .wpacu_list_table .wpacu_asset_row td{border-left:hidden;border-right:hidden;border-bottom:1px solid #cdcdcd}.wpacu-assets-collapsible-wrap.wpacu-external .wpacu-assets-collapsible-content .wpacu_list_table .wpacu_asset_row:last-child,.wpacu-assets-collapsible-wrap.wpacu-wp_core .wpacu-assets-collapsible-content .wpacu_list_table .wpacu_asset_row:last-child{margin-bottom:0!important}.wpacu-assets-collapsible-wrap.wpacu-external .wpacu-assets-collapsible-content .wpacu_list_table .wpacu_asset_row:last-child td:last-child,.wpacu-assets-collapsible-wrap.wpacu-wp_core .wpacu-assets-collapsible-content .wpacu_list_table .wpacu_asset_row:last-child td:last-child{border-bottom:hidden}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:hover{background-color:#f1f3f8;text-decoration:none}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:""}a.wpacu-assets-collapsible.wpacu-assets-collapsible-active{background-color:#f1f3f8}a.wpacu-assets-collapsible.wpacu-assets-collapsible-active:after{content:""}.wpacu-assets-collapsible-content{padding:0 16px;max-height:0;overflow:hidden;background-color:#fbfbfb8c}.wpacu-assets-collapsible-content .wpacu-assets-note{margin:0;padding:15px 15px 10px}.wpacu-assets-collapsible-content>div:not(.wpacu-assets-table-list-wrap){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{color:inherit;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;width:14px;height: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:""}a.wpacu-assets-inline-code-collapsible.wpacu-assets-inline-code-collapsible-active:after{content:""}.wpacu-assets-inline-code-collapsible-content{padding:0 8px 2px 0;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{line-height:normal!important}.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_asset_row p div.select{display:inline-block}.wpacu-wrap-choose-position{display:inline}.wpacu-wrap-choose-position>div{display:inline-block}.wpacu-wrap-choose-position select{width:auto;font-size:inherit;display:inline;margin-left:6px;margin-right:4px}.wpacu-wrap-choose-position>.select>.select{display:inline}.wpacu-wrap-choose-position>.select>.select select{padding-right:30px}.wpacu-wrap-choose-position>.select>.select:after{right:15px;top:-4px}.wpacu_handle_unload_regex_input_wrap,.wpacu_load_regex_input_wrap{display:block;width:100%}.wpacu_handle_unload_regex_input_wrap .wpacu_regex_rule_area .wpacu_regex_rule_textarea,.wpacu_load_regex_input_wrap .wpacu_regex_rule_area .wpacu_regex_rule_textarea{line-height:normal;min-height:20px;min-width:300px;max-width:400px;display:inline-block;padding:2px 4px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.wpacu_handle_unload_regex_input_wrap .wpacu_regex_rule_area .wpacu_regex_rule_textarea:focus,.wpacu_load_regex_input_wrap .wpacu_regex_rule_area .wpacu_regex_rule_textarea:focus{width:100%}body.logged-in:not(.wp-admin) .wpacu-view-more-code{box-shadow:inset 0 1px 0 0 #fff;background:linear-gradient(to bottom,#f9f9f9 5%,#e9e9e9 100%);background-color:#f9f9f9;border-radius:6px;border:1px solid #dcdcdc;display:inline-block;cursor:pointer;color:#666;font-size:inherit;font-weight:700;padding:6px 24px;text-decoration:none;text-shadow:0 1px 0 #fff}body.logged-in:not(.wp-admin) .wpacu-view-more-code:hover{background:linear-gradient(to bottom,#e9e9e9 5%,#f9f9f9 100%);background-color:#e9e9e9}body.logged-in:not(.wp-admin) .wpacu-view-more-code:active{position:relative;top:1px}.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}body.wp-admin[class*=asset-cleanup] .wpacu-overview-wrap .wpacu-overview-list-table tr:not(.wpacu-top):hover td{border-top:1px solid #ccd0d4;border-bottom:1px solid #ccd0d4}body.wp-admin[class*=asset-cleanup] .wpacu-overview-wrap .wpacu-overview-list-table tr:not(.wpacu-top):hover td:first-of-type{border-left:1px solid #ccd0d4}body.wp-admin[class*=asset-cleanup] .wpacu-overview-wrap .wpacu-overview-list-table tr:not(.wpacu-top):hover td:last-of-type{border-right:1px solid #ccd0d4}body.wp-admin[class*=asset-cleanup] .wpacu-overview-wrap .wpacu-overview-list-table tr td{font-size:14px;border-top:1px solid transparent;border-bottom:1px solid transparent}body.wp-admin[class*=asset-cleanup] .wpacu-overview-wrap .wpacu-overview-list-table tr td:first-of-type{border-left:1px solid transparent}body.wp-admin[class*=asset-cleanup] .wpacu-overview-wrap .wpacu-overview-list-table tr td:last-of-type{border-right:1px solid transparent}body.wp-admin[class*=asset-cleanup] table.wp-list-table:not(.wpacu-overview-list-table) tr:not(:first-of-type):not(.wpacu_selected):hover,body.wp-admin[class*=asset-cleanup] table.wp-list-table:not(.wpacu-overview-list-table).wpacu-list-table tr:not(.wpacu_selected):hover{-moz-box-shadow:inset 0 0 2px 1px #b3b3b3;-webkit-box-shadow:inset 0 0 2px 1px #B3B3B3;box-shadow:inset 0 0 2px 1px #B3B3B3}.wp-list-table .wpacu_remove_global_attr_row.wpacu_selected,.wp-list-table .wpacu_restore_position_row.wpacu_selected{background:#e7e7e7!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}#wpacu-plugins-load-manager-wrap .wrap_plugin_unload_rules_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules label.wpacu_plugin_unload_rule_input_checked,#wpacu-warning-read span.dashicons-warning,#wpacu-warning-read span.dashicons-wordpress-alt{color:#c00}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 (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}select#wpacu-reset-drop-down{max-width:100%}#wpacu-license-data-remove-area{display:none;margin:14px 0 12px}#wpacu-license-data-remove-area.wpacu-visible{display:block}#wpacu-cache-assets-remove-area{display:none;margin:12px 0 25px}#wpacu-cache-assets-remove-area.wpacu-visible{display:block}#wpacu-cached-assets-removed-msg,span#wpacu-license-data-removed-msg{display:block;padding-left:26px}#wpacu-warning-read{display:none;margin:10px 0}#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-tools-area .wpacu-export-import-area{padding:10px}.wpacu-tools-area .wpacu-export-import-area form>p:first-of-type{margin-top:0}.wpacu-tools-area .wpacu-export-import-area form>p:last-of-type{margin-bottom:0}.wpacu-tools-area .wpacu-export-import-area:hover{background:rgba(40,44,42,.05);box-shadow:inset 0 0 10px rgba(160,165,170,.15)}.wpacu-tools-area .wpacu-export-import-area+hr{display:block;height:1px;border:0;border-top:1px solid #cdcdcd;margin:10px 0;padding:0}#wpacu-import-form button.wpacu-importing img.wpacu-spinner{display:inline-block}#wpacu-import-form button img.wpacu-spinner{display:none;margin:0 0 0 5px;height:16px;width:16px;vertical-align:middle}.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}.wpacu-lite-vs-pro-wrap ul{display:flex;top:0;z-index:10;padding-bottom:14px}.wpacu-lite-vs-pro-wrap li{list-style:none;flex:1}.wpacu-lite-vs-pro-wrap li:last-child{border-right:1px solid #DDD}.wpacu-lite-vs-pro-wrap button{width:100%;border:1px solid #DDD;border-right:0;border-top:0;padding:10px;background:#FFF;font-size:14px;font-weight:700;height:60px;color:#999}.wpacu-lite-vs-pro-wrap li.active button{background:#F5F5F5;color:#000}.wpacu-lite-vs-pro-wrap table{border-collapse:collapse;table-layout:fixed;width:100%}.wpacu-lite-vs-pro-wrap th{background:inherit}.wpacu-lite-vs-pro-wrap tr.first{background:inherit;font-size:18px}.wpacu-lite-vs-pro-wrap tr.first .bg-lite{border-top:4px solid #6d6e70;background:#fff;color:#6d6e70}.wpacu-lite-vs-pro-wrap tr.first .bg-pro{border-top:4px solid green;background:#fff;color:green}.wpacu-lite-vs-pro-wrap tr:not(.first){background:#fff}.wpacu-lite-vs-pro-wrap tr:not(:last-child):hover{background:#f8f8f8}.wpacu-lite-vs-pro-wrap td,.wpacu-lite-vs-pro-wrap th{height:53px;line-height:22px;border:1px solid #DDD;padding:10px 16px;empty-cells:show;text-align:left}@media only screen and (max-width:767px){.wpacu-lite-vs-pro-wrap td,.wpacu-lite-vs-pro-wrap th{font-size:14px}}.wpacu-lite-vs-pro-wrap td+td,.wpacu-lite-vs-pro-wrap th+th{text-align:center;display:none}.wpacu-lite-vs-pro-wrap td.default{display:table-cell}.wpacu-lite-vs-pro-wrap .txt-l{font-size:28px;font-weight:700}.wpacu-lite-vs-pro-wrap .txt-top{position:relative;top:-9px;left:-2px}.wpacu-lite-vs-pro-wrap svg{width:18px;height:18px}.wpacu-lite-vs-pro-wrap svg path{fill:green}.wpacu-lite-vs-pro-wrap .tick{color:#2CA01C}.wpacu-lite-vs-pro-wrap .tick img{fill:#2CA01C}@media only screen and (max-width:767px){.wpacu-lite-vs-pro-wrap .txt-l{font-size:20px}.wpacu-lite-vs-pro-wrap .tick{font-size:15px}}.wpacu-lite-vs-pro-wrap .na{font-size:18px;opacity:.3;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"}.wpacu-lite-vs-pro-wrap .hide{border:0;background:0 0}.wpacu-lite-vs-pro-wrap td,.wpacu-lite-vs-pro-wrap th{display:table-cell!important;width:auto}.wpacu-lite-vs-pro-wrap td+td,.wpacu-lite-vs-pro-wrap th+th{width:130px}@media only screen and (max-width:767px){.wpacu-lite-vs-pro-wrap .na{font-size:15px}.wpacu-lite-vs-pro-wrap td+td,.wpacu-lite-vs-pro-wrap th+th{width:42px}}@media only screen and (min-width:768px){.wpacu-lite-vs-pro-wrap td .button{font-size:16px!important}}@media only screen and (max-width:767px){.wpacu-lite-vs-pro-wrap td .button{font-size:14px!important;padding:0 20px!important}.wpacu-lite-vs-pro-wrap td .button.button-primary{margin-top:6px;margin-bottom:14px}}@media only screen and (min-width:768px){.wpacu-lite-vs-pro-wrap{margin-bottom:40px;clear:both}}.wpacu-video-areas>div{padding:20px;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.wpacu-video-areas>div:nth-child(odd){background:#fff}.wpacu-video-areas>div:nth-child(even){background:inherit}@media only screen and (min-width:1200px){.wpacu-video-areas .wpacu-video-area-wrapper{margin:0 0 15px;display:flex}.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-col-right{padding:0 20px 0 25px}}@media only screen and (min-width:992px) and (max-width:1199px){.wpacu-video-areas .wpacu-video-area-wrapper{margin:0 0 40px}}.wpacu-video-areas .wpacu-video-area-wrapper ol{font-size:14px}.wpacu-video-areas .wpacu-video-area-wrapper ul{font-size:14px;list-style:disc;margin-left:22px}@media only screen and (min-width:1200px){.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-col-right p:first-child{margin-top:0}.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-col-right p:last-child{margin-bottom:0}}@media only screen and (max-width:1199px){.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-video-wrapper{position:relative;padding-bottom:56.25%;padding-top:30px;height:0;overflow:hidden}}.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-video-wrapper iframe{width:560px;height:315px}@media only screen and (max-width:1199px){.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-video-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%}}#wpassetcleanup_asset_list.postbox h2{padding-left:52px!important;position:relative}#wpassetcleanup_asset_list.postbox h2:before{content:"";position:absolute;background-image:url(images/wpacu-logo-transparent-bg-v1.png);background-size:cover;top:6px;left:13px;width:33px;height:26px;opacity:.8;-webkit-filter:grayscale(100%);filter:grayscale(100%)}body.wp-admin .wpacu-modal{display:none;position:fixed;z-index:1000000;padding-top:15%;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#000;background-color:rgba(0,0,0,.4)}body.wp-admin .wpacu-modal pre{white-space:normal}body.wp-admin .wpacu-modal-content{background-color:#fefefe;margin:auto;padding:20px;border:1px solid #888;width:80%;max-width:600px;border-radius:10px}body.wp-admin .wpacu-modal-content pre{white-space:normal}body.wp-admin .wpacu-close{color:#aaa;float:right;font-size:28px;font-weight:700}body.wp-admin .wpacu-close:focus,body.wp-admin .wpacu-close:hover{color:#000;text-decoration:none;cursor:pointer}.wpacu-bulk-changes-tabs{display:table;position:relative;overflow:hidden;margin:0;width:100%}.wpacu-bulk-changes-tabs li{border-top:1px solid rgba(40,44,42,.1);border-left:1px solid rgba(40,44,42,.1);border-bottom:1px solid rgba(40,44,42,.1);float:left;line-height:38px;padding:0;position:relative;margin-bottom:12px}.wpacu-bulk-changes-tabs li:last-child{border-right:1px solid rgba(40,44,42,.1)}.wpacu-bulk-changes-tabs a{position:relative;background:rgba(40,44,42,.05);color:#004567;font-size:14px;font-weight:500;display:block;letter-spacing:0;outline:0;padding:6px 20px;text-decoration:none;border-top:3px solid transparent}.wpacu-bulk-changes-tabs a:hover{background:#f1f1f1;border-top:3px solid transparent}.wpacu-bulk-changes-tabs .current a{background:#fff;border-top:3px solid #004567}.wpacu-bulk-changes-tabs .current a:hover{background:#fff}.wpacu-bulk-changes-tabs .current a:after,.wpacu-bulk-changes-tabs .current a:before{top:100%;left:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}.wpacu-bulk-changes-tabs .current a:after{border-color:rgba(136,183,213,0);border-top-color:#fff;border-width:12px;margin-left:-12px}.wpacu-bulk-changes-tabs .current a:before{border-color:rgba(194,225,245,0);border-top-color:rgba(40,44,42,.1);border-width:13px;margin-left:-13px}img.wpacu-emoji{display:inline!important;border:none!important;height:1em!important;width:1em!important;margin:0 .07em!important;vertical-align:-.1em!important;background:0 0!important;padding:0!important;box-shadow:none!important}#wpacu-plugins-load-manager-wrap table td{border-bottom:1px solid #e7e7e7}#wpacu-plugins-load-manager-wrap table td.wpacu_plugin_icon{padding:14px 10px}#wpacu-plugins-load-manager-wrap table td.wpacu_plugin_details{vertical-align:middle;padding:10px 0 10px 8px}#wpacu-plugins-load-manager-wrap table td.wpacu_plugin_details .wpacu_plugin_title{font-weight:600}#wpacu-plugins-load-manager-wrap .wrap_plugin_unload_rules_options{width:auto;display:inline-flex;-webkit-flex-wrap:wrap;flex-wrap:wrap}#wpacu-plugins-load-manager-wrap .wrap_plugin_unload_rules_options .wpacu_plugin_rules_wrap{flex-grow:1;margin:0 16px 0 0!important;padding:8px 10px 6px 0!important}#wpacu-plugins-load-manager-wrap .wrap_plugin_unload_rules_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules{margin:0;vertical-align:middle}#wpacu-plugins-load-manager-wrap .wrap_plugin_unload_rules_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules label{vertical-align:top}#wpacu-plugins-load-manager-wrap .wrap_plugin_unload_rules_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules label input[type=radio].wpacu_plugin_load_it:before{background-color:green}#wpacu-plugins-load-manager-wrap .wrap_plugin_unload_rules_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules label input[type=radio].wpacu_plugin_unload_rule_input:before{background-color:#c00}#wpacu-plugins-load-manager-wrap .wrap_plugin_load_exception_options{padding-top:5px;border-top:1px solid #e7e7e7;width:auto;display:inline-flex;-webkit-flex-wrap:wrap;flex-wrap:wrap}#wpacu-plugins-load-manager-wrap .wrap_plugin_load_exception_options .wpacu_plugin_rules_wrap{flex-grow:1;margin:0 16px 0 0!important;padding:6px 10px 6px 0!important}#wpacu-plugins-load-manager-wrap .wrap_plugin_load_exception_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules{margin:0;vertical-align:middle}#wpacu-plugins-load-manager-wrap .wrap_plugin_load_exception_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules label{vertical-align:top}#wpacu-plugins-load-manager-wrap .wrap_plugin_load_exception_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules.wpacu_exception_options_area li{display:inline-block;float:left;margin:1px 25px 1px 0;line-height:20px}#wpacu-plugins-load-manager-wrap .wrap_plugin_load_exception_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules.wpacu_exception_options_area li:last-of-type{margin:1px 0}.wpacu-list-table.plugins{width:98%;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}#wpacu-plugins-load-manager-wrap .help_link{text-decoration:none;color:inherit;vertical-align:middle}#wpacu-plugins-load-manager-wrap .help_link.unload_it_regex{vertical-align:top}#wpacu-plugins-load-manager-wrap .wpacu_plugin_details .wpacu_plugin_path{font-style:italic;color:grey}#wpacu-plugins-load-manager-wrap .wpacu_plugin_icon>img{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}#wpacu-plugins-load-manager-wrap .wpacu_plugin_icon>div{background:#efefef;border:#cdcdcd;border-radius:3px;width:40px;height:40px;vertical-align:middle;position:relative;text-align:center}#wpacu-plugins-load-manager-wrap .wpacu_plugin_icon>div>span{font-size:30px;color:#b3b3b3;top:50%;vertical-align:middle;left:50%;transform:translate(-50%,-50%);width:30px;height:30px;position:absolute}#wpacu-plugins-load-manager-wrap .wpacu_exception_options_area textarea,#wpacu-plugins-load-manager-wrap textarea:focus{width:100%}#wpacu-plugins-load-manager-wrap .wpacu_plugin_unload_regex_input_wrap{display:block}#wpacu-plugins-load-manager-wrap .wpacu_plugin_unload_regex_input_wrap textarea{margin-top:6px;min-width:400px}#wpacu-plugins-load-manager-wrap textarea{line-height:normal;min-height:20px;min-width:300px;display:inline-block;padding:2px 4px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}#wpacu-plugins-load-manager-wrap textarea.wpacu_disabled{background:#fbfafa!important;color:inherit}
classes/Main.php CHANGED
@@ -1,6 +1,8 @@
1
<?php
2
namespace WpAssetCleanUp;
3
4
/**
5
* Class Main
6
* @package WpAssetCleanUp
@@ -188,14 +190,14 @@ class Main
188
return self::$singleton;
189
}
190
191
- /**
192
- * Parser constructor.
193
- */
194
- public function __construct()
195
{
196
$this->skipAssets['styles'] = array(
197
WPACU_PLUGIN_ID . '-style',
198
- // Asset CleanUp Styling (for admin use only)
199
'admin-bar',
200
// The top admin bar
201
'yoast-seo-adminbar',
@@ -211,7 +213,7 @@ class Main
211
);
212
213
$this->skipAssets['scripts'] = array(
214
- WPACU_PLUGIN_ID . '-script', // Asset CleanUp Script (for admin use only)
215
'admin-bar', // The top admin bar
216
'autoptimize-toolbar',
217
'query-monitor',
@@ -226,13 +228,13 @@ class Main
226
add_action( 'plugins_loaded', static function() { remove_action( 'plugins_loaded', 'rocket_init' ); }, 1 );
227
add_action( 'plugins_loaded', static function() { remove_action( 'plugins_loaded', 'rocket_init' ); }, 99 );
228
229
- // Do not output Query Monitor's information as it's irrelevant in this context
230
- if (class_exists('\QueryMonitor') && class_exists('\QM_Plugin')) {
231
- add_filter('user_has_cap', static function($user_caps) {
232
- $user_caps['view_query_monitor'] = false;
233
- return $user_caps;
234
- }, 10, 1);
235
- }
236
237
add_filter( 'style_loader_tag', static function( $styleTag, $tagHandle ) {
238
// This is used to determine if the LINK is enqueued later on
@@ -249,6 +251,13 @@ class Main
249
}, PHP_INT_MAX, 2 );
250
}
251
252
// Early Triggers
253
add_action( 'wp', array( $this, 'setVarsBeforeUpdate' ), 8 );
254
add_action( 'wp', array( $this, 'setVarsAfterAnyUpdate' ), 10 );
@@ -390,7 +399,7 @@ class Main
390
Preloads::instance()->init();
391
}
392
393
- // Only trigger it within the Dashboard when an Asset CleanUp page is accessed and the transient is non-existent or expired
394
if ( is_admin() ) {
395
add_action( 'admin_footer', array( $this, 'ajaxFetchActivePluginsJsFooterCode' ) );
396
add_action( 'wp_ajax_' . WPACU_PLUGIN_ID . '_fetch_active_plugins_icons', array( $this, 'ajaxFetchActivePluginsIcons' ) );
@@ -472,7 +481,7 @@ SQL;
472
$metaboxes->initMetaBox('manage_page_assets');
473
}
474
475
- // Side Meta Box: Asset CleanUp Options check if it's not hidden completely
476
if (! $this->settings['hide_options_meta_box']) {
477
$metaboxes->initMetaBox('manage_page_options');
478
}
@@ -581,6 +590,9 @@ SQL;
581
582
if (! empty($wpStylesList)) {
583
foreach ($wpStylesList as $styleHandle) {
584
$wp_styles->registered[$styleHandle] = $this->maybeFilterAssetObject($wp_styles->registered[$styleHandle], 'css');
585
}
586
}
@@ -593,6 +605,9 @@ SQL;
593
594
if ( ! empty( $wpScriptsList ) ) {
595
foreach ( $wpScriptsList as $scriptHandle ) {
596
$wp_scripts->registered[$scriptHandle] = $this->maybeFilterAssetObject($wp_scripts->registered[$scriptHandle], 'js');
597
}
598
}
@@ -2346,6 +2361,10 @@ SQL;
2346
} else {
2347
$obj->srcHref = $obj->src;
2348
}
2349
}
2350
}
2351
}
@@ -2411,6 +2430,9 @@ SQL;
2411
$data['all']['scripts'][$key]->wp = true;
2412
$data['core_scripts_loaded'] = true;
2413
}
2414
}
2415
}
2416
}
@@ -2518,6 +2540,203 @@ SQL;
2518
);
2519
}
2520
2521
/**
2522
* @return bool
2523
*/
@@ -2822,14 +3041,14 @@ SQL;
2822
}
2823
2824
if (Main::instance()->settings['test_mode']) {
2825
- $consoleMessage = __('Asset CleanUp: "TEST MODE" ENABLED (any settings or unloads will be visible ONLY to you, the logged-in administrator)', 'wp-asset-clean-up');
2826
$testModeNotice = __('"Test Mode" is ENABLED. Any settings or unloads will be visible ONLY to you, the logged-in administrator.', 'wp-asset-clean-up');
2827
} else {
2828
- $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)', 'wp-asset-clean-up');
2829
$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.', 'wp-asset-clean-up');
2830
}
2831
2832
- $htmlCommentNote = __('NOTE: These "Asset CleanUp: Page Speed Booster" messages are only shown to you, the HTML comment is not visible for the regular visitor.', 'wp-asset-clean-up');
2833
?>
2834
<!--
2835
<?php echo $htmlCommentNote; ?>
1
<?php
2
namespace WpAssetCleanUp;
3
4
+ use WpAssetCleanUp\OptimiseAssets\DynamicLoadedAssets;
5
+
6
/**
7
* Class Main
8
* @package WpAssetCleanUp
190
return self::$singleton;
191
}
192
193
+ /**
194
+ * Parser constructor.
195
+ */
196
+ public function __construct()
197
{
198
$this->skipAssets['styles'] = array(
199
WPACU_PLUGIN_ID . '-style',
200
+ // Asset CleanUp (Pro) Styling (for admin use only)
201
'admin-bar',
202
// The top admin bar
203
'yoast-seo-adminbar',
213
);
214
215
$this->skipAssets['scripts'] = array(
216
+ WPACU_PLUGIN_ID . '-script', // Asset CleanUp (Pro) Script (for admin use only)
217
'admin-bar', // The top admin bar
218
'autoptimize-toolbar',
219
'query-monitor',
228
add_action( 'plugins_loaded', static function() { remove_action( 'plugins_loaded', 'rocket_init' ); }, 1 );
229
add_action( 'plugins_loaded', static function() { remove_action( 'plugins_loaded', 'rocket_init' ); }, 99 );
230
231
+ // Do not output Query Monitor's information as it's irrelevant in this context
232
+ if ( class_exists( '\QueryMonitor' ) && class_exists( '\QM_Plugin' ) ) {
233
+ add_filter( 'user_has_cap', static function( $user_caps ) {
234
+ $user_caps['view_query_monitor'] = false;
235
+ return $user_caps;
236
+ }, 10, 1 );
237
+ }
238
239
add_filter( 'style_loader_tag', static function( $styleTag, $tagHandle ) {
240
// This is used to determine if the LINK is enqueued later on
251
}, PHP_INT_MAX, 2 );
252
}
253
254
+ // "File Size:" value from the asset row
255
+ add_filter('wpacu_get_asset_file_size', array($this, 'getAssetFileSize'), 10, 2);
256
+
257
+ // Triggers only if the administrator is logged in ('wp_ajax_nopriv' is not required)
258
+ // Used to determine the total size of an external loaded assets (e.g. a CSS file from Google APIs)
259
+ add_action('wp_ajax_'.WPACU_PLUGIN_ID.'_get_external_file_size', array($this, 'ajaxGetExternalFileSize'));
260
+
261
// Early Triggers
262
add_action( 'wp', array( $this, 'setVarsBeforeUpdate' ), 8 );
263
add_action( 'wp', array( $this, 'setVarsAfterAnyUpdate' ), 10 );
399
Preloads::instance()->init();
400
}
401
402
+ // Only trigger it within the Dashboard when an Asset CleanUp (Pro) page is accessed and the transient is non-existent or expired
403
if ( is_admin() ) {
404
add_action( 'admin_footer', array( $this, 'ajaxFetchActivePluginsJsFooterCode' ) );
405
add_action( 'wp_ajax_' . WPACU_PLUGIN_ID . '_fetch_active_plugins_icons', array( $this, 'ajaxFetchActivePluginsIcons' ) );
481
$metaboxes->initMetaBox('manage_page_assets');
482
}
483
484
+ // Side Meta Box: Asset CleanUp (Pro) Options check if it's not hidden completely
485
if (! $this->settings['hide_options_meta_box']) {
486
$metaboxes->initMetaBox('manage_page_options');
487
}
590
591
if (! empty($wpStylesList)) {
592
foreach ($wpStylesList as $styleHandle) {
593
+ if ( ! isset($wp_styles->registered[$styleHandle]) ) {
594
+ continue;
595
+ }
596
$wp_styles->registered[$styleHandle] = $this->maybeFilterAssetObject($wp_styles->registered[$styleHandle], 'css');
597
}
598
}
605
606
if ( ! empty( $wpScriptsList ) ) {
607
foreach ( $wpScriptsList as $scriptHandle ) {
608
+ if ( ! isset($wp_scripts->registered[$scriptHandle]) ) {
609
+ continue;
610
+ }
611
$wp_scripts->registered[$scriptHandle] = $this->maybeFilterAssetObject($wp_scripts->registered[$scriptHandle], 'js');
612
}
613
}
2361
} else {
2362
$obj->srcHref = $obj->src;
2363
}
2364
+
2365
+ $data['all']['styles'][$key]->size = apply_filters('wpacu_get_asset_file_size', $data['all']['styles'][$key], 'for_print');
2366
+ $data['all']['styles'][$key]->sizeRaw = apply_filters('wpacu_get_asset_file_size', $data['all']['styles'][$key], 'raw');
2367
+
2368
}
2369
}
2370
}
2430
$data['all']['scripts'][$key]->wp = true;
2431
$data['core_scripts_loaded'] = true;
2432
}
2433
+
2434
+ $data['all']['scripts'][$key]->size = apply_filters('wpacu_get_asset_file_size', $data['all']['scripts'][$key], 'for_print');
2435
+ $data['all']['scripts'][$key]->sizeRaw = apply_filters('wpacu_get_asset_file_size', $data['all']['scripts'][$key], 'raw');
2436
}
2437
}
2438
}
2540
);
2541
}
2542
2543
+ /**
2544
+ * @param $obj
2545
+ * @param $format | 'for_print': Calculates the format in KB / MB - 'raw': The actual size in bytes
2546
+ * @return string
2547
+ */
2548
+ public function getAssetFileSize($obj, $format = 'for_print')
2549
+ {
2550
+ if (isset($obj->src) && $obj->src) {
2551
+ $src = $obj->src;
2552
+ $siteUrl = site_url();
2553
+
2554
+ // Starts with / but not with //
2555
+ // Or starts with ../ (very rare cases)
2556
+ $isRelInternalPath = (strpos($src, '/') === 0 && strpos($src, '//') !== 0) || (strpos($src, '../') === 0);
2557
+
2558
+ // Source starts with '//' - check if the file exists
2559
+ if (strpos($obj->src, '//') === 0) {
2560
+ list ($urlPrefix) = explode('//', $siteUrl);
2561
+ $srcToCheck = $urlPrefix . $obj->src;
2562
+
2563
+ $hostSiteUrl = parse_url($siteUrl, PHP_URL_HOST);
2564
+ $hostSrc = parse_url($obj->src, PHP_URL_HOST);
2565
+
2566
+ $siteUrlAltered = str_replace(array($hostSiteUrl, $hostSrc), '{site_host}', $siteUrl);
2567
+ $srcAltered = str_replace(array($hostSiteUrl, $hostSrc), '{site_host}', $srcToCheck);
2568
+
2569
+ $srcMaybeRelPath = str_replace($siteUrlAltered, '', $srcAltered);
2570
+
2571
+ $possibleStrips = array('?ver', '?cache=');
2572
+
2573
+ foreach ($possibleStrips as $possibleStrip) {
2574
+ if ( strpos( $srcMaybeRelPath, $possibleStrip ) !== false ) {
2575
+ list ( $srcMaybeRelPath ) = explode( $possibleStrip, $srcMaybeRelPath );
2576
+ }
2577
+ }
2578
+
2579
+ if (is_file(ABSPATH . $srcMaybeRelPath)) {
2580
+ $fileSize = filesize(ABSPATH . $srcMaybeRelPath);
2581
+
2582
+ if ($format === 'raw') {
2583
+ return (int)$fileSize;
2584
+ }
2585
+
2586
+ return Misc::formatBytes($fileSize);
2587
+ }
2588
+ }
2589
+
2590
+ // e.g. /?scss=1 (Simple Custom CSS Plugin)
2591
+ if (str_replace($siteUrl, '', $src) === '/?sccss=1') {
2592
+ $customCss = DynamicLoadedAssets::getSimpleCustomCss();
2593
+ $sizeInBytes = mb_strlen($customCss);
2594
+
2595
+ if ($format === 'raw') {
2596
+ return $sizeInBytes;
2597
+ }
2598
+
2599
+ return Misc::formatBytes($sizeInBytes);
2600
+ }
2601
+
2602
+ // External file? Use a different approach
2603
+ // Return a HTML code that will be parsed via AJAX through JavaScript
2604
+ $isExternalFile = (! $isRelInternalPath &&
2605
+ (! (isset($obj->wp) && $obj->wp === 1))
2606
+ && strpos($src, $siteUrl) !== 0);
2607
+
2608
+ // e.g. /?scss=1 (Simple Custom CSS Plugin) From External Domain
2609
+ // /?custom-css (JetPack Custom CSS)
2610
+ $isLoadedOnTheFly = (strpos($src, '?sccss=1') !== false)
2611
+ || (strpos($src, '?custom-css') !== false);
2612
+
2613
+ if ($isExternalFile || $isLoadedOnTheFly) {
2614
+ return '<a class="wpacu-external-file-size" data-src="' . $src . '" href="#">🔗 Get File Size</a>'.
2615
+ '<span style="display: none;"><img style="width: 20px; height: 20px;" alt="" align="top" width="20" height="20" src="'.includes_url('images/spinner-2x.gif').'"></span>';
2616
+ }
2617
+
2618
+ // Local file? Core or from a plugin / theme?
2619
+ if (strpos($obj->src, $siteUrl) !== false) {
2620
+ // Local Plugin / Theme File
2621
+ // Could be a Staging site that is having the Live URL in the General Settings
2622
+ $src = ltrim(str_replace($siteUrl, '', $obj->src), '/');
2623
+ } elseif ((isset($obj->wp) && $obj->wp === 1) || $isRelInternalPath) {
2624
+ // Local WordPress Core File
2625
+ $src = ltrim($obj->src, '/');
2626
+ }
2627
+
2628
+ $srcAlt = $src;
2629
+
2630
+ if (strpos($src, '../') === 0) {
2631
+ $srcAlt = str_replace('../', '', $srcAlt);
2632
+ }
2633
+
2634
+ $pathToFile = ABSPATH . $srcAlt;
2635
+
2636
+ if (strpos($pathToFile, '?ver') !== false) {
2637
+ list($pathToFile) = explode('?ver', $pathToFile);
2638
+ }
2639
+
2640
+ // It can happen that the CSS/JS has extra parameters (rare cases)
2641
+ foreach (array('.css?', '.js?') as $needlePart) {
2642
+ if (strpos($pathToFile, $needlePart) !== false) {
2643
+ list($pathToFile) = explode('?', $pathToFile);
2644
+ }
2645
+ }
2646
+
2647
+ if (is_file($pathToFile)) {
2648
+ $sizeInBytes = filesize($pathToFile);
2649
+
2650
+ if ($format === 'raw') {
2651
+ return (int)$sizeInBytes;
2652
+ }
2653
+
2654
+ return Misc::formatBytes($sizeInBytes);
2655
+ }
2656
+
2657
+ return '<em>Error: Could not read '.$pathToFile.'</em>';
2658
+ }
2659
+
2660
+ if ($obj->handle === 'jquery' && isset($obj->src) && ! $obj->src) {
2661
+ return '"jquery-core" size';
2662
+ }
2663
+
2664
+ // External or nothing to be shown (perhaps due to an error)
2665
+ return '';
2666
+ }
2667
+
2668
+ /**
2669
+ * Source: https://stackoverflow.com/questions/2602612/remote-file-size-without-downloading-file
2670
+ */
2671
+ public function ajaxGetExternalFileSize()
2672
+ {
2673
+ // Assume failure.
2674
+ $result = -1;
2675
+
2676
+ $remoteFile = Misc::getVar('post', 'wpacu_remote_file', false);
2677
+
2678
+ if (! $remoteFile) {
2679
+ echo 'N/A (external file)';
2680
+ exit;
2681
+ }
2682
+
2683
+ // If it starts with //
2684
+ if (strpos($remoteFile, '//') === 0) {
2685
+ $remoteFile = 'http:'.$remoteFile;
2686
+ }
2687
+
2688
+ $curl = curl_init($remoteFile);
2689
+
2690
+ // Issue a HEAD request and follow any redirects.
2691
+ curl_setopt($curl, CURLOPT_NOBODY, true);
2692
+ curl_setopt($curl, CURLOPT_HEADER, true);
2693
+ curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
2694
+ curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
2695
+
2696
+ $data = curl_exec($curl);
2697
+ curl_close($curl);
2698
+
2699
+ $content_length = $status = 'unknown';
2700
+
2701
+ if ($data) {
2702
+ if (preg_match( '/^HTTP\/1\.[01] (\d\d\d)/', $data, $matches ) ) {
2703
+ $status = (int)$matches[1];
2704
+ }
2705
+
2706
+ if ( preg_match( '/Content-Length: (\d+)/', $data, $matches ) ) {
2707
+ $content_length = (int)$matches[1];
2708
+ }
2709
+
2710
+ // http://en.wikipedia.org/wiki/List_of_HTTP_status_codes
2711
+ if ( $status === 200 || ($status > 300 && $status <= 308) ) {
2712
+ $result = $content_length;
2713
+ }
2714
+ }
2715
+
2716
+ if ($content_length === 'unknown') {
2717
+ // One more try
2718
+ $response = wp_remote_get($remoteFile);
2719
+
2720
+ $responseCode = wp_remote_retrieve_response_code($response);
2721
+
2722
+ if ($responseCode === 200) {
2723
+ $result = mb_strlen(wp_remote_retrieve_body($response));
2724
+ }
2725
+ }
2726
+
2727
+ echo Misc::formatBytes($result);
2728
+
2729
+ if (stripos($remoteFile, '//fonts.googleapis.com/') !== false) {
2730
+ // Google Font APIS CDN
2731
+ echo ' + the sizes of the loaded "Google Font" files (see "url" from @font-face within the Source file)';
2732
+ } elseif (stripos($remoteFile, '/font-awesome.css') || stripos($remoteFile, '/font-awesome.min.css')) {
2733
+ // FontAwesome CDN
2734
+ echo ' + the sizes of the loaded "FontAwesome" font files (see "url" from @font-face within the Source file)';
2735
+ }
2736
+
2737
+ exit();
2738
+ }
2739
+
2740
/**
2741
* @return bool
2742
*/
3041
}
3042
3043
if (Main::instance()->settings['test_mode']) {
3044
+ $consoleMessage = sprintf(__('%s: "TEST MODE" ENABLED (any settings or unloads will be visible ONLY to you, the logged-in administrator)', 'wp-asset-clean-up'), WPACU_PLUGIN_TITLE);
3045
$testModeNotice = __('"Test Mode" is ENABLED. Any settings or unloads will be visible ONLY to you, the logged-in administrator.', 'wp-asset-clean-up');
3046
} else {
3047
+ $consoleMessage = sprintf(__('%s: "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)', 'wp-asset-clean-up'), WPACU_PLUGIN_TITLE);
3048
$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.', 'wp-asset-clean-up');
3049
}
3050
3051
+ $htmlCommentNote = sprintf(__('NOTE: These "%s: Page Speed Booster" messages are only shown to you, the HTML comment is not visible for the regular visitor.', 'wp-asset-clean-up'), WPACU_PLUGIN_TITLE);
3052
?>
3053
<!--
3054
<?php echo $htmlCommentNote; ?>
classes/Maintenance.php CHANGED
@@ -7,13 +7,23 @@ namespace WpAssetCleanUp;
7
*/
8
class Maintenance
9
{
10
public function __construct()
11
{
12
if (is_admin() && isset($_GET['page']) && strpos($_GET['page'], WPACU_PLUGIN_ID.'_') === 0) {
13
add_action('admin_init', static function() {
14
Maintenance::cleanUnusedAssetsFromInfoArea();
15
});
16
}
17
}
18
19
/**
@@ -47,6 +57,29 @@ class Maintenance
47
}
48
}
49
50
/**
51
* @param $handlesToClearFromInfo
52
*/
@@ -72,4 +105,453 @@ class Maintenance
72
73
Misc::addUpdateOption($optionToUpdate, json_encode(Misc::filterList($existingList)));
74
}
75
}
7
*/
8
class Maintenance
9
{
10
+ /**
11
+ * Maintenance constructor.
12
+ */
13
public function __construct()
14
{
15
if (is_admin() && isset($_GET['page']) && strpos($_GET['page'], WPACU_PLUGIN_ID.'_') === 0) {
16
add_action('admin_init', static function() {
17
Maintenance::cleanUnusedAssetsFromInfoArea();
18
+ Maintenance::combineNewOptionUpdate(); // Since v1.1.7.3 (Pro) & v1.3.6.4 (Lite)
19
});
20
}
21
+
22
+ add_action('init', static function() {
23
+ if ( is_user_logged_in() && Menu::userCanManageAssets() ) {
24
+ Maintenance::combineNewOptionUpdate(); // Since v1.1.7.3 (Pro) & v1.3.6.4 (Lite)
25
+ }
26
+ });
27
}
28
29
/**
57
}
58
}
59
60
+ /**
61
+ *
62
+ */
63
+ public static function combineNewOptionUpdate()
64
+ {
65
+ $settingsClass = new Settings();
66
+ $pluginSettings = $settingsClass->getAll();
67
+
68
+ if ( ($pluginSettings['combine_loaded_css'] === 'for_admin' ||
69
+ (isset($pluginSettings['combine_loaded_css_for_admin_only']) && $pluginSettings['combine_loaded_css_for_admin_only'] == 1) )
70
+ && Menu::userCanManageAssets() ) {
71
+ $settingsClass->updateOption('combine_loaded_css', '');
72
+ $settingsClass->updateOption('combine_loaded_css_for_admin_only', '');
73
+ }
74
+
75
+ if ( ($pluginSettings['combine_loaded_js'] === 'for_admin' ||
76
+ (isset($pluginSettings['combine_loaded_js_for_admin_only']) && $pluginSettings['combine_loaded_js_for_admin_only'] == 1) )
77
+ && Menu::userCanManageAssets() ) {
78
+ $settingsClass->updateOption('combine_loaded_js', '');
79
+ $settingsClass->updateOption('combine_loaded_js_for_admin_only', '');
80
+ }
81
+ }
82
+
83
/**
84
* @param $handlesToClearFromInfo
85
*/
105
106
Misc::addUpdateOption($optionToUpdate, json_encode(Misc::filterList($existingList)));
107
}
108
+
109
+ /**
110
+ * When is this needed? Sometimes, you have rules such as "Unload site-wide (everywhere)" and load exceptions associated to it
111
+ * However, if you remove the unload rule, then the load exceptions associated with it will become useless as they worth together
112
+ * If no unload rule is added, the file is loaded anyway, it doesn't need any load exception obviously
113
+ *
114
+ * @param $assetHandle
115
+ * @param $assetType | it belongs to "styles" or "scripts"
116
+ */
117
+ public static function removeAllLoadExceptionsFor($assetHandle, $assetType)
118
+ {
119
+ /*
120
+ * Any in the front-page?
121
+ */
122
+ $wpacuFrontPageLoadExceptions = get_option(WPACU_PLUGIN_ID . '_front_page_load_exceptions');
123
+
124
+ if ($wpacuFrontPageLoadExceptions) {
125
+ $wpacuFrontPageLoadExceptionsArray = @json_decode( $wpacuFrontPageLoadExceptions, ARRAY_A );
126
+
127
+ $targetArray = isset($wpacuFrontPageLoadExceptionsArray[$assetType]) && is_array($wpacuFrontPageLoadExceptionsArray[$assetType])
128
+ ? $wpacuFrontPageLoadExceptionsArray[$assetType]
129
+ : array();
130
+
131
+ if ( in_array($assetHandle, $targetArray) ) {
132
+ $targetKey = array_search($assetHandle, $targetArray);
133
+ unset($wpacuFrontPageLoadExceptionsArray[$assetType][$targetKey]); // clear the exception
134
+
135
+ Misc::addUpdateOption(
136
+ WPACU_PLUGIN_ID . '_front_page_load_exceptions',
137
+ json_encode(Misc::filterList($wpacuFrontPageLoadExceptionsArray))
138
+ );
139
+ }
140
+ }
141
+
142
+ global $wpdb;
143
+
144
+ $wpacuPluginId = WPACU_PLUGIN_ID;
145
+
146
+ /*
147
+ * Any for posts (any kind), pages, taxonomies or users?
148
+ */
149
+ foreach (array($wpdb->postmeta, $wpdb->termmeta, $wpdb->usermeta) as $tableName) {
150
+ $wpacuGetValuesQuery = <<<SQL
151
+ SELECT * FROM `{$tableName}` WHERE meta_key='_{$wpacuPluginId}_load_exceptions'
152
+ SQL;
153
+ $wpacuMetaData = $wpdb->get_results( $wpacuGetValuesQuery, ARRAY_A );
154
+
155
+ foreach ( $wpacuMetaData as $wpacuValues ) {
156
+ $decodedValues = @json_decode( $wpacuValues['meta_value'], ARRAY_A );
157
+
158
+ if ( empty( $decodedValues ) ) {
159
+ continue;
160
+ }
161
+
162
+ if ( isset( $decodedValues[ $assetType ] ) &&
163
+ is_array( $decodedValues[ $assetType ] ) &&
164
+ in_array( $assetHandle, $decodedValues[ $assetType ] ) ) {
165
+ $targetKey = array_search( $assetHandle, $decodedValues[ $assetType ] );
166
+ unset( $decodedValues[ $assetType ][ $targetKey ] ); // clear the exception
167
+ } else {
168
+ continue; // no point in re-updating the database with the same values
169
+ }
170
+
171
+ $newList = json_encode(Misc::filterList($decodedValues));
172
+
173
+ if ( $tableName === $wpdb->postmeta ) {
174
+ update_post_meta($wpacuValues['post_id'], '_'.$wpacuPluginId.'_load_exceptions', $newList);
175
+ } elseif ( $tableName === $wpdb->termmeta ) {
176
+ update_term_meta($wpacuValues['term_id'], '_'.$wpacuPluginId.'_load_exceptions', $newList);
177
+ } else {
178
+ update_user_meta($wpacuValues['user_id'], '_'.$wpacuPluginId.'_load_exceptions', $newList);
179
+ }
180
+ }
181
+ }
182
+
183
+ /*
184
+ * Any load exceptions for 404, search, date pages?
185
+ */
186
+ $wpacuExtrasLoadExceptions = get_option(WPACU_PLUGIN_ID . '_extras_load_exceptions');
187
+
188
+ if ($wpacuExtrasLoadExceptions) {
189
+ $wpacuExtrasLoadExceptionsArray = @json_decode( $wpacuExtrasLoadExceptions, ARRAY_A );
190
+
191
+ // $forKey could be '404', 'search', 'date', etc.
192
+ foreach ($wpacuExtrasLoadExceptionsArray as $forKey => $values) {
193
+ $targetArray = isset( $values[ $assetType ] ) && is_array( $values[ $assetType ] ) ? $values[ $assetType ] : array();
194
+
195
+ if ( in_array( $assetHandle, $targetArray ) ) {
196
+ $targetKey = array_search( $assetHandle, $targetArray );
197
+ unset( $wpacuExtrasLoadExceptionsArray[ $forKey ][ $assetType ][ $targetKey ] ); // clear the exception
198
+
199
+ Misc::addUpdateOption(
200
+ WPACU_PLUGIN_ID . '_extras_load_exceptions',
201
+ json_encode( Misc::filterList( $wpacuExtrasLoadExceptionsArray ) )
202
+ );
203
+ }
204
+ }
205
+ }
206
+
207
+ /*
208
+ * Any (RegEx / Logged-in User) load exceptions?
209
+ */
210
+ $dbListJson = get_option(WPACU_PLUGIN_ID . '_global_data');
211
+ $globalKeys = array('load_regex', 'load_it_logged_in');
212
+
213
+ foreach ($globalKeys as $globalKey) {
214
+ if ( $dbListJson ) {
215
+ $dbList = @json_decode( $dbListJson, ARRAY_A );
216
+
217
+ $targetArray = isset( $dbList[ $assetType ][ $globalKey ] ) &&
218
+ is_array( $dbList[ $assetType ][ $globalKey ] )
219
+ ? $dbList[ $assetType ][ $globalKey ] : array();
220
+
221
+ if ( array_key_exists( $assetHandle, $targetArray ) ) {
222
+ unset( $dbList[ $assetType ][ $globalKey ][ $assetHandle ] ); // clear the exception
223
+
224
+ Misc::addUpdateOption(
225
+ WPACU_PLUGIN_ID . '_global_data',
226
+ json_encode( Misc::filterList( $dbList ) )
227
+ );
228
+ }
229
+ }
230
+ }
231
+ }
232
+
233
+ /**
234
+ * @param $assetHandle
235
+ * @param $assetType
236
+ */
237
+ public static function removeAllRulesFor($assetHandle, $assetType)
238
+ {
239
+ // Clear any load exception rules
240
+ self::removeAllLoadExceptionsFor($assetHandle, $assetType);
241
+
242
+ /*
243
+ * Table: WPACU_PLUGIN_ID . '_global_data'
244
+ * Global (Site-wide) Rules: Preloading, Position changing, Unload via RegEx, etc.
245
+ */
246
+ $wpacuGlobalData = get_option(WPACU_PLUGIN_ID . '_global_data');
247
+ $wpacuGlobalDataArray = @json_decode($wpacuGlobalData, ARRAY_A);
248
+
249
+ foreach ( array(
250
+ '404',
251
+ 'assets_info',
252
+ 'date',
253
+ 'everywhere',
254
+ 'ignore_child',
255
+ 'load_it_logged_in',
256
+ 'load_regex',
257
+ 'notes',
258
+ 'positions',
259
+ 'preloads',
260
+ 'search',
261
+ 'unload_regex' ) as $dataType ) {
262
+ if ( isset( $wpacuGlobalDataArray[ $assetType ][ $dataType ] ) && ! empty( $wpacuGlobalDataArray[ $assetType ][ $dataType ] ) && array_key_exists($assetHandle, $wpacuGlobalDataArray[ $assetType ][ $dataType ]) ) {
263
+ unset( $wpacuGlobalDataArray[ $assetType ][ $dataType ][ $assetHandle ]);
264
+ }
265
+ }
266
+
267
+ Misc::addUpdateOption(
268
+ WPACU_PLUGIN_ID . '_global_data',
269
+ json_encode( Misc::filterList( $wpacuGlobalDataArray ) )
270
+ );
271
+
272
+ /*
273
+ * Table: WPACU_PLUGIN_ID . '_global_unload'
274
+ * Unload Site-Wide (Everywhere)
275
+ */
276
+ $wpacuGlobalUnloadData = get_option(WPACU_PLUGIN_ID . '_global_unload');
277
+ $wpacuGlobalUnloadDataArray = @json_decode($wpacuGlobalUnloadData, ARRAY_A);
278
+
279
+ if (isset($wpacuGlobalUnloadDataArray[$assetType]) && ! empty($wpacuGlobalUnloadDataArray[$assetType]) && in_array($assetHandle, $wpacuGlobalUnloadDataArray[$assetType])) {
280
+ $targetKey = array_search($assetHandle, $wpacuGlobalUnloadDataArray[$assetType]);
281
+ unset($wpacuGlobalUnloadDataArray[$assetType][$targetKey]);
282
+
283
+ Misc::addUpdateOption(
284
+ WPACU_PLUGIN_ID . '_global_unload',
285
+ json_encode( Misc::filterList( $wpacuGlobalUnloadDataArray ) )
286
+ );
287
+ }
288
+
289
+ /*
290
+ * Table: WPACU_PLUGIN_ID . '_bulk_unload'
291
+ * Bulk Unload
292
+ */
293
+ $wpacuBulkUnloadData = get_option(WPACU_PLUGIN_ID . '_bulk_unload');
294
+ $wpacuBulkUnloadDataArray = @json_decode($wpacuBulkUnloadData, ARRAY_A);
295
+
296
+ if (isset($wpacuBulkUnloadDataArray[$assetType]) && ! empty($wpacuBulkUnloadDataArray[$assetType])) {
297
+ foreach ($wpacuBulkUnloadDataArray[$assetType] as $unloadBulkType => $unloadBulkValues) {
298
+ // $unloadBulkType could be 'post_type', 'date', '404', 'taxonomy', 'search'
299
+ if ($unloadBulkType === 'post_type') {
300
+ foreach ($unloadBulkValues as $postType => $assetHandles) {
301
+ if (in_array($assetHandle, $assetHandles)) {
302
+ $targetKey = array_search($assetHandle, $assetHandles);
303
+ unset($wpacuBulkUnloadDataArray[$assetType][$unloadBulkType][$postType][$targetKey]);
304
+ }
305
+ }
306
+ } elseif (in_array($unloadBulkType, array('date', '404', 'search'))) {
307
+ if (in_array($assetHandle, $unloadBulkValues)) {
308
+ $targetKey = array_search($assetHandle, $unloadBulkValues);
309
+ unset($wpacuBulkUnloadDataArray[$assetType][$unloadBulkType][$targetKey]);
310
+ }
311
+ } elseif ($unloadBulkType === 'taxonomy') {
312
+ foreach ($unloadBulkValues as $taxonomyType => $assetHandles) {
313
+ if (in_array($assetHandle, $assetHandles)) {
314
+ $targetKey = array_search($assetHandle, $assetHandles);
315
+ unset($wpacuBulkUnloadDataArray[$assetType][$unloadBulkType][$taxonomyType][$targetKey]);
316
+ }
317
+ }
318
+ } elseif ($unloadBulkType === 'author' && isset($unloadBulkValues['all']) && ! empty($unloadBulkValues['all'])) {
319
+ foreach ($unloadBulkValues['all'] as $assetHandles) {
320
+ if (in_array($assetHandle, $assetHandles)) {
321
+ $targetKey = array_search($assetHandle, $assetHandles);
322
+ unset($wpacuBulkUnloadDataArray[$assetType][$unloadBulkType]['all'][$targetKey]);
323
+ }
324
+ }
325
+ }
326
+ }
327
+
328
+ Misc::addUpdateOption(
329
+ WPACU_PLUGIN_ID . '_bulk_unload',
330
+ json_encode( Misc::filterList( $wpacuBulkUnloadDataArray ) )
331
+ );
332
+ }
333
+
334
+ /*
335
+ * Table: WPACU_PLUGIN_ID . '_front_page_no_load'
336
+ * Homepage (Unloads)
337
+ */
338
+ $wpacuFrontPageUnloads = get_option(WPACU_PLUGIN_ID . '_front_page_no_load');
339
+
340
+ if ($wpacuFrontPageUnloads) {
341
+ $wpacuFrontPageUnloadsArray = @json_decode( $wpacuFrontPageUnloads, ARRAY_A );
342
+
343
+ if ( isset( $wpacuFrontPageUnloadsArray[$assetType] ) && ! empty( $wpacuFrontPageUnloadsArray[$assetType] ) && in_array( $assetHandle, $wpacuFrontPageUnloadsArray[$assetType] ) ) {
344
+ $targetKey = array_search($assetHandle, $wpacuFrontPageUnloadsArray[$assetType]);
345
+ unset($wpacuFrontPageUnloadsArray[$assetType][$targetKey]);
346
+ }
347
+
348
+ Misc::addUpdateOption(
349
+ WPACU_PLUGIN_ID . '_front_page_no_load',
350
+ json_encode( Misc::filterList( $wpacuFrontPageUnloadsArray ) )
351
+ );
352
+ }
353
+
354
+ /*
355
+ * Table: WPACU_PLUGIN_ID . '_front_page_data'
356
+ * Homepage (async, defer)
357
+ */
358
+ $wpacuFrontPageData = ($assetType === 'scripts') && get_option(WPACU_PLUGIN_ID . '_front_page_data');
359
+
360
+ if ($wpacuFrontPageData) {
361
+ $wpacuFrontPageDataArray = @json_decode( $wpacuFrontPageData, ARRAY_A );
362
+
363
+ if ( isset( $wpacuFrontPageDataArray[$assetType][$assetHandle] ) ) {
364
+ unset( $wpacuFrontPageDataArray[$assetType][$assetHandle] );
365
+ }
366
+
367
+ if ( isset( $wpacuFrontPageDataArray['scripts_attributes_no_load'][$assetHandle] ) ) {
368
+ unset( $wpacuFrontPageDataArray['scripts_attributes_no_load'][$assetHandle] );
369
+ }
370
+
371
+ Misc::addUpdateOption(
372
+ WPACU_PLUGIN_ID . '_front_page_data',
373
+ json_encode( Misc::filterList( $wpacuFrontPageDataArray ) )
374
+ );
375
+ }
376
+
377
+ /*
378
+ * Tables: $wpdb->postmeta, $wpdb->termmeta, $wpdb->usermeta (all part of the standard WordPress tables)
379
+ * Plugin meta keys: _{$wpacuPluginId}_no_load', _{$wpacuPluginId}_data
380
+ * Get all Asset CleanUp (Pro) meta keys from all WordPress meta tables where it can be possibly used
381
+ *
382
+ */
383
+ global $wpdb;
384
+ $wpacuPluginId = WPACU_PLUGIN_ID;
385
+
386
+ foreach (array($wpdb->postmeta, $wpdb->termmeta, $wpdb->usermeta) as $tableName) {
387
+ $wpacuGetValuesQuery = <<<SQL
388
+ SELECT * FROM `{$tableName}`
389
+ WHERE meta_key IN('_{$wpacuPluginId}_no_load', '_{$wpacuPluginId}_data')
390
+ SQL;
391
+ $wpacuMetaData = $wpdb->get_results( $wpacuGetValuesQuery, ARRAY_A );
392
+
393
+ foreach ( $wpacuMetaData as $wpacuValues ) {
394
+ $decodedValues = @json_decode( $wpacuValues['meta_value'], ARRAY_A );
395
+
396
+ // No load rules
397
+ if ( $wpacuValues['meta_key'] === '_' . $wpacuPluginId . '_no_load' && isset( $decodedValues[$assetType] ) && in_array($assetHandle, $decodedValues[$assetType]) ) {
398
+ $targetKey = array_search($assetHandle, $decodedValues[$assetType]);
399
+ unset($decodedValues[$assetType][$targetKey]);
400
+
401
+ if ($tableName === $wpdb->postmeta) {
402
+ update_post_meta($wpacuValues['post_id'], '_' . $wpacuPluginId . '_no_load', json_encode( Misc::filterList( $decodedValues ) ) );
403
+ } elseif ($tableName === $wpdb->termmeta) {
404
+ update_term_meta($wpacuValues['term_id'], '_' . $wpacuPluginId . '_no_load', json_encode( Misc::filterList( $decodedValues ) ) );
405
+ } elseif ($tableName === $wpdb->usermeta) {
406
+ update_user_meta($wpacuValues['user_id'], '_' . $wpacuPluginId . '_no_load', json_encode( Misc::filterList( $decodedValues ) ) );
407
+ }
408
+ }
409
+
410
+ // Other rules such as script attribute (e.g. async, defer)
411
+ if ( $wpacuValues['meta_key'] === '_' . $wpacuPluginId . '_data' ) {
412
+ if ( isset( $decodedValues[$assetType][$assetHandle] ) ) {
413
+ unset( $decodedValues[ $assetType ][ $assetHandle ] );
414
+ }
415
+
416
+ // Load exceptions for script attributes
417
+ if ( $assetType === 'scripts' && isset( $decodedValues['scripts_attributes_no_load'][$assetHandle] ) ) {
418
+ unset($decodedValues['scripts_attributes_no_load'][$assetHandle]);
419
+ }
420
+
421
+ if ($tableName === $wpdb->postmeta) {
422
+ update_post_meta($wpacuValues['post_id'], '_' . $wpacuPluginId . '_data', json_encode( Misc::filterList( $decodedValues ) ) );
423
+ } elseif ($tableName === $wpdb->termmeta) {
424
+ update_term_meta($wpacuValues['term_id'], '_' . $wpacuPluginId . '_data', json_encode( Misc::filterList( $decodedValues ) ) );
425
+ } elseif ($tableName === $wpdb->usermeta) {
426
+ update_user_meta($wpacuValues['user_id'], '_' . $wpacuPluginId . '_data', json_encode( Misc::filterList( $decodedValues ) ) );
427
+ }
428
+ }
429
+ }
430
+ }
431
+ }
432
+
433
+ /**
434
+ * Remove all unload rules apart from the site-wide one
435
+ *
436
+ * @param $assetHandle
437
+ * @param $assetType
438
+ */
439
+ public static function removeAllRedundantUnloadRulesFor($assetHandle, $assetType)
440
+ {
441
+ /*
442
+ * Table: WPACU_PLUGIN_ID . '_front_page_no_load'
443
+ * Homepage (Unloads)
444
+ */
445
+ $wpacuFrontPageUnloads = get_option(WPACU_PLUGIN_ID . '_front_page_no_load');
446
+
447
+ if ($wpacuFrontPageUnloads) {
448
+ $wpacuFrontPageUnloadsArray = @json_decode( $wpacuFrontPageUnloads, ARRAY_A );
449
+
450
+ if ( isset( $wpacuFrontPageUnloadsArray[$assetType] ) && ! empty( $wpacuFrontPageUnloadsArray[$assetType] ) && in_array( $assetHandle, $wpacuFrontPageUnloadsArray[$assetType] ) ) {
451
+ $targetKey = array_search($assetHandle, $wpacuFrontPageUnloadsArray[$assetType]);
452
+ unset($wpacuFrontPageUnloadsArray[$assetType][$targetKey]);
453
+ }
454
+
455
+ Misc::addUpdateOption(
456
+ WPACU_PLUGIN_ID . '_front_page_no_load',
457
+ json_encode( Misc::filterList( $wpacuFrontPageUnloadsArray ) )
458
+ );
459
+ }
460
+
461
+ /*
462
+ * Table: WPACU_PLUGIN_ID . '_bulk_unload'
463
+ * Bulk Unload
464
+ */
465
+ $wpacuBulkUnloadData = get_option(WPACU_PLUGIN_ID . '_bulk_unload');
466
+ $wpacuBulkUnloadDataArray = @json_decode($wpacuBulkUnloadData, ARRAY_A);
467
+
468
+ if (isset($wpacuBulkUnloadDataArray[$assetType]) && ! empty($wpacuBulkUnloadDataArray[$assetType])) {
469
+ foreach ($wpacuBulkUnloadDataArray[$assetType] as $unloadBulkType => $unloadBulkValues) {
470
+ // $unloadBulkType could be 'post_type', 'date', '404', 'taxonomy', 'search'
471
+ if ($unloadBulkType === 'post_type') {
472
+ foreach ($unloadBulkValues as $postType => $assetHandles) {
473
+ if (in_array($assetHandle, $assetHandles)) {
474
+ $targetKey = array_search($assetHandle, $assetHandles);
475
+ unset($wpacuBulkUnloadDataArray[$assetType][$unloadBulkType][$postType][$targetKey]);
476
+ }
477
+ }
478
+ } elseif (in_array($unloadBulkType, array('date', '404', 'search'))) {
479
+ if (in_array($assetHandle, $unloadBulkValues)) {
480
+ $targetKey = array_search($assetHandle, $unloadBulkValues);
481
+ unset($wpacuBulkUnloadDataArray[$assetType][$unloadBulkType][$targetKey]);
482
+ }
483
+ } elseif ($unloadBulkType === 'taxonomy') {
484
+ foreach ($unloadBulkValues as $taxonomyType => $assetHandles) {
485
+ if (in_array($assetHandle, $assetHandles)) {
486
+ $targetKey = array_search($assetHandle, $assetHandles);
487
+ unset($wpacuBulkUnloadDataArray[$assetType][$unloadBulkType][$taxonomyType][$targetKey]);
488
+ }
489
+ }
490
+ } elseif ($unloadBulkType === 'author' && isset($unloadBulkValues['all']) && ! empty($unloadBulkValues['all'])) {
491
+ foreach ($unloadBulkValues['all'] as $assetHandles) {
492
+ if (in_array($assetHandle, $assetHandles)) {
493
+ $targetKey = array_search($assetHandle, $assetHandles);
494
+ unset($wpacuBulkUnloadDataArray[$assetType][$unloadBulkType]['all'][$targetKey]);
495
+ }
496
+ }
497
+ }
498
+ }
499
+
500
+ Misc::addUpdateOption(
501
+ WPACU_PLUGIN_ID . '_bulk_unload',
502
+ json_encode( Misc::filterList( $wpacuBulkUnloadDataArray ) )
503
+ );
504
+ }
505
+
506
+ /*
507
+ * Tables: $wpdb->postmeta, $wpdb->termmeta, $wpdb->usermeta (all part of the standard WordPress tables)
508
+ * Plugin meta key: _{$wpacuPluginId}_no_load'
509
+ *
510
+ */
511
+ global $wpdb;
512
+ $wpacuPluginId = WPACU_PLUGIN_ID;
513
+
514
+ foreach (array($wpdb->postmeta, $wpdb->termmeta, $wpdb->usermeta) as $tableName) {
515
+ $wpacuGetValuesQuery = <<<SQL
516
+ SELECT * FROM `{$tableName}` WHERE meta_key='_{$wpacuPluginId}_no_load'
517
+ SQL;
518
+ $wpacuMetaData = $wpdb->get_results( $wpacuGetValuesQuery, ARRAY_A );
519
+
520
+ foreach ( $wpacuMetaData as $wpacuValues ) {
521
+ $decodedValues = @json_decode( $wpacuValues['meta_value'], ARRAY_A );
522
+
523
+ // No load rules
524
+ if ( isset( $decodedValues[$assetType] ) && in_array($assetHandle, $decodedValues[$assetType]) ) {
525
+ $targetKey = array_search($assetHandle, $decodedValues[$assetType]);
526
+ unset($decodedValues[$assetType][$targetKey]);
527
+
528
+ if ($tableName === $wpdb->postmeta) {
529
+ update_post_meta($wpacuValues['post_id'], '_' . $wpacuPluginId . '_no_load', json_encode( Misc::filterList( $decodedValues ) ) );
530
+ } elseif ($tableName === $wpdb->termmeta) {
531
+ update_term_meta($wpacuValues['term_id'], '_' . $wpacuPluginId . '_no_load', json_encode( Misc::filterList( $decodedValues ) ) );
532
+ } elseif ($tableName === $wpdb->usermeta) {
533
+ update_user_meta($wpacuValues['user_id'], '_' . $wpacuPluginId . '_no_load', json_encode( Misc::filterList( $decodedValues ) ) );
534
+ }
535
+ }
536
+ }
537
+ }
538
+
539
+ /*
540
+ * Table: WPACU_PLUGIN_ID . '_global_data'
541
+ * Global (Site-wide) Rules: Unload via RegEx
542
+ */
543
+ $wpacuGlobalData = get_option(WPACU_PLUGIN_ID . '_global_data');
544
+ $wpacuGlobalDataArray = @json_decode($wpacuGlobalData, ARRAY_A);
545
+
546
+ foreach ( array( 'unload_regex' ) as $dataType ) {
547
+ if ( isset( $wpacuGlobalDataArray[ $assetType ][ $dataType ] ) && ! empty( $wpacuGlobalDataArray[ $assetType ][ $dataType ] ) && array_key_exists($assetHandle, $wpacuGlobalDataArray[ $assetType ][ $dataType ]) ) {
548
+ unset( $wpacuGlobalDataArray[ $assetType ][ $dataType ][ $assetHandle ]);
549
+ }
550
+ }
551
+
552
+ Misc::addUpdateOption(
553
+ WPACU_PLUGIN_ID . '_global_data',
554
+ json_encode( Misc::filterList( $wpacuGlobalDataArray ) )
555
+ );
556
+ }
557
}
classes/MetaBoxes.php CHANGED
@@ -200,11 +200,11 @@ class MetaBoxes
200
201
// These are not public pages that are loading CSS/JS
202
// e.g. URI request ending in '/ct_template/inner-content/'
203
- if (isset($obj->name) && in_array($obj->name, self::hideMetaBoxesForPostTypes())) {
204
return false;
205
}
206
207
- if (isset($_GET['post']) && $_GET['post'] && isset($obj->name)) {
208
$permalinkStructure = get_option( 'permalink_structure' );
209
$postPermalink = get_permalink( $_GET['post'] );
210
200
201
// These are not public pages that are loading CSS/JS
202
// e.g. URI request ending in '/ct_template/inner-content/'
203
+ if (isset($obj->name) && $obj->name && in_array($obj->name, self::hideMetaBoxesForPostTypes())) {
204
return false;
205
}
206
207
+ if (isset($_GET['post'], $obj->name) && $_GET['post'] && $obj->name) {
208
$permalinkStructure = get_option( 'permalink_structure' );
209
$postPermalink = get_permalink( $_GET['post'] );
210
classes/Misc.php CHANGED
@@ -1014,10 +1014,6 @@ SQL;
1014
// In case a string is passed, make it to float
1015
$size = (float)$size;
1016
1017
- if (! ($size > 0)) {
1018
- return 'N/A';
1019
- }
1020
-
1021
$base = log($size, 1024);
1022
$suffixes = array('bytes', 'KB', 'MB');
1023
@@ -1033,7 +1029,13 @@ SQL;
1033
$precision
1034
);
1035
1036
- $output = $result.' '. $suffixes[$floorBase];
1037
1038
// If KB, also show the MB equivalent
1039
if ($floorBase === 1) {
1014
// In case a string is passed, make it to float
1015
$size = (float)$size;
1016
1017
$base = log($size, 1024);
1018
$suffixes = array('bytes', 'KB', 'MB');
1019
1029
$precision
1030
);
1031
1032
+ $resultForPrint = $result;
1033
+
1034
+ if ($suffixes[$floorBase] === 'KB' && $floorBase !== 1) {
1035
+ $resultForPrint = str_replace('.', '<span style="font-size: 80%; font-weight: 200;">.', $result).'</span>';
1036
+ }
1037
+
1038
+ $output = $resultForPrint.' '. $suffixes[$floorBase];
1039
1040
// If KB, also show the MB equivalent
1041
if ($floorBase === 1) {
classes/OptimiseAssets/CombineCss.php CHANGED
@@ -601,18 +601,26 @@ HTML;
601
return false;
602
}
603
604
- if ( ($pluginSettings['combine_loaded_css'] === 'for_admin'
605
- || $pluginSettings['combine_loaded_css_for_admin_only'] == 1)
606
- && Menu::userCanManageAssets()) {
607
- return true; // Do combine
608
}
609
610
- if ( $pluginSettings['combine_loaded_css_for_admin_only'] === ''
611
- && in_array($pluginSettings['combine_loaded_css'], array('for_all', 1)) ) {
612
return true; // Do combine
613
}
614
615
- // Finally, return false as none of the checks above matched
616
return false;
617
}
618
}
601
return false;
602
}
603
604
+ /*
605
+ // The option is no longer used since v1.1.7.3 (Pro) & v1.3.6.4 (Lite)
606
+ if ( ($pluginSettings['combine_loaded_css'] === 'for_admin'
607
+ || $pluginSettings['combine_loaded_css_for_admin_only'] == 1)
608
+ && Menu::userCanManageAssets()) {
609
+
610
+ return true; // Do combine
611
+ }
612
+ */
613
+
614
+ // "Apply it only for guest visitors (default)" is set; Do not combine if the user is logged in
615
+ if ( $pluginSettings['combine_loaded_css_for'] === 'guests' && is_user_logged_in() ) {
616
+ return false;
617
}
618
619
+ if (in_array($pluginSettings['combine_loaded_js'], array('for_all', 1)) ) {
620
return true; // Do combine
621
}
622
623
+ // Finally, return false as none of the verification above matched
624
return false;
625
}
626
}
classes/OptimiseAssets/CombineJs.php CHANGED
@@ -765,14 +765,20 @@ HTML;
765
return false;
766
}
767
768
if ( ($pluginSettings['combine_loaded_js'] === 'for_admin'
769
|| $pluginSettings['combine_loaded_js_for_admin_only'] == 1)
770
&& Menu::userCanManageAssets() ) {
771
return true; // Do combine
772
}
773
774
- if ( $pluginSettings['combine_loaded_js_for_admin_only'] === ''
775
- && in_array($pluginSettings['combine_loaded_js'], array('for_all', 1)) ) {
776
return true; // Do combine
777
}
778
765
return false;
766
}
767
768
+ /*
769
if ( ($pluginSettings['combine_loaded_js'] === 'for_admin'
770
|| $pluginSettings['combine_loaded_js_for_admin_only'] == 1)
771
&& Menu::userCanManageAssets() ) {
772
return true; // Do combine
773
}
774
+ */
775
776
+ // "Apply it only for guest visitors (default)" is set; Do not combine if the user is logged in
777
+ if ( $pluginSettings['combine_loaded_js_for'] === 'guests' && is_user_logged_in() ) {
778
+ return false;
779
+ }
780
+
781
+ if ( in_array($pluginSettings['combine_loaded_js'], array('for_all', 1)) ) {
782
return true; // Do combine
783
}
784
classes/OptimiseAssets/OptimizeCommon.php CHANGED
@@ -89,6 +89,11 @@ class OptimizeCommon
89
}
90
});
91
92
// Make sure HTML changes are applied to cached pages from "Cache Enabler" plugin
93
add_filter('cache_enabler_before_store', static function($htmlSource) {
94
return self::alterHtmlSource($htmlSource);
@@ -103,7 +108,7 @@ class OptimizeCommon
103
// are applied to cached pages from "WP Rocket" plugin
104
if (Misc::isPluginActive('wp-rocket/wp-rocket.php')) {
105
add_filter('rocket_buffer', static function($htmlSource) {
106
- return self::alterHtmlSource($htmlSource);
107
});
108
}
109
@@ -153,11 +158,21 @@ class OptimizeCommon
153
154
/**
155
* @param $htmlSource
156
*
157
* @return mixed|string|string[]|void|null
158
*/
159
- public static function alterHtmlSource($htmlSource)
160
{
161
// Dashboard View
162
// Return the HTML as it is without performing any optimisations to save resources
163
// Since the page has to be as clean as possible when fetching the assets
89
}
90
});
91
92
+ // Autoptimize Compatibility: Make sure Asset CleanUp's changes are applied
93
+ add_filter('autoptimize_filter_html_before_minify', static function($htmlSource) {
94
+ return self::alterHtmlSource($htmlSource, true);
95
+ });
96
+
97
// Make sure HTML changes are applied to cached pages from "Cache Enabler" plugin
98
add_filter('cache_enabler_before_store', static function($htmlSource) {
99
return self::alterHtmlSource($htmlSource);
108
// are applied to cached pages from "WP Rocket" plugin
109
if (Misc::isPluginActive('wp-rocket/wp-rocket.php')) {
110
add_filter('rocket_buffer', static function($htmlSource) {
111
+ return self::alterHtmlSource($htmlSource, true);
112
});
113
}
114
158
159
/**
160
* @param $htmlSource
161
+ * @param $triggerOnlyOnce bool
162
*
163
* @return mixed|string|string[]|void|null
164
*/
165
+ public static function alterHtmlSource($htmlSource, $triggerOnlyOnce = false)
166
{
167
+ // e.g. if it was called from "autoptimize_filter_html_before_minify", then there's no point in triggering it again from a different hook
168
+ if (defined('WPACU_ALTER_HTML_SOURCE_DONE')) {
169
+ return $htmlSource;
170
+ }
171
+
172
+ if ($triggerOnlyOnce && ! defined('WPACU_ALTER_HTML_SOURCE_DONE')) {
173
+ define('WPACU_ALTER_HTML_SOURCE_DONE', 1);
174
+ }
175
+
176
// Dashboard View
177
// Return the HTML as it is without performing any optimisations to save resources
178
// Since the page has to be as clean as possible when fetching the assets
classes/Overview.php CHANGED
@@ -13,6 +13,93 @@ class Overview
13
*/
14
public $data = array();
15
16
/**
17
* @return array
18
*/
@@ -153,7 +240,6 @@ SQL;
153
if (count($dataValue['attributes']) === 0) {
154
continue;
155
}
156
-
157
// async/defer applied site-wide
158
$allHandles[ $assetType ][ $assetHandle ]['script_site_wide_attrs'] = $dataValue['attributes'];
159
} elseif ($dataType !== 'everywhere' && $assetType === 'scripts' && isset($dataValue['attributes'])) {
@@ -285,7 +371,12 @@ SQL;
285
}
286
287
if ( $for === 'default' ) {
288
- $src = (isset( $data['assets_info'][ $assetType ][ $handle ]['src'] ) && $data['assets_info'][ $assetType ][ $handle ]['src']) ? $data['assets_info'][ $assetType ][ $handle ]['src'] : false;
289
290
$isExternalSrc = true;
291
@@ -302,10 +393,10 @@ SQL;
302
}
303
304
$ver = $wp_version; // default
305
- if (isset($data['assets_info'][ $assetType ][ $handle ]['ver'] ) && $data['assets_info'][ $assetType ][ $handle ]['ver'] ) {
306
- $ver = is_array($data['assets_info'][ $assetType ][ $handle ]['ver'] )
307
- ? implode(',', $data['assets_info'][ $assetType ][ $handle ]['ver'] )
308
- : $data['assets_info'][ $assetType ][ $handle ]['ver'] ;
309
}
310
?>
311
<strong><span style="color: green;"><?php echo $handle; ?></span></strong>
@@ -540,13 +631,13 @@ SQL;
540
}
541
542
if ( $src ) {
543
- $verDb = (isset($data['assets_info'][ $assetType ][ $handle ]['ver']) && $data['assets_info'][ $assetType ][ $handle ]['ver']) ? $data['assets_info'][ $assetType ][ $handle ]['ver'] : false;
544
545
$appendAfterSrc = (strpos($src, '?') === false) ? '?' : '&';
546
547
if ( $verDb ) {
548
if (is_array($verDb)) {
549
- $appendAfterSrc .= http_build_query(array('ver' => $data['assets_info'][ $assetType ][ $handle ]['ver']));
550
} else {
551
$appendAfterSrc .= 'ver='.$ver;
552
}
@@ -556,8 +647,24 @@ SQL;
556
?>
557
<div><a <?php if ($isExternalSrc) { ?> data-wpacu-external-source="<?php echo $src . $appendAfterSrc; ?>" <?php } ?> href="<?php echo $src . $appendAfterSrc; ?>" target="_blank"><small><?php echo str_replace( site_url(), '', $src ); ?></small></a> <?php if ($isExternalSrc) { ?><span data-wpacu-external-source-status></span><?php } ?></div>
558
<?php
559
- if ($maybeInactiveAsset = \WpAssetCleanUp\Misc::maybeIsInactiveAsset($src)) { ?>
560
- <div><small><strong>Note:</strong> <span style="color: darkred;">The plugin `<strong><?php echo $maybeInactiveAsset; ?></strong>` seems to be inactive, thus any rules set are also inactive &amp; irrelevant, unless you re-activate the plugin.</span></small></div>
561
<?php
562
}
563
}
@@ -584,6 +691,9 @@ SQL;
584
$anyGroupPostUnloadRule = false; // default (turns to true if any unload rule that applies on multiple pages for posts is set)
585
$anyLoadExceptionRule = false; // default (turns to true if any load exception rule is set)
586
587
// Site-wide
588
if (isset($handleData['unload_site_wide'])) {
589
$handleChangesOutput['site_wide'] = '<span style="color: #cc0000;">Unloaded site-wide (everywhere)</span>';
@@ -627,7 +737,8 @@ SQL;
627
$handleChangesOutput['bulk'] = rtrim($handleChangesOutput['bulk'], ', ');
628
629
if (isset($handleChangesOutput['site_wide'])) {
630
- $handleChangesOutput['bulk'] .= ' * <em>overwritten by the site-wide rule</em>';
631
}
632
}
633
@@ -635,12 +746,14 @@ SQL;
635
$handleChangesOutput['on_home_page'] = '<span style="color: #cc0000;">Unloaded</span> on the <a target="_blank" href="'.Misc::getPageUrl(0).'">homepage</a>';
636
637
if (isset($handleChangesOutput['site_wide'])) {
638
- $handleChangesOutput['on_home_page'] .= ' * <em>overwritten by the site-wide rule</em>';
639
}
640
}
641
642
if (isset($handleData['load_exception_on_home_page']) && $handleData['load_exception_on_home_page']) {
643
$handleChangesOutput['load_exception_on_home_page'] = '<span style="color: green;">Loaded (as an exception)</span> on the <a target="_blank" href="'.Misc::getPageUrl(0).'">homepage</a>';
644
}
645
646
// On this page: post, page, custom post type
@@ -661,7 +774,8 @@ SQL;
661
$handleChangesOutput['on_this_post'] .= rtrim($postsList, ', ');
662
663
if (isset($handleChangesOutput['site_wide'])) {
664
- $handleChangesOutput['on_this_post'] .= ' * <em>overwritten by the site-wide rule</em>';
665
}
666
}
667
@@ -685,7 +799,8 @@ SQL;
685
$handleChangesOutput['on_this_tax'] .= rtrim($taxList, ', ');
686
687
if (isset($handleChangesOutput['site_wide'])) {
688
- $handleChangesOutput['on_this_tax'] .= ' * <em>overwritten by the site-wide rule</em>';
689
}
690
}
691
@@ -706,7 +821,8 @@ SQL;
706
$handleChangesOutput['on_this_tax'] .= rtrim($taxList, ', ');
707
708
if (isset($handleChangesOutput['site_wide'])) {
709
- $handleChangesOutput['on_this_tax'] .= ' * <em>overwritten by the site-wide rule</em>';
710
}
711
}
712
@@ -715,12 +831,33 @@ SQL;
715
$handleChangesOutput['unloaded_via_regex'] = '<span style="color: #cc0000;">Unloads if</span> the request URI (from the URL) matches this RegEx(es): <code>'.nl2br($handleData['unload_regex']).'</code>';
716
717
if (isset($handleChangesOutput['site_wide'])) {
718
- $handleChangesOutput['unloaded_via_regex'] .= ' * <em>overwritten by the site-wide rule</em>';
719
}
720
721
$anyGroupPostUnloadRule = true;
722
}
723
724
if (isset($handleData['ignore_child']) && $handleData['ignore_child']) {
725
$handleChangesOutput['ignore_child'] = 'If unloaded by any rule, ignore dependencies and keep its "children" loaded';
726
}
@@ -826,7 +963,23 @@ SQL;
826
}
827
828
if (! $anyGroupPostUnloadRule && $anyLoadExceptionRule) {
829
- $handleChangesOutput['load_exception_notice'] = '<p><em><small><strong>Note:</strong> Although a load exception rule is added, it is not relevant as there are no rules that would work together with it (e.g. unloaded site-wide, on all posts). This exception can be removed as the file is loaded anyway in all pages.</small></em></p>';
830
}
831
832
return $handleChangesOutput;
13
*/
14
public $data = array();
15
16
+ /**
17
+ * Overview constructor.
18
+ */
19
+ public function __construct()
20
+ {
21
+ // [START] Clear load exceptions for a handle
22
+ $transientName = 'wpacu_load_exceptions_cleared';
23
+ if ( isset( $_POST['wpacu_action'], $_POST['wpacu_handle'], $_POST['wpacu_asset_type'] )
24
+ && ( $wpacuAction = $_POST['wpacu_action'] )
25
+ && ( $wpacuHandle = $_POST['wpacu_handle'] )
26
+ && ( $wpacuAssetType = $_POST['wpacu_asset_type'] ) && $wpacuAction === 'clear_load_exceptions'
27
+ ) {
28
+ check_admin_referer('wpacu_clear_load_exceptions', 'wpacu_clear_load_exceptions_nonce');
29
+ Maintenance::removeAllLoadExceptionsFor($wpacuHandle, $wpacuAssetType);
30
+ set_transient($transientName, array('handle' => $wpacuHandle, 'type' => $wpacuAssetType));
31
+ wp_redirect(admin_url('admin.php?page=wpassetcleanup_overview'));
32
+ exit();
33
+ }
34
+
35
+ if ($transientData = get_transient($transientName)) {
36
+ add_action('admin_notices', static function() use ($transientData, $transientName) {
37
+ $wpacuAssetTypeToPrint = ($transientData['type'] === 'styles') ? 'CSS' : 'JavaScript';
38
+ ?>
39
+ <div class="notice wpacu-notice-info is-dismissible">
40
+ <p><span style="color: #008f9c; font-size: 26px; margin-right: 4px; vertical-align: text-bottom; margin-bottom: 0;" class="dashicons dashicons-yes"></span> <?php echo sprintf(__('The load exception rules for the `<strong>%s</strong>` %s handle have been removed.', 'wp-asset-clean-up'), $transientData['handle'], $wpacuAssetTypeToPrint); ?></p>
41
+ </div>
42
+ <?php
43
+ delete_transient($transientName);
44
+ }, PHP_INT_MAX);
45
+ }
46
+ // [END] Clear load exceptions for a handle
47
+
48
+ // [START] Clear all rules for the chosen "orphaned" handle
49
+ $transientName = 'wpacu_all_rules_cleared';
50
+ if ( isset( $_POST['wpacu_action'], $_POST['wpacu_handle'], $_POST['wpacu_asset_type'] )
51
+ && ( $wpacuAction = $_POST['wpacu_action'] )
52
+ && ( $wpacuHandle = $_POST['wpacu_handle'] )
53
+ && ( $wpacuAssetType = $_POST['wpacu_asset_type'] ) && $wpacuAction === 'clear_all_rules'
54
+ ) {
55
+ check_admin_referer('wpacu_clear_all_rules', 'wpacu_clear_all_rules_nonce');
56
+ Maintenance::removeAllRulesFor($wpacuHandle, $wpacuAssetType);
57
+ set_transient('wpacu_all_rules_cleared', array('handle' => $wpacuHandle, 'type' => $wpacuAssetType));
58
+ wp_redirect(admin_url('admin.php?page=wpassetcleanup_overview'));
59
+ exit();
60
+ }
61
+
62
+ if ($transientData = get_transient($transientName)) {
63
+ add_action('admin_notices', static function() use ($transientData, $transientName) {
64
+ $wpacuAssetTypeToPrint = ($transientData['type'] === 'styles') ? 'CSS' : 'JavaScript';
65
+ ?>
66
+ <div class="notice wpacu-notice-info is-dismissible">
67
+ <p><span style="color: #008f9c; font-size: 26px; margin-right: 4px; vertical-align: text-bottom; margin-bottom: 0;" class="dashicons dashicons-yes"></span> <?php echo sprintf(__('All the rules were cleared for the orphaned `<strong>%s</strong>` %s handle.', 'wp-asset-clean-up'), $transientData['handle'], $wpacuAssetTypeToPrint); ?></p>
68
+ </div>
69
+ <?php
70
+ delete_transient($transientName);
71
+ }, PHP_INT_MAX);
72
+ }
73
+ // [END] Clear all rules for the chosen "orphaned" handle
74
+
75
+ // [START] Clear all redundant unload rules (if the site-wide one is already enabled)
76
+ $transientName = 'wpacu_all_redundant_unload_rules_cleared';
77
+ if ( isset( $_POST['wpacu_action'], $_POST['wpacu_handle'], $_POST['wpacu_asset_type'] )
78
+ && ( $wpacuAction = $_POST['wpacu_action'] )
79
+ && ( $wpacuHandle = $_POST['wpacu_handle'] )
80
+ && ( $wpacuAssetType = $_POST['wpacu_asset_type'] ) && $wpacuAction === 'clear_all_redundant_unload_rules'
81
+ ) {
82
+ check_admin_referer('wpacu_clear_all_redundant_rules', 'wpacu_clear_all_redundant_rules_nonce');
83
+ Maintenance::removeAllRedundantUnloadRulesFor($wpacuHandle, $wpacuAssetType);
84
+ set_transient($transientName, array('handle' => $wpacuHandle, 'type' => $wpacuAssetType));
85
+ wp_redirect(admin_url('admin.php?page=wpassetcleanup_overview'));
86
+ exit();
87
+ }
88
+
89
+ if ($transientData = get_transient($transientName)) {
90
+ add_action('admin_notices', static function() use ($transientData, $transientName) {
91
+ $wpacuAssetTypeToPrint = ($transientData['type'] === 'styles') ? 'CSS' : 'JavaScript';
92
+ ?>
93
+ <div class="notice wpacu-notice-info is-dismissible">
94
+ <p><span style="color: #008f9c; font-size: 26px; margin-right: 4px; vertical-align: text-bottom; margin-bottom: 0;" class="dashicons dashicons-yes"></span> <?php echo sprintf(__('All the redundant unload rules were cleared for the `<strong>%s</strong>` %s handle, leaving the only one relevant: `site-wide (everywhere)`.', 'wp-asset-clean-up'), $transientData['handle'], $wpacuAssetTypeToPrint); ?></p>
95
+ </div>
96
+ <?php
97
+ delete_transient($transientName);
98
+ }, PHP_INT_MAX);
99
+ }
100
+ // [END] Clear all redundant unload rules (if the site-wide one is already enabled)
101
+ }
102
+
103
/**
104
* @return array
105
*/
240
if (count($dataValue['attributes']) === 0) {
241
continue;
242
}
243
// async/defer applied site-wide
244
$allHandles[ $assetType ][ $assetHandle ]['script_site_wide_attrs'] = $dataValue['attributes'];
245
} elseif ($dataType !== 'everywhere' && $assetType === 'scripts' && isset($dataValue['attributes'])) {
371
}
372
373
if ( $for === 'default' ) {
374
+ // Show the original "src" and "ver, not the altered one
375
+ // (in case filters such as "wpacu_{$handle}_(css|js)_handle_obj" were used to load alternative versions of the file, depending on the situation)
376
+ $srcKey = isset($data['assets_info'][ $assetType ][ $handle ]['src_origin']) ? 'src_origin' : 'src';
377
+ $verKey = isset($data['assets_info'][ $assetType ][ $handle ]['ver_origin']) ? 'ver_origin' : 'ver';
378
+
379
+ $src = (isset( $data['assets_info'][ $assetType ][ $handle ][$srcKey] ) && $data['assets_info'][ $assetType ][ $handle ][$srcKey]) ? $data['assets_info'][ $assetType ][ $handle ][$srcKey] : false;
380
381
$isExternalSrc = true;
382
393
}
394
395
$ver = $wp_version; // default
396
+ if (isset($data['assets_info'][ $assetType ][ $handle ][$verKey] ) && $data['assets_info'][ $assetType ][ $handle ][$verKey] ) {
397
+ $ver = is_array($data['assets_info'][ $assetType ][ $handle ][$verKey] )
398
+ ? implode(',', $data['assets_info'][ $assetType ][ $handle ][$verKey] )
399
+ : $data['assets_info'][ $assetType ][ $handle ][$verKey] ;
400
}
401
?>
402
<strong><span style="color: green;"><?php echo $handle; ?></span></strong>
631
}
632
633
if ( $src ) {
634
+ $verDb = (isset($data['assets_info'][ $assetType ][ $handle ][$verKey]) && $data['assets_info'][ $assetType ][ $handle ][$verKey]) ? $data['assets_info'][ $assetType ][ $handle ][$verKey] : false;
635
636
$appendAfterSrc = (strpos($src, '?') === false) ? '?' : '&';
637
638
if ( $verDb ) {
639
if (is_array($verDb)) {
640
+ $appendAfterSrc .= http_build_query(array('ver' => $data['assets_info'][ $assetType ][ $handle ][$verKey]));
641
} else {
642
$appendAfterSrc .= 'ver='.$ver;
643
}
647
?>
648
<div><a <?php if ($isExternalSrc) { ?> data-wpacu-external-source="<?php echo $src . $appendAfterSrc; ?>" <?php } ?> href="<?php echo $src . $appendAfterSrc; ?>" target="_blank"><small><?php echo str_replace( site_url(), '', $src ); ?></small></a> <?php if ($isExternalSrc) { ?><span data-wpacu-external-source-status></span><?php } ?></div>
649
<?php
650
+ if ($maybeInactiveAsset = \WpAssetCleanUp\Misc::maybeIsInactiveAsset($src)) {
651
+ $clearAllRulesConfirmMsg = sprintf(esc_attr(__('This will clear all rules (unloads, load exceptions &amp; other settings) for the `%s` CSS handle', 'wp-asset-clean-up')), $handle)
652
+ . esc_js("\n\n") . esc_attr(__('Click \'OK\' to confirm the action', 'wp-asset-clean-up'));
653
+ $wpacuNonceField = wp_nonce_field('wpacu_clear_all_rules', 'wpacu_clear_all_rules_nonce');
654
+ ?>
655
+ <div>
656
+ <small><strong>Note:</strong> <span style="color: darkred;">The plugin `<strong><?php echo $maybeInactiveAsset; ?></strong>` seems to be inactive, thus any rules set are also inactive &amp; irrelevant, unless you re-activate the plugin.</span></small>
657
+ <form method="post" action="" style="display: inline-block;">
658
+ <input type="hidden" name="wpacu_action" value="clear_all_rules" />
659
+ <input type="hidden" name="wpacu_handle" value="<?php echo $handle; ?>" />
660
+ <input type="hidden" name="wpacu_asset_type" value="<?php echo $assetType; ?>" />
661
+ <?php echo $wpacuNonceField; ?>
662
+ <script type="text/javascript">
663
+ var wpacuClearAllRulesConfirmMsg = '<?php echo $clearAllRulesConfirmMsg; ?>';
664
+ </script>
665
+ <button onclick="return confirm(wpacuClearAllRulesConfirmMsg);" type="submit" class="button button-secondary"><span class="dashicons dashicons-trash" style="vertical-align: text-bottom;"></span> Clear all rules for this "orphaned" handle</button>
666
+ </form>
667
+ </div>
668
<?php
669
}
670
}
691
$anyGroupPostUnloadRule = false; // default (turns to true if any unload rule that applies on multiple pages for posts is set)
692
$anyLoadExceptionRule = false; // default (turns to true if any load exception rule is set)
693
694
+ // It could turn to "true" IF the site-wide rule is turned ON and there are other unload rules on top of it (useless ones in this case)
695
+ $hasRedundantUnloadRules = false;
696
+
697
// Site-wide
698
if (isset($handleData['unload_site_wide'])) {
699
$handleChangesOutput['site_wide'] = '<span style="color: #cc0000;">Unloaded site-wide (everywhere)</span>';
737
$handleChangesOutput['bulk'] = rtrim($handleChangesOutput['bulk'], ', ');
738
739
if (isset($handleChangesOutput['site_wide'])) {
740
+ $handleChangesOutput['bulk'] .= ' * <em>unnecessary, as it\'s already unloaded site-wide</em>';
741
+ $hasRedundantUnloadRules = true;
742
}
743
}
744
746
$handleChangesOutput['on_home_page'] = '<span style="color: #cc0000;">Unloaded</span> on the <a target="_blank" href="'.Misc::getPageUrl(0).'">homepage</a>';
747
748
if (isset($handleChangesOutput['site_wide'])) {
749
+ $handleChangesOutput['on_home_page'] .= ' * <em>unnecessary, as it\'s already unloaded site-wide</em>';
750
+ $hasRedundantUnloadRules = true;
751
}
752
}
753
754
if (isset($handleData['load_exception_on_home_page']) && $handleData['load_exception_on_home_page']) {
755
$handleChangesOutput['load_exception_on_home_page'] = '<span style="color: green;">Loaded (as an exception)</span> on the <a target="_blank" href="'.Misc::getPageUrl(0).'">homepage</a>';
756
+ $anyLoadExceptionRule = true;
757
}
758
759
// On this page: post, page, custom post type
774
$handleChangesOutput['on_this_post'] .= rtrim($postsList, ', ');
775
776
if (isset($handleChangesOutput['site_wide'])) {
777
+ $handleChangesOutput['on_this_post'] .= ' * <em>unnecessary, as it\'s already unloaded site-wide</em>';
778
+ $hasRedundantUnloadRules = true;
779
}
780
}
781
799
$handleChangesOutput['on_this_tax'] .= rtrim($taxList, ', ');
800
801
if (isset($handleChangesOutput['site_wide'])) {
802
+ $handleChangesOutput['on_this_tax'] .= ' * <em>unnecessary, as it\'s already unloaded site-wide</em>';
803
+ $hasRedundantUnloadRules = true;
804
}
805
}
806
821
$handleChangesOutput['on_this_tax'] .= rtrim($taxList, ', ');
822
823
if (isset($handleChangesOutput['site_wide'])) {
824
+ $handleChangesOutput['on_this_tax'] .= ' * <em>unnecessary, as it\'s already unloaded site-wide</em>';
825
+ $hasRedundantUnloadRules = true;
826
}
827
}
828
831
$handleChangesOutput['unloaded_via_regex'] = '<span style="color: #cc0000;">Unloads if</span> the request URI (from the URL) matches this RegEx(es): <code>'.nl2br($handleData['unload_regex']).'</code>';
832
833
if (isset($handleChangesOutput['site_wide'])) {
834
+ $handleChangesOutput['unloaded_via_regex'] .= ' * <em>unnecessary, as it\'s already unloaded site-wide</em>';
835
+ $hasRedundantUnloadRules = true;
836
}
837
838
$anyGroupPostUnloadRule = true;
839
}
840
841
+ // Maybe it has other unload rules on top of the site-wide one (which covers everything)
842
+ if ($hasRedundantUnloadRules) {
843
+ $clearRedundantUnloadRulesConfirmMsg = sprintf(esc_js(__('This will clear all redundant (useless) unload rules for the `%s` CSS handle as there\'s already a site-wide rule applied.', 'wp-asset-clean-up')), $handleData['handle'])
844
+ . esc_js("\n\n") . esc_js(__('Click \'OK\' to confirm the action', 'wp-asset-clean-up'));
845
+ $wpacuNonceField = wp_nonce_field('wpacu_clear_all_redundant_rules', 'wpacu_clear_all_redundant_rules_nonce');
846
+ $clearRedundantUnloadRulesArea = <<<HTML
847
+ <form method="post" action="" style="display: inline-block;">
848
+ <input type="hidden" name="wpacu_action" value="clear_all_redundant_unload_rules" />
849
+ <input type="hidden" name="wpacu_handle" value="{$handleData['handle']}" />
850
+ <input type="hidden" name="wpacu_asset_type" value="{$handleData['asset_type']}" />
851
+ {$wpacuNonceField}
852
+ <script type="text/javascript">
853
+ var wpacuClearRedundantUnloadRulesConfirmMsg = '{$clearRedundantUnloadRulesConfirmMsg}';
854
+ </script>
855
+ <button onclick="return confirm(wpacuClearRedundantUnloadRulesConfirmMsg);" type="submit" class="button button-secondary"><span class="dashicons dashicons-trash" style="vertical-align: text-bottom;"></span> Clear all redundant unload rules</button>
856
+ </form>
857
+ HTML;
858
+ $handleChangesOutput['has_redundant_unload_rules'] = $clearRedundantUnloadRulesArea;
859
+ }
860
+
861
if (isset($handleData['ignore_child']) && $handleData['ignore_child']) {
862
$handleChangesOutput['ignore_child'] = 'If unloaded by any rule, ignore dependencies and keep its "children" loaded';
863
}
963
}
964
965
if (! $anyGroupPostUnloadRule && $anyLoadExceptionRule) {
966
+ $clearLoadExceptionsConfirmMsg = sprintf(esc_attr(__('This will clear all load exceptions for the `%s` CSS handle', 'wp-asset-clean-up')), $handleData['handle'])
967
+ . esc_js("\n\n") . esc_js(__('Click \'OK\' to confirm the action', 'wp-asset-clean-up'));
968
+ $wpacuNonceField = wp_nonce_field('wpacu_clear_load_exceptions', 'wpacu_clear_load_exceptions_nonce');
969
+ $clearLoadExceptionsArea = <<<HTML
970
+ <form method="post" action="" style="display: inline-block;">
971
+ <input type="hidden" name="wpacu_action" value="clear_load_exceptions" />
972
+ <input type="hidden" name="wpacu_handle" value="{$handleData['handle']}" />
973
+ <input type="hidden" name="wpacu_asset_type" value="{$handleData['asset_type']}" />
974
+ {$wpacuNonceField}
975
+ <script type="text/javascript">
976
+ var wpacuClearLoadExceptionsConfirmMsg = '{$clearLoadExceptionsConfirmMsg}';
977
+ </script>
978
+ <button onclick="return confirm(wpacuClearLoadExceptionsConfirmMsg);" type="submit" class="button button-secondary clear-load-exceptions"><span class="dashicons dashicons-trash" style="vertical-align: text-bottom;"></span> Clear load exceptions for this handle</button>
979
+ </form>
980
+ HTML;
981
+ $handleChangesOutput['load_exception_notice'] = '<div><em><small><strong>Note:</strong> Although a load exception rule is added, it is not relevant as there are no rules that would work together with it (e.g. unloaded site-wide, on all posts). This exception can be removed as the file is loaded anyway in all pages.</small></em>&nbsp;'.
982
+ ' '.$clearLoadExceptionsArea.'</div><div style="clear:both;"></div>';
983
}
984
985
return $handleChangesOutput;
classes/OwnAssets.php CHANGED
@@ -38,7 +38,7 @@ class OwnAssets
38
add_filter('script_loader_tag', array($this, 'ownAssetLoaderTag'), 10, 2);
39
40
add_filter('wpacu_object_data', static function($wpacu_object_data) {
41
- $wpacu_object_data['source_load_error_msg'] = __('It looks like the source is not reachable', 'wp-asset-clean-up');
42
$wpacu_object_data['plugin_id'] = WPACU_PLUGIN_ID;
43
$wpacu_object_data['ajax_url'] = admin_url('admin-ajax.php');
44
$wpacu_object_data['is_frontend_view'] = false;
38
add_filter('script_loader_tag', array($this, 'ownAssetLoaderTag'), 10, 2);
39
40
add_filter('wpacu_object_data', static function($wpacu_object_data) {
41
+ $wpacu_object_data['source_load_error_msg'] = __('The source might not be reachable', 'wp-asset-clean-up');
42
$wpacu_object_data['plugin_id'] = WPACU_PLUGIN_ID;
43
$wpacu_object_data['ajax_url'] = admin_url('admin-ajax.php');
44
$wpacu_object_data['is_frontend_view'] = false;
classes/Plugin.php CHANGED
@@ -94,7 +94,7 @@ class Plugin
94
set_transient(WPACU_PLUGIN_ID . '_redirect_after_activation', 1, 15);
95
}
96
97
- // Make a record when Asset CleanUp is used for the first time
98
self::triggerFirstUsage();
99
100
/**
@@ -348,7 +348,7 @@ HTACCESS;
348
}
349
350
/**
351
- * Make a record when Asset CleanUp is used for the first time (if it's not there already)
352
*/
353
public static function triggerFirstUsage()
354
{
@@ -359,10 +359,9 @@ HTACCESS;
359
}
360
361
/**
362
- * This works like /?wpacu_no_lo
363
- * ad with a fundamental difference:
364
* It needs to be triggered through a very early 'init' action hook after all plugins are loaded, thus it can't be used in /early-triggers.php
365
- * e.g. in situations when the page is an AMP one, prevent any changes to the HTML source by Asset CleanUp Pro
366
*
367
* @return bool
368
*/
94
set_transient(WPACU_PLUGIN_ID . '_redirect_after_activation', 1, 15);
95
}
96
97
+ // Make a record when Asset CleanUp (Pro) is used for the first time
98
self::triggerFirstUsage();
99
100
/**
348
}
349
350
/**
351
+ * Make a record when Asset CleanUp (Pro) is used for the first time (if it's not there already)
352
*/
353
public static function triggerFirstUsage()
354
{
359
}
360
361
/**
362
+ * This works like /?wpacu_no_load with a fundamental difference:
363
* It needs to be triggered through a very early 'init' action hook after all plugins are loaded, thus it can't be used in /early-triggers.php
364
+ * e.g. in situations when the page is an AMP one, prevent any changes to the HTML source by Asset CleanUp (Pro)
365
*
366
* @return bool
367
*/
classes/Settings.php CHANGED
@@ -38,9 +38,7 @@ class Settings
38
'assets_list_layout_areas_status',
39
'assets_list_inline_code_status',
40
41
- // [wpacu_pro]
42
'assets_list_layout_plugin_area_status',
43
- // [/wpacu_pro]
44
45
// Fetch automatically, Fetch on click
46
'assets_list_show_status',
@@ -53,7 +51,13 @@ class Settings
53
// Combine loaded CSS (remaining ones after unloading the useless ones) into fewer files
54
'combine_loaded_css',
55
'combine_loaded_css_exceptions',
56
- 'combine_loaded_css_for_admin_only', // Since v1.1.1.4 (Pro) & v1.3.1.1 (Lite)
57
58
// [wpacu_pro]
59
'defer_css_loaded_body',
@@ -208,9 +212,7 @@ class Settings
208
'assets_list_layout' => 'by-location',
209
'assets_list_layout_areas_status' => 'expanded',
210
211
- // [wpacu_pro]
212
'assets_list_layout_plugin_area_status' => 'expanded',
213
- // [/wpacu_pro]
214
215
// "contracted" since 1.1.0.8 (Pro)
216
'assets_list_inline_code_status' => 'contracted', // takes less space overall
@@ -228,6 +230,10 @@ class Settings
228
'move_scripts_to_body_exceptions' => '//cdn.ampproject.org/',
229
// [/wpacu_pro]
230
231
'combine_loaded_css_exceptions' => '/plugins/wd-instagram-feed/(.*?).css',
232
'combine_loaded_js_exceptions' => '/plugins/wd-instagram-feed/(.*?).js',
233
38
'assets_list_layout_areas_status',
39
'assets_list_inline_code_status',
40
41
'assets_list_layout_plugin_area_status',
42
43
// Fetch automatically, Fetch on click
44
'assets_list_show_status',
51
// Combine loaded CSS (remaining ones after unloading the useless ones) into fewer files
52
'combine_loaded_css',
53
'combine_loaded_css_exceptions',
54
+
55
+ // Added since v1.1.7.3 (Pro) & v1.3.6.4 (Lite)
56
+ 'combine_loaded_css_for',
57
+ 'combine_loaded_js_for',
58
+
59
+ // No longer used since v1.1.7.3 (Pro) & v1.3.6.4 (Lite)
60
+ //'combine_loaded_css_for_admin_only', // Since v1.1.1.4 (Pro) & v1.3.1.1 (Lite)
61
62
// [wpacu_pro]
63
'defer_css_loaded_body',
212
'assets_list_layout' => 'by-location',
213
'assets_list_layout_areas_status' => 'expanded',
214
215
'assets_list_layout_plugin_area_status' => 'expanded',
216
217
// "contracted" since 1.1.0.8 (Pro)
218
'assets_list_inline_code_status' => 'contracted', // takes less space overall
230
'move_scripts_to_body_exceptions' => '//cdn.ampproject.org/',
231
// [/wpacu_pro]
232
233
+ // Since v1.1.7.3 (Pro) & v1.3.6.4 (Lite)
234
+ 'combine_loaded_css_for' => 'guests',
235
+ 'combine_loaded_js_for' => 'guests',
236
+
237
'combine_loaded_css_exceptions' => '/plugins/wd-instagram-feed/(.*?).css',
238
'combine_loaded_js_exceptions' => '/plugins/wd-instagram-feed/(.*?).js',
239
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tags: minify css, minify javascript, defer css javascript, page speed, dequeue,
4
Donate link: https://www.gabelivan.com/items/wp-asset-cleanup-pro/?utm_source=wp_org_lite&utm_medium=donate
5
Requires at least: 4.5
6
Tested up to: 5.4.1
7
- Stable tag: 1.3.6.3
8
License: GPLv3
9
License URI: http://www.gnu.org/licenses/gpl.html
10
@@ -179,12 +179,19 @@ With the recently released "Test Mode" feature, you can safely unload assets on
179
4. Homepage CSS & JS Management (List sorted by location)
180
181
== Changelog ==
182
= 1.3.6.3 =
183
* New Feature in the CSS/JS Manager: The handle rows can be contracted/expanded (their status is saved when the form is submitted); This is useful to make the whole area smaller (less scrolling) as there will likely be CSS/JS files that you know you will never edit for a long time (if ever) and it's better to have them contracted
184
* New Option in "Settings" - "Plugin Usage Preferences": Hide Dashboard's "Asset CleanUp Pro" menu from the left sidebar in case you don't use the plugin too often or wish to have a cleaner sidebar (read more: https://assetcleanup.com/docs/?p=584)
185
* Compatibility with Ronneby Theme: Alter the style/script tag later (e.g. by appending plugin markers) after plugins such as "Ronneby Core" alter it (in this case it prevents the URLs from the LINK tags to be stripped)
186
* When listing dependencies in the CSS JS managing list (e.g. the "children" of a "parent"), show the unloaded ones in the red font; Dependency handles are linked as anchors for easier navigation between them
187
- * WP Rocket compatibility: Make sure HTML changes made by Asset CleanUp Pro are always applied (via "rocket_buffer" filter hook) before WP Rocket saves the HTML content to the cached file
188
* Fix: After updating the the CSS/JS manager on any page, the page preloads for the guest visitors; Make sure the response from wp_remote_get() is always checked to avoid PHP errors logged to error_log (even though the errors are harmless for the front-end view, the error log files can get too big)
189
* Fix (unstyled CSS/JS management area in front-end view): Make sure the plugin's own style is properly loaded asynchronously in Firefox in any situation
190
4
Donate link: https://www.gabelivan.com/items/wp-asset-cleanup-pro/?utm_source=wp_org_lite&utm_medium=donate
5
Requires at least: 4.5
6
Tested up to: 5.4.1
7
+ Stable tag: 1.3.6.4
8
License: GPLv3
9
License URI: http://www.gnu.org/licenses/gpl.html
10
179
4. Homepage CSS & JS Management (List sorted by location)
180
181
== Changelog ==
182
+ = 1.3.6.4 =
183
+ * New Option: "When list is grouped by location, keep the assets from each of the plugins in the following state": 'Contracted' mode is now available and if you have many plugins, the list can be contracted when the CSS/JS manager list is loaded
184
+ * New Option: "File Size:" available for each CSS/JS, either local or external
185
+ * Combine CSS/JS "Apply combination only for logged-in administrator (for debugging purposes)" is no longer available and has been replaced with two options: "Apply it only for guest visitors (default)" & "Apply it for all visitors (not recommended)"
186
+ * "Overview" new options: 1) Added option to remove all load exceptions for a handle in "Overview" page when the load exceptions are not tied to any bulk unload rule; 2) Clear redundant unload rules if the site-wide rule is already applied
187
+ * "Autoptimize" compatibility: Make sure the HTML source code is always altered before "Optimize HTML Code?" is triggered in Autoptimize
188
+
189
= 1.3.6.3 =
190
* New Feature in the CSS/JS Manager: The handle rows can be contracted/expanded (their status is saved when the form is submitted); This is useful to make the whole area smaller (less scrolling) as there will likely be CSS/JS files that you know you will never edit for a long time (if ever) and it's better to have them contracted
191
* New Option in "Settings" - "Plugin Usage Preferences": Hide Dashboard's "Asset CleanUp Pro" menu from the left sidebar in case you don't use the plugin too often or wish to have a cleaner sidebar (read more: https://assetcleanup.com/docs/?p=584)
192
* Compatibility with Ronneby Theme: Alter the style/script tag later (e.g. by appending plugin markers) after plugins such as "Ronneby Core" alter it (in this case it prevents the URLs from the LINK tags to be stripped)
193
* When listing dependencies in the CSS JS managing list (e.g. the "children" of a "parent"), show the unloaded ones in the red font; Dependency handles are linked as anchors for easier navigation between them
194
+ * "WP Rocket" compatibility: Make sure HTML changes made by Asset CleanUp Pro are always applied (via "rocket_buffer" filter hook) before WP Rocket saves the HTML content to the cached file
195
* Fix: After updating the the CSS/JS manager on any page, the page preloads for the guest visitors; Make sure the response from wp_remote_get() is always checked to avoid PHP errors logged to error_log (even though the errors are harmless for the front-end view, the error log files can get too big)
196
* Fix (unstyled CSS/JS management area in front-end view): Make sure the plugin's own style is properly loaded asynchronously in Firefox in any situation
197
templates/_admin-page-getting-started-areas/_how-it-works.php CHANGED
@@ -9,12 +9,12 @@ if (! isset($data)) {
9
<p><?php _e('Often, our WordPress websites are loaded with elements that are not needed to load on specific pages or even everywhere.', 'wp-asset-clean-up'); ?> <?php _e('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.', 'wp-asset-clean-up'); ?></p>
10
<p><?php _e('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.', 'wp-asset-clean-up'); ?></p>
11
<hr />
12
- <p class="area-title"><?php _e('What Asset CleanUp really does?', 'wp-asset-clean-up'); ?> <span style="font-size: 24px;"><img draggable="false" class="wpacu-emoji" alt="🚀" src="https://s.w.org/images/core/emoji/12.0.0-1/svg/1f680.svg" /></span></p>
13
- <p>Asset CleanUp is a <strong>front-end optimisation performance plugin</strong> and let's you select the assets that are not needed to load on your website and combine the remaining loaded ones into fewer files, which will in the end reduce considerably the number of HTTP requests and optimize the front-end side of your pages. <a target="_blank" href="https://developer.yahoo.com/performance/rules.html"><?php _e('Read more', 'wp-asset-clean-up'); ?></a></p>
14
<p>Once the setup is completed, the pages will have a better speed score since there will be less HTTP requests (.css &amp; .js files) loaded by the browser (this can be tested using tools such as GTMetrix) and combined with a backend page caching system it will improve the page speed even more.
15
<p><?php _e('Page caching solutions include', 'wp-asset-clean-up'); ?>:</p>
16
<ul style="font-size: 14px; list-style: disc; margin-left: 25px;">
17
- <li style="line-height: 21px; margin-bottom: 15px;">A plugin such as <a target="_blank" href="https://www.gabelivan.com/visit/wp-rocket">WP Rocket</a> that creates static HTML files (which are lighter thanks to Asset CleanUp) and reads them avoiding PHP code processing within the active plugins &amp; theme, including database queries which can use lots of server resources if you have high traffic. <?php echo sprintf(__('The page caching improves the %sTTFB%s (time to first byte) which measures the duration from the user or client making an HTTP request to the first byte of the page being received by the client\'s browser.', 'wp-asset-clean-up'), '<a href="http://gabelivan.com/visit/wp-rocket-ttfb">', '</a>'); ?></li>
18
<li style="line-height: 21px; margin-bottom: 20px;">
19
<?php echo sprintf(
20
__('A hosting service that has its in-built WordPress caching like %sWPEngine%s or Kinsta, a web application accelerator like Varnish that can be setup the server etc.', 'wp-asset-clean-up'),
@@ -27,7 +27,7 @@ if (! isset($data)) {
27
<p style="line-height: normal;"><small><strong><?php _e('Disclaimer', 'wp-asset-clean-up'); ?>:</strong> <?php _e('The recommendations above are based from my own experience as a developer &amp; user and I\'m happy to recommend them to whoever wants superior WordPress performance.', 'wp-asset-clean-up'); ?> <?php _e('The links are affiliate related and I might get a commission if you decide to make a purchase.', 'wp-asset-clean-up'); ?></small></p>
28
<hr />
29
<p class="area-title">Example (Stripping ~66% of "crap") <span style="font-size: 24px;"><img draggable="false" class="wpacu-emoji" alt="✨" src="https://s.w.org/images/core/emoji/12.0.0-1/svg/2728.svg" /></span></p>
30
- <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 combine 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>
31
<hr />
32
<p class="area-title"><?php _e('Not sure how to configure it?', 'wp-asset-clean-up'); ?> <span style="font-size: 24px;"><img draggable="false" class="wpacu-emoji" alt="🤔" src="https://s.w.org/images/core/emoji/12.0.0-1/svg/1f914.svg" /></span></p>
33
<p><?php _e('No problem!', 'wp-asset-clean-up'); ?> <?php _e('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.', 'wp-asset-clean-up'); ?> <?php _e('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.', 'wp-asset-clean-up'); ?> <a target="_blank" href="https://assetcleanup.com/docs/?p=84"><?php _e('Read more', 'wp-asset-clean-up'); ?></a></p>
9
<p><?php _e('Often, our WordPress websites are loaded with elements that are not needed to load on specific pages or even everywhere.', 'wp-asset-clean-up'); ?> <?php _e('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.', 'wp-asset-clean-up'); ?></p>
10
<p><?php _e('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.', 'wp-asset-clean-up'); ?></p>
11
<hr />
12
+ <p class="area-title"><?php echo sprintf(__('What %s really does?', 'wp-asset-clean-up'), WPACU_PLUGIN_TITLE); ?> <span style="font-size: 24px;"><img draggable="false" class="wpacu-emoji" alt="🚀" src="https://s.w.org/images/core/emoji/12.0.0-1/svg/1f680.svg" /></span></p>
13
+ <p><?php echo WPACU_PLUGIN_TITLE; ?> is a <strong>front-end optimisation performance plugin</strong> and let's you select the assets that are not needed to load on your website and combine the remaining loaded ones into fewer files, which will in the end reduce considerably the number of HTTP requests and optimize the front-end side of your pages. <a target="_blank" href="https://developer.yahoo.com/performance/rules.html"><?php _e('Read more', 'wp-asset-clean-up'); ?></a></p>
14
<p>Once the setup is completed, the pages will have a better speed score since there will be less HTTP requests (.css &amp; .js files) loaded by the browser (this can be tested using tools such as GTMetrix) and combined with a backend page caching system it will improve the page speed even more.
15
<p><?php _e('Page caching solutions include', 'wp-asset-clean-up'); ?>:</p>
16
<ul style="font-size: 14px; list-style: disc; margin-left: 25px;">
17
+ <li style="line-height: 21px; margin-bottom: 15px;">A plugin such as <a target="_blank" href="https://www.gabelivan.com/visit/wp-rocket">WP Rocket</a> that creates static HTML files (which are lighter thanks to <?php echo WPACU_PLUGIN_TITLE; ?>) and reads them avoiding PHP code processing within the active plugins &amp; theme, including database queries which can use lots of server resources if you have high traffic. <?php echo sprintf(__('The page caching improves the %sTTFB%s (time to first byte) which measures the duration from the user or client making an HTTP request to the first byte of the page being received by the client\'s browser.', 'wp-asset-clean-up'), '<a href="http://gabelivan.com/visit/wp-rocket-ttfb">', '</a>'); ?></li>
18
<li style="line-height: 21px; margin-bottom: 20px;">
19
<?php echo sprintf(
20
__('A hosting service that has its in-built WordPress caching like %sWPEngine%s or Kinsta, a web application accelerator like Varnish that can be setup the server etc.', 'wp-asset-clean-up'),
27
<p style="line-height: normal;"><small><strong><?php _e('Disclaimer', 'wp-asset-clean-up'); ?>:</strong> <?php _e('The recommendations above are based from my own experience as a developer &amp; user and I\'m happy to recommend them to whoever wants superior WordPress performance.', 'wp-asset-clean-up'); ?> <?php _e('The links are affiliate related and I might get a commission if you decide to make a purchase.', 'wp-asset-clean-up'); ?></small></p>
28
<hr />
29
<p class="area-title">Example (Stripping ~66% of "crap") <span style="font-size: 24px;"><img draggable="false" class="wpacu-emoji" alt="✨" src="https://s.w.org/images/core/emoji/12.0.0-1/svg/2728.svg" /></span></p>
30
+ <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 <?php echo WPACU_PLUGIN_TITLE; ?>, 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 combine 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>
31
<hr />
32
<p class="area-title"><?php _e('Not sure how to configure it?', 'wp-asset-clean-up'); ?> <span style="font-size: 24px;"><img draggable="false" class="wpacu-emoji" alt="🤔" src="https://s.w.org/images/core/emoji/12.0.0-1/svg/1f914.svg" /></span></p>
33
<p><?php _e('No problem!', 'wp-asset-clean-up'); ?> <?php _e('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.', 'wp-asset-clean-up'); ?> <?php _e('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.', 'wp-asset-clean-up'); ?> <a target="_blank" href="https://assetcleanup.com/docs/?p=84"><?php _e('Read more', 'wp-asset-clean-up'); ?></a></p>
templates/_admin-page-getting-started-areas/_start-optimization.php CHANGED
@@ -7,7 +7,7 @@ if (! isset($data)) {
7
}
8
?>
9
<p>For the <em>homepage</em>, you can go to "CSS/JS Load Manager" -&gt; "<a href="<?php echo admin_url('admin.php?page='.WPACU_PLUGIN_ID.'_assets_manager') ?>">Homepage</a>" from the plugin's menu and you will notice the list of all the styles &amp;scripts files that are loading there. For each file, you will see options that you can enabled/disable.</p>
10
- <p>For <em>posts, pages &amp; custom post types</em>, you can edit the page within the Dashboard or via the front-end view (if you enabled the option in "Settings") and scroll to "Asset CleanUp: CSS & JavaScript Manager" metabox area (if not hidden from "Settings" -&gt; "Plugin Usage Preferences") where you can manage all the CSS &amp; JS files loading on that post/page.</p>
11
<p>To view all the WordPress pages where <?php echo WPACU_PLUGIN_TITLE; ?> can do optimization for, go to "<a href="<?php echo admin_url('admin.php?page='.WPACU_PLUGIN_ID.'_assets_manager&wpacu_for=homepage'); ?>"><?php _e('CSS/JS Load Manager', 'wp-asset-clean-up'); ?></a>".</p>
12
<hr />
13