Asset CleanUp: Page Speed Booster - Version 1.3.8.0

Version Description

  • The meta box "Asset CleanUp Pro: Page Options" has had its contents moved to the "Page Options" area from the CSS/JS manager in any location the assets are managed
  • Added "Page Options" for the homepage as well (e.g. latest posts) besides posts, pages, and any public custom post types (e.g. WooCommerce product pages)
  • Prevent the plugin from triggering when WooCommerce API calls are made
  • Make sure the following option works well when non-Latin characters are in the URI: "Do not load the plugin on certain page"
  • Fix: When hovering over the post's title in the Dashboard's posts list (either post, page, or custom post type), make sure "Manage CSS & JS" is only shown to the right admins to avoid any confusion
  • Fix: When assets' list is fetched, WP Rocket was disabled which made some plugins/themes that are directly calling WP Rocket functions to generate fatal errors
  • Fix: Make sure the handles with the following option always get unloaded: 'Ignore dependency rule and keep the "children" loaded'
  • Fix: Fatal error: Cannot redeclare assetCleanUpClearAutoptimizeCache() - if both plugins (Lite & Pro) are activated
Download this release

Release Info

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

Code changes from version 1.3.7.9 to 1.3.8.0

Files changed (39) hide show
  1. assets/icons/icon-red-tick.svg +1 -0
  2. assets/script.min.js +2 -2
  3. assets/style.min.css +1 -1
  4. classes/AssetsPagesManager.php +1 -2
  5. classes/CleanUp.php +14 -2
  6. classes/Main.php +184 -120
  7. classes/Menu.php +13 -9
  8. classes/MetaBoxes.php +51 -16
  9. classes/Misc.php +16 -1
  10. classes/OptimiseAssets/MinifyCss.php +8 -2
  11. classes/OptimiseAssets/MinifyJs.php +8 -2
  12. classes/OptimiseAssets/OptimizeCss.php +11 -4
  13. classes/OptimiseAssets/OptimizeJs.php +11 -4
  14. classes/Overview.php +40 -1
  15. classes/OwnAssets.php +1 -1
  16. classes/Plugin.php +44 -45
  17. classes/Update.php +77 -24
  18. early-triggers.php +177 -13
  19. readme.txt +11 -1
  20. templates/_admin-page-settings-plugin-areas/_plugin-usage-settings.php +6 -4
  21. templates/_admin-pages-assets-manager/_homepage.php +100 -53
  22. templates/_admin-pages-assets-manager/_singular-page.php +128 -96
  23. templates/admin-page-overview.php +74 -0
  24. templates/meta-box-loaded-assets/_page-options-inner.php +73 -0
  25. templates/meta-box-loaded-assets/_page-options.php +54 -0
  26. templates/meta-box-loaded-assets/view-all.php +2 -0
  27. templates/meta-box-loaded-assets/view-by-loaded-unloaded.php +2 -0
  28. templates/meta-box-loaded-assets/view-by-location.php +2 -0
  29. templates/meta-box-loaded-assets/view-by-parents.php +3 -0
  30. templates/meta-box-loaded-assets/view-by-position.php +2 -0
  31. templates/meta-box-loaded-assets/view-by-preload.php +2 -0
  32. templates/meta-box-loaded-assets/view-by-rules.php +1 -0
  33. templates/meta-box-loaded-assets/view-by-size.php +2 -0
  34. templates/meta-box-loaded-assets/view-default.php +2 -0
  35. templates/meta-box-restricted-page-load.php +95 -0
  36. templates/meta-box-side-page-options.php +1 -1
  37. templates/meta-box.php +19 -14
  38. templates/settings-frontend.php +8 -1
  39. wpacu.php +3 -3
assets/icons/icon-red-tick.svg ADDED
@@ -0,0 +1 @@
 
