Version Description
- Fix: fixed SEO checkup for free version
Download this release
Release Info
Developer | jdailey |
Plugin | SmartCrawl SEO |
Version | 2.2.2.3 |
Comparing to | |
See all releases |
Code changes from version 2.2.2.2 to 2.2.2.3
- changelog.txt +3 -0
- includes/core/class-wds-controller-cron.php +63 -285
- includes/core/class-wds-controller-hub.php +23 -83
- includes/core/service/class-wds-checkup-rest-service.php +3 -87
- includes/core/service/class-wds-seo-service.php +52 -177
- includes/css/app.css +1 -1
- languages/wpmu-dev-seo.pot +2 -10
- readme.txt +32 -24
- wpmu-dev-seo.php +2 -2
changelog.txt
CHANGED
@@ -2,6 +2,9 @@ Plugin Name: SmartCrawl SEO
|
|
2 |
|
3 |
Change Log:
|
4 |
----------------------------------------------------------------------
|
|
|
|
|
|
|
5 |
|
6 |
2.2.2.2 - 2018-08-20
|
7 |
----------------------------------------------------------------------
|
2 |
|
3 |
Change Log:
|
4 |
----------------------------------------------------------------------
|
5 |
+
2.2.2.3 - 2018-08-31
|
6 |
+
----------------------------------------------------------------------
|
7 |
+
- Fix: fixed SEO checkup for free version
|
8 |
|
9 |
2.2.2.2 - 2018-08-20
|
10 |
----------------------------------------------------------------------
|
includes/core/class-wds-controller-cron.php
CHANGED
@@ -8,7 +8,7 @@
|
|
8 |
/**
|
9 |
* Cron controller
|
10 |
*/
|
11 |
-
class Smartcrawl_Controller_Cron {
|
12 |
|
13 |
const ACTION_CRAWL = 'wds-cron-start_service';
|
14 |
const ACTION_CHECKUP = 'wds-cron-start_checkup';
|
@@ -77,17 +77,16 @@ class Smartcrawl_Controller_Cron { // phpcs:ignore -- We have two versions of th
|
|
77 |
* @return void
|
78 |
*/
|
79 |
private function _add_hooks() {
|
|
|
80 |
add_filter( 'cron_schedules', array( $this, 'add_cron_schedule_intervals' ) );
|
81 |
|
82 |
$copts = Smartcrawl_Settings::get_component_options( Smartcrawl_Settings::COMP_SITEMAP );
|
83 |
if ( ! empty( $copts['crawler-cron-enable'] ) ) {
|
84 |
add_action( $this->get_filter( self::ACTION_CRAWL ), array( $this, 'start_crawl' ) );
|
85 |
-
$this->fix_legacy_round_runtimes( self::ACTION_CRAWL, $copts );
|
86 |
}
|
87 |
|
88 |
$chopts = Smartcrawl_Settings::get_component_options( Smartcrawl_Settings::COMP_CHECKUP );
|
89 |
if ( ! empty( $chopts['checkup-cron-enable'] ) ) {
|
90 |
-
$this->fix_legacy_round_runtimes( self::ACTION_CHECKUP, $chopts );
|
91 |
add_action( $this->get_filter( self::ACTION_CHECKUP ), array( $this, 'start_checkup' ) );
|
92 |
add_action( $this->get_filter( self::ACTION_CHECKUP_RESULT ), array( $this, 'check_checkup_result' ) );
|
93 |
}
|
@@ -106,95 +105,6 @@ class Smartcrawl_Controller_Cron { // phpcs:ignore -- We have two versions of th
|
|
106 |
return 'wds-controller-cron-' . $what;
|
107 |
}
|
108 |
|
109 |
-
/**
|
110 |
-
* Checks for round time schedules and adjusts
|
111 |
-
* schedule accordingly
|
112 |
-
*
|
113 |
-
* @param string $type Action type to check.
|
114 |
-
* @param array $opts Action options.
|
115 |
-
*
|
116 |
-
* @return bool
|
117 |
-
*/
|
118 |
-
public function fix_legacy_round_runtimes( $type, $opts ) {
|
119 |
-
$prefix = self::ACTION_CRAWL === $type
|
120 |
-
? 'crawler'
|
121 |
-
: 'checkup';
|
122 |
-
$dow = ! empty( $opts["{$prefix}-dow"] ) && in_array( (int) $opts["{$prefix}-dow"], range( 0, 6 ), true )
|
123 |
-
? (int) $opts["{$prefix}-dow"]
|
124 |
-
: 0;
|
125 |
-
$tod = ! empty( $opts["{$prefix}-tod"] ) && in_array( (int) $opts["{$prefix}-tod"], range( 0, 23 ), true )
|
126 |
-
? (int) $opts["{$prefix}-tod"]
|
127 |
-
: 0;
|
128 |
-
|
129 |
-
if ( 0 === $dow && 0 === $tod && $this->is_round_next_runtime( $type ) ) {
|
130 |
-
// Reschedule.
|
131 |
-
Smartcrawl_Logger::warning( "Rescheduling detected rounded event {$prefix}" );
|
132 |
-
$comp_key = self::ACTION_CRAWL === $type
|
133 |
-
? Smartcrawl_Settings::COMP_SITEMAP
|
134 |
-
: Smartcrawl_Settings::COMP_CHECKUP;
|
135 |
-
$opts["{$prefix}-dow"] = rand( 0, 6 );
|
136 |
-
$opts["{$prefix}-tod"] = rand( 0, 24 );
|
137 |
-
|
138 |
-
Smartcrawl_Settings::update_component_options( $comp_key, $opts );
|
139 |
-
$this->unschedule( $type );
|
140 |
-
call_user_func( array( $this, "set_up_{$prefix}_schedule" ) );
|
141 |
-
|
142 |
-
return true;
|
143 |
-
}
|
144 |
-
|
145 |
-
return false;
|
146 |
-
}
|
147 |
-
|
148 |
-
/**
|
149 |
-
* Checks if next runtime event schedule is round
|
150 |
-
*
|
151 |
-
* @param string $type Action type to check.
|
152 |
-
*
|
153 |
-
* @return bool
|
154 |
-
*/
|
155 |
-
public function is_round_next_runtime( $type ) {
|
156 |
-
$current = $this->get_next_event( $type );
|
157 |
-
if ( empty( $current ) ) {
|
158 |
-
return false;
|
159 |
-
}
|
160 |
-
|
161 |
-
return '00:00' === date( 'H:i', $current );
|
162 |
-
}
|
163 |
-
|
164 |
-
/**
|
165 |
-
* Gets next scheduled event time
|
166 |
-
*
|
167 |
-
* @param string $event Optional event name, defaults to service start.
|
168 |
-
*
|
169 |
-
* @return int|bool UNIX timestamp or false if no next event
|
170 |
-
*/
|
171 |
-
public function get_next_event( $event = false ) {
|
172 |
-
$event = ! empty( $event ) ? $event : self::ACTION_CRAWL;
|
173 |
-
|
174 |
-
return wp_next_scheduled( $this->get_filter( $event ) );
|
175 |
-
}
|
176 |
-
|
177 |
-
/**
|
178 |
-
* Unschedules a particular event
|
179 |
-
*
|
180 |
-
* @param string $event Optional event name, defaults to service start.
|
181 |
-
*
|
182 |
-
* @return bool
|
183 |
-
*/
|
184 |
-
public function unschedule( $event = false ) {
|
185 |
-
$event = ! empty( $event ) ? $event : self::ACTION_CRAWL;
|
186 |
-
Smartcrawl_Logger::info( "Unscheduling event {$event}" );
|
187 |
-
$tstamp = $this->get_next_event( $event );
|
188 |
-
if ( $tstamp ) {
|
189 |
-
Smartcrawl_Logger::debug( "Found next event {$event} at {$tstamp}" );
|
190 |
-
wp_unschedule_event( $tstamp, $this->get_filter( $event ) );
|
191 |
-
}
|
192 |
-
|
193 |
-
wp_clear_scheduled_hook( $this->get_filter( $event ) );
|
194 |
-
|
195 |
-
return true;
|
196 |
-
}
|
197 |
-
|
198 |
/**
|
199 |
* Controller interface stop
|
200 |
*
|
@@ -224,82 +134,6 @@ class Smartcrawl_Controller_Cron { // phpcs:ignore -- We have two versions of th
|
|
224 |
$this->_is_running = false;
|
225 |
}
|
226 |
|
227 |
-
/**
|
228 |
-
* Checks whether we have a next event scheduled
|
229 |
-
*
|
230 |
-
* @param string $event Optional event name, defaults to service start.
|
231 |
-
*
|
232 |
-
* @return bool
|
233 |
-
*/
|
234 |
-
public function has_next_event( $event = false ) {
|
235 |
-
return ! ! $this->get_next_event( $event );
|
236 |
-
}
|
237 |
-
|
238 |
-
/**
|
239 |
-
* Sets up overall schedules
|
240 |
-
*
|
241 |
-
* @uses Smartcrawl_Controller_Cron::set_up_checkup_schedule()
|
242 |
-
* @uses Smartcrawl_Controller_Cron::set_up_crawler_schedule()
|
243 |
-
*
|
244 |
-
* @return void
|
245 |
-
*/
|
246 |
-
public function set_up_schedule() {
|
247 |
-
Smartcrawl_Logger::debug( 'Setting up schedules' );
|
248 |
-
$this->set_up_crawler_schedule();
|
249 |
-
$this->set_up_checkup_schedule();
|
250 |
-
}
|
251 |
-
|
252 |
-
/**
|
253 |
-
* Sets up crawl service schedule
|
254 |
-
*
|
255 |
-
* @return bool
|
256 |
-
*/
|
257 |
-
public function set_up_crawler_schedule() {
|
258 |
-
Smartcrawl_Logger::debug( 'Setting up cralwer schedule' );
|
259 |
-
|
260 |
-
$options = Smartcrawl_Settings::get_component_options( Smartcrawl_Settings::COMP_SITEMAP );
|
261 |
-
|
262 |
-
if ( empty( $options['crawler-cron-enable'] ) ) {
|
263 |
-
Smartcrawl_Logger::debug( 'Disabling crawler cron' );
|
264 |
-
$this->unschedule( self::ACTION_CRAWL );
|
265 |
-
|
266 |
-
return false;
|
267 |
-
}
|
268 |
-
|
269 |
-
$current = $this->get_next_event( self::ACTION_CRAWL );
|
270 |
-
$now = time();
|
271 |
-
$frequency = $this->get_valid_frequency(
|
272 |
-
( ! empty( $options['crawler-frequency'] ) ? $options['crawler-frequency'] : array() )
|
273 |
-
);
|
274 |
-
$dow = ! empty( $options['crawler-dow'] ) && in_array( (int) $options['crawler-dow'], range( 0, 6 ), true )
|
275 |
-
? (int) $options['crawler-dow']
|
276 |
-
: 0;
|
277 |
-
$tod = ! empty( $options['crawler-tod'] ) && in_array( (int) $options['crawler-tod'], range( 0, 23 ), true )
|
278 |
-
? (int) $options['crawler-tod']
|
279 |
-
: 0;
|
280 |
-
$next = $this->get_estimated_next_event( $now, $frequency, $dow, $tod );
|
281 |
-
|
282 |
-
$msg = sprintf( "Attempt rescheduling crawl start ({$frequency},{$dow},{$tod}): {$next} (%s)", date( 'Y-m-d@H:i', $next ) );
|
283 |
-
if ( ! empty( $current ) ) {
|
284 |
-
$msg .= sprintf( " by replacing {$current} (%s)", date( 'Y-m-d@H:i', $current ) );
|
285 |
-
}
|
286 |
-
Smartcrawl_Logger::debug( $msg );
|
287 |
-
|
288 |
-
$diff = abs( $current - $next );
|
289 |
-
if ( $diff > 59 * 60 ) {
|
290 |
-
Smartcrawl_Logger::info( sprintf(
|
291 |
-
"Rescheduling crawl start from {$current} (%s) to {$next} (%s)",
|
292 |
-
date( 'Y-m-d@H:i', $current ),
|
293 |
-
date( 'Y-m-d@H:i', $next )
|
294 |
-
) );
|
295 |
-
$this->schedule( self::ACTION_CRAWL, $next, $frequency );
|
296 |
-
} else {
|
297 |
-
Smartcrawl_Logger::info( 'Currently scheduled crawl matches our next sync estimate, leaving it alone' );
|
298 |
-
}
|
299 |
-
|
300 |
-
return true;
|
301 |
-
}
|
302 |
-
|
303 |
/**
|
304 |
* Gets estimated next event time based on parameters
|
305 |
*
|
@@ -399,6 +233,41 @@ class Smartcrawl_Controller_Cron { // phpcs:ignore -- We have two versions of th
|
|
399 |
return 'weekly';
|
400 |
}
|
401 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
402 |
/**
|
403 |
* Schedules a particular event
|
404 |
*
|
@@ -409,41 +278,30 @@ class Smartcrawl_Controller_Cron { // phpcs:ignore -- We have two versions of th
|
|
409 |
* @return bool
|
410 |
*/
|
411 |
public function schedule( $event, $time, $recurrence = false ) {
|
412 |
-
|
413 |
-
|
414 |
-
$this->unschedule( $event );
|
415 |
-
$recurrence = $this->get_valid_frequency( $recurrence );
|
416 |
-
$now = time();
|
417 |
-
while ( $time < $now ) {
|
418 |
-
Smartcrawl_Logger::debug( "Time in the past, applying offset for {$recurrence} recurrence" );
|
419 |
-
$offset = DAY_IN_SECONDS;
|
420 |
-
if ( 'weekly' === $recurrence ) {
|
421 |
-
$offset *= 7;
|
422 |
-
}
|
423 |
-
if ( 'monthly' === $recurrence ) {
|
424 |
-
$offset *= 30;
|
425 |
-
}
|
426 |
-
$time += $offset;
|
427 |
-
}
|
428 |
-
|
429 |
-
// Make the time not round.
|
430 |
-
$time += rand( 0, 59 ) * 60;
|
431 |
-
|
432 |
-
Smartcrawl_Logger::debug( sprintf( "Adding new {$recurrence} event {$event} at {$time} (%s)", date( 'Y-m-d@H:i', $time ) ) );
|
433 |
-
|
434 |
-
$result = wp_schedule_event(
|
435 |
-
$time,
|
436 |
-
$recurrence,
|
437 |
-
$this->get_filter( $event )
|
438 |
-
) !== false;
|
439 |
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
445 |
|
446 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
447 |
}
|
448 |
|
449 |
/**
|
@@ -452,49 +310,7 @@ class Smartcrawl_Controller_Cron { // phpcs:ignore -- We have two versions of th
|
|
452 |
* @return bool
|
453 |
*/
|
454 |
public function set_up_checkup_schedule() {
|
455 |
-
|
456 |
-
|
457 |
-
$options = Smartcrawl_Settings::get_component_options( Smartcrawl_Settings::COMP_CHECKUP );
|
458 |
-
|
459 |
-
if ( empty( $options['checkup-cron-enable'] ) ) {
|
460 |
-
Smartcrawl_Logger::debug( 'Disabling checkup cron' );
|
461 |
-
$this->unschedule( self::ACTION_CHECKUP );
|
462 |
-
|
463 |
-
return false;
|
464 |
-
}
|
465 |
-
|
466 |
-
$current = $this->get_next_event( self::ACTION_CHECKUP );
|
467 |
-
$now = time();
|
468 |
-
$frequency = $this->get_valid_frequency(
|
469 |
-
( ! empty( $options['checkup-frequency'] ) ? $options['checkup-frequency'] : array() )
|
470 |
-
);
|
471 |
-
$dow = ! empty( $options['checkup-dow'] ) && in_array( (int) $options['checkup-dow'], range( 0, 6 ), true )
|
472 |
-
? (int) $options['checkup-dow']
|
473 |
-
: 0;
|
474 |
-
$tod = ! empty( $options['checkup-tod'] ) && in_array( (int) $options['checkup-tod'], range( 0, 23 ), true )
|
475 |
-
? (int) $options['checkup-tod']
|
476 |
-
: 0;
|
477 |
-
$next = $this->get_estimated_next_event( $now, $frequency, $dow, $tod );
|
478 |
-
|
479 |
-
$msg = sprintf( "Attempt rescheduling checkup start ({$frequency},{$dow},{$tod}): {$next} (%s)", date( 'Y-m-d@H:i', $next ) );
|
480 |
-
if ( ! empty( $current ) ) {
|
481 |
-
$msg .= sprintf( " by replacing {$current} (%s)", date( 'Y-m-d@H:i', $current ) );
|
482 |
-
}
|
483 |
-
Smartcrawl_Logger::debug( $msg );
|
484 |
-
|
485 |
-
$diff = abs( $current - $next );
|
486 |
-
if ( $diff > 59 * 60 ) {
|
487 |
-
Smartcrawl_Logger::info( sprintf(
|
488 |
-
"Rescheduling checkup start from {$current} (%s) to {$next} (%s)",
|
489 |
-
date( 'Y-m-d@H:i', $current ),
|
490 |
-
date( 'Y-m-d@H:i', $next )
|
491 |
-
) );
|
492 |
-
$this->schedule( self::ACTION_CHECKUP, $next, $frequency );
|
493 |
-
} else {
|
494 |
-
Smartcrawl_Logger::info( 'Currently scheduled checkup matches our next sync estimate, leaving it alone' );
|
495 |
-
}
|
496 |
-
|
497 |
-
return true;
|
498 |
}
|
499 |
|
500 |
/**
|
@@ -503,18 +319,7 @@ class Smartcrawl_Controller_Cron { // phpcs:ignore -- We have two versions of th
|
|
503 |
* @return bool
|
504 |
*/
|
505 |
public function start_crawl() {
|
506 |
-
|
507 |
-
|
508 |
-
$service = Smartcrawl_Service::get( Smartcrawl_Service::SERVICE_SEO );
|
509 |
-
$result = $service->start();
|
510 |
-
|
511 |
-
if ( $result ) {
|
512 |
-
Smartcrawl_Logger::debug( 'Successfully started a crawl' );
|
513 |
-
} else {
|
514 |
-
Smartcrawl_Logger::warning( 'Automated crawl start action failed' );
|
515 |
-
}
|
516 |
-
|
517 |
-
return $result;
|
518 |
}
|
519 |
|
520 |
/**
|
@@ -523,23 +328,7 @@ class Smartcrawl_Controller_Cron { // phpcs:ignore -- We have two versions of th
|
|
523 |
* @return bool
|
524 |
*/
|
525 |
public function start_checkup() {
|
526 |
-
|
527 |
-
|
528 |
-
$service = Smartcrawl_Service::get( Smartcrawl_Service::SERVICE_CHECKUP );
|
529 |
-
if ( $service->in_progress() ) {
|
530 |
-
return false;
|
531 |
-
} // Already running.
|
532 |
-
$result = $service->start();
|
533 |
-
|
534 |
-
if ( $result ) {
|
535 |
-
Smartcrawl_Logger::debug( 'Successfully started a checkup' );
|
536 |
-
// Check result immediately.
|
537 |
-
$this->check_checkup_result();
|
538 |
-
} else {
|
539 |
-
Smartcrawl_Logger::warning( 'Automated checkup start action failed' );
|
540 |
-
}
|
541 |
-
|
542 |
-
return $result;
|
543 |
}
|
544 |
|
545 |
/**
|
@@ -550,18 +339,7 @@ class Smartcrawl_Controller_Cron { // phpcs:ignore -- We have two versions of th
|
|
550 |
* @return bool
|
551 |
*/
|
552 |
public function check_checkup_result() {
|
553 |
-
|
554 |
-
|
555 |
-
$service = Smartcrawl_Service::get( Smartcrawl_Service::SERVICE_CHECKUP );
|
556 |
-
$status = $service->status();
|
557 |
-
Smartcrawl_Logger::debug( "Checkup status: {$status}%" );
|
558 |
-
|
559 |
-
if ( (int) $status < 100 ) {
|
560 |
-
Smartcrawl_Logger::debug( 'Re-scheduling checkup status event' );
|
561 |
-
wp_schedule_single_event( time() + $this->get_checkup_ping_delay(), $this->get_filter( self::ACTION_CHECKUP_RESULT ), array( 'test' => rand() ) );
|
562 |
-
}
|
563 |
-
|
564 |
-
return $status >= 100;
|
565 |
}
|
566 |
|
567 |
/**
|
8 |
/**
|
9 |
* Cron controller
|
10 |
*/
|
11 |
+
class Smartcrawl_Controller_Cron {
|
12 |
|
13 |
const ACTION_CRAWL = 'wds-cron-start_service';
|
14 |
const ACTION_CHECKUP = 'wds-cron-start_checkup';
|
77 |
* @return void
|
78 |
*/
|
79 |
private function _add_hooks() {
|
80 |
+
|
81 |
add_filter( 'cron_schedules', array( $this, 'add_cron_schedule_intervals' ) );
|
82 |
|
83 |
$copts = Smartcrawl_Settings::get_component_options( Smartcrawl_Settings::COMP_SITEMAP );
|
84 |
if ( ! empty( $copts['crawler-cron-enable'] ) ) {
|
85 |
add_action( $this->get_filter( self::ACTION_CRAWL ), array( $this, 'start_crawl' ) );
|
|
|
86 |
}
|
87 |
|
88 |
$chopts = Smartcrawl_Settings::get_component_options( Smartcrawl_Settings::COMP_CHECKUP );
|
89 |
if ( ! empty( $chopts['checkup-cron-enable'] ) ) {
|
|
|
90 |
add_action( $this->get_filter( self::ACTION_CHECKUP ), array( $this, 'start_checkup' ) );
|
91 |
add_action( $this->get_filter( self::ACTION_CHECKUP_RESULT ), array( $this, 'check_checkup_result' ) );
|
92 |
}
|
105 |
return 'wds-controller-cron-' . $what;
|
106 |
}
|
107 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
108 |
/**
|
109 |
* Controller interface stop
|
110 |
*
|
134 |
$this->_is_running = false;
|
135 |
}
|
136 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
137 |
/**
|
138 |
* Gets estimated next event time based on parameters
|
139 |
*
|
233 |
return 'weekly';
|
234 |
}
|
235 |
|
236 |
+
/**
|
237 |
+
* Checks whether we have a next event scheduled
|
238 |
+
*
|
239 |
+
* @param string $event Optional event name, defaults to service start.
|
240 |
+
*
|
241 |
+
* @return bool
|
242 |
+
*/
|
243 |
+
public function has_next_event( $event = false ) {
|
244 |
+
return ! ! $this->get_next_event( $event );
|
245 |
+
}
|
246 |
+
|
247 |
+
/**
|
248 |
+
* Gets next scheduled event time
|
249 |
+
*
|
250 |
+
* @param string $event Optional event name, defaults to service start.
|
251 |
+
*
|
252 |
+
* @return int|bool UNIX timestamp or false if no next event
|
253 |
+
*/
|
254 |
+
public function get_next_event( $event = false ) {
|
255 |
+
$event = ! empty( $event ) ? $event : self::ACTION_CRAWL;
|
256 |
+
|
257 |
+
return wp_next_scheduled( $this->get_filter( $event ) );
|
258 |
+
}
|
259 |
+
|
260 |
+
/**
|
261 |
+
* Unschedules a particular event
|
262 |
+
*
|
263 |
+
* @param string $event Optional event name, defaults to service start.
|
264 |
+
*
|
265 |
+
* @return bool
|
266 |
+
*/
|
267 |
+
public function unschedule( $event = false ) {
|
268 |
+
return false; // Not in the free version.
|
269 |
+
}
|
270 |
+
|
271 |
/**
|
272 |
* Schedules a particular event
|
273 |
*
|
278 |
* @return bool
|
279 |
*/
|
280 |
public function schedule( $event, $time, $recurrence = false ) {
|
281 |
+
return false; // Not in the free version.
|
282 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
283 |
|
284 |
+
/**
|
285 |
+
* Sets up overall schedules
|
286 |
+
*
|
287 |
+
* @uses Smartcrawl_Controller_Cron::set_up_checkup_schedule()
|
288 |
+
* @uses Smartcrawl_Controller_Cron::set_up_crawler_schedule()
|
289 |
+
*
|
290 |
+
* @return void
|
291 |
+
*/
|
292 |
+
public function set_up_schedule() {
|
293 |
+
Smartcrawl_Logger::debug( 'Setting up schedules' );
|
294 |
+
$this->set_up_crawler_schedule();
|
295 |
+
$this->set_up_checkup_schedule();
|
296 |
+
}
|
297 |
|
298 |
+
/**
|
299 |
+
* Sets up crawl service schedule
|
300 |
+
*
|
301 |
+
* @return bool
|
302 |
+
*/
|
303 |
+
public function set_up_crawler_schedule() {
|
304 |
+
return false; // Not in the free version.
|
305 |
}
|
306 |
|
307 |
/**
|
310 |
* @return bool
|
311 |
*/
|
312 |
public function set_up_checkup_schedule() {
|
313 |
+
return false; // Not in the free version.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
314 |
}
|
315 |
|
316 |
/**
|
319 |
* @return bool
|
320 |
*/
|
321 |
public function start_crawl() {
|
322 |
+
return false; // Not in the free version.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
323 |
}
|
324 |
|
325 |
/**
|
328 |
* @return bool
|
329 |
*/
|
330 |
public function start_checkup() {
|
331 |
+
return false; // Not in the free version.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
332 |
}
|
333 |
|
334 |
/**
|
339 |
* @return bool
|
340 |
*/
|
341 |
public function check_checkup_result() {
|
342 |
+
return false; // Not in the free version.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
343 |
}
|
344 |
|
345 |
/**
|
includes/core/class-wds-controller-hub.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
class Smartcrawl_Controller_Hub {
|
4 |
|
5 |
|
6 |
private static $_instance;
|
@@ -54,8 +54,7 @@ class Smartcrawl_Controller_Hub { // phpcs:ignore -- We have two versions of thi
|
|
54 |
* Bind listening actions
|
55 |
*/
|
56 |
private function _add_hooks() {
|
57 |
-
|
58 |
-
|
59 |
$this->_is_running = true;
|
60 |
}
|
61 |
|
@@ -67,16 +66,7 @@ class Smartcrawl_Controller_Hub { // phpcs:ignore -- We have two versions of thi
|
|
67 |
* @return array Augmented actions
|
68 |
*/
|
69 |
public function register_hub_actions( $actions ) {
|
70 |
-
|
71 |
-
return $actions;
|
72 |
-
}
|
73 |
-
|
74 |
-
$actions['wds-sync-ignores'] = array( $this, 'json_sync_ignores_list' );
|
75 |
-
$actions['wds-purge-ignores'] = array( $this, 'json_purge_ignores_list' );
|
76 |
-
|
77 |
-
$actions['wds-sync-extras'] = array( $this, 'json_sync_extras_list' );
|
78 |
-
$actions['wds-purge-extras'] = array( $this, 'json_purge_extras_list' );
|
79 |
-
|
80 |
return $actions;
|
81 |
}
|
82 |
|
@@ -87,14 +77,11 @@ class Smartcrawl_Controller_Hub { // phpcs:ignore -- We have two versions of thi
|
|
87 |
*
|
88 |
* @param object $params Hub-provided parameters
|
89 |
* @param string $action Action called
|
|
|
|
|
90 |
*/
|
91 |
-
public function
|
92 |
-
|
93 |
-
$status = $this->sync_ignores_list( $params, $action );
|
94 |
-
|
95 |
-
return ! empty( $status )
|
96 |
-
? wp_send_json_success()
|
97 |
-
: wp_send_json_error();
|
98 |
}
|
99 |
|
100 |
/**
|
@@ -104,26 +91,8 @@ class Smartcrawl_Controller_Hub { // phpcs:ignore -- We have two versions of thi
|
|
104 |
*
|
105 |
* @param object $params Hub-provided parameters
|
106 |
* @param string $action Action called
|
107 |
-
*
|
108 |
-
* @return bool Status
|
109 |
*/
|
110 |
-
public function
|
111 |
-
$ignores = new Smartcrawl_Model_Ignores();
|
112 |
-
|
113 |
-
$data = stripslashes_deep( (array) $params );
|
114 |
-
if ( empty( $data['issue_ids'] ) || ! is_array( $data['issue_ids'] ) ) {
|
115 |
-
return false;
|
116 |
-
}
|
117 |
-
|
118 |
-
$status = true;
|
119 |
-
foreach ( $data['issue_ids'] as $issue_id ) {
|
120 |
-
$tmp = $ignores->set_ignore( $issue_id );
|
121 |
-
if ( ! $tmp ) {
|
122 |
-
$status = false;
|
123 |
-
}
|
124 |
-
}
|
125 |
-
|
126 |
-
return $status;
|
127 |
}
|
128 |
|
129 |
/**
|
@@ -133,14 +102,11 @@ class Smartcrawl_Controller_Hub { // phpcs:ignore -- We have two versions of thi
|
|
133 |
*
|
134 |
* @param object $params Hub-provided parameters
|
135 |
* @param string $action Action called
|
|
|
|
|
136 |
*/
|
137 |
-
public function
|
138 |
-
|
139 |
-
$status = $this->purge_ignores_list( $params, $action );
|
140 |
-
|
141 |
-
return ! empty( $status )
|
142 |
-
? wp_send_json_success()
|
143 |
-
: wp_send_json_error();
|
144 |
}
|
145 |
|
146 |
/**
|
@@ -150,13 +116,8 @@ class Smartcrawl_Controller_Hub { // phpcs:ignore -- We have two versions of thi
|
|
150 |
*
|
151 |
* @param object $params Hub-provided parameters
|
152 |
* @param string $action Action called
|
153 |
-
*
|
154 |
-
* @return bool Status
|
155 |
*/
|
156 |
-
public function
|
157 |
-
$ignores = new Smartcrawl_Model_Ignores();
|
158 |
-
|
159 |
-
return $ignores->clear();
|
160 |
}
|
161 |
|
162 |
/**
|
@@ -166,14 +127,11 @@ class Smartcrawl_Controller_Hub { // phpcs:ignore -- We have two versions of thi
|
|
166 |
*
|
167 |
* @param object $params Hub-provided parameters
|
168 |
* @param string $action Action called
|
|
|
|
|
169 |
*/
|
170 |
-
public function
|
171 |
-
|
172 |
-
$status = $this->sync_extras_list( $params, $action );
|
173 |
-
|
174 |
-
return ! empty( $status )
|
175 |
-
? wp_send_json_success()
|
176 |
-
: wp_send_json_error();
|
177 |
}
|
178 |
|
179 |
/**
|
@@ -183,21 +141,8 @@ class Smartcrawl_Controller_Hub { // phpcs:ignore -- We have two versions of thi
|
|
183 |
*
|
184 |
* @param object $params Hub-provided parameters
|
185 |
* @param string $action Action called
|
186 |
-
*
|
187 |
-
* @return bool Status
|
188 |
*/
|
189 |
-
public function
|
190 |
-
$data = stripslashes_deep( (array) $params );
|
191 |
-
if ( empty( $data['urls'] ) || ! is_array( $data['urls'] ) ) {
|
192 |
-
return false;
|
193 |
-
}
|
194 |
-
|
195 |
-
$existing = Smartcrawl_Xml_Sitemap::get_extra_urls();
|
196 |
-
foreach ( $data['urls'] as $url ) {
|
197 |
-
$existing[] = esc_url( $url );
|
198 |
-
}
|
199 |
-
|
200 |
-
return Smartcrawl_Xml_Sitemap::set_extra_urls( $existing );
|
201 |
}
|
202 |
|
203 |
/**
|
@@ -207,13 +152,11 @@ class Smartcrawl_Controller_Hub { // phpcs:ignore -- We have two versions of thi
|
|
207 |
*
|
208 |
* @param object $params Hub-provided parameters
|
209 |
* @param string $action Action called
|
|
|
|
|
210 |
*/
|
211 |
-
public function
|
212 |
-
|
213 |
-
|
214 |
-
return ! empty( $status )
|
215 |
-
? wp_send_json_success()
|
216 |
-
: wp_send_json_error();
|
217 |
}
|
218 |
|
219 |
/**
|
@@ -223,11 +166,8 @@ class Smartcrawl_Controller_Hub { // phpcs:ignore -- We have two versions of thi
|
|
223 |
*
|
224 |
* @param object $params Hub-provided parameters
|
225 |
* @param string $action Action called
|
226 |
-
*
|
227 |
-
* @return bool Status
|
228 |
*/
|
229 |
-
public function
|
230 |
-
return Smartcrawl_Xml_Sitemap::set_extra_urls( array() );
|
231 |
}
|
232 |
|
233 |
|
1 |
<?php
|
2 |
|
3 |
+
class Smartcrawl_Controller_Hub {
|
4 |
|
5 |
|
6 |
private static $_instance;
|
54 |
* Bind listening actions
|
55 |
*/
|
56 |
private function _add_hooks() {
|
57 |
+
// Passthrough.
|
|
|
58 |
$this->_is_running = true;
|
59 |
}
|
60 |
|
66 |
* @return array Augmented actions
|
67 |
*/
|
68 |
public function register_hub_actions( $actions ) {
|
69 |
+
// Passthrough.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
return $actions;
|
71 |
}
|
72 |
|
77 |
*
|
78 |
* @param object $params Hub-provided parameters
|
79 |
* @param string $action Action called
|
80 |
+
*
|
81 |
+
* @return bool Status
|
82 |
*/
|
83 |
+
public function sync_ignores_list( $params = array(), $action = '' ) {
|
84 |
+
return false; // Not in the free version.
|
|
|
|
|
|
|
|
|
|
|
85 |
}
|
86 |
|
87 |
/**
|
91 |
*
|
92 |
* @param object $params Hub-provided parameters
|
93 |
* @param string $action Action called
|
|
|
|
|
94 |
*/
|
95 |
+
public function json_sync_ignores_list( $params = array(), $action = '' ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
96 |
}
|
97 |
|
98 |
/**
|
102 |
*
|
103 |
* @param object $params Hub-provided parameters
|
104 |
* @param string $action Action called
|
105 |
+
*
|
106 |
+
* @return bool Status
|
107 |
*/
|
108 |
+
public function purge_ignores_list( $params = array(), $action = '' ) {
|
109 |
+
return false; // Not in the free version.
|
|
|
|
|
|
|
|
|
|
|
110 |
}
|
111 |
|
112 |
/**
|
116 |
*
|
117 |
* @param object $params Hub-provided parameters
|
118 |
* @param string $action Action called
|
|
|
|
|
119 |
*/
|
120 |
+
public function json_purge_ignores_list( $params = array(), $action = '' ) {
|
|
|
|
|
|
|
121 |
}
|
122 |
|
123 |
/**
|
127 |
*
|
128 |
* @param object $params Hub-provided parameters
|
129 |
* @param string $action Action called
|
130 |
+
*
|
131 |
+
* @return bool Status
|
132 |
*/
|
133 |
+
public function sync_extras_list( $params = array(), $action = '' ) {
|
134 |
+
return false; // Not in the free version.
|
|
|
|
|
|
|
|
|
|
|
135 |
}
|
136 |
|
137 |
/**
|
141 |
*
|
142 |
* @param object $params Hub-provided parameters
|
143 |
* @param string $action Action called
|
|
|
|
|
144 |
*/
|
145 |
+
public function json_sync_extras_list( $params = array(), $action = '' ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
146 |
}
|
147 |
|
148 |
/**
|
152 |
*
|
153 |
* @param object $params Hub-provided parameters
|
154 |
* @param string $action Action called
|
155 |
+
*
|
156 |
+
* @return bool Status
|
157 |
*/
|
158 |
+
public function purge_extras_list( $params = array(), $action = '' ) {
|
159 |
+
return false; // Not in the free version.
|
|
|
|
|
|
|
|
|
160 |
}
|
161 |
|
162 |
/**
|
166 |
*
|
167 |
* @param object $params Hub-provided parameters
|
168 |
* @param string $action Action called
|
|
|
|
|
169 |
*/
|
170 |
+
public function json_purge_extras_list( $params = array(), $action = '' ) {
|
|
|
171 |
}
|
172 |
|
173 |
|
includes/core/service/class-wds-checkup-rest-service.php
CHANGED
@@ -8,7 +8,7 @@
|
|
8 |
/**
|
9 |
* Checkup service REST implementation
|
10 |
*/
|
11 |
-
class Smartcrawl_Checkup_Rest_Service extends Smartcrawl_Checkup_Service_Implementation {
|
12 |
|
13 |
/**
|
14 |
* Gets all verbs known by the service
|
@@ -16,7 +16,7 @@ class Smartcrawl_Checkup_Rest_Service extends Smartcrawl_Checkup_Service_Impleme
|
|
16 |
* @return array
|
17 |
*/
|
18 |
public function get_known_verbs() {
|
19 |
-
return array( 'start', 'result'
|
20 |
}
|
21 |
|
22 |
/**
|
@@ -27,7 +27,7 @@ class Smartcrawl_Checkup_Rest_Service extends Smartcrawl_Checkup_Service_Impleme
|
|
27 |
* @return bool
|
28 |
*/
|
29 |
public function is_cacheable_verb( $verb ) {
|
30 |
-
return
|
31 |
}
|
32 |
|
33 |
/**
|
@@ -41,9 +41,6 @@ class Smartcrawl_Checkup_Rest_Service extends Smartcrawl_Checkup_Service_Impleme
|
|
41 |
if ( empty( $verb ) ) {
|
42 |
return false;
|
43 |
}
|
44 |
-
if ( 'emails' === $verb ) {
|
45 |
-
return $this->get_emails_request_url();
|
46 |
-
}
|
47 |
|
48 |
$domain = apply_filters(
|
49 |
$this->get_filter( 'domain' ),
|
@@ -65,16 +62,6 @@ class Smartcrawl_Checkup_Rest_Service extends Smartcrawl_Checkup_Service_Impleme
|
|
65 |
return $request_url;
|
66 |
}
|
67 |
|
68 |
-
/**
|
69 |
-
* Returns emails-specific request URL
|
70 |
-
*
|
71 |
-
* @return string
|
72 |
-
*/
|
73 |
-
public function get_emails_request_url() {
|
74 |
-
return trailingslashit( $this->get_service_base_url() ) .
|
75 |
-
'emails';
|
76 |
-
}
|
77 |
-
|
78 |
/**
|
79 |
* Gets service base URL
|
80 |
*
|
@@ -108,74 +95,10 @@ class Smartcrawl_Checkup_Rest_Service extends Smartcrawl_Checkup_Service_Impleme
|
|
108 |
* @return array
|
109 |
*/
|
110 |
public function get_request_arguments( $verb ) {
|
111 |
-
if ( 'emails' === $verb ) {
|
112 |
-
return $this->get_emails_request_arguments();
|
113 |
-
}
|
114 |
-
|
115 |
-
$key = $this->get_dashboard_api_key();
|
116 |
-
if ( empty( $key ) ) {
|
117 |
-
return false;
|
118 |
-
}
|
119 |
-
|
120 |
$args = array(
|
121 |
'method' => 'GET',
|
122 |
'timeout' => 40,
|
123 |
'sslverify' => false,
|
124 |
-
'headers' => array(
|
125 |
-
'Authorization' => "Basic {$key}",
|
126 |
-
),
|
127 |
-
);
|
128 |
-
|
129 |
-
return $args;
|
130 |
-
}
|
131 |
-
|
132 |
-
/**
|
133 |
-
* Returns emails-specific request arguments
|
134 |
-
*
|
135 |
-
* @return array
|
136 |
-
*/
|
137 |
-
public function get_emails_request_arguments() {
|
138 |
-
$key = $this->get_dashboard_api_key();
|
139 |
-
if ( empty( $key ) ) {
|
140 |
-
return false;
|
141 |
-
}
|
142 |
-
|
143 |
-
$opts = Smartcrawl_Settings::get_component_options( Smartcrawl_Settings::COMP_CHECKUP );
|
144 |
-
$emails = array();
|
145 |
-
if ( ! empty( $opts['email-recipients'] ) && is_array( $opts['email-recipients'] ) ) {
|
146 |
-
foreach ( $opts['email-recipients'] as $user_id ) {
|
147 |
-
$user = new WP_User( $user_id );
|
148 |
-
$email = $user->user_email;
|
149 |
-
if ( ! empty( $email ) ) {
|
150 |
-
$emails[] = $email;
|
151 |
-
}
|
152 |
-
}
|
153 |
-
$emails = array_values( array_filter( array_unique( $emails ) ) );
|
154 |
-
}
|
155 |
-
|
156 |
-
if ( empty( $emails ) ) {
|
157 |
-
return false;
|
158 |
-
}
|
159 |
-
|
160 |
-
$domain = apply_filters(
|
161 |
-
$this->get_filter( 'domain' ),
|
162 |
-
network_site_url()
|
163 |
-
);
|
164 |
-
if ( empty( $domain ) ) {
|
165 |
-
return false;
|
166 |
-
}
|
167 |
-
|
168 |
-
$args = array(
|
169 |
-
'method' => 'POST',
|
170 |
-
'timeout' => 40,
|
171 |
-
'sslverify' => false,
|
172 |
-
'headers' => array(
|
173 |
-
'Authorization' => "Basic {$key}",
|
174 |
-
),
|
175 |
-
'body' => array(
|
176 |
-
'emails' => $emails,
|
177 |
-
'domain' => $domain,
|
178 |
-
),
|
179 |
);
|
180 |
|
181 |
return $args;
|
@@ -222,11 +145,4 @@ class Smartcrawl_Checkup_Rest_Service extends Smartcrawl_Checkup_Service_Impleme
|
|
222 |
return 'result';
|
223 |
}
|
224 |
|
225 |
-
/**
|
226 |
-
* Gets triggered after done method to ping the service with emails
|
227 |
-
*/
|
228 |
-
public function after_done() {
|
229 |
-
$this->request( 'emails' );
|
230 |
-
}
|
231 |
-
|
232 |
}
|
8 |
/**
|
9 |
* Checkup service REST implementation
|
10 |
*/
|
11 |
+
class Smartcrawl_Checkup_Rest_Service extends Smartcrawl_Checkup_Service_Implementation {
|
12 |
|
13 |
/**
|
14 |
* Gets all verbs known by the service
|
16 |
* @return array
|
17 |
*/
|
18 |
public function get_known_verbs() {
|
19 |
+
return array( 'start', 'result' );
|
20 |
}
|
21 |
|
22 |
/**
|
27 |
* @return bool
|
28 |
*/
|
29 |
public function is_cacheable_verb( $verb ) {
|
30 |
+
return false;
|
31 |
}
|
32 |
|
33 |
/**
|
41 |
if ( empty( $verb ) ) {
|
42 |
return false;
|
43 |
}
|
|
|
|
|
|
|
44 |
|
45 |
$domain = apply_filters(
|
46 |
$this->get_filter( 'domain' ),
|
62 |
return $request_url;
|
63 |
}
|
64 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
/**
|
66 |
* Gets service base URL
|
67 |
*
|
95 |
* @return array
|
96 |
*/
|
97 |
public function get_request_arguments( $verb ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
98 |
$args = array(
|
99 |
'method' => 'GET',
|
100 |
'timeout' => 40,
|
101 |
'sslverify' => false,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
102 |
);
|
103 |
|
104 |
return $args;
|
145 |
return 'result';
|
146 |
}
|
147 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
148 |
}
|
includes/core/service/class-wds-seo-service.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
class Smartcrawl_Seo_Service extends Smartcrawl_Service {
|
4 |
|
5 |
const ERR_BASE_API_ISSUE = 40;
|
6 |
const ERR_BASE_CRAWL_RUN = 51;
|
@@ -9,89 +9,23 @@ class Smartcrawl_Seo_Service extends Smartcrawl_Service { // phpcs:ignore -- We
|
|
9 |
const ERR_BASE_GENERIC = 59;
|
10 |
|
11 |
public function get_known_verbs() {
|
12 |
-
return array(
|
13 |
}
|
14 |
|
15 |
public function is_cacheable_verb( $verb ) {
|
16 |
return false;
|
17 |
}
|
18 |
|
19 |
-
public function get_request_url( $verb ) {
|
20 |
-
if ( empty( $verb ) ) {
|
21 |
-
return false;
|
22 |
-
}
|
23 |
-
|
24 |
-
$domain = apply_filters(
|
25 |
-
$this->get_filter( 'domain' ),
|
26 |
-
network_site_url()
|
27 |
-
);
|
28 |
-
if ( empty( $domain ) ) {
|
29 |
-
return false;
|
30 |
-
}
|
31 |
-
|
32 |
-
$query_url = http_build_query( array(
|
33 |
-
'domain' => $domain,
|
34 |
-
) );
|
35 |
-
$query_url = $query_url && preg_match( '/^\?/', $query_url ) ? $query_url : "?{$query_url}";
|
36 |
-
|
37 |
-
return trailingslashit( $this->get_service_base_url() ) .
|
38 |
-
$verb .
|
39 |
-
$query_url;
|
40 |
-
}
|
41 |
-
|
42 |
public function get_service_base_url() {
|
43 |
-
|
44 |
-
|
45 |
-
$api = apply_filters(
|
46 |
-
$this->get_filter( 'api-endpoint' ),
|
47 |
-
'api'
|
48 |
-
);
|
49 |
-
|
50 |
-
$namespace = apply_filters(
|
51 |
-
$this->get_filter( 'api-namespace' ),
|
52 |
-
'seo-audit/v1'
|
53 |
-
);
|
54 |
-
|
55 |
-
if ( defined( 'WPMUDEV_CUSTOM_API_SERVER' ) && WPMUDEV_CUSTOM_API_SERVER ) {
|
56 |
-
$base_url = trailingslashit( WPMUDEV_CUSTOM_API_SERVER );
|
57 |
-
}
|
58 |
|
59 |
-
|
|
|
60 |
}
|
61 |
|
62 |
public function get_request_arguments( $verb ) {
|
63 |
-
|
64 |
-
$this->get_filter( 'domain' ),
|
65 |
-
network_site_url()
|
66 |
-
);
|
67 |
-
if ( empty( $domain ) ) {
|
68 |
-
return false;
|
69 |
-
}
|
70 |
-
|
71 |
-
$key = $this->get_dashboard_api_key();
|
72 |
-
if ( empty( $key ) ) {
|
73 |
-
return false;
|
74 |
-
}
|
75 |
-
|
76 |
-
$args = array(
|
77 |
-
'method' => 'GET',
|
78 |
-
'timeout' => 40,
|
79 |
-
'sslverify' => false,
|
80 |
-
'headers' => array(
|
81 |
-
'Authorization' => "Basic {$key}",
|
82 |
-
),
|
83 |
-
);
|
84 |
-
|
85 |
-
if ( 'sync' === $verb ) {
|
86 |
-
$ignores = new Smartcrawl_Model_Ignores();
|
87 |
-
|
88 |
-
$args['method'] = 'POST';
|
89 |
-
$args['body'] = array(
|
90 |
-
'ignored_issue_ids' => wp_json_encode( $ignores->get_all() ),
|
91 |
-
);
|
92 |
-
}
|
93 |
-
|
94 |
-
return $args;
|
95 |
}
|
96 |
|
97 |
/**
|
@@ -100,45 +34,7 @@ class Smartcrawl_Seo_Service extends Smartcrawl_Service { // phpcs:ignore -- We
|
|
100 |
* @return bool Status
|
101 |
*/
|
102 |
public function sync_ignores() {
|
103 |
-
|
104 |
-
|
105 |
-
return $this->request( 'sync' );
|
106 |
-
}
|
107 |
-
|
108 |
-
/**
|
109 |
-
* Public wrapper for start service method call
|
110 |
-
*
|
111 |
-
* @return mixed Service response hash on success, (bool) on failure
|
112 |
-
*/
|
113 |
-
public function start() {
|
114 |
-
if ( $this->in_progress() ) {
|
115 |
-
return true; // Already in progress
|
116 |
-
}
|
117 |
-
Smartcrawl_Logger::debug( 'Starting a new crawl' );
|
118 |
-
$result = $this->request( 'start' );
|
119 |
-
if ( $result ) {
|
120 |
-
// Let's check if we're all good here first!
|
121 |
-
if ( ! empty( $result['data']['status'] ) && (int) $result['data']['status'] > 399 ) {
|
122 |
-
// So we had an error API side that's been handled. We're not progressing anymore.
|
123 |
-
// Also, let's preserve previous results.
|
124 |
-
$this->stop();
|
125 |
-
Smartcrawl_Logger::debug( 'API-side isssue, properly handled API side: ' . $result['data']['status'] );
|
126 |
-
} else {
|
127 |
-
// Also, preserve last crawl time if there isn't one
|
128 |
-
$this->set_last_run_timestamp();
|
129 |
-
|
130 |
-
// So crawl start successfully sent.
|
131 |
-
// Clear previous results in anticipation
|
132 |
-
// and mark ourselves as ready to receive status updates
|
133 |
-
$this->_clear_result();
|
134 |
-
$this->set_progress_flag( true );
|
135 |
-
Smartcrawl_Logger::debug( 'Crawl started' );
|
136 |
-
}
|
137 |
-
} else {
|
138 |
-
$this->stop();
|
139 |
-
}
|
140 |
-
|
141 |
-
return $result;
|
142 |
}
|
143 |
|
144 |
/**
|
@@ -194,40 +90,14 @@ class Smartcrawl_Seo_Service extends Smartcrawl_Service { // phpcs:ignore -- We
|
|
194 |
}
|
195 |
|
196 |
/**
|
197 |
-
*
|
198 |
-
*
|
199 |
-
* Attempts to use embedded result, and falls back
|
200 |
-
* to current timestamp
|
201 |
-
*
|
202 |
-
* @return bool
|
203 |
-
*/
|
204 |
-
public function set_last_run_timestamp() {
|
205 |
-
$raw = $this->get_result();
|
206 |
-
$timestamp = ! empty( $raw['end'] ) ? (int) $raw['end'] : 0;
|
207 |
-
if ( empty( $timestamp ) && ! empty( $raw['issues']['previous']['timestamp'] ) ) {
|
208 |
-
$timestamp = (int) $raw['issues']['previous']['timestamp'];
|
209 |
-
}
|
210 |
-
|
211 |
-
if ( empty( $timestamp ) ) {
|
212 |
-
$timestamp = time();
|
213 |
-
}
|
214 |
-
|
215 |
-
return ! ! update_option( $this->get_filter( 'seo-service-last_runtime' ), $timestamp );
|
216 |
-
}
|
217 |
-
|
218 |
-
/**
|
219 |
-
* Public result getter
|
220 |
*
|
221 |
-
* @return mixed
|
222 |
*/
|
223 |
-
public function
|
224 |
-
$
|
225 |
-
|
226 |
-
return $result;
|
227 |
-
}
|
228 |
|
229 |
-
|
230 |
-
return ! ! delete_option( $this->get_filter( 'seo-service-result' ) );
|
231 |
}
|
232 |
|
233 |
/**
|
@@ -236,17 +106,7 @@ class Smartcrawl_Seo_Service extends Smartcrawl_Service { // phpcs:ignore -- We
|
|
236 |
* @return mixed Service response hash on success, (bool)false on failure
|
237 |
*/
|
238 |
public function status() {
|
239 |
-
|
240 |
-
|
241 |
-
Smartcrawl_Logger::debug( 'Requesting crawl status' );
|
242 |
-
$result = $this->request( 'status' );
|
243 |
-
// On success, extend the ping time a bit
|
244 |
-
if ( ! empty( $result ) ) {
|
245 |
-
Smartcrawl_Logger::debug( 'Got status, extending run time' );
|
246 |
-
$this->set_progress_flag( true );
|
247 |
-
}
|
248 |
-
|
249 |
-
return $result;
|
250 |
}
|
251 |
|
252 |
/**
|
@@ -255,29 +115,7 @@ class Smartcrawl_Seo_Service extends Smartcrawl_Service { // phpcs:ignore -- We
|
|
255 |
* @return mixed Service response hash on success, (bool)false on failure
|
256 |
*/
|
257 |
public function result() {
|
258 |
-
|
259 |
-
|
260 |
-
if ( $this->in_progress() ) {
|
261 |
-
Smartcrawl_Logger::debug( 'Requesting live crawl result' );
|
262 |
-
$result = $this->request( 'result' );
|
263 |
-
if ( ! empty( $result ) ) {
|
264 |
-
$this->set_result( $result );
|
265 |
-
$this->set_progress_flag( false );
|
266 |
-
$this->set_last_run_timestamp();
|
267 |
-
Smartcrawl_Logger::debug( 'Live crawl result obtained. Stopping.' );
|
268 |
-
}
|
269 |
-
} else {
|
270 |
-
Smartcrawl_Logger::debug( 'Requesting cached crawl result' );
|
271 |
-
$result = $this->get_result();
|
272 |
-
if ( empty( $result ) ) {
|
273 |
-
Smartcrawl_Logger::debug( 'No cached crawl result. Extending runtime and trying again.' );
|
274 |
-
$this->set_progress_flag( true );
|
275 |
-
|
276 |
-
return $this->result();
|
277 |
-
}
|
278 |
-
}
|
279 |
-
|
280 |
-
return $result;
|
281 |
}
|
282 |
|
283 |
/**
|
@@ -311,6 +149,39 @@ class Smartcrawl_Seo_Service extends Smartcrawl_Service { // phpcs:ignore -- We
|
|
311 |
return max( $recorded, $embedded );
|
312 |
}
|
313 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
314 |
public function handle_error_response( $response, $verb ) {
|
315 |
$body = wp_remote_retrieve_body( $response );
|
316 |
$data = json_decode( $body, true );
|
@@ -337,5 +208,9 @@ class Smartcrawl_Seo_Service extends Smartcrawl_Service { // phpcs:ignore -- We
|
|
337 |
return true;
|
338 |
}
|
339 |
|
|
|
|
|
|
|
|
|
340 |
|
341 |
}
|
1 |
<?php
|
2 |
|
3 |
+
class Smartcrawl_Seo_Service extends Smartcrawl_Service {
|
4 |
|
5 |
const ERR_BASE_API_ISSUE = 40;
|
6 |
const ERR_BASE_CRAWL_RUN = 51;
|
9 |
const ERR_BASE_GENERIC = 59;
|
10 |
|
11 |
public function get_known_verbs() {
|
12 |
+
return array();
|
13 |
}
|
14 |
|
15 |
public function is_cacheable_verb( $verb ) {
|
16 |
return false;
|
17 |
}
|
18 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
public function get_service_base_url() {
|
20 |
+
return false;
|
21 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
|
23 |
+
public function get_request_url( $verb ) {
|
24 |
+
return false;
|
25 |
}
|
26 |
|
27 |
public function get_request_arguments( $verb ) {
|
28 |
+
return array();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
}
|
30 |
|
31 |
/**
|
34 |
* @return bool Status
|
35 |
*/
|
36 |
public function sync_ignores() {
|
37 |
+
return false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
}
|
39 |
|
40 |
/**
|
90 |
}
|
91 |
|
92 |
/**
|
93 |
+
* Public wrapper for start service method call
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
94 |
*
|
95 |
+
* @return mixed Service response hash on success, (bool) on failure
|
96 |
*/
|
97 |
+
public function start() {
|
98 |
+
$this->stop();
|
|
|
|
|
|
|
99 |
|
100 |
+
return false;
|
|
|
101 |
}
|
102 |
|
103 |
/**
|
106 |
* @return mixed Service response hash on success, (bool)false on failure
|
107 |
*/
|
108 |
public function status() {
|
109 |
+
return false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
110 |
}
|
111 |
|
112 |
/**
|
115 |
* @return mixed Service response hash on success, (bool)false on failure
|
116 |
*/
|
117 |
public function result() {
|
118 |
+
return false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
119 |
}
|
120 |
|
121 |
/**
|
149 |
return max( $recorded, $embedded );
|
150 |
}
|
151 |
|
152 |
+
/**
|
153 |
+
* Public result getter
|
154 |
+
*
|
155 |
+
* @return mixed result
|
156 |
+
*/
|
157 |
+
public function get_result() {
|
158 |
+
$result = get_option( $this->get_filter( 'seo-service-result' ), false );
|
159 |
+
|
160 |
+
return $result;
|
161 |
+
}
|
162 |
+
|
163 |
+
/**
|
164 |
+
* Sets service last run time
|
165 |
+
*
|
166 |
+
* Attempts to use embedded result, and falls back
|
167 |
+
* to current timestamp
|
168 |
+
*
|
169 |
+
* @return bool
|
170 |
+
*/
|
171 |
+
public function set_last_run_timestamp() {
|
172 |
+
$raw = $this->get_result();
|
173 |
+
$timestamp = ! empty( $raw['end'] ) ? (int) $raw['end'] : 0;
|
174 |
+
if ( empty( $timestamp ) && ! empty( $raw['issues']['previous']['timestamp'] ) ) {
|
175 |
+
$timestamp = (int) $raw['issues']['previous']['timestamp'];
|
176 |
+
}
|
177 |
+
|
178 |
+
if ( empty( $timestamp ) ) {
|
179 |
+
$timestamp = time();
|
180 |
+
}
|
181 |
+
|
182 |
+
return ! ! update_option( $this->get_filter( 'seo-service-last_runtime' ), $timestamp );
|
183 |
+
}
|
184 |
+
|
185 |
public function handle_error_response( $response, $verb ) {
|
186 |
$body = wp_remote_retrieve_body( $response );
|
187 |
$data = json_decode( $body, true );
|
208 |
return true;
|
209 |
}
|
210 |
|
211 |
+
private function _clear_result() {
|
212 |
+
return ! ! delete_option( $this->get_filter( 'seo-service-result' ) );
|
213 |
+
}
|
214 |
+
|
215 |
|
216 |
}
|
includes/css/app.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.cf:after,.wpmud #header:after,.wpmud .dev-box .box-title:after,.wpmud .wds-box-footer:after,.wpmud .uptime-message:after,.wpmud .wds-table-fields:after,.wpmud .wds-keyword-pairs .wds-keyword-pair:after,.wpmud .wds-styleable-file-input:after,.wpmud .wds-preset-separators:after,.wpmud .wds-automatic-linking:after,.wpmud .wds-moz-api-credentials:after{content:"";display:table;clear:both}@media only screen and (max-width: 1200px){.hide-to-large{display:none}}@media only screen and (max-width: 1100px){.hide-to-desktop{display:none}}.wpmud .select2-container .select2-selection--single{background:#FAFAFA;border-color:#ddd;height:44px}.wpmud .select2-container .select2-selection--single .select2-selection__rendered{padding:8px 45px 8px 15px;line-height:1;font:500 15px/25px "Roboto"}.wpmud .select2-container .select2-selection--single .select2-selection__arrow{height:39px;width:45px}.wpmud .select2-container .select2-selection--single .select2-selection__arrow::before{content:"\65";display:block;font-family:"WPMU-DEV-App-Icons",sans-serif;font-size:20px;margin-top:9px;text-align:center}.wpmud .select2-container .select2-selection--single b[role="presentation"]{border-color:transparent}.wpmud .select2-container .select2-dropdown{background:#FAFAFA;border-color:#ddd}.wpmud .select2-container .select2-results__option{margin:0;font:500 15px/25px "Roboto";padding:8px 15px}.wpmud .select2-container .select2-results__option--highlighted[aria-selected]{background-color:rgba(0,0,0,0.05);color:#414042}.wpmud .select2-container .select2-results__option[aria-selected=true]{background-color:#17a8e3;color:#fff}.wpmud .select2-container.select2-container--open .select2-selection--single .select2-selection__arrow::before{content:"\72"}.wpmud .select2-container.select2-container--above .select2-selection--single .select2-selection__arrow::before{content:"\72"}.wpmud .select2-container.select2-container--above.select2-container--open .select2-selection--single .select2-selection__arrow::before{content:"\65"}.wpmud .select2-container.select2-container--above.select2-container--open .select2-selection--single .select2-selection__rendered{padding-top:9px}.wds-select2-dropdown-container .select2-selection--single{background:#FAFAFA;border-color:#ddd;height:44px}.wds-select2-dropdown-container .select2-selection--single .select2-selection__rendered{padding:8px 45px 8px 15px;line-height:1;font:500 15px/25px "Roboto"}.wds-select2-dropdown-container .select2-selection--single .select2-selection__arrow{height:39px;width:45px}.wds-select2-dropdown-container .select2-selection--single .select2-selection__arrow::before{content:"\65";display:block;font-family:"WPMU-DEV-App-Icons",sans-serif;font-size:20px;margin-top:9px;text-align:center}.wds-select2-dropdown-container .select2-selection--single b[role="presentation"]{border-color:transparent}.wds-select2-dropdown-container .select2-dropdown{background:#FAFAFA;border-color:#ddd}.wds-select2-dropdown-container .select2-results__option{margin:0;font:500 15px/25px "Roboto";padding:8px 15px}.wds-select2-dropdown-container .select2-results__option--highlighted[aria-selected]{background-color:rgba(0,0,0,0.05);color:#414042}.wds-select2-dropdown-container .select2-results__option[aria-selected=true]{background-color:#17a8e3;color:#fff}.wds-select2-dropdown-container.select2-container--open .select2-selection--single .select2-selection__arrow::before{content:"\72"}.wds-select2-dropdown-container.select2-container--above .select2-selection--single .select2-selection__arrow::before{content:"\72"}.wds-select2-dropdown-container.select2-container--above.select2-container--open .select2-selection--single .select2-selection__arrow::before{content:"\65"}.wds-select2-dropdown-container.select2-container--above.select2-container--open .select2-selection--single .select2-selection__rendered{padding-top:9px}.wpmud{-webkit-font-smoothing:antialiased}.wpmud-html{background-color:#f1f1f1}.wpmud *{box-sizing:border-box}.wpmud strong,.wpmud b{font-weight:500}.wpmud p{color:#666;line-height:30px;margin-bottom:30px}.wpmud #header{margin-bottom:30px}.wpmud #header h1{color:#333;margin:0 0 30px;display:table;float:left}.wpmud #header h1:last-child{margin-bottom:0}.wpmud #header h1 .wds-toggle{vertical-align:top;width:42px}.wpmud #header ~ .sub-header{margin-top:30px;margin-bottom:30px}.wpmud #header .actions{float:right}.wpmud #header .actions .button{vertical-align:middle;margin-left:20px}.wpmud #header .notice,.wpmud #header div.error,.wpmud #header div.updated{clear:both}.wpmud #wpbody{background:transparent}.wpmud #container{margin:30px 30px 0 10px}.wpmud .dev-box{padding:0}.wpmud .dev-box:last-child{margin-bottom:0}.wpmud .dev-box .box-title{clear:both;height:inherit;margin:0;padding:0 30px}.wpmud .dev-box .box-title h3{float:left;font-size:15px;color:#333}.wpmud .dev-box .box-title .buttons.left{float:left;margin:10px 0 0 20px}.wpmud .dev-box .box-content{padding:30px;word-wrap:break-word}.wpmud .dev-box .box-content.no-padding{padding:0}.wpmud .dev-box .box-content.no-vertical-padding{padding-top:0;padding-bottom:0}.wpmud .dev-box .box-content.no-side-padding{padding-right:0;padding-left:0}.wpmud .dev-box .box-content p{margin-bottom:20px}.wpmud .dev-box .box-content p:last-of-type:last-child{margin-bottom:0}.wpmud .dev-box .box-content .wds-standalone-bottom{margin-bottom:0}.wpmud .dev-box .box-content .buttons{margin-top:20px}.wpmud .dev-box .box-content .buttons.buttons-on-left{text-align:left}.wpmud .dev-box .box-content .buttons.buttons-on-right{text-align:right}.wpmud .dev-box .box-footer{margin-top:0;padding:0 30px 30px 30px}.wpmud .dev-box .box-footer.bordered-top{border-top:2px solid #f4f4f4;padding-top:30px}.wpmud .dev-box .box-footer.modal{margin-top:30px;padding:0}.wpmud .dev-box .box-footer.buttons .select-wrapper{display:inline-block}.wpmud .dev-box .box-footer.buttons .select-wrapper>*{display:inline-block}.wpmud .dev-box .box-footer.buttons .select-wrapper>label{float:left;line-height:43px;margin:0 15px 0 0;padding:0;vertical-align:middle}.wpmud .dev-box .box-footer.buttons .button,.wpmud .dev-box .box-footer.buttons input[type="submit"]{display:inline-block;margin-left:20px}.wpmud .dev-box .box-footer.buttons .button:first-child,.wpmud .dev-box .box-footer.buttons input[type="submit"]:first-child{margin-left:0}.wpmud .wds-modal *{box-sizing:border-box}.wpmud .wds-modal.dev-overlay .title h3{color:#333;font-family:"Roboto Condensed","Roboto",Arial,sans-serif;font-size:15px}.wpmud .wds-modal.dev-overlay .back{background:#333;opacity:0.95}.wpmud .wds-modal .box{padding:0}.wpmud .wds-modal .box .title{margin:0;padding:0 30px}.wpmud .wds-modal .box .content{padding:30px}.wpmud .wds-box-footer{border-top:1px solid #EAEAEA;margin:30px -30px -30px;padding:30px}.wpmud form>div.buttons{text-align:center}.wpmud form .vertical-tabs{padding:15px 0 0}.wpmud .vertical-tabs{margin-bottom:30px}.wpmud .vertical-tabs>.tab input[type="radio"]{display:none}.wpmud .vertical-tabs>.tab>.wds-content-tabs{padding:0;border-radius:7px;left:200px}.wpmud .vertical-tabs>.tab>label{color:#888;font:400 15px/20px "Roboto",Arial,sans-serif;padding:5px 15px;border-radius:20px;text-transform:inherit;width:170px;margin:0 0 10px}.wpmud .vertical-tabs>.tab>label:hover{color:#333}.wpmud .vertical-tabs>.tab>label:after{border-bottom:none}.wpmud .vertical-tabs>.tab input[type="radio"]:checked+label{color:#333;background:#eaeaea;box-shadow:none;padding-top:5px;font-weight:500}.wpmud .vertical-tabs .wds-content-tabs .tab-title{font-weight:600;line-height:24px;margin:0;max-width:100%;padding:18px 30px;border-bottom:1px solid #EAEAEA;text-align:left;font-size:15px;color:#333}.wpmud .vertical-tabs .wds-content-tabs .wds-content-tabs-inner{padding:30px;position:relative}.wpmud .vertical-tabs .wds-content-tabs.wds-accordion{background:#f9f9f9}.wpmud .vertical-tabs .wds-content-tabs.wds-accordion .tab-title{border-radius:7px 7px 0 0;background:#FFF;border-bottom:none}.wpmud .vertical-tabs .wds-content-tabs.wds-accordion .tab-sub-title .toggle{position:absolute;right:80px}.wpmud .vertical-tabs .wds-content-tabs.wds-accordion .tab-sub-title .wds-archive-disabled-label{background:#f2f2f2;border-radius:13px;color:#aaaaaa;display:none;font-size:13px;margin-left:6px;padding:5px 16px;vertical-align:top}.wpmud .vertical-tabs .wds-content-tabs.wds-accordion .tab-sub-title.wds-archive-disabled{color:#888}.wpmud .vertical-tabs .wds-content-tabs.wds-accordion .tab-sub-title.wds-archive-disabled .wds-archive-disabled-label{display:inline}.wpmud .row-inside-form{margin-bottom:30px;padding:0}.wpmud .wds-footer-text{margin-top:20px;text-align:left}.wpmud .wds-group{margin-bottom:15px}.wpmud .wds-group:last-child{margin-bottom:0}.wpmud .block-section-footer{margin-top:30px}.wpmud .wds-seamless-footer{background:#FFF;border-radius:0 0 7px 7px;padding:30px;border-top:1px solid #EAEAEA;text-align:right}.wpmud .wds-accordion .wds-seamless-footer{border-top:none}.wpmud .toggle.toggle{line-height:1}.wpmud .toggle.toggle .toggle-label{background:transparent;border:1px solid #ccc;height:18px;width:40px;margin-left:0}.wpmud .toggle.toggle .toggle-label::after{background:#777771;height:18px;width:18px;border-radius:100%;margin:0;box-shadow:none;position:relative;top:0}.wpmud .toggle.toggle .toggle-label::before{display:none}.wpmud .toggle.toggle .toggle-checkbox:hover+.toggle-label::after{background:#777771;box-shadow:none}.wpmud .toggle.toggle .toggle-checkbox+.toggle-label::after{margin-left:-1px;margin-top:-1px}.wpmud .toggle.toggle .toggle-checkbox:checked+.toggle-label{background:#f9f9f9}.wpmud .toggle.toggle .toggle-checkbox:checked+.toggle-label::after{background:#17a8e3;margin-left:22px}.wpmud .toggle.toggle.wds-inverted-toggle .toggle-label{background:#f9f9f9}.wpmud .toggle.toggle.wds-inverted-toggle .toggle-label::after{background:#17a8e3;margin-left:22px}.wpmud .toggle.toggle.wds-inverted-toggle .toggle-checkbox:hover+.toggle-label::after{background:#17a8e3}.wpmud .toggle.toggle.wds-inverted-toggle .toggle-checkbox:checked+.toggle-label{background:transparent}.wpmud .toggle.toggle.wds-inverted-toggle .toggle-checkbox:checked+.toggle-label::after{margin-left:-1px;background:#777771}.wpmud .wds-form .input,.wpmud .wds-form input[type="text"],.wpmud .wds-form input[type="email"],.wpmud .wds-form input[type="search"],.wpmud .wds-form input[type="password"],.wpmud .wds-form input[type="url"],.wpmud .wds-form select,.wpmud .wds-form textarea{background:#FAFAFA;border-color:#ddd;color:#333}.wpmud .wds-form .input:hover:not(:focus):not(:active),.wpmud .wds-form .input:focus,.wpmud .wds-form .input:active,.wpmud .wds-form input[type="text"]:hover:not(:focus):not(:active),.wpmud .wds-form input[type="text"]:focus,.wpmud .wds-form input[type="text"]:active,.wpmud .wds-form input[type="email"]:hover:not(:focus):not(:active),.wpmud .wds-form input[type="email"]:focus,.wpmud .wds-form input[type="email"]:active,.wpmud .wds-form input[type="search"]:hover:not(:focus):not(:active),.wpmud .wds-form input[type="search"]:focus,.wpmud .wds-form input[type="search"]:active,.wpmud .wds-form input[type="password"]:hover:not(:focus):not(:active),.wpmud .wds-form input[type="password"]:focus,.wpmud .wds-form input[type="password"]:active,.wpmud .wds-form input[type="url"]:hover:not(:focus):not(:active),.wpmud .wds-form input[type="url"]:focus,.wpmud .wds-form input[type="url"]:active,.wpmud .wds-form select:hover:not(:focus):not(:active),.wpmud .wds-form select:focus,.wpmud .wds-form select:active,.wpmud .wds-form textarea:hover:not(:focus):not(:active),.wpmud .wds-form textarea:focus,.wpmud .wds-form textarea:active{background:#ffffff;border-color:#ddd}.wpmud .wds-form .input::-webkit-input-placeholder,.wpmud .wds-form input[type="text"]::-webkit-input-placeholder,.wpmud .wds-form input[type="email"]::-webkit-input-placeholder,.wpmud .wds-form input[type="search"]::-webkit-input-placeholder,.wpmud .wds-form input[type="password"]::-webkit-input-placeholder,.wpmud .wds-form input[type="url"]::-webkit-input-placeholder,.wpmud .wds-form select::-webkit-input-placeholder,.wpmud .wds-form textarea::-webkit-input-placeholder{color:#aaaaaa}.wpmud .wds-form .input:-ms-input-placeholder,.wpmud .wds-form input[type="text"]:-ms-input-placeholder,.wpmud .wds-form input[type="email"]:-ms-input-placeholder,.wpmud .wds-form input[type="search"]:-ms-input-placeholder,.wpmud .wds-form input[type="password"]:-ms-input-placeholder,.wpmud .wds-form input[type="url"]:-ms-input-placeholder,.wpmud .wds-form select:-ms-input-placeholder,.wpmud .wds-form textarea:-ms-input-placeholder{color:#aaaaaa}.wpmud .wds-form .input::placeholder,.wpmud .wds-form input[type="text"]::placeholder,.wpmud .wds-form input[type="email"]::placeholder,.wpmud .wds-form input[type="search"]::placeholder,.wpmud .wds-form input[type="password"]::placeholder,.wpmud .wds-form input[type="url"]::placeholder,.wpmud .wds-form select::placeholder,.wpmud .wds-form textarea::placeholder{color:#aaaaaa}.wpmud .wds-form .input:disabled,.wpmud .wds-form .input.disabled,.wpmud .wds-form input[type="text"]:disabled,.wpmud .wds-form input[type="text"].disabled,.wpmud .wds-form input[type="email"]:disabled,.wpmud .wds-form input[type="email"].disabled,.wpmud .wds-form input[type="search"]:disabled,.wpmud .wds-form input[type="search"].disabled,.wpmud .wds-form input[type="password"]:disabled,.wpmud .wds-form input[type="password"].disabled,.wpmud .wds-form input[type="url"]:disabled,.wpmud .wds-form input[type="url"].disabled,.wpmud .wds-form select:disabled,.wpmud .wds-form select.disabled,.wpmud .wds-form textarea:disabled,.wpmud .wds-form textarea.disabled{color:#aaaaaa !important;background-color:#ffffff !important;border:1px solid #ddd !important}.wpmud .wds-form .select-container{background:#FAFAFA;border-color:#ddd}.wpmud .wds-form .select-container-no-style{background:transparent;border-color:transparent}.wpmud .wds-form .select-container .dropdown-handle{background:#FAFAFA;border-color:#ddd;border-left-width:0}.wpmud .wds-form .select-container .dropdown-handle .wdv-icon:before{font-family:"WPMU-DEV-App-Icons",sans-serif;content:"\65";color:#A6A6A6;font-size:20px}.wpmud .wds-form .select-container .list-value{color:#333}.wpmud .wds-form .select-container.active:hover .list-value,.wpmud .wds-form .select-container.active .list-value:hover{color:#333}.wpmud .wds-form .select-container.active .dropdown-handle{background:#ffffff;border-left-width:1px}.wpmud button,.wpmud .button{border-radius:4px;padding:10px 20px;background:#17a8e3}.wpmud button:hover:not(:focus):not(:active),.wpmud .button:hover:not(:focus):not(:active){background:#41baec}.wpmud button:active,.wpmud button:focus,.wpmud .button:active,.wpmud .button:focus{background:#1286b5}.wpmud button.button-light,.wpmud .button.button-light{background:transparent}.wpmud button.button-light:hover:not(:focus):not(:active),.wpmud .button.button-light:hover:not(:focus):not(:active){background:#f4f4f4}.wpmud .media-modal .media-frame h2{max-width:100%;font-family:inherit}.wpmud .media-modal .media-frame .media-button{padding:0 12px;text-transform:none}.wpmud .media-modal .media-frame .search,.wpmud .media-modal .media-frame .setting input,.wpmud .media-modal .media-frame .setting textarea,.wpmud .media-modal .media-frame .attachment-filters{border-radius:0;box-shadow:0 1px 2px rgba(0,0,0,0.07) inset;font-size:12px;line-height:1.4em;padding:4px}.wpmud .media-modal .media-frame .search:not(:disabled):not([readonly]),.wpmud .media-modal .media-frame .setting input:not(:disabled):not([readonly]),.wpmud .media-modal .media-frame .setting textarea:not(:disabled):not([readonly]),.wpmud .media-modal .media-frame .attachment-filters:not(:disabled):not([readonly]){background-color:#fff;border:1px solid #ddd}.wpmud .media-modal .media-frame .search{margin-top:11px}.wpmud .media-modal .media-frame .setting{padding:0}.wpmud .media-modal .media-frame .attachment-filters{display:inline;width:100px;max-width:200px;padding:0}.wpmud .media-modal .media-frame .delete-attachment,.wpmud .media-modal .media-frame .trash-attachment,.wpmud .media-modal .media-frame .untrash-attachment{font-family:inherit;font-size:inherit;text-transform:none}.wpmud .media-modal .media-modal-close{background:transparent;border:none;color:#666;cursor:pointer;height:50px;margin:0;outline:medium none;padding:0;position:absolute;right:0;top:0;transition:color 0.1s ease-in-out 0s, background 0.1s ease-in-out 0s;width:50px;z-index:1000}.wpmud .media-modal .media-modal-close:hover:not(:focus):not(:active),.wpmud .media-modal .media-modal-close:hover{color:#00A0D2;background:transparent}.wpmud .notice,.wpmud div.error,.wpmud div.updated{text-align:left}.wpmud #wpbody-content>.error,.wpmud #wpbody-content>.updated{margin:30px 20px 30px 0}.wpmud .wds-image{display:block;height:auto;max-width:100%}.wpmud .wds-image-center{margin-right:auto;margin-left:auto}.wpmud .wds-image-standalone{margin-bottom:30px}.wpmud .wds-listing{margin:0}.wpmud .wds-listing li{font:400 15px/21px "Roboto",Arial,sans-serif;margin-top:20px;margin-bottom:0}.wpmud .wds-listing li:first-child{margin-top:0}.wpmud .wds-listing li strong{font-weight:500}.wpmud .wds-listing li.cta-alt:before{color:#BE1E2D}.wpmud .wds-listing.bold li{font-weight:500}.wpmud .wds-listing-ordered{padding-left:20px}.wpmud .wds-listing .wds-listing-label{color:#777771;font:400 20px/26px "Roboto Condensed","Roboto",Arial,sans-serif;margin-bottom:15px}.wpmud .wds-pre{border-left:none}.wpmud .wds-pre-inline{display:inline-block;margin:0;font-style:italic}.wpmud .wds-title-alt{font-size:30px;font-weight:400;line-height:40px;max-width:none;overflow:hidden;text-overflow:ellipsis;text-transform:none;white-space:nowrap}.wpmud .wds-page-desc{color:#444;font-family:'Open Sans', Arial, sans-serif;font-weight:400;font-size:14px;line-height:20px}.wpmud .uptime-message>*{float:left;line-height:40px;margin-right:10px}.wpmud .uptime-message .wds-dashicons-box-title{margin:0 10px 0 0;height:40px}.wpmud .uptime-message .uptime>span{display:block}.wpmud .uptime-message .uptime-result{font-size:22px;font-weight:700;line-height:26px}.wpmud .uptime-message .uptime-label{color:#bfbfbf;font:400 13px/14px "Roboto Condensed","Roboto",Arial,sans-serif;text-transform:uppercase}.wds-qtip{background:#0B2F3F;border-color:#0B2F3F;color:#FFF;padding:3px}.wpmud .wds-disabled-component{text-align:center}.wpmud .wds-disabled-component .wds-disabled-image{width:128px;height:auto}.wpmud .wds-disabled-component p{margin-bottom:30px}.wpmud .wds-disabled-component .wds-notice{margin-bottom:30px}.wpmud .wds-has-tooltip{cursor:pointer}.wpmud .button.large{padding:20px}.wpmud .button-light-wds{box-shadow:0 0 0 2px #BABABA inset}.wpmud .button-fields-trigger{background:transparent;border:1px solid transparent;color:#888888;font-size:12px;line-height:16px;font-weight:400;padding:12px 12px 9px 12px;transition:background .3s, color .3s, opacity .3s}.wpmud .button-fields-trigger:hover:not(:focus):not(:active),.wpmud .button-fields-trigger:hover,.wpmud .button-fields-trigger:active,.wpmud .button-fields-trigger:focus{background:#EAEAEA;border:1px solid transparent;color:#777771}.wpmud .button.button-cta-alt{background:#BE1E2D;box-shadow:0 3px 0 0 #991825}.wpmud .button.button-cta-alt:hover:not(:focus):not(:active){background:#991825;box-shadow:0 3px 0 0 #660000}.wpmud .button.button-cta-alt:active,.wpmud .button.button-cta-alt:focus{box-shadow:0 3px 0 0 #660000;background:#991825;background:linear-gradient(to bottom, #991825 0%, #BE1E2D 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#991825', endColorstr='#BE1E2D', GradientType=0)}.wpmud .button.button-cta-dark{background:#414042;box-shadow:0 3px 0 0 #231F20}.wpmud .button.button-cta-dark:hover:not(:focus):not(:active){background:#231F20;box-shadow:0 3px 0 0 #0E0D0F}.wpmud .button.button-cta-dark:active,.wpmud .button.button-cta-dark:focus{box-shadow:0 3px 0 0 #0E0D0F;background:#231F20;background:linear-gradient(to bottom, #231F20 0%, #414042 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#231F20', endColorstr='#414042', GradientType=0)}.wpmud .button-white{background:transparent;border:2px solid #fff;box-shadow:none;color:#fff;padding:8px 20px;transition:background .3s, border-color .3s, color .3s, opacity .3s}.wpmud .button-white:hover:not(:focus):not(:active){background:#fff;border-color:#fff;box-shadow:none;color:#4A4A4A}.wpmud .button-white:active,.wpmud .button-white:focus{color:#4A4A4A;box-shadow:none;border:2px solid #E6E6E6;background:#E6E6E6;background:linear-gradient(to bottom, #E6E6E6 0%, #fff 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#E6E6E6', endColorstr='#fff', GradientType=0);transform:inherit}.wpmud .button-yellow-alt{background:transparent;border:2px solid #FECF2F;box-shadow:none;color:#FECF2F;padding:8px 20px;transition:background .3s, border-color .3s, color .3s, opacity .3s}.wpmud .button-yellow-alt:hover:not(:focus):not(:active){background:#FECF2F;border-color:#FECF2F;box-shadow:none;color:#fff}.wpmud .button-yellow-alt:active,.wpmud .button-yellow-alt:focus{color:#FFFFFF;box-shadow:none;border-color:#E5B616;background:#E5B616;background:linear-gradient(to bottom, #E5B616 0%, #FECF2F 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#E5B616', endColorstr='#FECF2F', GradientType=0)}.wpmud .button-dark{background:#888;color:#ffffff}.wpmud .button-dark:hover:not(:focus):not(:active),.wpmud .button-dark:hover,.wpmud .button-dark:focus,.wpmud .button-dark:active{background:#6f6f6f;color:#ffffff}.wpmud .button-small.button{font-family:"Roboto",Arial,sans-serif;font-size:12px;line-height:16px;padding:7px 16px}.wpmud .button-dark-o{background:transparent;border:2px solid #666;box-shadow:none;color:#666;padding:8px 20px;font-family:"Roboto",Arial,sans-serif;font-weight:500}.wpmud .button-dark-o:hover:not(:focus):not(:active),.wpmud .button-dark-o:hover,.wpmud .button-dark-o:focus,.wpmud .button-dark-o:active{background:transparent;border:2px solid gray;color:gray}.wpmud .button-dark-o.button-small.button{padding:5px 16px}.wpmud .button-pro{border:2px solid #1ABC9C;border-radius:20px;color:#1ABC9C;font-family:"Roboto",Arial,sans-serif;font-size:12px;font-weight:500;line-height:16px;text-transform:uppercase;background:transparent}.wpmud .button-pro:hover:not(:focus):not(:active),.wpmud .button-pro:hover,.wpmud .button-pro:focus,.wpmud .button-pro:active{background:transparent;border:2px solid #148f77;color:#148f77}.wpmud .wds-button-with-loader.wds-item-loading::before{font-size:18px}.wpmud .wds-button-with-left-loader.wds-item-loading::before{right:110%}.wpmud .wds-button-with-right-loader.wds-item-loading::before{left:110%}.wpmud input[type="number"],.wpmud input[type="url"]{background:#FFF;border:1px solid #ddd;border-radius:4px;box-shadow:none;color:#999;display:block;font:500 15px/25px "Roboto",Arial,sans-serif;margin:0px 0px 15px 0px;max-width:100%;padding:7px 15px 6px;transition-property:background, color, border-color;transition-duration:0.3s;width:100%}.wpmud input[type="number"]:focus,.wpmud input[type="url"]:focus{border-color:#BBB;color:#3D464D}.wpmud input[type="number"]:focus::-webkit-input-placeholder,.wpmud input[type="url"]:focus::-webkit-input-placeholder{transition:opacity 0.3s 0.4s ease;opacity:0.25}.wpmud input[type="number"]:focus:-moz-placeholder,.wpmud input[type="url"]:focus:-moz-placeholder{transition:opacity 0.3s 0.4s ease;opacity:0.25}.wpmud input[type="number"]:focus::-moz-placeholder,.wpmud input[type="url"]:focus::-moz-placeholder{transition:opacity 0.3s 0.4s ease;opacity:0.25}.wpmud input[type="number"]:focus:-ms-input-placeholder,.wpmud input[type="url"]:focus:-ms-input-placeholder{transition:opacity 0.3s 0.4s ease;opacity:0.25}.wpmud input[type="number"]:hover:not(:focus),.wpmud input[type="url"]:hover:not(:focus){color:#3D464D}.wpmud input[type="number"]:disabled,.wpmud input[type="url"]:disabled{background:#F6F6F6 !important;color:#AAA !important;border-color:#ddd !important;cursor:default}.wpmud input[type="number"]::-webkit-input-placeholder,.wpmud input[type="url"]::-webkit-input-placeholder{position:relative;top:0}.wpmud input[type="number"]:-moz-placeholder,.wpmud input[type="url"]:-moz-placeholder{position:relative;top:0}.wpmud input[type="number"]::-moz-placeholder,.wpmud input[type="url"]::-moz-placeholder{position:relative;top:0}.wpmud input[type="number"]:-ms-input-placeholder,.wpmud input[type="url"]:-ms-input-placeholder{position:relative;top:0}.wpmud .wds-checkbox,.wpmud .wds-radio{box-shadow:none;line-height:20px;height:20px;min-width:20px;width:20px}.wpmud .wds-checkbox:focus,.wpmud .wds-radio:focus{border-color:#19B99A}.wpmud .wds-checkbox-width-label,.wpmud .wds-radio-width-label{margin-right:0}.wpmud .wds-checkbox{border-radius:4px}.wpmud .wds-checkbox:before{color:#19B99A;height:18px;line-height:20px;margin:0 0 0 -2px;width:18px}.wpmud .wds-checkbox:checked{border-color:#19B99A}.wpmud .wds-checkbox:checked:before{color:#19B99A;height:18px;line-height:20px;margin:0 0 0 -2px;width:18px}.wpmud .wds-checkbox-container input[type="checkbox"]{display:none}.wpmud .wds-checkbox-container label{height:16px;width:16px;padding:0;margin:0}.wpmud .wds-checkbox-container span{background:#FAFAFA;border:1px solid #ddd;height:16px;width:16px;border-radius:4px;display:block}.wpmud .wds-checkbox-container input[type="checkbox"]:checked+span{background:#17a8e3;border:#17a8e3}.wpmud .wds-checkbox-container input[type="checkbox"]:checked+span:before{color:#fff;content:"\7a";display:block;font-family:"WPMU-DEV-App-Icons";font-size:10px;line-height:1;padding:3px}.wpmud .wds-radio{margin-top:0}.wpmud .wds-radio:checked:before{background-color:#19B99A;height:10px;line-height:20px;width:10px}.wpmud .wds-fieldset-legend,.wpmud .wds-label{color:#333;display:block;font-size:15px;line-height:30px;margin-bottom:0;padding:0;text-transform:capitalize;transition:color .4s}.wpmud .wds-fieldset{margin-top:20px}.wpmud .wds-fieldset:first-child{margin-top:0}.wpmud .wds-fieldset-standalone{margin-bottom:20px}.wpmud .wds-fieldset-grey{color:#4A4A4A}.wpmud .wds-label:hover{color:#808080}.wpmud .wds-label.link{color:#19B4CF;display:inline-block;margin:0;text-transform:none}.wpmud .wds-label-inline{display:inline-block}.wpmud .wds-label-inline-left{margin:0 15px 0 0}.wpmud .wds-label-inline-right{margin:0 0 0 15px;max-width:450px}.wpmud .wds-label-description{color:#808080;display:block;font-size:13px;line-height:22px;margin-top:0;margin-bottom:20px}.wpmud .wds-label-radio{color:#4A4A4A}.wpmud .wds-field-legend{color:#808080;display:block;font-size:13px;line-height:18px;margin-top:10px}.wpmud .wds-group-field .wds-field,.wpmud .wds-group-field .wds-select,.wpmud .wds-group-field .wds-textarea{margin-bottom:5px}.wpmud .wds-group-field.has-field-label .wds-field{display:inline-block;width:auto}.wpmud .wds-group-field .wds-field-label{color:#808080;font:400 15px/20px "Roboto",Arial,sans-serif}.wpmud .wds-fieldset-fields{margin-top:15px}.wpmud .wds-fieldset-fields-group{margin:5px 0 0}.wpmud .wds-fieldset-fields-group>p{display:inline-block;margin:0 20px 10px 0 !important}.wpmud .wds-fieldset-fields-group>p:last-child{margin-right:0}.wpmud .wds-fieldset-fields-group .wds-label-inline-right{margin-left:5px}.wpmud .wds-table-fields-group{margin-top:20px}.wpmud .wds-table-fields-group:first-child{margin-top:0}.wpmud .wds-table-fields .label,.wpmud .wds-table-fields .fields{display:block;float:left}.wpmud .wds-table-fields .label{margin-top:5px;padding-right:30px;width:30%}.wpmud .wds-table-fields .label-width-options{margin-top:5px}.wpmud .wds-table-fields .label-long{margin-top:2px}.wpmud .wds-table-fields .label .wds-label{margin-bottom:0}.wpmud .wds-table-fields .fields{width:70%}.wpmud .wds-table-fields .fields .wds-label{color:#666}.wpmud .wds-table-fields .fields-with-legend .wds-field{margin-bottom:5px}.wpmud .wds-table-fields .fields-with-legend-large .wds-field{margin-bottom:10px}.wpmud .wds-table-fields .fields.has-trigger-button{position:relative}.wpmud .wds-table-fields .note{background-color:#f5f5f5;border-radius:3px;clear:both;padding:20px;text-align:center;width:100%}.wpmud .wds-table-fields .note p{color:#4A4A4A;font-weight:400;margin:0;line-height:20px}.wpmud .wds-table-fields .note .wdv-icon{color:#777771;font-size:20px;vertical-align:top}.wpmud .wds-table-fields.wds-table-fields-stacked .label{margin-top:0;padding-right:0;margin-bottom:5px;width:100%}.wpmud .wds-table-fields.wds-table-fields-stacked .label label{color:#888;font-size:12px;font-weight:500;line-height:22px}.wpmud .wds-table-fields.wds-table-fields-stacked .label label span{font-weight:400}.wpmud .wds-table-fields.wds-table-fields-stacked .fields{width:100%}.wpmud .wds-table-fields.wds-table-fields-stacked .select2{margin-bottom:15px}.wpmud .wds-separator-top{margin-top:30px;padding-top:30px;border-top:1px solid #EAEAEA}.wpmud .wds-code-label{display:block;margin-bottom:5px}.wpmud .wds-toggle-table{display:table;width:100%}.wpmud .wds-toggle-table.disabled{opacity:.5}.wpmud .wds-toggle-table .toggle.wds-toggle,.wpmud .wds-toggle-table .wds-toggle-description{display:table-cell;vertical-align:top}.wpmud .wds-toggle-table .wds-toggle-description .wds-label{margin-left:0}.wpmud .wds-toggle-table:last-child .wds-label-description{margin-bottom:0}.wpmud .wds-toggle-table .toggle.wds-toggle{padding-top:6px;width:60px}.wpmud .wds-dashicons{color:#808080;font-size:22px;height:22px;opacity:.5;width:22px}.wpmud .wds-dashicons-link{font-size:24px;height:24px;width:24px;transition:all .4s}.wpmud .wds-dashicons-link:hover{opacity:1}.wpmud .wds-dashicons-box-title{margin:-5px 10px 0 0;vertical-align:middle}.wpmud .wds-icon{background:url("../images/smartCrawl_sprite.png") no-repeat 0 0;background-image:url("../images/smartCrawl_sprite.svg"),none}.wpmud .wds-icon-inline{display:inline-block}.wpmud .wds-icon-inline-left{margin-right:15px}.wpmud .wds-icon-inline-right{margin-left:15px}.wpmud .wds-icon-redirect{background-position:-30px -30px;height:16px;width:18px}.wpmud .wds-icon-list{background-position:-30px -76px;height:16px;width:18px}@font-face{font-family:'wpmu-dev-seo-icons';src:url("../fonts/wpmu-dev-seo-icons.eot?gy02j9");src:url("../fonts/wpmu-dev-seo-icons.eot?gy02j9#iefix") format("embedded-opentype"),url("../fonts/wpmu-dev-seo-icons.woff2?gy02j9") format("woff2"),url("../fonts/wpmu-dev-seo-icons.ttf?gy02j9") format("truetype"),url("../fonts/wpmu-dev-seo-icons.woff?gy02j9") format("woff"),url("../fonts/wpmu-dev-seo-icons.svg?gy02j9#wpmu-dev-seo-icons") format("svg");font-weight:normal;font-style:normal}[class^="wds-icon-"],[class*=" wds-icon-"]{font-family:'wpmu-dev-seo-icons' !important;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wds-icon-icon-performance:before{content:"\e903"}.wds-icon-power-on-off:before{content:"\e904"}.wds-icon-update-arrow:before{content:"\e902"}.wds-icon-dashboard-settings:before{content:"\e901"}.wds-icon-icon-wpmu-logo-line:before{content:"\203a"}.wds-icon-icon-wpmu-logo-solid:before{content:"\2039"}.wds-icon-star-line:before{content:"\cf"}.wds-icon-notification-count:before{content:"\e900"}.wds-icon-24-hour-support:before{content:"\c1"}.wds-icon-speed-optimize:before{content:"\f8"}.wds-icon-cloudflare:before{content:"\d0"}.wds-icon-alert:before{content:"\58"}.wds-icon-align-center:before{content:"\5e"}.wds-icon-align-justify:before{content:"\23"}.wds-icon-align-left:before{content:"\25"}.wds-icon-align-right:before{content:"\26"}.wds-icon-annotate:before{content:"\b4"}.wds-icon-arrow-up:before{content:"\d4"}.wds-icon-arrow-right:before{content:"\af"}.wds-icon-arrow-down:before{content:"\c2"}.wds-icon-arrow-left:before{content:"\f8ff"}.wds-icon-more:before{content:"\2026"}.wds-icon-minus:before{content:"\2d"}.wds-icon-plus:before{content:"\3d"}.wds-icon-arrow-up-carats:before{content:"\2dd"}.wds-icon-arrow-down-carats:before{content:"\131"}.wds-icon-arrow-left-carats:before{content:"\d3"}.wds-icon-arrow-right-carats:before{content:"\2dc"}.wds-icon-arrows-compress:before{content:"\2265"}.wds-icon-arrows-expand:before{content:"\ac"}.wds-icon-arrows-in:before{content:"\2264"}.wds-icon-arrows-out:before{content:"\2da"}.wds-icon-check:before{content:"\28"}.wds-icon-close:before{content:"\29"}.wds-icon-at-sign:before{content:"\40"}.wds-icon-calendar:before{content:"\220f"}.wds-icon-camera:before{content:"\d8"}.wds-icon-clipboard-notes:before{content:"\bf"}.wds-icon-clock:before{content:"\2c"}.wds-icon-cloud:before{content:"\2122"}.wds-icon-download-cloud:before{content:"\a3"}.wds-icon-upload-cloud:before{content:"\a2"}.wds-icon-comment:before{content:"\a7"}.wds-icon-comments:before{content:"\b6"}.wds-icon-comment-3:before{content:"\aa"}.wds-icon-compass:before{content:"\2c6"}.wds-icon-credit-card:before{content:"\63"}.wds-icon-crop:before{content:"\43"}.wds-icon-crown:before{content:"\a1"}.wds-icon-italic:before{content:"\7b"}.wds-icon-bold:before{content:"\42"}.wds-icon-underline:before{content:"\55"}.wds-icon-text-color:before{content:"\a8"}.wds-icon-style-type:before{content:"\3c"}.wds-icon-quote-2:before{content:"\27"}.wds-icon-quote:before{content:"\3b"}.wds-icon-paperclip:before{content:"\41"}.wds-icon-indent-less:before{content:"\201d"}.wds-icon-indent-more:before{content:"\2019"}.wds-icon-list-bullet:before{content:"\38"}.wds-icon-list-number:before{content:"\37"}.wds-icon-list:before{content:"\60"}.wds-icon-link:before{content:"\35"}.wds-icon-unlink:before{content:"\36"}.wds-icon-color-pick-eyedropper:before{content:"\a5"}.wds-icon-wand-magic:before{content:"\5a"}.wds-icon-layers:before{content:"\e6"}.wds-icon-dislike:before{content:"\6b"}.wds-icon-like:before{content:"\6a"}.wds-icon-dollar:before{content:"\24"}.wds-icon-download:before{content:"\e93b"}.wds-icon-eye:before{content:"\65"}.wds-icon-eye-hide:before{content:"\71"}.wds-icon-arrow-return-back:before{content:"\52"}.wds-icon-first-aid:before{content:"\e93f"}.wds-icon-folder:before{content:"\2d8"}.wds-icon-map:before{content:"\34"}.wds-icon-graph-bar:before{content:"\c7"}.wds-icon-graph-bar_1:before{content:"\2db"}.wds-icon-heart:before{content:"\4b"}.wds-icon-home:before{content:"\4a"}.wds-icon-info:before{content:"\49"}.wds-icon-key:before{content:"\25ca"}.wds-icon-laptop:before{content:"\ab"}.wds-icon-lightbulb:before{content:"\4c"}.wds-icon-asterisk:before{content:"\2a"}.wds-icon-lock:before{content:"\39"}.wds-icon-unlock:before{content:"\30"}.wds-icon-mail:before{content:"\6d"}.wds-icon-location-marker:before{content:"\6c"}.wds-icon-microphone-audio:before{content:"\2030"}.wds-icon-mobile-signal:before{content:"\201b"}.wds-icon-mobile:before{content:"\201c"}.wds-icon-monitor:before{content:"\5c"}.wds-icon-magnifying-glass-search:before{content:"\ba"}.wds-icon-zoom-in:before{content:"\2260"}.wds-icon-zoom-out:before{content:"\2013"}.wds-icon-magnifying-search-glass-love:before{content:"\2022"}.wds-icon-price-tag:before{content:"\2c7"}.wds-icon-bookmark:before{content:"\221a"}.wds-icon-book-bookmark:before{content:"\2d9"}.wds-icon-book:before{content:"\2206"}.wds-icon-page-multiple:before{content:"\e7"}.wds-icon-page-pdf:before{content:"\c6"}.wds-icon-page-search:before{content:"\da"}.wds-icon-page:before{content:"\d2"}.wds-icon-paint-bucket:before{content:"\222b"}.wds-icon-paypal:before{content:"\59"}.wds-icon-pencil:before{content:"\2f"}.wds-icon-photo-picture:before{content:"\44"}.wds-icon-play:before{content:"\70"}.wds-icon-pause:before{content:"\6f"}.wds-icon-fast-forward:before{content:"\3e"}.wds-icon-refresh:before{content:"\45"}.wds-icon-update:before{content:"\ae"}.wds-icon-puzzle:before{content:"\7d"}.wds-icon-layout-grid:before{content:"\221e"}.wds-icon-sheild-badge:before{content:"\e96a"}.wds-icon-coffee-cup:before{content:"\e96b"}.wds-icon-skull:before{content:"\e96c"}.wds-icon-social-android:before{content:"\2e"}.wds-icon-social-apple:before{content:"\61"}.wds-icon-social-drive:before{content:"\76"}.wds-icon-social-dropbox:before{content:"\64"}.wds-icon-social-facebook:before{content:"\66"}.wds-icon-social-github:before{content:"\68"}.wds-icon-social-google-plus:before{content:"\67"}.wds-icon-social-linkedin:before{content:"\69"}.wds-icon-social-twitter:before{content:"\74"}.wds-icon-animation-video:before{content:"\46"}.wds-icon-social-youtube:before{content:"\79"}.wds-icon-white-label-video:before{content:"\75"}.wds-icon-star:before{content:"\53"}.wds-icon-tablet-landscape:before{content:"\5b"}.wds-icon-tablet-portrait:before{content:"\5d"}.wds-icon-thumbnails:before{content:"\47"}.wds-icon-ticket:before{content:"\e97d"}.wds-icon-profile-male:before{content:"\b5"}.wds-icon-profile-female:before{content:"\192"}.wds-icon-community-people:before{content:"\2018"}.wds-icon-trash:before{content:"\51"}.wds-icon-notification:before{content:"\6e"}.wds-icon-user-hero-points-trophy:before{content:"\31"}.wds-icon-megaphone:before{content:"\c5"}.wds-icon-flag:before{content:"\7c"}.wds-icon-stopwatch:before{content:"\e986"}.wds-icon-shopping-cart:before{content:"\cd"}.wds-icon-share:before{content:"\73"}.wds-icon-help-support:before{content:"\48"}.wds-icon-web-globe-world:before{content:"\57"}.wds-icon-widget-settings-config:before{content:"\78"}.wds-icon-wrench-tool:before{content:"\2044"}.wds-icon-settings-slider-control:before{content:"\153"}.wds-icon-filter:before{content:"\7a"}.wds-icon-reply:before{content:"\72"}.wds-icon-finger-point:before{content:"\2248"}.wds-icon-finger-swipe:before{content:"\2203"}.wds-icon-mouse-scroll:before{content:"\df"}.wds-icon-plugin-2:before{content:"\4f"}.wds-icon-brush:before{content:"\7e"}.wds-icon-themes:before{content:"\54"}.wds-icon-plugins:before{content:"\50"}.wds-icon-question:before{content:"\3f"}.wds-icon-warning-alert:before{content:"\21"}.wds-icon-check-tick:before{content:"\5f"}.wds-icon-cross-close:before{content:"\2b"}.wds-icon-user-reputation-points:before{content:"\32"}.wds-icon-user-star-level-up:before{content:"\33"}.wds-icon-icon-devman:before{content:"\20ac"}.wds-icon-icon-defender:before{content:"\b7"}.wds-icon-icon-hub:before{content:"\fb02"}.wds-icon-icon-hummingbird:before{content:"\b0"}.wds-icon-icon-hustle:before{content:"\2014"}.wds-icon-icon-smart-crawl:before{content:"\2202"}.wds-icon-icon-smush:before{content:"\2021"}.wds-icon-icon-snapshot:before{content:"\fb01"}.wds-icon-icon-upfront:before{content:"\201a"}.wds-icon-icon-uptime:before{content:"\b1"}.wds-icon-icon-pulse:before{content:"\201e"}.wds-icon-icon-automate:before{content:"\152"}.wds-icon-academy:before{content:"\3c0"}.wds-icon-wordpress:before{content:"\77"}.wds-icon-infinity:before{content:"\56"}.wds-icon-audio-sound:before{content:"\e9ae"}.wds-icon-sitemap:before{content:"\b8"}.wds-icon-google-analytics:before{content:"\e5"}.wds-icon-progress:before{content:"\e9b1"}.wds-icon-dashboard:before{content:"\e9b2"}.wds-icon-ab-testing:before{content:"\bb"}.wds-icon-testing-bottle-beaker:before{content:"\e9b4"}.wds-icon-archive:before{content:"\62"}.wds-icon-zip:before{content:"\3a9"}.wds-icon-arrow-location:before{content:"\4d"}.wds-icon-arrow-pointer-cursor:before{content:"\4e"}.wds-icon-code:before{content:"\3a"}.wds-icon-news-paper:before{content:"\2211"}.wds-icon-gallery-slider:before{content:"\f7"}.wds-icon-layout:before{content:"\a9"}.wds-icon-storage-server-data:before{content:"\ce"}.wds-icon-loader:before{content:"\e9be"}.wds-icon-rocket-launch:before{content:"\e9bf"}.wds-icon-target:before{content:"\2020"}.wpmud #page-header{margin-bottom:70px;text-align:center}.wpmud .dev-box .box-title .buttons-icon{margin-top:18px}.wpmud .dev-box .box-title .buttons-icon a{width:20px;height:20px;color:#888}.wpmud .wds-table{border:0;border-spacing:0;border-collapse:collapse;width:100%}.wpmud .wds-data-table{border:1px solid #E5E5E5;border-collapse:collapse;border-spacing:0;color:#777771;width:100%}.wpmud .wds-data-table>thead{border-bottom:1px solid #E5E5E5}.wpmud .wds-data-table>tfoot{border-top:1px solid #E5E5E5}.wpmud .wds-data-table>thead th,.wpmud .wds-data-table>tfoot th{font:700 15px/20px "Roboto Condensed","Roboto",Arial,sans-serif;padding:15px 10px;text-transform:uppercase}.wpmud .wds-data-table>tbody td{font-size:13px;line-height:20px;padding:20px 10px;vertical-align:top}.wpmud .wds-data-table th,.wpmud .wds-data-table td{text-align:left}.wpmud .wds-data-table .label{width:75%}.wpmud .wds-data-table .result{width:25%}.wpmud .wds-data-table .data-small{padding:10px}.wpmud .wds-data-table-inverse .label{width:25%}.wpmud .wds-data-table-inverse .result{width:75%}.wpmud .wds-data-table-inverse-large .label{width:40%}.wpmud .wds-data-table-inverse-large .result{width:60%}.wpmud .wds-list-table{width:100%;border:1px solid #EAEAEA;border-collapse:separate;border-spacing:unset;border-radius:5px;color:#888;font-size:13px}.wpmud .wds-list-table th{text-align:left;padding:20px 30px;font-weight:500;color:#333}.wpmud .wds-list-table tr th,.wpmud .wds-list-table tr td{border-bottom:1px solid #EAEAEA}.wpmud .wds-list-table tr td{padding:15px 30px}.wpmud .wds-list-table tr:last-child td{border-bottom:none}.wpmud .wds-list-table tfoot th{border-bottom:none;border-top:1px solid #EAEAEA}@media only screen and (max-width: 783px){.wpmud .list-table>thead>tr>th,.wpmud .list-table>thead>tr>td,.wpmud .list-table>tbody>tr>th,.wpmud .list-table>tbody>tr>td{width:100%}}.wpmud .wds-notice{border-radius:5px;color:#333;font:400 15px/18px "Roboto",Arial,sans-serif;margin:15px 0;padding:20px 30px;position:relative;text-align:left;display:table;width:100%}.wpmud .wds-notice-success{background-color:#D1F1EA}.wpmud .wds-notice-success::before{content:"_";color:#1ABC9C}.wpmud .wds-notice-error{background-color:#FFE5E9}.wpmud .wds-notice-error::before{content:"!";color:#FF6D6D}.wpmud .wds-notice-warning{background-color:#FFF5D5}.wpmud .wds-notice-warning::before{content:"!";color:#fecf2f}.wpmud .wds-notice-info{background-color:#D6EAF3}.wpmud .wds-notice-info::before{content:"!";color:#17a8e3}.wpmud .wds-notice::before{display:table-cell;font-family:"wpmu-dev-seo-icons";font-size:20px;vertical-align:top;width:30px;padding-top:8px}.wpmud .wds-notice p{color:#333;margin:0 0 10px;padding:0;vertical-align:top;display:table-cell}.wpmud .wds-notice p:last-of-type{margin:0}.wpmud .wds-notice p a{color:#333;font-weight:500;text-decoration:underline}.wpmud .wds-notice p a:hover{color:#333;text-decoration:none}.wpmud .wds-notice p a.wds-notice-dismiss{color:#808080;display:table;margin-top:5px;text-decoration:none;text-transform:uppercase}.wpmud .wds-notice .wds-icon,.wpmud .wds-notice .wds-icon .wdv-icon{font-size:22px;height:22px;line-height:22px;width:22px}.wpmud .wds-notice.can-close .close{cursor:pointer;display:block;height:22px;line-height:22px;margin:0;position:absolute;right:10px;text-shadow:none;top:10px;width:22px}.wpmud .wds-notice.can-close:after{bottom:0;color:#fff;content:"\79";font-style:normal;font-weight:normal;font-variant:normal;font-family:'WPMU-DEV-App-Icons';font-size:22px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;left:0;line-height:22px;opacity:0.8;position:absolute;right:0;speak:none;text-align:center;text-transform:none;top:0;transition:opacity 0.3s}.wpmud .wds-notice.can-close:hover:after{opacity:1}.wpmud .wds-notice-box{margin:20px 0 40px;padding:30px}.wpmud .wds-notice-box p a{font-weight:700;text-decoration:underline}.wpmud .wds-notice-floating{position:fixed;top:30px;right:0;left:0;margin:0 auto;border-top-left-radius:0;border-top-right-radius:0;max-width:600px;box-shadow:0 5px 25px 0 rgba(0,0,0,0.15);z-index:99998}.wpmud .wds-mascot-message{display:table}.wpmud .wds-mascot-message .wds-mascot,.wpmud .wds-mascot-message .wds-mascot-bubble-container{display:table-cell;vertical-align:top}.wpmud .wds-mascot-message .wds-mascot{height:148px;width:100px;background:url("../images/mascot-message.png") no-repeat;background-size:100px 148px}.wpmud .wds-mascot-message .wds-mascot-bubble-container{padding-left:30px}.wpmud .wds-mascot-message .wds-mascot-bubble-container .wds-mascot-bubble{position:relative;background:#E1F6FF;padding:15px 20px;border-radius:4px}.wpmud .wds-mascot-message .wds-mascot-bubble-container .wds-mascot-bubble:after{content:'';position:absolute;border-style:solid;border-width:8px 12px 8px 0;border-color:transparent #E1F6FF;display:block;width:0;z-index:1;left:-12px;top:38%}.wpmud .wds-mascot-message .wds-mascot-bubble-container .wds-mascot-bubble p{color:#333}.wpmud .wds-mascot-message .wds-mascot-bubble-container .wds-mascot-bubble p a{color:#333;text-decoration:underline;font-weight:500}.wpmud .wds-mascot-message .wds-mascot-bubble-container .wds-mascot-bubble-dismiss{float:right;font-size:16px;cursor:pointer;padding-left:10px}.wpmud .wds-keyword-pairs .wds-group-field{clear:none;float:left;margin-left:1%;width:48%}.wpmud .wds-keyword-pairs .wds-group-field:first-child{margin-left:0}.wpmud .wds-keyword-pairs .wds-keyword-pair{margin-top:20px;position:relative}.wpmud .wds-keyword-pairs .wds-keyword-pair:first-child{margin-top:0}.wpmud .wds-keyword-pairs .wds-keyword-pair-new{padding-top:20px}.wpmud .wds-keyword-pairs-existing{margin-top:30px}.wpmud .wds-keyword-pairs-existing tr td.wds-pair-actions{width:10%;text-align:right}.wpmud .wds-keyword-pairs-existing tr td.wds-pair-keyword,.wpmud .wds-keyword-pairs-existing tr td.wds-pair-url{width:45%}.wpmud .wds-keyword-pairs-existing tr td.wds-pair-hidden-fields{display:none}.wpmud .insert-macro{position:absolute;right:0;top:0}.wpmud .insert-macro .button-fields-trigger{border-radius:0 5px 5px 0;float:right;position:relative;font-size:16px;font-weight:300}.wpmud .insert-macro .button-fields-trigger:after{background:#fff;border-bottom:1px solid #fff;border-top:1px solid #fff;bottom:-2px;content:"";display:block;height:1px;left:0;margin:0;opacity:0;pointer-events:none;position:absolute;right:0;width:auto;z-index:11}.wpmud .insert-macro.is-open .button-fields-trigger,.wpmud .insert-macro.is-open .button-fields-trigger:hover:not(:focus):not(:active){background:#fff;border:1px solid #bfbfbf;color:#808080;padding:12px 12px 8px 12px;margin:0;border-radius:0 5px 0 0}.wpmud .insert-macro.is-open .button-fields-trigger:after{opacity:1}.wpmud .insert-macro .macro-list{background:#fff;border:1px solid #BFBFBF;clear:both;height:100%;max-height:260px;overflow-y:auto;padding:5px 0;position:relative;z-index:10}.wpmud .insert-macro .macro-list ul{margin:0;padding:0}.wpmud .insert-macro .macro-list li{cursor:pointer;font:400 13px/26px "Roboto",Arial,sans-serif;margin:0;padding:0 10px}.wpmud .insert-macro .macro-list li:hover{background:#F2F2F2;color:#333}@keyframes wds-metabox-icon-spin{100%{transform:rotate(360deg)}}.wpmud .wds-item-loading{position:relative}.wpmud .wds-item-loading::before{font-family:"wpmu-dev-seo-icons";color:#888;content:"";animation:wds-metabox-icon-spin 1s linear infinite;display:block;position:absolute}.wpmud .wds-strong-text{color:#333;font-size:15px;line-height:30px;font-weight:500;font-family:"Roboto",Arial,sans-serif}.wpmud .wds-small-text{font-size:13px;line-height:22px;color:#888}.wpmud .wds-small-text strong{color:#333}.wpmud .wds-issues{border-radius:13px;display:inline-block;font-size:13px;font-weight:500;line-height:1;padding:5px 16px;vertical-align:middle;margin-left:8px;color:#333;font-family:"Roboto",Arial,sans-serif}.wpmud .wds-issues a{color:#333}.wpmud .wds-issues-invalid{background:#E6E6E6}.wpmud .wds-issues-warning{background:#FECF2F}.wpmud .wds-issues-error{background:#FF7F83;color:#ffffff}.wpmud .wds-issues-error a{color:#ffffff}.wpmud .wds-issues-success-bg{background:#1ABC9C;color:#ffffff}.wpmud .wds-issues-success-bg a{color:#ffffff}.wpmud .wds-issues-success{background:transparent;padding:0}.wpmud .wds-issues-success::before{font-family:"wpmu-dev-seo-icons";content:"_";color:#1ABC9C;font-size:20px}.wpmud .wds-issues.wds-item-loading{background:transparent;padding:0}.wpmud .wds-issues.wds-item-loading span{display:none}.wpmud .wds-issues.wds-item-loading::before{font-size:20px;content:"";color:#888;position:relative}.wpmud .wds-report-stats{background:#ffffff;padding:30px 30px 30px 140px;display:table;width:100%;margin-bottom:30px;border-radius:4px;box-shadow:0 2px 0 0 #E6E6E6;background-repeat:no-repeat;background-position:30px bottom}.wpmud .wds-report-stats>div{display:table-cell;vertical-align:middle;text-align:center;width:40%}.wpmud .wds-report-stats .wds-report-score .wds-score{display:table;font-size:50px;line-height:55px;color:#333;position:relative;margin:0 auto}.wpmud .wds-report-stats .wds-report-score .wds-score::after{content:"!";font-size:20px;position:absolute;font-family:"wpmu-dev-seo-icons";bottom:15px;right:5px}.wpmud .wds-report-stats .wds-report-score .wds-score .wds-total{font-size:13px;line-height:22px;width:26px;display:inline-block}.wpmud .wds-report-stats .wds-report-score .wds-score.wds-score-invalid:after{color:#888}.wpmud .wds-report-stats .wds-report-score .wds-score.wds-score-error:after{color:#FF7F83}.wpmud .wds-report-stats .wds-report-score .wds-score.wds-score-warning:after{color:#FECF2F}.wpmud .wds-report-stats .wds-report-score .wds-score.wds-score-success:after{content:"_";color:#1ABC9C}.wpmud .wds-report-stats .wds-stacked-stats{display:table;width:100%}.wpmud .wds-report-stats .wds-stacked-stats>div{display:table-row}.wpmud .wds-report-stats .wds-stacked-stats>div .wds-stat-name,.wpmud .wds-report-stats .wds-stacked-stats>div .wds-stat-value{display:table-cell;border-bottom:1px solid #EAEAEA;line-height:30px;padding:15px 0}.wpmud .wds-report-stats .wds-stacked-stats>div:first-child .wds-stat-name,.wpmud .wds-report-stats .wds-stacked-stats>div:first-child .wds-stat-value{padding-top:0}.wpmud .wds-report-stats .wds-stacked-stats>div:last-child .wds-stat-name,.wpmud .wds-report-stats .wds-stacked-stats>div:last-child .wds-stat-value{border-bottom:none;padding-bottom:0}.wpmud .wds-report-stats .wds-stacked-stats .wds-stat-name{font-size:13px;color:#333;font-weight:500;text-align:left}.wpmud .wds-report-stats .wds-stacked-stats .wds-stat-value{font-size:18px;color:#888;font-family:"Roboto Condensed","Roboto",Arial,sans-serif;text-align:right}.wpmud .wds-report .wds-accordion{margin-left:-30px;width:calc(100% + 60px);display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;border-top:1px solid #EAEAEA}.wpmud .wds-report .wds-accordion .wds-accordion-section{width:100%;display:block}.wpmud .wds-report .wds-accordion .wds-accordion-section:first-of-type{border-top:none}.wpmud .wds-report .wds-accordion .wds-accordion-section .wds-accordion-handle{display:table;width:100%}.wpmud .wds-report .wds-accordion .wds-accordion-section .wds-accordion-handle::after{display:table-cell;width:20px;float:none;padding-left:20px}.wpmud .wds-report .wds-accordion .wds-accordion-section .wds-accordion-handle::before{display:table-cell;font-family:"wpmu-dev-seo-icons";font-size:20px;margin-right:4px;vertical-align:middle;width:34px}.wpmud .wds-report .wds-accordion .wds-accordion-section .wds-accordion-handle .wds-accordion-handle-part{display:table-cell;vertical-align:middle}.wpmud .wds-report .wds-accordion .wds-accordion-section.wds-check-success{border-left:3px solid #1ABC9C}.wpmud .wds-report .wds-accordion .wds-accordion-section.wds-check-success .wds-accordion-handle::before{content:"_";color:#1ABC9C}.wpmud .wds-report .wds-accordion .wds-accordion-section.wds-check-warning{border-left:3px solid #FECF2F}.wpmud .wds-report .wds-accordion .wds-accordion-section.wds-check-warning .wds-accordion-handle::before{content:"!";color:#FECF2F}.wpmud .wds-report .wds-accordion .wds-accordion-section.wds-check-error{border-left:3px solid #FF7F83}.wpmud .wds-report .wds-accordion .wds-accordion-section.wds-check-error .wds-accordion-handle::before{content:"!";color:#FF7F83}.wpmud .wds-report .wds-accordion .wds-accordion-section.wds-check-invalid{border-left:3px solid #888}.wpmud .wds-report .wds-accordion .wds-accordion-section.wds-check-invalid .wds-accordion-handle:before{content:"!";color:#888}.wpmud .wds-report .wds-accordion .wds-accordion-section.open .wds-accordion-handle{border-bottom:1px solid #E6E6E6;margin-bottom:30px;padding-bottom:18px}.wpmud .wds-report .wds-check-item strong{color:#333}.wpmud .wds-report .wds-check-item p{margin-bottom:15px}.wpmud .wds-report .wds-check-item p:last-child{margin-bottom:0}.wpmud .wds-report .wds-check-item ul{margin:0}.wpmud .wds-report .wds-check-item .wds-recommendation{margin-bottom:15px}.wpmud .wds-report .wds-check-item .wds-more-info{padding-top:15px;border-top:1px solid #EAEAEA}.wpmud .wds-report .wds-check-item .wds-unignore-container{width:90px}.wpmud .wds-report .wds-check-item .wds-ignore-container{margin-top:30px;border:1px solid #EAEAEA;padding:30px;border-radius:7px}.wpmud .wds-report .wds-check-item .wds-check-item-indicator{border-radius:13px;font-size:13px;margin-left:6px;padding:5px 16px;vertical-align:top}.wpmud .wds-report .wds-check-item.wds-check-success .wds-check-item-indicator{color:#ffffff;background:#1ABC9C}.wpmud .wds-report .wds-check-item.wds-check-warning .wds-check-item-indicator{background:#FECF2F}.wpmud .wds-report .wds-check-item.wds-check-error .wds-check-item-indicator{color:#ffffff;background:#FF7F83}.wpmud .wds-report .wds-check-item.wds-check-invalid .wds-check-item-indicator{background:#f2f2f2}.wpmud .wds-report-vertical-tab.tab>label{position:relative}.wpmud .wds-report-vertical-tab.tab>label *{line-height:1}.wpmud .wds-report-vertical-tab.tab>label .wds-issues{display:none;line-height:1;position:absolute;top:2px;right:3px;font-family:"Roboto",Arial,sans-serif;font-weight:500;padding-top:6px;padding-bottom:6px}.wpmud .wds-report-vertical-tab .tab-title{display:table;width:100%}.wpmud .wds-report-vertical-tab .tab-title .wds-issues{display:none;font-family:"Roboto",Arial,sans-serif;font-weight:500}.wpmud .wds-report-vertical-tab .tab-title .wds-tab-title-part:nth-child(1){width:10px;white-space:nowrap}.wpmud .wds-report-vertical-tab .tab-title .wds-tab-title-part:nth-child(3){text-align:right}.wpmud .wds-report-vertical-tab .tab-title .wds-tab-title-part{vertical-align:middle;display:table-cell}.wpmud .wds-report-vertical-tab .tab-title .wds-button-with-left-loader.wds-item-loading::before{right:110%;font-size:18px}.wpmud .wds-report-vertical-tab .tab-title .wds-ignore-all{display:none}.wpmud .wds-report-vertical-tab .wds-seamless-footer{border-top:none;padding:0}.wpmud .wds-report-vertical-tab .wds-content-tabs-inner{padding-bottom:0}.wpmud.wds-metabox #container{margin:0}.wpmud.wds-metabox .wds-issues-invalid:not(.wds-item-loading)::before{content:"-"}.wpmud.wds-metabox a[href="#reload"]{display:none}.wpmud.wds-metabox .wds-analysis-working{background:#E6E6E6;padding:20px 30px}.wpmud.wds-metabox .wds-analysis-working p{margin-left:1.5em;position:relative}.wpmud.wds-metabox .wds-analysis-working p:before{font-family:"wpmu-dev-seo-icons";content:"";animation:wds-metabox-icon-spin 1s linear infinite;display:block;position:absolute;left:-1.5em}.wpmud.wds-metabox button.wds-refresh-analysis:before{font-family:"wpmu-dev-seo-icons";content:"E"}.wpmud.wds-metabox .wds-metabox-section{border-top:1px solid #EAEAEA;padding:30px}.wpmud.wds-metabox .wds-metabox-section:first-of-type{border-top:none}.wpmud.wds-metabox .wds_seo .wds-metabox-preview>.wds-label,.wpmud.wds-metabox .wds_seo .wds-seo-analysis-container>.wds-label{margin-bottom:10px}.wpmud.wds-metabox .wds_seo .wds-preview-description{color:#888}.wpmud.wds-metabox .wds_seo .wds-seo-analysis-container .wds-seo-analysis-label{margin-bottom:20px}.wpmud.wds-metabox .wds_seo .wds-seo-analysis-container .wds-seo-analysis-label label{float:left}.wpmud.wds-metabox .wds_seo .wds-seo-analysis-container .wds-seo-analysis-label button{float:right}.wpmud.wds-metabox .wds_seo .wds-seo-analysis-container .wds-focus-keyword{border:1px solid #EAEAEA;padding:30px;border-radius:7px;margin-bottom:30px;position:relative}.wpmud.wds-metabox .wds_seo .wds-seo-analysis-container .wds-focus-keyword::before{display:none;bottom:40px;right:38px;font-size:20px;z-index:30}.wpmud.wds-metabox .wds_seo .wds-seo-analysis-container .wds-focus-keyword-invalid::before{display:table-cell;content:"!";font-family:"wpmu-dev-seo-icons";color:#888;position:absolute}.wpmud.wds-metabox .wds_seo .wds-seo-analysis-container .wds-focus-keyword-loaded::before{display:table-cell;content:"_";font-family:"wpmu-dev-seo-icons";color:#17a8e3;position:absolute}.wpmud.wds-metabox .wds_seo .wds-seo-analysis-container .wds-focus-keyword.wds-item-loading::before{display:table-cell;content:""}.wpmud.wds-metabox .wds_seo .wds-seo-analysis-container .wds-focus-keyword input{margin-bottom:0}.wpmud.wds-metabox .wds_seo .wds-seo-analysis-container .wds-notice{margin-top:0;margin-bottom:30px}.wpmud.wds-metabox .wds_seo .wds-edit-meta-toggleable .toggle-checkbox{display:none}.wpmud.wds-metabox .wds_seo .wds-edit-meta-toggleable>label{display:table;padding:0;margin:0}.wpmud.wds-metabox .wds_seo .wds-no-focus-keywords .wds-notice-warning{background:#F2F2F2}.wpmud.wds-metabox .wds_seo .wds-no-focus-keywords .wds-notice-warning::before{color:#888}.wpmud.wds-metabox .wds_readability .wds-readability-legend{color:#666666}.wpmud.wds-metabox .wds_readability .wds-readability-legend span{margin-left:30px}.wpmud.wds-metabox .wds_readability .wds-readability-legend span:first-child{margin-left:0}.wpmud.wds-metabox .wds_readability .wds-readability-stats{box-shadow:none;background-image:url("../images/readability-info.png");background-size:92px 107px;background-color:#F8F8F8}.wpmud.wds-metabox .wds_readability .wds-readability-stats .wds-readability-level-description strong{color:#333;font-weight:normal}.wpmud.wds-metabox .wds_readability .wds-list-table{margin-bottom:30px}.wpmud.wds-metabox .wds_readability .wds-list-table tr:nth-child(2n){background:#f8f8f8}.wpmud.wds-metabox .wds_readability .wds-readability-level{text-align:right}.wpmud.wds-metabox .wds-report .wds-accordion .wds-accordion-section.wds-check-error{-ms-flex-order:0;order:0}.wpmud.wds-metabox .wds-report .wds-accordion .wds-accordion-section.wds-check-warning{-ms-flex-order:5;order:5}.wpmud.wds-metabox .wds-report .wds-accordion .wds-accordion-section.wds-check-success{-ms-flex-order:10;order:10}.wpmud.wds-metabox .wds-report .wds-accordion .wds-accordion-section.wds-check-invalid{-ms-flex-order:15;order:15}.wpmud.wds-moz-url-metrics-metabox{padding:25px}#wds-wds-meta-box>h2 span{position:relative}#wds-wds-meta-box>h2 span::before,#wds-wds-meta-box>h2 span::after{border-radius:100%;content:"";display:inline-block;height:12px;position:absolute;top:3px;width:12px}#wds-wds-meta-box>h2 span::before{left:calc(100% + 6px)}#wds-wds-meta-box>h2 span::after{left:calc(100% + 25px)}#wds-wds-meta-box.wds-seo-success>h2 span::before{background:#1ABC9C}#wds-wds-meta-box.wds-seo-warning>h2 span::before{background:#FECF2F}#wds-wds-meta-box.wds-seo-invalid>h2 span::before{background:#E6E6E6}#wds-wds-meta-box.wds-readability-invalid>h2 span::after{background:#E6E6E6}#wds-wds-meta-box.wds-readability-error>h2 span::after{background:#FF7F83}#wds-wds-meta-box.wds-readability-warning>h2 span::after{background:#FECF2F}#wds-wds-meta-box.wds-readability-success>h2 span::after{background:#1ABC9C}#wds-wds-meta-box .inside{padding:0;margin:0;overflow:hidden !important}.misc-pub-section.seo-analysis>i,.misc-pub-section.readability-analysis>i{color:#82878c;font-size:16px;padding-right:5px;vertical-align:-1px}.misc-pub-section.seo-analysis.wds-status-success i,.misc-pub-section.readability-analysis.wds-status-success i{color:#1ABC9C}.misc-pub-section.seo-analysis.wds-status-warning i,.misc-pub-section.readability-analysis.wds-status-warning i{color:#fecf2f}.misc-pub-section.seo-analysis.wds-status-error i,.misc-pub-section.readability-analysis.wds-status-error i{color:#FF6D6D}@keyframes wds-loader-icon-spin{100%{transform:rotate(360deg)}}.wpmud .wds-progress{background-color:#F8F8F8;border-radius:5px;height:60px;overflow:hidden;padding:0 30px;width:100%;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;margin-bottom:10px}.wpmud .wds-progress::before{font-family:"wpmu-dev-seo-icons";color:#888;content:"";font-size:20px;animation:wds-loader-icon-spin 1.5s linear infinite}.wpmud .wds-progress-bar{-ms-flex-positive:3;flex-grow:3;height:10px;border-radius:10px;background:#E6E6E6;overflow:hidden}.wpmud .wds-progress-bar-current-percent{padding-right:10px;padding-left:10px;color:#333;font-size:13px;font-weight:bold;font-family:"Roboto Condensed","Roboto",Arial,sans-serif}.wpmud .wds-progress-bar-inside{background:#17a8e3;height:10px;border-radius:10px;min-width:10px;transition:width 2s}.wpmud .wds-preview{background:#fff;border:1px solid #DFDFDF;padding:30px;border-radius:7px}.wpmud .wds-preview-container{padding-bottom:20px}.wpmud .wds-preview-description{font-size:13px;line-height:22px;margin-top:10px}.wpmud .wds-preview *{font-family:Arial, sans-serif;font-weight:400;letter-spacing:initial;text-align:left}.wpmud .wds-preview-title h3{font-size:18px;line-height:21px;margin:0;text-transform:none}.wpmud .wds-preview-title h3 a{color:#1a0dab;text-decoration:none}.wpmud .wds-preview-url{font-size:14px;line-height:16px;margin-bottom:2px}.wpmud .wds-preview-url a{color:#006621;text-decoration:none}.wpmud .wds-preview-meta{color:#545454;font-size:13px;line-height:18px}.wds-toggleable .wds-toggleable-inside{display:block}.wds-toggleable .wds-toggleable-inside-box{border:1px solid #EAEAEA;border-radius:4px;margin-top:20px;padding:20px 30px}.wds-toggleable.inactive .wds-toggleable-inside{display:none}.wds-toggleable.inactive .wds-toggleable-inside-box{display:none}.wds-toggleable legend{cursor:pointer;color:#BABABA;font-size:15px;font-weight:500;font-family:'Roboto', sans-serif;transition:color .4s}.wds-toggleable legend:hover{color:#808080}.wds-conditional .wds-conditional-inside{display:none}.wds-conditional .wds-conditional-inside-box{border:1px solid #EAEAEA;border-radius:4px;margin-top:20px;padding:20px 30px}.wpmud .wds-links-dropdown{width:25px;position:relative;display:inline-block;text-align:left}.wpmud .wds-links-dropdown-anchor{display:inline-block;font-size:34px;line-height:10px;padding-bottom:20px;vertical-align:top;color:#888}.wpmud .wds-links-dropdown-anchor:hover:not(:focus):not(:active),.wpmud .wds-links-dropdown-anchor:hover,.wpmud .wds-links-dropdown-anchor:active,.wpmud .wds-links-dropdown-anchor:focus{color:#17a8e3}.wpmud .wds-links-dropdown.open .wds-links-dropdown-anchor{color:#17a8e3}.wpmud .wds-links-dropdown.open ul{display:block}.wpmud .wds-links-dropdown-label{color:#333;font-family:"Roboto Condensed","Roboto",Arial,sans-serif;font-size:13px;font-weight:bold;border-bottom:1px solid #E6E6E6;line-height:30px;margin-bottom:20px}.wpmud .wds-links-dropdown ul{border:1px solid #E6E6E6;padding:20px;box-shadow:0 3px 7px 0 rgba(0,0,0,0.05);width:180px;margin-bottom:0;margin-top:0;background:#fff;position:absolute;right:-20px;top:130%;z-index:10;border-radius:5px;display:none}.wpmud .wds-links-dropdown ul li:last-child{margin-bottom:0}.wpmud .wds-links-dropdown ul:after,.wpmud .wds-links-dropdown ul:before{content:'';position:absolute;border-style:solid;border-width:0 9px 9px;display:block;width:0;right:23px}.wpmud .wds-links-dropdown ul:after{border-color:#FFFFFF transparent;z-index:1;top:-8px}.wpmud .wds-links-dropdown ul:before{border-color:#d6d6d6 transparent;z-index:0;top:-9px}.wpmud .wds-styleable-file-input input[type="file"]{width:0.1px;height:0.1px;opacity:0;overflow:hidden;position:absolute;z-index:-1}.wpmud .wds-styleable-file-input input[readonly]{max-width:200px;float:left;border-right:none;border-top-right-radius:0;border-bottom-right-radius:0}.wpmud .wds-styleable-file-input .button{float:left;border-top-left-radius:0;border-bottom-left-radius:0}.wpmud .wds-accordion{background:#f8f8f8}.wpmud .wds-accordion .wds-accordion-section{padding:0;margin:0;border-bottom:1px solid #EAEAEA;position:relative}.wpmud .wds-accordion .wds-accordion-section .wds-accordion-handle{line-height:24px;max-width:100%;margin:0;padding:18px 30px;text-align:left;font-size:15px;color:#333;font-family:"Roboto",Arial,sans-serif;font-weight:500;background:#FFF;cursor:pointer}.wpmud .wds-accordion .wds-accordion-section .wds-accordion-handle:after{font-family:"WPMU-DEV-App-Icons",sans-serif;content:"\65";float:right;font-size:20px;vertical-align:middle;color:#888;cursor:pointer}.wpmud .wds-accordion .wds-accordion-section .wds-accordion-content{padding:30px;background:#FFF;border-radius:7px;box-shadow:0 2px 0 #ddd;display:none}.wpmud .wds-accordion .wds-accordion-section:first-of-type{border-top:1px solid #EAEAEA}.wpmud .wds-accordion .wds-accordion-section.open{padding:18px 30px 30px 30px}.wpmud .wds-accordion .wds-accordion-section.open .wds-accordion-handle{background:transparent;padding:0 0 18px 0}.wpmud .wds-accordion .wds-accordion-section.open .wds-accordion-handle:after{content:"\72"}.wpmud .wds-accordion .wds-accordion-section.open .wds-accordion-content{display:block}.wpmud .wds-accordion .wds-accordion-section.disabled .wds-accordion-handle{cursor:default;color:#666}.wpmud .wds-accordion .wds-accordion-section.disabled .wds-accordion-handle:after{display:none}.wpmud .wds-horizontal-tabs .wds-horizontal-tab-nav{padding:0 20px;border-bottom:1px solid #E6E6E6}.wpmud .wds-horizontal-tabs .wds-horizontal-tab-nav label{padding:15px;margin:0;font-size:15px;font-weight:normal;color:#888;line-height:30px;display:inline-block;vertical-align:middle}.wpmud .wds-horizontal-tabs .wds-horizontal-tab-nav .wds-nav-item{display:inline-table;width:auto;letter-spacing:0.01em;cursor:pointer}.wpmud .wds-horizontal-tabs .wds-horizontal-tab-nav .wds-nav-item.active{border-bottom:2px solid #17a8e3;letter-spacing:0}.wpmud .wds-horizontal-tabs .wds-horizontal-tab-nav .wds-nav-item.active label{color:#333;font-weight:500}.wpmud .wds-horizontal-tabs .wds-horizontal-tab .wds-horizontal-tab-content{display:none}.wpmud .wds-horizontal-tabs .wds-horizontal-tab input[type="radio"]{display:none}.wpmud .wds-horizontal-tabs .wds-horizontal-tab input[type="radio"]:checked+.wds-horizontal-tab-content{display:block}.wds-optimum-length-indicator-field{margin-bottom:0 !important;position:relative;z-index:20}.wds-optimum-length-indicator-field+.wds-optimum-length-indicator{background:transparent;border-radius:4px;height:10px;margin-top:-8px;margin-bottom:15px;position:relative;z-index:10}.wds-optimum-length-indicator-field.over+.wds-optimum-length-indicator,.wds-optimum-length-indicator-field.under+.wds-optimum-length-indicator{background:red}.wds-optimum-length-indicator-field.almost-over+.wds-optimum-length-indicator,.wds-optimum-length-indicator-field.almost-under+.wds-optimum-length-indicator{background:#FECF2F}.wds-optimum-length-indicator-field.just-right+.wds-optimum-length-indicator{background:#1ABC9C}.wpmud .wds-user-search>ul li{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;width:100%}.wpmud .wds-user-search-user{font-size:15px}.wpmud .wds-user-search-user,.wpmud .wds-user-search-you{margin-left:10px;color:#666}.wpmud .wds-user-search-you{background:#F2F2F2;font-size:13px;padding:3px 15px;border-radius:20px;text-transform:uppercase;font-weight:500}.wpmud .wds-user-search-remove{-ms-flex-positive:10;flex-grow:10;text-align:right;font-size:13px}.wpmud .wds-user-search-avatar{width:40px}.wpmud .wds-user-search-avatar .avatar{border-radius:100%;height:auto;width:40px}.wpmud .wds-user-search-field{display:table;width:100%}.wpmud .wds-user-search-field .select2-selection--single{height:40px}.wpmud .wds-user-search-field .select2-selection{border-bottom-right-radius:0;border-top-right-radius:0}.wpmud .wds-user-search-field input[type="button"]{border-bottom-left-radius:0;border-top-left-radius:0}.wpmud .wds-user-search-field>div{display:table-cell;vertical-align:bottom}.wpmud .wds-user-search-field>div:nth-child(2){width:10px}.wpmud .wds-obfuscate-section{background:rgba(242,242,242,0.5);position:absolute;top:0;left:0;width:100%;height:100%;z-index:2}.wpmud .wds-upsell-modal .box{background-image:url("../images/modal-upsell.png");background-position:bottom center;background-repeat:no-repeat;background-size:499px auto;padding-bottom:180px}.wpmud .wds-upgrade-benefits-list li{margin-bottom:20px;margin-left:30px;position:relative}.wpmud .wds-upgrade-benefits-list li:before{position:absolute;content:"_";color:#17a8e3;font-family:"wpmu-dev-seo-icons";right:100%;font-size:18px;margin-right:10px;top:7px}.wpmud .dev-box .box-title h3>i{margin-right:5px;vertical-align:-1px}.wpmud .dev-box .box-content p.wds-small-text{margin-bottom:15px}.wpmud .dev-box .box-content .wds-separator-top{margin-top:20px;padding-top:20px}.wpmud .dev-box .wds-box-stat-value{float:right;font-size:18px;color:#666;font-family:"Roboto Condensed","Roboto",Arial,sans-serif}.wpmud .dev-box .wds-box-stat-value-success{color:#888;font-size:13px;font-family:"Roboto",Arial,sans-serif}.wpmud .dev-box .wds-box-stat-value-success:before{font-family:"wpmu-dev-seo-icons";content:"_";color:#17a8e3;font-size:20px;vertical-align:-4px;margin-right:10px}.wpmud .dev-box .wds-autolinking-section{margin-bottom:30px}.wpmud .dev-box .wds-autolinking-section.wds-box-blocked-area{margin-bottom:0}.wpmud .dev-box .wds-box-blocked-area{margin-left:-30px;padding-bottom:20px;padding-left:30px;padding-right:30px;width:calc(100% + 60px);position:relative}.wpmud .dev-box .wds-box-blocked-area::before{background:rgba(242,242,242,0.5);content:"";height:100%;left:0;position:absolute;top:0;width:100%}.wpmud .dev-box .wds-box-blocked-area .wds-upgrade-button{position:absolute;top:18px;right:30px;padding:5px 16px}.wpmud .dev-box .wds-box-blocked-area .wds-small-text{margin-top:15px}.wpmud .dev-box .box-content .wds-mascot-message.seo-checkup-upsell{margin-bottom:-30px;margin-top:30px}.wpmud .dev-box#wds-content-analysis-box .wds-issues{margin-left:0}.wpmud .dev-box#wds-content-analysis-box .wds-accordion{margin:0;width:100%;border:1px solid #EAEAEA}.wpmud .dev-box#wds-content-analysis-box .wds-accordion .wds-check-item{border:none}.wpmud .dev-box#wds-content-analysis-box.wds-seo-analysis-enabled .wds-accordion,.wpmud .dev-box#wds-content-analysis-box.wds-seo-analysis-enabled .wds-accordion .wds-accordion-handle,.wpmud .dev-box#wds-content-analysis-box.wds-readability-analysis-enabled .wds-accordion,.wpmud .dev-box#wds-content-analysis-box.wds-readability-analysis-enabled .wds-accordion .wds-accordion-handle{border-radius:7px}.wpmud .dev-box#wds-content-analysis-box.wds-readability-analysis-enabled .wds-accordion{margin-top:20px}.wpmud .dev-box#wds-content-analysis-box.wds-seo-analysis-enabled.wds-readability-analysis-enabled .wds-accordion{margin-top:0}.wpmud .dev-box#wds-content-analysis-box.wds-seo-analysis-enabled.wds-readability-analysis-enabled .wds-accordion:first-child,.wpmud .dev-box#wds-content-analysis-box.wds-seo-analysis-enabled.wds-readability-analysis-enabled .wds-accordion:first-child .wds-accordion-handle{border-top-right-radius:7px;border-top-left-radius:7px;border-bottom-right-radius:0;border-bottom-left-radius:0}.wpmud .dev-box#wds-content-analysis-box.wds-seo-analysis-enabled.wds-readability-analysis-enabled .wds-accordion:last-child{border-top:none}.wpmud .dev-box#wds-content-analysis-box.wds-seo-analysis-enabled.wds-readability-analysis-enabled .wds-accordion:last-child,.wpmud .dev-box#wds-content-analysis-box.wds-seo-analysis-enabled.wds-readability-analysis-enabled .wds-accordion:last-child .wds-accordion-handle{border-top-right-radius:0;border-top-left-radius:0;border-bottom-right-radius:7px;border-bottom-left-radius:7px}.wpmud .dev-box#wds-content-analysis-box .wds-list-table tr th,.wpmud .dev-box#wds-content-analysis-box .wds-list-table tr td{padding-right:5px;padding-left:5px}.wpmud .dev-box#wds-content-analysis-box .wds-list-table tr th:first-child,.wpmud .dev-box#wds-content-analysis-box .wds-list-table tr td:first-child{padding-left:20px}.wpmud .dev-box#wds-sitemap-box .wds-box-crawl-stats{float:right}.wpmud .dev-box#wds-sitemap-box .wds-box-stat-value-success::before{color:#1ABC9C}.wpmud .dev-box#wds-seo-checkup .wds-report .wds-accordion .wds-check-success{display:none}.wpmud .dev-box#wds-seo-checkup .wds-box-report-details{padding-top:30px}.wpmud .dev-box#wds-seo-checkup .wds-box-report-details .wds-box-stat-value{padding-top:7px}.wpmud .dev-box#wds-seo-checkup .wds-mascot-message{margin-top:30px;margin-bottom:-30px}.wpmud .dev-box .wds-accordion-handle-part:nth-child(2){text-align:right}.wpmud .dev-box .wds-dash-configure-button::before,.wpmud .dev-box .wds-dash-edit-posts-button::before,.wpmud .dev-box .wds-dash-view-report-button::before,.wpmud .dev-box .wds-dash-view-report-button::before{font-family:"wpmu-dev-seo-icons";margin-right:4px;text-transform:none}.wpmud .dev-box .wds-dash-configure-button::before{content:"\2044"}.wpmud .dev-box .wds-dash-edit-posts-button::before{content:"\2f"}.wpmud .dev-box .wds-dash-view-report-button::before{content:"\e93b"}.wpmud .dev-box .wds-dash-view-report-button::before{content:'\65'}.wpmud .dev-box .wds-notice::before{padding-top:4px}.wpmud .dev-box .wds-notice p{font-size:13px;line-height:22px}.wpmud .wds-onboard-dialog .box{background-image:url("../images/url-crawler-stats.png");background-size:128px 121px;background-repeat:no-repeat;background-position:center bottom;padding-bottom:60px}.wpmud .wds-onboard-dialog .wds-notice::before{padding-top:2px}.wpmud .wds-onboard-dialog .wds-toggle-table{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}.wpmud .wds-onboard-dialog .wds-toggle-table .toggle.wds-toggle{-ms-flex-order:2;order:2}.wpmud .wds-onboard-dialog .wds-onboarding-setup{float:right}.wpmud .wds-dash-stats.wds-seo-checkup-stats{margin-bottom:30px;background-size:141px 141px}.wpmud .wds-dash-stats.wds-seo-checkup-stats .wds-report-score .wds-score{margin-top:0}.wpmud .wds-dash-stats.wds-seo-checkup-stats .wds-last-checkup-never{margin:0 auto;max-width:280px;text-align:left;width:100%}.wpmud .wds-dash-stats.wds-seo-checkup-stats .wds-last-checkup-never .wds-small-text{margin-bottom:15px}.wpmud .wds-dash-stats.wds-seo-checkup-stats .wds-stat-value .wds-crawl-in-progress{color:#888;font-family:"Roboto",Arial,sans-serif;font-size:13px;font-weight:400}.wpmud .wds-dash-stats.wds-seo-checkup-stats .wds-stat-value .wds-crawl-in-progress:before{font-size:13px;color:#888;font-family:"wpmu-dev-seo-icons";content:"";display:inline-table;margin-right:5px;animation:wds-loader-icon-spin 1.5s linear infinite}#wds-show-supported-macros{max-height:520px;overflow-y:scroll}.wpmud .note{float:left;margin:20px 0}.wpmud .wds-preset-separators input[type="radio"]{display:none}.wpmud .wds-preset-separators .separator-selector{background:#f4f4f4;border:1px solid #ddd;border-radius:4px;float:left;margin-right:10px;margin-bottom:10px;min-width:40px;text-align:center;vertical-align:middle;height:40px;line-height:23px}.wpmud .vertical-tabs>.tab input[type="radio"]:checked+label.separator-selector{border:1px solid #17A8E3;background-color:#E1F6FF}.wpmud .wds-custom-separator-message{margin:10px 0 20px 0}.wds-preview-container.wds-preview-loading{opacity:.7}.wpmud .box-sitemaps-xml-sitemap-settings .box-content>p{margin-bottom:10px}.wpmud .wds-sitemap-part{display:table;width:100%;border-bottom:1px solid #EAEAEA;margin-bottom:15px;padding-bottom:15px}.wpmud .wds-sitemap-part:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.wpmud .wds-sitemap-part-label,.wpmud .wds-sitemap-part-name,.wpmud .wds-sitemap-part-toggle{display:table-cell;vertical-align:middle}.wpmud .wds-sitemap-part-name{color:#888;font-size:13px;width:150px}.wpmud .wds-sitemap-part-toggle{width:100px}.wpmud .wds-sitemap-part-toggle .toggle{float:right}.wpmud .wds-sitemap-section{border-bottom:1px solid #EAEAEA;margin-bottom:15px;padding-bottom:20px}.wpmud .wds-sitemap-section:last-child{border-bottom:none;padding-bottom:0;margin-bottom:0}.wpmud .wds-sitemap-section>.wds-sitemap-part{border-bottom:medium none;padding-bottom:0;margin-bottom:0}.wpmud .wds-disable-updates .wds-notice-warning{font-size:13px}.wpmud .wds-content-tabs.tab_url_crawler .wds-list-table td:last-child{text-align:right}.wpmud .wds-content-tabs.tab_url_crawler .wds-list-table td:last-child:first-child{text-align:inherit}.wpmud .wds-content-tabs.tab_url_crawler .wds-list-table tr.wds-controls-row td{padding:30px}.wpmud .wds-content-tabs.tab_url_crawler .wds-crawl-issues-table{margin-bottom:30px}.wpmud .wds-content-tabs.tab_url_crawler .wds-ignored-items-table tbody tr td{background:#F9F9F9}.wpmud .wds-content-tabs.tab_url_crawler .wds-links-dropdown.wds-item-loading{font-size:18px}.wpmud .wds-content-tabs.tab_url_crawler .wds-links-dropdown.wds-item-loading .wds-links-dropdown-anchor{visibility:hidden}.wpmud .wds-content-tabs.tab_url_crawler .wds-url-crawler-stats{display:none}.wpmud .wds-url-crawler-stats{background-image:url("../images/url-crawler-stats.png");background-size:128px 121px}.wpmud .wds-path-occurrences{padding-top:30px;border-top:1px solid #EAEAEA}.wpmud .wds-action-button{float:right}.wpmud .wds-issues-type-sitemap .wds-notice{margin-bottom:30px}.wpmud .wds-postlist-selector-modal .box{background:#F1F1F1;padding:0 10px}.wpmud .wds-postlist-selector-modal .box .title{border-bottom:none;margin:0;padding:15px 0 0 20px}.wpmud .wds-postlist-selector-modal .box .title h3{font-weight:400;padding:0}.wpmud .wds-postlist-selector-modal .box .title .close{color:#777771}.wpmud .wds-postlist-selector-modal .vertical-tabs{margin-bottom:0}.wpmud .wds-postlist-selector-modal .wds-postlist-list-items{margin:0;padding:0}.wpmud .wds-postlist-selector-modal .wds-postlist-list-item{margin:25px 0 0;padding:0}.wpmud .wds-postlist-selector-modal .wds-postlist-list-item-first-child{margin-top:0}.wpmud .wds-postlist-selector-modal .wds-postlist-list-item+label{color:#aaa;margin-left:5px}.wpmud .wds-postlist-selector-modal .wds-postlist-list-item:checked+label{color:#4A4A4A}.wpmud .wds-postlist-selector-modal .wds-postlist-list-pagination{margin-top:30px}.wpmud .wds-postlist-add-post{padding-top:20px}.wpmud .wds-postlist-item-title,.wpmud .wds-postlist-item-type{width:40%}.wpmud .wds-postlist-item-remove{text-align:right}.wpmud .wds-postlist-empty_list{display:none}.wpmud .wds-custom-keywords-modal .wds-action-button{float:right}.wpmud .wds-automatic-linking-insert-links,.wpmud .wds-automatic-linking-link-to{width:calc(50% - 10px);float:left;border:1px solid #EAEAEA;border-radius:5px}.wpmud .wds-automatic-linking-insert-links:last-child,.wpmud .wds-automatic-linking-link-to:last-child{margin-left:20px}.wpmud .wds-automatic-linking-insert-links .label,.wpmud .wds-automatic-linking-link-to .label{width:100%;padding:20px 30px}.wpmud .wds-automatic-linking-insert-links .label .wds-label,.wpmud .wds-automatic-linking-link-to .label .wds-label{font-size:13px}.wpmud .wds-automatic-linking-insert-links .fields,.wpmud .wds-automatic-linking-link-to .fields{width:100%}.wpmud .wds-automatic-linking-insert-links .fields .wds-toggle-table,.wpmud .wds-automatic-linking-link-to .fields .wds-toggle-table{padding:15px 30px;border-top:1px solid #EAEAEA}.wpmud .wds-automatic-linking-insert-links .fields .wds-toggle-table .toggle,.wpmud .wds-automatic-linking-link-to .fields .wds-toggle-table .toggle{width:40px;float:right}.wpmud .wds-automatic-linking-insert-links .fields .wds-toggle-table .wds-toggle-description,.wpmud .wds-automatic-linking-link-to .fields .wds-toggle-table .wds-toggle-description{float:left}.wpmud .wds-moz-table strong{font-size:15px;color:#666;line-height:30px}.wpmud .wds-moz-api-credentials{border:1px solid #EAEAEA;border-radius:4px;padding:30px}.wpmud .wds-moz-api-credentials .button{margin-top:20px;float:right}.wpmud [name="reset-moz-credentials"]{margin-bottom:30px;float:right}.wpmud .wds-redirects input{margin-bottom:0}.wpmud .wds-redirects-buttons-top{margin-bottom:10px}.wpmud .wds-redirects-buttons-bottom button{float:right}.wpmud .wds-redirects .wds-redirection_item-type select{width:200px}.wpmud .wds-redirects .wds-bulk-remove{display:none}.wpmud .wds-redirects .wds-redirects-unsaved-notice{display:none}.wpmud .wds-redirects .wds-redirects-table.wds-list-table th,.wpmud .wds-redirects .wds-redirects-table.wds-list-table td{padding:20px 5px}.wpmud .wds-redirects .wds-redirects-table.wds-list-table th:first-child,.wpmud .wds-redirects .wds-redirects-table.wds-list-table th:last-child,.wpmud .wds-redirects .wds-redirects-table.wds-list-table td:first-child,.wpmud .wds-redirects .wds-redirects-table.wds-list-table td:last-child{width:10px}.wpmud .wds-redirects .wds-redirects-table.wds-list-table th:first-child,.wpmud .wds-redirects .wds-redirects-table.wds-list-table td:first-child{padding-left:20px}.wpmud .wds-redirects .wds-redirects-table.wds-list-table th:last-child,.wpmud .wds-redirects .wds-redirects-table.wds-list-table td:last-child{padding-right:20px}.wpmud .wds-redirects .wds-redirects-table.wds-list-table tbody tr:last-child td{border-bottom:1px solid #EAEAEA}.wpmud .wds-bulk-update-redirects-modal .wds-action-button{float:right}.wpmud .wds-custom-meta-tags{margin-top:15px}.wpmud .wds-meta-tags-example{font-size:0.8em}.wpmud .wds-third-party-plugins{border-radius:7px;border:1px solid #EAEAEA;margin-bottom:20px}.wpmud .wds-third-party-plugins .wds-third-party-plugin{padding:15px 20px;display:table;width:100%}.wpmud .wds-third-party-plugins .wds-third-party-plugin-name,.wpmud .wds-third-party-plugins .wds-third-party-plugin-button{display:table-cell;vertical-align:middle}.wpmud .wds-third-party-plugins .wds-third-party-plugin-name{color:#333;font-size:13px;font-weight:500}.wpmud .wds-third-party-plugins .wds-third-party-plugin-button{text-align:right}.wpmud .wds-third-party-plugins .wds-third-party-plugin.wds-aioseop{border-top:1px solid #EAEAEA}.wpmud .fields{position:relative}.wpmud .fields.wds-twitter-username::before{color:#aaaaaa;content:"@";font-family:"Roboto",Arial,sans-serif;font-size:15px;position:absolute;right:100.8%;top:8px}.wpmud .wds-twitter-embed{margin-top:30px;height:320px}.wpmud .wds-twitter-embed-large{height:560px}.wpmud .wds-twitter-embed iframe{margin:0 auto}.wpmud .wds-seo-checkup-stats{background-image:url("../images/seo-checkup-stats.png");background-size:181px 182px}.wpmud .wds-seo-checkup-stats .wds-checkup-frequency{text-transform:capitalize}.wpmud .wds-seo-checkup-stats .wds-checkup-frequency-details{font-size:13px}.wpmud .wds-content-tabs.tab_checkup .wds-mascot-message.seo-checkup-upsell{margin-top:30px;margin-bottom:-30px}@media only screen and (max-width: 960px){.wpmud .row .col-third,.wpmud .row .col-two-third,.wpmud .row .col-half,.wpmud .row .col-quarter,.wpmud .row .col-three-quarters{display:block;margin-top:30px;padding:0;width:100%}.wpmud .row .col-third:first-child,.wpmud .row .col-two-third:first-child,.wpmud .row .col-half:first-child,.wpmud .row .col-quarter:first-child,.wpmud .row .col-three-quarters:first-child{margin-top:0}}@media only screen and (max-width: 600px){.wpmud .dev-box .box-title{padding:15px 30px}}@media only screen and (max-width: 783px){.wpmud .dev-box .box-title .toggle-troup{margin-top:0}}@media only screen and (max-width: 600px){.wpmud .dev-box .box-title h3,.wpmud .dev-box .box-title .buttons,.wpmud .dev-box .box-title .actions,.wpmud .dev-box .box-title .extra{float:none;display:block}}@media only screen and (max-width: 600px){.wpmud .dev-box .box-title .buttons,.wpmud .dev-box .box-title .actions,.wpmud .dev-box .box-title .extra{margin-top:15px}}@media only screen and (max-width: 600px){.wpmud .dev-box .box-title h3{line-height:1em}}@media only screen and (max-width: 960px){.wpmud .wrap-wds #header h1,.wpmud .wrap-wds #header .actions{display:block;float:none}.wpmud .wrap-wds #header .actions{margin-top:15px;margin-bottom:5px}}@media only screen and (max-width: 1100px){.wpmud .content-box-two-cols-image-left .wds-block-entry{text-align:center}.wpmud .content-box-two-cols-image-left .wds-block-entry-image{float:none;margin-bottom:30px}.wpmud .content-box-two-cols-image-left .wds-block-entry-image .wds-image{margin:0 auto}.wpmud .content-box-two-cols-image-left .wds-block-entry-content{margin:0}.wpmud .content-box-two-cols-image-left .wds-block-entry-content .title{text-align:center}}.wpmud button#collapse-button{font:inherit;text-transform:none}
|
1 |
+
.cf:after,.wpmud #header:after,.wpmud .dev-box .box-title:after,.wpmud .wds-box-footer:after,.wpmud .uptime-message:after,.wpmud .wds-table-fields:after,.wpmud .wds-keyword-pairs .wds-keyword-pair:after,.wpmud .wds-styleable-file-input:after,.wpmud .wds-preset-separators:after,.wpmud .wds-automatic-linking:after,.wpmud .wds-moz-api-credentials:after{content:"";display:table;clear:both}@media only screen and (max-width: 1200px){.hide-to-large{display:none}}@media only screen and (max-width: 1100px){.hide-to-desktop{display:none}}.wpmud .select2-container .select2-selection--single{background:#FAFAFA;border-color:#ddd;height:44px}.wpmud .select2-container .select2-selection--single .select2-selection__rendered{padding:8px 45px 8px 15px;line-height:1;font:500 15px/25px "Roboto"}.wpmud .select2-container .select2-selection--single .select2-selection__arrow{height:39px;width:45px}.wpmud .select2-container .select2-selection--single .select2-selection__arrow::before{content:"\65";display:block;font-family:"WPMU-DEV-App-Icons",sans-serif;font-size:20px;margin-top:9px;text-align:center}.wpmud .select2-container .select2-selection--single b[role="presentation"]{border-color:transparent}.wpmud .select2-container .select2-dropdown{background:#FAFAFA;border-color:#ddd}.wpmud .select2-container .select2-results__option{margin:0;font:500 15px/25px "Roboto";padding:8px 15px}.wpmud .select2-container .select2-results__option--highlighted[aria-selected]{background-color:rgba(0,0,0,0.05);color:#414042}.wpmud .select2-container .select2-results__option[aria-selected=true]{background-color:#17a8e3;color:#fff}.wpmud .select2-container.select2-container--open .select2-selection--single .select2-selection__arrow::before{content:"\72"}.wpmud .select2-container.select2-container--above .select2-selection--single .select2-selection__arrow::before{content:"\72"}.wpmud .select2-container.select2-container--above.select2-container--open .select2-selection--single .select2-selection__arrow::before{content:"\65"}.wpmud .select2-container.select2-container--above.select2-container--open .select2-selection--single .select2-selection__rendered{padding-top:9px}.wds-select2-dropdown-container .select2-selection--single{background:#FAFAFA;border-color:#ddd;height:44px}.wds-select2-dropdown-container .select2-selection--single .select2-selection__rendered{padding:8px 45px 8px 15px;line-height:1;font:500 15px/25px "Roboto"}.wds-select2-dropdown-container .select2-selection--single .select2-selection__arrow{height:39px;width:45px}.wds-select2-dropdown-container .select2-selection--single .select2-selection__arrow::before{content:"\65";display:block;font-family:"WPMU-DEV-App-Icons",sans-serif;font-size:20px;margin-top:9px;text-align:center}.wds-select2-dropdown-container .select2-selection--single b[role="presentation"]{border-color:transparent}.wds-select2-dropdown-container .select2-dropdown{background:#FAFAFA;border-color:#ddd}.wds-select2-dropdown-container .select2-results__option{margin:0;font:500 15px/25px "Roboto";padding:8px 15px}.wds-select2-dropdown-container .select2-results__option--highlighted[aria-selected]{background-color:rgba(0,0,0,0.05);color:#414042}.wds-select2-dropdown-container .select2-results__option[aria-selected=true]{background-color:#17a8e3;color:#fff}.wds-select2-dropdown-container.select2-container--open .select2-selection--single .select2-selection__arrow::before{content:"\72"}.wds-select2-dropdown-container.select2-container--above .select2-selection--single .select2-selection__arrow::before{content:"\72"}.wds-select2-dropdown-container.select2-container--above.select2-container--open .select2-selection--single .select2-selection__arrow::before{content:"\65"}.wds-select2-dropdown-container.select2-container--above.select2-container--open .select2-selection--single .select2-selection__rendered{padding-top:9px}.wpmud{-webkit-font-smoothing:antialiased}.wpmud-html{background-color:#f1f1f1}.wpmud *{box-sizing:border-box}.wpmud strong,.wpmud b{font-weight:500}.wpmud p{color:#666;line-height:30px;margin-bottom:30px}.wpmud #header{margin-bottom:30px}.wpmud #header h1{color:#333;margin:0 0 30px;display:table;float:left}.wpmud #header h1:last-child{margin-bottom:0}.wpmud #header h1 .wds-toggle{vertical-align:top;width:42px}.wpmud #header ~ .sub-header{margin-top:30px;margin-bottom:30px}.wpmud #header .actions{float:right}.wpmud #header .actions .button{vertical-align:middle;margin-left:20px}.wpmud #header .notice,.wpmud #header div.error,.wpmud #header div.updated{clear:both}.wpmud #wpbody{background:transparent}.wpmud #container{margin:30px 30px 0 10px}.wpmud .dev-box{padding:0}.wpmud .dev-box:last-child{margin-bottom:0}.wpmud .dev-box .box-title{clear:both;height:inherit;margin:0;padding:0 30px}.wpmud .dev-box .box-title h3{float:left;font-size:15px;color:#333}.wpmud .dev-box .box-title .buttons.left{float:left;margin:10px 0 0 20px}.wpmud .dev-box .box-content{padding:30px;word-wrap:break-word}.wpmud .dev-box .box-content.no-padding{padding:0}.wpmud .dev-box .box-content.no-vertical-padding{padding-top:0;padding-bottom:0}.wpmud .dev-box .box-content.no-side-padding{padding-right:0;padding-left:0}.wpmud .dev-box .box-content p{margin-bottom:20px}.wpmud .dev-box .box-content p:last-of-type:last-child{margin-bottom:0}.wpmud .dev-box .box-content .wds-standalone-bottom{margin-bottom:0}.wpmud .dev-box .box-content .buttons{margin-top:20px}.wpmud .dev-box .box-content .buttons.buttons-on-left{text-align:left}.wpmud .dev-box .box-content .buttons.buttons-on-right{text-align:right}.wpmud .dev-box .box-footer{margin-top:0;padding:0 30px 30px 30px}.wpmud .dev-box .box-footer.bordered-top{border-top:2px solid #f4f4f4;padding-top:30px}.wpmud .dev-box .box-footer.modal{margin-top:30px;padding:0}.wpmud .dev-box .box-footer.buttons .select-wrapper{display:inline-block}.wpmud .dev-box .box-footer.buttons .select-wrapper>*{display:inline-block}.wpmud .dev-box .box-footer.buttons .select-wrapper>label{float:left;line-height:43px;margin:0 15px 0 0;padding:0;vertical-align:middle}.wpmud .dev-box .box-footer.buttons .button,.wpmud .dev-box .box-footer.buttons input[type="submit"]{display:inline-block;margin-left:20px}.wpmud .dev-box .box-footer.buttons .button:first-child,.wpmud .dev-box .box-footer.buttons input[type="submit"]:first-child{margin-left:0}.wpmud .wds-modal *{box-sizing:border-box}.wpmud .wds-modal.dev-overlay .title h3{color:#333;font-family:"Roboto Condensed","Roboto",Arial,sans-serif;font-size:15px}.wpmud .wds-modal.dev-overlay .back{background:#333;opacity:0.95}.wpmud .wds-modal .box{padding:0}.wpmud .wds-modal .box .title{margin:0;padding:0 30px}.wpmud .wds-modal .box .content{padding:30px}.wpmud .wds-box-footer{border-top:1px solid #EAEAEA;margin:30px -30px -30px;padding:30px}.wpmud form>div.buttons{text-align:center}.wpmud form .vertical-tabs{padding:15px 0 0}.wpmud .vertical-tabs{margin-bottom:30px}.wpmud .vertical-tabs>.tab input[type="radio"]{display:none}.wpmud .vertical-tabs>.tab>.wds-content-tabs{padding:0;border-radius:7px;left:200px}.wpmud .vertical-tabs>.tab>label{color:#888;font:400 15px/20px "Roboto",Arial,sans-serif;padding:5px 15px;border-radius:20px;text-transform:inherit;width:170px;margin:0 0 10px}.wpmud .vertical-tabs>.tab>label:hover{color:#333}.wpmud .vertical-tabs>.tab>label:after{border-bottom:none}.wpmud .vertical-tabs>.tab input[type="radio"]:checked+label{color:#333;background:#eaeaea;box-shadow:none;padding-top:5px;font-weight:500}.wpmud .vertical-tabs .wds-content-tabs .tab-title{font-weight:600;line-height:24px;margin:0;max-width:100%;padding:18px 30px;border-bottom:1px solid #EAEAEA;text-align:left;font-size:15px;color:#333}.wpmud .vertical-tabs .wds-content-tabs .wds-content-tabs-inner{padding:30px;position:relative}.wpmud .vertical-tabs .wds-content-tabs.wds-accordion{background:#f9f9f9}.wpmud .vertical-tabs .wds-content-tabs.wds-accordion .tab-title{border-radius:7px 7px 0 0;background:#FFF;border-bottom:none}.wpmud .vertical-tabs .wds-content-tabs.wds-accordion .tab-sub-title .toggle{position:absolute;right:80px}.wpmud .vertical-tabs .wds-content-tabs.wds-accordion .tab-sub-title .wds-archive-disabled-label{background:#f2f2f2;border-radius:13px;color:#aaaaaa;display:none;font-size:13px;margin-left:6px;padding:5px 16px;vertical-align:top}.wpmud .vertical-tabs .wds-content-tabs.wds-accordion .tab-sub-title.wds-archive-disabled{color:#888}.wpmud .vertical-tabs .wds-content-tabs.wds-accordion .tab-sub-title.wds-archive-disabled .wds-archive-disabled-label{display:inline}.wpmud .row-inside-form{margin-bottom:30px;padding:0}.wpmud .wds-footer-text{margin-top:20px;text-align:left}.wpmud .wds-group{margin-bottom:15px}.wpmud .wds-group:last-child{margin-bottom:0}.wpmud .block-section-footer{margin-top:30px}.wpmud .wds-seamless-footer{background:#FFF;border-radius:0 0 7px 7px;padding:30px;border-top:1px solid #EAEAEA;text-align:right}.wpmud .wds-accordion .wds-seamless-footer{border-top:none}.wpmud .toggle.toggle{line-height:1}.wpmud .toggle.toggle .toggle-label{background:transparent;border:1px solid #ccc;height:18px;width:40px;margin-left:0}.wpmud .toggle.toggle .toggle-label::after{background:#777771;height:18px;width:18px;border-radius:100%;margin:0;box-shadow:none;position:relative;top:0}.wpmud .toggle.toggle .toggle-label::before{display:none}.wpmud .toggle.toggle .toggle-checkbox:hover+.toggle-label::after{background:#777771;box-shadow:none}.wpmud .toggle.toggle .toggle-checkbox+.toggle-label::after{margin-left:-1px;margin-top:-1px}.wpmud .toggle.toggle .toggle-checkbox:checked+.toggle-label{background:#f9f9f9}.wpmud .toggle.toggle .toggle-checkbox:checked+.toggle-label::after{background:#17a8e3;margin-left:22px}.wpmud .toggle.toggle.wds-inverted-toggle .toggle-label{background:#f9f9f9}.wpmud .toggle.toggle.wds-inverted-toggle .toggle-label::after{background:#17a8e3;margin-left:22px}.wpmud .toggle.toggle.wds-inverted-toggle .toggle-checkbox:hover+.toggle-label::after{background:#17a8e3}.wpmud .toggle.toggle.wds-inverted-toggle .toggle-checkbox:checked+.toggle-label{background:transparent}.wpmud .toggle.toggle.wds-inverted-toggle .toggle-checkbox:checked+.toggle-label::after{margin-left:-1px;background:#777771}.wpmud .wds-form .input,.wpmud .wds-form input[type="text"],.wpmud .wds-form input[type="email"],.wpmud .wds-form input[type="search"],.wpmud .wds-form input[type="password"],.wpmud .wds-form input[type="url"],.wpmud .wds-form select,.wpmud .wds-form textarea{background:#FAFAFA;border-color:#ddd;color:#333}.wpmud .wds-form .input:hover:not(:focus):not(:active),.wpmud .wds-form .input:focus,.wpmud .wds-form .input:active,.wpmud .wds-form input[type="text"]:hover:not(:focus):not(:active),.wpmud .wds-form input[type="text"]:focus,.wpmud .wds-form input[type="text"]:active,.wpmud .wds-form input[type="email"]:hover:not(:focus):not(:active),.wpmud .wds-form input[type="email"]:focus,.wpmud .wds-form input[type="email"]:active,.wpmud .wds-form input[type="search"]:hover:not(:focus):not(:active),.wpmud .wds-form input[type="search"]:focus,.wpmud .wds-form input[type="search"]:active,.wpmud .wds-form input[type="password"]:hover:not(:focus):not(:active),.wpmud .wds-form input[type="password"]:focus,.wpmud .wds-form input[type="password"]:active,.wpmud .wds-form input[type="url"]:hover:not(:focus):not(:active),.wpmud .wds-form input[type="url"]:focus,.wpmud .wds-form input[type="url"]:active,.wpmud .wds-form select:hover:not(:focus):not(:active),.wpmud .wds-form select:focus,.wpmud .wds-form select:active,.wpmud .wds-form textarea:hover:not(:focus):not(:active),.wpmud .wds-form textarea:focus,.wpmud .wds-form textarea:active{background:#ffffff;border-color:#ddd}.wpmud .wds-form .input:-ms-input-placeholder,.wpmud .wds-form input[type="text"]:-ms-input-placeholder,.wpmud .wds-form input[type="email"]:-ms-input-placeholder,.wpmud .wds-form input[type="search"]:-ms-input-placeholder,.wpmud .wds-form input[type="password"]:-ms-input-placeholder,.wpmud .wds-form input[type="url"]:-ms-input-placeholder,.wpmud .wds-form select:-ms-input-placeholder,.wpmud .wds-form textarea:-ms-input-placeholder{color:#aaaaaa}.wpmud .wds-form .input::placeholder,.wpmud .wds-form input[type="text"]::placeholder,.wpmud .wds-form input[type="email"]::placeholder,.wpmud .wds-form input[type="search"]::placeholder,.wpmud .wds-form input[type="password"]::placeholder,.wpmud .wds-form input[type="url"]::placeholder,.wpmud .wds-form select::placeholder,.wpmud .wds-form textarea::placeholder{color:#aaaaaa}.wpmud .wds-form .input:disabled,.wpmud .wds-form .input.disabled,.wpmud .wds-form input[type="text"]:disabled,.wpmud .wds-form input[type="text"].disabled,.wpmud .wds-form input[type="email"]:disabled,.wpmud .wds-form input[type="email"].disabled,.wpmud .wds-form input[type="search"]:disabled,.wpmud .wds-form input[type="search"].disabled,.wpmud .wds-form input[type="password"]:disabled,.wpmud .wds-form input[type="password"].disabled,.wpmud .wds-form input[type="url"]:disabled,.wpmud .wds-form input[type="url"].disabled,.wpmud .wds-form select:disabled,.wpmud .wds-form select.disabled,.wpmud .wds-form textarea:disabled,.wpmud .wds-form textarea.disabled{color:#aaaaaa !important;background-color:#ffffff !important;border:1px solid #ddd !important}.wpmud .wds-form .select-container{background:#FAFAFA;border-color:#ddd}.wpmud .wds-form .select-container-no-style{background:transparent;border-color:transparent}.wpmud .wds-form .select-container .dropdown-handle{background:#FAFAFA;border-color:#ddd;border-left-width:0}.wpmud .wds-form .select-container .dropdown-handle .wdv-icon:before{font-family:"WPMU-DEV-App-Icons",sans-serif;content:"\65";color:#A6A6A6;font-size:20px}.wpmud .wds-form .select-container .list-value{color:#333}.wpmud .wds-form .select-container.active:hover .list-value,.wpmud .wds-form .select-container.active .list-value:hover{color:#333}.wpmud .wds-form .select-container.active .dropdown-handle{background:#ffffff;border-left-width:1px}.wpmud button,.wpmud .button{border-radius:4px;padding:10px 20px;background:#17a8e3}.wpmud button:hover:not(:focus):not(:active),.wpmud .button:hover:not(:focus):not(:active){background:#41baec}.wpmud button:active,.wpmud button:focus,.wpmud .button:active,.wpmud .button:focus{background:#1286b5}.wpmud button.button-light,.wpmud .button.button-light{background:transparent}.wpmud button.button-light:hover:not(:focus):not(:active),.wpmud .button.button-light:hover:not(:focus):not(:active){background:#f4f4f4}.wpmud .media-modal .media-frame h2{max-width:100%;font-family:inherit}.wpmud .media-modal .media-frame .media-button{padding:0 12px;text-transform:none}.wpmud .media-modal .media-frame .search,.wpmud .media-modal .media-frame .setting input,.wpmud .media-modal .media-frame .setting textarea,.wpmud .media-modal .media-frame .attachment-filters{border-radius:0;box-shadow:0 1px 2px rgba(0,0,0,0.07) inset;font-size:12px;line-height:1.4em;padding:4px}.wpmud .media-modal .media-frame .search:not(:disabled):not([readonly]),.wpmud .media-modal .media-frame .setting input:not(:disabled):not([readonly]),.wpmud .media-modal .media-frame .setting textarea:not(:disabled):not([readonly]),.wpmud .media-modal .media-frame .attachment-filters:not(:disabled):not([readonly]){background-color:#fff;border:1px solid #ddd}.wpmud .media-modal .media-frame .search{margin-top:11px}.wpmud .media-modal .media-frame .setting{padding:0}.wpmud .media-modal .media-frame .attachment-filters{display:inline;width:100px;max-width:200px;padding:0}.wpmud .media-modal .media-frame .delete-attachment,.wpmud .media-modal .media-frame .trash-attachment,.wpmud .media-modal .media-frame .untrash-attachment{font-family:inherit;font-size:inherit;text-transform:none}.wpmud .media-modal .media-modal-close{background:transparent;border:none;color:#666;cursor:pointer;height:50px;margin:0;outline:medium none;padding:0;position:absolute;right:0;top:0;transition:color 0.1s ease-in-out 0s, background 0.1s ease-in-out 0s;width:50px;z-index:1000}.wpmud .media-modal .media-modal-close:hover:not(:focus):not(:active),.wpmud .media-modal .media-modal-close:hover{color:#00A0D2;background:transparent}.wpmud .notice,.wpmud div.error,.wpmud div.updated{text-align:left}.wpmud #wpbody-content>.error,.wpmud #wpbody-content>.updated{margin:30px 20px 30px 0}.wpmud .wds-image{display:block;height:auto;max-width:100%}.wpmud .wds-image-center{margin-right:auto;margin-left:auto}.wpmud .wds-image-standalone{margin-bottom:30px}.wpmud .wds-listing{margin:0}.wpmud .wds-listing li{font:400 15px/21px "Roboto",Arial,sans-serif;margin-top:20px;margin-bottom:0}.wpmud .wds-listing li:first-child{margin-top:0}.wpmud .wds-listing li strong{font-weight:500}.wpmud .wds-listing li.cta-alt:before{color:#BE1E2D}.wpmud .wds-listing.bold li{font-weight:500}.wpmud .wds-listing-ordered{padding-left:20px}.wpmud .wds-listing .wds-listing-label{color:#777771;font:400 20px/26px "Roboto Condensed","Roboto",Arial,sans-serif;margin-bottom:15px}.wpmud .wds-pre{border-left:none}.wpmud .wds-pre-inline{display:inline-block;margin:0;font-style:italic}.wpmud .wds-title-alt{font-size:30px;font-weight:400;line-height:40px;max-width:none;overflow:hidden;text-overflow:ellipsis;text-transform:none;white-space:nowrap}.wpmud .wds-page-desc{color:#444;font-family:'Open Sans', Arial, sans-serif;font-weight:400;font-size:14px;line-height:20px}.wpmud .uptime-message>*{float:left;line-height:40px;margin-right:10px}.wpmud .uptime-message .wds-dashicons-box-title{margin:0 10px 0 0;height:40px}.wpmud .uptime-message .uptime>span{display:block}.wpmud .uptime-message .uptime-result{font-size:22px;font-weight:700;line-height:26px}.wpmud .uptime-message .uptime-label{color:#bfbfbf;font:400 13px/14px "Roboto Condensed","Roboto",Arial,sans-serif;text-transform:uppercase}.wds-qtip{background:#0B2F3F;border-color:#0B2F3F;color:#FFF;padding:3px}.wpmud .wds-disabled-component{text-align:center}.wpmud .wds-disabled-component .wds-disabled-image{width:128px;height:auto}.wpmud .wds-disabled-component p{margin-bottom:30px}.wpmud .wds-disabled-component .wds-notice{margin-bottom:30px}.wpmud .wds-has-tooltip{cursor:pointer}.wpmud .button.large{padding:20px}.wpmud .button-light-wds{box-shadow:0 0 0 2px #BABABA inset}.wpmud .button-fields-trigger{background:transparent;border:1px solid transparent;color:#888888;font-size:12px;line-height:16px;font-weight:400;padding:12px 12px 9px 12px;transition:background .3s, color .3s, opacity .3s}.wpmud .button-fields-trigger:hover:not(:focus):not(:active),.wpmud .button-fields-trigger:hover,.wpmud .button-fields-trigger:active,.wpmud .button-fields-trigger:focus{background:#EAEAEA;border:1px solid transparent;color:#777771}.wpmud .button.button-cta-alt{background:#BE1E2D;box-shadow:0 3px 0 0 #991825}.wpmud .button.button-cta-alt:hover:not(:focus):not(:active){background:#991825;box-shadow:0 3px 0 0 #660000}.wpmud .button.button-cta-alt:active,.wpmud .button.button-cta-alt:focus{box-shadow:0 3px 0 0 #660000;background:#991825;background:linear-gradient(to bottom, #991825 0%, #BE1E2D 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#991825', endColorstr='#BE1E2D', GradientType=0)}.wpmud .button.button-cta-dark{background:#414042;box-shadow:0 3px 0 0 #231F20}.wpmud .button.button-cta-dark:hover:not(:focus):not(:active){background:#231F20;box-shadow:0 3px 0 0 #0E0D0F}.wpmud .button.button-cta-dark:active,.wpmud .button.button-cta-dark:focus{box-shadow:0 3px 0 0 #0E0D0F;background:#231F20;background:linear-gradient(to bottom, #231F20 0%, #414042 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#231F20', endColorstr='#414042', GradientType=0)}.wpmud .button-white{background:transparent;border:2px solid #fff;box-shadow:none;color:#fff;padding:8px 20px;transition:background .3s, border-color .3s, color .3s, opacity .3s}.wpmud .button-white:hover:not(:focus):not(:active){background:#fff;border-color:#fff;box-shadow:none;color:#4A4A4A}.wpmud .button-white:active,.wpmud .button-white:focus{color:#4A4A4A;box-shadow:none;border:2px solid #E6E6E6;background:#E6E6E6;background:linear-gradient(to bottom, #E6E6E6 0%, #fff 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#E6E6E6', endColorstr='#fff', GradientType=0);transform:inherit}.wpmud .button-yellow-alt{background:transparent;border:2px solid #FECF2F;box-shadow:none;color:#FECF2F;padding:8px 20px;transition:background .3s, border-color .3s, color .3s, opacity .3s}.wpmud .button-yellow-alt:hover:not(:focus):not(:active){background:#FECF2F;border-color:#FECF2F;box-shadow:none;color:#fff}.wpmud .button-yellow-alt:active,.wpmud .button-yellow-alt:focus{color:#FFFFFF;box-shadow:none;border-color:#E5B616;background:#E5B616;background:linear-gradient(to bottom, #E5B616 0%, #FECF2F 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#E5B616', endColorstr='#FECF2F', GradientType=0)}.wpmud .button-dark{background:#888;color:#ffffff}.wpmud .button-dark:hover:not(:focus):not(:active),.wpmud .button-dark:hover,.wpmud .button-dark:focus,.wpmud .button-dark:active{background:#6f6f6f;color:#ffffff}.wpmud .button-small.button{font-family:"Roboto",Arial,sans-serif;font-size:12px;line-height:16px;padding:7px 16px}.wpmud .button-dark-o{background:transparent;border:2px solid #666;box-shadow:none;color:#666;padding:8px 20px;font-family:"Roboto",Arial,sans-serif;font-weight:500}.wpmud .button-dark-o:hover:not(:focus):not(:active),.wpmud .button-dark-o:hover,.wpmud .button-dark-o:focus,.wpmud .button-dark-o:active{background:transparent;border:2px solid gray;color:gray}.wpmud .button-dark-o.button-small.button{padding:5px 16px}.wpmud .button-pro{border:2px solid #1ABC9C;border-radius:20px;color:#1ABC9C;font-family:"Roboto",Arial,sans-serif;font-size:12px;font-weight:500;line-height:16px;text-transform:uppercase;background:transparent}.wpmud .button-pro:hover:not(:focus):not(:active),.wpmud .button-pro:hover,.wpmud .button-pro:focus,.wpmud .button-pro:active{background:transparent;border:2px solid #148f77;color:#148f77}.wpmud .wds-button-with-loader.wds-item-loading::before{font-size:18px}.wpmud .wds-button-with-left-loader.wds-item-loading::before{right:110%}.wpmud .wds-button-with-right-loader.wds-item-loading::before{left:110%}.wpmud input[type="number"],.wpmud input[type="url"]{background:#FFF;border:1px solid #ddd;border-radius:4px;box-shadow:none;color:#999;display:block;font:500 15px/25px "Roboto",Arial,sans-serif;margin:0px 0px 15px 0px;max-width:100%;padding:7px 15px 6px;transition-property:background, color, border-color;transition-duration:0.3s;width:100%}.wpmud input[type="number"]:focus,.wpmud input[type="url"]:focus{border-color:#BBB;color:#3D464D}.wpmud input[type="number"]:focus::-webkit-input-placeholder,.wpmud input[type="url"]:focus::-webkit-input-placeholder{transition:opacity 0.3s 0.4s ease;opacity:0.25}.wpmud input[type="number"]:focus:-moz-placeholder,.wpmud input[type="url"]:focus:-moz-placeholder{transition:opacity 0.3s 0.4s ease;opacity:0.25}.wpmud input[type="number"]:focus::-moz-placeholder,.wpmud input[type="url"]:focus::-moz-placeholder{transition:opacity 0.3s 0.4s ease;opacity:0.25}.wpmud input[type="number"]:focus:-ms-input-placeholder,.wpmud input[type="url"]:focus:-ms-input-placeholder{transition:opacity 0.3s 0.4s ease;opacity:0.25}.wpmud input[type="number"]:hover:not(:focus),.wpmud input[type="url"]:hover:not(:focus){color:#3D464D}.wpmud input[type="number"]:disabled,.wpmud input[type="url"]:disabled{background:#F6F6F6 !important;color:#AAA !important;border-color:#ddd !important;cursor:default}.wpmud input[type="number"]::-webkit-input-placeholder,.wpmud input[type="url"]::-webkit-input-placeholder{position:relative;top:0}.wpmud input[type="number"]:-moz-placeholder,.wpmud input[type="url"]:-moz-placeholder{position:relative;top:0}.wpmud input[type="number"]::-moz-placeholder,.wpmud input[type="url"]::-moz-placeholder{position:relative;top:0}.wpmud input[type="number"]:-ms-input-placeholder,.wpmud input[type="url"]:-ms-input-placeholder{position:relative;top:0}.wpmud .wds-checkbox,.wpmud .wds-radio{box-shadow:none;line-height:20px;height:20px;min-width:20px;width:20px}.wpmud .wds-checkbox:focus,.wpmud .wds-radio:focus{border-color:#19B99A}.wpmud .wds-checkbox-width-label,.wpmud .wds-radio-width-label{margin-right:0}.wpmud .wds-checkbox{border-radius:4px}.wpmud .wds-checkbox:before{color:#19B99A;height:18px;line-height:20px;margin:0 0 0 -2px;width:18px}.wpmud .wds-checkbox:checked{border-color:#19B99A}.wpmud .wds-checkbox:checked:before{color:#19B99A;height:18px;line-height:20px;margin:0 0 0 -2px;width:18px}.wpmud .wds-checkbox-container input[type="checkbox"]{display:none}.wpmud .wds-checkbox-container label{height:16px;width:16px;padding:0;margin:0}.wpmud .wds-checkbox-container span{background:#FAFAFA;border:1px solid #ddd;height:16px;width:16px;border-radius:4px;display:block}.wpmud .wds-checkbox-container input[type="checkbox"]:checked+span{background:#17a8e3;border:#17a8e3}.wpmud .wds-checkbox-container input[type="checkbox"]:checked+span:before{color:#fff;content:"\7a";display:block;font-family:"WPMU-DEV-App-Icons";font-size:10px;line-height:1;padding:3px}.wpmud .wds-radio{margin-top:0}.wpmud .wds-radio:checked:before{background-color:#19B99A;height:10px;line-height:20px;width:10px}.wpmud .wds-fieldset-legend,.wpmud .wds-label{color:#333;display:block;font-size:15px;line-height:30px;margin-bottom:0;padding:0;text-transform:capitalize;transition:color .4s}.wpmud .wds-fieldset{margin-top:20px}.wpmud .wds-fieldset:first-child{margin-top:0}.wpmud .wds-fieldset-standalone{margin-bottom:20px}.wpmud .wds-fieldset-grey{color:#4A4A4A}.wpmud .wds-label:hover{color:#808080}.wpmud .wds-label.link{color:#19B4CF;display:inline-block;margin:0;text-transform:none}.wpmud .wds-label-inline{display:inline-block}.wpmud .wds-label-inline-left{margin:0 15px 0 0}.wpmud .wds-label-inline-right{margin:0 0 0 15px;max-width:450px}.wpmud .wds-label-description{color:#808080;display:block;font-size:13px;line-height:22px;margin-top:0;margin-bottom:20px}.wpmud .wds-label-radio{color:#4A4A4A}.wpmud .wds-field-legend{color:#808080;display:block;font-size:13px;line-height:18px;margin-top:10px}.wpmud .wds-group-field .wds-field,.wpmud .wds-group-field .wds-select,.wpmud .wds-group-field .wds-textarea{margin-bottom:5px}.wpmud .wds-group-field.has-field-label .wds-field{display:inline-block;width:auto}.wpmud .wds-group-field .wds-field-label{color:#808080;font:400 15px/20px "Roboto",Arial,sans-serif}.wpmud .wds-fieldset-fields{margin-top:15px}.wpmud .wds-fieldset-fields-group{margin:5px 0 0}.wpmud .wds-fieldset-fields-group>p{display:inline-block;margin:0 20px 10px 0 !important}.wpmud .wds-fieldset-fields-group>p:last-child{margin-right:0}.wpmud .wds-fieldset-fields-group .wds-label-inline-right{margin-left:5px}.wpmud .wds-table-fields-group{margin-top:20px}.wpmud .wds-table-fields-group:first-child{margin-top:0}.wpmud .wds-table-fields .label,.wpmud .wds-table-fields .fields{display:block;float:left}.wpmud .wds-table-fields .label{margin-top:5px;padding-right:30px;width:30%}.wpmud .wds-table-fields .label-width-options{margin-top:5px}.wpmud .wds-table-fields .label-long{margin-top:2px}.wpmud .wds-table-fields .label .wds-label{margin-bottom:0}.wpmud .wds-table-fields .fields{width:70%}.wpmud .wds-table-fields .fields .wds-label{color:#666}.wpmud .wds-table-fields .fields-with-legend .wds-field{margin-bottom:5px}.wpmud .wds-table-fields .fields-with-legend-large .wds-field{margin-bottom:10px}.wpmud .wds-table-fields .fields.has-trigger-button{position:relative}.wpmud .wds-table-fields .note{background-color:#f5f5f5;border-radius:3px;clear:both;padding:20px;text-align:center;width:100%}.wpmud .wds-table-fields .note p{color:#4A4A4A;font-weight:400;margin:0;line-height:20px}.wpmud .wds-table-fields .note .wdv-icon{color:#777771;font-size:20px;vertical-align:top}.wpmud .wds-table-fields.wds-table-fields-stacked .label{margin-top:0;padding-right:0;margin-bottom:5px;width:100%}.wpmud .wds-table-fields.wds-table-fields-stacked .label label{color:#888;font-size:12px;font-weight:500;line-height:22px}.wpmud .wds-table-fields.wds-table-fields-stacked .label label span{font-weight:400}.wpmud .wds-table-fields.wds-table-fields-stacked .fields{width:100%}.wpmud .wds-table-fields.wds-table-fields-stacked .select2{margin-bottom:15px}.wpmud .wds-separator-top{margin-top:30px;padding-top:30px;border-top:1px solid #EAEAEA}.wpmud .wds-code-label{display:block;margin-bottom:5px}.wpmud .wds-toggle-table{display:table;width:100%}.wpmud .wds-toggle-table.disabled{opacity:.5}.wpmud .wds-toggle-table .toggle.wds-toggle,.wpmud .wds-toggle-table .wds-toggle-description{display:table-cell;vertical-align:top}.wpmud .wds-toggle-table .wds-toggle-description .wds-label{margin-left:0}.wpmud .wds-toggle-table:last-child .wds-label-description{margin-bottom:0}.wpmud .wds-toggle-table .toggle.wds-toggle{padding-top:6px;width:60px}.wpmud .wds-dashicons{color:#808080;font-size:22px;height:22px;opacity:.5;width:22px}.wpmud .wds-dashicons-link{font-size:24px;height:24px;width:24px;transition:all .4s}.wpmud .wds-dashicons-link:hover{opacity:1}.wpmud .wds-dashicons-box-title{margin:-5px 10px 0 0;vertical-align:middle}.wpmud .wds-icon{background:url("../images/smartCrawl_sprite.png") no-repeat 0 0;background-image:url("../images/smartCrawl_sprite.svg"),none}.wpmud .wds-icon-inline{display:inline-block}.wpmud .wds-icon-inline-left{margin-right:15px}.wpmud .wds-icon-inline-right{margin-left:15px}.wpmud .wds-icon-redirect{background-position:-30px -30px;height:16px;width:18px}.wpmud .wds-icon-list{background-position:-30px -76px;height:16px;width:18px}@font-face{font-family:'wpmu-dev-seo-icons';src:url("../fonts/wpmu-dev-seo-icons.eot?gy02j9");src:url("../fonts/wpmu-dev-seo-icons.eot?gy02j9#iefix") format("embedded-opentype"),url("../fonts/wpmu-dev-seo-icons.woff2?gy02j9") format("woff2"),url("../fonts/wpmu-dev-seo-icons.ttf?gy02j9") format("truetype"),url("../fonts/wpmu-dev-seo-icons.woff?gy02j9") format("woff"),url("../fonts/wpmu-dev-seo-icons.svg?gy02j9#wpmu-dev-seo-icons") format("svg");font-weight:normal;font-style:normal}[class^="wds-icon-"],[class*=" wds-icon-"]{font-family:'wpmu-dev-seo-icons' !important;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wds-icon-icon-performance:before{content:"\e903"}.wds-icon-power-on-off:before{content:"\e904"}.wds-icon-update-arrow:before{content:"\e902"}.wds-icon-dashboard-settings:before{content:"\e901"}.wds-icon-icon-wpmu-logo-line:before{content:"\203a"}.wds-icon-icon-wpmu-logo-solid:before{content:"\2039"}.wds-icon-star-line:before{content:"\cf"}.wds-icon-notification-count:before{content:"\e900"}.wds-icon-24-hour-support:before{content:"\c1"}.wds-icon-speed-optimize:before{content:"\f8"}.wds-icon-cloudflare:before{content:"\d0"}.wds-icon-alert:before{content:"\58"}.wds-icon-align-center:before{content:"\5e"}.wds-icon-align-justify:before{content:"\23"}.wds-icon-align-left:before{content:"\25"}.wds-icon-align-right:before{content:"\26"}.wds-icon-annotate:before{content:"\b4"}.wds-icon-arrow-up:before{content:"\d4"}.wds-icon-arrow-right:before{content:"\af"}.wds-icon-arrow-down:before{content:"\c2"}.wds-icon-arrow-left:before{content:"\f8ff"}.wds-icon-more:before{content:"\2026"}.wds-icon-minus:before{content:"\2d"}.wds-icon-plus:before{content:"\3d"}.wds-icon-arrow-up-carats:before{content:"\2dd"}.wds-icon-arrow-down-carats:before{content:"\131"}.wds-icon-arrow-left-carats:before{content:"\d3"}.wds-icon-arrow-right-carats:before{content:"\2dc"}.wds-icon-arrows-compress:before{content:"\2265"}.wds-icon-arrows-expand:before{content:"\ac"}.wds-icon-arrows-in:before{content:"\2264"}.wds-icon-arrows-out:before{content:"\2da"}.wds-icon-check:before{content:"\28"}.wds-icon-close:before{content:"\29"}.wds-icon-at-sign:before{content:"\40"}.wds-icon-calendar:before{content:"\220f"}.wds-icon-camera:before{content:"\d8"}.wds-icon-clipboard-notes:before{content:"\bf"}.wds-icon-clock:before{content:"\2c"}.wds-icon-cloud:before{content:"\2122"}.wds-icon-download-cloud:before{content:"\a3"}.wds-icon-upload-cloud:before{content:"\a2"}.wds-icon-comment:before{content:"\a7"}.wds-icon-comments:before{content:"\b6"}.wds-icon-comment-3:before{content:"\aa"}.wds-icon-compass:before{content:"\2c6"}.wds-icon-credit-card:before{content:"\63"}.wds-icon-crop:before{content:"\43"}.wds-icon-crown:before{content:"\a1"}.wds-icon-italic:before{content:"\7b"}.wds-icon-bold:before{content:"\42"}.wds-icon-underline:before{content:"\55"}.wds-icon-text-color:before{content:"\a8"}.wds-icon-style-type:before{content:"\3c"}.wds-icon-quote-2:before{content:"\27"}.wds-icon-quote:before{content:"\3b"}.wds-icon-paperclip:before{content:"\41"}.wds-icon-indent-less:before{content:"\201d"}.wds-icon-indent-more:before{content:"\2019"}.wds-icon-list-bullet:before{content:"\38"}.wds-icon-list-number:before{content:"\37"}.wds-icon-list:before{content:"\60"}.wds-icon-link:before{content:"\35"}.wds-icon-unlink:before{content:"\36"}.wds-icon-color-pick-eyedropper:before{content:"\a5"}.wds-icon-wand-magic:before{content:"\5a"}.wds-icon-layers:before{content:"\e6"}.wds-icon-dislike:before{content:"\6b"}.wds-icon-like:before{content:"\6a"}.wds-icon-dollar:before{content:"\24"}.wds-icon-download:before{content:"\e93b"}.wds-icon-eye:before{content:"\65"}.wds-icon-eye-hide:before{content:"\71"}.wds-icon-arrow-return-back:before{content:"\52"}.wds-icon-first-aid:before{content:"\e93f"}.wds-icon-folder:before{content:"\2d8"}.wds-icon-map:before{content:"\34"}.wds-icon-graph-bar:before{content:"\c7"}.wds-icon-graph-bar_1:before{content:"\2db"}.wds-icon-heart:before{content:"\4b"}.wds-icon-home:before{content:"\4a"}.wds-icon-info:before{content:"\49"}.wds-icon-key:before{content:"\25ca"}.wds-icon-laptop:before{content:"\ab"}.wds-icon-lightbulb:before{content:"\4c"}.wds-icon-asterisk:before{content:"\2a"}.wds-icon-lock:before{content:"\39"}.wds-icon-unlock:before{content:"\30"}.wds-icon-mail:before{content:"\6d"}.wds-icon-location-marker:before{content:"\6c"}.wds-icon-microphone-audio:before{content:"\2030"}.wds-icon-mobile-signal:before{content:"\201b"}.wds-icon-mobile:before{content:"\201c"}.wds-icon-monitor:before{content:"\5c"}.wds-icon-magnifying-glass-search:before{content:"\ba"}.wds-icon-zoom-in:before{content:"\2260"}.wds-icon-zoom-out:before{content:"\2013"}.wds-icon-magnifying-search-glass-love:before{content:"\2022"}.wds-icon-price-tag:before{content:"\2c7"}.wds-icon-bookmark:before{content:"\221a"}.wds-icon-book-bookmark:before{content:"\2d9"}.wds-icon-book:before{content:"\2206"}.wds-icon-page-multiple:before{content:"\e7"}.wds-icon-page-pdf:before{content:"\c6"}.wds-icon-page-search:before{content:"\da"}.wds-icon-page:before{content:"\d2"}.wds-icon-paint-bucket:before{content:"\222b"}.wds-icon-paypal:before{content:"\59"}.wds-icon-pencil:before{content:"\2f"}.wds-icon-photo-picture:before{content:"\44"}.wds-icon-play:before{content:"\70"}.wds-icon-pause:before{content:"\6f"}.wds-icon-fast-forward:before{content:"\3e"}.wds-icon-refresh:before{content:"\45"}.wds-icon-update:before{content:"\ae"}.wds-icon-puzzle:before{content:"\7d"}.wds-icon-layout-grid:before{content:"\221e"}.wds-icon-sheild-badge:before{content:"\e96a"}.wds-icon-coffee-cup:before{content:"\e96b"}.wds-icon-skull:before{content:"\e96c"}.wds-icon-social-android:before{content:"\2e"}.wds-icon-social-apple:before{content:"\61"}.wds-icon-social-drive:before{content:"\76"}.wds-icon-social-dropbox:before{content:"\64"}.wds-icon-social-facebook:before{content:"\66"}.wds-icon-social-github:before{content:"\68"}.wds-icon-social-google-plus:before{content:"\67"}.wds-icon-social-linkedin:before{content:"\69"}.wds-icon-social-twitter:before{content:"\74"}.wds-icon-animation-video:before{content:"\46"}.wds-icon-social-youtube:before{content:"\79"}.wds-icon-white-label-video:before{content:"\75"}.wds-icon-star:before{content:"\53"}.wds-icon-tablet-landscape:before{content:"\5b"}.wds-icon-tablet-portrait:before{content:"\5d"}.wds-icon-thumbnails:before{content:"\47"}.wds-icon-ticket:before{content:"\e97d"}.wds-icon-profile-male:before{content:"\b5"}.wds-icon-profile-female:before{content:"\192"}.wds-icon-community-people:before{content:"\2018"}.wds-icon-trash:before{content:"\51"}.wds-icon-notification:before{content:"\6e"}.wds-icon-user-hero-points-trophy:before{content:"\31"}.wds-icon-megaphone:before{content:"\c5"}.wds-icon-flag:before{content:"\7c"}.wds-icon-stopwatch:before{content:"\e986"}.wds-icon-shopping-cart:before{content:"\cd"}.wds-icon-share:before{content:"\73"}.wds-icon-help-support:before{content:"\48"}.wds-icon-web-globe-world:before{content:"\57"}.wds-icon-widget-settings-config:before{content:"\78"}.wds-icon-wrench-tool:before{content:"\2044"}.wds-icon-settings-slider-control:before{content:"\153"}.wds-icon-filter:before{content:"\7a"}.wds-icon-reply:before{content:"\72"}.wds-icon-finger-point:before{content:"\2248"}.wds-icon-finger-swipe:before{content:"\2203"}.wds-icon-mouse-scroll:before{content:"\df"}.wds-icon-plugin-2:before{content:"\4f"}.wds-icon-brush:before{content:"\7e"}.wds-icon-themes:before{content:"\54"}.wds-icon-plugins:before{content:"\50"}.wds-icon-question:before{content:"\3f"}.wds-icon-warning-alert:before{content:"\21"}.wds-icon-check-tick:before{content:"\5f"}.wds-icon-cross-close:before{content:"\2b"}.wds-icon-user-reputation-points:before{content:"\32"}.wds-icon-user-star-level-up:before{content:"\33"}.wds-icon-icon-devman:before{content:"\20ac"}.wds-icon-icon-defender:before{content:"\b7"}.wds-icon-icon-hub:before{content:"\fb02"}.wds-icon-icon-hummingbird:before{content:"\b0"}.wds-icon-icon-hustle:before{content:"\2014"}.wds-icon-icon-smart-crawl:before{content:"\2202"}.wds-icon-icon-smush:before{content:"\2021"}.wds-icon-icon-snapshot:before{content:"\fb01"}.wds-icon-icon-upfront:before{content:"\201a"}.wds-icon-icon-uptime:before{content:"\b1"}.wds-icon-icon-pulse:before{content:"\201e"}.wds-icon-icon-automate:before{content:"\152"}.wds-icon-academy:before{content:"\3c0"}.wds-icon-wordpress:before{content:"\77"}.wds-icon-infinity:before{content:"\56"}.wds-icon-audio-sound:before{content:"\e9ae"}.wds-icon-sitemap:before{content:"\b8"}.wds-icon-google-analytics:before{content:"\e5"}.wds-icon-progress:before{content:"\e9b1"}.wds-icon-dashboard:before{content:"\e9b2"}.wds-icon-ab-testing:before{content:"\bb"}.wds-icon-testing-bottle-beaker:before{content:"\e9b4"}.wds-icon-archive:before{content:"\62"}.wds-icon-zip:before{content:"\3a9"}.wds-icon-arrow-location:before{content:"\4d"}.wds-icon-arrow-pointer-cursor:before{content:"\4e"}.wds-icon-code:before{content:"\3a"}.wds-icon-news-paper:before{content:"\2211"}.wds-icon-gallery-slider:before{content:"\f7"}.wds-icon-layout:before{content:"\a9"}.wds-icon-storage-server-data:before{content:"\ce"}.wds-icon-loader:before{content:"\e9be"}.wds-icon-rocket-launch:before{content:"\e9bf"}.wds-icon-target:before{content:"\2020"}.wpmud #page-header{margin-bottom:70px;text-align:center}.wpmud .dev-box .box-title .buttons-icon{margin-top:18px}.wpmud .dev-box .box-title .buttons-icon a{width:20px;height:20px;color:#888}.wpmud .wds-table{border:0;border-spacing:0;border-collapse:collapse;width:100%}.wpmud .wds-data-table{border:1px solid #E5E5E5;border-collapse:collapse;border-spacing:0;color:#777771;width:100%}.wpmud .wds-data-table>thead{border-bottom:1px solid #E5E5E5}.wpmud .wds-data-table>tfoot{border-top:1px solid #E5E5E5}.wpmud .wds-data-table>thead th,.wpmud .wds-data-table>tfoot th{font:700 15px/20px "Roboto Condensed","Roboto",Arial,sans-serif;padding:15px 10px;text-transform:uppercase}.wpmud .wds-data-table>tbody td{font-size:13px;line-height:20px;padding:20px 10px;vertical-align:top}.wpmud .wds-data-table th,.wpmud .wds-data-table td{text-align:left}.wpmud .wds-data-table .label{width:75%}.wpmud .wds-data-table .result{width:25%}.wpmud .wds-data-table .data-small{padding:10px}.wpmud .wds-data-table-inverse .label{width:25%}.wpmud .wds-data-table-inverse .result{width:75%}.wpmud .wds-data-table-inverse-large .label{width:40%}.wpmud .wds-data-table-inverse-large .result{width:60%}.wpmud .wds-list-table{width:100%;border:1px solid #EAEAEA;border-collapse:separate;border-spacing:unset;border-radius:5px;color:#888;font-size:13px}.wpmud .wds-list-table th{text-align:left;padding:20px 30px;font-weight:500;color:#333}.wpmud .wds-list-table tr th,.wpmud .wds-list-table tr td{border-bottom:1px solid #EAEAEA}.wpmud .wds-list-table tr td{padding:15px 30px}.wpmud .wds-list-table tr:last-child td{border-bottom:none}.wpmud .wds-list-table tfoot th{border-bottom:none;border-top:1px solid #EAEAEA}@media only screen and (max-width: 783px){.wpmud .list-table>thead>tr>th,.wpmud .list-table>thead>tr>td,.wpmud .list-table>tbody>tr>th,.wpmud .list-table>tbody>tr>td{width:100%}}.wpmud .wds-notice{border-radius:5px;color:#333;font:400 15px/18px "Roboto",Arial,sans-serif;margin:15px 0;padding:20px 30px;position:relative;text-align:left;display:table;width:100%}.wpmud .wds-notice-success{background-color:#D1F1EA}.wpmud .wds-notice-success::before{content:"_";color:#1ABC9C}.wpmud .wds-notice-error{background-color:#FFE5E9}.wpmud .wds-notice-error::before{content:"!";color:#FF6D6D}.wpmud .wds-notice-warning{background-color:#FFF5D5}.wpmud .wds-notice-warning::before{content:"!";color:#fecf2f}.wpmud .wds-notice-info{background-color:#D6EAF3}.wpmud .wds-notice-info::before{content:"!";color:#17a8e3}.wpmud .wds-notice::before{display:table-cell;font-family:"wpmu-dev-seo-icons";font-size:20px;vertical-align:top;width:30px;padding-top:8px}.wpmud .wds-notice p{color:#333;margin:0 0 10px;padding:0;vertical-align:top;display:table-cell}.wpmud .wds-notice p:last-of-type{margin:0}.wpmud .wds-notice p a{color:#333;font-weight:500;text-decoration:underline}.wpmud .wds-notice p a:hover{color:#333;text-decoration:none}.wpmud .wds-notice p a.wds-notice-dismiss{color:#808080;display:table;margin-top:5px;text-decoration:none;text-transform:uppercase}.wpmud .wds-notice .wds-icon,.wpmud .wds-notice .wds-icon .wdv-icon{font-size:22px;height:22px;line-height:22px;width:22px}.wpmud .wds-notice.can-close .close{cursor:pointer;display:block;height:22px;line-height:22px;margin:0;position:absolute;right:10px;text-shadow:none;top:10px;width:22px}.wpmud .wds-notice.can-close:after{bottom:0;color:#fff;content:"\79";font-style:normal;font-weight:normal;font-variant:normal;font-family:'WPMU-DEV-App-Icons';font-size:22px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;left:0;line-height:22px;opacity:0.8;position:absolute;right:0;speak:none;text-align:center;text-transform:none;top:0;transition:opacity 0.3s}.wpmud .wds-notice.can-close:hover:after{opacity:1}.wpmud .wds-notice-box{margin:20px 0 40px;padding:30px}.wpmud .wds-notice-box p a{font-weight:700;text-decoration:underline}.wpmud .wds-notice-floating{position:fixed;top:30px;right:0;left:0;margin:0 auto;border-top-left-radius:0;border-top-right-radius:0;max-width:600px;box-shadow:0 5px 25px 0 rgba(0,0,0,0.15);z-index:99998}.wpmud .wds-mascot-message{display:table}.wpmud .wds-mascot-message .wds-mascot,.wpmud .wds-mascot-message .wds-mascot-bubble-container{display:table-cell;vertical-align:top}.wpmud .wds-mascot-message .wds-mascot{height:148px;width:100px;background:url("../images/mascot-message.png") no-repeat;background-size:100px 148px}.wpmud .wds-mascot-message .wds-mascot-bubble-container{padding-left:30px}.wpmud .wds-mascot-message .wds-mascot-bubble-container .wds-mascot-bubble{position:relative;background:#E1F6FF;padding:15px 20px;border-radius:4px}.wpmud .wds-mascot-message .wds-mascot-bubble-container .wds-mascot-bubble:after{content:'';position:absolute;border-style:solid;border-width:8px 12px 8px 0;border-color:transparent #E1F6FF;display:block;width:0;z-index:1;left:-12px;top:38%}.wpmud .wds-mascot-message .wds-mascot-bubble-container .wds-mascot-bubble p{color:#333}.wpmud .wds-mascot-message .wds-mascot-bubble-container .wds-mascot-bubble p a{color:#333;text-decoration:underline;font-weight:500}.wpmud .wds-mascot-message .wds-mascot-bubble-container .wds-mascot-bubble-dismiss{float:right;font-size:16px;cursor:pointer;padding-left:10px}.wpmud .wds-keyword-pairs .wds-group-field{clear:none;float:left;margin-left:1%;width:48%}.wpmud .wds-keyword-pairs .wds-group-field:first-child{margin-left:0}.wpmud .wds-keyword-pairs .wds-keyword-pair{margin-top:20px;position:relative}.wpmud .wds-keyword-pairs .wds-keyword-pair:first-child{margin-top:0}.wpmud .wds-keyword-pairs .wds-keyword-pair-new{padding-top:20px}.wpmud .wds-keyword-pairs-existing{margin-top:30px}.wpmud .wds-keyword-pairs-existing tr td.wds-pair-actions{width:10%;text-align:right}.wpmud .wds-keyword-pairs-existing tr td.wds-pair-keyword,.wpmud .wds-keyword-pairs-existing tr td.wds-pair-url{width:45%}.wpmud .wds-keyword-pairs-existing tr td.wds-pair-hidden-fields{display:none}.wpmud .insert-macro{position:absolute;right:0;top:0}.wpmud .insert-macro .button-fields-trigger{border-radius:0 5px 5px 0;float:right;position:relative;font-size:16px;font-weight:300}.wpmud .insert-macro .button-fields-trigger:after{background:#fff;border-bottom:1px solid #fff;border-top:1px solid #fff;bottom:-2px;content:"";display:block;height:1px;left:0;margin:0;opacity:0;pointer-events:none;position:absolute;right:0;width:auto;z-index:11}.wpmud .insert-macro.is-open .button-fields-trigger,.wpmud .insert-macro.is-open .button-fields-trigger:hover:not(:focus):not(:active){background:#fff;border:1px solid #bfbfbf;color:#808080;padding:12px 12px 8px 12px;margin:0;border-radius:0 5px 0 0}.wpmud .insert-macro.is-open .button-fields-trigger:after{opacity:1}.wpmud .insert-macro .macro-list{background:#fff;border:1px solid #BFBFBF;clear:both;height:100%;max-height:260px;overflow-y:auto;padding:5px 0;position:relative;z-index:10}.wpmud .insert-macro .macro-list ul{margin:0;padding:0}.wpmud .insert-macro .macro-list li{cursor:pointer;font:400 13px/26px "Roboto",Arial,sans-serif;margin:0;padding:0 10px}.wpmud .insert-macro .macro-list li:hover{background:#F2F2F2;color:#333}@keyframes wds-metabox-icon-spin{100%{transform:rotate(360deg)}}.wpmud .wds-item-loading{position:relative}.wpmud .wds-item-loading::before{font-family:"wpmu-dev-seo-icons";color:#888;content:"";animation:wds-metabox-icon-spin 1s linear infinite;display:block;position:absolute}.wpmud .wds-strong-text{color:#333;font-size:15px;line-height:30px;font-weight:500;font-family:"Roboto",Arial,sans-serif}.wpmud .wds-small-text{font-size:13px;line-height:22px;color:#888}.wpmud .wds-small-text strong{color:#333}.wpmud .wds-issues{border-radius:13px;display:inline-block;font-size:13px;font-weight:500;line-height:1;padding:5px 16px;vertical-align:middle;margin-left:8px;color:#333;font-family:"Roboto",Arial,sans-serif}.wpmud .wds-issues a{color:#333}.wpmud .wds-issues-invalid{background:#E6E6E6}.wpmud .wds-issues-warning{background:#FECF2F}.wpmud .wds-issues-error{background:#FF7F83;color:#ffffff}.wpmud .wds-issues-error a{color:#ffffff}.wpmud .wds-issues-success-bg{background:#1ABC9C;color:#ffffff}.wpmud .wds-issues-success-bg a{color:#ffffff}.wpmud .wds-issues-success{background:transparent;padding:0}.wpmud .wds-issues-success::before{font-family:"wpmu-dev-seo-icons";content:"_";color:#1ABC9C;font-size:20px}.wpmud .wds-issues.wds-item-loading{background:transparent;padding:0}.wpmud .wds-issues.wds-item-loading span{display:none}.wpmud .wds-issues.wds-item-loading::before{font-size:20px;content:"";color:#888;position:relative}.wpmud .wds-report-stats{background:#ffffff;padding:30px 30px 30px 140px;display:table;width:100%;margin-bottom:30px;border-radius:4px;box-shadow:0 2px 0 0 #E6E6E6;background-repeat:no-repeat;background-position:30px bottom}.wpmud .wds-report-stats>div{display:table-cell;vertical-align:middle;text-align:center;width:40%}.wpmud .wds-report-stats .wds-report-score .wds-score{display:table;font-size:50px;line-height:55px;color:#333;position:relative;margin:0 auto}.wpmud .wds-report-stats .wds-report-score .wds-score::after{content:"!";font-size:20px;position:absolute;font-family:"wpmu-dev-seo-icons";bottom:15px;right:5px}.wpmud .wds-report-stats .wds-report-score .wds-score .wds-total{font-size:13px;line-height:22px;width:26px;display:inline-block}.wpmud .wds-report-stats .wds-report-score .wds-score.wds-score-invalid:after{color:#888}.wpmud .wds-report-stats .wds-report-score .wds-score.wds-score-error:after{color:#FF7F83}.wpmud .wds-report-stats .wds-report-score .wds-score.wds-score-warning:after{color:#FECF2F}.wpmud .wds-report-stats .wds-report-score .wds-score.wds-score-success:after{content:"_";color:#1ABC9C}.wpmud .wds-report-stats .wds-stacked-stats{display:table;width:100%}.wpmud .wds-report-stats .wds-stacked-stats>div{display:table-row}.wpmud .wds-report-stats .wds-stacked-stats>div .wds-stat-name,.wpmud .wds-report-stats .wds-stacked-stats>div .wds-stat-value{display:table-cell;border-bottom:1px solid #EAEAEA;line-height:30px;padding:15px 0}.wpmud .wds-report-stats .wds-stacked-stats>div:first-child .wds-stat-name,.wpmud .wds-report-stats .wds-stacked-stats>div:first-child .wds-stat-value{padding-top:0}.wpmud .wds-report-stats .wds-stacked-stats>div:last-child .wds-stat-name,.wpmud .wds-report-stats .wds-stacked-stats>div:last-child .wds-stat-value{border-bottom:none;padding-bottom:0}.wpmud .wds-report-stats .wds-stacked-stats .wds-stat-name{font-size:13px;color:#333;font-weight:500;text-align:left}.wpmud .wds-report-stats .wds-stacked-stats .wds-stat-value{font-size:18px;color:#888;font-family:"Roboto Condensed","Roboto",Arial,sans-serif;text-align:right}.wpmud .wds-report .wds-accordion{margin-left:-30px;width:calc(100% + 60px);display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;border-top:1px solid #EAEAEA}.wpmud .wds-report .wds-accordion .wds-accordion-section{width:100%;display:block}.wpmud .wds-report .wds-accordion .wds-accordion-section:first-of-type{border-top:none}.wpmud .wds-report .wds-accordion .wds-accordion-section .wds-accordion-handle{display:table;width:100%}.wpmud .wds-report .wds-accordion .wds-accordion-section .wds-accordion-handle::after{display:table-cell;width:20px;float:none;padding-left:20px}.wpmud .wds-report .wds-accordion .wds-accordion-section .wds-accordion-handle::before{display:table-cell;font-family:"wpmu-dev-seo-icons";font-size:20px;margin-right:4px;vertical-align:middle;width:34px}.wpmud .wds-report .wds-accordion .wds-accordion-section .wds-accordion-handle .wds-accordion-handle-part{display:table-cell;vertical-align:middle}.wpmud .wds-report .wds-accordion .wds-accordion-section.wds-check-success{border-left:3px solid #1ABC9C}.wpmud .wds-report .wds-accordion .wds-accordion-section.wds-check-success .wds-accordion-handle::before{content:"_";color:#1ABC9C}.wpmud .wds-report .wds-accordion .wds-accordion-section.wds-check-warning{border-left:3px solid #FECF2F}.wpmud .wds-report .wds-accordion .wds-accordion-section.wds-check-warning .wds-accordion-handle::before{content:"!";color:#FECF2F}.wpmud .wds-report .wds-accordion .wds-accordion-section.wds-check-error{border-left:3px solid #FF7F83}.wpmud .wds-report .wds-accordion .wds-accordion-section.wds-check-error .wds-accordion-handle::before{content:"!";color:#FF7F83}.wpmud .wds-report .wds-accordion .wds-accordion-section.wds-check-invalid{border-left:3px solid #888}.wpmud .wds-report .wds-accordion .wds-accordion-section.wds-check-invalid .wds-accordion-handle:before{content:"!";color:#888}.wpmud .wds-report .wds-accordion .wds-accordion-section.open .wds-accordion-handle{border-bottom:1px solid #E6E6E6;margin-bottom:30px;padding-bottom:18px}.wpmud .wds-report .wds-check-item strong{color:#333}.wpmud .wds-report .wds-check-item p{margin-bottom:15px}.wpmud .wds-report .wds-check-item p:last-child{margin-bottom:0}.wpmud .wds-report .wds-check-item ul{margin:0}.wpmud .wds-report .wds-check-item .wds-recommendation{margin-bottom:15px}.wpmud .wds-report .wds-check-item .wds-more-info{padding-top:15px;border-top:1px solid #EAEAEA}.wpmud .wds-report .wds-check-item .wds-unignore-container{width:90px}.wpmud .wds-report .wds-check-item .wds-ignore-container{margin-top:30px;border:1px solid #EAEAEA;padding:30px;border-radius:7px}.wpmud .wds-report .wds-check-item .wds-check-item-indicator{border-radius:13px;font-size:13px;margin-left:6px;padding:5px 16px;vertical-align:top}.wpmud .wds-report .wds-check-item.wds-check-success .wds-check-item-indicator{color:#ffffff;background:#1ABC9C}.wpmud .wds-report .wds-check-item.wds-check-warning .wds-check-item-indicator{background:#FECF2F}.wpmud .wds-report .wds-check-item.wds-check-error .wds-check-item-indicator{color:#ffffff;background:#FF7F83}.wpmud .wds-report .wds-check-item.wds-check-invalid .wds-check-item-indicator{background:#f2f2f2}.wpmud .wds-report-vertical-tab.tab>label{position:relative}.wpmud .wds-report-vertical-tab.tab>label *{line-height:1}.wpmud .wds-report-vertical-tab.tab>label .wds-issues{display:none;line-height:1;position:absolute;top:2px;right:3px;font-family:"Roboto",Arial,sans-serif;font-weight:500;padding-top:6px;padding-bottom:6px}.wpmud .wds-report-vertical-tab .tab-title{display:table;width:100%}.wpmud .wds-report-vertical-tab .tab-title .wds-issues{display:none;font-family:"Roboto",Arial,sans-serif;font-weight:500}.wpmud .wds-report-vertical-tab .tab-title .wds-tab-title-part:nth-child(1){width:10px;white-space:nowrap}.wpmud .wds-report-vertical-tab .tab-title .wds-tab-title-part:nth-child(3){text-align:right}.wpmud .wds-report-vertical-tab .tab-title .wds-tab-title-part{vertical-align:middle;display:table-cell}.wpmud .wds-report-vertical-tab .tab-title .wds-button-with-left-loader.wds-item-loading::before{right:110%;font-size:18px}.wpmud .wds-report-vertical-tab .tab-title .wds-ignore-all{display:none}.wpmud .wds-report-vertical-tab .wds-seamless-footer{border-top:none;padding:0}.wpmud .wds-report-vertical-tab .wds-content-tabs-inner{padding-bottom:0}.wpmud.wds-metabox #container{margin:0}.wpmud.wds-metabox .wds-issues-invalid:not(.wds-item-loading)::before{content:"-"}.wpmud.wds-metabox a[href="#reload"]{display:none}.wpmud.wds-metabox .wds-analysis-working{background:#E6E6E6;padding:20px 30px}.wpmud.wds-metabox .wds-analysis-working p{margin-left:1.5em;position:relative}.wpmud.wds-metabox .wds-analysis-working p:before{font-family:"wpmu-dev-seo-icons";content:"";animation:wds-metabox-icon-spin 1s linear infinite;display:block;position:absolute;left:-1.5em}.wpmud.wds-metabox button.wds-refresh-analysis:before{font-family:"wpmu-dev-seo-icons";content:"E"}.wpmud.wds-metabox .wds-metabox-section{border-top:1px solid #EAEAEA;padding:30px}.wpmud.wds-metabox .wds-metabox-section:first-of-type{border-top:none}.wpmud.wds-metabox .wds_seo .wds-metabox-preview>.wds-label,.wpmud.wds-metabox .wds_seo .wds-seo-analysis-container>.wds-label{margin-bottom:10px}.wpmud.wds-metabox .wds_seo .wds-preview-description{color:#888}.wpmud.wds-metabox .wds_seo .wds-seo-analysis-container .wds-seo-analysis-label{margin-bottom:20px}.wpmud.wds-metabox .wds_seo .wds-seo-analysis-container .wds-seo-analysis-label label{float:left}.wpmud.wds-metabox .wds_seo .wds-seo-analysis-container .wds-seo-analysis-label button{float:right}.wpmud.wds-metabox .wds_seo .wds-seo-analysis-container .wds-focus-keyword{border:1px solid #EAEAEA;padding:30px;border-radius:7px;margin-bottom:30px;position:relative}.wpmud.wds-metabox .wds_seo .wds-seo-analysis-container .wds-focus-keyword::before{display:none;bottom:40px;right:38px;font-size:20px;z-index:30}.wpmud.wds-metabox .wds_seo .wds-seo-analysis-container .wds-focus-keyword-invalid::before{display:table-cell;content:"!";font-family:"wpmu-dev-seo-icons";color:#888;position:absolute}.wpmud.wds-metabox .wds_seo .wds-seo-analysis-container .wds-focus-keyword-loaded::before{display:table-cell;content:"_";font-family:"wpmu-dev-seo-icons";color:#17a8e3;position:absolute}.wpmud.wds-metabox .wds_seo .wds-seo-analysis-container .wds-focus-keyword.wds-item-loading::before{display:table-cell;content:""}.wpmud.wds-metabox .wds_seo .wds-seo-analysis-container .wds-focus-keyword input{margin-bottom:0}.wpmud.wds-metabox .wds_seo .wds-seo-analysis-container .wds-notice{margin-top:0;margin-bottom:30px}.wpmud.wds-metabox .wds_seo .wds-edit-meta-toggleable .toggle-checkbox{display:none}.wpmud.wds-metabox .wds_seo .wds-edit-meta-toggleable>label{display:table;padding:0;margin:0}.wpmud.wds-metabox .wds_seo .wds-no-focus-keywords .wds-notice-warning{background:#F2F2F2}.wpmud.wds-metabox .wds_seo .wds-no-focus-keywords .wds-notice-warning::before{color:#888}.wpmud.wds-metabox .wds_readability .wds-readability-legend{color:#666666}.wpmud.wds-metabox .wds_readability .wds-readability-legend span{margin-left:30px}.wpmud.wds-metabox .wds_readability .wds-readability-legend span:first-child{margin-left:0}.wpmud.wds-metabox .wds_readability .wds-readability-stats{box-shadow:none;background-image:url("../images/readability-info.png");background-size:92px 107px;background-color:#F8F8F8}.wpmud.wds-metabox .wds_readability .wds-readability-stats .wds-readability-level-description strong{color:#333;font-weight:normal}.wpmud.wds-metabox .wds_readability .wds-list-table{margin-bottom:30px}.wpmud.wds-metabox .wds_readability .wds-list-table tr:nth-child(2n){background:#f8f8f8}.wpmud.wds-metabox .wds_readability .wds-readability-level{text-align:right}.wpmud.wds-metabox .wds-report .wds-accordion .wds-accordion-section.wds-check-error{-ms-flex-order:0;order:0}.wpmud.wds-metabox .wds-report .wds-accordion .wds-accordion-section.wds-check-warning{-ms-flex-order:5;order:5}.wpmud.wds-metabox .wds-report .wds-accordion .wds-accordion-section.wds-check-success{-ms-flex-order:10;order:10}.wpmud.wds-metabox .wds-report .wds-accordion .wds-accordion-section.wds-check-invalid{-ms-flex-order:15;order:15}.wpmud.wds-moz-url-metrics-metabox{padding:25px}#wds-wds-meta-box>h2 span{position:relative}#wds-wds-meta-box>h2 span::before,#wds-wds-meta-box>h2 span::after{border-radius:100%;content:"";display:inline-block;height:12px;position:absolute;top:3px;width:12px}#wds-wds-meta-box>h2 span::before{left:calc(100% + 6px)}#wds-wds-meta-box>h2 span::after{left:calc(100% + 25px)}#wds-wds-meta-box.wds-seo-success>h2 span::before{background:#1ABC9C}#wds-wds-meta-box.wds-seo-warning>h2 span::before{background:#FECF2F}#wds-wds-meta-box.wds-seo-invalid>h2 span::before{background:#E6E6E6}#wds-wds-meta-box.wds-readability-invalid>h2 span::after{background:#E6E6E6}#wds-wds-meta-box.wds-readability-error>h2 span::after{background:#FF7F83}#wds-wds-meta-box.wds-readability-warning>h2 span::after{background:#FECF2F}#wds-wds-meta-box.wds-readability-success>h2 span::after{background:#1ABC9C}#wds-wds-meta-box .inside{padding:0;margin:0;overflow:hidden !important}.misc-pub-section.seo-analysis>i,.misc-pub-section.readability-analysis>i{color:#82878c;font-size:16px;padding-right:5px;vertical-align:-1px}.misc-pub-section.seo-analysis.wds-status-success i,.misc-pub-section.readability-analysis.wds-status-success i{color:#1ABC9C}.misc-pub-section.seo-analysis.wds-status-warning i,.misc-pub-section.readability-analysis.wds-status-warning i{color:#fecf2f}.misc-pub-section.seo-analysis.wds-status-error i,.misc-pub-section.readability-analysis.wds-status-error i{color:#FF6D6D}@keyframes wds-loader-icon-spin{100%{transform:rotate(360deg)}}.wpmud .wds-progress{background-color:#F8F8F8;border-radius:5px;height:60px;overflow:hidden;padding:0 30px;width:100%;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;margin-bottom:10px}.wpmud .wds-progress::before{font-family:"wpmu-dev-seo-icons";color:#888;content:"";font-size:20px;animation:wds-loader-icon-spin 1.5s linear infinite}.wpmud .wds-progress-bar{-ms-flex-positive:3;flex-grow:3;height:10px;border-radius:10px;background:#E6E6E6;overflow:hidden}.wpmud .wds-progress-bar-current-percent{padding-right:10px;padding-left:10px;color:#333;font-size:13px;font-weight:bold;font-family:"Roboto Condensed","Roboto",Arial,sans-serif}.wpmud .wds-progress-bar-inside{background:#17a8e3;height:10px;border-radius:10px;min-width:10px;transition:width 2s}.wpmud .wds-preview{background:#fff;border:1px solid #DFDFDF;padding:30px;border-radius:7px}.wpmud .wds-preview-container{padding-bottom:20px}.wpmud .wds-preview-description{font-size:13px;line-height:22px;margin-top:10px}.wpmud .wds-preview *{font-family:Arial, sans-serif;font-weight:400;letter-spacing:initial;text-align:left}.wpmud .wds-preview-title h3{font-size:18px;line-height:21px;margin:0;text-transform:none}.wpmud .wds-preview-title h3 a{color:#1a0dab;text-decoration:none}.wpmud .wds-preview-url{font-size:14px;line-height:16px;margin-bottom:2px}.wpmud .wds-preview-url a{color:#006621;text-decoration:none}.wpmud .wds-preview-meta{color:#545454;font-size:13px;line-height:18px}.wds-toggleable .wds-toggleable-inside{display:block}.wds-toggleable .wds-toggleable-inside-box{border:1px solid #EAEAEA;border-radius:4px;margin-top:20px;padding:20px 30px}.wds-toggleable.inactive .wds-toggleable-inside{display:none}.wds-toggleable.inactive .wds-toggleable-inside-box{display:none}.wds-toggleable legend{cursor:pointer;color:#BABABA;font-size:15px;font-weight:500;font-family:'Roboto', sans-serif;transition:color .4s}.wds-toggleable legend:hover{color:#808080}.wds-conditional .wds-conditional-inside{display:none}.wds-conditional .wds-conditional-inside-box{border:1px solid #EAEAEA;border-radius:4px;margin-top:20px;padding:20px 30px}.wpmud .wds-links-dropdown{width:25px;position:relative;display:inline-block;text-align:left}.wpmud .wds-links-dropdown-anchor{display:inline-block;font-size:34px;line-height:10px;padding-bottom:20px;vertical-align:top;color:#888}.wpmud .wds-links-dropdown-anchor:hover:not(:focus):not(:active),.wpmud .wds-links-dropdown-anchor:hover,.wpmud .wds-links-dropdown-anchor:active,.wpmud .wds-links-dropdown-anchor:focus{color:#17a8e3}.wpmud .wds-links-dropdown.open .wds-links-dropdown-anchor{color:#17a8e3}.wpmud .wds-links-dropdown.open ul{display:block}.wpmud .wds-links-dropdown-label{color:#333;font-family:"Roboto Condensed","Roboto",Arial,sans-serif;font-size:13px;font-weight:bold;border-bottom:1px solid #E6E6E6;line-height:30px;margin-bottom:20px}.wpmud .wds-links-dropdown ul{border:1px solid #E6E6E6;padding:20px;box-shadow:0 3px 7px 0 rgba(0,0,0,0.05);width:180px;margin-bottom:0;margin-top:0;background:#fff;position:absolute;right:-20px;top:130%;z-index:10;border-radius:5px;display:none}.wpmud .wds-links-dropdown ul li:last-child{margin-bottom:0}.wpmud .wds-links-dropdown ul:after,.wpmud .wds-links-dropdown ul:before{content:'';position:absolute;border-style:solid;border-width:0 9px 9px;display:block;width:0;right:23px}.wpmud .wds-links-dropdown ul:after{border-color:#FFFFFF transparent;z-index:1;top:-8px}.wpmud .wds-links-dropdown ul:before{border-color:#d6d6d6 transparent;z-index:0;top:-9px}.wpmud .wds-styleable-file-input input[type="file"]{width:0.1px;height:0.1px;opacity:0;overflow:hidden;position:absolute;z-index:-1}.wpmud .wds-styleable-file-input input[readonly]{max-width:200px;float:left;border-right:none;border-top-right-radius:0;border-bottom-right-radius:0}.wpmud .wds-styleable-file-input .button{float:left;border-top-left-radius:0;border-bottom-left-radius:0}.wpmud .wds-accordion{background:#f8f8f8}.wpmud .wds-accordion .wds-accordion-section{padding:0;margin:0;border-bottom:1px solid #EAEAEA;position:relative}.wpmud .wds-accordion .wds-accordion-section .wds-accordion-handle{line-height:24px;max-width:100%;margin:0;padding:18px 30px;text-align:left;font-size:15px;color:#333;font-family:"Roboto",Arial,sans-serif;font-weight:500;background:#FFF;cursor:pointer}.wpmud .wds-accordion .wds-accordion-section .wds-accordion-handle:after{font-family:"WPMU-DEV-App-Icons",sans-serif;content:"\65";float:right;font-size:20px;vertical-align:middle;color:#888;cursor:pointer}.wpmud .wds-accordion .wds-accordion-section .wds-accordion-content{padding:30px;background:#FFF;border-radius:7px;box-shadow:0 2px 0 #ddd;display:none}.wpmud .wds-accordion .wds-accordion-section:first-of-type{border-top:1px solid #EAEAEA}.wpmud .wds-accordion .wds-accordion-section.open{padding:18px 30px 30px 30px}.wpmud .wds-accordion .wds-accordion-section.open .wds-accordion-handle{background:transparent;padding:0 0 18px 0}.wpmud .wds-accordion .wds-accordion-section.open .wds-accordion-handle:after{content:"\72"}.wpmud .wds-accordion .wds-accordion-section.open .wds-accordion-content{display:block}.wpmud .wds-accordion .wds-accordion-section.disabled .wds-accordion-handle{cursor:default;color:#666}.wpmud .wds-accordion .wds-accordion-section.disabled .wds-accordion-handle:after{display:none}.wpmud .wds-horizontal-tabs .wds-horizontal-tab-nav{padding:0 20px;border-bottom:1px solid #E6E6E6}.wpmud .wds-horizontal-tabs .wds-horizontal-tab-nav label{padding:15px;margin:0;font-size:15px;font-weight:normal;color:#888;line-height:30px;display:inline-block;vertical-align:middle}.wpmud .wds-horizontal-tabs .wds-horizontal-tab-nav .wds-nav-item{display:inline-table;width:auto;letter-spacing:0.01em;cursor:pointer}.wpmud .wds-horizontal-tabs .wds-horizontal-tab-nav .wds-nav-item.active{border-bottom:2px solid #17a8e3;letter-spacing:0}.wpmud .wds-horizontal-tabs .wds-horizontal-tab-nav .wds-nav-item.active label{color:#333;font-weight:500}.wpmud .wds-horizontal-tabs .wds-horizontal-tab .wds-horizontal-tab-content{display:none}.wpmud .wds-horizontal-tabs .wds-horizontal-tab input[type="radio"]{display:none}.wpmud .wds-horizontal-tabs .wds-horizontal-tab input[type="radio"]:checked+.wds-horizontal-tab-content{display:block}.wds-optimum-length-indicator-field{margin-bottom:0 !important;position:relative;z-index:20}.wds-optimum-length-indicator-field+.wds-optimum-length-indicator{background:transparent;border-radius:4px;height:10px;margin-top:-8px;margin-bottom:15px;position:relative;z-index:10}.wds-optimum-length-indicator-field.over+.wds-optimum-length-indicator,.wds-optimum-length-indicator-field.under+.wds-optimum-length-indicator{background:red}.wds-optimum-length-indicator-field.almost-over+.wds-optimum-length-indicator,.wds-optimum-length-indicator-field.almost-under+.wds-optimum-length-indicator{background:#FECF2F}.wds-optimum-length-indicator-field.just-right+.wds-optimum-length-indicator{background:#1ABC9C}.wpmud .wds-user-search>ul li{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;width:100%}.wpmud .wds-user-search-user{font-size:15px}.wpmud .wds-user-search-user,.wpmud .wds-user-search-you{margin-left:10px;color:#666}.wpmud .wds-user-search-you{background:#F2F2F2;font-size:13px;padding:3px 15px;border-radius:20px;text-transform:uppercase;font-weight:500}.wpmud .wds-user-search-remove{-ms-flex-positive:10;flex-grow:10;text-align:right;font-size:13px}.wpmud .wds-user-search-avatar{width:40px}.wpmud .wds-user-search-avatar .avatar{border-radius:100%;height:auto;width:40px}.wpmud .wds-user-search-field{display:table;width:100%}.wpmud .wds-user-search-field .select2-selection--single{height:40px}.wpmud .wds-user-search-field .select2-selection{border-bottom-right-radius:0;border-top-right-radius:0}.wpmud .wds-user-search-field input[type="button"]{border-bottom-left-radius:0;border-top-left-radius:0}.wpmud .wds-user-search-field>div{display:table-cell;vertical-align:bottom}.wpmud .wds-user-search-field>div:nth-child(2){width:10px}.wpmud .wds-obfuscate-section{background:rgba(242,242,242,0.5);position:absolute;top:0;left:0;width:100%;height:100%;z-index:2}.wpmud .wds-upsell-modal .box{background-image:url("../images/modal-upsell.png");background-position:bottom center;background-repeat:no-repeat;background-size:499px auto;padding-bottom:180px}.wpmud .wds-upgrade-benefits-list li{margin-bottom:20px;margin-left:30px;position:relative}.wpmud .wds-upgrade-benefits-list li:before{position:absolute;content:"_";color:#17a8e3;font-family:"wpmu-dev-seo-icons";right:100%;font-size:18px;margin-right:10px;top:7px}.wpmud .dev-box .box-title h3>i{margin-right:5px;vertical-align:-1px}.wpmud .dev-box .box-content p.wds-small-text{margin-bottom:15px}.wpmud .dev-box .box-content .wds-separator-top{margin-top:20px;padding-top:20px}.wpmud .dev-box .wds-box-stat-value{float:right;font-size:18px;color:#666;font-family:"Roboto Condensed","Roboto",Arial,sans-serif}.wpmud .dev-box .wds-box-stat-value-success{color:#888;font-size:13px;font-family:"Roboto",Arial,sans-serif}.wpmud .dev-box .wds-box-stat-value-success:before{font-family:"wpmu-dev-seo-icons";content:"_";color:#17a8e3;font-size:20px;vertical-align:-4px;margin-right:10px}.wpmud .dev-box .wds-autolinking-section{margin-bottom:30px}.wpmud .dev-box .wds-autolinking-section.wds-box-blocked-area{margin-bottom:0}.wpmud .dev-box .wds-box-blocked-area{margin-left:-30px;padding-bottom:20px;padding-left:30px;padding-right:30px;width:calc(100% + 60px);position:relative}.wpmud .dev-box .wds-box-blocked-area::before{background:rgba(242,242,242,0.5);content:"";height:100%;left:0;position:absolute;top:0;width:100%}.wpmud .dev-box .wds-box-blocked-area .wds-upgrade-button{position:absolute;top:18px;right:30px;padding:5px 16px}.wpmud .dev-box .wds-box-blocked-area .wds-small-text{margin-top:15px}.wpmud .dev-box .box-content .wds-mascot-message.seo-checkup-upsell{margin-bottom:-30px;margin-top:30px}.wpmud .dev-box#wds-content-analysis-box .wds-issues{margin-left:0}.wpmud .dev-box#wds-content-analysis-box .wds-accordion{margin:0;width:100%;border:1px solid #EAEAEA}.wpmud .dev-box#wds-content-analysis-box .wds-accordion .wds-check-item{border:none}.wpmud .dev-box#wds-content-analysis-box.wds-seo-analysis-enabled .wds-accordion,.wpmud .dev-box#wds-content-analysis-box.wds-seo-analysis-enabled .wds-accordion .wds-accordion-handle,.wpmud .dev-box#wds-content-analysis-box.wds-readability-analysis-enabled .wds-accordion,.wpmud .dev-box#wds-content-analysis-box.wds-readability-analysis-enabled .wds-accordion .wds-accordion-handle{border-radius:7px}.wpmud .dev-box#wds-content-analysis-box.wds-readability-analysis-enabled .wds-accordion{margin-top:20px}.wpmud .dev-box#wds-content-analysis-box.wds-seo-analysis-enabled.wds-readability-analysis-enabled .wds-accordion{margin-top:0}.wpmud .dev-box#wds-content-analysis-box.wds-seo-analysis-enabled.wds-readability-analysis-enabled .wds-accordion:first-child,.wpmud .dev-box#wds-content-analysis-box.wds-seo-analysis-enabled.wds-readability-analysis-enabled .wds-accordion:first-child .wds-accordion-handle{border-top-right-radius:7px;border-top-left-radius:7px;border-bottom-right-radius:0;border-bottom-left-radius:0}.wpmud .dev-box#wds-content-analysis-box.wds-seo-analysis-enabled.wds-readability-analysis-enabled .wds-accordion:last-child{border-top:none}.wpmud .dev-box#wds-content-analysis-box.wds-seo-analysis-enabled.wds-readability-analysis-enabled .wds-accordion:last-child,.wpmud .dev-box#wds-content-analysis-box.wds-seo-analysis-enabled.wds-readability-analysis-enabled .wds-accordion:last-child .wds-accordion-handle{border-top-right-radius:0;border-top-left-radius:0;border-bottom-right-radius:7px;border-bottom-left-radius:7px}.wpmud .dev-box#wds-content-analysis-box .wds-list-table tr th,.wpmud .dev-box#wds-content-analysis-box .wds-list-table tr td{padding-right:5px;padding-left:5px}.wpmud .dev-box#wds-content-analysis-box .wds-list-table tr th:first-child,.wpmud .dev-box#wds-content-analysis-box .wds-list-table tr td:first-child{padding-left:20px}.wpmud .dev-box#wds-sitemap-box .wds-box-crawl-stats{float:right}.wpmud .dev-box#wds-sitemap-box .wds-box-stat-value-success::before{color:#1ABC9C}.wpmud .dev-box#wds-seo-checkup .wds-report .wds-accordion .wds-check-success{display:none}.wpmud .dev-box#wds-seo-checkup .wds-box-report-details{padding-top:30px}.wpmud .dev-box#wds-seo-checkup .wds-box-report-details .wds-box-stat-value{padding-top:7px}.wpmud .dev-box#wds-seo-checkup .wds-mascot-message{margin-top:30px;margin-bottom:-30px}.wpmud .dev-box .wds-accordion-handle-part:nth-child(2){text-align:right}.wpmud .dev-box .wds-dash-configure-button::before,.wpmud .dev-box .wds-dash-edit-posts-button::before,.wpmud .dev-box .wds-dash-view-report-button::before,.wpmud .dev-box .wds-dash-view-report-button::before{font-family:"wpmu-dev-seo-icons";margin-right:4px;text-transform:none}.wpmud .dev-box .wds-dash-configure-button::before{content:"\2044"}.wpmud .dev-box .wds-dash-edit-posts-button::before{content:"\2f"}.wpmud .dev-box .wds-dash-view-report-button::before{content:"\e93b"}.wpmud .dev-box .wds-dash-view-report-button::before{content:'\65'}.wpmud .dev-box .wds-notice::before{padding-top:4px}.wpmud .dev-box .wds-notice p{font-size:13px;line-height:22px}.wpmud .wds-onboard-dialog .box{background-image:url("../images/url-crawler-stats.png");background-size:128px 121px;background-repeat:no-repeat;background-position:center bottom;padding-bottom:60px}.wpmud .wds-onboard-dialog .wds-notice::before{padding-top:2px}.wpmud .wds-onboard-dialog .wds-toggle-table{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}.wpmud .wds-onboard-dialog .wds-toggle-table .toggle.wds-toggle{-ms-flex-order:2;order:2}.wpmud .wds-onboard-dialog .wds-onboarding-setup{float:right}.wpmud .wds-dash-stats.wds-seo-checkup-stats{margin-bottom:30px;background-size:141px 141px}.wpmud .wds-dash-stats.wds-seo-checkup-stats .wds-report-score .wds-score{margin-top:0}.wpmud .wds-dash-stats.wds-seo-checkup-stats .wds-last-checkup-never{margin:0 auto;max-width:280px;text-align:left;width:100%}.wpmud .wds-dash-stats.wds-seo-checkup-stats .wds-last-checkup-never .wds-small-text{margin-bottom:15px}.wpmud .wds-dash-stats.wds-seo-checkup-stats .wds-stat-value .wds-crawl-in-progress{color:#888;font-family:"Roboto",Arial,sans-serif;font-size:13px;font-weight:400}.wpmud .wds-dash-stats.wds-seo-checkup-stats .wds-stat-value .wds-crawl-in-progress:before{font-size:13px;color:#888;font-family:"wpmu-dev-seo-icons";content:"";display:inline-table;margin-right:5px;animation:wds-loader-icon-spin 1.5s linear infinite}#wds-show-supported-macros{max-height:520px;overflow-y:scroll}.wpmud .note{float:left;margin:20px 0}.wpmud .wds-preset-separators input[type="radio"]{display:none}.wpmud .wds-preset-separators .separator-selector{background:#f4f4f4;border:1px solid #ddd;border-radius:4px;float:left;margin-right:10px;margin-bottom:10px;min-width:40px;text-align:center;vertical-align:middle;height:40px;line-height:23px}.wpmud .vertical-tabs>.tab input[type="radio"]:checked+label.separator-selector{border:1px solid #17A8E3;background-color:#E1F6FF}.wpmud .wds-custom-separator-message{margin:10px 0 20px 0}.wds-preview-container.wds-preview-loading{opacity:.7}.wpmud .box-sitemaps-xml-sitemap-settings .box-content>p{margin-bottom:10px}.wpmud .wds-sitemap-part{display:table;width:100%;border-bottom:1px solid #EAEAEA;margin-bottom:15px;padding-bottom:15px}.wpmud .wds-sitemap-part:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.wpmud .wds-sitemap-part-label,.wpmud .wds-sitemap-part-name,.wpmud .wds-sitemap-part-toggle{display:table-cell;vertical-align:middle}.wpmud .wds-sitemap-part-name{color:#888;font-size:13px;width:150px}.wpmud .wds-sitemap-part-toggle{width:100px}.wpmud .wds-sitemap-part-toggle .toggle{float:right}.wpmud .wds-sitemap-section{border-bottom:1px solid #EAEAEA;margin-bottom:15px;padding-bottom:20px}.wpmud .wds-sitemap-section:last-child{border-bottom:none;padding-bottom:0;margin-bottom:0}.wpmud .wds-sitemap-section>.wds-sitemap-part{border-bottom:medium none;padding-bottom:0;margin-bottom:0}.wpmud .wds-disable-updates .wds-notice-warning{font-size:13px}.wpmud .wds-content-tabs.tab_url_crawler .wds-list-table td:last-child{text-align:right}.wpmud .wds-content-tabs.tab_url_crawler .wds-list-table td:last-child:first-child{text-align:inherit}.wpmud .wds-content-tabs.tab_url_crawler .wds-list-table tr.wds-controls-row td{padding:30px}.wpmud .wds-content-tabs.tab_url_crawler .wds-crawl-issues-table{margin-bottom:30px}.wpmud .wds-content-tabs.tab_url_crawler .wds-ignored-items-table tbody tr td{background:#F9F9F9}.wpmud .wds-content-tabs.tab_url_crawler .wds-links-dropdown.wds-item-loading{font-size:18px}.wpmud .wds-content-tabs.tab_url_crawler .wds-links-dropdown.wds-item-loading .wds-links-dropdown-anchor{visibility:hidden}.wpmud .wds-content-tabs.tab_url_crawler .wds-url-crawler-stats{display:none}.wpmud .wds-url-crawler-stats{background-image:url("../images/url-crawler-stats.png");background-size:128px 121px}.wpmud .wds-path-occurrences{padding-top:30px;border-top:1px solid #EAEAEA}.wpmud .wds-action-button{float:right}.wpmud .wds-issues-type-sitemap .wds-notice{margin-bottom:30px}.wpmud .wds-postlist-selector-modal .box{background:#F1F1F1;padding:0 10px}.wpmud .wds-postlist-selector-modal .box .title{border-bottom:none;margin:0;padding:15px 0 0 20px}.wpmud .wds-postlist-selector-modal .box .title h3{font-weight:400;padding:0}.wpmud .wds-postlist-selector-modal .box .title .close{color:#777771}.wpmud .wds-postlist-selector-modal .vertical-tabs{margin-bottom:0}.wpmud .wds-postlist-selector-modal .wds-postlist-list-items{margin:0;padding:0}.wpmud .wds-postlist-selector-modal .wds-postlist-list-item{margin:25px 0 0;padding:0}.wpmud .wds-postlist-selector-modal .wds-postlist-list-item-first-child{margin-top:0}.wpmud .wds-postlist-selector-modal .wds-postlist-list-item+label{color:#aaa;margin-left:5px}.wpmud .wds-postlist-selector-modal .wds-postlist-list-item:checked+label{color:#4A4A4A}.wpmud .wds-postlist-selector-modal .wds-postlist-list-pagination{margin-top:30px}.wpmud .wds-postlist-add-post{padding-top:20px}.wpmud .wds-postlist-item-title,.wpmud .wds-postlist-item-type{width:40%}.wpmud .wds-postlist-item-remove{text-align:right}.wpmud .wds-postlist-empty_list{display:none}.wpmud .wds-custom-keywords-modal .wds-action-button{float:right}.wpmud .wds-automatic-linking-insert-links,.wpmud .wds-automatic-linking-link-to{width:calc(50% - 10px);float:left;border:1px solid #EAEAEA;border-radius:5px}.wpmud .wds-automatic-linking-insert-links:last-child,.wpmud .wds-automatic-linking-link-to:last-child{margin-left:20px}.wpmud .wds-automatic-linking-insert-links .label,.wpmud .wds-automatic-linking-link-to .label{width:100%;padding:20px 30px}.wpmud .wds-automatic-linking-insert-links .label .wds-label,.wpmud .wds-automatic-linking-link-to .label .wds-label{font-size:13px}.wpmud .wds-automatic-linking-insert-links .fields,.wpmud .wds-automatic-linking-link-to .fields{width:100%}.wpmud .wds-automatic-linking-insert-links .fields .wds-toggle-table,.wpmud .wds-automatic-linking-link-to .fields .wds-toggle-table{padding:15px 30px;border-top:1px solid #EAEAEA}.wpmud .wds-automatic-linking-insert-links .fields .wds-toggle-table .toggle,.wpmud .wds-automatic-linking-link-to .fields .wds-toggle-table .toggle{width:40px;float:right}.wpmud .wds-automatic-linking-insert-links .fields .wds-toggle-table .wds-toggle-description,.wpmud .wds-automatic-linking-link-to .fields .wds-toggle-table .wds-toggle-description{float:left}.wpmud .wds-moz-table strong{font-size:15px;color:#666;line-height:30px}.wpmud .wds-moz-api-credentials{border:1px solid #EAEAEA;border-radius:4px;padding:30px}.wpmud .wds-moz-api-credentials .button{margin-top:20px;float:right}.wpmud [name="reset-moz-credentials"]{margin-bottom:30px;float:right}.wpmud .wds-redirects input{margin-bottom:0}.wpmud .wds-redirects-buttons-top{margin-bottom:10px}.wpmud .wds-redirects-buttons-bottom button{float:right}.wpmud .wds-redirects .wds-redirection_item-type select{width:200px}.wpmud .wds-redirects .wds-bulk-remove{display:none}.wpmud .wds-redirects .wds-redirects-unsaved-notice{display:none}.wpmud .wds-redirects .wds-redirects-table.wds-list-table th,.wpmud .wds-redirects .wds-redirects-table.wds-list-table td{padding:20px 5px}.wpmud .wds-redirects .wds-redirects-table.wds-list-table th:first-child,.wpmud .wds-redirects .wds-redirects-table.wds-list-table th:last-child,.wpmud .wds-redirects .wds-redirects-table.wds-list-table td:first-child,.wpmud .wds-redirects .wds-redirects-table.wds-list-table td:last-child{width:10px}.wpmud .wds-redirects .wds-redirects-table.wds-list-table th:first-child,.wpmud .wds-redirects .wds-redirects-table.wds-list-table td:first-child{padding-left:20px}.wpmud .wds-redirects .wds-redirects-table.wds-list-table th:last-child,.wpmud .wds-redirects .wds-redirects-table.wds-list-table td:last-child{padding-right:20px}.wpmud .wds-redirects .wds-redirects-table.wds-list-table tbody tr:last-child td{border-bottom:1px solid #EAEAEA}.wpmud .wds-bulk-update-redirects-modal .wds-action-button{float:right}.wpmud .wds-custom-meta-tags{margin-top:15px}.wpmud .wds-meta-tags-example{font-size:0.8em}.wpmud .wds-third-party-plugins{border-radius:7px;border:1px solid #EAEAEA;margin-bottom:20px}.wpmud .wds-third-party-plugins .wds-third-party-plugin{padding:15px 20px;display:table;width:100%}.wpmud .wds-third-party-plugins .wds-third-party-plugin-name,.wpmud .wds-third-party-plugins .wds-third-party-plugin-button{display:table-cell;vertical-align:middle}.wpmud .wds-third-party-plugins .wds-third-party-plugin-name{color:#333;font-size:13px;font-weight:500}.wpmud .wds-third-party-plugins .wds-third-party-plugin-button{text-align:right}.wpmud .wds-third-party-plugins .wds-third-party-plugin.wds-aioseop{border-top:1px solid #EAEAEA}.wpmud .fields{position:relative}.wpmud .fields.wds-twitter-username::before{color:#aaaaaa;content:"@";font-family:"Roboto",Arial,sans-serif;font-size:15px;position:absolute;right:100.8%;top:8px}.wpmud .wds-twitter-embed{margin-top:30px;height:320px}.wpmud .wds-twitter-embed-large{height:560px}.wpmud .wds-twitter-embed iframe{margin:0 auto}.wpmud .wds-seo-checkup-stats{background-image:url("../images/seo-checkup-stats.png");background-size:181px 182px}.wpmud .wds-seo-checkup-stats .wds-checkup-frequency{text-transform:capitalize}.wpmud .wds-seo-checkup-stats .wds-checkup-frequency-details{font-size:13px}.wpmud .wds-content-tabs.tab_checkup .wds-mascot-message.seo-checkup-upsell{margin-top:30px;margin-bottom:-30px}@media only screen and (max-width: 960px){.wpmud .row .col-third,.wpmud .row .col-two-third,.wpmud .row .col-half,.wpmud .row .col-quarter,.wpmud .row .col-three-quarters{display:block;margin-top:30px;padding:0;width:100%}.wpmud .row .col-third:first-child,.wpmud .row .col-two-third:first-child,.wpmud .row .col-half:first-child,.wpmud .row .col-quarter:first-child,.wpmud .row .col-three-quarters:first-child{margin-top:0}}@media only screen and (max-width: 600px){.wpmud .dev-box .box-title{padding:15px 30px}}@media only screen and (max-width: 783px){.wpmud .dev-box .box-title .toggle-troup{margin-top:0}}@media only screen and (max-width: 600px){.wpmud .dev-box .box-title h3,.wpmud .dev-box .box-title .buttons,.wpmud .dev-box .box-title .actions,.wpmud .dev-box .box-title .extra{float:none;display:block}}@media only screen and (max-width: 600px){.wpmud .dev-box .box-title .buttons,.wpmud .dev-box .box-title .actions,.wpmud .dev-box .box-title .extra{margin-top:15px}}@media only screen and (max-width: 600px){.wpmud .dev-box .box-title h3{line-height:1em}}@media only screen and (max-width: 960px){.wpmud .wrap-wds #header h1,.wpmud .wrap-wds #header .actions{display:block;float:none}.wpmud .wrap-wds #header .actions{margin-top:15px;margin-bottom:5px}}@media only screen and (max-width: 1100px){.wpmud .content-box-two-cols-image-left .wds-block-entry{text-align:center}.wpmud .content-box-two-cols-image-left .wds-block-entry-image{float:none;margin-bottom:30px}.wpmud .content-box-two-cols-image-left .wds-block-entry-image .wds-image{margin:0 auto}.wpmud .content-box-two-cols-image-left .wds-block-entry-content{margin:0}.wpmud .content-box-two-cols-image-left .wds-block-entry-content .title{text-align:center}}.wpmud button#collapse-button{font:inherit;text-transform:none}
|
languages/wpmu-dev-seo.pot
CHANGED
@@ -2,9 +2,9 @@
|
|
2 |
# This file is distributed under the same license as the SmartCrawl package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: SmartCrawl 2.2.2.
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wpmu-dev-seo\n"
|
7 |
-
"POT-Creation-Date: 2018-08-
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=utf-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -3926,32 +3926,26 @@ msgstr ""
|
|
3926 |
msgid "Readability:"
|
3927 |
msgstr ""
|
3928 |
|
3929 |
-
#: includes/core/class-wds-controller-cron-free.php:221
|
3930 |
#: includes/core/class-wds-controller-cron.php:387
|
3931 |
msgid "Daily"
|
3932 |
msgstr ""
|
3933 |
|
3934 |
-
#: includes/core/class-wds-controller-cron-free.php:222
|
3935 |
#: includes/core/class-wds-controller-cron.php:388
|
3936 |
msgid "Weekly"
|
3937 |
msgstr ""
|
3938 |
|
3939 |
-
#: includes/core/class-wds-controller-cron-free.php:223
|
3940 |
#: includes/core/class-wds-controller-cron.php:389
|
3941 |
msgid "Monthly"
|
3942 |
msgstr ""
|
3943 |
|
3944 |
-
#: includes/core/class-wds-controller-cron-free.php:368
|
3945 |
#: includes/core/class-wds-controller-cron.php:590
|
3946 |
msgid "SmartCrawl Daily"
|
3947 |
msgstr ""
|
3948 |
|
3949 |
-
#: includes/core/class-wds-controller-cron-free.php:375
|
3950 |
#: includes/core/class-wds-controller-cron.php:597
|
3951 |
msgid "SmartCrawl Weekly"
|
3952 |
msgstr ""
|
3953 |
|
3954 |
-
#: includes/core/class-wds-controller-cron-free.php:382
|
3955 |
#: includes/core/class-wds-controller-cron.php:604
|
3956 |
msgid "SmartCrawl Monthly"
|
3957 |
msgstr ""
|
@@ -4105,13 +4099,11 @@ msgstr ""
|
|
4105 |
msgid "Your request timed out"
|
4106 |
msgstr ""
|
4107 |
|
4108 |
-
#: includes/core/service/class-wds-seo-service-free.php:189
|
4109 |
#: includes/core/service/class-wds-seo-service.php:318
|
4110 |
#: includes/core/service/class-wds-uptime-service.php:74
|
4111 |
msgid "Unspecified error"
|
4112 |
msgstr ""
|
4113 |
|
4114 |
-
#: includes/core/service/class-wds-seo-service-free.php:201
|
4115 |
#: includes/core/service/class-wds-seo-service.php:330
|
4116 |
#: includes/core/service/class-wds-uptime-service.php:88
|
4117 |
msgid "Manage"
|
2 |
# This file is distributed under the same license as the SmartCrawl package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: SmartCrawl 2.2.2.3\n"
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wpmu-dev-seo\n"
|
7 |
+
"POT-Creation-Date: 2018-08-31 13:36:11+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=utf-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
3926 |
msgid "Readability:"
|
3927 |
msgstr ""
|
3928 |
|
|
|
3929 |
#: includes/core/class-wds-controller-cron.php:387
|
3930 |
msgid "Daily"
|
3931 |
msgstr ""
|
3932 |
|
|
|
3933 |
#: includes/core/class-wds-controller-cron.php:388
|
3934 |
msgid "Weekly"
|
3935 |
msgstr ""
|
3936 |
|
|
|
3937 |
#: includes/core/class-wds-controller-cron.php:389
|
3938 |
msgid "Monthly"
|
3939 |
msgstr ""
|
3940 |
|
|
|
3941 |
#: includes/core/class-wds-controller-cron.php:590
|
3942 |
msgid "SmartCrawl Daily"
|
3943 |
msgstr ""
|
3944 |
|
|
|
3945 |
#: includes/core/class-wds-controller-cron.php:597
|
3946 |
msgid "SmartCrawl Weekly"
|
3947 |
msgstr ""
|
3948 |
|
|
|
3949 |
#: includes/core/class-wds-controller-cron.php:604
|
3950 |
msgid "SmartCrawl Monthly"
|
3951 |
msgstr ""
|
4099 |
msgid "Your request timed out"
|
4100 |
msgstr ""
|
4101 |
|
|
|
4102 |
#: includes/core/service/class-wds-seo-service.php:318
|
4103 |
#: includes/core/service/class-wds-uptime-service.php:74
|
4104 |
msgid "Unspecified error"
|
4105 |
msgstr ""
|
4106 |
|
|
|
4107 |
#: includes/core/service/class-wds-seo-service.php:330
|
4108 |
#: includes/core/service/class-wds-uptime-service.php:88
|
4109 |
msgid "Manage"
|
readme.txt
CHANGED
@@ -7,19 +7,19 @@ Author URI: https://premium.wpmudev.org/
|
|
7 |
Author: WPMU DEV
|
8 |
Requires at least: 4.6
|
9 |
Tested up to: 4.9.8
|
10 |
-
Stable tag: 2.2.2.
|
11 |
|
12 |
The SEO checker and optimization tool that helps you rank higher and get discovered in search engines.
|
13 |
|
14 |
== Description ==
|
15 |
|
16 |
-
|
17 |
|
18 |
Is your SEO strategy good enough? With SmartCrawl there’s no more juggling settings, making guesses, and wondering if your SEO is properly optimized.
|
19 |
|
20 |
Create clear, bold, targeted content and rank at the top of your favorite browser – from Google to Bing and Firefox to Safari.
|
21 |
|
22 |
-
|
23 |
* One-Click Setup Wizard - SmartCrawl will analyze your site and activate settings to boost your reach – no more guesswork!
|
24 |
* Titles & Meta Descriptions - SmartCrawl SEO customizes how titles and descriptions display on search pages to optimize your content.
|
25 |
* Leverage Social Media - SmartCrawl SEO/Open Graph integration connects your social accounts and credits you when someone shares your posts.
|
@@ -29,42 +29,37 @@ Create clear, bold, targeted content and rank at the top of your favorite browse
|
|
29 |
* Integrate With Moz SEO Tools - Already use Moz? Connect your Moz reports and comparison analysis including rank and links.
|
30 |
* Quick Setup Import/Export - Quickly add your custom SmartCrawl SEO settings to all your sites with included import.
|
31 |
|
32 |
-
★★★★★
|
33 |
-
“SmartCrawl is designed to increase traffic without making you jump through hoops or make major site changes. By including the most effective methods of optimization and working on autopilot, SmartCrawl gives you more time for other areas of your blog. As you work and grow, you know that SmartCrawl has your back.
|
34 |
-
” –
|
35 |
|
36 |
[youtube https://www.youtube.com/watch?v=S0s352I_cD4&t=2s]
|
37 |
|
38 |
-
|
39 |
SEO doesn’t have to be hard! SmartCrawl optimizes your site with a click and makes it easy to tweak and customize with loads of pro tips for winning visitors.
|
40 |
|
41 |
-
|
42 |
SmartCrawl will scan your site and find ways to optimize your content and make it more discoverable by search engines. Avoid human error with SmartCrawl! She’ll help create better links, tags, descriptions, images, sitemaps, anchors and improve overall page structure.
|
43 |
|
44 |
-
|
45 |
SmartCrawl has a content analyzer built right into both the post and page editor. Get instant feedback with suggestions for improving your content – SmartCrawl will make your site easier to read and find!
|
46 |
|
47 |
-
|
48 |
Facebook, Instagram, Twitter, LinkedIn, Pinterest, Google+, Youtube and most every social network loves Open Graph for connecting, sharing and crediting your content. Take full advantage of viral content with SmartCrawl’s Open Graph integration.
|
49 |
|
50 |
-
|
51 |
SmartCrawl gives you options to control SEO settings across an entire network as a Super Admin or powerful search optimization settings for individual site owners. Make bulk changes for Multisite or optimize each site.
|
52 |
|
53 |
-
|
54 |
-
|
55 |
|
56 |
-
|
|
|
|
|
|
|
|
|
57 |
|
58 |
-
And if you want scheduled SEO scans, reports, automatic keyword linking and access to our suite of site management tools you can always take the next step with a
|
59 |
-
|
60 |
-
== Installation ==
|
61 |
-
|
62 |
-
WordPress Installation Instructions:
|
63 |
-
|
64 |
-
1. Upload the SmartCrawl plugin to your /wp-content/plugins/ directory.
|
65 |
-
2. Activate the plugin through the 'Plugins' menu in WordPress.
|
66 |
-
3. Configure your desired settings via the SmartCrawl settings page.
|
67 |
-
4. Done!
|
68 |
|
69 |
== Frequently Asked Questions ==
|
70 |
|
@@ -91,6 +86,10 @@ SmartCrawl works with any normal WP content and page builders shouldn’t be an
|
|
91 |
|
92 |
== Changelog ==
|
93 |
|
|
|
|
|
|
|
|
|
94 |
= 2.2.2.2 =
|
95 |
|
96 |
* Fix: fixed edge case autolinks issue
|
@@ -212,3 +211,12 @@ SmartCrawl works with any normal WP content and page builders shouldn’t be an
|
|
212 |
* Fix: do not calculate disabled analysis results.
|
213 |
* Fix: empty ignore URLs list clears sitemaps.
|
214 |
* Fix: user name not shown for reporting.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
Author: WPMU DEV
|
8 |
Requires at least: 4.6
|
9 |
Tested up to: 4.9.8
|
10 |
+
Stable tag: 2.2.2.3
|
11 |
|
12 |
The SEO checker and optimization tool that helps you rank higher and get discovered in search engines.
|
13 |
|
14 |
== Description ==
|
15 |
|
16 |
+
*Give your site better WordPress SEO optimization with SmartCrawl. Stop fidgeting with settings and win more traffic. SmartCrawl will boost your PageRank and domain authority in Google with one-click setup, automatic sitemaps, improved social sharing, a real-time keyword and content analyzer, scans and reports.*
|
17 |
|
18 |
Is your SEO strategy good enough? With SmartCrawl there’s no more juggling settings, making guesses, and wondering if your SEO is properly optimized.
|
19 |
|
20 |
Create clear, bold, targeted content and rank at the top of your favorite browser – from Google to Bing and Firefox to Safari.
|
21 |
|
22 |
+
### SmartCrawl’s SEO Tools for WordPress Include:
|
23 |
* One-Click Setup Wizard - SmartCrawl will analyze your site and activate settings to boost your reach – no more guesswork!
|
24 |
* Titles & Meta Descriptions - SmartCrawl SEO customizes how titles and descriptions display on search pages to optimize your content.
|
25 |
* Leverage Social Media - SmartCrawl SEO/Open Graph integration connects your social accounts and credits you when someone shares your posts.
|
29 |
* Integrate With Moz SEO Tools - Already use Moz? Connect your Moz reports and comparison analysis including rank and links.
|
30 |
* Quick Setup Import/Export - Quickly add your custom SmartCrawl SEO settings to all your sites with included import.
|
31 |
|
32 |
+
★★★★★
|
33 |
+
> “SmartCrawl is designed to increase traffic without making you jump through hoops or make major site changes. By including the most effective methods of optimization and working on autopilot, SmartCrawl gives you more time for other areas of your blog. As you work and grow, you know that SmartCrawl has your back.
|
34 |
+
” – [Neil Patel](https://neilpatel.com/blog/13-paid-wordpress-tools-thatll-double-your-blogs-traffic/)
|
35 |
|
36 |
[youtube https://www.youtube.com/watch?v=S0s352I_cD4&t=2s]
|
37 |
|
38 |
+
### SmartCrawl Unlocks SEO Cheat Codes For WordPress
|
39 |
SEO doesn’t have to be hard! SmartCrawl optimizes your site with a click and makes it easy to tweak and customize with loads of pro tips for winning visitors.
|
40 |
|
41 |
+
### Free SEO Checkup
|
42 |
SmartCrawl will scan your site and find ways to optimize your content and make it more discoverable by search engines. Avoid human error with SmartCrawl! She’ll help create better links, tags, descriptions, images, sitemaps, anchors and improve overall page structure.
|
43 |
|
44 |
+
### Analyze Content And Get Suggestions In Real-Time
|
45 |
SmartCrawl has a content analyzer built right into both the post and page editor. Get instant feedback with suggestions for improving your content – SmartCrawl will make your site easier to read and find!
|
46 |
|
47 |
+
### Get Your Content Recognized On Social Media With Open Graph
|
48 |
Facebook, Instagram, Twitter, LinkedIn, Pinterest, Google+, Youtube and most every social network loves Open Graph for connecting, sharing and crediting your content. Take full advantage of viral content with SmartCrawl’s Open Graph integration.
|
49 |
|
50 |
+
### SmartCrawl Has Full SEO Control For Multisite
|
51 |
SmartCrawl gives you options to control SEO settings across an entire network as a Super Admin or powerful search optimization settings for individual site owners. Make bulk changes for Multisite or optimize each site.
|
52 |
|
53 |
+
### Shameless Plug(ins)
|
54 |
+
Love SmartCrawl! WPMU DEV has some other awesome free plugins you should checkout.
|
55 |
|
56 |
+
- [Smush](https://wordpress.org/plugins/wp-smushit/) - Image Compression and Optimization
|
57 |
+
- [Hummingbird](https://wordpress.org/plugins/hummingbird-performance/) - Page Speed Optimization
|
58 |
+
- [Forminator](https://wordpress.org/plugins/forminator/) - Form, Quiz, Poll and Survey Builder
|
59 |
+
- [Hustle](https://wordpress.org/plugins/wordpress-popup/) - Pop-ups, Slide-ins and Email Opt-ins
|
60 |
+
- [Defender](https://wordpress.org/plugins/defender-security/) - Security, Monitoring, and Hack Protection
|
61 |
|
62 |
+
And if you want scheduled SEO scans, reports, automatic keyword linking and access to our suite of site management tools you can always take the next step with a [WPMU DEV Membership](https://premium.wpmudev.org/project/smartcrawl-wordpress-seo/). Give it a go free for 30 days.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
63 |
|
64 |
== Frequently Asked Questions ==
|
65 |
|
86 |
|
87 |
== Changelog ==
|
88 |
|
89 |
+
= 2.2.2.3 =
|
90 |
+
|
91 |
+
* Fix: fixed SEO checkup for free version
|
92 |
+
|
93 |
= 2.2.2.2 =
|
94 |
|
95 |
* Fix: fixed edge case autolinks issue
|
211 |
* Fix: do not calculate disabled analysis results.
|
212 |
* Fix: empty ignore URLs list clears sitemaps.
|
213 |
* Fix: user name not shown for reporting.
|
214 |
+
|
215 |
+
== About Us ==
|
216 |
+
WPMU DEV is a premium supplier of quality WordPress plugins, services and support. Join us here:
|
217 |
+
[https://premium.wpmudev.org/](https://premium.wpmudev.org/?utm_source=wordpress.org&utm_medium=readme)
|
218 |
+
|
219 |
+
Don't forget to stay up to date on everything WordPress from the Internet's number one resource:
|
220 |
+
[WPMU DEV Blog](https://premium.wpmudev.org/blog/?utm_source=wordpress.org&utm_medium=readme)
|
221 |
+
|
222 |
+
Hey, one more thing... we hope you enjoy our [free offerings](http://profiles.wordpress.org/WPMUDEV/) as much as we've loved making them for you!
|
wpmu-dev-seo.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Plugin Name: SmartCrawl
|
4 |
* Plugin URI: http://premium.wpmudev.org/project/wpmu-dev-seo/
|
5 |
* Description: Every SEO option that a site requires, in one easy bundle.
|
6 |
-
* Version: 2.2.2.
|
7 |
* Network: true
|
8 |
* Text Domain: wds
|
9 |
* Author: WPMU DEV
|
@@ -30,7 +30,7 @@
|
|
30 |
*/
|
31 |
|
32 |
|
33 |
-
define( 'SMARTCRAWL_VERSION', '2.2.2.
|
34 |
|
35 |
class Smartcrawl_Loader {
|
36 |
|
3 |
* Plugin Name: SmartCrawl
|
4 |
* Plugin URI: http://premium.wpmudev.org/project/wpmu-dev-seo/
|
5 |
* Description: Every SEO option that a site requires, in one easy bundle.
|
6 |
+
* Version: 2.2.2.3
|
7 |
* Network: true
|
8 |
* Text Domain: wds
|
9 |
* Author: WPMU DEV
|
30 |
*/
|
31 |
|
32 |
|
33 |
+
define( 'SMARTCRAWL_VERSION', '2.2.2.3' );
|
34 |
|
35 |
class Smartcrawl_Loader {
|
36 |
|