Hummingbird Page Speed Optimization - Version 2.7.4

Version Description

( 2021-04-28) =

  • Fix broken package on wp.org
Download this release

Release Info

Developer vanyukov
Plugin Icon 128x128 Hummingbird Page Speed Optimization
Version 2.7.4
Comparing to
See all releases

Code changes from version 2.7.3 to 2.7.4

Files changed (46) hide show
  1. admin/assets/css/critical.css +0 -0
  2. admin/assets/css/wphb-global.min.css +5196 -0
  3. core/Pro/admin/class-pro-admin.php +0 -548
  4. core/Pro/admin/views/advanced/db-settings-meta-box-footer.php +0 -26
  5. core/Pro/admin/views/advanced/db-settings-meta-box.php +0 -64
  6. core/Pro/admin/views/common/reports-meta-box-footer.php +0 -19
  7. core/Pro/admin/views/common/reports-meta-box.php +0 -226
  8. core/Pro/admin/views/dashboard/reports/meta-box.php +0 -95
  9. core/Pro/admin/views/uptime/notifications-meta-box.php +0 -155
  10. core/Pro/class-pro-ajax.php +0 -362
  11. core/Pro/class-pro.php +0 -142
  12. core/Pro/modules/class-cleanup-cron.php +0 -141
  13. core/Pro/modules/class-reporting-cron.php +0 -184
  14. core/Pro/modules/class-reports.php +0 -296
  15. core/Pro/modules/class-uptime-reports.php +0 -161
  16. core/Pro/modules/reporting/templates/body.php +0 -44
  17. core/Pro/modules/reporting/templates/footer.php +0 -55
  18. core/Pro/modules/reporting/templates/header.php +0 -38
  19. core/Pro/modules/reporting/templates/images/header.png +0 -0
  20. core/Pro/modules/reporting/templates/images/header@2x.png +0 -0
  21. core/Pro/modules/reporting/templates/images/icon-desktop.png +0 -0
  22. core/Pro/modules/reporting/templates/images/icon-desktop@2x.png +0 -0
  23. core/Pro/modules/reporting/templates/images/icon-down.png +0 -0
  24. core/Pro/modules/reporting/templates/images/icon-down@2x.png +0 -0
  25. core/Pro/modules/reporting/templates/images/icon-error.png +0 -0
  26. core/Pro/modules/reporting/templates/images/icon-mobile.png +0 -0
  27. core/Pro/modules/reporting/templates/images/icon-mobile@2x.png +0 -0
  28. core/Pro/modules/reporting/templates/images/icon-notice.png +0 -0
  29. core/Pro/modules/reporting/templates/images/icon-success.png +0 -0
  30. core/Pro/modules/reporting/templates/images/icon-up.png +0 -0
  31. core/Pro/modules/reporting/templates/images/icon-up@2x.png +0 -0
  32. core/Pro/modules/reporting/templates/images/icon-warning.png +0 -0
  33. core/Pro/modules/reporting/templates/images/wpmudev.png +0 -0
  34. core/Pro/modules/reporting/templates/index.php +0 -19
  35. core/Pro/modules/reporting/templates/performance.php +0 -480
  36. core/Pro/modules/reporting/templates/uptime.php +0 -108
  37. readme.txt +6 -2
  38. vendor/autoload.php +1 -1
  39. vendor/composer/InstalledVersions.php +0 -614
  40. vendor/composer/autoload_classmap.php +17 -17
  41. vendor/composer/autoload_real.php +4 -4
  42. vendor/composer/autoload_static.php +21 -21
  43. vendor/composer/installed.json +0 -4
  44. vendor/composer/installed.php +0 -429
  45. vendor/composer/platform_check.php +0 -26
  46. wp-hummingbird.php +2 -2
admin/assets/css/critical.css ADDED
File without changes
admin/assets/css/wphb-global.min.css ADDED
@@ -0,0 +1,5196 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @import url(https://fonts.googleapis.com/css?family=Roboto+Condensed:400,500,700|Roboto:400,500,700);
2
+ .sui-screen-reader-text,
3
+ .sui-2-3-29 .sui-wrap .sui-multi-checkbox label input,
4
+ .sui-2-3-29 .sui-wrap .sui-insert-variables .sui-variables+.select2 .select2-selection--single .select2-selection__rendered {
5
+ border: 0;
6
+ clip: rect(1px, 1px, 1px, 1px);
7
+ -webkit-clip-path: inset(50%);
8
+ clip-path: inset(50%);
9
+ height: 1px;
10
+ margin: -1px;
11
+ overflow: hidden;
12
+ padding: 0;
13
+ position: absolute !important;
14
+ width: 1px;
15
+ word-wrap: normal !important;
16
+ }
17
+
18
+ .sui-2-3-29 .sui-wrap .sui-fade-in {
19
+ animation: fadeIn 0.3s ease-in forwards;
20
+ }
21
+
22
+ .sui-2-3-29 .sui-wrap .sui-fade-out {
23
+ animation: fadeOut 0.3s ease-in forwards;
24
+ }
25
+
26
+ .sui-2-3-29 .sui-wrap .sui-bounce-in {
27
+ animation: bounceInJiggle 0.8s ease-in forwards;
28
+ }
29
+
30
+ .sui-2-3-29 .sui-wrap .sui-bounce-out {
31
+ animation: bounceOutJiggle 0.6s ease-out forwards;
32
+ }
33
+
34
+ .sui-2-3-29 .sui-wrap .sui-content-fade-in {
35
+ animation: fadeScaleIn 0.8s ease-in forwards;
36
+ }
37
+
38
+ .sui-2-3-29 .sui-wrap .sui-content-fade-out {
39
+ animation: fadeScaleOut 0.9s ease-in forwards;
40
+ }
41
+
42
+ @keyframes bounceInDown {
43
+ from, 60%, 75%, 90%, to {
44
+ animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
45
+ }
46
+
47
+ 0% {
48
+ opacity: 0;
49
+ transform: translate3d(0, -3000px, 0);
50
+ }
51
+
52
+ 60% {
53
+ opacity: 1;
54
+ transform: translate3d(0, 25px, 0);
55
+ }
56
+
57
+ 75% {
58
+ transform: translate3d(0, -10px, 0);
59
+ }
60
+
61
+ 90% {
62
+ transform: translate3d(0, 5px, 0);
63
+ }
64
+
65
+ to {
66
+ transform: none;
67
+ }
68
+ }
69
+
70
+ @keyframes bounceInJiggle {
71
+ 0% {
72
+ transform: translateY(-200%) scale(1.5);
73
+ opacity: 0;
74
+ }
75
+
76
+ 30% {
77
+ opacity: 1;
78
+ }
79
+
80
+ 58% {
81
+ transform: translateY(0) rotate(1deg) scale(1);
82
+ opacity: 1;
83
+ }
84
+
85
+ 72% {
86
+ transform: translateY(-30px) rotate(-1deg);
87
+ }
88
+
89
+ 80% {
90
+ transform: translateY(0) rotate(0.5deg);
91
+ }
92
+
93
+ 100% {
94
+ transform: translateY(0) rotate(0deg);
95
+ }
96
+ }
97
+
98
+ @keyframes bounceOutJiggle {
99
+ 0% {
100
+ transform: translateY(0);
101
+ }
102
+
103
+ 10% {
104
+ transform: translateY(-10px) rotate(-0.5deg);
105
+ }
106
+
107
+ 30% {
108
+ transform: translateY(20px) rotate(8deg);
109
+ }
110
+
111
+ 70% {
112
+ opacity: 1;
113
+ }
114
+
115
+ 90% {
116
+ transform: translateY(300%) translateX(40px) rotate(35deg);
117
+ opacity: 0;
118
+ }
119
+
120
+ 100% {
121
+ display: none;
122
+ }
123
+ }
124
+
125
+ @keyframes bounceOut {
126
+ 20% {
127
+ transform: scale3d(0.9, 0.9, 0.9);
128
+ }
129
+
130
+ 50%, 55% {
131
+ opacity: 1;
132
+ transform: scale3d(1.1, 1.1, 1.1);
133
+ }
134
+
135
+ to {
136
+ opacity: 0;
137
+ transform: scale3d(0.3, 0.3, 0.3);
138
+ }
139
+ }
140
+
141
+ @keyframes fadeIn {
142
+ 0% {
143
+ opacity: 0;
144
+ }
145
+
146
+ 25% {
147
+ opacity: 1;
148
+ }
149
+ }
150
+
151
+ @keyframes fadeScaleIn {
152
+ 0% {
153
+ opacity: 0;
154
+ }
155
+
156
+ 25% {
157
+ opacity: 0;
158
+ transform: translate3d(0, 10px, 0) scale(0.9);
159
+ }
160
+
161
+ 100% {
162
+ transform: translate3d(0, 0, 0) scale(1);
163
+ }
164
+ }
165
+
166
+ @keyframes fadeOut {
167
+ 0% {
168
+ opacity: 1;
169
+ }
170
+
171
+ 75% {
172
+ opacity: 1;
173
+ }
174
+
175
+ 100% {
176
+ opacity: 0;
177
+ }
178
+ }
179
+
180
+ @keyframes fadeScaleOut {
181
+ 0% {
182
+ opacity: 1;
183
+ transform: translate3d(0, 0, 0) scale(1);
184
+ }
185
+
186
+ 25% {
187
+ opacity: 0;
188
+ transform: translate3d(0, 10px, 0) scale(0.9);
189
+ }
190
+
191
+ 100% {
192
+ opacity: 0;
193
+ }
194
+ }
195
+
196
+ @keyframes fadeInLeft {
197
+ from {
198
+ opacity: 0;
199
+ transform: translate3d(-50px, 0, 0);
200
+ }
201
+
202
+ to {
203
+ opacity: 1;
204
+ transform: none;
205
+ }
206
+ }
207
+
208
+ @keyframes fadeInRight {
209
+ from {
210
+ opacity: 0;
211
+ transform: translate3d(50px, 0, 0);
212
+ }
213
+
214
+ to {
215
+ opacity: 1;
216
+ transform: none;
217
+ }
218
+ }
219
+
220
+ @keyframes spin {
221
+ 0% {
222
+ transform: rotate(0deg);
223
+ }
224
+
225
+ 100% {
226
+ transform: rotate(360deg);
227
+ }
228
+ }
229
+
230
+ .sui-2-3-29 .sui-wrap {
231
+ font-family: "Roboto",Arial,sans-serif;
232
+ font-weight: 400;
233
+ font-size: 15px;
234
+ line-height: 30px;
235
+ color: #666;
236
+ letter-spacing: -.25px;
237
+ margin: 30px 30px 0 10px;
238
+ }
239
+
240
+ .sui-2-3-29 .sui-wrap * {
241
+ font-variant-ligatures: none;
242
+ -webkit-font-variant-ligatures: none;
243
+ text-rendering: optimizeLegibility;
244
+ -moz-osx-font-smoothing: grayscale;
245
+ font-smoothing: antialiased;
246
+ -webkit-font-smoothing: antialiased;
247
+ text-shadow: rgba(0,0,0,0.01) 0 0 1px;
248
+ }
249
+
250
+ @media (max-width: 782px) {
251
+ .sui-2-3-29 .sui-wrap {
252
+ margin: 20px 10px 0 0px;
253
+ }
254
+ }
255
+
256
+ .sui-2-3-29 .sui-wrap h1,
257
+ .sui-2-3-29 .sui-wrap h2,
258
+ .sui-2-3-29 .sui-wrap h3,
259
+ .sui-2-3-29 .sui-wrap h4,
260
+ .sui-2-3-29 .sui-wrap h5,
261
+ .sui-2-3-29 .sui-wrap h6 {
262
+ display: block;
263
+ margin: 0.5em auto;
264
+ padding: 0;
265
+ line-height: 30px;
266
+ color: #333;
267
+ font-weight: 700;
268
+ font-family: "Roboto Condensed","Roboto",Arial,sans-serif;
269
+ }
270
+
271
+ .sui-2-3-29 .sui-wrap h1 {
272
+ font-size: 32px;
273
+ line-height: 40px;
274
+ color: #333;
275
+ margin: 0;
276
+ }
277
+
278
+ .sui-2-3-29 .sui-wrap h2 {
279
+ font-size: 22px;
280
+ line-height: 35px;
281
+ }
282
+
283
+ .sui-2-3-29 .sui-wrap h3 {
284
+ font-size: 18px;
285
+ line-height: 40px;
286
+ }
287
+
288
+ .sui-2-3-29 .sui-wrap h4 {
289
+ font-size: 15px;
290
+ }
291
+
292
+ .sui-2-3-29 .sui-wrap h5 {
293
+ font-size: 15px;
294
+ }
295
+
296
+ .sui-2-3-29 .sui-wrap h6 {
297
+ font-size: 15px;
298
+ }
299
+
300
+ .sui-2-3-29 .sui-wrap p {
301
+ font-family: "Roboto",Arial,sans-serif;
302
+ font-weight: 400;
303
+ font-size: 15px;
304
+ line-height: 30px;
305
+ color: #666;
306
+ letter-spacing: -.25px;
307
+ text-rendering: optimizeLegibility;
308
+ }
309
+
310
+ .sui-2-3-29 .sui-wrap p.sui-p-small {
311
+ font-size: 13px;
312
+ line-height: 22px;
313
+ color: #888;
314
+ margin: 5px 0;
315
+ }
316
+
317
+ .sui-2-3-29 .sui-wrap p:first-child {
318
+ margin-top: 0;
319
+ }
320
+
321
+ .sui-2-3-29 .sui-wrap p:last-of-type:not(:last-child) {
322
+ margin-bottom: 30px;
323
+ }
324
+
325
+ @media (max-width: 782px) {
326
+ .sui-2-3-29 .sui-wrap p:last-of-type:not(:last-child) {
327
+ margin-bottom: 20px;
328
+ }
329
+ }
330
+
331
+ .sui-2-3-29 .sui-wrap p:last-child {
332
+ margin-bottom: 0;
333
+ }
334
+
335
+ .sui-2-3-29 .sui-wrap small {
336
+ display: inline-block;
337
+ font-size: 13px;
338
+ line-height: 22px;
339
+ color: #888;
340
+ margin-bottom: 5px;
341
+ }
342
+
343
+ .sui-2-3-29 .sui-wrap a {
344
+ text-decoration: none;
345
+ color: #17A8E3;
346
+ font-weight: 500;
347
+ outline-color: transparent;
348
+ outline-style: none;
349
+ box-shadow: none;
350
+ }
351
+
352
+ .sui-2-3-29 .sui-wrap a:hover:not(.sui-button),
353
+ .sui-2-3-29 .sui-wrap a:focus:not(.sui-button),
354
+ .sui-2-3-29 .sui-wrap a:active:not(.sui-button) {
355
+ color: #1286b5;
356
+ }
357
+
358
+ .sui-2-3-29 .sui-wrap a.disabled {
359
+ pointer-events: none;
360
+ }
361
+
362
+ .sui-2-3-29 .sui-wrap a.disabled:hover,
363
+ .sui-2-3-29 .sui-wrap a.disabled:focus,
364
+ .sui-2-3-29 .sui-wrap a.disabled:active {
365
+ color: #888;
366
+ cursor: default;
367
+ }
368
+
369
+ .sui-2-3-29 .sui-wrap code,
370
+ .sui-2-3-29 .sui-wrap pre {
371
+ font-weight: 500;
372
+ font-size: 13px;
373
+ line-height: 18px;
374
+ color: #333;
375
+ background-color: #F8F8F8;
376
+ border: 1px solid #E6E6E6;
377
+ border-radius: 4px;
378
+ margin: 0;
379
+ padding: 10px 15px;
380
+ white-space: pre;
381
+ overflow: auto;
382
+ max-width: 100%;
383
+ vertical-align: middle;
384
+ -moz-tab-size: 4;
385
+ -o-tab-size: 4;
386
+ tab-size: 4;
387
+ }
388
+
389
+ .sui-2-3-29 .sui-wrap code {
390
+ display: inline-block;
391
+ padding: 2px 5px;
392
+ }
393
+
394
+ .sui-2-3-29 .sui-wrap b,
395
+ .sui-2-3-29 .sui-wrap strong {
396
+ font-weight: 500;
397
+ }
398
+
399
+ .sui-2-3-29 .sui-wrap dfn {
400
+ font-style: normal;
401
+ font-weight: normal;
402
+ border-bottom: 1px dotted #888;
403
+ }
404
+
405
+ .sui-2-3-29 .sui-wrap hr {
406
+ border: none;
407
+ display: block;
408
+ height: 1px;
409
+ background: #e6e6e6;
410
+ margin: 30px 0;
411
+ }
412
+
413
+ .sui-2-3-29 .sui-wrap [class*="sui-icon-"]:before,
414
+ .sui-2-3-29 .sui-wrap [class*="sui-icon-"]:after,
415
+ .sui-2-3-29 .sui-wrap .sui-box-body .sui-upsell-row .sui-upsell-notice p:first-of-type:before,
416
+ .sui-2-3-29 .sui-wrap .sui-insert-variables .select-container .select-list-container .list-value:before,
417
+ .sui-2-3-29 .sui-wrap .sui-insert-variables .sui-variables+.select2 .select2-selection--single .select2-selection__arrow:before,
418
+ .sui-2-3-29 .sui-dialog .sui-dialog-close:before,
419
+ .sui-2-3-29 .sui-dialog .sui-dialog-back:before {
420
+ font-family: 'wpmudev-plugin-icons' !important;
421
+ speak: none;
422
+ font-size: 1em;
423
+ font-style: normal;
424
+ font-weight: normal;
425
+ font-variant: normal;
426
+ text-transform: none;
427
+ line-height: 1;
428
+ text-rendering: auto;
429
+ display: inline-block;
430
+ color: #888;
431
+ -webkit-font-smoothing: antialiased;
432
+ -moz-osx-font-smoothing: grayscale;
433
+ }
434
+
435
+ @font-face {
436
+ font-family: 'wpmudev-plugin-icons';
437
+ src: url(../fonts/wpmudev-plugin-icons.eot);
438
+ src: url(../fonts/wpmudev-plugin-icons.eot) format("embedded-opentype"),url(../fonts/wpmudev-plugin-icons.ttf) format("truetype"),url(../fonts/wpmudev-plugin-icons.woff) format("woff"),url(../fonts/wpmudev-plugin-icons.woff2) format("woff2"),url(../fonts/wpmudev-plugin-icons.svg) format("svg");
439
+ font-weight: normal;
440
+ font-style: normal;
441
+ }
442
+
443
+ .sui-2-3-29 .sui-wrap .sui-loading:before {
444
+ animation: spin 1.3s linear infinite;
445
+ }
446
+
447
+ .sui-2-3-29 .sui-wrap [class*="sui-icon-"] {
448
+ display: inline-block;
449
+ }
450
+
451
+ .sui-2-3-29 .sui-wrap [class*="sui-icon-"].sui-xl:before {
452
+ font-size: 30px;
453
+ }
454
+
455
+ .sui-2-3-29 .sui-wrap [class*="sui-icon-"].sui-lg:before {
456
+ font-size: 20px;
457
+ }
458
+
459
+ .sui-2-3-29 .sui-wrap [class*="sui-icon-"].sui-md:before {
460
+ font-size: 16px;
461
+ }
462
+
463
+ .sui-2-3-29 .sui-wrap [class*="sui-icon-"].sui-sm:before {
464
+ font-size: 12px;
465
+ }
466
+
467
+ .sui-2-3-29 .sui-wrap [class*="sui-icon-"].sui-success:before {
468
+ color: inherit;
469
+ }
470
+
471
+ .sui-2-3-29 .sui-wrap [class*="sui-icon-"].sui-error:before {
472
+ color: inherit;
473
+ }
474
+
475
+ .sui-2-3-29 .sui-wrap [class*="sui-icon-"].sui-warning:before {
476
+ color: inherit;
477
+ }
478
+
479
+ .sui-2-3-29 .sui-wrap [class*="sui-icon-"].sui-info:before {
480
+ color: inherit;
481
+ }
482
+
483
+ .sui-2-3-29 .sui-wrap [class*="sui-icon-"].sui-fw {
484
+ width: 1.8em;
485
+ text-align: center;
486
+ min-height: 1em;
487
+ }
488
+
489
+ .sui-2-3-29 .sui-wrap .sui-icon-check:before {
490
+ content: "(";
491
+ }
492
+
493
+ .sui-2-3-29 .sui-wrap .sui-icon-close:before {
494
+ content: ")";
495
+ }
496
+
497
+ .sui-2-3-29 .sui-wrap .sui-icon-check-tick:before {
498
+ content: "_";
499
+ }
500
+
501
+ .sui-2-3-29 .sui-wrap .sui-icon-cross-close:before {
502
+ content: "+";
503
+ }
504
+
505
+ .sui-2-3-29 .sui-wrap .sui-icon-plus-circle:before {
506
+ content: "@";
507
+ }
508
+
509
+ .sui-2-3-29 .sui-wrap .sui-icon-warning-alert:before {
510
+ content: "!";
511
+ }
512
+
513
+ .sui-2-3-29 .sui-wrap .sui-icon-info:before {
514
+ content: "I";
515
+ }
516
+
517
+ .sui-2-3-29 .sui-wrap .sui-icon-question:before {
518
+ content: "?";
519
+ }
520
+
521
+ .sui-2-3-29 .sui-wrap .sui-icon-trash:before {
522
+ content: "Q";
523
+ }
524
+
525
+ .sui-2-3-29 .sui-wrap .sui-icon-pencil:before {
526
+ content: "/";
527
+ }
528
+
529
+ .sui-2-3-29 .sui-wrap .sui-icon-unlock:before {
530
+ content: "0";
531
+ }
532
+
533
+ .sui-2-3-29 .sui-wrap .sui-icon-lock:before {
534
+ content: "9";
535
+ }
536
+
537
+ .sui-2-3-29 .sui-wrap .sui-icon-key:before {
538
+ content: "◊";
539
+ }
540
+
541
+ .sui-2-3-29 .sui-wrap .sui-icon-plus:before {
542
+ content: "=";
543
+ }
544
+
545
+ .sui-2-3-29 .sui-wrap .sui-icon-magnifying-glass-search:before {
546
+ content: "º";
547
+ }
548
+
549
+ .sui-2-3-29 .sui-wrap .sui-icon-more:before {
550
+ content: "…";
551
+ }
552
+
553
+ .sui-2-3-29 .sui-wrap .sui-icon-wrench-tool:before {
554
+ content: "⁄";
555
+ }
556
+
557
+ .sui-2-3-29 .sui-wrap .sui-icon-widget-settings-config:before {
558
+ content: "x";
559
+ }
560
+
561
+ .sui-2-3-29 .sui-wrap .sui-icon-settings-slider-control:before {
562
+ content: "œ";
563
+ }
564
+
565
+ .sui-2-3-29 .sui-wrap .sui-icon-loader:before {
566
+ content: "N";
567
+ }
568
+
569
+ .sui-2-3-29 .sui-wrap .sui-icon-calendar:before {
570
+ content: "∏";
571
+ }
572
+
573
+ .sui-2-3-29 .sui-wrap .sui-icon-clock:before {
574
+ content: ",";
575
+ }
576
+
577
+ .sui-2-3-29 .sui-wrap .sui-icon-speed-optimize:before {
578
+ content: "ø";
579
+ }
580
+
581
+ .sui-2-3-29 .sui-wrap .sui-icon-stopwatch:before {
582
+ content: "V";
583
+ }
584
+
585
+ .sui-2-3-29 .sui-wrap .sui-icon-filter:before {
586
+ content: "z";
587
+ }
588
+
589
+ .sui-2-3-29 .sui-wrap .sui-icon-bookmark:before {
590
+ content: "√";
591
+ }
592
+
593
+ .sui-2-3-29 .sui-wrap .sui-icon-chevron-up:before {
594
+ content: "˝";
595
+ }
596
+
597
+ .sui-2-3-29 .sui-wrap .sui-icon-chevron-right:before {
598
+ content: "˜";
599
+ }
600
+
601
+ .sui-2-3-29 .sui-wrap .sui-icon-chevron-down:before {
602
+ content: "ı";
603
+ }
604
+
605
+ .sui-2-3-29 .sui-wrap .sui-icon-chevron-left:before {
606
+ content: "Ó";
607
+ }
608
+
609
+ .sui-2-3-29 .sui-wrap .sui-icon-arrow-up:before {
610
+ content: "Ô";
611
+ }
612
+
613
+ .sui-2-3-29 .sui-wrap .sui-icon-arrow-right:before {
614
+ content: "¯";
615
+ }
616
+
617
+ .sui-2-3-29 .sui-wrap .sui-icon-arrow-down:before {
618
+ content: "Â";
619
+ }
620
+
621
+ .sui-2-3-29 .sui-wrap .sui-icon-arrow-left:before {
622
+ content: "";
623
+ }
624
+
625
+ .sui-2-3-29 .sui-wrap .sui-icon-arrow-skip-back:before {
626
+ content: "{";
627
+ }
628
+
629
+ .sui-2-3-29 .sui-wrap .sui-icon-arrow-skip-forward:before {
630
+ content: "}";
631
+ }
632
+
633
+ .sui-2-3-29 .sui-wrap .sui-icon-arrow-skip-start:before {
634
+ content: ":";
635
+ }
636
+
637
+ .sui-2-3-29 .sui-wrap .sui-icon-arrow-skip-end:before {
638
+ content: '"';
639
+ }
640
+
641
+ .sui-2-3-29 .sui-wrap .sui-icon-play:before {
642
+ content: "´";
643
+ }
644
+
645
+ .sui-2-3-29 .sui-wrap .sui-icon-pause:before {
646
+ content: "†";
647
+ }
648
+
649
+ .sui-2-3-29 .sui-wrap .sui-icon-arrows-out:before {
650
+ content: "˚";
651
+ }
652
+
653
+ .sui-2-3-29 .sui-wrap .sui-icon-arrows-in:before {
654
+ content: "≤";
655
+ }
656
+
657
+ .sui-2-3-29 .sui-wrap .sui-icon-arrows-expand:before {
658
+ content: "¬";
659
+ }
660
+
661
+ .sui-2-3-29 .sui-wrap .sui-icon-arrows-compress:before {
662
+ content: "≥";
663
+ }
664
+
665
+ .sui-2-3-29 .sui-wrap .sui-icon-refresh2:before {
666
+ content: "Á";
667
+ }
668
+
669
+ .sui-2-3-29 .sui-wrap .sui-icon-zip:before {
670
+ content: "a";
671
+ }
672
+
673
+ .sui-2-3-29 .sui-wrap .sui-icon-combine:before {
674
+ content: "o";
675
+ }
676
+
677
+ .sui-2-3-29 .sui-wrap .sui-icon-defer:before {
678
+ content: "p";
679
+ }
680
+
681
+ .sui-2-3-29 .sui-wrap .sui-icon-inlinecss:before {
682
+ content: "c";
683
+ }
684
+
685
+ .sui-2-3-29 .sui-wrap .sui-icon-movefooter:before {
686
+ content: "u";
687
+ }
688
+
689
+ .sui-2-3-29 .sui-wrap .sui-icon-popup:before {
690
+ content: "1";
691
+ }
692
+
693
+ .sui-2-3-29 .sui-wrap .sui-icon-slide-in:before {
694
+ content: "2";
695
+ }
696
+
697
+ .sui-2-3-29 .sui-wrap .sui-icon-embed:before {
698
+ content: "3";
699
+ }
700
+
701
+ .sui-2-3-29 .sui-wrap .sui-icon-list:before {
702
+ content: "`";
703
+ }
704
+
705
+ .sui-2-3-29 .sui-wrap .sui-icon-layout-grid:before {
706
+ content: "∞";
707
+ }
708
+
709
+ .sui-2-3-29 .sui-wrap .sui-icon-layout:before {
710
+ content: "©";
711
+ }
712
+
713
+ .sui-2-3-29 .sui-wrap .sui-icon-thumbnails:before {
714
+ content: "G";
715
+ }
716
+
717
+ .sui-2-3-29 .sui-wrap .sui-icon-drag:before {
718
+ content: "„";
719
+ }
720
+
721
+ .sui-2-3-29 .sui-wrap .sui-icon-align-left:before {
722
+ content: "%";
723
+ }
724
+
725
+ .sui-2-3-29 .sui-wrap .sui-icon-align-center:before {
726
+ content: "^";
727
+ }
728
+
729
+ .sui-2-3-29 .sui-wrap .sui-icon-align-right:before {
730
+ content: "&";
731
+ }
732
+
733
+ .sui-2-3-29 .sui-wrap .sui-icon-align-justify:before {
734
+ content: "#";
735
+ }
736
+
737
+ .sui-2-3-29 .sui-wrap .sui-icon-indent-more:before {
738
+ content: "’";
739
+ }
740
+
741
+ .sui-2-3-29 .sui-wrap .sui-icon-indent-less:before {
742
+ content: "”";
743
+ }
744
+
745
+ .sui-2-3-29 .sui-wrap .sui-icon-blog:before {
746
+ content: "Y";
747
+ }
748
+
749
+ .sui-2-3-29 .sui-wrap .sui-icon-list-number:before {
750
+ content: "7";
751
+ }
752
+
753
+ .sui-2-3-29 .sui-wrap .sui-icon-list-bullet:before {
754
+ content: "8";
755
+ }
756
+
757
+ .sui-2-3-29 .sui-wrap .sui-icon-bold:before {
758
+ content: "B";
759
+ }
760
+
761
+ .sui-2-3-29 .sui-wrap .sui-icon-quote-2:before {
762
+ content: "'";
763
+ }
764
+
765
+ .sui-2-3-29 .sui-wrap .sui-icon-style-type:before {
766
+ content: "<";
767
+ }
768
+
769
+ .sui-2-3-29 .sui-wrap .sui-icon-wand-magic:before {
770
+ content: "Z";
771
+ }
772
+
773
+ .sui-2-3-29 .sui-wrap .sui-icon-link:before {
774
+ content: "5";
775
+ }
776
+
777
+ .sui-2-3-29 .sui-wrap .sui-icon-unlink:before {
778
+ content: "6";
779
+ }
780
+
781
+ .sui-2-3-29 .sui-wrap .sui-icon-paperclip:before {
782
+ content: "A";
783
+ }
784
+
785
+ .sui-2-3-29 .sui-wrap .sui-icon-code:before {
786
+ content: ";";
787
+ }
788
+
789
+ .sui-2-3-29 .sui-wrap .sui-icon-color-pick-eyedropper:before {
790
+ content: "¥";
791
+ }
792
+
793
+ .sui-2-3-29 .sui-wrap .sui-icon-crop:before {
794
+ content: "C";
795
+ }
796
+
797
+ .sui-2-3-29 .sui-wrap .sui-icon-paint-bucket:before {
798
+ content: "∫";
799
+ }
800
+
801
+ .sui-2-3-29 .sui-wrap .sui-icon-camera:before {
802
+ content: "Ø";
803
+ }
804
+
805
+ .sui-2-3-29 .sui-wrap .sui-icon-photo-picture:before {
806
+ content: "D";
807
+ }
808
+
809
+ .sui-2-3-29 .sui-wrap .sui-icon-animation-video:before {
810
+ content: "F";
811
+ }
812
+
813
+ .sui-2-3-29 .sui-wrap .sui-icon-home:before {
814
+ content: "J";
815
+ }
816
+
817
+ .sui-2-3-29 .sui-wrap .sui-icon-mail:before {
818
+ content: "m";
819
+ }
820
+
821
+ .sui-2-3-29 .sui-wrap .sui-icon-send:before {
822
+ content: "“";
823
+ }
824
+
825
+ .sui-2-3-29 .sui-wrap .sui-icon-phone:before {
826
+ content: ">";
827
+ }
828
+
829
+ .sui-2-3-29 .sui-wrap .sui-icon-pin:before {
830
+ content: "Œ";
831
+ }
832
+
833
+ .sui-2-3-29 .sui-wrap .sui-icon-post-pin:before {
834
+ content: "ˇ";
835
+ }
836
+
837
+ .sui-2-3-29 .sui-wrap .sui-icon-calculator:before {
838
+ content: "¨";
839
+ }
840
+
841
+ .sui-2-3-29 .sui-wrap .sui-icon-element-checkbox:before {
842
+ content: "Å";
843
+ }
844
+
845
+ .sui-2-3-29 .sui-wrap .sui-icon-element-radio:before {
846
+ content: "Í";
847
+ }
848
+
849
+ .sui-2-3-29 .sui-wrap .sui-icon-element-select:before {
850
+ content: "Ï";
851
+ }
852
+
853
+ .sui-2-3-29 .sui-wrap .sui-icon-element-number:before {
854
+ content: "Ú";
855
+ }
856
+
857
+ .sui-2-3-29 .sui-wrap .sui-icon-recaptcha:before {
858
+ content: "–";
859
+ }
860
+
861
+ .sui-2-3-29 .sui-wrap .sui-icon-folder:before {
862
+ content: "˘";
863
+ }
864
+
865
+ .sui-2-3-29 .sui-wrap .sui-icon-folder-open:before {
866
+ content: "»";
867
+ }
868
+
869
+ .sui-2-3-29 .sui-wrap .sui-icon-archive:before {
870
+ content: "b";
871
+ }
872
+
873
+ .sui-2-3-29 .sui-wrap .sui-icon-book:before {
874
+ content: "∆";
875
+ }
876
+
877
+ .sui-2-3-29 .sui-wrap .sui-icon-page-multiple:before {
878
+ content: "ç";
879
+ }
880
+
881
+ .sui-2-3-29 .sui-wrap .sui-icon-layers:before {
882
+ content: "æ";
883
+ }
884
+
885
+ .sui-2-3-29 .sui-wrap .sui-icon-copy:before {
886
+ content: "4";
887
+ }
888
+
889
+ .sui-2-3-29 .sui-wrap .sui-icon-graph-bar:before {
890
+ content: "Ç";
891
+ }
892
+
893
+ .sui-2-3-29 .sui-wrap .sui-icon-graph-bar-2:before {
894
+ content: "˛";
895
+ }
896
+
897
+ .sui-2-3-29 .sui-wrap .sui-icon-graph-line:before {
898
+ content: "¡";
899
+ }
900
+
901
+ .sui-2-3-29 .sui-wrap .sui-icon-tracking-disabled:before {
902
+ content: "€";
903
+ }
904
+
905
+ .sui-2-3-29 .sui-wrap .sui-icon-page:before {
906
+ content: "Ò";
907
+ }
908
+
909
+ .sui-2-3-29 .sui-wrap .sui-icon-clipboard-notes:before {
910
+ content: "¿";
911
+ }
912
+
913
+ .sui-2-3-29 .sui-wrap .sui-icon-page-pdf:before {
914
+ content: "Æ";
915
+ }
916
+
917
+ .sui-2-3-29 .sui-wrap .sui-icon-heart:before {
918
+ content: "K";
919
+ }
920
+
921
+ .sui-2-3-29 .sui-wrap .sui-icon-star:before {
922
+ content: "S";
923
+ }
924
+
925
+ .sui-2-3-29 .sui-wrap .sui-icon-plugin-2:before {
926
+ content: "O";
927
+ }
928
+
929
+ .sui-2-3-29 .sui-wrap .sui-icon-brush:before {
930
+ content: "~";
931
+ }
932
+
933
+ .sui-2-3-29 .sui-wrap .sui-icon-plug-connected:before {
934
+ content: "R";
935
+ }
936
+
937
+ .sui-2-3-29 .sui-wrap .sui-icon-plug-disconnected:before {
938
+ content: ".";
939
+ }
940
+
941
+ .sui-2-3-29 .sui-wrap .sui-icon-power-on-off:before {
942
+ content: "[";
943
+ }
944
+
945
+ .sui-2-3-29 .sui-wrap .sui-icon-target:before {
946
+ content: "≠";
947
+ }
948
+
949
+ .sui-2-3-29 .sui-wrap .sui-icon-upload-cloud:before {
950
+ content: "¢";
951
+ }
952
+
953
+ .sui-2-3-29 .sui-wrap .sui-icon-download-cloud:before {
954
+ content: "£";
955
+ }
956
+
957
+ .sui-2-3-29 .sui-wrap .sui-icon-cloud:before {
958
+ content: "™";
959
+ }
960
+
961
+ .sui-2-3-29 .sui-wrap .sui-icon-cloud-migration:before {
962
+ content: "l";
963
+ }
964
+
965
+ .sui-2-3-29 .sui-wrap .sui-icon-unpublish:before {
966
+ content: "ˆ";
967
+ }
968
+
969
+ .sui-2-3-29 .sui-wrap .sui-icon-download:before {
970
+ content: "X";
971
+ }
972
+
973
+ .sui-2-3-29 .sui-wrap .sui-icon-save:before {
974
+ content: "ß";
975
+ }
976
+
977
+ .sui-2-3-29 .sui-wrap .sui-icon-lightbulb:before {
978
+ content: "L";
979
+ }
980
+
981
+ .sui-2-3-29 .sui-wrap .sui-icon-sitemap:before {
982
+ content: "¸";
983
+ }
984
+
985
+ .sui-2-3-29 .sui-wrap .sui-icon-storage-server-data:before {
986
+ content: "Î";
987
+ }
988
+
989
+ .sui-2-3-29 .sui-wrap .sui-icon-user-reputation-points:before {
990
+ content: "E";
991
+ }
992
+
993
+ .sui-2-3-29 .sui-wrap .sui-icon-tablet-portrait:before {
994
+ content: "]";
995
+ }
996
+
997
+ .sui-2-3-29 .sui-wrap .sui-icon-laptop:before {
998
+ content: "«";
999
+ }
1000
+
1001
+ .sui-2-3-29 .sui-wrap .sui-icon-monitor:before {
1002
+ content: "$";
1003
+ }
1004
+
1005
+ .sui-2-3-29 .sui-wrap .sui-icon-eye:before {
1006
+ content: "e";
1007
+ }
1008
+
1009
+ .sui-2-3-29 .sui-wrap .sui-icon-eye-hide:before {
1010
+ content: "q";
1011
+ }
1012
+
1013
+ .sui-2-3-29 .sui-wrap .sui-icon-update:before {
1014
+ content: "®";
1015
+ }
1016
+
1017
+ .sui-2-3-29 .sui-wrap .sui-icon-refresh:before {
1018
+ content: "H";
1019
+ }
1020
+
1021
+ .sui-2-3-29 .sui-wrap .sui-icon-undo:before {
1022
+ content: "‰";
1023
+ }
1024
+
1025
+ .sui-2-3-29 .sui-wrap .sui-icon-web-globe-world:before {
1026
+ content: "W";
1027
+ }
1028
+
1029
+ .sui-2-3-29 .sui-wrap .sui-icon-flag:before {
1030
+ content: "|";
1031
+ }
1032
+
1033
+ .sui-2-3-29 .sui-wrap .sui-icon-academy:before {
1034
+ content: "π";
1035
+ }
1036
+
1037
+ .sui-2-3-29 .sui-wrap .sui-icon-profile-male:before {
1038
+ content: "µ";
1039
+ }
1040
+
1041
+ .sui-2-3-29 .sui-wrap .sui-icon-community-people:before {
1042
+ content: "‘";
1043
+ }
1044
+
1045
+ .sui-2-3-29 .sui-wrap .sui-icon-help-support:before {
1046
+ content: "M";
1047
+ }
1048
+
1049
+ .sui-2-3-29 .sui-wrap .sui-icon-gdpr:before {
1050
+ content: "∑";
1051
+ }
1052
+
1053
+ .sui-2-3-29 .sui-wrap .sui-icon-like:before {
1054
+ content: "j";
1055
+ }
1056
+
1057
+ .sui-2-3-29 .sui-wrap .sui-icon-dislike:before {
1058
+ content: "k";
1059
+ }
1060
+
1061
+ .sui-2-3-29 .sui-wrap .sui-icon-finger-point:before {
1062
+ content: "≈";
1063
+ }
1064
+
1065
+ .sui-2-3-29 .sui-wrap .sui-icon-open-new-window:before {
1066
+ content: "n";
1067
+ }
1068
+
1069
+ .sui-2-3-29 .sui-wrap .sui-icon-reply:before {
1070
+ content: "r";
1071
+ }
1072
+
1073
+ .sui-2-3-29 .sui-wrap .sui-icon-share:before {
1074
+ content: "s";
1075
+ }
1076
+
1077
+ .sui-2-3-29 .sui-wrap .sui-icon-wordpress:before {
1078
+ content: "w";
1079
+ }
1080
+
1081
+ .sui-2-3-29 .sui-wrap .sui-icon-social-facebook:before {
1082
+ content: "f";
1083
+ }
1084
+
1085
+ .sui-2-3-29 .sui-wrap .sui-icon-social-twitter:before {
1086
+ content: "t";
1087
+ }
1088
+
1089
+ .sui-2-3-29 .sui-wrap .sui-icon-social-linkedin:before {
1090
+ content: "i";
1091
+ }
1092
+
1093
+ .sui-2-3-29 .sui-wrap .sui-icon-social-dropbox:before {
1094
+ content: "d";
1095
+ }
1096
+
1097
+ .sui-2-3-29 .sui-wrap .sui-icon-social-drive:before {
1098
+ content: "v";
1099
+ }
1100
+
1101
+ .sui-2-3-29 .sui-wrap .sui-icon-social-google-plus:before {
1102
+ content: "g";
1103
+ }
1104
+
1105
+ .sui-2-3-29 .sui-wrap .sui-icon-social-youtube:before {
1106
+ content: "y";
1107
+ }
1108
+
1109
+ .sui-2-3-29 .sui-wrap .sui-icon-instagram:before {
1110
+ content: "-";
1111
+ }
1112
+
1113
+ .sui-2-3-29 .sui-wrap .sui-icon-cloudflare:before {
1114
+ content: "Ð";
1115
+ }
1116
+
1117
+ .sui-2-3-29 .sui-wrap .sui-icon-social-github:before {
1118
+ content: "h";
1119
+ }
1120
+
1121
+ .sui-2-3-29 .sui-wrap .sui-icon-wpmudev-logo:before {
1122
+ content: "‹";
1123
+ }
1124
+
1125
+ .sui-2-3-29 .sui-wrap .sui-icon-defender:before {
1126
+ content: "·";
1127
+ }
1128
+
1129
+ .sui-2-3-29 .sui-wrap .sui-icon-smush:before {
1130
+ content: "‡";
1131
+ }
1132
+
1133
+ .sui-2-3-29 .sui-wrap .sui-icon-upfront:before {
1134
+ content: "‚";
1135
+ }
1136
+
1137
+ .sui-2-3-29 .sui-wrap .sui-icon-hummingbird:before {
1138
+ content: "°";
1139
+ }
1140
+
1141
+ .sui-2-3-29 .sui-wrap .sui-icon-uptime:before {
1142
+ content: "±";
1143
+ }
1144
+
1145
+ .sui-2-3-29 .sui-wrap .sui-icon-smart-crawl:before {
1146
+ content: "∂";
1147
+ }
1148
+
1149
+ .sui-2-3-29 .sui-wrap .sui-icon-forminator:before {
1150
+ content: "P";
1151
+ }
1152
+
1153
+ .sui-2-3-29 .sui-wrap .sui-icon-shipper-anchor:before {
1154
+ content: "T";
1155
+ }
1156
+
1157
+ .sui-2-3-29 .sui-wrap .sui-icon-snapshot:before {
1158
+ content: "fi";
1159
+ }
1160
+
1161
+ .sui-2-3-29 .sui-wrap .sui-icon-hustle:before {
1162
+ content: "—";
1163
+ }
1164
+
1165
+ .sui-2-3-29 .sui-wrap .sui-icon-performance:before {
1166
+ content: "U";
1167
+ }
1168
+
1169
+ .sui-2-3-29 .sui-wrap .sui-icon-hub:before {
1170
+ content: "fl";
1171
+ }
1172
+
1173
+ .sui-2-3-29 .sui-wrap .sui-icon-automate:before {
1174
+ content: "˙";
1175
+ }
1176
+
1177
+ .sui-2-3-29 .sui-wrap .sui-icon-align-y-center:before {
1178
+ content: "*";
1179
+ }
1180
+
1181
+ .sui-2-3-29 .sui-wrap .sui-icon-align-y-top:before {
1182
+ content: "§";
1183
+ }
1184
+
1185
+ .sui-2-3-29 .sui-wrap .sui-icon-align-y-bottom:before {
1186
+ content: "¶";
1187
+ }
1188
+
1189
+ .sui-2-3-29 .sui-wrap .sui-icon-align-x-center:before {
1190
+ content: "ƒ";
1191
+ }
1192
+
1193
+ .sui-2-3-29 .sui-wrap .sui-icon-align-x-right:before {
1194
+ content: "•";
1195
+ }
1196
+
1197
+ .sui-2-3-29 .sui-wrap .sui-icon-align-x-left:before {
1198
+ content: "å";
1199
+ }
1200
+
1201
+ .sui-2-3-29 .sui-wrap .sui-icon-logout:before {
1202
+ content: "›";
1203
+ }
1204
+
1205
+ .sui-2-3-29 .sui-wrap .sui-button,
1206
+ .sui-2-3-29 .sui-wrap .sui-button-icon,
1207
+ .sui-2-3-29 .sui-wrap a.sui-button,
1208
+ .sui-2-3-29 .sui-wrap a.sui-button-icon,
1209
+ .sui-2-3-29 .sui-wrap button.sui-button,
1210
+ .sui-2-3-29 .sui-wrap button.sui-button-icon {
1211
+ cursor: pointer;
1212
+ display: inline-block;
1213
+ position: relative;
1214
+ margin: 0;
1215
+ border-width: 2px;
1216
+ border-style: solid;
1217
+ border-color: transparent;
1218
+ border-radius: 4px;
1219
+ text-decoration: none;
1220
+ text-align: center;
1221
+ transition: all 0.3s ease;
1222
+ }
1223
+
1224
+ .sui-2-3-29 .sui-wrap .sui-button .sui-loading,
1225
+ .sui-2-3-29 .sui-wrap .sui-button-icon .sui-loading,
1226
+ .sui-2-3-29 .sui-wrap a.sui-button .sui-loading,
1227
+ .sui-2-3-29 .sui-wrap a.sui-button-icon .sui-loading,
1228
+ .sui-2-3-29 .sui-wrap button.sui-button .sui-loading,
1229
+ .sui-2-3-29 .sui-wrap button.sui-button-icon .sui-loading {
1230
+ width: 16px;
1231
+ height: 16px;
1232
+ display: none;
1233
+ -ms-flex-direction: column;
1234
+ flex-direction: column;
1235
+ -ms-flex-align: center;
1236
+ align-items: center;
1237
+ -ms-flex-pack: center;
1238
+ justify-content: center;
1239
+ position: absolute;
1240
+ margin: 0;
1241
+ }
1242
+
1243
+ .sui-2-3-29 .sui-wrap .sui-button .sui-loading:before,
1244
+ .sui-2-3-29 .sui-wrap .sui-button-icon .sui-loading:before,
1245
+ .sui-2-3-29 .sui-wrap a.sui-button .sui-loading:before,
1246
+ .sui-2-3-29 .sui-wrap a.sui-button-icon .sui-loading:before,
1247
+ .sui-2-3-29 .sui-wrap button.sui-button .sui-loading:before,
1248
+ .sui-2-3-29 .sui-wrap button.sui-button-icon .sui-loading:before {
1249
+ display: block;
1250
+ }
1251
+
1252
+ .sui-2-3-29 .sui-wrap .sui-button .sui-loading-text,
1253
+ .sui-2-3-29 .sui-wrap .sui-button-icon .sui-loading-text,
1254
+ .sui-2-3-29 .sui-wrap a.sui-button .sui-loading-text,
1255
+ .sui-2-3-29 .sui-wrap a.sui-button-icon .sui-loading-text,
1256
+ .sui-2-3-29 .sui-wrap button.sui-button .sui-loading-text,
1257
+ .sui-2-3-29 .sui-wrap button.sui-button-icon .sui-loading-text {
1258
+ display: block;
1259
+ pointer-events: none;
1260
+ }
1261
+
1262
+ @media (max-width: 782px) {
1263
+ .sui-2-3-29 .sui-wrap .sui-button .sui-loading-text .sui-loading-text,
1264
+ .sui-2-3-29 .sui-wrap .sui-button-icon .sui-loading-text .sui-loading-text,
1265
+ .sui-2-3-29 .sui-wrap a.sui-button .sui-loading-text .sui-loading-text,
1266
+ .sui-2-3-29 .sui-wrap a.sui-button-icon .sui-loading-text .sui-loading-text,
1267
+ .sui-2-3-29 .sui-wrap button.sui-button .sui-loading-text .sui-loading-text,
1268
+ .sui-2-3-29 .sui-wrap button.sui-button-icon .sui-loading-text .sui-loading-text {
1269
+ overflow: hidden;
1270
+ text-overflow: ellipsis;
1271
+ }
1272
+ }
1273
+
1274
+ .sui-2-3-29 .sui-wrap .sui-button [class*="sui-icon-"],
1275
+ .sui-2-3-29 .sui-wrap .sui-button-icon [class*="sui-icon-"],
1276
+ .sui-2-3-29 .sui-wrap a.sui-button [class*="sui-icon-"],
1277
+ .sui-2-3-29 .sui-wrap a.sui-button-icon [class*="sui-icon-"],
1278
+ .sui-2-3-29 .sui-wrap button.sui-button [class*="sui-icon-"],
1279
+ .sui-2-3-29 .sui-wrap button.sui-button-icon [class*="sui-icon-"] {
1280
+ font-size: 12px;
1281
+ }
1282
+
1283
+ .sui-2-3-29 .sui-wrap .sui-button [class*="sui-icon-"]:before,
1284
+ .sui-2-3-29 .sui-wrap .sui-button-icon [class*="sui-icon-"]:before,
1285
+ .sui-2-3-29 .sui-wrap a.sui-button [class*="sui-icon-"]:before,
1286
+ .sui-2-3-29 .sui-wrap a.sui-button-icon [class*="sui-icon-"]:before,
1287
+ .sui-2-3-29 .sui-wrap button.sui-button [class*="sui-icon-"]:before,
1288
+ .sui-2-3-29 .sui-wrap button.sui-button-icon [class*="sui-icon-"]:before {
1289
+ display: block;
1290
+ color: inherit;
1291
+ }
1292
+
1293
+ .sui-2-3-29 .sui-wrap .sui-button,
1294
+ .sui-2-3-29 .sui-wrap .sui-button:hover,
1295
+ .sui-2-3-29 .sui-wrap .sui-button:focus,
1296
+ .sui-2-3-29 .sui-wrap .sui-button:active,
1297
+ .sui-2-3-29 .sui-wrap .sui-button-icon,
1298
+ .sui-2-3-29 .sui-wrap .sui-button-icon:hover,
1299
+ .sui-2-3-29 .sui-wrap .sui-button-icon:focus,
1300
+ .sui-2-3-29 .sui-wrap .sui-button-icon:active,
1301
+ .sui-2-3-29 .sui-wrap a.sui-button,
1302
+ .sui-2-3-29 .sui-wrap a.sui-button:hover,
1303
+ .sui-2-3-29 .sui-wrap a.sui-button:focus,
1304
+ .sui-2-3-29 .sui-wrap a.sui-button:active,
1305
+ .sui-2-3-29 .sui-wrap a.sui-button-icon,
1306
+ .sui-2-3-29 .sui-wrap a.sui-button-icon:hover,
1307
+ .sui-2-3-29 .sui-wrap a.sui-button-icon:focus,
1308
+ .sui-2-3-29 .sui-wrap a.sui-button-icon:active,
1309
+ .sui-2-3-29 .sui-wrap button.sui-button,
1310
+ .sui-2-3-29 .sui-wrap button.sui-button:hover,
1311
+ .sui-2-3-29 .sui-wrap button.sui-button:focus,
1312
+ .sui-2-3-29 .sui-wrap button.sui-button:active,
1313
+ .sui-2-3-29 .sui-wrap button.sui-button-icon,
1314
+ .sui-2-3-29 .sui-wrap button.sui-button-icon:hover,
1315
+ .sui-2-3-29 .sui-wrap button.sui-button-icon:focus,
1316
+ .sui-2-3-29 .sui-wrap button.sui-button-icon:active {
1317
+ outline: none;
1318
+ box-shadow: none;
1319
+ }
1320
+
1321
+ .sui-2-3-29 .sui-wrap .sui-button.disabled,
1322
+ .sui-2-3-29 .sui-wrap .sui-button:disabled,
1323
+ .sui-2-3-29 .sui-wrap .sui-button[disabled],
1324
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-onload,
1325
+ .sui-2-3-29 .sui-wrap .sui-button-icon.disabled,
1326
+ .sui-2-3-29 .sui-wrap .sui-button-icon:disabled,
1327
+ .sui-2-3-29 .sui-wrap .sui-button-icon[disabled],
1328
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-onload,
1329
+ .sui-2-3-29 .sui-wrap a.sui-button.disabled,
1330
+ .sui-2-3-29 .sui-wrap a.sui-button:disabled,
1331
+ .sui-2-3-29 .sui-wrap a.sui-button[disabled],
1332
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-onload,
1333
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.disabled,
1334
+ .sui-2-3-29 .sui-wrap a.sui-button-icon:disabled,
1335
+ .sui-2-3-29 .sui-wrap a.sui-button-icon[disabled],
1336
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-onload,
1337
+ .sui-2-3-29 .sui-wrap button.sui-button.disabled,
1338
+ .sui-2-3-29 .sui-wrap button.sui-button:disabled,
1339
+ .sui-2-3-29 .sui-wrap button.sui-button[disabled],
1340
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-onload,
1341
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.disabled,
1342
+ .sui-2-3-29 .sui-wrap button.sui-button-icon:disabled,
1343
+ .sui-2-3-29 .sui-wrap button.sui-button-icon[disabled],
1344
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-onload {
1345
+ cursor: default;
1346
+ pointer-events: none;
1347
+ }
1348
+
1349
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-onload,
1350
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-onload,
1351
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-onload,
1352
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-onload,
1353
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-onload,
1354
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-onload {
1355
+ pointer-events: none;
1356
+ display: -ms-inline-flexbox;
1357
+ display: inline-flex;
1358
+ -ms-flex-direction: column;
1359
+ flex-direction: column;
1360
+ -ms-flex-align: center;
1361
+ align-items: center;
1362
+ -ms-flex-pack: center;
1363
+ justify-content: center;
1364
+ }
1365
+
1366
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-onload .sui-loading,
1367
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-onload .sui-loading,
1368
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-onload .sui-loading,
1369
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-onload .sui-loading,
1370
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-onload .sui-loading,
1371
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-onload .sui-loading {
1372
+ display: -ms-flexbox;
1373
+ display: flex;
1374
+ }
1375
+
1376
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-onload .sui-loading-text,
1377
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-onload .sui-loading-text,
1378
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-onload .sui-loading-text,
1379
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-onload .sui-loading-text,
1380
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-onload .sui-loading-text,
1381
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-onload .sui-loading-text {
1382
+ opacity: 0;
1383
+ }
1384
+
1385
+ .sui-2-3-29 .sui-wrap .sui-button:not(:last-child),
1386
+ .sui-2-3-29 .sui-wrap .sui-button-icon:not(:last-child),
1387
+ .sui-2-3-29 .sui-wrap a.sui-button:not(:last-child),
1388
+ .sui-2-3-29 .sui-wrap a.sui-button-icon:not(:last-child),
1389
+ .sui-2-3-29 .sui-wrap button.sui-button:not(:last-child),
1390
+ .sui-2-3-29 .sui-wrap button.sui-button-icon:not(:last-child) {
1391
+ margin-right: 10px;
1392
+ }
1393
+
1394
+ .sui-2-3-29 .sui-wrap .sui-button,
1395
+ .sui-2-3-29 .sui-wrap a.sui-button,
1396
+ .sui-2-3-29 .sui-wrap button.sui-button {
1397
+ width: auto;
1398
+ min-width: 80px;
1399
+ padding: 5px 14px;
1400
+ background-color: #888;
1401
+ color: #fff;
1402
+ font: 500 12px/16px "Roboto",Arial,sans-serif;
1403
+ letter-spacing: -.25px;
1404
+ text-transform: uppercase;
1405
+ }
1406
+
1407
+ .sui-2-3-29 .sui-wrap .sui-button [class*="sui-icon-"],
1408
+ .sui-2-3-29 .sui-wrap a.sui-button [class*="sui-icon-"],
1409
+ .sui-2-3-29 .sui-wrap button.sui-button [class*="sui-icon-"] {
1410
+ vertical-align: middle;
1411
+ }
1412
+
1413
+ .sui-2-3-29 .sui-wrap .sui-button [class*="sui-icon-"]:not(.sui-loading),
1414
+ .sui-2-3-29 .sui-wrap a.sui-button [class*="sui-icon-"]:not(.sui-loading),
1415
+ .sui-2-3-29 .sui-wrap button.sui-button [class*="sui-icon-"]:not(.sui-loading) {
1416
+ width: 22px;
1417
+ position: relative;
1418
+ top: -1px;
1419
+ margin-left: -7px;
1420
+ }
1421
+
1422
+ .sui-2-3-29 .sui-wrap .sui-button:hover,
1423
+ .sui-2-3-29 .sui-wrap .sui-button:active,
1424
+ .sui-2-3-29 .sui-wrap a.sui-button:hover,
1425
+ .sui-2-3-29 .sui-wrap a.sui-button:active,
1426
+ .sui-2-3-29 .sui-wrap button.sui-button:hover,
1427
+ .sui-2-3-29 .sui-wrap button.sui-button:active {
1428
+ background-color: #6f6f6f;
1429
+ }
1430
+
1431
+ .sui-2-3-29 .sui-wrap .sui-button.disabled,
1432
+ .sui-2-3-29 .sui-wrap .sui-button:disabled,
1433
+ .sui-2-3-29 .sui-wrap .sui-button[disabled],
1434
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-onload,
1435
+ .sui-2-3-29 .sui-wrap a.sui-button.disabled,
1436
+ .sui-2-3-29 .sui-wrap a.sui-button:disabled,
1437
+ .sui-2-3-29 .sui-wrap a.sui-button[disabled],
1438
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-onload,
1439
+ .sui-2-3-29 .sui-wrap button.sui-button.disabled,
1440
+ .sui-2-3-29 .sui-wrap button.sui-button:disabled,
1441
+ .sui-2-3-29 .sui-wrap button.sui-button[disabled],
1442
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-onload {
1443
+ background-color: #E6E6E6;
1444
+ color: #aaa;
1445
+ }
1446
+
1447
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-icon-right [class*="sui-icon-"]:not(.sui-loading),
1448
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-icon-right [class*="sui-icon-"]:not(.sui-loading),
1449
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-icon-right [class*="sui-icon-"]:not(.sui-loading) {
1450
+ margin-right: -7px;
1451
+ margin-left: 0;
1452
+ }
1453
+
1454
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-blue,
1455
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-blue,
1456
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-blue {
1457
+ background-color: #17A8E3;
1458
+ color: #fff;
1459
+ }
1460
+
1461
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-blue:hover,
1462
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-blue:active,
1463
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-blue:hover,
1464
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-blue:active,
1465
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-blue:hover,
1466
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-blue:active {
1467
+ background-color: #1286b5;
1468
+ }
1469
+
1470
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-blue.disabled,
1471
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-blue:disabled,
1472
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-blue[disabled],
1473
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-blue.sui-button-onload,
1474
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-blue.disabled,
1475
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-blue:disabled,
1476
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-blue[disabled],
1477
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-blue.sui-button-onload,
1478
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-blue.disabled,
1479
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-blue:disabled,
1480
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-blue[disabled],
1481
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-blue.sui-button-onload {
1482
+ background-color: #E6E6E6;
1483
+ color: #aaa;
1484
+ }
1485
+
1486
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-green,
1487
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-green,
1488
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-green {
1489
+ background-color: #1ABC9C;
1490
+ color: #fff;
1491
+ }
1492
+
1493
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-green:hover,
1494
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-green:active,
1495
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-green:hover,
1496
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-green:active,
1497
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-green:hover,
1498
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-green:active {
1499
+ background-color: #148f77;
1500
+ }
1501
+
1502
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-green.disabled,
1503
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-green:disabled,
1504
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-green[disabled],
1505
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-green.sui-button-onload,
1506
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-green.disabled,
1507
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-green:disabled,
1508
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-green[disabled],
1509
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-green.sui-button-onload,
1510
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-green.disabled,
1511
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-green:disabled,
1512
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-green[disabled],
1513
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-green.sui-button-onload {
1514
+ background-color: #E6E6E6;
1515
+ color: #aaa;
1516
+ }
1517
+
1518
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-red,
1519
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-red,
1520
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-red {
1521
+ background-color: #FF6D6D;
1522
+ color: #fff;
1523
+ }
1524
+
1525
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-red:hover,
1526
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-red:active,
1527
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-red:hover,
1528
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-red:active,
1529
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-red:hover,
1530
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-red:active {
1531
+ background-color: #ff3a3a;
1532
+ }
1533
+
1534
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-red.disabled,
1535
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-red:disabled,
1536
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-red[disabled],
1537
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-red.sui-button-onload,
1538
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-red.disabled,
1539
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-red:disabled,
1540
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-red[disabled],
1541
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-red.sui-button-onload,
1542
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-red.disabled,
1543
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-red:disabled,
1544
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-red[disabled],
1545
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-red.sui-button-onload {
1546
+ background-color: #E6E6E6;
1547
+ color: #aaa;
1548
+ }
1549
+
1550
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-orange,
1551
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-orange,
1552
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-orange {
1553
+ background-color: #FF7E41;
1554
+ color: #fff;
1555
+ }
1556
+
1557
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-orange:hover,
1558
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-orange:active,
1559
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-orange:hover,
1560
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-orange:active,
1561
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-orange:hover,
1562
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-orange:active {
1563
+ background-color: #ff5b0e;
1564
+ }
1565
+
1566
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-orange.disabled,
1567
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-orange:disabled,
1568
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-orange[disabled],
1569
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-orange.sui-button-onload,
1570
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-orange.disabled,
1571
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-orange:disabled,
1572
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-orange[disabled],
1573
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-orange.sui-button-onload,
1574
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-orange.disabled,
1575
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-orange:disabled,
1576
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-orange[disabled],
1577
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-orange.sui-button-onload {
1578
+ background-color: #E6E6E6;
1579
+ color: #aaa;
1580
+ }
1581
+
1582
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-yellow,
1583
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-yellow,
1584
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-yellow {
1585
+ background-color: #FECF2F;
1586
+ color: #333;
1587
+ }
1588
+
1589
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-yellow:hover,
1590
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-yellow:active,
1591
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-yellow:hover,
1592
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-yellow:active,
1593
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-yellow:hover,
1594
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-yellow:active {
1595
+ background-color: #f9c101;
1596
+ }
1597
+
1598
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-yellow.disabled,
1599
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-yellow:disabled,
1600
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-yellow[disabled],
1601
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-yellow.sui-button-onload,
1602
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-yellow.disabled,
1603
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-yellow:disabled,
1604
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-yellow[disabled],
1605
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-yellow.sui-button-onload,
1606
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-yellow.disabled,
1607
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-yellow:disabled,
1608
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-yellow[disabled],
1609
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-yellow.sui-button-onload {
1610
+ background-color: #E6E6E6;
1611
+ color: #aaa;
1612
+ }
1613
+
1614
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-purple,
1615
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-purple,
1616
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-purple {
1617
+ background-color: #8D00B1;
1618
+ color: #fff;
1619
+ }
1620
+
1621
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-purple:hover,
1622
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-purple:active,
1623
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-purple:hover,
1624
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-purple:active,
1625
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-purple:hover,
1626
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-purple:active {
1627
+ background-color: #64007e;
1628
+ }
1629
+
1630
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-purple.disabled,
1631
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-purple:disabled,
1632
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-purple[disabled],
1633
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-purple.sui-button-onload,
1634
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-purple.disabled,
1635
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-purple:disabled,
1636
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-purple[disabled],
1637
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-purple.sui-button-onload,
1638
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-purple.disabled,
1639
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-purple:disabled,
1640
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-purple[disabled],
1641
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-purple.sui-button-onload {
1642
+ background-color: #E6E6E6;
1643
+ color: #aaa;
1644
+ }
1645
+
1646
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-upsell,
1647
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-upsell,
1648
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-upsell {
1649
+ width: auto;
1650
+ height: 26px;
1651
+ padding: 4px 14px;
1652
+ border-color: #D1F1EA;
1653
+ border-radius: 14px;
1654
+ background-color: transparent;
1655
+ color: #1ABC9C;
1656
+ line-height: 14px;
1657
+ text-transform: none;
1658
+ }
1659
+
1660
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-upsell:hover,
1661
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-upsell:active,
1662
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-upsell:hover,
1663
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-upsell:active,
1664
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-upsell:hover,
1665
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-upsell:active {
1666
+ opacity: 1;
1667
+ border-color: #1ABC9C;
1668
+ background-color: #1ABC9C;
1669
+ color: #fff;
1670
+ }
1671
+
1672
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-dashed,
1673
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-dashed,
1674
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-dashed {
1675
+ width: 100%;
1676
+ display: -ms-flexbox;
1677
+ display: flex;
1678
+ -ms-flex-align: center;
1679
+ align-items: center;
1680
+ -ms-flex-pack: center;
1681
+ justify-content: center;
1682
+ border-width: 1px;
1683
+ border-style: dashed;
1684
+ border-color: #aaa;
1685
+ background-color: rgba(0,0,0,0);
1686
+ color: #888;
1687
+ line-height: 18px;
1688
+ }
1689
+
1690
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-dashed.sui-lg,
1691
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-dashed.sui-lg,
1692
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-dashed.sui-lg {
1693
+ height: 70px;
1694
+ }
1695
+
1696
+ @media (max-width: 782px) {
1697
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-dashed.sui-lg,
1698
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-dashed.sui-lg,
1699
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-dashed.sui-lg {
1700
+ height: 50px;
1701
+ }
1702
+ }
1703
+
1704
+ @media (max-width: 782px) {
1705
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-dashed,
1706
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-dashed,
1707
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-dashed {
1708
+ height: 50px;
1709
+ }
1710
+ }
1711
+
1712
+ @media (min-width: 783px) {
1713
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-dashed,
1714
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-dashed,
1715
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-dashed {
1716
+ height: 60px;
1717
+ }
1718
+ }
1719
+
1720
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost,
1721
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost,
1722
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost {
1723
+ border-color: #ddd;
1724
+ background-color: transparent;
1725
+ color: #888;
1726
+ }
1727
+
1728
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost:hover,
1729
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost:active,
1730
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost:hover,
1731
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost:active,
1732
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost:hover,
1733
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost:active {
1734
+ border-color: #888;
1735
+ background-color: #888;
1736
+ color: #fff;
1737
+ }
1738
+
1739
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost.disabled,
1740
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost:disabled,
1741
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost[disabled],
1742
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost.sui-button-onload,
1743
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost.disabled,
1744
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost:disabled,
1745
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost[disabled],
1746
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost.sui-button-onload,
1747
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost.disabled,
1748
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost:disabled,
1749
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost[disabled],
1750
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost.sui-button-onload {
1751
+ border-color: #E6E6E6;
1752
+ background-color: #E6E6E6;
1753
+ color: #aaa;
1754
+ }
1755
+
1756
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost.sui-button-blue,
1757
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost.sui-button-blue,
1758
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost.sui-button-blue {
1759
+ border-color: #E1F6FF;
1760
+ color: #17A8E3;
1761
+ }
1762
+
1763
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost.sui-button-blue:hover,
1764
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost.sui-button-blue:active,
1765
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost.sui-button-blue:hover,
1766
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost.sui-button-blue:active,
1767
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost.sui-button-blue:hover,
1768
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost.sui-button-blue:active {
1769
+ border-color: #17A8E3;
1770
+ background-color: #17A8E3;
1771
+ color: #fff;
1772
+ }
1773
+
1774
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost.sui-button-blue.disabled,
1775
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost.sui-button-blue:disabled,
1776
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost.sui-button-blue[disabled],
1777
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost.sui-button-blue.sui-button-onload,
1778
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost.sui-button-blue.disabled,
1779
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost.sui-button-blue:disabled,
1780
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost.sui-button-blue[disabled],
1781
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost.sui-button-blue.sui-button-onload,
1782
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost.sui-button-blue.disabled,
1783
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost.sui-button-blue:disabled,
1784
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost.sui-button-blue[disabled],
1785
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost.sui-button-blue.sui-button-onload {
1786
+ border-color: #E6E6E6;
1787
+ background-color: #E6E6E6;
1788
+ color: #aaa;
1789
+ }
1790
+
1791
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost.sui-button-green,
1792
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost.sui-button-green,
1793
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost.sui-button-green {
1794
+ border-color: #D1F1EA;
1795
+ color: #1ABC9C;
1796
+ }
1797
+
1798
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost.sui-button-green:hover,
1799
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost.sui-button-green:active,
1800
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost.sui-button-green:hover,
1801
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost.sui-button-green:active,
1802
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost.sui-button-green:hover,
1803
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost.sui-button-green:active {
1804
+ border-color: #1ABC9C;
1805
+ background-color: #1ABC9C;
1806
+ color: #fff;
1807
+ }
1808
+
1809
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost.sui-button-green.disabled,
1810
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost.sui-button-green:disabled,
1811
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost.sui-button-green[disabled],
1812
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost.sui-button-green.sui-button-onload,
1813
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost.sui-button-green.disabled,
1814
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost.sui-button-green:disabled,
1815
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost.sui-button-green[disabled],
1816
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost.sui-button-green.sui-button-onload,
1817
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost.sui-button-green.disabled,
1818
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost.sui-button-green:disabled,
1819
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost.sui-button-green[disabled],
1820
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost.sui-button-green.sui-button-onload {
1821
+ border-color: #E6E6E6;
1822
+ background-color: #E6E6E6;
1823
+ color: #aaa;
1824
+ }
1825
+
1826
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost.sui-button-red,
1827
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost.sui-button-red,
1828
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost.sui-button-red {
1829
+ border-color: #FFE5E9;
1830
+ color: #FF6D6D;
1831
+ }
1832
+
1833
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost.sui-button-red:hover,
1834
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost.sui-button-red:active,
1835
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost.sui-button-red:hover,
1836
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost.sui-button-red:active,
1837
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost.sui-button-red:hover,
1838
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost.sui-button-red:active {
1839
+ border-color: #FF6D6D;
1840
+ background-color: #FF6D6D;
1841
+ color: #fff;
1842
+ }
1843
+
1844
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost.sui-button-red.disabled,
1845
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost.sui-button-red:disabled,
1846
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost.sui-button-red[disabled],
1847
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost.sui-button-red.sui-button-onload,
1848
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost.sui-button-red.disabled,
1849
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost.sui-button-red:disabled,
1850
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost.sui-button-red[disabled],
1851
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost.sui-button-red.sui-button-onload,
1852
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost.sui-button-red.disabled,
1853
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost.sui-button-red:disabled,
1854
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost.sui-button-red[disabled],
1855
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost.sui-button-red.sui-button-onload {
1856
+ border-color: #E6E6E6;
1857
+ background-color: #E6E6E6;
1858
+ color: #aaa;
1859
+ }
1860
+
1861
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost.sui-button-orange,
1862
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost.sui-button-orange,
1863
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost.sui-button-orange {
1864
+ border-color: #FFE5D9;
1865
+ color: #FF7E41;
1866
+ }
1867
+
1868
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost.sui-button-orange:hover,
1869
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost.sui-button-orange:active,
1870
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost.sui-button-orange:hover,
1871
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost.sui-button-orange:active,
1872
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost.sui-button-orange:hover,
1873
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost.sui-button-orange:active {
1874
+ border-color: #FF7E41;
1875
+ background-color: #FF7E41;
1876
+ color: #fff;
1877
+ }
1878
+
1879
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost.sui-button-orange.disabled,
1880
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost.sui-button-orange:disabled,
1881
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost.sui-button-orange[disabled],
1882
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost.sui-button-orange.sui-button-onload,
1883
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost.sui-button-orange.disabled,
1884
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost.sui-button-orange:disabled,
1885
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost.sui-button-orange[disabled],
1886
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost.sui-button-orange.sui-button-onload,
1887
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost.sui-button-orange.disabled,
1888
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost.sui-button-orange:disabled,
1889
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost.sui-button-orange[disabled],
1890
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost.sui-button-orange.sui-button-onload {
1891
+ border-color: #E6E6E6;
1892
+ background-color: #E6E6E6;
1893
+ color: #aaa;
1894
+ }
1895
+
1896
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost.sui-button-yellow,
1897
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost.sui-button-yellow,
1898
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost.sui-button-yellow {
1899
+ border-color: #FFF5D5;
1900
+ color: #FECF2F;
1901
+ }
1902
+
1903
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost.sui-button-yellow:hover,
1904
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost.sui-button-yellow:active,
1905
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost.sui-button-yellow:hover,
1906
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost.sui-button-yellow:active,
1907
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost.sui-button-yellow:hover,
1908
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost.sui-button-yellow:active {
1909
+ border-color: #FECF2F;
1910
+ background-color: #FECF2F;
1911
+ color: #333;
1912
+ }
1913
+
1914
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost.sui-button-yellow.disabled,
1915
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost.sui-button-yellow:disabled,
1916
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost.sui-button-yellow[disabled],
1917
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost.sui-button-yellow.sui-button-onload,
1918
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost.sui-button-yellow.disabled,
1919
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost.sui-button-yellow:disabled,
1920
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost.sui-button-yellow[disabled],
1921
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost.sui-button-yellow.sui-button-onload,
1922
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost.sui-button-yellow.disabled,
1923
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost.sui-button-yellow:disabled,
1924
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost.sui-button-yellow[disabled],
1925
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost.sui-button-yellow.sui-button-onload {
1926
+ border-color: #E6E6E6;
1927
+ background-color: #E6E6E6;
1928
+ color: #aaa;
1929
+ }
1930
+
1931
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost.sui-button-purple,
1932
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost.sui-button-purple,
1933
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost.sui-button-purple {
1934
+ border-color: #F9E1FF;
1935
+ color: #8D00B1;
1936
+ }
1937
+
1938
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost.sui-button-purple:hover,
1939
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost.sui-button-purple:active,
1940
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost.sui-button-purple:hover,
1941
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost.sui-button-purple:active,
1942
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost.sui-button-purple:hover,
1943
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost.sui-button-purple:active {
1944
+ border-color: #8D00B1;
1945
+ background-color: #8D00B1;
1946
+ color: #fff;
1947
+ }
1948
+
1949
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost.sui-button-purple.disabled,
1950
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost.sui-button-purple:disabled,
1951
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost.sui-button-purple[disabled],
1952
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-ghost.sui-button-purple.sui-button-onload,
1953
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost.sui-button-purple.disabled,
1954
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost.sui-button-purple:disabled,
1955
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost.sui-button-purple[disabled],
1956
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-ghost.sui-button-purple.sui-button-onload,
1957
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost.sui-button-purple.disabled,
1958
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost.sui-button-purple:disabled,
1959
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost.sui-button-purple[disabled],
1960
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-ghost.sui-button-purple.sui-button-onload {
1961
+ border-color: #E6E6E6;
1962
+ background-color: #E6E6E6;
1963
+ color: #aaa;
1964
+ }
1965
+
1966
+ @media (max-width: 782px) {
1967
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-compound .sui-compound-desktop,
1968
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-compound .sui-compound-desktop,
1969
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-compound .sui-compound-desktop {
1970
+ display: none;
1971
+ }
1972
+ }
1973
+
1974
+ @media (min-width: 783px) {
1975
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-compound .sui-compound-desktop,
1976
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-compound .sui-compound-desktop,
1977
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-compound .sui-compound-desktop {
1978
+ display: block;
1979
+ }
1980
+ }
1981
+
1982
+ @media (max-width: 782px) {
1983
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-compound .sui-compound-mobile [class*="sui-icon-"],
1984
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-compound .sui-compound-mobile [class*="sui-icon-"],
1985
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-compound .sui-compound-mobile [class*="sui-icon-"] {
1986
+ margin-right: 0;
1987
+ margin-left: 0;
1988
+ }
1989
+ }
1990
+
1991
+ @media (max-width: 782px) {
1992
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-compound .sui-compound-mobile,
1993
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-compound .sui-compound-mobile,
1994
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-compound .sui-compound-mobile {
1995
+ display: block;
1996
+ }
1997
+ }
1998
+
1999
+ @media (min-width: 783px) {
2000
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-compound .sui-compound-mobile,
2001
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-compound .sui-compound-mobile,
2002
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-compound .sui-compound-mobile {
2003
+ display: none;
2004
+ }
2005
+ }
2006
+
2007
+ @media (max-width: 782px) {
2008
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-compound,
2009
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-compound,
2010
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-compound {
2011
+ min-width: 44px;
2012
+ padding-right: 5px;
2013
+ padding-left: 5px;
2014
+ }
2015
+ }
2016
+
2017
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-lg,
2018
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-lg,
2019
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-lg {
2020
+ padding: 8px 20px;
2021
+ font-size: 15px;
2022
+ line-height: 20px;
2023
+ }
2024
+
2025
+ .sui-2-3-29 .sui-wrap .sui-button.sui-button-lg [class*="sui-icon-"],
2026
+ .sui-2-3-29 .sui-wrap a.sui-button.sui-button-lg [class*="sui-icon-"],
2027
+ .sui-2-3-29 .sui-wrap button.sui-button.sui-button-lg [class*="sui-icon-"] {
2028
+ font-size: 16px;
2029
+ }
2030
+
2031
+ .sui-2-3-29 .sui-wrap .sui-button-icon,
2032
+ .sui-2-3-29 .sui-wrap a.sui-button-icon,
2033
+ .sui-2-3-29 .sui-wrap button.sui-button-icon {
2034
+ width: 30px;
2035
+ height: 30px;
2036
+ display: -ms-inline-flexbox;
2037
+ display: inline-flex;
2038
+ -ms-flex-align: center;
2039
+ align-items: center;
2040
+ -ms-flex-pack: center;
2041
+ justify-content: center;
2042
+ padding: 0 4px;
2043
+ border-width: 1px;
2044
+ background-color: transparent;
2045
+ color: #888;
2046
+ text-align: center;
2047
+ white-space: nowrap;
2048
+ }
2049
+
2050
+ .sui-2-3-29 .sui-wrap .sui-button-icon [class*="sui-icon-"]:not(.sui-loading),
2051
+ .sui-2-3-29 .sui-wrap a.sui-button-icon [class*="sui-icon-"]:not(.sui-loading),
2052
+ .sui-2-3-29 .sui-wrap button.sui-button-icon [class*="sui-icon-"]:not(.sui-loading) {
2053
+ display: block;
2054
+ }
2055
+
2056
+ .sui-2-3-29 .sui-wrap .sui-button-icon:hover,
2057
+ .sui-2-3-29 .sui-wrap .sui-button-icon:active,
2058
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-active,
2059
+ .sui-2-3-29 .sui-wrap a.sui-button-icon:hover,
2060
+ .sui-2-3-29 .sui-wrap a.sui-button-icon:active,
2061
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-active,
2062
+ .sui-2-3-29 .sui-wrap button.sui-button-icon:hover,
2063
+ .sui-2-3-29 .sui-wrap button.sui-button-icon:active,
2064
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-active {
2065
+ background-color: #F2F2F2;
2066
+ color: #333;
2067
+ }
2068
+
2069
+ .sui-2-3-29 .sui-wrap .sui-button-icon.disabled,
2070
+ .sui-2-3-29 .sui-wrap .sui-button-icon:disabled,
2071
+ .sui-2-3-29 .sui-wrap .sui-button-icon[disabled],
2072
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-onload,
2073
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.disabled,
2074
+ .sui-2-3-29 .sui-wrap a.sui-button-icon:disabled,
2075
+ .sui-2-3-29 .sui-wrap a.sui-button-icon[disabled],
2076
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-onload,
2077
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.disabled,
2078
+ .sui-2-3-29 .sui-wrap button.sui-button-icon:disabled,
2079
+ .sui-2-3-29 .sui-wrap button.sui-button-icon[disabled],
2080
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-onload {
2081
+ color: #aaa;
2082
+ background-color: #E6E6E6;
2083
+ }
2084
+
2085
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-blue,
2086
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-blue,
2087
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-blue {
2088
+ color: #17A8E3;
2089
+ }
2090
+
2091
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-blue:hover,
2092
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-blue:active,
2093
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-blue.sui-active,
2094
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-blue:hover,
2095
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-blue:active,
2096
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-blue.sui-active,
2097
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-blue:hover,
2098
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-blue:active,
2099
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-blue.sui-active {
2100
+ background-color: #E1F6FF;
2101
+ color: #17A8E3;
2102
+ }
2103
+
2104
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-blue.disabled,
2105
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-blue:disabled,
2106
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-blue[disabled],
2107
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-blue.sui-button-onload,
2108
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-blue.disabled,
2109
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-blue:disabled,
2110
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-blue[disabled],
2111
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-blue.sui-button-onload,
2112
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-blue.disabled,
2113
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-blue:disabled,
2114
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-blue[disabled],
2115
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-blue.sui-button-onload {
2116
+ color: #aaa;
2117
+ background-color: #E6E6E6;
2118
+ }
2119
+
2120
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-green,
2121
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-green,
2122
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-green {
2123
+ color: #1ABC9C;
2124
+ }
2125
+
2126
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-green:hover,
2127
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-green:active,
2128
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-green.sui-active,
2129
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-green:hover,
2130
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-green:active,
2131
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-green.sui-active,
2132
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-green:hover,
2133
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-green:active,
2134
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-green.sui-active {
2135
+ background-color: #D1F1EA;
2136
+ color: #1ABC9C;
2137
+ }
2138
+
2139
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-green.disabled,
2140
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-green:disabled,
2141
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-green[disabled],
2142
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-green.sui-button-onload,
2143
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-green.disabled,
2144
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-green:disabled,
2145
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-green[disabled],
2146
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-green.sui-button-onload,
2147
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-green.disabled,
2148
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-green:disabled,
2149
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-green[disabled],
2150
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-green.sui-button-onload {
2151
+ color: #aaa;
2152
+ background-color: #E6E6E6;
2153
+ }
2154
+
2155
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-red,
2156
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-red,
2157
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-red {
2158
+ color: #FF6D6D;
2159
+ }
2160
+
2161
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-red:hover,
2162
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-red:active,
2163
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-red.sui-active,
2164
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-red:hover,
2165
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-red:active,
2166
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-red.sui-active,
2167
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-red:hover,
2168
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-red:active,
2169
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-red.sui-active {
2170
+ background-color: #FFE5E9;
2171
+ color: #FF6D6D;
2172
+ }
2173
+
2174
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-red.disabled,
2175
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-red:disabled,
2176
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-red[disabled],
2177
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-red.sui-button-onload,
2178
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-red.disabled,
2179
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-red:disabled,
2180
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-red[disabled],
2181
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-red.sui-button-onload,
2182
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-red.disabled,
2183
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-red:disabled,
2184
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-red[disabled],
2185
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-red.sui-button-onload {
2186
+ color: #aaa;
2187
+ background-color: #E6E6E6;
2188
+ }
2189
+
2190
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-orange,
2191
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-orange,
2192
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-orange {
2193
+ color: #FF7E41;
2194
+ }
2195
+
2196
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-orange:hover,
2197
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-orange:active,
2198
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-orange.sui-active,
2199
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-orange:hover,
2200
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-orange:active,
2201
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-orange.sui-active,
2202
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-orange:hover,
2203
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-orange:active,
2204
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-orange.sui-active {
2205
+ background-color: #FFE5D9;
2206
+ color: #FF7E41;
2207
+ }
2208
+
2209
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-orange.disabled,
2210
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-orange:disabled,
2211
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-orange[disabled],
2212
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-orange.sui-button-onload,
2213
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-orange.disabled,
2214
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-orange:disabled,
2215
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-orange[disabled],
2216
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-orange.sui-button-onload,
2217
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-orange.disabled,
2218
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-orange:disabled,
2219
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-orange[disabled],
2220
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-orange.sui-button-onload {
2221
+ color: #aaa;
2222
+ background-color: #E6E6E6;
2223
+ }
2224
+
2225
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-yellow,
2226
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-yellow,
2227
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-yellow {
2228
+ color: #FECF2F;
2229
+ }
2230
+
2231
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-yellow:hover,
2232
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-yellow:active,
2233
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-yellow.sui-active,
2234
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-yellow:hover,
2235
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-yellow:active,
2236
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-yellow.sui-active,
2237
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-yellow:hover,
2238
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-yellow:active,
2239
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-yellow.sui-active {
2240
+ background-color: #FFF5D5;
2241
+ color: #FECF2F;
2242
+ }
2243
+
2244
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-yellow.disabled,
2245
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-yellow:disabled,
2246
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-yellow[disabled],
2247
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-yellow.sui-button-onload,
2248
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-yellow.disabled,
2249
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-yellow:disabled,
2250
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-yellow[disabled],
2251
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-yellow.sui-button-onload,
2252
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-yellow.disabled,
2253
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-yellow:disabled,
2254
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-yellow[disabled],
2255
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-yellow.sui-button-onload {
2256
+ color: #aaa;
2257
+ background-color: #E6E6E6;
2258
+ }
2259
+
2260
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-purple,
2261
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-purple,
2262
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-purple {
2263
+ color: #8D00B1;
2264
+ }
2265
+
2266
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-purple:hover,
2267
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-purple:active,
2268
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-purple.sui-active,
2269
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-purple:hover,
2270
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-purple:active,
2271
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-purple.sui-active,
2272
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-purple:hover,
2273
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-purple:active,
2274
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-purple.sui-active {
2275
+ background-color: #F9E1FF;
2276
+ color: #8D00B1;
2277
+ }
2278
+
2279
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-purple.disabled,
2280
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-purple:disabled,
2281
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-purple[disabled],
2282
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-purple.sui-button-onload,
2283
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-purple.disabled,
2284
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-purple:disabled,
2285
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-purple[disabled],
2286
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-purple.sui-button-onload,
2287
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-purple.disabled,
2288
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-purple:disabled,
2289
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-purple[disabled],
2290
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-purple.sui-button-onload {
2291
+ color: #aaa;
2292
+ background-color: #E6E6E6;
2293
+ }
2294
+
2295
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined,
2296
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined,
2297
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined {
2298
+ width: 44px;
2299
+ border-color: #ddd;
2300
+ }
2301
+
2302
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined:hover,
2303
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined:active,
2304
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-active,
2305
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined:hover,
2306
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined:active,
2307
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-active,
2308
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined:hover,
2309
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined:active,
2310
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-active {
2311
+ border-color: #888;
2312
+ background-color: #888;
2313
+ color: #fff;
2314
+ }
2315
+
2316
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.disabled,
2317
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined:disabled,
2318
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined[disabled],
2319
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-onload,
2320
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.disabled,
2321
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined:disabled,
2322
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined[disabled],
2323
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-onload,
2324
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.disabled,
2325
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined:disabled,
2326
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined[disabled],
2327
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-onload {
2328
+ border-color: #E6E6E6;
2329
+ }
2330
+
2331
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-blue,
2332
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-blue,
2333
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-blue {
2334
+ border-color: #E1F6FF;
2335
+ }
2336
+
2337
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-blue:hover,
2338
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-blue:active,
2339
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-blue.sui-active,
2340
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-blue:hover,
2341
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-blue:active,
2342
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-blue.sui-active,
2343
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-blue:hover,
2344
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-blue:active,
2345
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-blue.sui-active {
2346
+ border-color: #17A8E3;
2347
+ background-color: #17A8E3;
2348
+ color: #fff;
2349
+ }
2350
+
2351
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-blue.disabled,
2352
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-blue:disabled,
2353
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-blue[disabled],
2354
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-blue.sui-button-onload,
2355
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-blue.disabled,
2356
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-blue:disabled,
2357
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-blue[disabled],
2358
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-blue.sui-button-onload,
2359
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-blue.disabled,
2360
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-blue:disabled,
2361
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-blue[disabled],
2362
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-blue.sui-button-onload {
2363
+ border-color: #E6E6E6;
2364
+ }
2365
+
2366
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-green,
2367
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-green,
2368
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-green {
2369
+ border-color: #D1F1EA;
2370
+ }
2371
+
2372
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-green:hover,
2373
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-green:active,
2374
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-green.sui-active,
2375
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-green:hover,
2376
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-green:active,
2377
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-green.sui-active,
2378
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-green:hover,
2379
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-green:active,
2380
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-green.sui-active {
2381
+ border-color: #1ABC9C;
2382
+ background-color: #1ABC9C;
2383
+ color: #fff;
2384
+ }
2385
+
2386
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-green.disabled,
2387
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-green:disabled,
2388
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-green[disabled],
2389
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-green.sui-button-onload,
2390
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-green.disabled,
2391
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-green:disabled,
2392
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-green[disabled],
2393
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-green.sui-button-onload,
2394
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-green.disabled,
2395
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-green:disabled,
2396
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-green[disabled],
2397
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-green.sui-button-onload {
2398
+ border-color: #E6E6E6;
2399
+ }
2400
+
2401
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-red,
2402
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-red,
2403
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-red {
2404
+ border-color: #FFE5E9;
2405
+ }
2406
+
2407
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-red:hover,
2408
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-red:active,
2409
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-red.sui-active,
2410
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-red:hover,
2411
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-red:active,
2412
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-red.sui-active,
2413
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-red:hover,
2414
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-red:active,
2415
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-red.sui-active {
2416
+ border-color: #FF6D6D;
2417
+ background-color: #FF6D6D;
2418
+ color: #fff;
2419
+ }
2420
+
2421
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-red.disabled,
2422
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-red:disabled,
2423
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-red[disabled],
2424
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-red.sui-button-onload,
2425
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-red.disabled,
2426
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-red:disabled,
2427
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-red[disabled],
2428
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-red.sui-button-onload,
2429
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-red.disabled,
2430
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-red:disabled,
2431
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-red[disabled],
2432
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-red.sui-button-onload {
2433
+ border-color: #E6E6E6;
2434
+ }
2435
+
2436
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-orange,
2437
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-orange,
2438
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-orange {
2439
+ border-color: #FFE5D9;
2440
+ }
2441
+
2442
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-orange:hover,
2443
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-orange:active,
2444
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-orange.sui-active,
2445
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-orange:hover,
2446
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-orange:active,
2447
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-orange.sui-active,
2448
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-orange:hover,
2449
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-orange:active,
2450
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-orange.sui-active {
2451
+ border-color: #FF7E41;
2452
+ background-color: #FF7E41;
2453
+ color: #fff;
2454
+ }
2455
+
2456
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-orange.disabled,
2457
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-orange:disabled,
2458
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-orange[disabled],
2459
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-orange.sui-button-onload,
2460
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-orange.disabled,
2461
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-orange:disabled,
2462
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-orange[disabled],
2463
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-orange.sui-button-onload,
2464
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-orange.disabled,
2465
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-orange:disabled,
2466
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-orange[disabled],
2467
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-orange.sui-button-onload {
2468
+ border-color: #E6E6E6;
2469
+ }
2470
+
2471
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-yellow,
2472
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-yellow,
2473
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-yellow {
2474
+ border-color: #FFF5D5;
2475
+ }
2476
+
2477
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-yellow:hover,
2478
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-yellow:active,
2479
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-yellow.sui-active,
2480
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-yellow:hover,
2481
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-yellow:active,
2482
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-yellow.sui-active,
2483
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-yellow:hover,
2484
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-yellow:active,
2485
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-yellow.sui-active {
2486
+ border-color: #FECF2F;
2487
+ background-color: #FECF2F;
2488
+ color: #333;
2489
+ }
2490
+
2491
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-yellow.disabled,
2492
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-yellow:disabled,
2493
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-yellow[disabled],
2494
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-yellow.sui-button-onload,
2495
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-yellow.disabled,
2496
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-yellow:disabled,
2497
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-yellow[disabled],
2498
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-yellow.sui-button-onload,
2499
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-yellow.disabled,
2500
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-yellow:disabled,
2501
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-yellow[disabled],
2502
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-yellow.sui-button-onload {
2503
+ border-color: #E6E6E6;
2504
+ }
2505
+
2506
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-purple,
2507
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-purple,
2508
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-purple {
2509
+ border-color: #F9E1FF;
2510
+ }
2511
+
2512
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-purple:hover,
2513
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-purple:active,
2514
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-purple.sui-active,
2515
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-purple:hover,
2516
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-purple:active,
2517
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-purple.sui-active,
2518
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-purple:hover,
2519
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-purple:active,
2520
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-purple.sui-active {
2521
+ border-color: #8D00B1;
2522
+ background-color: #8D00B1;
2523
+ color: #fff;
2524
+ }
2525
+
2526
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-purple.disabled,
2527
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-purple:disabled,
2528
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-purple[disabled],
2529
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-outlined.sui-button-purple.sui-button-onload,
2530
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-purple.disabled,
2531
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-purple:disabled,
2532
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-purple[disabled],
2533
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-outlined.sui-button-purple.sui-button-onload,
2534
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-purple.disabled,
2535
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-purple:disabled,
2536
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-purple[disabled],
2537
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-outlined.sui-button-purple.sui-button-onload {
2538
+ border-color: #E6E6E6;
2539
+ }
2540
+
2541
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled,
2542
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled,
2543
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled {
2544
+ background-color: #E6E6E6;
2545
+ color: #aaa;
2546
+ }
2547
+
2548
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled:hover,
2549
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled:active,
2550
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-active,
2551
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled:hover,
2552
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled:active,
2553
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-active,
2554
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled:hover,
2555
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled:active,
2556
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-active {
2557
+ background-color: #d2d2d2;
2558
+ }
2559
+
2560
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.disabled,
2561
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled:disabled,
2562
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled[disabled],
2563
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-onload,
2564
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.disabled,
2565
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled:disabled,
2566
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled[disabled],
2567
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-onload,
2568
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.disabled,
2569
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled:disabled,
2570
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled[disabled],
2571
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-onload {
2572
+ background-color: #E6E6E6;
2573
+ color: #aaa;
2574
+ }
2575
+
2576
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-blue,
2577
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-blue,
2578
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-blue {
2579
+ background-color: #17A8E3;
2580
+ color: #fff;
2581
+ }
2582
+
2583
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-blue:hover,
2584
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-blue:active,
2585
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-blue.sui-active,
2586
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-blue:hover,
2587
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-blue:active,
2588
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-blue.sui-active,
2589
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-blue:hover,
2590
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-blue:active,
2591
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-blue.sui-active {
2592
+ background-color: #1286b5;
2593
+ }
2594
+
2595
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-blue.disabled,
2596
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-blue:disabled,
2597
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-blue[disabled],
2598
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-blue.sui-button-onload,
2599
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-blue.disabled,
2600
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-blue:disabled,
2601
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-blue[disabled],
2602
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-blue.sui-button-onload,
2603
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-blue.disabled,
2604
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-blue:disabled,
2605
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-blue[disabled],
2606
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-blue.sui-button-onload {
2607
+ background-color: #E6E6E6;
2608
+ color: #aaa;
2609
+ }
2610
+
2611
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-green,
2612
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-green,
2613
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-green {
2614
+ background-color: #1ABC9C;
2615
+ color: #fff;
2616
+ }
2617
+
2618
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-green:hover,
2619
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-green:active,
2620
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-green.sui-active,
2621
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-green:hover,
2622
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-green:active,
2623
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-green.sui-active,
2624
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-green:hover,
2625
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-green:active,
2626
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-green.sui-active {
2627
+ background-color: #148f77;
2628
+ }
2629
+
2630
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-green.disabled,
2631
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-green:disabled,
2632
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-green[disabled],
2633
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-green.sui-button-onload,
2634
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-green.disabled,
2635
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-green:disabled,
2636
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-green[disabled],
2637
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-green.sui-button-onload,
2638
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-green.disabled,
2639
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-green:disabled,
2640
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-green[disabled],
2641
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-green.sui-button-onload {
2642
+ background-color: #E6E6E6;
2643
+ color: #aaa;
2644
+ }
2645
+
2646
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-red,
2647
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-red,
2648
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-red {
2649
+ background-color: #FF6D6D;
2650
+ color: #fff;
2651
+ }
2652
+
2653
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-red:hover,
2654
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-red:active,
2655
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-red.sui-active,
2656
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-red:hover,
2657
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-red:active,
2658
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-red.sui-active,
2659
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-red:hover,
2660
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-red:active,
2661
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-red.sui-active {
2662
+ background-color: #ff3a3a;
2663
+ }
2664
+
2665
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-red.disabled,
2666
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-red:disabled,
2667
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-red[disabled],
2668
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-red.sui-button-onload,
2669
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-red.disabled,
2670
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-red:disabled,
2671
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-red[disabled],
2672
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-red.sui-button-onload,
2673
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-red.disabled,
2674
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-red:disabled,
2675
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-red[disabled],
2676
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-red.sui-button-onload {
2677
+ background-color: #E6E6E6;
2678
+ color: #aaa;
2679
+ }
2680
+
2681
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-orange,
2682
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-orange,
2683
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-orange {
2684
+ background-color: #FF7E41;
2685
+ color: #fff;
2686
+ }
2687
+
2688
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-orange:hover,
2689
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-orange:active,
2690
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-orange.sui-active,
2691
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-orange:hover,
2692
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-orange:active,
2693
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-orange.sui-active,
2694
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-orange:hover,
2695
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-orange:active,
2696
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-orange.sui-active {
2697
+ background-color: #ff5b0e;
2698
+ }
2699
+
2700
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-orange.disabled,
2701
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-orange:disabled,
2702
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-orange[disabled],
2703
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-orange.sui-button-onload,
2704
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-orange.disabled,
2705
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-orange:disabled,
2706
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-orange[disabled],
2707
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-orange.sui-button-onload,
2708
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-orange.disabled,
2709
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-orange:disabled,
2710
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-orange[disabled],
2711
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-orange.sui-button-onload {
2712
+ background-color: #E6E6E6;
2713
+ color: #aaa;
2714
+ }
2715
+
2716
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-yellow,
2717
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-yellow,
2718
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-yellow {
2719
+ background-color: #FECF2F;
2720
+ color: #333;
2721
+ }
2722
+
2723
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-yellow:hover,
2724
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-yellow:active,
2725
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-yellow.sui-active,
2726
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-yellow:hover,
2727
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-yellow:active,
2728
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-yellow.sui-active,
2729
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-yellow:hover,
2730
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-yellow:active,
2731
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-yellow.sui-active {
2732
+ background-color: #f9c101;
2733
+ }
2734
+
2735
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-yellow.disabled,
2736
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-yellow:disabled,
2737
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-yellow[disabled],
2738
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-yellow.sui-button-onload,
2739
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-yellow.disabled,
2740
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-yellow:disabled,
2741
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-yellow[disabled],
2742
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-yellow.sui-button-onload,
2743
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-yellow.disabled,
2744
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-yellow:disabled,
2745
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-yellow[disabled],
2746
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-yellow.sui-button-onload {
2747
+ background-color: #E6E6E6;
2748
+ color: #aaa;
2749
+ }
2750
+
2751
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-purple,
2752
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-purple,
2753
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-purple {
2754
+ background-color: #8D00B1;
2755
+ color: #fff;
2756
+ }
2757
+
2758
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-purple:hover,
2759
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-purple:active,
2760
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-purple.sui-active,
2761
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-purple:hover,
2762
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-purple:active,
2763
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-purple.sui-active,
2764
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-purple:hover,
2765
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-purple:active,
2766
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-purple.sui-active {
2767
+ background-color: #64007e;
2768
+ }
2769
+
2770
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-purple.disabled,
2771
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-purple:disabled,
2772
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-purple[disabled],
2773
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-filled.sui-button-purple.sui-button-onload,
2774
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-purple.disabled,
2775
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-purple:disabled,
2776
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-purple[disabled],
2777
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-filled.sui-button-purple.sui-button-onload,
2778
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-purple.disabled,
2779
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-purple:disabled,
2780
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-purple[disabled],
2781
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-filled.sui-button-purple.sui-button-onload {
2782
+ background-color: #E6E6E6;
2783
+ color: #aaa;
2784
+ }
2785
+
2786
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-lg,
2787
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-lg,
2788
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-lg {
2789
+ width: 50px;
2790
+ height: 40px;
2791
+ }
2792
+
2793
+ .sui-2-3-29 .sui-wrap .sui-button-icon.sui-button-lg [class*="sui-icon-"],
2794
+ .sui-2-3-29 .sui-wrap a.sui-button-icon.sui-button-lg [class*="sui-icon-"],
2795
+ .sui-2-3-29 .sui-wrap button.sui-button-icon.sui-button-lg [class*="sui-icon-"] {
2796
+ font-size: 13px;
2797
+ }
2798
+
2799
+ .sui-2-3-29 .sui-wrap .sui-dropdown .sui-button:not(:last-child),
2800
+ .sui-2-3-29 .sui-wrap .sui-dropdown .sui-button-icon:not(:last-child),
2801
+ .sui-2-3-29 .sui-wrap .sui-dropdown a.sui-button:not(:last-child),
2802
+ .sui-2-3-29 .sui-wrap .sui-dropdown a.sui-button-icon:not(:last-child),
2803
+ .sui-2-3-29 .sui-wrap .sui-dropdown button.sui-button:not(:last-child),
2804
+ .sui-2-3-29 .sui-wrap .sui-dropdown button.sui-button-icon:not(:last-child) {
2805
+ margin-right: 0;
2806
+ }
2807
+
2808
+ .sui-2-3-29 .sui-wrap * {
2809
+ box-sizing: border-box;
2810
+ }
2811
+
2812
+ .sui-2-3-29 .sui-wrap *:before,
2813
+ .sui-2-3-29 .sui-wrap *:after {
2814
+ box-sizing: border-box;
2815
+ }
2816
+
2817
+ .sui-2-3-29 .sui-wrap .sui-box {
2818
+ min-height: 20px;
2819
+ position: relative;
2820
+ border-radius: 4px;
2821
+ background-color: #fff;
2822
+ box-shadow: 0 2px 0 #E6E6E6;
2823
+ }
2824
+
2825
+ .sui-2-3-29 .sui-wrap .sui-box .sui-box-header {
2826
+ border-bottom: 1px solid #E6E6E6;
2827
+ padding: 15px 30px;
2828
+ display: -ms-flexbox;
2829
+ display: flex;
2830
+ -ms-flex-align: center;
2831
+ align-items: center;
2832
+ }
2833
+
2834
+ @media (max-width: 782px) {
2835
+ .sui-2-3-29 .sui-wrap .sui-box .sui-box-header {
2836
+ padding: 15px 20px;
2837
+ }
2838
+ }
2839
+
2840
+ .sui-2-3-29 .sui-wrap .sui-box .sui-box-header>h3>i {
2841
+ line-height: 30px;
2842
+ }
2843
+
2844
+ @media (max-width: 782px) {
2845
+ .sui-2-3-29 .sui-wrap .sui-box .sui-box-body {
2846
+ padding: 20px;
2847
+ }
2848
+ }
2849
+
2850
+ @media (min-width: 783px) {
2851
+ .sui-2-3-29 .sui-wrap .sui-box .sui-box-body {
2852
+ padding: 30px;
2853
+ }
2854
+ }
2855
+
2856
+ .sui-2-3-29 .sui-wrap .sui-box .sui-box-footer {
2857
+ border-top: 1px solid #E6E6E6;
2858
+ padding: 30px;
2859
+ display: -ms-flexbox;
2860
+ display: flex;
2861
+ -ms-flex-align: center;
2862
+ align-items: center;
2863
+ }
2864
+
2865
+ .sui-2-3-29 .sui-wrap .sui-box .sui-box-footer.sui-pull-up {
2866
+ margin-top: -15px;
2867
+ }
2868
+
2869
+ @media (max-width: 782px) {
2870
+ .sui-2-3-29 .sui-wrap .sui-box .sui-box-footer {
2871
+ padding: 20px;
2872
+ }
2873
+ }
2874
+
2875
+ .sui-2-3-29 .sui-wrap .sui-box .sui-box-status {
2876
+ padding: 15px 20px 20px;
2877
+ }
2878
+
2879
+ .sui-2-3-29 .sui-wrap .sui-box .sui-box-status .sui-status {
2880
+ display: -ms-flexbox;
2881
+ display: flex;
2882
+ }
2883
+
2884
+ .sui-2-3-29 .sui-wrap .sui-box .sui-box-status .sui-status [class*="sui-status-"] {
2885
+ font-size: 12px;
2886
+ line-height: 30px;
2887
+ font-family: "Roboto",Arial,sans-serif;
2888
+ letter-spacing: -.25px;
2889
+ }
2890
+
2891
+ .sui-2-3-29 .sui-wrap .sui-box .sui-box-status .sui-status [class*="sui-status-"] .sui-tag {
2892
+ margin-left: 8px;
2893
+ }
2894
+
2895
+ .sui-2-3-29 .sui-wrap .sui-box .sui-box-status .sui-status [class*="sui-status-"] [class*="sui-icon-"] {
2896
+ margin-right: 4px;
2897
+ font-size: 12px;
2898
+ }
2899
+
2900
+ .sui-2-3-29 .sui-wrap .sui-box .sui-box-status .sui-status [class*="sui-status-"] [class*="sui-icon-"]:before {
2901
+ display: block;
2902
+ }
2903
+
2904
+ .sui-2-3-29 .sui-wrap .sui-box .sui-box-status .sui-status [class*="sui-status-"]:not(:last-child) {
2905
+ margin-right: 20px;
2906
+ }
2907
+
2908
+ .sui-2-3-29 .sui-wrap .sui-box .sui-box-status .sui-status [class*="sui-status-"]:not(:first-child) {
2909
+ padding-left: 20px;
2910
+ border-left: 1px solid #E6E6E6;
2911
+ }
2912
+
2913
+ .sui-2-3-29 .sui-wrap .sui-box .sui-box-status .sui-status .sui-status-module {
2914
+ color: #888;
2915
+ font-weight: bold;
2916
+ }
2917
+
2918
+ .sui-2-3-29 .sui-wrap .sui-box .sui-box-status .sui-status .sui-status-changes {
2919
+ color: #aaa;
2920
+ font-weight: 500;
2921
+ letter-spacing: -.25px;
2922
+ }
2923
+
2924
+ .sui-2-3-29 .sui-wrap .sui-box .sui-box-status .sui-status .sui-status-changes .sui-icon-check-tick:before {
2925
+ color: #1ABC9C;
2926
+ }
2927
+
2928
+ .sui-2-3-29 .sui-wrap .sui-box .sui-box-status .sui-status .sui-status-changes .sui-icon-update:before {
2929
+ color: #888;
2930
+ }
2931
+
2932
+ @media (max-width: 782px) {
2933
+ .sui-2-3-29 .sui-wrap .sui-box .sui-box-status .sui-status+.sui-actions {
2934
+ margin-top: 15px;
2935
+ }
2936
+ }
2937
+
2938
+ @media (min-width: 783px) {
2939
+ .sui-2-3-29 .sui-wrap .sui-box .sui-box-status .sui-status+.sui-actions {
2940
+ margin-left: 15px;
2941
+ }
2942
+ }
2943
+
2944
+ @media (min-width: 783px) {
2945
+ .sui-2-3-29 .sui-wrap .sui-box .sui-box-status .sui-status {
2946
+ -ms-flex: 1;
2947
+ flex: 1;
2948
+ }
2949
+ }
2950
+
2951
+ @media (min-width: 783px) {
2952
+ .sui-2-3-29 .sui-wrap .sui-box .sui-box-status .sui-actions {
2953
+ -ms-flex: 0 0 auto;
2954
+ flex: 0 0 auto;
2955
+ }
2956
+ }
2957
+
2958
+ @media (min-width: 783px) {
2959
+ .sui-2-3-29 .sui-wrap .sui-box .sui-box-status {
2960
+ display: -ms-flexbox;
2961
+ display: flex;
2962
+ padding: 15px 30px;
2963
+ }
2964
+ }
2965
+
2966
+ .sui-2-3-29 .sui-wrap .sui-box .sui-box-search>* {
2967
+ max-width: 100%;
2968
+ -ms-flex: 0 1 auto;
2969
+ flex: 0 1 auto;
2970
+ }
2971
+
2972
+ @media (min-width: 783px) {
2973
+ .sui-2-3-29 .sui-wrap .sui-box .sui-box-search>.sui-search-left:not(:last-child) {
2974
+ margin-right: 15px;
2975
+ }
2976
+ }
2977
+
2978
+ @media (min-width: 783px) {
2979
+ .sui-2-3-29 .sui-wrap .sui-box .sui-box-search>.sui-search-left {
2980
+ display: -ms-flexbox;
2981
+ display: flex;
2982
+ -ms-flex: 1;
2983
+ flex: 1;
2984
+ }
2985
+ }
2986
+
2987
+ @media (min-width: 783px) {
2988
+ .sui-2-3-29 .sui-wrap .sui-box .sui-box-search>.sui-search-right:only-child {
2989
+ -ms-flex: 1;
2990
+ flex: 1;
2991
+ }
2992
+ }
2993
+
2994
+ @media (min-width: 783px) {
2995
+ .sui-2-3-29 .sui-wrap .sui-box .sui-box-search>.sui-search-right:not(:only-child):not(:last-child) {
2996
+ margin-right: 15px;
2997
+ }
2998
+ }
2999
+
3000
+ @media (min-width: 783px) {
3001
+ .sui-2-3-29 .sui-wrap .sui-box .sui-box-search>.sui-search-right:not(:only-child) {
3002
+ -ms-flex: 0 0 auto;
3003
+ flex: 0 0 auto;
3004
+ }
3005
+ }
3006
+
3007
+ @media (min-width: 783px) {
3008
+ .sui-2-3-29 .sui-wrap .sui-box .sui-box-search {
3009
+ display: -ms-flexbox;
3010
+ display: flex;
3011
+ }
3012
+ }
3013
+
3014
+ @media (min-width: 783px) {
3015
+ .sui-2-3-29 .sui-wrap .sui-box.sui-box-sticky {
3016
+ position: -webkit-sticky !important;
3017
+ position: sticky !important;
3018
+ top: 32px;
3019
+ z-index: 12;
3020
+ }
3021
+ }
3022
+
3023
+ .sui-2-3-29 .sui-wrap .sui-box.sui-box-sticky.sui-is-sticky {
3024
+ box-shadow: 0 5px 25px rgba(0,0,0,0.15);
3025
+ }
3026
+
3027
+ .sui-2-3-29 .sui-wrap .sui-box>.sui-box-search {
3028
+ padding-top: 15px;
3029
+ padding-bottom: 15px;
3030
+ }
3031
+
3032
+ @media (max-width: 782px) {
3033
+ .sui-2-3-29 .sui-wrap .sui-box>.sui-box-search {
3034
+ padding-right: 20px;
3035
+ padding-left: 20px;
3036
+ }
3037
+ }
3038
+
3039
+ @media (min-width: 783px) {
3040
+ .sui-2-3-29 .sui-wrap .sui-box>.sui-box-search {
3041
+ padding-right: 30px;
3042
+ padding-left: 30px;
3043
+ }
3044
+ }
3045
+
3046
+ @media (max-width: 782px) {
3047
+ .sui-2-3-29 .sui-wrap .sui-box:last-child {
3048
+ margin-bottom: 0;
3049
+ }
3050
+ }
3051
+
3052
+ @media (min-width: 783px) {
3053
+ .sui-2-3-29 .sui-wrap .sui-box:last-child {
3054
+ margin-bottom: 0;
3055
+ }
3056
+ }
3057
+
3058
+ @media (max-width: 782px) {
3059
+ .sui-2-3-29 .sui-wrap .sui-box {
3060
+ margin-bottom: 20px;
3061
+ }
3062
+ }
3063
+
3064
+ @media (min-width: 783px) {
3065
+ .sui-2-3-29 .sui-wrap .sui-box {
3066
+ margin-bottom: 30px;
3067
+ }
3068
+ }
3069
+
3070
+ .sui-2-3-29 .sui-wrap .sui-message {
3071
+ display: block;
3072
+ text-align: center;
3073
+ }
3074
+
3075
+ .sui-2-3-29 .sui-wrap .sui-message .sui-message-content {
3076
+ max-width: 600px;
3077
+ margin-right: auto;
3078
+ margin-left: auto;
3079
+ }
3080
+
3081
+ .sui-2-3-29 .sui-wrap .sui-message .sui-message-content h1,
3082
+ .sui-2-3-29 .sui-wrap .sui-message .sui-message-content h2,
3083
+ .sui-2-3-29 .sui-wrap .sui-message .sui-message-content h3,
3084
+ .sui-2-3-29 .sui-wrap .sui-message .sui-message-content h4,
3085
+ .sui-2-3-29 .sui-wrap .sui-message .sui-message-content h5,
3086
+ .sui-2-3-29 .sui-wrap .sui-message .sui-message-content h6 {
3087
+ margin: 0 0 20px;
3088
+ }
3089
+
3090
+ .sui-2-3-29 .sui-wrap .sui-message .sui-message-content h1:last-child,
3091
+ .sui-2-3-29 .sui-wrap .sui-message .sui-message-content h2:last-child,
3092
+ .sui-2-3-29 .sui-wrap .sui-message .sui-message-content h3:last-child,
3093
+ .sui-2-3-29 .sui-wrap .sui-message .sui-message-content h4:last-child,
3094
+ .sui-2-3-29 .sui-wrap .sui-message .sui-message-content h5:last-child,
3095
+ .sui-2-3-29 .sui-wrap .sui-message .sui-message-content h6:last-child {
3096
+ margin-bottom: 0;
3097
+ }
3098
+
3099
+ .sui-2-3-29 .sui-wrap .sui-message .sui-message-content p {
3100
+ margin: 0 0 30px;
3101
+ letter-spacing: -0.25px;
3102
+ }
3103
+
3104
+ .sui-2-3-29 .sui-wrap .sui-message .sui-message-content p:last-child {
3105
+ margin-bottom: 0;
3106
+ }
3107
+
3108
+ @media (max-width: 782px) {
3109
+ .sui-2-3-29 .sui-wrap .sui-message .sui-message-content {
3110
+ margin-top: 20px;
3111
+ margin-bottom: 20px;
3112
+ }
3113
+ }
3114
+
3115
+ @media (min-width: 783px) {
3116
+ .sui-2-3-29 .sui-wrap .sui-message .sui-message-content {
3117
+ margin-top: 30px;
3118
+ margin-bottom: 30px;
3119
+ }
3120
+ }
3121
+
3122
+ .sui-2-3-29 .sui-wrap .sui-message:not(.sui-message-lg) .sui-image {
3123
+ margin: 10px auto;
3124
+ }
3125
+
3126
+ .sui-2-3-29 .sui-wrap .sui-message:not(.sui-message-lg) .sui-message-content:first-child {
3127
+ margin-top: 0;
3128
+ }
3129
+
3130
+ .sui-2-3-29 .sui-wrap .sui-message:not(.sui-message-lg) .sui-message-content:last-child {
3131
+ margin-bottom: 0;
3132
+ }
3133
+
3134
+ .sui-2-3-29 .sui-wrap .sui-message.sui-message-lg .sui-image {
3135
+ margin: 30px auto;
3136
+ }
3137
+
3138
+ .sui-2-3-29 .sui-wrap .sui-message:first-child {
3139
+ margin-top: 0;
3140
+ }
3141
+
3142
+ .sui-2-3-29 .sui-wrap .sui-message:last-child {
3143
+ margin-bottom: 0;
3144
+ }
3145
+
3146
+ @media (max-width: 782px) {
3147
+ .sui-2-3-29 .sui-wrap .sui-message {
3148
+ padding: 20px;
3149
+ }
3150
+ }
3151
+
3152
+ @media (min-width: 783px) {
3153
+ .sui-2-3-29 .sui-wrap .sui-message {
3154
+ padding: 30px;
3155
+ }
3156
+ }
3157
+
3158
+ .sui-2-3-29 .sui-wrap .sui-box .sui-box-title {
3159
+ display: block;
3160
+ margin: 0;
3161
+ padding: 0;
3162
+ border: 0;
3163
+ font: 700 15px/30px "Roboto",Arial,sans-serif;
3164
+ text-transform: none;
3165
+ white-space: nowrap;
3166
+ overflow: hidden;
3167
+ text-overflow: ellipsis;
3168
+ }
3169
+
3170
+ .sui-2-3-29 .sui-wrap .sui-box .sui-box-title * {
3171
+ vertical-align: middle;
3172
+ }
3173
+
3174
+ .sui-2-3-29 .sui-wrap .sui-box .sui-box-title [class*="sui-icon-"] {
3175
+ float: left;
3176
+ display: block;
3177
+ margin-right: 10px;
3178
+ }
3179
+
3180
+ .sui-2-3-29 .sui-wrap .sui-box .sui-box-title [class*="sui-icon-"]:before {
3181
+ color: inherit;
3182
+ font-size: 20px;
3183
+ vertical-align: text-bottom;
3184
+ }
3185
+
3186
+ .sui-2-3-29 .sui-wrap .sui-box-body .sui-upsell-row {
3187
+ position: relative;
3188
+ }
3189
+
3190
+ .sui-2-3-29 .sui-wrap .sui-box-body .sui-upsell-row .sui-upsell-image {
3191
+ width: 100px;
3192
+ position: absolute;
3193
+ bottom: 0;
3194
+ }
3195
+
3196
+ @media (max-width: 782px) {
3197
+ .sui-2-3-29 .sui-wrap .sui-box-body .sui-upsell-row .sui-upsell-image {
3198
+ display: none;
3199
+ }
3200
+ }
3201
+
3202
+ .sui-2-3-29 .sui-wrap .sui-box-body .sui-upsell-row .sui-upsell-notice p {
3203
+ position: relative;
3204
+ padding: 15px 20px 15px 43px;
3205
+ border-radius: 4px;
3206
+ color: #333;
3207
+ font-size: 13px;
3208
+ line-height: 22px;
3209
+ border-top: 1px solid #e6e6e6;
3210
+ border-right: 1px solid #e6e6e6;
3211
+ border-bottom: 1px solid #e6e6e6;
3212
+ border-left: 2px solid #8D00B1;
3213
+ }
3214
+
3215
+ .sui-2-3-29 .sui-wrap .sui-box-body .sui-upsell-row .sui-upsell-notice p a {
3216
+ color: #333;
3217
+ font-weight: 500;
3218
+ }
3219
+
3220
+ .sui-2-3-29 .sui-wrap .sui-box-body .sui-upsell-row .sui-upsell-notice p:first-of-type:before {
3221
+ content: "I";
3222
+ }
3223
+
3224
+ .sui-2-3-29 .sui-wrap .sui-box-body .sui-upsell-row .sui-upsell-notice p:first-of-type:before {
3225
+ color: #8D00B1;
3226
+ margin-left: -23px;
3227
+ margin-right: 10px;
3228
+ }
3229
+
3230
+ @media (min-width: 783px) {
3231
+ .sui-2-3-29 .sui-wrap .sui-box-body .sui-upsell-row .sui-upsell-notice {
3232
+ padding-left: 130px;
3233
+ }
3234
+ }
3235
+
3236
+ .sui-2-3-29 .sui-wrap .sui-box-body.sui-upsell-items {
3237
+ padding: 0;
3238
+ }
3239
+
3240
+ .sui-2-3-29 .sui-wrap .sui-box-body .sui-settings-box {
3241
+ padding: 20px;
3242
+ border: 1px solid #E6E6E6;
3243
+ border-radius: 4px;
3244
+ }
3245
+
3246
+ @media (min-width: 783px) {
3247
+ .sui-2-3-29 .sui-wrap .sui-box-body .sui-settings-box {
3248
+ padding: 30px;
3249
+ }
3250
+ }
3251
+
3252
+ .sui-2-3-29 .sui-wrap .sui-with-bottom-border {
3253
+ margin-bottom: 30px;
3254
+ padding-bottom: 30px;
3255
+ border-bottom: 1px solid #E6E6E6;
3256
+ }
3257
+
3258
+ @media (max-width: 782px) {
3259
+ .sui-2-3-29 .sui-wrap .sui-with-bottom-border {
3260
+ margin-bottom: 20px;
3261
+ padding-bottom: 20px;
3262
+ }
3263
+ }
3264
+
3265
+ .sui-2-3-29 .sui-wrap .sui-border-frame {
3266
+ margin: 10px 0 0;
3267
+ border: 1px solid #E6E6E6;
3268
+ border-radius: 4px;
3269
+ }
3270
+
3271
+ @media (max-width: 782px) {
3272
+ .sui-2-3-29 .sui-wrap .sui-border-frame:not(:last-child) {
3273
+ margin-bottom: 20px;
3274
+ }
3275
+ }
3276
+
3277
+ @media (min-width: 783px) {
3278
+ .sui-2-3-29 .sui-wrap .sui-border-frame:not(:last-child) {
3279
+ margin-bottom: 30px;
3280
+ }
3281
+ }
3282
+
3283
+ @media (max-width: 782px) {
3284
+ .sui-2-3-29 .sui-wrap .sui-border-frame {
3285
+ padding: 20px;
3286
+ }
3287
+ }
3288
+
3289
+ @media (min-width: 783px) {
3290
+ .sui-2-3-29 .sui-wrap .sui-border-frame {
3291
+ padding: 30px;
3292
+ }
3293
+ }
3294
+
3295
+ .sui-2-3-29 .sui-wrap .sui-label,
3296
+ .sui-2-3-29 .sui-wrap .sui-label-inline {
3297
+ display: -ms-inline-flexbox;
3298
+ display: inline-flex;
3299
+ padding: 0;
3300
+ border: 0;
3301
+ color: #888;
3302
+ font: 500 12px/16px "Roboto",Arial,sans-serif;
3303
+ }
3304
+
3305
+ .sui-2-3-29 .sui-wrap .sui-form-control,
3306
+ .sui-2-3-29 .sui-wrap .sui-multi-checkbox {
3307
+ width: 100%;
3308
+ height: 40px;
3309
+ margin: 0;
3310
+ padding: 9px 14px;
3311
+ border: 1px solid #ddd;
3312
+ border-radius: 4px;
3313
+ background-color: #FAFAFA;
3314
+ background-image: none;
3315
+ color: #333;
3316
+ font: 500 15px/20px "Roboto",Arial,sans-serif;
3317
+ letter-spacing: -.25px;
3318
+ transition: 0.3s ease-in-out;
3319
+ }
3320
+
3321
+ .sui-2-3-29 .sui-wrap .sui-form-control,
3322
+ .sui-2-3-29 .sui-wrap .sui-multi-checkbox,
3323
+ .sui-2-3-29 .sui-wrap .sui-form-control:hover,
3324
+ .sui-2-3-29 .sui-wrap .sui-multi-checkbox:hover,
3325
+ .sui-2-3-29 .sui-wrap .sui-form-control:focus,
3326
+ .sui-2-3-29 .sui-wrap .sui-multi-checkbox:focus,
3327
+ .sui-2-3-29 .sui-wrap .sui-form-control:active,
3328
+ .sui-2-3-29 .sui-wrap .sui-multi-checkbox:active {
3329
+ outline: none;
3330
+ box-shadow: none;
3331
+ }
3332
+
3333
+ .sui-2-3-29 .sui-wrap .sui-form-control:hover,
3334
+ .sui-2-3-29 .sui-wrap .sui-multi-checkbox:hover,
3335
+ .sui-2-3-29 .sui-wrap .sui-form-control:focus,
3336
+ .sui-2-3-29 .sui-wrap .sui-multi-checkbox:focus {
3337
+ border-color: #ddd;
3338
+ background-color: #fff;
3339
+ }
3340
+
3341
+ .sui-2-3-29 .sui-wrap .sui-form-control:focus,
3342
+ .sui-2-3-29 .sui-wrap .sui-multi-checkbox:focus {
3343
+ background-color: #fff;
3344
+ color: #333;
3345
+ }
3346
+
3347
+ .sui-2-3-29 .sui-wrap .sui-form-control:-ms-input-placeholder, .sui-2-3-29 .sui-wrap .sui-multi-checkbox:-ms-input-placeholder {
3348
+ color: #aaa;
3349
+ }
3350
+
3351
+ .sui-2-3-29 .sui-wrap .sui-form-control::placeholder,
3352
+ .sui-2-3-29 .sui-wrap .sui-multi-checkbox::placeholder {
3353
+ color: #aaa;
3354
+ }
3355
+
3356
+ .sui-2-3-29 .sui-wrap .sui-form-control[disabled],
3357
+ .sui-2-3-29 .sui-wrap .sui-multi-checkbox[disabled],
3358
+ .sui-2-3-29 .sui-wrap .sui-disabled.sui-form-control,
3359
+ .sui-2-3-29 .sui-wrap .sui-disabled.sui-multi-checkbox,
3360
+ fieldset[disabled] .sui-2-3-29 .sui-wrap .sui-form-control,
3361
+ fieldset[disabled] .sui-2-3-29 .sui-wrap .sui-multi-checkbox {
3362
+ cursor: not-allowed;
3363
+ }
3364
+
3365
+ .sui-2-3-29 .sui-wrap .sui-form-control[disabled],
3366
+ .sui-2-3-29 .sui-wrap .sui-multi-checkbox[disabled],
3367
+ .sui-2-3-29 .sui-wrap .sui-form-control[disabled]:focus,
3368
+ .sui-2-3-29 .sui-wrap .sui-multi-checkbox[disabled]:focus,
3369
+ .sui-2-3-29 .sui-wrap .sui-form-control[disabled]:hover,
3370
+ .sui-2-3-29 .sui-wrap .sui-multi-checkbox[disabled]:hover,
3371
+ .sui-2-3-29 .sui-wrap .sui-disabled.sui-form-control,
3372
+ .sui-2-3-29 .sui-wrap .sui-disabled.sui-multi-checkbox,
3373
+ .sui-2-3-29 .sui-wrap .sui-disabled.sui-form-control:focus,
3374
+ .sui-2-3-29 .sui-wrap .sui-disabled.sui-multi-checkbox:focus,
3375
+ .sui-2-3-29 .sui-wrap .sui-disabled.sui-form-control:hover,
3376
+ .sui-2-3-29 .sui-wrap .sui-disabled.sui-multi-checkbox:hover,
3377
+ fieldset[disabled] .sui-2-3-29 .sui-wrap .sui-form-control,
3378
+ fieldset[disabled] .sui-2-3-29 .sui-wrap .sui-multi-checkbox,
3379
+ fieldset[disabled] .sui-2-3-29 .sui-wrap .sui-form-control:focus,
3380
+ fieldset[disabled] .sui-2-3-29 .sui-wrap .sui-multi-checkbox:focus,
3381
+ fieldset[disabled] .sui-2-3-29 .sui-wrap .sui-form-control:hover,
3382
+ fieldset[disabled] .sui-2-3-29 .sui-wrap .sui-multi-checkbox:hover {
3383
+ border-color: #F2F2F2;
3384
+ background-color: #F2F2F2;
3385
+ color: #aaa;
3386
+ }
3387
+
3388
+ .sui-2-3-29 .sui-wrap .sui-form-control::-ms-expand,
3389
+ .sui-2-3-29 .sui-wrap .sui-multi-checkbox::-ms-expand {
3390
+ border: 0;
3391
+ background-color: transparent;
3392
+ }
3393
+
3394
+ .sui-2-3-29 .sui-wrap label {
3395
+ cursor: default;
3396
+ }
3397
+
3398
+ .sui-2-3-29 .sui-wrap label[for] {
3399
+ cursor: pointer;
3400
+ }
3401
+
3402
+ .sui-2-3-29 .sui-wrap .sui-label {
3403
+ display: -ms-flexbox;
3404
+ display: flex;
3405
+ -ms-flex-align: center;
3406
+ align-items: center;
3407
+ margin: 0 0 5px;
3408
+ }
3409
+
3410
+ .sui-2-3-29 .sui-wrap .sui-label .sui-tag {
3411
+ margin-left: 5px;
3412
+ }
3413
+
3414
+ .sui-2-3-29 .sui-wrap .sui-label .sui-tag.sui-left {
3415
+ margin-right: 5px;
3416
+ margin-left: 0;
3417
+ }
3418
+
3419
+ .sui-2-3-29 .sui-wrap .sui-label:last-child {
3420
+ margin: 0;
3421
+ }
3422
+
3423
+ .sui-2-3-29 .sui-wrap .sui-label-link {
3424
+ margin-right: 0;
3425
+ margin-left: auto;
3426
+ color: #888;
3427
+ font-weight: 400;
3428
+ }
3429
+
3430
+ .sui-2-3-29 .sui-wrap .sui-label-inline {
3431
+ margin: 0;
3432
+ }
3433
+
3434
+ .sui-2-3-29 .sui-wrap .sui-label-note {
3435
+ margin-right: 0;
3436
+ margin-left: auto;
3437
+ }
3438
+
3439
+ .sui-2-3-29 .sui-wrap .sui-form-control,
3440
+ .sui-2-3-29 .sui-wrap .sui-multi-checkbox {
3441
+ display: block;
3442
+ }
3443
+
3444
+ .sui-2-3-29 .sui-wrap .sui-form-control.sui-input-sm,
3445
+ .sui-2-3-29 .sui-wrap .sui-input-sm.sui-multi-checkbox {
3446
+ max-width: 80px;
3447
+ }
3448
+
3449
+ .sui-2-3-29 .sui-wrap .sui-form-control.sui-input-md,
3450
+ .sui-2-3-29 .sui-wrap .sui-input-md.sui-multi-checkbox {
3451
+ max-width: 240px;
3452
+ }
3453
+
3454
+ .sui-2-3-29 .sui-wrap .sui-form-control.sui-field-has-prefix,
3455
+ .sui-2-3-29 .sui-wrap .sui-field-has-prefix.sui-multi-checkbox,
3456
+ .sui-2-3-29 .sui-wrap .sui-form-control.sui-field-has-suffix,
3457
+ .sui-2-3-29 .sui-wrap .sui-field-has-suffix.sui-multi-checkbox {
3458
+ width: auto;
3459
+ display: inline-block;
3460
+ }
3461
+
3462
+ .sui-2-3-29 .sui-wrap .sui-multi-checkbox {
3463
+ height: auto;
3464
+ max-height: 114px;
3465
+ overflow-y: auto;
3466
+ padding: 1px;
3467
+ }
3468
+
3469
+ .sui-2-3-29 .sui-wrap .sui-multi-checkbox label {
3470
+ margin: 1px 0;
3471
+ }
3472
+
3473
+ .sui-2-3-29 .sui-wrap .sui-multi-checkbox label input:checked+span {
3474
+ background-color: #17A8E3;
3475
+ color: #fff;
3476
+ }
3477
+
3478
+ .sui-2-3-29 .sui-wrap .sui-multi-checkbox label span {
3479
+ display: block;
3480
+ padding: 10px;
3481
+ }
3482
+
3483
+ .sui-2-3-29 .sui-wrap .sui-multi-checkbox label:first-child {
3484
+ margin-top: 0;
3485
+ }
3486
+
3487
+ .sui-2-3-29 .sui-wrap .sui-multi-checkbox label:first-child span {
3488
+ border-radius: 3px 3px 0 0;
3489
+ }
3490
+
3491
+ .sui-2-3-29 .sui-wrap .sui-multi-checkbox label:last-child {
3492
+ margin-bottom: 0;
3493
+ }
3494
+
3495
+ .sui-2-3-29 .sui-wrap .sui-multi-checkbox label:last-child span {
3496
+ border-radius: 0 0 3px 3px;
3497
+ }
3498
+
3499
+ .sui-2-3-29 .sui-wrap .sui-description,
3500
+ .sui-2-3-29 .sui-wrap .sui-multi-checkbox label {
3501
+ display: block;
3502
+ margin-top: 5px;
3503
+ color: #888;
3504
+ font-size: 13px;
3505
+ line-height: 16px;
3506
+ font-weight: 400;
3507
+ }
3508
+
3509
+ .sui-2-3-29 .sui-wrap .sui-description.sui-toggle-description,
3510
+ .sui-2-3-29 .sui-wrap .sui-multi-checkbox label.sui-toggle-description {
3511
+ margin-left: 48px;
3512
+ }
3513
+
3514
+ .sui-2-3-29 .sui-wrap .sui-description.sui-checkbox-description,
3515
+ .sui-2-3-29 .sui-wrap .sui-description.sui-radio-description,
3516
+ .sui-2-3-29 .sui-wrap .sui-multi-checkbox label.sui-checkbox-description,
3517
+ .sui-2-3-29 .sui-wrap .sui-multi-checkbox label.sui-radio-description {
3518
+ margin: 0 27px 5px;
3519
+ }
3520
+
3521
+ .sui-2-3-29 .sui-wrap .sui-description+.sui-form-field,
3522
+ .sui-2-3-29 .sui-wrap .sui-description+.sui-form-field-inline,
3523
+ .sui-2-3-29 .sui-wrap .sui-multi-checkbox label+.sui-form-field,
3524
+ .sui-2-3-29 .sui-wrap .sui-multi-checkbox label+.sui-form-field-inline {
3525
+ margin-top: 20px;
3526
+ }
3527
+
3528
+ .sui-2-3-29 .sui-wrap .sui-error-message {
3529
+ display: block;
3530
+ margin-top: 8px;
3531
+ color: #FF6D6D;
3532
+ font-size: 12px;
3533
+ line-height: 16px;
3534
+ font-weight: 500;
3535
+ }
3536
+
3537
+ .sui-2-3-29 .sui-wrap .sui-form-field.sui-input-sm {
3538
+ max-width: 80px;
3539
+ }
3540
+
3541
+ .sui-2-3-29 .sui-wrap .sui-form-field.sui-input-md {
3542
+ max-width: 240px;
3543
+ }
3544
+
3545
+ @media (min-width: 783px) {
3546
+ .sui-2-3-29 .sui-wrap .sui-form-field>.sui-row [class^="sui-col"] {
3547
+ padding-right: 5px;
3548
+ padding-left: 5px;
3549
+ }
3550
+ }
3551
+
3552
+ @media (min-width: 783px) {
3553
+ .sui-2-3-29 .sui-wrap .sui-form-field>.sui-row:first-child {
3554
+ margin-top: 0;
3555
+ }
3556
+ }
3557
+
3558
+ @media (min-width: 783px) {
3559
+ .sui-2-3-29 .sui-wrap .sui-form-field>.sui-row {
3560
+ margin-top: 10px;
3561
+ margin-right: -5px;
3562
+ margin-bottom: 0;
3563
+ margin-left: -5px;
3564
+ }
3565
+ }
3566
+
3567
+ .sui-2-3-29 .sui-wrap .sui-form-field:last-child {
3568
+ margin-bottom: 0;
3569
+ }
3570
+
3571
+ @media (max-width: 782px) {
3572
+ .sui-2-3-29 .sui-wrap .sui-form-field:last-child {
3573
+ margin-bottom: 0;
3574
+ }
3575
+ }
3576
+
3577
+ .sui-2-3-29 .sui-wrap .sui-form-field.sui-has_error .sui-form-control,
3578
+ .sui-2-3-29 .sui-wrap .sui-form-field.sui-has_error .sui-multi-checkbox,
3579
+ .sui-2-3-29 .sui-wrap .sui-form-field.sui-form-field-error .sui-form-control,
3580
+ .sui-2-3-29 .sui-wrap .sui-form-field.sui-form-field-error .sui-multi-checkbox {
3581
+ border-bottom: 2px solid #FF6D6D;
3582
+ }
3583
+
3584
+ .sui-2-3-29 .sui-wrap .sui-form-field.sui-has_error .sui-control-with-icon [class*="sui-icon-"]:before,
3585
+ .sui-2-3-29 .sui-wrap .sui-form-field.sui-form-field-error .sui-control-with-icon [class*="sui-icon-"]:before {
3586
+ color: #FF6D6D;
3587
+ }
3588
+
3589
+ @media (max-width: 782px) {
3590
+ .sui-2-3-29 .sui-wrap .sui-form-field {
3591
+ margin-bottom: 20px;
3592
+ }
3593
+ }
3594
+
3595
+ @media (min-width: 783px) {
3596
+ .sui-2-3-29 .sui-wrap .sui-form-field {
3597
+ margin-bottom: 30px;
3598
+ }
3599
+ }
3600
+
3601
+ .sui-2-3-29 .sui-wrap .sui-field-suffix,
3602
+ .sui-2-3-29 .sui-wrap .sui-field-prefix {
3603
+ display: inline-block;
3604
+ color: #888888;
3605
+ font-size: 13px;
3606
+ line-height: 22px;
3607
+ }
3608
+
3609
+ .sui-2-3-29 .sui-wrap .sui-field-prefix {
3610
+ margin-right: 10px;
3611
+ }
3612
+
3613
+ .sui-2-3-29 .sui-wrap .sui-field-suffix {
3614
+ margin-left: 10px;
3615
+ }
3616
+
3617
+ @media (min-width: 783px) {
3618
+ .sui-2-3-29 .sui-wrap .sui-form-field-inline>.sui-form-field:first-child,
3619
+ .sui-2-3-29 .sui-wrap .sui-form-field-inline>.select-container:first-child {
3620
+ margin-left: 0;
3621
+ }
3622
+ }
3623
+
3624
+ @media (min-width: 783px) {
3625
+ .sui-2-3-29 .sui-wrap .sui-form-field-inline>.sui-form-field:last-child,
3626
+ .sui-2-3-29 .sui-wrap .sui-form-field-inline>.select-container:last-child {
3627
+ margin-right: 0;
3628
+ }
3629
+ }
3630
+
3631
+ @media (min-width: 783px) {
3632
+ .sui-2-3-29 .sui-wrap .sui-form-field-inline>.sui-form-field,
3633
+ .sui-2-3-29 .sui-wrap .sui-form-field-inline>.select-container {
3634
+ -ms-flex: 0 0 auto;
3635
+ flex: 0 0 auto;
3636
+ margin-top: 0;
3637
+ margin-bottom: 0;
3638
+ margin-right: 10px;
3639
+ margin-left: 10px;
3640
+ }
3641
+ }
3642
+
3643
+ @media (min-width: 783px) {
3644
+ .sui-2-3-29 .sui-wrap .sui-form-field-inline>.sui-form-field {
3645
+ -ms-flex: 0 0 auto;
3646
+ flex: 0 0 auto;
3647
+ margin-bottom: 0;
3648
+ }
3649
+ }
3650
+
3651
+ @media (min-width: 783px) {
3652
+ .sui-2-3-29 .sui-wrap .sui-form-field-inline>p,
3653
+ .sui-2-3-29 .sui-wrap .sui-form-field-inline>span,
3654
+ .sui-2-3-29 .sui-wrap .sui-form-field-inline>.sui-label {
3655
+ -ms-flex: 0 0 auto;
3656
+ flex: 0 0 auto;
3657
+ margin: 0;
3658
+ }
3659
+ }
3660
+
3661
+ @media (max-width: 782px) {
3662
+ .sui-2-3-29 .sui-wrap .sui-form-field-inline:last-child {
3663
+ margin-bottom: 0;
3664
+ }
3665
+ }
3666
+
3667
+ @media (min-width: 783px) {
3668
+ .sui-2-3-29 .sui-wrap .sui-form-field-inline:last-child {
3669
+ margin-bottom: 0;
3670
+ }
3671
+ }
3672
+
3673
+ @media (min-width: 783px) {
3674
+ .sui-2-3-29 .sui-wrap .sui-form-field-inline {
3675
+ display: -ms-flexbox;
3676
+ display: flex;
3677
+ -ms-flex-align: center;
3678
+ align-items: center;
3679
+ margin-bottom: 30px;
3680
+ }
3681
+ }
3682
+
3683
+ @media (max-width: 782px) {
3684
+ .sui-2-3-29 .sui-wrap .sui-form-field-inline {
3685
+ margin-bottom: 20px;
3686
+ }
3687
+ }
3688
+
3689
+ .sui-2-3-29 .sui-wrap .sui-control-with-icon {
3690
+ position: relative;
3691
+ }
3692
+
3693
+ .sui-2-3-29 .sui-wrap .sui-control-with-icon .sui-form-control,
3694
+ .sui-2-3-29 .sui-wrap .sui-control-with-icon .sui-multi-checkbox {
3695
+ padding-left: 40px;
3696
+ }
3697
+
3698
+ .sui-2-3-29 .sui-wrap .sui-control-with-icon select.sui-select+.select2-container .select2-selection__rendered {
3699
+ padding-left: 40px;
3700
+ }
3701
+
3702
+ .sui-2-3-29 .sui-wrap .sui-control-with-icon [class*="sui-icon-"] {
3703
+ width: 16px;
3704
+ height: 16px;
3705
+ pointer-events: none;
3706
+ display: -ms-flexbox;
3707
+ display: flex;
3708
+ -ms-flex-direction: column;
3709
+ flex-direction: column;
3710
+ -ms-flex-align: center;
3711
+ align-items: center;
3712
+ -ms-flex-pack: center;
3713
+ justify-content: center;
3714
+ position: absolute;
3715
+ top: 11px;
3716
+ left: 14px;
3717
+ }
3718
+
3719
+ .sui-2-3-29 .sui-wrap .sui-control-with-icon [class*="sui-icon-"]:before {
3720
+ color: #aaa;
3721
+ display: block;
3722
+ }
3723
+
3724
+ .sui-2-3-29 .sui-wrap .sui-control-with-icon.sui-right-icon .sui-form-control,
3725
+ .sui-2-3-29 .sui-wrap .sui-control-with-icon.sui-right-icon .sui-multi-checkbox {
3726
+ padding-right: 40px;
3727
+ padding-left: 14px;
3728
+ }
3729
+
3730
+ .sui-2-3-29 .sui-wrap .sui-control-with-icon.sui-right-icon [class*="sui-icon-"] {
3731
+ right: 14px;
3732
+ left: auto;
3733
+ color: #888;
3734
+ }
3735
+
3736
+ .sui-2-3-29 .sui-wrap .sui-with-button {
3737
+ display: -ms-flexbox;
3738
+ display: flex;
3739
+ -ms-flex-align: center;
3740
+ align-items: center;
3741
+ }
3742
+
3743
+ .sui-2-3-29 .sui-wrap .sui-with-button .sui-button {
3744
+ -ms-flex: 0 0 auto;
3745
+ flex: 0 0 auto;
3746
+ }
3747
+
3748
+ .sui-2-3-29 .sui-wrap .sui-with-button .sui-form-control,
3749
+ .sui-2-3-29 .sui-wrap .sui-with-button .sui-multi-checkbox {
3750
+ -ms-flex: 1;
3751
+ flex: 1;
3752
+ margin: 0 5px;
3753
+ }
3754
+
3755
+ .sui-2-3-29 .sui-wrap .sui-with-button .sui-form-control:first-child,
3756
+ .sui-2-3-29 .sui-wrap .sui-with-button .sui-multi-checkbox:first-child {
3757
+ margin-left: 0;
3758
+ }
3759
+
3760
+ .sui-2-3-29 .sui-wrap .sui-with-button .sui-form-control:last-child,
3761
+ .sui-2-3-29 .sui-wrap .sui-with-button .sui-multi-checkbox:last-child {
3762
+ margin-right: 0;
3763
+ }
3764
+
3765
+ .sui-2-3-29 .sui-wrap .sui-with-button.sui-inside,
3766
+ .sui-2-3-29 .sui-wrap .sui-with-button.sui-with-button-inside {
3767
+ display: block;
3768
+ position: relative;
3769
+ }
3770
+
3771
+ .sui-2-3-29 .sui-wrap .sui-with-button.sui-inside .sui-button,
3772
+ .sui-2-3-29 .sui-wrap .sui-with-button.sui-inside .sui-button-icon,
3773
+ .sui-2-3-29 .sui-wrap .sui-with-button.sui-with-button-inside .sui-button,
3774
+ .sui-2-3-29 .sui-wrap .sui-with-button.sui-with-button-inside .sui-button-icon {
3775
+ position: absolute;
3776
+ top: 5px;
3777
+ right: 5px;
3778
+ }
3779
+
3780
+ .sui-2-3-29 .sui-wrap .sui-with-button.sui-inside .sui-button-lg,
3781
+ .sui-2-3-29 .sui-wrap .sui-with-button.sui-with-button-inside .sui-button-lg {
3782
+ top: 0;
3783
+ right: 0;
3784
+ border-top-left-radius: 0;
3785
+ border-bottom-left-radius: 0;
3786
+ }
3787
+
3788
+ .sui-2-3-29 .sui-wrap .sui-with-button.sui-inside .sui-form-control,
3789
+ .sui-2-3-29 .sui-wrap .sui-with-button.sui-inside .sui-multi-checkbox,
3790
+ .sui-2-3-29 .sui-wrap .sui-with-button.sui-with-button-inside .sui-form-control,
3791
+ .sui-2-3-29 .sui-wrap .sui-with-button.sui-with-button-inside .sui-multi-checkbox {
3792
+ margin: 0;
3793
+ padding-right: 90px;
3794
+ }
3795
+
3796
+ .sui-2-3-29 .sui-wrap .sui-with-button.sui-with-button-icon {
3797
+ display: block;
3798
+ position: relative;
3799
+ }
3800
+
3801
+ .sui-2-3-29 .sui-wrap .sui-with-button.sui-with-button-icon .sui-button,
3802
+ .sui-2-3-29 .sui-wrap .sui-with-button.sui-with-button-icon .sui-button-icon {
3803
+ position: absolute;
3804
+ top: 5px;
3805
+ right: 5px;
3806
+ }
3807
+
3808
+ .sui-2-3-29 .sui-wrap .sui-with-button.sui-with-button-icon .sui-button-lg {
3809
+ top: 0;
3810
+ right: 0;
3811
+ }
3812
+
3813
+ .sui-2-3-29 .sui-wrap .sui-with-button.sui-with-button-icon .sui-form-control,
3814
+ .sui-2-3-29 .sui-wrap .sui-with-button.sui-with-button-icon .sui-multi-checkbox {
3815
+ margin: 0;
3816
+ padding-right: 40px;
3817
+ }
3818
+
3819
+ .sui-2-3-29 .sui-wrap .sui-input-group {
3820
+ width: 100%;
3821
+ display: -ms-flexbox;
3822
+ display: flex;
3823
+ -ms-flex-align: stretch;
3824
+ align-items: stretch;
3825
+ position: relative;
3826
+ }
3827
+
3828
+ .sui-2-3-29 .sui-wrap .sui-password-group {
3829
+ position: relative;
3830
+ }
3831
+
3832
+ .sui-2-3-29 .sui-wrap .sui-password-group .sui-password-toggle {
3833
+ width: 30px;
3834
+ height: 30px;
3835
+ cursor: pointer;
3836
+ position: absolute;
3837
+ top: 50%;
3838
+ right: 7px;
3839
+ padding: 0;
3840
+ border: 0;
3841
+ border-radius: 4px;
3842
+ background: transparent;
3843
+ color: #888;
3844
+ font-size: 15px;
3845
+ line-height: 1em;
3846
+ transform: translateY(-50%);
3847
+ }
3848
+
3849
+ .sui-2-3-29 .sui-wrap .sui-password-group .sui-password-toggle:hover,
3850
+ .sui-2-3-29 .sui-wrap .sui-password-group .sui-password-toggle:focus,
3851
+ .sui-2-3-29 .sui-wrap .sui-password-group .sui-password-toggle:active {
3852
+ outline: 0;
3853
+ }
3854
+
3855
+ .sui-2-3-29 .sui-wrap .sui-password-group .sui-password-toggle:hover {
3856
+ background-color: rgba(0,0,0,0.03);
3857
+ }
3858
+
3859
+ .sui-2-3-29 .sui-wrap .sui-password-group .sui-password-toggle:hover [class*="sui-icon-"]:before {
3860
+ color: #666;
3861
+ }
3862
+
3863
+ .sui-2-3-29 .sui-wrap .sui-date {
3864
+ position: relative;
3865
+ }
3866
+
3867
+ .sui-2-3-29 .sui-wrap .sui-date .sui-form-control:first-child,
3868
+ .sui-2-3-29 .sui-wrap .sui-date .sui-multi-checkbox:first-child {
3869
+ padding-right: 40px;
3870
+ }
3871
+
3872
+ .sui-2-3-29 .sui-wrap .sui-date .sui-form-control:last-child,
3873
+ .sui-2-3-29 .sui-wrap .sui-date .sui-multi-checkbox:last-child {
3874
+ padding-left: 40px;
3875
+ }
3876
+
3877
+ .sui-2-3-29 .sui-wrap .sui-date [class*="sui-icon-"] {
3878
+ width: 30px;
3879
+ height: 30px;
3880
+ display: -ms-flexbox;
3881
+ display: flex;
3882
+ -ms-flex-direction: column;
3883
+ flex-direction: column;
3884
+ -ms-flex-align: center;
3885
+ align-items: center;
3886
+ -ms-flex-pack: center;
3887
+ justify-content: center;
3888
+ position: absolute;
3889
+ top: 5px;
3890
+ }
3891
+
3892
+ .sui-2-3-29 .sui-wrap .sui-date [class*="sui-icon-"]:before {
3893
+ display: block;
3894
+ }
3895
+
3896
+ .sui-2-3-29 .sui-wrap .sui-date [class*="sui-icon-"]:first-child {
3897
+ left: 5px;
3898
+ }
3899
+
3900
+ .sui-2-3-29 .sui-wrap .sui-date [class*="sui-icon-"]:last-child {
3901
+ right: 5px;
3902
+ }
3903
+
3904
+ .sui-2-3-29 .sui-wrap .sui-multi-date {
3905
+ display: -ms-flexbox;
3906
+ display: flex;
3907
+ -ms-flex-align: center;
3908
+ align-items: center;
3909
+ }
3910
+
3911
+ .sui-2-3-29 .sui-wrap .sui-multi-date .sui-form-field {
3912
+ -ms-flex: 1;
3913
+ flex: 1;
3914
+ }
3915
+
3916
+ .sui-2-3-29 .sui-wrap .sui-multi-date .sui-form-field+button {
3917
+ -ms-flex: 0 0 auto;
3918
+ flex: 0 0 auto;
3919
+ margin-left: 10px;
3920
+ }
3921
+
3922
+ @media (max-width: 782px) {
3923
+ .sui-2-3-29 .sui-wrap .sui-multi-date .sui-form-field {
3924
+ margin-bottom: 0;
3925
+ }
3926
+ }
3927
+
3928
+ @media (min-width: 783px) {
3929
+ .sui-2-3-29 .sui-wrap .sui-multi-date .sui-form-field {
3930
+ margin-bottom: 0;
3931
+ }
3932
+ }
3933
+
3934
+ .sui-2-3-29 .sui-wrap .sui-multi-date:not(:last-child) {
3935
+ margin-bottom: 10px;
3936
+ }
3937
+
3938
+ .sui-2-3-29 .sui-wrap .sui-insert-variables {
3939
+ position: relative;
3940
+ }
3941
+
3942
+ .sui-2-3-29 .sui-wrap .sui-insert-variables .sui-form-control,
3943
+ .sui-2-3-29 .sui-wrap .sui-insert-variables .sui-multi-checkbox {
3944
+ padding-right: 53px;
3945
+ }
3946
+
3947
+ .sui-2-3-29 .sui-wrap .sui-insert-variables .select-container {
3948
+ position: absolute;
3949
+ top: 0;
3950
+ right: 0;
3951
+ border: 0;
3952
+ background-color: transparent;
3953
+ pointer-events: none;
3954
+ }
3955
+
3956
+ .sui-2-3-29 .sui-wrap .sui-insert-variables .select-container .dropdown-handle {
3957
+ display: none;
3958
+ }
3959
+
3960
+ .sui-2-3-29 .sui-wrap .sui-insert-variables .select-container .select-list-container {
3961
+ padding-right: 0;
3962
+ pointer-events: initial;
3963
+ }
3964
+
3965
+ .sui-2-3-29 .sui-wrap .sui-insert-variables .select-container .select-list-container .list-value {
3966
+ width: 40px;
3967
+ height: 40px;
3968
+ display: -ms-flexbox;
3969
+ display: flex;
3970
+ -ms-flex-direction: column;
3971
+ flex-direction: column;
3972
+ -ms-flex-align: center;
3973
+ align-items: center;
3974
+ -ms-flex-pack: center;
3975
+ justify-content: center;
3976
+ position: relative;
3977
+ padding: 0;
3978
+ border: 1px solid #ddd;
3979
+ border-left-color: transparent;
3980
+ border-radius: 0 4px 4px 0;
3981
+ color: transparent;
3982
+ font-size: 16px;
3983
+ transition: 0.2s ease;
3984
+ }
3985
+
3986
+ .sui-2-3-29 .sui-wrap .sui-insert-variables .select-container .select-list-container .list-value:hover {
3987
+ border-left-color: #ddd;
3988
+ background-color: #F2F2F2;
3989
+ }
3990
+
3991
+ .sui-2-3-29 .sui-wrap .sui-insert-variables .select-container .select-list-container .list-value:hover:before {
3992
+ color: #666;
3993
+ }
3994
+
3995
+ .sui-2-3-29 .sui-wrap .sui-insert-variables .select-container .select-list-container .list-value:before {
3996
+ content: "@";
3997
+ width: 16px;
3998
+ height: 16px;
3999
+ display: block;
4000
+ position: absolute;
4001
+ }
4002
+
4003
+ .sui-2-3-29 .sui-wrap .sui-insert-variables .select-container .select-list-container .list-results {
4004
+ width: 320px;
4005
+ left: auto;
4006
+ margin-right: 0;
4007
+ border-color: #ddd;
4008
+ background-color: #fff;
4009
+ }
4010
+
4011
+ .sui-2-3-29 .sui-wrap .sui-insert-variables .select-container .select-list-container .list-results li.sui-element-flex {
4012
+ display: -ms-flexbox;
4013
+ display: flex;
4014
+ }
4015
+
4016
+ .sui-2-3-29 .sui-wrap .sui-insert-variables .select-container .select-list-container .list-results li.sui-element-flex span {
4017
+ pointer-events: none;
4018
+ overflow: hidden;
4019
+ display: block;
4020
+ text-overflow: ellipsis;
4021
+ white-space: nowrap;
4022
+ }
4023
+
4024
+ .sui-2-3-29 .sui-wrap .sui-insert-variables .select-container .select-list-container .list-results li.sui-element-flex span {
4025
+ -ms-flex: 1;
4026
+ flex: 1;
4027
+ }
4028
+
4029
+ .sui-2-3-29 .sui-wrap .sui-insert-variables .select-container .select-list-container .list-results li.sui-element-flex span+span {
4030
+ -ms-flex: 0 0 auto;
4031
+ flex: 0 0 auto;
4032
+ margin-left: 5px;
4033
+ color: #AAA;
4034
+ font-size: 12px;
4035
+ }
4036
+
4037
+ .sui-2-3-29 .sui-wrap .sui-insert-variables .select-container .select-list-container .list-results .current {
4038
+ background-color: transparent;
4039
+ color: #888;
4040
+ }
4041
+
4042
+ .sui-2-3-29 .sui-wrap .sui-insert-variables .select-container .select-list-container .list-results .current:hover {
4043
+ background-color: #F8F8F8;
4044
+ color: #333;
4045
+ }
4046
+
4047
+ .sui-2-3-29 .sui-wrap .sui-insert-variables .select-container.active .select-list-container .list-value {
4048
+ z-index: 1011;
4049
+ border-bottom-color: #fff;
4050
+ border-left-color: #ddd;
4051
+ background-color: #fff;
4052
+ border-bottom-right-radius: 0;
4053
+ }
4054
+
4055
+ .sui-2-3-29 .sui-wrap .sui-insert-variables .select-container.active .select-list-container .list-value:before {
4056
+ color: #333;
4057
+ }
4058
+
4059
+ .sui-2-3-29 .sui-wrap .sui-insert-variables .select-container.active .select-list-container .list-results {
4060
+ top: 38px;
4061
+ border-top-right-radius: 0;
4062
+ }
4063
+
4064
+ .sui-2-3-29 .sui-wrap .sui-insert-variables .sui-variables+.select2 {
4065
+ width: auto !important;
4066
+ height: auto !important;
4067
+ display: block;
4068
+ position: absolute;
4069
+ top: 0;
4070
+ right: 0;
4071
+ }
4072
+
4073
+ .sui-2-3-29 .sui-wrap .sui-insert-variables .sui-variables+.select2 * {
4074
+ display: block;
4075
+ outline: none;
4076
+ }
4077
+
4078
+ .sui-2-3-29 .sui-wrap .sui-insert-variables .sui-variables+.select2 .select2-selection--single {
4079
+ height: auto;
4080
+ border: 1px solid #ddd;
4081
+ border-left-color: transparent;
4082
+ border-radius: 0 4px 4px 0;
4083
+ background-color: transparent;
4084
+ transition: 0.2s ease;
4085
+ }
4086
+
4087
+ .sui-2-3-29 .sui-wrap .sui-insert-variables .sui-variables+.select2 .select2-selection--single .select2-selection__arrow {
4088
+ width: 38px;
4089
+ height: 38px;
4090
+ display: -ms-flexbox;
4091
+ display: flex;
4092
+ -ms-flex-align: center;
4093
+ align-items: center;
4094
+ position: relative;
4095
+ top: auto;
4096
+ right: auto;
4097
+ }
4098
+
4099
+ .sui-2-3-29 .sui-wrap .sui-insert-variables .sui-variables+.select2 .select2-selection--single .select2-selection__arrow:before {
4100
+ content: "@";
4101
+ display: block;
4102
+ margin: 0 auto;
4103
+ color: #888;
4104
+ font-size: 16px;
4105
+ }
4106
+
4107
+ .sui-2-3-29 .sui-wrap .sui-insert-variables .sui-variables+.select2 .select2-selection--single .select2-selection__arrow b {
4108
+ display: none;
4109
+ }
4110
+
4111
+ .sui-2-3-29 .sui-wrap .sui-insert-variables .sui-variables+.select2 .select2-selection--single:hover {
4112
+ border-left-color: #ddd;
4113
+ background-color: #F2F2F2;
4114
+ }
4115
+
4116
+ .sui-2-3-29 .sui-wrap .sui-insert-variables .sui-variables+.select2 .select2-selection--single:hover .select2-selection__arrow:before {
4117
+ color: #666;
4118
+ }
4119
+
4120
+ .sui-2-3-29 .sui-wrap .sui-insert-variables .sui-variables+.select2.select2-container--open .select2-selection--single {
4121
+ border-left-color: #ddd;
4122
+ background-color: #fff;
4123
+ border-bottom-right-radius: 0;
4124
+ }
4125
+
4126
+ .sui-2-3-29 .sui-wrap .sui-insert-variables .sui-variables+.select2.select2-container--open .select2-selection--single .select2-selection__arrow:before {
4127
+ color: #333;
4128
+ }
4129
+
4130
+ .sui-2-3-29 .sui-wrap .sui-insert-variables textarea.sui-form-control+.select-container .select-list-container .list-value,
4131
+ .sui-2-3-29 .sui-wrap .sui-insert-variables textarea.sui-multi-checkbox+.select-container .select-list-container .list-value {
4132
+ border-color: transparent;
4133
+ }
4134
+
4135
+ .sui-2-3-29 .sui-wrap .sui-insert-variables textarea.sui-form-control+.select-container .select-list-container .list-value:hover,
4136
+ .sui-2-3-29 .sui-wrap .sui-insert-variables textarea.sui-multi-checkbox+.select-container .select-list-container .list-value:hover {
4137
+ border-left-color: transparent;
4138
+ background-color: transparent;
4139
+ }
4140
+
4141
+ .sui-2-3-29 .sui-wrap .sui-insert-variables textarea.sui-form-control+.select-container.active .select-list-container .list-value,
4142
+ .sui-2-3-29 .sui-wrap .sui-insert-variables textarea.sui-multi-checkbox+.select-container.active .select-list-container .list-value {
4143
+ border-left-color: transparent;
4144
+ background-color: transparent;
4145
+ }
4146
+
4147
+ .sui-2-3-29 .sui-wrap textarea.sui-form-control,
4148
+ .sui-2-3-29 .sui-wrap textarea.sui-multi-checkbox {
4149
+ max-width: 100%;
4150
+ height: auto;
4151
+ resize: vertical;
4152
+ line-height: 20px;
4153
+ }
4154
+
4155
+ .sui-2-3-29 .sui-wrap select.sui-form-control,
4156
+ .sui-2-3-29 .sui-wrap select.sui-multi-checkbox {
4157
+ cursor: pointer;
4158
+ -webkit-appearance: none;
4159
+ appearance: none;
4160
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAs0lEQVQ4T6WS2w0CIRBF59KA2oklaAdbgpbgB48SIBThduKWYClrA2CGgEEXNWH5moR7Zu48QJ0PnRytA6WUe67svb//clDrUkWt9UxEMYRw/AYzJIS4sd45t0ugMeZERNcY49yCCwRgS0Rna+346rGGAVz4s06aW0gQx2/DUUoNAEYAG86cxezkAWCw1k5lBoupZltThomhEMLhs/fmOgrM2VvQwmq9in8rWncAPWfXXfEJ6RpWD7sJ1JwAAAAASUVORK5CYII=);
4161
+ background-repeat: no-repeat;
4162
+ background-position: center right 10px;
4163
+ line-height: 1;
4164
+ }
4165
+
4166
+ .sui-2-3-29 .sui-dialog {
4167
+ position: fixed;
4168
+ z-index: 13;
4169
+ top: 0;
4170
+ right: 0;
4171
+ bottom: 0;
4172
+ left: 160px;
4173
+ display: -ms-flexbox;
4174
+ display: flex;
4175
+ -ms-flex-align: center;
4176
+ align-items: center;
4177
+ overflow: auto;
4178
+ background-color: rgba(51,51,51,0.95);
4179
+ }
4180
+
4181
+ .sui-2-3-29 .sui-dialog,
4182
+ .sui-2-3-29 .sui-dialog * {
4183
+ box-sizing: border-box;
4184
+ }
4185
+
4186
+ .sui-2-3-29 .sui-dialog,
4187
+ .sui-2-3-29 .sui-dialog:hover,
4188
+ .sui-2-3-29 .sui-dialog:focus,
4189
+ .sui-2-3-29 .sui-dialog:active {
4190
+ outline: none;
4191
+ box-shadow: none;
4192
+ }
4193
+
4194
+ .sui-2-3-29 .sui-dialog .sui-dialog-overlay {
4195
+ position: absolute;
4196
+ z-index: 13;
4197
+ top: 0;
4198
+ right: 0;
4199
+ bottom: 0;
4200
+ left: 0;
4201
+ }
4202
+
4203
+ @media (max-width: 960px) {
4204
+ .sui-2-3-29 .sui-dialog .sui-dialog-overlay {
4205
+ left: 36px;
4206
+ }
4207
+ }
4208
+
4209
+ @media (max-width: 782px) {
4210
+ .sui-2-3-29 .sui-dialog .sui-dialog-overlay {
4211
+ left: 0;
4212
+ }
4213
+ }
4214
+
4215
+ .sui-2-3-29 .sui-dialog .sui-dialog-content {
4216
+ width: 100%;
4217
+ max-width: 660px;
4218
+ max-height: 85%;
4219
+ position: relative;
4220
+ z-index: 13;
4221
+ margin: 0 auto;
4222
+ padding: 0 30px;
4223
+ }
4224
+
4225
+ .sui-2-3-29 .sui-dialog .sui-dialog-content>.sui-box {
4226
+ margin: 30px 0;
4227
+ box-shadow: 0 10px 40px rgba(0,0,0,0.2);
4228
+ }
4229
+
4230
+ .sui-2-3-29 .sui-dialog .sui-dialog-content>.sui-box .sui-box-body>* {
4231
+ margin-bottom: 30px;
4232
+ }
4233
+
4234
+ @media (max-width: 782px) {
4235
+ .sui-2-3-29 .sui-dialog .sui-dialog-content>.sui-box .sui-box-body>* {
4236
+ margin-bottom: 20px;
4237
+ }
4238
+ }
4239
+
4240
+ .sui-2-3-29 .sui-dialog .sui-dialog-content>.sui-box .sui-box-body>*:last-child {
4241
+ margin-bottom: 0;
4242
+ }
4243
+
4244
+ @media (max-width: 782px) {
4245
+ .sui-2-3-29 .sui-dialog .sui-dialog-content>.sui-box {
4246
+ margin: 20px 0;
4247
+ }
4248
+ }
4249
+
4250
+ @media (max-width: 782px) {
4251
+ .sui-2-3-29 .sui-dialog .sui-dialog-content {
4252
+ max-width: 640px;
4253
+ padding: 0 20px;
4254
+ }
4255
+ }
4256
+
4257
+ .sui-2-3-29 .sui-dialog .sui-dialog-close {
4258
+ width: 30px;
4259
+ height: 30px;
4260
+ cursor: pointer;
4261
+ margin: 0;
4262
+ padding: 0;
4263
+ border: 0;
4264
+ outline-style: none;
4265
+ background-image: none;
4266
+ background-color: transparent;
4267
+ transition: 0.3s ease;
4268
+ }
4269
+
4270
+ .sui-2-3-29 .sui-dialog .sui-dialog-close:hover:before,
4271
+ .sui-2-3-29 .sui-dialog .sui-dialog-close:active:before {
4272
+ color: #888;
4273
+ }
4274
+
4275
+ .sui-2-3-29 .sui-dialog .sui-dialog-close:before {
4276
+ content: ")";
4277
+ color: #aaa;
4278
+ font-size: 16px;
4279
+ line-height: 30px;
4280
+ }
4281
+
4282
+ .sui-2-3-29 .sui-dialog .sui-dialog-back {
4283
+ width: 30px;
4284
+ height: 30px;
4285
+ cursor: pointer;
4286
+ margin: 0;
4287
+ padding: 0;
4288
+ border: 0;
4289
+ outline-style: none;
4290
+ background-image: none;
4291
+ background-color: transparent;
4292
+ transition: 0.3s ease;
4293
+ }
4294
+
4295
+ .sui-2-3-29 .sui-dialog .sui-dialog-back:hover:before,
4296
+ .sui-2-3-29 .sui-dialog .sui-dialog-back:active:before {
4297
+ color: #888;
4298
+ }
4299
+
4300
+ .sui-2-3-29 .sui-dialog .sui-dialog-back:before {
4301
+ content: "Ó";
4302
+ color: #aaa;
4303
+ font-size: 16px;
4304
+ line-height: 30px;
4305
+ }
4306
+
4307
+ .sui-2-3-29 .sui-dialog.sui-dialog-alt .sui-dialog-content>.sui-box .sui-box-header.sui-block-content-center .sui-notice,
4308
+ .sui-2-3-29 .sui-dialog.sui-dialog-alt .sui-dialog-content>.sui-box .sui-box-header.sui-block-content-center .sui-form-field,
4309
+ .sui-2-3-29 .sui-dialog.sui-dialog-alt .sui-dialog-content>.sui-box .sui-box-body.sui-block-content-center .sui-notice,
4310
+ .sui-2-3-29 .sui-dialog.sui-dialog-alt .sui-dialog-content>.sui-box .sui-box-body.sui-block-content-center .sui-form-field,
4311
+ .sui-2-3-29 .sui-dialog.sui-dialog-alt .sui-dialog-content>.sui-box .sui-box-footer.sui-block-content-center .sui-notice,
4312
+ .sui-2-3-29 .sui-dialog.sui-dialog-alt .sui-dialog-content>.sui-box .sui-box-footer.sui-block-content-center .sui-form-field {
4313
+ text-align: initial;
4314
+ }
4315
+
4316
+ .sui-2-3-29 .sui-dialog.sui-dialog-alt .sui-dialog-content>.sui-box .sui-box-header {
4317
+ display: block;
4318
+ position: relative;
4319
+ padding-top: 40px;
4320
+ padding-bottom: 10px;
4321
+ border-bottom: 0;
4322
+ }
4323
+
4324
+ .sui-2-3-29 .sui-dialog.sui-dialog-alt .sui-dialog-content>.sui-box .sui-box-header .sui-dialog-close {
4325
+ position: absolute;
4326
+ top: 20px;
4327
+ right: 20px;
4328
+ }
4329
+
4330
+ .sui-2-3-29 .sui-dialog.sui-dialog-alt .sui-dialog-content>.sui-box .sui-box-header .sui-dialog-back {
4331
+ position: absolute;
4332
+ top: 20px;
4333
+ left: 20px;
4334
+ }
4335
+
4336
+ .sui-2-3-29 .sui-dialog.sui-dialog-alt .sui-dialog-content>.sui-box .sui-box-header .sui-box-title {
4337
+ font-size: 22px;
4338
+ line-height: 30px;
4339
+ font-family: "Roboto Condensed","Roboto",Arial,sans-serif;
4340
+ }
4341
+
4342
+ .sui-2-3-29 .sui-dialog.sui-dialog-alt .sui-dialog-content>.sui-box .sui-box-header .sui-box-title+.sui-description {
4343
+ margin-top: 20px;
4344
+ }
4345
+
4346
+ .sui-2-3-29 .sui-dialog.sui-dialog-alt .sui-dialog-content>.sui-box .sui-box-header .sui-dialog-image {
4347
+ width: 70px;
4348
+ height: 70px;
4349
+ display: block;
4350
+ position: absolute;
4351
+ top: -30px;
4352
+ left: 50%;
4353
+ margin-left: -35px;
4354
+ border: 5px solid #fff;
4355
+ border-radius: 4px;
4356
+ background-color: #fff;
4357
+ }
4358
+
4359
+ .sui-2-3-29 .sui-dialog.sui-dialog-alt .sui-dialog-content>.sui-box .sui-box-header .sui-dialog-image img {
4360
+ max-width: 100%;
4361
+ max-height: 100%;
4362
+ display: block;
4363
+ margin: 0 auto;
4364
+ border-radius: 3px;
4365
+ }
4366
+
4367
+ @media (max-width: 782px) {
4368
+ .sui-2-3-29 .sui-dialog.sui-dialog-alt .sui-dialog-content>.sui-box .sui-box-header .sui-dialog-image {
4369
+ display: none;
4370
+ }
4371
+ }
4372
+
4373
+ .sui-2-3-29 .sui-dialog.sui-dialog-alt .sui-dialog-content>.sui-box .sui-box-header:last-child {
4374
+ padding-bottom: 20px;
4375
+ }
4376
+
4377
+ @media (min-width: 783px) {
4378
+ .sui-2-3-29 .sui-dialog.sui-dialog-alt .sui-dialog-content>.sui-box .sui-box-header:last-child {
4379
+ padding-bottom: 30px;
4380
+ }
4381
+ }
4382
+
4383
+ @media (min-width: 783px) {
4384
+ .sui-2-3-29 .sui-dialog.sui-dialog-alt .sui-dialog-content>.sui-box .sui-box-header {
4385
+ padding-top: 60px;
4386
+ }
4387
+ }
4388
+
4389
+ .sui-2-3-29 .sui-dialog.sui-dialog-alt .sui-dialog-content>.sui-box .sui-box-body.sui-box-body-slim {
4390
+ padding-top: 10px;
4391
+ }
4392
+
4393
+ .sui-2-3-29 .sui-dialog.sui-dialog-alt .sui-dialog-content>.sui-box .sui-box-body+.sui-box-footer {
4394
+ padding-top: 0;
4395
+ }
4396
+
4397
+ .sui-2-3-29 .sui-dialog.sui-dialog-alt .sui-dialog-content>.sui-box .sui-box-footer {
4398
+ -ms-flex-pack: justify;
4399
+ justify-content: space-between;
4400
+ border-top: 0;
4401
+ }
4402
+
4403
+ .sui-2-3-29 .sui-dialog.sui-dialog-alt .sui-dialog-content>.sui-box .sui-box-footer.sui-box-footer-center {
4404
+ -ms-flex-pack: center;
4405
+ justify-content: center;
4406
+ }
4407
+
4408
+ .sui-2-3-29 .sui-dialog.sui-dialog-alt .sui-dialog-content>.sui-box .sui-box-footer.sui-box-footer-right {
4409
+ -ms-flex-pack: end;
4410
+ justify-content: flex-end;
4411
+ }
4412
+
4413
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content {
4414
+ pointer-events: none;
4415
+ }
4416
+
4417
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider {
4418
+ display: block;
4419
+ position: relative;
4420
+ }
4421
+
4422
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-content {
4423
+ pointer-events: all;
4424
+ padding: 0;
4425
+ }
4426
+
4427
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-content,
4428
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-content>li {
4429
+ display: block;
4430
+ margin: 0;
4431
+ border: 0;
4432
+ list-style: none;
4433
+ }
4434
+
4435
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-content>li {
4436
+ display: none;
4437
+ }
4438
+
4439
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-content>li.sui-current {
4440
+ opacity: 0;
4441
+ display: block;
4442
+ animation-duration: 0.7s;
4443
+ animation-fill-mode: both;
4444
+ transform-origin: center;
4445
+ transform-style: preserve-3d;
4446
+ }
4447
+
4448
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-content>li.sui-current.sui-loaded {
4449
+ opacity: 1;
4450
+ }
4451
+
4452
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-content>li.sui-current.fadeInLeft {
4453
+ opacity: 1;
4454
+ animation-name: fadeInLeft;
4455
+ }
4456
+
4457
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-content>li.sui-current.fadeInRight {
4458
+ opacity: 1;
4459
+ animation-name: fadeInRight;
4460
+ }
4461
+
4462
+ @media (max-width: 782px) {
4463
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-content>li {
4464
+ padding: 20px 0;
4465
+ }
4466
+ }
4467
+
4468
+ @media (min-width: 783px) {
4469
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-content>li {
4470
+ padding: 30px 0;
4471
+ }
4472
+ }
4473
+
4474
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-navigation button {
4475
+ cursor: pointer;
4476
+ pointer-events: all;
4477
+ position: absolute;
4478
+ top: 50%;
4479
+ border-radius: 50%;
4480
+ transform: translateY(-50%);
4481
+ font-size: 16px;
4482
+ transition: all 0.3s ease;
4483
+ }
4484
+
4485
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-navigation button,
4486
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-navigation button:hover,
4487
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-navigation button:focus,
4488
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-navigation button:active {
4489
+ margin: 0;
4490
+ padding: 0;
4491
+ border: 0;
4492
+ outline: none;
4493
+ box-shadow: none;
4494
+ }
4495
+
4496
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-navigation button:hover,
4497
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-navigation button:active {
4498
+ background-color: #fff;
4499
+ color: #666;
4500
+ }
4501
+
4502
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-navigation button:disabled {
4503
+ opacity: 0.3;
4504
+ pointer-events: none;
4505
+ }
4506
+
4507
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-navigation button [class*="sui-icon-"] {
4508
+ display: block;
4509
+ }
4510
+
4511
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-navigation button [class*="sui-icon-"]:before {
4512
+ display: block;
4513
+ color: inherit;
4514
+ }
4515
+
4516
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-navigation button.sui-prev {
4517
+ left: 0;
4518
+ }
4519
+
4520
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-navigation button.sui-next {
4521
+ right: 0;
4522
+ }
4523
+
4524
+ @media (max-width: 782px) {
4525
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-navigation button {
4526
+ width: 30px;
4527
+ height: 30px;
4528
+ background-color: #fff;
4529
+ color: #666;
4530
+ }
4531
+ }
4532
+
4533
+ @media (min-width: 783px) {
4534
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-navigation button {
4535
+ width: 40px;
4536
+ height: 40px;
4537
+ background-color: transparent;
4538
+ color: #fff;
4539
+ }
4540
+ }
4541
+
4542
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-steps {
4543
+ display: -ms-flexbox;
4544
+ display: flex;
4545
+ -ms-flex-wrap: wrap;
4546
+ flex-wrap: wrap;
4547
+ -ms-flex-align: center;
4548
+ align-items: center;
4549
+ -ms-flex-pack: center;
4550
+ justify-content: center;
4551
+ margin: 0 -5px;
4552
+ padding: 20px 0;
4553
+ border: 0;
4554
+ }
4555
+
4556
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-steps,
4557
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-steps li {
4558
+ list-style: none;
4559
+ }
4560
+
4561
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-steps:before,
4562
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-steps:after,
4563
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-steps li:before,
4564
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-steps li:after {
4565
+ content: unset;
4566
+ }
4567
+
4568
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-steps li {
4569
+ display: block;
4570
+ -ms-flex: 0 0 auto;
4571
+ flex: 0 0 auto;
4572
+ margin: 0;
4573
+ padding: 0 5px;
4574
+ }
4575
+
4576
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-steps li a,
4577
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-steps li button,
4578
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-steps li>span {
4579
+ width: 7px;
4580
+ height: 7px;
4581
+ display: block;
4582
+ border-radius: 14px;
4583
+ }
4584
+
4585
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-steps li a,
4586
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-steps li a:hover,
4587
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-steps li a:focus,
4588
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-steps li a:active,
4589
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-steps li a:visited,
4590
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-steps li button,
4591
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-steps li button:hover,
4592
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-steps li button:focus,
4593
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-steps li button:active,
4594
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-steps li button:visited,
4595
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-steps li>span,
4596
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-steps li>span:hover,
4597
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-steps li>span:focus,
4598
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-steps li>span:active,
4599
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-steps li>span:visited {
4600
+ margin: 0;
4601
+ padding: 0;
4602
+ border: 0;
4603
+ outline: none;
4604
+ box-shadow: none;
4605
+ }
4606
+
4607
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-steps.sui-clickable li a,
4608
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-steps.sui-clickable li button,
4609
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-steps.sui-clickable li>span {
4610
+ background-color: #E6E6E6;
4611
+ }
4612
+
4613
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-steps.sui-clickable li a,
4614
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-steps.sui-clickable li button {
4615
+ cursor: pointer;
4616
+ }
4617
+
4618
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-steps.sui-clickable li.current a,
4619
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-steps.sui-clickable li.current button,
4620
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-steps.sui-clickable li.current>span {
4621
+ background-color: #666;
4622
+ }
4623
+
4624
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-steps.sui-clickable li.current a,
4625
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-steps.sui-clickable li.current button {
4626
+ pointer-events: none;
4627
+ }
4628
+
4629
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-steps:not(.sui-clickable) li a,
4630
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-steps:not(.sui-clickable) li button,
4631
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-steps:not(.sui-clickable) li>span {
4632
+ background-color: #666;
4633
+ }
4634
+
4635
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-steps:not(.sui-clickable) li a,
4636
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-steps:not(.sui-clickable) li button {
4637
+ pointer-events: none;
4638
+ }
4639
+
4640
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-steps:not(.sui-clickable) li.current ~ li a,
4641
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-steps:not(.sui-clickable) li.current ~ li button,
4642
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-steps:not(.sui-clickable) li.current ~ li>span {
4643
+ background-color: #E6E6E6;
4644
+ }
4645
+
4646
+ @media (max-width: 782px) {
4647
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider {
4648
+ padding: 0 15px;
4649
+ }
4650
+ }
4651
+
4652
+ @media (min-width: 783px) {
4653
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider {
4654
+ padding: 0 55px;
4655
+ }
4656
+ }
4657
+
4658
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-content li>.sui-box .sui-box-banner {
4659
+ display: block;
4660
+ }
4661
+
4662
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-content li>.sui-box .sui-box-banner img {
4663
+ width: auto;
4664
+ max-width: 100%;
4665
+ height: auto;
4666
+ display: block;
4667
+ margin: 0 auto;
4668
+ }
4669
+
4670
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-content li>.sui-box .sui-box-banner:first-child {
4671
+ overflow: hidden;
4672
+ border-top-left-radius: 4px;
4673
+ border-top-right-radius: 4px;
4674
+ }
4675
+
4676
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-content li>.sui-box .sui-box-banner:last-child {
4677
+ overflow: hidden;
4678
+ border-bottom-right-radius: 4px;
4679
+ border-bottom-left-radius: 4px;
4680
+ }
4681
+
4682
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-content li>.sui-box .sui-box-banner+[class*="sui-box-"] {
4683
+ padding-top: 40px;
4684
+ }
4685
+
4686
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-content li>.sui-box>[class*="sui-box-"]:not(.sui-box-selectors)+.sui-box-selectors {
4687
+ margin-top: 20px;
4688
+ }
4689
+
4690
+ @media (min-width: 783px) {
4691
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-content li>.sui-box>[class*="sui-box-"]:not(.sui-box-selectors)+.sui-box-selectors {
4692
+ margin-top: 30px;
4693
+ }
4694
+ }
4695
+
4696
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-content li>.sui-box>[class*="sui-box-"]:not(.sui-box-selectors)+[class*="sui-box-"]:not(.sui-box-selectors) {
4697
+ padding-top: 20px;
4698
+ }
4699
+
4700
+ @media (min-width: 783px) {
4701
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-content li>.sui-box>[class*="sui-box-"]:not(.sui-box-selectors)+[class*="sui-box-"]:not(.sui-box-selectors) {
4702
+ padding-top: 30px;
4703
+ }
4704
+ }
4705
+
4706
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-content li>.sui-box>[class*="sui-box-"]:not(.sui-box-selectors).sui-lg {
4707
+ padding-right: 20px;
4708
+ padding-left: 20px;
4709
+ }
4710
+
4711
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-content li>.sui-box>[class*="sui-box-"]:not(.sui-box-selectors).sui-lg.sui-last,
4712
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-content li>.sui-box>[class*="sui-box-"]:not(.sui-box-selectors).sui-lg:last-child {
4713
+ padding-bottom: 40px;
4714
+ }
4715
+
4716
+ @media (min-width: 783px) {
4717
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-content li>.sui-box>[class*="sui-box-"]:not(.sui-box-selectors).sui-lg.sui-last,
4718
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-content li>.sui-box>[class*="sui-box-"]:not(.sui-box-selectors).sui-lg:last-child {
4719
+ padding-bottom: 60px;
4720
+ }
4721
+ }
4722
+
4723
+ @media (min-width: 783px) {
4724
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-content li>.sui-box>[class*="sui-box-"]:not(.sui-box-selectors).sui-lg {
4725
+ padding-right: 60px;
4726
+ padding-left: 60px;
4727
+ }
4728
+ }
4729
+
4730
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-content li>.sui-box>[class*="sui-box-"]:not(.sui-box-selectors):last-child {
4731
+ padding-bottom: 20px;
4732
+ }
4733
+
4734
+ @media (min-width: 783px) {
4735
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-content li>.sui-box>[class*="sui-box-"]:not(.sui-box-selectors):last-child {
4736
+ padding-bottom: 30px;
4737
+ }
4738
+ }
4739
+
4740
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-content li>.sui-box>[class*="sui-box-"]:not(.sui-box-selectors):not(:last-child) {
4741
+ padding-bottom: 0;
4742
+ }
4743
+
4744
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-content li>.sui-box>.sui-box-header {
4745
+ display: block;
4746
+ border-bottom-width: 0;
4747
+ }
4748
+
4749
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-content li>.sui-box>.sui-box-header .sui-box-title {
4750
+ font-size: 22px;
4751
+ line-height: 30px;
4752
+ }
4753
+
4754
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-content li>.sui-box>.sui-box-header .sui-box-title+.sui-description {
4755
+ margin-top: 10px;
4756
+ }
4757
+
4758
+ @media (min-width: 783px) {
4759
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-content li>.sui-box>.sui-box-header .sui-box-title+.sui-description {
4760
+ margin-top: 15px;
4761
+ }
4762
+ }
4763
+
4764
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-content li>.sui-box>.sui-box-header .sui-description {
4765
+ line-height: 22px;
4766
+ }
4767
+
4768
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-content li>.sui-box>.sui-box-header .sui-dialog-close {
4769
+ position: absolute;
4770
+ top: 20px;
4771
+ right: 20px;
4772
+ }
4773
+
4774
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-content li>.sui-box>.sui-box-header .sui-dialog-back {
4775
+ position: absolute;
4776
+ top: 20px;
4777
+ left: 20px;
4778
+ }
4779
+
4780
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-slider .sui-slider-content li>.sui-box>.sui-box-footer {
4781
+ display: block;
4782
+ border-top-width: 0;
4783
+ }
4784
+
4785
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-onboard-skip {
4786
+ font-size: 13px;
4787
+ line-height: 22px;
4788
+ letter-spacing: -.25px;
4789
+ text-align: center;
4790
+ }
4791
+
4792
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-onboard-skip a {
4793
+ opacity: 0.7;
4794
+ }
4795
+
4796
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-onboard-skip a,
4797
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-onboard-skip a:hover,
4798
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-onboard-skip a:active,
4799
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-onboard-skip a:visited {
4800
+ color: #fff;
4801
+ }
4802
+
4803
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-onboard-skip a:hover,
4804
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content .sui-onboard-skip a:active {
4805
+ opacity: 1;
4806
+ }
4807
+
4808
+ @media (max-width: 782px) {
4809
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content {
4810
+ max-width: 640px;
4811
+ padding: 0 10px;
4812
+ }
4813
+ }
4814
+
4815
+ @media (min-width: 783px) {
4816
+ .sui-2-3-29 .sui-dialog.sui-dialog-onboard .sui-dialog-content {
4817
+ max-width: 670px;
4818
+ }
4819
+ }
4820
+
4821
+ .sui-2-3-29 .sui-dialog.sui-dialog-sm:not(.sui-dialog-alt) .sui-dialog-content>.sui-box .sui-box-header {
4822
+ border: none;
4823
+ text-align: center;
4824
+ display: block;
4825
+ position: relative;
4826
+ padding-top: 40px;
4827
+ padding-bottom: 10px;
4828
+ }
4829
+
4830
+ .sui-2-3-29 .sui-dialog.sui-dialog-sm:not(.sui-dialog-alt) .sui-dialog-content>.sui-box .sui-box-header .sui-dialog-close {
4831
+ width: 30px;
4832
+ height: 30px;
4833
+ display: -ms-flexbox;
4834
+ display: flex;
4835
+ -ms-flex-direction: column;
4836
+ flex-direction: column;
4837
+ -ms-flex-align: center;
4838
+ align-items: center;
4839
+ -ms-flex-pack: center;
4840
+ justify-content: center;
4841
+ position: absolute;
4842
+ top: 15px;
4843
+ right: 15px;
4844
+ margin: 0;
4845
+ padding: 0;
4846
+ }
4847
+
4848
+ .sui-2-3-29 .sui-dialog.sui-dialog-sm:not(.sui-dialog-alt) .sui-dialog-content>.sui-box .sui-box-header .sui-dialog-close,
4849
+ .sui-2-3-29 .sui-dialog.sui-dialog-sm:not(.sui-dialog-alt) .sui-dialog-content>.sui-box .sui-box-header .sui-dialog-close:before {
4850
+ color: #888;
4851
+ }
4852
+
4853
+ .sui-2-3-29 .sui-dialog.sui-dialog-sm:not(.sui-dialog-alt) .sui-dialog-content>.sui-box .sui-box-header .sui-dialog-close:before {
4854
+ font-size: 16px;
4855
+ }
4856
+
4857
+ .sui-2-3-29 .sui-dialog.sui-dialog-sm:not(.sui-dialog-alt) .sui-dialog-content>.sui-box .sui-box-header .sui-dialog-close:hover,
4858
+ .sui-2-3-29 .sui-dialog.sui-dialog-sm:not(.sui-dialog-alt) .sui-dialog-content>.sui-box .sui-box-header .sui-dialog-close:focus {
4859
+ outline: none;
4860
+ }
4861
+
4862
+ @media (max-width: 782px) {
4863
+ .sui-2-3-29 .sui-dialog.sui-dialog-sm:not(.sui-dialog-alt) .sui-dialog-content>.sui-box .sui-box-header .sui-dialog-close {
4864
+ top: 20px;
4865
+ right: 10px;
4866
+ }
4867
+ }
4868
+
4869
+ .sui-2-3-29 .sui-dialog.sui-dialog-sm:not(.sui-dialog-alt) .sui-dialog-content>.sui-box .sui-box-header .sui-dialog-image {
4870
+ width: 70px;
4871
+ height: 70px;
4872
+ display: block;
4873
+ position: absolute;
4874
+ top: -35px;
4875
+ left: 50%;
4876
+ margin-left: -35px;
4877
+ border: 5px solid #fff;
4878
+ border-radius: 4px;
4879
+ background-color: #fff;
4880
+ }
4881
+
4882
+ .sui-2-3-29 .sui-dialog.sui-dialog-sm:not(.sui-dialog-alt) .sui-dialog-content>.sui-box .sui-box-header .sui-dialog-image img {
4883
+ display: block;
4884
+ border-radius: 3px;
4885
+ }
4886
+
4887
+ @media (max-width: 782px) {
4888
+ .sui-2-3-29 .sui-dialog.sui-dialog-sm:not(.sui-dialog-alt) .sui-dialog-content>.sui-box .sui-box-header .sui-dialog-image {
4889
+ display: none;
4890
+ }
4891
+ }
4892
+
4893
+ .sui-2-3-29 .sui-dialog.sui-dialog-sm:not(.sui-dialog-alt) .sui-dialog-content>.sui-box .sui-box-header .sui-box-title {
4894
+ margin: 0;
4895
+ color: #333;
4896
+ font: bold 22px/30px "Roboto Condensed","Roboto",Arial,sans-serif;
4897
+ }
4898
+
4899
+ .sui-2-3-29 .sui-dialog.sui-dialog-sm:not(.sui-dialog-alt) .sui-dialog-content>.sui-box .sui-box-header p {
4900
+ margin: 10px 0 0;
4901
+ color: #666;
4902
+ font-size: 13px;
4903
+ line-height: 22px;
4904
+ }
4905
+
4906
+ .sui-2-3-29 .sui-dialog.sui-dialog-sm:not(.sui-dialog-alt) .sui-dialog-content>.sui-box .sui-box-header p:first-child {
4907
+ margin-top: 0;
4908
+ }
4909
+
4910
+ .sui-2-3-29 .sui-dialog.sui-dialog-sm:not(.sui-dialog-alt) .sui-dialog-content>.sui-box .sui-box-header.sui-dialog-with-image {
4911
+ margin-top: 35px;
4912
+ padding-top: 60px;
4913
+ }
4914
+
4915
+ @media (max-width: 782px) {
4916
+ .sui-2-3-29 .sui-dialog.sui-dialog-sm:not(.sui-dialog-alt) .sui-dialog-content>.sui-box .sui-box-header.sui-dialog-with-image {
4917
+ margin-top: 0;
4918
+ }
4919
+ }
4920
+
4921
+ .sui-2-3-29 .sui-dialog.sui-dialog-sm:not(.sui-dialog-alt) .sui-dialog-content>.sui-box .sui-box-body {
4922
+ padding-top: 10px;
4923
+ padding-bottom: 15px;
4924
+ text-align: center;
4925
+ }
4926
+
4927
+ .sui-2-3-29 .sui-dialog.sui-dialog-sm:not(.sui-dialog-alt) .sui-dialog-content>.sui-box .sui-box-body p {
4928
+ font-size: 13px;
4929
+ line-height: 20px;
4930
+ }
4931
+
4932
+ .sui-2-3-29 .sui-dialog.sui-dialog-sm:not(.sui-dialog-alt) .sui-dialog-content>.sui-box .sui-box-body label {
4933
+ text-align: left;
4934
+ }
4935
+
4936
+ .sui-2-3-29 .sui-dialog.sui-dialog-sm:not(.sui-dialog-alt) .sui-dialog-content>.sui-box .sui-box-body .sui-label {
4937
+ line-height: 22px;
4938
+ }
4939
+
4940
+ .sui-2-3-29 .sui-dialog.sui-dialog-sm:not(.sui-dialog-alt) .sui-dialog-content>.sui-box .sui-box-body .sui-form-field {
4941
+ margin-bottom: 20px;
4942
+ }
4943
+
4944
+ .sui-2-3-29 .sui-dialog.sui-dialog-sm:not(.sui-dialog-alt) .sui-dialog-content>.sui-box .sui-box-body .sui-form-field:last-child {
4945
+ margin-bottom: 0;
4946
+ }
4947
+
4948
+ .sui-2-3-29 .sui-dialog.sui-dialog-sm:not(.sui-dialog-alt) .sui-dialog-content>.sui-box .sui-box-body:last-child {
4949
+ padding-bottom: 40px;
4950
+ }
4951
+
4952
+ @media (max-width: 782px) {
4953
+ .sui-2-3-29 .sui-dialog.sui-dialog-sm:not(.sui-dialog-alt) .sui-dialog-content>.sui-box .sui-box-body {
4954
+ padding-bottom: 10px;
4955
+ }
4956
+ }
4957
+
4958
+ .sui-2-3-29 .sui-dialog.sui-dialog-sm:not(.sui-dialog-alt) .sui-dialog-content>.sui-box .sui-box-footer {
4959
+ -ms-flex-align: center;
4960
+ align-items: center;
4961
+ -ms-flex-pack: center;
4962
+ justify-content: center;
4963
+ padding-top: 15px;
4964
+ padding-bottom: 40px;
4965
+ border: 0;
4966
+ }
4967
+
4968
+ .sui-2-3-29 .sui-dialog.sui-dialog-sm:not(.sui-dialog-alt) .sui-dialog-content>.sui-box .sui-box-footer.sui-align-unset {
4969
+ -ms-flex-pack: unset;
4970
+ justify-content: unset;
4971
+ }
4972
+
4973
+ .sui-2-3-29 .sui-dialog.sui-dialog-sm:not(.sui-dialog-alt) .sui-dialog-content>.sui-box .sui-box-footer.sui-space-between {
4974
+ -ms-flex-pack: justify;
4975
+ justify-content: space-between;
4976
+ }
4977
+
4978
+ @media (max-width: 782px) {
4979
+ .sui-2-3-29 .sui-dialog.sui-dialog-sm:not(.sui-dialog-alt) .sui-dialog-content>.sui-box .sui-box-footer {
4980
+ padding-top: 10px;
4981
+ }
4982
+ }
4983
+
4984
+ .sui-2-3-29 .sui-dialog.sui-dialog-reduced .sui-dialog-content {
4985
+ max-width: 560px;
4986
+ }
4987
+
4988
+ @media (max-width: 500px) {
4989
+ .sui-2-3-29 .sui-dialog.sui-dialog-reduced .sui-dialog-content {
4990
+ max-width: calc(500px + (20px*2));
4991
+ }
4992
+ }
4993
+
4994
+ .sui-2-3-29 .sui-dialog.sui-dialog-sm .sui-dialog-content {
4995
+ max-width: 460px;
4996
+ }
4997
+
4998
+ @media (max-width: 400px) {
4999
+ .sui-2-3-29 .sui-dialog.sui-dialog-sm .sui-dialog-content {
5000
+ max-width: calc(400px + (20px*2));
5001
+ }
5002
+ }
5003
+
5004
+ .sui-2-3-29 .sui-dialog.sui-dialog-lg .sui-dialog-content {
5005
+ max-width: 1040px;
5006
+ }
5007
+
5008
+ @media (max-width: 1200px) {
5009
+ .sui-2-3-29 .sui-dialog.sui-dialog-lg .sui-dialog-content {
5010
+ max-width: 1020px;
5011
+ }
5012
+ }
5013
+
5014
+ .sui-2-3-29 .sui-dialog[aria-hidden="true"] {
5015
+ display: none;
5016
+ }
5017
+
5018
+ @media (max-width: 960px) {
5019
+ .sui-2-3-29 .sui-dialog {
5020
+ left: 36px;
5021
+ }
5022
+ }
5023
+
5024
+ @media (max-width: 782px) {
5025
+ .sui-2-3-29 .sui-dialog {
5026
+ left: 0;
5027
+ }
5028
+ }
5029
+
5030
+ .sui-2-3-29.wp-admin.folded .sui-dialog {
5031
+ left: 36px;
5032
+ }
5033
+
5034
+ @media (max-width: 782px) {
5035
+ .sui-2-3-29.wp-admin.folded .sui-dialog {
5036
+ left: 0;
5037
+ }
5038
+ }
5039
+
5040
+ .sui-2-3-29.wp-admin.folded .sui-dialog-overlay {
5041
+ left: 36px;
5042
+ }
5043
+
5044
+ @media (max-width: 782px) {
5045
+ .sui-2-3-29.wp-admin.folded .sui-dialog-overlay {
5046
+ left: 0;
5047
+ }
5048
+ }
5049
+
5050
+ html.sui-has-overlay {
5051
+ overflow: hidden;
5052
+ }
5053
+
5054
+ .sui-2-3-29 .sui-wrap .sui-progress {
5055
+ display: -ms-flexbox;
5056
+ display: flex;
5057
+ -ms-flex-align: center;
5058
+ align-items: center;
5059
+ }
5060
+
5061
+ .sui-2-3-29 .sui-wrap .sui-progress .sui-progress-icon {
5062
+ width: 26px;
5063
+ text-align: center;
5064
+ }
5065
+
5066
+ .sui-2-3-29 .sui-wrap .sui-progress .sui-progress-icon [class*="sui-icon-"] {
5067
+ display: block;
5068
+ font-size: 16px;
5069
+ }
5070
+
5071
+ .sui-2-3-29 .sui-wrap .sui-progress .sui-progress-icon [class*="sui-icon-"]:before {
5072
+ display: block;
5073
+ }
5074
+
5075
+ .sui-2-3-29 .sui-wrap .sui-progress .sui-progress-icon+.sui-progress-text {
5076
+ margin-left: 0;
5077
+ }
5078
+
5079
+ .sui-2-3-29 .sui-wrap .sui-progress .sui-progress-icon+.sui-progress-bar {
5080
+ margin-left: 5px;
5081
+ }
5082
+
5083
+ .sui-2-3-29 .sui-wrap .sui-progress .sui-progress-text {
5084
+ min-width: 40px;
5085
+ -ms-flex: 0 0 auto;
5086
+ flex: 0 0 auto;
5087
+ color: #888;
5088
+ font: bold 12px/20px "Roboto",Arial,sans-serif;
5089
+ letter-spacing: -.25px;
5090
+ text-align: center;
5091
+ }
5092
+
5093
+ .sui-2-3-29 .sui-wrap .sui-progress .sui-progress-text span {
5094
+ display: block;
5095
+ }
5096
+
5097
+ .sui-2-3-29 .sui-wrap .sui-progress .sui-progress-text+.sui-progress-bar {
5098
+ margin-left: 5px;
5099
+ }
5100
+
5101
+ .sui-2-3-29 .sui-wrap .sui-progress .sui-progress-bar {
5102
+ height: 10px;
5103
+ overflow: hidden;
5104
+ -ms-flex: 1;
5105
+ flex: 1;
5106
+ border-radius: 5px;
5107
+ background-color: #E6E6E6;
5108
+ }
5109
+
5110
+ .sui-2-3-29 .sui-wrap .sui-progress .sui-progress-bar span {
5111
+ height: 100%;
5112
+ display: block;
5113
+ background-color: #17A8E3;
5114
+ }
5115
+
5116
+ .sui-2-3-29 .sui-wrap .sui-progress-block {
5117
+ width: 100%;
5118
+ max-width: 100%;
5119
+ min-height: 60px;
5120
+ display: -ms-flexbox;
5121
+ display: flex;
5122
+ -ms-flex-align: center;
5123
+ align-items: center;
5124
+ padding: 14px 14px;
5125
+ border: 1px solid #E6E6E6;
5126
+ border-radius: 4px;
5127
+ background-color: #fff;
5128
+ }
5129
+
5130
+ .sui-2-3-29 .sui-wrap .sui-progress-block .sui-progress {
5131
+ -ms-flex: 1;
5132
+ flex: 1;
5133
+ }
5134
+
5135
+ .sui-2-3-29 .sui-wrap .sui-progress-block .sui-progress+.sui-button,
5136
+ .sui-2-3-29 .sui-wrap .sui-progress-block .sui-progress+.sui-button-icon {
5137
+ margin-left: 10px;
5138
+ }
5139
+
5140
+ .sui-2-3-29 .sui-wrap .sui-progress-block .sui-button,
5141
+ .sui-2-3-29 .sui-wrap .sui-progress-block .sui-button-icon {
5142
+ -ms-flex: 0 0 auto;
5143
+ flex: 0 0 auto;
5144
+ }
5145
+
5146
+ .sui-2-3-29 .sui-wrap .sui-progress-block .sui-button-icon [class*="sui-icon-"],
5147
+ .sui-2-3-29 .sui-wrap .sui-progress-block a.sui-button-icon [class*="sui-icon-"],
5148
+ .sui-2-3-29 .sui-wrap .sui-progress-block button.sui-button-icon [class*="sui-icon-"] {
5149
+ font-size: 16px;
5150
+ }
5151
+
5152
+ .sui-2-3-29 .sui-wrap .sui-progress-block+.sui-progress-state {
5153
+ margin-top: 10px;
5154
+ }
5155
+
5156
+ .sui-2-3-29 .sui-wrap .sui-progress-state {
5157
+ display: block;
5158
+ color: #888;
5159
+ font: 400 13px/22px "Roboto",Arial,sans-serif;
5160
+ letter-spacing: -.25px;
5161
+ text-align: center;
5162
+ }
5163
+
5164
+ .sui-2-3-29 .sui-wrap .sui-progress-state span {
5165
+ display: block;
5166
+ }
5167
+
5168
+ .sui-wrap .sui-dialog {
5169
+ left: 0;
5170
+ }
5171
+
5172
+ .sui-wrap .sui-dialog.sui-dialog-sm .sui-dialog-content {
5173
+ max-width: 500px;
5174
+ }
5175
+
5176
+ .sui-wrap .sui-box-header.sui-dialog-with-image {
5177
+ padding-top: 140px !important;
5178
+ }
5179
+
5180
+ .sui-wrap .sui-box-header .sui-dialog-close {
5181
+ top: -20px !important;
5182
+ }
5183
+
5184
+ .sui-wrap .sui-box-header .sui-dialog-image {
5185
+ width: 100% !important;
5186
+ height: auto !important;
5187
+ left: 35px !important;
5188
+ }
5189
+
5190
+ .sui-wrap .sui-box-body .sui-form-field-error .sui-error-message {
5191
+ text-align: left;
5192
+ }
5193
+
5194
+ .sui-wrap .sui-progress-block {
5195
+ margin-bottom: 0 !important;
5196
+ }
core/Pro/admin/class-pro-admin.php DELETED
@@ -1,548 +0,0 @@
1
- <?php
2
- /**
3
- * Admin class for Pro functions.
4
- *
5
- * @package Hummingbird\Core\Pro\Admin
6
- */
7
-
8
- namespace Hummingbird\Core\Pro\Admin;
9
-
10
- use Hummingbird\Admin\Notices;
11
- use Hummingbird\Admin\Pages\Dashboard;
12
- use Hummingbird\Admin\Pages\Performance as Performance_Module;
13
- use Hummingbird\Admin\Pages\Performance;
14
- use Hummingbird\Admin\Pages\Uptime;
15
- use Hummingbird\Core\Modules\Advanced;
16
- use Hummingbird\Core\Settings;
17
- use Hummingbird\Core\Utils;
18
-
19
- if ( ! defined( 'ABSPATH' ) ) {
20
- exit;
21
- }
22
-
23
- /**
24
- * Class Pro_Admin
25
- */
26
- class Pro_Admin {
27
-
28
- /**
29
- * Admin notices.
30
- *
31
- * @var Notices
32
- */
33
- public $admin_notices;
34
-
35
- /**
36
- * Init function.
37
- */
38
- public function init() {
39
- if ( ! Utils::is_member() ) {
40
- return;
41
- }
42
-
43
- $this->admin_notices = Notices::get_instance();
44
-
45
- // Dashboard is a little special. There's a bug that prevents to add meta boxes in another way.
46
- add_action( 'wphb_admin_do_meta_boxes_wphb', array( $this, 'register_dashboard_do_meta_boxes' ), 10 );
47
-
48
- // Advanced tools.
49
- if ( is_multisite() && is_network_admin() || ! is_multisite() ) {
50
- add_action( 'wphb_admin_do_meta_boxes_wphb-advanced', array( $this, 'register_advanced_tools_meta_boxes' ), 10 );
51
- }
52
-
53
- // Uptime reports.
54
- add_action( 'wphb_admin_do_meta_boxes_wphb-uptime', array( $this, 'register_uptime_meta_boxes' ), 10 );
55
-
56
- // Performance reports.
57
- if ( is_multisite() && is_network_admin() || ! is_multisite() ) {
58
- add_action( 'wphb_admin_do_meta_boxes_wphb-performance', array( $this, 'register_performance_reports_meta_boxes' ), 10 );
59
- }
60
- }
61
-
62
- /**
63
- * Register Dashboard Reporting meta box.
64
- *
65
- * @param Dashboard $dashboard_page Dashboard page.
66
- */
67
- public function register_dashboard_do_meta_boxes( $dashboard_page ) {
68
- if ( ! is_multisite() || is_network_admin() ) {
69
- /* Reports */
70
- $dashboard_page->add_meta_box(
71
- 'dashboard-reports',
72
- __( 'Reports', 'wphb' ),
73
- array( $this, 'dashboard_reports_metabox' ),
74
- null,
75
- null,
76
- 'box-dashboard-right'
77
- );
78
- }
79
- }
80
-
81
- /**
82
- * Register Advanced Tools meta box.
83
- *
84
- * @since 1.9.1
85
- *
86
- * @param Dashboard $advanced_tools Advanced tools page.
87
- */
88
- public function register_advanced_tools_meta_boxes( $advanced_tools ) {
89
- /* Advanced tools db settings */
90
- $advanced_tools->add_meta_box(
91
- 'advanced/db-settings',
92
- __( 'Schedule', 'wphb' ),
93
- array( $this, 'db_settings_metabox' ),
94
- null,
95
- array( $this, 'db_settings_metabox_footer' ),
96
- 'db'
97
- );
98
- }
99
-
100
- /**
101
- * Register Performance Reports meta box.
102
- *
103
- * @since 1.9.1 Moved from admin/performance.
104
- *
105
- * @param Performance_Module $performance Performance reports page.
106
- */
107
- public function register_performance_reports_meta_boxes( $performance ) {
108
- /* Performance report settings */
109
- $performance->add_meta_box(
110
- 'performance/reporting',
111
- __( 'Reporting', 'wphb' ),
112
- array( $this, 'common_reports_metabox' ),
113
- null,
114
- array( $this, 'common_reports_metabox_footer' ),
115
- 'reports'
116
- );
117
- }
118
-
119
- /**
120
- * Register Uptime Notifications meta box.
121
- *
122
- * @since 1.9.3
123
- *
124
- * @param Uptime $uptime Uptime page.
125
- */
126
- public function register_uptime_meta_boxes( $uptime ) {
127
- /* Uptime notifications settings (enabled) */
128
- $uptime->add_meta_box(
129
- 'uptime/notifications',
130
- __( 'Notifications', 'wphb' ),
131
- array( $this, 'notifications_metabox' ),
132
- null,
133
- array( $this, 'common_reports_metabox_footer' ),
134
- 'notifications'
135
- );
136
-
137
- $uptime->add_meta_box(
138
- 'uptime/reporting',
139
- __( 'Reporting', 'wphb' ),
140
- array( $this, 'common_reports_metabox' ),
141
- null,
142
- array( $this, 'common_reports_metabox_footer' ),
143
- 'reports'
144
- );
145
- }
146
-
147
- /**
148
- * Load an admin PRO view
149
- *
150
- * @param string $name Meta box name.
151
- * @param array $args Arguments array.
152
- * @param bool $echo Echo or return.
153
- *
154
- * @return string
155
- */
156
- public function pro_view( $name, $args = array(), $echo = true ) {
157
- $file = WPHB_DIR_PATH . "core/pro/admin/views/{$name}.php";
158
- $content = '';
159
-
160
- if ( is_file( $file ) ) {
161
- ob_start();
162
-
163
- if ( isset( $args['id'] ) ) {
164
- $args['orig_id'] = $args['id'];
165
- $args['id'] = str_replace( '/', '-', $args['id'] );
166
- }
167
-
168
- extract( $args );
169
-
170
- /* @noinspection PhpIncludeInspection */
171
- include $file;
172
-
173
- $content = ob_get_clean();
174
- }
175
-
176
- if ( ! $echo ) {
177
- return $content;
178
- }
179
-
180
- echo $content;
181
- }
182
-
183
- /**
184
- * *************************
185
- * DASHBOARD
186
- *
187
- * @since 1.4.5
188
- ***************************/
189
-
190
- /**
191
- * Reports meta box
192
- */
193
- public function dashboard_reports_metabox() {
194
- $options = Utils::get_module( 'performance' )->get_options();
195
-
196
- $frequency = '';
197
-
198
- $performance_is_active = false;
199
-
200
- if ( $options['reports']['enabled'] ) {
201
- $performance_is_active = true;
202
-
203
- $frequency = $options['reports']['frequency'];
204
- switch ( $frequency ) {
205
- case 1:
206
- $frequency = __( 'Daily', 'wphb' );
207
- break;
208
- case 7:
209
- default:
210
- $frequency = __( 'Weekly', 'wphb' );
211
- break;
212
- case 30:
213
- $frequency = __( 'Monthly', 'wphb' );
214
- break;
215
- }
216
- }
217
-
218
- $adv_module = Utils::get_module( 'advanced' );
219
- $options = $adv_module->get_options();
220
-
221
- $db_cleanup = $options['db_cleanups'];
222
- $db_frequency = '';
223
- if ( $db_cleanup && isset( $options['db_frequency'] ) ) {
224
- switch ( $options['db_frequency'] ) {
225
- case 1:
226
- $db_frequency = __( 'Daily', 'wphb' );
227
- break;
228
- case 7:
229
- default:
230
- $db_frequency = __( 'Weekly', 'wphb' );
231
- break;
232
- case 30:
233
- $db_frequency = __( 'Monthly', 'wphb' );
234
- break;
235
- }
236
- }
237
-
238
- $options = Utils::get_module( 'uptime' )->get_options();
239
- $uptime = $options['reports']['enabled'];
240
-
241
- $uptime_frequency = '';
242
- if ( $uptime && isset( $options['reports']['frequency'] ) ) {
243
- switch ( $options['reports']['frequency'] ) {
244
- case 1:
245
- $uptime_frequency = __( 'Daily', 'wphb' );
246
- break;
247
- case 7:
248
- default:
249
- $uptime_frequency = __( 'Weekly', 'wphb' );
250
- break;
251
- case 30:
252
- $uptime_frequency = __( 'Monthly', 'wphb' );
253
- break;
254
- }
255
- }
256
-
257
- $args = compact( 'performance_is_active', 'frequency', 'db_cleanup', 'db_frequency', 'uptime', 'uptime_frequency' );
258
- $this->pro_view( 'dashboard/reports/meta-box', $args );
259
- }
260
-
261
- /**
262
- * *************************
263
- * ADVANCED TOOLS
264
- *
265
- * @since 1.9.1
266
- ***************************/
267
-
268
- /**
269
- * Advanced tools db settings meta box.
270
- */
271
- public function db_settings_metabox() {
272
- $adv_module = Utils::get_module( 'advanced' );
273
- $options = $adv_module->get_options();
274
-
275
- $fields = Advanced::get_db_fields();
276
- foreach ( $fields as $type => $field ) {
277
- $fields[ $type ]['checked'] = isset( $options['db_tables'][ $type ] ) ? $options['db_tables'][ $type ] : false;
278
- }
279
-
280
- $this->pro_view(
281
- 'advanced/db-settings-meta-box',
282
- array(
283
- 'fields' => $fields,
284
- 'schedule' => $options['db_cleanups'],
285
- 'frequency' => $options['db_frequency'],
286
- )
287
- );
288
- }
289
-
290
- /**
291
- * Performance reports meta box footer.
292
- */
293
- public function db_settings_metabox_footer() {
294
- $this->pro_view( 'advanced/db-settings-meta-box-footer', array() );
295
- }
296
-
297
- /**
298
- * *************************
299
- * PERFORMANCE TEST
300
- *
301
- * @since 1.9.1
302
- ***************************/
303
-
304
- /**
305
- * Common reports meta box.
306
- *
307
- * @since 1.9.4 Made it common for performance and uptime reports.
308
- */
309
- public function common_reports_metabox() {
310
- $module = 'performance';
311
-
312
- if ( isset( $_GET['page'] ) ) {
313
- $module = sanitize_key( wp_unslash( $_GET['page'] ) );
314
- $module = substr( $module, 5 );
315
- }
316
-
317
- $options = Settings::get_setting( 'reports', $module );
318
-
319
- if ( empty( $options ) || ! is_array( $options ) ) {
320
- // TODO: display generic page that module is not found.
321
- return;
322
- }
323
-
324
- $week_days = array(
325
- 'Monday',
326
- 'Tuesday',
327
- 'Wednesday',
328
- 'Thursday',
329
- 'Friday',
330
- 'Saturday',
331
- 'Sunday',
332
- );
333
-
334
- $data = array();
335
- $notification = false;
336
- $notice_class = 'grey';
337
- $notice_message = __( 'Reporting is currently inactive. Activate it and choose your schedule below.', 'wphb' );
338
- $frequency = 7;
339
- $send_day = $week_days[ array_rand( $week_days, 1 ) ];
340
- $send_time = wp_rand( 0, 23 ) . ':00';
341
- $recipients = array();
342
-
343
- if ( Utils::is_member() ) {
344
- if ( isset( $options['enabled'] ) ) {
345
- $notification = $options['enabled'];
346
- }
347
-
348
- if ( isset( $options['frequency'] ) ) {
349
- $frequency = $options['frequency'];
350
- }
351
-
352
- if ( isset( $options['day'] ) ) {
353
- $send_day = $options['day'];
354
- }
355
-
356
- if ( isset( $options['time'] ) ) {
357
- // Remove the minutes from the hour to not confuse the user.
358
- $send_time = explode( ':', $options['time'] );
359
- $send_time[1] = '00';
360
- $send_time = implode( ':', $send_time );
361
- }
362
-
363
- if ( isset( $options['recipients'] ) ) {
364
- $recipients = $options['recipients'];
365
- }
366
-
367
- // This is only available for performance reports.
368
- if ( 'performance' === $module ) {
369
- $data = array(
370
- 'type' => isset( $options['type'] ) ? $options['type'] : 'desktop',
371
- 'metrics' => isset( $options['metrics'] ) ? $options['metrics'] : true,
372
- 'audits' => isset( $options['audits'] ) ? $options['audits'] : true,
373
- 'historic' => isset( $options['historic'] ) ? $options['historic'] : true,
374
- );
375
- }
376
- }
377
-
378
- if ( $notification ) {
379
- $recipients_count = count( $recipients );
380
-
381
- if ( 0 !== $recipients_count ) {
382
- $notice_class = 'success';
383
- $notice_message = self::get_reporting_message( ucfirst( $module ), $frequency, $send_day, $recipients_count );
384
- } else {
385
- $notice_class = 'warning';
386
- $notice_message = __( "Reporting is enabled but you haven't added any recipients yet.", 'wphb' );
387
- }
388
- }
389
-
390
- $this->pro_view(
391
- 'common/reports-meta-box',
392
- array(
393
- 'data' => $data,
394
- 'enabled' => $notification,
395
- 'frequency' => $frequency,
396
- 'module' => $module,
397
- 'notice_class' => $notice_class,
398
- 'notice_message' => $notice_message,
399
- 'recipients' => $recipients,
400
- 'send_day' => $send_day,
401
- 'send_time' => $send_time,
402
- )
403
- );
404
- }
405
-
406
- /**
407
- * Common reports meta box footer.
408
- *
409
- * @since 1.9.4 Made it common for performance and uptime reports.
410
- */
411
- public function common_reports_metabox_footer() {
412
- $this->pro_view( 'common/reports-meta-box-footer', array() );
413
- }
414
-
415
- /**
416
- * *************************
417
- * UPTIME NOTIFICATIONS
418
- *
419
- * @since 1.9.3
420
- ***************************/
421
-
422
- /**
423
- * Uptime notifications meta box.
424
- *
425
- * @since 1.9.3
426
- */
427
- public function notifications_metabox() {
428
- $notice = self::get_notification_message();
429
-
430
- $notifications_settings = Settings::get_setting( 'notifications', 'uptime' );
431
-
432
- $this->pro_view(
433
- 'uptime/notifications-meta-box',
434
- array(
435
- 'downtime_url' => Utils::get_admin_menu_url( 'uptime' ) . '&view=downtime',
436
- 'notice_class' => $notice['class'],
437
- 'notice_message' => $notice['message'],
438
- 'reports_settings' => $notifications_settings,
439
- )
440
- );
441
- }
442
-
443
- /**
444
- * Get Reporting notice message.
445
- *
446
- * @since 1.9.3
447
- * @since 1.9.4 Moved here from Uptime module. Added $frequency, $day and $module params.
448
- *
449
- * @param string $module Module name.
450
- * @param int $frequency Report frequency.
451
- * @param string $day Report day.
452
- * @param string $recipients_count Recipient count.
453
- * @param bool $enabled True|False Module enabled.
454
- *
455
- * @return string
456
- */
457
- public static function get_reporting_message( $module, $frequency, $day, $recipients_count, $enabled = true ) {
458
-
459
- // Default message if reporting is disabled.
460
- if ( ! $enabled ) {
461
- return __( 'Reporting is currently inactive. Activate it and choose your schedule below.', 'wphb' );
462
- }
463
-
464
- switch ( $frequency ) {
465
- case 1:
466
- $notice_message = sprintf(
467
- /* translators: %1$s: Module name, %2$d: Number of recipients */
468
- __( '%1$s reports are sending daily to %2$d recipients.', 'wphb' ),
469
- esc_html( $module ),
470
- esc_html( $recipients_count )
471
- );
472
- $notice_frequency = __( 'daily', 'wphb' );
473
- if ( 1 === $recipients_count ) {
474
- $notice_message = __( 'Uptime reports are sending daily to 1 recipient.', 'wphb' );
475
- }
476
- break;
477
- case 7:
478
- $notice_message = sprintf(
479
- /* translators: %1$s: Module name, %2$s: Weekday %3$d: Number of recipients */
480
- __( '%1$s reports are sending weekly on %2$s to %3$d recipients.', 'wphb' ),
481
- esc_html( $module ),
482
- esc_html( $day ),
483
- esc_html( $recipients_count )
484
- );
485
- $notice_frequency = __( 'weekly', 'wphb' );
486
- break;
487
- default:
488
- $notice_message = sprintf(
489
- /* translators: %1$s: Module name, %2$s: Weekday %3$d: Number of recipients */
490
- __( '%1$s reports are sending monthly on %2$s to %3$d recipients.', 'wphb' ),
491
- esc_html( $module ),
492
- esc_html( $day ),
493
- esc_html( $recipients_count )
494
- );
495
- $notice_frequency = __( 'monthly', 'wphb' );
496
- break;
497
- }
498
-
499
- if ( 1 === $recipients_count ) {
500
- $notice_message = sprintf(
501
- /* translators: %1$s: Module name, %2$s: Frequency of reports */
502
- __( '%1$s reports are sending %2$s to 1 recipient.', 'wphb' ),
503
- esc_html( $module ),
504
- esc_html( $notice_frequency )
505
- );
506
- }
507
-
508
- return $notice_message;
509
- }
510
-
511
- /**
512
- * Get uptime Notification notice text.
513
- *
514
- * @return array Notification Class, Message
515
- */
516
- public static function get_notification_message() {
517
- $notifications_settings = Settings::get_setting( 'notifications', 'uptime' );
518
-
519
- $notice_class = 'grey';
520
- $notice_message = __( "Email notifications are off which means you won't get notified if visitors can't access this website.", 'wphb' );
521
-
522
- if ( $notifications_settings['enabled'] ) {
523
- $recipients_count = count( $notifications_settings['recipients'] );
524
- if ( 0 !== $recipients_count ) {
525
- $notice_class = 'success';
526
- if ( isset( $notifications_settings['threshold'] ) && 0 < $notifications_settings['threshold'] ) {
527
- $notice_message = sprintf(
528
- /* translators: %d: Number of recipients */
529
- __( 'Email notifications are enabled and will be triggered if your website has been down for more than %d minutes.', 'wphb' ),
530
- absint( $notifications_settings['threshold'] )
531
- );
532
- } else {
533
- $notice_message = __( 'Email notifications are enabled and will be triggered as soon as your website goes down.', 'wphb' );
534
- }
535
- } else {
536
- $notice_class = 'warning';
537
- $notice_message = __( "Email notifications are enabled but you haven't added any recipients yet.", 'wphb' );
538
- }
539
- }
540
-
541
- return array(
542
- 'class' => $notice_class,
543
- 'message' => $notice_message,
544
- );
545
- }
546
-
547
-
548
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
core/Pro/admin/views/advanced/db-settings-meta-box-footer.php DELETED
@@ -1,26 +0,0 @@
1
- <?php
2
- /**
3
- * Advanced tools database cleanup settings meta box footer.
4
- *
5
- * @package Hummingbird
6
- * @since 1.8
7
- */
8
-
9
- if ( ! defined( 'ABSPATH' ) ) {
10
- exit;
11
- }
12
-
13
- ?>
14
-
15
- <div class="sui-actions-right">
16
- <button type="submit" class="sui-button sui-button-blue" aria-live="polite">
17
- <!-- Default State Content -->
18
- <span class="sui-button-text-default"><?php esc_html_e( 'Save changes', 'wphb' ); ?></span>
19
-
20
- <!-- Loading State Content -->
21
- <span class="sui-button-text-onload">
22
- <span class="sui-icon-loader sui-loading" aria-hidden="true"></span>
23
- <?php esc_html_e( 'Saving changes', 'wphb' ); ?>
24
- </span>
25
- </button>
26
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
core/Pro/admin/views/advanced/db-settings-meta-box.php DELETED
@@ -1,64 +0,0 @@
1
- <?php
2
- /**
3
- * Advanced tools database cleanup settings meta box.
4
- *
5
- * @package Hummingbird
6
- * @since 1.8
7
- *
8
- * @var array $fields Array of tables used to build checkboxes.
9
- * @var int $frequency Cleanup frequency.
10
- * @var bool $schedule If schedule is enabled or disabled.
11
- */
12
-
13
- if ( ! defined( 'ABSPATH' ) ) {
14
- exit;
15
- }
16
-
17
- ?>
18
-
19
- <div class="sui-box-settings-row">
20
- <div class="sui-box-settings-col-1">
21
- <span class="sui-settings-label"><?php esc_html_e( 'Schedule Cleanups', 'wphb' ); ?></span>
22
- <span class="sui-description">
23
- <?php esc_html_e( 'Schedule Hummingbird to automatically clean your database daily, weekly or monthly.', 'wphb' ); ?>
24
- </span>
25
- </div><!-- end col-third -->
26
- <div class="sui-box-settings-col-2">
27
- <div class="sui-form-field">
28
- <label for="scheduled_cleanup" class="sui-toggle">
29
- <input type="checkbox" name="scheduled_cleanup" id="scheduled_cleanup" aria-labelledby="scheduled_cleanup-label" <?php checked( $schedule ); ?>>
30
- <span class="sui-toggle-slider" aria-hidden="true"></span>
31
- <span id="scheduled_cleanup-label" class="sui-toggle-label"><?php esc_html_e( 'Enable scheduled cleanups', 'wphb' ); ?></span>
32
- </label>
33
- </div>
34
-
35
- <div class="sui-border-frame with-padding schedule-box <?php echo $schedule ? '' : 'hidden'; ?>">
36
- <div class="sui-form-field">
37
- <label class="sui-label" for="cleanup_frequency" id="cleanup_frequency-label"><?php esc_html_e( 'Frequency', 'wphb' ); ?></label>
38
- <select name="cleanup_frequency" id="cleanup_frequency" class="sui-select" data-width="250" aria-labelledby="cleanup_frequency-label">
39
- <option <?php selected( 1, $frequency ); ?> value="1">
40
- <?php esc_html_e( 'Daily', 'wphb' ); ?>
41
- </option>
42
- <option <?php selected( 7, $frequency ); ?> value="7">
43
- <?php esc_html_e( 'Weekly', 'wphb' ); ?>
44
- </option>
45
- <option <?php selected( 30, $frequency ); ?> value="30">
46
- <?php esc_html_e( 'Monthly', 'wphb' ); ?>
47
- </option>
48
- </select>
49
- </div>
50
- <div class="sui-form-field">
51
- <label class="sui-label" for="included-tables"><?php esc_html_e( 'Included Tables', 'wphb' ); ?></label>
52
- <div id="included-tables" class="included-tables">
53
- <?php foreach ( $fields as $db_type => $field ) : ?>
54
- <label for="<?php echo esc_attr( $db_type ); ?>" class="sui-checkbox sui-checkbox-stacked">
55
- <input type="checkbox" name="<?php echo esc_attr( $db_type ); ?>" id="<?php echo esc_attr( $db_type ); ?>" <?php checked( $field['checked'] ); ?>>
56
- <span aria-hidden="true"></span>
57
- <span class="sui-description sui-description-sm"><?php echo esc_html( $field['title'] ); ?></span>
58
- </label>
59
- <?php endforeach; ?>
60
- </div>
61
- </div>
62
- </div>
63
- </div>
64
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
core/Pro/admin/views/common/reports-meta-box-footer.php DELETED
@@ -1,19 +0,0 @@
1
- <?php
2
- /**
3
- * Performance test reporting meta box footer.
4
- *
5
- * @package Hummingbird
6
- */
7
-
8
- if ( ! defined( 'ABSPATH' ) ) {
9
- exit;
10
- }
11
-
12
- ?>
13
-
14
- <div class="sui-actions-right">
15
- <button class="sui-button sui-button-blue">
16
- <?php esc_html_e( 'Save Changes', 'wphb' ); ?>
17
- </button>
18
- </div>
19
- </form>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
core/Pro/admin/views/common/reports-meta-box.php DELETED
@@ -1,226 +0,0 @@
1
- <?php
2
- /**
3
- * Common reports meta box for: performance reports, uptime reports, etc...
4
- *
5
- * @since 1.9.4
6
- *
7
- * @package Hummingbird
8
- *
9
- * @var \Hummingbird\Admin\Page $this
10
- *
11
- * @var array $data Performance report data.
12
- * @var bool $enabled Status of performance reports.
13
- * @var int $frequency Report frequency.
14
- * @var string $module Report module.
15
- * @var string $notice_class Class for the notice.
16
- * @var string $notice_message Message for the notice.
17
- * @var array $recipients Recipients list.
18
- * @var string $send_day Report send day.
19
- * @var string $send_time Report send time.
20
- */
21
-
22
- if ( ! defined( 'ABSPATH' ) ) {
23
- exit;
24
- }
25
-
26
- if ( 'performance' === $module ) {
27
- $p_text = __( 'Enable scheduled performance tests and get the customized results emailed directly to your inbox.', 'wphb' );
28
- } elseif ( 'uptime' === $module ) {
29
- $p_text = __( 'Enable scheduled email reports direct to recipient inboxes of your choice. The report will include response time data and any downtime logs in the selected period.', 'wphb' );
30
- }
31
- ?>
32
-
33
- <p><?php echo esc_html( $p_text ); ?></p>
34
-
35
- <?php $this->admin_notices->show_inline( $notice_message, $notice_class ); ?>
36
-
37
- <form method="post" class="wphb-report-settings" id="wphb-<?php echo esc_attr( $module ); ?>-reporting" data-module="<?php echo esc_attr( $module ); ?>" data-name="<?php echo esc_attr( ucfirst( $module ) ); ?> Reports">
38
- <div class="sui-box-settings-row <?php echo $enabled ? '' : 'wphb-first-of-type'; ?>">
39
- <div class="sui-box-settings-col-1">
40
- <span class="sui-settings-label">
41
- <?php esc_html_e( 'Email Reports', 'wphb' ); ?>
42
- </span>
43
- <span class="sui-description">
44
- <?php esc_html_e( 'Choose from daily, weekly or monthly email reports.', 'wphb' ); ?>
45
- </span>
46
- <?php if ( 'uptime' === $module && is_network_admin() ) : ?>
47
- <span class="sui-description">
48
- <?php esc_html_e( 'Note: Scheduled uptime reports are only available for network sites and not subsites. This is because the network sites and subsites are located on the same server, meaning that subsite uptime reports would be redundant.', 'wphb' ); ?>
49
- </span>
50
- <?php endif; ?>
51
- </div>
52
- <div class="sui-box-settings-col-2">
53
- <div class="sui-form-field">
54
- <label for="chk1" class="sui-toggle">
55
- <input type="hidden" name="scheduled-reports" value="0"/>
56
- <input type="checkbox" name="scheduled-reports" id="chk1" value="1" aria-labelledby="scheduled-reports-label" <?php checked( 1, $enabled ); ?>>
57
- <span class="sui-toggle-slider" aria-hidden="true"></span>
58
- <span id="scheduled-reports-label" class="sui-toggle-label">
59
- <?php
60
- printf( /* translators: %s: module name */
61
- esc_html__( 'Send scheduled %s reports', 'wphb' ),
62
- esc_html( $module )
63
- );
64
- ?>
65
- </span>
66
- </label>
67
- </div>
68
- <div class="sui-border-frame sui-toggle-content schedule-box <?php echo $enabled ? '' : 'sui-hidden'; ?>">
69
- <div class="sui-recipients">
70
- <label class="sui-label"><?php esc_html_e( 'Recipients', 'wphb' ); ?></label>
71
- <?php if ( count( $recipients ) ) : ?>
72
- <?php
73
- $this->admin_notices->show_inline(
74
- esc_html__( "You've removed all recipients. If you save without a recipient, we'll automatically turn off reports.", 'wphb' ),
75
- 'warning wphb-no-recipients sui-hidden'
76
- );
77
- ?>
78
- <?php foreach ( $recipients as $key => $id ) : ?>
79
- <?php
80
- $input_value = new stdClass();
81
- $input_value->name = $id['name'];
82
- $input_value->email = $id['email'];
83
- $input_value = wp_json_encode( $input_value );
84
- ?>
85
- <div class="sui-recipient">
86
- <input data-id="<?php echo esc_attr( $key ); ?>" type="hidden" id="report-recipient" name="report-recipients[]" value="<?php echo esc_attr( $input_value ); ?>">
87
- <span class="sui-recipient-name"><?php echo esc_html( $id['name'] ); ?></span>
88
- <span class="sui-recipient-email"><?php echo esc_html( $id['email'] ); ?></span>
89
- <button data-id="<?php echo esc_attr( $key ); ?>" type="button" class="sui-button-icon wphb-remove-recipient"><span class="sui-icon-trash" aria-hidden="true"></span></button>
90
- </div>
91
- <?php endforeach; ?>
92
- <?php else : ?>
93
- <?php
94
- $this->admin_notices->show_inline(
95
- esc_html__( "You've removed all recipients. If you save without a recipient, we'll automatically turn off reports.", 'wphb' ),
96
- 'warning wphb-no-recipients'
97
- );
98
- ?>
99
- <?php endif; ?>
100
- </div>
101
- <a class="sui-button sui-button-ghost sui-add-recipient" data-modal-open="wphb-add-recipient-modal" data-modal-open-focus="reporting-first-name" data-modal-mask="true">
102
- <span class="sui-icon-plus" aria-hidden="true"></span>
103
- <?php esc_html_e( 'Add Recipient', 'wphb' ); ?>
104
- </a>
105
- <div class="sui-form-field">
106
- <label for="report-frequency" class="sui-label"><?php esc_html_e( 'Schedule', 'wphb' ); ?></label>
107
- <select name="report-frequency" class="sui-select" data-width="250" id="report-frequency">
108
- <option <?php selected( 1, $frequency ); ?> value="1">
109
- <?php esc_html_e( 'Daily', 'wphb' ); ?>
110
- </option>
111
- <option <?php selected( 7, $frequency ); ?> value="7">
112
- <?php esc_html_e( 'Weekly', 'wphb' ); ?>
113
- </option>
114
- <option <?php selected( 30, $frequency ); ?> value="30">
115
- <?php esc_html_e( 'Monthly', 'wphb' ); ?>
116
- </option>
117
- </select>
118
- </div>
119
-
120
- <div class="sui-row">
121
- <div class="sui-col sui-form-field sui-no-margin-bottom days-container" data-type="week">
122
- <label class="sui-label" for="report-day">
123
- <?php esc_html_e( 'Day of the week', 'wphb' ); ?>
124
- </label>
125
- <select name="report-day" class="sui-select" data-width="250" id="report-day">
126
- <?php foreach ( \Hummingbird\Core\Utils::get_days_of_week() as $day ) : ?>
127
- <option <?php selected( $day, $send_day ); ?> value="<?php echo esc_attr( $day ); ?>">
128
- <?php echo esc_html( ucfirst( $day ) ); ?>
129
- </option>
130
- <?php endforeach; ?>
131
- </select>
132
- </div>
133
- <div class="sui-col sui-form-field sui-no-margin-bottom days-container sui-hidden" data-type="month">
134
- <label class="sui-label" for="report-day">
135
- <?php esc_html_e( 'Day of the month', 'wphb' ); ?>
136
- </label>
137
- <select name="report-day-month" id="report-day" class="sui-select" data-width="250">
138
- <?php
139
- $days = range( 1, 28 );
140
- if ( ! in_array( $send_day, $days ) ) {
141
- $send_day = rand( 1, 28 );
142
- }
143
- ?>
144
- <?php foreach ( $days as $day ) : ?>
145
- <option <?php selected( $day, $send_day ); ?> value="<?php echo esc_attr( $day ); ?>">
146
- <?php echo esc_html( ucfirst( $day ) ); ?>
147
- </option>
148
- <?php endforeach; ?>
149
- </select>
150
- </div>
151
- <div class="sui-col sui-form-field">
152
- <label class="sui-label" for="report-time">
153
- <?php esc_html_e( 'Time of day', 'wphb' ); ?>
154
- </label>
155
- <select name="report-time" id="report-time" class="sui-select" data-width="250">
156
- <?php foreach ( \Hummingbird\Core\Utils::get_times() as $time ) : ?>
157
- <option <?php selected( $time, $send_time ); ?> value="<?php echo esc_attr( $time ); ?>">
158
- <?php echo esc_html( strftime( '%I:%M %p', strtotime( $time ) ) ); ?>
159
- </option>
160
- <?php endforeach; ?>
161
- </select>
162
- </div>
163
- </div>
164
- </div><!-- end sui-border-frame -->
165
- </div>
166
- </div>
167
-
168
- <?php if ( 'performance' === $module ) : ?>
169
- <div class="sui-box-settings-row <?php echo $enabled ? '' : 'sui-hidden'; ?>" id="performance-customizations">
170
- <div class="sui-box-settings-col-1">
171
- <span class="sui-settings-label">
172
- <?php esc_html_e( 'Customize', 'wphb' ); ?>
173
- </span>
174
- <span class="sui-description">
175
- <?php esc_html_e( 'Choose your email preferences for the performance test results.', 'wphb' ); ?>
176
- </span>
177
- </div>
178
-
179
- <div class="sui-box-settings-col-2">
180
- <strong><?php esc_html_e( 'Device', 'wphb' ); ?></strong>
181
- <span class="sui-description">
182
- <?php esc_html_e( 'Choose which device you want to show the performance test results for in your scheduled performance test reports.', 'wphb' ); ?>
183
- </span>
184
-
185
- <div class="sui-side-tabs">
186
- <div class="sui-tabs-menu">
187
- <label for="report_type-desktop" class="sui-tab-item <?php echo 'desktop' === $data['type'] ? 'active' : ''; ?>">
188
- <input type="radio" name="report-type" value="desktop" id="report_type-desktop" <?php checked( $data['type'], 'desktop' ); ?>>
189
- <?php esc_html_e( 'Desktop', 'wphb' ); ?>
190
- </label>
191
-
192
- <label for="report_type-mobile" class="sui-tab-item <?php echo 'mobile' === $data['type'] ? 'active' : ''; ?>">
193
- <input type="radio" name="report-type" value="mobile" id="report_type-mobile" <?php checked( $data['type'], 'mobile' ); ?>>
194
- <?php esc_html_e( 'Mobile', 'wphb' ); ?>
195
- </label>
196
-
197
- <label for="report_type-both" class="sui-tab-item <?php echo 'both' === $data['type'] ? 'active' : ''; ?>">
198
- <input type="radio" name="report-type" value="both" id="report_type-both" <?php checked( $data['type'], 'both' ); ?>>
199
- <?php esc_html_e( 'Both', 'wphb' ); ?>
200
- </label>
201
- </div>
202
- </div>
203
-
204
- <strong><?php esc_html_e( 'Results', 'wphb' ); ?></strong>
205
- <span class="sui-description">
206
- <?php esc_html_e( 'Choose what results do you want to see in your scheduled performance test reports.', 'wphb' ); ?>
207
- </span>
208
-
209
- <label for="metrics" class="sui-checkbox sui-checkbox-stacked sui-checkbox-sm">
210
- <input type="checkbox" name="metrics" id="metrics" <?php checked( $data['metrics'] ); ?> />
211
- <span aria-hidden="true"></span>
212
- <span><?php esc_html_e( 'Score Metrics', 'wphb' ); ?></span>
213
- </label>
214
- <label for="audits" class="sui-checkbox sui-checkbox-stacked sui-checkbox-sm">
215
- <input type="checkbox" name="audits" id="audits" <?php checked( $data['audits'] ); ?> />
216
- <span aria-hidden="true"></span>
217
- <span><?php esc_html_e( 'Audits', 'wphb' ); ?></span>
218
- </label>
219
- <label for="field-data" class="sui-checkbox sui-checkbox-stacked sui-checkbox-sm">
220
- <input type="checkbox" name="field-data" id="field-data" <?php checked( $data['historic'] ); ?> />
221
- <span aria-hidden="true"></span>
222
- <span><?php esc_html_e( 'Historic Field Data', 'wphb' ); ?></span>
223
- </label>
224
- </div>
225
- </div>
226
- <?php endif; ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
core/Pro/admin/views/dashboard/reports/meta-box.php DELETED
@@ -1,95 +0,0 @@
1
- <?php
2
- /**
3
- * Reports meta box on dashboard page.
4
- *
5
- * @package Hummingbird
6
- *
7
- * @var bool $db_cleanup Status of database cleanup.
8
- * @var string $db_frequency Frequency of database cleanups.
9
- * @var string $frequency Frequency of performance reports.
10
- * @var bool $performance_is_active Status of performance reports.
11
- * @var bool $uptime Status of uptime reports.
12
- * @var string $uptime_frequency Uptime report frequency.
13
- */
14
-
15
- use Hummingbird\Core\Utils;
16
-
17
- if ( ! defined( 'ABSPATH' ) ) {
18
- exit;
19
- }
20
-
21
- ?>
22
-
23
- <p>
24
- <?php esc_html_e( 'Automate your workflow with daily, weekly or monthly reports sent directly to your inbox.', 'wphb' ); ?>
25
- </p>
26
-
27
- <table class="sui-table sui-flushed">
28
- <tbody>
29
- <tr>
30
- <td>
31
- <span class="sui-icon-hummingbird" aria-hidden="true"></span>
32
- <strong><?php esc_html_e( 'Performance Test', 'wphb' ); ?></strong>
33
- </td>
34
- <td width="25%">
35
- <?php if ( ! $performance_is_active ) : ?>
36
- <span class="sui-tag sui-tag-inactive"><?php esc_html_e( 'Inactive', 'wphb' ); ?></span>
37
- <?php else : ?>
38
- <span class="sui-tag sui-tag-success"><?php echo esc_html( $frequency ); ?></span>
39
- <?php endif; ?>
40
- </td>
41
- <td width="25%">
42
- <a href="<?php echo Utils::get_admin_menu_url( 'performance' ) . '&view=reports#wphb-box-reporting-summary'; ?>">
43
- <span class="sui-icon-widget-settings-config" aria-hidden="true"></span>
44
- </a>
45
- </td>
46
- </tr>
47
- <tr>
48
- <td>
49
- <span class="sui-icon-user-reputation-points" aria-hidden="true"></span>
50
- <strong><?php esc_html_e( 'Database Cleanup', 'wphb' ); ?></strong>
51
- </td>
52
- <td>
53
- <?php if ( ! $db_cleanup ) : ?>
54
- <span class="sui-tag sui-tag-inactive"><?php esc_html_e( 'Inactive', 'wphb' ); ?></span>
55
- <?php else : ?>
56
- <span class="sui-tag sui-tag-success"><?php echo esc_html( $db_frequency ); ?></span>
57
- <?php endif; ?>
58
- </td>
59
- <td>
60
- <a href="<?php echo Utils::get_admin_menu_url( 'advanced' ) . '&view=db#wphb-box-advanced-db-settings'; ?>">
61
- <span class="sui-icon-widget-settings-config" aria-hidden="true"></span>
62
- </a>
63
- </td>
64
- </tr>
65
- <tr>
66
- <td>
67
- <span class="sui-icon-uptime" aria-hidden="true"></span>
68
- <strong><?php esc_html_e( 'Uptime', 'wphb' ); ?></strong>
69
- </td>
70
- <td>
71
- <?php if ( ! $uptime ) : ?>
72
- <span class="sui-tag sui-tag-inactive"><?php esc_html_e( 'Inactive', 'wphb' ); ?></span>
73
- <?php else : ?>
74
- <span class="sui-tag sui-tag-success"><?php echo esc_html( $uptime_frequency ); ?></span>
75
- <?php endif; ?>
76
- </td>
77
- <td>
78
- <a href="<?php echo Utils::get_admin_menu_url( 'uptime' ) . '&view=reports'; ?>">
79
- <span class="sui-icon-widget-settings-config" aria-hidden="true"></span>
80
- </a>
81
- </td>
82
- </tr>
83
- </tbody>
84
- </table>
85
-
86
- <span class="status-text">
87
- <?php
88
- printf(
89
- /* translators: %1$s: opening a tag, %2$s: closing a tag */
90
- esc_html__( 'You can also set scheduled pdf reports for your clients via %1$sThe Hub%2$s.', 'wphb' ),
91
- '<a href="https://wpmudev.com/hub2/" target="_blank">',
92
- '</a>'
93
- );
94
- ?>
95
- </span>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
core/Pro/admin/views/uptime/notifications-meta-box.php DELETED
@@ -1,155 +0,0 @@
1
- <?php
2
- /**
3
- * Uptime notifications meta box.
4
- *
5
- * @since 1.9.3
6
- * @package Hummingbird
7
- *
8
- * @var \Hummingbird\Admin\Page $this
9
- *
10
- * @var string $downtime_url URL to downtime page.
11
- * @var string $notice_class Class for the notice.
12
- * @var string $notice_message Message for the notice.
13
- * @var array $reports_settings Settings for Uptime Reports.
14
- */
15
-
16
- if ( ! defined( 'ABSPATH' ) ) {
17
- exit;
18
- }
19
-
20
- $pending = false;
21
-
22
- ?>
23
-
24
- <p>
25
- <?php
26
- esc_html_e(
27
- 'Our advanced uptime API pings this website every 2 minutes to see if everything is OK. This
28
- feature sends an email to nominated recipients whenever your website is very slow, or completely down.',
29
- 'wphb'
30
- );
31
- ?>
32
- </p>
33
-
34
- <?php $this->admin_notices->show_inline( $notice_message, $notice_class ); ?>
35
-
36
- <form method="post" id="wphb-uptime-reporting" class="wphb-report-settings" data-module="uptime" data-name="Uptime Notifications">
37
- <div class="sui-box-settings-row">
38
- <div class="sui-box-settings-col-1">
39
- <span class="sui-settings-label"><?php esc_html_e( 'Configure', 'wphb' ); ?></span>
40
- <span class="sui-description">
41
- <?php esc_html_e( 'Choose who you want to receive uptime email notifications when your website becomes unavailable.', 'wphb' ); ?>
42
- </span>
43
- </div>
44
- <div class="sui-box-settings-col-2">
45
- <div class="sui-form-field">
46
- <label for="chk1" class="sui-toggle">
47
- <input type="hidden" name="scheduled-reports" value="0">
48
- <input type="checkbox" name="scheduled-reports" id="chk1" value="1" aria-labelledby="scheduled-reports-label" <?php checked( $reports_settings['enabled'] ); ?>>
49
- <span class="sui-toggle-slider" aria-hidden="true"></span>
50
- <span id="scheduled-reports-label" class="sui-toggle-label">
51
- <?php esc_html_e( 'Send an email notification when this website goes down', 'wphb' ); ?>
52
- </span>
53
- </label>
54
- </div>
55
- <div class="sui-border-frame sui-toggle-content schedule-box <?php echo $reports_settings['enabled'] ? '' : 'sui-hidden'; ?>">
56
- <div class="sui-recipients">
57
- <label class="sui-label"><?php esc_html_e( 'Recipients', 'wphb' ); ?></label>
58
- <?php if ( count( $reports_settings['recipients'] ) ) : ?>
59
- <?php
60
- $this->admin_notices->show_inline(
61
- esc_html__( "You've removed all recipients. If you save without a recipient, we'll automatically turn off notifications.", 'wphb' ),
62
- 'warning wphb-no-recipients sui-hidden'
63
- );
64
- foreach ( $reports_settings['recipients'] as $key => $value ) :
65
- $input_value = new stdClass();
66
- $input_value->name = $value['name'];
67
- $input_value->email = $value['email'];
68
- $input_value = wp_json_encode( $input_value );
69
-
70
- $tooltip = __( 'Subscribed', 'wphb' );
71
- if ( isset( $value['is_pending'] ) && $value['is_pending'] ) {
72
- $pending = true;
73
- $tooltip = __( 'Awaiting confirmation', 'wphb' );
74
- }
75
- ?>
76
- <div class="sui-recipient">
77
- <span class="sui-recipient-status sui-tooltip" data-tooltip="<?php echo esc_attr( $tooltip ); ?>">
78
- <?php if ( isset( $value['is_pending'] ) && $value['is_pending'] ) : ?>
79
- <span class="sui-icon-clock" aria-hidden="true"></span>
80
- <?php else : ?>
81
- <span class="sui-icon-check-tick" aria-hidden="true"></span>
82
- <?php endif; ?>
83
- </span>
84
- <input data-id="<?php echo esc_attr( $key ); ?>" type="hidden" id="report-recipient" name="report-recipients[]" value="<?php echo esc_attr( $input_value ); ?>">
85
- <span class="sui-recipient-name"><?php echo esc_html( $value['name'] ); ?></span>
86
- <span class="sui-recipient-email"><?php echo esc_html( $value['email'] ); ?></span>
87
- <?php if ( $pending ) : ?>
88
- <button type="button" class="sui-button-icon wphb-resend-recipient sui-tooltip" data-tooltip="<?php esc_attr_e( 'Resend email', 'wphb' ); ?>" data-name="<?php echo esc_attr( $value['name'] ); ?>" data-email="<?php echo esc_attr( $value['email'] ); ?>">
89
- <span class="sui-icon-send" aria-hidden="true"></span>
90
- </button>
91
- <?php endif; ?>
92
- <button type="button" class="sui-button-icon wphb-remove-recipient <?php echo $pending ? '' : 'wphb-not-pending-recipient'; ?>">
93
- <span class="sui-icon-trash" aria-hidden="true"></span>
94
- </button>
95
- </div>
96
- <?php endforeach; ?>
97
- <?php else : ?>
98
- <?php
99
- $this->admin_notices->show_inline(
100
- esc_html__( "You've removed all recipients. If you save without a recipient, we'll automatically turn off notifications.", 'wphb' ),
101
- 'warning wphb-no-recipients sui-hidden'
102
- );
103
- ?>
104
- <?php endif; ?>
105
- </div>
106
- <a class="sui-button sui-button-ghost sui-add-recipient" data-modal-open="wphb-add-recipient-modal" data-modal-open-focus="reporting-first-name" data-modal-mask="true">
107
- <span class="sui-icon-plus" aria-hidden="true"></span>
108
- <?php esc_html_e( 'Add Recipient', 'wphb' ); ?>
109
- </a>
110
-
111
- <?php
112
- $this->admin_notices->show_inline(
113
- esc_html__( 'Recipients must confirm their subscription to begin receiving emails.', 'wphb' ),
114
- 'grey sui-hidden wphb-confirm-sub-notice'
115
- );
116
-
117
- $classes = 'grey wphb-pending-sub-notice';
118
- if ( $pending && count( $reports_settings['recipients'] ) ) {
119
- $classes .= ' sui-hidden';
120
- }
121
- $this->admin_notices->show_inline(
122
- esc_html__( "Some recipients haven't confirmed their subscription to this email report. You can resend the confirmation email or remove them from the list.", 'wphb' ),
123
- $classes
124
- );
125
- ?>
126
- <div class="sui-form-field">
127
- <label for="threshold" class="sui-label"><?php esc_html_e( 'Threshold', 'wphb' ); ?></label>
128
- <select id="threshold" name="threshold" class="sui-select" data-width="250">
129
- <option <?php selected( 0, $reports_settings['threshold'] ); ?> value="0">
130
- <?php esc_html_e( 'Instant', 'wphb' ); ?>
131
- </option>
132
- <option <?php selected( 5, $reports_settings['threshold'] ); ?> value="5">
133
- 5 <?php esc_html_e( 'Minutes', 'wphb' ); ?>
134
- </option>
135
- <option <?php selected( 10, $reports_settings['threshold'] ); ?> value="10">
136
- 10 <?php esc_html_e( 'Minutes', 'wphb' ); ?>
137
- </option>
138
- <option <?php selected( 30, $reports_settings['threshold'] ); ?> value="30">
139
- 30 <?php esc_html_e( 'Minutes', 'wphb' ); ?>
140
- </option>
141
- </select>
142
- </div>
143
- <span class="sui-description">
144
- <?php
145
- printf(
146
- /* translators: %1$s: opening a tag, %2$s: closing a tag */
147
- esc_html__( "We won't notify you if your website becomes available again within the specified timeframe. All downtimes are still recorded in the %1\$sdowntime report%2\$s, you just won't get notified.", 'wphb' ),
148
- '<a href="' . esc_url( $downtime_url ) . '">',
149
- '</a>'
150
- );
151
- ?>
152
- </span>
153
- </div>
154
- </div>
155
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
core/Pro/class-pro-ajax.php DELETED
@@ -1,362 +0,0 @@
1
- <?php
2
- /**
3
- * Class Pro_AJAX is used to parse ajax actions for the PRO version of the plugin.
4
- *
5
- * @since 1.5.0
6
- * @package Hummingbird\Core\Pro
7
- */
8
-
9
- namespace Hummingbird\Core\Pro;
10
-
11
- use Exception;
12
- use Hummingbird\Core\Settings;
13
- use Hummingbird\Core\Utils;
14
-
15
- if ( ! defined( 'ABSPATH' ) ) {
16
- exit;
17
- }
18
-
19
- /**
20
- * Class Pro_AJAX
21
- */
22
- class Pro_AJAX {
23
-
24
- /**
25
- * Pro_AJAX constructor.
26
- */
27
- public function __construct() {
28
- // Schedule advanced tools database cleanup.
29
- add_action( 'wp_ajax_wphb_pro_advanced_db_schedule', array( $this, 'advanced_db_schedule' ) );
30
-
31
- // Add recipient for Performance and Uptime reports.
32
- add_action( 'wp_ajax_wphb_pro_add_recipient', array( $this, 'add_recipient' ) );
33
- // Save Performance and Uptime reports settings.
34
- add_action( 'wp_ajax_wphb_pro_save_report_settings', array( $this, 'save_report_settings' ) );
35
-
36
- // Resend confirmation email.
37
- add_action( 'wp_ajax_wphb_pro_resend_confirmation', array( $this, 'resend_confirmation' ) );
38
- }
39
-
40
- /**
41
- * Check ajax referer and user caps.
42
- *
43
- * @since 1.8
44
- */
45
- private function check_permissions() {
46
- check_ajax_referer( 'wphb-fetch', 'nonce' );
47
-
48
- if ( ! current_user_can( Utils::get_admin_capability() ) ) {
49
- die();
50
- }
51
- }
52
-
53
- /**
54
- * Schedule database cleanup.
55
- *
56
- * @since 1.8
57
- */
58
- public function advanced_db_schedule() {
59
- $this->check_permissions();
60
-
61
- Modules\Cleanup_Cron::reschedule_cron();
62
-
63
- wp_send_json_success();
64
- }
65
-
66
- /**
67
- * Add recipient.
68
- *
69
- * @since 1.9.3 Unified for Performance and Uptime reports.
70
- */
71
- public function add_recipient() {
72
- check_ajax_referer( 'wphb-fetch', 'nonce' );
73
-
74
- if ( ! current_user_can( Utils::get_admin_capability() ) ) {
75
- wp_send_json_error(
76
- array(
77
- 'message' => __( 'Current user cannot modify settings.', 'wphb' ),
78
- )
79
- );
80
- }
81
-
82
- // Validate email.
83
- $email = isset( $_POST['email'] ) ? sanitize_email( wp_unslash( $_POST['email'] ) ) : '';
84
- if ( ! is_email( $email ) ) {
85
- wp_send_json_error(
86
- array(
87
- 'message' => __( 'Please, insert a valid email.', 'wphb' ),
88
- )
89
- );
90
- }
91
-
92
- // Validate module.
93
- $available_modules = array( 'performance', 'uptime' );
94
- if ( ! isset( $_POST['module'] ) || ! in_array( wp_unslash( $_POST['module'] ), $available_modules, true ) ) {
95
- wp_send_json_error(
96
- array(
97
- 'message' => __( 'Module not defined.', 'wphb' ),
98
- )
99
- );
100
- }
101
-
102
- $module = sanitize_text_field( wp_unslash( $_POST['module'] ) );
103
-
104
- // Validate setting.
105
- $available_settings = array( 'reports', 'notifications' );
106
- if ( ! isset( $_POST['setting'] ) || ! in_array( wp_unslash( $_POST['setting'] ), $available_settings, true ) ) {
107
- wp_send_json_error(
108
- array(
109
- 'message' => __( 'Setting not defined.', 'wphb' ),
110
- )
111
- );
112
- }
113
-
114
- $setting = sanitize_text_field( wp_unslash( $_POST['setting'] ) );
115
-
116
- // Validate recipient.
117
- $reports = Settings::get_setting( $setting, $module );
118
- foreach ( $reports['recipients'] as $recipient ) {
119
- if ( $email === $recipient['email'] ) {
120
- wp_send_json_error(
121
- array(
122
- 'message' => __( 'Recipient already exists.', 'wphb' ),
123
- )
124
- );
125
- }
126
- }
127
-
128
- $name = isset( $_POST['name'] ) ? sanitize_text_field( wp_unslash( $_POST['name'] ) ) : '';
129
-
130
- if ( empty( $name ) ) {
131
- wp_send_json_error(
132
- array(
133
- 'message' => __( 'Please, insert a valid name.', 'wphb' ),
134
- )
135
- );
136
- }
137
-
138
- wp_send_json_success(
139
- array(
140
- 'name' => $name,
141
- 'email' => $email,
142
- )
143
- );
144
- }
145
-
146
- /**
147
- * Save Performance and Uptime reports settings.
148
- *
149
- * @since 1.9.3 Unified for Performance and Uptime reports.
150
- */
151
- public function save_report_settings() {
152
- check_ajax_referer( 'wphb-fetch', 'nonce' );
153
-
154
- if ( ! current_user_can( Utils::get_admin_capability() ) ) {
155
- wp_send_json_error(
156
- array(
157
- 'message' => __( 'Current user cannot modify settings.', 'wphb' ),
158
- )
159
- );
160
- }
161
-
162
- if ( ! isset( $_POST['data'] ) ) {
163
- wp_send_json_error(
164
- array(
165
- 'message' => __( 'Error parsing report data.', 'wphb' ),
166
- )
167
- );
168
- }
169
-
170
- // Validate module.
171
- $available_modules = array( 'performance', 'uptime' );
172
- if ( ! isset( $_POST['module'] ) || ! in_array( wp_unslash( $_POST['module'] ), $available_modules, true ) ) {
173
- wp_send_json_error(
174
- array(
175
- 'message' => __( 'Module not defined.', 'wphb' ),
176
- )
177
- );
178
- }
179
-
180
- $module = sanitize_text_field( wp_unslash( $_POST['module'] ) );
181
-
182
- // Get the data from ajax.
183
- parse_str( wp_unslash( $_POST['data'] ), $data );
184
-
185
- $reports = Utils::get_module( $module );
186
- $options = $reports->get_options();
187
-
188
- $type = isset( $data['threshold'] ) ? 'notifications' : 'reports';
189
-
190
- $options[ $type ]['enabled'] = (bool) $data['scheduled-reports'];
191
-
192
- if ( 'reports' === $type ) {
193
- $options[ $type ]['frequency'] = (int) $data['report-frequency'];
194
- if ( 30 === (int) $data['report-frequency'] ) {
195
- $options[ $type ]['day'] = sanitize_text_field( $data['report-day-month'] );
196
- } else {
197
- $options[ $type ]['day'] = sanitize_text_field( $data['report-day'] );
198
- }
199
- $options[ $type ]['time'] = sanitize_text_field( $data['report-time'] );
200
-
201
- // Randomize the minutes, so we don't spam the API.
202
- $email_time = explode( ':', $options[ $type ]['time'] );
203
- $email_time[1] = sprintf( '%02d', wp_rand( 0, 59 ) );
204
- $options[ $type ]['time'] = implode( ':', $email_time );
205
-
206
- // Update data for performance reports.
207
- if ( 'performance' === $module ) {
208
- $options['reports']['type'] = isset( $data['report-type'] ) ? sanitize_key( $data['report-type'] ) : 'desktop';
209
- $options['reports']['metrics'] = isset( $data['metrics'] ) ? (bool) $data['metrics'] : false;
210
- $options['reports']['audits'] = isset( $data['audits'] ) ? (bool) $data['audits'] : false;
211
- $options['reports']['historic'] = isset( $data['field-data'] ) ? (bool) $data['field-data'] : false;
212
- }
213
-
214
- // Clear last sent time.
215
- if ( isset( $options[ $type ]['last_sent'] ) ) {
216
- $options[ $type ]['last_sent'] = '';
217
- }
218
- } else {
219
- $options[ $type ]['threshold'] = (int) $data['threshold'];
220
- }
221
-
222
- if ( ! isset( $options[ $type ]['recipients'] ) ) {
223
- $options[ $type ]['recipients'] = array();
224
- }
225
-
226
- $recipients_updated = false;
227
- if ( isset( $data['report-recipients'] ) ) {
228
- $new_recipients = array();
229
- foreach ( $data['report-recipients'] as $recipient ) {
230
- $recipient = json_decode( $recipient );
231
-
232
- if ( ! $recipient ) {
233
- continue;
234
- }
235
-
236
- // Check if the recipient already exists.
237
- $emails = array_column( $options[ $type ]['recipients'], 'email' );
238
- if ( isset( $recipient->email ) && in_array( $recipient->email, $emails, true ) ) {
239
- $new_recipients[] = (array) $recipient;
240
- continue;
241
- }
242
-
243
- $recipients_updated = true;
244
- $new_recipients[] = (array) $recipient;
245
- }
246
- $options[ $type ]['recipients'] = $new_recipients;
247
- unset( $new_recipients );
248
- } else {
249
- $options[ $type ]['enabled'] = false;
250
- $options[ $type ]['recipients'] = array();
251
- $options[ $type ]['recipients'][] = Utils::get_user_for_report();
252
- }
253
-
254
- if ( 'notifications' === $type && 'uptime' === $module ) {
255
- try {
256
- $response = Utils::get_api()->uptime->update_recipients( $options[ $type ]['recipients'] );
257
- } catch ( Exception $e ) {
258
- wp_send_json_error(
259
- array(
260
- 'message' => $e->getMessage(),
261
- )
262
- );
263
- }
264
-
265
- if ( isset( $response ) && is_array( $response ) && ! is_wp_error( $response ) ) {
266
- $options[ $type ]['recipients'] = json_decode( wp_json_encode( $response ), true ); // Convert to array.
267
- }
268
- }
269
-
270
- $reports->update_options( $options );
271
-
272
- // We need to do this at the end, because the settings need to be saved first.
273
- if ( 'reports' === $type && true === (bool) $options['reports']['enabled'] ) {
274
- // Reschedule. No need to clear again, as we've just cleared on top.
275
- $next_scan_time = Modules\Reports::get_scheduled_time( $module, true );
276
- wp_schedule_single_event( $next_scan_time, "wphb_{$module}_report" );
277
- }
278
-
279
- $notice = '';
280
- if ( isset( $data['report-recipients'] ) && (bool) $data['scheduled-reports'] && ! $recipients_updated ) {
281
- if ( isset( $data['threshold'] ) ) {
282
- if ( '0' === $data['threshold'] ) {
283
- $notice = __( 'Your changes have been saved successfully. You will get an instant email notification if your website is down.', 'wphb' );
284
- } else {
285
- $notice = sprintf(
286
- /* translators: %d number of minutes */
287
- esc_html__( 'Your changes have been saved successfully. You will get an email notification if your website has been down for more than %d minutes.', 'wphb' ),
288
- absint( $data['threshold'] )
289
- );
290
- }
291
-
292
- // To avoid a warning later on.
293
- $data['report-frequency'] = '';
294
- $data['report-day'] = '';
295
- } elseif ( isset( $data['report-frequency'] ) ) {
296
- $notice = esc_html__( 'Your changes have been saved.', 'wphb' );
297
- }
298
- } else {
299
- // Send a default notice for Uptime and Performance module.
300
- $notice = esc_html__( 'Your changes have been saved.', 'wphb' );
301
- }
302
-
303
- $is_pending_list = array();
304
-
305
- $is_pending = false;
306
- // Only for Uptime notifications.
307
- if ( 'notifications' === $type && 'uptime' === $module && is_array( $options[ $type ]['recipients'] ) ) {
308
- $is_pending_list = wp_list_pluck( $options[ $type ]['recipients'], 'is_pending' );
309
- $is_pending = in_array( true, $is_pending_list, true );
310
- }
311
-
312
- // Get the recipient count based on pending recipients.
313
- $recipient_count = count( $is_pending_list ) - count( array_filter( $is_pending_list ) );
314
-
315
- if ( 'notifications' === $type && 'uptime' === $module ) {
316
- $recipient_notice = Admin\Pro_Admin::get_notification_message();
317
- $recipient_notice = ! empty( $recipient_notice['message'] ) ? $recipient_notice['message'] : '';
318
- } else {
319
- $recipient_notice = Admin\Pro_Admin::get_reporting_message( ucfirst( $module ), $data['report-frequency'], $data['report-day'], $recipient_count, $options[ $type ]['enabled'] );
320
- }
321
-
322
- wp_send_json_success(
323
- array(
324
- 'success' => true,
325
- 'moduleStatus' => $options[ $type ]['enabled'],
326
- 'enabled' => (bool) $data['scheduled-reports'] && $recipients_updated && 'notifications' === $type,
327
- 'notice' => $notice,
328
- 'recipientPending' => $is_pending,
329
- 'recipientNotice' => $recipient_notice,
330
- )
331
- );
332
- }
333
-
334
- /**
335
- * Resend email confirmation for Uptime notifications.
336
- *
337
- * @since 2.3.0
338
- */
339
- public function resend_confirmation() {
340
- check_ajax_referer( 'wphb-fetch', 'nonce' );
341
-
342
- $name = filter_input( INPUT_POST, 'name', FILTER_SANITIZE_STRING );
343
- $email = filter_input( INPUT_POST, 'email', FILTER_SANITIZE_EMAIL );
344
-
345
- if ( ! $email ) {
346
- wp_send_json_error();
347
- }
348
-
349
- Utils::get_api()->uptime->resend_confirmation( $email );
350
-
351
- wp_send_json_success(
352
- array(
353
- 'message' => sprintf(
354
- /* translators: %s - recipient name */
355
- esc_html__( 'The email is sent to %s for subscription confirmation.', 'wphb' ),
356
- $name
357
- ),
358
- )
359
- );
360
- }
361
-
362
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
core/Pro/class-pro.php DELETED
@@ -1,142 +0,0 @@
1
- <?php
2
- /**
3
- * Class Pro manages the premium side of Hummingbird
4
- *
5
- * @since 1.5.0
6
- * @package Hummingbird\Core\Pro
7
- */
8
-
9
- namespace Hummingbird\Core\Pro;
10
-
11
- use Hummingbird\Core\Module;
12
-
13
- if ( ! defined( 'ABSPATH' ) ) {
14
- exit;
15
- }
16
-
17
- /**
18
- * Class Pro
19
- */
20
- class Pro {
21
-
22
- /**
23
- * Class instance
24
- *
25
- * @var null
26
- */
27
- private static $instance = null;
28
-
29
- /**
30
- * Saves the modules object instances
31
- *
32
- * @var array
33
- * @since 1.5.0
34
- */
35
- public $modules = array();
36
-
37
- /**
38
- * Admin instance
39
- *
40
- * @var null|Admin\Pro_Admin
41
- */
42
- public $admin;
43
-
44
- /**
45
- * Return the plugin instance
46
- *
47
- * @return Pro
48
- */
49
- public static function get_instance() {
50
- if ( ! self::$instance ) {
51
- self::$instance = new self();
52
- }
53
-
54
- return self::$instance;
55
- }
56
-
57
- /**
58
- * Initialize the class
59
- *
60
- * @since 1.5.0
61
- */
62
- public function init() {
63
- // Load dashboard notice.
64
- global $wpmudev_notices;
65
- $wpmudev_notices[] = array(
66
- 'id' => 1081721,
67
- 'name' => 'Hummingbird',
68
- 'screens' => \Hummingbird\Admin\Admin::$admin_pages,
69
- );
70
-
71
- if ( ! function_exists( 'is_plugin_active' ) || ! function_exists( 'is_plugin_active_for_network' ) ) {
72
- include_once ABSPATH . 'wp-includes/plugin.php';
73
- }
74
-
75
- /* @noinspection PhpIncludeInspection */
76
- include_once WPHB_DIR_PATH . 'core/externals/dash-notice/wpmudev-dash-notification.php';
77
-
78
- $this->admin = new Admin\Pro_Admin();
79
- $this->admin->init();
80
- $this->load_modules();
81
- }
82
-
83
- /**
84
- * Load AJAX functionality
85
- *
86
- * @since 1.5.0
87
- */
88
- public function load_ajax() {
89
- if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
90
- new Pro_AJAX();
91
- }
92
- }
93
-
94
- /**
95
- * Load WP Hummingbird Pro modules
96
- *
97
- * @since 1.5.0
98
- */
99
- private function load_modules() {
100
- $modules = apply_filters(
101
- 'wp_hummingbird_modules',
102
- array(
103
- 'reporting-cron',
104
- 'cleanup-cron',
105
- 'uptime-reports',
106
- )
107
- );
108
-
109
- array_walk( $modules, array( $this, 'load_module' ), true );
110
- }
111
-
112
- /**
113
- * Load a single module
114
- *
115
- * @param string $module Module slug.
116
- *
117
- * @since 1.5.0
118
- */
119
- public function load_module( $module ) {
120
- $parts = explode( '-', $module );
121
- $parts = array_map( 'ucfirst', $parts );
122
- $class = implode( '_', $parts );
123
-
124
- $class_name = 'Hummingbird\\Core\\Pro\\Modules\\' . $class;
125
-
126
- /**
127
- * Module.
128
- *
129
- * @var Module $module_obj
130
- */
131
- $module_obj = new $class_name( $module );
132
-
133
- if ( $module_obj instanceof $class_name ) {
134
- if ( $module_obj->is_active() ) {
135
- $module_obj->run();
136
- }
137
-
138
- $this->modules[ $module ] = $module_obj;
139
- }
140
- }
141
-
142
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
core/Pro/modules/class-cleanup-cron.php DELETED
@@ -1,141 +0,0 @@
1
- <?php
2
- /**
3
- * Class Cleanup_Cron
4
- *
5
- * Only for premium members.
6
- *
7
- * @since 1.8
8
- * @package Hummingbird\Core\Pro\Modules
9
- */
10
-
11
- namespace Hummingbird\Core\Pro\Modules;
12
-
13
- use Hummingbird\Core\Module;
14
- use Hummingbird\Core\Utils;
15
-
16
- if ( ! defined( 'ABSPATH' ) ) {
17
- exit;
18
- }
19
-
20
- /**
21
- * Class Cleanup_Cron extends Module
22
- */
23
- class Cleanup_Cron extends Module {
24
-
25
- /**
26
- * Initialize the module.
27
- */
28
- public function init() {
29
- // Process cron cleanup.
30
- add_action( 'wphb_database_cleanup', array( $this, 'database_cleanup' ) );
31
-
32
- // Default settings.
33
- add_filter( 'wp_hummingbird_default_options', array( $this, 'add_default_options' ) );
34
-
35
- add_action( 'wphb_activate', array( $this, 'on_activate' ) );
36
- }
37
-
38
- /**
39
- * Execute the module actions.
40
- */
41
- public function run() {}
42
-
43
- /**
44
- * Implement abstract parent method for clearing cache.
45
- */
46
- public function clear_cache() {}
47
-
48
- /**
49
- * Triggered during plugin activation.
50
- */
51
- public function on_activate() {
52
- if ( ! Utils::is_member() ) {
53
- return;
54
- }
55
-
56
- // Try to schedule next scan.
57
- self::reschedule_cron();
58
- }
59
-
60
- /**
61
- * Reschedule next cron job.
62
- */
63
- public static function reschedule_cron() {
64
- // Clean all cron.
65
- wp_clear_scheduled_hook( 'wphb_database_cleanup' );
66
-
67
- $adv_module = Utils::get_module( 'advanced' );
68
- $options = $adv_module->get_options();
69
-
70
- if ( true === (bool) $options['db_cleanups'] ) {
71
- wp_schedule_single_event( self::get_scheduled_scan_time(), 'wphb_database_cleanup' );
72
- }
73
- }
74
-
75
- /**
76
- * Add a set of default options to Hummingbird settings.
77
- *
78
- * @param array $options List of default Hummingbird settings.
79
- *
80
- * @return array
81
- */
82
- public function add_default_options( $options ) {
83
- $options['advanced']['db_frequency'] = 7;
84
- $options['advanced']['db_tables'] = array(
85
- 'revisions' => true,
86
- 'drafts' => true,
87
- 'trash' => true,
88
- 'spam' => true,
89
- 'trash_comment' => true,
90
- 'expired_transients' => true,
91
- );
92
-
93
- return $options;
94
- }
95
-
96
- /**
97
- * Return number of seconds until next cleanup.
98
- *
99
- * @return int
100
- */
101
- public static function get_scheduled_scan_time() {
102
- $adv_module = Utils::get_module( 'advanced' );
103
- $options = $adv_module->get_options();
104
-
105
- $seconds = DAY_IN_SECONDS * (int) $options['db_frequency'];
106
-
107
- return time() + $seconds;
108
- }
109
-
110
- /**
111
- * Process cron task to clean the database.
112
- */
113
- public function database_cleanup() {
114
- if ( ! Utils::is_member() ) {
115
- // Clean all cron.
116
- wp_clear_scheduled_hook( 'wphb_database_cleanup' );
117
- return;
118
- }
119
-
120
- $adv_module = Utils::get_module( 'advanced' );
121
- $options = $adv_module->get_options();
122
-
123
- if ( ! isset( $options['db_tables'] ) ) {
124
- // Try to schedule next scan.
125
- self::reschedule_cron();
126
- return;
127
- }
128
-
129
- foreach ( $options['db_tables'] as $type => $value ) {
130
- if ( false === (bool) $value ) {
131
- continue;
132
- }
133
-
134
- $adv_module->delete_db_data( $type );
135
- }
136
-
137
- // Try to schedule next scan.
138
- self::reschedule_cron();
139
- }
140
-
141
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
core/Pro/modules/class-reporting-cron.php DELETED
@@ -1,184 +0,0 @@
1
- <?php
2
- /**
3
- * Class Reporting_Cron is used for cron functionality.
4
- * Only for premium members.
5
- *
6
- * @since 1.5.0
7
- * @package Hummingbird\Core\Pro\Modules
8
- */
9
-
10
- namespace Hummingbird\Core\Pro\Modules;
11
-
12
- use Hummingbird\Core\Modules\Performance;
13
- use Hummingbird\Core\Settings;
14
- use Hummingbird\Core\Utils;
15
-
16
- if ( ! defined( 'ABSPATH' ) ) {
17
- exit;
18
- }
19
-
20
- /**
21
- * Class Reporting_Cron extends Reports
22
- */
23
- class Reporting_Cron extends Reports {
24
-
25
- /**
26
- * Module slug.
27
- *
28
- * @since 1.9.4
29
- *
30
- * @var string $module
31
- */
32
- protected static $module = 'performance';
33
-
34
- /**
35
- * Initialize the module
36
- *
37
- * @since 1.5.0
38
- */
39
- public function init() {
40
- parent::init();
41
- add_action( 'wphb_init_performance_scan', array( $this, 'on_init_performance_scan' ) );
42
- }
43
-
44
- /**
45
- * Triggered when a performance scan is initialized
46
- */
47
- public function on_init_performance_scan() {
48
- if ( ! Utils::is_member() ) {
49
- return;
50
- }
51
-
52
- $reports = Settings::get_setting( 'reports', 'performance' );
53
- // Do not continue if reports are not enabled.
54
- if ( ! $reports['enabled'] ) {
55
- return;
56
- }
57
-
58
- // Schedule first scan.
59
- if ( ! wp_next_scheduled( 'wphb_performance_report' ) ) {
60
- wp_schedule_single_event( parent::get_scheduled_time( self::$module ), 'wphb_performance_report' );
61
- }
62
- }
63
-
64
- /**
65
- * Ajax action for processing a scan on page.
66
- *
67
- * @since 1.4.5
68
- */
69
- public function process_report() {
70
- // Clean all cron.
71
- wp_clear_scheduled_hook( 'wphb_performance_report' );
72
-
73
- if ( ! Utils::is_member() ) {
74
- return;
75
- }
76
-
77
- $options = Settings::get_settings( 'performance' );
78
-
79
- // Don't do any reports if they are not set in the options.
80
- if ( ! $options['reports']['enabled'] ) {
81
- return;
82
- }
83
-
84
- $limit = absint( get_site_transient( 'wphb_cron_limit' ) );
85
-
86
- // Refresh the report and get the data.
87
- Performance::refresh_report();
88
- $last_report = Performance::get_last_report();
89
-
90
- // Time since last report.
91
- $time_difference = 999999;
92
- if ( isset( $last_report->data ) && ! is_wp_error( $last_report ) ) {
93
- $time_difference = time() - (int) $last_report->data->time;
94
- }
95
-
96
- // If no report is present or report is outdated, get new data.
97
- if ( ( ! $last_report || $time_difference > 300 ) && $limit < 3 ) {
98
- // First run. Init new report scan.
99
- if ( 0 === $limit ) {
100
- Utils::get_module( 'performance' )->init_scan();
101
- }
102
-
103
- // Update cron limit.
104
- set_site_transient( 'wphb_cron_limit', ++$limit, 3600 );
105
- // Reschedule in 1 minute to collect results.
106
- wp_schedule_single_event( strtotime( '+1 minutes' ), 'wphb_performance_report' );
107
- } else {
108
- // Failed to fetch results in 3 attempts or less, cancel the cron.
109
- if ( 3 === $limit ) {
110
- delete_site_transient( 'wphb_cron_limit' );
111
- }
112
-
113
- // Check to see it the email has been sent already.
114
- $last_sent_report = isset( $options['reports']['last_sent'] ) ? (int) $options['reports']['last_sent'] : 0;
115
- $to_utc = (int) parent::get_scheduled_time( self::$module, false );
116
-
117
- // Schedule next test.
118
- if ( $time_difference < 300 && isset( $last_report ) && ( $to_utc - time() - $last_sent_report ) > 0 ) {
119
- // Get the recipient list.
120
- $recipients = $options['reports']['recipients'];
121
- // Send the report.
122
- $this->send_email_report( $last_report->data, $recipients );
123
- // Store the last send time.
124
- $options['reports']['last_sent'] = time();
125
- Settings::update_settings( $options, 'performance' );
126
- delete_site_transient( 'wphb_cron_limit' );
127
- }
128
-
129
- // Reschedule.
130
- $next_scan_time = parent::get_scheduled_time( self::$module );
131
- wp_schedule_single_event( $next_scan_time, 'wphb_performance_report' );
132
- }
133
- }
134
-
135
- /**
136
- * Send out an email report.
137
- *
138
- * @since 1.4.5
139
- *
140
- * @param mixed $last_report Last report data.
141
- * @param array $recipients List of recipients.
142
- */
143
- public function send_email_report( $last_report, $recipients = array() ) {
144
- if ( Performance::is_doing_report() ) {
145
- return;
146
- }
147
-
148
- if ( empty( $recipients ) ) {
149
- return;
150
- }
151
-
152
- $options = Settings::get_setting( 'reports', 'performance' );
153
-
154
- foreach ( $recipients as $recipient ) {
155
- // Prepare the parameters.
156
- $email = $recipient['email'];
157
- /* translators: %s: Url for site */
158
- $subject = sprintf( __( "Here's your latest performance test results for %s", 'wphb' ), network_site_url() );
159
- $params = array(
160
- 'REPORT_TYPE' => 'performance',
161
- 'USER_NAME' => $recipient['name'],
162
- 'SCAN_PAGE_LINK' => network_admin_url( 'admin.php?page=wphb-performance' ),
163
- 'SITE_MANAGE_URL' => network_site_url( 'wp-admin/admin.php?page=wphb' ),
164
- 'SITE_URL' => wp_parse_url( network_site_url(), PHP_URL_HOST ),
165
- 'SITE_NAME' => get_bloginfo( 'name' ),
166
- 'DEVICE' => $options['type'], // Can be: desktop, mobile, both.
167
- 'SHOW_METRICS' => $options['metrics'],
168
- 'SHOW_AUDITS' => $options['audits'],
169
- 'SHOW_HISTORIC' => $options['historic'],
170
- );
171
- $email_content = parent::issues_list_html( $last_report, $params );
172
- // Change nl to br.
173
- $email_content = stripslashes( $email_content );
174
- $no_reply_email = 'noreply@' . wp_parse_url( get_site_url(), PHP_URL_HOST );
175
- $headers = array(
176
- 'From: Hummingbird <' . $no_reply_email . '>',
177
- 'Content-Type: text/html; charset=UTF-8',
178
- );
179
-
180
- wp_mail( $email, $subject, $email_content, $headers );
181
- }
182
- }
183
-
184
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
core/Pro/modules/class-reports.php DELETED
@@ -1,296 +0,0 @@
1
- <?php
2
- /**
3
- * Abstract module for reports modules.
4
- *
5
- * Supports Performance reports and Uptime reports.
6
- * Also used for sending out email reports after performance scans
7
- *
8
- * @since 1.9.4
9
- * @package Hummingbird\Core\Pro\Modules
10
- */
11
-
12
- namespace Hummingbird\Core\Pro\Modules;
13
-
14
- use Hummingbird\Core\Module;
15
- use Hummingbird\Core\Settings;
16
- use Hummingbird\Core\Utils;
17
-
18
- if ( ! defined( 'ABSPATH' ) ) {
19
- exit;
20
- }
21
-
22
- /**
23
- * Class Reports
24
- */
25
- abstract class Reports extends Module {
26
-
27
- /**
28
- * Module slug. It's used in the database calls. Accepted values: performance, uptime.
29
- *
30
- * @var string $module
31
- */
32
- protected static $module;
33
-
34
- /**
35
- * Initialize the module
36
- *
37
- * @since 1.9.4
38
- */
39
- public function init() {
40
- add_action( 'wphb_activate', array( $this, 'on_activate' ) );
41
-
42
- // Default settings.
43
- add_filter( 'wp_hummingbird_default_options', array( $this, 'add_default_options' ) );
44
-
45
- // Process report cron task.
46
- add_action( 'wphb_' . $this::$module . '_report', array( $this, 'process_report' ) );
47
-
48
- add_action( 'wphb_load_admin_page_wphb-performance', array( $this, 'add_default_recipient' ) );
49
- }
50
-
51
- /**
52
- * Execute the module actions.
53
- */
54
- public function run() {}
55
-
56
- /**
57
- * Implement abstract parent method for clearing cache.
58
- */
59
- public function clear_cache() {}
60
-
61
- /**
62
- * Function to process cron report task.
63
- */
64
- abstract protected function process_report();
65
-
66
- /**
67
- * Send email report.
68
- *
69
- * @since 1.4.5
70
- *
71
- * @param mixed $last_report Last report data.
72
- * @param array $recipients List of recipients.
73
- */
74
- abstract protected function send_email_report( $last_report, $recipients = array() );
75
-
76
- /**
77
- * Add a set of default options to Hummingbird settings.
78
- *
79
- * @since 1.9.3
80
- * @since 1.9.4 Moved to abstract class
81
- *
82
- * @param array $options List of default Hummingbird settings.
83
- *
84
- * @return array
85
- */
86
- public function add_default_options( $options ) {
87
- $modules = array( 'performance', 'uptime' );
88
-
89
- $week_days = array(
90
- 'Monday',
91
- 'Tuesday',
92
- 'Wednesday',
93
- 'Thursday',
94
- 'Friday',
95
- 'Saturday',
96
- 'Sunday',
97
- );
98
-
99
- foreach ( $modules as $module ) {
100
- $options[ $module ]['reports']['frequency'] = 7;
101
- $options[ $module ]['reports']['day'] = $week_days[ array_rand( $week_days, 1 ) ];
102
- $options[ $module ]['reports']['time'] = wp_rand( 0, 23 ) . ':00';
103
- $options[ $module ]['reports']['recipients'] = array();
104
- }
105
-
106
- $options['performance']['reports']['type'] = 'desktop'; // desktop, mobile or both.
107
- $options['performance']['reports']['metrics'] = true;
108
- $options['performance']['reports']['audits'] = true;
109
- $options['performance']['reports']['historic'] = true;
110
-
111
- return $options;
112
- }
113
-
114
- /**
115
- * Enable cron task. Triggered during plugin activation.
116
- *
117
- * @since 1.9.4
118
- */
119
- public function on_activate() {
120
- if ( ! Utils::is_member() ) {
121
- return;
122
- }
123
-
124
- $module = Utils::get_module( $this::$module );
125
- if ( ! $module ) {
126
- return;
127
- }
128
-
129
- $options = $module->get_options();
130
-
131
- // Try to schedule next scan.
132
- if ( $options['reports']['enabled'] ) {
133
- wp_schedule_single_event( self::get_scheduled_time( $this::$module ), 'wphb_' . $this::$module . '_report' );
134
- }
135
- }
136
-
137
- /**
138
- * Get the schedule time for a scan.
139
- *
140
- * @since 1.4.5
141
- *
142
- * @param string $module Module slug.
143
- * @param bool $clear_cron Force to clear scanning cron.
144
- *
145
- * @return false|int
146
- */
147
- public static function get_scheduled_time( $module, $clear_cron = true ) {
148
- if ( $clear_cron ) {
149
- wp_clear_scheduled_hook( "wphb_{$module}_report" );
150
- }
151
-
152
- $options = Settings::get_setting( 'reports', $module );
153
-
154
- switch ( $options['frequency'] ) {
155
- case '1':
156
- // Check if the time is over or not, then send the date.
157
- $time_string = date( 'Y-m-d' ) . ' ' . $options['time'] . ':00';
158
- $next_time_string = date( 'Y-m-d', strtotime( 'tomorrow' ) ) . ' ' . $options['time'] . ':00';
159
- break;
160
- case '7':
161
- default:
162
- $time_string = date( 'Y-m-d', strtotime( $options['day'] . ' this week' ) ) . ' ' . $options['time'] . ':00';
163
- $next_time_string = date( 'Y-m-d', strtotime( $options['day'] . ' next week' ) ) . ' ' . $options['time'] . ':00';
164
- break;
165
- case '30':
166
- $time_string = date( 'Y-m-d', strtotime( date( 'Y-m-d', strtotime( 'first day of this month' ) ) . ' +' . ( $options['day'] - 1 ) . ' days ' ) ) . ' ' . $options['time'] . ':00';
167
- $next_time_string = date( 'Y-m-d', strtotime( date( 'Y-m-d', strtotime( 'first day of next month' ) ) . ' +' . ( $options['day'] - 1 ) . ' days ' ) ) . ' ' . $options['time'] . ':00';
168
- break;
169
- }
170
-
171
- $to_utc = self::local_to_utc( $time_string );
172
- if ( $to_utc < time() ) {
173
- return self::local_to_utc( $next_time_string );
174
- }
175
-
176
- return $to_utc;
177
- }
178
-
179
- /**
180
- * Local time to UTC.
181
- *
182
- * @since 1.4.5
183
- *
184
- * @param string $time Time string.
185
- *
186
- * @return false|int
187
- */
188
- public static function local_to_utc( $time ) {
189
- $tz = get_option( 'timezone_string' );
190
- if ( ! $tz ) {
191
- $gmt_offset = get_option( 'gmt_offset' );
192
- if ( 0 === $gmt_offset ) {
193
- return strtotime( $time );
194
- }
195
- $tz = self::get_timezone_string( $gmt_offset );
196
- }
197
-
198
- if ( ! $tz ) {
199
- $tz = 'UTC';
200
- }
201
- $timezone = new \DateTimeZone( $tz );
202
- try {
203
- $time = new \DateTime( $time, $timezone );
204
- } catch ( \Exception $e ) {
205
- error_log( '[' . current_time( 'mysql' ) . '] - Error in local_to_utc(). Error: ' . $e->getMessage() );
206
- }
207
-
208
- return $time->getTimestamp();
209
- }
210
-
211
- /**
212
- * Get time zone string.
213
- *
214
- * @since 1.4.5
215
- *
216
- * @param string $timezone Time zone.
217
- *
218
- * @return false|string
219
- */
220
- private static function get_timezone_string( $timezone ) {
221
- $timezone = explode( '.', $timezone );
222
- if ( isset( $timezone[1] ) ) {
223
- $timezone[1] = 30;
224
- } else {
225
- $timezone[1] = '00';
226
- }
227
- $offset = implode( ':', $timezone );
228
- list( $hours, $minutes ) = explode( ':', $offset );
229
- $seconds = $hours * 60 * 60 + $minutes * 60;
230
- $tz = timezone_name_from_abbr( '', $seconds, 1 );
231
- if ( false === $tz ) {
232
- $tz = timezone_name_from_abbr( '', $seconds, 0 );
233
- }
234
-
235
- return $tz;
236
- }
237
-
238
- /**
239
- * Build issues html table.
240
- *
241
- * @access private
242
- * @param mixed $last_test Latest test data.
243
- * @param array $params Additional data for report.
244
- * @return string HTML for email.
245
- * @since 1.4.5
246
- */
247
- protected static function issues_list_html( $last_test, $params ) {
248
- ob_start();
249
- self::load_template( 'index', compact( 'last_test', 'params' ) );
250
- return ob_get_clean();
251
- }
252
-
253
- /**
254
- * Try to load a single reporting template.
255
- *
256
- * @param string $template Template name. It should match the filename without extension.
257
- * @param array $args Variables to pass to the templates.
258
- */
259
- public static function load_template( $template, $args = array() ) {
260
- $dirs = apply_filters(
261
- 'wphb_reporting_templates_folders',
262
- array(
263
- 'stylesheet' => get_stylesheet_directory() . '/wphb/',
264
- 'template' => get_template_directory() . '/wphb/',
265
- 'plugin' => WPHB_DIR_PATH . 'core/pro/modules/reporting/templates/',
266
- )
267
- );
268
-
269
- foreach ( (array) $dirs as $dir ) {
270
- $file = trailingslashit( $dir ) . "$template.php";
271
- if ( is_readable( $file ) ) {
272
- extract( $args );
273
- /* @noinspection PhpIncludeInspection */
274
- include $file;
275
- break;
276
- }
277
- }
278
- }
279
-
280
- /**
281
- * Add default recipient for performance reports.
282
- *
283
- * @since 2.7.1
284
- */
285
- public function add_default_recipient() {
286
- $options = Utils::get_module( 'performance' )->get_options();
287
-
288
- // Add recipient for notifications if none exist.
289
- if ( ! isset( $options['reports']['recipients'] ) || empty( $options['reports']['recipients'] ) ) {
290
- $options['reports']['recipients'][] = Utils::get_user_for_report();
291
- Utils::get_module( 'performance' )->update_options( $options );
292
- }
293
- }
294
-
295
-
296
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
core/Pro/modules/class-uptime-reports.php DELETED
@@ -1,161 +0,0 @@
1
- <?php
2
- /**
3
- * Uptime reports and notifications module: Uptime_Reports class
4
- *
5
- * Only for premium users.
6
- *
7
- * @since 1.9.3
8
- * @package Hummingbird\Core\Pro\Modules
9
- */
10
-
11
- namespace Hummingbird\Core\Pro\Modules;
12
-
13
- use Hummingbird\Core\Settings;
14
- use Hummingbird\Core\Utils;
15
-
16
- if ( ! defined( 'ABSPATH' ) ) {
17
- exit;
18
- }
19
-
20
- /**
21
- * Class Uptime_Reports extends Reports
22
- */
23
- class Uptime_Reports extends Reports {
24
-
25
- /**
26
- * Module slug.
27
- *
28
- * @since 1.9.4
29
- *
30
- * @var string $module
31
- */
32
- protected static $module = 'uptime';
33
-
34
- /**
35
- * Initialize the module
36
- *
37
- * @since 1.9.3
38
- */
39
- public function init() {
40
- parent::init();
41
-
42
- // Default settings for Uptime notifications.
43
- add_filter( 'wp_hummingbird_default_options', array( $this, 'add_default_options' ) );
44
- }
45
-
46
- /**
47
- * Add a set of default options to Hummingbird settings.
48
- *
49
- * @since 1.9.3
50
- *
51
- * @param array $options List of default Hummingbird settings.
52
- *
53
- * @return array
54
- */
55
- public function add_default_options( $options ) {
56
- $options['uptime']['notifications']['enabled'] = true;
57
- $options['uptime']['notifications']['threshold'] = 0;
58
- $options['uptime']['notifications']['recipients'] = array();
59
-
60
- return $options;
61
- }
62
-
63
- /**
64
- * Ajax action for processing uptime reports.
65
- *
66
- * @since 1.9.4
67
- */
68
- public function process_report() {
69
- // Clean all cron.
70
- wp_clear_scheduled_hook( 'wphb_uptime_report' );
71
-
72
- if ( ! Utils::is_member() ) {
73
- return;
74
- }
75
-
76
- $options = Settings::get_setting( 'reports', 'uptime' );
77
-
78
- // Don't do any reports if they are not set in the options.
79
- if ( ! $options['enabled'] ) {
80
- return;
81
- }
82
-
83
- switch ( $options['frequency'] ) {
84
- case 1:
85
- $period = 'day';
86
- break;
87
- case 7:
88
- default:
89
- $period = 'week';
90
- break;
91
- case 30:
92
- $period = 'month';
93
- break;
94
- }
95
-
96
- // Refresh the report and get the data.
97
- $last_report = Utils::get_module( 'uptime' )->get_last_report( $period, true );
98
-
99
- // Check to see it the email has been sent already.
100
- $last_sent_report = isset( $options['last_sent'] ) ? (int) $options['last_sent'] : 0;
101
- $next_send_time = (int) parent::get_scheduled_time( self::$module, false );
102
-
103
- // Schedule next test.
104
- if ( isset( $last_report ) && ! is_wp_error( $last_report ) && ( $next_send_time - time() - $last_sent_report ) > 0 ) {
105
- // Get the recipient list.
106
- $recipients = $options['recipients'];
107
-
108
- // Send the report.
109
- $this->send_email_report( $last_report, $recipients );
110
-
111
- // Store the last send time.
112
- $options['last_sent'] = time();
113
-
114
- Settings::update_setting( 'reports', $options, 'uptime' );
115
- }
116
-
117
- // Reschedule.
118
- $next_scan_time = parent::get_scheduled_time( self::$module );
119
- wp_schedule_single_event( $next_scan_time, 'wphb_uptime_report' );
120
- }
121
-
122
- /**
123
- * Send out an email report.
124
- *
125
- * @since 1.9.4
126
- *
127
- * @param mixed $last_report Last report data.
128
- * @param array $recipients List of recipients.
129
- */
130
- public function send_email_report( $last_report, $recipients = array() ) {
131
- if ( empty( $recipients ) ) {
132
- return;
133
- }
134
-
135
- foreach ( $recipients as $recipient ) {
136
- // Prepare the parameters.
137
- $email = $recipient['email'];
138
- /* translators: %s: Url for site */
139
- $subject = sprintf( __( "Here's your latest uptime report for %s", 'wphb' ), network_site_url() );
140
- $params = array(
141
- 'REPORT_TYPE' => 'uptime',
142
- 'USER_NAME' => $recipient['name'],
143
- 'SCAN_PAGE_LINK' => network_admin_url( 'admin.php?page=wphb-uptime' ),
144
- 'SITE_MANAGE_URL' => network_site_url( 'wp-admin/admin.php?page=wphb' ),
145
- 'SITE_URL' => wp_parse_url( network_site_url(), PHP_URL_HOST ),
146
- 'SITE_NAME' => get_bloginfo( 'name' ),
147
- );
148
- $email_content = parent::issues_list_html( $last_report, $params );
149
- // Change nl to br.
150
- $email_content = stripslashes( $email_content );
151
- $no_reply_email = 'noreply@' . wp_parse_url( get_site_url(), PHP_URL_HOST );
152
- $headers = array(
153
- 'From: Hummingbird <' . $no_reply_email . '>',
154
- 'Content-Type: text/html; charset=UTF-8',
155
- );
156
-
157
- wp_mail( $email, $subject, $email_content, $headers );
158
- }
159
- }
160
-
161
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
core/Pro/modules/reporting/templates/body.php DELETED
@@ -1,44 +0,0 @@
1
- <?php
2
- /**
3
- * Body template.
4
- *
5
- * @package Hummingbird
6
- * @var array $params Parameters array.
7
- */
8
-
9
- use Hummingbird\Core\Pro\Modules\Reports;
10
-
11
- if ( ! defined( 'ABSPATH' ) ) {
12
- exit;
13
- }
14
-
15
- $args = compact( 'last_test', 'params' );
16
- ?>
17
-
18
- <table class="body" style="background-color: #e9ebe7; border-collapse: collapse; border-spacing: 0; color: #555555; font-family: 'Open Sans', Arial, sans-serif; font-size: 15px; font-weight: normal; height: 100%; line-height: 26px; margin: 0; padding: 0; text-align: left; vertical-align: top; width: 100%;">
19
- <tbody>
20
- <tr style="padding: 0; text-align: left; vertical-align: top;">
21
- <td class="center" align="center" valign="top" style="-moz-hyphens: auto; -webkit-hyphens: auto; border-collapse: collapse !important; color: #555555; font-family: Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 0; text-align: left; vertical-align: top; word-wrap: break-word;">
22
-
23
- <center style="min-width: 600px; width: 100%;">
24
-
25
- <table class="container" style="background-color: #fff; border-collapse: collapse; border-spacing: 0; margin: 0 auto; padding: 0; text-align: inherit; vertical-align: top; width: 600px;">
26
- <tbody>
27
- <tr style="padding: 0; text-align: left; vertical-align: top;">
28
- <td style="-moz-hyphens: auto; -webkit-hyphens: auto; border-collapse: collapse !important; color: #555555; font-family: Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 0; text-align: left; vertical-align: top; word-wrap: break-word;">
29
-
30
- <?php Reports::load_template( 'header', $args ); ?>
31
- <?php Reports::load_template( $params['REPORT_TYPE'], $args ); ?>
32
- <?php Reports::load_template( 'footer', $args ); ?>
33
-
34
- </td>
35
- </tr>
36
- </tbody>
37
- </table>
38
-
39
- </center>
40
-
41
- </td>
42
- </tr>
43
- </tbody>
44
- </table>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
core/Pro/modules/reporting/templates/footer.php DELETED
@@ -1,55 +0,0 @@
1
- <?php
2
- /**
3
- * Footer file.
4
- *
5
- * @package Hummingbird
6
- */
7
-
8
- if ( ! defined( 'ABSPATH' ) ) {
9
- exit;
10
- }
11
-
12
- ?>
13
-
14
- <table class="wrapper logo-bottom" align="center" style="background-color: #e9ebe7; border-collapse: collapse; border-spacing: 0; padding: 0; text-align: left; vertical-align: top; width: 100%;">
15
- <tbody>
16
- <tr style="padding: 0; text-align: left; vertical-align: top;">
17
- <td class="wrapper-inner logo-bottom-inner" align="center" style="-moz-hyphens: auto; -webkit-hyphens: auto; border-collapse: collapse !important; color: #555555; font-family: 'Open Sans', Arial, sans-serif; font-size: 14px; font-weight: normal; hyphens: auto; line-height: 1em; margin: 0; padding: 30px 0 0; text-align: center; vertical-align: top; word-wrap: break-word;">
18
- <a href="https://wpmudev.com" target="_blank" class="logo-link" style="color: #555555; display: inline-block; font-family: 'Open Sans', Arial, sans-serif; font-weight: normal; line-height: 1.3; margin: 0; padding: 0; text-align: left; text-decoration: none;">
19
- <img src="<?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/wpmudev.png' ); ?>" alt="<?php esc_attr_e( 'WPMU DEV', 'wphb' ); ?>" style="-ms-interpolation-mode: bicubic; border: none; clear: both; display: block; max-width: 100%; outline: none; text-decoration: none; width: auto;" />
20
- </a>
21
- </td>
22
- </tr>
23
- <tr style="padding: 0; text-align: left; vertical-align: top;">
24
- <td class="wrapper-inner footer-inner" style="-moz-hyphens: auto; -webkit-hyphens: auto; border-collapse: collapse !important; color: #555555; font-family: 'Open Sans', Arial, sans-serif; font-size: 14px; font-weight: normal; hyphens: auto; line-height: 30px; margin: 0; padding: 30px 30px 0; text-align: center; vertical-align: top; word-wrap: break-word;">
25
-
26
- <table class="footer-content" align="center" style="border-collapse: collapse; border-spacing: 0; padding: 0; text-align: left; vertical-align: top; width: 100%;">
27
- <tbody>
28
- <tr style="padding: 0; text-align: left; vertical-align: top;">
29
- <td class="footer-content-inner" style="-moz-hyphens: auto; -webkit-hyphens: auto; border-collapse: collapse !important; color: #555555; font-family: 'Open Sans', Arial, sans-serif; font-size: 14px; font-weight: normal; hyphens: auto; line-height: 30px; margin: 0; padding: 0; text-align: left; vertical-align: top; word-wrap: break-word;">
30
- <p style="color: #666666; font-family: 'Open Sans', Arial, sans-serif; font-size: 14px; font-style: italic; font-weight: normal; letter-spacing: -0.25px; line-height: 20px; margin: 0; padding: 0; text-align: center;"><?php esc_html_e( 'Everything You Need For WordPress.', 'wphb' ); ?></p>
31
- <p style="color: #666666; font-family: 'Open Sans', Arial, sans-serif; font-size: 14px; font-style: italic; font-weight: normal; letter-spacing: -0.25px; line-height: 20px; margin: 0; padding: 0; text-align: center;"><i><?php esc_html_e( 'One place, one low price, unlimited sites.', 'wphb' ); ?></i></p>
32
- </td>
33
- </tr>
34
- </tbody>
35
- </table>
36
-
37
- </td>
38
- </tr>
39
- <tr style="padding: 0; text-align: left; vertical-align: top;">
40
- <td class="wrapper-inner address-inner" style="-moz-hyphens: auto; -webkit-hyphens: auto; border-collapse: collapse !important; color: #555555; font-family: 'Open Sans', Arial, sans-serif; font-size: 14px; font-weight: normal; hyphens: auto; line-height: 30px; margin: 0; padding: 30px; text-align: center; vertical-align: top; word-wrap: break-word;">
41
-
42
- <table class="address-content" align="center" style="border-collapse: collapse; border-spacing: 0; padding: 0; text-align: left; vertical-align: top; width: 100%;">
43
- <tbody>
44
- <tr style="padding: 0; text-align: left; vertical-align: top;">
45
- <td class="address-content-inner" style="-moz-hyphens: auto; -webkit-hyphens: auto; border-collapse: collapse !important; color: #AAAAAA; font-family: 'Open Sans', Arial, sans-serif; font-size: 10px; font-weight: normal; hyphens: auto; line-height: 30px; margin: 0; padding: 0; text-align: left; vertical-align: top; word-wrap: break-word;">
46
- <p style="color: #AAAAAA; font-family: 'Open Sans', Arial, sans-serif; font-size: 10px; font-weight: normal; letter-spacing: -0.25px; line-height: 30px; margin: 0; padding: 0; text-align: center; text-transform: uppercase;"><?php esc_html_e( 'Incsub, PO Box 163 Albert Park, Victoria, 3206, Australia.', 'wphb' ); ?></p>
47
- </td>
48
- </tr>
49
- </tbody>
50
- </table>
51
-
52
- </td>
53
- </tr>
54
- </tbody>
55
- </table>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
core/Pro/modules/reporting/templates/header.php DELETED
@@ -1,38 +0,0 @@
1
- <?php
2
- /**
3
- * Header file.
4
- *
5
- * @package Hummingbird
6
- * @var array $params
7
- */
8
-
9
- if ( ! defined( 'ABSPATH' ) ) {
10
- exit;
11
- }
12
-
13
- $alt_text = sprintf(
14
- /* translators: %s - report type */
15
- __( 'Hummingbird %s Report', 'wphb' ),
16
- ucfirst( $params['REPORT_TYPE'] )
17
- );
18
-
19
- ?>
20
- <link href="https://fonts.googleapis.com/css?family=Open+Sans:400,600&display=swap" rel="stylesheet">
21
- <table class="wrapper hero" align="left" style="background-color: #e9ebe7; border-collapse: collapse; border-spacing: 0; padding: 0; text-align: left; vertical-align: top; width: 100%;">
22
- <tbody>
23
- <tr style="padding: 0; text-align: left; vertical-align: top;">
24
- <td class="wrapper-inner hero-inner" style="-moz-hyphens: auto; -webkit-hyphens: auto; border-collapse: collapse !important; color: #555555; font-family: 'Open Sans', Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 20px 0 0; text-align: left; vertical-align: top; word-wrap: break-word;">
25
-
26
- <table class="hero-content" align="left" style="border-collapse: collapse; border-spacing: 0; padding: 0; text-align: left; vertical-align: top; width: 100%;">
27
- <tbody>
28
- <tr style="padding: 0; text-align: center; vertical-align: bottom;">
29
- <td class="hero-image" style="background-color: #888888; border-radius: 4px 4px 0 0; height: 150px; border-collapse: collapse !important; margin: 0; padding: 0; text-align: center; vertical-align: bottom;">
30
- <img src="<?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/header@2x.png' ); ?>" srcset="<?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/header.png' ); ?>, <?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/header@2x.png' ); ?> 2x" alt="<?php echo esc_attr( $alt_text ); ?>" style="-ms-interpolation-mode: bicubic; border: none; vertical-align:bottom; clear: both; display: inline-block; outline: none; text-decoration: none; width: auto; height: 147px">
31
- </td>
32
- </tr>
33
- </tbody>
34
- </table>
35
- </td>
36
- </tr>
37
- </tbody>
38
- </table>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
core/Pro/modules/reporting/templates/images/header.png DELETED
Binary file
core/Pro/modules/reporting/templates/images/header@2x.png DELETED
Binary file
core/Pro/modules/reporting/templates/images/icon-desktop.png DELETED
Binary file
core/Pro/modules/reporting/templates/images/icon-desktop@2x.png DELETED
Binary file
core/Pro/modules/reporting/templates/images/icon-down.png DELETED
Binary file
core/Pro/modules/reporting/templates/images/icon-down@2x.png DELETED
Binary file
core/Pro/modules/reporting/templates/images/icon-error.png DELETED
Binary file
core/Pro/modules/reporting/templates/images/icon-mobile.png DELETED
Binary file
core/Pro/modules/reporting/templates/images/icon-mobile@2x.png DELETED
Binary file
core/Pro/modules/reporting/templates/images/icon-notice.png DELETED
Binary file
core/Pro/modules/reporting/templates/images/icon-success.png DELETED
Binary file
core/Pro/modules/reporting/templates/images/icon-up.png DELETED
Binary file
core/Pro/modules/reporting/templates/images/icon-up@2x.png DELETED
Binary file
core/Pro/modules/reporting/templates/images/icon-warning.png DELETED
Binary file
core/Pro/modules/reporting/templates/images/wpmudev.png DELETED
Binary file
core/Pro/modules/reporting/templates/index.php DELETED
@@ -1,19 +0,0 @@
1
- <?php
2
- /**
3
- * Index file.
4
- *
5
- * @package Hummingbird
6
- */
7
-
8
- use Hummingbird\Core\Pro\Modules\Reports;
9
-
10
- if ( ! defined( 'ABSPATH' ) ) {
11
- exit;
12
- }
13
-
14
- $args = compact( 'last_test', 'params' );
15
- ?>
16
- <body style="-moz-box-sizing: border-box; -ms-text-size-adjust: 100%; -webkit-box-sizing: border-box; -webkit-text-size-adjust: 100%; background-color: #e9ebe7; box-sizing: border-box; color: #555555; font-family: 'Open Sans', Arial, sans-serif; font-size: 15px; font-weight: normal; line-height: 26px; margin: 0; min-width: 100%; padding: 0; text-align: left; width: 100% !important;">
17
- <?php Reports::load_template( 'body', $args ); ?>
18
- <!-- end body -->
19
- </body>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
core/Pro/modules/reporting/templates/performance.php DELETED
@@ -1,480 +0,0 @@
1
- <?php
2
- /**
3
- * Main template file.
4
- *
5
- * @package Hummingbird
6
- *
7
- * @var array $params Parameters array: REPORT_TYPE, USER_NAME, SCAN_PAGE_LINK, SITE_MANAGE_URL, SITE_URL, SITE_NAME.
8
- * @var object $last_test Latest performance report.
9
- */
10
-
11
- use Hummingbird\Core\Modules\Performance;
12
-
13
- if ( ! defined( 'ABSPATH' ) ) {
14
- exit;
15
- }
16
- ?>
17
-
18
- <table class="wrapper main" align="center" style="border-collapse: collapse; border-spacing: 0; padding: 0; text-align: left; vertical-align: top; width: 100%;">
19
- <tbody>
20
- <tr style="padding: 0; text-align: left; vertical-align: top;">
21
- <td class="wrapper-inner main-inner" style="-moz-hyphens: auto; -webkit-hyphens: auto; border-collapse: collapse !important; color: #555555; font-family: 'Open Sans', Arial, sans-serif; font-size: 14px; font-weight: normal; hyphens: auto; line-height: 30px; margin: 0; padding: 40px 60px; text-align: left; vertical-align: top; word-wrap: break-word;">
22
-
23
- <table class="main-content" style="border-collapse: collapse; border-spacing: 0; padding: 0; text-align: left; vertical-align: top; width: 100%;">
24
- <tbody>
25
- <tr style="padding: 0; text-align: left; vertical-align: top;">
26
- <td class="main-content-text" style="-moz-hyphens: auto; -webkit-hyphens: auto; border-collapse: collapse !important; color: #333333; font-family: 'Open Sans', Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 30px; margin: 0; padding: 0; text-align: left; vertical-align: top; word-wrap: break-word;">
27
- <?php /* translators: %s: Username. */ ?>
28
- <p style="color: #333333;font-family: 'Open Sans', Arial, sans-serif;font-size: 18px;font-weight: normal;line-height: 24px;margin: 0 0 10px;padding: 0;text-align: left"><?php printf( esc_html__( 'Hi %s,', 'wphb' ), esc_attr( $params['USER_NAME'] ) ); ?></p>
29
-
30
- <?php
31
- $data_time = strtotime( get_date_from_gmt( gmdate( 'Y-m-d H:i:s', $last_test->time ) ) );
32
- $time_string = esc_html( date_i18n( get_option( 'date_format' ), $data_time ) );
33
- $time_string .= sprintf(
34
- /* translators: %s - time in proper format */
35
- esc_html_x( ' at %s', 'Time of the last performance report', 'wphb' ),
36
- esc_html( date_i18n( get_option( 'time_format' ), $data_time ) )
37
- );
38
- ?>
39
- <p style="color: #333333;font-family: 'Open Sans', Arial, sans-serif;font-size: 18px;font-weight: normal;line-height: 28px;margin: 0 0 30px;padding: 0;text-align: left;letter-spacing: -0.3px;">
40
- <?php esc_html_e( 'Here’s your latest Performance Test summary of', 'wphb' ); ?>&nbsp;
41
- <a class="brand" href="<?php echo esc_attr( $params['SITE_MANAGE_URL'] ); ?>" target="_blank" style="color: #17A8E3;font-family: 'Open Sans', Arial, sans-serif;font-weight: inherit;line-height: 30px;margin: 0;padding: 0;text-align: left;text-decoration: none">
42
- <?php echo esc_html( $params['SITE_URL'] ); ?>
43
- </a>&nbsp;
44
- <?php
45
- printf( /* translators: %s - tested on */
46
- __( 'tested on %s.', 'wphb' ),
47
- $time_string
48
- );
49
- ?>
50
- </p>
51
-
52
- <p style="color: #333333;font-family: 'Open Sans', Arial, sans-serif;font-size: 25px;font-weight: 600;line-height: 34px;margin: 0 0 5px;padding: 0;text-align: left;">
53
- <?php esc_html_e( 'Overall Score', 'wphb' ); ?>
54
- </p>
55
-
56
- <p style="color: #666666;font-family: 'Open Sans', Arial, sans-serif;font-size: 14px;letter-spacing: -0.23px;line-height: 22px;margin: 0 0 15px;padding: 0;text-align: left;">
57
- <?php
58
- if ( 'both' === $params['DEVICE'] ) {
59
- esc_html_e( 'Here are your latest performance test results. A score above 91 on desktop and 74 on mobile is considered as a good benchmark.', 'wphb' );
60
- } elseif ( 'desktop' === $params['DEVICE'] ) {
61
- esc_html_e( 'Here are your latest performance test results. A score above 91 on desktop is considered as a good benchmark.', 'wphb' );
62
- } elseif ( 'mobile' === $params['DEVICE'] ) {
63
- esc_html_e( 'Here are your latest performance test results. A score above 74 on mobile is considered as a good benchmark.', 'wphb' );
64
- }
65
- ?>
66
- </p>
67
-
68
- <table class="reports-list" align="center" style="border-collapse: collapse;border-spacing: 0;margin: 0 0 30px;padding: 0;text-align: left;vertical-align: top;width: 100%">
69
- <thead>
70
- <tr style="background-color: #F2F2F2">
71
- <?php if ( 'both' === $params['DEVICE'] || 'desktop' === $params['DEVICE'] ) : ?>
72
- <td style="border-radius: 4px 0 0 0;color: #333333;font-family: 'Open Sans', Arial, sans-serif;font-size: 12px;font-weight: 600;line-height: 27px; letter-spacing: -0.23px; text-align: center">
73
- <img alt="" src="<?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-desktop@2x.png' ); ?>" srcset="<?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-desktop.png' ); ?>, <?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-desktop@2x.png' ); ?> 2x" style="height: 16px;vertical-align: middle;">
74
- <span style="margin-left: 5px"><?php esc_html_e( 'Desktop', 'wphb' ); ?></span>
75
- </td>
76
- <?php endif; ?>
77
- <?php if ( 'both' === $params['DEVICE'] || 'mobile' === $params['DEVICE'] ) : ?>
78
- <td style="border-radius: 0 4px 0 0;color: #333333;font-family: 'Open Sans', Arial, sans-serif;font-size: 12px;font-weight: 600;line-height: 27px; letter-spacing: -0.23px; text-align: center">
79
- <img alt="" src="<?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-mobile@2x.png' ); ?>" srcset="<?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-mobile.png' ); ?>, <?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-mobile@2x.png' ); ?> 2x" style="height: 16px;vertical-align: middle;">
80
- <span style="margin-left: 5px"><?php esc_html_e( 'Mobile', 'wphb' ); ?></span>
81
- </td>
82
- <?php endif; ?>
83
- </tr>
84
- </thead>
85
- <tbody>
86
- <tr class="report-list-item">
87
- <?php if ( 'both' === $params['DEVICE'] || 'desktop' === $params['DEVICE'] ) : ?>
88
- <td class="report-list-item-result" align="center" style="border: 1px solid #F2F2F2;color: #555555;font-family: 'Open Sans', Arial, sans-serif;font-size: 50px;font-weight: 600">
89
- <table>
90
- <tr>
91
- <td rowspan="2"><?php echo absint( $last_test->desktop->score ); ?></td>
92
- <td style="text-align: left">
93
- <?php if ( 'a' === $last_test->desktop->score_class ) : ?>
94
- <img src="<?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-success.png' ); ?>" alt="<?php esc_attr_e( 'Ok', 'wphb' ); ?>" style="-ms-interpolation-mode: bicubic; border: none; height: 16px; outline: none; text-decoration: none; width: auto;" />
95
- <?php elseif ( 'b' === $last_test->desktop->score_class ) : ?>
96
- <img src="<?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-warning.png' ); ?>" alt="<?php esc_attr_e( 'Warning', 'wphb' ); ?>" style="-ms-interpolation-mode: bicubic; border: none; height: 16px; outline: none; text-decoration: none; width: auto;" />
97
- <?php elseif ( 'c' === $last_test->desktop->score_class ) : ?>
98
- <img src="<?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-error.png' ); ?>" alt="<?php esc_attr_e( 'Critical', 'wphb' ); ?>" style="-ms-interpolation-mode: bicubic; border: none; height: 16px; outline: none; text-decoration: none; width: auto;" />
99
- <?php endif; ?>
100
- </td>
101
- </tr>
102
- <tr>
103
- <td>
104
- <span style="color: #555555;font-family: 'Open Sans', Arial, sans-serif;font-size: 13px;font-weight: normal;line-height: 22px;letter-spacing: -0.3px;width: 300px;vertical-align: top">/100</span>
105
- </td>
106
- </tr>
107
- </table>
108
- </td>
109
- <?php endif; ?>
110
- <?php if ( 'both' === $params['DEVICE'] || 'mobile' === $params['DEVICE'] ) : ?>
111
- <td class="report-list-item-result" align="center" style="border: 1px solid #F2F2F2;color: #555555;font-family: 'Open Sans', Arial, sans-serif;font-size: 50px;font-weight: 600">
112
- <table>
113
- <tr>
114
- <td rowspan="2"><?php echo absint( $last_test->mobile->score ); ?></td>
115
- <td style="text-align: left">
116
- <?php if ( 'a' === $last_test->mobile->score_class ) : ?>
117
- <img src="<?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-success.png' ); ?>" alt="<?php esc_attr_e( 'Ok', 'wphb' ); ?>" style="-ms-interpolation-mode: bicubic; border: none; height: 16px; outline: none; text-decoration: none; width: auto;" />
118
- <?php elseif ( 'b' === $last_test->desktop->score_class ) : ?>
119
- <img src="<?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-warning.png' ); ?>" alt="<?php esc_attr_e( 'Warning', 'wphb' ); ?>" style="-ms-interpolation-mode: bicubic; border: none; height: 16px; outline: none; text-decoration: none; width: auto;" />
120
- <?php elseif ( 'c' === $last_test->desktop->score_class ) : ?>
121
- <img src="<?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-error.png' ); ?>" alt="<?php esc_attr_e( 'Critical', 'wphb' ); ?>" style="-ms-interpolation-mode: bicubic; border: none; height: 16px; outline: none; text-decoration: none; width: auto;" />
122
- <?php endif; ?>
123
- </td>
124
- </tr>
125
- <tr>
126
- <td>
127
- <span style="color: #555555;font-family: 'Open Sans', Arial, sans-serif;font-size: 13px;font-weight: normal;line-height: 22px;letter-spacing: -0.3px;width: 300px;vertical-align: top">/100</span>
128
- </td>
129
- </tr>
130
- </table>
131
- </td>
132
- <?php endif; ?>
133
- </tr>
134
- </tbody>
135
- </table>
136
-
137
- <?php if ( $params['SHOW_METRICS'] ) : ?>
138
- <p style="color: #333333;font-family: 'Open Sans', Arial, sans-serif;font-size: 25px;font-weight: 600;line-height: 34px;margin: 0 0 5px;padding: 0;text-align: left;">
139
- <?php esc_html_e( 'Score Metrics', 'wphb' ); ?>
140
- </p>
141
-
142
- <p style="color: #666666;font-family: 'Open Sans', Arial, sans-serif;font-size: 14px;letter-spacing: -0.23px;line-height: 22px;margin: 0 0 15px;padding: 0;text-align: left;">
143
- <?php esc_html_e( 'Your performance score is calculated based on how your site performs on each of the following 6 metrics.', 'wphb' ); ?>
144
- </p>
145
-
146
- <table class="reports-list" align="center" style="border-collapse: collapse;border-spacing: 0;margin: 0 0 30px;padding: 0;text-align: left;vertical-align: top;width: 100%">
147
- <thead>
148
- <tr style="background-color: #F2F2F2">
149
- <td style="padding-left: 20px;border-radius: 4px 0 0 0;color: #333333;font-family: 'Open Sans', Arial, sans-serif;font-size: 12px;font-weight: 600;line-height: 27px; letter-spacing: -0.23px; text-align: left">
150
- <?php esc_html_e( 'Metrics', 'wphb' ); ?>
151
- </td>
152
- <?php if ( 'both' === $params['DEVICE'] || 'desktop' === $params['DEVICE'] ) : ?>
153
- <td style="padding-right: 20px;color: #333333;font-family: 'Open Sans', Arial, sans-serif;font-size: 12px;font-weight: 600;line-height: 27px; letter-spacing: -0.23px; text-align: right; width:100px">
154
- <img alt="" src="<?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-desktop@2x.png' ); ?>" srcset="<?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-desktop.png' ); ?>, <?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-desktop@2x.png' ); ?> 2x" style="height: 16px;vertical-align: middle;">
155
- <span style="margin-left: 5px; vertical-align: top;"><?php esc_html_e( 'Desktop', 'wphb' ); ?></span>
156
- </td>
157
- <?php endif; ?>
158
- <?php if ( 'both' === $params['DEVICE'] || 'mobile' === $params['DEVICE'] ) : ?>
159
- <td style="padding-right: 20px;border-radius: 0 4px 0 0;color: #333333;font-family: 'Open Sans', Arial, sans-serif;font-size: 12px;font-weight: 600;line-height: 27px; letter-spacing: -0.23px; text-align: right; width: 100px">
160
- <img alt="" src="<?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-mobile@2x.png' ); ?>" srcset="<?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-mobile.png' ); ?>, <?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-mobile@2x.png' ); ?> 2x" style="height: 16px;vertical-align: middle;">
161
- <span style="margin-left: 5px; vertical-align: top;"><?php esc_html_e( 'Mobile', 'wphb' ); ?></span>
162
- </td>
163
- <?php endif; ?>
164
- </tr>
165
- </thead>
166
- <tbody>
167
- <?php foreach ( $last_test->desktop->metrics as $index => $metric ) : ?>
168
- <tr class="report-list-item" style="border: 1px solid #F2F2F2;padding: 0;text-align: left;vertical-align: top">
169
- <td class="report-list-item-info" style="border-collapse: collapse !important;color: #666666;font-family: 'Open Sans', Arial, sans-serif;font-size: 12px;font-weight: 600;letter-spacing: -0.23px;line-height: 22px;margin: 0;padding: 18px 0;text-align: left;vertical-align: top">
170
- <span style="color: inherit; display: inline; font-size: inherit; font-family: inherit; line-height: inherit; vertical-align: middle; letter-spacing: -0.25px;padding-left: 20px;">
171
- <?php echo esc_html( $metric->title ); ?>
172
- </span>
173
- </td>
174
- <?php if ( 'both' === $params['DEVICE'] || 'desktop' === $params['DEVICE'] ) : ?>
175
- <td class="report-list-item-info" style="border-collapse: collapse !important;color: #888888;font-family: 'Open Sans', Arial, sans-serif;font-size: 13px;font-weight: 600;letter-spacing: -0.25px;line-height: 21px;margin: 0;padding: 18px 0;text-align: right;vertical-align: top">
176
- <span style="color: inherit; display: inline; font-size: inherit; font-family: inherit; line-height: inherit; vertical-align: middle;letter-spacing: -0.25px"><?php echo esc_html( $metric->displayValue ); ?></span>
177
- <img src="<?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-' . Performance::get_impact_class( $metric->score * 100 ) . '.png' ); ?>" alt="<?php echo esc_attr( Performance::get_impact_class( $metric->score ) ); ?>" style="-ms-interpolation-mode: bicubic; border: none; clear: both; float: right; display: inline-block; margin: 4px 20px 0 5px; height: 16px; outline: none; text-decoration: none; width: auto; vertical-align: middle;">
178
- </td>
179
- <?php endif; ?>
180
- <?php if ( 'both' === $params['DEVICE'] || 'mobile' === $params['DEVICE'] ) : ?>
181
- <td class="report-list-item-result ok" style="border-collapse: collapse !important;color: #888888;font-family: 'Open Sans', Arial, sans-serif;font-size: 13px;font-weight: 600;letter-spacing: -0.25px;line-height: 21px;margin: 0;min-width: 65px;padding: 18px 0;text-align: right;vertical-align: top">
182
- <span style="color: inherit; display: inline; font-size: inherit; font-family: inherit; line-height: inherit; vertical-align: middle;letter-spacing: -0.25px"><?php echo esc_html( $last_test->mobile->metrics->{$index}->displayValue ); ?></span>
183
- <img src="<?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-' . Performance::get_impact_class( $last_test->mobile->metrics->{$index}->score * 100 ) . '.png' ); ?>" alt="<?php echo esc_attr( Performance::get_impact_class( $last_test->mobile->metrics->{$index}->score ) ); ?>" style="-ms-interpolation-mode: bicubic; border: none; clear: both; float: right; display: inline-block; margin: 4px 20px 0 5px; height: 16px; outline: none; text-decoration: none; width: auto; vertical-align: middle;">
184
- </td>
185
- <?php endif; ?>
186
- </tr>
187
- <?php endforeach; ?>
188
- </tbody>
189
- </table>
190
- <?php endif; ?>
191
-
192
- <?php if ( $params['SHOW_AUDITS'] ) : ?>
193
- <p style="color: #333333;font-family: 'Open Sans', Arial, sans-serif;font-size: 25px;font-weight: 600;line-height: 34px;margin: 0 0 5px;padding: 0;text-align: left;">
194
- <?php esc_html_e( 'Audits', 'wphb' ); ?>
195
- </p>
196
-
197
- <p style="color: #666666;font-family: 'Open Sans', Arial, sans-serif;font-size: 14px;letter-spacing: -0.23px;line-height: 22px;margin: 0 0 15px;padding: 0;text-align: left;">
198
- <?php esc_html_e( 'Audit results are divided into following three categories. Opportunities and Diagnostics provide recommendations to improve the performance score.', 'wphb' ); ?>
199
- </p>
200
-
201
- <table class="reports-list" align="center" style="border-collapse: collapse;border-spacing: 0;margin: 0 0 30px;padding: 0;text-align: left;vertical-align: top;width: 100%">
202
- <thead>
203
- <tr style="background-color: #F2F2F2">
204
- <td style="padding-left: 20px;border-radius: 4px 0 0 0;color: #333333;font-family: 'Open Sans', Arial, sans-serif;font-size: 12px;font-weight: 600;line-height: 27px; letter-spacing: -0.23px; text-align: left">
205
- <?php esc_html_e( 'Categories', 'wphb' ); ?>
206
- </td>
207
- <?php if ( 'both' === $params['DEVICE'] || 'desktop' === $params['DEVICE'] ) : ?>
208
- <td style="padding-right: 20px;color: #333333;font-family: 'Open Sans', Arial, sans-serif;font-size: 12px;font-weight: 600;line-height: 27px; letter-spacing: -0.23px; text-align: right; width:100px">
209
- <img alt="" src="<?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-desktop@2x.png' ); ?>" srcset="<?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-desktop.png' ); ?>, <?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-desktop@2x.png' ); ?> 2x" style="height: 16px;vertical-align: middle;">
210
- <span style="margin-left: 5px; vertical-align: top;"><?php esc_html_e( 'Desktop', 'wphb' ); ?></span>
211
- </td>
212
- <?php endif; ?>
213
- <?php if ( 'both' === $params['DEVICE'] || 'mobile' === $params['DEVICE'] ) : ?>
214
- <td style="padding-right: 20px;border-radius: 0 4px 0 0;color: #333333;font-family: 'Open Sans', Arial, sans-serif;font-size: 12px;font-weight: 600;line-height: 27px; letter-spacing: -0.23px; text-align: right; width: 100px">
215
- <img alt="" src="<?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-mobile@2x.png' ); ?>" srcset="<?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-mobile.png' ); ?>, <?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-mobile@2x.png' ); ?> 2x" style="height: 16px;vertical-align: middle;">
216
- <span style="margin-left: 5px; vertical-align: top;"><?php esc_html_e( 'Mobile', 'wphb' ); ?></span>
217
- </td>
218
- <?php endif; ?>
219
- </tr>
220
- </thead>
221
- <tbody>
222
- <tr class="report-list-item" style="border: 1px solid #F2F2F2;padding: 0;text-align: left;vertical-align: top">
223
- <td class="report-list-item-info" style="border-collapse: collapse !important;color: #666666;font-family: 'Open Sans', Arial, sans-serif;font-size: 12px;font-weight: 600;letter-spacing: -0.23px;line-height: 22px;margin: 0;padding: 18px 0;text-align: left;vertical-align: top">
224
- <span style="color: inherit; display: inline; font-size: inherit; font-family: inherit; line-height: inherit; vertical-align: middle; letter-spacing: -0.25px;padding-left: 20px;">
225
- <?php esc_html_e( 'Opportunities', 'wphb' ); ?>
226
- </span>
227
- </td>
228
- <?php if ( 'both' === $params['DEVICE'] || 'desktop' === $params['DEVICE'] ) : ?>
229
- <td class="report-list-item-info" style="border-collapse: collapse !important;color: #ffffff;font-family: 'Open Sans', Arial, sans-serif;font-size: 12px;font-weight: normal;line-height: 27px;margin: 0;padding: 15px 20px 15px 0;text-align: right;vertical-align: top">
230
- <?php
231
- $class = Performance::get_audits_class( $last_test->desktop->audits->opportunities );
232
- $color = '#1ABC9C';
233
- if ( 'error' === $class ) {
234
- $color = '#FF6D6D';
235
- } elseif ( 'warning' === $class ) {
236
- $color = '#FECF2F';
237
- }
238
- $opportunities = ! is_null( $last_test->desktop->audits->opportunities ) ? count( get_object_vars( $last_test->desktop->audits->opportunities ) ) : '-';
239
- ?>
240
- <span style="color: inherit; display: inline-block; font-size: inherit; font-family: inherit; line-height: inherit; vertical-align: middle;letter-spacing: -0.25px;background-color: <?php echo esc_attr( $color ); ?>;width: 39px;height: 26px;border-radius: 13px;text-align: center;"><?php echo $opportunities; ?></span>
241
- </td>
242
- <?php endif; ?>
243
- <?php if ( 'both' === $params['DEVICE'] || 'mobile' === $params['DEVICE'] ) : ?>
244
- <td class="report-list-item-info" style="border-collapse: collapse !important;color: #ffffff;font-family: 'Open Sans', Arial, sans-serif;font-size: 12px;font-weight: normal;line-height: 27px;margin: 0;padding: 15px 20px 15px 0;text-align: right;vertical-align: top">
245
- <?php
246
- $class = Performance::get_audits_class( $last_test->mobile->audits->opportunities );
247
- $color = '#1ABC9C';
248
- if ( 'error' === $class ) {
249
- $color = '#FF6D6D';
250
- } elseif ( 'warning' === $class ) {
251
- $color = '#FECF2F';
252
- }
253
- $opportunities = ! is_null( $last_test->mobile->audits->opportunities ) ? count( get_object_vars( $last_test->mobile->audits->opportunities ) ) : '-';
254
- ?>
255
- <span style="color: inherit; display: inline-block; font-size: inherit; font-family: inherit; line-height: inherit; vertical-align: middle;letter-spacing: -0.25px;background-color: <?php echo esc_attr( $color ); ?>;width: 39px;height: 26px;border-radius: 13px;text-align: center;"><?php echo $opportunities; ?></span>
256
- </td>
257
- <?php endif; ?>
258
- </tr>
259
- <tr class="report-list-item" style="border: 1px solid #F2F2F2;padding: 0;text-align: left;vertical-align: top">
260
- <td class="report-list-item-info" style="border-collapse: collapse !important;color: #666666;font-family: 'Open Sans', Arial, sans-serif;font-size: 12px;font-weight: 600;letter-spacing: -0.23px;line-height: 22px;margin: 0;padding: 18px 0;text-align: left;vertical-align: top">
261
- <span style="color: inherit; display: inline; font-size: inherit; font-family: inherit; line-height: inherit; vertical-align: middle; letter-spacing: -0.25px;padding-left: 20px;">
262
- <?php esc_html_e( 'Diagnostics', 'wphb' ); ?>
263
- </span>
264
- </td>
265
- <?php if ( 'both' === $params['DEVICE'] || 'desktop' === $params['DEVICE'] ) : ?>
266
- <td class="report-list-item-info" style="border-collapse: collapse !important;color: #ffffff;font-family: 'Open Sans', Arial, sans-serif;font-size: 12px;font-weight: normal;line-height: 27px;margin: 0;padding: 15px 20px 15px 0;text-align: right;vertical-align: top">
267
- <?php
268
- $class = Performance::get_audits_class( $last_test->desktop->audits->diagnostics );
269
- $color = '#1ABC9C';
270
- if ( 'error' === $class ) {
271
- $color = '#FF6D6D';
272
- } elseif ( 'warning' === $class ) {
273
- $color = '#FECF2F';
274
- }
275
- $diagnostics = ! is_null( $last_test->desktop->audits->diagnostics ) ? count( get_object_vars( $last_test->desktop->audits->diagnostics ) ) : '-';
276
- ?>
277
- <span style="color: inherit; display: inline-block; font-size: inherit; font-family: inherit; line-height: inherit; vertical-align: middle;letter-spacing: -0.25px;background-color: <?php echo esc_attr( $color ); ?>;width: 39px;height: 26px;border-radius: 13px;text-align: center;"><?php echo esc_html( $diagnostics ); ?></span>
278
- </td>
279
- <?php endif; ?>
280
- <?php if ( 'both' === $params['DEVICE'] || 'mobile' === $params['DEVICE'] ) : ?>
281
- <td class="report-list-item-info" style="border-collapse: collapse !important;color: #ffffff;font-family: 'Open Sans', Arial, sans-serif;font-size: 12px;font-weight: normal;line-height: 27px;margin: 0;padding: 15px 20px 15px 0;text-align: right;vertical-align: top">
282
- <?php
283
- $class = Performance::get_audits_class( $last_test->mobile->audits->diagnostics );
284
- $color = '#1ABC9C';
285
- if ( 'error' === $class ) {
286
- $color = '#FF6D6D';
287
- } elseif ( 'warning' === $class ) {
288
- $color = '#FECF2F';
289
- }
290
- $diagnostics = ! is_null( $last_test->mobile->audits->diagnostics ) ? count( get_object_vars( $last_test->mobile->audits->diagnostics ) ) : '-';
291
- ?>
292
- <span style="color: inherit; display: inline-block; font-size: inherit; font-family: inherit; line-height: inherit; vertical-align: middle;letter-spacing: -0.25px;background-color: <?php echo esc_attr( $color ); ?>;width: 39px;height: 26px;border-radius: 13px;text-align: center;"><?php echo esc_html( $diagnostics ); ?></span>
293
- </td>
294
- <?php endif; ?>
295
- </tr>
296
- <tr class="report-list-item" style="border: 1px solid #F2F2F2;padding: 0;text-align: left;vertical-align: top">
297
- <td class="report-list-item-info" style="border-collapse: collapse !important;color: #666666;font-family: 'Open Sans', Arial, sans-serif;font-size: 12px;font-weight: 600;letter-spacing: -0.23px;line-height: 22px;margin: 0;padding: 18px 0;text-align: left;vertical-align: top">
298
- <span style="color: inherit; display: inline; font-size: inherit; font-family: inherit; line-height: inherit; vertical-align: middle; letter-spacing: -0.25px;padding-left: 20px;">
299
- <?php esc_html_e( 'Passed Audits', 'wphb' ); ?>
300
- </span>
301
- </td>
302
- <?php if ( 'both' === $params['DEVICE'] || 'desktop' === $params['DEVICE'] ) : ?>
303
- <?php $passed = ! is_null( $last_test->desktop->audits->passed ) ? count( get_object_vars( $last_test->desktop->audits->passed ) ) : '-'; ?>
304
- <td class="report-list-item-info" style="border-collapse: collapse !important;color: #ffffff;font-family: 'Open Sans', Arial, sans-serif;font-size: 12px;font-weight: normal;line-height: 27px;margin: 0;padding: 15px 20px 15px 0;text-align: right;vertical-align: top">
305
- <span style="color: inherit; display: inline-block; font-size: inherit; font-family: inherit; line-height: inherit; vertical-align: middle;letter-spacing: -0.25px;background-color: #1ABC9C;width: 39px;height: 26px;border-radius: 13px;text-align: center;"><?php echo esc_html( $passed ); ?></span>
306
- </td>
307
- <?php endif; ?>
308
- <?php if ( 'both' === $params['DEVICE'] || 'mobile' === $params['DEVICE'] ) : ?>
309
- <?php $passed = ! is_null( $last_test->mobile->audits->passed ) ? count( get_object_vars( $last_test->mobile->audits->passed ) ) : '-'; ?>
310
- <td class="report-list-item-info" style="border-collapse: collapse !important;color: #ffffff;font-family: 'Open Sans', Arial, sans-serif;font-size: 12px;font-weight: normal;line-height: 27px;margin: 0;padding: 15px 20px 15px 0;text-align: right;vertical-align: top">
311
- <span style="color: inherit; display: inline-block; font-size: inherit; font-family: inherit; line-height: inherit; vertical-align: middle;letter-spacing: -0.25px;background-color: #1ABC9C;width: 39px;height: 26px;border-radius: 13px;text-align: center;"><?php echo esc_html( $passed ); ?></span>
312
- </td>
313
- <?php endif; ?>
314
- </tr>
315
- </tbody>
316
- </table>
317
- <?php endif; ?>
318
-
319
- <?php if ( $params['SHOW_HISTORIC'] ) : ?>
320
- <p style="color: #333333;font-family: 'Open Sans', Arial, sans-serif;font-size: 25px;font-weight: 600;line-height: 34px;margin: 0 0 5px;padding: 0;text-align: left;">
321
- <?php esc_html_e( 'Historic Field Data', 'wphb' ); ?>
322
- </p>
323
-
324
- <p style="color: #666666;font-family: 'Open Sans', Arial, sans-serif;font-size: 14px;letter-spacing: -0.23px;line-height: 22px;margin: 0 0 15px;padding: 0;text-align: left;">
325
- <?php
326
- printf(
327
- /* translators: %1$s - starting a tag, %2$s - closing a tag */
328
- esc_html__( 'We use %1$sChrome User Experience Report%2$s to generate insights about the real users’ experience with your webpage over the last 30 days.', 'wphb' ),
329
- '<a class="external" href="https://developers.google.com/web/tools/chrome-user-experience-report/" target="_blank" style="color: #17A8E3;font-family: \'Open Sans\', Arial, sans-serif;font-weight: inherit;line-height: 30px;margin: 0;padding: 0;text-align: left;text-decoration: none">',
330
- '</a>'
331
- );
332
- ?>
333
- </p>
334
-
335
- <table class="reports-list" align="center" style="border-collapse: collapse;border-spacing: 0;margin: 0 0 30px;padding: 0;text-align: left;vertical-align: top;width: 100%">
336
- <?php if ( $last_test->desktop->field_data ) : ?>
337
- <thead>
338
- <tr style="background-color: #F2F2F2">
339
- <td style="padding-left: 20px;border-radius: 4px 0 0 0;color: #333333;font-family: 'Open Sans', Arial, sans-serif;font-size: 12px;font-weight: 600;line-height: 27px; letter-spacing: -0.23px; text-align: left">
340
- <?php esc_html_e( 'Data', 'wphb' ); ?>
341
- </td>
342
- <?php if ( 'both' === $params['DEVICE'] || 'desktop' === $params['DEVICE'] ) : ?>
343
- <td style="padding-right: 20px;color: #333333;font-family: 'Open Sans', Arial, sans-serif;font-size: 12px;font-weight: 600;line-height: 27px; letter-spacing: -0.23px; text-align: right; width:100px">
344
- <img alt="" src="<?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-desktop@2x.png' ); ?>" srcset="<?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-desktop.png' ); ?>, <?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-desktop@2x.png' ); ?> 2x" style="height: 16px;vertical-align: middle;">
345
- <span style="margin-left: 5px; vertical-align: top;"><?php esc_html_e( 'Desktop', 'wphb' ); ?></span>
346
- </td>
347
- <?php endif; ?>
348
- <?php if ( 'both' === $params['DEVICE'] || 'mobile' === $params['DEVICE'] ) : ?>
349
- <td style="padding-right: 20px;border-radius: 0 4px 0 0;color: #333333;font-family: 'Open Sans', Arial, sans-serif;font-size: 12px;font-weight: 600;line-height: 27px; letter-spacing: -0.23px; text-align: right; width: 100px">
350
- <img alt="" src="<?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-mobile@2x.png' ); ?>" srcset="<?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-mobile.png' ); ?>, <?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-mobile@2x.png' ); ?> 2x" style="height: 16px;vertical-align: middle;">
351
- <span style="margin-left: 5px; vertical-align: top;"><?php esc_html_e( 'Mobile', 'wphb' ); ?></span>
352
- </td>
353
- <?php endif; ?>
354
- </tr>
355
- </thead>
356
- <?php endif; ?>
357
- <tbody>
358
- <?php if ( ! $last_test->desktop->field_data ) : ?>
359
- <tr>
360
- <td colspan="3">
361
- <div style="border-radius: 4px;border: 1px solid #aaa;border-left: 2px solid #aaa;padding: 5px 15px">
362
- <img src="<?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-notice.png' ); ?>" alt="<?php esc_attr_e( 'Warning', 'wphb' ); ?>" style="-ms-interpolation-mode: bicubic; border: none; clear: both; float: left; display: inline-block; margin: 15px 10px 0 10px; height: 16px; outline: none; text-decoration: none; width: auto; vertical-align: middle;">
363
- <p style="color: #333333;font-family: 'Open Sans', Arial, sans-serif;font-size: 13px;font-weight: normal;line-height: 22px;letter-spacing: -0.25px; margin-left:35px">
364
- <?php esc_html_e( 'The Chrome User Experience Report does not have sufficient real-world speed data for this page. Note: This report can take months to populate and is aimed at well established websites.', 'wphb' ); ?>
365
- </p>
366
- </div>
367
- </td>
368
- </tr>
369
- <?php else : ?>
370
- <tr class="report-list-item" style="border: 1px solid #F2F2F2;padding: 0;text-align: left;vertical-align: top">
371
- <td class="report-list-item-info" style="border-collapse: collapse !important;color: #666666;font-family: 'Open Sans', Arial, sans-serif;font-size: 12px;font-weight: 600;letter-spacing: -0.23px;line-height: 22px;margin: 0;padding: 18px 0;text-align: left;vertical-align: top">
372
- <span style="color: inherit; display: inline; font-size: inherit; font-family: inherit; line-height: inherit; vertical-align: middle; letter-spacing: -0.25px;padding-left: 20px;">
373
- <?php esc_html_e( 'First Contentful Paint (FCP)', 'wphb' ); ?>
374
- </span>
375
- </td>
376
- <?php if ( 'both' === $params['DEVICE'] || 'desktop' === $params['DEVICE'] ) : ?>
377
- <td class="report-list-item-info" style="border-collapse: collapse !important;color: #888888;font-family: 'Open Sans', Arial, sans-serif;font-size: 13px;font-weight: 600;letter-spacing: -0.25px;line-height: 21px;margin: 0;padding: 18px 0;text-align: right;vertical-align: top">
378
- <span style="color: inherit; display: inline; font-size: inherit; font-family: inherit; line-height: inherit; vertical-align: middle;letter-spacing: -0.25px">
379
- <?php
380
- /* translators: %s - number of seconds */
381
- printf( '%s s', esc_html( round( $last_test->desktop->field_data->FIRST_CONTENTFUL_PAINT_MS->percentile / 1000, 1 ) ) );
382
- ?>
383
- </span>
384
- <?php if ( 'FAST' === $last_test->desktop->field_data->FIRST_CONTENTFUL_PAINT_MS->category ) : ?>
385
- <img src="<?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-success.png' ); ?>" alt="<?php esc_attr_e( 'Ok', 'wphb' ); ?>" style="-ms-interpolation-mode: bicubic; border: none; clear: both; float: right; display: inline-block; margin: 4px 20px 0 5px; height: 16px; outline: none; text-decoration: none; width: auto; vertical-align: middle;" />
386
- <?php elseif ( 'AVERAGE' === $last_test->desktop->field_data->FIRST_CONTENTFUL_PAINT_MS->category ) : ?>
387
- <img src="<?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-warning.png' ); ?>" alt="<?php esc_attr_e( 'Warning', 'wphb' ); ?>" style="-ms-interpolation-mode: bicubic; border: none; clear: both; float: right; display: inline-block; margin: 4px 20px 0 5px; height: 16px; outline: none; text-decoration: none; width: auto; vertical-align: middle;" />
388
- <?php elseif ( 'SLOW' === $last_test->desktop->field_data->FIRST_CONTENTFUL_PAINT_MS->category ) : ?>
389
- <img src="<?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-error.png' ); ?>" alt="<?php esc_attr_e( 'Critical', 'wphb' ); ?>" style="-ms-interpolation-mode: bicubic; border: none; clear: both; float: right; display: inline-block; margin: 4px 20px 0 5px; height: 16px; outline: none; text-decoration: none; width: auto; vertical-align: middle;" />
390
- <?php endif; ?>
391
- </td>
392
- <?php endif; ?>
393
- <?php if ( 'both' === $params['DEVICE'] || 'mobile' === $params['DEVICE'] ) : ?>
394
- <td class="report-list-item-result ok" style="border-collapse: collapse !important;color: #888888;font-family: 'Open Sans', Arial, sans-serif;font-size: 13px;font-weight: 600;letter-spacing: -0.25px;line-height: 21px;margin: 0;min-width: 65px;padding: 18px 0;text-align: right;vertical-align: top">
395
- <span style="color: inherit; display: inline; font-size: inherit; font-family: inherit; line-height: inherit; vertical-align: middle;letter-spacing: -0.25px">
396
- <?php
397
- /* translators: %s - number of seconds */
398
- printf( '%s s', esc_html( round( $last_test->mobile->field_data->FIRST_CONTENTFUL_PAINT_MS->percentile / 1000, 1 ) ) );
399
- ?>
400
- </span>
401
- <?php if ( 'FAST' === $last_test->mobile->field_data->FIRST_CONTENTFUL_PAINT_MS->category ) : ?>
402
- <img src="<?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-success.png' ); ?>" alt="<?php esc_attr_e( 'Ok', 'wphb' ); ?>" style="-ms-interpolation-mode: bicubic; border: none; clear: both; float: right; display: inline-block; margin: 4px 20px 0 5px; height: 16px; outline: none; text-decoration: none; width: auto; vertical-align: middle;" />
403
- <?php elseif ( 'AVERAGE' === $last_test->mobile->field_data->FIRST_CONTENTFUL_PAINT_MS->category ) : ?>
404
- <img src="<?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-warning.png' ); ?>" alt="<?php esc_attr_e( 'Warning', 'wphb' ); ?>" style="-ms-interpolation-mode: bicubic; border: none; clear: both; float: right; display: inline-block; margin: 4px 20px 0 5px; height: 16px; outline: none; text-decoration: none; width: auto; vertical-align: middle;" />
405
- <?php elseif ( 'SLOW' === $last_test->mobile->field_data->FIRST_CONTENTFUL_PAINT_MS->category ) : ?>
406
- <img src="<?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-error.png' ); ?>" alt="<?php esc_attr_e( 'Critical', 'wphb' ); ?>" style="-ms-interpolation-mode: bicubic; border: none; clear: both; float: right; display: inline-block; margin: 4px 20px 0 5px; height: 16px; outline: none; text-decoration: none; width: auto; vertical-align: middle;" />
407
- <?php endif; ?>
408
- </td>
409
- <?php endif; ?>
410
- </tr>
411
-
412
- <tr class="report-list-item" style="padding: 0;text-align: left;vertical-align: top">
413
- <td class="report-list-item-info" style="border-collapse: collapse !important;color: #333333;font-family: 'Open Sans', Arial, sans-serif;font-size: 13px;font-weight: bold;line-height: 22px;margin: 0;padding: 10px 0;text-align: left;vertical-align: top">
414
- <span style="color: inherit; display: inline; font-size: inherit; font-family: inherit; line-height: inherit; vertical-align: middle; letter-spacing: -0.25px;"><?php esc_html_e( 'First Input Delay (FID)', 'wphb' ); ?></span>
415
- </td>
416
- <?php if ( 'both' === $params['DEVICE'] || 'desktop' === $params['DEVICE'] ) : ?>
417
- <td class="report-list-item-info" style="border-collapse: collapse !important;color: #888888;font-family: 'Open Sans', Arial, sans-serif;font-size: 13px;font-weight: normal;line-height: 22px;margin: 0;padding: 10px 0;text-align: right;vertical-align: top">
418
- <span style="color: inherit; display: inline; font-size: inherit; font-family: inherit; line-height: inherit; vertical-align: middle;letter-spacing: -0.25px">
419
- <?php
420
- /* translators: %s - number of seconds */
421
- printf( '%s s', esc_html( $last_test->desktop->field_data->FIRST_INPUT_DELAY_MS->percentile ) );
422
- ?>
423
- </span>
424
- <?php if ( 'FAST' === $last_test->desktop->field_data->FIRST_INPUT_DELAY_MS->category ) : ?>
425
- <img src="<?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-success.png' ); ?>" alt="<?php esc_attr_e( 'Ok', 'wphb' ); ?>" style="-ms-interpolation-mode: bicubic; border: none; clear: both; float: left; display: inline-block; margin: 5px 0 0 -20px; height: 16px; outline: none; text-decoration: none; width: auto; vertical-align: middle;" />
426
- <?php elseif ( 'AVERAGE' === $last_test->desktop->field_data->FIRST_INPUT_DELAY_MS->category ) : ?>
427
- <img src="<?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-warning.png' ); ?>" alt="<?php esc_attr_e( 'Warning', 'wphb' ); ?>" style="-ms-interpolation-mode: bicubic; border: none; clear: both; float: left; display: inline-block; margin: 5px 0 0 -20px; height: 16px; outline: none; text-decoration: none; width: auto; vertical-align: middle;" />
428
- <?php elseif ( 'SLOW' === $last_test->desktop->field_data->FIRST_INPUT_DELAY_MS->category ) : ?>
429
- <img src="<?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-error.png' ); ?>" alt="<?php esc_attr_e( 'Critical', 'wphb' ); ?>" style="-ms-interpolation-mode: bicubic; border: none; clear: both; float: left; display: inline-block; margin: 5px 0 0 -20px; height: 16px; outline: none; text-decoration: none; width: auto; vertical-align: middle;" />
430
- <?php endif; ?>
431
- </td>
432
- <?php endif; ?>
433
- <?php if ( 'both' === $params['DEVICE'] || 'mobile' === $params['DEVICE'] ) : ?>
434
- <td class="report-list-item-result ok" style="border-collapse: collapse !important;color: #888888;font-family: 'Open Sans', Arial, sans-serif;font-size: 13px;font-weight: normal;line-height: 22px;margin: 0;min-width: 65px;padding: 10px 0;text-align: right;vertical-align: top">
435
- <span style="color: inherit; display: inline; font-size: inherit; font-family: inherit; line-height: inherit; vertical-align: middle;letter-spacing: -0.25px">
436
- <?php
437
- /* translators: %s - number of seconds */
438
- printf( '%s s', esc_html( $last_test->mobile->field_data->FIRST_INPUT_DELAY_MS->percentile ) );
439
- ?>
440
- </span>
441
- <?php if ( 'FAST' === $last_test->mobile->field_data->FIRST_INPUT_DELAY_MS->category ) : ?>
442
- <img src="<?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-success.png' ); ?>" alt="<?php esc_attr_e( 'Ok', 'wphb' ); ?>" style="-ms-interpolation-mode: bicubic; border: none; clear: both; float: left; display: inline-block; margin: 5px 0 0 -20px; height: 16px; outline: none; text-decoration: none; width: auto; vertical-align: middle;" />
443
- <?php elseif ( 'AVERAGE' === $last_test->mobile->field_data->FIRST_INPUT_DELAY_MS->category ) : ?>
444
- <img src="<?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-warning.png' ); ?>" alt="<?php esc_attr_e( 'Warning', 'wphb' ); ?>" style="-ms-interpolation-mode: bicubic; border: none; clear: both; float: left; display: inline-block; margin: 5px 0 0 -20px; height: 16px; outline: none; text-decoration: none; width: auto; vertical-align: middle;" />
445
- <?php elseif ( 'SLOW' === $last_test->mobile->field_data->FIRST_INPUT_DELAY_MS->category ) : ?>
446
- <img src="<?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-error.png' ); ?>" alt="<?php esc_attr_e( 'Critical', 'wphb' ); ?>" style="-ms-interpolation-mode: bicubic; border: none; clear: both; float: left; display: inline-block; margin: 5px 0 0 -20px; height: 16px; outline: none; text-decoration: none; width: auto; vertical-align: middle;" />
447
- <?php endif; ?>
448
- </td>
449
- <?php endif; ?>
450
- </tr>
451
- <?php endif; ?>
452
- </tbody>
453
- </table>
454
- <?php endif; ?>
455
-
456
- <p style="color: #555555;font-family: 'Open Sans', Arial, sans-serif;font-size: 16px;font-weight: normal;line-height: 20px;margin: 0 0 20px;padding: 0;text-align: center">
457
- <a href="<?php echo esc_url( $params['SCAN_PAGE_LINK'] ); ?>" class="brand-button" style="background: #17A8E3;color: #ffffff;font-family: 'Open Sans', Arial, sans-serif;font-size: 16px;font-weight: normal;line-height: 20px;margin: 0;padding: 10px 20px;text-align: center;text-decoration: none;display: inline-block;border-radius: 4px;text-transform: uppercase">
458
- <?php esc_html_e( 'View full report', 'wphb' ); ?>
459
- </a>
460
- </p>
461
-
462
- <p style="margin: 0 0 30px;padding: 0;text-align: center">
463
- <a style="color: #17A8E3;font-family: 'Open Sans', Arial, sans-serif;font-size: 12px;font-weight: 500;letter-spacing: -0.25px;line-height: 16px;text-decoration: none" href="<?php echo esc_url( $params['SCAN_PAGE_LINK'] . '&view=reports' ); ?>" class="brand-link" target="_blank">
464
- <?php esc_html_e( 'Customize email report', 'wphb' ); ?>
465
- </a>
466
- </p>
467
-
468
- <p style="color: #666666;font-family: 'Open Sans', Arial, sans-serif;font-size: 15px;font-weight: normal;line-height: 20px;margin: 0 0 20px;padding: 0;text-align: left;clear: both"><?php esc_html_e( 'Stay humming.', 'wphb' ); ?></p>
469
- <strong><?php esc_html_e( 'Hummingbird', 'wphb' ); ?></strong>
470
- <p style="color: #666666;font-family: 'Open Sans', Arial, sans-serif;font-size: 15px;font-weight: normal;line-height: 15px;margin: 10px 0 15px;padding: 0;text-align: left"><?php esc_html_e( 'Performance Hero', 'wphb' ); ?></p>
471
- <p style="color: #666666;font-family: 'Open Sans', Arial, sans-serif;font-size: 15px;font-weight: normal;line-height: 15px;margin: 0 0 30px;padding: 0;text-align: left"><?php esc_html_e( 'WPMU DEV', 'wphb' ); ?></p>
472
- </td>
473
- </tr>
474
- </tbody>
475
- </table>
476
-
477
- </td>
478
- </tr>
479
- </tbody>
480
- </table>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
core/Pro/modules/reporting/templates/uptime.php DELETED
@@ -1,108 +0,0 @@
1
- <?php
2
- /**
3
- * Main template file.
4
- *
5
- * @package Hummingbird
6
- * @var array $params Parameters array: REPORT_TYPE, USER_NAME, SCAN_PAGE_LINK, SITE_MANAGE_URL, SITE_URL, SITE_NAME.
7
- * @var Object $last_test Last test object.
8
- */
9
-
10
- if ( ! defined( 'ABSPATH' ) ) {
11
- exit;
12
- }
13
- ?>
14
-
15
- <table class="wrapper main" align="center" style="border-collapse: collapse; border-spacing: 0; padding: 0; text-align: left; vertical-align: top; width: 100%;">
16
- <tbody>
17
- <tr style="padding: 0; text-align: left; vertical-align: top;">
18
- <td class="wrapper-inner main-inner" style="-moz-hyphens: auto; -webkit-hyphens: auto; border-collapse: collapse !important; color: #555555; font-family: 'Open Sans', Arial, sans-serif; font-size: 14px; font-weight: normal; hyphens: auto; line-height: 30px; margin: 0; padding: 40px 60px; text-align: left; vertical-align: top; word-wrap: break-word;">
19
-
20
- <table class="main-content" style="border-collapse: collapse; border-spacing: 0; padding: 0; text-align: left; vertical-align: top; width: 100%;">
21
- <tbody>
22
- <tr style="padding: 0; text-align: left; vertical-align: top;">
23
- <td class="main-content-text" style="-moz-hyphens: auto; -webkit-hyphens: auto; border-collapse: collapse !important; color: #333333; font-family: 'Open Sans', Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 30px; margin: 0; padding: 0; text-align: left; vertical-align: top; word-wrap: break-word;">
24
- <?php /* translators: %s: Username. */ ?>
25
- <p style="color: #333333;font-family: 'Open Sans', Arial, sans-serif;font-size: 18px;font-weight: normal;line-height: 24px;margin: 0 0 10px;padding: 0;text-align: left"><?php printf( esc_html__( 'Hi %s,', 'wphb' ), esc_attr( $params['USER_NAME'] ) ); ?></p>
26
-
27
- <p style="color: #333333;font-family: 'Open Sans', Arial, sans-serif;font-size: 18px;font-weight: normal;line-height: 28px;margin: 0 0 30px;padding: 0;text-align: left;letter-spacing: -0.3px;"><?php esc_html_e( 'Here’s a quick summary of your weekly uptime and performance data for', 'wphb' ); ?> <strong><a class="brand" href="<?php echo esc_attr( $params['SITE_MANAGE_URL'] ); ?>" target="_blank" style="color: #17A8E3;font-family: 'Open Sans', Arial, sans-serif;font-weight: inherit;line-height: 30px;margin: 0;padding: 0;text-align: left;text-decoration: none"><?php echo esc_html( $params['SITE_URL'] ); ?></a></strong>.</p>
28
-
29
- <table class="reports-list" align="center" style="border-collapse: collapse;border-spacing: 0;border-top: 1px solid #F2F2F2;margin: 0 0 30px;padding: 0;text-align: left;vertical-align: top;width: 100%">
30
- <tbody>
31
- <tr class="report-list-item" style="border-bottom: 1px solid #F2F2F2;padding: 0;text-align: left;vertical-align: top">
32
- <td class="report-list-item-info" style="border-collapse: collapse !important;color: #333333;font-family: 'Open Sans', Arial, sans-serif;font-size: 15px;font-weight: 600;letter-spacing: -0.29px;line-height: 22px;margin: 0;padding: 18px 0;text-align: left;vertical-align: top">
33
- <span style="color: inherit; display: inline; font-size: inherit; font-family: inherit; line-height: inherit; vertical-align: middle;"><?php esc_html_e( 'Availability', 'wphb' ); ?></span>
34
- </td>
35
- <td class="report-list-item-result" style="border-collapse: collapse !important;font-family: 'Open Sans', Arial, sans-serif;font-size: 22px;font-weight: 600;letter-spacing: -0.42px;line-height: 22px;margin: 0;min-width: 65px;padding: 18px 0;text-align: right;vertical-align: top">
36
- <?php echo esc_html( $last_test->availability ); ?>
37
- <img alt="" src="<?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-up@2x.png' ); ?>" srcset="<?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-up.png' ); ?>, <?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-up@2x.png' ); ?> 2x" style="height: 20px;margin: 0 0 -2px 10px">
38
- </td>
39
- </tr>
40
- <tr class="report-list-item" style="border-bottom: 1px solid #F2F2F2;padding: 0;text-align: left;vertical-align: top">
41
- <td class="report-list-item-info" style="border-collapse: collapse !important;color: #333333;font-family: 'Open Sans', Arial, sans-serif;font-size: 15px;font-weight: 600;letter-spacing: -0.29px;line-height: 22px;margin: 0;padding: 18px 0;text-align: left;vertical-align: top">
42
- <span style="color: inherit; display: inline; font-size: inherit; font-family: inherit; line-height: inherit; vertical-align: middle;"><?php esc_html_e( 'Downtime', 'wphb' ); ?></span>
43
- </td>
44
- <td class="report-list-item-result" style="border-collapse: collapse !important;font-family: 'Open Sans', Arial, sans-serif;font-size: 22px;font-weight: 600;letter-spacing: -0.42px;line-height: 22px;margin: 0;min-width: 65px;padding: 18px 0;text-align: right;vertical-align: top">
45
- <?php
46
- if ( isset( $last_test->period_downtime ) && false !== $last_test->period_downtime ) {
47
- echo esc_html( str_replace( 'm', '', $last_test->period_downtime ) );
48
- } else {
49
- echo '0';
50
- }
51
- echo '<span style="font-size: 15px">min</span>';
52
- ?>
53
- <img alt="" src="<?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-down@2x.png' ); ?>" srcset="<?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-down.png' ); ?>, <?php echo esc_url( WPHB_DIR_URL . 'core/pro/modules/reporting/templates/images/icon-down@2x.png' ); ?> 2x" style="height: 20px;margin: 0 0 -2px 10px">
54
- </td>
55
- </tr>
56
- <tr class="report-list-item" style="border-bottom: 1px solid #F2F2F2;padding: 0;text-align: left;vertical-align: top">
57
- <td class="report-list-item-info" style="border-collapse: collapse !important;color: #333333;font-family: 'Open Sans', Arial, sans-serif;font-size: 15px;font-weight: 600;letter-spacing: -0.29px;line-height: 22px;margin: 0;padding: 18px 0;text-align: left;vertical-align: top">
58
- <span style="color: inherit; display: inline; font-size: inherit; font-family: inherit; line-height: inherit; vertical-align: middle;"><?php esc_html_e( 'Outages', 'wphb' ); ?></span>
59
- </td>
60
- <td class="report-list-item-result" style="border-collapse: collapse !important;color: #888888;font-family: 'Open Sans', Arial, sans-serif;font-size: 15px;font-weight: 600;letter-spacing: -0.29px;line-height: 22px;margin: 0;min-width: 65px;padding: 18px 0;text-align: right;vertical-align: top">
61
- <?php echo esc_html( $last_test->outages ); ?>
62
- </td>
63
- </tr>
64
- <tr class="report-list-item" style="border-bottom: 1px solid #F2F2F2;padding: 0;text-align: left;vertical-align: top">
65
- <td class="report-list-item-info" style="border-collapse: collapse !important;color: #333333;font-family: 'Open Sans', Arial, sans-serif;font-size: 15px;font-weight: 600;letter-spacing: -0.29px;line-height: 22px;margin: 0;padding: 18px 0;text-align: left;vertical-align: top">
66
- <span style="color: inherit; display: inline; font-size: inherit; font-family: inherit; line-height: inherit; vertical-align: middle;"><?php esc_html_e( 'Average Response Time', 'wphb' ); ?></span>
67
- </td>
68
- <td class="report-list-item-result" style="border-collapse: collapse !important;color: #888888;font-family: 'Open Sans', Arial, sans-serif;font-size: 15px;font-weight: 600;letter-spacing: -0.29px;line-height: 22px;margin: 0;min-width: 65px;padding: 18px 0;text-align: right;vertical-align: top">
69
- <?php echo esc_html( $last_test->response_time ); ?>
70
- </td>
71
- </tr>
72
- <tr class="report-list-item" style="border-bottom: 1px solid #F2F2F2;padding: 0;text-align: left;vertical-align: top">
73
- <td class="report-list-item-info" style="border-collapse: collapse !important;color: #333333;font-family: 'Open Sans', Arial, sans-serif;font-size: 15px;font-weight: 600;letter-spacing: -0.29px;line-height: 22px;margin: 0;padding: 18px 0;text-align: left;vertical-align: top">
74
- <span style="color: inherit; display: inline; font-size: inherit; font-family: inherit; line-height: inherit; vertical-align: middle;"><?php esc_html_e( 'Up Since', 'wphb' ); ?></span>
75
- </td>
76
- <td class="report-list-item-result" style="border-collapse: collapse !important;color: #888888;font-family: 'Open Sans', Arial, sans-serif;font-size: 15px;font-weight: 600;letter-spacing: -0.29px;line-height: 22px;margin: 0;min-width: 65px;padding: 18px 0;text-align: right;vertical-align: top">
77
- <?php
78
- if ( isset( $last_test->up_since ) && false !== $last_test->up_since ) {
79
- $gmt_date = gmdate( 'Y-m-d H:i:s', $last_test->up_since );
80
- $site_date = get_date_from_gmt( $gmt_date, get_option( 'date_format' ) . ' ' . get_option( 'time_format' ) );
81
- echo esc_html( $site_date );
82
- } else {
83
- echo '-';
84
- }
85
- ?>
86
- </td>
87
- </tr>
88
- </tbody>
89
- </table>
90
- <p style="color: #555555;font-family: 'Open Sans', Arial, sans-serif;font-size: 16px;font-weight: normal;line-height: 20px;margin: 0 0 30px;padding: 0;text-align: center">
91
- <a href="<?php echo esc_url( $params['SCAN_PAGE_LINK'] ); ?>" class="brand-button" style="background: #17A8E3;color: #ffffff;font-family: 'Open Sans', Arial, sans-serif;font-size: 16px;font-weight: normal;line-height: 20px;margin: 0;padding: 10px 20px;text-align: center;text-decoration: none;display: inline-block;border-radius: 4px;text-transform: uppercase">
92
- <?php esc_html_e( 'View full report', 'wphb' ); ?>
93
- </a>
94
- </p>
95
-
96
- <p style="color: #666666;font-family: 'Open Sans', Arial, sans-serif;font-size: 15px;font-weight: normal;line-height: 20px;margin: 0 0 20px;padding: 0;text-align: left;clear: both"><?php esc_html_e( 'Stay humming.', 'wphb' ); ?></p>
97
- <strong><?php esc_html_e( 'Hummingbird', 'wphb' ); ?></strong>
98
- <p style="color: #666666;font-family: 'Open Sans', Arial, sans-serif;font-size: 15px;font-weight: normal;line-height: 15px;margin: 10px 0 15px;padding: 0;text-align: left"><?php esc_html_e( 'Performance Hero', 'wphb' ); ?></p>
99
- <p style="color: #666666;font-family: 'Open Sans', Arial, sans-serif;font-size: 15px;font-weight: normal;line-height: 15px;margin: 0 0 30px;padding: 0;text-align: left"><?php esc_html_e( 'WPMU DEV', 'wphb' ); ?></p>
100
- </td>
101
- </tr>
102
- </tbody>
103
- </table>
104
-
105
- </td>
106
- </tr>
107
- </tbody>
108
- </table>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
readme.txt CHANGED
@@ -1,6 +1,6 @@
1
  === Hummingbird – Optimize Speed, Enable Cache, Minify CSS & Defer Critical JS ===
2
  Plugin Name: Hummingbird – Optimize Speed, Enable Cache, Minify CSS & Defer Critical JS
3
- Version: 2.7.3
4
  Author: WPMU DEV
5
  Author URI: https://wpmudev.com/
6
  Contributors: WPMUDEV
@@ -8,7 +8,7 @@ Tags: defer css javascript, cache, minify css, minify javascript, speed up wordp
8
  Requires at least: 5.2
9
  Tested up to: 5.7
10
  Requires PHP: 5.6
11
- Stable tag: 2.7.3
12
  License: GPLv2
13
  License URI: http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
14
 
@@ -178,6 +178,10 @@ Asset Optimization is a great way to speed up your site but moving, combining, u
178
 
179
  == Changelog ==
180
 
 
 
 
 
181
  = 2.7.3 ( 2021-03-12 ) =
182
 
183
  - New: Tutorials module
1
  === Hummingbird – Optimize Speed, Enable Cache, Minify CSS & Defer Critical JS ===
2
  Plugin Name: Hummingbird – Optimize Speed, Enable Cache, Minify CSS & Defer Critical JS
3
+ Version: 2.7.4
4
  Author: WPMU DEV
5
  Author URI: https://wpmudev.com/
6
  Contributors: WPMUDEV
8
  Requires at least: 5.2
9
  Tested up to: 5.7
10
  Requires PHP: 5.6
11
+ Stable tag: 2.7.4
12
  License: GPLv2
13
  License URI: http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
14
 
178
 
179
  == Changelog ==
180
 
181
+ = 2.7.4 ( 2021-04-28) =
182
+
183
+ - Fix broken package on wp.org
184
+
185
  = 2.7.3 ( 2021-03-12 ) =
186
 
187
  - New: Tutorials module
vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
- return ComposerAutoloaderInit72ae479ec5a958b4333f19dad1dc4a6a::getLoader();
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInite50e94685ae37e706badfcb05b92ef66::getLoader();
vendor/composer/InstalledVersions.php DELETED
@@ -1,614 +0,0 @@
1
- <?php
2
-
3
- namespace Composer;
4
-
5
- use Composer\Semver\VersionParser;
6
-
7
-
8
-
9
-
10
-
11
-
12
- class InstalledVersions
13
- {
14
- private static $installed = array (
15
- 'root' =>
16
- array (
17
- 'pretty_version' => 'dev-master',
18
- 'version' => 'dev-master',
19
- 'aliases' =>
20
- array (
21
- ),
22
- 'reference' => '78aafa0cf92451731e3debeda4d36bfe327931ee',
23
- 'name' => 'incsub/wp-hummingbird',
24
- ),
25
- 'versions' =>
26
- array (
27
- 'composer/xdebug-handler' =>
28
- array (
29
- 'pretty_version' => '1.4.5',
30
- 'version' => '1.4.5.0',
31
- 'aliases' =>
32
- array (
33
- ),
34
- 'reference' => 'f28d44c286812c714741478d968104c5e604a1d4',
35
- ),
36
- 'dealerdirect/phpcodesniffer-composer-installer' =>
37
- array (
38
- 'pretty_version' => 'v0.7.0',
39
- 'version' => '0.7.0.0',
40
- 'aliases' =>
41
- array (
42
- ),
43
- 'reference' => 'e8d808670b8f882188368faaf1144448c169c0b7',
44
- ),
45
- 'doctrine/instantiator' =>
46
- array (
47
- 'pretty_version' => '1.4.0',
48
- 'version' => '1.4.0.0',
49
- 'aliases' =>
50
- array (
51
- ),
52
- 'reference' => 'd56bf6102915de5702778fe20f2de3b2fe570b5b',
53
- ),
54
- 'incsub/wp-hummingbird' =>
55
- array (
56
- 'pretty_version' => 'dev-master',
57
- 'version' => 'dev-master',
58
- 'aliases' =>
59
- array (
60
- ),
61
- 'reference' => '78aafa0cf92451731e3debeda4d36bfe327931ee',
62
- ),
63
- 'myclabs/deep-copy' =>
64
- array (
65
- 'pretty_version' => '1.10.2',
66
- 'version' => '1.10.2.0',
67
- 'aliases' =>
68
- array (
69
- ),
70
- 'reference' => '776f831124e9c62e1a2c601ecc52e776d8bb7220',
71
- 'replaced' =>
72
- array (
73
- 0 => '1.10.2',
74
- ),
75
- ),
76
- 'pdepend/pdepend' =>
77
- array (
78
- 'pretty_version' => '2.8.0',
79
- 'version' => '2.8.0.0',
80
- 'aliases' =>
81
- array (
82
- ),
83
- 'reference' => 'c64472f8e76ca858c79ad9a4cf1e2734b3f8cc38',
84
- ),
85
- 'phar-io/manifest' =>
86
- array (
87
- 'pretty_version' => '1.0.3',
88
- 'version' => '1.0.3.0',
89
- 'aliases' =>
90
- array (
91
- ),
92
- 'reference' => '7761fcacf03b4d4f16e7ccb606d4879ca431fcf4',
93
- ),
94
- 'phar-io/version' =>
95
- array (
96
- 'pretty_version' => '2.0.1',
97
- 'version' => '2.0.1.0',
98
- 'aliases' =>
99
- array (
100
- ),
101
- 'reference' => '45a2ec53a73c70ce41d55cedef9063630abaf1b6',
102
- ),
103
- 'phpdocumentor/reflection-common' =>
104
- array (
105
- 'pretty_version' => '2.2.0',
106
- 'version' => '2.2.0.0',
107
- 'aliases' =>
108
- array (
109
- ),
110
- 'reference' => '1d01c49d4ed62f25aa84a747ad35d5a16924662b',
111
- ),
112
- 'phpdocumentor/reflection-docblock' =>
113
- array (
114
- 'pretty_version' => '5.2.2',
115
- 'version' => '5.2.2.0',
116
- 'aliases' =>
117
- array (
118
- ),
119
- 'reference' => '069a785b2141f5bcf49f3e353548dc1cce6df556',
120
- ),
121
- 'phpdocumentor/type-resolver' =>
122
- array (
123
- 'pretty_version' => '1.4.0',
124
- 'version' => '1.4.0.0',
125
- 'aliases' =>
126
- array (
127
- ),
128
- 'reference' => '6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0',
129
- ),
130
- 'phpmd/phpmd' =>
131
- array (
132
- 'pretty_version' => '2.9.1',
133
- 'version' => '2.9.1.0',
134
- 'aliases' =>
135
- array (
136
- ),
137
- 'reference' => 'ce10831d4ddc2686c1348a98069771dd314534a8',
138
- ),
139
- 'phpspec/prophecy' =>
140
- array (
141
- 'pretty_version' => '1.12.1',
142
- 'version' => '1.12.1.0',
143
- 'aliases' =>
144
- array (
145
- ),
146
- 'reference' => '8ce87516be71aae9b956f81906aaf0338e0d8a2d',
147
- ),
148
- 'phpunit/php-code-coverage' =>
149
- array (
150
- 'pretty_version' => '6.1.4',
151
- 'version' => '6.1.4.0',
152
- 'aliases' =>
153
- array (
154
- ),
155
- 'reference' => '807e6013b00af69b6c5d9ceb4282d0393dbb9d8d',
156
- ),
157
- 'phpunit/php-file-iterator' =>
158
- array (
159
- 'pretty_version' => '2.0.3',
160
- 'version' => '2.0.3.0',
161
- 'aliases' =>
162
- array (
163
- ),
164
- 'reference' => '4b49fb70f067272b659ef0174ff9ca40fdaa6357',
165
- ),
166
- 'phpunit/php-text-template' =>
167
- array (
168
- 'pretty_version' => '1.2.1',
169
- 'version' => '1.2.1.0',
170
- 'aliases' =>
171
- array (
172
- ),
173
- 'reference' => '31f8b717e51d9a2afca6c9f046f5d69fc27c8686',
174
- ),
175
- 'phpunit/php-timer' =>
176
- array (
177
- 'pretty_version' => '2.1.3',
178
- 'version' => '2.1.3.0',
179
- 'aliases' =>
180
- array (
181
- ),
182
- 'reference' => '2454ae1765516d20c4ffe103d85a58a9a3bd5662',
183
- ),
184
- 'phpunit/php-token-stream' =>
185
- array (
186
- 'pretty_version' => '3.1.2',
187
- 'version' => '3.1.2.0',
188
- 'aliases' =>
189
- array (
190
- ),
191
- 'reference' => '472b687829041c24b25f475e14c2f38a09edf1c2',
192
- ),
193
- 'phpunit/phpunit' =>
194
- array (
195
- 'pretty_version' => '7.5.20',
196
- 'version' => '7.5.20.0',
197
- 'aliases' =>
198
- array (
199
- ),
200
- 'reference' => '9467db479d1b0487c99733bb1e7944d32deded2c',
201
- ),
202
- 'predis/predis' =>
203
- array (
204
- 'pretty_version' => 'v1.1.6',
205
- 'version' => '1.1.6.0',
206
- 'aliases' =>
207
- array (
208
- ),
209
- 'reference' => '9930e933c67446962997b05201c69c2319bf26de',
210
- ),
211
- 'psr/container' =>
212
- array (
213
- 'pretty_version' => '1.0.0',
214
- 'version' => '1.0.0.0',
215
- 'aliases' =>
216
- array (
217
- ),
218
- 'reference' => 'b7ce3b176482dbbc1245ebf52b181af44c2cf55f',
219
- ),
220
- 'psr/container-implementation' =>
221
- array (
222
- 'provided' =>
223
- array (
224
- 0 => '1.0',
225
- ),
226
- ),
227
- 'psr/log' =>
228
- array (
229
- 'pretty_version' => '1.1.3',
230
- 'version' => '1.1.3.0',
231
- 'aliases' =>
232
- array (
233
- ),
234
- 'reference' => '0f73288fd15629204f9d42b7055f72dacbe811fc',
235
- ),
236
- 'sebastian/code-unit-reverse-lookup' =>
237
- array (
238
- 'pretty_version' => '1.0.2',
239
- 'version' => '1.0.2.0',
240
- 'aliases' =>
241
- array (
242
- ),
243
- 'reference' => '1de8cd5c010cb153fcd68b8d0f64606f523f7619',
244
- ),
245
- 'sebastian/comparator' =>
246
- array (
247
- 'pretty_version' => '3.0.3',
248
- 'version' => '3.0.3.0',
249
- 'aliases' =>
250
- array (
251
- ),
252
- 'reference' => '1071dfcef776a57013124ff35e1fc41ccd294758',
253
- ),
254
- 'sebastian/diff' =>
255
- array (
256
- 'pretty_version' => '3.0.3',
257
- 'version' => '3.0.3.0',
258
- 'aliases' =>
259
- array (
260
- ),
261
- 'reference' => '14f72dd46eaf2f2293cbe79c93cc0bc43161a211',
262
- ),
263
- 'sebastian/environment' =>
264
- array (
265
- 'pretty_version' => '4.2.4',
266
- 'version' => '4.2.4.0',
267
- 'aliases' =>
268
- array (
269
- ),
270
- 'reference' => 'd47bbbad83711771f167c72d4e3f25f7fcc1f8b0',
271
- ),
272
- 'sebastian/exporter' =>
273
- array (
274
- 'pretty_version' => '3.1.3',
275
- 'version' => '3.1.3.0',
276
- 'aliases' =>
277
- array (
278
- ),
279
- 'reference' => '6b853149eab67d4da22291d36f5b0631c0fd856e',
280
- ),
281
- 'sebastian/global-state' =>
282
- array (
283
- 'pretty_version' => '2.0.0',
284
- 'version' => '2.0.0.0',
285
- 'aliases' =>
286
- array (
287
- ),
288
- 'reference' => 'e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4',
289
- ),
290
- 'sebastian/object-enumerator' =>
291
- array (
292
- 'pretty_version' => '3.0.4',
293
- 'version' => '3.0.4.0',
294
- 'aliases' =>
295
- array (
296
- ),
297
- 'reference' => 'e67f6d32ebd0c749cf9d1dbd9f226c727043cdf2',
298
- ),
299
- 'sebastian/object-reflector' =>
300
- array (
301
- 'pretty_version' => '1.1.2',
302
- 'version' => '1.1.2.0',
303
- 'aliases' =>
304
- array (
305
- ),
306
- 'reference' => '9b8772b9cbd456ab45d4a598d2dd1a1bced6363d',
307
- ),
308
- 'sebastian/recursion-context' =>
309
- array (
310
- 'pretty_version' => '3.0.1',
311
- 'version' => '3.0.1.0',
312
- 'aliases' =>
313
- array (
314
- ),
315
- 'reference' => '367dcba38d6e1977be014dc4b22f47a484dac7fb',
316
- ),
317
- 'sebastian/resource-operations' =>
318
- array (
319
- 'pretty_version' => '2.0.2',
320
- 'version' => '2.0.2.0',
321
- 'aliases' =>
322
- array (
323
- ),
324
- 'reference' => '31d35ca87926450c44eae7e2611d45a7a65ea8b3',
325
- ),
326
- 'sebastian/version' =>
327
- array (
328
- 'pretty_version' => '2.0.1',
329
- 'version' => '2.0.1.0',
330
- 'aliases' =>
331
- array (
332
- ),
333
- 'reference' => '99732be0ddb3361e16ad77b68ba41efc8e979019',
334
- ),
335
- 'squizlabs/php_codesniffer' =>
336
- array (
337
- 'pretty_version' => '3.5.8',
338
- 'version' => '3.5.8.0',
339
- 'aliases' =>
340
- array (
341
- ),
342
- 'reference' => '9d583721a7157ee997f235f327de038e7ea6dac4',
343
- ),
344
- 'symfony/config' =>
345
- array (
346
- 'pretty_version' => 'v5.2.0',
347
- 'version' => '5.2.0.0',
348
- 'aliases' =>
349
- array (
350
- ),
351
- 'reference' => 'fa1219ecbf96bb5db59f2599cba0960a0d9c3aea',
352
- ),
353
- 'symfony/dependency-injection' =>
354
- array (
355
- 'pretty_version' => 'v5.2.0',
356
- 'version' => '5.2.0.0',
357
- 'aliases' =>
358
- array (
359
- ),
360
- 'reference' => '98cec9b9f410a4832e239949a41d47182862c3a4',
361
- ),
362
- 'symfony/deprecation-contracts' =>
363
- array (
364
- 'pretty_version' => 'v2.2.0',
365
- 'version' => '2.2.0.0',
366
- 'aliases' =>
367
- array (
368
- ),
369
- 'reference' => '5fa56b4074d1ae755beb55617ddafe6f5d78f665',
370
- ),
371
- 'symfony/filesystem' =>
372
- array (
373
- 'pretty_version' => 'v5.2.0',
374
- 'version' => '5.2.0.0',
375
- 'aliases' =>
376
- array (
377
- ),
378
- 'reference' => 'bb92ba7f38b037e531908590a858a04d85c0e238',
379
- ),
380
- 'symfony/polyfill-ctype' =>
381
- array (
382
- 'pretty_version' => 'v1.20.0',
383
- 'version' => '1.20.0.0',
384
- 'aliases' =>
385
- array (
386
- ),
387
- 'reference' => 'f4ba089a5b6366e453971d3aad5fe8e897b37f41',
388
- ),
389
- 'symfony/polyfill-php80' =>
390
- array (
391
- 'pretty_version' => 'v1.20.0',
392
- 'version' => '1.20.0.0',
393
- 'aliases' =>
394
- array (
395
- ),
396
- 'reference' => 'e70aa8b064c5b72d3df2abd5ab1e90464ad009de',
397
- ),
398
- 'symfony/service-contracts' =>
399
- array (
400
- 'pretty_version' => 'v2.2.0',
401
- 'version' => '2.2.0.0',
402
- 'aliases' =>
403
- array (
404
- ),
405
- 'reference' => 'd15da7ba4957ffb8f1747218be9e1a121fd298a1',
406
- ),
407
- 'symfony/service-implementation' =>
408
- array (
409
- 'provided' =>
410
- array (
411
- 0 => '1.0',
412
- ),
413
- ),
414
- 'theseer/tokenizer' =>
415
- array (
416
- 'pretty_version' => '1.2.0',
417
- 'version' => '1.2.0.0',
418
- 'aliases' =>
419
- array (
420
- ),
421
- 'reference' => '75a63c33a8577608444246075ea0af0d052e452a',
422
- ),
423
- 'webmozart/assert' =>
424
- array (
425
- 'pretty_version' => '1.9.1',
426
- 'version' => '1.9.1.0',
427
- 'aliases' =>
428
- array (
429
- ),
430
- 'reference' => 'bafc69caeb4d49c39fd0779086c03a3738cbb389',
431
- ),
432
- 'wp-coding-standards/wpcs' =>
433
- array (
434
- 'pretty_version' => '2.3.0',
435
- 'version' => '2.3.0.0',
436
- 'aliases' =>
437
- array (
438
- ),
439
- 'reference' => '7da1894633f168fe244afc6de00d141f27517b62',
440
- ),
441
- ),
442
- );
443
-
444
-
445
-
446
-
447
-
448
-
449
-
450
- public static function getInstalledPackages()
451
- {
452
- return array_keys(self::$installed['versions']);
453
- }
454
-
455
-
456
-
457
-
458
-
459
-
460
-
461
-
462
-
463
- public static function isInstalled($packageName)
464
- {
465
- return isset(self::$installed['versions'][$packageName]);
466
- }
467
-
468
-
469
-
470
-
471
-
472
-
473
-
474
-
475
-
476
-
477
-
478
-
479
-
480
-
481
- public static function satisfies(VersionParser $parser, $packageName, $constraint)
482
- {
483
- $constraint = $parser->parseConstraints($constraint);
484
- $provided = $parser->parseConstraints(self::getVersionRanges($packageName));
485
-
486
- return $provided->matches($constraint);
487
- }
488
-
489
-
490
-
491
-
492
-
493
-
494
-
495
-
496
-
497
-
498
- public static function getVersionRanges($packageName)
499
- {
500
- if (!isset(self::$installed['versions'][$packageName])) {
501
- throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
502
- }
503
-
504
- $ranges = array();
505
- if (isset(self::$installed['versions'][$packageName]['pretty_version'])) {
506
- $ranges[] = self::$installed['versions'][$packageName]['pretty_version'];
507
- }
508
- if (array_key_exists('aliases', self::$installed['versions'][$packageName])) {
509
- $ranges = array_merge($ranges, self::$installed['versions'][$packageName]['aliases']);
510
- }
511
- if (array_key_exists('replaced', self::$installed['versions'][$packageName])) {
512
- $ranges = array_merge($ranges, self::$installed['versions'][$packageName]['replaced']);
513
- }
514
- if (array_key_exists('provided', self::$installed['versions'][$packageName])) {
515
- $ranges = array_merge($ranges, self::$installed['versions'][$packageName]['provided']);
516
- }
517
-
518
- return implode(' || ', $ranges);
519
- }
520
-
521
-
522
-
523
-
524
-
525
- public static function getVersion($packageName)
526
- {
527
- if (!isset(self::$installed['versions'][$packageName])) {
528
- throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
529
- }
530
-
531
- if (!isset(self::$installed['versions'][$packageName]['version'])) {
532
- return null;
533
- }
534
-
535
- return self::$installed['versions'][$packageName]['version'];
536
- }
537
-
538
-
539
-
540
-
541
-
542
- public static function getPrettyVersion($packageName)
543
- {
544
- if (!isset(self::$installed['versions'][$packageName])) {
545
- throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
546
- }
547
-
548
- if (!isset(self::$installed['versions'][$packageName]['pretty_version'])) {
549
- return null;
550
- }
551
-
552
- return self::$installed['versions'][$packageName]['pretty_version'];
553
- }
554
-
555
-
556
-
557
-
558
-
559
- public static function getReference($packageName)
560
- {
561
- if (!isset(self::$installed['versions'][$packageName])) {
562
- throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
563
- }
564
-
565
- if (!isset(self::$installed['versions'][$packageName]['reference'])) {
566
- return null;
567
- }
568
-
569
- return self::$installed['versions'][$packageName]['reference'];
570
- }
571
-
572
-
573
-
574
-
575
-
576
- public static function getRootPackage()
577
- {
578
- return self::$installed['root'];
579
- }
580
-
581
-
582
-
583
-
584
-
585
-
586
-
587
- public static function getRawData()
588
- {
589
- return self::$installed;
590
- }
591
-
592
-
593
-
594
-
595
-
596
-
597
-
598
-
599
-
600
-
601
-
602
-
603
-
604
-
605
-
606
-
607
-
608
-
609
-
610
- public static function reload($data)
611
- {
612
- self::$installed = $data;
613
- }
614
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/composer/autoload_classmap.php CHANGED
@@ -13,16 +13,16 @@ return array(
13
  'Hummingbird\\Admin\\Ajax\\Minify' => $baseDir . '/admin/ajax/class-minify.php',
14
  'Hummingbird\\Admin\\Notices' => $baseDir . '/admin/class-notices.php',
15
  'Hummingbird\\Admin\\Page' => $baseDir . '/admin/class-page.php',
16
- 'Hummingbird\\Admin\\Pages\\Advanced' => $baseDir . '/admin/Pages/class-advanced.php',
17
- 'Hummingbird\\Admin\\Pages\\Caching' => $baseDir . '/admin/Pages/class-caching.php',
18
- 'Hummingbird\\Admin\\Pages\\Dashboard' => $baseDir . '/admin/Pages/class-dashboard.php',
19
- 'Hummingbird\\Admin\\Pages\\Minification' => $baseDir . '/admin/Pages/class-minification.php',
20
- 'Hummingbird\\Admin\\Pages\\Performance' => $baseDir . '/admin/Pages/class-performance.php',
21
- 'Hummingbird\\Admin\\Pages\\React\\Gzip' => $baseDir . '/admin/Pages/react/class-gzip.php',
22
- 'Hummingbird\\Admin\\Pages\\React\\Tutorials' => $baseDir . '/admin/Pages/react/class-tutorials.php',
23
- 'Hummingbird\\Admin\\Pages\\Settings' => $baseDir . '/admin/Pages/class-settings.php',
24
- 'Hummingbird\\Admin\\Pages\\Upgrade' => $baseDir . '/admin/Pages/class-upgrade.php',
25
- 'Hummingbird\\Admin\\Pages\\Uptime' => $baseDir . '/admin/Pages/class-uptime.php',
26
  'Hummingbird\\Core\\Api\\API' => $baseDir . '/core/api/class-api.php',
27
  'Hummingbird\\Core\\Api\\Exception' => $baseDir . '/core/api/class-exception.php',
28
  'Hummingbird\\Core\\Api\\Hub' => $baseDir . '/core/api/class-hub.php',
@@ -73,13 +73,13 @@ return array(
73
  'Hummingbird\\Core\\Modules\\Redis' => $baseDir . '/core/modules/class-redis.php',
74
  'Hummingbird\\Core\\Modules\\Rss' => $baseDir . '/core/modules/class-rss.php',
75
  'Hummingbird\\Core\\Modules\\Uptime' => $baseDir . '/core/modules/class-uptime.php',
76
- 'Hummingbird\\Core\\Pro\\Admin\\Pro_Admin' => $baseDir . '/core/Pro/admin/class-pro-admin.php',
77
- 'Hummingbird\\Core\\Pro\\Modules\\Cleanup_Cron' => $baseDir . '/core/Pro/modules/class-cleanup-cron.php',
78
- 'Hummingbird\\Core\\Pro\\Modules\\Reporting_Cron' => $baseDir . '/core/Pro/modules/class-reporting-cron.php',
79
- 'Hummingbird\\Core\\Pro\\Modules\\Reports' => $baseDir . '/core/Pro/modules/class-reports.php',
80
- 'Hummingbird\\Core\\Pro\\Modules\\Uptime_Reports' => $baseDir . '/core/Pro/modules/class-uptime-reports.php',
81
- 'Hummingbird\\Core\\Pro\\Pro' => $baseDir . '/core/Pro/class-pro.php',
82
- 'Hummingbird\\Core\\Pro\\Pro_AJAX' => $baseDir . '/core/Pro/class-pro-ajax.php',
83
  'Hummingbird\\Core\\Settings' => $baseDir . '/core/class-settings.php',
84
  'Hummingbird\\Core\\Traits\\Module' => $baseDir . '/core/traits/trait-module.php',
85
  'Hummingbird\\Core\\Traits\\Smush' => $baseDir . '/core/traits/trait-smush.php',
13
  'Hummingbird\\Admin\\Ajax\\Minify' => $baseDir . '/admin/ajax/class-minify.php',
14
  'Hummingbird\\Admin\\Notices' => $baseDir . '/admin/class-notices.php',
15
  'Hummingbird\\Admin\\Page' => $baseDir . '/admin/class-page.php',
16
+ 'Hummingbird\\Admin\\Pages\\Advanced' => $baseDir . '/admin/pages/class-advanced.php',
17
+ 'Hummingbird\\Admin\\Pages\\Caching' => $baseDir . '/admin/pages/class-caching.php',
18
+ 'Hummingbird\\Admin\\Pages\\Dashboard' => $baseDir . '/admin/pages/class-dashboard.php',
19
+ 'Hummingbird\\Admin\\Pages\\Minification' => $baseDir . '/admin/pages/class-minification.php',
20
+ 'Hummingbird\\Admin\\Pages\\Performance' => $baseDir . '/admin/pages/class-performance.php',
21
+ 'Hummingbird\\Admin\\Pages\\React\\Gzip' => $baseDir . '/admin/pages/react/class-gzip.php',
22
+ 'Hummingbird\\Admin\\Pages\\React\\Tutorials' => $baseDir . '/admin/pages/react/class-tutorials.php',
23
+ 'Hummingbird\\Admin\\Pages\\Settings' => $baseDir . '/admin/pages/class-settings.php',
24
+ 'Hummingbird\\Admin\\Pages\\Upgrade' => $baseDir . '/admin/pages/class-upgrade.php',
25
+ 'Hummingbird\\Admin\\Pages\\Uptime' => $baseDir . '/admin/pages/class-uptime.php',
26
  'Hummingbird\\Core\\Api\\API' => $baseDir . '/core/api/class-api.php',
27
  'Hummingbird\\Core\\Api\\Exception' => $baseDir . '/core/api/class-exception.php',
28
  'Hummingbird\\Core\\Api\\Hub' => $baseDir . '/core/api/class-hub.php',
73
  'Hummingbird\\Core\\Modules\\Redis' => $baseDir . '/core/modules/class-redis.php',
74
  'Hummingbird\\Core\\Modules\\Rss' => $baseDir . '/core/modules/class-rss.php',
75
  'Hummingbird\\Core\\Modules\\Uptime' => $baseDir . '/core/modules/class-uptime.php',
76
+ 'Hummingbird\\Core\\Pro\\Admin\\Pro_Admin' => $baseDir . '/core/pro/admin/class-pro-admin.php',
77
+ 'Hummingbird\\Core\\Pro\\Modules\\Cleanup_Cron' => $baseDir . '/core/pro/modules/class-cleanup-cron.php',
78
+ 'Hummingbird\\Core\\Pro\\Modules\\Reporting_Cron' => $baseDir . '/core/pro/modules/class-reporting-cron.php',
79
+ 'Hummingbird\\Core\\Pro\\Modules\\Reports' => $baseDir . '/core/pro/modules/class-reports.php',
80
+ 'Hummingbird\\Core\\Pro\\Modules\\Uptime_Reports' => $baseDir . '/core/pro/modules/class-uptime-reports.php',
81
+ 'Hummingbird\\Core\\Pro\\Pro' => $baseDir . '/core/pro/class-pro.php',
82
+ 'Hummingbird\\Core\\Pro\\Pro_AJAX' => $baseDir . '/core/pro/class-pro-ajax.php',
83
  'Hummingbird\\Core\\Settings' => $baseDir . '/core/class-settings.php',
84
  'Hummingbird\\Core\\Traits\\Module' => $baseDir . '/core/traits/trait-module.php',
85
  'Hummingbird\\Core\\Traits\\Smush' => $baseDir . '/core/traits/trait-smush.php',
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInit72ae479ec5a958b4333f19dad1dc4a6a
6
  {
7
  private static $loader;
8
 
@@ -22,15 +22,15 @@ class ComposerAutoloaderInit72ae479ec5a958b4333f19dad1dc4a6a
22
  return self::$loader;
23
  }
24
 
25
- spl_autoload_register(array('ComposerAutoloaderInit72ae479ec5a958b4333f19dad1dc4a6a', 'loadClassLoader'), true, true);
26
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
27
- spl_autoload_unregister(array('ComposerAutoloaderInit72ae479ec5a958b4333f19dad1dc4a6a', 'loadClassLoader'));
28
 
29
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
30
  if ($useStaticLoader) {
31
  require_once __DIR__ . '/autoload_static.php';
32
 
33
- call_user_func(\Composer\Autoload\ComposerStaticInit72ae479ec5a958b4333f19dad1dc4a6a::getInitializer($loader));
34
  } else {
35
  $map = require __DIR__ . '/autoload_namespaces.php';
36
  foreach ($map as $namespace => $path) {
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInite50e94685ae37e706badfcb05b92ef66
6
  {
7
  private static $loader;
8
 
22
  return self::$loader;
23
  }
24
 
25
+ spl_autoload_register(array('ComposerAutoloaderInite50e94685ae37e706badfcb05b92ef66', 'loadClassLoader'), true, true);
26
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
27
+ spl_autoload_unregister(array('ComposerAutoloaderInite50e94685ae37e706badfcb05b92ef66', 'loadClassLoader'));
28
 
29
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
30
  if ($useStaticLoader) {
31
  require_once __DIR__ . '/autoload_static.php';
32
 
33
+ call_user_func(\Composer\Autoload\ComposerStaticInite50e94685ae37e706badfcb05b92ef66::getInitializer($loader));
34
  } else {
35
  $map = require __DIR__ . '/autoload_namespaces.php';
36
  foreach ($map as $namespace => $path) {
vendor/composer/autoload_static.php CHANGED
@@ -4,7 +4,7 @@
4
 
5
  namespace Composer\Autoload;
6
 
7
- class ComposerStaticInit72ae479ec5a958b4333f19dad1dc4a6a
8
  {
9
  public static $prefixLengthsPsr4 = array (
10
  'P' =>
@@ -41,16 +41,16 @@ class ComposerStaticInit72ae479ec5a958b4333f19dad1dc4a6a
41
  'Hummingbird\\Admin\\Ajax\\Minify' => __DIR__ . '/../..' . '/admin/ajax/class-minify.php',
42
  'Hummingbird\\Admin\\Notices' => __DIR__ . '/../..' . '/admin/class-notices.php',
43
  'Hummingbird\\Admin\\Page' => __DIR__ . '/../..' . '/admin/class-page.php',
44
- 'Hummingbird\\Admin\\Pages\\Advanced' => __DIR__ . '/../..' . '/admin/Pages/class-advanced.php',
45
- 'Hummingbird\\Admin\\Pages\\Caching' => __DIR__ . '/../..' . '/admin/Pages/class-caching.php',
46
- 'Hummingbird\\Admin\\Pages\\Dashboard' => __DIR__ . '/../..' . '/admin/Pages/class-dashboard.php',
47
- 'Hummingbird\\Admin\\Pages\\Minification' => __DIR__ . '/../..' . '/admin/Pages/class-minification.php',
48
- 'Hummingbird\\Admin\\Pages\\Performance' => __DIR__ . '/../..' . '/admin/Pages/class-performance.php',
49
- 'Hummingbird\\Admin\\Pages\\React\\Gzip' => __DIR__ . '/../..' . '/admin/Pages/react/class-gzip.php',
50
- 'Hummingbird\\Admin\\Pages\\React\\Tutorials' => __DIR__ . '/../..' . '/admin/Pages/react/class-tutorials.php',
51
- 'Hummingbird\\Admin\\Pages\\Settings' => __DIR__ . '/../..' . '/admin/Pages/class-settings.php',
52
- 'Hummingbird\\Admin\\Pages\\Upgrade' => __DIR__ . '/../..' . '/admin/Pages/class-upgrade.php',
53
- 'Hummingbird\\Admin\\Pages\\Uptime' => __DIR__ . '/../..' . '/admin/Pages/class-uptime.php',
54
  'Hummingbird\\Core\\Api\\API' => __DIR__ . '/../..' . '/core/api/class-api.php',
55
  'Hummingbird\\Core\\Api\\Exception' => __DIR__ . '/../..' . '/core/api/class-exception.php',
56
  'Hummingbird\\Core\\Api\\Hub' => __DIR__ . '/../..' . '/core/api/class-hub.php',
@@ -101,13 +101,13 @@ class ComposerStaticInit72ae479ec5a958b4333f19dad1dc4a6a
101
  'Hummingbird\\Core\\Modules\\Redis' => __DIR__ . '/../..' . '/core/modules/class-redis.php',
102
  'Hummingbird\\Core\\Modules\\Rss' => __DIR__ . '/../..' . '/core/modules/class-rss.php',
103
  'Hummingbird\\Core\\Modules\\Uptime' => __DIR__ . '/../..' . '/core/modules/class-uptime.php',
104
- 'Hummingbird\\Core\\Pro\\Admin\\Pro_Admin' => __DIR__ . '/../..' . '/core/Pro/admin/class-pro-admin.php',
105
- 'Hummingbird\\Core\\Pro\\Modules\\Cleanup_Cron' => __DIR__ . '/../..' . '/core/Pro/modules/class-cleanup-cron.php',
106
- 'Hummingbird\\Core\\Pro\\Modules\\Reporting_Cron' => __DIR__ . '/../..' . '/core/Pro/modules/class-reporting-cron.php',
107
- 'Hummingbird\\Core\\Pro\\Modules\\Reports' => __DIR__ . '/../..' . '/core/Pro/modules/class-reports.php',
108
- 'Hummingbird\\Core\\Pro\\Modules\\Uptime_Reports' => __DIR__ . '/../..' . '/core/Pro/modules/class-uptime-reports.php',
109
- 'Hummingbird\\Core\\Pro\\Pro' => __DIR__ . '/../..' . '/core/Pro/class-pro.php',
110
- 'Hummingbird\\Core\\Pro\\Pro_AJAX' => __DIR__ . '/../..' . '/core/Pro/class-pro-ajax.php',
111
  'Hummingbird\\Core\\Settings' => __DIR__ . '/../..' . '/core/class-settings.php',
112
  'Hummingbird\\Core\\Traits\\Module' => __DIR__ . '/../..' . '/core/traits/trait-module.php',
113
  'Hummingbird\\Core\\Traits\\Smush' => __DIR__ . '/../..' . '/core/traits/trait-smush.php',
@@ -389,9 +389,9 @@ class ComposerStaticInit72ae479ec5a958b4333f19dad1dc4a6a
389
  public static function getInitializer(ClassLoader $loader)
390
  {
391
  return \Closure::bind(function () use ($loader) {
392
- $loader->prefixLengthsPsr4 = ComposerStaticInit72ae479ec5a958b4333f19dad1dc4a6a::$prefixLengthsPsr4;
393
- $loader->prefixDirsPsr4 = ComposerStaticInit72ae479ec5a958b4333f19dad1dc4a6a::$prefixDirsPsr4;
394
- $loader->classMap = ComposerStaticInit72ae479ec5a958b4333f19dad1dc4a6a::$classMap;
395
 
396
  }, null, ClassLoader::class);
397
  }
4
 
5
  namespace Composer\Autoload;
6
 
7
+ class ComposerStaticInite50e94685ae37e706badfcb05b92ef66
8
  {
9
  public static $prefixLengthsPsr4 = array (
10
  'P' =>
41
  'Hummingbird\\Admin\\Ajax\\Minify' => __DIR__ . '/../..' . '/admin/ajax/class-minify.php',
42
  'Hummingbird\\Admin\\Notices' => __DIR__ . '/../..' . '/admin/class-notices.php',
43
  'Hummingbird\\Admin\\Page' => __DIR__ . '/../..' . '/admin/class-page.php',
44
+ 'Hummingbird\\Admin\\Pages\\Advanced' => __DIR__ . '/../..' . '/admin/pages/class-advanced.php',
45
+ 'Hummingbird\\Admin\\Pages\\Caching' => __DIR__ . '/../..' . '/admin/pages/class-caching.php',
46
+ 'Hummingbird\\Admin\\Pages\\Dashboard' => __DIR__ . '/../..' . '/admin/pages/class-dashboard.php',
47
+ 'Hummingbird\\Admin\\Pages\\Minification' => __DIR__ . '/../..' . '/admin/pages/class-minification.php',
48
+ 'Hummingbird\\Admin\\Pages\\Performance' => __DIR__ . '/../..' . '/admin/pages/class-performance.php',
49
+ 'Hummingbird\\Admin\\Pages\\React\\Gzip' => __DIR__ . '/../..' . '/admin/pages/react/class-gzip.php',
50
+ 'Hummingbird\\Admin\\Pages\\React\\Tutorials' => __DIR__ . '/../..' . '/admin/pages/react/class-tutorials.php',
51
+ 'Hummingbird\\Admin\\Pages\\Settings' => __DIR__ . '/../..' . '/admin/pages/class-settings.php',
52
+ 'Hummingbird\\Admin\\Pages\\Upgrade' => __DIR__ . '/../..' . '/admin/pages/class-upgrade.php',
53
+ 'Hummingbird\\Admin\\Pages\\Uptime' => __DIR__ . '/../..' . '/admin/pages/class-uptime.php',
54
  'Hummingbird\\Core\\Api\\API' => __DIR__ . '/../..' . '/core/api/class-api.php',
55
  'Hummingbird\\Core\\Api\\Exception' => __DIR__ . '/../..' . '/core/api/class-exception.php',
56
  'Hummingbird\\Core\\Api\\Hub' => __DIR__ . '/../..' . '/core/api/class-hub.php',
101
  'Hummingbird\\Core\\Modules\\Redis' => __DIR__ . '/../..' . '/core/modules/class-redis.php',
102
  'Hummingbird\\Core\\Modules\\Rss' => __DIR__ . '/../..' . '/core/modules/class-rss.php',
103
  'Hummingbird\\Core\\Modules\\Uptime' => __DIR__ . '/../..' . '/core/modules/class-uptime.php',
104
+ 'Hummingbird\\Core\\Pro\\Admin\\Pro_Admin' => __DIR__ . '/../..' . '/core/pro/admin/class-pro-admin.php',
105
+ 'Hummingbird\\Core\\Pro\\Modules\\Cleanup_Cron' => __DIR__ . '/../..' . '/core/pro/modules/class-cleanup-cron.php',
106
+ 'Hummingbird\\Core\\Pro\\Modules\\Reporting_Cron' => __DIR__ . '/../..' . '/core/pro/modules/class-reporting-cron.php',
107
+ 'Hummingbird\\Core\\Pro\\Modules\\Reports' => __DIR__ . '/../..' . '/core/pro/modules/class-reports.php',
108
+ 'Hummingbird\\Core\\Pro\\Modules\\Uptime_Reports' => __DIR__ . '/../..' . '/core/pro/modules/class-uptime-reports.php',
109
+ 'Hummingbird\\Core\\Pro\\Pro' => __DIR__ . '/../..' . '/core/pro/class-pro.php',
110
+ 'Hummingbird\\Core\\Pro\\Pro_AJAX' => __DIR__ . '/../..' . '/core/pro/class-pro-ajax.php',
111
  'Hummingbird\\Core\\Settings' => __DIR__ . '/../..' . '/core/class-settings.php',
112
  'Hummingbird\\Core\\Traits\\Module' => __DIR__ . '/../..' . '/core/traits/trait-module.php',
113
  'Hummingbird\\Core\\Traits\\Smush' => __DIR__ . '/../..' . '/core/traits/trait-smush.php',
389
  public static function getInitializer(ClassLoader $loader)
390
  {
391
  return \Closure::bind(function () use ($loader) {
392
+ $loader->prefixLengthsPsr4 = ComposerStaticInite50e94685ae37e706badfcb05b92ef66::$prefixLengthsPsr4;
393
+ $loader->prefixDirsPsr4 = ComposerStaticInite50e94685ae37e706badfcb05b92ef66::$prefixDirsPsr4;
394
+ $loader->classMap = ComposerStaticInite50e94685ae37e706badfcb05b92ef66::$classMap;
395
 
396
  }, null, ClassLoader::class);
397
  }
vendor/composer/installed.json CHANGED
@@ -69,10 +69,6 @@
69
  "predis",
70
  "redis"
71
  ],
72
- "support": {
73
- "issues": "https://github.com/predis/predis/issues",
74
- "source": "https://github.com/predis/predis/tree/v1.1.6"
75
- },
76
  "funding": [
77
  {
78
  "url": "https://github.com/sponsors/tillkruss",
69
  "predis",
70
  "redis"
71
  ],
 
 
 
 
72
  "funding": [
73
  {
74
  "url": "https://github.com/sponsors/tillkruss",
vendor/composer/installed.php DELETED
@@ -1,429 +0,0 @@
1
- <?php return array (
2
- 'root' =>
3
- array (
4
- 'pretty_version' => 'dev-master',
5
- 'version' => 'dev-master',
6
- 'aliases' =>
7
- array (
8
- ),
9
- 'reference' => '78aafa0cf92451731e3debeda4d36bfe327931ee',
10
- 'name' => 'incsub/wp-hummingbird',
11
- ),
12
- 'versions' =>
13
- array (
14
- 'composer/xdebug-handler' =>
15
- array (
16
- 'pretty_version' => '1.4.5',
17
- 'version' => '1.4.5.0',
18
- 'aliases' =>
19
- array (
20
- ),
21
- 'reference' => 'f28d44c286812c714741478d968104c5e604a1d4',
22
- ),
23
- 'dealerdirect/phpcodesniffer-composer-installer' =>
24
- array (
25
- 'pretty_version' => 'v0.7.0',
26
- 'version' => '0.7.0.0',
27
- 'aliases' =>
28
- array (
29
- ),
30
- 'reference' => 'e8d808670b8f882188368faaf1144448c169c0b7',
31
- ),
32
- 'doctrine/instantiator' =>
33
- array (
34
- 'pretty_version' => '1.4.0',
35
- 'version' => '1.4.0.0',
36
- 'aliases' =>
37
- array (
38
- ),
39
- 'reference' => 'd56bf6102915de5702778fe20f2de3b2fe570b5b',
40
- ),
41
- 'incsub/wp-hummingbird' =>
42
- array (
43
- 'pretty_version' => 'dev-master',
44
- 'version' => 'dev-master',
45
- 'aliases' =>
46
- array (
47
- ),
48
- 'reference' => '78aafa0cf92451731e3debeda4d36bfe327931ee',
49
- ),
50
- 'myclabs/deep-copy' =>
51
- array (
52
- 'pretty_version' => '1.10.2',
53
- 'version' => '1.10.2.0',
54
- 'aliases' =>
55
- array (
56
- ),
57
- 'reference' => '776f831124e9c62e1a2c601ecc52e776d8bb7220',
58
- 'replaced' =>
59
- array (
60
- 0 => '1.10.2',
61
- ),
62
- ),
63
- 'pdepend/pdepend' =>
64
- array (
65
- 'pretty_version' => '2.8.0',
66
- 'version' => '2.8.0.0',
67
- 'aliases' =>
68
- array (
69
- ),
70
- 'reference' => 'c64472f8e76ca858c79ad9a4cf1e2734b3f8cc38',
71
- ),
72
- 'phar-io/manifest' =>
73
- array (
74
- 'pretty_version' => '1.0.3',
75
- 'version' => '1.0.3.0',
76
- 'aliases' =>
77
- array (
78
- ),
79
- 'reference' => '7761fcacf03b4d4f16e7ccb606d4879ca431fcf4',
80
- ),
81
- 'phar-io/version' =>
82
- array (
83
- 'pretty_version' => '2.0.1',
84
- 'version' => '2.0.1.0',
85
- 'aliases' =>
86
- array (
87
- ),
88
- 'reference' => '45a2ec53a73c70ce41d55cedef9063630abaf1b6',
89
- ),
90
- 'phpdocumentor/reflection-common' =>
91
- array (
92
- 'pretty_version' => '2.2.0',
93
- 'version' => '2.2.0.0',
94
- 'aliases' =>
95
- array (
96
- ),
97
- 'reference' => '1d01c49d4ed62f25aa84a747ad35d5a16924662b',
98
- ),
99
- 'phpdocumentor/reflection-docblock' =>
100
- array (
101
- 'pretty_version' => '5.2.2',
102
- 'version' => '5.2.2.0',
103
- 'aliases' =>
104
- array (
105
- ),
106
- 'reference' => '069a785b2141f5bcf49f3e353548dc1cce6df556',
107
- ),
108
- 'phpdocumentor/type-resolver' =>
109
- array (
110
- 'pretty_version' => '1.4.0',
111
- 'version' => '1.4.0.0',
112
- 'aliases' =>
113
- array (
114
- ),
115
- 'reference' => '6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0',
116
- ),
117
- 'phpmd/phpmd' =>
118
- array (
119
- 'pretty_version' => '2.9.1',
120
- 'version' => '2.9.1.0',
121
- 'aliases' =>
122
- array (
123
- ),
124
- 'reference' => 'ce10831d4ddc2686c1348a98069771dd314534a8',
125
- ),
126
- 'phpspec/prophecy' =>
127
- array (
128
- 'pretty_version' => '1.12.1',
129
- 'version' => '1.12.1.0',
130
- 'aliases' =>
131
- array (
132
- ),
133
- 'reference' => '8ce87516be71aae9b956f81906aaf0338e0d8a2d',
134
- ),
135
- 'phpunit/php-code-coverage' =>
136
- array (
137
- 'pretty_version' => '6.1.4',
138
- 'version' => '6.1.4.0',
139
- 'aliases' =>
140
- array (
141
- ),
142
- 'reference' => '807e6013b00af69b6c5d9ceb4282d0393dbb9d8d',
143
- ),
144
- 'phpunit/php-file-iterator' =>
145
- array (
146
- 'pretty_version' => '2.0.3',
147
- 'version' => '2.0.3.0',
148
- 'aliases' =>
149
- array (
150
- ),
151
- 'reference' => '4b49fb70f067272b659ef0174ff9ca40fdaa6357',
152
- ),
153
- 'phpunit/php-text-template' =>
154
- array (
155
- 'pretty_version' => '1.2.1',
156
- 'version' => '1.2.1.0',
157
- 'aliases' =>
158
- array (
159
- ),
160
- 'reference' => '31f8b717e51d9a2afca6c9f046f5d69fc27c8686',
161
- ),
162
- 'phpunit/php-timer' =>
163
- array (
164
- 'pretty_version' => '2.1.3',
165
- 'version' => '2.1.3.0',
166
- 'aliases' =>
167
- array (
168
- ),
169
- 'reference' => '2454ae1765516d20c4ffe103d85a58a9a3bd5662',
170
- ),
171
- 'phpunit/php-token-stream' =>
172
- array (
173
- 'pretty_version' => '3.1.2',
174
- 'version' => '3.1.2.0',
175
- 'aliases' =>
176
- array (
177
- ),
178
- 'reference' => '472b687829041c24b25f475e14c2f38a09edf1c2',
179
- ),
180
- 'phpunit/phpunit' =>
181
- array (
182
- 'pretty_version' => '7.5.20',
183
- 'version' => '7.5.20.0',
184
- 'aliases' =>
185
- array (
186
- ),
187
- 'reference' => '9467db479d1b0487c99733bb1e7944d32deded2c',
188
- ),
189
- 'predis/predis' =>
190
- array (
191
- 'pretty_version' => 'v1.1.6',
192
- 'version' => '1.1.6.0',
193
- 'aliases' =>
194
- array (
195
- ),
196
- 'reference' => '9930e933c67446962997b05201c69c2319bf26de',
197
- ),
198
- 'psr/container' =>
199
- array (
200
- 'pretty_version' => '1.0.0',
201
- 'version' => '1.0.0.0',
202
- 'aliases' =>
203
- array (
204
- ),
205
- 'reference' => 'b7ce3b176482dbbc1245ebf52b181af44c2cf55f',
206
- ),
207
- 'psr/container-implementation' =>
208
- array (
209
- 'provided' =>
210
- array (
211
- 0 => '1.0',
212
- ),
213
- ),
214
- 'psr/log' =>
215
- array (
216
- 'pretty_version' => '1.1.3',
217
- 'version' => '1.1.3.0',
218
- 'aliases' =>
219
- array (
220
- ),
221
- 'reference' => '0f73288fd15629204f9d42b7055f72dacbe811fc',
222
- ),
223
- 'sebastian/code-unit-reverse-lookup' =>
224
- array (
225
- 'pretty_version' => '1.0.2',
226
- 'version' => '1.0.2.0',
227
- 'aliases' =>
228
- array (
229
- ),
230
- 'reference' => '1de8cd5c010cb153fcd68b8d0f64606f523f7619',
231
- ),
232
- 'sebastian/comparator' =>
233
- array (
234
- 'pretty_version' => '3.0.3',
235
- 'version' => '3.0.3.0',
236
- 'aliases' =>
237
- array (
238
- ),
239
- 'reference' => '1071dfcef776a57013124ff35e1fc41ccd294758',
240
- ),
241
- 'sebastian/diff' =>
242
- array (
243
- 'pretty_version' => '3.0.3',
244
- 'version' => '3.0.3.0',
245
- 'aliases' =>
246
- array (
247
- ),
248
- 'reference' => '14f72dd46eaf2f2293cbe79c93cc0bc43161a211',
249
- ),
250
- 'sebastian/environment' =>
251
- array (
252
- 'pretty_version' => '4.2.4',
253
- 'version' => '4.2.4.0',
254
- 'aliases' =>
255
- array (
256
- ),
257
- 'reference' => 'd47bbbad83711771f167c72d4e3f25f7fcc1f8b0',
258
- ),
259
- 'sebastian/exporter' =>
260
- array (
261
- 'pretty_version' => '3.1.3',
262
- 'version' => '3.1.3.0',
263
- 'aliases' =>
264
- array (
265
- ),
266
- 'reference' => '6b853149eab67d4da22291d36f5b0631c0fd856e',
267
- ),
268
- 'sebastian/global-state' =>
269
- array (
270
- 'pretty_version' => '2.0.0',
271
- 'version' => '2.0.0.0',
272
- 'aliases' =>
273
- array (
274
- ),
275
- 'reference' => 'e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4',
276
- ),
277
- 'sebastian/object-enumerator' =>
278
- array (
279
- 'pretty_version' => '3.0.4',
280
- 'version' => '3.0.4.0',
281
- 'aliases' =>
282
- array (
283
- ),
284
- 'reference' => 'e67f6d32ebd0c749cf9d1dbd9f226c727043cdf2',
285
- ),
286
- 'sebastian/object-reflector' =>
287
- array (
288
- 'pretty_version' => '1.1.2',
289
- 'version' => '1.1.2.0',
290
- 'aliases' =>
291
- array (
292
- ),
293
- 'reference' => '9b8772b9cbd456ab45d4a598d2dd1a1bced6363d',
294
- ),
295
- 'sebastian/recursion-context' =>
296
- array (
297
- 'pretty_version' => '3.0.1',
298
- 'version' => '3.0.1.0',
299
- 'aliases' =>
300
- array (
301
- ),
302
- 'reference' => '367dcba38d6e1977be014dc4b22f47a484dac7fb',
303
- ),
304
- 'sebastian/resource-operations' =>
305
- array (
306
- 'pretty_version' => '2.0.2',
307
- 'version' => '2.0.2.0',
308
- 'aliases' =>
309
- array (
310
- ),
311
- 'reference' => '31d35ca87926450c44eae7e2611d45a7a65ea8b3',
312
- ),
313
- 'sebastian/version' =>
314
- array (
315
- 'pretty_version' => '2.0.1',
316
- 'version' => '2.0.1.0',
317
- 'aliases' =>
318
- array (
319
- ),
320
- 'reference' => '99732be0ddb3361e16ad77b68ba41efc8e979019',
321
- ),
322
- 'squizlabs/php_codesniffer' =>
323
- array (
324
- 'pretty_version' => '3.5.8',
325
- 'version' => '3.5.8.0',
326
- 'aliases' =>
327
- array (
328
- ),
329
- 'reference' => '9d583721a7157ee997f235f327de038e7ea6dac4',
330
- ),
331
- 'symfony/config' =>
332
- array (
333
- 'pretty_version' => 'v5.2.0',
334
- 'version' => '5.2.0.0',
335
- 'aliases' =>
336
- array (
337
- ),
338
- 'reference' => 'fa1219ecbf96bb5db59f2599cba0960a0d9c3aea',
339
- ),
340
- 'symfony/dependency-injection' =>
341
- array (
342
- 'pretty_version' => 'v5.2.0',
343
- 'version' => '5.2.0.0',
344
- 'aliases' =>
345
- array (
346
- ),
347
- 'reference' => '98cec9b9f410a4832e239949a41d47182862c3a4',
348
- ),
349
- 'symfony/deprecation-contracts' =>
350
- array (
351
- 'pretty_version' => 'v2.2.0',
352
- 'version' => '2.2.0.0',
353
- 'aliases' =>
354
- array (
355
- ),
356
- 'reference' => '5fa56b4074d1ae755beb55617ddafe6f5d78f665',
357
- ),
358
- 'symfony/filesystem' =>
359
- array (
360
- 'pretty_version' => 'v5.2.0',
361
- 'version' => '5.2.0.0',
362
- 'aliases' =>
363
- array (
364
- ),
365
- 'reference' => 'bb92ba7f38b037e531908590a858a04d85c0e238',
366
- ),
367
- 'symfony/polyfill-ctype' =>
368
- array (
369
- 'pretty_version' => 'v1.20.0',
370
- 'version' => '1.20.0.0',
371
- 'aliases' =>
372
- array (
373
- ),
374
- 'reference' => 'f4ba089a5b6366e453971d3aad5fe8e897b37f41',
375
- ),
376
- 'symfony/polyfill-php80' =>
377
- array (
378
- 'pretty_version' => 'v1.20.0',
379
- 'version' => '1.20.0.0',
380
- 'aliases' =>
381
- array (
382
- ),
383
- 'reference' => 'e70aa8b064c5b72d3df2abd5ab1e90464ad009de',
384
- ),
385
- 'symfony/service-contracts' =>
386
- array (
387
- 'pretty_version' => 'v2.2.0',
388
- 'version' => '2.2.0.0',
389
- 'aliases' =>
390
- array (
391
- ),
392
- 'reference' => 'd15da7ba4957ffb8f1747218be9e1a121fd298a1',
393
- ),
394
- 'symfony/service-implementation' =>
395
- array (
396
- 'provided' =>
397
- array (
398
- 0 => '1.0',
399
- ),
400
- ),
401
- 'theseer/tokenizer' =>
402
- array (
403
- 'pretty_version' => '1.2.0',
404
- 'version' => '1.2.0.0',
405
- 'aliases' =>
406
- array (
407
- ),
408
- 'reference' => '75a63c33a8577608444246075ea0af0d052e452a',
409
- ),
410
- 'webmozart/assert' =>
411
- array (
412
- 'pretty_version' => '1.9.1',
413
- 'version' => '1.9.1.0',
414
- 'aliases' =>
415
- array (
416
- ),
417
- 'reference' => 'bafc69caeb4d49c39fd0779086c03a3738cbb389',
418
- ),
419
- 'wp-coding-standards/wpcs' =>
420
- array (
421
- 'pretty_version' => '2.3.0',
422
- 'version' => '2.3.0.0',
423
- 'aliases' =>
424
- array (
425
- ),
426
- 'reference' => '7da1894633f168fe244afc6de00d141f27517b62',
427
- ),
428
- ),
429
- );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/composer/platform_check.php DELETED
@@ -1,26 +0,0 @@
1
- <?php
2
-
3
- // platform_check.php @generated by Composer
4
-
5
- $issues = array();
6
-
7
- if (!(PHP_VERSION_ID >= 50309)) {
8
- $issues[] = 'Your Composer dependencies require a PHP version ">= 5.3.9". You are running ' . PHP_VERSION . '.';
9
- }
10
-
11
- if ($issues) {
12
- if (!headers_sent()) {
13
- header('HTTP/1.1 500 Internal Server Error');
14
- }
15
- if (!ini_get('display_errors')) {
16
- if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
17
- fwrite(STDERR, 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . implode(PHP_EOL, $issues) . PHP_EOL.PHP_EOL);
18
- } elseif (!headers_sent()) {
19
- echo 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . str_replace('You are running '.PHP_VERSION.'.', '', implode(PHP_EOL, $issues)) . PHP_EOL.PHP_EOL;
20
- }
21
- }
22
- trigger_error(
23
- 'Composer detected issues in your platform: ' . implode(' ', $issues),
24
- E_USER_ERROR
25
- );
26
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
wp-hummingbird.php CHANGED
@@ -12,7 +12,7 @@
12
  * Plugin Name: Hummingbird
13
  * Plugin URI: https://wpmudev.com/project/wp-hummingbird/
14
  * Description: Hummingbird zips through your site finding new ways to make it load faster, from file compression and minification to browser caching – because when it comes to pagespeed, every millisecond counts.
15
- * Version: 2.7.3
16
  * Author: WPMU DEV
17
  * Author URI: https://profiles.wordpress.org/wpmudev/
18
  * Network: true
@@ -43,7 +43,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
43
  namespace Hummingbird;
44
 
45
  if ( ! defined( 'WPHB_VERSION' ) ) {
46
- define( 'WPHB_VERSION', '2.7.3' );
47
  }
48
 
49
  if ( ! defined( 'WPHB_SUI_VERSION' ) ) {
12
  * Plugin Name: Hummingbird
13
  * Plugin URI: https://wpmudev.com/project/wp-hummingbird/
14
  * Description: Hummingbird zips through your site finding new ways to make it load faster, from file compression and minification to browser caching – because when it comes to pagespeed, every millisecond counts.
15
+ * Version: 2.7.4
16
  * Author: WPMU DEV
17
  * Author URI: https://profiles.wordpress.org/wpmudev/
18
  * Network: true
43
  namespace Hummingbird;
44
 
45
  if ( ! defined( 'WPHB_VERSION' ) ) {
46
+ define( 'WPHB_VERSION', '2.7.4' );
47
  }
48
 
49
  if ( ! defined( 'WPHB_SUI_VERSION' ) ) {