1
+ <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path d='M14.83 4.89l1.34.94-5.81 8.38H9.02L5.78 9.67l1.34-1.25 2.57 2.4z' fill='#cc0000'/></svg>
assets/script.min.js CHANGED
@@ -1,4 +1,4 @@
1
  function wpacuTabOpenSettingsArea(a,b){a.preventDefault();var c,d,e;for(d=document.getElementsByClassName("wpacu-settings-tab-content"),c=0;c<d.length;c++)d[c].style.display="none";for(e=document.getElementsByClassName("wpacu-settings-tab-link"),c=0;c<e.length;c++)e[c].className=e[c].className.replace(" active","");document.getElementById(b).style.display="table-cell",
2
- jQuery('a[href="#'+b+'"]').addClass("active"),jQuery("#wpacu-selected-tab-area").val(b)}function wpacuCheckSourcesFor404Errors(){var a=jQuery("[data-wpacu-external-source]");if(!(a.length<1)){var b=a.length,c="";a.each(function(a){var d=jQuery(this),e=d.attr("data-wpacu-external-source");c+=e+"-at-wpacu-at-",a===b-1&&jQuery.post(wpacu_object.ajax_url+"?wpacu_check_external_url",{action:wpacu_object.plugin_id+"_check_external_urls_for_status_code",wpacu_check_urls:c,wpacu_ajax_check_external_urls_nonce:wpacu_object.wpacu_ajax_check_external_urls_nonce},function(a){var b=jQuery.parseJSON(a);jQuery.each(b,function(a,b){jQuery('[data-wpacu-external-source="'+b+'"]').css({color:"#cc0000"}).parent("div").find("[data-wpacu-external-source-status]").html('<small>* <em style="font-weight: 600;">'+wpacu_object.source_load_error_msg+"</em></small>")})})})}}function wpacuBytesToSize(a){return 0===a?"N/A":(a/1024).toFixed(4)+" KB"}function wpacuAjaxClearCache(){void 0!==wpacu_object.wpacu_ajax_preload_url_nonce&&jQuery.post(wpacu_object.ajax_url+"?wpacu_clear_cache",{action:wpacu_object.plugin_id+"_clear_cache",time_r:(new Date).getTime()},function(a){setTimeout(function(){wpacuClearAutoptimizeCache(),wpacu_object.is_frontend_view?jQuery.post(wpacu_object.ajax_url+"?wpacu_preload_guest",{action:wpacu_object.plugin_id+"_preload",page_url:wpacu_object.page_url,wpacu_ajax_preload_url_nonce:wpacu_object.wpacu_ajax_preload_url_nonce,time_r:(new Date).getTime()}):jQuery.get(wpacu_object.page_url,{wpacu_preload:1,wpacu_no_frontend_show:1,time_r:(new Date).getTime()},function(){jQuery.post(wpacu_object.ajax_url+"?wpacu_preload_guest",{action:wpacu_object.plugin_id+"_preload",page_url:wpacu_object.page_url,wpacu_ajax_preload_url_nonce:wpacu_object.wpacu_ajax_preload_url_nonce,time_r:(new Date).getTime()})})},150)})}function wpacuClearAutoptimizeCache(){if("false"==wpacu_object.clear_autoptimize_cache)return void console.log(wpacu_object.plugin_title+': Autoptimize cache clearing is deactivated via "WPACU_DO_NOT_ALSO_CLEAR_AUTOPTIMIZE_CACHE" constant.');jQuery("#wp-admin-bar-autoptimize-default li").length>0&&void 0!==autoptimize_ajax_object.ajaxurl&&void 0!==autoptimize_ajax_object.nonce&&jQuery.ajax({type:"GET",url:autoptimize_ajax_object.ajaxurl,data:{action:"autoptimize_delete_cache",nonce:autoptimize_ajax_object.nonce},dataType:"json",cache:!1,timeout:9e3,success:function(a){},error:function(a,b){}})}function wpacuAdjustTextareaHeight(a,b){var c=parseInt(window.getComputedStyle(a).height,10),d=c-a.clientHeight;a.style.height=0,a.style.height=Math.max(b,a.scrollHeight+d)+"px"}""!==wpacu_object.clear_cache_on_page_load&&wpacuAjaxClearCache(),""!==wpacu_object.clear_other_caches&&setTimeout(function(){wpacuClearAutoptimizeCache()},150),jQuery(document).ready(function(a){function b(b){b.lastIndexOf(wpacu_object.start_del_h)<0||b.lastIndexOf(wpacu_object.end_del_h);var c=b.substring(b.lastIndexOf(wpacu_object.start_del_h)+wpacu_object.start_del_h.length,b.lastIndexOf(wpacu_object.end_del_h)),d=a("#wpacu-assets-collapsible-wrap-hardcoded-list").attr("data-wpacu-settings-frontend"),f={action:wpacu_object.plugin_name+"_print_loaded_hardcoded_assets",wpacu_list_h:c,wpacu_settings:d,time_r:(new Date).getTime()};a.post(wpacu_object.ajax_url,f,function(b){if(b){var c=JSON.parse(b);a("#wpacu-assets-collapsible-wrap-hardcoded-list").find("> .wpacu-assets-collapsible-content").html(c.output),a("#wpacu-assets-collapsible-wrap-hardcoded-list").find("a.wpacu-assets-collapsible").append(" &#10141; Total: "+parseInt(c.total_hardcoded_assets)),e.triggerForHardcodedAssets()}})}function c(){if(!a("#wpacu_ajax_fetch_assets_list_dashboard_view").length)return!1;var b={};if("direct"===wpacu_object.dom_get_type)b[wpacu_object.plugin_name+"_load"]=1,b[wpacu_object.plugin_name+"_time_r"]=(new Date).getTime(),a.ajax({method:"GET",url:wpacu_object.page_url,data:b,cache:!1,complete:function(b,c){if("error"===b.statusText){if(404===b.status)return void d(b.responseText,b.status);var e=b.responseText.replace(/(<([^>]+)>)/gi,"");try{e=String(e).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}catch(a){console.log(a)}var f=wpacu_object.ajax_direct_fetch_error;f=f.replace(/{wpacu_output}/,e),f=f.replace(/{wpacu_status_code_error}/,b.status),a("#wpacu_meta_box_content").html(f)}}}).done(function(b){a("#wpacu-fetch-list-step-1-wrap").addClass("wpacu-completed"),a("#wpacu-fetch-list-step-1-status").html(a("#wpacu-list-step-completed-status").html()),a("#wpacu-fetch-list-step-2-status").html(a("#wpacu-list-step-default-status").html()),d(b)});else if("wp_remote_post"===wpacu_object.dom_get_type){var c={action:wpacu_object.plugin_name+"_get_loaded_assets",post_id:wpacu_object.post_id,page_url:wpacu_object.page_url,tag_id:wpacu_object.tag_id,wpacu_taxonomy:wpacu_object.wpacu_taxonomy,time_r:(new Date).getTime(),force_manage_dash:wpacu_object.force_manage_dash};a.post(wpacu_object.ajax_url,c,function(b){if(!b)return!1;a("#wpacu_meta_box_content").html(b),a("#wpacu_dash_assets_manager_form").length>0&&a("#submit").show(),setTimeout(function(){e.load(),setTimeout(function(){wpacuCheckSourcesFor404Errors()},100)},200)})}}function d(b,c){if(b.lastIndexOf(wpacu_object.start_del_e)<0||b.lastIndexOf(wpacu_object.end_del_e)<0||b.lastIndexOf(wpacu_object.start_del_h)<0||b.lastIndexOf(wpacu_object.end_del_h)<0){var d=wpacu_object.ajax_direct_fetch_error_with_success_response;d=d.replace(/{wpacu_output}/,xhr.responseText.replace(/(<([^>]+)>)/gi,""));try{d=String(d).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}catch(a){console.log(a)}return void a("#wpacu_meta_box_content").html(d)}var f=b.substring(b.lastIndexOf(wpacu_object.start_del_e)+wpacu_object.start_del_e.length,b.lastIndexOf(wpacu_object.end_del_e)),g=b.substring(b.lastIndexOf(wpacu_object.start_del_h)+wpacu_object.start_del_h.length,b.lastIndexOf(wpacu_object.end_del_h)),h={action:wpacu_object.plugin_name+"_get_loaded_assets",wpacu_list_e:f,wpacu_list_h:g,post_id:wpacu_object.post_id,page_url:wpacu_object.page_url,tag_id:wpacu_object.tag_id,wpacu_taxonomy:wpacu_object.wpacu_taxonomy,force_manage_dash:wpacu_object.force_manage_dash,time_r:(new Date).getTime(),is_for_singular:!1};a("#wpacu_manage_singular_page_assets").length>0&&(h.is_for_singular=!0),a.post(wpacu_object.ajax_url,h,function(b){b&&(a("#wpacu_meta_box_content").html(b),404===c&&a("#wpacu_meta_box_content").prepend('<p><span class="dashicons dashicons-warning"></span> '+wpacu_object.server_returned_404_not_found+"</p><hr />"),a("#wpacu_dash_assets_manager_form").length>0&&a("#submit").show(),setTimeout(function(){e.load(),a(".wpacu_asset_row").removeClass("wpacu-loading"),a("#wpacu-assets-reloading").remove(),wpacuCheckSourcesFor404Errors()},200))})}var e={load:function(){var b,c,d,f=".input-unload-on-this-page.wpacu-not-locked";a(document).on("click change",".input-unload-on-this-page",function(f){if(b=a(this).attr("data-handle"),c=a(this).hasClass("wpacu_unload_rule_for_style")?"style":"script",a(this).prop("checked")){if("click"===f.type&&!e.triggerAlertWhenAnyUnloadRuleIsChosen(b,c))return!1;e.uncheckAllOtherBulkUnloadRules(a(this),!1),e.showHandleLoadExceptionArea(c,b),a(this).closest("tr").addClass("wpacu_not_load")}else a(this).closest("tr").removeClass("wpacu_not_load"),d=a(this).parents(".wpacu_asset_row"),e.hideHandleLoadExceptionArea(d,b,c)}),a(".wpacu-plugin-check-all").on("click",function(b){b.preventDefault();var c=a(this).attr("data-wpacu-plugin");a('table.wpacu_list_by_location[data-wpacu-plugin="'+c+'"]').find(f).prop("checked",!0).closest("tr").addClass("wpacu_not_load")}),a(".wpacu-plugin-uncheck-all").on("click",function(b){b.preventDefault();var c=a(this).attr("data-wpacu-plugin");a('table.wpacu_list_by_location[data-wpacu-plugin="'+c+'"]').find(f).prop("checked",!1).closest("tr").removeClass("wpacu_not_load")}),a(".wpacu-plugin-check-load-all").on("click change",function(b){b.preventDefault();var c=a(this).attr("data-wpacu-plugin"),d=a('table.wpacu_list_by_location[data-wpacu-plugin="'+c+'"]');d.find(".wpacu_load_it_option_one.wpacu_load_exception").prop("checked",!0).closest("tr.wpacu_is_bulk_unloaded").removeClass("wpacu_not_load"),d.find(f).prop("checked",!1).trigger("change")}),a(".wpacu-plugin-uncheck-load-all").on("click change",function(b){b.preventDefault();var c=a(this).attr("data-wpacu-plugin"),d=a('table.wpacu_list_by_location[data-wpacu-plugin="'+c+'"]');d.find(".wpacu_load_it_option_one.wpacu_load_exception").prop("checked",!1).closest("tr.wpacu_is_bulk_unloaded").addClass("wpacu_not_load"),d.find(f).prop("checked",!1).trigger("change")}),a(document).on("click",".wpacu_keep_bulk_rule",function(){a(this).prop("checked")&&a(this).parents("li").next().removeClass("remove_rule")}),a(document).on("click",".wpacu_remove_bulk_rule",function(){a(this).prop("checked")&&a(this).parents("li").addClass("remove_rule")}),a(document).on("click change",".wpacu_bulk_unload",function(f){b=a(this).attr("data-handle"),c=a(this).attr("data-handle-for"),d=a("[data-"+c+'-handle-row="'+b+'"]');var g=a(this).parents("li");if(a(this).prop("checked")){if("click"===f.type&&!e.triggerAlertWhenAnyUnloadRuleIsChosen(b,c))return!1;a(this).hasClass("wpacu_unload_it_regex_checkbox")?(g.find("label").addClass("wpacu_unload_checked"),g.find("textarea").prop("disabled",!1).focus().removeClass("wpacu_disabled"),g.find(".wpacu_handle_unload_regex_input_wrap").removeClass("wpacu_hide")):(a(this).parent("label").addClass("wpacu_input_load_checked"),a(this).closest("tr").addClass("wpacu_not_load")),e.showHandleLoadExceptionArea(c,b),a(this).hasClass("wpacu_global_unload")?(e.uncheckAllOtherBulkUnloadRules(a(this),!0),a('.input-unload-on-this-page[data-handle-for="'+c+'"][data-handle="'+b+'"]').prop("checked",!1)):a(this).hasClass("wpacu_post_type_unload")&&(e.uncheckAllOtherBulkUnloadRules(a(this),!1),a('.input-unload-on-this-page[data-handle-for="'+c+'"][data-handle="'+b+'"]').prop("checked",!1))}else a(this).hasClass("wpacu_unload_it_regex_checkbox")?(g.find("label").removeClass("wpacu_unload_checked"),g.find("textarea").blur().addClass("wpacu_disabled"),""===g.find("textarea").val().trim()&&(g.find("textarea").prop("disabled",!0).val(""),g.find(".wpacu_handle_unload_regex_input_wrap").addClass("wpacu_hide"))):(a(this).parent("label").removeClass("wpacu_input_load_checked"),a(this).closest("tr").removeClass("wpacu_not_load")),e.hideHandleLoadExceptionArea(d,b,c);d.hasClass("wpacu_is_bulk_unloaded")||a(".wpacu_bulk_unload:not(.wpacu_unload_it_regex_checkbox)").is(":checked")||a(this).closest("tr").removeClass("wpacu_not_load")}),a(document).on("click change",".wpacu_load_it_option_one.wpacu_load_exception,.wpacu_load_it_option_post_type",function(){var b=a(this).attr("data-handle");if(a(this).prop("checked")){a(this).parent("label").addClass("wpacu_global_unload_exception");var c="";a(this).hasClass("wpacu_style")?c="style":a(this).hasClass("wpacu_script")&&(c="script"),a("#"+c+"_"+b).prop("checked",!1).trigger("change")}else a(this).parent("label").removeClass("wpacu_global_unload_exception")}),
3
  a(document).on("click change",".wpacu_load_it_option_two",function(){var b=a(this).parents("li");a(this).prop("checked")?(b.find("textarea").prop("disabled",!1).focus().removeClass("wpacu_disabled"),b.find(".wpacu_load_regex_input_wrap").removeClass("wpacu_hide")):(b.find("textarea").blur().addClass("wpacu_disabled"),""===b.find("textarea").val().trim()&&(b.find("textarea").prop("disabled",!0).val(""),b.find(".wpacu_load_regex_input_wrap").addClass("wpacu_hide")))}),a(document).on("click change",".wpacu_script_attr_rule_input",function(b){if(a(this).is(":checked")){if("click"===b.type){var c=a(this).parents("tr.wpacu_asset_row").attr("data-script-child-handles"),d=wpacu_object.script_is_parent_alert;if(void 0!==c&&""!==c&&(d=d.replace("{wpacu_script_child_handles}",c),!confirm(d)))return!1}a(this).parents("ul").find(".wpacu_script_attr_rule_input").not(a(this)).prop("checked",!1),a(this).hasClass("wpacu_script_attr_rule_global")&&a(this).parents("ul").find(".wpacu-script-attr-make-exception").removeClass("wpacu_hide")}a(this).parents("ul").find(".wpacu_script_attr_rule_global").is(":checked")||a(this).parents("ul").find(".wpacu-script-attr-make-exception").addClass("wpacu_hide")}),a(document).on("change",".wpacu-screen-size-load",function(b){var c,d,e,f=a(this).val(),g=a(this).attr("data-handle");if(a(this).hasClass("wpacu-for-script"))c="SCRIPT file",d=a('.wpacu-handle-media-queries-load-field[data-script-handle="'+g+'"]');else{if(!a(this).hasClass("wpacu-for-style"))return!1;c="CSS file",d=a('.wpacu-handle-media-queries-load-field[data-style-handle="'+g+'"]')}if(!(d.length<1))if(e=d.find(":input"),f){if(a(this)[0].hasAttribute("data-wpacu-show-parent-alert")){var h=wpacu_object.parent_asset_media_query_load_alert.replace("[asset_type]",c);if(!confirm(h))return a(this).val(""),!1}d.addClass("wpacu-is-visible"),e.prop("disabled",!1),""===e.val()&&e.focus()}else d.removeClass("wpacu-is-visible"),""===e.val().trim()&&"true"===e.attr("data-wpacu-is-empty-on-page-load")&&e.prop("disabled",!0).val("")}),a(document).on("click",".wpacu-add-handle-note",function(b){b.preventDefault();var c,d,e=a(this).attr("data-handle");a(this).hasClass("wpacu-for-script")?c=a('.wpacu-handle-notes-field[data-script-handle="'+e+'"]'):a(this).hasClass("wpacu-for-style")&&(c=a('.wpacu-handle-notes-field[data-style-handle="'+e+'"]')),c.length<1||(d=c.find(":input"),c.is(":hidden")?(c.show(),d.prop("disabled",!1)):(c.hide(),""===d.val().trim()&&"true"===d.attr("data-wpacu-is-empty-on-page-load")&&d.prop("disabled",!0).val("")))}),a(document).on("click",".wpacu-external-file-size",function(b){b.preventDefault();var c,d=a(this),e=d.attr("data-src");d.hide(),c=d.next(),c.show(),e.includes("/?")?a.get(e,{},function(a,b,d){if("success"!==b)return"N/A";c.html(wpacuBytesToSize(a.length))}):a.post(wpacu_object.ajax_url,{action:wpacu_object.plugin_id+"_get_external_file_size",wpacu_remote_file:e,wpacu_ajax_check_remote_file_size_nonce:wpacu_object.wpacu_ajax_check_remote_file_size_nonce},function(a){c.html(a)})}),a(document).on("click",".wpacu_handle_row_expand_contract",function(b){b.preventDefault();var c=a(this).attr("data-wpacu-handle"),d=a(this).attr("data-wpacu-handle-for");a(this).find("span").hasClass("dashicons-minus")?(a(this).parents("td").attr("data-wpacu-row-status","contracted").find(".wpacu_handle_row_expanded_area").addClass("wpacu_hide"),a(this).find("span").removeClass("dashicons-minus").addClass("dashicons-plus"),a("#wpacu_"+d+"_"+c+"_row_contracted_area").val("1")):a(this).find("span").hasClass("dashicons-plus")&&(a(this).parents("td").attr("data-wpacu-row-status","expanded").find(".wpacu_handle_row_expanded_area").removeClass("wpacu_hide"),a(this).find("span").removeClass("dashicons-plus").addClass("dashicons-minus"),a("#wpacu_"+d+"_"+c+"_row_contracted_area").val(""))})},triggerForHardcodedAssets:function(){a('[data-is-hardcoded-asset="true"]').length>0&&(a.each(a('[data-is-hardcoded-asset="true"]'),function(b,c){e.updateHardcodedDataHiddenFieldStatus(a(this))}),a('[data-is-hardcoded-asset="true"]').on("click",".wpacu_unload_rule_input",function(){e.updateHardcodedDataHiddenFieldStatus(a(this).parents("[data-is-hardcoded-asset]"))}))},updateHardcodedDataHiddenFieldStatus:function(b){var c=!1;b.is("[data-style-handle-row]")?c=b.attr("data-style-handle-row"):b.is("[data-script-handle-row]")&&(c=b.attr("data-script-handle-row")),c&&(b.find(".wpacu_unload_rule_input:checked").length>0||b.hasClass("wpacu_not_load")?a("#"+c+"_hardcoded_data").prop("disabled",!1):a("#"+c+"_hardcoded_data").prop("disabled",!0))},triggerAlertWhenAnyUnloadRuleIsChosen:function(b,c){if("dashicons"===b&&"style"===c&&a('input[name="wpacu_ignore_child[styles][nf-display]').length>0&&!confirm(wpacu_object.dashicons_unload_alert_ninja_forms))return!1;if("script"===c){if(("jquery"===b||"jquery-core"===b)&&a("#script_jquery_ignore_children").length>0&&!confirm(wpacu_object.jquery_unload_alert))return!1;if("js-cookie"===b&&!confirm(wpacu_object.woo_js_cookie_unload_alert))return!1;if("wc-cart-fragments"===b&&!confirm(wpacu_object.woo_wc_cart_fragments_unload_alert))return!1;if(("backbone"===b||"underscore"===b)&&!confirm(wpacu_object.sensitive_library_unload_alert))return!1}return!0},pluginLoadManager:function(){a(".wpacu_plugin_load_it").on("click",function(){var b=a(this).attr("data-wpacu-plugin-path");a(this).prop("checked")&&(e.hidePluginLoadExceptionArea(b),a('.wpacu_plugin_unload_regex_input_wrap[data-wpacu-plugin-path="'+b+'"]').addClass("wpacu_hide"),a('.wpacu_plugin_unload_site_wide[data-wpacu-plugin-path="'+b+'"]').parent("label").removeClass("wpacu_plugin_unload_rule_input_checked"),a('.wpacu_plugin_unload_regex_option[data-wpacu-plugin-path="'+b+'"]').parent("label").removeClass("wpacu_plugin_unload_rule_input_checked"))}),a(".wpacu_plugin_unload_site_wide").on("click",function(){var b=a(this).attr("data-wpacu-plugin-path");a(this).prop("checked")?(a(this).parent("label").addClass("wpacu_plugin_unload_rule_input_checked"),a('.wpacu_plugin_unload_regex_option[data-wpacu-plugin-path="'+b+'"]').prop("checked",!1).parent("label").removeClass("wpacu_plugin_unload_rule_input_checked"),a('.wpacu_plugin_unload_logged_in[data-wpacu-plugin-path="'+b+'"]').prop("checked",!1).parent("label").removeClass("wpacu_plugin_unload_rule_input_checked"),a('.wpacu_plugin_unload_regex_input_wrap[data-wpacu-plugin-path="'+b+'"]').addClass("wpacu_hide"),e.showPluginLoadExceptionArea(b)):(a(this).parent("label").removeClass("wpacu_plugin_unload_rule_input_checked"),e.hidePluginLoadExceptionArea(b))}),a(".wpacu_plugin_unload_regex_option").on("click",function(){var b=a(this).attr("data-wpacu-plugin-path");a(this).prop("checked")?(a(this).parent("label").addClass("wpacu_plugin_unload_rule_input_checked"),a('.wpacu_plugin_unload_regex_input_wrap[data-wpacu-plugin-path="'+b+'"]').removeClass("wpacu_hide"),e.showPluginLoadExceptionArea(b),a('.wpacu_plugin_unload_site_wide[data-wpacu-plugin-path="'+b+'"]').prop("checked",!1).parent("label").removeClass("wpacu_plugin_unload_rule_input_checked")):(a('.wpacu_plugin_unload_regex_input_wrap[data-wpacu-plugin-path="'+b+'"]').addClass("wpacu_hide"),a(this).parent("label").removeClass("wpacu_plugin_unload_rule_input_checked"),e.hidePluginLoadExceptionArea(b))}),a(".wpacu_plugin_unload_logged_in").on("click",function(){var b=a(this).attr("data-wpacu-plugin-path");a(this).prop("checked")?(e.showPluginLoadExceptionArea(b),a('.wpacu_plugin_unload_site_wide[data-wpacu-plugin-path="'+b+'"]').prop("checked",!1).parent("label").removeClass("wpacu_plugin_unload_rule_input_checked")):(a(this).parent("label").removeClass("wpacu_plugin_unload_rule_input_checked"),e.hidePluginLoadExceptionArea(b))}),a(".wpacu_plugin_load_exception_regex").on("click",function(){var b=a(this).attr("data-wpacu-plugin-path");a(this).prop("checked")?a('.wpacu_load_regex_input_wrap[data-wpacu-plugin-path="'+b+'"]').removeClass("wpacu_hide"):a('.wpacu_load_regex_input_wrap[data-wpacu-plugin-path="'+b+'"]').addClass("wpacu_hide")})},showPluginLoadExceptionArea:function(b){a('.wrap_plugin_load_exception_options[data-wpacu-plugin-path="'+b+'"]').removeClass("wpacu_hide").find('input[type="checkbox"]').prop("disabled",!1)},hidePluginLoadExceptionArea:function(b){a('.wrap_plugin_unload_rules_options[data-wpacu-plugin-path="'+b+'"]').find("input:checked").length<1&&a('.wrap_plugin_load_exception_options[data-wpacu-plugin-path="'+b+'"]').addClass("wpacu_hide").find('input[type="checkbox"]').prop("disabled",!0)},showHandleLoadExceptionArea:function(b,c){var d=a("div.wpacu_exception_options_area_wrap[data-"+b+'-handle="'+c+'"]');d.parent("div").removeClass("wpacu_hide"),d.find('input[type="checkbox"]').not(".wpacu_lite_locked").prop("disabled",!1)},hideHandleLoadExceptionArea:function(b,c,d){if(!b.hasClass("wpacu_is_bulk_unloaded")&&!b.find(".wpacu_bulk_unload").is(":checked")){var e=a("div.wpacu_exception_options_area_wrap[data-"+d+'-handle="'+c+'"]');e.parent("div").addClass("wpacu_hide"),e.find('input[type="checkbox"]').prop("disabled",!0)}},uncheckAllOtherBulkUnloadRules:function(a,b){var c=".wpacu_bulk_unload";!1===b&&(c=".wpacu_bulk_unload:not(.wpacu_unload_it_regex_checkbox)"),a.closest("tr").find(c).not(a).prop("checked",!1).parent("label").removeClass("wpacu_input_load_checked").removeClass("wpacu_unload_checked")}};a(document).on("click",'input[name="wpacu_sub_tab_area"]',function(){a(this).prop("checked")&&a("#wpacu-selected-sub-tab-area").val(a(this).val())}),a(document).on("click","#wpacu_minify_css_enable, #wpacu_combine_loaded_css_enable, #wpacu_minify_js_enable, #wpacu_combine_loaded_js_enable, #wpacu_cdn_rewrite_enable, #wpacu_enable_test_mode",function(){a(this).prop("checked")?a('[data-linked-to="'+a(this).attr("id")+'"]').find(".wpacu-circle-status").addClass("wpacu-on").removeClass("wpacu-off"):a('[data-linked-to="'+a(this).attr("id")+'"]').find(".wpacu-circle-status").addClass("wpacu-off").removeClass("wpacu-on")}),a(document).on("click","#wpacu_inline_css_files_below_size_checkbox",function(){a(this).is(":checked")?a("#wpacu_inline_css_files_enable").prop("checked",!0).trigger("tick"):""===a("#wpacu_inline_css_files_list").val()&&a("#wpacu_inline_css_files_enable").prop("checked",!1).trigger("tick")}),a(document).on("click","#wpacu_inline_js_files_below_size_checkbox",function(){if(a(this).is(":checked")){if(!confirm(wpacu_object.inline_auto_js_files_confirm_msg))return!1;a("#wpacu_inline_js_files_enable").prop("checked",!0).trigger("tick")}else""===a("#wpacu_inline_js_files_list").val()&&a("#wpacu_inline_js_files_enable").prop("checked",!1).trigger("tick")}),a(document).on("click","#wpacu-mark-license-valid-button",function(){return confirm(wpacu_object.mark_license_valid_confirm)}),a(document).on("submit","#wpacu-license-form",function(){a("#wpacu_license_activate_btn").attr("disabled","disabled"),a("#wpacu_license_deactivate_btn").attr("disabled","disabled"),a(".wpacu-license-spinner").show()});var f,g;a("#wpacu-reset-drop-down").on("change keyup keydown mouseup mousedown click",function(){""===a(this).val()?(a("#wpacu-warning-read").removeClass("wpacu-visible"),a("#wpacu-reset-submit-btn").attr("disabled","disabled").removeClass("button-primary").addClass("button-secondary")):("reset_everything"===a(this).val()?a("#wpacu-license-data-remove-area, #wpacu-cache-assets-remove-area").addClass("wpacu-visible"):a("#wpacu-license-data-remove-area, #wpacu-cache-assets-remove-area").removeClass("wpacu-visible"),a("#wpacu-warning-read").addClass("wpacu-visible"),a("#wpacu-reset-submit-btn").removeAttr("disabled").removeClass("button-secondary").addClass("button-primary")),a(".wpacu-tools-area .wpacu-warning").hide(),f=a(this).find("option:selected"),a("#"+f.attr("data-id")).show()}),a("#wpacu-reset-submit-btn").on("click",function(){if("reset_settings"===a("#wpacu-reset-drop-down").val()?g=wpacu_object.reset_settings_confirm_msg:"reset_critical_css"===a("#wpacu-reset-drop-down").val()?g=wpacu_object.reset_critical_css_confirm_msg:"reset_everything_except_settings"===a("#wpacu-reset-drop-down").val()?g=wpacu_object.reset_everything_except_settings_confirm_msg:"reset_everything"===a("#wpacu-reset-drop-down").val()&&(g=wpacu_object.reset_everything_confirm_msg),!confirm(g))return!1;a("#wpacu-action-confirmed").val("yes"),setTimeout(function(){"yes"===a("#wpacu-action-confirmed").val()&&a("#wpacu-tools-form").trigger("submit")},1e3)}),a(document).on("submit","#wpacu-import-form",function(){if(!confirm(wpacu_object.import_confirm_msg))return!1;a(this).find("button").addClass("wpacu-importing").prop("disabled",!0)}),a(document).on("change","#wpacu_post_type_select",function(){a("#wpacu_post_type_form").trigger("submit")}),a(document).on("change","#wpacu_taxonomy_select",function(){a("#wpacu_taxonomy_form").trigger("submit")}),a(document).on("click","#wpacu_dashboard",function(){a(this).prop("checked")?a("#wpacu-settings-assets-retrieval-mode").show():a("#wpacu-settings-assets-retrieval-mode").hide()}),a(document).on("change",".wpacu-dom-get-type-selection",function(){a(this).is(":checked")&&(a(".wpacu-dom-get-type-info").hide(),a("#"+a(this).attr("data-target")).fadeIn("fast"))}),a(document).on("click","#wpacu_frontend",function(){a(this).prop("checked")?a("#wpacu-settings-frontend-exceptions").show():a("#wpacu-settings-frontend-exceptions").hide()}),a(document).on("change",".google_fonts_combine_type",function(){a(".wpacu_google_fonts_combine_type_area").hide(),"async"===a(this).val()?a("#wpacu_google_fonts_combine_type_async_info_area").fadeIn():"async_preload"===a(this).val()?a("#wpacu_google_fonts_combine_type_async_preload_info_area").fadeIn():a("#wpacu_google_fonts_combine_type_rb_info_area").fadeIn()}),a("#wpacu-allow-manage-assets-to-select-list-area").length>0&&!a("#wpacu-allow-manage-assets-to-select-list-area").hasClass("wpacu_hide")&&setTimeout(function(){jQuery("#wpacu-allow-manage-assets-to-select-list").chosen()},50),a("#wpacu-allow-manage-assets-to-select").on("click change",function(){"chosen"===a(this).val()?(a("#wpacu-allow-manage-assets-to-select-list-area").removeClass("wpacu_hide"),setTimeout(function(){jQuery("#wpacu-allow-manage-assets-to-select-list").chosen()},50)):a("#wpacu-allow-manage-assets-to-select-list-area").addClass("wpacu_hide")}),a("#wpacu_assets_list_layout").on("click change",function(){"by-location"===a(this).val()?a("#wpacu-assets-list-by-location-selected").fadeIn("fast"):a("#wpacu-assets-list-by-location-selected").fadeOut("fast")}),a("#wpacu_disable_jquery_migrate").on("click",function(){return!a(this).is(":checked")||(!(!a(this).is(":checked")||!confirm(wpacu_object.jquery_migration_disable_confirm_msg))||(a(this).prop("checked",!1),!1))}),a("#wpacu_disable_comment_reply").on("click",function(){return!a(this).is(":checked")||(!(!a(this).is(":checked")||!confirm(wpacu_object.comment_reply_disable_confirm_msg))||(a(this).prop("checked",!1),!1))}),a("[data-target-opacity]").on("click change tick",function(){a(this).prop("checked")?a("#"+a(this).attr("data-target-opacity")).css({opacity:1}):a("#"+a(this).attr("data-target-opacity")).css({opacity:.4})}),
4
- a(document).on("change",".wpacu-combine-loaded-js-level",function(){a(this).is(":checked")&&(a(".wpacu_combine_loaded_js_level_area").removeClass("wpacu_active"),a("#"+a(this).attr("data-target")).addClass("wpacu_active"))});var h=a('#wpacu-update-button-area input[type="submit"]');a(document).on("submit","#wpacu-settings-form, .wpacu-settings-form",function(){h.attr("disabled",!0),a("#wpacu-updating-settings").addClass("wpacu-show").removeClass("wpacu-hide")});var i=a("#wpacu-update-front-settings-area .wpacu_update_btn");if(a(document).on("submit","#wpacu-frontend-form",function(){return i.attr("disabled",!0).addClass("wpacu_submitting"),a("#wpacu-updating-front-settings").show(),!0}),a(document).on("submit","form#wpacu-settings-form, form#wpacu_dash_assets_manager_form",function(){return h.attr("disabled",!0),a("#wpacu-updating-settings").show(),!0}),a(document).on("click",".wpacu_bulk_rule_checkbox, .wpacu_remove_preload",function(){var b=a(this).parents(".wpacu_bulk_change_row");a(this).prop("checked")?b.addClass("wpacu_selected"):b.removeClass("wpacu_selected")}),a(document).on("click",".wpacu_remove_regex",function(){var b=a(this).parents(".wpacu_regex_rule_row");a(this).prop("checked")?b.addClass("wpacu_enabled"):b.removeClass("wpacu_enabled")}),a(document).on("click",".wpacu_restore_position",function(){var b=a(this).parents(".wpacu_restore_position_row");a(this).prop("checked")?b.addClass("wpacu_selected"):b.removeClass("wpacu_selected")}),a(document).on("click",".wpacu_remove_global_attr",function(){var b=a(this).parents(".wpacu_remove_global_attr_row");a(this).prop("checked")?b.addClass("wpacu_selected"):b.removeClass("wpacu_selected")}),a("#wpacu_wrap_assets").length>0&&setTimeout(function(){e.load()},200),a("#wpacu-plugins-load-manager-wrap").length>0&&setTimeout(function(){e.pluginLoadManager()},200),a("#wpacu-assets-collapsible-wrap-hardcoded-list").length>0){var j={};j[wpacu_object.plugin_name+"_load"]=1,j[wpacu_object.plugin_name+"_time_r"]=(new Date).getTime(),j.wpacu_just_hardcoded=1,a.ajax({method:"GET",url:wpacu_object.page_url,data:j,cache:!1,complete:function(a,c){"error"===a.statusText&&b(a.responseText)}}).done(function(a){b(a)})}if("undefined"==typeof wpacu_object||a("#wpacu_meta_box_content").length<1)return!1;("default"===wpacu_object.list_show_status||""===wpacu_object.list_show_status||wpacu_object.override_assets_list_load)&&c(),"fetch_on_click"===wpacu_object.list_show_status&&a(document).on("click","#wpacu_ajax_fetch_on_click_btn",function(b){b.preventDefault(),a(this).hide(),a("#wpacu_fetching_assets_list_wrap").show(),c()}),a(document).on("click",".wp-admin.post-php .edit-post-header__settings button.is-primary",function(){var b=function(){if(0===a(".edit-post-header__settings .is-saving").length){if(a("#wpacu_unload_assets_area_loaded").length>0&&a("#wpacu_unload_assets_area_loaded").val()){a("#wpacu-assets-reloading").remove();var b='<span id="wpacu-assets-reloading" class="editor-post-saved-state is-wpacu-reloading">'+wpacu_object.reload_icon+wpacu_object.reload_msg+"</span>";a(".wp-admin.post-php .edit-post-header__settings").prepend(b),a(".wpacu_asset_row").addClass("wpacu-loading"),c(),wpacuAjaxClearCache(),clearInterval(d)}}},d=setInterval(b,900)});try{var k;a('input[type="hidden"][name="_wp_http_referer"]').length>0&&(k=a('input[type="hidden"][name="_wp_http_referer"]').val(),k.includes("term.php?taxonomy=")&&k.includes("message=")&&wpacuAjaxClearCache(),k.includes("post.php?post=")&&k.includes("message=")&&wpacuAjaxClearCache())}catch(a){console.log(a)}}),jQuery(window).on("load",function(){wpacuCheckSourcesFor404Errors()}),jQuery(document).ready(function(){[].slice.call(document.querySelectorAll('textarea[data-wpacu-adapt-height="1"]')).forEach(function(a){a.style.boxSizing=a.style.mozBoxSizing="border-box",a.style.overflowY="hidden";var b=a.scrollHeight;a.addEventListener("input",function(){wpacuAdjustTextareaHeight(a,b)}),window.addEventListener("resize",function(){wpacuAdjustTextareaHeight(a,b)}),wpacuAdjustTextareaHeight(a,b)})});
1
  function wpacuTabOpenSettingsArea(a,b){a.preventDefault();var c,d,e;for(d=document.getElementsByClassName("wpacu-settings-tab-content"),c=0;c<d.length;c++)d[c].style.display="none";for(e=document.getElementsByClassName("wpacu-settings-tab-link"),c=0;c<e.length;c++)e[c].className=e[c].className.replace(" active","");document.getElementById(b).style.display="table-cell",
2
+ jQuery('a[href="#'+b+'"]').addClass("active"),jQuery("#wpacu-selected-tab-area").val(b)}function wpacuCheckSourcesFor404Errors(){var a=jQuery("[data-wpacu-external-source]");if(!(a.length<1)){var b=a.length,c="";a.each(function(a){var d=jQuery(this),e=d.attr("data-wpacu-external-source");c+=e+"-at-wpacu-at-",a===b-1&&jQuery.post(wpacu_object.ajax_url+"?wpacu_check_external_url",{action:wpacu_object.plugin_id+"_check_external_urls_for_status_code",wpacu_check_urls:c,wpacu_ajax_check_external_urls_nonce:wpacu_object.wpacu_ajax_check_external_urls_nonce},function(a){var b=jQuery.parseJSON(a);jQuery.each(b,function(a,b){jQuery('[data-wpacu-external-source="'+b+'"]').css({color:"#cc0000"}).parent("div").find("[data-wpacu-external-source-status]").html('<small>* <em style="font-weight: 600;">'+wpacu_object.source_load_error_msg+"</em></small>")})})})}}function wpacuBytesToSize(a){return 0===a?"N/A":(a/1024).toFixed(4)+" KB"}function wpacuAjaxClearCache(){void 0!==wpacu_object.wpacu_ajax_preload_url_nonce&&jQuery.post(wpacu_object.ajax_url+"?wpacu_clear_cache",{action:wpacu_object.plugin_id+"_clear_cache",time_r:(new Date).getTime()},function(a){setTimeout(function(){wpacuClearAutoptimizeCache(),wpacu_object.is_frontend_view?jQuery.post(wpacu_object.ajax_url+"?wpacu_preload_guest",{action:wpacu_object.plugin_id+"_preload",page_url:wpacu_object.page_url,wpacu_ajax_preload_url_nonce:wpacu_object.wpacu_ajax_preload_url_nonce,time_r:(new Date).getTime()}):jQuery.get(wpacu_object.page_url,{wpacu_preload:1,wpacu_no_frontend_show:1,time_r:(new Date).getTime()},function(){jQuery.post(wpacu_object.ajax_url+"?wpacu_preload_guest",{action:wpacu_object.plugin_id+"_preload",page_url:wpacu_object.page_url,wpacu_ajax_preload_url_nonce:wpacu_object.wpacu_ajax_preload_url_nonce,time_r:(new Date).getTime()})})},150)})}function wpacuClearAutoptimizeCache(){if("false"==wpacu_object.clear_autoptimize_cache)return void console.log(wpacu_object.plugin_title+': Autoptimize cache clearing is deactivated via "WPACU_DO_NOT_ALSO_CLEAR_AUTOPTIMIZE_CACHE" constant.');jQuery("#wp-admin-bar-autoptimize-default li").length>0&&void 0!==autoptimize_ajax_object.ajaxurl&&void 0!==autoptimize_ajax_object.nonce&&jQuery.ajax({type:"GET",url:autoptimize_ajax_object.ajaxurl,data:{action:"autoptimize_delete_cache",nonce:autoptimize_ajax_object.nonce},dataType:"json",cache:!1,timeout:9e3,success:function(a){},error:function(a,b){}})}function wpacuAdjustTextareaHeight(a,b){var c=parseInt(window.getComputedStyle(a).height,10),d=c-a.clientHeight;a.style.height=0,a.style.height=Math.max(b,a.scrollHeight+d)+"px"}""!==wpacu_object.clear_cache_on_page_load&&wpacuAjaxClearCache(),""!==wpacu_object.clear_other_caches&&setTimeout(function(){wpacuClearAutoptimizeCache()},150),jQuery(document).ready(function(a){function b(b){b.lastIndexOf(wpacu_object.start_del_h)<0||b.lastIndexOf(wpacu_object.end_del_h);var c=b.substring(b.lastIndexOf(wpacu_object.start_del_h)+wpacu_object.start_del_h.length,b.lastIndexOf(wpacu_object.end_del_h)),d=a("#wpacu-assets-collapsible-wrap-hardcoded-list").attr("data-wpacu-settings-frontend"),f={action:wpacu_object.plugin_name+"_print_loaded_hardcoded_assets",wpacu_list_h:c,wpacu_settings:d,time_r:(new Date).getTime()};a.post(wpacu_object.ajax_url,f,function(b){if(b){var c=JSON.parse(b);a("#wpacu-assets-collapsible-wrap-hardcoded-list").find("> .wpacu-assets-collapsible-content").html(c.output),a("#wpacu-assets-collapsible-wrap-hardcoded-list").find("a.wpacu-assets-collapsible").append(" &#10141; Total: "+parseInt(c.total_hardcoded_assets)),e.triggerForHardcodedAssets()}})}function c(b){if(!b&&!a("#wpacu_ajax_fetch_assets_list_dashboard_view").length)return!1;if(a("#wpacu_page_options_no_wpacu_load").length>0&&a("#wpacu_page_options_no_wpacu_load").prop("checked")){var c={action:wpacu_object.plugin_name+"_load_page_restricted_area",post_id:wpacu_object.post_id,time_r:(new Date).getTime()};return void a.post(wpacu_object.ajax_url,c,function(b){if(!b)return!1;a("#wpacu_meta_box_content").html(b),a(".wpacu_asset_row, .wpacu-page-options .wpacu-assets-collapsible-content").removeClass("wpacu-loading"),a("#wpacu-assets-reloading").remove()})}var f={};if("direct"===wpacu_object.dom_get_type)f[wpacu_object.plugin_name+"_load"]=1,f[wpacu_object.plugin_name+"_time_r"]=(new Date).getTime(),a.ajax({method:"GET",url:wpacu_object.page_url,data:f,cache:!1,complete:function(b,c){if("error"===b.statusText){if(404===b.status)return void d(b.responseText,b.status);var e=b.responseText.replace(/(<([^>]+)>)/gi,"");try{e=String(e).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}catch(a){console.log(a)}var f=wpacu_object.ajax_direct_fetch_error;f=f.replace(/{wpacu_output}/,e),f=f.replace(/{wpacu_status_code_error}/,b.status),a("#wpacu_meta_box_content").html(f)}}}).done(function(b){a("#wpacu-fetch-list-step-1-wrap").addClass("wpacu-completed"),a("#wpacu-fetch-list-step-1-status").html(a("#wpacu-list-step-completed-status").html()),a("#wpacu-fetch-list-step-2-status").html(a("#wpacu-list-step-default-status").html()),d(b)});else if("wp_remote_post"===wpacu_object.dom_get_type){var g={action:wpacu_object.plugin_name+"_get_loaded_assets",post_id:wpacu_object.post_id,page_url:wpacu_object.page_url,tag_id:wpacu_object.tag_id,wpacu_taxonomy:wpacu_object.wpacu_taxonomy,time_r:(new Date).getTime(),force_manage_dash:wpacu_object.force_manage_dash};a.post(wpacu_object.ajax_url,g,function(b){if(!b)return!1;a("#wpacu_meta_box_content").html(b),a("#wpacu_dash_assets_manager_form").length>0&&a("#submit").show(),setTimeout(function(){e.load(),setTimeout(function(){wpacuCheckSourcesFor404Errors()},100)},200)})}}function d(b,c){if(b.lastIndexOf(wpacu_object.start_del_e)<0||b.lastIndexOf(wpacu_object.end_del_e)<0||b.lastIndexOf(wpacu_object.start_del_h)<0||b.lastIndexOf(wpacu_object.end_del_h)<0){var d=wpacu_object.ajax_direct_fetch_error_with_success_response;d=d.replace(/{wpacu_output}/,xhr.responseText.replace(/(<([^>]+)>)/gi,""));try{d=String(d).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}catch(a){console.log(a)}return void a("#wpacu_meta_box_content").html(d)}var f=b.substring(b.lastIndexOf(wpacu_object.start_del_e)+wpacu_object.start_del_e.length,b.lastIndexOf(wpacu_object.end_del_e)),g=b.substring(b.lastIndexOf(wpacu_object.start_del_h)+wpacu_object.start_del_h.length,b.lastIndexOf(wpacu_object.end_del_h)),h={action:wpacu_object.plugin_name+"_get_loaded_assets",wpacu_list_e:f,wpacu_list_h:g,post_id:wpacu_object.post_id,page_url:wpacu_object.page_url,tag_id:wpacu_object.tag_id,wpacu_taxonomy:wpacu_object.wpacu_taxonomy,force_manage_dash:wpacu_object.force_manage_dash,time_r:(new Date).getTime(),is_for_singular:!1};a("#wpacu_manage_singular_page_assets").length>0&&(h.is_for_singular=!0),a.post(wpacu_object.ajax_url,h,function(b){b&&(a("#wpacu_meta_box_content").html(b),404===c&&a("#wpacu_meta_box_content").prepend('<p><span class="dashicons dashicons-warning"></span> '+wpacu_object.server_returned_404_not_found+"</p><hr />"),a("#wpacu_dash_assets_manager_form").length>0&&a("#submit").show(),setTimeout(function(){e.load(),a(".wpacu_asset_row, .wpacu-page-options .wpacu-assets-collapsible-content").removeClass("wpacu-loading"),a("#wpacu-assets-reloading").remove(),wpacuCheckSourcesFor404Errors()},200))})}var e={load:function(){var b,c,d,f=".input-unload-on-this-page.wpacu-not-locked";a(document).on("click change",".input-unload-on-this-page",function(f){if(b=a(this).attr("data-handle"),c=a(this).hasClass("wpacu_unload_rule_for_style")?"style":"script",a(this).prop("checked")){if("click"===f.type&&!e.triggerAlertWhenAnyUnloadRuleIsChosen(b,c))return!1;e.uncheckAllOtherBulkUnloadRules(a(this),!1),e.showHandleLoadExceptionArea(c,b),a(this).closest("tr").addClass("wpacu_not_load")}else a(this).closest("tr").removeClass("wpacu_not_load"),d=a(this).parents(".wpacu_asset_row"),e.hideHandleLoadExceptionArea(d,b,c)}),a(".wpacu-plugin-check-all").on("click",function(b){b.preventDefault();var c=a(this).attr("data-wpacu-plugin");a('table.wpacu_list_by_location[data-wpacu-plugin="'+c+'"]').find(f).prop("checked",!0).closest("tr").addClass("wpacu_not_load")}),a(".wpacu-plugin-uncheck-all").on("click",function(b){b.preventDefault();var c=a(this).attr("data-wpacu-plugin");a('table.wpacu_list_by_location[data-wpacu-plugin="'+c+'"]').find(f).prop("checked",!1).closest("tr").removeClass("wpacu_not_load")}),a(".wpacu-plugin-check-load-all").on("click change",function(b){b.preventDefault();var c=a(this).attr("data-wpacu-plugin"),d=a('table.wpacu_list_by_location[data-wpacu-plugin="'+c+'"]');d.find(".wpacu_load_it_option_one.wpacu_load_exception").prop("checked",!0).closest("tr.wpacu_is_bulk_unloaded").removeClass("wpacu_not_load"),d.find(f).prop("checked",!1).trigger("change")}),a(".wpacu-plugin-uncheck-load-all").on("click change",function(b){b.preventDefault();var c=a(this).attr("data-wpacu-plugin"),d=a('table.wpacu_list_by_location[data-wpacu-plugin="'+c+'"]');d.find(".wpacu_load_it_option_one.wpacu_load_exception").prop("checked",!1).closest("tr.wpacu_is_bulk_unloaded").addClass("wpacu_not_load"),d.find(f).prop("checked",!1).trigger("change")}),a(document).on("click",".wpacu_keep_bulk_rule",function(){a(this).prop("checked")&&a(this).parents("li").next().removeClass("remove_rule")}),a(document).on("click",".wpacu_remove_bulk_rule",function(){a(this).prop("checked")&&a(this).parents("li").addClass("remove_rule")}),a(document).on("click change",".wpacu_bulk_unload",function(f){b=a(this).attr("data-handle"),c=a(this).attr("data-handle-for"),d=a("[data-"+c+'-handle-row="'+b+'"]');var g=a(this).parents("li");if(a(this).prop("checked")){if("click"===f.type&&!e.triggerAlertWhenAnyUnloadRuleIsChosen(b,c))return!1;a(this).hasClass("wpacu_unload_it_regex_checkbox")?(g.find("label").addClass("wpacu_unload_checked"),g.find("textarea").prop("disabled",!1).focus().removeClass("wpacu_disabled"),g.find(".wpacu_handle_unload_regex_input_wrap").removeClass("wpacu_hide")):(a(this).parent("label").addClass("wpacu_input_load_checked"),a(this).closest("tr").addClass("wpacu_not_load")),e.showHandleLoadExceptionArea(c,b),a(this).hasClass("wpacu_global_unload")?(e.uncheckAllOtherBulkUnloadRules(a(this),!0),a('.input-unload-on-this-page[data-handle-for="'+c+'"][data-handle="'+b+'"]').prop("checked",!1)):a(this).hasClass("wpacu_post_type_unload")&&(e.uncheckAllOtherBulkUnloadRules(a(this),!1),a('.input-unload-on-this-page[data-handle-for="'+c+'"][data-handle="'+b+'"]').prop("checked",!1))}else a(this).hasClass("wpacu_unload_it_regex_checkbox")?(g.find("label").removeClass("wpacu_unload_checked"),g.find("textarea").blur().addClass("wpacu_disabled"),""===g.find("textarea").val().trim()&&(g.find("textarea").prop("disabled",!0).val(""),g.find(".wpacu_handle_unload_regex_input_wrap").addClass("wpacu_hide"))):(a(this).parent("label").removeClass("wpacu_input_load_checked"),a(this).closest("tr").removeClass("wpacu_not_load")),e.hideHandleLoadExceptionArea(d,b,c);d.hasClass("wpacu_is_bulk_unloaded")||a(".wpacu_bulk_unload:not(.wpacu_unload_it_regex_checkbox)").is(":checked")||a(this).closest("tr").removeClass("wpacu_not_load")}),a(document).on("click change",".wpacu_load_it_option_one.wpacu_load_exception,.wpacu_load_it_option_post_type",function(){var b=a(this).attr("data-handle");if(a(this).prop("checked")){a(this).parent("label").addClass("wpacu_global_unload_exception");var c="";a(this).hasClass("wpacu_style")?c="style":a(this).hasClass("wpacu_script")&&(c="script"),a("#"+c+"_"+b).prop("checked",!1).trigger("change")}else a(this).parent("label").removeClass("wpacu_global_unload_exception")}),
3
  a(document).on("click change",".wpacu_load_it_option_two",function(){var b=a(this).parents("li");a(this).prop("checked")?(b.find("textarea").prop("disabled",!1).focus().removeClass("wpacu_disabled"),b.find(".wpacu_load_regex_input_wrap").removeClass("wpacu_hide")):(b.find("textarea").blur().addClass("wpacu_disabled"),""===b.find("textarea").val().trim()&&(b.find("textarea").prop("disabled",!0).val(""),b.find(".wpacu_load_regex_input_wrap").addClass("wpacu_hide")))}),a(document).on("click change",".wpacu_script_attr_rule_input",function(b){if(a(this).is(":checked")){if("click"===b.type){var c=a(this).parents("tr.wpacu_asset_row").attr("data-script-child-handles"),d=wpacu_object.script_is_parent_alert;if(void 0!==c&&""!==c&&(d=d.replace("{wpacu_script_child_handles}",c),!confirm(d)))return!1}a(this).parents("ul").find(".wpacu_script_attr_rule_input").not(a(this)).prop("checked",!1),a(this).hasClass("wpacu_script_attr_rule_global")&&a(this).parents("ul").find(".wpacu-script-attr-make-exception").removeClass("wpacu_hide")}a(this).parents("ul").find(".wpacu_script_attr_rule_global").is(":checked")||a(this).parents("ul").find(".wpacu-script-attr-make-exception").addClass("wpacu_hide")}),a(document).on("change",".wpacu-screen-size-load",function(b){var c,d,e,f=a(this).val(),g=a(this).attr("data-handle");if(a(this).hasClass("wpacu-for-script"))c="SCRIPT file",d=a('.wpacu-handle-media-queries-load-field[data-script-handle="'+g+'"]');else{if(!a(this).hasClass("wpacu-for-style"))return!1;c="CSS file",d=a('.wpacu-handle-media-queries-load-field[data-style-handle="'+g+'"]')}if(!(d.length<1))if(e=d.find(":input"),f){if(a(this)[0].hasAttribute("data-wpacu-show-parent-alert")){var h=wpacu_object.parent_asset_media_query_load_alert.replace("[asset_type]",c);if(!confirm(h))return a(this).val(""),!1}d.addClass("wpacu-is-visible"),e.prop("disabled",!1),""===e.val()&&e.focus()}else d.removeClass("wpacu-is-visible"),""===e.val().trim()&&"true"===e.attr("data-wpacu-is-empty-on-page-load")&&e.prop("disabled",!0).val("")}),a(document).on("click",".wpacu-add-handle-note",function(b){b.preventDefault();var c,d,e=a(this).attr("data-handle");a(this).hasClass("wpacu-for-script")?c=a('.wpacu-handle-notes-field[data-script-handle="'+e+'"]'):a(this).hasClass("wpacu-for-style")&&(c=a('.wpacu-handle-notes-field[data-style-handle="'+e+'"]')),c.length<1||(d=c.find(":input"),c.is(":hidden")?(c.show(),d.prop("disabled",!1)):(c.hide(),""===d.val().trim()&&"true"===d.attr("data-wpacu-is-empty-on-page-load")&&d.prop("disabled",!0).val("")))}),a(document).on("click",".wpacu-external-file-size",function(b){b.preventDefault();var c,d=a(this),e=d.attr("data-src");d.hide(),c=d.next(),c.show(),e.includes("/?")?a.get(e,{},function(a,b,d){if("success"!==b)return"N/A";c.html(wpacuBytesToSize(a.length))}):a.post(wpacu_object.ajax_url,{action:wpacu_object.plugin_id+"_get_external_file_size",wpacu_remote_file:e,wpacu_ajax_check_remote_file_size_nonce:wpacu_object.wpacu_ajax_check_remote_file_size_nonce},function(a){c.html(a)})}),a(document).on("click",".wpacu_handle_row_expand_contract",function(b){b.preventDefault();var c=a(this).attr("data-wpacu-handle"),d=a(this).attr("data-wpacu-handle-for");a(this).find("span").hasClass("dashicons-minus")?(a(this).parents("td").attr("data-wpacu-row-status","contracted").find(".wpacu_handle_row_expanded_area").addClass("wpacu_hide"),a(this).find("span").removeClass("dashicons-minus").addClass("dashicons-plus"),a("#wpacu_"+d+"_"+c+"_row_contracted_area").val("1")):a(this).find("span").hasClass("dashicons-plus")&&(a(this).parents("td").attr("data-wpacu-row-status","expanded").find(".wpacu_handle_row_expanded_area").removeClass("wpacu_hide"),a(this).find("span").removeClass("dashicons-plus").addClass("dashicons-minus"),a("#wpacu_"+d+"_"+c+"_row_contracted_area").val(""))})},triggerForHardcodedAssets:function(){a('[data-is-hardcoded-asset="true"]').length>0&&(a.each(a('[data-is-hardcoded-asset="true"]'),function(b,c){e.updateHardcodedDataHiddenFieldStatus(a(this))}),a('[data-is-hardcoded-asset="true"]').on("click",".wpacu_unload_rule_input",function(){e.updateHardcodedDataHiddenFieldStatus(a(this).parents("[data-is-hardcoded-asset]"))}))},updateHardcodedDataHiddenFieldStatus:function(b){var c=!1;b.is("[data-style-handle-row]")?c=b.attr("data-style-handle-row"):b.is("[data-script-handle-row]")&&(c=b.attr("data-script-handle-row")),c&&(b.find(".wpacu_unload_rule_input:checked").length>0||b.hasClass("wpacu_not_load")?a("#"+c+"_hardcoded_data").prop("disabled",!1):a("#"+c+"_hardcoded_data").prop("disabled",!0))},triggerAlertWhenAnyUnloadRuleIsChosen:function(b,c){if("dashicons"===b&&"style"===c&&a('input[name="wpacu_ignore_child[styles][nf-display]').length>0&&!confirm(wpacu_object.dashicons_unload_alert_ninja_forms))return!1;if("script"===c){if(("jquery"===b||"jquery-core"===b)&&a("#script_jquery_ignore_children").length>0&&!confirm(wpacu_object.jquery_unload_alert))return!1;if("js-cookie"===b&&!confirm(wpacu_object.woo_js_cookie_unload_alert))return!1;if("wc-cart-fragments"===b&&!confirm(wpacu_object.woo_wc_cart_fragments_unload_alert))return!1;if(("backbone"===b||"underscore"===b)&&!confirm(wpacu_object.sensitive_library_unload_alert))return!1}return!0},pluginLoadManager:function(){a(".wpacu_plugin_load_it").on("click",function(){var b=a(this).attr("data-wpacu-plugin-path");a(this).prop("checked")&&(e.hidePluginLoadExceptionArea(b),a('.wpacu_plugin_unload_regex_input_wrap[data-wpacu-plugin-path="'+b+'"]').addClass("wpacu_hide"),a('.wpacu_plugin_unload_site_wide[data-wpacu-plugin-path="'+b+'"]').parent("label").removeClass("wpacu_plugin_unload_rule_input_checked"),a('.wpacu_plugin_unload_regex_option[data-wpacu-plugin-path="'+b+'"]').parent("label").removeClass("wpacu_plugin_unload_rule_input_checked"))}),a(".wpacu_plugin_unload_site_wide").on("click",function(){var b=a(this).attr("data-wpacu-plugin-path");a(this).prop("checked")?(a(this).parent("label").addClass("wpacu_plugin_unload_rule_input_checked"),a('.wpacu_plugin_unload_regex_option[data-wpacu-plugin-path="'+b+'"]').prop("checked",!1).parent("label").removeClass("wpacu_plugin_unload_rule_input_checked"),a('.wpacu_plugin_unload_logged_in[data-wpacu-plugin-path="'+b+'"]').prop("checked",!1).parent("label").removeClass("wpacu_plugin_unload_rule_input_checked"),a('.wpacu_plugin_unload_regex_input_wrap[data-wpacu-plugin-path="'+b+'"]').addClass("wpacu_hide"),e.showPluginLoadExceptionArea(b)):(a(this).parent("label").removeClass("wpacu_plugin_unload_rule_input_checked"),e.hidePluginLoadExceptionArea(b))}),a(".wpacu_plugin_unload_regex_option").on("click",function(){var b=a(this).attr("data-wpacu-plugin-path");a(this).prop("checked")?(a(this).parent("label").addClass("wpacu_plugin_unload_rule_input_checked"),a('.wpacu_plugin_unload_regex_input_wrap[data-wpacu-plugin-path="'+b+'"]').removeClass("wpacu_hide"),e.showPluginLoadExceptionArea(b),a('.wpacu_plugin_unload_site_wide[data-wpacu-plugin-path="'+b+'"]').prop("checked",!1).parent("label").removeClass("wpacu_plugin_unload_rule_input_checked")):(a('.wpacu_plugin_unload_regex_input_wrap[data-wpacu-plugin-path="'+b+'"]').addClass("wpacu_hide"),a(this).parent("label").removeClass("wpacu_plugin_unload_rule_input_checked"),e.hidePluginLoadExceptionArea(b))}),a(".wpacu_plugin_unload_logged_in").on("click",function(){var b=a(this).attr("data-wpacu-plugin-path");a(this).prop("checked")?(e.showPluginLoadExceptionArea(b),a('.wpacu_plugin_unload_site_wide[data-wpacu-plugin-path="'+b+'"]').prop("checked",!1).parent("label").removeClass("wpacu_plugin_unload_rule_input_checked")):(a(this).parent("label").removeClass("wpacu_plugin_unload_rule_input_checked"),e.hidePluginLoadExceptionArea(b))}),a(".wpacu_plugin_load_exception_regex").on("click",function(){var b=a(this).attr("data-wpacu-plugin-path");a(this).prop("checked")?a('.wpacu_load_regex_input_wrap[data-wpacu-plugin-path="'+b+'"]').removeClass("wpacu_hide"):a('.wpacu_load_regex_input_wrap[data-wpacu-plugin-path="'+b+'"]').addClass("wpacu_hide")})},showPluginLoadExceptionArea:function(b){a('.wrap_plugin_load_exception_options[data-wpacu-plugin-path="'+b+'"]').removeClass("wpacu_hide").find('input[type="checkbox"]').prop("disabled",!1)},hidePluginLoadExceptionArea:function(b){a('.wrap_plugin_unload_rules_options[data-wpacu-plugin-path="'+b+'"]').find("input:checked").length<1&&a('.wrap_plugin_load_exception_options[data-wpacu-plugin-path="'+b+'"]').addClass("wpacu_hide").find('input[type="checkbox"]').prop("disabled",!0)},showHandleLoadExceptionArea:function(b,c){var d=a("div.wpacu_exception_options_area_wrap[data-"+b+'-handle="'+c+'"]');d.parent("div").removeClass("wpacu_hide"),d.find('input[type="checkbox"]').not(".wpacu_lite_locked").prop("disabled",!1)},hideHandleLoadExceptionArea:function(b,c,d){if(!b.hasClass("wpacu_is_bulk_unloaded")&&!b.find(".wpacu_bulk_unload").is(":checked")){var e=a("div.wpacu_exception_options_area_wrap[data-"+d+'-handle="'+c+'"]');e.parent("div").addClass("wpacu_hide"),e.find('input[type="checkbox"]').prop("disabled",!0)}},uncheckAllOtherBulkUnloadRules:function(a,b){var c=".wpacu_bulk_unload";!1===b&&(c=".wpacu_bulk_unload:not(.wpacu_unload_it_regex_checkbox)"),a.closest("tr").find(c).not(a).prop("checked",!1).parent("label").removeClass("wpacu_input_load_checked").removeClass("wpacu_unload_checked")}};a(document).on("click",'input[name="wpacu_sub_tab_area"]',function(){a(this).prop("checked")&&a("#wpacu-selected-sub-tab-area").val(a(this).val())}),a(document).on("click","#wpacu_minify_css_enable, #wpacu_combine_loaded_css_enable, #wpacu_minify_js_enable, #wpacu_combine_loaded_js_enable, #wpacu_cdn_rewrite_enable, #wpacu_enable_test_mode",function(){a(this).prop("checked")?a('[data-linked-to="'+a(this).attr("id")+'"]').find(".wpacu-circle-status").addClass("wpacu-on").removeClass("wpacu-off"):a('[data-linked-to="'+a(this).attr("id")+'"]').find(".wpacu-circle-status").addClass("wpacu-off").removeClass("wpacu-on")}),a(document).on("click","#wpacu_inline_css_files_below_size_checkbox",function(){a(this).is(":checked")?a("#wpacu_inline_css_files_enable").prop("checked",!0).trigger("tick"):""===a("#wpacu_inline_css_files_list").val()&&a("#wpacu_inline_css_files_enable").prop("checked",!1).trigger("tick")}),a(document).on("click","#wpacu_inline_js_files_below_size_checkbox",function(){if(a(this).is(":checked")){if(!confirm(wpacu_object.inline_auto_js_files_confirm_msg))return!1;a("#wpacu_inline_js_files_enable").prop("checked",!0).trigger("tick")}else""===a("#wpacu_inline_js_files_list").val()&&a("#wpacu_inline_js_files_enable").prop("checked",!1).trigger("tick")}),a(document).on("click","#wpacu-mark-license-valid-button",function(){return confirm(wpacu_object.mark_license_valid_confirm)}),a(document).on("submit","#wpacu-license-form",function(){a("#wpacu_license_activate_btn").attr("disabled","disabled"),a("#wpacu_license_deactivate_btn").attr("disabled","disabled"),a(".wpacu-license-spinner").show()});var f,g;a("#wpacu-reset-drop-down").on("change keyup keydown mouseup mousedown click",function(){""===a(this).val()?(a("#wpacu-warning-read").removeClass("wpacu-visible"),a("#wpacu-reset-submit-btn").attr("disabled","disabled").removeClass("button-primary").addClass("button-secondary")):("reset_everything"===a(this).val()?a("#wpacu-license-data-remove-area, #wpacu-cache-assets-remove-area").addClass("wpacu-visible"):a("#wpacu-license-data-remove-area, #wpacu-cache-assets-remove-area").removeClass("wpacu-visible"),a("#wpacu-warning-read").addClass("wpacu-visible"),a("#wpacu-reset-submit-btn").removeAttr("disabled").removeClass("button-secondary").addClass("button-primary")),a(".wpacu-tools-area .wpacu-warning").hide(),f=a(this).find("option:selected"),a("#"+f.attr("data-id")).show()}),a("#wpacu-reset-submit-btn").on("click",function(){if("reset_settings"===a("#wpacu-reset-drop-down").val()?g=wpacu_object.reset_settings_confirm_msg:"reset_critical_css"===a("#wpacu-reset-drop-down").val()?g=wpacu_object.reset_critical_css_confirm_msg:"reset_everything_except_settings"===a("#wpacu-reset-drop-down").val()?g=wpacu_object.reset_everything_except_settings_confirm_msg:"reset_everything"===a("#wpacu-reset-drop-down").val()&&(g=wpacu_object.reset_everything_confirm_msg),!confirm(g))return!1;a("#wpacu-action-confirmed").val("yes"),setTimeout(function(){"yes"===a("#wpacu-action-confirmed").val()&&a("#wpacu-tools-form").trigger("submit")},1e3)}),a(document).on("submit","#wpacu-import-form",function(){if(!confirm(wpacu_object.import_confirm_msg))return!1;a(this).find("button").addClass("wpacu-importing").prop("disabled",!0)}),a(document).on("change","#wpacu_post_type_select",function(){a("#wpacu_post_type_form").trigger("submit")}),a(document).on("change","#wpacu_taxonomy_select",function(){a("#wpacu_taxonomy_form").trigger("submit")}),a(document).on("click","#wpacu_dashboard",function(){a(this).prop("checked")?a("#wpacu-settings-assets-retrieval-mode").show():a("#wpacu-settings-assets-retrieval-mode").hide()}),a(document).on("change",".wpacu-dom-get-type-selection",function(){a(this).is(":checked")&&(a(".wpacu-dom-get-type-info").hide(),a("#"+a(this).attr("data-target")).fadeIn("fast"))}),a(document).on("click","#wpacu_frontend",function(){a(this).prop("checked")?a("#wpacu-settings-frontend-exceptions").show():a("#wpacu-settings-frontend-exceptions").hide()}),a(document).on("change",".google_fonts_combine_type",function(){a(".wpacu_google_fonts_combine_type_area").hide(),"async"===a(this).val()?a("#wpacu_google_fonts_combine_type_async_info_area").fadeIn():"async_preload"===a(this).val()?a("#wpacu_google_fonts_combine_type_async_preload_info_area").fadeIn():a("#wpacu_google_fonts_combine_type_rb_info_area").fadeIn()}),a("#wpacu-allow-manage-assets-to-select-list-area").length>0&&!a("#wpacu-allow-manage-assets-to-select-list-area").hasClass("wpacu_hide")&&setTimeout(function(){jQuery("#wpacu-allow-manage-assets-to-select-list").chosen()},50),a("#wpacu-allow-manage-assets-to-select").on("click change",function(){"chosen"===a(this).val()?(a("#wpacu-allow-manage-assets-to-select-list-area").removeClass("wpacu_hide"),setTimeout(function(){jQuery("#wpacu-allow-manage-assets-to-select-list").chosen()},50)):a("#wpacu-allow-manage-assets-to-select-list-area").addClass("wpacu_hide")}),a("#wpacu_assets_list_layout").on("click change",function(){"by-location"===a(this).val()?a("#wpacu-assets-list-by-location-selected").fadeIn("fast"):a("#wpacu-assets-list-by-location-selected").fadeOut("fast")}),a("#wpacu_disable_jquery_migrate").on("click",function(){return!a(this).is(":checked")||(!(!a(this).is(":checked")||!confirm(wpacu_object.jquery_migration_disable_confirm_msg))||(a(this).prop("checked",!1),!1))}),a("#wpacu_disable_comment_reply").on("click",function(){return!a(this).is(":checked")||(!(!a(this).is(":checked")||!confirm(wpacu_object.comment_reply_disable_confirm_msg))||(a(this).prop("checked",!1),!1))}),a("[data-target-opacity]").on("click change tick",function(){a(this).prop("checked")?a("#"+a(this).attr("data-target-opacity")).css({opacity:1}):a("#"+a(this).attr("data-target-opacity")).css({opacity:.4})}),
4
+ a(document).on("change",".wpacu-combine-loaded-js-level",function(){a(this).is(":checked")&&(a(".wpacu_combine_loaded_js_level_area").removeClass("wpacu_active"),a("#"+a(this).attr("data-target")).addClass("wpacu_active"))});var h=a('#wpacu-update-button-area input[type="submit"]');a(document).on("submit","#wpacu-settings-form, .wpacu-settings-form",function(){h.attr("disabled",!0),a("#wpacu-updating-settings").addClass("wpacu-show").removeClass("wpacu-hide")});var i=a("#wpacu-update-front-settings-area .wpacu_update_btn");if(a(document).on("submit","#wpacu-frontend-form",function(){return i.attr("disabled",!0).addClass("wpacu_submitting"),a("#wpacu-updating-front-settings").show(),!0}),a(document).on("submit","form#wpacu-settings-form, form#wpacu_dash_assets_manager_form",function(){return h.attr("disabled",!0),a("#wpacu-updating-settings").show(),!0}),a(document).on("click",".wpacu_bulk_rule_checkbox, .wpacu_remove_preload",function(){var b=a(this).parents(".wpacu_bulk_change_row");a(this).prop("checked")?b.addClass("wpacu_selected"):b.removeClass("wpacu_selected")}),a(document).on("click",".wpacu_remove_regex",function(){var b=a(this).parents(".wpacu_regex_rule_row");a(this).prop("checked")?b.addClass("wpacu_enabled"):b.removeClass("wpacu_enabled")}),a(document).on("click",".wpacu_restore_position",function(){var b=a(this).parents(".wpacu_restore_position_row");a(this).prop("checked")?b.addClass("wpacu_selected"):b.removeClass("wpacu_selected")}),a(document).on("click",".wpacu_remove_global_attr",function(){var b=a(this).parents(".wpacu_remove_global_attr_row");a(this).prop("checked")?b.addClass("wpacu_selected"):b.removeClass("wpacu_selected")}),a("#wpacu_wrap_assets").length>0&&setTimeout(function(){e.load()},200),a("#wpacu-plugins-load-manager-wrap").length>0&&setTimeout(function(){e.pluginLoadManager()},200),a("#wpacu-assets-collapsible-wrap-hardcoded-list").length>0){var j={};j[wpacu_object.plugin_name+"_load"]=1,j[wpacu_object.plugin_name+"_time_r"]=(new Date).getTime(),j.wpacu_just_hardcoded=1,a.ajax({method:"GET",url:wpacu_object.page_url,data:j,cache:!1,complete:function(a,c){"error"===a.statusText&&b(a.responseText)}}).done(function(a){b(a)})}if("undefined"==typeof wpacu_object||a("#wpacu_meta_box_content").length<1)return!1;("default"===wpacu_object.list_show_status||""===wpacu_object.list_show_status||wpacu_object.override_assets_list_load)&&c(!1),"fetch_on_click"===wpacu_object.list_show_status&&a(document).on("click","#wpacu_ajax_fetch_on_click_btn",function(b){b.preventDefault(),a(this).hide(),a("#wpacu_fetching_assets_list_wrap").show(),c(!0)}),a(document).on("click",".wp-admin.post-php .edit-post-header__settings button.is-primary",function(){var b=function(){if(0===a(".edit-post-header__settings .is-saving").length){if(a("#wpacu_meta_box_content").length>0){a("#wpacu-assets-reloading").remove();var b='<span id="wpacu-assets-reloading" class="editor-post-saved-state is-wpacu-reloading">'+wpacu_object.reload_icon+wpacu_object.reload_msg+"</span>";a(".wp-admin.post-php .edit-post-header__settings").prepend(b),a(".wpacu_asset_row, .wpacu-page-options .wpacu-assets-collapsible-content").addClass("wpacu-loading"),c(!0),wpacuAjaxClearCache(),clearInterval(d)}}},d=setInterval(b,900)});try{var k;a('input[type="hidden"][name="_wp_http_referer"]').length>0&&(k=a('input[type="hidden"][name="_wp_http_referer"]').val(),k.includes("term.php?taxonomy=")&&k.includes("message=")&&wpacuAjaxClearCache(),k.includes("post.php?post=")&&k.includes("message=")&&wpacuAjaxClearCache())}catch(a){console.log(a)}}),jQuery(window).on("load",function(){wpacuCheckSourcesFor404Errors()}),jQuery(document).ready(function(){[].slice.call(document.querySelectorAll('textarea[data-wpacu-adapt-height="1"]')).forEach(function(a){a.style.boxSizing=a.style.mozBoxSizing="border-box",a.style.overflowY="hidden";var b=a.scrollHeight;a.addEventListener("input",function(){wpacuAdjustTextareaHeight(a,b)}),window.addEventListener("resize",function(){wpacuAdjustTextareaHeight(a,b)}),wpacuAdjustTextareaHeight(a,b)})});
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-only-when-kept-loaded,tr.wpacu_not_load th .wpacu-assets-inline-code-wrap,tr.wpacu_not_load th .wpacu-only-when-kept-loaded{opacity:.45}.dashicons-wpacu{width:17px;height:17px;margin:2px 0 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 #wpacu-fetch-list-step-1-wrap.wpacu-completed{color:green}#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 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-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_bold span,.wpacu_unload_regex_area_wrap label.wpacu_bold span{font-weight:600!important}.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{display:block}.wpacu_is_global_unloaded .wpacu_exception_options_area_wrap .wpacu_load_regex_input_wrap{display:block}.wpacu_exception_options_area_load_exception{display:table;float:none;clear:both;border:none;padding:0!important;background:0 0}.wpacu_exception_options_area_wrap{display:table;background:0 0!important}.wpacu_exception_options_area_wrap fieldset{border:1px solid #cdcdcd;padding:10px;background:#fff;border-radius:5px}.wpacu_exception_options_area_wrap fieldset legend{width:auto;font-weight:400;font-size:inherit;padding:8px 11px;margin:0;background:#fff;border:1px solid #cdcdcd;border-radius:5px}.wpacu_exception_options_area_wrap label.wpacu_bold span{font-weight:600!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{display:block}.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}body.wp-admin #wpacu_wrap_assets code{display:inline-block!important}body:not(.wp-admin) #wpacu_wrap_assets code{display:block!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;background-color:#fff!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{padding:10px;margin:0 0 10px 0!important;background-color:#f5f5f5;border-left:1px solid #ddd}.wpacu_verified span{color:#0073aa;font-weight:700}.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}.wpacu-sub-page-tabs-wrap{min-width:320px;margin:0 auto 15px auto;border-bottom:1px solid #ccc}.wpacu-sub-page-tabs-wrap label.wpacu-sub-page-nav-label{display:inline-block;position:relative;border-top:1px solid rgba(40,44,42,.1);border-left:1px solid rgba(40,44,42,.1);border-right:1px solid rgba(40,44,42,.1)}.wpacu-sub-page-tabs-wrap label.wpacu-sub-page-nav-label a{display:block;margin:0;padding:15px 25px;font-weight:400;text-align:center;color:#74777b;border-left:1px solid transparent;border-right:1px solid transparent;border-top:2px solid transparent;border-bottom:0;text-decoration:none;background:rgba(40,44,42,.05)}.wpacu-sub-page-tabs-wrap label.wpacu-sub-page-nav-label a:hover{background:#f1f1f1;color:#008f9c}.wpacu-sub-page-tabs-wrap label.wpacu-sub-page-nav-label.wpacu-selected{color:#008f9c;border-left:1px solid #ccc;border-right:1px solid #ccc;border-top:2px solid #008f9c;border-bottom:1px transparent;margin-bottom:-2px}.wpacu-sub-page-tabs-wrap label.wpacu-sub-page-nav-label.wpacu-selected a{background:#f1f1f1;color:#008f9c;font-weight:600}.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}.nav-tab-wrapper.nav-critical-css-manager .nav-tab{font-size:13px;font-weight:500;padding:6px 20px 6px 10px;position:relative}.nav-tab-wrapper.nav-critical-css-manager .nav-tab span.wpacu-circle-status{position:absolute;right:5px;top:13px;height:11px;width:11px;border-radius:50%;display:inline-block;opacity:.75}.nav-tab-wrapper.nav-critical-css-manager .nav-tab span.wpacu-circle-status.wpacu-on{background:#52af00}.nav-tab-wrapper.nav-critical-css-manager .nav-tab span.wpacu-circle-status.wpacu-off{background:#ccc}.nav-tab-wrapper.nav-critical-css-manager .nav-tab.for-pro{padding:6px 8px 6px 3px}ul#wpacu_custom_pages_nav_links{list-style:none}ul#wpacu_custom_pages_nav_links li{position:relative;display:inline-block;margin:0 30px 0 0}ul#wpacu_custom_pages_nav_links li a{text-decoration:none}ul#wpacu_custom_pages_nav_links li a:hover{text-decoration:underline}ul#wpacu_custom_pages_nav_links li.wpacu-current{text-decoration:underline;font-weight:700}ul#wpacu_custom_pages_nav_links li span.wpacu-circle-status{position:absolute;right:-15px;top:5px;height:11px;width:11px;border-radius:50%;display:inline-block;opacity:.75}ul#wpacu_custom_pages_nav_links li span.wpacu-circle-status.wpacu-on{background:#52af00}ul#wpacu_custom_pages_nav_links li span.wpacu-circle-status.wpacu-off{background:#ccc}ul#wpacu_custom_pages_nav_links li:last-child:after,ul#wpacu_custom_pages_nav_links li:last-child:before{content:""}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(even),ul.wpacu_striped>:nth-child(even){background-color:#fff!important}.wpacu_striped>tbody>:nth-child(odd),ul.wpacu_striped>:nth-child(odd){background-color:#f9f9f9!important}.wpacu_update_btn{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;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_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;background-color:#0061a7!important}.wpacu_update_btn.wpacu_submitting{cursor:default!important}.wpacu_update_btn:active{position:relative!important;top:1px!important}.wpacu-btns a{text-decoration:none}.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:hover{text-decoration:none}.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{border-color:transparent}.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%}.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;text-decoration:none;display:inline-block;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;display:inline-block;color:inherit;text-decoration:none}.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{font-size:14px;line-height:18px;position:absolute;z-index:1;visibility:hidden;width:160px;background-color:#00a7a7;color:#fff;text-align:center;padding:8px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;bottom:100%;bottom:calc(100% + 15px);left:50%;margin-left:-65px;-webkit-transition:.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 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;display:inline-block;font-style:normal;color:inherit;text-decoration:none}.wordpress-core-file .wpacu-tooltip{font-size:14px;line-height:18px;position:absolute;z-index:1;visibility:hidden;width:160px;background-color:#c00;color:#fff;text-align:center;padding:6px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;bottom:100%;bottom:calc(100% + 15px);left:50%;margin-left:-86px;-webkit-transition:.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 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:#ffaf5512;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-allow-manage-assets-to-select-list-area{display:inline-block}#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:#008f9c0a;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{margin:0}.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-left:18px;padding-right:18px;height:46px;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.wpacu_with_text{width:65px}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_with_text .wpacu_slider:before{left:14px}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_with_text .wpacu_slider:after{top:5px;position:absolute;content:"OFF";color:#fff;right:9px;font-weight:600}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_with_text input:checked+.wpacu_slider{background-color:#52af00}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_with_text input:checked+.wpacu_slider:before{left:18px}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_with_text input:checked+.wpacu_slider:after{top:5px;position:absolute;content:"ON";color:#fff;left:14px;font-weight:600}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch input{display:none}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch:not(.wpacu_switch_standard) .wpacu_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;-webkit-transition:.2s;transition:.2s}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch:not(.wpacu_switch_standard) .wpacu_slider:before{position:absolute;content:"";height:22px;width:22px;left:4px;bottom:4px;background-color:#fff;-webkit-transition:.2s;transition:.2s}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch input:checked+.wpacu_slider{background-color:#52af00}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch input:focus+.wpacu_slider{box-shadow:0 0 1px #52af00}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch input:checked+.wpacu_slider:before{-webkit-transform:translateX(22px);-ms-transform:translateX(22px);transform:translateX(22px)}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch .wpacu_slider.wpacu_round{border-radius:29px}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch .wpacu_slider.wpacu_round:before{border-radius:50%}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_locked_for_pro{opacity:.3}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_disabled{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]:hover,.wpacu-form-table label input[type=checkbox]:hover{border:1px solid green}.wpacu-form-table .wpacu-fancy-checkbox input[type=checkbox]:checked,.wpacu-form-table label input[type=checkbox]:checked{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:normal 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 0}.wpacu-form-table .wpacu-fancy-radio input[type=radio].wpacu-disabled-status:checked{border:1px solid #c00}.wpacu-form-table .wpacu-fancy-radio input[type=radio].wpacu-disabled-status:checked:before{background:#c00;color:#c00}.wpacu-form-table .wpacu-fancy-radio input[type=radio].wpacu-disabled-status:hover{border:1px solid #c00}.wpacu-form-table .wpacu-fancy-radio input[type=radio]:hover{border:1px solid green}.wpacu-form-table .wpacu-fancy-radio input[type=radio]:checked{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:normal 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 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{margin:16px 0 0}#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}}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-left:18px;padding-right:18px;height:46px;font-size:15px}#wpacu-updating-settings{position:absolute;margin-left:183px;top:28px;display:none}#wpacu-updating-settings.wpacu-show{display:block}#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}.wpacu-fade-in{animation:wpacuFadeIn ease-in .2s;-webkit-animation:wpacuFadeIn ease-in .2s;-moz-animation:wpacuFadeIn ease-in .2s;-o-animation:wpacuFadeIn ease-in .2s;-ms-animation:wpacuFadeIn ease-in .2s}@keyframes wpacuFadeIn{0%{opacity:0}100%{opacity:1}}@-moz-keyframes wpacuFadeIn{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes wpacuFadeIn{0%{opacity:0}100%{opacity:1}}@-o-keyframes wpacuFadeIn{0%{opacity:0}100%{opacity:1}}@-ms-keyframes wpacuFadeIn{0%{opacity:0}100%{opacity:1}}body.wp-admin select.wpacu-screen-size-load{margin-top:10px;margin-bottom:10px;margin-right:6px}body.wp-admin div.wpacu-helper-area{display:inline-block;vertical-align:top}body.wp-admin .wpacu-handle-media-queries-load-field{display:none;vertical-align:top;margin-bottom:10px}body.wp-admin .wpacu-handle-media-queries-load-field.wpacu-is-visible{display:inline-block}body.wp-admin .wpacu-handle-media-queries-load-field>textarea{font-size:100%;padding:6px;width:320px;max-width:100%;max-height:80px;border:1px solid green}body.wp-admin .wpacu-handle-media-queries-load-field:not(.wpacu-is-visible)+div.wpacu-helper-area{margin-top:2px;vertical-align:middle}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}body:not(.wp-admin) select.wpacu-screen-size-load{margin-top:10px;margin-bottom:10px;margin-right:8px;width:auto}body:not(.wp-admin) div.wpacu-helper-area{display:inline-block;vertical-align:top}body:not(.wp-admin) .wpacu-handle-media-queries-load-field{display:none;vertical-align:top;margin-top:10px;margin-bottom:10px}body:not(.wp-admin) .wpacu-handle-media-queries-load-field.wpacu-is-visible{display:inline-block}body:not(.wp-admin) .wpacu-handle-media-queries-load-field>textarea{font-size:100%;padding:6px;width:320px;max-width:100%;max-height:80px;border:1px solid green}body:not(.wp-admin) .wpacu-handle-media-queries-load-field:not(.wpacu-is-visible)+div.wpacu-helper-area{margin-top:2px;vertical-align:middle}body:not(.wp-admin) .wpacu-handle-notes p{margin-top:0!important}body:not(.wp-admin) .wpacu-handle-notes p a{font-size:inherit}body:not(.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 input.wpacu_load_exception:checked+span{color:green}.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;white-space:break-spaces;-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{background:inherit;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=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{display:block}.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 div.wpacu-source-row a{word-break:break-word}.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{background:inherit}.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{background:inherit;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{background:inherit;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 .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract span.dashicons{background:inherit}.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-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:before{content:"";display:table}.wpacu-clearfix:after{content:"";display:table;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;padding:9px 10px 10px 15px;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;position:relative;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!important;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!important;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!important;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!important;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:40px;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{border:1px solid #eceeef}.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-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.wpacu_table_wrap .table-active{background-color:rgba(0,0,0,.075)}.wpacu_table_wrap .table-active>td,.wpacu_table_wrap .table-active>th{background-color:rgba(0,0,0,.075)}.wpacu_table_wrap .table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.wpacu_table_wrap .table-hover .table-active:hover>td,.wpacu_table_wrap .table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.wpacu_table_wrap .table-success{background-color:#dff0d8}.wpacu_table_wrap .table-success>td,.wpacu_table_wrap .table-success>th{background-color:#dff0d8}.wpacu_table_wrap .table-hover .table-success:hover{background-color:#d0e9c6}.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{background-color:#d9edf7}.wpacu_table_wrap .table-info>td,.wpacu_table_wrap .table-info>th{background-color:#d9edf7}.wpacu_table_wrap .table-hover .table-info:hover{background-color:#c4e3f3}.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{background-color:#fcf8e3}.wpacu_table_wrap .table-warning>td,.wpacu_table_wrap .table-warning>th{background-color:#fcf8e3}.wpacu_table_wrap .table-hover .table-warning:hover{background-color:#faf2cc}.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{background-color:#f2dede}.wpacu_table_wrap .table-danger>td,.wpacu_table_wrap .table-danger>th{background-color:#f2dede}.wpacu_table_wrap .table-hover .table-danger:hover{background-color:#ebcccc}.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{border:0}.wpacu_table_wrap .table-responsive{display:block;width:100%;overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar}.wpacu_table_wrap .table-responsive.table-bordered{border:0}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).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}body.wp-admin[class*=asset-cleanup] table.wp-list-table:not(.wpacu-overview-list-table) tr:not(:first-of-type):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_restore_position_row.wpacu_selected{background:#e7e7e7!important}.wp-list-table .wpacu_remove_global_attr_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}ol.getting-started li{font-size:14px;line-height:22px;margin-bottom:8px}.wpacu-get-help-wrap p{font-size:14px}.wpacu-get-help-wrap .help-content-wrap{margin:20px 0 25px;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-moz-flex;display:-webkit-flex;display:flex;width:100%}@media only screen and (min-width:768px){.wpacu-get-help-wrap .help-content-wrap{-webkit-box-align:start;-ms-flex-align:start;-ms-grid-row-align:flex-start;align-items:flex-start}}@media only screen and (max-width:767px){.wpacu-get-help-wrap .help-content-wrap{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.wpacu-get-help-wrap .help-content-wrap .help-content{padding:15px;background:#fff;border:1px solid #e0e0e0;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;box-shadow:2px 3px 8px 0 #231f2038;flex:1 1 50%;margin-bottom:10px}.wpacu-get-help-wrap .help-content-wrap .help-content .content-title{margin:5px 0 15px;line-height:24px}.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 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:320px}.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}@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{order:2}@media only screen and (min-width:768px){.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 ul li:last-child{margin-bottom:0}.wpacu-get-help-wrap .help-content-wrap .help-content p: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 span.dashicons-warning,#wpacu-warning-read span.dashicons-wordpress-alt{color:#c00}#wpacu-warning-read.wpacu-visible{display:block}#wpacu-reset-submit-area{margin:10px 0;clear:both}#wpacu-reset-submit-btn{margin:10px 0 0}.wpacu-tools-area{margin:10px 20px 0 2px}.wpacu-tools-area .wpacu-tools-container{background:#fff;padding:15px;border:1px solid #cdcdcd;width:96%}.wpacu-tools-area .wpacu-tools-container form>div:first-child{margin:0 0 10px}.wpacu-tools-area .wpacu-tools-container form .wpacu-warning{display:none;box-sizing:border-box;margin-top:10px}.wpacu-tools-area .wpacu-tools-container form .wpacu-warning p{margin:0 0 10px;line-height:22px}.wpacu-tools-area .wpacu-tools-container form .wpacu-warning p:only-child{margin:0}.wpacu-tools-area .wpacu-tools-container form .wpacu-warning ul{font-size:13px;list-style-type:disc;padding-left:30px}.wpacu-tools-area .wpacu-tools-container form .wpacu-warning.wpacu-visible{display:block}.wpacu-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}@media only screen and (max-width:767px){.wpacu-about-wrap h1{margin:20px}}.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 .wpacu-about-text img{display:none}}@media only screen and (max-width:767px){.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}@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,.wpacu-lite-vs-pro-wrap th{border:1px solid #ddd;padding:10px 16px 10px 16px;empty-cells:show}.wpacu-lite-vs-pro-wrap td,.wpacu-lite-vs-pro-wrap th{text-align:left}.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}@media only screen and (max-width:767px){.wpacu-lite-vs-pro-wrap .txt-l{font-size:20px}}.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 .tick{font-size:15px}}.wpacu-lite-vs-pro-wrap .na{font-size:18px;opacity:.3}@media only screen and (max-width:767px){.wpacu-lite-vs-pro-wrap .na{font-size:15px}}.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}.wpacu-lite-vs-pro-wrap td,.wpacu-lite-vs-pro-wrap th{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 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}}@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{padding:0 20px 0 25px}}@media only screen and (min-width:1200px){.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-col-right p:first-child{margin-top:0}}@media only screen and (min-width:1200px){.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.wpacu_plugin_unload_rule_input_checked{color:#c00}#wpacu-plugins-load-manager-wrap .wrap_plugin_unload_rules_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules .wpacu_plugin_unload_logged_in:checked+span{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-plugins-load-manager-wrap .wrap_plugin_load_exception_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules .wpacu_plugin_load_exception_logged_in:checked+span,#wpacu-plugins-load-manager-wrap .wrap_plugin_load_exception_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules .wpacu_plugin_load_exception_regex:checked+span{color:green}.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_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;min-height:40px}#wpacu-plugins-load-manager-wrap .wpacu_exception_options_area textarea{margin-top:6px;min-width:400px;min-height:40px;width:100%}#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:focus{width:100%}#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-only-when-kept-loaded,tr.wpacu_not_load th .wpacu-assets-inline-code-wrap,tr.wpacu_not_load th .wpacu-only-when-kept-loaded{opacity:.45}.dashicons-wpacu{width:17px;height:17px;margin:2px 0 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 #wpacu-fetch-list-step-1-wrap.wpacu-completed{color:green}#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 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-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_bold span,.wpacu_unload_regex_area_wrap label.wpacu_bold span{font-weight:600!important}.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{display:block}.wpacu_is_global_unloaded .wpacu_exception_options_area_wrap .wpacu_load_regex_input_wrap{display:block}.wpacu_exception_options_area_load_exception{display:table;float:none;clear:both;border:none;padding:0!important;background:0 0}.wpacu_exception_options_area_wrap{display:table;background:0 0!important}.wpacu_exception_options_area_wrap fieldset{border:1px solid #cdcdcd;padding:10px;background:#fff;border-radius:5px}.wpacu_exception_options_area_wrap fieldset legend{width:auto;font-weight:400;font-size:inherit;padding:8px 11px;margin:0;background:#fff;border:1px solid #cdcdcd;border-radius:5px}.wpacu_exception_options_area_wrap label.wpacu_bold span{font-weight:600!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{display:block}.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}body.wp-admin #wpacu_wrap_assets code{display:inline-block!important}body:not(.wp-admin) #wpacu_wrap_assets code{display:block!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;background-color:#fff!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{padding:10px;margin:0 0 10px 0!important;background-color:#f5f5f5;border-left:1px solid #ddd}.wpacu_verified span{color:#0073aa;font-weight:700}.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}.wpacu-sub-page-tabs-wrap{min-width:320px;margin:0 auto 15px auto;border-bottom:1px solid #ccc}.wpacu-sub-page-tabs-wrap label.wpacu-sub-page-nav-label{display:inline-block;position:relative;border-top:1px solid rgba(40,44,42,.1);border-left:1px solid rgba(40,44,42,.1);border-right:1px solid rgba(40,44,42,.1)}.wpacu-sub-page-tabs-wrap label.wpacu-sub-page-nav-label a{display:block;margin:0;padding:15px 25px;font-weight:400;text-align:center;color:#74777b;border-left:1px solid transparent;border-right:1px solid transparent;border-top:2px solid transparent;border-bottom:0;text-decoration:none;background:rgba(40,44,42,.05)}.wpacu-sub-page-tabs-wrap label.wpacu-sub-page-nav-label a:hover{background:#f1f1f1;color:#008f9c}.wpacu-sub-page-tabs-wrap label.wpacu-sub-page-nav-label.wpacu-selected{color:#008f9c;border-left:1px solid #ccc;border-right:1px solid #ccc;border-top:2px solid #008f9c;border-bottom:1px transparent;margin-bottom:-2px}.wpacu-sub-page-tabs-wrap label.wpacu-sub-page-nav-label.wpacu-selected a{background:#f1f1f1;color:#008f9c;font-weight:600}.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}.nav-tab-wrapper.nav-critical-css-manager .nav-tab{font-size:13px;font-weight:500;padding:6px 20px 6px 10px;position:relative}.nav-tab-wrapper.nav-critical-css-manager .nav-tab span.wpacu-circle-status{position:absolute;right:5px;top:13px;height:11px;width:11px;border-radius:50%;display:inline-block;opacity:.75}.nav-tab-wrapper.nav-critical-css-manager .nav-tab span.wpacu-circle-status.wpacu-on{background:#52af00}.nav-tab-wrapper.nav-critical-css-manager .nav-tab span.wpacu-circle-status.wpacu-off{background:#ccc}.nav-tab-wrapper.nav-critical-css-manager .nav-tab.for-pro{padding:6px 8px 6px 3px}ul#wpacu_custom_pages_nav_links{list-style:none}ul#wpacu_custom_pages_nav_links li{position:relative;display:inline-block;margin:0 30px 0 0}ul#wpacu_custom_pages_nav_links li a{text-decoration:none}ul#wpacu_custom_pages_nav_links li a:hover{text-decoration:underline}ul#wpacu_custom_pages_nav_links li.wpacu-current{text-decoration:underline;font-weight:700}ul#wpacu_custom_pages_nav_links li span.wpacu-circle-status{position:absolute;right:-15px;top:5px;height:11px;width:11px;border-radius:50%;display:inline-block;opacity:.75}ul#wpacu_custom_pages_nav_links li span.wpacu-circle-status.wpacu-on{background:#52af00}ul#wpacu_custom_pages_nav_links li span.wpacu-circle-status.wpacu-off{background:#ccc}ul#wpacu_custom_pages_nav_links li:last-child:after,ul#wpacu_custom_pages_nav_links li:last-child:before{content:""}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(even),ul.wpacu_striped>:nth-child(even){background-color:#fff!important}.wpacu_striped>tbody>:nth-child(odd),ul.wpacu_striped>:nth-child(odd){background-color:#f9f9f9!important}.wpacu_update_btn{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;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_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;background-color:#0061a7!important}.wpacu_update_btn.wpacu_submitting{cursor:default!important}.wpacu_update_btn:active{position:relative!important;top:1px!important}.wpacu-btns a{text-decoration:none}.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:hover{text-decoration:none}.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{border-color:transparent}.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%}.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;text-decoration:none;display:inline-block;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;display:inline-block;color:inherit;text-decoration:none}.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{font-size:14px;line-height:18px;position:absolute;z-index:1;visibility:hidden;width:160px;background-color:#00a7a7;color:#fff;text-align:center;padding:8px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;bottom:100%;bottom:calc(100% + 15px);left:50%;margin-left:-65px;-webkit-transition:.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 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;display:inline-block;font-style:normal;color:inherit;text-decoration:none}.wordpress-core-file .wpacu-tooltip{font-size:14px;line-height:18px;position:absolute;z-index:1;visibility:hidden;width:160px;background-color:#c00;color:#fff;text-align:center;padding:6px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;bottom:100%;bottom:calc(100% + 15px);left:50%;margin-left:-86px;-webkit-transition:.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 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:#ffaf5512;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-allow-manage-assets-to-select-list-area{display:inline-block}#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:#008f9c0a;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{margin:0}.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-left:18px;padding-right:18px;height:46px;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.wpacu_with_text{width:65px}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_with_text .wpacu_slider:before{left:14px}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_with_text .wpacu_slider:after{top:5px;position:absolute;content:"OFF";color:#fff;right:9px;font-weight:600}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_with_text input:checked+.wpacu_slider{background-color:#52af00}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_with_text input:checked+.wpacu_slider:before{left:18px}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_with_text input:checked+.wpacu_slider:after{top:5px;position:absolute;content:"ON";color:#fff;left:14px;font-weight:600}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch input{display:none}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch:not(.wpacu_switch_standard) .wpacu_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;-webkit-transition:.2s;transition:.2s}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch:not(.wpacu_switch_standard) .wpacu_slider:before{position:absolute;content:"";height:22px;width:22px;left:4px;bottom:4px;background-color:#fff;-webkit-transition:.2s;transition:.2s}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch input:checked+.wpacu_slider{background-color:#52af00}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch input:focus+.wpacu_slider{box-shadow:0 0 1px #52af00}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch input:checked+.wpacu_slider:before{-webkit-transform:translateX(22px);-ms-transform:translateX(22px);transform:translateX(22px)}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch .wpacu_slider.wpacu_round{border-radius:29px}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch .wpacu_slider.wpacu_round:before{border-radius:50%}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_locked_for_pro{opacity:.3}.wpacu-wrap.wpacu-switch-enhanced .wpacu_switch.wpacu_disabled{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]:hover,.wpacu-form-table label input[type=checkbox]:hover{border:1px solid green}.wpacu-form-table .wpacu-fancy-checkbox input[type=checkbox]:checked,.wpacu-form-table label input[type=checkbox]:checked{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:normal 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 0}.wpacu-form-table .wpacu-fancy-radio input[type=radio].wpacu-disabled-status:checked{border:1px solid #c00}.wpacu-form-table .wpacu-fancy-radio input[type=radio].wpacu-disabled-status:checked:before{background:#c00;color:#c00}.wpacu-form-table .wpacu-fancy-radio input[type=radio].wpacu-disabled-status:hover{border:1px solid #c00}.wpacu-form-table .wpacu-fancy-radio input[type=radio]:hover{border:1px solid green}.wpacu-form-table .wpacu-fancy-radio input[type=radio]:checked{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:normal 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 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{margin:16px 0 0}#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}}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-left:18px;padding-right:18px;height:46px;font-size:15px}#wpacu-updating-settings{position:absolute;margin-left:183px;top:28px;display:none}#wpacu-updating-settings.wpacu-show{display:block}#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}.wpacu-fade-in{animation:wpacuFadeIn ease-in .2s;-webkit-animation:wpacuFadeIn ease-in .2s;-moz-animation:wpacuFadeIn ease-in .2s;-o-animation:wpacuFadeIn ease-in .2s;-ms-animation:wpacuFadeIn ease-in .2s}@keyframes wpacuFadeIn{0%{opacity:0}100%{opacity:1}}@-moz-keyframes wpacuFadeIn{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes wpacuFadeIn{0%{opacity:0}100%{opacity:1}}@-o-keyframes wpacuFadeIn{0%{opacity:0}100%{opacity:1}}@-ms-keyframes wpacuFadeIn{0%{opacity:0}100%{opacity:1}}body.wp-admin select.wpacu-screen-size-load{margin-top:10px;margin-bottom:10px;margin-right:6px}body.wp-admin div.wpacu-helper-area{display:inline-block;vertical-align:top}body.wp-admin .wpacu-handle-media-queries-load-field{display:none;vertical-align:top;margin-bottom:10px}body.wp-admin .wpacu-handle-media-queries-load-field.wpacu-is-visible{display:inline-block}body.wp-admin .wpacu-handle-media-queries-load-field>textarea{font-size:100%;padding:6px;width:320px;max-width:100%;max-height:80px;border:1px solid green}body.wp-admin .wpacu-handle-media-queries-load-field:not(.wpacu-is-visible)+div.wpacu-helper-area{margin-top:2px;vertical-align:middle}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}body:not(.wp-admin) select.wpacu-screen-size-load{margin-top:10px;margin-bottom:10px;margin-right:8px;width:auto}body:not(.wp-admin) div.wpacu-helper-area{display:inline-block;vertical-align:top}body:not(.wp-admin) .wpacu-handle-media-queries-load-field{display:none;vertical-align:top;margin-top:10px;margin-bottom:10px}body:not(.wp-admin) .wpacu-handle-media-queries-load-field.wpacu-is-visible{display:inline-block}body:not(.wp-admin) .wpacu-handle-media-queries-load-field>textarea{font-size:100%;padding:6px;width:320px;max-width:100%;max-height:80px;border:1px solid green}body:not(.wp-admin) .wpacu-handle-media-queries-load-field:not(.wpacu-is-visible)+div.wpacu-helper-area{margin-top:2px;vertical-align:middle}body:not(.wp-admin) .wpacu-handle-notes p{margin-top:0!important}body:not(.wp-admin) .wpacu-handle-notes p a{font-size:inherit}body:not(.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 input.wpacu_load_exception:checked+span{color:green}.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;white-space:break-spaces;-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{background:inherit;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=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{display:block}.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 div.wpacu-source-row a{word-break:break-word}.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{background:inherit}.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{background:inherit;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{background:inherit;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 .wpacu_handle_row_expand_contract_area a.wpacu_handle_row_expand_contract span.dashicons{background:inherit}.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-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:before{content:"";display:table}.wpacu-clearfix:after{content:"";display:table;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;padding:9px 10px 10px 15px;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;position:relative;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!important;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!important;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!important;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!important;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:40px;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-page-options .wpacu-assets-collapsible-content.wpacu-loading{position:relative}.wpacu-page-options .wpacu-assets-collapsible-content.wpacu-loading .wpacu-ajax-loader{display:block!important}.wpacu-page-options .wpacu-assets-collapsible-content .wpacu-ajax-loader{display:none;width:58px;height:58px;position:absolute;bottom:0;right:0;opacity:.75}#wpacu-page-options-ul input[type=checkbox]:checked::before{content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M14.83 4.89l1.34.94-5.81 8.38H9.02L5.78 9.67l1.34-1.25 2.57 2.4z' fill='%23cc0000'/%3E%3C/svg%3E")!important}.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{border:1px solid #eceeef}.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-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.wpacu_table_wrap .table-active{background-color:rgba(0,0,0,.075)}.wpacu_table_wrap .table-active>td,.wpacu_table_wrap .table-active>th{background-color:rgba(0,0,0,.075)}.wpacu_table_wrap .table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.wpacu_table_wrap .table-hover .table-active:hover>td,.wpacu_table_wrap .table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.wpacu_table_wrap .table-success{background-color:#dff0d8}.wpacu_table_wrap .table-success>td,.wpacu_table_wrap .table-success>th{background-color:#dff0d8}.wpacu_table_wrap .table-hover .table-success:hover{background-color:#d0e9c6}.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{background-color:#d9edf7}.wpacu_table_wrap .table-info>td,.wpacu_table_wrap .table-info>th{background-color:#d9edf7}.wpacu_table_wrap .table-hover .table-info:hover{background-color:#c4e3f3}.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{background-color:#fcf8e3}.wpacu_table_wrap .table-warning>td,.wpacu_table_wrap .table-warning>th{background-color:#fcf8e3}.wpacu_table_wrap .table-hover .table-warning:hover{background-color:#faf2cc}.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{background-color:#f2dede}.wpacu_table_wrap .table-danger>td,.wpacu_table_wrap .table-danger>th{background-color:#f2dede}.wpacu_table_wrap .table-hover .table-danger:hover{background-color:#ebcccc}.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{border:0}.wpacu_table_wrap .table-responsive{display:block;width:100%;overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar}.wpacu_table_wrap .table-responsive.table-bordered{border:0}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).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}body.wp-admin[class*=asset-cleanup] table.wp-list-table:not(.wpacu-overview-list-table) tr:not(:first-of-type):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_restore_position_row.wpacu_selected{background:#e7e7e7!important}.wp-list-table .wpacu_remove_global_attr_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}ol.getting-started li{font-size:14px;line-height:22px;margin-bottom:8px}.wpacu-get-help-wrap p{font-size:14px}.wpacu-get-help-wrap .help-content-wrap{margin:20px 0 25px;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-moz-flex;display:-webkit-flex;display:flex;width:100%}@media only screen and (min-width:768px){.wpacu-get-help-wrap .help-content-wrap{-webkit-box-align:start;-ms-flex-align:start;-ms-grid-row-align:flex-start;align-items:flex-start}}@media only screen and (max-width:767px){.wpacu-get-help-wrap .help-content-wrap{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.wpacu-get-help-wrap .help-content-wrap .help-content{padding:15px;background:#fff;border:1px solid #e0e0e0;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;box-shadow:2px 3px 8px 0 #231f2038;flex:1 1 50%;margin-bottom:10px}.wpacu-get-help-wrap .help-content-wrap .help-content .content-title{margin:5px 0 15px;line-height:24px}.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 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:320px}.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}@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{order:2}@media only screen and (min-width:768px){.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 ul li:last-child{margin-bottom:0}.wpacu-get-help-wrap .help-content-wrap .help-content p: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 span.dashicons-warning,#wpacu-warning-read span.dashicons-wordpress-alt{color:#c00}#wpacu-warning-read.wpacu-visible{display:block}#wpacu-reset-submit-area{margin:10px 0;clear:both}#wpacu-reset-submit-btn{margin:10px 0 0}.wpacu-tools-area{margin:10px 20px 0 2px}.wpacu-tools-area .wpacu-tools-container{background:#fff;padding:15px;border:1px solid #cdcdcd;width:96%}.wpacu-tools-area .wpacu-tools-container form>div:first-child{margin:0 0 10px}.wpacu-tools-area .wpacu-tools-container form .wpacu-warning{display:none;box-sizing:border-box;margin-top:10px}.wpacu-tools-area .wpacu-tools-container form .wpacu-warning p{margin:0 0 10px;line-height:22px}.wpacu-tools-area .wpacu-tools-container form .wpacu-warning p:only-child{margin:0}.wpacu-tools-area .wpacu-tools-container form .wpacu-warning ul{font-size:13px;list-style-type:disc;padding-left:30px}.wpacu-tools-area .wpacu-tools-container form .wpacu-warning.wpacu-visible{display:block}.wpacu-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}@media only screen and (max-width:767px){.wpacu-about-wrap h1{margin:20px}}.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 .wpacu-about-text img{display:none}}@media only screen and (max-width:767px){.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}@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,.wpacu-lite-vs-pro-wrap th{border:1px solid #ddd;padding:10px 16px 10px 16px;empty-cells:show}.wpacu-lite-vs-pro-wrap td,.wpacu-lite-vs-pro-wrap th{text-align:left}.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}@media only screen and (max-width:767px){.wpacu-lite-vs-pro-wrap .txt-l{font-size:20px}}.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 .tick{font-size:15px}}.wpacu-lite-vs-pro-wrap .na{font-size:18px;opacity:.3}@media only screen and (max-width:767px){.wpacu-lite-vs-pro-wrap .na{font-size:15px}}.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}.wpacu-lite-vs-pro-wrap td,.wpacu-lite-vs-pro-wrap th{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 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}}@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{padding:0 20px 0 25px}}@media only screen and (min-width:1200px){.wpacu-video-areas .wpacu-video-area-wrapper .wpacu-col-right p:first-child{margin-top:0}}@media only screen and (min-width:1200px){.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.wpacu_plugin_unload_rule_input_checked{color:#c00}#wpacu-plugins-load-manager-wrap .wrap_plugin_unload_rules_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules .wpacu_plugin_unload_logged_in:checked+span{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-plugins-load-manager-wrap .wrap_plugin_load_exception_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules .wpacu_plugin_load_exception_logged_in:checked+span,#wpacu-plugins-load-manager-wrap .wrap_plugin_load_exception_options .wpacu_plugin_rules_wrap ul.wpacu_plugin_rules .wpacu_plugin_load_exception_regex:checked+span{color:green}.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_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;min-height:40px}#wpacu-plugins-load-manager-wrap .wpacu_exception_options_area textarea{margin-top:6px;min-width:400px;min-height:40px;width:100%}#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:focus{width:100%}#wpacu-plugins-load-manager-wrap textarea.wpacu_disabled{background:#fbfafa!important;color:inherit}
classes/AssetsPagesManager.php CHANGED
@@ -89,8 +89,7 @@ class AssetsPagesManager
89
  $wpacuNoLoadAssets = Misc::getVar( 'post', WPACU_PLUGIN_ID, array() );
90
  $wpacuHomePageUpdate = Misc::getVar( 'post', 'wpacu_manage_home_page_assets', false );
91
 
92
- // Could Be an Empty Array as Well so just is_array() is enough to use
93
- if ( is_array( $wpacuNoLoadAssets ) && $wpacuHomePageUpdate ) {
94
  check_admin_referer( $this->data['nonce_action'], $this->data['nonce_name'] );
95
 
96
  $wpacuUpdate = new Update;
89
  $wpacuNoLoadAssets = Misc::getVar( 'post', WPACU_PLUGIN_ID, array() );
90
  $wpacuHomePageUpdate = Misc::getVar( 'post', 'wpacu_manage_home_page_assets', false );
91
 
92
+ if ( $wpacuHomePageUpdate ) {
 
93
  check_admin_referer( $this->data['nonce_action'], $this->data['nonce_name'] );
94
 
95
  $wpacuUpdate = new Update;
classes/CleanUp.php CHANGED
@@ -376,7 +376,13 @@ class CleanUp
376
  $strContains = array($strContains);
377
  }
378
 
379
- $strContains = array_map(function($value) { return preg_quote($value, '/'); }, $strContains);
 
 
 
 
 
 
380
 
381
  preg_match_all(
382
  '#<link[^>]*('.implode('|', $strContains).')[^>].*(>)#Usmi',
@@ -415,7 +421,13 @@ class CleanUp
415
  $strContains = array($strContains);
416
  }
417
 
418
- $strContains = array_map(function($value) { return preg_quote($value, '/'); }, $strContains);
 
 
 
 
 
 
419
 
420
  preg_match_all(
421
  '#<script[^>]*('.implode('|', $strContains).')[^>].*(>)#Usmi',
376
  $strContains = array($strContains);
377
  }
378
 
379
+ $strContains = array_map(function($value) {
380
+ if (strpos($value, 'data-wpacu-style-handle') !== false) {
381
+ return $value; // no need to use preg-quote
382
+ }
383
+
384
+ return preg_quote($value, '/');
385
+ }, $strContains);
386
 
387
  preg_match_all(
388
  '#<link[^>]*('.implode('|', $strContains).')[^>].*(>)#Usmi',
421
  $strContains = array($strContains);
422
  }
423
 
424
+ $strContains = array_map(function($value) {
425
+ if (strpos($value, 'data-wpacu-script-handle') !== false) {
426
+ return $value; // no need to use preg-quote
427
+ }
428
+
429
+ return preg_quote($value, '/');
430
+ }, $strContains);
431
 
432
  preg_match_all(
433
  '#<script[^>]*('.implode('|', $strContains).')[^>].*(>)#Usmi',
classes/Main.php CHANGED
@@ -249,10 +249,11 @@ class Main
249
  }
250
 
251
  if ($noRocketInit) {
252
- // Do not trigger "WP Rocket" as it's irrelevant in this context
253
- add_action( 'plugins_loaded', static function() { remove_action( 'plugins_loaded', 'rocket_init' ); }, 1 );
254
- add_action( 'plugins_loaded', static function() { remove_action( 'plugins_loaded', 'rocket_init' ); }, 99 );
255
- }
 
256
 
257
  // Do not output Query Monitor's information as it's irrelevant in this context
258
  if ( class_exists( '\QueryMonitor' ) && class_exists( '\QM_Plugin' ) ) {
@@ -359,6 +360,10 @@ class Main
359
  }, 1 );
360
 
361
  add_filter( 'style_loader_tag', static function( $styleTag, $tagHandle ) {
 
 
 
 
362
  // Preload the plugin's CSS for assets management layout (for faster content paint if the user is logged-in and manages the assets in the front-end)
363
  // For a better admin experience
364
  if ( $tagHandle === WPACU_PLUGIN_ID . '-style' ) {
@@ -477,96 +482,99 @@ SQL;
477
  */
478
  public function triggersAfterInit()
479
  {
480
- $wpacuSettingsClass = new Settings();
481
- $this->settings = $wpacuSettingsClass->getAll();
482
 
483
- if ($this->settings['dashboard_show'] && $this->settings['dom_get_type']) {
484
- self::$domGetType = $this->settings['dom_get_type'];
485
- }
486
 
487
- // Fetch the page in the background to see what scripts/styles are already loading
488
- if ($this->isGetAssetsCall || $this->frontendShow()) {
489
- if ($this->isGetAssetsCall) {
490
- add_filter('show_admin_bar', '__return_false');
491
- }
492
 
493
- // Save CSS handles list that is printed in the <HEAD>
494
- // No room for errors, some developers might enqueue (although not ideal) assets via "wp_head" or "wp_print_styles"/"wp_print_scripts"
495
- add_action('wp_enqueue_scripts', array($this, 'saveHeadAssets'), PHP_INT_MAX - 1);
496
 
497
- // Save CSS/JS list that is printed in the <BODY>
498
- add_action('wp_print_footer_scripts', array($this, 'saveFooterAssets'), 100000000);
499
- add_action('wp_footer', array($this, 'printScriptsStyles'), (PHP_INT_MAX - 1));
500
 
501
  // Send an AJAX request to get the list of the loaded hardcoded scripts and styles and print it
502
  add_action( 'wp_ajax_' . WPACU_PLUGIN_ID . '_print_loaded_hardcoded_assets', array( $this, 'ajaxPrintLoadedHardcodedAssets' ) );
503
  }
504
 
505
- if ( is_admin() ) {
506
- $metaboxes = new MetaBoxes;
507
-
508
- // Do not load the meta box nor do any AJAX calls
509
- // if the asset management is not enabled for the Dashboard
510
- if ($this->settings['dashboard_show'] == 1) {
511
- // Send an AJAX request to get the list of loaded scripts and styles and print it nicely
512
- add_action(
513
- 'wp_ajax_' . WPACU_PLUGIN_ID . '_get_loaded_assets',
514
- array( $this, 'ajaxGetJsonListCallback' )
515
- );
516
- }
 
 
 
 
 
 
 
517
 
518
- // If assets management within the Dashboard is not enabled, an explanation message will be shown within the box unless the meta box is hidden completely
519
- if (! $this->settings['hide_assets_meta_box']) {
520
- $metaboxes->initMetaBox('manage_page_assets');
521
- }
522
 
523
- // Side Meta Box: Asset CleanUp (Pro) Options check if it's not hidden completely
524
- if (! $this->settings['hide_options_meta_box']) {
525
- $metaboxes->initMetaBox('manage_page_options');
526
- }
527
- }
528
 
529
- /*
530
  DO NOT disable the features below if the following apply:
531
  - The option is not enabled
532
  - Test Mode Enabled & Admin Logged in
533
  - The user is in the Dashboard (any changes are applied in the front-end view)
534
  */
535
- if (! ($this->preventAssetsSettings() || is_admin())) {
536
- if ($this->settings['disable_emojis'] == 1) {
537
- $wpacuCleanUp = new CleanUp();
538
- $wpacuCleanUp->doDisableEmojis();
539
- }
540
 
541
- if ($this->settings['disable_oembed'] == 1) {
542
- $wpacuCleanUp = new CleanUp();
543
- $wpacuCleanUp->doDisableOembed();
544
- }
545
- }
546
- }
547
 
548
- /**
549
- * Priority: 8 (earliest)
550
- */
551
- public function setVarsBeforeUpdate()
552
  {
553
- // Conditions
554
- // 1) User has rights to manage the assets and the option is enabled in plugin's Settings
555
- // 2) Not an AJAX call from the Dashboard
556
- // 3) Not inside the Dashboard
557
- $this->isFrontendEditView = ($this->frontendShow() && Menu::userCanManageAssets() // 1
558
- && !$this->isGetAssetsCall // 2
559
- && !is_admin()); // 3
560
-
561
- if ($this->isFrontendEditView) {
562
- $wpacuCleanUp = new CleanUp();
563
- $wpacuCleanUp->cleanUpHtmlOutputForAssetsCall();
564
- }
565
 
566
- $this->getCurrentPostId();
567
 
568
- define('WPACU_CURRENT_PAGE_ID', $this->getCurrentPostId());
569
- }
570
 
571
  /**
572
  * Priority: 10 (latest)
@@ -592,7 +600,7 @@ SQL;
592
  $type = 'post';
593
  $post = $getCurrentPost;
594
  $this->postTypesUnloaded = (isset($post->post_type) && $post->post_type) ? $this->getBulkUnload('post_type', $post->post_type) : array();
595
- }
596
 
597
  else {
598
  // The request is done for a page such as is_archive(), is_author(), 404, search
@@ -625,42 +633,26 @@ SQL;
625
  */
626
  public function alterWpStylesScriptsObj()
627
  {
628
- add_action('wp_print_styles', function() {
629
- global $wp_styles;
630
-
631
- $wpStylesDone = isset($wp_styles->done) && is_array($wp_styles->done) ? $wp_styles->done : array();
632
- $wpStylesQueue = isset($wp_styles->queue) && is_array($wp_styles->queue) ? $wp_styles->queue : array();
633
-
634
- $wpStylesList = array_unique(array_merge($wpStylesDone, $wpStylesQueue));
635
 
636
- if (! empty($wpStylesList)) {
637
- foreach ($wpStylesList as $styleHandle) {
638
- if ( ! isset($wp_styles->registered[$styleHandle]) ) {
639
- continue;
640
- }
641
- $wp_styles->registered[$styleHandle] = $this->maybeFilterAssetObject($wp_styles->registered[$styleHandle], 'css');
642
- }
643
- }
644
- });
645
 
646
  foreach (array('wp_print_scripts', 'wp_print_footer_scripts') as $actionToAdd) {
647
  add_action( $actionToAdd, function() {
648
  global $wp_scripts;
649
 
650
- $wpScriptsDone = isset($wp_scripts->done) && is_array($wp_scripts->done) ? $wp_scripts->done : array();
651
- $wpScriptsQueue = isset($wp_scripts->queue) && is_array($wp_scripts->queue) ? $wp_scripts->queue : array();
652
-
653
- $wpScriptsList = array_unique( array_merge( $wpScriptsDone, $wpScriptsQueue ) );
654
-
655
- if ( ! empty( $wpScriptsList ) ) {
656
- foreach ( $wpScriptsList as $scriptHandle ) {
657
- if ( ! isset($wp_scripts->registered[$scriptHandle]) ) {
658
- continue;
659
- }
660
  $wp_scripts->registered[$scriptHandle] = $this->maybeFilterAssetObject($wp_scripts->registered[$scriptHandle], 'js');
661
  }
662
  }
663
- } );
664
  }
665
  }
666
 
@@ -754,7 +746,7 @@ SQL;
754
  // and more (if the Premium Extension is activated)
755
  $toRemove = $this->getAssetsUnloaded();
756
 
757
- $jsonList = @json_decode( $toRemove );
758
 
759
  $list = array();
760
 
@@ -762,9 +754,9 @@ SQL;
762
  $list = (array) $jsonList->styles;
763
  }
764
 
765
- if (! is_array($list)) {
766
- $list = array();
767
- }
768
 
769
  // Any global unloaded styles? Append them
770
  if ( ! empty( $globalUnload['styles'] ) ) {
@@ -826,7 +818,13 @@ SQL;
826
  }
827
 
828
  // e.g. for test/debug mode or AJAX calls (where all assets have to load)
829
- if ( array_key_exists( 'wpacu_no_css_unload', $_GET ) || $this->preventAssetsSettings() ) {
 
 
 
 
 
 
830
  /* [wpacu_timing] */
831
  Misc::scriptExecTimer( 'filter_dequeue_styles', 'end' ); /* [/wpacu_timing] */
832
  return;
@@ -1073,7 +1071,7 @@ SQL;
1073
  }
1074
  }
1075
 
1076
- if ( $this->isSingularPage() ) {
1077
  // Any bulk unloaded styles (e.g. for all pages belonging to a post type)? Append them
1078
  if ( empty( $this->postTypesUnloaded ) ) {
1079
  $post = $this->getCurrentPost();
@@ -1767,10 +1765,6 @@ SQL;
1767
  */
1768
  public function printScriptsStyles()
1769
  {
1770
- if (Plugin::preventAnyFrontendOptimization()) {
1771
- return;
1772
- }
1773
-
1774
  // Not for WordPress AJAX calls
1775
  if (self::$domGetType === 'direct' && defined('DOING_AJAX') && DOING_AJAX) {
1776
  return;
@@ -2107,6 +2101,26 @@ SQL;
2107
 
2108
  $data['ignore_child'] = $this->getIgnoreChildren();
2109
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2110
  ObjectCache::wpacu_cache_set('wpacu_settings_frontend_data', $data);
2111
  $this->parseTemplate('settings-frontend', $data, true);
2112
  } elseif ($isDashboardEditView && ! array_key_exists('wpacu_just_hardcoded', $_GET)) {
@@ -2195,6 +2209,12 @@ SQL;
2195
  exit(__('The CSS/JS files will be available to manage once the post/page is published.', 'wp-asset-clean-up'));
2196
  }
2197
 
 
 
 
 
 
 
2198
  $wpacuListE = $wpacuListH = $contents = '';
2199
 
2200
  $settings = new Settings();
@@ -2258,6 +2278,10 @@ SQL;
2258
  'wp_remote_post' => $wpRemotePost
2259
  );
2260
 
 
 
 
 
2261
  $this->parseTemplate('meta-box-loaded', $data, true);
2262
  exit();
2263
  }
@@ -2336,13 +2360,6 @@ SQL;
2336
  }
2337
  }
2338
 
2339
- if ($postId > 0) {
2340
- $type = 'post';
2341
- }
2342
- elseif ($postId == 0) {
2343
- $type = 'front_page';
2344
- }
2345
-
2346
  $data['wpacu_type'] = $type;
2347
 
2348
  // e.g. Load it on this page
@@ -2369,11 +2386,52 @@ SQL;
2369
 
2370
  $data['is_for_singular'] = (Misc::getVar('post', 'is_for_singular') === 'true');
2371
 
2372
- $this->parseTemplate('meta-box-loaded', $data, true);
 
2373
 
 
 
 
 
 
 
2374
  exit();
2375
  }
