WP Staging – DB & File Duplicator & Migration - Version 2.10.0

Version Description

  • New: Compatible up to WordPress 6.0.3
  • New: Show loader icon while saving settings or testing backup remote storages connections #1925
  • New: Show settings last saved time for backup remote storages SFTP, Amazon S3 and Google Drive #1925
  • New: Show last update and install date for WP STAGING|PRO plugin in System Info #1928
  • New: Show selected themes and plugins for UPDATE and RESET clone jobs #1926
  • New: Fix issues when restoring multisites backup if network subsites have different domains. It now support restore or conversion of domain based subsite to subdirectory based subsite #1872
  • New: Option to disable local storage space and upload backup(s) only to remote storage spaces #1935
  • Enh: Huge improve of backup restoring performance by factor 2-3. #1951
  • Enh: Huge improve of backup creating performance on slow database servers. #1951
  • Enh: Add extra search & replace rule for elementor generated data #1902
  • Enh: Add dropdown to select bucket region for S3 backups instead of typing it in manually. Improve Amazon S3 settings page #1943
  • Enh: Skip search & replace if restoring a backup on the same site #1949
  • Enh: Add extra search & replace rule for elementor generated data #1949
  • Enh: Add search replace filter for database backup restore #1872
  • Enh: Allow access of staging site by using user email addresses beside usernames #1928
  • Enh: Add option to not ask for license key activation on local development sites #1913
  • Enh: Add better log messages for non working cron jobs #1907
  • Fix: Prevent a rare situation where the database is copied slowly with only one row per request #1951
  • Fix: Table selection ignored when creating a new staging site #1946
  • Fix: Could not properly restore network sites when a multisite backup was restored on a new WordPress that had a different table prefix than the source website #1948
  • Fix: Adjusted multiple SplFileObject methods (due to unconsistent behaviour of these methods across multiple PHP versions) to support PHP 8.0 > 8.0.19, PHP 8.1 > 8.1.6 and upcoming PHP 8.2 #1903
  • Fix: Deleting the oldest remote backup from SFTP, Amazon S3 and Google Drive fails sometimes #1890
  • Fix: No update notification visible in wp staging user interface when there is a new pro version available #1894
  • Fix: Clean up code #1871
  • Fix: Unable to create backup if there are files in WP STAGING cache folder that can not be deleted like .nfs* files. #1859
  • Fix: Analytics reporting does not contain the list of installed plugins #1896
  • Fix: If an Amazon S3 api key contained + character, it turned into space character when saving in database #1912
  • Fix: Always store the names of installed plugins, mu-plugins and themes in backup metadata #1906
  • Fix: When restoring database with large amount of tables on PHP > 8.0.1 some tables doesn't get created due unconsistent behaviour of FileObject library across PHP versions. #1872
  • Fix: Undefined var message in the log files if SSL connection could not be established due to outdated TLS on client server #1913
  • Fix: While creating a single staging site out of a network site, the folders (uploads/sites/ID) from other network sites weren't excluded and contained in the staging site #1922
  • Fix: Selecting parent folder does not automatically select its subfolders for UPDATE and RESET clone jobs. #1926
  • Fix: Amazon S3 only supports a maximum of 10,000 chunks for uploading a single backup file. With previous 5MB chunk size, backup uploads to S3 failed if they are bigger than 50 GB. Now backup chunk size is adjusted according to the size of the backup file by making sure total chunks are less than 10,000 #1924
  • Fix: Error when pushing a staging site and all folders are selected #1883
  • Dev: Add testing suite to run unit tests against multiple PHP versions #1903
  • Dev: Add sass/scss support for compiling css #1925
  • Dev: Add Xdebug support for PHP 8.1, use custom php.ini in PHP 8.0 and PHP 8.1 #1928
  • Dev: Update DI52 version to 3.0 for performance gain #1934
Download this release

Release Info

Developer ReneHermi
Plugin Icon 128x128 WP Staging – DB & File Duplicator & Migration
Version 2.10.0
Comparing to
See all releases

Code changes from version 2.9.20 to 2.10.0

Files changed (48) hide show
  1. Backend/Modules/Jobs/Directories.php +10 -0
  2. Backend/Modules/Jobs/Files.php +3 -3
  3. Backend/Modules/Jobs/Scan.php +45 -8
  4. Backend/Modules/Jobs/SearchReplace.php +2 -2
  5. Backend/Modules/SystemInfo.php +18 -10
  6. Backend/Notices/OutdatedWpStagingNotice.php +1 -1
  7. Backend/Upgrade/Upgrade.php +9 -3
  8. Backend/views/backup/free-version.php +16 -19
  9. Backend/views/backup/modal/export.php +1 -1
  10. Backend/views/clone/ajax/exclude-settings.php +2 -0
  11. Backend/views/clone/ajax/external-database.php +1 -1
  12. Backend/views/clone/ajax/mail-setting.php +2 -2
  13. Backend/views/clone/ajax/scan.php +2 -0
  14. Backend/views/clone/ajax/start.php +8 -11
  15. Backend/views/notices/rating.php +1 -14
  16. Backend/views/notices/wp-options-missing-pk.php +1 -1
  17. Backend/views/selections/files.php +5 -1
  18. Backend/views/settings/tabs/storages/amazons3-settings.php +27 -17
  19. Backend/views/settings/tabs/storages/googledrive-settings.php +7 -2
  20. Backend/views/settings/tabs/storages/last-saved-notice.php +33 -0
  21. Backend/views/settings/tabs/storages/sftp-settings.php +9 -2
  22. Core/Utils/Logger.php +26 -3
  23. Core/Utils/functions.php +4 -2
  24. Core/WPStaging.php +1 -1
  25. Framework/Adapter/Database.php +8 -0
  26. Framework/Analytics/AnalyticsConsent.php +3 -3
  27. Framework/Analytics/WithAnalyticsSiteInfo.php +22 -5
  28. Framework/Assets/Assets.php +1 -1
  29. Framework/BackgroundProcessing/BackgroundProcessingServiceProvider.php +9 -0
  30. Framework/DI/Container.php +20 -31
  31. Framework/DI/Resolver.php +25 -0
  32. Framework/DI/ServiceProvider.php +1 -1
  33. Framework/Facades/Sanitize.php +0 -2
  34. Framework/Filesystem/FileObject.php +77 -3
  35. Framework/Rest/Rest.php +1 -1
  36. Framework/Traits/MySQLRowsGeneratorTrait.php +62 -33
  37. Framework/Utils/Cache/BufferedCache.php +1 -1
  38. Framework/Utils/Escape.php +3 -1
  39. Framework/Utils/Sanitize.php +0 -25
  40. Framework/Utils/Strings.php +15 -1
  41. Frontend/Frontend.php +18 -8
  42. Frontend/LoginForm.php +2 -2
  43. assets/css/dist/wpstg-admin.css +1728 -2348
  44. assets/css/dist/wpstg-admin.css.map +1 -1
  45. assets/css/dist/wpstg-admin.min.css +1 -1
  46. assets/css/dist/wpstg-admin.min.css.map +1 -1
  47. assets/js/dist/wpstg-admin.js +56 -5
  48. assets/js/dist/wpstg-admin.js.map +1 -1
Backend/Modules/Jobs/Directories.php CHANGED
@@ -175,6 +175,11 @@ class Directories extends JobExecutable
175
  $excludePaths = array_merge((new ExcludedPlugins())->getPluginsToExcludeWithRelativePath(), $excludePaths);
176
  }
177
 
 
 
 
 
 
178
  $excludePaths = array_merge($this->getFilteredExcludedPaths(), $excludePaths);
179
 
180
  try {
@@ -220,6 +225,11 @@ class Directories extends JobExecutable
220
  $this->wpDirectories->getRelativeThemePath(SlashMode::LEADING_SLASH),
221
  ];
222
 
 
 
 
 
 
223
  $excludePaths = array_merge($this->getFilteredExcludedPaths(), $excludePaths);
224
 
225
  try {
175
  $excludePaths = array_merge((new ExcludedPlugins())->getPluginsToExcludeWithRelativePath(), $excludePaths);
176
  }
177
 
178
+ // Exclude subsite uploads if is multisite, is_main_site and is not network clone
179
+ if (is_multisite() && is_main_site() && !$this->isNetworkClone()) {
180
+ $excludePaths[] = $this->wpDirectories->getRelativeUploadPath(SlashMode::LEADING_SLASH) . '/sites';
181
+ }
182
+
183
  $excludePaths = array_merge($this->getFilteredExcludedPaths(), $excludePaths);
184
 
185
  try {
225
  $this->wpDirectories->getRelativeThemePath(SlashMode::LEADING_SLASH),
226
  ];
227
 
228
+ // Exclude main uploads directory if multisite and not main site
229
+ if (is_multisite() && !is_main_site()) {
230
+ $excludePaths[] = $this->wpDirectories->getRelativeWpContentPath(SlashMode::BOTH_SLASHES) . 'uploads';
231
+ }
232
+
233
  $excludePaths = array_merge($this->getFilteredExcludedPaths(), $excludePaths);
234
 
235
  try {
Backend/Modules/Jobs/Files.php CHANGED
@@ -71,7 +71,7 @@ class Files extends JobExecutable
71
 
72
  if (is_file($filePath)) {
73
  $this->file = new FileObject($filePath, 'r');
74
- } else {
75
  $this->returnException(sprintf('Fatal Error: Files - File: %s is missing! Either the file was deleted after directory scanning or there is a permission issue with the file system.', $filePath));
76
  }
77
 
@@ -277,7 +277,7 @@ class Files extends JobExecutable
277
  $this->file->seek($this->options->copiedFiles - 1);
278
  }
279
 
280
- $this->file->setFlags(FileObject::READ_AHEAD | FileObject::DROP_NEW_LINE);
281
 
282
  for ($i = 0; $i < $this->maxFilesPerRun; $i++) {
283
  // Increment copied files
@@ -289,7 +289,7 @@ class Files extends JobExecutable
289
  break;
290
  }
291
 
292
- $file = trim($this->file->fgets());
293
 
294
  if (empty($file)) {
295
  continue;
71
 
72
  if (is_file($filePath)) {
73
  $this->file = new FileObject($filePath, 'r');
74
+ } elseif ($this->options->totalFiles !== 0) {
75
  $this->returnException(sprintf('Fatal Error: Files - File: %s is missing! Either the file was deleted after directory scanning or there is a permission issue with the file system.', $filePath));
76
  }
77
 
277
  $this->file->seek($this->options->copiedFiles - 1);
278
  }
279
 
280
+ $this->file->setFlags(FileObject::DROP_NEW_LINE);
281
 
282
  for ($i = 0; $i < $this->maxFilesPerRun; $i++) {
283
  // Increment copied files
289
  break;
290
  }
291
 
292
+ $file = trim($this->file->readAndMoveNext());
293
 
294
  if (empty($file)) {
295
  continue;
Backend/Modules/Jobs/Scan.php CHANGED
@@ -228,15 +228,17 @@ class Scan extends Job
228
  * @param bool $forceDefault Default false. Set it to true,
229
  * when default button on ui is clicked,
230
  * to ignore previous selected option for UPDATE and RESET process.
 
231
  *
232
  * @return string
233
  *
234
  * @todo create a template for ui
235
  */
236
- public function directoryListing($parentChecked = null, $forceDefault = false)
237
  {
238
-
239
- $directories = $this->directories;
 
240
 
241
  uksort($directories, 'strcasecmp');
242
 
@@ -284,8 +286,24 @@ class Scan extends Job
284
  $isNavigateable = 'false';
285
  }
286
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
287
  $output .= "<div class='wpstg-dir'>";
288
- $output .= "<input type='checkbox' class='wpstg-check-dir " . $class . "'";
289
 
290
  // Decide if item checkbox is active or not
291
  $shouldBeChecked = $parentChecked !== null ? $parentChecked : !$isNotWPCoreDir;
@@ -303,7 +321,7 @@ class Scan extends Job
303
  $output .= " checked";
304
  }
305
 
306
- $output .= " name='selectedDirectories[]' value='{$relPath}' data-scanned='false' data-navigateable='{$isNavigateable}'>";
307
 
308
  $output .= "<a href='#' class='wpstg-expand-dirs ";
309
 
@@ -317,6 +335,14 @@ class Scan extends Job
317
  $output .= ($this->gifLoaderPath !== '' && $isNavigateable === 'true') ? "<img src='{$this->gifLoaderPath}' class='wpstg-is-dir-loading' alt='loading' />" : "";
318
  $output .= "<span class='wpstg-size-info'>{$this->utilsMath->formatSize( $dataSize )}</span>";
319
  $output .= isset($this->settings->debugMode) ? "<span class='wpstg-size-info'> {$dataPath}</span>" : "";
 
 
 
 
 
 
 
 
320
  $output .= "</div>";
321
  }
322
 
@@ -414,9 +440,12 @@ class Scan extends Job
414
 
415
  /**
416
  * Get directories and main meta data about given directory path
417
- * @param string $dirPath - Optional - Default ABSPATH
 
 
 
418
  */
419
- protected function getDirectories($dirPath = ABSPATH)
420
  {
421
  if (!is_dir($dirPath)) {
422
  return;
@@ -441,6 +470,8 @@ class Scan extends Job
441
  exit();
442
  }
443
 
 
 
444
  foreach ($directories as $directory) {
445
  // Not a valid directory
446
  if (($path = $this->getPath($directory)) === false) {
@@ -454,11 +485,17 @@ class Scan extends Job
454
  $fullPath = WPStaging::getWPpath() . $path;
455
  $size = $this->getDirectorySize($fullPath);
456
 
457
- $this->directories[$directory->getFilename()]['metaData'] = [
458
  "size" => $size,
459
  "path" => $fullPath,
460
  ];
461
  }
 
 
 
 
 
 
462
  }
463
 
464
  /**
228
  * @param bool $forceDefault Default false. Set it to true,
229
  * when default button on ui is clicked,
230
  * to ignore previous selected option for UPDATE and RESET process.
231
+ * @param null|array $directories to list
232
  *
233
  * @return string
234
  *
235
  * @todo create a template for ui
236
  */
237
+ public function directoryListing($parentChecked = null, $forceDefault = false, $directories = null)
238
  {
239
+ if ($directories === null) {
240
+ $directories = $this->directories;
241
+ }
242
 
243
  uksort($directories, 'strcasecmp');
244
 
286
  $isNavigateable = 'false';
287
  }
288
 
289
+ $contentType = 'other';
290
+ if ($this->strUtils->startsWith($path, $wpRoot . "wp-content/plugins/") !== false) {
291
+ $contentType = 'plugin';
292
+ } elseif ($this->strUtils->startsWith($path, $wpRoot . "wp-content/themes/") !== false) {
293
+ $contentType = 'theme';
294
+ }
295
+
296
+ $isScanned = 'false';
297
+ if (
298
+ $path === $wpRoot . 'wp-content'
299
+ || $path === $wpRoot . 'wp-content/plugins'
300
+ || $path === $wpRoot . 'wp-content/themes'
301
+ ) {
302
+ $isScanned = 'true';
303
+ }
304
+
305
  $output .= "<div class='wpstg-dir'>";
306
+ $output .= "<input type='checkbox' data-content-type='" . $contentType . "' class='wpstg-check-dir " . $class . "'";
307
 
308
  // Decide if item checkbox is active or not
309
  $shouldBeChecked = $parentChecked !== null ? $parentChecked : !$isNotWPCoreDir;
321
  $output .= " checked";
322
  }
323
 
324
+ $output .= " name='selectedDirectories[]' value='{$relPath}' data-scanned='{$isScanned}' data-navigateable='{$isNavigateable}'>";
325
 
326
  $output .= "<a href='#' class='wpstg-expand-dirs ";
327
 
335
  $output .= ($this->gifLoaderPath !== '' && $isNavigateable === 'true') ? "<img src='{$this->gifLoaderPath}' class='wpstg-is-dir-loading' alt='loading' />" : "";
336
  $output .= "<span class='wpstg-size-info'>{$this->utilsMath->formatSize( $dataSize )}</span>";
337
  $output .= isset($this->settings->debugMode) ? "<span class='wpstg-size-info'> {$dataPath}</span>" : "";
338
+
339
+ if ($isScanned === 'true') {
340
+ $childDirectories = $this->getDirectories($path, $return = true);
341
+ $output .= '<div class="wpstg-dir wpstg-subdir" style="display: none;">';
342
+ $output .= $this->directoryListing($parentChecked, $forceDefault, $childDirectories);
343
+ $output .= '</div>';
344
+ }
345
+
346
  $output .= "</div>";
347
  }
348
 
440
 
441
  /**
442
  * Get directories and main meta data about given directory path
443
+ * @param string $dirPath - Optional - Default ABSPATH
444
+ * @param bool $shouldReturn - Optional - Default false
445
+ *
446
+ * @return void|array Depend upon value of $shouldReturn
447
  */
448
+ protected function getDirectories($dirPath = ABSPATH, $shouldReturn = false)
449
  {
450
  if (!is_dir($dirPath)) {
451
  return;
470
  exit();
471
  }
472
 
473
+ $result = [];
474
+
475
  foreach ($directories as $directory) {
476
  // Not a valid directory
477
  if (($path = $this->getPath($directory)) === false) {
485
  $fullPath = WPStaging::getWPpath() . $path;
486
  $size = $this->getDirectorySize($fullPath);
487
 
488
+ $result[$directory->getFilename()]['metaData'] = [
489
  "size" => $size,
490
  "path" => $fullPath,
491
  ];
492
  }
493
+
494
+ if ($shouldReturn) {
495
+ return $result;
496
+ }
497
+
498
+ $this->directories = $result;
499
  }
500
 
501
  /**
Backend/Modules/Jobs/SearchReplace.php CHANGED
@@ -4,11 +4,11 @@ namespace WPStaging\Backend\Modules\Jobs;
4
 
5
  use stdClass;
6
  use wpdb;
 
7
  use WPStaging\Core\Utils\Logger;
8
  use WPStaging\Core\Utils\Multisite;
9
- use WPStaging\Framework\Traits\DatabaseSearchReplaceTrait;
10
- use WPStaging\Core\WPStaging;
11
  use WPStaging\Framework\SiteInfo;
 
12
  use WPStaging\Framework\Traits\DbRowsGeneratorTrait;
13
  use WPStaging\Framework\Utils\Strings;
14
 
4
 
5
  use stdClass;
6
  use wpdb;
7
+ use WPStaging\Core\WPStaging;
8
  use WPStaging\Core\Utils\Logger;
9
  use WPStaging\Core\Utils\Multisite;
 
 
10
  use WPStaging\Framework\SiteInfo;
11
+ use WPStaging\Framework\Traits\DatabaseSearchReplaceTrait;
12
  use WPStaging\Framework\Traits\DbRowsGeneratorTrait;
13
  use WPStaging\Framework\Utils\Strings;
14
 
Backend/Modules/SystemInfo.php CHANGED
@@ -2,6 +2,7 @@
2
 
3
  namespace WPStaging\Backend\Modules;
4
 
 
5
  use WPStaging\Core\Utils\Browser;
6
  use WPStaging\Core\WPStaging;
7
  use WPStaging\Core\Utils;
@@ -163,7 +164,7 @@ class SystemInfo
163
  // Get wpstg settings
164
  $settings = (object)get_option('wpstg_settings', []);
165
 
166
- $output = "-- WP Staging Settings" . PHP_EOL . PHP_EOL;
167
  $output .= $this->info("Query Limit:", isset($settings->queryLimit) ? $settings->queryLimit : 'undefined');
168
  $output .= $this->info("DB Search & Replace Limit:", isset($settings->querySRLimit) ? $settings->querySRLimit : 'undefined');
169
  $output .= $this->info("File Copy Limit:", isset($settings->fileLimit) ? $settings->fileLimit : 'undefined');
@@ -195,7 +196,7 @@ class SystemInfo
195
  $output .= $this->info("URL:", isset($clone['url']) ? $clone['url'] : 'undefined');
196
  $output .= $this->info("DB Prefix:", isset($clone['prefix']) ? $clone['prefix'] : 'undefined');
197
  $output .= $this->info("DB Prefix wp-config.php:", $this->getStagingPrefix($clone));
198
- $output .= $this->info("WP Staging Version:", isset($clone['version']) ? $clone['version'] : 'undefined');
199
  $output .= $this->info("WP Version:", $this->getStagingWpVersion($path)) . PHP_EOL . PHP_EOL;
200
  }
201
  }
@@ -210,12 +211,18 @@ class SystemInfo
210
  $output .= '' . PHP_EOL;
211
 
212
 
213
- $output .= $this->info("Plugin Pro Version:", get_option('wpstgpro_version', 'undefined'));
214
- $output .= $this->info("Plugin Pro License Key:", get_option('wpstg_license_key'));
215
- $output .= $this->info("Plugin Free Version:", get_option('wpstg_version', 'undefined'));
216
- $output .= $this->info("Install Date:", get_option('wpstg_installDate', 'undefined'));
217
- $output .= $this->info("Upgraded from Pro:", get_option('wpstgpro_version_upgraded_from', 'undefined'));
218
- $output .= $this->info("Upgraded from Free:", get_option('wpstg_version_upgraded_from', 'undefined'));
 
 
 
 
 
 
219
  $output .= $this->info("Is Staging Site:", (new SiteInfo())->isStagingSite() ? 'true' : 'false') . PHP_EOL . PHP_EOL;
220
 
221
 
@@ -330,7 +337,7 @@ class SystemInfo
330
 
331
  // WP Debug
332
  $output .= $this->info("WP_DEBUG:", (defined("WP_DEBUG")) ? WP_DEBUG ? "Enabled" : "Disabled" : "Not set");
333
- $output .= $this->info("Memory Limit:", WP_MEMORY_LIMIT);
334
  $output .= $this->info("Registered Post Stati:", implode(", ", \get_post_stati()));
335
 
336
  return apply_filters("wpstg_sysinfo_after_wpstg_config", $output);
@@ -449,7 +456,8 @@ class SystemInfo
449
  public function php()
450
  {
451
  $output = $this->header("PHP Configuration");
452
- $output .= $this->info("PHP Max Memory Limit:", ini_get("memory_limit"));
 
453
  $output .= $this->info("Max Execution Time:", ini_get("max_execution_time"));
454
  $output .= $this->info("Safe Mode:", ($this->isSafeModeEnabled() ? "Enabled" : "Disabled"));
455
  $output .= $this->info("Upload Max File Size:", ini_get("upload_max_filesize"));
2
 
3
  namespace WPStaging\Backend\Modules;
4
 
5
+ use WPStaging\Backend\Upgrade\Upgrade;
6
  use WPStaging\Core\Utils\Browser;
7
  use WPStaging\Core\WPStaging;
8
  use WPStaging\Core\Utils;
164
  // Get wpstg settings
165
  $settings = (object)get_option('wpstg_settings', []);
166
 
167
+ $output = "-- WP STAGING Settings" . PHP_EOL . PHP_EOL;
168
  $output .= $this->info("Query Limit:", isset($settings->queryLimit) ? $settings->queryLimit : 'undefined');
169
  $output .= $this->info("DB Search & Replace Limit:", isset($settings->querySRLimit) ? $settings->querySRLimit : 'undefined');
170
  $output .= $this->info("File Copy Limit:", isset($settings->fileLimit) ? $settings->fileLimit : 'undefined');
196
  $output .= $this->info("URL:", isset($clone['url']) ? $clone['url'] : 'undefined');
197
  $output .= $this->info("DB Prefix:", isset($clone['prefix']) ? $clone['prefix'] : 'undefined');
198
  $output .= $this->info("DB Prefix wp-config.php:", $this->getStagingPrefix($clone));
199
+ $output .= $this->info("WP STAGING Version:", isset($clone['version']) ? $clone['version'] : 'undefined');
200
  $output .= $this->info("WP Version:", $this->getStagingWpVersion($path)) . PHP_EOL . PHP_EOL;
201
  }
202
  }
211
  $output .= '' . PHP_EOL;
212
 
213
 
214
+ $output .= $this->info("Pro Version:", get_option('wpstgpro_version', 'undefined'));
215
+ $output .= $this->info("Pro License Key:", get_option('wpstg_license_key'));
216
+ // @see \WPStaging\Backend\Pro\Upgrade\Upgrade::OPTION_INSTALL_DATE
217
+ $output .= $this->info("Pro Install Date:", get_option('wpstgpro_install_date', 'undefined'));
218
+ // @see \WPStaging\Backend\Pro\Upgrade\Upgrade::OPTION_UPGRADE_DATE
219
+ $output .= $this->info("Pro Update Date:", get_option('wpstgpro_upgrade_date', 'undefined'));
220
+ $output .= $this->info("Free or Pro Install Date (deprecated):", get_option('wpstg_installDate', 'undefined'));
221
+ $output .= $this->info("Free Version:", get_option('wpstg_version', 'undefined'));
222
+ $output .= $this->info("Free Install Date:", get_option(Upgrade::OPTION_INSTALL_DATE, 'undefined'));
223
+ $output .= $this->info("Free Update Date:", get_option(Upgrade::OPTION_UPGRADE_DATE, 'undefined'));
224
+ $output .= $this->info("Updated from Pro Version:", get_option('wpstgpro_version_upgraded_from', 'undefined'));
225
+ $output .= $this->info("Updated from Free Version:", get_option('wpstg_version_upgraded_from', 'undefined'));
226
  $output .= $this->info("Is Staging Site:", (new SiteInfo())->isStagingSite() ? 'true' : 'false') . PHP_EOL . PHP_EOL;
227
 
228
 
337
 
338
  // WP Debug
339
  $output .= $this->info("WP_DEBUG:", (defined("WP_DEBUG")) ? WP_DEBUG ? "Enabled" : "Disabled" : "Not set");
340
+ $output .= $this->info("WP_MEMORY_LIMIT:", WP_MEMORY_LIMIT);
341
  $output .= $this->info("Registered Post Stati:", implode(", ", \get_post_stati()));
342
 
343
  return apply_filters("wpstg_sysinfo_after_wpstg_config", $output);
456
  public function php()
457
  {
458
  $output = $this->header("PHP Configuration");
459
+ $output .= $this->info("PHP Max Memory Limit value (memory_limit):", ini_get("memory_limit"));
460
+ $output .= $this->info("PHP Max Memory Limit in Bytes:", wp_convert_hr_to_bytes(ini_get("memory_limit")));
461
  $output .= $this->info("Max Execution Time:", ini_get("max_execution_time"));
462
  $output .= $this->info("Safe Mode:", ($this->isSafeModeEnabled() ? "Enabled" : "Disabled"));
463
  $output .= $this->info("Upload Max File Size:", ini_get("upload_max_filesize"));
Backend/Notices/OutdatedWpStagingNotice.php CHANGED
@@ -96,7 +96,7 @@ class OutdatedWpStagingNotice
96
 
97
  $plugins = $plugins->response;
98
 
99
- if (empty($plugins) || ($plugins instanceof Countable === false)) {
100
  return null;
101
  }
102
 
96
 
97
  $plugins = $plugins->response;
98
 
99
+ if (empty($plugins) || (!is_array($plugins) || (!is_array($plugins) && $plugins instanceof Countable === false))) {
100
  return null;
101
  }
102
 
Backend/Upgrade/Upgrade.php CHANGED
@@ -19,6 +19,9 @@ if( !defined( "WPINC" ) ) {
19
 
20
  class Upgrade
21
  {
 
 
 
22
 
23
  /**
24
  * Previous Version number
@@ -202,7 +205,7 @@ class Upgrade
202
  {
203
  // Previous version lower than 2.0.2
204
  if (version_compare($this->previousVersion, '2.0.2', '<')) {
205
- $this->upgradeOptions();
206
  $this->upgradeNotices();
207
  }
208
  }
@@ -231,10 +234,11 @@ class Upgrade
231
  /**
232
  * Upgrade routine for new install
233
  */
234
- private function upgradeOptions()
235
  {
236
  // Write some default vars
237
- add_option('wpstg_installDate', date('Y-m-d h:i:s'));
 
238
  $this->settings->optimizer = 1;
239
  update_option('wpstg_settings', $this->settings);
240
  }
@@ -251,6 +255,8 @@ class Upgrade
251
  update_option('wpstg_version', preg_replace('/[^0-9.].*/', '', WPStaging::getVersion()));
252
  // Update "upgraded from" version number
253
  update_option('wpstg_version_upgraded_from', preg_replace('/[^0-9.].*/', '', $this->previousVersion));
 
 
254
 
255
  return true;
256
  }
19
 
20
  class Upgrade
21
  {
22
+ const OPTION_UPGRADE_DATE = 'wpstg_free_upgrade_date';
23
+
24
+ const OPTION_INSTALL_DATE = 'wpstg_free_install_date';
25
 
26
  /**
27
  * Previous Version number
205
  {
206
  // Previous version lower than 2.0.2
207
  if (version_compare($this->previousVersion, '2.0.2', '<')) {
208
+ $this->initialInstall();
209
  $this->upgradeNotices();
210
  }
211
  }
234
  /**
235
  * Upgrade routine for new install
236
  */
237
+ private function initialInstall()
238
  {
239
  // Write some default vars
240
+ add_option('wpstg_installDate', date('Y-m-d h:i:s')); // Common install date for free or pro version - deprecated. Remove 2023
241
+ add_option(self::OPTION_INSTALL_DATE, date('Y-m-d h:i:s'));
242
  $this->settings->optimizer = 1;
243
  update_option('wpstg_settings', $this->settings);
244
  }
255
  update_option('wpstg_version', preg_replace('/[^0-9.].*/', '', WPStaging::getVersion()));
256
  // Update "upgraded from" version number
257
  update_option('wpstg_version_upgraded_from', preg_replace('/[^0-9.].*/', '', $this->previousVersion));
258
+ // Update the time version upgraded at
259
+ update_option(self::OPTION_UPGRADE_DATE, date('Y-m-d H:i'));
260
 
261
  return true;
262
  }
Backend/views/backup/free-version.php CHANGED
@@ -1,40 +1,37 @@
1
  <?php
2
 
3
- use WPStaging\Framework\Facades\Escape;
4
-
5
  /**
6
  * @see \WPStaging\Pro\Backup\Ajax\Listing::render
7
  */
8
 
 
 
9
  ?>
10
 
11
  <div id="wpstg-free-version-backups">
12
- <div class="wpstg-clone wpstg-dark-alert">
13
- <span id="wpstg-premium-header"><?php esc_html_e('Backup and Migration - Go Premium!', 'wp-staging'); ?></span>
14
- <ul>
15
- <li>Create scheduled full site backups</li>
16
- <li>Move site to another hosting provider</li>
17
- <li>Store backups on Google Drive, Amazon S3 and SFTP</li>
18
- <li>Heavily tested code base... and many more features</li>
19
- </ul>
20
- <a href="https://wp-staging.com/?utm_source=wp-admin&utm_medium=wp-admin&utm_campaign=backup-restore&utm_term=backup-restore" target="_blank" id="wpstg-button-backup-upgrade" class="wpstg-button--primary wpstg-button--cta-red wpstg-border--violet"><?php esc_html_e('Get Started', 'wp-staging'); ?></a>
21
- </div>
22
  </div>
23
  <div id="wpstg-did-you-know" style="margin-bottom:12px">
24
- <strong><?php echo sprintf(
25
- Escape::escapeHtml(__('Did you know? You can upload a WP STAGING backup to another server to move a website. <a href="%s" target="_blank">Read more</a>', 'wp-staging')),
26
- 'https://wp-staging.com/docs/how-to-migrate-your-wordpress-site-to-a-new-host/'
27
- ); ?></strong>
28
  </div>
29
 
30
  <div id="wpstg-step-1">
31
- <button id="wpstg-new-backup" class="wpstg-next-step-link wpstg-blue-primary wpstg-button" disabled title="Premium: Create blazingly fast site backups">
32
  <?php esc_html_e('Create New Backup', 'wp-staging') ?>
33
  </button>
34
- <button id="wpstg-upload-backup" class="wpstg-next-step-link wpstg-blue-primary wpstg-button wpstg-ml-4" disabled title="Premium: Upload a backup file or import from another site">
35
  <?php esc_html_e('Upload Backup', 'wp-staging') ?>
36
  </button>
37
- <button id="wpstg-manage-backup-schedules" class="wpstg-next-step-link wpstg-blue-primary wpstg-button wpstg-ml-4" disabled title="Premium: Create scheduled backups">
38
  <?php esc_html_e('Edit Backup Plans', 'wp-staging') ?>
39
  </button>
40
  </div>
1
  <?php
2
 
 
 
3
  /**
4
  * @see \WPStaging\Pro\Backup\Ajax\Listing::render
5
  */
6
 
7
+ use WPStaging\Framework\Facades\Escape;
8
+
9
  ?>
10
 
11
  <div id="wpstg-free-version-backups">
12
+ <div class="wpstg-clone wpstg-dark-alert">
13
+ <span id="wpstg-premium-header"><?php esc_html_e('Backup and Migration - Go Premium!', 'wp-staging'); ?></span>
14
+ <ul>
15
+ <li><?php esc_html_e('Create scheduled full site backups', 'wp-staging'); ?></php></li>
16
+ <li><?php esc_html_e('Move site to another hosting provider', 'wp-staging'); ?></php></li>
17
+ <li><?php esc_html_e('Store backups on Google Drive, Amazon S3 and SFTP', 'wp-staging'); ?></php></li>
18
+ <li><?php esc_html_e('Heavily tested code base... and many more features', 'wp-staging'); ?></php></li>
19
+ </ul>
20
+ <a href="https://wp-staging.com/?utm_source=wp-admin&utm_medium=wp-admin&utm_campaign=backup-restore&utm_term=backup-restore" target="_blank" id="wpstg-button-backup-upgrade" class="wpstg-button--primary wpstg-button--cta-red wpstg-border--violet"><?php esc_html_e('Get Started', 'wp-staging'); ?></a>
21
+ </div>
22
  </div>
23
  <div id="wpstg-did-you-know" style="margin-bottom:12px">
24
+ <strong><?php echo sprintf(Escape::escapeHtml(__('Did you know? You can upload a WP STAGING backup to another server to move a website. <a href="%s" target="_blank">Read more</a>', 'wp-staging')), 'https://wp-staging.com/docs/how-to-migrate-your-wordpress-site-to-a-new-host/'); ?></strong>
 
 
 
25
  </div>
26
 
27
  <div id="wpstg-step-1">
28
+ <button id="wpstg-new-backup" class="wpstg-next-step-link wpstg-blue-primary wpstg-button" disabled title="<?php esc_html_e('Premium: Create lightning-fast backups', 'wp-staging'); ?>">
29
  <?php esc_html_e('Create New Backup', 'wp-staging') ?>
30
  </button>
31
+ <button id="wpstg-upload-backup" class="wpstg-next-step-link wpstg-blue-primary wpstg-button wpstg-ml-4" disabled title="<?php esc_html_e('Premium: Upload a backup to restore or move a site', 'wp-staging'); ?>">
32
  <?php esc_html_e('Upload Backup', 'wp-staging') ?>
33
  </button>
34
+ <button id="wpstg-manage-backup-schedules" class="wpstg-next-step-link wpstg-blue-primary wpstg-button wpstg-ml-4" disabled title="<?php esc_html_e('Premium: Create scheduled backups', 'wp-staging'); ?>">
35
  <?php esc_html_e('Edit Backup Plans', 'wp-staging') ?>
36
  </button>
37
  </div>
Backend/views/backup/modal/export.php CHANGED
@@ -155,7 +155,7 @@ $recurrenceTimes = $time->range('midnight', 'tomorrow - 1 minutes', $recurInterv
155
  <div class="wpstg-backup-scheduling-options wpstg-container">
156
 
157
  <label class="wpstg-storage-option">
158
- <input type="checkbox" name="storages" id="storage-localStorage" value="localStorage" checked disabled>
159
  <span><?php esc_html_e('Local Storage', 'wp-staging'); ?></span>
160
  </label>
161
 
155
  <div class="wpstg-backup-scheduling-options wpstg-container">
156
 
157
  <label class="wpstg-storage-option">
158
+ <input type="checkbox" name="storages" id="storage-localStorage" value="localStorage" checked />
159
  <span><?php esc_html_e('Local Storage', 'wp-staging'); ?></span>
160
  </label>
161
 
Backend/views/clone/ajax/exclude-settings.php CHANGED
@@ -19,6 +19,7 @@
19
  <a href="#" class="wpstg-tab-header wpstg-reset-exclude-tab" data-id="#wpstg-reset-excluded-tables" data-collapsed="true">
20
  <span class="wpstg-tab-triangle"></span>
21
  <?php esc_html_e("Selected Tables", "wp-staging") ?>
 
22
  </a>
23
 
24
  <fieldset class="wpstg-tab-section" id="wpstg-reset-excluded-tables">
@@ -28,6 +29,7 @@
28
  <a href="#" class="wpstg-tab-header wpstg-reset-exclude-tab" data-id="#wpstg-reset-excluded-files" data-collapsed="true">
29
  <span class="wpstg-tab-triangle"></span>
30
  <?php esc_html_e("Selected Files", "wp-staging") ?>
 
31
  </a>
32
 
33
  <fieldset class="wpstg-tab-section" id="wpstg-reset-excluded-files">
19
  <a href="#" class="wpstg-tab-header wpstg-reset-exclude-tab" data-id="#wpstg-reset-excluded-tables" data-collapsed="true">
20
  <span class="wpstg-tab-triangle"></span>
21
  <?php esc_html_e("Selected Tables", "wp-staging") ?>
22
+ <span id="wpstg-tables-count" class="wpstg-selection-preview"></span>
23
  </a>
24
 
25
  <fieldset class="wpstg-tab-section" id="wpstg-reset-excluded-tables">
29
  <a href="#" class="wpstg-tab-header wpstg-reset-exclude-tab" data-id="#wpstg-reset-excluded-files" data-collapsed="true">
30
  <span class="wpstg-tab-triangle"></span>
31
  <?php esc_html_e("Selected Files", "wp-staging") ?>
32
+ <span id="wpstg-files-count" class="wpstg-selection-preview"></span>
33
  </a>
34
 
35
  <fieldset class="wpstg-tab-section" id="wpstg-reset-excluded-files">
Backend/views/clone/ajax/external-database.php CHANGED
@@ -37,7 +37,7 @@ if ($isPro && !empty($options->current) && $options->current !== null) {
37
  <p class="wpstg--advance-settings--checkbox">
38
 
39
  <?php if (!$isPro) { // Show this on only FREE version ?>
40
- <p class="wpstg-dark-alert"><?php esc_html_e('These are Pro Features ', 'wp-staging'); ?>
41
  <a href="https://wp-staging.com/?utm_source=wp-admin&utm_medium=wp-admin&utm_campaign=db-external&utm_term=db-external" target="_blank" class="wpstg-button--primary wpstg-button--cta-red wpstg-border--violet"><?php esc_html_e("Get Started", "wp-staging"); ?></a>
42
  </p>
43
  <?php } ?>
37
  <p class="wpstg--advance-settings--checkbox">
38
 
39
  <?php if (!$isPro) { // Show this on only FREE version ?>
40
+ <p class="wpstg-dark-alert"><?php esc_html_e('These are premium features ', 'wp-staging'); ?>
41
  <a href="https://wp-staging.com/?utm_source=wp-admin&utm_medium=wp-admin&utm_campaign=db-external&utm_term=db-external" target="_blank" class="wpstg-button--primary wpstg-button--cta-red wpstg-border--violet"><?php esc_html_e("Get Started", "wp-staging"); ?></a>
42
  </p>
43
  <?php } ?>
Backend/views/clone/ajax/mail-setting.php CHANGED
@@ -49,8 +49,8 @@ if ($isPro && !empty($options->current)) {
49
  </span>
50
  </p>
51
 
52
- <?php if (!$isPro) { // Show this on only FREE version ?>
53
- <p class="wpstg-dark-alert"><?php esc_html_e('These are Pro Features ', 'wp-staging'); ?>
54
  <a href="https://wp-staging.com/?utm_source=wp-admin&utm_medium=wp-admin&utm_campaign=db-external&utm_term=db-external" target="_blank" class="wpstg-button--primary wpstg-button--cta-red wpstg-border--violet"><?php esc_html_e("Get Started", "wp-staging"); ?></a>
55
  </p>
56
  <?php } ?>
49
  </span>
50
  </p>
51
 
52
+ <?php if (!$isPro) { // Show this only in FREE version ?>
53
+ <p class="wpstg-dark-alert"><?php esc_html_e('These are premium features ', 'wp-staging'); ?>
54
  <a href="https://wp-staging.com/?utm_source=wp-admin&utm_medium=wp-admin&utm_campaign=db-external&utm_term=db-external" target="_blank" class="wpstg-button--primary wpstg-button--cta-red wpstg-border--violet"><?php esc_html_e("Get Started", "wp-staging"); ?></a>
55
  </p>
56
  <?php } ?>
Backend/views/clone/ajax/scan.php CHANGED
@@ -51,6 +51,7 @@ $isPro = defined('WPSTGPRO_VERSION');
51
  <a href="#" class="wpstg-tab-header active" data-id="#wpstg-scanning-db">
52
  <span class="wpstg-tab-triangle"></span>
53
  <?php echo esc_html__("Database Tables", "wp-staging") ?>
 
54
  </a>
55
 
56
  <fieldset class="wpstg-tab-section" id="wpstg-scanning-db">
@@ -60,6 +61,7 @@ $isPro = defined('WPSTGPRO_VERSION');
60
  <a href="#" class="wpstg-tab-header" data-id="#wpstg-scanning-files">
61
  <span class="wpstg-tab-triangle"></span>
62
  <?php echo esc_html__("Files", "wp-staging") ?>
 
63
  </a>
64
 
65
  <fieldset class="wpstg-tab-section" id="wpstg-scanning-files">
51
  <a href="#" class="wpstg-tab-header active" data-id="#wpstg-scanning-db">
52
  <span class="wpstg-tab-triangle"></span>
53
  <?php echo esc_html__("Database Tables", "wp-staging") ?>
54
+ <span id="wpstg-tables-count" class="wpstg-selection-preview"></span>
55
  </a>
56
 
57
  <fieldset class="wpstg-tab-section" id="wpstg-scanning-db">
61
  <a href="#" class="wpstg-tab-header" data-id="#wpstg-scanning-files">
62
  <span class="wpstg-tab-triangle"></span>
63
  <?php echo esc_html__("Files", "wp-staging") ?>
64
+ <span id="wpstg-files-count" class="wpstg-selection-preview"></span>
65
  </a>
66
 
67
  <fieldset class="wpstg-tab-section" id="wpstg-scanning-files">
Backend/views/clone/ajax/start.php CHANGED
@@ -60,34 +60,31 @@ use WPStaging\Framework\Facades\Escape;
60
  </a>
61
  <div id="wpstg-success-notice">
62
  <h3>
63
- <?php esc_html_e("Please read this first:", "wp-staging")?>
64
  </h3>
65
  <ul>
66
  <li>
67
- <strong><?php echo sprintf(esc_html__('1. Post name permalinks on your %s have been disabled for technical reasons. ', 'wp-staging'), '<span class="wpstg-font-italic">' . esc_html__('staging site', 'wp-staging') . '</span>') ?></strong>
68
  <br>
69
- <?php esc_html_e('Usually this will not affect your staging website. In 99% of all cases you do not need to activate permalinks.', 'wp-staging') ?>
70
  <br>
71
  <p>
72
- <?php esc_html_e('If Apache is the webserver there is a good chance that permalinks can be activated without further modifications. Try to activate them from', 'wp-staging') ?> <br/>
73
  <br>
74
  <strong>Staging Site > wp-admin > Settings > Permalinks</strong></a>
75
  <br/><br/>
76
- <?php esc_html_e('If this does not work or Nginx webserver is used there might be some modifications needed in the files .htaccess (Apache) or *.conf (Nginx).', 'wp-staging') ?>
77
- </p>
78
- <p>
79
  <strong><?php echo sprintf(
80
- Escape::escapeHtml(__('<a href="%s" target="_blank">Read this tutorial</a> to learn how to enable permalinks on the staging site.', 'wp-staging')),
81
  'https://wp-staging.com/docs/activate-permalinks-staging-site/?utm_source=wpstg_admin&utm_medium=finish_screen&utm_campaign=tutorial'
82
  ) ?></strong>
83
  </p>
84
  </li>
85
  <li>
86
- <strong><?php esc_html_e('2. Verify that you are REALLY working on your staging site and NOT on your production site if you are not 100% sure!', 'wp-staging') ?> </strong>
87
  <br>
88
- <?php esc_html_e('Your main and your staging site are both reachable under the same domain so <br> this can be confusing.', 'wp-staging') ?>
89
  <p>
90
- <?php esc_html_e('To make it more clear when you work on the staging site WP Staging changed the color of the admin bar:', 'wp-staging') ?>
91
  <br><br>
92
  <img src="<?php echo esc_url($this->assets->getAssetsUrl("img/admin_dashboard.png")) ?>">
93
  <br>
60
  </a>
61
  <div id="wpstg-success-notice">
62
  <h3>
63
+ <?php esc_html_e("Please Read This First:", "wp-staging")?>
64
  </h3>
65
  <ul>
66
  <li>
67
+ <strong><?php echo sprintf(esc_html__('1. Post name permalinks on the %s have been disabled for technical reasons. ', 'wp-staging'), '<span class="wpstg-font-italic">' . esc_html__('staging site', 'wp-staging') . '</span>') ?></strong>
68
  <br>
69
+ <?php esc_html_e('Usually this will not affect the staging website and you do not need to activate permalinks.', 'wp-staging') ?>
70
  <br>
71
  <p>
72
+ <?php esc_html_e('If you still want to activate them and the webserver is Apache there is a good chance that permalinks can be activated without further modifications. Try to activate them on', 'wp-staging') ?> <br/>
73
  <br>
74
  <strong>Staging Site > wp-admin > Settings > Permalinks</strong></a>
75
  <br/><br/>
76
+ <?php esc_html_e('If this does not work or another web server like Nginx is used, a few simple changes in the .htaccess (Apache) or *.conf (Nginx) configuration files may be required.', 'wp-staging') ?>
 
 
77
  <strong><?php echo sprintf(
78
+ Escape::escapeHtml(__('<a href="%s" target="_blank">Open this tutorial</a> to read more about this.', 'wp-staging')),
79
  'https://wp-staging.com/docs/activate-permalinks-staging-site/?utm_source=wpstg_admin&utm_medium=finish_screen&utm_campaign=tutorial'
80
  ) ?></strong>
81
  </p>
82
  </li>
83
  <li>
84
+ <strong><?php esc_html_e('2. Always make sure that you are REALLY working on your staging site and NOT on your production site!', 'wp-staging') ?> </strong>
85
  <br>
 
86
  <p>
87
+ <?php esc_html_e('For better distinction WP STAGING has changed the background color of the admin bar on the staging site:', 'wp-staging') ?>
88
  <br><br>
89
  <img src="<?php echo esc_url($this->assets->getAssetsUrl("img/admin_dashboard.png")) ?>">
90
  <br>
Backend/views/notices/rating.php CHANGED
@@ -6,25 +6,12 @@
6
  ?>
7
  <div class="wpstg_fivestar" style="display:none;box-shadow: 0 1px 1px 0 rgba(0,0,0,.1); border-left:none; background-color:#0a8ee2; color:white; padding: 10px; margin:20px 20px 20px 0px;">
8
  <div class="wpstg-welcome-box" style="display: flex; width: 100%; align-items: center;">
9
- <div class="wpstg-welcome-video-container" style="width: 375px; height: 210px;display:none;">
10
- <div style="width: 100%; height: 100%; display: flex; background: #000; position: relative; align-items: center; justify-content: center; z-index: 0;">
11
- <div class="wpstg-yt-thumbnail-container" style="display: flex; width: 100%; height: 100%; z-index: 100; cursor: pointer; justify-content: center; align-items: center;" id="welcomeNoticeFree">
12
- <img style="width: 100%; object-fit: fill; z-index: 0; cursor: pointer;" alt="WP STAGING Welcome Video Thumbnail" src="<?php echo esc_url(plugins_url('/assets/img/thumbnail.jpg', dirname(dirname(__DIR__)))) ?>" />
13
- <button style="cursor: pointer; position: absolute; width: 68px; height: 48px; background: transparent; border: 0px solid transparent; -moz-transition: opacity .25s cubic-bezier(0.0,0.0,0.2,1); -webkit-transition: opacity .25s cubic-bezier(0.0,0.0,0.2,1); transition: opacity .25s cubic-bezier(0.0,0.0,0.2,1); z-index: 63;">
14
- <svg height="100%" version="1.1" viewBox="0 0 68 48" width="100%"><path class="wpstg-yt-button-svg" style="-moz-transition: fill .1s cubic-bezier(0.4,0.0,1,1),fill-opacity .1s cubic-bezier(0.4,0.0,1,1); -webkit-transition: fill .1s cubic-bezier(0.4,0.0,1,1),fill-opacity .1s cubic-bezier(0.4,0.0,1,1); transition: fill .1s cubic-bezier(0.4,0.0,1,1),fill-opacity .1s cubic-bezier(0.4,0.0,1,1); fill: #212121; fill-opacity: .8; height: 100%; left: 0; position: absolute; top: 0; width: 100%;" d="M66.52,7.74c-0.78-2.93-2.49-5.41-5.42-6.19C55.79,.13,34,0,34,0S12.21,.13,6.9,1.55 C3.97,2.33,2.27,4.81,1.48,7.74C0.06,13.05,0,24,0,24s0.06,10.95,1.48,16.26c0.78,2.93,2.49,5.41,5.42,6.19 C12.21,47.87,34,48,34,48s21.79-0.13,27.1-1.55c2.93-0.78,4.64-3.26,5.42-6.19C67.94,34.95,68,24,68,24S67.94,13.05,66.52,7.74z" fill="#f00"></path><path d="M 45,24 27,14 27,34" fill="#fff"></path></svg>
15
- </button>
16
- </div>
17
- <div style="position: absolute; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center;">
18
- <img style="width: 90px; height: 90px; z-index: 10;" width="90px" src="<?php echo esc_url(plugins_url('/assets/img/tail-spin.svg', dirname(dirname(__DIR__)))) ?>">
19
- </div>
20
- </div>
21
- </div>
22
  <div class="wpstg-welcome-text" style="padding: 0px; padding-left: 20px; padding-right: 8px;">
23
  <p><?php echo sprintf(esc_html__('You are using %s for more than 1 week.
24
  May we ask you to give it a %s rating on wordpress.org?', 'wp-staging'), "<strong>WP STAGING</strong>", "<strong>5-star</strong>"); ?>
25
  <?php if (!defined('WPSTGPRO_VERSION')) { ?>
26
  <br><br>
27
- <?php esc_html_e('P.S. Do you like to migrate this staging site to production site?
28
  Try out', 'wp-staging') ?> <a href="https://wp-staging.com/?utm_source=wpstg_admin&utm_medium=rating_screen&utm_campaign=admin_notice" target="_blank" style="color:white;font-weight:bold;">WP STAGING | PRO</a>
29
  <br>
30
  <?php } ?>
6
  ?>
7
  <div class="wpstg_fivestar" style="display:none;box-shadow: 0 1px 1px 0 rgba(0,0,0,.1); border-left:none; background-color:#0a8ee2; color:white; padding: 10px; margin:20px 20px 20px 0px;">
8
  <div class="wpstg-welcome-box" style="display: flex; width: 100%; align-items: center;">
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  <div class="wpstg-welcome-text" style="padding: 0px; padding-left: 20px; padding-right: 8px;">
10
  <p><?php echo sprintf(esc_html__('You are using %s for more than 1 week.
11
  May we ask you to give it a %s rating on wordpress.org?', 'wp-staging'), "<strong>WP STAGING</strong>", "<strong>5-star</strong>"); ?>
12
  <?php if (!defined('WPSTGPRO_VERSION')) { ?>
13
  <br><br>
14
+ <?php esc_html_e('Btw, would you like to migrate this staging site to the live site or try the extremely fast backup feature of WP STAGING?
15
  Try out', 'wp-staging') ?> <a href="https://wp-staging.com/?utm_source=wpstg_admin&utm_medium=rating_screen&utm_campaign=admin_notice" target="_blank" style="color:white;font-weight:bold;">WP STAGING | PRO</a>
16
  <br>
17
  <?php } ?>
Backend/views/notices/wp-options-missing-pk.php CHANGED
@@ -6,7 +6,7 @@
6
  ?>
7
  <div class="notice notice-error">
8
  <p>
9
- <strong><?php echo sprintf(esc_html__('WP STAGING - The table %s has no primary key index.', 'wp-staging'), esc_html($optionTable))?></strong>
10
  <br>
11
  <?php esc_html_e('This is a serious issue and needs to be fixed as soon as possible. The longer you wait, the harder it gets to repair it and can make your site inaccessible at worst. We recommend fixing it right now! This error has either been caused by a person with access to the database or by another plugin. You should not do any changes to your site until this is fixed.', 'wp-staging') ?>
12
  </p>
6
  ?>
7
  <div class="notice notice-error">
8
  <p>
9
+ <strong><?php echo sprintf(esc_html__('WP STAGING - The table %s has no primary key index or missing autoincrement flag.', 'wp-staging'), esc_html($optionTable))?></strong>
10
  <br>
11
  <?php esc_html_e('This is a serious issue and needs to be fixed as soon as possible. The longer you wait, the harder it gets to repair it and can make your site inaccessible at worst. We recommend fixing it right now! This error has either been caused by a person with access to the database or by another plugin. You should not do any changes to your site until this is fixed.', 'wp-staging') ?>
12
  </p>
Backend/views/selections/files.php CHANGED
@@ -12,7 +12,11 @@ use WPStaging\Framework\Facades\Escape;
12
  <p>
13
  <strong><?php esc_html_e("Select Folders to Copy", "wp-staging") ?></strong>
14
  <br>
15
- <?php esc_html_e("Click on a folder name to expand it.", "wp-staging") ?>
 
 
 
 
16
  </p>
17
  <div id="wpstg-directories-listing" data-existing-excludes="<?php echo (($options->mainJob === 'updating' || $options->mainJob === 'resetting') && isset($options->currentClone['excludedDirectories'])) ? esc_html(implode(',', $options->currentClone['excludedDirectories'])) : '' ?>">
18
  <div class="wpstg-mb-8px">
12
  <p>
13
  <strong><?php esc_html_e("Select Folders to Copy", "wp-staging") ?></strong>
14
  <br>
15
+ <?php esc_html_e("Click on a folder name to expand it.", "wp-staging") ?> <br/> <br/>
16
+ <b class="wpstg--red"><?php esc_html_e("Note: ", "wp-staging") ?></b>
17
+ <?php esc_html_e("Your folder selection is automatically saved", "wp-staging") ?>
18
+ <br/>
19
+ <?php esc_html_e("and used as the default selection for the next update.", "wp-staging") ?>
20
  </p>
21
  <div id="wpstg-directories-listing" data-existing-excludes="<?php echo (($options->mainJob === 'updating' || $options->mainJob === 'resetting') && isset($options->currentClone['excludedDirectories'])) ? esc_html(implode(',', $options->currentClone['excludedDirectories'])) : '' ?>">
22
  <div class="wpstg-mb-8px">
Backend/views/settings/tabs/storages/amazons3-settings.php CHANGED
@@ -12,13 +12,16 @@ use WPStaging\Framework\Facades\Sanitize;
12
  <?php
13
  /** @var \WPStaging\Pro\Backup\Storage\Storages\Amazon\S3 */
14
  $amazonS3Storage = \WPStaging\Core\WPStaging::make(\WPStaging\Pro\Backup\Storage\Storages\Amazon\S3::class);
 
15
  $isStorageAuthenticated = $amazonS3Storage->isAuthenticated();
16
  $options = $amazonS3Storage->getOptions();
17
- $accessKey = empty($options['accessKey']) ? '' : Sanitize::sanitizeString($options['accessKey']);
18
- $secretKey = empty($options['secretKey']) ? '' : Sanitize::sanitizeString($options['secretKey']);
19
  $region = empty($options['region']) ? '' : Sanitize::sanitizeString($options['region']);
20
  $maxBackupsToKeep = empty($options['maxBackupsToKeep']) ? 2 : Sanitize::sanitizeInt($options['maxBackupsToKeep']);
 
21
  $location = empty($options['location']) ? '' : Sanitize::sanitizeString($options['location']);
 
22
  ?>
23
  <p>
24
  <strong class="wpstg-fs-14"><?php esc_html_e('Amazon S3', 'wp-staging'); ?></strong>
@@ -41,7 +44,7 @@ use WPStaging\Framework\Facades\Sanitize;
41
 
42
  <p>
43
  <?php echo sprintf(
44
- Escape::escapeHtml(__('<a href="%s" target="_blank">How to create Amazon API keys and S3 bucket</a>.', 'wp-staging')),
45
  'https://wp-staging.com/docs/how-to-backup-website-to-amazon-s3-bucket/'
46
  ); ?>
47
  </p>
@@ -53,12 +56,27 @@ use WPStaging\Framework\Facades\Sanitize;
53
 
54
  <fieldset class="wpstg-fieldset">
55
  <label><?php esc_html_e('Secret Key', 'wp-staging') ?></label>
56
- <input class="wpstg-form-control" type="text" name="secret_key" value="<?php echo esc_attr($secretKey); ?>" />
57
  </fieldset>
58
 
59
  <fieldset class="wpstg-fieldset">
60
  <label><?php esc_html_e('Region', 'wp-staging') ?></label>
61
- <input class="wpstg-form-control" type="text" name="region" value="<?php echo esc_attr($region); ?>" />
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
62
  </fieldset>
63
  </div>
64
  <button type="button" id="wpstg-btn-provider-test-connection" class="wpstg-link-btn wpstg-blue-primary"><?php esc_html_e("Test Connection", "wp-staging") ?></button>
@@ -67,20 +85,12 @@ use WPStaging\Framework\Facades\Sanitize;
67
  <strong><?php esc_html_e('Upload Settings', 'wp-staging') ?></strong>
68
  <fieldset class="wpstg-fieldset">
69
  <label><?php esc_html_e('Max Backups to Keep', 'wp-staging') ?></label>
70
- <input class="wpstg-form-control" type="number" name="max_backups_to_keep" value="<?php echo esc_attr($maxBackupsToKeep); ?>" style="max-width: 60px" />
71
- <p><?php esc_html_e("Leave empty or zero for no limit", 'wp-staging') ?></p>
72
  </fieldset>
73
 
74
- <fieldset class="wpstg-fieldset">
75
- <label><?php esc_html_e('Amazon S3 Bucket Location', 'wp-staging') ?></label>
76
- <span>s3:</span><input class="wpstg-form-control" type="text" name="location" value="<?php echo esc_attr($location); ?>" />
77
- <p>
78
- <?php echo sprintf(
79
- esc_html__("Create the bucket beforhand in your Amazon S3 account and add it here! %s To add a subdirectory you can write <code>s3:[bucket-name]/[directory-name]</code>. <br>The directory will be created by WP STAGING automatically during backup upload. ", 'wp-staging'),
80
- '<br>'
81
- ); ?>
82
- </p>
83
- </fieldset>
84
 
85
  <hr/>
86
 
12
  <?php
13
  /** @var \WPStaging\Pro\Backup\Storage\Storages\Amazon\S3 */
14
  $amazonS3Storage = \WPStaging\Core\WPStaging::make(\WPStaging\Pro\Backup\Storage\Storages\Amazon\S3::class);
15
+ $regions = $amazonS3Storage->getRegions();
16
  $isStorageAuthenticated = $amazonS3Storage->isAuthenticated();
17
  $options = $amazonS3Storage->getOptions();
18
+ $accessKey = empty($options['accessKey']) ? '' : Sanitize::sanitizePassword($options['accessKey']);
19
+ $secretKey = empty($options['secretKey']) ? '' : Sanitize::sanitizePassword($options['secretKey']);
20
  $region = empty($options['region']) ? '' : Sanitize::sanitizeString($options['region']);
21
  $maxBackupsToKeep = empty($options['maxBackupsToKeep']) ? 2 : Sanitize::sanitizeInt($options['maxBackupsToKeep']);
22
+ $maxBackupsToKeep = $maxBackupsToKeep > 0 ? $maxBackupsToKeep : 15;
23
  $location = empty($options['location']) ? '' : Sanitize::sanitizeString($options['location']);
24
+ $lastUpdated = empty($options['lastUpdated']) ? 0 : Sanitize::sanitizeInt($options['lastUpdated']);
25
  ?>
26
  <p>
27
  <strong class="wpstg-fs-14"><?php esc_html_e('Amazon S3', 'wp-staging'); ?></strong>
44
 
45
  <p>
46
  <?php echo sprintf(
47
+ Escape::escapeHtml(__('<a href="%s" target="_blank">How to create Amazon API keys and a S3 bucket</a>.', 'wp-staging')),
48
  'https://wp-staging.com/docs/how-to-backup-website-to-amazon-s3-bucket/'
49
  ); ?>
50
  </p>
56
 
57
  <fieldset class="wpstg-fieldset">
58
  <label><?php esc_html_e('Secret Key', 'wp-staging') ?></label>
59
+ <input class="wpstg-form-control" type="text" name="secret_key" value="<?php echo esc_attr($secretKey); ?>" style="min-width:300px;" />
60
  </fieldset>
61
 
62
  <fieldset class="wpstg-fieldset">
63
  <label><?php esc_html_e('Region', 'wp-staging') ?></label>
64
+ <select class="wpstg-form-select" name="region" style="min-width:300px;">
65
+ <?php foreach ($regions as $regionKey => $regionName) : ?>
66
+ <option value="<?php echo esc_attr($regionKey); ?>" <?php echo ($regionKey === $region) ? 'selected' : '' ; ?>><?php echo esc_html($regionName) . ' ' . esc_html($regionKey); ?></option>
67
+ <?php endforeach; ?>
68
+ </select>
69
+ </fieldset>
70
+
71
+ <fieldset class="wpstg-fieldset">
72
+ <label><?php esc_html_e('Bucket Name', 'wp-staging') ?></label>
73
+ <span>s3:</span><input class="wpstg-form-control" type="text" name="location" value="<?php echo esc_attr($location); ?>" />
74
+ <p>
75
+ <?php echo sprintf(
76
+ Escape::escapeHtml(__("Create the bucket beforhand in your Amazon S3 account and add it here! %s To add a subdirectory you can write <code>s3:[bucket-name]/[directory-name]</code>. <br>The directory will be created by WP STAGING automatically during backup upload. ", 'wp-staging')),
77
+ '<br>'
78
+ ); ?>
79
+ </p>
80
  </fieldset>
81
  </div>
82
  <button type="button" id="wpstg-btn-provider-test-connection" class="wpstg-link-btn wpstg-blue-primary"><?php esc_html_e("Test Connection", "wp-staging") ?></button>
85
  <strong><?php esc_html_e('Upload Settings', 'wp-staging') ?></strong>
86
  <fieldset class="wpstg-fieldset">
87
  <label><?php esc_html_e('Max Backups to Keep', 'wp-staging') ?></label>
88
+ <input class="wpstg-form-control" type="number" name="max_backups_to_keep" value="<?php echo esc_attr($maxBackupsToKeep); ?>" min="1" style="max-width: 60px" />
 
89
  </fieldset>
90
 
91
+ <?php
92
+ require_once "{$this->path}views/settings/tabs/storages/last-saved-notice.php";
93
+ ?>
 
 
 
 
 
 
 
94
 
95
  <hr/>
96
 
Backend/views/settings/tabs/storages/googledrive-settings.php CHANGED
@@ -16,7 +16,9 @@ use WPStaging\Framework\Facades\Sanitize;
16
  $options = $googleDriveStorage->getOptions();
17
 
18
  $maxBackupsToKeep = isset($options['maxBackupsToKeep']) ? Sanitize::sanitizeInt($options['maxBackupsToKeep']) : 2;
 
19
  $folderName = isset($options['folderName']) ? Sanitize::sanitizeString($options['folderName']) : \WPStaging\Pro\Backup\Storage\Storages\GoogleDrive\Auth::FOLDER_NAME;
 
20
 
21
  $googleClientId = isset($options['googleClientId']) ? Sanitize::sanitizeString($options['googleClientId']) : '';
22
  $googleClientSecret = isset($options['googleClientSecret']) ? Sanitize::sanitizeString($options['googleClientSecret']) : '';
@@ -106,8 +108,7 @@ use WPStaging\Framework\Facades\Sanitize;
106
  <strong><?php esc_html_e('Upload Settings', 'wp-staging') ?></strong>
107
  <fieldset class="wpstg-fieldset">
108
  <label><?php esc_html_e('Max Backups to Keep', 'wp-staging') ?></label>
109
- <input class="wpstg-form-control" type="number" name="max_backups_to_keep" value="<?php echo esc_attr($maxBackupsToKeep); ?>" style="max-width: 60px" />
110
- <p><?php esc_html_e("Leave empty or zero for no limit", 'wp-staging') ?></p>
111
  </fieldset>
112
 
113
  <fieldset class="wpstg-fieldset">
@@ -115,6 +116,10 @@ use WPStaging\Framework\Facades\Sanitize;
115
  <input class="wpstg-form-control" type="text" name="folder_name" value="<?php echo esc_attr($folderName); ?>" />
116
  </fieldset>
117
 
 
 
 
 
118
  <hr/>
119
 
120
  <button type="button" id="wpstg-btn-save-provider-settings" class="wpstg-link-btn wpstg-blue-primary"><?php esc_html_e("Save Settings", "wp-staging") ?></button>
16
  $options = $googleDriveStorage->getOptions();
17
 
18
  $maxBackupsToKeep = isset($options['maxBackupsToKeep']) ? Sanitize::sanitizeInt($options['maxBackupsToKeep']) : 2;
19
+ $maxBackupsToKeep = $maxBackupsToKeep > 0 ? $maxBackupsToKeep : 15;
20
  $folderName = isset($options['folderName']) ? Sanitize::sanitizeString($options['folderName']) : \WPStaging\Pro\Backup\Storage\Storages\GoogleDrive\Auth::FOLDER_NAME;
21
+ $lastUpdated = empty($options['lastUpdated']) ? 0 : Sanitize::sanitizeInt($options['lastUpdated']);
22
 
23
  $googleClientId = isset($options['googleClientId']) ? Sanitize::sanitizeString($options['googleClientId']) : '';
24
  $googleClientSecret = isset($options['googleClientSecret']) ? Sanitize::sanitizeString($options['googleClientSecret']) : '';
108
  <strong><?php esc_html_e('Upload Settings', 'wp-staging') ?></strong>
109
  <fieldset class="wpstg-fieldset">
110
  <label><?php esc_html_e('Max Backups to Keep', 'wp-staging') ?></label>
111
+ <input class="wpstg-form-control" type="number" name="max_backups_to_keep" value="<?php echo esc_attr($maxBackupsToKeep); ?>" min="1" style="max-width: 60px" />
 
112
  </fieldset>
113
 
114
  <fieldset class="wpstg-fieldset">
116
  <input class="wpstg-form-control" type="text" name="folder_name" value="<?php echo esc_attr($folderName); ?>" />
117
  </fieldset>
118
 
119
+ <?php
120
+ require_once "{$this->path}views/settings/tabs/storages/last-saved-notice.php";
121
+ ?>
122
+
123
  <hr/>
124
 
125
  <button type="button" id="wpstg-btn-save-provider-settings" class="wpstg-link-btn wpstg-blue-primary"><?php esc_html_e("Save Settings", "wp-staging") ?></button>
Backend/views/settings/tabs/storages/last-saved-notice.php ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * @var object $options
5
+ *
6
+ * @see /Backend/views/settings/tabs/storages/amazons3-settings.php
7
+ * @see /Backend/views/settings/tabs/storages/googledrive-settings.php
8
+ * @see /Backend/views/settings/tabs/storages/sftp-settings.php
9
+ *
10
+ */
11
+
12
+ use WPStaging\Framework\Adapter\DateTimeAdapter;
13
+ use WPStaging\Framework\Facades\Sanitize;
14
+ use WPStaging\Core;
15
+
16
+ $lastUpdated = empty($options['lastUpdated']) ? 0 : Sanitize::sanitizeInt($options['lastUpdated']);
17
+ $date = new DateTime();
18
+ $date->setTimestamp($lastUpdated);
19
+
20
+ $dateTimeAdapter = Core\WPStaging::make(DateTimeAdapter::class);
21
+
22
+ ?>
23
+
24
+ <fieldset class="wpstg-fieldset">
25
+ <label>
26
+ <?php esc_html_e('Last Saved Settings: ', 'wp-staging') ?>
27
+ <?php if ($lastUpdated !== 0) { ?>
28
+ <span class="wpstg-badge wpstg-badge-info"> <?php echo esc_html($dateTimeAdapter->transformToWpFormat($date)); ?> </span>
29
+ <?php } else { ?>
30
+ <span class="wpstg-badge wpstg-badge-warning"> <?php esc_html_e('Not saved yet!', 'wp-staging') ?> </span>
31
+ <?php } ?>
32
+ </label>
33
+ </fieldset>
Backend/views/settings/tabs/storages/sftp-settings.php CHANGED
@@ -1,5 +1,7 @@
1
  <?php
2
 
 
 
3
  /**
4
  * @var string $providerId
5
  */
@@ -22,7 +24,9 @@ use WPStaging\Framework\Facades\Sanitize;
22
  $privateKey = !empty($options['key']) ? Sanitize::sanitizeString($options['key']) : '';
23
  $passphrase = !empty($options['passphrase']) ? Sanitize::sanitizePassword($options['passphrase']) : '';
24
  $maxBackupsToKeep = isset($options['maxBackupsToKeep']) ? Sanitize::sanitizeInt($options['maxBackupsToKeep']) : 2;
 
25
  $location = isset($options['location']) ? Sanitize::sanitizeString($options['location']) : '';
 
26
  ?>
27
  <p>
28
  <strong class="wpstg-fs-14"> <?php esc_html_e('FTP/SFTP', 'wp-staging'); ?></strong>
@@ -91,8 +95,7 @@ use WPStaging\Framework\Facades\Sanitize;
91
  <strong><?php esc_html_e('Upload Settings', 'wp-staging') ?></strong>
92
  <fieldset class="wpstg-fieldset">
93
  <label><?php esc_html_e('Max Backups to Keep', 'wp-staging') ?></label>
94
- <input class="wpstg-form-control" type="number" name="max_backups_to_keep" value="<?php echo esc_attr($maxBackupsToKeep); ?>" style="max-width: 60px" />
95
- <p><?php esc_html_e("Leave empty or zero for no limit", 'wp-staging') ?></p>
96
  </fieldset>
97
 
98
  <fieldset class="wpstg-fieldset">
@@ -101,6 +104,10 @@ use WPStaging\Framework\Facades\Sanitize;
101
  <p><?php esc_html_e("Where to change directory to after logging in - often this is relative to your home directory. Needs to already exist", 'wp-staging') ?></p>
102
  </fieldset>
103
 
 
 
 
 
104
  <hr/>
105
 
106
  <button type="button" id="wpstg-btn-save-provider-settings" class="wpstg-link-btn wpstg-blue-primary"><?php esc_html_e("Save Settings", "wp-staging") ?></button>
1
  <?php
2
 
3
+ namespace WPStaging\Storages\SftpSettings;
4
+
5
  /**
6
  * @var string $providerId
7
  */
24
  $privateKey = !empty($options['key']) ? Sanitize::sanitizeString($options['key']) : '';
25
  $passphrase = !empty($options['passphrase']) ? Sanitize::sanitizePassword($options['passphrase']) : '';
26
  $maxBackupsToKeep = isset($options['maxBackupsToKeep']) ? Sanitize::sanitizeInt($options['maxBackupsToKeep']) : 2;
27
+ $maxBackupsToKeep = $maxBackupsToKeep > 0 ? $maxBackupsToKeep : 15;
28
  $location = isset($options['location']) ? Sanitize::sanitizeString($options['location']) : '';
29
+
30
  ?>
31
  <p>
32
  <strong class="wpstg-fs-14"> <?php esc_html_e('FTP/SFTP', 'wp-staging'); ?></strong>
95
  <strong><?php esc_html_e('Upload Settings', 'wp-staging') ?></strong>
96
  <fieldset class="wpstg-fieldset">
97
  <label><?php esc_html_e('Max Backups to Keep', 'wp-staging') ?></label>
98
+ <input class="wpstg-form-control" type="number" name="max_backups_to_keep" value="<?php echo esc_attr($maxBackupsToKeep); ?>" min="1" style="max-width: 60px" />
 
99
  </fieldset>
100
 
101
  <fieldset class="wpstg-fieldset">
104
  <p><?php esc_html_e("Where to change directory to after logging in - often this is relative to your home directory. Needs to already exist", 'wp-staging') ?></p>
105
  </fieldset>
106
 
107
+ <?php
108
+ require_once "{$this->path}views/settings/tabs/storages/last-saved-notice.php";
109
+ ?>
110
+
111
  <hr/>
112
 
113
  <button type="button" id="wpstg-btn-save-provider-settings" class="wpstg-link-btn wpstg-blue-primary"><?php esc_html_e("Save Settings", "wp-staging") ?></button>
Core/Utils/Logger.php CHANGED
@@ -9,6 +9,7 @@
9
 
10
  namespace WPStaging\Core\Utils;
11
 
 
12
  use WPStaging\Core\WPStaging;
13
  use WPStaging\Framework\Filesystem\Filesystem;
14
  use WPStaging\Framework\Interfaces\ShutdownableInterface;
@@ -62,6 +63,9 @@ class Logger implements LoggerInterface, ShutdownableInterface
62
  */
63
  private $fileName = null;
64
 
 
 
 
65
  /**
66
  * Logger constructor.
67
  *
@@ -70,7 +74,7 @@ class Logger implements LoggerInterface, ShutdownableInterface
70
  *
71
  * @throws \Exception
72
  */
73
- public function __construct($logDir = null, $logExtension = null)
74
  {
75
  // Set log directory
76
  if (!empty($logDir) && is_dir($logDir)) {
@@ -91,6 +95,11 @@ class Logger implements LoggerInterface, ShutdownableInterface
91
  * @see \WPStaging\Backend\Notices\Notices::messages Notice that shows if log directory couldn't be created.
92
  */
93
  (new Filesystem())->mkdir($this->logDir);
 
 
 
 
 
94
  }
95
 
96
  public function onWpShutdown()
@@ -316,10 +325,24 @@ class Logger implements LoggerInterface, ShutdownableInterface
316
  }
317
 
318
  /**
319
- * @inheritDoc
 
 
320
  */
321
  public function debug($message, array $context = [])
322
  {
323
- $this->add($message, LogLevel::DEBUG);
 
 
 
 
 
 
 
 
 
 
 
 
324
  }
325
  }
9
 
10
  namespace WPStaging\Core\Utils;
11
 
12
+ use WPStaging\Core\DTO\Settings;
13
  use WPStaging\Core\WPStaging;
14
  use WPStaging\Framework\Filesystem\Filesystem;
15
  use WPStaging\Framework\Interfaces\ShutdownableInterface;
63
  */
64
  private $fileName = null;
65
 
66
+ /** @var Settings */
67
+ private $settingsDto;
68
+
69
  /**
70
  * Logger constructor.
71
  *
74
  *
75
  * @throws \Exception
76
  */
77
+ public function __construct($logDir = null, $logExtension = null, $settingsDto = null)
78
  {
79
  // Set log directory
80
  if (!empty($logDir) && is_dir($logDir)) {
95
  * @see \WPStaging\Backend\Notices\Notices::messages Notice that shows if log directory couldn't be created.
96
  */
97
  (new Filesystem())->mkdir($this->logDir);
98
+
99
+ $this->settingsDto = $settingsDto;
100
+ if ($this->settingsDto === null) {
101
+ $this->settingsDto = WPStaging::make(Settings::class);
102
+ }
103
  }
104
 
105
  public function onWpShutdown()
325
  }
326
 
327
  /**
328
+ * @param string $message
329
+ * @param array $context
330
+ * @return void
331
  */
332
  public function debug($message, array $context = [])
333
  {
334
+ if ($this->isDebugMode()) {
335
+ $this->add($message, LogLevel::DEBUG);
336
+ }
337
+ }
338
+
339
+ /** @return bool */
340
+ protected function isDebugMode()
341
+ {
342
+ if (defined('WPSTG_DEBUG') && WPSTG_DEBUG === true) {
343
+ return true;
344
+ }
345
+
346
+ return $this->settingsDto->isDebugMode();
347
  }
348
  }
Core/Utils/functions.php CHANGED
@@ -314,10 +314,12 @@ function wpstg_chmod($file, $mode = false)
314
  */
315
  function wpstg_is_local()
316
  {
317
- $localHostname = ['.local', '.test', 'localhost'];
 
 
318
 
319
  foreach ($localHostname as $hostname) {
320
- if (strpos(get_site_url(), $hostname) !== false) {
321
  return true;
322
  }
323
  }
314
  */
315
  function wpstg_is_local()
316
  {
317
+ $localHostname = ['.local', '.test', 'localhost', '.dev', '10.0.0.', '172.16.0.', '192.168.0.'];
318
+
319
+ $siteUrl = get_site_url();
320
 
321
  foreach ($localHostname as $hostname) {
322
+ if (strpos($siteUrl, $hostname) !== false) {
323
  return true;
324
  }
325
  }
Core/WPStaging.php CHANGED
@@ -320,7 +320,7 @@ final class WPStaging
320
  $container = self::getInstance()->getContainer();
321
  }
322
 
323
- return $container->make($id);
324
  }
325
 
326
  /**
320
  $container = self::getInstance()->getContainer();
321
  }
322
 
323
+ return $container->get($id);
324
  }
325
 
326
  /**
Framework/Adapter/Database.php CHANGED
@@ -80,6 +80,14 @@ class Database
80
  return $this->wpdb->prefix;
81
  }
82
 
 
 
 
 
 
 
 
 
83
  /**
84
  * @return string
85
  */
80
  return $this->wpdb->prefix;
81
  }
82
 
83
+ /**
84
+ * @return string
85
+ */
86
+ public function getBasePrefix()
87
+ {
88
+ return $this->wpdb->base_prefix;
89
+ }
90
+
91
  /**
92
  * @return string
93
  */
Framework/Analytics/AnalyticsConsent.php CHANGED
@@ -10,12 +10,12 @@ class AnalyticsConsent
10
  use WithAnalyticsAPI;
11
 
12
  /**
13
- * Shows the admin notice asking the user whether he consents to sending usage information to WP STAGNIG.
14
  * @action admin_notices
15
  */
16
  public function maybeShowConsentNotice()
17
  {
18
- // Early bail: Not a WPSTAGING page
19
  if (!WPStaging::make(Notices::class)->isAdminPage()) {
20
  return;
21
  }
@@ -46,7 +46,7 @@ class AnalyticsConsent
46
  */
47
  public function maybeShowConsentFailureNotice()
48
  {
49
- // Early bail: Not a WPSTAGING page
50
  if (!WPStaging::make(Notices::class)->isAdminPage()) {
51
  return;
52
  }
10
  use WithAnalyticsAPI;
11
 
12
  /**
13
+ * Shows the admin notice asking the user whether he consents to sending usage information to WP STAGING.
14
  * @action admin_notices
15
  */
16
  public function maybeShowConsentNotice()
17
  {
18
+ // Early bail: Not a WP STAGING page
19
  if (!WPStaging::make(Notices::class)->isAdminPage()) {
20
  return;
21
  }
46
  */
47
  public function maybeShowConsentFailureNotice()
48
  {
49
+ // Early bail: Not a WP STAGING page
50
  if (!WPStaging::make(Notices::class)->isAdminPage()) {
51
  return;
52
  }
Framework/Analytics/WithAnalyticsSiteInfo.php CHANGED
@@ -93,9 +93,9 @@ trait WithAnalyticsSiteInfo
93
  'sql_server_version_number' => $mySqlVersionNumber,
94
  'sql_server_version_engine' => $engine,
95
  'sql_server_version_engine_raw' => $mysqlInfo,
96
- 'site_active_plugins' => $plugins['siteActive'],
97
- 'mu_plugins' => $plugins['muPlugins'],
98
- 'network_active_plugins' => $plugins['networkActive'],
99
  'php_extensions' => $this->getPhpExtensions(),
100
  ];
101
 
@@ -123,8 +123,10 @@ trait WithAnalyticsSiteInfo
123
 
124
  // plugins
125
  add_filter('pre_site_option_active_sitewide_plugins', $callback);
126
- foreach (wp_get_active_and_valid_plugins() ?: [] as $activePlugin) {
127
- $pluginData = get_plugin_data($activePlugin);
 
 
128
  $version = array_key_exists('Version', $pluginData) ? $pluginData['Version'] : 'UNDEFINED';
129
  $name = str_replace($wpPluginDir, '', wp_normalize_path($activePlugin));
130
  $name = trim($name, '/\\');
@@ -173,4 +175,19 @@ trait WithAnalyticsSiteInfo
173
 
174
  return $phpExtensions;
175
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
176
  }
93
  'sql_server_version_number' => $mySqlVersionNumber,
94
  'sql_server_version_engine' => $engine,
95
  'sql_server_version_engine_raw' => $mysqlInfo,
96
+ 'site_active_plugins' => isset($plugins['siteActive']) ? $plugins['siteActive'] : '',
97
+ 'mu_plugins' => isset($plugins['muPlugins']) ? $plugins['muPlugins'] : '',
98
+ 'network_active_plugins' => isset($plugins['networkActive']) ? $plugins['networkActive'] : '',
99
  'php_extensions' => $this->getPhpExtensions(),
100
  ];
101
 
123
 
124
  // plugins
125
  add_filter('pre_site_option_active_sitewide_plugins', $callback);
126
+
127
+ $plugins = $this->getPlugins();
128
+ foreach ($plugins as $activePlugin) {
129
+ $pluginData = get_plugin_data(WP_PLUGIN_DIR . "/" . $activePlugin);
130
  $version = array_key_exists('Version', $pluginData) ? $pluginData['Version'] : 'UNDEFINED';
131
  $name = str_replace($wpPluginDir, '', wp_normalize_path($activePlugin));
132
  $name = trim($name, '/\\');
175
 
176
  return $phpExtensions;
177
  }
178
+
179
+ /**
180
+ * Use this special method to get the list of active plugins, instead of using a core method like wp_get_active_and_valid_plugins() because
181
+ * wp_get_active_and_valid_plugins() does not deliver a result because our mu-plugin wp-staging-optimizer.php filters the active plugins.
182
+ * @return array
183
+ */
184
+ protected function getPlugins()
185
+ {
186
+ global $wpdb;
187
+
188
+ $sql = "SELECT option_value FROM " . esc_sql($wpdb->prefix) . "options WHERE option_name = 'active_plugins'";
189
+ $result = $wpdb->get_results($sql, ARRAY_A);
190
+ $result = isset($result[0]['option_value']) ? unserialize($result[0]['option_value']) : [];
191
+ return (array)$result;
192
+ }
193
  }
Framework/Assets/Assets.php CHANGED
@@ -423,6 +423,6 @@ class Assets
423
  */
424
  private function isDebugOrDevMode()
425
  {
426
- return ($this->settings->isDebugMode() || (defined('WPSTG_DEV') && WPSTG_DEV === true));
427
  }
428
  }
423
  */
424
  private function isDebugOrDevMode()
425
  {
426
+ return ($this->settings->isDebugMode() || (defined('WPSTG_DEV') && WPSTG_DEV === true) || (defined('WPSTG_DEBUG') && WPSTG_DEBUG === true));
427
  }
428
  }
Framework/BackgroundProcessing/BackgroundProcessingServiceProvider.php CHANGED
@@ -9,6 +9,8 @@
9
  namespace WPStaging\Framework\BackgroundProcessing;
10
 
11
  use WPStaging\Core\Cron\Cron;
 
 
12
  use WPStaging\Framework\DI\FeatureServiceProvider;
13
 
14
  use function WPStaging\functions\debug_log;
@@ -41,6 +43,13 @@ class BackgroundProcessingServiceProvider extends FeatureServiceProvider
41
  return false;
42
  }
43
 
 
 
 
 
 
 
 
44
  // For caching purposes, have one single instance of the Queue around.
45
  $this->container->singleton(Queue::class, Queue::class);
46
  // For concurrency purposes, have one single instance of the Queue processor around.
9
  namespace WPStaging\Framework\BackgroundProcessing;
10
 
11
  use WPStaging\Core\Cron\Cron;
12
+ use WPStaging\Framework\Adapter\Database;
13
+ use WPStaging\Framework\Adapter\Database\InterfaceDatabaseClient;
14
  use WPStaging\Framework\DI\FeatureServiceProvider;
15
 
16
  use function WPStaging\functions\debug_log;
43
  return false;
44
  }
45
 
46
+ $database = $this->container->make(Database::class)->getClient();
47
+
48
+ // See if there is better way than this to handle this code?
49
+ $this->container->when(Queue::class)
50
+ ->needs(InterfaceDatabaseClient::class)
51
+ ->give($database);
52
+
53
  // For caching purposes, have one single instance of the Queue around.
54
  $this->container->singleton(Queue::class, Queue::class);
55
  // For concurrency purposes, have one single instance of the Queue processor around.
Framework/DI/Container.php CHANGED
@@ -3,14 +3,26 @@
3
  namespace WPStaging\Framework\DI;
4
 
5
  use WPStaging\Framework\Interfaces\ShutdownableInterface;
 
 
6
 
7
- class Container extends \WPStaging\Vendor\tad_DI52_Container
8
  {
9
  /**
10
  * @var string The PSR-4 namespace prefix we use to isolate third-party dependencies.
11
  */
12
  protected $prefix = 'WPStaging\\Vendor\\';
13
 
 
 
 
 
 
 
 
 
 
 
14
  /**
15
  * @deprecated Currently, all usages of _get in the codebase
16
  * are Service Locators, not Dependency Injection.
@@ -31,29 +43,14 @@ class Container extends \WPStaging\Vendor\tad_DI52_Container
31
  }
32
  }
33
 
34
- /**
35
- * Add helpful debug notice for developers.
36
- */
37
- public function _getParameter(\ReflectionParameter $parameter)
38
- {
39
- try {
40
- return parent::_getParameter($parameter);
41
- } catch (\ReflectionException $e) {
42
- $message = $e->getMessage();
43
- $message .= ' (Are you running a development version of WP STAGING without the WPSTG_DEV constant?)';
44
-
45
- throw new \ReflectionException($message);
46
- }
47
- }
48
-
49
  /**
50
  * Allows to enqueue the ShutdownableInterface hook
51
- * on classes resolved by the DI container, such as
52
- * dependencies injected in the __construct.
53
  */
54
- protected function resolve($classOrInterface)
55
  {
56
- $instance = parent::resolve($classOrInterface);
57
  if (is_object($instance) && $instance instanceof ShutdownableInterface) {
58
  if (!has_action('shutdown', [$instance, 'onWpShutdown'])) {
59
  add_action('shutdown', [$instance, 'onWpShutdown']);
@@ -64,20 +61,12 @@ class Container extends \WPStaging\Vendor\tad_DI52_Container
64
  }
65
 
66
  /**
67
- * Allows to enqueue the ShutdownableInterface hook
68
- * on classes requested directly by the application
69
- * to the container.
70
  */
71
  public function make($classOrInterface)
72
  {
73
- $instance = parent::make($classOrInterface);
74
- if (is_object($instance) && $instance instanceof ShutdownableInterface) {
75
- if (!has_action('shutdown', [$instance, 'onWpShutdown'])) {
76
- add_action('shutdown', [$instance, 'onWpShutdown']);
77
- }
78
- }
79
-
80
- return $instance;
81
  }
82
 
83
  /**
3
  namespace WPStaging\Framework\DI;
4
 
5
  use WPStaging\Framework\Interfaces\ShutdownableInterface;
6
+ use WPStaging\Framework\DI\Resolver;
7
+ use WPStaging\Vendor\lucatume\DI52\Builders\Factory;
8
 
9
+ class Container extends \WPStaging\Vendor\lucatume\DI52\Container
10
  {
11
  /**
12
  * @var string The PSR-4 namespace prefix we use to isolate third-party dependencies.
13
  */
14
  protected $prefix = 'WPStaging\\Vendor\\';
15
 
16
+ /**
17
+ * @inheritDoc
18
+ */
19
+ public function __construct($resolveUnboundAsSingletons = false)
20
+ {
21
+ parent::__construct($resolveUnboundAsSingletons);
22
+ $this->resolver = new Resolver($resolveUnboundAsSingletons);
23
+ $this->builders = new Factory($this, $this->resolver);
24
+ }
25
+
26
  /**
27
  * @deprecated Currently, all usages of _get in the codebase
28
  * are Service Locators, not Dependency Injection.
43
  }
44
  }
45
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
46
  /**
47
  * Allows to enqueue the ShutdownableInterface hook
48
+ * on classes requested directly by the application
49
+ * to the container.
50
  */
51
+ public function get($classOrInterface)
52
  {
53
+ $instance = parent::get($classOrInterface);
54
  if (is_object($instance) && $instance instanceof ShutdownableInterface) {
55
  if (!has_action('shutdown', [$instance, 'onWpShutdown'])) {
56
  add_action('shutdown', [$instance, 'onWpShutdown']);
61
  }
62
 
63
  /**
64
+ * @deprecated 4.1.15
65
+ * Use get instead
 
66
  */
67
  public function make($classOrInterface)
68
  {
69
+ return $this->get($classOrInterface);
 
 
 
 
 
 
 
70
  }
71
 
72
  /**
Framework/DI/Resolver.php ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WPStaging\Framework\DI;
4
+
5
+ use WPStaging\Framework\Interfaces\ShutdownableInterface;
6
+
7
+ class Resolver extends \WPStaging\Vendor\lucatume\DI52\Builders\Resolver
8
+ {
9
+ /**
10
+ * Allows to enqueue the ShutdownableInterface hook
11
+ * on classes resolved by the DI container, such as
12
+ * dependencies injected in the __construct.
13
+ */
14
+ public function resolve($id, array $buildLine = null)
15
+ {
16
+ $instance = parent::resolve($id, $buildLine);
17
+ if (is_object($instance) && $instance instanceof ShutdownableInterface) {
18
+ if (!has_action('shutdown', [$instance, 'onWpShutdown'])) {
19
+ add_action('shutdown', [$instance, 'onWpShutdown']);
20
+ }
21
+ }
22
+
23
+ return $instance;
24
+ }
25
+ }
Framework/DI/ServiceProvider.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  namespace WPStaging\Framework\DI;
4
 
5
- abstract class ServiceProvider extends \WPStaging\Vendor\tad_DI52_ServiceProvider
6
  {
7
  public function register()
8
  {
2
 
3
  namespace WPStaging\Framework\DI;
4
 
5
+ abstract class ServiceProvider extends \WPStaging\Vendor\lucatume\DI52\ServiceProvider
6
  {
7
  public function register()
8
  {
Framework/Facades/Sanitize.php CHANGED
@@ -10,9 +10,7 @@ use WPStaging\Framework\Utils\Sanitize as UtilsSanitize;
10
  * @method static int sanitizeInt(string $value)
11
  * @method static bool sanitizeBool(int|bool|string $value)
12
  * @method static string sanitizeEmail(string $value)
13
- * @method static string sanitizeURL(string $value)
14
  * @method static string sanitizePath(string $value)
15
- * @method static string sanitizeTextareaField(string $value)
16
  * @method static string htmlDecodeAndSanitize(string $value)
17
  * @method static array sanitizeFileUpload(array $value)
18
  * @method static array sanitizeExcludeRules(string $value)
10
  * @method static int sanitizeInt(string $value)
11
  * @method static bool sanitizeBool(int|bool|string $value)
12
  * @method static string sanitizeEmail(string $value)
 
13
  * @method static string sanitizePath(string $value)
 
14
  * @method static string htmlDecodeAndSanitize(string $value)
15
  * @method static array sanitizeFileUpload(array $value)
16
  * @method static array sanitizeExcludeRules(string $value)
Framework/Filesystem/FileObject.php CHANGED
@@ -29,6 +29,12 @@ class FileObject extends SplFileObject
29
  /** @var int */
30
  private $totalLines = null;
31
 
 
 
 
 
 
 
32
  /**
33
  * Lock File Handle for Windows
34
  * @var resource
@@ -200,6 +206,8 @@ class FileObject extends SplFileObject
200
  throw new Exception("Can't seek file: " . $this->getPathname() . " to negative offset: $offset");
201
  }
202
 
 
 
203
  if ($offset === 0 || version_compare(PHP_VERSION, '8.0.1', '<')) {
204
  parent::seek($offset);
205
  return;
@@ -236,12 +244,15 @@ class FileObject extends SplFileObject
236
  * This implementation makes it consistent after SplFileObject::seek across all PHP versions up to 8.0.1.
237
  * Use readAndMoveNext() instead if you want to achieve consistent behavior of SplFileObject::fgets after SplFileObject::fseek.
238
  *
 
 
239
  * @return string
240
  */
241
  #[\ReturnTypeWillChange]
242
  public function fgets()
243
  {
244
  if ($this->key() === 0 || version_compare(PHP_VERSION, '8.0.1', '<')) {
 
245
  return parent::fgets();
246
  }
247
 
@@ -249,14 +260,77 @@ class FileObject extends SplFileObject
249
  $newFlags = $originalFlags & ~self::READ_AHEAD;
250
  $this->setFlags($newFlags);
251
 
252
- $this->current();
253
- $this->next();
254
  $line = $this->current();
 
 
 
 
 
 
 
 
 
 
 
 
 
255
 
256
  $this->setFlags($originalFlags);
257
  return $line;
258
  }
259
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
260
  /**
261
  * SplFileObject::fgets() is not consistent after SplFileObject::fseek() between php 5.x/7.x and php 8.0.1.
262
  * Use this method instead if you want to achieve consistent behavior of SplFileObject::fgets after SplFileObject::fseek across all PHP versions up to PHP 8.0.1.
@@ -269,7 +343,7 @@ class FileObject extends SplFileObject
269
  public function readAndMoveNext($useFgets = false)
270
  {
271
  if ($useFgets && version_compare(PHP_VERSION, '8.0.1', '<')) {
272
- return $this->fgets();
273
  }
274
 
275
  $originalFlags = $this->getFlags();
29
  /** @var int */
30
  private $totalLines = null;
31
 
32
+ /** @var bool */
33
+ private $fgetsUsedOnKey0 = false;
34
+
35
+ /** @var bool */
36
+ private $fseekUsed = false;
37
+
38
  /**
39
  * Lock File Handle for Windows
40
  * @var resource
206
  throw new Exception("Can't seek file: " . $this->getPathname() . " to negative offset: $offset");
207
  }
208
 
209
+ $this->fseekUsed = false;
210
+ $this->fgetsUsedOnKey0 = false;
211
  if ($offset === 0 || version_compare(PHP_VERSION, '8.0.1', '<')) {
212
  parent::seek($offset);
213
  return;
244
  * This implementation makes it consistent after SplFileObject::seek across all PHP versions up to 8.0.1.
245
  * Use readAndMoveNext() instead if you want to achieve consistent behavior of SplFileObject::fgets after SplFileObject::fseek.
246
  *
247
+ * @deprecated 4.2.13 Use readAndMoveNext instead as it is hard to make fgets against multiple php version after seek(0)
248
+ *
249
  * @return string
250
  */
251
  #[\ReturnTypeWillChange]
252
  public function fgets()
253
  {
254
  if ($this->key() === 0 || version_compare(PHP_VERSION, '8.0.1', '<')) {
255
+ $this->fgetsUsedOnKey0 = true;
256
  return parent::fgets();
257
  }
258
 
260
  $newFlags = $originalFlags & ~self::READ_AHEAD;
261
  $this->setFlags($newFlags);
262
 
 
 
263
  $line = $this->current();
264
+ $this->next();
265
+
266
+ if (version_compare(PHP_VERSION, '8.0.19', '<')) {
267
+ $line = $this->current();
268
+ }
269
+
270
+ if (version_compare(PHP_VERSION, '8.1', '>') && version_compare(PHP_VERSION, '8.1.6', '<')) {
271
+ $line = $this->current();
272
+ }
273
+
274
+ if (!$this->fseekUsed) {
275
+ $line = $this->current();
276
+ }
277
 
278
  $this->setFlags($originalFlags);
279
  return $line;
280
  }
281
 
282
+ /**
283
+ * Gets the current line number
284
+ *
285
+ * @return int
286
+ */
287
+ #[\ReturnTypeWillChange]
288
+ public function key()
289
+ {
290
+ if (!$this->fgetsUsedOnKey0 || version_compare(PHP_VERSION, '8.0.19', '<')) {
291
+ return parent::key();
292
+ }
293
+
294
+ if (version_compare(PHP_VERSION, '8.1', '>') && version_compare(PHP_VERSION, '8.1.6', '<')) {
295
+ return parent::key();
296
+ }
297
+
298
+ return parent::key() - 1;
299
+ }
300
+
301
+ /**
302
+ * Seek to a position
303
+ *
304
+ * @param int $offset The value to start from added to the $whence
305
+ * @param int $whence values are:
306
+ * SEEK_SET - Set position equal to offset bytes.
307
+ * SEEK_CUR - Set position to current location plus offset.
308
+ * SEEK_END - Set position to end-of-file plus offset.
309
+ * @return int
310
+ */
311
+ #[\ReturnTypeWillChange]
312
+ public function fseek($offset, $whence = SEEK_SET)
313
+ {
314
+ if (version_compare(PHP_VERSION, '8.0.19', '<')) {
315
+ return parent::fseek($offset, $whence);
316
+ }
317
+
318
+ if (version_compare(PHP_VERSION, '8.1', '>') && version_compare(PHP_VERSION, '8.1.6', '<')) {
319
+ return parent::fseek($offset, $whence);
320
+ }
321
+
322
+ // After calling parent::fseek() and $this->>fgets() two or three times it starts to act different on PHP >= 8.0.19, PHP >= 8.1.6 and PHP >= 8.2.
323
+ // Calling it three times helps to write a consistent fseek() for the above mentioned PHP versions.
324
+ for ($i = 0; $i < 3; $i++) {
325
+ parent::fseek(0);
326
+ $this->fgets();
327
+ }
328
+
329
+ $this->fseekUsed = true;
330
+ return parent::fseek($offset, $whence);
331
+ }
332
+
333
+
334
  /**
335
  * SplFileObject::fgets() is not consistent after SplFileObject::fseek() between php 5.x/7.x and php 8.0.1.
336
  * Use this method instead if you want to achieve consistent behavior of SplFileObject::fgets after SplFileObject::fseek across all PHP versions up to PHP 8.0.1.
343
  public function readAndMoveNext($useFgets = false)
344
  {
345
  if ($useFgets && version_compare(PHP_VERSION, '8.0.1', '<')) {
346
+ return parent::fgets();
347
  }
348
 
349
  $originalFlags = $this->getFlags();
Framework/Rest/Rest.php CHANGED
@@ -27,7 +27,7 @@ class Rest
27
  return false;
28
  }
29
 
30
- $requestPath = trim($this->sanitize->sanitizeURL($_SERVER['REQUEST_URI']), '/');
31
 
32
  $url = trailingslashit(get_home_url(get_current_blog_id(), ''));
33
  // nginx only allows HTTP/1.0 methods when redirecting from / to /index.php.
27
  return false;
28
  }
29
 
30
+ $requestPath = trim(sanitize_url($_SERVER['REQUEST_URI']), '/');
31
 
32
  $url = trailingslashit(get_home_url(get_current_blog_id(), ''));
33
  // nginx only allows HTTP/1.0 methods when redirecting from / to /index.php.
Framework/Traits/MySQLRowsGeneratorTrait.php CHANGED
@@ -31,31 +31,31 @@ trait MySQLRowsGeneratorTrait
31
  * If the current thread is over 80% memory or execution time, then the Generator will yield `null` to stop
32
  * the processing.
33
  *
34
- * @param string $databaseName The database name.
35
- * @param string $table The prefixed name of the table to pull rows from.
36
- * @param int $offset The number of row to start the work from.
37
  * processed will depend on the server available memory and max request execution time.
38
- * @param string $requestId A unique identifier for the job/task this generator is running on, as to make sure
39
  * that if we need to retry a query, we retry for this request.
40
- * @param InterfaceDatabaseClient|MysqliAdapter $db A reference to the database instance to fetch rows from.
41
  *
42
  * @return Generator A generator yielding rows one by one; refetching them if and when required.
43
  */
44
  protected function rowsGenerator($databaseName, $table, $numericPrimaryKey, $offset, $requestId, InterfaceDatabaseClient $db, JobDataDto $jobDataDto)
45
  {
46
- /* if (defined('WPSTG_DEBUG') && WPSTG_DEBUG) {
47
- \WPStaging\functions\debug_log(
48
- sprintf(
49
- 'MySQLRowsGeneratorTrait: max-memory-limit=%s; script-memory-limit=%s; memory-usage=%s; execution-time-limit=%s; running-time=%s; is-threshold=%s',
50
- size_format($this->getMaxMemoryLimit()),
51
- size_format($this->getScriptMemoryLimit()),
52
- size_format($this->getMemoryUsage()),
53
- $this->findExecutionTimeLimit(),
54
- $this->getRunningTime(),
55
- ($this->isThreshold() ? 'yes' : 'no')
56
- )
57
- );
58
- }*/
59
 
60
  $rows = [];
61
  $lastFetch = false;
@@ -64,7 +64,7 @@ trait MySQLRowsGeneratorTrait
64
 
65
  $freeMemory = $this->getScriptMemoryLimit() - $this->getMemoryUsage();
66
 
67
- // Fetch the average row length of the current table, if need be.
68
  if (empty($jobDataDto->getTableAverageRowLength())) {
69
  $averageRowLength = $db->query("SELECT AVG_ROW_LENGTH FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = '$table' AND TABLE_SCHEMA = '$databaseName';")->fetch_assoc();
70
  if (!empty($averageRowLength) && is_array($averageRowLength) && array_key_exists('AVG_ROW_LENGTH', $averageRowLength)) {
@@ -89,33 +89,41 @@ trait MySQLRowsGeneratorTrait
89
  if ($previousRequestId === $requestId) {
90
  list($requestId, $table, $offset, $batchSize) = array_replace([$requestId, $table, $offset, $batchSize], $lastQueryInfo);
91
 
92
- $batchSize = $batchSize / 3;
93
-
94
- if ($batchSize < 1) {
95
- throw new \RuntimeException(sprintf(
96
- 'There is one row in the database that is bigger than the memory available to PHP, which makes it impossible to extract using PHP. More info: Maximum PHP Memory: %s | Row is in table: %s | Offset: %s',
97
- size_format($this->getScriptMemoryLimit()),
98
- $table,
99
- $offset
100
- ));
101
  }
 
 
 
 
 
 
 
 
 
102
  }
103
  }
104
  }
105
 
106
  // At least 1, max 5k, integer
107
- $batchSize = max(1, $batchSize);
108
- $batchSize = min(5000, $batchSize);
 
 
109
  $batchSize = ceil($batchSize);
110
 
 
 
111
  do {
112
- if (count($rows) === 0) {
113
  if ($lastFetch) {
114
  break;
115
  }
116
 
117
  if (!empty($numericPrimaryKey)) {
118
- // Optimal! We have Primary Keys so it doesn't get slower on large offsets.
119
  $query = <<<SQL
120
  SELECT *
121
  FROM `{$table}`
@@ -127,8 +135,18 @@ SQL;
127
  $query = "SELECT * FROM `{$table}` LIMIT {$offset}, {$batchSize}";
128
  }
129
  $jobDataDto->setLastQueryInfoJSON(json_encode([$requestId, $table, $offset, $batchSize]));
 
 
 
130
  $result = $db->query($query);
131
 
 
 
 
 
 
 
 
132
  if ($result === false) {
133
  throw new \RuntimeException('DB error:' . $db->error() . ' Query: ' . $query . ' requestId: ' . $requestId . ' table: ' . $table . ' Offset: ' . $offset . ' Batch Size: ' . $batchSize);
134
  }
@@ -149,7 +167,6 @@ SQL;
149
  }
150
 
151
  if (empty($rows)) {
152
- // We're done here.
153
  break;
154
  }
155
 
@@ -169,6 +186,18 @@ SQL;
169
  break;
170
  }
171
 
 
 
 
 
 
 
 
 
 
 
 
 
172
  // Check memory usage every 10 rows
173
  if (rand(0, 10) === 10 && $this->isThreshold()) {
174
  $jobDataDto->setLastQueryInfoJSON(json_encode([$requestId, $table, $offset, $batchSize]));
31
  * If the current thread is over 80% memory or execution time, then the Generator will yield `null` to stop
32
  * the processing.
33
  *
34
+ * @param string $databaseName The database name.
35
+ * @param string $table The prefixed name of the table to pull rows from.
36
+ * @param int $offset The number of row to start the work from.
37
  * processed will depend on the server available memory and max request execution time.
38
+ * @param string $requestId A unique identifier for the job/task this generator is running on, as to make sure
39
  * that if we need to retry a query, we retry for this request.
40
+ * @param InterfaceDatabaseClient|MysqliAdapter $db A reference to the database instance to fetch rows from.
41
  *
42
  * @return Generator A generator yielding rows one by one; refetching them if and when required.
43
  */
44
  protected function rowsGenerator($databaseName, $table, $numericPrimaryKey, $offset, $requestId, InterfaceDatabaseClient $db, JobDataDto $jobDataDto)
45
  {
46
+ /* if (defined('WPSTG_DEBUG') && WPSTG_DEBUG) {
47
+ \WPStaging\functions\debug_log(
48
+ sprintf(
49
+ 'MySQLRowsGeneratorTrait: max-memory-limit=%s; script-memory-limit=%s; memory-usage=%s; execution-time-limit=%s; running-time=%s; is-threshold=%s',
50
+ size_format($this->getMaxMemoryLimit()),
51
+ size_format($this->getScriptMemoryLimit()),
52
+ size_format($this->getMemoryUsage()),
53
+ $this->findExecutionTimeLimit(),
54
+ $this->getRunningTime(),
55
+ ($this->isThreshold() ? 'yes' : 'no')
56
+ )
57
+ );
58
+ }*/
59
 
60
  $rows = [];
61
  $lastFetch = false;
64
 
65
  $freeMemory = $this->getScriptMemoryLimit() - $this->getMemoryUsage();
66
 
67
+ // Fetch the average row length of the current table, if need be. This is to get the maximum possible batch size
68
  if (empty($jobDataDto->getTableAverageRowLength())) {
69
  $averageRowLength = $db->query("SELECT AVG_ROW_LENGTH FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = '$table' AND TABLE_SCHEMA = '$databaseName';")->fetch_assoc();
70
  if (!empty($averageRowLength) && is_array($averageRowLength) && array_key_exists('AVG_ROW_LENGTH', $averageRowLength)) {
89
  if ($previousRequestId === $requestId) {
90
  list($requestId, $table, $offset, $batchSize) = array_replace([$requestId, $table, $offset, $batchSize], $lastQueryInfo);
91
 
92
+ if ($batchSize <= 1000) {
93
+ $batchSize = $batchSize / 2;
94
+ } else {
95
+ $batchSize = $batchSize / 3;
 
 
 
 
 
96
  }
97
+
98
+ /* if ($batchSize < 1) {
99
+ throw new \RuntimeException(sprintf(
100
+ 'There is one row in the database that is bigger than the memory available to PHP, which makes it impossible to extract using PHP. More info: Maximum PHP Memory: %s | Row is in table: %s | Offset: %s',
101
+ size_format($this->getScriptMemoryLimit()),
102
+ $table,
103
+ $offset
104
+ ));
105
+ }*/
106
  }
107
  }
108
  }
109
 
110
  // At least 1, max 5k, integer
111
+ $maxBatchSize = $jobDataDto->getIsSlowMySqlServer() ? 100 : 5000;
112
+ $minBatchSize = 1;
113
+ $batchSize = max($minBatchSize, $batchSize);
114
+ $batchSize = min($maxBatchSize, $batchSize);
115
  $batchSize = ceil($batchSize);
116
 
117
+ $jobDataDto->setBatchSize($batchSize);
118
+
119
  do {
120
+ if (empty($rows)) {
121
  if ($lastFetch) {
122
  break;
123
  }
124
 
125
  if (!empty($numericPrimaryKey)) {
126
+ // Optimal! We have Primary Keys, so it doesn't get slower on large offsets.
127
  $query = <<<SQL
128
  SELECT *
129
  FROM `{$table}`
135
  $query = "SELECT * FROM `{$table}` LIMIT {$offset}, {$batchSize}";
136
  }
137
  $jobDataDto->setLastQueryInfoJSON(json_encode([$requestId, $table, $offset, $batchSize]));
138
+
139
+ $requestStartTime = microtime(true);
140
+
141
  $result = $db->query($query);
142
 
143
+ $jobDataDto->setDbRequestTime(microtime(true) - $requestStartTime);
144
+
145
+ // If a single sql query takes more than 10 seconds, the sql server is treated as a very slow one.
146
+ if ($jobDataDto->getDbRequestTime() > 10) {
147
+ $jobDataDto->setIsSlowMySqlServer(true);
148
+ }
149
+
150
  if ($result === false) {
151
  throw new \RuntimeException('DB error:' . $db->error() . ' Query: ' . $query . ' requestId: ' . $requestId . ' table: ' . $table . ' Offset: ' . $offset . ' Batch Size: ' . $batchSize);
152
  }
167
  }
168
 
169
  if (empty($rows)) {
 
170
  break;
171
  }
172
 
186
  break;
187
  }
188
 
189
+ /**
190
+ * Extend execution time.
191
+ * If sql query is slow and takes more than 1 second even with low batch size, extend the available execution time.
192
+ * Otherwise, it can lead to a slow-down at worse one row per request
193
+ *
194
+ * Can happen on very slow mySQL servers.
195
+ * Fixes #1945 https://github.com/wp-staging/wp-staging-pro/issues/1945
196
+ */
197
+ if ($batchSize <= 100 && $jobDataDto->getDbRequestTime() > 1) {
198
+ $this->setTimeLimit((int)$this->findExecutionTimeLimit() + 10);
199
+ }
200
+
201
  // Check memory usage every 10 rows
202
  if (rand(0, 10) === 10 && $this->isThreshold()) {
203
  $jobDataDto->setLastQueryInfoJSON(json_encode([$requestId, $table, $offset, $batchSize]));
Framework/Utils/Cache/BufferedCache.php CHANGED
@@ -169,7 +169,7 @@ class BufferedCache extends AbstractCache
169
  $existingFile->flock(LOCK_EX);
170
  $tempFile->fwrite($data);
171
 
172
- while (!empty($nextLine = $existingFile->fgets())) {
173
  $tempFile->fwrite($nextLine);
174
  }
175
 
169
  $existingFile->flock(LOCK_EX);
170
  $tempFile->fwrite($data);
171
 
172
+ while (!empty($nextLine = $existingFile->readAndMoveNext())) {
173
  $tempFile->fwrite($nextLine);
174
  }
175
 
Framework/Utils/Escape.php CHANGED
@@ -50,7 +50,9 @@ class Escape
50
  'br' => [],
51
  'code' => [],
52
  'em' => [],
53
- 'strong' => [],
 
 
54
  ];
55
  }
56
  }
50
  'br' => [],
51
  'code' => [],
52
  'em' => [],
53
+ 'strong' => [
54
+ 'class' => [],
55
+ ],
56
  ];
57
  }
58
  }
Framework/Utils/Sanitize.php CHANGED
@@ -82,15 +82,6 @@ class Sanitize
82
  return filter_var($value, FILTER_VALIDATE_EMAIL);
83
  }
84
 
85
- /**
86
- * @param string $value
87
- * @return string
88
- */
89
- public function sanitizeURL($value)
90
- {
91
- return sanitize_url($value);
92
- }
93
-
94
  /**
95
  * Sanitize the path, remove spaces and trailing slashes
96
  * @param string $value
@@ -123,22 +114,6 @@ class Sanitize
123
  return strtr($path, $replacements);
124
  }
125
 
126
- /**
127
- * This function ensures backwards compatibility with Wordpress prior to the 4.7 release. sanitize_textarea_field
128
- * was introduced with that version.
129
- * @param $str
130
- *
131
- * @return string
132
- */
133
- public function sanitizeTextareaField($str)
134
- {
135
- if (function_exists('sanitize_textarea_field')) {
136
- return sanitize_textarea_field($str);
137
- } else {
138
- return sanitize_text_field($str);
139
- }
140
- }
141
-
142
  /**
143
  * Html decode and then sanitize
144
  *
82
  return filter_var($value, FILTER_VALIDATE_EMAIL);
83
  }
84
 
 
 
 
 
 
 
 
 
 
85
  /**
86
  * Sanitize the path, remove spaces and trailing slashes
87
  * @param string $value
114
  return strtr($path, $replacements);
115
  }
116
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
117
  /**
118
  * Html decode and then sanitize
119
  *
Framework/Utils/Strings.php CHANGED
@@ -66,7 +66,7 @@ class Strings
66
  }
67
 
68
  /**
69
- * Check if a strings start with a specific string
70
  * @param string $haystack
71
  * @param string $needle
72
  * @return bool
@@ -77,6 +77,20 @@ class Strings
77
  return ($needle === substr($haystack, 0, $length));
78
  }
79
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
80
  /**
81
  * Search & Replace last occurrence of string in haystack
82
  * @param string $needle
66
  }
67
 
68
  /**
69
+ * Check if a string start with a specific string
70
  * @param string $haystack
71
  * @param string $needle
72
  * @return bool
77
  return ($needle === substr($haystack, 0, $length));
78
  }
79
 
80
+ /**
81
+ * Check if a string ends with a specific string
82
+ * @param string $haystack
83
+ * @param string $needle
84
+ * @return bool
85
+ */
86
+ public function endsWith($haystack, $needle)
87
+ {
88
+ $haystack = strrev($haystack);
89
+ $needle = strrev($needle);
90
+ return strpos($haystack, $needle) === 0;
91
+ }
92
+
93
+
94
  /**
95
  * Search & Replace last occurrence of string in haystack
96
  * @param string $needle
Frontend/Frontend.php CHANGED
@@ -6,6 +6,8 @@ use WPStaging\Core\WPStaging;
6
  use WPStaging\Framework\Rest\Rest;
7
  use WPStaging\Framework\SiteInfo;
8
 
 
 
9
  /**
10
  * Class Frontend
11
  * @package WPStaging\Frontend
@@ -127,13 +129,6 @@ class Frontend
127
  return false;
128
  }
129
 
130
- if (defined('WPSTGPRO_VERSION') && !empty($this->settings->usersWithStagingAccess)) {
131
- $usersWithStagingAccess = explode(',', $this->settings->usersWithStagingAccess);
132
- if (in_array(wp_get_current_user()->user_login, $usersWithStagingAccess, true)) {
133
- return false;
134
- }
135
- }
136
-
137
  if (!is_user_logged_in()) {
138
  return true;
139
  }
@@ -144,8 +139,23 @@ class Frontend
144
  return true;
145
  }
146
 
147
- // Require login form if user is not in specific user role
148
  $currentUser = wp_get_current_user();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
149
  $activeUserRoles = $currentUser->roles;
150
 
151
  $result = isset($this->settings->userRoles) && is_array($this->settings->userRoles) ?
6
  use WPStaging\Framework\Rest\Rest;
7
  use WPStaging\Framework\SiteInfo;
8
 
9
+ use function WPStaging\functions\debug_log;
10
+
11
  /**
12
  * Class Frontend
13
  * @package WPStaging\Frontend
129
  return false;
130
  }
131
 
 
 
 
 
 
 
 
132
  if (!is_user_logged_in()) {
133
  return true;
134
  }
139
  return true;
140
  }
141
 
 
142
  $currentUser = wp_get_current_user();
143
+
144
+ if (defined('WPSTGPRO_VERSION') && !empty($this->settings->usersWithStagingAccess)) {
145
+ $usersWithStagingAccess = explode(',', $this->settings->usersWithStagingAccess);
146
+
147
+ // check against usernames
148
+ if (in_array($currentUser->user_login, $usersWithStagingAccess, true)) {
149
+ return false;
150
+ }
151
+
152
+ // check against emails
153
+ if (in_array($currentUser->user_email, $usersWithStagingAccess, true)) {
154
+ return false;
155
+ }
156
+ }
157
+
158
+ // Require login form if user is not in specific user role
159
  $activeUserRoles = $currentUser->roles;
160
 
161
  $result = isset($this->settings->userRoles) && is_array($this->settings->userRoles) ?
Frontend/LoginForm.php CHANGED
@@ -67,7 +67,7 @@ class LoginForm
67
  do_action('wp_login', $username, get_userdata($user_data->ID));
68
 
69
  if (!empty($_POST['redirect_to'])) {
70
- $redirectTo = $this->sanitize->sanitizeURL($_POST['redirect_to']);
71
  }
72
 
73
  header('Location:' . $redirectTo);
@@ -172,7 +172,7 @@ class LoginForm
172
  // Default 'redirect' value takes the user back to the request URI.
173
  $httpHost = !empty($_SERVER['HTTP_HOST']) ? $this->sanitize->sanitizeString($_SERVER['HTTP_HOST']) : '';
174
  $requestURI = !empty($_SERVER['REQUEST_URI']) ? $this->sanitize->sanitizeString($_SERVER['REQUEST_URI']) : '';
175
- $redirect = $this->sanitize->sanitizeURL((is_ssl() ? 'https://' : 'http://') . $httpHost . $requestURI);
176
  $lostPasswordUrl = wp_lostpassword_url($redirect);
177
  $arguments = wp_parse_args(
178
  $overrides,
67
  do_action('wp_login', $username, get_userdata($user_data->ID));
68
 
69
  if (!empty($_POST['redirect_to'])) {
70
+ $redirectTo = sanitize_url($_POST['redirect_to']);
71
  }
72
 
73
  header('Location:' . $redirectTo);
172
  // Default 'redirect' value takes the user back to the request URI.
173
  $httpHost = !empty($_SERVER['HTTP_HOST']) ? $this->sanitize->sanitizeString($_SERVER['HTTP_HOST']) : '';
174
  $requestURI = !empty($_SERVER['REQUEST_URI']) ? $this->sanitize->sanitizeString($_SERVER['REQUEST_URI']) : '';
175
+ $redirect = sanitize_url((is_ssl() ? 'https://' : 'http://') . $httpHost . $requestURI);
176
  $lostPasswordUrl = wp_lostpassword_url($redirect);
177
  $arguments = wp_parse_args(
178
  $overrides,
assets/css/dist/wpstg-admin.css CHANGED
@@ -1,3 +1,4 @@
 
1
  /**
2
  * WPSTG Admin CSS
3
  *
@@ -6,3611 +7,2990 @@
6
  * @copyright Copyright (c) 2021, René Hermenau
7
  * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
8
  */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
 
10
  /* Font Faces */
11
-
12
  /* roboto-regular - latin */
13
  @font-face {
14
- font-family: 'Roboto';
15
- font-style: normal;
16
- font-weight: 400;
17
- src: url('../../fonts/roboto-v29-latin-regular.eot'); /* IE9 Compat Modes */
18
- src: local(''),
19
- url('../../fonts/roboto-v29-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
20
- url('../../fonts/roboto-v29-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
21
- url('../../fonts/roboto-v29-latin-regular.woff') format('woff'), /* Modern Browsers */
22
- url('../../fonts/roboto-v29-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
23
- url('../../fonts/roboto-v29-latin-regular.svg#Roboto') format('svg'); /* Legacy iOS */
24
- }
25
 
26
  /* Colors */
27
-
28
  .wpstg--violet {
29
- color: #9d37ae;
30
- }
31
 
32
  .wpstg-border--violet {
33
- border: 1px solid #9d37ae;
34
- }
35
 
36
  .wpstg--red {
37
- color: #E01E5A;
38
- }
39
 
40
  .wpstg-cta--red {
41
- color: #fe008f;
42
- }
43
 
44
  .wpstg--blue {
45
- color: #24a1f0;
46
- }
47
 
48
  .wpstg--darkblue {
49
- color: #0e86d9;
50
- }
51
 
52
  .wpstg--green {
53
- color: #83c11f;
54
- }
55
 
56
  .wpstg--grey {
57
- color: #3e3e3e;
58
- }
59
 
60
  .wpstg--darkgrey {
61
- color: #1b1b1b;
62
- }
63
 
64
  .wpstg--filter--svg {
65
- filter: invert(24%) sepia(11%) saturate(558%) hue-rotate(169deg) brightness(97%) contrast(91%);
66
- }
67
 
68
  /* CSS for Tabs */
69
-
70
  body.wp-staging-pro_page_wpstg_backup,
71
  body.toplevel_page_wpstg_clone,
72
  body.wp-staging-pro_page_wpstg-settings,
73
  body.wp-staging-pro_page_wpstg-tools,
74
  body.wp-staging-pro_page_wpstg-license {
75
- background-color: #f3f5f7;
76
- }
77
 
78
  #wpstg-tab-container ul {
79
- list-style: none;
80
- margin: 0;
81
- padding: 0;
82
- background: #f1f1f1;
83
- float: left;
84
- }
85
 
86
  #wpstg-tab-container ul li:first-child.selected-tab {
87
- border-top: none;
88
- }
89
 
90
  #wpstg-tab-container ul li a.selected-tab {
91
- font-weight: bold;
92
- text-decoration: none;
93
- }
94
 
95
  #wpstg-tab-container .row {
96
- padding-top: 10px;
97
- padding-bottom: 12px;
98
- }
99
 
100
  .wpstg-tabs-container .nav-tab-wrapper {
101
- padding: 0;
102
- }
103
 
104
  #wpstg-tab-container .row label strong,
105
  #wpstg-tab-container .row strong {
106
- font-weight: bold;
107
- }
108
 
109
  .wpstg-tabs a {
110
- padding: 5px;
111
- }
112
 
113
  #wpstg-tab-container > ul > li.wpstg-tabs.active {
114
- background-color: white;
115
- }
116
 
117
  #wpstg_settingsgeneral_header .row:nth-child(3),
118
  #wpstg_settingsgeneral_header .row:nth-child(4) {
119
- display: none;
120
- }
121
 
122
  #wpstg-tab-container .wpstg-settings-panel {
123
- padding: 0 20px 20px 20px;
124
- overflow: auto;
125
- }
126
 
127
  #wpstg-tab-container .wpstg-form-table th {
128
- vertical-align: top;
129
- text-align: left;
130
- padding: 20px 10px 20px 0;
131
- line-height: 1.3;
132
- font-weight: bold;
133
- font-size: 14px;
134
- color: #484848;
135
- width: 30%;
136
- }
137
 
138
  #wpstg-tab-container .wpstg-form-table tr {
139
- border-bottom: 1px solid #E7E7E7;
140
- }
141
 
142
  #wpstg-tab-container span.description {
143
- display: block;
144
- font-weight: 400;
145
- font-style: normal;
146
- font-size: 13px;
147
- margin-top: 7px;
148
- color: #484848;
149
- }
150
 
151
  #wpstg-tab-container .col-title {
152
- color: #484848;
153
- }
154
 
155
  @media only screen and (max-width: 680px) {
156
- #wpstg-tab-container ul {
157
- float: none;
158
- }
159
-
160
- #wpstg-tab-container .wpstg-form-table tr > th {
161
- width: 100%;
162
- }
163
-
164
- #wpstg-tab-container span.description {
165
- font-size: 14px;
166
- }
167
-
168
- #wpstg-tab-container .wpstg-form-table tr > th,
169
- #wpstg-tab-container .wpstg-form-table tr > td {
170
- padding: 10px;
171
- }
172
- }
173
 
174
  #wpstg-tab-container ul li {
175
- margin-bottom: 0;
176
- }
177
 
178
  #wpstg-tab-container ul li a {
179
- display: block;
180
- padding: 10px 4px 10px 14px;
181
- border-width: 1px 0;
182
- border-style: solid;
183
- border-top-color: white;
184
- border-bottom-color: #e7e7e7;
185
- text-decoration: none;
186
- color: #0097DF;
187
- font-weight: bold;
188
- }
189
 
190
  #wpstg-tab-container ul li a:hover {
191
- background-color: #e5e5e5;
192
- color: #777777;
193
- }
194
 
195
  .wpstg-logo {
196
- display: block;
197
- font-size: 16px;
198
- padding-top: 20px;
199
- width: 220px;
200
- float: left;
201
- }
202
 
203
  .wpstg-logo img {
204
- max-width: 212px;
205
- }
206
 
207
  .wpstg-version {
208
- display: block;
209
- padding-top: 40px;
210
- color: #9b9b9b;
211
- }
212
 
213
  .wpstg_admin .nav-tab {
214
- color: #3C3C3C;
215
- }
216
 
217
  #wpstg-tab-container table tbody tr:nth-child(1) > th > div {
218
- font-size: 20px;
219
- }
220
 
221
  /* Cloning workflow */
222
-
223
  #wpstg-clonepage-wrapper {
224
- margin-bottom: 20px;
225
- width: 98%;
226
- }
227
 
228
  @media screen and (min-width: 1090px) {
229
- #wpstg-clonepage-wrapper {
230
- float: left;
231
- margin-bottom: 20px;
232
- }
233
- }
234
 
235
  #wpstg-steps {
236
- margin-top: 0px;
237
- margin-left: 20px;
238
- }
239
 
240
  #wpstg-steps li {
241
- color: #444;
242
- line-height: 20px;
243
- padding-right: 10px;
244
- float: left;
245
- }
246
 
247
  .wpstg-step-num {
248
- border: 1px solid #3e3e3e;
249
- border-radius: 3px;
250
- display: inline-block;
251
- width: 20px;
252
- height: 20px;
253
- text-align: center;
254
- margin-right: 5px;
255
- }
256
 
257
  .wpstg-current-step {
258
- font-weight: bold;
259
- }
260
 
261
  .wpstg-current-step .wpstg-step-num {
262
- background: #3e3e3e;
263
- color: #eee;
264
- }
265
 
266
  .wpstg-box {
267
- margin: 10px 0;
268
- padding: 10px;
269
- position: relative;
270
- overflow: hidden;
271
- transition: border-color .2s ease-in-out;
272
- }
273
 
274
  .wpstg-clone {
275
- margin-bottom: 10px;
276
- padding: 16px;
277
- position: relative;
278
- transition: border-color .2s ease-in-out;
279
- background-color: #ffffff;
280
- color: #3e3e3e;
281
- border-radius: 3px;
282
- box-shadow: 0 0 1px rgba(0, 0, 0, .125), 0 1px 3px rgba(0, 0, 0, .1);
283
- }
284
 
285
  .wpstg-clone.active {
286
- border-color: #1d94cf;
287
- }
288
 
289
  .wpstg-clone-header {
290
- display: flex;
291
- align-items: center;
292
- }
293
 
294
  .wpstg-clone-title {
295
- display: inline-block;
296
- margin-right: 8px;
297
- font-size: 15px;
298
- max-width: 300px;
299
- text-decoration: none;
300
- font-weight: bold;
301
- color: #3e3e3e;
302
- }
303
 
304
  .wpstg-clone-title:hover {
305
- color: #111111;
306
- }
307
 
308
  .wpstg-clone-labels {
309
- display: inline-block;
310
- }
311
-
312
 
313
  .wpstg-clone-labels .wpstg-clone-label {
314
- display: inline-block;
315
- padding: 1px 4px;
316
- margin-right: 4px;
317
- font-size: 11px;
318
- border-radius: 3px;
319
- background: #8bc34a;
320
- color: #fff;
321
- }
322
 
323
  .wpstg-clone-actions {
324
- margin-left: auto;
325
- display: flex;
326
- margin-top: 5px;
327
- }
328
 
329
  .wpstg-dropdown {
330
- position: relative;
331
- }
332
 
333
  .wpstg-clone-actions .wpstg-dropdown-toggler {
334
- text-decoration: none;
335
- background: #25a1f0;
336
- padding: 6px 10px;
337
- border-radius: 2px;
338
- font-size: 14px;
339
- box-shadow: 0 0 1px rgba(0, 0, 0, .125), 0 1px 3px rgba(0, 0, 0, .2);
340
- color: #ffffff;
341
- }
342
 
343
  .wpstg-clone-actions .wpstg-dropdown-toggler:hover {
344
- background: #002648;
345
- color: white;
346
- }
347
 
348
  .wpstg-dropdown {
349
- position: relative;
350
- }
351
 
352
  .wpstg-dropdown > .wpstg-dropdown-menu {
353
- background: #fff;
354
- display: none;
355
- flex-direction: column;
356
- position: absolute;
357
- right: 0;
358
- top: calc(100% + 4px);
359
- padding: 8px;
360
- border-radius: 2px;
361
- width: 100px;
362
- box-shadow: 0 0 1px rgba(0, 0, 0, .125), 0 1px 3px rgba(0, 0, 0, .2);
363
- z-index: 1000;
364
- }
365
 
366
  .wpstg-dropdown > .wpstg-dropdown-menu.wpstg-menu-dropup {
367
- top: auto;
368
- bottom: 100%;
369
- transform: translate3d(0px, -3px, 0px);
370
- }
371
 
372
  .wpstg-dropdown > .wpstg-dropdown-menu.shown {
373
- display: flex;
374
- }
375
 
376
  .wpstg-clone-action,
377
  .wpstg-dropdown-action {
378
- color: #3e3e3e;
379
- padding: 6px 8px;
380
- border-radius: 3px;
381
- text-decoration: none;
382
- position: relative;
383
- transition: color .2s ease-in-out;
384
- border-bottom: 1px solid #f3f3f3;
385
- }
386
 
387
  .wpstg-clone-action:hover,
388
  .wpstg-dropdown-action:hover {
389
- background: rgba(0, 0, 0, 0.05);
390
- }
391
 
392
  .wpstg-dropdown-action {
393
- color: #3e3e3e;
394
- background: transparent;
395
- border: 0 solid black;
396
- outline: none;
397
- box-shadow: none;
398
- }
399
 
400
  .wpstg-remove-clone:hover {
401
- color: #E01E5A;
402
- }
403
 
404
  .wpstg-clone-action:last-child {
405
- border: none;
406
- }
407
 
408
  .wpstg-clone:hover .wpstg-clone-action {
409
- display: inline-block;
410
- }
411
 
412
  #wpstg-show-error-details:focus,
413
  #wpstg-workflow .wpstg-clone-action {
414
- outline: none;
415
- box-shadow: none;
416
- }
417
 
418
  .wpstg-link-btn {
419
- background: #45a1c9;
420
- color: #fff;
421
- display: inline-block;
422
- padding: 5px 10px;
423
- text-decoration: none;
424
- vertical-align: baseline;
425
- transition: all .2s ease-in-out;
426
- }
427
 
428
  .wpstg-link-btn:hover,
429
  .wpstg-link-btn:focus {
430
- color: #fff;
431
- outline: none;
432
- box-shadow: none;
433
- }
434
 
435
  #wpstg-workflow .wpstg-link-btn:active {
436
- vertical-align: baseline;
437
- }
438
 
439
  .wpstg-link-btn[disabled] {
440
- background: #777 !important;
441
- border-color: #555 !important;
442
- pointer-events: none;
443
- }
444
 
445
  #wpstg-cancel-cloning,
446
  #wpstg-cancel-cloning-update {
447
- margin-top: 5px;
448
- }
449
 
450
  #wpstg-cancel-cloning.success,
451
  #wpstg-cancel-cloning.success {
452
- background: #64dd58;
453
- border-color: #54bd4a;
454
- }
455
 
456
  #wpstg-error-wrapper,
457
  #wpstg-error-details {
458
- display: none;
459
- padding-top: 10px;
460
- font-size: 13px;
461
- clear: both;
462
- }
463
 
464
  #wpstg-show-error-details {
465
- display: inline-block;
466
- margin-left: 5px;
467
- color: #555;
468
- text-decoration: none;
469
- transition: color .2s ease-in-out;
470
- }
471
 
472
  #wpstg-show-error-details:hover {
473
- color: #1d94cf;
474
- }
475
 
476
  #wpstg-error-details {
477
- border-left: 5px solid #E01E5A;
478
- padding: 10px;
479
- width: 500px;
480
- }
481
 
482
  #wpstg-try-again {
483
- display: none;
484
- }
485
 
486
  #wpstg-home-link {
487
- float: right;
488
- }
489
 
490
  .wpstg-loader {
491
- content: url('../../img/loading.gif');
492
- display: none;
493
- }
494
 
495
  .wpstg-loader.wpstg-finished {
496
- display: block;
497
- content: "Finished";
498
- background-color: #00c89a;
499
- color: white;
500
- padding: 2px 10px;
501
- margin-top: 0;
502
- border-radius: 3px;
503
- }
504
 
505
  #wpstg-workflow {
506
- max-width: 800px;
507
- position: relative;
508
- clear: both;
509
- padding-top: 20px;
510
- float: left;
511
- min-width: 500px;
512
- min-height: 380px;
513
- padding-right: 20px;
514
- padding-bottom: 20px;
515
- }
516
 
517
  #wpstg-sidebar {
518
- float: left;
519
- max-width: 400px;
520
- display: block;
521
- margin-left: 10px;
522
- }
523
 
524
  #wpstg-workflow.loading::after,
525
  #wpstg-removing-clone.loading::after {
526
- background: rgba(255, 255, 255, .7);
527
- content: 'Loading... may take a while for huge websites';
528
- display: block;
529
- width: 100%;
530
- height: 100%;
531
- font-size: 20px;
532
- padding-top: 100px;
533
- text-align: center;
534
- position: absolute;
535
- top: 0;
536
- left: 0;
537
- z-index: 99;
538
- }
539
 
540
  #wpstg-removing-clone.loading::after {
541
- content: 'REMOVING' !important;
542
- }
543
 
544
  #wpstg-existing-clones,
545
  #wpstg-removing-clone {
546
- position: relative;
547
- }
548
 
549
  #wpstg-existing-clones h3 {
550
- color: #3e3e3e;
551
- }
552
 
553
  #wpstg-removing-clone .wpstg-tab-section {
554
- display: block;
555
- }
556
 
557
  .wpstg-progress-bar {
558
- max-width: 900px;
559
- height: 27px;
560
- padding: 0;
561
- background-color: #d6d8d7;
562
- }
563
 
564
  .wpstg-progress {
565
- float: left;
566
- background: #3fa5ee;
567
- width: 0;
568
- height: 100%;
569
- transition: width .6s ease;
570
- color: white;
571
- line-height: 25px;
572
- text-align: center;
573
- overflow: hidden;
574
- }
575
 
576
  .wpstg-progress-files {
577
- background: #16b4f0;
578
- width: 0;
579
- height: 100%;
580
- transition: width .6s ease;
581
- color: white;
582
- line-height: 25px;
583
- text-align: center;
584
- }
585
 
586
  #wpstg-new-clone-id.wpstg-error-input,
587
  #wpstg-clone-path.wpstg-error-input {
588
- border: 1px solid #E01E5A;
589
- box-shadow: 0 0 2px rgba(255, 66, 53, .8);
590
- }
591
 
592
  #wpstg-new-clone-id {
593
- width: 450px;
594
- max-width: 100%;
595
- margin-left: 15px;
596
- }
597
 
598
  #wpstg-new-clone {
599
- background: #25a1f0;
600
- border-color: #2188c9;
601
- }
602
 
603
  #wpstg-new-clone:hover {
604
- background: #259be6;
605
- border-color: #2188c9;
606
- }
607
 
608
  #wpstg-clone-path {
609
- margin-left: 10px;
610
- width: 350px;
611
- }
612
 
613
  .wpstg-error-msg {
614
- color: #E01E5A;
615
- }
616
 
617
  #wpstg-clone-id-error {
618
- display: block;
619
- background-color: #f0f8ff;
620
- padding: 10px;
621
- margin: 20px;
622
- }
623
 
624
  #wpstg-start-cloning + .wpstg-error-msg {
625
- display: block;
626
- margin-top: 5px;
627
- }
628
 
629
  .wpstg-size-info {
630
- color: #999;
631
- font-weight: normal;
632
- position: relative;
633
- left: 2px;
634
- }
635
 
636
  .wpstg-db-table .wpstg-size-info {
637
- top: 2px;
638
- }
639
 
640
  .wpstg-db-table:hover {
641
- background-color: #f0f8ff;
642
- }
643
 
644
  #wpstg-workflow #wpstg-start-cloning {
645
- margin-left: 5px;
646
- vertical-align: baseline;
647
- }
648
-
649
 
650
  /* Tabs */
651
-
652
  .wpstg-tabs-wrapper {
653
- max-width: 640px;
654
- margin: 10px 0;
655
- }
656
 
657
  #wpstg-path-wrapper {
658
- border-bottom: 2px dashed #ccc;
659
- padding-bottom: 10px;
660
- margin-bottom: 10px;
661
- }
662
 
663
  .wpstg-tab-section {
664
- border-bottom: 1px solid #ddd;
665
- border-right: none;
666
- border-left: none;
667
- display: none;
668
- width: calc(100% - 72px);
669
- padding: 0px 36px;
670
- }
671
 
672
  .wpstg-tab-section::after {
673
- display: block;
674
- content: '';
675
- clear: both;
676
- }
677
 
678
  .wpstg-tab-header {
679
- border-bottom: 1px solid #ddd;
680
- border-right: none;
681
- border-left: none;
682
- color: #444;
683
- font-size: 16px;
684
- font-weight: bold;
685
- display: block;
686
- padding: 10px;;
687
- text-decoration: none;
688
- }
689
 
690
  .wpstg-tab-triangle {
691
- display: inline-block;
692
- margin-right: 12px;
693
- animation: transform 0.5s;
694
- width: 0;
695
- height: 0;
696
- margin-top: -3px;
697
- vertical-align: middle;
698
- border-top: 5px solid transparent;
699
- border-bottom: 5px solid transparent;
700
- border-left: 10px solid;
701
- transition: transform 0.2s;
702
- cursor: pointer;
703
- }
704
 
705
  .wpstg-tab-triangle.wpstg-no-icon {
706
- margin-right: 2px;
707
- width: auto;
708
- height: auto;
709
- vertical-align: auto;
710
- border-top: 0px solid;
711
- border-bottom: 0px solid;
712
- border-left: 0px solid;
713
- }
714
 
715
  .wpstg-tab-triangle.wpstg-rotate-90 {
716
- transform: rotate(90deg);
717
- }
718
 
719
  .wpstg-tab-header:focus {
720
- color: #444;
721
- outline: none;
722
- box-shadow: none;
723
- }
724
 
725
  #wpstg-large-files {
726
- display: none;
727
- border: 1px dashed #ccc;
728
- padding: 10px 10px 10px;
729
- margin-top: 20px;
730
- position: relative;
731
- font-size: 12px;
732
- }
733
 
734
  #wpstg-large-files h3 {
735
- background: #fff;
736
- margin: 0;
737
- padding: 0 5px;
738
- position: absolute;
739
- top: -10px;
740
- left: 5px;
741
- }
742
 
743
  .wpstg-subdir {
744
- display: none;
745
- margin-left: 20px;
746
- }
747
 
748
  .wpstg-subdir.wpstg-push {
749
- display: block;
750
- margin-left: 20px;
751
- }
752
 
753
  .wpstg-dir a.disabled {
754
- color: #888;
755
- cursor: default;
756
- text-decoration: none;
757
- }
758
 
759
  .wpstg-check-subdirs {
760
- display: inline-block;
761
- margin-left: 10px;
762
- }
763
 
764
  .wpstg-notice-alert {
765
- display: block;
766
- background-color: #E01E5A;
767
- padding: 20px;
768
- max-width: 600px;
769
- margin-top: 10px;
770
- color: white;
771
- }
772
 
773
  .wpstg-notice--white {
774
- display: block;
775
- background-color: #ffffff;
776
- padding: 20px;
777
- max-width: 600px;
778
- margin-top: 10px;
779
- }
780
 
781
  .wpstg-notice-alert a {
782
- color: white;
783
- }
784
 
785
  .wpstg-notice-alert h3 {
786
- color: white;
787
- }
788
 
789
  .wpstg-header {
790
- font-weight: 400;
791
- line-height: 1.6em;
792
- font-size: 19px;
793
- /*
794
  border-bottom: 1px solid #DFDFDF;
795
  */
796
- clear: both;
797
- padding-top: 10px;
798
- }
799
 
800
  #wpstg-clone-label {
801
- font-size: 14px;
802
- font-weight: bold;
803
- }
804
 
805
  .wpstg-log-details {
806
- height: 300px;
807
- overflow: scroll;
808
- max-width: 650px;
809
- font-family: monospace;
810
- font-size: 12px;
811
- line-height: 15px;
812
- border: 1px solid #FFF;
813
- background-color: black;
814
- color: #c0c0c0;
815
- padding: 3px;
816
- white-space: nowrap;
817
- margin-top: 15px;
818
- }
819
 
820
  #wpstg-finished-result {
821
- display: none;
822
- }
823
 
824
  #wpstg-remove-cloning {
825
- background: #ff3428;
826
- border-color: #e72f24;
827
- margin-top: 5px;
828
- }
829
 
830
  #wpstg-success-notice {
831
- padding: 10px;
832
- background-color: white;
833
- max-width: 900px;
834
- border: 1px solid #ccc;
835
- margin-top: 20px;
836
- }
837
 
838
  .wpstg_beta_notice {
839
- margin-bottom: 20px;
840
- }
841
 
842
  .wpstg-sysinfo {
843
- width: 700px;
844
- height: 400px;
845
- }
846
 
847
  .wpstg-form-table .col-title label {
848
- font-weight: 600;
849
- }
850
 
851
  .wpstg-form-table td:first-child {
852
- width: 30%;
853
- padding-right: 20px;
854
- }
855
 
856
  .wpstg-share-button-container {
857
- margin: 5px 0;
858
- }
859
 
860
  .wpstg-share-button-container p {
861
- margin: 0 0 10px 0;
862
- }
863
 
864
  .wpstg-share-button {
865
- display: inline-block;
866
- }
867
 
868
  .wpstg-share-button a {
869
- text-decoration: none;
870
- }
871
 
872
  .wpstg-share-button .wpstg-share {
873
- font-family: sans-serif;
874
- font-weight: bold;
875
- text-decoration: none;
876
- text-align: center;
877
- }
878
 
879
  .wpstg-share-button .wpstg-share {
880
- -webkit-border-radius: 2px;
881
- -moz-border-radius: 2px;
882
- border-radius: 2px;
883
- color: #FFF;
884
- display: inline;
885
- font-size: 12px;
886
- padding: 4px 8px;
887
- }
888
 
889
  .wpstg-share-button-twitter .wpstg-share {
890
- background-color: #00ABF0;
891
- }
892
 
893
  .wpstg-share-button-facebook .wpstg-share {
894
- background-color: #3b5998;
895
- }
896
 
897
  .wpstg-share-button-googleplus .wpstg-share {
898
- background-color: #F53424;
899
- }
900
 
901
  .wpstg-share-button-twitter .share:active,
902
  .wpstg-share-button-facebook .share:active,
903
  .wpstg-share-button-googleplus .share:active {
904
- background-color: #353535;
905
- }
906
 
907
  #wpstg-check-space {
908
- margin-left: 8px;
909
- }
910
 
911
  #wpstg-welcome li {
912
- font-size: 18px;
913
- line-height: 29px;
914
- position: relative;
915
- padding-left: 23px;
916
- list-style: none !important;
917
- }
918
 
919
  #wpstg-welcome {
920
- margin-top: 20px;
921
- margin-right: 20px;
922
- background-color: white;
923
- }
924
 
925
  .wpstg-heading-pro {
926
- font-weight: bold;
927
- }
928
 
929
  .wpstg-h2 {
930
- margin-top: 0;
931
- margin-bottom: 1.2rem;
932
- font-size: 30px;
933
- line-height: 2.5rem;
934
- }
935
 
936
  #wpstg-welcome li:before {
937
- width: 1em;
938
- height: 100%;
939
- background: url(data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%2377B227%22%20d%3D%22M1671%20566q0%2040%2D28%2068l%2D724%20724%2D136%20136q%2D28%2028%2D68%2028t%2D68%2D28l%2D136%2D136%2D362%2D362q%2D28%2D28%2D28%2D68t28%2D68l136%2D136q28%2D28%2068%2D28t68%2028l294%20295%20656%2D657q28%2D28%2068%2D28t68%2028l136%20136q28%2028%2028%2068z%22%2F%3E%3C%2Fsvg%3E) left .4em no-repeat;
940
- background-size: contain;
941
- content: "";
942
- position: absolute;
943
- top: -2px;
944
- left: 0;
945
- color: #77b227;
946
- }
947
 
948
  .wpstg-h1 {
949
- margin-bottom: 1.35rem;
950
- font-size: 2.5em;
951
- line-height: 3.68rem;
952
- letter-spacing: normal;
953
- }
954
 
955
  .wpstg--swal2-content {
956
- color: #3e3e3e;
957
- }
958
 
959
  .wpstg--swal2-content h1 {
960
- color: #444;
961
- }
962
 
963
  #wpstg-welcome h2 {
964
- margin: 0 0 15px;
965
- }
966
 
967
  #wpstg-welcome .wpstg-footer {
968
- clear: both;
969
- margin-top: 20px;
970
- font-style: italic;
971
- }
972
 
973
  #wpstg-footer {
974
- clear: both;
975
- margin-top: 20px;
976
- margin-right: 10px;
977
- padding-top: 50px;
978
- }
979
 
980
  #wpstg-footer a {
981
- text-decoration: none;
982
- }
983
 
984
  #wpstg-footer li {
985
- margin-bottom: 2px;
986
- list-style: circle;
987
- }
988
 
989
  #wpstg-footer ul {
990
- margin-left: 15px;
991
- margin-top: 0px;
992
- }
993
 
994
  .wpstg-footer--title {
995
- margin-left: 15px;
996
- }
997
 
998
  .wpstg-staging-info {
999
- margin-top: 8px;
1000
- color: #3e3e3e;
1001
- font-size: 12px;
1002
- }
1003
 
1004
  .wpstg-staging-info a {
1005
- color: #3e3e3e;
1006
- }
1007
 
1008
  .wpstg-staging-info li {
1009
- margin-bottom: 2px;
1010
- }
1011
 
1012
  .wpstg-bold {
1013
- font-weight: 600;
1014
- }
1015
 
1016
  #wpstg-processing-status {
1017
- margin-top: 5px;
1018
- font-size: 13px;
1019
- font-weight: 400;
1020
- float: left;
1021
- }
1022
 
1023
  #wpstg-processing-timer {
1024
- margin-top: 5px;
1025
- font-size: 13px;
1026
- font-weight: 400;
1027
- float: right;
1028
- }
1029
 
1030
  #wpstg-report-issue-button {
1031
- margin-left: 30px;
1032
- border: 1px solid #E01E5A;
1033
- color: #E01E5A;
1034
- background-color: white;
1035
- }
1036
 
1037
  #wpstg-report-issue-button:hover {
1038
- background-color: #dc2b62;
1039
- color: #fff;
1040
- }
1041
 
1042
  .wpstg-blue-primary {
1043
- display: inline-block;
1044
- text-decoration: none;
1045
- font-size: 13px;
1046
- height: 28px;
1047
- margin: 0;
1048
- /*
1049
  padding: 0 10px 1px;
1050
  */
1051
- cursor: pointer;
1052
- border-width: 1px;
1053
- border-style: solid;
1054
- -webkit-appearance: none;
1055
- border-radius: 3px;
1056
- white-space: nowrap;
1057
- box-sizing: border-box;
1058
- background: #25a1f0;
1059
- border-color: #2188c9;
1060
- color: #fff;
1061
- /*
1062
  text-shadow: 0 -1px 1px #006799, 1px 0 1px #006799, 0 1px 1px #006799, -1px 0 1px #006799;
1063
- */
1064
- }
1065
 
1066
  .wpstg-blue-primary:hover {
1067
- background: #127fc6;
1068
- }
1069
 
1070
  a.wpstg-blue-primary {
1071
- padding: 5px 10px;
1072
- height: auto;
1073
- }
1074
 
1075
  .wpstg-blue-primary:hover {
1076
- background-color: #259be6;
1077
- }
1078
 
1079
  .wpstg-report-issue-form {
1080
- position: absolute;
1081
- z-index: 999;
1082
- width: 300px;
1083
- background-color: #fff;
1084
- padding: 15px 15px 10px;
1085
- border: 1px solid #e8e8e8;
1086
- border-radius: 3px;
1087
- box-shadow: 0 1px 0 0 #fff inset;
1088
- display: none;
1089
- right: 0;
1090
- top: 35px;
1091
- }
1092
 
1093
  @media (max-width: 600px) {
1094
- .wpstg-report-issue-form {
1095
- position: relative;
1096
- }
1097
- }
1098
 
1099
  .wpstg-report-show {
1100
- display: block;
1101
- }
1102
 
1103
  .wpstg-field input[type=text],
1104
  .wpstg-field textarea {
1105
- width: 100%;
1106
- font-weight: 400;
1107
- line-height: 1.4;
1108
- margin-bottom: 4px;
1109
- }
1110
 
1111
  .wpstg-report-email,
1112
  .wpstg-report-hosting-provider {
1113
- width: 100%;
1114
- font-weight: 400;
1115
- font-size: .8rem;
1116
- height: 2.3rem;
1117
- line-height: 2.3rem;
1118
- border-radius: 3px;
1119
- margin-bottom: 4px;
1120
- padding: 0 10px;
1121
- }
1122
 
1123
  .wpstg-report-description {
1124
- border-radius: 3px;
1125
- font-size: .8rem;
1126
- padding: 6px 10px;
1127
- resize: none;
1128
- }
1129
 
1130
  .wpstg-report-privacy-policy {
1131
- font-size: 12px;
1132
- margin-bottom: 15px;
1133
- }
1134
 
1135
  #wpstg-report-cancel {
1136
- float: right;
1137
- margin-right: 5px;
1138
- font-weight: bold;
1139
- }
1140
 
1141
  #wpstg-success-button {
1142
- font-weight: bold;
1143
- }
1144
 
1145
  .wpstg-message {
1146
- box-sizing: border-box;
1147
- -moz-box-sizing: border-box;
1148
- background-color: #f5e0de;
1149
- border-radius: 3px;
1150
- color: rgba(0, 0, 0, .6);
1151
- height: auto;
1152
- margin: 10px 0;
1153
- min-height: 18px;
1154
- padding: 6px 10px;
1155
- position: relative;
1156
- }
1157
 
1158
  .wpstg-message.wpstg-error-message {
1159
- background-color: #f5e0de;
1160
- color: #b65147;
1161
- font-size: 12px;
1162
- }
1163
 
1164
  .wpstg-message.wpstg-success-message {
1165
- background-color: #d7f8e0;
1166
- color: #515151;
1167
- }
1168
 
1169
  .wpstg-message p {
1170
- margin: 3px 0;
1171
- font-size: 13px;
1172
- }
1173
 
1174
  .wpstg-warning {
1175
- display: block;
1176
- padding: 10px;
1177
- background-color: #ffb804;
1178
- color: #ffffff;
1179
- margin: 10px 10px 10px 0;
1180
- }
1181
 
1182
  .wpstg-warning a {
1183
- color: #ffffff;
1184
- font-weight: bold;
1185
- text-decoration: underline;
1186
- }
1187
 
1188
  .wpstg-error {
1189
- display: block;
1190
- padding: 10px !important;
1191
- background-color: #E01E5A !important;
1192
- color: #ffffff;
1193
- margin: 10px 10px 10px 0 !important;
1194
- border-color: transparent !important;
1195
- border-left-color: transparent !important;
1196
- box-shadow: none !important;
1197
- }
1198
 
1199
  .wpstg-error a {
1200
- color: #ffffff;
1201
- font-weight: bold;
1202
- text-decoration: underline;
1203
- }
1204
 
1205
  #wpstg-resume-cloning {
1206
- display: none;
1207
- }
1208
 
1209
  #wpstg-external-db th {
1210
- text-align: left;
1211
- width: 120px;
1212
- }
1213
 
1214
  #wpstg-db-connect {
1215
- font-weight: normal;
1216
- }
1217
 
1218
  #wpstg-db-status {
1219
- display: block;
1220
- margin-top: 5px;
1221
- padding: 5px;
1222
- margin-bottom: 20px;
1223
- border: 1px solid transparent;
1224
- border-radius: 4px;
1225
- text-decoration: none;
1226
- text-align: center;
1227
- }
1228
 
1229
  .wpstg-text-field > #wpstg-db-status {
1230
- margin-top: 8px;
1231
- margin-left: 150px;
1232
- min-width: 300px;
1233
- }
1234
 
1235
  .wpstg-success {
1236
- color: #3c763d;
1237
- background-color: #dff0d8;
1238
- border-color: #d6e9c6;
1239
- }
1240
 
1241
  .wpstg-failed {
1242
- color: #a94442;
1243
- background-color: #f2dede;
1244
- border-color: #ebccd1;
1245
- }
1246
 
1247
  #wpstg_select_tables_cloning {
1248
- height: 600px;
1249
- font-size: 13px;
1250
- }
1251
 
1252
  #wpstg_select_tables_pushing {
1253
- height: 400px;
1254
- font-size: 13px;
1255
- }
1256
 
1257
  #wpstg-update-notify {
1258
- background-color: #E01E5A;
1259
- font-size: 14px;
1260
- color: #ffffff;
1261
- line-height: normal;
1262
- padding: 10px;
1263
- }
1264
 
1265
  #wpstg-update-notify a {
1266
- color: #ffffff;
1267
- font-weight: bold;
1268
- }
1269
 
1270
  .wpstg-pointer {
1271
- cursor: pointer;
1272
- }
1273
 
1274
  .wpstg--tab--header {
1275
- background-color: white;
1276
- position: relative;
1277
- transition: border-color .2s ease-in-out;
1278
- background-color: #ffffff;
1279
- color: #3e3e3e;
1280
- border-radius: 0px;
1281
- box-shadow: 0 0 1px rgba(0, 0, 0, .125), 0 1px 3px rgba(0, 0, 0, .02);
1282
- }
1283
 
1284
  .wpstg--tab--header ul {
1285
- display: flex;
1286
- }
1287
 
1288
  .wpstg--tab--header ul li {
1289
- margin-right: 1em;
1290
- margin-bottom: 0px;
1291
- }
1292
 
1293
  .wpstg--tab--header ul li:last-child {
1294
- margin-right: 0;
1295
- }
1296
 
1297
  .wpstg--tab--header a {
1298
- min-width: 150px;
1299
- text-align: center;
1300
- cursor: pointer;
1301
- display: inline-block;
1302
- padding: 1em 1.25em;
1303
- padding-bottom: 9px;
1304
- color: #c4c4c4;
1305
- font-size: 18px;
1306
- }
1307
 
1308
  .wpstg--tab--header a.wpstg--tab--active {
1309
- border-bottom: 3px solid #0e86d9;
1310
- color: #25A1F0;
1311
- }
1312
 
1313
  .wpstg--tab--header a:hover {
1314
- background-color: #fefefe;
1315
- border-bottom: 3px solid #0e86d9;
1316
- color: #0e86d9;
1317
- }
1318
 
1319
  .wpstg--tab--content {
1320
- display: none;
1321
- }
1322
 
1323
  .wpstg--tab--active {
1324
- display: block;
1325
- }
1326
 
1327
  #wpstg-premium-header {
1328
- font-size: 1.5rem;
1329
- font-weight: bold;
1330
- }
1331
 
1332
  .wpstg--text--strong,
1333
  .wpstg--text--strong * {
1334
- font-weight: bold !important;
1335
- }
1336
 
1337
  .wpstg--text--danger {
1338
- color: #a94442;
1339
- }
1340
 
1341
  .wpstg--tooltip {
1342
- position: relative;
1343
- display: inline-block;
1344
- margin-left: 5px;
1345
- }
1346
 
1347
  .wpstg--tooltip.wpstg--tooltip-normal {
1348
- margin-left: 0;
1349
- border-bottom: 0;
1350
- }
1351
 
1352
  .wpstg--tooltip .wpstg--tooltiptext {
1353
- visibility: hidden;
1354
- width: 300px;
1355
- background-color: #ffffff;
1356
- color: #505050;
1357
- text-align: left;
1358
- padding: 12px;
1359
- border-radius: 3px;
1360
- position: absolute;
1361
- z-index: 1;
1362
- -webkit-box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
1363
- -moz-box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
1364
- box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
1365
- font-weight: normal;
1366
- }
1367
 
1368
  .wpstg--tooltiptext-backups {
1369
- width: 120px;
1370
- top: 100%;
1371
- left: -150%;
1372
- margin-left: -56px;
1373
- margin-top: 4px;
1374
- }
1375
 
1376
  .wpstg--tooltip.wpstg--exclude-rules--tooltip {
1377
- border-bottom: 0px solid transparent;
1378
- }
1379
 
1380
  .wpstg--tooltip.wpstg--exclude-rules--tooltip > .wpstg--tooltiptext {
1381
- margin-top: 0px;
1382
- margin-left: -150px;
1383
- }
1384
 
1385
  /**
1386
  Tooltip top arrow
1387
  */
1388
-
1389
  .wpstg--tooltip .wpstg--tooltiptext-backups::after {
1390
- content: " ";
1391
- position: absolute;
1392
- bottom: 100%;
1393
- /* At the top of the tooltip */
1394
- left: 50%;
1395
- margin-left: 25px;
1396
- border-width: 5px;
1397
- border-style: solid;
1398
- border-color: transparent transparent white transparent;
1399
- }
1400
 
1401
  .wpstg--tooltip .wpstg--tooltiptext.has-top-arrow {
1402
- margin-top: 6px;
1403
- }
1404
 
1405
  .wpstg--tooltip .wpstg--tooltiptext.has-top-arrow::after {
1406
- content: " ";
1407
- position: absolute;
1408
- bottom: 100%;
1409
- left: 50%;
1410
- margin-left: -18px;
1411
- border-width: 5px;
1412
- border-style: solid;
1413
- border-color: transparent transparent white transparent;
1414
- }
1415
 
1416
  .wpstg--snaphot-restore-table tr {
1417
- line-height: 12px;
1418
- }
1419
 
1420
  .wpstg-float-left {
1421
- float: left;
1422
- }
1423
 
1424
  .wpstg-beta-notice {
1425
- background-color: #b0e8b0;
1426
- border-radius: 3px;
1427
- padding: 7px;
1428
- margin-bottom: 20px;
1429
- }
1430
 
1431
  #wpstg-backup-name {
1432
- font-size: 1.875em;
1433
- font-weight: 600;
1434
- }
1435
 
1436
  #wpstg_select_tables_cloning option:checked,
1437
  #wpstg_select_tables_pushing option:checked {
1438
- /* Cannot use background color here because Chrome and Firefox ignore it even if set to !important */
1439
- -webkit-appearance: menulist-button;
1440
- background-image: linear-gradient(0deg, #1e90ff 0%, #1e90ff 100%);
1441
- }
1442
 
1443
  .wpstg--btn--cancel {
1444
- background: #ff3428;
1445
- border-color: #e72f24;
1446
- color: #fff;
1447
- height: auto;
1448
- line-height: normal;
1449
- font-size: 16px;
1450
- padding: .5em;
1451
- margin-bottom: 1.5em;
1452
- }
1453
 
1454
  .wpstg--btn--cancel:hover {
1455
- background: #ff3428;
1456
- border-color: #e72f24;
1457
- }
1458
 
1459
  .wpstg--process--content > .wpstg--swal2-html-container {
1460
- padding: 4em 2em !important;
1461
- }
1462
 
1463
  .wpstg--modal--process--logs,
1464
  .wpstg--modal--error--logs {
1465
- background: #ffffff;
1466
- border: 1px solid #a8a8a8;
1467
- border-radius: 3px;
1468
- height: 300px;
1469
- margin-top: 1em;
1470
- display: none;
1471
- padding-top: 10px;
1472
- padding-left: 10px;
1473
- overflow: auto;
1474
- text-align: justify;
1475
- }
1476
 
1477
  .wpstg--modal--error--logs {
1478
- height: auto;
1479
- max-height: 300px;
1480
- }
1481
 
1482
  .wpstg--modal--process--logs p {
1483
- font-size: 12px;
1484
- white-space: nowrap;
1485
- }
1486
 
1487
  .wpstg--modal--process--logs p.wpstg--modal--process--msg--info {
1488
- color: #222222;
1489
- }
1490
 
1491
  .wpstg--modal--process--logs p.wpstg--modal--process--msg--debug {
1492
- color: #757575;
1493
- }
1494
 
1495
  .wpstg--modal--process--title {
1496
- color: #565656;
1497
- margin: .25em 0;
1498
- }
1499
 
1500
  .wpstg--modal--process--subtitle {
1501
- margin: .5em 0;
1502
- color: #565656;
1503
- }
1504
 
1505
  .wpstg--modal--error--logs > p {
1506
- text-align: left;
1507
- font-size: 14px;
1508
- color: #222222;
1509
- }
1510
 
1511
  .wpstg--modal--process--logs p,
1512
  .wpstg--modal--error--logs p {
1513
- margin: 0px;
1514
- margin-bottom: 2px;
1515
- }
1516
 
1517
  .wpstg--modal--process--msg--error {
1518
- color: #E01E5A;
1519
- }
1520
 
1521
  .wpstg--modal--process--msg--critical {
1522
- color: #E01E5A;
1523
- }
1524
 
1525
  .wpstg--modal--process--msg--warning {
1526
- color: darkorange;
1527
- }
1528
 
1529
  .wpstg--modal--process--msg-found {
1530
- font-size: 16px;
1531
- color: #E01E5A;
1532
- font-weight: bold;
1533
- }
1534
 
1535
  .wpstg--modal--delete {
1536
- text-align: left;
1537
- margin-top: 8px;
1538
- color: #565656;
1539
- }
1540
 
1541
  .wpstg-swal-popup .wpstg--swal2-cancel.wpstg--btn--cancel {
1542
- margin-bottom: 0;
1543
- text-shadow: none !important;
1544
- }
1545
 
1546
  .wpstg-swal-popup .wpstg-loader {
1547
- display: inline-block !important;
1548
- }
1549
 
1550
  .wpstg--modal--process--generic-problem {
1551
- display: none;
1552
- border-left: 5px solid #E01E5A;
1553
- margin: .5em 0;
1554
- }
1555
 
1556
  .wpstg--modal--process--logs--tail {
1557
- font-size: 16px;
1558
- color: #565656;
1559
- background: none;
1560
- border: none;
1561
- cursor: pointer;
1562
- text-decoration: underline;
1563
- }
1564
 
1565
  .wpstg--modal--backup--import--upload--title {
1566
- color: #3e3e3e;
1567
- }
1568
 
1569
  .wpstg--modal--backup--import--configure,
1570
  .wpstg--modal--backup--import--upload--status,
1571
  .wpstg--modal--backup--import--upload--container input[type="file"] {
1572
- display: none;
1573
- }
1574
 
1575
  #wpstg--backups--import--file-list {
1576
- font-size: 14px;
1577
- font-weight: bold;
1578
- }
1579
 
1580
  #wpstg--backups--import--file-list-empty {
1581
- color: #E01E5A;
1582
- }
1583
 
1584
  .wpstg--modal--backup--import--filesystem label {
1585
- font-size: 14px;
1586
- }
1587
 
1588
  .wpstg--modal--backup--import--filesystem button {
1589
- margin-bottom: 20px;
1590
- }
1591
 
1592
  .wpstg--modal--backup--import--upload {
1593
- position: relative;
1594
- min-height: 30px;
1595
- }
1596
 
1597
  .wpstg--modal--backup--import--upload {
1598
- color: #505050;
1599
- }
1600
 
1601
  .wpstg--modal--backup--import--upload--container {
1602
- position: relative;
1603
- border-radius: 10px;
1604
- margin: .5em;
1605
- padding: 1em .5em;
1606
- border: 3.5px dashed #dedede;
1607
- transition: background-color 0.3s ease, color 0.3s ease;
1608
- background-color: #f4fbff;
1609
- min-height: 130px;
1610
- }
1611
 
1612
  .wpstg--modal--backup--import--upload--container.wpstg--has-dragover span.wpstg--drop {
1613
- display: inline-flex;
1614
- }
1615
 
1616
  .wpstg--modal--backup--import--upload--container input[type='file'] {
1617
- display: none;
1618
- }
1619
 
1620
  .wpstg--modal--backup--import--upload--container img {
1621
- margin-top: 10px;
1622
- width: 4em;
1623
- align-self: center;
1624
- border: none;
1625
- }
1626
 
1627
  .wpstg--modal--backup--import--upload--container span {
1628
- margin-top: 1em;
1629
- }
1630
 
1631
  .wpstg--backup--import--options > button {
1632
- margin-top: 1em;
1633
- padding: 1em;
1634
- align-self: center;
1635
- width: 185px;
1636
- height: auto;
1637
- line-height: normal;
1638
- }
1639
 
1640
  .wpstg--backup--import--options {
1641
- position: relative;
1642
- display: flex;
1643
- justify-content: center;
1644
- }
1645
 
1646
  .wpstg--backup--import--options ul {
1647
- display: none;
1648
- }
1649
 
1650
  .wpstg--backup--import--options.wpstg--show-options ul {
1651
- padding: 0;
1652
- margin: 54px 0 0 0;
1653
- display: block;
1654
- position: absolute;
1655
- width: 185px;
1656
- background: #25a1f0;
1657
- box-sizing: border-box;
1658
- border-radius: 0 0 3px 3px;
1659
- border-width: 1px;
1660
- border-color: #2188c9;
1661
- text-shadow: 0 -1px 1px #006799, 1px 0 1px #006799, 0 1px 1px #006799, -1px 0 1px #006799;
1662
- }
1663
 
1664
  .wpstg--backup--import--options.wpstg--show-options ul li {
1665
- border-bottom: .1em solid #25a1f0;
1666
- margin: 0;
1667
- }
1668
 
1669
  .wpstg--backup--import--options.wpstg--show-options ul li:hover {
1670
- background-color: #25a1f0;
1671
- }
1672
 
1673
  .wpstg--backup--import--options.wpstg--show-options ul li:last-child {
1674
- border-bottom: none;
1675
- }
1676
 
1677
  .wpstg--backup--import--options ul li button {
1678
- cursor: pointer;
1679
- background: none;
1680
- border: none;
1681
- margin: 0;
1682
- width: 100%;
1683
- color: white;
1684
- height: 40px;
1685
- line-height: 40px;
1686
- }
1687
 
1688
  .wpstg--backup--import--options ul li button:hover {
1689
- background-color: #259be6;
1690
- }
1691
 
1692
  .wpstg--modal--backup--import--search-replace--info {
1693
- margin: 1em 0;
1694
- display: flex;
1695
- flex-direction: row;
1696
- }
1697
 
1698
  .wpstg--modal--backup--import--info p {
1699
- text-align: left;
1700
- margin: 0;
1701
- }
1702
 
1703
  .wpstg--modal--backup--import--search-replace--wrapper button {
1704
- align-self: center;
1705
- }
1706
 
1707
  .wpstg--import--advanced-options--button {
1708
- border: 0;
1709
- border-radius: 3px;
1710
- font-size: 18px;
1711
- text-shadow: 0 -1px 1px #006799, 1px 0 1px #006799, 0 1px 1px #006799, -1px 0 1px #006799;
1712
- cursor: pointer;
1713
- }
1714
 
1715
  .wpstg--modal--backup--import--search-replace--new {
1716
- color: white;
1717
- background-color: #25a1f0;
1718
- }
1719
 
1720
  .wpstg--modal--backup--import--search-replace--remove {
1721
- color: white;
1722
- background-color: #25a1f0;
1723
- width: 22px;
1724
- height: 22px;
1725
- margin-left: 5px;
1726
- }
1727
 
1728
  .wpstg--modal--backup--import--search-replace--input-group:first-child button {
1729
- display: none;
1730
- }
1731
 
1732
  .wpstg--modal--backup--import--search-replace--input--container {
1733
- flex: 1;
1734
- display: flex;
1735
- flex-direction: column;
1736
- }
1737
 
1738
  .wpstg--modal--backup--import--search-replace--input-group {
1739
- width: 100%;
1740
- border-bottom: 6px solid #f1f1f1;
1741
- margin-bottom: 10px;
1742
- }
1743
 
1744
  .wpstg--modal--backup--import--search-replace--input-group input {
1745
- min-width: 250px;
1746
- width: calc(50% - 4px - 11px - 5px); /* -4px is half of the padding; -11px is half of the button; -5 is the margin left of the button */
1747
- display: inline-block;
1748
- line-height: 10px;
1749
- border: 1px solid #dedede;
1750
- border-radius: 3px;
1751
- color: #666;
1752
- padding: 8px;
1753
- margin-bottom: 12px;
1754
- }
1755
 
1756
  .wpstg--modal--import--upload--process {
1757
- display: none;
1758
- position: relative;
1759
- height: 30px;
1760
- margin-top: 20px;
1761
- margin-bottom: 20px;
1762
- width: 100%;
1763
- top: 0;
1764
- left: 0;
1765
- text-indent: 1em;
1766
- white-space: nowrap;
1767
- overflow: hidden;
1768
- color: #333333;
1769
- justify-content: center;
1770
- align-items: center;
1771
- }
1772
 
1773
  .wpstg--modal--import--upload--progress {
1774
- position: absolute;
1775
- background: #98d452;
1776
- color: white;
1777
- height: 100%;
1778
- border-radius: 4px;
1779
- left: 0;
1780
- top: 0;
1781
- }
1782
 
1783
  .wpstg--modal--import--upload--progress--title {
1784
- z-index: 9;
1785
- }
1786
 
1787
  .wpstg-fieldset:disabled {
1788
- opacity: 0.8;
1789
- border-top: 1px solid white;
1790
- margin-top: 20px;
1791
- }
1792
 
1793
  .wpstg-fieldset {
1794
- padding-left: 20px;
1795
- }
1796
 
1797
  .wpstg-fs-14 {
1798
- font-size: 14px;
1799
- }
1800
 
1801
  .wpstg-dark-alert {
1802
- font-weight: bold;
1803
- background-color: #0e86d9;
1804
- padding: 30px;
1805
- margin-top: 0px;
1806
- color: white;
1807
- }
1808
 
1809
- .wpstg-dark-alert ul{
1810
- list-style: initial;
1811
- }
1812
 
1813
  .wpstg-form-group {
1814
- display: block;
1815
- width: 100%;
1816
- margin-bottom: 8px;
1817
- align-items: center;
1818
- }
1819
 
1820
  .wpstg-form-group > label {
1821
- display: block;
1822
- font-weight: 700;
1823
- }
1824
 
1825
  .wpstg-text-field > input {
1826
- width: 300px;
1827
- display: block;
1828
- line-height: 1.5;
1829
- }
1830
 
1831
  .wpstg-code-segment {
1832
- display: block;
1833
- }
1834
 
1835
  .wpstg-text-field > .wpstg-code-segment {
1836
- margin-top: 4px;
1837
- min-width: 300px;
1838
- }
1839
 
1840
  .wpstg-form-group > .wpstg-checkbox {
1841
- min-width: 100%;
1842
- width: 100%;
1843
- position: relative;
1844
- }
1845
 
1846
  .wpstg-form-group > .wpstg-checkbox > input[type='checkbox'] {
1847
- left: 150px;
1848
- }
1849
 
1850
  .wpstg-rounded {
1851
- border-radius: 3px;
1852
- }
1853
 
1854
  .wpstg-white-border {
1855
- border: 1px solid white !important;
1856
- }
1857
 
1858
  .wpstg-ml-4 {
1859
- margin-left: 4px;
1860
- }
1861
 
1862
  #wpstg-confirm-backup-restore-data {
1863
- margin: 40px;
1864
- text-align: left;
1865
- }
1866
 
1867
  #wpstg-advanced-settings hr {
1868
- margin: 20px 0;
1869
- }
1870
 
1871
  .wpstg-form-row {
1872
- display: block;
1873
- }
1874
 
1875
  .wpstg-form-row label,
1876
  .wpstg-form-row input {
1877
- display: table-cell;
1878
- padding-left: 5px;
1879
- padding-right: 5px;
1880
- margin-top: 3px;
1881
- margin-bottom: 3px;
1882
- }
1883
 
1884
  .wpstg-form-row input {
1885
- width: 400px;
1886
- }
1887
 
1888
  .wpstg-form-row label {
1889
- font-weight: bold;
1890
- width: 1px;
1891
- white-space: nowrap;
1892
- }
1893
 
1894
  #wpstg-db-connect-output #wpstg-db-status {
1895
- width: 390px;
1896
- }
1897
 
1898
  .wpstg-fs-14 {
1899
- font-size: 14px;
1900
- }
1901
 
1902
  .wpstg-code-segment {
1903
- display: block;
1904
- }
1905
 
1906
  .wpstg-form-group > .wpstg-checkbox {
1907
- min-width: 100%;
1908
- width: 100%;
1909
- }
1910
 
1911
  .wpstg-form-group > .wpstg-checkbox > input[type='checkbox'] {
1912
- margin-left: 10px;
1913
- }
1914
 
1915
  @media only screen and (max-width: 768px) {
1916
- .wpstg-form-group > label {
1917
- min-width: auto;
1918
- width: auto;
1919
- }
1920
-
1921
- .wpstg-text-field > input {
1922
- width: 100%;
1923
- }
1924
-
1925
- .wpstg-text-field > .wpstg-code-segment {
1926
- margin-left: 0;
1927
- min-width: 100%;
1928
- }
1929
-
1930
- .wpstg-tab-section {
1931
- width: calc(100vw - 60px);
1932
- max-width: 450px;
1933
- }
1934
- }
1935
 
1936
  .wpstg-rounded {
1937
- border-radius: 3px;
1938
- }
1939
 
1940
  .wpstg-white-border {
1941
- border: 1px solid white !important;
1942
- }
1943
 
1944
  .wpstg-m-0 {
1945
- margin: 0;
1946
- }
1947
 
1948
  .wpstg-mt-10px {
1949
- margin-top: 10px !important;
1950
- }
1951
 
1952
  .wpstg-mr-10px {
1953
- margin-right: 10px !important;
1954
- }
1955
 
1956
  .wpstg-my-10px {
1957
- margin-top: 10px !important;
1958
- margin-bottom: 10px !important;
1959
- }
1960
 
1961
  .wpstg-w-100 {
1962
- width: 100%;
1963
- }
1964
 
1965
  .wpstg-box-shadow {
1966
- box-shadow: 0 1px 1px 0 rgba(0, 0, 0, .1);
1967
- }
1968
 
1969
  .wpstg-float-left {
1970
- float: left;
1971
- }
1972
 
1973
  .wpstg-bold-text {
1974
- font-weight: bold;
1975
- }
1976
 
1977
  .wpstg-warning.notice {
1978
- border-left: 4px solid #ffba00;
1979
- }
1980
 
1981
  .wpstg-confirmation-label {
1982
- background-color: #5b9dd9;
1983
- color: #fff;
1984
- padding: 2px;
1985
- border-radius: 3px;
1986
- }
1987
 
1988
  .wpstg-my-6px {
1989
- margin-bottom: 6px;
1990
- margin-top: 6px;
1991
- }
1992
 
1993
  .wpstg-mb-10px {
1994
- margin-bottom: 10px;
1995
- }
1996
 
1997
  .wpstg-clear-both {
1998
- clear: both;
1999
- }
2000
 
2001
  .wpstg-font-italic {
2002
- font-style: italic;
2003
- }
2004
 
2005
  .wpstg-mt-20px {
2006
- margin-top: 20px;
2007
- }
2008
 
2009
  .wpstg-welcome-container {
2010
- border: 2px solid white;
2011
- padding: 20px;
2012
- margin-bottom: 20px;
2013
- }
2014
 
2015
  .wpstg-ml-30px {
2016
- margin-left: 30px;
2017
- }
2018
 
2019
  .wpstg-text-center {
2020
- text-align: center;
2021
- }
2022
 
2023
  .wpstg-feedback-link {
2024
- text-decoration: none;
2025
- }
2026
 
2027
  .wpstg-feedback-span {
2028
- display: block;
2029
- margin-bottom: 3px;
2030
- }
2031
 
2032
  #wpstg-confirm-backup-restore-data {
2033
- margin: 40px;
2034
- text-align: left;
2035
- }
2036
 
2037
  #wpstg-confirm-backup-restore-wrapper {
2038
- margin: 30px;
2039
- margin-top: 0;
2040
- }
2041
 
2042
  #wpstg-confirm-backup-restore-wrapper h3 {
2043
- color: #E01E5A;
2044
- }
2045
 
2046
  #wpstg-progress-db,
2047
  #wpstg-progress-backup {
2048
- background-color: #3fa5ee;
2049
- }
2050
 
2051
  #wpstg-progress-sr,
2052
  #wpstg-progress-files.wpstg-pro {
2053
- background-color: #3c9ee4;
2054
- }
2055
 
2056
  #wpstg-progress-dirs,
2057
  #wpstg-progress-data {
2058
- background-color: #3a96d7;
2059
- }
2060
 
2061
  #wpstg-progress-files:not(.wpstg-pro),
2062
  #wpstg-progress-finishing {
2063
- background-color: #378cc9;
2064
- }
2065
 
2066
  .wpstg-issue-resubmit-confirmation.wpstg--swal2-container,
2067
  .wpstg-swal2-container.wpstg--swal2-container {
2068
- z-index: 10500;
2069
- }
2070
 
2071
  .wpstg-swal2-container.wpstg-swal2-loading .wpstg--swal2-actions,
2072
  .wpstg-swal2-container.wpstg-swal2-loading .wpstg--swal2-header {
2073
- display: none;
2074
- }
2075
 
2076
  body.toplevel_page_wpstg_backup .wpstg--swal2-container .wpstg--swal2-content,
2077
  body.toplevel_page_wpstg_clone .wpstg--swal2-container .wpstg--swal2-content {
2078
- z-index: 2;
2079
- }
2080
 
2081
  .toplevel_page_wpstg_clone #swal2-content h2 {
2082
- color: #3e3e3e;
2083
- }
2084
 
2085
  .toplevel_page_wpstg_clone #swal2-content {
2086
- line-height: 1.5em;
2087
- }
2088
 
2089
  div#exportUploadsWithoutDatabaseWarning {
2090
- font-style: italic;
2091
- font-size: 0.9rem;
2092
- margin: 10px;
2093
- padding: 10px;
2094
- border: 1px solid #e3e3e3;
2095
- border-radius: 5px;
2096
- text-align: center;
2097
- background-color: #fafafa;
2098
- }
2099
 
2100
  .wpstg-advanced-options-dropdown-wrapper {
2101
- display: none; /* ENABLE WHEN WE HAVE ADVANCED OPTIONS FOR EXPORTING */
2102
- margin-top: 20px;
2103
- }
2104
 
2105
  .wpstg--modal--backup--import--search-replace--wrapper {
2106
- text-align: left;
2107
- margin-top: 20px;
2108
- }
2109
 
2110
  .wpstg--modal--backup--import--search-replace--new--wrapper {
2111
- text-align: center;
2112
- }
2113
 
2114
  .wpstg-import-backup-contains li {
2115
- display: inline-block;
2116
- margin-bottom:0px;
2117
- }
2118
 
2119
  .wpstg-import-backup-contains li .wpstg-backups-contains {
2120
- border-radius: 3px;
2121
- color: #979797;
2122
- background-color: #f4f4f4 !important;
2123
- width: 18px;
2124
- height: 18px;
2125
- font-size: 17px;
2126
- }
2127
 
2128
  .wpstg-import-backup-contains.wpstg-listing-single-backup li .wpstg-backups-contains {
2129
- padding: 2px;
2130
- background-color: white;
2131
- }
2132
 
2133
  .wpstg-import-backup-contains.wpstg-listing-single-backup li .wpstg-backups-contains > .wpstg--dashicons {
2134
- filter: invert(35%);
2135
- }
2136
 
2137
  .wpstg-import-backup-contains .wpstg--tooltiptext {
2138
- width: 80px;
2139
- font-size: 13px;
2140
- padding: 5px;
2141
- left: -25px;
2142
- text-align: center;
2143
- }
2144
 
2145
  .wpstg-import-backup-contains-title {
2146
- display: inline-block;
2147
- }
2148
 
2149
  ul.wpstg-import-backup-contains {
2150
- display: inline-block;
2151
- }
2152
 
2153
  .wpstg-import-backup-name {
2154
- display: inline-block;
2155
- font-weight: bold;
2156
- }
2157
 
2158
  .wpstg-backup-more-info-toggle {
2159
- font-size: x-small;
2160
- display: inline-block;
2161
- font-style: italic;
2162
- cursor: pointer;
2163
- }
2164
 
2165
  .wpstg-backup-more-info-toggle::selection {
2166
- background: none;
2167
- }
2168
 
2169
  ul.wpstg-import-backup-more-info {
2170
- font-size: 14px;
2171
- text-align: left;
2172
- margin-bottom: 30px;
2173
- margin-top: 10px;
2174
- background-color: #f6f6f6;
2175
- border: 1px solid #878787;
2176
- border-radius: 3px;
2177
- padding: 7px;
2178
- cursor: pointer;
2179
- }
2180
 
2181
  ul.wpstg-import-backup-more-info:hover {
2182
- background-color: #def2ff;
2183
- border: 1px solid #25a1f0;
2184
- }
2185
 
2186
  ul.wpstg-import-backup-more-info li {
2187
- height: 20px;
2188
- }
2189
 
2190
  .wpstg-backup-list {
2191
- max-width: 800px;
2192
- }
2193
 
2194
  .wpstg-backup-list h3 {
2195
- color:#3e3e3e;
2196
- }
2197
 
2198
  .wpstg-backup-list ul ul {
2199
- margin-block-start: 1em;
2200
- margin-block-end: 1em;
2201
- }
2202
 
2203
  .wpstg-push-confirmation-message {
2204
- text-align: justify;
2205
- font-size: 15px;
2206
- }
2207
 
2208
  .wpstg-settings-row {
2209
- padding-top: 10px;
2210
- padding-bottom: 10px;
2211
- }
2212
 
2213
  .wpstg-settings-title {
2214
- font-weight: 600;
2215
- }
2216
 
2217
  .wpstg-settings-form-group {
2218
- display: flex;
2219
- align-items: center;
2220
- }
2221
 
2222
  .wpstg-settings-form-group > .wpstg-settings-message {
2223
- width: 30%;
2224
- padding: 0;
2225
- margin: 7px 0 0;
2226
- }
2227
 
2228
  /**
2229
  * WP STAGING EXCLUSION RULES TABLE LAYOUT
2230
  */
2231
-
2232
  .wpstg-excluded-filters-container {
2233
- padding: 0;
2234
- margin-top: 10px;
2235
- margin-bottom: 10px;
2236
- max-width: 100%;
2237
- width: 100%;
2238
- }
2239
 
2240
  .wpstg-excluded-filters-container > table {
2241
- width: 100%;
2242
- border-collapse: collapse;
2243
- border-color: transparent;
2244
- }
2245
 
2246
  .wpstg-excluded-filters-container td {
2247
- padding-top: 4px;
2248
- padding-bottom: 4px;
2249
- height: 20px;
2250
- }
2251
 
2252
  .wpstg-excluded-filters-container h4 {
2253
- margin: 0;
2254
- }
2255
 
2256
  .wpstg-exclude-filters-foot {
2257
- display: flex;
2258
- justify-content: flex-start;
2259
- padding: 0;
2260
- }
2261
 
2262
  /**
2263
  * WP STAGING EXCLUSION RULE DROPDOWN STYLE
2264
  */
2265
-
2266
-
2267
  .wpstg-exclude-filter-dropdown > button:hover {
2268
- background: #135e96;;
2269
- border: 1px solid #135e96;;
2270
- }
2271
 
2272
  .wpstg-exclude-filter-dropdown > .wpstg-dropdown-menu {
2273
- width: 128px;
2274
- }
2275
 
2276
  .wpstg-remove-exclude-rule {
2277
- color: #fff !important;
2278
- background-color: #e01e5a;
2279
- border: 1px solid #e01e5a;
2280
- width: 20px;
2281
- height: 20px;
2282
- border-radius: 10px;
2283
- font-size: 24px;
2284
- padding: 0;
2285
- display: inline-flex;
2286
- justify-content: center;
2287
- outline: none;
2288
- box-shadow: none;
2289
- font-weight: 400;
2290
- line-height: 0.7;
2291
- margin-top: 5px;
2292
- cursor: pointer;
2293
- }
2294
 
2295
  .wpstg-remove-exclude-rule:hover {
2296
- background-color: #E01E5A;
2297
- border-color: #E01E5A;
2298
- }
2299
 
2300
  .wpstg-code-block {
2301
- margin-top: 4px;
2302
- font-size: 1.2em;
2303
- background: #f8f8f8;
2304
- border-radius: 2px;
2305
- }
2306
 
2307
  .wpstg-rule-info {
2308
- background: #f8f8f8 !important;
2309
- }
2310
 
2311
  code.wpstg-code {
2312
- display: inline-block;
2313
- font-size: 11px;
2314
- border: 1px solid #aaa;
2315
- background: #fff;
2316
- padding: 2px 4px;
2317
- margin-bottom: 1px;
2318
- color: #E01E5A;
2319
- }
2320
 
2321
  .wpstg-exclusion-rule-info {
2322
- color: #fff !important;
2323
- background-color: #ffc107;
2324
- border: 1px solid #ffc107;
2325
- width: 14px;
2326
- height: 14px;
2327
- border-radius: 7px;
2328
- font-size: 14px;
2329
- padding: 0;
2330
- display: inline-flex;
2331
- justify-content: center;
2332
- align-items: center;
2333
- outline: none;
2334
- box-shadow: none;
2335
- font-weight: 400;
2336
- vertical-align: middle;
2337
- }
2338
 
2339
  .wpstg-exclusion-rule-info:hover {
2340
- background-color: #ffba0c;
2341
- border: 1px solid #ffba0c;
2342
- }
2343
 
2344
  /**
2345
  * WP STAGING INPUTS EXCLUSION RULES
2346
  */
2347
-
2348
  .wpstg-exclude-rule-input {
2349
- font-size: 12px !important;
2350
- padding: 2px 6px;
2351
- box-shadow: none;
2352
- outline: none !important;
2353
- display: inline-block;
2354
- font-weight: 400;
2355
- line-height: 1.5;
2356
- color: #222;
2357
- border-radius: 0 !important;
2358
- background-color: #fff;
2359
- border: 1px solid #bbb;
2360
- min-height: 24px !important;
2361
- margin-top: 4px;
2362
- margin-left: 4px;
2363
- vertical-align: baseline !important;
2364
- transition: all 0.3s cubic-bezier(.25, .8, .25, 1);
2365
- width: 135px;
2366
- }
2367
 
2368
  .wpstg-excluded-filters-container tbody > tr:last-child .wpstg-exclude-rule-input {
2369
- margin-bottom: 4px;
2370
- }
2371
 
2372
  .wpstg-exclude-rule-input:hover {
2373
- border: 1px solid #999;
2374
- }
2375
 
2376
  .wpstg-exclude-rule-input:focus {
2377
- border: 1px solid #25A0F1 !important;
2378
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24) !important;
2379
- }
2380
 
2381
  .wpstg-file-size-exclude-select,
2382
  .wpstg-path-exclude-select {
2383
- width: 135px;
2384
- }
2385
 
2386
  .wpstg-file-size-exclude-select-small {
2387
- width: 52px;
2388
- }
2389
 
2390
  .wpstg-file-size-exclude-input {
2391
- width: 75px;
2392
- }
2393
 
2394
  .wpstg-staging-option-title {
2395
- margin: 15px 0 0;
2396
- }
2397
 
2398
  .wpstg-swal-push-container.wpstg--swal2-container {
2399
- z-index: 9995;
2400
- }
2401
 
2402
  #wpstg-scanning-files {
2403
- padding-bottom: 5px;
2404
- }
2405
 
2406
  #wpstg-scanning-files.wpstg-tab-section, #wpstg-scanning-db.wpstg-tab-section {
2407
- padding-top: 10px;
2408
- }
2409
 
2410
  .wpstg-reset-excludes-container {
2411
- margin: 10px 0;
2412
- }
2413
 
2414
  .wpstg-swal2-ajax-loader {
2415
- width: 100%;
2416
- height: 150px;
2417
- overflow: hidden;
2418
- display: flex;
2419
- justify-content: center;
2420
- align-items: center;
2421
- }
2422
 
2423
  @keyframes wpstg-loading-icon-anim {
2424
- 0% {
2425
- transform: rotate(0);
2426
- }
2427
- 100% {
2428
- transform: rotate(360deg);
2429
- }
2430
- }
2431
 
2432
  .wpstg-swal2-ajax-loader > img {
2433
- width: 64px;
2434
- height: 64px;
2435
- animation: wpstg-loading-icon-anim 1s infinite linear;
2436
- -webkit-animation: wpstg-loading-icon-anim 1s infinite linear;
2437
- }
2438
 
2439
  .wpstg-swal2-container .wpstg-tab-section {
2440
- width: auto !important;
2441
- }
2442
 
2443
  #wpstg-no-staging-site-results {
2444
- margin-top: 10px;
2445
- max-width: 375px;
2446
- }
2447
 
2448
  li#wpstg-backup-no-results {
2449
- max-width: 500px;
2450
- }
2451
 
2452
  li#wpstg-backup-no-results div, #wpstg-no-staging-site-results div {
2453
- display: inline-block;
2454
- text-align: center;
2455
- }
2456
 
2457
  li#wpstg-backup-no-results .wpstg--dashicons, #wpstg-no-staging-site-results .wpstg--dashicons {
2458
- filter: invert(50%);
2459
- position: absolute;
2460
- margin-top: 1px;
2461
- }
2462
 
2463
  li#wpstg-backup-no-results .no-backups-found-text, #wpstg-no-staging-site-results .no-staging-site-found-text {
2464
- color: #5d5d5d;
2465
- margin-left: 20px;
2466
- }
2467
 
2468
  @media only screen and (max-width: 680px) {
2469
- li#wpstg-backup-no-results div, #wpstg-no-staging-site-results div {
2470
- width: 100%;
2471
- }
2472
- }
2473
 
2474
  #wpstg--modal--backup--download-inner p.wpstg-download-modal-text {
2475
- font-size: 16px;
2476
- color: #565656;
2477
- }
2478
 
2479
  #wpstg--modal--backup--download-inner h2 {
2480
- color: #565656;
2481
- }
2482
 
2483
  .wpstg-backup-restore-contains-database,
2484
  .wpstg-backup-restore-contains-files {
2485
- display: none;
2486
- }
2487
 
2488
  .wpstg-green-button {
2489
- background: #8bc34a;
2490
- border: 1px solid #78a93f;
2491
- color: white;
2492
- text-shadow: 0 -1px 1px #78a93f, 1px 0 1px #78a93f, 0 1px 1px #40c921, -1px 0 1px #78a93f;
2493
- }
2494
 
2495
  .wpstg-green-button:hover {
2496
- background: #78a93f;
2497
- }
2498
 
2499
  .wpstg-is-dir-loading {
2500
- position: absolute;
2501
- margin-top: -2px;
2502
- margin-left: 8px;
2503
- display: none;
2504
- }
2505
 
2506
  .wpstg-ml-8px {
2507
- margin-left: 8px;
2508
- }
2509
 
2510
  .wpstg-mb-8px {
2511
- margin-bottom: 8px;
2512
- }
2513
-
2514
 
2515
  .wpstg-btn-danger {
2516
- background-color: #E01E5A;
2517
- border: 1px solid #E01E5A;
2518
- color: white;
2519
- text-shadow: none;
2520
- }
2521
 
2522
  .wpstg-btn-danger:hover {
2523
- background: #c0194d;
2524
- box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
2525
- }
2526
 
2527
  .wpstg-swal2-container.wpstg-swal2-loading > .wpstg--swal2-modal {
2528
- height: 200px;
2529
- }
 
 
 
 
 
 
2530
 
2531
  .wpstg-reset-confirmation.wpstg-swal2-container:not(.wpstg-swal2-loading) > .wpstg--swal2-modal {
2532
- max-width: 480px;
2533
- }
2534
 
2535
  .wpstg-reset-confirmation.wpstg-swal2-container .wpstg--swal2-header {
2536
- display: none;
2537
- }
2538
 
2539
  .wpstg-reset-confirmation.wpstg-swal2-container .wpstg--swal2-content {
2540
- height: auto;
2541
- }
2542
 
2543
  .wpstg-reset-confirmation.wpstg-swal2-container > .wpstg--swal2-modal > .wpstg--swal2-content .wpstg-tabs-wrapper {
2544
- overflow-y: auto;
2545
- height: auto !important;
2546
- }
2547
 
2548
  .wpstg-reset-confirmation.wpstg-swal2-container > .wpstg--swal2-modal > .wpstg--swal2-content {
2549
- font-size: 13px;
2550
- }
2551
 
2552
  .wpstg-reset-confirmation.wpstg-swal2-container > .wpstg--swal2-modal > .wpstg--swal2-content .wpstg-dir {
2553
- margin-bottom: 4px;
2554
- }
2555
 
2556
  .wpstg-reset-confirmation.wpstg-swal2-container > .wpstg--swal2-modal > .wpstg--swal2-content .wpstg-subdir {
2557
- margin-top: 4px;
2558
- }
2559
 
2560
  .wpstg-reset-confirmation.wpstg-swal2-container.has-collapsible-open .wpstg--swal2-modal {
2561
- height: calc(100vh - 70px);
2562
- }
2563
 
2564
  .wpstg-reset-confirmation.wpstg-swal2-container.has-collapsible-open > .wpstg--swal2-modal > .wpstg--swal2-content .wpstg-tabs-wrapper {
2565
- height: calc(100vh - 350px) !important;
2566
- }
2567
 
2568
  .wpstg--swal2-actions.wpstg--modal--actions > button {
2569
- margin-left: 4px;
2570
- margin-right: 4px;
2571
- text-transform: uppercase;
2572
- text-shadow: initial;
2573
- font-weight: 500;
2574
- min-width: 80px;
2575
- }
2576
 
2577
  .wpstg-swal-popup {
2578
- max-width: 1200px !important;
2579
- }
2580
 
2581
  .wpstg-swal-popup.wpstg-push-finished .wpstg--swal2-title {
2582
- color: #a8a8a8;
2583
- }
2584
 
2585
  .wpstg-swal-popup.wpstg-push-finished .wpstg--swal2-content {
2586
- margin-top: 8px;
2587
- color: #a8a8a8;
2588
- }
2589
 
2590
  .wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step.wpstg--swal2-active-progress-step,
2591
  .wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step,
2592
  .wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step-line {
2593
- background: #25a1f0;
2594
- }
2595
 
2596
  .wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step-line {
2597
- width: 2.75em;
2598
- }
2599
 
2600
  .wpstg--dashicons {
2601
- width: 16px;
2602
- height: 16px;
2603
- }
2604
 
2605
  .wpstg--dashicons.wpstg-dashicons-grey {
2606
- filter: invert(20%);
2607
- }
2608
 
2609
  .wpstg--dashicons.wpstg-dashicons-19 {
2610
- width: 19px;
2611
- height: 19px;
2612
- }
2613
 
2614
  .wpstg--dashicons.wpstg-dashicons-21 {
2615
- width: 21px;
2616
- height: 21px;
2617
- }
2618
 
2619
  #wpstg--tab--backup #wpstg-step-1 {
2620
- display: flex;
2621
- align-items: center;
2622
- }
2623
 
2624
  .wpstg-advanced-options .wpstg--tooltip,
2625
  #wpstg--tab--backup #wpstg-step-1 .wpstg--tooltip {
2626
- border-bottom: 0 solid transparent;
2627
- display: inline-flex;
2628
- align-items: center;
2629
- }
2630
 
2631
  .wpstg-advanced-options-site .wpstg--tooltip img.wpstg--dashicons {
2632
- filter: invert(17%) sepia(0%) saturate(1%) hue-rotate(195deg) brightness(97%) contrast(77%);
2633
- }
2634
 
2635
  #wpstg--tab--backup #wpstg-step-1 .wpstg--tooltip {
2636
- border-bottom: 0 solid transparent;
2637
- display: flex;
2638
- align-items: center;
2639
- }
2640
 
2641
  .wpstg--tooltip .wpstg--tooltiptext-backups::after {
2642
- left: calc(20% + 2px);
2643
- }
2644
 
2645
  .wpstg-listing-single-backup .wpstg--dashicons {
2646
- width: 17px;
2647
- height: 17px;
2648
- }
2649
 
2650
  .wpstg-100-width {
2651
- width: 100px;
2652
- }
2653
 
2654
  .wpstg-caret {
2655
- display: inline-block;
2656
- width: 0;
2657
- height: 0;
2658
- margin-left: 2px;
2659
- vertical-align: middle;
2660
- border-top: 4px solid;
2661
- border-right: 4px solid transparent;
2662
- border-left: 4px solid transparent;
2663
- transition: transform 0.2s;
2664
- cursor: pointer;
2665
- }
2666
 
2667
  .wpstg-caret.wpstg-caret-up {
2668
- transform: rotate(-180deg);
2669
- }
2670
 
2671
  .wpstg-advanced-options-site label {
2672
- font-size: 16px;
2673
- display: block;
2674
- margin: .5em 0;
2675
- }
2676
 
2677
  #wpstg-confirm-backup-restore-data {
2678
- font-size: 18px;
2679
- margin: 0;
2680
- margin-top: 30px;
2681
- }
2682
 
2683
  /* Sweetalert WP STAGING Theme */
2684
-
2685
  body.toplevel_page_wpstg_backup .wpstg--swal2-container.wpstg--swal2-backdrop-show,
2686
  body.toplevel_page_wpstg_clone .wpstg--swal2-container.wpstg--swal2-backdrop-show {
2687
- background: rgba(0, 0, 0, .6);
2688
- z-index: 9995;
2689
- }
2690
 
2691
  .wpstg-swal-popup.wpstg--swal2-popup {
2692
- border-radius: 8px;
2693
- z-index: 9999;
2694
- padding: 24px;
2695
- color: #3e3e3e;
2696
- font-family: Verdana, Geneva, Tahoma, sans-serif;
2697
- }
2698
 
2699
  .wpstg-swal-popup .wpstg--swal2-title {
2700
- font-size: 22px;
2701
- color: #3e3e3e;
2702
- }
2703
 
2704
  .wpstg-swal-popup.wpstg--swal2-popup:not(.centered-modal) .wpstg--swal2-title {
2705
- align-self: flex-start; /* For an actual Swal title */
2706
- text-align: left; /* Manually adding this class to a non flex display */
2707
- margin-bottom: 0;
2708
- }
 
2709
 
2710
  .wpstg-swal-popup .wpstg--swal2-close {
2711
- top: 8px;
2712
- right: 8px;
2713
- z-index: 5;
2714
- }
2715
 
2716
  .wpstg-swal-popup .wpstg--swal2-close:focus {
2717
- outline: none;
2718
- }
2719
 
2720
  .wpstg-swal-popup.wpstg--swal2-popup:not(.centered-modal) .wpstg--swal2-actions {
2721
- justify-content: flex-end;
2722
- }
2723
 
2724
  .wpstg-swal-popup .wpstg--swal2-actions > button {
2725
- border-radius: 4px;
2726
- font-weight: 900;
2727
- border: 0;
2728
- font-size: 15px;
2729
- padding: 10px 12px;
2730
- text-transform: capitalize;
2731
- line-height: normal;
2732
- height: 40px;
2733
- min-width: 100px;
2734
- text-shadow: none;
2735
- }
2736
 
2737
  .wpstg-swal-popup.wpstg--swal2-popup:not(.centered-modal) .wpstg--swal2-actions > button {
2738
- margin-left: 8px;
2739
- }
2740
 
2741
  .wpstg-swal-popup .wpstg--swal2-actions > button.wpstg--swal2-cancel {
2742
- border: 1px solid rgba(29, 28, 29, 0.3);
2743
- background: #fff;
2744
- color: rgb(29, 28, 29);
2745
- font-weight: 500;
2746
- width: 100px;
2747
- text-shadow: none;
2748
- }
2749
 
2750
  .wpstg-swal-popup .wpstg--swal2-actions > button:hover {
2751
- box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .1);
2752
- }
2753
 
2754
  .wpstg-swal-popup .wpstg--swal2-actions > button.wpstg--swal2-cancel:hover {
2755
- background: rgba(28, 29, 28, .04);
2756
- }
2757
 
2758
  #wpstg-backup-name-input {
2759
- height: 44px;
2760
- font-size: 18px;
2761
- }
2762
 
2763
  .wpstg-restore-finished-container .wpstg--swal2-title {
2764
- color: #565656 !important;
2765
- }
2766
 
2767
  /*#wpstg-restore-success {
2768
  color: #565656;
2769
  }*/
2770
-
2771
  .wpstg-restore-finished-container .wpstg--swal2-content {
2772
- margin-top: 20px;
2773
- color: #a8a8a8;
2774
- }
2775
 
2776
  /* WP Staging Implementation of Windows Style Linear Loader */
2777
-
2778
  .wpstg-linear-loader > span[class*="wpstg-linear-loader-item"] {
2779
- height: 6px;
2780
- width: 6px;
2781
- background: #333;
2782
- display: inline-block;
2783
- margin: 12px 2px;
2784
- border-radius: 100%;
2785
- animation: wpstg_linear_loader 3s infinite;
2786
- animation-timing-function: cubic-bezier(0.030, 0.615, 0.995, 0.415);
2787
- animation-fill-mode: both;
2788
- }
2789
 
2790
  .wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(1) {
2791
- animation-delay: 1s;
2792
- }
2793
 
2794
  .wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(2) {
2795
- animation-delay: 0.8s;
2796
- }
2797
 
2798
  .wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(3) {
2799
- animation-delay: 0.6s;
2800
- }
2801
 
2802
  .wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(4) {
2803
- animation-delay: 0.4s;
2804
- }
2805
 
2806
  .wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(5) {
2807
- animation-delay: 0.2s;
2808
- }
2809
 
2810
  .wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(6) {
2811
- animation-delay: 0s;
2812
- }
2813
 
2814
  @keyframes wpstg_linear_loader {
2815
- 0% {
2816
- transform: translateX(-30px);
2817
- opacity: 0;
2818
- }
2819
- 25% {
2820
- opacity: 1;
2821
- }
2822
- 50% {
2823
- transform: translateX(30px);
2824
- opacity: 0;
2825
- }
2826
- 100% {
2827
- opacity: 0;
2828
- }
2829
- }
2830
 
2831
  /* END - Windows Style Linear Loader */
2832
-
2833
  .wpstg--modal--backup--import--upload--content {
2834
- padding: .75em;
2835
- margin: 1em auto;
2836
- }
2837
 
2838
  .wpstg--modal--backup--import--upload--content .wpstg-linear-loader {
2839
- display: none;
2840
- }
2841
 
2842
  #wpstg-multisite-disabled .wpstg-clone {
2843
- width: 355px;
2844
- }
2845
 
2846
  #wpstg-free-version-backups .wpstg-clone p {
2847
- font-size: 16px;
2848
- }
2849
 
2850
  .wpstg-staging-info li .backup-notes {
2851
- word-break: break-word;
2852
- }
2853
 
2854
  .wpstg--modal--import--upload--progress--title small {
2855
- font-weight: normal;
2856
- }
2857
 
2858
  #wpstg-report-issue-wrapper {
2859
- position: relative;
2860
- }
2861
 
2862
  #wpstg-report-issue-wrapper .arrow-up {
2863
- width: 0;
2864
- height: 0;
2865
- border-left: 8px solid transparent;
2866
- border-right: 8px solid transparent;
2867
- border-bottom: 8px solid white;
2868
- position: absolute;
2869
- top: -8px;
2870
- right: 40px;
2871
- }
2872
 
2873
  .notice {
2874
- margin: 10px 20px 0 2px;
2875
- }
2876
 
2877
  .wpstg--notice {
2878
- box-shadow: 0 1px 1px rgba(0, 0, 0, .04);
2879
- margin: 20px 20px 20px 0px;
2880
- padding: 1px 12px;
2881
- }
2882
 
2883
  .wpstg--error a:hover {
2884
- color: #eeeeee;
2885
- }
2886
 
2887
  .wpstg--error, .wpstg--error a {
2888
- background: #E01E5A;
2889
- color: white;
2890
- }
2891
 
2892
  /**
2893
  * Buttons
2894
  */
2895
-
2896
  .wpstg-button {
2897
- display: inline-block;
2898
- border-radius: 2px;
2899
- cursor: pointer;
2900
- padding: 2px 10px 2px 10px;
2901
- text-transform: uppercase;
2902
- font-weight: 500;
2903
- outline: 0;
2904
- transition: background-color .1s ease-in;
2905
- text-decoration: none;
2906
- }
2907
 
2908
  .wpstg-button.wpstg-save {
2909
- background-color: #1687A7;
2910
- color: white;
2911
- }
2912
 
2913
  .wpstg-button.wpstg-save:hover {
2914
- background-color: #276678;
2915
- }
2916
-
2917
 
2918
  .wpstg-button.wpstg-button-light {
2919
- background-color: #f8f8f8;
2920
- border: 1px solid #eee;
2921
- color: #333;
2922
- animation: background-color 0.3s;
2923
- }
2924
 
2925
  .wpstg-button.wpstg-button-light:hover {
2926
- background-color: #e0e0e0;
2927
- border: 1px solid #e0e0e0;
2928
- }
2929
 
2930
  .wpstg-buttons .spinner {
2931
- float: none;
2932
- margin: 0 0 0 5px;
2933
- }
2934
 
2935
  .wpstg-button.danger {
2936
- display: inline-block;
2937
- text-decoration: none;
2938
- text-align: center;
2939
- text-transform: inherit;
2940
- background-color: #E01E5A;
2941
- color: white;
2942
- border-radius: 2px;
2943
- border-color: transparent;
2944
- }
2945
 
2946
  .wpstg-button.danger:hover {
2947
- background-color: #c0194d;
2948
- }
2949
 
2950
  .wpstg-button--big {
2951
- display: inline-block;
2952
- padding: 10px;
2953
- min-width: 170px;
2954
- font-size: 16px;
2955
- text-decoration: none;
2956
- text-align: center;
2957
- margin-top: 20px;
2958
- color: white;
2959
- border-radius: 3px;
2960
- }
2961
 
2962
  .wpstg-button--primary {
2963
- display: inline-block;
2964
- text-decoration: none;
2965
- font-size: 13px;
2966
- line-height: 2.15384615;
2967
- min-height: 30px;
2968
- margin: 0;
2969
- padding: 0 10px;
2970
- cursor: pointer;
2971
- border: 1px solid rgba(29, 28, 29, 0.3);
2972
- -webkit-appearance: none;
2973
- border-radius: 2px;
2974
- white-space: nowrap;
2975
- box-sizing: border-box;
2976
- color: #171717;
2977
- }
2978
 
2979
  .wpstg-button--primary:hover {
2980
- background: rgba(28, 29, 28, .04);
2981
- color: black;
2982
- }
2983
 
2984
  .wpstg-button--secondary {
2985
- display: inline-block;
2986
- background-color: transparent;
2987
- color: #95a5a6;
2988
- border-radius: 2px;
2989
- border: 1px solid rgba(29, 28, 29, 0.3);
2990
- cursor: pointer;
2991
- padding: 4px 10px 2px 10px;
2992
- font-weight: 500;
2993
- outline: 0;
2994
- transition: background-color .1s ease-in;
2995
- text-decoration: none;
2996
- }
2997
 
2998
  .wpstg-button--red {
2999
- background-color: #E01E5A;
3000
- border-color: #E01E5A;
3001
- color: white;
3002
- }
3003
 
3004
  .wpstg-button--red:hover {
3005
- background-color: #d02358;
3006
- border-color: #e0255f;
3007
- color: white;
3008
- }
3009
 
3010
  .wpstg-button--cta-red {
3011
- background-color: #fe008f;
3012
- border-color: #E01E5A;
3013
- color: white;
3014
- }
3015
 
3016
  .wpstg-button--cta-red:hover {
3017
- background-color: #f31391;
3018
- border-color: #e0255f;
3019
- color: white;
3020
- }
3021
 
3022
  .wpstg-button--blue {
3023
- background-color: #25A0F1;
3024
- border-color: #25A0F1;
3025
- color: white;
3026
- }
3027
 
3028
  .wpstg-button--blue:hover {
3029
- background-color: #259be6;
3030
- border-color: #259be6;
3031
- color: white;
3032
- }
3033
 
3034
  #wpstg-button-backup-upgrade {
3035
- font-size: 16px;
3036
- width:150px;
3037
- text-align: center;
3038
- }
3039
 
3040
  .wpstg-staging-status {
3041
- color: #E01E5A;
3042
- }
3043
 
3044
  #wpstg-push-changes,
3045
  #wpstg-start-updating,
3046
  #wpstg-save-clone-data {
3047
- margin-left: 5px;
3048
- }
3049
 
3050
  input.wpstg-textbox {
3051
- border: 1px solid #aaa;
3052
- border-radius: .25rem;
3053
- padding: 0.25rem 0.5rem;
3054
- font-size: 14px;
3055
- }
3056
 
3057
  input.wpstg-textbox:focus {
3058
- outline: 0;
3059
- border-color: #259be6;
3060
- -webkit-box-shadow: 0 0 0 0.1rem rgba(221, 221, 221, .35);
3061
- box-shadow: 0 0 0 0.1rem rgba(221, 221, 221, .35);
3062
- }
3063
 
3064
  input.wpstg-textbox::placeholder {
3065
- color: #888;
3066
- }
3067
 
3068
  .wpstg--advance-settings--checkbox {
3069
- display: flex;
3070
- align-items: center;
3071
- }
3072
 
3073
  .wpstg--advance-settings--checkbox > label {
3074
- font-size: 14px;
3075
- font-weight: bolder;
3076
- width: 165px;
3077
- display: inline-block;
3078
- }
3079
 
3080
  .wpstg--advance-settings--checkbox > .wpstg--tooltip {
3081
- margin-top: 5px;
3082
- margin-left: 5px;
3083
- position: relative;
3084
- display: inline-block;
3085
- border-bottom: 0px solid transparent;
3086
- }
3087
 
3088
  .wpstg--advance-settings--checkbox > .wpstg--tooltip > .wpstg--tooltiptext {
3089
- top: 18px;
3090
- left: -150px;
3091
- }
3092
-
3093
 
3094
  div#wpstg-restore-wait {
3095
- display: none;
3096
- flex-direction: column;
3097
- justify-content: center;
3098
- align-items: center;
3099
- text-align: center;
3100
- height: 100vh;
3101
- width: 100vw;
3102
- position: fixed;
3103
- top: 0;
3104
- left: 0;
3105
- background: white;
3106
- z-index: 99999;
3107
- }
3108
 
3109
  div#wpstg-restore-wait .wpstg-title {
3110
- font-weight: bold;
3111
- }
3112
 
3113
  div#wpstg-restore-wait div {
3114
- font-size: 16px;
3115
- margin-top: 12px;
3116
- }
3117
 
3118
  .resumable-browse {
3119
- cursor: pointer;
3120
- }
3121
 
3122
  .resumable-browse a {
3123
- text-decoration: underline;
3124
- }
3125
 
3126
  .wpstg-upload-text {
3127
- font-weight: 600;
3128
- }
3129
 
3130
  .wpstg--modal--backup--import--upload--container.dragover {
3131
- transition: background-color 0.7s;
3132
- background-color: #94dc96;
3133
- color: #FFF;
3134
- }
3135
 
3136
  .wpstg--modal--backup--import--upload--container.dragover * {
3137
- pointer-events: none; /* Avoids flickering when dragging to drop a file */
3138
- }
3139
 
3140
  .wpstg--modal--backup--import--upload--container.dragover .wpstg-upload-text {
3141
- display: none;
3142
- }
3143
 
3144
  .wpstg--modal--backup--import--upload--container.dragover .wpstg-dragover-text {
3145
- display: block;
3146
- }
3147
 
3148
  .wpstg--modal--backup--import--upload--container .wpstg-dragover-text {
3149
- display: none;
3150
- }
3151
 
3152
  #wpstg-invalid-license-message, #wpstg-invalid-license-message a {
3153
- font-weight: 500;
3154
- color: #E01E5A;
3155
- margin-left: 6px;
3156
- }
3157
 
3158
  #wpstg-sidebar--banner {
3159
- max-width: 200px;
3160
- }
3161
 
3162
  @media screen and (max-width: 1234px) {
3163
- .wpstg-h2 {
3164
- font-size: 24px;
3165
- }
3166
-
3167
- #wpstg-welcome li {
3168
- font-size: 14px;
3169
- }
3170
- }
3171
 
3172
  .wpstg-exclamation {
3173
- color: #ffffff;
3174
- border-radius: 100%;
3175
- background-color: #E01E5A;
3176
- width: 20px;
3177
- height: 20px;
3178
- text-align: center;
3179
- font-weight: bold;
3180
- display: inline-block;
3181
- margin: 6px;
3182
- }
3183
 
3184
  .wpstg--tab--contents {
3185
- padding-top: 1px;
3186
- }
3187
 
3188
  .wpstg-swal-show.wpstg--swal2-show {
3189
- -webkit-animation: wpstg-swal-show 0.2s !important;
3190
- animation: wpstg-swal-show 0.2s !important;
3191
- }
3192
 
3193
  @-webkit-keyframes wpstg-swal-show {
3194
- 0% {
3195
- transform: scale(0.3);
3196
- }
3197
- 100% {
3198
- transform: scale(1);
3199
- }
3200
- }
3201
 
3202
  @keyframes wpstg-swal-show {
3203
- 0% {
3204
- transform: scale(0.3);
3205
- }
3206
- 100% {
3207
- transform: scale(1);
3208
- }
3209
- }
3210
 
3211
  .wpstg-tab-item--vert-center {
3212
- display: flex;
3213
- align-items: center;
3214
- }
3215
 
3216
  .wpstg-db-comparison-modal {
3217
- padding-left: 10px;
3218
- padding-right: 10px;
3219
- }
3220
 
3221
  .wpstg-db-comparison-table {
3222
- font-size: 13px;
3223
- width: 100%;
3224
- }
3225
 
3226
  .wpstg-db-comparison-table tbody td {
3227
- padding-top: 6px;
3228
- }
3229
 
3230
  .wpstg-db-comparison-table tr > td:first-child,
3231
  .wpstg-db-comparison-table tr > th:first-child {
3232
- text-align: left;
3233
- }
3234
 
3235
  .wpstg-css-tick {
3236
- display: inline-block;
3237
- transform: rotate(45deg);
3238
- height: 12px;
3239
- width: 6px;
3240
- border-bottom: 3px solid #78b13f;
3241
- border-right: 3px solid #78b13f;
3242
- }
3243
 
3244
  .wpstg-css-cross {
3245
- position: relative;
3246
- top: -8px;
3247
- left: -2px;
3248
- width: 16px;
3249
- height: 16px;
3250
- }
3251
 
3252
  .wpstg-css-cross:before, .wpstg-css-cross:after {
3253
- position: absolute;
3254
- content: ' ';
3255
- height: 17px;
3256
- width: 3px;
3257
- background-color: #E01E5A;
3258
- }
3259
 
3260
  .wpstg-css-cross:before {
3261
- transform: rotate(45deg);
3262
- }
3263
 
3264
  .wpstg-css-cross:after {
3265
- transform: rotate(-45deg);
3266
- }
3267
 
3268
  .wpstg-selection-preview {
3269
- font-size: 12px;
3270
- margin-left: 20px;
3271
- color: #3216;
3272
- }
3273
 
3274
  .wpstg-selection-preview.danger {
3275
- color: #E01E5A;
3276
- }
3277
 
3278
  .wpstg--backup-automated {
3279
- margin-bottom: -5px;
3280
- }
3281
 
3282
  .wpstg--dismiss-schedule {
3283
- cursor: pointer;
3284
- }
3285
 
3286
  .wpstg-import-backup-contains.wpstg-listing-single-backup {
3287
- vertical-align: middle;
3288
- }
3289
 
3290
  .wpstg-import-backup-contains.wpstg-listing-single-backup li {
3291
- padding:2px;
3292
- }
3293
 
3294
  .wpstg--modal--backup--manage--schedules--content table {
3295
- margin: 0 auto;
3296
- width: 100%;
3297
- }
3298
 
3299
  .wpstg--modal--backup--manage--schedules--title {
3300
- text-align: left;
3301
- margin-bottom: 10px;
3302
- margin-top: 0px;
3303
- }
3304
 
3305
  .wpstg--modal--backup--import--upload--title {
3306
- text-align: center;
3307
- }
3308
 
3309
  #wpstg--modal--backup--manage--schedules--content {
3310
- text-align: left;
3311
- }
3312
 
3313
  #wpstg--modal--backup--manage--schedules--content thead {
3314
- font-weight: bold;
3315
- }
3316
 
3317
  #wpstg--modal--backup--manage--schedules--content .wpstg--tooltip.wpstg--dismiss-schedule {
3318
- border-bottom: none;
3319
- }
3320
 
3321
  .wpstg--tooltip.wpstg--dismiss-schedule img.wpstg--dashicons {
3322
- filter: invert(18%) sepia(57%) saturate(6238%) hue-rotate(332deg) brightness(93%) contrast(88%);
3323
- }
3324
 
3325
  #wpstg--modal--backup--manage--schedules--content td {
3326
- padding-right: 25px;
3327
- padding-top: 10px;
3328
- }
3329
 
3330
  #wpstg--modal--backup--manage--schedules--content td:last-child {
3331
- padding-right: 0px;
3332
- }
3333
 
3334
  #wpstg--modal--backup--manage--schedules--content ul {
3335
- margin-top: 0;
3336
- margin-bottom: 0;
3337
- }
3338
 
3339
  #wpstg--modal--backup--manage--schedules--content ul li:first-child .wpstg--tooltip {
3340
- margin-left:0;
3341
- }
3342
 
3343
  .wpstg-button:disabled {
3344
- background-color: #dddddd;
3345
- text-shadow: none;
3346
- color: #b3b3b3;
3347
- border: 1px solid #cfcfcf;
3348
- cursor: not-allowed;
3349
- }
3350
 
3351
  #wpstg-backup-runs-info {
3352
- margin: 0px;
3353
- margin-top: 20px;
3354
- padding:0px;
3355
- font-size:12px;
3356
- }
3357
 
3358
  #wpstg-backup-runs-info li {
3359
- margin: 0px;
3360
- }
3361
 
3362
  div#wpstg-backup-locked {
3363
- width: 100%;
3364
- max-width: calc(800px - 30px);
3365
- padding: 15px;
3366
- background: white;
3367
- margin-bottom: 10px;
3368
- display: flex;
3369
- align-items: center;
3370
- }
3371
 
3372
  #wpstg-backup-locked .icon {
3373
- display: inline-block;
3374
- height: 20px;
3375
- }
3376
 
3377
  #wpstg-backup-locked .icon img {
3378
- animation: wpstg-loading-icon-anim 2s infinite;;
3379
- }
3380
 
3381
  #wpstg-backup-locked .text {
3382
- display: inline-block;
3383
- margin-left: 15px;
3384
- }
3385
 
3386
  #backup-schedule-current-time {
3387
- font-size: 12px;
3388
- }
3389
 
3390
  .wpstg-backup-scheduling-options label {
3391
- margin-top:17px;
3392
- }
3393
 
3394
  .wpstg-backup-scheduling-options .wpstg-storage-option {
3395
- display: block;
3396
- margin: .5em 0;
3397
- font-size: 15px;
3398
- }
3399
 
3400
- .wpstg-storage-option>span:not(.wpstg-storage-settings) {
3401
- width: 150px;
3402
- display: inline-block;
3403
- }
3404
 
3405
  .wpstg-storages-postbox {
3406
- padding: 13px 16px;
3407
- margin-top: 8px;
3408
- margin-bottom: 8px;
3409
- background-color: white;
3410
- }
3411
 
3412
  .wpstg-storages-postbox a {
3413
- padding: 8px;
3414
- margin-right: 8px;
3415
- text-decoration: none;
3416
- font-weight: bold;
3417
- color: #3c434a;
3418
- }
3419
 
3420
  .wpstg-storages-postbox a:hover {
3421
- color: #b70b72;
3422
- }
3423
 
3424
  .wpstg-storage-postbox {
3425
- padding: 4px 16px;
3426
- background-color: white;
3427
- }
3428
 
3429
  .wpstg-storages-postbox a.wpstg-storage-provider-active {
3430
- background: #b70b72;
3431
- color: white;
3432
- font-weight: 700;
3433
- cursor: default;
3434
- border-radius:3px;
3435
- }
3436
 
3437
  .wpstg-storages-postbox a.wpstg-storage-provider-active:hover {
3438
- background: #a10a64;
3439
- }
3440
 
3441
  .wpstg-storages-postbox a.wpstg-storage-provider-disabled {
3442
- color: #999;
3443
- cursor: not-allowed;
3444
- }
3445
 
3446
  .wpstg-provider-revoke-form {
3447
- display: inline;
3448
- margin-top: 12px;
3449
- margin-bottom: 12px;
3450
- }
3451
 
3452
  .wpstg-provider-settings-form {
3453
- margin-top: 10px;
3454
- }
3455
 
3456
  .wpstg-provider-settings-form strong {
3457
- display: block;
3458
- margin: 8px 0;
3459
- }
3460
 
3461
  .wpstg-provider-settings-form p {
3462
- margin: 0;
3463
- margin-bottom: 8px;
3464
- }
3465
 
3466
  .wpstg-provider-settings-form fieldset {
3467
- margin: 0;
3468
- padding: 0;
3469
- margin-bottom: 16px;
3470
- }
3471
 
3472
  .wpstg-provider-settings-form fieldset p {
3473
- margin: 0;
3474
- padding: 5px;
3475
- font-size: 12px;
3476
- }
3477
 
3478
  .wpstg-provider-settings-form fieldset label {
3479
- display: block;
3480
- margin-bottom: 2px;
3481
- }
3482
 
3483
  .wpstg-provider-settings-form fieldset input {
3484
- font-size: 12px;
3485
- }
3486
 
3487
  .wpstg-provider-settings-form .wpstg-link-btn.wpstg-blue-primary {
3488
- text-shadow: none;
3489
- }
3490
 
3491
  .wpstg-btn-google {
3492
- font-family: Roboto;
3493
- display: inline-flex;
3494
- align-items: center;
3495
- border-width: 0;
3496
- outline: none;
3497
- border-radius: 3px;
3498
- box-shadow: 0 1px 3px rgba(0, 0, 0, .6);
3499
- color: #555;
3500
- transition: background-color .3s;
3501
- padding: 8px;
3502
- padding-right: 16px;
3503
- height: 40px;
3504
- line-height: 40px;
3505
- font-size: 14px;
3506
- box-sizing: border-box;
3507
- text-decoration: none;
3508
- font-weight: bold;
3509
- margin-right: 10px;
3510
- }
3511
 
3512
  .wpstg-btn-google img {
3513
- width: 18px;
3514
- height: 18px;
3515
- margin-right: 12px;
3516
- margin-left:5px;
3517
- }
3518
 
3519
  #wpstg-custom-google-credentials {
3520
- margin-top: 20px;
3521
- }
3522
 
3523
  .wpstg-fieldset .wpstg-with-icon {
3524
- display: inline-flex;
3525
- align-items: center;
3526
- }
3527
 
3528
  .wpstg-fieldset .wpstg-with-icon .wpstg-fieldset-icon {
3529
- margin-left: 8px;
3530
- }
3531
 
3532
  .wpstg-fieldset .wpstg-with-icon .wpstg-fieldset-icon img {
3533
- width: 16px;
3534
- height: 16px;
3535
- }
3536
 
3537
  #wpstg-btn-provider-revoke {
3538
- border-radius: 2px;
3539
- }
3540
-
3541
- .wpstg-metabox-holder{
3542
- border-radius: 8px;
3543
- background: #fff;
3544
- padding: 20px;
3545
- margin-left: 16px;
3546
- min-height: 600px;
3547
- margin-right: 32px;
3548
- margin-top: 60px;
3549
- -webkit-box-shadow: 0 0 1px rgb(0 0 0 / 13%), 0 1px 3px rgb(0 0 0 / 10%);
3550
- box-shadow: 0 0 1px rgb(0 0 0 / 13%), 0 1px 3px rgb(0 0 0 / 10%);
3551
- }
3552
 
3553
  @media only screen and (max-width: 680px) {
3554
- .wpstg-metabox-holder {
3555
- padding: 0px;
3556
- padding-top: 5px;
3557
- margin-left: 0;
3558
- margin-right: 5px;
3559
- }
3560
-
3561
- #wpstg-tab-container .wpstg-settings-panel {
3562
- padding: 0;
3563
- overflow: auto;
3564
- }
3565
-
3566
- .wpstg-form-table td:first-child {
3567
- width: 50%;
3568
- }
3569
- }
3570
 
3571
  .wpstg-nav-tab {
3572
- float: left;
3573
- border: 1px solid #ffffff;
3574
- border-bottom: none;
3575
- margin-left: 0.5em;
3576
- padding: 5px 10px;
3577
- font-size: 14px;
3578
- line-height: 1.71428571;
3579
- font-weight: 600;
3580
- background: #dcdcde;
3581
- color: #3c434a;
3582
- text-decoration: none;
3583
- white-space: nowrap;
3584
- }
3585
 
3586
  .wpstg-nav-tab-active, .wpstg-nav-tab-active:focus, .wpstg-nav-tab-active:focus:active, .wpstg-nav-tab-active:hover {
3587
- border-bottom: 1px solid #f0f0f1;
3588
- background: #f3f5f7;
3589
- color: #b70b72;
3590
- -webkit-box-shadow: -4px -13px 14px -12px rgb(0 0 0 / 16%);
3591
- box-shadow: -4px -13px 14px -12px rgb(0 0 0 / 16%);
3592
- }
3593
 
3594
  .wpstg-nav-tab-active {
3595
- margin-bottom: -1px;
3596
- }
3597
 
3598
  .wpstg-nav-tab-wrapper {
3599
- /*
3600
  border-bottom: 1px solid #c3c4c7;
3601
  */
3602
- margin: 0;
3603
- padding-top: 9px;
3604
- padding-bottom: 0;
3605
- line-height: inherit;
3606
- }
3607
 
3608
- .wpstg-nav-tab-wrapper li{
3609
- margin-bottom: 0px;
3610
- }
3611
 
3612
  #wpstg--js--translations {
3613
- text-decoration: underline;
3614
- }
3615
 
3616
  /*# sourceMappingURL=wpstg-admin.css.map */
1
+ @charset "UTF-8";
2
  /**
3
  * WPSTG Admin CSS
4
  *
7
  * @copyright Copyright (c) 2021, René Hermenau
8
  * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
9
  */
10
+ /* vars */
11
+ :root {
12
+ --wpstg-color-warning: #ffb804;
13
+ --wpstg-color-info: #24a1f0; }
14
+
15
+ /* IMPORTS */
16
+ .wpstg-badge {
17
+ background: #f8f9fa;
18
+ color: #333;
19
+ border-radius: 3px;
20
+ font-size: 12px;
21
+ padding: 4px 8px; }
22
+ .wpstg-badge.wpstg-badge-warning {
23
+ background: var(--wpstg-color-warning);
24
+ color: #fff; }
25
+ .wpstg-badge.wpstg-badge-info {
26
+ background: var(--wpstg-color-info);
27
+ color: #fff; }
28
 
29
  /* Font Faces */
 
30
  /* roboto-regular - latin */
31
  @font-face {
32
+ font-family: 'Roboto';
33
+ font-style: normal;
34
+ font-weight: 400;
35
+ src: url("../../fonts/roboto-v29-latin-regular.eot");
36
+ /* IE9 Compat Modes */
37
+ src: local(""), url("../../fonts/roboto-v29-latin-regular.eot?#iefix") format("embedded-opentype"), url("../../fonts/roboto-v29-latin-regular.woff2") format("woff2"), url("../../fonts/roboto-v29-latin-regular.woff") format("woff"), url("../../fonts/roboto-v29-latin-regular.ttf") format("truetype"), url("../../fonts/roboto-v29-latin-regular.svg#Roboto") format("svg");
38
+ /* Legacy iOS */ }
 
 
 
 
39
 
40
  /* Colors */
 
41
  .wpstg--violet {
42
+ color: #9d37ae; }
 
43
 
44
  .wpstg-border--violet {
45
+ border: 1px solid #9d37ae; }
 
46
 
47
  .wpstg--red {
48
+ color: #E01E5A; }
 
49
 
50
  .wpstg-cta--red {
51
+ color: #fe008f; }
 
52
 
53
  .wpstg--blue {
54
+ color: #24a1f0; }
 
55
 
56
  .wpstg--darkblue {
57
+ color: #0e86d9; }
 
58
 
59
  .wpstg--green {
60
+ color: #83c11f; }
 
61
 
62
  .wpstg--grey {
63
+ color: #3e3e3e; }
 
64
 
65
  .wpstg--darkgrey {
66
+ color: #1b1b1b; }
 
67
 
68
  .wpstg--filter--svg {
69
+ filter: invert(24%) sepia(11%) saturate(558%) hue-rotate(169deg) brightness(97%) contrast(91%); }
 
70
 
71
  /* CSS for Tabs */
 
72
  body.wp-staging-pro_page_wpstg_backup,
73
  body.toplevel_page_wpstg_clone,
74
  body.wp-staging-pro_page_wpstg-settings,
75
  body.wp-staging-pro_page_wpstg-tools,
76
  body.wp-staging-pro_page_wpstg-license {
77
+ background-color: #f3f5f7; }
 
78
 
79
  #wpstg-tab-container ul {
80
+ list-style: none;
81
+ margin: 0;
82
+ padding: 0;
83
+ background: #f1f1f1;
84
+ float: left; }
 
85
 
86
  #wpstg-tab-container ul li:first-child.selected-tab {
87
+ border-top: none; }
 
88
 
89
  #wpstg-tab-container ul li a.selected-tab {
90
+ font-weight: bold;
91
+ text-decoration: none; }
 
92
 
93
  #wpstg-tab-container .row {
94
+ padding-top: 10px;
95
+ padding-bottom: 12px; }
 
96
 
97
  .wpstg-tabs-container .nav-tab-wrapper {
98
+ padding: 0; }
 
99
 
100
  #wpstg-tab-container .row label strong,
101
  #wpstg-tab-container .row strong {
102
+ font-weight: bold; }
 
103
 
104
  .wpstg-tabs a {
105
+ padding: 5px; }
 
106
 
107
  #wpstg-tab-container > ul > li.wpstg-tabs.active {
108
+ background-color: white; }
 
109
 
110
  #wpstg_settingsgeneral_header .row:nth-child(3),
111
  #wpstg_settingsgeneral_header .row:nth-child(4) {
112
+ display: none; }
 
113
 
114
  #wpstg-tab-container .wpstg-settings-panel {
115
+ padding: 0 20px 20px 20px;
116
+ overflow: auto; }
 
117
 
118
  #wpstg-tab-container .wpstg-form-table th {
119
+ vertical-align: top;
120
+ text-align: left;
121
+ padding: 20px 10px 20px 0;
122
+ line-height: 1.3;
123
+ font-weight: bold;
124
+ font-size: 14px;
125
+ color: #484848;
126
+ width: 30%; }
 
127
 
128
  #wpstg-tab-container .wpstg-form-table tr {
129
+ border-bottom: 1px solid #E7E7E7; }
 
130
 
131
  #wpstg-tab-container span.description {
132
+ display: block;
133
+ font-weight: 400;
134
+ font-style: normal;
135
+ font-size: 13px;
136
+ margin-top: 7px;
137
+ color: #484848; }
 
138
 
139
  #wpstg-tab-container .col-title {
140
+ color: #484848; }
 
141
 
142
  @media only screen and (max-width: 680px) {
143
+ #wpstg-tab-container ul {
144
+ float: none; }
145
+ #wpstg-tab-container .wpstg-form-table tr > th {
146
+ width: 100%; }
147
+ #wpstg-tab-container span.description {
148
+ font-size: 14px; }
149
+ #wpstg-tab-container .wpstg-form-table tr > th,
150
+ #wpstg-tab-container .wpstg-form-table tr > td {
151
+ padding: 10px; } }
 
 
 
 
 
 
 
 
152
 
153
  #wpstg-tab-container ul li {
154
+ margin-bottom: 0; }
 
155
 
156
  #wpstg-tab-container ul li a {
157
+ display: block;
158
+ padding: 10px 4px 10px 14px;
159
+ border-width: 1px 0;
160
+ border-style: solid;
161
+ border-top-color: white;
162
+ border-bottom-color: #e7e7e7;
163
+ text-decoration: none;
164
+ color: #0097DF;
165
+ font-weight: bold; }
 
166
 
167
  #wpstg-tab-container ul li a:hover {
168
+ background-color: #e5e5e5;
169
+ color: #777777; }
 
170
 
171
  .wpstg-logo {
172
+ display: block;
173
+ font-size: 16px;
174
+ padding-top: 20px;
175
+ width: 220px;
176
+ float: left; }
 
177
 
178
  .wpstg-logo img {
179
+ max-width: 212px; }
 
180
 
181
  .wpstg-version {
182
+ display: block;
183
+ padding-top: 40px;
184
+ color: #9b9b9b; }
 
185
 
186
  .wpstg_admin .nav-tab {
187
+ color: #3C3C3C; }
 
188
 
189
  #wpstg-tab-container table tbody tr:nth-child(1) > th > div {
190
+ font-size: 20px; }
 
191
 
192
  /* Cloning workflow */
 
193
  #wpstg-clonepage-wrapper {
194
+ margin-bottom: 20px;
195
+ width: 98%; }
 
196
 
197
  @media screen and (min-width: 1090px) {
198
+ #wpstg-clonepage-wrapper {
199
+ float: left;
200
+ margin-bottom: 20px; } }
 
 
201
 
202
  #wpstg-steps {
203
+ margin-top: 0px;
204
+ margin-left: 20px; }
 
205
 
206
  #wpstg-steps li {
207
+ color: #444;
208
+ line-height: 20px;
209
+ padding-right: 10px;
210
+ float: left; }
 
211
 
212
  .wpstg-step-num {
213
+ border: 1px solid #3e3e3e;
214
+ border-radius: 3px;
215
+ display: inline-block;
216
+ width: 20px;
217
+ height: 20px;
218
+ text-align: center;
219
+ margin-right: 5px; }
 
220
 
221
  .wpstg-current-step {
222
+ font-weight: bold; }
 
223
 
224
  .wpstg-current-step .wpstg-step-num {
225
+ background: #3e3e3e;
226
+ color: #eee; }
 
227
 
228
  .wpstg-box {
229
+ margin: 10px 0;
230
+ padding: 10px;
231
+ position: relative;
232
+ overflow: hidden;
233
+ transition: border-color .2s ease-in-out; }
 
234
 
235
  .wpstg-clone {
236
+ margin-bottom: 10px;
237
+ padding: 16px;
238
+ position: relative;
239
+ transition: border-color .2s ease-in-out;
240
+ background-color: #ffffff;
241
+ color: #3e3e3e;
242
+ border-radius: 3px;
243
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0.125), 0 1px 3px rgba(0, 0, 0, 0.1); }
 
244
 
245
  .wpstg-clone.active {
246
+ border-color: #1d94cf; }
 
247
 
248
  .wpstg-clone-header {
249
+ display: flex;
250
+ align-items: center; }
 
251
 
252
  .wpstg-clone-title {
253
+ display: inline-block;
254
+ margin-right: 8px;
255
+ font-size: 15px;
256
+ max-width: 300px;
257
+ text-decoration: none;
258
+ font-weight: bold;
259
+ color: #3e3e3e; }
 
260
 
261
  .wpstg-clone-title:hover {
262
+ color: #111111; }
 
263
 
264
  .wpstg-clone-labels {
265
+ display: inline-block; }
 
 
266
 
267
  .wpstg-clone-labels .wpstg-clone-label {
268
+ display: inline-block;
269
+ padding: 1px 4px;
270
+ margin-right: 4px;
271
+ font-size: 11px;
272
+ border-radius: 3px;
273
+ background: #8bc34a;
274
+ color: #fff; }
 
275
 
276
  .wpstg-clone-actions {
277
+ margin-left: auto;
278
+ display: flex;
279
+ margin-top: 5px; }
 
280
 
281
  .wpstg-dropdown {
282
+ position: relative; }
 
283
 
284
  .wpstg-clone-actions .wpstg-dropdown-toggler {
285
+ text-decoration: none;
286
+ background: #25a1f0;
287
+ padding: 6px 10px;
288
+ border-radius: 2px;
289
+ font-size: 14px;
290
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0.125), 0 1px 3px rgba(0, 0, 0, 0.2);
291
+ color: #ffffff; }
 
292
 
293
  .wpstg-clone-actions .wpstg-dropdown-toggler:hover {
294
+ background: #002648;
295
+ color: white; }
 
296
 
297
  .wpstg-dropdown {
298
+ position: relative; }
 
299
 
300
  .wpstg-dropdown > .wpstg-dropdown-menu {
301
+ background: #fff;
302
+ display: none;
303
+ flex-direction: column;
304
+ position: absolute;
305
+ right: 0;
306
+ top: calc(100% + 4px);
307
+ padding: 8px;
308
+ border-radius: 2px;
309
+ width: 100px;
310
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0.125), 0 1px 3px rgba(0, 0, 0, 0.2);
311
+ z-index: 1000; }
 
312
 
313
  .wpstg-dropdown > .wpstg-dropdown-menu.wpstg-menu-dropup {
314
+ top: auto;
315
+ bottom: 100%;
316
+ transform: translate3d(0px, -3px, 0px); }
 
317
 
318
  .wpstg-dropdown > .wpstg-dropdown-menu.shown {
319
+ display: flex; }
 
320
 
321
  .wpstg-clone-action,
322
  .wpstg-dropdown-action {
323
+ color: #3e3e3e;
324
+ padding: 6px 8px;
325
+ border-radius: 3px;
326
+ text-decoration: none;
327
+ position: relative;
328
+ transition: color .2s ease-in-out;
329
+ border-bottom: 1px solid #f3f3f3; }
 
330
 
331
  .wpstg-clone-action:hover,
332
  .wpstg-dropdown-action:hover {
333
+ background: rgba(0, 0, 0, 0.05); }
 
334
 
335
  .wpstg-dropdown-action {
336
+ color: #3e3e3e;
337
+ background: transparent;
338
+ border: 0 solid black;
339
+ outline: none;
340
+ box-shadow: none; }
 
341
 
342
  .wpstg-remove-clone:hover {
343
+ color: #E01E5A; }
 
344
 
345
  .wpstg-clone-action:last-child {
346
+ border: none; }
 
347
 
348
  .wpstg-clone:hover .wpstg-clone-action {
349
+ display: inline-block; }
 
350
 
351
  #wpstg-show-error-details:focus,
352
  #wpstg-workflow .wpstg-clone-action {
353
+ outline: none;
354
+ box-shadow: none; }
 
355
 
356
  .wpstg-link-btn {
357
+ background: #45a1c9;
358
+ color: #fff;
359
+ display: inline-block;
360
+ padding: 5px 10px;
361
+ text-decoration: none;
362
+ vertical-align: baseline;
363
+ transition: all .2s ease-in-out; }
 
364
 
365
  .wpstg-link-btn:hover,
366
  .wpstg-link-btn:focus {
367
+ color: #fff;
368
+ outline: none;
369
+ box-shadow: none; }
 
370
 
371
  #wpstg-workflow .wpstg-link-btn:active {
372
+ vertical-align: baseline; }
 
373
 
374
  .wpstg-link-btn[disabled] {
375
+ background: #777 !important;
376
+ border-color: #555 !important;
377
+ pointer-events: none; }
 
378
 
379
  #wpstg-cancel-cloning,
380
  #wpstg-cancel-cloning-update {
381
+ margin-top: 5px; }
 
382
 
383
  #wpstg-cancel-cloning.success,
384
  #wpstg-cancel-cloning.success {
385
+ background: #64dd58;
386
+ border-color: #54bd4a; }
 
387
 
388
  #wpstg-error-wrapper,
389
  #wpstg-error-details {
390
+ display: none;
391
+ padding-top: 10px;
392
+ font-size: 13px;
393
+ clear: both; }
 
394
 
395
  #wpstg-show-error-details {
396
+ display: inline-block;
397
+ margin-left: 5px;
398
+ color: #555;
399
+ text-decoration: none;
400
+ transition: color .2s ease-in-out; }
 
401
 
402
  #wpstg-show-error-details:hover {
403
+ color: #1d94cf; }
 
404
 
405
  #wpstg-error-details {
406
+ border-left: 5px solid #E01E5A;
407
+ padding: 10px;
408
+ width: 500px; }
 
409
 
410
  #wpstg-try-again {
411
+ display: none; }
 
412
 
413
  #wpstg-home-link {
414
+ float: right; }
 
415
 
416
  .wpstg-loader {
417
+ content: url("../../img/loading.gif");
418
+ display: none; }
 
419
 
420
  .wpstg-loader.wpstg-finished {
421
+ display: block;
422
+ content: "Finished";
423
+ background-color: #00c89a;
424
+ color: white;
425
+ padding: 2px 10px;
426
+ margin-top: 0;
427
+ border-radius: 3px; }
 
428
 
429
  #wpstg-workflow {
430
+ max-width: 800px;
431
+ position: relative;
432
+ clear: both;
433
+ padding-top: 20px;
434
+ float: left;
435
+ min-width: 500px;
436
+ min-height: 380px;
437
+ padding-right: 20px;
438
+ padding-bottom: 20px; }
 
439
 
440
  #wpstg-sidebar {
441
+ float: left;
442
+ max-width: 400px;
443
+ display: block;
444
+ margin-left: 10px; }
 
445
 
446
  #wpstg-workflow.loading::after,
447
  #wpstg-removing-clone.loading::after {
448
+ background: rgba(255, 255, 255, 0.7);
449
+ content: 'Loading... may take a while for huge websites';
450
+ display: block;
451
+ width: 100%;
452
+ height: 100%;
453
+ font-size: 20px;
454
+ padding-top: 100px;
455
+ text-align: center;
456
+ position: absolute;
457
+ top: 0;
458
+ left: 0;
459
+ z-index: 99; }
 
460
 
461
  #wpstg-removing-clone.loading::after {
462
+ content: 'REMOVING' !important; }
 
463
 
464
  #wpstg-existing-clones,
465
  #wpstg-removing-clone {
466
+ position: relative; }
 
467
 
468
  #wpstg-existing-clones h3 {
469
+ color: #3e3e3e; }
 
470
 
471
  #wpstg-removing-clone .wpstg-tab-section {
472
+ display: block; }
 
473
 
474
  .wpstg-progress-bar {
475
+ max-width: 900px;
476
+ height: 27px;
477
+ padding: 0;
478
+ background-color: #d6d8d7; }
 
479
 
480
  .wpstg-progress {
481
+ float: left;
482
+ background: #3fa5ee;
483
+ width: 0;
484
+ height: 100%;
485
+ transition: width .6s ease;
486
+ color: white;
487
+ line-height: 25px;
488
+ text-align: center;
489
+ overflow: hidden; }
 
490
 
491
  .wpstg-progress-files {
492
+ background: #16b4f0;
493
+ width: 0;
494
+ height: 100%;
495
+ transition: width .6s ease;
496
+ color: white;
497
+ line-height: 25px;
498
+ text-align: center; }
 
499
 
500
  #wpstg-new-clone-id.wpstg-error-input,
501
  #wpstg-clone-path.wpstg-error-input {
502
+ border: 1px solid #E01E5A;
503
+ box-shadow: 0 0 2px rgba(255, 66, 53, 0.8); }
 
504
 
505
  #wpstg-new-clone-id {
506
+ width: 450px;
507
+ max-width: 100%;
508
+ margin-left: 15px; }
 
509
 
510
  #wpstg-new-clone {
511
+ background: #25a1f0;
512
+ border-color: #2188c9; }
 
513
 
514
  #wpstg-new-clone:hover {
515
+ background: #259be6;
516
+ border-color: #2188c9; }
 
517
 
518
  #wpstg-clone-path {
519
+ margin-left: 10px;
520
+ width: 350px; }
 
521
 
522
  .wpstg-error-msg {
523
+ color: #E01E5A; }
 
524
 
525
  #wpstg-clone-id-error {
526
+ display: block;
527
+ background-color: #f0f8ff;
528
+ padding: 10px;
529
+ margin: 20px; }
 
530
 
531
  #wpstg-start-cloning + .wpstg-error-msg {
532
+ display: block;
533
+ margin-top: 5px; }
 
534
 
535
  .wpstg-size-info {
536
+ color: #999;
537
+ font-weight: normal;
538
+ position: relative;
539
+ left: 2px; }
 
540
 
541
  .wpstg-db-table .wpstg-size-info {
542
+ top: 2px; }
 
543
 
544
  .wpstg-db-table:hover {
545
+ background-color: #f0f8ff; }
 
546
 
547
  #wpstg-workflow #wpstg-start-cloning {
548
+ margin-left: 5px;
549
+ vertical-align: baseline; }
 
 
550
 
551
  /* Tabs */
 
552
  .wpstg-tabs-wrapper {
553
+ max-width: 640px;
554
+ margin: 10px 0; }
 
555
 
556
  #wpstg-path-wrapper {
557
+ border-bottom: 2px dashed #ccc;
558
+ padding-bottom: 10px;
559
+ margin-bottom: 10px; }
 
560
 
561
  .wpstg-tab-section {
562
+ border-bottom: 1px solid #ddd;
563
+ border-right: none;
564
+ border-left: none;
565
+ display: none;
566
+ width: calc(100% - 72px);
567
+ padding: 0px 36px; }
 
568
 
569
  .wpstg-tab-section::after {
570
+ display: block;
571
+ content: '';
572
+ clear: both; }
 
573
 
574
  .wpstg-tab-header {
575
+ border-bottom: 1px solid #ddd;
576
+ border-right: none;
577
+ border-left: none;
578
+ color: #444;
579
+ font-size: 16px;
580
+ font-weight: bold;
581
+ display: block;
582
+ padding: 10px;
583
+ text-decoration: none; }
 
584
 
585
  .wpstg-tab-triangle {
586
+ display: inline-block;
587
+ margin-right: 12px;
588
+ animation: transform 0.5s;
589
+ width: 0;
590
+ height: 0;
591
+ margin-top: -3px;
592
+ vertical-align: middle;
593
+ border-top: 5px solid transparent;
594
+ border-bottom: 5px solid transparent;
595
+ border-left: 10px solid;
596
+ transition: transform 0.2s;
597
+ cursor: pointer; }
 
598
 
599
  .wpstg-tab-triangle.wpstg-no-icon {
600
+ margin-right: 2px;
601
+ width: auto;
602
+ height: auto;
603
+ vertical-align: auto;
604
+ border-top: 0px solid;
605
+ border-bottom: 0px solid;
606
+ border-left: 0px solid; }
 
607
 
608
  .wpstg-tab-triangle.wpstg-rotate-90 {
609
+ transform: rotate(90deg); }
 
610
 
611
  .wpstg-tab-header:focus {
612
+ color: #444;
613
+ outline: none;
614
+ box-shadow: none; }
 
615
 
616
  #wpstg-large-files {
617
+ display: none;
618
+ border: 1px dashed #ccc;
619
+ padding: 10px 10px 10px;
620
+ margin-top: 20px;
621
+ position: relative;
622
+ font-size: 12px; }
 
623
 
624
  #wpstg-large-files h3 {
625
+ background: #fff;
626
+ margin: 0;
627
+ padding: 0 5px;
628
+ position: absolute;
629
+ top: -10px;
630
+ left: 5px; }
 
631
 
632
  .wpstg-subdir {
633
+ display: none;
634
+ margin-left: 20px; }
 
635
 
636
  .wpstg-subdir.wpstg-push {
637
+ display: block;
638
+ margin-left: 20px; }
 
639
 
640
  .wpstg-dir a.disabled {
641
+ color: #888;
642
+ cursor: default;
643
+ text-decoration: none; }
 
644
 
645
  .wpstg-check-subdirs {
646
+ display: inline-block;
647
+ margin-left: 10px; }
 
648
 
649
  .wpstg-notice-alert {
650
+ display: block;
651
+ background-color: #E01E5A;
652
+ padding: 20px;
653
+ max-width: 600px;
654
+ margin-top: 10px;
655
+ color: white; }
 
656
 
657
  .wpstg-notice--white {
658
+ display: block;
659
+ background-color: #ffffff;
660
+ padding: 20px;
661
+ max-width: 600px;
662
+ margin-top: 10px; }
 
663
 
664
  .wpstg-notice-alert a {
665
+ color: white; }
 
666
 
667
  .wpstg-notice-alert h3 {
668
+ color: white; }
 
669
 
670
  .wpstg-header {
671
+ font-weight: 400;
672
+ line-height: 1.6em;
673
+ font-size: 19px;
674
+ /*
675
  border-bottom: 1px solid #DFDFDF;
676
  */
677
+ clear: both;
678
+ padding-top: 10px; }
 
679
 
680
  #wpstg-clone-label {
681
+ font-size: 14px;
682
+ font-weight: bold; }
 
683
 
684
  .wpstg-log-details {
685
+ height: 300px;
686
+ overflow: scroll;
687
+ max-width: 650px;
688
+ font-family: monospace;
689
+ font-size: 12px;
690
+ line-height: 15px;
691
+ border: 1px solid #FFF;
692
+ background-color: black;
693
+ color: #c0c0c0;
694
+ padding: 3px;
695
+ white-space: nowrap;
696
+ margin-top: 15px; }
 
697
 
698
  #wpstg-finished-result {
699
+ display: none; }
 
700
 
701
  #wpstg-remove-cloning {
702
+ background: #ff3428;
703
+ border-color: #e72f24;
704
+ margin-top: 5px; }
 
705
 
706
  #wpstg-success-notice {
707
+ padding: 10px;
708
+ background-color: white;
709
+ max-width: 900px;
710
+ border: 1px solid #ccc;
711
+ margin-top: 20px; }
 
712
 
713
  .wpstg_beta_notice {
714
+ margin-bottom: 20px; }
 
715
 
716
  .wpstg-sysinfo {
717
+ width: 700px;
718
+ height: 400px; }
 
719
 
720
  .wpstg-form-table .col-title label {
721
+ font-weight: 600; }
 
722
 
723
  .wpstg-form-table td:first-child {
724
+ width: 30%;
725
+ padding-right: 20px; }
 
726
 
727
  .wpstg-share-button-container {
728
+ margin: 5px 0; }
 
729
 
730
  .wpstg-share-button-container p {
731
+ margin: 0 0 10px 0; }
 
732
 
733
  .wpstg-share-button {
734
+ display: inline-block; }
 
735
 
736
  .wpstg-share-button a {
737
+ text-decoration: none; }
 
738
 
739
  .wpstg-share-button .wpstg-share {
740
+ font-family: sans-serif;
741
+ font-weight: bold;
742
+ text-decoration: none;
743
+ text-align: center; }
 
744
 
745
  .wpstg-share-button .wpstg-share {
746
+ -webkit-border-radius: 2px;
747
+ -moz-border-radius: 2px;
748
+ border-radius: 2px;
749
+ color: #FFF;
750
+ display: inline;
751
+ font-size: 12px;
752
+ padding: 4px 8px; }
 
753
 
754
  .wpstg-share-button-twitter .wpstg-share {
755
+ background-color: #00ABF0; }
 
756
 
757
  .wpstg-share-button-facebook .wpstg-share {
758
+ background-color: #3b5998; }
 
759
 
760
  .wpstg-share-button-googleplus .wpstg-share {
761
+ background-color: #F53424; }
 
762
 
763
  .wpstg-share-button-twitter .share:active,
764
  .wpstg-share-button-facebook .share:active,
765
  .wpstg-share-button-googleplus .share:active {
766
+ background-color: #353535; }
 
767
 
768
  #wpstg-check-space {
769
+ margin-left: 8px; }
 
770
 
771
  #wpstg-welcome li {
772
+ font-size: 18px;
773
+ line-height: 29px;
774
+ position: relative;
775
+ padding-left: 23px;
776
+ list-style: none !important; }
 
777
 
778
  #wpstg-welcome {
779
+ margin-top: 20px;
780
+ margin-right: 20px;
781
+ background-color: white; }
 
782
 
783
  .wpstg-heading-pro {
784
+ font-weight: bold; }
 
785
 
786
  .wpstg-h2 {
787
+ margin-top: 0;
788
+ margin-bottom: 1.2rem;
789
+ font-size: 30px;
790
+ line-height: 2.5rem; }
 
791
 
792
  #wpstg-welcome li:before {
793
+ width: 1em;
794
+ height: 100%;
795
+ background: url(data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%2377B227%22%20d%3D%22M1671%20566q0%2040%2D28%2068l%2D724%20724%2D136%20136q%2D28%2028%2D68%2028t%2D68%2D28l%2D136%2D136%2D362%2D362q%2D28%2D28%2D28%2D68t28%2D68l136%2D136q28%2D28%2068%2D28t68%2028l294%20295%20656%2D657q28%2D28%2068%2D28t68%2028l136%20136q28%2028%2028%2068z%22%2F%3E%3C%2Fsvg%3E) left 0.4em no-repeat;
796
+ background-size: contain;
797
+ content: "";
798
+ position: absolute;
799
+ top: -2px;
800
+ left: 0;
801
+ color: #77b227; }
 
802
 
803
  .wpstg-h1 {
804
+ margin-bottom: 1.35rem;
805
+ font-size: 2.5em;
806
+ line-height: 3.68rem;
807
+ letter-spacing: normal; }
 
808
 
809
  .wpstg--swal2-content {
810
+ color: #3e3e3e; }
 
811
 
812
  .wpstg--swal2-content h1 {
813
+ color: #444; }
 
814
 
815
  #wpstg-welcome h2 {
816
+ margin: 0 0 15px; }
 
817
 
818
  #wpstg-welcome .wpstg-footer {
819
+ clear: both;
820
+ margin-top: 20px;
821
+ font-style: italic; }
 
822
 
823
  #wpstg-footer {
824
+ clear: both;
825
+ margin-top: 20px;
826
+ margin-right: 10px;
827
+ padding-top: 50px; }
 
828
 
829
  #wpstg-footer a {
830
+ text-decoration: none; }
 
831
 
832
  #wpstg-footer li {
833
+ margin-bottom: 2px;
834
+ list-style: circle; }
 
835
 
836
  #wpstg-footer ul {
837
+ margin-left: 15px;
838
+ margin-top: 0px; }
 
839
 
840
  .wpstg-footer--title {
841
+ margin-left: 15px; }
 
842
 
843
  .wpstg-staging-info {
844
+ margin-top: 8px;
845
+ color: #3e3e3e;
846
+ font-size: 12px; }
 
847
 
848
  .wpstg-staging-info a {
849
+ color: #3e3e3e; }
 
850
 
851
  .wpstg-staging-info li {
852
+ margin-bottom: 2px; }
 
853
 
854
  .wpstg-bold {
855
+ font-weight: 600; }
 
856
 
857
  #wpstg-processing-status {
858
+ margin-top: 5px;
859
+ font-size: 13px;
860
+ font-weight: 400;
861
+ float: left; }
 
862
 
863
  #wpstg-processing-timer {
864
+ margin-top: 5px;
865
+ font-size: 13px;
866
+ font-weight: 400;
867
+ float: right; }
 
868
 
869
  #wpstg-report-issue-button {
870
+ margin-left: 30px;
871
+ border: 1px solid #E01E5A;
872
+ color: #E01E5A;
873
+ background-color: white; }
 
874
 
875
  #wpstg-report-issue-button:hover {
876
+ background-color: #dc2b62;
877
+ color: #fff; }
 
878
 
879
  .wpstg-blue-primary {
880
+ display: inline-block;
881
+ text-decoration: none;
882
+ font-size: 13px;
883
+ height: 28px;
884
+ margin: 0;
885
+ /*
886
  padding: 0 10px 1px;
887
  */
888
+ cursor: pointer;
889
+ border-width: 1px;
890
+ border-style: solid;
891
+ -webkit-appearance: none;
892
+ border-radius: 3px;
893
+ white-space: nowrap;
894
+ box-sizing: border-box;
895
+ background: #25a1f0;
896
+ border-color: #2188c9;
897
+ color: #fff;
898
+ /*
899
  text-shadow: 0 -1px 1px #006799, 1px 0 1px #006799, 0 1px 1px #006799, -1px 0 1px #006799;
900
+ */ }
 
901
 
902
  .wpstg-blue-primary:hover {
903
+ background: #127fc6; }
 
904
 
905
  a.wpstg-blue-primary {
906
+ padding: 5px 10px;
907
+ height: auto; }
 
908
 
909
  .wpstg-blue-primary:hover {
910
+ background-color: #259be6; }
 
911
 
912
  .wpstg-report-issue-form {
913
+ position: absolute;
914
+ z-index: 999;
915
+ width: 300px;
916
+ background-color: #fff;
917
+ padding: 15px 15px 10px;
918
+ border: 1px solid #e8e8e8;
919
+ border-radius: 3px;
920
+ box-shadow: 0 1px 0 0 #fff inset;
921
+ display: none;
922
+ right: 0;
923
+ top: 35px; }
 
924
 
925
  @media (max-width: 600px) {
926
+ .wpstg-report-issue-form {
927
+ position: relative; } }
 
 
928
 
929
  .wpstg-report-show {
930
+ display: block; }
 
931
 
932
  .wpstg-field input[type=text],
933
  .wpstg-field textarea {
934
+ width: 100%;
935
+ font-weight: 400;
936
+ line-height: 1.4;
937
+ margin-bottom: 4px; }
 
938
 
939
  .wpstg-report-email,
940
  .wpstg-report-hosting-provider {
941
+ width: 100%;
942
+ font-weight: 400;
943
+ font-size: .8rem;
944
+ height: 2.3rem;
945
+ line-height: 2.3rem;
946
+ border-radius: 3px;
947
+ margin-bottom: 4px;
948
+ padding: 0 10px; }
 
949
 
950
  .wpstg-report-description {
951
+ border-radius: 3px;
952
+ font-size: .8rem;
953
+ padding: 6px 10px;
954
+ resize: none; }
 
955
 
956
  .wpstg-report-privacy-policy {
957
+ font-size: 12px;
958
+ margin-bottom: 15px; }
 
959
 
960
  #wpstg-report-cancel {
961
+ float: right;
962
+ margin-right: 5px;
963
+ font-weight: bold; }
 
964
 
965
  #wpstg-success-button {
966
+ font-weight: bold; }
 
967
 
968
  .wpstg-message {
969
+ box-sizing: border-box;
970
+ -moz-box-sizing: border-box;
971
+ background-color: #f5e0de;
972
+ border-radius: 3px;
973
+ color: rgba(0, 0, 0, 0.6);
974
+ height: auto;
975
+ margin: 10px 0;
976
+ min-height: 18px;
977
+ padding: 6px 10px;
978
+ position: relative; }
 
979
 
980
  .wpstg-message.wpstg-error-message {
981
+ background-color: #f5e0de;
982
+ color: #b65147;
983
+ font-size: 12px; }
 
984
 
985
  .wpstg-message.wpstg-success-message {
986
+ background-color: #d7f8e0;
987
+ color: #515151; }
 
988
 
989
  .wpstg-message p {
990
+ margin: 3px 0;
991
+ font-size: 13px; }
 
992
 
993
  .wpstg-warning {
994
+ display: block;
995
+ padding: 10px;
996
+ background-color: #ffb804;
997
+ color: #ffffff;
998
+ margin: 10px 10px 10px 0; }
 
999
 
1000
  .wpstg-warning a {
1001
+ color: #ffffff;
1002
+ font-weight: bold;
1003
+ text-decoration: underline; }
 
1004
 
1005
  .wpstg-error {
1006
+ display: block;
1007
+ padding: 10px !important;
1008
+ background-color: #E01E5A !important;
1009
+ color: #ffffff;
1010
+ margin: 10px 10px 10px 0 !important;
1011
+ border-color: transparent !important;
1012
+ border-left-color: transparent !important;
1013
+ box-shadow: none !important; }
 
1014
 
1015
  .wpstg-error a {
1016
+ color: #ffffff;
1017
+ font-weight: bold;
1018
+ text-decoration: underline; }
 
1019
 
1020
  #wpstg-resume-cloning {
1021
+ display: none; }
 
1022
 
1023
  #wpstg-external-db th {
1024
+ text-align: left;
1025
+ width: 120px; }
 
1026
 
1027
  #wpstg-db-connect {
1028
+ font-weight: normal; }
 
1029
 
1030
  #wpstg-db-status {
1031
+ display: block;
1032
+ margin-top: 5px;
1033
+ padding: 5px;
1034
+ margin-bottom: 20px;
1035
+ border: 1px solid transparent;
1036
+ border-radius: 4px;
1037
+ text-decoration: none;
1038
+ text-align: center; }
 
1039
 
1040
  .wpstg-text-field > #wpstg-db-status {
1041
+ margin-top: 8px;
1042
+ margin-left: 150px;
1043
+ min-width: 300px; }
 
1044
 
1045
  .wpstg-success {
1046
+ color: #3c763d;
1047
+ background-color: #dff0d8;
1048
+ border-color: #d6e9c6; }
 
1049
 
1050
  .wpstg-failed {
1051
+ color: #a94442;
1052
+ background-color: #f2dede;
1053
+ border-color: #ebccd1; }
 
1054
 
1055
  #wpstg_select_tables_cloning {
1056
+ height: 600px;
1057
+ font-size: 13px; }
 
1058
 
1059
  #wpstg_select_tables_pushing {
1060
+ height: 400px;
1061
+ font-size: 13px; }
 
1062
 
1063
  #wpstg-update-notify {
1064
+ background-color: #E01E5A;
1065
+ font-size: 14px;
1066
+ color: #ffffff;
1067
+ line-height: normal;
1068
+ padding: 10px; }
 
1069
 
1070
  #wpstg-update-notify a {
1071
+ color: #ffffff;
1072
+ font-weight: bold; }
 
1073
 
1074
  .wpstg-pointer {
1075
+ cursor: pointer; }
 
1076
 
1077
  .wpstg--tab--header {
1078
+ background-color: white;
1079
+ position: relative;
1080
+ transition: border-color .2s ease-in-out;
1081
+ background-color: #ffffff;
1082
+ color: #3e3e3e;
1083
+ border-radius: 0px;
1084
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0.125), 0 1px 3px rgba(0, 0, 0, 0.02); }
 
1085
 
1086
  .wpstg--tab--header ul {
1087
+ display: flex; }
 
1088
 
1089
  .wpstg--tab--header ul li {
1090
+ margin-right: 1em;
1091
+ margin-bottom: 0px; }
 
1092
 
1093
  .wpstg--tab--header ul li:last-child {
1094
+ margin-right: 0; }
 
1095
 
1096
  .wpstg--tab--header a {
1097
+ min-width: 150px;
1098
+ text-align: center;
1099
+ cursor: pointer;
1100
+ display: inline-block;
1101
+ padding: 1em 1.25em;
1102
+ padding-bottom: 9px;
1103
+ color: #c4c4c4;
1104
+ font-size: 18px; }
 
1105
 
1106
  .wpstg--tab--header a.wpstg--tab--active {
1107
+ border-bottom: 3px solid #0e86d9;
1108
+ color: #25A1F0; }
 
1109
 
1110
  .wpstg--tab--header a:hover {
1111
+ background-color: #fefefe;
1112
+ border-bottom: 3px solid #0e86d9;
1113
+ color: #0e86d9; }
 
1114
 
1115
  .wpstg--tab--content {
1116
+ display: none; }
 
1117
 
1118
  .wpstg--tab--active {
1119
+ display: block; }
 
1120
 
1121
  #wpstg-premium-header {
1122
+ font-size: 1.5rem;
1123
+ font-weight: bold; }
 
1124
 
1125
  .wpstg--text--strong,
1126
  .wpstg--text--strong * {
1127
+ font-weight: bold !important; }
 
1128
 
1129
  .wpstg--text--danger {
1130
+ color: #a94442; }
 
1131
 
1132
  .wpstg--tooltip {
1133
+ position: relative;
1134
+ display: inline-block;
1135
+ margin-left: 5px; }
 
1136
 
1137
  .wpstg--tooltip.wpstg--tooltip-normal {
1138
+ margin-left: 0;
1139
+ border-bottom: 0; }
 
1140
 
1141
  .wpstg--tooltip .wpstg--tooltiptext {
1142
+ visibility: hidden;
1143
+ width: 300px;
1144
+ background-color: #ffffff;
1145
+ color: #505050;
1146
+ text-align: left;
1147
+ padding: 12px;
1148
+ border-radius: 3px;
1149
+ position: absolute;
1150
+ z-index: 1;
1151
+ -webkit-box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
1152
+ -moz-box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
1153
+ box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
1154
+ font-weight: normal; }
 
1155
 
1156
  .wpstg--tooltiptext-backups {
1157
+ width: 120px;
1158
+ top: 100%;
1159
+ left: -150%;
1160
+ margin-left: -56px;
1161
+ margin-top: 4px; }
 
1162
 
1163
  .wpstg--tooltip.wpstg--exclude-rules--tooltip {
1164
+ border-bottom: 0px solid transparent; }
 
1165
 
1166
  .wpstg--tooltip.wpstg--exclude-rules--tooltip > .wpstg--tooltiptext {
1167
+ margin-top: 0px;
1168
+ margin-left: -150px; }
 
1169
 
1170
  /**
1171
  Tooltip top arrow
1172
  */
 
1173
  .wpstg--tooltip .wpstg--tooltiptext-backups::after {
1174
+ content: " ";
1175
+ position: absolute;
1176
+ bottom: 100%;
1177
+ /* At the top of the tooltip */
1178
+ left: 50%;
1179
+ margin-left: 25px;
1180
+ border-width: 5px;
1181
+ border-style: solid;
1182
+ border-color: transparent transparent white transparent; }
 
1183
 
1184
  .wpstg--tooltip .wpstg--tooltiptext.has-top-arrow {
1185
+ margin-top: 6px; }
 
1186
 
1187
  .wpstg--tooltip .wpstg--tooltiptext.has-top-arrow::after {
1188
+ content: " ";
1189
+ position: absolute;
1190
+ bottom: 100%;
1191
+ left: 50%;
1192
+ margin-left: -18px;
1193
+ border-width: 5px;
1194
+ border-style: solid;
1195
+ border-color: transparent transparent white transparent; }
 
1196
 
1197
  .wpstg--snaphot-restore-table tr {
1198
+ line-height: 12px; }
 
1199
 
1200
  .wpstg-float-left {
1201
+ float: left; }
 
1202
 
1203
  .wpstg-beta-notice {
1204
+ background-color: #b0e8b0;
1205
+ border-radius: 3px;
1206
+ padding: 7px;
1207
+ margin-bottom: 20px; }
 
1208
 
1209
  #wpstg-backup-name {
1210
+ font-size: 1.875em;
1211
+ font-weight: 600; }
 
1212
 
1213
  #wpstg_select_tables_cloning option:checked,
1214
  #wpstg_select_tables_pushing option:checked {
1215
+ /* Cannot use background color here because Chrome and Firefox ignore it even if set to !important */
1216
+ -webkit-appearance: menulist-button;
1217
+ background-image: linear-gradient(0deg, #1e90ff 0%, #1e90ff 100%); }
 
1218
 
1219
  .wpstg--btn--cancel {
1220
+ background: #ff3428;
1221
+ border-color: #e72f24;
1222
+ color: #fff;
1223
+ height: auto;
1224
+ line-height: normal;
1225
+ font-size: 16px;
1226
+ padding: .5em;
1227
+ margin-bottom: 1.5em; }
 
1228
 
1229
  .wpstg--btn--cancel:hover {
1230
+ background: #ff3428;
1231
+ border-color: #e72f24; }
 
1232
 
1233
  .wpstg--process--content > .wpstg--swal2-html-container {
1234
+ padding: 4em 2em !important; }
 
1235
 
1236
  .wpstg--modal--process--logs,
1237
  .wpstg--modal--error--logs {
1238
+ background: #ffffff;
1239
+ border: 1px solid #a8a8a8;
1240
+ border-radius: 3px;
1241
+ height: 300px;
1242
+ margin-top: 1em;
1243
+ display: none;
1244
+ padding-top: 10px;
1245
+ padding-left: 10px;
1246
+ overflow: auto;
1247
+ text-align: justify; }
 
1248
 
1249
  .wpstg--modal--error--logs {
1250
+ height: auto;
1251
+ max-height: 300px; }
 
1252
 
1253
  .wpstg--modal--process--logs p {
1254
+ font-size: 12px;
1255
+ white-space: nowrap; }
 
1256
 
1257
  .wpstg--modal--process--logs p.wpstg--modal--process--msg--info {
1258
+ color: #222222; }
 
1259
 
1260
  .wpstg--modal--process--logs p.wpstg--modal--process--msg--debug {
1261
+ color: #757575; }
 
1262
 
1263
  .wpstg--modal--process--title {
1264
+ color: #565656;
1265
+ margin: .25em 0; }
 
1266
 
1267
  .wpstg--modal--process--subtitle {
1268
+ margin: .5em 0;
1269
+ color: #565656; }
 
1270
 
1271
  .wpstg--modal--error--logs > p {
1272
+ text-align: left;
1273
+ font-size: 14px;
1274
+ color: #222222; }
 
1275
 
1276
  .wpstg--modal--process--logs p,
1277
  .wpstg--modal--error--logs p {
1278
+ margin: 0px;
1279
+ margin-bottom: 2px; }
 
1280
 
1281
  .wpstg--modal--process--msg--error {
1282
+ color: #E01E5A; }
 
1283
 
1284
  .wpstg--modal--process--msg--critical {
1285
+ color: #E01E5A; }
 
1286
 
1287
  .wpstg--modal--process--msg--warning {
1288
+ color: darkorange; }
 
1289
 
1290
  .wpstg--modal--process--msg-found {
1291
+ font-size: 16px;
1292
+ color: #E01E5A;
1293
+ font-weight: bold; }
 
1294
 
1295
  .wpstg--modal--delete {
1296
+ text-align: left;
1297
+ margin-top: 8px;
1298
+ color: #565656; }
 
1299
 
1300
  .wpstg-swal-popup .wpstg--swal2-cancel.wpstg--btn--cancel {
1301
+ margin-bottom: 0;
1302
+ text-shadow: none !important; }
 
1303
 
1304
  .wpstg-swal-popup .wpstg-loader {
1305
+ display: inline-block !important; }
 
1306
 
1307
  .wpstg--modal--process--generic-problem {
1308
+ display: none;
1309
+ border-left: 5px solid #E01E5A;
1310
+ margin: .5em 0; }
 
1311
 
1312
  .wpstg--modal--process--logs--tail {
1313
+ font-size: 16px;
1314
+ color: #565656;
1315
+ background: none;
1316
+ border: none;
1317
+ cursor: pointer;
1318
+ text-decoration: underline; }
 
1319
 
1320
  .wpstg--modal--backup--import--upload--title {
1321
+ color: #3e3e3e; }
 
1322
 
1323
  .wpstg--modal--backup--import--configure,
1324
  .wpstg--modal--backup--import--upload--status,
1325
  .wpstg--modal--backup--import--upload--container input[type="file"] {
1326
+ display: none; }
 
1327
 
1328
  #wpstg--backups--import--file-list {
1329
+ font-size: 14px;
1330
+ font-weight: bold; }
 
1331
 
1332
  #wpstg--backups--import--file-list-empty {
1333
+ color: #E01E5A; }
 
1334
 
1335
  .wpstg--modal--backup--import--filesystem label {
1336
+ font-size: 14px; }
 
1337
 
1338
  .wpstg--modal--backup--import--filesystem button {
1339
+ margin-bottom: 20px; }
 
1340
 
1341
  .wpstg--modal--backup--import--upload {
1342
+ position: relative;
1343
+ min-height: 30px; }
 
1344
 
1345
  .wpstg--modal--backup--import--upload {
1346
+ color: #505050; }
 
1347
 
1348
  .wpstg--modal--backup--import--upload--container {
1349
+ position: relative;
1350
+ border-radius: 10px;
1351
+ margin: .5em;
1352
+ padding: 1em .5em;
1353
+ border: 3.5px dashed #dedede;
1354
+ transition: background-color 0.3s ease, color 0.3s ease;
1355
+ background-color: #f4fbff;
1356
+ min-height: 130px; }
 
1357
 
1358
  .wpstg--modal--backup--import--upload--container.wpstg--has-dragover span.wpstg--drop {
1359
+ display: inline-flex; }
 
1360
 
1361
  .wpstg--modal--backup--import--upload--container input[type='file'] {
1362
+ display: none; }
 
1363
 
1364
  .wpstg--modal--backup--import--upload--container img {
1365
+ margin-top: 10px;
1366
+ width: 4em;
1367
+ align-self: center;
1368
+ border: none; }
 
1369
 
1370
  .wpstg--modal--backup--import--upload--container span {
1371
+ margin-top: 1em; }
 
1372
 
1373
  .wpstg--backup--import--options > button {
1374
+ margin-top: 1em;
1375
+ padding: 1em;
1376
+ align-self: center;
1377
+ width: 185px;
1378
+ height: auto;
1379
+ line-height: normal; }
 
1380
 
1381
  .wpstg--backup--import--options {
1382
+ position: relative;
1383
+ display: flex;
1384
+ justify-content: center; }
 
1385
 
1386
  .wpstg--backup--import--options ul {
1387
+ display: none; }
 
1388
 
1389
  .wpstg--backup--import--options.wpstg--show-options ul {
1390
+ padding: 0;
1391
+ margin: 54px 0 0 0;
1392
+ display: block;
1393
+ position: absolute;
1394
+ width: 185px;
1395
+ background: #25a1f0;
1396
+ box-sizing: border-box;
1397
+ border-radius: 0 0 3px 3px;
1398
+ border-width: 1px;
1399
+ border-color: #2188c9;
1400
+ text-shadow: 0 -1px 1px #006799, 1px 0 1px #006799, 0 1px 1px #006799, -1px 0 1px #006799; }
 
1401
 
1402
  .wpstg--backup--import--options.wpstg--show-options ul li {
1403
+ border-bottom: .1em solid #25a1f0;
1404
+ margin: 0; }
 
1405
 
1406
  .wpstg--backup--import--options.wpstg--show-options ul li:hover {
1407
+ background-color: #25a1f0; }
 
1408
 
1409
  .wpstg--backup--import--options.wpstg--show-options ul li:last-child {
1410
+ border-bottom: none; }
 
1411
 
1412
  .wpstg--backup--import--options ul li button {
1413
+ cursor: pointer;
1414
+ background: none;
1415
+ border: none;
1416
+ margin: 0;
1417
+ width: 100%;
1418
+ color: white;
1419
+ height: 40px;
1420
+ line-height: 40px; }
 
1421
 
1422
  .wpstg--backup--import--options ul li button:hover {
1423
+ background-color: #259be6; }
 
1424
 
1425
  .wpstg--modal--backup--import--search-replace--info {
1426
+ margin: 1em 0;
1427
+ display: flex;
1428
+ flex-direction: row; }
 
1429
 
1430
  .wpstg--modal--backup--import--info p {
1431
+ text-align: left;
1432
+ margin: 0; }
 
1433
 
1434
  .wpstg--modal--backup--import--search-replace--wrapper button {
1435
+ align-self: center; }
 
1436
 
1437
  .wpstg--import--advanced-options--button {
1438
+ border: 0;
1439
+ border-radius: 3px;
1440
+ font-size: 18px;
1441
+ text-shadow: 0 -1px 1px #006799, 1px 0 1px #006799, 0 1px 1px #006799, -1px 0 1px #006799;
1442
+ cursor: pointer; }
 
1443
 
1444
  .wpstg--modal--backup--import--search-replace--new {
1445
+ color: white;
1446
+ background-color: #25a1f0; }
 
1447
 
1448
  .wpstg--modal--backup--import--search-replace--remove {
1449
+ color: white;
1450
+ background-color: #25a1f0;
1451
+ width: 22px;
1452
+ height: 22px;
1453
+ margin-left: 5px; }
 
1454
 
1455
  .wpstg--modal--backup--import--search-replace--input-group:first-child button {
1456
+ display: none; }
 
1457
 
1458
  .wpstg--modal--backup--import--search-replace--input--container {
1459
+ flex: 1;
1460
+ display: flex;
1461
+ flex-direction: column; }
 
1462
 
1463
  .wpstg--modal--backup--import--search-replace--input-group {
1464
+ width: 100%;
1465
+ border-bottom: 6px solid #f1f1f1;
1466
+ margin-bottom: 10px; }
 
1467
 
1468
  .wpstg--modal--backup--import--search-replace--input-group input {
1469
+ min-width: 250px;
1470
+ width: calc(50% - 4px - 11px - 5px);
1471
+ /* -4px is half of the padding; -11px is half of the button; -5 is the margin left of the button */
1472
+ display: inline-block;
1473
+ line-height: 10px;
1474
+ border: 1px solid #dedede;
1475
+ border-radius: 3px;
1476
+ color: #666;
1477
+ padding: 8px;
1478
+ margin-bottom: 12px; }
1479
 
1480
  .wpstg--modal--import--upload--process {
1481
+ display: none;
1482
+ position: relative;
1483
+ height: 30px;
1484
+ margin-top: 20px;
1485
+ margin-bottom: 20px;
1486
+ width: 100%;
1487
+ top: 0;
1488
+ left: 0;
1489
+ text-indent: 1em;
1490
+ white-space: nowrap;
1491
+ overflow: hidden;
1492
+ color: #333333;
1493
+ justify-content: center;
1494
+ align-items: center; }
 
1495
 
1496
  .wpstg--modal--import--upload--progress {
1497
+ position: absolute;
1498
+ background: #98d452;
1499
+ color: white;
1500
+ height: 100%;
1501
+ border-radius: 4px;
1502
+ left: 0;
1503
+ top: 0; }
 
1504
 
1505
  .wpstg--modal--import--upload--progress--title {
1506
+ z-index: 9; }
 
1507
 
1508
  .wpstg-fieldset:disabled {
1509
+ opacity: 0.8;
1510
+ border-top: 1px solid white;
1511
+ margin-top: 20px; }
 
1512
 
1513
  .wpstg-fieldset {
1514
+ padding-left: 20px; }
 
1515
 
1516
  .wpstg-fs-14 {
1517
+ font-size: 14px; }
 
1518
 
1519
  .wpstg-dark-alert {
1520
+ font-weight: bold;
1521
+ background-color: #0e86d9;
1522
+ padding: 30px;
1523
+ margin-top: 0px;
1524
+ color: white; }
 
1525
 
1526
+ .wpstg-dark-alert ul {
1527
+ list-style: initial; }
 
1528
 
1529
  .wpstg-form-group {
1530
+ display: block;
1531
+ width: 100%;
1532
+ margin-bottom: 8px;
1533
+ align-items: center; }
 
1534
 
1535
  .wpstg-form-group > label {
1536
+ display: block;
1537
+ font-weight: 700; }
 
1538
 
1539
  .wpstg-text-field > input {
1540
+ width: 300px;
1541
+ display: block;
1542
+ line-height: 1.5; }
 
1543
 
1544
  .wpstg-code-segment {
1545
+ display: block; }
 
1546
 
1547
  .wpstg-text-field > .wpstg-code-segment {
1548
+ margin-top: 4px;
1549
+ min-width: 300px; }
 
1550
 
1551
  .wpstg-form-group > .wpstg-checkbox {
1552
+ min-width: 100%;
1553
+ width: 100%;
1554
+ position: relative; }
 
1555
 
1556
  .wpstg-form-group > .wpstg-checkbox > input[type='checkbox'] {
1557
+ left: 150px; }
 
1558
 
1559
  .wpstg-rounded {
1560
+ border-radius: 3px; }
 
1561
 
1562
  .wpstg-white-border {
1563
+ border: 1px solid white !important; }
 
1564
 
1565
  .wpstg-ml-4 {
1566
+ margin-left: 4px; }
 
1567
 
1568
  #wpstg-confirm-backup-restore-data {
1569
+ margin: 40px;
1570
+ text-align: left; }
 
1571
 
1572
  #wpstg-advanced-settings hr {
1573
+ margin: 20px 0; }
 
1574
 
1575
  .wpstg-form-row {
1576
+ display: block; }
 
1577
 
1578
  .wpstg-form-row label,
1579
  .wpstg-form-row input {
1580
+ display: table-cell;
1581
+ padding-left: 5px;
1582
+ padding-right: 5px;
1583
+ margin-top: 3px;
1584
+ margin-bottom: 3px; }
 
1585
 
1586
  .wpstg-form-row input {
1587
+ width: 400px; }
 
1588
 
1589
  .wpstg-form-row label {
1590
+ font-weight: bold;
1591
+ width: 1px;
1592
+ white-space: nowrap; }
 
1593
 
1594
  #wpstg-db-connect-output #wpstg-db-status {
1595
+ width: 390px; }
 
1596
 
1597
  .wpstg-fs-14 {
1598
+ font-size: 14px; }
 
1599
 
1600
  .wpstg-code-segment {
1601
+ display: block; }
 
1602
 
1603
  .wpstg-form-group > .wpstg-checkbox {
1604
+ min-width: 100%;
1605
+ width: 100%; }
 
1606
 
1607
  .wpstg-form-group > .wpstg-checkbox > input[type='checkbox'] {
1608
+ margin-left: 10px; }
 
1609
 
1610
  @media only screen and (max-width: 768px) {
1611
+ .wpstg-form-group > label {
1612
+ min-width: auto;
1613
+ width: auto; }
1614
+ .wpstg-text-field > input {
1615
+ width: 100%; }
1616
+ .wpstg-text-field > .wpstg-code-segment {
1617
+ margin-left: 0;
1618
+ min-width: 100%; }
1619
+ .wpstg-tab-section {
1620
+ width: calc(100vw - 60px);
1621
+ max-width: 450px; } }
 
 
 
 
 
 
 
 
1622
 
1623
  .wpstg-rounded {
1624
+ border-radius: 3px; }
 
1625
 
1626
  .wpstg-white-border {
1627
+ border: 1px solid white !important; }
 
1628
 
1629
  .wpstg-m-0 {
1630
+ margin: 0; }
 
1631
 
1632
  .wpstg-mt-10px {
1633
+ margin-top: 10px !important; }
 
1634
 
1635
  .wpstg-mr-10px {
1636
+ margin-right: 10px !important; }
 
1637
 
1638
  .wpstg-my-10px {
1639
+ margin-top: 10px !important;
1640
+ margin-bottom: 10px !important; }
 
1641
 
1642
  .wpstg-w-100 {
1643
+ width: 100%; }
 
1644
 
1645
  .wpstg-box-shadow {
1646
+ box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1); }
 
1647
 
1648
  .wpstg-float-left {
1649
+ float: left; }
 
1650
 
1651
  .wpstg-bold-text {
1652
+ font-weight: bold; }
 
1653
 
1654
  .wpstg-warning.notice {
1655
+ border-left: 4px solid #ffba00; }
 
1656
 
1657
  .wpstg-confirmation-label {
1658
+ background-color: #5b9dd9;
1659
+ color: #fff;
1660
+ padding: 2px;
1661
+ border-radius: 3px; }
 
1662
 
1663
  .wpstg-my-6px {
1664
+ margin-bottom: 6px;
1665
+ margin-top: 6px; }
 
1666
 
1667
  .wpstg-mb-10px {
1668
+ margin-bottom: 10px; }
 
1669
 
1670
  .wpstg-clear-both {
1671
+ clear: both; }
 
1672
 
1673
  .wpstg-font-italic {
1674
+ font-style: italic; }
 
1675
 
1676
  .wpstg-mt-20px {
1677
+ margin-top: 20px; }
 
1678
 
1679
  .wpstg-welcome-container {
1680
+ border: 2px solid white;
1681
+ padding: 20px;
1682
+ margin-bottom: 20px; }
 
1683
 
1684
  .wpstg-ml-30px {
1685
+ margin-left: 30px; }
 
1686
 
1687
  .wpstg-text-center {
1688
+ text-align: center; }
 
1689
 
1690
  .wpstg-feedback-link {
1691
+ text-decoration: none; }
 
1692
 
1693
  .wpstg-feedback-span {
1694
+ display: block;
1695
+ margin-bottom: 3px; }
 
1696
 
1697
  #wpstg-confirm-backup-restore-data {
1698
+ margin: 40px;
1699
+ text-align: left; }
 
1700
 
1701
  #wpstg-confirm-backup-restore-wrapper {
1702
+ margin: 30px;
1703
+ margin-top: 0; }
 
1704
 
1705
  #wpstg-confirm-backup-restore-wrapper h3 {
1706
+ color: #E01E5A; }
 
1707
 
1708
  #wpstg-progress-db,
1709
  #wpstg-progress-backup {
1710
+ background-color: #3fa5ee; }
 
1711
 
1712
  #wpstg-progress-sr,
1713
  #wpstg-progress-files.wpstg-pro {
1714
+ background-color: #3c9ee4; }
 
1715
 
1716
  #wpstg-progress-dirs,
1717
  #wpstg-progress-data {
1718
+ background-color: #3a96d7; }
 
1719
 
1720
  #wpstg-progress-files:not(.wpstg-pro),
1721
  #wpstg-progress-finishing {
1722
+ background-color: #378cc9; }
 
1723
 
1724
  .wpstg-issue-resubmit-confirmation.wpstg--swal2-container,
1725
  .wpstg-swal2-container.wpstg--swal2-container {
1726
+ z-index: 10500; }
 
1727
 
1728
  .wpstg-swal2-container.wpstg-swal2-loading .wpstg--swal2-actions,
1729
  .wpstg-swal2-container.wpstg-swal2-loading .wpstg--swal2-header {
1730
+ display: none; }
 
1731
 
1732
  body.toplevel_page_wpstg_backup .wpstg--swal2-container .wpstg--swal2-content,
1733
  body.toplevel_page_wpstg_clone .wpstg--swal2-container .wpstg--swal2-content {
1734
+ z-index: 2; }
 
1735
 
1736
  .toplevel_page_wpstg_clone #swal2-content h2 {
1737
+ color: #3e3e3e; }
 
1738
 
1739
  .toplevel_page_wpstg_clone #swal2-content {
1740
+ line-height: 1.5em; }
 
1741
 
1742
  div#exportUploadsWithoutDatabaseWarning {
1743
+ font-style: italic;
1744
+ font-size: 0.9rem;
1745
+ margin: 10px;
1746
+ padding: 10px;
1747
+ border: 1px solid #e3e3e3;
1748
+ border-radius: 5px;
1749
+ text-align: center;
1750
+ background-color: #fafafa; }
 
1751
 
1752
  .wpstg-advanced-options-dropdown-wrapper {
1753
+ display: none;
1754
+ /* ENABLE WHEN WE HAVE ADVANCED OPTIONS FOR EXPORTING */
1755
+ margin-top: 20px; }
1756
 
1757
  .wpstg--modal--backup--import--search-replace--wrapper {
1758
+ text-align: left;
1759
+ margin-top: 20px; }
 
1760
 
1761
  .wpstg--modal--backup--import--search-replace--new--wrapper {
1762
+ text-align: center; }
 
1763
 
1764
  .wpstg-import-backup-contains li {
1765
+ display: inline-block;
1766
+ margin-bottom: 0px; }
 
1767
 
1768
  .wpstg-import-backup-contains li .wpstg-backups-contains {
1769
+ border-radius: 3px;
1770
+ color: #979797;
1771
+ background-color: #f4f4f4 !important;
1772
+ width: 18px;
1773
+ height: 18px;
1774
+ font-size: 17px; }
 
1775
 
1776
  .wpstg-import-backup-contains.wpstg-listing-single-backup li .wpstg-backups-contains {
1777
+ padding: 2px;
1778
+ background-color: white; }
 
1779
 
1780
  .wpstg-import-backup-contains.wpstg-listing-single-backup li .wpstg-backups-contains > .wpstg--dashicons {
1781
+ filter: invert(35%); }
 
1782
 
1783
  .wpstg-import-backup-contains .wpstg--tooltiptext {
1784
+ width: 80px;
1785
+ font-size: 13px;
1786
+ padding: 5px;
1787
+ left: -25px;
1788
+ text-align: center; }
 
1789
 
1790
  .wpstg-import-backup-contains-title {
1791
+ display: inline-block; }
 
1792
 
1793
  ul.wpstg-import-backup-contains {
1794
+ display: inline-block; }
 
1795
 
1796
  .wpstg-import-backup-name {
1797
+ display: inline-block;
1798
+ font-weight: bold; }
 
1799
 
1800
  .wpstg-backup-more-info-toggle {
1801
+ font-size: x-small;
1802
+ display: inline-block;
1803
+ font-style: italic;
1804
+ cursor: pointer; }
 
1805
 
1806
  .wpstg-backup-more-info-toggle::selection {
1807
+ background: none; }
 
1808
 
1809
  ul.wpstg-import-backup-more-info {
1810
+ font-size: 14px;
1811
+ text-align: left;
1812
+ margin-bottom: 30px;
1813
+ margin-top: 10px;
1814
+ background-color: #f6f6f6;
1815
+ border: 1px solid #878787;
1816
+ border-radius: 3px;
1817
+ padding: 7px;
1818
+ cursor: pointer; }
 
1819
 
1820
  ul.wpstg-import-backup-more-info:hover {
1821
+ background-color: #def2ff;
1822
+ border: 1px solid #25a1f0; }
 
1823
 
1824
  ul.wpstg-import-backup-more-info li {
1825
+ height: 20px; }
 
1826
 
1827
  .wpstg-backup-list {
1828
+ max-width: 800px; }
 
1829
 
1830
  .wpstg-backup-list h3 {
1831
+ color: #3e3e3e; }
 
1832
 
1833
  .wpstg-backup-list ul ul {
1834
+ margin-block-start: 1em;
1835
+ margin-block-end: 1em; }
 
1836
 
1837
  .wpstg-push-confirmation-message {
1838
+ text-align: justify;
1839
+ font-size: 15px; }
 
1840
 
1841
  .wpstg-settings-row {
1842
+ padding-top: 10px;
1843
+ padding-bottom: 10px; }
 
1844
 
1845
  .wpstg-settings-title {
1846
+ font-weight: 600; }
 
1847
 
1848
  .wpstg-settings-form-group {
1849
+ display: flex;
1850
+ align-items: center; }
 
1851
 
1852
  .wpstg-settings-form-group > .wpstg-settings-message {
1853
+ width: 30%;
1854
+ padding: 0;
1855
+ margin: 7px 0 0; }
 
1856
 
1857
  /**
1858
  * WP STAGING EXCLUSION RULES TABLE LAYOUT
1859
  */
 
1860
  .wpstg-excluded-filters-container {
1861
+ padding: 0;
1862
+ margin-top: 10px;
1863
+ margin-bottom: 10px;
1864
+ max-width: 100%;
1865
+ width: 100%; }
 
1866
 
1867
  .wpstg-excluded-filters-container > table {
1868
+ width: 100%;
1869
+ border-collapse: collapse;
1870
+ border-color: transparent; }
 
1871
 
1872
  .wpstg-excluded-filters-container td {
1873
+ padding-top: 4px;
1874
+ padding-bottom: 4px;
1875
+ height: 20px; }
 
1876
 
1877
  .wpstg-excluded-filters-container h4 {
1878
+ margin: 0; }
 
1879
 
1880
  .wpstg-exclude-filters-foot {
1881
+ display: flex;
1882
+ justify-content: flex-start;
1883
+ padding: 0; }
 
1884
 
1885
  /**
1886
  * WP STAGING EXCLUSION RULE DROPDOWN STYLE
1887
  */
 
 
1888
  .wpstg-exclude-filter-dropdown > button:hover {
1889
+ background: #135e96;
1890
+ border: 1px solid #135e96; }
 
1891
 
1892
  .wpstg-exclude-filter-dropdown > .wpstg-dropdown-menu {
1893
+ width: 128px; }
 
1894
 
1895
  .wpstg-remove-exclude-rule {
1896
+ color: #fff !important;
1897
+ background-color: #e01e5a;
1898
+ border: 1px solid #e01e5a;
1899
+ width: 20px;
1900
+ height: 20px;
1901
+ border-radius: 10px;
1902
+ font-size: 24px;
1903
+ padding: 0;
1904
+ display: inline-flex;
1905
+ justify-content: center;
1906
+ outline: none;
1907
+ box-shadow: none;
1908
+ font-weight: 400;
1909
+ line-height: 0.7;
1910
+ margin-top: 5px;
1911
+ cursor: pointer; }
 
1912
 
1913
  .wpstg-remove-exclude-rule:hover {
1914
+ background-color: #E01E5A;
1915
+ border-color: #E01E5A; }
 
1916
 
1917
  .wpstg-code-block {
1918
+ margin-top: 4px;
1919
+ font-size: 1.2em;
1920
+ background: #f8f8f8;
1921
+ border-radius: 2px; }
 
1922
 
1923
  .wpstg-rule-info {
1924
+ background: #f8f8f8 !important; }
 
1925
 
1926
  code.wpstg-code {
1927
+ display: inline-block;
1928
+ font-size: 11px;
1929
+ border: 1px solid #aaa;
1930
+ background: #fff;
1931
+ padding: 2px 4px;
1932
+ margin-bottom: 1px;
1933
+ color: #E01E5A; }
 
1934
 
1935
  .wpstg-exclusion-rule-info {
1936
+ color: #fff !important;
1937
+ background-color: #ffc107;
1938
+ border: 1px solid #ffc107;
1939
+ width: 14px;
1940
+ height: 14px;
1941
+ border-radius: 7px;
1942
+ font-size: 14px;
1943
+ padding: 0;
1944
+ display: inline-flex;
1945
+ justify-content: center;
1946
+ align-items: center;
1947
+ outline: none;
1948
+ box-shadow: none;
1949
+ font-weight: 400;
1950
+ vertical-align: middle; }
 
1951
 
1952
  .wpstg-exclusion-rule-info:hover {
1953
+ background-color: #ffba0c;
1954
+ border: 1px solid #ffba0c; }
 
1955
 
1956
  /**
1957
  * WP STAGING INPUTS EXCLUSION RULES
1958
  */
 
1959
  .wpstg-exclude-rule-input {
1960
+ font-size: 12px !important;
1961
+ padding: 2px 6px;
1962
+ box-shadow: none;
1963
+ outline: none !important;
1964
+ display: inline-block;
1965
+ font-weight: 400;
1966
+ line-height: 1.5;
1967
+ color: #222;
1968
+ border-radius: 0 !important;
1969
+ background-color: #fff;
1970
+ border: 1px solid #bbb;
1971
+ min-height: 24px !important;
1972
+ margin-top: 4px;
1973
+ margin-left: 4px;
1974
+ vertical-align: baseline !important;
1975
+ transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
1976
+ width: 135px; }
 
1977
 
1978
  .wpstg-excluded-filters-container tbody > tr:last-child .wpstg-exclude-rule-input {
1979
+ margin-bottom: 4px; }
 
1980
 
1981
  .wpstg-exclude-rule-input:hover {
1982
+ border: 1px solid #999; }
 
1983
 
1984
  .wpstg-exclude-rule-input:focus {
1985
+ border: 1px solid #25A0F1 !important;
1986
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24) !important; }
 
1987
 
1988
  .wpstg-file-size-exclude-select,
1989
  .wpstg-path-exclude-select {
1990
+ width: 135px; }
 
1991
 
1992
  .wpstg-file-size-exclude-select-small {
1993
+ width: 52px; }
 
1994
 
1995
  .wpstg-file-size-exclude-input {
1996
+ width: 75px; }
 
1997
 
1998
  .wpstg-staging-option-title {
1999
+ margin: 15px 0 0; }
 
2000
 
2001
  .wpstg-swal-push-container.wpstg--swal2-container {
2002
+ z-index: 9995; }
 
2003
 
2004
  #wpstg-scanning-files {
2005
+ padding-bottom: 5px; }
 
2006
 
2007
  #wpstg-scanning-files.wpstg-tab-section, #wpstg-scanning-db.wpstg-tab-section {
2008
+ padding-top: 10px; }
 
2009
 
2010
  .wpstg-reset-excludes-container {
2011
+ margin: 10px 0; }
 
2012
 
2013
  .wpstg-swal2-ajax-loader {
2014
+ width: 100%;
2015
+ height: 150px;
2016
+ overflow: hidden;
2017
+ display: flex;
2018
+ justify-content: center;
2019
+ align-items: center; }
 
2020
 
2021
  @keyframes wpstg-loading-icon-anim {
2022
+ 0% {
2023
+ transform: rotate(0); }
2024
+ 100% {
2025
+ transform: rotate(360deg); } }
 
 
 
2026
 
2027
  .wpstg-swal2-ajax-loader > img {
2028
+ width: 64px;
2029
+ height: 64px;
2030
+ animation: wpstg-loading-icon-anim 1s infinite linear;
2031
+ -webkit-animation: wpstg-loading-icon-anim 1s infinite linear; }
 
2032
 
2033
  .wpstg-swal2-container .wpstg-tab-section {
2034
+ width: auto !important; }
 
2035
 
2036
  #wpstg-no-staging-site-results {
2037
+ margin-top: 10px;
2038
+ max-width: 375px; }
 
2039
 
2040
  li#wpstg-backup-no-results {
2041
+ max-width: 500px; }
 
2042
 
2043
  li#wpstg-backup-no-results div, #wpstg-no-staging-site-results div {
2044
+ display: inline-block;
2045
+ text-align: center; }
 
2046
 
2047
  li#wpstg-backup-no-results .wpstg--dashicons, #wpstg-no-staging-site-results .wpstg--dashicons {
2048
+ filter: invert(50%);
2049
+ position: absolute;
2050
+ margin-top: 1px; }
 
2051
 
2052
  li#wpstg-backup-no-results .no-backups-found-text, #wpstg-no-staging-site-results .no-staging-site-found-text {
2053
+ color: #5d5d5d;
2054
+ margin-left: 20px; }
 
2055
 
2056
  @media only screen and (max-width: 680px) {
2057
+ li#wpstg-backup-no-results div, #wpstg-no-staging-site-results div {
2058
+ width: 100%; } }
 
 
2059
 
2060
  #wpstg--modal--backup--download-inner p.wpstg-download-modal-text {
2061
+ font-size: 16px;
2062
+ color: #565656; }
 
2063
 
2064
  #wpstg--modal--backup--download-inner h2 {
2065
+ color: #565656; }
 
2066
 
2067
  .wpstg-backup-restore-contains-database,
2068
  .wpstg-backup-restore-contains-files {
2069
+ display: none; }
 
2070
 
2071
  .wpstg-green-button {
2072
+ background: #8bc34a;
2073
+ border: 1px solid #78a93f;
2074
+ color: white;
2075
+ text-shadow: 0 -1px 1px #78a93f, 1px 0 1px #78a93f, 0 1px 1px #40c921, -1px 0 1px #78a93f; }
 
2076
 
2077
  .wpstg-green-button:hover {
2078
+ background: #78a93f; }
 
2079
 
2080
  .wpstg-is-dir-loading {
2081
+ position: absolute;
2082
+ margin-top: -2px;
2083
+ margin-left: 8px;
2084
+ display: none; }
 
2085
 
2086
  .wpstg-ml-8px {
2087
+ margin-left: 8px; }
 
2088
 
2089
  .wpstg-mb-8px {
2090
+ margin-bottom: 8px; }
 
 
2091
 
2092
  .wpstg-btn-danger {
2093
+ background-color: #E01E5A;
2094
+ border: 1px solid #E01E5A;
2095
+ color: white;
2096
+ text-shadow: none; }
 
2097
 
2098
  .wpstg-btn-danger:hover {
2099
+ background: #c0194d;
2100
+ box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3); }
 
2101
 
2102
  .wpstg-swal2-container.wpstg-swal2-loading > .wpstg--swal2-modal {
2103
+ height: 200px; }
2104
+
2105
+ .wpstg-swal2-container.wpstg-swal2-loading.wpstg-swal2-loading-sm > .wpstg--swal2-modal {
2106
+ height: 100px; }
2107
+
2108
+ .wpstg-swal2-container.wpstg-swal2-loading.wpstg-swal2-loading-sm .wpstg-swal2-ajax-loader img {
2109
+ height: 32px;
2110
+ width: 32px; }
2111
 
2112
  .wpstg-reset-confirmation.wpstg-swal2-container:not(.wpstg-swal2-loading) > .wpstg--swal2-modal {
2113
+ max-width: 480px; }
 
2114
 
2115
  .wpstg-reset-confirmation.wpstg-swal2-container .wpstg--swal2-header {
2116
+ display: none; }
 
2117
 
2118
  .wpstg-reset-confirmation.wpstg-swal2-container .wpstg--swal2-content {
2119
+ height: auto; }
 
2120
 
2121
  .wpstg-reset-confirmation.wpstg-swal2-container > .wpstg--swal2-modal > .wpstg--swal2-content .wpstg-tabs-wrapper {
2122
+ overflow-y: auto;
2123
+ height: auto !important; }
 
2124
 
2125
  .wpstg-reset-confirmation.wpstg-swal2-container > .wpstg--swal2-modal > .wpstg--swal2-content {
2126
+ font-size: 13px; }
 
2127
 
2128
  .wpstg-reset-confirmation.wpstg-swal2-container > .wpstg--swal2-modal > .wpstg--swal2-content .wpstg-dir {
2129
+ margin-bottom: 4px; }
 
2130
 
2131
  .wpstg-reset-confirmation.wpstg-swal2-container > .wpstg--swal2-modal > .wpstg--swal2-content .wpstg-subdir {
2132
+ margin-top: 4px; }
 
2133
 
2134
  .wpstg-reset-confirmation.wpstg-swal2-container.has-collapsible-open .wpstg--swal2-modal {
2135
+ height: calc(100vh - 70px); }
 
2136
 
2137
  .wpstg-reset-confirmation.wpstg-swal2-container.has-collapsible-open > .wpstg--swal2-modal > .wpstg--swal2-content .wpstg-tabs-wrapper {
2138
+ height: calc(100vh - 350px) !important; }
 
2139
 
2140
  .wpstg--swal2-actions.wpstg--modal--actions > button {
2141
+ margin-left: 4px;
2142
+ margin-right: 4px;
2143
+ text-transform: uppercase;
2144
+ text-shadow: initial;
2145
+ font-weight: 500;
2146
+ min-width: 80px; }
 
2147
 
2148
  .wpstg-swal-popup {
2149
+ max-width: 1200px !important; }
 
2150
 
2151
  .wpstg-swal-popup.wpstg-push-finished .wpstg--swal2-title {
2152
+ color: #a8a8a8; }
 
2153
 
2154
  .wpstg-swal-popup.wpstg-push-finished .wpstg--swal2-content {
2155
+ margin-top: 8px;
2156
+ color: #a8a8a8; }
 
2157
 
2158
  .wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step.wpstg--swal2-active-progress-step,
2159
  .wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step,
2160
  .wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step-line {
2161
+ background: #25a1f0; }
 
2162
 
2163
  .wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step-line {
2164
+ width: 2.75em; }
 
2165
 
2166
  .wpstg--dashicons {
2167
+ width: 16px;
2168
+ height: 16px; }
 
2169
 
2170
  .wpstg--dashicons.wpstg-dashicons-grey {
2171
+ filter: invert(20%); }
 
2172
 
2173
  .wpstg--dashicons.wpstg-dashicons-19 {
2174
+ width: 19px;
2175
+ height: 19px; }
 
2176
 
2177
  .wpstg--dashicons.wpstg-dashicons-21 {
2178
+ width: 21px;
2179
+ height: 21px; }
 
2180
 
2181
  #wpstg--tab--backup #wpstg-step-1 {
2182
+ display: flex;
2183
+ align-items: center; }
 
2184
 
2185
  .wpstg-advanced-options .wpstg--tooltip,
2186
  #wpstg--tab--backup #wpstg-step-1 .wpstg--tooltip {
2187
+ border-bottom: 0 solid transparent;
2188
+ display: inline-flex;
2189
+ align-items: center; }
 
2190
 
2191
  .wpstg-advanced-options-site .wpstg--tooltip img.wpstg--dashicons {
2192
+ filter: invert(17%) sepia(0%) saturate(1%) hue-rotate(195deg) brightness(97%) contrast(77%); }
 
2193
 
2194
  #wpstg--tab--backup #wpstg-step-1 .wpstg--tooltip {
2195
+ border-bottom: 0 solid transparent;
2196
+ display: flex;
2197
+ align-items: center; }
 
2198
 
2199
  .wpstg--tooltip .wpstg--tooltiptext-backups::after {
2200
+ left: calc(20% + 2px); }
 
2201
 
2202
  .wpstg-listing-single-backup .wpstg--dashicons {
2203
+ width: 17px;
2204
+ height: 17px; }
 
2205
 
2206
  .wpstg-100-width {
2207
+ width: 100px; }
 
2208
 
2209
  .wpstg-caret {
2210
+ display: inline-block;
2211
+ width: 0;
2212
+ height: 0;
2213
+ margin-left: 2px;
2214
+ vertical-align: middle;
2215
+ border-top: 4px solid;
2216
+ border-right: 4px solid transparent;
2217
+ border-left: 4px solid transparent;
2218
+ transition: transform 0.2s;
2219
+ cursor: pointer; }
 
2220
 
2221
  .wpstg-caret.wpstg-caret-up {
2222
+ transform: rotate(-180deg); }
 
2223
 
2224
  .wpstg-advanced-options-site label {
2225
+ font-size: 16px;
2226
+ display: block;
2227
+ margin: .5em 0; }
 
2228
 
2229
  #wpstg-confirm-backup-restore-data {
2230
+ font-size: 18px;
2231
+ margin: 0;
2232
+ margin-top: 30px; }
 
2233
 
2234
  /* Sweetalert WP STAGING Theme */
 
2235
  body.toplevel_page_wpstg_backup .wpstg--swal2-container.wpstg--swal2-backdrop-show,
2236
  body.toplevel_page_wpstg_clone .wpstg--swal2-container.wpstg--swal2-backdrop-show {
2237
+ background: rgba(0, 0, 0, 0.6);
2238
+ z-index: 9995; }
 
2239
 
2240
  .wpstg-swal-popup.wpstg--swal2-popup {
2241
+ border-radius: 8px;
2242
+ z-index: 9999;
2243
+ padding: 24px;
2244
+ color: #3e3e3e;
2245
+ font-family: Verdana, Geneva, Tahoma, sans-serif; }
 
2246
 
2247
  .wpstg-swal-popup .wpstg--swal2-title {
2248
+ font-size: 22px;
2249
+ color: #3e3e3e; }
 
2250
 
2251
  .wpstg-swal-popup.wpstg--swal2-popup:not(.centered-modal) .wpstg--swal2-title {
2252
+ align-self: flex-start;
2253
+ /* For an actual Swal title */
2254
+ text-align: left;
2255
+ /* Manually adding this class to a non flex display */
2256
+ margin-bottom: 0; }
2257
 
2258
  .wpstg-swal-popup .wpstg--swal2-close {
2259
+ top: 8px;
2260
+ right: 8px;
2261
+ z-index: 5; }
 
2262
 
2263
  .wpstg-swal-popup .wpstg--swal2-close:focus {
2264
+ outline: none; }
 
2265
 
2266
  .wpstg-swal-popup.wpstg--swal2-popup:not(.centered-modal) .wpstg--swal2-actions {
2267
+ justify-content: flex-end; }
 
2268
 
2269
  .wpstg-swal-popup .wpstg--swal2-actions > button {
2270
+ border-radius: 4px;
2271
+ font-weight: 900;
2272
+ border: 0;
2273
+ font-size: 15px;
2274
+ padding: 10px 12px;
2275
+ text-transform: capitalize;
2276
+ line-height: normal;
2277
+ height: 40px;
2278
+ min-width: 100px;
2279
+ text-shadow: none; }
 
2280
 
2281
  .wpstg-swal-popup.wpstg--swal2-popup:not(.centered-modal) .wpstg--swal2-actions > button {
2282
+ margin-left: 8px; }
 
2283
 
2284
  .wpstg-swal-popup .wpstg--swal2-actions > button.wpstg--swal2-cancel {
2285
+ border: 1px solid rgba(29, 28, 29, 0.3);
2286
+ background: #fff;
2287
+ color: #1d1c1d;
2288
+ font-weight: 500;
2289
+ width: 100px;
2290
+ text-shadow: none; }
 
2291
 
2292
  .wpstg-swal-popup .wpstg--swal2-actions > button:hover {
2293
+ box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1); }
 
2294
 
2295
  .wpstg-swal-popup .wpstg--swal2-actions > button.wpstg--swal2-cancel:hover {
2296
+ background: rgba(28, 29, 28, 0.04); }
 
2297
 
2298
  #wpstg-backup-name-input {
2299
+ height: 44px;
2300
+ font-size: 18px; }
 
2301
 
2302
  .wpstg-restore-finished-container .wpstg--swal2-title {
2303
+ color: #565656 !important; }
 
2304
 
2305
  /*#wpstg-restore-success {
2306
  color: #565656;
2307
  }*/
 
2308
  .wpstg-restore-finished-container .wpstg--swal2-content {
2309
+ margin-top: 20px;
2310
+ color: #a8a8a8; }
 
2311
 
2312
  /* WP Staging Implementation of Windows Style Linear Loader */
 
2313
  .wpstg-linear-loader > span[class*="wpstg-linear-loader-item"] {
2314
+ height: 6px;
2315
+ width: 6px;
2316
+ background: #333;
2317
+ display: inline-block;
2318
+ margin: 12px 2px;
2319
+ border-radius: 100%;
2320
+ animation: wpstg_linear_loader 3s infinite;
2321
+ animation-timing-function: cubic-bezier(0.03, 0.615, 0.995, 0.415);
2322
+ animation-fill-mode: both; }
 
2323
 
2324
  .wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(1) {
2325
+ animation-delay: 1s; }
 
2326
 
2327
  .wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(2) {
2328
+ animation-delay: 0.8s; }
 
2329
 
2330
  .wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(3) {
2331
+ animation-delay: 0.6s; }
 
2332
 
2333
  .wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(4) {
2334
+ animation-delay: 0.4s; }
 
2335
 
2336
  .wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(5) {
2337
+ animation-delay: 0.2s; }
 
2338
 
2339
  .wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(6) {
2340
+ animation-delay: 0s; }
 
2341
 
2342
  @keyframes wpstg_linear_loader {
2343
+ 0% {
2344
+ transform: translateX(-30px);
2345
+ opacity: 0; }
2346
+ 25% {
2347
+ opacity: 1; }
2348
+ 50% {
2349
+ transform: translateX(30px);
2350
+ opacity: 0; }
2351
+ 100% {
2352
+ opacity: 0; } }
 
 
 
 
 
2353
 
2354
  /* END - Windows Style Linear Loader */
 
2355
  .wpstg--modal--backup--import--upload--content {
2356
+ padding: .75em;
2357
+ margin: 1em auto; }
 
2358
 
2359
  .wpstg--modal--backup--import--upload--content .wpstg-linear-loader {
2360
+ display: none; }
 
2361
 
2362
  #wpstg-multisite-disabled .wpstg-clone {
2363
+ width: 355px; }
 
2364
 
2365
  #wpstg-free-version-backups .wpstg-clone p {
2366
+ font-size: 16px; }
 
2367
 
2368
  .wpstg-staging-info li .backup-notes {
2369
+ word-break: break-word; }
 
2370
 
2371
  .wpstg--modal--import--upload--progress--title small {
2372
+ font-weight: normal; }
 
2373
 
2374
  #wpstg-report-issue-wrapper {
2375
+ position: relative; }
 
2376
 
2377
  #wpstg-report-issue-wrapper .arrow-up {
2378
+ width: 0;
2379
+ height: 0;
2380
+ border-left: 8px solid transparent;
2381
+ border-right: 8px solid transparent;
2382
+ border-bottom: 8px solid white;
2383
+ position: absolute;
2384
+ top: -8px;
2385
+ right: 40px; }
 
2386
 
2387
  .notice {
2388
+ margin: 10px 20px 0 2px; }
 
2389
 
2390
  .wpstg--notice {
2391
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
2392
+ margin: 20px 20px 20px 0px;
2393
+ padding: 1px 12px; }
 
2394
 
2395
  .wpstg--error a:hover {
2396
+ color: #eeeeee; }
 
2397
 
2398
  .wpstg--error, .wpstg--error a {
2399
+ background: #E01E5A;
2400
+ color: white; }
 
2401
 
2402
  /**
2403
  * Buttons
2404
  */
 
2405
  .wpstg-button {
2406
+ display: inline-block;
2407
+ border-radius: 2px;
2408
+ cursor: pointer;
2409
+ padding: 2px 10px 2px 10px;
2410
+ text-transform: uppercase;
2411
+ font-weight: 500;
2412
+ outline: 0;
2413
+ transition: background-color .1s ease-in;
2414
+ text-decoration: none; }
 
2415
 
2416
  .wpstg-button.wpstg-save {
2417
+ background-color: #1687A7;
2418
+ color: white; }
 
2419
 
2420
  .wpstg-button.wpstg-save:hover {
2421
+ background-color: #276678; }
 
 
2422
 
2423
  .wpstg-button.wpstg-button-light {
2424
+ background-color: #f8f8f8;
2425
+ border: 1px solid #eee;
2426
+ color: #333;
2427
+ animation: background-color 0.3s; }
 
2428
 
2429
  .wpstg-button.wpstg-button-light:hover {
2430
+ background-color: #e0e0e0;
2431
+ border: 1px solid #e0e0e0; }
 
2432
 
2433
  .wpstg-buttons .spinner {
2434
+ float: none;
2435
+ margin: 0 0 0 5px; }
 
2436
 
2437
  .wpstg-button.danger {
2438
+ display: inline-block;
2439
+ text-decoration: none;
2440
+ text-align: center;
2441
+ text-transform: inherit;
2442
+ background-color: #E01E5A;
2443
+ color: white;
2444
+ border-radius: 2px;
2445
+ border-color: transparent; }
 
2446
 
2447
  .wpstg-button.danger:hover {
2448
+ background-color: #c0194d; }
 
2449
 
2450
  .wpstg-button--big {
2451
+ display: inline-block;
2452
+ padding: 10px;
2453
+ min-width: 170px;
2454
+ font-size: 16px;
2455
+ text-decoration: none;
2456
+ text-align: center;
2457
+ margin-top: 20px;
2458
+ color: white;
2459
+ border-radius: 3px; }
 
2460
 
2461
  .wpstg-button--primary {
2462
+ display: inline-block;
2463
+ text-decoration: none;
2464
+ font-size: 13px;
2465
+ line-height: 2.15384615;
2466
+ min-height: 30px;
2467
+ margin: 0;
2468
+ padding: 0 10px;
2469
+ cursor: pointer;
2470
+ border: 1px solid rgba(29, 28, 29, 0.3);
2471
+ -webkit-appearance: none;
2472
+ border-radius: 2px;
2473
+ white-space: nowrap;
2474
+ box-sizing: border-box;
2475
+ color: #171717; }
 
2476
 
2477
  .wpstg-button--primary:hover {
2478
+ background: rgba(28, 29, 28, 0.04);
2479
+ color: black; }
 
2480
 
2481
  .wpstg-button--secondary {
2482
+ display: inline-block;
2483
+ background-color: transparent;
2484
+ color: #95a5a6;
2485
+ border-radius: 2px;
2486
+ border: 1px solid rgba(29, 28, 29, 0.3);
2487
+ cursor: pointer;
2488
+ padding: 4px 10px 2px 10px;
2489
+ font-weight: 500;
2490
+ outline: 0;
2491
+ transition: background-color .1s ease-in;
2492
+ text-decoration: none; }
 
2493
 
2494
  .wpstg-button--red {
2495
+ background-color: #E01E5A;
2496
+ border-color: #E01E5A;
2497
+ color: white; }
 
2498
 
2499
  .wpstg-button--red:hover {
2500
+ background-color: #d02358;
2501
+ border-color: #e0255f;
2502
+ color: white; }
 
2503
 
2504
  .wpstg-button--cta-red {
2505
+ background-color: #fe008f;
2506
+ border-color: #E01E5A;
2507
+ color: white; }
 
2508
 
2509
  .wpstg-button--cta-red:hover {
2510
+ background-color: #f31391;
2511
+ border-color: #e0255f;
2512
+ color: white; }
 
2513
 
2514
  .wpstg-button--blue {
2515
+ background-color: #25A0F1;
2516
+ border-color: #25A0F1;
2517
+ color: white; }
 
2518
 
2519
  .wpstg-button--blue:hover {
2520
+ background-color: #259be6;
2521
+ border-color: #259be6;
2522
+ color: white; }
 
2523
 
2524
  #wpstg-button-backup-upgrade {
2525
+ font-size: 16px;
2526
+ width: 150px;
2527
+ text-align: center; }
 
2528
 
2529
  .wpstg-staging-status {
2530
+ color: #E01E5A; }
 
2531
 
2532
  #wpstg-push-changes,
2533
  #wpstg-start-updating,
2534
  #wpstg-save-clone-data {
2535
+ margin-left: 5px; }
 
2536
 
2537
  input.wpstg-textbox {
2538
+ border: 1px solid #aaa;
2539
+ border-radius: .25rem;
2540
+ padding: 0.25rem 0.5rem;
2541
+ font-size: 14px; }
 
2542
 
2543
  input.wpstg-textbox:focus {
2544
+ outline: 0;
2545
+ border-color: #259be6;
2546
+ -webkit-box-shadow: 0 0 0 0.1rem rgba(221, 221, 221, 0.35);
2547
+ box-shadow: 0 0 0 0.1rem rgba(221, 221, 221, 0.35); }
 
2548
 
2549
  input.wpstg-textbox::placeholder {
2550
+ color: #888; }
 
2551
 
2552
  .wpstg--advance-settings--checkbox {
2553
+ display: flex;
2554
+ align-items: center; }
 
2555
 
2556
  .wpstg--advance-settings--checkbox > label {
2557
+ font-size: 14px;
2558
+ font-weight: bolder;
2559
+ width: 165px;
2560
+ display: inline-block; }
 
2561
 
2562
  .wpstg--advance-settings--checkbox > .wpstg--tooltip {
2563
+ margin-top: 5px;
2564
+ margin-left: 5px;
2565
+ position: relative;
2566
+ display: inline-block;
2567
+ border-bottom: 0px solid transparent; }
 
2568
 
2569
  .wpstg--advance-settings--checkbox > .wpstg--tooltip > .wpstg--tooltiptext {
2570
+ top: 18px;
2571
+ left: -150px; }
 
 
2572
 
2573
  div#wpstg-restore-wait {
2574
+ display: none;
2575
+ flex-direction: column;
2576
+ justify-content: center;
2577
+ align-items: center;
2578
+ text-align: center;
2579
+ height: 100vh;
2580
+ width: 100vw;
2581
+ position: fixed;
2582
+ top: 0;
2583
+ left: 0;
2584
+ background: white;
2585
+ z-index: 99999; }
 
2586
 
2587
  div#wpstg-restore-wait .wpstg-title {
2588
+ font-weight: bold; }
 
2589
 
2590
  div#wpstg-restore-wait div {
2591
+ font-size: 16px;
2592
+ margin-top: 12px; }
 
2593
 
2594
  .resumable-browse {
2595
+ cursor: pointer; }
 
2596
 
2597
  .resumable-browse a {
2598
+ text-decoration: underline; }
 
2599
 
2600
  .wpstg-upload-text {
2601
+ font-weight: 600; }
 
2602
 
2603
  .wpstg--modal--backup--import--upload--container.dragover {
2604
+ transition: background-color 0.7s;
2605
+ background-color: #94dc96;
2606
+ color: #FFF; }
 
2607
 
2608
  .wpstg--modal--backup--import--upload--container.dragover * {
2609
+ pointer-events: none;
2610
+ /* Avoids flickering when dragging to drop a file */ }
2611
 
2612
  .wpstg--modal--backup--import--upload--container.dragover .wpstg-upload-text {
2613
+ display: none; }
 
2614
 
2615
  .wpstg--modal--backup--import--upload--container.dragover .wpstg-dragover-text {
2616
+ display: block; }
 
2617
 
2618
  .wpstg--modal--backup--import--upload--container .wpstg-dragover-text {
2619
+ display: none; }
 
2620
 
2621
  #wpstg-invalid-license-message, #wpstg-invalid-license-message a {
2622
+ font-weight: 500;
2623
+ color: #E01E5A;
2624
+ margin-left: 6px; }
 
2625
 
2626
  #wpstg-sidebar--banner {
2627
+ max-width: 200px; }
 
2628
 
2629
  @media screen and (max-width: 1234px) {
2630
+ .wpstg-h2 {
2631
+ font-size: 24px; }
2632
+ #wpstg-welcome li {
2633
+ font-size: 14px; } }
 
 
 
 
2634
 
2635
  .wpstg-exclamation {
2636
+ color: #ffffff;
2637
+ border-radius: 100%;
2638
+ background-color: #E01E5A;
2639
+ width: 20px;
2640
+ height: 20px;
2641
+ text-align: center;
2642
+ font-weight: bold;
2643
+ display: inline-block;
2644
+ margin: 6px; }
 
2645
 
2646
  .wpstg--tab--contents {
2647
+ padding-top: 1px; }
 
2648
 
2649
  .wpstg-swal-show.wpstg--swal2-show {
2650
+ -webkit-animation: wpstg-swal-show 0.2s !important;
2651
+ animation: wpstg-swal-show 0.2s !important; }
 
2652
 
2653
  @-webkit-keyframes wpstg-swal-show {
2654
+ 0% {
2655
+ transform: scale(0.3); }
2656
+ 100% {
2657
+ transform: scale(1); } }
 
 
 
2658
 
2659
  @keyframes wpstg-swal-show {
2660
+ 0% {
2661
+ transform: scale(0.3); }
2662
+ 100% {
2663
+ transform: scale(1); } }
 
 
 
2664
 
2665
  .wpstg-tab-item--vert-center {
2666
+ display: flex;
2667
+ align-items: center; }
 
2668
 
2669
  .wpstg-db-comparison-modal {
2670
+ padding-left: 10px;
2671
+ padding-right: 10px; }
 
2672
 
2673
  .wpstg-db-comparison-table {
2674
+ font-size: 13px;
2675
+ width: 100%; }
 
2676
 
2677
  .wpstg-db-comparison-table tbody td {
2678
+ padding-top: 6px; }
 
2679
 
2680
  .wpstg-db-comparison-table tr > td:first-child,
2681
  .wpstg-db-comparison-table tr > th:first-child {
2682
+ text-align: left; }
 
2683
 
2684
  .wpstg-css-tick {
2685
+ display: inline-block;
2686
+ transform: rotate(45deg);
2687
+ height: 12px;
2688
+ width: 6px;
2689
+ border-bottom: 3px solid #78b13f;
2690
+ border-right: 3px solid #78b13f; }
 
2691
 
2692
  .wpstg-css-cross {
2693
+ position: relative;
2694
+ top: -8px;
2695
+ left: -2px;
2696
+ width: 16px;
2697
+ height: 16px; }
 
2698
 
2699
  .wpstg-css-cross:before, .wpstg-css-cross:after {
2700
+ position: absolute;
2701
+ content: ' ';
2702
+ height: 17px;
2703
+ width: 3px;
2704
+ background-color: #E01E5A; }
 
2705
 
2706
  .wpstg-css-cross:before {
2707
+ transform: rotate(45deg); }
 
2708
 
2709
  .wpstg-css-cross:after {
2710
+ transform: rotate(-45deg); }
 
2711
 
2712
  .wpstg-selection-preview {
2713
+ font-size: 12px;
2714
+ margin-left: 20px;
2715
+ color: #3216; }
 
2716
 
2717
  .wpstg-selection-preview.danger {
2718
+ color: #E01E5A; }
 
2719
 
2720
  .wpstg--backup-automated {
2721
+ margin-bottom: -5px; }
 
2722
 
2723
  .wpstg--dismiss-schedule {
2724
+ cursor: pointer; }
 
2725
 
2726
  .wpstg-import-backup-contains.wpstg-listing-single-backup {
2727
+ vertical-align: middle; }
 
2728
 
2729
  .wpstg-import-backup-contains.wpstg-listing-single-backup li {
2730
+ padding: 2px; }
 
2731
 
2732
  .wpstg--modal--backup--manage--schedules--content table {
2733
+ margin: 0 auto;
2734
+ width: 100%; }
 
2735
 
2736
  .wpstg--modal--backup--manage--schedules--title {
2737
+ text-align: left;
2738
+ margin-bottom: 10px;
2739
+ margin-top: 0px; }
 
2740
 
2741
  .wpstg--modal--backup--import--upload--title {
2742
+ text-align: center; }
 
2743
 
2744
  #wpstg--modal--backup--manage--schedules--content {
2745
+ text-align: left; }
 
2746
 
2747
  #wpstg--modal--backup--manage--schedules--content thead {
2748
+ font-weight: bold; }
 
2749
 
2750
  #wpstg--modal--backup--manage--schedules--content .wpstg--tooltip.wpstg--dismiss-schedule {
2751
+ border-bottom: none; }
 
2752
 
2753
  .wpstg--tooltip.wpstg--dismiss-schedule img.wpstg--dashicons {
2754
+ filter: invert(18%) sepia(57%) saturate(6238%) hue-rotate(332deg) brightness(93%) contrast(88%); }
 
2755
 
2756
  #wpstg--modal--backup--manage--schedules--content td {
2757
+ padding-right: 25px;
2758
+ padding-top: 10px; }
 
2759
 
2760
  #wpstg--modal--backup--manage--schedules--content td:last-child {
2761
+ padding-right: 0px; }
 
2762
 
2763
  #wpstg--modal--backup--manage--schedules--content ul {
2764
+ margin-top: 0;
2765
+ margin-bottom: 0; }
 
2766
 
2767
  #wpstg--modal--backup--manage--schedules--content ul li:first-child .wpstg--tooltip {
2768
+ margin-left: 0; }
 
2769
 
2770
  .wpstg-button:disabled {
2771
+ background-color: #dddddd;
2772
+ text-shadow: none;
2773
+ color: #b3b3b3;
2774
+ border: 1px solid #cfcfcf;
2775
+ cursor: not-allowed; }
 
2776
 
2777
  #wpstg-backup-runs-info {
2778
+ margin: 0px;
2779
+ margin-top: 20px;
2780
+ padding: 0px;
2781
+ font-size: 12px; }
 
2782
 
2783
  #wpstg-backup-runs-info li {
2784
+ margin: 0px; }
 
2785
 
2786
  div#wpstg-backup-locked {
2787
+ width: 100%;
2788
+ max-width: calc(800px - 30px);
2789
+ padding: 15px;
2790
+ background: white;
2791
+ margin-bottom: 10px;
2792
+ display: flex;
2793
+ align-items: center; }
 
2794
 
2795
  #wpstg-backup-locked .icon {
2796
+ display: inline-block;
2797
+ height: 20px; }
 
2798
 
2799
  #wpstg-backup-locked .icon img {
2800
+ animation: wpstg-loading-icon-anim 2s infinite; }
 
2801
 
2802
  #wpstg-backup-locked .text {
2803
+ display: inline-block;
2804
+ margin-left: 15px; }
 
2805
 
2806
  #backup-schedule-current-time {
2807
+ font-size: 12px; }
 
2808
 
2809
  .wpstg-backup-scheduling-options label {
2810
+ margin-top: 17px; }
 
2811
 
2812
  .wpstg-backup-scheduling-options .wpstg-storage-option {
2813
+ display: block;
2814
+ margin: .5em 0;
2815
+ font-size: 15px; }
 
2816
 
2817
+ .wpstg-storage-option > span:not(.wpstg-storage-settings) {
2818
+ width: 150px;
2819
+ display: inline-block; }
 
2820
 
2821
  .wpstg-storages-postbox {
2822
+ padding: 13px 16px;
2823
+ margin-top: 8px;
2824
+ margin-bottom: 8px;
2825
+ background-color: white; }
 
2826
 
2827
  .wpstg-storages-postbox a {
2828
+ padding: 8px;
2829
+ margin-right: 8px;
2830
+ text-decoration: none;
2831
+ font-weight: bold;
2832
+ color: #3c434a; }
 
2833
 
2834
  .wpstg-storages-postbox a:hover {
2835
+ color: #b70b72; }
 
2836
 
2837
  .wpstg-storage-postbox {
2838
+ padding: 4px 16px;
2839
+ background-color: white; }
 
2840
 
2841
  .wpstg-storages-postbox a.wpstg-storage-provider-active {
2842
+ background: #b70b72;
2843
+ color: white;
2844
+ font-weight: 700;
2845
+ cursor: default;
2846
+ border-radius: 3px; }
 
2847
 
2848
  .wpstg-storages-postbox a.wpstg-storage-provider-active:hover {
2849
+ background: #a10a64; }
 
2850
 
2851
  .wpstg-storages-postbox a.wpstg-storage-provider-disabled {
2852
+ color: #999;
2853
+ cursor: not-allowed; }
 
2854
 
2855
  .wpstg-provider-revoke-form {
2856
+ display: inline;
2857
+ margin-top: 12px;
2858
+ margin-bottom: 12px; }
 
2859
 
2860
  .wpstg-provider-settings-form {
2861
+ margin-top: 10px; }
 
2862
 
2863
  .wpstg-provider-settings-form strong {
2864
+ display: block;
2865
+ margin: 8px 0; }
 
2866
 
2867
  .wpstg-provider-settings-form p {
2868
+ margin: 0;
2869
+ margin-bottom: 8px; }
 
2870
 
2871
  .wpstg-provider-settings-form fieldset {
2872
+ margin: 0;
2873
+ padding: 0;
2874
+ margin-bottom: 16px; }
 
2875
 
2876
  .wpstg-provider-settings-form fieldset p {
2877
+ margin: 0;
2878
+ padding: 5px;
2879
+ font-size: 12px; }
 
2880
 
2881
  .wpstg-provider-settings-form fieldset label {
2882
+ display: block;
2883
+ margin-bottom: 2px; }
 
2884
 
2885
  .wpstg-provider-settings-form fieldset input {
2886
+ font-size: 12px; }
 
2887
 
2888
  .wpstg-provider-settings-form .wpstg-link-btn.wpstg-blue-primary {
2889
+ text-shadow: none; }
 
2890
 
2891
  .wpstg-btn-google {
2892
+ font-family: Roboto;
2893
+ display: inline-flex;
2894
+ align-items: center;
2895
+ border-width: 0;
2896
+ outline: none;
2897
+ border-radius: 3px;
2898
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
2899
+ color: #555;
2900
+ transition: background-color .3s;
2901
+ padding: 8px;
2902
+ padding-right: 16px;
2903
+ height: 40px;
2904
+ line-height: 40px;
2905
+ font-size: 14px;
2906
+ box-sizing: border-box;
2907
+ text-decoration: none;
2908
+ font-weight: bold;
2909
+ margin-right: 10px; }
 
2910
 
2911
  .wpstg-btn-google img {
2912
+ width: 18px;
2913
+ height: 18px;
2914
+ margin-right: 12px;
2915
+ margin-left: 5px; }
 
2916
 
2917
  #wpstg-custom-google-credentials {
2918
+ margin-top: 20px; }
 
2919
 
2920
  .wpstg-fieldset .wpstg-with-icon {
2921
+ display: inline-flex;
2922
+ align-items: center; }
 
2923
 
2924
  .wpstg-fieldset .wpstg-with-icon .wpstg-fieldset-icon {
2925
+ margin-left: 8px; }
 
2926
 
2927
  .wpstg-fieldset .wpstg-with-icon .wpstg-fieldset-icon img {
2928
+ width: 16px;
2929
+ height: 16px; }
 
2930
 
2931
  #wpstg-btn-provider-revoke {
2932
+ border-radius: 2px; }
2933
+
2934
+ .wpstg-metabox-holder {
2935
+ border-radius: 8px;
2936
+ background: #fff;
2937
+ padding: 20px;
2938
+ margin-left: 16px;
2939
+ min-height: 600px;
2940
+ margin-right: 32px;
2941
+ margin-top: 60px;
2942
+ -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0.13), 0 1px 3px rgba(0, 0, 0, 0.1);
2943
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0.13), 0 1px 3px rgba(0, 0, 0, 0.1); }
 
 
2944
 
2945
  @media only screen and (max-width: 680px) {
2946
+ .wpstg-metabox-holder {
2947
+ padding: 0px;
2948
+ padding-top: 5px;
2949
+ margin-left: 0;
2950
+ margin-right: 5px; }
2951
+ #wpstg-tab-container .wpstg-settings-panel {
2952
+ padding: 0;
2953
+ overflow: auto; }
2954
+ .wpstg-form-table td:first-child {
2955
+ width: 50%; } }
 
 
 
 
 
 
2956
 
2957
  .wpstg-nav-tab {
2958
+ float: left;
2959
+ border: 1px solid #ffffff;
2960
+ border-bottom: none;
2961
+ margin-left: 0.5em;
2962
+ padding: 5px 10px;
2963
+ font-size: 14px;
2964
+ line-height: 1.71428571;
2965
+ font-weight: 600;
2966
+ background: #dcdcde;
2967
+ color: #3c434a;
2968
+ text-decoration: none;
2969
+ white-space: nowrap; }
 
2970
 
2971
  .wpstg-nav-tab-active, .wpstg-nav-tab-active:focus, .wpstg-nav-tab-active:focus:active, .wpstg-nav-tab-active:hover {
2972
+ border-bottom: 1px solid #f0f0f1;
2973
+ background: #f3f5f7;
2974
+ color: #b70b72;
2975
+ -webkit-box-shadow: -4px -13px 14px -12px rgba(0, 0, 0, 0.16);
2976
+ box-shadow: -4px -13px 14px -12px rgba(0, 0, 0, 0.16); }
 
2977
 
2978
  .wpstg-nav-tab-active {
2979
+ margin-bottom: -1px; }
 
2980
 
2981
  .wpstg-nav-tab-wrapper {
2982
+ /*
2983
  border-bottom: 1px solid #c3c4c7;
2984
  */
2985
+ margin: 0;
2986
+ padding-top: 9px;
2987
+ padding-bottom: 0;
2988
+ line-height: inherit; }
 
2989
 
2990
+ .wpstg-nav-tab-wrapper li {
2991
+ margin-bottom: 0px; }
 
2992
 
2993
  #wpstg--js--translations {
2994
+ text-decoration: underline; }
 
2995
 
2996
  /*# sourceMappingURL=wpstg-admin.css.map */
assets/css/dist/wpstg-admin.css.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["wpstg-admin.css"],"names":[],"mappings":"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","file":"wpstg-admin.css","sourcesContent":["/**\n * WPSTG Admin CSS\n *\n * @package WPSTG\n * @subpackage Admin CSS\n * @copyright Copyright (c) 2021, René Hermenau\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\n*/\n\n/* Font Faces */\n\n/* roboto-regular - latin */\n@font-face {\nfont-family: 'Roboto';\nfont-style: normal;\nfont-weight: 400;\nsrc: url('../../fonts/roboto-v29-latin-regular.eot'); /* IE9 Compat Modes */\nsrc: local(''),\n url('../../fonts/roboto-v29-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */\n url('../../fonts/roboto-v29-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */\n url('../../fonts/roboto-v29-latin-regular.woff') format('woff'), /* Modern Browsers */\n url('../../fonts/roboto-v29-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */\n url('../../fonts/roboto-v29-latin-regular.svg#Roboto') format('svg'); /* Legacy iOS */\n}\n\n/* Colors */\n\n.wpstg--violet {\n color: #9d37ae;\n}\n\n.wpstg-border--violet {\n border: 1px solid #9d37ae;\n}\n\n.wpstg--red {\n color: #E01E5A;\n}\n\n.wpstg-cta--red {\n color: #fe008f;\n}\n\n.wpstg--blue {\n color: #24a1f0;\n}\n\n.wpstg--darkblue {\n color: #0e86d9;\n}\n\n.wpstg--green {\n color: #83c11f;\n}\n\n.wpstg--grey {\n color: #3e3e3e;\n}\n\n.wpstg--darkgrey {\n color: #1b1b1b;\n}\n\n.wpstg--filter--svg {\n filter: invert(24%) sepia(11%) saturate(558%) hue-rotate(169deg) brightness(97%) contrast(91%);\n}\n\n/* CSS for Tabs */\n\nbody.wp-staging-pro_page_wpstg_backup,\nbody.toplevel_page_wpstg_clone,\nbody.wp-staging-pro_page_wpstg-settings,\nbody.wp-staging-pro_page_wpstg-tools,\nbody.wp-staging-pro_page_wpstg-license {\n background-color: #f3f5f7;\n}\n\n#wpstg-tab-container ul {\n list-style: none;\n margin: 0;\n padding: 0;\n background: #f1f1f1;\n float: left;\n}\n\n#wpstg-tab-container ul li:first-child.selected-tab {\n border-top: none;\n}\n\n#wpstg-tab-container ul li a.selected-tab {\n font-weight: bold;\n text-decoration: none;\n}\n\n#wpstg-tab-container .row {\n padding-top: 10px;\n padding-bottom: 12px;\n}\n\n.wpstg-tabs-container .nav-tab-wrapper {\n padding: 0;\n}\n\n#wpstg-tab-container .row label strong,\n#wpstg-tab-container .row strong {\n font-weight: bold;\n}\n\n.wpstg-tabs a {\n padding: 5px;\n}\n\n#wpstg-tab-container > ul > li.wpstg-tabs.active {\n background-color: white;\n}\n\n#wpstg_settingsgeneral_header .row:nth-child(3),\n#wpstg_settingsgeneral_header .row:nth-child(4) {\n display: none;\n}\n\n#wpstg-tab-container .wpstg-settings-panel {\n padding: 0 20px 20px 20px;\n overflow: auto;\n}\n\n#wpstg-tab-container .wpstg-form-table th {\n vertical-align: top;\n text-align: left;\n padding: 20px 10px 20px 0;\n line-height: 1.3;\n font-weight: bold;\n font-size: 14px;\n color: #484848;\n width: 30%;\n}\n\n#wpstg-tab-container .wpstg-form-table tr {\n border-bottom: 1px solid #E7E7E7;\n}\n\n#wpstg-tab-container span.description {\n display: block;\n font-weight: 400;\n font-style: normal;\n font-size: 13px;\n margin-top: 7px;\n color: #484848;\n}\n\n#wpstg-tab-container .col-title {\n color: #484848;\n}\n\n@media only screen and (max-width: 680px) {\n #wpstg-tab-container ul {\n float: none;\n }\n\n #wpstg-tab-container .wpstg-form-table tr > th {\n width: 100%;\n }\n\n #wpstg-tab-container span.description {\n font-size: 14px;\n }\n\n #wpstg-tab-container .wpstg-form-table tr > th,\n #wpstg-tab-container .wpstg-form-table tr > td {\n padding: 10px;\n }\n}\n\n#wpstg-tab-container ul li {\n margin-bottom: 0;\n}\n\n#wpstg-tab-container ul li a {\n display: block;\n padding: 10px 4px 10px 14px;\n border-width: 1px 0;\n border-style: solid;\n border-top-color: white;\n border-bottom-color: #e7e7e7;\n text-decoration: none;\n color: #0097DF;\n font-weight: bold;\n}\n\n#wpstg-tab-container ul li a:hover {\n background-color: #e5e5e5;\n color: #777777;\n}\n\n.wpstg-logo {\n display: block;\n font-size: 16px;\n padding-top: 20px;\n width: 220px;\n float: left;\n}\n\n.wpstg-logo img {\n max-width: 212px;\n}\n\n.wpstg-version {\n display: block;\n padding-top: 40px;\n color: #9b9b9b;\n}\n\n.wpstg_admin .nav-tab {\n color: #3C3C3C;\n}\n\n#wpstg-tab-container table tbody tr:nth-child(1) > th > div {\n font-size: 20px;\n}\n\n/* Cloning workflow */\n\n#wpstg-clonepage-wrapper {\n margin-bottom: 20px;\n width: 98%;\n}\n\n@media screen and (min-width: 1090px) {\n #wpstg-clonepage-wrapper {\n float: left;\n margin-bottom: 20px;\n }\n}\n\n#wpstg-steps {\n margin-top: 0px;\n margin-left: 20px;\n}\n\n#wpstg-steps li {\n color: #444;\n line-height: 20px;\n padding-right: 10px;\n float: left;\n}\n\n.wpstg-step-num {\n border: 1px solid #3e3e3e;\n border-radius: 3px;\n display: inline-block;\n width: 20px;\n height: 20px;\n text-align: center;\n margin-right: 5px;\n}\n\n.wpstg-current-step {\n font-weight: bold;\n}\n\n.wpstg-current-step .wpstg-step-num {\n background: #3e3e3e;\n color: #eee;\n}\n\n.wpstg-box {\n margin: 10px 0;\n padding: 10px;\n position: relative;\n overflow: hidden;\n transition: border-color .2s ease-in-out;\n}\n\n.wpstg-clone {\n margin-bottom: 10px;\n padding: 16px;\n position: relative;\n transition: border-color .2s ease-in-out;\n background-color: #ffffff;\n color: #3e3e3e;\n border-radius: 3px;\n box-shadow: 0 0 1px rgba(0, 0, 0, .125), 0 1px 3px rgba(0, 0, 0, .1);\n}\n\n.wpstg-clone.active {\n border-color: #1d94cf;\n}\n\n.wpstg-clone-header {\n display: flex;\n align-items: center;\n}\n\n.wpstg-clone-title {\n display: inline-block;\n margin-right: 8px;\n font-size: 15px;\n max-width: 300px;\n text-decoration: none;\n font-weight: bold;\n color: #3e3e3e;\n}\n\n.wpstg-clone-title:hover {\n color: #111111;\n}\n\n.wpstg-clone-labels {\n display: inline-block;\n}\n\n\n.wpstg-clone-labels .wpstg-clone-label {\n display: inline-block;\n padding: 1px 4px;\n margin-right: 4px;\n font-size: 11px;\n border-radius: 3px;\n background: #8bc34a;\n color: #fff;\n}\n\n.wpstg-clone-actions {\n margin-left: auto;\n display: flex;\n margin-top: 5px;\n}\n\n.wpstg-dropdown {\n position: relative;\n}\n\n.wpstg-clone-actions .wpstg-dropdown-toggler {\n text-decoration: none;\n background: #25a1f0;\n padding: 6px 10px;\n border-radius: 2px;\n font-size: 14px;\n box-shadow: 0 0 1px rgba(0, 0, 0, .125), 0 1px 3px rgba(0, 0, 0, .2);\n color: #ffffff;\n}\n\n.wpstg-clone-actions .wpstg-dropdown-toggler:hover {\n background: #002648;\n color: white;\n}\n\n.wpstg-dropdown {\n position: relative;\n}\n\n.wpstg-dropdown > .wpstg-dropdown-menu {\n background: #fff;\n display: none;\n flex-direction: column;\n position: absolute;\n right: 0;\n top: calc(100% + 4px);\n padding: 8px;\n border-radius: 2px;\n width: 100px;\n box-shadow: 0 0 1px rgba(0, 0, 0, .125), 0 1px 3px rgba(0, 0, 0, .2);\n z-index: 1000;\n}\n\n.wpstg-dropdown > .wpstg-dropdown-menu.wpstg-menu-dropup {\n top: auto;\n bottom: 100%;\n transform: translate3d(0px, -3px, 0px);\n}\n\n.wpstg-dropdown > .wpstg-dropdown-menu.shown {\n display: flex;\n}\n\n.wpstg-clone-action,\n.wpstg-dropdown-action {\n color: #3e3e3e;\n padding: 6px 8px;\n border-radius: 3px;\n text-decoration: none;\n position: relative;\n transition: color .2s ease-in-out;\n border-bottom: 1px solid #f3f3f3;\n}\n\n.wpstg-clone-action:hover,\n.wpstg-dropdown-action:hover {\n background: rgba(0, 0, 0, 0.05);\n}\n\n.wpstg-dropdown-action {\n color: #3e3e3e;\n background: transparent;\n border: 0 solid black;\n outline: none;\n box-shadow: none;\n}\n\n.wpstg-remove-clone:hover {\n color: #E01E5A;\n}\n\n.wpstg-clone-action:last-child {\n border: none;\n}\n\n.wpstg-clone:hover .wpstg-clone-action {\n display: inline-block;\n}\n\n#wpstg-show-error-details:focus,\n#wpstg-workflow .wpstg-clone-action {\n outline: none;\n box-shadow: none;\n}\n\n.wpstg-link-btn {\n background: #45a1c9;\n color: #fff;\n display: inline-block;\n padding: 5px 10px;\n text-decoration: none;\n vertical-align: baseline;\n transition: all .2s ease-in-out;\n}\n\n.wpstg-link-btn:hover,\n.wpstg-link-btn:focus {\n color: #fff;\n outline: none;\n box-shadow: none;\n}\n\n#wpstg-workflow .wpstg-link-btn:active {\n vertical-align: baseline;\n}\n\n.wpstg-link-btn[disabled] {\n background: #777 !important;\n border-color: #555 !important;\n pointer-events: none;\n}\n\n#wpstg-cancel-cloning,\n#wpstg-cancel-cloning-update {\n margin-top: 5px;\n}\n\n#wpstg-cancel-cloning.success,\n#wpstg-cancel-cloning.success {\n background: #64dd58;\n border-color: #54bd4a;\n}\n\n#wpstg-error-wrapper,\n#wpstg-error-details {\n display: none;\n padding-top: 10px;\n font-size: 13px;\n clear: both;\n}\n\n#wpstg-show-error-details {\n display: inline-block;\n margin-left: 5px;\n color: #555;\n text-decoration: none;\n transition: color .2s ease-in-out;\n}\n\n#wpstg-show-error-details:hover {\n color: #1d94cf;\n}\n\n#wpstg-error-details {\n border-left: 5px solid #E01E5A;\n padding: 10px;\n width: 500px;\n}\n\n#wpstg-try-again {\n display: none;\n}\n\n#wpstg-home-link {\n float: right;\n}\n\n.wpstg-loader {\n content: url('../../img/loading.gif');\n display: none;\n}\n\n.wpstg-loader.wpstg-finished {\n display: block;\n content: \"Finished\";\n background-color: #00c89a;\n color: white;\n padding: 2px 10px;\n margin-top: 0;\n border-radius: 3px;\n}\n\n#wpstg-workflow {\n max-width: 800px;\n position: relative;\n clear: both;\n padding-top: 20px;\n float: left;\n min-width: 500px;\n min-height: 380px;\n padding-right: 20px;\n padding-bottom: 20px;\n}\n\n#wpstg-sidebar {\n float: left;\n max-width: 400px;\n display: block;\n margin-left: 10px;\n}\n\n#wpstg-workflow.loading::after,\n#wpstg-removing-clone.loading::after {\n background: rgba(255, 255, 255, .7);\n content: 'Loading... may take a while for huge websites';\n display: block;\n width: 100%;\n height: 100%;\n font-size: 20px;\n padding-top: 100px;\n text-align: center;\n position: absolute;\n top: 0;\n left: 0;\n z-index: 99;\n}\n\n#wpstg-removing-clone.loading::after {\n content: 'REMOVING' !important;\n}\n\n#wpstg-existing-clones,\n#wpstg-removing-clone {\n position: relative;\n}\n\n#wpstg-existing-clones h3 {\n color: #3e3e3e;\n}\n\n#wpstg-removing-clone .wpstg-tab-section {\n display: block;\n}\n\n.wpstg-progress-bar {\n max-width: 900px;\n height: 27px;\n padding: 0;\n background-color: #d6d8d7;\n}\n\n.wpstg-progress {\n float: left;\n background: #3fa5ee;\n width: 0;\n height: 100%;\n transition: width .6s ease;\n color: white;\n line-height: 25px;\n text-align: center;\n overflow: hidden;\n}\n\n.wpstg-progress-files {\n background: #16b4f0;\n width: 0;\n height: 100%;\n transition: width .6s ease;\n color: white;\n line-height: 25px;\n text-align: center;\n}\n\n#wpstg-new-clone-id.wpstg-error-input,\n#wpstg-clone-path.wpstg-error-input {\n border: 1px solid #E01E5A;\n box-shadow: 0 0 2px rgba(255, 66, 53, .8);\n}\n\n#wpstg-new-clone-id {\n width: 450px;\n max-width: 100%;\n margin-left: 15px;\n}\n\n#wpstg-new-clone {\n background: #25a1f0;\n border-color: #2188c9;\n}\n\n#wpstg-new-clone:hover {\n background: #259be6;\n border-color: #2188c9;\n}\n\n#wpstg-clone-path {\n margin-left: 10px;\n width: 350px;\n}\n\n.wpstg-error-msg {\n color: #E01E5A;\n}\n\n#wpstg-clone-id-error {\n display: block;\n background-color: #f0f8ff;\n padding: 10px;\n margin: 20px;\n}\n\n#wpstg-start-cloning + .wpstg-error-msg {\n display: block;\n margin-top: 5px;\n}\n\n.wpstg-size-info {\n color: #999;\n font-weight: normal;\n position: relative;\n left: 2px;\n}\n\n.wpstg-db-table .wpstg-size-info {\n top: 2px;\n}\n\n.wpstg-db-table:hover {\n background-color: #f0f8ff;\n}\n\n#wpstg-workflow #wpstg-start-cloning {\n margin-left: 5px;\n vertical-align: baseline;\n}\n\n\n/* Tabs */\n\n.wpstg-tabs-wrapper {\n max-width: 640px;\n margin: 10px 0;\n}\n\n#wpstg-path-wrapper {\n border-bottom: 2px dashed #ccc;\n padding-bottom: 10px;\n margin-bottom: 10px;\n}\n\n.wpstg-tab-section {\n border-bottom: 1px solid #ddd;\n border-right: none;\n border-left: none;\n display: none;\n width: calc(100% - 72px);\n padding: 0px 36px;\n}\n\n.wpstg-tab-section::after {\n display: block;\n content: '';\n clear: both;\n}\n\n.wpstg-tab-header {\n border-bottom: 1px solid #ddd;\n border-right: none;\n border-left: none;\n color: #444;\n font-size: 16px;\n font-weight: bold;\n display: block;\n padding: 10px;;\n text-decoration: none;\n}\n\n.wpstg-tab-triangle {\n display: inline-block;\n margin-right: 12px;\n animation: transform 0.5s;\n width: 0;\n height: 0;\n margin-top: -3px;\n vertical-align: middle;\n border-top: 5px solid transparent;\n border-bottom: 5px solid transparent;\n border-left: 10px solid;\n transition: transform 0.2s;\n cursor: pointer;\n}\n\n.wpstg-tab-triangle.wpstg-no-icon {\n margin-right: 2px;\n width: auto;\n height: auto;\n vertical-align: auto;\n border-top: 0px solid;\n border-bottom: 0px solid;\n border-left: 0px solid;\n}\n\n.wpstg-tab-triangle.wpstg-rotate-90 {\n transform: rotate(90deg);\n}\n\n.wpstg-tab-header:focus {\n color: #444;\n outline: none;\n box-shadow: none;\n}\n\n#wpstg-large-files {\n display: none;\n border: 1px dashed #ccc;\n padding: 10px 10px 10px;\n margin-top: 20px;\n position: relative;\n font-size: 12px;\n}\n\n#wpstg-large-files h3 {\n background: #fff;\n margin: 0;\n padding: 0 5px;\n position: absolute;\n top: -10px;\n left: 5px;\n}\n\n.wpstg-subdir {\n display: none;\n margin-left: 20px;\n}\n\n.wpstg-subdir.wpstg-push {\n display: block;\n margin-left: 20px;\n}\n\n.wpstg-dir a.disabled {\n color: #888;\n cursor: default;\n text-decoration: none;\n}\n\n.wpstg-check-subdirs {\n display: inline-block;\n margin-left: 10px;\n}\n\n.wpstg-notice-alert {\n display: block;\n background-color: #E01E5A;\n padding: 20px;\n max-width: 600px;\n margin-top: 10px;\n color: white;\n}\n\n.wpstg-notice--white {\n display: block;\n background-color: #ffffff;\n padding: 20px;\n max-width: 600px;\n margin-top: 10px;\n}\n\n.wpstg-notice-alert a {\n color: white;\n}\n\n.wpstg-notice-alert h3 {\n color: white;\n}\n\n.wpstg-header {\n font-weight: 400;\n line-height: 1.6em;\n font-size: 19px;\n /*\n border-bottom: 1px solid #DFDFDF;\n */\n clear: both;\n padding-top: 10px;\n}\n\n#wpstg-clone-label {\n font-size: 14px;\n font-weight: bold;\n}\n\n.wpstg-log-details {\n height: 300px;\n overflow: scroll;\n max-width: 650px;\n font-family: monospace;\n font-size: 12px;\n line-height: 15px;\n border: 1px solid #FFF;\n background-color: black;\n color: #c0c0c0;\n padding: 3px;\n white-space: nowrap;\n margin-top: 15px;\n}\n\n#wpstg-finished-result {\n display: none;\n}\n\n#wpstg-remove-cloning {\n background: #ff3428;\n border-color: #e72f24;\n margin-top: 5px;\n}\n\n#wpstg-success-notice {\n padding: 10px;\n background-color: white;\n max-width: 900px;\n border: 1px solid #ccc;\n margin-top: 20px;\n}\n\n.wpstg_beta_notice {\n margin-bottom: 20px;\n}\n\n.wpstg-sysinfo {\n width: 700px;\n height: 400px;\n}\n\n.wpstg-form-table .col-title label {\n font-weight: 600;\n}\n\n.wpstg-form-table td:first-child {\n width: 30%;\n padding-right: 20px;\n}\n\n.wpstg-share-button-container {\n margin: 5px 0;\n}\n\n.wpstg-share-button-container p {\n margin: 0 0 10px 0;\n}\n\n.wpstg-share-button {\n display: inline-block;\n}\n\n.wpstg-share-button a {\n text-decoration: none;\n}\n\n.wpstg-share-button .wpstg-share {\n font-family: sans-serif;\n font-weight: bold;\n text-decoration: none;\n text-align: center;\n}\n\n.wpstg-share-button .wpstg-share {\n -webkit-border-radius: 2px;\n -moz-border-radius: 2px;\n border-radius: 2px;\n color: #FFF;\n display: inline;\n font-size: 12px;\n padding: 4px 8px;\n}\n\n.wpstg-share-button-twitter .wpstg-share {\n background-color: #00ABF0;\n}\n\n.wpstg-share-button-facebook .wpstg-share {\n background-color: #3b5998;\n}\n\n.wpstg-share-button-googleplus .wpstg-share {\n background-color: #F53424;\n}\n\n.wpstg-share-button-twitter .share:active,\n.wpstg-share-button-facebook .share:active,\n.wpstg-share-button-googleplus .share:active {\n background-color: #353535;\n}\n\n#wpstg-check-space {\n margin-left: 8px;\n}\n\n#wpstg-welcome li {\n font-size: 18px;\n line-height: 29px;\n position: relative;\n padding-left: 23px;\n list-style: none !important;\n}\n\n#wpstg-welcome {\n margin-top: 20px;\n margin-right: 20px;\n background-color: white;\n}\n\n.wpstg-heading-pro {\n font-weight: bold;\n}\n\n.wpstg-h2 {\n margin-top: 0;\n margin-bottom: 1.2rem;\n font-size: 30px;\n line-height: 2.5rem;\n}\n\n#wpstg-welcome li:before {\n width: 1em;\n height: 100%;\n background: url(data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%2377B227%22%20d%3D%22M1671%20566q0%2040%2D28%2068l%2D724%20724%2D136%20136q%2D28%2028%2D68%2028t%2D68%2D28l%2D136%2D136%2D362%2D362q%2D28%2D28%2D28%2D68t28%2D68l136%2D136q28%2D28%2068%2D28t68%2028l294%20295%20656%2D657q28%2D28%2068%2D28t68%2028l136%20136q28%2028%2028%2068z%22%2F%3E%3C%2Fsvg%3E) left .4em no-repeat;\n background-size: contain;\n content: \"\";\n position: absolute;\n top: -2px;\n left: 0;\n color: #77b227;\n}\n\n.wpstg-h1 {\n margin-bottom: 1.35rem;\n font-size: 2.5em;\n line-height: 3.68rem;\n letter-spacing: normal;\n}\n\n.wpstg--swal2-content {\n color: #3e3e3e;\n}\n\n.wpstg--swal2-content h1 {\n color: #444;\n}\n\n#wpstg-welcome h2 {\n margin: 0 0 15px;\n}\n\n#wpstg-welcome .wpstg-footer {\n clear: both;\n margin-top: 20px;\n font-style: italic;\n}\n\n#wpstg-footer {\n clear: both;\n margin-top: 20px;\n margin-right: 10px;\n padding-top: 50px;\n}\n\n#wpstg-footer a {\n text-decoration: none;\n}\n\n#wpstg-footer li {\n margin-bottom: 2px;\n list-style: circle;\n}\n\n#wpstg-footer ul {\n margin-left: 15px;\n margin-top: 0px;\n}\n\n.wpstg-footer--title {\n margin-left: 15px;\n}\n\n.wpstg-staging-info {\n margin-top: 8px;\n color: #3e3e3e;\n font-size: 12px;\n}\n\n.wpstg-staging-info a {\n color: #3e3e3e;\n}\n\n.wpstg-staging-info li {\n margin-bottom: 2px;\n}\n\n.wpstg-bold {\n font-weight: 600;\n}\n\n#wpstg-processing-status {\n margin-top: 5px;\n font-size: 13px;\n font-weight: 400;\n float: left;\n}\n\n#wpstg-processing-timer {\n margin-top: 5px;\n font-size: 13px;\n font-weight: 400;\n float: right;\n}\n\n#wpstg-report-issue-button {\n margin-left: 30px;\n border: 1px solid #E01E5A;\n color: #E01E5A;\n background-color: white;\n}\n\n#wpstg-report-issue-button:hover {\n background-color: #dc2b62;\n color: #fff;\n}\n\n.wpstg-blue-primary {\n display: inline-block;\n text-decoration: none;\n font-size: 13px;\n height: 28px;\n margin: 0;\n /*\n padding: 0 10px 1px;\n */\n cursor: pointer;\n border-width: 1px;\n border-style: solid;\n -webkit-appearance: none;\n border-radius: 3px;\n white-space: nowrap;\n box-sizing: border-box;\n background: #25a1f0;\n border-color: #2188c9;\n color: #fff;\n /*\n text-shadow: 0 -1px 1px #006799, 1px 0 1px #006799, 0 1px 1px #006799, -1px 0 1px #006799;\n */\n}\n\n.wpstg-blue-primary:hover {\n background: #127fc6;\n}\n\na.wpstg-blue-primary {\n padding: 5px 10px;\n height: auto;\n}\n\n.wpstg-blue-primary:hover {\n background-color: #259be6;\n}\n\n.wpstg-report-issue-form {\n position: absolute;\n z-index: 999;\n width: 300px;\n background-color: #fff;\n padding: 15px 15px 10px;\n border: 1px solid #e8e8e8;\n border-radius: 3px;\n box-shadow: 0 1px 0 0 #fff inset;\n display: none;\n right: 0;\n top: 35px;\n}\n\n@media (max-width: 600px) {\n .wpstg-report-issue-form {\n position: relative;\n }\n}\n\n.wpstg-report-show {\n display: block;\n}\n\n.wpstg-field input[type=text],\n.wpstg-field textarea {\n width: 100%;\n font-weight: 400;\n line-height: 1.4;\n margin-bottom: 4px;\n}\n\n.wpstg-report-email,\n.wpstg-report-hosting-provider {\n width: 100%;\n font-weight: 400;\n font-size: .8rem;\n height: 2.3rem;\n line-height: 2.3rem;\n border-radius: 3px;\n margin-bottom: 4px;\n padding: 0 10px;\n}\n\n.wpstg-report-description {\n border-radius: 3px;\n font-size: .8rem;\n padding: 6px 10px;\n resize: none;\n}\n\n.wpstg-report-privacy-policy {\n font-size: 12px;\n margin-bottom: 15px;\n}\n\n#wpstg-report-cancel {\n float: right;\n margin-right: 5px;\n font-weight: bold;\n}\n\n#wpstg-success-button {\n font-weight: bold;\n}\n\n.wpstg-message {\n box-sizing: border-box;\n -moz-box-sizing: border-box;\n background-color: #f5e0de;\n border-radius: 3px;\n color: rgba(0, 0, 0, .6);\n height: auto;\n margin: 10px 0;\n min-height: 18px;\n padding: 6px 10px;\n position: relative;\n}\n\n.wpstg-message.wpstg-error-message {\n background-color: #f5e0de;\n color: #b65147;\n font-size: 12px;\n}\n\n.wpstg-message.wpstg-success-message {\n background-color: #d7f8e0;\n color: #515151;\n}\n\n.wpstg-message p {\n margin: 3px 0;\n font-size: 13px;\n}\n\n.wpstg-warning {\n display: block;\n padding: 10px;\n background-color: #ffb804;\n color: #ffffff;\n margin: 10px 10px 10px 0;\n}\n\n.wpstg-warning a {\n color: #ffffff;\n font-weight: bold;\n text-decoration: underline;\n}\n\n.wpstg-error {\n display: block;\n padding: 10px !important;\n background-color: #E01E5A !important;\n color: #ffffff;\n margin: 10px 10px 10px 0 !important;\n border-color: transparent !important;\n border-left-color: transparent !important;\n box-shadow: none !important;\n}\n\n.wpstg-error a {\n color: #ffffff;\n font-weight: bold;\n text-decoration: underline;\n}\n\n#wpstg-resume-cloning {\n display: none;\n}\n\n#wpstg-external-db th {\n text-align: left;\n width: 120px;\n}\n\n#wpstg-db-connect {\n font-weight: normal;\n}\n\n#wpstg-db-status {\n display: block;\n margin-top: 5px;\n padding: 5px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n border-radius: 4px;\n text-decoration: none;\n text-align: center;\n}\n\n.wpstg-text-field > #wpstg-db-status {\n margin-top: 8px;\n margin-left: 150px;\n min-width: 300px;\n}\n\n.wpstg-success {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n\n.wpstg-failed {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n\n#wpstg_select_tables_cloning {\n height: 600px;\n font-size: 13px;\n}\n\n#wpstg_select_tables_pushing {\n height: 400px;\n font-size: 13px;\n}\n\n#wpstg-update-notify {\n background-color: #E01E5A;\n font-size: 14px;\n color: #ffffff;\n line-height: normal;\n padding: 10px;\n}\n\n#wpstg-update-notify a {\n color: #ffffff;\n font-weight: bold;\n}\n\n.wpstg-pointer {\n cursor: pointer;\n}\n\n.wpstg--tab--header {\n background-color: white;\n position: relative;\n transition: border-color .2s ease-in-out;\n background-color: #ffffff;\n color: #3e3e3e;\n border-radius: 0px;\n box-shadow: 0 0 1px rgba(0, 0, 0, .125), 0 1px 3px rgba(0, 0, 0, .02);\n}\n\n.wpstg--tab--header ul {\n display: flex;\n}\n\n.wpstg--tab--header ul li {\n margin-right: 1em;\n margin-bottom: 0px;\n}\n\n.wpstg--tab--header ul li:last-child {\n margin-right: 0;\n}\n\n.wpstg--tab--header a {\n min-width: 150px;\n text-align: center;\n cursor: pointer;\n display: inline-block;\n padding: 1em 1.25em;\n padding-bottom: 9px;\n color: #c4c4c4;\n font-size: 18px;\n}\n\n.wpstg--tab--header a.wpstg--tab--active {\n border-bottom: 3px solid #0e86d9;\n color: #25A1F0;\n}\n\n.wpstg--tab--header a:hover {\n background-color: #fefefe;\n border-bottom: 3px solid #0e86d9;\n color: #0e86d9;\n}\n\n.wpstg--tab--content {\n display: none;\n}\n\n.wpstg--tab--active {\n display: block;\n}\n\n#wpstg-premium-header {\n font-size: 1.5rem;\n font-weight: bold;\n}\n\n.wpstg--text--strong,\n.wpstg--text--strong * {\n font-weight: bold !important;\n}\n\n.wpstg--text--danger {\n color: #a94442;\n}\n\n.wpstg--tooltip {\n position: relative;\n display: inline-block;\n margin-left: 5px;\n}\n\n.wpstg--tooltip.wpstg--tooltip-normal {\n margin-left: 0;\n border-bottom: 0;\n}\n\n.wpstg--tooltip .wpstg--tooltiptext {\n visibility: hidden;\n width: 300px;\n background-color: #ffffff;\n color: #505050;\n text-align: left;\n padding: 12px;\n border-radius: 3px;\n position: absolute;\n z-index: 1;\n -webkit-box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;\n -moz-box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;\n box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;\n font-weight: normal;\n}\n\n.wpstg--tooltiptext-backups {\n width: 120px;\n top: 100%;\n left: -150%;\n margin-left: -56px;\n margin-top: 4px;\n}\n\n.wpstg--tooltip.wpstg--exclude-rules--tooltip {\n border-bottom: 0px solid transparent;\n}\n\n.wpstg--tooltip.wpstg--exclude-rules--tooltip > .wpstg--tooltiptext {\n margin-top: 0px;\n margin-left: -150px;\n}\n\n/**\nTooltip top arrow\n */\n\n.wpstg--tooltip .wpstg--tooltiptext-backups::after {\n content: \" \";\n position: absolute;\n bottom: 100%;\n /* At the top of the tooltip */\n left: 50%;\n margin-left: 25px;\n border-width: 5px;\n border-style: solid;\n border-color: transparent transparent white transparent;\n}\n\n.wpstg--tooltip .wpstg--tooltiptext.has-top-arrow {\n margin-top: 6px;\n}\n\n.wpstg--tooltip .wpstg--tooltiptext.has-top-arrow::after {\n content: \" \";\n position: absolute;\n bottom: 100%;\n left: 50%;\n margin-left: -18px;\n border-width: 5px;\n border-style: solid;\n border-color: transparent transparent white transparent;\n}\n\n.wpstg--snaphot-restore-table tr {\n line-height: 12px;\n}\n\n.wpstg-float-left {\n float: left;\n}\n\n.wpstg-beta-notice {\n background-color: #b0e8b0;\n border-radius: 3px;\n padding: 7px;\n margin-bottom: 20px;\n}\n\n#wpstg-backup-name {\n font-size: 1.875em;\n font-weight: 600;\n}\n\n#wpstg_select_tables_cloning option:checked,\n#wpstg_select_tables_pushing option:checked {\n /* Cannot use background color here because Chrome and Firefox ignore it even if set to !important */\n -webkit-appearance: menulist-button;\n background-image: linear-gradient(0deg, #1e90ff 0%, #1e90ff 100%);\n}\n\n.wpstg--btn--cancel {\n background: #ff3428;\n border-color: #e72f24;\n color: #fff;\n height: auto;\n line-height: normal;\n font-size: 16px;\n padding: .5em;\n margin-bottom: 1.5em;\n}\n\n.wpstg--btn--cancel:hover {\n background: #ff3428;\n border-color: #e72f24;\n}\n\n.wpstg--process--content > .wpstg--swal2-html-container {\n padding: 4em 2em !important;\n}\n\n.wpstg--modal--process--logs,\n.wpstg--modal--error--logs {\n background: #ffffff;\n border: 1px solid #a8a8a8;\n border-radius: 3px;\n height: 300px;\n margin-top: 1em;\n display: none;\n padding-top: 10px;\n padding-left: 10px;\n overflow: auto;\n text-align: justify;\n}\n\n.wpstg--modal--error--logs {\n height: auto;\n max-height: 300px;\n}\n\n.wpstg--modal--process--logs p {\n font-size: 12px;\n white-space: nowrap;\n}\n\n.wpstg--modal--process--logs p.wpstg--modal--process--msg--info {\n color: #222222;\n}\n\n.wpstg--modal--process--logs p.wpstg--modal--process--msg--debug {\n color: #757575;\n}\n\n.wpstg--modal--process--title {\n color: #565656;\n margin: .25em 0;\n}\n\n.wpstg--modal--process--subtitle {\n margin: .5em 0;\n color: #565656;\n}\n\n.wpstg--modal--error--logs > p {\n text-align: left;\n font-size: 14px;\n color: #222222;\n}\n\n.wpstg--modal--process--logs p,\n.wpstg--modal--error--logs p {\n margin: 0px;\n margin-bottom: 2px;\n}\n\n.wpstg--modal--process--msg--error {\n color: #E01E5A;\n}\n\n.wpstg--modal--process--msg--critical {\n color: #E01E5A;\n}\n\n.wpstg--modal--process--msg--warning {\n color: darkorange;\n}\n\n.wpstg--modal--process--msg-found {\n font-size: 16px;\n color: #E01E5A;\n font-weight: bold;\n}\n\n.wpstg--modal--delete {\n text-align: left;\n margin-top: 8px;\n color: #565656;\n}\n\n.wpstg-swal-popup .wpstg--swal2-cancel.wpstg--btn--cancel {\n margin-bottom: 0;\n text-shadow: none !important;\n}\n\n.wpstg-swal-popup .wpstg-loader {\n display: inline-block !important;\n}\n\n.wpstg--modal--process--generic-problem {\n display: none;\n border-left: 5px solid #E01E5A;\n margin: .5em 0;\n}\n\n.wpstg--modal--process--logs--tail {\n font-size: 16px;\n color: #565656;\n background: none;\n border: none;\n cursor: pointer;\n text-decoration: underline;\n}\n\n.wpstg--modal--backup--import--upload--title {\n color: #3e3e3e;\n}\n\n.wpstg--modal--backup--import--configure,\n.wpstg--modal--backup--import--upload--status,\n.wpstg--modal--backup--import--upload--container input[type=\"file\"] {\n display: none;\n}\n\n#wpstg--backups--import--file-list {\n font-size: 14px;\n font-weight: bold;\n}\n\n#wpstg--backups--import--file-list-empty {\n color: #E01E5A;\n}\n\n.wpstg--modal--backup--import--filesystem label {\n font-size: 14px;\n}\n\n.wpstg--modal--backup--import--filesystem button {\n margin-bottom: 20px;\n}\n\n.wpstg--modal--backup--import--upload {\n position: relative;\n min-height: 30px;\n}\n\n.wpstg--modal--backup--import--upload {\n color: #505050;\n}\n\n.wpstg--modal--backup--import--upload--container {\n position: relative;\n border-radius: 10px;\n margin: .5em;\n padding: 1em .5em;\n border: 3.5px dashed #dedede;\n transition: background-color 0.3s ease, color 0.3s ease;\n background-color: #f4fbff;\n min-height: 130px;\n}\n\n.wpstg--modal--backup--import--upload--container.wpstg--has-dragover span.wpstg--drop {\n display: inline-flex;\n}\n\n.wpstg--modal--backup--import--upload--container input[type='file'] {\n display: none;\n}\n\n.wpstg--modal--backup--import--upload--container img {\n margin-top: 10px;\n width: 4em;\n align-self: center;\n border: none;\n}\n\n.wpstg--modal--backup--import--upload--container span {\n margin-top: 1em;\n}\n\n.wpstg--backup--import--options > button {\n margin-top: 1em;\n padding: 1em;\n align-self: center;\n width: 185px;\n height: auto;\n line-height: normal;\n}\n\n.wpstg--backup--import--options {\n position: relative;\n display: flex;\n justify-content: center;\n}\n\n.wpstg--backup--import--options ul {\n display: none;\n}\n\n.wpstg--backup--import--options.wpstg--show-options ul {\n padding: 0;\n margin: 54px 0 0 0;\n display: block;\n position: absolute;\n width: 185px;\n background: #25a1f0;\n box-sizing: border-box;\n border-radius: 0 0 3px 3px;\n border-width: 1px;\n border-color: #2188c9;\n text-shadow: 0 -1px 1px #006799, 1px 0 1px #006799, 0 1px 1px #006799, -1px 0 1px #006799;\n}\n\n.wpstg--backup--import--options.wpstg--show-options ul li {\n border-bottom: .1em solid #25a1f0;\n margin: 0;\n}\n\n.wpstg--backup--import--options.wpstg--show-options ul li:hover {\n background-color: #25a1f0;\n}\n\n.wpstg--backup--import--options.wpstg--show-options ul li:last-child {\n border-bottom: none;\n}\n\n.wpstg--backup--import--options ul li button {\n cursor: pointer;\n background: none;\n border: none;\n margin: 0;\n width: 100%;\n color: white;\n height: 40px;\n line-height: 40px;\n}\n\n.wpstg--backup--import--options ul li button:hover {\n background-color: #259be6;\n}\n\n.wpstg--modal--backup--import--search-replace--info {\n margin: 1em 0;\n display: flex;\n flex-direction: row;\n}\n\n.wpstg--modal--backup--import--info p {\n text-align: left;\n margin: 0;\n}\n\n.wpstg--modal--backup--import--search-replace--wrapper button {\n align-self: center;\n}\n\n.wpstg--import--advanced-options--button {\n border: 0;\n border-radius: 3px;\n font-size: 18px;\n text-shadow: 0 -1px 1px #006799, 1px 0 1px #006799, 0 1px 1px #006799, -1px 0 1px #006799;\n cursor: pointer;\n}\n\n.wpstg--modal--backup--import--search-replace--new {\n color: white;\n background-color: #25a1f0;\n}\n\n.wpstg--modal--backup--import--search-replace--remove {\n color: white;\n background-color: #25a1f0;\n width: 22px;\n height: 22px;\n margin-left: 5px;\n}\n\n.wpstg--modal--backup--import--search-replace--input-group:first-child button {\n display: none;\n}\n\n.wpstg--modal--backup--import--search-replace--input--container {\n flex: 1;\n display: flex;\n flex-direction: column;\n}\n\n.wpstg--modal--backup--import--search-replace--input-group {\n width: 100%;\n border-bottom: 6px solid #f1f1f1;\n margin-bottom: 10px;\n}\n\n.wpstg--modal--backup--import--search-replace--input-group input {\n min-width: 250px;\n width: calc(50% - 4px - 11px - 5px); /* -4px is half of the padding; -11px is half of the button; -5 is the margin left of the button */\n display: inline-block;\n line-height: 10px;\n border: 1px solid #dedede;\n border-radius: 3px;\n color: #666;\n padding: 8px;\n margin-bottom: 12px;\n}\n\n.wpstg--modal--import--upload--process {\n display: none;\n position: relative;\n height: 30px;\n margin-top: 20px;\n margin-bottom: 20px;\n width: 100%;\n top: 0;\n left: 0;\n text-indent: 1em;\n white-space: nowrap;\n overflow: hidden;\n color: #333333;\n justify-content: center;\n align-items: center;\n}\n\n.wpstg--modal--import--upload--progress {\n position: absolute;\n background: #98d452;\n color: white;\n height: 100%;\n border-radius: 4px;\n left: 0;\n top: 0;\n}\n\n.wpstg--modal--import--upload--progress--title {\n z-index: 9;\n}\n\n.wpstg-fieldset:disabled {\n opacity: 0.8;\n border-top: 1px solid white;\n margin-top: 20px;\n}\n\n.wpstg-fieldset {\n padding-left: 20px;\n}\n\n.wpstg-fs-14 {\n font-size: 14px;\n}\n\n.wpstg-dark-alert {\n font-weight: bold;\n background-color: #0e86d9;\n padding: 30px;\n margin-top: 0px;\n color: white;\n}\n\n.wpstg-dark-alert ul{\n list-style: initial;\n}\n\n.wpstg-form-group {\n display: block;\n width: 100%;\n margin-bottom: 8px;\n align-items: center;\n}\n\n.wpstg-form-group > label {\n display: block;\n font-weight: 700;\n}\n\n.wpstg-text-field > input {\n width: 300px;\n display: block;\n line-height: 1.5;\n}\n\n.wpstg-code-segment {\n display: block;\n}\n\n.wpstg-text-field > .wpstg-code-segment {\n margin-top: 4px;\n min-width: 300px;\n}\n\n.wpstg-form-group > .wpstg-checkbox {\n min-width: 100%;\n width: 100%;\n position: relative;\n}\n\n.wpstg-form-group > .wpstg-checkbox > input[type='checkbox'] {\n left: 150px;\n}\n\n.wpstg-rounded {\n border-radius: 3px;\n}\n\n.wpstg-white-border {\n border: 1px solid white !important;\n}\n\n.wpstg-ml-4 {\n margin-left: 4px;\n}\n\n#wpstg-confirm-backup-restore-data {\n margin: 40px;\n text-align: left;\n}\n\n#wpstg-advanced-settings hr {\n margin: 20px 0;\n}\n\n.wpstg-form-row {\n display: block;\n}\n\n.wpstg-form-row label,\n.wpstg-form-row input {\n display: table-cell;\n padding-left: 5px;\n padding-right: 5px;\n margin-top: 3px;\n margin-bottom: 3px;\n}\n\n.wpstg-form-row input {\n width: 400px;\n}\n\n.wpstg-form-row label {\n font-weight: bold;\n width: 1px;\n white-space: nowrap;\n}\n\n#wpstg-db-connect-output #wpstg-db-status {\n width: 390px;\n}\n\n.wpstg-fs-14 {\n font-size: 14px;\n}\n\n.wpstg-code-segment {\n display: block;\n}\n\n.wpstg-form-group > .wpstg-checkbox {\n min-width: 100%;\n width: 100%;\n}\n\n.wpstg-form-group > .wpstg-checkbox > input[type='checkbox'] {\n margin-left: 10px;\n}\n\n@media only screen and (max-width: 768px) {\n .wpstg-form-group > label {\n min-width: auto;\n width: auto;\n }\n\n .wpstg-text-field > input {\n width: 100%;\n }\n\n .wpstg-text-field > .wpstg-code-segment {\n margin-left: 0;\n min-width: 100%;\n }\n\n .wpstg-tab-section {\n width: calc(100vw - 60px);\n max-width: 450px;\n }\n}\n\n.wpstg-rounded {\n border-radius: 3px;\n}\n\n.wpstg-white-border {\n border: 1px solid white !important;\n}\n\n.wpstg-m-0 {\n margin: 0;\n}\n\n.wpstg-mt-10px {\n margin-top: 10px !important;\n}\n\n.wpstg-mr-10px {\n margin-right: 10px !important;\n}\n\n.wpstg-my-10px {\n margin-top: 10px !important;\n margin-bottom: 10px !important;\n}\n\n.wpstg-w-100 {\n width: 100%;\n}\n\n.wpstg-box-shadow {\n box-shadow: 0 1px 1px 0 rgba(0, 0, 0, .1);\n}\n\n.wpstg-float-left {\n float: left;\n}\n\n.wpstg-bold-text {\n font-weight: bold;\n}\n\n.wpstg-warning.notice {\n border-left: 4px solid #ffba00;\n}\n\n.wpstg-confirmation-label {\n background-color: #5b9dd9;\n color: #fff;\n padding: 2px;\n border-radius: 3px;\n}\n\n.wpstg-my-6px {\n margin-bottom: 6px;\n margin-top: 6px;\n}\n\n.wpstg-mb-10px {\n margin-bottom: 10px;\n}\n\n.wpstg-clear-both {\n clear: both;\n}\n\n.wpstg-font-italic {\n font-style: italic;\n}\n\n.wpstg-mt-20px {\n margin-top: 20px;\n}\n\n.wpstg-welcome-container {\n border: 2px solid white;\n padding: 20px;\n margin-bottom: 20px;\n}\n\n.wpstg-ml-30px {\n margin-left: 30px;\n}\n\n.wpstg-text-center {\n text-align: center;\n}\n\n.wpstg-feedback-link {\n text-decoration: none;\n}\n\n.wpstg-feedback-span {\n display: block;\n margin-bottom: 3px;\n}\n\n#wpstg-confirm-backup-restore-data {\n margin: 40px;\n text-align: left;\n}\n\n#wpstg-confirm-backup-restore-wrapper {\n margin: 30px;\n margin-top: 0;\n}\n\n#wpstg-confirm-backup-restore-wrapper h3 {\n color: #E01E5A;\n}\n\n#wpstg-progress-db,\n#wpstg-progress-backup {\n background-color: #3fa5ee;\n}\n\n#wpstg-progress-sr,\n#wpstg-progress-files.wpstg-pro {\n background-color: #3c9ee4;\n}\n\n#wpstg-progress-dirs,\n#wpstg-progress-data {\n background-color: #3a96d7;\n}\n\n#wpstg-progress-files:not(.wpstg-pro),\n#wpstg-progress-finishing {\n background-color: #378cc9;\n}\n\n.wpstg-issue-resubmit-confirmation.wpstg--swal2-container,\n.wpstg-swal2-container.wpstg--swal2-container {\n z-index: 10500;\n}\n\n.wpstg-swal2-container.wpstg-swal2-loading .wpstg--swal2-actions,\n.wpstg-swal2-container.wpstg-swal2-loading .wpstg--swal2-header {\n display: none;\n}\n\nbody.toplevel_page_wpstg_backup .wpstg--swal2-container .wpstg--swal2-content,\nbody.toplevel_page_wpstg_clone .wpstg--swal2-container .wpstg--swal2-content {\n z-index: 2;\n}\n\n.toplevel_page_wpstg_clone #swal2-content h2 {\n color: #3e3e3e;\n}\n\n.toplevel_page_wpstg_clone #swal2-content {\n line-height: 1.5em;\n}\n\ndiv#exportUploadsWithoutDatabaseWarning {\n font-style: italic;\n font-size: 0.9rem;\n margin: 10px;\n padding: 10px;\n border: 1px solid #e3e3e3;\n border-radius: 5px;\n text-align: center;\n background-color: #fafafa;\n}\n\n.wpstg-advanced-options-dropdown-wrapper {\n display: none; /* ENABLE WHEN WE HAVE ADVANCED OPTIONS FOR EXPORTING */\n margin-top: 20px;\n}\n\n.wpstg--modal--backup--import--search-replace--wrapper {\n text-align: left;\n margin-top: 20px;\n}\n\n.wpstg--modal--backup--import--search-replace--new--wrapper {\n text-align: center;\n}\n\n.wpstg-import-backup-contains li {\n display: inline-block;\n margin-bottom:0px;\n}\n\n.wpstg-import-backup-contains li .wpstg-backups-contains {\n border-radius: 3px;\n color: #979797;\n background-color: #f4f4f4 !important;\n width: 18px;\n height: 18px;\n font-size: 17px;\n}\n\n.wpstg-import-backup-contains.wpstg-listing-single-backup li .wpstg-backups-contains {\n padding: 2px;\n background-color: white;\n}\n\n.wpstg-import-backup-contains.wpstg-listing-single-backup li .wpstg-backups-contains > .wpstg--dashicons {\n filter: invert(35%);\n}\n\n.wpstg-import-backup-contains .wpstg--tooltiptext {\n width: 80px;\n font-size: 13px;\n padding: 5px;\n left: -25px;\n text-align: center;\n}\n\n.wpstg-import-backup-contains-title {\n display: inline-block;\n}\n\nul.wpstg-import-backup-contains {\n display: inline-block;\n}\n\n.wpstg-import-backup-name {\n display: inline-block;\n font-weight: bold;\n}\n\n.wpstg-backup-more-info-toggle {\n font-size: x-small;\n display: inline-block;\n font-style: italic;\n cursor: pointer;\n}\n\n.wpstg-backup-more-info-toggle::selection {\n background: none;\n}\n\nul.wpstg-import-backup-more-info {\n font-size: 14px;\n text-align: left;\n margin-bottom: 30px;\n margin-top: 10px;\n background-color: #f6f6f6;\n border: 1px solid #878787;\n border-radius: 3px;\n padding: 7px;\n cursor: pointer;\n}\n\nul.wpstg-import-backup-more-info:hover {\n background-color: #def2ff;\n border: 1px solid #25a1f0;\n}\n\nul.wpstg-import-backup-more-info li {\n height: 20px;\n}\n\n.wpstg-backup-list {\n max-width: 800px;\n}\n\n.wpstg-backup-list h3 {\n color:#3e3e3e;\n}\n\n.wpstg-backup-list ul ul {\n margin-block-start: 1em;\n margin-block-end: 1em;\n}\n\n.wpstg-push-confirmation-message {\n text-align: justify;\n font-size: 15px;\n}\n\n.wpstg-settings-row {\n padding-top: 10px;\n padding-bottom: 10px;\n}\n\n.wpstg-settings-title {\n font-weight: 600;\n}\n\n.wpstg-settings-form-group {\n display: flex;\n align-items: center;\n}\n\n.wpstg-settings-form-group > .wpstg-settings-message {\n width: 30%;\n padding: 0;\n margin: 7px 0 0;\n}\n\n/**\n * WP STAGING EXCLUSION RULES TABLE LAYOUT\n */\n\n.wpstg-excluded-filters-container {\n padding: 0;\n margin-top: 10px;\n margin-bottom: 10px;\n max-width: 100%;\n width: 100%;\n}\n\n.wpstg-excluded-filters-container > table {\n width: 100%;\n border-collapse: collapse;\n border-color: transparent;\n}\n\n.wpstg-excluded-filters-container td {\n padding-top: 4px;\n padding-bottom: 4px;\n height: 20px;\n}\n\n.wpstg-excluded-filters-container h4 {\n margin: 0;\n}\n\n.wpstg-exclude-filters-foot {\n display: flex;\n justify-content: flex-start;\n padding: 0;\n}\n\n/**\n * WP STAGING EXCLUSION RULE DROPDOWN STYLE\n */\n\n\n.wpstg-exclude-filter-dropdown > button:hover {\n background: #135e96;;\n border: 1px solid #135e96;;\n}\n\n.wpstg-exclude-filter-dropdown > .wpstg-dropdown-menu {\n width: 128px;\n}\n\n.wpstg-remove-exclude-rule {\n color: #fff !important;\n background-color: #e01e5a;\n border: 1px solid #e01e5a;\n width: 20px;\n height: 20px;\n border-radius: 10px;\n font-size: 24px;\n padding: 0;\n display: inline-flex;\n justify-content: center;\n outline: none;\n box-shadow: none;\n font-weight: 400;\n line-height: 0.7;\n margin-top: 5px;\n cursor: pointer;\n}\n\n.wpstg-remove-exclude-rule:hover {\n background-color: #E01E5A;\n border-color: #E01E5A;\n}\n\n.wpstg-code-block {\n margin-top: 4px;\n font-size: 1.2em;\n background: #f8f8f8;\n border-radius: 2px;\n}\n\n.wpstg-rule-info {\n background: #f8f8f8 !important;\n}\n\ncode.wpstg-code {\n display: inline-block;\n font-size: 11px;\n border: 1px solid #aaa;\n background: #fff;\n padding: 2px 4px;\n margin-bottom: 1px;\n color: #E01E5A;\n}\n\n.wpstg-exclusion-rule-info {\n color: #fff !important;\n background-color: #ffc107;\n border: 1px solid #ffc107;\n width: 14px;\n height: 14px;\n border-radius: 7px;\n font-size: 14px;\n padding: 0;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n outline: none;\n box-shadow: none;\n font-weight: 400;\n vertical-align: middle;\n}\n\n.wpstg-exclusion-rule-info:hover {\n background-color: #ffba0c;\n border: 1px solid #ffba0c;\n}\n\n/**\n * WP STAGING INPUTS EXCLUSION RULES\n */\n\n.wpstg-exclude-rule-input {\n font-size: 12px !important;\n padding: 2px 6px;\n box-shadow: none;\n outline: none !important;\n display: inline-block;\n font-weight: 400;\n line-height: 1.5;\n color: #222;\n border-radius: 0 !important;\n background-color: #fff;\n border: 1px solid #bbb;\n min-height: 24px !important;\n margin-top: 4px;\n margin-left: 4px;\n vertical-align: baseline !important;\n transition: all 0.3s cubic-bezier(.25, .8, .25, 1);\n width: 135px;\n}\n\n.wpstg-excluded-filters-container tbody > tr:last-child .wpstg-exclude-rule-input {\n margin-bottom: 4px;\n}\n\n.wpstg-exclude-rule-input:hover {\n border: 1px solid #999;\n}\n\n.wpstg-exclude-rule-input:focus {\n border: 1px solid #25A0F1 !important;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24) !important;\n}\n\n.wpstg-file-size-exclude-select,\n.wpstg-path-exclude-select {\n width: 135px;\n}\n\n.wpstg-file-size-exclude-select-small {\n width: 52px;\n}\n\n.wpstg-file-size-exclude-input {\n width: 75px;\n}\n\n.wpstg-staging-option-title {\n margin: 15px 0 0;\n}\n\n.wpstg-swal-push-container.wpstg--swal2-container {\n z-index: 9995;\n}\n\n#wpstg-scanning-files {\n padding-bottom: 5px;\n}\n\n#wpstg-scanning-files.wpstg-tab-section, #wpstg-scanning-db.wpstg-tab-section {\n padding-top: 10px;\n}\n\n.wpstg-reset-excludes-container {\n margin: 10px 0;\n}\n\n.wpstg-swal2-ajax-loader {\n width: 100%;\n height: 150px;\n overflow: hidden;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n@keyframes wpstg-loading-icon-anim {\n 0% {\n transform: rotate(0);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n\n.wpstg-swal2-ajax-loader > img {\n width: 64px;\n height: 64px;\n animation: wpstg-loading-icon-anim 1s infinite linear;\n -webkit-animation: wpstg-loading-icon-anim 1s infinite linear;\n}\n\n.wpstg-swal2-container .wpstg-tab-section {\n width: auto !important;\n}\n\n#wpstg-no-staging-site-results {\n margin-top: 10px;\n max-width: 375px;\n}\n\nli#wpstg-backup-no-results {\n max-width: 500px;\n}\n\nli#wpstg-backup-no-results div, #wpstg-no-staging-site-results div {\n display: inline-block;\n text-align: center;\n}\n\nli#wpstg-backup-no-results .wpstg--dashicons, #wpstg-no-staging-site-results .wpstg--dashicons {\n filter: invert(50%);\n position: absolute;\n margin-top: 1px;\n}\n\nli#wpstg-backup-no-results .no-backups-found-text, #wpstg-no-staging-site-results .no-staging-site-found-text {\n color: #5d5d5d;\n margin-left: 20px;\n}\n\n@media only screen and (max-width: 680px) {\n li#wpstg-backup-no-results div, #wpstg-no-staging-site-results div {\n width: 100%;\n }\n}\n\n#wpstg--modal--backup--download-inner p.wpstg-download-modal-text {\n font-size: 16px;\n color: #565656;\n}\n\n#wpstg--modal--backup--download-inner h2 {\n color: #565656;\n}\n\n.wpstg-backup-restore-contains-database,\n.wpstg-backup-restore-contains-files {\n display: none;\n}\n\n.wpstg-green-button {\n background: #8bc34a;\n border: 1px solid #78a93f;\n color: white;\n text-shadow: 0 -1px 1px #78a93f, 1px 0 1px #78a93f, 0 1px 1px #40c921, -1px 0 1px #78a93f;\n}\n\n.wpstg-green-button:hover {\n background: #78a93f;\n}\n\n.wpstg-is-dir-loading {\n position: absolute;\n margin-top: -2px;\n margin-left: 8px;\n display: none;\n}\n\n.wpstg-ml-8px {\n margin-left: 8px;\n}\n\n.wpstg-mb-8px {\n margin-bottom: 8px;\n}\n\n\n.wpstg-btn-danger {\n background-color: #E01E5A;\n border: 1px solid #E01E5A;\n color: white;\n text-shadow: none;\n}\n\n.wpstg-btn-danger:hover {\n background: #c0194d;\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);\n}\n\n.wpstg-swal2-container.wpstg-swal2-loading > .wpstg--swal2-modal {\n height: 200px;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container:not(.wpstg-swal2-loading) > .wpstg--swal2-modal {\n max-width: 480px;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container .wpstg--swal2-header {\n display: none;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container .wpstg--swal2-content {\n height: auto;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container > .wpstg--swal2-modal > .wpstg--swal2-content .wpstg-tabs-wrapper {\n overflow-y: auto;\n height: auto !important;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container > .wpstg--swal2-modal > .wpstg--swal2-content {\n font-size: 13px;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container > .wpstg--swal2-modal > .wpstg--swal2-content .wpstg-dir {\n margin-bottom: 4px;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container > .wpstg--swal2-modal > .wpstg--swal2-content .wpstg-subdir {\n margin-top: 4px;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container.has-collapsible-open .wpstg--swal2-modal {\n height: calc(100vh - 70px);\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container.has-collapsible-open > .wpstg--swal2-modal > .wpstg--swal2-content .wpstg-tabs-wrapper {\n height: calc(100vh - 350px) !important;\n}\n\n.wpstg--swal2-actions.wpstg--modal--actions > button {\n margin-left: 4px;\n margin-right: 4px;\n text-transform: uppercase;\n text-shadow: initial;\n font-weight: 500;\n min-width: 80px;\n}\n\n.wpstg-swal-popup {\n max-width: 1200px !important;\n}\n\n.wpstg-swal-popup.wpstg-push-finished .wpstg--swal2-title {\n color: #a8a8a8;\n}\n\n.wpstg-swal-popup.wpstg-push-finished .wpstg--swal2-content {\n margin-top: 8px;\n color: #a8a8a8;\n}\n\n.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step.wpstg--swal2-active-progress-step,\n.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step,\n.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step-line {\n background: #25a1f0;\n}\n\n.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step-line {\n width: 2.75em;\n}\n\n.wpstg--dashicons {\n width: 16px;\n height: 16px;\n}\n\n.wpstg--dashicons.wpstg-dashicons-grey {\n filter: invert(20%);\n}\n\n.wpstg--dashicons.wpstg-dashicons-19 {\n width: 19px;\n height: 19px;\n}\n\n.wpstg--dashicons.wpstg-dashicons-21 {\n width: 21px;\n height: 21px;\n}\n\n#wpstg--tab--backup #wpstg-step-1 {\n display: flex;\n align-items: center;\n}\n\n.wpstg-advanced-options .wpstg--tooltip,\n#wpstg--tab--backup #wpstg-step-1 .wpstg--tooltip {\n border-bottom: 0 solid transparent;\n display: inline-flex;\n align-items: center;\n}\n\n.wpstg-advanced-options-site .wpstg--tooltip img.wpstg--dashicons {\n filter: invert(17%) sepia(0%) saturate(1%) hue-rotate(195deg) brightness(97%) contrast(77%);\n}\n\n#wpstg--tab--backup #wpstg-step-1 .wpstg--tooltip {\n border-bottom: 0 solid transparent;\n display: flex;\n align-items: center;\n}\n\n.wpstg--tooltip .wpstg--tooltiptext-backups::after {\n left: calc(20% + 2px);\n}\n\n.wpstg-listing-single-backup .wpstg--dashicons {\n width: 17px;\n height: 17px;\n}\n\n.wpstg-100-width {\n width: 100px;\n}\n\n.wpstg-caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: 4px solid;\n border-right: 4px solid transparent;\n border-left: 4px solid transparent;\n transition: transform 0.2s;\n cursor: pointer;\n}\n\n.wpstg-caret.wpstg-caret-up {\n transform: rotate(-180deg);\n}\n\n.wpstg-advanced-options-site label {\n font-size: 16px;\n display: block;\n margin: .5em 0;\n}\n\n#wpstg-confirm-backup-restore-data {\n font-size: 18px;\n margin: 0;\n margin-top: 30px;\n}\n\n/* Sweetalert WP STAGING Theme */\n\nbody.toplevel_page_wpstg_backup .wpstg--swal2-container.wpstg--swal2-backdrop-show,\nbody.toplevel_page_wpstg_clone .wpstg--swal2-container.wpstg--swal2-backdrop-show {\n background: rgba(0, 0, 0, .6);\n z-index: 9995;\n}\n\n.wpstg-swal-popup.wpstg--swal2-popup {\n border-radius: 8px;\n z-index: 9999;\n padding: 24px;\n color: #3e3e3e;\n font-family: Verdana, Geneva, Tahoma, sans-serif;\n}\n\n.wpstg-swal-popup .wpstg--swal2-title {\n font-size: 22px;\n color: #3e3e3e;\n}\n\n.wpstg-swal-popup.wpstg--swal2-popup:not(.centered-modal) .wpstg--swal2-title {\n align-self: flex-start; /* For an actual Swal title */\n text-align: left; /* Manually adding this class to a non flex display */\n margin-bottom: 0;\n}\n\n.wpstg-swal-popup .wpstg--swal2-close {\n top: 8px;\n right: 8px;\n z-index: 5;\n}\n\n.wpstg-swal-popup .wpstg--swal2-close:focus {\n outline: none;\n}\n\n.wpstg-swal-popup.wpstg--swal2-popup:not(.centered-modal) .wpstg--swal2-actions {\n justify-content: flex-end;\n}\n\n.wpstg-swal-popup .wpstg--swal2-actions > button {\n border-radius: 4px;\n font-weight: 900;\n border: 0;\n font-size: 15px;\n padding: 10px 12px;\n text-transform: capitalize;\n line-height: normal;\n height: 40px;\n min-width: 100px;\n text-shadow: none;\n}\n\n.wpstg-swal-popup.wpstg--swal2-popup:not(.centered-modal) .wpstg--swal2-actions > button {\n margin-left: 8px;\n}\n\n.wpstg-swal-popup .wpstg--swal2-actions > button.wpstg--swal2-cancel {\n border: 1px solid rgba(29, 28, 29, 0.3);\n background: #fff;\n color: rgb(29, 28, 29);\n font-weight: 500;\n width: 100px;\n text-shadow: none;\n}\n\n.wpstg-swal-popup .wpstg--swal2-actions > button:hover {\n box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .1);\n}\n\n.wpstg-swal-popup .wpstg--swal2-actions > button.wpstg--swal2-cancel:hover {\n background: rgba(28, 29, 28, .04);\n}\n\n#wpstg-backup-name-input {\n height: 44px;\n font-size: 18px;\n}\n\n.wpstg-restore-finished-container .wpstg--swal2-title {\n color: #565656 !important;\n}\n\n/*#wpstg-restore-success {\n color: #565656;\n}*/\n\n.wpstg-restore-finished-container .wpstg--swal2-content {\n margin-top: 20px;\n color: #a8a8a8;\n}\n\n/* WP Staging Implementation of Windows Style Linear Loader */\n\n.wpstg-linear-loader > span[class*=\"wpstg-linear-loader-item\"] {\n height: 6px;\n width: 6px;\n background: #333;\n display: inline-block;\n margin: 12px 2px;\n border-radius: 100%;\n animation: wpstg_linear_loader 3s infinite;\n animation-timing-function: cubic-bezier(0.030, 0.615, 0.995, 0.415);\n animation-fill-mode: both;\n}\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(1) {\n animation-delay: 1s;\n}\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(2) {\n animation-delay: 0.8s;\n}\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(3) {\n animation-delay: 0.6s;\n}\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(4) {\n animation-delay: 0.4s;\n}\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(5) {\n animation-delay: 0.2s;\n}\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(6) {\n animation-delay: 0s;\n}\n\n@keyframes wpstg_linear_loader {\n 0% {\n transform: translateX(-30px);\n opacity: 0;\n }\n 25% {\n opacity: 1;\n }\n 50% {\n transform: translateX(30px);\n opacity: 0;\n }\n 100% {\n opacity: 0;\n }\n}\n\n/* END - Windows Style Linear Loader */\n\n.wpstg--modal--backup--import--upload--content {\n padding: .75em;\n margin: 1em auto;\n}\n\n.wpstg--modal--backup--import--upload--content .wpstg-linear-loader {\n display: none;\n}\n\n#wpstg-multisite-disabled .wpstg-clone {\n width: 355px;\n}\n\n#wpstg-free-version-backups .wpstg-clone p {\n font-size: 16px;\n}\n\n.wpstg-staging-info li .backup-notes {\n word-break: break-word;\n}\n\n.wpstg--modal--import--upload--progress--title small {\n font-weight: normal;\n}\n\n#wpstg-report-issue-wrapper {\n position: relative;\n}\n\n#wpstg-report-issue-wrapper .arrow-up {\n width: 0;\n height: 0;\n border-left: 8px solid transparent;\n border-right: 8px solid transparent;\n border-bottom: 8px solid white;\n position: absolute;\n top: -8px;\n right: 40px;\n}\n\n.notice {\n margin: 10px 20px 0 2px;\n}\n\n.wpstg--notice {\n box-shadow: 0 1px 1px rgba(0, 0, 0, .04);\n margin: 20px 20px 20px 0px;\n padding: 1px 12px;\n}\n\n.wpstg--error a:hover {\n color: #eeeeee;\n}\n\n.wpstg--error, .wpstg--error a {\n background: #E01E5A;\n color: white;\n}\n\n/**\n * Buttons\n */\n\n.wpstg-button {\n display: inline-block;\n border-radius: 2px;\n cursor: pointer;\n padding: 2px 10px 2px 10px;\n text-transform: uppercase;\n font-weight: 500;\n outline: 0;\n transition: background-color .1s ease-in;\n text-decoration: none;\n}\n\n.wpstg-button.wpstg-save {\n background-color: #1687A7;\n color: white;\n}\n\n.wpstg-button.wpstg-save:hover {\n background-color: #276678;\n}\n\n\n.wpstg-button.wpstg-button-light {\n background-color: #f8f8f8;\n border: 1px solid #eee;\n color: #333;\n animation: background-color 0.3s;\n}\n\n.wpstg-button.wpstg-button-light:hover {\n background-color: #e0e0e0;\n border: 1px solid #e0e0e0;\n}\n\n.wpstg-buttons .spinner {\n float: none;\n margin: 0 0 0 5px;\n}\n\n.wpstg-button.danger {\n display: inline-block;\n text-decoration: none;\n text-align: center;\n text-transform: inherit;\n background-color: #E01E5A;\n color: white;\n border-radius: 2px;\n border-color: transparent;\n}\n\n.wpstg-button.danger:hover {\n background-color: #c0194d;\n}\n\n.wpstg-button--big {\n display: inline-block;\n padding: 10px;\n min-width: 170px;\n font-size: 16px;\n text-decoration: none;\n text-align: center;\n margin-top: 20px;\n color: white;\n border-radius: 3px;\n}\n\n.wpstg-button--primary {\n display: inline-block;\n text-decoration: none;\n font-size: 13px;\n line-height: 2.15384615;\n min-height: 30px;\n margin: 0;\n padding: 0 10px;\n cursor: pointer;\n border: 1px solid rgba(29, 28, 29, 0.3);\n -webkit-appearance: none;\n border-radius: 2px;\n white-space: nowrap;\n box-sizing: border-box;\n color: #171717;\n}\n\n.wpstg-button--primary:hover {\n background: rgba(28, 29, 28, .04);\n color: black;\n}\n\n.wpstg-button--secondary {\n display: inline-block;\n background-color: transparent;\n color: #95a5a6;\n border-radius: 2px;\n border: 1px solid rgba(29, 28, 29, 0.3);\n cursor: pointer;\n padding: 4px 10px 2px 10px;\n font-weight: 500;\n outline: 0;\n transition: background-color .1s ease-in;\n text-decoration: none;\n}\n\n.wpstg-button--red {\n background-color: #E01E5A;\n border-color: #E01E5A;\n color: white;\n}\n\n.wpstg-button--red:hover {\n background-color: #d02358;\n border-color: #e0255f;\n color: white;\n}\n\n.wpstg-button--cta-red {\n background-color: #fe008f;\n border-color: #E01E5A;\n color: white;\n}\n\n.wpstg-button--cta-red:hover {\n background-color: #f31391;\n border-color: #e0255f;\n color: white;\n}\n\n.wpstg-button--blue {\n background-color: #25A0F1;\n border-color: #25A0F1;\n color: white;\n}\n\n.wpstg-button--blue:hover {\n background-color: #259be6;\n border-color: #259be6;\n color: white;\n}\n\n#wpstg-button-backup-upgrade {\n font-size: 16px;\n width:150px;\n text-align: center;\n}\n\n.wpstg-staging-status {\n color: #E01E5A;\n}\n\n#wpstg-push-changes,\n#wpstg-start-updating,\n#wpstg-save-clone-data {\n margin-left: 5px;\n}\n\ninput.wpstg-textbox {\n border: 1px solid #aaa;\n border-radius: .25rem;\n padding: 0.25rem 0.5rem;\n font-size: 14px;\n}\n\ninput.wpstg-textbox:focus {\n outline: 0;\n border-color: #259be6;\n -webkit-box-shadow: 0 0 0 0.1rem rgba(221, 221, 221, .35);\n box-shadow: 0 0 0 0.1rem rgba(221, 221, 221, .35);\n}\n\ninput.wpstg-textbox::placeholder {\n color: #888;\n}\n\n.wpstg--advance-settings--checkbox {\n display: flex;\n align-items: center;\n}\n\n.wpstg--advance-settings--checkbox > label {\n font-size: 14px;\n font-weight: bolder;\n width: 165px;\n display: inline-block;\n}\n\n.wpstg--advance-settings--checkbox > .wpstg--tooltip {\n margin-top: 5px;\n margin-left: 5px;\n position: relative;\n display: inline-block;\n border-bottom: 0px solid transparent;\n}\n\n.wpstg--advance-settings--checkbox > .wpstg--tooltip > .wpstg--tooltiptext {\n top: 18px;\n left: -150px;\n}\n\n\ndiv#wpstg-restore-wait {\n display: none;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n text-align: center;\n height: 100vh;\n width: 100vw;\n position: fixed;\n top: 0;\n left: 0;\n background: white;\n z-index: 99999;\n}\n\ndiv#wpstg-restore-wait .wpstg-title {\n font-weight: bold;\n}\n\ndiv#wpstg-restore-wait div {\n font-size: 16px;\n margin-top: 12px;\n}\n\n.resumable-browse {\n cursor: pointer;\n}\n\n.resumable-browse a {\n text-decoration: underline;\n}\n\n.wpstg-upload-text {\n font-weight: 600;\n}\n\n.wpstg--modal--backup--import--upload--container.dragover {\n transition: background-color 0.7s;\n background-color: #94dc96;\n color: #FFF;\n}\n\n.wpstg--modal--backup--import--upload--container.dragover * {\n pointer-events: none; /* Avoids flickering when dragging to drop a file */\n}\n\n.wpstg--modal--backup--import--upload--container.dragover .wpstg-upload-text {\n display: none;\n}\n\n.wpstg--modal--backup--import--upload--container.dragover .wpstg-dragover-text {\n display: block;\n}\n\n.wpstg--modal--backup--import--upload--container .wpstg-dragover-text {\n display: none;\n}\n\n#wpstg-invalid-license-message, #wpstg-invalid-license-message a {\n font-weight: 500;\n color: #E01E5A;\n margin-left: 6px;\n}\n\n#wpstg-sidebar--banner {\n max-width: 200px;\n}\n\n@media screen and (max-width: 1234px) {\n .wpstg-h2 {\n font-size: 24px;\n }\n\n #wpstg-welcome li {\n font-size: 14px;\n }\n}\n\n.wpstg-exclamation {\n color: #ffffff;\n border-radius: 100%;\n background-color: #E01E5A;\n width: 20px;\n height: 20px;\n text-align: center;\n font-weight: bold;\n display: inline-block;\n margin: 6px;\n}\n\n.wpstg--tab--contents {\n padding-top: 1px;\n}\n\n.wpstg-swal-show.wpstg--swal2-show {\n -webkit-animation: wpstg-swal-show 0.2s !important;\n animation: wpstg-swal-show 0.2s !important;\n}\n\n@-webkit-keyframes wpstg-swal-show {\n 0% {\n transform: scale(0.3);\n }\n 100% {\n transform: scale(1);\n }\n}\n\n@keyframes wpstg-swal-show {\n 0% {\n transform: scale(0.3);\n }\n 100% {\n transform: scale(1);\n }\n}\n\n.wpstg-tab-item--vert-center {\n display: flex;\n align-items: center;\n}\n\n.wpstg-db-comparison-modal {\n padding-left: 10px;\n padding-right: 10px;\n}\n\n.wpstg-db-comparison-table {\n font-size: 13px;\n width: 100%;\n}\n\n.wpstg-db-comparison-table tbody td {\n padding-top: 6px;\n}\n\n.wpstg-db-comparison-table tr > td:first-child,\n.wpstg-db-comparison-table tr > th:first-child {\n text-align: left;\n}\n\n.wpstg-css-tick {\n display: inline-block;\n transform: rotate(45deg);\n height: 12px;\n width: 6px;\n border-bottom: 3px solid #78b13f;\n border-right: 3px solid #78b13f;\n}\n\n.wpstg-css-cross {\n position: relative;\n top: -8px;\n left: -2px;\n width: 16px;\n height: 16px;\n}\n\n.wpstg-css-cross:before, .wpstg-css-cross:after {\n position: absolute;\n content: ' ';\n height: 17px;\n width: 3px;\n background-color: #E01E5A;\n}\n\n.wpstg-css-cross:before {\n transform: rotate(45deg);\n}\n\n.wpstg-css-cross:after {\n transform: rotate(-45deg);\n}\n\n.wpstg-selection-preview {\n font-size: 12px;\n margin-left: 20px;\n color: #3216;\n}\n\n.wpstg-selection-preview.danger {\n color: #E01E5A;\n}\n\n.wpstg--backup-automated {\n margin-bottom: -5px;\n}\n\n.wpstg--dismiss-schedule {\n cursor: pointer;\n}\n\n.wpstg-import-backup-contains.wpstg-listing-single-backup {\n vertical-align: middle;\n}\n\n.wpstg-import-backup-contains.wpstg-listing-single-backup li {\n padding:2px;\n}\n\n.wpstg--modal--backup--manage--schedules--content table {\n margin: 0 auto;\n width: 100%;\n}\n\n.wpstg--modal--backup--manage--schedules--title {\n text-align: left;\n margin-bottom: 10px;\n margin-top: 0px;\n}\n\n.wpstg--modal--backup--import--upload--title {\n text-align: center;\n}\n\n#wpstg--modal--backup--manage--schedules--content {\n text-align: left;\n}\n\n#wpstg--modal--backup--manage--schedules--content thead {\n font-weight: bold;\n}\n\n#wpstg--modal--backup--manage--schedules--content .wpstg--tooltip.wpstg--dismiss-schedule {\n border-bottom: none;\n}\n\n.wpstg--tooltip.wpstg--dismiss-schedule img.wpstg--dashicons {\n filter: invert(18%) sepia(57%) saturate(6238%) hue-rotate(332deg) brightness(93%) contrast(88%);\n}\n\n#wpstg--modal--backup--manage--schedules--content td {\n padding-right: 25px;\n padding-top: 10px;\n}\n\n#wpstg--modal--backup--manage--schedules--content td:last-child {\n padding-right: 0px;\n}\n\n#wpstg--modal--backup--manage--schedules--content ul {\n margin-top: 0;\n margin-bottom: 0;\n}\n\n#wpstg--modal--backup--manage--schedules--content ul li:first-child .wpstg--tooltip {\n margin-left:0;\n}\n\n.wpstg-button:disabled {\n background-color: #dddddd;\n text-shadow: none;\n color: #b3b3b3;\n border: 1px solid #cfcfcf;\n cursor: not-allowed;\n}\n\n#wpstg-backup-runs-info {\n margin: 0px;\n margin-top: 20px;\n padding:0px;\n font-size:12px;\n}\n\n#wpstg-backup-runs-info li {\n margin: 0px;\n}\n\ndiv#wpstg-backup-locked {\n width: 100%;\n max-width: calc(800px - 30px);\n padding: 15px;\n background: white;\n margin-bottom: 10px;\n display: flex;\n align-items: center;\n}\n\n#wpstg-backup-locked .icon {\n display: inline-block;\n height: 20px;\n}\n\n#wpstg-backup-locked .icon img {\n animation: wpstg-loading-icon-anim 2s infinite;;\n}\n\n#wpstg-backup-locked .text {\n display: inline-block;\n margin-left: 15px;\n}\n\n#backup-schedule-current-time {\n font-size: 12px;\n}\n\n.wpstg-backup-scheduling-options label {\n margin-top:17px;\n}\n\n.wpstg-backup-scheduling-options .wpstg-storage-option {\n display: block;\n margin: .5em 0;\n font-size: 15px;\n}\n\n.wpstg-storage-option>span:not(.wpstg-storage-settings) {\n width: 150px;\n display: inline-block;\n}\n\n.wpstg-storages-postbox {\n padding: 13px 16px;\n margin-top: 8px;\n margin-bottom: 8px;\n background-color: white;\n}\n\n.wpstg-storages-postbox a {\n padding: 8px;\n margin-right: 8px;\n text-decoration: none;\n font-weight: bold;\n color: #3c434a;\n}\n\n.wpstg-storages-postbox a:hover {\n color: #b70b72;\n}\n\n.wpstg-storage-postbox {\n padding: 4px 16px;\n background-color: white;\n}\n\n.wpstg-storages-postbox a.wpstg-storage-provider-active {\n background: #b70b72;\n color: white;\n font-weight: 700;\n cursor: default;\n border-radius:3px;\n}\n\n.wpstg-storages-postbox a.wpstg-storage-provider-active:hover {\n background: #a10a64;\n}\n\n.wpstg-storages-postbox a.wpstg-storage-provider-disabled {\n color: #999;\n cursor: not-allowed;\n}\n\n.wpstg-provider-revoke-form {\n display: inline;\n margin-top: 12px;\n margin-bottom: 12px;\n}\n\n.wpstg-provider-settings-form {\n margin-top: 10px;\n}\n\n.wpstg-provider-settings-form strong {\n display: block;\n margin: 8px 0;\n}\n\n.wpstg-provider-settings-form p {\n margin: 0;\n margin-bottom: 8px;\n}\n\n.wpstg-provider-settings-form fieldset {\n margin: 0;\n padding: 0;\n margin-bottom: 16px;\n}\n\n.wpstg-provider-settings-form fieldset p {\n margin: 0;\n padding: 5px;\n font-size: 12px;\n}\n\n.wpstg-provider-settings-form fieldset label {\n display: block;\n margin-bottom: 2px;\n}\n\n.wpstg-provider-settings-form fieldset input {\n font-size: 12px;\n}\n\n.wpstg-provider-settings-form .wpstg-link-btn.wpstg-blue-primary {\n text-shadow: none;\n}\n\n.wpstg-btn-google {\n font-family: Roboto;\n display: inline-flex;\n align-items: center;\n border-width: 0;\n outline: none;\n border-radius: 3px;\n box-shadow: 0 1px 3px rgba(0, 0, 0, .6);\n color: #555;\n transition: background-color .3s;\n padding: 8px;\n padding-right: 16px;\n height: 40px;\n line-height: 40px;\n font-size: 14px;\n box-sizing: border-box;\n text-decoration: none;\n font-weight: bold;\n margin-right: 10px;\n}\n\n.wpstg-btn-google img {\n width: 18px;\n height: 18px;\n margin-right: 12px;\n margin-left:5px;\n}\n\n#wpstg-custom-google-credentials {\n margin-top: 20px;\n}\n\n.wpstg-fieldset .wpstg-with-icon {\n display: inline-flex;\n align-items: center; \n}\n\n.wpstg-fieldset .wpstg-with-icon .wpstg-fieldset-icon {\n margin-left: 8px;\n}\n\n.wpstg-fieldset .wpstg-with-icon .wpstg-fieldset-icon img {\n width: 16px;\n height: 16px;\n}\n\n#wpstg-btn-provider-revoke {\n border-radius: 2px;\n}\n\n.wpstg-metabox-holder{\n border-radius: 8px;\n background: #fff;\n padding: 20px;\n margin-left: 16px;\n min-height: 600px;\n margin-right: 32px;\n margin-top: 60px;\n -webkit-box-shadow: 0 0 1px rgb(0 0 0 / 13%), 0 1px 3px rgb(0 0 0 / 10%);\n box-shadow: 0 0 1px rgb(0 0 0 / 13%), 0 1px 3px rgb(0 0 0 / 10%);\n}\n\n@media only screen and (max-width: 680px) {\n .wpstg-metabox-holder {\n padding: 0px;\n padding-top: 5px;\n margin-left: 0;\n margin-right: 5px;\n }\n\n #wpstg-tab-container .wpstg-settings-panel {\n padding: 0;\n overflow: auto;\n }\n\n .wpstg-form-table td:first-child {\n width: 50%;\n }\n}\n\n.wpstg-nav-tab {\n float: left;\n border: 1px solid #ffffff;\n border-bottom: none;\n margin-left: 0.5em;\n padding: 5px 10px;\n font-size: 14px;\n line-height: 1.71428571;\n font-weight: 600;\n background: #dcdcde;\n color: #3c434a;\n text-decoration: none;\n white-space: nowrap;\n}\n\n.wpstg-nav-tab-active, .wpstg-nav-tab-active:focus, .wpstg-nav-tab-active:focus:active, .wpstg-nav-tab-active:hover {\n border-bottom: 1px solid #f0f0f1;\n background: #f3f5f7;\n color: #b70b72;\n -webkit-box-shadow: -4px -13px 14px -12px rgb(0 0 0 / 16%);\n box-shadow: -4px -13px 14px -12px rgb(0 0 0 / 16%);\n}\n\n.wpstg-nav-tab-active {\n margin-bottom: -1px;\n}\n\n.wpstg-nav-tab-wrapper {\n /*\n border-bottom: 1px solid #c3c4c7;\n */\n margin: 0;\n padding-top: 9px;\n padding-bottom: 0;\n line-height: inherit;\n}\n\n.wpstg-nav-tab-wrapper li{\n margin-bottom: 0px;\n}\n\n#wpstg--js--translations {\n text-decoration: underline;\n}\n"]}
1
+ {"version":3,"sources":["wpstg-admin.scss"],"names":[],"mappings":"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","file":"wpstg-admin.css","sourcesContent":["@charset \"UTF-8\";\n/**\n * WPSTG Admin CSS\n *\n * @package WPSTG\n * @subpackage Admin CSS\n * @copyright Copyright (c) 2021, René Hermenau\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\n*/\n/* vars */\n:root {\n --wpstg-color-warning: #ffb804;\n --wpstg-color-info: #24a1f0; }\n\n/* IMPORTS */\n.wpstg-badge {\n background: #f8f9fa;\n color: #333;\n border-radius: 3px;\n font-size: 12px;\n padding: 4px 8px; }\n .wpstg-badge.wpstg-badge-warning {\n background: var(--wpstg-color-warning);\n color: #fff; }\n .wpstg-badge.wpstg-badge-info {\n background: var(--wpstg-color-info);\n color: #fff; }\n\n/* Font Faces */\n/* roboto-regular - latin */\n@font-face {\n font-family: 'Roboto';\n font-style: normal;\n font-weight: 400;\n src: url(\"../../fonts/roboto-v29-latin-regular.eot\");\n /* IE9 Compat Modes */\n src: local(\"\"), url(\"../../fonts/roboto-v29-latin-regular.eot?#iefix\") format(\"embedded-opentype\"), url(\"../../fonts/roboto-v29-latin-regular.woff2\") format(\"woff2\"), url(\"../../fonts/roboto-v29-latin-regular.woff\") format(\"woff\"), url(\"../../fonts/roboto-v29-latin-regular.ttf\") format(\"truetype\"), url(\"../../fonts/roboto-v29-latin-regular.svg#Roboto\") format(\"svg\");\n /* Legacy iOS */ }\n\n/* Colors */\n.wpstg--violet {\n color: #9d37ae; }\n\n.wpstg-border--violet {\n border: 1px solid #9d37ae; }\n\n.wpstg--red {\n color: #E01E5A; }\n\n.wpstg-cta--red {\n color: #fe008f; }\n\n.wpstg--blue {\n color: #24a1f0; }\n\n.wpstg--darkblue {\n color: #0e86d9; }\n\n.wpstg--green {\n color: #83c11f; }\n\n.wpstg--grey {\n color: #3e3e3e; }\n\n.wpstg--darkgrey {\n color: #1b1b1b; }\n\n.wpstg--filter--svg {\n filter: invert(24%) sepia(11%) saturate(558%) hue-rotate(169deg) brightness(97%) contrast(91%); }\n\n/* CSS for Tabs */\nbody.wp-staging-pro_page_wpstg_backup,\nbody.toplevel_page_wpstg_clone,\nbody.wp-staging-pro_page_wpstg-settings,\nbody.wp-staging-pro_page_wpstg-tools,\nbody.wp-staging-pro_page_wpstg-license {\n background-color: #f3f5f7; }\n\n#wpstg-tab-container ul {\n list-style: none;\n margin: 0;\n padding: 0;\n background: #f1f1f1;\n float: left; }\n\n#wpstg-tab-container ul li:first-child.selected-tab {\n border-top: none; }\n\n#wpstg-tab-container ul li a.selected-tab {\n font-weight: bold;\n text-decoration: none; }\n\n#wpstg-tab-container .row {\n padding-top: 10px;\n padding-bottom: 12px; }\n\n.wpstg-tabs-container .nav-tab-wrapper {\n padding: 0; }\n\n#wpstg-tab-container .row label strong,\n#wpstg-tab-container .row strong {\n font-weight: bold; }\n\n.wpstg-tabs a {\n padding: 5px; }\n\n#wpstg-tab-container > ul > li.wpstg-tabs.active {\n background-color: white; }\n\n#wpstg_settingsgeneral_header .row:nth-child(3),\n#wpstg_settingsgeneral_header .row:nth-child(4) {\n display: none; }\n\n#wpstg-tab-container .wpstg-settings-panel {\n padding: 0 20px 20px 20px;\n overflow: auto; }\n\n#wpstg-tab-container .wpstg-form-table th {\n vertical-align: top;\n text-align: left;\n padding: 20px 10px 20px 0;\n line-height: 1.3;\n font-weight: bold;\n font-size: 14px;\n color: #484848;\n width: 30%; }\n\n#wpstg-tab-container .wpstg-form-table tr {\n border-bottom: 1px solid #E7E7E7; }\n\n#wpstg-tab-container span.description {\n display: block;\n font-weight: 400;\n font-style: normal;\n font-size: 13px;\n margin-top: 7px;\n color: #484848; }\n\n#wpstg-tab-container .col-title {\n color: #484848; }\n\n@media only screen and (max-width: 680px) {\n #wpstg-tab-container ul {\n float: none; }\n #wpstg-tab-container .wpstg-form-table tr > th {\n width: 100%; }\n #wpstg-tab-container span.description {\n font-size: 14px; }\n #wpstg-tab-container .wpstg-form-table tr > th,\n #wpstg-tab-container .wpstg-form-table tr > td {\n padding: 10px; } }\n\n#wpstg-tab-container ul li {\n margin-bottom: 0; }\n\n#wpstg-tab-container ul li a {\n display: block;\n padding: 10px 4px 10px 14px;\n border-width: 1px 0;\n border-style: solid;\n border-top-color: white;\n border-bottom-color: #e7e7e7;\n text-decoration: none;\n color: #0097DF;\n font-weight: bold; }\n\n#wpstg-tab-container ul li a:hover {\n background-color: #e5e5e5;\n color: #777777; }\n\n.wpstg-logo {\n display: block;\n font-size: 16px;\n padding-top: 20px;\n width: 220px;\n float: left; }\n\n.wpstg-logo img {\n max-width: 212px; }\n\n.wpstg-version {\n display: block;\n padding-top: 40px;\n color: #9b9b9b; }\n\n.wpstg_admin .nav-tab {\n color: #3C3C3C; }\n\n#wpstg-tab-container table tbody tr:nth-child(1) > th > div {\n font-size: 20px; }\n\n/* Cloning workflow */\n#wpstg-clonepage-wrapper {\n margin-bottom: 20px;\n width: 98%; }\n\n@media screen and (min-width: 1090px) {\n #wpstg-clonepage-wrapper {\n float: left;\n margin-bottom: 20px; } }\n\n#wpstg-steps {\n margin-top: 0px;\n margin-left: 20px; }\n\n#wpstg-steps li {\n color: #444;\n line-height: 20px;\n padding-right: 10px;\n float: left; }\n\n.wpstg-step-num {\n border: 1px solid #3e3e3e;\n border-radius: 3px;\n display: inline-block;\n width: 20px;\n height: 20px;\n text-align: center;\n margin-right: 5px; }\n\n.wpstg-current-step {\n font-weight: bold; }\n\n.wpstg-current-step .wpstg-step-num {\n background: #3e3e3e;\n color: #eee; }\n\n.wpstg-box {\n margin: 10px 0;\n padding: 10px;\n position: relative;\n overflow: hidden;\n transition: border-color .2s ease-in-out; }\n\n.wpstg-clone {\n margin-bottom: 10px;\n padding: 16px;\n position: relative;\n transition: border-color .2s ease-in-out;\n background-color: #ffffff;\n color: #3e3e3e;\n border-radius: 3px;\n box-shadow: 0 0 1px rgba(0, 0, 0, 0.125), 0 1px 3px rgba(0, 0, 0, 0.1); }\n\n.wpstg-clone.active {\n border-color: #1d94cf; }\n\n.wpstg-clone-header {\n display: flex;\n align-items: center; }\n\n.wpstg-clone-title {\n display: inline-block;\n margin-right: 8px;\n font-size: 15px;\n max-width: 300px;\n text-decoration: none;\n font-weight: bold;\n color: #3e3e3e; }\n\n.wpstg-clone-title:hover {\n color: #111111; }\n\n.wpstg-clone-labels {\n display: inline-block; }\n\n.wpstg-clone-labels .wpstg-clone-label {\n display: inline-block;\n padding: 1px 4px;\n margin-right: 4px;\n font-size: 11px;\n border-radius: 3px;\n background: #8bc34a;\n color: #fff; }\n\n.wpstg-clone-actions {\n margin-left: auto;\n display: flex;\n margin-top: 5px; }\n\n.wpstg-dropdown {\n position: relative; }\n\n.wpstg-clone-actions .wpstg-dropdown-toggler {\n text-decoration: none;\n background: #25a1f0;\n padding: 6px 10px;\n border-radius: 2px;\n font-size: 14px;\n box-shadow: 0 0 1px rgba(0, 0, 0, 0.125), 0 1px 3px rgba(0, 0, 0, 0.2);\n color: #ffffff; }\n\n.wpstg-clone-actions .wpstg-dropdown-toggler:hover {\n background: #002648;\n color: white; }\n\n.wpstg-dropdown {\n position: relative; }\n\n.wpstg-dropdown > .wpstg-dropdown-menu {\n background: #fff;\n display: none;\n flex-direction: column;\n position: absolute;\n right: 0;\n top: calc(100% + 4px);\n padding: 8px;\n border-radius: 2px;\n width: 100px;\n box-shadow: 0 0 1px rgba(0, 0, 0, 0.125), 0 1px 3px rgba(0, 0, 0, 0.2);\n z-index: 1000; }\n\n.wpstg-dropdown > .wpstg-dropdown-menu.wpstg-menu-dropup {\n top: auto;\n bottom: 100%;\n transform: translate3d(0px, -3px, 0px); }\n\n.wpstg-dropdown > .wpstg-dropdown-menu.shown {\n display: flex; }\n\n.wpstg-clone-action,\n.wpstg-dropdown-action {\n color: #3e3e3e;\n padding: 6px 8px;\n border-radius: 3px;\n text-decoration: none;\n position: relative;\n transition: color .2s ease-in-out;\n border-bottom: 1px solid #f3f3f3; }\n\n.wpstg-clone-action:hover,\n.wpstg-dropdown-action:hover {\n background: rgba(0, 0, 0, 0.05); }\n\n.wpstg-dropdown-action {\n color: #3e3e3e;\n background: transparent;\n border: 0 solid black;\n outline: none;\n box-shadow: none; }\n\n.wpstg-remove-clone:hover {\n color: #E01E5A; }\n\n.wpstg-clone-action:last-child {\n border: none; }\n\n.wpstg-clone:hover .wpstg-clone-action {\n display: inline-block; }\n\n#wpstg-show-error-details:focus,\n#wpstg-workflow .wpstg-clone-action {\n outline: none;\n box-shadow: none; }\n\n.wpstg-link-btn {\n background: #45a1c9;\n color: #fff;\n display: inline-block;\n padding: 5px 10px;\n text-decoration: none;\n vertical-align: baseline;\n transition: all .2s ease-in-out; }\n\n.wpstg-link-btn:hover,\n.wpstg-link-btn:focus {\n color: #fff;\n outline: none;\n box-shadow: none; }\n\n#wpstg-workflow .wpstg-link-btn:active {\n vertical-align: baseline; }\n\n.wpstg-link-btn[disabled] {\n background: #777 !important;\n border-color: #555 !important;\n pointer-events: none; }\n\n#wpstg-cancel-cloning,\n#wpstg-cancel-cloning-update {\n margin-top: 5px; }\n\n#wpstg-cancel-cloning.success,\n#wpstg-cancel-cloning.success {\n background: #64dd58;\n border-color: #54bd4a; }\n\n#wpstg-error-wrapper,\n#wpstg-error-details {\n display: none;\n padding-top: 10px;\n font-size: 13px;\n clear: both; }\n\n#wpstg-show-error-details {\n display: inline-block;\n margin-left: 5px;\n color: #555;\n text-decoration: none;\n transition: color .2s ease-in-out; }\n\n#wpstg-show-error-details:hover {\n color: #1d94cf; }\n\n#wpstg-error-details {\n border-left: 5px solid #E01E5A;\n padding: 10px;\n width: 500px; }\n\n#wpstg-try-again {\n display: none; }\n\n#wpstg-home-link {\n float: right; }\n\n.wpstg-loader {\n content: url(\"../../img/loading.gif\");\n display: none; }\n\n.wpstg-loader.wpstg-finished {\n display: block;\n content: \"Finished\";\n background-color: #00c89a;\n color: white;\n padding: 2px 10px;\n margin-top: 0;\n border-radius: 3px; }\n\n#wpstg-workflow {\n max-width: 800px;\n position: relative;\n clear: both;\n padding-top: 20px;\n float: left;\n min-width: 500px;\n min-height: 380px;\n padding-right: 20px;\n padding-bottom: 20px; }\n\n#wpstg-sidebar {\n float: left;\n max-width: 400px;\n display: block;\n margin-left: 10px; }\n\n#wpstg-workflow.loading::after,\n#wpstg-removing-clone.loading::after {\n background: rgba(255, 255, 255, 0.7);\n content: 'Loading... may take a while for huge websites';\n display: block;\n width: 100%;\n height: 100%;\n font-size: 20px;\n padding-top: 100px;\n text-align: center;\n position: absolute;\n top: 0;\n left: 0;\n z-index: 99; }\n\n#wpstg-removing-clone.loading::after {\n content: 'REMOVING' !important; }\n\n#wpstg-existing-clones,\n#wpstg-removing-clone {\n position: relative; }\n\n#wpstg-existing-clones h3 {\n color: #3e3e3e; }\n\n#wpstg-removing-clone .wpstg-tab-section {\n display: block; }\n\n.wpstg-progress-bar {\n max-width: 900px;\n height: 27px;\n padding: 0;\n background-color: #d6d8d7; }\n\n.wpstg-progress {\n float: left;\n background: #3fa5ee;\n width: 0;\n height: 100%;\n transition: width .6s ease;\n color: white;\n line-height: 25px;\n text-align: center;\n overflow: hidden; }\n\n.wpstg-progress-files {\n background: #16b4f0;\n width: 0;\n height: 100%;\n transition: width .6s ease;\n color: white;\n line-height: 25px;\n text-align: center; }\n\n#wpstg-new-clone-id.wpstg-error-input,\n#wpstg-clone-path.wpstg-error-input {\n border: 1px solid #E01E5A;\n box-shadow: 0 0 2px rgba(255, 66, 53, 0.8); }\n\n#wpstg-new-clone-id {\n width: 450px;\n max-width: 100%;\n margin-left: 15px; }\n\n#wpstg-new-clone {\n background: #25a1f0;\n border-color: #2188c9; }\n\n#wpstg-new-clone:hover {\n background: #259be6;\n border-color: #2188c9; }\n\n#wpstg-clone-path {\n margin-left: 10px;\n width: 350px; }\n\n.wpstg-error-msg {\n color: #E01E5A; }\n\n#wpstg-clone-id-error {\n display: block;\n background-color: #f0f8ff;\n padding: 10px;\n margin: 20px; }\n\n#wpstg-start-cloning + .wpstg-error-msg {\n display: block;\n margin-top: 5px; }\n\n.wpstg-size-info {\n color: #999;\n font-weight: normal;\n position: relative;\n left: 2px; }\n\n.wpstg-db-table .wpstg-size-info {\n top: 2px; }\n\n.wpstg-db-table:hover {\n background-color: #f0f8ff; }\n\n#wpstg-workflow #wpstg-start-cloning {\n margin-left: 5px;\n vertical-align: baseline; }\n\n/* Tabs */\n.wpstg-tabs-wrapper {\n max-width: 640px;\n margin: 10px 0; }\n\n#wpstg-path-wrapper {\n border-bottom: 2px dashed #ccc;\n padding-bottom: 10px;\n margin-bottom: 10px; }\n\n.wpstg-tab-section {\n border-bottom: 1px solid #ddd;\n border-right: none;\n border-left: none;\n display: none;\n width: calc(100% - 72px);\n padding: 0px 36px; }\n\n.wpstg-tab-section::after {\n display: block;\n content: '';\n clear: both; }\n\n.wpstg-tab-header {\n border-bottom: 1px solid #ddd;\n border-right: none;\n border-left: none;\n color: #444;\n font-size: 16px;\n font-weight: bold;\n display: block;\n padding: 10px;\n text-decoration: none; }\n\n.wpstg-tab-triangle {\n display: inline-block;\n margin-right: 12px;\n animation: transform 0.5s;\n width: 0;\n height: 0;\n margin-top: -3px;\n vertical-align: middle;\n border-top: 5px solid transparent;\n border-bottom: 5px solid transparent;\n border-left: 10px solid;\n transition: transform 0.2s;\n cursor: pointer; }\n\n.wpstg-tab-triangle.wpstg-no-icon {\n margin-right: 2px;\n width: auto;\n height: auto;\n vertical-align: auto;\n border-top: 0px solid;\n border-bottom: 0px solid;\n border-left: 0px solid; }\n\n.wpstg-tab-triangle.wpstg-rotate-90 {\n transform: rotate(90deg); }\n\n.wpstg-tab-header:focus {\n color: #444;\n outline: none;\n box-shadow: none; }\n\n#wpstg-large-files {\n display: none;\n border: 1px dashed #ccc;\n padding: 10px 10px 10px;\n margin-top: 20px;\n position: relative;\n font-size: 12px; }\n\n#wpstg-large-files h3 {\n background: #fff;\n margin: 0;\n padding: 0 5px;\n position: absolute;\n top: -10px;\n left: 5px; }\n\n.wpstg-subdir {\n display: none;\n margin-left: 20px; }\n\n.wpstg-subdir.wpstg-push {\n display: block;\n margin-left: 20px; }\n\n.wpstg-dir a.disabled {\n color: #888;\n cursor: default;\n text-decoration: none; }\n\n.wpstg-check-subdirs {\n display: inline-block;\n margin-left: 10px; }\n\n.wpstg-notice-alert {\n display: block;\n background-color: #E01E5A;\n padding: 20px;\n max-width: 600px;\n margin-top: 10px;\n color: white; }\n\n.wpstg-notice--white {\n display: block;\n background-color: #ffffff;\n padding: 20px;\n max-width: 600px;\n margin-top: 10px; }\n\n.wpstg-notice-alert a {\n color: white; }\n\n.wpstg-notice-alert h3 {\n color: white; }\n\n.wpstg-header {\n font-weight: 400;\n line-height: 1.6em;\n font-size: 19px;\n /*\n border-bottom: 1px solid #DFDFDF;\n */\n clear: both;\n padding-top: 10px; }\n\n#wpstg-clone-label {\n font-size: 14px;\n font-weight: bold; }\n\n.wpstg-log-details {\n height: 300px;\n overflow: scroll;\n max-width: 650px;\n font-family: monospace;\n font-size: 12px;\n line-height: 15px;\n border: 1px solid #FFF;\n background-color: black;\n color: #c0c0c0;\n padding: 3px;\n white-space: nowrap;\n margin-top: 15px; }\n\n#wpstg-finished-result {\n display: none; }\n\n#wpstg-remove-cloning {\n background: #ff3428;\n border-color: #e72f24;\n margin-top: 5px; }\n\n#wpstg-success-notice {\n padding: 10px;\n background-color: white;\n max-width: 900px;\n border: 1px solid #ccc;\n margin-top: 20px; }\n\n.wpstg_beta_notice {\n margin-bottom: 20px; }\n\n.wpstg-sysinfo {\n width: 700px;\n height: 400px; }\n\n.wpstg-form-table .col-title label {\n font-weight: 600; }\n\n.wpstg-form-table td:first-child {\n width: 30%;\n padding-right: 20px; }\n\n.wpstg-share-button-container {\n margin: 5px 0; }\n\n.wpstg-share-button-container p {\n margin: 0 0 10px 0; }\n\n.wpstg-share-button {\n display: inline-block; }\n\n.wpstg-share-button a {\n text-decoration: none; }\n\n.wpstg-share-button .wpstg-share {\n font-family: sans-serif;\n font-weight: bold;\n text-decoration: none;\n text-align: center; }\n\n.wpstg-share-button .wpstg-share {\n -webkit-border-radius: 2px;\n -moz-border-radius: 2px;\n border-radius: 2px;\n color: #FFF;\n display: inline;\n font-size: 12px;\n padding: 4px 8px; }\n\n.wpstg-share-button-twitter .wpstg-share {\n background-color: #00ABF0; }\n\n.wpstg-share-button-facebook .wpstg-share {\n background-color: #3b5998; }\n\n.wpstg-share-button-googleplus .wpstg-share {\n background-color: #F53424; }\n\n.wpstg-share-button-twitter .share:active,\n.wpstg-share-button-facebook .share:active,\n.wpstg-share-button-googleplus .share:active {\n background-color: #353535; }\n\n#wpstg-check-space {\n margin-left: 8px; }\n\n#wpstg-welcome li {\n font-size: 18px;\n line-height: 29px;\n position: relative;\n padding-left: 23px;\n list-style: none !important; }\n\n#wpstg-welcome {\n margin-top: 20px;\n margin-right: 20px;\n background-color: white; }\n\n.wpstg-heading-pro {\n font-weight: bold; }\n\n.wpstg-h2 {\n margin-top: 0;\n margin-bottom: 1.2rem;\n font-size: 30px;\n line-height: 2.5rem; }\n\n#wpstg-welcome li:before {\n width: 1em;\n height: 100%;\n background: url(data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%2377B227%22%20d%3D%22M1671%20566q0%2040%2D28%2068l%2D724%20724%2D136%20136q%2D28%2028%2D68%2028t%2D68%2D28l%2D136%2D136%2D362%2D362q%2D28%2D28%2D28%2D68t28%2D68l136%2D136q28%2D28%2068%2D28t68%2028l294%20295%20656%2D657q28%2D28%2068%2D28t68%2028l136%20136q28%2028%2028%2068z%22%2F%3E%3C%2Fsvg%3E) left 0.4em no-repeat;\n background-size: contain;\n content: \"\";\n position: absolute;\n top: -2px;\n left: 0;\n color: #77b227; }\n\n.wpstg-h1 {\n margin-bottom: 1.35rem;\n font-size: 2.5em;\n line-height: 3.68rem;\n letter-spacing: normal; }\n\n.wpstg--swal2-content {\n color: #3e3e3e; }\n\n.wpstg--swal2-content h1 {\n color: #444; }\n\n#wpstg-welcome h2 {\n margin: 0 0 15px; }\n\n#wpstg-welcome .wpstg-footer {\n clear: both;\n margin-top: 20px;\n font-style: italic; }\n\n#wpstg-footer {\n clear: both;\n margin-top: 20px;\n margin-right: 10px;\n padding-top: 50px; }\n\n#wpstg-footer a {\n text-decoration: none; }\n\n#wpstg-footer li {\n margin-bottom: 2px;\n list-style: circle; }\n\n#wpstg-footer ul {\n margin-left: 15px;\n margin-top: 0px; }\n\n.wpstg-footer--title {\n margin-left: 15px; }\n\n.wpstg-staging-info {\n margin-top: 8px;\n color: #3e3e3e;\n font-size: 12px; }\n\n.wpstg-staging-info a {\n color: #3e3e3e; }\n\n.wpstg-staging-info li {\n margin-bottom: 2px; }\n\n.wpstg-bold {\n font-weight: 600; }\n\n#wpstg-processing-status {\n margin-top: 5px;\n font-size: 13px;\n font-weight: 400;\n float: left; }\n\n#wpstg-processing-timer {\n margin-top: 5px;\n font-size: 13px;\n font-weight: 400;\n float: right; }\n\n#wpstg-report-issue-button {\n margin-left: 30px;\n border: 1px solid #E01E5A;\n color: #E01E5A;\n background-color: white; }\n\n#wpstg-report-issue-button:hover {\n background-color: #dc2b62;\n color: #fff; }\n\n.wpstg-blue-primary {\n display: inline-block;\n text-decoration: none;\n font-size: 13px;\n height: 28px;\n margin: 0;\n /*\n padding: 0 10px 1px;\n */\n cursor: pointer;\n border-width: 1px;\n border-style: solid;\n -webkit-appearance: none;\n border-radius: 3px;\n white-space: nowrap;\n box-sizing: border-box;\n background: #25a1f0;\n border-color: #2188c9;\n color: #fff;\n /*\n text-shadow: 0 -1px 1px #006799, 1px 0 1px #006799, 0 1px 1px #006799, -1px 0 1px #006799;\n */ }\n\n.wpstg-blue-primary:hover {\n background: #127fc6; }\n\na.wpstg-blue-primary {\n padding: 5px 10px;\n height: auto; }\n\n.wpstg-blue-primary:hover {\n background-color: #259be6; }\n\n.wpstg-report-issue-form {\n position: absolute;\n z-index: 999;\n width: 300px;\n background-color: #fff;\n padding: 15px 15px 10px;\n border: 1px solid #e8e8e8;\n border-radius: 3px;\n box-shadow: 0 1px 0 0 #fff inset;\n display: none;\n right: 0;\n top: 35px; }\n\n@media (max-width: 600px) {\n .wpstg-report-issue-form {\n position: relative; } }\n\n.wpstg-report-show {\n display: block; }\n\n.wpstg-field input[type=text],\n.wpstg-field textarea {\n width: 100%;\n font-weight: 400;\n line-height: 1.4;\n margin-bottom: 4px; }\n\n.wpstg-report-email,\n.wpstg-report-hosting-provider {\n width: 100%;\n font-weight: 400;\n font-size: .8rem;\n height: 2.3rem;\n line-height: 2.3rem;\n border-radius: 3px;\n margin-bottom: 4px;\n padding: 0 10px; }\n\n.wpstg-report-description {\n border-radius: 3px;\n font-size: .8rem;\n padding: 6px 10px;\n resize: none; }\n\n.wpstg-report-privacy-policy {\n font-size: 12px;\n margin-bottom: 15px; }\n\n#wpstg-report-cancel {\n float: right;\n margin-right: 5px;\n font-weight: bold; }\n\n#wpstg-success-button {\n font-weight: bold; }\n\n.wpstg-message {\n box-sizing: border-box;\n -moz-box-sizing: border-box;\n background-color: #f5e0de;\n border-radius: 3px;\n color: rgba(0, 0, 0, 0.6);\n height: auto;\n margin: 10px 0;\n min-height: 18px;\n padding: 6px 10px;\n position: relative; }\n\n.wpstg-message.wpstg-error-message {\n background-color: #f5e0de;\n color: #b65147;\n font-size: 12px; }\n\n.wpstg-message.wpstg-success-message {\n background-color: #d7f8e0;\n color: #515151; }\n\n.wpstg-message p {\n margin: 3px 0;\n font-size: 13px; }\n\n.wpstg-warning {\n display: block;\n padding: 10px;\n background-color: #ffb804;\n color: #ffffff;\n margin: 10px 10px 10px 0; }\n\n.wpstg-warning a {\n color: #ffffff;\n font-weight: bold;\n text-decoration: underline; }\n\n.wpstg-error {\n display: block;\n padding: 10px !important;\n background-color: #E01E5A !important;\n color: #ffffff;\n margin: 10px 10px 10px 0 !important;\n border-color: transparent !important;\n border-left-color: transparent !important;\n box-shadow: none !important; }\n\n.wpstg-error a {\n color: #ffffff;\n font-weight: bold;\n text-decoration: underline; }\n\n#wpstg-resume-cloning {\n display: none; }\n\n#wpstg-external-db th {\n text-align: left;\n width: 120px; }\n\n#wpstg-db-connect {\n font-weight: normal; }\n\n#wpstg-db-status {\n display: block;\n margin-top: 5px;\n padding: 5px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n border-radius: 4px;\n text-decoration: none;\n text-align: center; }\n\n.wpstg-text-field > #wpstg-db-status {\n margin-top: 8px;\n margin-left: 150px;\n min-width: 300px; }\n\n.wpstg-success {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6; }\n\n.wpstg-failed {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1; }\n\n#wpstg_select_tables_cloning {\n height: 600px;\n font-size: 13px; }\n\n#wpstg_select_tables_pushing {\n height: 400px;\n font-size: 13px; }\n\n#wpstg-update-notify {\n background-color: #E01E5A;\n font-size: 14px;\n color: #ffffff;\n line-height: normal;\n padding: 10px; }\n\n#wpstg-update-notify a {\n color: #ffffff;\n font-weight: bold; }\n\n.wpstg-pointer {\n cursor: pointer; }\n\n.wpstg--tab--header {\n background-color: white;\n position: relative;\n transition: border-color .2s ease-in-out;\n background-color: #ffffff;\n color: #3e3e3e;\n border-radius: 0px;\n box-shadow: 0 0 1px rgba(0, 0, 0, 0.125), 0 1px 3px rgba(0, 0, 0, 0.02); }\n\n.wpstg--tab--header ul {\n display: flex; }\n\n.wpstg--tab--header ul li {\n margin-right: 1em;\n margin-bottom: 0px; }\n\n.wpstg--tab--header ul li:last-child {\n margin-right: 0; }\n\n.wpstg--tab--header a {\n min-width: 150px;\n text-align: center;\n cursor: pointer;\n display: inline-block;\n padding: 1em 1.25em;\n padding-bottom: 9px;\n color: #c4c4c4;\n font-size: 18px; }\n\n.wpstg--tab--header a.wpstg--tab--active {\n border-bottom: 3px solid #0e86d9;\n color: #25A1F0; }\n\n.wpstg--tab--header a:hover {\n background-color: #fefefe;\n border-bottom: 3px solid #0e86d9;\n color: #0e86d9; }\n\n.wpstg--tab--content {\n display: none; }\n\n.wpstg--tab--active {\n display: block; }\n\n#wpstg-premium-header {\n font-size: 1.5rem;\n font-weight: bold; }\n\n.wpstg--text--strong,\n.wpstg--text--strong * {\n font-weight: bold !important; }\n\n.wpstg--text--danger {\n color: #a94442; }\n\n.wpstg--tooltip {\n position: relative;\n display: inline-block;\n margin-left: 5px; }\n\n.wpstg--tooltip.wpstg--tooltip-normal {\n margin-left: 0;\n border-bottom: 0; }\n\n.wpstg--tooltip .wpstg--tooltiptext {\n visibility: hidden;\n width: 300px;\n background-color: #ffffff;\n color: #505050;\n text-align: left;\n padding: 12px;\n border-radius: 3px;\n position: absolute;\n z-index: 1;\n -webkit-box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;\n -moz-box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;\n box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;\n font-weight: normal; }\n\n.wpstg--tooltiptext-backups {\n width: 120px;\n top: 100%;\n left: -150%;\n margin-left: -56px;\n margin-top: 4px; }\n\n.wpstg--tooltip.wpstg--exclude-rules--tooltip {\n border-bottom: 0px solid transparent; }\n\n.wpstg--tooltip.wpstg--exclude-rules--tooltip > .wpstg--tooltiptext {\n margin-top: 0px;\n margin-left: -150px; }\n\n/**\nTooltip top arrow\n */\n.wpstg--tooltip .wpstg--tooltiptext-backups::after {\n content: \" \";\n position: absolute;\n bottom: 100%;\n /* At the top of the tooltip */\n left: 50%;\n margin-left: 25px;\n border-width: 5px;\n border-style: solid;\n border-color: transparent transparent white transparent; }\n\n.wpstg--tooltip .wpstg--tooltiptext.has-top-arrow {\n margin-top: 6px; }\n\n.wpstg--tooltip .wpstg--tooltiptext.has-top-arrow::after {\n content: \" \";\n position: absolute;\n bottom: 100%;\n left: 50%;\n margin-left: -18px;\n border-width: 5px;\n border-style: solid;\n border-color: transparent transparent white transparent; }\n\n.wpstg--snaphot-restore-table tr {\n line-height: 12px; }\n\n.wpstg-float-left {\n float: left; }\n\n.wpstg-beta-notice {\n background-color: #b0e8b0;\n border-radius: 3px;\n padding: 7px;\n margin-bottom: 20px; }\n\n#wpstg-backup-name {\n font-size: 1.875em;\n font-weight: 600; }\n\n#wpstg_select_tables_cloning option:checked,\n#wpstg_select_tables_pushing option:checked {\n /* Cannot use background color here because Chrome and Firefox ignore it even if set to !important */\n -webkit-appearance: menulist-button;\n background-image: linear-gradient(0deg, #1e90ff 0%, #1e90ff 100%); }\n\n.wpstg--btn--cancel {\n background: #ff3428;\n border-color: #e72f24;\n color: #fff;\n height: auto;\n line-height: normal;\n font-size: 16px;\n padding: .5em;\n margin-bottom: 1.5em; }\n\n.wpstg--btn--cancel:hover {\n background: #ff3428;\n border-color: #e72f24; }\n\n.wpstg--process--content > .wpstg--swal2-html-container {\n padding: 4em 2em !important; }\n\n.wpstg--modal--process--logs,\n.wpstg--modal--error--logs {\n background: #ffffff;\n border: 1px solid #a8a8a8;\n border-radius: 3px;\n height: 300px;\n margin-top: 1em;\n display: none;\n padding-top: 10px;\n padding-left: 10px;\n overflow: auto;\n text-align: justify; }\n\n.wpstg--modal--error--logs {\n height: auto;\n max-height: 300px; }\n\n.wpstg--modal--process--logs p {\n font-size: 12px;\n white-space: nowrap; }\n\n.wpstg--modal--process--logs p.wpstg--modal--process--msg--info {\n color: #222222; }\n\n.wpstg--modal--process--logs p.wpstg--modal--process--msg--debug {\n color: #757575; }\n\n.wpstg--modal--process--title {\n color: #565656;\n margin: .25em 0; }\n\n.wpstg--modal--process--subtitle {\n margin: .5em 0;\n color: #565656; }\n\n.wpstg--modal--error--logs > p {\n text-align: left;\n font-size: 14px;\n color: #222222; }\n\n.wpstg--modal--process--logs p,\n.wpstg--modal--error--logs p {\n margin: 0px;\n margin-bottom: 2px; }\n\n.wpstg--modal--process--msg--error {\n color: #E01E5A; }\n\n.wpstg--modal--process--msg--critical {\n color: #E01E5A; }\n\n.wpstg--modal--process--msg--warning {\n color: darkorange; }\n\n.wpstg--modal--process--msg-found {\n font-size: 16px;\n color: #E01E5A;\n font-weight: bold; }\n\n.wpstg--modal--delete {\n text-align: left;\n margin-top: 8px;\n color: #565656; }\n\n.wpstg-swal-popup .wpstg--swal2-cancel.wpstg--btn--cancel {\n margin-bottom: 0;\n text-shadow: none !important; }\n\n.wpstg-swal-popup .wpstg-loader {\n display: inline-block !important; }\n\n.wpstg--modal--process--generic-problem {\n display: none;\n border-left: 5px solid #E01E5A;\n margin: .5em 0; }\n\n.wpstg--modal--process--logs--tail {\n font-size: 16px;\n color: #565656;\n background: none;\n border: none;\n cursor: pointer;\n text-decoration: underline; }\n\n.wpstg--modal--backup--import--upload--title {\n color: #3e3e3e; }\n\n.wpstg--modal--backup--import--configure,\n.wpstg--modal--backup--import--upload--status,\n.wpstg--modal--backup--import--upload--container input[type=\"file\"] {\n display: none; }\n\n#wpstg--backups--import--file-list {\n font-size: 14px;\n font-weight: bold; }\n\n#wpstg--backups--import--file-list-empty {\n color: #E01E5A; }\n\n.wpstg--modal--backup--import--filesystem label {\n font-size: 14px; }\n\n.wpstg--modal--backup--import--filesystem button {\n margin-bottom: 20px; }\n\n.wpstg--modal--backup--import--upload {\n position: relative;\n min-height: 30px; }\n\n.wpstg--modal--backup--import--upload {\n color: #505050; }\n\n.wpstg--modal--backup--import--upload--container {\n position: relative;\n border-radius: 10px;\n margin: .5em;\n padding: 1em .5em;\n border: 3.5px dashed #dedede;\n transition: background-color 0.3s ease, color 0.3s ease;\n background-color: #f4fbff;\n min-height: 130px; }\n\n.wpstg--modal--backup--import--upload--container.wpstg--has-dragover span.wpstg--drop {\n display: inline-flex; }\n\n.wpstg--modal--backup--import--upload--container input[type='file'] {\n display: none; }\n\n.wpstg--modal--backup--import--upload--container img {\n margin-top: 10px;\n width: 4em;\n align-self: center;\n border: none; }\n\n.wpstg--modal--backup--import--upload--container span {\n margin-top: 1em; }\n\n.wpstg--backup--import--options > button {\n margin-top: 1em;\n padding: 1em;\n align-self: center;\n width: 185px;\n height: auto;\n line-height: normal; }\n\n.wpstg--backup--import--options {\n position: relative;\n display: flex;\n justify-content: center; }\n\n.wpstg--backup--import--options ul {\n display: none; }\n\n.wpstg--backup--import--options.wpstg--show-options ul {\n padding: 0;\n margin: 54px 0 0 0;\n display: block;\n position: absolute;\n width: 185px;\n background: #25a1f0;\n box-sizing: border-box;\n border-radius: 0 0 3px 3px;\n border-width: 1px;\n border-color: #2188c9;\n text-shadow: 0 -1px 1px #006799, 1px 0 1px #006799, 0 1px 1px #006799, -1px 0 1px #006799; }\n\n.wpstg--backup--import--options.wpstg--show-options ul li {\n border-bottom: .1em solid #25a1f0;\n margin: 0; }\n\n.wpstg--backup--import--options.wpstg--show-options ul li:hover {\n background-color: #25a1f0; }\n\n.wpstg--backup--import--options.wpstg--show-options ul li:last-child {\n border-bottom: none; }\n\n.wpstg--backup--import--options ul li button {\n cursor: pointer;\n background: none;\n border: none;\n margin: 0;\n width: 100%;\n color: white;\n height: 40px;\n line-height: 40px; }\n\n.wpstg--backup--import--options ul li button:hover {\n background-color: #259be6; }\n\n.wpstg--modal--backup--import--search-replace--info {\n margin: 1em 0;\n display: flex;\n flex-direction: row; }\n\n.wpstg--modal--backup--import--info p {\n text-align: left;\n margin: 0; }\n\n.wpstg--modal--backup--import--search-replace--wrapper button {\n align-self: center; }\n\n.wpstg--import--advanced-options--button {\n border: 0;\n border-radius: 3px;\n font-size: 18px;\n text-shadow: 0 -1px 1px #006799, 1px 0 1px #006799, 0 1px 1px #006799, -1px 0 1px #006799;\n cursor: pointer; }\n\n.wpstg--modal--backup--import--search-replace--new {\n color: white;\n background-color: #25a1f0; }\n\n.wpstg--modal--backup--import--search-replace--remove {\n color: white;\n background-color: #25a1f0;\n width: 22px;\n height: 22px;\n margin-left: 5px; }\n\n.wpstg--modal--backup--import--search-replace--input-group:first-child button {\n display: none; }\n\n.wpstg--modal--backup--import--search-replace--input--container {\n flex: 1;\n display: flex;\n flex-direction: column; }\n\n.wpstg--modal--backup--import--search-replace--input-group {\n width: 100%;\n border-bottom: 6px solid #f1f1f1;\n margin-bottom: 10px; }\n\n.wpstg--modal--backup--import--search-replace--input-group input {\n min-width: 250px;\n width: calc(50% - 4px - 11px - 5px);\n /* -4px is half of the padding; -11px is half of the button; -5 is the margin left of the button */\n display: inline-block;\n line-height: 10px;\n border: 1px solid #dedede;\n border-radius: 3px;\n color: #666;\n padding: 8px;\n margin-bottom: 12px; }\n\n.wpstg--modal--import--upload--process {\n display: none;\n position: relative;\n height: 30px;\n margin-top: 20px;\n margin-bottom: 20px;\n width: 100%;\n top: 0;\n left: 0;\n text-indent: 1em;\n white-space: nowrap;\n overflow: hidden;\n color: #333333;\n justify-content: center;\n align-items: center; }\n\n.wpstg--modal--import--upload--progress {\n position: absolute;\n background: #98d452;\n color: white;\n height: 100%;\n border-radius: 4px;\n left: 0;\n top: 0; }\n\n.wpstg--modal--import--upload--progress--title {\n z-index: 9; }\n\n.wpstg-fieldset:disabled {\n opacity: 0.8;\n border-top: 1px solid white;\n margin-top: 20px; }\n\n.wpstg-fieldset {\n padding-left: 20px; }\n\n.wpstg-fs-14 {\n font-size: 14px; }\n\n.wpstg-dark-alert {\n font-weight: bold;\n background-color: #0e86d9;\n padding: 30px;\n margin-top: 0px;\n color: white; }\n\n.wpstg-dark-alert ul {\n list-style: initial; }\n\n.wpstg-form-group {\n display: block;\n width: 100%;\n margin-bottom: 8px;\n align-items: center; }\n\n.wpstg-form-group > label {\n display: block;\n font-weight: 700; }\n\n.wpstg-text-field > input {\n width: 300px;\n display: block;\n line-height: 1.5; }\n\n.wpstg-code-segment {\n display: block; }\n\n.wpstg-text-field > .wpstg-code-segment {\n margin-top: 4px;\n min-width: 300px; }\n\n.wpstg-form-group > .wpstg-checkbox {\n min-width: 100%;\n width: 100%;\n position: relative; }\n\n.wpstg-form-group > .wpstg-checkbox > input[type='checkbox'] {\n left: 150px; }\n\n.wpstg-rounded {\n border-radius: 3px; }\n\n.wpstg-white-border {\n border: 1px solid white !important; }\n\n.wpstg-ml-4 {\n margin-left: 4px; }\n\n#wpstg-confirm-backup-restore-data {\n margin: 40px;\n text-align: left; }\n\n#wpstg-advanced-settings hr {\n margin: 20px 0; }\n\n.wpstg-form-row {\n display: block; }\n\n.wpstg-form-row label,\n.wpstg-form-row input {\n display: table-cell;\n padding-left: 5px;\n padding-right: 5px;\n margin-top: 3px;\n margin-bottom: 3px; }\n\n.wpstg-form-row input {\n width: 400px; }\n\n.wpstg-form-row label {\n font-weight: bold;\n width: 1px;\n white-space: nowrap; }\n\n#wpstg-db-connect-output #wpstg-db-status {\n width: 390px; }\n\n.wpstg-fs-14 {\n font-size: 14px; }\n\n.wpstg-code-segment {\n display: block; }\n\n.wpstg-form-group > .wpstg-checkbox {\n min-width: 100%;\n width: 100%; }\n\n.wpstg-form-group > .wpstg-checkbox > input[type='checkbox'] {\n margin-left: 10px; }\n\n@media only screen and (max-width: 768px) {\n .wpstg-form-group > label {\n min-width: auto;\n width: auto; }\n .wpstg-text-field > input {\n width: 100%; }\n .wpstg-text-field > .wpstg-code-segment {\n margin-left: 0;\n min-width: 100%; }\n .wpstg-tab-section {\n width: calc(100vw - 60px);\n max-width: 450px; } }\n\n.wpstg-rounded {\n border-radius: 3px; }\n\n.wpstg-white-border {\n border: 1px solid white !important; }\n\n.wpstg-m-0 {\n margin: 0; }\n\n.wpstg-mt-10px {\n margin-top: 10px !important; }\n\n.wpstg-mr-10px {\n margin-right: 10px !important; }\n\n.wpstg-my-10px {\n margin-top: 10px !important;\n margin-bottom: 10px !important; }\n\n.wpstg-w-100 {\n width: 100%; }\n\n.wpstg-box-shadow {\n box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1); }\n\n.wpstg-float-left {\n float: left; }\n\n.wpstg-bold-text {\n font-weight: bold; }\n\n.wpstg-warning.notice {\n border-left: 4px solid #ffba00; }\n\n.wpstg-confirmation-label {\n background-color: #5b9dd9;\n color: #fff;\n padding: 2px;\n border-radius: 3px; }\n\n.wpstg-my-6px {\n margin-bottom: 6px;\n margin-top: 6px; }\n\n.wpstg-mb-10px {\n margin-bottom: 10px; }\n\n.wpstg-clear-both {\n clear: both; }\n\n.wpstg-font-italic {\n font-style: italic; }\n\n.wpstg-mt-20px {\n margin-top: 20px; }\n\n.wpstg-welcome-container {\n border: 2px solid white;\n padding: 20px;\n margin-bottom: 20px; }\n\n.wpstg-ml-30px {\n margin-left: 30px; }\n\n.wpstg-text-center {\n text-align: center; }\n\n.wpstg-feedback-link {\n text-decoration: none; }\n\n.wpstg-feedback-span {\n display: block;\n margin-bottom: 3px; }\n\n#wpstg-confirm-backup-restore-data {\n margin: 40px;\n text-align: left; }\n\n#wpstg-confirm-backup-restore-wrapper {\n margin: 30px;\n margin-top: 0; }\n\n#wpstg-confirm-backup-restore-wrapper h3 {\n color: #E01E5A; }\n\n#wpstg-progress-db,\n#wpstg-progress-backup {\n background-color: #3fa5ee; }\n\n#wpstg-progress-sr,\n#wpstg-progress-files.wpstg-pro {\n background-color: #3c9ee4; }\n\n#wpstg-progress-dirs,\n#wpstg-progress-data {\n background-color: #3a96d7; }\n\n#wpstg-progress-files:not(.wpstg-pro),\n#wpstg-progress-finishing {\n background-color: #378cc9; }\n\n.wpstg-issue-resubmit-confirmation.wpstg--swal2-container,\n.wpstg-swal2-container.wpstg--swal2-container {\n z-index: 10500; }\n\n.wpstg-swal2-container.wpstg-swal2-loading .wpstg--swal2-actions,\n.wpstg-swal2-container.wpstg-swal2-loading .wpstg--swal2-header {\n display: none; }\n\nbody.toplevel_page_wpstg_backup .wpstg--swal2-container .wpstg--swal2-content,\nbody.toplevel_page_wpstg_clone .wpstg--swal2-container .wpstg--swal2-content {\n z-index: 2; }\n\n.toplevel_page_wpstg_clone #swal2-content h2 {\n color: #3e3e3e; }\n\n.toplevel_page_wpstg_clone #swal2-content {\n line-height: 1.5em; }\n\ndiv#exportUploadsWithoutDatabaseWarning {\n font-style: italic;\n font-size: 0.9rem;\n margin: 10px;\n padding: 10px;\n border: 1px solid #e3e3e3;\n border-radius: 5px;\n text-align: center;\n background-color: #fafafa; }\n\n.wpstg-advanced-options-dropdown-wrapper {\n display: none;\n /* ENABLE WHEN WE HAVE ADVANCED OPTIONS FOR EXPORTING */\n margin-top: 20px; }\n\n.wpstg--modal--backup--import--search-replace--wrapper {\n text-align: left;\n margin-top: 20px; }\n\n.wpstg--modal--backup--import--search-replace--new--wrapper {\n text-align: center; }\n\n.wpstg-import-backup-contains li {\n display: inline-block;\n margin-bottom: 0px; }\n\n.wpstg-import-backup-contains li .wpstg-backups-contains {\n border-radius: 3px;\n color: #979797;\n background-color: #f4f4f4 !important;\n width: 18px;\n height: 18px;\n font-size: 17px; }\n\n.wpstg-import-backup-contains.wpstg-listing-single-backup li .wpstg-backups-contains {\n padding: 2px;\n background-color: white; }\n\n.wpstg-import-backup-contains.wpstg-listing-single-backup li .wpstg-backups-contains > .wpstg--dashicons {\n filter: invert(35%); }\n\n.wpstg-import-backup-contains .wpstg--tooltiptext {\n width: 80px;\n font-size: 13px;\n padding: 5px;\n left: -25px;\n text-align: center; }\n\n.wpstg-import-backup-contains-title {\n display: inline-block; }\n\nul.wpstg-import-backup-contains {\n display: inline-block; }\n\n.wpstg-import-backup-name {\n display: inline-block;\n font-weight: bold; }\n\n.wpstg-backup-more-info-toggle {\n font-size: x-small;\n display: inline-block;\n font-style: italic;\n cursor: pointer; }\n\n.wpstg-backup-more-info-toggle::selection {\n background: none; }\n\nul.wpstg-import-backup-more-info {\n font-size: 14px;\n text-align: left;\n margin-bottom: 30px;\n margin-top: 10px;\n background-color: #f6f6f6;\n border: 1px solid #878787;\n border-radius: 3px;\n padding: 7px;\n cursor: pointer; }\n\nul.wpstg-import-backup-more-info:hover {\n background-color: #def2ff;\n border: 1px solid #25a1f0; }\n\nul.wpstg-import-backup-more-info li {\n height: 20px; }\n\n.wpstg-backup-list {\n max-width: 800px; }\n\n.wpstg-backup-list h3 {\n color: #3e3e3e; }\n\n.wpstg-backup-list ul ul {\n margin-block-start: 1em;\n margin-block-end: 1em; }\n\n.wpstg-push-confirmation-message {\n text-align: justify;\n font-size: 15px; }\n\n.wpstg-settings-row {\n padding-top: 10px;\n padding-bottom: 10px; }\n\n.wpstg-settings-title {\n font-weight: 600; }\n\n.wpstg-settings-form-group {\n display: flex;\n align-items: center; }\n\n.wpstg-settings-form-group > .wpstg-settings-message {\n width: 30%;\n padding: 0;\n margin: 7px 0 0; }\n\n/**\n * WP STAGING EXCLUSION RULES TABLE LAYOUT\n */\n.wpstg-excluded-filters-container {\n padding: 0;\n margin-top: 10px;\n margin-bottom: 10px;\n max-width: 100%;\n width: 100%; }\n\n.wpstg-excluded-filters-container > table {\n width: 100%;\n border-collapse: collapse;\n border-color: transparent; }\n\n.wpstg-excluded-filters-container td {\n padding-top: 4px;\n padding-bottom: 4px;\n height: 20px; }\n\n.wpstg-excluded-filters-container h4 {\n margin: 0; }\n\n.wpstg-exclude-filters-foot {\n display: flex;\n justify-content: flex-start;\n padding: 0; }\n\n/**\n * WP STAGING EXCLUSION RULE DROPDOWN STYLE\n */\n.wpstg-exclude-filter-dropdown > button:hover {\n background: #135e96;\n border: 1px solid #135e96; }\n\n.wpstg-exclude-filter-dropdown > .wpstg-dropdown-menu {\n width: 128px; }\n\n.wpstg-remove-exclude-rule {\n color: #fff !important;\n background-color: #e01e5a;\n border: 1px solid #e01e5a;\n width: 20px;\n height: 20px;\n border-radius: 10px;\n font-size: 24px;\n padding: 0;\n display: inline-flex;\n justify-content: center;\n outline: none;\n box-shadow: none;\n font-weight: 400;\n line-height: 0.7;\n margin-top: 5px;\n cursor: pointer; }\n\n.wpstg-remove-exclude-rule:hover {\n background-color: #E01E5A;\n border-color: #E01E5A; }\n\n.wpstg-code-block {\n margin-top: 4px;\n font-size: 1.2em;\n background: #f8f8f8;\n border-radius: 2px; }\n\n.wpstg-rule-info {\n background: #f8f8f8 !important; }\n\ncode.wpstg-code {\n display: inline-block;\n font-size: 11px;\n border: 1px solid #aaa;\n background: #fff;\n padding: 2px 4px;\n margin-bottom: 1px;\n color: #E01E5A; }\n\n.wpstg-exclusion-rule-info {\n color: #fff !important;\n background-color: #ffc107;\n border: 1px solid #ffc107;\n width: 14px;\n height: 14px;\n border-radius: 7px;\n font-size: 14px;\n padding: 0;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n outline: none;\n box-shadow: none;\n font-weight: 400;\n vertical-align: middle; }\n\n.wpstg-exclusion-rule-info:hover {\n background-color: #ffba0c;\n border: 1px solid #ffba0c; }\n\n/**\n * WP STAGING INPUTS EXCLUSION RULES\n */\n.wpstg-exclude-rule-input {\n font-size: 12px !important;\n padding: 2px 6px;\n box-shadow: none;\n outline: none !important;\n display: inline-block;\n font-weight: 400;\n line-height: 1.5;\n color: #222;\n border-radius: 0 !important;\n background-color: #fff;\n border: 1px solid #bbb;\n min-height: 24px !important;\n margin-top: 4px;\n margin-left: 4px;\n vertical-align: baseline !important;\n transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);\n width: 135px; }\n\n.wpstg-excluded-filters-container tbody > tr:last-child .wpstg-exclude-rule-input {\n margin-bottom: 4px; }\n\n.wpstg-exclude-rule-input:hover {\n border: 1px solid #999; }\n\n.wpstg-exclude-rule-input:focus {\n border: 1px solid #25A0F1 !important;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24) !important; }\n\n.wpstg-file-size-exclude-select,\n.wpstg-path-exclude-select {\n width: 135px; }\n\n.wpstg-file-size-exclude-select-small {\n width: 52px; }\n\n.wpstg-file-size-exclude-input {\n width: 75px; }\n\n.wpstg-staging-option-title {\n margin: 15px 0 0; }\n\n.wpstg-swal-push-container.wpstg--swal2-container {\n z-index: 9995; }\n\n#wpstg-scanning-files {\n padding-bottom: 5px; }\n\n#wpstg-scanning-files.wpstg-tab-section, #wpstg-scanning-db.wpstg-tab-section {\n padding-top: 10px; }\n\n.wpstg-reset-excludes-container {\n margin: 10px 0; }\n\n.wpstg-swal2-ajax-loader {\n width: 100%;\n height: 150px;\n overflow: hidden;\n display: flex;\n justify-content: center;\n align-items: center; }\n\n@keyframes wpstg-loading-icon-anim {\n 0% {\n transform: rotate(0); }\n 100% {\n transform: rotate(360deg); } }\n\n.wpstg-swal2-ajax-loader > img {\n width: 64px;\n height: 64px;\n animation: wpstg-loading-icon-anim 1s infinite linear;\n -webkit-animation: wpstg-loading-icon-anim 1s infinite linear; }\n\n.wpstg-swal2-container .wpstg-tab-section {\n width: auto !important; }\n\n#wpstg-no-staging-site-results {\n margin-top: 10px;\n max-width: 375px; }\n\nli#wpstg-backup-no-results {\n max-width: 500px; }\n\nli#wpstg-backup-no-results div, #wpstg-no-staging-site-results div {\n display: inline-block;\n text-align: center; }\n\nli#wpstg-backup-no-results .wpstg--dashicons, #wpstg-no-staging-site-results .wpstg--dashicons {\n filter: invert(50%);\n position: absolute;\n margin-top: 1px; }\n\nli#wpstg-backup-no-results .no-backups-found-text, #wpstg-no-staging-site-results .no-staging-site-found-text {\n color: #5d5d5d;\n margin-left: 20px; }\n\n@media only screen and (max-width: 680px) {\n li#wpstg-backup-no-results div, #wpstg-no-staging-site-results div {\n width: 100%; } }\n\n#wpstg--modal--backup--download-inner p.wpstg-download-modal-text {\n font-size: 16px;\n color: #565656; }\n\n#wpstg--modal--backup--download-inner h2 {\n color: #565656; }\n\n.wpstg-backup-restore-contains-database,\n.wpstg-backup-restore-contains-files {\n display: none; }\n\n.wpstg-green-button {\n background: #8bc34a;\n border: 1px solid #78a93f;\n color: white;\n text-shadow: 0 -1px 1px #78a93f, 1px 0 1px #78a93f, 0 1px 1px #40c921, -1px 0 1px #78a93f; }\n\n.wpstg-green-button:hover {\n background: #78a93f; }\n\n.wpstg-is-dir-loading {\n position: absolute;\n margin-top: -2px;\n margin-left: 8px;\n display: none; }\n\n.wpstg-ml-8px {\n margin-left: 8px; }\n\n.wpstg-mb-8px {\n margin-bottom: 8px; }\n\n.wpstg-btn-danger {\n background-color: #E01E5A;\n border: 1px solid #E01E5A;\n color: white;\n text-shadow: none; }\n\n.wpstg-btn-danger:hover {\n background: #c0194d;\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3); }\n\n.wpstg-swal2-container.wpstg-swal2-loading > .wpstg--swal2-modal {\n height: 200px; }\n\n.wpstg-swal2-container.wpstg-swal2-loading.wpstg-swal2-loading-sm > .wpstg--swal2-modal {\n height: 100px; }\n\n.wpstg-swal2-container.wpstg-swal2-loading.wpstg-swal2-loading-sm .wpstg-swal2-ajax-loader img {\n height: 32px;\n width: 32px; }\n\n.wpstg-reset-confirmation.wpstg-swal2-container:not(.wpstg-swal2-loading) > .wpstg--swal2-modal {\n max-width: 480px; }\n\n.wpstg-reset-confirmation.wpstg-swal2-container .wpstg--swal2-header {\n display: none; }\n\n.wpstg-reset-confirmation.wpstg-swal2-container .wpstg--swal2-content {\n height: auto; }\n\n.wpstg-reset-confirmation.wpstg-swal2-container > .wpstg--swal2-modal > .wpstg--swal2-content .wpstg-tabs-wrapper {\n overflow-y: auto;\n height: auto !important; }\n\n.wpstg-reset-confirmation.wpstg-swal2-container > .wpstg--swal2-modal > .wpstg--swal2-content {\n font-size: 13px; }\n\n.wpstg-reset-confirmation.wpstg-swal2-container > .wpstg--swal2-modal > .wpstg--swal2-content .wpstg-dir {\n margin-bottom: 4px; }\n\n.wpstg-reset-confirmation.wpstg-swal2-container > .wpstg--swal2-modal > .wpstg--swal2-content .wpstg-subdir {\n margin-top: 4px; }\n\n.wpstg-reset-confirmation.wpstg-swal2-container.has-collapsible-open .wpstg--swal2-modal {\n height: calc(100vh - 70px); }\n\n.wpstg-reset-confirmation.wpstg-swal2-container.has-collapsible-open > .wpstg--swal2-modal > .wpstg--swal2-content .wpstg-tabs-wrapper {\n height: calc(100vh - 350px) !important; }\n\n.wpstg--swal2-actions.wpstg--modal--actions > button {\n margin-left: 4px;\n margin-right: 4px;\n text-transform: uppercase;\n text-shadow: initial;\n font-weight: 500;\n min-width: 80px; }\n\n.wpstg-swal-popup {\n max-width: 1200px !important; }\n\n.wpstg-swal-popup.wpstg-push-finished .wpstg--swal2-title {\n color: #a8a8a8; }\n\n.wpstg-swal-popup.wpstg-push-finished .wpstg--swal2-content {\n margin-top: 8px;\n color: #a8a8a8; }\n\n.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step.wpstg--swal2-active-progress-step,\n.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step,\n.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step-line {\n background: #25a1f0; }\n\n.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step-line {\n width: 2.75em; }\n\n.wpstg--dashicons {\n width: 16px;\n height: 16px; }\n\n.wpstg--dashicons.wpstg-dashicons-grey {\n filter: invert(20%); }\n\n.wpstg--dashicons.wpstg-dashicons-19 {\n width: 19px;\n height: 19px; }\n\n.wpstg--dashicons.wpstg-dashicons-21 {\n width: 21px;\n height: 21px; }\n\n#wpstg--tab--backup #wpstg-step-1 {\n display: flex;\n align-items: center; }\n\n.wpstg-advanced-options .wpstg--tooltip,\n#wpstg--tab--backup #wpstg-step-1 .wpstg--tooltip {\n border-bottom: 0 solid transparent;\n display: inline-flex;\n align-items: center; }\n\n.wpstg-advanced-options-site .wpstg--tooltip img.wpstg--dashicons {\n filter: invert(17%) sepia(0%) saturate(1%) hue-rotate(195deg) brightness(97%) contrast(77%); }\n\n#wpstg--tab--backup #wpstg-step-1 .wpstg--tooltip {\n border-bottom: 0 solid transparent;\n display: flex;\n align-items: center; }\n\n.wpstg--tooltip .wpstg--tooltiptext-backups::after {\n left: calc(20% + 2px); }\n\n.wpstg-listing-single-backup .wpstg--dashicons {\n width: 17px;\n height: 17px; }\n\n.wpstg-100-width {\n width: 100px; }\n\n.wpstg-caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: 4px solid;\n border-right: 4px solid transparent;\n border-left: 4px solid transparent;\n transition: transform 0.2s;\n cursor: pointer; }\n\n.wpstg-caret.wpstg-caret-up {\n transform: rotate(-180deg); }\n\n.wpstg-advanced-options-site label {\n font-size: 16px;\n display: block;\n margin: .5em 0; }\n\n#wpstg-confirm-backup-restore-data {\n font-size: 18px;\n margin: 0;\n margin-top: 30px; }\n\n/* Sweetalert WP STAGING Theme */\nbody.toplevel_page_wpstg_backup .wpstg--swal2-container.wpstg--swal2-backdrop-show,\nbody.toplevel_page_wpstg_clone .wpstg--swal2-container.wpstg--swal2-backdrop-show {\n background: rgba(0, 0, 0, 0.6);\n z-index: 9995; }\n\n.wpstg-swal-popup.wpstg--swal2-popup {\n border-radius: 8px;\n z-index: 9999;\n padding: 24px;\n color: #3e3e3e;\n font-family: Verdana, Geneva, Tahoma, sans-serif; }\n\n.wpstg-swal-popup .wpstg--swal2-title {\n font-size: 22px;\n color: #3e3e3e; }\n\n.wpstg-swal-popup.wpstg--swal2-popup:not(.centered-modal) .wpstg--swal2-title {\n align-self: flex-start;\n /* For an actual Swal title */\n text-align: left;\n /* Manually adding this class to a non flex display */\n margin-bottom: 0; }\n\n.wpstg-swal-popup .wpstg--swal2-close {\n top: 8px;\n right: 8px;\n z-index: 5; }\n\n.wpstg-swal-popup .wpstg--swal2-close:focus {\n outline: none; }\n\n.wpstg-swal-popup.wpstg--swal2-popup:not(.centered-modal) .wpstg--swal2-actions {\n justify-content: flex-end; }\n\n.wpstg-swal-popup .wpstg--swal2-actions > button {\n border-radius: 4px;\n font-weight: 900;\n border: 0;\n font-size: 15px;\n padding: 10px 12px;\n text-transform: capitalize;\n line-height: normal;\n height: 40px;\n min-width: 100px;\n text-shadow: none; }\n\n.wpstg-swal-popup.wpstg--swal2-popup:not(.centered-modal) .wpstg--swal2-actions > button {\n margin-left: 8px; }\n\n.wpstg-swal-popup .wpstg--swal2-actions > button.wpstg--swal2-cancel {\n border: 1px solid rgba(29, 28, 29, 0.3);\n background: #fff;\n color: #1d1c1d;\n font-weight: 500;\n width: 100px;\n text-shadow: none; }\n\n.wpstg-swal-popup .wpstg--swal2-actions > button:hover {\n box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1); }\n\n.wpstg-swal-popup .wpstg--swal2-actions > button.wpstg--swal2-cancel:hover {\n background: rgba(28, 29, 28, 0.04); }\n\n#wpstg-backup-name-input {\n height: 44px;\n font-size: 18px; }\n\n.wpstg-restore-finished-container .wpstg--swal2-title {\n color: #565656 !important; }\n\n/*#wpstg-restore-success {\n color: #565656;\n}*/\n.wpstg-restore-finished-container .wpstg--swal2-content {\n margin-top: 20px;\n color: #a8a8a8; }\n\n/* WP Staging Implementation of Windows Style Linear Loader */\n.wpstg-linear-loader > span[class*=\"wpstg-linear-loader-item\"] {\n height: 6px;\n width: 6px;\n background: #333;\n display: inline-block;\n margin: 12px 2px;\n border-radius: 100%;\n animation: wpstg_linear_loader 3s infinite;\n animation-timing-function: cubic-bezier(0.03, 0.615, 0.995, 0.415);\n animation-fill-mode: both; }\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(1) {\n animation-delay: 1s; }\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(2) {\n animation-delay: 0.8s; }\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(3) {\n animation-delay: 0.6s; }\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(4) {\n animation-delay: 0.4s; }\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(5) {\n animation-delay: 0.2s; }\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(6) {\n animation-delay: 0s; }\n\n@keyframes wpstg_linear_loader {\n 0% {\n transform: translateX(-30px);\n opacity: 0; }\n 25% {\n opacity: 1; }\n 50% {\n transform: translateX(30px);\n opacity: 0; }\n 100% {\n opacity: 0; } }\n\n/* END - Windows Style Linear Loader */\n.wpstg--modal--backup--import--upload--content {\n padding: .75em;\n margin: 1em auto; }\n\n.wpstg--modal--backup--import--upload--content .wpstg-linear-loader {\n display: none; }\n\n#wpstg-multisite-disabled .wpstg-clone {\n width: 355px; }\n\n#wpstg-free-version-backups .wpstg-clone p {\n font-size: 16px; }\n\n.wpstg-staging-info li .backup-notes {\n word-break: break-word; }\n\n.wpstg--modal--import--upload--progress--title small {\n font-weight: normal; }\n\n#wpstg-report-issue-wrapper {\n position: relative; }\n\n#wpstg-report-issue-wrapper .arrow-up {\n width: 0;\n height: 0;\n border-left: 8px solid transparent;\n border-right: 8px solid transparent;\n border-bottom: 8px solid white;\n position: absolute;\n top: -8px;\n right: 40px; }\n\n.notice {\n margin: 10px 20px 0 2px; }\n\n.wpstg--notice {\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);\n margin: 20px 20px 20px 0px;\n padding: 1px 12px; }\n\n.wpstg--error a:hover {\n color: #eeeeee; }\n\n.wpstg--error, .wpstg--error a {\n background: #E01E5A;\n color: white; }\n\n/**\n * Buttons\n */\n.wpstg-button {\n display: inline-block;\n border-radius: 2px;\n cursor: pointer;\n padding: 2px 10px 2px 10px;\n text-transform: uppercase;\n font-weight: 500;\n outline: 0;\n transition: background-color .1s ease-in;\n text-decoration: none; }\n\n.wpstg-button.wpstg-save {\n background-color: #1687A7;\n color: white; }\n\n.wpstg-button.wpstg-save:hover {\n background-color: #276678; }\n\n.wpstg-button.wpstg-button-light {\n background-color: #f8f8f8;\n border: 1px solid #eee;\n color: #333;\n animation: background-color 0.3s; }\n\n.wpstg-button.wpstg-button-light:hover {\n background-color: #e0e0e0;\n border: 1px solid #e0e0e0; }\n\n.wpstg-buttons .spinner {\n float: none;\n margin: 0 0 0 5px; }\n\n.wpstg-button.danger {\n display: inline-block;\n text-decoration: none;\n text-align: center;\n text-transform: inherit;\n background-color: #E01E5A;\n color: white;\n border-radius: 2px;\n border-color: transparent; }\n\n.wpstg-button.danger:hover {\n background-color: #c0194d; }\n\n.wpstg-button--big {\n display: inline-block;\n padding: 10px;\n min-width: 170px;\n font-size: 16px;\n text-decoration: none;\n text-align: center;\n margin-top: 20px;\n color: white;\n border-radius: 3px; }\n\n.wpstg-button--primary {\n display: inline-block;\n text-decoration: none;\n font-size: 13px;\n line-height: 2.15384615;\n min-height: 30px;\n margin: 0;\n padding: 0 10px;\n cursor: pointer;\n border: 1px solid rgba(29, 28, 29, 0.3);\n -webkit-appearance: none;\n border-radius: 2px;\n white-space: nowrap;\n box-sizing: border-box;\n color: #171717; }\n\n.wpstg-button--primary:hover {\n background: rgba(28, 29, 28, 0.04);\n color: black; }\n\n.wpstg-button--secondary {\n display: inline-block;\n background-color: transparent;\n color: #95a5a6;\n border-radius: 2px;\n border: 1px solid rgba(29, 28, 29, 0.3);\n cursor: pointer;\n padding: 4px 10px 2px 10px;\n font-weight: 500;\n outline: 0;\n transition: background-color .1s ease-in;\n text-decoration: none; }\n\n.wpstg-button--red {\n background-color: #E01E5A;\n border-color: #E01E5A;\n color: white; }\n\n.wpstg-button--red:hover {\n background-color: #d02358;\n border-color: #e0255f;\n color: white; }\n\n.wpstg-button--cta-red {\n background-color: #fe008f;\n border-color: #E01E5A;\n color: white; }\n\n.wpstg-button--cta-red:hover {\n background-color: #f31391;\n border-color: #e0255f;\n color: white; }\n\n.wpstg-button--blue {\n background-color: #25A0F1;\n border-color: #25A0F1;\n color: white; }\n\n.wpstg-button--blue:hover {\n background-color: #259be6;\n border-color: #259be6;\n color: white; }\n\n#wpstg-button-backup-upgrade {\n font-size: 16px;\n width: 150px;\n text-align: center; }\n\n.wpstg-staging-status {\n color: #E01E5A; }\n\n#wpstg-push-changes,\n#wpstg-start-updating,\n#wpstg-save-clone-data {\n margin-left: 5px; }\n\ninput.wpstg-textbox {\n border: 1px solid #aaa;\n border-radius: .25rem;\n padding: 0.25rem 0.5rem;\n font-size: 14px; }\n\ninput.wpstg-textbox:focus {\n outline: 0;\n border-color: #259be6;\n -webkit-box-shadow: 0 0 0 0.1rem rgba(221, 221, 221, 0.35);\n box-shadow: 0 0 0 0.1rem rgba(221, 221, 221, 0.35); }\n\ninput.wpstg-textbox::placeholder {\n color: #888; }\n\n.wpstg--advance-settings--checkbox {\n display: flex;\n align-items: center; }\n\n.wpstg--advance-settings--checkbox > label {\n font-size: 14px;\n font-weight: bolder;\n width: 165px;\n display: inline-block; }\n\n.wpstg--advance-settings--checkbox > .wpstg--tooltip {\n margin-top: 5px;\n margin-left: 5px;\n position: relative;\n display: inline-block;\n border-bottom: 0px solid transparent; }\n\n.wpstg--advance-settings--checkbox > .wpstg--tooltip > .wpstg--tooltiptext {\n top: 18px;\n left: -150px; }\n\ndiv#wpstg-restore-wait {\n display: none;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n text-align: center;\n height: 100vh;\n width: 100vw;\n position: fixed;\n top: 0;\n left: 0;\n background: white;\n z-index: 99999; }\n\ndiv#wpstg-restore-wait .wpstg-title {\n font-weight: bold; }\n\ndiv#wpstg-restore-wait div {\n font-size: 16px;\n margin-top: 12px; }\n\n.resumable-browse {\n cursor: pointer; }\n\n.resumable-browse a {\n text-decoration: underline; }\n\n.wpstg-upload-text {\n font-weight: 600; }\n\n.wpstg--modal--backup--import--upload--container.dragover {\n transition: background-color 0.7s;\n background-color: #94dc96;\n color: #FFF; }\n\n.wpstg--modal--backup--import--upload--container.dragover * {\n pointer-events: none;\n /* Avoids flickering when dragging to drop a file */ }\n\n.wpstg--modal--backup--import--upload--container.dragover .wpstg-upload-text {\n display: none; }\n\n.wpstg--modal--backup--import--upload--container.dragover .wpstg-dragover-text {\n display: block; }\n\n.wpstg--modal--backup--import--upload--container .wpstg-dragover-text {\n display: none; }\n\n#wpstg-invalid-license-message, #wpstg-invalid-license-message a {\n font-weight: 500;\n color: #E01E5A;\n margin-left: 6px; }\n\n#wpstg-sidebar--banner {\n max-width: 200px; }\n\n@media screen and (max-width: 1234px) {\n .wpstg-h2 {\n font-size: 24px; }\n #wpstg-welcome li {\n font-size: 14px; } }\n\n.wpstg-exclamation {\n color: #ffffff;\n border-radius: 100%;\n background-color: #E01E5A;\n width: 20px;\n height: 20px;\n text-align: center;\n font-weight: bold;\n display: inline-block;\n margin: 6px; }\n\n.wpstg--tab--contents {\n padding-top: 1px; }\n\n.wpstg-swal-show.wpstg--swal2-show {\n -webkit-animation: wpstg-swal-show 0.2s !important;\n animation: wpstg-swal-show 0.2s !important; }\n\n@-webkit-keyframes wpstg-swal-show {\n 0% {\n transform: scale(0.3); }\n 100% {\n transform: scale(1); } }\n\n@keyframes wpstg-swal-show {\n 0% {\n transform: scale(0.3); }\n 100% {\n transform: scale(1); } }\n\n.wpstg-tab-item--vert-center {\n display: flex;\n align-items: center; }\n\n.wpstg-db-comparison-modal {\n padding-left: 10px;\n padding-right: 10px; }\n\n.wpstg-db-comparison-table {\n font-size: 13px;\n width: 100%; }\n\n.wpstg-db-comparison-table tbody td {\n padding-top: 6px; }\n\n.wpstg-db-comparison-table tr > td:first-child,\n.wpstg-db-comparison-table tr > th:first-child {\n text-align: left; }\n\n.wpstg-css-tick {\n display: inline-block;\n transform: rotate(45deg);\n height: 12px;\n width: 6px;\n border-bottom: 3px solid #78b13f;\n border-right: 3px solid #78b13f; }\n\n.wpstg-css-cross {\n position: relative;\n top: -8px;\n left: -2px;\n width: 16px;\n height: 16px; }\n\n.wpstg-css-cross:before, .wpstg-css-cross:after {\n position: absolute;\n content: ' ';\n height: 17px;\n width: 3px;\n background-color: #E01E5A; }\n\n.wpstg-css-cross:before {\n transform: rotate(45deg); }\n\n.wpstg-css-cross:after {\n transform: rotate(-45deg); }\n\n.wpstg-selection-preview {\n font-size: 12px;\n margin-left: 20px;\n color: #3216; }\n\n.wpstg-selection-preview.danger {\n color: #E01E5A; }\n\n.wpstg--backup-automated {\n margin-bottom: -5px; }\n\n.wpstg--dismiss-schedule {\n cursor: pointer; }\n\n.wpstg-import-backup-contains.wpstg-listing-single-backup {\n vertical-align: middle; }\n\n.wpstg-import-backup-contains.wpstg-listing-single-backup li {\n padding: 2px; }\n\n.wpstg--modal--backup--manage--schedules--content table {\n margin: 0 auto;\n width: 100%; }\n\n.wpstg--modal--backup--manage--schedules--title {\n text-align: left;\n margin-bottom: 10px;\n margin-top: 0px; }\n\n.wpstg--modal--backup--import--upload--title {\n text-align: center; }\n\n#wpstg--modal--backup--manage--schedules--content {\n text-align: left; }\n\n#wpstg--modal--backup--manage--schedules--content thead {\n font-weight: bold; }\n\n#wpstg--modal--backup--manage--schedules--content .wpstg--tooltip.wpstg--dismiss-schedule {\n border-bottom: none; }\n\n.wpstg--tooltip.wpstg--dismiss-schedule img.wpstg--dashicons {\n filter: invert(18%) sepia(57%) saturate(6238%) hue-rotate(332deg) brightness(93%) contrast(88%); }\n\n#wpstg--modal--backup--manage--schedules--content td {\n padding-right: 25px;\n padding-top: 10px; }\n\n#wpstg--modal--backup--manage--schedules--content td:last-child {\n padding-right: 0px; }\n\n#wpstg--modal--backup--manage--schedules--content ul {\n margin-top: 0;\n margin-bottom: 0; }\n\n#wpstg--modal--backup--manage--schedules--content ul li:first-child .wpstg--tooltip {\n margin-left: 0; }\n\n.wpstg-button:disabled {\n background-color: #dddddd;\n text-shadow: none;\n color: #b3b3b3;\n border: 1px solid #cfcfcf;\n cursor: not-allowed; }\n\n#wpstg-backup-runs-info {\n margin: 0px;\n margin-top: 20px;\n padding: 0px;\n font-size: 12px; }\n\n#wpstg-backup-runs-info li {\n margin: 0px; }\n\ndiv#wpstg-backup-locked {\n width: 100%;\n max-width: calc(800px - 30px);\n padding: 15px;\n background: white;\n margin-bottom: 10px;\n display: flex;\n align-items: center; }\n\n#wpstg-backup-locked .icon {\n display: inline-block;\n height: 20px; }\n\n#wpstg-backup-locked .icon img {\n animation: wpstg-loading-icon-anim 2s infinite; }\n\n#wpstg-backup-locked .text {\n display: inline-block;\n margin-left: 15px; }\n\n#backup-schedule-current-time {\n font-size: 12px; }\n\n.wpstg-backup-scheduling-options label {\n margin-top: 17px; }\n\n.wpstg-backup-scheduling-options .wpstg-storage-option {\n display: block;\n margin: .5em 0;\n font-size: 15px; }\n\n.wpstg-storage-option > span:not(.wpstg-storage-settings) {\n width: 150px;\n display: inline-block; }\n\n.wpstg-storages-postbox {\n padding: 13px 16px;\n margin-top: 8px;\n margin-bottom: 8px;\n background-color: white; }\n\n.wpstg-storages-postbox a {\n padding: 8px;\n margin-right: 8px;\n text-decoration: none;\n font-weight: bold;\n color: #3c434a; }\n\n.wpstg-storages-postbox a:hover {\n color: #b70b72; }\n\n.wpstg-storage-postbox {\n padding: 4px 16px;\n background-color: white; }\n\n.wpstg-storages-postbox a.wpstg-storage-provider-active {\n background: #b70b72;\n color: white;\n font-weight: 700;\n cursor: default;\n border-radius: 3px; }\n\n.wpstg-storages-postbox a.wpstg-storage-provider-active:hover {\n background: #a10a64; }\n\n.wpstg-storages-postbox a.wpstg-storage-provider-disabled {\n color: #999;\n cursor: not-allowed; }\n\n.wpstg-provider-revoke-form {\n display: inline;\n margin-top: 12px;\n margin-bottom: 12px; }\n\n.wpstg-provider-settings-form {\n margin-top: 10px; }\n\n.wpstg-provider-settings-form strong {\n display: block;\n margin: 8px 0; }\n\n.wpstg-provider-settings-form p {\n margin: 0;\n margin-bottom: 8px; }\n\n.wpstg-provider-settings-form fieldset {\n margin: 0;\n padding: 0;\n margin-bottom: 16px; }\n\n.wpstg-provider-settings-form fieldset p {\n margin: 0;\n padding: 5px;\n font-size: 12px; }\n\n.wpstg-provider-settings-form fieldset label {\n display: block;\n margin-bottom: 2px; }\n\n.wpstg-provider-settings-form fieldset input {\n font-size: 12px; }\n\n.wpstg-provider-settings-form .wpstg-link-btn.wpstg-blue-primary {\n text-shadow: none; }\n\n.wpstg-btn-google {\n font-family: Roboto;\n display: inline-flex;\n align-items: center;\n border-width: 0;\n outline: none;\n border-radius: 3px;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);\n color: #555;\n transition: background-color .3s;\n padding: 8px;\n padding-right: 16px;\n height: 40px;\n line-height: 40px;\n font-size: 14px;\n box-sizing: border-box;\n text-decoration: none;\n font-weight: bold;\n margin-right: 10px; }\n\n.wpstg-btn-google img {\n width: 18px;\n height: 18px;\n margin-right: 12px;\n margin-left: 5px; }\n\n#wpstg-custom-google-credentials {\n margin-top: 20px; }\n\n.wpstg-fieldset .wpstg-with-icon {\n display: inline-flex;\n align-items: center; }\n\n.wpstg-fieldset .wpstg-with-icon .wpstg-fieldset-icon {\n margin-left: 8px; }\n\n.wpstg-fieldset .wpstg-with-icon .wpstg-fieldset-icon img {\n width: 16px;\n height: 16px; }\n\n#wpstg-btn-provider-revoke {\n border-radius: 2px; }\n\n.wpstg-metabox-holder {\n border-radius: 8px;\n background: #fff;\n padding: 20px;\n margin-left: 16px;\n min-height: 600px;\n margin-right: 32px;\n margin-top: 60px;\n -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0.13), 0 1px 3px rgba(0, 0, 0, 0.1);\n box-shadow: 0 0 1px rgba(0, 0, 0, 0.13), 0 1px 3px rgba(0, 0, 0, 0.1); }\n\n@media only screen and (max-width: 680px) {\n .wpstg-metabox-holder {\n padding: 0px;\n padding-top: 5px;\n margin-left: 0;\n margin-right: 5px; }\n #wpstg-tab-container .wpstg-settings-panel {\n padding: 0;\n overflow: auto; }\n .wpstg-form-table td:first-child {\n width: 50%; } }\n\n.wpstg-nav-tab {\n float: left;\n border: 1px solid #ffffff;\n border-bottom: none;\n margin-left: 0.5em;\n padding: 5px 10px;\n font-size: 14px;\n line-height: 1.71428571;\n font-weight: 600;\n background: #dcdcde;\n color: #3c434a;\n text-decoration: none;\n white-space: nowrap; }\n\n.wpstg-nav-tab-active, .wpstg-nav-tab-active:focus, .wpstg-nav-tab-active:focus:active, .wpstg-nav-tab-active:hover {\n border-bottom: 1px solid #f0f0f1;\n background: #f3f5f7;\n color: #b70b72;\n -webkit-box-shadow: -4px -13px 14px -12px rgba(0, 0, 0, 0.16);\n box-shadow: -4px -13px 14px -12px rgba(0, 0, 0, 0.16); }\n\n.wpstg-nav-tab-active {\n margin-bottom: -1px; }\n\n.wpstg-nav-tab-wrapper {\n /*\n border-bottom: 1px solid #c3c4c7;\n */\n margin: 0;\n padding-top: 9px;\n padding-bottom: 0;\n line-height: inherit; }\n\n.wpstg-nav-tab-wrapper li {\n margin-bottom: 0px; }\n\n#wpstg--js--translations {\n text-decoration: underline; }\n"]}
assets/css/dist/wpstg-admin.min.css CHANGED
@@ -1,2 +1,2 @@
1
- @font-face{font-family:Roboto;font-style:normal;font-weight:400;src:url(../../fonts/roboto-v29-latin-regular.eot);src:local(""),url(../../fonts/roboto-v29-latin-regular.eot?#iefix) format("embedded-opentype"),url(../../fonts/roboto-v29-latin-regular.woff2) format("woff2"),url(../../fonts/roboto-v29-latin-regular.woff) format("woff"),url(../../fonts/roboto-v29-latin-regular.ttf) format("truetype"),url(../../fonts/roboto-v29-latin-regular.svg#Roboto) format("svg")}.wpstg--violet{color:#9d37ae}.wpstg-border--violet{border:1px solid #9d37ae}.wpstg--red{color:#e01e5a}.wpstg-cta--red{color:#fe008f}.wpstg--blue{color:#24a1f0}.wpstg--darkblue{color:#0e86d9}.wpstg--green{color:#83c11f}.wpstg--grey{color:#3e3e3e}.wpstg--darkgrey{color:#1b1b1b}.wpstg--filter--svg{filter:invert(24%) sepia(11%) saturate(558%) hue-rotate(169deg) brightness(97%) contrast(91%)}body.toplevel_page_wpstg_clone,body.wp-staging-pro_page_wpstg-license,body.wp-staging-pro_page_wpstg-settings,body.wp-staging-pro_page_wpstg-tools,body.wp-staging-pro_page_wpstg_backup{background-color:#f3f5f7}#wpstg-tab-container ul{background:#f1f1f1;float:left;list-style:none;margin:0;padding:0}#wpstg-tab-container ul li:first-child.selected-tab{border-top:none}#wpstg-tab-container ul li a.selected-tab{font-weight:700;text-decoration:none}#wpstg-tab-container .row{padding-bottom:12px;padding-top:10px}.wpstg-tabs-container .nav-tab-wrapper{padding:0}#wpstg-tab-container .row label strong,#wpstg-tab-container .row strong{font-weight:700}.wpstg-tabs a{padding:5px}#wpstg-tab-container>ul>li.wpstg-tabs.active{background-color:#fff}#wpstg_settingsgeneral_header .row:nth-child(3),#wpstg_settingsgeneral_header .row:nth-child(4){display:none}#wpstg-tab-container .wpstg-settings-panel{overflow:auto;padding:0 20px 20px}#wpstg-tab-container .wpstg-form-table th{color:#484848;font-size:14px;font-weight:700;line-height:1.3;padding:20px 10px 20px 0;text-align:left;vertical-align:top;width:30%}#wpstg-tab-container .wpstg-form-table tr{border-bottom:1px solid #e7e7e7}#wpstg-tab-container span.description{color:#484848;display:block;font-size:13px;font-style:normal;font-weight:400;margin-top:7px}#wpstg-tab-container .col-title{color:#484848}@media only screen and (max-width:680px){#wpstg-tab-container ul{float:none}#wpstg-tab-container .wpstg-form-table tr>th{width:100%}#wpstg-tab-container span.description{font-size:14px}#wpstg-tab-container .wpstg-form-table tr>td,#wpstg-tab-container .wpstg-form-table tr>th{padding:10px}}#wpstg-tab-container ul li{margin-bottom:0}#wpstg-tab-container ul li a{border-bottom:1px solid #e7e7e7;border-left-style:solid;border-left-width:0;border-right-style:solid;border-right-width:0;border-top:1px solid #fff;color:#0097df;display:block;font-weight:700;padding:10px 4px 10px 14px;text-decoration:none}#wpstg-tab-container ul li a:hover{background-color:#e5e5e5;color:#777}.wpstg-logo{display:block;float:left;font-size:16px;padding-top:20px;width:220px}.wpstg-logo img{max-width:212px}.wpstg-version{color:#9b9b9b;display:block;padding-top:40px}.wpstg_admin .nav-tab{color:#3c3c3c}#wpstg-tab-container table tbody tr:first-child>th>div{font-size:20px}#wpstg-clonepage-wrapper{margin-bottom:20px;width:98%}@media screen and (min-width:1090px){#wpstg-clonepage-wrapper{float:left;margin-bottom:20px}}#wpstg-steps{margin-left:20px;margin-top:0}#wpstg-steps li{color:#444;float:left;line-height:20px;padding-right:10px}.wpstg-step-num{border:1px solid #3e3e3e;border-radius:3px;display:inline-block;height:20px;margin-right:5px;text-align:center;width:20px}.wpstg-current-step{font-weight:700}.wpstg-current-step .wpstg-step-num{background:#3e3e3e;color:#eee}.wpstg-box{margin:10px 0;overflow:hidden;padding:10px}.wpstg-box,.wpstg-clone{position:relative;transition:border-color .2s ease-in-out}.wpstg-clone{background-color:#fff;border-radius:3px;box-shadow:0 0 1px rgba(0,0,0,.125),0 1px 3px rgba(0,0,0,.1);color:#3e3e3e;margin-bottom:10px;padding:16px}.wpstg-clone.active{border-color:#1d94cf}.wpstg-clone-header{align-items:center;display:flex}.wpstg-clone-title{color:#3e3e3e;display:inline-block;font-size:15px;font-weight:700;margin-right:8px;max-width:300px;text-decoration:none}.wpstg-clone-title:hover{color:#111}.wpstg-clone-labels{display:inline-block}.wpstg-clone-labels .wpstg-clone-label{background:#8bc34a;border-radius:3px;color:#fff;display:inline-block;font-size:11px;margin-right:4px;padding:1px 4px}.wpstg-clone-actions{display:flex;margin-left:auto;margin-top:5px}.wpstg-clone-actions .wpstg-dropdown-toggler{background:#25a1f0;border-radius:2px;box-shadow:0 0 1px rgba(0,0,0,.125),0 1px 3px rgba(0,0,0,.2);color:#fff;font-size:14px;padding:6px 10px;text-decoration:none}.wpstg-clone-actions .wpstg-dropdown-toggler:hover{background:#002648;color:#fff}.wpstg-dropdown{position:relative}.wpstg-dropdown>.wpstg-dropdown-menu{background:#fff;border-radius:2px;box-shadow:0 0 1px rgba(0,0,0,.125),0 1px 3px rgba(0,0,0,.2);display:none;flex-direction:column;padding:8px;position:absolute;right:0;top:calc(100% + 4px);width:100px;z-index:1000}.wpstg-dropdown>.wpstg-dropdown-menu.wpstg-menu-dropup{bottom:100%;top:auto;transform:translate3d(0,-3px,0)}.wpstg-dropdown>.wpstg-dropdown-menu.shown{display:flex}.wpstg-clone-action,.wpstg-dropdown-action{border-bottom:1px solid #f3f3f3;border-radius:3px;color:#3e3e3e;padding:6px 8px;position:relative;text-decoration:none;transition:color .2s ease-in-out}.wpstg-clone-action:hover,.wpstg-dropdown-action:hover{background:rgba(0,0,0,.05)}.wpstg-dropdown-action{background:transparent;border:0 solid #000;box-shadow:none;color:#3e3e3e;outline:none}.wpstg-remove-clone:hover{color:#e01e5a}.wpstg-clone-action:last-child{border:none}.wpstg-clone:hover .wpstg-clone-action{display:inline-block}#wpstg-show-error-details:focus,#wpstg-workflow .wpstg-clone-action{box-shadow:none;outline:none}.wpstg-link-btn{background:#45a1c9;color:#fff;display:inline-block;padding:5px 10px;text-decoration:none;transition:all .2s ease-in-out;vertical-align:baseline}.wpstg-link-btn:focus,.wpstg-link-btn:hover{box-shadow:none;color:#fff;outline:none}#wpstg-workflow .wpstg-link-btn:active{vertical-align:baseline}.wpstg-link-btn[disabled]{background:#777!important;border-color:#555!important;pointer-events:none}#wpstg-cancel-cloning,#wpstg-cancel-cloning-update{margin-top:5px}#wpstg-cancel-cloning.success{background:#64dd58;border-color:#54bd4a}#wpstg-error-details,#wpstg-error-wrapper{clear:both;display:none;font-size:13px;padding-top:10px}#wpstg-show-error-details{color:#555;display:inline-block;margin-left:5px;text-decoration:none;transition:color .2s ease-in-out}#wpstg-show-error-details:hover{color:#1d94cf}#wpstg-error-details{border-left:5px solid #e01e5a;padding:10px;width:500px}#wpstg-try-again{display:none}#wpstg-home-link{float:right}.wpstg-loader{content:url(../../img/loading.gif);display:none}.wpstg-loader.wpstg-finished{background-color:#00c89a;border-radius:3px;color:#fff;content:"Finished";display:block;margin-top:0;padding:2px 10px}#wpstg-workflow{clear:both;float:left;max-width:800px;min-height:380px;min-width:500px;padding-bottom:20px;padding-right:20px;padding-top:20px;position:relative}#wpstg-sidebar{display:block;float:left;margin-left:10px;max-width:400px}#wpstg-removing-clone.loading:after,#wpstg-workflow.loading:after{background:hsla(0,0%,100%,.7);content:"Loading... may take a while for huge websites";display:block;font-size:20px;height:100%;left:0;padding-top:100px;position:absolute;text-align:center;top:0;width:100%;z-index:99}#wpstg-removing-clone.loading:after{content:"REMOVING"!important}#wpstg-existing-clones,#wpstg-removing-clone{position:relative}#wpstg-existing-clones h3{color:#3e3e3e}#wpstg-removing-clone .wpstg-tab-section{display:block}.wpstg-progress-bar{background-color:#d6d8d7;height:27px;max-width:900px;padding:0}.wpstg-progress{background:#3fa5ee;float:left;overflow:hidden}.wpstg-progress,.wpstg-progress-files{color:#fff;height:100%;line-height:25px;text-align:center;transition:width .6s ease;width:0}.wpstg-progress-files{background:#16b4f0}#wpstg-clone-path.wpstg-error-input,#wpstg-new-clone-id.wpstg-error-input{border:1px solid #e01e5a;box-shadow:0 0 2px rgba(255,66,53,.8)}#wpstg-new-clone-id{margin-left:15px;max-width:100%;width:450px}#wpstg-new-clone{background:#25a1f0;border-color:#2188c9}#wpstg-new-clone:hover{background:#259be6;border-color:#2188c9}#wpstg-clone-path{margin-left:10px;width:350px}.wpstg-error-msg{color:#e01e5a}#wpstg-clone-id-error{background-color:#f0f8ff;display:block;margin:20px;padding:10px}#wpstg-start-cloning+.wpstg-error-msg{display:block;margin-top:5px}.wpstg-size-info{color:#999;font-weight:400;left:2px;position:relative}.wpstg-db-table .wpstg-size-info{top:2px}.wpstg-db-table:hover{background-color:#f0f8ff}#wpstg-workflow #wpstg-start-cloning{margin-left:5px;vertical-align:baseline}.wpstg-tabs-wrapper{margin:10px 0;max-width:640px}#wpstg-path-wrapper{border-bottom:2px dashed #ccc;margin-bottom:10px;padding-bottom:10px}.wpstg-tab-section{border-bottom:1px solid #ddd;border-left:none;border-right:none;display:none;padding:0 36px;width:calc(100% - 72px)}.wpstg-tab-section:after{clear:both;content:"";display:block}.wpstg-tab-header{border-bottom:1px solid #ddd;border-left:none;border-right:none;color:#444;display:block;font-size:16px;font-weight:700;padding:10px;text-decoration:none}.wpstg-tab-triangle{animation:transform .5s;border-bottom:5px solid transparent;border-left:10px solid;border-top:5px solid transparent;cursor:pointer;display:inline-block;height:0;margin-right:12px;margin-top:-3px;transition:transform .2s;vertical-align:middle;width:0}.wpstg-tab-triangle.wpstg-no-icon{border-bottom:0 solid;border-left:0 solid;border-top:0 solid;height:auto;margin-right:2px;vertical-align:auto;width:auto}.wpstg-tab-triangle.wpstg-rotate-90{transform:rotate(90deg)}.wpstg-tab-header:focus{box-shadow:none;color:#444;outline:none}#wpstg-large-files{border:1px dashed #ccc;display:none;font-size:12px;margin-top:20px;padding:10px;position:relative}#wpstg-large-files h3{background:#fff;left:5px;margin:0;padding:0 5px;position:absolute;top:-10px}.wpstg-subdir{display:none;margin-left:20px}.wpstg-subdir.wpstg-push{display:block;margin-left:20px}.wpstg-dir a.disabled{color:#888;cursor:default;text-decoration:none}.wpstg-check-subdirs{display:inline-block;margin-left:10px}.wpstg-notice-alert{background-color:#e01e5a;color:#fff}.wpstg-notice--white,.wpstg-notice-alert{display:block;margin-top:10px;max-width:600px;padding:20px}.wpstg-notice--white{background-color:#fff}.wpstg-notice-alert a,.wpstg-notice-alert h3{color:#fff}.wpstg-header{clear:both;font-size:19px;font-weight:400;line-height:1.6em;padding-top:10px}#wpstg-clone-label{font-size:14px;font-weight:700}.wpstg-log-details{background-color:#000;border:1px solid #fff;color:silver;font-family:monospace;font-size:12px;height:300px;line-height:15px;margin-top:15px;max-width:650px;overflow:scroll;padding:3px;white-space:nowrap}#wpstg-finished-result{display:none}#wpstg-remove-cloning{background:#ff3428;border-color:#e72f24;margin-top:5px}#wpstg-success-notice{background-color:#fff;border:1px solid #ccc;margin-top:20px;max-width:900px;padding:10px}.wpstg_beta_notice{margin-bottom:20px}.wpstg-sysinfo{height:400px;width:700px}.wpstg-form-table .col-title label{font-weight:600}.wpstg-form-table td:first-child{padding-right:20px;width:30%}.wpstg-share-button-container{margin:5px 0}.wpstg-share-button-container p{margin:0 0 10px}.wpstg-share-button{display:inline-block}.wpstg-share-button a{text-decoration:none}.wpstg-share-button .wpstg-share{-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;color:#fff;display:inline;font-family:sans-serif;font-size:12px;font-weight:700;padding:4px 8px;text-align:center;text-decoration:none}.wpstg-share-button-twitter .wpstg-share{background-color:#00abf0}.wpstg-share-button-facebook .wpstg-share{background-color:#3b5998}.wpstg-share-button-googleplus .wpstg-share{background-color:#f53424}.wpstg-share-button-facebook .share:active,.wpstg-share-button-googleplus .share:active,.wpstg-share-button-twitter .share:active{background-color:#353535}#wpstg-check-space{margin-left:8px}#wpstg-welcome li{font-size:18px;line-height:29px;list-style:none!important;padding-left:23px;position:relative}#wpstg-welcome{background-color:#fff;margin-right:20px;margin-top:20px}.wpstg-heading-pro{font-weight:700}.wpstg-h2{font-size:30px;line-height:2.5rem;margin-bottom:1.2rem;margin-top:0}#wpstg-welcome li:before{background:url(data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%2377B227%22%20d%3D%22M1671%20566q0%2040%2D28%2068l%2D724%20724%2D136%20136q%2D28%2028%2D68%2028t%2D68%2D28l%2D136%2D136%2D362%2D362q%2D28%2D28%2D28%2D68t28%2D68l136%2D136q28%2D28%2068%2D28t68%2028l294%20295%20656%2D657q28%2D28%2068%2D28t68%2028l136%20136q28%2028%2028%2068z%22%2F%3E%3C%2Fsvg%3E) left .4em no-repeat;background-size:contain;color:#77b227;content:"";height:100%;left:0;position:absolute;top:-2px;width:1em}.wpstg-h1{font-size:2.5em;letter-spacing:normal;line-height:3.68rem;margin-bottom:1.35rem}.wpstg--swal2-content{color:#3e3e3e}.wpstg--swal2-content h1{color:#444}#wpstg-welcome h2{margin:0 0 15px}#wpstg-welcome .wpstg-footer{clear:both;font-style:italic;margin-top:20px}#wpstg-footer{clear:both;margin-right:10px;margin-top:20px;padding-top:50px}#wpstg-footer a{text-decoration:none}#wpstg-footer li{list-style:circle;margin-bottom:2px}#wpstg-footer ul{margin-left:15px;margin-top:0}.wpstg-footer--title{margin-left:15px}.wpstg-staging-info{color:#3e3e3e;font-size:12px;margin-top:8px}.wpstg-staging-info a{color:#3e3e3e}.wpstg-staging-info li{margin-bottom:2px}.wpstg-bold{font-weight:600}#wpstg-processing-status{float:left;font-size:13px;font-weight:400;margin-top:5px}#wpstg-processing-timer{float:right;font-size:13px;font-weight:400;margin-top:5px}#wpstg-report-issue-button{background-color:#fff;border:1px solid #e01e5a;color:#e01e5a;margin-left:30px}#wpstg-report-issue-button:hover{background-color:#dc2b62;color:#fff}.wpstg-blue-primary{-webkit-appearance:none;background:#25a1f0;border:1px solid #2188c9;border-radius:3px;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-block;font-size:13px;height:28px;margin:0;text-decoration:none;white-space:nowrap}.wpstg-blue-primary:hover{background:#127fc6}a.wpstg-blue-primary{height:auto;padding:5px 10px}.wpstg-blue-primary:hover{background-color:#259be6}.wpstg-report-issue-form{background-color:#fff;border:1px solid #e8e8e8;border-radius:3px;box-shadow:inset 0 1px 0 0 #fff;display:none;padding:15px 15px 10px;position:absolute;right:0;top:35px;width:300px;z-index:999}@media (max-width:600px){.wpstg-report-issue-form{position:relative}}.wpstg-report-show{display:block}.wpstg-field input[type=text],.wpstg-field textarea{font-weight:400;line-height:1.4;margin-bottom:4px;width:100%}.wpstg-report-email,.wpstg-report-hosting-provider{border-radius:3px;font-size:.8rem;font-weight:400;height:2.3rem;line-height:2.3rem;margin-bottom:4px;padding:0 10px;width:100%}.wpstg-report-description{border-radius:3px;font-size:.8rem;padding:6px 10px;resize:none}.wpstg-report-privacy-policy{font-size:12px;margin-bottom:15px}#wpstg-report-cancel{float:right;font-weight:700;margin-right:5px}#wpstg-success-button{font-weight:700}.wpstg-message{background-color:#f5e0de;border-radius:3px;box-sizing:border-box;-moz-box-sizing:border-box;color:rgba(0,0,0,.6);height:auto;margin:10px 0;min-height:18px;padding:6px 10px;position:relative}.wpstg-message.wpstg-error-message{background-color:#f5e0de;color:#b65147;font-size:12px}.wpstg-message.wpstg-success-message{background-color:#d7f8e0;color:#515151}.wpstg-message p{font-size:13px;margin:3px 0}.wpstg-warning{background-color:#ffb804;color:#fff;display:block;margin:10px 10px 10px 0;padding:10px}.wpstg-warning a{color:#fff;font-weight:700;text-decoration:underline}.wpstg-error{background-color:#e01e5a!important;border-color:transparent!important;box-shadow:none!important;color:#fff;display:block;margin:10px 10px 10px 0!important;padding:10px!important}.wpstg-error a{color:#fff;font-weight:700;text-decoration:underline}#wpstg-resume-cloning{display:none}#wpstg-external-db th{text-align:left;width:120px}#wpstg-db-connect{font-weight:400}#wpstg-db-status{border:1px solid transparent;border-radius:4px;display:block;margin-bottom:20px;margin-top:5px;padding:5px;text-align:center;text-decoration:none}.wpstg-text-field>#wpstg-db-status{margin-left:150px;margin-top:8px;min-width:300px}.wpstg-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.wpstg-failed{background-color:#f2dede;border-color:#ebccd1;color:#a94442}#wpstg_select_tables_cloning{font-size:13px;height:600px}#wpstg_select_tables_pushing{font-size:13px;height:400px}#wpstg-update-notify{background-color:#e01e5a;color:#fff;font-size:14px;line-height:normal;padding:10px}#wpstg-update-notify a{color:#fff;font-weight:700}.wpstg-pointer{cursor:pointer}.wpstg--tab--header{background-color:#fff;border-radius:0;box-shadow:0 0 1px rgba(0,0,0,.125),0 1px 3px rgba(0,0,0,.02);color:#3e3e3e;position:relative;transition:border-color .2s ease-in-out}.wpstg--tab--header ul{display:flex}.wpstg--tab--header ul li{margin-bottom:0;margin-right:1em}.wpstg--tab--header ul li:last-child{margin-right:0}.wpstg--tab--header a{color:#c4c4c4;cursor:pointer;display:inline-block;font-size:18px;min-width:150px;padding:1em 1.25em 9px;text-align:center}.wpstg--tab--header a.wpstg--tab--active{border-bottom:3px solid #0e86d9;color:#25a1f0}.wpstg--tab--header a:hover{background-color:#fefefe;border-bottom:3px solid #0e86d9;color:#0e86d9}.wpstg--tab--content{display:none}.wpstg--tab--active{display:block}#wpstg-premium-header{font-size:1.5rem;font-weight:700}.wpstg--text--strong,.wpstg--text--strong *{font-weight:700!important}.wpstg--text--danger{color:#a94442}.wpstg--tooltip{display:inline-block;margin-left:5px;position:relative}.wpstg--tooltip.wpstg--tooltip-normal{border-bottom:0;margin-left:0}.wpstg--tooltip .wpstg--tooltiptext{background-color:#fff;border-radius:3px;-webkit-box-shadow:0 1px 4px rgba(0,0,0,.16);-moz-box-shadow:0 1px 4px rgba(0,0,0,.16);box-shadow:0 1px 4px rgba(0,0,0,.16);color:#505050;font-weight:400;padding:12px;position:absolute;text-align:left;visibility:hidden;width:300px;z-index:1}.wpstg--tooltiptext-backups{left:-150%;margin-left:-56px;margin-top:4px;top:100%;width:120px}.wpstg--tooltip.wpstg--exclude-rules--tooltip{border-bottom:0 solid transparent}.wpstg--tooltip.wpstg--exclude-rules--tooltip>.wpstg--tooltiptext{margin-left:-150px;margin-top:0}.wpstg--tooltip .wpstg--tooltiptext-backups:after{border:5px solid transparent;border-bottom-color:#fff;bottom:100%;content:" ";left:50%;margin-left:25px;position:absolute}.wpstg--tooltip .wpstg--tooltiptext.has-top-arrow{margin-top:6px}.wpstg--tooltip .wpstg--tooltiptext.has-top-arrow:after{border:5px solid transparent;border-bottom-color:#fff;bottom:100%;content:" ";left:50%;margin-left:-18px;position:absolute}.wpstg--snaphot-restore-table tr{line-height:12px}.wpstg-beta-notice{background-color:#b0e8b0;border-radius:3px;margin-bottom:20px;padding:7px}#wpstg-backup-name{font-size:1.875em;font-weight:600}#wpstg_select_tables_cloning option:checked,#wpstg_select_tables_pushing option:checked{-webkit-appearance:menulist-button;background-image:linear-gradient(0deg,#1e90ff,#1e90ff)}.wpstg--btn--cancel{color:#fff;font-size:16px;height:auto;line-height:normal;margin-bottom:1.5em;padding:.5em}.wpstg--btn--cancel,.wpstg--btn--cancel:hover{background:#ff3428;border-color:#e72f24}.wpstg--process--content>.wpstg--swal2-html-container{padding:4em 2em!important}.wpstg--modal--error--logs,.wpstg--modal--process--logs{background:#fff;border:1px solid #a8a8a8;border-radius:3px;display:none;height:300px;margin-top:1em;overflow:auto;padding-left:10px;padding-top:10px;text-align:justify}.wpstg--modal--error--logs{height:auto;max-height:300px}.wpstg--modal--process--logs p{font-size:12px;white-space:nowrap}.wpstg--modal--process--logs p.wpstg--modal--process--msg--info{color:#222}.wpstg--modal--process--logs p.wpstg--modal--process--msg--debug{color:#757575}.wpstg--modal--process--title{color:#565656;margin:.25em 0}.wpstg--modal--process--subtitle{color:#565656;margin:.5em 0}.wpstg--modal--error--logs>p{color:#222;font-size:14px;text-align:left}.wpstg--modal--error--logs p,.wpstg--modal--process--logs p{margin:0 0 2px}.wpstg--modal--process--msg--critical,.wpstg--modal--process--msg--error{color:#e01e5a}.wpstg--modal--process--msg--warning{color:#ff8c00}.wpstg--modal--process--msg-found{color:#e01e5a;font-size:16px;font-weight:700}.wpstg--modal--delete{color:#565656;margin-top:8px;text-align:left}.wpstg-swal-popup .wpstg--swal2-cancel.wpstg--btn--cancel{margin-bottom:0;text-shadow:none!important}.wpstg-swal-popup .wpstg-loader{display:inline-block!important}.wpstg--modal--process--generic-problem{border-left:5px solid #e01e5a;display:none;margin:.5em 0}.wpstg--modal--process--logs--tail{background:none;border:none;color:#565656;cursor:pointer;font-size:16px;text-decoration:underline}.wpstg--modal--backup--import--upload--title{color:#3e3e3e}.wpstg--modal--backup--import--configure,.wpstg--modal--backup--import--upload--container input[type=file],.wpstg--modal--backup--import--upload--status{display:none}#wpstg--backups--import--file-list{font-size:14px;font-weight:700}#wpstg--backups--import--file-list-empty{color:#e01e5a}.wpstg--modal--backup--import--filesystem label{font-size:14px}.wpstg--modal--backup--import--filesystem button{margin-bottom:20px}.wpstg--modal--backup--import--upload{color:#505050;min-height:30px;position:relative}.wpstg--modal--backup--import--upload--container{background-color:#f4fbff;border:3.5px dashed #dedede;border-radius:10px;margin:.5em;min-height:130px;padding:1em .5em;position:relative;transition:background-color .3s ease,color .3s ease}.wpstg--modal--backup--import--upload--container.wpstg--has-dragover span.wpstg--drop{display:inline-flex}.wpstg--modal--backup--import--upload--container input[type=file]{display:none}.wpstg--modal--backup--import--upload--container img{align-self:center;border:none;margin-top:10px;width:4em}.wpstg--modal--backup--import--upload--container span{margin-top:1em}.wpstg--backup--import--options>button{align-self:center;height:auto;line-height:normal;margin-top:1em;padding:1em;width:185px}.wpstg--backup--import--options{display:flex;justify-content:center;position:relative}.wpstg--backup--import--options ul{display:none}.wpstg--backup--import--options.wpstg--show-options ul{background:#25a1f0;border-color:#2188c9;border-radius:0 0 3px 3px;border-width:1px;box-sizing:border-box;display:block;margin:54px 0 0;padding:0;position:absolute;text-shadow:0 -1px 1px #006799,1px 0 1px #006799,0 1px 1px #006799,-1px 0 1px #006799;width:185px}.wpstg--backup--import--options.wpstg--show-options ul li{border-bottom:.1em solid #25a1f0;margin:0}.wpstg--backup--import--options.wpstg--show-options ul li:hover{background-color:#25a1f0}.wpstg--backup--import--options.wpstg--show-options ul li:last-child{border-bottom:none}.wpstg--backup--import--options ul li button{background:none;border:none;color:#fff;cursor:pointer;height:40px;line-height:40px;margin:0;width:100%}.wpstg--backup--import--options ul li button:hover{background-color:#259be6}.wpstg--modal--backup--import--search-replace--info{display:flex;flex-direction:row;margin:1em 0}.wpstg--modal--backup--import--info p{margin:0;text-align:left}.wpstg--modal--backup--import--search-replace--wrapper button{align-self:center}.wpstg--import--advanced-options--button{border:0;border-radius:3px;cursor:pointer;font-size:18px;text-shadow:0 -1px 1px #006799,1px 0 1px #006799,0 1px 1px #006799,-1px 0 1px #006799}.wpstg--modal--backup--import--search-replace--new{background-color:#25a1f0;color:#fff}.wpstg--modal--backup--import--search-replace--remove{background-color:#25a1f0;color:#fff;height:22px;margin-left:5px;width:22px}.wpstg--modal--backup--import--search-replace--input-group:first-child button{display:none}.wpstg--modal--backup--import--search-replace--input--container{display:flex;flex:1;flex-direction:column}.wpstg--modal--backup--import--search-replace--input-group{border-bottom:6px solid #f1f1f1;margin-bottom:10px;width:100%}.wpstg--modal--backup--import--search-replace--input-group input{border:1px solid #dedede;border-radius:3px;color:#666;display:inline-block;line-height:10px;margin-bottom:12px;min-width:250px;padding:8px;width:calc(50% - 20px)}.wpstg--modal--import--upload--process{align-items:center;color:#333;display:none;height:30px;justify-content:center;left:0;margin-bottom:20px;margin-top:20px;overflow:hidden;position:relative;text-indent:1em;top:0;white-space:nowrap;width:100%}.wpstg--modal--import--upload--progress{background:#98d452;border-radius:4px;color:#fff;height:100%;left:0;position:absolute;top:0}.wpstg--modal--import--upload--progress--title{z-index:9}.wpstg-fieldset:disabled{border-top:1px solid #fff;margin-top:20px;opacity:.8}.wpstg-fieldset{padding-left:20px}.wpstg-dark-alert{background-color:#0e86d9;color:#fff;font-weight:700;margin-top:0;padding:30px}.wpstg-dark-alert ul{list-style:initial}.wpstg-form-group{align-items:center;display:block;margin-bottom:8px;width:100%}.wpstg-form-group>label{display:block;font-weight:700}.wpstg-text-field>input{display:block;line-height:1.5;width:300px}.wpstg-text-field>.wpstg-code-segment{margin-top:4px;min-width:300px}.wpstg-form-group>.wpstg-checkbox{position:relative}.wpstg-form-group>.wpstg-checkbox>input[type=checkbox]{left:150px}.wpstg-ml-4{margin-left:4px}#wpstg-advanced-settings hr{margin:20px 0}.wpstg-form-row{display:block}.wpstg-form-row input,.wpstg-form-row label{display:table-cell;margin-bottom:3px;margin-top:3px;padding-left:5px;padding-right:5px}.wpstg-form-row input{width:400px}.wpstg-form-row label{font-weight:700;white-space:nowrap;width:1px}#wpstg-db-connect-output #wpstg-db-status{width:390px}.wpstg-fs-14{font-size:14px}.wpstg-code-segment{display:block}.wpstg-form-group>.wpstg-checkbox{min-width:100%;width:100%}.wpstg-form-group>.wpstg-checkbox>input[type=checkbox]{margin-left:10px}@media only screen and (max-width:768px){.wpstg-form-group>label{min-width:auto;width:auto}.wpstg-text-field>input{width:100%}.wpstg-text-field>.wpstg-code-segment{margin-left:0;min-width:100%}.wpstg-tab-section{max-width:450px;width:calc(100vw - 60px)}}.wpstg-rounded{border-radius:3px}.wpstg-white-border{border:1px solid #fff!important}.wpstg-m-0{margin:0}.wpstg-mt-10px{margin-top:10px!important}.wpstg-mr-10px{margin-right:10px!important}.wpstg-my-10px{margin-bottom:10px!important;margin-top:10px!important}.wpstg-w-100{width:100%}.wpstg-box-shadow{box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}.wpstg-float-left{float:left}.wpstg-bold-text{font-weight:700}.wpstg-warning.notice{border-left:4px solid #ffba00}.wpstg-confirmation-label{background-color:#5b9dd9;border-radius:3px;color:#fff;padding:2px}.wpstg-my-6px{margin-bottom:6px;margin-top:6px}.wpstg-mb-10px{margin-bottom:10px}.wpstg-clear-both{clear:both}.wpstg-font-italic{font-style:italic}.wpstg-mt-20px{margin-top:20px}.wpstg-welcome-container{border:2px solid #fff;margin-bottom:20px;padding:20px}.wpstg-ml-30px{margin-left:30px}.wpstg-text-center{text-align:center}.wpstg-feedback-link{text-decoration:none}.wpstg-feedback-span{display:block;margin-bottom:3px}#wpstg-confirm-backup-restore-data{margin:40px;text-align:left}#wpstg-confirm-backup-restore-wrapper{margin:0 30px 30px}#wpstg-confirm-backup-restore-wrapper h3{color:#e01e5a}#wpstg-progress-backup,#wpstg-progress-db{background-color:#3fa5ee}#wpstg-progress-files.wpstg-pro,#wpstg-progress-sr{background-color:#3c9ee4}#wpstg-progress-data,#wpstg-progress-dirs{background-color:#3a96d7}#wpstg-progress-files:not(.wpstg-pro),#wpstg-progress-finishing{background-color:#378cc9}.wpstg-issue-resubmit-confirmation.wpstg--swal2-container,.wpstg-swal2-container.wpstg--swal2-container{z-index:10500}.wpstg-swal2-container.wpstg-swal2-loading .wpstg--swal2-actions,.wpstg-swal2-container.wpstg-swal2-loading .wpstg--swal2-header{display:none}body.toplevel_page_wpstg_backup .wpstg--swal2-container .wpstg--swal2-content,body.toplevel_page_wpstg_clone .wpstg--swal2-container .wpstg--swal2-content{z-index:2}.toplevel_page_wpstg_clone #swal2-content h2{color:#3e3e3e}.toplevel_page_wpstg_clone #swal2-content{line-height:1.5em}div#exportUploadsWithoutDatabaseWarning{background-color:#fafafa;border:1px solid #e3e3e3;border-radius:5px;font-size:.9rem;font-style:italic;margin:10px;padding:10px;text-align:center}.wpstg-advanced-options-dropdown-wrapper{display:none;margin-top:20px}.wpstg--modal--backup--import--search-replace--wrapper{margin-top:20px;text-align:left}.wpstg--modal--backup--import--search-replace--new--wrapper{text-align:center}.wpstg-import-backup-contains li{display:inline-block;margin-bottom:0}.wpstg-import-backup-contains li .wpstg-backups-contains{background-color:#f4f4f4!important;border-radius:3px;color:#979797;font-size:17px;height:18px;width:18px}.wpstg-import-backup-contains.wpstg-listing-single-backup li .wpstg-backups-contains{background-color:#fff;padding:2px}.wpstg-import-backup-contains.wpstg-listing-single-backup li .wpstg-backups-contains>.wpstg--dashicons{filter:invert(35%)}.wpstg-import-backup-contains .wpstg--tooltiptext{font-size:13px;left:-25px;padding:5px;text-align:center;width:80px}.wpstg-import-backup-contains-title,ul.wpstg-import-backup-contains{display:inline-block}.wpstg-import-backup-name{display:inline-block;font-weight:700}.wpstg-backup-more-info-toggle{cursor:pointer;display:inline-block;font-size:x-small;font-style:italic}.wpstg-backup-more-info-toggle::selection{background:none}ul.wpstg-import-backup-more-info{background-color:#f6f6f6;border:1px solid #878787;border-radius:3px;cursor:pointer;font-size:14px;margin-bottom:30px;margin-top:10px;padding:7px;text-align:left}ul.wpstg-import-backup-more-info:hover{background-color:#def2ff;border:1px solid #25a1f0}ul.wpstg-import-backup-more-info li{height:20px}.wpstg-backup-list{max-width:800px}.wpstg-backup-list h3{color:#3e3e3e}.wpstg-backup-list ul ul{margin-block-end:1em;margin-block-start:1em}.wpstg-push-confirmation-message{font-size:15px;text-align:justify}.wpstg-settings-row{padding-bottom:10px;padding-top:10px}.wpstg-settings-title{font-weight:600}.wpstg-settings-form-group{align-items:center;display:flex}.wpstg-settings-form-group>.wpstg-settings-message{margin:7px 0 0;padding:0;width:30%}.wpstg-excluded-filters-container{margin-bottom:10px;margin-top:10px;max-width:100%;padding:0;width:100%}.wpstg-excluded-filters-container>table{border-collapse:collapse;border-color:transparent;width:100%}.wpstg-excluded-filters-container td{height:20px;padding-bottom:4px;padding-top:4px}.wpstg-excluded-filters-container h4{margin:0}.wpstg-exclude-filters-foot{display:flex;justify-content:flex-start;padding:0}.wpstg-exclude-filter-dropdown>button:hover{background:#135e96;border:1px solid #135e96}.wpstg-exclude-filter-dropdown>.wpstg-dropdown-menu{width:128px}.wpstg-remove-exclude-rule{background-color:#e01e5a;border:1px solid #e01e5a;border-radius:10px;box-shadow:none;color:#fff!important;cursor:pointer;display:inline-flex;font-size:24px;font-weight:400;height:20px;justify-content:center;line-height:.7;margin-top:5px;outline:none;padding:0;width:20px}.wpstg-remove-exclude-rule:hover{background-color:#e01e5a;border-color:#e01e5a}.wpstg-code-block{background:#f8f8f8;border-radius:2px;font-size:1.2em;margin-top:4px}.wpstg-rule-info{background:#f8f8f8!important}code.wpstg-code{background:#fff;border:1px solid #aaa;color:#e01e5a;display:inline-block;font-size:11px;margin-bottom:1px;padding:2px 4px}.wpstg-exclusion-rule-info{align-items:center;background-color:#ffc107;border:1px solid #ffc107;border-radius:7px;box-shadow:none;color:#fff!important;display:inline-flex;font-size:14px;font-weight:400;height:14px;justify-content:center;outline:none;padding:0;vertical-align:middle;width:14px}.wpstg-exclusion-rule-info:hover{background-color:#ffba0c;border:1px solid #ffba0c}.wpstg-exclude-rule-input{background-color:#fff;border:1px solid #bbb;border-radius:0!important;box-shadow:none;color:#222;display:inline-block;font-size:12px!important;font-weight:400;line-height:1.5;margin-left:4px;margin-top:4px;min-height:24px!important;outline:none!important;padding:2px 6px;transition:all .3s cubic-bezier(.25,.8,.25,1);vertical-align:baseline!important;width:135px}.wpstg-excluded-filters-container tbody>tr:last-child .wpstg-exclude-rule-input{margin-bottom:4px}.wpstg-exclude-rule-input:hover{border:1px solid #999}.wpstg-exclude-rule-input:focus{border:1px solid #25a0f1!important;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)!important}.wpstg-file-size-exclude-select,.wpstg-path-exclude-select{width:135px}.wpstg-file-size-exclude-select-small{width:52px}.wpstg-file-size-exclude-input{width:75px}.wpstg-staging-option-title{margin:15px 0 0}.wpstg-swal-push-container.wpstg--swal2-container{z-index:9995}#wpstg-scanning-files{padding-bottom:5px}#wpstg-scanning-db.wpstg-tab-section,#wpstg-scanning-files.wpstg-tab-section{padding-top:10px}.wpstg-reset-excludes-container{margin:10px 0}.wpstg-swal2-ajax-loader{align-items:center;display:flex;height:150px;justify-content:center;overflow:hidden;width:100%}@keyframes wpstg-loading-icon-anim{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.wpstg-swal2-ajax-loader>img{animation:wpstg-loading-icon-anim 1s linear infinite;-webkit-animation:wpstg-loading-icon-anim 1s linear infinite;height:64px;width:64px}.wpstg-swal2-container .wpstg-tab-section{width:auto!important}#wpstg-no-staging-site-results{margin-top:10px;max-width:375px}li#wpstg-backup-no-results{max-width:500px}#wpstg-no-staging-site-results div,li#wpstg-backup-no-results div{display:inline-block;text-align:center}#wpstg-no-staging-site-results .wpstg--dashicons,li#wpstg-backup-no-results .wpstg--dashicons{filter:invert(50%);margin-top:1px;position:absolute}#wpstg-no-staging-site-results .no-staging-site-found-text,li#wpstg-backup-no-results .no-backups-found-text{color:#5d5d5d;margin-left:20px}@media only screen and (max-width:680px){#wpstg-no-staging-site-results div,li#wpstg-backup-no-results div{width:100%}}#wpstg--modal--backup--download-inner p.wpstg-download-modal-text{color:#565656;font-size:16px}#wpstg--modal--backup--download-inner h2{color:#565656}.wpstg-backup-restore-contains-database,.wpstg-backup-restore-contains-files{display:none}.wpstg-green-button{background:#8bc34a;border:1px solid #78a93f;color:#fff;text-shadow:0 -1px 1px #78a93f,1px 0 1px #78a93f,0 1px 1px #40c921,-1px 0 1px #78a93f}.wpstg-green-button:hover{background:#78a93f}.wpstg-is-dir-loading{display:none;margin-left:8px;margin-top:-2px;position:absolute}.wpstg-ml-8px{margin-left:8px}.wpstg-mb-8px{margin-bottom:8px}.wpstg-btn-danger{background-color:#e01e5a;border:1px solid #e01e5a;color:#fff;text-shadow:none}.wpstg-btn-danger:hover{background:#c0194d;box-shadow:0 1px 4px rgba(0,0,0,.3)}.wpstg-swal2-container.wpstg-swal2-loading>.wpstg--swal2-modal{height:200px}.wpstg-reset-confirmation.wpstg-swal2-container:not(.wpstg-swal2-loading)>.wpstg--swal2-modal{max-width:480px}.wpstg-reset-confirmation.wpstg-swal2-container .wpstg--swal2-header{display:none}.wpstg-reset-confirmation.wpstg-swal2-container .wpstg--swal2-content{height:auto}.wpstg-reset-confirmation.wpstg-swal2-container>.wpstg--swal2-modal>.wpstg--swal2-content .wpstg-tabs-wrapper{height:auto!important;overflow-y:auto}.wpstg-reset-confirmation.wpstg-swal2-container>.wpstg--swal2-modal>.wpstg--swal2-content{font-size:13px}.wpstg-reset-confirmation.wpstg-swal2-container>.wpstg--swal2-modal>.wpstg--swal2-content .wpstg-dir{margin-bottom:4px}.wpstg-reset-confirmation.wpstg-swal2-container>.wpstg--swal2-modal>.wpstg--swal2-content .wpstg-subdir{margin-top:4px}.wpstg-reset-confirmation.wpstg-swal2-container.has-collapsible-open .wpstg--swal2-modal{height:calc(100vh - 70px)}.wpstg-reset-confirmation.wpstg-swal2-container.has-collapsible-open>.wpstg--swal2-modal>.wpstg--swal2-content .wpstg-tabs-wrapper{height:calc(100vh - 350px)!important}.wpstg--swal2-actions.wpstg--modal--actions>button{font-weight:500;margin-left:4px;margin-right:4px;min-width:80px;text-shadow:none;text-transform:uppercase}.wpstg-swal-popup{max-width:1200px!important}.wpstg-swal-popup.wpstg-push-finished .wpstg--swal2-title{color:#a8a8a8}.wpstg-swal-popup.wpstg-push-finished .wpstg--swal2-content{color:#a8a8a8;margin-top:8px}.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step,.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step-line,.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step.wpstg--swal2-active-progress-step{background:#25a1f0}.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step-line{width:2.75em}.wpstg--dashicons{height:16px;width:16px}.wpstg--dashicons.wpstg-dashicons-grey{filter:invert(20%)}.wpstg--dashicons.wpstg-dashicons-19{height:19px;width:19px}.wpstg--dashicons.wpstg-dashicons-21{height:21px;width:21px}#wpstg--tab--backup #wpstg-step-1{align-items:center;display:flex}#wpstg--tab--backup #wpstg-step-1 .wpstg--tooltip,.wpstg-advanced-options .wpstg--tooltip{align-items:center;border-bottom:0 solid transparent;display:inline-flex}.wpstg-advanced-options-site .wpstg--tooltip img.wpstg--dashicons{filter:invert(17%) sepia(0) saturate(1%) hue-rotate(195deg) brightness(97%) contrast(77%)}#wpstg--tab--backup #wpstg-step-1 .wpstg--tooltip{align-items:center;border-bottom:0 solid transparent;display:flex}.wpstg--tooltip .wpstg--tooltiptext-backups:after{left:calc(20% + 2px)}.wpstg-listing-single-backup .wpstg--dashicons{height:17px;width:17px}.wpstg-100-width{width:100px}.wpstg-caret{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid;cursor:pointer;display:inline-block;height:0;margin-left:2px;transition:transform .2s;vertical-align:middle;width:0}.wpstg-caret.wpstg-caret-up{transform:rotate(-180deg)}.wpstg-advanced-options-site label{display:block;font-size:16px;margin:.5em 0}#wpstg-confirm-backup-restore-data{font-size:18px;margin:30px 0 0}body.toplevel_page_wpstg_backup .wpstg--swal2-container.wpstg--swal2-backdrop-show,body.toplevel_page_wpstg_clone .wpstg--swal2-container.wpstg--swal2-backdrop-show{background:rgba(0,0,0,.6);z-index:9995}.wpstg-swal-popup.wpstg--swal2-popup{border-radius:8px;color:#3e3e3e;font-family:Verdana,Geneva,Tahoma,sans-serif;padding:24px;z-index:9999}.wpstg-swal-popup .wpstg--swal2-title{color:#3e3e3e;font-size:22px}.wpstg-swal-popup.wpstg--swal2-popup:not(.centered-modal) .wpstg--swal2-title{align-self:flex-start;margin-bottom:0;text-align:left}.wpstg-swal-popup .wpstg--swal2-close{right:8px;top:8px;z-index:5}.wpstg-swal-popup .wpstg--swal2-close:focus{outline:none}.wpstg-swal-popup.wpstg--swal2-popup:not(.centered-modal) .wpstg--swal2-actions{justify-content:flex-end}.wpstg-swal-popup .wpstg--swal2-actions>button{border:0;border-radius:4px;font-size:15px;font-weight:900;height:40px;line-height:normal;min-width:100px;padding:10px 12px;text-shadow:none;text-transform:capitalize}.wpstg-swal-popup.wpstg--swal2-popup:not(.centered-modal) .wpstg--swal2-actions>button{margin-left:8px}.wpstg-swal-popup .wpstg--swal2-actions>button.wpstg--swal2-cancel{background:#fff;border:1px solid rgba(29,28,29,.3);color:#1d1c1d;font-weight:500;text-shadow:none;width:100px}.wpstg-swal-popup .wpstg--swal2-actions>button:hover{box-shadow:0 1px 3px 0 rgba(0,0,0,.1)}.wpstg-swal-popup .wpstg--swal2-actions>button.wpstg--swal2-cancel:hover{background:rgba(28,29,28,.04)}#wpstg-backup-name-input{font-size:18px;height:44px}.wpstg-restore-finished-container .wpstg--swal2-title{color:#565656!important}.wpstg-restore-finished-container .wpstg--swal2-content{color:#a8a8a8;margin-top:20px}.wpstg-linear-loader>span[class*=wpstg-linear-loader-item]{animation:wpstg_linear_loader 3s infinite;animation-fill-mode:both;animation-timing-function:cubic-bezier(.03,.615,.995,.415);background:#333;border-radius:100%;display:inline-block;height:6px;margin:12px 2px;width:6px}.wpstg-linear-loader>span.wpstg-linear-loader-item:first-child{animation-delay:1s}.wpstg-linear-loader>span.wpstg-linear-loader-item:nth-child(2){animation-delay:.8s}.wpstg-linear-loader>span.wpstg-linear-loader-item:nth-child(3){animation-delay:.6s}.wpstg-linear-loader>span.wpstg-linear-loader-item:nth-child(4){animation-delay:.4s}.wpstg-linear-loader>span.wpstg-linear-loader-item:nth-child(5){animation-delay:.2s}.wpstg-linear-loader>span.wpstg-linear-loader-item:nth-child(6){animation-delay:0s}@keyframes wpstg_linear_loader{0%{opacity:0;transform:translateX(-30px)}25%{opacity:1}50%{opacity:0;transform:translateX(30px)}to{opacity:0}}.wpstg--modal--backup--import--upload--content{margin:1em auto;padding:.75em}.wpstg--modal--backup--import--upload--content .wpstg-linear-loader{display:none}#wpstg-multisite-disabled .wpstg-clone{width:355px}#wpstg-free-version-backups .wpstg-clone p{font-size:16px}.wpstg-staging-info li .backup-notes{word-break:break-word}.wpstg--modal--import--upload--progress--title small{font-weight:400}#wpstg-report-issue-wrapper{position:relative}#wpstg-report-issue-wrapper .arrow-up{border-bottom:8px solid #fff;border-left:8px solid transparent;border-right:8px solid transparent;height:0;position:absolute;right:40px;top:-8px;width:0}.notice{margin:10px 20px 0 2px}.wpstg--notice{box-shadow:0 1px 1px rgba(0,0,0,.04);margin:20px 20px 20px 0;padding:1px 12px}.wpstg--error a:hover{color:#eee}.wpstg--error,.wpstg--error a{background:#e01e5a;color:#fff}.wpstg-button{border-radius:2px;cursor:pointer;display:inline-block;font-weight:500;outline:0;padding:2px 10px;text-decoration:none;text-transform:uppercase;transition:background-color .1s ease-in}.wpstg-button.wpstg-save{background-color:#1687a7;color:#fff}.wpstg-button.wpstg-save:hover{background-color:#276678}.wpstg-button.wpstg-button-light{animation:background-color .3s;background-color:#f8f8f8;border:1px solid #eee;color:#333}.wpstg-button.wpstg-button-light:hover{background-color:#e0e0e0;border:1px solid #e0e0e0}.wpstg-buttons .spinner{float:none;margin:0 0 0 5px}.wpstg-button.danger{background-color:#e01e5a;border-color:transparent;border-radius:2px;color:#fff;display:inline-block;text-align:center;text-decoration:none;text-transform:inherit}.wpstg-button.danger:hover{background-color:#c0194d}.wpstg-button--big{border-radius:3px;color:#fff;display:inline-block;font-size:16px;margin-top:20px;min-width:170px;padding:10px;text-align:center;text-decoration:none}.wpstg-button--primary{-webkit-appearance:none;border:1px solid rgba(29,28,29,.3);border-radius:2px;box-sizing:border-box;color:#171717;cursor:pointer;display:inline-block;font-size:13px;line-height:2.15384615;margin:0;min-height:30px;padding:0 10px;text-decoration:none;white-space:nowrap}.wpstg-button--primary:hover{background:rgba(28,29,28,.04);color:#000}.wpstg-button--secondary{background-color:transparent;border:1px solid rgba(29,28,29,.3);border-radius:2px;color:#95a5a6;cursor:pointer;display:inline-block;font-weight:500;outline:0;padding:4px 10px 2px;text-decoration:none;transition:background-color .1s ease-in}.wpstg-button--red{background-color:#e01e5a;border-color:#e01e5a;color:#fff}.wpstg-button--red:hover{background-color:#d02358;border-color:#e0255f;color:#fff}.wpstg-button--cta-red{background-color:#fe008f;border-color:#e01e5a;color:#fff}.wpstg-button--cta-red:hover{background-color:#f31391;border-color:#e0255f;color:#fff}.wpstg-button--blue{background-color:#25a0f1;border-color:#25a0f1;color:#fff}.wpstg-button--blue:hover{background-color:#259be6;border-color:#259be6;color:#fff}#wpstg-button-backup-upgrade{font-size:16px;text-align:center;width:150px}.wpstg-staging-status{color:#e01e5a}#wpstg-push-changes,#wpstg-save-clone-data,#wpstg-start-updating{margin-left:5px}input.wpstg-textbox{border:1px solid #aaa;border-radius:.25rem;font-size:14px;padding:.25rem .5rem}input.wpstg-textbox:focus{border-color:#259be6;-webkit-box-shadow:0 0 0 .1rem hsla(0,0%,86.7%,.35);box-shadow:0 0 0 .1rem hsla(0,0%,86.7%,.35);outline:0}input.wpstg-textbox::placeholder{color:#888}.wpstg--advance-settings--checkbox{align-items:center;display:flex}.wpstg--advance-settings--checkbox>label{display:inline-block;font-size:14px;font-weight:bolder;width:165px}.wpstg--advance-settings--checkbox>.wpstg--tooltip{border-bottom:0 solid transparent;display:inline-block;margin-left:5px;margin-top:5px;position:relative}.wpstg--advance-settings--checkbox>.wpstg--tooltip>.wpstg--tooltiptext{left:-150px;top:18px}div#wpstg-restore-wait{align-items:center;background:#fff;display:none;flex-direction:column;height:100vh;justify-content:center;left:0;position:fixed;text-align:center;top:0;width:100vw;z-index:99999}div#wpstg-restore-wait .wpstg-title{font-weight:700}div#wpstg-restore-wait div{font-size:16px;margin-top:12px}.resumable-browse{cursor:pointer}.resumable-browse a{text-decoration:underline}.wpstg-upload-text{font-weight:600}.wpstg--modal--backup--import--upload--container.dragover{background-color:#94dc96;color:#fff;transition:background-color .7s}.wpstg--modal--backup--import--upload--container.dragover *{pointer-events:none}.wpstg--modal--backup--import--upload--container.dragover .wpstg-upload-text{display:none}.wpstg--modal--backup--import--upload--container.dragover .wpstg-dragover-text{display:block}.wpstg--modal--backup--import--upload--container .wpstg-dragover-text{display:none}#wpstg-invalid-license-message,#wpstg-invalid-license-message a{color:#e01e5a;font-weight:500;margin-left:6px}#wpstg-sidebar--banner{max-width:200px}@media screen and (max-width:1234px){.wpstg-h2{font-size:24px}#wpstg-welcome li{font-size:14px}}.wpstg-exclamation{background-color:#e01e5a;border-radius:100%;color:#fff;display:inline-block;font-weight:700;height:20px;margin:6px;text-align:center;width:20px}.wpstg--tab--contents{padding-top:1px}.wpstg-swal-show.wpstg--swal2-show{-webkit-animation:wpstg-swal-show .2s!important;animation:wpstg-swal-show .2s!important}@-webkit-keyframes wpstg-swal-show{0%{transform:scale(.3)}to{transform:scale(1)}}@keyframes wpstg-swal-show{0%{transform:scale(.3)}to{transform:scale(1)}}.wpstg-tab-item--vert-center{align-items:center;display:flex}.wpstg-db-comparison-modal{padding-left:10px;padding-right:10px}.wpstg-db-comparison-table{font-size:13px;width:100%}.wpstg-db-comparison-table tbody td{padding-top:6px}.wpstg-db-comparison-table tr>td:first-child,.wpstg-db-comparison-table tr>th:first-child{text-align:left}.wpstg-css-tick{border-bottom:3px solid #78b13f;border-right:3px solid #78b13f;display:inline-block;height:12px;transform:rotate(45deg);width:6px}.wpstg-css-cross{height:16px;left:-2px;position:relative;top:-8px;width:16px}.wpstg-css-cross:after,.wpstg-css-cross:before{background-color:#e01e5a;content:" ";height:17px;position:absolute;width:3px}.wpstg-css-cross:before{transform:rotate(45deg)}.wpstg-css-cross:after{transform:rotate(-45deg)}.wpstg-selection-preview{color:rgba(51,34,17,.4);font-size:12px;margin-left:20px}.wpstg-selection-preview.danger{color:#e01e5a}.wpstg--backup-automated{margin-bottom:-5px}.wpstg--dismiss-schedule{cursor:pointer}.wpstg-import-backup-contains.wpstg-listing-single-backup{vertical-align:middle}.wpstg-import-backup-contains.wpstg-listing-single-backup li{padding:2px}.wpstg--modal--backup--manage--schedules--content table{margin:0 auto;width:100%}.wpstg--modal--backup--manage--schedules--title{margin-bottom:10px;margin-top:0;text-align:left}.wpstg--modal--backup--import--upload--title{text-align:center}#wpstg--modal--backup--manage--schedules--content{text-align:left}#wpstg--modal--backup--manage--schedules--content thead{font-weight:700}#wpstg--modal--backup--manage--schedules--content .wpstg--tooltip.wpstg--dismiss-schedule{border-bottom:none}.wpstg--tooltip.wpstg--dismiss-schedule img.wpstg--dashicons{filter:invert(18%) sepia(57%) saturate(6238%) hue-rotate(332deg) brightness(93%) contrast(88%)}#wpstg--modal--backup--manage--schedules--content td{padding-right:25px;padding-top:10px}#wpstg--modal--backup--manage--schedules--content td:last-child{padding-right:0}#wpstg--modal--backup--manage--schedules--content ul{margin-bottom:0;margin-top:0}#wpstg--modal--backup--manage--schedules--content ul li:first-child .wpstg--tooltip{margin-left:0}.wpstg-button:disabled{background-color:#ddd;border:1px solid #cfcfcf;color:#b3b3b3;cursor:not-allowed;text-shadow:none}#wpstg-backup-runs-info{font-size:12px;margin:20px 0 0;padding:0}#wpstg-backup-runs-info li{margin:0}div#wpstg-backup-locked{align-items:center;background:#fff;display:flex;margin-bottom:10px;max-width:770px;padding:15px;width:100%}#wpstg-backup-locked .icon{display:inline-block;height:20px}#wpstg-backup-locked .icon img{animation:wpstg-loading-icon-anim 2s infinite}#wpstg-backup-locked .text{display:inline-block;margin-left:15px}#backup-schedule-current-time{font-size:12px}.wpstg-backup-scheduling-options label{margin-top:17px}.wpstg-backup-scheduling-options .wpstg-storage-option{display:block;font-size:15px;margin:.5em 0}.wpstg-storage-option>span:not(.wpstg-storage-settings){display:inline-block;width:150px}.wpstg-storages-postbox{background-color:#fff;margin-bottom:8px;margin-top:8px;padding:13px 16px}.wpstg-storages-postbox a{color:#3c434a;font-weight:700;margin-right:8px;padding:8px;text-decoration:none}.wpstg-storages-postbox a:hover{color:#b70b72}.wpstg-storage-postbox{background-color:#fff;padding:4px 16px}.wpstg-storages-postbox a.wpstg-storage-provider-active{background:#b70b72;border-radius:3px;color:#fff;cursor:default;font-weight:700}.wpstg-storages-postbox a.wpstg-storage-provider-active:hover{background:#a10a64}.wpstg-storages-postbox a.wpstg-storage-provider-disabled{color:#999;cursor:not-allowed}.wpstg-provider-revoke-form{display:inline;margin-bottom:12px;margin-top:12px}.wpstg-provider-settings-form{margin-top:10px}.wpstg-provider-settings-form strong{display:block;margin:8px 0}.wpstg-provider-settings-form p{margin:0 0 8px}.wpstg-provider-settings-form fieldset{margin:0 0 16px;padding:0}.wpstg-provider-settings-form fieldset p{font-size:12px;margin:0;padding:5px}.wpstg-provider-settings-form fieldset label{display:block;margin-bottom:2px}.wpstg-provider-settings-form fieldset input{font-size:12px}.wpstg-provider-settings-form .wpstg-link-btn.wpstg-blue-primary{text-shadow:none}.wpstg-btn-google{align-items:center;border-radius:3px;border-width:0;box-shadow:0 1px 3px rgba(0,0,0,.6);box-sizing:border-box;color:#555;display:inline-flex;font-family:Roboto;font-size:14px;font-weight:700;height:40px;line-height:40px;margin-right:10px;outline:none;padding:8px 16px 8px 8px;text-decoration:none;transition:background-color .3s}.wpstg-btn-google img{height:18px;margin-left:5px;margin-right:12px;width:18px}#wpstg-custom-google-credentials{margin-top:20px}.wpstg-fieldset .wpstg-with-icon{align-items:center;display:inline-flex}.wpstg-fieldset .wpstg-with-icon .wpstg-fieldset-icon{margin-left:8px}.wpstg-fieldset .wpstg-with-icon .wpstg-fieldset-icon img{height:16px;width:16px}#wpstg-btn-provider-revoke{border-radius:2px}.wpstg-metabox-holder{background:#fff;border-radius:8px;-webkit-box-shadow:0 0 1px rgb(0 0 0/13%),0 1px 3px rgb(0 0 0/10%);box-shadow:0 0 1px rgb(0 0 0/13%),0 1px 3px rgb(0 0 0/10%);margin-left:16px;margin-right:32px;margin-top:60px;min-height:600px;padding:20px}@media only screen and (max-width:680px){.wpstg-metabox-holder{margin-left:0;margin-right:5px;padding:5px 0 0}#wpstg-tab-container .wpstg-settings-panel{overflow:auto;padding:0}.wpstg-form-table td:first-child{width:50%}}.wpstg-nav-tab{background:#dcdcde;border:1px solid #fff;border-bottom:none;color:#3c434a;float:left;font-size:14px;font-weight:600;line-height:1.71428571;margin-left:.5em;padding:5px 10px;text-decoration:none;white-space:nowrap}.wpstg-nav-tab-active,.wpstg-nav-tab-active:focus,.wpstg-nav-tab-active:focus:active,.wpstg-nav-tab-active:hover{background:#f3f5f7;border-bottom:1px solid #f0f0f1;-webkit-box-shadow:-4px -13px 14px -12px rgb(0 0 0/16%);box-shadow:-4px -13px 14px -12px rgb(0 0 0/16%);color:#b70b72}.wpstg-nav-tab-active{margin-bottom:-1px}.wpstg-nav-tab-wrapper{line-height:inherit;margin:0;padding-bottom:0;padding-top:9px}.wpstg-nav-tab-wrapper li{margin-bottom:0}#wpstg--js--translations{text-decoration:underline}
2
  /*# sourceMappingURL=wpstg-admin.min.css.map */
1
+ :root{--wpstg-color-warning:#ffb804;--wpstg-color-info:#24a1f0}.wpstg-badge{background:#f8f9fa;border-radius:3px;color:#333;font-size:12px;padding:4px 8px}.wpstg-badge.wpstg-badge-warning{background:var(--wpstg-color-warning);color:#fff}.wpstg-badge.wpstg-badge-info{background:var(--wpstg-color-info);color:#fff}@font-face{font-family:Roboto;font-style:normal;font-weight:400;src:url(../../fonts/roboto-v29-latin-regular.eot);src:local(""),url(../../fonts/roboto-v29-latin-regular.eot?#iefix) format("embedded-opentype"),url(../../fonts/roboto-v29-latin-regular.woff2) format("woff2"),url(../../fonts/roboto-v29-latin-regular.woff) format("woff"),url(../../fonts/roboto-v29-latin-regular.ttf) format("truetype"),url(../../fonts/roboto-v29-latin-regular.svg#Roboto) format("svg")}.wpstg--violet{color:#9d37ae}.wpstg-border--violet{border:1px solid #9d37ae}.wpstg--red{color:#e01e5a}.wpstg-cta--red{color:#fe008f}.wpstg--blue{color:#24a1f0}.wpstg--darkblue{color:#0e86d9}.wpstg--green{color:#83c11f}.wpstg--grey{color:#3e3e3e}.wpstg--darkgrey{color:#1b1b1b}.wpstg--filter--svg{filter:invert(24%) sepia(11%) saturate(558%) hue-rotate(169deg) brightness(97%) contrast(91%)}body.toplevel_page_wpstg_clone,body.wp-staging-pro_page_wpstg-license,body.wp-staging-pro_page_wpstg-settings,body.wp-staging-pro_page_wpstg-tools,body.wp-staging-pro_page_wpstg_backup{background-color:#f3f5f7}#wpstg-tab-container ul{background:#f1f1f1;float:left;list-style:none;margin:0;padding:0}#wpstg-tab-container ul li:first-child.selected-tab{border-top:none}#wpstg-tab-container ul li a.selected-tab{font-weight:700;text-decoration:none}#wpstg-tab-container .row{padding-bottom:12px;padding-top:10px}.wpstg-tabs-container .nav-tab-wrapper{padding:0}#wpstg-tab-container .row label strong,#wpstg-tab-container .row strong{font-weight:700}.wpstg-tabs a{padding:5px}#wpstg-tab-container>ul>li.wpstg-tabs.active{background-color:#fff}#wpstg_settingsgeneral_header .row:nth-child(3),#wpstg_settingsgeneral_header .row:nth-child(4){display:none}#wpstg-tab-container .wpstg-settings-panel{overflow:auto;padding:0 20px 20px}#wpstg-tab-container .wpstg-form-table th{color:#484848;font-size:14px;font-weight:700;line-height:1.3;padding:20px 10px 20px 0;text-align:left;vertical-align:top;width:30%}#wpstg-tab-container .wpstg-form-table tr{border-bottom:1px solid #e7e7e7}#wpstg-tab-container span.description{color:#484848;display:block;font-size:13px;font-style:normal;font-weight:400;margin-top:7px}#wpstg-tab-container .col-title{color:#484848}@media only screen and (max-width:680px){#wpstg-tab-container ul{float:none}#wpstg-tab-container .wpstg-form-table tr>th{width:100%}#wpstg-tab-container span.description{font-size:14px}#wpstg-tab-container .wpstg-form-table tr>td,#wpstg-tab-container .wpstg-form-table tr>th{padding:10px}}#wpstg-tab-container ul li{margin-bottom:0}#wpstg-tab-container ul li a{border-bottom:1px solid #e7e7e7;border-left-style:solid;border-left-width:0;border-right-style:solid;border-right-width:0;border-top:1px solid #fff;color:#0097df;display:block;font-weight:700;padding:10px 4px 10px 14px;text-decoration:none}#wpstg-tab-container ul li a:hover{background-color:#e5e5e5;color:#777}.wpstg-logo{display:block;float:left;font-size:16px;padding-top:20px;width:220px}.wpstg-logo img{max-width:212px}.wpstg-version{color:#9b9b9b;display:block;padding-top:40px}.wpstg_admin .nav-tab{color:#3c3c3c}#wpstg-tab-container table tbody tr:first-child>th>div{font-size:20px}#wpstg-clonepage-wrapper{margin-bottom:20px;width:98%}@media screen and (min-width:1090px){#wpstg-clonepage-wrapper{float:left;margin-bottom:20px}}#wpstg-steps{margin-left:20px;margin-top:0}#wpstg-steps li{color:#444;float:left;line-height:20px;padding-right:10px}.wpstg-step-num{border:1px solid #3e3e3e;border-radius:3px;display:inline-block;height:20px;margin-right:5px;text-align:center;width:20px}.wpstg-current-step{font-weight:700}.wpstg-current-step .wpstg-step-num{background:#3e3e3e;color:#eee}.wpstg-box{margin:10px 0;overflow:hidden;padding:10px}.wpstg-box,.wpstg-clone{position:relative;transition:border-color .2s ease-in-out}.wpstg-clone{background-color:#fff;border-radius:3px;box-shadow:0 0 1px rgba(0,0,0,.125),0 1px 3px rgba(0,0,0,.1);color:#3e3e3e;margin-bottom:10px;padding:16px}.wpstg-clone.active{border-color:#1d94cf}.wpstg-clone-header{align-items:center;display:flex}.wpstg-clone-title{color:#3e3e3e;display:inline-block;font-size:15px;font-weight:700;margin-right:8px;max-width:300px;text-decoration:none}.wpstg-clone-title:hover{color:#111}.wpstg-clone-labels{display:inline-block}.wpstg-clone-labels .wpstg-clone-label{background:#8bc34a;border-radius:3px;color:#fff;display:inline-block;font-size:11px;margin-right:4px;padding:1px 4px}.wpstg-clone-actions{display:flex;margin-left:auto;margin-top:5px}.wpstg-clone-actions .wpstg-dropdown-toggler{background:#25a1f0;border-radius:2px;box-shadow:0 0 1px rgba(0,0,0,.125),0 1px 3px rgba(0,0,0,.2);color:#fff;font-size:14px;padding:6px 10px;text-decoration:none}.wpstg-clone-actions .wpstg-dropdown-toggler:hover{background:#002648;color:#fff}.wpstg-dropdown{position:relative}.wpstg-dropdown>.wpstg-dropdown-menu{background:#fff;border-radius:2px;box-shadow:0 0 1px rgba(0,0,0,.125),0 1px 3px rgba(0,0,0,.2);display:none;flex-direction:column;padding:8px;position:absolute;right:0;top:calc(100% + 4px);width:100px;z-index:1000}.wpstg-dropdown>.wpstg-dropdown-menu.wpstg-menu-dropup{bottom:100%;top:auto;transform:translate3d(0,-3px,0)}.wpstg-dropdown>.wpstg-dropdown-menu.shown{display:flex}.wpstg-clone-action,.wpstg-dropdown-action{border-bottom:1px solid #f3f3f3;border-radius:3px;color:#3e3e3e;padding:6px 8px;position:relative;text-decoration:none;transition:color .2s ease-in-out}.wpstg-clone-action:hover,.wpstg-dropdown-action:hover{background:rgba(0,0,0,.05)}.wpstg-dropdown-action{background:transparent;border:0 solid #000;box-shadow:none;color:#3e3e3e;outline:none}.wpstg-remove-clone:hover{color:#e01e5a}.wpstg-clone-action:last-child{border:none}.wpstg-clone:hover .wpstg-clone-action{display:inline-block}#wpstg-show-error-details:focus,#wpstg-workflow .wpstg-clone-action{box-shadow:none;outline:none}.wpstg-link-btn{background:#45a1c9;color:#fff;display:inline-block;padding:5px 10px;text-decoration:none;transition:all .2s ease-in-out;vertical-align:baseline}.wpstg-link-btn:focus,.wpstg-link-btn:hover{box-shadow:none;color:#fff;outline:none}#wpstg-workflow .wpstg-link-btn:active{vertical-align:baseline}.wpstg-link-btn[disabled]{background:#777!important;border-color:#555!important;pointer-events:none}#wpstg-cancel-cloning,#wpstg-cancel-cloning-update{margin-top:5px}#wpstg-cancel-cloning.success{background:#64dd58;border-color:#54bd4a}#wpstg-error-details,#wpstg-error-wrapper{clear:both;display:none;font-size:13px;padding-top:10px}#wpstg-show-error-details{color:#555;display:inline-block;margin-left:5px;text-decoration:none;transition:color .2s ease-in-out}#wpstg-show-error-details:hover{color:#1d94cf}#wpstg-error-details{border-left:5px solid #e01e5a;padding:10px;width:500px}#wpstg-try-again{display:none}#wpstg-home-link{float:right}.wpstg-loader{content:url(../../img/loading.gif);display:none}.wpstg-loader.wpstg-finished{background-color:#00c89a;border-radius:3px;color:#fff;content:"Finished";display:block;margin-top:0;padding:2px 10px}#wpstg-workflow{clear:both;float:left;max-width:800px;min-height:380px;min-width:500px;padding-bottom:20px;padding-right:20px;padding-top:20px;position:relative}#wpstg-sidebar{display:block;float:left;margin-left:10px;max-width:400px}#wpstg-removing-clone.loading:after,#wpstg-workflow.loading:after{background:hsla(0,0%,100%,.7);content:"Loading... may take a while for huge websites";display:block;font-size:20px;height:100%;left:0;padding-top:100px;position:absolute;text-align:center;top:0;width:100%;z-index:99}#wpstg-removing-clone.loading:after{content:"REMOVING"!important}#wpstg-existing-clones,#wpstg-removing-clone{position:relative}#wpstg-existing-clones h3{color:#3e3e3e}#wpstg-removing-clone .wpstg-tab-section{display:block}.wpstg-progress-bar{background-color:#d6d8d7;height:27px;max-width:900px;padding:0}.wpstg-progress{background:#3fa5ee;float:left;overflow:hidden}.wpstg-progress,.wpstg-progress-files{color:#fff;height:100%;line-height:25px;text-align:center;transition:width .6s ease;width:0}.wpstg-progress-files{background:#16b4f0}#wpstg-clone-path.wpstg-error-input,#wpstg-new-clone-id.wpstg-error-input{border:1px solid #e01e5a;box-shadow:0 0 2px rgba(255,66,53,.8)}#wpstg-new-clone-id{margin-left:15px;max-width:100%;width:450px}#wpstg-new-clone{background:#25a1f0;border-color:#2188c9}#wpstg-new-clone:hover{background:#259be6;border-color:#2188c9}#wpstg-clone-path{margin-left:10px;width:350px}.wpstg-error-msg{color:#e01e5a}#wpstg-clone-id-error{background-color:#f0f8ff;display:block;margin:20px;padding:10px}#wpstg-start-cloning+.wpstg-error-msg{display:block;margin-top:5px}.wpstg-size-info{color:#999;font-weight:400;left:2px;position:relative}.wpstg-db-table .wpstg-size-info{top:2px}.wpstg-db-table:hover{background-color:#f0f8ff}#wpstg-workflow #wpstg-start-cloning{margin-left:5px;vertical-align:baseline}.wpstg-tabs-wrapper{margin:10px 0;max-width:640px}#wpstg-path-wrapper{border-bottom:2px dashed #ccc;margin-bottom:10px;padding-bottom:10px}.wpstg-tab-section{border-bottom:1px solid #ddd;border-left:none;border-right:none;display:none;padding:0 36px;width:calc(100% - 72px)}.wpstg-tab-section:after{clear:both;content:"";display:block}.wpstg-tab-header{border-bottom:1px solid #ddd;border-left:none;border-right:none;color:#444;display:block;font-size:16px;font-weight:700;padding:10px;text-decoration:none}.wpstg-tab-triangle{animation:transform .5s;border-bottom:5px solid transparent;border-left:10px solid;border-top:5px solid transparent;cursor:pointer;display:inline-block;height:0;margin-right:12px;margin-top:-3px;transition:transform .2s;vertical-align:middle;width:0}.wpstg-tab-triangle.wpstg-no-icon{border-bottom:0 solid;border-left:0 solid;border-top:0 solid;height:auto;margin-right:2px;vertical-align:auto;width:auto}.wpstg-tab-triangle.wpstg-rotate-90{transform:rotate(90deg)}.wpstg-tab-header:focus{box-shadow:none;color:#444;outline:none}#wpstg-large-files{border:1px dashed #ccc;display:none;font-size:12px;margin-top:20px;padding:10px;position:relative}#wpstg-large-files h3{background:#fff;left:5px;margin:0;padding:0 5px;position:absolute;top:-10px}.wpstg-subdir{display:none;margin-left:20px}.wpstg-subdir.wpstg-push{display:block;margin-left:20px}.wpstg-dir a.disabled{color:#888;cursor:default;text-decoration:none}.wpstg-check-subdirs{display:inline-block;margin-left:10px}.wpstg-notice-alert{background-color:#e01e5a;color:#fff}.wpstg-notice--white,.wpstg-notice-alert{display:block;margin-top:10px;max-width:600px;padding:20px}.wpstg-notice--white{background-color:#fff}.wpstg-notice-alert a,.wpstg-notice-alert h3{color:#fff}.wpstg-header{clear:both;font-size:19px;font-weight:400;line-height:1.6em;padding-top:10px}#wpstg-clone-label{font-size:14px;font-weight:700}.wpstg-log-details{background-color:#000;border:1px solid #fff;color:silver;font-family:monospace;font-size:12px;height:300px;line-height:15px;margin-top:15px;max-width:650px;overflow:scroll;padding:3px;white-space:nowrap}#wpstg-finished-result{display:none}#wpstg-remove-cloning{background:#ff3428;border-color:#e72f24;margin-top:5px}#wpstg-success-notice{background-color:#fff;border:1px solid #ccc;margin-top:20px;max-width:900px;padding:10px}.wpstg_beta_notice{margin-bottom:20px}.wpstg-sysinfo{height:400px;width:700px}.wpstg-form-table .col-title label{font-weight:600}.wpstg-form-table td:first-child{padding-right:20px;width:30%}.wpstg-share-button-container{margin:5px 0}.wpstg-share-button-container p{margin:0 0 10px}.wpstg-share-button{display:inline-block}.wpstg-share-button a{text-decoration:none}.wpstg-share-button .wpstg-share{-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;color:#fff;display:inline;font-family:sans-serif;font-size:12px;font-weight:700;padding:4px 8px;text-align:center;text-decoration:none}.wpstg-share-button-twitter .wpstg-share{background-color:#00abf0}.wpstg-share-button-facebook .wpstg-share{background-color:#3b5998}.wpstg-share-button-googleplus .wpstg-share{background-color:#f53424}.wpstg-share-button-facebook .share:active,.wpstg-share-button-googleplus .share:active,.wpstg-share-button-twitter .share:active{background-color:#353535}#wpstg-check-space{margin-left:8px}#wpstg-welcome li{font-size:18px;line-height:29px;list-style:none!important;padding-left:23px;position:relative}#wpstg-welcome{background-color:#fff;margin-right:20px;margin-top:20px}.wpstg-heading-pro{font-weight:700}.wpstg-h2{font-size:30px;line-height:2.5rem;margin-bottom:1.2rem;margin-top:0}#wpstg-welcome li:before{background:url(data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%2377B227%22%20d%3D%22M1671%20566q0%2040%2D28%2068l%2D724%20724%2D136%20136q%2D28%2028%2D68%2028t%2D68%2D28l%2D136%2D136%2D362%2D362q%2D28%2D28%2D28%2D68t28%2D68l136%2D136q28%2D28%2068%2D28t68%2028l294%20295%20656%2D657q28%2D28%2068%2D28t68%2028l136%20136q28%2028%2028%2068z%22%2F%3E%3C%2Fsvg%3E) left .4em no-repeat;background-size:contain;color:#77b227;content:"";height:100%;left:0;position:absolute;top:-2px;width:1em}.wpstg-h1{font-size:2.5em;letter-spacing:normal;line-height:3.68rem;margin-bottom:1.35rem}.wpstg--swal2-content{color:#3e3e3e}.wpstg--swal2-content h1{color:#444}#wpstg-welcome h2{margin:0 0 15px}#wpstg-welcome .wpstg-footer{clear:both;font-style:italic;margin-top:20px}#wpstg-footer{clear:both;margin-right:10px;margin-top:20px;padding-top:50px}#wpstg-footer a{text-decoration:none}#wpstg-footer li{list-style:circle;margin-bottom:2px}#wpstg-footer ul{margin-left:15px;margin-top:0}.wpstg-footer--title{margin-left:15px}.wpstg-staging-info{color:#3e3e3e;font-size:12px;margin-top:8px}.wpstg-staging-info a{color:#3e3e3e}.wpstg-staging-info li{margin-bottom:2px}.wpstg-bold{font-weight:600}#wpstg-processing-status{float:left;font-size:13px;font-weight:400;margin-top:5px}#wpstg-processing-timer{float:right;font-size:13px;font-weight:400;margin-top:5px}#wpstg-report-issue-button{background-color:#fff;border:1px solid #e01e5a;color:#e01e5a;margin-left:30px}#wpstg-report-issue-button:hover{background-color:#dc2b62;color:#fff}.wpstg-blue-primary{-webkit-appearance:none;background:#25a1f0;border:1px solid #2188c9;border-radius:3px;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-block;font-size:13px;height:28px;margin:0;text-decoration:none;white-space:nowrap}.wpstg-blue-primary:hover{background:#127fc6}a.wpstg-blue-primary{height:auto;padding:5px 10px}.wpstg-blue-primary:hover{background-color:#259be6}.wpstg-report-issue-form{background-color:#fff;border:1px solid #e8e8e8;border-radius:3px;box-shadow:inset 0 1px 0 0 #fff;display:none;padding:15px 15px 10px;position:absolute;right:0;top:35px;width:300px;z-index:999}@media (max-width:600px){.wpstg-report-issue-form{position:relative}}.wpstg-report-show{display:block}.wpstg-field input[type=text],.wpstg-field textarea{font-weight:400;line-height:1.4;margin-bottom:4px;width:100%}.wpstg-report-email,.wpstg-report-hosting-provider{border-radius:3px;font-size:.8rem;font-weight:400;height:2.3rem;line-height:2.3rem;margin-bottom:4px;padding:0 10px;width:100%}.wpstg-report-description{border-radius:3px;font-size:.8rem;padding:6px 10px;resize:none}.wpstg-report-privacy-policy{font-size:12px;margin-bottom:15px}#wpstg-report-cancel{float:right;font-weight:700;margin-right:5px}#wpstg-success-button{font-weight:700}.wpstg-message{background-color:#f5e0de;border-radius:3px;box-sizing:border-box;-moz-box-sizing:border-box;color:rgba(0,0,0,.6);height:auto;margin:10px 0;min-height:18px;padding:6px 10px;position:relative}.wpstg-message.wpstg-error-message{background-color:#f5e0de;color:#b65147;font-size:12px}.wpstg-message.wpstg-success-message{background-color:#d7f8e0;color:#515151}.wpstg-message p{font-size:13px;margin:3px 0}.wpstg-warning{background-color:#ffb804;color:#fff;display:block;margin:10px 10px 10px 0;padding:10px}.wpstg-warning a{color:#fff;font-weight:700;text-decoration:underline}.wpstg-error{background-color:#e01e5a!important;border-color:transparent!important;box-shadow:none!important;color:#fff;display:block;margin:10px 10px 10px 0!important;padding:10px!important}.wpstg-error a{color:#fff;font-weight:700;text-decoration:underline}#wpstg-resume-cloning{display:none}#wpstg-external-db th{text-align:left;width:120px}#wpstg-db-connect{font-weight:400}#wpstg-db-status{border:1px solid transparent;border-radius:4px;display:block;margin-bottom:20px;margin-top:5px;padding:5px;text-align:center;text-decoration:none}.wpstg-text-field>#wpstg-db-status{margin-left:150px;margin-top:8px;min-width:300px}.wpstg-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.wpstg-failed{background-color:#f2dede;border-color:#ebccd1;color:#a94442}#wpstg_select_tables_cloning{font-size:13px;height:600px}#wpstg_select_tables_pushing{font-size:13px;height:400px}#wpstg-update-notify{background-color:#e01e5a;color:#fff;font-size:14px;line-height:normal;padding:10px}#wpstg-update-notify a{color:#fff;font-weight:700}.wpstg-pointer{cursor:pointer}.wpstg--tab--header{background-color:#fff;border-radius:0;box-shadow:0 0 1px rgba(0,0,0,.125),0 1px 3px rgba(0,0,0,.02);color:#3e3e3e;position:relative;transition:border-color .2s ease-in-out}.wpstg--tab--header ul{display:flex}.wpstg--tab--header ul li{margin-bottom:0;margin-right:1em}.wpstg--tab--header ul li:last-child{margin-right:0}.wpstg--tab--header a{color:#c4c4c4;cursor:pointer;display:inline-block;font-size:18px;min-width:150px;padding:1em 1.25em 9px;text-align:center}.wpstg--tab--header a.wpstg--tab--active{border-bottom:3px solid #0e86d9;color:#25a1f0}.wpstg--tab--header a:hover{background-color:#fefefe;border-bottom:3px solid #0e86d9;color:#0e86d9}.wpstg--tab--content{display:none}.wpstg--tab--active{display:block}#wpstg-premium-header{font-size:1.5rem;font-weight:700}.wpstg--text--strong,.wpstg--text--strong *{font-weight:700!important}.wpstg--text--danger{color:#a94442}.wpstg--tooltip{display:inline-block;margin-left:5px;position:relative}.wpstg--tooltip.wpstg--tooltip-normal{border-bottom:0;margin-left:0}.wpstg--tooltip .wpstg--tooltiptext{background-color:#fff;border-radius:3px;-webkit-box-shadow:0 1px 4px rgba(0,0,0,.16);-moz-box-shadow:0 1px 4px rgba(0,0,0,.16);box-shadow:0 1px 4px rgba(0,0,0,.16);color:#505050;font-weight:400;padding:12px;position:absolute;text-align:left;visibility:hidden;width:300px;z-index:1}.wpstg--tooltiptext-backups{left:-150%;margin-left:-56px;margin-top:4px;top:100%;width:120px}.wpstg--tooltip.wpstg--exclude-rules--tooltip{border-bottom:0 solid transparent}.wpstg--tooltip.wpstg--exclude-rules--tooltip>.wpstg--tooltiptext{margin-left:-150px;margin-top:0}.wpstg--tooltip .wpstg--tooltiptext-backups:after{border:5px solid transparent;border-bottom-color:#fff;bottom:100%;content:" ";left:50%;margin-left:25px;position:absolute}.wpstg--tooltip .wpstg--tooltiptext.has-top-arrow{margin-top:6px}.wpstg--tooltip .wpstg--tooltiptext.has-top-arrow:after{border:5px solid transparent;border-bottom-color:#fff;bottom:100%;content:" ";left:50%;margin-left:-18px;position:absolute}.wpstg--snaphot-restore-table tr{line-height:12px}.wpstg-beta-notice{background-color:#b0e8b0;border-radius:3px;margin-bottom:20px;padding:7px}#wpstg-backup-name{font-size:1.875em;font-weight:600}#wpstg_select_tables_cloning option:checked,#wpstg_select_tables_pushing option:checked{-webkit-appearance:menulist-button;background-image:linear-gradient(0deg,#1e90ff,#1e90ff)}.wpstg--btn--cancel{color:#fff;font-size:16px;height:auto;line-height:normal;margin-bottom:1.5em;padding:.5em}.wpstg--btn--cancel,.wpstg--btn--cancel:hover{background:#ff3428;border-color:#e72f24}.wpstg--process--content>.wpstg--swal2-html-container{padding:4em 2em!important}.wpstg--modal--error--logs,.wpstg--modal--process--logs{background:#fff;border:1px solid #a8a8a8;border-radius:3px;display:none;height:300px;margin-top:1em;overflow:auto;padding-left:10px;padding-top:10px;text-align:justify}.wpstg--modal--error--logs{height:auto;max-height:300px}.wpstg--modal--process--logs p{font-size:12px;white-space:nowrap}.wpstg--modal--process--logs p.wpstg--modal--process--msg--info{color:#222}.wpstg--modal--process--logs p.wpstg--modal--process--msg--debug{color:#757575}.wpstg--modal--process--title{color:#565656;margin:.25em 0}.wpstg--modal--process--subtitle{color:#565656;margin:.5em 0}.wpstg--modal--error--logs>p{color:#222;font-size:14px;text-align:left}.wpstg--modal--error--logs p,.wpstg--modal--process--logs p{margin:0 0 2px}.wpstg--modal--process--msg--critical,.wpstg--modal--process--msg--error{color:#e01e5a}.wpstg--modal--process--msg--warning{color:#ff8c00}.wpstg--modal--process--msg-found{color:#e01e5a;font-size:16px;font-weight:700}.wpstg--modal--delete{color:#565656;margin-top:8px;text-align:left}.wpstg-swal-popup .wpstg--swal2-cancel.wpstg--btn--cancel{margin-bottom:0;text-shadow:none!important}.wpstg-swal-popup .wpstg-loader{display:inline-block!important}.wpstg--modal--process--generic-problem{border-left:5px solid #e01e5a;display:none;margin:.5em 0}.wpstg--modal--process--logs--tail{background:none;border:none;color:#565656;cursor:pointer;font-size:16px;text-decoration:underline}.wpstg--modal--backup--import--upload--title{color:#3e3e3e}.wpstg--modal--backup--import--configure,.wpstg--modal--backup--import--upload--container input[type=file],.wpstg--modal--backup--import--upload--status{display:none}#wpstg--backups--import--file-list{font-size:14px;font-weight:700}#wpstg--backups--import--file-list-empty{color:#e01e5a}.wpstg--modal--backup--import--filesystem label{font-size:14px}.wpstg--modal--backup--import--filesystem button{margin-bottom:20px}.wpstg--modal--backup--import--upload{color:#505050;min-height:30px;position:relative}.wpstg--modal--backup--import--upload--container{background-color:#f4fbff;border:3.5px dashed #dedede;border-radius:10px;margin:.5em;min-height:130px;padding:1em .5em;position:relative;transition:background-color .3s ease,color .3s ease}.wpstg--modal--backup--import--upload--container.wpstg--has-dragover span.wpstg--drop{display:inline-flex}.wpstg--modal--backup--import--upload--container input[type=file]{display:none}.wpstg--modal--backup--import--upload--container img{align-self:center;border:none;margin-top:10px;width:4em}.wpstg--modal--backup--import--upload--container span{margin-top:1em}.wpstg--backup--import--options>button{align-self:center;height:auto;line-height:normal;margin-top:1em;padding:1em;width:185px}.wpstg--backup--import--options{display:flex;justify-content:center;position:relative}.wpstg--backup--import--options ul{display:none}.wpstg--backup--import--options.wpstg--show-options ul{background:#25a1f0;border-color:#2188c9;border-radius:0 0 3px 3px;border-width:1px;box-sizing:border-box;display:block;margin:54px 0 0;padding:0;position:absolute;text-shadow:0 -1px 1px #006799,1px 0 1px #006799,0 1px 1px #006799,-1px 0 1px #006799;width:185px}.wpstg--backup--import--options.wpstg--show-options ul li{border-bottom:.1em solid #25a1f0;margin:0}.wpstg--backup--import--options.wpstg--show-options ul li:hover{background-color:#25a1f0}.wpstg--backup--import--options.wpstg--show-options ul li:last-child{border-bottom:none}.wpstg--backup--import--options ul li button{background:none;border:none;color:#fff;cursor:pointer;height:40px;line-height:40px;margin:0;width:100%}.wpstg--backup--import--options ul li button:hover{background-color:#259be6}.wpstg--modal--backup--import--search-replace--info{display:flex;flex-direction:row;margin:1em 0}.wpstg--modal--backup--import--info p{margin:0;text-align:left}.wpstg--modal--backup--import--search-replace--wrapper button{align-self:center}.wpstg--import--advanced-options--button{border:0;border-radius:3px;cursor:pointer;font-size:18px;text-shadow:0 -1px 1px #006799,1px 0 1px #006799,0 1px 1px #006799,-1px 0 1px #006799}.wpstg--modal--backup--import--search-replace--new{background-color:#25a1f0;color:#fff}.wpstg--modal--backup--import--search-replace--remove{background-color:#25a1f0;color:#fff;height:22px;margin-left:5px;width:22px}.wpstg--modal--backup--import--search-replace--input-group:first-child button{display:none}.wpstg--modal--backup--import--search-replace--input--container{display:flex;flex:1;flex-direction:column}.wpstg--modal--backup--import--search-replace--input-group{border-bottom:6px solid #f1f1f1;margin-bottom:10px;width:100%}.wpstg--modal--backup--import--search-replace--input-group input{border:1px solid #dedede;border-radius:3px;color:#666;display:inline-block;line-height:10px;margin-bottom:12px;min-width:250px;padding:8px;width:calc(50% - 20px)}.wpstg--modal--import--upload--process{align-items:center;color:#333;display:none;height:30px;justify-content:center;left:0;margin-bottom:20px;margin-top:20px;overflow:hidden;position:relative;text-indent:1em;top:0;white-space:nowrap;width:100%}.wpstg--modal--import--upload--progress{background:#98d452;border-radius:4px;color:#fff;height:100%;left:0;position:absolute;top:0}.wpstg--modal--import--upload--progress--title{z-index:9}.wpstg-fieldset:disabled{border-top:1px solid #fff;margin-top:20px;opacity:.8}.wpstg-fieldset{padding-left:20px}.wpstg-dark-alert{background-color:#0e86d9;color:#fff;font-weight:700;margin-top:0;padding:30px}.wpstg-dark-alert ul{list-style:initial}.wpstg-form-group{align-items:center;display:block;margin-bottom:8px;width:100%}.wpstg-form-group>label{display:block;font-weight:700}.wpstg-text-field>input{display:block;line-height:1.5;width:300px}.wpstg-text-field>.wpstg-code-segment{margin-top:4px;min-width:300px}.wpstg-form-group>.wpstg-checkbox{position:relative}.wpstg-form-group>.wpstg-checkbox>input[type=checkbox]{left:150px}.wpstg-ml-4{margin-left:4px}#wpstg-advanced-settings hr{margin:20px 0}.wpstg-form-row{display:block}.wpstg-form-row input,.wpstg-form-row label{display:table-cell;margin-bottom:3px;margin-top:3px;padding-left:5px;padding-right:5px}.wpstg-form-row input{width:400px}.wpstg-form-row label{font-weight:700;white-space:nowrap;width:1px}#wpstg-db-connect-output #wpstg-db-status{width:390px}.wpstg-fs-14{font-size:14px}.wpstg-code-segment{display:block}.wpstg-form-group>.wpstg-checkbox{min-width:100%;width:100%}.wpstg-form-group>.wpstg-checkbox>input[type=checkbox]{margin-left:10px}@media only screen and (max-width:768px){.wpstg-form-group>label{min-width:auto;width:auto}.wpstg-text-field>input{width:100%}.wpstg-text-field>.wpstg-code-segment{margin-left:0;min-width:100%}.wpstg-tab-section{max-width:450px;width:calc(100vw - 60px)}}.wpstg-rounded{border-radius:3px}.wpstg-white-border{border:1px solid #fff!important}.wpstg-m-0{margin:0}.wpstg-mt-10px{margin-top:10px!important}.wpstg-mr-10px{margin-right:10px!important}.wpstg-my-10px{margin-bottom:10px!important;margin-top:10px!important}.wpstg-w-100{width:100%}.wpstg-box-shadow{box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}.wpstg-float-left{float:left}.wpstg-bold-text{font-weight:700}.wpstg-warning.notice{border-left:4px solid #ffba00}.wpstg-confirmation-label{background-color:#5b9dd9;border-radius:3px;color:#fff;padding:2px}.wpstg-my-6px{margin-bottom:6px;margin-top:6px}.wpstg-mb-10px{margin-bottom:10px}.wpstg-clear-both{clear:both}.wpstg-font-italic{font-style:italic}.wpstg-mt-20px{margin-top:20px}.wpstg-welcome-container{border:2px solid #fff;margin-bottom:20px;padding:20px}.wpstg-ml-30px{margin-left:30px}.wpstg-text-center{text-align:center}.wpstg-feedback-link{text-decoration:none}.wpstg-feedback-span{display:block;margin-bottom:3px}#wpstg-confirm-backup-restore-data{margin:40px;text-align:left}#wpstg-confirm-backup-restore-wrapper{margin:0 30px 30px}#wpstg-confirm-backup-restore-wrapper h3{color:#e01e5a}#wpstg-progress-backup,#wpstg-progress-db{background-color:#3fa5ee}#wpstg-progress-files.wpstg-pro,#wpstg-progress-sr{background-color:#3c9ee4}#wpstg-progress-data,#wpstg-progress-dirs{background-color:#3a96d7}#wpstg-progress-files:not(.wpstg-pro),#wpstg-progress-finishing{background-color:#378cc9}.wpstg-issue-resubmit-confirmation.wpstg--swal2-container,.wpstg-swal2-container.wpstg--swal2-container{z-index:10500}.wpstg-swal2-container.wpstg-swal2-loading .wpstg--swal2-actions,.wpstg-swal2-container.wpstg-swal2-loading .wpstg--swal2-header{display:none}body.toplevel_page_wpstg_backup .wpstg--swal2-container .wpstg--swal2-content,body.toplevel_page_wpstg_clone .wpstg--swal2-container .wpstg--swal2-content{z-index:2}.toplevel_page_wpstg_clone #swal2-content h2{color:#3e3e3e}.toplevel_page_wpstg_clone #swal2-content{line-height:1.5em}div#exportUploadsWithoutDatabaseWarning{background-color:#fafafa;border:1px solid #e3e3e3;border-radius:5px;font-size:.9rem;font-style:italic;margin:10px;padding:10px;text-align:center}.wpstg-advanced-options-dropdown-wrapper{display:none;margin-top:20px}.wpstg--modal--backup--import--search-replace--wrapper{margin-top:20px;text-align:left}.wpstg--modal--backup--import--search-replace--new--wrapper{text-align:center}.wpstg-import-backup-contains li{display:inline-block;margin-bottom:0}.wpstg-import-backup-contains li .wpstg-backups-contains{background-color:#f4f4f4!important;border-radius:3px;color:#979797;font-size:17px;height:18px;width:18px}.wpstg-import-backup-contains.wpstg-listing-single-backup li .wpstg-backups-contains{background-color:#fff;padding:2px}.wpstg-import-backup-contains.wpstg-listing-single-backup li .wpstg-backups-contains>.wpstg--dashicons{filter:invert(35%)}.wpstg-import-backup-contains .wpstg--tooltiptext{font-size:13px;left:-25px;padding:5px;text-align:center;width:80px}.wpstg-import-backup-contains-title,ul.wpstg-import-backup-contains{display:inline-block}.wpstg-import-backup-name{display:inline-block;font-weight:700}.wpstg-backup-more-info-toggle{cursor:pointer;display:inline-block;font-size:x-small;font-style:italic}.wpstg-backup-more-info-toggle::selection{background:none}ul.wpstg-import-backup-more-info{background-color:#f6f6f6;border:1px solid #878787;border-radius:3px;cursor:pointer;font-size:14px;margin-bottom:30px;margin-top:10px;padding:7px;text-align:left}ul.wpstg-import-backup-more-info:hover{background-color:#def2ff;border:1px solid #25a1f0}ul.wpstg-import-backup-more-info li{height:20px}.wpstg-backup-list{max-width:800px}.wpstg-backup-list h3{color:#3e3e3e}.wpstg-backup-list ul ul{margin-block-end:1em;margin-block-start:1em}.wpstg-push-confirmation-message{font-size:15px;text-align:justify}.wpstg-settings-row{padding-bottom:10px;padding-top:10px}.wpstg-settings-title{font-weight:600}.wpstg-settings-form-group{align-items:center;display:flex}.wpstg-settings-form-group>.wpstg-settings-message{margin:7px 0 0;padding:0;width:30%}.wpstg-excluded-filters-container{margin-bottom:10px;margin-top:10px;max-width:100%;padding:0;width:100%}.wpstg-excluded-filters-container>table{border-collapse:collapse;border-color:transparent;width:100%}.wpstg-excluded-filters-container td{height:20px;padding-bottom:4px;padding-top:4px}.wpstg-excluded-filters-container h4{margin:0}.wpstg-exclude-filters-foot{display:flex;justify-content:flex-start;padding:0}.wpstg-exclude-filter-dropdown>button:hover{background:#135e96;border:1px solid #135e96}.wpstg-exclude-filter-dropdown>.wpstg-dropdown-menu{width:128px}.wpstg-remove-exclude-rule{background-color:#e01e5a;border:1px solid #e01e5a;border-radius:10px;box-shadow:none;color:#fff!important;cursor:pointer;display:inline-flex;font-size:24px;font-weight:400;height:20px;justify-content:center;line-height:.7;margin-top:5px;outline:none;padding:0;width:20px}.wpstg-remove-exclude-rule:hover{background-color:#e01e5a;border-color:#e01e5a}.wpstg-code-block{background:#f8f8f8;border-radius:2px;font-size:1.2em;margin-top:4px}.wpstg-rule-info{background:#f8f8f8!important}code.wpstg-code{background:#fff;border:1px solid #aaa;color:#e01e5a;display:inline-block;font-size:11px;margin-bottom:1px;padding:2px 4px}.wpstg-exclusion-rule-info{align-items:center;background-color:#ffc107;border:1px solid #ffc107;border-radius:7px;box-shadow:none;color:#fff!important;display:inline-flex;font-size:14px;font-weight:400;height:14px;justify-content:center;outline:none;padding:0;vertical-align:middle;width:14px}.wpstg-exclusion-rule-info:hover{background-color:#ffba0c;border:1px solid #ffba0c}.wpstg-exclude-rule-input{background-color:#fff;border:1px solid #bbb;border-radius:0!important;box-shadow:none;color:#222;display:inline-block;font-size:12px!important;font-weight:400;line-height:1.5;margin-left:4px;margin-top:4px;min-height:24px!important;outline:none!important;padding:2px 6px;transition:all .3s cubic-bezier(.25,.8,.25,1);vertical-align:baseline!important;width:135px}.wpstg-excluded-filters-container tbody>tr:last-child .wpstg-exclude-rule-input{margin-bottom:4px}.wpstg-exclude-rule-input:hover{border:1px solid #999}.wpstg-exclude-rule-input:focus{border:1px solid #25a0f1!important;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)!important}.wpstg-file-size-exclude-select,.wpstg-path-exclude-select{width:135px}.wpstg-file-size-exclude-select-small{width:52px}.wpstg-file-size-exclude-input{width:75px}.wpstg-staging-option-title{margin:15px 0 0}.wpstg-swal-push-container.wpstg--swal2-container{z-index:9995}#wpstg-scanning-files{padding-bottom:5px}#wpstg-scanning-db.wpstg-tab-section,#wpstg-scanning-files.wpstg-tab-section{padding-top:10px}.wpstg-reset-excludes-container{margin:10px 0}.wpstg-swal2-ajax-loader{align-items:center;display:flex;height:150px;justify-content:center;overflow:hidden;width:100%}@keyframes wpstg-loading-icon-anim{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.wpstg-swal2-ajax-loader>img{animation:wpstg-loading-icon-anim 1s linear infinite;-webkit-animation:wpstg-loading-icon-anim 1s linear infinite;height:64px;width:64px}.wpstg-swal2-container .wpstg-tab-section{width:auto!important}#wpstg-no-staging-site-results{margin-top:10px;max-width:375px}li#wpstg-backup-no-results{max-width:500px}#wpstg-no-staging-site-results div,li#wpstg-backup-no-results div{display:inline-block;text-align:center}#wpstg-no-staging-site-results .wpstg--dashicons,li#wpstg-backup-no-results .wpstg--dashicons{filter:invert(50%);margin-top:1px;position:absolute}#wpstg-no-staging-site-results .no-staging-site-found-text,li#wpstg-backup-no-results .no-backups-found-text{color:#5d5d5d;margin-left:20px}@media only screen and (max-width:680px){#wpstg-no-staging-site-results div,li#wpstg-backup-no-results div{width:100%}}#wpstg--modal--backup--download-inner p.wpstg-download-modal-text{color:#565656;font-size:16px}#wpstg--modal--backup--download-inner h2{color:#565656}.wpstg-backup-restore-contains-database,.wpstg-backup-restore-contains-files{display:none}.wpstg-green-button{background:#8bc34a;border:1px solid #78a93f;color:#fff;text-shadow:0 -1px 1px #78a93f,1px 0 1px #78a93f,0 1px 1px #40c921,-1px 0 1px #78a93f}.wpstg-green-button:hover{background:#78a93f}.wpstg-is-dir-loading{display:none;margin-left:8px;margin-top:-2px;position:absolute}.wpstg-ml-8px{margin-left:8px}.wpstg-mb-8px{margin-bottom:8px}.wpstg-btn-danger{background-color:#e01e5a;border:1px solid #e01e5a;color:#fff;text-shadow:none}.wpstg-btn-danger:hover{background:#c0194d;box-shadow:0 1px 4px rgba(0,0,0,.3)}.wpstg-swal2-container.wpstg-swal2-loading>.wpstg--swal2-modal{height:200px}.wpstg-swal2-container.wpstg-swal2-loading.wpstg-swal2-loading-sm>.wpstg--swal2-modal{height:100px}.wpstg-swal2-container.wpstg-swal2-loading.wpstg-swal2-loading-sm .wpstg-swal2-ajax-loader img{height:32px;width:32px}.wpstg-reset-confirmation.wpstg-swal2-container:not(.wpstg-swal2-loading)>.wpstg--swal2-modal{max-width:480px}.wpstg-reset-confirmation.wpstg-swal2-container .wpstg--swal2-header{display:none}.wpstg-reset-confirmation.wpstg-swal2-container .wpstg--swal2-content{height:auto}.wpstg-reset-confirmation.wpstg-swal2-container>.wpstg--swal2-modal>.wpstg--swal2-content .wpstg-tabs-wrapper{height:auto!important;overflow-y:auto}.wpstg-reset-confirmation.wpstg-swal2-container>.wpstg--swal2-modal>.wpstg--swal2-content{font-size:13px}.wpstg-reset-confirmation.wpstg-swal2-container>.wpstg--swal2-modal>.wpstg--swal2-content .wpstg-dir{margin-bottom:4px}.wpstg-reset-confirmation.wpstg-swal2-container>.wpstg--swal2-modal>.wpstg--swal2-content .wpstg-subdir{margin-top:4px}.wpstg-reset-confirmation.wpstg-swal2-container.has-collapsible-open .wpstg--swal2-modal{height:calc(100vh - 70px)}.wpstg-reset-confirmation.wpstg-swal2-container.has-collapsible-open>.wpstg--swal2-modal>.wpstg--swal2-content .wpstg-tabs-wrapper{height:calc(100vh - 350px)!important}.wpstg--swal2-actions.wpstg--modal--actions>button{font-weight:500;margin-left:4px;margin-right:4px;min-width:80px;text-shadow:none;text-transform:uppercase}.wpstg-swal-popup{max-width:1200px!important}.wpstg-swal-popup.wpstg-push-finished .wpstg--swal2-title{color:#a8a8a8}.wpstg-swal-popup.wpstg-push-finished .wpstg--swal2-content{color:#a8a8a8;margin-top:8px}.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step,.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step-line,.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step.wpstg--swal2-active-progress-step{background:#25a1f0}.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step-line{width:2.75em}.wpstg--dashicons{height:16px;width:16px}.wpstg--dashicons.wpstg-dashicons-grey{filter:invert(20%)}.wpstg--dashicons.wpstg-dashicons-19{height:19px;width:19px}.wpstg--dashicons.wpstg-dashicons-21{height:21px;width:21px}#wpstg--tab--backup #wpstg-step-1{align-items:center;display:flex}#wpstg--tab--backup #wpstg-step-1 .wpstg--tooltip,.wpstg-advanced-options .wpstg--tooltip{align-items:center;border-bottom:0 solid transparent;display:inline-flex}.wpstg-advanced-options-site .wpstg--tooltip img.wpstg--dashicons{filter:invert(17%) sepia(0) saturate(1%) hue-rotate(195deg) brightness(97%) contrast(77%)}#wpstg--tab--backup #wpstg-step-1 .wpstg--tooltip{align-items:center;border-bottom:0 solid transparent;display:flex}.wpstg--tooltip .wpstg--tooltiptext-backups:after{left:calc(20% + 2px)}.wpstg-listing-single-backup .wpstg--dashicons{height:17px;width:17px}.wpstg-100-width{width:100px}.wpstg-caret{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid;cursor:pointer;display:inline-block;height:0;margin-left:2px;transition:transform .2s;vertical-align:middle;width:0}.wpstg-caret.wpstg-caret-up{transform:rotate(-180deg)}.wpstg-advanced-options-site label{display:block;font-size:16px;margin:.5em 0}#wpstg-confirm-backup-restore-data{font-size:18px;margin:30px 0 0}body.toplevel_page_wpstg_backup .wpstg--swal2-container.wpstg--swal2-backdrop-show,body.toplevel_page_wpstg_clone .wpstg--swal2-container.wpstg--swal2-backdrop-show{background:rgba(0,0,0,.6);z-index:9995}.wpstg-swal-popup.wpstg--swal2-popup{border-radius:8px;color:#3e3e3e;font-family:Verdana,Geneva,Tahoma,sans-serif;padding:24px;z-index:9999}.wpstg-swal-popup .wpstg--swal2-title{color:#3e3e3e;font-size:22px}.wpstg-swal-popup.wpstg--swal2-popup:not(.centered-modal) .wpstg--swal2-title{align-self:flex-start;margin-bottom:0;text-align:left}.wpstg-swal-popup .wpstg--swal2-close{right:8px;top:8px;z-index:5}.wpstg-swal-popup .wpstg--swal2-close:focus{outline:none}.wpstg-swal-popup.wpstg--swal2-popup:not(.centered-modal) .wpstg--swal2-actions{justify-content:flex-end}.wpstg-swal-popup .wpstg--swal2-actions>button{border:0;border-radius:4px;font-size:15px;font-weight:900;height:40px;line-height:normal;min-width:100px;padding:10px 12px;text-shadow:none;text-transform:capitalize}.wpstg-swal-popup.wpstg--swal2-popup:not(.centered-modal) .wpstg--swal2-actions>button{margin-left:8px}.wpstg-swal-popup .wpstg--swal2-actions>button.wpstg--swal2-cancel{background:#fff;border:1px solid rgba(29,28,29,.3);color:#1d1c1d;font-weight:500;text-shadow:none;width:100px}.wpstg-swal-popup .wpstg--swal2-actions>button:hover{box-shadow:0 1px 3px 0 rgba(0,0,0,.1)}.wpstg-swal-popup .wpstg--swal2-actions>button.wpstg--swal2-cancel:hover{background:rgba(28,29,28,.04)}#wpstg-backup-name-input{font-size:18px;height:44px}.wpstg-restore-finished-container .wpstg--swal2-title{color:#565656!important}.wpstg-restore-finished-container .wpstg--swal2-content{color:#a8a8a8;margin-top:20px}.wpstg-linear-loader>span[class*=wpstg-linear-loader-item]{animation:wpstg_linear_loader 3s infinite;animation-fill-mode:both;animation-timing-function:cubic-bezier(.03,.615,.995,.415);background:#333;border-radius:100%;display:inline-block;height:6px;margin:12px 2px;width:6px}.wpstg-linear-loader>span.wpstg-linear-loader-item:first-child{animation-delay:1s}.wpstg-linear-loader>span.wpstg-linear-loader-item:nth-child(2){animation-delay:.8s}.wpstg-linear-loader>span.wpstg-linear-loader-item:nth-child(3){animation-delay:.6s}.wpstg-linear-loader>span.wpstg-linear-loader-item:nth-child(4){animation-delay:.4s}.wpstg-linear-loader>span.wpstg-linear-loader-item:nth-child(5){animation-delay:.2s}.wpstg-linear-loader>span.wpstg-linear-loader-item:nth-child(6){animation-delay:0s}@keyframes wpstg_linear_loader{0%{opacity:0;transform:translateX(-30px)}25%{opacity:1}50%{opacity:0;transform:translateX(30px)}to{opacity:0}}.wpstg--modal--backup--import--upload--content{margin:1em auto;padding:.75em}.wpstg--modal--backup--import--upload--content .wpstg-linear-loader{display:none}#wpstg-multisite-disabled .wpstg-clone{width:355px}#wpstg-free-version-backups .wpstg-clone p{font-size:16px}.wpstg-staging-info li .backup-notes{word-break:break-word}.wpstg--modal--import--upload--progress--title small{font-weight:400}#wpstg-report-issue-wrapper{position:relative}#wpstg-report-issue-wrapper .arrow-up{border-bottom:8px solid #fff;border-left:8px solid transparent;border-right:8px solid transparent;height:0;position:absolute;right:40px;top:-8px;width:0}.notice{margin:10px 20px 0 2px}.wpstg--notice{box-shadow:0 1px 1px rgba(0,0,0,.04);margin:20px 20px 20px 0;padding:1px 12px}.wpstg--error a:hover{color:#eee}.wpstg--error,.wpstg--error a{background:#e01e5a;color:#fff}.wpstg-button{border-radius:2px;cursor:pointer;display:inline-block;font-weight:500;outline:0;padding:2px 10px;text-decoration:none;text-transform:uppercase;transition:background-color .1s ease-in}.wpstg-button.wpstg-save{background-color:#1687a7;color:#fff}.wpstg-button.wpstg-save:hover{background-color:#276678}.wpstg-button.wpstg-button-light{animation:background-color .3s;background-color:#f8f8f8;border:1px solid #eee;color:#333}.wpstg-button.wpstg-button-light:hover{background-color:#e0e0e0;border:1px solid #e0e0e0}.wpstg-buttons .spinner{float:none;margin:0 0 0 5px}.wpstg-button.danger{background-color:#e01e5a;border-color:transparent;border-radius:2px;color:#fff;display:inline-block;text-align:center;text-decoration:none;text-transform:inherit}.wpstg-button.danger:hover{background-color:#c0194d}.wpstg-button--big{border-radius:3px;color:#fff;display:inline-block;font-size:16px;margin-top:20px;min-width:170px;padding:10px;text-align:center;text-decoration:none}.wpstg-button--primary{-webkit-appearance:none;border:1px solid rgba(29,28,29,.3);border-radius:2px;box-sizing:border-box;color:#171717;cursor:pointer;display:inline-block;font-size:13px;line-height:2.15384615;margin:0;min-height:30px;padding:0 10px;text-decoration:none;white-space:nowrap}.wpstg-button--primary:hover{background:rgba(28,29,28,.04);color:#000}.wpstg-button--secondary{background-color:transparent;border:1px solid rgba(29,28,29,.3);border-radius:2px;color:#95a5a6;cursor:pointer;display:inline-block;font-weight:500;outline:0;padding:4px 10px 2px;text-decoration:none;transition:background-color .1s ease-in}.wpstg-button--red{background-color:#e01e5a;border-color:#e01e5a;color:#fff}.wpstg-button--red:hover{background-color:#d02358;border-color:#e0255f;color:#fff}.wpstg-button--cta-red{background-color:#fe008f;border-color:#e01e5a;color:#fff}.wpstg-button--cta-red:hover{background-color:#f31391;border-color:#e0255f;color:#fff}.wpstg-button--blue{background-color:#25a0f1;border-color:#25a0f1;color:#fff}.wpstg-button--blue:hover{background-color:#259be6;border-color:#259be6;color:#fff}#wpstg-button-backup-upgrade{font-size:16px;text-align:center;width:150px}.wpstg-staging-status{color:#e01e5a}#wpstg-push-changes,#wpstg-save-clone-data,#wpstg-start-updating{margin-left:5px}input.wpstg-textbox{border:1px solid #aaa;border-radius:.25rem;font-size:14px;padding:.25rem .5rem}input.wpstg-textbox:focus{border-color:#259be6;-webkit-box-shadow:0 0 0 .1rem hsla(0,0%,86.7%,.35);box-shadow:0 0 0 .1rem hsla(0,0%,86.7%,.35);outline:0}input.wpstg-textbox::placeholder{color:#888}.wpstg--advance-settings--checkbox{align-items:center;display:flex}.wpstg--advance-settings--checkbox>label{display:inline-block;font-size:14px;font-weight:bolder;width:165px}.wpstg--advance-settings--checkbox>.wpstg--tooltip{border-bottom:0 solid transparent;display:inline-block;margin-left:5px;margin-top:5px;position:relative}.wpstg--advance-settings--checkbox>.wpstg--tooltip>.wpstg--tooltiptext{left:-150px;top:18px}div#wpstg-restore-wait{align-items:center;background:#fff;display:none;flex-direction:column;height:100vh;justify-content:center;left:0;position:fixed;text-align:center;top:0;width:100vw;z-index:99999}div#wpstg-restore-wait .wpstg-title{font-weight:700}div#wpstg-restore-wait div{font-size:16px;margin-top:12px}.resumable-browse{cursor:pointer}.resumable-browse a{text-decoration:underline}.wpstg-upload-text{font-weight:600}.wpstg--modal--backup--import--upload--container.dragover{background-color:#94dc96;color:#fff;transition:background-color .7s}.wpstg--modal--backup--import--upload--container.dragover *{pointer-events:none}.wpstg--modal--backup--import--upload--container.dragover .wpstg-upload-text{display:none}.wpstg--modal--backup--import--upload--container.dragover .wpstg-dragover-text{display:block}.wpstg--modal--backup--import--upload--container .wpstg-dragover-text{display:none}#wpstg-invalid-license-message,#wpstg-invalid-license-message a{color:#e01e5a;font-weight:500;margin-left:6px}#wpstg-sidebar--banner{max-width:200px}@media screen and (max-width:1234px){.wpstg-h2{font-size:24px}#wpstg-welcome li{font-size:14px}}.wpstg-exclamation{background-color:#e01e5a;border-radius:100%;color:#fff;display:inline-block;font-weight:700;height:20px;margin:6px;text-align:center;width:20px}.wpstg--tab--contents{padding-top:1px}.wpstg-swal-show.wpstg--swal2-show{-webkit-animation:wpstg-swal-show .2s!important;animation:wpstg-swal-show .2s!important}@-webkit-keyframes wpstg-swal-show{0%{transform:scale(.3)}to{transform:scale(1)}}@keyframes wpstg-swal-show{0%{transform:scale(.3)}to{transform:scale(1)}}.wpstg-tab-item--vert-center{align-items:center;display:flex}.wpstg-db-comparison-modal{padding-left:10px;padding-right:10px}.wpstg-db-comparison-table{font-size:13px;width:100%}.wpstg-db-comparison-table tbody td{padding-top:6px}.wpstg-db-comparison-table tr>td:first-child,.wpstg-db-comparison-table tr>th:first-child{text-align:left}.wpstg-css-tick{border-bottom:3px solid #78b13f;border-right:3px solid #78b13f;display:inline-block;height:12px;transform:rotate(45deg);width:6px}.wpstg-css-cross{height:16px;left:-2px;position:relative;top:-8px;width:16px}.wpstg-css-cross:after,.wpstg-css-cross:before{background-color:#e01e5a;content:" ";height:17px;position:absolute;width:3px}.wpstg-css-cross:before{transform:rotate(45deg)}.wpstg-css-cross:after{transform:rotate(-45deg)}.wpstg-selection-preview{color:rgba(51,34,17,.4);font-size:12px;margin-left:20px}.wpstg-selection-preview.danger{color:#e01e5a}.wpstg--backup-automated{margin-bottom:-5px}.wpstg--dismiss-schedule{cursor:pointer}.wpstg-import-backup-contains.wpstg-listing-single-backup{vertical-align:middle}.wpstg-import-backup-contains.wpstg-listing-single-backup li{padding:2px}.wpstg--modal--backup--manage--schedules--content table{margin:0 auto;width:100%}.wpstg--modal--backup--manage--schedules--title{margin-bottom:10px;margin-top:0;text-align:left}.wpstg--modal--backup--import--upload--title{text-align:center}#wpstg--modal--backup--manage--schedules--content{text-align:left}#wpstg--modal--backup--manage--schedules--content thead{font-weight:700}#wpstg--modal--backup--manage--schedules--content .wpstg--tooltip.wpstg--dismiss-schedule{border-bottom:none}.wpstg--tooltip.wpstg--dismiss-schedule img.wpstg--dashicons{filter:invert(18%) sepia(57%) saturate(6238%) hue-rotate(332deg) brightness(93%) contrast(88%)}#wpstg--modal--backup--manage--schedules--content td{padding-right:25px;padding-top:10px}#wpstg--modal--backup--manage--schedules--content td:last-child{padding-right:0}#wpstg--modal--backup--manage--schedules--content ul{margin-bottom:0;margin-top:0}#wpstg--modal--backup--manage--schedules--content ul li:first-child .wpstg--tooltip{margin-left:0}.wpstg-button:disabled{background-color:#ddd;border:1px solid #cfcfcf;color:#b3b3b3;cursor:not-allowed;text-shadow:none}#wpstg-backup-runs-info{font-size:12px;margin:20px 0 0;padding:0}#wpstg-backup-runs-info li{margin:0}div#wpstg-backup-locked{align-items:center;background:#fff;display:flex;margin-bottom:10px;max-width:770px;padding:15px;width:100%}#wpstg-backup-locked .icon{display:inline-block;height:20px}#wpstg-backup-locked .icon img{animation:wpstg-loading-icon-anim 2s infinite}#wpstg-backup-locked .text{display:inline-block;margin-left:15px}#backup-schedule-current-time{font-size:12px}.wpstg-backup-scheduling-options label{margin-top:17px}.wpstg-backup-scheduling-options .wpstg-storage-option{display:block;font-size:15px;margin:.5em 0}.wpstg-storage-option>span:not(.wpstg-storage-settings){display:inline-block;width:150px}.wpstg-storages-postbox{background-color:#fff;margin-bottom:8px;margin-top:8px;padding:13px 16px}.wpstg-storages-postbox a{color:#3c434a;font-weight:700;margin-right:8px;padding:8px;text-decoration:none}.wpstg-storages-postbox a:hover{color:#b70b72}.wpstg-storage-postbox{background-color:#fff;padding:4px 16px}.wpstg-storages-postbox a.wpstg-storage-provider-active{background:#b70b72;border-radius:3px;color:#fff;cursor:default;font-weight:700}.wpstg-storages-postbox a.wpstg-storage-provider-active:hover{background:#a10a64}.wpstg-storages-postbox a.wpstg-storage-provider-disabled{color:#999;cursor:not-allowed}.wpstg-provider-revoke-form{display:inline;margin-bottom:12px;margin-top:12px}.wpstg-provider-settings-form{margin-top:10px}.wpstg-provider-settings-form strong{display:block;margin:8px 0}.wpstg-provider-settings-form p{margin:0 0 8px}.wpstg-provider-settings-form fieldset{margin:0 0 16px;padding:0}.wpstg-provider-settings-form fieldset p{font-size:12px;margin:0;padding:5px}.wpstg-provider-settings-form fieldset label{display:block;margin-bottom:2px}.wpstg-provider-settings-form fieldset input{font-size:12px}.wpstg-provider-settings-form .wpstg-link-btn.wpstg-blue-primary{text-shadow:none}.wpstg-btn-google{align-items:center;border-radius:3px;border-width:0;box-shadow:0 1px 3px rgba(0,0,0,.6);box-sizing:border-box;color:#555;display:inline-flex;font-family:Roboto;font-size:14px;font-weight:700;height:40px;line-height:40px;margin-right:10px;outline:none;padding:8px 16px 8px 8px;text-decoration:none;transition:background-color .3s}.wpstg-btn-google img{height:18px;margin-left:5px;margin-right:12px;width:18px}#wpstg-custom-google-credentials{margin-top:20px}.wpstg-fieldset .wpstg-with-icon{align-items:center;display:inline-flex}.wpstg-fieldset .wpstg-with-icon .wpstg-fieldset-icon{margin-left:8px}.wpstg-fieldset .wpstg-with-icon .wpstg-fieldset-icon img{height:16px;width:16px}#wpstg-btn-provider-revoke{border-radius:2px}.wpstg-metabox-holder{background:#fff;border-radius:8px;-webkit-box-shadow:0 0 1px rgba(0,0,0,.13),0 1px 3px rgba(0,0,0,.1);box-shadow:0 0 1px rgba(0,0,0,.13),0 1px 3px rgba(0,0,0,.1);margin-left:16px;margin-right:32px;margin-top:60px;min-height:600px;padding:20px}@media only screen and (max-width:680px){.wpstg-metabox-holder{margin-left:0;margin-right:5px;padding:5px 0 0}#wpstg-tab-container .wpstg-settings-panel{overflow:auto;padding:0}.wpstg-form-table td:first-child{width:50%}}.wpstg-nav-tab{background:#dcdcde;border:1px solid #fff;border-bottom:none;color:#3c434a;float:left;font-size:14px;font-weight:600;line-height:1.71428571;margin-left:.5em;padding:5px 10px;text-decoration:none;white-space:nowrap}.wpstg-nav-tab-active,.wpstg-nav-tab-active:focus,.wpstg-nav-tab-active:focus:active,.wpstg-nav-tab-active:hover{background:#f3f5f7;border-bottom:1px solid #f0f0f1;-webkit-box-shadow:-4px -13px 14px -12px rgba(0,0,0,.16);box-shadow:-4px -13px 14px -12px rgba(0,0,0,.16);color:#b70b72}.wpstg-nav-tab-active{margin-bottom:-1px}.wpstg-nav-tab-wrapper{line-height:inherit;margin:0;padding-bottom:0;padding-top:9px}.wpstg-nav-tab-wrapper li{margin-bottom:0}#wpstg--js--translations{text-decoration:underline}
2
  /*# sourceMappingURL=wpstg-admin.min.css.map */
assets/css/dist/wpstg-admin.min.css.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["wpstg-admin.css"],"names":[],"mappings":"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","file":"wpstg-admin.min.css","sourcesContent":["/**\n * WPSTG Admin CSS\n *\n * @package WPSTG\n * @subpackage Admin CSS\n * @copyright Copyright (c) 2021, René Hermenau\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\n*/\n\n/* Font Faces */\n\n/* roboto-regular - latin */\n@font-face {\nfont-family: 'Roboto';\nfont-style: normal;\nfont-weight: 400;\nsrc: url('../../fonts/roboto-v29-latin-regular.eot'); /* IE9 Compat Modes */\nsrc: local(''),\n url('../../fonts/roboto-v29-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */\n url('../../fonts/roboto-v29-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */\n url('../../fonts/roboto-v29-latin-regular.woff') format('woff'), /* Modern Browsers */\n url('../../fonts/roboto-v29-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */\n url('../../fonts/roboto-v29-latin-regular.svg#Roboto') format('svg'); /* Legacy iOS */\n}\n\n/* Colors */\n\n.wpstg--violet {\n color: #9d37ae;\n}\n\n.wpstg-border--violet {\n border: 1px solid #9d37ae;\n}\n\n.wpstg--red {\n color: #E01E5A;\n}\n\n.wpstg-cta--red {\n color: #fe008f;\n}\n\n.wpstg--blue {\n color: #24a1f0;\n}\n\n.wpstg--darkblue {\n color: #0e86d9;\n}\n\n.wpstg--green {\n color: #83c11f;\n}\n\n.wpstg--grey {\n color: #3e3e3e;\n}\n\n.wpstg--darkgrey {\n color: #1b1b1b;\n}\n\n.wpstg--filter--svg {\n filter: invert(24%) sepia(11%) saturate(558%) hue-rotate(169deg) brightness(97%) contrast(91%);\n}\n\n/* CSS for Tabs */\n\nbody.wp-staging-pro_page_wpstg_backup,\nbody.toplevel_page_wpstg_clone,\nbody.wp-staging-pro_page_wpstg-settings,\nbody.wp-staging-pro_page_wpstg-tools,\nbody.wp-staging-pro_page_wpstg-license {\n background-color: #f3f5f7;\n}\n\n#wpstg-tab-container ul {\n list-style: none;\n margin: 0;\n padding: 0;\n background: #f1f1f1;\n float: left;\n}\n\n#wpstg-tab-container ul li:first-child.selected-tab {\n border-top: none;\n}\n\n#wpstg-tab-container ul li a.selected-tab {\n font-weight: bold;\n text-decoration: none;\n}\n\n#wpstg-tab-container .row {\n padding-top: 10px;\n padding-bottom: 12px;\n}\n\n.wpstg-tabs-container .nav-tab-wrapper {\n padding: 0;\n}\n\n#wpstg-tab-container .row label strong,\n#wpstg-tab-container .row strong {\n font-weight: bold;\n}\n\n.wpstg-tabs a {\n padding: 5px;\n}\n\n#wpstg-tab-container > ul > li.wpstg-tabs.active {\n background-color: white;\n}\n\n#wpstg_settingsgeneral_header .row:nth-child(3),\n#wpstg_settingsgeneral_header .row:nth-child(4) {\n display: none;\n}\n\n#wpstg-tab-container .wpstg-settings-panel {\n padding: 0 20px 20px 20px;\n overflow: auto;\n}\n\n#wpstg-tab-container .wpstg-form-table th {\n vertical-align: top;\n text-align: left;\n padding: 20px 10px 20px 0;\n line-height: 1.3;\n font-weight: bold;\n font-size: 14px;\n color: #484848;\n width: 30%;\n}\n\n#wpstg-tab-container .wpstg-form-table tr {\n border-bottom: 1px solid #E7E7E7;\n}\n\n#wpstg-tab-container span.description {\n display: block;\n font-weight: 400;\n font-style: normal;\n font-size: 13px;\n margin-top: 7px;\n color: #484848;\n}\n\n#wpstg-tab-container .col-title {\n color: #484848;\n}\n\n@media only screen and (max-width: 680px) {\n #wpstg-tab-container ul {\n float: none;\n }\n\n #wpstg-tab-container .wpstg-form-table tr > th {\n width: 100%;\n }\n\n #wpstg-tab-container span.description {\n font-size: 14px;\n }\n\n #wpstg-tab-container .wpstg-form-table tr > th,\n #wpstg-tab-container .wpstg-form-table tr > td {\n padding: 10px;\n }\n}\n\n#wpstg-tab-container ul li {\n margin-bottom: 0;\n}\n\n#wpstg-tab-container ul li a {\n display: block;\n padding: 10px 4px 10px 14px;\n border-width: 1px 0;\n border-style: solid;\n border-top-color: white;\n border-bottom-color: #e7e7e7;\n text-decoration: none;\n color: #0097DF;\n font-weight: bold;\n}\n\n#wpstg-tab-container ul li a:hover {\n background-color: #e5e5e5;\n color: #777777;\n}\n\n.wpstg-logo {\n display: block;\n font-size: 16px;\n padding-top: 20px;\n width: 220px;\n float: left;\n}\n\n.wpstg-logo img {\n max-width: 212px;\n}\n\n.wpstg-version {\n display: block;\n padding-top: 40px;\n color: #9b9b9b;\n}\n\n.wpstg_admin .nav-tab {\n color: #3C3C3C;\n}\n\n#wpstg-tab-container table tbody tr:nth-child(1) > th > div {\n font-size: 20px;\n}\n\n/* Cloning workflow */\n\n#wpstg-clonepage-wrapper {\n margin-bottom: 20px;\n width: 98%;\n}\n\n@media screen and (min-width: 1090px) {\n #wpstg-clonepage-wrapper {\n float: left;\n margin-bottom: 20px;\n }\n}\n\n#wpstg-steps {\n margin-top: 0px;\n margin-left: 20px;\n}\n\n#wpstg-steps li {\n color: #444;\n line-height: 20px;\n padding-right: 10px;\n float: left;\n}\n\n.wpstg-step-num {\n border: 1px solid #3e3e3e;\n border-radius: 3px;\n display: inline-block;\n width: 20px;\n height: 20px;\n text-align: center;\n margin-right: 5px;\n}\n\n.wpstg-current-step {\n font-weight: bold;\n}\n\n.wpstg-current-step .wpstg-step-num {\n background: #3e3e3e;\n color: #eee;\n}\n\n.wpstg-box {\n margin: 10px 0;\n padding: 10px;\n position: relative;\n overflow: hidden;\n transition: border-color .2s ease-in-out;\n}\n\n.wpstg-clone {\n margin-bottom: 10px;\n padding: 16px;\n position: relative;\n transition: border-color .2s ease-in-out;\n background-color: #ffffff;\n color: #3e3e3e;\n border-radius: 3px;\n box-shadow: 0 0 1px rgba(0, 0, 0, .125), 0 1px 3px rgba(0, 0, 0, .1);\n}\n\n.wpstg-clone.active {\n border-color: #1d94cf;\n}\n\n.wpstg-clone-header {\n display: flex;\n align-items: center;\n}\n\n.wpstg-clone-title {\n display: inline-block;\n margin-right: 8px;\n font-size: 15px;\n max-width: 300px;\n text-decoration: none;\n font-weight: bold;\n color: #3e3e3e;\n}\n\n.wpstg-clone-title:hover {\n color: #111111;\n}\n\n.wpstg-clone-labels {\n display: inline-block;\n}\n\n\n.wpstg-clone-labels .wpstg-clone-label {\n display: inline-block;\n padding: 1px 4px;\n margin-right: 4px;\n font-size: 11px;\n border-radius: 3px;\n background: #8bc34a;\n color: #fff;\n}\n\n.wpstg-clone-actions {\n margin-left: auto;\n display: flex;\n margin-top: 5px;\n}\n\n.wpstg-dropdown {\n position: relative;\n}\n\n.wpstg-clone-actions .wpstg-dropdown-toggler {\n text-decoration: none;\n background: #25a1f0;\n padding: 6px 10px;\n border-radius: 2px;\n font-size: 14px;\n box-shadow: 0 0 1px rgba(0, 0, 0, .125), 0 1px 3px rgba(0, 0, 0, .2);\n color: #ffffff;\n}\n\n.wpstg-clone-actions .wpstg-dropdown-toggler:hover {\n background: #002648;\n color: white;\n}\n\n.wpstg-dropdown {\n position: relative;\n}\n\n.wpstg-dropdown > .wpstg-dropdown-menu {\n background: #fff;\n display: none;\n flex-direction: column;\n position: absolute;\n right: 0;\n top: calc(100% + 4px);\n padding: 8px;\n border-radius: 2px;\n width: 100px;\n box-shadow: 0 0 1px rgba(0, 0, 0, .125), 0 1px 3px rgba(0, 0, 0, .2);\n z-index: 1000;\n}\n\n.wpstg-dropdown > .wpstg-dropdown-menu.wpstg-menu-dropup {\n top: auto;\n bottom: 100%;\n transform: translate3d(0px, -3px, 0px);\n}\n\n.wpstg-dropdown > .wpstg-dropdown-menu.shown {\n display: flex;\n}\n\n.wpstg-clone-action,\n.wpstg-dropdown-action {\n color: #3e3e3e;\n padding: 6px 8px;\n border-radius: 3px;\n text-decoration: none;\n position: relative;\n transition: color .2s ease-in-out;\n border-bottom: 1px solid #f3f3f3;\n}\n\n.wpstg-clone-action:hover,\n.wpstg-dropdown-action:hover {\n background: rgba(0, 0, 0, 0.05);\n}\n\n.wpstg-dropdown-action {\n color: #3e3e3e;\n background: transparent;\n border: 0 solid black;\n outline: none;\n box-shadow: none;\n}\n\n.wpstg-remove-clone:hover {\n color: #E01E5A;\n}\n\n.wpstg-clone-action:last-child {\n border: none;\n}\n\n.wpstg-clone:hover .wpstg-clone-action {\n display: inline-block;\n}\n\n#wpstg-show-error-details:focus,\n#wpstg-workflow .wpstg-clone-action {\n outline: none;\n box-shadow: none;\n}\n\n.wpstg-link-btn {\n background: #45a1c9;\n color: #fff;\n display: inline-block;\n padding: 5px 10px;\n text-decoration: none;\n vertical-align: baseline;\n transition: all .2s ease-in-out;\n}\n\n.wpstg-link-btn:hover,\n.wpstg-link-btn:focus {\n color: #fff;\n outline: none;\n box-shadow: none;\n}\n\n#wpstg-workflow .wpstg-link-btn:active {\n vertical-align: baseline;\n}\n\n.wpstg-link-btn[disabled] {\n background: #777 !important;\n border-color: #555 !important;\n pointer-events: none;\n}\n\n#wpstg-cancel-cloning,\n#wpstg-cancel-cloning-update {\n margin-top: 5px;\n}\n\n#wpstg-cancel-cloning.success,\n#wpstg-cancel-cloning.success {\n background: #64dd58;\n border-color: #54bd4a;\n}\n\n#wpstg-error-wrapper,\n#wpstg-error-details {\n display: none;\n padding-top: 10px;\n font-size: 13px;\n clear: both;\n}\n\n#wpstg-show-error-details {\n display: inline-block;\n margin-left: 5px;\n color: #555;\n text-decoration: none;\n transition: color .2s ease-in-out;\n}\n\n#wpstg-show-error-details:hover {\n color: #1d94cf;\n}\n\n#wpstg-error-details {\n border-left: 5px solid #E01E5A;\n padding: 10px;\n width: 500px;\n}\n\n#wpstg-try-again {\n display: none;\n}\n\n#wpstg-home-link {\n float: right;\n}\n\n.wpstg-loader {\n content: url('../../img/loading.gif');\n display: none;\n}\n\n.wpstg-loader.wpstg-finished {\n display: block;\n content: \"Finished\";\n background-color: #00c89a;\n color: white;\n padding: 2px 10px;\n margin-top: 0;\n border-radius: 3px;\n}\n\n#wpstg-workflow {\n max-width: 800px;\n position: relative;\n clear: both;\n padding-top: 20px;\n float: left;\n min-width: 500px;\n min-height: 380px;\n padding-right: 20px;\n padding-bottom: 20px;\n}\n\n#wpstg-sidebar {\n float: left;\n max-width: 400px;\n display: block;\n margin-left: 10px;\n}\n\n#wpstg-workflow.loading::after,\n#wpstg-removing-clone.loading::after {\n background: rgba(255, 255, 255, .7);\n content: 'Loading... may take a while for huge websites';\n display: block;\n width: 100%;\n height: 100%;\n font-size: 20px;\n padding-top: 100px;\n text-align: center;\n position: absolute;\n top: 0;\n left: 0;\n z-index: 99;\n}\n\n#wpstg-removing-clone.loading::after {\n content: 'REMOVING' !important;\n}\n\n#wpstg-existing-clones,\n#wpstg-removing-clone {\n position: relative;\n}\n\n#wpstg-existing-clones h3 {\n color: #3e3e3e;\n}\n\n#wpstg-removing-clone .wpstg-tab-section {\n display: block;\n}\n\n.wpstg-progress-bar {\n max-width: 900px;\n height: 27px;\n padding: 0;\n background-color: #d6d8d7;\n}\n\n.wpstg-progress {\n float: left;\n background: #3fa5ee;\n width: 0;\n height: 100%;\n transition: width .6s ease;\n color: white;\n line-height: 25px;\n text-align: center;\n overflow: hidden;\n}\n\n.wpstg-progress-files {\n background: #16b4f0;\n width: 0;\n height: 100%;\n transition: width .6s ease;\n color: white;\n line-height: 25px;\n text-align: center;\n}\n\n#wpstg-new-clone-id.wpstg-error-input,\n#wpstg-clone-path.wpstg-error-input {\n border: 1px solid #E01E5A;\n box-shadow: 0 0 2px rgba(255, 66, 53, .8);\n}\n\n#wpstg-new-clone-id {\n width: 450px;\n max-width: 100%;\n margin-left: 15px;\n}\n\n#wpstg-new-clone {\n background: #25a1f0;\n border-color: #2188c9;\n}\n\n#wpstg-new-clone:hover {\n background: #259be6;\n border-color: #2188c9;\n}\n\n#wpstg-clone-path {\n margin-left: 10px;\n width: 350px;\n}\n\n.wpstg-error-msg {\n color: #E01E5A;\n}\n\n#wpstg-clone-id-error {\n display: block;\n background-color: #f0f8ff;\n padding: 10px;\n margin: 20px;\n}\n\n#wpstg-start-cloning + .wpstg-error-msg {\n display: block;\n margin-top: 5px;\n}\n\n.wpstg-size-info {\n color: #999;\n font-weight: normal;\n position: relative;\n left: 2px;\n}\n\n.wpstg-db-table .wpstg-size-info {\n top: 2px;\n}\n\n.wpstg-db-table:hover {\n background-color: #f0f8ff;\n}\n\n#wpstg-workflow #wpstg-start-cloning {\n margin-left: 5px;\n vertical-align: baseline;\n}\n\n\n/* Tabs */\n\n.wpstg-tabs-wrapper {\n max-width: 640px;\n margin: 10px 0;\n}\n\n#wpstg-path-wrapper {\n border-bottom: 2px dashed #ccc;\n padding-bottom: 10px;\n margin-bottom: 10px;\n}\n\n.wpstg-tab-section {\n border-bottom: 1px solid #ddd;\n border-right: none;\n border-left: none;\n display: none;\n width: calc(100% - 72px);\n padding: 0px 36px;\n}\n\n.wpstg-tab-section::after {\n display: block;\n content: '';\n clear: both;\n}\n\n.wpstg-tab-header {\n border-bottom: 1px solid #ddd;\n border-right: none;\n border-left: none;\n color: #444;\n font-size: 16px;\n font-weight: bold;\n display: block;\n padding: 10px;;\n text-decoration: none;\n}\n\n.wpstg-tab-triangle {\n display: inline-block;\n margin-right: 12px;\n animation: transform 0.5s;\n width: 0;\n height: 0;\n margin-top: -3px;\n vertical-align: middle;\n border-top: 5px solid transparent;\n border-bottom: 5px solid transparent;\n border-left: 10px solid;\n transition: transform 0.2s;\n cursor: pointer;\n}\n\n.wpstg-tab-triangle.wpstg-no-icon {\n margin-right: 2px;\n width: auto;\n height: auto;\n vertical-align: auto;\n border-top: 0px solid;\n border-bottom: 0px solid;\n border-left: 0px solid;\n}\n\n.wpstg-tab-triangle.wpstg-rotate-90 {\n transform: rotate(90deg);\n}\n\n.wpstg-tab-header:focus {\n color: #444;\n outline: none;\n box-shadow: none;\n}\n\n#wpstg-large-files {\n display: none;\n border: 1px dashed #ccc;\n padding: 10px 10px 10px;\n margin-top: 20px;\n position: relative;\n font-size: 12px;\n}\n\n#wpstg-large-files h3 {\n background: #fff;\n margin: 0;\n padding: 0 5px;\n position: absolute;\n top: -10px;\n left: 5px;\n}\n\n.wpstg-subdir {\n display: none;\n margin-left: 20px;\n}\n\n.wpstg-subdir.wpstg-push {\n display: block;\n margin-left: 20px;\n}\n\n.wpstg-dir a.disabled {\n color: #888;\n cursor: default;\n text-decoration: none;\n}\n\n.wpstg-check-subdirs {\n display: inline-block;\n margin-left: 10px;\n}\n\n.wpstg-notice-alert {\n display: block;\n background-color: #E01E5A;\n padding: 20px;\n max-width: 600px;\n margin-top: 10px;\n color: white;\n}\n\n.wpstg-notice--white {\n display: block;\n background-color: #ffffff;\n padding: 20px;\n max-width: 600px;\n margin-top: 10px;\n}\n\n.wpstg-notice-alert a {\n color: white;\n}\n\n.wpstg-notice-alert h3 {\n color: white;\n}\n\n.wpstg-header {\n font-weight: 400;\n line-height: 1.6em;\n font-size: 19px;\n /*\n border-bottom: 1px solid #DFDFDF;\n */\n clear: both;\n padding-top: 10px;\n}\n\n#wpstg-clone-label {\n font-size: 14px;\n font-weight: bold;\n}\n\n.wpstg-log-details {\n height: 300px;\n overflow: scroll;\n max-width: 650px;\n font-family: monospace;\n font-size: 12px;\n line-height: 15px;\n border: 1px solid #FFF;\n background-color: black;\n color: #c0c0c0;\n padding: 3px;\n white-space: nowrap;\n margin-top: 15px;\n}\n\n#wpstg-finished-result {\n display: none;\n}\n\n#wpstg-remove-cloning {\n background: #ff3428;\n border-color: #e72f24;\n margin-top: 5px;\n}\n\n#wpstg-success-notice {\n padding: 10px;\n background-color: white;\n max-width: 900px;\n border: 1px solid #ccc;\n margin-top: 20px;\n}\n\n.wpstg_beta_notice {\n margin-bottom: 20px;\n}\n\n.wpstg-sysinfo {\n width: 700px;\n height: 400px;\n}\n\n.wpstg-form-table .col-title label {\n font-weight: 600;\n}\n\n.wpstg-form-table td:first-child {\n width: 30%;\n padding-right: 20px;\n}\n\n.wpstg-share-button-container {\n margin: 5px 0;\n}\n\n.wpstg-share-button-container p {\n margin: 0 0 10px 0;\n}\n\n.wpstg-share-button {\n display: inline-block;\n}\n\n.wpstg-share-button a {\n text-decoration: none;\n}\n\n.wpstg-share-button .wpstg-share {\n font-family: sans-serif;\n font-weight: bold;\n text-decoration: none;\n text-align: center;\n}\n\n.wpstg-share-button .wpstg-share {\n -webkit-border-radius: 2px;\n -moz-border-radius: 2px;\n border-radius: 2px;\n color: #FFF;\n display: inline;\n font-size: 12px;\n padding: 4px 8px;\n}\n\n.wpstg-share-button-twitter .wpstg-share {\n background-color: #00ABF0;\n}\n\n.wpstg-share-button-facebook .wpstg-share {\n background-color: #3b5998;\n}\n\n.wpstg-share-button-googleplus .wpstg-share {\n background-color: #F53424;\n}\n\n.wpstg-share-button-twitter .share:active,\n.wpstg-share-button-facebook .share:active,\n.wpstg-share-button-googleplus .share:active {\n background-color: #353535;\n}\n\n#wpstg-check-space {\n margin-left: 8px;\n}\n\n#wpstg-welcome li {\n font-size: 18px;\n line-height: 29px;\n position: relative;\n padding-left: 23px;\n list-style: none !important;\n}\n\n#wpstg-welcome {\n margin-top: 20px;\n margin-right: 20px;\n background-color: white;\n}\n\n.wpstg-heading-pro {\n font-weight: bold;\n}\n\n.wpstg-h2 {\n margin-top: 0;\n margin-bottom: 1.2rem;\n font-size: 30px;\n line-height: 2.5rem;\n}\n\n#wpstg-welcome li:before {\n width: 1em;\n height: 100%;\n background: url(data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%2377B227%22%20d%3D%22M1671%20566q0%2040%2D28%2068l%2D724%20724%2D136%20136q%2D28%2028%2D68%2028t%2D68%2D28l%2D136%2D136%2D362%2D362q%2D28%2D28%2D28%2D68t28%2D68l136%2D136q28%2D28%2068%2D28t68%2028l294%20295%20656%2D657q28%2D28%2068%2D28t68%2028l136%20136q28%2028%2028%2068z%22%2F%3E%3C%2Fsvg%3E) left .4em no-repeat;\n background-size: contain;\n content: \"\";\n position: absolute;\n top: -2px;\n left: 0;\n color: #77b227;\n}\n\n.wpstg-h1 {\n margin-bottom: 1.35rem;\n font-size: 2.5em;\n line-height: 3.68rem;\n letter-spacing: normal;\n}\n\n.wpstg--swal2-content {\n color: #3e3e3e;\n}\n\n.wpstg--swal2-content h1 {\n color: #444;\n}\n\n#wpstg-welcome h2 {\n margin: 0 0 15px;\n}\n\n#wpstg-welcome .wpstg-footer {\n clear: both;\n margin-top: 20px;\n font-style: italic;\n}\n\n#wpstg-footer {\n clear: both;\n margin-top: 20px;\n margin-right: 10px;\n padding-top: 50px;\n}\n\n#wpstg-footer a {\n text-decoration: none;\n}\n\n#wpstg-footer li {\n margin-bottom: 2px;\n list-style: circle;\n}\n\n#wpstg-footer ul {\n margin-left: 15px;\n margin-top: 0px;\n}\n\n.wpstg-footer--title {\n margin-left: 15px;\n}\n\n.wpstg-staging-info {\n margin-top: 8px;\n color: #3e3e3e;\n font-size: 12px;\n}\n\n.wpstg-staging-info a {\n color: #3e3e3e;\n}\n\n.wpstg-staging-info li {\n margin-bottom: 2px;\n}\n\n.wpstg-bold {\n font-weight: 600;\n}\n\n#wpstg-processing-status {\n margin-top: 5px;\n font-size: 13px;\n font-weight: 400;\n float: left;\n}\n\n#wpstg-processing-timer {\n margin-top: 5px;\n font-size: 13px;\n font-weight: 400;\n float: right;\n}\n\n#wpstg-report-issue-button {\n margin-left: 30px;\n border: 1px solid #E01E5A;\n color: #E01E5A;\n background-color: white;\n}\n\n#wpstg-report-issue-button:hover {\n background-color: #dc2b62;\n color: #fff;\n}\n\n.wpstg-blue-primary {\n display: inline-block;\n text-decoration: none;\n font-size: 13px;\n height: 28px;\n margin: 0;\n /*\n padding: 0 10px 1px;\n */\n cursor: pointer;\n border-width: 1px;\n border-style: solid;\n -webkit-appearance: none;\n border-radius: 3px;\n white-space: nowrap;\n box-sizing: border-box;\n background: #25a1f0;\n border-color: #2188c9;\n color: #fff;\n /*\n text-shadow: 0 -1px 1px #006799, 1px 0 1px #006799, 0 1px 1px #006799, -1px 0 1px #006799;\n */\n}\n\n.wpstg-blue-primary:hover {\n background: #127fc6;\n}\n\na.wpstg-blue-primary {\n padding: 5px 10px;\n height: auto;\n}\n\n.wpstg-blue-primary:hover {\n background-color: #259be6;\n}\n\n.wpstg-report-issue-form {\n position: absolute;\n z-index: 999;\n width: 300px;\n background-color: #fff;\n padding: 15px 15px 10px;\n border: 1px solid #e8e8e8;\n border-radius: 3px;\n box-shadow: 0 1px 0 0 #fff inset;\n display: none;\n right: 0;\n top: 35px;\n}\n\n@media (max-width: 600px) {\n .wpstg-report-issue-form {\n position: relative;\n }\n}\n\n.wpstg-report-show {\n display: block;\n}\n\n.wpstg-field input[type=text],\n.wpstg-field textarea {\n width: 100%;\n font-weight: 400;\n line-height: 1.4;\n margin-bottom: 4px;\n}\n\n.wpstg-report-email,\n.wpstg-report-hosting-provider {\n width: 100%;\n font-weight: 400;\n font-size: .8rem;\n height: 2.3rem;\n line-height: 2.3rem;\n border-radius: 3px;\n margin-bottom: 4px;\n padding: 0 10px;\n}\n\n.wpstg-report-description {\n border-radius: 3px;\n font-size: .8rem;\n padding: 6px 10px;\n resize: none;\n}\n\n.wpstg-report-privacy-policy {\n font-size: 12px;\n margin-bottom: 15px;\n}\n\n#wpstg-report-cancel {\n float: right;\n margin-right: 5px;\n font-weight: bold;\n}\n\n#wpstg-success-button {\n font-weight: bold;\n}\n\n.wpstg-message {\n box-sizing: border-box;\n -moz-box-sizing: border-box;\n background-color: #f5e0de;\n border-radius: 3px;\n color: rgba(0, 0, 0, .6);\n height: auto;\n margin: 10px 0;\n min-height: 18px;\n padding: 6px 10px;\n position: relative;\n}\n\n.wpstg-message.wpstg-error-message {\n background-color: #f5e0de;\n color: #b65147;\n font-size: 12px;\n}\n\n.wpstg-message.wpstg-success-message {\n background-color: #d7f8e0;\n color: #515151;\n}\n\n.wpstg-message p {\n margin: 3px 0;\n font-size: 13px;\n}\n\n.wpstg-warning {\n display: block;\n padding: 10px;\n background-color: #ffb804;\n color: #ffffff;\n margin: 10px 10px 10px 0;\n}\n\n.wpstg-warning a {\n color: #ffffff;\n font-weight: bold;\n text-decoration: underline;\n}\n\n.wpstg-error {\n display: block;\n padding: 10px !important;\n background-color: #E01E5A !important;\n color: #ffffff;\n margin: 10px 10px 10px 0 !important;\n border-color: transparent !important;\n border-left-color: transparent !important;\n box-shadow: none !important;\n}\n\n.wpstg-error a {\n color: #ffffff;\n font-weight: bold;\n text-decoration: underline;\n}\n\n#wpstg-resume-cloning {\n display: none;\n}\n\n#wpstg-external-db th {\n text-align: left;\n width: 120px;\n}\n\n#wpstg-db-connect {\n font-weight: normal;\n}\n\n#wpstg-db-status {\n display: block;\n margin-top: 5px;\n padding: 5px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n border-radius: 4px;\n text-decoration: none;\n text-align: center;\n}\n\n.wpstg-text-field > #wpstg-db-status {\n margin-top: 8px;\n margin-left: 150px;\n min-width: 300px;\n}\n\n.wpstg-success {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n\n.wpstg-failed {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n\n#wpstg_select_tables_cloning {\n height: 600px;\n font-size: 13px;\n}\n\n#wpstg_select_tables_pushing {\n height: 400px;\n font-size: 13px;\n}\n\n#wpstg-update-notify {\n background-color: #E01E5A;\n font-size: 14px;\n color: #ffffff;\n line-height: normal;\n padding: 10px;\n}\n\n#wpstg-update-notify a {\n color: #ffffff;\n font-weight: bold;\n}\n\n.wpstg-pointer {\n cursor: pointer;\n}\n\n.wpstg--tab--header {\n background-color: white;\n position: relative;\n transition: border-color .2s ease-in-out;\n background-color: #ffffff;\n color: #3e3e3e;\n border-radius: 0px;\n box-shadow: 0 0 1px rgba(0, 0, 0, .125), 0 1px 3px rgba(0, 0, 0, .02);\n}\n\n.wpstg--tab--header ul {\n display: flex;\n}\n\n.wpstg--tab--header ul li {\n margin-right: 1em;\n margin-bottom: 0px;\n}\n\n.wpstg--tab--header ul li:last-child {\n margin-right: 0;\n}\n\n.wpstg--tab--header a {\n min-width: 150px;\n text-align: center;\n cursor: pointer;\n display: inline-block;\n padding: 1em 1.25em;\n padding-bottom: 9px;\n color: #c4c4c4;\n font-size: 18px;\n}\n\n.wpstg--tab--header a.wpstg--tab--active {\n border-bottom: 3px solid #0e86d9;\n color: #25A1F0;\n}\n\n.wpstg--tab--header a:hover {\n background-color: #fefefe;\n border-bottom: 3px solid #0e86d9;\n color: #0e86d9;\n}\n\n.wpstg--tab--content {\n display: none;\n}\n\n.wpstg--tab--active {\n display: block;\n}\n\n#wpstg-premium-header {\n font-size: 1.5rem;\n font-weight: bold;\n}\n\n.wpstg--text--strong,\n.wpstg--text--strong * {\n font-weight: bold !important;\n}\n\n.wpstg--text--danger {\n color: #a94442;\n}\n\n.wpstg--tooltip {\n position: relative;\n display: inline-block;\n margin-left: 5px;\n}\n\n.wpstg--tooltip.wpstg--tooltip-normal {\n margin-left: 0;\n border-bottom: 0;\n}\n\n.wpstg--tooltip .wpstg--tooltiptext {\n visibility: hidden;\n width: 300px;\n background-color: #ffffff;\n color: #505050;\n text-align: left;\n padding: 12px;\n border-radius: 3px;\n position: absolute;\n z-index: 1;\n -webkit-box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;\n -moz-box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;\n box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;\n font-weight: normal;\n}\n\n.wpstg--tooltiptext-backups {\n width: 120px;\n top: 100%;\n left: -150%;\n margin-left: -56px;\n margin-top: 4px;\n}\n\n.wpstg--tooltip.wpstg--exclude-rules--tooltip {\n border-bottom: 0px solid transparent;\n}\n\n.wpstg--tooltip.wpstg--exclude-rules--tooltip > .wpstg--tooltiptext {\n margin-top: 0px;\n margin-left: -150px;\n}\n\n/**\nTooltip top arrow\n */\n\n.wpstg--tooltip .wpstg--tooltiptext-backups::after {\n content: \" \";\n position: absolute;\n bottom: 100%;\n /* At the top of the tooltip */\n left: 50%;\n margin-left: 25px;\n border-width: 5px;\n border-style: solid;\n border-color: transparent transparent white transparent;\n}\n\n.wpstg--tooltip .wpstg--tooltiptext.has-top-arrow {\n margin-top: 6px;\n}\n\n.wpstg--tooltip .wpstg--tooltiptext.has-top-arrow::after {\n content: \" \";\n position: absolute;\n bottom: 100%;\n left: 50%;\n margin-left: -18px;\n border-width: 5px;\n border-style: solid;\n border-color: transparent transparent white transparent;\n}\n\n.wpstg--snaphot-restore-table tr {\n line-height: 12px;\n}\n\n.wpstg-float-left {\n float: left;\n}\n\n.wpstg-beta-notice {\n background-color: #b0e8b0;\n border-radius: 3px;\n padding: 7px;\n margin-bottom: 20px;\n}\n\n#wpstg-backup-name {\n font-size: 1.875em;\n font-weight: 600;\n}\n\n#wpstg_select_tables_cloning option:checked,\n#wpstg_select_tables_pushing option:checked {\n /* Cannot use background color here because Chrome and Firefox ignore it even if set to !important */\n -webkit-appearance: menulist-button;\n background-image: linear-gradient(0deg, #1e90ff 0%, #1e90ff 100%);\n}\n\n.wpstg--btn--cancel {\n background: #ff3428;\n border-color: #e72f24;\n color: #fff;\n height: auto;\n line-height: normal;\n font-size: 16px;\n padding: .5em;\n margin-bottom: 1.5em;\n}\n\n.wpstg--btn--cancel:hover {\n background: #ff3428;\n border-color: #e72f24;\n}\n\n.wpstg--process--content > .wpstg--swal2-html-container {\n padding: 4em 2em !important;\n}\n\n.wpstg--modal--process--logs,\n.wpstg--modal--error--logs {\n background: #ffffff;\n border: 1px solid #a8a8a8;\n border-radius: 3px;\n height: 300px;\n margin-top: 1em;\n display: none;\n padding-top: 10px;\n padding-left: 10px;\n overflow: auto;\n text-align: justify;\n}\n\n.wpstg--modal--error--logs {\n height: auto;\n max-height: 300px;\n}\n\n.wpstg--modal--process--logs p {\n font-size: 12px;\n white-space: nowrap;\n}\n\n.wpstg--modal--process--logs p.wpstg--modal--process--msg--info {\n color: #222222;\n}\n\n.wpstg--modal--process--logs p.wpstg--modal--process--msg--debug {\n color: #757575;\n}\n\n.wpstg--modal--process--title {\n color: #565656;\n margin: .25em 0;\n}\n\n.wpstg--modal--process--subtitle {\n margin: .5em 0;\n color: #565656;\n}\n\n.wpstg--modal--error--logs > p {\n text-align: left;\n font-size: 14px;\n color: #222222;\n}\n\n.wpstg--modal--process--logs p,\n.wpstg--modal--error--logs p {\n margin: 0px;\n margin-bottom: 2px;\n}\n\n.wpstg--modal--process--msg--error {\n color: #E01E5A;\n}\n\n.wpstg--modal--process--msg--critical {\n color: #E01E5A;\n}\n\n.wpstg--modal--process--msg--warning {\n color: darkorange;\n}\n\n.wpstg--modal--process--msg-found {\n font-size: 16px;\n color: #E01E5A;\n font-weight: bold;\n}\n\n.wpstg--modal--delete {\n text-align: left;\n margin-top: 8px;\n color: #565656;\n}\n\n.wpstg-swal-popup .wpstg--swal2-cancel.wpstg--btn--cancel {\n margin-bottom: 0;\n text-shadow: none !important;\n}\n\n.wpstg-swal-popup .wpstg-loader {\n display: inline-block !important;\n}\n\n.wpstg--modal--process--generic-problem {\n display: none;\n border-left: 5px solid #E01E5A;\n margin: .5em 0;\n}\n\n.wpstg--modal--process--logs--tail {\n font-size: 16px;\n color: #565656;\n background: none;\n border: none;\n cursor: pointer;\n text-decoration: underline;\n}\n\n.wpstg--modal--backup--import--upload--title {\n color: #3e3e3e;\n}\n\n.wpstg--modal--backup--import--configure,\n.wpstg--modal--backup--import--upload--status,\n.wpstg--modal--backup--import--upload--container input[type=\"file\"] {\n display: none;\n}\n\n#wpstg--backups--import--file-list {\n font-size: 14px;\n font-weight: bold;\n}\n\n#wpstg--backups--import--file-list-empty {\n color: #E01E5A;\n}\n\n.wpstg--modal--backup--import--filesystem label {\n font-size: 14px;\n}\n\n.wpstg--modal--backup--import--filesystem button {\n margin-bottom: 20px;\n}\n\n.wpstg--modal--backup--import--upload {\n position: relative;\n min-height: 30px;\n}\n\n.wpstg--modal--backup--import--upload {\n color: #505050;\n}\n\n.wpstg--modal--backup--import--upload--container {\n position: relative;\n border-radius: 10px;\n margin: .5em;\n padding: 1em .5em;\n border: 3.5px dashed #dedede;\n transition: background-color 0.3s ease, color 0.3s ease;\n background-color: #f4fbff;\n min-height: 130px;\n}\n\n.wpstg--modal--backup--import--upload--container.wpstg--has-dragover span.wpstg--drop {\n display: inline-flex;\n}\n\n.wpstg--modal--backup--import--upload--container input[type='file'] {\n display: none;\n}\n\n.wpstg--modal--backup--import--upload--container img {\n margin-top: 10px;\n width: 4em;\n align-self: center;\n border: none;\n}\n\n.wpstg--modal--backup--import--upload--container span {\n margin-top: 1em;\n}\n\n.wpstg--backup--import--options > button {\n margin-top: 1em;\n padding: 1em;\n align-self: center;\n width: 185px;\n height: auto;\n line-height: normal;\n}\n\n.wpstg--backup--import--options {\n position: relative;\n display: flex;\n justify-content: center;\n}\n\n.wpstg--backup--import--options ul {\n display: none;\n}\n\n.wpstg--backup--import--options.wpstg--show-options ul {\n padding: 0;\n margin: 54px 0 0 0;\n display: block;\n position: absolute;\n width: 185px;\n background: #25a1f0;\n box-sizing: border-box;\n border-radius: 0 0 3px 3px;\n border-width: 1px;\n border-color: #2188c9;\n text-shadow: 0 -1px 1px #006799, 1px 0 1px #006799, 0 1px 1px #006799, -1px 0 1px #006799;\n}\n\n.wpstg--backup--import--options.wpstg--show-options ul li {\n border-bottom: .1em solid #25a1f0;\n margin: 0;\n}\n\n.wpstg--backup--import--options.wpstg--show-options ul li:hover {\n background-color: #25a1f0;\n}\n\n.wpstg--backup--import--options.wpstg--show-options ul li:last-child {\n border-bottom: none;\n}\n\n.wpstg--backup--import--options ul li button {\n cursor: pointer;\n background: none;\n border: none;\n margin: 0;\n width: 100%;\n color: white;\n height: 40px;\n line-height: 40px;\n}\n\n.wpstg--backup--import--options ul li button:hover {\n background-color: #259be6;\n}\n\n.wpstg--modal--backup--import--search-replace--info {\n margin: 1em 0;\n display: flex;\n flex-direction: row;\n}\n\n.wpstg--modal--backup--import--info p {\n text-align: left;\n margin: 0;\n}\n\n.wpstg--modal--backup--import--search-replace--wrapper button {\n align-self: center;\n}\n\n.wpstg--import--advanced-options--button {\n border: 0;\n border-radius: 3px;\n font-size: 18px;\n text-shadow: 0 -1px 1px #006799, 1px 0 1px #006799, 0 1px 1px #006799, -1px 0 1px #006799;\n cursor: pointer;\n}\n\n.wpstg--modal--backup--import--search-replace--new {\n color: white;\n background-color: #25a1f0;\n}\n\n.wpstg--modal--backup--import--search-replace--remove {\n color: white;\n background-color: #25a1f0;\n width: 22px;\n height: 22px;\n margin-left: 5px;\n}\n\n.wpstg--modal--backup--import--search-replace--input-group:first-child button {\n display: none;\n}\n\n.wpstg--modal--backup--import--search-replace--input--container {\n flex: 1;\n display: flex;\n flex-direction: column;\n}\n\n.wpstg--modal--backup--import--search-replace--input-group {\n width: 100%;\n border-bottom: 6px solid #f1f1f1;\n margin-bottom: 10px;\n}\n\n.wpstg--modal--backup--import--search-replace--input-group input {\n min-width: 250px;\n width: calc(50% - 4px - 11px - 5px); /* -4px is half of the padding; -11px is half of the button; -5 is the margin left of the button */\n display: inline-block;\n line-height: 10px;\n border: 1px solid #dedede;\n border-radius: 3px;\n color: #666;\n padding: 8px;\n margin-bottom: 12px;\n}\n\n.wpstg--modal--import--upload--process {\n display: none;\n position: relative;\n height: 30px;\n margin-top: 20px;\n margin-bottom: 20px;\n width: 100%;\n top: 0;\n left: 0;\n text-indent: 1em;\n white-space: nowrap;\n overflow: hidden;\n color: #333333;\n justify-content: center;\n align-items: center;\n}\n\n.wpstg--modal--import--upload--progress {\n position: absolute;\n background: #98d452;\n color: white;\n height: 100%;\n border-radius: 4px;\n left: 0;\n top: 0;\n}\n\n.wpstg--modal--import--upload--progress--title {\n z-index: 9;\n}\n\n.wpstg-fieldset:disabled {\n opacity: 0.8;\n border-top: 1px solid white;\n margin-top: 20px;\n}\n\n.wpstg-fieldset {\n padding-left: 20px;\n}\n\n.wpstg-fs-14 {\n font-size: 14px;\n}\n\n.wpstg-dark-alert {\n font-weight: bold;\n background-color: #0e86d9;\n padding: 30px;\n margin-top: 0px;\n color: white;\n}\n\n.wpstg-dark-alert ul{\n list-style: initial;\n}\n\n.wpstg-form-group {\n display: block;\n width: 100%;\n margin-bottom: 8px;\n align-items: center;\n}\n\n.wpstg-form-group > label {\n display: block;\n font-weight: 700;\n}\n\n.wpstg-text-field > input {\n width: 300px;\n display: block;\n line-height: 1.5;\n}\n\n.wpstg-code-segment {\n display: block;\n}\n\n.wpstg-text-field > .wpstg-code-segment {\n margin-top: 4px;\n min-width: 300px;\n}\n\n.wpstg-form-group > .wpstg-checkbox {\n min-width: 100%;\n width: 100%;\n position: relative;\n}\n\n.wpstg-form-group > .wpstg-checkbox > input[type='checkbox'] {\n left: 150px;\n}\n\n.wpstg-rounded {\n border-radius: 3px;\n}\n\n.wpstg-white-border {\n border: 1px solid white !important;\n}\n\n.wpstg-ml-4 {\n margin-left: 4px;\n}\n\n#wpstg-confirm-backup-restore-data {\n margin: 40px;\n text-align: left;\n}\n\n#wpstg-advanced-settings hr {\n margin: 20px 0;\n}\n\n.wpstg-form-row {\n display: block;\n}\n\n.wpstg-form-row label,\n.wpstg-form-row input {\n display: table-cell;\n padding-left: 5px;\n padding-right: 5px;\n margin-top: 3px;\n margin-bottom: 3px;\n}\n\n.wpstg-form-row input {\n width: 400px;\n}\n\n.wpstg-form-row label {\n font-weight: bold;\n width: 1px;\n white-space: nowrap;\n}\n\n#wpstg-db-connect-output #wpstg-db-status {\n width: 390px;\n}\n\n.wpstg-fs-14 {\n font-size: 14px;\n}\n\n.wpstg-code-segment {\n display: block;\n}\n\n.wpstg-form-group > .wpstg-checkbox {\n min-width: 100%;\n width: 100%;\n}\n\n.wpstg-form-group > .wpstg-checkbox > input[type='checkbox'] {\n margin-left: 10px;\n}\n\n@media only screen and (max-width: 768px) {\n .wpstg-form-group > label {\n min-width: auto;\n width: auto;\n }\n\n .wpstg-text-field > input {\n width: 100%;\n }\n\n .wpstg-text-field > .wpstg-code-segment {\n margin-left: 0;\n min-width: 100%;\n }\n\n .wpstg-tab-section {\n width: calc(100vw - 60px);\n max-width: 450px;\n }\n}\n\n.wpstg-rounded {\n border-radius: 3px;\n}\n\n.wpstg-white-border {\n border: 1px solid white !important;\n}\n\n.wpstg-m-0 {\n margin: 0;\n}\n\n.wpstg-mt-10px {\n margin-top: 10px !important;\n}\n\n.wpstg-mr-10px {\n margin-right: 10px !important;\n}\n\n.wpstg-my-10px {\n margin-top: 10px !important;\n margin-bottom: 10px !important;\n}\n\n.wpstg-w-100 {\n width: 100%;\n}\n\n.wpstg-box-shadow {\n box-shadow: 0 1px 1px 0 rgba(0, 0, 0, .1);\n}\n\n.wpstg-float-left {\n float: left;\n}\n\n.wpstg-bold-text {\n font-weight: bold;\n}\n\n.wpstg-warning.notice {\n border-left: 4px solid #ffba00;\n}\n\n.wpstg-confirmation-label {\n background-color: #5b9dd9;\n color: #fff;\n padding: 2px;\n border-radius: 3px;\n}\n\n.wpstg-my-6px {\n margin-bottom: 6px;\n margin-top: 6px;\n}\n\n.wpstg-mb-10px {\n margin-bottom: 10px;\n}\n\n.wpstg-clear-both {\n clear: both;\n}\n\n.wpstg-font-italic {\n font-style: italic;\n}\n\n.wpstg-mt-20px {\n margin-top: 20px;\n}\n\n.wpstg-welcome-container {\n border: 2px solid white;\n padding: 20px;\n margin-bottom: 20px;\n}\n\n.wpstg-ml-30px {\n margin-left: 30px;\n}\n\n.wpstg-text-center {\n text-align: center;\n}\n\n.wpstg-feedback-link {\n text-decoration: none;\n}\n\n.wpstg-feedback-span {\n display: block;\n margin-bottom: 3px;\n}\n\n#wpstg-confirm-backup-restore-data {\n margin: 40px;\n text-align: left;\n}\n\n#wpstg-confirm-backup-restore-wrapper {\n margin: 30px;\n margin-top: 0;\n}\n\n#wpstg-confirm-backup-restore-wrapper h3 {\n color: #E01E5A;\n}\n\n#wpstg-progress-db,\n#wpstg-progress-backup {\n background-color: #3fa5ee;\n}\n\n#wpstg-progress-sr,\n#wpstg-progress-files.wpstg-pro {\n background-color: #3c9ee4;\n}\n\n#wpstg-progress-dirs,\n#wpstg-progress-data {\n background-color: #3a96d7;\n}\n\n#wpstg-progress-files:not(.wpstg-pro),\n#wpstg-progress-finishing {\n background-color: #378cc9;\n}\n\n.wpstg-issue-resubmit-confirmation.wpstg--swal2-container,\n.wpstg-swal2-container.wpstg--swal2-container {\n z-index: 10500;\n}\n\n.wpstg-swal2-container.wpstg-swal2-loading .wpstg--swal2-actions,\n.wpstg-swal2-container.wpstg-swal2-loading .wpstg--swal2-header {\n display: none;\n}\n\nbody.toplevel_page_wpstg_backup .wpstg--swal2-container .wpstg--swal2-content,\nbody.toplevel_page_wpstg_clone .wpstg--swal2-container .wpstg--swal2-content {\n z-index: 2;\n}\n\n.toplevel_page_wpstg_clone #swal2-content h2 {\n color: #3e3e3e;\n}\n\n.toplevel_page_wpstg_clone #swal2-content {\n line-height: 1.5em;\n}\n\ndiv#exportUploadsWithoutDatabaseWarning {\n font-style: italic;\n font-size: 0.9rem;\n margin: 10px;\n padding: 10px;\n border: 1px solid #e3e3e3;\n border-radius: 5px;\n text-align: center;\n background-color: #fafafa;\n}\n\n.wpstg-advanced-options-dropdown-wrapper {\n display: none; /* ENABLE WHEN WE HAVE ADVANCED OPTIONS FOR EXPORTING */\n margin-top: 20px;\n}\n\n.wpstg--modal--backup--import--search-replace--wrapper {\n text-align: left;\n margin-top: 20px;\n}\n\n.wpstg--modal--backup--import--search-replace--new--wrapper {\n text-align: center;\n}\n\n.wpstg-import-backup-contains li {\n display: inline-block;\n margin-bottom:0px;\n}\n\n.wpstg-import-backup-contains li .wpstg-backups-contains {\n border-radius: 3px;\n color: #979797;\n background-color: #f4f4f4 !important;\n width: 18px;\n height: 18px;\n font-size: 17px;\n}\n\n.wpstg-import-backup-contains.wpstg-listing-single-backup li .wpstg-backups-contains {\n padding: 2px;\n background-color: white;\n}\n\n.wpstg-import-backup-contains.wpstg-listing-single-backup li .wpstg-backups-contains > .wpstg--dashicons {\n filter: invert(35%);\n}\n\n.wpstg-import-backup-contains .wpstg--tooltiptext {\n width: 80px;\n font-size: 13px;\n padding: 5px;\n left: -25px;\n text-align: center;\n}\n\n.wpstg-import-backup-contains-title {\n display: inline-block;\n}\n\nul.wpstg-import-backup-contains {\n display: inline-block;\n}\n\n.wpstg-import-backup-name {\n display: inline-block;\n font-weight: bold;\n}\n\n.wpstg-backup-more-info-toggle {\n font-size: x-small;\n display: inline-block;\n font-style: italic;\n cursor: pointer;\n}\n\n.wpstg-backup-more-info-toggle::selection {\n background: none;\n}\n\nul.wpstg-import-backup-more-info {\n font-size: 14px;\n text-align: left;\n margin-bottom: 30px;\n margin-top: 10px;\n background-color: #f6f6f6;\n border: 1px solid #878787;\n border-radius: 3px;\n padding: 7px;\n cursor: pointer;\n}\n\nul.wpstg-import-backup-more-info:hover {\n background-color: #def2ff;\n border: 1px solid #25a1f0;\n}\n\nul.wpstg-import-backup-more-info li {\n height: 20px;\n}\n\n.wpstg-backup-list {\n max-width: 800px;\n}\n\n.wpstg-backup-list h3 {\n color:#3e3e3e;\n}\n\n.wpstg-backup-list ul ul {\n margin-block-start: 1em;\n margin-block-end: 1em;\n}\n\n.wpstg-push-confirmation-message {\n text-align: justify;\n font-size: 15px;\n}\n\n.wpstg-settings-row {\n padding-top: 10px;\n padding-bottom: 10px;\n}\n\n.wpstg-settings-title {\n font-weight: 600;\n}\n\n.wpstg-settings-form-group {\n display: flex;\n align-items: center;\n}\n\n.wpstg-settings-form-group > .wpstg-settings-message {\n width: 30%;\n padding: 0;\n margin: 7px 0 0;\n}\n\n/**\n * WP STAGING EXCLUSION RULES TABLE LAYOUT\n */\n\n.wpstg-excluded-filters-container {\n padding: 0;\n margin-top: 10px;\n margin-bottom: 10px;\n max-width: 100%;\n width: 100%;\n}\n\n.wpstg-excluded-filters-container > table {\n width: 100%;\n border-collapse: collapse;\n border-color: transparent;\n}\n\n.wpstg-excluded-filters-container td {\n padding-top: 4px;\n padding-bottom: 4px;\n height: 20px;\n}\n\n.wpstg-excluded-filters-container h4 {\n margin: 0;\n}\n\n.wpstg-exclude-filters-foot {\n display: flex;\n justify-content: flex-start;\n padding: 0;\n}\n\n/**\n * WP STAGING EXCLUSION RULE DROPDOWN STYLE\n */\n\n\n.wpstg-exclude-filter-dropdown > button:hover {\n background: #135e96;;\n border: 1px solid #135e96;;\n}\n\n.wpstg-exclude-filter-dropdown > .wpstg-dropdown-menu {\n width: 128px;\n}\n\n.wpstg-remove-exclude-rule {\n color: #fff !important;\n background-color: #e01e5a;\n border: 1px solid #e01e5a;\n width: 20px;\n height: 20px;\n border-radius: 10px;\n font-size: 24px;\n padding: 0;\n display: inline-flex;\n justify-content: center;\n outline: none;\n box-shadow: none;\n font-weight: 400;\n line-height: 0.7;\n margin-top: 5px;\n cursor: pointer;\n}\n\n.wpstg-remove-exclude-rule:hover {\n background-color: #E01E5A;\n border-color: #E01E5A;\n}\n\n.wpstg-code-block {\n margin-top: 4px;\n font-size: 1.2em;\n background: #f8f8f8;\n border-radius: 2px;\n}\n\n.wpstg-rule-info {\n background: #f8f8f8 !important;\n}\n\ncode.wpstg-code {\n display: inline-block;\n font-size: 11px;\n border: 1px solid #aaa;\n background: #fff;\n padding: 2px 4px;\n margin-bottom: 1px;\n color: #E01E5A;\n}\n\n.wpstg-exclusion-rule-info {\n color: #fff !important;\n background-color: #ffc107;\n border: 1px solid #ffc107;\n width: 14px;\n height: 14px;\n border-radius: 7px;\n font-size: 14px;\n padding: 0;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n outline: none;\n box-shadow: none;\n font-weight: 400;\n vertical-align: middle;\n}\n\n.wpstg-exclusion-rule-info:hover {\n background-color: #ffba0c;\n border: 1px solid #ffba0c;\n}\n\n/**\n * WP STAGING INPUTS EXCLUSION RULES\n */\n\n.wpstg-exclude-rule-input {\n font-size: 12px !important;\n padding: 2px 6px;\n box-shadow: none;\n outline: none !important;\n display: inline-block;\n font-weight: 400;\n line-height: 1.5;\n color: #222;\n border-radius: 0 !important;\n background-color: #fff;\n border: 1px solid #bbb;\n min-height: 24px !important;\n margin-top: 4px;\n margin-left: 4px;\n vertical-align: baseline !important;\n transition: all 0.3s cubic-bezier(.25, .8, .25, 1);\n width: 135px;\n}\n\n.wpstg-excluded-filters-container tbody > tr:last-child .wpstg-exclude-rule-input {\n margin-bottom: 4px;\n}\n\n.wpstg-exclude-rule-input:hover {\n border: 1px solid #999;\n}\n\n.wpstg-exclude-rule-input:focus {\n border: 1px solid #25A0F1 !important;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24) !important;\n}\n\n.wpstg-file-size-exclude-select,\n.wpstg-path-exclude-select {\n width: 135px;\n}\n\n.wpstg-file-size-exclude-select-small {\n width: 52px;\n}\n\n.wpstg-file-size-exclude-input {\n width: 75px;\n}\n\n.wpstg-staging-option-title {\n margin: 15px 0 0;\n}\n\n.wpstg-swal-push-container.wpstg--swal2-container {\n z-index: 9995;\n}\n\n#wpstg-scanning-files {\n padding-bottom: 5px;\n}\n\n#wpstg-scanning-files.wpstg-tab-section, #wpstg-scanning-db.wpstg-tab-section {\n padding-top: 10px;\n}\n\n.wpstg-reset-excludes-container {\n margin: 10px 0;\n}\n\n.wpstg-swal2-ajax-loader {\n width: 100%;\n height: 150px;\n overflow: hidden;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n@keyframes wpstg-loading-icon-anim {\n 0% {\n transform: rotate(0);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n\n.wpstg-swal2-ajax-loader > img {\n width: 64px;\n height: 64px;\n animation: wpstg-loading-icon-anim 1s infinite linear;\n -webkit-animation: wpstg-loading-icon-anim 1s infinite linear;\n}\n\n.wpstg-swal2-container .wpstg-tab-section {\n width: auto !important;\n}\n\n#wpstg-no-staging-site-results {\n margin-top: 10px;\n max-width: 375px;\n}\n\nli#wpstg-backup-no-results {\n max-width: 500px;\n}\n\nli#wpstg-backup-no-results div, #wpstg-no-staging-site-results div {\n display: inline-block;\n text-align: center;\n}\n\nli#wpstg-backup-no-results .wpstg--dashicons, #wpstg-no-staging-site-results .wpstg--dashicons {\n filter: invert(50%);\n position: absolute;\n margin-top: 1px;\n}\n\nli#wpstg-backup-no-results .no-backups-found-text, #wpstg-no-staging-site-results .no-staging-site-found-text {\n color: #5d5d5d;\n margin-left: 20px;\n}\n\n@media only screen and (max-width: 680px) {\n li#wpstg-backup-no-results div, #wpstg-no-staging-site-results div {\n width: 100%;\n }\n}\n\n#wpstg--modal--backup--download-inner p.wpstg-download-modal-text {\n font-size: 16px;\n color: #565656;\n}\n\n#wpstg--modal--backup--download-inner h2 {\n color: #565656;\n}\n\n.wpstg-backup-restore-contains-database,\n.wpstg-backup-restore-contains-files {\n display: none;\n}\n\n.wpstg-green-button {\n background: #8bc34a;\n border: 1px solid #78a93f;\n color: white;\n text-shadow: 0 -1px 1px #78a93f, 1px 0 1px #78a93f, 0 1px 1px #40c921, -1px 0 1px #78a93f;\n}\n\n.wpstg-green-button:hover {\n background: #78a93f;\n}\n\n.wpstg-is-dir-loading {\n position: absolute;\n margin-top: -2px;\n margin-left: 8px;\n display: none;\n}\n\n.wpstg-ml-8px {\n margin-left: 8px;\n}\n\n.wpstg-mb-8px {\n margin-bottom: 8px;\n}\n\n\n.wpstg-btn-danger {\n background-color: #E01E5A;\n border: 1px solid #E01E5A;\n color: white;\n text-shadow: none;\n}\n\n.wpstg-btn-danger:hover {\n background: #c0194d;\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);\n}\n\n.wpstg-swal2-container.wpstg-swal2-loading > .wpstg--swal2-modal {\n height: 200px;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container:not(.wpstg-swal2-loading) > .wpstg--swal2-modal {\n max-width: 480px;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container .wpstg--swal2-header {\n display: none;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container .wpstg--swal2-content {\n height: auto;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container > .wpstg--swal2-modal > .wpstg--swal2-content .wpstg-tabs-wrapper {\n overflow-y: auto;\n height: auto !important;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container > .wpstg--swal2-modal > .wpstg--swal2-content {\n font-size: 13px;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container > .wpstg--swal2-modal > .wpstg--swal2-content .wpstg-dir {\n margin-bottom: 4px;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container > .wpstg--swal2-modal > .wpstg--swal2-content .wpstg-subdir {\n margin-top: 4px;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container.has-collapsible-open .wpstg--swal2-modal {\n height: calc(100vh - 70px);\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container.has-collapsible-open > .wpstg--swal2-modal > .wpstg--swal2-content .wpstg-tabs-wrapper {\n height: calc(100vh - 350px) !important;\n}\n\n.wpstg--swal2-actions.wpstg--modal--actions > button {\n margin-left: 4px;\n margin-right: 4px;\n text-transform: uppercase;\n text-shadow: initial;\n font-weight: 500;\n min-width: 80px;\n}\n\n.wpstg-swal-popup {\n max-width: 1200px !important;\n}\n\n.wpstg-swal-popup.wpstg-push-finished .wpstg--swal2-title {\n color: #a8a8a8;\n}\n\n.wpstg-swal-popup.wpstg-push-finished .wpstg--swal2-content {\n margin-top: 8px;\n color: #a8a8a8;\n}\n\n.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step.wpstg--swal2-active-progress-step,\n.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step,\n.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step-line {\n background: #25a1f0;\n}\n\n.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step-line {\n width: 2.75em;\n}\n\n.wpstg--dashicons {\n width: 16px;\n height: 16px;\n}\n\n.wpstg--dashicons.wpstg-dashicons-grey {\n filter: invert(20%);\n}\n\n.wpstg--dashicons.wpstg-dashicons-19 {\n width: 19px;\n height: 19px;\n}\n\n.wpstg--dashicons.wpstg-dashicons-21 {\n width: 21px;\n height: 21px;\n}\n\n#wpstg--tab--backup #wpstg-step-1 {\n display: flex;\n align-items: center;\n}\n\n.wpstg-advanced-options .wpstg--tooltip,\n#wpstg--tab--backup #wpstg-step-1 .wpstg--tooltip {\n border-bottom: 0 solid transparent;\n display: inline-flex;\n align-items: center;\n}\n\n.wpstg-advanced-options-site .wpstg--tooltip img.wpstg--dashicons {\n filter: invert(17%) sepia(0%) saturate(1%) hue-rotate(195deg) brightness(97%) contrast(77%);\n}\n\n#wpstg--tab--backup #wpstg-step-1 .wpstg--tooltip {\n border-bottom: 0 solid transparent;\n display: flex;\n align-items: center;\n}\n\n.wpstg--tooltip .wpstg--tooltiptext-backups::after {\n left: calc(20% + 2px);\n}\n\n.wpstg-listing-single-backup .wpstg--dashicons {\n width: 17px;\n height: 17px;\n}\n\n.wpstg-100-width {\n width: 100px;\n}\n\n.wpstg-caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: 4px solid;\n border-right: 4px solid transparent;\n border-left: 4px solid transparent;\n transition: transform 0.2s;\n cursor: pointer;\n}\n\n.wpstg-caret.wpstg-caret-up {\n transform: rotate(-180deg);\n}\n\n.wpstg-advanced-options-site label {\n font-size: 16px;\n display: block;\n margin: .5em 0;\n}\n\n#wpstg-confirm-backup-restore-data {\n font-size: 18px;\n margin: 0;\n margin-top: 30px;\n}\n\n/* Sweetalert WP STAGING Theme */\n\nbody.toplevel_page_wpstg_backup .wpstg--swal2-container.wpstg--swal2-backdrop-show,\nbody.toplevel_page_wpstg_clone .wpstg--swal2-container.wpstg--swal2-backdrop-show {\n background: rgba(0, 0, 0, .6);\n z-index: 9995;\n}\n\n.wpstg-swal-popup.wpstg--swal2-popup {\n border-radius: 8px;\n z-index: 9999;\n padding: 24px;\n color: #3e3e3e;\n font-family: Verdana, Geneva, Tahoma, sans-serif;\n}\n\n.wpstg-swal-popup .wpstg--swal2-title {\n font-size: 22px;\n color: #3e3e3e;\n}\n\n.wpstg-swal-popup.wpstg--swal2-popup:not(.centered-modal) .wpstg--swal2-title {\n align-self: flex-start; /* For an actual Swal title */\n text-align: left; /* Manually adding this class to a non flex display */\n margin-bottom: 0;\n}\n\n.wpstg-swal-popup .wpstg--swal2-close {\n top: 8px;\n right: 8px;\n z-index: 5;\n}\n\n.wpstg-swal-popup .wpstg--swal2-close:focus {\n outline: none;\n}\n\n.wpstg-swal-popup.wpstg--swal2-popup:not(.centered-modal) .wpstg--swal2-actions {\n justify-content: flex-end;\n}\n\n.wpstg-swal-popup .wpstg--swal2-actions > button {\n border-radius: 4px;\n font-weight: 900;\n border: 0;\n font-size: 15px;\n padding: 10px 12px;\n text-transform: capitalize;\n line-height: normal;\n height: 40px;\n min-width: 100px;\n text-shadow: none;\n}\n\n.wpstg-swal-popup.wpstg--swal2-popup:not(.centered-modal) .wpstg--swal2-actions > button {\n margin-left: 8px;\n}\n\n.wpstg-swal-popup .wpstg--swal2-actions > button.wpstg--swal2-cancel {\n border: 1px solid rgba(29, 28, 29, 0.3);\n background: #fff;\n color: rgb(29, 28, 29);\n font-weight: 500;\n width: 100px;\n text-shadow: none;\n}\n\n.wpstg-swal-popup .wpstg--swal2-actions > button:hover {\n box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .1);\n}\n\n.wpstg-swal-popup .wpstg--swal2-actions > button.wpstg--swal2-cancel:hover {\n background: rgba(28, 29, 28, .04);\n}\n\n#wpstg-backup-name-input {\n height: 44px;\n font-size: 18px;\n}\n\n.wpstg-restore-finished-container .wpstg--swal2-title {\n color: #565656 !important;\n}\n\n/*#wpstg-restore-success {\n color: #565656;\n}*/\n\n.wpstg-restore-finished-container .wpstg--swal2-content {\n margin-top: 20px;\n color: #a8a8a8;\n}\n\n/* WP Staging Implementation of Windows Style Linear Loader */\n\n.wpstg-linear-loader > span[class*=\"wpstg-linear-loader-item\"] {\n height: 6px;\n width: 6px;\n background: #333;\n display: inline-block;\n margin: 12px 2px;\n border-radius: 100%;\n animation: wpstg_linear_loader 3s infinite;\n animation-timing-function: cubic-bezier(0.030, 0.615, 0.995, 0.415);\n animation-fill-mode: both;\n}\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(1) {\n animation-delay: 1s;\n}\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(2) {\n animation-delay: 0.8s;\n}\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(3) {\n animation-delay: 0.6s;\n}\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(4) {\n animation-delay: 0.4s;\n}\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(5) {\n animation-delay: 0.2s;\n}\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(6) {\n animation-delay: 0s;\n}\n\n@keyframes wpstg_linear_loader {\n 0% {\n transform: translateX(-30px);\n opacity: 0;\n }\n 25% {\n opacity: 1;\n }\n 50% {\n transform: translateX(30px);\n opacity: 0;\n }\n 100% {\n opacity: 0;\n }\n}\n\n/* END - Windows Style Linear Loader */\n\n.wpstg--modal--backup--import--upload--content {\n padding: .75em;\n margin: 1em auto;\n}\n\n.wpstg--modal--backup--import--upload--content .wpstg-linear-loader {\n display: none;\n}\n\n#wpstg-multisite-disabled .wpstg-clone {\n width: 355px;\n}\n\n#wpstg-free-version-backups .wpstg-clone p {\n font-size: 16px;\n}\n\n.wpstg-staging-info li .backup-notes {\n word-break: break-word;\n}\n\n.wpstg--modal--import--upload--progress--title small {\n font-weight: normal;\n}\n\n#wpstg-report-issue-wrapper {\n position: relative;\n}\n\n#wpstg-report-issue-wrapper .arrow-up {\n width: 0;\n height: 0;\n border-left: 8px solid transparent;\n border-right: 8px solid transparent;\n border-bottom: 8px solid white;\n position: absolute;\n top: -8px;\n right: 40px;\n}\n\n.notice {\n margin: 10px 20px 0 2px;\n}\n\n.wpstg--notice {\n box-shadow: 0 1px 1px rgba(0, 0, 0, .04);\n margin: 20px 20px 20px 0px;\n padding: 1px 12px;\n}\n\n.wpstg--error a:hover {\n color: #eeeeee;\n}\n\n.wpstg--error, .wpstg--error a {\n background: #E01E5A;\n color: white;\n}\n\n/**\n * Buttons\n */\n\n.wpstg-button {\n display: inline-block;\n border-radius: 2px;\n cursor: pointer;\n padding: 2px 10px 2px 10px;\n text-transform: uppercase;\n font-weight: 500;\n outline: 0;\n transition: background-color .1s ease-in;\n text-decoration: none;\n}\n\n.wpstg-button.wpstg-save {\n background-color: #1687A7;\n color: white;\n}\n\n.wpstg-button.wpstg-save:hover {\n background-color: #276678;\n}\n\n\n.wpstg-button.wpstg-button-light {\n background-color: #f8f8f8;\n border: 1px solid #eee;\n color: #333;\n animation: background-color 0.3s;\n}\n\n.wpstg-button.wpstg-button-light:hover {\n background-color: #e0e0e0;\n border: 1px solid #e0e0e0;\n}\n\n.wpstg-buttons .spinner {\n float: none;\n margin: 0 0 0 5px;\n}\n\n.wpstg-button.danger {\n display: inline-block;\n text-decoration: none;\n text-align: center;\n text-transform: inherit;\n background-color: #E01E5A;\n color: white;\n border-radius: 2px;\n border-color: transparent;\n}\n\n.wpstg-button.danger:hover {\n background-color: #c0194d;\n}\n\n.wpstg-button--big {\n display: inline-block;\n padding: 10px;\n min-width: 170px;\n font-size: 16px;\n text-decoration: none;\n text-align: center;\n margin-top: 20px;\n color: white;\n border-radius: 3px;\n}\n\n.wpstg-button--primary {\n display: inline-block;\n text-decoration: none;\n font-size: 13px;\n line-height: 2.15384615;\n min-height: 30px;\n margin: 0;\n padding: 0 10px;\n cursor: pointer;\n border: 1px solid rgba(29, 28, 29, 0.3);\n -webkit-appearance: none;\n border-radius: 2px;\n white-space: nowrap;\n box-sizing: border-box;\n color: #171717;\n}\n\n.wpstg-button--primary:hover {\n background: rgba(28, 29, 28, .04);\n color: black;\n}\n\n.wpstg-button--secondary {\n display: inline-block;\n background-color: transparent;\n color: #95a5a6;\n border-radius: 2px;\n border: 1px solid rgba(29, 28, 29, 0.3);\n cursor: pointer;\n padding: 4px 10px 2px 10px;\n font-weight: 500;\n outline: 0;\n transition: background-color .1s ease-in;\n text-decoration: none;\n}\n\n.wpstg-button--red {\n background-color: #E01E5A;\n border-color: #E01E5A;\n color: white;\n}\n\n.wpstg-button--red:hover {\n background-color: #d02358;\n border-color: #e0255f;\n color: white;\n}\n\n.wpstg-button--cta-red {\n background-color: #fe008f;\n border-color: #E01E5A;\n color: white;\n}\n\n.wpstg-button--cta-red:hover {\n background-color: #f31391;\n border-color: #e0255f;\n color: white;\n}\n\n.wpstg-button--blue {\n background-color: #25A0F1;\n border-color: #25A0F1;\n color: white;\n}\n\n.wpstg-button--blue:hover {\n background-color: #259be6;\n border-color: #259be6;\n color: white;\n}\n\n#wpstg-button-backup-upgrade {\n font-size: 16px;\n width:150px;\n text-align: center;\n}\n\n.wpstg-staging-status {\n color: #E01E5A;\n}\n\n#wpstg-push-changes,\n#wpstg-start-updating,\n#wpstg-save-clone-data {\n margin-left: 5px;\n}\n\ninput.wpstg-textbox {\n border: 1px solid #aaa;\n border-radius: .25rem;\n padding: 0.25rem 0.5rem;\n font-size: 14px;\n}\n\ninput.wpstg-textbox:focus {\n outline: 0;\n border-color: #259be6;\n -webkit-box-shadow: 0 0 0 0.1rem rgba(221, 221, 221, .35);\n box-shadow: 0 0 0 0.1rem rgba(221, 221, 221, .35);\n}\n\ninput.wpstg-textbox::placeholder {\n color: #888;\n}\n\n.wpstg--advance-settings--checkbox {\n display: flex;\n align-items: center;\n}\n\n.wpstg--advance-settings--checkbox > label {\n font-size: 14px;\n font-weight: bolder;\n width: 165px;\n display: inline-block;\n}\n\n.wpstg--advance-settings--checkbox > .wpstg--tooltip {\n margin-top: 5px;\n margin-left: 5px;\n position: relative;\n display: inline-block;\n border-bottom: 0px solid transparent;\n}\n\n.wpstg--advance-settings--checkbox > .wpstg--tooltip > .wpstg--tooltiptext {\n top: 18px;\n left: -150px;\n}\n\n\ndiv#wpstg-restore-wait {\n display: none;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n text-align: center;\n height: 100vh;\n width: 100vw;\n position: fixed;\n top: 0;\n left: 0;\n background: white;\n z-index: 99999;\n}\n\ndiv#wpstg-restore-wait .wpstg-title {\n font-weight: bold;\n}\n\ndiv#wpstg-restore-wait div {\n font-size: 16px;\n margin-top: 12px;\n}\n\n.resumable-browse {\n cursor: pointer;\n}\n\n.resumable-browse a {\n text-decoration: underline;\n}\n\n.wpstg-upload-text {\n font-weight: 600;\n}\n\n.wpstg--modal--backup--import--upload--container.dragover {\n transition: background-color 0.7s;\n background-color: #94dc96;\n color: #FFF;\n}\n\n.wpstg--modal--backup--import--upload--container.dragover * {\n pointer-events: none; /* Avoids flickering when dragging to drop a file */\n}\n\n.wpstg--modal--backup--import--upload--container.dragover .wpstg-upload-text {\n display: none;\n}\n\n.wpstg--modal--backup--import--upload--container.dragover .wpstg-dragover-text {\n display: block;\n}\n\n.wpstg--modal--backup--import--upload--container .wpstg-dragover-text {\n display: none;\n}\n\n#wpstg-invalid-license-message, #wpstg-invalid-license-message a {\n font-weight: 500;\n color: #E01E5A;\n margin-left: 6px;\n}\n\n#wpstg-sidebar--banner {\n max-width: 200px;\n}\n\n@media screen and (max-width: 1234px) {\n .wpstg-h2 {\n font-size: 24px;\n }\n\n #wpstg-welcome li {\n font-size: 14px;\n }\n}\n\n.wpstg-exclamation {\n color: #ffffff;\n border-radius: 100%;\n background-color: #E01E5A;\n width: 20px;\n height: 20px;\n text-align: center;\n font-weight: bold;\n display: inline-block;\n margin: 6px;\n}\n\n.wpstg--tab--contents {\n padding-top: 1px;\n}\n\n.wpstg-swal-show.wpstg--swal2-show {\n -webkit-animation: wpstg-swal-show 0.2s !important;\n animation: wpstg-swal-show 0.2s !important;\n}\n\n@-webkit-keyframes wpstg-swal-show {\n 0% {\n transform: scale(0.3);\n }\n 100% {\n transform: scale(1);\n }\n}\n\n@keyframes wpstg-swal-show {\n 0% {\n transform: scale(0.3);\n }\n 100% {\n transform: scale(1);\n }\n}\n\n.wpstg-tab-item--vert-center {\n display: flex;\n align-items: center;\n}\n\n.wpstg-db-comparison-modal {\n padding-left: 10px;\n padding-right: 10px;\n}\n\n.wpstg-db-comparison-table {\n font-size: 13px;\n width: 100%;\n}\n\n.wpstg-db-comparison-table tbody td {\n padding-top: 6px;\n}\n\n.wpstg-db-comparison-table tr > td:first-child,\n.wpstg-db-comparison-table tr > th:first-child {\n text-align: left;\n}\n\n.wpstg-css-tick {\n display: inline-block;\n transform: rotate(45deg);\n height: 12px;\n width: 6px;\n border-bottom: 3px solid #78b13f;\n border-right: 3px solid #78b13f;\n}\n\n.wpstg-css-cross {\n position: relative;\n top: -8px;\n left: -2px;\n width: 16px;\n height: 16px;\n}\n\n.wpstg-css-cross:before, .wpstg-css-cross:after {\n position: absolute;\n content: ' ';\n height: 17px;\n width: 3px;\n background-color: #E01E5A;\n}\n\n.wpstg-css-cross:before {\n transform: rotate(45deg);\n}\n\n.wpstg-css-cross:after {\n transform: rotate(-45deg);\n}\n\n.wpstg-selection-preview {\n font-size: 12px;\n margin-left: 20px;\n color: #3216;\n}\n\n.wpstg-selection-preview.danger {\n color: #E01E5A;\n}\n\n.wpstg--backup-automated {\n margin-bottom: -5px;\n}\n\n.wpstg--dismiss-schedule {\n cursor: pointer;\n}\n\n.wpstg-import-backup-contains.wpstg-listing-single-backup {\n vertical-align: middle;\n}\n\n.wpstg-import-backup-contains.wpstg-listing-single-backup li {\n padding:2px;\n}\n\n.wpstg--modal--backup--manage--schedules--content table {\n margin: 0 auto;\n width: 100%;\n}\n\n.wpstg--modal--backup--manage--schedules--title {\n text-align: left;\n margin-bottom: 10px;\n margin-top: 0px;\n}\n\n.wpstg--modal--backup--import--upload--title {\n text-align: center;\n}\n\n#wpstg--modal--backup--manage--schedules--content {\n text-align: left;\n}\n\n#wpstg--modal--backup--manage--schedules--content thead {\n font-weight: bold;\n}\n\n#wpstg--modal--backup--manage--schedules--content .wpstg--tooltip.wpstg--dismiss-schedule {\n border-bottom: none;\n}\n\n.wpstg--tooltip.wpstg--dismiss-schedule img.wpstg--dashicons {\n filter: invert(18%) sepia(57%) saturate(6238%) hue-rotate(332deg) brightness(93%) contrast(88%);\n}\n\n#wpstg--modal--backup--manage--schedules--content td {\n padding-right: 25px;\n padding-top: 10px;\n}\n\n#wpstg--modal--backup--manage--schedules--content td:last-child {\n padding-right: 0px;\n}\n\n#wpstg--modal--backup--manage--schedules--content ul {\n margin-top: 0;\n margin-bottom: 0;\n}\n\n#wpstg--modal--backup--manage--schedules--content ul li:first-child .wpstg--tooltip {\n margin-left:0;\n}\n\n.wpstg-button:disabled {\n background-color: #dddddd;\n text-shadow: none;\n color: #b3b3b3;\n border: 1px solid #cfcfcf;\n cursor: not-allowed;\n}\n\n#wpstg-backup-runs-info {\n margin: 0px;\n margin-top: 20px;\n padding:0px;\n font-size:12px;\n}\n\n#wpstg-backup-runs-info li {\n margin: 0px;\n}\n\ndiv#wpstg-backup-locked {\n width: 100%;\n max-width: calc(800px - 30px);\n padding: 15px;\n background: white;\n margin-bottom: 10px;\n display: flex;\n align-items: center;\n}\n\n#wpstg-backup-locked .icon {\n display: inline-block;\n height: 20px;\n}\n\n#wpstg-backup-locked .icon img {\n animation: wpstg-loading-icon-anim 2s infinite;;\n}\n\n#wpstg-backup-locked .text {\n display: inline-block;\n margin-left: 15px;\n}\n\n#backup-schedule-current-time {\n font-size: 12px;\n}\n\n.wpstg-backup-scheduling-options label {\n margin-top:17px;\n}\n\n.wpstg-backup-scheduling-options .wpstg-storage-option {\n display: block;\n margin: .5em 0;\n font-size: 15px;\n}\n\n.wpstg-storage-option>span:not(.wpstg-storage-settings) {\n width: 150px;\n display: inline-block;\n}\n\n.wpstg-storages-postbox {\n padding: 13px 16px;\n margin-top: 8px;\n margin-bottom: 8px;\n background-color: white;\n}\n\n.wpstg-storages-postbox a {\n padding: 8px;\n margin-right: 8px;\n text-decoration: none;\n font-weight: bold;\n color: #3c434a;\n}\n\n.wpstg-storages-postbox a:hover {\n color: #b70b72;\n}\n\n.wpstg-storage-postbox {\n padding: 4px 16px;\n background-color: white;\n}\n\n.wpstg-storages-postbox a.wpstg-storage-provider-active {\n background: #b70b72;\n color: white;\n font-weight: 700;\n cursor: default;\n border-radius:3px;\n}\n\n.wpstg-storages-postbox a.wpstg-storage-provider-active:hover {\n background: #a10a64;\n}\n\n.wpstg-storages-postbox a.wpstg-storage-provider-disabled {\n color: #999;\n cursor: not-allowed;\n}\n\n.wpstg-provider-revoke-form {\n display: inline;\n margin-top: 12px;\n margin-bottom: 12px;\n}\n\n.wpstg-provider-settings-form {\n margin-top: 10px;\n}\n\n.wpstg-provider-settings-form strong {\n display: block;\n margin: 8px 0;\n}\n\n.wpstg-provider-settings-form p {\n margin: 0;\n margin-bottom: 8px;\n}\n\n.wpstg-provider-settings-form fieldset {\n margin: 0;\n padding: 0;\n margin-bottom: 16px;\n}\n\n.wpstg-provider-settings-form fieldset p {\n margin: 0;\n padding: 5px;\n font-size: 12px;\n}\n\n.wpstg-provider-settings-form fieldset label {\n display: block;\n margin-bottom: 2px;\n}\n\n.wpstg-provider-settings-form fieldset input {\n font-size: 12px;\n}\n\n.wpstg-provider-settings-form .wpstg-link-btn.wpstg-blue-primary {\n text-shadow: none;\n}\n\n.wpstg-btn-google {\n font-family: Roboto;\n display: inline-flex;\n align-items: center;\n border-width: 0;\n outline: none;\n border-radius: 3px;\n box-shadow: 0 1px 3px rgba(0, 0, 0, .6);\n color: #555;\n transition: background-color .3s;\n padding: 8px;\n padding-right: 16px;\n height: 40px;\n line-height: 40px;\n font-size: 14px;\n box-sizing: border-box;\n text-decoration: none;\n font-weight: bold;\n margin-right: 10px;\n}\n\n.wpstg-btn-google img {\n width: 18px;\n height: 18px;\n margin-right: 12px;\n margin-left:5px;\n}\n\n#wpstg-custom-google-credentials {\n margin-top: 20px;\n}\n\n.wpstg-fieldset .wpstg-with-icon {\n display: inline-flex;\n align-items: center; \n}\n\n.wpstg-fieldset .wpstg-with-icon .wpstg-fieldset-icon {\n margin-left: 8px;\n}\n\n.wpstg-fieldset .wpstg-with-icon .wpstg-fieldset-icon img {\n width: 16px;\n height: 16px;\n}\n\n#wpstg-btn-provider-revoke {\n border-radius: 2px;\n}\n\n.wpstg-metabox-holder{\n border-radius: 8px;\n background: #fff;\n padding: 20px;\n margin-left: 16px;\n min-height: 600px;\n margin-right: 32px;\n margin-top: 60px;\n -webkit-box-shadow: 0 0 1px rgb(0 0 0 / 13%), 0 1px 3px rgb(0 0 0 / 10%);\n box-shadow: 0 0 1px rgb(0 0 0 / 13%), 0 1px 3px rgb(0 0 0 / 10%);\n}\n\n@media only screen and (max-width: 680px) {\n .wpstg-metabox-holder {\n padding: 0px;\n padding-top: 5px;\n margin-left: 0;\n margin-right: 5px;\n }\n\n #wpstg-tab-container .wpstg-settings-panel {\n padding: 0;\n overflow: auto;\n }\n\n .wpstg-form-table td:first-child {\n width: 50%;\n }\n}\n\n.wpstg-nav-tab {\n float: left;\n border: 1px solid #ffffff;\n border-bottom: none;\n margin-left: 0.5em;\n padding: 5px 10px;\n font-size: 14px;\n line-height: 1.71428571;\n font-weight: 600;\n background: #dcdcde;\n color: #3c434a;\n text-decoration: none;\n white-space: nowrap;\n}\n\n.wpstg-nav-tab-active, .wpstg-nav-tab-active:focus, .wpstg-nav-tab-active:focus:active, .wpstg-nav-tab-active:hover {\n border-bottom: 1px solid #f0f0f1;\n background: #f3f5f7;\n color: #b70b72;\n -webkit-box-shadow: -4px -13px 14px -12px rgb(0 0 0 / 16%);\n box-shadow: -4px -13px 14px -12px rgb(0 0 0 / 16%);\n}\n\n.wpstg-nav-tab-active {\n margin-bottom: -1px;\n}\n\n.wpstg-nav-tab-wrapper {\n /*\n border-bottom: 1px solid #c3c4c7;\n */\n margin: 0;\n padding-top: 9px;\n padding-bottom: 0;\n line-height: inherit;\n}\n\n.wpstg-nav-tab-wrapper li{\n margin-bottom: 0px;\n}\n\n#wpstg--js--translations {\n text-decoration: underline;\n}\n"]}
1
+ {"version":3,"sources":["wpstg-admin.scss"],"names":[],"mappings":"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","file":"wpstg-admin.min.css","sourcesContent":["@charset \"UTF-8\";\n/**\n * WPSTG Admin CSS\n *\n * @package WPSTG\n * @subpackage Admin CSS\n * @copyright Copyright (c) 2021, René Hermenau\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\n*/\n/* vars */\n:root {\n --wpstg-color-warning: #ffb804;\n --wpstg-color-info: #24a1f0; }\n\n/* IMPORTS */\n.wpstg-badge {\n background: #f8f9fa;\n color: #333;\n border-radius: 3px;\n font-size: 12px;\n padding: 4px 8px; }\n .wpstg-badge.wpstg-badge-warning {\n background: var(--wpstg-color-warning);\n color: #fff; }\n .wpstg-badge.wpstg-badge-info {\n background: var(--wpstg-color-info);\n color: #fff; }\n\n/* Font Faces */\n/* roboto-regular - latin */\n@font-face {\n font-family: 'Roboto';\n font-style: normal;\n font-weight: 400;\n src: url(\"../../fonts/roboto-v29-latin-regular.eot\");\n /* IE9 Compat Modes */\n src: local(\"\"), url(\"../../fonts/roboto-v29-latin-regular.eot?#iefix\") format(\"embedded-opentype\"), url(\"../../fonts/roboto-v29-latin-regular.woff2\") format(\"woff2\"), url(\"../../fonts/roboto-v29-latin-regular.woff\") format(\"woff\"), url(\"../../fonts/roboto-v29-latin-regular.ttf\") format(\"truetype\"), url(\"../../fonts/roboto-v29-latin-regular.svg#Roboto\") format(\"svg\");\n /* Legacy iOS */ }\n\n/* Colors */\n.wpstg--violet {\n color: #9d37ae; }\n\n.wpstg-border--violet {\n border: 1px solid #9d37ae; }\n\n.wpstg--red {\n color: #E01E5A; }\n\n.wpstg-cta--red {\n color: #fe008f; }\n\n.wpstg--blue {\n color: #24a1f0; }\n\n.wpstg--darkblue {\n color: #0e86d9; }\n\n.wpstg--green {\n color: #83c11f; }\n\n.wpstg--grey {\n color: #3e3e3e; }\n\n.wpstg--darkgrey {\n color: #1b1b1b; }\n\n.wpstg--filter--svg {\n filter: invert(24%) sepia(11%) saturate(558%) hue-rotate(169deg) brightness(97%) contrast(91%); }\n\n/* CSS for Tabs */\nbody.wp-staging-pro_page_wpstg_backup,\nbody.toplevel_page_wpstg_clone,\nbody.wp-staging-pro_page_wpstg-settings,\nbody.wp-staging-pro_page_wpstg-tools,\nbody.wp-staging-pro_page_wpstg-license {\n background-color: #f3f5f7; }\n\n#wpstg-tab-container ul {\n list-style: none;\n margin: 0;\n padding: 0;\n background: #f1f1f1;\n float: left; }\n\n#wpstg-tab-container ul li:first-child.selected-tab {\n border-top: none; }\n\n#wpstg-tab-container ul li a.selected-tab {\n font-weight: bold;\n text-decoration: none; }\n\n#wpstg-tab-container .row {\n padding-top: 10px;\n padding-bottom: 12px; }\n\n.wpstg-tabs-container .nav-tab-wrapper {\n padding: 0; }\n\n#wpstg-tab-container .row label strong,\n#wpstg-tab-container .row strong {\n font-weight: bold; }\n\n.wpstg-tabs a {\n padding: 5px; }\n\n#wpstg-tab-container > ul > li.wpstg-tabs.active {\n background-color: white; }\n\n#wpstg_settingsgeneral_header .row:nth-child(3),\n#wpstg_settingsgeneral_header .row:nth-child(4) {\n display: none; }\n\n#wpstg-tab-container .wpstg-settings-panel {\n padding: 0 20px 20px 20px;\n overflow: auto; }\n\n#wpstg-tab-container .wpstg-form-table th {\n vertical-align: top;\n text-align: left;\n padding: 20px 10px 20px 0;\n line-height: 1.3;\n font-weight: bold;\n font-size: 14px;\n color: #484848;\n width: 30%; }\n\n#wpstg-tab-container .wpstg-form-table tr {\n border-bottom: 1px solid #E7E7E7; }\n\n#wpstg-tab-container span.description {\n display: block;\n font-weight: 400;\n font-style: normal;\n font-size: 13px;\n margin-top: 7px;\n color: #484848; }\n\n#wpstg-tab-container .col-title {\n color: #484848; }\n\n@media only screen and (max-width: 680px) {\n #wpstg-tab-container ul {\n float: none; }\n #wpstg-tab-container .wpstg-form-table tr > th {\n width: 100%; }\n #wpstg-tab-container span.description {\n font-size: 14px; }\n #wpstg-tab-container .wpstg-form-table tr > th,\n #wpstg-tab-container .wpstg-form-table tr > td {\n padding: 10px; } }\n\n#wpstg-tab-container ul li {\n margin-bottom: 0; }\n\n#wpstg-tab-container ul li a {\n display: block;\n padding: 10px 4px 10px 14px;\n border-width: 1px 0;\n border-style: solid;\n border-top-color: white;\n border-bottom-color: #e7e7e7;\n text-decoration: none;\n color: #0097DF;\n font-weight: bold; }\n\n#wpstg-tab-container ul li a:hover {\n background-color: #e5e5e5;\n color: #777777; }\n\n.wpstg-logo {\n display: block;\n font-size: 16px;\n padding-top: 20px;\n width: 220px;\n float: left; }\n\n.wpstg-logo img {\n max-width: 212px; }\n\n.wpstg-version {\n display: block;\n padding-top: 40px;\n color: #9b9b9b; }\n\n.wpstg_admin .nav-tab {\n color: #3C3C3C; }\n\n#wpstg-tab-container table tbody tr:nth-child(1) > th > div {\n font-size: 20px; }\n\n/* Cloning workflow */\n#wpstg-clonepage-wrapper {\n margin-bottom: 20px;\n width: 98%; }\n\n@media screen and (min-width: 1090px) {\n #wpstg-clonepage-wrapper {\n float: left;\n margin-bottom: 20px; } }\n\n#wpstg-steps {\n margin-top: 0px;\n margin-left: 20px; }\n\n#wpstg-steps li {\n color: #444;\n line-height: 20px;\n padding-right: 10px;\n float: left; }\n\n.wpstg-step-num {\n border: 1px solid #3e3e3e;\n border-radius: 3px;\n display: inline-block;\n width: 20px;\n height: 20px;\n text-align: center;\n margin-right: 5px; }\n\n.wpstg-current-step {\n font-weight: bold; }\n\n.wpstg-current-step .wpstg-step-num {\n background: #3e3e3e;\n color: #eee; }\n\n.wpstg-box {\n margin: 10px 0;\n padding: 10px;\n position: relative;\n overflow: hidden;\n transition: border-color .2s ease-in-out; }\n\n.wpstg-clone {\n margin-bottom: 10px;\n padding: 16px;\n position: relative;\n transition: border-color .2s ease-in-out;\n background-color: #ffffff;\n color: #3e3e3e;\n border-radius: 3px;\n box-shadow: 0 0 1px rgba(0, 0, 0, 0.125), 0 1px 3px rgba(0, 0, 0, 0.1); }\n\n.wpstg-clone.active {\n border-color: #1d94cf; }\n\n.wpstg-clone-header {\n display: flex;\n align-items: center; }\n\n.wpstg-clone-title {\n display: inline-block;\n margin-right: 8px;\n font-size: 15px;\n max-width: 300px;\n text-decoration: none;\n font-weight: bold;\n color: #3e3e3e; }\n\n.wpstg-clone-title:hover {\n color: #111111; }\n\n.wpstg-clone-labels {\n display: inline-block; }\n\n.wpstg-clone-labels .wpstg-clone-label {\n display: inline-block;\n padding: 1px 4px;\n margin-right: 4px;\n font-size: 11px;\n border-radius: 3px;\n background: #8bc34a;\n color: #fff; }\n\n.wpstg-clone-actions {\n margin-left: auto;\n display: flex;\n margin-top: 5px; }\n\n.wpstg-dropdown {\n position: relative; }\n\n.wpstg-clone-actions .wpstg-dropdown-toggler {\n text-decoration: none;\n background: #25a1f0;\n padding: 6px 10px;\n border-radius: 2px;\n font-size: 14px;\n box-shadow: 0 0 1px rgba(0, 0, 0, 0.125), 0 1px 3px rgba(0, 0, 0, 0.2);\n color: #ffffff; }\n\n.wpstg-clone-actions .wpstg-dropdown-toggler:hover {\n background: #002648;\n color: white; }\n\n.wpstg-dropdown {\n position: relative; }\n\n.wpstg-dropdown > .wpstg-dropdown-menu {\n background: #fff;\n display: none;\n flex-direction: column;\n position: absolute;\n right: 0;\n top: calc(100% + 4px);\n padding: 8px;\n border-radius: 2px;\n width: 100px;\n box-shadow: 0 0 1px rgba(0, 0, 0, 0.125), 0 1px 3px rgba(0, 0, 0, 0.2);\n z-index: 1000; }\n\n.wpstg-dropdown > .wpstg-dropdown-menu.wpstg-menu-dropup {\n top: auto;\n bottom: 100%;\n transform: translate3d(0px, -3px, 0px); }\n\n.wpstg-dropdown > .wpstg-dropdown-menu.shown {\n display: flex; }\n\n.wpstg-clone-action,\n.wpstg-dropdown-action {\n color: #3e3e3e;\n padding: 6px 8px;\n border-radius: 3px;\n text-decoration: none;\n position: relative;\n transition: color .2s ease-in-out;\n border-bottom: 1px solid #f3f3f3; }\n\n.wpstg-clone-action:hover,\n.wpstg-dropdown-action:hover {\n background: rgba(0, 0, 0, 0.05); }\n\n.wpstg-dropdown-action {\n color: #3e3e3e;\n background: transparent;\n border: 0 solid black;\n outline: none;\n box-shadow: none; }\n\n.wpstg-remove-clone:hover {\n color: #E01E5A; }\n\n.wpstg-clone-action:last-child {\n border: none; }\n\n.wpstg-clone:hover .wpstg-clone-action {\n display: inline-block; }\n\n#wpstg-show-error-details:focus,\n#wpstg-workflow .wpstg-clone-action {\n outline: none;\n box-shadow: none; }\n\n.wpstg-link-btn {\n background: #45a1c9;\n color: #fff;\n display: inline-block;\n padding: 5px 10px;\n text-decoration: none;\n vertical-align: baseline;\n transition: all .2s ease-in-out; }\n\n.wpstg-link-btn:hover,\n.wpstg-link-btn:focus {\n color: #fff;\n outline: none;\n box-shadow: none; }\n\n#wpstg-workflow .wpstg-link-btn:active {\n vertical-align: baseline; }\n\n.wpstg-link-btn[disabled] {\n background: #777 !important;\n border-color: #555 !important;\n pointer-events: none; }\n\n#wpstg-cancel-cloning,\n#wpstg-cancel-cloning-update {\n margin-top: 5px; }\n\n#wpstg-cancel-cloning.success,\n#wpstg-cancel-cloning.success {\n background: #64dd58;\n border-color: #54bd4a; }\n\n#wpstg-error-wrapper,\n#wpstg-error-details {\n display: none;\n padding-top: 10px;\n font-size: 13px;\n clear: both; }\n\n#wpstg-show-error-details {\n display: inline-block;\n margin-left: 5px;\n color: #555;\n text-decoration: none;\n transition: color .2s ease-in-out; }\n\n#wpstg-show-error-details:hover {\n color: #1d94cf; }\n\n#wpstg-error-details {\n border-left: 5px solid #E01E5A;\n padding: 10px;\n width: 500px; }\n\n#wpstg-try-again {\n display: none; }\n\n#wpstg-home-link {\n float: right; }\n\n.wpstg-loader {\n content: url(\"../../img/loading.gif\");\n display: none; }\n\n.wpstg-loader.wpstg-finished {\n display: block;\n content: \"Finished\";\n background-color: #00c89a;\n color: white;\n padding: 2px 10px;\n margin-top: 0;\n border-radius: 3px; }\n\n#wpstg-workflow {\n max-width: 800px;\n position: relative;\n clear: both;\n padding-top: 20px;\n float: left;\n min-width: 500px;\n min-height: 380px;\n padding-right: 20px;\n padding-bottom: 20px; }\n\n#wpstg-sidebar {\n float: left;\n max-width: 400px;\n display: block;\n margin-left: 10px; }\n\n#wpstg-workflow.loading::after,\n#wpstg-removing-clone.loading::after {\n background: rgba(255, 255, 255, 0.7);\n content: 'Loading... may take a while for huge websites';\n display: block;\n width: 100%;\n height: 100%;\n font-size: 20px;\n padding-top: 100px;\n text-align: center;\n position: absolute;\n top: 0;\n left: 0;\n z-index: 99; }\n\n#wpstg-removing-clone.loading::after {\n content: 'REMOVING' !important; }\n\n#wpstg-existing-clones,\n#wpstg-removing-clone {\n position: relative; }\n\n#wpstg-existing-clones h3 {\n color: #3e3e3e; }\n\n#wpstg-removing-clone .wpstg-tab-section {\n display: block; }\n\n.wpstg-progress-bar {\n max-width: 900px;\n height: 27px;\n padding: 0;\n background-color: #d6d8d7; }\n\n.wpstg-progress {\n float: left;\n background: #3fa5ee;\n width: 0;\n height: 100%;\n transition: width .6s ease;\n color: white;\n line-height: 25px;\n text-align: center;\n overflow: hidden; }\n\n.wpstg-progress-files {\n background: #16b4f0;\n width: 0;\n height: 100%;\n transition: width .6s ease;\n color: white;\n line-height: 25px;\n text-align: center; }\n\n#wpstg-new-clone-id.wpstg-error-input,\n#wpstg-clone-path.wpstg-error-input {\n border: 1px solid #E01E5A;\n box-shadow: 0 0 2px rgba(255, 66, 53, 0.8); }\n\n#wpstg-new-clone-id {\n width: 450px;\n max-width: 100%;\n margin-left: 15px; }\n\n#wpstg-new-clone {\n background: #25a1f0;\n border-color: #2188c9; }\n\n#wpstg-new-clone:hover {\n background: #259be6;\n border-color: #2188c9; }\n\n#wpstg-clone-path {\n margin-left: 10px;\n width: 350px; }\n\n.wpstg-error-msg {\n color: #E01E5A; }\n\n#wpstg-clone-id-error {\n display: block;\n background-color: #f0f8ff;\n padding: 10px;\n margin: 20px; }\n\n#wpstg-start-cloning + .wpstg-error-msg {\n display: block;\n margin-top: 5px; }\n\n.wpstg-size-info {\n color: #999;\n font-weight: normal;\n position: relative;\n left: 2px; }\n\n.wpstg-db-table .wpstg-size-info {\n top: 2px; }\n\n.wpstg-db-table:hover {\n background-color: #f0f8ff; }\n\n#wpstg-workflow #wpstg-start-cloning {\n margin-left: 5px;\n vertical-align: baseline; }\n\n/* Tabs */\n.wpstg-tabs-wrapper {\n max-width: 640px;\n margin: 10px 0; }\n\n#wpstg-path-wrapper {\n border-bottom: 2px dashed #ccc;\n padding-bottom: 10px;\n margin-bottom: 10px; }\n\n.wpstg-tab-section {\n border-bottom: 1px solid #ddd;\n border-right: none;\n border-left: none;\n display: none;\n width: calc(100% - 72px);\n padding: 0px 36px; }\n\n.wpstg-tab-section::after {\n display: block;\n content: '';\n clear: both; }\n\n.wpstg-tab-header {\n border-bottom: 1px solid #ddd;\n border-right: none;\n border-left: none;\n color: #444;\n font-size: 16px;\n font-weight: bold;\n display: block;\n padding: 10px;\n text-decoration: none; }\n\n.wpstg-tab-triangle {\n display: inline-block;\n margin-right: 12px;\n animation: transform 0.5s;\n width: 0;\n height: 0;\n margin-top: -3px;\n vertical-align: middle;\n border-top: 5px solid transparent;\n border-bottom: 5px solid transparent;\n border-left: 10px solid;\n transition: transform 0.2s;\n cursor: pointer; }\n\n.wpstg-tab-triangle.wpstg-no-icon {\n margin-right: 2px;\n width: auto;\n height: auto;\n vertical-align: auto;\n border-top: 0px solid;\n border-bottom: 0px solid;\n border-left: 0px solid; }\n\n.wpstg-tab-triangle.wpstg-rotate-90 {\n transform: rotate(90deg); }\n\n.wpstg-tab-header:focus {\n color: #444;\n outline: none;\n box-shadow: none; }\n\n#wpstg-large-files {\n display: none;\n border: 1px dashed #ccc;\n padding: 10px 10px 10px;\n margin-top: 20px;\n position: relative;\n font-size: 12px; }\n\n#wpstg-large-files h3 {\n background: #fff;\n margin: 0;\n padding: 0 5px;\n position: absolute;\n top: -10px;\n left: 5px; }\n\n.wpstg-subdir {\n display: none;\n margin-left: 20px; }\n\n.wpstg-subdir.wpstg-push {\n display: block;\n margin-left: 20px; }\n\n.wpstg-dir a.disabled {\n color: #888;\n cursor: default;\n text-decoration: none; }\n\n.wpstg-check-subdirs {\n display: inline-block;\n margin-left: 10px; }\n\n.wpstg-notice-alert {\n display: block;\n background-color: #E01E5A;\n padding: 20px;\n max-width: 600px;\n margin-top: 10px;\n color: white; }\n\n.wpstg-notice--white {\n display: block;\n background-color: #ffffff;\n padding: 20px;\n max-width: 600px;\n margin-top: 10px; }\n\n.wpstg-notice-alert a {\n color: white; }\n\n.wpstg-notice-alert h3 {\n color: white; }\n\n.wpstg-header {\n font-weight: 400;\n line-height: 1.6em;\n font-size: 19px;\n /*\n border-bottom: 1px solid #DFDFDF;\n */\n clear: both;\n padding-top: 10px; }\n\n#wpstg-clone-label {\n font-size: 14px;\n font-weight: bold; }\n\n.wpstg-log-details {\n height: 300px;\n overflow: scroll;\n max-width: 650px;\n font-family: monospace;\n font-size: 12px;\n line-height: 15px;\n border: 1px solid #FFF;\n background-color: black;\n color: #c0c0c0;\n padding: 3px;\n white-space: nowrap;\n margin-top: 15px; }\n\n#wpstg-finished-result {\n display: none; }\n\n#wpstg-remove-cloning {\n background: #ff3428;\n border-color: #e72f24;\n margin-top: 5px; }\n\n#wpstg-success-notice {\n padding: 10px;\n background-color: white;\n max-width: 900px;\n border: 1px solid #ccc;\n margin-top: 20px; }\n\n.wpstg_beta_notice {\n margin-bottom: 20px; }\n\n.wpstg-sysinfo {\n width: 700px;\n height: 400px; }\n\n.wpstg-form-table .col-title label {\n font-weight: 600; }\n\n.wpstg-form-table td:first-child {\n width: 30%;\n padding-right: 20px; }\n\n.wpstg-share-button-container {\n margin: 5px 0; }\n\n.wpstg-share-button-container p {\n margin: 0 0 10px 0; }\n\n.wpstg-share-button {\n display: inline-block; }\n\n.wpstg-share-button a {\n text-decoration: none; }\n\n.wpstg-share-button .wpstg-share {\n font-family: sans-serif;\n font-weight: bold;\n text-decoration: none;\n text-align: center; }\n\n.wpstg-share-button .wpstg-share {\n -webkit-border-radius: 2px;\n -moz-border-radius: 2px;\n border-radius: 2px;\n color: #FFF;\n display: inline;\n font-size: 12px;\n padding: 4px 8px; }\n\n.wpstg-share-button-twitter .wpstg-share {\n background-color: #00ABF0; }\n\n.wpstg-share-button-facebook .wpstg-share {\n background-color: #3b5998; }\n\n.wpstg-share-button-googleplus .wpstg-share {\n background-color: #F53424; }\n\n.wpstg-share-button-twitter .share:active,\n.wpstg-share-button-facebook .share:active,\n.wpstg-share-button-googleplus .share:active {\n background-color: #353535; }\n\n#wpstg-check-space {\n margin-left: 8px; }\n\n#wpstg-welcome li {\n font-size: 18px;\n line-height: 29px;\n position: relative;\n padding-left: 23px;\n list-style: none !important; }\n\n#wpstg-welcome {\n margin-top: 20px;\n margin-right: 20px;\n background-color: white; }\n\n.wpstg-heading-pro {\n font-weight: bold; }\n\n.wpstg-h2 {\n margin-top: 0;\n margin-bottom: 1.2rem;\n font-size: 30px;\n line-height: 2.5rem; }\n\n#wpstg-welcome li:before {\n width: 1em;\n height: 100%;\n background: url(data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%2377B227%22%20d%3D%22M1671%20566q0%2040%2D28%2068l%2D724%20724%2D136%20136q%2D28%2028%2D68%2028t%2D68%2D28l%2D136%2D136%2D362%2D362q%2D28%2D28%2D28%2D68t28%2D68l136%2D136q28%2D28%2068%2D28t68%2028l294%20295%20656%2D657q28%2D28%2068%2D28t68%2028l136%20136q28%2028%2028%2068z%22%2F%3E%3C%2Fsvg%3E) left 0.4em no-repeat;\n background-size: contain;\n content: \"\";\n position: absolute;\n top: -2px;\n left: 0;\n color: #77b227; }\n\n.wpstg-h1 {\n margin-bottom: 1.35rem;\n font-size: 2.5em;\n line-height: 3.68rem;\n letter-spacing: normal; }\n\n.wpstg--swal2-content {\n color: #3e3e3e; }\n\n.wpstg--swal2-content h1 {\n color: #444; }\n\n#wpstg-welcome h2 {\n margin: 0 0 15px; }\n\n#wpstg-welcome .wpstg-footer {\n clear: both;\n margin-top: 20px;\n font-style: italic; }\n\n#wpstg-footer {\n clear: both;\n margin-top: 20px;\n margin-right: 10px;\n padding-top: 50px; }\n\n#wpstg-footer a {\n text-decoration: none; }\n\n#wpstg-footer li {\n margin-bottom: 2px;\n list-style: circle; }\n\n#wpstg-footer ul {\n margin-left: 15px;\n margin-top: 0px; }\n\n.wpstg-footer--title {\n margin-left: 15px; }\n\n.wpstg-staging-info {\n margin-top: 8px;\n color: #3e3e3e;\n font-size: 12px; }\n\n.wpstg-staging-info a {\n color: #3e3e3e; }\n\n.wpstg-staging-info li {\n margin-bottom: 2px; }\n\n.wpstg-bold {\n font-weight: 600; }\n\n#wpstg-processing-status {\n margin-top: 5px;\n font-size: 13px;\n font-weight: 400;\n float: left; }\n\n#wpstg-processing-timer {\n margin-top: 5px;\n font-size: 13px;\n font-weight: 400;\n float: right; }\n\n#wpstg-report-issue-button {\n margin-left: 30px;\n border: 1px solid #E01E5A;\n color: #E01E5A;\n background-color: white; }\n\n#wpstg-report-issue-button:hover {\n background-color: #dc2b62;\n color: #fff; }\n\n.wpstg-blue-primary {\n display: inline-block;\n text-decoration: none;\n font-size: 13px;\n height: 28px;\n margin: 0;\n /*\n padding: 0 10px 1px;\n */\n cursor: pointer;\n border-width: 1px;\n border-style: solid;\n -webkit-appearance: none;\n border-radius: 3px;\n white-space: nowrap;\n box-sizing: border-box;\n background: #25a1f0;\n border-color: #2188c9;\n color: #fff;\n /*\n text-shadow: 0 -1px 1px #006799, 1px 0 1px #006799, 0 1px 1px #006799, -1px 0 1px #006799;\n */ }\n\n.wpstg-blue-primary:hover {\n background: #127fc6; }\n\na.wpstg-blue-primary {\n padding: 5px 10px;\n height: auto; }\n\n.wpstg-blue-primary:hover {\n background-color: #259be6; }\n\n.wpstg-report-issue-form {\n position: absolute;\n z-index: 999;\n width: 300px;\n background-color: #fff;\n padding: 15px 15px 10px;\n border: 1px solid #e8e8e8;\n border-radius: 3px;\n box-shadow: 0 1px 0 0 #fff inset;\n display: none;\n right: 0;\n top: 35px; }\n\n@media (max-width: 600px) {\n .wpstg-report-issue-form {\n position: relative; } }\n\n.wpstg-report-show {\n display: block; }\n\n.wpstg-field input[type=text],\n.wpstg-field textarea {\n width: 100%;\n font-weight: 400;\n line-height: 1.4;\n margin-bottom: 4px; }\n\n.wpstg-report-email,\n.wpstg-report-hosting-provider {\n width: 100%;\n font-weight: 400;\n font-size: .8rem;\n height: 2.3rem;\n line-height: 2.3rem;\n border-radius: 3px;\n margin-bottom: 4px;\n padding: 0 10px; }\n\n.wpstg-report-description {\n border-radius: 3px;\n font-size: .8rem;\n padding: 6px 10px;\n resize: none; }\n\n.wpstg-report-privacy-policy {\n font-size: 12px;\n margin-bottom: 15px; }\n\n#wpstg-report-cancel {\n float: right;\n margin-right: 5px;\n font-weight: bold; }\n\n#wpstg-success-button {\n font-weight: bold; }\n\n.wpstg-message {\n box-sizing: border-box;\n -moz-box-sizing: border-box;\n background-color: #f5e0de;\n border-radius: 3px;\n color: rgba(0, 0, 0, 0.6);\n height: auto;\n margin: 10px 0;\n min-height: 18px;\n padding: 6px 10px;\n position: relative; }\n\n.wpstg-message.wpstg-error-message {\n background-color: #f5e0de;\n color: #b65147;\n font-size: 12px; }\n\n.wpstg-message.wpstg-success-message {\n background-color: #d7f8e0;\n color: #515151; }\n\n.wpstg-message p {\n margin: 3px 0;\n font-size: 13px; }\n\n.wpstg-warning {\n display: block;\n padding: 10px;\n background-color: #ffb804;\n color: #ffffff;\n margin: 10px 10px 10px 0; }\n\n.wpstg-warning a {\n color: #ffffff;\n font-weight: bold;\n text-decoration: underline; }\n\n.wpstg-error {\n display: block;\n padding: 10px !important;\n background-color: #E01E5A !important;\n color: #ffffff;\n margin: 10px 10px 10px 0 !important;\n border-color: transparent !important;\n border-left-color: transparent !important;\n box-shadow: none !important; }\n\n.wpstg-error a {\n color: #ffffff;\n font-weight: bold;\n text-decoration: underline; }\n\n#wpstg-resume-cloning {\n display: none; }\n\n#wpstg-external-db th {\n text-align: left;\n width: 120px; }\n\n#wpstg-db-connect {\n font-weight: normal; }\n\n#wpstg-db-status {\n display: block;\n margin-top: 5px;\n padding: 5px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n border-radius: 4px;\n text-decoration: none;\n text-align: center; }\n\n.wpstg-text-field > #wpstg-db-status {\n margin-top: 8px;\n margin-left: 150px;\n min-width: 300px; }\n\n.wpstg-success {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6; }\n\n.wpstg-failed {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1; }\n\n#wpstg_select_tables_cloning {\n height: 600px;\n font-size: 13px; }\n\n#wpstg_select_tables_pushing {\n height: 400px;\n font-size: 13px; }\n\n#wpstg-update-notify {\n background-color: #E01E5A;\n font-size: 14px;\n color: #ffffff;\n line-height: normal;\n padding: 10px; }\n\n#wpstg-update-notify a {\n color: #ffffff;\n font-weight: bold; }\n\n.wpstg-pointer {\n cursor: pointer; }\n\n.wpstg--tab--header {\n background-color: white;\n position: relative;\n transition: border-color .2s ease-in-out;\n background-color: #ffffff;\n color: #3e3e3e;\n border-radius: 0px;\n box-shadow: 0 0 1px rgba(0, 0, 0, 0.125), 0 1px 3px rgba(0, 0, 0, 0.02); }\n\n.wpstg--tab--header ul {\n display: flex; }\n\n.wpstg--tab--header ul li {\n margin-right: 1em;\n margin-bottom: 0px; }\n\n.wpstg--tab--header ul li:last-child {\n margin-right: 0; }\n\n.wpstg--tab--header a {\n min-width: 150px;\n text-align: center;\n cursor: pointer;\n display: inline-block;\n padding: 1em 1.25em;\n padding-bottom: 9px;\n color: #c4c4c4;\n font-size: 18px; }\n\n.wpstg--tab--header a.wpstg--tab--active {\n border-bottom: 3px solid #0e86d9;\n color: #25A1F0; }\n\n.wpstg--tab--header a:hover {\n background-color: #fefefe;\n border-bottom: 3px solid #0e86d9;\n color: #0e86d9; }\n\n.wpstg--tab--content {\n display: none; }\n\n.wpstg--tab--active {\n display: block; }\n\n#wpstg-premium-header {\n font-size: 1.5rem;\n font-weight: bold; }\n\n.wpstg--text--strong,\n.wpstg--text--strong * {\n font-weight: bold !important; }\n\n.wpstg--text--danger {\n color: #a94442; }\n\n.wpstg--tooltip {\n position: relative;\n display: inline-block;\n margin-left: 5px; }\n\n.wpstg--tooltip.wpstg--tooltip-normal {\n margin-left: 0;\n border-bottom: 0; }\n\n.wpstg--tooltip .wpstg--tooltiptext {\n visibility: hidden;\n width: 300px;\n background-color: #ffffff;\n color: #505050;\n text-align: left;\n padding: 12px;\n border-radius: 3px;\n position: absolute;\n z-index: 1;\n -webkit-box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;\n -moz-box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;\n box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;\n font-weight: normal; }\n\n.wpstg--tooltiptext-backups {\n width: 120px;\n top: 100%;\n left: -150%;\n margin-left: -56px;\n margin-top: 4px; }\n\n.wpstg--tooltip.wpstg--exclude-rules--tooltip {\n border-bottom: 0px solid transparent; }\n\n.wpstg--tooltip.wpstg--exclude-rules--tooltip > .wpstg--tooltiptext {\n margin-top: 0px;\n margin-left: -150px; }\n\n/**\nTooltip top arrow\n */\n.wpstg--tooltip .wpstg--tooltiptext-backups::after {\n content: \" \";\n position: absolute;\n bottom: 100%;\n /* At the top of the tooltip */\n left: 50%;\n margin-left: 25px;\n border-width: 5px;\n border-style: solid;\n border-color: transparent transparent white transparent; }\n\n.wpstg--tooltip .wpstg--tooltiptext.has-top-arrow {\n margin-top: 6px; }\n\n.wpstg--tooltip .wpstg--tooltiptext.has-top-arrow::after {\n content: \" \";\n position: absolute;\n bottom: 100%;\n left: 50%;\n margin-left: -18px;\n border-width: 5px;\n border-style: solid;\n border-color: transparent transparent white transparent; }\n\n.wpstg--snaphot-restore-table tr {\n line-height: 12px; }\n\n.wpstg-float-left {\n float: left; }\n\n.wpstg-beta-notice {\n background-color: #b0e8b0;\n border-radius: 3px;\n padding: 7px;\n margin-bottom: 20px; }\n\n#wpstg-backup-name {\n font-size: 1.875em;\n font-weight: 600; }\n\n#wpstg_select_tables_cloning option:checked,\n#wpstg_select_tables_pushing option:checked {\n /* Cannot use background color here because Chrome and Firefox ignore it even if set to !important */\n -webkit-appearance: menulist-button;\n background-image: linear-gradient(0deg, #1e90ff 0%, #1e90ff 100%); }\n\n.wpstg--btn--cancel {\n background: #ff3428;\n border-color: #e72f24;\n color: #fff;\n height: auto;\n line-height: normal;\n font-size: 16px;\n padding: .5em;\n margin-bottom: 1.5em; }\n\n.wpstg--btn--cancel:hover {\n background: #ff3428;\n border-color: #e72f24; }\n\n.wpstg--process--content > .wpstg--swal2-html-container {\n padding: 4em 2em !important; }\n\n.wpstg--modal--process--logs,\n.wpstg--modal--error--logs {\n background: #ffffff;\n border: 1px solid #a8a8a8;\n border-radius: 3px;\n height: 300px;\n margin-top: 1em;\n display: none;\n padding-top: 10px;\n padding-left: 10px;\n overflow: auto;\n text-align: justify; }\n\n.wpstg--modal--error--logs {\n height: auto;\n max-height: 300px; }\n\n.wpstg--modal--process--logs p {\n font-size: 12px;\n white-space: nowrap; }\n\n.wpstg--modal--process--logs p.wpstg--modal--process--msg--info {\n color: #222222; }\n\n.wpstg--modal--process--logs p.wpstg--modal--process--msg--debug {\n color: #757575; }\n\n.wpstg--modal--process--title {\n color: #565656;\n margin: .25em 0; }\n\n.wpstg--modal--process--subtitle {\n margin: .5em 0;\n color: #565656; }\n\n.wpstg--modal--error--logs > p {\n text-align: left;\n font-size: 14px;\n color: #222222; }\n\n.wpstg--modal--process--logs p,\n.wpstg--modal--error--logs p {\n margin: 0px;\n margin-bottom: 2px; }\n\n.wpstg--modal--process--msg--error {\n color: #E01E5A; }\n\n.wpstg--modal--process--msg--critical {\n color: #E01E5A; }\n\n.wpstg--modal--process--msg--warning {\n color: darkorange; }\n\n.wpstg--modal--process--msg-found {\n font-size: 16px;\n color: #E01E5A;\n font-weight: bold; }\n\n.wpstg--modal--delete {\n text-align: left;\n margin-top: 8px;\n color: #565656; }\n\n.wpstg-swal-popup .wpstg--swal2-cancel.wpstg--btn--cancel {\n margin-bottom: 0;\n text-shadow: none !important; }\n\n.wpstg-swal-popup .wpstg-loader {\n display: inline-block !important; }\n\n.wpstg--modal--process--generic-problem {\n display: none;\n border-left: 5px solid #E01E5A;\n margin: .5em 0; }\n\n.wpstg--modal--process--logs--tail {\n font-size: 16px;\n color: #565656;\n background: none;\n border: none;\n cursor: pointer;\n text-decoration: underline; }\n\n.wpstg--modal--backup--import--upload--title {\n color: #3e3e3e; }\n\n.wpstg--modal--backup--import--configure,\n.wpstg--modal--backup--import--upload--status,\n.wpstg--modal--backup--import--upload--container input[type=\"file\"] {\n display: none; }\n\n#wpstg--backups--import--file-list {\n font-size: 14px;\n font-weight: bold; }\n\n#wpstg--backups--import--file-list-empty {\n color: #E01E5A; }\n\n.wpstg--modal--backup--import--filesystem label {\n font-size: 14px; }\n\n.wpstg--modal--backup--import--filesystem button {\n margin-bottom: 20px; }\n\n.wpstg--modal--backup--import--upload {\n position: relative;\n min-height: 30px; }\n\n.wpstg--modal--backup--import--upload {\n color: #505050; }\n\n.wpstg--modal--backup--import--upload--container {\n position: relative;\n border-radius: 10px;\n margin: .5em;\n padding: 1em .5em;\n border: 3.5px dashed #dedede;\n transition: background-color 0.3s ease, color 0.3s ease;\n background-color: #f4fbff;\n min-height: 130px; }\n\n.wpstg--modal--backup--import--upload--container.wpstg--has-dragover span.wpstg--drop {\n display: inline-flex; }\n\n.wpstg--modal--backup--import--upload--container input[type='file'] {\n display: none; }\n\n.wpstg--modal--backup--import--upload--container img {\n margin-top: 10px;\n width: 4em;\n align-self: center;\n border: none; }\n\n.wpstg--modal--backup--import--upload--container span {\n margin-top: 1em; }\n\n.wpstg--backup--import--options > button {\n margin-top: 1em;\n padding: 1em;\n align-self: center;\n width: 185px;\n height: auto;\n line-height: normal; }\n\n.wpstg--backup--import--options {\n position: relative;\n display: flex;\n justify-content: center; }\n\n.wpstg--backup--import--options ul {\n display: none; }\n\n.wpstg--backup--import--options.wpstg--show-options ul {\n padding: 0;\n margin: 54px 0 0 0;\n display: block;\n position: absolute;\n width: 185px;\n background: #25a1f0;\n box-sizing: border-box;\n border-radius: 0 0 3px 3px;\n border-width: 1px;\n border-color: #2188c9;\n text-shadow: 0 -1px 1px #006799, 1px 0 1px #006799, 0 1px 1px #006799, -1px 0 1px #006799; }\n\n.wpstg--backup--import--options.wpstg--show-options ul li {\n border-bottom: .1em solid #25a1f0;\n margin: 0; }\n\n.wpstg--backup--import--options.wpstg--show-options ul li:hover {\n background-color: #25a1f0; }\n\n.wpstg--backup--import--options.wpstg--show-options ul li:last-child {\n border-bottom: none; }\n\n.wpstg--backup--import--options ul li button {\n cursor: pointer;\n background: none;\n border: none;\n margin: 0;\n width: 100%;\n color: white;\n height: 40px;\n line-height: 40px; }\n\n.wpstg--backup--import--options ul li button:hover {\n background-color: #259be6; }\n\n.wpstg--modal--backup--import--search-replace--info {\n margin: 1em 0;\n display: flex;\n flex-direction: row; }\n\n.wpstg--modal--backup--import--info p {\n text-align: left;\n margin: 0; }\n\n.wpstg--modal--backup--import--search-replace--wrapper button {\n align-self: center; }\n\n.wpstg--import--advanced-options--button {\n border: 0;\n border-radius: 3px;\n font-size: 18px;\n text-shadow: 0 -1px 1px #006799, 1px 0 1px #006799, 0 1px 1px #006799, -1px 0 1px #006799;\n cursor: pointer; }\n\n.wpstg--modal--backup--import--search-replace--new {\n color: white;\n background-color: #25a1f0; }\n\n.wpstg--modal--backup--import--search-replace--remove {\n color: white;\n background-color: #25a1f0;\n width: 22px;\n height: 22px;\n margin-left: 5px; }\n\n.wpstg--modal--backup--import--search-replace--input-group:first-child button {\n display: none; }\n\n.wpstg--modal--backup--import--search-replace--input--container {\n flex: 1;\n display: flex;\n flex-direction: column; }\n\n.wpstg--modal--backup--import--search-replace--input-group {\n width: 100%;\n border-bottom: 6px solid #f1f1f1;\n margin-bottom: 10px; }\n\n.wpstg--modal--backup--import--search-replace--input-group input {\n min-width: 250px;\n width: calc(50% - 4px - 11px - 5px);\n /* -4px is half of the padding; -11px is half of the button; -5 is the margin left of the button */\n display: inline-block;\n line-height: 10px;\n border: 1px solid #dedede;\n border-radius: 3px;\n color: #666;\n padding: 8px;\n margin-bottom: 12px; }\n\n.wpstg--modal--import--upload--process {\n display: none;\n position: relative;\n height: 30px;\n margin-top: 20px;\n margin-bottom: 20px;\n width: 100%;\n top: 0;\n left: 0;\n text-indent: 1em;\n white-space: nowrap;\n overflow: hidden;\n color: #333333;\n justify-content: center;\n align-items: center; }\n\n.wpstg--modal--import--upload--progress {\n position: absolute;\n background: #98d452;\n color: white;\n height: 100%;\n border-radius: 4px;\n left: 0;\n top: 0; }\n\n.wpstg--modal--import--upload--progress--title {\n z-index: 9; }\n\n.wpstg-fieldset:disabled {\n opacity: 0.8;\n border-top: 1px solid white;\n margin-top: 20px; }\n\n.wpstg-fieldset {\n padding-left: 20px; }\n\n.wpstg-fs-14 {\n font-size: 14px; }\n\n.wpstg-dark-alert {\n font-weight: bold;\n background-color: #0e86d9;\n padding: 30px;\n margin-top: 0px;\n color: white; }\n\n.wpstg-dark-alert ul {\n list-style: initial; }\n\n.wpstg-form-group {\n display: block;\n width: 100%;\n margin-bottom: 8px;\n align-items: center; }\n\n.wpstg-form-group > label {\n display: block;\n font-weight: 700; }\n\n.wpstg-text-field > input {\n width: 300px;\n display: block;\n line-height: 1.5; }\n\n.wpstg-code-segment {\n display: block; }\n\n.wpstg-text-field > .wpstg-code-segment {\n margin-top: 4px;\n min-width: 300px; }\n\n.wpstg-form-group > .wpstg-checkbox {\n min-width: 100%;\n width: 100%;\n position: relative; }\n\n.wpstg-form-group > .wpstg-checkbox > input[type='checkbox'] {\n left: 150px; }\n\n.wpstg-rounded {\n border-radius: 3px; }\n\n.wpstg-white-border {\n border: 1px solid white !important; }\n\n.wpstg-ml-4 {\n margin-left: 4px; }\n\n#wpstg-confirm-backup-restore-data {\n margin: 40px;\n text-align: left; }\n\n#wpstg-advanced-settings hr {\n margin: 20px 0; }\n\n.wpstg-form-row {\n display: block; }\n\n.wpstg-form-row label,\n.wpstg-form-row input {\n display: table-cell;\n padding-left: 5px;\n padding-right: 5px;\n margin-top: 3px;\n margin-bottom: 3px; }\n\n.wpstg-form-row input {\n width: 400px; }\n\n.wpstg-form-row label {\n font-weight: bold;\n width: 1px;\n white-space: nowrap; }\n\n#wpstg-db-connect-output #wpstg-db-status {\n width: 390px; }\n\n.wpstg-fs-14 {\n font-size: 14px; }\n\n.wpstg-code-segment {\n display: block; }\n\n.wpstg-form-group > .wpstg-checkbox {\n min-width: 100%;\n width: 100%; }\n\n.wpstg-form-group > .wpstg-checkbox > input[type='checkbox'] {\n margin-left: 10px; }\n\n@media only screen and (max-width: 768px) {\n .wpstg-form-group > label {\n min-width: auto;\n width: auto; }\n .wpstg-text-field > input {\n width: 100%; }\n .wpstg-text-field > .wpstg-code-segment {\n margin-left: 0;\n min-width: 100%; }\n .wpstg-tab-section {\n width: calc(100vw - 60px);\n max-width: 450px; } }\n\n.wpstg-rounded {\n border-radius: 3px; }\n\n.wpstg-white-border {\n border: 1px solid white !important; }\n\n.wpstg-m-0 {\n margin: 0; }\n\n.wpstg-mt-10px {\n margin-top: 10px !important; }\n\n.wpstg-mr-10px {\n margin-right: 10px !important; }\n\n.wpstg-my-10px {\n margin-top: 10px !important;\n margin-bottom: 10px !important; }\n\n.wpstg-w-100 {\n width: 100%; }\n\n.wpstg-box-shadow {\n box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1); }\n\n.wpstg-float-left {\n float: left; }\n\n.wpstg-bold-text {\n font-weight: bold; }\n\n.wpstg-warning.notice {\n border-left: 4px solid #ffba00; }\n\n.wpstg-confirmation-label {\n background-color: #5b9dd9;\n color: #fff;\n padding: 2px;\n border-radius: 3px; }\n\n.wpstg-my-6px {\n margin-bottom: 6px;\n margin-top: 6px; }\n\n.wpstg-mb-10px {\n margin-bottom: 10px; }\n\n.wpstg-clear-both {\n clear: both; }\n\n.wpstg-font-italic {\n font-style: italic; }\n\n.wpstg-mt-20px {\n margin-top: 20px; }\n\n.wpstg-welcome-container {\n border: 2px solid white;\n padding: 20px;\n margin-bottom: 20px; }\n\n.wpstg-ml-30px {\n margin-left: 30px; }\n\n.wpstg-text-center {\n text-align: center; }\n\n.wpstg-feedback-link {\n text-decoration: none; }\n\n.wpstg-feedback-span {\n display: block;\n margin-bottom: 3px; }\n\n#wpstg-confirm-backup-restore-data {\n margin: 40px;\n text-align: left; }\n\n#wpstg-confirm-backup-restore-wrapper {\n margin: 30px;\n margin-top: 0; }\n\n#wpstg-confirm-backup-restore-wrapper h3 {\n color: #E01E5A; }\n\n#wpstg-progress-db,\n#wpstg-progress-backup {\n background-color: #3fa5ee; }\n\n#wpstg-progress-sr,\n#wpstg-progress-files.wpstg-pro {\n background-color: #3c9ee4; }\n\n#wpstg-progress-dirs,\n#wpstg-progress-data {\n background-color: #3a96d7; }\n\n#wpstg-progress-files:not(.wpstg-pro),\n#wpstg-progress-finishing {\n background-color: #378cc9; }\n\n.wpstg-issue-resubmit-confirmation.wpstg--swal2-container,\n.wpstg-swal2-container.wpstg--swal2-container {\n z-index: 10500; }\n\n.wpstg-swal2-container.wpstg-swal2-loading .wpstg--swal2-actions,\n.wpstg-swal2-container.wpstg-swal2-loading .wpstg--swal2-header {\n display: none; }\n\nbody.toplevel_page_wpstg_backup .wpstg--swal2-container .wpstg--swal2-content,\nbody.toplevel_page_wpstg_clone .wpstg--swal2-container .wpstg--swal2-content {\n z-index: 2; }\n\n.toplevel_page_wpstg_clone #swal2-content h2 {\n color: #3e3e3e; }\n\n.toplevel_page_wpstg_clone #swal2-content {\n line-height: 1.5em; }\n\ndiv#exportUploadsWithoutDatabaseWarning {\n font-style: italic;\n font-size: 0.9rem;\n margin: 10px;\n padding: 10px;\n border: 1px solid #e3e3e3;\n border-radius: 5px;\n text-align: center;\n background-color: #fafafa; }\n\n.wpstg-advanced-options-dropdown-wrapper {\n display: none;\n /* ENABLE WHEN WE HAVE ADVANCED OPTIONS FOR EXPORTING */\n margin-top: 20px; }\n\n.wpstg--modal--backup--import--search-replace--wrapper {\n text-align: left;\n margin-top: 20px; }\n\n.wpstg--modal--backup--import--search-replace--new--wrapper {\n text-align: center; }\n\n.wpstg-import-backup-contains li {\n display: inline-block;\n margin-bottom: 0px; }\n\n.wpstg-import-backup-contains li .wpstg-backups-contains {\n border-radius: 3px;\n color: #979797;\n background-color: #f4f4f4 !important;\n width: 18px;\n height: 18px;\n font-size: 17px; }\n\n.wpstg-import-backup-contains.wpstg-listing-single-backup li .wpstg-backups-contains {\n padding: 2px;\n background-color: white; }\n\n.wpstg-import-backup-contains.wpstg-listing-single-backup li .wpstg-backups-contains > .wpstg--dashicons {\n filter: invert(35%); }\n\n.wpstg-import-backup-contains .wpstg--tooltiptext {\n width: 80px;\n font-size: 13px;\n padding: 5px;\n left: -25px;\n text-align: center; }\n\n.wpstg-import-backup-contains-title {\n display: inline-block; }\n\nul.wpstg-import-backup-contains {\n display: inline-block; }\n\n.wpstg-import-backup-name {\n display: inline-block;\n font-weight: bold; }\n\n.wpstg-backup-more-info-toggle {\n font-size: x-small;\n display: inline-block;\n font-style: italic;\n cursor: pointer; }\n\n.wpstg-backup-more-info-toggle::selection {\n background: none; }\n\nul.wpstg-import-backup-more-info {\n font-size: 14px;\n text-align: left;\n margin-bottom: 30px;\n margin-top: 10px;\n background-color: #f6f6f6;\n border: 1px solid #878787;\n border-radius: 3px;\n padding: 7px;\n cursor: pointer; }\n\nul.wpstg-import-backup-more-info:hover {\n background-color: #def2ff;\n border: 1px solid #25a1f0; }\n\nul.wpstg-import-backup-more-info li {\n height: 20px; }\n\n.wpstg-backup-list {\n max-width: 800px; }\n\n.wpstg-backup-list h3 {\n color: #3e3e3e; }\n\n.wpstg-backup-list ul ul {\n margin-block-start: 1em;\n margin-block-end: 1em; }\n\n.wpstg-push-confirmation-message {\n text-align: justify;\n font-size: 15px; }\n\n.wpstg-settings-row {\n padding-top: 10px;\n padding-bottom: 10px; }\n\n.wpstg-settings-title {\n font-weight: 600; }\n\n.wpstg-settings-form-group {\n display: flex;\n align-items: center; }\n\n.wpstg-settings-form-group > .wpstg-settings-message {\n width: 30%;\n padding: 0;\n margin: 7px 0 0; }\n\n/**\n * WP STAGING EXCLUSION RULES TABLE LAYOUT\n */\n.wpstg-excluded-filters-container {\n padding: 0;\n margin-top: 10px;\n margin-bottom: 10px;\n max-width: 100%;\n width: 100%; }\n\n.wpstg-excluded-filters-container > table {\n width: 100%;\n border-collapse: collapse;\n border-color: transparent; }\n\n.wpstg-excluded-filters-container td {\n padding-top: 4px;\n padding-bottom: 4px;\n height: 20px; }\n\n.wpstg-excluded-filters-container h4 {\n margin: 0; }\n\n.wpstg-exclude-filters-foot {\n display: flex;\n justify-content: flex-start;\n padding: 0; }\n\n/**\n * WP STAGING EXCLUSION RULE DROPDOWN STYLE\n */\n.wpstg-exclude-filter-dropdown > button:hover {\n background: #135e96;\n border: 1px solid #135e96; }\n\n.wpstg-exclude-filter-dropdown > .wpstg-dropdown-menu {\n width: 128px; }\n\n.wpstg-remove-exclude-rule {\n color: #fff !important;\n background-color: #e01e5a;\n border: 1px solid #e01e5a;\n width: 20px;\n height: 20px;\n border-radius: 10px;\n font-size: 24px;\n padding: 0;\n display: inline-flex;\n justify-content: center;\n outline: none;\n box-shadow: none;\n font-weight: 400;\n line-height: 0.7;\n margin-top: 5px;\n cursor: pointer; }\n\n.wpstg-remove-exclude-rule:hover {\n background-color: #E01E5A;\n border-color: #E01E5A; }\n\n.wpstg-code-block {\n margin-top: 4px;\n font-size: 1.2em;\n background: #f8f8f8;\n border-radius: 2px; }\n\n.wpstg-rule-info {\n background: #f8f8f8 !important; }\n\ncode.wpstg-code {\n display: inline-block;\n font-size: 11px;\n border: 1px solid #aaa;\n background: #fff;\n padding: 2px 4px;\n margin-bottom: 1px;\n color: #E01E5A; }\n\n.wpstg-exclusion-rule-info {\n color: #fff !important;\n background-color: #ffc107;\n border: 1px solid #ffc107;\n width: 14px;\n height: 14px;\n border-radius: 7px;\n font-size: 14px;\n padding: 0;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n outline: none;\n box-shadow: none;\n font-weight: 400;\n vertical-align: middle; }\n\n.wpstg-exclusion-rule-info:hover {\n background-color: #ffba0c;\n border: 1px solid #ffba0c; }\n\n/**\n * WP STAGING INPUTS EXCLUSION RULES\n */\n.wpstg-exclude-rule-input {\n font-size: 12px !important;\n padding: 2px 6px;\n box-shadow: none;\n outline: none !important;\n display: inline-block;\n font-weight: 400;\n line-height: 1.5;\n color: #222;\n border-radius: 0 !important;\n background-color: #fff;\n border: 1px solid #bbb;\n min-height: 24px !important;\n margin-top: 4px;\n margin-left: 4px;\n vertical-align: baseline !important;\n transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);\n width: 135px; }\n\n.wpstg-excluded-filters-container tbody > tr:last-child .wpstg-exclude-rule-input {\n margin-bottom: 4px; }\n\n.wpstg-exclude-rule-input:hover {\n border: 1px solid #999; }\n\n.wpstg-exclude-rule-input:focus {\n border: 1px solid #25A0F1 !important;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24) !important; }\n\n.wpstg-file-size-exclude-select,\n.wpstg-path-exclude-select {\n width: 135px; }\n\n.wpstg-file-size-exclude-select-small {\n width: 52px; }\n\n.wpstg-file-size-exclude-input {\n width: 75px; }\n\n.wpstg-staging-option-title {\n margin: 15px 0 0; }\n\n.wpstg-swal-push-container.wpstg--swal2-container {\n z-index: 9995; }\n\n#wpstg-scanning-files {\n padding-bottom: 5px; }\n\n#wpstg-scanning-files.wpstg-tab-section, #wpstg-scanning-db.wpstg-tab-section {\n padding-top: 10px; }\n\n.wpstg-reset-excludes-container {\n margin: 10px 0; }\n\n.wpstg-swal2-ajax-loader {\n width: 100%;\n height: 150px;\n overflow: hidden;\n display: flex;\n justify-content: center;\n align-items: center; }\n\n@keyframes wpstg-loading-icon-anim {\n 0% {\n transform: rotate(0); }\n 100% {\n transform: rotate(360deg); } }\n\n.wpstg-swal2-ajax-loader > img {\n width: 64px;\n height: 64px;\n animation: wpstg-loading-icon-anim 1s infinite linear;\n -webkit-animation: wpstg-loading-icon-anim 1s infinite linear; }\n\n.wpstg-swal2-container .wpstg-tab-section {\n width: auto !important; }\n\n#wpstg-no-staging-site-results {\n margin-top: 10px;\n max-width: 375px; }\n\nli#wpstg-backup-no-results {\n max-width: 500px; }\n\nli#wpstg-backup-no-results div, #wpstg-no-staging-site-results div {\n display: inline-block;\n text-align: center; }\n\nli#wpstg-backup-no-results .wpstg--dashicons, #wpstg-no-staging-site-results .wpstg--dashicons {\n filter: invert(50%);\n position: absolute;\n margin-top: 1px; }\n\nli#wpstg-backup-no-results .no-backups-found-text, #wpstg-no-staging-site-results .no-staging-site-found-text {\n color: #5d5d5d;\n margin-left: 20px; }\n\n@media only screen and (max-width: 680px) {\n li#wpstg-backup-no-results div, #wpstg-no-staging-site-results div {\n width: 100%; } }\n\n#wpstg--modal--backup--download-inner p.wpstg-download-modal-text {\n font-size: 16px;\n color: #565656; }\n\n#wpstg--modal--backup--download-inner h2 {\n color: #565656; }\n\n.wpstg-backup-restore-contains-database,\n.wpstg-backup-restore-contains-files {\n display: none; }\n\n.wpstg-green-button {\n background: #8bc34a;\n border: 1px solid #78a93f;\n color: white;\n text-shadow: 0 -1px 1px #78a93f, 1px 0 1px #78a93f, 0 1px 1px #40c921, -1px 0 1px #78a93f; }\n\n.wpstg-green-button:hover {\n background: #78a93f; }\n\n.wpstg-is-dir-loading {\n position: absolute;\n margin-top: -2px;\n margin-left: 8px;\n display: none; }\n\n.wpstg-ml-8px {\n margin-left: 8px; }\n\n.wpstg-mb-8px {\n margin-bottom: 8px; }\n\n.wpstg-btn-danger {\n background-color: #E01E5A;\n border: 1px solid #E01E5A;\n color: white;\n text-shadow: none; }\n\n.wpstg-btn-danger:hover {\n background: #c0194d;\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3); }\n\n.wpstg-swal2-container.wpstg-swal2-loading > .wpstg--swal2-modal {\n height: 200px; }\n\n.wpstg-swal2-container.wpstg-swal2-loading.wpstg-swal2-loading-sm > .wpstg--swal2-modal {\n height: 100px; }\n\n.wpstg-swal2-container.wpstg-swal2-loading.wpstg-swal2-loading-sm .wpstg-swal2-ajax-loader img {\n height: 32px;\n width: 32px; }\n\n.wpstg-reset-confirmation.wpstg-swal2-container:not(.wpstg-swal2-loading) > .wpstg--swal2-modal {\n max-width: 480px; }\n\n.wpstg-reset-confirmation.wpstg-swal2-container .wpstg--swal2-header {\n display: none; }\n\n.wpstg-reset-confirmation.wpstg-swal2-container .wpstg--swal2-content {\n height: auto; }\n\n.wpstg-reset-confirmation.wpstg-swal2-container > .wpstg--swal2-modal > .wpstg--swal2-content .wpstg-tabs-wrapper {\n overflow-y: auto;\n height: auto !important; }\n\n.wpstg-reset-confirmation.wpstg-swal2-container > .wpstg--swal2-modal > .wpstg--swal2-content {\n font-size: 13px; }\n\n.wpstg-reset-confirmation.wpstg-swal2-container > .wpstg--swal2-modal > .wpstg--swal2-content .wpstg-dir {\n margin-bottom: 4px; }\n\n.wpstg-reset-confirmation.wpstg-swal2-container > .wpstg--swal2-modal > .wpstg--swal2-content .wpstg-subdir {\n margin-top: 4px; }\n\n.wpstg-reset-confirmation.wpstg-swal2-container.has-collapsible-open .wpstg--swal2-modal {\n height: calc(100vh - 70px); }\n\n.wpstg-reset-confirmation.wpstg-swal2-container.has-collapsible-open > .wpstg--swal2-modal > .wpstg--swal2-content .wpstg-tabs-wrapper {\n height: calc(100vh - 350px) !important; }\n\n.wpstg--swal2-actions.wpstg--modal--actions > button {\n margin-left: 4px;\n margin-right: 4px;\n text-transform: uppercase;\n text-shadow: initial;\n font-weight: 500;\n min-width: 80px; }\n\n.wpstg-swal-popup {\n max-width: 1200px !important; }\n\n.wpstg-swal-popup.wpstg-push-finished .wpstg--swal2-title {\n color: #a8a8a8; }\n\n.wpstg-swal-popup.wpstg-push-finished .wpstg--swal2-content {\n margin-top: 8px;\n color: #a8a8a8; }\n\n.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step.wpstg--swal2-active-progress-step,\n.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step,\n.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step-line {\n background: #25a1f0; }\n\n.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step-line {\n width: 2.75em; }\n\n.wpstg--dashicons {\n width: 16px;\n height: 16px; }\n\n.wpstg--dashicons.wpstg-dashicons-grey {\n filter: invert(20%); }\n\n.wpstg--dashicons.wpstg-dashicons-19 {\n width: 19px;\n height: 19px; }\n\n.wpstg--dashicons.wpstg-dashicons-21 {\n width: 21px;\n height: 21px; }\n\n#wpstg--tab--backup #wpstg-step-1 {\n display: flex;\n align-items: center; }\n\n.wpstg-advanced-options .wpstg--tooltip,\n#wpstg--tab--backup #wpstg-step-1 .wpstg--tooltip {\n border-bottom: 0 solid transparent;\n display: inline-flex;\n align-items: center; }\n\n.wpstg-advanced-options-site .wpstg--tooltip img.wpstg--dashicons {\n filter: invert(17%) sepia(0%) saturate(1%) hue-rotate(195deg) brightness(97%) contrast(77%); }\n\n#wpstg--tab--backup #wpstg-step-1 .wpstg--tooltip {\n border-bottom: 0 solid transparent;\n display: flex;\n align-items: center; }\n\n.wpstg--tooltip .wpstg--tooltiptext-backups::after {\n left: calc(20% + 2px); }\n\n.wpstg-listing-single-backup .wpstg--dashicons {\n width: 17px;\n height: 17px; }\n\n.wpstg-100-width {\n width: 100px; }\n\n.wpstg-caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: 4px solid;\n border-right: 4px solid transparent;\n border-left: 4px solid transparent;\n transition: transform 0.2s;\n cursor: pointer; }\n\n.wpstg-caret.wpstg-caret-up {\n transform: rotate(-180deg); }\n\n.wpstg-advanced-options-site label {\n font-size: 16px;\n display: block;\n margin: .5em 0; }\n\n#wpstg-confirm-backup-restore-data {\n font-size: 18px;\n margin: 0;\n margin-top: 30px; }\n\n/* Sweetalert WP STAGING Theme */\nbody.toplevel_page_wpstg_backup .wpstg--swal2-container.wpstg--swal2-backdrop-show,\nbody.toplevel_page_wpstg_clone .wpstg--swal2-container.wpstg--swal2-backdrop-show {\n background: rgba(0, 0, 0, 0.6);\n z-index: 9995; }\n\n.wpstg-swal-popup.wpstg--swal2-popup {\n border-radius: 8px;\n z-index: 9999;\n padding: 24px;\n color: #3e3e3e;\n font-family: Verdana, Geneva, Tahoma, sans-serif; }\n\n.wpstg-swal-popup .wpstg--swal2-title {\n font-size: 22px;\n color: #3e3e3e; }\n\n.wpstg-swal-popup.wpstg--swal2-popup:not(.centered-modal) .wpstg--swal2-title {\n align-self: flex-start;\n /* For an actual Swal title */\n text-align: left;\n /* Manually adding this class to a non flex display */\n margin-bottom: 0; }\n\n.wpstg-swal-popup .wpstg--swal2-close {\n top: 8px;\n right: 8px;\n z-index: 5; }\n\n.wpstg-swal-popup .wpstg--swal2-close:focus {\n outline: none; }\n\n.wpstg-swal-popup.wpstg--swal2-popup:not(.centered-modal) .wpstg--swal2-actions {\n justify-content: flex-end; }\n\n.wpstg-swal-popup .wpstg--swal2-actions > button {\n border-radius: 4px;\n font-weight: 900;\n border: 0;\n font-size: 15px;\n padding: 10px 12px;\n text-transform: capitalize;\n line-height: normal;\n height: 40px;\n min-width: 100px;\n text-shadow: none; }\n\n.wpstg-swal-popup.wpstg--swal2-popup:not(.centered-modal) .wpstg--swal2-actions > button {\n margin-left: 8px; }\n\n.wpstg-swal-popup .wpstg--swal2-actions > button.wpstg--swal2-cancel {\n border: 1px solid rgba(29, 28, 29, 0.3);\n background: #fff;\n color: #1d1c1d;\n font-weight: 500;\n width: 100px;\n text-shadow: none; }\n\n.wpstg-swal-popup .wpstg--swal2-actions > button:hover {\n box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1); }\n\n.wpstg-swal-popup .wpstg--swal2-actions > button.wpstg--swal2-cancel:hover {\n background: rgba(28, 29, 28, 0.04); }\n\n#wpstg-backup-name-input {\n height: 44px;\n font-size: 18px; }\n\n.wpstg-restore-finished-container .wpstg--swal2-title {\n color: #565656 !important; }\n\n/*#wpstg-restore-success {\n color: #565656;\n}*/\n.wpstg-restore-finished-container .wpstg--swal2-content {\n margin-top: 20px;\n color: #a8a8a8; }\n\n/* WP Staging Implementation of Windows Style Linear Loader */\n.wpstg-linear-loader > span[class*=\"wpstg-linear-loader-item\"] {\n height: 6px;\n width: 6px;\n background: #333;\n display: inline-block;\n margin: 12px 2px;\n border-radius: 100%;\n animation: wpstg_linear_loader 3s infinite;\n animation-timing-function: cubic-bezier(0.03, 0.615, 0.995, 0.415);\n animation-fill-mode: both; }\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(1) {\n animation-delay: 1s; }\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(2) {\n animation-delay: 0.8s; }\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(3) {\n animation-delay: 0.6s; }\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(4) {\n animation-delay: 0.4s; }\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(5) {\n animation-delay: 0.2s; }\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(6) {\n animation-delay: 0s; }\n\n@keyframes wpstg_linear_loader {\n 0% {\n transform: translateX(-30px);\n opacity: 0; }\n 25% {\n opacity: 1; }\n 50% {\n transform: translateX(30px);\n opacity: 0; }\n 100% {\n opacity: 0; } }\n\n/* END - Windows Style Linear Loader */\n.wpstg--modal--backup--import--upload--content {\n padding: .75em;\n margin: 1em auto; }\n\n.wpstg--modal--backup--import--upload--content .wpstg-linear-loader {\n display: none; }\n\n#wpstg-multisite-disabled .wpstg-clone {\n width: 355px; }\n\n#wpstg-free-version-backups .wpstg-clone p {\n font-size: 16px; }\n\n.wpstg-staging-info li .backup-notes {\n word-break: break-word; }\n\n.wpstg--modal--import--upload--progress--title small {\n font-weight: normal; }\n\n#wpstg-report-issue-wrapper {\n position: relative; }\n\n#wpstg-report-issue-wrapper .arrow-up {\n width: 0;\n height: 0;\n border-left: 8px solid transparent;\n border-right: 8px solid transparent;\n border-bottom: 8px solid white;\n position: absolute;\n top: -8px;\n right: 40px; }\n\n.notice {\n margin: 10px 20px 0 2px; }\n\n.wpstg--notice {\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);\n margin: 20px 20px 20px 0px;\n padding: 1px 12px; }\n\n.wpstg--error a:hover {\n color: #eeeeee; }\n\n.wpstg--error, .wpstg--error a {\n background: #E01E5A;\n color: white; }\n\n/**\n * Buttons\n */\n.wpstg-button {\n display: inline-block;\n border-radius: 2px;\n cursor: pointer;\n padding: 2px 10px 2px 10px;\n text-transform: uppercase;\n font-weight: 500;\n outline: 0;\n transition: background-color .1s ease-in;\n text-decoration: none; }\n\n.wpstg-button.wpstg-save {\n background-color: #1687A7;\n color: white; }\n\n.wpstg-button.wpstg-save:hover {\n background-color: #276678; }\n\n.wpstg-button.wpstg-button-light {\n background-color: #f8f8f8;\n border: 1px solid #eee;\n color: #333;\n animation: background-color 0.3s; }\n\n.wpstg-button.wpstg-button-light:hover {\n background-color: #e0e0e0;\n border: 1px solid #e0e0e0; }\n\n.wpstg-buttons .spinner {\n float: none;\n margin: 0 0 0 5px; }\n\n.wpstg-button.danger {\n display: inline-block;\n text-decoration: none;\n text-align: center;\n text-transform: inherit;\n background-color: #E01E5A;\n color: white;\n border-radius: 2px;\n border-color: transparent; }\n\n.wpstg-button.danger:hover {\n background-color: #c0194d; }\n\n.wpstg-button--big {\n display: inline-block;\n padding: 10px;\n min-width: 170px;\n font-size: 16px;\n text-decoration: none;\n text-align: center;\n margin-top: 20px;\n color: white;\n border-radius: 3px; }\n\n.wpstg-button--primary {\n display: inline-block;\n text-decoration: none;\n font-size: 13px;\n line-height: 2.15384615;\n min-height: 30px;\n margin: 0;\n padding: 0 10px;\n cursor: pointer;\n border: 1px solid rgba(29, 28, 29, 0.3);\n -webkit-appearance: none;\n border-radius: 2px;\n white-space: nowrap;\n box-sizing: border-box;\n color: #171717; }\n\n.wpstg-button--primary:hover {\n background: rgba(28, 29, 28, 0.04);\n color: black; }\n\n.wpstg-button--secondary {\n display: inline-block;\n background-color: transparent;\n color: #95a5a6;\n border-radius: 2px;\n border: 1px solid rgba(29, 28, 29, 0.3);\n cursor: pointer;\n padding: 4px 10px 2px 10px;\n font-weight: 500;\n outline: 0;\n transition: background-color .1s ease-in;\n text-decoration: none; }\n\n.wpstg-button--red {\n background-color: #E01E5A;\n border-color: #E01E5A;\n color: white; }\n\n.wpstg-button--red:hover {\n background-color: #d02358;\n border-color: #e0255f;\n color: white; }\n\n.wpstg-button--cta-red {\n background-color: #fe008f;\n border-color: #E01E5A;\n color: white; }\n\n.wpstg-button--cta-red:hover {\n background-color: #f31391;\n border-color: #e0255f;\n color: white; }\n\n.wpstg-button--blue {\n background-color: #25A0F1;\n border-color: #25A0F1;\n color: white; }\n\n.wpstg-button--blue:hover {\n background-color: #259be6;\n border-color: #259be6;\n color: white; }\n\n#wpstg-button-backup-upgrade {\n font-size: 16px;\n width: 150px;\n text-align: center; }\n\n.wpstg-staging-status {\n color: #E01E5A; }\n\n#wpstg-push-changes,\n#wpstg-start-updating,\n#wpstg-save-clone-data {\n margin-left: 5px; }\n\ninput.wpstg-textbox {\n border: 1px solid #aaa;\n border-radius: .25rem;\n padding: 0.25rem 0.5rem;\n font-size: 14px; }\n\ninput.wpstg-textbox:focus {\n outline: 0;\n border-color: #259be6;\n -webkit-box-shadow: 0 0 0 0.1rem rgba(221, 221, 221, 0.35);\n box-shadow: 0 0 0 0.1rem rgba(221, 221, 221, 0.35); }\n\ninput.wpstg-textbox::placeholder {\n color: #888; }\n\n.wpstg--advance-settings--checkbox {\n display: flex;\n align-items: center; }\n\n.wpstg--advance-settings--checkbox > label {\n font-size: 14px;\n font-weight: bolder;\n width: 165px;\n display: inline-block; }\n\n.wpstg--advance-settings--checkbox > .wpstg--tooltip {\n margin-top: 5px;\n margin-left: 5px;\n position: relative;\n display: inline-block;\n border-bottom: 0px solid transparent; }\n\n.wpstg--advance-settings--checkbox > .wpstg--tooltip > .wpstg--tooltiptext {\n top: 18px;\n left: -150px; }\n\ndiv#wpstg-restore-wait {\n display: none;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n text-align: center;\n height: 100vh;\n width: 100vw;\n position: fixed;\n top: 0;\n left: 0;\n background: white;\n z-index: 99999; }\n\ndiv#wpstg-restore-wait .wpstg-title {\n font-weight: bold; }\n\ndiv#wpstg-restore-wait div {\n font-size: 16px;\n margin-top: 12px; }\n\n.resumable-browse {\n cursor: pointer; }\n\n.resumable-browse a {\n text-decoration: underline; }\n\n.wpstg-upload-text {\n font-weight: 600; }\n\n.wpstg--modal--backup--import--upload--container.dragover {\n transition: background-color 0.7s;\n background-color: #94dc96;\n color: #FFF; }\n\n.wpstg--modal--backup--import--upload--container.dragover * {\n pointer-events: none;\n /* Avoids flickering when dragging to drop a file */ }\n\n.wpstg--modal--backup--import--upload--container.dragover .wpstg-upload-text {\n display: none; }\n\n.wpstg--modal--backup--import--upload--container.dragover .wpstg-dragover-text {\n display: block; }\n\n.wpstg--modal--backup--import--upload--container .wpstg-dragover-text {\n display: none; }\n\n#wpstg-invalid-license-message, #wpstg-invalid-license-message a {\n font-weight: 500;\n color: #E01E5A;\n margin-left: 6px; }\n\n#wpstg-sidebar--banner {\n max-width: 200px; }\n\n@media screen and (max-width: 1234px) {\n .wpstg-h2 {\n font-size: 24px; }\n #wpstg-welcome li {\n font-size: 14px; } }\n\n.wpstg-exclamation {\n color: #ffffff;\n border-radius: 100%;\n background-color: #E01E5A;\n width: 20px;\n height: 20px;\n text-align: center;\n font-weight: bold;\n display: inline-block;\n margin: 6px; }\n\n.wpstg--tab--contents {\n padding-top: 1px; }\n\n.wpstg-swal-show.wpstg--swal2-show {\n -webkit-animation: wpstg-swal-show 0.2s !important;\n animation: wpstg-swal-show 0.2s !important; }\n\n@-webkit-keyframes wpstg-swal-show {\n 0% {\n transform: scale(0.3); }\n 100% {\n transform: scale(1); } }\n\n@keyframes wpstg-swal-show {\n 0% {\n transform: scale(0.3); }\n 100% {\n transform: scale(1); } }\n\n.wpstg-tab-item--vert-center {\n display: flex;\n align-items: center; }\n\n.wpstg-db-comparison-modal {\n padding-left: 10px;\n padding-right: 10px; }\n\n.wpstg-db-comparison-table {\n font-size: 13px;\n width: 100%; }\n\n.wpstg-db-comparison-table tbody td {\n padding-top: 6px; }\n\n.wpstg-db-comparison-table tr > td:first-child,\n.wpstg-db-comparison-table tr > th:first-child {\n text-align: left; }\n\n.wpstg-css-tick {\n display: inline-block;\n transform: rotate(45deg);\n height: 12px;\n width: 6px;\n border-bottom: 3px solid #78b13f;\n border-right: 3px solid #78b13f; }\n\n.wpstg-css-cross {\n position: relative;\n top: -8px;\n left: -2px;\n width: 16px;\n height: 16px; }\n\n.wpstg-css-cross:before, .wpstg-css-cross:after {\n position: absolute;\n content: ' ';\n height: 17px;\n width: 3px;\n background-color: #E01E5A; }\n\n.wpstg-css-cross:before {\n transform: rotate(45deg); }\n\n.wpstg-css-cross:after {\n transform: rotate(-45deg); }\n\n.wpstg-selection-preview {\n font-size: 12px;\n margin-left: 20px;\n color: #3216; }\n\n.wpstg-selection-preview.danger {\n color: #E01E5A; }\n\n.wpstg--backup-automated {\n margin-bottom: -5px; }\n\n.wpstg--dismiss-schedule {\n cursor: pointer; }\n\n.wpstg-import-backup-contains.wpstg-listing-single-backup {\n vertical-align: middle; }\n\n.wpstg-import-backup-contains.wpstg-listing-single-backup li {\n padding: 2px; }\n\n.wpstg--modal--backup--manage--schedules--content table {\n margin: 0 auto;\n width: 100%; }\n\n.wpstg--modal--backup--manage--schedules--title {\n text-align: left;\n margin-bottom: 10px;\n margin-top: 0px; }\n\n.wpstg--modal--backup--import--upload--title {\n text-align: center; }\n\n#wpstg--modal--backup--manage--schedules--content {\n text-align: left; }\n\n#wpstg--modal--backup--manage--schedules--content thead {\n font-weight: bold; }\n\n#wpstg--modal--backup--manage--schedules--content .wpstg--tooltip.wpstg--dismiss-schedule {\n border-bottom: none; }\n\n.wpstg--tooltip.wpstg--dismiss-schedule img.wpstg--dashicons {\n filter: invert(18%) sepia(57%) saturate(6238%) hue-rotate(332deg) brightness(93%) contrast(88%); }\n\n#wpstg--modal--backup--manage--schedules--content td {\n padding-right: 25px;\n padding-top: 10px; }\n\n#wpstg--modal--backup--manage--schedules--content td:last-child {\n padding-right: 0px; }\n\n#wpstg--modal--backup--manage--schedules--content ul {\n margin-top: 0;\n margin-bottom: 0; }\n\n#wpstg--modal--backup--manage--schedules--content ul li:first-child .wpstg--tooltip {\n margin-left: 0; }\n\n.wpstg-button:disabled {\n background-color: #dddddd;\n text-shadow: none;\n color: #b3b3b3;\n border: 1px solid #cfcfcf;\n cursor: not-allowed; }\n\n#wpstg-backup-runs-info {\n margin: 0px;\n margin-top: 20px;\n padding: 0px;\n font-size: 12px; }\n\n#wpstg-backup-runs-info li {\n margin: 0px; }\n\ndiv#wpstg-backup-locked {\n width: 100%;\n max-width: calc(800px - 30px);\n padding: 15px;\n background: white;\n margin-bottom: 10px;\n display: flex;\n align-items: center; }\n\n#wpstg-backup-locked .icon {\n display: inline-block;\n height: 20px; }\n\n#wpstg-backup-locked .icon img {\n animation: wpstg-loading-icon-anim 2s infinite; }\n\n#wpstg-backup-locked .text {\n display: inline-block;\n margin-left: 15px; }\n\n#backup-schedule-current-time {\n font-size: 12px; }\n\n.wpstg-backup-scheduling-options label {\n margin-top: 17px; }\n\n.wpstg-backup-scheduling-options .wpstg-storage-option {\n display: block;\n margin: .5em 0;\n font-size: 15px; }\n\n.wpstg-storage-option > span:not(.wpstg-storage-settings) {\n width: 150px;\n display: inline-block; }\n\n.wpstg-storages-postbox {\n padding: 13px 16px;\n margin-top: 8px;\n margin-bottom: 8px;\n background-color: white; }\n\n.wpstg-storages-postbox a {\n padding: 8px;\n margin-right: 8px;\n text-decoration: none;\n font-weight: bold;\n color: #3c434a; }\n\n.wpstg-storages-postbox a:hover {\n color: #b70b72; }\n\n.wpstg-storage-postbox {\n padding: 4px 16px;\n background-color: white; }\n\n.wpstg-storages-postbox a.wpstg-storage-provider-active {\n background: #b70b72;\n color: white;\n font-weight: 700;\n cursor: default;\n border-radius: 3px; }\n\n.wpstg-storages-postbox a.wpstg-storage-provider-active:hover {\n background: #a10a64; }\n\n.wpstg-storages-postbox a.wpstg-storage-provider-disabled {\n color: #999;\n cursor: not-allowed; }\n\n.wpstg-provider-revoke-form {\n display: inline;\n margin-top: 12px;\n margin-bottom: 12px; }\n\n.wpstg-provider-settings-form {\n margin-top: 10px; }\n\n.wpstg-provider-settings-form strong {\n display: block;\n margin: 8px 0; }\n\n.wpstg-provider-settings-form p {\n margin: 0;\n margin-bottom: 8px; }\n\n.wpstg-provider-settings-form fieldset {\n margin: 0;\n padding: 0;\n margin-bottom: 16px; }\n\n.wpstg-provider-settings-form fieldset p {\n margin: 0;\n padding: 5px;\n font-size: 12px; }\n\n.wpstg-provider-settings-form fieldset label {\n display: block;\n margin-bottom: 2px; }\n\n.wpstg-provider-settings-form fieldset input {\n font-size: 12px; }\n\n.wpstg-provider-settings-form .wpstg-link-btn.wpstg-blue-primary {\n text-shadow: none; }\n\n.wpstg-btn-google {\n font-family: Roboto;\n display: inline-flex;\n align-items: center;\n border-width: 0;\n outline: none;\n border-radius: 3px;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);\n color: #555;\n transition: background-color .3s;\n padding: 8px;\n padding-right: 16px;\n height: 40px;\n line-height: 40px;\n font-size: 14px;\n box-sizing: border-box;\n text-decoration: none;\n font-weight: bold;\n margin-right: 10px; }\n\n.wpstg-btn-google img {\n width: 18px;\n height: 18px;\n margin-right: 12px;\n margin-left: 5px; }\n\n#wpstg-custom-google-credentials {\n margin-top: 20px; }\n\n.wpstg-fieldset .wpstg-with-icon {\n display: inline-flex;\n align-items: center; }\n\n.wpstg-fieldset .wpstg-with-icon .wpstg-fieldset-icon {\n margin-left: 8px; }\n\n.wpstg-fieldset .wpstg-with-icon .wpstg-fieldset-icon img {\n width: 16px;\n height: 16px; }\n\n#wpstg-btn-provider-revoke {\n border-radius: 2px; }\n\n.wpstg-metabox-holder {\n border-radius: 8px;\n background: #fff;\n padding: 20px;\n margin-left: 16px;\n min-height: 600px;\n margin-right: 32px;\n margin-top: 60px;\n -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0.13), 0 1px 3px rgba(0, 0, 0, 0.1);\n box-shadow: 0 0 1px rgba(0, 0, 0, 0.13), 0 1px 3px rgba(0, 0, 0, 0.1); }\n\n@media only screen and (max-width: 680px) {\n .wpstg-metabox-holder {\n padding: 0px;\n padding-top: 5px;\n margin-left: 0;\n margin-right: 5px; }\n #wpstg-tab-container .wpstg-settings-panel {\n padding: 0;\n overflow: auto; }\n .wpstg-form-table td:first-child {\n width: 50%; } }\n\n.wpstg-nav-tab {\n float: left;\n border: 1px solid #ffffff;\n border-bottom: none;\n margin-left: 0.5em;\n padding: 5px 10px;\n font-size: 14px;\n line-height: 1.71428571;\n font-weight: 600;\n background: #dcdcde;\n color: #3c434a;\n text-decoration: none;\n white-space: nowrap; }\n\n.wpstg-nav-tab-active, .wpstg-nav-tab-active:focus, .wpstg-nav-tab-active:focus:active, .wpstg-nav-tab-active:hover {\n border-bottom: 1px solid #f0f0f1;\n background: #f3f5f7;\n color: #b70b72;\n -webkit-box-shadow: -4px -13px 14px -12px rgba(0, 0, 0, 0.16);\n box-shadow: -4px -13px 14px -12px rgba(0, 0, 0, 0.16); }\n\n.wpstg-nav-tab-active {\n margin-bottom: -1px; }\n\n.wpstg-nav-tab-wrapper {\n /*\n border-bottom: 1px solid #c3c4c7;\n */\n margin: 0;\n padding-top: 9px;\n padding-bottom: 0;\n line-height: inherit; }\n\n.wpstg-nav-tab-wrapper li {\n margin-bottom: 0px; }\n\n#wpstg--js--translations {\n text-decoration: underline; }\n"]}
assets/js/dist/wpstg-admin.js CHANGED
@@ -495,7 +495,6 @@
495
 
496
  addEvent(this.directoryListingContainer, 'change', this.dirCheckboxSelector, function (element, event) {
497
  event.preventDefault();
498
- console.log(_this.getExcludedDirectories());
499
  });
500
  addEvent(this.directoryListingContainer, 'click', this.dirExpandSelector, function (element, event) {
501
  event.preventDefault();
@@ -555,6 +554,7 @@
555
  this.currentLoader.style.display = 'inline-block';
556
  }
557
 
 
558
  fetch(this.wpstgObject.ajaxUrl, {
559
  method: 'POST',
560
  credentials: 'same-origin',
@@ -564,7 +564,7 @@
564
  nonce: this.wpstgObject.nonce,
565
  dirPath: this.currentCheckboxElement.value,
566
  isChecked: this.currentCheckboxElement.checked,
567
- forceDefault: this.isDefaultSelected
568
  }),
569
  headers: {
570
  'Content-Type': 'application/x-www-form-urlencoded'
@@ -658,6 +658,7 @@
658
  this.directoryListingContainer.querySelectorAll('.wpstg-dir input').forEach(function (element) {
659
  element.checked = false;
660
  });
 
661
  };
662
 
663
  _proto.selectDefault = function selectDefault() {
@@ -674,6 +675,7 @@
674
  });
675
  });
676
  this.isDefaultSelected = true;
 
677
  };
678
 
679
  _proto.parseExcludes = function parseExcludes() {
@@ -731,6 +733,7 @@
731
 
732
  _proto.updateDirectorySelection = function updateDirectorySelection(element) {
733
  var parent = element.parentElement;
 
734
 
735
  if (element.checked) {
736
  getParents(parent, '.wpstg-dir').forEach(function (parElem) {
@@ -754,6 +757,22 @@
754
  x.checked = false;
755
  });
756
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
757
  };
758
 
759
  return WpstgDirectoryNavigation;
@@ -764,7 +783,7 @@
764
  */
765
 
766
  var WpstgTableSelection = /*#__PURE__*/function () {
767
- function WpstgTableSelection(databaseTableSectionSelector, workflowSelector, networkCloneSelector, wpstgObject) {
768
  if (databaseTableSectionSelector === void 0) {
769
  databaseTableSectionSelector = '#wpstg-scanning-db';
770
  }
@@ -777,6 +796,10 @@
777
  networkCloneSelector = '#wpstg_network_clone';
778
  }
779
 
 
 
 
 
780
  if (wpstgObject === void 0) {
781
  wpstgObject = wpstg;
782
  }
@@ -789,6 +812,8 @@
789
  this.isAllTablesChecked = true;
790
  this.isMultisite = this.wpstgObject.isMultisite === '1';
791
  this.isNetworkClone = false;
 
 
792
  this.init();
793
  }
794
 
@@ -809,6 +834,9 @@
809
  addEvent(this.workflow, 'change', this.networkCloneSelector, function () {
810
  _this.selectDefaultTables();
811
  });
 
 
 
812
  addEvent(this.workflow, 'click', '.wpstg-button-select', function (target, event) {
813
  event.preventDefault();
814
 
@@ -857,6 +885,7 @@
857
  option.selected = false;
858
  }
859
  });
 
860
  };
861
 
862
  _proto.toggleTableSelection = function toggleTableSelection() {
@@ -875,6 +904,8 @@
875
 
876
  this.isAllTablesChecked = false;
877
  }
 
 
878
  };
879
 
880
  _proto.getSelectedTablesWithoutPrefix = function getSelectedTablesWithoutPrefix() {
@@ -919,6 +950,19 @@
919
  return excludedTables.join(this.wpstgObject.settings.directorySeparator);
920
  };
921
 
 
 
 
 
 
 
 
 
 
 
 
 
 
922
  return WpstgTableSelection;
923
  }();
924
 
@@ -1892,10 +1936,15 @@
1892
  modal.querySelector('.wpstg--swal2-popup').style.width = '500px';
1893
  modal.querySelector('.wpstg--swal2-content').innerHTML = data.html;
1894
  _this2.directoryNavigator = new WpstgDirectoryNavigation();
 
 
 
1895
  _this2.excludeFilters = new WpstgExcludeFilters();
1896
  _this2.tableSelector = new WpstgTableSelection('#wpstg-reset-excluded-tables', '.' + _this2.resetModalContainerClass);
1897
 
1898
  _this2.tableSelector.setNetworkClone(_this2.isNetworkClone);
 
 
1899
  })["catch"](function (error) {
1900
  _this2.renderError({
1901
  'html': _this2.wpstgObject.i18n['somethingWentWrong'] + ' ' + error
@@ -2457,7 +2506,9 @@
2457
 
2458
  checkDiskSpace();
2459
  that.directoryNavigator = new WpstgDirectoryNavigation('#wpstg-directories-listing', '#wpstg-workflow', wpstg, that.notyf);
2460
- that.tableSelector = new WpstgTableSelection('#wpstg-scanning-db', '#wpstg-workflow', '#wpstg_network_clone', wpstg, that.notyf);
 
 
2461
  that.cloneExcludeFilters = new WpstgExcludeFilters();
2462
  that.switchStep(2);
2463
  }, 'HTML');
@@ -2855,7 +2906,7 @@
2855
  if (that.data.action === 'wpstg_scanning') {
2856
  that.areAllTablesChecked = true;
2857
  that.directoryNavigator = new WpstgDirectoryNavigation('#wpstg-directories-listing', '#wpstg-workflow', wpstg, that.notyf);
2858
- that.tableSelector = new WpstgTableSelection('#wpstg-scanning-db', '#wpstg-workflow', '#wpstg_network_clone', wpstg, that.notyf);
2859
  that.switchStep(2);
2860
  that.cloneExcludeFilters = new WpstgExcludeFilters();
2861
  } else if (that.data.action === 'wpstg_cloning' || that.data.action === 'wpstg_update' || that.data.action === 'wpstg_reset') {
495
 
496
  addEvent(this.directoryListingContainer, 'change', this.dirCheckboxSelector, function (element, event) {
497
  event.preventDefault();
 
498
  });
499
  addEvent(this.directoryListingContainer, 'click', this.dirExpandSelector, function (element, event) {
500
  event.preventDefault();
554
  this.currentLoader.style.display = 'inline-block';
555
  }
556
 
557
+ var changed = this.currentCheckboxElement.getAttribute('data-changed');
558
  fetch(this.wpstgObject.ajaxUrl, {
559
  method: 'POST',
560
  credentials: 'same-origin',
564
  nonce: this.wpstgObject.nonce,
565
  dirPath: this.currentCheckboxElement.value,
566
  isChecked: this.currentCheckboxElement.checked,
567
+ forceDefault: changed === 'true'
568
  }),
569
  headers: {
570
  'Content-Type': 'application/x-www-form-urlencoded'
658
  this.directoryListingContainer.querySelectorAll('.wpstg-dir input').forEach(function (element) {
659
  element.checked = false;
660
  });
661
+ this.countSelectedFiles();
662
  };
663
 
664
  _proto.selectDefault = function selectDefault() {
675
  });
676
  });
677
  this.isDefaultSelected = true;
678
+ this.countSelectedFiles();
679
  };
680
 
681
  _proto.parseExcludes = function parseExcludes() {
733
 
734
  _proto.updateDirectorySelection = function updateDirectorySelection(element) {
735
  var parent = element.parentElement;
736
+ element.setAttribute('data-changed', 'true');
737
 
738
  if (element.checked) {
739
  getParents(parent, '.wpstg-dir').forEach(function (parElem) {
757
  x.checked = false;
758
  });
759
  }
760
+
761
+ this.countSelectedFiles();
762
+ };
763
+
764
+ _proto.countSelectedFiles = function countSelectedFiles() {
765
+ var themesCount = this.directoryListingContainer.querySelectorAll('[data-content-type="theme"]:checked').length;
766
+ var pluginsCount = this.directoryListingContainer.querySelectorAll('[data-content-type="plugin"]:checked').length;
767
+ var filesCountElement = qs('#wpstg-files-count');
768
+
769
+ if (themesCount === 0 && pluginsCount === 0) {
770
+ filesCountElement.classList.add('danger');
771
+ filesCountElement.innerHTML = this.wpstgObject.i18n['noFileSelected'];
772
+ } else {
773
+ filesCountElement.classList.remove('danger');
774
+ filesCountElement.innerHTML = this.wpstgObject.i18n['filesSelected'].replace('{t}', themesCount).replace('{p}', pluginsCount);
775
+ }
776
  };
777
 
778
  return WpstgDirectoryNavigation;
783
  */
784
 
785
  var WpstgTableSelection = /*#__PURE__*/function () {
786
+ function WpstgTableSelection(databaseTableSectionSelector, workflowSelector, networkCloneSelector, inputSelector, wpstgObject) {
787
  if (databaseTableSectionSelector === void 0) {
788
  databaseTableSectionSelector = '#wpstg-scanning-db';
789
  }
796
  networkCloneSelector = '#wpstg_network_clone';
797
  }
798
 
799
+ if (inputSelector === void 0) {
800
+ inputSelector = '#wpstg_select_tables_cloning';
801
+ }
802
+
803
  if (wpstgObject === void 0) {
804
  wpstgObject = wpstg;
805
  }
812
  this.isAllTablesChecked = true;
813
  this.isMultisite = this.wpstgObject.isMultisite === '1';
814
  this.isNetworkClone = false;
815
+ this.inputSelector = inputSelector;
816
+ this.input = qs(this.inputSelector);
817
  this.init();
818
  }
819
 
834
  addEvent(this.workflow, 'change', this.networkCloneSelector, function () {
835
  _this.selectDefaultTables();
836
  });
837
+ addEvent(this.workflow, 'change', this.inputSelector, function () {
838
+ _this.countSelectedTables();
839
+ });
840
  addEvent(this.workflow, 'click', '.wpstg-button-select', function (target, event) {
841
  event.preventDefault();
842
 
885
  option.selected = false;
886
  }
887
  });
888
+ this.countSelectedTables();
889
  };
890
 
891
  _proto.toggleTableSelection = function toggleTableSelection() {
904
 
905
  this.isAllTablesChecked = false;
906
  }
907
+
908
+ this.countSelectedTables();
909
  };
910
 
911
  _proto.getSelectedTablesWithoutPrefix = function getSelectedTablesWithoutPrefix() {
950
  return excludedTables.join(this.wpstgObject.settings.directorySeparator);
951
  };
952
 
953
+ _proto.countSelectedTables = function countSelectedTables() {
954
+ var tablesCount = this.input.querySelectorAll('option:checked').length;
955
+ var tablesCountElement = qs('#wpstg-tables-count');
956
+
957
+ if (tablesCount === 0) {
958
+ tablesCountElement.classList.add('danger');
959
+ tablesCountElement.innerHTML = this.wpstgObject.i18n['noTableSelected'];
960
+ } else {
961
+ tablesCountElement.classList.remove('danger');
962
+ tablesCountElement.innerHTML = this.wpstgObject.i18n['tablesSelected'].replace('{d}', tablesCount);
963
+ }
964
+ };
965
+
966
  return WpstgTableSelection;
967
  }();
968
 
1936
  modal.querySelector('.wpstg--swal2-popup').style.width = '500px';
1937
  modal.querySelector('.wpstg--swal2-content').innerHTML = data.html;
1938
  _this2.directoryNavigator = new WpstgDirectoryNavigation();
1939
+
1940
+ _this2.directoryNavigator.countSelectedFiles();
1941
+
1942
  _this2.excludeFilters = new WpstgExcludeFilters();
1943
  _this2.tableSelector = new WpstgTableSelection('#wpstg-reset-excluded-tables', '.' + _this2.resetModalContainerClass);
1944
 
1945
  _this2.tableSelector.setNetworkClone(_this2.isNetworkClone);
1946
+
1947
+ _this2.tableSelector.countSelectedTables();
1948
  })["catch"](function (error) {
1949
  _this2.renderError({
1950
  'html': _this2.wpstgObject.i18n['somethingWentWrong'] + ' ' + error
2506
 
2507
  checkDiskSpace();
2508
  that.directoryNavigator = new WpstgDirectoryNavigation('#wpstg-directories-listing', '#wpstg-workflow', wpstg, that.notyf);
2509
+ that.directoryNavigator.countSelectedFiles();
2510
+ that.tableSelector = new WpstgTableSelection('#wpstg-scanning-db', '#wpstg-workflow', '#wpstg_network_clone', '#wpstg_select_tables_cloning', wpstg, that.notyf);
2511
+ that.tableSelector.countSelectedTables();
2512
  that.cloneExcludeFilters = new WpstgExcludeFilters();
2513
  that.switchStep(2);
2514
  }, 'HTML');
2906
  if (that.data.action === 'wpstg_scanning') {
2907
  that.areAllTablesChecked = true;
2908
  that.directoryNavigator = new WpstgDirectoryNavigation('#wpstg-directories-listing', '#wpstg-workflow', wpstg, that.notyf);
2909
+ that.tableSelector = new WpstgTableSelection('#wpstg-scanning-db', '#wpstg-workflow', '#wpstg_network_clone', '#wpstg_select_tables_cloning', wpstg);
2910
  that.switchStep(2);
2911
  that.cloneExcludeFilters = new WpstgExcludeFilters();
2912
  } else if (that.data.action === 'wpstg_cloning' || that.data.action === 'wpstg_update' || that.data.action === 'wpstg_reset') {
assets/js/dist/wpstg-admin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"wpstg-admin.js","sources":["../src/modules/wpstg-polyfill.js","../src/modules/wpstg-dom-utils.js","../src/modules/wpstg-clone-staging.js","../src/modules/wpstg-directory-navigation.js","../src/modules/wpstg-table-selection.js","../src/modules/wpstg-exclude-filters.js","../src/modules/wpstg-modal.js","../src/modules/wpstg-hover-intent.js","../src/wpstg.js","../src/modules/wpstg-reset-modal.js","../src/modules/wpstg-cloning-advance-settings.js","../src/modules/wpstg-main-menu.js","../src/wpstg-admin.js"],"sourcesContent":["/**\n * Polyfills the `Element.prototype.closest` function if not available in the browser.\n *\n * @return {Function} A function that will return the closest element, by selector, to this element.\n */\nfunction polyfillClosest() {\n if (Element.prototype.closest) {\n if (!Element.prototype.matches) {\n Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\n }\n\n Element.prototype.closest = function(s) {\n let el = this;\n\n do {\n if (Element.prototype.matches.call(el, s)) return el;\n el = el.parentElement || el.parentNode;\n } while (el !== null && el.nodeType === 1);\n return null;\n };\n }\n\n return function(element, selector) {\n return element instanceof Element ? element.closest(selector) : null;\n };\n}\n\nexport const closest = polyfillClosest();\n","import {closest} from './wpstg-polyfill';\n\n/**\n * WP STAGING basic jQuery replacement\n */\n\n/**\n * Shortcut for document.querySelector() or jQuery's $()\n * Return single element only\n */\nexport function qs(selector) {\n return document.querySelector(selector);\n}\n\n/**\n * Shortcut for document.querySelector() or jQuery's $()\n * Return collection of elements\n */\nexport function all(selector) {\n return document.querySelectorAll(selector);\n}\n\n/**\n * alternative of jQuery - $(parent).on(event, selector, handler)\n */\nexport function addEvent(parent, evt, selector, handler) {\n if (!parent instanceof Element) {\n return;\n }\n\n parent.addEventListener(evt, function(event) {\n if (event.target.matches(selector + ', ' + selector + ' *')) {\n handler(event.target.closest(selector), event);\n }\n }, false);\n}\n\nexport function slideDown(element, duration = 400) {\n element.style.display = 'block';\n element.style.overflow = 'hidden';\n const height = element.offsetHeight;\n element.style.height = '0px';\n element.style.transitionProperty = 'height';\n element.style.transitionDuration = duration + 'ms';\n setTimeout(() => {\n element.style.height = height + 'px';\n window.setTimeout(() => {\n element.style.removeProperty('height');\n element.style.removeProperty('overflow');\n element.style.removeProperty('transition-duration');\n element.style.removeProperty('transition-property');\n }, duration);\n }, 0);\n}\n\nexport function slideUp(element, duration = 400) {\n element.style.display = 'block';\n element.style.overflow = 'hidden';\n const height = element.offsetHeight;\n element.style.height = height + 'px';\n element.style.transitionProperty = 'height';\n element.style.transitionDuration = duration + 'ms';\n setTimeout(() => {\n element.style.height = '0px';\n window.setTimeout(() => {\n element.style.display = 'none';\n element.style.removeProperty('height');\n element.style.removeProperty('overflow');\n element.style.removeProperty('transition-duration');\n element.style.removeProperty('transition-property');\n }, duration);\n }, 0);\n}\n\nexport function fadeOut(element, duration = 300) {\n element.style.opacity = 1;\n element.style.transitionProperty = 'opacity';\n element.style.transitionDuration = duration + 'ms';\n setTimeout(() => {\n element.style.opacity = 0;\n window.setTimeout(() => {\n element.style.display = 'none';\n element.style.removeProperty('opacity');\n element.style.removeProperty('transition-duration');\n element.style.removeProperty('transition-property');\n }, duration);\n }, 0);\n}\n\nexport function getNextSibling(element, selector) {\n let sibling = element.nextElementSibling;\n\n while (sibling) {\n if (sibling.matches(selector)) {\n return sibling;\n }\n\n sibling = sibling.nextElementSibling;\n }\n};\n\nexport function getParents(element, selector) {\n const result = [];\n for (let parent = element && element.parentElement; parent; parent = parent.parentElement) {\n if (parent.matches(selector)) {\n result.push(parent);\n }\n }\n\n return result;\n}\n\n/**\n * Check if element has class name\n * @param element\n * @param className\n * @return {boolean}\n */\nexport function hasClass(element, className) {\n return (' ' + element.className + ' ').indexOf(' ' + className+ ' ') > -1;\n}\n\n/**\n * Dispatches a change on an element that will trigger, depending on the element type,\n * cascading changes on elements dependant on the one that triggered the change and that\n * belong in the same container.\n *\n * @param {Element} element A reference to the Element the change was triggered from.\n *\n * @return {void} The function does not return any value and will have the side-effect of\n * hiding or showing dependant elements.\n */\nexport function handleDisplayDependencies(element) {\n if (!element instanceof Element || !element.id) {\n return;\n }\n\n const containerSelector = '.wpstg-container';\n // Use the default WordPress CSS class to hide and show the objects.\n const hiddenClass = 'hidden';\n const elementType = element.getAttribute('type');\n\n switch (elementType) {\n case 'checkbox':\n // Go as high as the container that contains this element.\n const container = closest(element, containerSelector);\n\n if (container === null) {\n return;\n }\n\n const showIfChecked = container.querySelectorAll(`[data-show-if-checked=\"${element.id}\"]`);\n const showIfUnchecked = container.querySelectorAll(`[data-show-if-unchecked=\"${element.id}\"]`);\n const checked = element.checked;\n\n if (showIfChecked.length) {\n for (const el of showIfChecked) {\n if (checked) {\n el.classList.remove(hiddenClass);\n } else {\n el.classList.add(hiddenClass);\n }\n }\n }\n\n if (showIfUnchecked.length) {\n for (const el of showIfUnchecked) {\n if (checked) {\n el.classList.add(hiddenClass);\n } else {\n el.classList.remove(hiddenClass);\n }\n }\n }\n\n return;\n default:\n // Not a type we handle.\n return;\n }\n}\n\n/**\n * Initializes the display status of any element that depends on the status of another to\n * either hide or show.\n *\n * @return {void} The function will have the side-effect to toggle the hide/show class from\n * elements dependant on another to hide or show.\n */\nexport function initDependantDisplay() {\n const displayControllerSelector = '[onchange^=\"WPStaging.handleDisplayDependencies\"]';\n const displayControllers = document.querySelectorAll(displayControllerSelector);\n for (const displayController of displayControllers) {\n handleDisplayDependencies(displayController);\n }\n}\n\n/**\n * Toggle target element set in data-wpstg-target of the given element\n *\n * @param {Element} element A reference to the Element the change was triggered from.\n *\n * @return {void} The function does not return any value and will have the side-effect of\n * hiding or showing dependant elements.\n */\nexport function handleToggleElement(element) {\n if (!element instanceof Element || !element.getAttribute('data-wpstg-target')) {\n return;\n }\n\n const containerSelector = '.wpstg_admin';\n // Use the default WordPress CSS class to hide and show the objects.\n const hiddenClass = 'hidden';\n\n // Go as high as the container that contains this element.\n const container = closest(element, containerSelector);\n\n if (container === null) {\n return;\n }\n\n const elements = container.querySelectorAll(element.getAttribute('data-wpstg-target'));\n\n if (elements.length) {\n for (const el of elements) {\n el.classList.toggle(hiddenClass);\n }\n }\n}\n\n/**\n * Copy text in data-wpstg-copy to element(s) in data-wpstg-target\n *\n * @param {Element} element\n *\n * @return {void}\n */\nexport function handleCopyPaste(element) {\n if (!element instanceof Element || !element.getAttribute('data-wpstg-target') || !element.getAttribute('data-wpstg-copy')) {\n return;\n }\n\n const containerSelector = '.wpstg_admin';\n\n // Go as high as the container that contains this element.\n const container = closest(element, containerSelector);\n\n if (container === null) {\n return;\n }\n\n navigator.clipboard.writeText(element.getAttribute('data-wpstg-copy'));\n const elements = container.querySelectorAll(element.getAttribute('data-wpstg-target'));\n\n if (elements.length) {\n for (const el of elements) {\n el.value = element.getAttribute('data-wpstg-copy', '');\n }\n }\n}\n\n/**\n * Copy text in data-wpstg-source to clipboard\n *\n * @param {Element} element\n *\n * @return {void}\n */\nexport function handleCopyToClipboard(element) {\n if (!element instanceof Element || !element.getAttribute('data-wpstg-source')) {\n return;\n }\n\n const containerSelector = '.wpstg_admin';\n\n // Go as high as the container that contains this element.\n const container = closest(element, containerSelector);\n\n if (container === null) {\n return;\n }\n\n const el = container.querySelector(element.getAttribute('data-wpstg-source'));\n\n if (el) {\n navigator.clipboard.writeText(el.value);\n }\n}\n\n","import * as dom from './wpstg-dom-utils.js';\n\n/**\n * Enable/Disable cloning for staging site\n */\nexport default class WpstgCloneStaging {\n constructor(\n pageWrapperId = '#wpstg-clonepage-wrapper',\n wpstgObject = wpstg,\n ) {\n this.pageWrapper = dom.qs(pageWrapperId);\n this.wpstgObject = wpstgObject;\n this.enableButtonId = '#wpstg-enable-staging-cloning';\n this.enableAction = 'wpstg_enable_staging_cloning';\n\n this.notyf = new Notyf({\n duration: 10000,\n position: {\n x: 'center',\n y: 'bottom',\n },\n dismissible: true,\n types: [\n {\n type: 'warning',\n background: 'orange',\n icon: false,\n },\n ],\n });\n this.init();\n }\n\n addEvents() {\n if (this.pageWrapper === null) {\n return;\n }\n\n dom.addEvent(this.pageWrapper, 'click', this.enableButtonId, () => {\n this.sendRequest(this.enableAction);\n });\n }\n\n init() {\n this.addEvents();\n }\n\n sendRequest(action) {\n fetch(this.wpstgObject.ajaxUrl, {\n method: 'POST',\n credentials: 'same-origin',\n body: new URLSearchParams({\n action: action,\n accessToken: this.wpstgObject.accessToken,\n nonce: this.wpstgObject.nonce,\n }),\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n }).then((response) => {\n if (response.ok) {\n return response.json();\n }\n\n return Promise.reject(response);\n }).then((data) => {\n // Reload current page if successful.\n if ('undefined' !== typeof (data.success) && data.success) {\n location.reload();\n return;\n }\n\n // There will be message probably in case of error\n if ('undefined' !== typeof (data.message)) {\n this.notyf.error(data.message);\n return;\n }\n\n this.notyf.error(this.wpstgObject.i18n['somethingWentWrong']);\n }).catch((error) => {\n console.warn(this.wpstgObject.i18n['somethingWentWrong'], error);\n });\n }\n}\n","import * as dom from './wpstg-dom-utils.js';\n\n/**\n * Fetch directory direct child directories\n */\nexport default class WpstgDirectoryNavigation {\n constructor(\n directoryListingSelector = '#wpstg-directories-listing',\n workflowSelector = '#wpstg-workflow',\n wpstgObject = wpstg,\n notyf = null,\n ) {\n this.directoryListingContainer = dom.qs(directoryListingSelector);\n this.workflow = dom.qs(workflowSelector);\n this.wpstgObject = wpstgObject;\n this.dirCheckboxSelector = '.wpstg-check-dir';\n this.dirExpandSelector = '.wpstg-expand-dirs';\n this.unselectAllDirsSelector = '.wpstg-unselect-dirs';\n this.selectDefaultDirsSelector = '.wpstg-select-dirs-default';\n this.fetchChildrenAction = 'wpstg_fetch_dir_childrens';\n this.currentCheckboxElement = null;\n this.currentParentDiv = null;\n this.currentLoader = null;\n this.existingExcludes = [];\n this.excludedDirectories = [];\n this.isDefaultSelected = false;\n this.notyf = notyf;\n\n this.init();\n }\n\n addEvents() {\n if (this.directoryListingContainer === null) {\n console.log('Error: directory navigation add events');\n return;\n }\n\n dom.addEvent(this.directoryListingContainer, 'change', this.dirCheckboxSelector, (element, event) => {\n event.preventDefault();\n console.log(this.getExcludedDirectories());\n });\n\n dom.addEvent(this.directoryListingContainer, 'click', this.dirExpandSelector, (element, event) => {\n event.preventDefault();\n if (this.toggleDirExpand(element)) {\n this.sendRequest(this.fetchChildrenAction, element);\n }\n });\n\n dom.addEvent(this.directoryListingContainer, 'click', this.unselectAllDirsSelector, () => {\n this.unselectAll();\n });\n\n dom.addEvent(this.directoryListingContainer, 'click', this.selectDefaultDirsSelector, () => {\n this.selectDefault();\n });\n\n dom.addEvent(this.directoryListingContainer, 'click', '.wpstg-expand-dirs', (target, event) => {\n event.preventDefault();\n this.toggleDirectoryNavigation(target);\n });\n\n dom.addEvent(this.directoryListingContainer, 'change', 'input.wpstg-check-dir', (target) => {\n this.updateDirectorySelection(target);\n });\n }\n\n init() {\n this.addEvents();\n this.parseExcludes();\n }\n\n /**\n * Toggle Dir Expand,\n * Return true if children aren't fetched\n * @param {HTMLElement} element\n * @return {boolean}\n */\n toggleDirExpand(element) {\n this.currentParentDiv = element.parentElement;\n this.currentCheckboxElement = element.previousSibling;\n this.currentLoader = this.currentParentDiv.querySelector('.wpstg-is-dir-loading');\n if (this.currentCheckboxElement.getAttribute('data-navigateable', 'false') === 'false') {\n return false;\n }\n\n if (this.currentCheckboxElement.getAttribute('data-scanned', 'false') === 'false') {\n return true;\n }\n\n return false;\n }\n\n sendRequest(action) {\n if (this.currentLoader !== null) {\n this.currentLoader.style.display = 'inline-block';\n }\n\n fetch(this.wpstgObject.ajaxUrl, {\n method: 'POST',\n credentials: 'same-origin',\n body: new URLSearchParams({\n action: action,\n accessToken: this.wpstgObject.accessToken,\n nonce: this.wpstgObject.nonce,\n dirPath: this.currentCheckboxElement.value,\n isChecked: this.currentCheckboxElement.checked,\n forceDefault: this.isDefaultSelected,\n }),\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n }).then((response) => {\n if (response.ok) {\n return response.json();\n }\n\n return Promise.reject(response);\n }).then((data) => {\n if ('undefined' !== typeof (data.success) && data.success) {\n this.currentCheckboxElement.setAttribute('data-scanned', true);\n const dirContainer = document.createElement('div');\n dirContainer.classList.add('wpstg-dir');\n dirContainer.classList.add('wpstg-subdir');\n dirContainer.innerHTML = JSON.parse(data.directoryListing);\n this.currentParentDiv.appendChild(dirContainer);\n if (this.currentLoader !== null) {\n this.currentLoader.style.display = 'none';\n }\n\n dom.slideDown(dirContainer);\n\n return;\n }\n\n if (this.notyf !== null) {\n this.notyf.error(this.wpstgObject.i18n['somethingWentWrong']);\n } else {\n alert('Error: ' + this.wpstgObject.i18n['somethingWentWrong']);\n }\n }).catch((error) => {\n console.warn(this.wpstgObject.i18n['somethingWentWrong'], error);\n });\n }\n\n getExcludedDirectories() {\n this.excludedDirectories = [];\n this.directoryListingContainer.querySelectorAll('.wpstg-dir input:not(:checked)').forEach((element) => {\n if (!this.isParentExcluded(element.value)) {\n this.excludedDirectories.push(element.value);\n }\n });\n\n this.existingExcludes.forEach((exclude) => {\n if (!this.isParentExcluded(exclude) && !this.isScanned(exclude)) {\n this.excludedDirectories.push(exclude);\n }\n });\n\n return this.excludedDirectories.join(this.wpstgObject.settings.directorySeparator);\n }\n\n /**\n * @param {string} path\n * @return {bool}\n */\n isParentExcluded(path) {\n let isParentAlreadyExcluded = false;\n this.excludedDirectories.forEach((dir) => {\n if (path.startsWith(dir + '/')) {\n isParentAlreadyExcluded = true;\n }\n });\n\n return isParentAlreadyExcluded;\n }\n\n getExtraDirectoriesRootOnly() {\n this.getExcludedDirectories();\n const extraDirectories = [];\n this.directoryListingContainer.querySelectorAll(':not(.wpstg-subdir)>.wpstg-dir>input.wpstg-wp-non-core-dir:checked').forEach((element) => {\n extraDirectories.push(element.value);\n });\n\n // Check if extra directories text area exists\n // TODO: remove extraCustomDirectories code if no one require extraCustomDirectories...\n const extraDirectoriesTextArea = dom.qs('#wpstg_extraDirectories');\n if (extraDirectoriesTextArea === null || extraDirectoriesTextArea.value === '') {\n return extraDirectories.join(this.wpstgObject.settings.directorySeparator);\n }\n\n const extraCustomDirectories = extraDirectoriesTextArea.value.split(/\\r?\\n/);\n\n return extraDirectories.concat(extraCustomDirectories).join(this.wpstgObject.settings.directorySeparator);\n }\n\n unselectAll() {\n this.directoryListingContainer.querySelectorAll('.wpstg-dir input').forEach((element) => {\n element.checked = false;\n });\n }\n\n selectDefault() {\n // unselect all checkboxes\n this.unselectAll();\n\n // only select those checkboxes whose class is wpstg-wp-core-dir\n this.directoryListingContainer.querySelectorAll('.wpstg-dir input.wpstg-wp-core-dir').forEach((element) => {\n element.checked = true;\n });\n\n // then unselect those checkboxes whose parent has wpstg extra checkbox\n this.directoryListingContainer.querySelectorAll('.wpstg-dir > .wpstg-wp-non-core-dir').forEach((element) => {\n element.parentElement.querySelectorAll('input.wpstg-wp-core-dir').forEach((element) => {\n element.checked = false;\n });\n });\n\n this.isDefaultSelected = true;\n }\n\n parseExcludes() {\n this.existingExcludes = this.directoryListingContainer.getAttribute('data-existing-excludes', []);\n if (this.existingExcludes === '') {\n this.existingExcludes = [];\n return;\n }\n\n if (this.existingExcludes.length === 0) {\n this.existingExcludes = [];\n return;\n }\n\n const existingExcludes = this.existingExcludes.split(',');\n this.existingExcludes = existingExcludes.map((exclude) => {\n if (exclude.substr(0, 1) === '/') {\n return exclude.slice(1);\n }\n\n return exclude;\n });\n }\n\n isScanned(exclude) {\n let scanned = false;\n this.directoryListingContainer.querySelectorAll('.wpstg-dir>input').forEach((element) => {\n if (element.value == exclude) {\n scanned = true;\n }\n });\n\n return scanned;\n }\n\n toggleDirectoryNavigation(element) {\n const cbElement = element.previousSibling;\n if (cbElement.getAttribute('data-navigateable', 'false') === 'false') {\n return;\n }\n\n if (cbElement.getAttribute('data-scanned', 'false') === 'false') {\n return;\n }\n\n const subDirectories = dom.getNextSibling(element, '.wpstg-subdir');\n\n if (subDirectories.style.display === 'none') {\n dom.slideDown(subDirectories);\n } else {\n dom.slideUp(subDirectories);\n }\n }\n\n updateDirectorySelection(element) {\n const parent = element.parentElement;\n if (element.checked) {\n dom.getParents(parent, '.wpstg-dir').forEach((parElem) => {\n for (let i = 0; i < parElem.children.length; i++) {\n if (parElem.children[i].matches('.wpstg-check-dir')) {\n parElem.children[i].checked = true;\n }\n }\n });\n parent.querySelectorAll('.wpstg-expand-dirs').forEach((x) => {\n x.classList.remove('disabled');\n });\n parent.querySelectorAll('.wpstg-subdir .wpstg-check-dir').forEach((x) => {\n x.checked = true;\n });\n } else {\n parent.querySelectorAll('.wpstg-expand-dirs, .wpstg-check-subdirs').forEach((x) => {\n x.classList.add('disabled');\n });\n parent.querySelectorAll('.wpstg-dir .wpstg-check-dir').forEach((x) => {\n x.checked = false;\n });\n }\n }\n}\n","import * as dom from './wpstg-dom-utils.js';\n\n/**\n * Database tables selection\n */\nexport default class WpstgTableSelection {\n constructor(\n databaseTableSectionSelector = '#wpstg-scanning-db',\n workflowSelector = '#wpstg-workflow',\n networkCloneSelector = '#wpstg_network_clone',\n wpstgObject = wpstg,\n ) {\n this.databaseTableSection = dom.qs(databaseTableSectionSelector);\n this.workflow = dom.qs(workflowSelector);\n this.networkCloneSelector = networkCloneSelector;\n this.networkCloneCheckbox = dom.qs(networkCloneSelector);\n this.wpstgObject = wpstgObject;\n this.isAllTablesChecked = true;\n this.isMultisite = this.wpstgObject.isMultisite === '1';\n this.isNetworkClone = false;\n\n this.init();\n }\n\n setNetworkClone(isNetworkClone) {\n this.isNetworkClone = isNetworkClone;\n }\n\n addEvents() {\n if (this.workflow === null) {\n console.log('Error: database table section is null. Cannot register events');\n return;\n }\n\n dom.addEvent(this.workflow, 'change', this.networkCloneSelector, () => {\n this.selectDefaultTables();\n });\n\n dom.addEvent(this.workflow, 'click', '.wpstg-button-select', (target, event) => {\n event.preventDefault();\n this.selectDefaultTables();\n });\n\n dom.addEvent(this.workflow, 'click', '.wpstg-button-unselect', (target, event) => {\n event.preventDefault();\n this.toggleTableSelection();\n });\n }\n\n init() {\n this.addEvents();\n }\n\n getRegexPattern() {\n let pattern = '^' + this.wpstgObject.tblprefix;\n let isNetwork = false;\n if (this.networkCloneCheckbox !== undefined && this.networkCloneCheckbox !== null) {\n isNetwork = this.networkCloneCheckbox.checked;\n }\n\n // Force network clone true if set explicitly\n if (this.isNetworkClone) {\n isNetwork = true;\n }\n\n if (this.isMultisite && !isNetwork) {\n pattern += '([^0-9])_*';\n }\n\n return pattern;\n }\n\n selectDefaultTables() {\n const options = this.databaseTableSection.querySelectorAll('#wpstg_select_tables_cloning .wpstg-db-table');\n const regexPattern = this.getRegexPattern();\n options.forEach((option) => {\n const name = option.getAttribute('name', '');\n if (name.match(regexPattern)) {\n option.selected = true;\n } else {\n option.selected = false;\n }\n });\n }\n\n toggleTableSelection() {\n if (false === this.isAllTablesChecked) {\n this.databaseTableSection.querySelectorAll('#wpstg_select_tables_cloning .wpstg-db-table').forEach((option) => {\n option.selected = true;\n });\n this.databaseTableSection.querySelector('.wpstg-button-unselect').innerHTML = 'Unselect All';\n // cache.get('.wpstg-db-table-checkboxes').prop('checked', true);\n this.isAllTablesChecked = true;\n } else {\n this.databaseTableSection.querySelectorAll('#wpstg_select_tables_cloning .wpstg-db-table').forEach((option) => {\n option.selected = false;\n });\n this.databaseTableSection.querySelector('.wpstg-button-unselect').innerHTML = 'Select All';\n // cache.get('.wpstg-db-table-checkboxes').prop('checked', false);\n this.isAllTablesChecked = false;\n }\n }\n\n getSelectedTablesWithoutPrefix() {\n const selectedTablesWithoutPrefix = [];\n const options = this.databaseTableSection.querySelectorAll('#wpstg_select_tables_cloning option:checked');\n const regexPattern = this.getRegexPattern();\n options.forEach((option) => {\n const name = option.getAttribute('name', '');\n if (!name.match(regexPattern)) {\n selectedTablesWithoutPrefix.push(option.value);\n }\n });\n\n return selectedTablesWithoutPrefix.join(this.wpstgObject.settings.directorySeparator);\n }\n\n getIncludedTables() {\n const includedTables = [];\n const options = this.databaseTableSection.querySelectorAll('#wpstg_select_tables_cloning option:checked');\n const regexPattern = this.getRegexPattern();\n options.forEach((option) => {\n const name = option.getAttribute('name', '');\n if (name.match(regexPattern)) {\n includedTables.push(option.value);\n }\n });\n\n return includedTables.join(this.wpstgObject.settings.directorySeparator);\n }\n\n getExcludedTables() {\n const excludedTables = [];\n const options = this.databaseTableSection.querySelectorAll('#wpstg_select_tables_cloning option:not(:checked)');\n const regexPattern = this.getRegexPattern();\n options.forEach((option) => {\n const name = option.getAttribute('name', '');\n if (name.match(regexPattern)) {\n excludedTables.push(option.value);\n }\n });\n\n return excludedTables.join(this.wpstgObject.settings.directorySeparator);\n }\n}\n","import * as dom from './wpstg-dom-utils.js';\n\n/**\n * Rich Exclude Filter Module\n */\nexport default class WpstgExcludeFilters {\n constructor(\n excludeFilterContainerSelector = '#wpstg-exclude-filters-container',\n wpstgObject = wpstg,\n ) {\n this.excludeContainer = dom.qs(excludeFilterContainerSelector);\n this.excludeTableBody = dom.qs(`${excludeFilterContainerSelector} tbody`);\n this.wpstgObject = wpstgObject;\n this.init();\n }\n\n addEvents() {\n dom.addEvent(this.excludeContainer, 'click', '.wpstg-file-size-rule', () => {\n this.addFileSizeExclude();\n });\n\n dom.addEvent(this.excludeContainer, 'click', '.wpstg-file-ext-rule', () => {\n this.addFileExtExclude();\n });\n\n dom.addEvent(this.excludeContainer, 'click', '.wpstg-file-name-rule', () => {\n this.addFileNameExclude();\n });\n\n dom.addEvent(this.excludeContainer, 'click', '.wpstg-dir-name-rule', () => {\n this.addDirNameExclude();\n });\n\n dom.addEvent(this.excludeContainer, 'click', '.wpstg-clear-all-rules', () => {\n this.clearExcludes();\n });\n\n dom.addEvent(this.excludeContainer, 'click', '.wpstg-remove-exclude-rule', (target) => {\n this.removeExclude(target);\n });\n }\n\n init() {\n if (this.excludeContainer === null) {\n console.log('Error: Given table selector not found!');\n return;\n }\n\n this.addEvents();\n }\n\n addFileSizeExclude() {\n this.addExcludeRuleRow('#wpstg-file-size-exclude-filter-template');\n }\n\n addFileExtExclude() {\n this.addExcludeRuleRow('#wpstg-file-ext-exclude-filter-template');\n }\n\n addFileNameExclude() {\n this.addExcludeRuleRow('#wpstg-file-name-exclude-filter-template');\n }\n\n addDirNameExclude() {\n this.addExcludeRuleRow('#wpstg-dir-name-exclude-filter-template');\n }\n\n addExcludeRuleRow(templateName) {\n const excludeRowTemplate = dom.qs(templateName);\n if (excludeRowTemplate !== null) {\n const clone = excludeRowTemplate.content.cloneNode(true);\n const excludeRow = clone.querySelector('tr');\n\n this.excludeTableBody.appendChild(excludeRow);\n dom.all('.wpstg-has-exclude-rules').forEach((e) => {\n e.style.display = 'inherit';\n });\n }\n }\n\n clearExcludes() {\n this.excludeTableBody.innerHTML = '';\n dom.all('.wpstg-has-exclude-rules').forEach((e) => {\n e.style.display = 'none';\n });\n }\n\n removeExclude(target) {\n if (target.parentElement !== null && target.parentElement.parentElement !== null) {\n this.excludeTableBody.removeChild(target.parentElement.parentElement);\n }\n\n if (this.excludeTableBody.innerHTML.trim() === '') {\n dom.all('.wpstg-has-exclude-rules').forEach((e) => {\n e.style.display = 'none';\n });\n }\n }\n\n /**\n * Converts all the exclude filters arrays into one single string to keep size of post request small\n * @return {string}\n */\n getExcludeFilters() {\n const globExcludes = [];\n const sizeExcludes = [];\n\n const sizeCompares = this.excludeTableBody.querySelectorAll('select[name=\"wpstgFileSizeExcludeRuleCompare[]\"]');\n const sizeSizes = this.excludeTableBody.querySelectorAll('input[name=\"wpstgFileSizeExcludeRuleSize[]\"]');\n const sizeByte = this.excludeTableBody.querySelectorAll('select[name=\"wpstgFileSizeExcludeRuleByte[]\"]');\n for (const [key, sizeInput] of Object.entries(sizeSizes)) {\n if (sizeInput.value !== '') {\n sizeExcludes.push(sizeCompares[key].value + ' ' + sizeInput.value + sizeByte[key].value);\n }\n }\n\n const extensionInputs = this.excludeTableBody.querySelectorAll('input[name=\"wpstgFileExtExcludeRule[]\"]');\n extensionInputs.forEach((x) => {\n const ext = this.cleanStringForGlob(x.value);\n if (ext !== '') {\n globExcludes.push('ext:' + ext.trim());\n }\n });\n\n const fileNamesPos = this.excludeTableBody.querySelectorAll('select[name=\"wpstgFileNameExcludeRulePos[]\"]');\n const fileNames = this.excludeTableBody.querySelectorAll('input[name=\"wpstgFileNameExcludeRulePath[]\"]');\n for (const [key, fileInput] of Object.entries(fileNames)) {\n let fileName = '';\n if ('name_exact_matches' === fileNamesPos[key].value) {\n fileName = this.cleanStringForGlobExactMatches(fileInput.value);\n } else {\n fileName = this.cleanStringForGlob(fileInput.value);\n }\n\n if (fileName !== '') {\n globExcludes.push('file:' + fileNamesPos[key].value + ' ' + fileName.trim());\n }\n }\n\n const dirNamesPos = this.excludeTableBody.querySelectorAll('select[name=\"wpstgDirNameExcludeRulePos[]\"]');\n const dirNames = this.excludeTableBody.querySelectorAll('input[name=\"wpstgDirNameExcludeRulePath[]\"]');\n for (const [key, dirInput] of Object.entries(dirNames)) {\n const dirName = this.cleanStringForGlob(dirInput.value);\n if (dirName !== '') {\n globExcludes.push('dir:' + dirNamesPos[key].value + ' ' + dirName.trim());\n }\n }\n\n return {\n 'sizes': sizeExcludes.filter(this.onlyUnique).join(','),\n // return set of unique rules\n 'globs': globExcludes.filter(this.onlyUnique).join(','),\n };\n }\n\n onlyUnique(value, index, self) {\n return self.indexOf(value) === index;\n }\n\n /**\n * Remove most of the comment glob characters from the string\n * @param {String} value\n * @return {String}\n */\n cleanStringForGlob(value) {\n // will replace character like * ^ / \\ ! ? [ from the string\n return value.replace(/[*^//!\\.[?]/g, '');\n }\n\n /**\n * Remove most of the comment glob characters from the string except . to allow input of extensions\n * @param {String} value\n * @return {String}\n */\n cleanStringForGlobExactMatches(value) {\n // will replace character like * ^ / \\ ! ? [ from the string\n return value.replace(/[*^//!\\\\[?]/g, '');\n }\n}\n","/**\n * Basic WP Staging Modal implemented with help of Sweetalerts\n */\nexport default class WpstgModal {\n constructor(\n confirmAction,\n wpstgObject = wpstg,\n ) {\n this.confirmAction = confirmAction;\n this.wpstgObject = wpstgObject;\n }\n\n show(swalOptions, additionalParams = {}, callback = null) {\n wpstgSwal.fire(swalOptions).then((result) => {\n if (result.value && this.error !== null) {\n this.triggerConfirmAction(additionalParams, callback);\n }\n });\n }\n\n triggerConfirmAction(additionalParams = {}, callback = null) {\n fetch(this.wpstgObject.ajaxUrl, {\n method: 'POST',\n credentials: 'same-origin',\n body: new URLSearchParams(Object.assign({\n action: this.confirmAction,\n accessToken: this.wpstgObject.accessToken,\n nonce: this.wpstgObject.nonce,\n }, additionalParams)),\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n }).then((response) => {\n if (response.ok) {\n return response.json();\n }\n\n return Promise.reject(response);\n }).then((response) => {\n if (callback !== null) {\n callback(response);\n }\n }).catch((error) => {\n console.log(this.wpstgObject.i18n['somethingWentWrong'], error);\n });\n }\n}\n","'use strict';\n\n/**\n * This is a namespaced port of https://github.com/tristen/hoverintent,\n * with slight modification to accept selector with dynamically added element in dom,\n * instead of just already present element.\n *\n * @param {HTMLElement} parent\n * @param {string} selector\n * @param {CallableFunction} onOver\n * @param {CallableFunction} onOut\n *\n * @return {object}\n */\nexport default function(parent, selector, onOver, onOut) {\n let x; let y; let pX; let pY;\n let mouseOver = false;\n let focused = false;\n const h = {};\n let state = 0;\n let timer = 0;\n\n let options = {\n sensitivity: 7,\n interval: 100,\n timeout: 0,\n handleFocus: false,\n };\n\n function delay(el, e) {\n if (timer) {\n timer = clearTimeout(timer);\n }\n\n state = 0;\n return focused ? undefined : onOut(el, e);\n }\n\n function tracker(e) {\n x = e.clientX;\n y = e.clientY;\n }\n\n function compare(el, e) {\n if (timer) timer = clearTimeout(timer);\n if ((Math.abs(pX - x) + Math.abs(pY - y)) < options.sensitivity) {\n state = 1;\n return focused ? undefined : onOver(el, e);\n } else {\n pX = x;\n pY = y;\n timer = setTimeout(function() {\n compare(el, e);\n }, options.interval);\n }\n }\n\n // Public methods\n h.options = function(opt) {\n const focusOptionChanged = opt.handleFocus !== options.handleFocus;\n options = Object.assign({}, options, opt);\n if (focusOptionChanged) {\n options.handleFocus ? addFocus() : removeFocus();\n }\n\n return h;\n };\n\n function dispatchOver(el, e) {\n mouseOver = true;\n if (timer) {\n timer = clearTimeout(timer);\n }\n\n el.removeEventListener('mousemove', tracker, false);\n\n if (state !== 1) {\n pX = e.clientX;\n pY = e.clientY;\n\n el.addEventListener('mousemove', tracker, false);\n\n timer = setTimeout(function() {\n compare(el, e);\n }, options.interval);\n }\n\n return this;\n }\n\n /**\n * Newly added method,\n * A wrapper around dispatchOver to support dynamically added elements to dom\n */\n function onMouseOver(event) {\n if (event.target.matches(selector + ', ' + selector + ' *')) {\n dispatchOver(event.target.closest(selector), event);\n }\n };\n\n function dispatchOut(el, e) {\n mouseOver = false;\n if (timer) {\n timer = clearTimeout(timer);\n }\n\n el.removeEventListener('mousemove', tracker, false);\n\n if (state === 1) {\n timer = setTimeout(function() {\n delay(el, e);\n }, options.timeout);\n }\n\n return this;\n }\n\n /**\n * Newly added method,\n * A wrapper around dispatchOut to support dynamically added elements to dom\n */\n function onMouseOut(event) {\n if (event.target.matches(selector + ', ' + selector + ' *')) {\n dispatchOut(event.target.closest(selector), event);\n }\n };\n\n function dispatchFocus(el, e) {\n if (!mouseOver) {\n focused = true;\n onOver(el, e);\n }\n }\n\n /**\n * Newly added method,\n * A wrapper around dispatchFocus to support dynamically added elements to dom\n */\n function onFocus(event) {\n if (event.target.matches(selector + ', ' + selector + ' *')) {\n dispatchFocus(event.target.closest(selector), event);\n }\n };\n\n function dispatchBlur(el, e) {\n if (!mouseOver && focused) {\n focused = false;\n onOut(el, e);\n }\n }\n\n /**\n * Newly added method,\n * A wrapper around dispatchBlur to support dynamically added elements to dom\n */\n function onBlur(event) {\n if (event.target.matches(selector + ', ' + selector + ' *')) {\n dispatchBlur(event.target.closest(selector), event);\n }\n };\n\n /**\n * Modified to support dynamically added element\n */\n function addFocus() {\n parent.addEventListener('focus', onFocus, false);\n parent.addEventListener('blur', onBlur, false);\n }\n\n /**\n * Modified to support dynamically added element\n */\n function removeFocus() {\n parent.removeEventListener('focus', onFocus, false);\n parent.removeEventListener('blur', onBlur, false);\n }\n\n /**\n * Modified to support dynamically added element\n */\n h.remove = function() {\n if (!parent) {\n return;\n }\n\n parent.removeEventListener('mouseover', onMouseOver, false);\n parent.removeEventListener('mouseout', onMouseOut, false);\n removeFocus();\n };\n\n /**\n * Modified to support dynamically added element\n */\n if (parent) {\n parent.addEventListener('mouseover', onMouseOver, false);\n parent.addEventListener('mouseout', onMouseOut, false);\n }\n\n return h;\n};\n","import wpstgHoverIntent from './modules/wpstg-hover-intent';\n\nexport default (function($) {\n const WPStagingCommon = {\n continueErrorHandle: true,\n cache: {\n elements: [],\n get: function(selector) {\n // It is already cached!\n if ($.inArray(selector, this.elements) !== -1) {\n return this.elements[selector];\n }\n\n // Create cache and return\n this.elements[selector] = $(selector);\n\n return this.elements[selector];\n },\n refresh: function(selector) {\n selector.elements[selector] = $(selector);\n },\n },\n setJobId: function(jobId) {\n localStorage.setItem('jobIdBeingProcessed', jobId);\n },\n getJobId: function() {\n return localStorage.getItem('jobIdBeingProcessed');\n },\n listenTooltip: function() {\n wpstgHoverIntent(document, '.wpstg--tooltip', function(target, event) {\n target.querySelector('.wpstg--tooltiptext').style.visibility = 'visible';\n }, function(target, event) {\n target.querySelector('.wpstg--tooltiptext').style.visibility = 'hidden';\n });\n },\n isEmpty: function(obj) {\n for (const prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n return false;\n }\n }\n\n return true;\n },\n // Get the custom themed Swal Modal for WP Staging\n // Easy to maintain now in one place now\n getSwalModal: function(isContentCentered = false, customClasses = {}) {\n // common style for all swal modal used in WP Staging\n const defaultCustomClasses = {\n confirmButton: 'wpstg--btn--confirm wpstg-blue-primary wpstg-button wpstg-link-btn wpstg-100-width',\n cancelButton: 'wpstg--btn--cancel wpstg-blue-primary wpstg-link-btn wpstg-100-width',\n actions: 'wpstg--modal--actions',\n popup: isContentCentered ? 'wpstg-swal-popup centered-modal' : 'wpstg-swal-popup',\n };\n\n // If a attribute exists in both default and additional attributes,\n // The class(es) of the additional attribute will overrite the default one.\n const options = {\n customClass: Object.assign(defaultCustomClasses, customClasses),\n buttonsStyling: false,\n reverseButtons: true,\n showClass: {\n popup: 'wpstg--swal2-show wpstg-swal-show',\n },\n };\n\n return wpstgSwal.mixin(options);\n },\n showSuccessModal: function(htmlContent) {\n this.getSwalModal().fire({\n showConfirmButton: false,\n showCancelButton: true,\n cancelButtonText: 'OK',\n icon: 'success',\n title: 'Success!',\n html: '<div class=\"wpstg--grey\" style=\"text-align: left; margin-top: 8px;\">' + htmlContent + '</div>',\n });\n },\n showWarningModal: function(htmlContent) {\n this.getSwalModal().fire({\n showConfirmButton: false,\n showCancelButton: true,\n cancelButtonText: 'OK',\n icon: 'warning',\n title: '',\n html: '<div class=\"wpstg--grey\" style=\"text-align: left; margin-top: 8px;\">' + htmlContent + '</div>',\n });\n },\n showErrorModal: function(htmlContent) {\n this.getSwalModal().fire({\n showConfirmButton: false,\n showCancelButton: true,\n cancelButtonText: 'OK',\n icon: 'error',\n title: 'Error!',\n html: '<div class=\"wpstg--grey\" style=\"text-align: left; margin-top: 8px;\">' + htmlContent + '</div>',\n });\n },\n getSwalContainer: function() {\n return wpstgSwal.getContainer();\n },\n closeSwalModal: function() {\n wpstgSwal.close();\n },\n /**\n * Treats a default response object generated by WordPress's\n * wp_send_json_success() or wp_send_json_error() functions in\n * PHP, parses it in JavaScript, and either throws if it's an error,\n * or returns the data if the response is successful.\n *\n * @param {object} response\n * @return {*}\n */\n getDataFromWordPressResponse(response) {\n if (typeof response !== 'object') {\n throw new Error('Unexpected response (ERR 1341)');\n }\n\n if (!response.hasOwnProperty('success')) {\n throw new Error('Unexpected response (ERR 1342)');\n }\n\n if (!response.hasOwnProperty('data')) {\n throw new Error('Unexpected response (ERR 1343)');\n }\n\n if (response.success === false) {\n if (response.data instanceof Array && response.data.length > 0) {\n throw new Error(response.data.shift());\n } else {\n throw new Error('Response was not successful');\n }\n } else {\n // Successful response. Return the data.\n return response.data;\n }\n },\n isLoading: function(isLoading) {\n if (!isLoading || isLoading === false) {\n WPStagingCommon.cache.get('.wpstg-loader').hide();\n } else {\n WPStagingCommon.cache.get('.wpstg-loader').show();\n }\n },\n /**\n * Convert the given url to make it slug compatible\n * @param {string} url\n * @return {string}\n */\n slugify: function(url) {\n return url.toString()\n .toLowerCase()\n .normalize('NFD')\n .replace(/[\\u0300-\\u036f]/g, '')\n .replace(/\\s+/g, '-')\n .replace(/&/g, '-and-')\n .replace(/[^a-z0-9\\-]/g, '')\n .replace(/-+/g, '-')\n .replace(/^-*/, '')\n .replace(/-*$/, '')\n ;\n },\n showAjaxFatalError: function(response, prependMessage, appendMessage) {\n prependMessage = prependMessage ? prependMessage + '<br/><br/>' : 'Something went wrong! <br/><br/>';\n appendMessage = appendMessage ? appendMessage + '<br/><br/>' : '<br/><br/>Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.';\n\n if (response === false) {\n WPStagingCommon.showError(prependMessage + ' Error: No response.' + appendMessage);\n window.removeEventListener('beforeunload', WPStaging.warnIfClosingDuringProcess);\n return;\n }\n\n if (typeof response.error !== 'undefined' && response.error) {\n WPStagingCommon.showError(prependMessage + ' Error: ' + response.message + appendMessage);\n window.removeEventListener('beforeunload', WPStaging.warnIfClosingDuringProcess);\n return;\n }\n },\n handleFetchErrors: function(response) {\n if (!response.ok) {\n WPStagingCommon.showError('Error: ' + response.status + ' - ' + response.statusText + '. Please try again or contact support.');\n }\n return response;\n },\n showError: function(message) {\n WPStagingCommon.cache.get('#wpstg-try-again').css('display', 'inline-block');\n WPStagingCommon.cache.get('#wpstg-cancel-cloning').text('Reset');\n WPStagingCommon.cache.get('#wpstg-resume-cloning').show();\n WPStagingCommon.cache.get('#wpstg-error-wrapper').show();\n WPStagingCommon.cache.get('#wpstg-error-details').show().html(message);\n WPStagingCommon.cache.get('#wpstg-removing-clone').removeClass('loading');\n WPStagingCommon.cache.get('.wpstg-loader').hide();\n $('.wpstg--modal--process--generic-problem').show().html(message);\n },\n resetErrors: function() {\n WPStagingCommon.cache.get('#wpstg-error-details').hide().html('');\n },\n /**\n * Ajax Requests\n * @param {Object} data\n * @param {Function} callback\n * @param {string} dataType\n * @param {bool} showErrors\n * @param {int} tryCount\n * @param {float} incrementRatio\n * @param {function} errorCallback\n */\n ajax: function(data, callback, dataType, showErrors, tryCount, incrementRatio = null, errorCallback = null) {\n if ('undefined' === typeof (dataType)) {\n dataType = 'json';\n }\n\n if (false !== showErrors) {\n showErrors = true;\n }\n\n tryCount = 'undefined' === typeof (tryCount) ? 0 : tryCount;\n\n const retryLimit = 10;\n\n let retryTimeout = 10000 * tryCount;\n\n incrementRatio = parseInt(incrementRatio);\n if (!isNaN(incrementRatio)) {\n retryTimeout *= incrementRatio;\n }\n\n $.ajax({\n url: ajaxurl + '?action=wpstg_processing&_=' + (Date.now() / 1000),\n type: 'POST',\n dataType: dataType,\n cache: false,\n data: data,\n error: function(xhr, textStatus, errorThrown) {\n console.log(xhr.status + ' ' + xhr.statusText + '---' + textStatus);\n\n if (typeof (errorCallback) === 'function') {\n // Custom error handler\n errorCallback(xhr, textStatus, errorThrown);\n\n if (!WPStagingCommon.continueErrorHandle) {\n // Reset state\n WPStagingCommon.continueErrorHandle = true;\n\n return;\n }\n }\n\n // Default error handler\n tryCount++;\n if (tryCount <= retryLimit) {\n setTimeout(function() {\n WPStagingCommon.ajax(data, callback, dataType, showErrors, tryCount, incrementRatio);\n return;\n }, retryTimeout);\n } else {\n const errorCode = 'undefined' === typeof (xhr.status) ? 'Unknown' : xhr.status;\n WPStagingCommon.showError(\n 'Fatal Error: ' + errorCode + ' Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.',\n );\n }\n },\n success: function(data) {\n if ('function' === typeof (callback)) {\n callback(data);\n }\n },\n statusCode: {\n 404: function() {\n if (tryCount >= retryLimit) {\n WPStagingCommon.showError('Error 404 - Can\\'t find ajax request URL! Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.');\n }\n },\n 500: function() {\n if (tryCount >= retryLimit) {\n WPStagingCommon.showError('Fatal Error 500 - Internal server error while processing the request! Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.');\n }\n },\n 504: function() {\n if (tryCount > retryLimit) {\n WPStagingCommon.showError('Error 504 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.\\n\\ ');\n }\n },\n 502: function() {\n if (tryCount >= retryLimit) {\n WPStagingCommon.showError('Error 502 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.\\n\\ ');\n }\n },\n 503: function() {\n if (tryCount >= retryLimit) {\n WPStagingCommon.showError('Error 503 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.\\n\\ ');\n }\n },\n 429: function() {\n if (tryCount >= retryLimit) {\n WPStagingCommon.showError('Error 429 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.\\n\\ ');\n }\n },\n 403: function() {\n if (tryCount >= retryLimit) {\n WPStagingCommon.showError('Refresh page or login again! The process should be finished successfully. \\n\\ ');\n }\n },\n },\n });\n },\n };\n\n return WPStagingCommon;\n})(jQuery);\n","\nimport * as dom from './wpstg-dom-utils.js';\nimport WpstgDirectoryNavigation from './wpstg-directory-navigation.js';\nimport WpstgTableSelection from './wpstg-table-selection';\nimport WpstgExcludeFilters from './wpstg-exclude-filters.js';\nimport WpstgModal from './wpstg-modal.js';\nimport WPStagingCommon from './../wpstg.js';\n\n/**\n * Manage RESET MODAL\n */\nexport default class WpstgResetModal {\n constructor(\n cloneID,\n workflowSelector = '#wpstg-workflow',\n fetchExcludeSettingsAction = 'wpstg_clone_excludes_settings',\n modalErrorAction = 'wpstg_modal_error',\n wpstgObject = wpstg,\n ) {\n this.cloneID = cloneID;\n this.workflow = dom.qs(workflowSelector);\n this.wpstgObject = wpstgObject;\n this.fetchExcludeSettingsAction = fetchExcludeSettingsAction;\n this.modalErrorAction = modalErrorAction;\n this.resetButtonClass = 'wpstg-confirm-reset-clone';\n this.resetModalContainerClass = 'wpstg-reset-confirmation';\n this.resetTabSelector = '.wpstg-reset-exclude-tab';\n this.directoryNavigator = null;\n this.excludeFilters = null;\n this.tableSelector = null;\n this.isNetworkClone = false;\n }\n\n addEvents() {\n const resetModalContainer = dom.qs('.' + this.resetModalContainerClass);\n if (resetModalContainer === null) {\n console.log('Exit');\n return;\n }\n\n dom.addEvent(resetModalContainer, 'click', this.resetTabSelector, (target) => {\n this.toggleContent(target);\n });\n }\n\n init() {\n this.addEvents();\n }\n\n setNetworkClone(isNetworkClone) {\n this.isNetworkClone = isNetworkClone;\n }\n\n toggleContent(target) {\n const resetModalContainer = dom.qs('.' + this.resetModalContainerClass);\n const contentId = target.getAttribute('data-id');\n const tabTriangle = target.querySelector('.wpstg-tab-triangle');\n const isCollapsed = target.getAttribute('data-collapsed', 'true');\n const content = dom.qs(contentId);\n if (isCollapsed === 'true') {\n if (resetModalContainer.classList.contains('has-collapsible-open')) {\n resetModalContainer.classList.add('has-collapsible-open-2');\n } else {\n resetModalContainer.classList.add('has-collapsible-open');\n }\n\n dom.slideDown(content);\n tabTriangle.style.transform = 'rotate(90deg)';\n target.setAttribute('data-collapsed', 'false');\n } else {\n if (resetModalContainer.classList.contains('has-collapsible-open-2')) {\n resetModalContainer.classList.remove('has-collapsible-open-2');\n } else {\n resetModalContainer.classList.remove('has-collapsible-open');\n }\n\n dom.slideUp(content);\n tabTriangle.style.removeProperty('transform');\n target.setAttribute('data-collapsed', 'true');\n }\n }\n\n /**\n * Show Swal alert with loader and send ajax request to fetch content of alert.\n * @return Promise\n */\n showModal() {\n const swalPromise = this.loadModal();\n this.init();\n this.fetchCloneExcludes();\n return swalPromise;\n }\n\n loadModal() {\n return WPStagingCommon.getSwalModal(false, {\n confirmButton: this.resetButtonClass + ' wpstg-confirm-reset-clone wpstg--btn--confirm wpstg-blue-primary wpstg-button wpstg-link-btn',\n container: this.resetModalContainerClass + ' wpstg-swal2-container wpstg-swal2-loading',\n }).fire({\n title: '',\n icon: 'warning',\n html: this.getAjaxLoader(),\n width: '400px',\n focusConfirm: false,\n confirmButtonText: this.wpstgObject.i18n.resetClone,\n showCancelButton: true,\n });\n }\n\n fetchCloneExcludes() {\n this.error = null;\n // send ajax request and fetch preserved exclude settings\n fetch(this.wpstgObject.ajaxUrl, {\n method: 'POST',\n credentials: 'same-origin',\n body: new URLSearchParams({\n action: this.fetchExcludeSettingsAction,\n accessToken: this.wpstgObject.accessToken,\n nonce: this.wpstgObject.nonce,\n clone: this.cloneID,\n job: 'resetting',\n }),\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n }).then((response) => {\n if (response.ok) {\n return response.json();\n }\n\n return Promise.reject(response);\n }).then((data) => {\n if (!data.success) {\n const errorModal = new WpstgModal(this.modalErrorAction, this.wpstgObject);\n errorModal.show(Object.assign({\n title: 'Error',\n icon: 'error',\n html: this.wpstgObject.i18n['somethingWentWrong'],\n width: '500px',\n confirmButtonText: 'Ok',\n showCancelButton: false,\n customClass: {\n confirmButton: 'wpstg--btn--confirm wpstg-blue-primary wpstg-button wpstg-link-btn',\n cancelButton: 'wpstg--btn--cancel wpstg-blue-primary wpstg-link-btn',\n actions: 'wpstg--modal--actions',\n popup: 'wpstg-swal-popup centered-modal',\n },\n buttonsStyling: false,\n reverseButtons: true,\n }, data.swalOptions), {\n type: data.type,\n });\n\n return;\n }\n\n const modal = dom.qs('.wpstg-reset-confirmation');\n modal.classList.remove('wpstg-swal2-loading');\n modal.querySelector('.wpstg--swal2-popup').style.width = '500px';\n modal.querySelector('.wpstg--swal2-content').innerHTML = data.html;\n this.directoryNavigator = new WpstgDirectoryNavigation();\n this.excludeFilters = new WpstgExcludeFilters();\n this.tableSelector = new WpstgTableSelection('#wpstg-reset-excluded-tables', '.' + this.resetModalContainerClass);\n this.tableSelector.setNetworkClone(this.isNetworkClone);\n }).catch((error) => {\n this.renderError({\n 'html': this.wpstgObject.i18n['somethingWentWrong'] + ' ' + error,\n });\n });\n }\n\n getDirectoryNavigator() {\n return this.directoryNavigator;\n }\n\n getExcludeFilters() {\n return this.excludeFilters;\n }\n\n getTableSelector() {\n return this.tableSelector;\n }\n\n getAjaxLoader() {\n return '<div class=\"wpstg-swal2-ajax-loader\"><img src=\"' + this.wpstgObject.wpstgIcon + '\" /></div>';\n }\n}\n","import * as dom from './wpstg-dom-utils.js';\n\n/**\n * Handle toggle of advance settings checkboxes\n */\nexport default class WpstgCloningAdvanceSettings {\n constructor(\n baseContainerSelector = '#wpstg-clonepage-wrapper',\n ) {\n this.baseContainer = dom.qs(baseContainerSelector);\n this.checkBoxSettingTogglerSelector = '.wpstg-toggle-advance-settings-section';\n this.init();\n }\n\n /**\n * Add events\n * @return {void}\n */\n addEvents() {\n if (this.baseContainer === null) {\n return;\n }\n\n dom.addEvent(this.baseContainer, 'change', this.checkBoxSettingTogglerSelector, (element) => {\n this.toggleSettings(element);\n });\n }\n\n /**\n * @return {void}\n */\n init() {\n this.addEvents();\n }\n\n /**\n * Expand/Collapse checkbox content on change\n * @return {void}\n */\n toggleSettings(element) {\n const target = dom.qs('#' + element.getAttribute('data-id'));\n if (element.checked) {\n dom.slideDown(target);\n } else {\n dom.slideUp(target);\n }\n }\n}\n","import * as dom from './wpstg-dom-utils.js';\n\nexport default class WpstgMainMenu {\n constructor() {\n this.activeTabClass = 'wpstg--tab--active';\n this.mainMenu();\n }\n\n mainMenu() {\n const tabHeader = dom.qs('.wpstg--tab--header');\n // Early bail if tab header is not available\n if (tabHeader === null) {\n return;\n }\n\n dom.addEvent(dom.qs('.wpstg--tab--header'), 'click', '.wpstg-button', (element) => {\n const $this = element;\n const target = $this.getAttribute('data-target');\n const targetElements = dom.all(target);\n const menuItems = dom.all('.wpstg--tab--header a[data-target]');\n const contents = dom.all('.wpstg--tab--contents > .wpstg--tab--content');\n\n contents.forEach((content) => {\n // active tab class is without the css dot class prefix\n if (content.matches('.' + this.activeTabClass + ':not(' + target + ')')) {\n content.classList.remove(this.activeTabClass);\n }\n });\n\n menuItems.forEach((menuItem) => {\n if (menuItem !== $this) {\n menuItem.classList.remove(this.activeTabClass);\n }\n });\n\n $this.classList.add(this.activeTabClass);\n\n targetElements.forEach((targetElement) => {\n targetElement.classList.add(this.activeTabClass);\n });\n\n if ('#wpstg--tab--backup' === target) {\n window.dispatchEvent(new Event('backups-tab'));\n }\n });\n };\n}\n","import WpstgCloneStaging from './modules/wpstg-clone-staging.js';\nimport WpstgDirectoryNavigation from './modules/wpstg-directory-navigation.js';\nimport WpstgTableSelection from './modules/wpstg-table-selection.js';\nimport WpstgExcludeFilters from './modules/wpstg-exclude-filters.js';\nimport WpstgResetModal from './modules/wpstg-reset-modal.js';\nimport WpstgModal from './modules/wpstg-modal.js';\nimport WpstgCloningAdvanceSettings from './modules/wpstg-cloning-advance-settings.js';\nimport WpstgMainMenu from './modules/wpstg-main-menu.js';\nimport WPStagingCommon from './wpstg.js';\nimport {handleDisplayDependencies, handleToggleElement, handleCopyPaste, handleCopyToClipboard} from './modules/wpstg-dom-utils.js';\n\nvar WPStaging = (function($) {\n const that = {\n isCancelled: false,\n isFinished: false,\n getLogs: false,\n time: 1,\n executionTime: false,\n progressBar: 0,\n cloneExcludeFilters: null,\n directoryNavigator: null,\n tableSelector: null,\n notyf: null,\n areAllTablesChecked: true,\n handleDisplayDependencies: handleDisplayDependencies,\n handleToggleElement: handleToggleElement,\n handleCopyPaste: handleCopyPaste,\n handleCopyToClipboard: handleCopyToClipboard,\n };\n const cache = {elements: []};\n let timeout; let ajaxSpinner;\n\n /**\n * Get / Set Cache for Selector\n * @param {String} selector\n * @return {*}\n */\n cache.get = function(selector) {\n // It is already cached!\n if ($.inArray(selector, cache.elements) !== -1) {\n return cache.elements[selector];\n }\n\n // Create cache and return\n cache.elements[selector] = jQuery(selector);\n\n return cache.elements[selector];\n };\n\n /**\n * Refreshes given cache\n * @param {String} selector\n */\n cache.refresh = function(selector) {\n selector.elements[selector] = jQuery(selector);\n };\n\n /**\n * Show and Log Error Message\n * @param {String} message\n */\n const showError = function(message) {\n cache.get('#wpstg-try-again').css('display', 'inline-block');\n cache.get('#wpstg-cancel-cloning').text('Reset');\n cache.get('#wpstg-resume-cloning').show();\n cache.get('#wpstg-error-wrapper').show();\n cache.get('#wpstg-error-details').show().html(message);\n cache.get('#wpstg-removing-clone').removeClass('loading');\n cache.get('.wpstg-loader').hide();\n $('.wpstg--modal--process--generic-problem').show().html(message);\n\n // Error event information for Staging\n $.ajax({\n url: ajaxurl,\n type: 'POST',\n dataType: 'json',\n data: {\n 'action': 'wpstg_staging_job_error',\n 'accessToken': wpstg.accessToken,\n 'nonce': wpstg.nonce,\n 'error_message': message,\n },\n });\n };\n\n /**\n * Show warning during cloning or push process when closing tab or browser, or changing page\n * @param {beforeunload} event\n * @return {null}\n */\n that.warnIfClosingDuringProcess = function(event) {\n // Only some browsers show the message below, most say something like \"Changes you made may not be saved\" (Chrome) or \"You have unsaved changes. Exit?\"\n event.returnValue = 'You MUST leave this window open while cloning/pushing. Please wait...';\n return null;\n };\n\n /**\n *\n * @param response the error object\n * @param prependMessage Overwrite default error message at beginning\n * @param appendMessage Overwrite default error message at end\n * @returns void\n */\n\n const showAjaxFatalError = function(response, prependMessage, appendMessage) {\n prependMessage = prependMessage ? prependMessage + '<br/><br/>' : 'Something went wrong! <br/><br/>';\n appendMessage = appendMessage ? appendMessage + '<br/><br/>' : '<br/><br/>Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.';\n\n if (response === false) {\n showError(prependMessage + ' Error: No response.' + appendMessage);\n window.removeEventListener('beforeunload', WPStaging.warnIfClosingDuringProcess);\n return;\n }\n\n if (typeof response.error !== 'undefined' && response.error) {\n console.error(response.message);\n showError(prependMessage + ' Error: ' + response.message + appendMessage);\n window.removeEventListener('beforeunload', WPStaging.warnIfClosingDuringProcess);\n return;\n }\n };\n\n /**\n *\n * @param response\n * @return {{ok}|*}\n */\n const handleFetchErrors = function(response) {\n if (!response.ok) {\n showError('Error: ' + response.status + ' - ' + response.statusText + '. Please try again or contact support.');\n }\n return response;\n };\n\n /** Hide and reset previous thrown visible errors */\n const resetErrors = function() {\n cache.get('#wpstg-error-details').hide().html('');\n };\n\n /**\n * Common Elements\n */\n const elements = function() {\n const $workFlow = cache.get('#wpstg-workflow');\n let urlSpinner = ajaxurl.replace('/admin-ajax.php', '') + '/images/spinner';\n let timer;\n\n if (2 < window.devicePixelRatio) {\n urlSpinner += '-2x';\n }\n\n urlSpinner += '.gif';\n\n ajaxSpinner = '<img src=\\'\\'' + urlSpinner + '\\' alt=\\'\\' class=\\'ajax-spinner general-spinner\\' />';\n\n const getBaseValues = function() {\n const path = $('#wpstg-use-target-dir').data('base-path');\n const uri = $('#wpstg-use-target-hostname').data('base-uri');\n return {\n path,\n };\n };\n\n $workFlow\n /**\n .on('change', '#wpstg_network_clone', function(e) {\n e.preventDefault();\n $('.wpstg-button-select').trigger('click');\n })\n */\n // Check / Un-check All Database Tables New\n .on('click', '.wpstg-button-unselect', function(e) {\n e.preventDefault();\n\n if (false === that.areAllTablesChecked) {\n cache.get('#wpstg_select_tables_cloning .wpstg-db-table').prop('selected', 'selected');\n cache.get('.wpstg-button-unselect').text('Unselect All');\n cache.get('.wpstg-db-table-checkboxes').prop('checked', true);\n that.areAllTablesChecked = true;\n } else {\n cache.get('#wpstg_select_tables_cloning .wpstg-db-table').prop('selected', false);\n cache.get('.wpstg-button-unselect').text('Select All');\n cache.get('.wpstg-db-table-checkboxes').prop('checked', false);\n that.areAllTablesChecked = false;\n }\n })\n\n /**\n * Select tables with certain tbl prefix | NEW\n * @param obj e\n * @returns {undefined}\n */\n /**\n .on('click', '.wpstg-button-select', function(e) {\n e.preventDefault();\n $('#wpstg_select_tables_cloning .wpstg-db-table').each(function() {\n let regex = '^' + wpstg.tblprefix;\n if (wpstg.isMultisite === '1' && !$('#wpstg_network_clone').is(':checked')) {\n regex += '([^0-9])_*';\n }\n\n if ($(this).attr('name').match(regex)) {\n $(this).prop('selected', 'selected');\n } else {\n $(this).prop('selected', false);\n }\n });\n })\n\n // Expand Directories\n .on('click', '.wpstg-expand-dirs', function(e) {\n e.preventDefault();\n\n const $this = $(this);\n\n $this.siblings('.wpstg-subdir').slideToggle();\n })\n // When a directory checkbox is Selected\n .on('change', 'input.wpstg-check-dir', function() {\n const $directory = $(this).parent('.wpstg-dir');\n\n if (this.checked) {\n $directory.parents('.wpstg-dir').children('.wpstg-check-dir').prop('checked', true);\n $directory.find('.wpstg-expand-dirs').removeClass('disabled');\n $directory.find('.wpstg-subdir .wpstg-check-dir').prop('checked', true);\n } else {\n $directory.find('.wpstg-dir .wpstg-check-dir').prop('checked', false);\n $directory.find('.wpstg-expand-dirs, .wpstg-check-subdirs').addClass('disabled');\n $directory.find('.wpstg-check-subdirs').data('action', 'check').text('check');\n }\n })\n // When a directory name is Selected\n .on('change', 'href.wpstg-check-dir', function() {\n const $directory = $(this).parent('.wpstg-dir');\n\n if (this.checked) {\n $directory.parents('.wpstg-dir').children('.wpstg-check-dir').prop('checked', true);\n $directory.find('.wpstg-expand-dirs').removeClass('disabled');\n $directory.find('.wpstg-subdir .wpstg-check-dir').prop('checked', true);\n } else {\n $directory.find('.wpstg-dir .wpstg-check-dir').prop('checked', false);\n $directory.find('.wpstg-expand-dirs, .wpstg-check-subdirs').addClass('disabled');\n $directory.find('.wpstg-check-subdirs').data('action', 'check').text('check');\n }\n })\n */\n // Check the max length of the clone name and if the clone name already exists\n .on('keyup', '#wpstg-new-clone-id', function() {\n // Hide previous errors\n document.getElementById('wpstg-error-details').style.display = 'none';\n\n // This request was already sent, clear it up!\n if ('number' === typeof (timer)) {\n clearInterval(timer);\n }\n\n // Early bail if site name is empty\n if (this.value === undefined || this.value === '') {\n cache.get('#wpstg-new-clone-id').removeClass('wpstg-error-input');\n cache.get('#wpstg-start-cloning').removeAttr('disabled');\n cache.get('#wpstg-clone-id-error').text('').hide();\n return;\n }\n\n // Convert the site name to directory name (slugify the site name to create directory name)\n const cloneDirectoryName = WPStagingCommon.slugify(this.value);\n\n timer = setTimeout(\n function() {\n ajax(\n {\n action: 'wpstg_check_clone',\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n directoryName: cloneDirectoryName,\n },\n function(response) {\n if (response.status === 'success') {\n cache.get('#wpstg-new-clone-id').removeClass('wpstg-error-input');\n cache.get('#wpstg-start-cloning').removeAttr('disabled');\n cache.get('#wpstg-clone-id-error').text('').hide();\n } else {\n cache.get('#wpstg-new-clone-id').addClass('wpstg-error-input');\n cache.get('#wpstg-start-cloning').prop('disabled', true);\n cache.get('#wpstg-clone-id-error').text(response.message).show();\n }\n },\n );\n },\n 500,\n );\n })\n // Restart cloning process\n .on('click', '#wpstg-start-cloning', function() {\n resetErrors();\n that.isCancelled = false;\n that.getLogs = false;\n that.progressBar = 0;\n })\n .on('input', '#wpstg-new-clone-id', function() {\n if ($('#wpstg-clone-directory').length < 1) {\n return;\n }\n\n const slug = WPStagingCommon.slugify(this.value).substring(0, 16);\n const $targetDir = $('#wpstg-use-target-dir');\n const $targetUri = $('#wpstg-use-target-hostname');\n let path = $targetDir.data('base-path');\n let uri = $targetUri.data('base-uri');\n\n if (path) {\n path = path.replace(/\\/+$/g, '') + '/' + slug + '/';\n }\n\n if (uri) {\n uri = uri.replace(/\\/+$/g, '') + '/' + slug;\n }\n\n\n $('.wpstg-use-target-dir--value').text(path);\n $('.wpstg-use-target-hostname--value').text(uri);\n\n $targetDir.attr('data-path', path);\n $targetUri.attr('data-uri', uri);\n $('#wpstg_clone_dir').attr('placeholder', path);\n $('#wpstg_clone_hostname').attr('placeholder', uri);\n })\n .on('input', '#wpstg_clone_hostname', function() {\n if ($(this).val() === '' || validateTargetHost()) {\n $('#wpstg_clone_hostname_error').remove();\n return;\n }\n if (!validateTargetHost() && !$('#wpstg_clone_hostname_error').length) {\n $('#wpstg-clone-directory tr:last-of-type').after('<tr><td>&nbsp;</td><td><p id=\"wpstg_clone_hostname_error\" style=\"color: red;\">&nbsp;Invalid host name. Please provide it in a format like http://example.com</p></td></tr>');\n }\n })\n ;\n\n cloneActions();\n };\n\n /* @returns {boolean} */\n var validateTargetHost = function() {\n const the_domain = $('#wpstg_clone_hostname').val();\n\n if (the_domain === '') {\n return true;\n }\n\n const reg = /^http(s)?:\\/\\/.*$/;\n if (reg.test(the_domain) === false) {\n return false;\n }\n return true;\n };\n\n /**\n * Clone actions\n */\n var cloneActions = function() {\n const $workFlow = cache.get('#wpstg-workflow');\n\n $workFlow\n // Cancel cloning\n .on('click', '#wpstg-cancel-cloning', function() {\n if (!confirm('Are you sure you want to cancel cloning process?')) {\n return false;\n }\n\n const $this = $(this);\n\n $('#wpstg-try-again, #wpstg-home-link').hide();\n $this.prop('disabled', true);\n\n that.isCancelled = true;\n that.progressBar = 0;\n\n $('#wpstg-processing-status').text('Please wait...this can take up a while.');\n $('.wpstg-loader, #wpstg-show-log-button').hide();\n\n $this.parent().append(ajaxSpinner);\n\n cancelCloning();\n })\n // Resume cloning\n .on('click', '#wpstg-resume-cloning', function() {\n resetErrors();\n const $this = $(this);\n\n $('#wpstg-try-again, #wpstg-home-link').hide();\n\n that.isCancelled = false;\n\n $('#wpstg-processing-status').text('Try to resume cloning process...');\n $('#wpstg-error-details').hide();\n $('.wpstg-loader').show();\n\n $this.parent().append(ajaxSpinner);\n\n that.startCloning();\n })\n // Cancel update cloning\n .on('click', '#wpstg-cancel-cloning-update', function() {\n resetErrors();\n\n const $this = $(this);\n\n $('#wpstg-try-again, #wpstg-home-link').hide();\n $this.prop('disabled', true);\n\n that.isCancelled = true;\n\n $('#wpstg-cloning-result').text('Please wait...this can take up a while.');\n $('.wpstg-loader, #wpstg-show-log-button').hide();\n\n $this.parent().append(ajaxSpinner);\n\n cancelCloningUpdate();\n })\n // Restart cloning\n .on('click', '#wpstg-restart-cloning', function() {\n resetErrors();\n\n const $this = $(this);\n\n $('#wpstg-try-again, #wpstg-home-link').hide();\n $this.prop('disabled', true);\n\n that.isCancelled = true;\n\n $('#wpstg-cloning-result').text('Please wait...this can take up a while.');\n $('.wpstg-loader, #wpstg-show-log-button').hide();\n\n $this.parent().append(ajaxSpinner);\n\n restart();\n })\n // Delete clone - confirmation\n .on('click', '.wpstg-remove-clone[data-clone]', function(e) {\n resetErrors();\n e.preventDefault();\n\n const $existingClones = cache.get('#wpstg-existing-clones');\n\n $workFlow.removeClass('active');\n\n cache.get('.wpstg-loader').show();\n\n ajax(\n {\n action: 'wpstg_confirm_delete_clone',\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n clone: $(this).data('clone'),\n },\n function(response) {\n cache.get('#wpstg-removing-clone').html(response);\n\n $existingClones.children('img').remove();\n\n cache.get('.wpstg-loader').hide();\n\n $('html, body').animate({\n // This logic is meant to be a \"scrollBottom\"\n scrollTop: $('#wpstg-remove-clone').offset().top - $(window).height() +\n $('#wpstg-remove-clone').height() + 50,\n }, 100);\n },\n 'HTML',\n );\n })\n // Delete clone - confirmed\n .on('click', '#wpstg-remove-clone', function(e) {\n resetErrors();\n e.preventDefault();\n\n cache.get('#wpstg-removing-clone').addClass('loading');\n\n cache.get('.wpstg-loader').show();\n\n deleteClone($(this).data('clone'));\n })\n // Cancel deleting clone\n .on('click', '#wpstg-cancel-removing', function(e) {\n e.preventDefault();\n $('.wpstg-clone').removeClass('active');\n cache.get('#wpstg-removing-clone').html('');\n })\n // Update\n .on('click', '.wpstg-execute-clone', function(e) {\n e.preventDefault();\n\n const clone = $(this).data('clone');\n\n $workFlow.addClass('loading');\n that.cloneExcludeFilters = null;\n ajax(\n {\n action: 'wpstg_scanning',\n clone: clone,\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n },\n function(response) {\n if (response.length < 1) {\n showError(\n 'Something went wrong! Error: No response. Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.',\n );\n }\n\n const jsonResponse = tryParseJson(response);\n if (jsonResponse !== false && jsonResponse.success === false) {\n $workFlow.removeClass('loading');\n showErrorModal(jsonResponse);\n\n return;\n }\n\n $workFlow.removeClass('loading').html(response);\n // register check disk space function for clone update process.\n checkDiskSpace();\n that.directoryNavigator = new WpstgDirectoryNavigation('#wpstg-directories-listing', '#wpstg-workflow', wpstg, that.notyf);\n that.tableSelector = new WpstgTableSelection('#wpstg-scanning-db', '#wpstg-workflow', '#wpstg_network_clone', wpstg, that.notyf);\n that.cloneExcludeFilters = new WpstgExcludeFilters();\n that.switchStep(2);\n },\n 'HTML',\n );\n })\n // Reset Clone\n .on('click', '.wpstg-reset-clone', function(e) {\n e.preventDefault();\n const clone = $(this).data('clone');\n const resetModal = new WpstgResetModal(clone);\n resetModal.setNetworkClone($(this).data('network') === 'yes');\n const promise = resetModal.showModal();\n that.areAllTablesChecked = true;\n\n promise.then((result) => {\n if (result.value) {\n const dirNavigator = resetModal.getDirectoryNavigator();\n const tableSelector = resetModal.getTableSelector();\n const exclFilters = resetModal.getExcludeFilters().getExcludeFilters();\n\n let includedTables = '';\n let excludedTables = '';\n let selectedTablesWithoutPrefix = '';\n let allTablesExcluded = false;\n\n if (tableSelector !== null) {\n includedTables = tableSelector.getIncludedTables();\n excludedTables = tableSelector.getExcludedTables();\n selectedTablesWithoutPrefix = tableSelector.getSelectedTablesWithoutPrefix();\n }\n\n if (includedTables.length > excludedTables.length) {\n includedTables = '';\n } else if (excludedTables.length > includedTables.length) {\n excludedTables = '';\n allTablesExcluded = includedTables === '';\n }\n\n resetClone(clone, {\n includedTables: includedTables,\n excludedTables: excludedTables,\n allTablesExcluded: allTablesExcluded,\n selectedTablesWithoutPrefix: selectedTablesWithoutPrefix,\n excludeSizeRules: encodeURIComponent(exclFilters.sizes),\n excludeGlobRules: encodeURIComponent(exclFilters.globs),\n excludedDirectories: dirNavigator.getExcludedDirectories(),\n extraDirectories: dirNavigator.getExtraDirectoriesRootOnly(),\n });\n }\n });\n\n return;\n });\n };\n\n /**\n * Ajax Requests\n * @param Object data\n * @param Function callback\n * @param string dataType\n * @param bool showErrors\n * @param int tryCount\n * @param float incrementRatio\n */\n var ajax = function(data, callback, dataType, showErrors, tryCount, incrementRatio = null) {\n if ('undefined' === typeof (dataType)) {\n dataType = 'json';\n }\n\n if (false !== showErrors) {\n showErrors = true;\n }\n\n tryCount = 'undefined' === typeof (tryCount) ? 0 : tryCount;\n\n const retryLimit = 5;\n\n let retryTimeout = 10000 * tryCount;\n\n incrementRatio = parseInt(incrementRatio);\n if (!isNaN(incrementRatio)) {\n retryTimeout *= incrementRatio;\n }\n\n $.ajax({\n url: ajaxurl + '?action=wpstg_processing&_=' + (Date.now() / 1000),\n type: 'POST',\n dataType: dataType,\n cache: false,\n data: data,\n error: function(xhr, textStatus, errorThrown) {\n // try again after 10 seconds\n tryCount++;\n if (tryCount <= retryLimit) {\n console.log('RETRYING ' + tryCount + '/' + retryLimit);\n setTimeout(function() {\n ajax(data, callback, dataType, showErrors, tryCount, incrementRatio);\n return;\n }, retryTimeout);\n } else {\n console.log('RETRYING LIMIT');\n const errorCode = 'undefined' === typeof (xhr.status) ? 'Unknown' : xhr.status;\n showError(\n 'Fatal Error: ' + errorCode + ' Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.',\n );\n }\n },\n success: function(data) {\n if ('function' === typeof (callback)) {\n callback(data);\n }\n },\n statusCode: {\n 404: function() {\n if (tryCount >= retryLimit) {\n showError('Error 404 - Can\\'t find ajax request URL! Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.');\n }\n },\n 500: function() {\n if (tryCount >= retryLimit) {\n showError('Fatal Error 500 - Internal server error while processing the request! Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.');\n }\n },\n 504: function() {\n if (tryCount > retryLimit) {\n showError('Error 504 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.\\n\\ ');\n }\n },\n 502: function() {\n if (tryCount >= retryLimit) {\n showError('Error 502 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.\\n\\ ');\n }\n },\n 503: function() {\n if (tryCount >= retryLimit) {\n showError('Error 503 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.\\n\\ ');\n }\n },\n 429: function() {\n if (tryCount >= retryLimit) {\n showError('Error 429 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.\\n\\ ');\n }\n },\n 403: function() {\n if (tryCount >= retryLimit) {\n showError('Refresh page or login again! The process should be finished successfully. \\n\\ ');\n }\n },\n },\n });\n };\n\n /**\n * Next / Previous Step Clicks to Navigate Through Staging Job\n */\n const stepButtons = function() {\n const $workFlow = cache.get('#wpstg-workflow');\n\n $workFlow\n // Next Button\n .on('click', '.wpstg-next-step-link', function(e) {\n e.preventDefault();\n\n const $this = $(this);\n const isScan = false;\n\n if ($('#wpstg_clone_hostname').length && !validateTargetHost()) {\n $('#wpstg_clone_hostname').focus();\n return false;\n }\n\n if ($this.data('action') === 'wpstg_update' || $this.data('action') === 'wpstg_reset') {\n // Update / Reset Clone - confirmed\n let onlyUpdateMessage = '';\n if ($this.data('action') === 'wpstg_update') {\n onlyUpdateMessage = ' \\n\\nExclude all tables and folders you do not want to overwrite, first! \\n\\nDo not cancel the updating process! This can break your staging site. \\n\\n\\Create a backup of your staging website before you proceed.';\n }\n\n if (!confirm('STOP! This will overwrite your staging site with all selected data from the production site! This should be used only if you want to clone again your production site. Are you sure you want to do this?' + onlyUpdateMessage)) {\n return false;\n }\n }\n\n // Button is disabled\n if ($this.attr('disabled')) {\n return false;\n }\n\n if ($this.data('action') === 'wpstg_cloning') {\n // Verify External Database If Checked and Not Skipped\n if ($('#wpstg-ext-db').is(':checked')) {\n verifyExternalDatabase($this, $workFlow);\n return;\n }\n }\n\n proceedCloning($this, $workFlow);\n })\n // Previous Button\n .on('click', '.wpstg-prev-step-link', function(e) {\n e.preventDefault();\n cache.get('.wpstg-loader').removeClass('wpstg-finished');\n cache.get('.wpstg-loader').hide();\n loadOverview();\n });\n };\n\n /**\n * Get Included (Checked) Database Tables\n * @return {Array}\n */\n const getIncludedTables = function() {\n const includedTables = [];\n\n $('#wpstg_select_tables_cloning option:selected').each(function() {\n includedTables.push(this.value);\n });\n\n return includedTables;\n };\n\n /**\n * Get Excluded (Unchecked) Database Tables\n * Not used anymore!\n * @return {Array}\n */\n const getExcludedTables = function() {\n const excludedTables = [];\n\n $('.wpstg-db-table input:not(:checked)').each(function() {\n excludedTables.push(this.name);\n });\n\n return excludedTables;\n };\n\n /**\n * Verify External Database for Cloning\n */\n var verifyExternalDatabase = function($this, workflow) {\n cache.get('.wpstg-loader').show();\n ajax(\n {\n action: 'wpstg_database_verification',\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n databaseUser: cache.get('#wpstg_db_username').val(),\n databasePassword: cache.get('#wpstg_db_password').val(),\n databaseServer: cache.get('#wpstg_db_server').val(),\n databaseDatabase: cache.get('#wpstg_db_database').val(),\n },\n function(response) {\n // Undefined Error\n if (false === response) {\n showError(\n 'Something went wrong! Error: No response.' +\n 'Please try again. If that does not help, ' +\n '<a href=\\'https://wp-staging.com/support/\\' target=\\'_blank\\'>open a support ticket</a> ',\n );\n cache.get('.wpstg-loader').hide();\n return;\n }\n\n // Throw Error\n if ('undefined' === typeof (response.success)) {\n showError(\n 'Something went wrong! Error: Invalid response.' +\n 'Please try again. If that does not help, ' +\n '<a href=\\'https://wp-staging.com/support/\\' target=\\'_blank\\'>open a support ticket</a> ',\n );\n cache.get('.wpstg-loader').hide();\n return;\n }\n\n if (response.success) {\n cache.get('.wpstg-loader').hide();\n proceedCloning($this, workflow);\n return;\n }\n\n if (response.error_type === 'comparison') {\n cache.get('.wpstg-loader').hide();\n let render = '<table class=\"wpstg-db-comparison-table\"><thead><tr><th>Property</th><th>Production DB</th><th>Staging DB</th><th>Status</th></tr></thead><tbody>';\n response.checks.forEach((x) => {\n let icon = '<span class=\"wpstg-css-tick\"></span>';\n if (x.production !== x.staging) {\n icon = '<span class=\"wpstg-css-cross\"></span>';\n }\n render += '<tr><td>' + x.name + '</td><td>' + x.production + '</td><td>' + x.staging + '</td><td>' + icon + '</td></tr>';\n });\n render += '</tbody></table><p>Note: Some MySQL/MariaDB properties do not match. You may proceed but the staging site may not work as expected.</p>';\n WPStagingCommon.getSwalModal(true, {\n popup: 'wpstg-swal-popup wpstg-db-comparison-modal centered-modal',\n }).fire({\n title: 'Different Database Properties',\n icon: 'warning',\n html: render,\n width: '650px',\n focusConfirm: false,\n confirmButtonText: 'Proceed',\n showCancelButton: true,\n }).then(function(result) {\n if (result.value) {\n proceedCloning($this, workflow);\n }\n });\n return;\n }\n\n WPStagingCommon.getSwalModal(true).fire({\n title: 'Different Database Properties',\n icon: 'error',\n html: response.message,\n focusConfirm: true,\n confirmButtonText: 'Ok',\n showCancelButton: false,\n });\n cache.get('.wpstg-loader').hide();\n },\n 'json',\n false,\n );\n };\n\n /**\n * Get Cloning Step Data\n */\n const getCloningData = function() {\n if ('wpstg_cloning' !== that.data.action && 'wpstg_update' !== that.data.action && 'wpstg_reset' !== that.data.action) {\n return;\n }\n\n that.data.cloneID = new Date().getTime().toString();\n if ('wpstg_update' === that.data.action) {\n that.data.cloneID = $('#wpstg-new-clone-id').data('clone');\n }\n\n that.data.cloneName = $('#wpstg-new-clone-id').val() || that.data.cloneID;\n\n if (that.directoryNavigator !== null) {\n that.data.excludedDirectories = encodeURIComponent(that.directoryNavigator.getExcludedDirectories());\n that.data.extraDirectories = encodeURIComponent(that.directoryNavigator.getExtraDirectoriesRootOnly());\n }\n\n that.data.excludeGlobRules = '';\n that.data.excludeSizeRules = '';\n if (that.cloneExcludeFilters instanceof WpstgExcludeFilters) {\n const rules = that.cloneExcludeFilters.getExcludeFilters();\n that.data.excludeGlobRules = encodeURIComponent(rules.globs);\n that.data.excludeSizeRules = encodeURIComponent(rules.sizes);\n }\n\n that.data.includedTables = '';\n that.data.excludedTables = '';\n that.data.allTablesExcluded = false;\n\n if (that.tableSelector !== null) {\n that.data.includedTables = that.tableSelector.getIncludedTables();\n that.data.excludedTables = that.tableSelector.getExcludedTables();\n that.data.selectedTablesWithoutPrefix = that.tableSelector.getSelectedTablesWithoutPrefix();\n }\n\n if (that.data.includedTables.length > that.data.excludedTables.length) {\n that.data.includedTables = '';\n } else if (that.data.excludedTables.length > that.data.includedTables.length) {\n that.data.excludedTables = '';\n that.data.allTablesExcluded = that.data.includedTables === '';\n }\n\n that.data.databaseServer = $('#wpstg_db_server').val();\n that.data.databaseUser = $('#wpstg_db_username').val();\n that.data.databasePassword = $('#wpstg_db_password').val();\n that.data.databaseDatabase = $('#wpstg_db_database').val();\n that.data.databasePrefix = $('#wpstg_db_prefix').val();\n const cloneDir = $('#wpstg_clone_dir').val();\n that.data.cloneDir = encodeURIComponent($.trim(cloneDir));\n that.data.cloneHostname = $('#wpstg_clone_hostname').val();\n that.data.emailsAllowed = $('#wpstg_allow_emails').is(':checked');\n that.data.networkClone = $('#wpstg_network_clone').is(':checked');\n that.data.uploadsSymlinked = $('#wpstg_symlink_upload').is(':checked');\n that.data.cleanPluginsThemes = $('#wpstg-clean-plugins-themes').is(':checked');\n that.data.cleanUploadsDir = $('#wpstg-clean-uploads').is(':checked');\n };\n\n var proceedCloning = function($this, workflow) {\n // Add loading overlay\n workflow.addClass('loading');\n\n // Prepare data\n that.data = {\n action: $this.data('action'),\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n };\n\n // Cloning data\n getCloningData();\n\n sendCloningAjax(workflow);\n };\n\n var sendCloningAjax = function(workflow) {\n // Send ajax request\n ajax(\n that.data,\n function(response) {\n // Undefined Error\n if (false === response) {\n showError(\n 'Something went wrong!<br/><br/> Go to WP Staging > Settings and lower \\'File Copy Limit\\' and \\'DB Query Limit\\'. Also set \\'CPU Load Priority to low \\'' +\n 'and try again. If that does not help, ' +\n '<a href=\\'https://wp-staging.com/support/\\' target=\\'_blank\\'>open a support ticket</a> ',\n );\n }\n\n\n if (response.length < 1) {\n showError(\n 'Something went wrong! No response. Go to WP Staging > Settings and lower \\'File Copy Limit\\' and \\'DB Query Limit\\'. Also set \\'CPU Load Priority to low \\'' +\n 'and try again. If that does not help, ' +\n '<a href=\\'https://wp-staging.com/support/\\' target=\\'_blank\\'>open a support ticket</a> ',\n );\n }\n\n const jsonResponse = tryParseJson(response);\n if (jsonResponse !== false && jsonResponse.success === false) {\n workflow.removeClass('loading');\n showErrorModal(jsonResponse);\n\n return;\n }\n\n // Styling of elements\n workflow.removeClass('loading').html(response);\n that.cloneExcludeFilters = null;\n if (that.data.action === 'wpstg_scanning') {\n that.areAllTablesChecked = true;\n that.directoryNavigator = new WpstgDirectoryNavigation('#wpstg-directories-listing', '#wpstg-workflow', wpstg, that.notyf);\n that.tableSelector = new WpstgTableSelection('#wpstg-scanning-db', '#wpstg-workflow', '#wpstg_network_clone', wpstg, that.notyf);\n that.switchStep(2);\n that.cloneExcludeFilters = new WpstgExcludeFilters();\n } else if (that.data.action === 'wpstg_cloning' || that.data.action === 'wpstg_update' || that.data.action === 'wpstg_reset') {\n that.switchStep(3);\n }\n\n // Start cloning\n that.startCloning();\n },\n 'HTML',\n );\n };\n\n var showErrorModal = function(response) {\n const errorModal = new WpstgModal('wpstg_modal_error', wpstg);\n errorModal.show(Object.assign({\n title: 'Error',\n icon: 'error',\n html: wpstg.i18n['somethingWentWrong'] + (response.message !== undefined ? ('<br/>' + response.message) : ''),\n width: '500px',\n confirmButtonText: 'Ok',\n showCancelButton: false,\n customClass: {\n confirmButton: 'wpstg--btn--confirm wpstg-blue-primary wpstg-button wpstg-link-btn',\n cancelButton: 'wpstg--btn--cancel wpstg-blue-primary wpstg-link-btn',\n actions: 'wpstg--modal--actions',\n popup: 'wpstg-swal-popup centered-modal',\n },\n buttonsStyling: false,\n reverseButtons: true,\n }, response.swalOptions), {\n type: response.type,\n });\n };\n\n const tryParseJson = function(json) {\n // early bail if not string\n if (!json) {\n return false;\n }\n\n try {\n const object = JSON.parse(json);\n if (object && typeof object === 'object') {\n return object;\n }\n } catch (e) {\n // do nothing on catch\n }\n\n return false;\n };\n\n var resetClone = function(clone, excludeOptions) {\n that.data = {\n action: 'wpstg_reset',\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n cloneID: clone,\n };\n\n that.data = {...that.data, ...excludeOptions};\n\n const $workFlow = cache.get('#wpstg-workflow');\n sendCloningAjax($workFlow);\n };\n\n /**\n * Loads Overview (first step) of Staging Job\n */\n var loadOverview = function() {\n const $workFlow = cache.get('#wpstg-workflow');\n\n $workFlow.addClass('loading');\n\n ajax(\n {\n action: 'wpstg_overview',\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n },\n function(response) {\n if (response.length < 1) {\n showError(\n 'Something went wrong! No response. Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report.',\n );\n }\n\n const $currentStep = cache.get('.wpstg-current-step');\n\n // Styling of elements\n $workFlow.removeClass('loading').html(response);\n },\n 'HTML',\n );\n\n that.switchStep(1);\n cache.get('.wpstg-step3-cloning').show();\n cache.get('.wpstg-step3-pushing').hide();\n };\n\n /**\n * Load Tabs\n */\n const tabs = function() {\n cache.get('#wpstg-workflow').on('click', '.wpstg-tab-header', function(e) {\n e.preventDefault();\n\n const $this = $(this);\n const $section = cache.get($this.data('id'));\n\n $this.toggleClass('expand');\n\n $section.slideToggle();\n\n const tabTriangle = $this.find('.wpstg-tab-triangle');\n\n if ($this.hasClass('expand')) {\n tabTriangle.removeClass('wpstg-no-icon');\n tabTriangle.text('');\n tabTriangle.addClass('wpstg-rotate-90');\n } else {\n tabTriangle.removeClass('wpstg-rotate-90');\n }\n });\n };\n\n /**\n * Delete Clone\n * @param {String} clone\n */\n var deleteClone = function(clone) {\n const deleteDir = $('#deleteDirectory:checked').data('deletepath');\n\n ajax(\n {\n action: 'wpstg_delete_clone',\n clone: clone,\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n excludedTables: getExcludedTables(),\n deleteDir: deleteDir,\n },\n function(response) {\n if (response) {\n showAjaxFatalError(response);\n\n // Finished\n if ('undefined' !== typeof response.delete && (response.delete === 'finished' || response.delete === 'unfinished')) {\n cache.get('#wpstg-removing-clone').removeClass('loading').html('');\n\n if (response.delete === 'finished' && response.error === undefined) {\n $('.wpstg-clone[data-clone-id=\"' + clone + '\"]').remove();\n }\n\n // No staging site message is also of type/class .wpstg-class but hidden\n // We have just excluded that from search when counting no of clones\n if ($('#wpstg-existing-clones .wpstg-clone').length < 1) {\n cache.get('#wpstg-existing-clones').find('h3').text('');\n cache.get('#wpstg-no-staging-site-results').show();\n }\n\n cache.get('.wpstg-loader').hide();\n return;\n }\n }\n // continue\n if (true !== response) {\n deleteClone(clone);\n return;\n }\n },\n );\n };\n\n /**\n * Cancel Cloning Process\n */\n var cancelCloning = function() {\n that.timer('stop');\n\n\n if (true === that.isFinished) {\n return true;\n }\n\n ajax(\n {\n action: 'wpstg_cancel_clone',\n clone: that.data.cloneID,\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n },\n function(response) {\n if (response && 'undefined' !== typeof (response.delete) && response.delete === 'finished') {\n cache.get('.wpstg-loader').hide();\n // Load overview\n loadOverview();\n return;\n }\n\n if (true !== response) {\n // continue\n cancelCloning();\n return;\n }\n\n // Load overview\n loadOverview();\n },\n );\n };\n\n /**\n * Cancel Cloning Process\n */\n var cancelCloningUpdate = function() {\n if (true === that.isFinished) {\n return true;\n }\n\n ajax(\n {\n action: 'wpstg_cancel_update',\n clone: that.data.cloneID,\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n },\n function(response) {\n if (response && 'undefined' !== typeof (response.delete) && response.delete === 'finished') {\n // Load overview\n loadOverview();\n return;\n }\n\n if (true !== response) {\n // continue\n cancelCloningUpdate();\n return;\n }\n\n // Load overview\n loadOverview();\n },\n );\n };\n\n /**\n * Cancel Cloning Process\n */\n var restart = function() {\n if (true === that.isFinished) {\n return true;\n }\n\n ajax(\n {\n action: 'wpstg_restart',\n // clone: that.data.cloneID,\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n },\n function(response) {\n if (response && 'undefined' !== typeof (response.delete) && response.delete === 'finished') {\n // Load overview\n loadOverview();\n return;\n }\n\n if (true !== response) {\n // continue\n cancelCloningUpdate();\n return;\n }\n\n // Load overview\n loadOverview();\n },\n );\n };\n\n /**\n * Scroll the window log to bottom\n * @return void\n */\n const logscroll = function() {\n const $div = cache.get('.wpstg-log-details');\n if ('undefined' !== typeof ($div[0])) {\n $div.scrollTop($div[0].scrollHeight);\n }\n };\n\n /**\n * Append the log to the logging window\n * @param string log\n * @return void\n */\n const getLogs = function(log) {\n if (log != null && 'undefined' !== typeof (log)) {\n if (log.constructor === Array) {\n $.each(log, function(index, value) {\n if (value === null) {\n return;\n }\n if (value.type === 'ERROR') {\n cache.get('.wpstg-log-details').append('<span class=\"wpstg--red\">[' + value.type + ']</span>-' + '[' + value.date + '] ' + value.message + '</br>');\n } else {\n cache.get('.wpstg-log-details').append('[' + value.type + ']-' + '[' + value.date + '] ' + value.message + '</br>');\n }\n });\n } else {\n cache.get('.wpstg-log-details').append('[' + log.type + ']-' + '[' + log.date + '] ' + log.message + '</br>');\n }\n }\n logscroll();\n };\n\n /**\n * Check diskspace\n * @return string json\n */\n var checkDiskSpace = function() {\n cache.get('#wpstg-check-space').on('click', function(e) {\n cache.get('.wpstg-loader').show();\n const excludedDirectories = encodeURIComponent(that.directoryNavigator.getExcludedDirectories());\n const extraDirectories = encodeURIComponent(that.directoryNavigator.getExtraDirectoriesRootOnly());\n\n ajax(\n {\n action: 'wpstg_check_disk_space',\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n excludedDirectories: excludedDirectories,\n extraDirectories: extraDirectories,\n },\n function(response) {\n if (false === response) {\n cache.get('#wpstg-clone-id-error').text('Can not detect required disk space').show();\n cache.get('.wpstg-loader').hide();\n return;\n }\n\n // Show required disk space\n cache.get('#wpstg-clone-id-error').html(\n 'Estimated necessary disk space: ' + response.requiredSpace +\n (response.errorMessage !== null ? ('<br>' + response.errorMessage) : '') +\n '<br> <span style=\"color:#444;\">Before you proceed ensure your account has enough free disk space to hold the entire instance of the production site. You can check the available space from your hosting account (cPanel or similar).</span>').show();\n cache.get('.wpstg-loader').hide();\n },\n 'json',\n false,\n );\n });\n };\n\n /**\n * Show or hide animated loading icon\n * @param isLoading bool\n */\n const isLoading = function(isLoading) {\n if (!isLoading || isLoading === false) {\n cache.get('.wpstg-loader').hide();\n } else {\n cache.get('.wpstg-loader').show();\n }\n };\n\n /**\n * Count up processing execution time\n * @param string status\n * @return html\n */\n that.timer = function(status) {\n if (status === 'stop') {\n const time = that.time;\n that.time = 1;\n clearInterval(that.executionTime);\n return that.convertSeconds(time);\n }\n\n\n that.executionTime = setInterval(function() {\n if (null !== document.getElementById('wpstg-processing-timer')) {\n document.getElementById('wpstg-processing-timer').innerHTML = 'Elapsed Time: ' + that.convertSeconds(that.time);\n }\n that.time++;\n if (status === 'stop') {\n that.time = 1;\n clearInterval(that.executionTime);\n }\n }, 1000);\n };\n\n /**\n * Convert seconds to hourly format\n * @param int seconds\n * @return string\n */\n that.convertSeconds = function(seconds) {\n const date = new Date(null);\n date.setSeconds(seconds); // specify value for SECONDS here\n return date.toISOString().substr(11, 8);\n };\n\n /**\n * Start Cloning Process\n * @type {Function}\n */\n that.startCloning = (function() {\n resetErrors();\n\n // Register function for checking disk space\n checkDiskSpace();\n\n if ('wpstg_cloning' !== that.data.action && 'wpstg_update' !== that.data.action && 'wpstg_reset' !== that.data.action) {\n return;\n }\n\n that.isCancelled = false;\n\n // Start the process\n start();\n\n // Functions\n // Start\n function start() {\n cache.get('.wpstg-loader').show();\n cache.get('#wpstg-cancel-cloning').text('Cancel');\n cache.get('#wpstg-resume-cloning').hide();\n cache.get('#wpstg-error-details').hide();\n\n\n // Clone Database\n setTimeout(function() {\n // cloneDatabase();\n window.addEventListener('beforeunload', WPStaging.warnIfClosingDuringProcess);\n processing();\n }, wpstg.delayReq);\n\n that.timer('start');\n }\n\n\n /**\n * Start ajax processing\n * @return string\n */\n var processing = function() {\n if (true === that.isCancelled) {\n window.removeEventListener('beforeunload', WPStaging.warnIfClosingDuringProcess);\n return false;\n }\n\n isLoading(true);\n\n let excludedDirectories = '';\n let extraDirectories = '';\n if (that.directoryNavigator !== null) {\n excludedDirectories = that.directoryNavigator.getExcludedDirectories();\n extraDirectories = that.directoryNavigator.getExtraDirectoriesRootOnly();\n }\n\n // Show logging window\n cache.get('.wpstg-log-details').show();\n\n WPStaging.ajax(\n {\n action: 'wpstg_processing',\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n excludedTables: getExcludedTables(),\n excludedDirectories: encodeURIComponent(excludedDirectories),\n extraDirectories: encodeURIComponent(extraDirectories),\n },\n function(response) {\n showAjaxFatalError(response);\n\n // Add Log messages\n if ('undefined' !== typeof (response.last_msg) && response.last_msg) {\n getLogs(response.last_msg);\n }\n // Continue processing\n if (false === response.status) {\n progressBar(response);\n\n setTimeout(function() {\n cache.get('.wpstg-loader').show();\n processing();\n }, wpstg.delayReq);\n } else if (true === response.status && 'finished' !== response.status) {\n cache.get('#wpstg-error-details').hide();\n cache.get('#wpstg-error-wrapper').hide();\n progressBar(response, true);\n processing();\n } else if ('finished' === response.status || ('undefined' !== typeof (response.job_done) && response.job_done)) {\n window.removeEventListener('beforeunload', WPStaging.warnIfClosingDuringProcess);\n finish(response);\n }\n ;\n },\n 'json',\n false,\n );\n };\n\n // Finish\n function finish(response) {\n if (true === that.getLogs) {\n getLogs();\n }\n\n progressBar(response);\n\n // Add Log\n if ('undefined' !== typeof (response.last_msg)) {\n getLogs(response.last_msg);\n }\n\n cache.get('.wpstg-loader').hide();\n cache.get('#wpstg-processing-header').html('Processing Complete');\n $('#wpstg-processing-status').text('Succesfully finished');\n\n cache.get('#wpstg_staging_name').html(that.data.cloneID);\n cache.get('#wpstg-finished-result').show();\n cache.get('#wpstg-cancel-cloning').hide();\n cache.get('#wpstg-resume-cloning').hide();\n cache.get('#wpstg-cancel-cloning-update').prop('disabled', true);\n\n const $link1 = cache.get('#wpstg-clone-url-1');\n const $link = cache.get('#wpstg-clone-url');\n $link1.attr('href', response.url);\n $link1.html(response.url);\n $link.attr('href', response.url);\n\n cache.get('#wpstg-remove-clone').data('clone', that.data.cloneID);\n\n // Finished\n that.isFinished = true;\n that.timer('stop');\n\n\n cache.get('.wpstg-loader').hide();\n cache.get('#wpstg-processing-header').html('Processing Complete');\n\n // show alert\n let msg = wpstg.i18n.cloneResetComplete;\n if (that.data.action === 'wpstg_update') {\n msg = wpstg.i18n.cloneUpdateComplete;\n }\n\n if (that.data.action === 'wpstg_update' || that.data.action === 'wpstg_reset') {\n cache.get('#wpstg-cancel-cloning-update').hide();\n cache.get('.wpstg-prev-step-link').show();\n\n WPStagingCommon.getSwalModal(true, {\n confirmButton: 'wpstg--btn--confirm wpstg-green-button wpstg-button wpstg-link-btn wpstg-100-width',\n }).fire({\n title: '',\n icon: 'success',\n html: msg,\n width: '500px',\n focusConfirm: true,\n });\n }\n\n return false;\n }\n\n /**\n * Add percentage progress bar\n * @param object response\n * @return {Boolean}\n */\n var progressBar = function(response, restart) {\n if ('undefined' === typeof (response.percentage)) {\n return false;\n }\n\n if (response.job === 'database') {\n cache.get('#wpstg-progress-db').width(response.percentage * 0.2 + '%').html(response.percentage + '%');\n cache.get('#wpstg-processing-status').html(response.percentage.toFixed(0) + '%' + ' - Step 1 of 4 Cloning Database Tables...');\n }\n\n if (response.job === 'SearchReplace') {\n cache.get('#wpstg-progress-db').css('background-color', '#3bc36b');\n cache.get('#wpstg-progress-db').html('1. Database');\n // Assumption: All previous steps are done.\n // This avoids bugs where some steps are skipped and the progress bar is incomplete as a result\n cache.get('#wpstg-progress-db').width('20%');\n\n cache.get('#wpstg-progress-sr').width(response.percentage * 0.1 + '%').html(response.percentage + '%');\n cache.get('#wpstg-processing-status').html(response.percentage.toFixed(0) + '%' + ' - Step 2 of 4 Preparing Database Data...');\n }\n\n if (response.job === 'directories') {\n cache.get('#wpstg-progress-sr').css('background-color', '#3bc36b');\n cache.get('#wpstg-progress-sr').html('2. Data');\n cache.get('#wpstg-progress-sr').width('10%');\n\n cache.get('#wpstg-progress-dirs').width(response.percentage * 0.1 + '%').html(response.percentage + '%');\n cache.get('#wpstg-processing-status').html(response.percentage.toFixed(0) + '%' + ' - Step 3 of 4 Getting files...');\n }\n if (response.job === 'files') {\n cache.get('#wpstg-progress-dirs').css('background-color', '#3bc36b');\n cache.get('#wpstg-progress-dirs').html('3. Files');\n cache.get('#wpstg-progress-dirs').width('10%');\n\n cache.get('#wpstg-progress-files').width(response.percentage * 0.6 + '%').html(response.percentage + '%');\n cache.get('#wpstg-processing-status').html(response.percentage.toFixed(0) + '%' + ' - Step 4 of 4 Copy files...');\n }\n if (response.job === 'finish') {\n cache.get('#wpstg-progress-files').css('background-color', '#3bc36b');\n cache.get('#wpstg-progress-files').html('4. Copy Files');\n cache.get('#wpstg-progress-files').width('60%');\n\n cache.get('#wpstg-processing-status').html(response.percentage.toFixed(0) + '%' + ' - Cloning Process Finished');\n }\n };\n });\n\n that.switchStep = function(step) {\n cache.get('.wpstg-current-step')\n .removeClass('wpstg-current-step');\n cache.get('.wpstg-step' + step)\n .addClass('wpstg-current-step');\n };\n\n /**\n * Initiation\n * @type {Function}\n */\n that.init = (function() {\n loadOverview();\n elements();\n stepButtons();\n tabs();\n WPStagingCommon.listenTooltip();\n new WpstgMainMenu();\n new WpstgCloneStaging();\n new WpstgCloningAdvanceSettings();\n that.notyf = new Notyf({\n duration: 10000,\n position: {\n x: 'center',\n y: 'bottom',\n },\n dismissible: true,\n types: [\n {\n type: 'warning',\n background: 'orange',\n icon: false,\n },\n ],\n });\n });\n\n /**\n * Ajax call\n * @type {ajax}\n */\n that.ajax = ajax;\n that.showError = showError;\n that.getLogs = getLogs;\n that.loadOverview = loadOverview;\n\n return that;\n})(jQuery);\n\njQuery(document).ready(function() {\n WPStaging.init();\n // This is necessary to make WPStaging var accessibile in WP Staging PRO js script\n window.WPStaging = WPStaging;\n});\n\n/**\n * Report Issue modal\n */\njQuery(document).ready(function($) {\n $('body').on('click', '#wpstg-report-issue-button', function(e) {\n console.log('REPORT');\n $('.wpstg--tab--active .wpstg-report-issue-form').toggleClass('wpstg-report-show');\n e.preventDefault();\n });\n\n $('body').on('click', '#wpstg-backups-report-issue-button', function(e) {\n $('.wpstg--tab--active .wpstg-report-issue-form').toggleClass('wpstg-report-show');\n e.preventDefault();\n });\n\n $('body').on('click', '#wpstg-report-cancel', function(e) {\n $('.wpstg--tab--active .wpstg-report-issue-form').removeClass('wpstg-report-show');\n e.preventDefault();\n });\n\n $('body').on('click', '.wpstg--tab--active #wpstg-report-submit', function(e) {\n const self = $(this);\n sendIssueReport(self, 'false');\n e.preventDefault();\n });\n\n /*\n * Close Success Modal\n */\n\n $('body').on('click', '#wpstg-success-button', function(e) {\n e.preventDefault();\n $('.wpstg-report-issue-form').removeClass('wpstg-report-show');\n });\n\n function sendIssueReport(button, forceSend = 'false') {\n const spinner = button.next();\n const email = $('.wpstg--tab--active .wpstg-report-email').val();\n const hosting_provider = $('.wpstg--tab--active .wpstg-report-hosting-provider').val();\n const message = $('.wpstg--tab--active .wpstg-report-description').val();\n const syslog = $('.wpstg--tab--active .wpstg-report-syslog').is(':checked');\n const terms = $('.wpstg--tab--active .wpstg-report-terms').is(':checked');\n\n button.attr('disabled', true);\n spinner.css('visibility', 'visible');\n\n $.ajax({\n url: ajaxurl,\n type: 'POST',\n dataType: 'json',\n async: true,\n data: {\n 'action': 'wpstg_send_report',\n 'accessToken': wpstg.accessToken,\n 'nonce': wpstg.nonce,\n 'wpstg_email': email,\n 'wpstg_provider': hosting_provider,\n 'wpstg_message': message,\n 'wpstg_syslog': +syslog,\n 'wpstg_terms': +terms,\n 'wpstg_force_send': forceSend,\n },\n }).done(function(data) {\n button.attr('disabled', false);\n spinner.css('visibility', 'hidden');\n\n if (data.errors.length > 0) {\n $('.wpstg--tab--active .wpstg-report-issue-form .wpstg-message').remove();\n\n let errorMessage = $('<div />').addClass('wpstg-message wpstg-error-message');\n $.each(data.errors, function(key, value) {\n if (value.status === 'already_submitted') {\n errorMessage = '';\n // TODO: remove default custom classes\n WPStagingCommon.getSwalModal(true, {\n container: 'wpstg-issue-resubmit-confirmation',\n }).fire({\n title: '',\n icon: 'warning',\n html: value.message,\n showCancelButton: true,\n focusConfirm: false,\n confirmButtonText: 'Yes',\n cancelButtonText: 'No',\n }).then((result) => {\n if (result.isConfirmed) {\n sendIssueReport(button, 'true');\n }\n });\n } else {\n errorMessage.append('<p>' + value + '</p>');\n }\n });\n\n $('.wpstg--tab--active .wpstg-report-issue-form').prepend(errorMessage);\n } else {\n const successMessage = $('<div />').addClass('wpstg-message wpstg-success-message');\n successMessage.append('<p>Thanks for submitting your request! You should receive an auto reply mail with your ticket ID immediately for confirmation!<br><br>If you do not get that mail please contact us directly at <strong>support@wp-staging.com</strong></p>');\n\n $('.wpstg--tab--active .wpstg-report-issue-form').html(successMessage);\n $('.wpstg--tab--active .wpstg-success-message').append('<div style=\"float:right;margin-top:10px;\"><a id=\"wpstg-success-button\" href=\"#\" class=\"wpstg--red\">[X] CLOSE</a></div>');\n\n // Hide message\n setTimeout(function() {\n $('.wpstg--tab--active .wpstg-report-issue-form').removeClass('wpstg-report-active');\n }, 2000);\n }\n });\n }\n\n // Open/close actions drop down menu\n $(document).on('click', '.wpstg-dropdown>.wpstg-dropdown-toggler', function(e) {\n e.preventDefault();\n $(e.target).next('.wpstg-dropdown-menu').toggleClass('shown');\n\n $(e.target).find('.wpstg-caret').toggleClass('wpstg-caret-up');\n });\n\n $(document).on('click', '.wpstg-caret', function(e) {\n e.preventDefault();\n\n const toggler = $(e.target).closest('.wpstg-dropdown-toggler');\n\n if (toggler) {\n toggler.trigger('click');\n }\n });\n\n // Close action drop down menu if clicked anywhere outside\n document.addEventListener('click', function(event) {\n const isClickInside = event.target.closest('.wpstg-dropdown-toggler');\n if (!isClickInside) {\n const dropDown = document.getElementsByClassName('wpstg-dropdown-menu');\n for (let i = 0; i < dropDown.length; i++) {\n dropDown[i].classList.remove('shown');\n }\n $('.wpstg-caret').removeClass('wpstg-caret-up');\n }\n });\n\n // \"Event info\" for backup errors\n window.addEventListener('finishedProcessWithError', function(customEvent) {\n $.ajax({\n url: ajaxurl,\n type: 'POST',\n dataType: 'json',\n data: {\n 'action': 'wpstg_job_error',\n 'accessToken': wpstg.accessToken,\n 'nonce': wpstg.nonce,\n 'error_message': customEvent.detail.error,\n 'job_id': WPStagingCommon.getJobId(),\n },\n });\n });\n});\n"],"names":["polyfillClosest","Element","prototype","closest","matches","msMatchesSelector","webkitMatchesSelector","s","el","call","parentElement","parentNode","nodeType","element","selector","qs","document","querySelector","all","querySelectorAll","addEvent","parent","evt","handler","addEventListener","event","target","slideDown","duration","style","display","overflow","height","offsetHeight","transitionProperty","transitionDuration","setTimeout","window","removeProperty","slideUp","getNextSibling","sibling","nextElementSibling","getParents","result","push","handleDisplayDependencies","id","containerSelector","hiddenClass","elementType","getAttribute","container","showIfChecked","showIfUnchecked","checked","length","classList","remove","add","handleToggleElement","elements","toggle","handleCopyPaste","navigator","clipboard","writeText","value","handleCopyToClipboard","WpstgCloneStaging","pageWrapperId","wpstgObject","wpstg","pageWrapper","dom","enableButtonId","enableAction","notyf","Notyf","position","x","y","dismissible","types","type","background","icon","init","addEvents","sendRequest","action","fetch","ajaxUrl","method","credentials","body","URLSearchParams","accessToken","nonce","headers","then","response","ok","json","Promise","reject","data","success","location","reload","message","error","i18n","console","warn","WpstgDirectoryNavigation","directoryListingSelector","workflowSelector","directoryListingContainer","workflow","dirCheckboxSelector","dirExpandSelector","unselectAllDirsSelector","selectDefaultDirsSelector","fetchChildrenAction","currentCheckboxElement","currentParentDiv","currentLoader","existingExcludes","excludedDirectories","isDefaultSelected","log","preventDefault","getExcludedDirectories","toggleDirExpand","unselectAll","selectDefault","toggleDirectoryNavigation","updateDirectorySelection","parseExcludes","previousSibling","dirPath","isChecked","forceDefault","setAttribute","dirContainer","createElement","innerHTML","JSON","parse","directoryListing","appendChild","alert","forEach","isParentExcluded","exclude","isScanned","join","settings","directorySeparator","path","isParentAlreadyExcluded","dir","startsWith","getExtraDirectoriesRootOnly","extraDirectories","extraDirectoriesTextArea","extraCustomDirectories","split","concat","map","substr","slice","scanned","cbElement","subDirectories","parElem","i","children","WpstgTableSelection","databaseTableSectionSelector","networkCloneSelector","databaseTableSection","networkCloneCheckbox","isAllTablesChecked","isMultisite","isNetworkClone","setNetworkClone","selectDefaultTables","toggleTableSelection","getRegexPattern","pattern","tblprefix","isNetwork","undefined","options","regexPattern","option","name","match","selected","getSelectedTablesWithoutPrefix","selectedTablesWithoutPrefix","getIncludedTables","includedTables","getExcludedTables","excludedTables","WpstgExcludeFilters","excludeFilterContainerSelector","excludeContainer","excludeTableBody","addFileSizeExclude","addFileExtExclude","addFileNameExclude","addDirNameExclude","clearExcludes","removeExclude","addExcludeRuleRow","templateName","excludeRowTemplate","clone","content","cloneNode","excludeRow","e","removeChild","trim","getExcludeFilters","globExcludes","sizeExcludes","sizeCompares","sizeSizes","sizeByte","Object","entries","key","sizeInput","extensionInputs","ext","cleanStringForGlob","fileNamesPos","fileNames","fileInput","fileName","cleanStringForGlobExactMatches","dirNamesPos","dirNames","dirInput","dirName","filter","onlyUnique","index","self","indexOf","replace","WpstgModal","confirmAction","show","swalOptions","additionalParams","callback","wpstgSwal","fire","triggerConfirmAction","assign","onOver","onOut","pX","pY","mouseOver","focused","h","state","timer","sensitivity","interval","timeout","handleFocus","delay","clearTimeout","tracker","clientX","clientY","compare","Math","abs","opt","focusOptionChanged","addFocus","removeFocus","dispatchOver","removeEventListener","onMouseOver","dispatchOut","onMouseOut","dispatchFocus","onFocus","dispatchBlur","onBlur","$","WPStagingCommon","continueErrorHandle","cache","get","inArray","refresh","setJobId","jobId","localStorage","setItem","getJobId","getItem","listenTooltip","wpstgHoverIntent","visibility","isEmpty","obj","prop","hasOwnProperty","getSwalModal","isContentCentered","customClasses","defaultCustomClasses","confirmButton","cancelButton","actions","popup","customClass","buttonsStyling","reverseButtons","showClass","mixin","showSuccessModal","htmlContent","showConfirmButton","showCancelButton","cancelButtonText","title","html","showWarningModal","showErrorModal","getSwalContainer","getContainer","closeSwalModal","close","getDataFromWordPressResponse","Error","Array","shift","isLoading","hide","slugify","url","toString","toLowerCase","normalize","showAjaxFatalError","prependMessage","appendMessage","showError","WPStaging","warnIfClosingDuringProcess","handleFetchErrors","status","statusText","css","text","removeClass","resetErrors","ajax","dataType","showErrors","tryCount","incrementRatio","errorCallback","retryLimit","retryTimeout","parseInt","isNaN","ajaxurl","Date","now","xhr","textStatus","errorThrown","errorCode","statusCode","jQuery","WpstgResetModal","cloneID","fetchExcludeSettingsAction","modalErrorAction","resetButtonClass","resetModalContainerClass","resetTabSelector","directoryNavigator","excludeFilters","tableSelector","resetModalContainer","toggleContent","contentId","tabTriangle","isCollapsed","contains","transform","showModal","swalPromise","loadModal","fetchCloneExcludes","getAjaxLoader","width","focusConfirm","confirmButtonText","resetClone","job","errorModal","modal","renderError","getDirectoryNavigator","getTableSelector","wpstgIcon","WpstgCloningAdvanceSettings","baseContainerSelector","baseContainer","checkBoxSettingTogglerSelector","toggleSettings","WpstgMainMenu","activeTabClass","mainMenu","tabHeader","$this","targetElements","menuItems","contents","menuItem","targetElement","dispatchEvent","Event","that","isCancelled","isFinished","getLogs","time","executionTime","progressBar","cloneExcludeFilters","areAllTablesChecked","ajaxSpinner","returnValue","$workFlow","urlSpinner","devicePixelRatio","on","getElementById","clearInterval","removeAttr","cloneDirectoryName","directoryName","addClass","slug","substring","$targetDir","$targetUri","uri","attr","val","validateTargetHost","after","cloneActions","the_domain","reg","test","confirm","append","cancelCloning","startCloning","cancelCloningUpdate","restart","$existingClones","animate","scrollTop","offset","top","deleteClone","jsonResponse","tryParseJson","checkDiskSpace","switchStep","resetModal","promise","dirNavigator","exclFilters","allTablesExcluded","excludeSizeRules","encodeURIComponent","sizes","excludeGlobRules","globs","stepButtons","focus","onlyUpdateMessage","is","verifyExternalDatabase","proceedCloning","loadOverview","each","databaseUser","databasePassword","databaseServer","databaseDatabase","error_type","render","checks","production","staging","getCloningData","getTime","cloneName","rules","databasePrefix","cloneDir","cloneHostname","emailsAllowed","networkClone","uploadsSymlinked","cleanPluginsThemes","cleanUploadsDir","sendCloningAjax","object","excludeOptions","tabs","$section","toggleClass","slideToggle","find","hasClass","deleteDir","logscroll","$div","scrollHeight","constructor","date","requiredSpace","errorMessage","convertSeconds","setInterval","seconds","setSeconds","toISOString","start","processing","delayReq","last_msg","job_done","finish","$link1","$link","msg","cloneResetComplete","cloneUpdateComplete","percentage","toFixed","step","ready","sendIssueReport","button","forceSend","spinner","next","email","hosting_provider","syslog","terms","async","done","errors","isConfirmed","prepend","successMessage","toggler","trigger","isClickInside","dropDown","getElementsByClassName","customEvent","detail"],"mappings":"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"}
1
+ {"version":3,"file":"wpstg-admin.js","sources":["../src/modules/wpstg-polyfill.js","../src/modules/wpstg-dom-utils.js","../src/modules/wpstg-clone-staging.js","../src/modules/wpstg-directory-navigation.js","../src/modules/wpstg-table-selection.js","../src/modules/wpstg-exclude-filters.js","../src/modules/wpstg-modal.js","../src/modules/wpstg-hover-intent.js","../src/wpstg.js","../src/modules/wpstg-reset-modal.js","../src/modules/wpstg-cloning-advance-settings.js","../src/modules/wpstg-main-menu.js","../src/wpstg-admin.js"],"sourcesContent":["/**\n * Polyfills the `Element.prototype.closest` function if not available in the browser.\n *\n * @return {Function} A function that will return the closest element, by selector, to this element.\n */\nfunction polyfillClosest() {\n if (Element.prototype.closest) {\n if (!Element.prototype.matches) {\n Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\n }\n\n Element.prototype.closest = function(s) {\n let el = this;\n\n do {\n if (Element.prototype.matches.call(el, s)) return el;\n el = el.parentElement || el.parentNode;\n } while (el !== null && el.nodeType === 1);\n return null;\n };\n }\n\n return function(element, selector) {\n return element instanceof Element ? element.closest(selector) : null;\n };\n}\n\nexport const closest = polyfillClosest();\n","import {closest} from './wpstg-polyfill';\n\n/**\n * WP STAGING basic jQuery replacement\n */\n\n/**\n * Shortcut for document.querySelector() or jQuery's $()\n * Return single element only\n */\nexport function qs(selector) {\n return document.querySelector(selector);\n}\n\n/**\n * Shortcut for document.querySelector() or jQuery's $()\n * Return collection of elements\n */\nexport function all(selector) {\n return document.querySelectorAll(selector);\n}\n\n/**\n * alternative of jQuery - $(parent).on(event, selector, handler)\n */\nexport function addEvent(parent, evt, selector, handler) {\n if (!parent instanceof Element) {\n return;\n }\n\n parent.addEventListener(evt, function(event) {\n if (event.target.matches(selector + ', ' + selector + ' *')) {\n handler(event.target.closest(selector), event);\n }\n }, false);\n}\n\nexport function slideDown(element, duration = 400) {\n element.style.display = 'block';\n element.style.overflow = 'hidden';\n const height = element.offsetHeight;\n element.style.height = '0px';\n element.style.transitionProperty = 'height';\n element.style.transitionDuration = duration + 'ms';\n setTimeout(() => {\n element.style.height = height + 'px';\n window.setTimeout(() => {\n element.style.removeProperty('height');\n element.style.removeProperty('overflow');\n element.style.removeProperty('transition-duration');\n element.style.removeProperty('transition-property');\n }, duration);\n }, 0);\n}\n\nexport function slideUp(element, duration = 400) {\n element.style.display = 'block';\n element.style.overflow = 'hidden';\n const height = element.offsetHeight;\n element.style.height = height + 'px';\n element.style.transitionProperty = 'height';\n element.style.transitionDuration = duration + 'ms';\n setTimeout(() => {\n element.style.height = '0px';\n window.setTimeout(() => {\n element.style.display = 'none';\n element.style.removeProperty('height');\n element.style.removeProperty('overflow');\n element.style.removeProperty('transition-duration');\n element.style.removeProperty('transition-property');\n }, duration);\n }, 0);\n}\n\nexport function fadeOut(element, duration = 300) {\n element.style.opacity = 1;\n element.style.transitionProperty = 'opacity';\n element.style.transitionDuration = duration + 'ms';\n setTimeout(() => {\n element.style.opacity = 0;\n window.setTimeout(() => {\n element.style.display = 'none';\n element.style.removeProperty('opacity');\n element.style.removeProperty('transition-duration');\n element.style.removeProperty('transition-property');\n }, duration);\n }, 0);\n}\n\nexport function getNextSibling(element, selector) {\n let sibling = element.nextElementSibling;\n\n while (sibling) {\n if (sibling.matches(selector)) {\n return sibling;\n }\n\n sibling = sibling.nextElementSibling;\n }\n};\n\nexport function getParents(element, selector) {\n const result = [];\n for (let parent = element && element.parentElement; parent; parent = parent.parentElement) {\n if (parent.matches(selector)) {\n result.push(parent);\n }\n }\n\n return result;\n}\n\n/**\n * Check if element has class name\n * @param element\n * @param className\n * @return {boolean}\n */\nexport function hasClass(element, className) {\n return (' ' + element.className + ' ').indexOf(' ' + className+ ' ') > -1;\n}\n\n/**\n * Dispatches a change on an element that will trigger, depending on the element type,\n * cascading changes on elements dependant on the one that triggered the change and that\n * belong in the same container.\n *\n * @param {Element} element A reference to the Element the change was triggered from.\n *\n * @return {void} The function does not return any value and will have the side-effect of\n * hiding or showing dependant elements.\n */\nexport function handleDisplayDependencies(element) {\n if (!element instanceof Element || !element.id) {\n return;\n }\n\n const containerSelector = '.wpstg-container';\n // Use the default WordPress CSS class to hide and show the objects.\n const hiddenClass = 'hidden';\n const elementType = element.getAttribute('type');\n\n switch (elementType) {\n case 'checkbox':\n // Go as high as the container that contains this element.\n const container = closest(element, containerSelector);\n\n if (container === null) {\n return;\n }\n\n const showIfChecked = container.querySelectorAll(`[data-show-if-checked=\"${element.id}\"]`);\n const showIfUnchecked = container.querySelectorAll(`[data-show-if-unchecked=\"${element.id}\"]`);\n const checked = element.checked;\n\n if (showIfChecked.length) {\n for (const el of showIfChecked) {\n if (checked) {\n el.classList.remove(hiddenClass);\n } else {\n el.classList.add(hiddenClass);\n }\n }\n }\n\n if (showIfUnchecked.length) {\n for (const el of showIfUnchecked) {\n if (checked) {\n el.classList.add(hiddenClass);\n } else {\n el.classList.remove(hiddenClass);\n }\n }\n }\n\n return;\n default:\n // Not a type we handle.\n return;\n }\n}\n\n/**\n * Initializes the display status of any element that depends on the status of another to\n * either hide or show.\n *\n * @return {void} The function will have the side-effect to toggle the hide/show class from\n * elements dependant on another to hide or show.\n */\nexport function initDependantDisplay() {\n const displayControllerSelector = '[onchange^=\"WPStaging.handleDisplayDependencies\"]';\n const displayControllers = document.querySelectorAll(displayControllerSelector);\n for (const displayController of displayControllers) {\n handleDisplayDependencies(displayController);\n }\n}\n\n/**\n * Toggle target element set in data-wpstg-target of the given element\n *\n * @param {Element} element A reference to the Element the change was triggered from.\n *\n * @return {void} The function does not return any value and will have the side-effect of\n * hiding or showing dependant elements.\n */\nexport function handleToggleElement(element) {\n if (!element instanceof Element || !element.getAttribute('data-wpstg-target')) {\n return;\n }\n\n const containerSelector = '.wpstg_admin';\n // Use the default WordPress CSS class to hide and show the objects.\n const hiddenClass = 'hidden';\n\n // Go as high as the container that contains this element.\n const container = closest(element, containerSelector);\n\n if (container === null) {\n return;\n }\n\n const elements = container.querySelectorAll(element.getAttribute('data-wpstg-target'));\n\n if (elements.length) {\n for (const el of elements) {\n el.classList.toggle(hiddenClass);\n }\n }\n}\n\n/**\n * Copy text in data-wpstg-copy to element(s) in data-wpstg-target\n *\n * @param {Element} element\n *\n * @return {void}\n */\nexport function handleCopyPaste(element) {\n if (!element instanceof Element || !element.getAttribute('data-wpstg-target') || !element.getAttribute('data-wpstg-copy')) {\n return;\n }\n\n const containerSelector = '.wpstg_admin';\n\n // Go as high as the container that contains this element.\n const container = closest(element, containerSelector);\n\n if (container === null) {\n return;\n }\n\n navigator.clipboard.writeText(element.getAttribute('data-wpstg-copy'));\n const elements = container.querySelectorAll(element.getAttribute('data-wpstg-target'));\n\n if (elements.length) {\n for (const el of elements) {\n el.value = element.getAttribute('data-wpstg-copy', '');\n }\n }\n}\n\n/**\n * Copy text in data-wpstg-source to clipboard\n *\n * @param {Element} element\n *\n * @return {void}\n */\nexport function handleCopyToClipboard(element) {\n if (!element instanceof Element || !element.getAttribute('data-wpstg-source')) {\n return;\n }\n\n const containerSelector = '.wpstg_admin';\n\n // Go as high as the container that contains this element.\n const container = closest(element, containerSelector);\n\n if (container === null) {\n return;\n }\n\n const el = container.querySelector(element.getAttribute('data-wpstg-source'));\n\n if (el) {\n navigator.clipboard.writeText(el.value);\n }\n}\n\n","import * as dom from './wpstg-dom-utils.js';\n\n/**\n * Enable/Disable cloning for staging site\n */\nexport default class WpstgCloneStaging {\n constructor(\n pageWrapperId = '#wpstg-clonepage-wrapper',\n wpstgObject = wpstg,\n ) {\n this.pageWrapper = dom.qs(pageWrapperId);\n this.wpstgObject = wpstgObject;\n this.enableButtonId = '#wpstg-enable-staging-cloning';\n this.enableAction = 'wpstg_enable_staging_cloning';\n\n this.notyf = new Notyf({\n duration: 10000,\n position: {\n x: 'center',\n y: 'bottom',\n },\n dismissible: true,\n types: [\n {\n type: 'warning',\n background: 'orange',\n icon: false,\n },\n ],\n });\n this.init();\n }\n\n addEvents() {\n if (this.pageWrapper === null) {\n return;\n }\n\n dom.addEvent(this.pageWrapper, 'click', this.enableButtonId, () => {\n this.sendRequest(this.enableAction);\n });\n }\n\n init() {\n this.addEvents();\n }\n\n sendRequest(action) {\n fetch(this.wpstgObject.ajaxUrl, {\n method: 'POST',\n credentials: 'same-origin',\n body: new URLSearchParams({\n action: action,\n accessToken: this.wpstgObject.accessToken,\n nonce: this.wpstgObject.nonce,\n }),\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n }).then((response) => {\n if (response.ok) {\n return response.json();\n }\n\n return Promise.reject(response);\n }).then((data) => {\n // Reload current page if successful.\n if ('undefined' !== typeof (data.success) && data.success) {\n location.reload();\n return;\n }\n\n // There will be message probably in case of error\n if ('undefined' !== typeof (data.message)) {\n this.notyf.error(data.message);\n return;\n }\n\n this.notyf.error(this.wpstgObject.i18n['somethingWentWrong']);\n }).catch((error) => {\n console.warn(this.wpstgObject.i18n['somethingWentWrong'], error);\n });\n }\n}\n","import * as dom from './wpstg-dom-utils.js';\n\n/**\n * Fetch directory direct child directories\n */\nexport default class WpstgDirectoryNavigation {\n constructor(\n directoryListingSelector = '#wpstg-directories-listing',\n workflowSelector = '#wpstg-workflow',\n wpstgObject = wpstg,\n notyf = null,\n ) {\n this.directoryListingContainer = dom.qs(directoryListingSelector);\n this.workflow = dom.qs(workflowSelector);\n this.wpstgObject = wpstgObject;\n this.dirCheckboxSelector = '.wpstg-check-dir';\n this.dirExpandSelector = '.wpstg-expand-dirs';\n this.unselectAllDirsSelector = '.wpstg-unselect-dirs';\n this.selectDefaultDirsSelector = '.wpstg-select-dirs-default';\n this.fetchChildrenAction = 'wpstg_fetch_dir_childrens';\n this.currentCheckboxElement = null;\n this.currentParentDiv = null;\n this.currentLoader = null;\n this.existingExcludes = [];\n this.excludedDirectories = [];\n this.isDefaultSelected = false;\n this.notyf = notyf;\n\n this.init();\n }\n\n addEvents() {\n if (this.directoryListingContainer === null) {\n console.log('Error: directory navigation add events');\n return;\n }\n\n dom.addEvent(this.directoryListingContainer, 'change', this.dirCheckboxSelector, (element, event) => {\n event.preventDefault();\n });\n\n dom.addEvent(this.directoryListingContainer, 'click', this.dirExpandSelector, (element, event) => {\n event.preventDefault();\n if (this.toggleDirExpand(element)) {\n this.sendRequest(this.fetchChildrenAction, element);\n }\n });\n\n dom.addEvent(this.directoryListingContainer, 'click', this.unselectAllDirsSelector, () => {\n this.unselectAll();\n });\n\n dom.addEvent(this.directoryListingContainer, 'click', this.selectDefaultDirsSelector, () => {\n this.selectDefault();\n });\n\n dom.addEvent(this.directoryListingContainer, 'click', '.wpstg-expand-dirs', (target, event) => {\n event.preventDefault();\n this.toggleDirectoryNavigation(target);\n });\n\n dom.addEvent(this.directoryListingContainer, 'change', 'input.wpstg-check-dir', (target) => {\n this.updateDirectorySelection(target);\n });\n }\n\n init() {\n this.addEvents();\n this.parseExcludes();\n }\n\n /**\n * Toggle Dir Expand,\n * Return true if children aren't fetched\n * @param {HTMLElement} element\n * @return {boolean}\n */\n toggleDirExpand(element) {\n this.currentParentDiv = element.parentElement;\n this.currentCheckboxElement = element.previousSibling;\n this.currentLoader = this.currentParentDiv.querySelector('.wpstg-is-dir-loading');\n if (this.currentCheckboxElement.getAttribute('data-navigateable', 'false') === 'false') {\n return false;\n }\n\n if (this.currentCheckboxElement.getAttribute('data-scanned', 'false') === 'false') {\n return true;\n }\n\n return false;\n }\n\n sendRequest(action) {\n if (this.currentLoader !== null) {\n this.currentLoader.style.display = 'inline-block';\n }\n\n const changed = this.currentCheckboxElement.getAttribute('data-changed');\n\n fetch(this.wpstgObject.ajaxUrl, {\n method: 'POST',\n credentials: 'same-origin',\n body: new URLSearchParams({\n action: action,\n accessToken: this.wpstgObject.accessToken,\n nonce: this.wpstgObject.nonce,\n dirPath: this.currentCheckboxElement.value,\n isChecked: this.currentCheckboxElement.checked,\n forceDefault: changed === 'true',\n }),\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n }).then((response) => {\n if (response.ok) {\n return response.json();\n }\n\n return Promise.reject(response);\n }).then((data) => {\n if ('undefined' !== typeof (data.success) && data.success) {\n this.currentCheckboxElement.setAttribute('data-scanned', true);\n const dirContainer = document.createElement('div');\n dirContainer.classList.add('wpstg-dir');\n dirContainer.classList.add('wpstg-subdir');\n dirContainer.innerHTML = JSON.parse(data.directoryListing);\n this.currentParentDiv.appendChild(dirContainer);\n if (this.currentLoader !== null) {\n this.currentLoader.style.display = 'none';\n }\n\n dom.slideDown(dirContainer);\n\n return;\n }\n\n if (this.notyf !== null) {\n this.notyf.error(this.wpstgObject.i18n['somethingWentWrong']);\n } else {\n alert('Error: ' + this.wpstgObject.i18n['somethingWentWrong']);\n }\n }).catch((error) => {\n console.warn(this.wpstgObject.i18n['somethingWentWrong'], error);\n });\n }\n\n getExcludedDirectories() {\n this.excludedDirectories = [];\n this.directoryListingContainer.querySelectorAll('.wpstg-dir input:not(:checked)').forEach((element) => {\n if (!this.isParentExcluded(element.value)) {\n this.excludedDirectories.push(element.value);\n }\n });\n\n this.existingExcludes.forEach((exclude) => {\n if (!this.isParentExcluded(exclude) && !this.isScanned(exclude)) {\n this.excludedDirectories.push(exclude);\n }\n });\n\n return this.excludedDirectories.join(this.wpstgObject.settings.directorySeparator);\n }\n\n /**\n * @param {string} path\n * @return {bool}\n */\n isParentExcluded(path) {\n let isParentAlreadyExcluded = false;\n this.excludedDirectories.forEach((dir) => {\n if (path.startsWith(dir + '/')) {\n isParentAlreadyExcluded = true;\n }\n });\n\n return isParentAlreadyExcluded;\n }\n\n getExtraDirectoriesRootOnly() {\n this.getExcludedDirectories();\n const extraDirectories = [];\n this.directoryListingContainer.querySelectorAll(':not(.wpstg-subdir)>.wpstg-dir>input.wpstg-wp-non-core-dir:checked').forEach((element) => {\n extraDirectories.push(element.value);\n });\n\n // Check if extra directories text area exists\n // TODO: remove extraCustomDirectories code if no one require extraCustomDirectories...\n const extraDirectoriesTextArea = dom.qs('#wpstg_extraDirectories');\n if (extraDirectoriesTextArea === null || extraDirectoriesTextArea.value === '') {\n return extraDirectories.join(this.wpstgObject.settings.directorySeparator);\n }\n\n const extraCustomDirectories = extraDirectoriesTextArea.value.split(/\\r?\\n/);\n\n return extraDirectories.concat(extraCustomDirectories).join(this.wpstgObject.settings.directorySeparator);\n }\n\n unselectAll() {\n this.directoryListingContainer.querySelectorAll('.wpstg-dir input').forEach((element) => {\n element.checked = false;\n });\n\n this.countSelectedFiles();\n }\n\n selectDefault() {\n // unselect all checkboxes\n this.unselectAll();\n\n // only select those checkboxes whose class is wpstg-wp-core-dir\n this.directoryListingContainer.querySelectorAll('.wpstg-dir input.wpstg-wp-core-dir').forEach((element) => {\n element.checked = true;\n });\n\n // then unselect those checkboxes whose parent has wpstg extra checkbox\n this.directoryListingContainer.querySelectorAll('.wpstg-dir > .wpstg-wp-non-core-dir').forEach((element) => {\n element.parentElement.querySelectorAll('input.wpstg-wp-core-dir').forEach((element) => {\n element.checked = false;\n });\n });\n\n this.isDefaultSelected = true;\n\n this.countSelectedFiles();\n }\n\n parseExcludes() {\n this.existingExcludes = this.directoryListingContainer.getAttribute('data-existing-excludes', []);\n if (this.existingExcludes === '') {\n this.existingExcludes = [];\n return;\n }\n\n if (this.existingExcludes.length === 0) {\n this.existingExcludes = [];\n return;\n }\n\n const existingExcludes = this.existingExcludes.split(',');\n this.existingExcludes = existingExcludes.map((exclude) => {\n if (exclude.substr(0, 1) === '/') {\n return exclude.slice(1);\n }\n\n return exclude;\n });\n }\n\n isScanned(exclude) {\n let scanned = false;\n this.directoryListingContainer.querySelectorAll('.wpstg-dir>input').forEach((element) => {\n if (element.value == exclude) {\n scanned = true;\n }\n });\n\n return scanned;\n }\n\n toggleDirectoryNavigation(element) {\n const cbElement = element.previousSibling;\n if (cbElement.getAttribute('data-navigateable', 'false') === 'false') {\n return;\n }\n\n if (cbElement.getAttribute('data-scanned', 'false') === 'false') {\n return;\n }\n\n const subDirectories = dom.getNextSibling(element, '.wpstg-subdir');\n\n if (subDirectories.style.display === 'none') {\n dom.slideDown(subDirectories);\n } else {\n dom.slideUp(subDirectories);\n }\n }\n\n updateDirectorySelection(element) {\n const parent = element.parentElement;\n element.setAttribute('data-changed', 'true');\n if (element.checked) {\n dom.getParents(parent, '.wpstg-dir').forEach((parElem) => {\n for (let i = 0; i < parElem.children.length; i++) {\n if (parElem.children[i].matches('.wpstg-check-dir')) {\n parElem.children[i].checked = true;\n }\n }\n });\n parent.querySelectorAll('.wpstg-expand-dirs').forEach((x) => {\n x.classList.remove('disabled');\n });\n parent.querySelectorAll('.wpstg-subdir .wpstg-check-dir').forEach((x) => {\n x.checked = true;\n });\n } else {\n parent.querySelectorAll('.wpstg-expand-dirs, .wpstg-check-subdirs').forEach((x) => {\n x.classList.add('disabled');\n });\n parent.querySelectorAll('.wpstg-dir .wpstg-check-dir').forEach((x) => {\n x.checked = false;\n });\n }\n\n this.countSelectedFiles();\n }\n\n countSelectedFiles() {\n const themesCount = this.directoryListingContainer.querySelectorAll('[data-content-type=\"theme\"]:checked').length;\n const pluginsCount = this.directoryListingContainer.querySelectorAll('[data-content-type=\"plugin\"]:checked').length;\n const filesCountElement = dom.qs('#wpstg-files-count');\n if (themesCount === 0 && pluginsCount === 0) {\n filesCountElement.classList.add('danger');\n filesCountElement.innerHTML = this.wpstgObject.i18n['noFileSelected'];\n } else {\n filesCountElement.classList.remove('danger');\n filesCountElement.innerHTML = this.wpstgObject.i18n['filesSelected'].replace('{t}', themesCount).replace('{p}', pluginsCount);\n }\n }\n}\n","import * as dom from './wpstg-dom-utils.js';\n\n/**\n * Database tables selection\n */\nexport default class WpstgTableSelection {\n constructor(\n databaseTableSectionSelector = '#wpstg-scanning-db',\n workflowSelector = '#wpstg-workflow',\n networkCloneSelector = '#wpstg_network_clone',\n inputSelector = '#wpstg_select_tables_cloning',\n wpstgObject = wpstg,\n ) {\n this.databaseTableSection = dom.qs(databaseTableSectionSelector);\n this.workflow = dom.qs(workflowSelector);\n this.networkCloneSelector = networkCloneSelector;\n this.networkCloneCheckbox = dom.qs(networkCloneSelector);\n this.wpstgObject = wpstgObject;\n this.isAllTablesChecked = true;\n this.isMultisite = this.wpstgObject.isMultisite === '1';\n this.isNetworkClone = false;\n this.inputSelector = inputSelector;\n this.input = dom.qs(this.inputSelector);\n\n this.init();\n }\n\n setNetworkClone(isNetworkClone) {\n this.isNetworkClone = isNetworkClone;\n }\n\n addEvents() {\n if (this.workflow === null) {\n console.log('Error: database table section is null. Cannot register events');\n return;\n }\n\n dom.addEvent(this.workflow, 'change', this.networkCloneSelector, () => {\n this.selectDefaultTables();\n });\n\n dom.addEvent(this.workflow, 'change', this.inputSelector, () => {\n this.countSelectedTables();\n });\n\n dom.addEvent(this.workflow, 'click', '.wpstg-button-select', (target, event) => {\n event.preventDefault();\n this.selectDefaultTables();\n });\n\n dom.addEvent(this.workflow, 'click', '.wpstg-button-unselect', (target, event) => {\n event.preventDefault();\n this.toggleTableSelection();\n });\n }\n\n init() {\n this.addEvents();\n }\n\n getRegexPattern() {\n let pattern = '^' + this.wpstgObject.tblprefix;\n let isNetwork = false;\n if (this.networkCloneCheckbox !== undefined && this.networkCloneCheckbox !== null) {\n isNetwork = this.networkCloneCheckbox.checked;\n }\n\n // Force network clone true if set explicitly\n if (this.isNetworkClone) {\n isNetwork = true;\n }\n\n if (this.isMultisite && !isNetwork) {\n pattern += '([^0-9])_*';\n }\n\n return pattern;\n }\n\n selectDefaultTables() {\n const options = this.databaseTableSection.querySelectorAll('#wpstg_select_tables_cloning .wpstg-db-table');\n const regexPattern = this.getRegexPattern();\n options.forEach((option) => {\n const name = option.getAttribute('name', '');\n if (name.match(regexPattern)) {\n option.selected = true;\n } else {\n option.selected = false;\n }\n });\n\n this.countSelectedTables();\n }\n\n toggleTableSelection() {\n if (false === this.isAllTablesChecked) {\n this.databaseTableSection.querySelectorAll('#wpstg_select_tables_cloning .wpstg-db-table').forEach((option) => {\n option.selected = true;\n });\n this.databaseTableSection.querySelector('.wpstg-button-unselect').innerHTML = 'Unselect All';\n // cache.get('.wpstg-db-table-checkboxes').prop('checked', true);\n this.isAllTablesChecked = true;\n } else {\n this.databaseTableSection.querySelectorAll('#wpstg_select_tables_cloning .wpstg-db-table').forEach((option) => {\n option.selected = false;\n });\n this.databaseTableSection.querySelector('.wpstg-button-unselect').innerHTML = 'Select All';\n // cache.get('.wpstg-db-table-checkboxes').prop('checked', false);\n this.isAllTablesChecked = false;\n }\n\n this.countSelectedTables();\n }\n\n getSelectedTablesWithoutPrefix() {\n const selectedTablesWithoutPrefix = [];\n const options = this.databaseTableSection.querySelectorAll('#wpstg_select_tables_cloning option:checked');\n const regexPattern = this.getRegexPattern();\n options.forEach((option) => {\n const name = option.getAttribute('name', '');\n if (!name.match(regexPattern)) {\n selectedTablesWithoutPrefix.push(option.value);\n }\n });\n\n return selectedTablesWithoutPrefix.join(this.wpstgObject.settings.directorySeparator);\n }\n\n getIncludedTables() {\n const includedTables = [];\n const options = this.databaseTableSection.querySelectorAll('#wpstg_select_tables_cloning option:checked');\n const regexPattern = this.getRegexPattern();\n options.forEach((option) => {\n const name = option.getAttribute('name', '');\n if (name.match(regexPattern)) {\n includedTables.push(option.value);\n }\n });\n\n return includedTables.join(this.wpstgObject.settings.directorySeparator);\n }\n\n getExcludedTables() {\n const excludedTables = [];\n const options = this.databaseTableSection.querySelectorAll('#wpstg_select_tables_cloning option:not(:checked)');\n const regexPattern = this.getRegexPattern();\n options.forEach((option) => {\n const name = option.getAttribute('name', '');\n if (name.match(regexPattern)) {\n excludedTables.push(option.value);\n }\n });\n\n return excludedTables.join(this.wpstgObject.settings.directorySeparator);\n }\n\n countSelectedTables() {\n const tablesCount = this.input.querySelectorAll('option:checked').length;\n const tablesCountElement = dom.qs('#wpstg-tables-count');\n if (tablesCount === 0) {\n tablesCountElement.classList.add('danger');\n tablesCountElement.innerHTML = this.wpstgObject.i18n['noTableSelected'];\n } else {\n tablesCountElement.classList.remove('danger');\n tablesCountElement.innerHTML = this.wpstgObject.i18n['tablesSelected'].replace('{d}', tablesCount);\n }\n }\n}\n","import * as dom from './wpstg-dom-utils.js';\n\n/**\n * Rich Exclude Filter Module\n */\nexport default class WpstgExcludeFilters {\n constructor(\n excludeFilterContainerSelector = '#wpstg-exclude-filters-container',\n wpstgObject = wpstg,\n ) {\n this.excludeContainer = dom.qs(excludeFilterContainerSelector);\n this.excludeTableBody = dom.qs(`${excludeFilterContainerSelector} tbody`);\n this.wpstgObject = wpstgObject;\n this.init();\n }\n\n addEvents() {\n dom.addEvent(this.excludeContainer, 'click', '.wpstg-file-size-rule', () => {\n this.addFileSizeExclude();\n });\n\n dom.addEvent(this.excludeContainer, 'click', '.wpstg-file-ext-rule', () => {\n this.addFileExtExclude();\n });\n\n dom.addEvent(this.excludeContainer, 'click', '.wpstg-file-name-rule', () => {\n this.addFileNameExclude();\n });\n\n dom.addEvent(this.excludeContainer, 'click', '.wpstg-dir-name-rule', () => {\n this.addDirNameExclude();\n });\n\n dom.addEvent(this.excludeContainer, 'click', '.wpstg-clear-all-rules', () => {\n this.clearExcludes();\n });\n\n dom.addEvent(this.excludeContainer, 'click', '.wpstg-remove-exclude-rule', (target) => {\n this.removeExclude(target);\n });\n }\n\n init() {\n if (this.excludeContainer === null) {\n console.log('Error: Given table selector not found!');\n return;\n }\n\n this.addEvents();\n }\n\n addFileSizeExclude() {\n this.addExcludeRuleRow('#wpstg-file-size-exclude-filter-template');\n }\n\n addFileExtExclude() {\n this.addExcludeRuleRow('#wpstg-file-ext-exclude-filter-template');\n }\n\n addFileNameExclude() {\n this.addExcludeRuleRow('#wpstg-file-name-exclude-filter-template');\n }\n\n addDirNameExclude() {\n this.addExcludeRuleRow('#wpstg-dir-name-exclude-filter-template');\n }\n\n addExcludeRuleRow(templateName) {\n const excludeRowTemplate = dom.qs(templateName);\n if (excludeRowTemplate !== null) {\n const clone = excludeRowTemplate.content.cloneNode(true);\n const excludeRow = clone.querySelector('tr');\n\n this.excludeTableBody.appendChild(excludeRow);\n dom.all('.wpstg-has-exclude-rules').forEach((e) => {\n e.style.display = 'inherit';\n });\n }\n }\n\n clearExcludes() {\n this.excludeTableBody.innerHTML = '';\n dom.all('.wpstg-has-exclude-rules').forEach((e) => {\n e.style.display = 'none';\n });\n }\n\n removeExclude(target) {\n if (target.parentElement !== null && target.parentElement.parentElement !== null) {\n this.excludeTableBody.removeChild(target.parentElement.parentElement);\n }\n\n if (this.excludeTableBody.innerHTML.trim() === '') {\n dom.all('.wpstg-has-exclude-rules').forEach((e) => {\n e.style.display = 'none';\n });\n }\n }\n\n /**\n * Converts all the exclude filters arrays into one single string to keep size of post request small\n * @return {string}\n */\n getExcludeFilters() {\n const globExcludes = [];\n const sizeExcludes = [];\n\n const sizeCompares = this.excludeTableBody.querySelectorAll('select[name=\"wpstgFileSizeExcludeRuleCompare[]\"]');\n const sizeSizes = this.excludeTableBody.querySelectorAll('input[name=\"wpstgFileSizeExcludeRuleSize[]\"]');\n const sizeByte = this.excludeTableBody.querySelectorAll('select[name=\"wpstgFileSizeExcludeRuleByte[]\"]');\n for (const [key, sizeInput] of Object.entries(sizeSizes)) {\n if (sizeInput.value !== '') {\n sizeExcludes.push(sizeCompares[key].value + ' ' + sizeInput.value + sizeByte[key].value);\n }\n }\n\n const extensionInputs = this.excludeTableBody.querySelectorAll('input[name=\"wpstgFileExtExcludeRule[]\"]');\n extensionInputs.forEach((x) => {\n const ext = this.cleanStringForGlob(x.value);\n if (ext !== '') {\n globExcludes.push('ext:' + ext.trim());\n }\n });\n\n const fileNamesPos = this.excludeTableBody.querySelectorAll('select[name=\"wpstgFileNameExcludeRulePos[]\"]');\n const fileNames = this.excludeTableBody.querySelectorAll('input[name=\"wpstgFileNameExcludeRulePath[]\"]');\n for (const [key, fileInput] of Object.entries(fileNames)) {\n let fileName = '';\n if ('name_exact_matches' === fileNamesPos[key].value) {\n fileName = this.cleanStringForGlobExactMatches(fileInput.value);\n } else {\n fileName = this.cleanStringForGlob(fileInput.value);\n }\n\n if (fileName !== '') {\n globExcludes.push('file:' + fileNamesPos[key].value + ' ' + fileName.trim());\n }\n }\n\n const dirNamesPos = this.excludeTableBody.querySelectorAll('select[name=\"wpstgDirNameExcludeRulePos[]\"]');\n const dirNames = this.excludeTableBody.querySelectorAll('input[name=\"wpstgDirNameExcludeRulePath[]\"]');\n for (const [key, dirInput] of Object.entries(dirNames)) {\n const dirName = this.cleanStringForGlob(dirInput.value);\n if (dirName !== '') {\n globExcludes.push('dir:' + dirNamesPos[key].value + ' ' + dirName.trim());\n }\n }\n\n return {\n 'sizes': sizeExcludes.filter(this.onlyUnique).join(','),\n // return set of unique rules\n 'globs': globExcludes.filter(this.onlyUnique).join(','),\n };\n }\n\n onlyUnique(value, index, self) {\n return self.indexOf(value) === index;\n }\n\n /**\n * Remove most of the comment glob characters from the string\n * @param {String} value\n * @return {String}\n */\n cleanStringForGlob(value) {\n // will replace character like * ^ / \\ ! ? [ from the string\n return value.replace(/[*^//!\\.[?]/g, '');\n }\n\n /**\n * Remove most of the comment glob characters from the string except . to allow input of extensions\n * @param {String} value\n * @return {String}\n */\n cleanStringForGlobExactMatches(value) {\n // will replace character like * ^ / \\ ! ? [ from the string\n return value.replace(/[*^//!\\\\[?]/g, '');\n }\n}\n","/**\n * Basic WP Staging Modal implemented with help of Sweetalerts\n */\nexport default class WpstgModal {\n constructor(\n confirmAction,\n wpstgObject = wpstg,\n ) {\n this.confirmAction = confirmAction;\n this.wpstgObject = wpstgObject;\n }\n\n show(swalOptions, additionalParams = {}, callback = null) {\n wpstgSwal.fire(swalOptions).then((result) => {\n if (result.value && this.error !== null) {\n this.triggerConfirmAction(additionalParams, callback);\n }\n });\n }\n\n triggerConfirmAction(additionalParams = {}, callback = null) {\n fetch(this.wpstgObject.ajaxUrl, {\n method: 'POST',\n credentials: 'same-origin',\n body: new URLSearchParams(Object.assign({\n action: this.confirmAction,\n accessToken: this.wpstgObject.accessToken,\n nonce: this.wpstgObject.nonce,\n }, additionalParams)),\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n }).then((response) => {\n if (response.ok) {\n return response.json();\n }\n\n return Promise.reject(response);\n }).then((response) => {\n if (callback !== null) {\n callback(response);\n }\n }).catch((error) => {\n console.log(this.wpstgObject.i18n['somethingWentWrong'], error);\n });\n }\n}\n","'use strict';\n\n/**\n * This is a namespaced port of https://github.com/tristen/hoverintent,\n * with slight modification to accept selector with dynamically added element in dom,\n * instead of just already present element.\n *\n * @param {HTMLElement} parent\n * @param {string} selector\n * @param {CallableFunction} onOver\n * @param {CallableFunction} onOut\n *\n * @return {object}\n */\nexport default function(parent, selector, onOver, onOut) {\n let x; let y; let pX; let pY;\n let mouseOver = false;\n let focused = false;\n const h = {};\n let state = 0;\n let timer = 0;\n\n let options = {\n sensitivity: 7,\n interval: 100,\n timeout: 0,\n handleFocus: false,\n };\n\n function delay(el, e) {\n if (timer) {\n timer = clearTimeout(timer);\n }\n\n state = 0;\n return focused ? undefined : onOut(el, e);\n }\n\n function tracker(e) {\n x = e.clientX;\n y = e.clientY;\n }\n\n function compare(el, e) {\n if (timer) timer = clearTimeout(timer);\n if ((Math.abs(pX - x) + Math.abs(pY - y)) < options.sensitivity) {\n state = 1;\n return focused ? undefined : onOver(el, e);\n } else {\n pX = x;\n pY = y;\n timer = setTimeout(function() {\n compare(el, e);\n }, options.interval);\n }\n }\n\n // Public methods\n h.options = function(opt) {\n const focusOptionChanged = opt.handleFocus !== options.handleFocus;\n options = Object.assign({}, options, opt);\n if (focusOptionChanged) {\n options.handleFocus ? addFocus() : removeFocus();\n }\n\n return h;\n };\n\n function dispatchOver(el, e) {\n mouseOver = true;\n if (timer) {\n timer = clearTimeout(timer);\n }\n\n el.removeEventListener('mousemove', tracker, false);\n\n if (state !== 1) {\n pX = e.clientX;\n pY = e.clientY;\n\n el.addEventListener('mousemove', tracker, false);\n\n timer = setTimeout(function() {\n compare(el, e);\n }, options.interval);\n }\n\n return this;\n }\n\n /**\n * Newly added method,\n * A wrapper around dispatchOver to support dynamically added elements to dom\n */\n function onMouseOver(event) {\n if (event.target.matches(selector + ', ' + selector + ' *')) {\n dispatchOver(event.target.closest(selector), event);\n }\n };\n\n function dispatchOut(el, e) {\n mouseOver = false;\n if (timer) {\n timer = clearTimeout(timer);\n }\n\n el.removeEventListener('mousemove', tracker, false);\n\n if (state === 1) {\n timer = setTimeout(function() {\n delay(el, e);\n }, options.timeout);\n }\n\n return this;\n }\n\n /**\n * Newly added method,\n * A wrapper around dispatchOut to support dynamically added elements to dom\n */\n function onMouseOut(event) {\n if (event.target.matches(selector + ', ' + selector + ' *')) {\n dispatchOut(event.target.closest(selector), event);\n }\n };\n\n function dispatchFocus(el, e) {\n if (!mouseOver) {\n focused = true;\n onOver(el, e);\n }\n }\n\n /**\n * Newly added method,\n * A wrapper around dispatchFocus to support dynamically added elements to dom\n */\n function onFocus(event) {\n if (event.target.matches(selector + ', ' + selector + ' *')) {\n dispatchFocus(event.target.closest(selector), event);\n }\n };\n\n function dispatchBlur(el, e) {\n if (!mouseOver && focused) {\n focused = false;\n onOut(el, e);\n }\n }\n\n /**\n * Newly added method,\n * A wrapper around dispatchBlur to support dynamically added elements to dom\n */\n function onBlur(event) {\n if (event.target.matches(selector + ', ' + selector + ' *')) {\n dispatchBlur(event.target.closest(selector), event);\n }\n };\n\n /**\n * Modified to support dynamically added element\n */\n function addFocus() {\n parent.addEventListener('focus', onFocus, false);\n parent.addEventListener('blur', onBlur, false);\n }\n\n /**\n * Modified to support dynamically added element\n */\n function removeFocus() {\n parent.removeEventListener('focus', onFocus, false);\n parent.removeEventListener('blur', onBlur, false);\n }\n\n /**\n * Modified to support dynamically added element\n */\n h.remove = function() {\n if (!parent) {\n return;\n }\n\n parent.removeEventListener('mouseover', onMouseOver, false);\n parent.removeEventListener('mouseout', onMouseOut, false);\n removeFocus();\n };\n\n /**\n * Modified to support dynamically added element\n */\n if (parent) {\n parent.addEventListener('mouseover', onMouseOver, false);\n parent.addEventListener('mouseout', onMouseOut, false);\n }\n\n return h;\n};\n","import wpstgHoverIntent from './modules/wpstg-hover-intent';\n\nexport default (function($) {\n const WPStagingCommon = {\n continueErrorHandle: true,\n cache: {\n elements: [],\n get: function(selector) {\n // It is already cached!\n if ($.inArray(selector, this.elements) !== -1) {\n return this.elements[selector];\n }\n\n // Create cache and return\n this.elements[selector] = $(selector);\n\n return this.elements[selector];\n },\n refresh: function(selector) {\n selector.elements[selector] = $(selector);\n },\n },\n setJobId: function(jobId) {\n localStorage.setItem('jobIdBeingProcessed', jobId);\n },\n getJobId: function() {\n return localStorage.getItem('jobIdBeingProcessed');\n },\n listenTooltip: function() {\n wpstgHoverIntent(document, '.wpstg--tooltip', function(target, event) {\n target.querySelector('.wpstg--tooltiptext').style.visibility = 'visible';\n }, function(target, event) {\n target.querySelector('.wpstg--tooltiptext').style.visibility = 'hidden';\n });\n },\n isEmpty: function(obj) {\n for (const prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n return false;\n }\n }\n\n return true;\n },\n // Get the custom themed Swal Modal for WP Staging\n // Easy to maintain now in one place now\n getSwalModal: function(isContentCentered = false, customClasses = {}) {\n // common style for all swal modal used in WP Staging\n const defaultCustomClasses = {\n confirmButton: 'wpstg--btn--confirm wpstg-blue-primary wpstg-button wpstg-link-btn wpstg-100-width',\n cancelButton: 'wpstg--btn--cancel wpstg-blue-primary wpstg-link-btn wpstg-100-width',\n actions: 'wpstg--modal--actions',\n popup: isContentCentered ? 'wpstg-swal-popup centered-modal' : 'wpstg-swal-popup',\n };\n\n // If a attribute exists in both default and additional attributes,\n // The class(es) of the additional attribute will overrite the default one.\n const options = {\n customClass: Object.assign(defaultCustomClasses, customClasses),\n buttonsStyling: false,\n reverseButtons: true,\n showClass: {\n popup: 'wpstg--swal2-show wpstg-swal-show',\n },\n };\n\n return wpstgSwal.mixin(options);\n },\n showSuccessModal: function(htmlContent) {\n this.getSwalModal().fire({\n showConfirmButton: false,\n showCancelButton: true,\n cancelButtonText: 'OK',\n icon: 'success',\n title: 'Success!',\n html: '<div class=\"wpstg--grey\" style=\"text-align: left; margin-top: 8px;\">' + htmlContent + '</div>',\n });\n },\n showWarningModal: function(htmlContent) {\n this.getSwalModal().fire({\n showConfirmButton: false,\n showCancelButton: true,\n cancelButtonText: 'OK',\n icon: 'warning',\n title: '',\n html: '<div class=\"wpstg--grey\" style=\"text-align: left; margin-top: 8px;\">' + htmlContent + '</div>',\n });\n },\n showErrorModal: function(htmlContent) {\n this.getSwalModal().fire({\n showConfirmButton: false,\n showCancelButton: true,\n cancelButtonText: 'OK',\n icon: 'error',\n title: 'Error!',\n html: '<div class=\"wpstg--grey\" style=\"text-align: left; margin-top: 8px;\">' + htmlContent + '</div>',\n });\n },\n getSwalContainer: function() {\n return wpstgSwal.getContainer();\n },\n closeSwalModal: function() {\n wpstgSwal.close();\n },\n /**\n * Treats a default response object generated by WordPress's\n * wp_send_json_success() or wp_send_json_error() functions in\n * PHP, parses it in JavaScript, and either throws if it's an error,\n * or returns the data if the response is successful.\n *\n * @param {object} response\n * @return {*}\n */\n getDataFromWordPressResponse(response) {\n if (typeof response !== 'object') {\n throw new Error('Unexpected response (ERR 1341)');\n }\n\n if (!response.hasOwnProperty('success')) {\n throw new Error('Unexpected response (ERR 1342)');\n }\n\n if (!response.hasOwnProperty('data')) {\n throw new Error('Unexpected response (ERR 1343)');\n }\n\n if (response.success === false) {\n if (response.data instanceof Array && response.data.length > 0) {\n throw new Error(response.data.shift());\n } else {\n throw new Error('Response was not successful');\n }\n } else {\n // Successful response. Return the data.\n return response.data;\n }\n },\n isLoading: function(isLoading) {\n if (!isLoading || isLoading === false) {\n WPStagingCommon.cache.get('.wpstg-loader').hide();\n } else {\n WPStagingCommon.cache.get('.wpstg-loader').show();\n }\n },\n /**\n * Convert the given url to make it slug compatible\n * @param {string} url\n * @return {string}\n */\n slugify: function(url) {\n return url.toString()\n .toLowerCase()\n .normalize('NFD')\n .replace(/[\\u0300-\\u036f]/g, '')\n .replace(/\\s+/g, '-')\n .replace(/&/g, '-and-')\n .replace(/[^a-z0-9\\-]/g, '')\n .replace(/-+/g, '-')\n .replace(/^-*/, '')\n .replace(/-*$/, '')\n ;\n },\n showAjaxFatalError: function(response, prependMessage, appendMessage) {\n prependMessage = prependMessage ? prependMessage + '<br/><br/>' : 'Something went wrong! <br/><br/>';\n appendMessage = appendMessage ? appendMessage + '<br/><br/>' : '<br/><br/>Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.';\n\n if (response === false) {\n WPStagingCommon.showError(prependMessage + ' Error: No response.' + appendMessage);\n window.removeEventListener('beforeunload', WPStaging.warnIfClosingDuringProcess);\n return;\n }\n\n if (typeof response.error !== 'undefined' && response.error) {\n WPStagingCommon.showError(prependMessage + ' Error: ' + response.message + appendMessage);\n window.removeEventListener('beforeunload', WPStaging.warnIfClosingDuringProcess);\n return;\n }\n },\n handleFetchErrors: function(response) {\n if (!response.ok) {\n WPStagingCommon.showError('Error: ' + response.status + ' - ' + response.statusText + '. Please try again or contact support.');\n }\n return response;\n },\n showError: function(message) {\n WPStagingCommon.cache.get('#wpstg-try-again').css('display', 'inline-block');\n WPStagingCommon.cache.get('#wpstg-cancel-cloning').text('Reset');\n WPStagingCommon.cache.get('#wpstg-resume-cloning').show();\n WPStagingCommon.cache.get('#wpstg-error-wrapper').show();\n WPStagingCommon.cache.get('#wpstg-error-details').show().html(message);\n WPStagingCommon.cache.get('#wpstg-removing-clone').removeClass('loading');\n WPStagingCommon.cache.get('.wpstg-loader').hide();\n $('.wpstg--modal--process--generic-problem').show().html(message);\n },\n resetErrors: function() {\n WPStagingCommon.cache.get('#wpstg-error-details').hide().html('');\n },\n /**\n * Ajax Requests\n * @param {Object} data\n * @param {Function} callback\n * @param {string} dataType\n * @param {bool} showErrors\n * @param {int} tryCount\n * @param {float} incrementRatio\n * @param {function} errorCallback\n */\n ajax: function(data, callback, dataType, showErrors, tryCount, incrementRatio = null, errorCallback = null) {\n if ('undefined' === typeof (dataType)) {\n dataType = 'json';\n }\n\n if (false !== showErrors) {\n showErrors = true;\n }\n\n tryCount = 'undefined' === typeof (tryCount) ? 0 : tryCount;\n\n const retryLimit = 10;\n\n let retryTimeout = 10000 * tryCount;\n\n incrementRatio = parseInt(incrementRatio);\n if (!isNaN(incrementRatio)) {\n retryTimeout *= incrementRatio;\n }\n\n $.ajax({\n url: ajaxurl + '?action=wpstg_processing&_=' + (Date.now() / 1000),\n type: 'POST',\n dataType: dataType,\n cache: false,\n data: data,\n error: function(xhr, textStatus, errorThrown) {\n console.log(xhr.status + ' ' + xhr.statusText + '---' + textStatus);\n\n if (typeof (errorCallback) === 'function') {\n // Custom error handler\n errorCallback(xhr, textStatus, errorThrown);\n\n if (!WPStagingCommon.continueErrorHandle) {\n // Reset state\n WPStagingCommon.continueErrorHandle = true;\n\n return;\n }\n }\n\n // Default error handler\n tryCount++;\n if (tryCount <= retryLimit) {\n setTimeout(function() {\n WPStagingCommon.ajax(data, callback, dataType, showErrors, tryCount, incrementRatio);\n return;\n }, retryTimeout);\n } else {\n const errorCode = 'undefined' === typeof (xhr.status) ? 'Unknown' : xhr.status;\n WPStagingCommon.showError(\n 'Fatal Error: ' + errorCode + ' Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.',\n );\n }\n },\n success: function(data) {\n if ('function' === typeof (callback)) {\n callback(data);\n }\n },\n statusCode: {\n 404: function() {\n if (tryCount >= retryLimit) {\n WPStagingCommon.showError('Error 404 - Can\\'t find ajax request URL! Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.');\n }\n },\n 500: function() {\n if (tryCount >= retryLimit) {\n WPStagingCommon.showError('Fatal Error 500 - Internal server error while processing the request! Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.');\n }\n },\n 504: function() {\n if (tryCount > retryLimit) {\n WPStagingCommon.showError('Error 504 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.\\n\\ ');\n }\n },\n 502: function() {\n if (tryCount >= retryLimit) {\n WPStagingCommon.showError('Error 502 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.\\n\\ ');\n }\n },\n 503: function() {\n if (tryCount >= retryLimit) {\n WPStagingCommon.showError('Error 503 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.\\n\\ ');\n }\n },\n 429: function() {\n if (tryCount >= retryLimit) {\n WPStagingCommon.showError('Error 429 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.\\n\\ ');\n }\n },\n 403: function() {\n if (tryCount >= retryLimit) {\n WPStagingCommon.showError('Refresh page or login again! The process should be finished successfully. \\n\\ ');\n }\n },\n },\n });\n },\n };\n\n return WPStagingCommon;\n})(jQuery);\n","\nimport * as dom from './wpstg-dom-utils.js';\nimport WpstgDirectoryNavigation from './wpstg-directory-navigation.js';\nimport WpstgTableSelection from './wpstg-table-selection';\nimport WpstgExcludeFilters from './wpstg-exclude-filters.js';\nimport WpstgModal from './wpstg-modal.js';\nimport WPStagingCommon from './../wpstg.js';\n\n/**\n * Manage RESET MODAL\n */\nexport default class WpstgResetModal {\n constructor(\n cloneID,\n workflowSelector = '#wpstg-workflow',\n fetchExcludeSettingsAction = 'wpstg_clone_excludes_settings',\n modalErrorAction = 'wpstg_modal_error',\n wpstgObject = wpstg,\n ) {\n this.cloneID = cloneID;\n this.workflow = dom.qs(workflowSelector);\n this.wpstgObject = wpstgObject;\n this.fetchExcludeSettingsAction = fetchExcludeSettingsAction;\n this.modalErrorAction = modalErrorAction;\n this.resetButtonClass = 'wpstg-confirm-reset-clone';\n this.resetModalContainerClass = 'wpstg-reset-confirmation';\n this.resetTabSelector = '.wpstg-reset-exclude-tab';\n this.directoryNavigator = null;\n this.excludeFilters = null;\n this.tableSelector = null;\n this.isNetworkClone = false;\n }\n\n addEvents() {\n const resetModalContainer = dom.qs('.' + this.resetModalContainerClass);\n if (resetModalContainer === null) {\n console.log('Exit');\n return;\n }\n\n dom.addEvent(resetModalContainer, 'click', this.resetTabSelector, (target) => {\n this.toggleContent(target);\n });\n }\n\n init() {\n this.addEvents();\n }\n\n setNetworkClone(isNetworkClone) {\n this.isNetworkClone = isNetworkClone;\n }\n\n toggleContent(target) {\n const resetModalContainer = dom.qs('.' + this.resetModalContainerClass);\n const contentId = target.getAttribute('data-id');\n const tabTriangle = target.querySelector('.wpstg-tab-triangle');\n const isCollapsed = target.getAttribute('data-collapsed', 'true');\n const content = dom.qs(contentId);\n if (isCollapsed === 'true') {\n if (resetModalContainer.classList.contains('has-collapsible-open')) {\n resetModalContainer.classList.add('has-collapsible-open-2');\n } else {\n resetModalContainer.classList.add('has-collapsible-open');\n }\n\n dom.slideDown(content);\n tabTriangle.style.transform = 'rotate(90deg)';\n target.setAttribute('data-collapsed', 'false');\n } else {\n if (resetModalContainer.classList.contains('has-collapsible-open-2')) {\n resetModalContainer.classList.remove('has-collapsible-open-2');\n } else {\n resetModalContainer.classList.remove('has-collapsible-open');\n }\n\n dom.slideUp(content);\n tabTriangle.style.removeProperty('transform');\n target.setAttribute('data-collapsed', 'true');\n }\n }\n\n /**\n * Show Swal alert with loader and send ajax request to fetch content of alert.\n * @return Promise\n */\n showModal() {\n const swalPromise = this.loadModal();\n this.init();\n this.fetchCloneExcludes();\n return swalPromise;\n }\n\n loadModal() {\n return WPStagingCommon.getSwalModal(false, {\n confirmButton: this.resetButtonClass + ' wpstg-confirm-reset-clone wpstg--btn--confirm wpstg-blue-primary wpstg-button wpstg-link-btn',\n container: this.resetModalContainerClass + ' wpstg-swal2-container wpstg-swal2-loading',\n }).fire({\n title: '',\n icon: 'warning',\n html: this.getAjaxLoader(),\n width: '400px',\n focusConfirm: false,\n confirmButtonText: this.wpstgObject.i18n.resetClone,\n showCancelButton: true,\n });\n }\n\n fetchCloneExcludes() {\n this.error = null;\n // send ajax request and fetch preserved exclude settings\n fetch(this.wpstgObject.ajaxUrl, {\n method: 'POST',\n credentials: 'same-origin',\n body: new URLSearchParams({\n action: this.fetchExcludeSettingsAction,\n accessToken: this.wpstgObject.accessToken,\n nonce: this.wpstgObject.nonce,\n clone: this.cloneID,\n job: 'resetting',\n }),\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n }).then((response) => {\n if (response.ok) {\n return response.json();\n }\n\n return Promise.reject(response);\n }).then((data) => {\n if (!data.success) {\n const errorModal = new WpstgModal(this.modalErrorAction, this.wpstgObject);\n errorModal.show(Object.assign({\n title: 'Error',\n icon: 'error',\n html: this.wpstgObject.i18n['somethingWentWrong'],\n width: '500px',\n confirmButtonText: 'Ok',\n showCancelButton: false,\n customClass: {\n confirmButton: 'wpstg--btn--confirm wpstg-blue-primary wpstg-button wpstg-link-btn',\n cancelButton: 'wpstg--btn--cancel wpstg-blue-primary wpstg-link-btn',\n actions: 'wpstg--modal--actions',\n popup: 'wpstg-swal-popup centered-modal',\n },\n buttonsStyling: false,\n reverseButtons: true,\n }, data.swalOptions), {\n type: data.type,\n });\n\n return;\n }\n\n const modal = dom.qs('.wpstg-reset-confirmation');\n modal.classList.remove('wpstg-swal2-loading');\n modal.querySelector('.wpstg--swal2-popup').style.width = '500px';\n modal.querySelector('.wpstg--swal2-content').innerHTML = data.html;\n this.directoryNavigator = new WpstgDirectoryNavigation();\n this.directoryNavigator.countSelectedFiles();\n this.excludeFilters = new WpstgExcludeFilters();\n this.tableSelector = new WpstgTableSelection('#wpstg-reset-excluded-tables', '.' + this.resetModalContainerClass);\n this.tableSelector.setNetworkClone(this.isNetworkClone);\n this.tableSelector.countSelectedTables();\n }).catch((error) => {\n this.renderError({\n 'html': this.wpstgObject.i18n['somethingWentWrong'] + ' ' + error,\n });\n });\n }\n\n getDirectoryNavigator() {\n return this.directoryNavigator;\n }\n\n getExcludeFilters() {\n return this.excludeFilters;\n }\n\n getTableSelector() {\n return this.tableSelector;\n }\n\n getAjaxLoader() {\n return '<div class=\"wpstg-swal2-ajax-loader\"><img src=\"' + this.wpstgObject.wpstgIcon + '\" /></div>';\n }\n}\n","import * as dom from './wpstg-dom-utils.js';\n\n/**\n * Handle toggle of advance settings checkboxes\n */\nexport default class WpstgCloningAdvanceSettings {\n constructor(\n baseContainerSelector = '#wpstg-clonepage-wrapper',\n ) {\n this.baseContainer = dom.qs(baseContainerSelector);\n this.checkBoxSettingTogglerSelector = '.wpstg-toggle-advance-settings-section';\n this.init();\n }\n\n /**\n * Add events\n * @return {void}\n */\n addEvents() {\n if (this.baseContainer === null) {\n return;\n }\n\n dom.addEvent(this.baseContainer, 'change', this.checkBoxSettingTogglerSelector, (element) => {\n this.toggleSettings(element);\n });\n }\n\n /**\n * @return {void}\n */\n init() {\n this.addEvents();\n }\n\n /**\n * Expand/Collapse checkbox content on change\n * @return {void}\n */\n toggleSettings(element) {\n const target = dom.qs('#' + element.getAttribute('data-id'));\n if (element.checked) {\n dom.slideDown(target);\n } else {\n dom.slideUp(target);\n }\n }\n}\n","import * as dom from './wpstg-dom-utils.js';\n\nexport default class WpstgMainMenu {\n constructor() {\n this.activeTabClass = 'wpstg--tab--active';\n this.mainMenu();\n }\n\n mainMenu() {\n const tabHeader = dom.qs('.wpstg--tab--header');\n // Early bail if tab header is not available\n if (tabHeader === null) {\n return;\n }\n\n dom.addEvent(dom.qs('.wpstg--tab--header'), 'click', '.wpstg-button', (element) => {\n const $this = element;\n const target = $this.getAttribute('data-target');\n const targetElements = dom.all(target);\n const menuItems = dom.all('.wpstg--tab--header a[data-target]');\n const contents = dom.all('.wpstg--tab--contents > .wpstg--tab--content');\n\n contents.forEach((content) => {\n // active tab class is without the css dot class prefix\n if (content.matches('.' + this.activeTabClass + ':not(' + target + ')')) {\n content.classList.remove(this.activeTabClass);\n }\n });\n\n menuItems.forEach((menuItem) => {\n if (menuItem !== $this) {\n menuItem.classList.remove(this.activeTabClass);\n }\n });\n\n $this.classList.add(this.activeTabClass);\n\n targetElements.forEach((targetElement) => {\n targetElement.classList.add(this.activeTabClass);\n });\n\n if ('#wpstg--tab--backup' === target) {\n window.dispatchEvent(new Event('backups-tab'));\n }\n });\n };\n}\n","import WpstgCloneStaging from './modules/wpstg-clone-staging.js';\nimport WpstgDirectoryNavigation from './modules/wpstg-directory-navigation.js';\nimport WpstgTableSelection from './modules/wpstg-table-selection.js';\nimport WpstgExcludeFilters from './modules/wpstg-exclude-filters.js';\nimport WpstgResetModal from './modules/wpstg-reset-modal.js';\nimport WpstgModal from './modules/wpstg-modal.js';\nimport WpstgCloningAdvanceSettings from './modules/wpstg-cloning-advance-settings.js';\nimport WpstgMainMenu from './modules/wpstg-main-menu.js';\nimport WPStagingCommon from './wpstg.js';\nimport {handleDisplayDependencies, handleToggleElement, handleCopyPaste, handleCopyToClipboard} from './modules/wpstg-dom-utils.js';\n\nvar WPStaging = (function($) {\n const that = {\n isCancelled: false,\n isFinished: false,\n getLogs: false,\n time: 1,\n executionTime: false,\n progressBar: 0,\n cloneExcludeFilters: null,\n directoryNavigator: null,\n tableSelector: null,\n notyf: null,\n areAllTablesChecked: true,\n handleDisplayDependencies: handleDisplayDependencies,\n handleToggleElement: handleToggleElement,\n handleCopyPaste: handleCopyPaste,\n handleCopyToClipboard: handleCopyToClipboard,\n };\n const cache = {elements: []};\n let timeout; let ajaxSpinner;\n\n /**\n * Get / Set Cache for Selector\n * @param {String} selector\n * @return {*}\n */\n cache.get = function(selector) {\n // It is already cached!\n if ($.inArray(selector, cache.elements) !== -1) {\n return cache.elements[selector];\n }\n\n // Create cache and return\n cache.elements[selector] = jQuery(selector);\n\n return cache.elements[selector];\n };\n\n /**\n * Refreshes given cache\n * @param {String} selector\n */\n cache.refresh = function(selector) {\n selector.elements[selector] = jQuery(selector);\n };\n\n /**\n * Show and Log Error Message\n * @param {String} message\n */\n const showError = function(message) {\n cache.get('#wpstg-try-again').css('display', 'inline-block');\n cache.get('#wpstg-cancel-cloning').text('Reset');\n cache.get('#wpstg-resume-cloning').show();\n cache.get('#wpstg-error-wrapper').show();\n cache.get('#wpstg-error-details').show().html(message);\n cache.get('#wpstg-removing-clone').removeClass('loading');\n cache.get('.wpstg-loader').hide();\n $('.wpstg--modal--process--generic-problem').show().html(message);\n\n // Error event information for Staging\n $.ajax({\n url: ajaxurl,\n type: 'POST',\n dataType: 'json',\n data: {\n 'action': 'wpstg_staging_job_error',\n 'accessToken': wpstg.accessToken,\n 'nonce': wpstg.nonce,\n 'error_message': message,\n },\n });\n };\n\n /**\n * Show warning during cloning or push process when closing tab or browser, or changing page\n * @param {beforeunload} event\n * @return {null}\n */\n that.warnIfClosingDuringProcess = function(event) {\n // Only some browsers show the message below, most say something like \"Changes you made may not be saved\" (Chrome) or \"You have unsaved changes. Exit?\"\n event.returnValue = 'You MUST leave this window open while cloning/pushing. Please wait...';\n return null;\n };\n\n /**\n *\n * @param response the error object\n * @param prependMessage Overwrite default error message at beginning\n * @param appendMessage Overwrite default error message at end\n * @returns void\n */\n\n const showAjaxFatalError = function(response, prependMessage, appendMessage) {\n prependMessage = prependMessage ? prependMessage + '<br/><br/>' : 'Something went wrong! <br/><br/>';\n appendMessage = appendMessage ? appendMessage + '<br/><br/>' : '<br/><br/>Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.';\n\n if (response === false) {\n showError(prependMessage + ' Error: No response.' + appendMessage);\n window.removeEventListener('beforeunload', WPStaging.warnIfClosingDuringProcess);\n return;\n }\n\n if (typeof response.error !== 'undefined' && response.error) {\n console.error(response.message);\n showError(prependMessage + ' Error: ' + response.message + appendMessage);\n window.removeEventListener('beforeunload', WPStaging.warnIfClosingDuringProcess);\n return;\n }\n };\n\n /**\n *\n * @param response\n * @return {{ok}|*}\n */\n const handleFetchErrors = function(response) {\n if (!response.ok) {\n showError('Error: ' + response.status + ' - ' + response.statusText + '. Please try again or contact support.');\n }\n return response;\n };\n\n /** Hide and reset previous thrown visible errors */\n const resetErrors = function() {\n cache.get('#wpstg-error-details').hide().html('');\n };\n\n /**\n * Common Elements\n */\n const elements = function() {\n const $workFlow = cache.get('#wpstg-workflow');\n let urlSpinner = ajaxurl.replace('/admin-ajax.php', '') + '/images/spinner';\n let timer;\n\n if (2 < window.devicePixelRatio) {\n urlSpinner += '-2x';\n }\n\n urlSpinner += '.gif';\n\n ajaxSpinner = '<img src=\\'\\'' + urlSpinner + '\\' alt=\\'\\' class=\\'ajax-spinner general-spinner\\' />';\n\n const getBaseValues = function() {\n const path = $('#wpstg-use-target-dir').data('base-path');\n const uri = $('#wpstg-use-target-hostname').data('base-uri');\n return {\n path,\n };\n };\n\n $workFlow\n /**\n .on('change', '#wpstg_network_clone', function(e) {\n e.preventDefault();\n $('.wpstg-button-select').trigger('click');\n })\n */\n // Check / Un-check All Database Tables New\n .on('click', '.wpstg-button-unselect', function(e) {\n e.preventDefault();\n\n if (false === that.areAllTablesChecked) {\n cache.get('#wpstg_select_tables_cloning .wpstg-db-table').prop('selected', 'selected');\n cache.get('.wpstg-button-unselect').text('Unselect All');\n cache.get('.wpstg-db-table-checkboxes').prop('checked', true);\n that.areAllTablesChecked = true;\n } else {\n cache.get('#wpstg_select_tables_cloning .wpstg-db-table').prop('selected', false);\n cache.get('.wpstg-button-unselect').text('Select All');\n cache.get('.wpstg-db-table-checkboxes').prop('checked', false);\n that.areAllTablesChecked = false;\n }\n })\n\n /**\n * Select tables with certain tbl prefix | NEW\n * @param obj e\n * @returns {undefined}\n */\n /**\n .on('click', '.wpstg-button-select', function(e) {\n e.preventDefault();\n $('#wpstg_select_tables_cloning .wpstg-db-table').each(function() {\n let regex = '^' + wpstg.tblprefix;\n if (wpstg.isMultisite === '1' && !$('#wpstg_network_clone').is(':checked')) {\n regex += '([^0-9])_*';\n }\n\n if ($(this).attr('name').match(regex)) {\n $(this).prop('selected', 'selected');\n } else {\n $(this).prop('selected', false);\n }\n });\n })\n\n // Expand Directories\n .on('click', '.wpstg-expand-dirs', function(e) {\n e.preventDefault();\n\n const $this = $(this);\n\n $this.siblings('.wpstg-subdir').slideToggle();\n })\n // When a directory checkbox is Selected\n .on('change', 'input.wpstg-check-dir', function() {\n const $directory = $(this).parent('.wpstg-dir');\n\n if (this.checked) {\n $directory.parents('.wpstg-dir').children('.wpstg-check-dir').prop('checked', true);\n $directory.find('.wpstg-expand-dirs').removeClass('disabled');\n $directory.find('.wpstg-subdir .wpstg-check-dir').prop('checked', true);\n } else {\n $directory.find('.wpstg-dir .wpstg-check-dir').prop('checked', false);\n $directory.find('.wpstg-expand-dirs, .wpstg-check-subdirs').addClass('disabled');\n $directory.find('.wpstg-check-subdirs').data('action', 'check').text('check');\n }\n })\n // When a directory name is Selected\n .on('change', 'href.wpstg-check-dir', function() {\n const $directory = $(this).parent('.wpstg-dir');\n\n if (this.checked) {\n $directory.parents('.wpstg-dir').children('.wpstg-check-dir').prop('checked', true);\n $directory.find('.wpstg-expand-dirs').removeClass('disabled');\n $directory.find('.wpstg-subdir .wpstg-check-dir').prop('checked', true);\n } else {\n $directory.find('.wpstg-dir .wpstg-check-dir').prop('checked', false);\n $directory.find('.wpstg-expand-dirs, .wpstg-check-subdirs').addClass('disabled');\n $directory.find('.wpstg-check-subdirs').data('action', 'check').text('check');\n }\n })\n */\n // Check the max length of the clone name and if the clone name already exists\n .on('keyup', '#wpstg-new-clone-id', function() {\n // Hide previous errors\n document.getElementById('wpstg-error-details').style.display = 'none';\n\n // This request was already sent, clear it up!\n if ('number' === typeof (timer)) {\n clearInterval(timer);\n }\n\n // Early bail if site name is empty\n if (this.value === undefined || this.value === '') {\n cache.get('#wpstg-new-clone-id').removeClass('wpstg-error-input');\n cache.get('#wpstg-start-cloning').removeAttr('disabled');\n cache.get('#wpstg-clone-id-error').text('').hide();\n return;\n }\n\n // Convert the site name to directory name (slugify the site name to create directory name)\n const cloneDirectoryName = WPStagingCommon.slugify(this.value);\n\n timer = setTimeout(\n function() {\n ajax(\n {\n action: 'wpstg_check_clone',\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n directoryName: cloneDirectoryName,\n },\n function(response) {\n if (response.status === 'success') {\n cache.get('#wpstg-new-clone-id').removeClass('wpstg-error-input');\n cache.get('#wpstg-start-cloning').removeAttr('disabled');\n cache.get('#wpstg-clone-id-error').text('').hide();\n } else {\n cache.get('#wpstg-new-clone-id').addClass('wpstg-error-input');\n cache.get('#wpstg-start-cloning').prop('disabled', true);\n cache.get('#wpstg-clone-id-error').text(response.message).show();\n }\n },\n );\n },\n 500,\n );\n })\n // Restart cloning process\n .on('click', '#wpstg-start-cloning', function() {\n resetErrors();\n that.isCancelled = false;\n that.getLogs = false;\n that.progressBar = 0;\n })\n .on('input', '#wpstg-new-clone-id', function() {\n if ($('#wpstg-clone-directory').length < 1) {\n return;\n }\n\n const slug = WPStagingCommon.slugify(this.value).substring(0, 16);\n const $targetDir = $('#wpstg-use-target-dir');\n const $targetUri = $('#wpstg-use-target-hostname');\n let path = $targetDir.data('base-path');\n let uri = $targetUri.data('base-uri');\n\n if (path) {\n path = path.replace(/\\/+$/g, '') + '/' + slug + '/';\n }\n\n if (uri) {\n uri = uri.replace(/\\/+$/g, '') + '/' + slug;\n }\n\n\n $('.wpstg-use-target-dir--value').text(path);\n $('.wpstg-use-target-hostname--value').text(uri);\n\n $targetDir.attr('data-path', path);\n $targetUri.attr('data-uri', uri);\n $('#wpstg_clone_dir').attr('placeholder', path);\n $('#wpstg_clone_hostname').attr('placeholder', uri);\n })\n .on('input', '#wpstg_clone_hostname', function() {\n if ($(this).val() === '' || validateTargetHost()) {\n $('#wpstg_clone_hostname_error').remove();\n return;\n }\n if (!validateTargetHost() && !$('#wpstg_clone_hostname_error').length) {\n $('#wpstg-clone-directory tr:last-of-type').after('<tr><td>&nbsp;</td><td><p id=\"wpstg_clone_hostname_error\" style=\"color: red;\">&nbsp;Invalid host name. Please provide it in a format like http://example.com</p></td></tr>');\n }\n })\n ;\n\n cloneActions();\n };\n\n /* @returns {boolean} */\n var validateTargetHost = function() {\n const the_domain = $('#wpstg_clone_hostname').val();\n\n if (the_domain === '') {\n return true;\n }\n\n const reg = /^http(s)?:\\/\\/.*$/;\n if (reg.test(the_domain) === false) {\n return false;\n }\n return true;\n };\n\n /**\n * Clone actions\n */\n var cloneActions = function() {\n const $workFlow = cache.get('#wpstg-workflow');\n\n $workFlow\n // Cancel cloning\n .on('click', '#wpstg-cancel-cloning', function() {\n if (!confirm('Are you sure you want to cancel cloning process?')) {\n return false;\n }\n\n const $this = $(this);\n\n $('#wpstg-try-again, #wpstg-home-link').hide();\n $this.prop('disabled', true);\n\n that.isCancelled = true;\n that.progressBar = 0;\n\n $('#wpstg-processing-status').text('Please wait...this can take up a while.');\n $('.wpstg-loader, #wpstg-show-log-button').hide();\n\n $this.parent().append(ajaxSpinner);\n\n cancelCloning();\n })\n // Resume cloning\n .on('click', '#wpstg-resume-cloning', function() {\n resetErrors();\n const $this = $(this);\n\n $('#wpstg-try-again, #wpstg-home-link').hide();\n\n that.isCancelled = false;\n\n $('#wpstg-processing-status').text('Try to resume cloning process...');\n $('#wpstg-error-details').hide();\n $('.wpstg-loader').show();\n\n $this.parent().append(ajaxSpinner);\n\n that.startCloning();\n })\n // Cancel update cloning\n .on('click', '#wpstg-cancel-cloning-update', function() {\n resetErrors();\n\n const $this = $(this);\n\n $('#wpstg-try-again, #wpstg-home-link').hide();\n $this.prop('disabled', true);\n\n that.isCancelled = true;\n\n $('#wpstg-cloning-result').text('Please wait...this can take up a while.');\n $('.wpstg-loader, #wpstg-show-log-button').hide();\n\n $this.parent().append(ajaxSpinner);\n\n cancelCloningUpdate();\n })\n // Restart cloning\n .on('click', '#wpstg-restart-cloning', function() {\n resetErrors();\n\n const $this = $(this);\n\n $('#wpstg-try-again, #wpstg-home-link').hide();\n $this.prop('disabled', true);\n\n that.isCancelled = true;\n\n $('#wpstg-cloning-result').text('Please wait...this can take up a while.');\n $('.wpstg-loader, #wpstg-show-log-button').hide();\n\n $this.parent().append(ajaxSpinner);\n\n restart();\n })\n // Delete clone - confirmation\n .on('click', '.wpstg-remove-clone[data-clone]', function(e) {\n resetErrors();\n e.preventDefault();\n\n const $existingClones = cache.get('#wpstg-existing-clones');\n\n $workFlow.removeClass('active');\n\n cache.get('.wpstg-loader').show();\n\n ajax(\n {\n action: 'wpstg_confirm_delete_clone',\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n clone: $(this).data('clone'),\n },\n function(response) {\n cache.get('#wpstg-removing-clone').html(response);\n\n $existingClones.children('img').remove();\n\n cache.get('.wpstg-loader').hide();\n\n $('html, body').animate({\n // This logic is meant to be a \"scrollBottom\"\n scrollTop: $('#wpstg-remove-clone').offset().top - $(window).height() +\n $('#wpstg-remove-clone').height() + 50,\n }, 100);\n },\n 'HTML',\n );\n })\n // Delete clone - confirmed\n .on('click', '#wpstg-remove-clone', function(e) {\n resetErrors();\n e.preventDefault();\n\n cache.get('#wpstg-removing-clone').addClass('loading');\n\n cache.get('.wpstg-loader').show();\n\n deleteClone($(this).data('clone'));\n })\n // Cancel deleting clone\n .on('click', '#wpstg-cancel-removing', function(e) {\n e.preventDefault();\n $('.wpstg-clone').removeClass('active');\n cache.get('#wpstg-removing-clone').html('');\n })\n // Update\n .on('click', '.wpstg-execute-clone', function(e) {\n e.preventDefault();\n\n const clone = $(this).data('clone');\n\n $workFlow.addClass('loading');\n that.cloneExcludeFilters = null;\n ajax(\n {\n action: 'wpstg_scanning',\n clone: clone,\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n },\n function(response) {\n if (response.length < 1) {\n showError(\n 'Something went wrong! Error: No response. Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.',\n );\n }\n\n const jsonResponse = tryParseJson(response);\n if (jsonResponse !== false && jsonResponse.success === false) {\n $workFlow.removeClass('loading');\n showErrorModal(jsonResponse);\n\n return;\n }\n\n $workFlow.removeClass('loading').html(response);\n // register check disk space function for clone update process.\n checkDiskSpace();\n that.directoryNavigator = new WpstgDirectoryNavigation('#wpstg-directories-listing', '#wpstg-workflow', wpstg, that.notyf);\n that.directoryNavigator.countSelectedFiles();\n that.tableSelector = new WpstgTableSelection('#wpstg-scanning-db', '#wpstg-workflow', '#wpstg_network_clone', '#wpstg_select_tables_cloning', wpstg, that.notyf);\n that.tableSelector.countSelectedTables();\n that.cloneExcludeFilters = new WpstgExcludeFilters();\n that.switchStep(2);\n },\n 'HTML',\n );\n })\n // Reset Clone\n .on('click', '.wpstg-reset-clone', function(e) {\n e.preventDefault();\n const clone = $(this).data('clone');\n const resetModal = new WpstgResetModal(clone);\n resetModal.setNetworkClone($(this).data('network') === 'yes');\n const promise = resetModal.showModal();\n that.areAllTablesChecked = true;\n\n promise.then((result) => {\n if (result.value) {\n const dirNavigator = resetModal.getDirectoryNavigator();\n const tableSelector = resetModal.getTableSelector();\n const exclFilters = resetModal.getExcludeFilters().getExcludeFilters();\n\n let includedTables = '';\n let excludedTables = '';\n let selectedTablesWithoutPrefix = '';\n let allTablesExcluded = false;\n\n if (tableSelector !== null) {\n includedTables = tableSelector.getIncludedTables();\n excludedTables = tableSelector.getExcludedTables();\n selectedTablesWithoutPrefix = tableSelector.getSelectedTablesWithoutPrefix();\n }\n\n if (includedTables.length > excludedTables.length) {\n includedTables = '';\n } else if (excludedTables.length > includedTables.length) {\n excludedTables = '';\n allTablesExcluded = includedTables === '';\n }\n\n resetClone(clone, {\n includedTables: includedTables,\n excludedTables: excludedTables,\n allTablesExcluded: allTablesExcluded,\n selectedTablesWithoutPrefix: selectedTablesWithoutPrefix,\n excludeSizeRules: encodeURIComponent(exclFilters.sizes),\n excludeGlobRules: encodeURIComponent(exclFilters.globs),\n excludedDirectories: dirNavigator.getExcludedDirectories(),\n extraDirectories: dirNavigator.getExtraDirectoriesRootOnly(),\n });\n }\n });\n\n return;\n });\n };\n\n /**\n * Ajax Requests\n * @param Object data\n * @param Function callback\n * @param string dataType\n * @param bool showErrors\n * @param int tryCount\n * @param float incrementRatio\n */\n var ajax = function(data, callback, dataType, showErrors, tryCount, incrementRatio = null) {\n if ('undefined' === typeof (dataType)) {\n dataType = 'json';\n }\n\n if (false !== showErrors) {\n showErrors = true;\n }\n\n tryCount = 'undefined' === typeof (tryCount) ? 0 : tryCount;\n\n const retryLimit = 5;\n\n let retryTimeout = 10000 * tryCount;\n\n incrementRatio = parseInt(incrementRatio);\n if (!isNaN(incrementRatio)) {\n retryTimeout *= incrementRatio;\n }\n\n $.ajax({\n url: ajaxurl + '?action=wpstg_processing&_=' + (Date.now() / 1000),\n type: 'POST',\n dataType: dataType,\n cache: false,\n data: data,\n error: function(xhr, textStatus, errorThrown) {\n // try again after 10 seconds\n tryCount++;\n if (tryCount <= retryLimit) {\n console.log('RETRYING ' + tryCount + '/' + retryLimit);\n setTimeout(function() {\n ajax(data, callback, dataType, showErrors, tryCount, incrementRatio);\n return;\n }, retryTimeout);\n } else {\n console.log('RETRYING LIMIT');\n const errorCode = 'undefined' === typeof (xhr.status) ? 'Unknown' : xhr.status;\n showError(\n 'Fatal Error: ' + errorCode + ' Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.',\n );\n }\n },\n success: function(data) {\n if ('function' === typeof (callback)) {\n callback(data);\n }\n },\n statusCode: {\n 404: function() {\n if (tryCount >= retryLimit) {\n showError('Error 404 - Can\\'t find ajax request URL! Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.');\n }\n },\n 500: function() {\n if (tryCount >= retryLimit) {\n showError('Fatal Error 500 - Internal server error while processing the request! Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.');\n }\n },\n 504: function() {\n if (tryCount > retryLimit) {\n showError('Error 504 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.\\n\\ ');\n }\n },\n 502: function() {\n if (tryCount >= retryLimit) {\n showError('Error 502 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.\\n\\ ');\n }\n },\n 503: function() {\n if (tryCount >= retryLimit) {\n showError('Error 503 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.\\n\\ ');\n }\n },\n 429: function() {\n if (tryCount >= retryLimit) {\n showError('Error 429 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.\\n\\ ');\n }\n },\n 403: function() {\n if (tryCount >= retryLimit) {\n showError('Refresh page or login again! The process should be finished successfully. \\n\\ ');\n }\n },\n },\n });\n };\n\n /**\n * Next / Previous Step Clicks to Navigate Through Staging Job\n */\n const stepButtons = function() {\n const $workFlow = cache.get('#wpstg-workflow');\n\n $workFlow\n // Next Button\n .on('click', '.wpstg-next-step-link', function(e) {\n e.preventDefault();\n\n const $this = $(this);\n const isScan = false;\n\n if ($('#wpstg_clone_hostname').length && !validateTargetHost()) {\n $('#wpstg_clone_hostname').focus();\n return false;\n }\n\n if ($this.data('action') === 'wpstg_update' || $this.data('action') === 'wpstg_reset') {\n // Update / Reset Clone - confirmed\n let onlyUpdateMessage = '';\n if ($this.data('action') === 'wpstg_update') {\n onlyUpdateMessage = ' \\n\\nExclude all tables and folders you do not want to overwrite, first! \\n\\nDo not cancel the updating process! This can break your staging site. \\n\\n\\Create a backup of your staging website before you proceed.';\n }\n\n if (!confirm('STOP! This will overwrite your staging site with all selected data from the production site! This should be used only if you want to clone again your production site. Are you sure you want to do this?' + onlyUpdateMessage)) {\n return false;\n }\n }\n\n // Button is disabled\n if ($this.attr('disabled')) {\n return false;\n }\n\n if ($this.data('action') === 'wpstg_cloning') {\n // Verify External Database If Checked and Not Skipped\n if ($('#wpstg-ext-db').is(':checked')) {\n verifyExternalDatabase($this, $workFlow);\n return;\n }\n }\n\n proceedCloning($this, $workFlow);\n })\n // Previous Button\n .on('click', '.wpstg-prev-step-link', function(e) {\n e.preventDefault();\n cache.get('.wpstg-loader').removeClass('wpstg-finished');\n cache.get('.wpstg-loader').hide();\n loadOverview();\n });\n };\n\n /**\n * Get Included (Checked) Database Tables\n * @return {Array}\n */\n const getIncludedTables = function() {\n const includedTables = [];\n\n $('#wpstg_select_tables_cloning option:selected').each(function() {\n includedTables.push(this.value);\n });\n\n return includedTables;\n };\n\n /**\n * Get Excluded (Unchecked) Database Tables\n * Not used anymore!\n * @return {Array}\n */\n const getExcludedTables = function() {\n const excludedTables = [];\n\n $('.wpstg-db-table input:not(:checked)').each(function() {\n excludedTables.push(this.name);\n });\n\n return excludedTables;\n };\n\n /**\n * Verify External Database for Cloning\n */\n var verifyExternalDatabase = function($this, workflow) {\n cache.get('.wpstg-loader').show();\n ajax(\n {\n action: 'wpstg_database_verification',\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n databaseUser: cache.get('#wpstg_db_username').val(),\n databasePassword: cache.get('#wpstg_db_password').val(),\n databaseServer: cache.get('#wpstg_db_server').val(),\n databaseDatabase: cache.get('#wpstg_db_database').val(),\n },\n function(response) {\n // Undefined Error\n if (false === response) {\n showError(\n 'Something went wrong! Error: No response.' +\n 'Please try again. If that does not help, ' +\n '<a href=\\'https://wp-staging.com/support/\\' target=\\'_blank\\'>open a support ticket</a> ',\n );\n cache.get('.wpstg-loader').hide();\n return;\n }\n\n // Throw Error\n if ('undefined' === typeof (response.success)) {\n showError(\n 'Something went wrong! Error: Invalid response.' +\n 'Please try again. If that does not help, ' +\n '<a href=\\'https://wp-staging.com/support/\\' target=\\'_blank\\'>open a support ticket</a> ',\n );\n cache.get('.wpstg-loader').hide();\n return;\n }\n\n if (response.success) {\n cache.get('.wpstg-loader').hide();\n proceedCloning($this, workflow);\n return;\n }\n\n if (response.error_type === 'comparison') {\n cache.get('.wpstg-loader').hide();\n let render = '<table class=\"wpstg-db-comparison-table\"><thead><tr><th>Property</th><th>Production DB</th><th>Staging DB</th><th>Status</th></tr></thead><tbody>';\n response.checks.forEach((x) => {\n let icon = '<span class=\"wpstg-css-tick\"></span>';\n if (x.production !== x.staging) {\n icon = '<span class=\"wpstg-css-cross\"></span>';\n }\n render += '<tr><td>' + x.name + '</td><td>' + x.production + '</td><td>' + x.staging + '</td><td>' + icon + '</td></tr>';\n });\n render += '</tbody></table><p>Note: Some MySQL/MariaDB properties do not match. You may proceed but the staging site may not work as expected.</p>';\n WPStagingCommon.getSwalModal(true, {\n popup: 'wpstg-swal-popup wpstg-db-comparison-modal centered-modal',\n }).fire({\n title: 'Different Database Properties',\n icon: 'warning',\n html: render,\n width: '650px',\n focusConfirm: false,\n confirmButtonText: 'Proceed',\n showCancelButton: true,\n }).then(function(result) {\n if (result.value) {\n proceedCloning($this, workflow);\n }\n });\n return;\n }\n\n WPStagingCommon.getSwalModal(true).fire({\n title: 'Different Database Properties',\n icon: 'error',\n html: response.message,\n focusConfirm: true,\n confirmButtonText: 'Ok',\n showCancelButton: false,\n });\n cache.get('.wpstg-loader').hide();\n },\n 'json',\n false,\n );\n };\n\n /**\n * Get Cloning Step Data\n */\n const getCloningData = function() {\n if ('wpstg_cloning' !== that.data.action && 'wpstg_update' !== that.data.action && 'wpstg_reset' !== that.data.action) {\n return;\n }\n\n that.data.cloneID = new Date().getTime().toString();\n if ('wpstg_update' === that.data.action) {\n that.data.cloneID = $('#wpstg-new-clone-id').data('clone');\n }\n\n that.data.cloneName = $('#wpstg-new-clone-id').val() || that.data.cloneID;\n\n if (that.directoryNavigator !== null) {\n that.data.excludedDirectories = encodeURIComponent(that.directoryNavigator.getExcludedDirectories());\n that.data.extraDirectories = encodeURIComponent(that.directoryNavigator.getExtraDirectoriesRootOnly());\n }\n\n that.data.excludeGlobRules = '';\n that.data.excludeSizeRules = '';\n if (that.cloneExcludeFilters instanceof WpstgExcludeFilters) {\n const rules = that.cloneExcludeFilters.getExcludeFilters();\n that.data.excludeGlobRules = encodeURIComponent(rules.globs);\n that.data.excludeSizeRules = encodeURIComponent(rules.sizes);\n }\n\n that.data.includedTables = '';\n that.data.excludedTables = '';\n that.data.allTablesExcluded = false;\n\n if (that.tableSelector !== null) {\n that.data.includedTables = that.tableSelector.getIncludedTables();\n that.data.excludedTables = that.tableSelector.getExcludedTables();\n that.data.selectedTablesWithoutPrefix = that.tableSelector.getSelectedTablesWithoutPrefix();\n }\n\n if (that.data.includedTables.length > that.data.excludedTables.length) {\n that.data.includedTables = '';\n } else if (that.data.excludedTables.length > that.data.includedTables.length) {\n that.data.excludedTables = '';\n that.data.allTablesExcluded = that.data.includedTables === '';\n }\n\n that.data.databaseServer = $('#wpstg_db_server').val();\n that.data.databaseUser = $('#wpstg_db_username').val();\n that.data.databasePassword = $('#wpstg_db_password').val();\n that.data.databaseDatabase = $('#wpstg_db_database').val();\n that.data.databasePrefix = $('#wpstg_db_prefix').val();\n const cloneDir = $('#wpstg_clone_dir').val();\n that.data.cloneDir = encodeURIComponent($.trim(cloneDir));\n that.data.cloneHostname = $('#wpstg_clone_hostname').val();\n that.data.emailsAllowed = $('#wpstg_allow_emails').is(':checked');\n that.data.networkClone = $('#wpstg_network_clone').is(':checked');\n that.data.uploadsSymlinked = $('#wpstg_symlink_upload').is(':checked');\n that.data.cleanPluginsThemes = $('#wpstg-clean-plugins-themes').is(':checked');\n that.data.cleanUploadsDir = $('#wpstg-clean-uploads').is(':checked');\n };\n\n var proceedCloning = function($this, workflow) {\n // Add loading overlay\n workflow.addClass('loading');\n\n // Prepare data\n that.data = {\n action: $this.data('action'),\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n };\n\n // Cloning data\n getCloningData();\n\n sendCloningAjax(workflow);\n };\n\n var sendCloningAjax = function(workflow) {\n // Send ajax request\n ajax(\n that.data,\n function(response) {\n // Undefined Error\n if (false === response) {\n showError(\n 'Something went wrong!<br/><br/> Go to WP Staging > Settings and lower \\'File Copy Limit\\' and \\'DB Query Limit\\'. Also set \\'CPU Load Priority to low \\'' +\n 'and try again. If that does not help, ' +\n '<a href=\\'https://wp-staging.com/support/\\' target=\\'_blank\\'>open a support ticket</a> ',\n );\n }\n\n\n if (response.length < 1) {\n showError(\n 'Something went wrong! No response. Go to WP Staging > Settings and lower \\'File Copy Limit\\' and \\'DB Query Limit\\'. Also set \\'CPU Load Priority to low \\'' +\n 'and try again. If that does not help, ' +\n '<a href=\\'https://wp-staging.com/support/\\' target=\\'_blank\\'>open a support ticket</a> ',\n );\n }\n\n const jsonResponse = tryParseJson(response);\n if (jsonResponse !== false && jsonResponse.success === false) {\n workflow.removeClass('loading');\n showErrorModal(jsonResponse);\n\n return;\n }\n\n // Styling of elements\n workflow.removeClass('loading').html(response);\n that.cloneExcludeFilters = null;\n if (that.data.action === 'wpstg_scanning') {\n that.areAllTablesChecked = true;\n that.directoryNavigator = new WpstgDirectoryNavigation('#wpstg-directories-listing', '#wpstg-workflow', wpstg, that.notyf);\n that.tableSelector = new WpstgTableSelection('#wpstg-scanning-db', '#wpstg-workflow', '#wpstg_network_clone', '#wpstg_select_tables_cloning', wpstg);\n that.switchStep(2);\n that.cloneExcludeFilters = new WpstgExcludeFilters();\n } else if (that.data.action === 'wpstg_cloning' || that.data.action === 'wpstg_update' || that.data.action === 'wpstg_reset') {\n that.switchStep(3);\n }\n\n // Start cloning\n that.startCloning();\n },\n 'HTML',\n );\n };\n\n var showErrorModal = function(response) {\n const errorModal = new WpstgModal('wpstg_modal_error', wpstg);\n errorModal.show(Object.assign({\n title: 'Error',\n icon: 'error',\n html: wpstg.i18n['somethingWentWrong'] + (response.message !== undefined ? ('<br/>' + response.message) : ''),\n width: '500px',\n confirmButtonText: 'Ok',\n showCancelButton: false,\n customClass: {\n confirmButton: 'wpstg--btn--confirm wpstg-blue-primary wpstg-button wpstg-link-btn',\n cancelButton: 'wpstg--btn--cancel wpstg-blue-primary wpstg-link-btn',\n actions: 'wpstg--modal--actions',\n popup: 'wpstg-swal-popup centered-modal',\n },\n buttonsStyling: false,\n reverseButtons: true,\n }, response.swalOptions), {\n type: response.type,\n });\n };\n\n const tryParseJson = function(json) {\n // early bail if not string\n if (!json) {\n return false;\n }\n\n try {\n const object = JSON.parse(json);\n if (object && typeof object === 'object') {\n return object;\n }\n } catch (e) {\n // do nothing on catch\n }\n\n return false;\n };\n\n var resetClone = function(clone, excludeOptions) {\n that.data = {\n action: 'wpstg_reset',\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n cloneID: clone,\n };\n\n that.data = {...that.data, ...excludeOptions};\n\n const $workFlow = cache.get('#wpstg-workflow');\n sendCloningAjax($workFlow);\n };\n\n /**\n * Loads Overview (first step) of Staging Job\n */\n var loadOverview = function() {\n const $workFlow = cache.get('#wpstg-workflow');\n\n $workFlow.addClass('loading');\n\n ajax(\n {\n action: 'wpstg_overview',\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n },\n function(response) {\n if (response.length < 1) {\n showError(\n 'Something went wrong! No response. Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report.',\n );\n }\n\n const $currentStep = cache.get('.wpstg-current-step');\n\n // Styling of elements\n $workFlow.removeClass('loading').html(response);\n },\n 'HTML',\n );\n\n that.switchStep(1);\n cache.get('.wpstg-step3-cloning').show();\n cache.get('.wpstg-step3-pushing').hide();\n };\n\n /**\n * Load Tabs\n */\n const tabs = function() {\n cache.get('#wpstg-workflow').on('click', '.wpstg-tab-header', function(e) {\n e.preventDefault();\n\n const $this = $(this);\n const $section = cache.get($this.data('id'));\n\n $this.toggleClass('expand');\n\n $section.slideToggle();\n\n const tabTriangle = $this.find('.wpstg-tab-triangle');\n\n if ($this.hasClass('expand')) {\n tabTriangle.removeClass('wpstg-no-icon');\n tabTriangle.text('');\n tabTriangle.addClass('wpstg-rotate-90');\n } else {\n tabTriangle.removeClass('wpstg-rotate-90');\n }\n });\n };\n\n /**\n * Delete Clone\n * @param {String} clone\n */\n var deleteClone = function(clone) {\n const deleteDir = $('#deleteDirectory:checked').data('deletepath');\n\n ajax(\n {\n action: 'wpstg_delete_clone',\n clone: clone,\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n excludedTables: getExcludedTables(),\n deleteDir: deleteDir,\n },\n function(response) {\n if (response) {\n showAjaxFatalError(response);\n\n // Finished\n if ('undefined' !== typeof response.delete && (response.delete === 'finished' || response.delete === 'unfinished')) {\n cache.get('#wpstg-removing-clone').removeClass('loading').html('');\n\n if (response.delete === 'finished' && response.error === undefined) {\n $('.wpstg-clone[data-clone-id=\"' + clone + '\"]').remove();\n }\n\n // No staging site message is also of type/class .wpstg-class but hidden\n // We have just excluded that from search when counting no of clones\n if ($('#wpstg-existing-clones .wpstg-clone').length < 1) {\n cache.get('#wpstg-existing-clones').find('h3').text('');\n cache.get('#wpstg-no-staging-site-results').show();\n }\n\n cache.get('.wpstg-loader').hide();\n return;\n }\n }\n // continue\n if (true !== response) {\n deleteClone(clone);\n return;\n }\n },\n );\n };\n\n /**\n * Cancel Cloning Process\n */\n var cancelCloning = function() {\n that.timer('stop');\n\n\n if (true === that.isFinished) {\n return true;\n }\n\n ajax(\n {\n action: 'wpstg_cancel_clone',\n clone: that.data.cloneID,\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n },\n function(response) {\n if (response && 'undefined' !== typeof (response.delete) && response.delete === 'finished') {\n cache.get('.wpstg-loader').hide();\n // Load overview\n loadOverview();\n return;\n }\n\n if (true !== response) {\n // continue\n cancelCloning();\n return;\n }\n\n // Load overview\n loadOverview();\n },\n );\n };\n\n /**\n * Cancel Cloning Process\n */\n var cancelCloningUpdate = function() {\n if (true === that.isFinished) {\n return true;\n }\n\n ajax(\n {\n action: 'wpstg_cancel_update',\n clone: that.data.cloneID,\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n },\n function(response) {\n if (response && 'undefined' !== typeof (response.delete) && response.delete === 'finished') {\n // Load overview\n loadOverview();\n return;\n }\n\n if (true !== response) {\n // continue\n cancelCloningUpdate();\n return;\n }\n\n // Load overview\n loadOverview();\n },\n );\n };\n\n /**\n * Cancel Cloning Process\n */\n var restart = function() {\n if (true === that.isFinished) {\n return true;\n }\n\n ajax(\n {\n action: 'wpstg_restart',\n // clone: that.data.cloneID,\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n },\n function(response) {\n if (response && 'undefined' !== typeof (response.delete) && response.delete === 'finished') {\n // Load overview\n loadOverview();\n return;\n }\n\n if (true !== response) {\n // continue\n cancelCloningUpdate();\n return;\n }\n\n // Load overview\n loadOverview();\n },\n );\n };\n\n /**\n * Scroll the window log to bottom\n * @return void\n */\n const logscroll = function() {\n const $div = cache.get('.wpstg-log-details');\n if ('undefined' !== typeof ($div[0])) {\n $div.scrollTop($div[0].scrollHeight);\n }\n };\n\n /**\n * Append the log to the logging window\n * @param string log\n * @return void\n */\n const getLogs = function(log) {\n if (log != null && 'undefined' !== typeof (log)) {\n if (log.constructor === Array) {\n $.each(log, function(index, value) {\n if (value === null) {\n return;\n }\n if (value.type === 'ERROR') {\n cache.get('.wpstg-log-details').append('<span class=\"wpstg--red\">[' + value.type + ']</span>-' + '[' + value.date + '] ' + value.message + '</br>');\n } else {\n cache.get('.wpstg-log-details').append('[' + value.type + ']-' + '[' + value.date + '] ' + value.message + '</br>');\n }\n });\n } else {\n cache.get('.wpstg-log-details').append('[' + log.type + ']-' + '[' + log.date + '] ' + log.message + '</br>');\n }\n }\n logscroll();\n };\n\n /**\n * Check diskspace\n * @return string json\n */\n var checkDiskSpace = function() {\n cache.get('#wpstg-check-space').on('click', function(e) {\n cache.get('.wpstg-loader').show();\n const excludedDirectories = encodeURIComponent(that.directoryNavigator.getExcludedDirectories());\n const extraDirectories = encodeURIComponent(that.directoryNavigator.getExtraDirectoriesRootOnly());\n\n ajax(\n {\n action: 'wpstg_check_disk_space',\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n excludedDirectories: excludedDirectories,\n extraDirectories: extraDirectories,\n },\n function(response) {\n if (false === response) {\n cache.get('#wpstg-clone-id-error').text('Can not detect required disk space').show();\n cache.get('.wpstg-loader').hide();\n return;\n }\n\n // Show required disk space\n cache.get('#wpstg-clone-id-error').html(\n 'Estimated necessary disk space: ' + response.requiredSpace +\n (response.errorMessage !== null ? ('<br>' + response.errorMessage) : '') +\n '<br> <span style=\"color:#444;\">Before you proceed ensure your account has enough free disk space to hold the entire instance of the production site. You can check the available space from your hosting account (cPanel or similar).</span>').show();\n cache.get('.wpstg-loader').hide();\n },\n 'json',\n false,\n );\n });\n };\n\n /**\n * Show or hide animated loading icon\n * @param isLoading bool\n */\n const isLoading = function(isLoading) {\n if (!isLoading || isLoading === false) {\n cache.get('.wpstg-loader').hide();\n } else {\n cache.get('.wpstg-loader').show();\n }\n };\n\n /**\n * Count up processing execution time\n * @param string status\n * @return html\n */\n that.timer = function(status) {\n if (status === 'stop') {\n const time = that.time;\n that.time = 1;\n clearInterval(that.executionTime);\n return that.convertSeconds(time);\n }\n\n\n that.executionTime = setInterval(function() {\n if (null !== document.getElementById('wpstg-processing-timer')) {\n document.getElementById('wpstg-processing-timer').innerHTML = 'Elapsed Time: ' + that.convertSeconds(that.time);\n }\n that.time++;\n if (status === 'stop') {\n that.time = 1;\n clearInterval(that.executionTime);\n }\n }, 1000);\n };\n\n /**\n * Convert seconds to hourly format\n * @param int seconds\n * @return string\n */\n that.convertSeconds = function(seconds) {\n const date = new Date(null);\n date.setSeconds(seconds); // specify value for SECONDS here\n return date.toISOString().substr(11, 8);\n };\n\n /**\n * Start Cloning Process\n * @type {Function}\n */\n that.startCloning = (function() {\n resetErrors();\n\n // Register function for checking disk space\n checkDiskSpace();\n\n if ('wpstg_cloning' !== that.data.action && 'wpstg_update' !== that.data.action && 'wpstg_reset' !== that.data.action) {\n return;\n }\n\n that.isCancelled = false;\n\n // Start the process\n start();\n\n // Functions\n // Start\n function start() {\n cache.get('.wpstg-loader').show();\n cache.get('#wpstg-cancel-cloning').text('Cancel');\n cache.get('#wpstg-resume-cloning').hide();\n cache.get('#wpstg-error-details').hide();\n\n\n // Clone Database\n setTimeout(function() {\n // cloneDatabase();\n window.addEventListener('beforeunload', WPStaging.warnIfClosingDuringProcess);\n processing();\n }, wpstg.delayReq);\n\n that.timer('start');\n }\n\n\n /**\n * Start ajax processing\n * @return string\n */\n var processing = function() {\n if (true === that.isCancelled) {\n window.removeEventListener('beforeunload', WPStaging.warnIfClosingDuringProcess);\n return false;\n }\n\n isLoading(true);\n\n let excludedDirectories = '';\n let extraDirectories = '';\n if (that.directoryNavigator !== null) {\n excludedDirectories = that.directoryNavigator.getExcludedDirectories();\n extraDirectories = that.directoryNavigator.getExtraDirectoriesRootOnly();\n }\n\n // Show logging window\n cache.get('.wpstg-log-details').show();\n\n WPStaging.ajax(\n {\n action: 'wpstg_processing',\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n excludedTables: getExcludedTables(),\n excludedDirectories: encodeURIComponent(excludedDirectories),\n extraDirectories: encodeURIComponent(extraDirectories),\n },\n function(response) {\n showAjaxFatalError(response);\n\n // Add Log messages\n if ('undefined' !== typeof (response.last_msg) && response.last_msg) {\n getLogs(response.last_msg);\n }\n // Continue processing\n if (false === response.status) {\n progressBar(response);\n\n setTimeout(function() {\n cache.get('.wpstg-loader').show();\n processing();\n }, wpstg.delayReq);\n } else if (true === response.status && 'finished' !== response.status) {\n cache.get('#wpstg-error-details').hide();\n cache.get('#wpstg-error-wrapper').hide();\n progressBar(response, true);\n processing();\n } else if ('finished' === response.status || ('undefined' !== typeof (response.job_done) && response.job_done)) {\n window.removeEventListener('beforeunload', WPStaging.warnIfClosingDuringProcess);\n finish(response);\n }\n ;\n },\n 'json',\n false,\n );\n };\n\n // Finish\n function finish(response) {\n if (true === that.getLogs) {\n getLogs();\n }\n\n progressBar(response);\n\n // Add Log\n if ('undefined' !== typeof (response.last_msg)) {\n getLogs(response.last_msg);\n }\n\n cache.get('.wpstg-loader').hide();\n cache.get('#wpstg-processing-header').html('Processing Complete');\n $('#wpstg-processing-status').text('Succesfully finished');\n\n cache.get('#wpstg_staging_name').html(that.data.cloneID);\n cache.get('#wpstg-finished-result').show();\n cache.get('#wpstg-cancel-cloning').hide();\n cache.get('#wpstg-resume-cloning').hide();\n cache.get('#wpstg-cancel-cloning-update').prop('disabled', true);\n\n const $link1 = cache.get('#wpstg-clone-url-1');\n const $link = cache.get('#wpstg-clone-url');\n $link1.attr('href', response.url);\n $link1.html(response.url);\n $link.attr('href', response.url);\n\n cache.get('#wpstg-remove-clone').data('clone', that.data.cloneID);\n\n // Finished\n that.isFinished = true;\n that.timer('stop');\n\n\n cache.get('.wpstg-loader').hide();\n cache.get('#wpstg-processing-header').html('Processing Complete');\n\n // show alert\n let msg = wpstg.i18n.cloneResetComplete;\n if (that.data.action === 'wpstg_update') {\n msg = wpstg.i18n.cloneUpdateComplete;\n }\n\n if (that.data.action === 'wpstg_update' || that.data.action === 'wpstg_reset') {\n cache.get('#wpstg-cancel-cloning-update').hide();\n cache.get('.wpstg-prev-step-link').show();\n\n WPStagingCommon.getSwalModal(true, {\n confirmButton: 'wpstg--btn--confirm wpstg-green-button wpstg-button wpstg-link-btn wpstg-100-width',\n }).fire({\n title: '',\n icon: 'success',\n html: msg,\n width: '500px',\n focusConfirm: true,\n });\n }\n\n return false;\n }\n\n /**\n * Add percentage progress bar\n * @param object response\n * @return {Boolean}\n */\n var progressBar = function(response, restart) {\n if ('undefined' === typeof (response.percentage)) {\n return false;\n }\n\n if (response.job === 'database') {\n cache.get('#wpstg-progress-db').width(response.percentage * 0.2 + '%').html(response.percentage + '%');\n cache.get('#wpstg-processing-status').html(response.percentage.toFixed(0) + '%' + ' - Step 1 of 4 Cloning Database Tables...');\n }\n\n if (response.job === 'SearchReplace') {\n cache.get('#wpstg-progress-db').css('background-color', '#3bc36b');\n cache.get('#wpstg-progress-db').html('1. Database');\n // Assumption: All previous steps are done.\n // This avoids bugs where some steps are skipped and the progress bar is incomplete as a result\n cache.get('#wpstg-progress-db').width('20%');\n\n cache.get('#wpstg-progress-sr').width(response.percentage * 0.1 + '%').html(response.percentage + '%');\n cache.get('#wpstg-processing-status').html(response.percentage.toFixed(0) + '%' + ' - Step 2 of 4 Preparing Database Data...');\n }\n\n if (response.job === 'directories') {\n cache.get('#wpstg-progress-sr').css('background-color', '#3bc36b');\n cache.get('#wpstg-progress-sr').html('2. Data');\n cache.get('#wpstg-progress-sr').width('10%');\n\n cache.get('#wpstg-progress-dirs').width(response.percentage * 0.1 + '%').html(response.percentage + '%');\n cache.get('#wpstg-processing-status').html(response.percentage.toFixed(0) + '%' + ' - Step 3 of 4 Getting files...');\n }\n if (response.job === 'files') {\n cache.get('#wpstg-progress-dirs').css('background-color', '#3bc36b');\n cache.get('#wpstg-progress-dirs').html('3. Files');\n cache.get('#wpstg-progress-dirs').width('10%');\n\n cache.get('#wpstg-progress-files').width(response.percentage * 0.6 + '%').html(response.percentage + '%');\n cache.get('#wpstg-processing-status').html(response.percentage.toFixed(0) + '%' + ' - Step 4 of 4 Copy files...');\n }\n if (response.job === 'finish') {\n cache.get('#wpstg-progress-files').css('background-color', '#3bc36b');\n cache.get('#wpstg-progress-files').html('4. Copy Files');\n cache.get('#wpstg-progress-files').width('60%');\n\n cache.get('#wpstg-processing-status').html(response.percentage.toFixed(0) + '%' + ' - Cloning Process Finished');\n }\n };\n });\n\n that.switchStep = function(step) {\n cache.get('.wpstg-current-step')\n .removeClass('wpstg-current-step');\n cache.get('.wpstg-step' + step)\n .addClass('wpstg-current-step');\n };\n\n /**\n * Initiation\n * @type {Function}\n */\n that.init = (function() {\n loadOverview();\n elements();\n stepButtons();\n tabs();\n WPStagingCommon.listenTooltip();\n new WpstgMainMenu();\n new WpstgCloneStaging();\n new WpstgCloningAdvanceSettings();\n that.notyf = new Notyf({\n duration: 10000,\n position: {\n x: 'center',\n y: 'bottom',\n },\n dismissible: true,\n types: [\n {\n type: 'warning',\n background: 'orange',\n icon: false,\n },\n ],\n });\n });\n\n /**\n * Ajax call\n * @type {ajax}\n */\n that.ajax = ajax;\n that.showError = showError;\n that.getLogs = getLogs;\n that.loadOverview = loadOverview;\n\n return that;\n})(jQuery);\n\njQuery(document).ready(function() {\n WPStaging.init();\n // This is necessary to make WPStaging var accessibile in WP Staging PRO js script\n window.WPStaging = WPStaging;\n});\n\n/**\n * Report Issue modal\n */\njQuery(document).ready(function($) {\n $('body').on('click', '#wpstg-report-issue-button', function(e) {\n console.log('REPORT');\n $('.wpstg--tab--active .wpstg-report-issue-form').toggleClass('wpstg-report-show');\n e.preventDefault();\n });\n\n $('body').on('click', '#wpstg-backups-report-issue-button', function(e) {\n $('.wpstg--tab--active .wpstg-report-issue-form').toggleClass('wpstg-report-show');\n e.preventDefault();\n });\n\n $('body').on('click', '#wpstg-report-cancel', function(e) {\n $('.wpstg--tab--active .wpstg-report-issue-form').removeClass('wpstg-report-show');\n e.preventDefault();\n });\n\n $('body').on('click', '.wpstg--tab--active #wpstg-report-submit', function(e) {\n const self = $(this);\n sendIssueReport(self, 'false');\n e.preventDefault();\n });\n\n /*\n * Close Success Modal\n */\n\n $('body').on('click', '#wpstg-success-button', function(e) {\n e.preventDefault();\n $('.wpstg-report-issue-form').removeClass('wpstg-report-show');\n });\n\n function sendIssueReport(button, forceSend = 'false') {\n const spinner = button.next();\n const email = $('.wpstg--tab--active .wpstg-report-email').val();\n const hosting_provider = $('.wpstg--tab--active .wpstg-report-hosting-provider').val();\n const message = $('.wpstg--tab--active .wpstg-report-description').val();\n const syslog = $('.wpstg--tab--active .wpstg-report-syslog').is(':checked');\n const terms = $('.wpstg--tab--active .wpstg-report-terms').is(':checked');\n\n button.attr('disabled', true);\n spinner.css('visibility', 'visible');\n\n $.ajax({\n url: ajaxurl,\n type: 'POST',\n dataType: 'json',\n async: true,\n data: {\n 'action': 'wpstg_send_report',\n 'accessToken': wpstg.accessToken,\n 'nonce': wpstg.nonce,\n 'wpstg_email': email,\n 'wpstg_provider': hosting_provider,\n 'wpstg_message': message,\n 'wpstg_syslog': +syslog,\n 'wpstg_terms': +terms,\n 'wpstg_force_send': forceSend,\n },\n }).done(function(data) {\n button.attr('disabled', false);\n spinner.css('visibility', 'hidden');\n\n if (data.errors.length > 0) {\n $('.wpstg--tab--active .wpstg-report-issue-form .wpstg-message').remove();\n\n let errorMessage = $('<div />').addClass('wpstg-message wpstg-error-message');\n $.each(data.errors, function(key, value) {\n if (value.status === 'already_submitted') {\n errorMessage = '';\n // TODO: remove default custom classes\n WPStagingCommon.getSwalModal(true, {\n container: 'wpstg-issue-resubmit-confirmation',\n }).fire({\n title: '',\n icon: 'warning',\n html: value.message,\n showCancelButton: true,\n focusConfirm: false,\n confirmButtonText: 'Yes',\n cancelButtonText: 'No',\n }).then((result) => {\n if (result.isConfirmed) {\n sendIssueReport(button, 'true');\n }\n });\n } else {\n errorMessage.append('<p>' + value + '</p>');\n }\n });\n\n $('.wpstg--tab--active .wpstg-report-issue-form').prepend(errorMessage);\n } else {\n const successMessage = $('<div />').addClass('wpstg-message wpstg-success-message');\n successMessage.append('<p>Thanks for submitting your request! You should receive an auto reply mail with your ticket ID immediately for confirmation!<br><br>If you do not get that mail please contact us directly at <strong>support@wp-staging.com</strong></p>');\n\n $('.wpstg--tab--active .wpstg-report-issue-form').html(successMessage);\n $('.wpstg--tab--active .wpstg-success-message').append('<div style=\"float:right;margin-top:10px;\"><a id=\"wpstg-success-button\" href=\"#\" class=\"wpstg--red\">[X] CLOSE</a></div>');\n\n // Hide message\n setTimeout(function() {\n $('.wpstg--tab--active .wpstg-report-issue-form').removeClass('wpstg-report-active');\n }, 2000);\n }\n });\n }\n\n // Open/close actions drop down menu\n $(document).on('click', '.wpstg-dropdown>.wpstg-dropdown-toggler', function(e) {\n e.preventDefault();\n $(e.target).next('.wpstg-dropdown-menu').toggleClass('shown');\n\n $(e.target).find('.wpstg-caret').toggleClass('wpstg-caret-up');\n });\n\n $(document).on('click', '.wpstg-caret', function(e) {\n e.preventDefault();\n\n const toggler = $(e.target).closest('.wpstg-dropdown-toggler');\n\n if (toggler) {\n toggler.trigger('click');\n }\n });\n\n // Close action drop down menu if clicked anywhere outside\n document.addEventListener('click', function(event) {\n const isClickInside = event.target.closest('.wpstg-dropdown-toggler');\n if (!isClickInside) {\n const dropDown = document.getElementsByClassName('wpstg-dropdown-menu');\n for (let i = 0; i < dropDown.length; i++) {\n dropDown[i].classList.remove('shown');\n }\n $('.wpstg-caret').removeClass('wpstg-caret-up');\n }\n });\n\n // \"Event info\" for backup errors\n window.addEventListener('finishedProcessWithError', function(customEvent) {\n $.ajax({\n url: ajaxurl,\n type: 'POST',\n dataType: 'json',\n data: {\n 'action': 'wpstg_job_error',\n 'accessToken': wpstg.accessToken,\n 'nonce': wpstg.nonce,\n 'error_message': customEvent.detail.error,\n 'job_id': WPStagingCommon.getJobId(),\n },\n });\n });\n});\n"],"names":["polyfillClosest","Element","prototype","closest","matches","msMatchesSelector","webkitMatchesSelector","s","el","call","parentElement","parentNode","nodeType","element","selector","qs","document","querySelector","all","querySelectorAll","addEvent","parent","evt","handler","addEventListener","event","target","slideDown","duration","style","display","overflow","height","offsetHeight","transitionProperty","transitionDuration","setTimeout","window","removeProperty","slideUp","getNextSibling","sibling","nextElementSibling","getParents","result","push","handleDisplayDependencies","id","containerSelector","hiddenClass","elementType","getAttribute","container","showIfChecked","showIfUnchecked","checked","length","classList","remove","add","handleToggleElement","elements","toggle","handleCopyPaste","navigator","clipboard","writeText","value","handleCopyToClipboard","WpstgCloneStaging","pageWrapperId","wpstgObject","wpstg","pageWrapper","dom","enableButtonId","enableAction","notyf","Notyf","position","x","y","dismissible","types","type","background","icon","init","addEvents","sendRequest","action","fetch","ajaxUrl","method","credentials","body","URLSearchParams","accessToken","nonce","headers","then","response","ok","json","Promise","reject","data","success","location","reload","message","error","i18n","console","warn","WpstgDirectoryNavigation","directoryListingSelector","workflowSelector","directoryListingContainer","workflow","dirCheckboxSelector","dirExpandSelector","unselectAllDirsSelector","selectDefaultDirsSelector","fetchChildrenAction","currentCheckboxElement","currentParentDiv","currentLoader","existingExcludes","excludedDirectories","isDefaultSelected","log","preventDefault","toggleDirExpand","unselectAll","selectDefault","toggleDirectoryNavigation","updateDirectorySelection","parseExcludes","previousSibling","changed","dirPath","isChecked","forceDefault","setAttribute","dirContainer","createElement","innerHTML","JSON","parse","directoryListing","appendChild","alert","getExcludedDirectories","forEach","isParentExcluded","exclude","isScanned","join","settings","directorySeparator","path","isParentAlreadyExcluded","dir","startsWith","getExtraDirectoriesRootOnly","extraDirectories","extraDirectoriesTextArea","extraCustomDirectories","split","concat","countSelectedFiles","map","substr","slice","scanned","cbElement","subDirectories","parElem","i","children","themesCount","pluginsCount","filesCountElement","replace","WpstgTableSelection","databaseTableSectionSelector","networkCloneSelector","inputSelector","databaseTableSection","networkCloneCheckbox","isAllTablesChecked","isMultisite","isNetworkClone","input","setNetworkClone","selectDefaultTables","countSelectedTables","toggleTableSelection","getRegexPattern","pattern","tblprefix","isNetwork","undefined","options","regexPattern","option","name","match","selected","getSelectedTablesWithoutPrefix","selectedTablesWithoutPrefix","getIncludedTables","includedTables","getExcludedTables","excludedTables","tablesCount","tablesCountElement","WpstgExcludeFilters","excludeFilterContainerSelector","excludeContainer","excludeTableBody","addFileSizeExclude","addFileExtExclude","addFileNameExclude","addDirNameExclude","clearExcludes","removeExclude","addExcludeRuleRow","templateName","excludeRowTemplate","clone","content","cloneNode","excludeRow","e","removeChild","trim","getExcludeFilters","globExcludes","sizeExcludes","sizeCompares","sizeSizes","sizeByte","Object","entries","key","sizeInput","extensionInputs","ext","cleanStringForGlob","fileNamesPos","fileNames","fileInput","fileName","cleanStringForGlobExactMatches","dirNamesPos","dirNames","dirInput","dirName","filter","onlyUnique","index","self","indexOf","WpstgModal","confirmAction","show","swalOptions","additionalParams","callback","wpstgSwal","fire","triggerConfirmAction","assign","onOver","onOut","pX","pY","mouseOver","focused","h","state","timer","sensitivity","interval","timeout","handleFocus","delay","clearTimeout","tracker","clientX","clientY","compare","Math","abs","opt","focusOptionChanged","addFocus","removeFocus","dispatchOver","removeEventListener","onMouseOver","dispatchOut","onMouseOut","dispatchFocus","onFocus","dispatchBlur","onBlur","$","WPStagingCommon","continueErrorHandle","cache","get","inArray","refresh","setJobId","jobId","localStorage","setItem","getJobId","getItem","listenTooltip","wpstgHoverIntent","visibility","isEmpty","obj","prop","hasOwnProperty","getSwalModal","isContentCentered","customClasses","defaultCustomClasses","confirmButton","cancelButton","actions","popup","customClass","buttonsStyling","reverseButtons","showClass","mixin","showSuccessModal","htmlContent","showConfirmButton","showCancelButton","cancelButtonText","title","html","showWarningModal","showErrorModal","getSwalContainer","getContainer","closeSwalModal","close","getDataFromWordPressResponse","Error","Array","shift","isLoading","hide","slugify","url","toString","toLowerCase","normalize","showAjaxFatalError","prependMessage","appendMessage","showError","WPStaging","warnIfClosingDuringProcess","handleFetchErrors","status","statusText","css","text","removeClass","resetErrors","ajax","dataType","showErrors","tryCount","incrementRatio","errorCallback","retryLimit","retryTimeout","parseInt","isNaN","ajaxurl","Date","now","xhr","textStatus","errorThrown","errorCode","statusCode","jQuery","WpstgResetModal","cloneID","fetchExcludeSettingsAction","modalErrorAction","resetButtonClass","resetModalContainerClass","resetTabSelector","directoryNavigator","excludeFilters","tableSelector","resetModalContainer","toggleContent","contentId","tabTriangle","isCollapsed","contains","transform","showModal","swalPromise","loadModal","fetchCloneExcludes","getAjaxLoader","width","focusConfirm","confirmButtonText","resetClone","job","errorModal","modal","renderError","getDirectoryNavigator","getTableSelector","wpstgIcon","WpstgCloningAdvanceSettings","baseContainerSelector","baseContainer","checkBoxSettingTogglerSelector","toggleSettings","WpstgMainMenu","activeTabClass","mainMenu","tabHeader","$this","targetElements","menuItems","contents","menuItem","targetElement","dispatchEvent","Event","that","isCancelled","isFinished","getLogs","time","executionTime","progressBar","cloneExcludeFilters","areAllTablesChecked","ajaxSpinner","returnValue","$workFlow","urlSpinner","devicePixelRatio","on","getElementById","clearInterval","removeAttr","cloneDirectoryName","directoryName","addClass","slug","substring","$targetDir","$targetUri","uri","attr","val","validateTargetHost","after","cloneActions","the_domain","reg","test","confirm","append","cancelCloning","startCloning","cancelCloningUpdate","restart","$existingClones","animate","scrollTop","offset","top","deleteClone","jsonResponse","tryParseJson","checkDiskSpace","switchStep","resetModal","promise","dirNavigator","exclFilters","allTablesExcluded","excludeSizeRules","encodeURIComponent","sizes","excludeGlobRules","globs","stepButtons","focus","onlyUpdateMessage","is","verifyExternalDatabase","proceedCloning","loadOverview","each","databaseUser","databasePassword","databaseServer","databaseDatabase","error_type","render","checks","production","staging","getCloningData","getTime","cloneName","rules","databasePrefix","cloneDir","cloneHostname","emailsAllowed","networkClone","uploadsSymlinked","cleanPluginsThemes","cleanUploadsDir","sendCloningAjax","object","excludeOptions","tabs","$section","toggleClass","slideToggle","find","hasClass","deleteDir","logscroll","$div","scrollHeight","constructor","date","requiredSpace","errorMessage","convertSeconds","setInterval","seconds","setSeconds","toISOString","start","processing","delayReq","last_msg","job_done","finish","$link1","$link","msg","cloneResetComplete","cloneUpdateComplete","percentage","toFixed","step","ready","sendIssueReport","button","forceSend","spinner","next","email","hosting_provider","syslog","terms","async","done","errors","isConfirmed","prepend","successMessage","toggler","trigger","isClickInside","dropDown","getElementsByClassName","customEvent","detail"],"mappings":"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