{ "name": "wp-media/wp-rocket", "description": "Performance optimization plugin for WordPress", "keywords": [ "wordpress", "cache", "minification", "lazyload" ], "homepage": "https://wp-rocket.me", "license": "GPL-2.0-or-later", "authors": [ { "name": "WP Media", "email": "contact@wp-media.me", "homepage": "https://wp-media.me" } ], "type": "wordpress-plugin", "config": { "sort-packages": true, "preferred-install": { "wp-media/phpunit": "source" }, "process-timeout": 0, "allow-plugins": { "mnsami/composer-custom-directory-installer": true, "dealerdirect/phpcodesniffer-composer-installer": true } }, "support": { "issues": "https://github.com/wp-media/wp-rocket/issues", "source": "https://github.com/wp-media/wp-rocket" }, "repositories": [ { "type": "composer", "url": "https://wpackagist.org" } ], "require": { "php": ">=7.3", "cloudflare/cf-ip-rewrite": "^1.0", "monolog/monolog": "^1.0 || ^2.0" }, "require-dev": { "php": "^7 || ^8", "brain/monkey": "^2.0", "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", "league/container": "^3.3", "mikey179/vfsstream": "1.6.11", "mnsami/composer-custom-directory-installer": "^2.0", "mobiledetect/mobiledetectlib": "^2.8", "phpcompatibility/phpcompatibility-wp": "^2.0", "phpstan/phpstan": "^1.8", "phpunit/phpunit": "^7.5 || ^8 || ^9", "psr/container": "1.0.0", "roave/security-advisories": "dev-master", "szepeviktor/phpstan-wordpress": "^1.3", "woocommerce/action-scheduler": "^3.4", "wp-coding-standards/wpcs": "^2", "wp-media/background-processing": "^1.3", "wp-media/phpunit": "^3", "wp-media/rocket-lazyload-common": "^3.0.11", "wp-media/wp-imagify-partner": "^1.0", "wpackagist-plugin/amp": "^1.1.4", "wpackagist-plugin/hummingbird-performance": "2.0.1", "wpackagist-plugin/jetpack": "9.3.2", "wpackagist-plugin/pdf-embedder": "^4.6", "wpackagist-plugin/simple-custom-css": "^4.0.3", "wpackagist-plugin/spinupwp": "^1.1", "wpackagist-plugin/woocommerce": "^7", "wpackagist-plugin/wp-smushit": "^3" }, "autoload": { "classmap": [ "inc/classes", "inc/vendors/classes", "inc/deprecated" ], "exclude-from-classmap": [ "inc/vendors/classes/class-rocket-mobile-detect.php", "inc/classes/class-wp-rocket-requirements-check.php" ], "psr-4": { "WP_Rocket\\": "inc/", "WPMedia\\Cloudflare\\": "inc/Addon/Cloudflare/" } }, "autoload-dev": { "psr-4": { "WP_Rocket\\Tests\\": "tests/" } }, "extra": { "installer-paths": { "./inc/Dependencies/ActionScheduler/": ["woocommerce/action-scheduler"], "vendor/{$vendor}/{$name}/": ["type:wordpress-plugin"] }, "mozart": { "dep_namespace": "WP_Rocket\\Dependencies\\", "dep_directory": "/inc/Dependencies/", "classmap_directory": "/inc/classes/dependencies/", "classmap_prefix": "WP_Rocket_", "packages": [ "mobiledetect/mobiledetectlib", "wp-media/background-processing", "wp-media/rocket-lazyload-common", "wp-media/wp-imagify-partner", "league/container" ] } }, "scripts": { "test-unit": "\"vendor/bin/phpunit\" --testsuite unit --colors=always --configuration tests/Unit/phpunit.xml.dist", "test-integration": "\"vendor/bin/phpunit\" --testsuite integration --colors=always --configuration tests/Integration/phpunit.xml.dist --exclude-group AdminOnly,BeaverBuilder,Elementor,Hummingbird,WithSmush,WithWoo,WithAmp,WithAmpAndCloudflare,WithSCCSS,Cloudways,Dreampress,Cloudflare,CloudflareAdmin,Multisite,WPEngine,SpinUpWP,WordPressCom,O2Switch,PDFEmbedder,PDFEmbedderPremium,PDFEmbedderSecure,Godaddy,LiteSpeed,RevolutionSlider,WordFence,ConvertPlug,Kinsta,Jetpack,RankMathSEO,AllInOneSeoPack,SEOPress,TheSEOFramework,OneCom,RocketLazyLoad,WPXCloud,TheEventsCalendar,Perfmatters,RapidLoad,ProIsp,TranslatePress,WPGeotargeting", "test-integration-adminonly": "\"vendor/bin/phpunit\" --testsuite integration --colors=always --configuration tests/Integration/phpunit.xml.dist --group AdminOnly", "test-integration-bb": "\"vendor/bin/phpunit\" --testsuite integration --colors=always --configuration tests/Integration/phpunit.xml.dist --group BeaverBuilder", "test-integration-cloudflare": "\"vendor/bin/phpunit\" --testsuite integration --colors=always --configuration tests/Integration/phpunit.xml.dist --group Cloudflare", "test-integration-cloudflareadmin": "\"vendor/bin/phpunit\" --testsuite integration --colors=always --configuration tests/Integration/phpunit.xml.dist --group CloudflareAdmin", "test-integration-cloudways": "\"vendor/bin/phpunit\" --testsuite integration --colors=always --configuration tests/Integration/phpunit.xml.dist --group Cloudways", "test-integration-elementor": "\"vendor/bin/phpunit\" --testsuite integration --colors=always --configuration tests/Integration/phpunit.xml.dist --group Elementor", "test-integration-hummingbird": "\"vendor/bin/phpunit\" --testsuite integration --colors=always --configuration tests/Integration/phpunit.xml.dist --group Hummingbird", "test-integration-multisite": "\"vendor/bin/phpunit\" --testsuite integration --colors=always --configuration tests/Integration/phpunit.xml.dist --group Multisite", "test-integration-withsmush": "\"vendor/bin/phpunit\" --testsuite integration --colors=always --configuration tests/Integration/phpunit.xml.dist --group WithSmush", "test-integration-withamp": "\"vendor/bin/phpunit\" --testsuite integration --colors=always --configuration tests/Integration/phpunit.xml.dist --group WithAmp", "test-integration-withampcloudflare": "\"vendor/bin/phpunit\" --testsuite integration --colors=always --configuration tests/Integration/phpunit.xml.dist --group WithAmpAndCloudflare", "test-integration-withsccss": "\"vendor/bin/phpunit\" --testsuite integration --colors=always --configuration tests/Integration/phpunit.xml.dist --group WithSCCSS", "test-integration-withwoo": "\"vendor/bin/phpunit\" --testsuite integration --colors=always --configuration tests/Integration/phpunit.xml.dist --group WithWoo", "test-integration-wpengine": "\"vendor/bin/phpunit\" --testsuite integration --colors=always --configuration tests/Integration/phpunit.xml.dist --group WPEngine", "test-integration-spinupwp": "\"vendor/bin/phpunit\" --testsuite integration --colors=always --configuration tests/Integration/phpunit.xml.dist --group SpinUpWP", "test-integration-wpcom": "\"vendor/bin/phpunit\" --testsuite integration --colors=always --configuration tests/Integration/phpunit.xml.dist --group WordPressCom", "test-integration-pdfembedder": "\"vendor/bin/phpunit\" --testsuite integration --colors=always --configuration tests/Integration/phpunit.xml.dist --group PDFEmbedder", "test-integration-pdfembedderpremium": "\"vendor/bin/phpunit\" --testsuite integration --colors=always --configuration tests/Integration/phpunit.xml.dist --group PDFEmbedderPremium", "test-integration-pdfembeddersecure": "\"vendor/bin/phpunit\" --testsuite integration --colors=always --configuration tests/Integration/phpunit.xml.dist --group PDFEmbedderSecure", "test-integration-o2switch": "\"vendor/bin/phpunit\" --testsuite integration --colors=always --configuration tests/Integration/phpunit.xml.dist --group O2Switch", "test-integration-dreampress": "\"vendor/bin/phpunit\" --testsuite integration --colors=always --configuration tests/Integration/phpunit.xml.dist --group Dreampress", "test-integration-godaddy": "\"vendor/bin/phpunit\" --testsuite integration --colors=always --configuration tests/Integration/phpunit.xml.dist --group Godaddy", "test-integration-revolutionslider": "\"vendor/bin/phpunit\" --testsuite integration --colors=always --configuration tests/Integration/phpunit.xml.dist --group RevolutionSlider", "test-integration-litespeed": "\"vendor/bin/phpunit\" --testsuite integration --colors=always --configuration tests/Integration/phpunit.xml.dist --group LiteSpeed", "test-integration-wordfence": "\"vendor/bin/phpunit\" --testsuite integration --colors=always --configuration tests/Integration/phpunit.xml.dist --group WordFence", "test-integration-kinsta": "\"vendor/bin/phpunit\" --testsuite integration --colors=always --configuration tests/Integration/phpunit.xml.dist --group Kinsta", "test-integration-convertplug": "\"vendor/bin/phpunit\" --testsuite integration --colors=always --configuration tests/Integration/phpunit.xml.dist --group ConvertPlug", "test-integration-onecom": "\"vendor/bin/phpunit\" --testsuite integration --colors=always --configuration tests/Integration/phpunit.xml.dist --group OneCom", "test-integration-jetpack": "\"vendor/bin/phpunit\" --testsuite integration --colors=always --configuration tests/Integration/phpunit.xml.dist --group Jetpack", "test-integration-rank-math-seo": "\"vendor/bin/phpunit\" --testsuite integration --colors=always --configuration tests/Integration/phpunit.xml.dist --group RankMathSEO", "test-integration-all-in-seo-pack": "\"vendor/bin/phpunit\" --testsuite integration --colors=always --configuration tests/Integration/phpunit.xml.dist --group AllInOneSeoPack", "test-integration-seopress": "\"vendor/bin/phpunit\" --testsuite integration --colors=always --configuration tests/Integration/phpunit.xml.dist --group SEOPress", "test-integration-the-seo-framework": "\"vendor/bin/phpunit\" --testsuite integration --colors=always --configuration tests/Integration/phpunit.xml.dist --group TheSEOFramework", "test-integration-rocket-lazy-load": "\"vendor/bin/phpunit\" --testsuite integration --colors=always --configuration tests/Integration/phpunit.xml.dist --group RocketLazyLoad", "test-integration-the-events-calendar": "\"vendor/bin/phpunit\" --testsuite integration --colors=always --configuration tests/Integration/phpunit.xml.dist --group TheEventsCalendar", "test-integration-wpxcloud": "\"vendor/bin/phpunit\" --testsuite integration --colors=always --configuration tests/Integration/phpunit.xml.dist --group WPXCloud", "test-integration-perfmatters": "\"vendor/bin/phpunit\" --testsuite integration --colors=always --configuration tests/Integration/phpunit.xml.dist --group Perfmatters", "test-integration-rapidload": "\"vendor/bin/phpunit\" --testsuite integration --colors=always --configuration tests/Integration/phpunit.xml.dist --group RapidLoad", "test-integration-proisp": "\"vendor/bin/phpunit\" --testsuite integration --colors=always --configuration tests/Integration/phpunit.xml.dist --group ProIsp", "test-integration-wp-geotargeting": "\"vendor/bin/phpunit\" --testsuite integration --colors=always --configuration tests/Integration/phpunit.xml.dist --group WPGeotargeting", "test-integration-translatepress": "\"vendor/bin/phpunit\" --testsuite integration --colors=always --configuration tests/Integration/phpunit.xml.dist --group TranslatePress", "run-tests": [ "@test-unit", "@test-integration", "@test-integration-adminonly", "@test-integration-cloudflare", "@test-integration-cloudflareadmin", "@test-integration-bb", "@test-integration-elementor", "@test-integration-hummingbird", "@test-integration-withamp", "@test-integration-withampcloudflare", "@test-integration-withsccss", "@test-integration-withsmush", "@test-integration-withwoo", "@test-integration-pdfembedder", "@test-integration-pdfembedderpremium", "@test-integration-pdfembeddersecure", "@test-integration-multisite", "@test-integration-cloudways", "@test-integration-wpengine", "@test-integration-spinupwp", "@test-integration-wpcom", "@test-integration-o2switch", "@test-integration-dreampress", "@test-integration-godaddy", "@test-integration-revolutionslider", "@test-integration-litespeed", "@test-integration-wordfence", "@test-integration-kinsta", "@test-integration-convertplug", "@test-integration-onecom", "@test-integration-jetpack", "@test-integration-rank-math-seo", "@test-integration-all-in-seo-pack", "@test-integration-seopress", "@test-integration-the-events-calendar", "@test-integration-wpxcloud", "@test-integration-perfmatters", "@test-integration-rapidload", "@test-integration-proisp", "@test-integration-wp-geotargeting", "@test-integration-translatepress" ], "run-stan": "vendor/bin/phpstan analyze --memory-limit=2G --no-progress", "install-codestandards": "Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\Plugin::run", "phpcs": "phpcs --basepath=.", "phpcs-changed": "./bin/phpcs-changed.sh", "phpcs:fix": "phpcbf", "post-install-cmd": [ "\"vendor/bin/mozart\" compose", "composer dump-autoload" ], "post-update-cmd": [ "\"vendor/bin/mozart\" compose", "composer dump-autoload" ], "code-coverage": "\"vendor/bin/phpunit\" --testsuite unit --colors=always --configuration tests/Unit/phpunit.xml.dist --coverage-clover=tests/report/coverage.clover" } } /*! elementor - v0.7.1 - 18-08-2016 */ // Backbone.Radio v1.0.4 (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('underscore'), require('backbone')) : typeof define === 'function' && define.amd ? define(['underscore', 'backbone'], factory) : (global.Backbone = global.Backbone || {}, global.Backbone.Radio = factory(global._,global.Backbone)); }(this, function (_,Backbone) { 'use strict'; _ = 'default' in _ ? _['default'] : _; Backbone = 'default' in Backbone ? Backbone['default'] : Backbone; var babelHelpers = {}; babelHelpers.typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; babelHelpers; var previousRadio = Backbone.Radio; var Radio = Backbone.Radio = {}; Radio.VERSION = '1.0.4'; // This allows you to run multiple instances of Radio on the same // webapp. After loading the new version, call `noConflict()` to // get a reference to it. At the same time the old version will be // returned to Backbone.Radio. Radio.noConflict = function () { Backbone.Radio = previousRadio; return this; }; // Whether or not we're in DEBUG mode or not. DEBUG mode helps you // get around the issues of lack of warnings when events are mis-typed. Radio.DEBUG = false; // Format debug text. Radio._debugText = function (warning, eventName, channelName) { return warning + (channelName ? ' on the ' + channelName + ' channel' : '') + ': "' + eventName + '"'; }; // This is the method that's called when an unregistered event was called. // By default, it logs warning to the console. By overriding this you could // make it throw an Error, for instance. This would make firing a nonexistent event // have the same consequence as firing a nonexistent method on an Object. Radio.debugLog = function (warning, eventName, channelName) { if (Radio.DEBUG && console && console.warn) { console.warn(Radio._debugText(warning, eventName, channelName)); } }; var eventSplitter = /\s+/; // An internal method used to handle Radio's method overloading for Requests. // It's borrowed from Backbone.Events. It differs from Backbone's overload // API (which is used in Backbone.Events) in that it doesn't support space-separated // event names. Radio._eventsApi = function (obj, action, name, rest) { if (!name) { return false; } var results = {}; // Handle event maps. if ((typeof name === 'undefined' ? 'undefined' : babelHelpers.typeof(name)) === 'object') { for (var key in name) { var result = obj[action].apply(obj, [key, name[key]].concat(rest)); eventSplitter.test(key) ? _.extend(results, result) : results[key] = result; } return results; } // Handle space separated event names. if (eventSplitter.test(name)) { var names = name.split(eventSplitter); for (var i = 0, l = names.length; i < l; i++) { results[names[i]] = obj[action].apply(obj, [names[i]].concat(rest)); } return results; } return false; }; // An optimized way to execute callbacks. Radio._callHandler = function (callback, context, args) { var a1 = args[0], a2 = args[1], a3 = args[2]; switch (args.length) { case 0: return callback.call(context); case 1: return callback.call(context, a1); case 2: return callback.call(context, a1, a2); case 3: return callback.call(context, a1, a2, a3); default: return callback.apply(context, args); } }; // A helper used by `off` methods to the handler from the store function removeHandler(store, name, callback, context) { var event = store[name]; if ((!callback || callback === event.callback || callback === event.callback._callback) && (!context || context === event.context)) { delete store[name]; return true; } } function removeHandlers(store, name, callback, context) { store || (store = {}); var names = name ? [name] : _.keys(store); var matched = false; for (var i = 0, length = names.length; i < length; i++) { name = names[i]; // If there's no event by this name, log it and continue // with the loop if (!store[name]) { continue; } if (removeHandler(store, name, callback, context)) { matched = true; } } return matched; } /* * tune-in * ------- * Get console logs of a channel's activity * */ var _logs = {}; // This is to produce an identical function in both tuneIn and tuneOut, // so that Backbone.Events unregisters it. function _partial(channelName) { return _logs[channelName] || (_logs[channelName] = _.partial(Radio.log, channelName)); } _.extend(Radio, { // Log information about the channel and event log: function log(channelName, eventName) { if (typeof console === 'undefined') { return; } var args = _.drop(arguments, 2); console.log('[' + channelName + '] "' + eventName + '"', args); }, // Logs all events on this channel to the console. It sets an // internal value on the channel telling it we're listening, // then sets a listener on the Backbone.Events tuneIn: function tuneIn(channelName) { var channel = Radio.channel(channelName); channel._tunedIn = true; channel.on('all', _partial(channelName)); return this; }, // Stop logging all of the activities on this channel to the console tuneOut: function tuneOut(channelName) { var channel = Radio.channel(channelName); channel._tunedIn = false; channel.off('all', _partial(channelName)); delete _logs[channelName]; return this; } }); /* * Backbone.Radio.Requests * ----------------------- * A messaging system for requesting data. * */ function makeCallback(callback) { return _.isFunction(callback) ? callback : function () { return callback; }; } Radio.Requests = { // Make a request request: function request(name) { var args = _.rest(arguments); var results = Radio._eventsApi(this, 'request', name, args); if (results) { return results; } var channelName = this.channelName; var requests = this._requests; // Check if we should log the request, and if so, do it if (channelName && this._tunedIn) { Radio.log.apply(this, [channelName, name].concat(args)); } // If the request isn't handled, log it in DEBUG mode and exit if (requests && (requests[name] || requests['default'])) { var handler = requests[name] || requests['default']; args = requests[name] ? args : arguments; return Radio._callHandler(handler.callback, handler.context, args); } else { Radio.debugLog('An unhandled request was fired', name, channelName); } }, // Set up a handler for a request reply: function reply(name, callback, context) { if (Radio._eventsApi(this, 'reply', name, [callback, context])) { return this; } this._requests || (this._requests = {}); if (this._requests[name]) { Radio.debugLog('A request was overwritten', name, this.channelName); } this._requests[name] = { callback: makeCallback(callback), context: context || this }; return this; }, // Set up a handler that can only be requested once replyOnce: function replyOnce(name, callback, context) { if (Radio._eventsApi(this, 'replyOnce', name, [callback, context])) { return this; } var self = this; var once = _.once(function () { self.stopReplying(name); return makeCallback(callback).apply(this, arguments); }); return this.reply(name, once, context); }, // Remove handler(s) stopReplying: function stopReplying(name, callback, context) { if (Radio._eventsApi(this, 'stopReplying', name)) { return this; } // Remove everything if there are no arguments passed if (!name && !callback && !context) { delete this._requests; } else if (!removeHandlers(this._requests, name, callback, context)) { Radio.debugLog('Attempted to remove the unregistered request', name, this.channelName); } return this; } }; /* * Backbone.Radio.channel * ---------------------- * Get a reference to a channel by name. * */ Radio._channels = {}; Radio.channel = function (channelName) { if (!channelName) { throw new Error('You must provide a name for the channel.'); } if (Radio._channels[channelName]) { return Radio._channels[channelName]; } else { return Radio._channels[channelName] = new Radio.Channel(channelName); } }; /* * Backbone.Radio.Channel * ---------------------- * A Channel is an object that extends from Backbone.Events, * and Radio.Requests. * */ Radio.Channel = function (channelName) { this.channelName = channelName; }; _.extend(Radio.Channel.prototype, Backbone.Events, Radio.Requests, { // Remove all handlers from the messaging systems of this channel reset: function reset() { this.off(); this.stopListening(); this.stopReplying(); return this; } }); /* * Top-level API * ------------- * Supplies the 'top-level API' for working with Channels directly * from Backbone.Radio. * */ var channel; var args; var systems = [Backbone.Events, Radio.Requests]; _.each(systems, function (system) { _.each(system, function (method, methodName) { Radio[methodName] = function (channelName) { args = _.rest(arguments); channel = this.channel(channelName); return channel[methodName].apply(channel, args); }; }); }); Radio.reset = function (channelName) { var channels = !channelName ? this._channels : [this._channels[channelName]]; _.invoke(channels, 'reset'); }; return Radio; }));#services-config{float:right;min-width:700px;width:100%}#services-config h3{color:#464646;font-size:15px;font-weight:400;margin:0;overflow:hidden;padding:8px 10px;white-space:nowrap}#available-services,#enabled-services,#live-preview{border-spacing:0;padding:20px 0 0;width:100%}#enabled-services .ui-sortable{min-height:50px}#enabled-services{padding-bottom:20px}#available-services,#enabled-services{border-bottom:2px solid #ccc}#live-preview{border-bottom:1px solid #dcdcde;padding-bottom:60px}#available-services h3,#enabled-services h3,#live-preview h3{margin-bottom:1em;margin-top:0;padding:0}body.settings_page_sharing .description{vertical-align:top;width:180px}body.settings_page_sharing .description p{font-size:13px;font-style:italic}body.settings_page_sharing .services{padding:0 20px;vertical-align:top}body.settings_page_sharing .services ul li{cursor:move}body.settings_page_sharing .services ul li.divider{background:none;border:none;cursor:default;padding:0}body.settings_page_sharing ul.services-hidden{margin-bottom:0}#available-services .service,#enabled-services .service{background:#fff;border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,.12),0 0 0 1px rgba(0,0,0,.12);color:#2c3338!important;display:inline-block;font-family:Open Sans,sans-serif;font-size:13px;font-weight:500;line-height:23px;margin:0 0 8px 8px;padding:3px 9px 4px 11px}#available-services .service .options-left,#enabled-services .service .options-left{align-items:center;display:flex}#available-services .service:hover,#enabled-services .service:hover{box-shadow:0 1px 2px rgba(0,0,0,.22),0 0 0 1px rgba(0,0,0,.22)}#available-services .service.share-deprecated,#enabled-services .service.share-deprecated{opacity:.5;padding:5px;text-decoration:line-through}#available-services .service.share-deprecated{display:none}li.service span:before{-webkit-font-smoothing:antialiased;font:normal 18px/1 social-logos;height:16px;margin-left:6px;position:relative;top:-1px;width:16px}li.service.share-print span:before{content:"\f469"}li.service.share-digg span:before{content:"\f221"}li.service.share-email span:before{content:"\f410"}li.service.share-linkedin span:before{content:"\f207"}li.service.share-twitter span:before{content:"\f202"}li.service.share-reddit span:before{content:"\f222"}li.service.share-tumblr span:before{content:"\f214"}li.service.share-pocket span:before{content:"\f224"}li.service.share-pinterest span:before{content:"\f209"}li.service.share-facebook span:before{content:"\f203"}li.service.share-press-this span:before{content:"\f205"}li.service.share-telegram span:before{content:"\f606"}li.service.share-jetpack-whatsapp span:before{content:"\f608"}li.service.share-skype span:before{content:"\f220"}li.service.share-mastodon span:before{content:"\f10a"}body.settings_page_sharing ul.preview{display:flex;flex-wrap:wrap;float:right}body.settings_page_sharing ul.preview li.preview-item,body.settings_page_sharing ul.preview li.preview-item a{cursor:default;text-decoration:none}div.sd-social-icon .inner li.preview-item a span,div.sd-social-icon ul.preview li.preview-item a span{display:none}div.sd-social-icon ul.preview li.preview-item.preview-custom a span{display:inline-block}.services .preview li.share-custom a{text-decoration:none}.services ul li.end-fix{clear:both;float:none;height:20px;margin:0;padding:0;visibility:hidden;width:0}#enabled-services h2{color:#999;font-size:20px;font-weight:400!important;padding-top:0}body.settings_page_sharing #live-preview h2{color:#e3e3e3;font-size:20px;font-weight:400!important}body.settings_page_sharing .clearing{clear:both}body.settings_page_sharing .options .options-left{float:right}body.settings_page_sharing .input label{font-size:11px;line-height:16px}body.settings_page_sharing .advanced-form{border-top:1px solid #e3e3e3;display:none;margin-right:-24px;margin-top:4px;padding:10px 10px 8px 14px}body.settings_page_sharing .utility{float:left;font-size:10px;padding-left:10px;padding-top:10px}body.settings_page_sharing .advanced input[type=submit]{float:right;margin-left:10px;margin-top:10px}.services li.dropzone{background:#e3e3e3;border:1px dashed #999;border-radius:3px;height:18px;margin-left:10px;padding:5px}.advanced-form .form-table th{width:auto!important}.advanced-form .button-secondary{margin-top:0!important}#hidden-drop-target{background:#e1e1e1;border:1px solid #cdcdcd;padding:10px;vertical-align:top;width:29%}#hidden-drop-target p{font-size:13px;font-style:italic;margin:0 0 10px}.preview li.preview-item{background-position:0 5px;cursor:default}.preview .option-smart-on{margin:3px 0 0 5px}.preview-digg .option-smart-on{background:url(../../modules/sharedaddy/images/smart-digg.png) no-repeat 100% 0;background-size:76px 17px;height:17px;margin-top:2px;width:76px}.preview-reddit .option-smart-on{background:url(../../modules/sharedaddy/images/smart-reddit.png) no-repeat 100% 0;background-size:104px 21px;height:21px;width:104px}.preview-facebook .option-smart-on{background:url(../../modules/sharedaddy/images/smart-like.png) no-repeat 100% 0;background-size:85px 20px;height:20px;margin-right:-4px;width:85px}.preview-twitter .option-smart-on{background:url(../../modules/sharedaddy/images/smart-twitter.png) no-repeat 100% 0;background-size:60px 20px;height:20px;width:60px}.preview-linkedin .option-smart-on{background:url(../../modules/sharedaddy/images/linkedin-smart.png) no-repeat top;background-size:99px 18px;height:20px;width:99px}.preview-tumblr .option-smart-on{background:url(../../modules/sharedaddy/images/smart-tumblr.png) no-repeat 100% 0;background-size:62px 20px;height:20px;width:62px}.preview-pinterest .option-smart-on{background:url(../../modules/sharedaddy/images/smart-pinterest.png) no-repeat 100% 0;background-size:39px 20px;height:20px;width:39px}.preview-pocket .option-smart-on{background:url(../../modules/sharedaddy/images/smart-pocket.png) no-repeat 100% 0;background-size:60px 20px;height:20px;width:60px}.preview-skype .option-smart-on{background:url(../../modules/sharedaddy/images/smart-skype.png) no-repeat 100% 0;background-size:60px 20px;height:20px;width:60px}.preview-item.share-deprecated{opacity:.5}.preview-item.share-deprecated a span{text-decoration:line-through}@media (min-resolution:120dpi){.preview-digg .option-smart-on{background-image:url(../../modules/sharedaddy/images/smart-digg@2x.png)}.preview-reddit .option-smart-on{background-image:url(../../modules/sharedaddy/images/smart-reddit@2x.png)}.preview-facebook .option-smart-on{background-image:url(../../modules/sharedaddy/images/smart-like@2x.png)}.preview-twitter .option-smart-on{background-image:url(../../modules/sharedaddy/images/smart-twitter@2x.png)}.preview-linkedin .option-smart-on{background-image:url(../../modules/sharedaddy/images/linkedin-smart@2x.png)}.preview-tumblr .option-smart-on{background-image:url(../../modules/sharedaddy/images/smart-tumblr@2x.png)}.preview-pinterest .option-smart-on{background-image:url(../../modules/sharedaddy/images/smart-pinterest@2x.png)}.preview-pocket .option-smart-on{background-image:url(../../modules/sharedaddy/images/smart-pocket@2x.png)}.preview-skype .option-smart-on{background-image:url(../../modules/sharedaddy/images/smart-skype@2x.png)}}.services .sharing-hidden li{background-color:transparent}.sharing-hidden li.share-end{clear:both;float:none;height:0;margin:0!important;padding:0!important;visibility:hidden;width:0}.preview .sharing-label{border:0;font-weight:700;padding:4px 0 0 6px}#services-config a.remove{background:#dcdcde;border-radius:15px;-moz-border-radius:15px;-webkit-border-radius:15px;color:#fff;font-size:10px;font-weight:700;padding:0 4px 2px;text-decoration:none}#services-config a.remove:hover{background:red}.sd-social-icon .inner a.sd-button span,.sd-social-icon .inner a.share-icon span{display:inline-block;overflow:hidden;text-indent:100%;width:0}