2376
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2377
  /**
2378
  *
2379
  */
@@ -3199,8 +3257,14 @@ SQL;
3199
  return true; // visitors (non-logged in) will view the pages with all the assets loaded
3200
  }
3201
 
3202
- if (defined('WPACU_CURRENT_PAGE_ID') && WPACU_CURRENT_PAGE_ID > 0) {
3203
- $pageOptions = MetaBoxes::getPageOptions(WPACU_CURRENT_PAGE_ID);
 
 
 
 
 
 
3204
 
3205
  if (isset($pageOptions['no_assets_settings']) && $pageOptions['no_assets_settings']) {
3206
  return true;
249
  }
250
 
251
  if ($noRocketInit) {
252
+ add_filter('rocket_cache_reject_uri', function($urls) {
253
+ $urls[] = '/?wpassetcleanup_load=1';
254
+ return $urls;
255
+ });
256
+ }
257
 
258
  // Do not output Query Monitor's information as it's irrelevant in this context
259
  if ( class_exists( '\QueryMonitor' ) && class_exists( '\QM_Plugin' ) ) {
360
  }, 1 );
361
 
362
  add_filter( 'style_loader_tag', static function( $styleTag, $tagHandle ) {
363
+ if ( Plugin::preventAnyFrontendOptimization() ) {
364
+ return $styleTag;
365
+ }
366
+
367
  // Preload the plugin's CSS for assets management layout (for faster content paint if the user is logged-in and manages the assets in the front-end)
368
  // For a better admin experience
369
  if ( $tagHandle === WPACU_PLUGIN_ID . '-style' ) {
482
  */
483
  public function triggersAfterInit()
484
  {
485
+ $wpacuSettingsClass = new Settings();
486
+ $this->settings = $wpacuSettingsClass->getAll();
487
 
488
+ if ( $this->settings['dashboard_show'] && $this->settings['dom_get_type'] ) {
489
+ self::$domGetType = $this->settings['dom_get_type'];
490
+ }
491
 
492
+ // Fetch the page in the background to see what scripts/styles are already loading
493
+ if ( $this->isGetAssetsCall || $this->frontendShow() ) {
494
+ if ( $this->isGetAssetsCall ) {
495
+ add_filter( 'show_admin_bar', '__return_false' );
496
+ }
497
 
498
+ // Save CSS handles list that is printed in the <HEAD>
499
+ // No room for errors, some developers might enqueue (although not ideal) assets via "wp_head" or "wp_print_styles"/"wp_print_scripts"
500
+ add_action( 'wp_enqueue_scripts', array( $this, 'saveHeadAssets' ), PHP_INT_MAX - 1 );
501
 
502
+ // Save CSS/JS list that is printed in the <BODY>
503
+ add_action( 'wp_print_footer_scripts', array( $this, 'saveFooterAssets' ), 100000000 );
504
+ add_action( 'wp_footer', array( $this, 'printScriptsStyles' ), ( PHP_INT_MAX - 1 ) );
505
 
506
  // Send an AJAX request to get the list of the loaded hardcoded scripts and styles and print it
507
  add_action( 'wp_ajax_' . WPACU_PLUGIN_ID . '_print_loaded_hardcoded_assets', array( $this, 'ajaxPrintLoadedHardcodedAssets' ) );
508
  }
509
 
510
+ if ( is_admin() ) {
511
+ $metaboxes = new MetaBoxes;
512
+
513
+ // Do not load the meta box nor do any AJAX calls
514
+ // if the asset management is not enabled for the Dashboard
515
+ if ( $this->settings['dashboard_show'] == 1 ) {
516
+ // Send an AJAX request to get the list of loaded scripts and styles and print it nicely
517
+ add_action(
518
+ 'wp_ajax_' . WPACU_PLUGIN_ID . '_get_loaded_assets',
519
+ array( $this, 'ajaxGetJsonListCallback' )
520
+ );
521
+
522
+ // This is valid when the Gutenberg editor (not via "Classic Editor" plugin) is used and the user used the following option:
523
+ // "Do not load Asset CleanUp Pro on this page (this will disable any functionality of the plugin)"
524
+ add_action(
525
+ 'wp_ajax_' . WPACU_PLUGIN_ID . '_load_page_restricted_area',
526
+ array( $this, 'ajaxLoadRestrictedPageAreaCallback' )
527
+ );
528
+ }
529
 
530
+ // If assets management within the Dashboard is not enabled, an explanation message will be shown within the box unless the meta box is hidden completely
531
+ if ( ! $this->settings['hide_assets_meta_box'] ) {
532
+ $metaboxes->initMetaBox( 'manage_page_assets' );
533
+ }
534
 
535
+ }
 
 
 
 
536
 
537
+ /*
538
  DO NOT disable the features below if the following apply:
539
  - The option is not enabled
540
  - Test Mode Enabled & Admin Logged in
541
  - The user is in the Dashboard (any changes are applied in the front-end view)
542
  */
543
+ if ( ! ( $this->preventAssetsSettings() || is_admin() ) ) {
544
+ if ( $this->settings['disable_emojis'] == 1 ) {
545
+ $wpacuCleanUp = new CleanUp();
546
+ $wpacuCleanUp->doDisableEmojis();
547
+ }
548
 
549
+ if ( $this->settings['disable_oembed'] == 1 ) {
550
+ $wpacuCleanUp = new CleanUp();
551
+ $wpacuCleanUp->doDisableOembed();
552
+ }
553
+ }
554
+ }
555
 
556
+ /**
557
+ * Priority: 8 (earliest)
558
+ */
559
+ public function setVarsBeforeUpdate()
560
  {
561
+ // Conditions
562
+ // 1) User has rights to manage the assets and the option is enabled in plugin's Settings
563
+ // 2) Not an AJAX call from the Dashboard
564
+ // 3) Not inside the Dashboard
565
+ $this->isFrontendEditView = ( $this->frontendShow() && Menu::userCanManageAssets() // 1
566
+ && ! $this->isGetAssetsCall // 2
567
+ && ! is_admin() ); // 3
568
+
569
+ if ( $this->isFrontendEditView ) {
570
+ $wpacuCleanUp = new CleanUp();
571
+ $wpacuCleanUp->cleanUpHtmlOutputForAssetsCall();
572
+ }
573
 
574
+ $this->getCurrentPostId();
575
 
576
+ define( 'WPACU_CURRENT_PAGE_ID', $this->getCurrentPostId() );
577
+ }
578
 
579
  /**
580
  * Priority: 10 (latest)
600
  $type = 'post';
601
  $post = $getCurrentPost;
602
  $this->postTypesUnloaded = (isset($post->post_type) && $post->post_type) ? $this->getBulkUnload('post_type', $post->post_type) : array();
603
+ }
604
 
605
  else {
606
  // The request is done for a page such as is_archive(), is_author(), 404, search
633
  */
634
  public function alterWpStylesScriptsObj()
635
  {
636
+ add_action('wp_print_styles', function() {
637
+ global $wp_styles;
 
 
 
 
 
638
 
639
+ if ( ! empty($wp_styles->registered) ) {
640
+ foreach (array_keys($wp_styles->registered) as $styleHandle) {
641
+ $wp_styles->registered[$styleHandle] = $this->maybeFilterAssetObject($wp_styles->registered[$styleHandle], 'css');
642
+ }
643
+ }
644
+ });
 
 
 
645
 
646
  foreach (array('wp_print_scripts', 'wp_print_footer_scripts') as $actionToAdd) {
647
  add_action( $actionToAdd, function() {
648
  global $wp_scripts;
649
 
650
+ if ( ! empty($wp_scripts->registered) ) {
651
+ foreach (array_keys($wp_scripts->registered) as $scriptHandle) {
 
 
 
 
 
 
 
 
652
  $wp_scripts->registered[$scriptHandle] = $this->maybeFilterAssetObject($wp_scripts->registered[$scriptHandle], 'js');
653
  }
654
  }
655
+ });
656
  }
657
  }
658
 
746
  // and more (if the Premium Extension is activated)
747
  $toRemove = $this->getAssetsUnloaded();
748
 
749
+ $jsonList = @json_decode( $toRemove );
750
 
751
  $list = array();
752
 
754
  $list = (array) $jsonList->styles;
755
  }
756
 
757
+ if (! is_array($list)) {
758
+ $list = array();
759
+ }
760
 
761
  // Any global unloaded styles? Append them
762
  if ( ! empty( $globalUnload['styles'] ) ) {
818
  }
819
 
820
  // e.g. for test/debug mode or AJAX calls (where all assets have to load)
821
+ if ( array_key_exists( 'wpacu_no_css_unload', $_GET ) ) {
822
+ /* [wpacu_timing] */
823
+ Misc::scriptExecTimer( 'filter_dequeue_styles', 'end' ); /* [/wpacu_timing] */
824
+ return;
825
+ }
826
+
827
+ if ( $this->preventAssetsSettings() ) {
828
  /* [wpacu_timing] */
829
  Misc::scriptExecTimer( 'filter_dequeue_styles', 'end' ); /* [/wpacu_timing] */
830
  return;
1071
  }
1072
  }
1073
 
1074
+ if ( $this->isSingularPage() ) {
1075
  // Any bulk unloaded styles (e.g. for all pages belonging to a post type)? Append them
1076
  if ( empty( $this->postTypesUnloaded ) ) {
1077
  $post = $this->getCurrentPost();
1765
  */
1766
  public function printScriptsStyles()
1767
  {
 
 
 
 
1768
  // Not for WordPress AJAX calls
1769
  if (self::$domGetType === 'direct' && defined('DOING_AJAX') && DOING_AJAX) {
1770
  return;
2101
 
2102
  $data['ignore_child'] = $this->getIgnoreChildren();
2103
 
2104
+ $data['status'] = 0;
2105
+
2106
+ if ($this->isUpdateable) {
2107
+ if ( assetCleanUpHasNoLoadMatches( $data['fetch_url'], true ) === 'is_set_in_settings' ) {
2108
+ $data['status'] = 5; // The rules from "Settings" -> "Plugin Usage Preferences" -> "Do not load the plugin on certain pages" will be checked
2109
+ } elseif ( assetCleanUpHasNoLoadMatches( $data['fetch_url'], true ) === 'is_set_in_page' ) {
2110
+ $data['status'] = 6; // The following option from "Page Options" (within the CSS/JS manager of the targeted page) is set: "Do not load Asset CleanUp Pro on this page (this will disable any functionality of the plugin)"
2111
+ }
2112
+
2113
+ $data['page_options'] = array();
2114
+ $data['show_page_options'] = false;
2115
+
2116
+ if ( in_array( $type, array( 'post', 'front_page' ) ) ) {
2117
+ $data['show_page_options'] = true;
2118
+ $data['page_options'] = MetaBoxes::getPageOptions( $this->getCurrentPostId(), $type );
2119
+ }
2120
+
2121
+ $data['post_id'] = ($type === 'front_page') ? 0 : $this->getCurrentPostId();
2122
+ }
2123
+
2124
  ObjectCache::wpacu_cache_set('wpacu_settings_frontend_data', $data);
2125
  $this->parseTemplate('settings-frontend', $data, true);
2126
  } elseif ($isDashboardEditView && ! array_key_exists('wpacu_just_hardcoded', $_GET)) {
2209
  exit(__('The CSS/JS files will be available to manage once the post/page is published.', 'wp-asset-clean-up'));
2210
  }
2211
 
2212
+ if ($postId > 0) {
2213
+ $type = 'post';
2214
+ } elseif ($postId == 0) {
2215
+ $type = 'front_page';
2216
+ }
2217
+
2218
  $wpacuListE = $wpacuListH = $contents = '';
2219
 
2220
  $settings = new Settings();
2278
  'wp_remote_post' => $wpRemotePost
2279
  );
2280
 
2281
+ if (isset($type) && $type) {
2282
+ $data['page_options'] = MetaBoxes::getPageOptions( $postId, $type );
2283
+ }
2284
+
2285
  $this->parseTemplate('meta-box-loaded', $data, true);
2286
  exit();
2287
  }
2360
  }
2361
  }
2362
 
 
 
 
 
 
 
 
2363
  $data['wpacu_type'] = $type;
2364
 
2365
  // e.g. Load it on this page
2386
 
2387
  $data['is_for_singular'] = (Misc::getVar('post', 'is_for_singular') === 'true');
2388
 
2389
+ $data['page_options'] = array();
2390
+ $data['show_page_options'] = false;
2391
 
2392
+ if (in_array($type, array('post', 'front_page'))) {
2393
+ $data['show_page_options'] = true;
2394
+ $data['page_options'] = MetaBoxes::getPageOptions($postId, $type);
2395
+ }
2396
+
2397
+ $this->parseTemplate('meta-box-loaded', $data, true);
2398
  exit();
2399
  }
2400
 
2401
+ /**
2402
+ *
2403
+ */
2404
+ public function ajaxLoadRestrictedPageAreaCallback()
2405
+ {
2406
+ $postId = (int)Misc::getVar('post', 'post_id'); // if any (could be home page for instance)
2407
+
2408
+ $data = array();
2409
+
2410
+ $data['post_id'] = $this->currentPostId = $postId;
2411
+ $data['fetch_url'] = Misc::getPageUrl($postId);
2412
+
2413
+ $data['show_page_options'] = true;
2414
+ $data['page_options'] = MetaBoxes::getPageOptions($postId);
2415
+
2416
+ $post = get_post($postId);
2417
+
2418
+ // Current Post Type
2419
+ $data['post_type'] = $post->post_type;
2420
+ $data['bulk_unloaded_type'] = 'post_type';
2421
+ $data['is_bulk_unloadable'] = true;
2422
+
2423
+ $data = $this->setPageTemplate($data);
2424
+
2425
+ if (assetCleanUpHasNoLoadMatches($data['fetch_url']) === 'is_set_in_settings') {
2426
+ $data['status'] = 5; // The rules from "Settings" -> "Plugin Usage Preferences" -> "Do not load the plugin on certain pages" will be checked
2427
+ } elseif (assetCleanUpHasNoLoadMatches($data['fetch_url']) === 'is_set_in_page') {
2428
+ $data['status'] = 6; // The following option from "Page Options" (within the CSS/JS manager of the targeted page) is set: "Do not load Asset CleanUp Pro on this page (this will disable any functionality of the plugin)"
2429
+ }
2430
+
2431
+ $this->parseTemplate('meta-box-restricted-page-load', $data, true);
2432
+ exit();
2433
+ }
2434
+
2435
  /**
2436
  *
2437
  */
3257
  return true; // visitors (non-logged in) will view the pages with all the assets loaded
3258
  }
3259
 
3260
+ $isSingularPage = defined('WPACU_CURRENT_PAGE_ID') && WPACU_CURRENT_PAGE_ID > 0 && is_singular();
3261
+
3262
+ if ($isSingularPage || Misc::isHomePage()) {
3263
+ if ($isSingularPage) {
3264
+ $pageOptions = MetaBoxes::getPageOptions( WPACU_CURRENT_PAGE_ID ); // Singular page
3265
+ } else {
3266
+ $pageOptions = MetaBoxes::getPageOptions(0, 'front_page'); // Home page
3267
+ }
3268
 
3269
  if (isset($pageOptions['no_assets_settings']) && $pageOptions['no_assets_settings']) {
3270
  return true;
classes/Menu.php CHANGED
@@ -235,15 +235,19 @@ class Menu
235
  ), $url
236
  );
237
 
238
- /*
239
- * You can reset the default $actions with your own array, or simply merge them
240
- * here I want to rewrite my Edit link, remove the Quick-link, and introduce a
241
- * new link 'Copy'
242
- */
243
- $actions['wpacu_manage_assets'] = sprintf( '<a href="%1$s">%2$s</a>',
244
- esc_url( $edit_link ),
245
- esc_html( __( 'Manage CSS &amp; JS', 'wp-asset-clean-up' ) )
246
- );
 
 
 
 
247
 
248
  return $actions;
249
  }
235
  ), $url
236
  );
237
 
238
+ // Only show it to the user that has "administrator" access and it's in the following list (if a certain list of admins is provided)
239
+ // "Settings" -> "Plugin Usage Preferences" -> "Allow managing assets to:"
240
+ if (self::userCanManageAssets() && Main::currentUserCanViewAssetsList()) {
241
+ /*
242
+ * You can reset the default $actions with your own array, or simply merge them
243
+ * here I want to rewrite my Edit link, remove the Quick-link, and introduce a
244
+ * new link 'Copy'
245
+ */
246
+ $actions['wpacu_manage_assets'] = sprintf( '<a href="%1$s">%2$s</a>',
247
+ esc_url( $edit_link ),
248
+ esc_html( __( 'Manage CSS &amp; JS', 'wp-asset-clean-up' ) )
249
+ );
250
+ }
251
 
252
  return $actions;
253
  }
classes/MetaBoxes.php CHANGED
@@ -52,10 +52,7 @@ class MetaBoxes
52
  add_action( 'add_meta_boxes', array( $this, 'keepAssetManagerMetaBoxOnTheLeftSide' ), 1 );
53
  }
54
 
55
- if ($type === 'manage_page_options') {
56
- add_action( 'add_meta_boxes', array( $this, 'addPageOptionsMetaBox' ), 12 );
57
  }
58
- }
59
 
60
  /**
61
  * @param $postType
@@ -67,7 +64,7 @@ class MetaBoxes
67
  if (isset($obj->public) && $obj->public > 0) {
68
  add_meta_box(
69
  WPACU_PLUGIN_ID . '_asset_list',
70
- WPACU_PLUGIN_TITLE.': '.__('CSS &amp; JavaScript Manager', 'wp-asset-clean-up'),
71
  array($this, 'renderAssetManagerMetaBoxContent'),
72
  $postType,
73
  apply_filters('wpacu_asset_list_meta_box_context', 'normal'),
@@ -180,10 +177,12 @@ class MetaBoxes
180
  $data['fetch_url'] = Misc::getPageUrl($postId);
181
 
182
  // Check if Asset CleanUp Pro is meant to be loaded in the targeted URL
183
- // The rules from "Settings" -> "Plugin Usage Preferences" -> "Do not load the plugin on certain pages" will be checked
184
- if (assetCleanUpHasNoLoadMatches($data['fetch_url'])) {
 
 
185
  $isListFetchable = false;
186
- $data['status'] = 5; // Asset CleanUp Pro is deactivated from loading any of its rules on this page
187
  }
188
  }
189
 
@@ -198,11 +197,14 @@ class MetaBoxes
198
  $data['dom_get_type'] = Main::instance()->settings['dom_get_type'];
199
  }
200
 
 
 
201
  Main::instance()->parseTemplate('meta-box', $data, true);
202
  }
203
 
204
  /**
205
  * This is triggered only in the Edit Mode Dashboard View
 
206
  */
207
  public function renderPageOptionsMetaBoxContent()
208
  {
@@ -213,25 +215,58 @@ class MetaBoxes
213
 
214
  /**
215
  * @param int $postId
216
- *
217
  * @return array|mixed|object
218
  */
219
- public static function getPageOptions($postId = 0)
220
  {
221
- if ($postId < 1) {
222
- global $post;
223
- $postId = (int)$post->ID;
224
- }
 
225
 
226
- if ($postId > 1) {
227
- $metaPageOptionsJson = get_post_meta($postId, '_'.WPACU_PLUGIN_ID.'_page_options', true);
 
 
 
 
 
 
 
228
 
229
- return @json_decode( $metaPageOptionsJson, ARRAY_A );
 
 
 
230
  }
231
 
232
  return array();
233
  }
234
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
235
  /**
236
  * @return mixed|void
237
  */
52
  add_action( 'add_meta_boxes', array( $this, 'keepAssetManagerMetaBoxOnTheLeftSide' ), 1 );
53
  }
54
 
 
 
55
  }
 
56
 
57
  /**
58
  * @param $postType
64
  if (isset($obj->public) && $obj->public > 0) {
65
  add_meta_box(
66
  WPACU_PLUGIN_ID . '_asset_list',
67
+ WPACU_PLUGIN_TITLE.': '.__('CSS &amp; JavaScript Manager / Page Options', 'wp-asset-clean-up'),
68
  array($this, 'renderAssetManagerMetaBoxContent'),
69
  $postType,
70
  apply_filters('wpacu_asset_list_meta_box_context', 'normal'),
177
  $data['fetch_url'] = Misc::getPageUrl($postId);
178
 
179
  // Check if Asset CleanUp Pro is meant to be loaded in the targeted URL
180
+ if (assetCleanUpHasNoLoadMatches($data['fetch_url']) === 'is_set_in_settings') {
181
+ $isListFetchable = false;
182
+ $data['status'] = 5; // The rules from "Settings" -> "Plugin Usage Preferences" -> "Do not load the plugin on certain pages" will be checked
183
+ } elseif (assetCleanUpHasNoLoadMatches($data['fetch_url']) === 'is_set_in_page') {
184
  $isListFetchable = false;
185
+ $data['status'] = 6; // The following option from "Page Options" (within the CSS/JS manager of the targeted page) is set: "Do not load Asset CleanUp Pro on this page (this will disable any functionality of the plugin)"
186
  }
187
  }
188
 
197
  $data['dom_get_type'] = Main::instance()->settings['dom_get_type'];
198
  }
199
 
200
+ $data['post_id'] = $postId;
201
+
202
  Main::instance()->parseTemplate('meta-box', $data, true);
203
  }
204
 
205
  /**
206
  * This is triggered only in the Edit Mode Dashboard View
207
+ * Valid for posts, pages (a page can also be set as the homepage), custom post types
208
  */
209
  public function renderPageOptionsMetaBoxContent()
210
  {
215
 
216
  /**
217
  * @param int $postId
218
+ * @param string $type
219
  * @return array|mixed|object
220
  */
221
+ public static function getPageOptions($postId = 0, $type = 'post')
222
  {
223
+ if ($type === 'post' || $postId > 0) {
224
+ if ( $postId < 1 ) {
225
+ global $post;
226
+ $postId = (int) $post->ID;
227
+ }
228
 
229
+ if ( $postId > 1 ) {
230
+ $metaPageOptionsJson = get_post_meta( $postId, '_' . WPACU_PLUGIN_ID . '_page_options', true );
231
+ return @json_decode( $metaPageOptionsJson, ARRAY_A );
232
+ }
233
+ } elseif ($type === 'front_page') { // e.g. latest posts, not a chosen page ID (that's when $type as 'post' is used)
234
+ $globalPageOptions = get_option(WPACU_PLUGIN_ID . '_global_data');
235
+
236
+ if ($globalPageOptions) {
237
+ $globalPageOptionsList = @json_decode( $globalPageOptions, true );
238
 
239
+ if ( isset( $globalPageOptionsList['page_options']['homepage'] ) && ! empty( $globalPageOptionsList['page_options']['homepage'] ) ) {
240
+ return $globalPageOptionsList['page_options']['homepage'];
241
+ }
242
+ }
243
  }
244
 
245
  return array();
246
  }
247
 
248
+ /**
249
+ * @return bool
250
+ */
251
+ public static function hasNoFrontendOptimizationPageOption()
252
+ {
253
+ $isSingularPage = defined('WPACU_CURRENT_PAGE_ID') && WPACU_CURRENT_PAGE_ID > 0 && is_singular();
254
+
255
+ if ($isSingularPage || Misc::isHomePage()) {
256
+ if ($isSingularPage) {
257
+ $pageOptions = self::getPageOptions( WPACU_CURRENT_PAGE_ID ); // Singular page
258
+ } else {
259
+ $pageOptions = self::getPageOptions(0, 'front_page'); // Home page
260
+ }
261
+
262
+ if (isset($pageOptions['no_assets_settings']) && $pageOptions['no_assets_settings']) {
263
+ return true;
264
+ }
265
+ }
266
+
267
+ return false;
268
+ }
269
+
270
  /**
271
  * @return mixed|void
272
  */
classes/Misc.php CHANGED
@@ -181,6 +181,21 @@ class Misc
181
  return $postUrl;
182
  }
183
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
184
  /**
185
  * Note: If plugins are disabled via "Plugins Manager" -> "IN THE DASHBOARD /wp-admin/"
186
  * where the target pages require this function, the list could be incomplete if those plugins registered custom post types
@@ -857,7 +872,7 @@ SQL;
857
 
858
  // Is it a Google Font request that was stripped site-wide?
859
  if ($assetTypeKey === 'styles') {
860
- $isGoogleFontLink = stripos($data['row']['obj']->srcHref, '//fonts.googleapis.com/') !== false;
861
 
862
  if ($isGoogleFontLink && $data['plugin_settings']['google_fonts_remove']) {
863
  return true;
181
  return $postUrl;
182
  }
183
 
184
+ /**
185
+ * @param $postId
186
+ *
187
+ * @return array|false|string|string[]|\WP_Error
188
+ */
189
+ public static function getPageUri($postId)
190
+ {
191
+ $parseUrl = parse_url(get_site_url());
192
+ $rootUrl = $parseUrl['scheme'].'://'.$parseUrl['host'];
193
+
194
+ $dbPageUrl = get_permalink($postId);
195
+
196
+ return str_replace( $rootUrl, '', $dbPageUrl );
197
+ }
198
+
199
  /**
200
  * Note: If plugins are disabled via "Plugins Manager" -> "IN THE DASHBOARD /wp-admin/"
201
  * where the target pages require this function, the list could be incomplete if those plugins registered custom post types
872
 
873
  // Is it a Google Font request that was stripped site-wide?
874
  if ($assetTypeKey === 'styles') {
875
+ $isGoogleFontLink = isset($data['row']['obj']->srcHref) && stripos($data['row']['obj']->srcHref, '//fonts.googleapis.com/') !== false;
876
 
877
  if ($isGoogleFontLink && $data['plugin_settings']['google_fonts_remove']) {
878
  return true;
classes/OptimiseAssets/MinifyCss.php CHANGED
@@ -311,9 +311,15 @@ class MinifyCss
311
  return false;
312
  }
313
 
314
- if (defined('WPACU_CURRENT_PAGE_ID') && WPACU_CURRENT_PAGE_ID > 0 && is_singular()) {
 
 
315
  // If "Do not minify CSS on this page" is checked in "Asset CleanUp: Options" side meta box
316
- $pageOptions = MetaBoxes::getPageOptions( WPACU_CURRENT_PAGE_ID );
 
 
 
 
317
 
318
  if ( isset( $pageOptions['no_css_minify'] ) && $pageOptions['no_css_minify'] ) {
319
  self::isMinifyCssEnabledChecked('false');
311
  return false;
312
  }
313
 
314
+ $isSingularPage = defined('WPACU_CURRENT_PAGE_ID') && WPACU_CURRENT_PAGE_ID > 0 && is_singular();
315
+
316
+ if ($isSingularPage || Misc::isHomePage()) {
317
  // If "Do not minify CSS on this page" is checked in "Asset CleanUp: Options" side meta box
318
+ if ($isSingularPage) {
319
+ $pageOptions = MetaBoxes::getPageOptions( WPACU_CURRENT_PAGE_ID ); // Singular page
320
+ } else {
321
+ $pageOptions = MetaBoxes::getPageOptions(0, 'front_page'); // Home page
322
+ }
323
 
324
  if ( isset( $pageOptions['no_css_minify'] ) && $pageOptions['no_css_minify'] ) {
325
  self::isMinifyCssEnabledChecked('false');
classes/OptimiseAssets/MinifyJs.php CHANGED
@@ -275,9 +275,15 @@ class MinifyJs
275
  return false;
276
  }
277
 
278
- if (defined('WPACU_CURRENT_PAGE_ID') && WPACU_CURRENT_PAGE_ID > 0 && is_singular()) {
 
 
279
  // If "Do not minify JS on this page" is checked in "Asset CleanUp: Options" side meta box
280
- $pageOptions = MetaBoxes::getPageOptions( WPACU_CURRENT_PAGE_ID );
 
 
 
 
281
 
282
  if ( isset( $pageOptions['no_js_minify'] ) && $pageOptions['no_js_minify'] ) {
283
  self::isMinifyJsEnabledChecked('false');
275
  return false;
276
  }
277
 
278
+ $isSingularPage = defined('WPACU_CURRENT_PAGE_ID') && WPACU_CURRENT_PAGE_ID > 0 && is_singular();
279
+
280
+ if ($isSingularPage || Misc::isHomePage()) {
281
  // If "Do not minify JS on this page" is checked in "Asset CleanUp: Options" side meta box
282
+ if ($isSingularPage) {
283
+ $pageOptions = MetaBoxes::getPageOptions( WPACU_CURRENT_PAGE_ID ); // Singular page
284
+ } else {
285
+ $pageOptions = MetaBoxes::getPageOptions(0, 'front_page'); // Home page
286
+ }
287
 
288
  if ( isset( $pageOptions['no_js_minify'] ) && $pageOptions['no_js_minify'] ) {
289
  self::isMinifyJsEnabledChecked('false');
classes/OptimiseAssets/OptimizeCss.php CHANGED
@@ -481,13 +481,20 @@ class OptimizeCss
481
 
482
  $proceedWithCombineOnThisPage = true;
483
 
 
 
484
  // If "Do not combine CSS on this page" is checked in "Asset CleanUp: Options" side meta box
485
  // Works for posts, pages and custom post types
486
- if (defined('WPACU_CURRENT_PAGE_ID') && WPACU_CURRENT_PAGE_ID > 0) {
487
- $pageOptions = MetaBoxes::getPageOptions(WPACU_CURRENT_PAGE_ID);
 
 
 
 
488
 
489
  // 'no_css_optimize' refers to avoid the combination of CSS files
490
- if ( isset( $pageOptions['no_css_optimize'] ) && $pageOptions['no_css_optimize'] ) {
 
491
  $proceedWithCombineOnThisPage = false;
492
  }
493
  }
@@ -1312,7 +1319,7 @@ class OptimizeCss
1312
  $listWithMatches[] = 'data-wpacu-style-handle=[\'"]'.$styleHandle.'[\'"]';
1313
 
1314
  if ($styleSrc = Main::instance()->wpAllStyles['registered'][$styleHandle]->src) {
1315
- $listWithMatches[] = preg_quote(OptimizeCommon::getSourceRelPath($styleSrc), '/');
1316
  }
1317
 
1318
  $htmlSource = CleanUp::cleanLinkTagFromHtmlSource($listWithMatches, $htmlSource);
481
 
482
  $proceedWithCombineOnThisPage = true;
483
 
484
+ $isSingularPage = defined('WPACU_CURRENT_PAGE_ID') && WPACU_CURRENT_PAGE_ID > 0 && is_singular();
485
+
486
  // If "Do not combine CSS on this page" is checked in "Asset CleanUp: Options" side meta box
487
  // Works for posts, pages and custom post types
488
+ if ($isSingularPage || Misc::isHomePage()) {
489
+ if ($isSingularPage) {
490
+ $pageOptions = MetaBoxes::getPageOptions( WPACU_CURRENT_PAGE_ID ); // Singular page
491
+ } else {
492
+ $pageOptions = MetaBoxes::getPageOptions(0, 'front_page'); // Home page
493
+ }
494
 
495
  // 'no_css_optimize' refers to avoid the combination of CSS files
496
+ if ( (isset( $pageOptions['no_css_optimize'] ) && $pageOptions['no_css_optimize'])
497
+ || (isset( $pageOptions['no_assets_settings'] ) && $pageOptions['no_assets_settings']) ) {
498
  $proceedWithCombineOnThisPage = false;
499
  }
500
  }
1319
  $listWithMatches[] = 'data-wpacu-style-handle=[\'"]'.$styleHandle.'[\'"]';
1320
 
1321
  if ($styleSrc = Main::instance()->wpAllStyles['registered'][$styleHandle]->src) {
1322
+ $listWithMatches[] = OptimizeCommon::getSourceRelPath($styleSrc);
1323
  }
1324
 
1325
  $htmlSource = CleanUp::cleanLinkTagFromHtmlSource($listWithMatches, $htmlSource);
classes/OptimiseAssets/OptimizeJs.php CHANGED
@@ -689,13 +689,20 @@ class OptimizeJs
689
  Misc::scriptExecTimer($wpacuTimingName); /* [/wpacu_timing] */
690
  $proceedWithCombineOnThisPage = true;
691
 
 
 
692
  // If "Do not combine JS on this page" is checked in "Asset CleanUp Options" side meta box
693
  // Works for posts, pages and custom post types
694
- if (defined('WPACU_CURRENT_PAGE_ID') && WPACU_CURRENT_PAGE_ID > 0) {
695
- $pageOptions = MetaBoxes::getPageOptions( WPACU_CURRENT_PAGE_ID );
 
 
 
 
696
 
697
  // 'no_js_optimize' refers to avoid the combination of JS files
698
- if ( isset( $pageOptions['no_js_optimize'] ) && $pageOptions['no_js_optimize'] ) {
 
699
  $proceedWithCombineOnThisPage = false;
700
  }
701
  }
@@ -1066,7 +1073,7 @@ class OptimizeJs
1066
  // Extra, in case the previous replace didn't go through
1067
  $listWithMatches = array();
1068
  $listWithMatches[] = 'data-wpacu-script-handle=[\'"]'.$scriptHandle.'[\'"]';
1069
- $listWithMatches[] = preg_quote(OptimizeCommon::getSourceRelPath($scriptSrc), '/');
1070
 
1071
  $htmlSource = CleanUp::cleanScriptTagFromHtmlSource($listWithMatches, $htmlSource);
1072
  }
689
  Misc::scriptExecTimer($wpacuTimingName); /* [/wpacu_timing] */
690
  $proceedWithCombineOnThisPage = true;
691
 
692
+ $isSingularPage = defined('WPACU_CURRENT_PAGE_ID') && WPACU_CURRENT_PAGE_ID > 0 && is_singular();
693
+
694
  // If "Do not combine JS on this page" is checked in "Asset CleanUp Options" side meta box
695
  // Works for posts, pages and custom post types
696
+ if ($isSingularPage || Misc::isHomePage()) {
697
+ if ($isSingularPage) {
698
+ $pageOptions = MetaBoxes::getPageOptions( WPACU_CURRENT_PAGE_ID ); // Singular page
699
+ } else {
700
+ $pageOptions = MetaBoxes::getPageOptions(0, 'front_page'); // Home page
701
+ }
702
 
703
  // 'no_js_optimize' refers to avoid the combination of JS files
704
+ if ( (isset( $pageOptions['no_js_optimize'] ) && $pageOptions['no_js_optimize'])
705
+ || (isset( $pageOptions['no_assets_settings'] ) && $pageOptions['no_assets_settings']) ) {
706
  $proceedWithCombineOnThisPage = false;
707
  }
708
  }
1073
  // Extra, in case the previous replace didn't go through
1074
  $listWithMatches = array();
1075
  $listWithMatches[] = 'data-wpacu-script-handle=[\'"]'.$scriptHandle.'[\'"]';
1076
+ $listWithMatches[] = OptimizeCommon::getSourceRelPath($scriptSrc);
1077
 
1078
  $htmlSource = CleanUp::cleanScriptTagFromHtmlSource($listWithMatches, $htmlSource);
1079
  }
classes/Overview.php CHANGED
@@ -11,13 +11,24 @@ class Overview
11
  /**
12
  * @var array
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'] )
@@ -381,6 +392,34 @@ SQL;
381
  $this->data['assets_info'] = Main::getHandlesInfo();
382
  }
383
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
384
  Main::instance()->parseTemplate('admin-page-overview', $this->data, true);
385
  }
386
 
11
  /**
12
  * @var array
13
  */
14
+ public $data = array(
15
+ 'page_options_to_text' => array(
16
+ 'no_css_minify' => 'Do not minify CSS',
17
+ 'no_css_optimize' => 'Do not combine CSS',
18
+ 'no_js_minify' => 'Do not minify JS',
19
+ 'no_js_optimize' => 'Do not combine JS',
20
+ 'no_assets_settings' => 'Do not apply any CSS &amp; JavaScript settings (including preloading, "async", "defer" &amp; any unload rules)',
21
+ 'no_wpacu_load' => 'Do not load %s on this page'
22
+ )
23
+ );
24
 
25
  /**
26
  * Overview constructor.
27
  */
28
  public function __construct()
29
  {
30
+ $this->data['page_options_to_text']['no_wpacu_load'] = sprintf(__($this->data['page_options_to_text']['no_wpacu_load'], 'wp-asset-clean-up'), WPACU_PLUGIN_TITLE);
31
+
32
  // [START] Clear load exceptions for a handle
33
  $transientName = 'wpacu_load_exceptions_cleared';
34
  if ( isset( $_POST['wpacu_action'], $_POST['wpacu_handle'], $_POST['wpacu_asset_type'] )
392
  $this->data['assets_info'] = Main::getHandlesInfo();
393
  }
394
 
395
+ // [PAGE OPTIONS]
396
+ // 1) For posts, pages and custom post types
397
+ global $wpdb;
398
+
399
+ $this->data['page_options_results'] = array();
400
+
401
+ $pageOptionsResults = $wpdb->get_results('SELECT post_id, meta_value FROM `'.$wpdb->postmeta."` WHERE meta_key='_".WPACU_PLUGIN_ID."_page_options' && meta_value !=''", ARRAY_A);
402
+
403
+ foreach ($pageOptionsResults as $pageOptionResult) {
404
+ $postId = $pageOptionResult['post_id'];
405
+ $optionsDecoded = @json_decode( $pageOptionResult['meta_value'], ARRAY_A );
406
+
407
+ if (is_array($optionsDecoded) && ! empty($optionsDecoded)) {
408
+ $this->data['page_options_results']['posts'][] = array('post_id' => $postId, 'options' => $optionsDecoded);
409
+ }
410
+ }
411
+
412
+ // 2) For the homepage set as latest posts (e.g. not a single page set as the front page, this is included in the previous check)
413
+ $globalPageOptions = get_option(WPACU_PLUGIN_ID . '_global_data');
414
+
415
+ if ($globalPageOptions) {
416
+ $globalPageOptionsList = @json_decode( $globalPageOptions, true );
417
+ if ( isset( $globalPageOptionsList['page_options']['homepage'] ) && ! empty( $globalPageOptionsList['page_options']['homepage'] ) ) {
418
+ $this->data['page_options_results']['homepage'] = array('options' => $globalPageOptionsList['page_options']['homepage']);
419
+ }
420
+ }
421
+ // [/PAGE OPTIONS]
422
+
423
  Main::instance()->parseTemplate('admin-page-overview', $this->data, true);
424
  }
425
 
classes/OwnAssets.php CHANGED
@@ -495,7 +495,7 @@ HTML;
495
  'plugin_id' => WPACU_PLUGIN_ID,
496
 
497
  'reload_icon' => $svgReloadIcon,
498
- 'reload_msg' => sprintf(__('Reloading %s CSS &amp; JS list', 'wp-asset-clean-up'), '<strong style="margin: 0 4px;">' . WPACU_PLUGIN_TITLE . '</strong>'),
499
  'dom_get_type' => $wpacuDomGetType,
500
  'list_show_status' => Main::instance()->settings['assets_list_show_status'],
501
 
495
  'plugin_id' => WPACU_PLUGIN_ID,
496
 
497
  'reload_icon' => $svgReloadIcon,
498
+ 'reload_msg' => sprintf(__('Reloading %s area', 'wp-asset-clean-up'), '<strong style="margin: 0 4px;">' . WPACU_PLUGIN_TITLE . '</strong>'),
499
  'dom_get_type' => $wpacuDomGetType,
500
  'list_show_status' => Main::instance()->settings['assets_list_show_status'],
501
 
classes/Plugin.php CHANGED
@@ -179,9 +179,11 @@ SELECT option_name FROM `{$wpdb->prefix}options` WHERE {$transientLikesSql}
179
  SQL;
180
  $transientsToClear = $wpdb->get_col($sqlQuery);
181
 
182
- foreach ($transientsToClear as $transientToClear) {
183
- $transientNameToClear = str_replace('_transient_', '', $transientToClear);
184
- delete_transient($transientNameToClear);
 
 
185
  }
186
  }
187
 
@@ -379,55 +381,52 @@ HTACCESS;
379
  * It needs to be triggered through a very early 'init' / 'setup_theme' action hook after all plugins are loaded, thus it can't be used in /early-triggers.php
380
  * e.g. in situations when the page is an AMP one, prevent any changes to the HTML source by Asset CleanUp (Pro)
381
  *
 
 
382
  * @return bool
383
  */
384
- public static function preventAnyFrontendOptimization()
385
- {
386
- // Only relevant if all the plugins are already loaded
387
- // and in the front-end view
388
- if (! defined('WPACU_ALL_ACTIVE_PLUGINS_LOADED') || is_admin()) {
389
- return false;
390
- }
391
-
392
- // Perhaps the editor from "Pro" (theme.co) is on
393
- if (apply_filters('wpacu_prevent_any_frontend_optimization', false)) {
394
- if (! defined('WPACU_PREVENT_ANY_FRONTEND_OPTIMIZATION')) {
395
- define( 'WPACU_PREVENT_ANY_FRONTEND_OPTIMIZATION', true );
396
- }
397
 
398
- return true;
399
- }
 
 
400
 
401
- if (defined('WPACU_PREVENT_ANY_FRONTEND_OPTIMIZATION')) {
402
- return WPACU_PREVENT_ANY_FRONTEND_OPTIMIZATION;
403
- }
404
 
405
- // e.g. /amp/ - /amp? - /amp/? - /?amp or ending in /amp
406
- $isAmpInRequestUri = ((isset($_SERVER['REQUEST_URI']) && (preg_match('/(\/amp$|\/amp\?)|(\/amp\/|\/amp\/\?)/', $_SERVER['REQUEST_URI']))) || (array_key_exists('amp', $_GET)));
 
 
 
 
 
407
 
408
- // Is it an AMP endpoint?
409
- if ( ($isAmpInRequestUri && Misc::isPluginActive('accelerated-mobile-pages/accelerated-mobile-pages.php')) // "AMP for WP – Accelerated Mobile Pages"
410
- || ($isAmpInRequestUri && Misc::isPluginActive('amp/amp.php')) // "AMP – WordPress plugin"
411
- || (function_exists('is_wp_amp') && Misc::isPluginActive('wp-amp/wp-amp.php') && is_wp_amp()) // "WP AMP — Accelerated Mobile Pages for WordPress and WooCommerce" (Premium plugin)
412
- ) {
413
- define('WPACU_PREVENT_ANY_FRONTEND_OPTIMIZATION', true);
414
- return true; // do not print anything on an AMP page
415
- }
416
 
417
- // Some pages are AMP but their URI does not end in /amp
418
- if ( Misc::isPluginActive('accelerated-mobile-pages/accelerated-mobile-pages.php')
419
- || Misc::isPluginActive('amp/amp.php')
420
- || Misc::isPluginActive('wp-amp/wp-amp.php')
421
- ) {
422
- define('WPACU_DO_EXTRA_CHECKS_FOR_AMP', true);
423
- }
424
 
425
- if (array_key_exists('wpacu_clean_load', $_GET)) {
426
- define('WPACU_PREVENT_ANY_FRONTEND_OPTIMIZATION', true);
427
- return true;
428
- }
 
429
 
430
- define('WPACU_PREVENT_ANY_FRONTEND_OPTIMIZATION', false);
431
- return false;
432
- }
433
  }
179
  SQL;
180
  $transientsToClear = $wpdb->get_col($sqlQuery);
181
 
182
+ if (! empty($transientsToClear)) {
183
+ foreach ( $transientsToClear as $transientToClear ) {
184
+ $transientNameToClear = str_replace( '_transient_', '', $transientToClear );
185
+ delete_transient( $transientNameToClear );
186
+ }
187
  }
188
  }
189
 
381
  * It needs to be triggered through a very early 'init' / 'setup_theme' action hook after all plugins are loaded, thus it can't be used in /early-triggers.php
382
  * e.g. in situations when the page is an AMP one, prevent any changes to the HTML source by Asset CleanUp (Pro)
383
  *
384
+ * @param string $tagActionName
385
+ *
386
  * @return bool
387
  */
388
+ public static function preventAnyFrontendOptimization($tagActionName = '')
389
+ {
390
+ // Only relevant if all the plugins are already loaded
391
+ // and in the front-end view
392
+ if (! defined('WPACU_ALL_ACTIVE_PLUGINS_LOADED') || is_admin()) {
393
+ return false;
394
+ }
 
 
 
 
 
 
395
 
396
+ // Perhaps the editor from "Pro" (theme.co) is on
397
+ if (apply_filters('wpacu_prevent_any_frontend_optimization', false)) {
398
+ return true;
399
+ }
400
 
401
+ // e.g. /amp/ - /amp? - /amp/? - /?amp or ending in /amp
402
+ $isAmpInRequestUri = ((isset($_SERVER['REQUEST_URI']) && (preg_match('/(\/amp$|\/amp\?)|(\/amp\/|\/amp\/\?)/', $_SERVER['REQUEST_URI']))) || (array_key_exists('amp', $_GET)));
 
403
 
404
+ // Is it an AMP endpoint?
405
+ if ( ($isAmpInRequestUri && Misc::isPluginActive('accelerated-mobile-pages/accelerated-mobile-pages.php')) // "AMP for WP – Accelerated Mobile Pages"
406
+ || ($isAmpInRequestUri && Misc::isPluginActive('amp/amp.php')) // "AMP – WordPress plugin"
407
+ || (function_exists('is_wp_amp') && Misc::isPluginActive('wp-amp/wp-amp.php') && is_wp_amp()) // "WP AMP — Accelerated Mobile Pages for WordPress and WooCommerce" (Premium plugin)
408
+ ) {
409
+ return true; // do not print anything on an AMP page
410
+ }
411
 
412
+ // Some pages are AMP but their URI does not end in /amp
413
+ if ( Misc::isPluginActive('accelerated-mobile-pages/accelerated-mobile-pages.php')
414
+ || Misc::isPluginActive('amp/amp.php')
415
+ || Misc::isPluginActive('wp-amp/wp-amp.php')
416
+ ) {
417
+ define('WPACU_DO_EXTRA_CHECKS_FOR_AMP', true);
418
+ }
 
419
 
420
+ if (array_key_exists('wpacu_clean_load', $_GET)) {
421
+ return true;
422
+ }
 
 
 
 
423
 
424
+ // $tagActionName needs to be different than 'parse_query' because is_singular() would trigger too soon and cause notice errors
425
+ // Has the following page option set: "Do not apply any front-end optimization on this page (this includes any changes related to CSS/JS files)"
426
+ if ($tagActionName !== 'parse_query' && MetaBoxes::hasNoFrontendOptimizationPageOption()) {
427
+ return true;
428
+ }
429
 
430
+ return false;
431
+ }
 
432
  }
classes/Update.php CHANGED
@@ -64,6 +64,9 @@ HTML;
64
  // This triggers ONLY in the Dashboard after "Update" button is clicked (on Edit mode)
65
  add_action('save_post', array($this, 'savePost'));
66
 
 
 
 
67
  // Clear cache (via AJAX) only if the user is logged-in (with the right privileges)
68
  add_action('wp_ajax_' . WPACU_PLUGIN_ID . '_clear_cache', array($this, 'ajaxClearCache'), PHP_INT_MAX);
69
 
@@ -204,7 +207,8 @@ HTML;
204
  $paramsToAdd = array(
205
  'wpacu_time' => time(),
206
  'nocache' => 'true',
207
- 'wpacu_updated' => 'true'
 
208
  );
209
 
210
  $extraParamsSign = '?';
@@ -252,10 +256,11 @@ HTML;
252
  return;
253
  }
254
 
255
- // Any page options set? From the Side Meta Box "Asset CleanUp Options"
 
256
  $this->updatePageOptions($post->ID);
257
 
258
- // This is triggered only if the "Asset CleanUp" meta box was loaded with the list of assets
259
  // Otherwise, $_POST[WPACU_PLUGIN_ID] will be taken as empty which might be not if there are values in the database
260
  if (! Misc::getVar('post', 'wpacu_unload_assets_area_loaded')) {
261
  return;
@@ -340,12 +345,43 @@ HTML;
340
  // To avoid the usage of too much memory (good for shared environments) and avoid any memory related errors showing up to the user which could be confusing
341
  }
342
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
343
  /**
344
  * @param $wpacuNoLoadAssets
345
  */
346
  public function updateFrontPage($wpacuNoLoadAssets)
347
  {
348
- // Needed in case the user clicks "Update" on a page without assets retrieved
 
 
 
 
349
  // Avoid resetting the existing values
350
  if (! Misc::getVar('post', 'wpacu_unload_assets_area_loaded')) {
351
  return;
@@ -635,37 +671,54 @@ HTML;
635
  Misc::addUpdateOption($optionToUpdate, json_encode(Misc::filterList($existingList)));
636
  }
637
 
638
- /*
639
- * This method should ONLY be triggered when the "Asset CleanUp Options" area is visible
 
 
 
640
  */
641
- public function updatePageOptions($postId)
642
  {
643
  // Is the "Asset CleanUp: Page Options" meta box not loaded?
644
  // Then do not perform any update below
645
- if (! Misc::getVar('post', 'wpacu_meta_box_page_options_loaded', false)) {
646
  return;
647
  }
648
 
649
- $pageOptions = Misc::getVar('post', WPACU_PLUGIN_ID.'_page_options', array());
650
 
651
- // In order for the "Apply the selected options" to work
652
- // At least one of the checkboxes above have to be enabled
653
- if (isset($pageOptions['apply_options_for']) && $pageOptions['apply_options_for'] && count($pageOptions) === 1) {
654
- $pageOptions = array();
655
- }
 
 
 
656
 
657
- // No page options? Delete any entry from the database to free up space
658
- // instead of updating it as an empty entry
659
- if (empty($pageOptions)) {
660
- delete_post_meta($postId, '_' . WPACU_PLUGIN_ID . '_page_options');
661
- return;
662
- }
663
 
664
- $pageOptionsJson = json_encode($pageOptions);
 
665
 
666
- if (! add_post_meta($postId, '_' . WPACU_PLUGIN_ID . '_page_options', $pageOptionsJson, true)) {
667
- update_post_meta($postId, '_' . WPACU_PLUGIN_ID . '_page_options', $pageOptionsJson);
668
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
669
  }
670
 
671
  /**
64
  // This triggers ONLY in the Dashboard after "Update" button is clicked (on Edit mode)
65
  add_action('save_post', array($this, 'savePost'));
66
 
67
+ // This is to update the permalink for the post in "Page Options" if the following option was ever used for the post: "Do not load Asset CleanUp Pro on this page (this will disable any functionality of the plugin)"
68
+ add_action('post_updated', array($this, 'afterPostUpdate'), 10, 3);
69
+
70
  // Clear cache (via AJAX) only if the user is logged-in (with the right privileges)
71
  add_action('wp_ajax_' . WPACU_PLUGIN_ID . '_clear_cache', array($this, 'ajaxClearCache'), PHP_INT_MAX);
72
 
207
  $paramsToAdd = array(
208
  'wpacu_time' => time(),
209
  'nocache' => 'true',
210
+ 'wpacu_updated' => 'true',
211
+ 'wpacu_ignore_no_load_option' => 1
212
  );
213
 
214
  $extraParamsSign = '?';
256
  return;
257
  }
258
 
259
+ // Any page options set? From the Side Meta Box "Asset CleanUp: Options"
260
+ // Could be just these fields available in the form (e.g. unavailable CSS/JS manager due to the page set to not load the plugin at all)
261
  $this->updatePageOptions($post->ID);
262
 
263
+ // This is triggered only if the "Asset CleanUp" meta box was loaded with the list of assets (either in edit post/page or in "CSS & JS Manager" -> "Manage CSS/JS")
264
  // Otherwise, $_POST[WPACU_PLUGIN_ID] will be taken as empty which might be not if there are values in the database
265
  if (! Misc::getVar('post', 'wpacu_unload_assets_area_loaded')) {
266
  return;
345
  // To avoid the usage of too much memory (good for shared environments) and avoid any memory related errors showing up to the user which could be confusing
346
  }
347
 
348
+ /**
349
+ * This takes action when the CSS/JS manager from edit post/page is used
350
+ *
351
+ * @param $postId
352
+ * @param $after
353
+ */
354
+ public function afterPostUpdate($postId, $afterPostObj, $beforePostObj)
355
+ {
356
+ global $wpdb;
357
+
358
+ // The post might have the following page option: "Do not load Asset CleanUp Pro on this page (this will disable any functionality of the plugin)"
359
+ // If the admin changed the slug, we need to update the page URI as well that is used very early in the triggering of the plugin
360
+ // when get_permalink() is not available (e.g. outside any action hook or in the MU plugin)
361
+ $pageOptionJson = $wpdb->get_var( 'SELECT meta_value FROM `' . $wpdb->prefix . 'postmeta` WHERE post_id=\''.$postId.'\' && meta_key=\'_'.WPACU_PLUGIN_ID.'_page_options\' && meta_value LIKE \'%no_wpacu_load%\'' );
362
+
363
+ $postPageOptions = @json_decode($pageOptionJson, ARRAY_A);
364
+
365
+ if ( ! isset($postPageOptions['no_wpacu_load']) ) {
366
+ return;
367
+ }
368
+
369
+ if ($afterPostObj->post_name !== $beforePostObj->post_name) {
370
+ $postPageOptions['_page_uri'] = Misc::getPageUri($postId);
371
+ update_post_meta($postId, '_' . WPACU_PLUGIN_ID . '_page_options', json_encode(Misc::filterList($postPageOptions)));
372
+ }
373
+ }
374
+
375
  /**
376
  * @param $wpacuNoLoadAssets
377
  */
378
  public function updateFrontPage($wpacuNoLoadAssets)
379
  {
380
+ // Any page options set? From the Side Meta Box "Asset CleanUp: Options"
381
+ // Could be just these fields available in the form (e.g. unavailable CSS/JS manager due to the page set to not load the plugin at all)
382
+ $this->updatePageOptions(0, 'front_page');
383
+
384
+ // Needed in case the user clicks "Update" on a page without assets retrieved
385
  // Avoid resetting the existing values
386
  if (! Misc::getVar('post', 'wpacu_unload_assets_area_loaded')) {
387
  return;
671
  Misc::addUpdateOption($optionToUpdate, json_encode(Misc::filterList($existingList)));
672
  }
673
 
674
+ /**
675
+ * This method should ONLY be triggered when the "Asset CleanUp: Options" area is visible
676
+ *
677
+ * @param $postId
678
+ * @param string $type
679
  */
680
+ public function updatePageOptions($postId, $type = 'post')
681
  {
682
  // Is the "Asset CleanUp: Page Options" meta box not loaded?
683
  // Then do not perform any update below
684
+ if ( ! Misc::getVar( 'post', 'wpacu_page_options_area_loaded', false ) ) {
685
  return;
686
  }
687
 
688
+ $pageOptions = Misc::getVar( 'post', WPACU_PLUGIN_ID . '_page_options', array() );
689
 
690
+ if ($type === 'post' || $postId > 0) {
691
+ /*
692
+ * For posts, pages, custom post types
693
+ */
694
+ // No page options? Delete any entry from the database to free up space
695
+ // instead of updating it as an empty entry
696
+ if ( empty( $pageOptions ) ) {
697
+ delete_post_meta( $postId, '_' . WPACU_PLUGIN_ID . '_page_options' );
698
 
699
+ return;
700
+ }
 
 
 
 
701
 
702
+ // Save the page URI as it's needed instead of get_permalink() that can't be called too early (e.g. outside an action hook or in a MU plugin)
703
+ $pageOptions['_page_uri'] = Misc::getPageUri($postId);
704
 
705
+ $pageOptionsJson = json_encode( Misc::filterList($pageOptions) );
706
+
707
+ if ( ! add_post_meta( $postId, '_' . WPACU_PLUGIN_ID . '_page_options', $pageOptionsJson, true ) ) {
708
+ update_post_meta( $postId, '_' . WPACU_PLUGIN_ID . '_page_options', $pageOptionsJson );
709
+ }
710
+ } elseif ($type === 'front_page') {
711
+ /*
712
+ * For the homepage (e.g. latest posts), but not a page set as homepage
713
+ */
714
+ $existingListJson = get_option(WPACU_PLUGIN_ID . '_global_data');
715
+ $existingListData = Main::instance()->existingList($existingListJson, array());
716
+ $existingList = $existingListData['list'];
717
+
718
+ $existingList['page_options']['homepage'] = $pageOptions;
719
+
720
+ Misc::addUpdateOption( WPACU_PLUGIN_ID . '_global_data', json_encode(Misc::filterList($existingList)));
721
+ }
722
  }
723
 
724
  /**
early-triggers.php CHANGED
@@ -36,23 +36,104 @@ if (! function_exists('assetCleanUpClearAutoptimizeCache')) {
36
  }
37
  }
38
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
39
  if (! function_exists('assetCleanUpHasNoLoadMatches')) {
40
  /**
41
  * Any matches from "Settings" -> "Plugin Usage Preferences" -> "Do not load the plugin on certain pages"?
42
  *
43
- * @param $targetUri
 
44
  *
45
  * @return bool
46
  */
47
- function assetCleanUpHasNoLoadMatches($targetUri = '')
48
  {
 
 
 
 
49
  if ($targetUri === '') {
50
  // When called from the Dashboard, it should never be empty
51
  if (is_admin()) {
52
  return false;
53
  }
54
 
55
- $targetUri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : ''; // Invalid request
56
  } else {
57
  // Passed from the Dashboard as an URL; Strip the prefix and hostname to keep only the URI
58
  $parseUrl = parse_url(rawurldecode($targetUri));
@@ -90,11 +171,78 @@ if (! function_exists('assetCleanUpHasNoLoadMatches')) {
90
  foreach ( $doNotLoadRegExps as $doNotLoadRegExp ) {
91
  if ( @preg_match( $doNotLoadRegExp, $targetUri ) || (strpos($targetUri, $doNotLoadRegExp) !== false) ) {
92
  // There's a match
93
- return $targetUri;
94
  }
95
  }
96
  }
97
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
98
  return false;
99
  }
100
  }
@@ -473,20 +621,36 @@ if (! function_exists('assetCleanUpNoLoad')) {
473
  return true;
474
  }
475
 
 
 
 
 
 
 
 
476
  // Stop triggering Asset CleanUp (completely) on specific front-end pages
477
  // Do the trigger here and if necessary exit as early as possible to save resources via "registered_taxonomy" action hook)
478
- if ( assetCleanUpHasNoLoadMatches() ) {
 
 
479
  // Only use exit() when "wpassetcleanup_load" is used
480
  if ( isset( $_REQUEST['wpassetcleanup_load'] ) && $_REQUEST['wpassetcleanup_load'] ) {
481
- add_action( 'registered_taxonomy', function() {
482
  if ( current_user_can( 'administrator' ) ) {
483
- $msg = sprintf(
484
- __(
485
- 'This page\'s URL is matched by one of the RegEx rules you have in <em>"Settings"</em> -&gt; <em>"Plugin Usage Preferences"</em> -&gt; <em>"Do not load the plugin on certain pages"</em>, thus %s is not loaded on that page and no CSS/JS are to be managed. If you wish to view the CSS/JS manager, please remove the matching RegEx rule and the list of CSS/JS will be fetched.',
486
- 'wp-asset-clean-up'
487
- ),
488
- WPACU_PLUGIN_TITLE
489
- );
 
 
 
 
 
 
 
490
  exit( $msg );
491
  }
492
  } );
36
  }
37
  }
38
 
39
+ if (! function_exists('assetCleanUpRequestUriHasAnyPublicVar')) {
40
+ /**
41
+ * @param $targetUri
42
+ *
43
+ * @return bool
44
+ */
45
+ function assetCleanUpRequestUriHasAnyPublicVar($targetUri)
46
+ {
47
+ $urlQuery = parse_url($targetUri, PHP_URL_QUERY);
48
+
49
+ if ( ! $urlQuery ) {
50
+ return false;
51
+ }
52
+
53
+ $publicQueryVars = array(
54
+ 'attachment',
55
+ 'attachment_id',
56
+ 'author',
57
+ 'author_name',
58
+ 'cat',
59
+ 'calendar',
60
+ 'category_name',
61
+ 'comments_popup',
62
+ 'cpage',
63
+ 'day',
64
+ 'error',
65
+ 'exact',
66
+ 'feed',
67
+ 'hour',
68
+ 'm',
69
+ 'minute',
70
+ 'monthnum',
71
+ 'more',
72
+ 'name',
73
+ 'order',
74
+ 'orderby',
75
+ 'p',
76
+ 'page_id',
77
+ 'page',
78
+ 'paged',
79
+ 'pagename',
80
+ 'pb',
81
+ 'post_type',
82
+ 'posts',
83
+ 'preview',
84
+ 'robots',
85
+ 's',
86
+ 'search',
87
+ 'second',
88
+ 'sentence',
89
+ 'static',
90
+ 'subpost',
91
+ 'subpost_id',
92
+ 'taxonomy',
93
+ 'tag',
94
+ 'tag_id',
95
+ 'tb',
96
+ 'term',
97
+ 'w',
98
+ 'withcomments',
99
+ 'withoutcomments',
100
+ 'year'
101
+ );
102
+
103
+ parse_str($urlQuery, $getOutput);
104
+
105
+ foreach ($publicQueryVars as $queryVar) {
106
+ if (isset($getOutput[$queryVar]) && $getOutput[$queryVar]) {
107
+ return true;
108
+ }
109
+ }
110
+
111
+ return false;
112
+ }
113
+ }
114
+
115
  if (! function_exists('assetCleanUpHasNoLoadMatches')) {
116
  /**
117
  * Any matches from "Settings" -> "Plugin Usage Preferences" -> "Do not load the plugin on certain pages"?
118
  *
119
+ * @param string $targetUri
120
+ * @param bool $forceCheck
121
  *
122
  * @return bool
123
  */
124
+ function assetCleanUpHasNoLoadMatches($targetUri = '', $forceCheck = false)
125
  {
126
+ if ( ! $forceCheck && isset( $_GET['wpacu_ignore_no_load_option'] ) ) {
127
+ return false;
128
+ }
129
+
130
  if ($targetUri === '') {
131
  // When called from the Dashboard, it should never be empty
132
  if (is_admin()) {
133
  return false;
134
  }
135
 
136
+ $targetUri = isset($_SERVER['REQUEST_URI']) ? rawurldecode($_SERVER['REQUEST_URI']) : ''; // Invalid request
137
  } else {
138
  // Passed from the Dashboard as an URL; Strip the prefix and hostname to keep only the URI
139
  $parseUrl = parse_url(rawurldecode($targetUri));
171
  foreach ( $doNotLoadRegExps as $doNotLoadRegExp ) {
172
  if ( @preg_match( $doNotLoadRegExp, $targetUri ) || (strpos($targetUri, $doNotLoadRegExp) !== false) ) {
173
  // There's a match
174
+ return 'is_set_in_settings';
175
  }
176
  }
177
  }
178
 
179
+ /*
180
+ * Page Options -> The following option might be checked "Do not load Asset CleanUp Pro on this page (this will disable any functionality of the plugin)"
181
+ * For homepage (e.g. latest posts) or a page, post or custom post type
182
+ */
183
+ $parseUrl = parse_url(get_site_url());
184
+ $rootUrl = $parseUrl['scheme'].'://'.$parseUrl['host'];
185
+ $homepageUri = isset($parseUrl['path']) ? $parseUrl['path'] : '/';
186
+
187
+ $cleanTargetUri = $targetUri;
188
+
189
+ if (strpos($targetUri, '?') !== false) {
190
+ list($cleanTargetUri) = explode('?', $cleanTargetUri);
191
+ }
192
+
193
+ /*
194
+ * First verification: If it's a homepage and it's not a "page" homepage but a different one such as latest posts
195
+ */
196
+ $isHomePageUri = trim($homepageUri, '/') === trim($cleanTargetUri, '/') && ! assetCleanUpRequestUriHasAnyPublicVar($targetUri);
197
+ $isSinglePageSetAsHomePage = ( get_option('show_on_front') === 'page' && get_option('page_on_front') > 0 );
198
+
199
+ if ( $isHomePageUri && ! $isSinglePageSetAsHomePage ) {
200
+ // Anything different then a page set as the homepage
201
+ $globalPageOptions = get_option(WPACU_PLUGIN_ID . '_global_data');
202
+
203
+ if ($globalPageOptions) {
204
+ $globalPageOptionsList = @json_decode($globalPageOptions, true);
205
+
206
+ if (isset($globalPageOptionsList['page_options']['homepage']['no_wpacu_load'])
207
+ && $globalPageOptionsList['page_options']['homepage']['no_wpacu_load'] == 1) {
208
+ return 'is_set_in_page';
209
+ }
210
+ }
211
+ }
212
+
213
+ /*
214
+ * Second verification: For any post, page, custom post type including any page set as the homepage in "Reading" -> "Your homepage displays" -> "A static page (select below)"
215
+ */
216
+ if ($isHomePageUri && $isSinglePageSetAsHomePage) {
217
+ $pageId = get_option('page_on_front');
218
+ $pageOptionsJson = get_post_meta($pageId, '_' . WPACU_PLUGIN_ID . '_page_options', true);
219
+ $pageOptions = @json_decode( $pageOptionsJson, ARRAY_A );
220
+
221
+ if (isset($pageOptions['no_wpacu_load']) && $pageOptions['no_wpacu_load'] == 1) {
222
+ return 'is_set_in_page';
223
+ }
224
+ } else {
225
+ // Visiting a post, page or custom post type but not the homepage
226
+ global $wpdb;
227
+ $anyPagesWithSpecialOptions = $wpdb->get_col( 'SELECT meta_value FROM `' . $wpdb->prefix . 'postmeta` WHERE meta_key=\'_wpassetcleanup_page_options\' && meta_value LIKE \'%no_wpacu_load%\'' );
228
+
229
+ if ( ! empty( $anyPagesWithSpecialOptions ) ) {
230
+ foreach ( $anyPagesWithSpecialOptions as $metaValue ) {
231
+ $postPageOptions = @json_decode($metaValue, ARRAY_A);
232
+
233
+ if ( ! isset($postPageOptions['no_wpacu_load'], $postPageOptions['_page_uri']) ) {
234
+ continue;
235
+ }
236
+
237
+ $dbPageUrl = $postPageOptions['_page_uri'];
238
+ $dbPageUri = str_replace( $rootUrl, '', $dbPageUrl );
239
+
240
+ if ( ( $dbPageUri === $targetUri ) || ( strpos( $targetUri, $dbPageUri ) === 0 ) ) {
241
+ return 'is_set_in_page';
242
+ }
243
+ }
244
+ }
245
+ }
246
  return false;
247
  }
248
  }
621
  return true;
622
  }
623
 
624
+ // WooCommerce API call
625
+ if ( (isset($_GET['wc-api']) && $_GET['wc-api']) || (isset($_SERVER['REQUEST_URI']) && strpos($_SERVER['REQUEST_URI'], '/index.php?wc-api=') !== false) ) {
626
+ define( 'WPACU_NO_LOAD_SET', true );
627
+
628
+ return true;
629
+ }
630
+
631
  // Stop triggering Asset CleanUp (completely) on specific front-end pages
632
  // Do the trigger here and if necessary exit as early as possible to save resources via "registered_taxonomy" action hook)
633
+ $anyPluginNoLoadMatches = assetCleanUpHasNoLoadMatches();
634
+
635
+ if ( $anyPluginNoLoadMatches ) {
636
  // Only use exit() when "wpassetcleanup_load" is used
637
  if ( isset( $_REQUEST['wpassetcleanup_load'] ) && $_REQUEST['wpassetcleanup_load'] ) {
638
+ add_action( 'registered_taxonomy', function() use ($anyPluginNoLoadMatches) {
639
  if ( current_user_can( 'administrator' ) ) {
640
+ if ( $anyPluginNoLoadMatches === 'is_set_in_settings' ) {
641
+ $msg = sprintf(
642
+ __( 'This page\'s URL is matched by one of the RegEx rules you have in <em>"Settings"</em> -&gt; <em>"Plugin Usage Preferences"</em> -&gt; <em>"Do not load the plugin on certain pages"</em>, thus %s is not loaded on that page and no CSS/JS are to be managed. If you wish to view the CSS/JS manager, please remove the matching RegEx rule and the list of CSS/JS will be fetched.',
643
+ 'wp-asset-clean-up'
644
+ ),
645
+ WPACU_PLUGIN_TITLE
646
+ );
647
+ } elseif ( $anyPluginNoLoadMatches === 'is_set_in_page' ) {
648
+ $msg = sprintf(
649
+ __( 'This homepage\'s URI is matched by the rule you have in the "Page Options", thus %s is not loaded on that page and no CSS/JS are to be managed. If you wish to view the CSS/JS manager, please uncheck the option and reload this page.',
650
+ 'wp-asset-clean-up'
651
+ ), WPACU_PLUGIN_TITLE );
652
+ }
653
+
654
  exit( $msg );
655
  }
656
  } );
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.7.2
7
- Stable tag: 1.3.7.9
8
  License: GPLv3
9
  License URI: http://www.gnu.org/licenses/gpl.html
10
 
@@ -190,6 +190,16 @@ With the recently released "Test Mode" feature, you can safely unload assets on
190
  4. Homepage CSS & JS Management (List sorted by location)
191
 
192
  == Changelog ==
 
 
 
 
 
 
 
 
 
 
193
  = 1.3.7.9 =
194
  * Option to skip Autoptimize cache clearing via using the "WPACU_DO_NOT_ALSO_CLEAR_AUTOPTIMIZE_CACHE" constant (e.g. set to 'true' in wp-config.php)
195
  * Fix: Make sure that applying to unload on all pages of a certain post type works from "CSS & JS MANAGER" (which is the new place for managing CSS/JS files within the Dashboard, outside the edit post/page area)
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.7.2
7
+ Stable tag: 1.3.8.0
8
  License: GPLv3
9
  License URI: http://www.gnu.org/licenses/gpl.html
10
 
190
  4. Homepage CSS & JS Management (List sorted by location)
191
 
192
  == Changelog ==
193
+ = 1.3.8.0 =
194
+ * The meta box "Asset CleanUp Pro: Page Options" has had its contents moved to the "Page Options" area from the CSS/JS manager in any location the assets are managed
195
+ * Added "Page Options" for the homepage as well (e.g. latest posts) besides posts, pages, and any public custom post types (e.g. WooCommerce product pages)
196
+ * Prevent the plugin from triggering when WooCommerce API calls are made
197
+ * Make sure the following option works well when non-Latin characters are in the URI: "Do not load the plugin on certain page"
198
+ * Fix: When hovering over the post's title in the Dashboard's posts list (either post, page, or custom post type), make sure "Manage CSS & JS" is only shown to the right admins to avoid any confusion
199
+ * Fix: When assets' list is fetched, WP Rocket was disabled which made some plugins/themes that are directly calling WP Rocket functions to generate fatal errors
200
+ * Fix: Make sure the handles with the following option always get unloaded: 'Ignore dependency rule and keep the "children" loaded'
201
+ * Fix: Fatal error: Cannot redeclare assetCleanUpClearAutoptimizeCache() - if both plugins (Lite & Pro) are activated
202
+
203
  = 1.3.7.9 =
204
  * Option to skip Autoptimize cache clearing via using the "WPACU_DO_NOT_ALSO_CLEAR_AUTOPTIMIZE_CACHE" constant (e.g. set to 'true' in wp-config.php)
205
  * Fix: Make sure that applying to unload on all pages of a certain post type works from "CSS & JS MANAGER" (which is the new place for managing CSS/JS files within the Dashboard, outside the edit post/page area)
templates/_admin-page-settings-plugin-areas/_plugin-usage-settings.php CHANGED
@@ -110,14 +110,16 @@ foreach (\WpAssetCleanUp\MetaBoxes::$noMetaBoxesForPostTypes as $noMetaBoxesForP
110
  </div>
111
 
112
  <div id="wpacu-settings-hide-meta-boxes">
113
- <p><?php _e('If you wish to hide the meta boxes completely for any reason (e.g. you rarely manage the assets and you want to reduce cluttering in the edit post/page/taxonomy area, especially if you do lots of edits), you can do so using the options below (<em>don\'t forget to uncheck them whenever you wish to manage the CSS/JS assets again</em>)', 'wp-asset-clean-up'); ?>:</p>
114
  <ul>
115
- <li><label for="wpacu-hide-assets-meta-box-checkbox"><input <?php echo (($data['hide_assets_meta_box'] == 1) ? 'checked="checked"' : ''); ?> id="wpacu-hide-assets-meta-box-checkbox" type="checkbox" name="<?php echo WPACU_PLUGIN_ID . '_settings'; ?>[hide_assets_meta_box]" value="1" /> Hide "<?php echo WPACU_PLUGIN_TITLE; ?>: CSS &amp; JavaScript Manager" meta box</label></li>
116
- <li><label for="wpacu-hide-options-meta-box-checkbox"><input <?php echo (($data['hide_options_meta_box'] == 1) ? 'checked="checked"' : ''); ?> id="wpacu-hide-options-meta-box-checkbox" type="checkbox" name="<?php echo WPACU_PLUGIN_ID . '_settings'; ?>[hide_options_meta_box]" value="1" /> Hide "<?php echo WPACU_PLUGIN_TITLE; ?>: Options" meta box</label></li>
 
 
117
  </ul>
118
  <hr />
119
 
120
- <label for="wpacu-hide-meta-boxes-for-post-types">Hide all meta boxes for the following public post types (multiple selection drop-down):</label><br />
121
  </div>
122
 
123
  <select style="margin-top: 4px; min-width: 340px;"
110
  </div>
111
 
112
  <div id="wpacu-settings-hide-meta-boxes">
113
+ <p><?php _e('If you wish to hide the assets management area for any reason (e.g. you rarely manage the assets and you want to reduce cluttering in the edit post/page/taxonomy area, especially if you do lots of edits), you can do so using the option below (<em>don\'t forget to uncheck them whenever you wish to manage the CSS/JS assets again</em>)', 'wp-asset-clean-up'); ?>:</p>
114
  <ul>
115
+ <li><label for="wpacu-hide-assets-meta-box-checkbox"><input <?php echo (($data['hide_assets_meta_box'] == 1) ? 'checked="checked"' : ''); ?> id="wpacu-hide-assets-meta-box-checkbox" type="checkbox" name="<?php echo WPACU_PLUGIN_ID . '_settings'; ?>[hide_assets_meta_box]" value="1" /> Hide "<?php echo WPACU_PLUGIN_TITLE; ?>: CSS &amp; JavaScript Manager / Page Options" meta box</label></li>
116
+
117
+ <?php
118
+ ?>
119
  </ul>
120
  <hr />
121
 
122
+ <label for="wpacu-hide-meta-boxes-for-post-types">Hide the meta box for the following public post types (multiple selection drop-down):</label><br />
123
  </div>
124
 
125
  <select style="margin-top: 4px; min-width: 340px;"
templates/_admin-pages-assets-manager/_homepage.php CHANGED
@@ -24,6 +24,9 @@ if ($data['dashboard_edit_not_allowed']) {
24
  return; // stop here as the message about the restricted access has been printed
25
  }
26
 
 
 
 
27
  $anyMetaBoxHidden = $data['wpacu_settings']['hide_assets_meta_box'] || $data['wpacu_settings']['hide_options_meta_box'];
28
 
29
  if ( $anyMetaBoxHidden ) {
@@ -49,92 +52,136 @@ if ( $anyMetaBoxHidden ) {
49
  }
50
 
51
  if ($data['show_on_front'] === 'page' && $data['page_on_front']) {
 
 
 
52
  ?>
53
-
54
  <p><?php echo sprintf( __( 'To read more about creating a static front page in WordPress, %scheck the Codex%s.', 'wp-asset-clean-up' ), '<a target="_blank" href="https://codex.wordpress.org/Creating_a_Static_Front_Page">', '</a>' ); ?></p>
55
-
56
  <?php
57
  $data['is_homepage_tab'] = true;
58
  $data['post_id'] = $data['page_on_front'];
59
  $data['post_type'] = get_post_type($data['post_id']);
60
  do_action('wpacu_admin_notices');
61
  require_once __DIR__.'/_singular-page.php';
62
- } elseif (assetCleanUpHasNoLoadMatches($data['site_url'])) { // Asset CleanUp Pro is set not to load for the front-page
63
- ?>
64
- <p class="wpacu_verified">
65
- <strong>Target URL:</strong> <a target="_blank" href="<?php echo $data['site_url']; ?>"><span><?php echo $data['site_url']; ?></span></a>
66
- </p>
67
- <?php
68
- $msg = sprintf(__('This homepage\'s URI is matched by one of the RegEx rules you have in <strong>"Settings"</strong> -&gt; <strong>"Plugin Usage Preferences"</strong> -&gt; <strong>"Do not load the plugin on certain pages"</strong>, thus %s is not loaded on that page and no CSS/JS are to be managed. If you wish to view the CSS/JS manager, please remove the matching RegEx rule and reload this page.', 'wp-asset-clean-up'), WPACU_PLUGIN_TITLE);
69
- ?>
70
- <p class="wpacu-warning"
71
- style="margin: 15px 0 0; padding: 10px; font-size: inherit; width: 99%;">
72
- <span style="color: red;"
73
- class="dashicons dashicons-info"></span> <?php echo $msg; ?>
74
- </p>
75
- <?php
76
  } else {
77
- $strAdminUrl = 'admin.php?page='.WPACU_PLUGIN_ID.'_assets_manager&wpacu_rand='.uniqid(time(), true);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
78
 
79
  if (array_key_exists('wpacu_manage_dash', $_GET) || array_key_exists('force_manage_dash', $_REQUEST)) { // For debugging purposes
80
  $strAdminUrl .= '&wpacu_manage_dash';
81
  }
82
 
83
  $wpacuAdminUrl = admin_url($strAdminUrl);
84
- ?>
 
 
85
  <form id="wpacu_dash_assets_manager_form" method="post" action="<?php echo $wpacuAdminUrl; ?>">
86
  <input type="hidden"
87
  name="wpacu_manage_home_page_assets"
88
  value="1" />
89
-
90
  <input type="hidden"
91
  id="wpacu_ajax_fetch_assets_list_dashboard_view"
92
  name="wpacu_ajax_fetch_assets_list_dashboard_view"
93
  value="1" />
94
-
95
  <p><span class="dashicons dashicons-admin-home"></span> <?php _e('Here you can unload files loaded on the home page. "Front page displays" (from "Settings" &#187; "Reading") is set to either "Your latest posts" (in "Settings" &#187; "Reading") OR a special layout (from a theme or plugin) was enabled.', 'wp-asset-clean-up'); ?> <?php echo sprintf(__('Changes will also apply to pages such as %s etc. in case the latest blog posts are paginated.', 'wp-asset-clean-up'), '<code>/page/2</code> <code>page/3</code>'); ?></p>
 
 
 
96
 
97
- <div id="wpacu_meta_box_content">
98
- <?php
99
- $wpacuLoadingSpinnerFetchAssets = '<img src="'.admin_url('images/spinner.gif').'" align="top" width="20" height="20" alt="" />';
100
- // "Select a retrieval way:" is set to "Direct" (default one) in "Plugin Usage Preferences" -> "Manage in the Dashboard"
101
- if ($data['wpacu_settings']['dom_get_type'] === 'direct') {
102
- $wpacuDefaultFetchListStepDefaultStatus = '<img src="'.admin_url('images/spinner.gif').'" align="top" width="20" height="20" alt="" />&nbsp; Please wait...';
103
- $wpacuDefaultFetchListStepCompletedStatus = '<span style="color: green;" class="dashicons dashicons-yes-alt"></span> Completed';
104
- ?>
105
- <div id="wpacu-list-step-default-status" style="display: none;"><?php echo $wpacuDefaultFetchListStepDefaultStatus; ?></div>
106
- <div id="wpacu-list-step-completed-status" style="display: none;"><?php echo $wpacuDefaultFetchListStepCompletedStatus; ?></div>
107
- <div>
108
- <ul class="wpacu_meta_box_content_fetch_steps">
109
- <li id="wpacu-fetch-list-step-1-wrap"><strong>Step 1</strong>: Fetch the assets from the home page... <span id="wpacu-fetch-list-step-1-status"><?php echo $wpacuDefaultFetchListStepDefaultStatus; ?></span></li>
110
- <li id="wpacu-fetch-list-step-2-wrap"><strong>Step 2</strong>: Build the list of the fetched assets and print it... <span id="wpacu-fetch-list-step-2-status"></span></li>
111
- </ul>
112
- </div>
113
- <?php
114
  } else {
115
- // "Select a retrieval way:" is set to "WP Remote Post" (one AJAX call) in "Plugin Usage Preferences" -> "Manage in the Dashboard"
116
- ?>
117
- <?php echo $wpacuLoadingSpinnerFetchAssets; ?>&nbsp;
118
- <?php _e('Retrieving the loaded scripts and styles for the home page. Please wait...', 'wp-asset-clean-up');
119
  }
120
- ?>
121
 
122
- <p><?php echo sprintf(
123
- __('If you believe fetching the page takes too long and the assets should have loaded by now, I suggest you go to "Settings", make sure "Manage in front-end" is checked and then %smanage the assets in the front-end%s.', 'wp-asset-clean-up'),
124
- '<a href="'.$data['site_url'].'#wpacu_wrap_assets">',
125
- '</a>'
126
- ); ?></p>
127
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
128
 
129
- <?php
130
- wp_nonce_field($data['nonce_action'], $data['nonce_name']);
131
- ?>
132
  <div id="wpacu-update-button-area" class="no-left-margin">
133
- <p class="submit"><input type="submit" name="submit" id="submit" class="hidden button button-primary" value="<?php esc_attr_e('Update', 'wp-asset-clean-up'); ?>"></p>
134
  <div id="wpacu-updating-settings" style="margin-left: 100px;">
135
  <img src="<?php echo admin_url('images/spinner.gif'); ?>" align="top" width="20" height="20" alt="" />
136
  </div>
137
  </div>
138
  </form>
139
- <?php
140
  }
24
  return; // stop here as the message about the restricted access has been printed
25
  }
26
 
27
+ $wpacuNoLoadInTargetPage = false;
28
+ $wpacuNoLoadInTargetPageOutput = '';
29
+
30
  $anyMetaBoxHidden = $data['wpacu_settings']['hide_assets_meta_box'] || $data['wpacu_settings']['hide_options_meta_box'];
31
 
32
  if ( $anyMetaBoxHidden ) {
52
  }
53
 
54
  if ($data['show_on_front'] === 'page' && $data['page_on_front']) {
55
+ /*
56
+ * Case 1: A "page" (post type) set as the homepage
57
+ */
58
  ?>
 
59
  <p><?php echo sprintf( __( 'To read more about creating a static front page in WordPress, %scheck the Codex%s.', 'wp-asset-clean-up' ), '<a target="_blank" href="https://codex.wordpress.org/Creating_a_Static_Front_Page">', '</a>' ); ?></p>
 
60
  <?php
61
  $data['is_homepage_tab'] = true;
62
  $data['post_id'] = $data['page_on_front'];
63
  $data['post_type'] = get_post_type($data['post_id']);
64
  do_action('wpacu_admin_notices');
65
  require_once __DIR__.'/_singular-page.php';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
66
  } else {
67
+ /*
68
+ * Case 2: Home as latest posts (default)
69
+ */
70
+ if (assetCleanUpHasNoLoadMatches($data['site_url'], true) === 'is_set_in_settings') { // Asset CleanUp Pro is set not to load for the front-page
71
+ $wpacuNoLoadInTargetPage = 'is_set_in_settings';
72
+ ob_start();
73
+ ?>
74
+ <p class="wpacu_verified">
75
+ <strong>Target URL:</strong> <a target="_blank" href="<?php echo $data['site_url']; ?>"><span><?php echo $data['site_url']; ?></span></a>
76
+ </p>
77
+ <?php
78
+ $msg = sprintf(__('This homepage\'s URI is matched by one of the RegEx rules you have in <strong>"Settings"</strong> -&gt; <strong>"Plugin Usage Preferences"</strong> -&gt; <strong>"Do not load the plugin on certain pages"</strong>, thus %s is not loaded on that page and no CSS/JS are to be managed. If you wish to view the CSS/JS manager, please remove the matching RegEx rule and reload this page.', 'wp-asset-clean-up'), WPACU_PLUGIN_TITLE);
79
+ ?>
80
+ <p class="wpacu-warning"
81
+ style="margin: 15px 0 0; padding: 10px; font-size: inherit; width: 99%;">
82
+ <span style="color: red;"
83
+ class="dashicons dashicons-info"></span> <?php echo $msg; ?>
84
+ </p>
85
+ <?php
86
+ $wpacuNoLoadInTargetPageOutput = ob_get_clean();
87
+ } elseif (assetCleanUpHasNoLoadMatches($data['site_url'], true) === 'is_set_in_page') {
88
+ $wpacuNoLoadInTargetPage = 'is_set_in_page';
89
+ ob_start();
90
+ ?>
91
+ <p class="wpacu_verified">
92
+ <strong>Target URL:</strong> <a target="_blank" href="<?php echo $data['site_url']; ?>"><span><?php echo $data['site_url']; ?></span></a>
93
+ </p>
94
+ <?php
95
+ $msg = sprintf(__('This homepage\'s URI is matched by the rule you have in the "Page Options", thus %s is not loaded on that page and no CSS/JS are to be managed. If you wish to view the CSS/JS manager, please uncheck the option and reload this page.', 'wp-asset-clean-up'), WPACU_PLUGIN_TITLE);
96
+ ?>
97
+ <p class="wpacu-warning"
98
+ style="margin: 15px 0 0; padding: 10px; font-size: inherit; width: 99%;">
99
+ <span style="color: red;"
100
+ class="dashicons dashicons-info"></span> <?php echo $msg; ?>
101
+ </p>
102
+ <?php
103
+ $wpacuNoLoadInTargetPageOutput = ob_get_clean();
104
+ }
105
+
106
+ $strAdminUrl = 'admin.php?page='.WPACU_PLUGIN_ID.'_assets_manager&wpacu_rand='.uniqid(time(), true);
107
 
108
  if (array_key_exists('wpacu_manage_dash', $_GET) || array_key_exists('force_manage_dash', $_REQUEST)) { // For debugging purposes
109
  $strAdminUrl .= '&wpacu_manage_dash';
110
  }
111
 
112
  $wpacuAdminUrl = admin_url($strAdminUrl);
113
+
114
+ do_action('wpacu_admin_notices');
115
+ ?>
116
  <form id="wpacu_dash_assets_manager_form" method="post" action="<?php echo $wpacuAdminUrl; ?>">
117
  <input type="hidden"
118
  name="wpacu_manage_home_page_assets"
119
  value="1" />
 
120
  <input type="hidden"
121
  id="wpacu_ajax_fetch_assets_list_dashboard_view"
122
  name="wpacu_ajax_fetch_assets_list_dashboard_view"
123
  value="1" />
 
124
  <p><span class="dashicons dashicons-admin-home"></span> <?php _e('Here you can unload files loaded on the home page. "Front page displays" (from "Settings" &#187; "Reading") is set to either "Your latest posts" (in "Settings" &#187; "Reading") OR a special layout (from a theme or plugin) was enabled.', 'wp-asset-clean-up'); ?> <?php echo sprintf(__('Changes will also apply to pages such as %s etc. in case the latest blog posts are paginated.', 'wp-asset-clean-up'), '<code>/page/2</code> <code>page/3</code>'); ?></p>
125
+ <?php
126
+ if ($wpacuNoLoadInTargetPage) {
127
+ echo $wpacuNoLoadInTargetPageOutput;
128
 
129
+ $data['show_page_options'] = true;
130
+
131
+ if ($data['post_id'] > 0) {
132
+ $pageOptionsType = 'post';
 
 
 
 
 
 
 
 
 
 
 
 
 
133
  } else {
134
+ $pageOptionsType = 'front_page';
 
 
 
135
  }
 
136
 
137
+ $data['page_options'] = \WpAssetCleanUp\MetaBoxes::getPageOptions($data['post_id'], $pageOptionsType);
138
+
139
+ $data['page_options_with_assets_manager_no_load'] = true;
140
+ include dirname(__DIR__).'/meta-box-loaded-assets/_page-options.php';
141
+ } else {
142
+ ?>
143
+ <div id="wpacu_meta_box_content">
144
+ <?php
145
+ $wpacuLoadingSpinnerFetchAssets = '<img src="'.admin_url('images/spinner.gif').'" align="top" width="20" height="20" alt="" />';
146
+ // "Select a retrieval way:" is set to "Direct" (default one) in "Plugin Usage Preferences" -> "Manage in the Dashboard"
147
+ if ($data['wpacu_settings']['dom_get_type'] === 'direct') {
148
+ $wpacuDefaultFetchListStepDefaultStatus = '<img src="'.admin_url('images/spinner.gif').'" align="top" width="20" height="20" alt="" />&nbsp; Please wait...';
149
+ $wpacuDefaultFetchListStepCompletedStatus = '<span style="color: green;" class="dashicons dashicons-yes-alt"></span> Completed';
150
+ ?>
151
+ <div id="wpacu-list-step-default-status" style="display: none;"><?php echo $wpacuDefaultFetchListStepDefaultStatus; ?></div>
152
+ <div id="wpacu-list-step-completed-status" style="display: none;"><?php echo $wpacuDefaultFetchListStepCompletedStatus; ?></div>
153
+ <div>
154
+ <ul class="wpacu_meta_box_content_fetch_steps">
155
+ <li id="wpacu-fetch-list-step-1-wrap"><strong>Step 1</strong>: Fetch the assets from the home page... <span id="wpacu-fetch-list-step-1-status"><?php echo $wpacuDefaultFetchListStepDefaultStatus; ?></span></li>
156
+ <li id="wpacu-fetch-list-step-2-wrap"><strong>Step 2</strong>: Build the list of the fetched assets and print it... <span id="wpacu-fetch-list-step-2-status"></span></li>
157
+ </ul>
158
+ </div>
159
+ <?php
160
+ } else {
161
+ // "Select a retrieval way:" is set to "WP Remote Post" (one AJAX call) in "Plugin Usage Preferences" -> "Manage in the Dashboard"
162
+ ?>
163
+ <?php echo $wpacuLoadingSpinnerFetchAssets; ?>&nbsp;
164
+ <?php _e('Retrieving the loaded scripts and styles for the home page. Please wait...', 'wp-asset-clean-up');
165
+ }
166
+ ?>
167
+
168
+ <p><?php echo sprintf(
169
+ __('If you believe fetching the page takes too long and the assets should have loaded by now, I suggest you go to "Settings", make sure "Manage in front-end" is checked and then %smanage the assets in the front-end%s.', 'wp-asset-clean-up'),
170
+ '<a href="'.$data['site_url'].'#wpacu_wrap_assets">',
171
+ '</a>'
172
+ ); ?></p>
173
+ </div>
174
+ <?php
175
+ }
176
 
177
+ wp_nonce_field($data['nonce_action'], $data['nonce_name']);
178
+ ?>
 
179
  <div id="wpacu-update-button-area" class="no-left-margin">
180
+ <p class="submit"><input type="submit" name="submit" id="submit" <?php if ($wpacuNoLoadInTargetPage) { echo 'style="display: inline-block;"'; } ?> class="hidden button button-primary" value="<?php esc_attr_e('Update', 'wp-asset-clean-up'); ?>"></p>
181
  <div id="wpacu-updating-settings" style="margin-left: 100px;">
182
  <img src="<?php echo admin_url('images/spinner.gif'); ?>" align="top" width="20" height="20" alt="" />
183
  </div>
184
  </div>
185
  </form>
186
+ <?php
187
  }
templates/_admin-pages-assets-manager/_singular-page.php CHANGED
@@ -8,16 +8,17 @@ if (! isset($data)) {
8
  ?>
9
  <div style="margin: 18px 0 0;" class="clearfix"></div>
10
  <?php
 
 
 
11
  if (isset($data['post_id']) && $data['post_id']) {
12
  $data['fetch_url'] = \WpAssetCleanUp\Misc::getPageUrl( $data['post_id'] );
13
  }
14
 
15
- if (assetCleanUpHasNoLoadMatches($data['fetch_url'])) { // Asset CleanUp Pro is set not to load for the front-page
16
- ?>
17
- <p class="wpacu_verified">
18
- <strong>Target URL:</strong> <a target="_blank" href="<?php echo $data['fetch_url']; ?>"><span><?php echo $data['fetch_url']; ?></span></a>
19
- </p>
20
- <?php
21
  $msg = sprintf(__('This page\'s URI is matched by one of the RegEx rules you have in <strong>"Settings"</strong> -&gt; <strong>"Plugin Usage Preferences"</strong> -&gt; <strong>"Do not load the plugin on certain pages"</strong>, thus %s is not loaded on that page and no CSS/JS are to be managed. If you wish to view the CSS/JS manager, please remove the matching RegEx rule and reload this page.', 'wp-asset-clean-up'), WPACU_PLUGIN_TITLE);
22
  ?>
23
  <p class="wpacu-warning"
@@ -26,103 +27,134 @@ if (assetCleanUpHasNoLoadMatches($data['fetch_url'])) { // Asset CleanUp Pro is
26
  class="dashicons dashicons-info"></span> <?php echo $msg; ?>
27
  </p>
28
  <?php
29
- } else {
30
- $strAdminUrl = 'admin.php?page='.WPACU_PLUGIN_ID.'_assets_manager&wpacu_for='.$data['for'];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31
 
32
- if ( $data['for'] !== 'homepage' && isset($data['post_id']) && $data['post_id'] ) {
33
- $strAdminUrl .= '&wpacu_post_id=' . $data['post_id'];
34
- }
35
 
36
- $strAdminUrl .= '&wpacu_rand='.uniqid(time(), true);
37
 
38
- if (array_key_exists('wpacu_manage_dash', $_GET) || array_key_exists('force_manage_dash', $_REQUEST)) { // For debugging purposes
39
- $strAdminUrl .= '&wpacu_manage_dash';
40
- }
41
 
42
- $wpacuAdminUrl = admin_url($strAdminUrl);
43
 
44
- // Show the search form on tabs such as "Posts", "Pages", "Custom Post Types"
45
- // Do not how it in the homepage (that was set to be a singular page) as it could confuse the admin
46
- if ( ! (isset($data['is_homepage_tab']) && $data['is_homepage_tab']) ) {
47
- require_once '_singular-page-search-form.php';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
48
  }
49
- ?>
50
- <form id="wpacu_dash_assets_manager_form" method="post" action="<?php echo $wpacuAdminUrl; ?>">
51
- <input type="hidden"
52
- id="wpacu_manage_singular_page_assets"
53
- name="wpacu_manage_singular_page_assets"
54
- value="1" />
55
-
56
- <input type="hidden"
57
- id="wpacu_manage_singular_page_id"
58
- name="wpacu_manage_singular_page_id"
59
- value="<?php echo $data['post_id']; ?>" />
60
-
61
- <input type="hidden"
62
- id="wpacu_ajax_fetch_assets_list_dashboard_view"
63
- name="wpacu_ajax_fetch_assets_list_dashboard_view"
64
- value="1" />
65
-
66
- <?php
67
- if (isset($data['post_type']) && $data['post_type']) {
68
- $postTypeObject = get_post_type_object( $data['post_type'] );
69
- $postTypeLabels = $postTypeObject->labels;
70
- $postName = $postTypeLabels->singular_name;
71
- }
72
 
73
- if (isset($data['is_homepage_tab']) && $data['is_homepage_tab']) {
74
- $pageUrlTitle = __('Homepage URL', 'wp-asset-clean-up');
75
- } else {
76
- $pageUrlTitle = __('Page URL', 'wp-asset-clean-up');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
77
  }
78
- ?>
79
- <div class="wpacu_verified">
80
- <strong><?php echo $pageUrlTitle; ?>:</strong> <a target="_blank" href="<?php echo $data['fetch_url']; ?>"><span><?php echo $data['fetch_url']; ?></span></a>
81
- | <strong><?php echo isset($postName) ? $postName : ''; ?> Title:</strong> <?php echo get_the_title($data['post_id']); ?> | <strong>Post ID:</strong> <?php echo $data['post_id']; ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
82
  </div>
 
 
83
 
84
- <div id="wpacu_meta_box_content">
85
- <?php
86
- $wpacuLoadingSpinnerFetchAssets = '<img src="'.admin_url('images/spinner.gif').'" align="top" width="20" height="20" alt="" />';
87
-
88
- // "Select a retrieval way:" is set to "Direct" (default one) in "Plugin Usage Preferences" -> "Manage in the Dashboard"
89
- if ($data['wpacu_settings']['dom_get_type'] === 'direct') {
90
- $wpacuDefaultFetchListStepDefaultStatus = '<img src="'.admin_url('images/spinner.gif').'" align="top" width="20" height="20" alt="" />&nbsp; Please wait...';
91
- $wpacuDefaultFetchListStepCompletedStatus = '<span style="color: green;" class="dashicons dashicons-yes-alt"></span> Completed';
92
- ?>
93
- <div id="wpacu-list-step-default-status" style="display: none;"><?php echo $wpacuDefaultFetchListStepDefaultStatus; ?></div>
94
- <div id="wpacu-list-step-completed-status" style="display: none;"><?php echo $wpacuDefaultFetchListStepCompletedStatus; ?></div>
95
- <div>
96
- <ul class="wpacu_meta_box_content_fetch_steps">
97
- <li id="wpacu-fetch-list-step-1-wrap"><strong>Step 1</strong>: Fetch the assets from the targeted page... <span id="wpacu-fetch-list-step-1-status"><?php echo $wpacuDefaultFetchListStepDefaultStatus; ?></span></li>
98
- <li id="wpacu-fetch-list-step-2-wrap"><strong>Step 2</strong>: Build the list of the fetched assets and print it... <span id="wpacu-fetch-list-step-2-status"></span></li>
99
- </ul>
100
- </div>
101
- <?php
102
- } else {
103
- // "Select a retrieval way:" is set to "WP Remote Post" (one AJAX call) in "Plugin Usage Preferences" -> "Manage in the Dashboard"
104
- ?>
105
- <?php echo $wpacuLoadingSpinnerFetchAssets; ?>&nbsp;
106
- <?php _e('Retrieving the loaded scripts and styles for the home page. Please wait...', 'wp-asset-clean-up');
107
- }
108
- ?>
109
-
110
- <p><?php echo sprintf(
111
- __('If you believe fetching the page takes too long and the assets should have loaded by now, I suggest you go to "Settings", make sure "Manage in front-end" is checked and then %smanage the assets in the front-end%s.', 'wp-asset-clean-up'),
112
- '<a href="'.$data['fetch_url'].'#wpacu_wrap_assets">',
113
- '</a>'
114
- ); ?></p>
115
- </div>
116
-
117
- <?php
118
- wp_nonce_field($data['nonce_action'], $data['nonce_name']);
119
- ?>
120
- <div id="wpacu-update-button-area" class="no-left-margin">
121
- <p class="submit"><input type="submit" name="submit" id="submit" class="hidden button button-primary" value="<?php esc_attr_e('Update', 'wp-asset-clean-up'); ?>"></p>
122
- <div id="wpacu-updating-settings" style="margin-left: 100px;">
123
- <img src="<?php echo admin_url('images/spinner.gif'); ?>" align="top" width="20" height="20" alt="" />
124
- </div>
125
- </div>
126
- </form>
127
- <?php
128
- }
8
  ?>
9
  <div style="margin: 18px 0 0;" class="clearfix"></div>
10
  <?php
11
+ $wpacuNoLoadInTargetPage = false;
12
+ $wpacuNoLoadInTargetPageOutput = '';
13
+
14
  if (isset($data['post_id']) && $data['post_id']) {
15
  $data['fetch_url'] = \WpAssetCleanUp\Misc::getPageUrl( $data['post_id'] );
16
  }
17
 
18
+ if (assetCleanUpHasNoLoadMatches($data['fetch_url'], true) === 'is_set_in_settings') { // Asset CleanUp Pro is set not to load for the front-page
19
+ $wpacuNoLoadInTargetPage = 'is_set_in_settings';
20
+
21
+ ob_start();
 
 
22
  $msg = sprintf(__('This page\'s URI is matched by one of the RegEx rules you have in <strong>"Settings"</strong> -&gt; <strong>"Plugin Usage Preferences"</strong> -&gt; <strong>"Do not load the plugin on certain pages"</strong>, thus %s is not loaded on that page and no CSS/JS are to be managed. If you wish to view the CSS/JS manager, please remove the matching RegEx rule and reload this page.', 'wp-asset-clean-up'), WPACU_PLUGIN_TITLE);
23
  ?>
24
  <p class="wpacu-warning"
27
  class="dashicons dashicons-info"></span> <?php echo $msg; ?>
28
  </p>
29
  <?php
30
+ $wpacuNoLoadInTargetPageOutput = ob_get_clean();
31
+ } elseif (assetCleanUpHasNoLoadMatches($data['fetch_url'], true) === 'is_set_in_page') { // Asset CleanUp Pro is set not to load for the front-page
32
+ $wpacuNoLoadInTargetPage = 'is_set_in_page';
33
+
34
+ ob_start();
35
+ $msg = sprintf(__('This page\'s URI is matched by the rule you have in the "Page Options", thus %s is not loaded on that page and no CSS/JS are to be managed. If you wish to view the CSS/JS manager, please uncheck the following option shown below: <em>"Do not load Asset CleanUp Pro on this page (this will disable any functionality of the plugin"</em>.', 'wp-asset-clean-up'), WPACU_PLUGIN_TITLE);
36
+ ?>
37
+ <p class="wpacu-warning"
38
+ style="margin: 15px 0 0; padding: 10px; font-size: inherit; width: 99%;">
39
+ <span style="color: red;"
40
+ class="dashicons dashicons-info"></span> <?php echo $msg; ?>
41
+ </p>
42
+ <?php
43
+ $wpacuNoLoadInTargetPageOutput = ob_get_clean();
44
+ }
45
+
46
+ $strAdminUrl = 'admin.php?page='.WPACU_PLUGIN_ID.'_assets_manager&wpacu_for='.$data['for'];
47
 
48
+ if ( $data['for'] !== 'homepage' && isset($data['post_id']) && $data['post_id'] ) {
49
+ $strAdminUrl .= '&wpacu_post_id=' . $data['post_id'];
50
+ }
51
 
52
+ $strAdminUrl .= '&wpacu_rand='.uniqid(time(), true);
53
 
54
+ if (array_key_exists('wpacu_manage_dash', $_GET) || array_key_exists('force_manage_dash', $_REQUEST)) { // For debugging purposes
55
+ $strAdminUrl .= '&wpacu_manage_dash';
56
+ }
57
 
58
+ $wpacuAdminUrl = admin_url($strAdminUrl);
59
 
60
+ // Show the search form on tabs such as "Posts", "Pages", "Custom Post Types"
61
+ // Do not how it in the homepage (that was set to be a singular page) as it could confuse the admin
62
+ if ( ! (isset($data['is_homepage_tab']) && $data['is_homepage_tab']) ) {
63
+ require_once '_singular-page-search-form.php';
64
+ }
65
+ ?>
66
+ <form id="wpacu_dash_assets_manager_form" method="post" action="<?php echo $wpacuAdminUrl; ?>">
67
+ <input type="hidden"
68
+ id="wpacu_manage_singular_page_assets"
69
+ name="wpacu_manage_singular_page_assets"
70
+ value="1" />
71
+
72
+ <input type="hidden"
73
+ id="wpacu_manage_singular_page_id"
74
+ name="wpacu_manage_singular_page_id"
75
+ value="<?php echo $data['post_id']; ?>" />
76
+
77
+ <input type="hidden"
78
+ id="wpacu_ajax_fetch_assets_list_dashboard_view"
79
+ name="wpacu_ajax_fetch_assets_list_dashboard_view"
80
+ value="1" />
81
+
82
+ <?php
83
+ if (isset($data['post_type']) && $data['post_type']) {
84
+ $postTypeObject = get_post_type_object( $data['post_type'] );
85
+ $postTypeLabels = $postTypeObject->labels;
86
+ $postName = $postTypeLabels->singular_name;
87
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
88
 
89
+ if (isset($data['is_homepage_tab']) && $data['is_homepage_tab']) {
90
+ $pageUrlTitle = __('Homepage URL', 'wp-asset-clean-up');
91
+ } else {
92
+ $pageUrlTitle = __('Page URL', 'wp-asset-clean-up');
93
+ }
94
+ ?>
95
+ <div class="wpacu_verified">
96
+ <strong><?php echo $pageUrlTitle; ?>:</strong> <a target="_blank" href="<?php echo $data['fetch_url']; ?>"><span><?php echo $data['fetch_url']; ?></span></a>
97
+ | <strong><?php echo isset($postName) ? $postName : ''; ?> Title:</strong> <?php echo get_the_title($data['post_id']); ?> | <strong>Post ID:</strong> <?php echo $data['post_id']; ?>
98
+ </div>
99
+
100
+ <?php
101
+ if ($wpacuNoLoadInTargetPage) {
102
+ echo $wpacuNoLoadInTargetPageOutput;
103
+
104
+ $data['show_page_options'] = true;
105
+
106
+ if ($data['post_id'] > 0) {
107
+ $pageOptionsType = 'post';
108
+ } elseif (isset($data['is_homepage_tab']) && $data['is_homepage_tab']) {
109
+ $pageOptionsType = 'front_page';
110
  }
111
+
112
+ $data['page_options'] = \WpAssetCleanUp\MetaBoxes::getPageOptions($data['post_id'], $pageOptionsType);
113
+ $data['page_options_with_assets_manager_no_load'] = true;
114
+ include dirname(__DIR__).'/meta-box-loaded-assets/_page-options.php';
115
+ } else {
116
+ ?>
117
+ <div id="wpacu_meta_box_content">
118
+ <?php
119
+ $wpacuLoadingSpinnerFetchAssets = '<img src="'.admin_url('images/spinner.gif').'" align="top" width="20" height="20" alt="" />';
120
+
121
+ // "Select a retrieval way:" is set to "Direct" (default one) in "Plugin Usage Preferences" -> "Manage in the Dashboard"
122
+ if ($data['wpacu_settings']['dom_get_type'] === 'direct') {
123
+ $wpacuDefaultFetchListStepDefaultStatus = '<img src="'.admin_url('images/spinner.gif').'" align="top" width="20" height="20" alt="" />&nbsp; Please wait...';
124
+ $wpacuDefaultFetchListStepCompletedStatus = '<span style="color: green;" class="dashicons dashicons-yes-alt"></span> Completed';
125
+ ?>
126
+ <div id="wpacu-list-step-default-status" style="display: none;"><?php echo $wpacuDefaultFetchListStepDefaultStatus; ?></div>
127
+ <div id="wpacu-list-step-completed-status" style="display: none;"><?php echo $wpacuDefaultFetchListStepCompletedStatus; ?></div>
128
+ <div>
129
+ <ul class="wpacu_meta_box_content_fetch_steps">
130
+ <li id="wpacu-fetch-list-step-1-wrap"><strong>Step 1</strong>: Fetch the assets from the targeted page... <span id="wpacu-fetch-list-step-1-status"><?php echo $wpacuDefaultFetchListStepDefaultStatus; ?></span></li>
131
+ <li id="wpacu-fetch-list-step-2-wrap"><strong>Step 2</strong>: Build the list of the fetched assets and print it... <span id="wpacu-fetch-list-step-2-status"></span></li>
132
+ </ul>
133
+ </div>
134
+ <?php
135
+ } else {
136
+ // "Select a retrieval way:" is set to "WP Remote Post" (one AJAX call) in "Plugin Usage Preferences" -> "Manage in the Dashboard"
137
+ ?>
138
+ <?php echo $wpacuLoadingSpinnerFetchAssets; ?>&nbsp;
139
+ <?php _e('Retrieving the loaded scripts and styles for the home page. Please wait...', 'wp-asset-clean-up');
140
+ }
141
+ ?>
142
+
143
+ <p><?php echo sprintf(
144
+ __('If you believe fetching the page takes too long and the assets should have loaded by now, I suggest you go to "Settings", make sure "Manage in front-end" is checked and then %smanage the assets in the front-end%s.', 'wp-asset-clean-up'),
145
+ '<a href="'.$data['fetch_url'].'#wpacu_wrap_assets">',
146
+ '</a>'
147
+ ); ?></p>
148
  </div>
149
+ <?php
150
+ }
151
 
152
+ wp_nonce_field($data['nonce_action'], $data['nonce_name']);
153
+ ?>
154
+ <div id="wpacu-update-button-area" class="no-left-margin">
155
+ <p class="submit"><input type="submit" name="submit" id="submit" <?php if ($wpacuNoLoadInTargetPage) { echo 'style="display: inline-block;"'; } ?> class="hidden button button-primary" value="<?php esc_attr_e('Update', 'wp-asset-clean-up'); ?>"></p>
156
+ <div id="wpacu-updating-settings" style="margin-left: 100px;">
157
+ <img src="<?php echo admin_url('images/spinner.gif'); ?>" align="top" width="20" height="20" alt="" />
158
+ </div>
159
+ </div>
160
+ </form>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
templates/admin-page-overview.php CHANGED
@@ -146,5 +146,79 @@ include_once '_top-area.php';
146
  <?php
147
  }
148
  ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
149
  </div>
150
  </div>
146
  <?php
147
  }
148
  ?>
149
+
150
+ <hr style="margin: 15px 0;"/>
151
+
152
+ <?php
153
+ $hasPostsWithOptions = isset($data['page_options_results']['posts']) && ! empty($data['page_options_results']['posts']);
154
+ $hasHomepageWithOptions = isset( $data['page_options_results']['homepage']['options'] ) && ! empty( $data['page_options_results']['homepage']['options'] );
155
+ $hasAtLeastOneRecord = $hasPostsWithOptions || $hasHomepageWithOptions;
156
+ ?>
157
+ <div id="wpacu-page-options-wrap">
158
+ <h3><span class="dashicons dashicons-admin-generic"></span> <?php _e('Page Options', 'wp-asset-clean-up'); ?></h3>
159
+ <div style="padding: 10px; background: white; border: 1px solid #ccd0d4; box-shadow: 0 1px 1px rgba(0,0,0,.04);">
160
+ <?php
161
+ if ($hasAtLeastOneRecord) {
162
+ ?>
163
+ <p>On the pages listed below, there are special options set. <a target="_blank" style="text-decoration: none;" href="https://www.assetcleanup.com/docs/?p=1318"><span class="dashicons dashicons-info"></span> Read more</a></p>
164
+ <table class="wp-list-table wpacu-list-table widefat plugins striped" style="margin: 10px 0 0; width: 100%;">
165
+ <?php
166
+ }
167
+
168
+ if ( $hasHomepageWithOptions ) {
169
+ $optionsForCurrentPage = array();
170
+
171
+ foreach ($data['page_options_results']['homepage']['options'] as $optionKey => $optionValue) {
172
+ if (isset($data['page_options_to_text'][$optionKey]) && $optionValue) {
173
+ $optionsForCurrentPage[] = $data['page_options_to_text'][$optionKey];
174
+ }
175
+ }
176
+ ?>
177
+ <tr>
178
+ <td><span class="dashicons dashicons-admin-home"></span> Homepage (e.g. latest posts)<br /><small><a target="_blank" href="<?php echo get_site_url(); ?>"><?php echo get_site_url(); ?></a></small></td>
179
+ <td><?php echo implode (', ', $optionsForCurrentPage); ?></td>
180
+ </tr>
181
+ <?php
182
+ }
183
+
184
+ if ( $hasPostsWithOptions ) {
185
+ foreach ($data['page_options_results']['posts'] as $results) { ?>
186
+ <tr>
187
+ <td><?php echo get_the_title($results['post_id']); ?> (ID: <?php echo $results['post_id']; ?>)<br /><small><a target="_blank" href="<?php echo get_permalink($results['post_id']); ?>"><?php echo get_permalink($results['post_id']); ?></a></small></td>
188
+ <td>
189
+ <?php
190
+ $optionsForCurrentPage = array();
191
+
192
+ foreach ($results['options'] as $optionKey => $optionValue) {
193
+ if ($optionKey === '_page_uri') {
194
+ // Hidden and irrelevant
195
+ continue;
196
+ }
197
+
198
+ if (isset($data['page_options_to_text'][$optionKey]) && $optionValue) {
199
+ $optionsForCurrentPage[] = $data['page_options_to_text'][$optionKey];
200
+ }
201
+ }
202
+
203
+ echo implode (', ', $optionsForCurrentPage);
204
+ ?>
205
+ </td>
206
+ </tr>
207
+ <?php
208
+ }
209
+ }
210
+
211
+ if ($hasAtLeastOneRecord) {
212
+ ?>
213
+ </table>
214
+ <?php
215
+ }
216
+ ?>
217
+
218
+ <?php if ( ! $hasAtLeastOneRecord ) { ?>
219
+ There are no special options set for any page. <a style="text-decoration: none;" target="_blank" href="https://www.assetcleanup.com/docs/?p=1318"><span class="dashicons dashicons-info"></span> Read more</a>
220
+ <?php } ?>
221
+ </div>
222
+ </div>
223
  </div>
224
  </div>
templates/meta-box-loaded-assets/_page-options-inner.php ADDED
@@ -0,0 +1,73 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if (! isset($data)) {
3
+ exit; // no direct access
4
+ }
5
+
6
+ $cssUlStyle = (isset($data['is_frontend_view']) && $data['is_frontend_view']) ? 'style="list-style: none; margin-left: 10px;";' : '';
7
+ ?>
8
+ <p>If you have reasons to prevent certain functionality of the plugin on this page, you can use the options below. For instance, you found out that combining CSS files on this page is not working well and you want to disable it. Moreover, if <?php echo WPACU_PLUGIN_TITLE; ?> is not working well for this page (e.g. it's in conflict with another plugin) and you want to avoid loading it, you can choose to do that as well.</p>
9
+ <ul id="wpacu-page-options-ul" <?php echo $cssUlStyle; ?>>
10
+ <li>
11
+ <label for="wpacu_page_options_no_css_minify">
12
+ <input type="checkbox"
13
+ <?php if (isset($data['page_options']['no_css_minify']) && $data['page_options']['no_css_minify']) { echo 'checked="checked"'; } ?>
14
+ id="wpacu_page_options_no_css_minify"
15
+ name="<?php echo WPACU_PLUGIN_ID; ?>_page_options[no_css_minify]"
16
+ value="1" />&nbsp;<?php _e('Do not minify CSS files on this page', 'wp-asset-clean-up'); ?>
17
+ </label>
18
+ </li>
19
+ <li>
20
+ <label for="wpacu_page_options_no_css_optimize">
21
+ <input type="checkbox"
22
+ <?php if (isset($data['page_options']['no_css_optimize']) && $data['page_options']['no_css_optimize']) { echo 'checked="checked"'; } ?>
23
+ id="wpacu_page_options_no_css_optimize"
24
+ name="<?php echo WPACU_PLUGIN_ID; ?>_page_options[no_css_optimize]"
25
+ value="1" />&nbsp;<?php _e('Do not combine CSS files on this page', 'wp-asset-clean-up'); ?>
26
+ </label>
27
+ </li>
28
+
29
+ <li>
30
+ <label for="wpacu_page_options_no_js_minify">
31
+ <input type="checkbox"
32
+ <?php if (isset($data['page_options']['no_js_minify']) && $data['page_options']['no_js_minify']) { echo 'checked="checked"'; } ?>
33
+ id="wpacu_page_options_no_js_minify"
34
+ name="<?php echo WPACU_PLUGIN_ID; ?>_page_options[no_js_minify]"
35
+ value="1" />&nbsp;<?php _e('Do not minify JS files on this page', 'wp-asset-clean-up'); ?>
36
+ </label>
37
+ </li>
38
+ <li>
39
+ <label for="wpacu_page_options_no_js_optimize">
40
+ <input type="checkbox"
41
+ <?php if (isset($data['page_options']['no_js_optimize']) && $data['page_options']['no_js_optimize']) { echo 'checked="checked"'; } ?>
42
+ id="wpacu_page_options_no_js_optimize"
43
+ name="<?php echo WPACU_PLUGIN_ID; ?>_page_options[no_js_optimize]"
44
+ value="1" />&nbsp;<?php _e('Do not combine JS files on this page', 'wp-asset-clean-up'); ?>
45
+ </label>
46
+ </li>
47
+
48
+ <li>
49
+ <label for="wpacu_page_options_no_assets_settings">
50
+ <input type="checkbox"
51
+ <?php if (isset($data['page_options']['no_assets_settings']) && $data['page_options']['no_assets_settings']) { echo 'checked="checked"'; } ?>
52
+ id="wpacu_page_options_no_assets_settings"
53
+ name="<?php echo WPACU_PLUGIN_ID; ?>_page_options[no_assets_settings]"
54
+ value="1" />&nbsp;<?php _e('Do not apply any front-end optimization on this page (this includes any changes related to CSS/JS files)', 'wp-asset-clean-up'); ?>
55
+ </label>
56
+ </li>
57
+
58
+ <li>
59
+ <label for="wpacu_page_options_no_wpacu_load">
60
+ <input type="checkbox"
61
+ <?php if (isset($data['page_options']['no_wpacu_load']) && $data['page_options']['no_wpacu_load']) { echo 'checked="checked"'; } ?>
62
+ id="wpacu_page_options_no_wpacu_load"
63
+ name="<?php echo WPACU_PLUGIN_ID; ?>_page_options[no_wpacu_load]"
64
+ value="1" />&nbsp;<?php echo sprintf(__('Do not load %s on this page (this will disable any functionality of the plugin)', 'wp-asset-clean-up'), WPACU_PLUGIN_TITLE); ?>
65
+ </label>
66
+ </li>
67
+ </ul>
68
+ <hr/>
69
+ <p style="margin-top: 10px;">
70
+ <strong><span style="color: #82878c;" class="dashicons dashicons-lightbulb"></span></strong>
71
+ <?php echo sprintf(__('If you are not sure how these options work, you can %sread more about them%s in the documentation.', 'wp-asset-clean-up'), '<a target="_blank" href="https://www.assetcleanup.com/docs/?p=1318">', '</a>'); ?>
72
+ </p>
73
+ <input type="hidden" name="wpacu_page_options_area_loaded" value="1" />
templates/meta-box-loaded-assets/_page-options.php ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if (! isset($data)) {
3
+ exit; // no direct access
4
+ }
5
+
6
+ if ( ! (isset($data['show_page_options']) && $data['show_page_options']) ) {
7
+ return;
8
+ }
9
+
10
+ // This one shows when there are matches for the targeted page in "Settings" -> "Plugin Usage Preferences" -> "Do not load the plugin on certain pages"
11
+ // or via "Do not load Asset CleanUp Pro on this page (this will disable any functionality of the plugin)"
12
+ if (isset($data['page_options_with_assets_manager_no_load']) && $data['page_options_with_assets_manager_no_load']) {
13
+ ?>
14
+ <style>
15
+ .wpacu-page-options a.wpacu-assets-collapsible {
16
+ cursor: default;
17
+ }
18
+ .wpacu-page-options a.wpacu-assets-collapsible.wpacu-assets-collapsible-active:after {
19
+ content: '';
20
+ }
21
+ </style>
22
+ <div class="wpacu-assets-collapsible-wrap wpacu-wrap-area wpacu-page-options">
23
+ <a class="wpacu-assets-collapsible wpacu-assets-collapsible-active" href="#wpacu-assets-collapsible-content-page-options">
24
+ <span class="dashicons dashicons-admin-generic"></span>&nbsp; Page Options
25
+ </a>
26
+ <div style="max-height: inherit;" class="wpacu-assets-collapsible-content wpacu-open">
27
+ <?php
28
+ include_once __DIR__.'/_page-options-inner.php';
29
+ ?>
30
+ <img style="display: none;"
31
+ class="wpacu-ajax-loader"
32
+ src="<?php echo WPACU_PLUGIN_URL; ?>/assets/icons/icon-ajax-loading-spinner.svg" alt="<?php echo __('Loading'); ?>..." />
33
+ </div>
34
+ </div>
35
+ <?php
36
+ // This shows along with the CSS & JS manager and it's expandable
37
+ } elseif (isset($listAreaStatus)) {
38
+ ?>
39
+ <div class="wpacu-assets-collapsible-wrap wpacu-wrap-area wpacu-page-options">
40
+ <a class="wpacu-assets-collapsible <?php if ($listAreaStatus !== 'contracted') { ?>wpacu-assets-collapsible-active<?php } ?>" href="#wpacu-assets-collapsible-content-page-options">
41
+ <span class="dashicons dashicons-admin-generic"></span>&nbsp; Page Options
42
+ </a>
43
+ <div style="max-height: inherit;" class="wpacu-assets-collapsible-content <?php if ($listAreaStatus !== 'contracted') { ?>wpacu-open<?php } ?>">
44
+ <?php
45
+ include_once __DIR__.'/_page-options-inner.php';
46
+ ?>
47
+ <img style="display: none;"
48
+ class="wpacu-ajax-loader"
49
+ src="<?php echo WPACU_PLUGIN_URL; ?>/assets/icons/icon-ajax-loading-spinner.svg" alt="<?php echo __('Loading'); ?>..." />
50
+ </div>
51
+ </div>
52
+ <?php
53
+ }
54
+ ?>
templates/meta-box-loaded-assets/view-all.php CHANGED
@@ -91,4 +91,6 @@ if ( isset( $data['all']['hardcoded'] ) && ! empty( $data['all']['hardcoded'] )
91
  * -----------------------------
92
  */
93
 
 
 
94
  include '_inline_js.php';
91
  * -----------------------------
92
  */
93
 
94
+ include_once __DIR__ . '/_page-options.php';
95
+
96
  include '_inline_js.php';
templates/meta-box-loaded-assets/view-by-loaded-unloaded.php CHANGED
@@ -146,4 +146,6 @@ if ( isset( $data['all']['hardcoded'] ) && ! empty( $data['all']['hardcoded'] )
146
  * ----------------------------
147
  */
148
 
 
 
149
  include '_inline_js.php';
146
  * ----------------------------
147
  */
148
 
149
+ include_once __DIR__ . '/_page-options.php';
150
+
151
  include '_inline_js.php';
templates/meta-box-loaded-assets/view-by-location.php CHANGED
@@ -318,4 +318,6 @@ $pluginsAreaStatus = $data['plugin_settings']['assets_list_layout_plugin_area_st
318
  * -----------------------
319
  */
320
 
 
 
321
  include '_inline_js.php';
318
  * -----------------------
319
  */
320
 
321
+ include_once __DIR__ . '/_page-options.php';
322
+
323
  include '_inline_js.php';
templates/meta-box-loaded-assets/view-by-parents.php CHANGED
@@ -133,10 +133,13 @@ if ( isset( $data['all']['hardcoded'] ) && ! empty( $data['all']['hardcoded'] )
133
  } elseif (isset($hardcodedManageAreaHtml, $data['is_frontend_view']) && $data['is_frontend_view']) {
134
  echo $hardcodedManageAreaHtml; // AJAX call from the front-end view
135
  }
 
136
  /*
137
  * --------------------------------------------
138
  * [END] BY EACH HANDLE STATUS (Parent or Not)
139
  * --------------------------------------------
140
  */
141
 
 
 
142
  include '_inline_js.php';
133
  } elseif (isset($hardcodedManageAreaHtml, $data['is_frontend_view']) && $data['is_frontend_view']) {
134
  echo $hardcodedManageAreaHtml; // AJAX call from the front-end view
135
  }
136
+
137
  /*
138
  * --------------------------------------------
139
  * [END] BY EACH HANDLE STATUS (Parent or Not)
140
  * --------------------------------------------
141
  */
142
 
143
+ include_once __DIR__ . '/_page-options.php';
144
+
145
  include '_inline_js.php';
templates/meta-box-loaded-assets/view-by-position.php CHANGED
@@ -134,4 +134,6 @@ if ( isset( $data['all']['hardcoded'] ) && ! empty( $data['all']['hardcoded'] )
134
  * -----------------------
135
  */
136
 
 
 
137
  include '_inline_js.php';
134
  * -----------------------
135
  */
136
 
137
+ include_once __DIR__ . '/_page-options.php';
138
+
139
  include '_inline_js.php';
templates/meta-box-loaded-assets/view-by-preload.php CHANGED
@@ -139,4 +139,6 @@ if ( isset( $data['all']['hardcoded'] ) && ! empty( $data['all']['hardcoded'] )
139
  * ------------------------------------
140
  */
141
 
 
 
142
  include '_inline_js.php';
139
  * ------------------------------------
140
  */
141
 
142
+ include_once __DIR__ . '/_page-options.php';
143
+
144
  include '_inline_js.php';
templates/meta-box-loaded-assets/view-by-rules.php CHANGED
@@ -138,5 +138,6 @@ if ( isset( $data['all']['hardcoded'] ) && ! empty( $data['all']['hardcoded'] )
138
  * [END] BY (ANY) RULES SET (yes or no)
139
  * -------------------------------------
140
  */
 
141
 
142
  include '_inline_js.php';
138
  * [END] BY (ANY) RULES SET (yes or no)
139
  * -------------------------------------
140
  */
141
+ include_once __DIR__ . '/_page-options.php';
142
 
143
  include '_inline_js.php';
templates/meta-box-loaded-assets/view-by-size.php CHANGED
@@ -149,4 +149,6 @@ if ( isset( $data['all']['hardcoded'] ) && ! empty( $data['all']['hardcoded'] )
149
  * ------------------------------------
150
  */
151
 
 
 
152
  include '_inline_js.php';
149
  * ------------------------------------
150
  */
151
 
152
+ include_once __DIR__ . '/_page-options.php';
153
+
154
  include '_inline_js.php';
templates/meta-box-loaded-assets/view-default.php CHANGED
@@ -146,6 +146,8 @@ if ( isset( $data['all']['hardcoded'] ) && ! empty( $data['all']['hardcoded'] )
146
  echo $hardcodedManageAreaHtml; // AJAX call from the front-end view
147
  }
148
 
 
 
149
  include '_inline_js.php';
150
  /*
151
  * -------------------
146
  echo $hardcodedManageAreaHtml; // AJAX call from the front-end view
147
  }
148
 
149
+ include_once __DIR__ . '/_page-options.php';
150
+
151
  include '_inline_js.php';
152
  /*
153
  * -------------------
templates/meta-box-restricted-page-load.php ADDED
@@ -0,0 +1,95 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if (! isset($data)) {
3
+ exit;
4
+ }
5
+ // This file can be loaded either via edit post/page from the Dashboard when the plugin is set to not load based on the matched URI
6
+ // or in the front-end view when "wpacu_ignore_no_load_option" query string is used (whenever "Manage in the front-end" is enabled)
7
+ ?>
8
+ <?php
9
+ if ($data['bulk_unloaded_type'] === 'post_type') {
10
+ $isWooPage = $iconShown = false;
11
+
12
+ if (
13
+ (function_exists('is_woocommerce') && is_woocommerce()) ||
14
+ (function_exists('is_cart') && is_cart()) ||
15
+ (function_exists('is_product_tag') && is_product_tag()) ||
16
+ (function_exists('is_product_category') && is_product_category()) ||
17
+ (function_exists('is_checkout') && is_checkout())
18
+ ) {
19
+ $isWooPage = true;
20
+ $iconShown = WPACU_PLUGIN_URL . '/assets/icons/woocommerce-icon-logo.svg';
21
+ }
22
+
23
+ if (! $iconShown) {
24
+ switch ( $data['post_type'] ) {
25
+ case 'post':
26
+ $dashIconPart = 'post';
27
+ break;
28
+ case 'page':
29
+ $dashIconPart = 'page';
30
+ break;
31
+ case 'attachment':
32
+ $dashIconPart = 'media';
33
+ break;
34
+ default:
35
+ $dashIconPart = 'post';
36
+ }
37
+ }
38
+ ?>
39
+ <p>
40
+ <?php if ($isWooPage) { ?>
41
+ <img src="<?php echo $iconShown; ?>" alt="" style="height: 40px !important; margin-top: -6px; margin-right: 5px;" align="middle" /> <strong>WooCommerce</strong>
42
+ <?php } ?>
43
+ <?php if (! $iconShown) { ?><span style="color: #0f6cab;" class="dashicons dashicons-admin-<?php echo $dashIconPart; ?>"></span> <?php } ?> <u><?php echo $data['post_type']; ?></u> <?php if ($data['post_type'] !== 'post') { echo 'post'; } ?> type.
44
+ </p>
45
+ <?php
46
+ }
47
+
48
+ if ($data['status'] === 5) {
49
+ ?>
50
+ <p class="wpacu_verified">
51
+ <strong>Page URL:</strong> <a target="_blank" href="<?php echo $data['fetch_url']; ?>"><span><?php echo $data['fetch_url']; ?></span></a>
52
+ </p>
53
+ <?php
54
+ $msg =__('This page\'s URL is matched by one of the RegEx rules you have in <strong>"Settings"</strong> -&gt; <strong>"Plugin Usage Preferences"</strong> -&gt; <strong>"Do not load the plugin on certain pages"</strong>, thus Asset CleanUp Pro is not loaded on that page and no CSS/JS are to be managed. If you wish to view the CSS/JS manager, please remove the matching RegEx rule and reload this page.', 'wp-asset-clean-up');
55
+ ?>
56
+ <p class="wpacu-warning"
57
+ style="margin: 15px 0 0; padding: 10px; font-size: inherit; width: 99%;">
58
+ <span style="color: red;"
59
+ class="dashicons dashicons-info"></span> <?php echo $msg; ?>
60
+ </p>
61
+ <?php
62
+ } elseif ($data['status'] === 6) {
63
+ ?>
64
+ <p class="wpacu_verified">
65
+ <strong>Page URL:</strong> <a target="_blank" href="<?php echo $data['fetch_url']; ?>"><span><?php echo $data['fetch_url']; ?></span></a>
66
+ </p>
67
+ <?php
68
+ $msg = sprintf(__('This page\'s URI is matched by the rule you have in the "Page Options", thus %s is not loaded on that page and no CSS/JS are to be managed. If you wish to view the CSS/JS manager, please uncheck the following option shown below: <em>"Do not load Asset CleanUp Pro on this page (this will disable any functionality of the plugin"</em>.', 'wp-asset-clean-up'), WPACU_PLUGIN_TITLE);
69
+ ?>
70
+ <p class="wpacu-warning"
71
+ style="margin: 15px 0 0; padding: 10px; font-size: inherit; width: 99%;">
72
+ <span style="color: red;"
73
+ class="dashicons dashicons-info"></span> <?php echo $msg; ?>
74
+ </p>
75
+
76
+ <?php
77
+ if (array_key_exists('wpacu_ignore_no_load_option', $_GET)) {
78
+ ?>
79
+ <p style="color: #cc0000;"><strong>Note:</strong> You have enabled the following option which is meant to prevent the plugin from loading on this page: <em>"Do not load Asset CleanUp Pro on this page (this will disable any functionality of the plugin)"</em>. To help you manage the assets in the front-end view, for your convenience, the query string "<em>&amp;wpacu_ignore_no_load_option</em>" has been added to the URL (after the settings were saved) which bypasses the inactivation of Asset CleanUp Pro.</small></p>
80
+ <?php
81
+ }
82
+ ?>
83
+ <?php
84
+ }
85
+ $data['show_page_options'] = true;
86
+
87
+ if ($data['post_id'] > 0) {
88
+ $data['page_options'] = \WpAssetCleanUp\MetaBoxes::getPageOptions( $data['post_id'] );
89
+ } elseif (isset($data['wpacu_type']) && $data['wpacu_type'] === 'front_page') {
90
+ $data['page_options'] = \WpAssetCleanUp\MetaBoxes::getPageOptions( 0, 'front_page' );
91
+ }
92
+
93
+ $data['page_options_with_assets_manager_no_load'] = true;
94
+
95
+ include __DIR__.'/meta-box-loaded-assets/_page-options.php';
templates/meta-box-side-page-options.php CHANGED
@@ -62,4 +62,4 @@ if (! isset($data)) {
62
  <?php _e('Use the "Preview" button if you wish to see how the options above, as well as the load/unload rules will apply before updating anything. It works like the "Test Mode" feature for this page only.', 'wp-asset-clean-up'); ?>
63
  </p>
64
  </div>
65
- <input type="hidden" name="wpacu_meta_box_page_options_loaded" value="1" />
62
  <?php _e('Use the "Preview" button if you wish to see how the options above, as well as the load/unload rules will apply before updating anything. It works like the "Test Mode" feature for this page only.', 'wp-asset-clean-up'); ?>
63
  </p>
64
  </div>
65
+ <input type="hidden" name="wpacu_page_options_area_loaded" value="1" />
templates/meta-box.php CHANGED
@@ -74,20 +74,25 @@ if ($data['is_list_fetchable']) {
74
  ?>
75
  </p>
76
  <?php
77
- } elseif ($data['status'] === 5) {
78
- ?>
79
- <p class="wpacu_verified">
80
- <strong>Page URL:</strong> <a target="_blank" href="<?php echo $data['fetch_url']; ?>"><span><?php echo $data['fetch_url']; ?></span></a>
81
- </p>
82
- <?php
83
- $msg =__('This page\'s URL is matched by one of the RegEx rules you have in <strong>"Settings"</strong> -&gt; <strong>"Plugin Usage Preferences"</strong> -&gt; <strong>"Do not load the plugin on certain pages"</strong>, thus Asset CleanUp is not loaded on that page and no CSS/JS are to be managed. If you wish to view the CSS/JS manager, please remove the matching RegEx rule and reload this page.', 'wp-asset-clean-up');
84
- ?>
85
- <p class="wpacu-warning"
86
- style="margin: 15px 0 0; padding: 10px; font-size: inherit; width: 99%;">
87
- <span style="color: red;"
88
- class="dashicons dashicons-info"></span> <?php echo $msg; ?>
89
- </p>
90
- <?php
 
 
 
 
 
91
  }
92
  ?>
93
  </div>
74
  ?>
75
  </p>
76
  <?php
77
+ }
78
+
79
+ if (in_array($data['status'], array(5, 6))) {
80
+ $data['show_page_options'] = true;
81
+
82
+ $post = get_post($data['post_id']);
83
+
84
+ // Current Post Type
85
+ $data['post_type'] = $post->post_type;
86
+
87
+ $data['bulk_unloaded_type'] = 'post_type';
88
+ $data['is_bulk_unloadable'] = true;
89
+
90
+ $data = $this->setPageTemplate($data);
91
+
92
+ $data['page_options'] = \WpAssetCleanUp\MetaBoxes::getPageOptions($data['post_id']);
93
+ $data['page_options_with_assets_manager_no_load'] = true;
94
+
95
+ include __DIR__.'/meta-box-restricted-page-load.php';
96
  }
97
  ?>
98
  </div>
templates/settings-frontend.php CHANGED
@@ -74,7 +74,14 @@ if (! isset($data)) {
74
  <?php
75
  }
76
 
77
- require_once 'meta-box-loaded.php';
 
 
 
 
 
 
 
78
  } else {
79
  // Category, Tag, Search, 404, Author, Date pages (not supported by Lite version)
80
  $contentUnlockFeature = ' <p class="pro-page-unlock-notice">'.__('To unlock this feature, you can upgrade to the Pro version.', 'wp-asset-clean-up').'</p>';
74
  <?php
75
  }
76
 
77
+ // Perhaps "Do not load Asset CleanUp on this page (this will disable any functionality of the plugin)" is set for this page
78
+ // Or it's matched from "Settings" -> "Plugin Usage Preferences" -> "Do not load the plugin on certain pages"
79
+ if (isset($data['status']) && in_array($data['status'], array(5, 6)) && in_array($data['wpacu_type'], array('post', 'front_page'))) {
80
+ $data['page_options_with_assets_manager_no_load'] = true;
81
+ include __DIR__.'/meta-box-restricted-page-load.php';
82
+ } else {
83
+ require_once 'meta-box-loaded.php';
84
+ }
85
  } else {
86
  // Category, Tag, Search, 404, Author, Date pages (not supported by Lite version)
87
  $contentUnlockFeature = ' <p class="pro-page-unlock-notice">'.__('To unlock this feature, you can upgrade to the Pro version.', 'wp-asset-clean-up').'</p>';
wpacu.php CHANGED
@@ -2,7 +2,7 @@
2
  /*
3
  * Plugin Name: Asset CleanUp: Page Speed Booster
4
  * Plugin URI: https://wordpress.org/plugins/wp-asset-clean-up/
5
- * Version: 1.3.7.9
6
  * Description: Unload Chosen Scripts & Styles from Posts/Pages to reduce HTTP Requests, Combine/Minify CSS/JS files
7
  * Author: Gabe Livan
8
  * Author URI: http://gabelivan.com/
@@ -27,7 +27,7 @@ if ( (defined('WPACU_PRO_NO_LITE_NEEDED') && WPACU_PRO_NO_LITE_NEEDED !== false
27
 
28
  // Is the Pro version triggered before the Lite one and are both plugins active?
29
  if (! defined('WPACU_PLUGIN_VERSION')) {
30
- define('WPACU_PLUGIN_VERSION', '1.3.7.9');
31
  }
32
 
33
  // Exit if accessed directly
@@ -116,7 +116,7 @@ if (WPACU_GET_LOADED_ASSETS_ACTION === true || ! is_admin()) {
116
  add_action('parse_query', static function() { // very early triggering to set WPACU_ALL_ACTIVE_PLUGINS_LOADED
117
  if (defined('WPACU_ALL_ACTIVE_PLUGINS_LOADED')) { return; } // only trigger it once in this action
118
  define('WPACU_ALL_ACTIVE_PLUGINS_LOADED', true);
119
- \WpAssetCleanUp\Plugin::preventAnyFrontendOptimization();
120
  }, 1);
121
 
122
  require_once WPACU_PLUGIN_DIR . '/vendor/autoload.php';
2
  /*
3
  * Plugin Name: Asset CleanUp: Page Speed Booster
4
  * Plugin URI: https://wordpress.org/plugins/wp-asset-clean-up/
5
+ * Version: 1.3.8.0
6
  * Description: Unload Chosen Scripts & Styles from Posts/Pages to reduce HTTP Requests, Combine/Minify CSS/JS files
7
  * Author: Gabe Livan
8
  * Author URI: http://gabelivan.com/
27
 
28
  // Is the Pro version triggered before the Lite one and are both plugins active?
29
  if (! defined('WPACU_PLUGIN_VERSION')) {
30
+ define('WPACU_PLUGIN_VERSION', '1.3.8.0');
31
  }
32
 
33
  // Exit if accessed directly
116
  add_action('parse_query', static function() { // very early triggering to set WPACU_ALL_ACTIVE_PLUGINS_LOADED
117
  if (defined('WPACU_ALL_ACTIVE_PLUGINS_LOADED')) { return; } // only trigger it once in this action
118
  define('WPACU_ALL_ACTIVE_PLUGINS_LOADED', true);
119
+ \WpAssetCleanUp\Plugin::preventAnyFrontendOptimization('parse_query');
120
  }, 1);
121
 
122
  require_once WPACU_PLUGIN_DIR . '/vendor/autoload.php';