ElementsKit Elementor addons (Header Footer Builder, Mega Menu Builder, Free Elementor Widgets & Elementor Templates Library) - Version 2.5.10

Version Description

Wordpress 4.9+

Download this release

Release Info

Developer wpmet
Plugin Icon wp plugin ElementsKit Elementor addons (Header Footer Builder, Mega Menu Builder, Free Elementor Widgets & Elementor Templates Library)
Version 2.5.10
Comparing to
See all releases

Code changes from version 2.5.9 to 2.5.10

Files changed (74) hide show
  1. autoloader.php +27 -27
  2. compatibility/backward/module-list.php +4 -4
  3. compatibility/backward/plugin-class-backward-compatibility.php +37 -37
  4. compatibility/backward/walker-nav-menu-backward-compatiblity.php +2 -2
  5. compatibility/backward/widget-list.php +4 -4
  6. compatibility/conflicts/init.php +23 -23
  7. compatibility/conflicts/scripts.php +38 -40
  8. compatibility/data-migration/settings-db.php +34 -34
  9. compatibility/data-migration/translate-file.php +16 -19
  10. config/module-list.php +86 -83
  11. config/widget-list.php +455 -452
  12. core/activation-actions.php +2 -2
  13. core/build-inline-scripts.php +26 -26
  14. core/build-modules.php +24 -23
  15. core/build-widgets.php +59 -59
  16. core/config-list.php +27 -27
  17. core/handler-api.php +42 -36
  18. core/handler-widget.php +53 -53
  19. elementskit-lite.php +162 -160
  20. helpers/utils.php +167 -163
  21. languages/elementskit-lite.pot +246 -196
  22. libs/banner/banner.php +197 -195
  23. libs/framework/assets/css/admin-style.css +1 -1
  24. libs/framework/attr.php +54 -56
  25. libs/framework/classes/ajax.php +8 -10
  26. libs/framework/classes/onboard-status.php +13 -13
  27. libs/framework/classes/plugin-data-sender.php +50 -44
  28. libs/framework/classes/plugin-status.php +25 -21
  29. libs/framework/classes/utils.php +83 -83
  30. libs/framework/controls/settings/color.php +10 -10
  31. libs/framework/controls/settings/date.php +15 -15
  32. libs/framework/controls/settings/hidden.php +3 -3
  33. libs/framework/controls/settings/radio.php +23 -23
  34. libs/framework/controls/settings/switch.php +47 -47
  35. libs/framework/controls/settings/text.php +14 -14
  36. libs/framework/views/init.php +64 -63
  37. libs/framework/views/layout-onboard.php +21 -14
  38. libs/framework/views/layout-settings.php +85 -75
  39. libs/framework/views/layout-user-consent-for-banner.php +24 -24
  40. libs/framework/views/onboard-steps/step-01.php +47 -41
  41. libs/framework/views/onboard-steps/step-02.php +26 -26
  42. libs/framework/views/onboard-steps/step-03.php +67 -67
  43. libs/framework/views/onboard-steps/step-04.php +33 -25
  44. libs/framework/views/onboard-steps/step-05.php +23 -23
  45. libs/framework/views/onboard-steps/step-06.php +10 -10
  46. libs/framework/views/settings-sections/dashboard.php +128 -128
  47. libs/framework/views/settings-sections/modules.php +42 -35
  48. libs/framework/views/settings-sections/usersettings.php +528 -442
  49. libs/framework/views/settings-sections/widgets.php +33 -31
  50. libs/notice/notice.php +379 -379
  51. libs/pro-awareness/pro-awareness.php +107 -108
  52. libs/pro-label/admin-notice.php +16 -13
  53. libs/pro-label/init.php +17 -16
  54. libs/rating/rating.php +406 -435
  55. libs/stories/stories.php +260 -261
  56. libs/stories/views/template.php +135 -135
  57. libs/template/loader.php +19 -19
  58. libs/template/transformer.php +35 -37
  59. libs/xs-migration/data-migration.php +103 -107
  60. libs/xs-migration/initiator.php +10 -11
  61. libs/xs-migration/migration-contract.php +3 -4
  62. libs/xs-migration/migration.php +118 -128
  63. modules/controls/ajax-select2-api.php +204 -188
  64. modules/controls/ajax-select2.php +10 -10
  65. modules/controls/control-manager.php +4 -4
  66. modules/controls/image-choose.php +9 -9
  67. modules/controls/init.php +60 -60
  68. modules/controls/widget-area-modal.php +6 -6
  69. modules/controls/widget-area-utils.php +38 -35
  70. modules/controls/widget-area.php +8 -8
  71. modules/dynamic-content/cpt-api.php +31 -31
  72. modules/dynamic-content/cpt.php +73 -73
  73. modules/dynamic-content/init.php +17 -17
  74. modules/elementskit-icon-pack/icon-list.php +1402 -1696
autoloader.php CHANGED
@@ -10,7 +10,7 @@ defined( 'ABSPATH' ) || exit;
10
  * @since 1.0.0
11
  */
12
  class Autoloader {
13
-
14
  /**
15
  * Run autoloader.
16
  * Register a function as `__autoload()` implementation.
@@ -19,10 +19,10 @@ class Autoloader {
19
  * @access public
20
  */
21
  public static function run() {
22
- spl_autoload_register( [ __CLASS__, 'autoload' ] );
23
- }
24
-
25
- /**
26
  * Autoload.
27
  * For a given class, check if it exist and load it.
28
  *
@@ -32,27 +32,27 @@ class Autoloader {
32
  */
33
  private static function autoload( $class_name ) {
34
 
35
- // If the class being requested does not start with our prefix
36
- // we know it's not one in our project.
37
- if ( 0 !== strpos( $class_name, __NAMESPACE__ ) ) {
38
- return;
39
- }
40
-
41
- $file_name = strtolower(
42
- preg_replace(
43
- [ '/\b'.__NAMESPACE__.'\\\/', '/([a-z])([A-Z])/', '/_/', '/\\\/' ],
44
- [ '', '$1-$2', '-', DIRECTORY_SEPARATOR],
45
- $class_name
46
- )
47
- );
48
 
49
- // Compile our path from the corosponding location.
50
- $file = \ElementsKit_Lite::plugin_dir() . $file_name . '.php';
51
-
52
- // If a file is found.
53
- if ( file_exists( $file ) ) {
54
- // Then load it up!
55
- require_once( $file );
56
- }
57
- }
58
  }
10
  * @since 1.0.0
11
  */
12
  class Autoloader {
13
+
14
  /**
15
  * Run autoloader.
16
  * Register a function as `__autoload()` implementation.
19
  * @access public
20
  */
21
  public static function run() {
22
+ spl_autoload_register( array( __CLASS__, 'autoload' ) );
23
+ }
24
+
25
+ /**
26
  * Autoload.
27
  * For a given class, check if it exist and load it.
28
  *
32
  */
33
  private static function autoload( $class_name ) {
34
 
35
+ // If the class being requested does not start with our prefix
36
+ // we know it's not one in our project.
37
+ if ( 0 !== strpos( $class_name, __NAMESPACE__ ) ) {
38
+ return;
39
+ }
40
+
41
+ $file_name = strtolower(
42
+ preg_replace(
43
+ array( '/\b' . __NAMESPACE__ . '\\\/', '/([a-z])([A-Z])/', '/_/', '/\\\/' ),
44
+ array( '', '$1-$2', '-', DIRECTORY_SEPARATOR ),
45
+ $class_name
46
+ )
47
+ );
48
 
49
+ // Compile our path from the corosponding location.
50
+ $file = \ElementsKit_Lite::plugin_dir() . $file_name . '.php';
51
+
52
+ // If a file is found.
53
+ if ( file_exists( $file ) ) {
54
+ // Then load it up!
55
+ require_once $file;
56
+ }
57
+ }
58
  }
compatibility/backward/module-list.php CHANGED
@@ -2,8 +2,8 @@
2
 
3
  namespace ElementsKit_Lite\Helpers;
4
 
5
- defined('ABSPATH') || exit;
6
 
7
- class Module_List extends \ElementsKit_Lite\Config\Module_List{
8
- //
9
- }
2
 
3
  namespace ElementsKit_Lite\Helpers;
4
 
5
+ defined( 'ABSPATH' ) || exit;
6
 
7
+ class Module_List extends \ElementsKit_Lite\Config\Module_List {
8
+ //
9
+ }
compatibility/backward/plugin-class-backward-compatibility.php CHANGED
@@ -1,53 +1,53 @@
1
  <?php
2
- if(!class_exists('ElementsKit')){
3
- class ElementsKit{
4
- // for backward compatibility
5
 
6
- const VERSION = '1.5.9';
7
 
8
- const PACKAGE_TYPE = 'pro';
9
 
10
- const PRODUCT_ID = '9';
11
 
12
- const MINIMUM_ELEMENTOR_VERSION = '2.4.0';
13
 
14
- const MINIMUM_PHP_VERSION = '5.6';
15
 
16
- static function api_url(){
17
- return 'https://api.wpmet.com/public/';
18
- }
19
 
20
- static function plugin_url(){
21
- return trailingslashit(plugin_dir_url( __FILE__ ));
22
- }
23
 
24
- static function plugin_dir(){
25
- return trailingslashit(plugin_dir_path( __FILE__ ));
26
- }
27
 
28
- static function widget_dir(){
29
- return self::plugin_dir() . 'widgets/';
30
- }
31
 
32
- static function widget_url(){
33
- return self::plugin_url() . 'widgets/';
34
- }
35
 
36
- static function module_dir(){
37
- return self::plugin_dir() . 'modules/';
38
- }
39
 
40
- static function module_url(){
41
- return self::plugin_url() . 'modules/';
42
- }
43
 
44
- static function lib_dir(){
45
- return self::plugin_dir() . 'libs/';
46
- }
47
 
48
- static function lib_url(){
49
- return self::plugin_url() . 'libs/';
50
- }
51
 
52
- }
53
- }
1
  <?php
2
+ if ( ! class_exists( 'ElementsKit' ) ) {
3
+ class ElementsKit {
4
+ // for backward compatibility
5
 
6
+ const VERSION = '1.5.9';
7
 
8
+ const PACKAGE_TYPE = 'pro';
9
 
10
+ const PRODUCT_ID = '9';
11
 
12
+ const MINIMUM_ELEMENTOR_VERSION = '2.4.0';
13
 
14
+ const MINIMUM_PHP_VERSION = '5.6';
15
 
16
+ static function api_url() {
17
+ return 'https://api.wpmet.com/public/';
18
+ }
19
 
20
+ static function plugin_url() {
21
+ return trailingslashit( plugin_dir_url( __FILE__ ) );
22
+ }
23
 
24
+ static function plugin_dir() {
25
+ return trailingslashit( plugin_dir_path( __FILE__ ) );
26
+ }
27
 
28
+ static function widget_dir() {
29
+ return self::plugin_dir() . 'widgets/';
30
+ }
31
 
32
+ static function widget_url() {
33
+ return self::plugin_url() . 'widgets/';
34
+ }
35
 
36
+ static function module_dir() {
37
+ return self::plugin_dir() . 'modules/';
38
+ }
39
 
40
+ static function module_url() {
41
+ return self::plugin_url() . 'modules/';
42
+ }
43
 
44
+ static function lib_dir() {
45
+ return self::plugin_dir() . 'libs/';
46
+ }
47
 
48
+ static function lib_url() {
49
+ return self::plugin_url() . 'libs/';
50
+ }
51
 
52
+ }
53
+ }
compatibility/backward/walker-nav-menu-backward-compatiblity.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
  namespace ElementsKit;
3
 
4
- class Elementskit_Menu_Walker extends \ElementsKit_Lite\ElementsKit_Menu_Walker{
5
- //
6
  }
1
  <?php
2
  namespace ElementsKit;
3
 
4
+ class Elementskit_Menu_Walker extends \ElementsKit_Lite\ElementsKit_Menu_Walker {
5
+ //
6
  }
compatibility/backward/widget-list.php CHANGED
@@ -2,8 +2,8 @@
2
 
3
  namespace ElementsKit_Lite\Helpers;
4
 
5
- defined('ABSPATH') || exit;
6
 
7
- class Widget_List extends \ElementsKit_Lite\Config\Widget_List{
8
- //
9
- }
2
 
3
  namespace ElementsKit_Lite\Helpers;
4
 
5
+ defined( 'ABSPATH' ) || exit;
6
 
7
+ class Widget_List extends \ElementsKit_Lite\Config\Widget_List {
8
+ //
9
+ }
compatibility/conflicts/init.php CHANGED
@@ -20,37 +20,37 @@ class Init {
20
  private static $instance;
21
 
22
 
23
- /**
24
- * Instance.
25
- *
26
- * Ensures only one instance of the plugin class is loaded or can be loaded.
27
- *
28
- * @since 1.2.6
29
- * @access public
30
- * @static
31
- *
32
- * @return Init An instance of the class.
33
- */
34
  public static function instance() {
35
- if ( is_null( self::$instance ) ) {
36
 
37
- // Fire when ElementsKit_Lite instance.
38
- self::$instance = new self();
39
- }
40
 
41
- return self::$instance;
42
  }
43
 
44
 
45
- /**
46
- * Construct the plugin object.
47
- *
48
- * @since 1.2.6
49
- * @access public
50
- */
51
  public function __construct() {
52
  Scripts::instance();
53
  }
54
 
55
 
56
- }
20
  private static $instance;
21
 
22
 
23
+ /**
24
+ * Instance.
25
+ *
26
+ * Ensures only one instance of the plugin class is loaded or can be loaded.
27
+ *
28
+ * @since 1.2.6
29
+ * @access public
30
+ * @static
31
+ *
32
+ * @return Init An instance of the class.
33
+ */
34
  public static function instance() {
35
+ if ( is_null( self::$instance ) ) {
36
 
37
+ // Fire when ElementsKit_Lite instance.
38
+ self::$instance = new self();
39
+ }
40
 
41
+ return self::$instance;
42
  }
43
 
44
 
45
+ /**
46
+ * Construct the plugin object.
47
+ *
48
+ * @since 1.2.6
49
+ * @access public
50
+ */
51
  public function __construct() {
52
  Scripts::instance();
53
  }
54
 
55
 
56
+ }
compatibility/conflicts/scripts.php CHANGED
@@ -20,56 +20,54 @@ class Scripts {
20
  private static $instance;
21
 
22
 
23
- /**
24
- * Instance.
25
- *
26
- * Ensures only one instance of the plugin class is loaded or can be loaded.
27
- *
28
- * @since 1.2.6
29
- * @access public
30
- * @static
31
- *
32
- * @return Init An instance of the class.
33
- */
34
  public static function instance() {
35
- if ( is_null( self::$instance ) ) {
36
 
37
- // Fire when ElementsKit_Lite instance.
38
- self::$instance = new self();
39
- }
40
 
41
- return self::$instance;
42
  }
43
 
44
 
45
- /**
46
- * Construct the plugin object.
47
- *
48
- * @since 1.2.6
49
- * @access public
50
- */
51
  public function __construct() {
52
 
53
- add_action( 'admin_enqueue_scripts', [$this, 'deregister_from_admin'] );
54
-
55
- }
56
-
57
-
58
- /**
59
- * Conflicted script deregister function
60
- *
61
- * @since 1.2.6
62
- * @access public
63
- */
64
- public function deregister_from_admin(){
65
 
66
- $screen = get_current_screen();
 
 
 
 
 
 
67
 
68
- if( in_array( $screen->id, ['edit-elementskit_template', 'toplevel_page_elementskit', 'elementskit_page_elementskit-license', 'nav-menus'] ) ){
69
- wp_deregister_script('wpsp_wp_admin_jquery2');
70
- }
71
 
72
- }
 
 
 
73
 
74
 
75
- }
20
  private static $instance;
21
 
22
 
23
+ /**
24
+ * Instance.
25
+ *
26
+ * Ensures only one instance of the plugin class is loaded or can be loaded.
27
+ *
28
+ * @since 1.2.6
29
+ * @access public
30
+ * @static
31
+ *
32
+ * @return Init An instance of the class.
33
+ */
34
  public static function instance() {
35
+ if ( is_null( self::$instance ) ) {
36
 
37
+ // Fire when ElementsKit_Lite instance.
38
+ self::$instance = new self();
39
+ }
40
 
41
+ return self::$instance;
42
  }
43
 
44
 
45
+ /**
46
+ * Construct the plugin object.
47
+ *
48
+ * @since 1.2.6
49
+ * @access public
50
+ */
51
  public function __construct() {
52
 
53
+ add_action( 'admin_enqueue_scripts', array( $this, 'deregister_from_admin' ) );
54
+ }
55
+
 
 
 
 
 
 
 
 
 
56
 
57
+ /**
58
+ * Conflicted script deregister function
59
+ *
60
+ * @since 1.2.6
61
+ * @access public
62
+ */
63
+ public function deregister_from_admin() {
64
 
65
+ $screen = get_current_screen();
 
 
66
 
67
+ if ( in_array( $screen->id, array( 'edit-elementskit_template', 'toplevel_page_elementskit', 'elementskit_page_elementskit-license', 'nav-menus' ) ) ) {
68
+ wp_deregister_script( 'wpsp_wp_admin_jquery2' );
69
+ }
70
+ }
71
 
72
 
73
+ }
compatibility/data-migration/settings-db.php CHANGED
@@ -3,38 +3,38 @@ namespace ElementsKit_Lite\Compatibility\Data_Migration;
3
 
4
  defined( 'ABSPATH' ) || exit;
5
 
6
- class Settings_Db{
7
- public function __construct(){
8
-
9
- $widget_list = \ElementsKit_Lite\Config\Widget_List::instance()->get_list();
10
- $this->migrate($widget_list, 'widget');
11
-
12
- $module_list = \ElementsKit_Lite\Config\Module_List::instance()->get_list();
13
- $this->migrate($module_list, 'module');
14
- }
15
-
16
- private function migrate($list, $type){
17
- $list_db = \ElementsKit_Lite\Libs\Framework\Attr::instance()->utils->get_option($type . '_list', []);
18
- $list_prepared = [];
19
-
20
- if(empty($list_db[0]) || is_array($list_db[0])){
21
- return;
22
- }
23
-
24
- foreach($list as $slug => $info) {
25
- if(isset($info['package']) && $info['package'] == 'pro-disabled'){
26
- continue;
27
- }
28
-
29
- if(isset($info['attributes']) && in_array('new', $info['attributes'])){
30
- continue;
31
- }
32
-
33
- $info['status'] = (in_array($slug, $list_db) ? 'active' : 'inactive');
34
-
35
- $list_prepared[$slug] = $info;
36
- }
37
-
38
- \ElementsKit_Lite\Libs\Framework\Attr::instance()->utils->save_option($type . '_list', $list_prepared);
39
- }
40
  }
3
 
4
  defined( 'ABSPATH' ) || exit;
5
 
6
+ class Settings_Db {
7
+ public function __construct() {
8
+
9
+ $widget_list = \ElementsKit_Lite\Config\Widget_List::instance()->get_list();
10
+ $this->migrate( $widget_list, 'widget' );
11
+
12
+ $module_list = \ElementsKit_Lite\Config\Module_List::instance()->get_list();
13
+ $this->migrate( $module_list, 'module' );
14
+ }
15
+
16
+ private function migrate( $list, $type ) {
17
+ $list_db = \ElementsKit_Lite\Libs\Framework\Attr::instance()->utils->get_option( $type . '_list', array() );
18
+ $list_prepared = array();
19
+
20
+ if ( empty( $list_db[0] ) || is_array( $list_db[0] ) ) {
21
+ return;
22
+ }
23
+
24
+ foreach ( $list as $slug => $info ) {
25
+ if ( isset( $info['package'] ) && $info['package'] == 'pro-disabled' ) {
26
+ continue;
27
+ }
28
+
29
+ if ( isset( $info['attributes'] ) && in_array( 'new', $info['attributes'] ) ) {
30
+ continue;
31
+ }
32
+
33
+ $info['status'] = ( in_array( $slug, $list_db ) ? 'active' : 'inactive' );
34
+
35
+ $list_prepared[ $slug ] = $info;
36
+ }
37
+
38
+ \ElementsKit_Lite\Libs\Framework\Attr::instance()->utils->save_option( $type . '_list', $list_prepared );
39
+ }
40
  }
compatibility/data-migration/translate-file.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  namespace ElementsKit_Lite\Compatibility\Data_Migration;
4
 
5
- defined('ABSPATH') || exit;
6
 
7
  class Translate_File {
8
 
@@ -12,35 +12,33 @@ class Translate_File {
12
 
13
  public static function load_filesystem() {
14
 
15
- require_once ABSPATH .'wp-admin/includes/file.php';
16
 
17
  WP_Filesystem();
18
  }
19
 
20
  public function init() {
21
 
22
- $option = get_option($this->OK_Translate_File, 'no');
23
 
24
- if($option == 'no') {
25
 
26
  self::load_filesystem();
27
 
28
  global $wp_filesystem;
29
 
30
-
31
- $the_dir = WP_LANG_DIR.'/plugins/';
32
- $files = $wp_filesystem->dirlist($the_dir);
33
 
34
  $o_dom = 'elementskit-';
35
  $n_dom = 'elementskit-lite-';
36
 
37
-
38
- $file_pattern = 'elementskit-';
39
- $ln = strlen($file_pattern);
40
  $invalid_pattern = '/elementskit\-.+\-.+/';
41
 
42
- if(!empty($files)) {
43
- foreach($files as $file) {
44
 
45
  $nm = $file['name'];
46
 
@@ -49,14 +47,14 @@ class Translate_File {
49
  /**
50
  * Checking if file name is started with elementskit-
51
  */
52
- if(substr($nm, 0, $ln) == $file_pattern) {
53
 
54
  /**
55
  * Checking if file name is like this pattern elementskit-blabla-
56
  * If so we will not process it
57
  *
58
  */
59
- if(preg_match($invalid_pattern, $nm)) {
60
 
61
  continue;
62
  }
@@ -66,20 +64,19 @@ class Translate_File {
66
  * and copying it i the same directory
67
  *
68
  */
69
- $new_name = str_replace($o_dom, $n_dom, $nm);
70
- $wp_filesystem->copy($the_dir.$nm, $the_dir.$new_name, true);
71
  }
72
  }
73
  }
74
 
75
-
76
  /**
77
  * As we have copied all the files
78
  * we do not want to run this every time
79
- * so we are updating the flag in wordpress option
80
  */
81
 
82
- update_option($this->OK_Translate_File, 'yes');
83
 
84
  }
85
 
2
 
3
  namespace ElementsKit_Lite\Compatibility\Data_Migration;
4
 
5
+ defined( 'ABSPATH' ) || exit;
6
 
7
  class Translate_File {
8
 
12
 
13
  public static function load_filesystem() {
14
 
15
+ require_once ABSPATH . 'wp-admin/includes/file.php';
16
 
17
  WP_Filesystem();
18
  }
19
 
20
  public function init() {
21
 
22
+ $option = get_option( $this->OK_Translate_File, 'no' );
23
 
24
+ if ( $option == 'no' ) {
25
 
26
  self::load_filesystem();
27
 
28
  global $wp_filesystem;
29
 
30
+ $the_dir = WP_LANG_DIR . '/plugins/';
31
+ $files = $wp_filesystem->dirlist( $the_dir );
 
32
 
33
  $o_dom = 'elementskit-';
34
  $n_dom = 'elementskit-lite-';
35
 
36
+ $file_pattern = 'elementskit-';
37
+ $ln = strlen( $file_pattern );
 
38
  $invalid_pattern = '/elementskit\-.+\-.+/';
39
 
40
+ if ( ! empty( $files ) ) {
41
+ foreach ( $files as $file ) {
42
 
43
  $nm = $file['name'];
44
 
47
  /**
48
  * Checking if file name is started with elementskit-
49
  */
50
+ if ( substr( $nm, 0, $ln ) == $file_pattern ) {
51
 
52
  /**
53
  * Checking if file name is like this pattern elementskit-blabla-
54
  * If so we will not process it
55
  *
56
  */
57
+ if ( preg_match( $invalid_pattern, $nm ) ) {
58
 
59
  continue;
60
  }
64
  * and copying it i the same directory
65
  *
66
  */
67
+ $new_name = str_replace( $o_dom, $n_dom, $nm );
68
+ $wp_filesystem->copy( $the_dir . $nm, $the_dir . $new_name, true );
69
  }
70
  }
71
  }
72
 
 
73
  /**
74
  * As we have copied all the files
75
  * we do not want to run this every time
76
+ * so we are updating the flag in WordPress option
77
  */
78
 
79
+ update_option( $this->OK_Translate_File, 'yes' );
80
 
81
  }
82
 
config/module-list.php CHANGED
@@ -2,92 +2,95 @@
2
 
3
  namespace ElementsKit_Lite\Config;
4
 
5
- defined('ABSPATH') || exit;
6
- class Module_List extends \ElementsKit_Lite\Core\Config_List{
7
 
8
- protected $type = 'module';
9
-
10
- protected function set_required_list(){
11
 
12
- $this->required_list = [
13
- 'dynamic-content' => [
14
- 'slug' => 'dynamic-content',
15
- 'package' => 'free',
16
- ],
17
- 'layout-manager' => [
18
- 'slug' => 'layout-manager',
19
- 'package' => 'free',
20
- ],
21
- // 'controls' => [
22
- // 'slug' => 'controls',
23
- // 'package' => 'free',
24
- // ],
25
- ];
26
- }
27
 
28
- protected function set_optional_list(){
29
 
30
- $this->optional_list = apply_filters('elementskit/modules/list', [
31
- 'elementskit-icon-pack' => [
32
- 'slug' => 'elementskit-icon-pack',
33
- 'title' => 'ElementsKit Icon Pack',
34
- 'package' => 'free', // free, pro, pro-disabled
35
- //'path' => null,
36
- //'base_class_name' => null,
37
- //'live' => null
38
- 'attributes' => ['new'],
39
- ],
40
- 'header-footer' => [
41
- 'slug' => 'header-footer',
42
- 'title' => 'Header Footer',
43
- 'package' => 'free',
44
- ],
45
- 'megamenu' => [
46
- 'slug' => 'megamenu',
47
- 'package' => 'free',
48
- 'title' => 'Mega Menu'
49
- ],
50
- 'onepage-scroll' => [
51
- 'slug' => 'onepage-scroll',
52
- 'package' => 'free',
53
- 'title' => 'Onepage Scroll'
54
- ],
55
- 'widget-builder' => [
56
- 'slug' => 'widget-builder',
57
- 'package' => 'free',
58
- 'title' => 'Widget Builder'
59
- ],
60
- 'parallax' => [
61
- 'slug' => 'parallax',
62
- 'package' => 'pro-disabled',
63
- 'title' => 'Parallax Effects'
64
- ],
65
- 'sticky-content' => [
66
- 'slug' => 'sticky-content',
67
- 'package' => 'pro-disabled',
68
- 'title' => 'Sticky Content'
69
- ],
70
- 'facebook-messenger' => [
71
- 'slug' => 'facebook-messenger',
72
- 'package' => 'pro-disabled',
73
- 'title' => 'Facebook Messenger',
74
- ],
75
- 'conditional-content' => [
76
- 'slug' => 'conditional-content',
77
- 'package' => 'pro-disabled',
78
- 'title' => 'Conditional Content',
79
- ],
80
- 'copy-paste-cross-domain' => [
81
- 'slug' => 'copy-paste-cross-domain',
82
- 'package' => 'pro-disabled',
83
- 'title' => 'Cross-Domain Copy Paste'
84
- ],
85
- 'advanced-tooltip' => [
86
- 'slug' => 'advanced-tooltip',
87
- 'package' => 'pro-disabled',
88
- 'title' => 'Advanced Tooltip',
89
- ]
90
- ]);
 
 
 
91
  }
92
 
93
- }
2
 
3
  namespace ElementsKit_Lite\Config;
4
 
5
+ defined( 'ABSPATH' ) || exit;
6
+ class Module_List extends \ElementsKit_Lite\Core\Config_List {
7
 
8
+ protected $type = 'module';
9
+
10
+ protected function set_required_list() {
11
 
12
+ $this->required_list = array(
13
+ 'dynamic-content' => array(
14
+ 'slug' => 'dynamic-content',
15
+ 'package' => 'free',
16
+ ),
17
+ 'layout-manager' => array(
18
+ 'slug' => 'layout-manager',
19
+ 'package' => 'free',
20
+ ),
21
+ // 'controls' => [
22
+ // 'slug' => 'controls',
23
+ // 'package' => 'free',
24
+ // ],
25
+ );
26
+ }
27
 
28
+ protected function set_optional_list() {
29
 
30
+ $this->optional_list = apply_filters(
31
+ 'elementskit/modules/list',
32
+ array(
33
+ 'elementskit-icon-pack' => array(
34
+ 'slug' => 'elementskit-icon-pack',
35
+ 'title' => 'ElementsKit Icon Pack',
36
+ 'package' => 'free', // free, pro, pro-disabled
37
+ //'path' => null,
38
+ //'base_class_name' => null,
39
+ //'live' => null
40
+ 'attributes' => array( 'new' ),
41
+ ),
42
+ 'header-footer' => array(
43
+ 'slug' => 'header-footer',
44
+ 'title' => 'Header Footer',
45
+ 'package' => 'free',
46
+ ),
47
+ 'megamenu' => array(
48
+ 'slug' => 'megamenu',
49
+ 'package' => 'free',
50
+ 'title' => 'Mega Menu',
51
+ ),
52
+ 'onepage-scroll' => array(
53
+ 'slug' => 'onepage-scroll',
54
+ 'package' => 'free',
55
+ 'title' => 'Onepage Scroll',
56
+ ),
57
+ 'widget-builder' => array(
58
+ 'slug' => 'widget-builder',
59
+ 'package' => 'free',
60
+ 'title' => 'Widget Builder',
61
+ ),
62
+ 'parallax' => array(
63
+ 'slug' => 'parallax',
64
+ 'package' => 'pro-disabled',
65
+ 'title' => 'Parallax Effects',
66
+ ),
67
+ 'sticky-content' => array(
68
+ 'slug' => 'sticky-content',
69
+ 'package' => 'pro-disabled',
70
+ 'title' => 'Sticky Content',
71
+ ),
72
+ 'facebook-messenger' => array(
73
+ 'slug' => 'facebook-messenger',
74
+ 'package' => 'pro-disabled',
75
+ 'title' => 'Facebook Messenger',
76
+ ),
77
+ 'conditional-content' => array(
78
+ 'slug' => 'conditional-content',
79
+ 'package' => 'pro-disabled',
80
+ 'title' => 'Conditional Content',
81
+ ),
82
+ 'copy-paste-cross-domain' => array(
83
+ 'slug' => 'copy-paste-cross-domain',
84
+ 'package' => 'pro-disabled',
85
+ 'title' => 'Cross-Domain Copy Paste',
86
+ ),
87
+ 'advanced-tooltip' => array(
88
+ 'slug' => 'advanced-tooltip',
89
+ 'package' => 'pro-disabled',
90
+ 'title' => 'Advanced Tooltip',
91
+ ),
92
+ )
93
+ );
94
  }
95
 
96
+ }
config/widget-list.php CHANGED
@@ -2,470 +2,473 @@
2
 
3
  namespace ElementsKit_Lite\Config;
4
 
5
- defined('ABSPATH') || exit;
6
- class Widget_List extends \ElementsKit_Lite\Core\Config_List{
7
 
8
- protected $type = 'widget';
9
-
10
- protected function set_required_list(){
11
- $this->required_list = [];
12
- }
13
 
14
- protected function set_optional_list(){
15
 
16
- $this->optional_list = apply_filters('elementskit/widgets/list', [
17
- 'image-accordion' => [
18
- 'slug' => 'image-accordion',
19
- 'title' => 'Image Accordion',
20
- 'package' => 'free', // free, pro, free
21
- //'path' => 'path to the widget directory',
22
- //'base_class_name' => 'main class name',
23
- //'title' => 'widget title',
24
- //'live' => 'live demo url'
25
- 'widget-category' => 'general' // General
26
- ],
27
- 'accordion' => [
28
- 'slug' => 'accordion',
29
- 'title' => 'Accordion',
30
- 'package' => 'free',
31
- 'widget-category' => 'general' // General
32
- ],
33
- 'button' => [
34
- 'slug' => 'button',
35
- 'title' => 'Button',
36
- 'package' => 'free',
37
- 'widget-category' => 'general' // General
38
- ],
39
- 'heading' => [
40
- 'slug' => 'heading',
41
- 'title' => 'Heading',
42
- 'package' => 'free',
43
- 'widget-category' => 'general' // General
44
- ],
45
- 'blog-posts' => [
46
- 'slug' => 'blog-posts',
47
- 'title' => 'Blog Posts',
48
- 'package' => 'free',
49
- 'widget-category' => 'wp-posts' // Post Widgets
50
- ],
51
- 'icon-box' => [
52
- 'slug' => 'icon-box',
53
- 'title' => 'Icon Box',
54
- 'package' => 'free',
55
- 'widget-category' => 'general' // General
56
- ],
57
- 'image-box' => [
58
- 'slug' => 'image-box',
59
- 'title' => 'Image Box',
60
- 'package' => 'free',
61
- 'widget-category' => 'general' // General
62
- ],
63
- 'countdown-timer' => [
64
- 'slug' => 'countdown-timer',
65
- 'title' => 'Countdown Timer',
66
- 'package' => 'free',
67
- 'widget-category' => 'general' // General
68
- ],
69
- 'client-logo' => [
70
- 'slug' => 'client-logo',
71
- 'title' => 'Client Logo',
72
- 'package' => 'free',
73
- 'widget-category' => 'general' // General
74
- ],
75
- 'faq' => [
76
- 'slug' => 'faq',
77
- 'title' => 'FAQ',
78
- 'package' => 'free',
79
- 'widget-category' => 'general' // General
80
- ],
81
- 'funfact' => [
82
- 'slug' => 'funfact',
83
- 'title' => 'Funfact',
84
- 'package' => 'free',
85
- 'widget-category' => 'general' // General
86
- ],
87
- 'image-comparison' => [
88
- 'slug' => 'image-comparison',
89
- 'title' => 'Image Comparison',
90
- 'package' => 'free',
91
- 'widget-category' => 'general' // General
92
- ],
93
- 'lottie' => [
94
- 'slug' => 'lottie',
95
- 'title' => 'Lottie',
96
- 'package' => 'free',
97
- 'widget-category' => 'general' // General
98
- ],
99
- 'testimonial' => [
100
- 'slug' => 'testimonial',
101
- 'title' => 'Testimonial',
102
- 'package' => 'free',
103
- 'widget-category' => 'general' // General
104
- ],
105
- 'pricing' => [
106
- 'slug' => 'pricing',
107
- 'title' => 'Pricing Table',
108
- 'package' => 'free',
109
- 'widget-category' => 'general' // General
110
- ],
111
- 'team' => [
112
- 'slug' => 'team',
113
- 'title' => 'Team',
114
- 'package' => 'free',
115
- 'widget-category' => 'general' // General
116
- ],
117
- 'social' => [
118
- 'slug' => 'social',
119
- 'title' => 'Social Icons',
120
- 'package' => 'free',
121
- 'widget-category' => 'general' // General
122
- ],
123
- 'progressbar' => [
124
- 'slug' => 'progressbar',
125
- 'title' => 'Progress Bar',
126
- 'package' => 'free',
127
- 'widget-category' => 'general' // General
128
- ],
129
- 'category-list' => [
130
- 'slug' => 'category-list',
131
- 'title' => 'Category List',
132
- 'package' => 'free',
133
- 'widget-category' => 'wp-posts' // Post Widgets
134
- ],
135
- 'page-list' => [
136
- 'slug' => 'page-list',
137
- 'title' => 'Page List',
138
- 'package' => 'free',
139
- 'widget-category' => 'header-footer' // ElementsKit Header Footer
140
- ],
141
- 'post-grid' => [
142
- 'slug' => 'post-grid',
143
- 'title' => 'Post Grid',
144
- 'package' => 'free',
145
- 'widget-category' => 'wp-posts' // Post Widgets
146
- ],
147
- 'post-list' => [
148
- 'slug' => 'post-list',
149
- 'title' => 'Post List',
150
- 'package' => 'free',
151
- 'widget-category' => 'wp-posts' // Post Widgets
152
- ],
153
- 'post-tab' => [
154
- 'slug' => 'post-tab',
155
- 'title' => 'Post Tab',
156
- 'package' => 'free',
157
- 'widget-category' => 'wp-posts' // Post Widgets
158
- ],
159
- 'nav-menu' => [
160
- 'slug' => 'nav-menu',
161
- 'title' => 'ElementsKit Nav Menu',
162
- 'package' => 'free',
163
- 'widget-category' => 'header-footer' // ElementsKit Header Footer
164
- ],
165
- 'mail-chimp' => [
166
- 'slug' => 'mail-chimp',
167
- 'title' => 'MailChimp',
168
- 'package' => 'free',
169
- 'widget-category' => 'form-widgets' // Form Widgets
170
- ],
171
- 'header-info' => [
172
- 'slug' => 'header-info',
173
- 'title' => 'Header Info',
174
- 'package' => 'free',
175
- 'widget-category' => 'header-footer' // ElementsKit Header Footer
176
- ],
177
- 'piechart' => [
178
- 'slug' => 'piechart',
179
- 'title' => 'Pie Chart',
180
- 'package' => 'free',
181
- 'widget-category' => 'general' // General
182
- ],
183
- 'header-search' => [
184
- 'slug' => 'header-search',
185
- 'title' => 'Header Search',
186
- 'package' => 'free',
187
- 'widget-category' => 'header-footer' // ElementsKit Header Footer
188
- ],
189
- 'header-offcanvas' => [
190
- 'slug' => 'header-offcanvas',
191
- 'title' => 'Header Offcanvas',
192
- 'package' => 'free',
193
- 'widget-category' => 'header-footer' // ElementsKit Header Footer
194
- ],
195
- 'tab' => [
196
- 'slug' => 'tab',
197
- 'title' => 'Tab',
198
- 'package' => 'free',
199
- 'widget-category' => 'general' // General
200
- ],
201
- 'contact-form7' => [
202
- 'slug' => 'contact-form7',
203
- 'title' => 'Contact Form7',
204
- 'package' => 'free',
205
- 'widget-category' => 'form-widgets' // Form Widgets
206
- ],
207
- 'video' => [
208
- 'slug' => 'video',
209
- 'title' => 'Video',
210
- 'package' => 'free',
211
- 'widget-category' => 'general' // General
212
- ],
213
- 'business-hours' => [
214
- 'slug' => 'business-hours',
215
- 'title' => 'Business Hours',
216
- 'package' => 'free',
217
- 'widget-category' => 'general' // General
218
- ],
219
- 'drop-caps' => [
220
- 'slug' => 'drop-caps',
221
- 'title' => 'Drop Caps',
222
- 'package' => 'free',
223
- 'widget-category' => 'general' // General
224
- ],
225
- 'social-share' => [
226
- 'slug' => 'social-share',
227
- 'title' => 'Social Share',
228
- 'package' => 'free',
229
- 'widget-category' => 'general' // General
230
- ],
231
- 'dual-button' => [
232
- 'slug' => 'dual-button',
233
- 'title' => 'Dual Button',
234
- 'package' => 'free',
235
- 'widget-category' => 'general' // General
236
- ],
237
- 'caldera-forms' => [
238
- 'slug' => 'caldera-forms',
239
- 'title' => 'Caldera Forms',
240
- 'package' => 'free',
241
- 'widget-category' => 'form-widgets' // Form Widgets
242
- ],
243
- 'we-forms' => [
244
- 'slug' => 'we-forms',
245
- 'title' => 'We Forms',
246
- 'package' => 'free',
247
- 'widget-category' => 'form-widgets' // Form Widgets
248
- ],
249
- 'wp-forms' => [
250
- 'slug' => 'wp-forms',
251
- 'title' => 'Wp Forms',
252
- 'package' => 'free',
253
- 'widget-category' => 'form-widgets' // Form Widgets
254
- ],
 
 
255
 
256
- 'ninja-forms' => [
257
- 'slug' => 'ninja-forms',
258
- 'title' => 'Ninja Forms',
259
- 'package' => 'free',
260
- 'widget-category' => 'form-widgets' // Form Widgets
261
- ],
262
- 'tablepress' => [
263
- 'slug' => 'tablepress',
264
- 'title' => 'TablePress',
265
- 'package' => 'free',
266
- 'widget-category' => 'general' // General
267
- ],
268
- 'fluent-forms' => [
269
- 'slug' => 'fluent-forms',
270
- 'title' => 'Fluent Forms',
271
- 'package' => 'free',
272
- 'widget-category' => 'form-widgets' // Form Widgets
273
- ],
274
- 'back-to-top' => [
275
- 'slug' => 'back-to-top',
276
- 'title' => 'Back To Top',
277
- 'package' => 'free',
278
- 'widget-category' => 'general' //general
279
- ],
280
- 'advanced-accordion' => [
281
- 'slug' => 'advanced-accordion',
282
- 'title' => 'Advanced Accordion',
283
- 'package' => 'pro-disabled',
284
- 'widget-category' => 'general' // General
285
- ],
286
- 'advanced-tab' => [
287
- 'slug' => 'advanced-tab',
288
- 'title' => 'Advanced Tab',
289
- 'package' => 'pro-disabled',
290
- 'widget-category' => 'general' // General
291
- ],
292
- 'hotspot' => [
293
- 'slug' => 'hotspot',
294
- 'title' => 'Hotspot',
295
- 'package' => 'pro-disabled',
296
- 'widget-category' => 'general' // General
297
- ],
298
- 'motion-text' => [
299
- 'slug' => 'motion-text',
300
- 'title' => 'Motion Text',
301
- 'package' => 'pro-disabled',
302
- 'widget-category' => 'general' // General
303
- ],
304
- 'twitter-feed' => [
305
- 'slug' => 'twitter-feed',
306
- 'title' => 'Twitter Feed',
307
- 'package' => 'pro-disabled',
308
- 'widget-category' => 'social-media-feeds' // Social Media Feeds Widgets
309
- ],
310
 
311
- 'instagram-feed' => [
312
- 'slug' => 'instagram-feed',
313
- 'title' => 'Instagram Feed',
314
- 'package' => 'pro-disabled',
315
- 'widget-category' => 'social-media-feeds' // Social Media Feeds Widgets
316
- ],
317
- 'gallery' => [
318
- 'slug' => 'gallery',
319
- 'title' => 'Gallery',
320
- 'package' => 'pro-disabled',
321
- 'widget-category' => 'general' // General
322
- ],
323
- 'chart' => [
324
- 'slug' => 'chart',
325
- 'title' => 'Chart',
326
- 'package' => 'pro-disabled',
327
- 'widget-category' => 'general' // General
328
- ],
329
- 'woo-category-list' => [
330
- 'slug' => 'woo-category-list',
331
- 'title' => 'Woo Category List',
332
- 'package' => 'pro-disabled',
333
- 'widget-category' => 'woocommerce' // Woocommerce Widgets
334
- ],
335
- 'woo-mini-cart' => [
336
- 'slug' => 'woo-mini-cart',
337
- 'title' => 'Woo Mini Cart',
338
- 'package' => 'pro-disabled',
339
- 'widget-category' => 'woocommerce' // Woocommerce Widgets
340
- ],
341
- 'woo-product-carousel' => [
342
- 'slug' => 'woo-product-carousel',
343
- 'title' => 'Woo Product Carousel',
344
- 'package' => 'pro-disabled',
345
- 'widget-category' => 'woocommerce' // Woocommerce Widgets
346
- ],
347
- 'woo-product-list' => [
348
- 'slug' => 'woo-product-list',
349
- 'title' => 'Woo Product List',
350
- 'package' => 'pro-disabled',
351
- 'widget-category' => 'woocommerce' // Woocommerce Widgets
352
- ],
353
- 'table' => [
354
- 'slug' => 'table',
355
- 'title' => 'Table',
356
- 'package' => 'pro-disabled',
357
- 'widget-category' => 'general' // General
358
- ],
359
- 'timeline' => [
360
- 'slug' => 'timeline',
361
- 'title' => 'Timeline',
362
- 'package' => 'pro-disabled',
363
- 'widget-category' => 'general' // General
364
- ],
365
- 'creative-button' => [
366
- 'slug' => 'creative-button',
367
- 'title' => 'Creative Button',
368
- 'package' => 'pro-disabled',
369
- 'widget-category' => 'general' // General
370
- ],
371
- 'vertical-menu' => [
372
- 'slug' => 'vertical-menu',
373
- 'title' => 'Vertical Menu',
374
- 'package' => 'pro-disabled',
375
- 'widget-category' => 'header-footer' // ElementsKit Header Footer
376
- ],
377
- 'advanced-toggle' => [
378
- 'slug' => 'advanced-toggle',
379
- 'title' => 'Advanced Toggle',
380
- 'package' => 'pro-disabled',
381
- 'widget-category' => 'general' // General
382
- ],
383
- 'video-gallery' => [
384
- 'slug' => 'video-gallery',
385
- 'title' => 'Video Gallery',
386
- 'package' => 'pro-disabled',
387
- 'widget-category' => 'general' // General
388
- ],
389
- 'zoom' => [
390
- 'slug' => 'zoom',
391
- 'title' => 'Zoom',
392
- 'package' => 'pro-disabled',
393
- 'widget-category' => 'meeting-widgets' // Meeting Widgets
394
- ],
395
- 'behance-feed' => [
396
- 'slug' => 'behance-feed',
397
- 'title' => 'Behance Feed',
398
- 'package' => 'pro-disabled',
399
- 'widget-category' => 'social-media-feeds' // Social Media Feeds Widgets
400
- ],
401
 
402
- 'breadcrumb' => [
403
- 'slug' => 'breadcrumb',
404
- 'title' => 'Breadcrumb',
405
- 'package' => 'pro-disabled',
406
- 'widget-category' => 'general' // General
407
- ],
408
 
409
- 'dribble-feed' => [
410
- 'slug' => 'dribble-feed',
411
- 'title' => 'Dribble Feed',
412
- 'package' => 'pro-disabled',
413
- 'widget-category' => 'social-media-feeds' // Social Media Feeds Widgets
414
- ],
415
 
416
- 'facebook-feed' => [
417
- 'slug' => 'facebook-feed',
418
- 'title' => 'Facebook feed',
419
- 'package' => 'pro-disabled',
420
- 'widget-category' => 'social-media-feeds' // Social Media Feeds Widgets
421
- ],
422
 
423
- 'facebook-review' => [
424
- 'slug' => 'facebook-review',
425
- 'title' => 'Facebook review',
426
- 'package' => 'pro-disabled',
427
- 'widget-category' => 'review-widgets' // Review Widgets
428
- ],
429
 
430
- 'yelp' => [
431
- 'slug' => 'yelp',
432
- 'title' => 'Yelp',
433
- 'package' => 'pro-disabled',
434
- 'widget-category' => 'review-widgets' // Review Widgets
435
- ],
436
 
437
- 'pinterest-feed' => [
438
- 'slug' => 'pinterest-feed',
439
- 'title' => 'Pinterest Feed',
440
- 'package' => 'pro-disabled',
441
- 'widget-category' => 'social-media-feeds' // Social Media Feeds Widgets
442
- ],
443
 
444
- 'popup-modal' => [
445
- 'slug' => 'popup-modal',
446
- 'title' => 'Popup Modal',
447
- 'package' => 'pro-disabled',
448
- 'widget-category' => 'general' // General
449
- ],
450
 
451
- 'google-map' => [
452
- 'slug' => 'google-map',
453
- 'title' => 'Google Map',
454
- 'package' => 'pro-disabled',
455
- 'widget-category' => 'general' // General
456
- ],
457
- 'unfold' => [
458
- 'slug' => 'unfold',
459
- 'title' => 'Unfold',
460
- 'package' => 'pro-disabled',
461
- 'widget-category' => 'general' // General
462
- ],
463
- 'image-swap' => [
464
- 'slug' => 'image-swap',
465
- 'title' => 'Image Swap',
466
- 'package' => 'pro-disabled',
467
- 'widget-category' => 'general' // General
468
- ],
469
- ]);
 
470
  }
471
  }
2
 
3
  namespace ElementsKit_Lite\Config;
4
 
5
+ defined( 'ABSPATH' ) || exit;
6
+ class Widget_List extends \ElementsKit_Lite\Core\Config_List {
7
 
8
+ protected $type = 'widget';
9
+
10
+ protected function set_required_list() {
11
+ $this->required_list = array();
12
+ }
13
 
14
+ protected function set_optional_list() {
15
 
16
+ $this->optional_list = apply_filters(
17
+ 'elementskit/widgets/list',
18
+ array(
19
+ 'image-accordion' => array(
20
+ 'slug' => 'image-accordion',
21
+ 'title' => 'Image Accordion',
22
+ 'package' => 'free', // free, pro, free
23
+ //'path' => 'path to the widget directory',
24
+ //'base_class_name' => 'main class name',
25
+ //'title' => 'widget title',
26
+ //'live' => 'live demo url'
27
+ 'widget-category' => 'general', // General
28
+ ),
29
+ 'accordion' => array(
30
+ 'slug' => 'accordion',
31
+ 'title' => 'Accordion',
32
+ 'package' => 'free',
33
+ 'widget-category' => 'general', // General
34
+ ),
35
+ 'button' => array(
36
+ 'slug' => 'button',
37
+ 'title' => 'Button',
38
+ 'package' => 'free',
39
+ 'widget-category' => 'general', // General
40
+ ),
41
+ 'heading' => array(
42
+ 'slug' => 'heading',
43
+ 'title' => 'Heading',
44
+ 'package' => 'free',
45
+ 'widget-category' => 'general', // General
46
+ ),
47
+ 'blog-posts' => array(
48
+ 'slug' => 'blog-posts',
49
+ 'title' => 'Blog Posts',
50
+ 'package' => 'free',
51
+ 'widget-category' => 'wp-posts', // Post Widgets
52
+ ),
53
+ 'icon-box' => array(
54
+ 'slug' => 'icon-box',
55
+ 'title' => 'Icon Box',
56
+ 'package' => 'free',
57
+ 'widget-category' => 'general', // General
58
+ ),
59
+ 'image-box' => array(
60
+ 'slug' => 'image-box',
61
+ 'title' => 'Image Box',
62
+ 'package' => 'free',
63
+ 'widget-category' => 'general', // General
64
+ ),
65
+ 'countdown-timer' => array(
66
+ 'slug' => 'countdown-timer',
67
+ 'title' => 'Countdown Timer',
68
+ 'package' => 'free',
69
+ 'widget-category' => 'general', // General
70
+ ),
71
+ 'client-logo' => array(
72
+ 'slug' => 'client-logo',
73
+ 'title' => 'Client Logo',
74
+ 'package' => 'free',
75
+ 'widget-category' => 'general', // General
76
+ ),
77
+ 'faq' => array(
78
+ 'slug' => 'faq',
79
+ 'title' => 'FAQ',
80
+ 'package' => 'free',
81
+ 'widget-category' => 'general', // General
82
+ ),
83
+ 'funfact' => array(
84
+ 'slug' => 'funfact',
85
+ 'title' => 'Funfact',
86
+ 'package' => 'free',
87
+ 'widget-category' => 'general', // General
88
+ ),
89
+ 'image-comparison' => array(
90
+ 'slug' => 'image-comparison',
91
+ 'title' => 'Image Comparison',
92
+ 'package' => 'free',
93
+ 'widget-category' => 'general', // General
94
+ ),
95
+ 'lottie' => array(
96
+ 'slug' => 'lottie',
97
+ 'title' => 'Lottie',
98
+ 'package' => 'free',
99
+ 'widget-category' => 'general', // General
100
+ ),
101
+ 'testimonial' => array(
102
+ 'slug' => 'testimonial',
103
+ 'title' => 'Testimonial',
104
+ 'package' => 'free',
105
+ 'widget-category' => 'general', // General
106
+ ),
107
+ 'pricing' => array(
108
+ 'slug' => 'pricing',
109
+ 'title' => 'Pricing Table',
110
+ 'package' => 'free',
111
+ 'widget-category' => 'general', // General
112
+ ),
113
+ 'team' => array(
114
+ 'slug' => 'team',
115
+ 'title' => 'Team',
116
+ 'package' => 'free',
117
+ 'widget-category' => 'general', // General
118
+ ),
119
+ 'social' => array(
120
+ 'slug' => 'social',
121
+ 'title' => 'Social Icons',
122
+ 'package' => 'free',
123
+ 'widget-category' => 'general', // General
124
+ ),
125
+ 'progressbar' => array(
126
+ 'slug' => 'progressbar',
127
+ 'title' => 'Progress Bar',
128
+ 'package' => 'free',
129
+ 'widget-category' => 'general', // General
130
+ ),
131
+ 'category-list' => array(
132
+ 'slug' => 'category-list',
133
+ 'title' => 'Category List',
134
+ 'package' => 'free',
135
+ 'widget-category' => 'wp-posts', // Post Widgets
136
+ ),
137
+ 'page-list' => array(
138
+ 'slug' => 'page-list',
139
+ 'title' => 'Page List',
140
+ 'package' => 'free',
141
+ 'widget-category' => 'header-footer', // ElementsKit Header Footer
142
+ ),
143
+ 'post-grid' => array(
144
+ 'slug' => 'post-grid',
145
+ 'title' => 'Post Grid',
146
+ 'package' => 'free',
147
+ 'widget-category' => 'wp-posts', // Post Widgets
148
+ ),
149
+ 'post-list' => array(
150
+ 'slug' => 'post-list',
151
+ 'title' => 'Post List',
152
+ 'package' => 'free',
153
+ 'widget-category' => 'wp-posts', // Post Widgets
154
+ ),
155
+ 'post-tab' => array(
156
+ 'slug' => 'post-tab',
157
+ 'title' => 'Post Tab',
158
+ 'package' => 'free',
159
+ 'widget-category' => 'wp-posts', // Post Widgets
160
+ ),
161
+ 'nav-menu' => array(
162
+ 'slug' => 'nav-menu',
163
+ 'title' => 'ElementsKit Nav Menu',
164
+ 'package' => 'free',
165
+ 'widget-category' => 'header-footer', // ElementsKit Header Footer
166
+ ),
167
+ 'mail-chimp' => array(
168
+ 'slug' => 'mail-chimp',
169
+ 'title' => 'MailChimp',
170
+ 'package' => 'free',
171
+ 'widget-category' => 'form-widgets', // Form Widgets
172
+ ),
173
+ 'header-info' => array(
174
+ 'slug' => 'header-info',
175
+ 'title' => 'Header Info',
176
+ 'package' => 'free',
177
+ 'widget-category' => 'header-footer', // ElementsKit Header Footer
178
+ ),
179
+ 'piechart' => array(
180
+ 'slug' => 'piechart',
181
+ 'title' => 'Pie Chart',
182
+ 'package' => 'free',
183
+ 'widget-category' => 'general', // General
184
+ ),
185
+ 'header-search' => array(
186
+ 'slug' => 'header-search',
187
+ 'title' => 'Header Search',
188
+ 'package' => 'free',
189
+ 'widget-category' => 'header-footer', // ElementsKit Header Footer
190
+ ),
191
+ 'header-offcanvas' => array(
192
+ 'slug' => 'header-offcanvas',
193
+ 'title' => 'Header Offcanvas',
194
+ 'package' => 'free',
195
+ 'widget-category' => 'header-footer', // ElementsKit Header Footer
196
+ ),
197
+ 'tab' => array(
198
+ 'slug' => 'tab',
199
+ 'title' => 'Tab',
200
+ 'package' => 'free',
201
+ 'widget-category' => 'general', // General
202
+ ),
203
+ 'contact-form7' => array(
204
+ 'slug' => 'contact-form7',
205
+ 'title' => 'Contact Form7',
206
+ 'package' => 'free',
207
+ 'widget-category' => 'form-widgets', // Form Widgets
208
+ ),
209
+ 'video' => array(
210
+ 'slug' => 'video',
211
+ 'title' => 'Video',
212
+ 'package' => 'free',
213
+ 'widget-category' => 'general', // General
214
+ ),
215
+ 'business-hours' => array(
216
+ 'slug' => 'business-hours',
217
+ 'title' => 'Business Hours',
218
+ 'package' => 'free',
219
+ 'widget-category' => 'general', // General
220
+ ),
221
+ 'drop-caps' => array(
222
+ 'slug' => 'drop-caps',
223
+ 'title' => 'Drop Caps',
224
+ 'package' => 'free',
225
+ 'widget-category' => 'general', // General
226
+ ),
227
+ 'social-share' => array(
228
+ 'slug' => 'social-share',
229
+ 'title' => 'Social Share',
230
+ 'package' => 'free',
231
+ 'widget-category' => 'general', // General
232
+ ),
233
+ 'dual-button' => array(
234
+ 'slug' => 'dual-button',
235
+ 'title' => 'Dual Button',
236
+ 'package' => 'free',
237
+ 'widget-category' => 'general', // General
238
+ ),
239
+ 'caldera-forms' => array(
240
+ 'slug' => 'caldera-forms',
241
+ 'title' => 'Caldera Forms',
242
+ 'package' => 'free',
243
+ 'widget-category' => 'form-widgets', // Form Widgets
244
+ ),
245
+ 'we-forms' => array(
246
+ 'slug' => 'we-forms',
247
+ 'title' => 'We Forms',
248
+ 'package' => 'free',
249
+ 'widget-category' => 'form-widgets', // Form Widgets
250
+ ),
251
+ 'wp-forms' => array(
252
+ 'slug' => 'wp-forms',
253
+ 'title' => 'Wp Forms',
254
+ 'package' => 'free',
255
+ 'widget-category' => 'form-widgets', // Form Widgets
256
+ ),
257
 
258
+ 'ninja-forms' => array(
259
+ 'slug' => 'ninja-forms',
260
+ 'title' => 'Ninja Forms',
261
+ 'package' => 'free',
262
+ 'widget-category' => 'form-widgets', // Form Widgets
263
+ ),
264
+ 'tablepress' => array(
265
+ 'slug' => 'tablepress',
266
+ 'title' => 'TablePress',
267
+ 'package' => 'free',
268
+ 'widget-category' => 'general', // General
269
+ ),
270
+ 'fluent-forms' => array(
271
+ 'slug' => 'fluent-forms',
272
+ 'title' => 'Fluent Forms',
273
+ 'package' => 'free',
274
+ 'widget-category' => 'form-widgets', // Form Widgets
275
+ ),
276
+ 'back-to-top' => array(
277
+ 'slug' => 'back-to-top',
278
+ 'title' => 'Back To Top',
279
+ 'package' => 'free',
280
+ 'widget-category' => 'general', //general
281
+ ),
282
+ 'advanced-accordion' => array(
283
+ 'slug' => 'advanced-accordion',
284
+ 'title' => 'Advanced Accordion',
285
+ 'package' => 'pro-disabled',
286
+ 'widget-category' => 'general', // General
287
+ ),
288
+ 'advanced-tab' => array(
289
+ 'slug' => 'advanced-tab',
290
+ 'title' => 'Advanced Tab',
291
+ 'package' => 'pro-disabled',
292
+ 'widget-category' => 'general', // General
293
+ ),
294
+ 'hotspot' => array(
295
+ 'slug' => 'hotspot',
296
+ 'title' => 'Hotspot',
297
+ 'package' => 'pro-disabled',
298
+ 'widget-category' => 'general', // General
299
+ ),
300
+ 'motion-text' => array(
301
+ 'slug' => 'motion-text',
302
+ 'title' => 'Motion Text',
303
+ 'package' => 'pro-disabled',
304
+ 'widget-category' => 'general', // General
305
+ ),
306
+ 'twitter-feed' => array(
307
+ 'slug' => 'twitter-feed',
308
+ 'title' => 'Twitter Feed',
309
+ 'package' => 'pro-disabled',
310
+ 'widget-category' => 'social-media-feeds', // Social Media Feeds Widgets
311
+ ),
312
 
313
+ 'instagram-feed' => array(
314
+ 'slug' => 'instagram-feed',
315
+ 'title' => 'Instagram Feed',
316
+ 'package' => 'pro-disabled',
317
+ 'widget-category' => 'social-media-feeds', // Social Media Feeds Widgets
318
+ ),
319
+ 'gallery' => array(
320
+ 'slug' => 'gallery',
321
+ 'title' => 'Gallery',
322
+ 'package' => 'pro-disabled',
323
+ 'widget-category' => 'general', // General
324
+ ),
325
+ 'chart' => array(
326
+ 'slug' => 'chart',
327
+ 'title' => 'Chart',
328
+ 'package' => 'pro-disabled',
329
+ 'widget-category' => 'general', // General
330
+ ),
331
+ 'woo-category-list' => array(
332
+ 'slug' => 'woo-category-list',
333
+ 'title' => 'Woo Category List',
334
+ 'package' => 'pro-disabled',
335
+ 'widget-category' => 'woocommerce', // Woocommerce Widgets
336
+ ),
337
+ 'woo-mini-cart' => array(
338
+ 'slug' => 'woo-mini-cart',
339
+ 'title' => 'Woo Mini Cart',
340
+ 'package' => 'pro-disabled',
341
+ 'widget-category' => 'woocommerce', // Woocommerce Widgets
342
+ ),
343
+ 'woo-product-carousel' => array(
344
+ 'slug' => 'woo-product-carousel',
345
+ 'title' => 'Woo Product Carousel',
346
+ 'package' => 'pro-disabled',
347
+ 'widget-category' => 'woocommerce', // Woocommerce Widgets
348
+ ),
349
+ 'woo-product-list' => array(
350
+ 'slug' => 'woo-product-list',
351
+ 'title' => 'Woo Product List',
352
+ 'package' => 'pro-disabled',
353
+ 'widget-category' => 'woocommerce', // Woocommerce Widgets
354
+ ),
355
+ 'table' => array(
356
+ 'slug' => 'table',
357
+ 'title' => 'Table',
358
+ 'package' => 'pro-disabled',
359
+ 'widget-category' => 'general', // General
360
+ ),
361
+ 'timeline' => array(
362
+ 'slug' => 'timeline',
363
+ 'title' => 'Timeline',
364
+ 'package' => 'pro-disabled',
365
+ 'widget-category' => 'general', // General
366
+ ),
367
+ 'creative-button' => array(
368
+ 'slug' => 'creative-button',
369
+ 'title' => 'Creative Button',
370
+ 'package' => 'pro-disabled',
371
+ 'widget-category' => 'general', // General
372
+ ),
373
+ 'vertical-menu' => array(
374
+ 'slug' => 'vertical-menu',
375
+ 'title' => 'Vertical Menu',
376
+ 'package' => 'pro-disabled',
377
+ 'widget-category' => 'header-footer', // ElementsKit Header Footer
378
+ ),
379
+ 'advanced-toggle' => array(
380
+ 'slug' => 'advanced-toggle',
381
+ 'title' => 'Advanced Toggle',
382
+ 'package' => 'pro-disabled',
383
+ 'widget-category' => 'general', // General
384
+ ),
385
+ 'video-gallery' => array(
386
+ 'slug' => 'video-gallery',
387
+ 'title' => 'Video Gallery',
388
+ 'package' => 'pro-disabled',
389
+ 'widget-category' => 'general', // General
390
+ ),
391
+ 'zoom' => array(
392
+ 'slug' => 'zoom',
393
+ 'title' => 'Zoom',
394
+ 'package' => 'pro-disabled',
395
+ 'widget-category' => 'meeting-widgets', // Meeting Widgets
396
+ ),
397
+ 'behance-feed' => array(
398
+ 'slug' => 'behance-feed',
399
+ 'title' => 'Behance Feed',
400
+ 'package' => 'pro-disabled',
401
+ 'widget-category' => 'social-media-feeds', // Social Media Feeds Widgets
402
+ ),
403
 
404
+ 'breadcrumb' => array(
405
+ 'slug' => 'breadcrumb',
406
+ 'title' => 'Breadcrumb',
407
+ 'package' => 'pro-disabled',
408
+ 'widget-category' => 'general', // General
409
+ ),
410
 
411
+ 'dribble-feed' => array(
412
+ 'slug' => 'dribble-feed',
413
+ 'title' => 'Dribble Feed',
414
+ 'package' => 'pro-disabled',
415
+ 'widget-category' => 'social-media-feeds', // Social Media Feeds Widgets
416
+ ),
417
 
418
+ 'facebook-feed' => array(
419
+ 'slug' => 'facebook-feed',
420
+ 'title' => 'Facebook feed',
421
+ 'package' => 'pro-disabled',
422
+ 'widget-category' => 'social-media-feeds', // Social Media Feeds Widgets
423
+ ),
424
 
425
+ 'facebook-review' => array(
426
+ 'slug' => 'facebook-review',
427
+ 'title' => 'Facebook review',
428
+ 'package' => 'pro-disabled',
429
+ 'widget-category' => 'review-widgets', // Review Widgets
430
+ ),
431
 
432
+ 'yelp' => array(
433
+ 'slug' => 'yelp',
434
+ 'title' => 'Yelp',
435
+ 'package' => 'pro-disabled',
436
+ 'widget-category' => 'review-widgets', // Review Widgets
437
+ ),
438
 
439
+ 'pinterest-feed' => array(
440
+ 'slug' => 'pinterest-feed',
441
+ 'title' => 'Pinterest Feed',
442
+ 'package' => 'pro-disabled',
443
+ 'widget-category' => 'social-media-feeds', // Social Media Feeds Widgets
444
+ ),
445
 
446
+ 'popup-modal' => array(
447
+ 'slug' => 'popup-modal',
448
+ 'title' => 'Popup Modal',
449
+ 'package' => 'pro-disabled',
450
+ 'widget-category' => 'general', // General
451
+ ),
452
 
453
+ 'google-map' => array(
454
+ 'slug' => 'google-map',
455
+ 'title' => 'Google Map',
456
+ 'package' => 'pro-disabled',
457
+ 'widget-category' => 'general', // General
458
+ ),
459
+ 'unfold' => array(
460
+ 'slug' => 'unfold',
461
+ 'title' => 'Unfold',
462
+ 'package' => 'pro-disabled',
463
+ 'widget-category' => 'general', // General
464
+ ),
465
+ 'image-swap' => array(
466
+ 'slug' => 'image-swap',
467
+ 'title' => 'Image Swap',
468
+ 'package' => 'pro-disabled',
469
+ 'widget-category' => 'general', // General
470
+ ),
471
+ )
472
+ );
473
  }
474
  }
core/activation-actions.php CHANGED
@@ -8,7 +8,7 @@ defined( 'ABSPATH' ) || exit;
8
 
9
  class Activation_Actions {
10
 
11
- private $key = 'elementskit-lite__plugin_activated';
12
  private $has_key = false;
13
 
14
  public function init() {
@@ -43,4 +43,4 @@ class Activation_Actions {
43
  // Onboard_Status::redirect_onboard();
44
  }
45
 
46
- }
8
 
9
  class Activation_Actions {
10
 
11
+ private $key = 'elementskit-lite__plugin_activated';
12
  private $has_key = false;
13
 
14
  public function init() {
43
  // Onboard_Status::redirect_onboard();
44
  }
45
 
46
+ }
core/build-inline-scripts.php CHANGED
@@ -11,43 +11,43 @@ defined( 'ABSPATH' ) || exit;
11
  * @since 1.0.0
12
  * @access public
13
  */
14
- class Build_Inline_Scripts{
15
 
16
- use \ElementsKit_Lite\Traits\Singleton;
17
 
18
- function __construct(){
19
- add_action('wp_enqueue_scripts', [$this, 'frontend_js']);
20
- add_action('admin_print_scripts', [$this, 'admin_js']);
21
- }
22
 
23
 
24
- // scripts for common end, admin & frontend
25
- public function common_js(){
26
  ob_start(); ?>
27
 
28
  var elementskit = {
29
- resturl: '<?php echo get_rest_url() . 'elementskit/v1/'; ?>',
30
- }
31
 
32
  <?php
33
- $output = ob_get_contents();
34
- ob_end_clean();
35
- return $output;
36
- }
37
 
38
 
39
 
40
- // scripts for frontend
41
- public function frontend_js(){
42
- $js = $this->common_js();
43
- wp_add_inline_script('elementskit-framework-js-frontend', $js);
44
- }
45
 
46
 
47
- // scripts for admin
48
- public function admin_js(){
49
- echo "<script type='text/javascript'>\n";
50
- echo \ElementsKit_Lite\Utils::render($this->common_js());
51
- echo "\n</script>";
52
- }
53
- }
11
  * @since 1.0.0
12
  * @access public
13
  */
14
+ class Build_Inline_Scripts {
15
 
16
+ use \ElementsKit_Lite\Traits\Singleton;
17
 
18
+ function __construct() {
19
+ add_action( 'wp_enqueue_scripts', array( $this, 'frontend_js' ) );
20
+ add_action( 'admin_print_scripts', array( $this, 'admin_js' ) );
21
+ }
22
 
23
 
24
+ // scripts for common end, admin & frontend
25
+ public function common_js() {
26
  ob_start(); ?>
27
 
28
  var elementskit = {
29
+ resturl: '<?php echo get_rest_url() . 'elementskit/v1/'; ?>',
30
+ }
31
 
32
  <?php
33
+ $output = ob_get_contents();
34
+ ob_end_clean();
35
+ return $output;
36
+ }
37
 
38
 
39
 
40
+ // scripts for frontend
41
+ public function frontend_js() {
42
+ $js = $this->common_js();
43
+ wp_add_inline_script( 'elementskit-framework-js-frontend', $js );
44
+ }
45
 
46
 
47
+ // scripts for admin
48
+ public function admin_js() {
49
+ echo "<script type='text/javascript'>\n";
50
+ echo \ElementsKit_Lite\Utils::render( $this->common_js() );
51
+ echo "\n</script>";
52
+ }
53
+ }
core/build-modules.php CHANGED
@@ -1,5 +1,6 @@
1
  <?php
2
  namespace ElementsKit_Lite\Core;
 
3
  use ElementsKit_Lite\Libs\Framework\Attr;
4
 
5
  defined( 'ABSPATH' ) || exit;
@@ -12,11 +13,11 @@ defined( 'ABSPATH' ) || exit;
12
  * @since 1.0.0
13
  * @access public
14
  */
15
- class Build_Modules{
16
 
17
- private $modules;
18
 
19
- use \ElementsKit_Lite\Traits\Singleton;
20
 
21
  /**
22
  * Hold the module list.
@@ -26,23 +27,23 @@ class Build_Modules{
26
  * @static
27
  */
28
 
29
- public function __construct(){
30
- $this->modules = \ElementsKit_Lite\Config\Module_List::instance()->get_list('active');
31
-
32
- foreach($this->modules as $module_slug => $module){
33
- if(isset($module['path'])){
34
- include_once $module['path'] . 'init.php';
35
- }
36
-
37
- // make the class name and call it.
38
- $class_name = (
39
- isset($module['base_class_name'])
40
- ? $module['base_class_name']
41
- : '\ElementsKit_Lite\Modules\\'. \ElementsKit_Lite\Utils::make_classname($module_slug) .'\Init'
42
- );
43
- if(class_exists($class_name)){
44
- new $class_name();
45
- }
46
- }
47
- }
48
- }
1
  <?php
2
  namespace ElementsKit_Lite\Core;
3
+
4
  use ElementsKit_Lite\Libs\Framework\Attr;
5
 
6
  defined( 'ABSPATH' ) || exit;
13
  * @since 1.0.0
14
  * @access public
15
  */
16
+ class Build_Modules {
17
 
18
+ private $modules;
19
 
20
+ use \ElementsKit_Lite\Traits\Singleton;
21
 
22
  /**
23
  * Hold the module list.
27
  * @static
28
  */
29
 
30
+ public function __construct() {
31
+ $this->modules = \ElementsKit_Lite\Config\Module_List::instance()->get_list( 'active' );
32
+
33
+ foreach ( $this->modules as $module_slug => $module ) {
34
+ if ( isset( $module['path'] ) ) {
35
+ include_once $module['path'] . 'init.php';
36
+ }
37
+
38
+ // make the class name and call it.
39
+ $class_name = (
40
+ isset( $module['base_class_name'] )
41
+ ? $module['base_class_name']
42
+ : '\ElementsKit_Lite\Modules\\' . \ElementsKit_Lite\Utils::make_classname( $module_slug ) . '\Init'
43
+ );
44
+ if ( class_exists( $class_name ) ) {
45
+ new $class_name();
46
+ }
47
+ }
48
+ }
49
+ }
core/build-widgets.php CHANGED
@@ -5,7 +5,7 @@ use ElementsKit_Lite\Libs\Framework\Attr;
5
 
6
  defined( 'ABSPATH' ) || exit;
7
 
8
- class Build_Widgets{
9
 
10
  /**
11
  * Collection of default widgets.
@@ -13,80 +13,80 @@ class Build_Widgets{
13
  * @since 1.0.0
14
  * @access private
15
  */
16
- private $widgets;
17
 
18
- use \ElementsKit_Lite\Traits\Singleton;
19
 
20
- public function __construct() {
21
 
22
- new \ElementsKit_Lite\Widgets\Init\Enqueue_Scripts;
23
- $this->widgets = \ElementsKit_Lite\Config\Widget_List::instance()->get_list('active');
24
 
25
- // check if the widget is exists
26
- foreach($this->widgets as $widget){
27
- $this->add_widget($widget);
28
- }
29
 
30
- add_action( 'elementor/widgets/register', [$this, 'register_widget']);
31
- }
32
 
33
 
34
- public function add_widget($widget_config){
35
 
36
- $widget_dir = (
37
- isset($widget_config['path'])
38
- ? $widget_config['path']
39
- : \ElementsKit_Lite::widget_dir() . $widget_config['slug'] . '/'
40
- );
41
 
42
- include $widget_dir . $widget_config['slug'] . '.php';
43
- include $widget_dir . $widget_config['slug'] . '-handler.php';
44
 
45
- $base_class_name = (
46
- (isset($widget_config['base_class_name']))
47
- ? $widget_config['base_class_name']
48
- : '\Elementor\ElementsKit_Widget_' . \ElementsKit_Lite\Utils::make_classname($widget_config['slug'])
49
- );
50
 
51
- $handler = $base_class_name . '_Handler';
52
- $handler_class = new $handler();
53
 
54
- if($handler_class->scripts() != false){
55
- add_action( 'wp_enqueue_scripts', [$handler_class, 'scripts'] );
56
- }
57
 
58
- if($handler_class->styles() != false){
59
- add_action( 'wp_enqueue_scripts', [$handler_class, 'styles'] );
60
- }
61
 
62
- if($handler_class->inline_css() != false){
63
- wp_add_inline_style( 'elementskit-init-css', $handler_class->inline_css());
64
- }
65
 
66
- if($handler_class->inline_js() != false){
67
- wp_add_inline_script( 'elementskit-init-js', $handler_class->inline_js());
68
- }
69
 
70
- if($handler_class->register_api() != false){
71
- if(\file_exists($handler_class->register_api())){
72
- include_once $handler_class->register_api();
73
- $api = $base_class_name . '_Api';
74
- new $api();
75
- }
76
- }
77
 
78
- if($handler_class->wp_init() != false){
79
- add_action('init', [$handler_class, 'wp_init']);
80
- }
81
- }
82
 
83
 
84
- public function register_widget($widgets_manager){
85
- foreach($this->widgets as $widget_slug => $widget){
86
- $class_name = '\Elementor\ElementsKit_Widget_' . \ElementsKit_Lite\Utils::make_classname($widget_slug);
87
- if(class_exists($class_name)){
88
- $widgets_manager->register(new $class_name());
89
- }
90
- }
91
- }
92
- }
5
 
6
  defined( 'ABSPATH' ) || exit;
7
 
8
+ class Build_Widgets {
9
 
10
  /**
11
  * Collection of default widgets.
13
  * @since 1.0.0
14
  * @access private
15
  */
16
+ private $widgets;
17
 
18
+ use \ElementsKit_Lite\Traits\Singleton;
19
 
20
+ public function __construct() {
21
 
22
+ new \ElementsKit_Lite\Widgets\Init\Enqueue_Scripts();
23
+ $this->widgets = \ElementsKit_Lite\Config\Widget_List::instance()->get_list( 'active' );
24
 
25
+ // check if the widget is exists
26
+ foreach ( $this->widgets as $widget ) {
27
+ $this->add_widget( $widget );
28
+ }
29
 
30
+ add_action( 'elementor/widgets/register', array( $this, 'register_widget' ) );
31
+ }
32
 
33
 
34
+ public function add_widget( $widget_config ) {
35
 
36
+ $widget_dir = (
37
+ isset( $widget_config['path'] )
38
+ ? $widget_config['path']
39
+ : \ElementsKit_Lite::widget_dir() . $widget_config['slug'] . '/'
40
+ );
41
 
42
+ include $widget_dir . $widget_config['slug'] . '.php';
43
+ include $widget_dir . $widget_config['slug'] . '-handler.php';
44
 
45
+ $base_class_name = (
46
+ ( isset( $widget_config['base_class_name'] ) )
47
+ ? $widget_config['base_class_name']
48
+ : '\Elementor\ElementsKit_Widget_' . \ElementsKit_Lite\Utils::make_classname( $widget_config['slug'] )
49
+ );
50
 
51
+ $handler = $base_class_name . '_Handler';
52
+ $handler_class = new $handler();
53
 
54
+ if ( $handler_class->scripts() != false ) {
55
+ add_action( 'wp_enqueue_scripts', array( $handler_class, 'scripts' ) );
56
+ }
57
 
58
+ if ( $handler_class->styles() != false ) {
59
+ add_action( 'wp_enqueue_scripts', array( $handler_class, 'styles' ) );
60
+ }
61
 
62
+ if ( $handler_class->inline_css() != false ) {
63
+ wp_add_inline_style( 'elementskit-init-css', $handler_class->inline_css() );
64
+ }
65
 
66
+ if ( $handler_class->inline_js() != false ) {
67
+ wp_add_inline_script( 'elementskit-init-js', $handler_class->inline_js() );
68
+ }
69
 
70
+ if ( $handler_class->register_api() != false ) {
71
+ if ( \file_exists( $handler_class->register_api() ) ) {
72
+ include_once $handler_class->register_api();
73
+ $api = $base_class_name . '_Api';
74
+ new $api();
75
+ }
76
+ }
77
 
78
+ if ( $handler_class->wp_init() != false ) {
79
+ add_action( 'init', array( $handler_class, 'wp_init' ) );
80
+ }
81
+ }
82
 
83
 
84
+ public function register_widget( $widgets_manager ) {
85
+ foreach ( $this->widgets as $widget_slug => $widget ) {
86
+ $class_name = '\Elementor\ElementsKit_Widget_' . \ElementsKit_Lite\Utils::make_classname( $widget_slug );
87
+ if ( class_exists( $class_name ) ) {
88
+ $widgets_manager->register( new $class_name() );
89
+ }
90
+ }
91
+ }
92
+ }
core/config-list.php CHANGED
@@ -1,63 +1,63 @@
1
  <?php
2
  namespace ElementsKit_Lite\Core;
3
 
4
- abstract class Config_List{
5
 
6
  use \ElementsKit_Lite\Traits\Singleton;
7
 
8
- private $full_list = [];
9
- private $active_list = [];
10
-
11
- protected $optional_list = [];
12
- protected $required_list = [];
13
 
14
  protected $type;
15
 
16
- public function __construct(){
17
  $this->set_optional_list();
18
  $this->set_required_list();
19
  $this->set_full_list();
20
  $this->set_active_list();
21
  }
22
 
23
- public function get_list($data = 'full', $module = null) {
24
- if($module != null) {
25
- return ($this->{$data . '_list'}[$module] ?? false);
26
  }
27
 
28
  return $this->{$data . '_list'};
29
  }
30
 
31
- public function is_active($item) {
32
 
33
- $item = ($this->active_list[$item] ?? []);
34
 
35
- return empty($item['package']) ? false : (($item['package'] == 'free' || $item['package'] == 'pro'));
36
  }
37
 
38
- private function set_active_list(){
39
- $database_list = \ElementsKit_Lite\Libs\Framework\Attr::instance()->utils->get_option($this->type . '_list', []);
40
 
41
- foreach($this->full_list as $key => $item){
42
 
43
- if(isset($database_list[$key]['status']) && $database_list[$key]['status'] == 'inactive' && !key_exists($key, $this->required_list)){
44
- continue;
45
- }
46
 
47
- if(isset($item['package']) && $item['package'] == 'pro-disabled'){
48
- continue;
49
- }
50
 
51
- $this->active_list[$key] = $item;
52
  }
53
  }
54
 
55
- private function set_full_list(){
56
- $this->full_list = array_merge($this->required_list, $this->optional_list);
57
- }
58
 
59
  abstract protected function set_required_list();
60
 
61
  abstract protected function set_optional_list();
62
 
63
- }
1
  <?php
2
  namespace ElementsKit_Lite\Core;
3
 
4
+ abstract class Config_List {
5
 
6
  use \ElementsKit_Lite\Traits\Singleton;
7
 
8
+ private $full_list = array();
9
+ private $active_list = array();
10
+
11
+ protected $optional_list = array();
12
+ protected $required_list = array();
13
 
14
  protected $type;
15
 
16
+ public function __construct() {
17
  $this->set_optional_list();
18
  $this->set_required_list();
19
  $this->set_full_list();
20
  $this->set_active_list();
21
  }
22
 
23
+ public function get_list( $data = 'full', $module = null ) {
24
+ if ( $module != null ) {
25
+ return ( $this->{$data . '_list'}[ $module ] ?? false );
26
  }
27
 
28
  return $this->{$data . '_list'};
29
  }
30
 
31
+ public function is_active( $item ) {
32
 
33
+ $item = ( $this->active_list[ $item ] ?? array() );
34
 
35
+ return empty( $item['package'] ) ? false : ( ( $item['package'] == 'free' || $item['package'] == 'pro' ) );
36
  }
37
 
38
+ private function set_active_list() {
39
+ $database_list = \ElementsKit_Lite\Libs\Framework\Attr::instance()->utils->get_option( $this->type . '_list', array() );
40
 
41
+ foreach ( $this->full_list as $key => $item ) {
42
 
43
+ if ( isset( $database_list[ $key ]['status'] ) && $database_list[ $key ]['status'] == 'inactive' && ! key_exists( $key, $this->required_list ) ) {
44
+ continue;
45
+ }
46
 
47
+ if ( isset( $item['package'] ) && $item['package'] == 'pro-disabled' ) {
48
+ continue;
49
+ }
50
 
51
+ $this->active_list[ $key ] = $item;
52
  }
53
  }
54
 
55
+ private function set_full_list() {
56
+ $this->full_list = array_merge( $this->required_list, $this->optional_list );
57
+ }
58
 
59
  abstract protected function set_required_list();
60
 
61
  abstract protected function set_optional_list();
62
 
63
+ }
core/handler-api.php CHANGED
@@ -1,39 +1,45 @@
1
  <?php
2
  namespace ElementsKit_Lite\Core;
3
 
4
- class Handler_Api{
5
-
6
- public $prefix = '';
7
- public $param = '';
8
- public $request = null;
9
-
10
- public function __construct(){
11
- $this->config();
12
- $this->init();
13
- }
14
-
15
- public function config(){
16
-
17
- }
18
-
19
- public function init(){
20
- add_action( 'rest_api_init', function () {
21
- register_rest_route( untrailingslashit('elementskit/v1/' . $this->prefix), '/(?P<action>\w+)/' . ltrim($this->param, '/'), array(
22
- 'methods' => \WP_REST_Server::ALLMETHODS,
23
- 'callback' => [$this, 'callback'],
24
- 'permission_callback' => '__return_true',
25
- // all permissions are implimented inside the callback action
26
- ));
27
- });
28
- }
29
-
30
- public function callback($request){
31
- $this->request = $request;
32
- $action_class = strtolower($this->request->get_method()) .'_'. $this->request['action'];
33
-
34
- if(method_exists($this, $action_class)){
35
- return $this->{$action_class}();
36
- }
37
- }
38
-
39
- }
 
 
 
 
 
 
1
  <?php
2
  namespace ElementsKit_Lite\Core;
3
 
4
+ class Handler_Api {
5
+
6
+ public $prefix = '';
7
+ public $param = '';
8
+ public $request = null;
9
+
10
+ public function __construct() {
11
+ $this->config();
12
+ $this->init();
13
+ }
14
+
15
+ public function config() {
16
+ }
17
+
18
+ public function init() {
19
+ add_action(
20
+ 'rest_api_init',
21
+ function () {
22
+ register_rest_route(
23
+ untrailingslashit( 'elementskit/v1/' . $this->prefix ),
24
+ '/(?P<action>\w+)/' . ltrim( $this->param, '/' ),
25
+ array(
26
+ 'methods' => \WP_REST_Server::ALLMETHODS,
27
+ 'callback' => array( $this, 'callback' ),
28
+ 'permission_callback' => '__return_true',
29
+ // all permissions are implimented inside the callback action
30
+ )
31
+ );
32
+ }
33
+ );
34
+ }
35
+
36
+ public function callback( $request ) {
37
+ $this->request = $request;
38
+ $action_class = strtolower( $this->request->get_method() ) . '_' . $this->request['action'];
39
+
40
+ if ( method_exists( $this, $action_class ) ) {
41
+ return $this->{$action_class}();
42
+ }
43
+ }
44
+
45
+ }
core/handler-widget.php CHANGED
@@ -1,56 +1,56 @@
1
  <?php
2
  namespace ElementsKit_Lite\Core;
3
 
4
- class Handler_Widget{
5
-
6
- public function wp_init(){
7
- return false;
8
- }
9
-
10
- static function get_name() {
11
- return false;
12
- }
13
-
14
- static function get_title() {
15
- return false;
16
- }
17
-
18
- static function get_icon() {
19
- return false;
20
- }
21
-
22
- static function get_categories() {
23
- return false;
24
- }
25
-
26
- static function get_dir() {
27
- return false;
28
- }
29
-
30
- static function get_url() {
31
- return false;
32
- }
33
-
34
- public function register_api(){
35
- return false;
36
- }
37
-
38
- public function inline_js(){
39
- return false;
40
- }
41
-
42
- public function inline_css(){
43
- return false;
44
- }
45
-
46
- public function sass(){
47
- return false;
48
- }
49
-
50
- public function scripts(){
51
- return false;
52
- }
53
- public function styles(){
54
- return false;
55
- }
56
- }
1
  <?php
2
  namespace ElementsKit_Lite\Core;
3
 
4
+ class Handler_Widget {
5
+
6
+ public function wp_init() {
7
+ return false;
8
+ }
9
+
10
+ static function get_name() {
11
+ return false;
12
+ }
13
+
14
+ static function get_title() {
15
+ return false;
16
+ }
17
+
18
+ static function get_icon() {
19
+ return false;
20
+ }
21
+
22
+ static function get_categories() {
23
+ return false;
24
+ }
25
+
26
+ static function get_dir() {
27
+ return false;
28
+ }
29
+
30
+ static function get_url() {
31
+ return false;
32
+ }
33
+
34
+ public function register_api() {
35
+ return false;
36
+ }
37
+
38
+ public function inline_js() {
39
+ return false;
40
+ }
41
+
42
+ public function inline_css() {
43
+ return false;
44
+ }
45
+
46
+ public function sass() {
47
+ return false;
48
+ }
49
+
50
+ public function scripts() {
51
+ return false;
52
+ }
53
+ public function styles() {
54
+ return false;
55
+ }
56
+ }
elementskit-lite.php CHANGED
@@ -9,7 +9,7 @@ defined( 'ABSPATH' ) || exit;
9
  * Description: The most advanced addons for Elementor with tons of widgets, Header builder, Footer builder, Mega menu builder, layout pack and powerful custom controls.
10
  * Plugin URI: https://products.wpmet.com/elementskit
11
  * Author: Wpmet
12
- * Version: 2.5.9
13
  * Author URI: https://wpmet.com/
14
  *
15
  * Text Domain: elementskit-lite
@@ -23,15 +23,15 @@ defined( 'ABSPATH' ) || exit;
23
  *
24
  */
25
 
26
- final class ElementsKit_Lite{
27
  /**
28
  * Plugin Version
29
  *
30
  * @since 1.0.0
31
  * @var string The plugin version.
32
  */
33
- static function version(){
34
- return '2.5.9';
35
  }
36
 
37
  /**
@@ -40,7 +40,7 @@ final class ElementsKit_Lite{
40
  * @since 1.1.0
41
  * @var string The plugin purchase type [pro/ free].
42
  */
43
- static function package_type(){
44
  return apply_filters( 'elementskit/core/package_type', 'free' );
45
  }
46
 
@@ -51,31 +51,31 @@ final class ElementsKit_Lite{
51
  * @since 1.1.0
52
  * @var string The plugin purchase type [pro/ free].
53
  */
54
- static function license_status(){
55
- if(!class_exists('ElementsKit\Libs\Framework\Classes\License')){
56
  return 'invalid';
57
  }
58
- if(ElementsKit\Libs\Framework\Classes\License::instance()->status() != 'valid'){
59
  return 'invalid';
60
  }
61
 
62
  return 'valid';
63
  }
64
 
65
- public static function license_data(){
66
- if(!class_exists('\ElementsKit_Lite\Libs\Framework\Classes\Utils')){
67
- return [
68
- 'key' => '',
69
- 'checksum' => '',
70
- 'plugin_package' => \ElementsKit_Lite::package_type()
71
- ];
72
  }
73
 
74
- return [
75
- 'key' => \ElementsKit_Lite\Libs\Framework\Classes\Utils::instance()->get_option('license_key'),
76
- 'checksum' => get_option('__validate_oppai__'),
77
- 'plugin_package' => \ElementsKit_Lite::package_type()
78
- ];
79
  }
80
 
81
 
@@ -85,7 +85,7 @@ final class ElementsKit_Lite{
85
  * @since 1.2.6
86
  * @var string The plugin ID in our server.
87
  */
88
- static function product_id(){
89
  return '9';
90
  }
91
 
@@ -95,7 +95,7 @@ final class ElementsKit_Lite{
95
  * @since 1.3.1
96
  * @var string The plugin author.
97
  */
98
- static function author_name(){
99
  return 'Wpmet';
100
  }
101
 
@@ -105,7 +105,7 @@ final class ElementsKit_Lite{
105
  * @since 1.3.1
106
  * @var string The store name: self site, envato.
107
  */
108
- static function store_name(){
109
  return 'wordpressorg';
110
  }
111
 
@@ -115,7 +115,7 @@ final class ElementsKit_Lite{
115
  * @since 1.0.0
116
  * @var string Minimum Elementor version required to run the plugin.
117
  */
118
- static function min_el_version(){
119
  return '3.0.0';
120
  }
121
 
@@ -125,7 +125,7 @@ final class ElementsKit_Lite{
125
  * @since 1.0.0
126
  * @var string Minimum PHP version required to run the plugin.
127
  */
128
- static function min_php_version(){
129
  return '7.0';
130
  }
131
 
@@ -135,7 +135,7 @@ final class ElementsKit_Lite{
135
  * @since 1.0.0
136
  * @var string plugins's root file.
137
  */
138
- static function plugin_file(){
139
  return __FILE__;
140
  }
141
 
@@ -145,8 +145,8 @@ final class ElementsKit_Lite{
145
  * @since 1.0.0
146
  * @var string plugins's root url.
147
  */
148
- static function plugin_url(){
149
- return trailingslashit(plugin_dir_url( __FILE__ ));
150
  }
151
 
152
  /**
@@ -155,106 +155,106 @@ final class ElementsKit_Lite{
155
  * @since 1.0.0
156
  * @var string plugins's root directory.
157
  */
158
- static function plugin_dir(){
159
- return trailingslashit(plugin_dir_path( __FILE__ ));
160
  }
161
 
162
- /**
163
- * Plugin's widget directory.
164
- *
165
- * @since 1.0.0
166
- * @var string widget's root directory.
167
- */
168
- static function widget_dir(){
169
  return self::plugin_dir() . 'widgets/';
170
  }
171
 
172
- /**
173
- * Plugin's widget url.
174
- *
175
- * @since 1.0.0
176
- * @var string widget's root url.
177
- */
178
- static function widget_url(){
179
  return self::plugin_url() . 'widgets/';
180
  }
181
 
182
 
183
- /**
184
- * API url
185
- *
186
- * @since 1.0.0
187
- * @var string for license, layout notification related functions.
188
- */
189
- static function api_url(){
190
  return 'https://api.wpmet.com/public/';
191
  }
192
 
193
- /**
194
- * Account url
195
- *
196
- * @since 1.2.6
197
- * @var string for plugin update notification, user account page.
198
- */
199
- static function account_url(){
200
  return 'https://account.wpmet.com';
201
  }
202
 
203
- /**
204
- * Plugin's module directory.
205
- *
206
- * @since 1.0.0
207
- * @var string module's root directory.
208
- */
209
- static function module_dir(){
210
  return self::plugin_dir() . 'modules/';
211
  }
212
 
213
- /**
214
- * Plugin's module url.
215
- *
216
- * @since 1.0.0
217
- * @var string module's root url.
218
- */
219
- static function module_url(){
220
  return self::plugin_url() . 'modules/';
221
  }
222
 
223
 
224
- /**
225
- * Plugin's lib directory.
226
- *
227
- * @since 1.0.0
228
- * @var string lib's root directory.
229
- */
230
- static function lib_dir(){
231
  return self::plugin_dir() . 'libs/';
232
  }
233
 
234
- /**
235
- * Plugin's lib url.
236
- *
237
- * @since 1.0.0
238
- * @var string lib's root url.
239
- */
240
- static function lib_url(){
241
  return self::plugin_url() . 'libs/';
242
  }
243
 
244
- /**
245
- * Active plugin's textdomain list
246
- */
247
- static function active_plugins(){
248
- require_once(ABSPATH . 'wp-admin/includes/plugin.php');
249
- $apl = get_option('active_plugins');
250
- $plugins = get_plugins();
251
- $filter_string = '';
252
- foreach ($apl as $p){
253
- if(isset($plugins[$p]) && isset($plugins[$p]['TextDomain'])){
254
- $filter_string .= ',' . $plugins[$p]['TextDomain'];
255
- }
256
- }
257
- return ltrim($filter_string, ',');
258
  }
259
 
260
  /**
@@ -303,10 +303,10 @@ final class ElementsKit_Lite{
303
  * @access public
304
  */
305
  public function init() {
306
- // Load the Plugin class, it's the core class of ElementsKit_Lite.
307
- require_once self::plugin_dir() . 'plugin.php';
308
 
309
- \ElementsKit_Lite\Plugin::registrar_autoloader();
310
 
311
  // init notice class
312
  \Oxaim\Libs\Notice::init();
@@ -327,28 +327,30 @@ final class ElementsKit_Lite{
327
  }
328
 
329
  // Register ElementsKit_Lite widget category
330
- add_action('elementor/elements/categories_registered', [$this, 'elementor_widget_category']);
331
-
332
- // initiate elementor custom controls
333
- new \ElementsKit_Lite\Modules\Controls\Init();
334
 
335
- add_action( 'elementor/init', function(){
336
- if(class_exists('ElementsKit') && !class_exists('ElementsKit_Comp')){
337
- return;
338
- }
339
 
340
- // adding backward classes and methods for older 14 number themes.
341
- require_once self::plugin_dir() . 'compatibility/backward/plugin-class-backward-compatibility.php';
342
- require_once self::plugin_dir() . 'compatibility/backward/utils-backward-compablity.php';
 
 
 
343
 
344
- // Run the instance.
345
- Plugin::instance();
 
346
 
347
- // adding backward classes and methods for older 14 number themes.
348
- require_once self::plugin_dir() . 'compatibility/backward/module-list.php';
349
- require_once self::plugin_dir() . 'compatibility/backward/widget-list.php';
350
- });
351
 
 
 
 
 
 
352
  }
353
 
354
 
@@ -365,23 +367,23 @@ final class ElementsKit_Lite{
365
  if ( isset( $_GET['activate'] ) ) {
366
  unset( $_GET['activate'] );
367
  }
368
- $btn = [
369
- 'default_class' => 'button',
370
- 'class' => 'button-primary ', // button-primary button-secondary button-small button-large button-link
371
- ];
372
 
373
  if ( file_exists( WP_PLUGIN_DIR . '/elementor/elementor.php' ) ) {
374
- $btn['text'] = esc_html__('Activate Elementor', 'elementskit-lite');
375
- $btn['url'] = wp_nonce_url( 'plugins.php?action=activate&plugin=elementor/elementor.php&plugin_status=all&paged=1', 'activate-plugin_elementor/elementor.php' );
376
  } else {
377
- $btn['text'] = esc_html__('Install Elementor', 'elementskit-lite');
378
- $btn['url'] = wp_nonce_url( self_admin_url( 'update.php?action=install-plugin&plugin=elementor' ), 'install-plugin_elementor' );
379
  }
380
 
381
- \Oxaim\Libs\Notice::instance('elementskit-lite', 'unsupported-elementor-version')
382
- ->set_type('error')
383
- ->set_message(sprintf( esc_html__( 'ElementsKit requires Elementor version %1$s+, which is currently NOT RUNNING.', 'elementskit-lite' ), self::min_el_version() ))
384
- ->set_button($btn)
385
  ->call();
386
  }
387
 
@@ -395,44 +397,44 @@ final class ElementsKit_Lite{
395
  * @access public
396
  */
397
  public function failed_php_version() {
398
- \Oxaim\Libs\Notice::instance('elementskit-lite', 'unsupported-php-version')
399
- ->set_type('error')
400
- ->set_message(sprintf( esc_html__( 'ElementsKit requires PHP version %1$s+, which is currently NOT RUNNING on this server.', 'elementskit-lite' ), self::min_php_version() ))
401
  ->call();
402
  }
403
 
404
- /**
405
- * Rewrite flush.
406
- *
407
- * @since 1.0.7
408
- * @access public
409
- */
410
- public static function install_activation_key(){
411
- add_option('elementskit-lite__plugin_activated', self::plugin_file());
412
  }
413
- /**
414
- * Add category.
415
- *
416
- * Register custom widget category in Elementor's editor
417
- *
418
- * @since 1.0.0
419
- * @access public
420
- */
421
- public function elementor_widget_category($widgets_manager){
422
  $widgets_manager->add_category(
423
  'elementskit',
424
- [
425
- 'title' =>esc_html__( 'ElementsKit', 'elementskit-lite' ),
426
- 'icon' => 'fa fa-plug',
427
- ],
428
  1
429
  );
430
  $widgets_manager->add_category(
431
  'elementskit_headerfooter',
432
- [
433
- 'title' =>esc_html__( 'ElementsKit Header Footer', 'elementskit-lite' ),
434
- 'icon' => 'fa fa-plug',
435
- ],
436
  1
437
  );
438
  }
9
  * Description: The most advanced addons for Elementor with tons of widgets, Header builder, Footer builder, Mega menu builder, layout pack and powerful custom controls.
10
  * Plugin URI: https://products.wpmet.com/elementskit
11
  * Author: Wpmet
12
+ * Version: 2.5.10
13
  * Author URI: https://wpmet.com/
14
  *
15
  * Text Domain: elementskit-lite
23
  *
24
  */
25
 
26
+ final class ElementsKit_Lite {
27
  /**
28
  * Plugin Version
29
  *
30
  * @since 1.0.0
31
  * @var string The plugin version.
32
  */
33
+ static function version() {
34
+ return '2.5.10';
35
  }
36
 
37
  /**
40
  * @since 1.1.0
41
  * @var string The plugin purchase type [pro/ free].
42
  */
43
+ static function package_type() {
44
  return apply_filters( 'elementskit/core/package_type', 'free' );
45
  }
46
 
51
  * @since 1.1.0
52
  * @var string The plugin purchase type [pro/ free].
53
  */
54
+ static function license_status() {
55
+ if ( ! class_exists( 'ElementsKit\Libs\Framework\Classes\License' ) ) {
56
  return 'invalid';
57
  }
58
+ if ( ElementsKit\Libs\Framework\Classes\License::instance()->status() != 'valid' ) {
59
  return 'invalid';
60
  }
61
 
62
  return 'valid';
63
  }
64
 
65
+ public static function license_data() {
66
+ if ( ! class_exists( '\ElementsKit_Lite\Libs\Framework\Classes\Utils' ) ) {
67
+ return array(
68
+ 'key' => '',
69
+ 'checksum' => '',
70
+ 'plugin_package' => self::package_type(),
71
+ );
72
  }
73
 
74
+ return array(
75
+ 'key' => \ElementsKit_Lite\Libs\Framework\Classes\Utils::instance()->get_option( 'license_key' ),
76
+ 'checksum' => get_option( '__validate_oppai__' ),
77
+ 'plugin_package' => self::package_type(),
78
+ );
79
  }
80
 
81
 
85
  * @since 1.2.6
86
  * @var string The plugin ID in our server.
87
  */
88
+ static function product_id() {
89
  return '9';
90
  }
91
 
95
  * @since 1.3.1
96
  * @var string The plugin author.
97
  */
98
+ static function author_name() {
99
  return 'Wpmet';
100
  }
101
 
105
  * @since 1.3.1
106
  * @var string The store name: self site, envato.
107
  */
108
+ static function store_name() {
109
  return 'wordpressorg';
110
  }
111
 
115
  * @since 1.0.0
116
  * @var string Minimum Elementor version required to run the plugin.
117
  */
118
+ static function min_el_version() {
119
  return '3.0.0';
120
  }
121
 
125
  * @since 1.0.0
126
  * @var string Minimum PHP version required to run the plugin.
127
  */
128
+ static function min_php_version() {
129
  return '7.0';
130
  }
131
 
135
  * @since 1.0.0
136
  * @var string plugins's root file.
137
  */
138
+ static function plugin_file() {
139
  return __FILE__;
140
  }
141
 
145
  * @since 1.0.0
146
  * @var string plugins's root url.
147
  */
148
+ static function plugin_url() {
149
+ return trailingslashit( plugin_dir_url( __FILE__ ) );
150
  }
151
 
152
  /**
155
  * @since 1.0.0
156
  * @var string plugins's root directory.
157
  */
158
+ static function plugin_dir() {
159
+ return trailingslashit( plugin_dir_path( __FILE__ ) );
160
  }
161
 
162
+ /**
163
+ * Plugin's widget directory.
164
+ *
165
+ * @since 1.0.0
166
+ * @var string widget's root directory.
167
+ */
168
+ static function widget_dir() {
169
  return self::plugin_dir() . 'widgets/';
170
  }
171
 
172
+ /**
173
+ * Plugin's widget url.
174
+ *
175
+ * @since 1.0.0
176
+ * @var string widget's root url.
177
+ */
178
+ static function widget_url() {
179
  return self::plugin_url() . 'widgets/';
180
  }
181
 
182
 
183
+ /**
184
+ * API url
185
+ *
186
+ * @since 1.0.0
187
+ * @var string for license, layout notification related functions.
188
+ */
189
+ static function api_url() {
190
  return 'https://api.wpmet.com/public/';
191
  }
192
 
193
+ /**
194
+ * Account url
195
+ *
196
+ * @since 1.2.6
197
+ * @var string for plugin update notification, user account page.
198
+ */
199
+ static function account_url() {
200
  return 'https://account.wpmet.com';
201
  }
202
 
203
+ /**
204
+ * Plugin's module directory.
205
+ *
206
+ * @since 1.0.0
207
+ * @var string module's root directory.
208
+ */
209
+ static function module_dir() {
210
  return self::plugin_dir() . 'modules/';
211
  }
212
 
213
+ /**
214
+ * Plugin's module url.
215
+ *
216
+ * @since 1.0.0
217
+ * @var string module's root url.
218
+ */
219
+ static function module_url() {
220
  return self::plugin_url() . 'modules/';
221
  }
222
 
223
 
224
+ /**
225
+ * Plugin's lib directory.
226
+ *
227
+ * @since 1.0.0
228
+ * @var string lib's root directory.
229
+ */
230
+ static function lib_dir() {
231
  return self::plugin_dir() . 'libs/';
232
  }
233
 
234
+ /**
235
+ * Plugin's lib url.
236
+ *
237
+ * @since 1.0.0
238
+ * @var string lib's root url.
239
+ */
240
+ static function lib_url() {
241
  return self::plugin_url() . 'libs/';
242
  }
243
 
244
+ /**
245
+ * Active plugin's textdomain list
246
+ */
247
+ static function active_plugins() {
248
+ require_once ABSPATH . 'wp-admin/includes/plugin.php';
249
+ $apl = get_option( 'active_plugins' );
250
+ $plugins = get_plugins();
251
+ $filter_string = '';
252
+ foreach ( $apl as $p ) {
253
+ if ( isset( $plugins[ $p ] ) && isset( $plugins[ $p ]['TextDomain'] ) ) {
254
+ $filter_string .= ',' . $plugins[ $p ]['TextDomain'];
255
+ }
256
+ }
257
+ return ltrim( $filter_string, ',' );
258
  }
259
 
260
  /**
303
  * @access public
304
  */
305
  public function init() {
306
+ // Load the Plugin class, it's the core class of ElementsKit_Lite.
307
+ require_once self::plugin_dir() . 'plugin.php';
308
 
309
+ \ElementsKit_Lite\Plugin::registrar_autoloader();
310
 
311
  // init notice class
312
  \Oxaim\Libs\Notice::init();
327
  }
328
 
329
  // Register ElementsKit_Lite widget category
330
+ add_action( 'elementor/elements/categories_registered', array( $this, 'elementor_widget_category' ) );
 
 
 
331
 
332
+ // initiate elementor custom controls
333
+ new \ElementsKit_Lite\Modules\Controls\Init();
 
 
334
 
335
+ add_action(
336
+ 'elementor/init',
337
+ function() {
338
+ if ( class_exists( 'ElementsKit' ) && ! class_exists( 'ElementsKit_Comp' ) ) {
339
+ return;
340
+ }
341
 
342
+ // adding backward classes and methods for older 14 number themes.
343
+ require_once self::plugin_dir() . 'compatibility/backward/plugin-class-backward-compatibility.php';
344
+ require_once self::plugin_dir() . 'compatibility/backward/utils-backward-compablity.php';
345
 
346
+ // Run the instance.
347
+ Plugin::instance();
 
 
348
 
349
+ // adding backward classes and methods for older 14 number themes.
350
+ require_once self::plugin_dir() . 'compatibility/backward/module-list.php';
351
+ require_once self::plugin_dir() . 'compatibility/backward/widget-list.php';
352
+ }
353
+ );
354
  }
355
 
356
 
367
  if ( isset( $_GET['activate'] ) ) {
368
  unset( $_GET['activate'] );
369
  }
370
+ $btn = array(
371
+ 'default_class' => 'button',
372
+ 'class' => 'button-primary ', // button-primary button-secondary button-small button-large button-link
373
+ );
374
 
375
  if ( file_exists( WP_PLUGIN_DIR . '/elementor/elementor.php' ) ) {
376
+ $btn['text'] = esc_html__( 'Activate Elementor', 'elementskit-lite' );
377
+ $btn['url'] = wp_nonce_url( 'plugins.php?action=activate&plugin=elementor/elementor.php&plugin_status=all&paged=1', 'activate-plugin_elementor/elementor.php' );
378
  } else {
379
+ $btn['text'] = esc_html__( 'Install Elementor', 'elementskit-lite' );
380
+ $btn['url'] = wp_nonce_url( self_admin_url( 'update.php?action=install-plugin&plugin=elementor' ), 'install-plugin_elementor' );
381
  }
382
 
383
+ \Oxaim\Libs\Notice::instance( 'elementskit-lite', 'unsupported-elementor-version' )
384
+ ->set_type( 'error' )
385
+ ->set_message( sprintf( esc_html__( 'ElementsKit requires Elementor version %1$s+, which is currently NOT RUNNING.', 'elementskit-lite' ), self::min_el_version() ) )
386
+ ->set_button( $btn )
387
  ->call();
388
  }
389
 
397
  * @access public
398
  */
399
  public function failed_php_version() {
400
+ \Oxaim\Libs\Notice::instance( 'elementskit-lite', 'unsupported-php-version' )
401
+ ->set_type( 'error' )
402
+ ->set_message( sprintf( esc_html__( 'ElementsKit requires PHP version %1$s+, which is currently NOT RUNNING on this server.', 'elementskit-lite' ), self::min_php_version() ) )
403
  ->call();
404
  }
405
 
406
+ /**
407
+ * Rewrite flush.
408
+ *
409
+ * @since 1.0.7
410
+ * @access public
411
+ */
412
+ public static function install_activation_key() {
413
+ add_option( 'elementskit-lite__plugin_activated', self::plugin_file() );
414
  }
415
+ /**
416
+ * Add category.
417
+ *
418
+ * Register custom widget category in Elementor's editor
419
+ *
420
+ * @since 1.0.0
421
+ * @access public
422
+ */
423
+ public function elementor_widget_category( $widgets_manager ) {
424
  $widgets_manager->add_category(
425
  'elementskit',
426
+ array(
427
+ 'title' => esc_html__( 'ElementsKit', 'elementskit-lite' ),
428
+ 'icon' => 'fa fa-plug',
429
+ ),
430
  1
431
  );
432
  $widgets_manager->add_category(
433
  'elementskit_headerfooter',
434
+ array(
435
+ 'title' => esc_html__( 'ElementsKit Header Footer', 'elementskit-lite' ),
436
+ 'icon' => 'fa fa-plug',
437
+ ),
438
  1
439
  );
440
  }
helpers/utils.php CHANGED
@@ -11,26 +11,26 @@ defined( 'ABSPATH' ) || exit;
11
 
12
  class Utils {
13
 
14
- /**
15
- * Auto generate classname from path.
16
- *
17
- * @since 1.0.0
18
- * @access public
19
- */
20
- public static function make_classname( $dirname ) {
21
- $dirname = pathinfo($dirname, PATHINFO_FILENAME);
22
- $class_name = explode( '-', $dirname );
23
- $class_name = array_map( 'ucfirst', $class_name );
24
- $class_name = implode( '_', $class_name );
25
-
26
- return $class_name;
27
  }
28
 
29
- public static function google_fonts($font_families = []) {
30
- $fonts_url = '';
31
  if ( $font_families ) {
32
  $query_args = array(
33
- 'family' => urlencode( implode( '|', $font_families ) )
34
  );
35
 
36
  $fonts_url = add_query_arg( $query_args, 'https://fonts.googleapis.com/css' );
@@ -39,128 +39,131 @@ class Utils {
39
  return esc_url_raw( $fonts_url );
40
  }
41
 
42
- public static function kses( $raw ) {
43
 
44
  $allowed_tags = array(
45
- 'a' => array(
46
- 'class' => array(),
47
- 'href' => array(),
48
- 'rel' => array(),
49
- 'title' => array(),
50
  'target' => array(),
51
  ),
52
- 'abbr' => array(
53
  'title' => array(),
54
  ),
55
- 'b' => array(),
56
- 'blockquote' => array(
57
  'cite' => array(),
58
  ),
59
- 'cite' => array(
60
  'title' => array(),
61
  ),
62
- 'code' => array(),
63
- 'pre' => array(),
64
- 'del' => array(
65
- 'datetime' => array(),
66
- 'title' => array(),
67
  ),
68
- 'dd' => array(),
69
- 'div' => array(
70
- 'class' => array(),
71
- 'title' => array(),
72
- 'style' => array(),
73
  ),
74
- 'dl' => array(),
75
- 'dt' => array(),
76
- 'em' => array(),
77
- 'strong' => array(),
78
- 'h1' => array(
79
  'class' => array(),
80
  ),
81
- 'h2' => array(
82
  'class' => array(),
83
  ),
84
- 'h3' => array(
85
  'class' => array(),
86
  ),
87
- 'h4' => array(
88
  'class' => array(),
89
  ),
90
- 'h5' => array(
91
  'class' => array(),
92
  ),
93
- 'h6' => array(
94
  'class' => array(),
95
  ),
96
- 'i' => array(
97
  'class' => array(),
98
  ),
99
- 'img' => array(
100
- 'alt' => array(),
101
- 'class' => array(),
102
  'height' => array(),
103
- 'src' => array(),
104
- 'width' => array(),
105
  ),
106
- 'li' => array(
107
  'class' => array(),
108
  ),
109
- 'ol' => array(
110
  'class' => array(),
111
  ),
112
- 'p' => array(
113
  'class' => array(),
114
  ),
115
- 'q' => array(
116
- 'cite' => array(),
117
- 'title' => array(),
118
  ),
119
- 'span' => array(
120
- 'class' => array(),
121
- 'title' => array(),
122
- 'style' => array(),
123
  ),
124
- 'iframe' => array(
125
- 'width' => array(),
126
- 'height' => array(),
127
- 'scrolling' => array(),
128
- 'frameborder' => array(),
129
- 'allow' => array(),
130
- 'src' => array(),
131
  ),
132
- 'strike' => array(),
133
- 'br' => array(),
134
- 'table' => array(),
135
- 'thead' => array(),
136
- 'tbody' => array(),
137
- 'tfoot' => array(),
138
- 'tr' => array(),
139
- 'th' => array(),
140
- 'td' => array(),
141
- 'colgroup' => array(),
142
- 'col' => array(),
143
- 'strong' => array(),
144
- 'data-wow-duration' => array(),
145
- 'data-wow-delay' => array(),
146
- 'data-wallpaper-options' => array(),
147
- 'data-stellar-background-ratio' => array(),
148
- 'ul' => array(
149
  'class' => array(),
150
  ),
151
- 'svg' => array(
152
- 'class' => true,
153
- 'aria-hidden' => true,
154
  'aria-labelledby' => true,
155
- 'role' => true,
156
- 'xmlns' => true,
157
- 'width' => true,
158
- 'height' => true,
159
- 'viewbox' => true, // <= Must be lower case!
 
 
 
 
 
 
160
  ),
161
- 'g' => array( 'fill' => true ),
162
- 'title' => array( 'title' => true ),
163
- 'path' => array( 'd' => true, 'fill' => true, ),
164
  );
165
 
166
  if ( function_exists( 'wp_kses' ) ) { // WP is here
@@ -170,56 +173,58 @@ class Utils {
170
  }
171
  }
172
 
173
- public static function kspan($text){
174
- return str_replace(['{', '}'], ['<span>', '</span>'], self::kses($text));
175
  }
176
 
177
- public static function ekit_get__forms($post_type) {
178
- $wpuf_form_list = get_posts(array(
179
- 'post_type' => $post_type,
180
- 'showposts' => 999,
181
- ));
 
 
182
 
183
- $options = array();
184
 
185
- if (!empty($wpuf_form_list) && !is_wp_error($wpuf_form_list)) {
186
- $options[0] = esc_html__('Select Form', 'elementskit-lite');
187
- foreach ($wpuf_form_list as $post) {
188
- $options[$post->ID] = $post->post_title;
189
- }
190
- } else {
191
- $options[0] = esc_html__('Create a form first', 'elementskit-lite');
192
- }
193
 
194
- return $options;
195
  }
196
 
197
  public static function ekit_get_ninja_form() {
198
- $options = array();
199
 
200
- if (class_exists('Ninja_Forms')) {
201
- $contact_forms = Ninja_Forms()->form()->get_forms();
202
 
203
- if (!empty($contact_forms) && !is_wp_error($contact_forms)) {
204
 
205
- $options[0] = esc_html__('Select Ninja Form', 'elementskit-lite');
206
 
207
- foreach ($contact_forms as $form) {
208
- $options[$form->get_id()] = $form->get_setting('title');
209
- }
210
- }
211
- } else {
212
- $options[0] = esc_html__('Create a Form First', 'elementskit-lite');
213
- }
214
 
215
- return $options;
216
  }
217
 
218
  public static function tablepress_table_list() {
219
  $table_options = array();
220
 
221
- if (class_exists('TablePress')) {
222
- $table_ids = \TablePress::$model_table->load_all( false );
223
  $table_options[0] = esc_html__( 'Select Table', 'elementskit-lite' );
224
 
225
  foreach ( $table_ids as $table_id ) {
@@ -230,16 +235,16 @@ class Utils {
230
  $table['name'] = __( '(no name)', 'elementskit-lite' );
231
  }
232
 
233
- $table_options[$table['id']] = $table['name'];
234
  }
235
  } else {
236
- $table_options[0] = esc_html__('Create a Table First', 'elementskit-lite');
237
- }
238
 
239
  return $table_options;
240
  }
241
-
242
- public static function ekit_do_shortcode( $tag, array $atts = array(), $content = null ) {
243
  global $shortcode_tags;
244
  if ( ! isset( $shortcode_tags[ $tag ] ) ) {
245
  return false;
@@ -247,72 +252,72 @@ class Utils {
247
  return call_user_func( $shortcode_tags[ $tag ], $atts, $content, $tag );
248
  }
249
 
250
- public static function trim_words($text, $num_words){
251
  return wp_trim_words( $text, $num_words, '' );
252
  }
253
 
254
- public static function array_push_assoc($array, $key, $value){
255
- $array[$key] = $value;
256
  return $array;
257
  }
258
 
259
- public static function render_elementor_content_css($content_id){
260
  if ( class_exists( '\Elementor\Core\Files\CSS\Post' ) ) {
261
  $css_file = new \Elementor\Core\Files\CSS\Post( $content_id );
262
  $css_file->enqueue();
263
  }
264
  }
265
 
266
- public static function render_elementor_content($content_id){
267
  $elementor_instance = \Elementor\Plugin::instance();
268
- $has_css = false;
269
 
270
  /**
271
  * CSS Print Method Internal and Exteral option support for Header and Footer Builder.
272
  */
273
- if (('internal' === get_option( 'elementor_css_print_method' )) || \Elementor\Plugin::$instance->preview->is_preview_mode()) {
274
  $has_css = true;
275
  }
276
 
277
- return $elementor_instance->frontend->get_builder_content_for_display( $content_id , $has_css );
278
  }
279
 
280
- public static function render($content){
281
- if (stripos($content, "elementskit-has-lisence") !== false) {
282
  return null;
283
  }
284
 
285
  return $content;
286
  }
287
 
288
- public static function render_tab_content($content, $id){
289
- return str_replace('.elementor-'.$id.' ', '#elementor .elementor-'.$id.' ', $content);
290
  }
291
 
292
- public static function img_meta($id){
293
- $attachment = get_post($id);
294
- if($attachment == null || $attachment->post_type != 'attachment'){
295
  return null;
296
  }
297
- return [
298
- 'alt' => get_post_meta( $attachment->ID, '_wp_attachment_image_alt', true ),
299
- 'caption' => $attachment->post_excerpt,
300
- 'description' => $attachment->post_content,
301
- 'href' => get_permalink( $attachment->ID ),
302
- 'src' => $attachment->guid,
303
- 'title' => $attachment->post_title
304
- ];
305
  }
306
 
307
- public static function esc_options($str, $options = [], $default = ''){
308
- if(!in_array($str, $options)){
309
  return $default;
310
  }
311
 
312
  return $str;
313
  }
314
 
315
- public static function get_attachment_image_html($settings, $image_key, $image_size_key = null, $image_attr = []){
316
  if ( ! $image_key ) {
317
  $image_key = $image_size_key;
318
  }
@@ -322,14 +327,13 @@ class Utils {
322
  $size = $image_size_key;
323
 
324
  $html = '';
325
- if(!empty($image['id']) && $image['id'] != '-1'){
326
  $html .= wp_get_attachment_image( $image['id'], $size, false, $image_attr );
327
  } else {
328
  $html .= sprintf( '<img src="%s" title="%s" alt="%s" />', esc_attr( $image['url'] ), \Elementor\Control_Media::get_image_title( $image ), \Elementor\Control_Media::get_image_alt( $image ) );
329
  }
330
 
331
-
332
- $html = preg_replace(array('/max-width:[^"]*;/', '/width:[^"]*;/', '/height:[^"]*;/'), '', $html);
333
 
334
  return $html;
335
  }
11
 
12
  class Utils {
13
 
14
+ /**
15
+ * Auto generate classname from path.
16
+ *
17
+ * @since 1.0.0
18
+ * @access public
19
+ */
20
+ public static function make_classname( $dirname ) {
21
+ $dirname = pathinfo( $dirname, PATHINFO_FILENAME );
22
+ $class_name = explode( '-', $dirname );
23
+ $class_name = array_map( 'ucfirst', $class_name );
24
+ $class_name = implode( '_', $class_name );
25
+
26
+ return $class_name;
27
  }
28
 
29
+ public static function google_fonts( $font_families = array() ) {
30
+ $fonts_url = '';
31
  if ( $font_families ) {
32
  $query_args = array(
33
+ 'family' => urlencode( implode( '|', $font_families ) ),
34
  );
35
 
36
  $fonts_url = add_query_arg( $query_args, 'https://fonts.googleapis.com/css' );
39
  return esc_url_raw( $fonts_url );
40
  }
41
 
42
+ public static function kses( $raw ) {
43
 
44
  $allowed_tags = array(
45
+ 'a' => array(
46
+ 'class' => array(),
47
+ 'href' => array(),
48
+ 'rel' => array(),
49
+ 'title' => array(),
50
  'target' => array(),
51
  ),
52
+ 'abbr' => array(
53
  'title' => array(),
54
  ),
55
+ 'b' => array(),
56
+ 'blockquote' => array(
57
  'cite' => array(),
58
  ),
59
+ 'cite' => array(
60
  'title' => array(),
61
  ),
62
+ 'code' => array(),
63
+ 'pre' => array(),
64
+ 'del' => array(
65
+ 'datetime' => array(),
66
+ 'title' => array(),
67
  ),
68
+ 'dd' => array(),
69
+ 'div' => array(
70
+ 'class' => array(),
71
+ 'title' => array(),
72
+ 'style' => array(),
73
  ),
74
+ 'dl' => array(),
75
+ 'dt' => array(),
76
+ 'em' => array(),
77
+ 'strong' => array(),
78
+ 'h1' => array(
79
  'class' => array(),
80
  ),
81
+ 'h2' => array(
82
  'class' => array(),
83
  ),
84
+ 'h3' => array(
85
  'class' => array(),
86
  ),
87
+ 'h4' => array(
88
  'class' => array(),
89
  ),
90
+ 'h5' => array(
91
  'class' => array(),
92
  ),
93
+ 'h6' => array(
94
  'class' => array(),
95
  ),
96
+ 'i' => array(
97
  'class' => array(),
98
  ),
99
+ 'img' => array(
100
+ 'alt' => array(),
101
+ 'class' => array(),
102
  'height' => array(),
103
+ 'src' => array(),
104
+ 'width' => array(),
105
  ),
106
+ 'li' => array(
107
  'class' => array(),
108
  ),
109
+ 'ol' => array(
110
  'class' => array(),
111
  ),
112
+ 'p' => array(
113
  'class' => array(),
114
  ),
115
+ 'q' => array(
116
+ 'cite' => array(),
117
+ 'title' => array(),
118
  ),
119
+ 'span' => array(
120
+ 'class' => array(),
121
+ 'title' => array(),
122
+ 'style' => array(),
123
  ),
124
+ 'iframe' => array(
125
+ 'width' => array(),
126
+ 'height' => array(),
127
+ 'scrolling' => array(),
128
+ 'frameborder' => array(),
129
+ 'allow' => array(),
130
+ 'src' => array(),
131
  ),
132
+ 'strike' => array(),
133
+ 'br' => array(),
134
+ 'table' => array(),
135
+ 'thead' => array(),
136
+ 'tbody' => array(),
137
+ 'tfoot' => array(),
138
+ 'tr' => array(),
139
+ 'th' => array(),
140
+ 'td' => array(),
141
+ 'colgroup' => array(),
142
+ 'col' => array(),
143
+ 'strong' => array(),
144
+ 'data-wow-duration' => array(),
145
+ 'data-wow-delay' => array(),
146
+ 'data-wallpaper-options' => array(),
147
+ 'data-stellar-background-ratio' => array(),
148
+ 'ul' => array(
149
  'class' => array(),
150
  ),
151
+ 'svg' => array(
152
+ 'class' => true,
153
+ 'aria-hidden' => true,
154
  'aria-labelledby' => true,
155
+ 'role' => true,
156
+ 'xmlns' => true,
157
+ 'width' => true,
158
+ 'height' => true,
159
+ 'viewbox' => true, // <= Must be lower case!
160
+ ),
161
+ 'g' => array( 'fill' => true ),
162
+ 'title' => array( 'title' => true ),
163
+ 'path' => array(
164
+ 'd' => true,
165
+ 'fill' => true,
166
  ),
 
 
 
167
  );
168
 
169
  if ( function_exists( 'wp_kses' ) ) { // WP is here
173
  }
174
  }
175
 
176
+ public static function kspan( $text ) {
177
+ return str_replace( array( '{', '}' ), array( '<span>', '</span>' ), self::kses( $text ) );
178
  }
179
 
180
+ public static function ekit_get__forms( $post_type ) {
181
+ $wpuf_form_list = get_posts(
182
+ array(
183
+ 'post_type' => $post_type,
184
+ 'showposts' => 999,
185
+ )
186
+ );
187
 
188
+ $options = array();
189
 
190
+ if ( ! empty( $wpuf_form_list ) && ! is_wp_error( $wpuf_form_list ) ) {
191
+ $options[0] = esc_html__( 'Select Form', 'elementskit-lite' );
192
+ foreach ( $wpuf_form_list as $post ) {
193
+ $options[ $post->ID ] = $post->post_title;
194
+ }
195
+ } else {
196
+ $options[0] = esc_html__( 'Create a form first', 'elementskit-lite' );
197
+ }
198
 
199
+ return $options;
200
  }
201
 
202
  public static function ekit_get_ninja_form() {
203
+ $options = array();
204
 
205
+ if ( class_exists( 'Ninja_Forms' ) ) {
206
+ $contact_forms = Ninja_Forms()->form()->get_forms();
207
 
208
+ if ( ! empty( $contact_forms ) && ! is_wp_error( $contact_forms ) ) {
209
 
210
+ $options[0] = esc_html__( 'Select Ninja Form', 'elementskit-lite' );
211
 
212
+ foreach ( $contact_forms as $form ) {
213
+ $options[ $form->get_id() ] = $form->get_setting( 'title' );
214
+ }
215
+ }
216
+ } else {
217
+ $options[0] = esc_html__( 'Create a Form First', 'elementskit-lite' );
218
+ }
219
 
220
+ return $options;
221
  }
222
 
223
  public static function tablepress_table_list() {
224
  $table_options = array();
225
 
226
+ if ( class_exists( 'TablePress' ) ) {
227
+ $table_ids = \TablePress::$model_table->load_all( false );
228
  $table_options[0] = esc_html__( 'Select Table', 'elementskit-lite' );
229
 
230
  foreach ( $table_ids as $table_id ) {
235
  $table['name'] = __( '(no name)', 'elementskit-lite' );
236
  }
237
 
238
+ $table_options[ $table['id'] ] = $table['name'];
239
  }
240
  } else {
241
+ $table_options[0] = esc_html__( 'Create a Table First', 'elementskit-lite' );
242
+ }
243
 
244
  return $table_options;
245
  }
246
+
247
+ public static function ekit_do_shortcode( $tag, array $atts = array(), $content = null ) {
248
  global $shortcode_tags;
249
  if ( ! isset( $shortcode_tags[ $tag ] ) ) {
250
  return false;
252
  return call_user_func( $shortcode_tags[ $tag ], $atts, $content, $tag );
253
  }
254
 
255
+ public static function trim_words( $text, $num_words ) {
256
  return wp_trim_words( $text, $num_words, '' );
257
  }
258
 
259
+ public static function array_push_assoc( $array, $key, $value ) {
260
+ $array[ $key ] = $value;
261
  return $array;
262
  }
263
 
264
+ public static function render_elementor_content_css( $content_id ) {
265
  if ( class_exists( '\Elementor\Core\Files\CSS\Post' ) ) {
266
  $css_file = new \Elementor\Core\Files\CSS\Post( $content_id );
267
  $css_file->enqueue();
268
  }
269
  }
270
 
271
+ public static function render_elementor_content( $content_id ) {
272
  $elementor_instance = \Elementor\Plugin::instance();
273
+ $has_css = false;
274
 
275
  /**
276
  * CSS Print Method Internal and Exteral option support for Header and Footer Builder.
277
  */
278
+ if ( ( 'internal' === get_option( 'elementor_css_print_method' ) ) || \Elementor\Plugin::$instance->preview->is_preview_mode() ) {
279
  $has_css = true;
280
  }
281
 
282
+ return $elementor_instance->frontend->get_builder_content_for_display( $content_id, $has_css );
283
  }
284
 
285
+ public static function render( $content ) {
286
+ if ( stripos( $content, 'elementskit-has-lisence' ) !== false ) {
287
  return null;
288
  }
289
 
290
  return $content;
291
  }
292
 
293
+ public static function render_tab_content( $content, $id ) {
294
+ return str_replace( '.elementor-' . $id . ' ', '#elementor .elementor-' . $id . ' ', $content );
295
  }
296
 
297
+ public static function img_meta( $id ) {
298
+ $attachment = get_post( $id );
299
+ if ( $attachment == null || $attachment->post_type != 'attachment' ) {
300
  return null;
301
  }
302
+ return array(
303
+ 'alt' => get_post_meta( $attachment->ID, '_wp_attachment_image_alt', true ),
304
+ 'caption' => $attachment->post_excerpt,
305
+ 'description' => $attachment->post_content,
306
+ 'href' => get_permalink( $attachment->ID ),
307
+ 'src' => $attachment->guid,
308
+ 'title' => $attachment->post_title,
309
+ );
310
  }
311
 
312
+ public static function esc_options( $str, $options = array(), $default = '' ) {
313
+ if ( ! in_array( $str, $options ) ) {
314
  return $default;
315
  }
316
 
317
  return $str;
318
  }
319
 
320
+ public static function get_attachment_image_html( $settings, $image_key, $image_size_key = null, $image_attr = array() ) {
321
  if ( ! $image_key ) {
322
  $image_key = $image_size_key;
323
  }
327
  $size = $image_size_key;
328
 
329
  $html = '';
330
+ if ( ! empty( $image['id'] ) && $image['id'] != '-1' ) {
331
  $html .= wp_get_attachment_image( $image['id'], $size, false, $image_attr );
332
  } else {
333
  $html .= sprintf( '<img src="%s" title="%s" alt="%s" />', esc_attr( $image['url'] ), \Elementor\Control_Media::get_image_title( $image ), \Elementor\Control_Media::get_image_alt( $image ) );
334
  }
335
 
336
+ $html = preg_replace( array( '/max-width:[^"]*;/', '/width:[^"]*;/', '/height:[^"]*;/' ), '', $html );
 
337
 
338
  return $html;
339
  }
languages/elementskit-lite.pot CHANGED
@@ -2,9 +2,9 @@
2
  # This file is distributed under the same license as the ElementsKit Lite package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: ElementsKit Lite 2.5.9\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/elementskit-lite\n"
7
- "POT-Creation-Date: 2022-05-10 10:53:25+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -41,65 +41,65 @@ msgstr ""
41
  msgid "6"
42
  msgstr ""
43
 
44
- #: elementskit-lite.php:374
45
  msgid "Activate Elementor"
46
  msgstr ""
47
 
48
- #: elementskit-lite.php:377
49
  msgid "Install Elementor"
50
  msgstr ""
51
 
52
- #: elementskit-lite.php:383
53
  msgid ""
54
  "ElementsKit requires Elementor version %1$s+, which is currently NOT "
55
  "RUNNING."
56
  msgstr ""
57
 
58
- #: elementskit-lite.php:400
59
  msgid ""
60
  "ElementsKit requires PHP version %1$s+, which is currently NOT RUNNING on "
61
  "this server."
62
  msgstr ""
63
 
64
- #: elementskit-lite.php:425 libs/framework/attr.php:63
65
  #: libs/framework/views/onboard-steps/step-05.php:5
66
  msgid "ElementsKit"
67
  msgstr ""
68
 
69
- #: elementskit-lite.php:433
70
  msgid "ElementsKit Header Footer"
71
  msgstr ""
72
 
73
- #: helpers/utils.php:186 widgets/caldera-forms/caldera-forms.php:37
74
  #: widgets/caldera-forms/caldera-forms.php:62
75
  msgid "Select Form"
76
  msgstr ""
77
 
78
- #: helpers/utils.php:191
79
  msgid "Create a form first"
80
  msgstr ""
81
 
82
- #: helpers/utils.php:205
83
  msgid "Select Ninja Form"
84
  msgstr ""
85
 
86
- #: helpers/utils.php:212 widgets/fluent-forms/fluent-forms.php:54
87
  msgid "Create a Form First"
88
  msgstr ""
89
 
90
- #: helpers/utils.php:223 widgets/tablepress/tablepress.php:50
91
  msgid "Select Table"
92
  msgstr ""
93
 
94
- #: helpers/utils.php:230
95
  msgid "(no name)"
96
  msgstr ""
97
 
98
- #: helpers/utils.php:236
99
  msgid "Create a Table First"
100
  msgstr ""
101
 
102
- #: libs/framework/attr.php:62 modules/onepage-scroll/extend-controls.php:67
103
  msgid "ElementsKit Settings"
104
  msgstr ""
105
 
@@ -137,7 +137,7 @@ msgid "Enable disable widgets"
137
  msgstr ""
138
 
139
  #: libs/framework/views/init.php:16
140
- #: libs/framework/views/onboard-steps/step-01.php:40
141
  msgid "Modules"
142
  msgstr ""
143
 
@@ -201,15 +201,15 @@ msgstr ""
201
  msgid "Finalizing info"
202
  msgstr ""
203
 
204
- #: libs/framework/views/layout-settings.php:31
205
  msgid "Go Premium"
206
  msgstr ""
207
 
208
- #: libs/framework/views/layout-settings.php:32
209
  msgid "Get premium features"
210
  msgstr ""
211
 
212
- #: libs/framework/views/layout-settings.php:68
213
  #: libs/framework/views/onboard-steps/step-06.php:5
214
  msgid "Save Changes"
215
  msgstr ""
@@ -220,49 +220,49 @@ msgid ""
220
  "promotional images on WP Dashboard"
221
  msgstr ""
222
 
223
- #: libs/framework/views/onboard-steps/step-01.php:9
224
  msgid ""
225
  "General widgets will be activated to build your website. Best suited for "
226
  "lightweight-fast starter websites."
227
  msgstr ""
228
 
229
- #: libs/framework/views/onboard-steps/step-01.php:10
230
  msgid "Basic (Recommended)"
231
  msgstr ""
232
 
233
- #: libs/framework/views/onboard-steps/step-01.php:19
234
  msgid ""
235
  "All the free dynamic widgets will be activated to increase flexibility & "
236
  "functionality to build your complex website in no-time."
237
  msgstr ""
238
 
239
- #: libs/framework/views/onboard-steps/step-01.php:20
240
  msgid "Advanced"
241
  msgstr ""
242
 
243
- #: libs/framework/views/onboard-steps/step-01.php:30
244
  msgid "You choose your website as per your need."
245
  msgstr ""
246
 
247
- #: libs/framework/views/onboard-steps/step-01.php:31
248
  #: widgets/fluent-forms/fluent-forms.php:2312 widgets/heading/heading.php:332
249
  #: widgets/icon-box/icon-box.php:470 widgets/ninja-forms/ninja-forms.php:597
250
  #: widgets/wp-forms/wp-forms.php:419
251
  msgid "Custom"
252
  msgstr ""
253
 
254
- #: libs/framework/views/onboard-steps/step-01.php:49
255
  #: libs/framework/views/onboard-steps/step-02.php:16
256
  #: libs/framework/views/onboard-steps/step-03.php:65
257
- #: libs/framework/views/onboard-steps/step-04.php:28
258
  #: libs/framework/views/onboard-steps/step-05.php:25
259
  msgid "Back"
260
  msgstr ""
261
 
262
- #: libs/framework/views/onboard-steps/step-01.php:50
263
  #: libs/framework/views/onboard-steps/step-02.php:17
264
  #: libs/framework/views/onboard-steps/step-03.php:66
265
- #: libs/framework/views/onboard-steps/step-04.php:29
266
  #: libs/framework/views/onboard-steps/step-05.php:26
267
  msgid "Next Step"
268
  msgstr ""
@@ -290,7 +290,7 @@ msgid "Take your website to the next level"
290
  msgstr ""
291
 
292
  #: libs/framework/views/onboard-steps/step-03.php:3
293
- msgid "We have some plugins you can install to get most from Wordpress."
294
  msgstr ""
295
 
296
  #: libs/framework/views/onboard-steps/step-03.php:4
@@ -320,11 +320,11 @@ msgid ""
320
  "Save 1 hour of your learning time."
321
  msgstr ""
322
 
323
- #: libs/framework/views/onboard-steps/step-04.php:21
324
  msgid "Share non-sensitive diagnostic data and details about plugin usage."
325
  msgstr ""
326
 
327
- #: libs/framework/views/onboard-steps/step-04.php:24
328
  msgid ""
329
  "We gather non-sensitive diagnostic data as well as information about plugin "
330
  "use. Your site's URL, WordPress and PHP versions, plugins and themes, as "
@@ -334,7 +334,7 @@ msgid ""
334
  "you any spam, for sure."
335
  msgstr ""
336
 
337
- #: libs/framework/views/onboard-steps/step-04.php:25
338
  msgid "What types of information do we gather?"
339
  msgstr ""
340
 
@@ -533,20 +533,20 @@ msgstr ""
533
  msgid "Rate Now Thumb"
534
  msgstr ""
535
 
536
- #: libs/framework/views/settings-sections/modules.php:13
537
  msgid ""
538
  "You can disable the modules you are not using on your site. That will "
539
  "disable all associated assets of those modules to improve your site loading "
540
  "speed."
541
  msgstr ""
542
 
543
- #: libs/framework/views/settings-sections/modules.php:17
544
  #: modules/header-footer/cpt.php:20 modules/header-footer/cpt.php:21
545
  #: modules/header-footer/cpt.php:52
546
  msgid "Header Footer"
547
  msgstr ""
548
 
549
- #: libs/framework/views/settings-sections/modules.php:20
550
  #: modules/widget-builder/cpt.php:19 modules/widget-builder/cpt.php:51
551
  msgid "Widget Builder"
552
  msgstr ""
@@ -555,70 +555,70 @@ msgstr ""
555
  msgid "MailChimp Data"
556
  msgstr ""
557
 
558
- #: libs/framework/views/settings-sections/usersettings.php:33
559
  msgid "Token"
560
  msgstr ""
561
 
562
- #: libs/framework/views/settings-sections/usersettings.php:60
563
  msgid "Facebook Page Feed"
564
  msgstr ""
565
 
566
- #: libs/framework/views/settings-sections/usersettings.php:74
567
  msgid "Facebook Page ID"
568
  msgstr ""
569
 
570
- #: libs/framework/views/settings-sections/usersettings.php:75
571
  msgid "Facebook app id"
572
  msgstr ""
573
 
574
- #: libs/framework/views/settings-sections/usersettings.php:88
575
  msgid "Page Access Token"
576
  msgstr ""
577
 
578
- #: libs/framework/views/settings-sections/usersettings.php:102
579
- #: libs/framework/views/settings-sections/usersettings.php:179
580
- #: libs/framework/views/settings-sections/usersettings.php:361
581
- #: libs/framework/views/settings-sections/usersettings.php:501
582
  msgid "Clear Cache"
583
  msgstr ""
584
 
585
- #: libs/framework/views/settings-sections/usersettings.php:108
586
- #: libs/framework/views/settings-sections/usersettings.php:152
587
- #: libs/framework/views/settings-sections/usersettings.php:354
588
- #: libs/framework/views/settings-sections/usersettings.php:507
589
  msgid "Get access token"
590
  msgstr ""
591
 
592
- #: libs/framework/views/settings-sections/usersettings.php:130
593
  msgid "Facebook page review"
594
  msgstr ""
595
 
596
- #: libs/framework/views/settings-sections/usersettings.php:144
597
- #: libs/framework/views/settings-sections/usersettings.php:255
598
  msgid "Page ID"
599
  msgstr ""
600
 
601
- #: libs/framework/views/settings-sections/usersettings.php:152
602
  msgid "Refresh access token"
603
  msgstr ""
604
 
605
- #: libs/framework/views/settings-sections/usersettings.php:158
606
  msgid "Page Token"
607
  msgstr ""
608
 
609
- #: libs/framework/views/settings-sections/usersettings.php:207
610
  msgid "Yelp Settings"
611
  msgstr ""
612
 
613
- #: libs/framework/views/settings-sections/usersettings.php:221
614
  msgid "Yelp Page"
615
  msgstr ""
616
 
617
- #: libs/framework/views/settings-sections/usersettings.php:243
618
  msgid "Facebook Messenger"
619
  msgstr ""
620
 
621
- #: libs/framework/views/settings-sections/usersettings.php:265
622
  #: widgets/accordion/accordion.php:249 widgets/accordion/accordion.php:341
623
  #: widgets/accordion/accordion.php:478 widgets/accordion/accordion.php:630
624
  #: widgets/accordion/accordion.php:692 widgets/back-to-top/back-to-top.php:374
@@ -712,7 +712,7 @@ msgstr ""
712
  #: widgets/progressbar/progressbar.php:407 widgets/social/social.php:211
713
  #: widgets/social/social.php:273 widgets/social-share/social-share.php:248
714
  #: widgets/social-share/social-share.php:310
715
- #: widgets/tablepress/tablepress.php:206 widgets/tablepress/tablepress.php:618
716
  #: widgets/team/team.php:245 widgets/team/team.php:308
717
  #: widgets/team/team.php:1158 widgets/team/team.php:1197
718
  #: widgets/team/team.php:1260 widgets/team/team.php:1279
@@ -731,87 +731,133 @@ msgstr ""
731
  msgid "Color"
732
  msgstr ""
733
 
734
- #: libs/framework/views/settings-sections/usersettings.php:275
735
  msgid "Logged-in user greeting"
736
  msgstr ""
737
 
738
- #: libs/framework/views/settings-sections/usersettings.php:285
739
  msgid "Logged out user greeting"
740
  msgstr ""
741
 
742
- #: libs/framework/views/settings-sections/usersettings.php:295
743
  msgid "Show Dialog Box"
744
  msgstr ""
745
 
746
- #: libs/framework/views/settings-sections/usersettings.php:324
747
  msgid "Dribbble User Data"
748
  msgstr ""
749
 
750
- #: libs/framework/views/settings-sections/usersettings.php:341
751
  msgid "Access token"
752
  msgstr ""
753
 
754
- #: libs/framework/views/settings-sections/usersettings.php:383
755
  msgid "Twitter User Data"
756
  msgstr ""
757
 
758
- #: libs/framework/views/settings-sections/usersettings.php:395
759
  msgid "Twitter Username"
760
  msgstr ""
761
 
762
- #: libs/framework/views/settings-sections/usersettings.php:405
763
- #: libs/framework/views/settings-sections/usersettings.php:466
764
  msgid "Access Token"
765
  msgstr ""
766
 
767
- #: libs/framework/views/settings-sections/usersettings.php:415
768
  msgid "Get Access Token"
769
  msgstr ""
770
 
771
- #: libs/framework/views/settings-sections/usersettings.php:435
772
  msgid "Instragram User Data"
773
  msgstr ""
774
 
775
- #: libs/framework/views/settings-sections/usersettings.php:456
776
  msgid "User ID"
777
  msgstr ""
778
 
779
- #: libs/framework/views/settings-sections/usersettings.php:476
780
  msgid "Token expires time"
781
  msgstr ""
782
 
783
- #: libs/framework/views/settings-sections/usersettings.php:486
784
  msgid "Token generation date"
785
  msgstr ""
786
 
787
- #: libs/framework/views/settings-sections/usersettings.php:489
788
  msgid "This is need to calculate the remaining time for token"
789
  msgstr ""
790
 
791
- #: libs/framework/views/settings-sections/usersettings.php:528
792
  msgid "Zoom Data"
793
  msgstr ""
794
 
795
- #: libs/framework/views/settings-sections/usersettings.php:540
796
  msgid "Api key"
797
  msgstr ""
798
 
799
- #: libs/framework/views/settings-sections/usersettings.php:549
800
  msgid "Secret Key"
801
  msgstr ""
802
 
803
- #: libs/framework/views/settings-sections/usersettings.php:558
804
  msgid "Check connection"
805
  msgstr ""
806
 
807
- #: libs/framework/views/settings-sections/usersettings.php:580
808
  msgid "Google Map"
809
  msgstr ""
810
 
811
- #: libs/framework/views/settings-sections/usersettings.php:592
812
  msgid "Api Key"
813
  msgstr ""
814
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
815
  #: libs/framework/views/settings-sections/widgets.php:14
816
  msgid ""
817
  "You can disable the elements you are not using on your site. That will "
@@ -823,7 +869,7 @@ msgstr ""
823
  msgid "Default Title"
824
  msgstr ""
825
 
826
- #: libs/stories/stories.php:255
827
  msgid "Wpmet Stories"
828
  msgstr ""
829
 
@@ -853,12 +899,12 @@ msgstr ""
853
  msgid "Loading"
854
  msgstr ""
855
 
856
- #: modules/controls/widget-area-utils.php:24
857
- #: modules/controls/widget-area-utils.php:81
858
  msgid "Click here to add content."
859
  msgstr ""
860
 
861
- #: modules/controls/widget-area-utils.php:54
862
  msgid "Edit"
863
  msgstr ""
864
 
@@ -969,7 +1015,7 @@ msgstr ""
969
  msgid "ElementsKit Icon Pack"
970
  msgstr ""
971
 
972
- #: modules/header-footer/cpt-api.php:78 modules/header-footer/cpt-hooks.php:56
973
  #: widgets/client-logo/client-logo.php:1222
974
  #: widgets/fluent-forms/fluent-forms.php:1683
975
  #: widgets/fluent-forms/fluent-forms.php:1882 widgets/nav-menu/nav-menu.php:465
@@ -978,7 +1024,7 @@ msgstr ""
978
  msgid "Active"
979
  msgstr ""
980
 
981
- #: modules/header-footer/cpt-api.php:79 modules/header-footer/cpt-hooks.php:57
982
  msgid "Inactive"
983
  msgstr ""
984
 
@@ -1048,7 +1094,7 @@ msgstr ""
1048
 
1049
  #: modules/header-footer/views/modal-editor.php:22
1050
  #: widgets/pricing/pricing.php:39 widgets/pricing/pricing.php:2369
1051
- #: widgets/tablepress/tablepress.php:300
1052
  msgid "Header"
1053
  msgstr ""
1054
 
@@ -1108,23 +1154,23 @@ msgstr ""
1108
  msgid "Save changes"
1109
  msgstr ""
1110
 
1111
- #: modules/layout-manager/layout-import-api.php:22
1112
  msgid "Post not found"
1113
  msgstr ""
1114
 
1115
- #: modules/layout-manager/layout-import-api.php:29
1116
  msgid "Template id missing"
1117
  msgstr ""
1118
 
1119
- #: modules/layout-manager/library-source.php:15
1120
  msgid "ElementsKit Layout Manager"
1121
  msgstr ""
1122
 
1123
- #: modules/layout-manager/library-source.php:77
1124
  msgid "Template does not have any content"
1125
  msgstr ""
1126
 
1127
- #: modules/megamenu/api.php:24
1128
  msgid "Saved"
1129
  msgstr ""
1130
 
@@ -1305,19 +1351,19 @@ msgstr ""
1305
  msgid "Save"
1306
  msgstr ""
1307
 
1308
- #: modules/megamenu/walker-nav-menu.php:314
1309
  msgid "No content found"
1310
  msgstr ""
1311
 
1312
- #: modules/onepage-scroll/extend-controls-pro.php:29
1313
  msgid "Onepage Scroll Settings"
1314
  msgstr ""
1315
 
1316
- #: modules/onepage-scroll/extend-controls-pro.php:41
1317
  msgid "Navigation Style"
1318
  msgstr ""
1319
 
1320
- #: modules/onepage-scroll/extend-controls-pro.php:45
1321
  #: widgets/blog-posts/blog-posts.php:851 widgets/blog-posts/blog-posts.php:2679
1322
  #: widgets/button/button.php:299 widgets/funfact/funfact.php:72
1323
  #: widgets/icon-box/icon-box.php:68 widgets/image-box/image-box.php:768
@@ -1326,88 +1372,88 @@ msgstr ""
1326
  #: widgets/pricing/pricing.php:831 widgets/pricing/pricing.php:1618
1327
  #: widgets/pricing/pricing.php:1771 widgets/pricing/pricing.php:2202
1328
  #: widgets/social/social.php:431 widgets/social-share/social-share.php:468
1329
- #: widgets/tab/tab.php:372 widgets/tablepress/tablepress.php:68
1330
- #: widgets/tablepress/tablepress.php:84 widgets/tablepress/tablepress.php:221
1331
- #: widgets/tablepress/tablepress.php:348 widgets/tablepress/tablepress.php:431
1332
  #: widgets/team/team.php:1548 widgets/video/video.php:617
1333
  msgid "None"
1334
  msgstr ""
1335
 
1336
- #: modules/onepage-scroll/extend-controls-pro.php:47
1337
  msgid "Circle"
1338
  msgstr ""
1339
 
1340
- #: modules/onepage-scroll/extend-controls-pro.php:49
1341
- #: modules/onepage-scroll/extend-controls-pro.php:62
1342
  msgid "Scale Up"
1343
  msgstr ""
1344
 
1345
- #: modules/onepage-scroll/extend-controls-pro.php:50
1346
  msgid "Fill In"
1347
  msgstr ""
1348
 
1349
- #: modules/onepage-scroll/extend-controls-pro.php:51
1350
  msgid "Fill Out"
1351
  msgstr ""
1352
 
1353
- #: modules/onepage-scroll/extend-controls-pro.php:52
1354
  msgid "Stroke"
1355
  msgstr ""
1356
 
1357
- #: modules/onepage-scroll/extend-controls-pro.php:53
1358
  msgid "Stroke Dot"
1359
  msgstr ""
1360
 
1361
- #: modules/onepage-scroll/extend-controls-pro.php:54
1362
  msgid "Stroke Simple"
1363
  msgstr ""
1364
 
1365
- #: modules/onepage-scroll/extend-controls-pro.php:55
1366
  msgid "Dot Move"
1367
  msgstr ""
1368
 
1369
- #: modules/onepage-scroll/extend-controls-pro.php:56
1370
  msgid "Timeline"
1371
  msgstr ""
1372
 
1373
- #: modules/onepage-scroll/extend-controls-pro.php:60
1374
  msgid "Square"
1375
  msgstr ""
1376
 
1377
- #: modules/onepage-scroll/extend-controls-pro.php:66
1378
  #: widgets/social-share/social-share.php:217
1379
  msgid "Line"
1380
  msgstr ""
1381
 
1382
- #: modules/onepage-scroll/extend-controls-pro.php:68
1383
  msgid "Line Grow"
1384
  msgstr ""
1385
 
1386
- #: modules/onepage-scroll/extend-controls-pro.php:69
1387
  msgid "Line Shrink"
1388
  msgstr ""
1389
 
1390
- #: modules/onepage-scroll/extend-controls-pro.php:70
1391
  msgid "Line Fill"
1392
  msgstr ""
1393
 
1394
- #: modules/onepage-scroll/extend-controls-pro.php:71
1395
  msgid "Line Move"
1396
  msgstr ""
1397
 
1398
- #: modules/onepage-scroll/extend-controls-pro.php:74
1399
  msgid "Custom Icon"
1400
  msgstr ""
1401
 
1402
- #: modules/onepage-scroll/extend-controls-pro.php:86
1403
  msgid "Navigation Icon"
1404
  msgstr ""
1405
 
1406
- #: modules/onepage-scroll/extend-controls-pro.php:103
1407
  msgid "Navigation Position"
1408
  msgstr ""
1409
 
1410
- #: modules/onepage-scroll/extend-controls-pro.php:108
1411
  #: widgets/back-to-top/back-to-top.php:87 widgets/blog-posts/blog-posts.php:81
1412
  #: widgets/blog-posts/blog-posts.php:706 widgets/blog-posts/blog-posts.php:1396
1413
  #: widgets/blog-posts/blog-posts.php:1751 widgets/funfact/funfact.php:923
@@ -1424,7 +1470,7 @@ msgstr ""
1424
  msgid "Top"
1425
  msgstr ""
1426
 
1427
- #: modules/onepage-scroll/extend-controls-pro.php:112
1428
  #: widgets/blog-posts/blog-posts.php:714 widgets/blog-posts/blog-posts.php:1424
1429
  #: widgets/funfact/funfact.php:982 widgets/heading/heading.php:350
1430
  #: widgets/icon-box/icon-box.php:700
@@ -1440,7 +1486,7 @@ msgstr ""
1440
  msgid "Bottom"
1441
  msgstr ""
1442
 
1443
- #: modules/onepage-scroll/extend-controls-pro.php:116
1444
  #: widgets/accordion/accordion.php:142 widgets/back-to-top/back-to-top.php:104
1445
  #: widgets/blog-posts/blog-posts.php:82 widgets/blog-posts/blog-posts.php:123
1446
  #: widgets/blog-posts/blog-posts.php:583 widgets/blog-posts/blog-posts.php:1045
@@ -1479,7 +1525,7 @@ msgstr ""
1479
  #: widgets/social-share/social-share.php:423 widgets/tab/tab.php:158
1480
  #: widgets/tab/tab.php:272 widgets/tab/tab.php:302 widgets/tab/tab.php:1054
1481
  #: widgets/tab/tab.php:1175 widgets/tab/tab.php:1545
1482
- #: widgets/tablepress/tablepress.php:148 widgets/tablepress/tablepress.php:174
1483
  #: widgets/team/team.php:484 widgets/team/team.php:656
1484
  #: widgets/team/team.php:971 widgets/team/team.php:1503
1485
  #: widgets/testimonial/testimonial.php:196
@@ -1491,7 +1537,7 @@ msgstr ""
1491
  msgid "Left"
1492
  msgstr ""
1493
 
1494
- #: modules/onepage-scroll/extend-controls-pro.php:120
1495
  #: widgets/accordion/accordion.php:141 widgets/back-to-top/back-to-top.php:112
1496
  #: widgets/blog-posts/blog-posts.php:127 widgets/blog-posts/blog-posts.php:591
1497
  #: widgets/blog-posts/blog-posts.php:1053
@@ -1526,7 +1572,7 @@ msgstr ""
1526
  #: widgets/social/social.php:394 widgets/social-share/social-share.php:149
1527
  #: widgets/social-share/social-share.php:431 widgets/tab/tab.php:157
1528
  #: widgets/tab/tab.php:280 widgets/tab/tab.php:310
1529
- #: widgets/tablepress/tablepress.php:156 widgets/tablepress/tablepress.php:182
1530
  #: widgets/team/team.php:488 widgets/team/team.php:664
1531
  #: widgets/team/team.php:975 widgets/team/team.php:979
1532
  #: widgets/team/team.php:1511 widgets/testimonial/testimonial.php:803
@@ -1537,62 +1583,62 @@ msgstr ""
1537
  msgid "Right"
1538
  msgstr ""
1539
 
1540
- #: modules/onepage-scroll/extend-controls-pro.php:136
1541
  msgid "Navigation Position Offset"
1542
  msgstr ""
1543
 
1544
- #: modules/onepage-scroll/extend-controls-pro.php:168
1545
  msgid "Navigation Spacing"
1546
  msgstr ""
1547
 
1548
- #: modules/onepage-scroll/extend-controls-pro.php:192
1549
  msgid "Navigation Color"
1550
  msgstr ""
1551
 
1552
- #: modules/onepage-scroll/extend-controls-pro.php:224
1553
  msgid "Tooltip Typography"
1554
  msgstr ""
1555
 
1556
- #: modules/onepage-scroll/extend-controls-pro.php:242
1557
  msgid "Enable Dot"
1558
  msgstr ""
1559
 
1560
- #: modules/onepage-scroll/extend-controls-pro.php:252
1561
  msgid "Tooltip Text"
1562
  msgstr ""
1563
 
1564
- #: modules/onepage-scroll/extend-controls.php:44 widgets/widget-notice.php:24
1565
  msgid "Unlock more possibilities"
1566
  msgstr ""
1567
 
1568
- #: modules/onepage-scroll/extend-controls.php:54
1569
  msgid ""
1570
- "%s Get the %s Pro version %s for more awesome elements and powerful "
1571
- "modules. %s"
1572
  msgstr ""
1573
 
1574
- #: modules/onepage-scroll/extend-controls.php:74
1575
  msgid "Enable Onepage Scroll"
1576
  msgstr ""
1577
 
1578
- #: modules/onepage-scroll/extend-controls.php:94
1579
  msgid "ElementsKit Onepage Scroll"
1580
  msgstr ""
1581
 
1582
- #: modules/onepage-scroll/extend-controls.php:102
1583
  msgid "Enable Section"
1584
  msgstr ""
1585
 
1586
  #: modules/widget-builder/api/common.php:25
1587
- #: modules/widget-builder/api/common.php:86
1588
  msgid "Not enough permission."
1589
  msgstr ""
1590
 
1591
- #: modules/widget-builder/api/common.php:39
1592
  msgid "Invalid data."
1593
  msgstr ""
1594
 
1595
- #: modules/widget-builder/api/common.php:72
1596
  msgid "Widget data saved!"
1597
  msgstr ""
1598
 
@@ -1636,11 +1682,11 @@ msgstr ""
1636
  msgid "No Widgets found in Trash."
1637
  msgstr ""
1638
 
1639
- #: modules/widget-builder/init.php:70
1640
  msgid "ElementsKit Custom"
1641
  msgstr ""
1642
 
1643
- #: modules/widget-builder/init.php:111
1644
  msgid "Builder"
1645
  msgstr ""
1646
 
@@ -2004,8 +2050,8 @@ msgstr ""
2004
  #: widgets/tab/tab.php:765 widgets/tab/tab.php:837 widgets/tab/tab.php:1012
2005
  #: widgets/tab/tab.php:1133 widgets/tab/tab.php:1293 widgets/tab/tab.php:1577
2006
  #: widgets/tab/tab.php:1601 widgets/tab/tab.php:1817 widgets/tab/tab.php:1841
2007
- #: widgets/tablepress/tablepress.php:308 widgets/tablepress/tablepress.php:495
2008
- #: widgets/tablepress/tablepress.php:542 widgets/tablepress/tablepress.php:629
2009
  #: widgets/team/team.php:531 widgets/team/team.php:556
2010
  #: widgets/team/team.php:741 widgets/team/team.php:918
2011
  #: widgets/team/team.php:1760 widgets/team/team.php:1794
@@ -2075,8 +2121,8 @@ msgstr ""
2075
  #: widgets/header-offcanvas/header-offcanvas.php:453
2076
  #: widgets/heading/heading.php:1235 widgets/image-box/image-box.php:793
2077
  #: widgets/image-box/image-box.php:811 widgets/ninja-forms/ninja-forms.php:794
2078
- #: widgets/tablepress/tablepress.php:259 widgets/tablepress/tablepress.php:383
2079
- #: widgets/tablepress/tablepress.php:518 widgets/tablepress/tablepress.php:565
2080
  #: widgets/testimonial/testimonial.php:718 widgets/we-forms/we-forms.php:561
2081
  #: widgets/wp-forms/wp-forms.php:612
2082
  msgid "Border Color"
@@ -2159,7 +2205,7 @@ msgstr ""
2159
  #: widgets/social-share/social-share.php:353 widgets/tab/tab.php:500
2160
  #: widgets/tab/tab.php:598 widgets/tab/tab.php:774 widgets/tab/tab.php:846
2161
  #: widgets/tab/tab.php:1330 widgets/tab/tab.php:1615 widgets/tab/tab.php:2014
2162
- #: widgets/tablepress/tablepress.php:653 widgets/team/team.php:272
2163
  #: widgets/team/team.php:334 widgets/team/team.php:701
2164
  #: widgets/team/team.php:875 widgets/team/team.php:1182
2165
  #: widgets/team/team.php:1221 widgets/team/team.php:2044
@@ -2377,8 +2423,8 @@ msgstr ""
2377
  #: widgets/pricing/pricing.php:2179 widgets/progressbar/progressbar.php:196
2378
  #: widgets/social/social.php:466 widgets/social-share/social-share.php:649
2379
  #: widgets/tab/tab.php:480 widgets/tab/tab.php:559 widgets/tab/tab.php:711
2380
- #: widgets/tab/tab.php:1986 widgets/tablepress/tablepress.php:398
2381
- #: widgets/tablepress/tablepress.php:640 widgets/team/team.php:676
2382
  #: widgets/team/team.php:1002 widgets/team/team.php:1584
2383
  #: widgets/team/team.php:2155 widgets/testimonial/testimonial.php:467
2384
  #: widgets/testimonial/testimonial.php:629
@@ -2628,8 +2674,8 @@ msgstr ""
2628
  #: widgets/pricing/pricing.php:2095 widgets/social/social.php:139
2629
  #: widgets/social/social.php:390 widgets/social-share/social-share.php:145
2630
  #: widgets/social-share/social-share.php:427 widgets/tab/tab.php:276
2631
- #: widgets/tab/tab.php:306 widgets/tablepress/tablepress.php:152
2632
- #: widgets/tablepress/tablepress.php:178 widgets/team/team.php:660
2633
  #: widgets/team/team.php:1507 widgets/testimonial/testimonial.php:773
2634
  #: widgets/testimonial/testimonial.php:799
2635
  #: widgets/testimonial/testimonial.php:1590 widgets/video/video.php:300
@@ -2792,7 +2838,7 @@ msgstr ""
2792
  #: widgets/pricing/pricing.php:1798 widgets/pricing/pricing.php:2121
2793
  #: widgets/pricing/pricing.php:2231 widgets/pricing/pricing.php:2313
2794
  #: widgets/social/social.php:203 widgets/social-share/social-share.php:240
2795
- #: widgets/tab/tab.php:734 widgets/tablepress/tablepress.php:488
2796
  #: widgets/team/team.php:237 widgets/team/team.php:523
2797
  #: widgets/team/team.php:1152 widgets/team/team.php:1253
2798
  #: widgets/team/team.php:1330 widgets/team/team.php:1427
@@ -3447,7 +3493,7 @@ msgstr ""
3447
  msgid "Image Height"
3448
  msgstr ""
3449
 
3450
- #: widgets/blog-posts/blog-posts.php:2542 widgets/tablepress/tablepress.php:663
3451
  msgid "Radius"
3452
  msgstr ""
3453
 
@@ -3505,8 +3551,8 @@ msgstr ""
3505
  #: widgets/ninja-forms/ninja-forms.php:860 widgets/page-list/page-list.php:769
3506
  #: widgets/post-list/post-list.php:914 widgets/pricing/pricing.php:1405
3507
  #: widgets/pricing/pricing.php:2128 widgets/pricing/pricing.php:2156
3508
- #: widgets/tablepress/tablepress.php:332 widgets/tablepress/tablepress.php:507
3509
- #: widgets/tablepress/tablepress.php:554 widgets/video/video.php:547
3510
  #: widgets/video/video.php:577 widgets/we-forms/we-forms.php:507
3511
  #: widgets/we-forms/we-forms.php:539 widgets/wp-forms/wp-forms.php:71
3512
  #: widgets/wp-forms/wp-forms.php:149 widgets/wp-forms/wp-forms.php:336
@@ -3759,8 +3805,8 @@ msgstr ""
3759
  #: widgets/category-list/category-list.php:198 widgets/heading/heading.php:329
3760
  #: widgets/image-box/image-box.php:769 widgets/page-list/page-list.php:458
3761
  #: widgets/post-list/post-list.php:632 widgets/pricing/pricing.php:1868
3762
- #: widgets/tablepress/tablepress.php:222 widgets/tablepress/tablepress.php:349
3763
- #: widgets/tablepress/tablepress.php:432
3764
  msgid "Solid"
3765
  msgstr ""
3766
 
@@ -3768,16 +3814,16 @@ msgstr ""
3768
  #: widgets/client-logo/client-logo.php:1071 widgets/heading/heading.php:328
3769
  #: widgets/image-box/image-box.php:771 widgets/page-list/page-list.php:459
3770
  #: widgets/post-list/post-list.php:633 widgets/pricing/pricing.php:1870
3771
- #: widgets/tablepress/tablepress.php:224 widgets/tablepress/tablepress.php:351
3772
- #: widgets/tablepress/tablepress.php:434
3773
  msgid "Dotted"
3774
  msgstr ""
3775
 
3776
  #: widgets/category-list/category-list.php:200
3777
  #: widgets/client-logo/client-logo.php:1070 widgets/image-box/image-box.php:772
3778
  #: widgets/page-list/page-list.php:460 widgets/post-list/post-list.php:634
3779
- #: widgets/pricing/pricing.php:1871 widgets/tablepress/tablepress.php:225
3780
- #: widgets/tablepress/tablepress.php:352 widgets/tablepress/tablepress.php:435
3781
  msgid "Dashed"
3782
  msgstr ""
3783
 
@@ -3987,7 +4033,7 @@ msgid "From Bottom"
3987
  msgstr ""
3988
 
3989
  #: widgets/client-logo/client-logo.php:640
3990
- #: widgets/tablepress/tablepress.php:584
3991
  msgid "Hover Background"
3992
  msgstr ""
3993
 
@@ -4448,8 +4494,8 @@ msgstr ""
4448
  #: widgets/fluent-forms/fluent-forms.php:979 widgets/heading/heading.php:477
4449
  #: widgets/heading/heading.php:1217
4450
  #: widgets/image-accordion/image-accordion.php:823
4451
- #: widgets/image-box/image-box.php:741 widgets/tablepress/tablepress.php:240
4452
- #: widgets/tablepress/tablepress.php:364 widgets/tablepress/tablepress.php:447
4453
  msgid "Border Width"
4454
  msgstr ""
4455
 
@@ -5376,7 +5422,7 @@ msgid "Shadow line"
5376
  msgstr ""
5377
 
5378
  #: widgets/image-box/image-box.php:144 widgets/image-box/image-box.php:1084
5379
- #: widgets/tab/tab.php:1968 widgets/tablepress/tablepress.php:419
5380
  msgid "Body"
5381
  msgstr ""
5382
 
@@ -5412,8 +5458,8 @@ msgid "Border Type"
5412
  msgstr ""
5413
 
5414
  #: widgets/image-box/image-box.php:770 widgets/pricing/pricing.php:1869
5415
- #: widgets/tablepress/tablepress.php:223 widgets/tablepress/tablepress.php:350
5416
- #: widgets/tablepress/tablepress.php:433
5417
  msgid "Double"
5418
  msgstr ""
5419
 
@@ -5681,7 +5727,7 @@ msgstr ""
5681
  msgid "Phone:"
5682
  msgstr ""
5683
 
5684
- #: widgets/mail-chimp/mail-chimp.php:329 widgets/tablepress/tablepress.php:85
5685
  #: widgets/team/team.php:434 widgets/team/team.php:2471
5686
  msgid "Phone"
5687
  msgstr ""
@@ -5779,11 +5825,11 @@ msgstr ""
5779
  msgid "This works in the current page."
5780
  msgstr ""
5781
 
5782
- #: widgets/nav-menu/nav-menu.php:112 widgets/tablepress/tablepress.php:79
5783
  msgid "Responsive Breakpoint"
5784
  msgstr ""
5785
 
5786
- #: widgets/nav-menu/nav-menu.php:116 widgets/tablepress/tablepress.php:86
5787
  msgid "Tablet"
5788
  msgstr ""
5789
 
@@ -6510,7 +6556,7 @@ msgstr ""
6510
  msgid "Ribbon"
6511
  msgstr ""
6512
 
6513
- #: widgets/progressbar/progressbar.php:62 widgets/tablepress/tablepress.php:535
6514
  msgid "Stripe"
6515
  msgstr ""
6516
 
@@ -6846,96 +6892,100 @@ msgstr ""
6846
  msgid "TablePress"
6847
  msgstr ""
6848
 
6849
- #: widgets/tablepress/tablepress.php:43 widgets/tablepress/tablepress.php:198
6850
  msgid "Table"
6851
  msgstr ""
6852
 
6853
- #: widgets/tablepress/tablepress.php:63
6854
  msgid "Responsive"
6855
  msgstr ""
6856
 
6857
- #: widgets/tablepress/tablepress.php:69
6858
  msgid "Flip"
6859
  msgstr ""
6860
 
6861
- #: widgets/tablepress/tablepress.php:70
6862
  msgid "Scroll"
6863
  msgstr ""
6864
 
6865
- #: widgets/tablepress/tablepress.php:71
6866
  msgid "Collapse"
6867
  msgstr ""
6868
 
6869
- #: widgets/tablepress/tablepress.php:72
6870
  msgid "Stack"
6871
  msgstr ""
6872
 
6873
- #: widgets/tablepress/tablepress.php:87
6874
  msgid "Desktop"
6875
  msgstr ""
6876
 
6877
- #: widgets/tablepress/tablepress.php:88
6878
  msgid "All"
6879
  msgstr ""
6880
 
6881
- #: widgets/tablepress/tablepress.php:100
6882
  msgid "Nav Hide"
6883
  msgstr ""
6884
 
6885
- #: widgets/tablepress/tablepress.php:111
6886
  msgid "Search Hide"
6887
  msgstr ""
6888
 
6889
- #: widgets/tablepress/tablepress.php:122
6890
  msgid "Footer Info Hide"
6891
  msgstr ""
6892
 
6893
- #: widgets/tablepress/tablepress.php:133
6894
  msgid "Pagination Hide"
6895
  msgstr ""
6896
 
6897
- #: widgets/tablepress/tablepress.php:144
6898
  msgid "Header Alignment"
6899
  msgstr ""
6900
 
6901
- #: widgets/tablepress/tablepress.php:170
6902
  msgid "Body Alignment"
6903
  msgstr ""
6904
 
6905
- #: widgets/tablepress/tablepress.php:217 widgets/tablepress/tablepress.php:344
6906
- #: widgets/tablepress/tablepress.php:427 widgets/video/video.php:606
6907
  msgid "Border Style"
6908
  msgstr ""
6909
 
6910
- #: widgets/tablepress/tablepress.php:226 widgets/tablepress/tablepress.php:353
6911
- #: widgets/tablepress/tablepress.php:436
6912
  msgid "Groove"
6913
  msgstr ""
6914
 
6915
- #: widgets/tablepress/tablepress.php:274
6916
  msgid "Pagination And Serach Gap"
6917
  msgstr ""
6918
 
6919
- #: widgets/tablepress/tablepress.php:286
6920
  msgid "Footer Text And Navigation gap"
6921
  msgstr ""
6922
 
6923
- #: widgets/tablepress/tablepress.php:320
6924
  msgid "Hover And Active Background"
6925
  msgstr ""
6926
 
6927
- #: widgets/tablepress/tablepress.php:466
6928
  msgid "Cell Padding"
6929
  msgstr ""
6930
 
6931
- #: widgets/tablepress/tablepress.php:597
6932
  msgid "Filter And Search"
6933
  msgstr ""
6934
 
6935
- #: widgets/tablepress/tablepress.php:692
6936
  msgid "Please Select A Table From Setting!"
6937
  msgstr ""
6938
 
 
 
 
 
6939
  #: widgets/team/team-handler.php:12
6940
  msgid "Team"
6941
  msgstr ""
2
  # This file is distributed under the same license as the ElementsKit Lite package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: ElementsKit Lite 2.5.10\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/elementskit-lite\n"
7
+ "POT-Creation-Date: 2022-05-18 16:38:56+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
41
  msgid "6"
42
  msgstr ""
43
 
44
+ #: elementskit-lite.php:376
45
  msgid "Activate Elementor"
46
  msgstr ""
47
 
48
+ #: elementskit-lite.php:379
49
  msgid "Install Elementor"
50
  msgstr ""
51
 
52
+ #: elementskit-lite.php:385
53
  msgid ""
54
  "ElementsKit requires Elementor version %1$s+, which is currently NOT "
55
  "RUNNING."
56
  msgstr ""
57
 
58
+ #: elementskit-lite.php:402
59
  msgid ""
60
  "ElementsKit requires PHP version %1$s+, which is currently NOT RUNNING on "
61
  "this server."
62
  msgstr ""
63
 
64
+ #: elementskit-lite.php:427 libs/framework/attr.php:61
65
  #: libs/framework/views/onboard-steps/step-05.php:5
66
  msgid "ElementsKit"
67
  msgstr ""
68
 
69
+ #: elementskit-lite.php:435
70
  msgid "ElementsKit Header Footer"
71
  msgstr ""
72
 
73
+ #: helpers/utils.php:191 widgets/caldera-forms/caldera-forms.php:37
74
  #: widgets/caldera-forms/caldera-forms.php:62
75
  msgid "Select Form"
76
  msgstr ""
77
 
78
+ #: helpers/utils.php:196
79
  msgid "Create a form first"
80
  msgstr ""
81
 
82
+ #: helpers/utils.php:210
83
  msgid "Select Ninja Form"
84
  msgstr ""
85
 
86
+ #: helpers/utils.php:217 widgets/fluent-forms/fluent-forms.php:54
87
  msgid "Create a Form First"
88
  msgstr ""
89
 
90
+ #: helpers/utils.php:228 widgets/tablepress/tablepress.php:52
91
  msgid "Select Table"
92
  msgstr ""
93
 
94
+ #: helpers/utils.php:235
95
  msgid "(no name)"
96
  msgstr ""
97
 
98
+ #: helpers/utils.php:241
99
  msgid "Create a Table First"
100
  msgstr ""
101
 
102
+ #: libs/framework/attr.php:60 modules/onepage-scroll/extend-controls.php:65
103
  msgid "ElementsKit Settings"
104
  msgstr ""
105
 
137
  msgstr ""
138
 
139
  #: libs/framework/views/init.php:16
140
+ #: libs/framework/views/onboard-steps/step-01.php:46
141
  msgid "Modules"
142
  msgstr ""
143
 
201
  msgid "Finalizing info"
202
  msgstr ""
203
 
204
+ #: libs/framework/views/layout-settings.php:38
205
  msgid "Go Premium"
206
  msgstr ""
207
 
208
+ #: libs/framework/views/layout-settings.php:39
209
  msgid "Get premium features"
210
  msgstr ""
211
 
212
+ #: libs/framework/views/layout-settings.php:78
213
  #: libs/framework/views/onboard-steps/step-06.php:5
214
  msgid "Save Changes"
215
  msgstr ""
220
  "promotional images on WP Dashboard"
221
  msgstr ""
222
 
223
+ #: libs/framework/views/onboard-steps/step-01.php:10
224
  msgid ""
225
  "General widgets will be activated to build your website. Best suited for "
226
  "lightweight-fast starter websites."
227
  msgstr ""
228
 
229
+ #: libs/framework/views/onboard-steps/step-01.php:11
230
  msgid "Basic (Recommended)"
231
  msgstr ""
232
 
233
+ #: libs/framework/views/onboard-steps/step-01.php:22
234
  msgid ""
235
  "All the free dynamic widgets will be activated to increase flexibility & "
236
  "functionality to build your complex website in no-time."
237
  msgstr ""
238
 
239
+ #: libs/framework/views/onboard-steps/step-01.php:23
240
  msgid "Advanced"
241
  msgstr ""
242
 
243
+ #: libs/framework/views/onboard-steps/step-01.php:35
244
  msgid "You choose your website as per your need."
245
  msgstr ""
246
 
247
+ #: libs/framework/views/onboard-steps/step-01.php:36
248
  #: widgets/fluent-forms/fluent-forms.php:2312 widgets/heading/heading.php:332
249
  #: widgets/icon-box/icon-box.php:470 widgets/ninja-forms/ninja-forms.php:597
250
  #: widgets/wp-forms/wp-forms.php:419
251
  msgid "Custom"
252
  msgstr ""
253
 
254
+ #: libs/framework/views/onboard-steps/step-01.php:55
255
  #: libs/framework/views/onboard-steps/step-02.php:16
256
  #: libs/framework/views/onboard-steps/step-03.php:65
257
+ #: libs/framework/views/onboard-steps/step-04.php:36
258
  #: libs/framework/views/onboard-steps/step-05.php:25
259
  msgid "Back"
260
  msgstr ""
261
 
262
+ #: libs/framework/views/onboard-steps/step-01.php:56
263
  #: libs/framework/views/onboard-steps/step-02.php:17
264
  #: libs/framework/views/onboard-steps/step-03.php:66
265
+ #: libs/framework/views/onboard-steps/step-04.php:37
266
  #: libs/framework/views/onboard-steps/step-05.php:26
267
  msgid "Next Step"
268
  msgstr ""
290
  msgstr ""
291
 
292
  #: libs/framework/views/onboard-steps/step-03.php:3
293
+ msgid "We have some plugins you can install to get most from WordPress."
294
  msgstr ""
295
 
296
  #: libs/framework/views/onboard-steps/step-03.php:4
320
  "Save 1 hour of your learning time."
321
  msgstr ""
322
 
323
+ #: libs/framework/views/onboard-steps/step-04.php:29
324
  msgid "Share non-sensitive diagnostic data and details about plugin usage."
325
  msgstr ""
326
 
327
+ #: libs/framework/views/onboard-steps/step-04.php:32
328
  msgid ""
329
  "We gather non-sensitive diagnostic data as well as information about plugin "
330
  "use. Your site's URL, WordPress and PHP versions, plugins and themes, as "
334
  "you any spam, for sure."
335
  msgstr ""
336
 
337
+ #: libs/framework/views/onboard-steps/step-04.php:33
338
  msgid "What types of information do we gather?"
339
  msgstr ""
340
 
533
  msgid "Rate Now Thumb"
534
  msgstr ""
535
 
536
+ #: libs/framework/views/settings-sections/modules.php:15
537
  msgid ""
538
  "You can disable the modules you are not using on your site. That will "
539
  "disable all associated assets of those modules to improve your site loading "
540
  "speed."
541
  msgstr ""
542
 
543
+ #: libs/framework/views/settings-sections/modules.php:19
544
  #: modules/header-footer/cpt.php:20 modules/header-footer/cpt.php:21
545
  #: modules/header-footer/cpt.php:52
546
  msgid "Header Footer"
547
  msgstr ""
548
 
549
+ #: libs/framework/views/settings-sections/modules.php:22
550
  #: modules/widget-builder/cpt.php:19 modules/widget-builder/cpt.php:51
551
  msgid "Widget Builder"
552
  msgstr ""
555
  msgid "MailChimp Data"
556
  msgstr ""
557
 
558
+ #: libs/framework/views/settings-sections/usersettings.php:34
559
  msgid "Token"
560
  msgstr ""
561
 
562
+ #: libs/framework/views/settings-sections/usersettings.php:62
563
  msgid "Facebook Page Feed"
564
  msgstr ""
565
 
566
+ #: libs/framework/views/settings-sections/usersettings.php:77
567
  msgid "Facebook Page ID"
568
  msgstr ""
569
 
570
+ #: libs/framework/views/settings-sections/usersettings.php:78
571
  msgid "Facebook app id"
572
  msgstr ""
573
 
574
+ #: libs/framework/views/settings-sections/usersettings.php:92
575
  msgid "Page Access Token"
576
  msgstr ""
577
 
578
+ #: libs/framework/views/settings-sections/usersettings.php:107
579
+ #: libs/framework/views/settings-sections/usersettings.php:184
580
+ #: libs/framework/views/settings-sections/usersettings.php:378
581
+ #: libs/framework/views/settings-sections/usersettings.php:522
582
  msgid "Clear Cache"
583
  msgstr ""
584
 
585
+ #: libs/framework/views/settings-sections/usersettings.php:113
586
+ #: libs/framework/views/settings-sections/usersettings.php:157
587
+ #: libs/framework/views/settings-sections/usersettings.php:371
588
+ #: libs/framework/views/settings-sections/usersettings.php:528
589
  msgid "Get access token"
590
  msgstr ""
591
 
592
+ #: libs/framework/views/settings-sections/usersettings.php:135
593
  msgid "Facebook page review"
594
  msgstr ""
595
 
596
+ #: libs/framework/views/settings-sections/usersettings.php:149
597
+ #: libs/framework/views/settings-sections/usersettings.php:263
598
  msgid "Page ID"
599
  msgstr ""
600
 
601
+ #: libs/framework/views/settings-sections/usersettings.php:157
602
  msgid "Refresh access token"
603
  msgstr ""
604
 
605
+ #: libs/framework/views/settings-sections/usersettings.php:163
606
  msgid "Page Token"
607
  msgstr ""
608
 
609
+ #: libs/framework/views/settings-sections/usersettings.php:212
610
  msgid "Yelp Settings"
611
  msgstr ""
612
 
613
+ #: libs/framework/views/settings-sections/usersettings.php:227
614
  msgid "Yelp Page"
615
  msgstr ""
616
 
617
+ #: libs/framework/views/settings-sections/usersettings.php:250
618
  msgid "Facebook Messenger"
619
  msgstr ""
620
 
621
+ #: libs/framework/views/settings-sections/usersettings.php:275
622
  #: widgets/accordion/accordion.php:249 widgets/accordion/accordion.php:341
623
  #: widgets/accordion/accordion.php:478 widgets/accordion/accordion.php:630
624
  #: widgets/accordion/accordion.php:692 widgets/back-to-top/back-to-top.php:374
712
  #: widgets/progressbar/progressbar.php:407 widgets/social/social.php:211
713
  #: widgets/social/social.php:273 widgets/social-share/social-share.php:248
714
  #: widgets/social-share/social-share.php:310
715
+ #: widgets/tablepress/tablepress.php:208 widgets/tablepress/tablepress.php:620
716
  #: widgets/team/team.php:245 widgets/team/team.php:308
717
  #: widgets/team/team.php:1158 widgets/team/team.php:1197
718
  #: widgets/team/team.php:1260 widgets/team/team.php:1279
731
  msgid "Color"
732
  msgstr ""
733
 
734
+ #: libs/framework/views/settings-sections/usersettings.php:287
735
  msgid "Logged-in user greeting"
736
  msgstr ""
737
 
738
+ #: libs/framework/views/settings-sections/usersettings.php:299
739
  msgid "Logged out user greeting"
740
  msgstr ""
741
 
742
+ #: libs/framework/views/settings-sections/usersettings.php:311
743
  msgid "Show Dialog Box"
744
  msgstr ""
745
 
746
+ #: libs/framework/views/settings-sections/usersettings.php:341
747
  msgid "Dribbble User Data"
748
  msgstr ""
749
 
750
+ #: libs/framework/views/settings-sections/usersettings.php:358
751
  msgid "Access token"
752
  msgstr ""
753
 
754
+ #: libs/framework/views/settings-sections/usersettings.php:400
755
  msgid "Twitter User Data"
756
  msgstr ""
757
 
758
+ #: libs/framework/views/settings-sections/usersettings.php:413
759
  msgid "Twitter Username"
760
  msgstr ""
761
 
762
+ #: libs/framework/views/settings-sections/usersettings.php:425
763
+ #: libs/framework/views/settings-sections/usersettings.php:487
764
  msgid "Access Token"
765
  msgstr ""
766
 
767
+ #: libs/framework/views/settings-sections/usersettings.php:436
768
  msgid "Get Access Token"
769
  msgstr ""
770
 
771
+ #: libs/framework/views/settings-sections/usersettings.php:456
772
  msgid "Instragram User Data"
773
  msgstr ""
774
 
775
+ #: libs/framework/views/settings-sections/usersettings.php:477
776
  msgid "User ID"
777
  msgstr ""
778
 
779
+ #: libs/framework/views/settings-sections/usersettings.php:497
780
  msgid "Token expires time"
781
  msgstr ""
782
 
783
+ #: libs/framework/views/settings-sections/usersettings.php:507
784
  msgid "Token generation date"
785
  msgstr ""
786
 
787
+ #: libs/framework/views/settings-sections/usersettings.php:510
788
  msgid "This is need to calculate the remaining time for token"
789
  msgstr ""
790
 
791
+ #: libs/framework/views/settings-sections/usersettings.php:549
792
  msgid "Zoom Data"
793
  msgstr ""
794
 
795
+ #: libs/framework/views/settings-sections/usersettings.php:562
796
  msgid "Api key"
797
  msgstr ""
798
 
799
+ #: libs/framework/views/settings-sections/usersettings.php:573
800
  msgid "Secret Key"
801
  msgstr ""
802
 
803
+ #: libs/framework/views/settings-sections/usersettings.php:583
804
  msgid "Check connection"
805
  msgstr ""
806
 
807
+ #: libs/framework/views/settings-sections/usersettings.php:605
808
  msgid "Google Map"
809
  msgstr ""
810
 
811
+ #: libs/framework/views/settings-sections/usersettings.php:618
812
  msgid "Api Key"
813
  msgstr ""
814
 
815
+ #: libs/framework/views/settings-sections/usersettings.php:639
816
+ msgid "Google Sheet For Elementor Pro Form"
817
+ msgstr ""
818
+
819
+ #: libs/framework/views/settings-sections/usersettings.php:653
820
+ msgid "Google Client Id"
821
+ msgstr ""
822
+
823
+ #: libs/framework/views/settings-sections/usersettings.php:660
824
+ msgid "Google Client Secret"
825
+ msgstr ""
826
+
827
+ #: libs/framework/views/settings-sections/usersettings.php:667
828
+ msgid "Click %s and create App/Project On Google developer account"
829
+ msgstr ""
830
+
831
+ #: libs/framework/views/settings-sections/usersettings.php:668
832
+ msgid "Must add the following URL to the \"Valid OAuth redirect URIs\" field:"
833
+ msgstr ""
834
+
835
+ #: libs/framework/views/settings-sections/usersettings.php:669
836
+ msgid "After getting the App ID & App Secret, put those information"
837
+ msgstr ""
838
+
839
+ #: libs/framework/views/settings-sections/usersettings.php:670
840
+ msgid "Click on \"Save Changes\""
841
+ msgstr ""
842
+
843
+ #: libs/framework/views/settings-sections/usersettings.php:671
844
+ msgid "Click on \"Generate Access Token\""
845
+ msgstr ""
846
+
847
+ #: libs/framework/views/settings-sections/usersettings.php:678
848
+ msgid ""
849
+ "Note:- After 200 days your token will be expired, before the expiration of "
850
+ "your token,"
851
+ msgstr ""
852
+
853
+ #: libs/framework/views/settings-sections/usersettings.php:678
854
+ msgid "Generate a new access Token"
855
+ msgstr ""
856
+
857
+ #: libs/framework/views/settings-sections/usersettings.php:681
858
+ msgid "Generate Access Token"
859
+ msgstr ""
860
+
861
  #: libs/framework/views/settings-sections/widgets.php:14
862
  msgid ""
863
  "You can disable the elements you are not using on your site. That will "
869
  msgid "Default Title"
870
  msgstr ""
871
 
872
+ #: libs/stories/stories.php:252
873
  msgid "Wpmet Stories"
874
  msgstr ""
875
 
899
  msgid "Loading"
900
  msgstr ""
901
 
902
+ #: modules/controls/widget-area-utils.php:26
903
+ #: modules/controls/widget-area-utils.php:84
904
  msgid "Click here to add content."
905
  msgstr ""
906
 
907
+ #: modules/controls/widget-area-utils.php:57
908
  msgid "Edit"
909
  msgstr ""
910
 
1015
  msgid "ElementsKit Icon Pack"
1016
  msgstr ""
1017
 
1018
+ #: modules/header-footer/cpt-api.php:82 modules/header-footer/cpt-hooks.php:55
1019
  #: widgets/client-logo/client-logo.php:1222
1020
  #: widgets/fluent-forms/fluent-forms.php:1683
1021
  #: widgets/fluent-forms/fluent-forms.php:1882 widgets/nav-menu/nav-menu.php:465
1024
  msgid "Active"
1025
  msgstr ""
1026
 
1027
+ #: modules/header-footer/cpt-api.php:83 modules/header-footer/cpt-hooks.php:56
1028
  msgid "Inactive"
1029
  msgstr ""
1030
 
1094
 
1095
  #: modules/header-footer/views/modal-editor.php:22
1096
  #: widgets/pricing/pricing.php:39 widgets/pricing/pricing.php:2369
1097
+ #: widgets/tablepress/tablepress.php:302
1098
  msgid "Header"
1099
  msgstr ""
1100
 
1154
  msgid "Save changes"
1155
  msgstr ""
1156
 
1157
+ #: modules/layout-manager/layout-import-api.php:25
1158
  msgid "Post not found"
1159
  msgstr ""
1160
 
1161
+ #: modules/layout-manager/layout-import-api.php:32
1162
  msgid "Template id missing"
1163
  msgstr ""
1164
 
1165
+ #: modules/layout-manager/library-source.php:16
1166
  msgid "ElementsKit Layout Manager"
1167
  msgstr ""
1168
 
1169
+ #: modules/layout-manager/library-source.php:82
1170
  msgid "Template does not have any content"
1171
  msgstr ""
1172
 
1173
+ #: modules/megamenu/api.php:25
1174
  msgid "Saved"
1175
  msgstr ""
1176
 
1351
  msgid "Save"
1352
  msgstr ""
1353
 
1354
+ #: modules/megamenu/walker-nav-menu.php:307
1355
  msgid "No content found"
1356
  msgstr ""
1357
 
1358
+ #: modules/onepage-scroll/extend-controls-pro.php:28
1359
  msgid "Onepage Scroll Settings"
1360
  msgstr ""
1361
 
1362
+ #: modules/onepage-scroll/extend-controls-pro.php:40
1363
  msgid "Navigation Style"
1364
  msgstr ""
1365
 
1366
+ #: modules/onepage-scroll/extend-controls-pro.php:44
1367
  #: widgets/blog-posts/blog-posts.php:851 widgets/blog-posts/blog-posts.php:2679
1368
  #: widgets/button/button.php:299 widgets/funfact/funfact.php:72
1369
  #: widgets/icon-box/icon-box.php:68 widgets/image-box/image-box.php:768
1372
  #: widgets/pricing/pricing.php:831 widgets/pricing/pricing.php:1618
1373
  #: widgets/pricing/pricing.php:1771 widgets/pricing/pricing.php:2202
1374
  #: widgets/social/social.php:431 widgets/social-share/social-share.php:468
1375
+ #: widgets/tab/tab.php:372 widgets/tablepress/tablepress.php:70
1376
+ #: widgets/tablepress/tablepress.php:86 widgets/tablepress/tablepress.php:223
1377
+ #: widgets/tablepress/tablepress.php:350 widgets/tablepress/tablepress.php:433
1378
  #: widgets/team/team.php:1548 widgets/video/video.php:617
1379
  msgid "None"
1380
  msgstr ""
1381
 
1382
+ #: modules/onepage-scroll/extend-controls-pro.php:46
1383
  msgid "Circle"
1384
  msgstr ""
1385
 
1386
+ #: modules/onepage-scroll/extend-controls-pro.php:48
1387
+ #: modules/onepage-scroll/extend-controls-pro.php:61
1388
  msgid "Scale Up"
1389
  msgstr ""
1390
 
1391
+ #: modules/onepage-scroll/extend-controls-pro.php:49
1392
  msgid "Fill In"
1393
  msgstr ""
1394
 
1395
+ #: modules/onepage-scroll/extend-controls-pro.php:50
1396
  msgid "Fill Out"
1397
  msgstr ""
1398
 
1399
+ #: modules/onepage-scroll/extend-controls-pro.php:51
1400
  msgid "Stroke"
1401
  msgstr ""
1402
 
1403
+ #: modules/onepage-scroll/extend-controls-pro.php:52
1404
  msgid "Stroke Dot"
1405
  msgstr ""
1406
 
1407
+ #: modules/onepage-scroll/extend-controls-pro.php:53
1408
  msgid "Stroke Simple"
1409
  msgstr ""
1410
 
1411
+ #: modules/onepage-scroll/extend-controls-pro.php:54
1412
  msgid "Dot Move"
1413
  msgstr ""
1414
 
1415
+ #: modules/onepage-scroll/extend-controls-pro.php:55
1416
  msgid "Timeline"
1417
  msgstr ""
1418
 
1419
+ #: modules/onepage-scroll/extend-controls-pro.php:59
1420
  msgid "Square"
1421
  msgstr ""
1422
 
1423
+ #: modules/onepage-scroll/extend-controls-pro.php:65
1424
  #: widgets/social-share/social-share.php:217
1425
  msgid "Line"
1426
  msgstr ""
1427
 
1428
+ #: modules/onepage-scroll/extend-controls-pro.php:67
1429
  msgid "Line Grow"
1430
  msgstr ""
1431
 
1432
+ #: modules/onepage-scroll/extend-controls-pro.php:68
1433
  msgid "Line Shrink"
1434
  msgstr ""
1435
 
1436
+ #: modules/onepage-scroll/extend-controls-pro.php:69
1437
  msgid "Line Fill"
1438
  msgstr ""
1439
 
1440
+ #: modules/onepage-scroll/extend-controls-pro.php:70
1441
  msgid "Line Move"
1442
  msgstr ""
1443
 
1444
+ #: modules/onepage-scroll/extend-controls-pro.php:73
1445
  msgid "Custom Icon"
1446
  msgstr ""
1447
 
1448
+ #: modules/onepage-scroll/extend-controls-pro.php:85
1449
  msgid "Navigation Icon"
1450
  msgstr ""
1451
 
1452
+ #: modules/onepage-scroll/extend-controls-pro.php:102
1453
  msgid "Navigation Position"
1454
  msgstr ""
1455
 
1456
+ #: modules/onepage-scroll/extend-controls-pro.php:107
1457
  #: widgets/back-to-top/back-to-top.php:87 widgets/blog-posts/blog-posts.php:81
1458
  #: widgets/blog-posts/blog-posts.php:706 widgets/blog-posts/blog-posts.php:1396
1459
  #: widgets/blog-posts/blog-posts.php:1751 widgets/funfact/funfact.php:923
1470
  msgid "Top"
1471
  msgstr ""
1472
 
1473
+ #: modules/onepage-scroll/extend-controls-pro.php:111
1474
  #: widgets/blog-posts/blog-posts.php:714 widgets/blog-posts/blog-posts.php:1424
1475
  #: widgets/funfact/funfact.php:982 widgets/heading/heading.php:350
1476
  #: widgets/icon-box/icon-box.php:700
1486
  msgid "Bottom"
1487
  msgstr ""
1488
 
1489
+ #: modules/onepage-scroll/extend-controls-pro.php:115
1490
  #: widgets/accordion/accordion.php:142 widgets/back-to-top/back-to-top.php:104
1491
  #: widgets/blog-posts/blog-posts.php:82 widgets/blog-posts/blog-posts.php:123
1492
  #: widgets/blog-posts/blog-posts.php:583 widgets/blog-posts/blog-posts.php:1045
1525
  #: widgets/social-share/social-share.php:423 widgets/tab/tab.php:158
1526
  #: widgets/tab/tab.php:272 widgets/tab/tab.php:302 widgets/tab/tab.php:1054
1527
  #: widgets/tab/tab.php:1175 widgets/tab/tab.php:1545
1528
+ #: widgets/tablepress/tablepress.php:150 widgets/tablepress/tablepress.php:176
1529
  #: widgets/team/team.php:484 widgets/team/team.php:656
1530
  #: widgets/team/team.php:971 widgets/team/team.php:1503
1531
  #: widgets/testimonial/testimonial.php:196
1537
  msgid "Left"
1538
  msgstr ""
1539
 
1540
+ #: modules/onepage-scroll/extend-controls-pro.php:119
1541
  #: widgets/accordion/accordion.php:141 widgets/back-to-top/back-to-top.php:112
1542
  #: widgets/blog-posts/blog-posts.php:127 widgets/blog-posts/blog-posts.php:591
1543
  #: widgets/blog-posts/blog-posts.php:1053
1572
  #: widgets/social/social.php:394 widgets/social-share/social-share.php:149
1573
  #: widgets/social-share/social-share.php:431 widgets/tab/tab.php:157
1574
  #: widgets/tab/tab.php:280 widgets/tab/tab.php:310
1575
+ #: widgets/tablepress/tablepress.php:158 widgets/tablepress/tablepress.php:184
1576
  #: widgets/team/team.php:488 widgets/team/team.php:664
1577
  #: widgets/team/team.php:975 widgets/team/team.php:979
1578
  #: widgets/team/team.php:1511 widgets/testimonial/testimonial.php:803
1583
  msgid "Right"
1584
  msgstr ""
1585
 
1586
+ #: modules/onepage-scroll/extend-controls-pro.php:135
1587
  msgid "Navigation Position Offset"
1588
  msgstr ""
1589
 
1590
+ #: modules/onepage-scroll/extend-controls-pro.php:167
1591
  msgid "Navigation Spacing"
1592
  msgstr ""
1593
 
1594
+ #: modules/onepage-scroll/extend-controls-pro.php:191
1595
  msgid "Navigation Color"
1596
  msgstr ""
1597
 
1598
+ #: modules/onepage-scroll/extend-controls-pro.php:223
1599
  msgid "Tooltip Typography"
1600
  msgstr ""
1601
 
1602
+ #: modules/onepage-scroll/extend-controls-pro.php:241
1603
  msgid "Enable Dot"
1604
  msgstr ""
1605
 
1606
+ #: modules/onepage-scroll/extend-controls-pro.php:251
1607
  msgid "Tooltip Text"
1608
  msgstr ""
1609
 
1610
+ #: modules/onepage-scroll/extend-controls.php:42 widgets/widget-notice.php:24
1611
  msgid "Unlock more possibilities"
1612
  msgstr ""
1613
 
1614
+ #: modules/onepage-scroll/extend-controls.php:52
1615
  msgid ""
1616
+ "%1$s Get the %2$s Pro version %3$s for more awesome elements and powerful "
1617
+ "modules. %4$s"
1618
  msgstr ""
1619
 
1620
+ #: modules/onepage-scroll/extend-controls.php:72
1621
  msgid "Enable Onepage Scroll"
1622
  msgstr ""
1623
 
1624
+ #: modules/onepage-scroll/extend-controls.php:92
1625
  msgid "ElementsKit Onepage Scroll"
1626
  msgstr ""
1627
 
1628
+ #: modules/onepage-scroll/extend-controls.php:100
1629
  msgid "Enable Section"
1630
  msgstr ""
1631
 
1632
  #: modules/widget-builder/api/common.php:25
1633
+ #: modules/widget-builder/api/common.php:84
1634
  msgid "Not enough permission."
1635
  msgstr ""
1636
 
1637
+ #: modules/widget-builder/api/common.php:38
1638
  msgid "Invalid data."
1639
  msgstr ""
1640
 
1641
+ #: modules/widget-builder/api/common.php:71
1642
  msgid "Widget data saved!"
1643
  msgstr ""
1644
 
1682
  msgid "No Widgets found in Trash."
1683
  msgstr ""
1684
 
1685
+ #: modules/widget-builder/init.php:71
1686
  msgid "ElementsKit Custom"
1687
  msgstr ""
1688
 
1689
+ #: modules/widget-builder/init.php:112
1690
  msgid "Builder"
1691
  msgstr ""
1692
 
2050
  #: widgets/tab/tab.php:765 widgets/tab/tab.php:837 widgets/tab/tab.php:1012
2051
  #: widgets/tab/tab.php:1133 widgets/tab/tab.php:1293 widgets/tab/tab.php:1577
2052
  #: widgets/tab/tab.php:1601 widgets/tab/tab.php:1817 widgets/tab/tab.php:1841
2053
+ #: widgets/tablepress/tablepress.php:310 widgets/tablepress/tablepress.php:497
2054
+ #: widgets/tablepress/tablepress.php:544 widgets/tablepress/tablepress.php:631
2055
  #: widgets/team/team.php:531 widgets/team/team.php:556
2056
  #: widgets/team/team.php:741 widgets/team/team.php:918
2057
  #: widgets/team/team.php:1760 widgets/team/team.php:1794
2121
  #: widgets/header-offcanvas/header-offcanvas.php:453
2122
  #: widgets/heading/heading.php:1235 widgets/image-box/image-box.php:793
2123
  #: widgets/image-box/image-box.php:811 widgets/ninja-forms/ninja-forms.php:794
2124
+ #: widgets/tablepress/tablepress.php:261 widgets/tablepress/tablepress.php:385
2125
+ #: widgets/tablepress/tablepress.php:520 widgets/tablepress/tablepress.php:567
2126
  #: widgets/testimonial/testimonial.php:718 widgets/we-forms/we-forms.php:561
2127
  #: widgets/wp-forms/wp-forms.php:612
2128
  msgid "Border Color"
2205
  #: widgets/social-share/social-share.php:353 widgets/tab/tab.php:500
2206
  #: widgets/tab/tab.php:598 widgets/tab/tab.php:774 widgets/tab/tab.php:846
2207
  #: widgets/tab/tab.php:1330 widgets/tab/tab.php:1615 widgets/tab/tab.php:2014
2208
+ #: widgets/tablepress/tablepress.php:655 widgets/team/team.php:272
2209
  #: widgets/team/team.php:334 widgets/team/team.php:701
2210
  #: widgets/team/team.php:875 widgets/team/team.php:1182
2211
  #: widgets/team/team.php:1221 widgets/team/team.php:2044
2423
  #: widgets/pricing/pricing.php:2179 widgets/progressbar/progressbar.php:196
2424
  #: widgets/social/social.php:466 widgets/social-share/social-share.php:649
2425
  #: widgets/tab/tab.php:480 widgets/tab/tab.php:559 widgets/tab/tab.php:711
2426
+ #: widgets/tab/tab.php:1986 widgets/tablepress/tablepress.php:400
2427
+ #: widgets/tablepress/tablepress.php:642 widgets/team/team.php:676
2428
  #: widgets/team/team.php:1002 widgets/team/team.php:1584
2429
  #: widgets/team/team.php:2155 widgets/testimonial/testimonial.php:467
2430
  #: widgets/testimonial/testimonial.php:629
2674
  #: widgets/pricing/pricing.php:2095 widgets/social/social.php:139
2675
  #: widgets/social/social.php:390 widgets/social-share/social-share.php:145
2676
  #: widgets/social-share/social-share.php:427 widgets/tab/tab.php:276
2677
+ #: widgets/tab/tab.php:306 widgets/tablepress/tablepress.php:154
2678
+ #: widgets/tablepress/tablepress.php:180 widgets/team/team.php:660
2679
  #: widgets/team/team.php:1507 widgets/testimonial/testimonial.php:773
2680
  #: widgets/testimonial/testimonial.php:799
2681
  #: widgets/testimonial/testimonial.php:1590 widgets/video/video.php:300
2838
  #: widgets/pricing/pricing.php:1798 widgets/pricing/pricing.php:2121
2839
  #: widgets/pricing/pricing.php:2231 widgets/pricing/pricing.php:2313
2840
  #: widgets/social/social.php:203 widgets/social-share/social-share.php:240
2841
+ #: widgets/tab/tab.php:734 widgets/tablepress/tablepress.php:490
2842
  #: widgets/team/team.php:237 widgets/team/team.php:523
2843
  #: widgets/team/team.php:1152 widgets/team/team.php:1253
2844
  #: widgets/team/team.php:1330 widgets/team/team.php:1427
3493
  msgid "Image Height"
3494
  msgstr ""
3495
 
3496
+ #: widgets/blog-posts/blog-posts.php:2542 widgets/tablepress/tablepress.php:665
3497
  msgid "Radius"
3498
  msgstr ""
3499
 
3551
  #: widgets/ninja-forms/ninja-forms.php:860 widgets/page-list/page-list.php:769
3552
  #: widgets/post-list/post-list.php:914 widgets/pricing/pricing.php:1405
3553
  #: widgets/pricing/pricing.php:2128 widgets/pricing/pricing.php:2156
3554
+ #: widgets/tablepress/tablepress.php:334 widgets/tablepress/tablepress.php:509
3555
+ #: widgets/tablepress/tablepress.php:556 widgets/video/video.php:547
3556
  #: widgets/video/video.php:577 widgets/we-forms/we-forms.php:507
3557
  #: widgets/we-forms/we-forms.php:539 widgets/wp-forms/wp-forms.php:71
3558
  #: widgets/wp-forms/wp-forms.php:149 widgets/wp-forms/wp-forms.php:336
3805
  #: widgets/category-list/category-list.php:198 widgets/heading/heading.php:329
3806
  #: widgets/image-box/image-box.php:769 widgets/page-list/page-list.php:458
3807
  #: widgets/post-list/post-list.php:632 widgets/pricing/pricing.php:1868
3808
+ #: widgets/tablepress/tablepress.php:224 widgets/tablepress/tablepress.php:351
3809
+ #: widgets/tablepress/tablepress.php:434
3810
  msgid "Solid"
3811
  msgstr ""
3812
 
3814
  #: widgets/client-logo/client-logo.php:1071 widgets/heading/heading.php:328
3815
  #: widgets/image-box/image-box.php:771 widgets/page-list/page-list.php:459
3816
  #: widgets/post-list/post-list.php:633 widgets/pricing/pricing.php:1870
3817
+ #: widgets/tablepress/tablepress.php:226 widgets/tablepress/tablepress.php:353
3818
+ #: widgets/tablepress/tablepress.php:436
3819
  msgid "Dotted"
3820
  msgstr ""
3821
 
3822
  #: widgets/category-list/category-list.php:200
3823
  #: widgets/client-logo/client-logo.php:1070 widgets/image-box/image-box.php:772
3824
  #: widgets/page-list/page-list.php:460 widgets/post-list/post-list.php:634
3825
+ #: widgets/pricing/pricing.php:1871 widgets/tablepress/tablepress.php:227
3826
+ #: widgets/tablepress/tablepress.php:354 widgets/tablepress/tablepress.php:437
3827
  msgid "Dashed"
3828
  msgstr ""
3829
 
4033
  msgstr ""
4034
 
4035
  #: widgets/client-logo/client-logo.php:640
4036
+ #: widgets/tablepress/tablepress.php:586
4037
  msgid "Hover Background"
4038
  msgstr ""
4039
 
4494
  #: widgets/fluent-forms/fluent-forms.php:979 widgets/heading/heading.php:477
4495
  #: widgets/heading/heading.php:1217
4496
  #: widgets/image-accordion/image-accordion.php:823
4497
+ #: widgets/image-box/image-box.php:741 widgets/tablepress/tablepress.php:242
4498
+ #: widgets/tablepress/tablepress.php:366 widgets/tablepress/tablepress.php:449
4499
  msgid "Border Width"
4500
  msgstr ""
4501
 
5422
  msgstr ""
5423
 
5424
  #: widgets/image-box/image-box.php:144 widgets/image-box/image-box.php:1084
5425
+ #: widgets/tab/tab.php:1968 widgets/tablepress/tablepress.php:421
5426
  msgid "Body"
5427
  msgstr ""
5428
 
5458
  msgstr ""
5459
 
5460
  #: widgets/image-box/image-box.php:770 widgets/pricing/pricing.php:1869
5461
+ #: widgets/tablepress/tablepress.php:225 widgets/tablepress/tablepress.php:352
5462
+ #: widgets/tablepress/tablepress.php:435
5463
  msgid "Double"
5464
  msgstr ""
5465
 
5727
  msgid "Phone:"
5728
  msgstr ""
5729
 
5730
+ #: widgets/mail-chimp/mail-chimp.php:329 widgets/tablepress/tablepress.php:87
5731
  #: widgets/team/team.php:434 widgets/team/team.php:2471
5732
  msgid "Phone"
5733
  msgstr ""
5825
  msgid "This works in the current page."
5826
  msgstr ""
5827
 
5828
+ #: widgets/nav-menu/nav-menu.php:112 widgets/tablepress/tablepress.php:81
5829
  msgid "Responsive Breakpoint"
5830
  msgstr ""
5831
 
5832
+ #: widgets/nav-menu/nav-menu.php:116 widgets/tablepress/tablepress.php:88
5833
  msgid "Tablet"
5834
  msgstr ""
5835
 
6556
  msgid "Ribbon"
6557
  msgstr ""
6558
 
6559
+ #: widgets/progressbar/progressbar.php:62 widgets/tablepress/tablepress.php:537
6560
  msgid "Stripe"
6561
  msgstr ""
6562
 
6892
  msgid "TablePress"
6893
  msgstr ""
6894
 
6895
+ #: widgets/tablepress/tablepress.php:45 widgets/tablepress/tablepress.php:200
6896
  msgid "Table"
6897
  msgstr ""
6898
 
6899
+ #: widgets/tablepress/tablepress.php:65
6900
  msgid "Responsive"
6901
  msgstr ""
6902
 
6903
+ #: widgets/tablepress/tablepress.php:71
6904
  msgid "Flip"
6905
  msgstr ""
6906
 
6907
+ #: widgets/tablepress/tablepress.php:72
6908
  msgid "Scroll"
6909
  msgstr ""
6910
 
6911
+ #: widgets/tablepress/tablepress.php:73
6912
  msgid "Collapse"
6913
  msgstr ""
6914
 
6915
+ #: widgets/tablepress/tablepress.php:74
6916
  msgid "Stack"
6917
  msgstr ""
6918
 
6919
+ #: widgets/tablepress/tablepress.php:89
6920
  msgid "Desktop"
6921
  msgstr ""
6922
 
6923
+ #: widgets/tablepress/tablepress.php:90
6924
  msgid "All"
6925
  msgstr ""
6926
 
6927
+ #: widgets/tablepress/tablepress.php:102
6928
  msgid "Nav Hide"
6929
  msgstr ""
6930
 
6931
+ #: widgets/tablepress/tablepress.php:113
6932
  msgid "Search Hide"
6933
  msgstr ""
6934
 
6935
+ #: widgets/tablepress/tablepress.php:124
6936
  msgid "Footer Info Hide"
6937
  msgstr ""
6938
 
6939
+ #: widgets/tablepress/tablepress.php:135
6940
  msgid "Pagination Hide"
6941
  msgstr ""
6942
 
6943
+ #: widgets/tablepress/tablepress.php:146
6944
  msgid "Header Alignment"
6945
  msgstr ""
6946
 
6947
+ #: widgets/tablepress/tablepress.php:172
6948
  msgid "Body Alignment"
6949
  msgstr ""
6950
 
6951
+ #: widgets/tablepress/tablepress.php:219 widgets/tablepress/tablepress.php:346
6952
+ #: widgets/tablepress/tablepress.php:429 widgets/video/video.php:606
6953
  msgid "Border Style"
6954
  msgstr ""
6955
 
6956
+ #: widgets/tablepress/tablepress.php:228 widgets/tablepress/tablepress.php:355
6957
+ #: widgets/tablepress/tablepress.php:438
6958
  msgid "Groove"
6959
  msgstr ""
6960
 
6961
+ #: widgets/tablepress/tablepress.php:276
6962
  msgid "Pagination And Serach Gap"
6963
  msgstr ""
6964
 
6965
+ #: widgets/tablepress/tablepress.php:288
6966
  msgid "Footer Text And Navigation gap"
6967
  msgstr ""
6968
 
6969
+ #: widgets/tablepress/tablepress.php:322
6970
  msgid "Hover And Active Background"
6971
  msgstr ""
6972
 
6973
+ #: widgets/tablepress/tablepress.php:468
6974
  msgid "Cell Padding"
6975
  msgstr ""
6976
 
6977
+ #: widgets/tablepress/tablepress.php:599
6978
  msgid "Filter And Search"
6979
  msgstr ""
6980
 
6981
+ #: widgets/tablepress/tablepress.php:694
6982
  msgid "Please Select A Table From Setting!"
6983
  msgstr ""
6984
 
6985
+ #: widgets/tablepress/tablepress.php:726
6986
+ msgid "Please install and activate TablePress plugin to work this widget."
6987
+ msgstr ""
6988
+
6989
  #: widgets/team/team-handler.php:12
6990
  msgid "Team"
6991
  msgstr ""
libs/banner/banner.php CHANGED
@@ -3,250 +3,252 @@ namespace Wpmet\Libs;
3
 
4
  defined( 'ABSPATH' ) || exit;
5
 
6
- if(!class_exists('\Wpmet\Libs\Banner')):
7
-
8
- class Banner {
9
-
10
- protected $script_version = '2.1.0';
11
-
12
- protected $key = 'wpmet_banner';
13
- protected $data;
14
- protected $last_check;
15
- protected $check_interval = (3600 * 6);
16
-
17
- protected $plugin_screens;
18
-
19
- protected $text_domain;
20
- protected $filter_string;
21
- protected $filter_array = [];
22
- protected $api_url;
23
-
24
-
25
- public function get_version(){
26
- return $this->script_version;
27
- }
28
-
29
- public function get_script_location(){
30
- return __FILE__;
31
- }
32
-
33
- public function call(){
34
- add_action( 'admin_head', [$this, 'display_content'] );
35
- }
36
-
37
- public function display_content(){
38
- $this->get_data();
39
-
40
- if(!empty($this->data->error)) {
41
- return;
42
  }
 
 
 
43
 
44
- if(empty($this->data)) {
45
- return;
46
- }
47
-
48
- foreach($this->data as $content) {
49
-
50
- if(!empty($this->filter_array) && $this->in_blacklist($content, $this->filter_array)) {
51
- continue;
52
  }
53
 
54
- if($content->start <= time() && time() <= $content->end) {
55
- $screen = get_current_screen();
56
- if($this->is_correct_screen_to_show($content->screen, $screen->id) && class_exists('\Oxaim\Libs\Notice')) {
57
-
58
- $inline_css = '';
59
- $banner_unique_id = ((isset($content->data->unique_key) && $content->data->unique_key != '') ? $content->data->unique_key : $content->id );
60
-
61
- if(!empty($content->data->style_css)) {
62
- $inline_css =' style="'.$content->data->style_css.'"';
63
- }
64
-
65
- $instance = \Oxaim\Libs\Notice::instance('wpmet-jhanda', $banner_unique_id)
66
- ->set_dismiss('global', (3600 * 24 * 15));
67
-
68
- if($content->type == 'banner'){
69
- $this->init_banner($content, $instance, $inline_css);
70
- }
71
-
72
- if($content->type == 'notice'){
73
- $this->init_notice($content, $instance, $inline_css);
74
- }
75
- }
76
- }
 
 
 
 
 
 
 
 
 
 
 
77
  }
78
- }
79
-
80
-
81
- private function init_notice($content, $instance, $inline_css){
82
-
83
- $instance->set_message($content->data->notice_body);
84
-
85
- if($content->data->notice_image != ''){
86
- $instance->set_logo($content->data->notice_image);
87
- }
88
- if($content->data->button_text != ''){
89
- $instance->set_button([
90
- 'default_class' => 'button',
91
- 'class' => 'button-secondary button-small', // button-primary button-secondary button-small button-large button-link
92
- 'text' => $content->data->button_text,
93
- 'url' => $content->data->button_link,
94
- ]);
95
- }
96
- $instance->call();
97
- }
98
-
99
- private function init_banner($content, $instance, $inline_css){
100
-
101
- $html = '<a target="_blank" '.$inline_css.' class="wpmet-jhanda-href" href="'.$content->data->banner_link.'"><img style="display: block;margin: 0 auto;" src="'.$content->data->banner_image.'" /></a>';
102
-
103
- $instance->set_gutter(false)
104
- ->set_html($html)
105
- ->call();
106
- }
107
-
108
-
109
- private function in_whitelist($conf, $list) {
110
-
111
- $match = $conf->data->whitelist;
112
-
113
- if(empty($match)) {
114
- return true;
115
- };
116
-
117
- $match_arr = explode(',', $match);
118
-
119
- foreach($list as $word) {
120
- if(in_array($word, $match_arr)) {
121
- return true;
122
  }
 
 
 
 
 
 
 
 
 
 
123
  }
 
124
 
125
- return false;
126
- }
 
127
 
 
 
 
128
 
129
- private function in_blacklist($conf, $list) {
130
 
131
- $match = $conf->data->blacklist;
 
 
 
 
132
 
133
- if(empty($match)) {
134
  return false;
135
- };
136
 
137
- $match_arr = explode(',', $match);
138
 
139
- foreach($match_arr as $idx => $item) {
140
 
141
- $match_arr[$idx] = trim($item);
142
- }
143
 
144
- foreach($list as $word) {
145
- if(in_array($word, $match_arr)) {
146
- return true;
147
- }
148
- }
149
 
150
- return false;
151
- }
152
 
 
153
 
154
- public function is_test($is_test = false) {
155
- if($is_test === true){
156
- $this->check_interval = 1;
157
- }
158
 
159
- return $this;
160
- }
 
 
 
161
 
 
 
162
 
163
- public function set_text_domain($text_domain) {
164
- $this->text_domain = $text_domain;
165
 
166
- return $this;
167
- }
 
 
168
 
 
 
169
 
170
- public function set_filter($filter_string) {
171
- $this->filter_string = $filter_string;
172
- if(!empty($filter_string)) {
173
 
174
- $filter = explode(',', $this->filter_string);
 
175
 
176
- foreach ($filter as $id => $item) {
177
- $this->filter_array[$id] = trim($item);
178
- }
179
  }
180
 
181
- return $this;
182
- }
183
 
 
 
 
 
 
 
 
 
 
 
 
 
 
184
 
185
- public function set_api_url($url) {
186
- $this->api_url = $url;
187
-
188
- return $this;
189
- }
190
 
191
- public function set_plugin_screens($screen) {
192
- $this->plugin_screens[] = $screen;
 
 
 
193
 
194
- return $this;
195
- }
196
 
 
 
197
 
198
- private function get_data() {
199
- $this->data = get_option($this->text_domain . '__banner_data');
200
- $this->data = $this->data == '' ? [] : $this->data;
201
 
202
- $this->last_check = get_option($this->text_domain . '__banner_last_check');
203
- $this->last_check = $this->last_check == '' ? 0 : $this->last_check;
 
204
 
205
- if(($this->check_interval + $this->last_check) < time()){
206
- $response = wp_remote_get( $this->api_url . '/cache/'.$this->text_domain.'.json?nocache='.time(),
207
- [
208
- 'timeout' => 10,
209
- 'httpversion' => '1.1',
210
- ]
211
- );
212
-
213
- if(!is_wp_error($response) && isset($response['body']) && $response['body'] != ''){
214
 
215
- $response = json_decode($response['body']);
 
 
 
 
 
 
 
 
 
216
 
217
- if(!empty($response)) {
218
- $this->data = $response;
219
- update_option($this->text_domain . '__banner_last_check', time());
220
- update_option($this->text_domain . '__banner_data', $this->data);
221
- }
222
 
223
- return;
224
- }
225
- }
226
- }
 
227
 
 
 
 
 
228
 
229
- public function is_correct_screen_to_show($b_screen, $screen_id) {
230
 
231
- if(in_array($b_screen, [$screen_id, 'all_page'])) {
232
- return true;
233
- }
234
 
 
 
 
235
 
236
- if($b_screen == 'plugin_page') {
237
- return in_array($screen_id, $this->plugin_screens);
238
- }
239
 
240
- return false;
241
- }
242
 
243
- private static $instance;
244
 
245
- public static function instance($text_domain = '') {
246
 
247
- self::$instance = new static();
248
- return self::$instance->set_text_domain($text_domain);
249
- }
250
- }
251
 
252
  endif;
3
 
4
  defined( 'ABSPATH' ) || exit;
5
 
6
+ if ( ! class_exists( '\Wpmet\Libs\Banner' ) ) :
7
+
8
+ class Banner {
9
+
10
+ protected $script_version = '2.1.0';
11
+
12
+ protected $key = 'wpmet_banner';
13
+ protected $data;
14
+ protected $last_check;
15
+ protected $check_interval = ( 3600 * 6 );
16
+
17
+ protected $plugin_screens;
18
+
19
+ protected $text_domain;
20
+ protected $filter_string;
21
+ protected $filter_array = array();
22
+ protected $api_url;
23
+
24
+
25
+ public function get_version() {
26
+ return $this->script_version;
27
+ }
28
+
29
+ public function get_script_location() {
30
+ return __FILE__;
31
+ }
32
+
33
+ public function call() {
34
+ add_action( 'admin_head', array( $this, 'display_content' ) );
 
 
 
 
 
 
 
35
  }
36
+
37
+ public function display_content() {
38
+ $this->get_data();
39
 
40
+ if ( ! empty( $this->data->error ) ) {
41
+ return;
 
 
 
 
 
 
42
  }
43
 
44
+ if ( empty( $this->data ) ) {
45
+ return;
46
+ }
47
+
48
+ foreach ( $this->data as $content ) {
49
+
50
+ if ( ! empty( $this->filter_array ) && $this->in_blacklist( $content, $this->filter_array ) ) {
51
+ continue;
52
+ }
53
+
54
+ if ( $content->start <= time() && time() <= $content->end ) {
55
+ $screen = get_current_screen();
56
+ if ( $this->is_correct_screen_to_show( $content->screen, $screen->id ) && class_exists( '\Oxaim\Libs\Notice' ) ) {
57
+
58
+ $inline_css = '';
59
+ $banner_unique_id = ( ( isset( $content->data->unique_key ) && $content->data->unique_key != '' ) ? $content->data->unique_key : $content->id );
60
+
61
+ if ( ! empty( $content->data->style_css ) ) {
62
+ $inline_css = ' style="' . $content->data->style_css . '"';
63
+ }
64
+
65
+ $instance = \Oxaim\Libs\Notice::instance( 'wpmet-jhanda', $banner_unique_id )
66
+ ->set_dismiss( 'global', ( 3600 * 24 * 15 ) );
67
+
68
+ if ( $content->type == 'banner' ) {
69
+ $this->init_banner( $content, $instance, $inline_css );
70
+ }
71
+
72
+ if ( $content->type == 'notice' ) {
73
+ $this->init_notice( $content, $instance, $inline_css );
74
+ }
75
+ }
76
+ }
77
+ }
78
  }
79
+
80
+
81
+ private function init_notice( $content, $instance, $inline_css ) {
82
+
83
+ $instance->set_message( $content->data->notice_body );
84
+
85
+ if ( $content->data->notice_image != '' ) {
86
+ $instance->set_logo( $content->data->notice_image );
87
+ }
88
+ if ( $content->data->button_text != '' ) {
89
+ $instance->set_button(
90
+ array(
91
+ 'default_class' => 'button',
92
+ 'class' => 'button-secondary button-small', // button-primary button-secondary button-small button-large button-link
93
+ 'text' => $content->data->button_text,
94
+ 'url' => $content->data->button_link,
95
+ )
96
+ );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
97
  }
98
+ $instance->call();
99
+ }
100
+
101
+ private function init_banner( $content, $instance, $inline_css ) {
102
+
103
+ $html = '<a target="_blank" ' . $inline_css . ' class="wpmet-jhanda-href" href="' . $content->data->banner_link . '"><img style="display: block;margin: 0 auto;" src="' . $content->data->banner_image . '" /></a>';
104
+
105
+ $instance->set_gutter( false )
106
+ ->set_html( $html )
107
+ ->call();
108
  }
109
+
110
 
111
+ private function in_whitelist( $conf, $list ) {
112
+
113
+ $match = $conf->data->whitelist;
114
 
115
+ if ( empty( $match ) ) {
116
+ return true;
117
+ };
118
 
119
+ $match_arr = explode( ',', $match );
120
 
121
+ foreach ( $list as $word ) {
122
+ if ( in_array( $word, $match_arr ) ) {
123
+ return true;
124
+ }
125
+ }
126
 
 
127
  return false;
128
+ }
129
 
 
130
 
131
+ private function in_blacklist( $conf, $list ) {
132
 
133
+ $match = $conf->data->blacklist;
 
134
 
135
+ if ( empty( $match ) ) {
136
+ return false;
137
+ };
 
 
138
 
139
+ $match_arr = explode( ',', $match );
 
140
 
141
+ foreach ( $match_arr as $idx => $item ) {
142
 
143
+ $match_arr[ $idx ] = trim( $item );
144
+ }
 
 
145
 
146
+ foreach ( $list as $word ) {
147
+ if ( in_array( $word, $match_arr ) ) {
148
+ return true;
149
+ }
150
+ }
151
 
152
+ return false;
153
+ }
154
 
 
 
155
 
156
+ public function is_test( $is_test = false ) {
157
+ if ( $is_test === true ) {
158
+ $this->check_interval = 1;
159
+ }
160
 
161
+ return $this;
162
+ }
163
 
 
 
 
164
 
165
+ public function set_text_domain( $text_domain ) {
166
+ $this->text_domain = $text_domain;
167
 
168
+ return $this;
 
 
169
  }
170
 
 
 
171
 
172
+ public function set_filter( $filter_string ) {
173
+ $this->filter_string = $filter_string;
174
+ if ( ! empty( $filter_string ) ) {
175
+
176
+ $filter = explode( ',', $this->filter_string );
177
+
178
+ foreach ( $filter as $id => $item ) {
179
+ $this->filter_array[ $id ] = trim( $item );
180
+ }
181
+ }
182
+
183
+ return $this;
184
+ }
185
 
 
 
 
 
 
186
 
187
+ public function set_api_url( $url ) {
188
+ $this->api_url = $url;
189
+
190
+ return $this;
191
+ }
192
 
193
+ public function set_plugin_screens( $screen ) {
194
+ $this->plugin_screens[] = $screen;
195
 
196
+ return $this;
197
+ }
198
 
 
 
 
199
 
200
+ private function get_data() {
201
+ $this->data = get_option( $this->text_domain . '__banner_data' );
202
+ $this->data = $this->data == '' ? array() : $this->data;
203
 
204
+ $this->last_check = get_option( $this->text_domain . '__banner_last_check' );
205
+ $this->last_check = $this->last_check == '' ? 0 : $this->last_check;
 
 
 
 
 
 
 
206
 
207
+ if ( ( $this->check_interval + $this->last_check ) < time() ) {
208
+ $response = wp_remote_get(
209
+ $this->api_url . '/cache/' . $this->text_domain . '.json?nocache=' . time(),
210
+ array(
211
+ 'timeout' => 10,
212
+ 'httpversion' => '1.1',
213
+ )
214
+ );
215
+
216
+ if ( ! is_wp_error( $response ) && isset( $response['body'] ) && $response['body'] != '' ) {
217
 
218
+ $response = json_decode( $response['body'] );
 
 
 
 
219
 
220
+ if ( ! empty( $response ) ) {
221
+ $this->data = $response;
222
+ update_option( $this->text_domain . '__banner_last_check', time() );
223
+ update_option( $this->text_domain . '__banner_data', $this->data );
224
+ }
225
 
226
+ return;
227
+ }
228
+ }
229
+ }
230
 
 
231
 
232
+ public function is_correct_screen_to_show( $b_screen, $screen_id ) {
 
 
233
 
234
+ if ( in_array( $b_screen, array( $screen_id, 'all_page' ) ) ) {
235
+ return true;
236
+ }
237
 
238
+ if ( $b_screen == 'plugin_page' ) {
239
+ return in_array( $screen_id, $this->plugin_screens );
240
+ }
241
 
242
+ return false;
243
+ }
244
 
245
+ private static $instance;
246
 
247
+ public static function instance( $text_domain = '' ) {
248
 
249
+ self::$instance = new static();
250
+ return self::$instance->set_text_domain( $text_domain );
251
+ }
252
+ }
253
 
254
  endif;
libs/framework/assets/css/admin-style.css CHANGED
@@ -1 +1 @@
1
- .attr-carousel-inner>.attr-item>a>img,.attr-carousel-inner>.attr-item>img,.attr-img-responsive,.attr-thumbnail a>img,.attr-thumbnail>img{display:block;max-width:100%;height:auto}.attr-img-rounded{border-radius:6px}.attr-img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.attr-img-circle{border-radius:50%}.attr-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.attr-sr-only-focusable:active,.attr-sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.attr-h1,.attr-h2,.attr-h3,.attr-h4,.attr-h5,.attr-h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.attr-h1 .attr-small,.attr-h1 small,.attr-h2 .attr-small,.attr-h2 small,.attr-h3 .attr-small,.attr-h3 small,.attr-h4 .attr-small,.attr-h4 small,.attr-h5 .attr-small,.attr-h5 small,.attr-h6 .attr-small,.attr-h6 small,h1 .attr-small,h2 .attr-small,h3 .attr-small,h4 .attr-small,h5 .attr-small,h6 .attr-small{font-weight:400;line-height:1;color:#777}.attr-h1,.attr-h2,.attr-h3{margin-top:20px;margin-bottom:10px}.attr-h1 .attr-small,.attr-h1 small,.attr-h2 .attr-small,.attr-h2 small,.attr-h3 .attr-small,.attr-h3 small,h1 .attr-small,h2 .attr-small,h3 .attr-small{font-size:65%}.attr-h4,.attr-h5,.attr-h6{margin-top:10px;margin-bottom:10px}.attr-h4 .attr-small,.attr-h4 small,.attr-h5 .attr-small,.attr-h5 small,.attr-h6 .attr-small,.attr-h6 small,h4 .attr-small,h5 .attr-small,h6 .attr-small{font-size:75%}.attr-h1{font-size:36px}.attr-h2{font-size:30px}.attr-h3{font-size:24px}.attr-h4{font-size:18px}.attr-h5{font-size:14px}.attr-h6{font-size:12px}.attr-lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.attr-lead{font-size:21px}}.attr-small{font-size:85%}.attr-mark{padding:.2em;background-color:#fcf8e3}.attr-text-left{text-align:left}.attr-text-right{text-align:right}.attr-text-center{text-align:center}.attr-text-justify{text-align:justify}.attr-text-nowrap{white-space:nowrap}.attr-text-lowercase{text-transform:lowercase}.attr-text-uppercase{text-transform:uppercase}.attr-text-capitalize{text-transform:capitalize}.attr-text-muted{color:#777}.attr-text-primary{color:#337ab7}a.attr-text-primary:focus,a.attr-text-primary:hover{color:#286090}.attr-text-success{color:#3c763d}a.attr-text-success:focus,a.attr-text-success:hover{color:#2b542c}.attr-text-info{color:#31708f}a.attr-text-info:focus,a.attr-text-info:hover{color:#245269}.attr-text-warning{color:#8a6d3b}a.attr-text-warning:focus,a.attr-text-warning:hover{color:#66512c}.attr-text-danger{color:#a94442}a.attr-text-danger:focus,a.attr-text-danger:hover{color:#843534}.attr-bg-primary{color:#fff;background-color:#337ab7}a.attr-bg-primary:focus,a.attr-bg-primary:hover{background-color:#286090}.attr-bg-success{background-color:#dff0d8}a.attr-bg-success:focus,a.attr-bg-success:hover{background-color:#c1e2b3}.attr-bg-info{background-color:#d9edf7}a.attr-bg-info:focus,a.attr-bg-info:hover{background-color:#afd9ee}.attr-bg-warning{background-color:#fcf8e3}a.attr-bg-warning:focus,a.attr-bg-warning:hover{background-color:#f7ecb5}.attr-bg-danger{background-color:#f2dede}a.attr-bg-danger:focus,a.attr-bg-danger:hover{background-color:#e4b9b9}.attr-page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}.attr-list-unstyled{padding-left:0;list-style:none}.attr-list-inline{padding-left:0;margin-left:-5px;list-style:none}.attr-list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}@media (min-width:768px){.attr-dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.attr-dl-horizontal dd{margin-left:180px}}.attr-initialism{font-size:90%;text-transform:uppercase}.attr-pre-scrollable{max-height:340px;overflow-y:scroll}.attr-container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.attr-container{width:750px}}@media (min-width:992px){.attr-container{width:970px}}@media (min-width:1200px){.attr-container{width:1170px}}.attr-container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.attr-row{margin-right:-15px;margin-left:-15px}.attr-col-lg-1,.attr-col-lg-10,.attr-col-lg-11,.attr-col-lg-12,.attr-col-lg-2,.attr-col-lg-3,.attr-col-lg-4,.attr-col-lg-5,.attr-col-lg-6,.attr-col-lg-7,.attr-col-lg-8,.attr-col-lg-9,.attr-col-md-1,.attr-col-md-10,.attr-col-md-11,.attr-col-md-12,.attr-col-md-2,.attr-col-md-3,.attr-col-md-4,.attr-col-md-5,.attr-col-md-6,.attr-col-md-7,.attr-col-md-8,.attr-col-md-9,.attr-col-sm-1,.attr-col-sm-10,.attr-col-sm-11,.attr-col-sm-12,.attr-col-sm-2,.attr-col-sm-3,.attr-col-sm-4,.attr-col-sm-5,.attr-col-sm-6,.attr-col-sm-7,.attr-col-sm-8,.attr-col-sm-9,.attr-col-xs-1,.attr-col-xs-10,.attr-col-xs-11,.attr-col-xs-12,.attr-col-xs-2,.attr-col-xs-3,.attr-col-xs-4,.attr-col-xs-5,.attr-col-xs-6,.attr-col-xs-7,.attr-col-xs-8,.attr-col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.attr-col-xs-1,.attr-col-xs-10,.attr-col-xs-11,.attr-col-xs-12,.attr-col-xs-2,.attr-col-xs-3,.attr-col-xs-4,.attr-col-xs-5,.attr-col-xs-6,.attr-col-xs-7,.attr-col-xs-8,.attr-col-xs-9{float:left}.attr-col-xs-12{width:100%}.attr-col-xs-11{width:91.66666667%}.attr-col-xs-10{width:83.33333333%}.attr-col-xs-9{width:75%}.attr-col-xs-8{width:66.66666667%}.attr-col-xs-7{width:58.33333333%}.attr-col-xs-6{width:50%}.attr-col-xs-5{width:41.66666667%}.attr-col-xs-4{width:33.33333333%}.attr-col-xs-3{width:25%}.attr-col-xs-2{width:16.66666667%}.attr-col-xs-1{width:8.33333333%}.attr-col-xs-pull-12{right:100%}.attr-col-xs-pull-11{right:91.66666667%}.attr-col-xs-pull-10{right:83.33333333%}.attr-col-xs-pull-9{right:75%}.attr-col-xs-pull-8{right:66.66666667%}.attr-col-xs-pull-7{right:58.33333333%}.attr-col-xs-pull-6{right:50%}.attr-col-xs-pull-5{right:41.66666667%}.attr-col-xs-pull-4{right:33.33333333%}.attr-col-xs-pull-3{right:25%}.attr-col-xs-pull-2{right:16.66666667%}.attr-col-xs-pull-1{right:8.33333333%}.attr-col-xs-pull-0{right:auto}.attr-col-xs-push-12{left:100%}.attr-col-xs-push-11{left:91.66666667%}.attr-col-xs-push-10{left:83.33333333%}.attr-col-xs-push-9{left:75%}.attr-col-xs-push-8{left:66.66666667%}.attr-col-xs-push-7{left:58.33333333%}.attr-col-xs-push-6{left:50%}.attr-col-xs-push-5{left:41.66666667%}.attr-col-xs-push-4{left:33.33333333%}.attr-col-xs-push-3{left:25%}.attr-col-xs-push-2{left:16.66666667%}.attr-col-xs-push-1{left:8.33333333%}.attr-col-xs-push-0{left:auto}.attr-col-xs-offset-12{margin-left:100%}.attr-col-xs-offset-11{margin-left:91.66666667%}.attr-col-xs-offset-10{margin-left:83.33333333%}.attr-col-xs-offset-9{margin-left:75%}.attr-col-xs-offset-8{margin-left:66.66666667%}.attr-col-xs-offset-7{margin-left:58.33333333%}.attr-col-xs-offset-6{margin-left:50%}.attr-col-xs-offset-5{margin-left:41.66666667%}.attr-col-xs-offset-4{margin-left:33.33333333%}.attr-col-xs-offset-3{margin-left:25%}.attr-col-xs-offset-2{margin-left:16.66666667%}.attr-col-xs-offset-1{margin-left:8.33333333%}.attr-col-xs-offset-0{margin-left:0}@media (min-width:768px){.attr-col-sm-1,.attr-col-sm-10,.attr-col-sm-11,.attr-col-sm-12,.attr-col-sm-2,.attr-col-sm-3,.attr-col-sm-4,.attr-col-sm-5,.attr-col-sm-6,.attr-col-sm-7,.attr-col-sm-8,.attr-col-sm-9{float:left}.attr-col-sm-12{width:100%}.attr-col-sm-11{width:91.66666667%}.attr-col-sm-10{width:83.33333333%}.attr-col-sm-9{width:75%}.attr-col-sm-8{width:66.66666667%}.attr-col-sm-7{width:58.33333333%}.attr-col-sm-6{width:50%}.attr-col-sm-5{width:41.66666667%}.attr-col-sm-4{width:33.33333333%}.attr-col-sm-3{width:25%}.attr-col-sm-2{width:16.66666667%}.attr-col-sm-1{width:8.33333333%}.attr-col-sm-pull-12{right:100%}.attr-col-sm-pull-11{right:91.66666667%}.attr-col-sm-pull-10{right:83.33333333%}.attr-col-sm-pull-9{right:75%}.attr-col-sm-pull-8{right:66.66666667%}.attr-col-sm-pull-7{right:58.33333333%}.attr-col-sm-pull-6{right:50%}.attr-col-sm-pull-5{right:41.66666667%}.attr-col-sm-pull-4{right:33.33333333%}.attr-col-sm-pull-3{right:25%}.attr-col-sm-pull-2{right:16.66666667%}.attr-col-sm-pull-1{right:8.33333333%}.attr-col-sm-pull-0{right:auto}.attr-col-sm-push-12{left:100%}.attr-col-sm-push-11{left:91.66666667%}.attr-col-sm-push-10{left:83.33333333%}.attr-col-sm-push-9{left:75%}.attr-col-sm-push-8{left:66.66666667%}.attr-col-sm-push-7{left:58.33333333%}.attr-col-sm-push-6{left:50%}.attr-col-sm-push-5{left:41.66666667%}.attr-col-sm-push-4{left:33.33333333%}.attr-col-sm-push-3{left:25%}.attr-col-sm-push-2{left:16.66666667%}.attr-col-sm-push-1{left:8.33333333%}.attr-col-sm-push-0{left:auto}.attr-col-sm-offset-12{margin-left:100%}.attr-col-sm-offset-11{margin-left:91.66666667%}.attr-col-sm-offset-10{margin-left:83.33333333%}.attr-col-sm-offset-9{margin-left:75%}.attr-col-sm-offset-8{margin-left:66.66666667%}.attr-col-sm-offset-7{margin-left:58.33333333%}.attr-col-sm-offset-6{margin-left:50%}.attr-col-sm-offset-5{margin-left:41.66666667%}.attr-col-sm-offset-4{margin-left:33.33333333%}.attr-col-sm-offset-3{margin-left:25%}.attr-col-sm-offset-2{margin-left:16.66666667%}.attr-col-sm-offset-1{margin-left:8.33333333%}.attr-col-sm-offset-0{margin-left:0}}@media (min-width:992px){.attr-col-md-1,.attr-col-md-10,.attr-col-md-11,.attr-col-md-12,.attr-col-md-2,.attr-col-md-3,.attr-col-md-4,.attr-col-md-5,.attr-col-md-6,.attr-col-md-7,.attr-col-md-8,.attr-col-md-9{float:left}.attr-col-md-12{width:100%}.attr-col-md-11{width:91.66666667%}.attr-col-md-10{width:83.33333333%}.attr-col-md-9{width:75%}.attr-col-md-8{width:66.66666667%}.attr-col-md-7{width:58.33333333%}.attr-col-md-6{width:50%}.attr-col-md-5{width:41.66666667%}.attr-col-md-4{width:33.33333333%}.attr-col-md-3{width:25%}.attr-col-md-2{width:16.66666667%}.attr-col-md-1{width:8.33333333%}.attr-col-md-pull-12{right:100%}.attr-col-md-pull-11{right:91.66666667%}.attr-col-md-pull-10{right:83.33333333%}.attr-col-md-pull-9{right:75%}.attr-col-md-pull-8{right:66.66666667%}.attr-col-md-pull-7{right:58.33333333%}.attr-col-md-pull-6{right:50%}.attr-col-md-pull-5{right:41.66666667%}.attr-col-md-pull-4{right:33.33333333%}.attr-col-md-pull-3{right:25%}.attr-col-md-pull-2{right:16.66666667%}.attr-col-md-pull-1{right:8.33333333%}.attr-col-md-pull-0{right:auto}.attr-col-md-push-12{left:100%}.attr-col-md-push-11{left:91.66666667%}.attr-col-md-push-10{left:83.33333333%}.attr-col-md-push-9{left:75%}.attr-col-md-push-8{left:66.66666667%}.attr-col-md-push-7{left:58.33333333%}.attr-col-md-push-6{left:50%}.attr-col-md-push-5{left:41.66666667%}.attr-col-md-push-4{left:33.33333333%}.attr-col-md-push-3{left:25%}.attr-col-md-push-2{left:16.66666667%}.attr-col-md-push-1{left:8.33333333%}.attr-col-md-push-0{left:auto}.attr-col-md-offset-12{margin-left:100%}.attr-col-md-offset-11{margin-left:91.66666667%}.attr-col-md-offset-10{margin-left:83.33333333%}.attr-col-md-offset-9{margin-left:75%}.attr-col-md-offset-8{margin-left:66.66666667%}.attr-col-md-offset-7{margin-left:58.33333333%}.attr-col-md-offset-6{margin-left:50%}.attr-col-md-offset-5{margin-left:41.66666667%}.attr-col-md-offset-4{margin-left:33.33333333%}.attr-col-md-offset-3{margin-left:25%}.attr-col-md-offset-2{margin-left:16.66666667%}.attr-col-md-offset-1{margin-left:8.33333333%}.attr-col-md-offset-0{margin-left:0}}@media (min-width:1200px){.attr-col-lg-1,.attr-col-lg-10,.attr-col-lg-11,.attr-col-lg-12,.attr-col-lg-2,.attr-col-lg-3,.attr-col-lg-4,.attr-col-lg-5,.attr-col-lg-6,.attr-col-lg-7,.attr-col-lg-8,.attr-col-lg-9{float:left}.attr-col-lg-12{width:100%}.attr-col-lg-11{width:91.66666667%}.attr-col-lg-10{width:83.33333333%}.attr-col-lg-9{width:75%}.attr-col-lg-8{width:66.66666667%}.attr-col-lg-7{width:58.33333333%}.attr-col-lg-6{width:50%}.attr-col-lg-5{width:41.66666667%}.attr-col-lg-4{width:33.33333333%}.attr-col-lg-3{width:25%}.attr-col-lg-2{width:16.66666667%}.attr-col-lg-1{width:8.33333333%}.attr-col-lg-pull-12{right:100%}.attr-col-lg-pull-11{right:91.66666667%}.attr-col-lg-pull-10{right:83.33333333%}.attr-col-lg-pull-9{right:75%}.attr-col-lg-pull-8{right:66.66666667%}.attr-col-lg-pull-7{right:58.33333333%}.attr-col-lg-pull-6{right:50%}.attr-col-lg-pull-5{right:41.66666667%}.attr-col-lg-pull-4{right:33.33333333%}.attr-col-lg-pull-3{right:25%}.attr-col-lg-pull-2{right:16.66666667%}.attr-col-lg-pull-1{right:8.33333333%}.attr-col-lg-pull-0{right:auto}.attr-col-lg-push-12{left:100%}.attr-col-lg-push-11{left:91.66666667%}.attr-col-lg-push-10{left:83.33333333%}.attr-col-lg-push-9{left:75%}.attr-col-lg-push-8{left:66.66666667%}.attr-col-lg-push-7{left:58.33333333%}.attr-col-lg-push-6{left:50%}.attr-col-lg-push-5{left:41.66666667%}.attr-col-lg-push-4{left:33.33333333%}.attr-col-lg-push-3{left:25%}.attr-col-lg-push-2{left:16.66666667%}.attr-col-lg-push-1{left:8.33333333%}.attr-col-lg-push-0{left:auto}.attr-col-lg-offset-12{margin-left:100%}.attr-col-lg-offset-11{margin-left:91.66666667%}.attr-col-lg-offset-10{margin-left:83.33333333%}.attr-col-lg-offset-9{margin-left:75%}.attr-col-lg-offset-8{margin-left:66.66666667%}.attr-col-lg-offset-7{margin-left:58.33333333%}.attr-col-lg-offset-6{margin-left:50%}.attr-col-lg-offset-5{margin-left:41.66666667%}.attr-col-lg-offset-4{margin-left:33.33333333%}.attr-col-lg-offset-3{margin-left:25%}.attr-col-lg-offset-2{margin-left:16.66666667%}.attr-col-lg-offset-1{margin-left:8.33333333%}.attr-col-lg-offset-0{margin-left:0}}.attr-table{width:100%;max-width:100%;margin-bottom:20px}.attr-table>tbody>tr>td,.attr-table>tbody>tr>th,.attr-table>tfoot>tr>td,.attr-table>tfoot>tr>th,.attr-table>thead>tr>td,.attr-table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.attr-table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.attr-table>caption+thead>tr:first-child>td,.attr-table>caption+thead>tr:first-child>th,.attr-table>colgroup+thead>tr:first-child>td,.attr-table>colgroup+thead>tr:first-child>th,.attr-table>thead:first-child>tr:first-child>td,.attr-table>thead:first-child>tr:first-child>th{border-top:0}.attr-table>tbody+tbody{border-top:2px solid #ddd}.attr-table .attr-table{background-color:#fff}.attr-table-condensed>tbody>tr>td,.attr-table-condensed>tbody>tr>th,.attr-table-condensed>tfoot>tr>td,.attr-table-condensed>tfoot>tr>th,.attr-table-condensed>thead>tr>td,.attr-table-condensed>thead>tr>th{padding:5px}.attr-table-bordered{border:1px solid #ddd}.attr-table-bordered>tbody>tr>td,.attr-table-bordered>tbody>tr>th,.attr-table-bordered>tfoot>tr>td,.attr-table-bordered>tfoot>tr>th,.attr-table-bordered>thead>tr>td,.attr-table-bordered>thead>tr>th{border:1px solid #ddd}.attr-table-bordered>thead>tr>td,.attr-table-bordered>thead>tr>th{border-bottom-width:2px}.attr-table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.attr-table-hover>tbody>tr:hover{background-color:#f5f5f5}.attr-table>tbody>tr.attr-active>td,.attr-table>tbody>tr.attr-active>th,.attr-table>tbody>tr>td.attr-active,.attr-table>tbody>tr>th.attr-active,.attr-table>tfoot>tr.attr-active>td,.attr-table>tfoot>tr.attr-active>th,.attr-table>tfoot>tr>td.attr-active,.attr-table>tfoot>tr>th.attr-active,.attr-table>thead>tr.attr-active>td,.attr-table>thead>tr.attr-active>th,.attr-table>thead>tr>td.attr-active,.attr-table>thead>tr>th.attr-active{background-color:#f5f5f5}.attr-table-hover>tbody>tr.attr-active:hover>td,.attr-table-hover>tbody>tr.attr-active:hover>th,.attr-table-hover>tbody>tr:hover>.attr-active,.attr-table-hover>tbody>tr>td.attr-active:hover,.attr-table-hover>tbody>tr>th.attr-active:hover{background-color:#e8e8e8}.attr-table>tbody>tr.attr-success>td,.attr-table>tbody>tr.attr-success>th,.attr-table>tbody>tr>td.attr-success,.attr-table>tbody>tr>th.attr-success,.attr-table>tfoot>tr.attr-success>td,.attr-table>tfoot>tr.attr-success>th,.attr-table>tfoot>tr>td.attr-success,.attr-table>tfoot>tr>th.attr-success,.attr-table>thead>tr.attr-success>td,.attr-table>thead>tr.attr-success>th,.attr-table>thead>tr>td.attr-success,.attr-table>thead>tr>th.attr-success{background-color:#dff0d8}.attr-table-hover>tbody>tr.attr-success:hover>td,.attr-table-hover>tbody>tr.attr-success:hover>th,.attr-table-hover>tbody>tr:hover>.attr-success,.attr-table-hover>tbody>tr>td.attr-success:hover,.attr-table-hover>tbody>tr>th.attr-success:hover{background-color:#d0e9c6}.attr-table>tbody>tr.attr-info>td,.attr-table>tbody>tr.attr-info>th,.attr-table>tbody>tr>td.attr-info,.attr-table>tbody>tr>th.attr-info,.attr-table>tfoot>tr.attr-info>td,.attr-table>tfoot>tr.attr-info>th,.attr-table>tfoot>tr>td.attr-info,.attr-table>tfoot>tr>th.attr-info,.attr-table>thead>tr.attr-info>td,.attr-table>thead>tr.attr-info>th,.attr-table>thead>tr>td.attr-info,.attr-table>thead>tr>th.attr-info{background-color:#d9edf7}.attr-table-hover>tbody>tr.attr-info:hover>td,.attr-table-hover>tbody>tr.attr-info:hover>th,.attr-table-hover>tbody>tr:hover>.attr-info,.attr-table-hover>tbody>tr>td.attr-info:hover,.attr-table-hover>tbody>tr>th.attr-info:hover{background-color:#c4e3f3}.attr-table>tbody>tr.attr-warning>td,.attr-table>tbody>tr.attr-warning>th,.attr-table>tbody>tr>td.attr-warning,.attr-table>tbody>tr>th.attr-warning,.attr-table>tfoot>tr.attr-warning>td,.attr-table>tfoot>tr.attr-warning>th,.attr-table>tfoot>tr>td.attr-warning,.attr-table>tfoot>tr>th.attr-warning,.attr-table>thead>tr.attr-warning>td,.attr-table>thead>tr.attr-warning>th,.attr-table>thead>tr>td.attr-warning,.attr-table>thead>tr>th.attr-warning{background-color:#fcf8e3}.attr-table-hover>tbody>tr.attr-warning:hover>td,.attr-table-hover>tbody>tr.attr-warning:hover>th,.attr-table-hover>tbody>tr:hover>.attr-warning,.attr-table-hover>tbody>tr>td.attr-warning:hover,.attr-table-hover>tbody>tr>th.attr-warning:hover{background-color:#faf2cc}.attr-table>tbody>tr.attr-danger>td,.attr-table>tbody>tr.attr-danger>th,.attr-table>tbody>tr>td.attr-danger,.attr-table>tbody>tr>th.attr-danger,.attr-table>tfoot>tr.attr-danger>td,.attr-table>tfoot>tr.attr-danger>th,.attr-table>tfoot>tr>td.attr-danger,.attr-table>tfoot>tr>th.attr-danger,.attr-table>thead>tr.attr-danger>td,.attr-table>thead>tr.attr-danger>th,.attr-table>thead>tr>td.attr-danger,.attr-table>thead>tr>th.attr-danger{background-color:#f2dede}.attr-table-hover>tbody>tr.attr-danger:hover>td,.attr-table-hover>tbody>tr.attr-danger:hover>th,.attr-table-hover>tbody>tr:hover>.attr-danger,.attr-table-hover>tbody>tr>td.attr-danger:hover,.attr-table-hover>tbody>tr>th.attr-danger:hover{background-color:#ebcccc}.attr-table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.attr-table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.attr-table-responsive>.attr-table{margin-bottom:0}.attr-table-responsive>.attr-table>tbody>tr>td,.attr-table-responsive>.attr-table>tbody>tr>th,.attr-table-responsive>.attr-table>tfoot>tr>td,.attr-table-responsive>.attr-table>tfoot>tr>th,.attr-table-responsive>.attr-table>thead>tr>td,.attr-table-responsive>.attr-table>thead>tr>th{white-space:nowrap}.attr-table-responsive>.attr-table-bordered{border:0}.attr-table-responsive>.attr-table-bordered>tbody>tr>td:first-child,.attr-table-responsive>.attr-table-bordered>tbody>tr>th:first-child,.attr-table-responsive>.attr-table-bordered>tfoot>tr>td:first-child,.attr-table-responsive>.attr-table-bordered>tfoot>tr>th:first-child,.attr-table-responsive>.attr-table-bordered>thead>tr>td:first-child,.attr-table-responsive>.attr-table-bordered>thead>tr>th:first-child{border-left:0}.attr-table-responsive>.attr-table-bordered>tbody>tr>td:last-child,.attr-table-responsive>.attr-table-bordered>tbody>tr>th:last-child,.attr-table-responsive>.attr-table-bordered>tfoot>tr>td:last-child,.attr-table-responsive>.attr-table-bordered>tfoot>tr>th:last-child,.attr-table-responsive>.attr-table-bordered>thead>tr>td:last-child,.attr-table-responsive>.attr-table-bordered>thead>tr>th:last-child{border-right:0}.attr-table-responsive>.attr-table-bordered>tbody>tr:last-child>td,.attr-table-responsive>.attr-table-bordered>tbody>tr:last-child>th,.attr-table-responsive>.attr-table-bordered>tfoot>tr:last-child>td,.attr-table-responsive>.attr-table-bordered>tfoot>tr:last-child>th{border-bottom:0}}.attr-form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s,-webkit-box-shadow ease-in-out .15s}.attr-form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.attr-form-control::-moz-placeholder{color:#999;opacity:1}.attr-form-control:-ms-input-placeholder{color:#999}.attr-form-control::-webkit-input-placeholder{color:#999}.attr-form-control::-ms-expand{background-color:transparent;border:0}.attr-form-control[disabled],.attr-form-control[readonly],fieldset[disabled] .attr-form-control{background-color:#eee;opacity:1}.attr-form-control[disabled],fieldset[disabled] .attr-form-control{cursor:not-allowed}textarea.attr-form-control{height:auto}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].attr-form-control,input[type=datetime-local].attr-form-control,input[type=month].attr-form-control,input[type=time].attr-form-control{line-height:34px}.attr-input-group-sm input[type=date],.attr-input-group-sm input[type=datetime-local],.attr-input-group-sm input[type=month],.attr-input-group-sm input[type=time],input[type=date].attr-input-sm,input[type=datetime-local].attr-input-sm,input[type=month].attr-input-sm,input[type=time].attr-input-sm{line-height:30px}.attr-input-group-lg input[type=date],.attr-input-group-lg input[type=datetime-local],.attr-input-group-lg input[type=month],.attr-input-group-lg input[type=time],input[type=date].attr-input-lg,input[type=datetime-local].attr-input-lg,input[type=month].attr-input-lg,input[type=time].attr-input-lg{line-height:46px}}.attr-form-group{margin-bottom:15px}.attr-checkbox,.attr-radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.attr-checkbox label,.attr-radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.attr-checkbox input[type=checkbox],.attr-checkbox-inline input[type=checkbox],.attr-radio input[type=radio],.attr-radio-inline input[type=radio]{position:absolute;margin-left:-20px}.attr-checkbox+.attr-checkbox,.attr-radio+.attr-radio{margin-top:-5px}.attr-checkbox-inline,.attr-radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.attr-checkbox-inline+.attr-checkbox-inline,.attr-radio-inline+.attr-radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].attr-disabled,input[type=checkbox][disabled],input[type=radio].attr-disabled,input[type=radio][disabled]{cursor:not-allowed}.attr-checkbox-inline.attr-disabled,.attr-radio-inline.attr-disabled,fieldset[disabled] .attr-checkbox-inline,fieldset[disabled] .attr-radio-inline{cursor:not-allowed}.attr-checkbox.attr-disabled label,.attr-radio.attr-disabled label,fieldset[disabled] .attr-checkbox label,fieldset[disabled] .attr-radio label{cursor:not-allowed}.attr-form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.attr-form-control-static.attr-input-lg,.attr-form-control-static.attr-input-sm{padding-right:0;padding-left:0}.attr-input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.attr-input-sm{height:30px;line-height:30px}select[multiple].attr-input-sm,textarea.attr-input-sm{height:auto}.attr-form-group-sm .attr-form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.attr-form-group-sm select.attr-form-control{height:30px;line-height:30px}.attr-form-group-sm select[multiple].attr-form-control,.attr-form-group-sm textarea.attr-form-control{height:auto}.attr-form-group-sm .attr-form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.attr-input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.attr-input-lg{height:46px;line-height:46px}select[multiple].attr-input-lg,textarea.attr-input-lg{height:auto}.attr-form-group-lg .attr-form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.attr-form-group-lg select.attr-form-control{height:46px;line-height:46px}.attr-form-group-lg select[multiple].attr-form-control,.attr-form-group-lg textarea.attr-form-control{height:auto}.attr-form-group-lg .attr-form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.attr-has-feedback{position:relative}.attr-has-feedback .attr-form-control{padding-right:42.5px}.attr-form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.attr-form-group-lg .attr-form-control+.attr-form-control-feedback,.attr-input-group-lg+.attr-form-control-feedback,.attr-input-lg+.attr-form-control-feedback{width:46px;height:46px;line-height:46px}.attr-form-group-sm .attr-form-control+.attr-form-control-feedback,.attr-input-group-sm+.attr-form-control-feedback,.attr-input-sm+.attr-form-control-feedback{width:30px;height:30px;line-height:30px}.attr-has-success .attr-checkbox,.attr-has-success .attr-checkbox-inline,.attr-has-success .attr-control-label,.attr-has-success .attr-help-block,.attr-has-success .attr-radio,.attr-has-success .attr-radio-inline,.attr-has-success.attr-checkbox label,.attr-has-success.attr-checkbox-inline label,.attr-has-success.attr-radio label,.attr-has-success.attr-radio-inline label{color:#3c763d}.attr-has-success .attr-form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.attr-has-success .attr-form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.attr-has-success .attr-input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.attr-has-success .attr-form-control-feedback{color:#3c763d}.attr-has-warning .attr-checkbox,.attr-has-warning .attr-checkbox-inline,.attr-has-warning .attr-control-label,.attr-has-warning .attr-help-block,.attr-has-warning .attr-radio,.attr-has-warning .attr-radio-inline,.attr-has-warning.attr-checkbox label,.attr-has-warning.attr-checkbox-inline label,.attr-has-warning.attr-radio label,.attr-has-warning.attr-radio-inline label{color:#8a6d3b}.attr-has-warning .attr-form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.attr-has-warning .attr-form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.attr-has-warning .attr-input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.attr-has-warning .attr-form-control-feedback{color:#8a6d3b}.attr-has-error .attr-checkbox,.attr-has-error .attr-checkbox-inline,.attr-has-error .attr-control-label,.attr-has-error .attr-help-block,.attr-has-error .attr-radio,.attr-has-error .attr-radio-inline,.attr-has-error.attr-checkbox label,.attr-has-error.attr-checkbox-inline label,.attr-has-error.attr-radio label,.attr-has-error.attr-radio-inline label{color:#a94442}.attr-has-error .attr-form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.attr-has-error .attr-form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.attr-has-error .attr-input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.attr-has-error .attr-form-control-feedback{color:#a94442}.attr-has-feedback label~.attr-form-control-feedback{top:25px}.attr-has-feedback label.attr-sr-only~.attr-form-control-feedback{top:0}.attr-help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.attr-form-inline .attr-form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.attr-form-inline .attr-form-control{display:inline-block;width:auto;vertical-align:middle}.attr-form-inline .attr-form-control-static{display:inline-block}.attr-form-inline .attr-input-group{display:inline-table;vertical-align:middle}.attr-form-inline .attr-input-group .attr-form-control,.attr-form-inline .attr-input-group .attr-input-group-addon,.attr-form-inline .attr-input-group .attr-input-group-btn{width:auto}.attr-form-inline .attr-input-group>.attr-form-control{width:100%}.attr-form-inline .attr-control-label{margin-bottom:0;vertical-align:middle}.attr-form-inline .attr-checkbox,.attr-form-inline .attr-radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.attr-form-inline .attr-checkbox label,.attr-form-inline .attr-radio label{padding-left:0}.attr-form-inline .attr-checkbox input[type=checkbox],.attr-form-inline .attr-radio input[type=radio]{position:relative;margin-left:0}.attr-form-inline .attr-has-feedback .attr-form-control-feedback{top:0}}.attr-form-horizontal .attr-checkbox,.attr-form-horizontal .attr-checkbox-inline,.attr-form-horizontal .attr-radio,.attr-form-horizontal .attr-radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.attr-form-horizontal .attr-checkbox,.attr-form-horizontal .attr-radio{min-height:27px}.attr-form-horizontal .attr-form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.attr-form-horizontal .attr-control-label{padding-top:7px;margin-bottom:0;text-align:right}}.attr-form-horizontal .attr-has-feedback .attr-form-control-feedback{right:15px}@media (min-width:768px){.attr-form-horizontal .attr-form-group-lg .attr-control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.attr-form-horizontal .attr-form-group-sm .attr-control-label{padding-top:6px;font-size:12px}}.attr-btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.attr-btn.attr-active.attr-focus,.attr-btn.attr-active:focus,.attr-btn.attr-focus,.attr-btn:active.attr-focus,.attr-btn:active:focus,.attr-btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.attr-btn.attr-focus,.attr-btn:focus,.attr-btn:hover{color:#333;text-decoration:none}.attr-btn.attr-active,.attr-btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.attr-btn.attr-disabled,.attr-btn[disabled],fieldset[disabled] .attr-btn{cursor:not-allowed;-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.attr-btn.attr-disabled,fieldset[disabled] a.attr-btn{pointer-events:none}.attr-btn-default{color:#333;background-color:#fff;border-color:#ccc}.attr-btn-default.attr-focus,.attr-btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.attr-btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.attr-btn-default.attr-active,.attr-btn-default:active,.attr-open>.attr-dropdown-toggle.attr-btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.attr-btn-default.attr-active.attr-focus,.attr-btn-default.attr-active:focus,.attr-btn-default.attr-active:hover,.attr-btn-default:active.attr-focus,.attr-btn-default:active:focus,.attr-btn-default:active:hover,.attr-open>.attr-dropdown-toggle.attr-btn-default.attr-focus,.attr-open>.attr-dropdown-toggle.attr-btn-default:focus,.attr-open>.attr-dropdown-toggle.attr-btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.attr-btn-default.attr-active,.attr-btn-default:active,.attr-open>.attr-dropdown-toggle.attr-btn-default{background-image:none}.attr-btn-default.attr-disabled.attr-focus,.attr-btn-default.attr-disabled:focus,.attr-btn-default.attr-disabled:hover,.attr-btn-default[disabled].attr-focus,.attr-btn-default[disabled]:focus,.attr-btn-default[disabled]:hover,fieldset[disabled] .attr-btn-default.attr-focus,fieldset[disabled] .attr-btn-default:focus,fieldset[disabled] .attr-btn-default:hover{background-color:#fff;border-color:#ccc}.attr-btn-default .attr-badge{color:#fff;background-color:#333}.attr-btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.attr-btn-primary.attr-focus,.attr-btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.attr-btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.attr-btn-primary.attr-active,.attr-btn-primary:active,.attr-open>.attr-dropdown-toggle.attr-btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.attr-btn-primary.attr-active.attr-focus,.attr-btn-primary.attr-active:focus,.attr-btn-primary.attr-active:hover,.attr-btn-primary:active.attr-focus,.attr-btn-primary:active:focus,.attr-btn-primary:active:hover,.attr-open>.attr-dropdown-toggle.attr-btn-primary.attr-focus,.attr-open>.attr-dropdown-toggle.attr-btn-primary:focus,.attr-open>.attr-dropdown-toggle.attr-btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.attr-btn-primary.attr-active,.attr-btn-primary:active,.attr-open>.attr-dropdown-toggle.attr-btn-primary{background-image:none}.attr-btn-primary.attr-disabled.attr-focus,.attr-btn-primary.attr-disabled:focus,.attr-btn-primary.attr-disabled:hover,.attr-btn-primary[disabled].attr-focus,.attr-btn-primary[disabled]:focus,.attr-btn-primary[disabled]:hover,fieldset[disabled] .attr-btn-primary.attr-focus,fieldset[disabled] .attr-btn-primary:focus,fieldset[disabled] .attr-btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.attr-btn-primary .attr-badge{color:#337ab7;background-color:#fff}.attr-btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.attr-btn-success.attr-focus,.attr-btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.attr-btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.attr-btn-success.attr-active,.attr-btn-success:active,.attr-open>.attr-dropdown-toggle.attr-btn-success{color:#fff;background-color:#449d44;border-color:#398439}.attr-btn-success.attr-active.attr-focus,.attr-btn-success.attr-active:focus,.attr-btn-success.attr-active:hover,.attr-btn-success:active.attr-focus,.attr-btn-success:active:focus,.attr-btn-success:active:hover,.attr-open>.attr-dropdown-toggle.attr-btn-success.attr-focus,.attr-open>.attr-dropdown-toggle.attr-btn-success:focus,.attr-open>.attr-dropdown-toggle.attr-btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.attr-btn-success.attr-active,.attr-btn-success:active,.attr-open>.attr-dropdown-toggle.attr-btn-success{background-image:none}.attr-btn-success.attr-disabled.attr-focus,.attr-btn-success.attr-disabled:focus,.attr-btn-success.attr-disabled:hover,.attr-btn-success[disabled].attr-focus,.attr-btn-success[disabled]:focus,.attr-btn-success[disabled]:hover,fieldset[disabled] .attr-btn-success.attr-focus,fieldset[disabled] .attr-btn-success:focus,fieldset[disabled] .attr-btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.attr-btn-success .attr-badge{color:#5cb85c;background-color:#fff}.attr-btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.attr-btn-info.attr-focus,.attr-btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.attr-btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.attr-btn-info.attr-active,.attr-btn-info:active,.attr-open>.attr-dropdown-toggle.attr-btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.attr-btn-info.attr-active.attr-focus,.attr-btn-info.attr-active:focus,.attr-btn-info.attr-active:hover,.attr-btn-info:active.attr-focus,.attr-btn-info:active:focus,.attr-btn-info:active:hover,.attr-open>.attr-dropdown-toggle.attr-btn-info.attr-focus,.attr-open>.attr-dropdown-toggle.attr-btn-info:focus,.attr-open>.attr-dropdown-toggle.attr-btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.attr-btn-info.attr-active,.attr-btn-info:active,.attr-open>.attr-dropdown-toggle.attr-btn-info{background-image:none}.attr-btn-info.attr-disabled.attr-focus,.attr-btn-info.attr-disabled:focus,.attr-btn-info.attr-disabled:hover,.attr-btn-info[disabled].attr-focus,.attr-btn-info[disabled]:focus,.attr-btn-info[disabled]:hover,fieldset[disabled] .attr-btn-info.attr-focus,fieldset[disabled] .attr-btn-info:focus,fieldset[disabled] .attr-btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.attr-btn-info .attr-badge{color:#5bc0de;background-color:#fff}.attr-btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.attr-btn-warning.attr-focus,.attr-btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.attr-btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.attr-btn-warning.attr-active,.attr-btn-warning:active,.attr-open>.attr-dropdown-toggle.attr-btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.attr-btn-warning.attr-active.attr-focus,.attr-btn-warning.attr-active:focus,.attr-btn-warning.attr-active:hover,.attr-btn-warning:active.attr-focus,.attr-btn-warning:active:focus,.attr-btn-warning:active:hover,.attr-open>.attr-dropdown-toggle.attr-btn-warning.attr-focus,.attr-open>.attr-dropdown-toggle.attr-btn-warning:focus,.attr-open>.attr-dropdown-toggle.attr-btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.attr-btn-warning.attr-active,.attr-btn-warning:active,.attr-open>.attr-dropdown-toggle.attr-btn-warning{background-image:none}.attr-btn-warning.attr-disabled.attr-focus,.attr-btn-warning.attr-disabled:focus,.attr-btn-warning.attr-disabled:hover,.attr-btn-warning[disabled].attr-focus,.attr-btn-warning[disabled]:focus,.attr-btn-warning[disabled]:hover,fieldset[disabled] .attr-btn-warning.attr-focus,fieldset[disabled] .attr-btn-warning:focus,fieldset[disabled] .attr-btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.attr-btn-warning .attr-badge{color:#f0ad4e;background-color:#fff}.attr-btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.attr-btn-danger.attr-focus,.attr-btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.attr-btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.attr-btn-danger.attr-active,.attr-btn-danger:active,.attr-open>.attr-dropdown-toggle.attr-btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.attr-btn-danger.attr-active.attr-focus,.attr-btn-danger.attr-active:focus,.attr-btn-danger.attr-active:hover,.attr-btn-danger:active.attr-focus,.attr-btn-danger:active:focus,.attr-btn-danger:active:hover,.attr-open>.attr-dropdown-toggle.attr-btn-danger.attr-focus,.attr-open>.attr-dropdown-toggle.attr-btn-danger:focus,.attr-open>.attr-dropdown-toggle.attr-btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.attr-btn-danger.attr-active,.attr-btn-danger:active,.attr-open>.attr-dropdown-toggle.attr-btn-danger{background-image:none}.attr-btn-danger.attr-disabled.attr-focus,.attr-btn-danger.attr-disabled:focus,.attr-btn-danger.attr-disabled:hover,.attr-btn-danger[disabled].attr-focus,.attr-btn-danger[disabled]:focus,.attr-btn-danger[disabled]:hover,fieldset[disabled] .attr-btn-danger.attr-focus,fieldset[disabled] .attr-btn-danger:focus,fieldset[disabled] .attr-btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.attr-btn-danger .attr-badge{color:#d9534f;background-color:#fff}.attr-btn-link{font-weight:400;color:#337ab7;border-radius:0}.attr-btn-link,.attr-btn-link.attr-active,.attr-btn-link:active,.attr-btn-link[disabled],fieldset[disabled] .attr-btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.attr-btn-link,.attr-btn-link:active,.attr-btn-link:focus,.attr-btn-link:hover{border-color:transparent}.attr-btn-link:focus,.attr-btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.attr-btn-link[disabled]:focus,.attr-btn-link[disabled]:hover,fieldset[disabled] .attr-btn-link:focus,fieldset[disabled] .attr-btn-link:hover{color:#777;text-decoration:none}.attr-btn-group-lg>.attr-btn,.attr-btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.attr-btn-group-sm>.attr-btn,.attr-btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.attr-btn-group-xs>.attr-btn,.attr-btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.attr-btn-block{display:block;width:100%}.attr-btn-block+.attr-btn-block{margin-top:5px}input[type=button].attr-btn-block,input[type=reset].attr-btn-block,input[type=submit].attr-btn-block{width:100%}.attr-fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.attr-fade.attr-in,.attr-fade.in{opacity:1}.attr-collapse{display:none}.attr-collapse.attr-in{display:block}tr.attr-collapse.attr-in{display:table-row}tbody.attr-collapse.attr-in{display:table-row-group}.attr-collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;transition-property:height,visibility}.attr-caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-right:4px solid transparent;border-left:4px solid transparent}.attr-dropdown,.attr-dropup{position:relative}.attr-dropdown-toggle:focus{outline:0}.attr-dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.attr-dropdown-menu.attr-pull-right{right:0;left:auto}.attr-dropdown-menu .attr-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.attr-dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.attr-dropdown-menu>li>a:focus,.attr-dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.attr-dropdown-menu>.attr-active>a,.attr-dropdown-menu>.attr-active>a:focus,.attr-dropdown-menu>.attr-active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.attr-dropdown-menu>.attr-disabled>a,.attr-dropdown-menu>.attr-disabled>a:focus,.attr-dropdown-menu>.attr-disabled>a:hover{color:#777}.attr-dropdown-menu>.attr-disabled>a:focus,.attr-dropdown-menu>.attr-disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none}.attr-open>.attr-dropdown-menu{display:block}.attr-open>a{outline:0}.attr-dropdown-menu-right{right:0;left:auto}.attr-dropdown-menu-left{right:auto;left:0}.attr-dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.attr-dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.attr-pull-right>.attr-dropdown-menu{right:0;left:auto}.attr-dropup .attr-caret,.attr-navbar-fixed-bottom .attr-dropdown .attr-caret{content:"";border-top:0;border-bottom:4px dashed}.attr-dropup .attr-dropdown-menu,.attr-navbar-fixed-bottom .attr-dropdown .attr-dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.attr-navbar-right .attr-dropdown-menu{right:0;left:auto}.attr-navbar-right .attr-dropdown-menu-left{right:auto;left:0}}.attr-btn-group,.attr-btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.attr-btn-group-vertical>.attr-btn,.attr-btn-group>.attr-btn{position:relative;float:left}.attr-btn-group-vertical>.attr-btn.attr-active,.attr-btn-group-vertical>.attr-btn:active,.attr-btn-group-vertical>.attr-btn:focus,.attr-btn-group-vertical>.attr-btn:hover,.attr-btn-group>.attr-btn.attr-active,.attr-btn-group>.attr-btn:active,.attr-btn-group>.attr-btn:focus,.attr-btn-group>.attr-btn:hover{z-index:2}.attr-btn-group .attr-btn+.attr-btn,.attr-btn-group .attr-btn+.attr-btn-group,.attr-btn-group .attr-btn-group+.attr-btn,.attr-btn-group .attr-btn-group+.attr-btn-group{margin-left:-1px}.attr-btn-toolbar{margin-left:-5px}.attr-btn-toolbar .attr-btn,.attr-btn-toolbar .attr-btn-group,.attr-btn-toolbar .attr-input-group{float:left}.attr-btn-toolbar>.attr-btn,.attr-btn-toolbar>.attr-btn-group,.attr-btn-toolbar>.attr-input-group{margin-left:5px}.attr-btn-group>.attr-btn:not(:first-child):not(:last-child):not(.attr-dropdown-toggle){border-radius:0}.attr-btn-group>.attr-btn:first-child{margin-left:0}.attr-btn-group>.attr-btn:first-child:not(:last-child):not(.attr-dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.attr-btn-group>.attr-btn:last-child:not(:first-child),.attr-btn-group>.attr-dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.attr-btn-group>.attr-btn-group{float:left}.attr-btn-group>.attr-btn-group:not(:first-child):not(:last-child)>.attr-btn{border-radius:0}.attr-btn-group>.attr-btn-group:first-child:not(:last-child)>.attr-btn:last-child,.attr-btn-group>.attr-btn-group:first-child:not(:last-child)>.attr-dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.attr-btn-group>.attr-btn-group:last-child:not(:first-child)>.attr-btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.attr-btn-group .attr-dropdown-toggle:active,.attr-btn-group.attr-open .attr-dropdown-toggle{outline:0}.attr-btn-group>.attr-btn+.attr-dropdown-toggle{padding-right:8px;padding-left:8px}.attr-btn-group>.attr-btn-lg+.attr-dropdown-toggle{padding-right:12px;padding-left:12px}.attr-btn-group.attr-open .attr-dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.attr-btn-group.attr-open .attr-dropdown-toggle.attr-btn-link{-webkit-box-shadow:none;box-shadow:none}.attr-btn .attr-caret{margin-left:0}.attr-btn-lg .attr-caret{border-width:5px 5px 0;border-bottom-width:0}.attr-dropup .attr-btn-lg .attr-caret{border-width:0 5px 5px}.attr-btn-group-vertical>.attr-btn,.attr-btn-group-vertical>.attr-btn-group,.attr-btn-group-vertical>.attr-btn-group>.attr-btn{display:block;float:none;width:100%;max-width:100%}.attr-btn-group-vertical>.attr-btn-group>.attr-btn{float:none}.attr-btn-group-vertical>.attr-btn+.attr-btn,.attr-btn-group-vertical>.attr-btn+.attr-btn-group,.attr-btn-group-vertical>.attr-btn-group+.attr-btn,.attr-btn-group-vertical>.attr-btn-group+.attr-btn-group{margin-top:-1px;margin-left:0}.attr-btn-group-vertical>.attr-btn:not(:first-child):not(:last-child){border-radius:0}.attr-btn-group-vertical>.attr-btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.attr-btn-group-vertical>.attr-btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.attr-btn-group-vertical>.attr-btn-group:not(:first-child):not(:last-child)>.attr-btn{border-radius:0}.attr-btn-group-vertical>.attr-btn-group:first-child:not(:last-child)>.attr-btn:last-child,.attr-btn-group-vertical>.attr-btn-group:first-child:not(:last-child)>.attr-dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.attr-btn-group-vertical>.attr-btn-group:last-child:not(:first-child)>.attr-btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.attr-btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.attr-btn-group-justified>.attr-btn,.attr-btn-group-justified>.attr-btn-group{display:table-cell;float:none;width:1%}.attr-btn-group-justified>.attr-btn-group .attr-btn{width:100%}.attr-btn-group-justified>.attr-btn-group .attr-dropdown-menu{left:auto}[data-attr-toggle=buttons]>.attr-btn input[type=checkbox],[data-attr-toggle=buttons]>.attr-btn input[type=radio],[data-attr-toggle=buttons]>.attr-btn-group>.attr-btn input[type=checkbox],[data-attr-toggle=buttons]>.attr-btn-group>.attr-btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.attr-input-group{position:relative;display:table;border-collapse:separate}.attr-input-group[class*=attr-col-]{float:none;padding-right:0;padding-left:0}.attr-input-group .attr-form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.attr-input-group .attr-form-control:focus{z-index:3}.attr-input-group-lg>.attr-form-control,.attr-input-group-lg>.attr-input-group-addon,.attr-input-group-lg>.attr-input-group-btn>.attr-btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.attr-input-group-lg>.attr-form-control,select.attr-input-group-lg>.attr-input-group-addon,select.attr-input-group-lg>.attr-input-group-btn>.attr-btn{height:46px;line-height:46px}select[multiple].attr-input-group-lg>.attr-form-control,select[multiple].attr-input-group-lg>.attr-input-group-addon,select[multiple].attr-input-group-lg>.attr-input-group-btn>.attr-btn,textarea.attr-input-group-lg>.attr-form-control,textarea.attr-input-group-lg>.attr-input-group-addon,textarea.attr-input-group-lg>.attr-input-group-btn>.attr-btn{height:auto}.attr-input-group-sm>.attr-form-control,.attr-input-group-sm>.attr-input-group-addon,.attr-input-group-sm>.attr-input-group-btn>.attr-btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.attr-input-group-sm>.attr-form-control,select.attr-input-group-sm>.attr-input-group-addon,select.attr-input-group-sm>.attr-input-group-btn>.attr-btn{height:30px;line-height:30px}select[multiple].attr-input-group-sm>.attr-form-control,select[multiple].attr-input-group-sm>.attr-input-group-addon,select[multiple].attr-input-group-sm>.attr-input-group-btn>.attr-btn,textarea.attr-input-group-sm>.attr-form-control,textarea.attr-input-group-sm>.attr-input-group-addon,textarea.attr-input-group-sm>.attr-input-group-btn>.attr-btn{height:auto}.attr-input-group .attr-form-control,.attr-input-group-addon,.attr-input-group-btn{display:table-cell}.attr-input-group .attr-form-control:not(:first-child):not(:last-child),.attr-input-group-addon:not(:first-child):not(:last-child),.attr-input-group-btn:not(:first-child):not(:last-child){border-radius:0}.attr-input-group-addon,.attr-input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.attr-input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.attr-input-group-addon.attr-input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.attr-input-group-addon.attr-input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.attr-input-group-addon input[type=checkbox],.attr-input-group-addon input[type=radio]{margin-top:0}.attr-input-group .attr-form-control:first-child,.attr-input-group-addon:first-child,.attr-input-group-btn:first-child>.attr-btn,.attr-input-group-btn:first-child>.attr-btn-group>.attr-btn,.attr-input-group-btn:first-child>.attr-dropdown-toggle,.attr-input-group-btn:last-child>.attr-btn-group:not(:last-child)>.attr-btn,.attr-input-group-btn:last-child>.attr-btn:not(:last-child):not(.attr-dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.attr-input-group-addon:first-child{border-right:0}.attr-input-group .attr-form-control:last-child,.attr-input-group-addon:last-child,.attr-input-group-btn:first-child>.attr-btn-group:not(:first-child)>.attr-btn,.attr-input-group-btn:first-child>.attr-btn:not(:first-child),.attr-input-group-btn:last-child>.attr-btn,.attr-input-group-btn:last-child>.attr-btn-group>.attr-btn,.attr-input-group-btn:last-child>.attr-dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.attr-input-group-addon:last-child{border-left:0}.attr-input-group-btn{position:relative;font-size:0;white-space:nowrap}.attr-input-group-btn>.attr-btn{position:relative}.attr-input-group-btn>.attr-btn+.attr-btn{margin-left:-1px}.attr-input-group-btn>.attr-btn:active,.attr-input-group-btn>.attr-btn:focus,.attr-input-group-btn>.attr-btn:hover{z-index:2}.attr-input-group-btn:first-child>.attr-btn,.attr-input-group-btn:first-child>.attr-btn-group{margin-right:-1px}.attr-input-group-btn:last-child>.attr-btn,.attr-input-group-btn:last-child>.attr-btn-group{z-index:2;margin-left:-1px}.attr-nav{padding-left:0;margin-bottom:0;list-style:none}.attr-nav>li{position:relative;display:block}.attr-nav>li>a{position:relative;display:block;padding:10px 15px}.attr-nav>li>a:focus,.attr-nav>li>a:hover{text-decoration:none;background-color:#eee}.attr-nav>li.attr-disabled>a{color:#777}.attr-nav>li.attr-disabled>a:focus,.attr-nav>li.attr-disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.attr-nav .attr-open>a,.attr-nav .attr-open>a:focus,.attr-nav .attr-open>a:hover{background-color:#eee;border-color:#337ab7}.attr-nav .attr-nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.attr-nav>li>a>img{max-width:none}.attr-nav-tabs{border-bottom:1px solid #ddd}.attr-nav-tabs>li{float:left;margin-bottom:-1px}.attr-nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.attr-nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.attr-nav-tabs.attr-nav-justified{width:100%;border-bottom:0}.attr-nav-tabs.attr-nav-justified>li{float:none}.attr-nav-tabs.attr-nav-justified>li>a{margin-bottom:5px;text-align:center}.attr-nav-tabs.attr-nav-justified>.attr-dropdown .attr-dropdown-menu{top:auto;left:auto}@media (min-width:768px){.attr-nav-tabs.attr-nav-justified>li{display:table-cell;width:1%}.attr-nav-tabs.attr-nav-justified>li>a{margin-bottom:0}}.attr-nav-tabs.attr-nav-justified>li>a{margin-right:0;border-radius:4px}.attr-nav-tabs.attr-nav-justified>.attr-active>a,.attr-nav-tabs.attr-nav-justified>.attr-active>a:focus,.attr-nav-tabs.attr-nav-justified>.attr-active>a:hover{border:1px solid #ddd}@media (min-width:768px){.attr-nav-tabs.attr-nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.attr-nav-tabs.attr-nav-justified>.attr-active>a,.attr-nav-tabs.attr-nav-justified>.attr-active>a:focus,.attr-nav-tabs.attr-nav-justified>.attr-active>a:hover{border-bottom-color:#fff}}.attr-nav-pills>li{float:left}.attr-nav-pills>li>a{border-radius:4px}.attr-nav-pills>li+li{margin-left:2px}.attr-nav-pills>li.attr-active>a,.attr-nav-pills>li.attr-active>a:focus,.attr-nav-pills>li.attr-active>a:hover{color:#fff;background-color:#337ab7}.attr-nav-stacked>li{float:none}.attr-nav-stacked>li+li{margin-top:2px;margin-left:0}.attr-nav-justified{width:100%}.attr-nav-justified>li{float:none}.attr-nav-justified>li>a{margin-bottom:5px;text-align:center}.attr-nav-justified>.attr-dropdown .attr-dropdown-menu{top:auto;left:auto}@media (min-width:768px){.attr-nav-justified>li{display:table-cell;width:1%}.attr-nav-justified>li>a{margin-bottom:0}}.attr-nav-tabs-justified{border-bottom:0}.attr-nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.attr-nav-tabs-justified>.attr-active>a,.attr-nav-tabs-justified>.attr-active>a:focus,.attr-nav-tabs-justified>.attr-active>a:hover{border:1px solid #ddd}@media (min-width:768px){.attr-nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.attr-nav-tabs-justified>.attr-active>a,.attr-nav-tabs-justified>.attr-active>a:focus,.attr-nav-tabs-justified>.attr-active>a:hover{border-bottom-color:#fff}}.attr-tab-content>.attr-tab-pane{display:none}.attr-tab-content>.attr-active{display:block}.attr-nav-tabs .attr-dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.attr-navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.attr-navbar{border-radius:4px}}@media (min-width:768px){.attr-navbar-header{float:left}}.attr-navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.attr-navbar-collapse.attr-in{overflow-y:auto}@media (min-width:768px){.attr-navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.attr-navbar-collapse.attr-collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.attr-navbar-collapse.attr-in{overflow-y:visible}.attr-navbar-fixed-bottom .attr-navbar-collapse,.attr-navbar-fixed-top .attr-navbar-collapse,.attr-navbar-static-top .attr-navbar-collapse{padding-right:0;padding-left:0}}.attr-navbar-fixed-bottom .attr-navbar-collapse,.attr-navbar-fixed-top .attr-navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.attr-navbar-fixed-bottom .attr-navbar-collapse,.attr-navbar-fixed-top .attr-navbar-collapse{max-height:200px}}.attr-container-fluid>.attr-navbar-collapse,.attr-container-fluid>.attr-navbar-header,.attr-container>.attr-navbar-collapse,.attr-container>.attr-navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.attr-container-fluid>.attr-navbar-collapse,.attr-container-fluid>.attr-navbar-header,.attr-container>.attr-navbar-collapse,.attr-container>.attr-navbar-header{margin-right:0;margin-left:0}}.attr-navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.attr-navbar-static-top{border-radius:0}}.attr-navbar-fixed-bottom,.attr-navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.attr-navbar-fixed-bottom,.attr-navbar-fixed-top{border-radius:0}}.attr-navbar-fixed-top{top:0;border-width:0 0 1px}.attr-navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.attr-navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.attr-navbar-brand:focus,.attr-navbar-brand:hover{text-decoration:none}.attr-navbar-brand>img{display:block}@media (min-width:768px){.attr-navbar>.attr-container .attr-navbar-brand,.attr-navbar>.attr-container-fluid .attr-navbar-brand{margin-left:-15px}}.attr-navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.attr-navbar-toggle:focus{outline:0}.attr-navbar-toggle .attr-icon-bar{display:block;width:22px;height:2px;border-radius:1px}.attr-navbar-toggle .attr-icon-bar+.attr-icon-bar{margin-top:4px}@media (min-width:768px){.attr-navbar-toggle{display:none}}.attr-navbar-nav{margin:7.5px -15px}.attr-navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.attr-navbar-nav .attr-open .attr-dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.attr-navbar-nav .attr-open .attr-dropdown-menu .attr-dropdown-header,.attr-navbar-nav .attr-open .attr-dropdown-menu>li>a{padding:5px 15px 5px 25px}.attr-navbar-nav .attr-open .attr-dropdown-menu>li>a{line-height:20px}.attr-navbar-nav .attr-open .attr-dropdown-menu>li>a:focus,.attr-navbar-nav .attr-open .attr-dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.attr-navbar-nav{float:left;margin:0}.attr-navbar-nav>li{float:left}.attr-navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.attr-navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.attr-navbar-form .attr-form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.attr-navbar-form .attr-form-control{display:inline-block;width:auto;vertical-align:middle}.attr-navbar-form .attr-form-control-static{display:inline-block}.attr-navbar-form .attr-input-group{display:inline-table;vertical-align:middle}.attr-navbar-form .attr-input-group .attr-form-control,.attr-navbar-form .attr-input-group .attr-input-group-addon,.attr-navbar-form .attr-input-group .attr-input-group-btn{width:auto}.attr-navbar-form .attr-input-group>.attr-form-control{width:100%}.attr-navbar-form .attr-control-label{margin-bottom:0;vertical-align:middle}.attr-navbar-form .attr-checkbox,.attr-navbar-form .attr-radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.attr-navbar-form .attr-checkbox label,.attr-navbar-form .attr-radio label{padding-left:0}.attr-navbar-form .attr-checkbox input[type=checkbox],.attr-navbar-form .attr-radio input[type=radio]{position:relative;margin-left:0}.attr-navbar-form .attr-has-feedback .attr-form-control-feedback{top:0}}@media (max-width:767px){.attr-navbar-form .attr-form-group{margin-bottom:5px}.attr-navbar-form .attr-form-group:last-child{margin-bottom:0}}@media (min-width:768px){.attr-navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.attr-navbar-nav>li>.attr-dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.attr-navbar-fixed-bottom .attr-navbar-nav>li>.attr-dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.attr-navbar-btn{margin-top:8px;margin-bottom:8px}.attr-navbar-btn.attr-btn-sm{margin-top:10px;margin-bottom:10px}.attr-navbar-btn.attr-btn-xs{margin-top:14px;margin-bottom:14px}.attr-navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.attr-navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.attr-navbar-left{float:left!important}.attr-navbar-right{float:right!important;margin-right:-15px}.attr-navbar-right~.attr-navbar-right{margin-right:0}}.attr-navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.attr-navbar-default .attr-navbar-brand{color:#777}.attr-navbar-default .attr-navbar-brand:focus,.attr-navbar-default .attr-navbar-brand:hover{color:#5e5e5e;background-color:transparent}.attr-navbar-default .attr-navbar-text{color:#777}.attr-navbar-default .attr-navbar-nav>li>a{color:#777}.attr-navbar-default .attr-navbar-nav>li>a:focus,.attr-navbar-default .attr-navbar-nav>li>a:hover{color:#333;background-color:transparent}.attr-navbar-default .attr-navbar-nav>.attr-active>a,.attr-navbar-default .attr-navbar-nav>.attr-active>a:focus,.attr-navbar-default .attr-navbar-nav>.attr-active>a:hover{color:#555;background-color:#e7e7e7}.attr-navbar-default .attr-navbar-nav>.attr-disabled>a,.attr-navbar-default .attr-navbar-nav>.attr-disabled>a:focus,.attr-navbar-default .attr-navbar-nav>.attr-disabled>a:hover{color:#ccc;background-color:transparent}.attr-navbar-default .attr-navbar-toggle{border-color:#ddd}.attr-navbar-default .attr-navbar-toggle:focus,.attr-navbar-default .attr-navbar-toggle:hover{background-color:#ddd}.attr-navbar-default .attr-navbar-toggle .attr-icon-bar{background-color:#888}.attr-navbar-default .attr-navbar-collapse,.attr-navbar-default .attr-navbar-form{border-color:#e7e7e7}.attr-navbar-default .attr-navbar-nav>.attr-open>a,.attr-navbar-default .attr-navbar-nav>.attr-open>a:focus,.attr-navbar-default .attr-navbar-nav>.attr-open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.attr-navbar-default .attr-navbar-nav .attr-open .attr-dropdown-menu>li>a{color:#777}.attr-navbar-default .attr-navbar-nav .attr-open .attr-dropdown-menu>li>a:focus,.attr-navbar-default .attr-navbar-nav .attr-open .attr-dropdown-menu>li>a:hover{color:#333;background-color:transparent}.attr-navbar-default .attr-navbar-nav .attr-open .attr-dropdown-menu>.attr-active>a,.attr-navbar-default .attr-navbar-nav .attr-open .attr-dropdown-menu>.attr-active>a:focus,.attr-navbar-default .attr-navbar-nav .attr-open .attr-dropdown-menu>.attr-active>a:hover{color:#555;background-color:#e7e7e7}.attr-navbar-default .attr-navbar-nav .attr-open .attr-dropdown-menu>.attr-disabled>a,.attr-navbar-default .attr-navbar-nav .attr-open .attr-dropdown-menu>.attr-disabled>a:focus,.attr-navbar-default .attr-navbar-nav .attr-open .attr-dropdown-menu>.attr-disabled>a:hover{color:#ccc;background-color:transparent}}.attr-navbar-default .attr-navbar-link{color:#777}.attr-navbar-default .attr-navbar-link:hover{color:#333}.attr-navbar-default .attr-btn-link{color:#777}.attr-navbar-default .attr-btn-link:focus,.attr-navbar-default .attr-btn-link:hover{color:#333}.attr-navbar-default .attr-btn-link[disabled]:focus,.attr-navbar-default .attr-btn-link[disabled]:hover,fieldset[disabled] .attr-navbar-default .attr-btn-link:focus,fieldset[disabled] .attr-navbar-default .attr-btn-link:hover{color:#ccc}.attr-navbar-inverse{background-color:#222;border-color:#080808}.attr-navbar-inverse .attr-navbar-brand{color:#9d9d9d}.attr-navbar-inverse .attr-navbar-brand:focus,.attr-navbar-inverse .attr-navbar-brand:hover{color:#fff;background-color:transparent}.attr-navbar-inverse .attr-navbar-text{color:#9d9d9d}.attr-navbar-inverse .attr-navbar-nav>li>a{color:#9d9d9d}.attr-navbar-inverse .attr-navbar-nav>li>a:focus,.attr-navbar-inverse .attr-navbar-nav>li>a:hover{color:#fff;background-color:transparent}.attr-navbar-inverse .attr-navbar-nav>.attr-active>a,.attr-navbar-inverse .attr-navbar-nav>.attr-active>a:focus,.attr-navbar-inverse .attr-navbar-nav>.attr-active>a:hover{color:#fff;background-color:#080808}.attr-navbar-inverse .attr-navbar-nav>.attr-disabled>a,.attr-navbar-inverse .attr-navbar-nav>.attr-disabled>a:focus,.attr-navbar-inverse .attr-navbar-nav>.attr-disabled>a:hover{color:#444;background-color:transparent}.attr-navbar-inverse .attr-navbar-toggle{border-color:#333}.attr-navbar-inverse .attr-navbar-toggle:focus,.attr-navbar-inverse .attr-navbar-toggle:hover{background-color:#333}.attr-navbar-inverse .attr-navbar-toggle .attr-icon-bar{background-color:#fff}.attr-navbar-inverse .attr-navbar-collapse,.attr-navbar-inverse .attr-navbar-form{border-color:#101010}.attr-navbar-inverse .attr-navbar-nav>.attr-open>a,.attr-navbar-inverse .attr-navbar-nav>.attr-open>a:focus,.attr-navbar-inverse .attr-navbar-nav>.attr-open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.attr-navbar-inverse .attr-navbar-nav .attr-open .attr-dropdown-menu>.attr-dropdown-header{border-color:#080808}.attr-navbar-inverse .attr-navbar-nav .attr-open .attr-dropdown-menu .attr-divider{background-color:#080808}.attr-navbar-inverse .attr-navbar-nav .attr-open .attr-dropdown-menu>li>a{color:#9d9d9d}.attr-navbar-inverse .attr-navbar-nav .attr-open .attr-dropdown-menu>li>a:focus,.attr-navbar-inverse .attr-navbar-nav .attr-open .attr-dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.attr-navbar-inverse .attr-navbar-nav .attr-open .attr-dropdown-menu>.attr-active>a,.attr-navbar-inverse .attr-navbar-nav .attr-open .attr-dropdown-menu>.attr-active>a:focus,.attr-navbar-inverse .attr-navbar-nav .attr-open .attr-dropdown-menu>.attr-active>a:hover{color:#fff;background-color:#080808}.attr-navbar-inverse .attr-navbar-nav .attr-open .attr-dropdown-menu>.attr-disabled>a,.attr-navbar-inverse .attr-navbar-nav .attr-open .attr-dropdown-menu>.attr-disabled>a:focus,.attr-navbar-inverse .attr-navbar-nav .attr-open .attr-dropdown-menu>.attr-disabled>a:hover{color:#444;background-color:transparent}}.attr-navbar-inverse .attr-navbar-link{color:#9d9d9d}.attr-navbar-inverse .attr-navbar-link:hover{color:#fff}.attr-navbar-inverse .attr-btn-link{color:#9d9d9d}.attr-navbar-inverse .attr-btn-link:focus,.attr-navbar-inverse .attr-btn-link:hover{color:#fff}.attr-navbar-inverse .attr-btn-link[disabled]:focus,.attr-navbar-inverse .attr-btn-link[disabled]:hover,fieldset[disabled] .attr-navbar-inverse .attr-btn-link:focus,fieldset[disabled] .attr-navbar-inverse .attr-btn-link:hover{color:#444}.attr-breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.attr-breadcrumb>li{display:inline-block}.attr-breadcrumb>li+li::before{padding:0 5px;color:#ccc;content:"/\00a0"}.attr-breadcrumb>.attr-active{color:#777}.attr-pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.attr-pagination>li{display:inline}.attr-pagination>li>a,.attr-pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.attr-pagination>li:first-child>a,.attr-pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.attr-pagination>li:last-child>a,.attr-pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.attr-pagination>li>a:focus,.attr-pagination>li>a:hover,.attr-pagination>li>span:focus,.attr-pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.attr-pagination>.attr-active>a,.attr-pagination>.attr-active>a:focus,.attr-pagination>.attr-active>a:hover,.attr-pagination>.attr-active>span,.attr-pagination>.attr-active>span:focus,.attr-pagination>.attr-active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.attr-pagination>.attr-disabled>a,.attr-pagination>.attr-disabled>a:focus,.attr-pagination>.attr-disabled>a:hover,.attr-pagination>.attr-disabled>span,.attr-pagination>.attr-disabled>span:focus,.attr-pagination>.attr-disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.attr-pagination-lg>li>a,.attr-pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.attr-pagination-lg>li:first-child>a,.attr-pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.attr-pagination-lg>li:last-child>a,.attr-pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.attr-pagination-sm>li>a,.attr-pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.attr-pagination-sm>li:first-child>a,.attr-pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.attr-pagination-sm>li:last-child>a,.attr-pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.attr-pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.attr-pager li{display:inline}.attr-pager li>a,.attr-pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.attr-pager li>a:focus,.attr-pager li>a:hover{text-decoration:none;background-color:#eee}.attr-pager .attr-next>a,.attr-pager .attr-next>span{float:right}.attr-pager .attr-previous>a,.attr-pager .attr-previous>span{float:left}.attr-pager .attr-disabled>a,.attr-pager .attr-disabled>a:focus,.attr-pager .attr-disabled>a:hover,.attr-pager .attr-disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.attr-label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.attr-label:focus,a.attr-label:hover{color:#fff;text-decoration:none;cursor:pointer}.attr-label:empty{display:none}.attr-btn .attr-label{position:relative;top:-1px}.attr-label-default{background-color:#777}.attr-label-default[href]:focus,.attr-label-default[href]:hover{background-color:#5e5e5e}.attr-label-primary{background-color:#337ab7}.attr-label-primary[href]:focus,.attr-label-primary[href]:hover{background-color:#286090}.attr-label-success{background-color:#5cb85c}.attr-label-success[href]:focus,.attr-label-success[href]:hover{background-color:#449d44}.attr-label-info{background-color:#5bc0de}.attr-label-info[href]:focus,.attr-label-info[href]:hover{background-color:#31b0d5}.attr-label-warning{background-color:#f0ad4e}.attr-label-warning[href]:focus,.attr-label-warning[href]:hover{background-color:#ec971f}.attr-label-danger{background-color:#d9534f}.attr-label-danger[href]:focus,.attr-label-danger[href]:hover{background-color:#c9302c}.attr-badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.attr-badge:empty{display:none}.attr-btn .attr-badge{position:relative;top:-1px}.attr-btn-group-xs>.attr-btn .attr-badge,.attr-btn-xs .attr-badge{top:0;padding:1px 5px}a.attr-badge:focus,a.attr-badge:hover{color:#fff;text-decoration:none;cursor:pointer}.attr-list-group-item.attr-active>.attr-badge,.attr-nav-pills>.attr-active>a>.attr-badge{color:#337ab7;background-color:#fff}.attr-list-group-item>.attr-badge{float:right}.attr-list-group-item>.attr-badge+.attr-badge{margin-right:5px}.attr-nav-pills>li>a>.attr-badge{margin-left:3px}.attr-jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.attr-jumbotron .attr-h1,.attr-jumbotron h1{color:inherit}.attr-jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.attr-jumbotron>hr{border-top-color:#d5d5d5}.attr-container .attr-jumbotron,.attr-container-fluid .attr-jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.attr-jumbotron .attr-container{max-width:100%}@media screen and (min-width:768px){.attr-jumbotron{padding-top:48px;padding-bottom:48px}.attr-container .attr-jumbotron,.attr-container-fluid .attr-jumbotron{padding-right:60px;padding-left:60px}.attr-jumbotron .attr-h1,.attr-jumbotron h1{font-size:63px}}.attr-thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.attr-thumbnail a>img,.attr-thumbnail>img{margin-right:auto;margin-left:auto}a.attr-thumbnail.attr-active,a.attr-thumbnail:focus,a.attr-thumbnail:hover{border-color:#337ab7}.attr-thumbnail .attr-caption{padding:9px;color:#333}.attr-alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.attr-alert h4{margin-top:0;color:inherit}.attr-alert .attr-alert-link{font-weight:700}.attr-alert>p,.attr-alert>ul{margin-bottom:0}.attr-alert>p+p{margin-top:5px}.attr-alert-dismissable,.attr-alert-dismissible{padding-right:35px}.attr-alert-dismissable .attr-close,.attr-alert-dismissible .attr-close{position:relative;top:-2px;right:-21px;color:inherit}.attr-alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.attr-alert-success hr{border-top-color:#c9e2b3}.attr-alert-success .attr-alert-link{color:#2b542c}.attr-alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.attr-alert-info hr{border-top-color:#a6e1ec}.attr-alert-info .attr-alert-link{color:#245269}.attr-alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.attr-alert-warning hr{border-top-color:#f7e1b5}.attr-alert-warning .attr-alert-link{color:#66512c}.attr-alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.attr-alert-danger hr{border-top-color:#e4b9c0}.attr-alert-danger .attr-alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.attr-progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.attr-progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;transition:width .6s ease}.attr-progress-bar-striped,.attr-progress-striped .attr-progress-bar{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:40px 40px}.attr-progress-bar.attr-active,.attr-progress.attr-active .attr-progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.attr-progress-bar-success{background-color:#5cb85c}.attr-progress-striped .attr-progress-bar-success{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.attr-progress-bar-info{background-color:#5bc0de}.attr-progress-striped .attr-progress-bar-info{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.attr-progress-bar-warning{background-color:#f0ad4e}.attr-progress-striped .attr-progress-bar-warning{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.attr-progress-bar-danger{background-color:#d9534f}.attr-progress-striped .attr-progress-bar-danger{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.attr-media{margin-top:15px}.attr-media:first-child{margin-top:0}.attr-media,.attr-media-body{overflow:hidden;zoom:1}.attr-media-body{width:10000px}.attr-media-object{display:block}.attr-media-object.attr-img-thumbnail{max-width:none}.attr-media-right,.attr-media>.attr-pull-right{padding-left:10px}.attr-media-left,.attr-media>.attr-pull-left{padding-right:10px}.attr-media-body,.attr-media-left,.attr-media-right{display:table-cell;vertical-align:top}.attr-media-middle{vertical-align:middle}.attr-media-bottom{vertical-align:bottom}.attr-media-heading{margin-top:0;margin-bottom:5px}.attr-media-list{padding-left:0;list-style:none}.attr-list-group{padding-left:0;margin-bottom:20px}.attr-list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.attr-list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.attr-list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.attr-list-group-item,button.attr-list-group-item{color:#555}a.attr-list-group-item .attr-list-group-item-heading,button.attr-list-group-item .attr-list-group-item-heading{color:#333}a.attr-list-group-item:focus,a.attr-list-group-item:hover,button.attr-list-group-item:focus,button.attr-list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.attr-list-group-item{width:100%;text-align:left}.attr-list-group-item.attr-disabled,.attr-list-group-item.attr-disabled:focus,.attr-list-group-item.attr-disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.attr-list-group-item.attr-disabled .attr-list-group-item-heading,.attr-list-group-item.attr-disabled:focus .attr-list-group-item-heading,.attr-list-group-item.attr-disabled:hover .attr-list-group-item-heading{color:inherit}.attr-list-group-item.attr-disabled .attr-list-group-item-text,.attr-list-group-item.attr-disabled:focus .attr-list-group-item-text,.attr-list-group-item.attr-disabled:hover .attr-list-group-item-text{color:#777}.attr-list-group-item.attr-active,.attr-list-group-item.attr-active:focus,.attr-list-group-item.attr-active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.attr-list-group-item.attr-active .attr-list-group-item-heading,.attr-list-group-item.attr-active .attr-list-group-item-heading>.attr-small,.attr-list-group-item.attr-active .attr-list-group-item-heading>small,.attr-list-group-item.attr-active:focus .attr-list-group-item-heading,.attr-list-group-item.attr-active:focus .attr-list-group-item-heading>.attr-small,.attr-list-group-item.attr-active:focus .attr-list-group-item-heading>small,.attr-list-group-item.attr-active:hover .attr-list-group-item-heading,.attr-list-group-item.attr-active:hover .attr-list-group-item-heading>.attr-small,.attr-list-group-item.attr-active:hover .attr-list-group-item-heading>small{color:inherit}.attr-list-group-item.attr-active .attr-list-group-item-text,.attr-list-group-item.attr-active:focus .attr-list-group-item-text,.attr-list-group-item.attr-active:hover .attr-list-group-item-text{color:#c7ddef}.attr-list-group-item-success{color:#3c763d;background-color:#dff0d8}a.attr-list-group-item-success,button.attr-list-group-item-success{color:#3c763d}a.attr-list-group-item-success .attr-list-group-item-heading,button.attr-list-group-item-success .attr-list-group-item-heading{color:inherit}a.attr-list-group-item-success:focus,a.attr-list-group-item-success:hover,button.attr-list-group-item-success:focus,button.attr-list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.attr-list-group-item-success.attr-active,a.attr-list-group-item-success.attr-active:focus,a.attr-list-group-item-success.attr-active:hover,button.attr-list-group-item-success.attr-active,button.attr-list-group-item-success.attr-active:focus,button.attr-list-group-item-success.attr-active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.attr-list-group-item-info{color:#31708f;background-color:#d9edf7}a.attr-list-group-item-info,button.attr-list-group-item-info{color:#31708f}a.attr-list-group-item-info .attr-list-group-item-heading,button.attr-list-group-item-info .attr-list-group-item-heading{color:inherit}a.attr-list-group-item-info:focus,a.attr-list-group-item-info:hover,button.attr-list-group-item-info:focus,button.attr-list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.attr-list-group-item-info.attr-active,a.attr-list-group-item-info.attr-active:focus,a.attr-list-group-item-info.attr-active:hover,button.attr-list-group-item-info.attr-active,button.attr-list-group-item-info.attr-active:focus,button.attr-list-group-item-info.attr-active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.attr-list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.attr-list-group-item-warning,button.attr-list-group-item-warning{color:#8a6d3b}a.attr-list-group-item-warning .attr-list-group-item-heading,button.attr-list-group-item-warning .attr-list-group-item-heading{color:inherit}a.attr-list-group-item-warning:focus,a.attr-list-group-item-warning:hover,button.attr-list-group-item-warning:focus,button.attr-list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.attr-list-group-item-warning.attr-active,a.attr-list-group-item-warning.attr-active:focus,a.attr-list-group-item-warning.attr-active:hover,button.attr-list-group-item-warning.attr-active,button.attr-list-group-item-warning.attr-active:focus,button.attr-list-group-item-warning.attr-active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.attr-list-group-item-danger{color:#a94442;background-color:#f2dede}a.attr-list-group-item-danger,button.attr-list-group-item-danger{color:#a94442}a.attr-list-group-item-danger .attr-list-group-item-heading,button.attr-list-group-item-danger .attr-list-group-item-heading{color:inherit}a.attr-list-group-item-danger:focus,a.attr-list-group-item-danger:hover,button.attr-list-group-item-danger:focus,button.attr-list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.attr-list-group-item-danger.attr-active,a.attr-list-group-item-danger.attr-active:focus,a.attr-list-group-item-danger.attr-active:hover,button.attr-list-group-item-danger.attr-active,button.attr-list-group-item-danger.attr-active:focus,button.attr-list-group-item-danger.attr-active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.attr-list-group-item-heading{margin-top:0;margin-bottom:5px}.attr-list-group-item-text{margin-bottom:0;line-height:1.3}.attr-panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.attr-panel-body{padding:15px}.attr-panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.attr-panel-heading>.attr-dropdown .attr-dropdown-toggle{color:inherit}.attr-panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.attr-panel-title>.attr-small,.attr-panel-title>.attr-small>a,.attr-panel-title>a,.attr-panel-title>small,.attr-panel-title>small>a{color:inherit}.attr-panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.attr-panel>.attr-list-group,.attr-panel>.attr-panel-collapse>.attr-list-group{margin-bottom:0}.attr-panel>.attr-list-group .attr-list-group-item,.attr-panel>.attr-panel-collapse>.attr-list-group .attr-list-group-item{border-width:1px 0;border-radius:0}.attr-panel>.attr-list-group:first-child .attr-list-group-item:first-child,.attr-panel>.attr-panel-collapse>.attr-list-group:first-child .attr-list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.attr-panel>.attr-list-group:last-child .attr-list-group-item:last-child,.attr-panel>.attr-panel-collapse>.attr-list-group:last-child .attr-list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.attr-panel>.attr-panel-heading+.attr-panel-collapse>.attr-list-group .attr-list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.attr-panel-heading+.attr-list-group .attr-list-group-item:first-child{border-top-width:0}.attr-list-group+.attr-panel-footer{border-top-width:0}.attr-panel>.attr-panel-collapse>.attr-table,.attr-panel>.attr-table,.attr-panel>.attr-table-responsive>.attr-table{margin-bottom:0}.attr-panel>.attr-panel-collapse>.attr-table caption,.attr-panel>.attr-table caption,.attr-panel>.attr-table-responsive>.attr-table caption{padding-right:15px;padding-left:15px}.attr-panel>.attr-table-responsive:first-child>.attr-table:first-child,.attr-panel>.attr-table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.attr-panel>.attr-table-responsive:first-child>.attr-table:first-child>tbody:first-child>tr:first-child,.attr-panel>.attr-table-responsive:first-child>.attr-table:first-child>thead:first-child>tr:first-child,.attr-panel>.attr-table:first-child>tbody:first-child>tr:first-child,.attr-panel>.attr-table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.attr-panel>.attr-table-responsive:first-child>.attr-table:first-child>tbody:first-child>tr:first-child td:first-child,.attr-panel>.attr-table-responsive:first-child>.attr-table:first-child>tbody:first-child>tr:first-child th:first-child,.attr-panel>.attr-table-responsive:first-child>.attr-table:first-child>thead:first-child>tr:first-child td:first-child,.attr-panel>.attr-table-responsive:first-child>.attr-table:first-child>thead:first-child>tr:first-child th:first-child,.attr-panel>.attr-table:first-child>tbody:first-child>tr:first-child td:first-child,.attr-panel>.attr-table:first-child>tbody:first-child>tr:first-child th:first-child,.attr-panel>.attr-table:first-child>thead:first-child>tr:first-child td:first-child,.attr-panel>.attr-table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.attr-panel>.attr-table-responsive:first-child>.attr-table:first-child>tbody:first-child>tr:first-child td:last-child,.attr-panel>.attr-table-responsive:first-child>.attr-table:first-child>tbody:first-child>tr:first-child th:last-child,.attr-panel>.attr-table-responsive:first-child>.attr-table:first-child>thead:first-child>tr:first-child td:last-child,.attr-panel>.attr-table-responsive:first-child>.attr-table:first-child>thead:first-child>tr:first-child th:last-child,.attr-panel>.attr-table:first-child>tbody:first-child>tr:first-child td:last-child,.attr-panel>.attr-table:first-child>tbody:first-child>tr:first-child th:last-child,.attr-panel>.attr-table:first-child>thead:first-child>tr:first-child td:last-child,.attr-panel>.attr-table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.attr-panel>.attr-table-responsive:last-child>.attr-table:last-child,.attr-panel>.attr-table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.attr-panel>.attr-table-responsive:last-child>.attr-table:last-child>tbody:last-child>tr:last-child,.attr-panel>.attr-table-responsive:last-child>.attr-table:last-child>tfoot:last-child>tr:last-child,.attr-panel>.attr-table:last-child>tbody:last-child>tr:last-child,.attr-panel>.attr-table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.attr-panel>.attr-table-responsive:last-child>.attr-table:last-child>tbody:last-child>tr:last-child td:first-child,.attr-panel>.attr-table-responsive:last-child>.attr-table:last-child>tbody:last-child>tr:last-child th:first-child,.attr-panel>.attr-table-responsive:last-child>.attr-table:last-child>tfoot:last-child>tr:last-child td:first-child,.attr-panel>.attr-table-responsive:last-child>.attr-table:last-child>tfoot:last-child>tr:last-child th:first-child,.attr-panel>.attr-table:last-child>tbody:last-child>tr:last-child td:first-child,.attr-panel>.attr-table:last-child>tbody:last-child>tr:last-child th:first-child,.attr-panel>.attr-table:last-child>tfoot:last-child>tr:last-child td:first-child,.attr-panel>.attr-table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.attr-panel>.attr-table-responsive:last-child>.attr-table:last-child>tbody:last-child>tr:last-child td:last-child,.attr-panel>.attr-table-responsive:last-child>.attr-table:last-child>tbody:last-child>tr:last-child th:last-child,.attr-panel>.attr-table-responsive:last-child>.attr-table:last-child>tfoot:last-child>tr:last-child td:last-child,.attr-panel>.attr-table-responsive:last-child>.attr-table:last-child>tfoot:last-child>tr:last-child th:last-child,.attr-panel>.attr-table:last-child>tbody:last-child>tr:last-child td:last-child,.attr-panel>.attr-table:last-child>tbody:last-child>tr:last-child th:last-child,.attr-panel>.attr-table:last-child>tfoot:last-child>tr:last-child td:last-child,.attr-panel>.attr-table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.attr-panel>.attr-panel-body+.attr-table,.attr-panel>.attr-panel-body+.attr-table-responsive,.attr-panel>.attr-table+.attr-panel-body,.attr-panel>.attr-table-responsive+.attr-panel-body{border-top:1px solid #ddd}.attr-panel>.attr-table>tbody:first-child>tr:first-child td,.attr-panel>.attr-table>tbody:first-child>tr:first-child th{border-top:0}.attr-panel>.attr-table-bordered,.attr-panel>.attr-table-responsive>.attr-table-bordered{border:0}.attr-panel>.attr-table-bordered>tbody>tr>td:first-child,.attr-panel>.attr-table-bordered>tbody>tr>th:first-child,.attr-panel>.attr-table-bordered>tfoot>tr>td:first-child,.attr-panel>.attr-table-bordered>tfoot>tr>th:first-child,.attr-panel>.attr-table-bordered>thead>tr>td:first-child,.attr-panel>.attr-table-bordered>thead>tr>th:first-child,.attr-panel>.attr-table-responsive>.attr-table-bordered>tbody>tr>td:first-child,.attr-panel>.attr-table-responsive>.attr-table-bordered>tbody>tr>th:first-child,.attr-panel>.attr-table-responsive>.attr-table-bordered>tfoot>tr>td:first-child,.attr-panel>.attr-table-responsive>.attr-table-bordered>tfoot>tr>th:first-child,.attr-panel>.attr-table-responsive>.attr-table-bordered>thead>tr>td:first-child,.attr-panel>.attr-table-responsive>.attr-table-bordered>thead>tr>th:first-child{border-left:0}.attr-panel>.attr-table-bordered>tbody>tr>td:last-child,.attr-panel>.attr-table-bordered>tbody>tr>th:last-child,.attr-panel>.attr-table-bordered>tfoot>tr>td:last-child,.attr-panel>.attr-table-bordered>tfoot>tr>th:last-child,.attr-panel>.attr-table-bordered>thead>tr>td:last-child,.attr-panel>.attr-table-bordered>thead>tr>th:last-child,.attr-panel>.attr-table-responsive>.attr-table-bordered>tbody>tr>td:last-child,.attr-panel>.attr-table-responsive>.attr-table-bordered>tbody>tr>th:last-child,.attr-panel>.attr-table-responsive>.attr-table-bordered>tfoot>tr>td:last-child,.attr-panel>.attr-table-responsive>.attr-table-bordered>tfoot>tr>th:last-child,.attr-panel>.attr-table-responsive>.attr-table-bordered>thead>tr>td:last-child,.attr-panel>.attr-table-responsive>.attr-table-bordered>thead>tr>th:last-child{border-right:0}.attr-panel>.attr-table-bordered>tbody>tr:first-child>td,.attr-panel>.attr-table-bordered>tbody>tr:first-child>th,.attr-panel>.attr-table-bordered>thead>tr:first-child>td,.attr-panel>.attr-table-bordered>thead>tr:first-child>th,.attr-panel>.attr-table-responsive>.attr-table-bordered>tbody>tr:first-child>td,.attr-panel>.attr-table-responsive>.attr-table-bordered>tbody>tr:first-child>th,.attr-panel>.attr-table-responsive>.attr-table-bordered>thead>tr:first-child>td,.attr-panel>.attr-table-responsive>.attr-table-bordered>thead>tr:first-child>th{border-bottom:0}.attr-panel>.attr-table-bordered>tbody>tr:last-child>td,.attr-panel>.attr-table-bordered>tbody>tr:last-child>th,.attr-panel>.attr-table-bordered>tfoot>tr:last-child>td,.attr-panel>.attr-table-bordered>tfoot>tr:last-child>th,.attr-panel>.attr-table-responsive>.attr-table-bordered>tbody>tr:last-child>td,.attr-panel>.attr-table-responsive>.attr-table-bordered>tbody>tr:last-child>th,.attr-panel>.attr-table-responsive>.attr-table-bordered>tfoot>tr:last-child>td,.attr-panel>.attr-table-responsive>.attr-table-bordered>tfoot>tr:last-child>th{border-bottom:0}.attr-panel>.attr-table-responsive{margin-bottom:0;border:0}.attr-panel-group{margin-bottom:20px}.attr-panel-group .attr-panel{margin-bottom:0;border-radius:4px}.attr-panel-group .attr-panel+.attr-panel{margin-top:5px}.attr-panel-group .attr-panel-heading{border-bottom:0}.attr-panel-group .attr-panel-heading+.attr-panel-collapse>.attr-list-group,.attr-panel-group .attr-panel-heading+.attr-panel-collapse>.attr-panel-body{border-top:1px solid #ddd}.attr-panel-group .attr-panel-footer{border-top:0}.attr-panel-group .attr-panel-footer+.attr-panel-collapse .attr-panel-body{border-bottom:1px solid #ddd}.attr-panel-default{border-color:#ddd}.attr-panel-default>.attr-panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.attr-panel-default>.attr-panel-heading+.attr-panel-collapse>.attr-panel-body{border-top-color:#ddd}.attr-panel-default>.attr-panel-heading .attr-badge{color:#f5f5f5;background-color:#333}.attr-panel-default>.attr-panel-footer+.attr-panel-collapse>.attr-panel-body{border-bottom-color:#ddd}.attr-panel-primary{border-color:#337ab7}.attr-panel-primary>.attr-panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.attr-panel-primary>.attr-panel-heading+.attr-panel-collapse>.attr-panel-body{border-top-color:#337ab7}.attr-panel-primary>.attr-panel-heading .attr-badge{color:#337ab7;background-color:#fff}.attr-panel-primary>.attr-panel-footer+.attr-panel-collapse>.attr-panel-body{border-bottom-color:#337ab7}.attr-panel-success{border-color:#d6e9c6}.attr-panel-success>.attr-panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.attr-panel-success>.attr-panel-heading+.attr-panel-collapse>.attr-panel-body{border-top-color:#d6e9c6}.attr-panel-success>.attr-panel-heading .attr-badge{color:#dff0d8;background-color:#3c763d}.attr-panel-success>.attr-panel-footer+.attr-panel-collapse>.attr-panel-body{border-bottom-color:#d6e9c6}.attr-panel-info{border-color:#bce8f1}.attr-panel-info>.attr-panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.attr-panel-info>.attr-panel-heading+.attr-panel-collapse>.attr-panel-body{border-top-color:#bce8f1}.attr-panel-info>.attr-panel-heading .attr-badge{color:#d9edf7;background-color:#31708f}.attr-panel-info>.attr-panel-footer+.attr-panel-collapse>.attr-panel-body{border-bottom-color:#bce8f1}.attr-panel-warning{border-color:#faebcc}.attr-panel-warning>.attr-panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.attr-panel-warning>.attr-panel-heading+.attr-panel-collapse>.attr-panel-body{border-top-color:#faebcc}.attr-panel-warning>.attr-panel-heading .attr-badge{color:#fcf8e3;background-color:#8a6d3b}.attr-panel-warning>.attr-panel-footer+.attr-panel-collapse>.attr-panel-body{border-bottom-color:#faebcc}.attr-panel-danger{border-color:#ebccd1}.attr-panel-danger>.attr-panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.attr-panel-danger>.attr-panel-heading+.attr-panel-collapse>.attr-panel-body{border-top-color:#ebccd1}.attr-panel-danger>.attr-panel-heading .attr-badge{color:#f2dede;background-color:#a94442}.attr-panel-danger>.attr-panel-footer+.attr-panel-collapse>.attr-panel-body{border-bottom-color:#ebccd1}.attr-embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.attr-embed-responsive .attr-embed-responsive-item,.attr-embed-responsive embed,.attr-embed-responsive iframe,.attr-embed-responsive object,.attr-embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.attr-embed-responsive-16by9{padding-bottom:56.25%}.attr-embed-responsive-4by3{padding-bottom:75%}.attr-well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.attr-well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.attr-well-lg{padding:24px;border-radius:6px}.attr-well-sm{padding:9px;border-radius:3px}.attr-close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2}.attr-close:focus,.attr-close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5}button.attr-close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.attr-modal-open{overflow:hidden}.attr-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.attr-modal.attr-fade .attr-modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-25%);transform:translate(0,-25%)}.attr-modal.attr-in .attr-modal-dialog,.attr-modal.in .attr-modal-dialog{-webkit-transform:translate(0,0);transform:translate(0,0)}.attr-modal-open .attr-modal{overflow-x:hidden;overflow-y:auto}.attr-modal-dialog{position:relative;width:auto;margin:10px}.attr-modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.attr-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.attr-modal-backdrop.attr-fade{opacity:0}.attr-modal-backdrop.attr-in{opacity:.5}.attr-modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.attr-modal-header .attr-close{margin-top:-2px}.attr-modal-title{margin:0;line-height:1.42857143}.attr-modal-body{position:relative;padding:15px}.attr-modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.attr-modal-footer .attr-btn+.attr-btn{margin-bottom:0;margin-left:5px}.attr-modal-footer .attr-btn-group .attr-btn+.attr-btn{margin-left:-1px}.attr-modal-footer .attr-btn-block+.attr-btn-block{margin-left:0}.attr-modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.attr-modal-dialog{width:600px;margin:30px auto}.attr-modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.attr-modal-sm{width:300px}}@media (min-width:992px){.attr-modal-lg{width:900px}}.attr-tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;opacity:0;line-break:auto}.attr-tooltip.attr-in{opacity:.9}.attr-tooltip.attr-top{padding:5px 0;margin-top:-3px}.attr-tooltip.attr-right{padding:0 5px;margin-left:3px}.attr-tooltip.attr-bottom{padding:5px 0;margin-top:3px}.attr-tooltip.attr-left{padding:0 5px;margin-left:-3px}.attr-tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.attr-tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.attr-tooltip.attr-top .attr-tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.attr-tooltip.attr-top-left .attr-tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.attr-tooltip.attr-top-right .attr-tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.attr-tooltip.attr-right .attr-tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.attr-tooltip.attr-left .attr-tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.attr-tooltip.attr-bottom .attr-tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.attr-tooltip.attr-bottom-left .attr-tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.attr-tooltip.attr-bottom-right .attr-tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.attr-popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.attr-popover.attr-top{margin-top:-10px}.attr-popover.attr-right{margin-left:10px}.attr-popover.attr-bottom{margin-top:10px}.attr-popover.attr-left{margin-left:-10px}.attr-popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.attr-popover-content{padding:9px 14px}.attr-popover>.attr-arrow,.attr-popover>.attr-arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.attr-popover>.attr-arrow{border-width:11px}.attr-popover>.attr-arrow::after{content:"";border-width:10px}.attr-popover.attr-top>.attr-arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.attr-popover.attr-top>.attr-arrow::after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.attr-popover.attr-right>.attr-arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.attr-popover.attr-right>.attr-arrow::after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.attr-popover.attr-bottom>.attr-arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.attr-popover.attr-bottom>.attr-arrow::after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.attr-popover.attr-left>.attr-arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.attr-popover.attr-left>.attr-arrow::after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.attr-carousel{position:relative}.attr-carousel-inner{position:relative;width:100%;overflow:hidden}.attr-carousel-inner>.attr-item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.attr-carousel-inner>.attr-item>a>img,.attr-carousel-inner>.attr-item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.attr-carousel-inner>.attr-item{-webkit-transition:-webkit-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.attr-carousel-inner>.attr-item.attr-active.attr-right,.attr-carousel-inner>.attr-item.attr-next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.attr-carousel-inner>.attr-item.attr-active.attr-left,.attr-carousel-inner>.attr-item.attr-prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.attr-carousel-inner>.attr-item.attr-active,.attr-carousel-inner>.attr-item.attr-next.attr-left,.attr-carousel-inner>.attr-item.attr-prev.attr-right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.attr-carousel-inner>.attr-active,.attr-carousel-inner>.attr-next,.attr-carousel-inner>.attr-prev{display:block}.attr-carousel-inner>.attr-active{left:0}.attr-carousel-inner>.attr-next,.attr-carousel-inner>.attr-prev{position:absolute;top:0;width:100%}.attr-carousel-inner>.attr-next{left:100%}.attr-carousel-inner>.attr-prev{left:-100%}.attr-carousel-inner>.attr-next.attr-left,.attr-carousel-inner>.attr-prev.attr-right{left:0}.attr-carousel-inner>.attr-active.attr-left{left:-100%}.attr-carousel-inner>.attr-active.attr-right{left:100%}.attr-carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);opacity:.5}.attr-carousel-control.attr-left{background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-repeat:repeat-x}.attr-carousel-control.attr-right{right:0;left:auto;background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-repeat:repeat-x}.attr-carousel-control:focus,.attr-carousel-control:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.attr-carousel-control .attr-glyphicon-chevron-left,.attr-carousel-control .attr-glyphicon-chevron-right,.attr-carousel-control .attr-icon-next,.attr-carousel-control .attr-icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.attr-carousel-control .attr-glyphicon-chevron-left,.attr-carousel-control .attr-icon-prev{left:50%;margin-left:-10px}.attr-carousel-control .attr-glyphicon-chevron-right,.attr-carousel-control .attr-icon-next{right:50%;margin-right:-10px}.attr-carousel-control .attr-icon-next,.attr-carousel-control .attr-icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.attr-carousel-control .attr-icon-prev::before{content:"\2039"}.attr-carousel-control .attr-icon-next::before{content:"\203a"}.attr-carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.attr-carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.attr-carousel-indicators .attr-active{width:12px;height:12px;margin:0;background-color:#fff}.attr-carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.attr-carousel-caption .attr-btn{text-shadow:none}@media screen and (min-width:768px){.attr-carousel-control .attr-glyphicon-chevron-left,.attr-carousel-control .attr-glyphicon-chevron-right,.attr-carousel-control .attr-icon-next,.attr-carousel-control .attr-icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.attr-carousel-control .attr-glyphicon-chevron-left,.attr-carousel-control .attr-icon-prev{margin-left:-10px}.attr-carousel-control .attr-glyphicon-chevron-right,.attr-carousel-control .attr-icon-next{margin-right:-10px}.attr-carousel-caption{right:20%;left:20%;padding-bottom:30px}.attr-carousel-indicators{bottom:20px}}.attr-btn-group-vertical>.attr-btn-group::after,.attr-btn-group-vertical>.attr-btn-group::before,.attr-btn-toolbar::after,.attr-btn-toolbar::before,.attr-clearfix::after,.attr-clearfix::before,.attr-container-fluid::after,.attr-container-fluid::before,.attr-container::after,.attr-container::before,.attr-dl-horizontal dd::after,.attr-dl-horizontal dd::before,.attr-form-horizontal .attr-form-group::after,.attr-form-horizontal .attr-form-group::before,.attr-modal-footer::after,.attr-modal-footer::before,.attr-modal-header::after,.attr-modal-header::before,.attr-nav::after,.attr-nav::before,.attr-navbar-collapse::after,.attr-navbar-collapse::before,.attr-navbar-header::after,.attr-navbar-header::before,.attr-navbar::after,.attr-navbar::before,.attr-pager::after,.attr-pager::before,.attr-panel-body::after,.attr-panel-body::before,.attr-row::after,.attr-row::before{display:table;content:" "}.attr-btn-group-vertical>.attr-btn-group::after,.attr-btn-toolbar::after,.attr-clearfix::after,.attr-container-fluid::after,.attr-container::after,.attr-dl-horizontal dd::after,.attr-form-horizontal .attr-form-group::after,.attr-modal-footer::after,.attr-modal-header::after,.attr-nav::after,.attr-navbar-collapse::after,.attr-navbar-header::after,.attr-navbar::after,.attr-pager::after,.attr-panel-body::after,.attr-row::after{clear:both}.attr-center-block{display:block;margin-right:auto;margin-left:auto}.attr-pull-right{float:right!important}.attr-pull-left{float:left!important}.attr-hide{display:none!important}.attr-show{display:block!important}.attr-invisible{visibility:hidden}.attr-text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.attr-hidden{display:none!important}.attr-affix{position:fixed}@-ms-viewport{width:device-width}.attr-visible-lg,.attr-visible-md,.attr-visible-sm,.attr-visible-xs{display:none!important}.attr-visible-lg-block,.attr-visible-lg-inline,.attr-visible-lg-inline-block,.attr-visible-md-block,.attr-visible-md-inline,.attr-visible-md-inline-block,.attr-visible-sm-block,.attr-visible-sm-inline,.attr-visible-sm-inline-block,.attr-visible-xs-block,.attr-visible-xs-inline,.attr-visible-xs-inline-block{display:none!important}@media (max-width:767px){.attr-visible-xs{display:block!important}table.attr-visible-xs{display:table!important}tr.attr-visible-xs{display:table-row!important}td.attr-visible-xs,th.attr-visible-xs{display:table-cell!important}}@media (max-width:767px){.attr-visible-xs-block{display:block!important}}@media (max-width:767px){.attr-visible-xs-inline{display:inline!important}}@media (max-width:767px){.attr-visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.attr-visible-sm{display:block!important}table.attr-visible-sm{display:table!important}tr.attr-visible-sm{display:table-row!important}td.attr-visible-sm,th.attr-visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.attr-visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.attr-visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.attr-visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.attr-visible-md{display:block!important}table.attr-visible-md{display:table!important}tr.attr-visible-md{display:table-row!important}td.attr-visible-md,th.attr-visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.attr-visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.attr-visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.attr-visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.attr-visible-lg{display:block!important}table.attr-visible-lg{display:table!important}tr.attr-visible-lg{display:table-row!important}td.attr-visible-lg,th.attr-visible-lg{display:table-cell!important}}@media (min-width:1200px){.attr-visible-lg-block{display:block!important}}@media (min-width:1200px){.attr-visible-lg-inline{display:inline!important}}@media (min-width:1200px){.attr-visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.attr-hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.attr-hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.attr-hidden-md{display:none!important}}@media (min-width:1200px){.attr-hidden-lg{display:none!important}}.attr-visible-print{display:none!important}@media print{.attr-visible-print{display:block!important}table.attr-visible-print{display:table!important}tr.attr-visible-print{display:table-row!important}td.attr-visible-print,th.attr-visible-print{display:table-cell!important}}.attr-visible-print-block{display:none!important}@media print{.attr-visible-print-block{display:block!important}}.attr-visible-print-inline{display:none!important}@media print{.attr-visible-print-inline{display:inline!important}}.attr-visible-print-inline-block{display:none!important}@media print{.attr-visible-print-inline-block{display:inline-block!important}}@media print{.attr-hidden-print{display:none!important}}.attr-nav-tabs .ekit-admin-nav-link{display:-webkit-box;display:-ms-flexbox;display:flex;padding:16px 44px 18px 20px;color:#121116;border-top:1px solid #e0e4e9;border-left:2px solid transparent;-webkit-transition:all .1s ease-out;transition:all .1s ease-out;background-color:#f1f1f1;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transition:all .4s ease;transition:all .4s ease;border-radius:0}.attr-nav-tabs .ekit-admin-nav-link .ekit-admin-title{font-size:.8125rem;font-weight:700;color:#121116;display:block;margin-bottom:2px;line-height:1}.attr-nav-tabs .ekit-admin-nav-link .ekit-admin-subtitle{color:#72777c;font-size:.8125rem;-webkit-transition:all 150ms ease-out;transition:all 150ms ease-out}.attr-nav-tabs .ekit-admin-nav-link .ekit-admin-tab-icon{color:#72777c;font-size:1.4375rem;-webkit-transition:all .4s ease;transition:all .4s ease}.attr-nav-tabs .attr-active>a,.attr-nav-tabs>li>a:focus,.attr-nav-tabs>li>a:hover{background-color:#fff;border-left-color:#f2295b}.attr-nav-tabs .attr-active>a .ekit-admin-tab-icon,.attr-nav-tabs .attr-active>a .ekit-admin-title,.attr-nav-tabs>li>a:focus .ekit-admin-tab-icon,.attr-nav-tabs>li>a:focus .ekit-admin-title,.attr-nav-tabs>li>a:hover .ekit-admin-tab-icon,.attr-nav-tabs>li>a:hover .ekit-admin-title{color:#f2295b}.ekit-admin-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding-bottom:9px;border-bottom:1px solid #e0e4e9;margin-bottom:8px}.ekit-admin-header-title{font-size:1rem;font-weight:700;color:#f2295b;margin-bottom:0}.ekit-admin-help{color:#0073aa;font-weight:700;font-size:.75rem}.ekit-admin-help>i{padding-right:5px}.ekit-admin-input-switch{position:relative;display:block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;line-height:1;-ms-flex-item-align:end;align-self:flex-end}#v-elementskit-dashboard>.ekit-admin-section-header>.ekit-admin-input-switch{display:none}.ekit-admin-input-switch .ekit-admin-control-input:checked~.ekit-admin-control-label .ekit-admin-control-label-switch::after{left:30px;background-color:#f2295b;color:#f2295b}.ekit-admin-input-switch .ekit-admin-control-input:checked~.ekit-admin-control-label .ekit-admin-control-label-switch::before{border-color:#f2295b;text-indent:52px}.ekit-admin-input-switch .ekit-admin-control-label{cursor:pointer;margin-bottom:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.ekit-admin-input-switch .ekit-admin-control-label-switch{position:relative;overflow:hidden;width:52px;height:26px;display:inline-block;margin-left:10px}.ekit-admin-input-switch .ekit-admin-control-label-switch::after,.ekit-admin-input-switch .ekit-admin-control-label-switch::before{position:absolute;-webkit-transition:all .3s cubic-bezier(.22,.61,.36,1);transition:all .3s cubic-bezier(.22,.61,.36,1);font-weight:700;font-size:.6875rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box}.ekit-admin-input-switch .ekit-admin-control-label-switch::before{content:attr(data-inactive);top:0;left:0;width:100%;height:100%;background-color:#fff;border:#444 solid 1px;border-radius:26px;text-indent:24px}.ekit-admin-input-switch .ekit-admin-control-label-switch::after{position:absolute;top:4px;left:4px;display:block;content:attr(data-active);width:18px;height:18px;background-color:#444;border-radius:100%;-webkit-transition:all .3s cubic-bezier(.22,.61,.36,1);transition:all .3s cubic-bezier(.22,.61,.36,1);text-indent:-22px;display:-webkit-box;display:-ms-flexbox;display:flex}.ekit-admin-input-switch .ekit-admin-control-input{opacity:0;z-index:-1;position:absolute}.ekit-admin-section-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;position:relative;border-bottom:1px solid #e0e4e9;padding-bottom:24px;margin-bottom:48px}.ekit-admin-section-header::before{content:"";position:absolute;display:block;width:48px;height:2px;bottom:-1px;left:0;background:#f2295b}.ekit-admin-section-heaer-title{position:relative;font-size:1.625rem;font-weight:600;margin-bottom:0;line-height:1}.ekit-admin-section-heaer-title::before{content:"\f15b";font-family:FontAwesome;display:inline-block;width:48px;height:48px;line-height:48px;margin-right:24px;background-color:#fee9ee;color:#f2295b;text-align:center;border-radius:3px;vertical-align:middle;font-size:20px}.ekit-admin-fields-container{font-size:.875rem;color:#666}.custom-control .custom-control-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;color:#121116;font-size:.875rem}.custom-control .custom-control-input:checked~.custom-control-label::before{border-color:#19073b;background-color:#19073b;-webkit-transform:scale(1);transform:scale(1)}.custom-control .custom-control-input:checked~.custom-control-label::after{-webkit-transform:scale(1);transform:scale(1)}.custom-control .custom-control-input .custom-control-label::after,.custom-control .custom-control-input .custom-control-label::before{-webkit-transform:scale(0);transform:scale(0);-webkit-transition:all .4s ease;transition:all .4s ease}.custom-control .custom-control-input .custom-control-label::after{background-repeat:no-repeat;background-position:center center;background-size:50% 50%}.ekit-admin-fields-container-fieldset{margin-top:16px}.attr-nav-tabs{margin-top:0}.attr-nav-tabs>li{width:100%}.attr-nav-tabs>li>a{margin-right:0}@media (max-width:320px){:root{font-size:13px}}@media (max-width:480px){:root{font-size:14px}}@media (max-width:991px){:root{font-size:13px}.section-padding{padding:75px 0}.section-padding-medium{padding:60px 0}.section-padding-medium-bottom{padding-bottom:60px}.section-padding-medium-top{padding-top:60px}}@media (min-width:992px){.ekit-admin-right-content{width:70%}}@media (min-width:992px) and (max-width:1199px){.ekit-admin-right-content{width:100%;padding:0}.ekit-admin-feature-request-section .ekit-admin-right-content,.ekit-admin-support-section .ekit-admin-right-content{padding-left:20px}#v-elementskit-userdata .ekit-admin-fields-container{max-width:75%}.ekit-admin-rate-now-section .ekit-admin-right-content{padding-bottom:20px}.ekit-admin-fields-container-description{width:100%!important}.ekit-admin-section-header{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.ekit-admin-section-heaer-title{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:start!important}.ekit-admin-input-switch{-ms-flex-item-align:start;align-self:flex-start}.ekit-all-element-switch{margin:15px 0!important;min-width:215px!important}.ekit-all-element-switch .ekit-admin-control-label{padding:7px 0!important}}@media screen and (min-device-width:1200px) and (max-device-width:1600px){body .ekit-onboard-dashboard .ekit-onboard-step-04 img{display:none}body .ekit-onboard-dashboard .ekit-onboard-step-04 .shape-17{display:block}}@media (max-width:991px){.ekit-admin-fields-container-description{width:100%}.ekit-admin-right-content{width:100%;padding:0}.ekit-admin-feature-request-section .ekit-admin-right-content,.ekit-admin-support-section .ekit-admin-right-content{padding-left:20px}#v-elementskit-userdata .ekit-admin-fields-container{max-width:75%}.ekit-admin-section-header{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.ekit-admin-section-heaer-title{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:start!important}.ekit-admin-input-switch{-ms-flex-item-align:start;align-self:flex-start}.ekit-all-element-switch{margin:15px 0!important;min-width:215px!important}.ekit-all-element-switch .ekit-admin-control-label{padding:7px 0!important}body .ekit-onboard-dashboard img{max-width:100%}body .ekit-onboard-dashboard .ekit-onboard-step-2-inner{padding:0}body .ekit-onboard-dashboard .ekit-onboard-nav-item{width:100%;margin-bottom:10px!important}body .ekit-onboard-dashboard .ekit-onboard-nav-item:last-child{margin-bottom:0}body .ekit-onboard-dashboard .ekit-onboard-step-02:before{display:none}body .ekit-onboard-dashboard .ekit-onboard-nav .ekit-onboard-progressbar{display:none}body .ekit-onboard-dashboard .ekit-onboard-step-wrapper{padding:0 55px}body .ekit-onboard-dashboard .ekit-onboard-dashboard .ekit-onboard-tutorial{padding:50px 0}body .ekit-onboard-dashboard .ekit-onboard-dashboard .ekit-onboard-module-meta li{display:block}body .ekit-onboard-dashboard .ekit-onboard-step-04 .shape-07{display:none}body .ekit-onboard-dashboard .ekit-onboard-plugin-list .attr-row>div{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%}}@media (max-width:480px){.ekti-admin-video-tutorial-iframe iframe{max-width:300px;height:auto}.ekit-admin-video-tutorial-list a h2{font-size:16px}.ekit_accordion_card:not(:last-child){margin-bottom:15px}.ekit_accordion_card .attr-btn{padding:16px;font-size:12px;padding-left:20px}.ekit-admin-right-content--link{font-size:12px;padding:10px 15px}.ekit-admin-right-content--heading h2{font-size:20px}.ekit-admin-right-content--heading__sub-title{font-size:50px}.ekit-admin-right-content p{font-size:16px;line-height:25px}.ekit-admin-right-content--form input{height:50px;padding:0 25px}.ekit-admin-right-content--form button{width:45px;height:45px}.ekit-admin-section-heaer-title{margin-bottom:10px;font-size:14px}.ekit-admin-input-switch .ekit-admin-settings-form-submit{font-size:12px;padding:9px 18px}.ekit-admin-section-header{font-size:15px}.ekit-admin-section-header .ekit-admin-input-switch{-ms-flex-item-align:center;align-self:center}.ekit_accordion_card .attr-panel-body{padding:20px}.ekit-admin-fields-container-description{font-size:15px;line-height:22px}#v-elementskit-userdata .ekit-admin-fields-container{max-width:100%}#v-elementskit-userdata::before{background-size:contain;width:100%;height:100%}.ekit-admin-section{padding:30px 0}.ekit-admin-video-tutorial-list{display:block}.ekit-admin-video-tutorial-list .ekit-admin-video-tutorial-item{margin-bottom:15px}.ekit-admin-video-tutorial-list .ekit-admin-video-tutorial-item:last-child{margin-bottom:0}.ekit-admin-dual-layout{display:block}.ekit-admin-dual-layout.ekit-admin-rate-now-section .ekit-admin-left-thumb,.ekit-admin-dual-layout.ekit-admin-subscribed-section .ekit-admin-left-thumb{margin:0;margin-top:50px}.ekit-admin-dual-layout .ekit-admin-left-thumb{margin-bottom:50px}body .ekit-onboard-dashboard .ekit-onboard-step-wrapper{padding:0}body .ekit-onboard-dashboard .ekit-onboard-shapes{display:none}body .ekit-onboard-dashboard .ekit-onboard-main-header--title{font-size:30px;line-height:35px!important}body .ekit-onboard-dashboard .ekit-onboard-main-header--title br{display:none}body .ekit-onboard-dashboard .ekit-onboard-main-header--description{font-size:16px;line-height:25px}body .ekit-onboard-dashboard .ekit-onboard-section{padding:30px}body .ekit-onboard-dashboard .ekit-onboard-btn{padding:10px 30px}body .ekit-onboard-dashboard .ekit-onboard-single-plugin label{-webkit-box-align:center;-ms-flex-align:center;align-items:center}body .ekit-onboard-dashboard .ekit-onboard-single-plugin--description{text-align:center}body .ekit-onboard-dashboard .ekit-onboard-tutorial{padding:35px 15px}body .ekit-onboard-dashboard .ekit-onboard-module-meta li{display:block;margin:0;margin-bottom:10px}body .ekit-onboard-dashboard .ekit-onboard-modules li{margin-right:0;display:block}body .ekit-onboard-dashboard .ekit-onboard-plugin-list .attr-row>div{-webkit-box-flex:100%;-ms-flex:100%;flex:100%}body .ekit-onboard-dashboard .ekit-onboard-tut-term--helptext{padding-right:0}}body.toplevel_page_elementskit{overflow-y:scroll}#ekit-admin-settings-form{margin-top:30px}.ekit_tab_wraper_group{margin-right:0;margin-left:0}.ekit_tab_wraper_group>div:first-of-type{padding-right:0}.ekit_tab_wraper_group>div:last-of-type{padding-left:0}.ekit_tab_wraper_group .attr-tab-pane{min-height:500px}.attr-tab-content{background-color:#fff;padding:30px;border-radius:20px}.ekit-admin-section-heaer-title{margin-top:0;color:#f2295b;font-size:24px;line-height:28px;font-weight:700;vertical-align:middle;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.ekit-admin-section-heaer-title i{font-size:18px;line-height:18px!important;color:#f2295b;width:40px;height:40px;background-color:#fde9ee;border-radius:5px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle;text-align:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-right:13px}.ekit-admin-nav .attr-nav-tabs{border:none}.ekit-admin-nav li{background-color:#fff}.ekit-admin-nav li.attr-active{border-top-left-radius:10px;border-bottom-left-radius:10px}.ekit-admin-nav li.attr-active .ekit-admin-nav-link{border-radius:10px}.ekit-admin-nav li.attr-active .ekit-admin-nav-link::before{content:"";background-color:#f2295b;height:10px;width:10px;position:absolute;left:17px;border-radius:100px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.ekit-admin-nav li.attr-active .ekit-admin-nav-link:hover{background-color:#fff}.ekit-admin-nav .ekit-admin-nav-link{text-decoration:none;border:none;padding:23px 40px}.ekit-admin-nav .ekit-admin-nav-link .ekit-admin-tab-icon{color:#121116}.ekit-admin-nav .ekit-admin-nav-link.top{border-bottom-right-radius:30px}.ekit-admin-nav .ekit-admin-nav-link.bottom{border-top-right-radius:30px}.ekit-admin-nav .ekit-admin-nav-link.ekit-admin-nav-hidden{background-color:#f1f1f1;cursor:default;padding:15px;pointer-events:none}.ekit-admin-nav .ekit-admin-nav-link:hover{background-color:#f1f1f1}.ekit-admin-nav .ekit-admin-nav-link:focus{outline:0;-webkit-box-shadow:none;box-shadow:none}.ekit-admin-nav .ekit-admin-title{text-transform:uppercase;color:#f2295b;font-size:14px;line-height:16px;font-weight:700}.attr-btn{cursor:pointer}.ekit_container{width:100%}.ekit-admin-card-shadow{border-radius:3px;border:1px solid rgba(0,0,0,.05);-webkit-box-shadow:0 6px 20px 0 rgba(194,204,222,.3);box-shadow:0 6px 20px 0 rgba(194,204,222,.3)}#ekit-admin-settings-form .ekit-admin-card{margin-bottom:50px;border-radius:20px}.attr-input-switch{margin-bottom:10px;position:relative}.ekit-admin-input-switch .ekit-admin-control-label{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;font-weight:600;font-size:14px;line-height:16px;color:#121116;padding:23px 26px}.ekit-all-element-switch{width:23%;display:inline-block;margin:auto 1rem 0 auto;color:#fff;min-width:277px}.ekit-all-element-switch .ekit-admin-input-switch{padding:0}.ekit-all-element-switch .ekit-admin-control-label{padding:7px 26px}.ekit-admin-input-text{margin-bottom:0;margin-top:0!important}.ekit-admin-input-text:not(:last-child){margin-bottom:0}.ekit-admin-input-text>label{font-weight:700;margin-bottom:7px;display:inline-block;color:#121116;font-size:14px;line-height:16px}.ekit-admin-input-text .attr-form-control{border-radius:5px;padding:8px 30px;height:54px;-webkit-box-sizing:border-box;box-sizing:border-box;font-size:14px;line-height:28px;display:inline-block;color:rgba(18,17,22,.4);border:none;-webkit-box-shadow:none;box-shadow:none;color:#121116}.ekit-admin-input-text .attr-form-control:focus{border:1px solid #f2295b;-webkit-box-shadow:none;box-shadow:none;outline:0}#ekit-admin-license-form .attr-form-control{border-radius:3px;border:1px solid rgba(0,0,0,.05);-webkit-box-shadow:0 6px 20px 0 rgba(194,204,222,.3);box-shadow:0 6px 20px 0 rgba(194,204,222,.3)}.ekit-admin-license-form-submit{border-radius:5px;padding:8px 30px;height:54px;-webkit-box-sizing:border-box;box-sizing:border-box}.ekit_logo{padding-top:35px}.ekit-admin-input-text .attr-form-control::-moz-placeholder{color:rgba(0,0,0,.3)}.ekit-admin-input-text .attr-form-control:-moz-placeholder{color:rgba(0,0,0,.3)}.ekit-admin-input-text .attr-form-control:-ms-input-placeholder{color:rgba(0,0,0,.3)}.ekit-admin-input-text .attr-form-control::-webkit-input-placeholder{color:rgba(0,0,0,.3)}.ekit_accordion_card{background-color:#f5f5f5;border-radius:20px}.ekit_accordion_card:not(:last-child){margin-bottom:30px}.ekit_accordion_card .ekit-admin-input-text:not(:last-child){margin-bottom:30px}.ekit_accordion_card .attr-panel-body{padding:30px;padding-top:0}.ekit_accordion_card .card-header{padding:0;border-bottom:0 solid #000}.ekit_accordion_card .attr-btn{display:block;text-decoration:none;width:100%;text-align:left;padding:29px 30px;color:#333;font-weight:700;cursor:pointer;font-size:14px;line-height:16px;text-transform:uppercase;position:relative;-webkit-transition:all .4s;transition:all .4s}.ekit_accordion_card .attr-btn::before{content:"\f107";color:#121116;font-size:16px;font-family:fontawesome;position:absolute;right:30px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.ekit_accordion_card .attr-btn[aria-expanded=true]{color:#f2295b}.ekit_accordion_card .attr-btn[aria-expanded=true]::before{content:"\f106";color:#f2295b}.ekit_accordion_card .attr-btn:focus{-webkit-box-shadow:none;box-shadow:none}.ekit_accordion_card .attr-panel-heading{padding:0;border-radius:0}.ekit_accordion_card .attr-widget-activate-text{text-transform:none;border:1px solid #333;padding:0 6px 1px;border-radius:5px;margin-left:5px}[class^=attr]{-webkit-box-sizing:border-box;box-sizing:border-box}.attr-btn-primary{color:#fff;background-color:#f2295b;border-color:#f2295b;text-decoration:none}.attr-btn-primary:focus,.attr-btn-primary:hover{background-color:#f2295b;border-color:#f2295b;outline:0}.attr-card-body{padding:1.25rem}.attr-card-body .attr-card-title{margin-top:0;margin-bottom:.75rem}.ekit-admin-dashboard-banner{display:block}.ekit-admin-save-icon{color:#fff;font-size:14px;margin-right:6px;height:14px;width:14px}.ekit-admin-input-switch .ekit-admin-settings-form-submit{background-color:#f2295b;border-radius:27px;-webkit-box-shadow:0 7px 15px rgba(242,41,91,.3);box-shadow:0 7px 15px rgba(242,41,91,.3);font-size:14px;line-height:16px;text-transform:uppercase;color:#fff;font-weight:700;border:none;padding:12px 23px;-webkit-transition:all .4s;transition:all .4s;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.ekit-admin-input-switch .ekit-admin-settings-form-submit:focus,.ekit-admin-input-switch .ekit-admin-settings-form-submit:hover{background-color:#ad0730;outline:0}.ekit-admin-section-header{padding-bottom:17px;margin-bottom:30px}.ekit-admin-section-header.fixed{position:fixed;top:0;padding-top:30px;background-color:#fff;z-index:1}.ekit-admin-section-header.fixed+div{margin-top:90px}.ekit-admin-dual-layout{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.ekit-admin-dual-layout .ekit-admin-right-content{margin:0}.ekit-admin-dual-layout .ekit-admin-right-content--heading__sub-title{left:0;-webkit-transform:inherit;transform:inherit}.ekit-admin-section{padding:50px 30px}.ekit-admin-section:last-of-type{padding-bottom:0}.ekit-admin-right-content{padding:0 50px;width:50%;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0 auto}.ekit-admin-right-content p{color:#121116;font-size:18px;line-height:28px}.ekit-admin-right-content p:last-of-type{margin-bottom:0}.ekit-admin-right-content--form{position:relative;max-width:300px}.ekit-admin-right-content--form input{height:54px;background-color:#2d3cfe;border:none;-webkit-box-shadow:none;box-shadow:none;border-radius:27px;padding:0 30px;color:#fff;font-size:14px;-webkit-box-shadow:0 7px 15px rgba(45,60,254,.3);box-shadow:0 7px 15px rgba(45,60,254,.3);padding-right:70px}.ekit-admin-right-content--form input::-webkit-input-placeholder{color:#fff;opacity:.5}.ekit-admin-right-content--form input::-moz-placeholder{color:#fff;opacity:.5}.ekit-admin-right-content--form input:-ms-input-placeholder{color:#fff;opacity:.5}.ekit-admin-right-content--form input::-ms-input-placeholder{color:#fff;opacity:.5}.ekit-admin-right-content--form input::placeholder{color:#fff;opacity:.5}.ekit-admin-right-content--form input:focus{outline:0;border:none;-webkit-box-shadow:0 7px 15px rgba(45,60,254,.3);box-shadow:0 7px 15px rgba(45,60,254,.3)}.ekit-admin-right-content--form button{width:48px;height:48px;background-color:#fff;border-radius:100px;color:#2d3cfe;position:absolute;right:2px;top:50%;border-color:transparent;-webkit-transition:all .4s;transition:all .4s;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.ekit-admin-right-content--form button:focus,.ekit-admin-right-content--form button:hover{outline:0;-webkit-box-shadow:none;box-shadow:none;background-color:inherit;border:1px solid #fff}.ekit-admin-right-content--form button i{font-size:18px;line-height:16px}.ekit-admin-right-content--heading{position:relative}.ekit-admin-right-content--heading h2{color:#f2295b;font-size:24px;line-height:28px;font-weight:700;letter-spacing:-1px}.ekit-admin-right-content--heading__sub-title{font-size:60px;line-height:69px;color:#000;opacity:.05;letter-spacing:-1px;font-weight:700;position:absolute;bottom:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.ekit-admin-right-content--button,.ekit-admin-right-content--form{margin-top:45px}.ekit-admin-right-content--link{display:inline-block;border-radius:27px;background-color:#f2295b;-webkit-box-shadow:0 7px 15px rgba(242,41,91,.3);box-shadow:0 7px 15px rgba(242,41,91,.3);border:none;font-size:14px;line-height:16px;font-weight:700;text-transform:uppercase;padding:19px 34px;-webkit-transition:all .4s;transition:all .4s}.ekit-admin-right-content--link i{margin-right:7px}.ekit-admin-right-content--link:focus,.ekit-admin-right-content--link:hover{background-color:#ad0730}.ekit-admin-subscribed-section .ekit-admin-right-content--heading h2{color:#2d3cfe}.ekit-admin-support-section .ekit-admin-right-content--heading h2{color:#00be75}.ekit-admin-support-section .ekit-admin-right-content--link{background-color:#00be75;-webkit-box-shadow:0 7px 15px rgba(0,190,117,.3);box-shadow:0 7px 15px rgba(0,190,117,.3)}.ekit-admin-support-section .ekit-admin-right-content--link:focus,.ekit-admin-support-section .ekit-admin-right-content--link:hover{background-color:#108458}.ekit-admin-subscribed-section,.ekit-admin-support-section{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.ekit-admin-rate-now-section{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.ekit-admin-rate-now-section .ekit-admin-right-content p span{color:#fec42d}.ekit-admin-rate-now-section .ekit-admin-right-content--heading h2{color:#fec42d}.ekit-admin-rate-now-section .ekit-admin-right-content--link{background-color:#fec42d;-webkit-box-shadow:0 7px 15px rgba(254,196,45,.3);box-shadow:0 7px 15px rgba(254,196,45,.3)}.ekit-admin-rate-now-section .ekit-admin-right-content--link:focus,.ekit-admin-rate-now-section .ekit-admin-right-content--link:hover{background-color:#dea203}.ekit-admin-except-title p{font-size:24px;line-height:25px}.ekit-admin-except-title p span{display:block;font-weight:700}.ekit-admin-left-thumb img{max-width:100%}.ekit-admin-faq-section .ekit-admin-accordion{max-width:700px;margin:0 auto;margin-top:30px}.ekit-admin-single-accordion{background-color:#fff;-webkit-box-shadow:0 7px 15px rgba(0,0,0,.07);box-shadow:0 7px 15px rgba(0,0,0,.07);margin:10px 0}.ekit-admin-single-accordion.active .ekit-admin-single-accordion--heading::after{content:"\f106";color:#f2295b}.ekit-admin-single-accordion--heading{cursor:pointer;margin:0;color:#121116;font-size:14px;line-height:20px;padding:18px 20px;position:relative}.ekit-admin-single-accordion--heading::after{content:"\f107";font-family:fontawesome;position:absolute;right:30px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);font-size:12px}.ekit-admin-single-accordion--body{padding:0;display:none}.ekit-admin-single-accordion--body__content{padding:30px;padding-top:0}.ekit-admin-single-accordion--body p{margin:0}.ekit-admin-video-tutorial-list{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-top:30px}.ekit-admin-video-tutorial-list a{text-decoration:none}.ekit-admin-video-tutorial-list a h2{font-size:18px;line-height:20px;text-align:center;display:block}.ekit-admin-video-tutorial-list .tutorial-thumb{position:relative}.ekit-admin-video-tutorial-list .tutorial-thumb::before{content:"";background-image:url(../images/video-icon.png);display:inline-block;height:30px;width:30px;background-color:#fff;padding:20px;background-repeat:no-repeat;border-radius:100px;-webkit-box-shadow:0 7px 15px rgba(0,0,0,.1);box-shadow:0 7px 15px rgba(0,0,0,.1);background-position:center;position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.ekit-admin-video-tutorial-list .tutorial-thumb img{max-width:100%;display:block}.ekti-admin-video-tutorial-popup{position:fixed;background-color:rgba(0,0,0,.5);width:100%;height:100%;left:0;top:0;overflow-y:auto;z-index:10000;opacity:0;visibility:hidden;-webkit-transition:all .4s;transition:all .4s}.ekti-admin-video-tutorial-popup.show{opacity:1;visibility:visible}.ekti-admin-video-tutorial-popup.show .ekti-admin-video-tutorial-popup-content{-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1)}.ekti-admin-video-tutorial-popup .ekti-admin-video-tutorial-popup-content{position:absolute;top:50%;left:50%;-webkit-transition:all .7s;transition:all .7s;-webkit-transform:translate(-50%,-50%) scale(0);transform:translate(-50%,-50%) scale(0)}.ekti-admin-video-tutorial-close{position:absolute;top:-10px;right:-6px;cursor:pointer;background-color:#ce1b04;border-radius:100px;width:30px;height:30px;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;line-height:33px}.ekti-admin-video-tutorial-close i{color:#fff;font-size:20px}.ekit-admin-access-token{text-decoration:none;color:#f2295b;text-align:right;display:block;font-size:16px;font-weight:600}.ekit-admin-access-token:focus,.ekit-admin-access-token:hover{color:#cd1c48;outline:0}#v-elementskit-userdata{padding-bottom:150px;position:relative;z-index:1}#v-elementskit-userdata .ekit-admin-fields-container{max-width:60%}#v-elementskit-userdata::before{content:"";background-image:url(../images/user-data-thumb.png);position:absolute;display:block;bottom:0;right:0;height:281px;width:444px;display:block;background-repeat:no-repeat;background-position:right bottom;z-index:-1}.ekit-admin-fields-container-description{font-size:18px;line-height:28px;color:#121116;width:55%;display:inline-block}#v-elementskit-elements .ekit-admin-fields-container-fieldset,#v-elementskit-modules .ekit-admin-fields-container-fieldset{margin-top:20px}#v-elementskit-elements .ekit-admin-section-header,#v-elementskit-modules .ekit-admin-section-header{margin-bottom:20px}.ekit-admin-fields-container-fieldset .attr-row{margin-left:-12px;margin-right:-12px}.ekit-admin-fields-container-fieldset .attr-row>div{padding:0 10px}.ekit-admin-fields-container-fieldset .ekit-admin-card-shadow{background-color:#fff;border-radius:10px;-webkit-box-shadow:none;box-shadow:none;border:1px solid #ededed;padding:0;margin:0;margin-bottom:20px}.ekit-admin-fields-container-fieldset .ekit-admin-card-shadow:hover{border-color:#f2295b}.ekit-admin-fields-container-fieldset .attr-input-switch:hover .ekit-admin-demo-tooltip{visibility:visible;opacity:1;top:-10px}.ekit-admin-fields-container-fieldset .ekit-admin-input-radio .ekit-admin-control-input{opacity:1;position:static;z-index:1;-webkit-box-flex:0;-ms-flex:0 0 20px;flex:0 0 20px;width:20px;height:20px;-webkit-box-shadow:none;box-shadow:none;border:2px solid #ccced9;margin-top:26px;position:relative}.ekit-admin-fields-container-fieldset .ekit-admin-input-radio .ekit-admin-control-input:checked{border-color:#fe0467}.ekit-admin-fields-container-fieldset .ekit-admin-input-radio .ekit-admin-control-input:checked::before{background-color:#fe0467;height:10px;width:10px;margin:0;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);position:absolute}.ekit-admin-fields-container-fieldset .ekit-admin-input-radio .ekit-admin-card-shadow{margin-bottom:10px;padding:0 0 0 26px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-shadow:0 1px 2px rgba(2,19,67,.1);box-shadow:0 1px 2px rgba(2,19,67,.1);border:1px solid transparent}.ekit-admin-fields-container-fieldset .ekit-admin-input-radio .ekit-admin-card-shadow.active{-webkit-box-shadow:0 20px 30px rgba(2,19,67,.1);box-shadow:0 20px 30px rgba(2,19,67,.1);position:relative;z-index:1}.ekit-admin-fields-container-fieldset .ekit-admin-input-radio .ekit-admin-card-shadow:hover{border-color:#fe0467}.ekit-admin-fields-container-fieldset .ekit-admin-input-radio .ekit-admin-control-label{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;color:#021343;font-size:20px;line-height:12px;padding:29px 10px;display:block;font-weight:400;width:100%}.ekit-admin-fields-container-fieldset .ekit-admin-input-radio .ekit-admin-control-desc{color:#5d5e65;font-size:14px;line-height:18px;font-weight:400;margin-top:11px;display:block}.ekit-admin-user-data-separator{display:block;border:2px solid #fff;margin-bottom:30px;position:relative}.ekit-admin-user-data-separator::before{content:"";width:40px;height:4px;background-color:#f2295b;display:block;position:absolute;top:-2px;left:-2px}.ekit-admin-demo-tooltip{background-color:#121116;color:#fff;font-size:10px;line-height:13px;text-decoration:none;text-transform:uppercase;padding:2px 9px;border-radius:3px;display:inline-block;position:absolute;right:20px;top:0;opacity:0;visibility:hidden;-webkit-transition:all .4s;transition:all .4s}.ekit-admin-demo-tooltip:focus,.ekit-admin-demo-tooltip:hover{color:#fff;border:none;-webkit-box-shadow:none;box-shadow:none}.ekit-admin-demo-tooltip::before{content:"";border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #121116;position:absolute;bottom:-8px;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.ekit-admin-demo-tooltip i{margin-right:5px}.admin-bar .ekit-admin-section-header.fixed{top:30px}.ekit-go-pro-con{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.ekit-go-pro-close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;border:none;background-color:transparent;position:relative;z-index:9;cursor:pointer}.ekit-go-pro-close:focus{outline:0;border:none;-webkit-box-shadow:none;box-shadow:none}.attr-modal-dialog-centered{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.toplevel_page_elementskit.attr-modal-open .attr-modal{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.modal-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:rgba(0,0,0,.5);z-index:1}.ekit-admin-input-text--elementskit-license-key{display:block}.ekit-admin-license-form-submit.btn-license-activate{background-color:#f2295b;border-radius:27px!important;-webkit-box-shadow:0 7px 15px rgba(242,41,91,.3);box-shadow:0 7px 15px rgba(242,41,91,.3);font-size:14px;line-height:16px;text-transform:uppercase;color:#fff;font-weight:700;border:none;padding:12px 23px;-webkit-transition:all .4s;transition:all .4s;margin-left:0!important;height:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.ekit-admin-license-form-submit.btn-license-activate:focus,.ekit-admin-license-form-submit.btn-license-activate:hover{background-color:#ad0730;outline:0}.attr-input-group-btn{text-align:left;margin-top:0}.ekit-spinner{width:13px!important;height:13px!important;top:0!important}.attr-modal-content{-webkit-box-shadow:none;box-shadow:none}.ekit-go-pro-con .attr-modal-body{padding:30px}.ekit-go-pro-con .attr-modal-body a{color:#f2295b}.ekit-go-pro-con .attr-modal-body a:focus{outline:0;-webkit-box-shadow:none;box-shadow:none}.elementskit-template-save-btn-editor{background-color:#ccc;border:none;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#fff;border-radius:27px;-webkit-box-shadow:0 7px 15px rgba(204,204,204,.3);box-shadow:0 7px 15px rgba(204,204,204,.3);font-size:14px;line-height:16px;text-transform:uppercase;color:#fff;font-weight:700;border:none;padding:12px 23px;-webkit-transition:all .4s;transition:all .4s}.elementskit-template-save-btn-editor:active,.elementskit-template-save-btn-editor:focus,.elementskit-template-save-btn-editor:hover{color:#fff!important;background-color:#adadad!important;outline:0;border:none;-webkit-box-shadow:0 7px 15px rgba(204,204,204,.3)!important;box-shadow:0 7px 15px rgba(204,204,204,.3)!important}.elementskit-template-save-btn-editor img{max-width:14px;margin-right:5px}.elementskit-template-save-btn{background-color:#f2295b;border-radius:27px;-webkit-box-shadow:0 7px 15px rgba(242,41,91,.3);box-shadow:0 7px 15px rgba(242,41,91,.3);font-size:14px;line-height:16px;text-transform:uppercase;color:#fff;font-weight:700;border:none;padding:12px 23px;-webkit-transition:all .4s;transition:all .4s}.elementskit-template-save-btn:focus,.elementskit-template-save-btn:hover{background-color:#ad0730;outline:0}.attr-panel-heading.pro-disabled{position:relative;overflow:hidden;border-radius:20px!important}.attr-panel-heading.pro-disabled .attr-btn::before,.attr-panel-heading.widget-disabled .attr-btn::before{display:none}.attr-panel-heading.pro-disabled::after{background-color:#f2295b;background-image:none;-webkit-box-shadow:rgba(0,5,41,.1) 0 3px 7px 0;box-shadow:rgba(0,5,41,.1) 0 3px 7px 0;color:#fff;content:"PRO";display:block;font-size:10px;font-weight:600;height:25px;left:-41px;line-height:28px;padding-bottom:1px;padding-left:3px;padding-right:0;padding-top:1px;position:absolute;text-align:center;text-transform:uppercase;top:0;-webkit-transform:matrix(.707107,-.707107,.707107,.707107,0,0);transform:matrix(.707107,-.707107,.707107,.707107,0,0);width:100px}.modal-backdrop.attr-fade{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:rgba(0,0,0,.5)}.ekit-go-pro-con{margin-top:50px}.ekit-go-pro-con .icon{font-size:90px;color:#f2295b;opacity:.3}.ekit-go-pro-con h2{font-size:44px;margin:56px 0 34px 0}.ekit-go-pro-con p{font-size:20px;font-weight:300;line-height:1.2}.ekit-go-pro-con .attr-modal-body{padding:30px 15px}#v-elementskit-ekit-go-pro-nav-tab .ekit-admin-tab-icon{height:40px;overflow:visible}.ekit-go-pro-gif{height:58px;position:absolute;top:9px;right:25px;-webkit-transform:rotate(32deg);transform:rotate(32deg);opacity:.55}.attr-nav-tabs>li>#v-elementskit-ekit-go-pro-nav-tab:focus,.attr-nav-tabs>li>#v-elementskit-ekit-go-pro-nav-tab:hover{border-left-color:#fcb214}.attr-nav-tabs>li>#v-elementskit-ekit-go-pro-nav-tab:focus .ekit-go-pro-gif,.attr-nav-tabs>li>#v-elementskit-ekit-go-pro-nav-tab:hover .ekit-go-pro-gif{-webkit-filter:invert(1) brightness(60%) sepia(80%) saturate(10000%) hue-rotate(35deg);filter:invert(1) brightness(60%) sepia(80%) saturate(10000%) hue-rotate(35deg)}.attr-nav-tabs>li>#v-elementskit-ekit-go-pro-nav-tab .ekit-admin-title{color:#fcb214}.ekit-content-type-pro-disabled .ekit-admin-input-switch::before{background-color:#f2295b;background-image:none;-webkit-box-shadow:rgba(0,5,41,.1) 0 3px 7px 0;box-shadow:rgba(0,5,41,.1) 0 3px 7px 0;color:#fff;content:"PRO";display:block;font-size:10px;font-weight:600;height:25px;left:-41px;line-height:28px;padding-bottom:1px;padding-left:3px;padding-right:0;padding-top:1px;position:absolute;text-align:center;text-transform:uppercase;top:0;-webkit-transform:matrix(.707107,-.707107,.707107,.707107,0,0);transform:matrix(.707107,-.707107,.707107,.707107,0,0);width:100px}.attr-panel-heading.pro-disabled{position:relative;overflow:hidden;border-radius:20px!important}.attr-panel-heading.pro-disabled .attr-btn::before{display:none}.attr-panel-heading.pro-disabled::after{background-color:#f2295b;background-image:none;-webkit-box-shadow:rgba(0,5,41,.1) 0 3px 7px 0;box-shadow:rgba(0,5,41,.1) 0 3px 7px 0;color:#fff;content:"PRO";display:block;font-size:10px;font-weight:600;height:25px;left:-41px;line-height:28px;padding-bottom:1px;padding-left:3px;padding-right:0;padding-top:6px;position:absolute;text-align:center;text-transform:uppercase;top:-4px;-webkit-transform:matrix(.707107,-.707107,.707107,.707107,0,0);transform:matrix(.707107,-.707107,.707107,.707107,0,0);width:100px}.ekit-content-type-pro-disabled .ekit-admin-input-switch::after{position:absolute;content:"";top:0;left:0;height:100%;width:100%;opacity:.4}.ekit-admin-accordion-btn{display:block;margin-left:10px;padding:10px 30px 12px;color:#021343;border:2px solid #e3e5eb;border-radius:6px;font-size:15px;font-weight:500;line-height:18px;text-transform:capitalize;-webkit-transition:color .3s,background .3s,border-color .3s;transition:color .3s,background .3s,border-color .3s;cursor:pointer}.ekit-admin-accordion-btn-group{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.ekit-admin-accordion-btn:hover{color:#f2295b;background-color:#fff;border-color:#fff;-webkit-box-shadow:none;box-shadow:none}.ekit-admin-accordion-btn:focus{color:#021343;-webkit-box-shadow:none;box-shadow:none}.ekit-admin-accordion-btn[disabled]{opacity:.85;pointer-events:none}.ekit-admin-accordion-btn-focused{color:#fff;background-color:#f2295b;border-color:#f2295b}.ekit-admin-accordion-btn-focused:focus,.ekit-admin-accordion-btn-focused:hover{color:#fff;background-color:#f2295b;border-color:#f2295b}.ekit-admin-widget-list .ekit-widget-group-title,.ekit-admin-widgets-container .ekit-widget-group-title{color:#021343;font-size:16px;line-height:28px;margin-top:36px;margin-bottom:16px}.ekit-admin-widget-list .ekit-widget-group-title:first-child,.ekit-admin-widgets-container .ekit-widget-group-title:first-child{margin-top:0}.ekit-admin-widget-list .ekit-admin-input-switch .ekit-admin-control-label{height:52px;-webkit-box-sizing:border-box;box-sizing:border-box;font-weight:400;padding-left:15px;padding-right:15px}.ekit-admin-widget-list .ekit-admin-input-switch .ekit-admin-control-label-switch{width:45px;height:20px;margin-left:0;min-width:45px}.ekit-admin-widget-list .ekit-admin-input-switch .ekit-admin-control-label-switch::after{width:12px;height:12px}.ekit-admin-widget-list .ekit-admin-input-switch .ekit-admin-control-label-switch::before{text-indent:18px}.ekit-admin-widget-list .ekit-content-type-pro-disabled .ekit-admin-input-switch::before{font-size:9px;left:-46px;line-height:35px;top:-6px}.ekit-admin-widget-list .ekit-admin-demo-tooltip{right:0}.ekit-admin-widget-list .ekit-admin-control-label-text{padding-right:10px;padding-left:10px}.ekit-admin-widgets-container .ekit-admin-input-switch .ekit-admin-control-label-switch{display:none}.ekit-admin-widgets-container .ekit-admin-input-switch .ekit-admin-control-input{opacity:1;z-index:1;position:static;-webkit-box-shadow:none;box-shadow:none;border:1.5px solid #c0c2ce;height:16px;width:16px;border-radius:3px;margin:0;margin-right:13px;-webkit-transition:background .4s;transition:background .4s}.ekit-admin-widgets-container .ekit-admin-input-switch .ekit-admin-control-input:checked{background-color:#fe0467;border-color:#fe0467}.ekit-admin-widgets-container .ekit-admin-input-switch .ekit-admin-control-input:checked::before{content:"\e983";font-family:elementskit;padding:0;width:auto;height:auto;font-size:10px;font-weight:700;color:#fff;margin:0;position:absolute;top:50%;left:8px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.ekit-admin-widgets-container .attr-input-switch{margin-bottom:0}.ekit-admin-widgets-container .ekit-content-type-pro-disabled .ekit-admin-control-label:after{background-color:rgba(62,119,252,.1);background-image:none;content:"PRO";display:block;position:absolute;text-align:center;text-transform:uppercase;top:50%;right:-40px;color:#3e77fc;font-size:11px;line-height:13px;border-radius:4px;-webkit-transform:translateY(-50%);transform:translateY(-50%);font-weight:500;padding:2px 5px}.ekit-admin-widgets-container .ekit-admin-control-label{padding:0;color:#5d5e65;font-size:14px;line-height:17px;position:relative;font-weight:400}.ekit-admin-widgets-container .ekit-admin-fields-container-fieldset .ekit-admin-card-shadow{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:none;padding:5px;margin-bottom:0}.ekit-admin-widgets-container .ekit-content-type-pro-disabled .ekit-admin-input-switch::before{display:none}.ekit-onboard-dashboard{background-color:#f5f6f9;margin-left:-20px;padding:30px;position:absolute;top:0;left:0;z-index:1;width:calc(100% + 20px);-webkit-box-sizing:border-box;box-sizing:border-box;min-height:calc(100vh - 32px);padding-top:30px;padding-bottom:100px}.ekit-onboard-dashboard .ekit-onboard-btn{color:#fff;font-size:15px;line-height:18px;font-weight:500;background-color:#fe0467;border-radius:6px;text-decoration:none;padding:16px 37px;display:inline-block;-webkit-transition:all .4s;transition:all .4s;-webkit-box-shadow:none;box-shadow:none;outline:0;cursor:pointer;border:none;position:relative}.ekit-onboard-dashboard .ekit-onboard-btn:hover{-webkit-box-shadow:0 10px 20px #d602574d;box-shadow:0 10px 20px #d602574d}.ekit-onboard-dashboard .ekit-onboard-btn.prev{background-color:transparent;color:#021343;padding-right:26px;-webkit-box-shadow:none;box-shadow:none}.ekit-onboard-dashboard .ekit-onboard-btn.prev .icon{margin-right:10px;font-weight:700;position:relative;top:1px}.ekit-onboard-dashboard .ekit-onboard-btn.prev:hover{background-color:transparent;color:#3e77fc}.ekit-onboard-dashboard .ekit-onboard-btn .ekit-spinner{position:absolute;left:16px;top:20px!important}.ekit-onboard-dashboard .ekit-pro-btn{color:#3e77fc;font-size:15px;line-height:18px;background-color:transparent;font-weight:500;border:2px solid #3e77fc;border-radius:6px;padding:11px 32px;-webkit-transition:all .4s;transition:all .4s;text-decoration:none;display:inline-block}.ekit-onboard-dashboard .ekit-pro-btn:hover{background-color:#3e77fc;color:#fff}.ekit-onboard-dashboard .ekit-pro-btn:focus{border-color:#3e77fc;-webkit-box-shadow:none;box-shadow:none}.ekit-onboard-dashboard .ekit-pro-btn .icon{position:relative;top:1px}.ekit-onboard-dashboard .ekit_container{max-width:1110px;margin:auto}.ekit-onboard-dashboard .ekit-onboard-progressbar{background-color:#3e77fc;height:4px;display:block;position:absolute;bottom:-4px;-webkit-transition:all .4s;transition:all .4s}.ekit-onboard-dashboard .ekit-onboard-nav{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-bottom:4px solid #e4e6ee;padding-bottom:20px;position:relative;margin:0;margin-bottom:50px}.ekit-onboard-dashboard .ekit-onboard-nav-item{padding-right:28px;margin-right:37px;color:#5d5e65;font-size:14px;line-height:17px;font-weight:500;cursor:pointer;margin-bottom:0;-webkit-transition:all .4s;transition:all .4s}.ekit-onboard-dashboard .ekit-onboard-nav-item:last-child{margin-right:0}.ekit-onboard-dashboard .ekit-onboard-nav-item.active .ekit-onboard-nav-icon{color:#fff;background-color:#3e77fc}.ekit-onboard-dashboard .ekit-onboard-nav-item.selected .ekit-onboard-nav-icon:before{content:"\e983";color:#3e77fc;font-size:18px}.ekit-onboard-dashboard .ekit-onboard-nav-icon{height:40px;width:40px;background-color:#fff;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:6px;margin-right:11px;-webkit-transition:all .4s;transition:all .4s;font-size:17px}.ekit-onboard-dashboard .ekit-admin-fields-container-description{display:none}.ekit-onboard-dashboard .ekit-onboard-section{background-color:#fff;overflow:hidden;border-radius:6px;padding:50px;margin-bottom:10px;padding-top:30px}.ekit-onboard-dashboard .ekit-onboard-section:last-child{margin-bottom:0}.ekit-onboard-dashboard .ekit-onboard-section-title{font-size:20px;line-height:28px;color:#021343;font-weight:700;margin-top:0;margin-bottom:24px}.ekit-onboard-dashboard .ekit-onboard-module{margin-top:60px}.ekit-onboard-dashboard .ekit-onboard-module .ekit-admin-card-shadow{border-radius:6px;border:2px solid #eff0f5;-webkit-transition:all .4s;transition:all .4s}.ekit-onboard-dashboard .ekit-onboard-module .ekit-admin-card-shadow:hover{border-color:#3e77fc}.ekit-onboard-dashboard .ekit-onboard-module .ekit-admin-control-label{padding:17px 20px 17px 30px;font-size:14px;line-height:17px;font-weight:500;color:#021343}.ekit-onboard-dashboard .ekit-onboard-module .ekit-admin-input-switch::before{background-color:#3e77fc;left:-43px;top:-3px;line-height:34px;-webkit-box-shadow:none;box-shadow:none}.ekit-onboard-dashboard .ekit-onboard-module .ekit-admin-input-switch .ekit-admin-control-label-switch{width:56px}.ekit-onboard-dashboard .ekit-onboard-module .ekit-admin-input-switch .ekit-admin-control-label-switch::before{border-color:#e7e9ef;background-color:#f2f3f5;color:#5d5e65;font-size:14px;line-height:17px;font-weight:400}.ekit-onboard-dashboard .ekit-onboard-module .ekit-admin-input-switch .ekit-admin-control-label-switch:after{background:#777f92;height:16px;width:16px;top:5px}.ekit-onboard-dashboard .ekit-onboard-module .ekit-admin-control-input:checked~.ekit-admin-control-label .ekit-admin-control-label-switch::before{border-color:#e7e9ef;text-indent:8px;content:attr(data-active);font-size:14px;line-height:17px;font-weight:400;color:#3e77fc}.ekit-onboard-dashboard .ekit-onboard-module .ekit-admin-control-input:checked~.ekit-admin-control-label .ekit-admin-control-label-switch:after{left:35px;background-color:#3e77fc;content:''}.ekit-onboard-dashboard .ekit-onboard-widget .ekit-admin-fields-container-fieldset .attr-input-switch .ekit-admin-demo-tooltip{top:-20px;right:inherit;left:32px}.ekit-onboard-dashboard .ekit-onboard-widget .ekit-admin-fields-container-fieldset .attr-input-switch .ekit-admin-demo-tooltip::before{left:15px}.ekit-onboard-dashboard .ekit-admin-fields-container-fieldset{margin:0}.ekit-onboard-dashboard .ekit-onboard-step-wrapper{opacity:0;visibility:hidden;position:absolute;left:-999999px;top:-999999px;-webkit-transition:all .4s;transition:all .4s;padding:0 100px 0 100px}.ekit-onboard-dashboard .ekit-onboard-step-wrapper.active{opacity:1;left:inherit;top:inherit;visibility:visible;position:relative}.ekit-onboard-dashboard .ekit-onboard-main-header{margin-bottom:43px}.ekit-onboard-dashboard .ekit-onboard-main-header--title{color:#021343;font-size:50px;line-height:60px;font-weight:400;margin:0}.ekit-onboard-dashboard .ekit-onboard-main-header--title strong{font-weight:700}.ekit-onboard-dashboard .ekit-onboard-main-header--description{color:#021343;font-size:18px;line-height:28px;margin:0}.ekit-onboard-dashboard .ekit-onboard-signup{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-radius:6px;background-color:#fff;padding:0 26px;padding-right:0;border-left:3px solid #3e77fc;margin:0;-webkit-box-shadow:0 20px 40px rgba(0,10,36,.1);box-shadow:0 20px 40px rgba(0,10,36,.1)}.ekit-onboard-dashboard .ekit-onboard-signup label{color:#aaabaf;font-size:15px}.ekit-onboard-dashboard .ekit-onboard-signup input{color:#98999e;font-size:15px;line-height:18px;font-weight:400;-webkit-box-flex:1;-ms-flex:1;flex:1;padding:19px 15px;outline:0;border:none;-webkit-box-shadow:none;box-shadow:none;padding-left:9px}.ekit-onboard-dashboard .ekit-onboard-signup input:-webkit-autofill,.ekit-onboard-dashboard .ekit-onboard-signup input:-webkit-autofill:active,.ekit-onboard-dashboard .ekit-onboard-signup input:-webkit-autofill:focus,.ekit-onboard-dashboard .ekit-onboard-signup input:-webkit-autofill:hover{-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s}.ekit-onboard-dashboard .ekit-onboard-signup--helptext{color:#021343;font-size:16px;line-height:26px;font-weight:400;margin:0;margin-top:40px}.ekit-onboard-dashboard .ekit-onboard-signup--helptext span{color:#fe0467}.ekit-onboard-dashboard .ekit-onboard-step-2-inner{max-width:100%;padding:0 148px;padding-top:30px}.ekit-onboard-dashboard .ekit-onboard-step-2-inner .error{color:red;font-size:14px;margin:0;position:absolute;margin-top:4px}.ekit-onboard-dashboard .ekit-onboard-step-02:before{content:"";background-image:url(../images/onboard/shape-08.png);height:110px;width:105px;display:block;position:fixed;right:-45px;top:200px}.ekit-onboard-dashboard .ekit-onboard-step-02.active{position:relative!important}.ekit-onboard-dashboard .ekit-onboard-step-02 .ekit-onboard-main-header--title{margin-bottom:12px}.ekit-onboard-dashboard .ekit-onboard-step-02 .ekit-onboard-shapes .shape-01{position:absolute;margin-top:130px;margin-right:25px;-webkit-transition:all .4s;transition:all .4s}.ekit-onboard-dashboard .ekit-onboard-step-02 .ekit-onboard-shapes .shape-09{position:absolute;right:56px;margin-top:16px}.ekit-onboard-dashboard .ekit-onboard-step-02 .ekit-onboard-shapes .shape-07{position:absolute;top:20px;right:220px}.ekit-onboard-dashboard .ekit-onboard-step-02 .ekit-onboard-shapes .shape-02,.ekit-onboard-dashboard .ekit-onboard-step-02 .ekit-onboard-shapes .shape-03{position:absolute;right:0;top:300px;opacity:.3}.ekit-onboard-dashboard .ekit-onboard-step-02 .ekit-onboard-shapes .shape-02{right:inherit;left:0}.ekit-onboard-dashboard .ekit-onboard-step-02 .ekit-onboard-shapes .shape-06{position:absolute;left:-35px;top:130px}.ekit-onboard-dashboard .ekit-onboard-step-02 .ekit-onboard-shapes .shape-05{position:absolute;left:-100px;top:20px}.ekit-onboard-dashboard .ekit-onboard-step-02 .ekit-onboard-shapes .shape-04{position:absolute;top:230px;left:-150px}.ekit-onboard-dashboard .ekit-onboard-step-01{padding:0}.ekit-onboard-dashboard .ekit-onboard-step-01 .ekit-onboard-pagination{padding:0;border:none;margin-top:30px}.ekit-onboard-dashboard .ekit-onboard-step-03{padding-top:0}.ekit-onboard-dashboard .ekit-onboard-step-03 .ekit-onboard-main-header{margin-bottom:26px}.ekit-onboard-dashboard .ekit-onboard-step-03 .shape-11{position:absolute;top:235px;right:0}.ekit-onboard-dashboard .ekit-onboard-step-03 .shape-12{position:absolute;left:20px;bottom:150px}.ekit-onboard-dashboard .ekit-onboard-step-03 .shape-06{position:absolute;top:90px;left:-120px}.ekit-onboard-dashboard .ekit-onboard-step-03 .shape-10{position:absolute;top:185px;left:-50px}.ekit-onboard-dashboard .ekit-onboard-step-03 .shape-13{position:absolute;top:390px;left:-145px}.ekit-onboard-dashboard .ekit-onboard-step-03 .ekit-onboard-main-header--description{color:#5d5e65;font-size:16px;line-height:26px}.ekit-onboard-dashboard .ekit-onboard-step-03 .ekit-onboard-main-header--title{margin-bottom:15px;line-height:50px}.ekit-onboard-dashboard .ekit-onboard-step-03 .ekit-onboard-pagination{margin-top:50px}.ekit-onboard-dashboard .ekit-onboard-step-04 .ekit-onboard-main-header{margin-bottom:50px}.ekit-onboard-dashboard .ekit-onboard-step-04 .ekit-onboard-main-header--title{margin-top:-7px}.ekit-onboard-dashboard .ekit-onboard-step-04 .ekit-onboard-pagination{margin-top:30px}.ekit-onboard-dashboard .ekit-onboard-step-04 .shape-07{position:absolute;top:230px;right:-90px}.ekit-onboard-dashboard .ekit-onboard-step-04 .shape-14{position:absolute;top:100px;left:-200px}.ekit-onboard-dashboard .ekit-onboard-step-04 .shape-15{position:absolute;top:230px;left:-100px}.ekit-onboard-dashboard .ekit-onboard-step-04 .shape-16{position:absolute;left:-130px;top:370px}.ekit-onboard-dashboard .ekit-onboard-step-04 .shape-17{position:absolute;right:45px;top:310px}.ekit-onboard-dashboard .ekit-onboard-plugin-list .attr-row{margin-left:-11px;margin-right:-11px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.ekit-onboard-dashboard .ekit-onboard-plugin-list .attr-row>div{padding:11px}.ekit-onboard-dashboard .ekit-onboard-single-plugin{background-color:#fff;border-radius:6px;-webkit-box-shadow:0 30px 50px rgba(0,10,36,.1);box-shadow:0 30px 50px rgba(0,10,36,.1);position:relative}.ekit-onboard-dashboard .ekit-onboard-single-plugin.badge--featured:before{content:"FEATURED";display:block;position:absolute;top:15px;right:15px;width:65px;padding:7px 11px;color:#fff;background-color:#3e76fa;border-radius:3px;font-size:14px;line-height:1;text-align:center;white-space:nowrap}.ekit-onboard-dashboard .ekit-onboard-single-plugin label{display:block;padding:30px;padding-bottom:40px;cursor:default}.ekit-onboard-dashboard .ekit-onboard-single-plugin--input{border:1px solid #ccced9;-webkit-box-shadow:none;box-shadow:none;background-color:#f5f5f6;height:20px;width:20px;border-radius:50%;position:absolute;top:14px;right:14px;margin:0}.ekit-onboard-dashboard .ekit-onboard-single-plugin--input:checked{background-color:#3e77fc;border-color:#3e77fc}.ekit-onboard-dashboard .ekit-onboard-single-plugin--input:checked::before{content:"\e983";font-family:elementskit;padding:0;width:auto;height:auto;font-size:12px;font-weight:700;color:#fff;margin:0;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.ekit-onboard-dashboard .ekit-onboard-single-plugin--install{color:#021343;font-size:15px;font-weight:500;display:block;border:2px solid #e4e6ee;border-radius:6px;min-height:175px;line-height:175px;position:relative;text-decoration:none}.ekit-onboard-dashboard .ekit-onboard-single-plugin--install i{padding-left:9px;font-weight:700}.ekit-onboard-dashboard .ekit-onboard-single-plugin--description{color:#5d5e65;font-size:16px;line-height:24px;font-weight:400;margin:0}.ekit-onboard-dashboard .ekit-onboard-single-plugin--logo{margin-bottom:12px;min-height:41px}.ekit-onboard-dashboard .ekit-onboard-single-plugin--install_plugin{padding:6px 25px;margin-top:23px}.ekit-onboard-dashboard .ekit-onboard-single-plugin--install_plugin.ekit-plugin-install-activate{cursor:no-drop;background-color:#ccc;color:#fff;border-color:#ccc}.ekit-onboard-dashboard .ekit-onboard-single-plugin--install_plugin.activated{cursor:default}.ekit-onboard-dashboard .ekit-onboard-tutorial{text-align:center;background-image:url(../images/onboard/tutorial-banner.png);background-repeat:no-repeat;background-size:cover;background-position:center;padding:80px 0;border-radius:14px;-webkit-box-shadow:0 30px 40px rgba(0,8,30,.2);box-shadow:0 30px 40px rgba(0,8,30,.2);position:relative;overflow:hidden}.ekit-onboard-dashboard .ekit-onboard-tutorial--btn{display:inline-block;padding:50px;border:1px solid rgba(255,255,255,.06);border-radius:100%}.ekit-onboard-dashboard .ekit-onboard-tutorial--link{text-decoration:none;display:inline-block;padding:35px;border:2px solid rgba(255,255,255,.1);border-radius:100%}.ekit-onboard-dashboard .ekit-onboard-tutorial i{color:#fff;font-size:25px;background-color:#fe0467;height:90px;width:90px;display:block;line-height:90px;text-align:center;border-radius:100%;margin:auto;border:1px solid red;margin:10px;-webkit-transition:all .4s;transition:all .4s}.ekit-onboard-dashboard .ekit-onboard-tutorial i:before{margin-left:5px}.ekit-onboard-dashboard .ekit-onboard-tutorial i:hover{background-color:#fff;color:#fe0467;border-color:#fff}.ekit-onboard-dashboard .ekit-onboard-tutorial .ekti-admin-video-tutorial-popup{position:absolute}.ekit-onboard-dashboard .ekit-onboard-tutorial .ekti-admin-video-tutorial-popup iframe{width:100%;height:100%}.ekit-onboard-dashboard .ekit-onboard-tutorial .ekti-admin-video-tutorial-popup .ekti-admin-video-tutorial-iframe{height:100%}.ekit-onboard-dashboard .ekit-onboard-tut-term{margin-top:35px}.ekit-onboard-dashboard .ekit-onboard-tut-term--label{color:#5d5e65;font-size:16px;line-height:26px;font-weight:400}.ekit-onboard-dashboard .ekit-onboard-tut-term--input{height:18px;width:18px;-webkit-box-shadow:none;box-shadow:none;border:1.5px solid #c0c2ce;background-color:#f5f5f6;border-radius:4px;position:relative;box-shadow:none;outline:0}.ekit-onboard-dashboard .ekit-onboard-tut-term--input:checked{background-color:#fe0467;border-color:#fe0467}.ekit-onboard-dashboard .ekit-onboard-tut-term--input:checked::before{content:"\e983";font-family:elementskit;padding:0;width:auto;height:auto;font-size:10px;font-weight:700;color:#fff;margin:0;position:absolute;top:50%;left:3px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.ekit-onboard-dashboard .ekit-onboard-tut-term--input:focus{-webkit-box-shadow:none;box-shadow:none;outline:0}.ekit-onboard-dashboard .ekit-onboard-tut-term--help{margin:0;color:#021343;font-size:14px;font-weight:500;line-height:26px;margin-top:10px;cursor:pointer}.ekit-onboard-dashboard .ekit-onboard-tut-term--help:hover{color:#3e77fc}.ekit-onboard-dashboard .ekit-onboard-tut-term--help.active{color:#3e77fc}.ekit-onboard-dashboard .ekit-onboard-tut-term--helptext{height:0;-webkit-transition:opacity .4s;transition:opacity .4s;opacity:0;visibility:hidden;line-height:22px;color:#5d5e65;font-size:14px;cursor:default;font-weight:400;position:absolute;padding-right:95px;margin-top:20px;margin-bottom:-4px}.ekit-onboard-dashboard .ekit-onboard-tut-term--helptext.active{opacity:1;visibility:visible;height:auto;position:static}.ekit-onboard-dashboard .ekit-onboard-tut-term--helptext:hover{text-decoration:none}.ekit-onboard-dashboard .ekit-onboard-pagination{text-align:right;border-top:1px solid #e4e6ee;padding-top:20px;margin-top:60px}.ekit-onboard-dashboard .ekit-onboard-shapes{position:absolute;top:50%;width:100%;left:0;-webkit-transform:translateY(-50%);transform:translateY(-50%);height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;z-index:-9}.ekit-onboard-dashboard .ekit-onboard-pro-features h2{margin:0;color:#021343;font-size:24px;line-height:29px;margin-bottom:35px}.ekit-onboard-dashboard .ekit-onboard-pro-features h2 span{color:#fe0467;position:relative;display:inline-block}.ekit-onboard-dashboard .ekit-onboard-pro-features h2 span:before{content:"";background-image:url(../images/onboard/pro-line-shape.png);width:64px;height:44px;display:block;top:50%;position:absolute;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);left:50%}.ekit-onboard-dashboard .ekit-onboard-modules li{display:inline-block;color:#021343;font-size:14px;line-height:18px;font-weight:500;background-color:#fff;-webkit-box-shadow:0 30px 40px rgba(0,10,36,.1);box-shadow:0 30px 40px rgba(0,10,36,.1);border-radius:4px;padding-left:10px;padding-right:50px;padding-top:4px;padding-bottom:4px;margin-right:20px;margin-bottom:20px}.ekit-onboard-dashboard .ekit-onboard-modules img{display:inline-block;vertical-align:middle}.ekit-onboard-dashboard .ekit-onboard-modules span{display:inline-block;padding-left:10px}.ekit-onboard-dashboard .ekit-onboard-module-meta{margin:0;margin-top:30px;margin-bottom:50px}.ekit-onboard-dashboard .ekit-onboard-module-meta li{display:inline-block;font-size:14px;line-height:17px;font-weight:500;margin:0;color:#5d5e65;margin-right:45px}.ekit-onboard-dashboard .ekit-onboard-module-meta li:last-child{margin-right:0}.ekit-onboard-dashboard .ekit-onboard-module-meta li .icon{font-size:12px;height:24px;width:24px;display:inline-block;background-color:rgba(62,119,252,.1);text-align:center;border-radius:100%;line-height:24px;color:#3e77fc;margin-right:7px}.ekit-onboard-dashboard .ekit-onboard-step-05 .ekit-onboard-main-header{margin-bottom:44px}.ekit-onboard-dashboard .ekit-onboard-step-05 .ekit-onboard-pagination{margin-top:70px}.ekit-onboard-dashboard .ekit-onboard-step-05 .shape-14{position:absolute;top:90px;left:-200px}.ekit-onboard-dashboard .ekit-onboard-step-05 .shape-15{position:absolute;top:240px;left:-124px}.ekit-onboard-dashboard .ekit-onboard-step-05 .shape-18{position:absolute;margin-right:150px;margin-top:80px}.ekit-onboard-dashboard .ekit-onboard-step-05 .shape-19{position:absolute;top:240px;right:80px}.ekit-onboard-dashboard .ekit-onboard-step-06 .ekit-onboard-main-header{text-align:center}.ekit-onboard-dashboard .ekit-onboard-step-06 .ekit-onboard-btn{margin-top:43px}.ekit-onboard-dashboard .ekit-onboard-step-06 .ekit-onboard-main-header{padding-top:20px}.ekit-onboard-dashboard .ekit-onboard-step-06 .ekit-onboard-main-header--description{font-size:16px;line-height:26px}.ekit-onboard-dashboard .ekit-onboard-step-06 .ekit-onboard-main-header--title{margin-bottom:10px}.ekit-onboard-dashboard .ekit-onboard-step-06 .shape-04{position:absolute;left:20px;top:400px}.ekit-onboard-dashboard .ekit-onboard-step-06 .shape-07{position:absolute;top:100px;right:74px}.ekit-onboard-dashboard .ekit-onboard-step-06 .shape-15{position:absolute;left:130px;top:200px}.ekit-onboard-dashboard .ekit-onboard-step-06 .shape-21{position:absolute;top:90px;left:0}.ekit-onboard-dashboard .ekit-onboard-step-06 .shape-22{position:absolute;top:300px;right:95px}@-webkit-keyframes infinite-spinning{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes infinite-spinning{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.ekit-spinner{display:none;position:relative;width:18px;height:18px;border-radius:18px;background:rgba(0,0,0,.5);-webkit-animation:infinite-spinning 1.08s linear infinite;animation:infinite-spinning 1.08s linear infinite;vertical-align:middle;margin-right:7px;top:-1px}.is-loading .ekit-spinner{display:inline-block}.ekit-spinner:after{content:"";position:absolute;top:2px;left:50%;width:4px;height:4px;border-radius:4px;margin-left:-2px;background:#fff}.ekit-admin-fields-container-description{margin-bottom:16px}.ekit-admin-dashboard-banner{width:100%}.xx{margin:16px 0 0 0!important}.ekit-admin-input-text{margin-top:2rem}.ekit-admin-section-heaer-title>i{display:inline-block;width:48px;height:48px;line-height:48px!important;margin-right:24px;background-color:#fee9ee;color:#f2295b;text-align:center;border-radius:3px;vertical-align:middle;font-size:20px}.attr-card-body{position:relative;overflow:hidden}.ekit-admin-section-heaer-title::before{display:none}.ekit_tab_wraper{margin:0 15px}.btn-license-activate{border-radius:4px!important;margin:0 0 0 15px!important}.ekit-admin-form{margin-top:30px}@-webkit-keyframes Gradient{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}@keyframes Gradient{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}a.toplevel_page_elementskit.wp-menu-open{background:linear-gradient(-45deg,#ee7752,#e73c7e,#23a6d5,#23d5ab)!important;-webkit-animation:Gradient 15s ease infinite;animation:Gradient 15s ease infinite;background-size:400% 400%!important;color:#fff!important}#ekit-admin-option-text-elementskit-license-key{color:#f2295b}.attr-panel-body .ekit-admin-input-switch{padding:0 0 11px;border-width:0;-webkit-box-shadow:none;box-shadow:none}.attr-panel-body .ekit-admin-input-switch>label{padding:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;-ms-grid-row-align:flex-start;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.attr-panel-body .ekit-admin-input-switch>label>span{margin-top:10px;margin-left:0}
1
+ .attr-carousel-inner>.attr-item>a>img,.attr-carousel-inner>.attr-item>img,.attr-img-responsive,.attr-thumbnail a>img,.attr-thumbnail>img{display:block;max-width:100%;height:auto}.attr-img-rounded{border-radius:6px}.attr-img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.attr-img-circle{border-radius:50%}.attr-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.attr-sr-only-focusable:active,.attr-sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.attr-h1,.attr-h2,.attr-h3,.attr-h4,.attr-h5,.attr-h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.attr-h1 .attr-small,.attr-h1 small,.attr-h2 .attr-small,.attr-h2 small,.attr-h3 .attr-small,.attr-h3 small,.attr-h4 .attr-small,.attr-h4 small,.attr-h5 .attr-small,.attr-h5 small,.attr-h6 .attr-small,.attr-h6 small,h1 .attr-small,h2 .attr-small,h3 .attr-small,h4 .attr-small,h5 .attr-small,h6 .attr-small{font-weight:400;line-height:1;color:#777}.attr-h1,.attr-h2,.attr-h3{margin-top:20px;margin-bottom:10px}.attr-h1 .attr-small,.attr-h1 small,.attr-h2 .attr-small,.attr-h2 small,.attr-h3 .attr-small,.attr-h3 small,h1 .attr-small,h2 .attr-small,h3 .attr-small{font-size:65%}.attr-h4,.attr-h5,.attr-h6{margin-top:10px;margin-bottom:10px}.attr-h4 .attr-small,.attr-h4 small,.attr-h5 .attr-small,.attr-h5 small,.attr-h6 .attr-small,.attr-h6 small,h4 .attr-small,h5 .attr-small,h6 .attr-small{font-size:75%}.attr-h1{font-size:36px}.attr-h2{font-size:30px}.attr-h3{font-size:24px}.attr-h4{font-size:18px}.attr-h5{font-size:14px}.attr-h6{font-size:12px}.attr-lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.attr-lead{font-size:21px}}.attr-small{font-size:85%}.attr-mark{padding:.2em;background-color:#fcf8e3}.attr-text-left{text-align:left}.attr-text-right{text-align:right}.attr-text-center{text-align:center}.attr-text-justify{text-align:justify}.attr-text-nowrap{white-space:nowrap}.attr-text-lowercase{text-transform:lowercase}.attr-text-uppercase{text-transform:uppercase}.attr-text-capitalize{text-transform:capitalize}.attr-text-muted{color:#777}.attr-text-primary{color:#337ab7}a.attr-text-primary:focus,a.attr-text-primary:hover{color:#286090}.attr-text-success{color:#3c763d}a.attr-text-success:focus,a.attr-text-success:hover{color:#2b542c}.attr-text-info{color:#31708f}a.attr-text-info:focus,a.attr-text-info:hover{color:#245269}.attr-text-warning{color:#8a6d3b}a.attr-text-warning:focus,a.attr-text-warning:hover{color:#66512c}.attr-text-danger{color:#a94442}a.attr-text-danger:focus,a.attr-text-danger:hover{color:#843534}.attr-bg-primary{color:#fff;background-color:#337ab7}a.attr-bg-primary:focus,a.attr-bg-primary:hover{background-color:#286090}.attr-bg-success{background-color:#dff0d8}a.attr-bg-success:focus,a.attr-bg-success:hover{background-color:#c1e2b3}.attr-bg-info{background-color:#d9edf7}a.attr-bg-info:focus,a.attr-bg-info:hover{background-color:#afd9ee}.attr-bg-warning{background-color:#fcf8e3}a.attr-bg-warning:focus,a.attr-bg-warning:hover{background-color:#f7ecb5}.attr-bg-danger{background-color:#f2dede}a.attr-bg-danger:focus,a.attr-bg-danger:hover{background-color:#e4b9b9}.attr-page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}.attr-list-unstyled{padding-left:0;list-style:none}.attr-list-inline{padding-left:0;margin-left:-5px;list-style:none}.attr-list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}@media (min-width:768px){.attr-dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.attr-dl-horizontal dd{margin-left:180px}}.attr-initialism{font-size:90%;text-transform:uppercase}.attr-pre-scrollable{max-height:340px;overflow-y:scroll}.attr-container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.attr-container{width:750px}}@media (min-width:992px){.attr-container{width:970px}}@media (min-width:1200px){.attr-container{width:1170px}}.attr-container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.attr-row{margin-right:-15px;margin-left:-15px}.attr-col-lg-1,.attr-col-lg-10,.attr-col-lg-11,.attr-col-lg-12,.attr-col-lg-2,.attr-col-lg-3,.attr-col-lg-4,.attr-col-lg-5,.attr-col-lg-6,.attr-col-lg-7,.attr-col-lg-8,.attr-col-lg-9,.attr-col-md-1,.attr-col-md-10,.attr-col-md-11,.attr-col-md-12,.attr-col-md-2,.attr-col-md-3,.attr-col-md-4,.attr-col-md-5,.attr-col-md-6,.attr-col-md-7,.attr-col-md-8,.attr-col-md-9,.attr-col-sm-1,.attr-col-sm-10,.attr-col-sm-11,.attr-col-sm-12,.attr-col-sm-2,.attr-col-sm-3,.attr-col-sm-4,.attr-col-sm-5,.attr-col-sm-6,.attr-col-sm-7,.attr-col-sm-8,.attr-col-sm-9,.attr-col-xs-1,.attr-col-xs-10,.attr-col-xs-11,.attr-col-xs-12,.attr-col-xs-2,.attr-col-xs-3,.attr-col-xs-4,.attr-col-xs-5,.attr-col-xs-6,.attr-col-xs-7,.attr-col-xs-8,.attr-col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.attr-col-xs-1,.attr-col-xs-10,.attr-col-xs-11,.attr-col-xs-12,.attr-col-xs-2,.attr-col-xs-3,.attr-col-xs-4,.attr-col-xs-5,.attr-col-xs-6,.attr-col-xs-7,.attr-col-xs-8,.attr-col-xs-9{float:left}.attr-col-xs-12{width:100%}.attr-col-xs-11{width:91.66666667%}.attr-col-xs-10{width:83.33333333%}.attr-col-xs-9{width:75%}.attr-col-xs-8{width:66.66666667%}.attr-col-xs-7{width:58.33333333%}.attr-col-xs-6{width:50%}.attr-col-xs-5{width:41.66666667%}.attr-col-xs-4{width:33.33333333%}.attr-col-xs-3{width:25%}.attr-col-xs-2{width:16.66666667%}.attr-col-xs-1{width:8.33333333%}.attr-col-xs-pull-12{right:100%}.attr-col-xs-pull-11{right:91.66666667%}.attr-col-xs-pull-10{right:83.33333333%}.attr-col-xs-pull-9{right:75%}.attr-col-xs-pull-8{right:66.66666667%}.attr-col-xs-pull-7{right:58.33333333%}.attr-col-xs-pull-6{right:50%}.attr-col-xs-pull-5{right:41.66666667%}.attr-col-xs-pull-4{right:33.33333333%}.attr-col-xs-pull-3{right:25%}.attr-col-xs-pull-2{right:16.66666667%}.attr-col-xs-pull-1{right:8.33333333%}.attr-col-xs-pull-0{right:auto}.attr-col-xs-push-12{left:100%}.attr-col-xs-push-11{left:91.66666667%}.attr-col-xs-push-10{left:83.33333333%}.attr-col-xs-push-9{left:75%}.attr-col-xs-push-8{left:66.66666667%}.attr-col-xs-push-7{left:58.33333333%}.attr-col-xs-push-6{left:50%}.attr-col-xs-push-5{left:41.66666667%}.attr-col-xs-push-4{left:33.33333333%}.attr-col-xs-push-3{left:25%}.attr-col-xs-push-2{left:16.66666667%}.attr-col-xs-push-1{left:8.33333333%}.attr-col-xs-push-0{left:auto}.attr-col-xs-offset-12{margin-left:100%}.attr-col-xs-offset-11{margin-left:91.66666667%}.attr-col-xs-offset-10{margin-left:83.33333333%}.attr-col-xs-offset-9{margin-left:75%}.attr-col-xs-offset-8{margin-left:66.66666667%}.attr-col-xs-offset-7{margin-left:58.33333333%}.attr-col-xs-offset-6{margin-left:50%}.attr-col-xs-offset-5{margin-left:41.66666667%}.attr-col-xs-offset-4{margin-left:33.33333333%}.attr-col-xs-offset-3{margin-left:25%}.attr-col-xs-offset-2{margin-left:16.66666667%}.attr-col-xs-offset-1{margin-left:8.33333333%}.attr-col-xs-offset-0{margin-left:0}@media (min-width:768px){.attr-col-sm-1,.attr-col-sm-10,.attr-col-sm-11,.attr-col-sm-12,.attr-col-sm-2,.attr-col-sm-3,.attr-col-sm-4,.attr-col-sm-5,.attr-col-sm-6,.attr-col-sm-7,.attr-col-sm-8,.attr-col-sm-9{float:left}.attr-col-sm-12{width:100%}.attr-col-sm-11{width:91.66666667%}.attr-col-sm-10{width:83.33333333%}.attr-col-sm-9{width:75%}.attr-col-sm-8{width:66.66666667%}.attr-col-sm-7{width:58.33333333%}.attr-col-sm-6{width:50%}.attr-col-sm-5{width:41.66666667%}.attr-col-sm-4{width:33.33333333%}.attr-col-sm-3{width:25%}.attr-col-sm-2{width:16.66666667%}.attr-col-sm-1{width:8.33333333%}.attr-col-sm-pull-12{right:100%}.attr-col-sm-pull-11{right:91.66666667%}.attr-col-sm-pull-10{right:83.33333333%}.attr-col-sm-pull-9{right:75%}.attr-col-sm-pull-8{right:66.66666667%}.attr-col-sm-pull-7{right:58.33333333%}.attr-col-sm-pull-6{right:50%}.attr-col-sm-pull-5{right:41.66666667%}.attr-col-sm-pull-4{right:33.33333333%}.attr-col-sm-pull-3{right:25%}.attr-col-sm-pull-2{right:16.66666667%}.attr-col-sm-pull-1{right:8.33333333%}.attr-col-sm-pull-0{right:auto}.attr-col-sm-push-12{left:100%}.attr-col-sm-push-11{left:91.66666667%}.attr-col-sm-push-10{left:83.33333333%}.attr-col-sm-push-9{left:75%}.attr-col-sm-push-8{left:66.66666667%}.attr-col-sm-push-7{left:58.33333333%}.attr-col-sm-push-6{left:50%}.attr-col-sm-push-5{left:41.66666667%}.attr-col-sm-push-4{left:33.33333333%}.attr-col-sm-push-3{left:25%}.attr-col-sm-push-2{left:16.66666667%}.attr-col-sm-push-1{left:8.33333333%}.attr-col-sm-push-0{left:auto}.attr-col-sm-offset-12{margin-left:100%}.attr-col-sm-offset-11{margin-left:91.66666667%}.attr-col-sm-offset-10{margin-left:83.33333333%}.attr-col-sm-offset-9{margin-left:75%}.attr-col-sm-offset-8{margin-left:66.66666667%}.attr-col-sm-offset-7{margin-left:58.33333333%}.attr-col-sm-offset-6{margin-left:50%}.attr-col-sm-offset-5{margin-left:41.66666667%}.attr-col-sm-offset-4{margin-left:33.33333333%}.attr-col-sm-offset-3{margin-left:25%}.attr-col-sm-offset-2{margin-left:16.66666667%}.attr-col-sm-offset-1{margin-left:8.33333333%}.attr-col-sm-offset-0{margin-left:0}}@media (min-width:992px){.attr-col-md-1,.attr-col-md-10,.attr-col-md-11,.attr-col-md-12,.attr-col-md-2,.attr-col-md-3,.attr-col-md-4,.attr-col-md-5,.attr-col-md-6,.attr-col-md-7,.attr-col-md-8,.attr-col-md-9{float:left}.attr-col-md-12{width:100%}.attr-col-md-11{width:91.66666667%}.attr-col-md-10{width:83.33333333%}.attr-col-md-9{width:75%}.attr-col-md-8{width:66.66666667%}.attr-col-md-7{width:58.33333333%}.attr-col-md-6{width:50%}.attr-col-md-5{width:41.66666667%}.attr-col-md-4{width:33.33333333%}.attr-col-md-3{width:25%}.attr-col-md-2{width:16.66666667%}.attr-col-md-1{width:8.33333333%}.attr-col-md-pull-12{right:100%}.attr-col-md-pull-11{right:91.66666667%}.attr-col-md-pull-10{right:83.33333333%}.attr-col-md-pull-9{right:75%}.attr-col-md-pull-8{right:66.66666667%}.attr-col-md-pull-7{right:58.33333333%}.attr-col-md-pull-6{right:50%}.attr-col-md-pull-5{right:41.66666667%}.attr-col-md-pull-4{right:33.33333333%}.attr-col-md-pull-3{right:25%}.attr-col-md-pull-2{right:16.66666667%}.attr-col-md-pull-1{right:8.33333333%}.attr-col-md-pull-0{right:auto}.attr-col-md-push-12{left:100%}.attr-col-md-push-11{left:91.66666667%}.attr-col-md-push-10{left:83.33333333%}.attr-col-md-push-9{left:75%}.attr-col-md-push-8{left:66.66666667%}.attr-col-md-push-7{left:58.33333333%}.attr-col-md-push-6{left:50%}.attr-col-md-push-5{left:41.66666667%}.attr-col-md-push-4{left:33.33333333%}.attr-col-md-push-3{left:25%}.attr-col-md-push-2{left:16.66666667%}.attr-col-md-push-1{left:8.33333333%}.attr-col-md-push-0{left:auto}.attr-col-md-offset-12{margin-left:100%}.attr-col-md-offset-11{margin-left:91.66666667%}.attr-col-md-offset-10{margin-left:83.33333333%}.attr-col-md-offset-9{margin-left:75%}.attr-col-md-offset-8{margin-left:66.66666667%}.attr-col-md-offset-7{margin-left:58.33333333%}.attr-col-md-offset-6{margin-left:50%}.attr-col-md-offset-5{margin-left:41.66666667%}.attr-col-md-offset-4{margin-left:33.33333333%}.attr-col-md-offset-3{margin-left:25%}.attr-col-md-offset-2{margin-left:16.66666667%}.attr-col-md-offset-1{margin-left:8.33333333%}.attr-col-md-offset-0{margin-left:0}}@media (min-width:1200px){.attr-col-lg-1,.attr-col-lg-10,.attr-col-lg-11,.attr-col-lg-12,.attr-col-lg-2,.attr-col-lg-3,.attr-col-lg-4,.attr-col-lg-5,.attr-col-lg-6,.attr-col-lg-7,.attr-col-lg-8,.attr-col-lg-9{float:left}.attr-col-lg-12{width:100%}.attr-col-lg-11{width:91.66666667%}.attr-col-lg-10{width:83.33333333%}.attr-col-lg-9{width:75%}.attr-col-lg-8{width:66.66666667%}.attr-col-lg-7{width:58.33333333%}.attr-col-lg-6{width:50%}.attr-col-lg-5{width:41.66666667%}.attr-col-lg-4{width:33.33333333%}.attr-col-lg-3{width:25%}.attr-col-lg-2{width:16.66666667%}.attr-col-lg-1{width:8.33333333%}.attr-col-lg-pull-12{right:100%}.attr-col-lg-pull-11{right:91.66666667%}.attr-col-lg-pull-10{right:83.33333333%}.attr-col-lg-pull-9{right:75%}.attr-col-lg-pull-8{right:66.66666667%}.attr-col-lg-pull-7{right:58.33333333%}.attr-col-lg-pull-6{right:50%}.attr-col-lg-pull-5{right:41.66666667%}.attr-col-lg-pull-4{right:33.33333333%}.attr-col-lg-pull-3{right:25%}.attr-col-lg-pull-2{right:16.66666667%}.attr-col-lg-pull-1{right:8.33333333%}.attr-col-lg-pull-0{right:auto}.attr-col-lg-push-12{left:100%}.attr-col-lg-push-11{left:91.66666667%}.attr-col-lg-push-10{left:83.33333333%}.attr-col-lg-push-9{left:75%}.attr-col-lg-push-8{left:66.66666667%}.attr-col-lg-push-7{left:58.33333333%}.attr-col-lg-push-6{left:50%}.attr-col-lg-push-5{left:41.66666667%}.attr-col-lg-push-4{left:33.33333333%}.attr-col-lg-push-3{left:25%}.attr-col-lg-push-2{left:16.66666667%}.attr-col-lg-push-1{left:8.33333333%}.attr-col-lg-push-0{left:auto}.attr-col-lg-offset-12{margin-left:100%}.attr-col-lg-offset-11{margin-left:91.66666667%}.attr-col-lg-offset-10{margin-left:83.33333333%}.attr-col-lg-offset-9{margin-left:75%}.attr-col-lg-offset-8{margin-left:66.66666667%}.attr-col-lg-offset-7{margin-left:58.33333333%}.attr-col-lg-offset-6{margin-left:50%}.attr-col-lg-offset-5{margin-left:41.66666667%}.attr-col-lg-offset-4{margin-left:33.33333333%}.attr-col-lg-offset-3{margin-left:25%}.attr-col-lg-offset-2{margin-left:16.66666667%}.attr-col-lg-offset-1{margin-left:8.33333333%}.attr-col-lg-offset-0{margin-left:0}}.attr-table{width:100%;max-width:100%;margin-bottom:20px}.attr-table>tbody>tr>td,.attr-table>tbody>tr>th,.attr-table>tfoot>tr>td,.attr-table>tfoot>tr>th,.attr-table>thead>tr>td,.attr-table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.attr-table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.attr-table>caption+thead>tr:first-child>td,.attr-table>caption+thead>tr:first-child>th,.attr-table>colgroup+thead>tr:first-child>td,.attr-table>colgroup+thead>tr:first-child>th,.attr-table>thead:first-child>tr:first-child>td,.attr-table>thead:first-child>tr:first-child>th{border-top:0}.attr-table>tbody+tbody{border-top:2px solid #ddd}.attr-table .attr-table{background-color:#fff}.attr-table-condensed>tbody>tr>td,.attr-table-condensed>tbody>tr>th,.attr-table-condensed>tfoot>tr>td,.attr-table-condensed>tfoot>tr>th,.attr-table-condensed>thead>tr>td,.attr-table-condensed>thead>tr>th{padding:5px}.attr-table-bordered{border:1px solid #ddd}.attr-table-bordered>tbody>tr>td,.attr-table-bordered>tbody>tr>th,.attr-table-bordered>tfoot>tr>td,.attr-table-bordered>tfoot>tr>th,.attr-table-bordered>thead>tr>td,.attr-table-bordered>thead>tr>th{border:1px solid #ddd}.attr-table-bordered>thead>tr>td,.attr-table-bordered>thead>tr>th{border-bottom-width:2px}.attr-table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.attr-table-hover>tbody>tr:hover{background-color:#f5f5f5}.attr-table>tbody>tr.attr-active>td,.attr-table>tbody>tr.attr-active>th,.attr-table>tbody>tr>td.attr-active,.attr-table>tbody>tr>th.attr-active,.attr-table>tfoot>tr.attr-active>td,.attr-table>tfoot>tr.attr-active>th,.attr-table>tfoot>tr>td.attr-active,.attr-table>tfoot>tr>th.attr-active,.attr-table>thead>tr.attr-active>td,.attr-table>thead>tr.attr-active>th,.attr-table>thead>tr>td.attr-active,.attr-table>thead>tr>th.attr-active{background-color:#f5f5f5}.attr-table-hover>tbody>tr.attr-active:hover>td,.attr-table-hover>tbody>tr.attr-active:hover>th,.attr-table-hover>tbody>tr:hover>.attr-active,.attr-table-hover>tbody>tr>td.attr-active:hover,.attr-table-hover>tbody>tr>th.attr-active:hover{background-color:#e8e8e8}.attr-table>tbody>tr.attr-success>td,.attr-table>tbody>tr.attr-success>th,.attr-table>tbody>tr>td.attr-success,.attr-table>tbody>tr>th.attr-success,.attr-table>tfoot>tr.attr-success>td,.attr-table>tfoot>tr.attr-success>th,.attr-table>tfoot>tr>td.attr-success,.attr-table>tfoot>tr>th.attr-success,.attr-table>thead>tr.attr-success>td,.attr-table>thead>tr.attr-success>th,.attr-table>thead>tr>td.attr-success,.attr-table>thead>tr>th.attr-success{background-color:#dff0d8}.attr-table-hover>tbody>tr.attr-success:hover>td,.attr-table-hover>tbody>tr.attr-success:hover>th,.attr-table-hover>tbody>tr:hover>.attr-success,.attr-table-hover>tbody>tr>td.attr-success:hover,.attr-table-hover>tbody>tr>th.attr-success:hover{background-color:#d0e9c6}.attr-table>tbody>tr.attr-info>td,.attr-table>tbody>tr.attr-info>th,.attr-table>tbody>tr>td.attr-info,.attr-table>tbody>tr>th.attr-info,.attr-table>tfoot>tr.attr-info>td,.attr-table>tfoot>tr.attr-info>th,.attr-table>tfoot>tr>td.attr-info,.attr-table>tfoot>tr>th.attr-info,.attr-table>thead>tr.attr-info>td,.attr-table>thead>tr.attr-info>th,.attr-table>thead>tr>td.attr-info,.attr-table>thead>tr>th.attr-info{background-color:#d9edf7}.attr-table-hover>tbody>tr.attr-info:hover>td,.attr-table-hover>tbody>tr.attr-info:hover>th,.attr-table-hover>tbody>tr:hover>.attr-info,.attr-table-hover>tbody>tr>td.attr-info:hover,.attr-table-hover>tbody>tr>th.attr-info:hover{background-color:#c4e3f3}.attr-table>tbody>tr.attr-warning>td,.attr-table>tbody>tr.attr-warning>th,.attr-table>tbody>tr>td.attr-warning,.attr-table>tbody>tr>th.attr-warning,.attr-table>tfoot>tr.attr-warning>td,.attr-table>tfoot>tr.attr-warning>th,.attr-table>tfoot>tr>td.attr-warning,.attr-table>tfoot>tr>th.attr-warning,.attr-table>thead>tr.attr-warning>td,.attr-table>thead>tr.attr-warning>th,.attr-table>thead>tr>td.attr-warning,.attr-table>thead>tr>th.attr-warning{background-color:#fcf8e3}.attr-table-hover>tbody>tr.attr-warning:hover>td,.attr-table-hover>tbody>tr.attr-warning:hover>th,.attr-table-hover>tbody>tr:hover>.attr-warning,.attr-table-hover>tbody>tr>td.attr-warning:hover,.attr-table-hover>tbody>tr>th.attr-warning:hover{background-color:#faf2cc}.attr-table>tbody>tr.attr-danger>td,.attr-table>tbody>tr.attr-danger>th,.attr-table>tbody>tr>td.attr-danger,.attr-table>tbody>tr>th.attr-danger,.attr-table>tfoot>tr.attr-danger>td,.attr-table>tfoot>tr.attr-danger>th,.attr-table>tfoot>tr>td.attr-danger,.attr-table>tfoot>tr>th.attr-danger,.attr-table>thead>tr.attr-danger>td,.attr-table>thead>tr.attr-danger>th,.attr-table>thead>tr>td.attr-danger,.attr-table>thead>tr>th.attr-danger{background-color:#f2dede}.attr-table-hover>tbody>tr.attr-danger:hover>td,.attr-table-hover>tbody>tr.attr-danger:hover>th,.attr-table-hover>tbody>tr:hover>.attr-danger,.attr-table-hover>tbody>tr>td.attr-danger:hover,.attr-table-hover>tbody>tr>th.attr-danger:hover{background-color:#ebcccc}.attr-table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.attr-table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.attr-table-responsive>.attr-table{margin-bottom:0}.attr-table-responsive>.attr-table>tbody>tr>td,.attr-table-responsive>.attr-table>tbody>tr>th,.attr-table-responsive>.attr-table>tfoot>tr>td,.attr-table-responsive>.attr-table>tfoot>tr>th,.attr-table-responsive>.attr-table>thead>tr>td,.attr-table-responsive>.attr-table>thead>tr>th{white-space:nowrap}.attr-table-responsive>.attr-table-bordered{border:0}.attr-table-responsive>.attr-table-bordered>tbody>tr>td:first-child,.attr-table-responsive>.attr-table-bordered>tbody>tr>th:first-child,.attr-table-responsive>.attr-table-bordered>tfoot>tr>td:first-child,.attr-table-responsive>.attr-table-bordered>tfoot>tr>th:first-child,.attr-table-responsive>.attr-table-bordered>thead>tr>td:first-child,.attr-table-responsive>.attr-table-bordered>thead>tr>th:first-child{border-left:0}.attr-table-responsive>.attr-table-bordered>tbody>tr>td:last-child,.attr-table-responsive>.attr-table-bordered>tbody>tr>th:last-child,.attr-table-responsive>.attr-table-bordered>tfoot>tr>td:last-child,.attr-table-responsive>.attr-table-bordered>tfoot>tr>th:last-child,.attr-table-responsive>.attr-table-bordered>thead>tr>td:last-child,.attr-table-responsive>.attr-table-bordered>thead>tr>th:last-child{border-right:0}.attr-table-responsive>.attr-table-bordered>tbody>tr:last-child>td,.attr-table-responsive>.attr-table-bordered>tbody>tr:last-child>th,.attr-table-responsive>.attr-table-bordered>tfoot>tr:last-child>td,.attr-table-responsive>.attr-table-bordered>tfoot>tr:last-child>th{border-bottom:0}}.attr-form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s,-webkit-box-shadow ease-in-out .15s}.attr-form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.attr-form-control::-moz-placeholder{color:#999;opacity:1}.attr-form-control:-ms-input-placeholder{color:#999}.attr-form-control::-webkit-input-placeholder{color:#999}.attr-form-control::-ms-expand{background-color:transparent;border:0}.attr-form-control[disabled],.attr-form-control[readonly],fieldset[disabled] .attr-form-control{background-color:#eee;opacity:1}.attr-form-control[disabled],fieldset[disabled] .attr-form-control{cursor:not-allowed}textarea.attr-form-control{height:auto}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].attr-form-control,input[type=datetime-local].attr-form-control,input[type=month].attr-form-control,input[type=time].attr-form-control{line-height:34px}.attr-input-group-sm input[type=date],.attr-input-group-sm input[type=datetime-local],.attr-input-group-sm input[type=month],.attr-input-group-sm input[type=time],input[type=date].attr-input-sm,input[type=datetime-local].attr-input-sm,input[type=month].attr-input-sm,input[type=time].attr-input-sm{line-height:30px}.attr-input-group-lg input[type=date],.attr-input-group-lg input[type=datetime-local],.attr-input-group-lg input[type=month],.attr-input-group-lg input[type=time],input[type=date].attr-input-lg,input[type=datetime-local].attr-input-lg,input[type=month].attr-input-lg,input[type=time].attr-input-lg{line-height:46px}}.attr-form-group{margin-bottom:15px}.attr-checkbox,.attr-radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.attr-checkbox label,.attr-radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.attr-checkbox input[type=checkbox],.attr-checkbox-inline input[type=checkbox],.attr-radio input[type=radio],.attr-radio-inline input[type=radio]{position:absolute;margin-left:-20px}.attr-checkbox+.attr-checkbox,.attr-radio+.attr-radio{margin-top:-5px}.attr-checkbox-inline,.attr-radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.attr-checkbox-inline+.attr-checkbox-inline,.attr-radio-inline+.attr-radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].attr-disabled,input[type=checkbox][disabled],input[type=radio].attr-disabled,input[type=radio][disabled]{cursor:not-allowed}.attr-checkbox-inline.attr-disabled,.attr-radio-inline.attr-disabled,fieldset[disabled] .attr-checkbox-inline,fieldset[disabled] .attr-radio-inline{cursor:not-allowed}.attr-checkbox.attr-disabled label,.attr-radio.attr-disabled label,fieldset[disabled] .attr-checkbox label,fieldset[disabled] .attr-radio label{cursor:not-allowed}.attr-form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.attr-form-control-static.attr-input-lg,.attr-form-control-static.attr-input-sm{padding-right:0;padding-left:0}.attr-input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.attr-input-sm{height:30px;line-height:30px}select[multiple].attr-input-sm,textarea.attr-input-sm{height:auto}.attr-form-group-sm .attr-form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.attr-form-group-sm select.attr-form-control{height:30px;line-height:30px}.attr-form-group-sm select[multiple].attr-form-control,.attr-form-group-sm textarea.attr-form-control{height:auto}.attr-form-group-sm .attr-form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.attr-input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.attr-input-lg{height:46px;line-height:46px}select[multiple].attr-input-lg,textarea.attr-input-lg{height:auto}.attr-form-group-lg .attr-form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.attr-form-group-lg select.attr-form-control{height:46px;line-height:46px}.attr-form-group-lg select[multiple].attr-form-control,.attr-form-group-lg textarea.attr-form-control{height:auto}.attr-form-group-lg .attr-form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.attr-has-feedback{position:relative}.attr-has-feedback .attr-form-control{padding-right:42.5px}.attr-form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.attr-form-group-lg .attr-form-control+.attr-form-control-feedback,.attr-input-group-lg+.attr-form-control-feedback,.attr-input-lg+.attr-form-control-feedback{width:46px;height:46px;line-height:46px}.attr-form-group-sm .attr-form-control+.attr-form-control-feedback,.attr-input-group-sm+.attr-form-control-feedback,.attr-input-sm+.attr-form-control-feedback{width:30px;height:30px;line-height:30px}.attr-has-success .attr-checkbox,.attr-has-success .attr-checkbox-inline,.attr-has-success .attr-control-label,.attr-has-success .attr-help-block,.attr-has-success .attr-radio,.attr-has-success .attr-radio-inline,.attr-has-success.attr-checkbox label,.attr-has-success.attr-checkbox-inline label,.attr-has-success.attr-radio label,.attr-has-success.attr-radio-inline label{color:#3c763d}.attr-has-success .attr-form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.attr-has-success .attr-form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.attr-has-success .attr-input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.attr-has-success .attr-form-control-feedback{color:#3c763d}.attr-has-warning .attr-checkbox,.attr-has-warning .attr-checkbox-inline,.attr-has-warning .attr-control-label,.attr-has-warning .attr-help-block,.attr-has-warning .attr-radio,.attr-has-warning .attr-radio-inline,.attr-has-warning.attr-checkbox label,.attr-has-warning.attr-checkbox-inline label,.attr-has-warning.attr-radio label,.attr-has-warning.attr-radio-inline label{color:#8a6d3b}.attr-has-warning .attr-form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.attr-has-warning .attr-form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.attr-has-warning .attr-input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.attr-has-warning .attr-form-control-feedback{color:#8a6d3b}.attr-has-error .attr-checkbox,.attr-has-error .attr-checkbox-inline,.attr-has-error .attr-control-label,.attr-has-error .attr-help-block,.attr-has-error .attr-radio,.attr-has-error .attr-radio-inline,.attr-has-error.attr-checkbox label,.attr-has-error.attr-checkbox-inline label,.attr-has-error.attr-radio label,.attr-has-error.attr-radio-inline label{color:#a94442}.attr-has-error .attr-form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.attr-has-error .attr-form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.attr-has-error .attr-input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.attr-has-error .attr-form-control-feedback{color:#a94442}.attr-has-feedback label~.attr-form-control-feedback{top:25px}.attr-has-feedback label.attr-sr-only~.attr-form-control-feedback{top:0}.attr-help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.attr-form-inline .attr-form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.attr-form-inline .attr-form-control{display:inline-block;width:auto;vertical-align:middle}.attr-form-inline .attr-form-control-static{display:inline-block}.attr-form-inline .attr-input-group{display:inline-table;vertical-align:middle}.attr-form-inline .attr-input-group .attr-form-control,.attr-form-inline .attr-input-group .attr-input-group-addon,.attr-form-inline .attr-input-group .attr-input-group-btn{width:auto}.attr-form-inline .attr-input-group>.attr-form-control{width:100%}.attr-form-inline .attr-control-label{margin-bottom:0;vertical-align:middle}.attr-form-inline .attr-checkbox,.attr-form-inline .attr-radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.attr-form-inline .attr-checkbox label,.attr-form-inline .attr-radio label{padding-left:0}.attr-form-inline .attr-checkbox input[type=checkbox],.attr-form-inline .attr-radio input[type=radio]{position:relative;margin-left:0}.attr-form-inline .attr-has-feedback .attr-form-control-feedback{top:0}}.attr-form-horizontal .attr-checkbox,.attr-form-horizontal .attr-checkbox-inline,.attr-form-horizontal .attr-radio,.attr-form-horizontal .attr-radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.attr-form-horizontal .attr-checkbox,.attr-form-horizontal .attr-radio{min-height:27px}.attr-form-horizontal .attr-form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.attr-form-horizontal .attr-control-label{padding-top:7px;margin-bottom:0;text-align:right}}.attr-form-horizontal .attr-has-feedback .attr-form-control-feedback{right:15px}@media (min-width:768px){.attr-form-horizontal .attr-form-group-lg .attr-control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.attr-form-horizontal .attr-form-group-sm .attr-control-label{padding-top:6px;font-size:12px}}.attr-btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.attr-btn.attr-active.attr-focus,.attr-btn.attr-active:focus,.attr-btn.attr-focus,.attr-btn:active.attr-focus,.attr-btn:active:focus,.attr-btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.attr-btn.attr-focus,.attr-btn:focus,.attr-btn:hover{color:#333;text-decoration:none}.attr-btn.attr-active,.attr-btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.attr-btn.attr-disabled,.attr-btn[disabled],fieldset[disabled] .attr-btn{cursor:not-allowed;-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.attr-btn.attr-disabled,fieldset[disabled] a.attr-btn{pointer-events:none}.attr-btn-default{color:#333;background-color:#fff;border-color:#ccc}.attr-btn-default.attr-focus,.attr-btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.attr-btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.attr-btn-default.attr-active,.attr-btn-default:active,.attr-open>.attr-dropdown-toggle.attr-btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.attr-btn-default.attr-active.attr-focus,.attr-btn-default.attr-active:focus,.attr-btn-default.attr-active:hover,.attr-btn-default:active.attr-focus,.attr-btn-default:active:focus,.attr-btn-default:active:hover,.attr-open>.attr-dropdown-toggle.attr-btn-default.attr-focus,.attr-open>.attr-dropdown-toggle.attr-btn-default:focus,.attr-open>.attr-dropdown-toggle.attr-btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.attr-btn-default.attr-active,.attr-btn-default:active,.attr-open>.attr-dropdown-toggle.attr-btn-default{background-image:none}.attr-btn-default.attr-disabled.attr-focus,.attr-btn-default.attr-disabled:focus,.attr-btn-default.attr-disabled:hover,.attr-btn-default[disabled].attr-focus,.attr-btn-default[disabled]:focus,.attr-btn-default[disabled]:hover,fieldset[disabled] .attr-btn-default.attr-focus,fieldset[disabled] .attr-btn-default:focus,fieldset[disabled] .attr-btn-default:hover{background-color:#fff;border-color:#ccc}.attr-btn-default .attr-badge{color:#fff;background-color:#333}.attr-btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.attr-btn-primary.attr-focus,.attr-btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.attr-btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.attr-btn-primary.attr-active,.attr-btn-primary:active,.attr-open>.attr-dropdown-toggle.attr-btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.attr-btn-primary.attr-active.attr-focus,.attr-btn-primary.attr-active:focus,.attr-btn-primary.attr-active:hover,.attr-btn-primary:active.attr-focus,.attr-btn-primary:active:focus,.attr-btn-primary:active:hover,.attr-open>.attr-dropdown-toggle.attr-btn-primary.attr-focus,.attr-open>.attr-dropdown-toggle.attr-btn-primary:focus,.attr-open>.attr-dropdown-toggle.attr-btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.attr-btn-primary.attr-active,.attr-btn-primary:active,.attr-open>.attr-dropdown-toggle.attr-btn-primary{background-image:none}.attr-btn-primary.attr-disabled.attr-focus,.attr-btn-primary.attr-disabled:focus,.attr-btn-primary.attr-disabled:hover,.attr-btn-primary[disabled].attr-focus,.attr-btn-primary[disabled]:focus,.attr-btn-primary[disabled]:hover,fieldset[disabled] .attr-btn-primary.attr-focus,fieldset[disabled] .attr-btn-primary:focus,fieldset[disabled] .attr-btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.attr-btn-primary .attr-badge{color:#337ab7;background-color:#fff}.attr-btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.attr-btn-success.attr-focus,.attr-btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.attr-btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.attr-btn-success.attr-active,.attr-btn-success:active,.attr-open>.attr-dropdown-toggle.attr-btn-success{color:#fff;background-color:#449d44;border-color:#398439}.attr-btn-success.attr-active.attr-focus,.attr-btn-success.attr-active:focus,.attr-btn-success.attr-active:hover,.attr-btn-success:active.attr-focus,.attr-btn-success:active:focus,.attr-btn-success:active:hover,.attr-open>.attr-dropdown-toggle.attr-btn-success.attr-focus,.attr-open>.attr-dropdown-toggle.attr-btn-success:focus,.attr-open>.attr-dropdown-toggle.attr-btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.attr-btn-success.attr-active,.attr-btn-success:active,.attr-open>.attr-dropdown-toggle.attr-btn-success{background-image:none}.attr-btn-success.attr-disabled.attr-focus,.attr-btn-success.attr-disabled:focus,.attr-btn-success.attr-disabled:hover,.attr-btn-success[disabled].attr-focus,.attr-btn-success[disabled]:focus,.attr-btn-success[disabled]:hover,fieldset[disabled] .attr-btn-success.attr-focus,fieldset[disabled] .attr-btn-success:focus,fieldset[disabled] .attr-btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.attr-btn-success .attr-badge{color:#5cb85c;background-color:#fff}.attr-btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.attr-btn-info.attr-focus,.attr-btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.attr-btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.attr-btn-info.attr-active,.attr-btn-info:active,.attr-open>.attr-dropdown-toggle.attr-btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.attr-btn-info.attr-active.attr-focus,.attr-btn-info.attr-active:focus,.attr-btn-info.attr-active:hover,.attr-btn-info:active.attr-focus,.attr-btn-info:active:focus,.attr-btn-info:active:hover,.attr-open>.attr-dropdown-toggle.attr-btn-info.attr-focus,.attr-open>.attr-dropdown-toggle.attr-btn-info:focus,.attr-open>.attr-dropdown-toggle.attr-btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.attr-btn-info.attr-active,.attr-btn-info:active,.attr-open>.attr-dropdown-toggle.attr-btn-info{background-image:none}.attr-btn-info.attr-disabled.attr-focus,.attr-btn-info.attr-disabled:focus,.attr-btn-info.attr-disabled:hover,.attr-btn-info[disabled].attr-focus,.attr-btn-info[disabled]:focus,.attr-btn-info[disabled]:hover,fieldset[disabled] .attr-btn-info.attr-focus,fieldset[disabled] .attr-btn-info:focus,fieldset[disabled] .attr-btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.attr-btn-info .attr-badge{color:#5bc0de;background-color:#fff}.attr-btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.attr-btn-warning.attr-focus,.attr-btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.attr-btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.attr-btn-warning.attr-active,.attr-btn-warning:active,.attr-open>.attr-dropdown-toggle.attr-btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.attr-btn-warning.attr-active.attr-focus,.attr-btn-warning.attr-active:focus,.attr-btn-warning.attr-active:hover,.attr-btn-warning:active.attr-focus,.attr-btn-warning:active:focus,.attr-btn-warning:active:hover,.attr-open>.attr-dropdown-toggle.attr-btn-warning.attr-focus,.attr-open>.attr-dropdown-toggle.attr-btn-warning:focus,.attr-open>.attr-dropdown-toggle.attr-btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.attr-btn-warning.attr-active,.attr-btn-warning:active,.attr-open>.attr-dropdown-toggle.attr-btn-warning{background-image:none}.attr-btn-warning.attr-disabled.attr-focus,.attr-btn-warning.attr-disabled:focus,.attr-btn-warning.attr-disabled:hover,.attr-btn-warning[disabled].attr-focus,.attr-btn-warning[disabled]:focus,.attr-btn-warning[disabled]:hover,fieldset[disabled] .attr-btn-warning.attr-focus,fieldset[disabled] .attr-btn-warning:focus,fieldset[disabled] .attr-btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.attr-btn-warning .attr-badge{color:#f0ad4e;background-color:#fff}.attr-btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.attr-btn-danger.attr-focus,.attr-btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.attr-btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.attr-btn-danger.attr-active,.attr-btn-danger:active,.attr-open>.attr-dropdown-toggle.attr-btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.attr-btn-danger.attr-active.attr-focus,.attr-btn-danger.attr-active:focus,.attr-btn-danger.attr-active:hover,.attr-btn-danger:active.attr-focus,.attr-btn-danger:active:focus,.attr-btn-danger:active:hover,.attr-open>.attr-dropdown-toggle.attr-btn-danger.attr-focus,.attr-open>.attr-dropdown-toggle.attr-btn-danger:focus,.attr-open>.attr-dropdown-toggle.attr-btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.attr-btn-danger.attr-active,.attr-btn-danger:active,.attr-open>.attr-dropdown-toggle.attr-btn-danger{background-image:none}.attr-btn-danger.attr-disabled.attr-focus,.attr-btn-danger.attr-disabled:focus,.attr-btn-danger.attr-disabled:hover,.attr-btn-danger[disabled].attr-focus,.attr-btn-danger[disabled]:focus,.attr-btn-danger[disabled]:hover,fieldset[disabled] .attr-btn-danger.attr-focus,fieldset[disabled] .attr-btn-danger:focus,fieldset[disabled] .attr-btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.attr-btn-danger .attr-badge{color:#d9534f;background-color:#fff}.attr-btn-link{font-weight:400;color:#337ab7;border-radius:0}.attr-btn-link,.attr-btn-link.attr-active,.attr-btn-link:active,.attr-btn-link[disabled],fieldset[disabled] .attr-btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.attr-btn-link,.attr-btn-link:active,.attr-btn-link:focus,.attr-btn-link:hover{border-color:transparent}.attr-btn-link:focus,.attr-btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.attr-btn-link[disabled]:focus,.attr-btn-link[disabled]:hover,fieldset[disabled] .attr-btn-link:focus,fieldset[disabled] .attr-btn-link:hover{color:#777;text-decoration:none}.attr-btn-group-lg>.attr-btn,.attr-btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.attr-btn-group-sm>.attr-btn,.attr-btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.attr-btn-group-xs>.attr-btn,.attr-btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.attr-btn-block{display:block;width:100%}.attr-btn-block+.attr-btn-block{margin-top:5px}input[type=button].attr-btn-block,input[type=reset].attr-btn-block,input[type=submit].attr-btn-block{width:100%}.attr-fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.attr-fade.attr-in,.attr-fade.in{opacity:1}.attr-collapse{display:none}.attr-collapse.attr-in{display:block}tr.attr-collapse.attr-in{display:table-row}tbody.attr-collapse.attr-in{display:table-row-group}.attr-collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;transition-property:height,visibility}.attr-caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-right:4px solid transparent;border-left:4px solid transparent}.attr-dropdown,.attr-dropup{position:relative}.attr-dropdown-toggle:focus{outline:0}.attr-dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.attr-dropdown-menu.attr-pull-right{right:0;left:auto}.attr-dropdown-menu .attr-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.attr-dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.attr-dropdown-menu>li>a:focus,.attr-dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.attr-dropdown-menu>.attr-active>a,.attr-dropdown-menu>.attr-active>a:focus,.attr-dropdown-menu>.attr-active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.attr-dropdown-menu>.attr-disabled>a,.attr-dropdown-menu>.attr-disabled>a:focus,.attr-dropdown-menu>.attr-disabled>a:hover{color:#777}.attr-dropdown-menu>.attr-disabled>a:focus,.attr-dropdown-menu>.attr-disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none}.attr-open>.attr-dropdown-menu{display:block}.attr-open>a{outline:0}.attr-dropdown-menu-right{right:0;left:auto}.attr-dropdown-menu-left{right:auto;left:0}.attr-dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.attr-dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.attr-pull-right>.attr-dropdown-menu{right:0;left:auto}.attr-dropup .attr-caret,.attr-navbar-fixed-bottom .attr-dropdown .attr-caret{content:"";border-top:0;border-bottom:4px dashed}.attr-dropup .attr-dropdown-menu,.attr-navbar-fixed-bottom .attr-dropdown .attr-dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.attr-navbar-right .attr-dropdown-menu{right:0;left:auto}.attr-navbar-right .attr-dropdown-menu-left{right:auto;left:0}}.attr-btn-group,.attr-btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.attr-btn-group-vertical>.attr-btn,.attr-btn-group>.attr-btn{position:relative;float:left}.attr-btn-group-vertical>.attr-btn.attr-active,.attr-btn-group-vertical>.attr-btn:active,.attr-btn-group-vertical>.attr-btn:focus,.attr-btn-group-vertical>.attr-btn:hover,.attr-btn-group>.attr-btn.attr-active,.attr-btn-group>.attr-btn:active,.attr-btn-group>.attr-btn:focus,.attr-btn-group>.attr-btn:hover{z-index:2}.attr-btn-group .attr-btn+.attr-btn,.attr-btn-group .attr-btn+.attr-btn-group,.attr-btn-group .attr-btn-group+.attr-btn,.attr-btn-group .attr-btn-group+.attr-btn-group{margin-left:-1px}.attr-btn-toolbar{margin-left:-5px}.attr-btn-toolbar .attr-btn,.attr-btn-toolbar .attr-btn-group,.attr-btn-toolbar .attr-input-group{float:left}.attr-btn-toolbar>.attr-btn,.attr-btn-toolbar>.attr-btn-group,.attr-btn-toolbar>.attr-input-group{margin-left:5px}.attr-btn-group>.attr-btn:not(:first-child):not(:last-child):not(.attr-dropdown-toggle){border-radius:0}.attr-btn-group>.attr-btn:first-child{margin-left:0}.attr-btn-group>.attr-btn:first-child:not(:last-child):not(.attr-dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.attr-btn-group>.attr-btn:last-child:not(:first-child),.attr-btn-group>.attr-dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.attr-btn-group>.attr-btn-group{float:left}.attr-btn-group>.attr-btn-group:not(:first-child):not(:last-child)>.attr-btn{border-radius:0}.attr-btn-group>.attr-btn-group:first-child:not(:last-child)>.attr-btn:last-child,.attr-btn-group>.attr-btn-group:first-child:not(:last-child)>.attr-dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.attr-btn-group>.attr-btn-group:last-child:not(:first-child)>.attr-btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.attr-btn-group .attr-dropdown-toggle:active,.attr-btn-group.attr-open .attr-dropdown-toggle{outline:0}.attr-btn-group>.attr-btn+.attr-dropdown-toggle{padding-right:8px;padding-left:8px}.attr-btn-group>.attr-btn-lg+.attr-dropdown-toggle{padding-right:12px;padding-left:12px}.attr-btn-group.attr-open .attr-dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.attr-btn-group.attr-open .attr-dropdown-toggle.attr-btn-link{-webkit-box-shadow:none;box-shadow:none}.attr-btn .attr-caret{margin-left:0}.attr-btn-lg .attr-caret{border-width:5px 5px 0;border-bottom-width:0}.attr-dropup .attr-btn-lg .attr-caret{border-width:0 5px 5px}.attr-btn-group-vertical>.attr-btn,.attr-btn-group-vertical>.attr-btn-group,.attr-btn-group-vertical>.attr-btn-group>.attr-btn{display:block;float:none;width:100%;max-width:100%}.attr-btn-group-vertical>.attr-btn-group>.attr-btn{float:none}.attr-btn-group-vertical>.attr-btn+.attr-btn,.attr-btn-group-vertical>.attr-btn+.attr-btn-group,.attr-btn-group-vertical>.attr-btn-group+.attr-btn,.attr-btn-group-vertical>.attr-btn-group+.attr-btn-group{margin-top:-1px;margin-left:0}.attr-btn-group-vertical>.attr-btn:not(:first-child):not(:last-child){border-radius:0}.attr-btn-group-vertical>.attr-btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.attr-btn-group-vertical>.attr-btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.attr-btn-group-vertical>.attr-btn-group:not(:first-child):not(:last-child)>.attr-btn{border-radius:0}.attr-btn-group-vertical>.attr-btn-group:first-child:not(:last-child)>.attr-btn:last-child,.attr-btn-group-vertical>.attr-btn-group:first-child:not(:last-child)>.attr-dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.attr-btn-group-vertical>.attr-btn-group:last-child:not(:first-child)>.attr-btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.attr-btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.attr-btn-group-justified>.attr-btn,.attr-btn-group-justified>.attr-btn-group{display:table-cell;float:none;width:1%}.attr-btn-group-justified>.attr-btn-group .attr-btn{width:100%}.attr-btn-group-justified>.attr-btn-group .attr-dropdown-menu{left:auto}[data-attr-toggle=buttons]>.attr-btn input[type=checkbox],[data-attr-toggle=buttons]>.attr-btn input[type=radio],[data-attr-toggle=buttons]>.attr-btn-group>.attr-btn input[type=checkbox],[data-attr-toggle=buttons]>.attr-btn-group>.attr-btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.attr-input-group{position:relative;display:table;border-collapse:separate}.attr-input-group[class*=attr-col-]{float:none;padding-right:0;padding-left:0}.attr-input-group .attr-form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.attr-input-group .attr-form-control:focus{z-index:3}.attr-input-group-lg>.attr-form-control,.attr-input-group-lg>.attr-input-group-addon,.attr-input-group-lg>.attr-input-group-btn>.attr-btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.attr-input-group-lg>.attr-form-control,select.attr-input-group-lg>.attr-input-group-addon,select.attr-input-group-lg>.attr-input-group-btn>.attr-btn{height:46px;line-height:46px}select[multiple].attr-input-group-lg>.attr-form-control,select[multiple].attr-input-group-lg>.attr-input-group-addon,select[multiple].attr-input-group-lg>.attr-input-group-btn>.attr-btn,textarea.attr-input-group-lg>.attr-form-control,textarea.attr-input-group-lg>.attr-input-group-addon,textarea.attr-input-group-lg>.attr-input-group-btn>.attr-btn{height:auto}.attr-input-group-sm>.attr-form-control,.attr-input-group-sm>.attr-input-group-addon,.attr-input-group-sm>.attr-input-group-btn>.attr-btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.attr-input-group-sm>.attr-form-control,select.attr-input-group-sm>.attr-input-group-addon,select.attr-input-group-sm>.attr-input-group-btn>.attr-btn{height:30px;line-height:30px}select[multiple].attr-input-group-sm>.attr-form-control,select[multiple].attr-input-group-sm>.attr-input-group-addon,select[multiple].attr-input-group-sm>.attr-input-group-btn>.attr-btn,textarea.attr-input-group-sm>.attr-form-control,textarea.attr-input-group-sm>.attr-input-group-addon,textarea.attr-input-group-sm>.attr-input-group-btn>.attr-btn{height:auto}.attr-input-group .attr-form-control,.attr-input-group-addon,.attr-input-group-btn{display:table-cell}.attr-input-group .attr-form-control:not(:first-child):not(:last-child),.attr-input-group-addon:not(:first-child):not(:last-child),.attr-input-group-btn:not(:first-child):not(:last-child){border-radius:0}.attr-input-group-addon,.attr-input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.attr-input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.attr-input-group-addon.attr-input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.attr-input-group-addon.attr-input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.attr-input-group-addon input[type=checkbox],.attr-input-group-addon input[type=radio]{margin-top:0}.attr-input-group .attr-form-control:first-child,.attr-input-group-addon:first-child,.attr-input-group-btn:first-child>.attr-btn,.attr-input-group-btn:first-child>.attr-btn-group>.attr-btn,.attr-input-group-btn:first-child>.attr-dropdown-toggle,.attr-input-group-btn:last-child>.attr-btn-group:not(:last-child)>.attr-btn,.attr-input-group-btn:last-child>.attr-btn:not(:last-child):not(.attr-dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.attr-input-group-addon:first-child{border-right:0}.attr-input-group .attr-form-control:last-child,.attr-input-group-addon:last-child,.attr-input-group-btn:first-child>.attr-btn-group:not(:first-child)>.attr-btn,.attr-input-group-btn:first-child>.attr-btn:not(:first-child),.attr-input-group-btn:last-child>.attr-btn,.attr-input-group-btn:last-child>.attr-btn-group>.attr-btn,.attr-input-group-btn:last-child>.attr-dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.attr-input-group-addon:last-child{border-left:0}.attr-input-group-btn{position:relative;font-size:0;white-space:nowrap}.attr-input-group-btn>.attr-btn{position:relative}.attr-input-group-btn>.attr-btn+.attr-btn{margin-left:-1px}.attr-input-group-btn>.attr-btn:active,.attr-input-group-btn>.attr-btn:focus,.attr-input-group-btn>.attr-btn:hover{z-index:2}.attr-input-group-btn:first-child>.attr-btn,.attr-input-group-btn:first-child>.attr-btn-group{margin-right:-1px}.attr-input-group-btn:last-child>.attr-btn,.attr-input-group-btn:last-child>.attr-btn-group{z-index:2;margin-left:-1px}.attr-nav{padding-left:0;margin-bottom:0;list-style:none}.attr-nav>li{position:relative;display:block}.attr-nav>li>a{position:relative;display:block;padding:10px 15px}.attr-nav>li>a:focus,.attr-nav>li>a:hover{text-decoration:none;background-color:#eee}.attr-nav>li.attr-disabled>a{color:#777}.attr-nav>li.attr-disabled>a:focus,.attr-nav>li.attr-disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.attr-nav .attr-open>a,.attr-nav .attr-open>a:focus,.attr-nav .attr-open>a:hover{background-color:#eee;border-color:#337ab7}.attr-nav .attr-nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.attr-nav>li>a>img{max-width:none}.attr-nav-tabs{border-bottom:1px solid #ddd}.attr-nav-tabs>li{float:left;margin-bottom:-1px}.attr-nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.attr-nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.attr-nav-tabs.attr-nav-justified{width:100%;border-bottom:0}.attr-nav-tabs.attr-nav-justified>li{float:none}.attr-nav-tabs.attr-nav-justified>li>a{margin-bottom:5px;text-align:center}.attr-nav-tabs.attr-nav-justified>.attr-dropdown .attr-dropdown-menu{top:auto;left:auto}@media (min-width:768px){.attr-nav-tabs.attr-nav-justified>li{display:table-cell;width:1%}.attr-nav-tabs.attr-nav-justified>li>a{margin-bottom:0}}.attr-nav-tabs.attr-nav-justified>li>a{margin-right:0;border-radius:4px}.attr-nav-tabs.attr-nav-justified>.attr-active>a,.attr-nav-tabs.attr-nav-justified>.attr-active>a:focus,.attr-nav-tabs.attr-nav-justified>.attr-active>a:hover{border:1px solid #ddd}@media (min-width:768px){.attr-nav-tabs.attr-nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.attr-nav-tabs.attr-nav-justified>.attr-active>a,.attr-nav-tabs.attr-nav-justified>.attr-active>a:focus,.attr-nav-tabs.attr-nav-justified>.attr-active>a:hover{border-bottom-color:#fff}}.attr-nav-pills>li{float:left}.attr-nav-pills>li>a{border-radius:4px}.attr-nav-pills>li+li{margin-left:2px}.attr-nav-pills>li.attr-active>a,.attr-nav-pills>li.attr-active>a:focus,.attr-nav-pills>li.attr-active>a:hover{color:#fff;background-color:#337ab7}.attr-nav-stacked>li{float:none}.attr-nav-stacked>li+li{margin-top:2px;margin-left:0}.attr-nav-justified{width:100%}.attr-nav-justified>li{float:none}.attr-nav-justified>li>a{margin-bottom:5px;text-align:center}.attr-nav-justified>.attr-dropdown .attr-dropdown-menu{top:auto;left:auto}@media (min-width:768px){.attr-nav-justified>li{display:table-cell;width:1%}.attr-nav-justified>li>a{margin-bottom:0}}.attr-nav-tabs-justified{border-bottom:0}.attr-nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.attr-nav-tabs-justified>.attr-active>a,.attr-nav-tabs-justified>.attr-active>a:focus,.attr-nav-tabs-justified>.attr-active>a:hover{border:1px solid #ddd}@media (min-width:768px){.attr-nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.attr-nav-tabs-justified>.attr-active>a,.attr-nav-tabs-justified>.attr-active>a:focus,.attr-nav-tabs-justified>.attr-active>a:hover{border-bottom-color:#fff}}.attr-tab-content>.attr-tab-pane{display:none}.attr-tab-content>.attr-active{display:block}.attr-nav-tabs .attr-dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.attr-navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.attr-navbar{border-radius:4px}}@media (min-width:768px){.attr-navbar-header{float:left}}.attr-navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.attr-navbar-collapse.attr-in{overflow-y:auto}@media (min-width:768px){.attr-navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.attr-navbar-collapse.attr-collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.attr-navbar-collapse.attr-in{overflow-y:visible}.attr-navbar-fixed-bottom .attr-navbar-collapse,.attr-navbar-fixed-top .attr-navbar-collapse,.attr-navbar-static-top .attr-navbar-collapse{padding-right:0;padding-left:0}}.attr-navbar-fixed-bottom .attr-navbar-collapse,.attr-navbar-fixed-top .attr-navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.attr-navbar-fixed-bottom .attr-navbar-collapse,.attr-navbar-fixed-top .attr-navbar-collapse{max-height:200px}}.attr-container-fluid>.attr-navbar-collapse,.attr-container-fluid>.attr-navbar-header,.attr-container>.attr-navbar-collapse,.attr-container>.attr-navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.attr-container-fluid>.attr-navbar-collapse,.attr-container-fluid>.attr-navbar-header,.attr-container>.attr-navbar-collapse,.attr-container>.attr-navbar-header{margin-right:0;margin-left:0}}.attr-navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.attr-navbar-static-top{border-radius:0}}.attr-navbar-fixed-bottom,.attr-navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.attr-navbar-fixed-bottom,.attr-navbar-fixed-top{border-radius:0}}.attr-navbar-fixed-top{top:0;border-width:0 0 1px}.attr-navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.attr-navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.attr-navbar-brand:focus,.attr-navbar-brand:hover{text-decoration:none}.attr-navbar-brand>img{display:block}@media (min-width:768px){.attr-navbar>.attr-container .attr-navbar-brand,.attr-navbar>.attr-container-fluid .attr-navbar-brand{margin-left:-15px}}.attr-navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.attr-navbar-toggle:focus{outline:0}.attr-navbar-toggle .attr-icon-bar{display:block;width:22px;height:2px;border-radius:1px}.attr-navbar-toggle .attr-icon-bar+.attr-icon-bar{margin-top:4px}@media (min-width:768px){.attr-navbar-toggle{display:none}}.attr-navbar-nav{margin:7.5px -15px}.attr-navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.attr-navbar-nav .attr-open .attr-dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.attr-navbar-nav .attr-open .attr-dropdown-menu .attr-dropdown-header,.attr-navbar-nav .attr-open .attr-dropdown-menu>li>a{padding:5px 15px 5px 25px}.attr-navbar-nav .attr-open .attr-dropdown-menu>li>a{line-height:20px}.attr-navbar-nav .attr-open .attr-dropdown-menu>li>a:focus,.attr-navbar-nav .attr-open .attr-dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.attr-navbar-nav{float:left;margin:0}.attr-navbar-nav>li{float:left}.attr-navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.attr-navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.attr-navbar-form .attr-form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.attr-navbar-form .attr-form-control{display:inline-block;width:auto;vertical-align:middle}.attr-navbar-form .attr-form-control-static{display:inline-block}.attr-navbar-form .attr-input-group{display:inline-table;vertical-align:middle}.attr-navbar-form .attr-input-group .attr-form-control,.attr-navbar-form .attr-input-group .attr-input-group-addon,.attr-navbar-form .attr-input-group .attr-input-group-btn{width:auto}.attr-navbar-form .attr-input-group>.attr-form-control{width:100%}.attr-navbar-form .attr-control-label{margin-bottom:0;vertical-align:middle}.attr-navbar-form .attr-checkbox,.attr-navbar-form .attr-radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.attr-navbar-form .attr-checkbox label,.attr-navbar-form .attr-radio label{padding-left:0}.attr-navbar-form .attr-checkbox input[type=checkbox],.attr-navbar-form .attr-radio input[type=radio]{position:relative;margin-left:0}.attr-navbar-form .attr-has-feedback .attr-form-control-feedback{top:0}}@media (max-width:767px){.attr-navbar-form .attr-form-group{margin-bottom:5px}.attr-navbar-form .attr-form-group:last-child{margin-bottom:0}}@media (min-width:768px){.attr-navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.attr-navbar-nav>li>.attr-dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.attr-navbar-fixed-bottom .attr-navbar-nav>li>.attr-dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.attr-navbar-btn{margin-top:8px;margin-bottom:8px}.attr-navbar-btn.attr-btn-sm{margin-top:10px;margin-bottom:10px}.attr-navbar-btn.attr-btn-xs{margin-top:14px;margin-bottom:14px}.attr-navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.attr-navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.attr-navbar-left{float:left!important}.attr-navbar-right{float:right!important;margin-right:-15px}.attr-navbar-right~.attr-navbar-right{margin-right:0}}.attr-navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.attr-navbar-default .attr-navbar-brand{color:#777}.attr-navbar-default .attr-navbar-brand:focus,.attr-navbar-default .attr-navbar-brand:hover{color:#5e5e5e;background-color:transparent}.attr-navbar-default .attr-navbar-text{color:#777}.attr-navbar-default .attr-navbar-nav>li>a{color:#777}.attr-navbar-default .attr-navbar-nav>li>a:focus,.attr-navbar-default .attr-navbar-nav>li>a:hover{color:#333;background-color:transparent}.attr-navbar-default .attr-navbar-nav>.attr-active>a,.attr-navbar-default .attr-navbar-nav>.attr-active>a:focus,.attr-navbar-default .attr-navbar-nav>.attr-active>a:hover{color:#555;background-color:#e7e7e7}.attr-navbar-default .attr-navbar-nav>.attr-disabled>a,.attr-navbar-default .attr-navbar-nav>.attr-disabled>a:focus,.attr-navbar-default .attr-navbar-nav>.attr-disabled>a:hover{color:#ccc;background-color:transparent}.attr-navbar-default .attr-navbar-toggle{border-color:#ddd}.attr-navbar-default .attr-navbar-toggle:focus,.attr-navbar-default .attr-navbar-toggle:hover{background-color:#ddd}.attr-navbar-default .attr-navbar-toggle .attr-icon-bar{background-color:#888}.attr-navbar-default .attr-navbar-collapse,.attr-navbar-default .attr-navbar-form{border-color:#e7e7e7}.attr-navbar-default .attr-navbar-nav>.attr-open>a,.attr-navbar-default .attr-navbar-nav>.attr-open>a:focus,.attr-navbar-default .attr-navbar-nav>.attr-open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.attr-navbar-default .attr-navbar-nav .attr-open .attr-dropdown-menu>li>a{color:#777}.attr-navbar-default .attr-navbar-nav .attr-open .attr-dropdown-menu>li>a:focus,.attr-navbar-default .attr-navbar-nav .attr-open .attr-dropdown-menu>li>a:hover{color:#333;background-color:transparent}.attr-navbar-default .attr-navbar-nav .attr-open .attr-dropdown-menu>.attr-active>a,.attr-navbar-default .attr-navbar-nav .attr-open .attr-dropdown-menu>.attr-active>a:focus,.attr-navbar-default .attr-navbar-nav .attr-open .attr-dropdown-menu>.attr-active>a:hover{color:#555;background-color:#e7e7e7}.attr-navbar-default .attr-navbar-nav .attr-open .attr-dropdown-menu>.attr-disabled>a,.attr-navbar-default .attr-navbar-nav .attr-open .attr-dropdown-menu>.attr-disabled>a:focus,.attr-navbar-default .attr-navbar-nav .attr-open .attr-dropdown-menu>.attr-disabled>a:hover{color:#ccc;background-color:transparent}}.attr-navbar-default .attr-navbar-link{color:#777}.attr-navbar-default .attr-navbar-link:hover{color:#333}.attr-navbar-default .attr-btn-link{color:#777}.attr-navbar-default .attr-btn-link:focus,.attr-navbar-default .attr-btn-link:hover{color:#333}.attr-navbar-default .attr-btn-link[disabled]:focus,.attr-navbar-default .attr-btn-link[disabled]:hover,fieldset[disabled] .attr-navbar-default .attr-btn-link:focus,fieldset[disabled] .attr-navbar-default .attr-btn-link:hover{color:#ccc}.attr-navbar-inverse{background-color:#222;border-color:#080808}.attr-navbar-inverse .attr-navbar-brand{color:#9d9d9d}.attr-navbar-inverse .attr-navbar-brand:focus,.attr-navbar-inverse .attr-navbar-brand:hover{color:#fff;background-color:transparent}.attr-navbar-inverse .attr-navbar-text{color:#9d9d9d}.attr-navbar-inverse .attr-navbar-nav>li>a{color:#9d9d9d}.attr-navbar-inverse .attr-navbar-nav>li>a:focus,.attr-navbar-inverse .attr-navbar-nav>li>a:hover{color:#fff;background-color:transparent}.attr-navbar-inverse .attr-navbar-nav>.attr-active>a,.attr-navbar-inverse .attr-navbar-nav>.attr-active>a:focus,.attr-navbar-inverse .attr-navbar-nav>.attr-active>a:hover{color:#fff;background-color:#080808}.attr-navbar-inverse .attr-navbar-nav>.attr-disabled>a,.attr-navbar-inverse .attr-navbar-nav>.attr-disabled>a:focus,.attr-navbar-inverse .attr-navbar-nav>.attr-disabled>a:hover{color:#444;background-color:transparent}.attr-navbar-inverse .attr-navbar-toggle{border-color:#333}.attr-navbar-inverse .attr-navbar-toggle:focus,.attr-navbar-inverse .attr-navbar-toggle:hover{background-color:#333}.attr-navbar-inverse .attr-navbar-toggle .attr-icon-bar{background-color:#fff}.attr-navbar-inverse .attr-navbar-collapse,.attr-navbar-inverse .attr-navbar-form{border-color:#101010}.attr-navbar-inverse .attr-navbar-nav>.attr-open>a,.attr-navbar-inverse .attr-navbar-nav>.attr-open>a:focus,.attr-navbar-inverse .attr-navbar-nav>.attr-open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.attr-navbar-inverse .attr-navbar-nav .attr-open .attr-dropdown-menu>.attr-dropdown-header{border-color:#080808}.attr-navbar-inverse .attr-navbar-nav .attr-open .attr-dropdown-menu .attr-divider{background-color:#080808}.attr-navbar-inverse .attr-navbar-nav .attr-open .attr-dropdown-menu>li>a{color:#9d9d9d}.attr-navbar-inverse .attr-navbar-nav .attr-open .attr-dropdown-menu>li>a:focus,.attr-navbar-inverse .attr-navbar-nav .attr-open .attr-dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.attr-navbar-inverse .attr-navbar-nav .attr-open .attr-dropdown-menu>.attr-active>a,.attr-navbar-inverse .attr-navbar-nav .attr-open .attr-dropdown-menu>.attr-active>a:focus,.attr-navbar-inverse .attr-navbar-nav .attr-open .attr-dropdown-menu>.attr-active>a:hover{color:#fff;background-color:#080808}.attr-navbar-inverse .attr-navbar-nav .attr-open .attr-dropdown-menu>.attr-disabled>a,.attr-navbar-inverse .attr-navbar-nav .attr-open .attr-dropdown-menu>.attr-disabled>a:focus,.attr-navbar-inverse .attr-navbar-nav .attr-open .attr-dropdown-menu>.attr-disabled>a:hover{color:#444;background-color:transparent}}.attr-navbar-inverse .attr-navbar-link{color:#9d9d9d}.attr-navbar-inverse .attr-navbar-link:hover{color:#fff}.attr-navbar-inverse .attr-btn-link{color:#9d9d9d}.attr-navbar-inverse .attr-btn-link:focus,.attr-navbar-inverse .attr-btn-link:hover{color:#fff}.attr-navbar-inverse .attr-btn-link[disabled]:focus,.attr-navbar-inverse .attr-btn-link[disabled]:hover,fieldset[disabled] .attr-navbar-inverse .attr-btn-link:focus,fieldset[disabled] .attr-navbar-inverse .attr-btn-link:hover{color:#444}.attr-breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.attr-breadcrumb>li{display:inline-block}.attr-breadcrumb>li+li::before{padding:0 5px;color:#ccc;content:"/\00a0"}.attr-breadcrumb>.attr-active{color:#777}.attr-pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.attr-pagination>li{display:inline}.attr-pagination>li>a,.attr-pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.attr-pagination>li:first-child>a,.attr-pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.attr-pagination>li:last-child>a,.attr-pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.attr-pagination>li>a:focus,.attr-pagination>li>a:hover,.attr-pagination>li>span:focus,.attr-pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.attr-pagination>.attr-active>a,.attr-pagination>.attr-active>a:focus,.attr-pagination>.attr-active>a:hover,.attr-pagination>.attr-active>span,.attr-pagination>.attr-active>span:focus,.attr-pagination>.attr-active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.attr-pagination>.attr-disabled>a,.attr-pagination>.attr-disabled>a:focus,.attr-pagination>.attr-disabled>a:hover,.attr-pagination>.attr-disabled>span,.attr-pagination>.attr-disabled>span:focus,.attr-pagination>.attr-disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.attr-pagination-lg>li>a,.attr-pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.attr-pagination-lg>li:first-child>a,.attr-pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.attr-pagination-lg>li:last-child>a,.attr-pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.attr-pagination-sm>li>a,.attr-pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.attr-pagination-sm>li:first-child>a,.attr-pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.attr-pagination-sm>li:last-child>a,.attr-pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.attr-pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.attr-pager li{display:inline}.attr-pager li>a,.attr-pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.attr-pager li>a:focus,.attr-pager li>a:hover{text-decoration:none;background-color:#eee}.attr-pager .attr-next>a,.attr-pager .attr-next>span{float:right}.attr-pager .attr-previous>a,.attr-pager .attr-previous>span{float:left}.attr-pager .attr-disabled>a,.attr-pager .attr-disabled>a:focus,.attr-pager .attr-disabled>a:hover,.attr-pager .attr-disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.attr-label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.attr-label:focus,a.attr-label:hover{color:#fff;text-decoration:none;cursor:pointer}.attr-label:empty{display:none}.attr-btn .attr-label{position:relative;top:-1px}.attr-label-default{background-color:#777}.attr-label-default[href]:focus,.attr-label-default[href]:hover{background-color:#5e5e5e}.attr-label-primary{background-color:#337ab7}.attr-label-primary[href]:focus,.attr-label-primary[href]:hover{background-color:#286090}.attr-label-success{background-color:#5cb85c}.attr-label-success[href]:focus,.attr-label-success[href]:hover{background-color:#449d44}.attr-label-info{background-color:#5bc0de}.attr-label-info[href]:focus,.attr-label-info[href]:hover{background-color:#31b0d5}.attr-label-warning{background-color:#f0ad4e}.attr-label-warning[href]:focus,.attr-label-warning[href]:hover{background-color:#ec971f}.attr-label-danger{background-color:#d9534f}.attr-label-danger[href]:focus,.attr-label-danger[href]:hover{background-color:#c9302c}.attr-badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.attr-badge:empty{display:none}.attr-btn .attr-badge{position:relative;top:-1px}.attr-btn-group-xs>.attr-btn .attr-badge,.attr-btn-xs .attr-badge{top:0;padding:1px 5px}a.attr-badge:focus,a.attr-badge:hover{color:#fff;text-decoration:none;cursor:pointer}.attr-list-group-item.attr-active>.attr-badge,.attr-nav-pills>.attr-active>a>.attr-badge{color:#337ab7;background-color:#fff}.attr-list-group-item>.attr-badge{float:right}.attr-list-group-item>.attr-badge+.attr-badge{margin-right:5px}.attr-nav-pills>li>a>.attr-badge{margin-left:3px}.attr-jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.attr-jumbotron .attr-h1,.attr-jumbotron h1{color:inherit}.attr-jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.attr-jumbotron>hr{border-top-color:#d5d5d5}.attr-container .attr-jumbotron,.attr-container-fluid .attr-jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.attr-jumbotron .attr-container{max-width:100%}@media screen and (min-width:768px){.attr-jumbotron{padding-top:48px;padding-bottom:48px}.attr-container .attr-jumbotron,.attr-container-fluid .attr-jumbotron{padding-right:60px;padding-left:60px}.attr-jumbotron .attr-h1,.attr-jumbotron h1{font-size:63px}}.attr-thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.attr-thumbnail a>img,.attr-thumbnail>img{margin-right:auto;margin-left:auto}a.attr-thumbnail.attr-active,a.attr-thumbnail:focus,a.attr-thumbnail:hover{border-color:#337ab7}.attr-thumbnail .attr-caption{padding:9px;color:#333}.attr-alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.attr-alert h4{margin-top:0;color:inherit}.attr-alert .attr-alert-link{font-weight:700}.attr-alert>p,.attr-alert>ul{margin-bottom:0}.attr-alert>p+p{margin-top:5px}.attr-alert-dismissable,.attr-alert-dismissible{padding-right:35px}.attr-alert-dismissable .attr-close,.attr-alert-dismissible .attr-close{position:relative;top:-2px;right:-21px;color:inherit}.attr-alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.attr-alert-success hr{border-top-color:#c9e2b3}.attr-alert-success .attr-alert-link{color:#2b542c}.attr-alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.attr-alert-info hr{border-top-color:#a6e1ec}.attr-alert-info .attr-alert-link{color:#245269}.attr-alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.attr-alert-warning hr{border-top-color:#f7e1b5}.attr-alert-warning .attr-alert-link{color:#66512c}.attr-alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.attr-alert-danger hr{border-top-color:#e4b9c0}.attr-alert-danger .attr-alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.attr-progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.attr-progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;transition:width .6s ease}.attr-progress-bar-striped,.attr-progress-striped .attr-progress-bar{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:40px 40px}.attr-progress-bar.attr-active,.attr-progress.attr-active .attr-progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.attr-progress-bar-success{background-color:#5cb85c}.attr-progress-striped .attr-progress-bar-success{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.attr-progress-bar-info{background-color:#5bc0de}.attr-progress-striped .attr-progress-bar-info{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.attr-progress-bar-warning{background-color:#f0ad4e}.attr-progress-striped .attr-progress-bar-warning{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.attr-progress-bar-danger{background-color:#d9534f}.attr-progress-striped .attr-progress-bar-danger{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.attr-media{margin-top:15px}.attr-media:first-child{margin-top:0}.attr-media,.attr-media-body{overflow:hidden;zoom:1}.attr-media-body{width:10000px}.attr-media-object{display:block}.attr-media-object.attr-img-thumbnail{max-width:none}.attr-media-right,.attr-media>.attr-pull-right{padding-left:10px}.attr-media-left,.attr-media>.attr-pull-left{padding-right:10px}.attr-media-body,.attr-media-left,.attr-media-right{display:table-cell;vertical-align:top}.attr-media-middle{vertical-align:middle}.attr-media-bottom{vertical-align:bottom}.attr-media-heading{margin-top:0;margin-bottom:5px}.attr-media-list{padding-left:0;list-style:none}.attr-list-group{padding-left:0;margin-bottom:20px}.attr-list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.attr-list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.attr-list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.attr-list-group-item,button.attr-list-group-item{color:#555}a.attr-list-group-item .attr-list-group-item-heading,button.attr-list-group-item .attr-list-group-item-heading{color:#333}a.attr-list-group-item:focus,a.attr-list-group-item:hover,button.attr-list-group-item:focus,button.attr-list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.attr-list-group-item{width:100%;text-align:left}.attr-list-group-item.attr-disabled,.attr-list-group-item.attr-disabled:focus,.attr-list-group-item.attr-disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.attr-list-group-item.attr-disabled .attr-list-group-item-heading,.attr-list-group-item.attr-disabled:focus .attr-list-group-item-heading,.attr-list-group-item.attr-disabled:hover .attr-list-group-item-heading{color:inherit}.attr-list-group-item.attr-disabled .attr-list-group-item-text,.attr-list-group-item.attr-disabled:focus .attr-list-group-item-text,.attr-list-group-item.attr-disabled:hover .attr-list-group-item-text{color:#777}.attr-list-group-item.attr-active,.attr-list-group-item.attr-active:focus,.attr-list-group-item.attr-active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.attr-list-group-item.attr-active .attr-list-group-item-heading,.attr-list-group-item.attr-active .attr-list-group-item-heading>.attr-small,.attr-list-group-item.attr-active .attr-list-group-item-heading>small,.attr-list-group-item.attr-active:focus .attr-list-group-item-heading,.attr-list-group-item.attr-active:focus .attr-list-group-item-heading>.attr-small,.attr-list-group-item.attr-active:focus .attr-list-group-item-heading>small,.attr-list-group-item.attr-active:hover .attr-list-group-item-heading,.attr-list-group-item.attr-active:hover .attr-list-group-item-heading>.attr-small,.attr-list-group-item.attr-active:hover .attr-list-group-item-heading>small{color:inherit}.attr-list-group-item.attr-active .attr-list-group-item-text,.attr-list-group-item.attr-active:focus .attr-list-group-item-text,.attr-list-group-item.attr-active:hover .attr-list-group-item-text{color:#c7ddef}.attr-list-group-item-success{color:#3c763d;background-color:#dff0d8}a.attr-list-group-item-success,button.attr-list-group-item-success{color:#3c763d}a.attr-list-group-item-success .attr-list-group-item-heading,button.attr-list-group-item-success .attr-list-group-item-heading{color:inherit}a.attr-list-group-item-success:focus,a.attr-list-group-item-success:hover,button.attr-list-group-item-success:focus,button.attr-list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.attr-list-group-item-success.attr-active,a.attr-list-group-item-success.attr-active:focus,a.attr-list-group-item-success.attr-active:hover,button.attr-list-group-item-success.attr-active,button.attr-list-group-item-success.attr-active:focus,button.attr-list-group-item-success.attr-active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.attr-list-group-item-info{color:#31708f;background-color:#d9edf7}a.attr-list-group-item-info,button.attr-list-group-item-info{color:#31708f}a.attr-list-group-item-info .attr-list-group-item-heading,button.attr-list-group-item-info .attr-list-group-item-heading{color:inherit}a.attr-list-group-item-info:focus,a.attr-list-group-item-info:hover,button.attr-list-group-item-info:focus,button.attr-list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.attr-list-group-item-info.attr-active,a.attr-list-group-item-info.attr-active:focus,a.attr-list-group-item-info.attr-active:hover,button.attr-list-group-item-info.attr-active,button.attr-list-group-item-info.attr-active:focus,button.attr-list-group-item-info.attr-active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.attr-list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.attr-list-group-item-warning,button.attr-list-group-item-warning{color:#8a6d3b}a.attr-list-group-item-warning .attr-list-group-item-heading,button.attr-list-group-item-warning .attr-list-group-item-heading{color:inherit}a.attr-list-group-item-warning:focus,a.attr-list-group-item-warning:hover,button.attr-list-group-item-warning:focus,button.attr-list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.attr-list-group-item-warning.attr-active,a.attr-list-group-item-warning.attr-active:focus,a.attr-list-group-item-warning.attr-active:hover,button.attr-list-group-item-warning.attr-active,button.attr-list-group-item-warning.attr-active:focus,button.attr-list-group-item-warning.attr-active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.attr-list-group-item-danger{color:#a94442;background-color:#f2dede}a.attr-list-group-item-danger,button.attr-list-group-item-danger{color:#a94442}a.attr-list-group-item-danger .attr-list-group-item-heading,button.attr-list-group-item-danger .attr-list-group-item-heading{color:inherit}a.attr-list-group-item-danger:focus,a.attr-list-group-item-danger:hover,button.attr-list-group-item-danger:focus,button.attr-list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.attr-list-group-item-danger.attr-active,a.attr-list-group-item-danger.attr-active:focus,a.attr-list-group-item-danger.attr-active:hover,button.attr-list-group-item-danger.attr-active,button.attr-list-group-item-danger.attr-active:focus,button.attr-list-group-item-danger.attr-active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.attr-list-group-item-heading{margin-top:0;margin-bottom:5px}.attr-list-group-item-text{margin-bottom:0;line-height:1.3}.attr-panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.attr-panel-body{padding:15px}.attr-panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.attr-panel-heading>.attr-dropdown .attr-dropdown-toggle{color:inherit}.attr-panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.attr-panel-title>.attr-small,.attr-panel-title>.attr-small>a,.attr-panel-title>a,.attr-panel-title>small,.attr-panel-title>small>a{color:inherit}.attr-panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.attr-panel>.attr-list-group,.attr-panel>.attr-panel-collapse>.attr-list-group{margin-bottom:0}.attr-panel>.attr-list-group .attr-list-group-item,.attr-panel>.attr-panel-collapse>.attr-list-group .attr-list-group-item{border-width:1px 0;border-radius:0}.attr-panel>.attr-list-group:first-child .attr-list-group-item:first-child,.attr-panel>.attr-panel-collapse>.attr-list-group:first-child .attr-list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.attr-panel>.attr-list-group:last-child .attr-list-group-item:last-child,.attr-panel>.attr-panel-collapse>.attr-list-group:last-child .attr-list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.attr-panel>.attr-panel-heading+.attr-panel-collapse>.attr-list-group .attr-list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.attr-panel-heading+.attr-list-group .attr-list-group-item:first-child{border-top-width:0}.attr-list-group+.attr-panel-footer{border-top-width:0}.attr-panel>.attr-panel-collapse>.attr-table,.attr-panel>.attr-table,.attr-panel>.attr-table-responsive>.attr-table{margin-bottom:0}.attr-panel>.attr-panel-collapse>.attr-table caption,.attr-panel>.attr-table caption,.attr-panel>.attr-table-responsive>.attr-table caption{padding-right:15px;padding-left:15px}.attr-panel>.attr-table-responsive:first-child>.attr-table:first-child,.attr-panel>.attr-table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.attr-panel>.attr-table-responsive:first-child>.attr-table:first-child>tbody:first-child>tr:first-child,.attr-panel>.attr-table-responsive:first-child>.attr-table:first-child>thead:first-child>tr:first-child,.attr-panel>.attr-table:first-child>tbody:first-child>tr:first-child,.attr-panel>.attr-table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.attr-panel>.attr-table-responsive:first-child>.attr-table:first-child>tbody:first-child>tr:first-child td:first-child,.attr-panel>.attr-table-responsive:first-child>.attr-table:first-child>tbody:first-child>tr:first-child th:first-child,.attr-panel>.attr-table-responsive:first-child>.attr-table:first-child>thead:first-child>tr:first-child td:first-child,.attr-panel>.attr-table-responsive:first-child>.attr-table:first-child>thead:first-child>tr:first-child th:first-child,.attr-panel>.attr-table:first-child>tbody:first-child>tr:first-child td:first-child,.attr-panel>.attr-table:first-child>tbody:first-child>tr:first-child th:first-child,.attr-panel>.attr-table:first-child>thead:first-child>tr:first-child td:first-child,.attr-panel>.attr-table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.attr-panel>.attr-table-responsive:first-child>.attr-table:first-child>tbody:first-child>tr:first-child td:last-child,.attr-panel>.attr-table-responsive:first-child>.attr-table:first-child>tbody:first-child>tr:first-child th:last-child,.attr-panel>.attr-table-responsive:first-child>.attr-table:first-child>thead:first-child>tr:first-child td:last-child,.attr-panel>.attr-table-responsive:first-child>.attr-table:first-child>thead:first-child>tr:first-child th:last-child,.attr-panel>.attr-table:first-child>tbody:first-child>tr:first-child td:last-child,.attr-panel>.attr-table:first-child>tbody:first-child>tr:first-child th:last-child,.attr-panel>.attr-table:first-child>thead:first-child>tr:first-child td:last-child,.attr-panel>.attr-table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.attr-panel>.attr-table-responsive:last-child>.attr-table:last-child,.attr-panel>.attr-table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.attr-panel>.attr-table-responsive:last-child>.attr-table:last-child>tbody:last-child>tr:last-child,.attr-panel>.attr-table-responsive:last-child>.attr-table:last-child>tfoot:last-child>tr:last-child,.attr-panel>.attr-table:last-child>tbody:last-child>tr:last-child,.attr-panel>.attr-table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.attr-panel>.attr-table-responsive:last-child>.attr-table:last-child>tbody:last-child>tr:last-child td:first-child,.attr-panel>.attr-table-responsive:last-child>.attr-table:last-child>tbody:last-child>tr:last-child th:first-child,.attr-panel>.attr-table-responsive:last-child>.attr-table:last-child>tfoot:last-child>tr:last-child td:first-child,.attr-panel>.attr-table-responsive:last-child>.attr-table:last-child>tfoot:last-child>tr:last-child th:first-child,.attr-panel>.attr-table:last-child>tbody:last-child>tr:last-child td:first-child,.attr-panel>.attr-table:last-child>tbody:last-child>tr:last-child th:first-child,.attr-panel>.attr-table:last-child>tfoot:last-child>tr:last-child td:first-child,.attr-panel>.attr-table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.attr-panel>.attr-table-responsive:last-child>.attr-table:last-child>tbody:last-child>tr:last-child td:last-child,.attr-panel>.attr-table-responsive:last-child>.attr-table:last-child>tbody:last-child>tr:last-child th:last-child,.attr-panel>.attr-table-responsive:last-child>.attr-table:last-child>tfoot:last-child>tr:last-child td:last-child,.attr-panel>.attr-table-responsive:last-child>.attr-table:last-child>tfoot:last-child>tr:last-child th:last-child,.attr-panel>.attr-table:last-child>tbody:last-child>tr:last-child td:last-child,.attr-panel>.attr-table:last-child>tbody:last-child>tr:last-child th:last-child,.attr-panel>.attr-table:last-child>tfoot:last-child>tr:last-child td:last-child,.attr-panel>.attr-table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.attr-panel>.attr-panel-body+.attr-table,.attr-panel>.attr-panel-body+.attr-table-responsive,.attr-panel>.attr-table+.attr-panel-body,.attr-panel>.attr-table-responsive+.attr-panel-body{border-top:1px solid #ddd}.attr-panel>.attr-table>tbody:first-child>tr:first-child td,.attr-panel>.attr-table>tbody:first-child>tr:first-child th{border-top:0}.attr-panel>.attr-table-bordered,.attr-panel>.attr-table-responsive>.attr-table-bordered{border:0}.attr-panel>.attr-table-bordered>tbody>tr>td:first-child,.attr-panel>.attr-table-bordered>tbody>tr>th:first-child,.attr-panel>.attr-table-bordered>tfoot>tr>td:first-child,.attr-panel>.attr-table-bordered>tfoot>tr>th:first-child,.attr-panel>.attr-table-bordered>thead>tr>td:first-child,.attr-panel>.attr-table-bordered>thead>tr>th:first-child,.attr-panel>.attr-table-responsive>.attr-table-bordered>tbody>tr>td:first-child,.attr-panel>.attr-table-responsive>.attr-table-bordered>tbody>tr>th:first-child,.attr-panel>.attr-table-responsive>.attr-table-bordered>tfoot>tr>td:first-child,.attr-panel>.attr-table-responsive>.attr-table-bordered>tfoot>tr>th:first-child,.attr-panel>.attr-table-responsive>.attr-table-bordered>thead>tr>td:first-child,.attr-panel>.attr-table-responsive>.attr-table-bordered>thead>tr>th:first-child{border-left:0}.attr-panel>.attr-table-bordered>tbody>tr>td:last-child,.attr-panel>.attr-table-bordered>tbody>tr>th:last-child,.attr-panel>.attr-table-bordered>tfoot>tr>td:last-child,.attr-panel>.attr-table-bordered>tfoot>tr>th:last-child,.attr-panel>.attr-table-bordered>thead>tr>td:last-child,.attr-panel>.attr-table-bordered>thead>tr>th:last-child,.attr-panel>.attr-table-responsive>.attr-table-bordered>tbody>tr>td:last-child,.attr-panel>.attr-table-responsive>.attr-table-bordered>tbody>tr>th:last-child,.attr-panel>.attr-table-responsive>.attr-table-bordered>tfoot>tr>td:last-child,.attr-panel>.attr-table-responsive>.attr-table-bordered>tfoot>tr>th:last-child,.attr-panel>.attr-table-responsive>.attr-table-bordered>thead>tr>td:last-child,.attr-panel>.attr-table-responsive>.attr-table-bordered>thead>tr>th:last-child{border-right:0}.attr-panel>.attr-table-bordered>tbody>tr:first-child>td,.attr-panel>.attr-table-bordered>tbody>tr:first-child>th,.attr-panel>.attr-table-bordered>thead>tr:first-child>td,.attr-panel>.attr-table-bordered>thead>tr:first-child>th,.attr-panel>.attr-table-responsive>.attr-table-bordered>tbody>tr:first-child>td,.attr-panel>.attr-table-responsive>.attr-table-bordered>tbody>tr:first-child>th,.attr-panel>.attr-table-responsive>.attr-table-bordered>thead>tr:first-child>td,.attr-panel>.attr-table-responsive>.attr-table-bordered>thead>tr:first-child>th{border-bottom:0}.attr-panel>.attr-table-bordered>tbody>tr:last-child>td,.attr-panel>.attr-table-bordered>tbody>tr:last-child>th,.attr-panel>.attr-table-bordered>tfoot>tr:last-child>td,.attr-panel>.attr-table-bordered>tfoot>tr:last-child>th,.attr-panel>.attr-table-responsive>.attr-table-bordered>tbody>tr:last-child>td,.attr-panel>.attr-table-responsive>.attr-table-bordered>tbody>tr:last-child>th,.attr-panel>.attr-table-responsive>.attr-table-bordered>tfoot>tr:last-child>td,.attr-panel>.attr-table-responsive>.attr-table-bordered>tfoot>tr:last-child>th{border-bottom:0}.attr-panel>.attr-table-responsive{margin-bottom:0;border:0}.attr-panel-group{margin-bottom:20px}.attr-panel-group .attr-panel{margin-bottom:0;border-radius:4px}.attr-panel-group .attr-panel+.attr-panel{margin-top:5px}.attr-panel-group .attr-panel-heading{border-bottom:0}.attr-panel-group .attr-panel-heading+.attr-panel-collapse>.attr-list-group,.attr-panel-group .attr-panel-heading+.attr-panel-collapse>.attr-panel-body{border-top:1px solid #ddd}.attr-panel-group .attr-panel-footer{border-top:0}.attr-panel-group .attr-panel-footer+.attr-panel-collapse .attr-panel-body{border-bottom:1px solid #ddd}.attr-panel-default{border-color:#ddd}.attr-panel-default>.attr-panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.attr-panel-default>.attr-panel-heading+.attr-panel-collapse>.attr-panel-body{border-top-color:#ddd}.attr-panel-default>.attr-panel-heading .attr-badge{color:#f5f5f5;background-color:#333}.attr-panel-default>.attr-panel-footer+.attr-panel-collapse>.attr-panel-body{border-bottom-color:#ddd}.attr-panel-primary{border-color:#337ab7}.attr-panel-primary>.attr-panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.attr-panel-primary>.attr-panel-heading+.attr-panel-collapse>.attr-panel-body{border-top-color:#337ab7}.attr-panel-primary>.attr-panel-heading .attr-badge{color:#337ab7;background-color:#fff}.attr-panel-primary>.attr-panel-footer+.attr-panel-collapse>.attr-panel-body{border-bottom-color:#337ab7}.attr-panel-success{border-color:#d6e9c6}.attr-panel-success>.attr-panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.attr-panel-success>.attr-panel-heading+.attr-panel-collapse>.attr-panel-body{border-top-color:#d6e9c6}.attr-panel-success>.attr-panel-heading .attr-badge{color:#dff0d8;background-color:#3c763d}.attr-panel-success>.attr-panel-footer+.attr-panel-collapse>.attr-panel-body{border-bottom-color:#d6e9c6}.attr-panel-info{border-color:#bce8f1}.attr-panel-info>.attr-panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.attr-panel-info>.attr-panel-heading+.attr-panel-collapse>.attr-panel-body{border-top-color:#bce8f1}.attr-panel-info>.attr-panel-heading .attr-badge{color:#d9edf7;background-color:#31708f}.attr-panel-info>.attr-panel-footer+.attr-panel-collapse>.attr-panel-body{border-bottom-color:#bce8f1}.attr-panel-warning{border-color:#faebcc}.attr-panel-warning>.attr-panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.attr-panel-warning>.attr-panel-heading+.attr-panel-collapse>.attr-panel-body{border-top-color:#faebcc}.attr-panel-warning>.attr-panel-heading .attr-badge{color:#fcf8e3;background-color:#8a6d3b}.attr-panel-warning>.attr-panel-footer+.attr-panel-collapse>.attr-panel-body{border-bottom-color:#faebcc}.attr-panel-danger{border-color:#ebccd1}.attr-panel-danger>.attr-panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.attr-panel-danger>.attr-panel-heading+.attr-panel-collapse>.attr-panel-body{border-top-color:#ebccd1}.attr-panel-danger>.attr-panel-heading .attr-badge{color:#f2dede;background-color:#a94442}.attr-panel-danger>.attr-panel-footer+.attr-panel-collapse>.attr-panel-body{border-bottom-color:#ebccd1}.attr-embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.attr-embed-responsive .attr-embed-responsive-item,.attr-embed-responsive embed,.attr-embed-responsive iframe,.attr-embed-responsive object,.attr-embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.attr-embed-responsive-16by9{padding-bottom:56.25%}.attr-embed-responsive-4by3{padding-bottom:75%}.attr-well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.attr-well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.attr-well-lg{padding:24px;border-radius:6px}.attr-well-sm{padding:9px;border-radius:3px}.attr-close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2}.attr-close:focus,.attr-close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5}button.attr-close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.attr-modal-open{overflow:hidden}.attr-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.attr-modal.attr-fade .attr-modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-25%);transform:translate(0,-25%)}.attr-modal.attr-in .attr-modal-dialog,.attr-modal.in .attr-modal-dialog{-webkit-transform:translate(0,0);transform:translate(0,0)}.attr-modal-open .attr-modal{overflow-x:hidden;overflow-y:auto}.attr-modal-dialog{position:relative;width:auto;margin:10px}.attr-modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.attr-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.attr-modal-backdrop.attr-fade{opacity:0}.attr-modal-backdrop.attr-in{opacity:.5}.attr-modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.attr-modal-header .attr-close{margin-top:-2px}.attr-modal-title{margin:0;line-height:1.42857143}.attr-modal-body{position:relative;padding:15px}.attr-modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.attr-modal-footer .attr-btn+.attr-btn{margin-bottom:0;margin-left:5px}.attr-modal-footer .attr-btn-group .attr-btn+.attr-btn{margin-left:-1px}.attr-modal-footer .attr-btn-block+.attr-btn-block{margin-left:0}.attr-modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.attr-modal-dialog{width:600px;margin:30px auto}.attr-modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.attr-modal-sm{width:300px}}@media (min-width:992px){.attr-modal-lg{width:900px}}.attr-tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;opacity:0;line-break:auto}.attr-tooltip.attr-in{opacity:.9}.attr-tooltip.attr-top{padding:5px 0;margin-top:-3px}.attr-tooltip.attr-right{padding:0 5px;margin-left:3px}.attr-tooltip.attr-bottom{padding:5px 0;margin-top:3px}.attr-tooltip.attr-left{padding:0 5px;margin-left:-3px}.attr-tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.attr-tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.attr-tooltip.attr-top .attr-tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.attr-tooltip.attr-top-left .attr-tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.attr-tooltip.attr-top-right .attr-tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.attr-tooltip.attr-right .attr-tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.attr-tooltip.attr-left .attr-tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.attr-tooltip.attr-bottom .attr-tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.attr-tooltip.attr-bottom-left .attr-tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.attr-tooltip.attr-bottom-right .attr-tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.attr-popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.attr-popover.attr-top{margin-top:-10px}.attr-popover.attr-right{margin-left:10px}.attr-popover.attr-bottom{margin-top:10px}.attr-popover.attr-left{margin-left:-10px}.attr-popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.attr-popover-content{padding:9px 14px}.attr-popover>.attr-arrow,.attr-popover>.attr-arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.attr-popover>.attr-arrow{border-width:11px}.attr-popover>.attr-arrow::after{content:"";border-width:10px}.attr-popover.attr-top>.attr-arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.attr-popover.attr-top>.attr-arrow::after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.attr-popover.attr-right>.attr-arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.attr-popover.attr-right>.attr-arrow::after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.attr-popover.attr-bottom>.attr-arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.attr-popover.attr-bottom>.attr-arrow::after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.attr-popover.attr-left>.attr-arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.attr-popover.attr-left>.attr-arrow::after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.attr-carousel{position:relative}.attr-carousel-inner{position:relative;width:100%;overflow:hidden}.attr-carousel-inner>.attr-item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.attr-carousel-inner>.attr-item>a>img,.attr-carousel-inner>.attr-item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.attr-carousel-inner>.attr-item{-webkit-transition:-webkit-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.attr-carousel-inner>.attr-item.attr-active.attr-right,.attr-carousel-inner>.attr-item.attr-next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.attr-carousel-inner>.attr-item.attr-active.attr-left,.attr-carousel-inner>.attr-item.attr-prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.attr-carousel-inner>.attr-item.attr-active,.attr-carousel-inner>.attr-item.attr-next.attr-left,.attr-carousel-inner>.attr-item.attr-prev.attr-right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.attr-carousel-inner>.attr-active,.attr-carousel-inner>.attr-next,.attr-carousel-inner>.attr-prev{display:block}.attr-carousel-inner>.attr-active{left:0}.attr-carousel-inner>.attr-next,.attr-carousel-inner>.attr-prev{position:absolute;top:0;width:100%}.attr-carousel-inner>.attr-next{left:100%}.attr-carousel-inner>.attr-prev{left:-100%}.attr-carousel-inner>.attr-next.attr-left,.attr-carousel-inner>.attr-prev.attr-right{left:0}.attr-carousel-inner>.attr-active.attr-left{left:-100%}.attr-carousel-inner>.attr-active.attr-right{left:100%}.attr-carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);opacity:.5}.attr-carousel-control.attr-left{background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-repeat:repeat-x}.attr-carousel-control.attr-right{right:0;left:auto;background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-repeat:repeat-x}.attr-carousel-control:focus,.attr-carousel-control:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.attr-carousel-control .attr-glyphicon-chevron-left,.attr-carousel-control .attr-glyphicon-chevron-right,.attr-carousel-control .attr-icon-next,.attr-carousel-control .attr-icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.attr-carousel-control .attr-glyphicon-chevron-left,.attr-carousel-control .attr-icon-prev{left:50%;margin-left:-10px}.attr-carousel-control .attr-glyphicon-chevron-right,.attr-carousel-control .attr-icon-next{right:50%;margin-right:-10px}.attr-carousel-control .attr-icon-next,.attr-carousel-control .attr-icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.attr-carousel-control .attr-icon-prev::before{content:"\2039"}.attr-carousel-control .attr-icon-next::before{content:"\203a"}.attr-carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.attr-carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.attr-carousel-indicators .attr-active{width:12px;height:12px;margin:0;background-color:#fff}.attr-carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.attr-carousel-caption .attr-btn{text-shadow:none}@media screen and (min-width:768px){.attr-carousel-control .attr-glyphicon-chevron-left,.attr-carousel-control .attr-glyphicon-chevron-right,.attr-carousel-control .attr-icon-next,.attr-carousel-control .attr-icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.attr-carousel-control .attr-glyphicon-chevron-left,.attr-carousel-control .attr-icon-prev{margin-left:-10px}.attr-carousel-control .attr-glyphicon-chevron-right,.attr-carousel-control .attr-icon-next{margin-right:-10px}.attr-carousel-caption{right:20%;left:20%;padding-bottom:30px}.attr-carousel-indicators{bottom:20px}}.attr-btn-group-vertical>.attr-btn-group::after,.attr-btn-group-vertical>.attr-btn-group::before,.attr-btn-toolbar::after,.attr-btn-toolbar::before,.attr-clearfix::after,.attr-clearfix::before,.attr-container-fluid::after,.attr-container-fluid::before,.attr-container::after,.attr-container::before,.attr-dl-horizontal dd::after,.attr-dl-horizontal dd::before,.attr-form-horizontal .attr-form-group::after,.attr-form-horizontal .attr-form-group::before,.attr-modal-footer::after,.attr-modal-footer::before,.attr-modal-header::after,.attr-modal-header::before,.attr-nav::after,.attr-nav::before,.attr-navbar-collapse::after,.attr-navbar-collapse::before,.attr-navbar-header::after,.attr-navbar-header::before,.attr-navbar::after,.attr-navbar::before,.attr-pager::after,.attr-pager::before,.attr-panel-body::after,.attr-panel-body::before,.attr-row::after,.attr-row::before{display:table;content:" "}.attr-btn-group-vertical>.attr-btn-group::after,.attr-btn-toolbar::after,.attr-clearfix::after,.attr-container-fluid::after,.attr-container::after,.attr-dl-horizontal dd::after,.attr-form-horizontal .attr-form-group::after,.attr-modal-footer::after,.attr-modal-header::after,.attr-nav::after,.attr-navbar-collapse::after,.attr-navbar-header::after,.attr-navbar::after,.attr-pager::after,.attr-panel-body::after,.attr-row::after{clear:both}.attr-center-block{display:block;margin-right:auto;margin-left:auto}.attr-pull-right{float:right!important}.attr-pull-left{float:left!important}.attr-hide{display:none!important}.attr-show{display:block!important}.attr-invisible{visibility:hidden}.attr-text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.attr-hidden{display:none!important}.attr-affix{position:fixed}@-ms-viewport{width:device-width}.attr-visible-lg,.attr-visible-md,.attr-visible-sm,.attr-visible-xs{display:none!important}.attr-visible-lg-block,.attr-visible-lg-inline,.attr-visible-lg-inline-block,.attr-visible-md-block,.attr-visible-md-inline,.attr-visible-md-inline-block,.attr-visible-sm-block,.attr-visible-sm-inline,.attr-visible-sm-inline-block,.attr-visible-xs-block,.attr-visible-xs-inline,.attr-visible-xs-inline-block{display:none!important}@media (max-width:767px){.attr-visible-xs{display:block!important}table.attr-visible-xs{display:table!important}tr.attr-visible-xs{display:table-row!important}td.attr-visible-xs,th.attr-visible-xs{display:table-cell!important}}@media (max-width:767px){.attr-visible-xs-block{display:block!important}}@media (max-width:767px){.attr-visible-xs-inline{display:inline!important}}@media (max-width:767px){.attr-visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.attr-visible-sm{display:block!important}table.attr-visible-sm{display:table!important}tr.attr-visible-sm{display:table-row!important}td.attr-visible-sm,th.attr-visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.attr-visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.attr-visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.attr-visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.attr-visible-md{display:block!important}table.attr-visible-md{display:table!important}tr.attr-visible-md{display:table-row!important}td.attr-visible-md,th.attr-visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.attr-visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.attr-visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.attr-visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.attr-visible-lg{display:block!important}table.attr-visible-lg{display:table!important}tr.attr-visible-lg{display:table-row!important}td.attr-visible-lg,th.attr-visible-lg{display:table-cell!important}}@media (min-width:1200px){.attr-visible-lg-block{display:block!important}}@media (min-width:1200px){.attr-visible-lg-inline{display:inline!important}}@media (min-width:1200px){.attr-visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.attr-hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.attr-hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.attr-hidden-md{display:none!important}}@media (min-width:1200px){.attr-hidden-lg{display:none!important}}.attr-visible-print{display:none!important}@media print{.attr-visible-print{display:block!important}table.attr-visible-print{display:table!important}tr.attr-visible-print{display:table-row!important}td.attr-visible-print,th.attr-visible-print{display:table-cell!important}}.attr-visible-print-block{display:none!important}@media print{.attr-visible-print-block{display:block!important}}.attr-visible-print-inline{display:none!important}@media print{.attr-visible-print-inline{display:inline!important}}.attr-visible-print-inline-block{display:none!important}@media print{.attr-visible-print-inline-block{display:inline-block!important}}@media print{.attr-hidden-print{display:none!important}}.attr-nav-tabs .ekit-admin-nav-link{display:-webkit-box;display:-ms-flexbox;display:flex;padding:16px 44px 18px 20px;color:#121116;border-top:1px solid #e0e4e9;border-left:2px solid transparent;-webkit-transition:all .1s ease-out;transition:all .1s ease-out;background-color:#f1f1f1;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transition:all .4s ease;transition:all .4s ease;border-radius:0}.attr-nav-tabs .ekit-admin-nav-link .ekit-admin-title{font-size:.8125rem;font-weight:700;color:#121116;display:block;margin-bottom:2px;line-height:1}.attr-nav-tabs .ekit-admin-nav-link .ekit-admin-subtitle{color:#72777c;font-size:.8125rem;-webkit-transition:all 150ms ease-out;transition:all 150ms ease-out}.attr-nav-tabs .ekit-admin-nav-link .ekit-admin-tab-icon{color:#72777c;font-size:1.4375rem;-webkit-transition:all .4s ease;transition:all .4s ease}.attr-nav-tabs .attr-active>a,.attr-nav-tabs>li>a:focus,.attr-nav-tabs>li>a:hover{background-color:#fff;border-left-color:#f2295b}.attr-nav-tabs .attr-active>a .ekit-admin-tab-icon,.attr-nav-tabs .attr-active>a .ekit-admin-title,.attr-nav-tabs>li>a:focus .ekit-admin-tab-icon,.attr-nav-tabs>li>a:focus .ekit-admin-title,.attr-nav-tabs>li>a:hover .ekit-admin-tab-icon,.attr-nav-tabs>li>a:hover .ekit-admin-title{color:#f2295b}.ekit-admin-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding-bottom:9px;border-bottom:1px solid #e0e4e9;margin-bottom:8px}.ekit-admin-header-title{font-size:1rem;font-weight:700;color:#f2295b;margin-bottom:0}.ekit-admin-help{color:#0073aa;font-weight:700;font-size:.75rem}.ekit-admin-help>i{padding-right:5px}.ekit-admin-input-switch{position:relative;display:block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;line-height:1;-ms-flex-item-align:end;align-self:flex-end}#v-elementskit-dashboard>.ekit-admin-section-header>.ekit-admin-input-switch{display:none}.ekit-admin-input-switch .ekit-admin-control-input:checked~.ekit-admin-control-label .ekit-admin-control-label-switch::after{left:30px;background-color:#f2295b;color:#f2295b}.ekit-admin-input-switch .ekit-admin-control-input:checked~.ekit-admin-control-label .ekit-admin-control-label-switch::before{border-color:#f2295b;text-indent:52px}.ekit-admin-input-switch .ekit-admin-control-label{cursor:pointer;margin-bottom:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.ekit-admin-input-switch .ekit-admin-control-label-switch{position:relative;overflow:hidden;width:52px;height:26px;display:inline-block;margin-left:10px}.ekit-admin-input-switch .ekit-admin-control-label-switch::after,.ekit-admin-input-switch .ekit-admin-control-label-switch::before{position:absolute;-webkit-transition:all .3s cubic-bezier(.22,.61,.36,1);transition:all .3s cubic-bezier(.22,.61,.36,1);font-weight:700;font-size:.6875rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box}.ekit-admin-input-switch .ekit-admin-control-label-switch::before{content:attr(data-inactive);top:0;left:0;width:100%;height:100%;background-color:#fff;border:#444 solid 1px;border-radius:26px;text-indent:24px}.ekit-admin-input-switch .ekit-admin-control-label-switch::after{position:absolute;top:4px;left:4px;display:block;content:attr(data-active);width:18px;height:18px;background-color:#444;border-radius:100%;-webkit-transition:all .3s cubic-bezier(.22,.61,.36,1);transition:all .3s cubic-bezier(.22,.61,.36,1);text-indent:-22px;display:-webkit-box;display:-ms-flexbox;display:flex}.ekit-admin-input-switch .ekit-admin-control-input{opacity:0;z-index:-1;position:absolute}.ekit-admin-section-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;position:relative;border-bottom:1px solid #e0e4e9;padding-bottom:24px;margin-bottom:48px}.ekit-admin-section-header::before{content:"";position:absolute;display:block;width:48px;height:2px;bottom:-1px;left:0;background:#f2295b}.ekit-admin-section-heaer-title{position:relative;font-size:1.625rem;font-weight:600;margin-bottom:0;line-height:1}.ekit-admin-section-heaer-title::before{content:"\f15b";font-family:FontAwesome;display:inline-block;width:48px;height:48px;line-height:48px;margin-right:24px;background-color:#fee9ee;color:#f2295b;text-align:center;border-radius:3px;vertical-align:middle;font-size:20px}.ekit-admin-fields-container{font-size:.875rem;color:#666}.custom-control .custom-control-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;color:#121116;font-size:.875rem}.custom-control .custom-control-input:checked~.custom-control-label::before{border-color:#19073b;background-color:#19073b;-webkit-transform:scale(1);transform:scale(1)}.custom-control .custom-control-input:checked~.custom-control-label::after{-webkit-transform:scale(1);transform:scale(1)}.custom-control .custom-control-input .custom-control-label::after,.custom-control .custom-control-input .custom-control-label::before{-webkit-transform:scale(0);transform:scale(0);-webkit-transition:all .4s ease;transition:all .4s ease}.custom-control .custom-control-input .custom-control-label::after{background-repeat:no-repeat;background-position:center center;background-size:50% 50%}.ekit-admin-fields-container-fieldset{margin-top:16px}.attr-nav-tabs{margin-top:0}.attr-nav-tabs>li{width:100%}.attr-nav-tabs>li>a{margin-right:0}@media (max-width:320px){:root{font-size:13px}}@media (max-width:480px){:root{font-size:14px}}@media (max-width:991px){:root{font-size:13px}.section-padding{padding:75px 0}.section-padding-medium{padding:60px 0}.section-padding-medium-bottom{padding-bottom:60px}.section-padding-medium-top{padding-top:60px}}@media (min-width:992px){.ekit-admin-right-content{width:70%}}@media (min-width:992px) and (max-width:1199px){.ekit-admin-right-content{width:100%;padding:0}.ekit-admin-feature-request-section .ekit-admin-right-content,.ekit-admin-support-section .ekit-admin-right-content{padding-left:20px}#v-elementskit-userdata .ekit-admin-fields-container{max-width:75%}.ekit-admin-rate-now-section .ekit-admin-right-content{padding-bottom:20px}.ekit-admin-fields-container-description{width:100%!important}.ekit-admin-section-header{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.ekit-admin-section-heaer-title{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:start!important}.ekit-admin-input-switch{-ms-flex-item-align:start;align-self:flex-start}.ekit-all-element-switch{margin:15px 0!important;min-width:215px!important}.ekit-all-element-switch .ekit-admin-control-label{padding:7px 0!important}}@media screen and (min-device-width:1200px) and (max-device-width:1600px){body .ekit-onboard-dashboard .ekit-onboard-step-04 img{display:none}body .ekit-onboard-dashboard .ekit-onboard-step-04 .shape-17{display:block}}@media (max-width:991px){.ekit-admin-fields-container-description{width:100%}.ekit-admin-right-content{width:100%;padding:0}.ekit-admin-feature-request-section .ekit-admin-right-content,.ekit-admin-support-section .ekit-admin-right-content{padding-left:20px}#v-elementskit-userdata .ekit-admin-fields-container{max-width:75%}.ekit-admin-section-header{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.ekit-admin-section-heaer-title{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:start!important}.ekit-admin-input-switch{-ms-flex-item-align:start;align-self:flex-start}.ekit-all-element-switch{margin:15px 0!important;min-width:215px!important}.ekit-all-element-switch .ekit-admin-control-label{padding:7px 0!important}body .ekit-onboard-dashboard img{max-width:100%}body .ekit-onboard-dashboard .ekit-onboard-step-2-inner{padding:0}body .ekit-onboard-dashboard .ekit-onboard-nav-item{width:100%;margin-bottom:10px!important}body .ekit-onboard-dashboard .ekit-onboard-nav-item:last-child{margin-bottom:0}body .ekit-onboard-dashboard .ekit-onboard-step-02:before{display:none}body .ekit-onboard-dashboard .ekit-onboard-nav .ekit-onboard-progressbar{display:none}body .ekit-onboard-dashboard .ekit-onboard-step-wrapper{padding:0 55px}body .ekit-onboard-dashboard .ekit-onboard-dashboard .ekit-onboard-tutorial{padding:50px 0}body .ekit-onboard-dashboard .ekit-onboard-dashboard .ekit-onboard-module-meta li{display:block}body .ekit-onboard-dashboard .ekit-onboard-step-04 .shape-07{display:none}body .ekit-onboard-dashboard .ekit-onboard-plugin-list .attr-row>div{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%}}@media (max-width:480px){.ekti-admin-video-tutorial-iframe iframe{max-width:300px;height:auto}.ekit-admin-video-tutorial-list a h2{font-size:16px}.ekit_accordion_card:not(:last-child){margin-bottom:15px}.ekit_accordion_card .attr-btn{padding:16px;font-size:12px;padding-left:20px}.ekit-admin-right-content--link{font-size:12px;padding:10px 15px}.ekit-admin-right-content--heading h2{font-size:20px}.ekit-admin-right-content--heading__sub-title{font-size:50px}.ekit-admin-right-content p{font-size:16px;line-height:25px}.ekit-admin-right-content--form input{height:50px;padding:0 25px}.ekit-admin-right-content--form button{width:45px;height:45px}.ekit-admin-section-heaer-title{margin-bottom:10px;font-size:14px}.ekit-admin-input-switch .ekit-admin-settings-form-submit{font-size:12px;padding:9px 18px}.ekit-admin-section-header{font-size:15px}.ekit-admin-section-header .ekit-admin-input-switch{-ms-flex-item-align:center;align-self:center}.ekit_accordion_card .attr-panel-body{padding:20px}.ekit-admin-fields-container-description{font-size:15px;line-height:22px}#v-elementskit-userdata .ekit-admin-fields-container{max-width:100%}#v-elementskit-userdata::before{background-size:contain;width:100%;height:100%}.ekit-admin-section{padding:30px 0}.ekit-admin-video-tutorial-list{display:block}.ekit-admin-video-tutorial-list .ekit-admin-video-tutorial-item{margin-bottom:15px}.ekit-admin-video-tutorial-list .ekit-admin-video-tutorial-item:last-child{margin-bottom:0}.ekit-admin-dual-layout{display:block}.ekit-admin-dual-layout.ekit-admin-rate-now-section .ekit-admin-left-thumb,.ekit-admin-dual-layout.ekit-admin-subscribed-section .ekit-admin-left-thumb{margin:0;margin-top:50px}.ekit-admin-dual-layout .ekit-admin-left-thumb{margin-bottom:50px}body .ekit-onboard-dashboard .ekit-onboard-step-wrapper{padding:0}body .ekit-onboard-dashboard .ekit-onboard-shapes{display:none}body .ekit-onboard-dashboard .ekit-onboard-main-header--title{font-size:30px;line-height:35px!important}body .ekit-onboard-dashboard .ekit-onboard-main-header--title br{display:none}body .ekit-onboard-dashboard .ekit-onboard-main-header--description{font-size:16px;line-height:25px}body .ekit-onboard-dashboard .ekit-onboard-section{padding:30px}body .ekit-onboard-dashboard .ekit-onboard-btn{padding:10px 30px}body .ekit-onboard-dashboard .ekit-onboard-single-plugin label{-webkit-box-align:center;-ms-flex-align:center;align-items:center}body .ekit-onboard-dashboard .ekit-onboard-single-plugin--description{text-align:center}body .ekit-onboard-dashboard .ekit-onboard-tutorial{padding:35px 15px}body .ekit-onboard-dashboard .ekit-onboard-module-meta li{display:block;margin:0;margin-bottom:10px}body .ekit-onboard-dashboard .ekit-onboard-modules li{margin-right:0;display:block}body .ekit-onboard-dashboard .ekit-onboard-plugin-list .attr-row>div{-webkit-box-flex:100%;-ms-flex:100%;flex:100%}body .ekit-onboard-dashboard .ekit-onboard-tut-term--helptext{padding-right:0}}body.toplevel_page_elementskit{overflow-y:scroll}#ekit-admin-settings-form{margin-top:30px}.ekit_tab_wraper_group{margin-right:0;margin-left:0}.ekit_tab_wraper_group>div:first-of-type{padding-right:0}.ekit_tab_wraper_group>div:last-of-type{padding-left:0}.ekit_tab_wraper_group .attr-tab-pane{min-height:500px}.attr-tab-content{background-color:#fff;padding:30px;border-radius:20px}.ekit-admin-section-heaer-title{margin-top:0;color:#f2295b;font-size:24px;line-height:28px;font-weight:700;vertical-align:middle;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.ekit-admin-section-heaer-title i{font-size:18px;line-height:18px!important;color:#f2295b;width:40px;height:40px;background-color:#fde9ee;border-radius:5px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle;text-align:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-right:13px}.ekit-admin-nav .attr-nav-tabs{border:none}.ekit-admin-nav li{background-color:#fff}.ekit-admin-nav li.attr-active{border-top-left-radius:10px;border-bottom-left-radius:10px}.ekit-admin-nav li.attr-active .ekit-admin-nav-link{border-radius:10px}.ekit-admin-nav li.attr-active .ekit-admin-nav-link::before{content:"";background-color:#f2295b;height:10px;width:10px;position:absolute;left:17px;border-radius:100px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.ekit-admin-nav li.attr-active .ekit-admin-nav-link:hover{background-color:#fff}.ekit-admin-nav .ekit-admin-nav-link{text-decoration:none;border:none;padding:23px 40px}.ekit-admin-nav .ekit-admin-nav-link .ekit-admin-tab-icon{color:#121116}.ekit-admin-nav .ekit-admin-nav-link.top{border-bottom-right-radius:30px}.ekit-admin-nav .ekit-admin-nav-link.bottom{border-top-right-radius:30px}.ekit-admin-nav .ekit-admin-nav-link.ekit-admin-nav-hidden{background-color:#f1f1f1;cursor:default;padding:15px;pointer-events:none}.ekit-admin-nav .ekit-admin-nav-link:hover{background-color:#f1f1f1}.ekit-admin-nav .ekit-admin-nav-link:focus{outline:0;-webkit-box-shadow:none;box-shadow:none}.ekit-admin-nav .ekit-admin-title{text-transform:uppercase;color:#f2295b;font-size:14px;line-height:16px;font-weight:700}.attr-btn{cursor:pointer}.ekit_container{width:100%}.ekit-admin-card-shadow{border-radius:3px;border:1px solid rgba(0,0,0,.05);-webkit-box-shadow:0 6px 20px 0 rgba(194,204,222,.3);box-shadow:0 6px 20px 0 rgba(194,204,222,.3)}#ekit-admin-settings-form .ekit-admin-card{margin-bottom:50px;border-radius:20px}.attr-input-switch{margin-bottom:10px;position:relative}.ekit-admin-input-switch .ekit-admin-control-label{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;font-weight:600;font-size:14px;line-height:16px;color:#121116;padding:23px 26px}.ekit-admin-input-switch .ekit-admin-control-label .ekit-admin-control-label-text{max-width:170px}.ekit-all-element-switch{width:23%;display:inline-block;margin:auto 1rem 0 auto;color:#fff;min-width:277px}.ekit-all-element-switch .ekit-admin-input-switch{padding:0}.ekit-all-element-switch .ekit-admin-control-label{padding:7px 26px}.ekit-admin-input-text{margin-bottom:0;margin-top:0!important}.ekit-admin-input-text:not(:last-child){margin-bottom:0}.ekit-admin-input-text>label{font-weight:700;margin-bottom:7px;display:inline-block;color:#121116;font-size:14px;line-height:16px}.ekit-admin-input-text .attr-form-control{border-radius:5px;padding:8px 30px;height:54px;-webkit-box-sizing:border-box;box-sizing:border-box;font-size:14px;line-height:28px;display:inline-block;color:rgba(18,17,22,.4);border:none;-webkit-box-shadow:none;box-shadow:none;color:#121116}.ekit-admin-input-text .attr-form-control:focus{border:1px solid #f2295b;-webkit-box-shadow:none;box-shadow:none;outline:0}#ekit-admin-license-form .attr-form-control{border-radius:3px;border:1px solid rgba(0,0,0,.05);-webkit-box-shadow:0 6px 20px 0 rgba(194,204,222,.3);box-shadow:0 6px 20px 0 rgba(194,204,222,.3)}.ekit-admin-license-form-submit{border-radius:5px;padding:8px 30px;height:54px;-webkit-box-sizing:border-box;box-sizing:border-box}.ekit_logo{padding-top:35px}.ekit-admin-input-text .attr-form-control::-moz-placeholder{color:rgba(0,0,0,.3)}.ekit-admin-input-text .attr-form-control:-moz-placeholder{color:rgba(0,0,0,.3)}.ekit-admin-input-text .attr-form-control:-ms-input-placeholder{color:rgba(0,0,0,.3)}.ekit-admin-input-text .attr-form-control::-webkit-input-placeholder{color:rgba(0,0,0,.3)}.ekit_accordion_card{background-color:#f5f5f5;border-radius:20px}.ekit_accordion_card:not(:last-child){margin-bottom:30px}.ekit_accordion_card .ekit-admin-input-text:not(:last-child){margin-bottom:30px}.ekit_accordion_card .attr-panel-body{padding:30px;padding-top:0}.ekit_accordion_card .card-header{padding:0;border-bottom:0 solid #000}.ekit_accordion_card .attr-btn{display:block;text-decoration:none;width:100%;text-align:left;padding:29px 30px;color:#333;font-weight:700;cursor:pointer;font-size:14px;line-height:16px;text-transform:uppercase;position:relative;-webkit-transition:all .4s;transition:all .4s}.ekit_accordion_card .attr-btn::before{content:"\f107";color:#121116;font-size:16px;font-family:fontawesome;position:absolute;right:30px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.ekit_accordion_card .attr-btn[aria-expanded=true]{color:#f2295b}.ekit_accordion_card .attr-btn[aria-expanded=true]::before{content:"\f106";color:#f2295b}.ekit_accordion_card .attr-btn:focus{-webkit-box-shadow:none;box-shadow:none}.ekit_accordion_card .attr-panel-heading{padding:0;border-radius:0}.ekit_accordion_card .attr-widget-activate-text{text-transform:none;border:1px solid #333;padding:0 6px 1px;border-radius:5px;margin-left:5px}[class^=attr]{-webkit-box-sizing:border-box;box-sizing:border-box}.attr-btn-primary{color:#fff;background-color:#f2295b;border-color:#f2295b;text-decoration:none}.attr-btn-primary:focus,.attr-btn-primary:hover{background-color:#f2295b;border-color:#f2295b;outline:0}.attr-card-body{padding:1.25rem}.attr-card-body .attr-card-title{margin-top:0;margin-bottom:.75rem}.ekit-admin-dashboard-banner{display:block}.ekit-admin-save-icon{color:#fff;font-size:14px;margin-right:6px;height:14px;width:14px}.ekit-admin-input-switch .ekit-admin-settings-form-submit{background-color:#f2295b;border-radius:27px;-webkit-box-shadow:0 7px 15px rgba(242,41,91,.3);box-shadow:0 7px 15px rgba(242,41,91,.3);font-size:14px;line-height:16px;text-transform:uppercase;color:#fff;font-weight:700;border:none;padding:12px 23px;-webkit-transition:all .4s;transition:all .4s;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.ekit-admin-input-switch .ekit-admin-settings-form-submit:focus,.ekit-admin-input-switch .ekit-admin-settings-form-submit:hover{background-color:#ad0730;outline:0}.ekit-admin-section-header{padding-bottom:17px;margin-bottom:30px}.ekit-admin-section-header.fixed{position:fixed;top:0;padding-top:30px;background-color:#fff;z-index:1}.ekit-admin-section-header.fixed+div{margin-top:90px}.ekit-admin-dual-layout{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.ekit-admin-dual-layout .ekit-admin-right-content{margin:0}.ekit-admin-dual-layout .ekit-admin-right-content--heading__sub-title{left:0;-webkit-transform:inherit;transform:inherit}.ekit-admin-section{padding:50px 30px}.ekit-admin-section:last-of-type{padding-bottom:0}.ekit-admin-right-content{padding:0 50px;width:50%;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0 auto}.ekit-admin-right-content p{color:#121116;font-size:18px;line-height:28px}.ekit-admin-right-content p:last-of-type{margin-bottom:0}.ekit-admin-right-content--form{position:relative;max-width:300px}.ekit-admin-right-content--form input{height:54px;background-color:#2d3cfe;border:none;-webkit-box-shadow:none;box-shadow:none;border-radius:27px;padding:0 30px;color:#fff;font-size:14px;-webkit-box-shadow:0 7px 15px rgba(45,60,254,.3);box-shadow:0 7px 15px rgba(45,60,254,.3);padding-right:70px}.ekit-admin-right-content--form input::-webkit-input-placeholder{color:#fff;opacity:.5}.ekit-admin-right-content--form input::-moz-placeholder{color:#fff;opacity:.5}.ekit-admin-right-content--form input:-ms-input-placeholder{color:#fff;opacity:.5}.ekit-admin-right-content--form input::-ms-input-placeholder{color:#fff;opacity:.5}.ekit-admin-right-content--form input::placeholder{color:#fff;opacity:.5}.ekit-admin-right-content--form input:focus{outline:0;border:none;-webkit-box-shadow:0 7px 15px rgba(45,60,254,.3);box-shadow:0 7px 15px rgba(45,60,254,.3)}.ekit-admin-right-content--form button{width:48px;height:48px;background-color:#fff;border-radius:100px;color:#2d3cfe;position:absolute;right:2px;top:50%;border-color:transparent;-webkit-transition:all .4s;transition:all .4s;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.ekit-admin-right-content--form button:focus,.ekit-admin-right-content--form button:hover{outline:0;-webkit-box-shadow:none;box-shadow:none;background-color:inherit;border:1px solid #fff}.ekit-admin-right-content--form button i{font-size:18px;line-height:16px}.ekit-admin-right-content--heading{position:relative}.ekit-admin-right-content--heading h2{color:#f2295b;font-size:24px;line-height:28px;font-weight:700;letter-spacing:-1px}.ekit-admin-right-content--heading__sub-title{font-size:60px;line-height:69px;color:#000;opacity:.05;letter-spacing:-1px;font-weight:700;position:absolute;bottom:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.ekit-admin-right-content--button,.ekit-admin-right-content--form{margin-top:45px}.ekit-admin-right-content--link{display:inline-block;border-radius:27px;background-color:#f2295b;-webkit-box-shadow:0 7px 15px rgba(242,41,91,.3);box-shadow:0 7px 15px rgba(242,41,91,.3);border:none;font-size:14px;line-height:16px;font-weight:700;text-transform:uppercase;padding:19px 34px;-webkit-transition:all .4s;transition:all .4s}.ekit-admin-right-content--link i{margin-right:7px}.ekit-admin-right-content--link:focus,.ekit-admin-right-content--link:hover{background-color:#ad0730}.ekit-admin-subscribed-section .ekit-admin-right-content--heading h2{color:#2d3cfe}.ekit-admin-support-section .ekit-admin-right-content--heading h2{color:#00be75}.ekit-admin-support-section .ekit-admin-right-content--link{background-color:#00be75;-webkit-box-shadow:0 7px 15px rgba(0,190,117,.3);box-shadow:0 7px 15px rgba(0,190,117,.3)}.ekit-admin-support-section .ekit-admin-right-content--link:focus,.ekit-admin-support-section .ekit-admin-right-content--link:hover{background-color:#108458}.ekit-admin-subscribed-section,.ekit-admin-support-section{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.ekit-admin-rate-now-section{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.ekit-admin-rate-now-section .ekit-admin-right-content p span{color:#fec42d}.ekit-admin-rate-now-section .ekit-admin-right-content--heading h2{color:#fec42d}.ekit-admin-rate-now-section .ekit-admin-right-content--link{background-color:#fec42d;-webkit-box-shadow:0 7px 15px rgba(254,196,45,.3);box-shadow:0 7px 15px rgba(254,196,45,.3)}.ekit-admin-rate-now-section .ekit-admin-right-content--link:focus,.ekit-admin-rate-now-section .ekit-admin-right-content--link:hover{background-color:#dea203}.ekit-admin-except-title p{font-size:24px;line-height:25px}.ekit-admin-except-title p span{display:block;font-weight:700}.ekit-admin-left-thumb img{max-width:100%}.ekit-admin-faq-section .ekit-admin-accordion{max-width:700px;margin:0 auto;margin-top:30px}.ekit-admin-single-accordion{background-color:#fff;-webkit-box-shadow:0 7px 15px rgba(0,0,0,.07);box-shadow:0 7px 15px rgba(0,0,0,.07);margin:10px 0}.ekit-admin-single-accordion.active .ekit-admin-single-accordion--heading::after{content:"\f106";color:#f2295b}.ekit-admin-single-accordion--heading{cursor:pointer;margin:0;color:#121116;font-size:14px;line-height:20px;padding:18px 20px;position:relative}.ekit-admin-single-accordion--heading::after{content:"\f107";font-family:fontawesome;position:absolute;right:30px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);font-size:12px}.ekit-admin-single-accordion--body{padding:0;display:none}.ekit-admin-single-accordion--body__content{padding:30px;padding-top:0}.ekit-admin-single-accordion--body p{margin:0}.ekit-admin-video-tutorial-list{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-top:30px}.ekit-admin-video-tutorial-list a{text-decoration:none}.ekit-admin-video-tutorial-list a h2{font-size:18px;line-height:20px;text-align:center;display:block}.ekit-admin-video-tutorial-list .tutorial-thumb{position:relative}.ekit-admin-video-tutorial-list .tutorial-thumb::before{content:"";background-image:url(../images/video-icon.png);display:inline-block;height:30px;width:30px;background-color:#fff;padding:20px;background-repeat:no-repeat;border-radius:100px;-webkit-box-shadow:0 7px 15px rgba(0,0,0,.1);box-shadow:0 7px 15px rgba(0,0,0,.1);background-position:center;position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.ekit-admin-video-tutorial-list .tutorial-thumb img{max-width:100%;display:block}.ekti-admin-video-tutorial-popup{position:fixed;background-color:rgba(0,0,0,.5);width:100%;height:100%;left:0;top:0;overflow-y:auto;z-index:10000;opacity:0;visibility:hidden;-webkit-transition:all .4s;transition:all .4s}.ekti-admin-video-tutorial-popup.show{opacity:1;visibility:visible}.ekti-admin-video-tutorial-popup.show .ekti-admin-video-tutorial-popup-content{-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1)}.ekti-admin-video-tutorial-popup .ekti-admin-video-tutorial-popup-content{position:absolute;top:50%;left:50%;-webkit-transition:all .7s;transition:all .7s;-webkit-transform:translate(-50%,-50%) scale(0);transform:translate(-50%,-50%) scale(0)}.ekti-admin-video-tutorial-close{position:absolute;top:-10px;right:-6px;cursor:pointer;background-color:#ce1b04;border-radius:100px;width:30px;height:30px;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;line-height:33px}.ekti-admin-video-tutorial-close i{color:#fff;font-size:20px}.ekit-admin-access-token{text-decoration:none;color:#f2295b;text-align:right;display:block;font-size:16px;font-weight:600}.ekit-admin-access-token:focus,.ekit-admin-access-token:hover{color:#cd1c48;outline:0}#v-elementskit-userdata{padding-bottom:150px;position:relative;z-index:1}#v-elementskit-userdata .ekit-admin-fields-container{max-width:60%}#v-elementskit-userdata::before{content:"";background-image:url(../images/user-data-thumb.png);position:absolute;display:block;bottom:0;right:0;height:281px;width:444px;display:block;background-repeat:no-repeat;background-position:right bottom;z-index:-1}.ekit-admin-fields-container-description{font-size:18px;line-height:28px;color:#121116;width:55%;display:inline-block}#v-elementskit-elements .ekit-admin-fields-container-fieldset,#v-elementskit-modules .ekit-admin-fields-container-fieldset{margin-top:20px}#v-elementskit-elements .ekit-admin-section-header,#v-elementskit-modules .ekit-admin-section-header{margin-bottom:20px}.ekit-admin-fields-container-fieldset .attr-row{margin-left:-12px;margin-right:-12px}.ekit-admin-fields-container-fieldset .attr-row>div{padding:0 10px}.ekit-admin-fields-container-fieldset .ekit-admin-card-shadow{background-color:#fff;border-radius:10px;-webkit-box-shadow:none;box-shadow:none;border:1px solid #ededed;padding:0;margin:0;margin-bottom:20px}.ekit-admin-fields-container-fieldset .ekit-admin-card-shadow:hover{border-color:#f2295b}.ekit-admin-fields-container-fieldset .attr-input-switch:hover .ekit-admin-demo-tooltip{visibility:visible;opacity:1;top:-10px}.ekit-admin-fields-container-fieldset .ekit-admin-input-radio .ekit-admin-control-input{opacity:1;position:static;z-index:1;-webkit-box-flex:0;-ms-flex:0 0 20px;flex:0 0 20px;width:20px;height:20px;-webkit-box-shadow:none;box-shadow:none;border:2px solid #ccced9;margin-top:26px;position:relative}.ekit-admin-fields-container-fieldset .ekit-admin-input-radio .ekit-admin-control-input:checked{border-color:#fe0467}.ekit-admin-fields-container-fieldset .ekit-admin-input-radio .ekit-admin-control-input:checked::before{background-color:#fe0467;height:10px;width:10px;margin:0;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);position:absolute}.ekit-admin-fields-container-fieldset .ekit-admin-input-radio .ekit-admin-card-shadow{margin-bottom:10px;padding:0 0 0 26px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-shadow:0 1px 2px rgba(2,19,67,.1);box-shadow:0 1px 2px rgba(2,19,67,.1);border:1px solid transparent}.ekit-admin-fields-container-fieldset .ekit-admin-input-radio .ekit-admin-card-shadow.active{-webkit-box-shadow:0 20px 30px rgba(2,19,67,.1);box-shadow:0 20px 30px rgba(2,19,67,.1);position:relative;z-index:1}.ekit-admin-fields-container-fieldset .ekit-admin-input-radio .ekit-admin-card-shadow:hover{border-color:#fe0467}.ekit-admin-fields-container-fieldset .ekit-admin-input-radio .ekit-admin-control-label{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;color:#021343;font-size:20px;line-height:12px;padding:29px 10px;display:block;font-weight:400;width:100%}.ekit-admin-fields-container-fieldset .ekit-admin-input-radio .ekit-admin-control-desc{color:#5d5e65;font-size:14px;line-height:18px;font-weight:400;margin-top:11px;display:block}.ekit-admin-user-data-separator{display:block;border:2px solid #fff;margin-bottom:30px;position:relative}.ekit-admin-user-data-separator::before{content:"";width:40px;height:4px;background-color:#f2295b;display:block;position:absolute;top:-2px;left:-2px}.ekit-admin-demo-tooltip{background-color:#121116;color:#fff;font-size:10px;line-height:13px;text-decoration:none;text-transform:uppercase;padding:2px 9px;border-radius:3px;display:inline-block;position:absolute;right:20px;top:0;opacity:0;visibility:hidden;-webkit-transition:all .4s;transition:all .4s}.ekit-admin-demo-tooltip:focus,.ekit-admin-demo-tooltip:hover{color:#fff;border:none;-webkit-box-shadow:none;box-shadow:none}.ekit-admin-demo-tooltip::before{content:"";border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #121116;position:absolute;bottom:-8px;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.ekit-admin-demo-tooltip i{margin-right:5px}.admin-bar .ekit-admin-section-header.fixed{top:30px}.ekit-go-pro-con{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.ekit-go-pro-close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;border:none;background-color:transparent;position:relative;z-index:9;cursor:pointer}.ekit-go-pro-close:focus{outline:0;border:none;-webkit-box-shadow:none;box-shadow:none}.attr-modal-dialog-centered{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.toplevel_page_elementskit.attr-modal-open .attr-modal{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.modal-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:rgba(0,0,0,.5);z-index:1}.ekit-admin-input-text--elementskit-license-key{display:block}.ekit-admin-license-form-submit.btn-license-activate{background-color:#f2295b;border-radius:27px!important;-webkit-box-shadow:0 7px 15px rgba(242,41,91,.3);box-shadow:0 7px 15px rgba(242,41,91,.3);font-size:14px;line-height:16px;text-transform:uppercase;color:#fff;font-weight:700;border:none;padding:12px 23px;-webkit-transition:all .4s;transition:all .4s;margin-left:0!important;height:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.ekit-admin-license-form-submit.btn-license-activate:focus,.ekit-admin-license-form-submit.btn-license-activate:hover{background-color:#ad0730;outline:0}.attr-input-group-btn{text-align:left;margin-top:0}.ekit-spinner{width:13px!important;height:13px!important;top:0!important}.attr-modal-content{-webkit-box-shadow:none;box-shadow:none}.ekit-go-pro-con .attr-modal-body{padding:30px}.ekit-go-pro-con .attr-modal-body a{color:#f2295b}.ekit-go-pro-con .attr-modal-body a:focus{outline:0;-webkit-box-shadow:none;box-shadow:none}.elementskit-template-save-btn-editor{background-color:#ccc;border:none;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#fff;border-radius:27px;-webkit-box-shadow:0 7px 15px rgba(204,204,204,.3);box-shadow:0 7px 15px rgba(204,204,204,.3);font-size:14px;line-height:16px;text-transform:uppercase;color:#fff;font-weight:700;border:none;padding:12px 23px;-webkit-transition:all .4s;transition:all .4s}.elementskit-template-save-btn-editor:active,.elementskit-template-save-btn-editor:focus,.elementskit-template-save-btn-editor:hover{color:#fff!important;background-color:#adadad!important;outline:0;border:none;-webkit-box-shadow:0 7px 15px rgba(204,204,204,.3)!important;box-shadow:0 7px 15px rgba(204,204,204,.3)!important}.elementskit-template-save-btn-editor img{max-width:14px;margin-right:5px}.elementskit-template-save-btn{background-color:#f2295b;border-radius:27px;-webkit-box-shadow:0 7px 15px rgba(242,41,91,.3);box-shadow:0 7px 15px rgba(242,41,91,.3);font-size:14px;line-height:16px;text-transform:uppercase;color:#fff;font-weight:700;border:none;padding:12px 23px;-webkit-transition:all .4s;transition:all .4s}.elementskit-template-save-btn:focus,.elementskit-template-save-btn:hover{background-color:#ad0730;outline:0}.attr-panel-heading.pro-disabled{position:relative;overflow:hidden;border-radius:20px!important}.attr-panel-heading.pro-disabled .attr-btn::before,.attr-panel-heading.widget-disabled .attr-btn::before{display:none}.attr-panel-heading.pro-disabled::after{background-color:#f2295b;background-image:none;-webkit-box-shadow:rgba(0,5,41,.1) 0 3px 7px 0;box-shadow:rgba(0,5,41,.1) 0 3px 7px 0;color:#fff;content:"PRO";display:block;font-size:10px;font-weight:600;height:25px;left:-41px;line-height:28px;padding-bottom:1px;padding-left:3px;padding-right:0;padding-top:1px;position:absolute;text-align:center;text-transform:uppercase;top:0;-webkit-transform:matrix(.707107,-.707107,.707107,.707107,0,0);transform:matrix(.707107,-.707107,.707107,.707107,0,0);width:100px}.modal-backdrop.attr-fade{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:rgba(0,0,0,.5)}.ekit-go-pro-con{margin-top:50px}.ekit-go-pro-con .icon{font-size:90px;color:#f2295b;opacity:.3}.ekit-go-pro-con h2{font-size:44px;margin:56px 0 34px 0}.ekit-go-pro-con p{font-size:20px;font-weight:300;line-height:1.2}.ekit-go-pro-con .attr-modal-body{padding:30px 15px}#v-elementskit-ekit-go-pro-nav-tab .ekit-admin-tab-icon{height:40px;overflow:visible}.ekit-go-pro-gif{height:58px;position:absolute;top:9px;right:25px;-webkit-transform:rotate(32deg);transform:rotate(32deg);opacity:.55}.attr-nav-tabs>li>#v-elementskit-ekit-go-pro-nav-tab:focus,.attr-nav-tabs>li>#v-elementskit-ekit-go-pro-nav-tab:hover{border-left-color:#fcb214}.attr-nav-tabs>li>#v-elementskit-ekit-go-pro-nav-tab:focus .ekit-go-pro-gif,.attr-nav-tabs>li>#v-elementskit-ekit-go-pro-nav-tab:hover .ekit-go-pro-gif{-webkit-filter:invert(1) brightness(60%) sepia(80%) saturate(10000%) hue-rotate(35deg);filter:invert(1) brightness(60%) sepia(80%) saturate(10000%) hue-rotate(35deg)}.attr-nav-tabs>li>#v-elementskit-ekit-go-pro-nav-tab .ekit-admin-title{color:#fcb214}.ekit-content-type-pro-disabled .ekit-admin-input-switch::before{background-color:#f2295b;background-image:none;-webkit-box-shadow:rgba(0,5,41,.1) 0 3px 7px 0;box-shadow:rgba(0,5,41,.1) 0 3px 7px 0;color:#fff;content:"PRO";display:block;font-size:10px;font-weight:600;height:25px;left:-41px;line-height:28px;padding-bottom:1px;padding-left:3px;padding-right:0;padding-top:1px;position:absolute;text-align:center;text-transform:uppercase;top:0;-webkit-transform:matrix(.707107,-.707107,.707107,.707107,0,0);transform:matrix(.707107,-.707107,.707107,.707107,0,0);width:100px}.attr-panel-heading.pro-disabled{position:relative;overflow:hidden;border-radius:20px!important}.attr-panel-heading.pro-disabled .attr-btn::before{display:none}.attr-panel-heading.pro-disabled::after{background-color:#f2295b;background-image:none;-webkit-box-shadow:rgba(0,5,41,.1) 0 3px 7px 0;box-shadow:rgba(0,5,41,.1) 0 3px 7px 0;color:#fff;content:"PRO";display:block;font-size:10px;font-weight:600;height:25px;left:-41px;line-height:28px;padding-bottom:1px;padding-left:3px;padding-right:0;padding-top:6px;position:absolute;text-align:center;text-transform:uppercase;top:-4px;-webkit-transform:matrix(.707107,-.707107,.707107,.707107,0,0);transform:matrix(.707107,-.707107,.707107,.707107,0,0);width:100px}.ekit-content-type-pro-disabled .ekit-admin-input-switch::after{position:absolute;content:"";top:0;left:0;height:100%;width:100%;opacity:.4}.ekit-admin-accordion-btn{display:block;margin-left:10px;padding:10px 30px 12px;color:#021343;border:2px solid #e3e5eb;border-radius:6px;font-size:15px;font-weight:500;line-height:18px;text-transform:capitalize;-webkit-transition:color .3s,background .3s,border-color .3s;transition:color .3s,background .3s,border-color .3s;cursor:pointer}.ekit-admin-accordion-btn-group{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.ekit-admin-accordion-btn:hover{color:#f2295b;background-color:#fff;border-color:#fff;-webkit-box-shadow:none;box-shadow:none}.ekit-admin-accordion-btn:focus{color:#021343;-webkit-box-shadow:none;box-shadow:none}.ekit-admin-accordion-btn[disabled]{opacity:.85;pointer-events:none}.ekit-admin-accordion-btn-focused{color:#fff;background-color:#f2295b;border-color:#f2295b}.ekit-admin-accordion-btn-focused:focus,.ekit-admin-accordion-btn-focused:hover{color:#fff;background-color:#f2295b;border-color:#f2295b}.ekit-admin-widget-list .ekit-widget-group-title,.ekit-admin-widgets-container .ekit-widget-group-title{color:#021343;font-size:16px;line-height:28px;margin-top:36px;margin-bottom:16px}.ekit-admin-widget-list .ekit-widget-group-title:first-child,.ekit-admin-widgets-container .ekit-widget-group-title:first-child{margin-top:0}.ekit-admin-widget-list .ekit-admin-input-switch .ekit-admin-control-label{height:52px;-webkit-box-sizing:border-box;box-sizing:border-box;font-weight:400;padding-left:15px;padding-right:15px}.ekit-admin-widget-list .ekit-admin-input-switch .ekit-admin-control-label-switch{width:45px;height:20px;margin-left:0;min-width:45px}.ekit-admin-widget-list .ekit-admin-input-switch .ekit-admin-control-label-switch::after{width:12px;height:12px}.ekit-admin-widget-list .ekit-admin-input-switch .ekit-admin-control-label-switch::before{text-indent:18px}.ekit-admin-widget-list .ekit-content-type-pro-disabled .ekit-admin-input-switch::before{font-size:9px;left:-46px;line-height:35px;top:-6px}.ekit-admin-widget-list .ekit-admin-demo-tooltip{right:0}.ekit-admin-widget-list .ekit-admin-control-label-text{padding-right:10px;padding-left:10px}.ekit-admin-widgets-container .ekit-admin-input-switch .ekit-admin-control-label-switch{display:none}.ekit-admin-widgets-container .ekit-admin-input-switch .ekit-admin-control-input{opacity:1;z-index:1;position:static;-webkit-box-shadow:none;box-shadow:none;border:1.5px solid #c0c2ce;height:16px;width:16px;border-radius:3px;margin:0;margin-right:13px;-webkit-transition:background .4s;transition:background .4s}.ekit-admin-widgets-container .ekit-admin-input-switch .ekit-admin-control-input:checked{background-color:#fe0467;border-color:#fe0467}.ekit-admin-widgets-container .ekit-admin-input-switch .ekit-admin-control-input:checked::before{content:"\e983";font-family:elementskit;padding:0;width:auto;height:auto;font-size:10px;font-weight:700;color:#fff;margin:0;position:absolute;top:50%;left:8px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.ekit-admin-widgets-container .attr-input-switch{margin-bottom:0}.ekit-admin-widgets-container .ekit-content-type-pro-disabled .ekit-admin-control-label:after{background-color:rgba(62,119,252,.1);background-image:none;content:"PRO";display:block;position:absolute;text-align:center;text-transform:uppercase;top:50%;right:-40px;color:#3e77fc;font-size:11px;line-height:13px;border-radius:4px;-webkit-transform:translateY(-50%);transform:translateY(-50%);font-weight:500;padding:2px 5px}.ekit-admin-widgets-container .ekit-admin-control-label{padding:0;color:#5d5e65;font-size:14px;line-height:17px;position:relative;font-weight:400}.ekit-admin-widgets-container .ekit-admin-fields-container-fieldset .ekit-admin-card-shadow{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:none;padding:5px;margin-bottom:0}.ekit-admin-widgets-container .ekit-content-type-pro-disabled .ekit-admin-input-switch::before{display:none}.ekit-onboard-dashboard{background-color:#f5f6f9;margin-left:-20px;padding:30px;position:absolute;top:0;left:0;z-index:1;width:calc(100% + 20px);-webkit-box-sizing:border-box;box-sizing:border-box;min-height:calc(100vh - 32px);padding-top:30px;padding-bottom:100px}.ekit-onboard-dashboard .ekit-onboard-btn{color:#fff;font-size:15px;line-height:18px;font-weight:500;background-color:#fe0467;border-radius:6px;text-decoration:none;padding:16px 37px;display:inline-block;-webkit-transition:all .4s;transition:all .4s;-webkit-box-shadow:none;box-shadow:none;outline:0;cursor:pointer;border:none;position:relative}.ekit-onboard-dashboard .ekit-onboard-btn:hover{-webkit-box-shadow:0 10px 20px #d602574d;box-shadow:0 10px 20px #d602574d}.ekit-onboard-dashboard .ekit-onboard-btn.prev{background-color:transparent;color:#021343;padding-right:26px;-webkit-box-shadow:none;box-shadow:none}.ekit-onboard-dashboard .ekit-onboard-btn.prev .icon{margin-right:10px;font-weight:700;position:relative;top:1px}.ekit-onboard-dashboard .ekit-onboard-btn.prev:hover{background-color:transparent;color:#3e77fc}.ekit-onboard-dashboard .ekit-onboard-btn .ekit-spinner{position:absolute;left:16px;top:20px!important}.ekit-onboard-dashboard .ekit-pro-btn{color:#3e77fc;font-size:15px;line-height:18px;background-color:transparent;font-weight:500;border:2px solid #3e77fc;border-radius:6px;padding:11px 32px;-webkit-transition:all .4s;transition:all .4s;text-decoration:none;display:inline-block}.ekit-onboard-dashboard .ekit-pro-btn:hover{background-color:#3e77fc;color:#fff}.ekit-onboard-dashboard .ekit-pro-btn:focus{border-color:#3e77fc;-webkit-box-shadow:none;box-shadow:none}.ekit-onboard-dashboard .ekit-pro-btn .icon{position:relative;top:1px}.ekit-onboard-dashboard .ekit_container{max-width:1110px;margin:auto}.ekit-onboard-dashboard .ekit-onboard-progressbar{background-color:#3e77fc;height:4px;display:block;position:absolute;bottom:-4px;-webkit-transition:all .4s;transition:all .4s}.ekit-onboard-dashboard .ekit-onboard-nav{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-bottom:4px solid #e4e6ee;padding-bottom:20px;position:relative;margin:0;margin-bottom:50px}.ekit-onboard-dashboard .ekit-onboard-nav-item{padding-right:28px;margin-right:37px;color:#5d5e65;font-size:14px;line-height:17px;font-weight:500;cursor:pointer;margin-bottom:0;-webkit-transition:all .4s;transition:all .4s}.ekit-onboard-dashboard .ekit-onboard-nav-item:last-child{margin-right:0}.ekit-onboard-dashboard .ekit-onboard-nav-item.active .ekit-onboard-nav-icon{color:#fff;background-color:#3e77fc}.ekit-onboard-dashboard .ekit-onboard-nav-item.selected .ekit-onboard-nav-icon:before{content:"\e983";color:#3e77fc;font-size:18px}.ekit-onboard-dashboard .ekit-onboard-nav-icon{height:40px;width:40px;background-color:#fff;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:6px;margin-right:11px;-webkit-transition:all .4s;transition:all .4s;font-size:17px}.ekit-onboard-dashboard .ekit-admin-fields-container-description{display:none}.ekit-onboard-dashboard .ekit-onboard-section{background-color:#fff;overflow:hidden;border-radius:6px;padding:50px;margin-bottom:10px;padding-top:30px}.ekit-onboard-dashboard .ekit-onboard-section:last-child{margin-bottom:0}.ekit-onboard-dashboard .ekit-onboard-section-title{font-size:20px;line-height:28px;color:#021343;font-weight:700;margin-top:0;margin-bottom:24px}.ekit-onboard-dashboard .ekit-onboard-module{margin-top:60px}.ekit-onboard-dashboard .ekit-onboard-module .ekit-admin-card-shadow{border-radius:6px;border:2px solid #eff0f5;-webkit-transition:all .4s;transition:all .4s}.ekit-onboard-dashboard .ekit-onboard-module .ekit-admin-card-shadow:hover{border-color:#3e77fc}.ekit-onboard-dashboard .ekit-onboard-module .ekit-admin-control-label{padding:17px 20px 17px 30px;font-size:14px;line-height:17px;font-weight:500;color:#021343}.ekit-onboard-dashboard .ekit-onboard-module .ekit-admin-input-switch::before{background-color:#3e77fc;left:-43px;top:-3px;line-height:34px;-webkit-box-shadow:none;box-shadow:none}.ekit-onboard-dashboard .ekit-onboard-module .ekit-admin-input-switch .ekit-admin-control-label-switch{width:56px}.ekit-onboard-dashboard .ekit-onboard-module .ekit-admin-input-switch .ekit-admin-control-label-switch::before{border-color:#e7e9ef;background-color:#f2f3f5;color:#5d5e65;font-size:14px;line-height:17px;font-weight:400}.ekit-onboard-dashboard .ekit-onboard-module .ekit-admin-input-switch .ekit-admin-control-label-switch:after{background:#777f92;height:16px;width:16px;top:5px}.ekit-onboard-dashboard .ekit-onboard-module .ekit-admin-control-input:checked~.ekit-admin-control-label .ekit-admin-control-label-switch::before{border-color:#e7e9ef;text-indent:8px;content:attr(data-active);font-size:14px;line-height:17px;font-weight:400;color:#3e77fc}.ekit-onboard-dashboard .ekit-onboard-module .ekit-admin-control-input:checked~.ekit-admin-control-label .ekit-admin-control-label-switch:after{left:35px;background-color:#3e77fc;content:''}.ekit-onboard-dashboard .ekit-onboard-widget .ekit-admin-fields-container-fieldset .attr-input-switch .ekit-admin-demo-tooltip{top:-20px;right:inherit;left:32px}.ekit-onboard-dashboard .ekit-onboard-widget .ekit-admin-fields-container-fieldset .attr-input-switch .ekit-admin-demo-tooltip::before{left:15px}.ekit-onboard-dashboard .ekit-admin-fields-container-fieldset{margin:0}.ekit-onboard-dashboard .ekit-onboard-step-wrapper{opacity:0;visibility:hidden;position:absolute;left:-999999px;top:-999999px;-webkit-transition:all .4s;transition:all .4s;padding:0 100px 0 100px}.ekit-onboard-dashboard .ekit-onboard-step-wrapper.active{opacity:1;left:inherit;top:inherit;visibility:visible;position:relative}.ekit-onboard-dashboard .ekit-onboard-main-header{margin-bottom:43px}.ekit-onboard-dashboard .ekit-onboard-main-header--title{color:#021343;font-size:50px;line-height:60px;font-weight:400;margin:0}.ekit-onboard-dashboard .ekit-onboard-main-header--title strong{font-weight:700}.ekit-onboard-dashboard .ekit-onboard-main-header--description{color:#021343;font-size:18px;line-height:28px;margin:0}.ekit-onboard-dashboard .ekit-onboard-signup{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-radius:6px;background-color:#fff;padding:0 26px;padding-right:0;border-left:3px solid #3e77fc;margin:0;-webkit-box-shadow:0 20px 40px rgba(0,10,36,.1);box-shadow:0 20px 40px rgba(0,10,36,.1)}.ekit-onboard-dashboard .ekit-onboard-signup label{color:#aaabaf;font-size:15px}.ekit-onboard-dashboard .ekit-onboard-signup input{color:#98999e;font-size:15px;line-height:18px;font-weight:400;-webkit-box-flex:1;-ms-flex:1;flex:1;padding:19px 15px;outline:0;border:none;-webkit-box-shadow:none;box-shadow:none;padding-left:9px}.ekit-onboard-dashboard .ekit-onboard-signup input:-webkit-autofill,.ekit-onboard-dashboard .ekit-onboard-signup input:-webkit-autofill:active,.ekit-onboard-dashboard .ekit-onboard-signup input:-webkit-autofill:focus,.ekit-onboard-dashboard .ekit-onboard-signup input:-webkit-autofill:hover{-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s}.ekit-onboard-dashboard .ekit-onboard-signup--helptext{color:#021343;font-size:16px;line-height:26px;font-weight:400;margin:0;margin-top:40px}.ekit-onboard-dashboard .ekit-onboard-signup--helptext span{color:#fe0467}.ekit-onboard-dashboard .ekit-onboard-step-2-inner{max-width:100%;padding:0 148px;padding-top:30px}.ekit-onboard-dashboard .ekit-onboard-step-2-inner .error{color:red;font-size:14px;margin:0;position:absolute;margin-top:4px}.ekit-onboard-dashboard .ekit-onboard-step-02:before{content:"";background-image:url(../images/onboard/shape-08.png);height:110px;width:105px;display:block;position:fixed;right:-45px;top:200px}.ekit-onboard-dashboard .ekit-onboard-step-02.active{position:relative!important}.ekit-onboard-dashboard .ekit-onboard-step-02 .ekit-onboard-main-header--title{margin-bottom:12px}.ekit-onboard-dashboard .ekit-onboard-step-02 .ekit-onboard-shapes .shape-01{position:absolute;margin-top:130px;margin-right:25px;-webkit-transition:all .4s;transition:all .4s}.ekit-onboard-dashboard .ekit-onboard-step-02 .ekit-onboard-shapes .shape-09{position:absolute;right:56px;margin-top:16px}.ekit-onboard-dashboard .ekit-onboard-step-02 .ekit-onboard-shapes .shape-07{position:absolute;top:20px;right:220px}.ekit-onboard-dashboard .ekit-onboard-step-02 .ekit-onboard-shapes .shape-02,.ekit-onboard-dashboard .ekit-onboard-step-02 .ekit-onboard-shapes .shape-03{position:absolute;right:0;top:300px;opacity:.3}.ekit-onboard-dashboard .ekit-onboard-step-02 .ekit-onboard-shapes .shape-02{right:inherit;left:0}.ekit-onboard-dashboard .ekit-onboard-step-02 .ekit-onboard-shapes .shape-06{position:absolute;left:-35px;top:130px}.ekit-onboard-dashboard .ekit-onboard-step-02 .ekit-onboard-shapes .shape-05{position:absolute;left:-100px;top:20px}.ekit-onboard-dashboard .ekit-onboard-step-02 .ekit-onboard-shapes .shape-04{position:absolute;top:230px;left:-150px}.ekit-onboard-dashboard .ekit-onboard-step-01{padding:0}.ekit-onboard-dashboard .ekit-onboard-step-01 .ekit-onboard-pagination{padding:0;border:none;margin-top:30px}.ekit-onboard-dashboard .ekit-onboard-step-03{padding-top:0}.ekit-onboard-dashboard .ekit-onboard-step-03 .ekit-onboard-main-header{margin-bottom:26px}.ekit-onboard-dashboard .ekit-onboard-step-03 .shape-11{position:absolute;top:235px;right:0}.ekit-onboard-dashboard .ekit-onboard-step-03 .shape-12{position:absolute;left:20px;bottom:150px}.ekit-onboard-dashboard .ekit-onboard-step-03 .shape-06{position:absolute;top:90px;left:-120px}.ekit-onboard-dashboard .ekit-onboard-step-03 .shape-10{position:absolute;top:185px;left:-50px}.ekit-onboard-dashboard .ekit-onboard-step-03 .shape-13{position:absolute;top:390px;left:-145px}.ekit-onboard-dashboard .ekit-onboard-step-03 .ekit-onboard-main-header--description{color:#5d5e65;font-size:16px;line-height:26px}.ekit-onboard-dashboard .ekit-onboard-step-03 .ekit-onboard-main-header--title{margin-bottom:15px;line-height:50px}.ekit-onboard-dashboard .ekit-onboard-step-03 .ekit-onboard-pagination{margin-top:50px}.ekit-onboard-dashboard .ekit-onboard-step-04 .ekit-onboard-main-header{margin-bottom:50px}.ekit-onboard-dashboard .ekit-onboard-step-04 .ekit-onboard-main-header--title{margin-top:-7px}.ekit-onboard-dashboard .ekit-onboard-step-04 .ekit-onboard-pagination{margin-top:30px}.ekit-onboard-dashboard .ekit-onboard-step-04 .shape-07{position:absolute;top:230px;right:-90px}.ekit-onboard-dashboard .ekit-onboard-step-04 .shape-14{position:absolute;top:100px;left:-200px}.ekit-onboard-dashboard .ekit-onboard-step-04 .shape-15{position:absolute;top:230px;left:-100px}.ekit-onboard-dashboard .ekit-onboard-step-04 .shape-16{position:absolute;left:-130px;top:370px}.ekit-onboard-dashboard .ekit-onboard-step-04 .shape-17{position:absolute;right:45px;top:310px}.ekit-onboard-dashboard .ekit-onboard-plugin-list .attr-row{margin-left:-11px;margin-right:-11px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.ekit-onboard-dashboard .ekit-onboard-plugin-list .attr-row>div{padding:11px}.ekit-onboard-dashboard .ekit-onboard-single-plugin{background-color:#fff;border-radius:6px;-webkit-box-shadow:0 30px 50px rgba(0,10,36,.1);box-shadow:0 30px 50px rgba(0,10,36,.1);position:relative}.ekit-onboard-dashboard .ekit-onboard-single-plugin.badge--featured:before{content:"FEATURED";display:block;position:absolute;top:15px;right:15px;width:65px;padding:7px 11px;color:#fff;background-color:#3e76fa;border-radius:3px;font-size:14px;line-height:1;text-align:center;white-space:nowrap}.ekit-onboard-dashboard .ekit-onboard-single-plugin label{display:block;padding:30px;padding-bottom:40px;cursor:default}.ekit-onboard-dashboard .ekit-onboard-single-plugin--input{border:1px solid #ccced9;-webkit-box-shadow:none;box-shadow:none;background-color:#f5f5f6;height:20px;width:20px;border-radius:50%;position:absolute;top:14px;right:14px;margin:0}.ekit-onboard-dashboard .ekit-onboard-single-plugin--input:checked{background-color:#3e77fc;border-color:#3e77fc}.ekit-onboard-dashboard .ekit-onboard-single-plugin--input:checked::before{content:"\e983";font-family:elementskit;padding:0;width:auto;height:auto;font-size:12px;font-weight:700;color:#fff;margin:0;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.ekit-onboard-dashboard .ekit-onboard-single-plugin--install{color:#021343;font-size:15px;font-weight:500;display:block;border:2px solid #e4e6ee;border-radius:6px;min-height:175px;line-height:175px;position:relative;text-decoration:none}.ekit-onboard-dashboard .ekit-onboard-single-plugin--install i{padding-left:9px;font-weight:700}.ekit-onboard-dashboard .ekit-onboard-single-plugin--description{color:#5d5e65;font-size:16px;line-height:24px;font-weight:400;margin:0}.ekit-onboard-dashboard .ekit-onboard-single-plugin--logo{margin-bottom:12px;min-height:41px}.ekit-onboard-dashboard .ekit-onboard-single-plugin--install_plugin{padding:6px 25px;margin-top:23px}.ekit-onboard-dashboard .ekit-onboard-single-plugin--install_plugin.ekit-plugin-install-activate{cursor:no-drop;background-color:#ccc;color:#fff;border-color:#ccc}.ekit-onboard-dashboard .ekit-onboard-single-plugin--install_plugin.activated{cursor:default}.ekit-onboard-dashboard .ekit-onboard-tutorial{text-align:center;background-image:url(../images/onboard/tutorial-banner.png);background-repeat:no-repeat;background-size:cover;background-position:center;padding:80px 0;border-radius:14px;-webkit-box-shadow:0 30px 40px rgba(0,8,30,.2);box-shadow:0 30px 40px rgba(0,8,30,.2);position:relative;overflow:hidden}.ekit-onboard-dashboard .ekit-onboard-tutorial--btn{display:inline-block;padding:50px;border:1px solid rgba(255,255,255,.06);border-radius:100%}.ekit-onboard-dashboard .ekit-onboard-tutorial--link{text-decoration:none;display:inline-block;padding:35px;border:2px solid rgba(255,255,255,.1);border-radius:100%}.ekit-onboard-dashboard .ekit-onboard-tutorial i{color:#fff;font-size:25px;background-color:#fe0467;height:90px;width:90px;display:block;line-height:90px;text-align:center;border-radius:100%;margin:auto;border:1px solid red;margin:10px;-webkit-transition:all .4s;transition:all .4s}.ekit-onboard-dashboard .ekit-onboard-tutorial i:before{margin-left:5px}.ekit-onboard-dashboard .ekit-onboard-tutorial i:hover{background-color:#fff;color:#fe0467;border-color:#fff}.ekit-onboard-dashboard .ekit-onboard-tutorial .ekti-admin-video-tutorial-popup{position:absolute}.ekit-onboard-dashboard .ekit-onboard-tutorial .ekti-admin-video-tutorial-popup iframe{width:100%;height:100%}.ekit-onboard-dashboard .ekit-onboard-tutorial .ekti-admin-video-tutorial-popup .ekti-admin-video-tutorial-iframe{height:100%}.ekit-onboard-dashboard .ekit-onboard-tut-term{margin-top:35px}.ekit-onboard-dashboard .ekit-onboard-tut-term--label{color:#5d5e65;font-size:16px;line-height:26px;font-weight:400}.ekit-onboard-dashboard .ekit-onboard-tut-term--input{height:18px;width:18px;-webkit-box-shadow:none;box-shadow:none;border:1.5px solid #c0c2ce;background-color:#f5f5f6;border-radius:4px;position:relative;box-shadow:none;outline:0}.ekit-onboard-dashboard .ekit-onboard-tut-term--input:checked{background-color:#fe0467;border-color:#fe0467}.ekit-onboard-dashboard .ekit-onboard-tut-term--input:checked::before{content:"\e983";font-family:elementskit;padding:0;width:auto;height:auto;font-size:10px;font-weight:700;color:#fff;margin:0;position:absolute;top:50%;left:3px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.ekit-onboard-dashboard .ekit-onboard-tut-term--input:focus{-webkit-box-shadow:none;box-shadow:none;outline:0}.ekit-onboard-dashboard .ekit-onboard-tut-term--help{margin:0;color:#021343;font-size:14px;font-weight:500;line-height:26px;margin-top:10px;cursor:pointer}.ekit-onboard-dashboard .ekit-onboard-tut-term--help:hover{color:#3e77fc}.ekit-onboard-dashboard .ekit-onboard-tut-term--help.active{color:#3e77fc}.ekit-onboard-dashboard .ekit-onboard-tut-term--helptext{height:0;-webkit-transition:opacity .4s;transition:opacity .4s;opacity:0;visibility:hidden;line-height:22px;color:#5d5e65;font-size:14px;cursor:default;font-weight:400;position:absolute;padding-right:95px;margin-top:20px;margin-bottom:-4px}.ekit-onboard-dashboard .ekit-onboard-tut-term--helptext.active{opacity:1;visibility:visible;height:auto;position:static}.ekit-onboard-dashboard .ekit-onboard-tut-term--helptext:hover{text-decoration:none}.ekit-onboard-dashboard .ekit-onboard-pagination{text-align:right;border-top:1px solid #e4e6ee;padding-top:20px;margin-top:60px}.ekit-onboard-dashboard .ekit-onboard-shapes{position:absolute;top:50%;width:100%;left:0;-webkit-transform:translateY(-50%);transform:translateY(-50%);height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;z-index:-9}.ekit-onboard-dashboard .ekit-onboard-pro-features h2{margin:0;color:#021343;font-size:24px;line-height:29px;margin-bottom:35px}.ekit-onboard-dashboard .ekit-onboard-pro-features h2 span{color:#fe0467;position:relative;display:inline-block}.ekit-onboard-dashboard .ekit-onboard-pro-features h2 span:before{content:"";background-image:url(../images/onboard/pro-line-shape.png);width:64px;height:44px;display:block;top:50%;position:absolute;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);left:50%}.ekit-onboard-dashboard .ekit-onboard-modules li{display:inline-block;color:#021343;font-size:14px;line-height:18px;font-weight:500;background-color:#fff;-webkit-box-shadow:0 30px 40px rgba(0,10,36,.1);box-shadow:0 30px 40px rgba(0,10,36,.1);border-radius:4px;padding-left:10px;padding-right:50px;padding-top:4px;padding-bottom:4px;margin-right:20px;margin-bottom:20px}.ekit-onboard-dashboard .ekit-onboard-modules img{display:inline-block;vertical-align:middle}.ekit-onboard-dashboard .ekit-onboard-modules span{display:inline-block;padding-left:10px}.ekit-onboard-dashboard .ekit-onboard-module-meta{margin:0;margin-top:30px;margin-bottom:50px}.ekit-onboard-dashboard .ekit-onboard-module-meta li{display:inline-block;font-size:14px;line-height:17px;font-weight:500;margin:0;color:#5d5e65;margin-right:45px}.ekit-onboard-dashboard .ekit-onboard-module-meta li:last-child{margin-right:0}.ekit-onboard-dashboard .ekit-onboard-module-meta li .icon{font-size:12px;height:24px;width:24px;display:inline-block;background-color:rgba(62,119,252,.1);text-align:center;border-radius:100%;line-height:24px;color:#3e77fc;margin-right:7px}.ekit-onboard-dashboard .ekit-onboard-step-05 .ekit-onboard-main-header{margin-bottom:44px}.ekit-onboard-dashboard .ekit-onboard-step-05 .ekit-onboard-pagination{margin-top:70px}.ekit-onboard-dashboard .ekit-onboard-step-05 .shape-14{position:absolute;top:90px;left:-200px}.ekit-onboard-dashboard .ekit-onboard-step-05 .shape-15{position:absolute;top:240px;left:-124px}.ekit-onboard-dashboard .ekit-onboard-step-05 .shape-18{position:absolute;margin-right:150px;margin-top:80px}.ekit-onboard-dashboard .ekit-onboard-step-05 .shape-19{position:absolute;top:240px;right:80px}.ekit-onboard-dashboard .ekit-onboard-step-06 .ekit-onboard-main-header{text-align:center}.ekit-onboard-dashboard .ekit-onboard-step-06 .ekit-onboard-btn{margin-top:43px}.ekit-onboard-dashboard .ekit-onboard-step-06 .ekit-onboard-main-header{padding-top:20px}.ekit-onboard-dashboard .ekit-onboard-step-06 .ekit-onboard-main-header--description{font-size:16px;line-height:26px}.ekit-onboard-dashboard .ekit-onboard-step-06 .ekit-onboard-main-header--title{margin-bottom:10px}.ekit-onboard-dashboard .ekit-onboard-step-06 .shape-04{position:absolute;left:20px;top:400px}.ekit-onboard-dashboard .ekit-onboard-step-06 .shape-07{position:absolute;top:100px;right:74px}.ekit-onboard-dashboard .ekit-onboard-step-06 .shape-15{position:absolute;left:130px;top:200px}.ekit-onboard-dashboard .ekit-onboard-step-06 .shape-21{position:absolute;top:90px;left:0}.ekit-onboard-dashboard .ekit-onboard-step-06 .shape-22{position:absolute;top:300px;right:95px}@-webkit-keyframes infinite-spinning{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes infinite-spinning{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.ekit-spinner{display:none;position:relative;width:18px;height:18px;border-radius:18px;background:rgba(0,0,0,.5);-webkit-animation:infinite-spinning 1.08s linear infinite;animation:infinite-spinning 1.08s linear infinite;vertical-align:middle;margin-right:7px;top:-1px}.is-loading .ekit-spinner{display:inline-block}.ekit-spinner:after{content:"";position:absolute;top:2px;left:50%;width:4px;height:4px;border-radius:4px;margin-left:-2px;background:#fff}.ekit-admin-fields-container-description{margin-bottom:16px}.ekit-admin-dashboard-banner{width:100%}.xx{margin:16px 0 0 0!important}.ekit-admin-input-text{margin-top:2rem}.ekit-admin-section-heaer-title>i{display:inline-block;width:48px;height:48px;line-height:48px!important;margin-right:24px;background-color:#fee9ee;color:#f2295b;text-align:center;border-radius:3px;vertical-align:middle;font-size:20px}.attr-card-body{position:relative;overflow:hidden}.ekit-admin-section-heaer-title::before{display:none}.ekit_tab_wraper{margin:0 15px}.btn-license-activate{border-radius:4px!important;margin:0 0 0 15px!important}.ekit-admin-form{margin-top:30px}@-webkit-keyframes Gradient{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}@keyframes Gradient{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}a.toplevel_page_elementskit.wp-menu-open{background:linear-gradient(-45deg,#ee7752,#e73c7e,#23a6d5,#23d5ab)!important;-webkit-animation:Gradient 15s ease infinite;animation:Gradient 15s ease infinite;background-size:400% 400%!important;color:#fff!important}#ekit-admin-option-text-elementskit-license-key{color:#f2295b}.attr-panel-body .ekit-admin-input-switch{padding:0 0 11px;border-width:0;-webkit-box-shadow:none;box-shadow:none}.attr-panel-body .ekit-admin-input-switch>label{padding:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;-ms-grid-row-align:flex-start;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.attr-panel-body .ekit-admin-input-switch>label>span{margin-top:10px;margin-left:0}
libs/framework/attr.php CHANGED
@@ -1,81 +1,79 @@
1
  <?php
2
  namespace ElementsKit_Lite\Libs\Framework;
 
3
  use ElementsKit_Lite\Libs\Framework\Classes\Utils;
4
 
5
  defined( 'ABSPATH' ) || exit;
6
 
7
- class Attr{
8
-
9
- use \ElementsKit_Lite\Traits\Singleton;
10
-
11
- public $utils;
12
-
13
- public static function get_dir(){
14
- return \ElementsKit_Lite::lib_dir() . 'framework/';
15
- }
16
 
17
- public static function get_url(){
18
- return \ElementsKit_Lite::lib_url() . 'framework/';
19
- }
20
 
21
- public static function key(){
22
- return 'elementskit';
23
- }
24
 
25
- public function __construct() {
26
- $this->utils = Classes\Utils::instance();
27
- new Classes\Ajax;
28
 
29
-
 
 
30
 
31
- // register admin menus
32
- add_action('admin_menu', [$this, 'register_settings_menus']);
33
- // add_action('admin_menu', [$this, 'register_support_menu'], 999);
34
 
35
- // register js/ css
36
- add_action( 'admin_enqueue_scripts', [$this, 'enqueue_scripts'] );
 
37
 
38
- // whitelist styles
39
- add_filter('mailpoet_conflict_resolver_whitelist_style', [$this, 'whitelisted_styles']);
40
 
41
- add_action('elementskit-lite/pro_awareness/before_grid_contents', [$this, 'user_consent_for_banner']);
42
- }
43
 
44
- public function whitelisted_styles($styles) {
45
- $styles[] = 'admin-global.css';
46
- return $styles;
47
- }
48
 
49
- public function include_files(){
 
 
 
50
 
51
- }
 
52
 
53
- public function enqueue_scripts(){
54
- wp_register_style( 'elementskit-admin-global', \ElementsKit_Lite::lib_url() . 'framework/assets/css/admin-global.css', false, \ElementsKit_Lite::version() );
55
- wp_enqueue_style( 'elementskit-admin-global' );
56
- }
57
 
58
- public function register_settings_menus(){
59
 
60
- // dashboard, main menu
61
- add_menu_page(
62
- esc_html__( 'ElementsKit Settings', 'elementskit-lite' ),
63
- esc_html__( 'ElementsKit', 'elementskit-lite' ),
64
- 'manage_options',
65
- self::key(),
66
- [$this, 'register_settings_contents__settings'],
67
- self::get_url() . 'assets/images/ekit_icon.svg',
68
- '58.6'
69
- );
70
- }
71
 
72
 
73
- public function register_settings_contents__settings(){
74
- include self::get_dir() . 'views/init.php';
75
- }
76
 
77
- public function user_consent_for_banner(){
78
- include self::get_dir() . 'views/layout-user-consent-for-banner.php';
79
- }
80
 
81
  }
1
  <?php
2
  namespace ElementsKit_Lite\Libs\Framework;
3
+
4
  use ElementsKit_Lite\Libs\Framework\Classes\Utils;
5
 
6
  defined( 'ABSPATH' ) || exit;
7
 
8
+ class Attr {
 
 
 
 
 
 
 
 
9
 
10
+ use \ElementsKit_Lite\Traits\Singleton;
11
+
12
+ public $utils;
13
 
14
+ public static function get_dir() {
15
+ return \ElementsKit_Lite::lib_dir() . 'framework/';
16
+ }
17
 
18
+ public static function get_url() {
19
+ return \ElementsKit_Lite::lib_url() . 'framework/';
20
+ }
21
 
22
+ public static function key() {
23
+ return 'elementskit';
24
+ }
25
 
26
+ public function __construct() {
27
+ $this->utils = Classes\Utils::instance();
28
+ new Classes\Ajax();
29
 
30
+ // register admin menus
31
+ add_action( 'admin_menu', array( $this, 'register_settings_menus' ) );
32
+ // add_action('admin_menu', [$this, 'register_support_menu'], 999);
33
 
34
+ // register js/ css
35
+ add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
36
 
37
+ // whitelist styles
38
+ add_filter( 'mailpoet_conflict_resolver_whitelist_style', array( $this, 'whitelisted_styles' ) );
39
 
40
+ add_action( 'elementskit-lite/pro_awareness/before_grid_contents', array( $this, 'user_consent_for_banner' ) );
41
+ }
 
 
42
 
43
+ public function whitelisted_styles( $styles ) {
44
+ $styles[] = 'admin-global.css';
45
+ return $styles;
46
+ }
47
 
48
+ public function include_files() {
49
+ }
50
 
51
+ public function enqueue_scripts() {
52
+ wp_register_style( 'elementskit-admin-global', \ElementsKit_Lite::lib_url() . 'framework/assets/css/admin-global.css', false, \ElementsKit_Lite::version() );
53
+ wp_enqueue_style( 'elementskit-admin-global' );
54
+ }
55
 
56
+ public function register_settings_menus() {
57
 
58
+ // dashboard, main menu
59
+ add_menu_page(
60
+ esc_html__( 'ElementsKit Settings', 'elementskit-lite' ),
61
+ esc_html__( 'ElementsKit', 'elementskit-lite' ),
62
+ 'manage_options',
63
+ self::key(),
64
+ array( $this, 'register_settings_contents__settings' ),
65
+ self::get_url() . 'assets/images/ekit_icon.svg',
66
+ '58.6'
67
+ );
68
+ }
69
 
70
 
71
+ public function register_settings_contents__settings() {
72
+ include self::get_dir() . 'views/init.php';
73
+ }
74
 
75
+ public function user_consent_for_banner() {
76
+ include self::get_dir() . 'views/layout-user-consent-for-banner.php';
77
+ }
78
 
79
  }
libs/framework/classes/ajax.php CHANGED
@@ -11,7 +11,7 @@ class Ajax {
11
  private $utils;
12
 
13
  public function __construct() {
14
- add_action( 'wp_ajax_ekit_admin_action', [ $this, 'elementskit_admin_action' ] );
15
  $this->utils = Utils::instance();
16
  }
17
 
@@ -25,11 +25,10 @@ class Ajax {
25
  return;
26
  }
27
 
28
-
29
  if ( isset( $_POST['widget_list'] ) ) {
30
  $widget_list = Widget_List::instance()->get_list();
31
- $widget_list_input = ! is_array( $_POST['widget_list'] ) ? [] : $_POST['widget_list']; // phpcs:ignore // bellow we checked this value for sanitization.
32
- $widget_prepared_list = [];
33
 
34
  foreach ( $widget_list as $widget_slug => $widget ) {
35
  if ( isset( $widget['package'] ) && $widget['package'] == 'pro-disabled' ) {
@@ -46,8 +45,8 @@ class Ajax {
46
 
47
  if ( isset( $_POST['module_list'] ) ) {
48
  $module_list = Module_List::instance()->get_list( 'optional' );
49
- $module_list_input = ! is_array( $_POST['module_list'] ) ? [] : $_POST['module_list']; // phpcs:ignore // bellow we checked this value for sanitization.
50
- $module_prepared_list = [];
51
 
52
  foreach ( $module_list as $module_slug => $module ) {
53
  if ( isset( $module['package'] ) && $module['package'] == 'pro-disabled' ) {
@@ -63,14 +62,13 @@ class Ajax {
63
  }
64
 
65
  if ( isset( $_POST['user_data'] ) ) {
66
- $this->utils->save_option( 'user_data', empty( $_POST['user_data'] ) ? [] : $_POST['user_data'] );
67
  }
68
 
69
  if ( isset( $_POST['settings'] ) ) {
70
- $this->utils->save_settings( empty( $_POST['settings'] ) ? [] : $_POST['settings'] );
71
  }
72
 
73
-
74
  do_action( 'elementskit/admin/after_save' );
75
 
76
  wp_die(); // this is required to terminate immediately and return a proper response
@@ -84,4 +82,4 @@ class Ajax {
84
  }
85
  }
86
 
87
- }
11
  private $utils;
12
 
13
  public function __construct() {
14
+ add_action( 'wp_ajax_ekit_admin_action', array( $this, 'elementskit_admin_action' ) );
15
  $this->utils = Utils::instance();
16
  }
17
 
25
  return;
26
  }
27
 
 
28
  if ( isset( $_POST['widget_list'] ) ) {
29
  $widget_list = Widget_List::instance()->get_list();
30
+ $widget_list_input = ! is_array( $_POST['widget_list'] ) ? array() : $_POST['widget_list']; // phpcs:ignore // bellow we checked this value for sanitization.
31
+ $widget_prepared_list = array();
32
 
33
  foreach ( $widget_list as $widget_slug => $widget ) {
34
  if ( isset( $widget['package'] ) && $widget['package'] == 'pro-disabled' ) {
45
 
46
  if ( isset( $_POST['module_list'] ) ) {
47
  $module_list = Module_List::instance()->get_list( 'optional' );
48
+ $module_list_input = ! is_array( $_POST['module_list'] ) ? array() : $_POST['module_list']; // phpcs:ignore // bellow we checked this value for sanitization.
49
+ $module_prepared_list = array();
50
 
51
  foreach ( $module_list as $module_slug => $module ) {
52
  if ( isset( $module['package'] ) && $module['package'] == 'pro-disabled' ) {
62
  }
63
 
64
  if ( isset( $_POST['user_data'] ) ) {
65
+ $this->utils->save_option( 'user_data', empty( $_POST['user_data'] ) ? array() : $_POST['user_data'] );
66
  }
67
 
68
  if ( isset( $_POST['settings'] ) ) {
69
+ $this->utils->save_settings( empty( $_POST['settings'] ) ? array() : $_POST['settings'] );
70
  }
71
 
 
72
  do_action( 'elementskit/admin/after_save' );
73
 
74
  wp_die(); // this is required to terminate immediately and return a proper response
82
  }
83
  }
84
 
85
+ }
libs/framework/classes/onboard-status.php CHANGED
@@ -9,11 +9,11 @@ defined( 'ABSPATH' ) || exit;
9
  class Onboard_Status {
10
 
11
  use Singleton;
12
- protected $optionKey = 'elements_kit_onboard_status';
13
- protected $optionValue = 'onboarded';
14
 
15
  public function onboard() {
16
- add_action('elementskit/admin/after_save', [$this, 'ajax_action']);
17
 
18
  if ( get_option( $this->optionKey ) ) {
19
  return true;
@@ -32,31 +32,31 @@ class Onboard_Status {
32
  return true;
33
  }
34
 
35
- public function ajax_action(){
36
  // finish on-boarding
37
  $this->finish_onboard();
38
 
39
  if ( isset( $_POST['settings']['tut_term'] ) && $_POST['settings']['tut_term'] == 'user_agreed' ) {
40
- Plugin_Data_Sender::instance()->send( 'diagnostic-data' ); // send non-sensitive diagnostic data and details about plugin usage.
41
  }
42
 
43
- if ( isset( $_POST['settings']['newsletter_email'] ) && !empty($_POST['settings']['newsletter_email'])) {
44
 
45
- $data = [
46
  'email' => $_POST['settings']['newsletter_email'],
47
  'environment_id' => 1,
48
  'contact_list_id' => 1,
49
- ];
50
 
51
- Plugin_Data_Sender::instance()->sendAutomizyData( 'email-subscribe', $data);
52
  }
53
  }
54
 
55
- private function get_onboard_url() {
56
  return add_query_arg(
57
  array(
58
  'page' => 'elementskit',
59
- 'ekit-onboard-steps' => 'loaded'
60
  ),
61
  admin_url( 'admin.php' )
62
  );
@@ -87,8 +87,8 @@ class Onboard_Status {
87
 
88
  public function finish_onboard() {
89
  if ( ! get_option( $this->optionKey ) ) {
90
- add_option( $this->optionKey, $this->optionValue );
91
  }
92
  }
93
 
94
- }
9
  class Onboard_Status {
10
 
11
  use Singleton;
12
+ protected $optionKey = 'elements_kit_onboard_status';
13
+ protected $optionValue = 'onboarded';
14
 
15
  public function onboard() {
16
+ add_action( 'elementskit/admin/after_save', array( $this, 'ajax_action' ) );
17
 
18
  if ( get_option( $this->optionKey ) ) {
19
  return true;
32
  return true;
33
  }
34
 
35
+ public function ajax_action() {
36
  // finish on-boarding
37
  $this->finish_onboard();
38
 
39
  if ( isset( $_POST['settings']['tut_term'] ) && $_POST['settings']['tut_term'] == 'user_agreed' ) {
40
+ Plugin_Data_Sender::instance()->send( 'diagnostic-data' ); // send non-sensitive diagnostic data and details about plugin usage.
41
  }
42
 
43
+ if ( isset( $_POST['settings']['newsletter_email'] ) && ! empty( $_POST['settings']['newsletter_email'] ) ) {
44
 
45
+ $data = array(
46
  'email' => $_POST['settings']['newsletter_email'],
47
  'environment_id' => 1,
48
  'contact_list_id' => 1,
49
+ );
50
 
51
+ Plugin_Data_Sender::instance()->sendAutomizyData( 'email-subscribe', $data );
52
  }
53
  }
54
 
55
+ private function get_onboard_url() {
56
  return add_query_arg(
57
  array(
58
  'page' => 'elementskit',
59
+ 'ekit-onboard-steps' => 'loaded',
60
  ),
61
  admin_url( 'admin.php' )
62
  );
87
 
88
  public function finish_onboard() {
89
  if ( ! get_option( $this->optionKey ) ) {
90
+ add_option( $this->optionKey, $this->optionValue );
91
  }
92
  }
93
 
94
+ }
libs/framework/classes/plugin-data-sender.php CHANGED
@@ -10,9 +10,9 @@ class Plugin_Data_Sender {
10
 
11
  use Singleton;
12
 
13
- private $installedPlugins = [];
14
- private $themes = [];
15
- private $activatedPlugins = [];
16
 
17
  public function __construct() {
18
  $this->set_activated_plugins();
@@ -32,22 +32,28 @@ class Plugin_Data_Sender {
32
  if ( in_array( $key, $this->activatedPlugins ) ) {
33
  $status = true;
34
  }
35
- array_push( $this->installedPlugins, [
36
- 'name' => $plugin['Name'],
37
- 'version' => $plugin['Version'],
38
- 'is_active' => $status,
39
- ] );
 
 
 
40
  }
41
  }
42
 
43
  private function setThemes() {
44
- $activeTheme = wp_get_theme()->get('Name') ;
45
- foreach (wp_get_themes() as $key => $theme) {
46
- array_push($this->themes, [
47
- "name" => $theme->Name,
48
- "version" => $theme->Version,
49
- 'is_active' => $activeTheme == $theme->Name,
50
- ]);
 
 
 
51
  }
52
  }
53
 
@@ -58,45 +64,45 @@ class Plugin_Data_Sender {
58
 
59
  public function send( $route ) {
60
  return wp_remote_post(
61
- $this->getUrl($route) ,
62
- [
63
  'method' => 'POST',
64
  'data_format' => 'body',
65
- 'headers' => [
66
- 'Content-Type' => 'application/json'
67
- ],
68
- 'body' => json_encode( $this->get_data() )
69
- ]
70
  );
71
  }
72
 
73
- public function sendAutomizyData( $route, $data ) {
74
  return wp_remote_post(
75
- $this->getUrl($route) ,
76
- [
77
  'method' => 'POST',
78
  'data_format' => 'body',
79
- 'headers' => [
80
- 'Content-Type' => 'application/json'
81
- ],
82
- 'body' => json_encode( $data )
83
- ]
84
  );
85
  }
86
 
87
  public function get_data() {
88
- return [
89
- "environment_id" => 1,
90
- "domain" => get_site_url(),
91
- "total_user" => count_users()['total_users'],
92
- "themes" => $this->themes,
93
- "plugins" => $this->installedPlugins,
94
- "php_version" => phpversion(),
95
- "db_version" => mysqli_get_client_version(),
96
- "server_name" => explode( ' ', $_SERVER['SERVER_SOFTWARE'] )[0],
97
- "max_execution_time" => ini_get( 'max_execution_time' ),
98
- "php_memory_size" => ini_get( 'memory_limit' ),
99
- "language" => get_locale()
100
- ];
101
  }
102
- }
10
 
11
  use Singleton;
12
 
13
+ private $installedPlugins = array();
14
+ private $themes = array();
15
+ private $activatedPlugins = array();
16
 
17
  public function __construct() {
18
  $this->set_activated_plugins();
32
  if ( in_array( $key, $this->activatedPlugins ) ) {
33
  $status = true;
34
  }
35
+ array_push(
36
+ $this->installedPlugins,
37
+ array(
38
+ 'name' => $plugin['Name'],
39
+ 'version' => $plugin['Version'],
40
+ 'is_active' => $status,
41
+ )
42
+ );
43
  }
44
  }
45
 
46
  private function setThemes() {
47
+ $activeTheme = wp_get_theme()->get( 'Name' );
48
+ foreach ( wp_get_themes() as $key => $theme ) {
49
+ array_push(
50
+ $this->themes,
51
+ array(
52
+ 'name' => $theme->Name,
53
+ 'version' => $theme->Version,
54
+ 'is_active' => $activeTheme == $theme->Name,
55
+ )
56
+ );
57
  }
58
  }
59
 
64
 
65
  public function send( $route ) {
66
  return wp_remote_post(
67
+ $this->getUrl( $route ),
68
+ array(
69
  'method' => 'POST',
70
  'data_format' => 'body',
71
+ 'headers' => array(
72
+ 'Content-Type' => 'application/json',
73
+ ),
74
+ 'body' => json_encode( $this->get_data() ),
75
+ )
76
  );
77
  }
78
 
79
+ public function sendAutomizyData( $route, $data ) {
80
  return wp_remote_post(
81
+ $this->getUrl( $route ),
82
+ array(
83
  'method' => 'POST',
84
  'data_format' => 'body',
85
+ 'headers' => array(
86
+ 'Content-Type' => 'application/json',
87
+ ),
88
+ 'body' => json_encode( $data ),
89
+ )
90
  );
91
  }
92
 
93
  public function get_data() {
94
+ return array(
95
+ 'environment_id' => 1,
96
+ 'domain' => get_site_url(),
97
+ 'total_user' => count_users()['total_users'],
98
+ 'themes' => $this->themes,
99
+ 'plugins' => $this->installedPlugins,
100
+ 'php_version' => phpversion(),
101
+ 'db_version' => mysqli_get_client_version(),
102
+ 'server_name' => explode( ' ', $_SERVER['SERVER_SOFTWARE'] )[0],
103
+ 'max_execution_time' => ini_get( 'max_execution_time' ),
104
+ 'php_memory_size' => ini_get( 'memory_limit' ),
105
+ 'language' => get_locale(),
106
+ );
107
  }
108
+ }
libs/framework/classes/plugin-status.php CHANGED
@@ -6,8 +6,8 @@ defined( 'ABSPATH' ) || exit;
6
 
7
  class Plugin_Status {
8
  private static $instance;
9
- private $installedPlugins = [];
10
- private $activatedPlugins = [];
11
 
12
  public function __construct() {
13
  $this->collect_installed_plugins();
@@ -43,18 +43,18 @@ class Plugin_Status {
43
  }
44
 
45
  public function get_status( $name ) {
46
- $data = [
47
- "url" => "",
48
- "activation_url" => "",
49
- "installation_url" => "",
50
- "title" => "",
51
- "status" => "",
52
- ];
53
 
54
  if ( $this->check_installed_plugin( $name ) ) {
55
  if ( $this->check_activated_plugin( $name ) ) {
56
  $data['title'] = __( 'Activated', 'elementskit-lite' );
57
- $data['status'] = "activated";
58
  } else {
59
  $data['title'] = __( 'Activate Now', 'elementskit-lite' );
60
  $data['status'] = 'installed';
@@ -80,15 +80,18 @@ class Plugin_Status {
80
 
81
  public function activation_url( $pluginName ) {
82
 
83
- return wp_nonce_url( add_query_arg(
84
- array(
85
- 'action' => 'activate',
86
- 'plugin' => $pluginName,
87
- 'plugin_status' => 'all',
88
- 'paged' => '1&s',
 
 
 
89
  ),
90
- admin_url( 'plugins.php' )
91
- ), 'activate-plugin_' . $pluginName );
92
  }
93
 
94
  public function installation_url( $pluginName ) {
@@ -99,7 +102,7 @@ class Plugin_Status {
99
  add_query_arg(
100
  array(
101
  'action' => $action,
102
- 'plugin' => $pluginSlug
103
  ),
104
  admin_url( 'update.php' )
105
  ),
@@ -118,6 +121,7 @@ class Plugin_Status {
118
  array(
119
  'page' => $this->get_plugin_slug( $pluginName ),
120
  ),
121
- admin_url( 'admin.php' ) );
 
122
  }
123
- }
6
 
7
  class Plugin_Status {
8
  private static $instance;
9
+ private $installedPlugins = array();
10
+ private $activatedPlugins = array();
11
 
12
  public function __construct() {
13
  $this->collect_installed_plugins();
43
  }
44
 
45
  public function get_status( $name ) {
46
+ $data = array(
47
+ 'url' => '',
48
+ 'activation_url' => '',
49
+ 'installation_url' => '',
50
+ 'title' => '',
51
+ 'status' => '',
52
+ );
53
 
54
  if ( $this->check_installed_plugin( $name ) ) {
55
  if ( $this->check_activated_plugin( $name ) ) {
56
  $data['title'] = __( 'Activated', 'elementskit-lite' );
57
+ $data['status'] = 'activated';
58
  } else {
59
  $data['title'] = __( 'Activate Now', 'elementskit-lite' );
60
  $data['status'] = 'installed';
80
 
81
  public function activation_url( $pluginName ) {
82
 
83
+ return wp_nonce_url(
84
+ add_query_arg(
85
+ array(
86
+ 'action' => 'activate',
87
+ 'plugin' => $pluginName,
88
+ 'plugin_status' => 'all',
89
+ 'paged' => '1&s',
90
+ ),
91
+ admin_url( 'plugins.php' )
92
  ),
93
+ 'activate-plugin_' . $pluginName
94
+ );
95
  }
96
 
97
  public function installation_url( $pluginName ) {
102
  add_query_arg(
103
  array(
104
  'action' => $action,
105
+ 'plugin' => $pluginSlug,
106
  ),
107
  admin_url( 'update.php' )
108
  ),
121
  array(
122
  'page' => $this->get_plugin_slug( $pluginName ),
123
  ),
124
+ admin_url( 'admin.php' )
125
+ );
126
  }
127
+ }
libs/framework/classes/utils.php CHANGED
@@ -3,86 +3,86 @@ namespace ElementsKit_Lite\Libs\Framework\Classes;
3
 
4
  defined( 'ABSPATH' ) || exit;
5
 
6
- class Utils{
7
-
8
- public static $instance = null;
9
- private static $key = 'elementskit_options';
10
-
11
- public static function get_dir(){
12
- return \ElementsKit_Lite::lib_dir() . 'framework/';
13
- }
14
-
15
- public static function get_url(){
16
- return \ElementsKit_Lite::lib_url() . 'framework/';
17
- }
18
-
19
- public function get_option($key, $default = ''){
20
- $data_all = get_option(self::$key);
21
- return (isset($data_all[$key]) && $data_all[$key] != '') ? $data_all[$key] : $default;
22
- }
23
-
24
- public function save_option($key, $value = ''){
25
- $data_all = get_option(self::$key);
26
- $data_all[$key] = $value;
27
- update_option('elementskit_options', $data_all);
28
- }
29
-
30
- public function get_settings($key, $default = ''){
31
- $data_all = $this->get_option('settings', []);
32
- return (isset($data_all[$key]) && $data_all[$key] != '') ? $data_all[$key] : $default;
33
- }
34
-
35
- public function save_settings($new_data = ''){
36
- $data_old = $this->get_option('settings', []);
37
- $data = array_merge($data_old, $new_data);
38
- $this->save_option('settings', $data);
39
- }
40
-
41
- /*
42
- -> this method used to check weather the widget active/deactive
43
- -> this method takes two paramitter 1. widget name 2. Active/deactive hook
44
- */
45
- public function is_widget_active_class( $widget_name, $pro_active ){
46
- if($pro_active){
47
- return 'label-'.esc_attr($widget_name).' attr-panel-heading';
48
- }else{
49
- return 'label-'.esc_attr($widget_name).' attr-panel-heading pro-disabled';
50
- }
51
- }
52
-
53
- public function input($input_options){
54
- $defaults = [
55
- 'type' => null,
56
- 'name' => '',
57
- 'value' => '',
58
- 'class' => '',
59
- 'label' => '',
60
- 'info' => '',
61
- 'disabled' => '',
62
- 'options' => [],
63
- ];
64
- $input_options = array_merge($defaults, $input_options);
65
-
66
- if(file_exists(self::get_dir() . 'controls/settings/' . $input_options['type'] . '.php')){
67
- extract($input_options);
68
- include self::get_dir() . 'controls/settings/' . $input_options['type'] . '.php';
69
- }
70
- }
71
-
72
- public static function strify($str){
73
- return strtolower(preg_replace("/[^A-Za-z0-9]/", "__", $str));
74
- }
75
-
76
-
77
-
78
-
79
- public static function instance() {
80
- if ( is_null( self::$instance ) ) {
81
-
82
- // Fire the class instance
83
- self::$instance = new self();
84
- }
85
-
86
- return self::$instance;
87
- }
88
- }
3
 
4
  defined( 'ABSPATH' ) || exit;
5
 
6
+ class Utils {
7
+
8
+ public static $instance = null;
9
+ private static $key = 'elementskit_options';
10
+
11
+ public static function get_dir() {
12
+ return \ElementsKit_Lite::lib_dir() . 'framework/';
13
+ }
14
+
15
+ public static function get_url() {
16
+ return \ElementsKit_Lite::lib_url() . 'framework/';
17
+ }
18
+
19
+ public function get_option( $key, $default = '' ) {
20
+ $data_all = get_option( self::$key );
21
+ return ( isset( $data_all[ $key ] ) && $data_all[ $key ] != '' ) ? $data_all[ $key ] : $default;
22
+ }
23
+
24
+ public function save_option( $key, $value = '' ) {
25
+ $data_all = get_option( self::$key );
26
+ $data_all[ $key ] = $value;
27
+ update_option( 'elementskit_options', $data_all );
28
+ }
29
+
30
+ public function get_settings( $key, $default = '' ) {
31
+ $data_all = $this->get_option( 'settings', array() );
32
+ return ( isset( $data_all[ $key ] ) && $data_all[ $key ] != '' ) ? $data_all[ $key ] : $default;
33
+ }
34
+
35
+ public function save_settings( $new_data = '' ) {
36
+ $data_old = $this->get_option( 'settings', array() );
37
+ $data = array_merge( $data_old, $new_data );
38
+ $this->save_option( 'settings', $data );
39
+ }
40
+
41
+ /*
42
+ -> this method used to check weather the widget active/deactive
43
+ -> this method takes two paramitter 1. widget name 2. Active/deactive hook
44
+ */
45
+ public function is_widget_active_class( $widget_name, $pro_active ) {
46
+ if ( $pro_active ) {
47
+ return 'label-' . esc_attr( $widget_name ) . ' attr-panel-heading';
48
+ } else {
49
+ return 'label-' . esc_attr( $widget_name ) . ' attr-panel-heading pro-disabled';
50
+ }
51
+ }
52
+
53
+ public function input( $input_options ) {
54
+ $defaults = array(
55
+ 'type' => null,
56
+ 'name' => '',
57
+ 'value' => '',
58
+ 'class' => '',
59
+ 'label' => '',
60
+ 'info' => '',
61
+ 'disabled' => '',
62
+ 'options' => array(),
63
+ );
64
+ $input_options = array_merge( $defaults, $input_options );
65
+
66
+ if ( file_exists( self::get_dir() . 'controls/settings/' . $input_options['type'] . '.php' ) ) {
67
+ extract( $input_options );
68
+ include self::get_dir() . 'controls/settings/' . $input_options['type'] . '.php';
69
+ }
70
+ }
71
+
72
+ public static function strify( $str ) {
73
+ return strtolower( preg_replace( '/[^A-Za-z0-9]/', '__', $str ) );
74
+ }
75
+
76
+
77
+
78
+
79
+ public static function instance() {
80
+ if ( is_null( self::$instance ) ) {
81
+
82
+ // Fire the class instance
83
+ self::$instance = new self();
84
+ }
85
+
86
+ return self::$instance;
87
+ }
88
+ }
libs/framework/controls/settings/color.php CHANGED
@@ -1,14 +1,14 @@
1
- <div class="form-group ekit-admin-input-text ekit-admin-input-text-<?php echo esc_attr(self::strify($name)); ?>">
2
- <label for="ekit-admin-option-text<?php echo esc_attr(self::strify($name)); ?>"><?php echo esc_html($label); ?></label>
3
  <input
4
  type="color"
5
  class="attr-form-control"
6
- id="ekit-admin-option-text<?php echo esc_attr(self::strify($name)); ?>"
7
- aria-describedby="ekit-admin-option-text-help<?php echo esc_attr(self::strify($name)); ?>"
8
- placeholder="<?php echo esc_attr($placeholder); ?>"
9
- name="<?php echo esc_attr($name); ?>"
10
- value="<?php echo esc_attr($value); ?>"
11
- <?php echo esc_attr($disabled) ?>
12
  >
13
- <small id="ekit-admin-option-text-help<?php echo esc_attr(self::strify($name)); ?>" class="form-text text-muted"><?php echo esc_html($info); ?></small>
14
- </div>
1
+ <div class="form-group ekit-admin-input-text ekit-admin-input-text-<?php echo esc_attr( self::strify( $name ) ); ?>">
2
+ <label for="ekit-admin-option-text<?php echo esc_attr( self::strify( $name ) ); ?>"><?php echo esc_html( $label ); ?></label>
3
  <input
4
  type="color"
5
  class="attr-form-control"
6
+ id="ekit-admin-option-text<?php echo esc_attr( self::strify( $name ) ); ?>"
7
+ aria-describedby="ekit-admin-option-text-help<?php echo esc_attr( self::strify( $name ) ); ?>"
8
+ placeholder="<?php echo esc_attr( $placeholder ); ?>"
9
+ name="<?php echo esc_attr( $name ); ?>"
10
+ value="<?php echo esc_attr( $value ); ?>"
11
+ <?php echo esc_attr( $disabled ); ?>
12
  >
13
+ <small id="ekit-admin-option-text-help<?php echo esc_attr( self::strify( $name ) ); ?>" class="form-text text-muted"><?php echo esc_html( $info ); ?></small>
14
+ </div>
libs/framework/controls/settings/date.php CHANGED
@@ -1,16 +1,16 @@
1
- <div class="form-group ekit-admin-input-text ekit-admin-input-text-<?php echo esc_attr(self::strify($name)); ?>">
2
- <label for="ekit-admin-option-text<?php echo esc_attr(self::strify($name)); ?>">
3
- <?php echo esc_html($label); ?>
4
- </label>
5
- <input
6
- type="date"
7
- class="attr-form-control"
8
- id="ekit-admin-option-text<?php echo esc_attr(self::strify($name)); ?>"
9
- aria-describedby="ekit-admin-option-text-help<?php echo esc_attr(self::strify($name)); ?>"
10
- placeholder="<?php echo esc_attr($placeholder); ?>"
11
- name="<?php echo esc_attr($name); ?>"
12
- value="<?php echo esc_attr($value); ?>"
13
- <?php echo esc_attr($disabled) ?>
14
- >
15
- <small id="ekit-admin-option-text-help<?php echo esc_attr(self::strify($name)); ?>" class="form-text text-muted"><?php echo esc_html($info); ?></small>
16
  </div>
1
+ <div class="form-group ekit-admin-input-text ekit-admin-input-text-<?php echo esc_attr( self::strify( $name ) ); ?>">
2
+ <label for="ekit-admin-option-text<?php echo esc_attr( self::strify( $name ) ); ?>">
3
+ <?php echo esc_html( $label ); ?>
4
+ </label>
5
+ <input
6
+ type="date"
7
+ class="attr-form-control"
8
+ id="ekit-admin-option-text<?php echo esc_attr( self::strify( $name ) ); ?>"
9
+ aria-describedby="ekit-admin-option-text-help<?php echo esc_attr( self::strify( $name ) ); ?>"
10
+ placeholder="<?php echo esc_attr( $placeholder ); ?>"
11
+ name="<?php echo esc_attr( $name ); ?>"
12
+ value="<?php echo esc_attr( $value ); ?>"
13
+ <?php echo esc_attr( $disabled ); ?>
14
+ >
15
+ <small id="ekit-admin-option-text-help<?php echo esc_attr( self::strify( $name ) ); ?>" class="form-text text-muted"><?php echo esc_html( $info ); ?></small>
16
  </div>
libs/framework/controls/settings/hidden.php CHANGED
@@ -1,5 +1,5 @@
1
  <input
2
  type="hidden"
3
- id="ekit-admin-option-hidden<?php echo esc_attr(self::strify($name)); ?>"
4
- name="<?php echo esc_attr($name); ?>"
5
- value="<?php echo esc_attr($value); ?>" />
1
  <input
2
  type="hidden"
3
+ id="ekit-admin-option-hidden<?php echo esc_attr( self::strify( $name ) ); ?>"
4
+ name="<?php echo esc_attr( $name ); ?>"
5
+ value="<?php echo esc_attr( $value ); ?>" />
libs/framework/controls/settings/radio.php CHANGED
@@ -1,25 +1,25 @@
1
- <div class="attr-input attr-input-radio ekit-admin-input-radio <?php echo esc_attr($class); ?>">
2
- <div class="ekit-admin-input-switch ekit-admin-card-shadow attr-card-body">
3
- <input <?php echo esc_attr($options['checked'] === true ? 'checked' : ''); ?>
4
- type="radio" value="<?php echo esc_attr($value); ?>"
5
- class="ekit-admin-control-input"
6
- name="<?php echo esc_attr($name); ?>"
7
- id="ekit-admin-radio__<?php echo esc_attr(self::strify($name) . $value); ?>"
8
 
9
- <?php
10
- if(isset($attr)){
11
- foreach($attr as $k => $v){
12
- echo "$k='$v'";
13
- }
14
- }
15
- ?>
16
- >
17
 
18
- <label class="ekit-admin-control-label" for="ekit-admin-radio__<?php echo esc_attr(self::strify($name) . $value); ?>">
19
- <?php echo esc_html($label); ?>
20
- <?php if(!empty($description)) : ?>
21
- <span class="ekit-admin-control-desc"><?php echo esc_html($description); ?></span>
22
- <?php endif; ?>
23
- </label>
24
- </div>
25
- </div>
1
+ <div class="attr-input attr-input-radio ekit-admin-input-radio <?php echo esc_attr( $class ); ?>">
2
+ <div class="ekit-admin-input-switch ekit-admin-card-shadow attr-card-body">
3
+ <input <?php echo esc_attr( $options['checked'] === true ? 'checked' : '' ); ?>
4
+ type="radio" value="<?php echo esc_attr( $value ); ?>"
5
+ class="ekit-admin-control-input"
6
+ name="<?php echo esc_attr( $name ); ?>"
7
+ id="ekit-admin-radio__<?php echo esc_attr( self::strify( $name ) . $value ); ?>"
8
 
9
+ <?php
10
+ if ( isset( $attr ) ) {
11
+ foreach ( $attr as $k => $v ) {
12
+ echo "$k='$v'";
13
+ }
14
+ }
15
+ ?>
16
+ >
17
 
18
+ <label class="ekit-admin-control-label" for="ekit-admin-radio__<?php echo esc_attr( self::strify( $name ) . $value ); ?>">
19
+ <?php echo esc_html( $label ); ?>
20
+ <?php if ( ! empty( $description ) ) : ?>
21
+ <span class="ekit-admin-control-desc"><?php echo esc_html( $description ); ?></span>
22
+ <?php endif; ?>
23
+ </label>
24
+ </div>
25
+ </div>
libs/framework/controls/settings/switch.php CHANGED
@@ -1,51 +1,51 @@
1
- <div class="attr-input attr-input-switch <?php echo esc_attr($class); ?>">
2
  <?php
3
- // note:
4
- // $options['large_img'] $options['icon'] $options['small_img'] self::strify($name) $label $value
5
- // $options['checked'] true / false
6
- $no_demo = [
7
- 'sticky-content',
8
- 'nav-menu',
9
- 'header-info',
10
- 'elementskit-icon-pack',
11
- 'back-to-top',
12
- 'image-swap',
13
- 'facebook-messenger',
14
- 'advanced-tooltip',
15
- 'fluent-forms',
16
- 'zoom'
17
- ];
18
- ?>
19
- <div class="ekit-admin-input-switch ekit-admin-card-shadow attr-card-body">
20
- <input <?php echo esc_attr($options['checked'] === true ? 'checked' : ''); ?>
21
- type="checkbox" value="<?php echo esc_attr($value); ?>"
22
- class="ekit-admin-control-input"
23
- name="<?php echo esc_attr($name); ?>"
24
- id="ekit-admin-switch__<?php echo esc_attr(self::strify($name) . $value); ?>"
25
 
26
- <?php
27
- if(isset($attr)){
28
- foreach($attr as $k => $v){
29
- echo "$k='$v'";
30
- }
31
- }
32
- ?>
33
- >
34
 
35
- <label class="ekit-admin-control-label" for="ekit-admin-switch__<?php echo esc_attr(self::strify($name) . $value); ?>">
36
- <span class="ekit-admin-control-label-text"><?php echo esc_html($label); ?></span>
37
- <span class="ekit-admin-control-label-switch" data-active="ON" data-inactive="OFF"></span>
38
- </label>
39
 
40
-
41
- </div>
42
- <?php
43
- $slug = 'elementskit/';
44
- if( !in_array($value, $no_demo) ) :
45
- if($value === 'parallax'){
46
- $value = 'effects';
47
- }
48
- ?>
49
- <a target="_blank" href="https://wpmet.com/plugin/<?php echo esc_attr($slug) . esc_attr($value); ?>/" class="ekit-admin-demo-tooltip"><i class="fa fa-laptop"></i><?php esc_html_e('View Demo', 'elementskit-lite'); ?></a>
50
- <?php endif; ?>
51
- </div>
1
+ <div class="attr-input attr-input-switch <?php echo esc_attr( $class ); ?>">
2
  <?php
3
+ // note:
4
+ // $options['large_img'] $options['icon'] $options['small_img'] self::strify($name) $label $value
5
+ // $options['checked'] true / false
6
+ $no_demo = array(
7
+ 'sticky-content',
8
+ 'nav-menu',
9
+ 'header-info',
10
+ 'elementskit-icon-pack',
11
+ 'back-to-top',
12
+ 'image-swap',
13
+ 'facebook-messenger',
14
+ 'advanced-tooltip',
15
+ 'fluent-forms',
16
+ 'zoom',
17
+ );
18
+ ?>
19
+ <div class="ekit-admin-input-switch ekit-admin-card-shadow attr-card-body">
20
+ <input <?php echo esc_attr( $options['checked'] === true ? 'checked' : '' ); ?>
21
+ type="checkbox" value="<?php echo esc_attr( $value ); ?>"
22
+ class="ekit-admin-control-input"
23
+ name="<?php echo esc_attr( $name ); ?>"
24
+ id="ekit-admin-switch__<?php echo esc_attr( self::strify( $name ) . $value ); ?>"
25
 
26
+ <?php
27
+ if ( isset( $attr ) ) {
28
+ foreach ( $attr as $k => $v ) {
29
+ echo "$k='$v'";
30
+ }
31
+ }
32
+ ?>
33
+ >
34
 
35
+ <label class="ekit-admin-control-label" for="ekit-admin-switch__<?php echo esc_attr( self::strify( $name ) . $value ); ?>">
36
+ <span class="ekit-admin-control-label-text"><?php echo esc_html( $label ); ?></span>
37
+ <span class="ekit-admin-control-label-switch" data-active="ON" data-inactive="OFF"></span>
38
+ </label>
39
 
40
+
41
+ </div>
42
+ <?php
43
+ $slug = 'elementskit/';
44
+ if ( ! in_array( $value, $no_demo ) ) :
45
+ if ( $value === 'parallax' ) {
46
+ $value = 'effects';
47
+ }
48
+ ?>
49
+ <a target="_blank" href="https://wpmet.com/plugin/<?php echo esc_attr( $slug ) . esc_attr( $value ); ?>/" class="ekit-admin-demo-tooltip"><i class="fa fa-laptop"></i><?php esc_html_e( 'View Demo', 'elementskit-lite' ); ?></a>
50
+ <?php endif; ?>
51
+ </div>
libs/framework/controls/settings/text.php CHANGED
@@ -1,14 +1,14 @@
1
- <div class="form-group ekit-admin-input-text ekit-admin-input-text-<?php echo esc_attr(self::strify($name)); ?>">
2
- <label for="ekit-admin-option-text<?php echo esc_attr(self::strify($name)); ?>"><?php echo esc_html($label); ?></label>
3
- <input
4
- type="text"
5
- class="attr-form-control"
6
- id="ekit-admin-option-text<?php echo esc_attr(self::strify($name)); ?>"
7
- aria-describedby="ekit-admin-option-text-help<?php echo esc_attr(self::strify($name)); ?>"
8
- placeholder="<?php echo esc_attr($placeholder); ?>"
9
- name="<?php echo esc_attr($name); ?>"
10
- value="<?php echo esc_attr($value); ?>"
11
- <?php echo esc_attr($disabled) ?>
12
- >
13
- <small id="ekit-admin-option-text-help<?php echo esc_attr(self::strify($name)); ?>" class="form-text text-muted"><?php echo esc_html($info); ?></small>
14
- </div>
1
+ <div class="form-group ekit-admin-input-text ekit-admin-input-text-<?php echo esc_attr( self::strify( $name ) ); ?>">
2
+ <label for="ekit-admin-option-text<?php echo esc_attr( self::strify( $name ) ); ?>"><?php echo esc_html( $label ); ?></label>
3
+ <input
4
+ type="text"
5
+ class="attr-form-control"
6
+ id="ekit-admin-option-text<?php echo esc_attr( self::strify( $name ) ); ?>"
7
+ aria-describedby="ekit-admin-option-text-help<?php echo esc_attr( self::strify( $name ) ); ?>"
8
+ placeholder="<?php echo esc_attr( $placeholder ); ?>"
9
+ name="<?php echo esc_attr( $name ); ?>"
10
+ value="<?php echo esc_attr( $value ); ?>"
11
+ <?php echo esc_attr( $disabled ); ?>
12
+ >
13
+ <small id="ekit-admin-option-text-help<?php echo esc_attr( self::strify( $name ) ); ?>" class="form-text text-muted"><?php echo esc_html( $info ); ?></small>
14
+ </div>
libs/framework/views/init.php CHANGED
@@ -1,76 +1,76 @@
1
  <?php
2
 
3
- $settings_sections = [
4
- 'dashboard' => [
5
- 'title' => esc_html__('Dashboard', 'elementskit-lite'),
6
- 'sub-title' => esc_html__('General info', 'elementskit-lite'),
7
- 'icon' => 'icon icon-home',
8
- // 'view_path' => 'some path to the view file'
9
- ],
10
- 'widgets' => [
11
- 'title' => esc_html__('Widgets', 'elementskit-lite'),
12
- 'sub-title' => esc_html__('Enable disable widgets', 'elementskit-lite'),
13
- 'icon' => 'icon icon-magic-wand',
14
- ],
15
- 'modules' => [
16
- 'title' => esc_html__('Modules', 'elementskit-lite'),
17
- 'sub-title' => esc_html__('Enable disable modules', 'elementskit-lite'),
18
- 'icon' => 'icon icon-settings-2',
19
- ],
20
- 'usersettings' => [
21
- 'title' => esc_html__('User Settings', 'elementskit-lite'),
22
- 'sub-title' => esc_html__('Settings for fb, mailchimp etc', 'elementskit-lite'),
23
- 'icon' => 'icon icon-settings1',
24
- ],
25
- ];
26
 
27
- $settings_sections = apply_filters('elementskit/admin/settings_sections/list', $settings_sections);
28
 
29
 
30
- $onboard_steps = [
31
- 'step-01' => [
32
- 'title' => esc_html__('Configuration', 'elementskit-lite'),
33
- 'sub-title' => esc_html__('Configuration info', 'elementskit-lite'),
34
- 'icon' => 'icon icon-ekit',
35
- // 'view_path' => 'some path to the view file'
36
- ],
37
- 'step-02' => [
38
- 'title' => esc_html__('Sign Up', 'elementskit-lite'),
39
- 'sub-title' => esc_html__('Sign Up info', 'elementskit-lite'),
40
- 'icon' => 'icon icon-user'
41
- ],
42
- 'step-03' => [
43
- 'title' => esc_html__('Website Powerup', 'elementskit-lite'),
44
- 'sub-title' => esc_html__('Website Powerup info', 'elementskit-lite'),
45
- 'icon' => 'icon icon-cog'
46
- ],
47
- 'step-04' => [
48
- 'title' => esc_html__('Tutorial', 'elementskit-lite'),
49
- 'sub-title' => esc_html__('Tutorial info', 'elementskit-lite'),
50
- 'icon' => 'icon icon-youtube-1'
51
- ],
52
- 'step-05' => [
53
- 'title' => esc_html__('Surprise', 'elementskit-lite'),
54
- 'sub-title' => esc_html__('Surprise info', 'elementskit-lite'),
55
- 'icon' => 'icon icon-gift1'
56
- ],
57
- 'step-06' => [
58
- 'title' => esc_html__('Finalizing', 'elementskit-lite'),
59
- 'sub-title' => esc_html__('Finalizing info', 'elementskit-lite'),
60
- 'icon' => 'icon icon-smile'
61
- ]
62
- ];
63
 
64
- $installed_date = strtotime( get_option('elementskit-lite_install_date') );
65
- if((3600 * 24) < (time() - $installed_date)){
66
- unset($onboard_steps['step-01']);
67
  }
68
 
69
- if(\ElementsKit_Lite::package_type() != 'free'){
70
- unset($onboard_steps['step-05']);
71
  }
72
 
73
- $onboard_steps = apply_filters('elementskit/admin/onboard_steps/list', $onboard_steps);
74
 
75
  ?>
76
  <div class="ekit-wid-con <?php echo isset($_GET['ekit-onboard-steps']) && $_GET['ekit-onboard-steps'] == 'loaded' ? 'ekit-onboard-dashboard' : ''; ?>">
@@ -80,6 +80,7 @@ $onboard_steps = apply_filters('elementskit/admin/onboard_steps/list', $onboard_
80
  if(isset($_GET['ekit-onboard-steps']) && $_GET['ekit-onboard-steps'] == 'loaded'){
81
  include 'layout-onboard.php';
82
  }else{
 
83
  include 'layout-settings.php';
84
  }
85
  ?>
1
  <?php
2
 
3
+ $settings_sections = array(
4
+ 'dashboard' => array(
5
+ 'title' => esc_html__( 'Dashboard', 'elementskit-lite' ),
6
+ 'sub-title' => esc_html__( 'General info', 'elementskit-lite' ),
7
+ 'icon' => 'icon icon-home',
8
+ // 'view_path' => 'some path to the view file'
9
+ ),
10
+ 'widgets' => array(
11
+ 'title' => esc_html__( 'Widgets', 'elementskit-lite' ),
12
+ 'sub-title' => esc_html__( 'Enable disable widgets', 'elementskit-lite' ),
13
+ 'icon' => 'icon icon-magic-wand',
14
+ ),
15
+ 'modules' => array(
16
+ 'title' => esc_html__( 'Modules', 'elementskit-lite' ),
17
+ 'sub-title' => esc_html__( 'Enable disable modules', 'elementskit-lite' ),
18
+ 'icon' => 'icon icon-settings-2',
19
+ ),
20
+ 'usersettings' => array(
21
+ 'title' => esc_html__( 'User Settings', 'elementskit-lite' ),
22
+ 'sub-title' => esc_html__( 'Settings for fb, mailchimp etc', 'elementskit-lite' ),
23
+ 'icon' => 'icon icon-settings1',
24
+ ),
25
+ );
26
 
27
+ $settings_sections = apply_filters( 'elementskit/admin/settings_sections/list', $settings_sections );
28
 
29
 
30
+ $onboard_steps = array(
31
+ 'step-01' => array(
32
+ 'title' => esc_html__( 'Configuration', 'elementskit-lite' ),
33
+ 'sub-title' => esc_html__( 'Configuration info', 'elementskit-lite' ),
34
+ 'icon' => 'icon icon-ekit',
35
+ // 'view_path' => 'some path to the view file'
36
+ ),
37
+ 'step-02' => array(
38
+ 'title' => esc_html__( 'Sign Up', 'elementskit-lite' ),
39
+ 'sub-title' => esc_html__( 'Sign Up info', 'elementskit-lite' ),
40
+ 'icon' => 'icon icon-user',
41
+ ),
42
+ 'step-03' => array(
43
+ 'title' => esc_html__( 'Website Powerup', 'elementskit-lite' ),
44
+ 'sub-title' => esc_html__( 'Website Powerup info', 'elementskit-lite' ),
45
+ 'icon' => 'icon icon-cog',
46
+ ),
47
+ 'step-04' => array(
48
+ 'title' => esc_html__( 'Tutorial', 'elementskit-lite' ),
49
+ 'sub-title' => esc_html__( 'Tutorial info', 'elementskit-lite' ),
50
+ 'icon' => 'icon icon-youtube-1',
51
+ ),
52
+ 'step-05' => array(
53
+ 'title' => esc_html__( 'Surprise', 'elementskit-lite' ),
54
+ 'sub-title' => esc_html__( 'Surprise info', 'elementskit-lite' ),
55
+ 'icon' => 'icon icon-gift1',
56
+ ),
57
+ 'step-06' => array(
58
+ 'title' => esc_html__( 'Finalizing', 'elementskit-lite' ),
59
+ 'sub-title' => esc_html__( 'Finalizing info', 'elementskit-lite' ),
60
+ 'icon' => 'icon icon-smile',
61
+ ),
62
+ );
63
 
64
+ $installed_date = strtotime( get_option( 'elementskit-lite_install_date' ) );
65
+ if ( ( 3600 * 24 ) < ( time() - $installed_date ) ) {
66
+ unset( $onboard_steps['step-01'] );
67
  }
68
 
69
+ if ( \ElementsKit_Lite::package_type() != 'free' ) {
70
+ unset( $onboard_steps['step-05'] );
71
  }
72
 
73
+ $onboard_steps = apply_filters( 'elementskit/admin/onboard_steps/list', $onboard_steps );
74
 
75
  ?>
76
  <div class="ekit-wid-con <?php echo isset($_GET['ekit-onboard-steps']) && $_GET['ekit-onboard-steps'] == 'loaded' ? 'ekit-onboard-dashboard' : ''; ?>">
80
  if(isset($_GET['ekit-onboard-steps']) && $_GET['ekit-onboard-steps'] == 'loaded'){
81
  include 'layout-onboard.php';
82
  }else{
83
+ do_action('elementskit/admin/settings_sections/before');
84
  include 'layout-settings.php';
85
  }
86
  ?>
libs/framework/views/layout-onboard.php CHANGED
@@ -7,30 +7,36 @@ use ElementsKit_Lite\Libs\Framework\Classes\Onboard_Status;
7
  Onboard_Status::instance()->exit_from_onboard();
8
 
9
  echo '<ul class="ekit-onboard-nav"><div class="ekit-onboard-progressbar"></div>';
10
- $count = 1;
11
- foreach ( $onboard_steps as $step_key => $step ):
12
- $icon = ! empty( $step['icon'] ) ? $step['icon'] : '';
13
  $title = ! empty( $step['title'] ) ? $step['title'] : '';
14
  ?>
15
- <li data-step_key="<?php echo esc_attr( $step_key ); ?>"
16
- class="ekit-onboard-nav-item <?php echo $count === 1 ? 'active' : '';
17
- echo $count === count( $onboard_steps ) ? 'last' : ''; ?>">
 
 
 
 
18
  <?php if ( ! empty( $icon ) ) : ?>
19
- <i class="ekit-onboard-nav-icon <?php echo esc_attr( $icon ); ?>"></i>
20
  <?php endif; ?>
21
  <?php if ( ! empty( $title ) ) : ?>
22
- <span class="ekit-onboard-nav-text"><?php echo esc_html( $title ); ?></span>
23
  <?php endif; ?>
24
- </li>
25
- <?php $count ++; endforeach;
 
 
26
  echo '</ul>';
27
  ?>
28
  <!-- onboard_steps nav ends -->
29
 
30
  <!-- onboard_steps content begins -->
31
- <?php foreach ( $onboard_steps as $step_key => $step ): ?>
32
 
33
- <!-- includes view file for this step -->
34
  <?php
35
  $path = isset( $step['view_path'] )
36
  ? $step['view_path']
@@ -38,9 +44,10 @@ echo '</ul>';
38
 
39
  if ( file_exists( $path ) ) {
40
  echo '<div class="ekit-onboard-step-wrapper ekit-onboard-' . esc_attr( $step_key ) . '">';
41
- include( $path );
42
  echo '</div>';
43
- } ?>
 
44
 
45
  <?php endforeach; ?>
46
  <!-- onboard_steps content ends -->
7
  Onboard_Status::instance()->exit_from_onboard();
8
 
9
  echo '<ul class="ekit-onboard-nav"><div class="ekit-onboard-progressbar"></div>';
10
+ $count = 1;
11
+ foreach ( $onboard_steps as $step_key => $step ) :
12
+ $icon = ! empty( $step['icon'] ) ? $step['icon'] : '';
13
  $title = ! empty( $step['title'] ) ? $step['title'] : '';
14
  ?>
15
+ <li data-step_key="<?php echo esc_attr( $step_key ); ?>"
16
+ class="ekit-onboard-nav-item
17
+ <?php
18
+ echo $count === 1 ? 'active' : '';
19
+ echo $count === count( $onboard_steps ) ? 'last' : '';
20
+ ?>
21
+ ">
22
  <?php if ( ! empty( $icon ) ) : ?>
23
+ <i class="ekit-onboard-nav-icon <?php echo esc_attr( $icon ); ?>"></i>
24
  <?php endif; ?>
25
  <?php if ( ! empty( $title ) ) : ?>
26
+ <span class="ekit-onboard-nav-text"><?php echo esc_html( $title ); ?></span>
27
  <?php endif; ?>
28
+ </li>
29
+ <?php
30
+ $count ++;
31
+ endforeach;
32
  echo '</ul>';
33
  ?>
34
  <!-- onboard_steps nav ends -->
35
 
36
  <!-- onboard_steps content begins -->
37
+ <?php foreach ( $onboard_steps as $step_key => $step ) : ?>
38
 
39
+ <!-- includes view file for this step -->
40
  <?php
41
  $path = isset( $step['view_path'] )
42
  ? $step['view_path']
44
 
45
  if ( file_exists( $path ) ) {
46
  echo '<div class="ekit-onboard-step-wrapper ekit-onboard-' . esc_attr( $step_key ) . '">';
47
+ include $path;
48
  echo '</div>';
49
+ }
50
+ ?>
51
 
52
  <?php endforeach; ?>
53
  <!-- onboard_steps content ends -->
libs/framework/views/layout-settings.php CHANGED
@@ -1,82 +1,92 @@
1
  <div class="attr-row ekit_tab_wraper_group">
2
- <div class="attr-col-lg-3 attr-col-md-4">
3
- <div class="ekit_logo">
4
- <img src="<?php echo self::get_url() . 'assets/images/logo-ekit.png'; ?>" height="40" />
5
- </div>
6
- <div class="ekit-admin-nav" id="v-elementskit-tab" role="tablist" aria-orientation="vertical">
7
- <ul class="attr-nav attr-nav-tabs">
8
- <li><a href="#" class="ekit-admin-nav-link ekit-admin-nav-hidden top"></a></li>
9
 
10
- <!-- settings_sections nav begins -->
11
- <?php $count=0; foreach($settings_sections as $section_key => $section): reset($settings_sections);?>
12
- <li role="presentation" class="<?php echo ($section_key !== key($settings_sections)) ? : 'attr-active'; ?>">
13
- <a class="ekit-admin-nav-link <?php echo $count == 1 ? 'bottom': ''; ?>" id="v-elementskit-<?php echo esc_attr($section_key); ?>-tab" data-attr-toggle="pill" href="#v-elementskit-<?php echo esc_attr($section_key); ?>" role="tab"
14
- aria-controls="v-elementskit-<?php echo esc_attr($section_key); ?>" data-attr-toggle="tab" role="tab">
15
- <div class="ekit-admin-tab-content">
16
- <span class="ekit-admin-title"><?php echo esc_html($section['title']); ?></span>
17
- <span class="ekit-admin-subtitle"><?php echo esc_html($section['sub-title']); ?></span>
18
- </div>
19
- <div class="ekit-admin-tab-icon">
20
- <i class="<?php echo esc_attr($section['icon']) ?>"></i>
21
- </div>
22
- </a>
23
- </li>
24
- <?php $count++; endforeach; ?>
25
- <!-- settings_sections nav ends -->
 
 
 
 
 
 
 
26
 
27
- <?php if(\ElementsKit_Lite::package_type() == 'free'): ?>
28
- <li role="presentation" class="ekit-go-pro-nav-tab">
29
- <a class="ekit-admin-nav-link" id="v-elementskit-ekit-go-pro-nav-tab" href="https://wpmet.com/elementskit-pricing" role="tab" target="_blank">
30
- <div class="ekit-admin-tab-content">
31
- <span class="ekit-admin-title"><?php echo esc_html__('Go Premium', 'elementskit-lite'); ?></span>
32
- <span class="ekit-admin-subtitle"><?php echo esc_html__('Get premium features', 'elementskit-lite'); ?></span>
33
- </div>
34
- <div class="ekit-admin-tab-icon">
35
- <img src="<?php echo self::get_url() . 'assets/images/loader-krasi.gif'; ?>" class="ekit-go-pro-gif" alt="elementskit go pro premium" />
36
- </div>
37
- </a>
38
- </li>
39
- <?php endif; ?>
40
 
41
- <li><a href="#" class="ekit-admin-nav-link ekit-admin-nav-hidden"></a></li>
42
- </ul>
43
- </div>
44
- </div>
45
- <div class="attr-col-lg-9 attr-col-md-8">
46
- <div class="attr-tab-content" id="v-elementskit-tabContent">
47
 
48
- <!-- settings_sections content begins -->
49
- <?php foreach($settings_sections as $section_key => $section): reset($settings_sections); ?>
50
- <div class="attr-tab-pane <?php echo ($section_key !== key($settings_sections)) ? : 'attr-active'; ?>" id="v-elementskit-<?php echo esc_attr($section_key); ?>" role="tabpanel" aria-labelledby="v-elementskit-tab-<?php echo esc_attr($section_key); ?>">
51
- <div class="ekit-admin-section-header">
52
- <h2 class="ekit-admin-section-heaer-title"><i class="<?php echo esc_attr($section['icon']) ?>"></i><?php echo esc_html($section['title']); ?></h2>
53
-
54
- <?php if ( in_array( $section_key, ['widgets', 'modules']) ) : ?>
55
- <div class="attr-input attr-input-switch ekit-content-type-free ekit-all-element-switch">
56
- <div class="ekit-admin-input-switch attr-card-body">
57
- <input checked="" type="checkbox" value="image-accordion" class="ekit-admin-control-input ekit-all-control-input" name="ekit_all_activation_input_widget_<?php echo esc_attr($section_key); ?>" id="ekit_all_activation_input_widget_<?php echo esc_attr($section_key); ?>">
58
- <label class="ekit-admin-control-label" for="ekit_all_activation_input_widget_<?php echo esc_attr($section_key); ?>">
59
- Disable All
60
- <span class="ekit-admin-control-label-switch" data-active="ON"
61
- data-inactive="OFF"></span>
62
- Enable All
63
- </label>
64
- </div>
65
- </div>
66
- <?php endif; ?>
67
- <div class="ekit-admin-input-switch">
68
- <button class="attr-btn-primary attr-btn ekit-admin-settings-form-submit"><div class="ekit-spinner"></div><i class="ekit-admin-save-icon fa fa-check-circle"></i><?php esc_html_e('Save Changes', 'elementskit-lite'); ?></button>
69
- </div>
70
- </div>
71
- <?php include (
72
- isset($section['view_path'])
73
- ? $section['view_path']
74
- : self::get_dir() . 'views/settings-sections/' . $section_key . '.php'
75
- ); ?>
76
- </div>
77
- <?php endforeach; ?>
78
- <!-- settings_sections content ends -->
 
 
 
79
 
80
- </div>
81
- </div>
82
  </div>
1
  <div class="attr-row ekit_tab_wraper_group">
2
+ <div class="attr-col-lg-3 attr-col-md-4">
3
+ <div class="ekit_logo">
4
+ <img src="<?php echo self::get_url() . 'assets/images/logo-ekit.png'; ?>" height="40" />
5
+ </div>
6
+ <div class="ekit-admin-nav" id="v-elementskit-tab" role="tablist" aria-orientation="vertical">
7
+ <ul class="attr-nav attr-nav-tabs">
8
+ <li><a href="#" class="ekit-admin-nav-link ekit-admin-nav-hidden top"></a></li>
9
 
10
+ <!-- settings_sections nav begins -->
11
+ <?php
12
+ $count = 0;
13
+ foreach ( $settings_sections as $section_key => $section ) :
14
+ reset( $settings_sections );
15
+ ?>
16
+ <li role="presentation" class="<?php echo ( $section_key !== key( $settings_sections ) ) ? : 'attr-active'; ?>">
17
+ <a class="ekit-admin-nav-link <?php echo $count == 1 ? 'bottom' : ''; ?>" id="v-elementskit-<?php echo esc_attr( $section_key ); ?>-tab" data-attr-toggle="pill" href="#v-elementskit-<?php echo esc_attr( $section_key ); ?>" role="tab"
18
+ aria-controls="v-elementskit-<?php echo esc_attr( $section_key ); ?>" data-attr-toggle="tab" role="tab">
19
+ <div class="ekit-admin-tab-content">
20
+ <span class="ekit-admin-title"><?php echo esc_html( $section['title'] ); ?></span>
21
+ <span class="ekit-admin-subtitle"><?php echo esc_html( $section['sub-title'] ); ?></span>
22
+ </div>
23
+ <div class="ekit-admin-tab-icon">
24
+ <i class="<?php echo esc_attr( $section['icon'] ); ?>"></i>
25
+ </div>
26
+ </a>
27
+ </li>
28
+ <?php
29
+ $count++;
30
+ endforeach;
31
+ ?>
32
+ <!-- settings_sections nav ends -->
33
 
34
+ <?php if ( \ElementsKit_Lite::package_type() == 'free' ) : ?>
35
+ <li role="presentation" class="ekit-go-pro-nav-tab">
36
+ <a class="ekit-admin-nav-link" id="v-elementskit-ekit-go-pro-nav-tab" href="https://wpmet.com/elementskit-pricing" role="tab" target="_blank">
37
+ <div class="ekit-admin-tab-content">
38
+ <span class="ekit-admin-title"><?php echo esc_html__( 'Go Premium', 'elementskit-lite' ); ?></span>
39
+ <span class="ekit-admin-subtitle"><?php echo esc_html__( 'Get premium features', 'elementskit-lite' ); ?></span>
40
+ </div>
41
+ <div class="ekit-admin-tab-icon">
42
+ <img src="<?php echo self::get_url() . 'assets/images/loader-krasi.gif'; ?>" class="ekit-go-pro-gif" alt="elementskit go pro premium" />
43
+ </div>
44
+ </a>
45
+ </li>
46
+ <?php endif; ?>
47
 
48
+ <li><a href="#" class="ekit-admin-nav-link ekit-admin-nav-hidden"></a></li>
49
+ </ul>
50
+ </div>
51
+ </div>
52
+ <div class="attr-col-lg-9 attr-col-md-8">
53
+ <div class="attr-tab-content" id="v-elementskit-tabContent">
54
 
55
+ <!-- settings_sections content begins -->
56
+ <?php
57
+ foreach ( $settings_sections as $section_key => $section ) :
58
+ reset( $settings_sections );
59
+ ?>
60
+ <div class="attr-tab-pane <?php echo ( $section_key !== key( $settings_sections ) ) ? : 'attr-active'; ?>" id="v-elementskit-<?php echo esc_attr( $section_key ); ?>" role="tabpanel" aria-labelledby="v-elementskit-tab-<?php echo esc_attr( $section_key ); ?>">
61
+ <div class="ekit-admin-section-header">
62
+ <h2 class="ekit-admin-section-heaer-title"><i class="<?php echo esc_attr( $section['icon'] ); ?>"></i><?php echo esc_html( $section['title'] ); ?></h2>
63
+
64
+ <?php if ( in_array( $section_key, array( 'widgets', 'modules' ) ) ) : ?>
65
+ <div class="attr-input attr-input-switch ekit-content-type-free ekit-all-element-switch">
66
+ <div class="ekit-admin-input-switch attr-card-body">
67
+ <input checked="" type="checkbox" value="image-accordion" class="ekit-admin-control-input ekit-all-control-input" name="ekit_all_activation_input_widget_<?php echo esc_attr( $section_key ); ?>" id="ekit_all_activation_input_widget_<?php echo esc_attr( $section_key ); ?>">
68
+ <label class="ekit-admin-control-label" for="ekit_all_activation_input_widget_<?php echo esc_attr( $section_key ); ?>">
69
+ Disable All
70
+ <span class="ekit-admin-control-label-switch" data-active="ON"
71
+ data-inactive="OFF"></span>
72
+ Enable All
73
+ </label>
74
+ </div>
75
+ </div>
76
+ <?php endif; ?>
77
+ <div class="ekit-admin-input-switch">
78
+ <button class="attr-btn-primary attr-btn ekit-admin-settings-form-submit"><div class="ekit-spinner"></div><i class="ekit-admin-save-icon fa fa-check-circle"></i><?php esc_html_e( 'Save Changes', 'elementskit-lite' ); ?></button>
79
+ </div>
80
+ </div>
81
+ <?php
82
+ include isset( $section['view_path'] )
83
+ ? $section['view_path']
84
+ : self::get_dir() . 'views/settings-sections/' . $section_key . '.php';
85
+ ?>
86
+ </div>
87
+ <?php endforeach; ?>
88
+ <!-- settings_sections content ends -->
89
 
90
+ </div>
91
+ </div>
92
  </div>
libs/framework/views/layout-user-consent-for-banner.php CHANGED
@@ -1,34 +1,34 @@
1
  <style>
2
- .ekit-user-consent-for-banner{
3
- margin: 0 0 15px 0!important;
4
- max-width: 450px;
5
- }
6
  </style>
7
  <script>
8
- jQuery(document).ready(function ($) {
9
- "use strict";
10
- $('#ekit-admin-switch__ekit-user-consent-for-banner').on('change', function(){
11
- let val = ($(this).prop("checked") ? $(this).val() : 'no');
12
- let data = {
13
- 'settings' : {
14
- 'ekit_user_consent_for_banner' : val,
15
- },
16
- 'nonce': "<?php echo wp_create_nonce('ajax-nonce'); ?>"
17
- };
18
 
19
- $.post( ajaxurl + '?action=ekit_admin_action', data, function( data ) {
20
- // console.log(data);
21
- });
22
- });
23
- }); // end ready function
24
  </script>
25
 
26
 
27
 
28
  <div class="ekit-user-consent-for-banner notice notice-error">
29
- <p>
30
- <label for="ekit-admin-switch__ekit-user-consent-for-banner"><?php esc_html_e('Show update & fix related important messages, essential tutorials and promotional images on WP Dashboard', 'elementskit-lite'); ?></label>
31
 
32
- <input type="checkbox" <?php echo ($this->utils->get_settings('ekit_user_consent_for_banner', 'yes') == 'yes' ? 'checked' : '');?> value="yes" class="ekit-admin-control-input" name="ekit-user-consent-for-banner" id="ekit-admin-switch__ekit-user-consent-for-banner">
33
- </p>
34
- </div>
1
  <style>
2
+ .ekit-user-consent-for-banner{
3
+ margin: 0 0 15px 0!important;
4
+ max-width: 450px;
5
+ }
6
  </style>
7
  <script>
8
+ jQuery(document).ready(function ($) {
9
+ "use strict";
10
+ $('#ekit-admin-switch__ekit-user-consent-for-banner').on('change', function(){
11
+ let val = ($(this).prop("checked") ? $(this).val() : 'no');
12
+ let data = {
13
+ 'settings' : {
14
+ 'ekit_user_consent_for_banner' : val,
15
+ },
16
+ 'nonce': "<?php echo wp_create_nonce( 'ajax-nonce' ); ?>"
17
+ };
18
 
19
+ $.post( ajaxurl + '?action=ekit_admin_action', data, function( data ) {
20
+ // console.log(data);
21
+ });
22
+ });
23
+ }); // end ready function
24
  </script>
25
 
26
 
27
 
28
  <div class="ekit-user-consent-for-banner notice notice-error">
29
+ <p>
30
+ <label for="ekit-admin-switch__ekit-user-consent-for-banner"><?php esc_html_e( 'Show update & fix related important messages, essential tutorials and promotional images on WP Dashboard', 'elementskit-lite' ); ?></label>
31
 
32
+ <input type="checkbox" <?php echo ( $this->utils->get_settings( 'ekit_user_consent_for_banner', 'yes' ) == 'yes' ? 'checked' : '' ); ?> value="yes" class="ekit-admin-control-input" name="ekit-user-consent-for-banner" id="ekit-admin-switch__ekit-user-consent-for-banner">
33
+ </p>
34
+ </div>
libs/framework/views/onboard-steps/step-01.php CHANGED
@@ -1,51 +1,57 @@
1
  <div class="ekit-admin-fields-container-fieldset">
2
- <?php
3
- $filter = \ElementsKit_Lite\Libs\Framework\Attr::instance()->utils->get_option('settings', []);
4
-
5
- $this->utils->input([
6
- 'type' => 'radio',
7
- 'name' => 'settings[filter_widget_module]',
8
- 'value' => 'basic',
9
- 'description' => esc_html__('General widgets will be activated to build your website. Best suited for lightweight-fast starter websites.', 'elementskit-lite'),
10
- 'label' => esc_html__('Basic (Recommended)', 'elementskit-lite'),
11
- 'options' => [
12
- 'checked' => !empty($filter['filter_widget_module']) ? $filter['filter_widget_module'] === 'basic' : true,
13
- ]
14
- ]);
15
- $this->utils->input([
16
- 'type' => 'radio',
17
- 'name' => 'settings[filter_widget_module]',
18
- 'value' => 'advanced',
19
- 'description' => esc_html__('All the free dynamic widgets will be activated to increase flexibility & functionality to build your complex website in no-time.', 'elementskit-lite'),
20
- 'label' => esc_html__('Advanced', 'elementskit-lite'),
21
- 'options' => [
22
- 'checked' => !empty($filter['filter_widget_module']) ? $filter['filter_widget_module'] === 'advanced' : false,
23
- ]
24
- ]);
25
- $this->utils->input([
26
- 'type' => 'radio',
27
- 'name' => 'settings[filter_widget_module]',
28
- 'value' => 'custom',
29
- 'class' => 'ekit-onboard-custom-filter',
30
- 'description' => esc_html__('You choose your website as per your need.', 'elementskit-lite'),
31
- 'label' => esc_html__('Custom', 'elementskit-lite'),
32
- 'options' => [
33
- 'checked' => !empty($filter['filter_widget_module']) ? $filter['filter_widget_module'] === 'custom' : false,
34
- ]
35
- ]);
36
- ?>
 
 
 
 
 
 
37
  </div>
38
 
39
  <div class="ekit-onboard-section ekit-onboard-module">
40
- <h2 class="ekit-onboard-section-title"><?php echo esc_html__('Modules', 'elementskit-lite'); ?></h2>
41
- <?php include(self::get_dir() . 'views/settings-sections/modules.php'); ?>
42
  </div>
43
 
44
  <div class="ekit-onboard-section ekit-onboard-widget">
45
- <?php include(self::get_dir() . 'views/settings-sections/widgets.php'); ?>
46
  </div>
47
 
48
  <div class="ekit-onboard-pagination">
49
- <a class="ekit-onboard-btn ekit-onboard-pagi-btn prev" href="#"><i class="icon icon-arrow-left"></i><?php echo esc_html__('Back', 'elementskit-lite'); ?></a>
50
- <a class="ekit-onboard-btn ekit-onboard-pagi-btn next" href="#"><?php echo esc_html__('Next Step', 'elementskit-lite'); ?></a>
51
- </div>
1
  <div class="ekit-admin-fields-container-fieldset">
2
+ <?php
3
+ $filter = \ElementsKit_Lite\Libs\Framework\Attr::instance()->utils->get_option( 'settings', array() );
4
+
5
+ $this->utils->input(
6
+ array(
7
+ 'type' => 'radio',
8
+ 'name' => 'settings[filter_widget_module]',
9
+ 'value' => 'basic',
10
+ 'description' => esc_html__( 'General widgets will be activated to build your website. Best suited for lightweight-fast starter websites.', 'elementskit-lite' ),
11
+ 'label' => esc_html__( 'Basic (Recommended)', 'elementskit-lite' ),
12
+ 'options' => array(
13
+ 'checked' => ! empty( $filter['filter_widget_module'] ) ? $filter['filter_widget_module'] === 'basic' : true,
14
+ ),
15
+ )
16
+ );
17
+ $this->utils->input(
18
+ array(
19
+ 'type' => 'radio',
20
+ 'name' => 'settings[filter_widget_module]',
21
+ 'value' => 'advanced',
22
+ 'description' => esc_html__( 'All the free dynamic widgets will be activated to increase flexibility & functionality to build your complex website in no-time.', 'elementskit-lite' ),
23
+ 'label' => esc_html__( 'Advanced', 'elementskit-lite' ),
24
+ 'options' => array(
25
+ 'checked' => ! empty( $filter['filter_widget_module'] ) ? $filter['filter_widget_module'] === 'advanced' : false,
26
+ ),
27
+ )
28
+ );
29
+ $this->utils->input(
30
+ array(
31
+ 'type' => 'radio',
32
+ 'name' => 'settings[filter_widget_module]',
33
+ 'value' => 'custom',
34
+ 'class' => 'ekit-onboard-custom-filter',
35
+ 'description' => esc_html__( 'You choose your website as per your need.', 'elementskit-lite' ),
36
+ 'label' => esc_html__( 'Custom', 'elementskit-lite' ),
37
+ 'options' => array(
38
+ 'checked' => ! empty( $filter['filter_widget_module'] ) ? $filter['filter_widget_module'] === 'custom' : false,
39
+ ),
40
+ )
41
+ );
42
+ ?>
43
  </div>
44
 
45
  <div class="ekit-onboard-section ekit-onboard-module">
46
+ <h2 class="ekit-onboard-section-title"><?php echo esc_html__( 'Modules', 'elementskit-lite' ); ?></h2>
47
+ <?php require self::get_dir() . 'views/settings-sections/modules.php'; ?>
48
  </div>
49
 
50
  <div class="ekit-onboard-section ekit-onboard-widget">
51
+ <?php require self::get_dir() . 'views/settings-sections/widgets.php'; ?>
52
  </div>
53
 
54
  <div class="ekit-onboard-pagination">
55
+ <a class="ekit-onboard-btn ekit-onboard-pagi-btn prev" href="#"><i class="icon icon-arrow-left"></i><?php echo esc_html__( 'Back', 'elementskit-lite' ); ?></a>
56
+ <a class="ekit-onboard-btn ekit-onboard-pagi-btn next" href="#"><?php echo esc_html__( 'Next Step', 'elementskit-lite' ); ?></a>
57
+ </div>
libs/framework/views/onboard-steps/step-02.php CHANGED
@@ -1,30 +1,30 @@
1
  <div class="ekit-onboard-step-2-inner">
2
- <div class="ekit-onboard-step-2-content">
3
- <div class="ekit-onboard-main-header">
4
- <h1 class="ekit-onboard-main-header--title"><strong><?php echo esc_html__('Welcome to', 'elementskit-lite'); ?><br><?php echo esc_html__('the world of ElementsKit.', 'elementskit-lite'); ?></strong></h1>
5
- <p class="ekit-onboard-main-header--description"><?php echo esc_html__('Signup to join over 3,20,000+ founders, marketers and developers in learning the best uses of WordPress', 'elementskit-lite'); ?></p>
6
- </div>
7
- <div class="ekit-onboard-signup">
8
- <label for="signup"><i class="icon icon-email"></i></label>
9
- <input name="settings[newsletter_email]" id="signup" type="email" placeholder="Enter your email address">
10
- </div>
11
- <p class="ekit-onboard-signup--helptext"><?php echo esc_html__('We never spam.', 'elementskit-lite'); ?> <span><?php echo esc_html('Promise!', 'elementskit-lite'); ?></span></p>
12
- </div>
13
 
14
 
15
- <div class="ekit-onboard-pagination">
16
- <a class="ekit-onboard-btn ekit-onboard-pagi-btn prev" href="#"><i class="icon icon-arrow-left"></i><?php echo esc_html__('Back', 'elementskit-lite'); ?></a>
17
- <a class="ekit-onboard-btn ekit-onboard-pagi-btn next" href="#"><?php echo esc_html__('Next Step', 'elementskit-lite'); ?></a>
18
- </div>
19
 
20
- <div class="ekit-onboard-shapes">
21
- <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-01.png" alt="" class="shape-01">
22
- <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-02.png" alt="" class="shape-02">
23
- <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-03.png" alt="" class="shape-03">
24
- <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-04.png" alt="" class="shape-04">
25
- <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-05.png" alt="" class="shape-05">
26
- <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-06.png" alt="" class="shape-06">
27
- <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-07.png" alt="" class="shape-07">
28
- <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-09.png" alt="" class="shape-09">
29
- </div>
30
- </div>
1
  <div class="ekit-onboard-step-2-inner">
2
+ <div class="ekit-onboard-step-2-content">
3
+ <div class="ekit-onboard-main-header">
4
+ <h1 class="ekit-onboard-main-header--title"><strong><?php echo esc_html__( 'Welcome to', 'elementskit-lite' ); ?><br><?php echo esc_html__( 'the world of ElementsKit.', 'elementskit-lite' ); ?></strong></h1>
5
+ <p class="ekit-onboard-main-header--description"><?php echo esc_html__( 'Signup to join over 3,20,000+ founders, marketers and developers in learning the best uses of WordPress', 'elementskit-lite' ); ?></p>
6
+ </div>
7
+ <div class="ekit-onboard-signup">
8
+ <label for="signup"><i class="icon icon-email"></i></label>
9
+ <input name="settings[newsletter_email]" id="signup" type="email" placeholder="Enter your email address">
10
+ </div>
11
+ <p class="ekit-onboard-signup--helptext"><?php echo esc_html__( 'We never spam.', 'elementskit-lite' ); ?> <span><?php echo esc_html( 'Promise!', 'elementskit-lite' ); ?></span></p>
12
+ </div>
13
 
14
 
15
+ <div class="ekit-onboard-pagination">
16
+ <a class="ekit-onboard-btn ekit-onboard-pagi-btn prev" href="#"><i class="icon icon-arrow-left"></i><?php echo esc_html__( 'Back', 'elementskit-lite' ); ?></a>
17
+ <a class="ekit-onboard-btn ekit-onboard-pagi-btn next" href="#"><?php echo esc_html__( 'Next Step', 'elementskit-lite' ); ?></a>
18
+ </div>
19
 
20
+ <div class="ekit-onboard-shapes">
21
+ <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-01.png" alt="" class="shape-01">
22
+ <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-02.png" alt="" class="shape-02">
23
+ <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-03.png" alt="" class="shape-03">
24
+ <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-04.png" alt="" class="shape-04">
25
+ <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-05.png" alt="" class="shape-05">
26
+ <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-06.png" alt="" class="shape-06">
27
+ <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-07.png" alt="" class="shape-07">
28
+ <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-09.png" alt="" class="shape-09">
29
+ </div>
30
+ </div>
libs/framework/views/onboard-steps/step-03.php CHANGED
@@ -1,74 +1,74 @@
1
  <div class="ekit-onboard-main-header">
2
- <h1 class="ekit-onboard-main-header--title"><strong><?php echo esc_html__('Take your website to the next level', 'elementskit-lite'); ?></strong></h1>
3
- <p class="ekit-onboard-main-header--description"><?php echo esc_html__('We have some plugins you can install to get most from Wordpress.', 'elementskit-lite'); ?></p>
4
- <p class="ekit-onboard-main-header--description"><?php echo esc_html__('These are absolute FREE to use.', 'elementskit-lite'); ?></p>
5
  </div>
6
  <div class="ekit-onboard-plugin-list">
7
- <div class="attr-row">
8
- <?php
9
- $pluginStatus = \ElementsKit_Lite\Libs\Framework\Classes\Plugin_Status::instance();
10
- $plugins = \ElementsKit_Lite\Libs\Framework\Attr::instance()->utils->get_option('settings', []);
11
- ?>
12
- <div class="attr-col-lg-4">
13
- <div class="ekit-onboard-single-plugin badge--featured">
14
- <label>
15
- <img class="ekit-onboard-single-plugin--logo" src="<?php echo self::get_url(); ?>assets/images/onboard/shopengine-logo.png" alt="ShopEngine">
16
- <p class="ekit-onboard-single-plugin--description"><?php echo esc_html__('Completely customize your WooCommerce WordPress', 'elementskit-lite'); ?></p>
17
- <?php $plugin = $pluginStatus->get_status('shopengine/shopengine.php'); ?>
18
- <a data-plugin_status="<?php echo esc_attr($plugin['status']); ?>" data-activation_url="<?php echo esc_url($plugin['activation_url']); ?>" href="<?php echo esc_url($plugin['installation_url']); ?>" class="ekit-pro-btn ekit-onboard-single-plugin--install_plugin <?php echo $plugin['status'] == 'activated' ? 'activated' : ''; ?>"><?php echo esc_html($plugin['title'] , 'elementskit-lite'); ?></a>
19
- </label>
20
- </div>
21
- </div>
22
- <div class="attr-col-lg-4">
23
- <div class="ekit-onboard-single-plugin">
24
- <label>
25
- <img class="ekit-onboard-single-plugin--logo" src="<?php echo self::get_url(); ?>assets/images/onboard/metform-logo.png" alt="Metform">
26
- <p class="ekit-onboard-single-plugin--description"><?php echo esc_html__('Most flexible drag-and-drop form builder', 'elementskit-lite'); ?></p>
27
- <?php $plugin = $pluginStatus->get_status('metform/metform.php'); ?>
28
- <a data-plugin_status="<?php echo esc_attr($plugin['status']); ?>" data-activation_url="<?php echo esc_url($plugin['activation_url']); ?>" href="<?php echo esc_url($plugin['installation_url']); ?>" class="ekit-pro-btn ekit-onboard-single-plugin--install_plugin <?php echo $plugin['status'] == 'activated' ? 'activated' : ''; ?>"><?php echo esc_html($plugin['title'], 'elementskit-lite'); ?></a>
29
- </label>
30
- </div>
31
- </div>
32
- <div class="attr-col-lg-4">
33
- <div class="ekit-onboard-single-plugin">
34
- <label>
35
- <img class="ekit-onboard-single-plugin--logo" src="<?php echo self::get_url(); ?>assets/images/onboard/wp-social-logo.png" alt="WpSocial">
36
- <p class="ekit-onboard-single-plugin--description"><?php echo esc_html__('Integrate all your social media to your website', 'elementskit-lite'); ?></p>
37
- <?php $plugin = $pluginStatus->get_status('wp-social/wp-social.php'); ?>
38
- <a data-plugin_status="<?php echo esc_attr($plugin['status']); ?>" data-activation_url="<?php echo esc_url($plugin['activation_url']); ?>" href="<?php echo esc_url($plugin['installation_url']); ?>" class="ekit-pro-btn ekit-onboard-single-plugin--install_plugin <?php echo $plugin['status'] == 'activated' ? 'activated' : ''; ?>"><?php echo esc_html($plugin['title'], 'elementskit-lite'); ?></a>
39
- </label>
40
- </div>
41
- </div>
42
- <div class="attr-col-lg-4">
43
- <div class="ekit-onboard-single-plugin">
44
- <label>
45
- <img class="ekit-onboard-single-plugin--logo" src="<?php echo self::get_url(); ?>assets/images/onboard/ultimate-review-logo.png" alt="UltimateReview">
46
- <p class="ekit-onboard-single-plugin--description"><?php echo esc_html__('Integrate various styled review system in your website', 'elementskit-lite'); ?></p>
47
- <?php $plugin = $pluginStatus->get_status('wp-ultimate-review/wp-ultimate-review.php'); ?>
48
- <a data-plugin_status="<?php echo esc_attr($plugin['status']); ?>" data-activation_url="<?php echo esc_url($plugin['activation_url']); ?>" href="<?php echo esc_url($plugin['installation_url']); ?>" class="ekit-pro-btn ekit-onboard-single-plugin--install_plugin <?php echo $plugin['status'] == 'activated' ? 'activated' : ''; ?>"><?php echo esc_html($plugin['title'], 'elementskit-lite'); ?></a>
49
- </label>
50
- </div>
51
- </div>
52
- <div class="attr-col-lg-4">
53
- <div class="ekit-onboard-single-plugin">
54
- <label>
55
- <img class="ekit-onboard-single-plugin--logo" src="<?php echo self::get_url(); ?>assets/images/onboard/fundraising-logo.png" alt="Fundraising">
56
- <p class="ekit-onboard-single-plugin--description"><?php echo esc_html__('Integrate various styled review system in your website', 'elementskit-lite'); ?></p>
57
- <?php $plugin = $pluginStatus->get_status('wp-fundraising-donation/wp-fundraising.php'); ?>
58
- <a data-plugin_status="<?php echo esc_attr($plugin['status']); ?>" data-activation_url="<?php echo esc_url($plugin['activation_url']); ?>" href="<?php echo esc_url($plugin['installation_url']); ?>" class="ekit-pro-btn ekit-onboard-single-plugin--install_plugin <?php echo $plugin['status'] == 'activated' ? 'activated' : ''; ?>"><?php echo esc_html($plugin['title'], 'elementskit-lite'); ?></a>
59
- </label>
60
- </div>
61
- </div>
62
- </div>
63
  </div>
64
  <div class="ekit-onboard-pagination">
65
- <a class="ekit-onboard-btn ekit-onboard-pagi-btn prev" data-plugin_status="<?php echo $plugin['status']; ?>" data-activation_url="<?php echo $plugin['activation_url'] ?>" href="#"><i class="icon icon-arrow-left"></i><?php echo esc_html__('Back', 'elementskit-lite'); ?></a>
66
- <a class="ekit-onboard-btn ekit-onboard-pagi-btn next" data-plugin_status="<?php echo $plugin['status']; ?>" data-activation_url="<?php echo $plugin['activation_url'] ?>" href="#"><?php echo esc_html__('Next Step', 'elementskit-lite'); ?></a>
67
  </div>
68
  <div class="ekit-onboard-shapes">
69
- <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-06.png" alt="" class="shape-06">
70
- <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-10.png" alt="" class="shape-10">
71
- <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-11.png" alt="" class="shape-11">
72
- <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-12.png" alt="" class="shape-12">
73
- <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-13.png" alt="" class="shape-13">
74
- </div>
1
  <div class="ekit-onboard-main-header">
2
+ <h1 class="ekit-onboard-main-header--title"><strong><?php echo esc_html__( 'Take your website to the next level', 'elementskit-lite' ); ?></strong></h1>
3
+ <p class="ekit-onboard-main-header--description"><?php echo esc_html__( 'We have some plugins you can install to get most from WordPress.', 'elementskit-lite' ); ?></p>
4
+ <p class="ekit-onboard-main-header--description"><?php echo esc_html__( 'These are absolute FREE to use.', 'elementskit-lite' ); ?></p>
5
  </div>
6
  <div class="ekit-onboard-plugin-list">
7
+ <div class="attr-row">
8
+ <?php
9
+ $pluginStatus = \ElementsKit_Lite\Libs\Framework\Classes\Plugin_Status::instance();
10
+ $plugins = \ElementsKit_Lite\Libs\Framework\Attr::instance()->utils->get_option( 'settings', array() );
11
+ ?>
12
+ <div class="attr-col-lg-4">
13
+ <div class="ekit-onboard-single-plugin badge--featured">
14
+ <label>
15
+ <img class="ekit-onboard-single-plugin--logo" src="<?php echo self::get_url(); ?>assets/images/onboard/shopengine-logo.png" alt="ShopEngine">
16
+ <p class="ekit-onboard-single-plugin--description"><?php echo esc_html__( 'Completely customize your WooCommerce WordPress', 'elementskit-lite' ); ?></p>
17
+ <?php $plugin = $pluginStatus->get_status( 'shopengine/shopengine.php' ); ?>
18
+ <a data-plugin_status="<?php echo esc_attr( $plugin['status'] ); ?>" data-activation_url="<?php echo esc_url( $plugin['activation_url'] ); ?>" href="<?php echo esc_url( $plugin['installation_url'] ); ?>" class="ekit-pro-btn ekit-onboard-single-plugin--install_plugin <?php echo $plugin['status'] == 'activated' ? 'activated' : ''; ?>"><?php echo esc_html( $plugin['title'], 'elementskit-lite' ); ?></a>
19
+ </label>
20
+ </div>
21
+ </div>
22
+ <div class="attr-col-lg-4">
23
+ <div class="ekit-onboard-single-plugin">
24
+ <label>
25
+ <img class="ekit-onboard-single-plugin--logo" src="<?php echo self::get_url(); ?>assets/images/onboard/metform-logo.png" alt="Metform">
26
+ <p class="ekit-onboard-single-plugin--description"><?php echo esc_html__( 'Most flexible drag-and-drop form builder', 'elementskit-lite' ); ?></p>
27
+ <?php $plugin = $pluginStatus->get_status( 'metform/metform.php' ); ?>
28
+ <a data-plugin_status="<?php echo esc_attr( $plugin['status'] ); ?>" data-activation_url="<?php echo esc_url( $plugin['activation_url'] ); ?>" href="<?php echo esc_url( $plugin['installation_url'] ); ?>" class="ekit-pro-btn ekit-onboard-single-plugin--install_plugin <?php echo $plugin['status'] == 'activated' ? 'activated' : ''; ?>"><?php echo esc_html( $plugin['title'], 'elementskit-lite' ); ?></a>
29
+ </label>
30
+ </div>
31
+ </div>
32
+ <div class="attr-col-lg-4">
33
+ <div class="ekit-onboard-single-plugin">
34
+ <label>
35
+ <img class="ekit-onboard-single-plugin--logo" src="<?php echo self::get_url(); ?>assets/images/onboard/wp-social-logo.png" alt="WpSocial">
36
+ <p class="ekit-onboard-single-plugin--description"><?php echo esc_html__( 'Integrate all your social media to your website', 'elementskit-lite' ); ?></p>
37
+ <?php $plugin = $pluginStatus->get_status( 'wp-social/wp-social.php' ); ?>
38
+ <a data-plugin_status="<?php echo esc_attr( $plugin['status'] ); ?>" data-activation_url="<?php echo esc_url( $plugin['activation_url'] ); ?>" href="<?php echo esc_url( $plugin['installation_url'] ); ?>" class="ekit-pro-btn ekit-onboard-single-plugin--install_plugin <?php echo $plugin['status'] == 'activated' ? 'activated' : ''; ?>"><?php echo esc_html( $plugin['title'], 'elementskit-lite' ); ?></a>
39
+ </label>
40
+ </div>
41
+ </div>
42
+ <div class="attr-col-lg-4">
43
+ <div class="ekit-onboard-single-plugin">
44
+ <label>
45
+ <img class="ekit-onboard-single-plugin--logo" src="<?php echo self::get_url(); ?>assets/images/onboard/ultimate-review-logo.png" alt="UltimateReview">
46
+ <p class="ekit-onboard-single-plugin--description"><?php echo esc_html__( 'Integrate various styled review system in your website', 'elementskit-lite' ); ?></p>
47
+ <?php $plugin = $pluginStatus->get_status( 'wp-ultimate-review/wp-ultimate-review.php' ); ?>
48
+ <a data-plugin_status="<?php echo esc_attr( $plugin['status'] ); ?>" data-activation_url="<?php echo esc_url( $plugin['activation_url'] ); ?>" href="<?php echo esc_url( $plugin['installation_url'] ); ?>" class="ekit-pro-btn ekit-onboard-single-plugin--install_plugin <?php echo $plugin['status'] == 'activated' ? 'activated' : ''; ?>"><?php echo esc_html( $plugin['title'], 'elementskit-lite' ); ?></a>
49
+ </label>
50
+ </div>
51
+ </div>
52
+ <div class="attr-col-lg-4">
53
+ <div class="ekit-onboard-single-plugin">
54
+ <label>
55
+ <img class="ekit-onboard-single-plugin--logo" src="<?php echo self::get_url(); ?>assets/images/onboard/fundraising-logo.png" alt="Fundraising">
56
+ <p class="ekit-onboard-single-plugin--description"><?php echo esc_html__( 'Integrate various styled review system in your website', 'elementskit-lite' ); ?></p>
57
+ <?php $plugin = $pluginStatus->get_status( 'wp-fundraising-donation/wp-fundraising.php' ); ?>
58
+ <a data-plugin_status="<?php echo esc_attr( $plugin['status'] ); ?>" data-activation_url="<?php echo esc_url( $plugin['activation_url'] ); ?>" href="<?php echo esc_url( $plugin['installation_url'] ); ?>" class="ekit-pro-btn ekit-onboard-single-plugin--install_plugin <?php echo $plugin['status'] == 'activated' ? 'activated' : ''; ?>"><?php echo esc_html( $plugin['title'], 'elementskit-lite' ); ?></a>
59
+ </label>
60
+ </div>
61
+ </div>
62
+ </div>
63
  </div>
64
  <div class="ekit-onboard-pagination">
65
+ <a class="ekit-onboard-btn ekit-onboard-pagi-btn prev" data-plugin_status="<?php echo $plugin['status']; ?>" data-activation_url="<?php echo $plugin['activation_url']; ?>" href="#"><i class="icon icon-arrow-left"></i><?php echo esc_html__( 'Back', 'elementskit-lite' ); ?></a>
66
+ <a class="ekit-onboard-btn ekit-onboard-pagi-btn next" data-plugin_status="<?php echo $plugin['status']; ?>" data-activation_url="<?php echo $plugin['activation_url']; ?>" href="#"><?php echo esc_html__( 'Next Step', 'elementskit-lite' ); ?></a>
67
  </div>
68
  <div class="ekit-onboard-shapes">
69
+ <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-06.png" alt="" class="shape-06">
70
+ <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-10.png" alt="" class="shape-10">
71
+ <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-11.png" alt="" class="shape-11">
72
+ <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-12.png" alt="" class="shape-12">
73
+ <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-13.png" alt="" class="shape-13">
74
+ </div>
libs/framework/views/onboard-steps/step-04.php CHANGED
@@ -1,37 +1,45 @@
1
  <div class="ekit-onboard-main-header">
2
- <h1 class="ekit-onboard-main-header--title"><strong><?php echo esc_html__('Watch how to use our top widgets.
3
- Save 1 hour of your learning time.', 'elementskit-lite'); ?></strong></h1>
 
 
 
4
  </div>
5
  <div class="ekit-onboard-tutorial">
6
- <div class="ekit-onboard-tutorial--btn">
7
- <a class="ekit-onboard-tutorial--link" data-video_id="VhBl3dHT5SY" href="#"><i class="icon icon-play1"></i></a>
8
- </div>
9
-
10
- <div class="ekti-admin-video-tutorial-popup">
11
- <div class="ekti-admin-video-tutorial-iframe"></div>
12
- </div>
13
  </div>
14
 
15
 
16
  <div class="ekit-onboard-tut-term">
17
- <label class="ekit-onboard-tut-term--label">
18
- <?php $term = \ElementsKit_Lite\Libs\Framework\Attr::instance()->utils->get_option('settings', []);
19
- ?>
20
- <input <?php if(empty($term['tut_term']) || $term['tut_term'] !== 'user_agreed') : ?>checked="checked"<?php endif; ?> class="ekit-onboard-tut-term--input" name="settings[tut_term]" type="checkbox" value="user_agreed">
21
- <?php echo esc_html__('Share non-sensitive diagnostic data and details about plugin usage.', 'elementskit-lite'); ?>
22
- </label>
 
 
 
 
 
23
 
24
- <p class="ekit-onboard-tut-term--helptext"><?php echo esc_html__("We gather non-sensitive diagnostic data as well as information about plugin use. Your site's URL, WordPress and PHP versions, plugins and themes, as well as your email address, will be used to give you a discount coupon. This information enables us to ensure that this plugin remains consistent with the most common plugins and themes at all times. We pledge not to give you any spam, for sure.", 'elementskit-lite'); ?></p>
25
- <p class="ekit-onboard-tut-term--help"><?php echo esc_html__('What types of information do we gather?', 'elementskit-lite'); ?></p>
26
  </div>
27
  <div class="ekit-onboard-pagination">
28
- <a class="ekit-onboard-btn ekit-onboard-pagi-btn prev" href="#"><i class="icon icon-arrow-left"></i><?php echo esc_html__('Back', 'elementskit-lite'); ?></a>
29
- <a class="ekit-onboard-btn ekit-onboard-pagi-btn next" href="#"><?php echo esc_html__('Next Step', 'elementskit-lite'); ?></a>
30
  </div>
31
  <div class="ekit-onboard-shapes">
32
- <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-07.png" alt="" class="shape-07">
33
- <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-14.png" alt="" class="shape-14">
34
- <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-15.png" alt="" class="shape-15">
35
- <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-16.png" alt="" class="shape-16">
36
- <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-17.png" alt="" class="shape-17">
37
- </div>
1
  <div class="ekit-onboard-main-header">
2
+ <h1 class="ekit-onboard-main-header--title"><strong><?php echo esc_html__(
3
+ 'Watch how to use our top widgets.
4
+ Save 1 hour of your learning time.',
5
+ 'elementskit-lite'
6
+ ); ?></strong></h1>
7
  </div>
8
  <div class="ekit-onboard-tutorial">
9
+ <div class="ekit-onboard-tutorial--btn">
10
+ <a class="ekit-onboard-tutorial--link" data-video_id="VhBl3dHT5SY" href="#"><i class="icon icon-play1"></i></a>
11
+ </div>
12
+
13
+ <div class="ekti-admin-video-tutorial-popup">
14
+ <div class="ekti-admin-video-tutorial-iframe"></div>
15
+ </div>
16
  </div>
17
 
18
 
19
  <div class="ekit-onboard-tut-term">
20
+ <label class="ekit-onboard-tut-term--label">
21
+ <?php
22
+ $term = \ElementsKit_Lite\Libs\Framework\Attr::instance()->utils->get_option( 'settings', array() );
23
+ ?>
24
+ <input
25
+ <?php
26
+ if ( empty( $term['tut_term'] ) || $term['tut_term'] !== 'user_agreed' ) :
27
+ ?>
28
+ checked="checked"<?php endif; ?> class="ekit-onboard-tut-term--input" name="settings[tut_term]" type="checkbox" value="user_agreed">
29
+ <?php echo esc_html__( 'Share non-sensitive diagnostic data and details about plugin usage.', 'elementskit-lite' ); ?>
30
+ </label>
31
 
32
+ <p class="ekit-onboard-tut-term--helptext"><?php echo esc_html__( "We gather non-sensitive diagnostic data as well as information about plugin use. Your site's URL, WordPress and PHP versions, plugins and themes, as well as your email address, will be used to give you a discount coupon. This information enables us to ensure that this plugin remains consistent with the most common plugins and themes at all times. We pledge not to give you any spam, for sure.", 'elementskit-lite' ); ?></p>
33
+ <p class="ekit-onboard-tut-term--help"><?php echo esc_html__( 'What types of information do we gather?', 'elementskit-lite' ); ?></p>
34
  </div>
35
  <div class="ekit-onboard-pagination">
36
+ <a class="ekit-onboard-btn ekit-onboard-pagi-btn prev" href="#"><i class="icon icon-arrow-left"></i><?php echo esc_html__( 'Back', 'elementskit-lite' ); ?></a>
37
+ <a class="ekit-onboard-btn ekit-onboard-pagi-btn next" href="#"><?php echo esc_html__( 'Next Step', 'elementskit-lite' ); ?></a>
38
  </div>
39
  <div class="ekit-onboard-shapes">
40
+ <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-07.png" alt="" class="shape-07">
41
+ <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-14.png" alt="" class="shape-14">
42
+ <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-15.png" alt="" class="shape-15">
43
+ <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-16.png" alt="" class="shape-16">
44
+ <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-17.png" alt="" class="shape-17">
45
+ </div>
libs/framework/views/onboard-steps/step-05.php CHANGED
@@ -1,34 +1,34 @@
1
  <div class="ekit-onboard-main-header">
2
- <h1 class="ekit-onboard-main-header--title"><?php echo \ElementsKit_Lite\Utils::kses(__('Upgrade within the next </br> <strong>2 hours</strong> and get a <strong>40% Discount.</strong>', 'elementskit-lite')); ?></h1>
3
  </div>
4
  <div class="ekit-onboard-pro-features">
5
- <h2><?php echo esc_html__('ElementsKit', 'elementskit-lite'); ?> <span><?php echo esc_html__('PRO', 'elementskit-lite'); ?></span></h2>
6
 
7
- <ul class="ekit-onboard-modules">
8
- <li><img src="<?php echo self::get_url(); ?>assets/images/onboard/module-icon-01.png" alt=""><span><?php echo esc_html__('Header & Footer Builder', 'elementskit-lite'); ?></span></li>
9
- <li><img src="<?php echo self::get_url(); ?>assets/images/onboard/module-icon-02.png" alt=""><span><?php echo esc_html__('Megamenu Builder', 'elementskit-lite'); ?></span></li>
10
- <li><img src="<?php echo self::get_url(); ?>assets/images/onboard/module-icon-03.png" alt=""><span><?php echo esc_html__('Advanced Tab', 'elementskit-lite'); ?></span></li>
11
- <li><img src="<?php echo self::get_url(); ?>assets/images/onboard/module-icon-04.png" alt=""><span><?php echo esc_html__('Parallax Effect', 'elementskit-lite'); ?></span></li>
12
- <li><img src="<?php echo self::get_url(); ?>assets/images/onboard/module-icon-05.png" alt=""><span><?php echo esc_html__('Social Feeds', 'elementskit-lite'); ?></span></li>
13
- <li><img src="<?php echo self::get_url(); ?>assets/images/onboard/module-icon-06.png" alt=""><span><?php echo esc_html__('More Addons & Modules', 'elementskit-lite'); ?></span></li>
14
- </ul>
15
- <ul class="ekit-onboard-module-meta">
16
- <li><i class="icon icon-tick"></i> <?php echo esc_html__('45+ Pre-designed Header & Footer Templates', 'elementskit-lite'); ?></li>
17
- <li><i class="icon icon-tick"></i> <?php echo esc_html__('35+ Ready Pages', 'elementskit-lite'); ?></li>
18
- <li><i class="icon icon-tick"></i> <?php echo esc_html__('500+ Ready Sections', 'elementskit-lite'); ?></li>
19
- </ul>
20
 
21
- <a href="https://wpmet.com/plugin/elementskit/pricing/?promo=onboard-coupon" target="_blank" class="attr-btn attr-btn-primary ekit-pro-btn"><?php echo esc_html__('Explore PRO', 'elementskit-lite'); ?> <i class="icon icon-arrow-right"></i></a>
22
  </div>
23
 
24
  <div class="ekit-onboard-pagination">
25
- <a class="ekit-onboard-btn ekit-onboard-pagi-btn prev" href="#"><i class="icon icon-arrow-left"></i><?php echo esc_html__('Back', 'elementskit-lite'); ?></a>
26
- <a class="ekit-onboard-btn ekit-onboard-pagi-btn next" href="#"><?php echo esc_html__('Next Step', 'elementskit-lite'); ?></a>
27
  </div>
28
 
29
  <div class="ekit-onboard-shapes">
30
- <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-14.png" alt="" class="shape-14">
31
- <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-15.png" alt="" class="shape-15">
32
- <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-18.png" alt="" class="shape-18">
33
- <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-19.png" alt="" class="shape-19">
34
- </div>
1
  <div class="ekit-onboard-main-header">
2
+ <h1 class="ekit-onboard-main-header--title"><?php echo \ElementsKit_Lite\Utils::kses( __( 'Upgrade within the next </br> <strong>2 hours</strong> and get a <strong>40% Discount.</strong>', 'elementskit-lite' ) ); ?></h1>
3
  </div>
4
  <div class="ekit-onboard-pro-features">
5
+ <h2><?php echo esc_html__( 'ElementsKit', 'elementskit-lite' ); ?> <span><?php echo esc_html__( 'PRO', 'elementskit-lite' ); ?></span></h2>
6
 
7
+ <ul class="ekit-onboard-modules">
8
+ <li><img src="<?php echo self::get_url(); ?>assets/images/onboard/module-icon-01.png" alt=""><span><?php echo esc_html__( 'Header & Footer Builder', 'elementskit-lite' ); ?></span></li>
9
+ <li><img src="<?php echo self::get_url(); ?>assets/images/onboard/module-icon-02.png" alt=""><span><?php echo esc_html__( 'Megamenu Builder', 'elementskit-lite' ); ?></span></li>
10
+ <li><img src="<?php echo self::get_url(); ?>assets/images/onboard/module-icon-03.png" alt=""><span><?php echo esc_html__( 'Advanced Tab', 'elementskit-lite' ); ?></span></li>
11
+ <li><img src="<?php echo self::get_url(); ?>assets/images/onboard/module-icon-04.png" alt=""><span><?php echo esc_html__( 'Parallax Effect', 'elementskit-lite' ); ?></span></li>
12
+ <li><img src="<?php echo self::get_url(); ?>assets/images/onboard/module-icon-05.png" alt=""><span><?php echo esc_html__( 'Social Feeds', 'elementskit-lite' ); ?></span></li>
13
+ <li><img src="<?php echo self::get_url(); ?>assets/images/onboard/module-icon-06.png" alt=""><span><?php echo esc_html__( 'More Addons & Modules', 'elementskit-lite' ); ?></span></li>
14
+ </ul>
15
+ <ul class="ekit-onboard-module-meta">
16
+ <li><i class="icon icon-tick"></i> <?php echo esc_html__( '45+ Pre-designed Header & Footer Templates', 'elementskit-lite' ); ?></li>
17
+ <li><i class="icon icon-tick"></i> <?php echo esc_html__( '35+ Ready Pages', 'elementskit-lite' ); ?></li>
18
+ <li><i class="icon icon-tick"></i> <?php echo esc_html__( '500+ Ready Sections', 'elementskit-lite' ); ?></li>
19
+ </ul>
20
 
21
+ <a href="https://wpmet.com/plugin/elementskit/pricing/?promo=onboard-coupon" target="_blank" class="attr-btn attr-btn-primary ekit-pro-btn"><?php echo esc_html__( 'Explore PRO', 'elementskit-lite' ); ?> <i class="icon icon-arrow-right"></i></a>
22
  </div>
23
 
24
  <div class="ekit-onboard-pagination">
25
+ <a class="ekit-onboard-btn ekit-onboard-pagi-btn prev" href="#"><i class="icon icon-arrow-left"></i><?php echo esc_html__( 'Back', 'elementskit-lite' ); ?></a>
26
+ <a class="ekit-onboard-btn ekit-onboard-pagi-btn next" href="#"><?php echo esc_html__( 'Next Step', 'elementskit-lite' ); ?></a>
27
  </div>
28
 
29
  <div class="ekit-onboard-shapes">
30
+ <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-14.png" alt="" class="shape-14">
31
+ <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-15.png" alt="" class="shape-15">
32
+ <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-18.png" alt="" class="shape-18">
33
+ <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-19.png" alt="" class="shape-19">
34
+ </div>
libs/framework/views/onboard-steps/step-06.php CHANGED
@@ -1,13 +1,13 @@
1
  <div class="ekit-onboard-main-header">
2
- <img class="ekit-onboard-main-header--thumb" src="<?php echo self::get_url(); ?>assets/images/onboard/congrats-shape.png" alt="">
3
- <h1 class="ekit-onboard-main-header--title"><strong><?php echo esc_html__('Congratulations!', 'elementskit-lite'); ?></strong></h1>
4
- <p class="ekit-onboard-main-header--description"><?php echo esc_html__('Let’s dive into developing your website with the world’s best addons for Elementor.', 'elementskit-lite'); ?></p>
5
- <button class="ekit-onboard-btn ekit-admin-settings-form-submit"><div class="ekit-spinner"></div> <?php echo esc_html__('Save Changes', 'elementskit-lite'); ?></button>
6
  </div>
7
  <div class="ekit-onboard-shapes">
8
- <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-04.png" alt="" class="shape-04">
9
- <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-07.png" alt="" class="shape-07">
10
- <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-15.png" alt="" class="shape-15">
11
- <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-21.png" alt="" class="shape-21">
12
- <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-22.png" alt="" class="shape-22">
13
- </div>
1
  <div class="ekit-onboard-main-header">
2
+ <img class="ekit-onboard-main-header--thumb" src="<?php echo self::get_url(); ?>assets/images/onboard/congrats-shape.png" alt="">
3
+ <h1 class="ekit-onboard-main-header--title"><strong><?php echo esc_html__( 'Congratulations!', 'elementskit-lite' ); ?></strong></h1>
4
+ <p class="ekit-onboard-main-header--description"><?php echo esc_html__( 'Let’s dive into developing your website with the world’s best addons for Elementor.', 'elementskit-lite' ); ?></p>
5
+ <button class="ekit-onboard-btn ekit-admin-settings-form-submit"><div class="ekit-spinner"></div> <?php echo esc_html__( 'Save Changes', 'elementskit-lite' ); ?></button>
6
  </div>
7
  <div class="ekit-onboard-shapes">
8
+ <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-04.png" alt="" class="shape-04">
9
+ <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-07.png" alt="" class="shape-07">
10
+ <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-15.png" alt="" class="shape-15">
11
+ <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-21.png" alt="" class="shape-21">
12
+ <img src="<?php echo self::get_url(); ?>assets/images/onboard/shape-22.png" alt="" class="shape-22">
13
+ </div>
libs/framework/views/settings-sections/dashboard.php CHANGED
@@ -1,161 +1,161 @@
1
  <div class="ekit-admin-card ekit-admin-card-shadow">
2
- <img src="<?php echo self::get_url() . 'assets/images/banner_dashboard.png'; ?>" class="ekit-admin-dashboard-banner" />
3
  </div>
4
 
5
  <!-- Documentation -->
6
  <div class="ekit-admin-section ekit-admin-dual-layout ekit-admin-documentation-section">
7
- <div class="ekit-admin-left-thumb">
8
- <img src="<?php echo self::get_url() . 'assets/images/documentation-thumb.png'; ?>" alt="<?php esc_attr_e('Documentation Thumb', 'elementskit-lite'); ?>">
9
- </div>
10
- <div class="ekit-admin-right-content">
11
- <div class="ekit-admin-right-content--heading">
12
- <h2><?php esc_html_e('Easy Documentation', 'elementskit-lite') ?></h2>
13
- <span class="ekit-admin-right-content--heading__sub-title"><?php esc_html_e('Docs', 'elementskit-lite') ?></span>
14
- </div>
15
- <p><?php esc_html_e('Get started by spending some time with the documentation to get familiar with ElementsKit Lite. Build awesome websites for you or your clients with ease.', 'elementskit-lite'); ?></p>
16
- <div class="ekit-admin-right-content--button">
17
- <a target="_blank" href="https://wpmet.com/doc/elementskit/" class="attr-btn attr-btn-primary ekit-admin-right-content--link"><i class="fa fa-newspaper-o"></i><?php esc_html_e('Get started', 'elementskit-lite'); ?></a>
18
- </div>
19
- </div>
20
  </div>
21
 
22
  <!-- Video tutorials -->
23
  <div class="ekit-admin-section ekit-admin-faq-section">
24
- <div class="ekit-admin-right-content attr-text-center">
25
- <div class="ekit-admin-right-content--heading">
26
- <h2><?php esc_html_e('Video Tutorials', 'elementskit-lite') ?></h2>
27
- <span class="ekit-admin-right-content--heading__sub-title"><?php esc_html_e('Tutorials', 'elementskit-lite') ?></span>
28
- </div>
29
- <p><?php esc_html_e('Get started by spending some time with the documentation to get familiar with ElementsKit Lite.', 'elementskit-lite'); ?></p>
30
- </div>
31
 
32
- <div class="ekit-admin-video-tutorial-list">
33
- <div class="ekit-admin-video-tutorial-item">
34
- <a target="_blank" href="https://wpmet.com/plugin/elementskit/parallax-landing/">
35
- <div class="tutorial-thumb">
36
- <img src="<?php echo self::get_url() . 'assets/images/suport-thumb.png'; ?>" alt="<?php esc_attr_e('Totorial Thumb', 'elementskit-lite'); ?>">
37
- </div>
38
- <h2><?php esc_html_e('Parallax Effects', 'elementskit-lite'); ?></h2>
39
- </a>
40
- </div>
41
- <div class="ekit-admin-video-tutorial-item">
42
- <a href="#" data-video_id="oV-7-NNiGZo">
43
- <div class="tutorial-thumb">
44
- <img src="<?php echo self::get_url() . 'assets/images/subscribed-thumb.png'; ?>" alt="<?php esc_attr_e('Totorial Thumb', 'elementskit-lite'); ?>">
45
- </div>
46
- <h2><?php esc_html_e('Advanced Accordions', 'elementskit-lite'); ?></h2>
47
- </a>
48
- </div>
49
- <div class="ekit-admin-video-tutorial-item">
50
- <a href="#" data-video_id="LfFN08Y9VQE">
51
- <div class="tutorial-thumb">
52
- <img src="<?php echo self::get_url() . 'assets/images/featured-request-thumb.png'; ?>" alt="<?php esc_attr_e('Totorial Thumb', 'elementskit-lite'); ?>">
53
- </div>
54
- <h2><?php esc_html_e('Mega Menu Builder', 'elementskit-lite'); ?></h2>
55
- </a>
56
- </div>
57
- </div>
58
- <div class="ekti-admin-video-tutorial-popup">
59
- <div class="ekti-admin-video-tutorial-popup-content">
60
- <div class="ekti-admin-video-tutorial-iframe"></div>
61
- <div class="ekti-admin-video-tutorial-close"><i class="fa fa-times"></i></div>
62
- </div>
63
- </div>
64
 
65
-
66
- <div class="ekit-admin-right-content--button attr-text-center">
67
- <a target="_blank" href="https://www.youtube.com/watch?v=ps7knxZpDFI&list=PL3t2OjZ6gY8MVnyA4OLB6qXb77-roJOuY" class="attr-btn attr-btn-primary ekit-admin-right-content--link"><i class="fa fa-check-circle"></i><?php esc_html_e('watch more videos', 'elementskit-lite'); ?></a>
68
- </div>
69
  </div>
70
 
71
  <!-- FAQ -->
72
  <div class="ekit-admin-section ekit-admin-faq-section" style="display: none">
73
- <div class="ekit-admin-right-content attr-text-center">
74
- <div class="ekit-admin-right-content--heading">
75
- <h2><?php esc_html_e('General Knowledge Base', 'elementskit-lite') ?></h2>
76
- <span class="ekit-admin-right-content--heading__sub-title"><?php esc_html_e('FAQ', 'elementskit-lite') ?></span>
77
- </div>
78
- <p><?php esc_html_e('Get started by spending some time with the documentation to get familiar with ElementsKit Lite.', 'elementskit-lite'); ?></p>
79
- </div>
80
 
81
- <div class="ekit-admin-accordion">
82
- <div class="ekit-admin-single-accordion">
83
- <h2 class="ekit-admin-single-accordion--heading"><?php esc_html_e('1. How to create a shop page in ElementsKit Lite?', 'elementskit-lite'); ?></h2>
84
- <div class="ekit-admin-single-accordion--body">
85
- <div class="ekit-admin-single-accordion--body__content">
86
- <p><?php esc_html_e('You will get 20+ complete homepages and total 450+ blocks in our layout library and we’re continuously updating the numbers there.', 'elementskit-lite'); ?></p>
87
- </div>
88
- </div>
89
- </div>
90
- <div class="ekit-admin-single-accordion">
91
- <h2 class="ekit-admin-single-accordion--heading"><?php esc_html_e('2. How to translate theme with WPML?', 'elementskit-lite'); ?></h2>
92
- <div class="ekit-admin-single-accordion--body">
93
- <div class="ekit-admin-single-accordion--body__content">
94
- <p><?php esc_html_e('You will get 20+ complete homepages and total 450+ blocks in our layout library and we’re continuously updating the numbers there.', 'elementskit-lite'); ?></p>
95
- </div>
96
- </div>
97
- </div>
98
- <div class="ekit-admin-single-accordion">
99
- <h2 class="ekit-admin-single-accordion--heading"><?php esc_html_e('3. How to add custom css in specific section shortcode?', 'elementskit-lite'); ?></h2>
100
- <div class="ekit-admin-single-accordion--body">
101
- <div class="ekit-admin-single-accordion--body__content">
102
- <p><?php esc_html_e('You will get 20+ complete homepages and total 450+ blocks in our layout library and we’re continuously updating the numbers there.', 'elementskit-lite'); ?></p>
103
- </div>
104
- </div>
105
- </div>
106
- </div>
107
 
108
-
109
- <div class="ekit-admin-right-content--button attr-text-center">
110
- <a target="_blank" href="https://www.youtube.com/channel/UCpsjAqTeTqwFTMV580D3YvQ" class="attr-btn attr-btn-primary ekit-admin-right-content--link"><i class="fa fa-question-circle"></i><?php esc_html_e('View all faq’s', 'elementskit-lite'); ?></a>
111
- </div>
112
  </div>
113
 
114
  <!-- Support -->
115
  <div class="ekit-admin-section ekit-admin-dual-layout ekit-admin-support-section">
116
  <div class="ekit-admin-right-content">
117
- <div class="ekit-admin-right-content--heading">
118
- <h2><?php esc_html_e('Top-notch Friendly Support', 'elementskit-lite') ?></h2>
119
- <span class="ekit-admin-right-content--heading__sub-title"><?php esc_html_e('Support', 'elementskit-lite') ?></span>
120
- </div>
121
- <p><?php esc_html_e('Get started by spending some time with the documentation to get familiar with ElementsKit Lite. Build awesome websites for you or your clients with ease.', 'elementskit-lite'); ?></p>
122
- <div class="ekit-admin-right-content--button">
123
- <a target="_blank" href="https://wpmet.com/support-ticket-form/" class="attr-btn attr-btn-primary ekit-admin-right-content--link"><i class="fa fa-question-circle"></i><?php esc_html_e('Join support forum', 'elementskit-lite'); ?></a>
124
- </div>
125
- </div>
126
-
127
- <div class="ekit-admin-left-thumb">
128
- <img src="<?php echo self::get_url() . 'assets/images/suport-thumb.png'; ?>" alt="<?php esc_attr_e('Documentation Thumb', 'elementskit-lite'); ?>">
129
- </div>
130
-
131
  </div>
132
 
133
  <!-- Feature a Request -->
134
  <div class="ekit-admin-section ekit-admin-dual-layout ekit-admin-feature-request-section ekit-admin-except-title">
135
- <div class="ekit-admin-left-thumb">
136
- <img src="<?php echo self::get_url() . 'assets/images/featured-request-thumb.png'; ?>" alt="<?php esc_attr_e('Feature a Request Thumb', 'elementskit-lite'); ?>">
137
- </div>
138
- <div class="ekit-admin-right-content">
139
 
140
- <p><?php esc_html_e('Maybe we’re missing something you can’t live without.', 'elementskit-lite'); ?></p>
141
- <div class="ekit-admin-right-content--button">
142
- <a target="_blank" href="https://wpmet.com/plugin/elementskit/roadmaps/#ideas" class="attr-btn attr-btn-primary ekit-admin-right-content--link"><i class="fa fa-check-circle"></i><?php esc_html_e('Feature a request', 'elementskit-lite'); ?></a>
143
- </div>
144
- </div>
145
  </div>
146
 
147
  <!-- Rate Now -->
148
  <div class="ekit-admin-section ekit-admin-dual-layout ekit-admin-rate-now-section ekit-admin-except-title">
149
-
150
- <div class="ekit-admin-right-content">
151
 
152
- <p><span><?php esc_html_e('Satisfied?', 'elementskit-lite'); ?></span><?php esc_html_e('Don’t forget to rate our item.', 'elementskit-lite'); ?></p>
153
- <div class="ekit-admin-right-content--button">
154
- <a target="_blank" href="https://wordpress.org/support/plugin/elementskit-lite/reviews/?rate=5#new-post" class="attr-btn attr-btn-primary ekit-admin-right-content--link"><i class="fa fa-star"></i><?php esc_html_e('Rate it now', 'elementskit-lite'); ?></a>
155
- </div>
156
- </div>
157
 
158
- <div class="ekit-admin-left-thumb">
159
- <img src="<?php echo self::get_url() . 'assets/images/rate-now-thumb.png'; ?>" alt="<?php esc_attr_e('Rate Now Thumb', 'elementskit-lite'); ?>">
160
- </div>
161
- </div>
1
  <div class="ekit-admin-card ekit-admin-card-shadow">
2
+ <img src="<?php echo self::get_url() . 'assets/images/banner_dashboard.png'; ?>" class="ekit-admin-dashboard-banner" />
3
  </div>
4
 
5
  <!-- Documentation -->
6
  <div class="ekit-admin-section ekit-admin-dual-layout ekit-admin-documentation-section">
7
+ <div class="ekit-admin-left-thumb">
8
+ <img src="<?php echo self::get_url() . 'assets/images/documentation-thumb.png'; ?>" alt="<?php esc_attr_e( 'Documentation Thumb', 'elementskit-lite' ); ?>">
9
+ </div>
10
+ <div class="ekit-admin-right-content">
11
+ <div class="ekit-admin-right-content--heading">
12
+ <h2><?php esc_html_e( 'Easy Documentation', 'elementskit-lite' ); ?></h2>
13
+ <span class="ekit-admin-right-content--heading__sub-title"><?php esc_html_e( 'Docs', 'elementskit-lite' ); ?></span>
14
+ </div>
15
+ <p><?php esc_html_e( 'Get started by spending some time with the documentation to get familiar with ElementsKit Lite. Build awesome websites for you or your clients with ease.', 'elementskit-lite' ); ?></p>
16
+ <div class="ekit-admin-right-content--button">
17
+ <a target="_blank" href="https://wpmet.com/doc/elementskit/" class="attr-btn attr-btn-primary ekit-admin-right-content--link"><i class="fa fa-newspaper-o"></i><?php esc_html_e( 'Get started', 'elementskit-lite' ); ?></a>
18
+ </div>
19
+ </div>
20
  </div>
21
 
22
  <!-- Video tutorials -->
23
  <div class="ekit-admin-section ekit-admin-faq-section">
24
+ <div class="ekit-admin-right-content attr-text-center">
25
+ <div class="ekit-admin-right-content--heading">
26
+ <h2><?php esc_html_e( 'Video Tutorials', 'elementskit-lite' ); ?></h2>
27
+ <span class="ekit-admin-right-content--heading__sub-title"><?php esc_html_e( 'Tutorials', 'elementskit-lite' ); ?></span>
28
+ </div>
29
+ <p><?php esc_html_e( 'Get started by spending some time with the documentation to get familiar with ElementsKit Lite.', 'elementskit-lite' ); ?></p>
30
+ </div>
31
 
32
+ <div class="ekit-admin-video-tutorial-list">
33
+ <div class="ekit-admin-video-tutorial-item">
34
+ <a target="_blank" href="https://wpmet.com/plugin/elementskit/parallax-landing/">
35
+ <div class="tutorial-thumb">
36
+ <img src="<?php echo self::get_url() . 'assets/images/suport-thumb.png'; ?>" alt="<?php esc_attr_e( 'Totorial Thumb', 'elementskit-lite' ); ?>">
37
+ </div>
38
+ <h2><?php esc_html_e( 'Parallax Effects', 'elementskit-lite' ); ?></h2>
39
+ </a>
40
+ </div>
41
+ <div class="ekit-admin-video-tutorial-item">
42
+ <a href="#" data-video_id="oV-7-NNiGZo">
43
+ <div class="tutorial-thumb">
44
+ <img src="<?php echo self::get_url() . 'assets/images/subscribed-thumb.png'; ?>" alt="<?php esc_attr_e( 'Totorial Thumb', 'elementskit-lite' ); ?>">
45
+ </div>
46
+ <h2><?php esc_html_e( 'Advanced Accordions', 'elementskit-lite' ); ?></h2>
47
+ </a>
48
+ </div>
49
+ <div class="ekit-admin-video-tutorial-item">
50
+ <a href="#" data-video_id="LfFN08Y9VQE">
51
+ <div class="tutorial-thumb">
52
+ <img src="<?php echo self::get_url() . 'assets/images/featured-request-thumb.png'; ?>" alt="<?php esc_attr_e( 'Totorial Thumb', 'elementskit-lite' ); ?>">
53
+ </div>
54
+ <h2><?php esc_html_e( 'Mega Menu Builder', 'elementskit-lite' ); ?></h2>
55
+ </a>
56
+ </div>
57
+ </div>
58
+ <div class="ekti-admin-video-tutorial-popup">
59
+ <div class="ekti-admin-video-tutorial-popup-content">
60
+ <div class="ekti-admin-video-tutorial-iframe"></div>
61
+ <div class="ekti-admin-video-tutorial-close"><i class="fa fa-times"></i></div>
62
+ </div>
63
+ </div>
64
 
65
+
66
+ <div class="ekit-admin-right-content--button attr-text-center">
67
+ <a target="_blank" href="https://www.youtube.com/watch?v=ps7knxZpDFI&list=PL3t2OjZ6gY8MVnyA4OLB6qXb77-roJOuY" class="attr-btn attr-btn-primary ekit-admin-right-content--link"><i class="fa fa-check-circle"></i><?php esc_html_e( 'watch more videos', 'elementskit-lite' ); ?></a>
68
+ </div>
69
  </div>
70
 
71
  <!-- FAQ -->
72
  <div class="ekit-admin-section ekit-admin-faq-section" style="display: none">
73
+ <div class="ekit-admin-right-content attr-text-center">
74
+ <div class="ekit-admin-right-content--heading">
75
+ <h2><?php esc_html_e( 'General Knowledge Base', 'elementskit-lite' ); ?></h2>
76
+ <span class="ekit-admin-right-content--heading__sub-title"><?php esc_html_e( 'FAQ', 'elementskit-lite' ); ?></span>
77
+ </div>
78
+ <p><?php esc_html_e( 'Get started by spending some time with the documentation to get familiar with ElementsKit Lite.', 'elementskit-lite' ); ?></p>
79
+ </div>
80
 
81
+ <div class="ekit-admin-accordion">
82
+ <div class="ekit-admin-single-accordion">
83
+ <h2 class="ekit-admin-single-accordion--heading"><?php esc_html_e( '1. How to create a shop page in ElementsKit Lite?', 'elementskit-lite' ); ?></h2>
84
+ <div class="ekit-admin-single-accordion--body">
85
+ <div class="ekit-admin-single-accordion--body__content">
86
+ <p><?php esc_html_e( 'You will get 20+ complete homepages and total 450+ blocks in our layout library and we’re continuously updating the numbers there.', 'elementskit-lite' ); ?></p>
87
+ </div>
88
+ </div>
89
+ </div>
90
+ <div class="ekit-admin-single-accordion">
91
+ <h2 class="ekit-admin-single-accordion--heading"><?php esc_html_e( '2. How to translate theme with WPML?', 'elementskit-lite' ); ?></h2>
92
+ <div class="ekit-admin-single-accordion--body">
93
+ <div class="ekit-admin-single-accordion--body__content">
94
+ <p><?php esc_html_e( 'You will get 20+ complete homepages and total 450+ blocks in our layout library and we’re continuously updating the numbers there.', 'elementskit-lite' ); ?></p>
95
+ </div>
96
+ </div>
97
+ </div>
98
+ <div class="ekit-admin-single-accordion">
99
+ <h2 class="ekit-admin-single-accordion--heading"><?php esc_html_e( '3. How to add custom css in specific section shortcode?', 'elementskit-lite' ); ?></h2>
100
+ <div class="ekit-admin-single-accordion--body">
101
+ <div class="ekit-admin-single-accordion--body__content">
102
+ <p><?php esc_html_e( 'You will get 20+ complete homepages and total 450+ blocks in our layout library and we’re continuously updating the numbers there.', 'elementskit-lite' ); ?></p>
103
+ </div>
104
+ </div>
105
+ </div>
106
+ </div>
107
 
108
+
109
+ <div class="ekit-admin-right-content--button attr-text-center">
110
+ <a target="_blank" href="https://www.youtube.com/channel/UCpsjAqTeTqwFTMV580D3YvQ" class="attr-btn attr-btn-primary ekit-admin-right-content--link"><i class="fa fa-question-circle"></i><?php esc_html_e( 'View all faq’s', 'elementskit-lite' ); ?></a>
111
+ </div>
112
  </div>
113
 
114
  <!-- Support -->
115
  <div class="ekit-admin-section ekit-admin-dual-layout ekit-admin-support-section">
116
  <div class="ekit-admin-right-content">
117
+ <div class="ekit-admin-right-content--heading">
118
+ <h2><?php esc_html_e( 'Top-notch Friendly Support', 'elementskit-lite' ); ?></h2>
119
+ <span class="ekit-admin-right-content--heading__sub-title"><?php esc_html_e( 'Support', 'elementskit-lite' ); ?></span>
120
+ </div>
121
+ <p><?php esc_html_e( 'Get started by spending some time with the documentation to get familiar with ElementsKit Lite. Build awesome websites for you or your clients with ease.', 'elementskit-lite' ); ?></p>
122
+ <div class="ekit-admin-right-content--button">
123
+ <a target="_blank" href="https://wpmet.com/support-ticket-form/" class="attr-btn attr-btn-primary ekit-admin-right-content--link"><i class="fa fa-question-circle"></i><?php esc_html_e( 'Join support forum', 'elementskit-lite' ); ?></a>
124
+ </div>
125
+ </div>
126
+
127
+ <div class="ekit-admin-left-thumb">
128
+ <img src="<?php echo self::get_url() . 'assets/images/suport-thumb.png'; ?>" alt="<?php esc_attr_e( 'Documentation Thumb', 'elementskit-lite' ); ?>">
129
+ </div>
130
+
131
  </div>
132
 
133
  <!-- Feature a Request -->
134
  <div class="ekit-admin-section ekit-admin-dual-layout ekit-admin-feature-request-section ekit-admin-except-title">
135
+ <div class="ekit-admin-left-thumb">
136
+ <img src="<?php echo self::get_url() . 'assets/images/featured-request-thumb.png'; ?>" alt="<?php esc_attr_e( 'Feature a Request Thumb', 'elementskit-lite' ); ?>">
137
+ </div>
138
+ <div class="ekit-admin-right-content">
139
 
140
+ <p><?php esc_html_e( 'Maybe we’re missing something you can’t live without.', 'elementskit-lite' ); ?></p>
141
+ <div class="ekit-admin-right-content--button">
142
+ <a target="_blank" href="https://wpmet.com/plugin/elementskit/roadmaps/#ideas" class="attr-btn attr-btn-primary ekit-admin-right-content--link"><i class="fa fa-check-circle"></i><?php esc_html_e( 'Feature a request', 'elementskit-lite' ); ?></a>
143
+ </div>
144
+ </div>
145
  </div>
146
 
147
  <!-- Rate Now -->
148
  <div class="ekit-admin-section ekit-admin-dual-layout ekit-admin-rate-now-section ekit-admin-except-title">
149
+
150
+ <div class="ekit-admin-right-content">
151
 
152
+ <p><span><?php esc_html_e( 'Satisfied?', 'elementskit-lite' ); ?></span><?php esc_html_e( 'Don’t forget to rate our item.', 'elementskit-lite' ); ?></p>
153
+ <div class="ekit-admin-right-content--button">
154
+ <a target="_blank" href="https://wordpress.org/support/plugin/elementskit-lite/reviews/?rate=5#new-post" class="attr-btn attr-btn-primary ekit-admin-right-content--link"><i class="fa fa-star"></i><?php esc_html_e( 'Rate it now', 'elementskit-lite' ); ?></a>
155
+ </div>
156
+ </div>
157
 
158
+ <div class="ekit-admin-left-thumb">
159
+ <img src="<?php echo self::get_url() . 'assets/images/rate-now-thumb.png'; ?>" alt="<?php esc_attr_e( 'Rate Now Thumb', 'elementskit-lite' ); ?>">
160
+ </div>
161
+ </div>
libs/framework/views/settings-sections/modules.php CHANGED
@@ -1,44 +1,51 @@
1
  <?php
2
- $modules_all = \ElementsKit_Lite\Config\Module_List::instance()->get_list('optional');
3
- $modules_active = \ElementsKit_Lite\Config\Module_List::instance()->get_list('active');
4
  ?>
5
  <pre>
6
- <?php $x = \ElementsKit_Lite\Libs\Framework\Attr::instance()->utils->get_option('module_list', []);
7
- // print_r($modules_active) ;?>
 
 
8
  </pre>
9
  <!-- this blank input is for empty form submission -->
10
  <input checked="checked" type="checkbox" value="_null" style="display:none" name="module_list[]" >
11
 
12
  <div class="ekit-admin-fields-container">
13
- <span class="ekit-admin-fields-container-description"><?php esc_html_e('You can disable the modules you are not using on your site. That will disable all associated assets of those modules to improve your site loading speed.', 'elementskit-lite'); ?></span>
14
 
15
- <div class="ekit-admin-fields-container-fieldset">
16
- <div class="attr-hidden" id="elementskit-template-admin-menu">
17
- <li><a href="edit.php?post_type=elementskit_template"><?php esc_html_e('Header Footer', 'elementskit-lite'); ?></a></li>
18
- </div>
19
- <div class="attr-hidden" id="elementskit-template-widget-menu">
20
- <li><a href="edit.php?post_type=elementskit_widget"><?php esc_html_e('Widget Builder', 'elementskit-lite'); ?></a></li>
21
- </div>
22
- <div class="attr-row">
23
- <?php foreach($modules_all as $module => $module_config):
24
- if( !isset($module_config['package']) ) $module_config['package'] = ''; // for avoiding error when add module from theme
25
- ?>
26
- <div class="attr-col-md-6 attr-col-lg-4" <?php echo ($module_config['package'] != 'pro-disabled' ? '' : 'data-attr-toggle="modal" data-target="#elementskit_go_pro_modal"'); ?>>
27
- <?php
28
- $this->utils->input([
29
- 'type' => 'switch',
30
- 'name' => 'module_list[]',
31
- 'value' => $module,
32
- 'class' => 'ekit-content-type-' . $module_config['package'],
33
- 'attr' => ($module_config['package'] != 'pro-disabled' ? [] : ['disabled' => 'disabled' ]),
34
- 'label' => $module_config['title'],
35
- 'options' => [
36
- 'checked' => (isset($modules_active[$module]) ? true : false),
37
- ]
38
- ]);
39
- ?>
40
- </div>
41
- <?php endforeach; ?>
42
- </div>
43
- </div>
44
- </div>
 
 
 
 
 
1
  <?php
2
+ $modules_all = \ElementsKit_Lite\Config\Module_List::instance()->get_list( 'optional' );
3
+ $modules_active = \ElementsKit_Lite\Config\Module_List::instance()->get_list( 'active' );
4
  ?>
5
  <pre>
6
+ <?php
7
+ $x = \ElementsKit_Lite\Libs\Framework\Attr::instance()->utils->get_option( 'module_list', array() );
8
+ // print_r($modules_active) ;
9
+ ?>
10
  </pre>
11
  <!-- this blank input is for empty form submission -->
12
  <input checked="checked" type="checkbox" value="_null" style="display:none" name="module_list[]" >
13
 
14
  <div class="ekit-admin-fields-container">
15
+ <span class="ekit-admin-fields-container-description"><?php esc_html_e( 'You can disable the modules you are not using on your site. That will disable all associated assets of those modules to improve your site loading speed.', 'elementskit-lite' ); ?></span>
16
 
17
+ <div class="ekit-admin-fields-container-fieldset">
18
+ <div class="attr-hidden" id="elementskit-template-admin-menu">
19
+ <li><a href="edit.php?post_type=elementskit_template"><?php esc_html_e( 'Header Footer', 'elementskit-lite' ); ?></a></li>
20
+ </div>
21
+ <div class="attr-hidden" id="elementskit-template-widget-menu">
22
+ <li><a href="edit.php?post_type=elementskit_widget"><?php esc_html_e( 'Widget Builder', 'elementskit-lite' ); ?></a></li>
23
+ </div>
24
+ <div class="attr-row">
25
+ <?php
26
+ foreach ( $modules_all as $module => $module_config ) :
27
+ if ( ! isset( $module_config['package'] ) ) {
28
+ $module_config['package'] = ''; // for avoiding error when add module from theme
29
+ }
30
+ ?>
31
+ <div class="attr-col-md-6 attr-col-lg-4" <?php echo ( $module_config['package'] != 'pro-disabled' ? '' : 'data-attr-toggle="modal" data-target="#elementskit_go_pro_modal"' ); ?>>
32
+ <?php
33
+ $this->utils->input(
34
+ array(
35
+ 'type' => 'switch',
36
+ 'name' => 'module_list[]',
37
+ 'value' => $module,
38
+ 'class' => 'ekit-content-type-' . $module_config['package'],
39
+ 'attr' => ( $module_config['package'] != 'pro-disabled' ? array() : array( 'disabled' => 'disabled' ) ),
40
+ 'label' => $module_config['title'],
41
+ 'options' => array(
42
+ 'checked' => ( isset( $modules_active[ $module ] ) ? true : false ),
43
+ ),
44
+ )
45
+ );
46
+ ?>
47
+ </div>
48
+ <?php endforeach; ?>
49
+ </div>
50
+ </div>
51
+ </div>
libs/framework/views/settings-sections/usersettings.php CHANGED
@@ -1,164 +1,169 @@
1
  <?php
2
 
3
- $user_data = $this->utils->get_option('user_data', []);
4
- $pro_active = (in_array('elementskit/elementskit.php', apply_filters('active_plugins', get_option('active_plugins'))));
5
 
6
  ?>
7
 
8
  <div class="ekit-admin-fields-container">
9
- <div class="ekit-admin-fields-container-fieldset-- xx">
10
- <div class="panel-group attr-accordion" id="accordion" role="tablist" aria-multiselectable="true">
11
- <!-------------------
12
- Mail Champ
13
- -------------------->
14
- <div class="attr-panel ekit_accordion_card">
15
- <div class="attr-panel-heading label-mail-chimp" role="tab" id="mail_chimp_data_headeing">
16
- <a class="attr-btn attr-collapsed" role="button" data-attr-toggle="collapse"
17
- data-parent="#accordion"
18
- href="#mail_chimp_data_control" aria-expanded="true"
19
- aria-controls="mail_chimp_data_control">
20
- <span><?php esc_html_e('MailChimp Data', 'elementskit-lite'); ?></span>
21
- </a>
22
- </div>
23
-
24
-
25
- <div id="mail_chimp_data_control" class="attr-panel-collapse attr-collapse attr-in" role="tabpanel"
26
- aria-labelledby="mail_chimp_data_headeing">
27
- <div class="attr-panel-body">
28
- <div class="ekit-admin-user-data-separator"></div>
29
  <?php
30
- $this->utils->input([
31
- 'type' => 'text',
32
- 'name' => 'user_data[mail_chimp][token]',
33
- 'label' => esc_html__('Token', 'elementskit-lite'),
34
- 'placeholder' => '24550c8cb06076751a80274a52878-us20',
35
- 'value' => (!isset($user_data['mail_chimp']['token'])) ? '' : ($user_data['mail_chimp']['token']),
36
- ]);
 
 
37
  ?>
38
 
39
- </div>
40
- </div>
41
 
42
 
43
- </div>
44
 
45
- <!-------------------
46
- Facebook Page Feed
47
- -------------------->
48
- <div class="attr-panel ekit_accordion_card">
49
- <div
50
- class="<?php echo $this->utils->is_widget_active_class('facebook-feed', $pro_active); ?>"
51
- data-attr-toggle="modal"
52
- data-target="#elementskit_go_pro_modal"
53
- role="tab" id="facebook_data_headeing">
54
 
55
 
56
- <a class="attr-btn" role="button" data-attr-toggle="collapse" data-parent="#accordion"
57
 
58
- href="#fbp_feed_control_data"
59
- aria-expanded="false" aria-controls="fbp_feed_control_data">
60
- <span><?php esc_html_e('Facebook Page Feed', 'elementskit-lite'); ?></span>
61
- </a>
62
- </div>
63
 
64
 
65
- <div id="fbp_feed_control_data" class="attr-panel-collapse attr-collapse" role="tabpanel"
66
- aria-labelledby="facebook_data_headeing">
67
- <div class="attr-panel-body">
68
- <div class="ekit-admin-user-data-separator"></div>
69
 
70
  <?php
71
- $this->utils->input([
72
- 'type' => 'text',
73
- 'name' => 'user_data[fb_feed][page_id]',
74
- 'label' => esc_html__('Facebook Page ID', 'elementskit-lite'),
75
- 'placeholder' => __('Facebook app id', 'elementskit-lite'),
76
- 'value' => (!isset($user_data['fb_feed']['page_id'])) ? '' : ($user_data['fb_feed']['page_id']),
77
- ]);
 
 
78
  ?>
79
 
80
  <?php
81
 
82
- $val = empty($user_data['fb_feed']['pg_token']) ? '' : $user_data['fb_feed']['pg_token'];
83
 
84
  $this->utils->input(
85
- [
86
  'type' => 'text',
87
  'name' => 'user_data[fb_feed][pg_token]',
88
- 'label' => esc_html__('Page Access Token', 'elementskit-lite'),
89
  'placeholder' => 'S8LGISx9wBAOx5oUnxpOceDbyD01DYNNUwoz8jTHpm2ZB9RmK6jKwm',
90
- 'value' => (!isset($user_data['fb_feed']['pg_token'])) ? '' : ($user_data['fb_feed']['pg_token']),
91
- ]
92
  );
93
 
94
- $dbg = '&app=105697909488869&sec=f64837dd6a129c23ab47bdfdc61cfe19'; //ElementsKit Plugin Review
95
- $dbg = '&app=2577123062406162&sec=a4656a1cae5e33ff0c18ee38efaa47ac'; //ElementsKit Plugin page feed
96
- $scopes = '&scope=pages_show_list,pages_read_engagement,pages_manage_engagement,pages_read_user_content'; ?>
 
97
 
98
- <div class="ekit-admin-accordion-btn-group">
99
- <?php if(did_action('elementskit/loaded')): ?>
100
- <a class="ekit-admin-access-token cache_clean_social_provider ekit-admin-accordion-btn"
101
- data-provider="fb_page_feed" data-url_part="fb-feed">
102
- <?php echo esc_html__('Clear Cache', 'elementskit-lite') ?>
103
- </a>
104
  <?php endif; ?>
105
 
106
- <a class="ekit-admin-access-token ekit-admin-accordion-btn"
107
- href="https://token.wpmet.com/social_token.php?provider=facebook&_for=page<?php echo $dbg; ?><?php echo $scopes; ?>"
108
- target="_blank"> <?php echo esc_html__('Get access token', 'elementskit-lite') ?>
109
- </a>
110
- </div>
111
- </div>
112
- </div>
113
-
114
- </div>
115
-
116
- <!-------------------
117
- Facebook page review
118
- -------------------->
119
-
120
- <div class="attr-panel ekit_accordion_card">
121
- <div
122
- class="<?php echo $this->utils->is_widget_active_class('facebook-review', $pro_active); ?>"
123
- data-attr-toggle="modal"
124
- data-target="#elementskit_go_pro_modal"
125
- role="tab" id="facebook_data_headeing">
126
-
127
- <a class="attr-btn" role="button" data-attr-toggle="collapse" data-parent="#accordion"
128
- href="#fbp_review_control_data"
129
- aria-expanded="false" aria-controls="fbp_review_control_data">
130
- <span><?php esc_html_e('Facebook page review', 'elementskit-lite'); ?></span>
131
- </a>
132
-
133
- </div>
134
-
135
- <div id="fbp_review_control_data" class="attr-panel-collapse attr-collapse" role="tabpanel"
136
- aria-labelledby="facebook_data_headeing">
137
- <div class="attr-panel-body">
138
- <div class="ekit-admin-user-data-separator"></div>
139
  <?php
140
  $this->utils->input(
141
- [
142
  'type' => 'text',
143
  'name' => 'user_data[fbp_review][pg_id]',
144
- 'label' => esc_html__('Page ID', 'elementskit-lite'),
145
  'placeholder' => '109208590868891',
146
- 'value' => (!isset($user_data['fbp_review']['pg_id'])) ? '' : ($user_data['fbp_review']['pg_id']),
147
- ]
148
  );
149
 
150
 
151
- $val = (empty($user_data['fbp_review']['pg_token'])) ? '' : ($user_data['fbp_review']['pg_token']);
152
- $btn = (empty($user_data['fbp_review']['pg_token'])) ? __('Get access token', 'elementskit-lite') : __('Refresh access token', 'elementskit-lite'); // escaped at line: 186
153
 
154
  $this->utils->input(
155
- [
156
  'type' => 'text',
157
  'name' => 'user_data[fbp_review][pg_token]',
158
- 'label' => esc_html__('Page Token', 'elementskit-lite'),
159
  'placeholder' => 'S8LGISx9wBAOx5oUnxpOceDbyD01DYNNUwoz8jTHpm2ZB9RmK6jKwm',
160
  'value' => $val,
161
- ]
162
  );
163
 
164
  /**
@@ -172,436 +177,517 @@ $pro_active = (in_array('elementskit/elementskit.php', apply_filters('active_plu
172
  $dbg = '';
173
  ?>
174
 
175
- <div class="ekit-admin-accordion-btn-group">
176
- <?php if(did_action('elementskit/loaded')): ?>
177
- <a class="ekit-admin-access-token cache_clean_social_provider ekit-admin-accordion-btn"
178
- data-provider="fb_page_reviews" data-url_part="fb-pg-review">
179
- <?php echo esc_html__('Clear Cache', 'elementskit-lite') ?>
180
- </a>
181
  <?php endif; ?>
182
 
183
- <a class="ekit-admin-access-token ekit-admin-accordion-btn"
184
- href="https://token.wpmet.com/social_token.php?provider=facebook&_for=page<?php echo $dbg ?>"
185
- target="_blank">
186
- <?php echo esc_html($btn) ?>
187
- </a>
188
- </div>
189
- </div>
190
- </div>
191
-
192
- </div>
193
-
194
- <!-------------------
195
- yelp
196
- -------------------->
197
- <div class="attr-panel ekit_accordion_card">
198
- <div
199
- class="<?php echo $this->utils->is_widget_active_class('yelp', $pro_active); ?>"
200
- data-attr-toggle="modal"
201
- data-target="#elementskit_go_pro_modal"
202
- role="tab" id="yelp_data_headeing">
203
-
204
- <a class="attr-btn attr-collapsed" role="button" data-attr-toggle="collapse"
205
- data-parent="#accordion"
206
- href="#yelp_data_control" aria-expanded="false" aria-controls="yelp_data_control">
207
- <?php esc_html_e('Yelp Settings', 'elementskit-lite'); ?>
208
- </a>
209
- </div>
210
-
211
-
212
- <div id="yelp_data_control" class="attr-panel-collapse attr-collapse" role="tabpanel"
213
- aria-labelledby="yelp_data_headeing">
214
- <div class="attr-panel-body">
215
- <div class="ekit-admin-user-data-separator"></div>
216
 
217
  <?php
218
- $this->utils->input([
219
- 'type' => 'text',
220
- 'name' => 'user_data[yelp][page]',
221
- 'label' => esc_html__('Yelp Page', 'elementskit-lite'),
222
- 'placeholder' => 'awesome-cuisine-san-francisco',
223
- 'value' => (!isset($user_data['yelp']['page'])) ? '' : ($user_data['yelp']['page']),
224
- ]);
 
 
225
  ?>
226
- </div>
227
- </div>
228
-
229
- </div>
230
-
231
- <!-------------------
232
- facebook messenger
233
- -------------------->
234
- <div class="attr-panel ekit_accordion_card">
235
- <div
236
- data-attr-toggle="modal"
237
- data-target="#elementskit_go_pro_modal"
238
- class="<?php echo $this->utils->is_widget_active_class('facebook-messenger', $pro_active); ?>"
239
- role="tab" id="facebook_data_headeing">
240
- <a class="attr-btn" role="button" data-attr-toggle="collapse" data-parent="#accordion"
241
- href="#fbm_control_data"
242
- aria-expanded="false" aria-controls="fbm_control_data">
243
- <?php esc_html_e('Facebook Messenger', 'elementskit-lite'); ?>
244
- </a>
245
- </div>
246
-
247
- <div id="fbm_control_data" class="attr-panel-collapse attr-collapse" role="tabpanel"
248
- aria-labelledby="facebook_data_headeing">
249
- <div class="attr-panel-body">
250
- <div class="ekit-admin-user-data-separator"></div>
251
  <?php
252
- $this->utils->input([
253
- 'type' => 'text',
254
- 'name' => 'user_data[fbm_module][pg_id]',
255
- 'label' => esc_html__('Page ID', 'elementskit-lite'),
256
- 'placeholder' => '109208590868891',
257
- 'value' => (!isset($user_data['fbm_module']['pg_id'])) ? '' : ($user_data['fbm_module']['pg_id']),
258
- ]);
 
 
259
  ?>
260
 
261
  <?php
262
- $this->utils->input([
263
- 'type' => 'color',
264
- 'name' => 'user_data[fbm_module][txt_color]',
265
- 'label' => esc_html__('Color', 'elementskit-lite'),
266
- 'placeholder' => '#3b5998',
267
- 'value' => (!isset($user_data['fbm_module']['txt_color'])) ? '#3b5998' : ($user_data['fbm_module']['txt_color']),
268
- ]);
 
 
269
  ?>
270
 
271
  <?php
272
- $this->utils->input([
273
- 'type' => 'text',
274
- 'name' => 'user_data[fbm_module][l_in]',
275
- 'label' => esc_html__('Logged-in user greeting', 'elementskit-lite'),
276
- 'placeholder' => 'Hi! user',
277
- 'value' => (!isset($user_data['fbm_module']['l_in'])) ? 'Hi! user' : ($user_data['fbm_module']['l_in']),
278
- ]);
 
 
279
  ?>
280
 
281
  <?php
282
- $this->utils->input([
283
- 'type' => 'text',
284
- 'name' => 'user_data[fbm_module][l_out]',
285
- 'label' => esc_html__('Logged out user greeting', 'elementskit-lite'),
286
- 'placeholder' => 'Hi! guest',
287
- 'value' => (!isset($user_data['fbm_module']['l_out'])) ? 'Hi! guest' : ($user_data['fbm_module']['l_out']),
288
- ]);
 
 
289
  ?>
290
 
291
  <?php
292
- $this->utils->input([
293
- 'type' => 'switch',
294
- 'name' => 'user_data[fbm_module][is_open]',
295
- 'label' => esc_html__('Show Dialog Box', 'elementskit-lite'),
296
- 'value' => '1',
297
- 'options' => [
298
- 'checked' => (isset($user_data['fbm_module']['is_open']) ? true : false),
299
- ],
300
- ]);
 
 
301
  ?>
302
 
303
- <div>Please add below domain as white listed in page advance messaging option <a
304
- href="https://prnt.sc/u4zh96" target="_blank">how?</a></div>
305
- <div style="font-weight: bold;font-style: italic;color: blue;padding: 3px;"><?php echo site_url() ?></div>
306
- </div>
307
- </div>
308
-
309
- </div>
310
-
311
- <!-------------------
312
- dribble-feed
313
- -------------------->
314
-
315
- <div class="attr-panel ekit_accordion_card">
316
- <div
317
- class="<?php echo $this->utils->is_widget_active_class('dribble-feed', $pro_active); ?>"
318
- data-attr-toggle="modal"
319
- data-target="#elementskit_go_pro_modal"
320
- role="tab" id="dribble_data_headeing">
321
- <a class="attr-btn" role="button" data-attr-toggle="collapse" data-parent="#accordion"
322
- href="#dribble_control_data"
323
- aria-expanded="false" aria-controls="dribble_control_data">
324
- <?php esc_html_e('Dribbble User Data', 'elementskit-lite'); ?>
325
- </a>
326
- </div>
327
-
328
- <div id="dribble_control_data"
329
- class="attr-panel-collapse attr-collapse"
330
- role="tabpanel"
331
- aria-labelledby="dribble_data_headeing">
332
- <div class="attr-panel-body">
333
- <div class="ekit-admin-user-data-separator"></div>
334
  <?php
335
 
336
  $this->utils->input(
337
- [
338
  'type' => 'text',
339
  'disabled' => '',
340
  'name' => 'user_data[dribble][access_token]',
341
- 'label' => esc_html__('Access token', 'elementskit-lite'),
342
  'placeholder' => 'Get a token....',
343
- 'value' => (empty($user_data['dribble']['access_token'])) ? '' : ($user_data['dribble']['access_token']),
344
- ]
345
  );
346
 
347
  ?>
348
 
349
 
350
- <div class="ekit-admin-accordion-btn-group">
351
 
352
- <a href="https://token.wpmet.com/social_token.php?provider=dribbble"
353
- class="ekit-admin-access-token ekit-admin-accordion-btn" target="_blank">
354
- <?php echo esc_html__('Get access token', 'elementskit-lite'); ?>
355
- </a>
356
 
357
- <?php if(did_action('elementskit/loaded')): ?>
358
- <a class="ekit-admin-access-token cache_clean_social_provider ekit-admin-accordion-btn"
359
- data-provider="dribble_feed"
360
- data-url_part="dribble">
361
- <?php echo esc_html__('Clear Cache', 'elementskit-lite') ?>
362
- </a>
363
  <?php endif; ?>
364
 
365
- </div>
366
- </div>
367
- </div>
368
-
369
- </div>
370
-
371
- <!-------------------
372
- twitter feed
373
- -------------------->
374
- <div class="attr-panel ekit_accordion_card">
375
- <div
376
- class="<?php echo $this->utils->is_widget_active_class('twitter-feed', $pro_active); ?>"
377
- data-attr-toggle="modal"
378
- data-target="#elementskit_go_pro_modal"
379
- role="tab" id="twetter_data_headeing">
380
- <a class="attr-btn attr-collapsed" role="button" data-attr-toggle="collapse"
381
- data-parent="#accordion"
382
- href="#twitter_data_control" aria-expanded="false" aria-controls="twitter_data_control">
383
- <?php esc_html_e('Twitter User Data', 'elementskit-lite'); ?>
384
- </a>
385
- </div>
386
-
387
- <div id="twitter_data_control" class="attr-panel-collapse attr-collapse" role="tabpanel"
388
- aria-labelledby="twetter_data_headeing">
389
- <div class="attr-panel-body">
390
- <div class="ekit-admin-user-data-separator"></div>
391
  <?php
392
- $this->utils->input([
393
- 'type' => 'text',
394
- 'name' => 'user_data[twitter][name]',
395
- 'label' => esc_html__('Twitter Username', 'elementskit-lite'),
396
- 'placeholder' => 'gameofthrones',
397
- 'value' => (!isset($user_data['twitter']['name'])) ? '' : ($user_data['twitter']['name']),
 
398
 
399
- ]);
 
400
  ?>
401
  <?php
402
- $this->utils->input([
403
- 'type' => 'text',
404
- 'name' => 'user_data[twitter][access_token]',
405
- 'label' => esc_html__('Access Token', 'elementskit-lite'),
406
- 'placeholder' => '97174059-g10REWwVvI0Mk02DhoXbqpEhh4zQg6SBIP2k8',
407
- // 'info' => esc_html__('Yuour', 'elementsKit-lite')
408
- 'value' => (!isset($user_data['twitter']['access_token'])) ? '' : ($user_data['twitter']['access_token']),
409
- ]);
 
 
410
  ?>
411
 
412
- <div class="ekit-admin-accordion-btn-group">
413
- <a class="ekit-admin-access-token ekit-admin-accordion-btn"
414
- href="https://token.wpmet.com/index.php?provider=twitter" target="_blank">
415
- <?php echo esc_html__('Get Access Token', 'elementskit-lite'); ?>
416
- </a>
417
- </div>
418
- </div>
419
- </div>
420
-
421
- </div>
422
-
423
- <!-------------------
424
- instagram-feed
425
- -------------------->
426
- <div class="attr-panel ekit_accordion_card">
427
- <div
428
- class="<?php echo $this->utils->is_widget_active_class('instagram-feed', $pro_active); ?>"
429
- data-attr-toggle="modal"
430
- data-target="#elementskit_go_pro_modal"
431
- role="tab" id="instagram_data_headeing">
432
- <a class="attr-btn attr-collapsed" role="button" data-attr-toggle="collapse"
433
- data-parent="#accordion"
434
- href="#instagram_data_control" aria-expanded="false" aria-controls="instagram_data_control">
435
- <?php esc_html_e('Instragram User Data', 'elementskit-lite'); ?>
436
- </a>
437
- </div>
438
-
439
- <div id="instagram_data_control" class="attr-panel-collapse attr-collapse" role="tabpanel"
440
- aria-labelledby="instagram_data_headeing">
441
- <div class="attr-panel-body">
442
- <div class="ekit-admin-user-data-separator"></div>
443
 
444
  <?php
445
 
446
- $user_id = (!isset($user_data['instragram']['user_id'])) ? '' : ($user_data['instragram']['user_id']);
447
- $insta_token = (!isset($user_data['instragram']['token'])) ? '' : ($user_data['instragram']['token']);
448
- $insta_time = (!isset($user_data['instragram']['token_expire'])) ? '' : intval($user_data['instragram']['token_expire']);
449
- $insta_gen = (!isset($user_data['instragram']['token_generated'])) ? '' :
450
- date('Y-m-d', strtotime($user_data['instragram']['token_generated']));
451
 
452
  $this->utils->input(
453
- [
454
  'type' => 'text',
455
  'name' => 'user_data[instragram][user_id]',
456
- 'label' => esc_html__('User ID', 'elementskit-lite'),
457
  'placeholder' => '',
458
  'value' => $user_id,
459
- ]
460
  );
461
 
462
  $this->utils->input(
463
- [
464
  'type' => 'text',
465
  'name' => 'user_data[instragram][token]',
466
- 'label' => esc_html__('Access Token', 'elementskit-lite'),
467
  'placeholder' => '',
468
  'value' => $insta_token,
469
- ]
470
  );
471
 
472
  $this->utils->input(
473
- [
474
  'type' => 'text',
475
  'name' => 'user_data[instragram][token_expire]',
476
- 'label' => esc_html__('Token expires time', 'elementskit-lite'),
477
  'placeholder' => 'This is needed for automatically refreshing the token...',
478
  'value' => $insta_time,
479
- ]
480
  );
481
 
482
  $this->utils->input(
483
- [
484
  'type' => 'date',
485
  'name' => 'user_data[instragram][token_generated]',
486
- 'label' => esc_html__('Token generation date', 'elementskit-lite'),
487
  'placeholder' => 'This is needed for automatically refreshing the token...',
488
  'value' => $insta_gen,
489
- 'info' => esc_html__('This is need to calculate the remaining time for token', 'elementskit-lite'),
490
- ]
491
  );
492
 
493
 
494
  ?>
495
 
496
 
497
- <div class="ekit-admin-accordion-btn-group">
498
- <?php if(did_action('elementskit/loaded')): ?>
499
- <a class="ekit-admin-access-token cache_clean_social_provider ekit-admin-accordion-btn"
500
- data-provider="instagram_feed" data-url_part="instagram-feed">
501
- <?php echo esc_html__('Clear Cache', 'elementskit-lite') ?>
502
- </a>
503
  <?php endif; ?>
504
 
505
- <a href="https://token.wpmet.com/social_token.php?provider=instagram"
506
- class="ekit-admin-access-token ekit-admin-accordion-btn" target="_blank">
507
- <?php echo esc_html__('Get access token', 'elementskit-lite'); ?>
508
- </a>
509
- </div>
510
- </div>
511
- </div>
512
-
513
- </div>
514
-
515
- <!-------------------
516
- zoom
517
- -------------------->
518
-
519
- <div class="attr-panel ekit_accordion_card">
520
- <div
521
- class="<?php echo $this->utils->is_widget_active_class('zoom', $pro_active); ?>"
522
- data-attr-toggle="modal"
523
- data-target="#elementskit_go_pro_modal"
524
- role="tab" id="zoom_data_headeing">
525
- <a class="attr-btn attr-collapsed" role="button" data-attr-toggle="collapse"
526
- data-parent="#accordion"
527
- href="#zoom_data_control" aria-expanded="false" aria-controls="zoom_data_control">
528
- <?php esc_html_e('Zoom Data', 'elementskit-lite'); ?>
529
- </a>
530
- </div>
531
-
532
- <div id="zoom_data_control" class="attr-panel-collapse attr-collapse" role="tabpanel"
533
- aria-labelledby="zoom_data_headeing">
534
- <div class="attr-panel-body">
535
- <div class="ekit-admin-user-data-separator"></div>
536
  <?php
537
- $this->utils->input([
538
- 'type' => 'text',
539
- 'name' => 'user_data[zoom][api_key]',
540
- 'label' => esc_html__('Api key', 'elementskit-lite'),
541
- 'placeholder' => 'FmOUK_vdR-eepOExMhN7Kg',
542
- 'value' => (!isset($user_data['zoom']['api_key'])) ? '' : ($user_data['zoom']['api_key']),
543
- ]);
 
 
544
  ?>
545
  <?php
546
- $this->utils->input([
547
- 'type' => 'text',
548
- 'name' => 'user_data[zoom][secret_key]',
549
- 'label' => esc_html__('Secret Key', 'elementskit-lite'),
550
- 'placeholder' => 'OhDwAoNflUK6XkFB8ShCY5R7I8HxyWLMXR2SHK',
551
- 'value' => (!isset($user_data['zoom']['secret_key'])) ? '' : ($user_data['zoom']['secret_key']),
552
- ]);
 
 
553
  ?>
554
- <div class="ekit-admin-accordion-btn-group">
555
- <a href="https://token.wpmet.com/index.php?provider=zoom"
556
- class="ekit-admin-access-token ekit-zoom-connection ekit-admin-accordion-btn"
557
- target="_blank">
558
- <?php echo esc_html__('Check connection', 'elementskit-lite'); ?>
559
- </a>
560
- </div>
561
- </div>
562
- </div>
563
-
564
- </div>
565
-
566
- <!-------------------
567
  google-map
568
  -------------------->
569
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
570
  <div class="attr-panel ekit_accordion_card">
571
- <div
572
- class="<?php echo $this->utils->is_widget_active_class('google-map', $pro_active); ?>"
573
- data-attr-toggle="modal"
574
- data-target="#elementskit_go_pro_modal"
575
- role="tab" id="google_map_data_heading">
576
  <a class="attr-btn attr-collapsed" role="button" data-attr-toggle="collapse"
577
  data-parent="#accordion"
578
- href="#google_map_data_control" aria-expanded="false"
579
- aria-controls="google_map_data_control">
580
- <?php esc_html_e('Google Map', 'elementskit-lite'); ?>
581
  </a>
582
  </div>
583
 
584
- <div id="google_map_data_control" class="attr-panel-collapse attr-collapse" role="tabpanel"
585
- aria-labelledby="google_map_data_heading" aria-expanded='false'>
 
 
586
  <div class="attr-panel-body">
587
  <div class="ekit-admin-user-data-separator"></div>
588
  <?php
589
  $this->utils->input([
590
- 'type' => 'text',
591
- 'name' => 'user_data[google_map][api_key]',
592
- 'label' => esc_html__('Api Key', 'elementskit-lite'),
593
- 'placeholder' => 'AIzaSyA-10-OHpfss9XvUDWILmos62MnG_L4MYw',
594
- 'value' => (!isset($user_data['google_map']['api_key'])) ? '' : ($user_data['google_map']['api_key']),
595
- ]);
 
 
 
 
 
 
 
596
  ?>
597
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
598
  </div>
599
  </div>
600
-
601
  </div>
602
 
603
  <?php do_action('elementskit/admin/sections/userdata'); ?>
604
 
605
- </div>
606
- </div>
607
  </div>
1
  <?php
2
 
3
+ $user_data = $this->utils->get_option( 'user_data', array() );
4
+ $pro_active = ( in_array( 'elementskit/elementskit.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) );
5
 
6
  ?>
7
 
8
  <div class="ekit-admin-fields-container">
9
+ <div class="ekit-admin-fields-container-fieldset-- xx">
10
+ <div class="panel-group attr-accordion" id="accordion" role="tablist" aria-multiselectable="true">
11
+ <!-------------------
12
+ Mail Champ
13
+ -------------------->
14
+ <div class="attr-panel ekit_accordion_card">
15
+ <div class="attr-panel-heading label-mail-chimp" role="tab" id="mail_chimp_data_headeing">
16
+ <a class="attr-btn attr-collapsed" role="button" data-attr-toggle="collapse"
17
+ data-parent="#accordion"
18
+ href="#mail_chimp_data_control" aria-expanded="true"
19
+ aria-controls="mail_chimp_data_control">
20
+ <span><?php esc_html_e( 'MailChimp Data', 'elementskit-lite' ); ?></span>
21
+ </a>
22
+ </div>
23
+
24
+
25
+ <div id="mail_chimp_data_control" class="attr-panel-collapse attr-collapse attr-in" role="tabpanel"
26
+ aria-labelledby="mail_chimp_data_headeing">
27
+ <div class="attr-panel-body">
28
+ <div class="ekit-admin-user-data-separator"></div>
29
  <?php
30
+ $this->utils->input(
31
+ array(
32
+ 'type' => 'text',
33
+ 'name' => 'user_data[mail_chimp][token]',
34
+ 'label' => esc_html__( 'Token', 'elementskit-lite' ),
35
+ 'placeholder' => '24550c8cb06076751a80274a52878-us20',
36
+ 'value' => ( ! isset( $user_data['mail_chimp']['token'] ) ) ? '' : ( $user_data['mail_chimp']['token'] ),
37
+ )
38
+ );
39
  ?>
40
 
41
+ </div>
42
+ </div>
43
 
44
 
45
+ </div>
46
 
47
+ <!-------------------
48
+ Facebook Page Feed
49
+ -------------------->
50
+ <div class="attr-panel ekit_accordion_card">
51
+ <div
52
+ class="<?php echo $this->utils->is_widget_active_class( 'facebook-feed', $pro_active ); ?>"
53
+ data-attr-toggle="modal"
54
+ data-target="#elementskit_go_pro_modal"
55
+ role="tab" id="facebook_data_headeing">
56
 
57
 
58
+ <a class="attr-btn" role="button" data-attr-toggle="collapse" data-parent="#accordion"
59
 
60
+ href="#fbp_feed_control_data"
61
+ aria-expanded="false" aria-controls="fbp_feed_control_data">
62
+ <span><?php esc_html_e( 'Facebook Page Feed', 'elementskit-lite' ); ?></span>
63
+ </a>
64
+ </div>
65
 
66
 
67
+ <div id="fbp_feed_control_data" class="attr-panel-collapse attr-collapse" role="tabpanel"
68
+ aria-labelledby="facebook_data_headeing">
69
+ <div class="attr-panel-body">
70
+ <div class="ekit-admin-user-data-separator"></div>
71
 
72
  <?php
73
+ $this->utils->input(
74
+ array(
75
+ 'type' => 'text',
76
+ 'name' => 'user_data[fb_feed][page_id]',
77
+ 'label' => esc_html__( 'Facebook Page ID', 'elementskit-lite' ),
78
+ 'placeholder' => __( 'Facebook app id', 'elementskit-lite' ),
79
+ 'value' => ( ! isset( $user_data['fb_feed']['page_id'] ) ) ? '' : ( $user_data['fb_feed']['page_id'] ),
80
+ )
81
+ );
82
  ?>
83
 
84
  <?php
85
 
86
+ $val = empty( $user_data['fb_feed']['pg_token'] ) ? '' : $user_data['fb_feed']['pg_token'];
87
 
88
  $this->utils->input(
89
+ array(
90
  'type' => 'text',
91
  'name' => 'user_data[fb_feed][pg_token]',
92
+ 'label' => esc_html__( 'Page Access Token', 'elementskit-lite' ),
93
  'placeholder' => 'S8LGISx9wBAOx5oUnxpOceDbyD01DYNNUwoz8jTHpm2ZB9RmK6jKwm',
94
+ 'value' => ( ! isset( $user_data['fb_feed']['pg_token'] ) ) ? '' : ( $user_data['fb_feed']['pg_token'] ),
95
+ )
96
  );
97
 
98
+ $dbg = '&app=105697909488869&sec=f64837dd6a129c23ab47bdfdc61cfe19'; //ElementsKit Plugin Review
99
+ $dbg = '&app=2577123062406162&sec=a4656a1cae5e33ff0c18ee38efaa47ac'; //ElementsKit Plugin page feed
100
+ $scopes = '&scope=pages_show_list,pages_read_engagement,pages_manage_engagement,pages_read_user_content';
101
+ ?>
102
 
103
+ <div class="ekit-admin-accordion-btn-group">
104
+ <?php if ( did_action( 'elementskit/loaded' ) ) : ?>
105
+ <a class="ekit-admin-access-token cache_clean_social_provider ekit-admin-accordion-btn"
106
+ data-provider="fb_page_feed" data-url_part="fb-feed">
107
+ <?php echo esc_html__( 'Clear Cache', 'elementskit-lite' ); ?>
108
+ </a>
109
  <?php endif; ?>
110
 
111
+ <a class="ekit-admin-access-token ekit-admin-accordion-btn"
112
+ href="https://token.wpmet.com/social_token.php?provider=facebook&_for=page<?php echo $dbg; ?><?php echo $scopes; ?>"
113
+ target="_blank"> <?php echo esc_html__( 'Get access token', 'elementskit-lite' ); ?>
114
+ </a>
115
+ </div>
116
+ </div>
117
+ </div>
118
+
119
+ </div>
120
+
121
+ <!-------------------
122
+ Facebook page review
123
+ -------------------->
124
+
125
+ <div class="attr-panel ekit_accordion_card">
126
+ <div
127
+ class="<?php echo $this->utils->is_widget_active_class( 'facebook-review', $pro_active ); ?>"
128
+ data-attr-toggle="modal"
129
+ data-target="#elementskit_go_pro_modal"
130
+ role="tab" id="facebook_data_headeing">
131
+
132
+ <a class="attr-btn" role="button" data-attr-toggle="collapse" data-parent="#accordion"
133
+ href="#fbp_review_control_data"
134
+ aria-expanded="false" aria-controls="fbp_review_control_data">
135
+ <span><?php esc_html_e( 'Facebook page review', 'elementskit-lite' ); ?></span>
136
+ </a>
137
+
138
+ </div>
139
+
140
+ <div id="fbp_review_control_data" class="attr-panel-collapse attr-collapse" role="tabpanel"
141
+ aria-labelledby="facebook_data_headeing">
142
+ <div class="attr-panel-body">
143
+ <div class="ekit-admin-user-data-separator"></div>
144
  <?php
145
  $this->utils->input(
146
+ array(
147
  'type' => 'text',
148
  'name' => 'user_data[fbp_review][pg_id]',
149
+ 'label' => esc_html__( 'Page ID', 'elementskit-lite' ),
150
  'placeholder' => '109208590868891',
151
+ 'value' => ( ! isset( $user_data['fbp_review']['pg_id'] ) ) ? '' : ( $user_data['fbp_review']['pg_id'] ),
152
+ )
153
  );
154
 
155
 
156
+ $val = ( empty( $user_data['fbp_review']['pg_token'] ) ) ? '' : ( $user_data['fbp_review']['pg_token'] );
157
+ $btn = ( empty( $user_data['fbp_review']['pg_token'] ) ) ? __( 'Get access token', 'elementskit-lite' ) : __( 'Refresh access token', 'elementskit-lite' ); // escaped at line: 186
158
 
159
  $this->utils->input(
160
+ array(
161
  'type' => 'text',
162
  'name' => 'user_data[fbp_review][pg_token]',
163
+ 'label' => esc_html__( 'Page Token', 'elementskit-lite' ),
164
  'placeholder' => 'S8LGISx9wBAOx5oUnxpOceDbyD01DYNNUwoz8jTHpm2ZB9RmK6jKwm',
165
  'value' => $val,
166
+ )
167
  );
168
 
169
  /**
177
  $dbg = '';
178
  ?>
179
 
180
+ <div class="ekit-admin-accordion-btn-group">
181
+ <?php if ( did_action( 'elementskit/loaded' ) ) : ?>
182
+ <a class="ekit-admin-access-token cache_clean_social_provider ekit-admin-accordion-btn"
183
+ data-provider="fb_page_reviews" data-url_part="fb-pg-review">
184
+ <?php echo esc_html__( 'Clear Cache', 'elementskit-lite' ); ?>
185
+ </a>
186
  <?php endif; ?>
187
 
188
+ <a class="ekit-admin-access-token ekit-admin-accordion-btn"
189
+ href="https://token.wpmet.com/social_token.php?provider=facebook&_for=page<?php echo $dbg; ?>"
190
+ target="_blank">
191
+ <?php echo esc_html( $btn ); ?>
192
+ </a>
193
+ </div>
194
+ </div>
195
+ </div>
196
+
197
+ </div>
198
+
199
+ <!-------------------
200
+ yelp
201
+ -------------------->
202
+ <div class="attr-panel ekit_accordion_card">
203
+ <div
204
+ class="<?php echo $this->utils->is_widget_active_class( 'yelp', $pro_active ); ?>"
205
+ data-attr-toggle="modal"
206
+ data-target="#elementskit_go_pro_modal"
207
+ role="tab" id="yelp_data_headeing">
208
+
209
+ <a class="attr-btn attr-collapsed" role="button" data-attr-toggle="collapse"
210
+ data-parent="#accordion"
211
+ href="#yelp_data_control" aria-expanded="false" aria-controls="yelp_data_control">
212
+ <?php esc_html_e( 'Yelp Settings', 'elementskit-lite' ); ?>
213
+ </a>
214
+ </div>
215
+
216
+
217
+ <div id="yelp_data_control" class="attr-panel-collapse attr-collapse" role="tabpanel"
218
+ aria-labelledby="yelp_data_headeing">
219
+ <div class="attr-panel-body">
220
+ <div class="ekit-admin-user-data-separator"></div>
221
 
222
  <?php
223
+ $this->utils->input(
224
+ array(
225
+ 'type' => 'text',
226
+ 'name' => 'user_data[yelp][page]',
227
+ 'label' => esc_html__( 'Yelp Page', 'elementskit-lite' ),
228
+ 'placeholder' => 'awesome-cuisine-san-francisco',
229
+ 'value' => ( ! isset( $user_data['yelp']['page'] ) ) ? '' : ( $user_data['yelp']['page'] ),
230
+ )
231
+ );
232
  ?>
233
+ </div>
234
+ </div>
235
+
236
+ </div>
237
+
238
+ <!-------------------
239
+ facebook messenger
240
+ -------------------->
241
+ <div class="attr-panel ekit_accordion_card">
242
+ <div
243
+ data-attr-toggle="modal"
244
+ data-target="#elementskit_go_pro_modal"
245
+ class="<?php echo $this->utils->is_widget_active_class( 'facebook-messenger', $pro_active ); ?>"
246
+ role="tab" id="facebook_data_headeing">
247
+ <a class="attr-btn" role="button" data-attr-toggle="collapse" data-parent="#accordion"
248
+ href="#fbm_control_data"
249
+ aria-expanded="false" aria-controls="fbm_control_data">
250
+ <?php esc_html_e( 'Facebook Messenger', 'elementskit-lite' ); ?>
251
+ </a>
252
+ </div>
253
+
254
+ <div id="fbm_control_data" class="attr-panel-collapse attr-collapse" role="tabpanel"
255
+ aria-labelledby="facebook_data_headeing">
256
+ <div class="attr-panel-body">
257
+ <div class="ekit-admin-user-data-separator"></div>
258
  <?php
259
+ $this->utils->input(
260
+ array(
261
+ 'type' => 'text',
262
+ 'name' => 'user_data[fbm_module][pg_id]',
263
+ 'label' => esc_html__( 'Page ID', 'elementskit-lite' ),
264
+ 'placeholder' => '109208590868891',
265
+ 'value' => ( ! isset( $user_data['fbm_module']['pg_id'] ) ) ? '' : ( $user_data['fbm_module']['pg_id'] ),
266
+ )
267
+ );
268
  ?>
269
 
270
  <?php
271
+ $this->utils->input(
272
+ array(
273
+ 'type' => 'color',
274
+ 'name' => 'user_data[fbm_module][txt_color]',
275
+ 'label' => esc_html__( 'Color', 'elementskit-lite' ),
276
+ 'placeholder' => '#3b5998',
277
+ 'value' => ( ! isset( $user_data['fbm_module']['txt_color'] ) ) ? '#3b5998' : ( $user_data['fbm_module']['txt_color'] ),
278
+ )
279
+ );
280
  ?>
281
 
282
  <?php
283
+ $this->utils->input(
284
+ array(
285
+ 'type' => 'text',
286
+ 'name' => 'user_data[fbm_module][l_in]',
287
+ 'label' => esc_html__( 'Logged-in user greeting', 'elementskit-lite' ),
288
+ 'placeholder' => 'Hi! user',
289
+ 'value' => ( ! isset( $user_data['fbm_module']['l_in'] ) ) ? 'Hi! user' : ( $user_data['fbm_module']['l_in'] ),
290
+ )
291
+ );
292
  ?>
293
 
294
  <?php
295
+ $this->utils->input(
296
+ array(
297
+ 'type' => 'text',
298
+ 'name' => 'user_data[fbm_module][l_out]',
299
+ 'label' => esc_html__( 'Logged out user greeting', 'elementskit-lite' ),
300
+ 'placeholder' => 'Hi! guest',
301
+ 'value' => ( ! isset( $user_data['fbm_module']['l_out'] ) ) ? 'Hi! guest' : ( $user_data['fbm_module']['l_out'] ),
302
+ )
303
+ );
304
  ?>
305
 
306
  <?php
307
+ $this->utils->input(
308
+ array(
309
+ 'type' => 'switch',
310
+ 'name' => 'user_data[fbm_module][is_open]',
311
+ 'label' => esc_html__( 'Show Dialog Box', 'elementskit-lite' ),
312
+ 'value' => '1',
313
+ 'options' => array(
314
+ 'checked' => ( isset( $user_data['fbm_module']['is_open'] ) ? true : false ),
315
+ ),
316
+ )
317
+ );
318
  ?>
319
 
320
+ <div>Please add below domain as white listed in page advance messaging option <a
321
+ href="https://prnt.sc/u4zh96" target="_blank">how?</a></div>
322
+ <div style="font-weight: bold;font-style: italic;color: blue;padding: 3px;"><?php echo site_url(); ?></div>
323
+ </div>
324
+ </div>
325
+
326
+ </div>
327
+
328
+ <!-------------------
329
+ dribble-feed
330
+ -------------------->
331
+
332
+ <div class="attr-panel ekit_accordion_card">
333
+ <div
334
+ class="<?php echo $this->utils->is_widget_active_class( 'dribble-feed', $pro_active ); ?>"
335
+ data-attr-toggle="modal"
336
+ data-target="#elementskit_go_pro_modal"
337
+ role="tab" id="dribble_data_headeing">
338
+ <a class="attr-btn" role="button" data-attr-toggle="collapse" data-parent="#accordion"
339
+ href="#dribble_control_data"
340
+ aria-expanded="false" aria-controls="dribble_control_data">
341
+ <?php esc_html_e( 'Dribbble User Data', 'elementskit-lite' ); ?>
342
+ </a>
343
+ </div>
344
+
345
+ <div id="dribble_control_data"
346
+ class="attr-panel-collapse attr-collapse"
347
+ role="tabpanel"
348
+ aria-labelledby="dribble_data_headeing">
349
+ <div class="attr-panel-body">
350
+ <div class="ekit-admin-user-data-separator"></div>
351
  <?php
352
 
353
  $this->utils->input(
354
+ array(
355
  'type' => 'text',
356
  'disabled' => '',
357
  'name' => 'user_data[dribble][access_token]',
358
+ 'label' => esc_html__( 'Access token', 'elementskit-lite' ),
359
  'placeholder' => 'Get a token....',
360
+ 'value' => ( empty( $user_data['dribble']['access_token'] ) ) ? '' : ( $user_data['dribble']['access_token'] ),
361
+ )
362
  );
363
 
364
  ?>
365
 
366
 
367
+ <div class="ekit-admin-accordion-btn-group">
368
 
369
+ <a href="https://token.wpmet.com/social_token.php?provider=dribbble"
370
+ class="ekit-admin-access-token ekit-admin-accordion-btn" target="_blank">
371
+ <?php echo esc_html__( 'Get access token', 'elementskit-lite' ); ?>
372
+ </a>
373
 
374
+ <?php if ( did_action( 'elementskit/loaded' ) ) : ?>
375
+ <a class="ekit-admin-access-token cache_clean_social_provider ekit-admin-accordion-btn"
376
+ data-provider="dribble_feed"
377
+ data-url_part="dribble">
378
+ <?php echo esc_html__( 'Clear Cache', 'elementskit-lite' ); ?>
379
+ </a>
380
  <?php endif; ?>
381
 
382
+ </div>
383
+ </div>
384
+ </div>
385
+
386
+ </div>
387
+
388
+ <!-------------------
389
+ twitter feed
390
+ -------------------->
391
+ <div class="attr-panel ekit_accordion_card">
392
+ <div
393
+ class="<?php echo $this->utils->is_widget_active_class( 'twitter-feed', $pro_active ); ?>"
394
+ data-attr-toggle="modal"
395
+ data-target="#elementskit_go_pro_modal"
396
+ role="tab" id="twetter_data_headeing">
397
+ <a class="attr-btn attr-collapsed" role="button" data-attr-toggle="collapse"
398
+ data-parent="#accordion"
399
+ href="#twitter_data_control" aria-expanded="false" aria-controls="twitter_data_control">
400
+ <?php esc_html_e( 'Twitter User Data', 'elementskit-lite' ); ?>
401
+ </a>
402
+ </div>
403
+
404
+ <div id="twitter_data_control" class="attr-panel-collapse attr-collapse" role="tabpanel"
405
+ aria-labelledby="twetter_data_headeing">
406
+ <div class="attr-panel-body">
407
+ <div class="ekit-admin-user-data-separator"></div>
408
  <?php
409
+ $this->utils->input(
410
+ array(
411
+ 'type' => 'text',
412
+ 'name' => 'user_data[twitter][name]',
413
+ 'label' => esc_html__( 'Twitter Username', 'elementskit-lite' ),
414
+ 'placeholder' => 'gameofthrones',
415
+ 'value' => ( ! isset( $user_data['twitter']['name'] ) ) ? '' : ( $user_data['twitter']['name'] ),
416
 
417
+ )
418
+ );
419
  ?>
420
  <?php
421
+ $this->utils->input(
422
+ array(
423
+ 'type' => 'text',
424
+ 'name' => 'user_data[twitter][access_token]',
425
+ 'label' => esc_html__( 'Access Token', 'elementskit-lite' ),
426
+ 'placeholder' => '97174059-g10REWwVvI0Mk02DhoXbqpEhh4zQg6SBIP2k8',
427
+ // 'info' => esc_html__('Yuour', 'elementsKit-lite')
428
+ 'value' => ( ! isset( $user_data['twitter']['access_token'] ) ) ? '' : ( $user_data['twitter']['access_token'] ),
429
+ )
430
+ );
431
  ?>
432
 
433
+ <div class="ekit-admin-accordion-btn-group">
434
+ <a class="ekit-admin-access-token ekit-admin-accordion-btn"
435
+ href="https://token.wpmet.com/index.php?provider=twitter" target="_blank">
436
+ <?php echo esc_html__( 'Get Access Token', 'elementskit-lite' ); ?>
437
+ </a>
438
+ </div>
439
+ </div>
440
+ </div>
441
+
442
+ </div>
443
+
444
+ <!-------------------
445
+ instagram-feed
446
+ -------------------->
447
+ <div class="attr-panel ekit_accordion_card">
448
+ <div
449
+ class="<?php echo $this->utils->is_widget_active_class( 'instagram-feed', $pro_active ); ?>"
450
+ data-attr-toggle="modal"
451
+ data-target="#elementskit_go_pro_modal"
452
+ role="tab" id="instagram_data_headeing">
453
+ <a class="attr-btn attr-collapsed" role="button" data-attr-toggle="collapse"
454
+ data-parent="#accordion"
455
+ href="#instagram_data_control" aria-expanded="false" aria-controls="instagram_data_control">
456
+ <?php esc_html_e( 'Instragram User Data', 'elementskit-lite' ); ?>
457
+ </a>
458
+ </div>
459
+
460
+ <div id="instagram_data_control" class="attr-panel-collapse attr-collapse" role="tabpanel"
461
+ aria-labelledby="instagram_data_headeing">
462
+ <div class="attr-panel-body">
463
+ <div class="ekit-admin-user-data-separator"></div>
464
 
465
  <?php
466
 
467
+ $user_id = ( ! isset( $user_data['instragram']['user_id'] ) ) ? '' : ( $user_data['instragram']['user_id'] );
468
+ $insta_token = ( ! isset( $user_data['instragram']['token'] ) ) ? '' : ( $user_data['instragram']['token'] );
469
+ $insta_time = ( ! isset( $user_data['instragram']['token_expire'] ) ) ? '' : intval( $user_data['instragram']['token_expire'] );
470
+ $insta_gen = ( ! isset( $user_data['instragram']['token_generated'] ) ) ? '' :
471
+ date( 'Y-m-d', strtotime( $user_data['instragram']['token_generated'] ) );
472
 
473
  $this->utils->input(
474
+ array(
475
  'type' => 'text',
476
  'name' => 'user_data[instragram][user_id]',
477
+ 'label' => esc_html__( 'User ID', 'elementskit-lite' ),
478
  'placeholder' => '',
479
  'value' => $user_id,
480
+ )
481
  );
482
 
483
  $this->utils->input(
484
+ array(
485
  'type' => 'text',
486
  'name' => 'user_data[instragram][token]',
487
+ 'label' => esc_html__( 'Access Token', 'elementskit-lite' ),
488
  'placeholder' => '',
489
  'value' => $insta_token,
490
+ )
491
  );
492
 
493
  $this->utils->input(
494
+ array(
495
  'type' => 'text',
496
  'name' => 'user_data[instragram][token_expire]',
497
+ 'label' => esc_html__( 'Token expires time', 'elementskit-lite' ),
498
  'placeholder' => 'This is needed for automatically refreshing the token...',
499
  'value' => $insta_time,
500
+ )
501
  );
502
 
503
  $this->utils->input(
504
+ array(
505
  'type' => 'date',
506
  'name' => 'user_data[instragram][token_generated]',
507
+ 'label' => esc_html__( 'Token generation date', 'elementskit-lite' ),
508
  'placeholder' => 'This is needed for automatically refreshing the token...',
509
  'value' => $insta_gen,
510
+ 'info' => esc_html__( 'This is need to calculate the remaining time for token', 'elementskit-lite' ),
511
+ )
512
  );
513
 
514
 
515
  ?>
516
 
517
 
518
+ <div class="ekit-admin-accordion-btn-group">
519
+ <?php if ( did_action( 'elementskit/loaded' ) ) : ?>
520
+ <a class="ekit-admin-access-token cache_clean_social_provider ekit-admin-accordion-btn"
521
+ data-provider="instagram_feed" data-url_part="instagram-feed">
522
+ <?php echo esc_html__( 'Clear Cache', 'elementskit-lite' ); ?>
523
+ </a>
524
  <?php endif; ?>
525
 
526
+ <a href="https://token.wpmet.com/social_token.php?provider=instagram"
527
+ class="ekit-admin-access-token ekit-admin-accordion-btn" target="_blank">
528
+ <?php echo esc_html__( 'Get access token', 'elementskit-lite' ); ?>
529
+ </a>
530
+ </div>
531
+ </div>
532
+ </div>
533
+
534
+ </div>
535
+
536
+ <!-------------------
537
+ zoom
538
+ -------------------->
539
+
540
+ <div class="attr-panel ekit_accordion_card">
541
+ <div
542
+ class="<?php echo $this->utils->is_widget_active_class( 'zoom', $pro_active ); ?>"
543
+ data-attr-toggle="modal"
544
+ data-target="#elementskit_go_pro_modal"
545
+ role="tab" id="zoom_data_headeing">
546
+ <a class="attr-btn attr-collapsed" role="button" data-attr-toggle="collapse"
547
+ data-parent="#accordion"
548
+ href="#zoom_data_control" aria-expanded="false" aria-controls="zoom_data_control">
549
+ <?php esc_html_e( 'Zoom Data', 'elementskit-lite' ); ?>
550
+ </a>
551
+ </div>
552
+
553
+ <div id="zoom_data_control" class="attr-panel-collapse attr-collapse" role="tabpanel"
554
+ aria-labelledby="zoom_data_headeing">
555
+ <div class="attr-panel-body">
556
+ <div class="ekit-admin-user-data-separator"></div>
557
  <?php
558
+ $this->utils->input(
559
+ array(
560
+ 'type' => 'text',
561
+ 'name' => 'user_data[zoom][api_key]',
562
+ 'label' => esc_html__( 'Api key', 'elementskit-lite' ),
563
+ 'placeholder' => 'FmOUK_vdR-eepOExMhN7Kg',
564
+ 'value' => ( ! isset( $user_data['zoom']['api_key'] ) ) ? '' : ( $user_data['zoom']['api_key'] ),
565
+ )
566
+ );
567
  ?>
568
  <?php
569
+ $this->utils->input(
570
+ array(
571
+ 'type' => 'text',
572
+ 'name' => 'user_data[zoom][secret_key]',
573
+ 'label' => esc_html__( 'Secret Key', 'elementskit-lite' ),
574
+ 'placeholder' => 'OhDwAoNflUK6XkFB8ShCY5R7I8HxyWLMXR2SHK',
575
+ 'value' => ( ! isset( $user_data['zoom']['secret_key'] ) ) ? '' : ( $user_data['zoom']['secret_key'] ),
576
+ )
577
+ );
578
  ?>
579
+ <div class="ekit-admin-accordion-btn-group">
580
+ <a href="https://token.wpmet.com/index.php?provider=zoom"
581
+ class="ekit-admin-access-token ekit-zoom-connection ekit-admin-accordion-btn"
582
+ target="_blank">
583
+ <?php echo esc_html__( 'Check connection', 'elementskit-lite' ); ?>
584
+ </a>
585
+ </div>
586
+ </div>
587
+ </div>
588
+
589
+ </div>
590
+
591
+ <!-------------------
592
  google-map
593
  -------------------->
594
 
595
+ <div class="attr-panel ekit_accordion_card">
596
+ <div
597
+ class="<?php echo $this->utils->is_widget_active_class( 'google-map', $pro_active ); ?>"
598
+ data-attr-toggle="modal"
599
+ data-target="#elementskit_go_pro_modal"
600
+ role="tab" id="google_map_data_heading">
601
+ <a class="attr-btn attr-collapsed" role="button" data-attr-toggle="collapse"
602
+ data-parent="#accordion"
603
+ href="#google_map_data_control" aria-expanded="false"
604
+ aria-controls="google_map_data_control">
605
+ <?php esc_html_e( 'Google Map', 'elementskit-lite' ); ?>
606
+ </a>
607
+ </div>
608
+
609
+ <div id="google_map_data_control" class="attr-panel-collapse attr-collapse" role="tabpanel"
610
+ aria-labelledby="google_map_data_heading" aria-expanded='false'>
611
+ <div class="attr-panel-body">
612
+ <div class="ekit-admin-user-data-separator"></div>
613
+ <?php
614
+ $this->utils->input(
615
+ array(
616
+ 'type' => 'text',
617
+ 'name' => 'user_data[google_map][api_key]',
618
+ 'label' => esc_html__( 'Api Key', 'elementskit-lite' ),
619
+ 'placeholder' => 'AIzaSyA-10-OHpfss9XvUDWILmos62MnG_L4MYw',
620
+ 'value' => ( ! isset( $user_data['google_map']['api_key'] ) ) ? '' : ( $user_data['google_map']['api_key'] ),
621
+ )
622
+ );
623
+ ?>
624
+
625
+ </div>
626
+ </div>
627
+
628
+ </div>
629
+
630
+ <!---------------------------------------
631
+ Google Sheet For Elementor Pro Form
632
+ ---------------------------------------->
633
  <div class="attr-panel ekit_accordion_card">
634
+ <div class="<?php echo $this->utils->is_widget_active_class('google_sheet_for_elementor_pro_form', $pro_active); ?>" data-attr-toggle="modal" data-target="#elementskit_go_pro_modal" role="tab" id="google_sheet_data_heading">
 
 
 
 
635
  <a class="attr-btn attr-collapsed" role="button" data-attr-toggle="collapse"
636
  data-parent="#accordion"
637
+ href="#google_sheet_data_control" aria-expanded="false"
638
+ aria-controls="google_sheet_data_control">
639
+ <?php esc_html_e('Google Sheet For Elementor Pro Form', 'elementskit-lite'); ?>
640
  </a>
641
  </div>
642
 
643
+ <?php if(class_exists('\ElementsKit\Modules\Google_Sheet_Elementor_Pro_Form\Init')): ?>
644
+
645
+ <div id="google_sheet_data_control" class="attr-panel-collapse attr-collapse" role="tabpanel"
646
+ aria-labelledby="google_sheet_data_heading" aria-expanded='false'>
647
  <div class="attr-panel-body">
648
  <div class="ekit-admin-user-data-separator"></div>
649
  <?php
650
  $this->utils->input([
651
+ 'type' => 'text',
652
+ 'name' => 'user_data[google][client_id]',
653
+ 'label' => esc_html__('Google Client Id', 'elementskit-lite'),
654
+ 'placeholder' => '',
655
+ 'value' => (!isset($user_data['google']['client_id'])) ? '' : ($user_data['google']['client_id'])
656
+ ]);
657
+ $this->utils->input([
658
+ 'type' => 'text',
659
+ 'name' => 'user_data[google][client_secret]',
660
+ 'label' => esc_html__('Google Client Secret', 'elementskit-lite'),
661
+ 'placeholder' => '',
662
+ 'value' => (!isset($user_data['google']['client_secret'])) ? '' : ($user_data['google']['client_secret']),
663
+ ]);
664
  ?>
665
+ <div>
666
+ <ol>
667
+ <li><?php echo sprintf(esc_html__('Click %s and create App/Project On Google developer account', 'elementskit-lite'), '<a href="https://console.cloud.google.com" target="_blank">https://console.cloud.google.com</a>')?></li>
668
+ <li><?php esc_html_e('Must add the following URL to the "Valid OAuth redirect URIs" field:', 'elementskit-lite')?> <strong style="font-weight:700;"><?php echo admin_url('admin.php?page=elementskit')?></strong></li>
669
+ <li><?php esc_html_e('After getting the App ID & App Secret, put those information', 'elementskit-lite')?></li>
670
+ <li><?php esc_html_e('Click on "Save Changes"', 'elementskit-lite')?></li>
671
+ <li><?php esc_html_e('Click on "Generate Access Token"', 'elementskit-lite')?></li>
672
+ </ol>
673
+ <?php
674
+ $access_token = get_option( \ElementsKit\Modules\Google_Sheet_Elementor_Pro_Form\Google_Sheet::ACCESS_TOKEN_KEY );
675
+ $get_code_api = \ElementsKit\Modules\Google_Sheet_Elementor_Pro_Form\Init::get_code_url();
676
+
677
+ if($access_token):
678
+ echo '<p>'.esc_html__('Note:- After 200 days your token will be expired, before the expiration of your token,', 'elementskit-lite').' <a href="'.$get_code_api.'">'. esc_html__('Generate a new access Token', 'elementskit-lite').'</a></p>';
679
+ else:
680
+ ?>
681
+ <a href="<?php echo $get_code_api ?>"><?php esc_html_e('Generate Access Token', 'elementskit-lite'); ?></a>
682
+ <?php endif ?>
683
+ </div>
684
  </div>
685
  </div>
686
+ <?php endif ?>
687
  </div>
688
 
689
  <?php do_action('elementskit/admin/sections/userdata'); ?>
690
 
691
+ </div>
692
+ </div>
693
  </div>
libs/framework/views/settings-sections/widgets.php CHANGED
@@ -1,41 +1,43 @@
1
  <?php
2
- $widgets_all = \ElementsKit_Lite\Config\Widget_List::instance()->get_list();
3
- $widgets_active = \ElementsKit_Lite\Config\Widget_List::instance()->get_list('active');
4
- $widgets_categorized = [];
5
- foreach ($widgets_all as $key => $row) {
6
- $widgets_categorized[($row['widget-category'] ?? 'general')][$key] = $row;
7
  }
8
 
9
  ?>
10
  <!-- this blank input is for empty form submission -->
11
  <input checked="checked" type="checkbox" value="_null" style="display:none" name="widget_list[]" >
12
 
13
- <div class="ekit-admin-fields-container <?php echo isset($_GET['ekit-onboard-steps']) && $_GET['ekit-onboard-steps'] == 'loaded' ? 'ekit-admin-widgets-container' : 'ekit-admin-widget-list'; ?>">
14
- <span class="ekit-admin-fields-container-description"><?php esc_html_e('You can disable the elements you are not using on your site. That will disable all associated assets of those widgets to improve your site loading speed.', 'elementskit-lite'); ?></span>
15
 
16
- <div class="ekit-admin-fields-container-fieldset">
17
- <?php foreach($widgets_categorized as $widget_category => $widgets): ?>
18
- <h2 class="ekit-widget-group-title"><?php echo ucwords(str_replace('-', ' ', $widget_category)); ?></h2>
19
- <div class="attr-row">
20
- <?php foreach($widgets as $widget => $widget_config): ?>
21
- <div class="attr-col-md-6 attr-col-lg-3" <?php echo ($widget_config['package'] != 'pro-disabled' ? '' : 'data-attr-toggle="modal" data-target="#elementskit_go_pro_modal"'); ?>>
22
- <?php
23
- $this->utils->input([
24
- 'type' => 'switch',
25
- 'name' => 'widget_list[]',
26
- 'label' => esc_html($widget_config['title']),
27
- 'value' => $widget,
28
- 'attr' => ($widget_config['package'] != 'pro-disabled' ? [] : ['disabled' => 'disabled' ]),
29
- 'class' => 'ekit-content-type-' . esc_attr($widget_config['package']),
30
- 'options' => [
31
- 'checked' => (isset($widgets_active[$widget]) ? true : false),
32
- ]
33
- ]);
34
- ?>
35
- </div>
36
- <?php endforeach; ?>
37
- </div>
38
- <?php endforeach; ?>
39
- </div>
 
 
40
  </div>
41
 
1
  <?php
2
+ $widgets_all = \ElementsKit_Lite\Config\Widget_List::instance()->get_list();
3
+ $widgets_active = \ElementsKit_Lite\Config\Widget_List::instance()->get_list( 'active' );
4
+ $widgets_categorized = array();
5
+ foreach ( $widgets_all as $key => $row ) {
6
+ $widgets_categorized[ ( $row['widget-category'] ?? 'general' ) ][ $key ] = $row;
7
  }
8
 
9
  ?>
10
  <!-- this blank input is for empty form submission -->
11
  <input checked="checked" type="checkbox" value="_null" style="display:none" name="widget_list[]" >
12
 
13
+ <div class="ekit-admin-fields-container <?php echo isset( $_GET['ekit-onboard-steps'] ) && $_GET['ekit-onboard-steps'] == 'loaded' ? 'ekit-admin-widgets-container' : 'ekit-admin-widget-list'; ?>">
14
+ <span class="ekit-admin-fields-container-description"><?php esc_html_e( 'You can disable the elements you are not using on your site. That will disable all associated assets of those widgets to improve your site loading speed.', 'elementskit-lite' ); ?></span>
15
 
16
+ <div class="ekit-admin-fields-container-fieldset">
17
+ <?php foreach ( $widgets_categorized as $widget_category => $widgets ) : ?>
18
+ <h2 class="ekit-widget-group-title"><?php echo ucwords( str_replace( '-', ' ', $widget_category ) ); ?></h2>
19
+ <div class="attr-row">
20
+ <?php foreach ( $widgets as $widget => $widget_config ) : ?>
21
+ <div class="attr-col-md-6 attr-col-lg-3" <?php echo ( $widget_config['package'] != 'pro-disabled' ? '' : 'data-attr-toggle="modal" data-target="#elementskit_go_pro_modal"' ); ?>>
22
+ <?php
23
+ $this->utils->input(
24
+ array(
25
+ 'type' => 'switch',
26
+ 'name' => 'widget_list[]',
27
+ 'label' => esc_html( $widget_config['title'] ),
28
+ 'value' => $widget,
29
+ 'attr' => ( $widget_config['package'] != 'pro-disabled' ? array() : array( 'disabled' => 'disabled' ) ),
30
+ 'class' => 'ekit-content-type-' . esc_attr( $widget_config['package'] ),
31
+ 'options' => array(
32
+ 'checked' => ( isset( $widgets_active[ $widget ] ) ? true : false ),
33
+ ),
34
+ )
35
+ );
36
+ ?>
37
+ </div>
38
+ <?php endforeach; ?>
39
+ </div>
40
+ <?php endforeach; ?>
41
+ </div>
42
  </div>
43
 
libs/notice/notice.php CHANGED
@@ -3,388 +3,388 @@ namespace Oxaim\Libs;
3
 
4
  defined( 'ABSPATH' ) || exit;
5
 
6
- if(!class_exists('\Oxaim\Libs\Notice')):
7
-
8
- class Notice{
9
-
10
- /**
11
- * scripts version
12
- *
13
- * @var string
14
- */
15
- protected $script_version = '2.1.1';
16
-
17
- /**
18
- * Unique ID to identify each notice
19
- *
20
- * @var string
21
- */
22
- protected $notice_id;
23
-
24
- /**
25
- * Plugin text-domain
26
- *
27
- * @var string
28
- */
29
- protected $text_domain;
30
-
31
-
32
- /**
33
- * Unique ID
34
- *
35
- * @var string
36
- */
37
- protected $unique_id;
38
-
39
-
40
- /**
41
- * Notice div container's class
42
- *
43
- * @var string
44
- */
45
- protected $class;
46
-
47
-
48
- /**
49
- * Single button's data
50
- *
51
- * @var array
52
- */
53
- protected $button;
54
-
55
-
56
- /**
57
- * Size class
58
- *
59
- * @var array
60
- */
61
- protected $size;
62
-
63
-
64
- /**
65
- * List of all buttons with it's config data
66
- *
67
- * @var array
68
- */
69
- protected $buttons;
70
-
71
- /**
72
- * Notice title
73
- *
74
- * @var string
75
- */
76
- protected $title;
77
-
78
-
79
- /**
80
- * Notice message
81
- *
82
- * @var string
83
- */
84
- protected $message;
85
-
86
- /**
87
- * Left logo
88
- *
89
- * @var string
90
- */
91
- protected $logo;
92
- /**
93
- * Container gutter
94
- *
95
- * @var string
96
- */
97
- protected $gutter;
98
-
99
- /**
100
- * Left logo style
101
- *
102
- * @var string
103
- */
104
- protected $logo_style;
105
-
106
-
107
- /**
108
- * Left logo style
109
- *
110
- * @var string
111
- */
112
- protected $dismissible;
113
-
114
- protected $expired_time;
115
-
116
-
117
-
118
- /**
119
- * html markup for notice
120
- *
121
- * @var string
122
- */
123
- protected $html;
124
-
125
-
126
-
127
- /**
128
- * get_version
129
- *
130
- * @return string
131
- */
132
- public function get_version(){
133
- return $this->script_version;
134
- }
135
-
136
- /**
137
- * get_script_location
138
- *
139
- * @return string
140
- */
141
- public function get_script_location(){
142
- return __FILE__;
143
- }
144
-
145
- // config
146
-
147
- /**
148
- * Configures all setter variables
149
- *
150
- * @param string $prefix
151
- * @return void
152
- */
153
- public function config($text_domain = '', $unique_id = ''){
154
- $this->text_domain = $text_domain;
155
-
156
- $this->unique_id = $unique_id;
157
-
158
- $this->notice_id = $text_domain . '-' . $unique_id;
159
-
160
- $this->dismissible = false; // false, user, global
161
-
162
- $this->expired_time = 1;
163
-
164
- $this->html = '';
165
-
166
- $this->title = '';
167
-
168
- $this->message = '';
169
-
170
- $this->class = '';
171
-
172
- $this->gutter = true;
173
-
174
- $this->logo = '';
175
-
176
- $this->logo_style = '';
177
-
178
- $this->size = [ ];
179
-
180
- $this->button = [
181
- 'default_class' => 'button',
182
- 'class' => 'button-secondary ', // button-primary button-secondary button-small button-large button-link
183
- 'text' => 'Button',
184
- 'url' => '#',
185
- 'icon' => ''
186
- ];
187
-
188
- $this->buttons = [];
189
-
190
- return $this;
191
- }
192
-
193
- // setters begin
194
-
195
- /**
196
- * Adds classes to the container
197
- *
198
- * @param string $classname
199
- * @return void
200
- */
201
- public function set_class($classname = ''){
202
- $this->class .= $classname;
203
-
204
- return $this;
205
- }
206
-
207
- public function set_type($type = ''){
208
- $this->class .= ' notice-' . $type;
209
-
210
- return $this;
211
- }
212
-
213
- public function set_button($button = []){
214
- $button = array_merge($this->button, $button);
215
- $this->buttons[] = $button;
216
-
217
- return $this;
218
- }
219
-
220
- public function set_id($id){
221
- $this->notice_id = $id;
222
- return $this;
223
- }
224
-
225
- public function set_title($title = ''){
226
- $this->title .= $title;
227
-
228
- return $this;
229
- }
230
 
231
- public function set_message($message = ''){
232
- $this->message .= $message;
233
 
234
- return $this;
235
- }
236
-
237
- public function set_gutter($gutter = true){
238
- $this->gutter .= $gutter;
239
- $this->class .= ($gutter === true ? '' : ' no-gutter');
240
-
241
- return $this;
242
- }
243
-
244
- public function set_logo($logo = '', $logo_style = ""){
245
- $this->logo = $logo;
246
-
247
- $this->logo_style = $logo_style;
 
 
 
 
248
 
249
- return $this;
250
- }
 
 
 
 
 
 
251
 
252
- public function set_html($html = ''){
253
- $this->html .= $html;
 
 
 
 
 
 
 
 
254
 
255
- return $this;
256
- }
257
 
258
- // setters ends
259
 
 
260
 
261
- // group getter
262
- public function get_data(){
263
- return [
264
- 'message' => $this->message,
265
- 'title' => $this->title,
266
- 'buttons' => $this->buttons,
267
- 'class' => $this->class,
268
- 'html' => $this->html,
269
- ];
270
- }
271
 
 
272
 
 
 
 
 
 
273
 
 
274
 
275
- public function call(){
276
- add_action( 'admin_notices', [$this, 'get_notice'] );
277
- }
278
-
279
- public function get_notice(){
280
- // dismissible conditions
281
- if ( 'user' === $this->dismissible) {
282
- $expired = get_user_meta( get_current_user_id(), $this->notice_id, true );
283
- } elseif ( 'global' === $this->dismissible ) {
284
- $expired = get_transient( $this->notice_id );
285
- }else{
286
- $expired = '';
287
- }
288
-
289
- global $oxaim_lib_notice_list;
290
-
291
- if(!isset($oxaim_lib_notice_list[$this->notice_id])){
292
- $oxaim_lib_notice_list[$this->notice_id] = __FILE__;
293
-
294
- // is transient expired?
295
- if ( false === $expired || empty( $expired ) ) {
296
- $this->generate_html();
297
- }
298
- }
299
- }
300
-
301
- public function set_dismiss($scope = 'global', $time = (3600 * 24 * 7)){
302
- $this->dismissible = $scope;
303
- $this->expired_time = $time;
304
-
305
- return $this;
306
- }
307
-
308
- public function generate_html() {
309
-
310
- ?>
311
- <div
312
- id="<?php echo esc_attr($this->notice_id); ?>"
313
- class="notice wpmet-notice notice-<?php echo esc_attr($this->notice_id . ' ' .$this->class); ?> <?php echo (false === $this->dismissible ? '' : 'is-dismissible') ;?>"
314
-
315
- expired_time="<?php echo ($this->expired_time); ?>"
316
- dismissible="<?php echo ($this->dismissible); ?>"
317
- >
318
- <?php if(!empty($this->logo)):?>
319
- <img class="notice-logo" style="<?php echo esc_attr($this->logo_style); ?>" src="<?php echo esc_url($this->logo);?>" />
320
- <?php endif; ?>
321
-
322
- <div class="notice-right-container <?php echo (empty($this->logo) ? 'notice-container-full-width' : ''); ?>">
323
 
324
- <?php if(empty($this->html)): ?>
325
- <?php echo (empty($this->title) ? '' : sprintf('<div class="notice-main-title notice-vert-space">%s</div>', $this->title)); ?>
326
 
327
- <div class="notice-message notice-vert-space">
328
- <?php echo ( $this->message );?>
329
- </div>
330
 
331
- <?php if(!empty($this->buttons)): ?>
332
- <div class="button-container notice-vert-space">
333
- <?php foreach($this->buttons as $button): ?>
334
- <a id="<?php echo (!isset($button['id']) ? '' : $button['id']); ?>" href="<?php echo esc_url($button['url']); ?>" class="wpmet-notice-button <?php echo esc_attr($button['class']); ?>">
335
- <?php if(!empty($button['icon'])) :?>
336
- <i class="notice-icon <?php echo esc_attr($button['icon']); ?>"></i>
337
- <?php endif; ?>
338
- <?php echo esc_html($button['text']);?>
339
- </a>
340
- &nbsp;
341
- <?php endforeach; ?>
342
- </div>
343
- <?php endif;?>
344
-
345
- <?php else:?>
346
- <?php echo $this->html; ?>
347
- <?php endif;?>
348
-
349
- </div>
350
-
351
- <?php if(false !== $this->dismissible): ?>
352
- <button type="button" class="notice-dismiss">
353
- <span class="screen-reader-text">x</span>
354
- </button>
355
- <?php endif;?>
356
-
357
- <div style="clear:both"></div>
358
-
359
- </div>
360
- <?php
361
- }
362
 
363
- public static function init(){
364
- add_action( 'wp_ajax_wpmet-notices', [ __CLASS__, 'dismiss_ajax_call' ] );
365
- add_action( 'admin_head', [ __CLASS__, 'enqueue_scripts' ] );
366
- }
367
 
368
- public static function dismiss_ajax_call() {
369
- $notice_id = ( isset( $_POST['notice_id'] ) ) ? $_POST['notice_id'] : '';
370
- $dismissible = ( isset( $_POST['dismissible'] ) ) ? $_POST['dismissible'] : '';
371
- $expired_time = ( isset( $_POST['expired_time'] ) ) ? $_POST['expired_time'] : '';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
372
 
373
- if ( ! empty( $notice_id ) ) {
374
- if ( 'user' === $dismissible ) {
375
- update_user_meta( get_current_user_id(), $notice_id, true );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
376
  } else {
377
- set_transient( $notice_id, true, $expired_time );
378
  }
379
 
380
- wp_send_json_success();
 
 
 
 
 
 
 
 
 
381
  }
382
 
383
- wp_send_json_error();
384
- }
385
-
386
- public static function enqueue_scripts() {
387
- echo "
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
388
  <script>
389
  jQuery(document).ready(function ($) {
390
  $( '.wpmet-notice.is-dismissible' ).on( 'click', '.notice-dismiss', function() {
@@ -481,27 +481,27 @@ class Notice{
481
 
482
  </style>
483
  ";
484
- }
485
-
486
 
487
- private static $instance;
488
 
489
- /**
490
- * Method: instance -> Return Notice module class instance
491
- *
492
- * @param string|null $text_domain
493
- * @param string|null $unique_id
494
- * @return mixed
495
- */
496
- public static function instance($text_domain = null, $unique_id = null) {
497
- if($text_domain == null){
498
- return false;
499
- }
500
-
501
- self::$instance = new self();
502
-
503
- return self::$instance->config($text_domain, (is_null($unique_id) ? uniqid() : $unique_id));
 
504
  }
505
- }
506
 
507
- endif;
3
 
4
  defined( 'ABSPATH' ) || exit;
5
 
6
+ if ( ! class_exists( '\Oxaim\Libs\Notice' ) ) :
7
+
8
+ class Notice {
9
+
10
+ /**
11
+ * scripts version
12
+ *
13
+ * @var string
14
+ */
15
+ protected $script_version = '2.1.1';
16
+
17
+ /**
18
+ * Unique ID to identify each notice
19
+ *
20
+ * @var string
21
+ */
22
+ protected $notice_id;
23
+
24
+ /**
25
+ * Plugin text-domain
26
+ *
27
+ * @var string
28
+ */
29
+ protected $text_domain;
30
+
31
+
32
+ /**
33
+ * Unique ID
34
+ *
35
+ * @var string
36
+ */
37
+ protected $unique_id;
38
+
39
+
40
+ /**
41
+ * Notice div container's class
42
+ *
43
+ * @var string
44
+ */
45
+ protected $class;
46
+
47
+
48
+ /**
49
+ * Single button's data
50
+ *
51
+ * @var array
52
+ */
53
+ protected $button;
54
+
55
+
56
+ /**
57
+ * Size class
58
+ *
59
+ * @var array
60
+ */
61
+ protected $size;
62
+
63
+
64
+ /**
65
+ * List of all buttons with it's config data
66
+ *
67
+ * @var array
68
+ */
69
+ protected $buttons;
70
+
71
+ /**
72
+ * Notice title
73
+ *
74
+ * @var string
75
+ */
76
+ protected $title;
77
+
78
+
79
+ /**
80
+ * Notice message
81
+ *
82
+ * @var string
83
+ */
84
+ protected $message;
85
+
86
+ /**
87
+ * Left logo
88
+ *
89
+ * @var string
90
+ */
91
+ protected $logo;
92
+ /**
93
+ * Container gutter
94
+ *
95
+ * @var string
96
+ */
97
+ protected $gutter;
98
+
99
+ /**
100
+ * Left logo style
101
+ *
102
+ * @var string
103
+ */
104
+ protected $logo_style;
105
+
106
+
107
+ /**
108
+ * Left logo style
109
+ *
110
+ * @var string
111
+ */
112
+ protected $dismissible;
113
+
114
+ protected $expired_time;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
115
 
 
 
116
 
117
+
118
+ /**
119
+ * html markup for notice
120
+ *
121
+ * @var string
122
+ */
123
+ protected $html;
124
+
125
+
126
+
127
+ /**
128
+ * get_version
129
+ *
130
+ * @return string
131
+ */
132
+ public function get_version() {
133
+ return $this->script_version;
134
+ }
135
 
136
+ /**
137
+ * get_script_location
138
+ *
139
+ * @return string
140
+ */
141
+ public function get_script_location() {
142
+ return __FILE__;
143
+ }
144
 
145
+ // config
146
+
147
+ /**
148
+ * Configures all setter variables
149
+ *
150
+ * @param string $prefix
151
+ * @return void
152
+ */
153
+ public function config( $text_domain = '', $unique_id = '' ) {
154
+ $this->text_domain = $text_domain;
155
 
156
+ $this->unique_id = $unique_id;
 
157
 
158
+ $this->notice_id = $text_domain . '-' . $unique_id;
159
 
160
+ $this->dismissible = false; // false, user, global
161
 
162
+ $this->expired_time = 1;
 
 
 
 
 
 
 
 
 
163
 
164
+ $this->html = '';
165
 
166
+ $this->title = '';
167
+
168
+ $this->message = '';
169
+
170
+ $this->class = '';
171
 
172
+ $this->gutter = true;
173
 
174
+ $this->logo = '';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
175
 
176
+ $this->logo_style = '';
 
177
 
178
+ $this->size = array();
 
 
179
 
180
+ $this->button = array(
181
+ 'default_class' => 'button',
182
+ 'class' => 'button-secondary ', // button-primary button-secondary button-small button-large button-link
183
+ 'text' => 'Button',
184
+ 'url' => '#',
185
+ 'icon' => '',
186
+ );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
187
 
188
+ $this->buttons = array();
 
 
 
189
 
190
+ return $this;
191
+ }
192
+
193
+ // setters begin
194
+
195
+ /**
196
+ * Adds classes to the container
197
+ *
198
+ * @param string $classname
199
+ * @return void
200
+ */
201
+ public function set_class( $classname = '' ) {
202
+ $this->class .= $classname;
203
+
204
+ return $this;
205
+ }
206
+
207
+ public function set_type( $type = '' ) {
208
+ $this->class .= ' notice-' . $type;
209
+
210
+ return $this;
211
+ }
212
+
213
+ public function set_button( $button = array() ) {
214
+ $button = array_merge( $this->button, $button );
215
+ $this->buttons[] = $button;
216
+
217
+ return $this;
218
+ }
219
 
220
+ public function set_id( $id ) {
221
+ $this->notice_id = $id;
222
+ return $this;
223
+ }
224
+
225
+ public function set_title( $title = '' ) {
226
+ $this->title .= $title;
227
+
228
+ return $this;
229
+ }
230
+
231
+ public function set_message( $message = '' ) {
232
+ $this->message .= $message;
233
+
234
+ return $this;
235
+ }
236
+
237
+ public function set_gutter( $gutter = true ) {
238
+ $this->gutter .= $gutter;
239
+ $this->class .= ( $gutter === true ? '' : ' no-gutter' );
240
+
241
+ return $this;
242
+ }
243
+
244
+ public function set_logo( $logo = '', $logo_style = '' ) {
245
+ $this->logo = $logo;
246
+
247
+ $this->logo_style = $logo_style;
248
+
249
+ return $this;
250
+ }
251
+
252
+ public function set_html( $html = '' ) {
253
+ $this->html .= $html;
254
+
255
+ return $this;
256
+ }
257
+
258
+ // setters ends
259
+
260
+
261
+ // group getter
262
+ public function get_data() {
263
+ return array(
264
+ 'message' => $this->message,
265
+ 'title' => $this->title,
266
+ 'buttons' => $this->buttons,
267
+ 'class' => $this->class,
268
+ 'html' => $this->html,
269
+ );
270
+ }
271
+
272
+
273
+
274
+
275
+ public function call() {
276
+ add_action( 'admin_notices', array( $this, 'get_notice' ) );
277
+ }
278
+
279
+ public function get_notice() {
280
+ // dismissible conditions
281
+ if ( 'user' === $this->dismissible ) {
282
+ $expired = get_user_meta( get_current_user_id(), $this->notice_id, true );
283
+ } elseif ( 'global' === $this->dismissible ) {
284
+ $expired = get_transient( $this->notice_id );
285
  } else {
286
+ $expired = '';
287
  }
288
 
289
+ global $oxaim_lib_notice_list;
290
+
291
+ if ( ! isset( $oxaim_lib_notice_list[ $this->notice_id ] ) ) {
292
+ $oxaim_lib_notice_list[ $this->notice_id ] = __FILE__;
293
+
294
+ // is transient expired?
295
+ if ( false === $expired || empty( $expired ) ) {
296
+ $this->generate_html();
297
+ }
298
+ }
299
  }
300
 
301
+ public function set_dismiss( $scope = 'global', $time = ( 3600 * 24 * 7 ) ) {
302
+ $this->dismissible = $scope;
303
+ $this->expired_time = $time;
304
+
305
+ return $this;
306
+ }
307
+
308
+ public function generate_html() {
309
+
310
+ ?>
311
+ <div
312
+ id="<?php echo esc_attr( $this->notice_id ); ?>"
313
+ class="notice wpmet-notice notice-<?php echo esc_attr( $this->notice_id . ' ' . $this->class ); ?> <?php echo ( false === $this->dismissible ? '' : 'is-dismissible' ); ?>"
314
+
315
+ expired_time="<?php echo ( $this->expired_time ); ?>"
316
+ dismissible="<?php echo ( $this->dismissible ); ?>"
317
+ >
318
+ <?php if ( ! empty( $this->logo ) ) : ?>
319
+ <img class="notice-logo" style="<?php echo esc_attr( $this->logo_style ); ?>" src="<?php echo esc_url( $this->logo ); ?>" />
320
+ <?php endif; ?>
321
+
322
+ <div class="notice-right-container <?php echo ( empty( $this->logo ) ? 'notice-container-full-width' : '' ); ?>">
323
+
324
+ <?php if ( empty( $this->html ) ) : ?>
325
+ <?php echo ( empty( $this->title ) ? '' : sprintf( '<div class="notice-main-title notice-vert-space">%s</div>', $this->title ) ); ?>
326
+
327
+ <div class="notice-message notice-vert-space">
328
+ <?php echo ( $this->message ); ?>
329
+ </div>
330
+
331
+ <?php if ( ! empty( $this->buttons ) ) : ?>
332
+ <div class="button-container notice-vert-space">
333
+ <?php foreach ( $this->buttons as $button ) : ?>
334
+ <a id="<?php echo ( ! isset( $button['id'] ) ? '' : $button['id'] ); ?>" href="<?php echo esc_url( $button['url'] ); ?>" class="wpmet-notice-button <?php echo esc_attr( $button['class'] ); ?>">
335
+ <?php if ( ! empty( $button['icon'] ) ) : ?>
336
+ <i class="notice-icon <?php echo esc_attr( $button['icon'] ); ?>"></i>
337
+ <?php endif; ?>
338
+ <?php echo esc_html( $button['text'] ); ?>
339
+ </a>
340
+ &nbsp;
341
+ <?php endforeach; ?>
342
+ </div>
343
+ <?php endif; ?>
344
+
345
+ <?php else : ?>
346
+ <?php echo $this->html; ?>
347
+ <?php endif; ?>
348
+
349
+ </div>
350
+
351
+ <?php if ( false !== $this->dismissible ) : ?>
352
+ <button type="button" class="notice-dismiss">
353
+ <span class="screen-reader-text">x</span>
354
+ </button>
355
+ <?php endif; ?>
356
+
357
+ <div style="clear:both"></div>
358
+
359
+ </div>
360
+ <?php
361
+ }
362
+
363
+ public static function init() {
364
+ add_action( 'wp_ajax_wpmet-notices', array( __CLASS__, 'dismiss_ajax_call' ) );
365
+ add_action( 'admin_head', array( __CLASS__, 'enqueue_scripts' ) );
366
+ }
367
+
368
+ public static function dismiss_ajax_call() {
369
+ $notice_id = ( isset( $_POST['notice_id'] ) ) ? $_POST['notice_id'] : '';
370
+ $dismissible = ( isset( $_POST['dismissible'] ) ) ? $_POST['dismissible'] : '';
371
+ $expired_time = ( isset( $_POST['expired_time'] ) ) ? $_POST['expired_time'] : '';
372
+
373
+ if ( ! empty( $notice_id ) ) {
374
+ if ( 'user' === $dismissible ) {
375
+ update_user_meta( get_current_user_id(), $notice_id, true );
376
+ } else {
377
+ set_transient( $notice_id, true, $expired_time );
378
+ }
379
+
380
+ wp_send_json_success();
381
+ }
382
+
383
+ wp_send_json_error();
384
+ }
385
+
386
+ public static function enqueue_scripts() {
387
+ echo "
388
  <script>
389
  jQuery(document).ready(function ($) {
390
  $( '.wpmet-notice.is-dismissible' ).on( 'click', '.notice-dismiss', function() {
481
 
482
  </style>
483
  ";
484
+ }
485
+
486
 
487
+ private static $instance;
488
 
489
+ /**
490
+ * Method: instance -> Return Notice module class instance
491
+ *
492
+ * @param string|null $text_domain
493
+ * @param string|null $unique_id
494
+ * @return mixed
495
+ */
496
+ public static function instance( $text_domain = null, $unique_id = null ) {
497
+ if ( $text_domain == null ) {
498
+ return false;
499
+ }
500
+
501
+ self::$instance = new self();
502
+
503
+ return self::$instance->config( $text_domain, ( is_null( $unique_id ) ? uniqid() : $unique_id ) );
504
+ }
505
  }
 
506
 
507
+ endif;
libs/pro-awareness/pro-awareness.php CHANGED
@@ -2,28 +2,28 @@
2
 
3
  namespace Wpmet\Libs;
4
 
5
- defined('ABSPATH') || exit;
6
 
7
- if(!class_exists('\Wpmet\Libs\Pro_Awareness')) :
8
 
9
- class Pro_Awareness
10
- {
11
 
12
  private static $instance;
13
 
14
  private $text_domain;
15
  private $plugin_file;
16
  private $parent_menu_slug;
17
- private $menu_slug = '_get_help';
18
- private $default_grid_link = 'https://wpmet.com/support-ticket';
19
- private $default_grid_title = 'Support Center';
20
  private $default_grid_thumbnail = '';
21
- private $default_grid_desc = '';
22
- private $pro_link_conf = [];
23
 
24
- private $grids = [];
25
- private $action_links = [];
26
- private $row_meta_links = [];
27
  private $parent_menu_text = 'Get Help';
28
 
29
 
@@ -48,14 +48,14 @@ if(!class_exists('\Wpmet\Libs\Pro_Awareness')) :
48
  }
49
 
50
 
51
- public static function instance($text_domain) {
52
 
53
  self::$instance = new self();
54
 
55
- return self::$instance->set_text_domain($text_domain);
56
  }
57
 
58
- protected function set_text_domain($val) {
59
 
60
  $this->text_domain = $val;
61
 
@@ -64,50 +64,50 @@ if(!class_exists('\Wpmet\Libs\Pro_Awareness')) :
64
 
65
  private function default_grid() {
66
 
67
- return [
68
  'url' => $this->default_grid_link,
69
  'title' => $this->default_grid_title,
70
  'thumbnail' => $this->default_grid_thumbnail,
71
  'description' => $this->default_grid_desc,
72
- ];
73
  }
74
 
75
- public function set_parent_menu_text($text) {
76
 
77
- $this->parent_menu_text = $text;
78
 
79
- return $this;
80
- }
81
 
82
- public function set_default_grid_link($url) {
83
 
84
  $this->default_grid_link = $url;
85
 
86
  return $this;
87
  }
88
 
89
- public function set_default_grid_title($title) {
90
 
91
  $this->default_grid_title = $title;
92
 
93
  return $this;
94
  }
95
 
96
- public function set_default_grid_desc($title) {
97
 
98
  $this->default_grid_desc = $title;
99
 
100
  return $this;
101
  }
102
 
103
- public function set_default_grid_thumbnail($thumbnail) {
104
 
105
  $this->default_grid_thumbnail = $thumbnail;
106
 
107
  return $this;
108
  }
109
 
110
- public function set_parent_menu_slug($slug) {
111
 
112
  $this->parent_menu_slug = $slug;
113
 
@@ -115,32 +115,32 @@ if(!class_exists('\Wpmet\Libs\Pro_Awareness')) :
115
  }
116
 
117
 
118
- public function set_menu_slug($slug) {
119
 
120
  $this->menu_slug = $slug;
121
 
122
  return $this;
123
  }
124
 
125
- public function set_plugin_file($plugin_file) {
126
 
127
  $this->plugin_file = $plugin_file;
128
 
129
  return $this;
130
  }
131
 
132
- public function set_pro_link($url, $conf = []) {
133
 
134
- if($url == '') {
135
  return $this;
136
  }
137
 
138
- $this->pro_link_conf[] = [
139
  'url' => $url,
140
- 'target' => '_blank',
141
- 'anchor' => empty($conf['anchor']) ? '<span style="color: #FCB214;" class="pro_aware pro">Upgrade To Premium</span>' : $conf['anchor'],
142
- 'permission' => empty($conf['permission']) ? 'manage_options' : $conf['permission'],
143
- ];
144
 
145
  return $this;
146
  }
@@ -148,16 +148,16 @@ if(!class_exists('\Wpmet\Libs\Pro_Awareness')) :
148
  /**
149
  * Set page grid
150
  */
151
- public function set_page_grid($conf = []) {
152
 
153
- if(!empty($conf['url'])) {
154
 
155
- $this->grids[] = [
156
  'url' => $conf['url'],
157
- 'title' => empty($conf['title']) ? esc_html__('Default Title', 'elementskit-lite') : $conf['title'],
158
- 'thumbnail' => empty($conf['thumbnail']) ? '' : esc_url($conf['thumbnail']),
159
- 'description' => empty($conf['description']) ? '' : $conf['description'],
160
- ];
161
  }
162
 
163
  return $this;
@@ -166,28 +166,28 @@ if(!class_exists('\Wpmet\Libs\Pro_Awareness')) :
166
  /**
167
  * @deprecated This method will be removed
168
  */
169
- public function set_grid($conf = []) {
170
- $this->set_page_grid($conf);
171
 
172
  return $this;
173
  }
174
 
175
  protected function prepare_pro_links() {
176
 
177
- if(!empty($this->pro_link_conf)) {
178
 
179
- foreach($this->pro_link_conf as $conf) {
180
 
181
- add_submenu_page($this->parent_menu_slug, $conf['anchor'], $conf['anchor'], $conf['permission'], $conf['url'], '');
182
  }
183
  }
184
  }
185
 
186
  protected function prepare_grid_links() {
187
 
188
- if(!empty($this->grids)) {
189
 
190
- add_submenu_page($this->parent_menu_slug, $this->parent_menu_text, $this->parent_menu_text, 'manage_options', $this->text_domain . $this->menu_slug, [$this, 'generate_grids']);
191
  }
192
  }
193
 
@@ -197,45 +197,46 @@ if(!class_exists('\Wpmet\Libs\Pro_Awareness')) :
197
  /**
198
  * Adding default grid at first position
199
  */
200
- array_unshift($this->grids, $this->default_grid());
201
 
202
  ?>
203
 
204
 
205
- <div class="pro_aware grid_container wpmet_pro_a-grid-container">
206
 
207
- <?php do_action($this->text_domain.'/pro_awareness/before_grid_contents'); ?>
208
 
209
- <div class="wpmet_pro_a-row">
210
  <?php
211
- foreach($this->grids as $grid) {
212
  ?>
213
- <div class="grid wpmet_pro_a-grid">
214
- <div class="wpmet_pro_a-grid-inner">
215
- <a target="_blank" href="<?php echo esc_url($grid['url']); ?>"
216
- class="wpmet_pro_a_wrapper" title="<?php echo esc_attr($grid['title']); ?>"
217
- title="<?php echo esc_attr($grid['title']); ?>">
218
- <div class="wpmet_pro_a_thumb">
219
- <img src="<?php echo esc_attr($grid['thumbnail']); ?>" alt="Thumbnail">
220
- </div>
221
- <!-- // thumbnail -->
222
-
223
- <h4 class="wpmet_pro_a_grid_title"><?php echo esc_attr($grid['title']); ?></h4>
224
- <?php if(!empty($grid['description'])) { ?>
225
- <p class="wpmet_pro_a_description"><?php echo esc_html($grid['description']); ?></p>
226
- <!-- // description -->
227
  <?php } ?>
228
- <!-- // title -->
229
- </a>
230
- </div>
231
- </div>
232
  <?php
233
- } ?>
234
- </div>
 
235
 
236
- <?php do_action($this->text_domain.'/pro_awareness/after_grid_contents'); ?>
237
 
238
- </div>
239
 
240
  <?php
241
  }
@@ -351,94 +352,92 @@ if(!class_exists('\Wpmet\Libs\Pro_Awareness')) :
351
  ";
352
  }
353
 
354
- public function insert_plugin_links($links) {
355
 
356
- foreach($this->action_links as $action_link) {
357
 
358
- if(!empty($action_link['link']) && !empty($action_link['text'])) {
359
 
360
  $attributes = '';
361
 
362
- if(!empty($action_link['attr'])) {
363
 
364
- foreach($action_link['attr'] as $key => $val) {
365
 
366
- $attributes .= $key.'="'.esc_attr($val).'" ';
367
- }
368
  }
369
 
370
- $links[] = sprintf('<a href="%s" ' . $attributes . ' > %s </a>', $action_link['link'], esc_html($action_link['text']));
371
  }
372
  }
373
 
374
-
375
  return $links;
376
  }
377
 
378
- public function insert_plugin_row_meta($links, $file) {
379
- if($file == $this->plugin_file) {
380
 
381
- foreach($this->row_meta_links as $meta) {
382
 
383
- if(!empty($meta['link']) && !empty($meta['text'])) {
384
 
385
  $attributes = '';
386
 
387
- if(!empty($meta['attr'])) {
388
 
389
- foreach($meta['attr'] as $key => $val) {
390
 
391
- $attributes .= $key.'="'.esc_attr($val).'" ';
392
  }
393
  }
394
 
395
- $links[] = sprintf('<a href="%s" %s > %s </a>', $meta['link'], $attributes, esc_html($meta['text']));
396
  }
397
- }
398
-
399
  }
400
 
401
  return $links;
402
  }
403
 
404
- public function set_plugin_action_link($text, $link, $attr = []) {
405
 
406
- $this->action_links[] = [
407
  'text' => $text,
408
  'link' => $link,
409
- 'attr' => $attr,
410
- ];
411
 
412
  return $this;
413
  }
414
 
415
- public function set_plugin_row_meta($text, $link, $attr = []) {
416
 
417
- $this->row_meta_links[] = [
418
  'text' => $text,
419
  'link' => $link,
420
- 'attr' => $attr,
421
- ];
422
 
423
  return $this;
424
  }
425
 
426
  public function generate_menus() {
427
- add_filter('plugin_action_links_' . $this->plugin_file, [$this, 'insert_plugin_links']);
428
- add_filter('plugin_row_meta', [$this, 'insert_plugin_row_meta'], 10, 2);
429
 
430
- if(!empty($this->parent_menu_slug)) {
431
  $this->prepare_grid_links();
432
  $this->prepare_pro_links();
433
  }
434
  }
435
 
436
  public static function init() {
437
- add_action('admin_head', [__CLASS__, 'enqueue_scripts']);
438
  }
439
 
440
  public function call() {
441
- add_action('admin_menu', [$this, 'generate_menus'], 99999);
442
  }
443
  }
444
 
2
 
3
  namespace Wpmet\Libs;
4
 
5
+ defined( 'ABSPATH' ) || exit;
6
 
7
+ if ( ! class_exists( '\Wpmet\Libs\Pro_Awareness' ) ) :
8
 
9
+ class Pro_Awareness {
10
+
11
 
12
  private static $instance;
13
 
14
  private $text_domain;
15
  private $plugin_file;
16
  private $parent_menu_slug;
17
+ private $menu_slug = '_get_help';
18
+ private $default_grid_link = 'https://wpmet.com/support-ticket';
19
+ private $default_grid_title = 'Support Center';
20
  private $default_grid_thumbnail = '';
21
+ private $default_grid_desc = '';
22
+ private $pro_link_conf = array();
23
 
24
+ private $grids = array();
25
+ private $action_links = array();
26
+ private $row_meta_links = array();
27
  private $parent_menu_text = 'Get Help';
28
 
29
 
48
  }
49
 
50
 
51
+ public static function instance( $text_domain ) {
52
 
53
  self::$instance = new self();
54
 
55
+ return self::$instance->set_text_domain( $text_domain );
56
  }
57
 
58
+ protected function set_text_domain( $val ) {
59
 
60
  $this->text_domain = $val;
61
 
64
 
65
  private function default_grid() {
66
 
67
+ return array(
68
  'url' => $this->default_grid_link,
69
  'title' => $this->default_grid_title,
70
  'thumbnail' => $this->default_grid_thumbnail,
71
  'description' => $this->default_grid_desc,
72
+ );
73
  }
74
 
75
+ public function set_parent_menu_text( $text ) {
76
 
77
+ $this->parent_menu_text = $text;
78
 
79
+ return $this;
80
+ }
81
 
82
+ public function set_default_grid_link( $url ) {
83
 
84
  $this->default_grid_link = $url;
85
 
86
  return $this;
87
  }
88
 
89
+ public function set_default_grid_title( $title ) {
90
 
91
  $this->default_grid_title = $title;
92
 
93
  return $this;
94
  }
95
 
96
+ public function set_default_grid_desc( $title ) {
97
 
98
  $this->default_grid_desc = $title;
99
 
100
  return $this;
101
  }
102
 
103
+ public function set_default_grid_thumbnail( $thumbnail ) {
104
 
105
  $this->default_grid_thumbnail = $thumbnail;
106
 
107
  return $this;
108
  }
109
 
110
+ public function set_parent_menu_slug( $slug ) {
111
 
112
  $this->parent_menu_slug = $slug;
113
 
115
  }
116
 
117
 
118
+ public function set_menu_slug( $slug ) {
119
 
120
  $this->menu_slug = $slug;
121
 
122
  return $this;
123
  }
124
 
125
+ public function set_plugin_file( $plugin_file ) {
126
 
127
  $this->plugin_file = $plugin_file;
128
 
129
  return $this;
130
  }
131
 
132
+ public function set_pro_link( $url, $conf = array() ) {
133
 
134
+ if ( $url == '' ) {
135
  return $this;
136
  }
137
 
138
+ $this->pro_link_conf[] = array(
139
  'url' => $url,
140
+ 'target' => '_blank',
141
+ 'anchor' => empty( $conf['anchor'] ) ? '<span style="color: #FCB214;" class="pro_aware pro">Upgrade To Premium</span>' : $conf['anchor'],
142
+ 'permission' => empty( $conf['permission'] ) ? 'manage_options' : $conf['permission'],
143
+ );
144
 
145
  return $this;
146
  }
148
  /**
149
  * Set page grid
150
  */
151
+ public function set_page_grid( $conf = array() ) {
152
 
153
+ if ( ! empty( $conf['url'] ) ) {
154
 
155
+ $this->grids[] = array(
156
  'url' => $conf['url'],
157
+ 'title' => empty( $conf['title'] ) ? esc_html__( 'Default Title', 'elementskit-lite' ) : $conf['title'],
158
+ 'thumbnail' => empty( $conf['thumbnail'] ) ? '' : esc_url( $conf['thumbnail'] ),
159
+ 'description' => empty( $conf['description'] ) ? '' : $conf['description'],
160
+ );
161
  }
162
 
163
  return $this;
166
  /**
167
  * @deprecated This method will be removed
168
  */
169
+ public function set_grid( $conf = array() ) {
170
+ $this->set_page_grid( $conf );
171
 
172
  return $this;
173
  }
174
 
175
  protected function prepare_pro_links() {
176
 
177
+ if ( ! empty( $this->pro_link_conf ) ) {
178
 
179
+ foreach ( $this->pro_link_conf as $conf ) {
180
 
181
+ add_submenu_page( $this->parent_menu_slug, $conf['anchor'], $conf['anchor'], $conf['permission'], $conf['url'], '' );
182
  }
183
  }
184
  }
185
 
186
  protected function prepare_grid_links() {
187
 
188
+ if ( ! empty( $this->grids ) ) {
189
 
190
+ add_submenu_page( $this->parent_menu_slug, $this->parent_menu_text, $this->parent_menu_text, 'manage_options', $this->text_domain . $this->menu_slug, array( $this, 'generate_grids' ) );
191
  }
192
  }
193
 
197
  /**
198
  * Adding default grid at first position
199
  */
200
+ array_unshift( $this->grids, $this->default_grid() );
201
 
202
  ?>
203
 
204
 
205
+ <div class="pro_aware grid_container wpmet_pro_a-grid-container">
206
 
207
+ <?php do_action( $this->text_domain . '/pro_awareness/before_grid_contents' ); ?>
208
 
209
+ <div class="wpmet_pro_a-row">
210
  <?php
211
+ foreach ( $this->grids as $grid ) {
212
  ?>
213
+ <div class="grid wpmet_pro_a-grid">
214
+ <div class="wpmet_pro_a-grid-inner">
215
+ <a target="_blank" href="<?php echo esc_url( $grid['url'] ); ?>"
216
+ class="wpmet_pro_a_wrapper" title="<?php echo esc_attr( $grid['title'] ); ?>"
217
+ title="<?php echo esc_attr( $grid['title'] ); ?>">
218
+ <div class="wpmet_pro_a_thumb">
219
+ <img src="<?php echo esc_attr( $grid['thumbnail'] ); ?>" alt="Thumbnail">
220
+ </div>
221
+ <!-- // thumbnail -->
222
+
223
+ <h4 class="wpmet_pro_a_grid_title"><?php echo esc_attr( $grid['title'] ); ?></h4>
224
+ <?php if ( ! empty( $grid['description'] ) ) { ?>
225
+ <p class="wpmet_pro_a_description"><?php echo esc_html( $grid['description'] ); ?></p>
226
+ <!-- // description -->
227
  <?php } ?>
228
+ <!-- // title -->
229
+ </a>
230
+ </div>
231
+ </div>
232
  <?php
233
+ }
234
+ ?>
235
+ </div>
236
 
237
+ <?php do_action( $this->text_domain . '/pro_awareness/after_grid_contents' ); ?>
238
 
239
+ </div>
240
 
241
  <?php
242
  }
352
  ";
353
  }
354
 
355
+ public function insert_plugin_links( $links ) {
356
 
357
+ foreach ( $this->action_links as $action_link ) {
358
 
359
+ if ( ! empty( $action_link['link'] ) && ! empty( $action_link['text'] ) ) {
360
 
361
  $attributes = '';
362
 
363
+ if ( ! empty( $action_link['attr'] ) ) {
364
 
365
+ foreach ( $action_link['attr'] as $key => $val ) {
366
 
367
+ $attributes .= $key . '="' . esc_attr( $val ) . '" ';
368
+ }
369
  }
370
 
371
+ $links[] = sprintf( '<a href="%s" ' . $attributes . ' > %s </a>', $action_link['link'], esc_html( $action_link['text'] ) );
372
  }
373
  }
374
 
 
375
  return $links;
376
  }
377
 
378
+ public function insert_plugin_row_meta( $links, $file ) {
379
+ if ( $file == $this->plugin_file ) {
380
 
381
+ foreach ( $this->row_meta_links as $meta ) {
382
 
383
+ if ( ! empty( $meta['link'] ) && ! empty( $meta['text'] ) ) {
384
 
385
  $attributes = '';
386
 
387
+ if ( ! empty( $meta['attr'] ) ) {
388
 
389
+ foreach ( $meta['attr'] as $key => $val ) {
390
 
391
+ $attributes .= $key . '="' . esc_attr( $val ) . '" ';
392
  }
393
  }
394
 
395
+ $links[] = sprintf( '<a href="%s" %s > %s </a>', $meta['link'], $attributes, esc_html( $meta['text'] ) );
396
  }
397
+ }
 
398
  }
399
 
400
  return $links;
401
  }
402
 
403
+ public function set_plugin_action_link( $text, $link, $attr = array() ) {
404
 
405
+ $this->action_links[] = array(
406
  'text' => $text,
407
  'link' => $link,
408
+ 'attr' => $attr,
409
+ );
410
 
411
  return $this;
412
  }
413
 
414
+ public function set_plugin_row_meta( $text, $link, $attr = array() ) {
415
 
416
+ $this->row_meta_links[] = array(
417
  'text' => $text,
418
  'link' => $link,
419
+ 'attr' => $attr,
420
+ );
421
 
422
  return $this;
423
  }
424
 
425
  public function generate_menus() {
426
+ add_filter( 'plugin_action_links_' . $this->plugin_file, array( $this, 'insert_plugin_links' ) );
427
+ add_filter( 'plugin_row_meta', array( $this, 'insert_plugin_row_meta' ), 10, 2 );
428
 
429
+ if ( ! empty( $this->parent_menu_slug ) ) {
430
  $this->prepare_grid_links();
431
  $this->prepare_pro_links();
432
  }
433
  }
434
 
435
  public static function init() {
436
+ add_action( 'admin_head', array( __CLASS__, 'enqueue_scripts' ) );
437
  }
438
 
439
  public function call() {
440
+ add_action( 'admin_menu', array( $this, 'generate_menus' ), 99999 );
441
  }
442
  }
443
 
libs/pro-label/admin-notice.php CHANGED
@@ -1,23 +1,26 @@
1
  <?php
2
  namespace ElementsKit_Lite\Libs\Pro_Label;
 
3
  defined( 'ABSPATH' ) || exit;
4
 
5
- trait Admin_Notice{
6
 
7
- public function footer_alert_box(){
8
- include 'views/modal.php';
9
- }
10
 
11
- public function show_go_pro_notice(){
12
 
13
- \Oxaim\Libs\Notice::instance('elementskit-lite', 'go-pro-noti2ce')
14
- ->set_dismiss('global', (3600 * 24 * 300))
15
- ->set_type('warning')
16
- ->set_message('
 
17
  <div class="ekit-go-pro-notice">
18
  <strong>Thank you for using ElementsKit Lite.</strong> To get more amazing features and the outstanding pro ready-made layouts, please get the <a style="color: #FCB214;" target="_blank" href="https://wpmet.com/elementskit-pricing">Premium Version</a>.
19
  </div>
20
- ')
21
- ->call();
22
- }
23
- }
 
1
  <?php
2
  namespace ElementsKit_Lite\Libs\Pro_Label;
3
+
4
  defined( 'ABSPATH' ) || exit;
5
 
6
+ trait Admin_Notice {
7
 
8
+ public function footer_alert_box() {
9
+ include 'views/modal.php';
10
+ }
11
 
12
+ public function show_go_pro_notice() {
13
 
14
+ \Oxaim\Libs\Notice::instance( 'elementskit-lite', 'go-pro-noti2ce' )
15
+ ->set_dismiss( 'global', ( 3600 * 24 * 300 ) )
16
+ ->set_type( 'warning' )
17
+ ->set_message(
18
+ '
19
  <div class="ekit-go-pro-notice">
20
  <strong>Thank you for using ElementsKit Lite.</strong> To get more amazing features and the outstanding pro ready-made layouts, please get the <a style="color: #FCB214;" target="_blank" href="https://wpmet.com/elementskit-pricing">Premium Version</a>.
21
  </div>
22
+ '
23
+ )
24
+ ->call();
25
+ }
26
+ }
libs/pro-label/init.php CHANGED
@@ -1,24 +1,25 @@
1
  <?php
2
  namespace ElementsKit_Lite\Libs\Pro_Label;
 
3
  defined( 'ABSPATH' ) || exit;
4
 
5
- class Init{
6
- use Admin_Notice;
7
 
8
- public function __construct(){
9
- add_action( 'current_screen', [$this, 'hook_current_screen'] );
10
- }
11
 
12
- public function hook_current_screen($screen){
13
- if(!in_array($screen->id, ['nav-menus', 'toplevel_page_elementskit', 'edit-elementskit_template', 'dashboard'])){
14
- return;
15
- }
16
 
17
- $activation_stamp = get_option('elementskit_lite_activation_stamp');
18
- if(date('d', (time() - $activation_stamp)) > 10){
19
- add_action( 'admin_head', [$this, 'show_go_pro_notice'] );
20
- }
21
 
22
- add_action('admin_footer', [$this, 'footer_alert_box']);
23
- }
24
- }
1
  <?php
2
  namespace ElementsKit_Lite\Libs\Pro_Label;
3
+
4
  defined( 'ABSPATH' ) || exit;
5
 
6
+ class Init {
7
+ use Admin_Notice;
8
 
9
+ public function __construct() {
10
+ add_action( 'current_screen', array( $this, 'hook_current_screen' ) );
11
+ }
12
 
13
+ public function hook_current_screen( $screen ) {
14
+ if ( ! in_array( $screen->id, array( 'nav-menus', 'toplevel_page_elementskit', 'edit-elementskit_template', 'dashboard' ) ) ) {
15
+ return;
16
+ }
17
 
18
+ $activation_stamp = get_option( 'elementskit_lite_activation_stamp' );
19
+ if ( date( 'd', ( time() - $activation_stamp ) ) > 10 ) {
20
+ add_action( 'admin_head', array( $this, 'show_go_pro_notice' ) );
21
+ }
22
 
23
+ add_action( 'admin_footer', array( $this, 'footer_alert_box' ) );
24
+ }
25
+ }
libs/rating/rating.php CHANGED
@@ -2,446 +2,417 @@
2
 
3
  namespace Wpmet\Libs;
4
 
5
- defined('ABSPATH') || exit;
6
 
7
  use DateTime;
8
  use Oxaim\Libs\Notice as LibsNotice;
9
 
10
- if (!class_exists('Wpmet\Libs\Rating')) {
11
-
12
- /**
13
- * Asking client for rating and
14
- * other stuffs
15
- * Class Rating
16
- * @package MetForm\Utils
17
- */
18
- class Rating
19
- {
20
- private $plugin_name;
21
- private $priority = 10;
22
- private $days;
23
- private $rating_url;
24
- private $version;
25
- private $condition_status = true;
26
- private $text_domain;
27
- private $plugin_logo;
28
- private $plugin_screens;
29
- private $duplication = false;
30
- private $never_show_triggered = false;
31
-
32
- /**
33
- * scripts version
34
- *
35
- * @var string
36
- */
37
- protected $script_version = '2.0.0';
38
-
39
- private static $instance;
40
-
41
- /**
42
- * Method: instance -> Return Notice module class instance
43
- *
44
- * @param string|null $text_domain
45
- * @param string|null $unique_id
46
- * @return mixed
47
- */
48
- public static function instance($text_domain = null, $unique_id = null)
49
- {
50
- if ($text_domain == null) {
51
- return false;
52
- }
53
-
54
- self::$instance = new self();
55
- self::$instance->config($text_domain, (is_null($unique_id) ? uniqid() : $unique_id));
56
- return self::$instance;
57
- }
58
-
59
- /**
60
- * Set Text domain
61
- *
62
- * @param string $text_domain
63
- * @param string $unique_id
64
- */
65
- public function config($text_domain, $unique_id)
66
- {
67
- $this->text_domain = $text_domain;
68
- }
69
-
70
- /**
71
- * Get vesrion of $this
72
- *
73
- * @return \Wpmet\Rating\Rating
74
- */
75
- public function get_version()
76
- {
77
- return $this->script_version;
78
- }
79
-
80
- /**
81
- * @return $this file location for debugging 🐛 purpose
82
- */
83
- public function get_script_location()
84
- {
85
- return __FILE__;
86
- }
87
-
88
- /**
89
- * @param
90
- */
91
- public function set_plugin($plugin_name, $plugin_url)
92
- {
93
- $this->plugin_name = $plugin_name;
94
- $this->rating_url = $plugin_url;
95
- return $this;
96
- }
97
-
98
- /**
99
- * @param
100
- */
101
- public function set_priority($priority)
102
- {
103
- $this->priority = $priority;
104
- return $this;
105
- }
106
-
107
- public function set_first_appear_day($days = 7)
108
- {
109
- $this->days = $days;
110
- return $this;
111
- }
112
-
113
- public function set_rating_url($url)
114
- {
115
- $this->rating_url = $url;
116
- return $this;
117
- }
118
-
119
- public function set_plugin_logo($logo_url)
120
- {
121
- $this->plugin_logo = $logo_url;
122
- return $this;
123
- }
124
-
125
- public function set_allowed_screens($screen)
126
- {
127
-
128
- $this->plugin_screens[] = $screen;
129
-
130
- return $this;
131
- }
132
-
133
- public function set_condition($result)
134
- {
135
- switch (gettype($result)) {
136
- case 'boolean':
137
- $this->condition_status = $result;
138
- break;
139
- case 'object':
140
- $this->condition_status = $result();
141
- break;
142
- default:
143
- $this->condition_status = false;
144
- }
145
-
146
- return $this;
147
- }
148
-
149
- public static function init()
150
- {
151
- add_action("wp_ajax_wpmet_rating_never_show_message", [__CLASS__, "never_show_message"]);
152
- add_action("wp_ajax_wpmet_rating_ask_me_later_message", [__CLASS__, "ask_me_later_message"]);
153
- }
154
-
155
- protected function is_current_screen_allowed($current_screen_id)
156
- {
157
- if (in_array($current_screen_id, array_merge($this->plugin_screens, ['dashboard', 'plugins']))) {
158
- return true;
159
- }
160
-
161
- return false;
162
- }
163
-
164
- /**
165
- * ------------------------------------------
166
- * 🚀 Rating class execution point
167
- * ------------------------------------------
168
- */
169
- public function call()
170
- {
171
-
172
- $this->init();
173
- add_action('admin_head', [$this, 'fire'], $this->priority);
174
- }
175
-
176
- /**
177
- * -------------------------------------------
178
- * 🔥 fire the rating functionality
179
- * -------------------------------------------
180
- */
181
- public function fire()
182
- {
183
-
184
- if (current_user_can('update_plugins')) {
185
-
186
- $current_screen = get_current_screen();
187
-
188
- if (!$this->is_current_screen_allowed($current_screen->id)) {
189
- return;
190
- }
191
-
192
- if ($this->condition_status === false) {
193
- return;
194
- }
195
-
196
- add_action('admin_footer', [$this, 'scripts'], 9999);
197
-
198
-
199
- if ($this->action_on_fire()) {
200
- if (!$this->is_installation_date_exists()) {
201
- $this->set_installation_date();
202
- }
203
-
204
-
205
- if (get_option($this->text_domain . '_never_show') == 'yes') {
206
-
207
- return;
208
- }
209
-
210
-
211
- // $this->display_message_box();
212
-
213
-
214
- if (get_option($this->text_domain . '_ask_me_later') == 'yes') {
215
-
216
- $this->days = '30';
217
- $this->duplication = true;
218
- $this->never_show_triggered = true;
219
- if($this->get_remaining_days() >= $this->days){
220
- $this->duplication = false;
221
- }
222
- }
223
-
224
- $this->display_message_box();
225
-
226
-
227
-
228
- }
229
- }
230
- }
231
-
232
-
233
-
234
- private function action_on_fire()
235
- {
236
- return true;
237
- }
238
-
239
-
240
- public function set_installation_date()
241
- {
242
- add_option($this->text_domain . '_install_date', date('Y-m-d h:i:s'));
243
- }
244
-
245
- public function is_installation_date_exists()
246
- {
247
- return (get_option($this->text_domain . '_install_date') == false) ? false : true;
248
- }
249
-
250
- public function get_installation_date()
251
- {
252
- return get_option($this->text_domain . '_install_date');
253
- }
254
-
255
- public function set_first_action_date()
256
- {
257
- add_option($this->text_domain . '_first_action_Date', date('Y-m-d h:i:s'));
258
- add_option($this->text_domain . '_first_action', 'yes');
259
- }
260
-
261
- public function get_days($from_date, $to_date)
262
- {
263
- return round(($to_date->format('U') - $from_date->format('U')) / (60 * 60 * 24));
264
- }
265
-
266
- public function is_first_use($in_days)
267
- {
268
- $install_date = get_option($this->text_domain . '_install_date');
269
- $display_date = date('Y-m-d h:i:s');
270
- $datetime1 = new DateTime($install_date);
271
- $datetime2 = new DateTime($display_date);
272
- $diff_interval = $this->get_days($datetime1, $datetime2);
273
-
274
- if (abs($diff_interval) >= $in_days && get_option($this->text_domain . '_first_action_Date') == "yes") {
275
-
276
- // action implementation here
277
-
278
- }
279
- }
280
-
281
- /**
282
- * ---------------------------------------------
283
- * Change the status of Rating notification
284
- * not to show the message again
285
- * ---------------------------------------------
286
- */
287
- public static function never_show_message()
288
- {
289
- $plugin_name = sanitize_key($_POST['plugin_name']);
290
- add_option($plugin_name . '_never_show', 'yes');
291
- }
292
-
293
- public function get_remaining_days(){
294
- $install_date = get_option($this->text_domain . '_install_date');
295
- $display_date = date('Y-m-d h:i:s');
296
- $datetime1 = new DateTime($install_date);
297
- $datetime2 = new DateTime($display_date);
298
- $diff_interval = $this->get_days($datetime1, $datetime2);
299
- return abs($diff_interval);
300
- }
301
-
302
- /**
303
- *----------------------------------
304
- * Ask me later functionality
305
- *----------------------------------
306
- */
307
- public function display_message_box()
308
- {
309
-
310
- if(!$this->duplication){
311
- global $wpmet_libs_execution_container;
312
-
313
- if(isset($wpmet_libs_execution_container['rating'])){
314
- return;
315
- }
316
-
317
- }
318
-
319
-
320
- $wpmet_libs_execution_container['rating'] = __FILE__;
321
-
322
- $install_date = get_option($this->text_domain . '_install_date');
323
- $display_date = date('Y-m-d h:i:s');
324
- $datetime1 = new DateTime($install_date);
325
- $datetime2 = new DateTime($display_date);
326
- $diff_interval = $this->get_days($datetime1, $datetime2);
327
- if (abs($diff_interval) >= $this->days) {
328
-
329
- $not_good_enough_btn_id = ($this->never_show_triggered) ? '_btn_never_show' : '_btn_not_good';
330
-
331
- $message = "Hello! Seems like you have used {$this->plugin_name} to build this website — Thanks a lot! <br>
332
  Could you please do us a <b>big favor</b> and give it a <b>5-star</b> rating on WordPress?
333
  This would boost our motivation and help other users make a comfortable decision while choosing the {$this->plugin_name}";
334
 
335
- LibsNotice::instance($this->text_domain, '_plugin_rating_msg_used_in_day')
336
- ->set_message($message)
337
- ->set_logo($this->plugin_logo, "max-height: 100px !important")
338
- ->set_button([
339
- 'url' => $this->rating_url,
340
- 'text' => 'Ok, you deserved it',
341
- 'class' => 'button-primary',
342
- 'id' => $this->text_domain . '_btn_deserved',
343
- ])
344
- ->set_button([
345
- 'url' => '#',
346
- 'text' => 'I already did',
347
- 'class' => 'button-default',
348
- 'id' => $this->text_domain. '_btn_already_did',
349
- 'icon' => 'dashicons-before dashicons-smiley'
350
- ])
351
- ->set_button([
352
- 'url' => 'https://wpmet.com/support-ticket',
353
- 'text' => 'I need support',
354
- 'class' => 'button-default',
355
- 'id' => '#',
356
- 'icon' => 'dashicons-before dashicons-sos',
357
- ])
358
- ->set_button([
359
- 'url' => '#',
360
- 'text' => 'No, not good enough',
361
- 'class' => 'button-default',
362
- 'id' => $this->text_domain . $not_good_enough_btn_id ,
363
- 'icon' => 'dashicons-before dashicons-thumbs-down',
364
- ])
365
- ->call();
366
- }
367
- }
368
-
369
-
370
- /**
371
- *---------------------------------------------------------
372
- * When user will click @notGoodEnough button
373
- * Then it will fire this function to change the status
374
- * for next asking time
375
- *---------------------------------------------------------
376
- */
377
-
378
-
379
- public static function ask_me_later_message()
380
- {
381
- $plugin_name = sanitize_key($_POST['plugin_name']);
382
- if (get_option($plugin_name . '_ask_me_later') == false) {
383
- add_option($plugin_name . '_ask_me_later', 'yes');
384
- } else {
385
- add_option($plugin_name . '_never_show', 'yes');
386
- }
387
- }
388
-
389
- /**
390
- *--------------------------------------
391
- * Get current version of the plugin
392
- *--------------------------------------
393
- */
394
-
395
- public function get_current_version()
396
- {
397
-
398
- return $this->version;
399
- }
400
-
401
- /**
402
- *-------------------------------------------
403
- * Get previous version of the plugin
404
- * that have been stored in database
405
- *-------------------------------------------
406
- */
407
-
408
-
409
- public function get_previous_version()
410
- {
411
-
412
- return get_option($this->text_domain . '_version');
413
- }
414
-
415
- /**
416
- *----------------------------------------
417
- * Set current version of the plugin
418
- *----------------------------------------
419
- */
420
-
421
- public function set_version($version)
422
- {
423
- if (!get_option($this->text_domain . '_version')) {
424
- add_option($this->text_domain . '_version');
425
- } else {
426
- update_option($this->text_domain . '_version', $version);
427
- }
428
- }
429
-
430
- /**
431
- *
432
- * JS Ajax script for updating
433
- * rating status from users
434
- *
435
- */
436
-
437
- public function scripts()
438
- {
439
-
440
- echo "
 
 
 
441
  <script>
442
  jQuery(document).ready(function ($) {
443
 
444
- $( '#".$this->text_domain."_btn_already_did' ).on( 'click', function() {
445
 
446
  $.ajax({
447
  url: ajaxurl,
@@ -459,7 +430,7 @@ if (!class_exists('Wpmet\Libs\Rating')) {
459
 
460
  });
461
 
462
- $('#".$this->text_domain."_btn_deserved').click(function(){
463
  $.ajax({
464
  url: ajaxurl,
465
  type: 'POST',
@@ -475,7 +446,7 @@ if (!class_exists('Wpmet\Libs\Rating')) {
475
  });
476
  });
477
 
478
- $('#".$this->text_domain."_btn_not_good').click(function(){
479
  $.ajax({
480
  url: ajaxurl,
481
  type: 'POST',
@@ -491,7 +462,7 @@ if (!class_exists('Wpmet\Libs\Rating')) {
491
  });
492
  });
493
 
494
- $('#".$this->text_domain."_btn_never_show').click(function(){
495
  $.ajax({
496
  url: ajaxurl,
497
  type: 'POST',
@@ -510,6 +481,6 @@ if (!class_exists('Wpmet\Libs\Rating')) {
510
  });
511
  </script>
512
  ";
513
- }
514
- }
515
  }
2
 
3
  namespace Wpmet\Libs;
4
 
5
+ defined( 'ABSPATH' ) || exit;
6
 
7
  use DateTime;
8
  use Oxaim\Libs\Notice as LibsNotice;
9
 
10
+ if ( ! class_exists( 'Wpmet\Libs\Rating' ) ) {
11
+
12
+ /**
13
+ * Asking client for rating and
14
+ * other stuffs
15
+ * Class Rating
16
+ * @package MetForm\Utils
17
+ */
18
+ class Rating {
19
+
20
+ private $plugin_name;
21
+ private $priority = 10;
22
+ private $days;
23
+ private $rating_url;
24
+ private $version;
25
+ private $condition_status = true;
26
+ private $text_domain;
27
+ private $plugin_logo;
28
+ private $plugin_screens;
29
+ private $duplication = false;
30
+ private $never_show_triggered = false;
31
+
32
+ /**
33
+ * scripts version
34
+ *
35
+ * @var string
36
+ */
37
+ protected $script_version = '2.0.0';
38
+
39
+ private static $instance;
40
+
41
+ /**
42
+ * Method: instance -> Return Notice module class instance
43
+ *
44
+ * @param string|null $text_domain
45
+ * @param string|null $unique_id
46
+ * @return mixed
47
+ */
48
+ public static function instance( $text_domain = null, $unique_id = null ) {
49
+ if ( $text_domain == null ) {
50
+ return false;
51
+ }
52
+
53
+ self::$instance = new self();
54
+ self::$instance->config( $text_domain, ( is_null( $unique_id ) ? uniqid() : $unique_id ) );
55
+ return self::$instance;
56
+ }
57
+
58
+ /**
59
+ * Set Text domain
60
+ *
61
+ * @param string $text_domain
62
+ * @param string $unique_id
63
+ */
64
+ public function config( $text_domain, $unique_id ) {
65
+ $this->text_domain = $text_domain;
66
+ }
67
+
68
+ /**
69
+ * Get vesrion of $this
70
+ *
71
+ * @return \Wpmet\Rating\Rating
72
+ */
73
+ public function get_version() {
74
+ return $this->script_version;
75
+ }
76
+
77
+ /**
78
+ * @return $this file location for debugging 🐛 purpose
79
+ */
80
+ public function get_script_location() {
81
+ return __FILE__;
82
+ }
83
+
84
+ /**
85
+ * @param
86
+ */
87
+ public function set_plugin( $plugin_name, $plugin_url ) {
88
+ $this->plugin_name = $plugin_name;
89
+ $this->rating_url = $plugin_url;
90
+ return $this;
91
+ }
92
+
93
+ /**
94
+ * @param
95
+ */
96
+ public function set_priority( $priority ) {
97
+ $this->priority = $priority;
98
+ return $this;
99
+ }
100
+
101
+ public function set_first_appear_day( $days = 7 ) {
102
+ $this->days = $days;
103
+ return $this;
104
+ }
105
+
106
+ public function set_rating_url( $url ) {
107
+ $this->rating_url = $url;
108
+ return $this;
109
+ }
110
+
111
+ public function set_plugin_logo( $logo_url ) {
112
+ $this->plugin_logo = $logo_url;
113
+ return $this;
114
+ }
115
+
116
+ public function set_allowed_screens( $screen ) {
117
+
118
+ $this->plugin_screens[] = $screen;
119
+
120
+ return $this;
121
+ }
122
+
123
+ public function set_condition( $result ) {
124
+ switch ( gettype( $result ) ) {
125
+ case 'boolean':
126
+ $this->condition_status = $result;
127
+ break;
128
+ case 'object':
129
+ $this->condition_status = $result();
130
+ break;
131
+ default:
132
+ $this->condition_status = false;
133
+ }
134
+
135
+ return $this;
136
+ }
137
+
138
+ public static function init() {
139
+ add_action( 'wp_ajax_wpmet_rating_never_show_message', array( __CLASS__, 'never_show_message' ) );
140
+ add_action( 'wp_ajax_wpmet_rating_ask_me_later_message', array( __CLASS__, 'ask_me_later_message' ) );
141
+ }
142
+
143
+ protected function is_current_screen_allowed( $current_screen_id ) {
144
+ if ( in_array( $current_screen_id, array_merge( $this->plugin_screens, array( 'dashboard', 'plugins' ) ) ) ) {
145
+ return true;
146
+ }
147
+
148
+ return false;
149
+ }
150
+
151
+ /**
152
+ * ------------------------------------------
153
+ * 🚀 Rating class execution point
154
+ * ------------------------------------------
155
+ */
156
+ public function call() {
157
+
158
+ $this->init();
159
+ add_action( 'admin_head', array( $this, 'fire' ), $this->priority );
160
+ }
161
+
162
+ /**
163
+ * -------------------------------------------
164
+ * 🔥 fire the rating functionality
165
+ * -------------------------------------------
166
+ */
167
+ public function fire() {
168
+
169
+ if ( current_user_can( 'update_plugins' ) ) {
170
+
171
+ $current_screen = get_current_screen();
172
+
173
+ if ( ! $this->is_current_screen_allowed( $current_screen->id ) ) {
174
+ return;
175
+ }
176
+
177
+ if ( $this->condition_status === false ) {
178
+ return;
179
+ }
180
+
181
+ add_action( 'admin_footer', array( $this, 'scripts' ), 9999 );
182
+
183
+ if ( $this->action_on_fire() ) {
184
+ if ( ! $this->is_installation_date_exists() ) {
185
+ $this->set_installation_date();
186
+ }
187
+
188
+ if ( get_option( $this->text_domain . '_never_show' ) == 'yes' ) {
189
+
190
+ return;
191
+ }
192
+
193
+ // $this->display_message_box();
194
+
195
+ if ( get_option( $this->text_domain . '_ask_me_later' ) == 'yes' ) {
196
+
197
+ $this->days = '30';
198
+ $this->duplication = true;
199
+ $this->never_show_triggered = true;
200
+ if ( $this->get_remaining_days() >= $this->days ) {
201
+ $this->duplication = false;
202
+ }
203
+ }
204
+
205
+ $this->display_message_box();
206
+
207
+ }
208
+ }
209
+ }
210
+
211
+
212
+
213
+ private function action_on_fire() {
214
+ return true;
215
+ }
216
+
217
+
218
+ public function set_installation_date() {
219
+ add_option( $this->text_domain . '_install_date', date( 'Y-m-d h:i:s' ) );
220
+ }
221
+
222
+ public function is_installation_date_exists() {
223
+ return ( get_option( $this->text_domain . '_install_date' ) == false ) ? false : true;
224
+ }
225
+
226
+ public function get_installation_date() {
227
+ return get_option( $this->text_domain . '_install_date' );
228
+ }
229
+
230
+ public function set_first_action_date() {
231
+ add_option( $this->text_domain . '_first_action_Date', date( 'Y-m-d h:i:s' ) );
232
+ add_option( $this->text_domain . '_first_action', 'yes' );
233
+ }
234
+
235
+ public function get_days( $from_date, $to_date ) {
236
+ return round( ( $to_date->format( 'U' ) - $from_date->format( 'U' ) ) / ( 60 * 60 * 24 ) );
237
+ }
238
+
239
+ public function is_first_use( $in_days ) {
240
+ $install_date = get_option( $this->text_domain . '_install_date' );
241
+ $display_date = date( 'Y-m-d h:i:s' );
242
+ $datetime1 = new DateTime( $install_date );
243
+ $datetime2 = new DateTime( $display_date );
244
+ $diff_interval = $this->get_days( $datetime1, $datetime2 );
245
+
246
+ if ( abs( $diff_interval ) >= $in_days && get_option( $this->text_domain . '_first_action_Date' ) == 'yes' ) {
247
+
248
+ // action implementation here
249
+
250
+ }
251
+ }
252
+
253
+ /**
254
+ * ---------------------------------------------
255
+ * Change the status of Rating notification
256
+ * not to show the message again
257
+ * ---------------------------------------------
258
+ */
259
+ public static function never_show_message() {
260
+ $plugin_name = sanitize_key( $_POST['plugin_name'] );
261
+ add_option( $plugin_name . '_never_show', 'yes' );
262
+ }
263
+
264
+ public function get_remaining_days() {
265
+ $install_date = get_option( $this->text_domain . '_install_date' );
266
+ $display_date = date( 'Y-m-d h:i:s' );
267
+ $datetime1 = new DateTime( $install_date );
268
+ $datetime2 = new DateTime( $display_date );
269
+ $diff_interval = $this->get_days( $datetime1, $datetime2 );
270
+ return abs( $diff_interval );
271
+ }
272
+
273
+ /**
274
+ *----------------------------------
275
+ * Ask me later functionality
276
+ *----------------------------------
277
+ */
278
+ public function display_message_box() {
279
+
280
+ if ( ! $this->duplication ) {
281
+ global $wpmet_libs_execution_container;
282
+
283
+ if ( isset( $wpmet_libs_execution_container['rating'] ) ) {
284
+ return;
285
+ }
286
+ }
287
+
288
+ $wpmet_libs_execution_container['rating'] = __FILE__;
289
+
290
+ $install_date = get_option( $this->text_domain . '_install_date' );
291
+ $display_date = date( 'Y-m-d h:i:s' );
292
+ $datetime1 = new DateTime( $install_date );
293
+ $datetime2 = new DateTime( $display_date );
294
+ $diff_interval = $this->get_days( $datetime1, $datetime2 );
295
+ if ( abs( $diff_interval ) >= $this->days ) {
296
+
297
+ $not_good_enough_btn_id = ( $this->never_show_triggered ) ? '_btn_never_show' : '_btn_not_good';
298
+
299
+ $message = "Hello! Seems like you have used {$this->plugin_name} to build this website — Thanks a lot! <br>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
300
  Could you please do us a <b>big favor</b> and give it a <b>5-star</b> rating on WordPress?
301
  This would boost our motivation and help other users make a comfortable decision while choosing the {$this->plugin_name}";
302
 
303
+ LibsNotice::instance( $this->text_domain, '_plugin_rating_msg_used_in_day' )
304
+ ->set_message( $message )
305
+ ->set_logo( $this->plugin_logo, 'max-height: 100px !important' )
306
+ ->set_button(
307
+ array(
308
+ 'url' => $this->rating_url,
309
+ 'text' => 'Ok, you deserved it',
310
+ 'class' => 'button-primary',
311
+ 'id' => $this->text_domain . '_btn_deserved',
312
+ )
313
+ )
314
+ ->set_button(
315
+ array(
316
+ 'url' => '#',
317
+ 'text' => 'I already did',
318
+ 'class' => 'button-default',
319
+ 'id' => $this->text_domain . '_btn_already_did',
320
+ 'icon' => 'dashicons-before dashicons-smiley',
321
+ )
322
+ )
323
+ ->set_button(
324
+ array(
325
+ 'url' => 'https://wpmet.com/support-ticket',
326
+ 'text' => 'I need support',
327
+ 'class' => 'button-default',
328
+ 'id' => '#',
329
+ 'icon' => 'dashicons-before dashicons-sos',
330
+ )
331
+ )
332
+ ->set_button(
333
+ array(
334
+ 'url' => '#',
335
+ 'text' => 'No, not good enough',
336
+ 'class' => 'button-default',
337
+ 'id' => $this->text_domain . $not_good_enough_btn_id,
338
+ 'icon' => 'dashicons-before dashicons-thumbs-down',
339
+ )
340
+ )
341
+ ->call();
342
+ }
343
+ }
344
+
345
+
346
+ /**
347
+ *---------------------------------------------------------
348
+ * When user will click @notGoodEnough button
349
+ * Then it will fire this function to change the status
350
+ * for next asking time
351
+ *---------------------------------------------------------
352
+ */
353
+
354
+
355
+ public static function ask_me_later_message() {
356
+ $plugin_name = sanitize_key( $_POST['plugin_name'] );
357
+ if ( get_option( $plugin_name . '_ask_me_later' ) == false ) {
358
+ add_option( $plugin_name . '_ask_me_later', 'yes' );
359
+ } else {
360
+ add_option( $plugin_name . '_never_show', 'yes' );
361
+ }
362
+ }
363
+
364
+ /**
365
+ *--------------------------------------
366
+ * Get current version of the plugin
367
+ *--------------------------------------
368
+ */
369
+
370
+ public function get_current_version() {
371
+
372
+ return $this->version;
373
+ }
374
+
375
+ /**
376
+ *-------------------------------------------
377
+ * Get previous version of the plugin
378
+ * that have been stored in database
379
+ *-------------------------------------------
380
+ */
381
+
382
+
383
+ public function get_previous_version() {
384
+
385
+ return get_option( $this->text_domain . '_version' );
386
+ }
387
+
388
+ /**
389
+ *----------------------------------------
390
+ * Set current version of the plugin
391
+ *----------------------------------------
392
+ */
393
+
394
+ public function set_version( $version ) {
395
+ if ( ! get_option( $this->text_domain . '_version' ) ) {
396
+ add_option( $this->text_domain . '_version' );
397
+ } else {
398
+ update_option( $this->text_domain . '_version', $version );
399
+ }
400
+ }
401
+
402
+ /**
403
+ *
404
+ * JS Ajax script for updating
405
+ * rating status from users
406
+ *
407
+ */
408
+
409
+ public function scripts() {
410
+
411
+ echo "
412
  <script>
413
  jQuery(document).ready(function ($) {
414
 
415
+ $( '#" . $this->text_domain . "_btn_already_did' ).on( 'click', function() {
416
 
417
  $.ajax({
418
  url: ajaxurl,
430
 
431
  });
432
 
433
+ $('#" . $this->text_domain . "_btn_deserved').click(function(){
434
  $.ajax({
435
  url: ajaxurl,
436
  type: 'POST',
446
  });
447
  });
448
 
449
+ $('#" . $this->text_domain . "_btn_not_good').click(function(){
450
  $.ajax({
451
  url: ajaxurl,
452
  type: 'POST',
462
  });
463
  });
464
 
465
+ $('#" . $this->text_domain . "_btn_never_show').click(function(){
466
  $.ajax({
467
  url: ajaxurl,
468
  type: 'POST',
481
  });
482
  </script>
483
  ";
484
+ }
485
+ }
486
  }
libs/stories/stories.php CHANGED
@@ -1,319 +1,318 @@
1
  <?php
2
  namespace Wpmet\Libs;
3
 
4
- defined('ABSPATH') || exit;
5
 
6
- if (!class_exists('\Wpmet\Libs\Stories')):
7
 
8
- class Stories {
9
 
10
- protected $script_version = '1.1.1';
11
 
12
- protected $key = 'wpmet_stories';
13
- protected $data;
14
- protected $title;
15
- protected $plugin_link = [];
16
- protected $last_check;
17
- protected $check_interval = (3600 * 6);
18
 
19
- protected $plugin_screens;
20
 
21
- protected $text_domain;
22
- protected $filter_string;
23
- protected $api_url;
24
 
25
- private $stories;
26
 
27
- /**
28
- * Get version of this script
29
- *
30
- * @return string Version name
31
- */
32
- public function get_version() {
33
- return $this->script_version;
34
- }
35
 
36
- /**
37
- * Get current directory path
38
- *
39
- * @return string
40
- */
41
- public function get_script_location() {
42
- return __FILE__;
43
- }
44
 
45
- public function set_plugin($link_title, $weblink = 'https://wpmet.com/') {
46
- $this->plugin_link[] = [ $link_title, $weblink ];
47
 
48
- return $this;
49
- }
50
 
51
- public function call() {
52
- add_action('wp_dashboard_setup', [$this, 'show_story_widget'], 111);
53
- }
54
 
55
- private function in_whitelist($conf, $list) {
56
 
57
- $match = $conf->data->whitelist;
58
 
59
- if (empty($match)) {
60
 
61
- return true;
62
- };
63
 
64
- $match_arr = explode(',', $match);
65
 
66
- foreach ($list as $word) {
67
- if (in_array($word, $match_arr)) {
68
 
69
- return true;
70
- }
71
- }
72
 
73
- return false;
74
- }
75
 
76
- private function in_blacklist($conf, $list) {
77
 
78
- $match = $conf->data->blacklist;
79
 
80
- if (empty($match)) {
81
 
82
- return false;
83
- };
84
 
85
- $match_arr = explode(',', $match);
86
 
87
- foreach ($match_arr as $idx => $item) {
88
 
89
- $match_arr[$idx] = trim($item);
90
- }
91
 
92
- foreach ($list as $word) {
93
- if (in_array($word, $match_arr)) {
94
 
95
- return true;
96
- }
97
- }
98
 
99
- return false;
100
- }
101
 
102
- public function set_title($title = '') {
103
- $this->title = $title;
104
 
105
- return $this;
106
- }
107
 
108
- public function is_test($is_test = false) {
109
 
110
- if ($is_test === true) {
111
- $this->check_interval = 1;
112
- }
113
 
114
- return $this;
115
- }
116
 
117
- public function set_text_domain($text_domain) {
118
 
119
- $this->text_domain = $text_domain;
120
 
121
- return $this;
122
- }
123
 
124
- public function set_filter($filter_string) {
125
 
126
- $this->filter_string = $filter_string;
127
 
128
- return $this;
129
- }
130
 
131
- public function set_api_url($url) {
132
 
133
- $this->api_url = $url;
134
 
135
- return $this;
136
- }
137
 
138
- public function set_plugin_screens($screen) {
139
 
140
- $this->plugin_screens[] = $screen;
141
 
142
- return $this;
143
- }
144
 
145
- private function set_stories($story) {
146
- $filter = [$this->text_domain];
147
- foreach (get_option('active_plugins') as $plugin) {
148
- $temp = pathinfo($plugin);
149
- if(!empty($temp)) {
150
- $filter[] = trim($temp['filename']);
151
- }
152
- }
153
 
154
- if (isset($this->stories[$story->id])) {
155
- return;
156
- }
157
-
158
- // if start and endtime is set, check current time is inside the timeframe
159
- if ((!empty($story->start) && !empty($story->end)) && (intval($story->start) > time() || intval($story->end) < time())) {
160
- return;
161
- }
162
 
163
- if(empty(array_intersect($filter, $story->plugins))) {
164
- return;
165
- }
166
 
167
- $this->stories[$story->id] = [
168
- 'id' => $story->id,
169
- 'title' => $story->title,
170
- 'description' => $story->description,
171
- 'type' => $story->type,
172
- 'priority' => $story->priority,
173
- 'story_link' => $story->data->story_link,
174
- 'story_image' => $story->data->story_image,
175
- ];
176
- }
177
 
178
- private function get_stories() {
179
- $this->data = get_option($this->text_domain . '__stories_data');
180
- $this->data = $this->data == '' ? [] : $this->data;
181
 
182
- $this->last_check = get_option($this->text_domain . '__stories_last_check');
183
 
184
- $this->last_check = empty($this->last_check) ? 0 : $this->last_check;
 
 
 
 
 
 
 
 
 
185
 
186
- if (($this->check_interval + $this->last_check) < time()) {
187
- $response = wp_remote_get($this->api_url . 'cache/stories.json?nocache=' . time(),
188
- [
189
- 'timeout' => 10,
190
- 'httpversion' => '1.1',
191
- ]
192
- );
193
-
194
-
195
- if (!is_wp_error($response) && isset($response['body']) && $response['body'] != '') {
196
-
197
- $response = json_decode($response['body']);
198
-
199
- if (!empty($response)) {
200
- $this->data = $response;
201
-
202
- update_option($this->text_domain . '__stories_last_check', time());
203
- update_option($this->text_domain . '__stories_data', $this->data);
204
- }
205
-
206
- return;
207
- }
208
- }
209
- }
210
-
211
- public function show_story_widget() {
212
- $this->get_stories();
213
-
214
- if (!empty($this->data->error)) {
215
-
216
- return;
217
- }
218
-
219
- if (empty($this->data)) {
220
-
221
- return;
222
- }
223
-
224
- $list = [];
225
-
226
- if (!empty($this->filter_string)) {
227
-
228
- $list = explode(',', $this->filter_string);
229
-
230
- foreach ($list as $idx => $item) {
231
- $list[$idx] = trim($item);
232
- }
233
- $list = array_filter($list);
234
- }
235
-
236
-
237
- foreach ($this->data as $story) {
238
-
239
- if (!empty($list) && $this->in_blacklist($story, $list)) {
240
-
241
- continue;
242
- }
243
-
244
- $this->set_stories($story);
245
- }
246
-
247
- if(empty($this->stories)) {
248
- return;
249
- }
250
-
251
-
252
-
253
- $this->title = (isset($this->title) && !empty($this->title) ? $this->title . ' ' : '') . 'Stories';
254
-
255
- wp_add_dashboard_widget( 'wpmet-stories', __( 'Wpmet Stories', 'elementskit-lite' ), [ $this, 'show' ] );
256
-
257
- // Move our widget to top.
258
- global $wp_meta_boxes;
259
-
260
- $dashboard = $wp_meta_boxes['dashboard']['normal']['core'];
261
- $ours = [
262
- 'wpmet-stories' => $dashboard['wpmet-stories'],
263
- ];
264
-
265
- $wp_meta_boxes['dashboard']['normal']['core'] = array_merge( $ours, $dashboard );
266
- }
267
-
268
- public function show() {
269
- usort($this->stories, function ($a, $b) {
270
- if ($a['priority']==$b['priority']) {
271
- return 0;
272
- }
273
- return ($a['priority'] < $b['priority']) ? -1 : 1;
274
- });
275
- include_once 'views/template.php';
276
-
277
- }
278
-
279
- /**
280
- * Crosscheck if Story library will be shown at current WP admin page or not
281
- *
282
- * @param string $b_screen
283
- * @param string $screen_id
284
- *
285
- * @return boolean
286
- */
287
- public function is_correct_screen_to_show($b_screen, $screen_id) {
288
-
289
- if (in_array($b_screen, [$screen_id, 'all_page'])) {
290
-
291
- return true;
292
- }
293
-
294
- if ($b_screen == 'plugin_page') {
295
-
296
- return in_array($screen_id, $this->plugin_screens);
297
- }
298
-
299
- return false;
300
- }
301
-
302
- /**
303
- * Define singleton instance
304
- *
305
- * @var [type]
306
- */
307
- private static $instance;
308
-
309
- public static function instance($text_domain = '') {
310
-
311
- if(!self::$instance) {
312
- self::$instance = new static();
313
- }
314
-
315
- return self::$instance->set_text_domain($text_domain);
316
- }
317
- }
318
-
319
- endif;
1
  <?php
2
  namespace Wpmet\Libs;
3
 
4
+ defined( 'ABSPATH' ) || exit;
5
 
6
+ if ( ! class_exists( '\Wpmet\Libs\Stories' ) ) :
7
 
8
+ class Stories {
9
 
10
+ protected $script_version = '1.1.1';
11
 
12
+ protected $key = 'wpmet_stories';
13
+ protected $data;
14
+ protected $title;
15
+ protected $plugin_link = array();
16
+ protected $last_check;
17
+ protected $check_interval = ( 3600 * 6 );
18
 
19
+ protected $plugin_screens;
20
 
21
+ protected $text_domain;
22
+ protected $filter_string;
23
+ protected $api_url;
24
 
25
+ private $stories;
26
 
27
+ /**
28
+ * Get version of this script
29
+ *
30
+ * @return string Version name
31
+ */
32
+ public function get_version() {
33
+ return $this->script_version;
34
+ }
35
 
36
+ /**
37
+ * Get current directory path
38
+ *
39
+ * @return string
40
+ */
41
+ public function get_script_location() {
42
+ return __FILE__;
43
+ }
44
 
45
+ public function set_plugin( $link_title, $weblink = 'https://wpmet.com/' ) {
46
+ $this->plugin_link[] = array( $link_title, $weblink );
47
 
48
+ return $this;
49
+ }
50
 
51
+ public function call() {
52
+ add_action( 'wp_dashboard_setup', array( $this, 'show_story_widget' ), 111 );
53
+ }
54
 
55
+ private function in_whitelist( $conf, $list ) {
56
 
57
+ $match = $conf->data->whitelist;
58
 
59
+ if ( empty( $match ) ) {
60
 
61
+ return true;
62
+ };
63
 
64
+ $match_arr = explode( ',', $match );
65
 
66
+ foreach ( $list as $word ) {
67
+ if ( in_array( $word, $match_arr ) ) {
68
 
69
+ return true;
70
+ }
71
+ }
72
 
73
+ return false;
74
+ }
75
 
76
+ private function in_blacklist( $conf, $list ) {
77
 
78
+ $match = $conf->data->blacklist;
79
 
80
+ if ( empty( $match ) ) {
81
 
82
+ return false;
83
+ };
84
 
85
+ $match_arr = explode( ',', $match );
86
 
87
+ foreach ( $match_arr as $idx => $item ) {
88
 
89
+ $match_arr[ $idx ] = trim( $item );
90
+ }
91
 
92
+ foreach ( $list as $word ) {
93
+ if ( in_array( $word, $match_arr ) ) {
94
 
95
+ return true;
96
+ }
97
+ }
98
 
99
+ return false;
100
+ }
101
 
102
+ public function set_title( $title = '' ) {
103
+ $this->title = $title;
104
 
105
+ return $this;
106
+ }
107
 
108
+ public function is_test( $is_test = false ) {
109
 
110
+ if ( $is_test === true ) {
111
+ $this->check_interval = 1;
112
+ }
113
 
114
+ return $this;
115
+ }
116
 
117
+ public function set_text_domain( $text_domain ) {
118
 
119
+ $this->text_domain = $text_domain;
120
 
121
+ return $this;
122
+ }
123
 
124
+ public function set_filter( $filter_string ) {
125
 
126
+ $this->filter_string = $filter_string;
127
 
128
+ return $this;
129
+ }
130
 
131
+ public function set_api_url( $url ) {
132
 
133
+ $this->api_url = $url;
134
 
135
+ return $this;
136
+ }
137
 
138
+ public function set_plugin_screens( $screen ) {
139
 
140
+ $this->plugin_screens[] = $screen;
141
 
142
+ return $this;
143
+ }
144
 
145
+ private function set_stories( $story ) {
146
+ $filter = array( $this->text_domain );
147
+ foreach ( get_option( 'active_plugins' ) as $plugin ) {
148
+ $temp = pathinfo( $plugin );
149
+ if ( ! empty( $temp ) ) {
150
+ $filter[] = trim( $temp['filename'] );
151
+ }
152
+ }
153
 
154
+ if ( isset( $this->stories[ $story->id ] ) ) {
155
+ return;
156
+ }
157
+
158
+ // if start and endtime is set, check current time is inside the timeframe
159
+ if ( ( ! empty( $story->start ) && ! empty( $story->end ) ) && ( intval( $story->start ) > time() || intval( $story->end ) < time() ) ) {
160
+ return;
161
+ }
162
 
163
+ if ( empty( array_intersect( $filter, $story->plugins ) ) ) {
164
+ return;
165
+ }
166
 
167
+ $this->stories[ $story->id ] = array(
168
+ 'id' => $story->id,
169
+ 'title' => $story->title,
170
+ 'description' => $story->description,
171
+ 'type' => $story->type,
172
+ 'priority' => $story->priority,
173
+ 'story_link' => $story->data->story_link,
174
+ 'story_image' => $story->data->story_image,
175
+ );
176
+ }
177
 
178
+ private function get_stories() {
179
+ $this->data = get_option( $this->text_domain . '__stories_data' );
180
+ $this->data = $this->data == '' ? array() : $this->data;
181
 
182
+ $this->last_check = get_option( $this->text_domain . '__stories_last_check' );
183
 
184
+ $this->last_check = empty( $this->last_check ) ? 0 : $this->last_check;
185
+
186
+ if ( ( $this->check_interval + $this->last_check ) < time() ) {
187
+ $response = wp_remote_get(
188
+ $this->api_url . 'cache/stories.json?nocache=' . time(),
189
+ array(
190
+ 'timeout' => 10,
191
+ 'httpversion' => '1.1',
192
+ )
193
+ );
194
 
195
+ if ( ! is_wp_error( $response ) && isset( $response['body'] ) && $response['body'] != '' ) {
196
+
197
+ $response = json_decode( $response['body'] );
198
+
199
+ if ( ! empty( $response ) ) {
200
+ $this->data = $response;
201
+
202
+ update_option( $this->text_domain . '__stories_last_check', time() );
203
+ update_option( $this->text_domain . '__stories_data', $this->data );
204
+ }
205
+
206
+ return;
207
+ }
208
+ }
209
+ }
210
+
211
+ public function show_story_widget() {
212
+ $this->get_stories();
213
+
214
+ if ( ! empty( $this->data->error ) ) {
215
+
216
+ return;
217
+ }
218
+
219
+ if ( empty( $this->data ) ) {
220
+
221
+ return;
222
+ }
223
+
224
+ $list = array();
225
+
226
+ if ( ! empty( $this->filter_string ) ) {
227
+
228
+ $list = explode( ',', $this->filter_string );
229
+
230
+ foreach ( $list as $idx => $item ) {
231
+ $list[ $idx ] = trim( $item );
232
+ }
233
+ $list = array_filter( $list );
234
+ }
235
+
236
+ foreach ( $this->data as $story ) {
237
+
238
+ if ( ! empty( $list ) && $this->in_blacklist( $story, $list ) ) {
239
+
240
+ continue;
241
+ }
242
+
243
+ $this->set_stories( $story );
244
+ }
245
+
246
+ if ( empty( $this->stories ) ) {
247
+ return;
248
+ }
249
+
250
+ $this->title = ( isset( $this->title ) && ! empty( $this->title ) ? $this->title . ' ' : '' ) . 'Stories';
251
+
252
+ wp_add_dashboard_widget( 'wpmet-stories', __( 'Wpmet Stories', 'elementskit-lite' ), array( $this, 'show' ) );
253
+
254
+ // Move our widget to top.
255
+ global $wp_meta_boxes;
256
+
257
+ $dashboard = $wp_meta_boxes['dashboard']['normal']['core'];
258
+ $ours = array(
259
+ 'wpmet-stories' => $dashboard['wpmet-stories'],
260
+ );
261
+
262
+ $wp_meta_boxes['dashboard']['normal']['core'] = array_merge( $ours, $dashboard );
263
+ }
264
+
265
+ public function show() {
266
+ usort(
267
+ $this->stories,
268
+ function ( $a, $b ) {
269
+ if ( $a['priority'] == $b['priority'] ) {
270
+ return 0;
271
+ }
272
+ return ( $a['priority'] < $b['priority'] ) ? -1 : 1;
273
+ }
274
+ );
275
+ include_once 'views/template.php';
276
+ }
277
+
278
+ /**
279
+ * Crosscheck if Story library will be shown at current WP admin page or not
280
+ *
281
+ * @param string $b_screen
282
+ * @param string $screen_id
283
+ *
284
+ * @return boolean
285
+ */
286
+ public function is_correct_screen_to_show( $b_screen, $screen_id ) {
287
+
288
+ if ( in_array( $b_screen, array( $screen_id, 'all_page' ) ) ) {
289
+
290
+ return true;
291
+ }
292
+
293
+ if ( $b_screen == 'plugin_page' ) {
294
+
295
+ return in_array( $screen_id, $this->plugin_screens );
296
+ }
297
+
298
+ return false;
299
+ }
300
+
301
+ /**
302
+ * Define singleton instance
303
+ *
304
+ * @var [type]
305
+ */
306
+ private static $instance;
307
+
308
+ public static function instance( $text_domain = '' ) {
309
+
310
+ if ( ! self::$instance ) {
311
+ self::$instance = new static();
312
+ }
313
+
314
+ return self::$instance->set_text_domain( $text_domain );
315
+ }
316
+ }
317
+
318
+ endif;
 
 
 
 
 
 
 
 
 
 
libs/stories/views/template.php CHANGED
@@ -1,149 +1,149 @@
1
  <style>
2
- .wpmet-str {
3
- display: flex;
4
- flex-wrap: wrap;
5
- width: 100%;
6
- margin-bottom: 10px;
7
- }
8
- .wpmet-str-thumb {
9
- width: 75px;
10
- padding-right: 7px;
11
- box-sizing: border-box;
12
- align-self: flex-start;
13
- padding-top: 5px;
14
- }
15
- .wpmet-str-thumb img {
16
- width: 100%;
17
- display: block;
18
- min-height: 34px;
19
- }
20
- .wpmet-str-desc.with-image {
21
- width: calc(100% - 75px);
22
- font-weight: 400;
23
- line-height: 1.5;
24
- font-size: 13px;
25
- }
26
- .wpmet-str-desc a {
27
- font-weight: 500;
28
- color: #0073aa;
29
- text-decoration: none;
30
- padding-bottom: 5px;
31
- display: inline-block;
32
- }
33
- .wpmet-str:last-child {
34
- margin-bottom: 0;
35
- }
36
- .wpmet-str-desc span {
37
- display: block;
38
- }
39
- .wpmet-bullet-wall {
40
- width: 6px;
41
- height: 6px;
42
- border-radius: 50%;
43
- background-color: black;
44
- display: inline-block;
45
- margin: 0 5px;
46
- }
47
- .wpmet-dashboard-widget-block {
48
- width: 100%;
49
- }
50
- .wpmet-dashboard-widget-block .wpmet-title-bar a{
51
- color: #23282d;
52
- font-weight: 400;
53
- font-size: 12px;
54
- }
55
- .wpmet-dashboard-widget-block .wpmet-title-bar {
56
- display: table;
57
- width: 100%;
58
- -webkit-box-shadow: 0 5px 8px rgba(0, 0, 0, 0.05);
59
- box-shadow: 0 5px 8px rgba(0, 0, 0, 0.05);
60
- margin: 0 -12px 8px;
61
- padding: 0 12px 12px;
62
- }
63
- .wpmet-dashboard-widget-block .wpmet-footer-bar {
64
- border-top: 1px solid #eee;
65
- padding-top: 1rem;
66
- }
67
- .wpmet-dashboard-widget-block .wpmet-footer-bar a {
68
- padding: 0 5px;
69
- }
70
- .wpmet-dashboard-widget-block a {
71
- text-decoration: none;
72
- font-size: 14px;
73
- color: #007cba;
74
- font-weight: 600;
75
- }
76
- .wpmet-str .wpmet-banner {
77
- width: 100%;
78
- }
79
- .wpmet-dashboard-widget-block .dashicons {
80
- vertical-align: middle;
81
- font-size: 17px;
82
- }
83
  </style>
84
 
85
  <div class="wpmet-dashboard-widget-block">
86
- <div class="wpmet-title-bar">
87
- <?php
88
- foreach ($this->plugin_link as $k => $link) {
89
- echo '<a target="_blank" href="' . $link[1] . '">' . $link[0] . '</a>';
90
- if (isset($this->plugin_link[$k + 1])) {
91
- echo '<div class="wpmet-bullet-wall"></div>';
92
- }
93
- }
94
- ?>
95
- </div>
96
  </div>
97
 
98
  <?php
99
- foreach ($this->stories as $story) :
100
- if($story['type'] === 'news' || $story['type'] === '') :
101
- ?>
102
- <div class="wpmet-str <?php echo ((isset($story['story_image']) && $story['story_image'] != '') ? 'with-image' : ''); ?>">
103
- <?php if(isset($story['story_image']) && $story['story_image'] != ''): ?>
104
- <div class="wpmet-str-thumb">
105
- <img src="<?php echo esc_url($story['story_image']); ?>" />
106
- </div>
107
- <?php endif; ?>
108
 
109
- <div class="wpmet-str-desc">
110
 
111
- <a target="_blank" href="<?php echo esc_url($story['story_link']) ?>">
112
- <?php echo esc_html($story['title']); ?>
113
- </a>
114
 
115
- <?php if(isset($story['description']) && $story['description'] != ''): ?>
116
- <span><?php echo esc_html($story['description']); ?> </span>
117
- <?php endif; ?>
118
-
119
- </div>
120
- </div>
121
- <?php
122
- elseif($story['type'] === 'banner') :
123
- ?>
124
- <div class="wpmet-str">
125
- <a target="_blank" href="<?php echo esc_url($story['story_link']) ?>">
126
- <img class="wpmet-banner" src="<?php echo isset($story['story_image']) && $story['story_image'] != '' ? $story['story_image'] : '#'; ?>" />
127
- </a>
128
- </div>
129
- <?php
130
- endif;
131
  endforeach;
132
  ?>
133
 
134
  <div class="wpmet-dashboard-widget-block">
135
- <div class="wpmet-footer-bar">
136
- <a href="https://wpmet.com/support-ticket" target="_blank">
137
- <?php echo esc_html__('Need Help?', 'elementskit-lite'); ?>
138
- <span aria-hidden="true" class="dashicons dashicons-external"></span>
139
- </a>
140
- <a href="https://wpmet.com/blog/" target="_blank">
141
- <?php echo esc_html__('Blog', 'elementskit-lite') ;?>
142
- <span aria-hidden="true" class="dashicons dashicons-external"></span>
143
- </a>
144
- <a href="https://wpmet.com/fb-group" target="_blank" style="color: #27ae60;">
145
- <?php echo esc_html__('Facebook Community', 'elementskit-lite'); ?>
146
- <span aria-hidden="true" class="dashicons dashicons-external"></span>
147
- </a>
148
- </div>
149
- </div>
1
  <style>
2
+ .wpmet-str {
3
+ display: flex;
4
+ flex-wrap: wrap;
5
+ width: 100%;
6
+ margin-bottom: 10px;
7
+ }
8
+ .wpmet-str-thumb {
9
+ width: 75px;
10
+ padding-right: 7px;
11
+ box-sizing: border-box;
12
+ align-self: flex-start;
13
+ padding-top: 5px;
14
+ }
15
+ .wpmet-str-thumb img {
16
+ width: 100%;
17
+ display: block;
18
+ min-height: 34px;
19
+ }
20
+ .wpmet-str-desc.with-image {
21
+ width: calc(100% - 75px);
22
+ font-weight: 400;
23
+ line-height: 1.5;
24
+ font-size: 13px;
25
+ }
26
+ .wpmet-str-desc a {
27
+ font-weight: 500;
28
+ color: #0073aa;
29
+ text-decoration: none;
30
+ padding-bottom: 5px;
31
+ display: inline-block;
32
+ }
33
+ .wpmet-str:last-child {
34
+ margin-bottom: 0;
35
+ }
36
+ .wpmet-str-desc span {
37
+ display: block;
38
+ }
39
+ .wpmet-bullet-wall {
40
+ width: 6px;
41
+ height: 6px;
42
+ border-radius: 50%;
43
+ background-color: black;
44
+ display: inline-block;
45
+ margin: 0 5px;
46
+ }
47
+ .wpmet-dashboard-widget-block {
48
+ width: 100%;
49
+ }
50
+ .wpmet-dashboard-widget-block .wpmet-title-bar a{
51
+ color: #23282d;
52
+ font-weight: 400;
53
+ font-size: 12px;
54
+ }
55
+ .wpmet-dashboard-widget-block .wpmet-title-bar {
56
+ display: table;
57
+ width: 100%;
58
+ -webkit-box-shadow: 0 5px 8px rgba(0, 0, 0, 0.05);
59
+ box-shadow: 0 5px 8px rgba(0, 0, 0, 0.05);
60
+ margin: 0 -12px 8px;
61
+ padding: 0 12px 12px;
62
+ }
63
+ .wpmet-dashboard-widget-block .wpmet-footer-bar {
64
+ border-top: 1px solid #eee;
65
+ padding-top: 1rem;
66
+ }
67
+ .wpmet-dashboard-widget-block .wpmet-footer-bar a {
68
+ padding: 0 5px;
69
+ }
70
+ .wpmet-dashboard-widget-block a {
71
+ text-decoration: none;
72
+ font-size: 14px;
73
+ color: #007cba;
74
+ font-weight: 600;
75
+ }
76
+ .wpmet-str .wpmet-banner {
77
+ width: 100%;
78
+ }
79
+ .wpmet-dashboard-widget-block .dashicons {
80
+ vertical-align: middle;
81
+ font-size: 17px;
82
+ }
83
  </style>
84
 
85
  <div class="wpmet-dashboard-widget-block">
86
+ <div class="wpmet-title-bar">
87
+ <?php
88
+ foreach ( $this->plugin_link as $k => $link ) {
89
+ echo '<a target="_blank" href="' . $link[1] . '">' . $link[0] . '</a>';
90
+ if ( isset( $this->plugin_link[ $k + 1 ] ) ) {
91
+ echo '<div class="wpmet-bullet-wall"></div>';
92
+ }
93
+ }
94
+ ?>
95
+ </div>
96
  </div>
97
 
98
  <?php
99
+ foreach ( $this->stories as $story ) :
100
+ if ( $story['type'] === 'news' || $story['type'] === '' ) :
101
+ ?>
102
+ <div class="wpmet-str <?php echo ( ( isset( $story['story_image'] ) && $story['story_image'] != '' ) ? 'with-image' : '' ); ?>">
103
+ <?php if ( isset( $story['story_image'] ) && $story['story_image'] != '' ) : ?>
104
+ <div class="wpmet-str-thumb">
105
+ <img src="<?php echo esc_url( $story['story_image'] ); ?>" />
106
+ </div>
107
+ <?php endif; ?>
108
 
109
+ <div class="wpmet-str-desc">
110
 
111
+ <a target="_blank" href="<?php echo esc_url( $story['story_link'] ); ?>">
112
+ <?php echo esc_html( $story['title'] ); ?>
113
+ </a>
114
 
115
+ <?php if ( isset( $story['description'] ) && $story['description'] != '' ) : ?>
116
+ <span><?php echo esc_html( $story['description'] ); ?> </span>
117
+ <?php endif; ?>
118
+
119
+ </div>
120
+ </div>
121
+ <?php
122
+ elseif ( $story['type'] === 'banner' ) :
123
+ ?>
124
+ <div class="wpmet-str">
125
+ <a target="_blank" href="<?php echo esc_url( $story['story_link'] ); ?>">
126
+ <img class="wpmet-banner" src="<?php echo isset( $story['story_image'] ) && $story['story_image'] != '' ? $story['story_image'] : '#'; ?>" />
127
+ </a>
128
+ </div>
129
+ <?php
130
+ endif;
131
  endforeach;
132
  ?>
133
 
134
  <div class="wpmet-dashboard-widget-block">
135
+ <div class="wpmet-footer-bar">
136
+ <a href="https://wpmet.com/support-ticket" target="_blank">
137
+ <?php echo esc_html__( 'Need Help?', 'elementskit-lite' ); ?>
138
+ <span aria-hidden="true" class="dashicons dashicons-external"></span>
139
+ </a>
140
+ <a href="https://wpmet.com/blog/" target="_blank">
141
+ <?php echo esc_html__( 'Blog', 'elementskit-lite' ); ?>
142
+ <span aria-hidden="true" class="dashicons dashicons-external"></span>
143
+ </a>
144
+ <a href="https://wpmet.com/fb-group" target="_blank" style="color: #27ae60;">
145
+ <?php echo esc_html__( 'Facebook Community', 'elementskit-lite' ); ?>
146
+ <span aria-hidden="true" class="dashicons dashicons-external"></span>
147
+ </a>
148
+ </div>
149
+ </div>
libs/template/loader.php CHANGED
@@ -3,41 +3,41 @@ namespace ElementsKit_Lite\Libs\Template;
3
 
4
  defined( 'ABSPATH' ) || exit;
5
 
6
- include 'transformer.php';
7
 
8
- class Loader{
9
 
10
  private $transformer;
11
 
12
- function __construct(){
13
  $this->transformer = new Transformer();
14
  }
15
 
16
- public function replace_tags($string, $prefix, $force_lower = false){
17
- return preg_replace_callback('/\\{\\{([^{}]+)\}\\}/',
18
- function($matches) use ($force_lower, $prefix){
 
19
 
20
- return $this->transformer->render($matches[1], $prefix);
21
- }
22
- , $string);
 
23
  }
24
 
25
- private function tag_list(){
26
- return [
27
-
28
- ];
29
  }
30
 
31
 
32
 
33
 
34
  /**
35
- * Get the instance.
36
- */
37
- private static $instance = null;
38
-
39
- public static function instance() {
40
- if(self::$instance == null) {
41
  self::$instance = new self();
42
  }
43
 
3
 
4
  defined( 'ABSPATH' ) || exit;
5
 
6
+ require 'transformer.php';
7
 
8
+ class Loader {
9
 
10
  private $transformer;
11
 
12
+ function __construct() {
13
  $this->transformer = new Transformer();
14
  }
15
 
16
+ public function replace_tags( $string, $prefix, $force_lower = false ) {
17
+ return preg_replace_callback(
18
+ '/\\{\\{([^{}]+)\}\\}/',
19
+ function( $matches ) use ( $force_lower, $prefix ) {
20
 
21
+ return $this->transformer->render( $matches[1], $prefix );
22
+ },
23
+ $string
24
+ );
25
  }
26
 
27
+ private function tag_list() {
28
+ return array();
 
 
29
  }
30
 
31
 
32
 
33
 
34
  /**
35
+ * Get the instance.
36
+ */
37
+ private static $instance = null;
38
+
39
+ public static function instance() {
40
+ if ( self::$instance == null ) {
41
  self::$instance = new self();
42
  }
43
 
libs/template/transformer.php CHANGED
@@ -3,40 +3,38 @@ namespace ElementsKit_Lite\Libs\Template;
3
 
4
  defined( 'ABSPATH' ) || exit;
5
 
6
- class Transformer{
7
-
8
- private $prefix;
9
-
10
- public function render($str, $prefix){
11
- $str = trim($str);
12
- $this->prefix = $prefix;
13
-
14
- $fn_length = explode('(', $str);
15
- if(count($fn_length) == 2){
16
- $method = $fn_length[0]; // backward support
17
-
18
- if(method_exists($this, $method)){
19
- return $this->$method(rtrim($fn_length[1], ')'));
20
- }
21
- return $str;
22
- }
23
-
24
-
25
-
26
- return $this->variable($str);
27
- }
28
-
29
- private function variable($str){
30
- $str_var_set = explode('.', $str);
31
- $array_parts = '';
32
- foreach($str_var_set as $i => $var){
33
- $array_parts .= '["'. ($i > 0 ? '' : $this->prefix) . $var.'"]';
34
- }
35
-
36
- return '<?php echo isset($settings'.$array_parts.') ? $settings'.$array_parts.' : ""; ?>';
37
- }
38
-
39
- private function icon($str){
40
- return '<?php Icons_Manager::render_icon($settings["'.$this->prefix . trim($str).'"]); ?>';
41
- }
42
- }
3
 
4
  defined( 'ABSPATH' ) || exit;
5
 
6
+ class Transformer {
7
+
8
+ private $prefix;
9
+
10
+ public function render( $str, $prefix ) {
11
+ $str = trim( $str );
12
+ $this->prefix = $prefix;
13
+
14
+ $fn_length = explode( '(', $str );
15
+ if ( count( $fn_length ) == 2 ) {
16
+ $method = $fn_length[0]; // backward support
17
+
18
+ if ( method_exists( $this, $method ) ) {
19
+ return $this->$method( rtrim( $fn_length[1], ')' ) );
20
+ }
21
+ return $str;
22
+ }
23
+
24
+ return $this->variable( $str );
25
+ }
26
+
27
+ private function variable( $str ) {
28
+ $str_var_set = explode( '.', $str );
29
+ $array_parts = '';
30
+ foreach ( $str_var_set as $i => $var ) {
31
+ $array_parts .= '["' . ( $i > 0 ? '' : $this->prefix ) . $var . '"]';
32
+ }
33
+
34
+ return '<?php echo isset($settings' . $array_parts . ') ? $settings' . $array_parts . ' : ""; ?>';
35
+ }
36
+
37
+ private function icon( $str ) {
38
+ return '<?php Icons_Manager::render_icon($settings["' . $this->prefix . trim( $str ) . '"]); ?>';
39
+ }
40
+ }
 
 
libs/xs-migration/data-migration.php CHANGED
@@ -2,31 +2,30 @@
2
 
3
  namespace ElementsKit_Lite\Libs\Xs_Migration;
4
 
5
-
6
  abstract class Data_Migration implements Migration_Contract {
7
 
8
 
9
  const SUB_ROUTINE_STATUS_INCOMPLETE = '__incomplete';
10
- const SUB_ROUTINE_STATUS_DONE = '__done';
11
 
12
 
13
  const GENERIC_STATUS_YES = 'yes';
14
- const GENERIC_STATUS_NO = 'no';
15
 
16
- const STATUS_DONE = 'done';
17
- const STATUS_QUEUED = 'queued';
18
  const STATUS_RUNNING = 'running';
19
 
20
- const STATUS_FINISHED = 'finished';
21
  const STATUS_INITIATED = 'initiated';
22
 
23
- const STATUS_METHOD_PAUSED = 'paused';
24
- const STATUS_METHOD_EXECUTED = 'executed';
25
  const STATUS_METHOD_EXECUTING = 'executing';
26
 
27
  private $new_text_domain = 'elementskit-lite';
28
- private $text_domain = 'elementskit-lite';
29
- private $max_iteration = 10;
30
 
31
 
32
  /**
@@ -36,52 +35,50 @@ abstract class Data_Migration implements Migration_Contract {
36
  *
37
  * @return mixed
38
  */
39
- public function input($txtDomain, $versionFrom, $versionTo) {
40
 
41
  #$versionFrom = '1.1.9';
42
  #$versionTo = '1.2.0';
43
  $optionKey = 'data_migration_' . $txtDomain . '_log';
44
 
45
- $from = str_replace('.', '_', trim($versionFrom));
46
- $to = str_replace('.', '_', trim($versionTo));
47
-
48
- $frm = $this->makeFullVersionKey($from);
49
- $trm = $this->makeFullVersionKey($to);
50
 
51
- $existingOption = get_option($optionKey);
 
52
 
 
53
 
54
- if(empty($existingOption)) {
55
 
56
- $log = [];
57
  $log[] = 'Migration never has been done for this domain.';
58
- $log[] = 'Initiating migration for version ' . $versionFrom . ' to ' . $versionTo . ' at ' . date('Y-m-d H:i:s') . ' .';
59
  $log[] = 'Scanning migration file for conversion methods.';
60
 
61
- $cStack = $this->getCallStacks([], $frm, $trm);
62
 
63
- $fn = [];
64
 
65
- foreach($cStack['stack'] as $item) {
66
 
67
- $fn[$item] = self::STATUS_QUEUED;
68
  }
69
 
70
  $log[] = 'Execution plan prepared.';
71
  $log[] = 'Execution plan saved into database.';
72
 
73
-
74
  $existingOption['_func'] = $fn;
75
  $existingOption['_log'] = $log;
76
  $existingOption['_status'] = self::STATUS_INITIATED;
77
 
78
- update_option($optionKey, $existingOption);
79
 
80
- return [
81
  'status' => 'success',
82
  'log' => $existingOption,
83
  'log2' => $cStack,
84
- ];
85
  }
86
 
87
  /**
@@ -90,7 +87,7 @@ abstract class Data_Migration implements Migration_Contract {
90
  *
91
  */
92
 
93
- if($existingOption['_status'] == self::STATUS_FINISHED) {
94
 
95
  $log = $existingOption['_log'];
96
 
@@ -98,16 +95,16 @@ abstract class Data_Migration implements Migration_Contract {
98
  * Now we have to check up-to which version this migration is done
99
  */
100
 
101
- $up_to = $this->makeFullVersionKey($existingOption['_last_version_scanned']);
102
 
103
- if($up_to < $trm) {
104
 
105
  /**
106
  * New version released of this plugin
107
  * check if anything new need to migrate
108
  */
109
 
110
- $cStack = $this->getCallStacks([], $frm, $trm);
111
  $fn = $existingOption['_func'];
112
 
113
  $log[] = 'A new version update detected.';
@@ -115,18 +112,18 @@ abstract class Data_Migration implements Migration_Contract {
115
 
116
  $found = false;
117
 
118
- foreach($cStack['stack'] as $item) {
119
 
120
- if(isset($fn[$item])) {
121
  continue;
122
  }
123
 
124
- $fn[$item] = self::STATUS_QUEUED;
125
 
126
  $found = true;
127
  }
128
 
129
- if($found) {
130
 
131
  $log[] = 'New conversion method detected.';
132
  $log[] = 'Preparing execution plan.';
@@ -136,18 +133,18 @@ abstract class Data_Migration implements Migration_Contract {
136
  $existingOption['_log'] = $log;
137
  $existingOption['_status'] = self::STATUS_INITIATED;
138
 
139
- update_option($optionKey, $existingOption);
140
 
141
- return [
142
  'status' => 'success',
143
  'log' => $existingOption,
144
  'log2' => $cStack,
145
- ];
146
 
147
  } else {
148
 
149
  $log[] = 'No new conversion method detected.';
150
- $log[] = 'Updating the migration plan as finished for version ' . $versionTo . ' at ' . date('Y-m-d H:i:s') . '.';
151
 
152
  $existingOption['_func'] = $fn;
153
  $existingOption['_log'] = $log;
@@ -155,15 +152,14 @@ abstract class Data_Migration implements Migration_Contract {
155
  $existingOption['_last_version_scanned'] = $versionTo;
156
  $existingOption['_plan_up_to'] = $trm;
157
 
158
- update_option($optionKey, $existingOption);
159
 
160
- return [
161
  'status' => 'success',
162
  'log' => $existingOption,
163
  'log2' => $cStack,
164
- ];
165
- }
166
-
167
  }
168
 
169
  /**
@@ -178,12 +174,12 @@ abstract class Data_Migration implements Migration_Contract {
178
  $existingOption['_last_version_scanned'] = $versionTo;
179
  $existingOption['_plan_up_to'] = $trm;
180
 
181
- update_option($optionKey, $existingOption);
182
 
183
- return [
184
  'status' => 'success',
185
  'log' => $existingOption,
186
- ];
187
  }
188
 
189
  /**
@@ -194,9 +190,9 @@ abstract class Data_Migration implements Migration_Contract {
194
  $curExecMethod = '';
195
  $mtdStat = '';
196
 
197
- foreach($existingOption['_func'] as $mtd => $stat) {
198
 
199
- if($stat == self::STATUS_METHOD_EXECUTED) {
200
  continue;
201
  }
202
 
@@ -206,7 +202,7 @@ abstract class Data_Migration implements Migration_Contract {
206
  break;
207
  }
208
 
209
- if(empty($curExecMethod)) {
210
 
211
  /**
212
  * All methods has been executed
@@ -215,20 +211,19 @@ abstract class Data_Migration implements Migration_Contract {
215
  $log = $existingOption['_log'];
216
 
217
  $log[] = 'All conversion method has been executed.';
218
- $log[] = 'Setting the migration plan as finished for version ' . $versionTo . ' at ' . date('Y-m-d H:i:s') . '.';
219
-
220
 
221
  $existingOption['_log'] = $log;
222
  $existingOption['_status'] = self::STATUS_FINISHED;
223
  $existingOption['_last_version_scanned'] = $versionTo;
224
  $existingOption['_plan_up_to'] = $trm;
225
 
226
- update_option($optionKey, $existingOption);
227
 
228
- return [
229
  'status' => 'success',
230
  'log' => $existingOption,
231
- ];
232
  }
233
 
234
  /**
@@ -236,63 +231,62 @@ abstract class Data_Migration implements Migration_Contract {
236
  *
237
  */
238
 
239
- if($mtdStat == self::STATUS_QUEUED) {
240
 
241
  $log = $existingOption['_log'];
242
 
243
- $log[] = 'Conversion method ' . $curExecMethod . ' entered into queue at ' . date('Y-m-d H:i:s') . '.';
244
- $log[] = '- Conversion method ' . $curExecMethod . ' has entered into execution phase at ' . date('Y-m-d H:i:s');
245
 
246
  $fn = $existingOption['_func'];
247
 
248
- $fn[$curExecMethod] = self::STATUS_METHOD_EXECUTING;
249
 
250
  $existingOption['_func'] = $fn;
251
  $existingOption['_log'] = $log;
252
 
253
- update_option($optionKey, $existingOption);
254
 
255
- return $this->$curExecMethod($optionKey, $existingOption);
256
  }
257
 
258
- if($mtdStat == self::STATUS_METHOD_EXECUTING) {
259
 
260
- return [
261
  'status' => 'failed',
262
  'msg' => 'Another person already initiated the execution.',
263
  'log' => $existingOption['_log'],
264
- ];
265
  }
266
 
267
- if($mtdStat == self::STATUS_METHOD_PAUSED) {
268
 
269
  $log = $existingOption['_log'];
270
 
271
- $log[] = '- Conversion method ' . $curExecMethod . ' has entered into executing phase at ' . date('Y-m-d H:i:s');
272
 
273
  $fn = $existingOption['_func'];
274
 
275
- $fn[$curExecMethod] = self::STATUS_METHOD_EXECUTING;
276
 
277
  $existingOption['_func'] = $fn;
278
  $existingOption['_log'] = $log;
279
 
280
- update_option($optionKey, $existingOption);
281
 
282
- return $this->$curExecMethod($optionKey, $existingOption);
283
  }
284
 
285
-
286
  /**
287
  * This is the scenario that never ever should occur
288
  */
289
- return [
290
  'status' => 'failed',
291
  'msg' => 'Overflow',
292
- 'log' => [
293
  'Exiting...data is corrupted.',
294
- ],
295
- ];
296
  }
297
 
298
 
@@ -300,13 +294,13 @@ abstract class Data_Migration implements Migration_Contract {
300
  *
301
  * @param array $data
302
  */
303
- public function output(array $data) {
304
 
305
- if(!empty($data['option'])) {
306
 
307
- foreach($data['option'] as $opKey => $opVal) {
308
 
309
- update_option($opKey, $opVal);
310
  }
311
  }
312
  }
@@ -320,41 +314,40 @@ abstract class Data_Migration implements Migration_Contract {
320
  *
321
  * @return array
322
  */
323
- private function getCallStacks($versionMap, $frm, $trm) {
324
 
325
- $callStack = [];
326
- $conversionMethods = [];
327
- $methods = get_class_methods($this);
328
 
329
- foreach($methods as $method) {
330
 
331
- if(substr($method, 0, 13) === 'convert_from_') {
332
 
333
  $conversionMethods[] = $method;
334
 
335
- $tmp = str_replace('convert_from_', '', $method);
336
- $tmp = explode('_to_', $tmp);
337
 
338
- $vl = $this->makeFullVersionKey($tmp[0]);
339
- $vh = $this->makeFullVersionKey($tmp[1]);
340
 
341
- $versionMap[$vl] = $tmp[0];
342
- $versionMap[$vh] = $tmp[1];
343
  }
344
  }
345
 
 
346
 
347
- ksort($versionMap);
348
-
349
- foreach($versionMap as $k => $v) {
350
 
351
- if($k >= $frm && $k < $trm) {
352
 
353
  $fnc = '';
354
 
355
- foreach($conversionMethods as $conversionMethod) {
356
 
357
- if(strpos($conversionMethod, 'convert_from_' . $v) !== false) {
358
 
359
  $fnc = $conversionMethod;
360
 
@@ -362,17 +355,17 @@ abstract class Data_Migration implements Migration_Contract {
362
  }
363
  }
364
 
365
- if(!empty($fnc)) {
366
  $callStack[] = $fnc;
367
  }
368
  }
369
  }
370
 
371
- return [
372
  'map' => $versionMap,
373
  'func' => $conversionMethods,
374
  'stack' => $callStack,
375
- ];
376
  }
377
 
378
 
@@ -382,15 +375,18 @@ abstract class Data_Migration implements Migration_Contract {
382
  *
383
  * @return string
384
  */
385
- public function makeFullVersionKey($string) {
386
 
387
- $fr = explode('_', $string);
388
 
389
- $frm = array_map(function($item) {
390
- return str_pad($item, 3, '0', STR_PAD_LEFT);
391
- }, $fr);
 
 
 
392
 
393
- return implode('', $frm);
394
  }
395
 
396
 
@@ -417,4 +413,4 @@ abstract class Data_Migration implements Migration_Contract {
417
  return $this->max_iteration;
418
  }
419
 
420
- }
2
 
3
  namespace ElementsKit_Lite\Libs\Xs_Migration;
4
 
 
5
  abstract class Data_Migration implements Migration_Contract {
6
 
7
 
8
  const SUB_ROUTINE_STATUS_INCOMPLETE = '__incomplete';
9
+ const SUB_ROUTINE_STATUS_DONE = '__done';
10
 
11
 
12
  const GENERIC_STATUS_YES = 'yes';
13
+ const GENERIC_STATUS_NO = 'no';
14
 
15
+ const STATUS_DONE = 'done';
16
+ const STATUS_QUEUED = 'queued';
17
  const STATUS_RUNNING = 'running';
18
 
19
+ const STATUS_FINISHED = 'finished';
20
  const STATUS_INITIATED = 'initiated';
21
 
22
+ const STATUS_METHOD_PAUSED = 'paused';
23
+ const STATUS_METHOD_EXECUTED = 'executed';
24
  const STATUS_METHOD_EXECUTING = 'executing';
25
 
26
  private $new_text_domain = 'elementskit-lite';
27
+ private $text_domain = 'elementskit-lite';
28
+ private $max_iteration = 10;
29
 
30
 
31
  /**
35
  *
36
  * @return mixed
37
  */
38
+ public function input( $txtDomain, $versionFrom, $versionTo ) {
39
 
40
  #$versionFrom = '1.1.9';
41
  #$versionTo = '1.2.0';
42
  $optionKey = 'data_migration_' . $txtDomain . '_log';
43
 
44
+ $from = str_replace( '.', '_', trim( $versionFrom ) );
45
+ $to = str_replace( '.', '_', trim( $versionTo ) );
 
 
 
46
 
47
+ $frm = $this->makeFullVersionKey( $from );
48
+ $trm = $this->makeFullVersionKey( $to );
49
 
50
+ $existingOption = get_option( $optionKey );
51
 
52
+ if ( empty( $existingOption ) ) {
53
 
54
+ $log = array();
55
  $log[] = 'Migration never has been done for this domain.';
56
+ $log[] = 'Initiating migration for version ' . $versionFrom . ' to ' . $versionTo . ' at ' . date( 'Y-m-d H:i:s' ) . ' .';
57
  $log[] = 'Scanning migration file for conversion methods.';
58
 
59
+ $cStack = $this->getCallStacks( array(), $frm, $trm );
60
 
61
+ $fn = array();
62
 
63
+ foreach ( $cStack['stack'] as $item ) {
64
 
65
+ $fn[ $item ] = self::STATUS_QUEUED;
66
  }
67
 
68
  $log[] = 'Execution plan prepared.';
69
  $log[] = 'Execution plan saved into database.';
70
 
 
71
  $existingOption['_func'] = $fn;
72
  $existingOption['_log'] = $log;
73
  $existingOption['_status'] = self::STATUS_INITIATED;
74
 
75
+ update_option( $optionKey, $existingOption );
76
 
77
+ return array(
78
  'status' => 'success',
79
  'log' => $existingOption,
80
  'log2' => $cStack,
81
+ );
82
  }
83
 
84
  /**
87
  *
88
  */
89
 
90
+ if ( $existingOption['_status'] == self::STATUS_FINISHED ) {
91
 
92
  $log = $existingOption['_log'];
93
 
95
  * Now we have to check up-to which version this migration is done
96
  */
97
 
98
+ $up_to = $this->makeFullVersionKey( $existingOption['_last_version_scanned'] );
99
 
100
+ if ( $up_to < $trm ) {
101
 
102
  /**
103
  * New version released of this plugin
104
  * check if anything new need to migrate
105
  */
106
 
107
+ $cStack = $this->getCallStacks( array(), $frm, $trm );
108
  $fn = $existingOption['_func'];
109
 
110
  $log[] = 'A new version update detected.';
112
 
113
  $found = false;
114
 
115
+ foreach ( $cStack['stack'] as $item ) {
116
 
117
+ if ( isset( $fn[ $item ] ) ) {
118
  continue;
119
  }
120
 
121
+ $fn[ $item ] = self::STATUS_QUEUED;
122
 
123
  $found = true;
124
  }
125
 
126
+ if ( $found ) {
127
 
128
  $log[] = 'New conversion method detected.';
129
  $log[] = 'Preparing execution plan.';
133
  $existingOption['_log'] = $log;
134
  $existingOption['_status'] = self::STATUS_INITIATED;
135
 
136
+ update_option( $optionKey, $existingOption );
137
 
138
+ return array(
139
  'status' => 'success',
140
  'log' => $existingOption,
141
  'log2' => $cStack,
142
+ );
143
 
144
  } else {
145
 
146
  $log[] = 'No new conversion method detected.';
147
+ $log[] = 'Updating the migration plan as finished for version ' . $versionTo . ' at ' . date( 'Y-m-d H:i:s' ) . '.';
148
 
149
  $existingOption['_func'] = $fn;
150
  $existingOption['_log'] = $log;
152
  $existingOption['_last_version_scanned'] = $versionTo;
153
  $existingOption['_plan_up_to'] = $trm;
154
 
155
+ update_option( $optionKey, $existingOption );
156
 
157
+ return array(
158
  'status' => 'success',
159
  'log' => $existingOption,
160
  'log2' => $cStack,
161
+ );
162
+ }
 
163
  }
164
 
165
  /**
174
  $existingOption['_last_version_scanned'] = $versionTo;
175
  $existingOption['_plan_up_to'] = $trm;
176
 
177
+ update_option( $optionKey, $existingOption );
178
 
179
+ return array(
180
  'status' => 'success',
181
  'log' => $existingOption,
182
+ );
183
  }
184
 
185
  /**
190
  $curExecMethod = '';
191
  $mtdStat = '';
192
 
193
+ foreach ( $existingOption['_func'] as $mtd => $stat ) {
194
 
195
+ if ( $stat == self::STATUS_METHOD_EXECUTED ) {
196
  continue;
197
  }
198
 
202
  break;
203
  }
204
 
205
+ if ( empty( $curExecMethod ) ) {
206
 
207
  /**
208
  * All methods has been executed
211
  $log = $existingOption['_log'];
212
 
213
  $log[] = 'All conversion method has been executed.';
214
+ $log[] = 'Setting the migration plan as finished for version ' . $versionTo . ' at ' . date( 'Y-m-d H:i:s' ) . '.';
 
215
 
216
  $existingOption['_log'] = $log;
217
  $existingOption['_status'] = self::STATUS_FINISHED;
218
  $existingOption['_last_version_scanned'] = $versionTo;
219
  $existingOption['_plan_up_to'] = $trm;
220
 
221
+ update_option( $optionKey, $existingOption );
222
 
223
+ return array(
224
  'status' => 'success',
225
  'log' => $existingOption,
226
+ );
227
  }
228
 
229
  /**
231
  *
232
  */
233
 
234
+ if ( $mtdStat == self::STATUS_QUEUED ) {
235
 
236
  $log = $existingOption['_log'];
237
 
238
+ $log[] = 'Conversion method ' . $curExecMethod . ' entered into queue at ' . date( 'Y-m-d H:i:s' ) . '.';
239
+ $log[] = '- Conversion method ' . $curExecMethod . ' has entered into execution phase at ' . date( 'Y-m-d H:i:s' );
240
 
241
  $fn = $existingOption['_func'];
242
 
243
+ $fn[ $curExecMethod ] = self::STATUS_METHOD_EXECUTING;
244
 
245
  $existingOption['_func'] = $fn;
246
  $existingOption['_log'] = $log;
247
 
248
+ update_option( $optionKey, $existingOption );
249
 
250
+ return $this->$curExecMethod( $optionKey, $existingOption );
251
  }
252
 
253
+ if ( $mtdStat == self::STATUS_METHOD_EXECUTING ) {
254
 
255
+ return array(
256
  'status' => 'failed',
257
  'msg' => 'Another person already initiated the execution.',
258
  'log' => $existingOption['_log'],
259
+ );
260
  }
261
 
262
+ if ( $mtdStat == self::STATUS_METHOD_PAUSED ) {
263
 
264
  $log = $existingOption['_log'];
265
 
266
+ $log[] = '- Conversion method ' . $curExecMethod . ' has entered into executing phase at ' . date( 'Y-m-d H:i:s' );
267
 
268
  $fn = $existingOption['_func'];
269
 
270
+ $fn[ $curExecMethod ] = self::STATUS_METHOD_EXECUTING;
271
 
272
  $existingOption['_func'] = $fn;
273
  $existingOption['_log'] = $log;
274
 
275
+ update_option( $optionKey, $existingOption );
276
 
277
+ return $this->$curExecMethod( $optionKey, $existingOption );
278
  }
279
 
 
280
  /**
281
  * This is the scenario that never ever should occur
282
  */
283
+ return array(
284
  'status' => 'failed',
285
  'msg' => 'Overflow',
286
+ 'log' => array(
287
  'Exiting...data is corrupted.',
288
+ ),
289
+ );
290
  }
291
 
292
 
294
  *
295
  * @param array $data
296
  */
297
+ public function output( array $data ) {
298
 
299
+ if ( ! empty( $data['option'] ) ) {
300
 
301
+ foreach ( $data['option'] as $opKey => $opVal ) {
302
 
303
+ update_option( $opKey, $opVal );
304
  }
305
  }
306
  }
314
  *
315
  * @return array
316
  */
317
+ private function getCallStacks( $versionMap, $frm, $trm ) {
318
 
319
+ $callStack = array();
320
+ $conversionMethods = array();
321
+ $methods = get_class_methods( $this );
322
 
323
+ foreach ( $methods as $method ) {
324
 
325
+ if ( substr( $method, 0, 13 ) === 'convert_from_' ) {
326
 
327
  $conversionMethods[] = $method;
328
 
329
+ $tmp = str_replace( 'convert_from_', '', $method );
330
+ $tmp = explode( '_to_', $tmp );
331
 
332
+ $vl = $this->makeFullVersionKey( $tmp[0] );
333
+ $vh = $this->makeFullVersionKey( $tmp[1] );
334
 
335
+ $versionMap[ $vl ] = $tmp[0];
336
+ $versionMap[ $vh ] = $tmp[1];
337
  }
338
  }
339
 
340
+ ksort( $versionMap );
341
 
342
+ foreach ( $versionMap as $k => $v ) {
 
 
343
 
344
+ if ( $k >= $frm && $k < $trm ) {
345
 
346
  $fnc = '';
347
 
348
+ foreach ( $conversionMethods as $conversionMethod ) {
349
 
350
+ if ( strpos( $conversionMethod, 'convert_from_' . $v ) !== false ) {
351
 
352
  $fnc = $conversionMethod;
353
 
355
  }
356
  }
357
 
358
+ if ( ! empty( $fnc ) ) {
359
  $callStack[] = $fnc;
360
  }
361
  }
362
  }
363
 
364
+ return array(
365
  'map' => $versionMap,
366
  'func' => $conversionMethods,
367
  'stack' => $callStack,
368
+ );
369
  }
370
 
371
 
375
  *
376
  * @return string
377
  */
378
+ public function makeFullVersionKey( $string ) {
379
 
380
+ $fr = explode( '_', $string );
381
 
382
+ $frm = array_map(
383
+ function( $item ) {
384
+ return str_pad( $item, 3, '0', STR_PAD_LEFT );
385
+ },
386
+ $fr
387
+ );
388
 
389
+ return implode( '', $frm );
390
  }
391
 
392
 
413
  return $this->max_iteration;
414
  }
415
 
416
+ }
libs/xs-migration/initiator.php CHANGED
@@ -13,20 +13,20 @@ class Initiator {
13
 
14
  public function init() {
15
 
16
- add_filter('heartbeat_send', [$this, 'send_heartbeat'], 10, 2 );
17
  //add_filter('heartbeat_received', [$this, 'receive_heartbeat'], 10, 2);
18
  //add_filter( 'heartbeat_settings', [$this, 'heartbeat_settings'] );
19
  }
20
 
21
 
22
- public function send_heartbeat($response, $screen_id) {
23
 
24
  $txtDomain = 'elementskit-lite';
25
- $optionKey = 'data_migration_'.$txtDomain.'_log';
26
 
27
- $option = get_option($optionKey, []);
28
 
29
- if(empty($option['_last_version_scanned'])) {
30
 
31
  /**
32
  * Migration never ran in this domain
@@ -34,7 +34,7 @@ class Initiator {
34
  */
35
  $migration = new Migration();
36
 
37
- $ret = $migration->input($txtDomain, '1.3.1', \ElementsKit_Lite::version());
38
 
39
  $response['migration_log'] = $ret;
40
 
@@ -45,9 +45,9 @@ class Initiator {
45
  * We have last version of migration run
46
  * checking if it is same as current version
47
  */
48
- if($option['_last_version_scanned'] == \ElementsKit_Lite::version()) {
49
 
50
- $data[] = 'Migration has already run for this version - '. \ElementsKit_Lite::version();
51
  $data[] = $screen_id;
52
 
53
  $response['migration_push'] = $data;
@@ -62,7 +62,7 @@ class Initiator {
62
  */
63
  $migration = new Migration();
64
 
65
- $ret = $migration->input($txtDomain, '1.3.1', \ElementsKit_Lite::version());
66
 
67
  $response['migration_log'] = $ret;
68
 
@@ -70,7 +70,6 @@ class Initiator {
70
  }
71
 
72
  public function receive_heartbeat() {
73
-
74
  }
75
 
76
 
@@ -82,4 +81,4 @@ class Initiator {
82
  return $settings;
83
  }
84
 
85
- }
13
 
14
  public function init() {
15
 
16
+ add_filter( 'heartbeat_send', array( $this, 'send_heartbeat' ), 10, 2 );
17
  //add_filter('heartbeat_received', [$this, 'receive_heartbeat'], 10, 2);
18
  //add_filter( 'heartbeat_settings', [$this, 'heartbeat_settings'] );
19
  }
20
 
21
 
22
+ public function send_heartbeat( $response, $screen_id ) {
23
 
24
  $txtDomain = 'elementskit-lite';
25
+ $optionKey = 'data_migration_' . $txtDomain . '_log';
26
 
27
+ $option = get_option( $optionKey, array() );
28
 
29
+ if ( empty( $option['_last_version_scanned'] ) ) {
30
 
31
  /**
32
  * Migration never ran in this domain
34
  */
35
  $migration = new Migration();
36
 
37
+ $ret = $migration->input( $txtDomain, '1.3.1', \ElementsKit_Lite::version() );
38
 
39
  $response['migration_log'] = $ret;
40
 
45
  * We have last version of migration run
46
  * checking if it is same as current version
47
  */
48
+ if ( $option['_last_version_scanned'] == \ElementsKit_Lite::version() ) {
49
 
50
+ $data[] = 'Migration has already run for this version - ' . \ElementsKit_Lite::version();
51
  $data[] = $screen_id;
52
 
53
  $response['migration_push'] = $data;
62
  */
63
  $migration = new Migration();
64
 
65
+ $ret = $migration->input( $txtDomain, '1.3.1', \ElementsKit_Lite::version() );
66
 
67
  $response['migration_log'] = $ret;
68
 
70
  }
71
 
72
  public function receive_heartbeat() {
 
73
  }
74
 
75
 
81
  return $settings;
82
  }
83
 
84
+ }
libs/xs-migration/migration-contract.php CHANGED
@@ -2,10 +2,9 @@
2
 
3
  namespace ElementsKit_Lite\Libs\Xs_Migration;
4
 
5
-
6
  interface Migration_Contract {
7
 
8
- public function input($txtDomain, $versionFrom, $versionTo);
9
 
10
- public function output(array $data);
11
- }
2
 
3
  namespace ElementsKit_Lite\Libs\Xs_Migration;
4
 
 
5
  interface Migration_Contract {
6
 
7
+ public function input( $txtDomain, $versionFrom, $versionTo);
8
 
9
+ public function output( array $data);
10
+ }
libs/xs-migration/migration.php CHANGED
@@ -2,7 +2,6 @@
2
 
3
  namespace ElementsKit_Lite\Libs\Xs_Migration;
4
 
5
-
6
  class Migration extends Data_Migration {
7
 
8
 
@@ -13,28 +12,28 @@ class Migration extends Data_Migration {
13
  *
14
  * @return array
15
  */
16
- public function convert_from_1_4_7_to_1_4_8($wpOptionKey, $existingOption) {
17
 
18
  $log = $existingOption['_log'];
19
 
20
  $log[] = '- This is a blank method for testing.';
21
  $log[] = '- All functionality is checked and updated.';
22
  $log[] = '- Updating method execution status to executed.';
23
- $log[] = '- Method execution is finished at ' . date('Y-m-d H:i:s');
24
 
25
  $fn = $existingOption['_func'];
26
 
27
- $fn[__FUNCTION__] = self::STATUS_METHOD_EXECUTED;
28
 
29
  $existingOption['_func'] = $fn;
30
  $existingOption['_log'] = $log;
31
 
32
- update_option($wpOptionKey, $existingOption);
33
 
34
- return [
35
  'status' => 'success',
36
  'log' => $log,
37
- ];
38
  }
39
 
40
 
@@ -49,23 +48,23 @@ class Migration extends Data_Migration {
49
  *
50
  * @return array
51
  */
52
- public function skip__convert_from_1_5_7_to_1_5_8($wpOptionKey, $existingOption) {
53
 
54
  $log = $existingOption['_log'];
55
 
56
- $checkList = [];
57
 
58
- if(empty($existingOption['exec_plan'][__FUNCTION__]['progress']['check_list'])) {
59
 
60
- $checkList['retrieve_all_post_ids'] = false;
61
- $checkList['post_meta_data_processed'] = false;
62
- $existingOption['exec_plan'][__FUNCTION__]['progress']['check_list'] = $checkList;
63
 
64
  } else {
65
- $checkList = $existingOption['exec_plan'][__FUNCTION__]['progress']['check_list'];
66
  }
67
 
68
- if($checkList['retrieve_all_post_ids'] != self::SUB_ROUTINE_STATUS_DONE) {
69
 
70
  $ids = $this->get_all_post_ids_by_meta_key();
71
 
@@ -76,17 +75,17 @@ class Migration extends Data_Migration {
76
 
77
  $log[] = '- All meta ids of _elementor_data key is retrieved.';
78
 
79
- $existingOption['exec_plan'][__FUNCTION__]['progress']['check_list'] = $checkList;
80
 
81
- $this->update_subroutine_status(__FUNCTION__, $log, $existingOption, $wpOptionKey);
82
 
83
- return [
84
  'status' => 'success',
85
  'log' => $log,
86
- ];
87
  }
88
 
89
- if($checkList['post_meta_data_processed'] != self::SUB_ROUTINE_STATUS_DONE) {
90
 
91
  /**
92
  * We have retrieved ids of all metas
@@ -95,7 +94,7 @@ class Migration extends Data_Migration {
95
  *
96
  */
97
 
98
- if(!empty($checkList['_retrieve_log']['ids'])) {
99
 
100
  $ids = $checkList['_retrieve_log']['ids'];
101
  $max_iteration = $this->getMaxIteration();
@@ -105,19 +104,18 @@ class Migration extends Data_Migration {
105
 
106
  $log[] = '- Processing retrieved ids';
107
 
108
-
109
- while(!empty($ids)) {
110
  $count_iteration++;
111
- $post_id = array_pop($ids);
112
 
113
  $log[] = '-- Fetching and correcting the entry of post - ' . $post_id;
114
 
115
- $no_need = $this->fetch_and_correct_meta_value($post_id);
116
 
117
- $tmp .= $post_id . ', ';
118
- $tmp_arr[$post_id] = $no_need;
119
 
120
- if($count_iteration >= $max_iteration) {
121
  break;
122
  }
123
  }
@@ -128,18 +126,17 @@ class Migration extends Data_Migration {
128
  $checkList['_retrieve_log']['processed_log'] = $tmp_arr;
129
  $checkList['_retrieve_log']['ids'] = $ids;
130
 
131
- $existingOption['exec_plan'][__FUNCTION__]['progress']['check_list'] = $checkList;
132
 
133
- $this->update_subroutine_status(__FUNCTION__, $log, $existingOption, $wpOptionKey);
134
 
135
- return [
136
  'status' => 'success',
137
  'log' => $log,
138
- ];
139
 
140
  }
141
 
142
-
143
  /**
144
  * the retrieved list is either empty or it is already processed
145
  * we will conclude this subroutine here
@@ -148,36 +145,35 @@ class Migration extends Data_Migration {
148
 
149
  $checkList['post_meta_data_processed'] = self::SUB_ROUTINE_STATUS_DONE;
150
 
151
- $log[] = '-- Subroutine is finished at ' . date('Y-m-d H:i:s');
152
 
153
- $existingOption['exec_plan'][__FUNCTION__]['progress']['check_list'] = $checkList;
154
 
155
- $this->update_subroutine_status(__FUNCTION__, $log, $existingOption, $wpOptionKey);
156
 
157
- return [
158
  'status' => 'success',
159
  'log' => $log,
160
- ];
161
  }
162
 
163
  $log[] = '- All subroutine is processed.';
164
  $log[] = '- Updating method execution status to executed.';
165
- $log[] = '- Method execution is finished at ' . date('Y-m-d H:i:s');
166
 
167
  $fn = $existingOption['_func'];
168
 
169
- $fn[__FUNCTION__] = self::STATUS_METHOD_EXECUTED;
170
 
171
  $existingOption['_func'] = $fn;
172
  $existingOption['_log'] = $log;
173
 
174
- update_option($wpOptionKey, $existingOption);
175
 
176
-
177
- return [
178
  'status' => 'success',
179
  'log' => $log,
180
- ];
181
  }
182
 
183
 
@@ -191,7 +187,7 @@ class Migration extends Data_Migration {
191
  *
192
  * @return array
193
  */
194
- public function convert_from_1_5_8_to_1_5_9($wpOptionKey, $existingOption) {
195
 
196
  /**
197
  * Two changes
@@ -205,20 +201,19 @@ class Migration extends Data_Migration {
205
  */
206
  $log = $existingOption['_log'];
207
 
 
208
 
209
- $checkList = [];
210
-
211
- if(empty($existingOption['exec_plan'][__FUNCTION__]['progress']['check_list'])) {
212
 
213
- $checkList['duplicate_icl_translation'] = false;
214
- $checkList['retrieve_icl_string_id'] = false;
215
- $existingOption['exec_plan'][__FUNCTION__]['progress']['check_list'] = $checkList;
216
 
217
  } else {
218
- $checkList = $existingOption['exec_plan'][__FUNCTION__]['progress']['check_list'];
219
  }
220
 
221
- if($checkList['retrieve_icl_string_id'] != self::SUB_ROUTINE_STATUS_DONE) {
222
 
223
  $ids = $this->get_all_ids();
224
 
@@ -228,17 +223,17 @@ class Migration extends Data_Migration {
228
 
229
  $log[] = '- All translated strings id is retrieved.';
230
 
231
- $existingOption['exec_plan'][__FUNCTION__]['progress']['check_list'] = $checkList;
232
 
233
- $this->update_subroutine_status(__FUNCTION__, $log, $existingOption, $wpOptionKey);
234
 
235
- return [
236
  'status' => 'success',
237
  'log' => $log,
238
- ];
239
  }
240
 
241
- if($checkList['duplicate_icl_translation'] != self::SUB_ROUTINE_STATUS_DONE) {
242
 
243
  /**
244
  * We have retrieved ids of all translated string in previous sub routine
@@ -247,7 +242,7 @@ class Migration extends Data_Migration {
247
  *
248
  */
249
 
250
- if(!empty($checkList['_icl_log']['ids'])) {
251
 
252
  $ids = $checkList['_icl_log']['ids'];
253
  $max_iteration = $this->getMaxIteration();
@@ -257,19 +252,18 @@ class Migration extends Data_Migration {
257
 
258
  $log[] = '- Processing retrieved ids';
259
 
260
-
261
- while(!empty($ids)) {
262
  $count_iteration++;
263
- $dup = array_pop($ids);
264
 
265
  $log[] = '-- Fetching and duplicating the entry of id - ' . $dup;
266
 
267
- $n_id = $this->fetch_and_duplicate($dup);
268
 
269
- $tmp .= $dup . ', ';
270
- $tmp_arr[$dup] = $n_id;
271
 
272
- if($count_iteration >= $max_iteration) {
273
  break;
274
  }
275
  }
@@ -280,18 +274,17 @@ class Migration extends Data_Migration {
280
  $checkList['_icl_log']['processed_log'] = $tmp_arr;
281
  $checkList['_icl_log']['ids'] = $ids;
282
 
283
- $existingOption['exec_plan'][__FUNCTION__]['progress']['check_list'] = $checkList;
284
 
285
- $this->update_subroutine_status(__FUNCTION__, $log, $existingOption, $wpOptionKey);
286
 
287
- return [
288
  'status' => 'success',
289
  'log' => $log,
290
- ];
291
 
292
  }
293
 
294
-
295
  /**
296
  * the retrieved list is either empty or it is already processed
297
  * we will conclude this subroutine here
@@ -300,36 +293,35 @@ class Migration extends Data_Migration {
300
 
301
  $checkList['duplicate_icl_translation'] = self::SUB_ROUTINE_STATUS_DONE;
302
 
303
- $log[] = '-- Subroutine is finished at ' . date('Y-m-d H:i:s');
304
 
305
- $existingOption['exec_plan'][__FUNCTION__]['progress']['check_list'] = $checkList;
306
 
307
- $this->update_subroutine_status(__FUNCTION__, $log, $existingOption, $wpOptionKey);
308
 
309
- return [
310
  'status' => 'success',
311
  'log' => $log,
312
- ];
313
  }
314
 
315
  $log[] = '- All subroutine is processed.';
316
  $log[] = '- Updating method execution status to executed.';
317
- $log[] = '- Method execution is finished at ' . date('Y-m-d H:i:s');
318
 
319
  $fn = $existingOption['_func'];
320
 
321
- $fn[__FUNCTION__] = self::STATUS_METHOD_EXECUTED;
322
 
323
  $existingOption['_func'] = $fn;
324
  $existingOption['_log'] = $log;
325
 
326
- update_option($wpOptionKey, $existingOption);
327
-
328
 
329
- return [
330
  'status' => 'success',
331
  'log' => $log,
332
- ];
333
  }
334
 
335
 
@@ -341,45 +333,45 @@ class Migration extends Data_Migration {
341
  *
342
  * @return int|string
343
  */
344
- private function fetch_and_duplicate($id) {
345
 
346
  global $wpdb;
347
 
348
- $qry = 'SELECT * FROM `' . $wpdb->prefix . 'icl_strings` AS ics WHERE `id`=\'' . intval($id) . '\'; ';
349
 
350
- $row = $wpdb->get_row($qry, ARRAY_A);
351
 
352
  $str_id = '';
353
 
354
- if(!empty($row)) {
355
 
356
- unset($row['id']);
357
 
358
  $row['context'] = $this->getNewTextDomain();
359
 
360
- $md5 = md5($this->getNewTextDomain() . $row['name'] . $row['gettext_context']);
361
 
362
  $row['domain_name_context_md5'] = $md5;
363
 
364
- $wpdb->insert($wpdb->prefix . 'icl_strings', $row);
365
 
366
  $str_id = $wpdb->insert_id;
367
 
368
- if(empty($str_id)) {
369
  return 0;
370
  }
371
 
372
- $query = 'SELECT * FROM `' . $wpdb->prefix . 'icl_string_translations` AS ics WHERE `string_id`=\'' . intval($id) . '\'; ';
373
 
374
- $rows = $wpdb->get_results($query, ARRAY_A);
375
 
376
- foreach($rows as $entry) {
377
 
378
- unset($entry['id']);
379
 
380
  $entry['string_id'] = $str_id;
381
 
382
- $wpdb->insert($wpdb->prefix . 'icl_string_translations', $entry);
383
  }
384
  }
385
 
@@ -398,19 +390,18 @@ class Migration extends Data_Migration {
398
  *
399
  * @return array
400
  */
401
- private function update_subroutine_status($func, $log, $existingOption, $wpOptionKey) {
402
-
403
 
404
  $log[] = '- Entering into paused phase.';
405
 
406
  $fn = $existingOption['_func'];
407
 
408
- $fn[$func] = self::STATUS_METHOD_PAUSED;
409
 
410
  $existingOption['_func'] = $fn;
411
  $existingOption['_log'] = $log;
412
 
413
- update_option($wpOptionKey, $existingOption);
414
 
415
  return $log;
416
  }
@@ -425,11 +416,11 @@ class Migration extends Data_Migration {
425
  *
426
  * @return array
427
  */
428
- private function get_all_ids($context = 'elementskit-lite') {
429
 
430
  global $wpdb;
431
 
432
- $ret = [];
433
  $tbl = $wpdb->prefix . 'icl_string_translations';
434
 
435
  /**
@@ -437,19 +428,18 @@ class Migration extends Data_Migration {
437
  * by checking if table exists
438
  */
439
 
440
- if($wpdb->get_var("SHOW TABLES LIKE '$tbl'") == $tbl) {
441
 
442
- $qry = 'SELECT ict.id, ict.string_id, ict.language, ict.status, ics.context ';
443
  $qry .= 'FROM `' . $tbl . '` AS ict ';
444
  $qry .= 'LEFT JOIN `' . $wpdb->prefix . 'icl_strings` AS ics ON ict.string_id = ics.id ';
445
  $qry .= 'WHERE ics.context = \'' . $context . '\';';
446
 
447
- $rows = $wpdb->get_results($qry);
448
-
449
 
450
- foreach($rows as $row) {
451
 
452
- $ret[$row->string_id] = $row->string_id;
453
  }
454
  }
455
 
@@ -464,41 +454,41 @@ class Migration extends Data_Migration {
464
  *
465
  * @return array
466
  */
467
- private function get_all_post_ids_by_meta_key($key = '_elementor_data') {
468
 
469
  global $wpdb;
470
 
471
- $qry = 'SELECT meta_id, meta_key, post_id ';
472
  $qry .= 'FROM `' . $wpdb->prefix . 'postmeta` ';
473
  $qry .= 'WHERE meta_key = \'' . $key . '\';';
474
 
475
- $rows = $wpdb->get_results($qry);
476
- $ret = [];
477
 
478
- foreach($rows as $row) {
479
 
480
- $ret[$row->post_id] = $row->post_id;
481
  }
482
 
483
  return $ret;
484
  }
485
 
486
 
487
- private function get_post_meta_by_post_id($post_id, $key = '_elementor_data') {
488
 
489
  global $wpdb;
490
 
491
- $qry = 'SELECT * ';
492
  $qry .= 'FROM `' . $wpdb->prefix . 'postmeta` ';
493
- $qry .= 'WHERE post_id = \'' . intval($post_id) . '\' AND meta_key = \'' . $key . '\';';
494
 
495
- $row = $wpdb->get_row($qry);
496
 
497
  return $row;
498
  }
499
 
500
 
501
- private function update_post_meta_by_meta_id($meta_id, $value) {
502
 
503
  global $wpdb;
504
 
@@ -506,7 +496,7 @@ class Migration extends Data_Migration {
506
 
507
  //$qry = 'UPDATE `'.$tbl.'` SET `meta_value` = \''.$value.'\' WHERE `meta_id`=\''.intval($meta_id).'\';';
508
 
509
- return $wpdb->update($tbl, array('meta_value' => $value,), array('meta_id' => intval($meta_id)), array('%s'), array('%d'));
510
  }
511
 
512
 
@@ -519,16 +509,16 @@ class Migration extends Data_Migration {
519
  *
520
  * @return mixed
521
  */
522
- private function fetch_and_correct_meta_value($post_id, $meta_key = '_elementor_data') {
523
 
524
- $row = $this->get_post_meta_by_post_id($post_id, $meta_key);
525
 
526
  $check_arr = $this->get_original_string_array();
527
  $replace_arr = $this->get_replace_string_array();
528
 
529
- $modified = str_replace($check_arr, $replace_arr, $row->meta_value);
530
 
531
- return $this->update_post_meta_by_meta_id($row->meta_id, $modified);
532
 
533
  //get_post_meta($post_id, $meta_key, true);
534
  //update_post_meta($post_id, $meta_key, $modified);
@@ -537,7 +527,7 @@ class Migration extends Data_Migration {
537
 
538
  private function get_original_string_array() {
539
 
540
- $original = [
541
  '{"value":"icon icon-home","library":"ekiticons"}',
542
  '{"value":"icon icon-apartment1","library":"ekiticons"}',
543
  '{"value":"icon icon-pencil","library":"ekiticons"}',
@@ -1443,7 +1433,7 @@ class Migration extends Data_Migration {
1443
  '{"value":"icon icon-vertical-timeline","library":"ekiticons"}',
1444
  '{"value":"icon icon-video-player","library":"ekiticons"}',
1445
  '{"value":"icon icon-weather","library":"ekiticons"}',
1446
- ];
1447
 
1448
  return $original;
1449
  }
@@ -1451,7 +1441,7 @@ class Migration extends Data_Migration {
1451
 
1452
  private function get_replace_string_array() {
1453
 
1454
- $replace = [
1455
  '{"value":"ekiticon ekiticon-home","library":"ekiticons"}',
1456
  '{"value":"ekiticon ekiticon-apartment1","library":"ekiticons"}',
1457
  '{"value":"ekiticon ekiticon-pencil","library":"ekiticons"}',
@@ -2357,9 +2347,9 @@ class Migration extends Data_Migration {
2357
  '{"value":"ekiticon ekiticon-vertical-timeline","library":"ekiticons"}',
2358
  '{"value":"ekiticon ekiticon-video-player","library":"ekiticons"}',
2359
  '{"value":"ekiticon ekiticon-weather","library":"ekiticons"}',
2360
- ];
2361
 
2362
  return $replace;
2363
  }
2364
 
2365
- }
2
 
3
  namespace ElementsKit_Lite\Libs\Xs_Migration;
4
 
 
5
  class Migration extends Data_Migration {
6
 
7
 
12
  *
13
  * @return array
14
  */
15
+ public function convert_from_1_4_7_to_1_4_8( $wpOptionKey, $existingOption ) {
16
 
17
  $log = $existingOption['_log'];
18
 
19
  $log[] = '- This is a blank method for testing.';
20
  $log[] = '- All functionality is checked and updated.';
21
  $log[] = '- Updating method execution status to executed.';
22
+ $log[] = '- Method execution is finished at ' . date( 'Y-m-d H:i:s' );
23
 
24
  $fn = $existingOption['_func'];
25
 
26
+ $fn[ __FUNCTION__ ] = self::STATUS_METHOD_EXECUTED;
27
 
28
  $existingOption['_func'] = $fn;
29
  $existingOption['_log'] = $log;
30
 
31
+ update_option( $wpOptionKey, $existingOption );
32
 
33
+ return array(
34
  'status' => 'success',
35
  'log' => $log,
36
+ );
37
  }
38
 
39
 
48
  *
49
  * @return array
50
  */
51
+ public function skip__convert_from_1_5_7_to_1_5_8( $wpOptionKey, $existingOption ) {
52
 
53
  $log = $existingOption['_log'];
54
 
55
+ $checkList = array();
56
 
57
+ if ( empty( $existingOption['exec_plan'][ __FUNCTION__ ]['progress']['check_list'] ) ) {
58
 
59
+ $checkList['retrieve_all_post_ids'] = false;
60
+ $checkList['post_meta_data_processed'] = false;
61
+ $existingOption['exec_plan'][ __FUNCTION__ ]['progress']['check_list'] = $checkList;
62
 
63
  } else {
64
+ $checkList = $existingOption['exec_plan'][ __FUNCTION__ ]['progress']['check_list'];
65
  }
66
 
67
+ if ( $checkList['retrieve_all_post_ids'] != self::SUB_ROUTINE_STATUS_DONE ) {
68
 
69
  $ids = $this->get_all_post_ids_by_meta_key();
70
 
75
 
76
  $log[] = '- All meta ids of _elementor_data key is retrieved.';
77
 
78
+ $existingOption['exec_plan'][ __FUNCTION__ ]['progress']['check_list'] = $checkList;
79
 
80
+ $this->update_subroutine_status( __FUNCTION__, $log, $existingOption, $wpOptionKey );
81
 
82
+ return array(
83
  'status' => 'success',
84
  'log' => $log,
85
+ );
86
  }
87
 
88
+ if ( $checkList['post_meta_data_processed'] != self::SUB_ROUTINE_STATUS_DONE ) {
89
 
90
  /**
91
  * We have retrieved ids of all metas
94
  *
95
  */
96
 
97
+ if ( ! empty( $checkList['_retrieve_log']['ids'] ) ) {
98
 
99
  $ids = $checkList['_retrieve_log']['ids'];
100
  $max_iteration = $this->getMaxIteration();
104
 
105
  $log[] = '- Processing retrieved ids';
106
 
107
+ while ( ! empty( $ids ) ) {
 
108
  $count_iteration++;
109
+ $post_id = array_pop( $ids );
110
 
111
  $log[] = '-- Fetching and correcting the entry of post - ' . $post_id;
112
 
113
+ $no_need = $this->fetch_and_correct_meta_value( $post_id );
114
 
115
+ $tmp .= $post_id . ', ';
116
+ $tmp_arr[ $post_id ] = $no_need;
117
 
118
+ if ( $count_iteration >= $max_iteration ) {
119
  break;
120
  }
121
  }
126
  $checkList['_retrieve_log']['processed_log'] = $tmp_arr;
127
  $checkList['_retrieve_log']['ids'] = $ids;
128
 
129
+ $existingOption['exec_plan'][ __FUNCTION__ ]['progress']['check_list'] = $checkList;
130
 
131
+ $this->update_subroutine_status( __FUNCTION__, $log, $existingOption, $wpOptionKey );
132
 
133
+ return array(
134
  'status' => 'success',
135
  'log' => $log,
136
+ );
137
 
138
  }
139
 
 
140
  /**
141
  * the retrieved list is either empty or it is already processed
142
  * we will conclude this subroutine here
145
 
146
  $checkList['post_meta_data_processed'] = self::SUB_ROUTINE_STATUS_DONE;
147
 
148
+ $log[] = '-- Subroutine is finished at ' . date( 'Y-m-d H:i:s' );
149
 
150
+ $existingOption['exec_plan'][ __FUNCTION__ ]['progress']['check_list'] = $checkList;
151
 
152
+ $this->update_subroutine_status( __FUNCTION__, $log, $existingOption, $wpOptionKey );
153
 
154
+ return array(
155
  'status' => 'success',
156
  'log' => $log,
157
+ );
158
  }
159
 
160
  $log[] = '- All subroutine is processed.';
161
  $log[] = '- Updating method execution status to executed.';
162
+ $log[] = '- Method execution is finished at ' . date( 'Y-m-d H:i:s' );
163
 
164
  $fn = $existingOption['_func'];
165
 
166
+ $fn[ __FUNCTION__ ] = self::STATUS_METHOD_EXECUTED;
167
 
168
  $existingOption['_func'] = $fn;
169
  $existingOption['_log'] = $log;
170
 
171
+ update_option( $wpOptionKey, $existingOption );
172
 
173
+ return array(
 
174
  'status' => 'success',
175
  'log' => $log,
176
+ );
177
  }
178
 
179
 
187
  *
188
  * @return array
189
  */
190
+ public function convert_from_1_5_8_to_1_5_9( $wpOptionKey, $existingOption ) {
191
 
192
  /**
193
  * Two changes
201
  */
202
  $log = $existingOption['_log'];
203
 
204
+ $checkList = array();
205
 
206
+ if ( empty( $existingOption['exec_plan'][ __FUNCTION__ ]['progress']['check_list'] ) ) {
 
 
207
 
208
+ $checkList['duplicate_icl_translation'] = false;
209
+ $checkList['retrieve_icl_string_id'] = false;
210
+ $existingOption['exec_plan'][ __FUNCTION__ ]['progress']['check_list'] = $checkList;
211
 
212
  } else {
213
+ $checkList = $existingOption['exec_plan'][ __FUNCTION__ ]['progress']['check_list'];
214
  }
215
 
216
+ if ( $checkList['retrieve_icl_string_id'] != self::SUB_ROUTINE_STATUS_DONE ) {
217
 
218
  $ids = $this->get_all_ids();
219
 
223
 
224
  $log[] = '- All translated strings id is retrieved.';
225
 
226
+ $existingOption['exec_plan'][ __FUNCTION__ ]['progress']['check_list'] = $checkList;
227
 
228
+ $this->update_subroutine_status( __FUNCTION__, $log, $existingOption, $wpOptionKey );
229
 
230
+ return array(
231
  'status' => 'success',
232
  'log' => $log,
233
+ );
234
  }
235
 
236
+ if ( $checkList['duplicate_icl_translation'] != self::SUB_ROUTINE_STATUS_DONE ) {
237
 
238
  /**
239
  * We have retrieved ids of all translated string in previous sub routine
242
  *
243
  */
244
 
245
+ if ( ! empty( $checkList['_icl_log']['ids'] ) ) {
246
 
247
  $ids = $checkList['_icl_log']['ids'];
248
  $max_iteration = $this->getMaxIteration();
252
 
253
  $log[] = '- Processing retrieved ids';
254
 
255
+ while ( ! empty( $ids ) ) {
 
256
  $count_iteration++;
257
+ $dup = array_pop( $ids );
258
 
259
  $log[] = '-- Fetching and duplicating the entry of id - ' . $dup;
260
 
261
+ $n_id = $this->fetch_and_duplicate( $dup );
262
 
263
+ $tmp .= $dup . ', ';
264
+ $tmp_arr[ $dup ] = $n_id;
265
 
266
+ if ( $count_iteration >= $max_iteration ) {
267
  break;
268
  }
269
  }
274
  $checkList['_icl_log']['processed_log'] = $tmp_arr;
275
  $checkList['_icl_log']['ids'] = $ids;
276
 
277
+ $existingOption['exec_plan'][ __FUNCTION__ ]['progress']['check_list'] = $checkList;
278
 
279
+ $this->update_subroutine_status( __FUNCTION__, $log, $existingOption, $wpOptionKey );
280
 
281
+ return array(
282
  'status' => 'success',
283
  'log' => $log,
284
+ );
285
 
286
  }
287
 
 
288
  /**
289
  * the retrieved list is either empty or it is already processed
290
  * we will conclude this subroutine here
293
 
294
  $checkList['duplicate_icl_translation'] = self::SUB_ROUTINE_STATUS_DONE;
295
 
296
+ $log[] = '-- Subroutine is finished at ' . date( 'Y-m-d H:i:s' );
297
 
298
+ $existingOption['exec_plan'][ __FUNCTION__ ]['progress']['check_list'] = $checkList;
299
 
300
+ $this->update_subroutine_status( __FUNCTION__, $log, $existingOption, $wpOptionKey );
301
 
302
+ return array(
303
  'status' => 'success',
304
  'log' => $log,
305
+ );
306
  }
307
 
308
  $log[] = '- All subroutine is processed.';
309
  $log[] = '- Updating method execution status to executed.';
310
+ $log[] = '- Method execution is finished at ' . date( 'Y-m-d H:i:s' );
311
 
312
  $fn = $existingOption['_func'];
313
 
314
+ $fn[ __FUNCTION__ ] = self::STATUS_METHOD_EXECUTED;
315
 
316
  $existingOption['_func'] = $fn;
317
  $existingOption['_log'] = $log;
318
 
319
+ update_option( $wpOptionKey, $existingOption );
 
320
 
321
+ return array(
322
  'status' => 'success',
323
  'log' => $log,
324
+ );
325
  }
326
 
327
 
333
  *
334
  * @return int|string
335
  */
336
+ private function fetch_and_duplicate( $id ) {
337
 
338
  global $wpdb;
339
 
340
+ $qry = 'SELECT * FROM `' . $wpdb->prefix . 'icl_strings` AS ics WHERE `id`=\'' . intval( $id ) . '\'; ';
341
 
342
+ $row = $wpdb->get_row( $qry, ARRAY_A );
343
 
344
  $str_id = '';
345
 
346
+ if ( ! empty( $row ) ) {
347
 
348
+ unset( $row['id'] );
349
 
350
  $row['context'] = $this->getNewTextDomain();
351
 
352
+ $md5 = md5( $this->getNewTextDomain() . $row['name'] . $row['gettext_context'] );
353
 
354
  $row['domain_name_context_md5'] = $md5;
355
 
356
+ $wpdb->insert( $wpdb->prefix . 'icl_strings', $row );
357
 
358
  $str_id = $wpdb->insert_id;
359
 
360
+ if ( empty( $str_id ) ) {
361
  return 0;
362
  }
363
 
364
+ $query = 'SELECT * FROM `' . $wpdb->prefix . 'icl_string_translations` AS ics WHERE `string_id`=\'' . intval( $id ) . '\'; ';
365
 
366
+ $rows = $wpdb->get_results( $query, ARRAY_A );
367
 
368
+ foreach ( $rows as $entry ) {
369
 
370
+ unset( $entry['id'] );
371
 
372
  $entry['string_id'] = $str_id;
373
 
374
+ $wpdb->insert( $wpdb->prefix . 'icl_string_translations', $entry );
375
  }
376
  }
377
 
390
  *
391
  * @return array
392
  */
393
+ private function update_subroutine_status( $func, $log, $existingOption, $wpOptionKey ) {
 
394
 
395
  $log[] = '- Entering into paused phase.';
396
 
397
  $fn = $existingOption['_func'];
398
 
399
+ $fn[ $func ] = self::STATUS_METHOD_PAUSED;
400
 
401
  $existingOption['_func'] = $fn;
402
  $existingOption['_log'] = $log;
403
 
404
+ update_option( $wpOptionKey, $existingOption );
405
 
406
  return $log;
407
  }
416
  *
417
  * @return array
418
  */
419
+ private function get_all_ids( $context = 'elementskit-lite' ) {
420
 
421
  global $wpdb;
422
 
423
+ $ret = array();
424
  $tbl = $wpdb->prefix . 'icl_string_translations';
425
 
426
  /**
428
  * by checking if table exists
429
  */
430
 
431
+ if ( $wpdb->get_var( "SHOW TABLES LIKE '$tbl'" ) == $tbl ) {
432
 
433
+ $qry = 'SELECT ict.id, ict.string_id, ict.language, ict.status, ics.context ';
434
  $qry .= 'FROM `' . $tbl . '` AS ict ';
435
  $qry .= 'LEFT JOIN `' . $wpdb->prefix . 'icl_strings` AS ics ON ict.string_id = ics.id ';
436
  $qry .= 'WHERE ics.context = \'' . $context . '\';';
437
 
438
+ $rows = $wpdb->get_results( $qry );
 
439
 
440
+ foreach ( $rows as $row ) {
441
 
442
+ $ret[ $row->string_id ] = $row->string_id;
443
  }
444
  }
445
 
454
  *
455
  * @return array
456
  */
457
+ private function get_all_post_ids_by_meta_key( $key = '_elementor_data' ) {
458
 
459
  global $wpdb;
460
 
461
+ $qry = 'SELECT meta_id, meta_key, post_id ';
462
  $qry .= 'FROM `' . $wpdb->prefix . 'postmeta` ';
463
  $qry .= 'WHERE meta_key = \'' . $key . '\';';
464
 
465
+ $rows = $wpdb->get_results( $qry );
466
+ $ret = array();
467
 
468
+ foreach ( $rows as $row ) {
469
 
470
+ $ret[ $row->post_id ] = $row->post_id;
471
  }
472
 
473
  return $ret;
474
  }
475
 
476
 
477
+ private function get_post_meta_by_post_id( $post_id, $key = '_elementor_data' ) {
478
 
479
  global $wpdb;
480
 
481
+ $qry = 'SELECT * ';
482
  $qry .= 'FROM `' . $wpdb->prefix . 'postmeta` ';
483
+ $qry .= 'WHERE post_id = \'' . intval( $post_id ) . '\' AND meta_key = \'' . $key . '\';';
484
 
485
+ $row = $wpdb->get_row( $qry );
486
 
487
  return $row;
488
  }
489
 
490
 
491
+ private function update_post_meta_by_meta_id( $meta_id, $value ) {
492
 
493
  global $wpdb;
494
 
496
 
497
  //$qry = 'UPDATE `'.$tbl.'` SET `meta_value` = \''.$value.'\' WHERE `meta_id`=\''.intval($meta_id).'\';';
498
 
499
+ return $wpdb->update( $tbl, array( 'meta_value' => $value ), array( 'meta_id' => intval( $meta_id ) ), array( '%s' ), array( '%d' ) );
500
  }
501
 
502
 
509
  *
510
  * @return mixed
511
  */
512
+ private function fetch_and_correct_meta_value( $post_id, $meta_key = '_elementor_data' ) {
513
 
514
+ $row = $this->get_post_meta_by_post_id( $post_id, $meta_key );
515
 
516
  $check_arr = $this->get_original_string_array();
517
  $replace_arr = $this->get_replace_string_array();
518
 
519
+ $modified = str_replace( $check_arr, $replace_arr, $row->meta_value );
520
 
521
+ return $this->update_post_meta_by_meta_id( $row->meta_id, $modified );
522
 
523
  //get_post_meta($post_id, $meta_key, true);
524
  //update_post_meta($post_id, $meta_key, $modified);
527
 
528
  private function get_original_string_array() {
529
 
530
+ $original = array(
531
  '{"value":"icon icon-home","library":"ekiticons"}',
532
  '{"value":"icon icon-apartment1","library":"ekiticons"}',
533
  '{"value":"icon icon-pencil","library":"ekiticons"}',
1433
  '{"value":"icon icon-vertical-timeline","library":"ekiticons"}',
1434
  '{"value":"icon icon-video-player","library":"ekiticons"}',
1435
  '{"value":"icon icon-weather","library":"ekiticons"}',
1436
+ );
1437
 
1438
  return $original;
1439
  }
1441
 
1442
  private function get_replace_string_array() {
1443
 
1444
+ $replace = array(
1445
  '{"value":"ekiticon ekiticon-home","library":"ekiticons"}',
1446
  '{"value":"ekiticon ekiticon-apartment1","library":"ekiticons"}',
1447
  '{"value":"ekiticon ekiticon-pencil","library":"ekiticons"}',
2347
  '{"value":"ekiticon ekiticon-vertical-timeline","library":"ekiticons"}',
2348
  '{"value":"ekiticon ekiticon-video-player","library":"ekiticons"}',
2349
  '{"value":"ekiticon ekiticon-weather","library":"ekiticons"}',
2350
+ );
2351
 
2352
  return $replace;
2353
  }
2354
 
2355
+ }
modules/controls/ajax-select2-api.php CHANGED
@@ -5,194 +5,210 @@ defined( 'ABSPATH' ) || exit;
5
 
6
  class Controls_Ajax_Select2_Api extends Core\Handler_Api {
7
 
8
- public function config(){
9
- $this->prefix = 'ajaxselect2';
10
- }
11
-
12
-
13
- public function get_post_list(){
14
-
15
- if(!current_user_can('edit_posts')){
16
- return;
17
- }
18
-
19
- $query_args = [
20
- 'post_type' => 'post',
21
- 'post_status' => 'publish',
22
- 'posts_per_page' => 15,
23
- ];
24
-
25
- if(isset($this->request['ids'])){
26
- $ids = explode(',', $this->request['ids']);
27
- $query_args['post__in'] = $ids;
28
- }
29
- if(isset($this->request['s'])){
30
- $query_args['s'] = $this->request['s'];
31
- }
32
-
33
- $query = new \WP_Query($query_args);
34
- $options = [];
35
- if($query->have_posts()):
36
- while ($query->have_posts()) {
37
- $query->the_post();
38
- $options[] = [ 'id' => get_the_ID(), 'text' => get_the_title() ];
39
- }
40
- endif;
41
-
42
- return ['results' => $options];
43
- wp_reset_postdata();
44
- }
45
-
46
- public function get_page_list(){
47
- if(!current_user_can('edit_posts')){
48
- return;
49
- }
50
- $query_args = [
51
- 'post_type' => 'page',
52
- 'post_status' => 'publish',
53
- 'posts_per_page' => 15,
54
- ];
55
-
56
- if(isset($this->request['ids'])){
57
- $ids = explode(',', $this->request['ids']);
58
- $query_args['post__in'] = $ids;
59
- }
60
- if(isset($this->request['s'])){
61
- $query_args['s'] = $this->request['s'];
62
- }
63
-
64
- $query = new \WP_Query($query_args);
65
- $options = [];
66
- if($query->have_posts()):
67
- while ($query->have_posts()) {
68
- $query->the_post();
69
- $options[] = [ 'id' => get_the_ID(), 'text' => get_the_title() ];
70
- }
71
- endif;
72
-
73
- return ['results' => $options];
74
- wp_reset_postdata();
75
- }
76
-
77
- public function get_singular_list(){
78
- $query_args = [
79
- 'post_status' => 'publish',
80
- 'posts_per_page' => 15,
81
- 'post_type' => 'any'
82
- ];
83
-
84
- if(isset($this->request['ids'])){
85
- $ids = explode(',', $this->request['ids']);
86
- $query_args['post__in'] = $ids;
87
- }
88
- if(isset($this->request['s'])){
89
- $query_args['s'] = $this->request['s'];
90
- }
91
-
92
- $query = new \WP_Query($query_args);
93
- $options = [];
94
- if($query->have_posts()):
95
- while ($query->have_posts()) {
96
- $query->the_post();
97
- $options[] = [ 'id' => get_the_ID(), 'text' => get_the_title() ];
98
- }
99
- endif;
100
-
101
- return ['results' => $options];
102
- wp_reset_postdata();
103
- }
104
-
105
- public function get_category(){
106
-
107
- $taxonomy = 'category';
108
- $query_args = [
109
- 'taxonomy' => ['category'], // taxonomy name
110
- 'orderby' => 'name',
111
- 'order' => 'DESC',
112
- 'hide_empty' => true,
113
- 'number' => 10
114
- ];
115
-
116
- if(isset($this->request['ids'])){
117
- $ids = explode(',', $this->request['ids']);
118
- $query_args['include'] = $ids;
119
- }
120
- if(isset($this->request['s'])){
121
- $query_args['name__like'] = $this->request['s'];
122
- }
123
-
124
- $terms = get_terms( $query_args );
125
-
126
-
127
- $options = [];
128
-
129
- if(is_countable($terms) && count($terms) > 0):
130
-
131
- foreach ($terms as $term) {
132
- $options[] = [ 'id' => $term->term_id, 'text' => $term->name ];
133
- }
134
- endif;
135
- return ['results' => $options];
136
- }
137
-
138
- public function get_product_list(){
139
- $query_args = [
140
- 'post_type' => 'product',
141
- 'post_status' => 'publish',
142
- 'posts_per_page' => 15,
143
- ];
144
-
145
- if(isset($this->request['ids'])){
146
- $ids = explode(',', $this->request['ids']);
147
- $query_args['post__in'] = $ids;
148
- }
149
- if(isset($this->request['s'])){
150
- $query_args['s'] = $this->request['s'];
151
- }
152
-
153
- $query = new \WP_Query($query_args);
154
- $options = [];
155
- if($query->have_posts()):
156
- while ($query->have_posts()) {
157
- $query->the_post();
158
- $options[] = [ 'id' => get_the_ID(), 'text' => get_the_title() ];
159
- }
160
- endif;
161
-
162
- return ['results' => $options];
163
- wp_reset_postdata();
164
- }
165
-
166
- public function get_product_cat(){
167
- $query_args = [
168
- 'taxonomy' => ['product_cat'], // taxonomy name
169
- 'orderby' => 'name',
170
- 'order' => 'DESC',
171
- 'hide_empty' => false,
172
- 'number' => 6
173
- ];
174
-
175
- if(isset($this->request['ids'])){
176
- $ids = explode(',', $this->request['ids']);
177
- $query_args['include'] = $ids;
178
- }
179
- if(isset($this->request['s'])){
180
- $query_args['name__like'] = $this->request['s'];
181
- }
182
-
183
- $terms = get_terms( $query_args );
184
-
185
-
186
- $options = [];
187
-
188
- if(is_countable($terms) && count($terms) > 0):
189
- foreach ($terms as $term) {
190
- $options[] = [ 'id' => $term->term_id, 'text' => $term->name ];
191
- }
192
- endif;
193
-
194
- return ['results' => $options];
195
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
196
  }
197
 
198
  new Controls_Ajax_Select2_Api();
5
 
6
  class Controls_Ajax_Select2_Api extends Core\Handler_Api {
7
 
8
+ public function config() {
9
+ $this->prefix = 'ajaxselect2';
10
+ }
11
+
12
+
13
+ public function get_post_list() {
14
+
15
+ if ( ! current_user_can( 'edit_posts' ) ) {
16
+ return;
17
+ }
18
+
19
+ $query_args = array(
20
+ 'post_type' => 'post',
21
+ 'post_status' => 'publish',
22
+ 'posts_per_page' => 15,
23
+ );
24
+
25
+ if ( isset( $this->request['ids'] ) ) {
26
+ $ids = explode( ',', $this->request['ids'] );
27
+ $query_args['post__in'] = $ids;
28
+ }
29
+ if ( isset( $this->request['s'] ) ) {
30
+ $query_args['s'] = $this->request['s'];
31
+ }
32
+
33
+ $query = new \WP_Query( $query_args );
34
+ $options = array();
35
+ if ( $query->have_posts() ) :
36
+ while ( $query->have_posts() ) {
37
+ $query->the_post();
38
+ $options[] = array(
39
+ 'id' => get_the_ID(),
40
+ 'text' => get_the_title(),
41
+ );
42
+ }
43
+ endif;
44
+
45
+ return array( 'results' => $options );
46
+ wp_reset_postdata();
47
+ }
48
+
49
+ public function get_page_list() {
50
+ if ( ! current_user_can( 'edit_posts' ) ) {
51
+ return;
52
+ }
53
+ $query_args = array(
54
+ 'post_type' => 'page',
55
+ 'post_status' => 'publish',
56
+ 'posts_per_page' => 15,
57
+ );
58
+
59
+ if ( isset( $this->request['ids'] ) ) {
60
+ $ids = explode( ',', $this->request['ids'] );
61
+ $query_args['post__in'] = $ids;
62
+ }
63
+ if ( isset( $this->request['s'] ) ) {
64
+ $query_args['s'] = $this->request['s'];
65
+ }
66
+
67
+ $query = new \WP_Query( $query_args );
68
+ $options = array();
69
+ if ( $query->have_posts() ) :
70
+ while ( $query->have_posts() ) {
71
+ $query->the_post();
72
+ $options[] = array(
73
+ 'id' => get_the_ID(),
74
+ 'text' => get_the_title(),
75
+ );
76
+ }
77
+ endif;
78
+
79
+ return array( 'results' => $options );
80
+ wp_reset_postdata();
81
+ }
82
+
83
+ public function get_singular_list() {
84
+ $query_args = array(
85
+ 'post_status' => 'publish',
86
+ 'posts_per_page' => 15,
87
+ 'post_type' => 'any',
88
+ );
89
+
90
+ if ( isset( $this->request['ids'] ) ) {
91
+ $ids = explode( ',', $this->request['ids'] );
92
+ $query_args['post__in'] = $ids;
93
+ }
94
+ if ( isset( $this->request['s'] ) ) {
95
+ $query_args['s'] = $this->request['s'];
96
+ }
97
+
98
+ $query = new \WP_Query( $query_args );
99
+ $options = array();
100
+ if ( $query->have_posts() ) :
101
+ while ( $query->have_posts() ) {
102
+ $query->the_post();
103
+ $options[] = array(
104
+ 'id' => get_the_ID(),
105
+ 'text' => get_the_title(),
106
+ );
107
+ }
108
+ endif;
109
+
110
+ return array( 'results' => $options );
111
+ wp_reset_postdata();
112
+ }
113
+
114
+ public function get_category() {
115
+
116
+ $taxonomy = 'category';
117
+ $query_args = array(
118
+ 'taxonomy' => array( 'category' ), // taxonomy name
119
+ 'orderby' => 'name',
120
+ 'order' => 'DESC',
121
+ 'hide_empty' => true,
122
+ 'number' => 10,
123
+ );
124
+
125
+ if ( isset( $this->request['ids'] ) ) {
126
+ $ids = explode( ',', $this->request['ids'] );
127
+ $query_args['include'] = $ids;
128
+ }
129
+ if ( isset( $this->request['s'] ) ) {
130
+ $query_args['name__like'] = $this->request['s'];
131
+ }
132
+
133
+ $terms = get_terms( $query_args );
134
+
135
+ $options = array();
136
+
137
+ if ( is_countable( $terms ) && count( $terms ) > 0 ) :
138
+
139
+ foreach ( $terms as $term ) {
140
+ $options[] = array(
141
+ 'id' => $term->term_id,
142
+ 'text' => $term->name,
143
+ );
144
+ }
145
+ endif;
146
+ return array( 'results' => $options );
147
+ }
148
+
149
+ public function get_product_list() {
150
+ $query_args = array(
151
+ 'post_type' => 'product',
152
+ 'post_status' => 'publish',
153
+ 'posts_per_page' => 15,
154
+ );
155
+
156
+ if ( isset( $this->request['ids'] ) ) {
157
+ $ids = explode( ',', $this->request['ids'] );
158
+ $query_args['post__in'] = $ids;
159
+ }
160
+ if ( isset( $this->request['s'] ) ) {
161
+ $query_args['s'] = $this->request['s'];
162
+ }
163
+
164
+ $query = new \WP_Query( $query_args );
165
+ $options = array();
166
+ if ( $query->have_posts() ) :
167
+ while ( $query->have_posts() ) {
168
+ $query->the_post();
169
+ $options[] = array(
170
+ 'id' => get_the_ID(),
171
+ 'text' => get_the_title(),
172
+ );
173
+ }
174
+ endif;
175
+
176
+ return array( 'results' => $options );
177
+ wp_reset_postdata();
178
+ }
179
+
180
+ public function get_product_cat() {
181
+ $query_args = array(
182
+ 'taxonomy' => array( 'product_cat' ), // taxonomy name
183
+ 'orderby' => 'name',
184
+ 'order' => 'DESC',
185
+ 'hide_empty' => false,
186
+ 'number' => 6,
187
+ );
188
+
189
+ if ( isset( $this->request['ids'] ) ) {
190
+ $ids = explode( ',', $this->request['ids'] );
191
+ $query_args['include'] = $ids;
192
+ }
193
+ if ( isset( $this->request['s'] ) ) {
194
+ $query_args['name__like'] = $this->request['s'];
195
+ }
196
+
197
+ $terms = get_terms( $query_args );
198
+
199
+ $options = array();
200
+
201
+ if ( is_countable( $terms ) && count( $terms ) > 0 ) :
202
+ foreach ( $terms as $term ) {
203
+ $options[] = array(
204
+ 'id' => $term->term_id,
205
+ 'text' => $term->name,
206
+ );
207
+ }
208
+ endif;
209
+
210
+ return array( 'results' => $options );
211
+ }
212
  }
213
 
214
  new Controls_Ajax_Select2_Api();
modules/controls/ajax-select2.php CHANGED
@@ -5,7 +5,7 @@ defined( 'ABSPATH' ) || exit;
5
 
6
  class Ajax_Select2 extends \Elementor\Base_Data_Control {
7
 
8
- public function get_api_url(){
9
  return get_rest_url() . 'elementskit/v1';
10
  }
11
 
@@ -31,7 +31,7 @@ class Ajax_Select2 extends \Elementor\Base_Data_Control {
31
  */
32
  public function enqueue() {
33
  // script
34
- wp_register_script( 'elementskit-js-ajaxchoose-control', Init::get_url() . 'assets/js/ajaxchoose.js' );
35
  wp_enqueue_script( 'elementskit-js-ajaxchoose-control' );
36
  }
37
 
@@ -47,11 +47,11 @@ class Ajax_Select2 extends \Elementor\Base_Data_Control {
47
  * @return array Control default settings.
48
  */
49
  protected function get_default_settings() {
50
- return [
51
- 'options' => [],
52
- 'multiple' => false,
53
- 'select2options' => [],
54
- ];
55
  }
56
 
57
 
@@ -69,15 +69,15 @@ class Ajax_Select2 extends \Elementor\Base_Data_Control {
69
  $control_uid = $this->get_control_uid();
70
  ?>
71
  <div class="elementor-control-field">
72
- <label for="<?php echo esc_attr($control_uid); ?>" class="elementor-control-title">{{{ data.label }}}</label>
73
  <div class="elementor-control-input-wrapper">
74
  <# var multiple = ( data.multiple ) ? 'multiple' : ''; #>
75
  <select
76
- id="<?php echo esc_attr($control_uid); ?>"
77
  class="elementor-megamenuajaxselect2"
78
  type="megamenuajaxselect2" {{ multiple }}
79
  data-setting="{{ data.name }}"
80
- data-ajax-url="<?php echo esc_attr($this->get_api_url() . '/{{data.options}}/'); ?>"
81
  >
82
  </select>
83
  </div>
5
 
6
  class Ajax_Select2 extends \Elementor\Base_Data_Control {
7
 
8
+ public function get_api_url() {
9
  return get_rest_url() . 'elementskit/v1';
10
  }
11
 
31
  */
32
  public function enqueue() {
33
  // script
34
+ wp_register_script( 'elementskit-js-ajaxchoose-control', Init::get_url() . 'assets/js/ajaxchoose.js' );
35
  wp_enqueue_script( 'elementskit-js-ajaxchoose-control' );
36
  }
37
 
47
  * @return array Control default settings.
48
  */
49
  protected function get_default_settings() {
50
+ return array(
51
+ 'options' => array(),
52
+ 'multiple' => false,
53
+ 'select2options' => array(),
54
+ );
55
  }
56
 
57
 
69
  $control_uid = $this->get_control_uid();
70
  ?>
71
  <div class="elementor-control-field">
72
+ <label for="<?php echo esc_attr( $control_uid ); ?>" class="elementor-control-title">{{{ data.label }}}</label>
73
  <div class="elementor-control-input-wrapper">
74
  <# var multiple = ( data.multiple ) ? 'multiple' : ''; #>
75
  <select
76
+ id="<?php echo esc_attr( $control_uid ); ?>"
77
  class="elementor-megamenuajaxselect2"
78
  type="megamenuajaxselect2" {{ multiple }}
79
  data-setting="{{ data.name }}"
80
+ data-ajax-url="<?php echo esc_attr( $this->get_api_url() . '/{{data.options}}/' ); ?>"
81
  >
82
  </select>
83
  </div>
modules/controls/control-manager.php CHANGED
@@ -13,7 +13,7 @@ defined( 'ABSPATH' ) || exit;
13
  * @since 1.0.0
14
  */
15
  class Controls_Manager extends \Elementor\Controls_Manager {
16
- const IMAGECHOOSE = 'imagechoose';
17
- const AJAXSELECT2 = 'ajaxselect2';
18
- const WIDGETAREA = 'widgetarea';
19
- }
13
  * @since 1.0.0
14
  */
15
  class Controls_Manager extends \Elementor\Controls_Manager {
16
+ const IMAGECHOOSE = 'imagechoose';
17
+ const AJAXSELECT2 = 'ajaxselect2';
18
+ const WIDGETAREA = 'widgetarea';
19
+ }
modules/controls/image-choose.php CHANGED
@@ -18,7 +18,7 @@ class Image_Choose extends \Elementor\Base_Data_Control {
18
  public function get_type() {
19
  return 'imagechoose';
20
  }
21
-
22
  /**
23
  * Enqueue ontrol scripts and styles.
24
  *
@@ -27,11 +27,11 @@ class Image_Choose extends \Elementor\Base_Data_Control {
27
  */
28
  public function enqueue() {
29
  // styles
30
- wp_register_style( 'elementskit-css-image-choose-control', Init::get_url() . 'assets/css/imagechoose.css', [], '1.0.0' );
31
  wp_enqueue_style( 'elementskit-css-image-choose-control' );
32
 
33
  // script
34
- wp_register_script( 'elementskit-js-image-choose-control', Init::get_url() . 'assets/js/imagechoose.js' );
35
  wp_enqueue_script( 'elementskit-js-image-choose-control' );
36
  }
37
 
@@ -55,8 +55,8 @@ class Image_Choose extends \Elementor\Base_Data_Control {
55
  <# _.each( data.options, function( options, value ) { #>
56
  <div class="image-choose-label-block"
57
  style="width:{{ options.width }}">
58
- <input id="<?php echo esc_attr($control_uid); ?>" type="radio" name="elementor-choose-{{ data.name }}-{{ data._cid }}" value="{{ value }}">
59
- <label class="elementor-image-choices-label" for="<?php echo esc_attr($control_uid); ?>" title="{{ options.title }}">
60
  <img class="imagesmall" src="{{ options.imagesmall }}" alt="{{ options.title }}" />
61
  <span class="imagelarge">
62
  <img src="{{ options.imagelarge }}" alt="{{ options.title }}" />
@@ -87,9 +87,9 @@ class Image_Choose extends \Elementor\Base_Data_Control {
87
  * @return array Control default settings.
88
  */
89
  protected function get_default_settings() {
90
- return [
91
  'label_block' => true,
92
- 'options' => []
93
- ];
94
  }
95
- }
18
  public function get_type() {
19
  return 'imagechoose';
20
  }
21
+
22
  /**
23
  * Enqueue ontrol scripts and styles.
24
  *
27
  */
28
  public function enqueue() {
29
  // styles
30
+ wp_register_style( 'elementskit-css-image-choose-control', Init::get_url() . 'assets/css/imagechoose.css', array(), '1.0.0' );
31
  wp_enqueue_style( 'elementskit-css-image-choose-control' );
32
 
33
  // script
34
+ wp_register_script( 'elementskit-js-image-choose-control', Init::get_url() . 'assets/js/imagechoose.js' );
35
  wp_enqueue_script( 'elementskit-js-image-choose-control' );
36
  }
37
 
55
  <# _.each( data.options, function( options, value ) { #>
56
  <div class="image-choose-label-block"
57
  style="width:{{ options.width }}">
58
+ <input id="<?php echo esc_attr( $control_uid ); ?>" type="radio" name="elementor-choose-{{ data.name }}-{{ data._cid }}" value="{{ value }}">
59
+ <label class="elementor-image-choices-label" for="<?php echo esc_attr( $control_uid ); ?>" title="{{ options.title }}">
60
  <img class="imagesmall" src="{{ options.imagesmall }}" alt="{{ options.title }}" />
61
  <span class="imagelarge">
62
  <img src="{{ options.imagelarge }}" alt="{{ options.title }}" />
87
  * @return array Control default settings.
88
  */
89
  protected function get_default_settings() {
90
+ return array(
91
  'label_block' => true,
92
+ 'options' => array(),
93
+ );
94
  }
95
+ }
modules/controls/init.php CHANGED
@@ -3,79 +3,79 @@ namespace ElementsKit_Lite\Modules\Controls;
3
 
4
  defined( 'ABSPATH' ) || exit;
5
 
6
- class Init{
7
 
8
- // instance of all control's base class
9
- public static function get_url(){
10
- return \ElementsKit_Lite::module_url() . 'controls/';
11
- }
12
- public static function get_dir(){
13
- return \ElementsKit_Lite::module_dir() . 'controls/';
14
- }
15
 
16
- public function __construct() {
17
 
18
- // Includes necessary files
19
- $this->include_files();
20
-
21
- // Initilizating control hooks
22
- add_action('elementor/controls/register', array( $this, 'image_choose' ), 11 );
23
- add_action('elementor/controls/register', array( $this, 'ajax_select2' ), 11 );
24
- add_action('elementor/controls/register', array( $this, 'widgetarea' ), 11 );
25
 
26
- // Initilizating control scripts
27
- add_action( 'elementor/frontend/after_enqueue_styles', array( $this, 'widgetarea_enqueue_styles_editor' ) );
28
- add_action( 'elementor/frontend/after_enqueue_scripts', array( $this, 'widgetarea_enqueue_scripts_editor' ), 22 );
29
 
30
- // Initilizating control classes
31
- $widget_area_utils = new Widget_Area_Utils();
32
- $widget_area_utils->init();
33
- }
34
 
35
- private function include_files(){
36
- // Controls_Manager
37
- include_once self::get_dir() . 'control-manager.php';
38
 
39
- // image choose
40
- include_once self::get_dir() . 'image-choose.php';
41
 
42
- // ajax select2
43
- include_once self::get_dir() . 'ajax-select2.php';
44
- include_once self::get_dir() . 'ajax-select2-api.php';
45
 
46
- // widgetarea
47
- include_once self::get_dir() . 'widget-area-utils.php';
48
- include_once self::get_dir() . 'widget-area.php';
49
- }
50
 
51
- public function image_choose( $controls_manager ) {
52
- $controls_manager->register(new \ElementsKit_Lite\Modules\Controls\Image_Choose());
53
- }
54
 
55
- public function ajax_select2( $controls_manager ) {
56
- $controls_manager->register(new \ElementsKit_Lite\Modules\Controls\Ajax_Select2());
57
- }
58
 
59
- public function widgetarea( $controls_manager ) {
60
- $controls_manager->register(new \ElementsKit_Lite\Modules\Controls\Widget_Area());
61
- }
62
-
63
  public function widgetarea_enqueue_scripts_editor() {
64
- /**
65
- * widgetarea-editor.js
66
- *
67
- * Use dependencies ['jquery', 'elementor-frontend']
68
- * Using ['jquery', 'elementor-editor'] causes Advanced Widgets content editor window not to open
69
- */
70
- if ( is_preview() || \Elementor\Plugin::$instance->preview->is_preview_mode() ) {
71
- wp_enqueue_script( 'elementskit-js-widgetarea-control-editor', self::get_url() . 'assets/js/widgetarea-editor.js', ['jquery', 'elementor-frontend'], \ElementsKit_Lite::version(), true );
72
- }
73
- }
74
-
75
  public function widgetarea_enqueue_styles_editor() {
76
- if ( is_preview() || \Elementor\Plugin::$instance->preview->is_preview_mode() ) {
77
- wp_enqueue_style( 'elementskit-css-widgetarea-control-editor', self::get_url() . 'assets/css/widgetarea-editor.css', [], \ElementsKit_Lite::version() );
78
- }
79
- }
80
 
81
  }
3
 
4
  defined( 'ABSPATH' ) || exit;
5
 
6
+ class Init {
7
 
8
+ // instance of all control's base class
9
+ public static function get_url() {
10
+ return \ElementsKit_Lite::module_url() . 'controls/';
11
+ }
12
+ public static function get_dir() {
13
+ return \ElementsKit_Lite::module_dir() . 'controls/';
14
+ }
15
 
16
+ public function __construct() {
17
 
18
+ // Includes necessary files
19
+ $this->include_files();
20
+
21
+ // Initilizating control hooks
22
+ add_action( 'elementor/controls/register', array( $this, 'image_choose' ), 11 );
23
+ add_action( 'elementor/controls/register', array( $this, 'ajax_select2' ), 11 );
24
+ add_action( 'elementor/controls/register', array( $this, 'widgetarea' ), 11 );
25
 
26
+ // Initilizating control scripts
27
+ add_action( 'elementor/frontend/after_enqueue_styles', array( $this, 'widgetarea_enqueue_styles_editor' ) );
28
+ add_action( 'elementor/frontend/after_enqueue_scripts', array( $this, 'widgetarea_enqueue_scripts_editor' ), 22 );
29
 
30
+ // Initilizating control classes
31
+ $widget_area_utils = new Widget_Area_Utils();
32
+ $widget_area_utils->init();
33
+ }
34
 
35
+ private function include_files() {
36
+ // Controls_Manager
37
+ include_once self::get_dir() . 'control-manager.php';
38
 
39
+ // image choose
40
+ include_once self::get_dir() . 'image-choose.php';
41
 
42
+ // ajax select2
43
+ include_once self::get_dir() . 'ajax-select2.php';
44
+ include_once self::get_dir() . 'ajax-select2-api.php';
45
 
46
+ // widgetarea
47
+ include_once self::get_dir() . 'widget-area-utils.php';
48
+ include_once self::get_dir() . 'widget-area.php';
49
+ }
50
 
51
+ public function image_choose( $controls_manager ) {
52
+ $controls_manager->register( new \ElementsKit_Lite\Modules\Controls\Image_Choose() );
53
+ }
54
 
55
+ public function ajax_select2( $controls_manager ) {
56
+ $controls_manager->register( new \ElementsKit_Lite\Modules\Controls\Ajax_Select2() );
57
+ }
58
 
59
+ public function widgetarea( $controls_manager ) {
60
+ $controls_manager->register( new \ElementsKit_Lite\Modules\Controls\Widget_Area() );
61
+ }
62
+
63
  public function widgetarea_enqueue_scripts_editor() {
64
+ /**
65
+ * widgetarea-editor.js
66
+ *
67
+ * Use dependencies ['jquery', 'elementor-frontend']
68
+ * Using ['jquery', 'elementor-editor'] causes Advanced Widgets content editor window not to open
69
+ */
70
+ if ( is_preview() || \Elementor\Plugin::$instance->preview->is_preview_mode() ) {
71
+ wp_enqueue_script( 'elementskit-js-widgetarea-control-editor', self::get_url() . 'assets/js/widgetarea-editor.js', array( 'jquery', 'elementor-frontend' ), \ElementsKit_Lite::version(), true );
72
+ }
73
+ }
74
+
75
  public function widgetarea_enqueue_styles_editor() {
76
+ if ( is_preview() || \Elementor\Plugin::$instance->preview->is_preview_mode() ) {
77
+ wp_enqueue_style( 'elementskit-css-widgetarea-control-editor', self::get_url() . 'assets/css/widgetarea-editor.css', array(), \ElementsKit_Lite::version() );
78
+ }
79
+ }
80
 
81
  }
modules/controls/widget-area-modal.php CHANGED
@@ -8,14 +8,14 @@
8
  <span class="elementor-templates-modal__header__logo__icon-wrapper">
9
  <i class="eicon-elementor"></i>
10
  </span>
11
- <span class="elementor-templates-modal__header__logo__title"><?php esc_html_e('Widget Area', 'elementskit-lite'); ?></span>
12
  </div>
13
  </div>
14
 
15
  <div class="elementor-templates-modal__header__items-area">
16
  <div class="elementor-templates-modal__header__close elementor-templates-modal__header__close--normal elementor-templates-modal__header__item">
17
- <i class="eicon-close" aria-hidden="true" title="<?php echo esc_attr__('Close', 'elementskit-lite'); ?>"></i>
18
- <span class="elementor-screen-only"><?php esc_html_e('Close', 'elementskit-lite'); ?></span>
19
  </div>
20
  </div>
21
  </div>
@@ -25,7 +25,7 @@
25
  <div id="elementor-template-library-templates" data-template-source="remote">
26
 
27
  <div id="elementor-template-library-templates-container">
28
- <iframe id="widgetarea-control-iframe"></iframe>
29
  </div>
30
  </div>
31
  </div>
@@ -40,11 +40,11 @@
40
  <div class="elementor-loader-box"></div>
41
  </div>
42
  </div>
43
- <div class="elementor-loading-title"><?php esc_html_e('Loading', 'elementskit-lite'); ?></div>
44
  </div>
45
  </div>
46
  </div>
47
  </div>
48
  <div class="dialog-buttons-wrapper dialog-lightbox-buttons-wrapper"></div>
49
  </div>
50
- </div>
8
  <span class="elementor-templates-modal__header__logo__icon-wrapper">
9
  <i class="eicon-elementor"></i>
10
  </span>
11
+ <span class="elementor-templates-modal__header__logo__title"><?php esc_html_e( 'Widget Area', 'elementskit-lite' ); ?></span>
12
  </div>
13
  </div>
14
 
15
  <div class="elementor-templates-modal__header__items-area">
16
  <div class="elementor-templates-modal__header__close elementor-templates-modal__header__close--normal elementor-templates-modal__header__item">
17
+ <i class="eicon-close" aria-hidden="true" title="<?php echo esc_attr__( 'Close', 'elementskit-lite' ); ?>"></i>
18
+ <span class="elementor-screen-only"><?php esc_html_e( 'Close', 'elementskit-lite' ); ?></span>
19
  </div>
20
  </div>
21
  </div>
25
  <div id="elementor-template-library-templates" data-template-source="remote">
26
 
27
  <div id="elementor-template-library-templates-container">
28
+ <iframe id="widgetarea-control-iframe"></iframe>
29
  </div>
30
  </div>
31
  </div>
40
  <div class="elementor-loader-box"></div>
41
  </div>
42
  </div>
43
+ <div class="elementor-loading-title"><?php esc_html_e( 'Loading', 'elementskit-lite' ); ?></div>
44
  </div>
45
  </div>
46
  </div>
47
  </div>
48
  <div class="dialog-buttons-wrapper dialog-lightbox-buttons-wrapper"></div>
49
  </div>
50
+ </div>
modules/controls/widget-area-utils.php CHANGED
@@ -3,19 +3,21 @@ namespace ElementsKit_Lite\Modules\Controls;
3
 
4
  defined( 'ABSPATH' ) || exit;
5
 
6
- class Widget_Area_Utils{
7
 
8
- function init(){
9
- add_action('elementor/editor/after_enqueue_styles', array( $this, 'modal_content' ) );
10
 
11
- add_action( 'wp_ajax_ekit_widgetarea_content', [ $this, 'ekit_widgetarea_content' ] );
12
- add_action( 'wp_ajax_nopriv_ekit_widgetarea_content', [ $this, 'ekit_widgetarea_content' ] );
13
  }
14
 
15
  public function ekit_widgetarea_content() {
16
- if ( !wp_verify_nonce($_POST['nonce'], 'ekit_pro') ) wp_die();
 
 
17
 
18
- $post_id = intval( $_POST[ 'post_id' ] );
19
 
20
  if ( isset( $post_id ) ) {
21
  $elementor = \Elementor\Plugin::instance();
@@ -36,54 +38,55 @@ class Widget_Area_Utils{
36
  $output = ob_get_contents();
37
  ob_end_clean();
38
 
39
- echo \ElementsKit_Lite\Utils::render($output);
40
  }
41
 
42
  /**
43
  * $index for old version & data support
44
  */
45
- public static function parse($content, $widget_key, $tab_id = 1, $isAjax = '', $index = null){
46
- $key = ($content == '') ? $widget_key : $content;
47
- $extract_key = explode('***', $key);
48
  $extract_key = $extract_key[0];
49
- ob_start(); ?>
 
50
 
51
- <div class="widgetarea_warper widgetarea_warper_editable" data-elementskit-widgetarea-key="<?php echo esc_attr($extract_key); ?>" data-elementskit-widgetarea-index="<?php echo esc_attr($tab_id); ?>">
52
- <div class="widgetarea_warper_edit" data-elementskit-widgetarea-key="<?php echo esc_attr($extract_key); ?>" data-elementskit-widgetarea-index="<?php echo esc_attr($tab_id); ?>">
53
  <i class="eicon-edit" aria-hidden="true"></i>
54
- <span class="elementor-screen-only"><?php esc_html_e('Edit', 'elementskit-lite'); ?></span>
55
  </div>
56
 
57
  <?php
58
- $builder_post_title = 'dynamic-content-widget-' . $extract_key . '-' . $tab_id;
59
- $builder_post = get_page_by_title($builder_post_title, OBJECT, 'elementskit_content');
60
- $elementor = \Elementor\Plugin::instance();
61
 
62
  /**
63
  * this checking for already existing content of tab.
64
  */
65
  $post_id = isset( $builder_post->ID ) ? $builder_post->ID : null;
66
- if(!$post_id){
67
- $builder_post_title = 'dynamic-content-widget-' . $extract_key . '-' . $index;
68
- $builder_post = get_page_by_title($builder_post_title, OBJECT, 'elementskit_content');
69
- }
70
 
71
- if ( $isAjax === 'yes' ) {
72
- $post_id = isset( $builder_post->ID ) ? $builder_post->ID : '';
73
- echo '<div class="elementor-widget-container" data-ajax-post-id="'. $post_id .'"></div>';
74
- } else {
75
  ?>
76
  <div class="elementor-widget-container">
77
- <?php
78
- if ( isset( $builder_post->ID ) ) {
79
- echo str_replace('#elementor', '', \ElementsKit_Lite\Utils::render_tab_content($elementor->frontend->get_builder_content_for_display( $builder_post->ID ), $builder_post->ID));
80
- } else {
81
- echo esc_html__('Click here to add content.', 'elementskit-lite');
82
- }
83
- ?>
84
  </div>
85
  <?php
86
- }
87
  ?>
88
  </div>
89
  <?php
@@ -92,4 +95,4 @@ class Widget_Area_Utils{
92
 
93
  return $output;
94
  }
95
- }
3
 
4
  defined( 'ABSPATH' ) || exit;
5
 
6
+ class Widget_Area_Utils {
7
 
8
+ function init() {
9
+ add_action( 'elementor/editor/after_enqueue_styles', array( $this, 'modal_content' ) );
10
 
11
+ add_action( 'wp_ajax_ekit_widgetarea_content', array( $this, 'ekit_widgetarea_content' ) );
12
+ add_action( 'wp_ajax_nopriv_ekit_widgetarea_content', array( $this, 'ekit_widgetarea_content' ) );
13
  }
14
 
15
  public function ekit_widgetarea_content() {
16
+ if ( ! wp_verify_nonce( $_POST['nonce'], 'ekit_pro' ) ) {
17
+ wp_die();
18
+ }
19
 
20
+ $post_id = intval( $_POST['post_id'] );
21
 
22
  if ( isset( $post_id ) ) {
23
  $elementor = \Elementor\Plugin::instance();
38
  $output = ob_get_contents();
39
  ob_end_clean();
40
 
41
+ echo \ElementsKit_Lite\Utils::render( $output );
42
  }
43
 
44
  /**
45
  * $index for old version & data support
46
  */
47
+ public static function parse( $content, $widget_key, $tab_id = 1, $isAjax = '', $index = null ) {
48
+ $key = ( $content == '' ) ? $widget_key : $content;
49
+ $extract_key = explode( '***', $key );
50
  $extract_key = $extract_key[0];
51
+ ob_start();
52
+ ?>
53
 
54
+ <div class="widgetarea_warper widgetarea_warper_editable" data-elementskit-widgetarea-key="<?php echo esc_attr( $extract_key ); ?>" data-elementskit-widgetarea-index="<?php echo esc_attr( $tab_id ); ?>">
55
+ <div class="widgetarea_warper_edit" data-elementskit-widgetarea-key="<?php echo esc_attr( $extract_key ); ?>" data-elementskit-widgetarea-index="<?php echo esc_attr( $tab_id ); ?>">
56
  <i class="eicon-edit" aria-hidden="true"></i>
57
+ <span class="elementor-screen-only"><?php esc_html_e( 'Edit', 'elementskit-lite' ); ?></span>
58
  </div>
59
 
60
  <?php
61
+ $builder_post_title = 'dynamic-content-widget-' . $extract_key . '-' . $tab_id;
62
+ $builder_post = get_page_by_title( $builder_post_title, OBJECT, 'elementskit_content' );
63
+ $elementor = \Elementor\Plugin::instance();
64
 
65
  /**
66
  * this checking for already existing content of tab.
67
  */
68
  $post_id = isset( $builder_post->ID ) ? $builder_post->ID : null;
69
+ if ( ! $post_id ) {
70
+ $builder_post_title = 'dynamic-content-widget-' . $extract_key . '-' . $index;
71
+ $builder_post = get_page_by_title( $builder_post_title, OBJECT, 'elementskit_content' );
72
+ }
73
 
74
+ if ( $isAjax === 'yes' ) {
75
+ $post_id = isset( $builder_post->ID ) ? $builder_post->ID : '';
76
+ echo '<div class="elementor-widget-container" data-ajax-post-id="' . $post_id . '"></div>';
77
+ } else {
78
  ?>
79
  <div class="elementor-widget-container">
80
+ <?php
81
+ if ( isset( $builder_post->ID ) ) {
82
+ echo str_replace( '#elementor', '', \ElementsKit_Lite\Utils::render_tab_content( $elementor->frontend->get_builder_content_for_display( $builder_post->ID ), $builder_post->ID ) );
83
+ } else {
84
+ echo esc_html__( 'Click here to add content.', 'elementskit-lite' );
85
+ }
86
+ ?>
87
  </div>
88
  <?php
89
+ }
90
  ?>
91
  </div>
92
  <?php
95
 
96
  return $output;
97
  }
98
+ }
modules/controls/widget-area.php CHANGED
@@ -26,11 +26,11 @@ class Widget_Area extends \Elementor\Base_Data_Control {
26
  */
27
  public function enqueue() {
28
  // styles
29
- wp_register_style( 'elementskit-css-widgetarea-control-inspactor', Init::get_url() . 'assets/css/widgetarea-inspactor.css', [], '1.0.0' );
30
  wp_enqueue_style( 'elementskit-css-widgetarea-control-inspactor' );
31
 
32
  // script
33
- wp_register_script( 'elementskit-js-widgetarea-control-inspactor', Init::get_url() . 'assets/js/widgetarea-inspactor.js' );
34
  wp_enqueue_script( 'elementskit-js-widgetarea-control-inspactor' );
35
  }
36
 
@@ -49,9 +49,9 @@ class Widget_Area extends \Elementor\Base_Data_Control {
49
  $control_uid = $this->get_control_uid();
50
  ?>
51
  <div style="display:none" class="elementor-control-field">
52
- <label for="<?php echo esc_attr($control_uid); ?>" class="elementor-control-title">{{{ data.label }}}</label>
53
  <div class="elementor-control-input-wrapper">
54
- <input id="<?php echo esc_attr($control_uid); ?>" type="text" data-setting="{{ data.name }}" />
55
  </div>
56
  </div>
57
  <# if ( data.description ) { #>
@@ -72,9 +72,9 @@ class Widget_Area extends \Elementor\Base_Data_Control {
72
  * @return array Control default settings.
73
  */
74
  protected function get_default_settings() {
75
- return [
76
- 'label_block' => true,
77
  'show_edit_button' => false,
78
- ];
79
  }
80
- }
26
  */
27
  public function enqueue() {
28
  // styles
29
+ wp_register_style( 'elementskit-css-widgetarea-control-inspactor', Init::get_url() . 'assets/css/widgetarea-inspactor.css', array(), '1.0.0' );
30
  wp_enqueue_style( 'elementskit-css-widgetarea-control-inspactor' );
31
 
32
  // script
33
+ wp_register_script( 'elementskit-js-widgetarea-control-inspactor', Init::get_url() . 'assets/js/widgetarea-inspactor.js' );
34
  wp_enqueue_script( 'elementskit-js-widgetarea-control-inspactor' );
35
  }
36
 
49
  $control_uid = $this->get_control_uid();
50
  ?>
51
  <div style="display:none" class="elementor-control-field">
52
+ <label for="<?php echo esc_attr( $control_uid ); ?>" class="elementor-control-title">{{{ data.label }}}</label>
53
  <div class="elementor-control-input-wrapper">
54
+ <input id="<?php echo esc_attr( $control_uid ); ?>" type="text" data-setting="{{ data.name }}" />
55
  </div>
56
  </div>
57
  <# if ( data.description ) { #>
72
  * @return array Control default settings.
73
  */
74
  protected function get_default_settings() {
75
+ return array(
76
+ 'label_block' => true,
77
  'show_edit_button' => false,
78
+ );
79
  }
80
+ }
modules/dynamic-content/cpt-api.php CHANGED
@@ -5,36 +5,36 @@ defined( 'ABSPATH' ) || exit;
5
 
6
  class ElementsKit_Cpt_Api extends Core\Handler_Api {
7
 
8
- public function config(){
9
- $this->prefix = 'dynamic-content';
10
- $this->param = "/(?P<type>\w+)/(?P<key>\w+(|[-]\w+))/";
11
- }
12
-
13
- public function get_content_editor(){
14
- $content_key = $this->request['key'];
15
- $content_type = $this->request['type'];
16
-
17
- $builder_post_title = 'dynamic-content-' . $content_type . '-' . $content_key;
18
- $builder_post_id = get_page_by_title($builder_post_title, OBJECT, 'elementskit_content');
19
-
20
- if(is_null($builder_post_id)){
21
- $defaults = array(
22
- 'post_content' => '',
23
- 'post_title' => $builder_post_title,
24
- 'post_status' => 'publish',
25
- 'post_type' => 'elementskit_content',
26
- );
27
- $builder_post_id = wp_insert_post($defaults);
28
-
29
- update_post_meta( $builder_post_id, '_wp_page_template', 'elementor_canvas' );
30
- }else{
31
- $builder_post_id = $builder_post_id->ID;
32
- }
33
-
34
- $url = get_admin_url() . '/post.php?post='.$builder_post_id.'&action=elementor';
35
- wp_redirect( $url );
36
- exit;
37
- }
38
 
39
  }
40
- new ElementsKit_Cpt_Api();
5
 
6
  class ElementsKit_Cpt_Api extends Core\Handler_Api {
7
 
8
+ public function config() {
9
+ $this->prefix = 'dynamic-content';
10
+ $this->param = '/(?P<type>\w+)/(?P<key>\w+(|[-]\w+))/';
11
+ }
12
+
13
+ public function get_content_editor() {
14
+ $content_key = $this->request['key'];
15
+ $content_type = $this->request['type'];
16
+
17
+ $builder_post_title = 'dynamic-content-' . $content_type . '-' . $content_key;
18
+ $builder_post_id = get_page_by_title( $builder_post_title, OBJECT, 'elementskit_content' );
19
+
20
+ if ( is_null( $builder_post_id ) ) {
21
+ $defaults = array(
22
+ 'post_content' => '',
23
+ 'post_title' => $builder_post_title,
24
+ 'post_status' => 'publish',
25
+ 'post_type' => 'elementskit_content',
26
+ );
27
+ $builder_post_id = wp_insert_post( $defaults );
28
+
29
+ update_post_meta( $builder_post_id, '_wp_page_template', 'elementor_canvas' );
30
+ } else {
31
+ $builder_post_id = $builder_post_id->ID;
32
+ }
33
+
34
+ $url = get_admin_url() . '/post.php?post=' . $builder_post_id . '&action=elementor';
35
+ wp_redirect( $url );
36
+ exit;
37
+ }
38
 
39
  }
40
+ new ElementsKit_Cpt_Api();
modules/dynamic-content/cpt.php CHANGED
@@ -3,81 +3,81 @@ namespace ElementsKit_Lite\Modules\Dynamic_Content;
3
 
4
  defined( 'ABSPATH' ) || exit;
5
 
6
- class Cpt{
7
 
8
- public function __construct() {
9
- $this->post_type();
10
- register_deactivation_hook( __FILE__, 'flush_rewrite_rules' );
11
- register_activation_hook( __FILE__, [$this, 'flush_rewrites'] );
12
- }
13
 
14
- public function post_type() {
15
-
16
- $labels = array(
17
- 'name' => _x( 'ElementsKit items', 'Post Type General Name', 'elementskit-lite' ),
18
- 'singular_name' => _x( 'ElementsKit item', 'Post Type Singular Name', 'elementskit-lite' ),
19
- 'menu_name' => esc_html__( 'ElementsKit item', 'elementskit-lite' ),
20
- 'name_admin_bar' => esc_html__( 'ElementsKit item', 'elementskit-lite' ),
21
- 'archives' => esc_html__( 'Item Archives', 'elementskit-lite' ),
22
- 'attributes' => esc_html__( 'Item Attributes', 'elementskit-lite' ),
23
- 'parent_item_colon' => esc_html__( 'Parent Item:', 'elementskit-lite' ),
24
- 'all_items' => esc_html__( 'All Items', 'elementskit-lite' ),
25
- 'add_new_item' => esc_html__( 'Add New Item', 'elementskit-lite' ),
26
- 'add_new' => esc_html__( 'Add New', 'elementskit-lite' ),
27
- 'new_item' => esc_html__( 'New Item', 'elementskit-lite' ),
28
- 'edit_item' => esc_html__( 'Edit Item', 'elementskit-lite' ),
29
- 'update_item' => esc_html__( 'Update Item', 'elementskit-lite' ),
30
- 'view_item' => esc_html__( 'View Item', 'elementskit-lite' ),
31
- 'view_items' => esc_html__( 'View Items', 'elementskit-lite' ),
32
- 'search_items' => esc_html__( 'Search Item', 'elementskit-lite' ),
33
- 'not_found' => esc_html__( 'Not found', 'elementskit-lite' ),
34
- 'not_found_in_trash' => esc_html__( 'Not found in Trash', 'elementskit-lite' ),
35
- 'featured_image' => esc_html__( 'Featured Image', 'elementskit-lite' ),
36
- 'set_featured_image' => esc_html__( 'Set featured image', 'elementskit-lite' ),
37
- 'remove_featured_image' => esc_html__( 'Remove featured image', 'elementskit-lite' ),
38
- 'use_featured_image' => esc_html__( 'Use as featured image', 'elementskit-lite' ),
39
- 'insert_into_item' => esc_html__( 'Insert into item', 'elementskit-lite' ),
40
- 'uploaded_to_this_item' => esc_html__( 'Uploaded to this item', 'elementskit-lite' ),
41
- 'items_list' => esc_html__( 'Items list', 'elementskit-lite' ),
42
- 'items_list_navigation' => esc_html__( 'Items list navigation', 'elementskit-lite' ),
43
- 'filter_items_list' => esc_html__( 'Filter items list', 'elementskit-lite' ),
44
- );
45
- $rewrite = array(
46
- 'slug' => 'elementskit-content',
47
- 'with_front' => true,
48
- 'pages' => false,
49
- 'feeds' => false,
50
- );
51
- $args = array(
52
- 'label' => esc_html__( 'ElementsKit item', 'elementskit-lite' ),
53
- 'description' => esc_html__( 'elementskit_content', 'elementskit-lite' ),
54
- 'labels' => $labels,
55
- 'supports' => array( 'title', 'editor', 'elementor', 'permalink' ),
56
- 'hierarchical' => true,
57
- 'public' => true,
58
- 'show_ui' => false,
59
- 'show_in_menu' => false,
60
- 'menu_position' => 5,
61
- 'show_in_admin_bar' => false,
62
- 'show_in_nav_menus' => false,
63
- 'can_export' => true,
64
- 'has_archive' => false,
65
- 'publicly_queryable' => true,
66
- 'rewrite' => $rewrite,
67
- 'query_var' => true,
68
- 'exclude_from_search' => true,
69
- 'publicly_queryable' => true,
70
- 'capability_type' => 'page',
71
- 'show_in_rest' => true,
72
- 'rest_base' => 'elementskit-content',
73
- );
74
- register_post_type( 'elementskit_content', $args );
75
- }
76
 
77
- public function flush_rewrites() {
78
- $this->post_type();
79
- flush_rewrite_rules();
80
- }
81
  }
82
 
83
- new Cpt();
3
 
4
  defined( 'ABSPATH' ) || exit;
5
 
6
+ class Cpt {
7
 
8
+ public function __construct() {
9
+ $this->post_type();
10
+ register_deactivation_hook( __FILE__, 'flush_rewrite_rules' );
11
+ register_activation_hook( __FILE__, array( $this, 'flush_rewrites' ) );
12
+ }
13
 
14
+ public function post_type() {
15
+
16
+ $labels = array(
17
+ 'name' => _x( 'ElementsKit items', 'Post Type General Name', 'elementskit-lite' ),
18
+ 'singular_name' => _x( 'ElementsKit item', 'Post Type Singular Name', 'elementskit-lite' ),
19
+ 'menu_name' => esc_html__( 'ElementsKit item', 'elementskit-lite' ),
20
+ 'name_admin_bar' => esc_html__( 'ElementsKit item', 'elementskit-lite' ),
21
+ 'archives' => esc_html__( 'Item Archives', 'elementskit-lite' ),
22
+ 'attributes' => esc_html__( 'Item Attributes', 'elementskit-lite' ),
23
+ 'parent_item_colon' => esc_html__( 'Parent Item:', 'elementskit-lite' ),
24
+ 'all_items' => esc_html__( 'All Items', 'elementskit-lite' ),
25
+ 'add_new_item' => esc_html__( 'Add New Item', 'elementskit-lite' ),
26
+ 'add_new' => esc_html__( 'Add New', 'elementskit-lite' ),
27
+ 'new_item' => esc_html__( 'New Item', 'elementskit-lite' ),
28
+ 'edit_item' => esc_html__( 'Edit Item', 'elementskit-lite' ),
29
+ 'update_item' => esc_html__( 'Update Item', 'elementskit-lite' ),
30
+ 'view_item' => esc_html__( 'View Item', 'elementskit-lite' ),
31
+ 'view_items' => esc_html__( 'View Items', 'elementskit-lite' ),
32
+ 'search_items' => esc_html__( 'Search Item', 'elementskit-lite' ),
33
+ 'not_found' => esc_html__( 'Not found', 'elementskit-lite' ),
34
+ 'not_found_in_trash' => esc_html__( 'Not found in Trash', 'elementskit-lite' ),
35
+ 'featured_image' => esc_html__( 'Featured Image', 'elementskit-lite' ),
36
+ 'set_featured_image' => esc_html__( 'Set featured image', 'elementskit-lite' ),
37
+ 'remove_featured_image' => esc_html__( 'Remove featured image', 'elementskit-lite' ),
38
+ 'use_featured_image' => esc_html__( 'Use as featured image', 'elementskit-lite' ),
39
+ 'insert_into_item' => esc_html__( 'Insert into item', 'elementskit-lite' ),
40
+ 'uploaded_to_this_item' => esc_html__( 'Uploaded to this item', 'elementskit-lite' ),
41
+ 'items_list' => esc_html__( 'Items list', 'elementskit-lite' ),
42
+ 'items_list_navigation' => esc_html__( 'Items list navigation', 'elementskit-lite' ),
43
+ 'filter_items_list' => esc_html__( 'Filter items list', 'elementskit-lite' ),
44
+ );
45
+ $rewrite = array(
46
+ 'slug' => 'elementskit-content',
47
+ 'with_front' => true,
48
+ 'pages' => false,
49
+ 'feeds' => false,
50
+ );
51
+ $args = array(
52
+ 'label' => esc_html__( 'ElementsKit item', 'elementskit-lite' ),
53
+ 'description' => esc_html__( 'elementskit_content', 'elementskit-lite' ),
54
+ 'labels' => $labels,
55
+ 'supports' => array( 'title', 'editor', 'elementor', 'permalink' ),
56
+ 'hierarchical' => true,
57
+ 'public' => true,
58
+ 'show_ui' => false,
59
+ 'show_in_menu' => false,
60
+ 'menu_position' => 5,
61
+ 'show_in_admin_bar' => false,
62
+ 'show_in_nav_menus' => false,
63
+ 'can_export' => true,
64
+ 'has_archive' => false,
65
+ 'publicly_queryable' => true,
66
+ 'rewrite' => $rewrite,
67
+ 'query_var' => true,
68
+ 'exclude_from_search' => true,
69
+ 'publicly_queryable' => true,
70
+ 'capability_type' => 'page',
71
+ 'show_in_rest' => true,
72
+ 'rest_base' => 'elementskit-content',
73
+ );
74
+ register_post_type( 'elementskit_content', $args );
75
+ }
76
 
77
+ public function flush_rewrites() {
78
+ $this->post_type();
79
+ flush_rewrite_rules();
80
+ }
81
  }
82
 
83
+ new Cpt();
modules/dynamic-content/init.php CHANGED
@@ -3,24 +3,24 @@ namespace ElementsKit_Lite\Modules\Dynamic_Content;
3
 
4
  defined( 'ABSPATH' ) || exit;
5
 
6
- class Init{
7
 
8
- public static function get_url(){
9
- return \ElementsKit_Lite::module_url() . 'dynamic-content/';
10
- }
11
- public static function get_dir(){
12
- return \ElementsKit_Lite::module_dir() . 'dynamic-content/';
13
- }
14
 
15
- public function __construct() {
16
 
17
- // Includes necessary files
18
- $this->include_files();
19
- }
20
 
21
- private function include_files(){
22
- // Controls_Manager
23
- include_once self::get_dir() . 'cpt.php';
24
- include_once self::get_dir() . 'cpt-api.php';
25
- }
26
- }
3
 
4
  defined( 'ABSPATH' ) || exit;
5
 
6
+ class Init {
7
 
8
+ public static function get_url() {
9
+ return \ElementsKit_Lite::module_url() . 'dynamic-content/';
10
+ }
11
+ public static function get_dir() {
12
+ return \ElementsKit_Lite::module_dir() . 'dynamic-content/';
13
+ }
14
 
15
+ public function __construct() {
16
 
17
+ // Includes necessary files
18
+ $this->include_files();
19
+ }
20
 
21
+ private function include_files() {
22
+ // Controls_Manager
23
+ include_once self::get_dir() . 'cpt.php';
24
+ include_once self::get_dir() . 'cpt-api.php';
25
+ }
26
+ }
modules/elementskit-icon-pack/icon-list.php CHANGED
@@ -1,1700 +1,1700 @@
1
  <?php
2
  defined( 'ABSPATH' ) || exit;
3
 
4
- return [
5
- 'icon icon-home' => 'icon icon-home',
6
- 'icon icon-apartment1' => 'icon icon-apartment1',
7
- 'icon icon-pencil' => 'icon icon-pencil',
8
- 'icon icon-magic-wand' => 'icon icon-magic-wand',
9
- 'icon icon-drop' => 'icon icon-drop',
10
- 'icon icon-lighter' => 'icon icon-lighter',
11
- 'icon icon-poop' => 'icon icon-poop',
12
- 'icon icon-sun' => 'icon icon-sun',
13
- 'icon icon-moon' => 'icon icon-moon',
14
- 'icon icon-cloud1' => 'icon icon-cloud1',
15
- 'icon icon-cloud-upload' => 'icon icon-cloud-upload',
16
- 'icon icon-cloud-download' => 'icon icon-cloud-download',
17
- 'icon icon-cloud-sync' => 'icon icon-cloud-sync',
18
- 'icon icon-cloud-check' => 'icon icon-cloud-check',
19
- 'icon icon-database1' => 'icon icon-database1',
20
- 'icon icon-lock' => 'icon icon-lock',
21
- 'icon icon-cog' => 'icon icon-cog',
22
- 'icon icon-trash' => 'icon icon-trash',
23
- 'icon icon-dice' => 'icon icon-dice',
24
- 'icon icon-heart1' => 'icon icon-heart1',
25
- 'icon icon-star1' => 'icon icon-star1',
26
- 'icon icon-star-half' => 'icon icon-star-half',
27
- 'icon icon-star-empty' => 'icon icon-star-empty',
28
- 'icon icon-flag' => 'icon icon-flag',
29
- 'icon icon-envelope1' => 'icon icon-envelope1',
30
- 'icon icon-paperclip' => 'icon icon-paperclip',
31
- 'icon icon-inbox' => 'icon icon-inbox',
32
- 'icon icon-eye' => 'icon icon-eye',
33
- 'icon icon-printer' => 'icon icon-printer',
34
- 'icon icon-file-empty' => 'icon icon-file-empty',
35
- 'icon icon-file-add' => 'icon icon-file-add',
36
- 'icon icon-enter' => 'icon icon-enter',
37
- 'icon icon-exit' => 'icon icon-exit',
38
- 'icon icon-graduation-hat' => 'icon icon-graduation-hat',
39
- 'icon icon-license' => 'icon icon-license',
40
- 'icon icon-music-note' => 'icon icon-music-note',
41
- 'icon icon-film-play' => 'icon icon-film-play',
42
- 'icon icon-camera-video' => 'icon icon-camera-video',
43
- 'icon icon-camera' => 'icon icon-camera',
44
- 'icon icon-picture' => 'icon icon-picture',
45
- 'icon icon-book' => 'icon icon-book',
46
- 'icon icon-bookmark' => 'icon icon-bookmark',
47
- 'icon icon-user' => 'icon icon-user',
48
- 'icon icon-users' => 'icon icon-users',
49
- 'icon icon-shirt' => 'icon icon-shirt',
50
- 'icon icon-store' => 'icon icon-store',
51
- 'icon icon-cart2' => 'icon icon-cart2',
52
- 'icon icon-tag' => 'icon icon-tag',
53
- 'icon icon-phone-handset' => 'icon icon-phone-handset',
54
- 'icon icon-phone' => 'icon icon-phone',
55
- 'icon icon-pushpin' => 'icon icon-pushpin',
56
- 'icon icon-map-marker' => 'icon icon-map-marker',
57
- 'icon icon-map' => 'icon icon-map',
58
- 'icon icon-location' => 'icon icon-location',
59
- 'icon icon-calendar-full' => 'icon icon-calendar-full',
60
- 'icon icon-keyboard' => 'icon icon-keyboard',
61
- 'icon icon-spell-check' => 'icon icon-spell-check',
62
- 'icon icon-screen' => 'icon icon-screen',
63
- 'icon icon-smartphone' => 'icon icon-smartphone',
64
- 'icon icon-tablet' => 'icon icon-tablet',
65
- 'icon icon-laptop' => 'icon icon-laptop',
66
- 'icon icon-laptop-phone' => 'icon icon-laptop-phone',
67
- 'icon icon-power-switch' => 'icon icon-power-switch',
68
- 'icon icon-bubble' => 'icon icon-bubble',
69
- 'icon icon-heart-pulse' => 'icon icon-heart-pulse',
70
- 'icon icon-construction' => 'icon icon-construction',
71
- 'icon icon-pie-chart' => 'icon icon-pie-chart',
72
- 'icon icon-chart-bars' => 'icon icon-chart-bars',
73
- 'icon icon-gift1' => 'icon icon-gift1',
74
- 'icon icon-diamond1' => 'icon icon-diamond1',
75
- 'icon icon-dinner' => 'icon icon-dinner',
76
- 'icon icon-coffee-cup' => 'icon icon-coffee-cup',
77
- 'icon icon-leaf' => 'icon icon-leaf',
78
- 'icon icon-paw' => 'icon icon-paw',
79
- 'icon icon-rocket' => 'icon icon-rocket',
80
- 'icon icon-briefcase' => 'icon icon-briefcase',
81
- 'icon icon-bus' => 'icon icon-bus',
82
- 'icon icon-car1' => 'icon icon-car1',
83
- 'icon icon-train' => 'icon icon-train',
84
- 'icon icon-bicycle' => 'icon icon-bicycle',
85
- 'icon icon-wheelchair' => 'icon icon-wheelchair',
86
- 'icon icon-select' => 'icon icon-select',
87
- 'icon icon-earth' => 'icon icon-earth',
88
- 'icon icon-smile' => 'icon icon-smile',
89
- 'icon icon-sad' => 'icon icon-sad',
90
- 'icon icon-neutral' => 'icon icon-neutral',
91
- 'icon icon-mustache' => 'icon icon-mustache',
92
- 'icon icon-alarm' => 'icon icon-alarm',
93
- 'icon icon-bullhorn' => 'icon icon-bullhorn',
94
- 'icon icon-volume-high' => 'icon icon-volume-high',
95
- 'icon icon-volume-medium' => 'icon icon-volume-medium',
96
- 'icon icon-volume-low' => 'icon icon-volume-low',
97
- 'icon icon-volume' => 'icon icon-volume',
98
- 'icon icon-mic' => 'icon icon-mic',
99
- 'icon icon-hourglass' => 'icon icon-hourglass',
100
- 'icon icon-undo' => 'icon icon-undo',
101
- 'icon icon-redo' => 'icon icon-redo',
102
- 'icon icon-sync' => 'icon icon-sync',
103
- 'icon icon-history' => 'icon icon-history',
104
- 'icon icon-clock1' => 'icon icon-clock1',
105
- 'icon icon-download' => 'icon icon-download',
106
- 'icon icon-upload' => 'icon icon-upload',
107
- 'icon icon-enter-down' => 'icon icon-enter-down',
108
- 'icon icon-exit-up' => 'icon icon-exit-up',
109
- 'icon icon-bug' => 'icon icon-bug',
110
- 'icon icon-code' => 'icon icon-code',
111
- 'icon icon-link' => 'icon icon-link',
112
- 'icon icon-unlink' => 'icon icon-unlink',
113
- 'icon icon-thumbs-up' => 'icon icon-thumbs-up',
114
- 'icon icon-thumbs-down' => 'icon icon-thumbs-down',
115
- 'icon icon-magnifier' => 'icon icon-magnifier',
116
- 'icon icon-cross' => 'icon icon-cross',
117
- 'icon icon-chevron-up' => 'icon icon-chevron-up',
118
- 'icon icon-chevron-down' => 'icon icon-chevron-down',
119
- 'icon icon-chevron-left' => 'icon icon-chevron-left',
120
- 'icon icon-chevron-right' => 'icon icon-chevron-right',
121
- 'icon icon-arrow-up' => 'icon icon-arrow-up',
122
- 'icon icon-arrow-down' => 'icon icon-arrow-down',
123
- 'icon icon-arrow-left' => 'icon icon-arrow-left',
124
- 'icon icon-arrow-right' => 'icon icon-arrow-right',
125
- 'icon icon-right-arrow' => 'icon icon-right-arrow',
126
- 'icon icon-left-arrow' => 'icon icon-left-arrow',
127
- 'icon icon-download-arrow' => 'icon icon-download-arrow',
128
- 'icon icon-up-arrow' => 'icon icon-up-arrow',
129
- 'icon icon-arrows' => 'icon icon-arrows',
130
- 'icon icon-double-angle-pointing-to-right' => 'icon icon-double-angle-pointing-to-right',
131
- 'icon icon-double-left-chevron' => 'icon icon-double-left-chevron',
132
- 'icon icon-left-arrow2' => 'icon icon-left-arrow2',
133
- 'icon icon-right-arrow2' => 'icon icon-right-arrow2',
134
- 'icon icon-warning' => 'icon icon-warning',
135
- 'icon icon-down-arrow1' => 'icon icon-down-arrow1',
136
- 'icon icon-up-arrow1' => 'icon icon-up-arrow1',
137
- 'icon icon-right-arrow1' => 'icon icon-right-arrow1',
138
- 'icon icon-left-arrows' => 'icon icon-left-arrows',
139
- 'icon icon-question-circle' => 'icon icon-question-circle',
140
- 'icon icon-menu-circle' => 'icon icon-menu-circle',
141
- 'icon icon-checkmark-circle' => 'icon icon-checkmark-circle',
142
- 'icon icon-cross-circle' => 'icon icon-cross-circle',
143
- 'icon icon-plus-circle' => 'icon icon-plus-circle',
144
- 'icon icon-move' => 'icon icon-move',
145
- 'icon icon-circle-minus' => 'icon icon-circle-minus',
146
- 'icon icon-arrow-up-circle' => 'icon icon-arrow-up-circle',
147
- 'icon icon-arrow-down-circle' => 'icon icon-arrow-down-circle',
148
- 'icon icon-arrow-left-circle' => 'icon icon-arrow-left-circle',
149
- 'icon icon-arrow-right-circle' => 'icon icon-arrow-right-circle',
150
- 'icon icon-chevron-up-circle' => 'icon icon-chevron-up-circle',
151
- 'icon icon-chevron-down-circle' => 'icon icon-chevron-down-circle',
152
- 'icon icon-chevron-left-circle' => 'icon icon-chevron-left-circle',
153
- 'icon icon-chevron-right-circle' => 'icon icon-chevron-right-circle',
154
- 'icon icon-crop' => 'icon icon-crop',
155
- 'icon icon-frame-expand' => 'icon icon-frame-expand',
156
- 'icon icon-frame-contract' => 'icon icon-frame-contract',
157
- 'icon icon-layers' => 'icon icon-layers',
158
- 'icon icon-funnel' => 'icon icon-funnel',
159
- 'icon icon-text-format' => 'icon icon-text-format',
160
- 'icon icon-text-size' => 'icon icon-text-size',
161
- 'icon icon-bold' => 'icon icon-bold',
162
- 'icon icon-italic' => 'icon icon-italic',
163
- 'icon icon-underline' => 'icon icon-underline',
164
- 'icon icon-strikethrough' => 'icon icon-strikethrough',
165
- 'icon icon-highlight' => 'icon icon-highlight',
166
- 'icon icon-text-align-left' => 'icon icon-text-align-left',
167
- 'icon icon-text-align-center' => 'icon icon-text-align-center',
168
- 'icon icon-text-align-right' => 'icon icon-text-align-right',
169
- 'icon icon-text-align-justify' => 'icon icon-text-align-justify',
170
- 'icon icon-line-spacing' => 'icon icon-line-spacing',
171
- 'icon icon-indent-increase' => 'icon icon-indent-increase',
172
- 'icon icon-indent-decrease' => 'icon icon-indent-decrease',
173
- 'icon icon-page-break' => 'icon icon-page-break',
174
- 'icon icon-hand' => 'icon icon-hand',
175
- 'icon icon-pointer-up' => 'icon icon-pointer-up',
176
- 'icon icon-pointer-right' => 'icon icon-pointer-right',
177
- 'icon icon-pointer-down' => 'icon icon-pointer-down',
178
- 'icon icon-pointer-left' => 'icon icon-pointer-left',
179
- 'icon icon-burger' => 'icon icon-burger',
180
- 'icon icon-cakes' => 'icon icon-cakes',
181
- 'icon icon-cheese' => 'icon icon-cheese',
182
- 'icon icon-drink-glass' => 'icon icon-drink-glass',
183
- 'icon icon-pizza' => 'icon icon-pizza',
184
- 'icon icon-vplay' => 'icon icon-vplay',
185
- 'icon icon-newsletter' => 'icon icon-newsletter',
186
- 'icon icon-coins-2' => 'icon icon-coins-2',
187
- 'icon icon-commerce-2' => 'icon icon-commerce-2',
188
- 'icon icon-monitor' => 'icon icon-monitor',
189
- 'icon icon-business' => 'icon icon-business',
190
- 'icon icon-graphic-2' => 'icon icon-graphic-2',
191
- 'icon icon-commerce-1' => 'icon icon-commerce-1',
192
- 'icon icon-hammer' => 'icon icon-hammer',
193
- 'icon icon-justice-1' => 'icon icon-justice-1',
194
- 'icon icon-line' => 'icon icon-line',
195
- 'icon icon-money-3' => 'icon icon-money-3',
196
- 'icon icon-commerce' => 'icon icon-commerce',
197
- 'icon icon-agenda' => 'icon icon-agenda',
198
- 'icon icon-justice' => 'icon icon-justice',
199
- 'icon icon-technology' => 'icon icon-technology',
200
- 'icon icon-coins-1' => 'icon icon-coins-1',
201
- 'icon icon-bank' => 'icon icon-bank',
202
- 'icon icon-calculator' => 'icon icon-calculator',
203
- 'icon icon-soundcloud' => 'icon icon-soundcloud',
204
- 'icon icon-chart2' => 'icon icon-chart2',
205
- 'icon icon-checked' => 'icon icon-checked',
206
- 'icon icon-clock11' => 'icon icon-clock11',
207
- 'icon icon-comment2' => 'icon icon-comment2',
208
- 'icon icon-comments' => 'icon icon-comments',
209
- 'icon icon-consult' => 'icon icon-consult',
210
- 'icon icon-consut2' => 'icon icon-consut2',
211
- 'icon icon-deal' => 'icon icon-deal',
212
- 'icon icon-envelope11' => 'icon icon-envelope11',
213
- 'icon icon-folder' => 'icon icon-folder',
214
- 'icon icon-folder2' => 'icon icon-folder2',
215
- 'icon icon-invest' => 'icon icon-invest',
216
- 'icon icon-loan' => 'icon icon-loan',
217
- 'icon icon-menu1' => 'icon icon-menu1',
218
- 'icon icon-list1' => 'icon icon-list1',
219
- 'icon icon-map-marker1' => 'icon icon-map-marker1',
220
- 'icon icon-mutual-fund' => 'icon icon-mutual-fund',
221
- 'icon icon-google-plus' => 'icon icon-google-plus',
222
- 'icon icon-phone1' => 'icon icon-phone1',
223
- 'icon icon-pie-chart1' => 'icon icon-pie-chart1',
224
- 'icon icon-play' => 'icon icon-play',
225
- 'icon icon-savings' => 'icon icon-savings',
226
- 'icon icon-search2' => 'icon icon-search2',
227
- 'icon icon-tag1' => 'icon icon-tag1',
228
- 'icon icon-tags' => 'icon icon-tags',
229
- 'icon icon-instagram1' => 'icon icon-instagram1',
230
- 'icon icon-quote' => 'icon icon-quote',
231
- 'icon icon-arrow-point-to-down' => 'icon icon-arrow-point-to-down',
232
- 'icon icon-play-button' => 'icon icon-play-button',
233
- 'icon icon-minus' => 'icon icon-minus',
234
- 'icon icon-plus' => 'icon icon-plus',
235
- 'icon icon-tick' => 'icon icon-tick',
236
- 'icon icon-check' => 'icon icon-check',
237
- 'icon icon-edit' => 'icon icon-edit',
238
- 'icon icon-reply' => 'icon icon-reply',
239
- 'icon icon-cogwheel-outline' => 'icon icon-cogwheel-outline',
240
- 'icon icon-abacus' => 'icon icon-abacus',
241
- 'icon icon-abacus1' => 'icon icon-abacus1',
242
- 'icon icon-agenda1' => 'icon icon-agenda1',
243
- 'icon icon-shopping-basket' => 'icon icon-shopping-basket',
244
- 'icon icon-users1' => 'icon icon-users1',
245
- 'icon icon-man' => 'icon icon-man',
246
- 'icon icon-support1' => 'icon icon-support1',
247
- 'icon icon-favorites' => 'icon icon-favorites',
248
- 'icon icon-calendar' => 'icon icon-calendar',
249
- 'icon icon-paper-plane' => 'icon icon-paper-plane',
250
- 'icon icon-placeholder' => 'icon icon-placeholder',
251
- 'icon icon-phone-call' => 'icon icon-phone-call',
252
- 'icon icon-contact' => 'icon icon-contact',
253
- 'icon icon-email' => 'icon icon-email',
254
- 'icon icon-internet' => 'icon icon-internet',
255
- 'icon icon-quote1' => 'icon icon-quote1',
256
- 'icon icon-medical' => 'icon icon-medical',
257
- 'icon icon-eye1' => 'icon icon-eye1',
258
- 'icon icon-full-screen' => 'icon icon-full-screen',
259
- 'icon icon-tools' => 'icon icon-tools',
260
- 'icon icon-pie-chart2' => 'icon icon-pie-chart2',
261
- 'icon icon-diamond11' => 'icon icon-diamond11',
262
- 'icon icon-valentines-heart' => 'icon icon-valentines-heart',
263
- 'icon icon-like' => 'icon icon-like',
264
- 'icon icon-team' => 'icon icon-team',
265
- 'icon icon-tshirt' => 'icon icon-tshirt',
266
- 'icon icon-cancel' => 'icon icon-cancel',
267
- 'icon icon-drink' => 'icon icon-drink',
268
- 'icon icon-home1' => 'icon icon-home1',
269
- 'icon icon-music' => 'icon icon-music',
270
- 'icon icon-rich' => 'icon icon-rich',
271
- 'icon icon-brush' => 'icon icon-brush',
272
- 'icon icon-opposite-way' => 'icon icon-opposite-way',
273
- 'icon icon-cloud-computing1' => 'icon icon-cloud-computing1',
274
- 'icon icon-technology-1' => 'icon icon-technology-1',
275
- 'icon icon-rotate' => 'icon icon-rotate',
276
- 'icon icon-medical1' => 'icon icon-medical1',
277
- 'icon icon-flash-1' => 'icon icon-flash-1',
278
- 'icon icon-flash' => 'icon icon-flash',
279
- 'icon icon-uturn' => 'icon icon-uturn',
280
- 'icon icon-down-arrow' => 'icon icon-down-arrow',
281
- 'icon icon-hours-support' => 'icon icon-hours-support',
282
- 'icon icon-bag' => 'icon icon-bag',
283
- 'icon icon-photo-camera' => 'icon icon-photo-camera',
284
- 'icon icon-school' => 'icon icon-school',
285
- 'icon icon-settings' => 'icon icon-settings',
286
- 'icon icon-smartphone1' => 'icon icon-smartphone1',
287
- 'icon icon-technology-11' => 'icon icon-technology-11',
288
- 'icon icon-tool' => 'icon icon-tool',
289
- 'icon icon-business1' => 'icon icon-business1',
290
- 'icon icon-shuffle-arrow' => 'icon icon-shuffle-arrow',
291
- 'icon icon-van-1' => 'icon icon-van-1',
292
- 'icon icon-van' => 'icon icon-van',
293
- 'icon icon-vegetables' => 'icon icon-vegetables',
294
- 'icon icon-women' => 'icon icon-women',
295
- 'icon icon-vintage' => 'icon icon-vintage',
296
- 'icon icon-team-1' => 'icon icon-team-1',
297
- 'icon icon-team1' => 'icon icon-team1',
298
- 'icon icon-apple-1' => 'icon icon-apple-1',
299
- 'icon icon-apple' => 'icon icon-apple',
300
- 'icon icon-watch' => 'icon icon-watch',
301
- 'icon icon-cogwheel' => 'icon icon-cogwheel',
302
- 'icon icon-light-bulb' => 'icon icon-light-bulb',
303
- 'icon icon-light-bulb-1' => 'icon icon-light-bulb-1',
304
- 'icon icon-heart-shape-outline' => 'icon icon-heart-shape-outline',
305
- 'icon icon-online-shopping-cart' => 'icon icon-online-shopping-cart',
306
- 'icon icon-shopping-cart1' => 'icon icon-shopping-cart1',
307
- 'icon icon-star2' => 'icon icon-star2',
308
- 'icon icon-star-1' => 'icon icon-star-1',
309
- 'icon icon-favorite1' => 'icon icon-favorite1',
310
- 'icon icon-agenda2' => 'icon icon-agenda2',
311
- 'icon icon-agenda-1' => 'icon icon-agenda-1',
312
- 'icon icon-alarm-clock' => 'icon icon-alarm-clock',
313
- 'icon icon-alarm-clock1' => 'icon icon-alarm-clock1',
314
- 'icon icon-atomic' => 'icon icon-atomic',
315
- 'icon icon-auction' => 'icon icon-auction',
316
- 'icon icon-balance' => 'icon icon-balance',
317
- 'icon icon-balance1' => 'icon icon-balance1',
318
- 'icon icon-bank1' => 'icon icon-bank1',
319
- 'icon icon-bar-chart' => 'icon icon-bar-chart',
320
- 'icon icon-barrier' => 'icon icon-barrier',
321
- 'icon icon-battery' => 'icon icon-battery',
322
- 'icon icon-battery-1' => 'icon icon-battery-1',
323
- 'icon icon-bell' => 'icon icon-bell',
324
- 'icon icon-bluetooth' => 'icon icon-bluetooth',
325
- 'icon icon-book1' => 'icon icon-book1',
326
- 'icon icon-briefcase1' => 'icon icon-briefcase1',
327
- 'icon icon-briefcase-1' => 'icon icon-briefcase-1',
328
- 'icon icon-briefcase-2' => 'icon icon-briefcase-2',
329
- 'icon icon-calculator1' => 'icon icon-calculator1',
330
- 'icon icon-calculator2' => 'icon icon-calculator2',
331
- 'icon icon-calculator-1' => 'icon icon-calculator-1',
332
- 'icon icon-calendar1' => 'icon icon-calendar1',
333
- 'icon icon-calendar2' => 'icon icon-calendar2',
334
- 'icon icon-calendar-1' => 'icon icon-calendar-1',
335
- 'icon icon-calendar-page-empty' => 'icon icon-calendar-page-empty',
336
- 'icon icon-calendar3' => 'icon icon-calendar3',
337
- 'icon icon-car11' => 'icon icon-car11',
338
- 'icon icon-carrier' => 'icon icon-carrier',
339
- 'icon icon-cash' => 'icon icon-cash',
340
- 'icon icon-chat' => 'icon icon-chat',
341
- 'icon icon-chat-1' => 'icon icon-chat-1',
342
- 'icon icon-checked1' => 'icon icon-checked1',
343
- 'icon icon-clip' => 'icon icon-clip',
344
- 'icon icon-clip1' => 'icon icon-clip1',
345
- 'icon icon-clipboard1' => 'icon icon-clipboard1',
346
- 'icon icon-clipboard11' => 'icon icon-clipboard11',
347
- 'icon icon-clock2' => 'icon icon-clock2',
348
- 'icon icon-clock-1' => 'icon icon-clock-1',
349
- 'icon icon-cloud11' => 'icon icon-cloud11',
350
- 'icon icon-cloud-computing11' => 'icon icon-cloud-computing11',
351
- 'icon icon-cloud-computing-1' => 'icon icon-cloud-computing-1',
352
- 'icon icon-cogwheel1' => 'icon icon-cogwheel1',
353
- 'icon icon-coins1' => 'icon icon-coins1',
354
- 'icon icon-compass' => 'icon icon-compass',
355
- 'icon icon-contract' => 'icon icon-contract',
356
- 'icon icon-conversation' => 'icon icon-conversation',
357
- 'icon icon-crane1' => 'icon icon-crane1',
358
- 'icon icon-crane-2' => 'icon icon-crane-2',
359
- 'icon icon-credit-card' => 'icon icon-credit-card',
360
- 'icon icon-credit-card1' => 'icon icon-credit-card1',
361
- 'icon icon-cursor' => 'icon icon-cursor',
362
- 'icon icon-customer-service' => 'icon icon-customer-service',
363
- 'icon icon-cutlery' => 'icon icon-cutlery',
364
- 'icon icon-dart-board' => 'icon icon-dart-board',
365
- 'icon icon-decision-making' => 'icon icon-decision-making',
366
- 'icon icon-desk-chair' => 'icon icon-desk-chair',
367
- 'icon icon-desk-lamp' => 'icon icon-desk-lamp',
368
- 'icon icon-diamond2' => 'icon icon-diamond2',
369
- 'icon icon-direction' => 'icon icon-direction',
370
- 'icon icon-document' => 'icon icon-document',
371
- 'icon icon-dollar-bill' => 'icon icon-dollar-bill',
372
- 'icon icon-download1' => 'icon icon-download1',
373
- 'icon icon-edit1' => 'icon icon-edit1',
374
- 'icon icon-email1' => 'icon icon-email1',
375
- 'icon icon-envelope2' => 'icon icon-envelope2',
376
- 'icon icon-envelope3' => 'icon icon-envelope3',
377
- 'icon icon-eraser' => 'icon icon-eraser',
378
- 'icon icon-eye2' => 'icon icon-eye2',
379
- 'icon icon-factory' => 'icon icon-factory',
380
- 'icon icon-fast-forward' => 'icon icon-fast-forward',
381
- 'icon icon-favorites1' => 'icon icon-favorites1',
382
- 'icon icon-file' => 'icon icon-file',
383
- 'icon icon-file-1' => 'icon icon-file-1',
384
- 'icon icon-file-2' => 'icon icon-file-2',
385
- 'icon icon-file-3' => 'icon icon-file-3',
386
- 'icon icon-filter' => 'icon icon-filter',
387
- 'icon icon-finance-book' => 'icon icon-finance-book',
388
- 'icon icon-flag1' => 'icon icon-flag1',
389
- 'icon icon-folder1' => 'icon icon-folder1',
390
- 'icon icon-folder-1' => 'icon icon-folder-1',
391
- 'icon icon-folders' => 'icon icon-folders',
392
- 'icon icon-folders1' => 'icon icon-folders1',
393
- 'icon icon-gamepad' => 'icon icon-gamepad',
394
- 'icon icon-gift11' => 'icon icon-gift11',
395
- 'icon icon-growth' => 'icon icon-growth',
396
- 'icon icon-heart11' => 'icon icon-heart11',
397
- 'icon icon-home2' => 'icon icon-home2',
398
- 'icon icon-house' => 'icon icon-house',
399
- 'icon icon-house-1' => 'icon icon-house-1',
400
- 'icon icon-house-2' => 'icon icon-house-2',
401
- 'icon icon-id-card' => 'icon icon-id-card',
402
- 'icon icon-id-card1' => 'icon icon-id-card1',
403
- 'icon icon-id-card-1' => 'icon icon-id-card-1',
404
- 'icon icon-idea1' => 'icon icon-idea1',
405
- 'icon icon-image' => 'icon icon-image',
406
- 'icon icon-improvement' => 'icon icon-improvement',
407
- 'icon icon-inbox1' => 'icon icon-inbox1',
408
- 'icon icon-information' => 'icon icon-information',
409
- 'icon icon-key' => 'icon icon-key',
410
- 'icon icon-key1' => 'icon icon-key1',
411
- 'icon icon-laptop1' => 'icon icon-laptop1',
412
- 'icon icon-layers1' => 'icon icon-layers1',
413
- 'icon icon-light-bulb1' => 'icon icon-light-bulb1',
414
- 'icon icon-like1' => 'icon icon-like1',
415
- 'icon icon-line-chart1' => 'icon icon-line-chart1',
416
- 'icon icon-mail' => 'icon icon-mail',
417
- 'icon icon-manager' => 'icon icon-manager',
418
- 'icon icon-map1' => 'icon icon-map1',
419
- 'icon icon-medal1' => 'icon icon-medal1',
420
- 'icon icon-megaphone' => 'icon icon-megaphone',
421
- 'icon icon-megaphone1' => 'icon icon-megaphone1',
422
- 'icon icon-message' => 'icon icon-message',
423
- 'icon icon-message-1' => 'icon icon-message-1',
424
- 'icon icon-message-2' => 'icon icon-message-2',
425
- 'icon icon-microphone' => 'icon icon-microphone',
426
- 'icon icon-money1' => 'icon icon-money1',
427
- 'icon icon-money-bag1' => 'icon icon-money-bag1',
428
- 'icon icon-monitor1' => 'icon icon-monitor1',
429
- 'icon icon-music1' => 'icon icon-music1',
430
- 'icon icon-next' => 'icon icon-next',
431
- 'icon icon-open-book1' => 'icon icon-open-book1',
432
- 'icon icon-padlock' => 'icon icon-padlock',
433
- 'icon icon-padlock-1' => 'icon icon-padlock-1',
434
- 'icon icon-paint-brush' => 'icon icon-paint-brush',
435
- 'icon icon-pause' => 'icon icon-pause',
436
- 'icon icon-pen' => 'icon icon-pen',
437
- 'icon icon-pencil1' => 'icon icon-pencil1',
438
- 'icon icon-percentage' => 'icon icon-percentage',
439
- 'icon icon-phone-call1' => 'icon icon-phone-call1',
440
- 'icon icon-phone-call2' => 'icon icon-phone-call2',
441
- 'icon icon-photo-camera1' => 'icon icon-photo-camera1',
442
- 'icon icon-pie-chart3' => 'icon icon-pie-chart3',
443
- 'icon icon-pipe' => 'icon icon-pipe',
444
- 'icon icon-placeholder1' => 'icon icon-placeholder1',
445
- 'icon icon-placeholder2' => 'icon icon-placeholder2',
446
- 'icon icon-planet-earth' => 'icon icon-planet-earth',
447
- 'icon icon-play-button1' => 'icon icon-play-button1',
448
- 'icon icon-power-button' => 'icon icon-power-button',
449
- 'icon icon-presentation' => 'icon icon-presentation',
450
- 'icon icon-presentation1' => 'icon icon-presentation1',
451
- 'icon icon-printer1' => 'icon icon-printer1',
452
- 'icon icon-push-pin' => 'icon icon-push-pin',
453
- 'icon icon-push-pin1' => 'icon icon-push-pin1',
454
- 'icon icon-refresh' => 'icon icon-refresh',
455
- 'icon icon-reload' => 'icon icon-reload',
456
- 'icon icon-return' => 'icon icon-return',
457
- 'icon icon-rocket-ship' => 'icon icon-rocket-ship',
458
- 'icon icon-rss1' => 'icon icon-rss1',
459
- 'icon icon-safebox' => 'icon icon-safebox',
460
- 'icon icon-safebox1' => 'icon icon-safebox1',
461
- 'icon icon-settings1' => 'icon icon-settings1',
462
- 'icon icon-settings-2' => 'icon icon-settings-2',
463
- 'icon icon-sewing-machine' => 'icon icon-sewing-machine',
464
- 'icon icon-share2' => 'icon icon-share2',
465
- 'icon icon-shield1' => 'icon icon-shield1',
466
- 'icon icon-shield11' => 'icon icon-shield11',
467
- 'icon icon-shopping' => 'icon icon-shopping',
468
- 'icon icon-shopping-bag' => 'icon icon-shopping-bag',
469
- 'icon icon-shopping-bag-1' => 'icon icon-shopping-bag-1',
470
- 'icon icon-shopping-bag-2' => 'icon icon-shopping-bag-2',
471
- 'icon icon-shopping-cart11' => 'icon icon-shopping-cart11',
472
- 'icon icon-shopping-cart2' => 'icon icon-shopping-cart2',
473
- 'icon icon-shopping-cart-1' => 'icon icon-shopping-cart-1',
474
- 'icon icon-shopping-cart-2' => 'icon icon-shopping-cart-2',
475
- 'icon icon-shopping-cart-3' => 'icon icon-shopping-cart-3',
476
- 'icon icon-smartphone2' => 'icon icon-smartphone2',
477
- 'icon icon-speaker' => 'icon icon-speaker',
478
- 'icon icon-speakers' => 'icon icon-speakers',
479
- 'icon icon-stats' => 'icon icon-stats',
480
- 'icon icon-stats-1' => 'icon icon-stats-1',
481
- 'icon icon-stats-2' => 'icon icon-stats-2',
482
- 'icon icon-stats-3' => 'icon icon-stats-3',
483
- 'icon icon-stats-4' => 'icon icon-stats-4',
484
- 'icon icon-stats-5' => 'icon icon-stats-5',
485
- 'icon icon-stats-6' => 'icon icon-stats-6',
486
- 'icon icon-sticky-note' => 'icon icon-sticky-note',
487
- 'icon icon-store1' => 'icon icon-store1',
488
- 'icon icon-store-1' => 'icon icon-store-1',
489
- 'icon icon-suitcase' => 'icon icon-suitcase',
490
- 'icon icon-suitcase-1' => 'icon icon-suitcase-1',
491
- 'icon icon-tag2' => 'icon icon-tag2',
492
- 'icon icon-target' => 'icon icon-target',
493
- 'icon icon-team2' => 'icon icon-team2',
494
- 'icon icon-tie' => 'icon icon-tie',
495
- 'icon icon-trash1' => 'icon icon-trash1',
496
- 'icon icon-trolley' => 'icon icon-trolley',
497
- 'icon icon-trolley-1' => 'icon icon-trolley-1',
498
- 'icon icon-trolley-2' => 'icon icon-trolley-2',
499
- 'icon icon-trophy1' => 'icon icon-trophy1',
500
- 'icon icon-truck1' => 'icon icon-truck1',
501
- 'icon icon-truck-1' => 'icon icon-truck-1',
502
- 'icon icon-truck-2' => 'icon icon-truck-2',
503
- 'icon icon-umbrella' => 'icon icon-umbrella',
504
- 'icon icon-upload1' => 'icon icon-upload1',
505
- 'icon icon-user1' => 'icon icon-user1',
506
- 'icon icon-user-1' => 'icon icon-user-1',
507
- 'icon icon-user-2' => 'icon icon-user-2',
508
- 'icon icon-user-3' => 'icon icon-user-3',
509
- 'icon icon-users2' => 'icon icon-users2',
510
- 'icon icon-video-camera' => 'icon icon-video-camera',
511
- 'icon icon-voucher' => 'icon icon-voucher',
512
- 'icon icon-voucher-1' => 'icon icon-voucher-1',
513
- 'icon icon-voucher-2' => 'icon icon-voucher-2',
514
- 'icon icon-voucher-3' => 'icon icon-voucher-3',
515
- 'icon icon-voucher-4' => 'icon icon-voucher-4',
516
- 'icon icon-wallet' => 'icon icon-wallet',
517
- 'icon icon-wallet1' => 'icon icon-wallet1',
518
- 'icon icon-wifi' => 'icon icon-wifi',
519
- 'icon icon-worker' => 'icon icon-worker',
520
- 'icon icon-zoom-in' => 'icon icon-zoom-in',
521
- 'icon icon-zoom-out' => 'icon icon-zoom-out',
522
- 'icon icon-burger-menu' => 'icon icon-burger-menu',
523
- 'icon icon-squares' => 'icon icon-squares',
524
- 'icon icon-options' => 'icon icon-options',
525
- 'icon icon-apps' => 'icon icon-apps',
526
- 'icon icon-menu-11' => 'icon icon-menu-11',
527
- 'icon icon-menu11' => 'icon icon-menu11',
528
- 'icon icon-back_up' => 'icon icon-back_up',
529
- 'icon icon-cart11' => 'icon icon-cart11',
530
- 'icon icon-checkmark' => 'icon icon-checkmark',
531
- 'icon icon-dollar' => 'icon icon-dollar',
532
- 'icon icon-domian' => 'icon icon-domian',
533
- 'icon icon-hosting1' => 'icon icon-hosting1',
534
- 'icon icon-key2' => 'icon icon-key2',
535
- 'icon icon-migration' => 'icon icon-migration',
536
- 'icon icon-play1' => 'icon icon-play1',
537
- 'icon icon-quote2' => 'icon icon-quote2',
538
- 'icon icon-api_setup' => 'icon icon-api_setup',
539
- 'icon icon-coin' => 'icon icon-coin',
540
- 'icon icon-hand_shake' => 'icon icon-hand_shake',
541
- 'icon icon-idea_generate' => 'icon icon-idea_generate',
542
- 'icon icon-page_search' => 'icon icon-page_search',
543
- 'icon icon-pen_shape' => 'icon icon-pen_shape',
544
- 'icon icon-pencil_art' => 'icon icon-pencil_art',
545
- 'icon icon-review' => 'icon icon-review',
546
- 'icon icon-star' => 'icon icon-star',
547
- 'icon icon-timing' => 'icon icon-timing',
548
- 'icon icon-trophy' => 'icon icon-trophy',
549
- 'icon icon-communication' => 'icon icon-communication',
550
- 'icon icon-money-bag2' => 'icon icon-money-bag2',
551
- 'icon icon-dentist' => 'icon icon-dentist',
552
- 'icon icon-bill' => 'icon icon-bill',
553
- 'icon icon-label' => 'icon icon-label',
554
- 'icon icon-money' => 'icon icon-money',
555
- 'icon icon-shield' => 'icon icon-shield',
556
- 'icon icon-support' => 'icon icon-support',
557
- 'icon icon-one' => 'icon icon-one',
558
- 'icon icon-clock' => 'icon icon-clock',
559
- 'icon icon-cart' => 'icon icon-cart',
560
- 'icon icon-globe' => 'icon icon-globe',
561
- 'icon icon-tooth' => 'icon icon-tooth',
562
- 'icon icon-tooth-1' => 'icon icon-tooth-1',
563
- 'icon icon-tooth-2' => 'icon icon-tooth-2',
564
- 'icon icon-brain' => 'icon icon-brain',
565
- 'icon icon-view' => 'icon icon-view',
566
- 'icon icon-doctor' => 'icon icon-doctor',
567
- 'icon icon-heart' => 'icon icon-heart',
568
- 'icon icon-medicine' => 'icon icon-medicine',
569
- 'icon icon-stethoscope' => 'icon icon-stethoscope',
570
- 'icon icon-hospital' => 'icon icon-hospital',
571
- 'icon icon-clipboard' => 'icon icon-clipboard',
572
- 'icon icon-medicine-1' => 'icon icon-medicine-1',
573
- 'icon icon-hospital-1' => 'icon icon-hospital-1',
574
- 'icon icon-customer-support' => 'icon icon-customer-support',
575
- 'icon icon-brickwall' => 'icon icon-brickwall',
576
- 'icon icon-crane2' => 'icon icon-crane2',
577
- 'icon icon-valve' => 'icon icon-valve',
578
- 'icon icon-safety' => 'icon icon-safety',
579
- 'icon icon-energy-saving' => 'icon icon-energy-saving',
580
- 'icon icon-paint-roller' => 'icon icon-paint-roller',
581
- 'icon icon-paint-brushes' => 'icon icon-paint-brushes',
582
- 'icon icon-construction-tool-vehicle-with-crane-lifting-materials' => 'icon icon-construction-tool-vehicle-with-crane-lifting-materials',
583
- 'icon icon-trowel' => 'icon icon-trowel',
584
- 'icon icon-bucket' => 'icon icon-bucket',
585
- 'icon icon-smart' => 'icon icon-smart',
586
- 'icon icon-repair' => 'icon icon-repair',
587
- 'icon icon-saw' => 'icon icon-saw',
588
- 'icon icon-cutter' => 'icon icon-cutter',
589
- 'icon icon-plier' => 'icon icon-plier',
590
- 'icon icon-drill' => 'icon icon-drill',
591
- 'icon icon-save-money' => 'icon icon-save-money',
592
- 'icon icon-planting' => 'icon icon-planting',
593
- 'icon icon-line-chart' => 'icon icon-line-chart',
594
- 'icon icon-open-book' => 'icon icon-open-book',
595
- 'icon icon-money-bag3' => 'icon icon-money-bag3',
596
- 'icon icon-server' => 'icon icon-server',
597
- 'icon icon-server-1' => 'icon icon-server-1',
598
- 'icon icon-server-2' => 'icon icon-server-2',
599
- 'icon icon-cloud-computing' => 'icon icon-cloud-computing',
600
- 'icon icon-cloud' => 'icon icon-cloud',
601
- 'icon icon-database' => 'icon icon-database',
602
- 'icon icon-computer' => 'icon icon-computer',
603
- 'icon icon-server-3' => 'icon icon-server-3',
604
- 'icon icon-server-4' => 'icon icon-server-4',
605
- 'icon icon-server-5' => 'icon icon-server-5',
606
- 'icon icon-server-6' => 'icon icon-server-6',
607
- 'icon icon-server-7' => 'icon icon-server-7',
608
- 'icon icon-cloud-1' => 'icon icon-cloud-1',
609
- 'icon icon-server-8' => 'icon icon-server-8',
610
- 'icon icon-business-and-finance' => 'icon icon-business-and-finance',
611
- 'icon icon-cloud-2' => 'icon icon-cloud-2',
612
- 'icon icon-server-9' => 'icon icon-server-9',
613
- 'icon icon-hosting' => 'icon icon-hosting',
614
- 'icon icon-car' => 'icon icon-car',
615
- 'icon icon-car-frontal-view' => 'icon icon-car-frontal-view',
616
- 'icon icon-car-1' => 'icon icon-car-1',
617
- 'icon icon-racing' => 'icon icon-racing',
618
- 'icon icon-car-wheel' => 'icon icon-car-wheel',
619
- 'icon icon-steering-wheel' => 'icon icon-steering-wheel',
620
- 'icon icon-frontal-taxi-cab' => 'icon icon-frontal-taxi-cab',
621
- 'icon icon-taxi' => 'icon icon-taxi',
622
- 'icon icon-cosmetics' => 'icon icon-cosmetics',
623
- 'icon icon-flower' => 'icon icon-flower',
624
- 'icon icon-mirror' => 'icon icon-mirror',
625
- 'icon icon-itunes' => 'icon icon-itunes',
626
- 'icon icon-salon' => 'icon icon-salon',
627
- 'icon icon-hair-dryer' => 'icon icon-hair-dryer',
628
- 'icon icon-shampoo' => 'icon icon-shampoo',
629
- 'icon icon-download-button' => 'icon icon-download-button',
630
- 'icon icon-list' => 'icon icon-list',
631
- 'icon icon-loupe' => 'icon icon-loupe',
632
- 'icon icon-search' => 'icon icon-search',
633
- 'icon icon-search-1' => 'icon icon-search-1',
634
- 'icon icon-shopping-cart' => 'icon icon-shopping-cart',
635
- 'icon icon-menu' => 'icon icon-menu',
636
- 'icon icon-menu-1' => 'icon icon-menu-1',
637
- 'icon icon-menu-button-of-three-horizontal-lines' => 'icon icon-menu-button-of-three-horizontal-lines',
638
- 'icon icon-menu-2' => 'icon icon-menu-2',
639
- 'icon icon-menu-3' => 'icon icon-menu-3',
640
- 'icon icon-menu-5' => 'icon icon-menu-5',
641
- 'icon icon-menu-button' => 'icon icon-menu-button',
642
- 'icon icon-list-1' => 'icon icon-list-1',
643
- 'icon icon-menu-6' => 'icon icon-menu-6',
644
- 'icon icon-menu-7' => 'icon icon-menu-7',
645
- 'icon icon-menu-8' => 'icon icon-menu-8',
646
- 'icon icon-list-2' => 'icon icon-list-2',
647
- 'icon icon-dot' => 'icon icon-dot',
648
- 'icon icon-menu-9' => 'icon icon-menu-9',
649
- 'icon icon-search11' => 'icon icon-search11',
650
- 'icon icon-search-minus' => 'icon icon-search-minus',
651
- 'icon icon-search-11' => 'icon icon-search-11',
652
- 'icon icon-search-2' => 'icon icon-search-2',
653
- 'icon icon-search-3' => 'icon icon-search-3',
654
- 'icon icon-magnifying-glass-search' => 'icon icon-magnifying-glass-search',
655
- 'icon icon-loupe1' => 'icon icon-loupe1',
656
- 'icon icon-speed' => 'icon icon-speed',
657
- 'icon icon-search21' => 'icon icon-search21',
658
- 'icon icon-search-4' => 'icon icon-search-4',
659
- 'icon icon-search-5' => 'icon icon-search-5',
660
- 'icon icon-detective' => 'icon icon-detective',
661
- 'icon icon-cart1' => 'icon icon-cart1',
662
- 'icon icon-buying-on-smartphone' => 'icon icon-buying-on-smartphone',
663
- 'icon icon-badge' => 'icon icon-badge',
664
- 'icon icon-basket1' => 'icon icon-basket1',
665
- 'icon icon-commerce-and-shopping' => 'icon icon-commerce-and-shopping',
666
- 'icon icon-comment' => 'icon icon-comment',
667
- 'icon icon-comment-1' => 'icon icon-comment-1',
668
- 'icon icon-share' => 'icon icon-share',
669
- 'icon icon-share-1' => 'icon icon-share-1',
670
- 'icon icon-share-2' => 'icon icon-share-2',
671
- 'icon icon-share-3' => 'icon icon-share-3',
672
- 'icon icon-comment1' => 'icon icon-comment1',
673
- 'icon icon-favorite' => 'icon icon-favorite',
674
- 'icon icon-retweet' => 'icon icon-retweet',
675
- 'icon icon-share1' => 'icon icon-share1',
676
- 'icon icon-facebook' => 'icon icon-facebook',
677
- 'icon icon-twitter' => 'icon icon-twitter',
678
- 'icon icon-linkedin' => 'icon icon-linkedin',
679
- 'icon icon-whatsapp-1' => 'icon icon-whatsapp-1',
680
- 'icon icon-dribbble' => 'icon icon-dribbble',
681
- 'icon icon-facebook-2' => 'icon icon-facebook-2',
682
- 'icon icon-twitter1' => 'icon icon-twitter1',
683
- 'icon icon-vk' => 'icon icon-vk',
684
- 'icon icon-youtube-v' => 'icon icon-youtube-v',
685
- 'icon icon-vimeo' => 'icon icon-vimeo',
686
- 'icon icon-youtube' => 'icon icon-youtube',
687
- 'icon icon-snapchat-1' => 'icon icon-snapchat-1',
688
- 'icon icon-behance' => 'icon icon-behance',
689
- 'icon icon-github' => 'icon icon-github',
690
- 'icon icon-pinterest' => 'icon icon-pinterest',
691
- 'icon icon-spotify' => 'icon icon-spotify',
692
- 'icon icon-soundcloud-1' => 'icon icon-soundcloud-1',
693
- 'icon icon-skype-1' => 'icon icon-skype-1',
694
- 'icon icon-rss' => 'icon icon-rss',
695
- 'icon icon-reddit-1' => 'icon icon-reddit-1',
696
- 'icon icon-dribbble-1' => 'icon icon-dribbble-1',
697
- 'icon icon-wordpress-1' => 'icon icon-wordpress-1',
698
- 'icon icon-logo' => 'icon icon-logo',
699
- 'icon icon-dropbox-1' => 'icon icon-dropbox-1',
700
- 'icon icon-blogger-1' => 'icon icon-blogger-1',
701
- 'icon icon-photo' => 'icon icon-photo',
702
- 'icon icon-hangouts' => 'icon icon-hangouts',
703
- 'icon icon-xing' => 'icon icon-xing',
704
- 'icon icon-myspace' => 'icon icon-myspace',
705
- 'icon icon-flickr-1' => 'icon icon-flickr-1',
706
- 'icon icon-envato' => 'icon icon-envato',
707
- 'icon icon-picasa-1' => 'icon icon-picasa-1',
708
- 'icon icon-wattpad' => 'icon icon-wattpad',
709
- 'icon icon-emoji' => 'icon icon-emoji',
710
- 'icon icon-deviantart-1' => 'icon icon-deviantart-1',
711
- 'icon icon-yahoo-1' => 'icon icon-yahoo-1',
712
- 'icon icon-vine-1' => 'icon icon-vine-1',
713
- 'icon icon-delicious' => 'icon icon-delicious',
714
- 'icon icon-kickstarter-1' => 'icon icon-kickstarter-1',
715
- 'icon icon-stumbleupon-1' => 'icon icon-stumbleupon-1',
716
- 'icon icon-brands-and-logotypes' => 'icon icon-brands-and-logotypes',
717
- 'icon icon-instagram-1' => 'icon icon-instagram-1',
718
- 'icon icon-facebook-1' => 'icon icon-facebook-1',
719
- 'icon icon-instagram-2' => 'icon icon-instagram-2',
720
- 'icon icon-twitter-1' => 'icon icon-twitter-1',
721
- 'icon icon-whatsapp-2' => 'icon icon-whatsapp-2',
722
- 'icon icon-youtube-1' => 'icon icon-youtube-1',
723
- 'icon icon-linkedin-1' => 'icon icon-linkedin-1',
724
- 'icon icon-telegram' => 'icon icon-telegram',
725
- 'icon icon-github-1' => 'icon icon-github-1',
726
- 'icon icon-vk-1' => 'icon icon-vk-1',
727
- 'icon icon-pinterest-1' => 'icon icon-pinterest-1',
728
- 'icon icon-rss-1' => 'icon icon-rss-1',
729
- 'icon icon-twitch' => 'icon icon-twitch',
730
- 'icon icon-snapchat-2' => 'icon icon-snapchat-2',
731
- 'icon icon-skype-2' => 'icon icon-skype-2',
732
- 'icon icon-behance-2' => 'icon icon-behance-2',
733
- 'icon icon-spotify-1' => 'icon icon-spotify-1',
734
- 'icon icon-periscope' => 'icon icon-periscope',
735
- 'icon icon-dribbble-2' => 'icon icon-dribbble-2',
736
- 'icon icon-tumblr-1' => 'icon icon-tumblr-1',
737
- 'icon icon-soundcloud-2' => 'icon icon-soundcloud-2',
738
- 'icon icon-google-drive-1' => 'icon icon-google-drive-1',
739
- 'icon icon-dropbox-2' => 'icon icon-dropbox-2',
740
- 'icon icon-reddit-2' => 'icon icon-reddit-2',
741
- 'icon icon-html' => 'icon icon-html',
742
- 'icon icon-vimeo-1' => 'icon icon-vimeo-1',
743
- 'icon icon-hangout' => 'icon icon-hangout',
744
- 'icon icon-blogger-2' => 'icon icon-blogger-2',
745
- 'icon icon-yahoo-2' => 'icon icon-yahoo-2',
746
- 'icon icon-path' => 'icon icon-path',
747
- 'icon icon-yelp-1' => 'icon icon-yelp-1',
748
- 'icon icon-slideshare' => 'icon icon-slideshare',
749
- 'icon icon-picasa-2' => 'icon icon-picasa-2',
750
- 'icon icon-myspace-1' => 'icon icon-myspace-1',
751
- 'icon icon-flickr-2' => 'icon icon-flickr-2',
752
- 'icon icon-xing-1' => 'icon icon-xing-1',
753
- 'icon icon-envato-1' => 'icon icon-envato-1',
754
- 'icon icon-swarm' => 'icon icon-swarm',
755
- 'icon icon-wattpad-1' => 'icon icon-wattpad-1',
756
- 'icon icon-foursquare' => 'icon icon-foursquare',
757
- 'icon icon-deviantart-2' => 'icon icon-deviantart-2',
758
- 'icon icon-kickstarter-2' => 'icon icon-kickstarter-2',
759
- 'icon icon-delicious-1' => 'icon icon-delicious-1',
760
- 'icon icon-vine-2' => 'icon icon-vine-2',
761
- 'icon icon-digg' => 'icon icon-digg',
762
- 'icon icon-bebo' => 'icon icon-bebo',
763
- 'icon icon-stumbleupon-2' => 'icon icon-stumbleupon-2',
764
- 'icon icon-forrst' => 'icon icon-forrst',
765
- 'icon icon-eye3' => 'icon icon-eye3',
766
- 'icon icon-microscope' => 'icon icon-microscope',
767
- 'icon icon-Anti-Lock' => 'icon icon-Anti-Lock',
768
- 'icon icon-apartment' => 'icon icon-apartment',
769
- 'icon icon-app' => 'icon icon-app',
770
- 'icon icon-Aroma' => 'icon icon-Aroma',
771
- 'icon icon-bamboo-Leaf' => 'icon icon-bamboo-Leaf',
772
- 'icon icon-basket' => 'icon icon-basket',
773
- 'icon icon-Battery' => 'icon icon-Battery',
774
- 'icon icon-Bettery' => 'icon icon-Bettery',
775
- 'icon icon-building' => 'icon icon-building',
776
- 'icon icon-car-2' => 'icon icon-car-2',
777
- 'icon icon-Car' => 'icon icon-Car',
778
- 'icon icon-Child' => 'icon icon-Child',
779
- 'icon icon-cityscape' => 'icon icon-cityscape',
780
- 'icon icon-cleaner' => 'icon icon-cleaner',
781
- 'icon icon-Coffee-cup' => 'icon icon-Coffee-cup',
782
- 'icon icon-coins' => 'icon icon-coins',
783
- 'icon icon-Computer' => 'icon icon-Computer',
784
- 'icon icon-Consultancy' => 'icon icon-Consultancy',
785
- 'icon icon-cottage' => 'icon icon-cottage',
786
- 'icon icon-crane' => 'icon icon-crane',
787
- 'icon icon-Custom-api' => 'icon icon-Custom-api',
788
- 'icon icon-customer-support-2' => 'icon icon-customer-support-2',
789
- 'icon icon-Design-2' => 'icon icon-Design-2',
790
- 'icon icon-Design-3' => 'icon icon-Design-3',
791
- 'icon icon-design' => 'icon icon-design',
792
- 'icon icon-diamond' => 'icon icon-diamond',
793
- 'icon icon-diploma' => 'icon icon-diploma',
794
- 'icon icon-Document-Search' => 'icon icon-Document-Search',
795
- 'icon icon-Download' => 'icon icon-Download',
796
- 'icon icon-drilling' => 'icon icon-drilling',
797
- 'icon icon-engine' => 'icon icon-engine',
798
- 'icon icon-engineer' => 'icon icon-engineer',
799
- 'icon icon-envelope' => 'icon icon-envelope',
800
- 'icon icon-Family' => 'icon icon-Family',
801
- 'icon icon-friendship' => 'icon icon-friendship',
802
- 'icon icon-gift' => 'icon icon-gift',
803
- 'icon icon-graph-2' => 'icon icon-graph-2',
804
- 'icon icon-graph' => 'icon icon-graph',
805
- 'icon icon-hamburger-2' => 'icon icon-hamburger-2',
806
- 'icon icon-handshake' => 'icon icon-handshake',
807
- 'icon icon-Helmet' => 'icon icon-Helmet',
808
- 'icon icon-hot-Stone-2' => 'icon icon-hot-Stone-2',
809
- 'icon icon-hot-stone' => 'icon icon-hot-stone',
810
- 'icon icon-idea' => 'icon icon-idea',
811
- 'icon icon-Leaf' => 'icon icon-Leaf',
812
- 'icon icon-management' => 'icon icon-management',
813
- 'icon icon-Massage-table' => 'icon icon-Massage-table',
814
- 'icon icon-Mechanic' => 'icon icon-Mechanic',
815
- 'icon icon-Money-2' => 'icon icon-Money-2',
816
- 'icon icon-money-bag' => 'icon icon-money-bag',
817
- 'icon icon-Money' => 'icon icon-Money',
818
- 'icon icon-oil-bottle' => 'icon icon-oil-bottle',
819
- 'icon icon-Physiotherapy' => 'icon icon-Physiotherapy',
820
- 'icon icon-Profile' => 'icon icon-Profile',
821
- 'icon icon-Rating' => 'icon icon-Rating',
822
- 'icon icon-right-mark' => 'icon icon-right-mark',
823
- 'icon icon-rings' => 'icon icon-rings',
824
- 'icon icon-Safe-house' => 'icon icon-Safe-house',
825
- 'icon icon-Scan' => 'icon icon-Scan',
826
- 'icon icon-social-care' => 'icon icon-social-care',
827
- 'icon icon-Speed-Clock' => 'icon icon-Speed-Clock',
828
- 'icon icon-stopwatch' => 'icon icon-stopwatch',
829
- 'icon icon-Support-2' => 'icon icon-Support-2',
830
- 'icon icon-target-2' => 'icon icon-target-2',
831
- 'icon icon-Target' => 'icon icon-Target',
832
- 'icon icon-tripod' => 'icon icon-tripod',
833
- 'icon icon-truck' => 'icon icon-truck',
834
- 'icon icon-university' => 'icon icon-university',
835
- 'icon icon-User' => 'icon icon-User',
836
- 'icon icon-Web-Portals' => 'icon icon-Web-Portals',
837
- 'icon icon-window' => 'icon icon-window',
838
- 'icon icon-ek_line_icon' => 'icon icon-ek_line_icon',
839
- 'icon icon-ek_stroke_icon' => 'icon icon-ek_stroke_icon',
840
- 'icon icon-ekit' => 'icon icon-ekit',
841
- 'icon icon-elements-kit-logo' => 'icon icon-elements-kit-logo',
842
- 'icon icon-degree-image' => 'icon icon-degree-image',
843
- 'icon icon-accordion' => 'icon icon-accordion',
844
- 'icon icon-animated-flip-box' => 'icon icon-animated-flip-box',
845
- 'icon icon-animated-text' => 'icon icon-animated-text',
846
- 'icon icon-brands' => 'icon icon-brands',
847
- 'icon icon-business-hour' => 'icon icon-business-hour',
848
- 'icon icon-button' => 'icon icon-button',
849
- 'icon icon-carousel' => 'icon icon-carousel',
850
- 'icon icon-Circle-progress' => 'icon icon-Circle-progress',
851
- 'icon icon-contact-form' => 'icon icon-contact-form',
852
- 'icon icon-countdown-timer' => 'icon icon-countdown-timer',
853
- 'icon icon-dropbar' => 'icon icon-dropbar',
854
- 'icon icon-faq' => 'icon icon-faq',
855
- 'icon icon-full-width-scroll' => 'icon icon-full-width-scroll',
856
- 'icon icon-google-map' => 'icon icon-google-map',
857
- 'icon icon-heading-style' => 'icon icon-heading-style',
858
- 'icon icon-help-desk' => 'icon icon-help-desk',
859
- 'icon icon-horizontal-timeline' => 'icon icon-horizontal-timeline',
860
- 'icon icon-iframe' => 'icon icon-iframe',
861
- 'icon icon-image-comparison' => 'icon icon-image-comparison',
862
- 'icon icon-image-gallery' => 'icon icon-image-gallery',
863
- 'icon icon-image-justify' => 'icon icon-image-justify',
864
- 'icon icon-image-magnifier' => 'icon icon-image-magnifier',
865
- 'icon icon-image-masonry' => 'icon icon-image-masonry',
866
- 'icon icon-inline-svg' => 'icon icon-inline-svg',
867
- 'icon icon-instagram' => 'icon icon-instagram',
868
- 'icon icon-listing' => 'icon icon-listing',
869
- 'icon icon-music-player' => 'icon icon-music-player',
870
- 'icon icon-news-ticker' => 'icon icon-news-ticker',
871
- 'icon icon-off-canvus-menu' => 'icon icon-off-canvus-menu',
872
- 'icon icon-parallax' => 'icon icon-parallax',
873
- 'icon icon-portfolio' => 'icon icon-portfolio',
874
- 'icon icon-post-banner' => 'icon icon-post-banner',
875
- 'icon icon-post-carousel' => 'icon icon-post-carousel',
876
- 'icon icon-post-grid' => 'icon icon-post-grid',
877
- 'icon icon-post-slider' => 'icon icon-post-slider',
878
- 'icon icon-pricing-list' => 'icon icon-pricing-list',
879
- 'icon icon-pricing-table' => 'icon icon-pricing-table',
880
- 'icon icon-product-featured' => 'icon icon-product-featured',
881
- 'icon icon-product-image' => 'icon icon-product-image',
882
- 'icon icon-product-recent' => 'icon icon-product-recent',
883
- 'icon icon-product-sale' => 'icon icon-product-sale',
884
- 'icon icon-product-top-rated' => 'icon icon-product-top-rated',
885
- 'icon icon-product-top-seller' => 'icon icon-product-top-seller',
886
- 'icon icon-progress-bar' => 'icon icon-progress-bar',
887
- 'icon icon-protected-content-v2' => 'icon icon-protected-content-v2',
888
- 'icon icon-protected-content-v3' => 'icon icon-protected-content-v3',
889
- 'icon icon-protected-content' => 'icon icon-protected-content',
890
- 'icon icon-qr_code' => 'icon icon-qr_code',
891
- 'icon icon-scroll-button' => 'icon icon-scroll-button',
892
- 'icon icon-search1' => 'icon icon-search1',
893
- 'icon icon-service' => 'icon icon-service',
894
- 'icon icon-slider-image' => 'icon icon-slider-image',
895
- 'icon icon-social-share' => 'icon icon-social-share',
896
- 'icon icon-subscribe' => 'icon icon-subscribe',
897
- 'icon icon-tab' => 'icon icon-tab',
898
- 'icon icon-table' => 'icon icon-table',
899
- 'icon icon-team-join' => 'icon icon-team-join',
900
- 'icon icon-team-member' => 'icon icon-team-member',
901
- 'icon icon-testimonial-carousel' => 'icon icon-testimonial-carousel',
902
- 'icon icon-testimonial-grid' => 'icon icon-testimonial-grid',
903
- 'icon icon-testimonial-quote' => 'icon icon-testimonial-quote',
904
- 'icon icon-testimonial-slider' => 'icon icon-testimonial-slider',
905
- 'icon icon-toggle' => 'icon icon-toggle',
906
- 'icon icon-user-login' => 'icon icon-user-login',
907
- 'icon icon-user-registration' => 'icon icon-user-registration',
908
- 'icon icon-vertical-timeline' => 'icon icon-vertical-timeline',
909
- 'icon icon-video-player' => 'icon icon-video-player',
910
- 'icon icon-weather' => 'icon icon-weather',
911
 
912
- 'fa fa-500px' => 'fa fa-500px',
913
- 'fa fa-address-book' => 'fa fa-address-book',
914
- 'fa fa-address-book-o' => 'fa fa-address-book-o',
915
- 'fa fa-address-card' => 'fa fa-address-card',
916
- 'fa fa-address-card-o' => 'fa fa-address-card-o',
917
- 'fa fa-adjust' => 'fa fa-adjust',
918
- 'fa fa-adn' => 'fa fa-adn',
919
- 'fa fa-align-center' => 'fa fa-align-center',
920
- 'fa fa-align-justify' => 'fa fa-align-justify',
921
- 'fa fa-align-left' => 'fa fa-align-left',
922
- 'fa fa-align-right' => 'fa fa-align-right',
923
- 'fa fa-amazon' => 'fa fa-amazon',
924
- 'fa fa-ambulance' => 'fa fa-ambulance',
925
- 'fa fa-american-sign-language-interpreting' => 'fa fa-american-sign-language-interpreting',
926
- 'fa fa-anchor' => 'fa fa-anchor',
927
- 'fa fa-android' => 'fa fa-android',
928
- 'fa fa-angellist' => 'fa fa-angellist',
929
- 'fa fa-angle-double-down' => 'fa fa-angle-double-down',
930
- 'fa fa-angle-double-left' => 'fa fa-angle-double-left',
931
- 'fa fa-angle-double-right' => 'fa fa-angle-double-right',
932
- 'fa fa-angle-double-up' => 'fa fa-angle-double-up',
933
- 'fa fa-angle-down' => 'fa fa-angle-down',
934
- 'fa fa-angle-left' => 'fa fa-angle-left',
935
- 'fa fa-angle-right' => 'fa fa-angle-right',
936
- 'fa fa-angle-up' => 'fa fa-angle-up',
937
- 'fa fa-apple' => 'fa fa-apple',
938
- 'fa fa-archive' => 'fa fa-archive',
939
- 'fa fa-area-chart' => 'fa fa-area-chart',
940
- 'fa fa-arrow-circle-down' => 'fa fa-arrow-circle-down',
941
- 'fa fa-arrow-circle-left' => 'fa fa-arrow-circle-left',
942
- 'fa fa-arrow-circle-o-down' => 'fa fa-arrow-circle-o-down',
943
- 'fa fa-arrow-circle-o-left' => 'fa fa-arrow-circle-o-left',
944
- 'fa fa-arrow-circle-o-right' => 'fa fa-arrow-circle-o-right',
945
- 'fa fa-arrow-circle-o-up' => 'fa fa-arrow-circle-o-up',
946
- 'fa fa-arrow-circle-right' => 'fa fa-arrow-circle-right',
947
- 'fa fa-arrow-circle-up' => 'fa fa-arrow-circle-up',
948
- 'fa fa-arrow-down' => 'fa fa-arrow-down',
949
- 'fa fa-arrow-left' => 'fa fa-arrow-left',
950
- 'fa fa-arrow-right' => 'fa fa-arrow-right',
951
- 'fa fa-arrow-up' => 'fa fa-arrow-up',
952
- 'fa fa-arrows' => 'fa fa-arrows',
953
- 'fa fa-arrows-alt' => 'fa fa-arrows-alt',
954
- 'fa fa-arrows-h' => 'fa fa-arrows-h',
955
- 'fa fa-arrows-v' => 'fa fa-arrows-v',
956
- 'fa fa-asl-interpreting' => 'fa fa-asl-interpreting',
957
- 'fa fa-assistive-listening-systems' => 'fa fa-assistive-listening-systems',
958
- 'fa fa-asterisk' => 'fa fa-asterisk',
959
- 'fa fa-at' => 'fa fa-at',
960
- 'fa fa-audio-description' => 'fa fa-audio-description',
961
- 'fa fa-automobile' => 'fa fa-automobile',
962
- 'fa fa-backward' => 'fa fa-backward',
963
- 'fa fa-balance-scale' => 'fa fa-balance-scale',
964
- 'fa fa-ban' => 'fa fa-ban',
965
- 'fa fa-bandcamp' => 'fa fa-bandcamp',
966
- 'fa fa-bank' => 'fa fa-bank',
967
- 'fa fa-bar-chart' => 'fa fa-bar-chart',
968
- 'fa fa-bar-chart-o' => 'fa fa-bar-chart-o',
969
- 'fa fa-barcode' => 'fa fa-barcode',
970
- 'fa fa-bars' => 'fa fa-bars',
971
- 'fa fa-bath' => 'fa fa-bath',
972
- 'fa fa-bathtub' => 'fa fa-bathtub',
973
- 'fa fa-battery' => 'fa fa-battery',
974
- 'fa fa-battery-0' => 'fa fa-battery-0',
975
- 'fa fa-battery-1' => 'fa fa-battery-1',
976
- 'fa fa-battery-2' => 'fa fa-battery-2',
977
- 'fa fa-battery-3' => 'fa fa-battery-3',
978
- 'fa fa-battery-4' => 'fa fa-battery-4',
979
- 'fa fa-battery-empty' => 'fa fa-battery-empty',
980
- 'fa fa-battery-full' => 'fa fa-battery-full',
981
- 'fa fa-battery-half' => 'fa fa-battery-half',
982
- 'fa fa-battery-quarter' => 'fa fa-battery-quarter',
983
- 'fa fa-battery-three-quarters' => 'fa fa-battery-three-quarters',
984
- 'fa fa-bed' => 'fa fa-bed',
985
- 'fa fa-beer' => 'fa fa-beer',
986
- 'fa fa-behance' => 'fa fa-behance',
987
- 'fa fa-behance-square' => 'fa fa-behance-square',
988
- 'fa fa-bell' => 'fa fa-bell',
989
- 'fa fa-bell-o' => 'fa fa-bell-o',
990
- 'fa fa-bell-slash' => 'fa fa-bell-slash',
991
- 'fa fa-bell-slash-o' => 'fa fa-bell-slash-o',
992
- 'fa fa-bicycle' => 'fa fa-bicycle',
993
- 'fa fa-binoculars' => 'fa fa-binoculars',
994
- 'fa fa-birthday-cake' => 'fa fa-birthday-cake',
995
- 'fa fa-bitbucket' => 'fa fa-bitbucket',
996
- 'fa fa-bitbucket-square' => 'fa fa-bitbucket-square',
997
- 'fa fa-bitcoin' => 'fa fa-bitcoin',
998
- 'fa fa-black-tie' => 'fa fa-black-tie',
999
- 'fa fa-blind' => 'fa fa-blind',
1000
- 'fa fa-bluetooth' => 'fa fa-bluetooth',
1001
- 'fa fa-bluetooth-b' => 'fa fa-bluetooth-b',
1002
- 'fa fa-bold' => 'fa fa-bold',
1003
- 'fa fa-bolt' => 'fa fa-bolt',
1004
- 'fa fa-bomb' => 'fa fa-bomb',
1005
- 'fa fa-book' => 'fa fa-book',
1006
- 'fa fa-bookmark' => 'fa fa-bookmark',
1007
- 'fa fa-bookmark-o' => 'fa fa-bookmark-o',
1008
- 'fa fa-braille' => 'fa fa-braille',
1009
- 'fa fa-briefcase' => 'fa fa-briefcase',
1010
- 'fa fa-btc' => 'fa fa-btc',
1011
- 'fa fa-bug' => 'fa fa-bug',
1012
- 'fa fa-building' => 'fa fa-building',
1013
- 'fa fa-building-o' => 'fa fa-building-o',
1014
- 'fa fa-bullhorn' => 'fa fa-bullhorn',
1015
- 'fa fa-bullseye' => 'fa fa-bullseye',
1016
- 'fa fa-bus' => 'fa fa-bus',
1017
- 'fa fa-buysellads' => 'fa fa-buysellads',
1018
- 'fa fa-cab' => 'fa fa-cab',
1019
- 'fa fa-calculator' => 'fa fa-calculator',
1020
- 'fa fa-calendar' => 'fa fa-calendar',
1021
- 'fa fa-calendar-check-o' => 'fa fa-calendar-check-o',
1022
- 'fa fa-calendar-minus-o' => 'fa fa-calendar-minus-o',
1023
- 'fa fa-calendar-o' => 'fa fa-calendar-o',
1024
- 'fa fa-calendar-plus-o' => 'fa fa-calendar-plus-o',
1025
- 'fa fa-calendar-times-o' => 'fa fa-calendar-times-o',
1026
- 'fa fa-camera' => 'fa fa-camera',
1027
- 'fa fa-camera-retro' => 'fa fa-camera-retro',
1028
- 'fa fa-car' => 'fa fa-car',
1029
- 'fa fa-caret-down' => 'fa fa-caret-down',
1030
- 'fa fa-caret-left' => 'fa fa-caret-left',
1031
- 'fa fa-caret-right' => 'fa fa-caret-right',
1032
- 'fa fa-caret-square-o-down' => 'fa fa-caret-square-o-down',
1033
- 'fa fa-caret-square-o-left' => 'fa fa-caret-square-o-left',
1034
- 'fa fa-caret-square-o-right' => 'fa fa-caret-square-o-right',
1035
- 'fa fa-caret-square-o-up' => 'fa fa-caret-square-o-up',
1036
- 'fa fa-caret-up' => 'fa fa-caret-up',
1037
- 'fa fa-cart-arrow-down' => 'fa fa-cart-arrow-down',
1038
- 'fa fa-cart-plus' => 'fa fa-cart-plus',
1039
- 'fa fa-cc' => 'fa fa-cc',
1040
- 'fa fa-cc-amex' => 'fa fa-cc-amex',
1041
- 'fa fa-cc-diners-club' => 'fa fa-cc-diners-club',
1042
- 'fa fa-cc-discover' => 'fa fa-cc-discover',
1043
- 'fa fa-cc-jcb' => 'fa fa-cc-jcb',
1044
- 'fa fa-cc-mastercard' => 'fa fa-cc-mastercard',
1045
- 'fa fa-cc-paypal' => 'fa fa-cc-paypal',
1046
- 'fa fa-cc-stripe' => 'fa fa-cc-stripe',
1047
- 'fa fa-cc-visa' => 'fa fa-cc-visa',
1048
- 'fa fa-certificate' => 'fa fa-certificate',
1049
- 'fa fa-chain' => 'fa fa-chain',
1050
- 'fa fa-chain-broken' => 'fa fa-chain-broken',
1051
- 'fa fa-check' => 'fa fa-check',
1052
- 'fa fa-check-circle' => 'fa fa-check-circle',
1053
- 'fa fa-check-circle-o' => 'fa fa-check-circle-o',
1054
- 'fa fa-check-square' => 'fa fa-check-square',
1055
- 'fa fa-check-square-o' => 'fa fa-check-square-o',
1056
- 'fa fa-chevron-circle-down' => 'fa fa-chevron-circle-down',
1057
- 'fa fa-chevron-circle-left' => 'fa fa-chevron-circle-left',
1058
- 'fa fa-chevron-circle-right' => 'fa fa-chevron-circle-right',
1059
- 'fa fa-chevron-circle-up' => 'fa fa-chevron-circle-up',
1060
- 'fa fa-chevron-down' => 'fa fa-chevron-down',
1061
- 'fa fa-chevron-left' => 'fa fa-chevron-left',
1062
- 'fa fa-chevron-right' => 'fa fa-chevron-right',
1063
- 'fa fa-chevron-up' => 'fa fa-chevron-up',
1064
- 'fa fa-child' => 'fa fa-child',
1065
- 'fa fa-chrome' => 'fa fa-chrome',
1066
- 'fa fa-circle' => 'fa fa-circle',
1067
- 'fa fa-circle-o' => 'fa fa-circle-o',
1068
- 'fa fa-circle-o-notch' => 'fa fa-circle-o-notch',
1069
- 'fa fa-circle-thin' => 'fa fa-circle-thin',
1070
- 'fa fa-clipboard' => 'fa fa-clipboard',
1071
- 'fa fa-clock-o' => 'fa fa-clock-o',
1072
- 'fa fa-clone' => 'fa fa-clone',
1073
- 'fa fa-close' => 'fa fa-close',
1074
- 'fa fa-cloud' => 'fa fa-cloud',
1075
- 'fa fa-cloud-download' => 'fa fa-cloud-download',
1076
- 'fa fa-cloud-upload' => 'fa fa-cloud-upload',
1077
- 'fa fa-cny' => 'fa fa-cny',
1078
- 'fa fa-code' => 'fa fa-code',
1079
- 'fa fa-code-fork' => 'fa fa-code-fork',
1080
- 'fa fa-codepen' => 'fa fa-codepen',
1081
- 'fa fa-codiepie' => 'fa fa-codiepie',
1082
- 'fa fa-coffee' => 'fa fa-coffee',
1083
- 'fa fa-cog' => 'fa fa-cog',
1084
- 'fa fa-cogs' => 'fa fa-cogs',
1085
- 'fa fa-columns' => 'fa fa-columns',
1086
- 'fa fa-comment' => 'fa fa-comment',
1087
- 'fa fa-comment-o' => 'fa fa-comment-o',
1088
- 'fa fa-commenting' => 'fa fa-commenting',
1089
- 'fa fa-commenting-o' => 'fa fa-commenting-o',
1090
- 'fa fa-comments' => 'fa fa-comments',
1091
- 'fa fa-comments-o' => 'fa fa-comments-o',
1092
- 'fa fa-compass' => 'fa fa-compass',
1093
- 'fa fa-compress' => 'fa fa-compress',
1094
- 'fa fa-connectdevelop' => 'fa fa-connectdevelop',
1095
- 'fa fa-contao' => 'fa fa-contao',
1096
- 'fa fa-copy' => 'fa fa-copy',
1097
- 'fa fa-copyright' => 'fa fa-copyright',
1098
- 'fa fa-creative-commons' => 'fa fa-creative-commons',
1099
- 'fa fa-credit-card' => 'fa fa-credit-card',
1100
- 'fa fa-credit-card-alt' => 'fa fa-credit-card-alt',
1101
- 'fa fa-crop' => 'fa fa-crop',
1102
- 'fa fa-crosshairs' => 'fa fa-crosshairs',
1103
- 'fa fa-css3' => 'fa fa-css3',
1104
- 'fa fa-cube' => 'fa fa-cube',
1105
- 'fa fa-cubes' => 'fa fa-cubes',
1106
- 'fa fa-cut' => 'fa fa-cut',
1107
- 'fa fa-cutlery' => 'fa fa-cutlery',
1108
- 'fa fa-dashboard' => 'fa fa-dashboard',
1109
- 'fa fa-dashcube' => 'fa fa-dashcube',
1110
- 'fa fa-database' => 'fa fa-database',
1111
- 'fa fa-deaf' => 'fa fa-deaf',
1112
- 'fa fa-deafness' => 'fa fa-deafness',
1113
- 'fa fa-dedent' => 'fa fa-dedent',
1114
- 'fa fa-delicious' => 'fa fa-delicious',
1115
- 'fa fa-desktop' => 'fa fa-desktop',
1116
- 'fa fa-deviantart' => 'fa fa-deviantart',
1117
- 'fa fa-diamond' => 'fa fa-diamond',
1118
- 'fa fa-digg' => 'fa fa-digg',
1119
- 'fa fa-dollar' => 'fa fa-dollar',
1120
- 'fa fa-dot-circle-o' => 'fa fa-dot-circle-o',
1121
- 'fa fa-download' => 'fa fa-download',
1122
- 'fa fa-dribbble' => 'fa fa-dribbble',
1123
- 'fa fa-drivers-license' => 'fa fa-drivers-license',
1124
- 'fa fa-drivers-license-o' => 'fa fa-drivers-license-o',
1125
- 'fa fa-dropbox' => 'fa fa-dropbox',
1126
- 'fa fa-drupal' => 'fa fa-drupal',
1127
- 'fa fa-edge' => 'fa fa-edge',
1128
- 'fa fa-edit' => 'fa fa-edit',
1129
- 'fa fa-eercast' => 'fa fa-eercast',
1130
- 'fa fa-eject' => 'fa fa-eject',
1131
- 'fa fa-ellipsis-h' => 'fa fa-ellipsis-h',
1132
- 'fa fa-ellipsis-v' => 'fa fa-ellipsis-v',
1133
- 'fa fa-empire' => 'fa fa-empire',
1134
- 'fa fa-envelope' => 'fa fa-envelope',
1135
- 'fa fa-envelope-o' => 'fa fa-envelope-o',
1136
- 'fa fa-envelope-open' => 'fa fa-envelope-open',
1137
- 'fa fa-envelope-open-o' => 'fa fa-envelope-open-o',
1138
- 'fa fa-envelope-square' => 'fa fa-envelope-square',
1139
- 'fa fa-envira' => 'fa fa-envira',
1140
- 'fa fa-eraser' => 'fa fa-eraser',
1141
- 'fa fa-etsy' => 'fa fa-etsy',
1142
- 'fa fa-eur' => 'fa fa-eur',
1143
- 'fa fa-euro' => 'fa fa-euro',
1144
- 'fa fa-exchange' => 'fa fa-exchange',
1145
- 'fa fa-exclamation' => 'fa fa-exclamation',
1146
- 'fa fa-exclamation-circle' => 'fa fa-exclamation-circle',
1147
- 'fa fa-exclamation-triangle' => 'fa fa-exclamation-triangle',
1148
- 'fa fa-expand' => 'fa fa-expand',
1149
- 'fa fa-expeditedssl' => 'fa fa-expeditedssl',
1150
- 'fa fa-external-link' => 'fa fa-external-link',
1151
- 'fa fa-external-link-square' => 'fa fa-external-link-square',
1152
- 'fa fa-eye' => 'fa fa-eye',
1153
- 'fa fa-eye-slash' => 'fa fa-eye-slash',
1154
- 'fa fa-eyedropper' => 'fa fa-eyedropper',
1155
- 'fa fa-fa' => 'fa fa-fa',
1156
- 'fa fa-facebook' => 'fa fa-facebook',
1157
- 'fa fa-facebook-f' => 'fa fa-facebook-f',
1158
- 'fa fa-facebook-official' => 'fa fa-facebook-official',
1159
- 'fa fa-facebook-square' => 'fa fa-facebook-square',
1160
- 'fa fa-fast-backward' => 'fa fa-fast-backward',
1161
- 'fa fa-fast-forward' => 'fa fa-fast-forward',
1162
- 'fa fa-fax' => 'fa fa-fax',
1163
- 'fa fa-feed' => 'fa fa-feed',
1164
- 'fa fa-female' => 'fa fa-female',
1165
- 'fa fa-fighter-jet' => 'fa fa-fighter-jet',
1166
- 'fa fa-file' => 'fa fa-file',
1167
- 'fa fa-file-archive-o' => 'fa fa-file-archive-o',
1168
- 'fa fa-file-audio-o' => 'fa fa-file-audio-o',
1169
- 'fa fa-file-code-o' => 'fa fa-file-code-o',
1170
- 'fa fa-file-excel-o' => 'fa fa-file-excel-o',
1171
- 'fa fa-file-image-o' => 'fa fa-file-image-o',
1172
- 'fa fa-file-movie-o' => 'fa fa-file-movie-o',
1173
- 'fa fa-file-o' => 'fa fa-file-o',
1174
- 'fa fa-file-pdf-o' => 'fa fa-file-pdf-o',
1175
- 'fa fa-file-photo-o' => 'fa fa-file-photo-o',
1176
- 'fa fa-file-picture-o' => 'fa fa-file-picture-o',
1177
- 'fa fa-file-powerpoint-o' => 'fa fa-file-powerpoint-o',
1178
- 'fa fa-file-sound-o' => 'fa fa-file-sound-o',
1179
- 'fa fa-file-text' => 'fa fa-file-text',
1180
- 'fa fa-file-text-o' => 'fa fa-file-text-o',
1181
- 'fa fa-file-video-o' => 'fa fa-file-video-o',
1182
- 'fa fa-file-word-o' => 'fa fa-file-word-o',
1183
- 'fa fa-file-zip-o' => 'fa fa-file-zip-o',
1184
- 'fa fa-files-o' => 'fa fa-files-o',
1185
- 'fa fa-film' => 'fa fa-film',
1186
- 'fa fa-filter' => 'fa fa-filter',
1187
- 'fa fa-fire' => 'fa fa-fire',
1188
- 'fa fa-fire-extinguisher' => 'fa fa-fire-extinguisher',
1189
- 'fa fa-firefox' => 'fa fa-firefox',
1190
- 'fa fa-first-order' => 'fa fa-first-order',
1191
- 'fa fa-flag' => 'fa fa-flag',
1192
- 'fa fa-flag-checkered' => 'fa fa-flag-checkered',
1193
- 'fa fa-flag-o' => 'fa fa-flag-o',
1194
- 'fa fa-flash' => 'fa fa-flash',
1195
- 'fa fa-flask' => 'fa fa-flask',
1196
- 'fa fa-flickr' => 'fa fa-flickr',
1197
- 'fa fa-floppy-o' => 'fa fa-floppy-o',
1198
- 'fa fa-folder' => 'fa fa-folder',
1199
- 'fa fa-folder-o' => 'fa fa-folder-o',
1200
- 'fa fa-folder-open' => 'fa fa-folder-open',
1201
- 'fa fa-folder-open-o' => 'fa fa-folder-open-o',
1202
- 'fa fa-font' => 'fa fa-font',
1203
- 'fa fa-font-awesome' => 'fa fa-font-awesome',
1204
- 'fa fa-fonticons' => 'fa fa-fonticons',
1205
- 'fa fa-fort-awesome' => 'fa fa-fort-awesome',
1206
- 'fa fa-forumbee' => 'fa fa-forumbee',
1207
- 'fa fa-forward' => 'fa fa-forward',
1208
- 'fa fa-foursquare' => 'fa fa-foursquare',
1209
- 'fa fa-free-code-camp' => 'fa fa-free-code-camp',
1210
- 'fa fa-frown-o' => 'fa fa-frown-o',
1211
- 'fa fa-futbol-o' => 'fa fa-futbol-o',
1212
- 'fa fa-gamepad' => 'fa fa-gamepad',
1213
- 'fa fa-gavel' => 'fa fa-gavel',
1214
- 'fa fa-gbp' => 'fa fa-gbp',
1215
- 'fa fa-ge' => 'fa fa-ge',
1216
- 'fa fa-gear' => 'fa fa-gear',
1217
- 'fa fa-gears' => 'fa fa-gears',
1218
- 'fa fa-genderless' => 'fa fa-genderless',
1219
- 'fa fa-get-pocket' => 'fa fa-get-pocket',
1220
- 'fa fa-gg' => 'fa fa-gg',
1221
- 'fa fa-gg-circle' => 'fa fa-gg-circle',
1222
- 'fa fa-gift' => 'fa fa-gift',
1223
- 'fa fa-git' => 'fa fa-git',
1224
- 'fa fa-git-square' => 'fa fa-git-square',
1225
- 'fa fa-github' => 'fa fa-github',
1226
- 'fa fa-github-alt' => 'fa fa-github-alt',
1227
- 'fa fa-github-square' => 'fa fa-github-square',
1228
- 'fa fa-gitlab' => 'fa fa-gitlab',
1229
- 'fa fa-gittip' => 'fa fa-gittip',
1230
- 'fa fa-glass' => 'fa fa-glass',
1231
- 'fa fa-glide' => 'fa fa-glide',
1232
- 'fa fa-glide-g' => 'fa fa-glide-g',
1233
- 'fa fa-globe' => 'fa fa-globe',
1234
- 'fa fa-google' => 'fa fa-google',
1235
- 'fa fa-google-plus' => 'fa fa-google-plus',
1236
- 'fa fa-google-plus-circle' => 'fa fa-google-plus-circle',
1237
- 'fa fa-google-plus-official' => 'fa fa-google-plus-official',
1238
- 'fa fa-google-plus-square' => 'fa fa-google-plus-square',
1239
- 'fa fa-google-wallet' => 'fa fa-google-wallet',
1240
- 'fa fa-graduation-cap' => 'fa fa-graduation-cap',
1241
- 'fa fa-gratipay' => 'fa fa-gratipay',
1242
- 'fa fa-grav' => 'fa fa-grav',
1243
- 'fa fa-group' => 'fa fa-group',
1244
- 'fa fa-h-square' => 'fa fa-h-square',
1245
- 'fa fa-hacker-news' => 'fa fa-hacker-news',
1246
- 'fa fa-hand-grab-o' => 'fa fa-hand-grab-o',
1247
- 'fa fa-hand-lizard-o' => 'fa fa-hand-lizard-o',
1248
- 'fa fa-hand-o-down' => 'fa fa-hand-o-down',
1249
- 'fa fa-hand-o-left' => 'fa fa-hand-o-left',
1250
- 'fa fa-hand-o-right' => 'fa fa-hand-o-right',
1251
- 'fa fa-hand-o-up' => 'fa fa-hand-o-up',
1252
- 'fa fa-hand-paper-o' => 'fa fa-hand-paper-o',
1253
- 'fa fa-hand-peace-o' => 'fa fa-hand-peace-o',
1254
- 'fa fa-hand-pointer-o' => 'fa fa-hand-pointer-o',
1255
- 'fa fa-hand-rock-o' => 'fa fa-hand-rock-o',
1256
- 'fa fa-hand-scissors-o' => 'fa fa-hand-scissors-o',
1257
- 'fa fa-hand-spock-o' => 'fa fa-hand-spock-o',
1258
- 'fa fa-hand-stop-o' => 'fa fa-hand-stop-o',
1259
- 'fa fa-handshake-o' => 'fa fa-handshake-o',
1260
- 'fa fa-hard-of-hearing' => 'fa fa-hard-of-hearing',
1261
- 'fa fa-hashtag' => 'fa fa-hashtag',
1262
- 'fa fa-hdd-o' => 'fa fa-hdd-o',
1263
- 'fa fa-header' => 'fa fa-header',
1264
- 'fa fa-headphones' => 'fa fa-headphones',
1265
- 'fa fa-heart' => 'fa fa-heart',
1266
- 'fa fa-heart-o' => 'fa fa-heart-o',
1267
- 'fa fa-heartbeat' => 'fa fa-heartbeat',
1268
- 'fa fa-history' => 'fa fa-history',
1269
- 'fa fa-home' => 'fa fa-home',
1270
- 'fa fa-hospital-o' => 'fa fa-hospital-o',
1271
- 'fa fa-hotel' => 'fa fa-hotel',
1272
- 'fa fa-hourglass' => 'fa fa-hourglass',
1273
- 'fa fa-hourglass-1' => 'fa fa-hourglass-1',
1274
- 'fa fa-hourglass-2' => 'fa fa-hourglass-2',
1275
- 'fa fa-hourglass-3' => 'fa fa-hourglass-3',
1276
- 'fa fa-hourglass-end' => 'fa fa-hourglass-end',
1277
- 'fa fa-hourglass-half' => 'fa fa-hourglass-half',
1278
- 'fa fa-hourglass-o' => 'fa fa-hourglass-o',
1279
- 'fa fa-hourglass-start' => 'fa fa-hourglass-start',
1280
- 'fa fa-houzz' => 'fa fa-houzz',
1281
- 'fa fa-html5' => 'fa fa-html5',
1282
- 'fa fa-i-cursor' => 'fa fa-i-cursor',
1283
- 'fa fa-id-badge' => 'fa fa-id-badge',
1284
- 'fa fa-id-card' => 'fa fa-id-card',
1285
- 'fa fa-id-card-o' => 'fa fa-id-card-o',
1286
- 'fa fa-ils' => 'fa fa-ils',
1287
- 'fa fa-image' => 'fa fa-image',
1288
- 'fa fa-imdb' => 'fa fa-imdb',
1289
- 'fa fa-inbox' => 'fa fa-inbox',
1290
- 'fa fa-indent' => 'fa fa-indent',
1291
- 'fa fa-industry' => 'fa fa-industry',
1292
- 'fa fa-info' => 'fa fa-info',
1293
- 'fa fa-info-circle' => 'fa fa-info-circle',
1294
- 'fa fa-inr' => 'fa fa-inr',
1295
- 'fa fa-instagram' => 'fa fa-instagram',
1296
- 'fa fa-institution' => 'fa fa-institution',
1297
- 'fa fa-internet-explorer' => 'fa fa-internet-explorer',
1298
- 'fa fa-intersex' => 'fa fa-intersex',
1299
- 'fa fa-ioxhost' => 'fa fa-ioxhost',
1300
- 'fa fa-italic' => 'fa fa-italic',
1301
- 'fa fa-joomla' => 'fa fa-joomla',
1302
- 'fa fa-jpy' => 'fa fa-jpy',
1303
- 'fa fa-jsfiddle' => 'fa fa-jsfiddle',
1304
- 'fa fa-key' => 'fa fa-key',
1305
- 'fa fa-keyboard-o' => 'fa fa-keyboard-o',
1306
- 'fa fa-krw' => 'fa fa-krw',
1307
- 'fa fa-language' => 'fa fa-language',
1308
- 'fa fa-laptop' => 'fa fa-laptop',
1309
- 'fa fa-lastfm' => 'fa fa-lastfm',
1310
- 'fa fa-lastfm-square' => 'fa fa-lastfm-square',
1311
- 'fa fa-leaf' => 'fa fa-leaf',
1312
- 'fa fa-leanpub' => 'fa fa-leanpub',
1313
- 'fa fa-legal' => 'fa fa-legal',
1314
- 'fa fa-lemon-o' => 'fa fa-lemon-o',
1315
- 'fa fa-level-down' => 'fa fa-level-down',
1316
- 'fa fa-level-up' => 'fa fa-level-up',
1317
- 'fa fa-life-bouy' => 'fa fa-life-bouy',
1318
- 'fa fa-life-buoy' => 'fa fa-life-buoy',
1319
- 'fa fa-life-ring' => 'fa fa-life-ring',
1320
- 'fa fa-life-saver' => 'fa fa-life-saver',
1321
- 'fa fa-lightbulb-o' => 'fa fa-lightbulb-o',
1322
- 'fa fa-line-chart' => 'fa fa-line-chart',
1323
- 'fa fa-link' => 'fa fa-link',
1324
- 'fa fa-linkedin' => 'fa fa-linkedin',
1325
- 'fa fa-linkedin-square' => 'fa fa-linkedin-square',
1326
- 'fa fa-linode' => 'fa fa-linode',
1327
- 'fa fa-linux' => 'fa fa-linux',
1328
- 'fa fa-list' => 'fa fa-list',
1329
- 'fa fa-list-alt' => 'fa fa-list-alt',
1330
- 'fa fa-list-ol' => 'fa fa-list-ol',
1331
- 'fa fa-list-ul' => 'fa fa-list-ul',
1332
- 'fa fa-location-arrow' => 'fa fa-location-arrow',
1333
- 'fa fa-lock' => 'fa fa-lock',
1334
- 'fa fa-long-arrow-down' => 'fa fa-long-arrow-down',
1335
- 'fa fa-long-arrow-left' => 'fa fa-long-arrow-left',
1336
- 'fa fa-long-arrow-right' => 'fa fa-long-arrow-right',
1337
- 'fa fa-long-arrow-up' => 'fa fa-long-arrow-up',
1338
- 'fa fa-low-vision' => 'fa fa-low-vision',
1339
- 'fa fa-magic' => 'fa fa-magic',
1340
- 'fa fa-magnet' => 'fa fa-magnet',
1341
- 'fa fa-mail-forward' => 'fa fa-mail-forward',
1342
- 'fa fa-mail-reply' => 'fa fa-mail-reply',
1343
- 'fa fa-mail-reply-all' => 'fa fa-mail-reply-all',
1344
- 'fa fa-male' => 'fa fa-male',
1345
- 'fa fa-map' => 'fa fa-map',
1346
- 'fa fa-map-marker' => 'fa fa-map-marker',
1347
- 'fa fa-map-o' => 'fa fa-map-o',
1348
- 'fa fa-map-pin' => 'fa fa-map-pin',
1349
- 'fa fa-map-signs' => 'fa fa-map-signs',
1350
- 'fa fa-mars' => 'fa fa-mars',
1351
- 'fa fa-mars-double' => 'fa fa-mars-double',
1352
- 'fa fa-mars-stroke' => 'fa fa-mars-stroke',
1353
- 'fa fa-mars-stroke-h' => 'fa fa-mars-stroke-h',
1354
- 'fa fa-mars-stroke-v' => 'fa fa-mars-stroke-v',
1355
- 'fa fa-maxcdn' => 'fa fa-maxcdn',
1356
- 'fa fa-meanpath' => 'fa fa-meanpath',
1357
- 'fa fa-medium' => 'fa fa-medium',
1358
- 'fa fa-medkit' => 'fa fa-medkit',
1359
- 'fa fa-meetup' => 'fa fa-meetup',
1360
- 'fa fa-meh-o' => 'fa fa-meh-o',
1361
- 'fa fa-mercury' => 'fa fa-mercury',
1362
- 'fa fa-microchip' => 'fa fa-microchip',
1363
- 'fa fa-microphone' => 'fa fa-microphone',
1364
- 'fa fa-microphone-slash' => 'fa fa-microphone-slash',
1365
- 'fa fa-minus' => 'fa fa-minus',
1366
- 'fa fa-minus-circle' => 'fa fa-minus-circle',
1367
- 'fa fa-minus-square' => 'fa fa-minus-square',
1368
- 'fa fa-minus-square-o' => 'fa fa-minus-square-o',
1369
- 'fa fa-mixcloud' => 'fa fa-mixcloud',
1370
- 'fa fa-mobile' => 'fa fa-mobile',
1371
- 'fa fa-mobile-phone' => 'fa fa-mobile-phone',
1372
- 'fa fa-modx' => 'fa fa-modx',
1373
- 'fa fa-money' => 'fa fa-money',
1374
- 'fa fa-moon-o' => 'fa fa-moon-o',
1375
- 'fa fa-mortar-board' => 'fa fa-mortar-board',
1376
- 'fa fa-motorcycle' => 'fa fa-motorcycle',
1377
- 'fa fa-mouse-pointer' => 'fa fa-mouse-pointer',
1378
- 'fa fa-music' => 'fa fa-music',
1379
- 'fa fa-navicon' => 'fa fa-navicon',
1380
- 'fa fa-neuter' => 'fa fa-neuter',
1381
- 'fa fa-newspaper-o' => 'fa fa-newspaper-o',
1382
- 'fa fa-object-group' => 'fa fa-object-group',
1383
- 'fa fa-object-ungroup' => 'fa fa-object-ungroup',
1384
- 'fa fa-odnoklassniki' => 'fa fa-odnoklassniki',
1385
- 'fa fa-odnoklassniki-square' => 'fa fa-odnoklassniki-square',
1386
- 'fa fa-opencart' => 'fa fa-opencart',
1387
- 'fa fa-openid' => 'fa fa-openid',
1388
- 'fa fa-opera' => 'fa fa-opera',
1389
- 'fa fa-optin-monster' => 'fa fa-optin-monster',
1390
- 'fa fa-outdent' => 'fa fa-outdent',
1391
- 'fa fa-pagelines' => 'fa fa-pagelines',
1392
- 'fa fa-paint-brush' => 'fa fa-paint-brush',
1393
- 'fa fa-paper-plane' => 'fa fa-paper-plane',
1394
- 'fa fa-paper-plane-o' => 'fa fa-paper-plane-o',
1395
- 'fa fa-paperclip' => 'fa fa-paperclip',
1396
- 'fa fa-paragraph' => 'fa fa-paragraph',
1397
- 'fa fa-paste' => 'fa fa-paste',
1398
- 'fa fa-pause' => 'fa fa-pause',
1399
- 'fa fa-pause-circle' => 'fa fa-pause-circle',
1400
- 'fa fa-pause-circle-o' => 'fa fa-pause-circle-o',
1401
- 'fa fa-paw' => 'fa fa-paw',
1402
- 'fa fa-paypal' => 'fa fa-paypal',
1403
- 'fa fa-pencil' => 'fa fa-pencil',
1404
- 'fa fa-pencil-square' => 'fa fa-pencil-square',
1405
- 'fa fa-pencil-square-o' => 'fa fa-pencil-square-o',
1406
- 'fa fa-percent' => 'fa fa-percent',
1407
- 'fa fa-phone' => 'fa fa-phone',
1408
- 'fa fa-phone-square' => 'fa fa-phone-square',
1409
- 'fa fa-photo' => 'fa fa-photo',
1410
- 'fa fa-picture-o' => 'fa fa-picture-o',
1411
- 'fa fa-pie-chart' => 'fa fa-pie-chart',
1412
- 'fa fa-pied-piper' => 'fa fa-pied-piper',
1413
- 'fa fa-pied-piper-alt' => 'fa fa-pied-piper-alt',
1414
- 'fa fa-pied-piper-pp' => 'fa fa-pied-piper-pp',
1415
- 'fa fa-pinterest' => 'fa fa-pinterest',
1416
- 'fa fa-pinterest-p' => 'fa fa-pinterest-p',
1417
- 'fa fa-pinterest-square' => 'fa fa-pinterest-square',
1418
- 'fa fa-plane' => 'fa fa-plane',
1419
- 'fa fa-play' => 'fa fa-play',
1420
- 'fa fa-play-circle' => 'fa fa-play-circle',
1421
- 'fa fa-play-circle-o' => 'fa fa-play-circle-o',
1422
- 'fa fa-plug' => 'fa fa-plug',
1423
- 'fa fa-plus' => 'fa fa-plus',
1424
- 'fa fa-plus-circle' => 'fa fa-plus-circle',
1425
- 'fa fa-plus-square' => 'fa fa-plus-square',
1426
- 'fa fa-plus-square-o' => 'fa fa-plus-square-o',
1427
- 'fa fa-podcast' => 'fa fa-podcast',
1428
- 'fa fa-power-off' => 'fa fa-power-off',
1429
- 'fa fa-print' => 'fa fa-print',
1430
- 'fa fa-product-hunt' => 'fa fa-product-hunt',
1431
- 'fa fa-pull-left' => 'fa fa-pull-left',
1432
- 'fa fa-pull-right' => 'fa fa-pull-right',
1433
- 'fa fa-puzzle-piece' => 'fa fa-puzzle-piece',
1434
- 'fa fa-qq' => 'fa fa-qq',
1435
- 'fa fa-qrcode' => 'fa fa-qrcode',
1436
- 'fa fa-question' => 'fa fa-question',
1437
- 'fa fa-question-circle' => 'fa fa-question-circle',
1438
- 'fa fa-question-circle-o' => 'fa fa-question-circle-o',
1439
- 'fa fa-quora' => 'fa fa-quora',
1440
- 'fa fa-quote-left' => 'fa fa-quote-left',
1441
- 'fa fa-quote-right' => 'fa fa-quote-right',
1442
- 'fa fa-ra' => 'fa fa-ra',
1443
- 'fa fa-random' => 'fa fa-random',
1444
- 'fa fa-ravelry' => 'fa fa-ravelry',
1445
- 'fa fa-rebel' => 'fa fa-rebel',
1446
- 'fa fa-recycle' => 'fa fa-recycle',
1447
- 'fa fa-reddit' => 'fa fa-reddit',
1448
- 'fa fa-reddit-alien' => 'fa fa-reddit-alien',
1449
- 'fa fa-reddit-square' => 'fa fa-reddit-square',
1450
- 'fa fa-refresh' => 'fa fa-refresh',
1451
- 'fa fa-registered' => 'fa fa-registered',
1452
- 'fa fa-remove' => 'fa fa-remove',
1453
- 'fa fa-renren' => 'fa fa-renren',
1454
- 'fa fa-reorder' => 'fa fa-reorder',
1455
- 'fa fa-repeat' => 'fa fa-repeat',
1456
- 'fa fa-reply' => 'fa fa-reply',
1457
- 'fa fa-reply-all' => 'fa fa-reply-all',
1458
- 'fa fa-resistance' => 'fa fa-resistance',
1459
- 'fa fa-retweet' => 'fa fa-retweet',
1460
- 'fa fa-rmb' => 'fa fa-rmb',
1461
- 'fa fa-road' => 'fa fa-road',
1462
- 'fa fa-rocket' => 'fa fa-rocket',
1463
- 'fa fa-rotate-left' => 'fa fa-rotate-left',
1464
- 'fa fa-rotate-right' => 'fa fa-rotate-right',
1465
- 'fa fa-rouble' => 'fa fa-rouble',
1466
- 'fa fa-rss' => 'fa fa-rss',
1467
- 'fa fa-rss-square' => 'fa fa-rss-square',
1468
- 'fa fa-rub' => 'fa fa-rub',
1469
- 'fa fa-ruble' => 'fa fa-ruble',
1470
- 'fa fa-rupee' => 'fa fa-rupee',
1471
- 'fa fa-s15' => 'fa fa-s15',
1472
- 'fa fa-safari' => 'fa fa-safari',
1473
- 'fa fa-save' => 'fa fa-save',
1474
- 'fa fa-scissors' => 'fa fa-scissors',
1475
- 'fa fa-scribd' => 'fa fa-scribd',
1476
- 'fa fa-search' => 'fa fa-search',
1477
- 'fa fa-search-minus' => 'fa fa-search-minus',
1478
- 'fa fa-search-plus' => 'fa fa-search-plus',
1479
- 'fa fa-sellsy' => 'fa fa-sellsy',
1480
- 'fa fa-send' => 'fa fa-send',
1481
- 'fa fa-send-o' => 'fa fa-send-o',
1482
- 'fa fa-server' => 'fa fa-server',
1483
- 'fa fa-share' => 'fa fa-share',
1484
- 'fa fa-share-alt' => 'fa fa-share-alt',
1485
- 'fa fa-share-alt-square' => 'fa fa-share-alt-square',
1486
- 'fa fa-share-square' => 'fa fa-share-square',
1487
- 'fa fa-share-square-o' => 'fa fa-share-square-o',
1488
- 'fa fa-shekel' => 'fa fa-shekel',
1489
- 'fa fa-sheqel' => 'fa fa-sheqel',
1490
- 'fa fa-shield' => 'fa fa-shield',
1491
- 'fa fa-ship' => 'fa fa-ship',
1492
- 'fa fa-shirtsinbulk' => 'fa fa-shirtsinbulk',
1493
- 'fa fa-shopping-bag' => 'fa fa-shopping-bag',
1494
- 'fa fa-shopping-basket' => 'fa fa-shopping-basket',
1495
- 'fa fa-shopping-cart' => 'fa fa-shopping-cart',
1496
- 'fa fa-shower' => 'fa fa-shower',
1497
- 'fa fa-sign-in' => 'fa fa-sign-in',
1498
- 'fa fa-sign-language' => 'fa fa-sign-language',
1499
- 'fa fa-sign-out' => 'fa fa-sign-out',
1500
- 'fa fa-signal' => 'fa fa-signal',
1501
- 'fa fa-signing' => 'fa fa-signing',
1502
- 'fa fa-simplybuilt' => 'fa fa-simplybuilt',
1503
- 'fa fa-sitemap' => 'fa fa-sitemap',
1504
- 'fa fa-skyatlas' => 'fa fa-skyatlas',
1505
- 'fa fa-skype' => 'fa fa-skype',
1506
- 'fa fa-slack' => 'fa fa-slack',
1507
- 'fa fa-sliders' => 'fa fa-sliders',
1508
- 'fa fa-slideshare' => 'fa fa-slideshare',
1509
- 'fa fa-smile-o' => 'fa fa-smile-o',
1510
- 'fa fa-snapchat' => 'fa fa-snapchat',
1511
- 'fa fa-snapchat-ghost' => 'fa fa-snapchat-ghost',
1512
- 'fa fa-snapchat-square' => 'fa fa-snapchat-square',
1513
- 'fa fa-snowflake-o' => 'fa fa-snowflake-o',
1514
- 'fa fa-soccer-ball-o' => 'fa fa-soccer-ball-o',
1515
- 'fa fa-sort' => 'fa fa-sort',
1516
- 'fa fa-sort-alpha-asc' => 'fa fa-sort-alpha-asc',
1517
- 'fa fa-sort-alpha-desc' => 'fa fa-sort-alpha-desc',
1518
- 'fa fa-sort-amount-asc' => 'fa fa-sort-amount-asc',
1519
- 'fa fa-sort-amount-desc' => 'fa fa-sort-amount-desc',
1520
- 'fa fa-sort-asc' => 'fa fa-sort-asc',
1521
- 'fa fa-sort-desc' => 'fa fa-sort-desc',
1522
- 'fa fa-sort-down' => 'fa fa-sort-down',
1523
- 'fa fa-sort-numeric-asc' => 'fa fa-sort-numeric-asc',
1524
- 'fa fa-sort-numeric-desc' => 'fa fa-sort-numeric-desc',
1525
- 'fa fa-sort-up' => 'fa fa-sort-up',
1526
- 'fa fa-soundcloud' => 'fa fa-soundcloud',
1527
- 'fa fa-space-shuttle' => 'fa fa-space-shuttle',
1528
- 'fa fa-spinner' => 'fa fa-spinner',
1529
- 'fa fa-spoon' => 'fa fa-spoon',
1530
- 'fa fa-spotify' => 'fa fa-spotify',
1531
- 'fa fa-square' => 'fa fa-square',
1532
- 'fa fa-square-o' => 'fa fa-square-o',
1533
- 'fa fa-stack-exchange' => 'fa fa-stack-exchange',
1534
- 'fa fa-stack-overflow' => 'fa fa-stack-overflow',
1535
- 'fa fa-star' => 'fa fa-star',
1536
- 'fa fa-star-half' => 'fa fa-star-half',
1537
- 'fa fa-star-half-empty' => 'fa fa-star-half-empty',
1538
- 'fa fa-star-half-full' => 'fa fa-star-half-full',
1539
- 'fa fa-star-half-o' => 'fa fa-star-half-o',
1540
- 'fa fa-star-o' => 'fa fa-star-o',
1541
- 'fa fa-steam' => 'fa fa-steam',
1542
- 'fa fa-steam-square' => 'fa fa-steam-square',
1543
- 'fa fa-step-backward' => 'fa fa-step-backward',
1544
- 'fa fa-step-forward' => 'fa fa-step-forward',
1545
- 'fa fa-stethoscope' => 'fa fa-stethoscope',
1546
- 'fa fa-sticky-note' => 'fa fa-sticky-note',
1547
- 'fa fa-sticky-note-o' => 'fa fa-sticky-note-o',
1548
- 'fa fa-stop' => 'fa fa-stop',
1549
- 'fa fa-stop-circle' => 'fa fa-stop-circle',
1550
- 'fa fa-stop-circle-o' => 'fa fa-stop-circle-o',
1551
- 'fa fa-street-view' => 'fa fa-street-view',
1552
- 'fa fa-strikethrough' => 'fa fa-strikethrough',
1553
- 'fa fa-stumbleupon' => 'fa fa-stumbleupon',
1554
- 'fa fa-stumbleupon-circle' => 'fa fa-stumbleupon-circle',
1555
- 'fa fa-subscript' => 'fa fa-subscript',
1556
- 'fa fa-subway' => 'fa fa-subway',
1557
- 'fa fa-suitcase' => 'fa fa-suitcase',
1558
- 'fa fa-sun-o' => 'fa fa-sun-o',
1559
- 'fa fa-superpowers' => 'fa fa-superpowers',
1560
- 'fa fa-superscript' => 'fa fa-superscript',
1561
- 'fa fa-support' => 'fa fa-support',
1562
- 'fa fa-table' => 'fa fa-table',
1563
- 'fa fa-tablet' => 'fa fa-tablet',
1564
- 'fa fa-tachometer' => 'fa fa-tachometer',
1565
- 'fa fa-tag' => 'fa fa-tag',
1566
- 'fa fa-tags' => 'fa fa-tags',
1567
- 'fa fa-tasks' => 'fa fa-tasks',
1568
- 'fa fa-taxi' => 'fa fa-taxi',
1569
- 'fa fa-telegram' => 'fa fa-telegram',
1570
- 'fa fa-television' => 'fa fa-television',
1571
- 'fa fa-tencent-weibo' => 'fa fa-tencent-weibo',
1572
- 'fa fa-terminal' => 'fa fa-terminal',
1573
- 'fa fa-text-height' => 'fa fa-text-height',
1574
- 'fa fa-text-width' => 'fa fa-text-width',
1575
- 'fa fa-th' => 'fa fa-th',
1576
- 'fa fa-th-large' => 'fa fa-th-large',
1577
- 'fa fa-th-list' => 'fa fa-th-list',
1578
- 'fa fa-themeisle' => 'fa fa-themeisle',
1579
- 'fa fa-thermometer' => 'fa fa-thermometer',
1580
- 'fa fa-thermometer-0' => 'fa fa-thermometer-0',
1581
- 'fa fa-thermometer-1' => 'fa fa-thermometer-1',
1582
- 'fa fa-thermometer-2' => 'fa fa-thermometer-2',
1583
- 'fa fa-thermometer-3' => 'fa fa-thermometer-3',
1584
- 'fa fa-thermometer-4' => 'fa fa-thermometer-4',
1585
- 'fa fa-thermometer-empty' => 'fa fa-thermometer-empty',
1586
- 'fa fa-thermometer-full' => 'fa fa-thermometer-full',
1587
- 'fa fa-thermometer-half' => 'fa fa-thermometer-half',
1588
- 'fa fa-thermometer-quarter' => 'fa fa-thermometer-quarter',
1589
- 'fa fa-thermometer-three-quarters' => 'fa fa-thermometer-three-quarters',
1590
- 'fa fa-thumb-tack' => 'fa fa-thumb-tack',
1591
- 'fa fa-thumbs-down' => 'fa fa-thumbs-down',
1592
- 'fa fa-thumbs-o-down' => 'fa fa-thumbs-o-down',
1593
- 'fa fa-thumbs-o-up' => 'fa fa-thumbs-o-up',
1594
- 'fa fa-thumbs-up' => 'fa fa-thumbs-up',
1595
- 'fa fa-ticket' => 'fa fa-ticket',
1596
- 'fa fa-times' => 'fa fa-times',
1597
- 'fa fa-times-circle' => 'fa fa-times-circle',
1598
- 'fa fa-times-circle-o' => 'fa fa-times-circle-o',
1599
- 'fa fa-times-rectangle' => 'fa fa-times-rectangle',
1600
- 'fa fa-times-rectangle-o' => 'fa fa-times-rectangle-o',
1601
- 'fa fa-tint' => 'fa fa-tint',
1602
- 'fa fa-toggle-down' => 'fa fa-toggle-down',
1603
- 'fa fa-toggle-left' => 'fa fa-toggle-left',
1604
- 'fa fa-toggle-off' => 'fa fa-toggle-off',
1605
- 'fa fa-toggle-on' => 'fa fa-toggle-on',
1606
- 'fa fa-toggle-right' => 'fa fa-toggle-right',
1607
- 'fa fa-toggle-up' => 'fa fa-toggle-up',
1608
- 'fa fa-trademark' => 'fa fa-trademark',
1609
- 'fa fa-train' => 'fa fa-train',
1610
- 'fa fa-transgender' => 'fa fa-transgender',
1611
- 'fa fa-transgender-alt' => 'fa fa-transgender-alt',
1612
- 'fa fa-trash' => 'fa fa-trash',
1613
- 'fa fa-trash-o' => 'fa fa-trash-o',
1614
- 'fa fa-tree' => 'fa fa-tree',
1615
- 'fa fa-trello' => 'fa fa-trello',
1616
- 'fa fa-tripadvisor' => 'fa fa-tripadvisor',
1617
- 'fa fa-trophy' => 'fa fa-trophy',
1618
- 'fa fa-truck' => 'fa fa-truck',
1619
- 'fa fa-try' => 'fa fa-try',
1620
- 'fa fa-tty' => 'fa fa-tty',
1621
- 'fa fa-tumblr' => 'fa fa-tumblr',
1622
- 'fa fa-tumblr-square' => 'fa fa-tumblr-square',
1623
- 'fa fa-turkish-lira' => 'fa fa-turkish-lira',
1624
- 'fa fa-tv' => 'fa fa-tv',
1625
- 'fa fa-twitch' => 'fa fa-twitch',
1626
- 'fa fa-twitter' => 'fa fa-twitter',
1627
- 'fa fa-twitter-square' => 'fa fa-twitter-square',
1628
- 'fa fa-umbrella' => 'fa fa-umbrella',
1629
- 'fa fa-underline' => 'fa fa-underline',
1630
- 'fa fa-undo' => 'fa fa-undo',
1631
- 'fa fa-universal-access' => 'fa fa-universal-access',
1632
- 'fa fa-university' => 'fa fa-university',
1633
- 'fa fa-unlink' => 'fa fa-unlink',
1634
- 'fa fa-unlock' => 'fa fa-unlock',
1635
- 'fa fa-unlock-alt' => 'fa fa-unlock-alt',
1636
- 'fa fa-unsorted' => 'fa fa-unsorted',
1637
- 'fa fa-upload' => 'fa fa-upload',
1638
- 'fa fa-usb' => 'fa fa-usb',
1639
- 'fa fa-usd' => 'fa fa-usd',
1640
- 'fa fa-user' => 'fa fa-user',
1641
- 'fa fa-user-circle' => 'fa fa-user-circle',
1642
- 'fa fa-user-circle-o' => 'fa fa-user-circle-o',
1643
- 'fa fa-user-md' => 'fa fa-user-md',
1644
- 'fa fa-user-o' => 'fa fa-user-o',
1645
- 'fa fa-user-plus' => 'fa fa-user-plus',
1646
- 'fa fa-user-secret' => 'fa fa-user-secret',
1647
- 'fa fa-user-times' => 'fa fa-user-times',
1648
- 'fa fa-users' => 'fa fa-users',
1649
- 'fa fa-vcard' => 'fa fa-vcard',
1650
- 'fa fa-vcard-o' => 'fa fa-vcard-o',
1651
- 'fa fa-venus' => 'fa fa-venus',
1652
- 'fa fa-venus-double' => 'fa fa-venus-double',
1653
- 'fa fa-venus-mars' => 'fa fa-venus-mars',
1654
- 'fa fa-viacoin' => 'fa fa-viacoin',
1655
- 'fa fa-viadeo' => 'fa fa-viadeo',
1656
- 'fa fa-viadeo-square' => 'fa fa-viadeo-square',
1657
- 'fa fa-video-camera' => 'fa fa-video-camera',
1658
- 'fa fa-vimeo' => 'fa fa-vimeo',
1659
- 'fa fa-vimeo-square' => 'fa fa-vimeo-square',
1660
- 'fa fa-vine' => 'fa fa-vine',
1661
- 'fa fa-vk' => 'fa fa-vk',
1662
- 'fa fa-volume-control-phone' => 'fa fa-volume-control-phone',
1663
- 'fa fa-volume-down' => 'fa fa-volume-down',
1664
- 'fa fa-volume-off' => 'fa fa-volume-off',
1665
- 'fa fa-volume-up' => 'fa fa-volume-up',
1666
- 'fa fa-warning' => 'fa fa-warning',
1667
- 'fa fa-wechat' => 'fa fa-wechat',
1668
- 'fa fa-weibo' => 'fa fa-weibo',
1669
- 'fa fa-weixin' => 'fa fa-weixin',
1670
- 'fa fa-whatsapp' => 'fa fa-whatsapp',
1671
- 'fa fa-wheelchair' => 'fa fa-wheelchair',
1672
- 'fa fa-wheelchair-alt' => 'fa fa-wheelchair-alt',
1673
- 'fa fa-wifi' => 'fa fa-wifi',
1674
- 'fa fa-wikipedia-w' => 'fa fa-wikipedia-w',
1675
- 'fa fa-window-close' => 'fa fa-window-close',
1676
- 'fa fa-window-close-o' => 'fa fa-window-close-o',
1677
- 'fa fa-window-maximize' => 'fa fa-window-maximize',
1678
- 'fa fa-window-minimize' => 'fa fa-window-minimize',
1679
- 'fa fa-window-restore' => 'fa fa-window-restore',
1680
- 'fa fa-windows' => 'fa fa-windows',
1681
- 'fa fa-won' => 'fa fa-won',
1682
- 'fa fa-wordpress' => 'fa fa-wordpress',
1683
- 'fa fa-wpbeginner' => 'fa fa-wpbeginner',
1684
- 'fa fa-wpexplorer' => 'fa fa-wpexplorer',
1685
- 'fa fa-wpforms' => 'fa fa-wpforms',
1686
- 'fa fa-wrench' => 'fa fa-wrench',
1687
- 'fa fa-xing' => 'fa fa-xing',
1688
- 'fa fa-xing-square' => 'fa fa-xing-square',
1689
- 'fa fa-y-combinator' => 'fa fa-y-combinator',
1690
- 'fa fa-y-combinator-square' => 'fa fa-y-combinator-square',
1691
- 'fa fa-yahoo' => 'fa fa-yahoo',
1692
- 'fa fa-yc' => 'fa fa-yc',
1693
- 'fa fa-yc-square' => 'fa fa-yc-square',
1694
- 'fa fa-yelp' => 'fa fa-yelp',
1695
- 'fa fa-yen' => 'fa fa-yen',
1696
- 'fa fa-yoast' => 'fa fa-yoast',
1697
- 'fa fa-youtube' => 'fa fa-youtube',
1698
- 'fa fa-youtube-play' => 'fa fa-youtube-play',
1699
- 'fa fa-youtube-square' => 'fa fa-youtube-square',
1700
- ];
1
  <?php
2
  defined( 'ABSPATH' ) || exit;
3
 
4
+ return array(
5
+ 'icon icon-home' => 'icon icon-home',
6
+ 'icon icon-apartment1' => 'icon icon-apartment1',
7
+ 'icon icon-pencil' => 'icon icon-pencil',
8
+ 'icon icon-magic-wand' => 'icon icon-magic-wand',
9
+ 'icon icon-drop' => 'icon icon-drop',
10
+ 'icon icon-lighter' => 'icon icon-lighter',
11
+ 'icon icon-poop' => 'icon icon-poop',
12
+ 'icon icon-sun' => 'icon icon-sun',
13
+ 'icon icon-moon' => 'icon icon-moon',
14
+ 'icon icon-cloud1' => 'icon icon-cloud1',
15
+ 'icon icon-cloud-upload' => 'icon icon-cloud-upload',
16
+ 'icon icon-cloud-download' => 'icon icon-cloud-download',
17
+ 'icon icon-cloud-sync' => 'icon icon-cloud-sync',
18
+ 'icon icon-cloud-check' => 'icon icon-cloud-check',
19
+ 'icon icon-database1' => 'icon icon-database1',
20
+ 'icon icon-lock' => 'icon icon-lock',
21
+ 'icon icon-cog' => 'icon icon-cog',
22
+ 'icon icon-trash' => 'icon icon-trash',
23
+ 'icon icon-dice' => 'icon icon-dice',
24
+ 'icon icon-heart1' => 'icon icon-heart1',
25
+ 'icon icon-star1' => 'icon icon-star1',
26
+ 'icon icon-star-half' => 'icon icon-star-half',
27
+ 'icon icon-star-empty' => 'icon icon-star-empty',
28
+ 'icon icon-flag' => 'icon icon-flag',
29
+ 'icon icon-envelope1' => 'icon icon-envelope1',
30
+ 'icon icon-paperclip' => 'icon icon-paperclip',
31
+ 'icon icon-inbox' => 'icon icon-inbox',
32
+ 'icon icon-eye' => 'icon icon-eye',
33
+ 'icon icon-printer' => 'icon icon-printer',
34
+ 'icon icon-file-empty' => 'icon icon-file-empty',
35
+ 'icon icon-file-add' => 'icon icon-file-add',
36
+ 'icon icon-enter' => 'icon icon-enter',
37
+ 'icon icon-exit' => 'icon icon-exit',
38
+ 'icon icon-graduation-hat' => 'icon icon-graduation-hat',
39
+ 'icon icon-license' => 'icon icon-license',
40
+ 'icon icon-music-note' => 'icon icon-music-note',
41
+ 'icon icon-film-play' => 'icon icon-film-play',
42
+ 'icon icon-camera-video' => 'icon icon-camera-video',
43
+ 'icon icon-camera' => 'icon icon-camera',
44
+ 'icon icon-picture' => 'icon icon-picture',
45
+ 'icon icon-book' => 'icon icon-book',
46
+ 'icon icon-bookmark' => 'icon icon-bookmark',
47
+ 'icon icon-user' => 'icon icon-user',
48
+ 'icon icon-users' => 'icon icon-users',
49
+ 'icon icon-shirt' => 'icon icon-shirt',
50
+ 'icon icon-store' => 'icon icon-store',
51
+ 'icon icon-cart2' => 'icon icon-cart2',
52
+ 'icon icon-tag' => 'icon icon-tag',
53
+ 'icon icon-phone-handset' => 'icon icon-phone-handset',
54
+ 'icon icon-phone' => 'icon icon-phone',
55
+ 'icon icon-pushpin' => 'icon icon-pushpin',
56
+ 'icon icon-map-marker' => 'icon icon-map-marker',
57
+ 'icon icon-map' => 'icon icon-map',
58
+ 'icon icon-location' => 'icon icon-location',
59
+ 'icon icon-calendar-full' => 'icon icon-calendar-full',
60
+ 'icon icon-keyboard' => 'icon icon-keyboard',
61
+ 'icon icon-spell-check' => 'icon icon-spell-check',
62
+ 'icon icon-screen' => 'icon icon-screen',
63
+ 'icon icon-smartphone' => 'icon icon-smartphone',
64
+ 'icon icon-tablet' => 'icon icon-tablet',
65
+ 'icon icon-laptop' => 'icon icon-laptop',
66
+ 'icon icon-laptop-phone' => 'icon icon-laptop-phone',
67
+ 'icon icon-power-switch' => 'icon icon-power-switch',
68
+ 'icon icon-bubble' => 'icon icon-bubble',
69
+ 'icon icon-heart-pulse' => 'icon icon-heart-pulse',
70
+ 'icon icon-construction' => 'icon icon-construction',
71
+ 'icon icon-pie-chart' => 'icon icon-pie-chart',
72
+ 'icon icon-chart-bars' => 'icon icon-chart-bars',
73
+ 'icon icon-gift1' => 'icon icon-gift1',
74
+ 'icon icon-diamond1' => 'icon icon-diamond1',
75
+ 'icon icon-dinner' => 'icon icon-dinner',
76
+ 'icon icon-coffee-cup' => 'icon icon-coffee-cup',
77
+ 'icon icon-leaf' => 'icon icon-leaf',
78
+ 'icon icon-paw' => 'icon icon-paw',
79
+ 'icon icon-rocket' => 'icon icon-rocket',
80
+ 'icon icon-briefcase' => 'icon icon-briefcase',
81
+ 'icon icon-bus' => 'icon icon-bus',
82
+ 'icon icon-car1' => 'icon icon-car1',
83
+ 'icon icon-train' => 'icon icon-train',
84
+ 'icon icon-bicycle' => 'icon icon-bicycle',
85
+ 'icon icon-wheelchair' => 'icon icon-wheelchair',
86
+ 'icon icon-select' => 'icon icon-select',
87
+ 'icon icon-earth' => 'icon icon-earth',
88
+ 'icon icon-smile' => 'icon icon-smile',
89
+ 'icon icon-sad' => 'icon icon-sad',
90
+ 'icon icon-neutral' => 'icon icon-neutral',
91
+ 'icon icon-mustache' => 'icon icon-mustache',
92
+ 'icon icon-alarm' => 'icon icon-alarm',
93
+ 'icon icon-bullhorn' => 'icon icon-bullhorn',
94
+ 'icon icon-volume-high' => 'icon icon-volume-high',
95
+ 'icon icon-volume-medium' => 'icon icon-volume-medium',
96
+ 'icon icon-volume-low' => 'icon icon-volume-low',
97
+ 'icon icon-volume' => 'icon icon-volume',
98
+ 'icon icon-mic' => 'icon icon-mic',
99
+ 'icon icon-hourglass' => 'icon icon-hourglass',
100
+ 'icon icon-undo' => 'icon icon-undo',
101
+ 'icon icon-redo' => 'icon icon-redo',
102
+ 'icon icon-sync' => 'icon icon-sync',
103
+ 'icon icon-history' => 'icon icon-history',
104
+ 'icon icon-clock1' => 'icon icon-clock1',
105
+ 'icon icon-download' => 'icon icon-download',
106
+ 'icon icon-upload' => 'icon icon-upload',
107
+ 'icon icon-enter-down' => 'icon icon-enter-down',
108
+ 'icon icon-exit-up' => 'icon icon-exit-up',
109
+ 'icon icon-bug' => 'icon icon-bug',
110
+ 'icon icon-code' => 'icon icon-code',
111
+ 'icon icon-link' => 'icon icon-link',
112
+ 'icon icon-unlink' => 'icon icon-unlink',
113
+ 'icon icon-thumbs-up' => 'icon icon-thumbs-up',
114
+ 'icon icon-thumbs-down' => 'icon icon-thumbs-down',
115
+ 'icon icon-magnifier' => 'icon icon-magnifier',
116
+ 'icon icon-cross' => 'icon icon-cross',
117
+ 'icon icon-chevron-up' => 'icon icon-chevron-up',
118
+ 'icon icon-chevron-down' => 'icon icon-chevron-down',
119
+ 'icon icon-chevron-left' => 'icon icon-chevron-left',
120
+ 'icon icon-chevron-right' => 'icon icon-chevron-right',
121
+ 'icon icon-arrow-up' => 'icon icon-arrow-up',
122
+ 'icon icon-arrow-down' => 'icon icon-arrow-down',
123
+ 'icon icon-arrow-left' => 'icon icon-arrow-left',
124
+ 'icon icon-arrow-right' => 'icon icon-arrow-right',
125
+ 'icon icon-right-arrow' => 'icon icon-right-arrow',
126
+ 'icon icon-left-arrow' => 'icon icon-left-arrow',
127
+ 'icon icon-download-arrow' => 'icon icon-download-arrow',
128
+ 'icon icon-up-arrow' => 'icon icon-up-arrow',
129
+ 'icon icon-arrows' => 'icon icon-arrows',
130
+ 'icon icon-double-angle-pointing-to-right' => 'icon icon-double-angle-pointing-to-right',
131
+ 'icon icon-double-left-chevron' => 'icon icon-double-left-chevron',
132
+ 'icon icon-left-arrow2' => 'icon icon-left-arrow2',
133
+ 'icon icon-right-arrow2' => 'icon icon-right-arrow2',
134
+ 'icon icon-warning' => 'icon icon-warning',
135
+ 'icon icon-down-arrow1' => 'icon icon-down-arrow1',
136
+ 'icon icon-up-arrow1' => 'icon icon-up-arrow1',
137
+ 'icon icon-right-arrow1' => 'icon icon-right-arrow1',
138
+ 'icon icon-left-arrows' => 'icon icon-left-arrows',
139
+ 'icon icon-question-circle' => 'icon icon-question-circle',
140
+ 'icon icon-menu-circle' => 'icon icon-menu-circle',
141
+ 'icon icon-checkmark-circle' => 'icon icon-checkmark-circle',
142
+ 'icon icon-cross-circle' => 'icon icon-cross-circle',
143
+ 'icon icon-plus-circle' => 'icon icon-plus-circle',
144
+ 'icon icon-move' => 'icon icon-move',
145
+ 'icon icon-circle-minus' => 'icon icon-circle-minus',
146
+ 'icon icon-arrow-up-circle' => 'icon icon-arrow-up-circle',
147
+ 'icon icon-arrow-down-circle' => 'icon icon-arrow-down-circle',
148
+ 'icon icon-arrow-left-circle' => 'icon icon-arrow-left-circle',
149
+ 'icon icon-arrow-right-circle' => 'icon icon-arrow-right-circle',
150
+ 'icon icon-chevron-up-circle' => 'icon icon-chevron-up-circle',
151
+ 'icon icon-chevron-down-circle' => 'icon icon-chevron-down-circle',
152
+ 'icon icon-chevron-left-circle' => 'icon icon-chevron-left-circle',
153
+ 'icon icon-chevron-right-circle' => 'icon icon-chevron-right-circle',
154
+ 'icon icon-crop' => 'icon icon-crop',
155
+ 'icon icon-frame-expand' => 'icon icon-frame-expand',
156
+ 'icon icon-frame-contract' => 'icon icon-frame-contract',
157
+ 'icon icon-layers' => 'icon icon-layers',
158
+ 'icon icon-funnel' => 'icon icon-funnel',
159
+ 'icon icon-text-format' => 'icon icon-text-format',
160
+ 'icon icon-text-size' => 'icon icon-text-size',
161
+ 'icon icon-bold' => 'icon icon-bold',
162
+ 'icon icon-italic' => 'icon icon-italic',
163
+ 'icon icon-underline' => 'icon icon-underline',
164
+ 'icon icon-strikethrough' => 'icon icon-strikethrough',
165
+ 'icon icon-highlight' => 'icon icon-highlight',
166
+ 'icon icon-text-align-left' => 'icon icon-text-align-left',
167
+ 'icon icon-text-align-center' => 'icon icon-text-align-center',
168
+ 'icon icon-text-align-right' => 'icon icon-text-align-right',
169
+ 'icon icon-text-align-justify' => 'icon icon-text-align-justify',
170
+ 'icon icon-line-spacing' => 'icon icon-line-spacing',
171
+ 'icon icon-indent-increase' => 'icon icon-indent-increase',
172
+ 'icon icon-indent-decrease' => 'icon icon-indent-decrease',
173
+ 'icon icon-page-break' => 'icon icon-page-break',
174
+ 'icon icon-hand' => 'icon icon-hand',
175
+ 'icon icon-pointer-up' => 'icon icon-pointer-up',
176
+ 'icon icon-pointer-right' => 'icon icon-pointer-right',
177
+ 'icon icon-pointer-down' => 'icon icon-pointer-down',
178
+ 'icon icon-pointer-left' => 'icon icon-pointer-left',
179
+ 'icon icon-burger' => 'icon icon-burger',
180
+ 'icon icon-cakes' => 'icon icon-cakes',
181
+ 'icon icon-cheese' => 'icon icon-cheese',
182
+ 'icon icon-drink-glass' => 'icon icon-drink-glass',
183
+ 'icon icon-pizza' => 'icon icon-pizza',
184
+ 'icon icon-vplay' => 'icon icon-vplay',
185
+ 'icon icon-newsletter' => 'icon icon-newsletter',
186
+ 'icon icon-coins-2' => 'icon icon-coins-2',
187
+ 'icon icon-commerce-2' => 'icon icon-commerce-2',
188
+ 'icon icon-monitor' => 'icon icon-monitor',
189
+ 'icon icon-business' => 'icon icon-business',
190
+ 'icon icon-graphic-2' => 'icon icon-graphic-2',
191
+ 'icon icon-commerce-1' => 'icon icon-commerce-1',
192
+ 'icon icon-hammer' => 'icon icon-hammer',
193
+ 'icon icon-justice-1' => 'icon icon-justice-1',
194
+ 'icon icon-line' => 'icon icon-line',
195
+ 'icon icon-money-3' => 'icon icon-money-3',
196
+ 'icon icon-commerce' => 'icon icon-commerce',
197
+ 'icon icon-agenda' => 'icon icon-agenda',
198
+ 'icon icon-justice' => 'icon icon-justice',
199
+ 'icon icon-technology' => 'icon icon-technology',
200
+ 'icon icon-coins-1' => 'icon icon-coins-1',
201
+ 'icon icon-bank' => 'icon icon-bank',
202
+ 'icon icon-calculator' => 'icon icon-calculator',
203
+ 'icon icon-soundcloud' => 'icon icon-soundcloud',
204
+ 'icon icon-chart2' => 'icon icon-chart2',
205
+ 'icon icon-checked' => 'icon icon-checked',
206
+ 'icon icon-clock11' => 'icon icon-clock11',
207
+ 'icon icon-comment2' => 'icon icon-comment2',
208
+ 'icon icon-comments' => 'icon icon-comments',
209
+ 'icon icon-consult' => 'icon icon-consult',
210
+ 'icon icon-consut2' => 'icon icon-consut2',
211
+ 'icon icon-deal' => 'icon icon-deal',
212
+ 'icon icon-envelope11' => 'icon icon-envelope11',
213
+ 'icon icon-folder' => 'icon icon-folder',
214
+ 'icon icon-folder2' => 'icon icon-folder2',
215
+ 'icon icon-invest' => 'icon icon-invest',
216
+ 'icon icon-loan' => 'icon icon-loan',
217
+ 'icon icon-menu1' => 'icon icon-menu1',
218
+ 'icon icon-list1' => 'icon icon-list1',
219
+ 'icon icon-map-marker1' => 'icon icon-map-marker1',
220
+ 'icon icon-mutual-fund' => 'icon icon-mutual-fund',
221
+ 'icon icon-google-plus' => 'icon icon-google-plus',
222
+ 'icon icon-phone1' => 'icon icon-phone1',
223
+ 'icon icon-pie-chart1' => 'icon icon-pie-chart1',
224
+ 'icon icon-play' => 'icon icon-play',
225
+ 'icon icon-savings' => 'icon icon-savings',
226
+ 'icon icon-search2' => 'icon icon-search2',
227
+ 'icon icon-tag1' => 'icon icon-tag1',
228
+ 'icon icon-tags' => 'icon icon-tags',
229
+ 'icon icon-instagram1' => 'icon icon-instagram1',
230
+ 'icon icon-quote' => 'icon icon-quote',
231
+ 'icon icon-arrow-point-to-down' => 'icon icon-arrow-point-to-down',
232
+ 'icon icon-play-button' => 'icon icon-play-button',
233
+ 'icon icon-minus' => 'icon icon-minus',
234
+ 'icon icon-plus' => 'icon icon-plus',
235
+ 'icon icon-tick' => 'icon icon-tick',
236
+ 'icon icon-check' => 'icon icon-check',
237
+ 'icon icon-edit' => 'icon icon-edit',
238
+ 'icon icon-reply' => 'icon icon-reply',
239
+ 'icon icon-cogwheel-outline' => 'icon icon-cogwheel-outline',
240
+ 'icon icon-abacus' => 'icon icon-abacus',
241
+ 'icon icon-abacus1' => 'icon icon-abacus1',
242
+ 'icon icon-agenda1' => 'icon icon-agenda1',
243
+ 'icon icon-shopping-basket' => 'icon icon-shopping-basket',
244
+ 'icon icon-users1' => 'icon icon-users1',
245
+ 'icon icon-man' => 'icon icon-man',
246
+ 'icon icon-support1' => 'icon icon-support1',
247
+ 'icon icon-favorites' => 'icon icon-favorites',
248
+ 'icon icon-calendar' => 'icon icon-calendar',
249
+ 'icon icon-paper-plane' => 'icon icon-paper-plane',
250
+ 'icon icon-placeholder' => 'icon icon-placeholder',
251
+ 'icon icon-phone-call' => 'icon icon-phone-call',
252
+ 'icon icon-contact' => 'icon icon-contact',
253
+ 'icon icon-email' => 'icon icon-email',
254
+ 'icon icon-internet' => 'icon icon-internet',
255
+ 'icon icon-quote1' => 'icon icon-quote1',
256
+ 'icon icon-medical' => 'icon icon-medical',
257
+ 'icon icon-eye1' => 'icon icon-eye1',
258
+ 'icon icon-full-screen' => 'icon icon-full-screen',
259
+ 'icon icon-tools' => 'icon icon-tools',
260
+ 'icon icon-pie-chart2' => 'icon icon-pie-chart2',
261
+ 'icon icon-diamond11' => 'icon icon-diamond11',
262
+ 'icon icon-valentines-heart' => 'icon icon-valentines-heart',
263
+ 'icon icon-like' => 'icon icon-like',
264
+ 'icon icon-team' => 'icon icon-team',
265
+ 'icon icon-tshirt' => 'icon icon-tshirt',
266
+ 'icon icon-cancel' => 'icon icon-cancel',
267
+ 'icon icon-drink' => 'icon icon-drink',
268
+ 'icon icon-home1' => 'icon icon-home1',
269
+ 'icon icon-music' => 'icon icon-music',
270
+ 'icon icon-rich' => 'icon icon-rich',
271
+ 'icon icon-brush' => 'icon icon-brush',
272
+ 'icon icon-opposite-way' => 'icon icon-opposite-way',
273
+ 'icon icon-cloud-computing1' => 'icon icon-cloud-computing1',
274
+ 'icon icon-technology-1' => 'icon icon-technology-1',
275
+ 'icon icon-rotate' => 'icon icon-rotate',
276
+ 'icon icon-medical1' => 'icon icon-medical1',
277
+ 'icon icon-flash-1' => 'icon icon-flash-1',
278
+ 'icon icon-flash' => 'icon icon-flash',
279
+ 'icon icon-uturn' => 'icon icon-uturn',
280
+ 'icon icon-down-arrow' => 'icon icon-down-arrow',
281
+ 'icon icon-hours-support' => 'icon icon-hours-support',
282
+ 'icon icon-bag' => 'icon icon-bag',
283
+ 'icon icon-photo-camera' => 'icon icon-photo-camera',
284
+ 'icon icon-school' => 'icon icon-school',
285
+ 'icon icon-settings' => 'icon icon-settings',
286
+ 'icon icon-smartphone1' => 'icon icon-smartphone1',
287
+ 'icon icon-technology-11' => 'icon icon-technology-11',
288
+ 'icon icon-tool' => 'icon icon-tool',
289
+ 'icon icon-business1' => 'icon icon-business1',
290
+ 'icon icon-shuffle-arrow' => 'icon icon-shuffle-arrow',
291
+ 'icon icon-van-1' => 'icon icon-van-1',
292
+ 'icon icon-van' => 'icon icon-van',
293
+ 'icon icon-vegetables' => 'icon icon-vegetables',
294
+ 'icon icon-women' => 'icon icon-women',
295
+ 'icon icon-vintage' => 'icon icon-vintage',
296
+ 'icon icon-team-1' => 'icon icon-team-1',
297
+ 'icon icon-team1' => 'icon icon-team1',
298
+ 'icon icon-apple-1' => 'icon icon-apple-1',
299
+ 'icon icon-apple' => 'icon icon-apple',
300
+ 'icon icon-watch' => 'icon icon-watch',
301
+ 'icon icon-cogwheel' => 'icon icon-cogwheel',
302
+ 'icon icon-light-bulb' => 'icon icon-light-bulb',
303
+ 'icon icon-light-bulb-1' => 'icon icon-light-bulb-1',
304
+ 'icon icon-heart-shape-outline' => 'icon icon-heart-shape-outline',
305
+ 'icon icon-online-shopping-cart' => 'icon icon-online-shopping-cart',
306
+ 'icon icon-shopping-cart1' => 'icon icon-shopping-cart1',
307
+ 'icon icon-star2' => 'icon icon-star2',
308
+ 'icon icon-star-1' => 'icon icon-star-1',
309
+ 'icon icon-favorite1' => 'icon icon-favorite1',
310
+ 'icon icon-agenda2' => 'icon icon-agenda2',
311
+ 'icon icon-agenda-1' => 'icon icon-agenda-1',
312
+ 'icon icon-alarm-clock' => 'icon icon-alarm-clock',
313
+ 'icon icon-alarm-clock1' => 'icon icon-alarm-clock1',
314
+ 'icon icon-atomic' => 'icon icon-atomic',
315
+ 'icon icon-auction' => 'icon icon-auction',
316
+ 'icon icon-balance' => 'icon icon-balance',
317
+ 'icon icon-balance1' => 'icon icon-balance1',
318
+ 'icon icon-bank1' => 'icon icon-bank1',
319
+ 'icon icon-bar-chart' => 'icon icon-bar-chart',
320
+ 'icon icon-barrier' => 'icon icon-barrier',
321
+ 'icon icon-battery' => 'icon icon-battery',
322
+ 'icon icon-battery-1' => 'icon icon-battery-1',
323
+ 'icon icon-bell' => 'icon icon-bell',
324
+ 'icon icon-bluetooth' => 'icon icon-bluetooth',
325
+ 'icon icon-book1' => 'icon icon-book1',
326
+ 'icon icon-briefcase1' => 'icon icon-briefcase1',
327
+ 'icon icon-briefcase-1' => 'icon icon-briefcase-1',
328
+ 'icon icon-briefcase-2' => 'icon icon-briefcase-2',
329
+ 'icon icon-calculator1' => 'icon icon-calculator1',
330
+ 'icon icon-calculator2' => 'icon icon-calculator2',
331
+ 'icon icon-calculator-1' => 'icon icon-calculator-1',
332
+ 'icon icon-calendar1' => 'icon icon-calendar1',
333
+ 'icon icon-calendar2' => 'icon icon-calendar2',
334
+ 'icon icon-calendar-1' => 'icon icon-calendar-1',
335
+ 'icon icon-calendar-page-empty' => 'icon icon-calendar-page-empty',
336
+ 'icon icon-calendar3' => 'icon icon-calendar3',
337
+ 'icon icon-car11' => 'icon icon-car11',
338
+ 'icon icon-carrier' => 'icon icon-carrier',
339
+ 'icon icon-cash' => 'icon icon-cash',
340
+ 'icon icon-chat' => 'icon icon-chat',
341
+ 'icon icon-chat-1' => 'icon icon-chat-1',
342
+ 'icon icon-checked1' => 'icon icon-checked1',
343
+ 'icon icon-clip' => 'icon icon-clip',
344
+ 'icon icon-clip1' => 'icon icon-clip1',
345
+ 'icon icon-clipboard1' => 'icon icon-clipboard1',
346
+ 'icon icon-clipboard11' => 'icon icon-clipboard11',
347
+ 'icon icon-clock2' => 'icon icon-clock2',
348
+ 'icon icon-clock-1' => 'icon icon-clock-1',
349
+ 'icon icon-cloud11' => 'icon icon-cloud11',
350
+ 'icon icon-cloud-computing11' => 'icon icon-cloud-computing11',
351
+ 'icon icon-cloud-computing-1' => 'icon icon-cloud-computing-1',
352
+ 'icon icon-cogwheel1' => 'icon icon-cogwheel1',
353
+ 'icon icon-coins1' => 'icon icon-coins1',
354
+ 'icon icon-compass' => 'icon icon-compass',
355
+ 'icon icon-contract' => 'icon icon-contract',
356
+ 'icon icon-conversation' => 'icon icon-conversation',
357
+ 'icon icon-crane1' => 'icon icon-crane1',
358
+ 'icon icon-crane-2' => 'icon icon-crane-2',
359
+ 'icon icon-credit-card' => 'icon icon-credit-card',
360
+ 'icon icon-credit-card1' => 'icon icon-credit-card1',
361
+ 'icon icon-cursor' => 'icon icon-cursor',
362
+ 'icon icon-customer-service' => 'icon icon-customer-service',
363
+ 'icon icon-cutlery' => 'icon icon-cutlery',
364
+ 'icon icon-dart-board' => 'icon icon-dart-board',
365
+ 'icon icon-decision-making' => 'icon icon-decision-making',
366
+ 'icon icon-desk-chair' => 'icon icon-desk-chair',
367
+ 'icon icon-desk-lamp' => 'icon icon-desk-lamp',
368
+ 'icon icon-diamond2' => 'icon icon-diamond2',
369
+ 'icon icon-direction' => 'icon icon-direction',
370
+ 'icon icon-document' => 'icon icon-document',
371
+ 'icon icon-dollar-bill' => 'icon icon-dollar-bill',
372
+ 'icon icon-download1' => 'icon icon-download1',
373
+ 'icon icon-edit1' => 'icon icon-edit1',
374
+ 'icon icon-email1' => 'icon icon-email1',
375
+ 'icon icon-envelope2' => 'icon icon-envelope2',
376
+ 'icon icon-envelope3' => 'icon icon-envelope3',
377
+ 'icon icon-eraser' => 'icon icon-eraser',
378
+ 'icon icon-eye2' => 'icon icon-eye2',
379
+ 'icon icon-factory' => 'icon icon-factory',
380
+ 'icon icon-fast-forward' => 'icon icon-fast-forward',
381
+ 'icon icon-favorites1' => 'icon icon-favorites1',
382
+ 'icon icon-file' => 'icon icon-file',
383
+ 'icon icon-file-1' => 'icon icon-file-1',
384
+ 'icon icon-file-2' => 'icon icon-file-2',
385
+ 'icon icon-file-3' => 'icon icon-file-3',
386
+ 'icon icon-filter' => 'icon icon-filter',
387
+ 'icon icon-finance-book' => 'icon icon-finance-book',
388
+ 'icon icon-flag1' => 'icon icon-flag1',
389
+ 'icon icon-folder1' => 'icon icon-folder1',
390
+ 'icon icon-folder-1' => 'icon icon-folder-1',
391
+ 'icon icon-folders' => 'icon icon-folders',
392
+ 'icon icon-folders1' => 'icon icon-folders1',
393
+ 'icon icon-gamepad' => 'icon icon-gamepad',
394
+ 'icon icon-gift11' => 'icon icon-gift11',
395
+ 'icon icon-growth' => 'icon icon-growth',
396
+ 'icon icon-heart11' => 'icon icon-heart11',
397
+ 'icon icon-home2' => 'icon icon-home2',
398
+ 'icon icon-house' => 'icon icon-house',
399
+ 'icon icon-house-1' => 'icon icon-house-1',
400
+ 'icon icon-house-2' => 'icon icon-house-2',
401
+ 'icon icon-id-card' => 'icon icon-id-card',
402
+ 'icon icon-id-card1' => 'icon icon-id-card1',
403
+ 'icon icon-id-card-1' => 'icon icon-id-card-1',
404
+ 'icon icon-idea1' => 'icon icon-idea1',
405
+ 'icon icon-image' => 'icon icon-image',
406
+ 'icon icon-improvement' => 'icon icon-improvement',
407
+ 'icon icon-inbox1' => 'icon icon-inbox1',
408
+ 'icon icon-information' => 'icon icon-information',
409
+ 'icon icon-key' => 'icon icon-key',
410
+ 'icon icon-key1' => 'icon icon-key1',
411
+ 'icon icon-laptop1' => 'icon icon-laptop1',
412
+ 'icon icon-layers1' => 'icon icon-layers1',
413
+ 'icon icon-light-bulb1' => 'icon icon-light-bulb1',
414
+ 'icon icon-like1' => 'icon icon-like1',
415
+ 'icon icon-line-chart1' => 'icon icon-line-chart1',
416
+ 'icon icon-mail' => 'icon icon-mail',
417
+ 'icon icon-manager' => 'icon icon-manager',
418
+ 'icon icon-map1' => 'icon icon-map1',
419
+ 'icon icon-medal1' => 'icon icon-medal1',
420
+ 'icon icon-megaphone' => 'icon icon-megaphone',
421
+ 'icon icon-megaphone1' => 'icon icon-megaphone1',
422
+ 'icon icon-message' => 'icon icon-message',
423
+ 'icon icon-message-1' => 'icon icon-message-1',
424
+ 'icon icon-message-2' => 'icon icon-message-2',
425
+ 'icon icon-microphone' => 'icon icon-microphone',
426
+ 'icon icon-money1' => 'icon icon-money1',
427
+ 'icon icon-money-bag1' => 'icon icon-money-bag1',
428
+ 'icon icon-monitor1' => 'icon icon-monitor1',
429
+ 'icon icon-music1' => 'icon icon-music1',
430
+ 'icon icon-next' => 'icon icon-next',
431
+ 'icon icon-open-book1' => 'icon icon-open-book1',
432
+ 'icon icon-padlock' => 'icon icon-padlock',
433
+ 'icon icon-padlock-1' => 'icon icon-padlock-1',
434
+ 'icon icon-paint-brush' => 'icon icon-paint-brush',
435
+ 'icon icon-pause' => 'icon icon-pause',
436
+ 'icon icon-pen' => 'icon icon-pen',
437
+ 'icon icon-pencil1' => 'icon icon-pencil1',
438
+ 'icon icon-percentage' => 'icon icon-percentage',
439
+ 'icon icon-phone-call1' => 'icon icon-phone-call1',
440
+ 'icon icon-phone-call2' => 'icon icon-phone-call2',
441
+ 'icon icon-photo-camera1' => 'icon icon-photo-camera1',
442
+ 'icon icon-pie-chart3' => 'icon icon-pie-chart3',
443
+ 'icon icon-pipe' => 'icon icon-pipe',
444
+ 'icon icon-placeholder1' => 'icon icon-placeholder1',
445
+ 'icon icon-placeholder2' => 'icon icon-placeholder2',
446
+ 'icon icon-planet-earth' => 'icon icon-planet-earth',
447
+ 'icon icon-play-button1' => 'icon icon-play-button1',
448
+ 'icon icon-power-button' => 'icon icon-power-button',
449
+ 'icon icon-presentation' => 'icon icon-presentation',
450
+ 'icon icon-presentation1' => 'icon icon-presentation1',
451
+ 'icon icon-printer1' => 'icon icon-printer1',
452
+ 'icon icon-push-pin' => 'icon icon-push-pin',
453
+ 'icon icon-push-pin1' => 'icon icon-push-pin1',
454
+ 'icon icon-refresh' => 'icon icon-refresh',
455
+ 'icon icon-reload' => 'icon icon-reload',
456
+ 'icon icon-return' => 'icon icon-return',
457
+ 'icon icon-rocket-ship' => 'icon icon-rocket-ship',
458
+ 'icon icon-rss1' => 'icon icon-rss1',
459
+ 'icon icon-safebox' => 'icon icon-safebox',
460
+ 'icon icon-safebox1' => 'icon icon-safebox1',
461
+ 'icon icon-settings1' => 'icon icon-settings1',
462
+ 'icon icon-settings-2' => 'icon icon-settings-2',
463
+ 'icon icon-sewing-machine' => 'icon icon-sewing-machine',
464
+ 'icon icon-share2' => 'icon icon-share2',
465
+ 'icon icon-shield1' => 'icon icon-shield1',
466
+ 'icon icon-shield11' => 'icon icon-shield11',
467
+ 'icon icon-shopping' => 'icon icon-shopping',
468
+ 'icon icon-shopping-bag' => 'icon icon-shopping-bag',
469
+ 'icon icon-shopping-bag-1' => 'icon icon-shopping-bag-1',
470
+ 'icon icon-shopping-bag-2' => 'icon icon-shopping-bag-2',
471
+ 'icon icon-shopping-cart11' => 'icon icon-shopping-cart11',
472
+ 'icon icon-shopping-cart2' => 'icon icon-shopping-cart2',
473
+ 'icon icon-shopping-cart-1' => 'icon icon-shopping-cart-1',
474
+ 'icon icon-shopping-cart-2' => 'icon icon-shopping-cart-2',
475
+ 'icon icon-shopping-cart-3' => 'icon icon-shopping-cart-3',
476
+ 'icon icon-smartphone2' => 'icon icon-smartphone2',
477
+ 'icon icon-speaker' => 'icon icon-speaker',
478
+ 'icon icon-speakers' => 'icon icon-speakers',
479
+ 'icon icon-stats' => 'icon icon-stats',
480
+ 'icon icon-stats-1' => 'icon icon-stats-1',
481
+ 'icon icon-stats-2' => 'icon icon-stats-2',
482
+ 'icon icon-stats-3' => 'icon icon-stats-3',
483
+ 'icon icon-stats-4' => 'icon icon-stats-4',
484
+ 'icon icon-stats-5' => 'icon icon-stats-5',
485
+ 'icon icon-stats-6' => 'icon icon-stats-6',
486
+ 'icon icon-sticky-note' => 'icon icon-sticky-note',
487
+ 'icon icon-store1' => 'icon icon-store1',
488
+ 'icon icon-store-1' => 'icon icon-store-1',
489
+ 'icon icon-suitcase' => 'icon icon-suitcase',
490
+ 'icon icon-suitcase-1' => 'icon icon-suitcase-1',
491
+ 'icon icon-tag2' => 'icon icon-tag2',
492
+ 'icon icon-target' => 'icon icon-target',
493
+ 'icon icon-team2' => 'icon icon-team2',
494
+ 'icon icon-tie' => 'icon icon-tie',
495
+ 'icon icon-trash1' => 'icon icon-trash1',
496
+ 'icon icon-trolley' => 'icon icon-trolley',
497
+ 'icon icon-trolley-1' => 'icon icon-trolley-1',
498
+ 'icon icon-trolley-2' => 'icon icon-trolley-2',
499
+ 'icon icon-trophy1' => 'icon icon-trophy1',
500
+ 'icon icon-truck1' => 'icon icon-truck1',
501
+ 'icon icon-truck-1' => 'icon icon-truck-1',
502
+ 'icon icon-truck-2' => 'icon icon-truck-2',
503
+ 'icon icon-umbrella' => 'icon icon-umbrella',
504
+ 'icon icon-upload1' => 'icon icon-upload1',
505
+ 'icon icon-user1' => 'icon icon-user1',
506
+ 'icon icon-user-1' => 'icon icon-user-1',
507
+ 'icon icon-user-2' => 'icon icon-user-2',
508
+ 'icon icon-user-3' => 'icon icon-user-3',
509
+ 'icon icon-users2' => 'icon icon-users2',
510
+ 'icon icon-video-camera' => 'icon icon-video-camera',
511
+ 'icon icon-voucher' => 'icon icon-voucher',
512
+ 'icon icon-voucher-1' => 'icon icon-voucher-1',
513
+ 'icon icon-voucher-2' => 'icon icon-voucher-2',
514
+ 'icon icon-voucher-3' => 'icon icon-voucher-3',
515
+ 'icon icon-voucher-4' => 'icon icon-voucher-4',
516
+ 'icon icon-wallet' => 'icon icon-wallet',
517
+ 'icon icon-wallet1' => 'icon icon-wallet1',
518
+ 'icon icon-wifi' => 'icon icon-wifi',
519
+ 'icon icon-worker' => 'icon icon-worker',
520
+ 'icon icon-zoom-in' => 'icon icon-zoom-in',
521
+ 'icon icon-zoom-out' => 'icon icon-zoom-out',
522
+ 'icon icon-burger-menu' => 'icon icon-burger-menu',
523
+ 'icon icon-squares' => 'icon icon-squares',
524
+ 'icon icon-options' => 'icon icon-options',
525
+ 'icon icon-apps' => 'icon icon-apps',
526
+ 'icon icon-menu-11' => 'icon icon-menu-11',
527
+ 'icon icon-menu11' => 'icon icon-menu11',
528
+ 'icon icon-back_up' => 'icon icon-back_up',
529
+ 'icon icon-cart11' => 'icon icon-cart11',
530
+ 'icon icon-checkmark' => 'icon icon-checkmark',
531
+ 'icon icon-dollar' => 'icon icon-dollar',
532
+ 'icon icon-domian' => 'icon icon-domian',
533
+ 'icon icon-hosting1' => 'icon icon-hosting1',
534
+ 'icon icon-key2' => 'icon icon-key2',
535
+ 'icon icon-migration' => 'icon icon-migration',
536
+ 'icon icon-play1' => 'icon icon-play1',
537
+ 'icon icon-quote2' => 'icon icon-quote2',
538
+ 'icon icon-api_setup' => 'icon icon-api_setup',
539
+ 'icon icon-coin' => 'icon icon-coin',
540
+ 'icon icon-hand_shake' => 'icon icon-hand_shake',
541
+ 'icon icon-idea_generate' => 'icon icon-idea_generate',
542
+ 'icon icon-page_search' => 'icon icon-page_search',
543
+ 'icon icon-pen_shape' => 'icon icon-pen_shape',
544
+ 'icon icon-pencil_art' => 'icon icon-pencil_art',
545
+ 'icon icon-review' => 'icon icon-review',
546
+ 'icon icon-star' => 'icon icon-star',
547
+ 'icon icon-timing' => 'icon icon-timing',
548
+ 'icon icon-trophy' => 'icon icon-trophy',
549
+ 'icon icon-communication' => 'icon icon-communication',
550
+ 'icon icon-money-bag2' => 'icon icon-money-bag2',
551
+ 'icon icon-dentist' => 'icon icon-dentist',
552
+ 'icon icon-bill' => 'icon icon-bill',
553
+ 'icon icon-label' => 'icon icon-label',
554
+ 'icon icon-money' => 'icon icon-money',
555
+ 'icon icon-shield' => 'icon icon-shield',
556
+ 'icon icon-support' => 'icon icon-support',
557
+ 'icon icon-one' => 'icon icon-one',
558
+ 'icon icon-clock' => 'icon icon-clock',
559
+ 'icon icon-cart' => 'icon icon-cart',
560
+ 'icon icon-globe' => 'icon icon-globe',
561
+ 'icon icon-tooth' => 'icon icon-tooth',
562
+ 'icon icon-tooth-1' => 'icon icon-tooth-1',
563
+ 'icon icon-tooth-2' => 'icon icon-tooth-2',
564
+ 'icon icon-brain' => 'icon icon-brain',
565
+ 'icon icon-view' => 'icon icon-view',
566
+ 'icon icon-doctor' => 'icon icon-doctor',
567
+ 'icon icon-heart' => 'icon icon-heart',
568
+ 'icon icon-medicine' => 'icon icon-medicine',
569
+ 'icon icon-stethoscope' => 'icon icon-stethoscope',
570
+ 'icon icon-hospital' => 'icon icon-hospital',
571
+ 'icon icon-clipboard' => 'icon icon-clipboard',
572
+ 'icon icon-medicine-1' => 'icon icon-medicine-1',
573
+ 'icon icon-hospital-1' => 'icon icon-hospital-1',
574
+ 'icon icon-customer-support' => 'icon icon-customer-support',
575
+ 'icon icon-brickwall' => 'icon icon-brickwall',
576
+ 'icon icon-crane2' => 'icon icon-crane2',
577
+ 'icon icon-valve' => 'icon icon-valve',
578
+ 'icon icon-safety' => 'icon icon-safety',
579
+ 'icon icon-energy-saving' => 'icon icon-energy-saving',
580
+ 'icon icon-paint-roller' => 'icon icon-paint-roller',
581
+ 'icon icon-paint-brushes' => 'icon icon-paint-brushes',
582
+ 'icon icon-construction-tool-vehicle-with-crane-lifting-materials' => 'icon icon-construction-tool-vehicle-with-crane-lifting-materials',
583
+ 'icon icon-trowel' => 'icon icon-trowel',
584
+ 'icon icon-bucket' => 'icon icon-bucket',
585
+ 'icon icon-smart' => 'icon icon-smart',
586
+ 'icon icon-repair' => 'icon icon-repair',
587
+ 'icon icon-saw' => 'icon icon-saw',
588
+ 'icon icon-cutter' => 'icon icon-cutter',
589
+ 'icon icon-plier' => 'icon icon-plier',
590
+ 'icon icon-drill' => 'icon icon-drill',
591
+ 'icon icon-save-money' => 'icon icon-save-money',
592
+ 'icon icon-planting' => 'icon icon-planting',
593
+ 'icon icon-line-chart' => 'icon icon-line-chart',
594
+ 'icon icon-open-book' => 'icon icon-open-book',
595
+ 'icon icon-money-bag3' => 'icon icon-money-bag3',
596
+ 'icon icon-server' => 'icon icon-server',
597
+ 'icon icon-server-1' => 'icon icon-server-1',
598
+ 'icon icon-server-2' => 'icon icon-server-2',
599
+ 'icon icon-cloud-computing' => 'icon icon-cloud-computing',
600
+ 'icon icon-cloud' => 'icon icon-cloud',
601
+ 'icon icon-database' => 'icon icon-database',
602
+ 'icon icon-computer' => 'icon icon-computer',
603
+ 'icon icon-server-3' => 'icon icon-server-3',
604
+ 'icon icon-server-4' => 'icon icon-server-4',
605
+ 'icon icon-server-5' => 'icon icon-server-5',
606
+ 'icon icon-server-6' => 'icon icon-server-6',
607
+ 'icon icon-server-7' => 'icon icon-server-7',
608
+ 'icon icon-cloud-1' => 'icon icon-cloud-1',
609
+ 'icon icon-server-8' => 'icon icon-server-8',
610
+ 'icon icon-business-and-finance' => 'icon icon-business-and-finance',
611
+ 'icon icon-cloud-2' => 'icon icon-cloud-2',
612
+ 'icon icon-server-9' => 'icon icon-server-9',
613
+ 'icon icon-hosting' => 'icon icon-hosting',
614
+ 'icon icon-car' => 'icon icon-car',
615
+ 'icon icon-car-frontal-view' => 'icon icon-car-frontal-view',
616
+ 'icon icon-car-1' => 'icon icon-car-1',
617
+ 'icon icon-racing' => 'icon icon-racing',
618
+ 'icon icon-car-wheel' => 'icon icon-car-wheel',
619
+ 'icon icon-steering-wheel' => 'icon icon-steering-wheel',
620
+ 'icon icon-frontal-taxi-cab' => 'icon icon-frontal-taxi-cab',
621
+ 'icon icon-taxi' => 'icon icon-taxi',
622
+ 'icon icon-cosmetics' => 'icon icon-cosmetics',
623
+ 'icon icon-flower' => 'icon icon-flower',
624
+ 'icon icon-mirror' => 'icon icon-mirror',
625
+ 'icon icon-itunes' => 'icon icon-itunes',
626
+ 'icon icon-salon' => 'icon icon-salon',
627
+ 'icon icon-hair-dryer' => 'icon icon-hair-dryer',
628
+ 'icon icon-shampoo' => 'icon icon-shampoo',
629
+ 'icon icon-download-button' => 'icon icon-download-button',
630
+ 'icon icon-list' => 'icon icon-list',
631
+ 'icon icon-loupe' => 'icon icon-loupe',
632
+ 'icon icon-search' => 'icon icon-search',
633
+ 'icon icon-search-1' => 'icon icon-search-1',
634
+ 'icon icon-shopping-cart' => 'icon icon-shopping-cart',
635
+ 'icon icon-menu' => 'icon icon-menu',
636
+ 'icon icon-menu-1' => 'icon icon-menu-1',
637
+ 'icon icon-menu-button-of-three-horizontal-lines' => 'icon icon-menu-button-of-three-horizontal-lines',
638
+ 'icon icon-menu-2' => 'icon icon-menu-2',
639
+ 'icon icon-menu-3' => 'icon icon-menu-3',
640
+ 'icon icon-menu-5' => 'icon icon-menu-5',
641
+ 'icon icon-menu-button' => 'icon icon-menu-button',
642
+ 'icon icon-list-1' => 'icon icon-list-1',
643
+ 'icon icon-menu-6' => 'icon icon-menu-6',
644
+ 'icon icon-menu-7' => 'icon icon-menu-7',
645
+ 'icon icon-menu-8' => 'icon icon-menu-8',
646
+ 'icon icon-list-2' => 'icon icon-list-2',
647
+ 'icon icon-dot' => 'icon icon-dot',
648
+ 'icon icon-menu-9' => 'icon icon-menu-9',
649
+ 'icon icon-search11' => 'icon icon-search11',
650
+ 'icon icon-search-minus' => 'icon icon-search-minus',
651
+ 'icon icon-search-11' => 'icon icon-search-11',
652
+ 'icon icon-search-2' => 'icon icon-search-2',
653
+ 'icon icon-search-3' => 'icon icon-search-3',
654
+ 'icon icon-magnifying-glass-search' => 'icon icon-magnifying-glass-search',
655
+ 'icon icon-loupe1' => 'icon icon-loupe1',
656
+ 'icon icon-speed' => 'icon icon-speed',
657
+ 'icon icon-search21' => 'icon icon-search21',
658
+ 'icon icon-search-4' => 'icon icon-search-4',
659
+ 'icon icon-search-5' => 'icon icon-search-5',
660
+ 'icon icon-detective' => 'icon icon-detective',
661
+ 'icon icon-cart1' => 'icon icon-cart1',
662
+ 'icon icon-buying-on-smartphone' => 'icon icon-buying-on-smartphone',
663
+ 'icon icon-badge' => 'icon icon-badge',
664
+ 'icon icon-basket1' => 'icon icon-basket1',
665
+ 'icon icon-commerce-and-shopping' => 'icon icon-commerce-and-shopping',
666
+ 'icon icon-comment' => 'icon icon-comment',
667
+ 'icon icon-comment-1' => 'icon icon-comment-1',
668
+ 'icon icon-share' => 'icon icon-share',
669
+ 'icon icon-share-1' => 'icon icon-share-1',
670
+ 'icon icon-share-2' => 'icon icon-share-2',
671
+ 'icon icon-share-3' => 'icon icon-share-3',
672
+ 'icon icon-comment1' => 'icon icon-comment1',
673
+ 'icon icon-favorite' => 'icon icon-favorite',
674
+ 'icon icon-retweet' => 'icon icon-retweet',
675
+ 'icon icon-share1' => 'icon icon-share1',
676
+ 'icon icon-facebook' => 'icon icon-facebook',
677
+ 'icon icon-twitter' => 'icon icon-twitter',
678
+ 'icon icon-linkedin' => 'icon icon-linkedin',
679
+ 'icon icon-whatsapp-1' => 'icon icon-whatsapp-1',
680
+ 'icon icon-dribbble' => 'icon icon-dribbble',
681
+ 'icon icon-facebook-2' => 'icon icon-facebook-2',
682
+ 'icon icon-twitter1' => 'icon icon-twitter1',
683
+ 'icon icon-vk' => 'icon icon-vk',
684
+ 'icon icon-youtube-v' => 'icon icon-youtube-v',
685
+ 'icon icon-vimeo' => 'icon icon-vimeo',
686
+ 'icon icon-youtube' => 'icon icon-youtube',
687
+ 'icon icon-snapchat-1' => 'icon icon-snapchat-1',
688
+ 'icon icon-behance' => 'icon icon-behance',
689
+ 'icon icon-github' => 'icon icon-github',
690
+ 'icon icon-pinterest' => 'icon icon-pinterest',
691
+ 'icon icon-spotify' => 'icon icon-spotify',
692
+ 'icon icon-soundcloud-1' => 'icon icon-soundcloud-1',
693
+ 'icon icon-skype-1' => 'icon icon-skype-1',
694
+ 'icon icon-rss' => 'icon icon-rss',
695
+ 'icon icon-reddit-1' => 'icon icon-reddit-1',
696
+ 'icon icon-dribbble-1' => 'icon icon-dribbble-1',
697
+ 'icon icon-wordpress-1' => 'icon icon-wordpress-1',
698
+ 'icon icon-logo' => 'icon icon-logo',
699
+ 'icon icon-dropbox-1' => 'icon icon-dropbox-1',
700
+ 'icon icon-blogger-1' => 'icon icon-blogger-1',
701
+ 'icon icon-photo' => 'icon icon-photo',
702
+ 'icon icon-hangouts' => 'icon icon-hangouts',
703
+ 'icon icon-xing' => 'icon icon-xing',
704
+ 'icon icon-myspace' => 'icon icon-myspace',
705
+ 'icon icon-flickr-1' => 'icon icon-flickr-1',
706
+ 'icon icon-envato' => 'icon icon-envato',
707
+ 'icon icon-picasa-1' => 'icon icon-picasa-1',
708
+ 'icon icon-wattpad' => 'icon icon-wattpad',
709
+ 'icon icon-emoji' => 'icon icon-emoji',
710
+ 'icon icon-deviantart-1' => 'icon icon-deviantart-1',
711
+ 'icon icon-yahoo-1' => 'icon icon-yahoo-1',
712
+ 'icon icon-vine-1' => 'icon icon-vine-1',
713
+ 'icon icon-delicious' => 'icon icon-delicious',
714
+ 'icon icon-kickstarter-1' => 'icon icon-kickstarter-1',
715
+ 'icon icon-stumbleupon-1' => 'icon icon-stumbleupon-1',
716
+ 'icon icon-brands-and-logotypes' => 'icon icon-brands-and-logotypes',
717
+ 'icon icon-instagram-1' => 'icon icon-instagram-1',
718
+ 'icon icon-facebook-1' => 'icon icon-facebook-1',
719
+ 'icon icon-instagram-2' => 'icon icon-instagram-2',
720
+ 'icon icon-twitter-1' => 'icon icon-twitter-1',
721
+ 'icon icon-whatsapp-2' => 'icon icon-whatsapp-2',
722
+ 'icon icon-youtube-1' => 'icon icon-youtube-1',
723
+ 'icon icon-linkedin-1' => 'icon icon-linkedin-1',
724
+ 'icon icon-telegram' => 'icon icon-telegram',
725
+ 'icon icon-github-1' => 'icon icon-github-1',
726
+ 'icon icon-vk-1' => 'icon icon-vk-1',
727
+ 'icon icon-pinterest-1' => 'icon icon-pinterest-1',
728
+ 'icon icon-rss-1' => 'icon icon-rss-1',
729
+ 'icon icon-twitch' => 'icon icon-twitch',
730
+ 'icon icon-snapchat-2' => 'icon icon-snapchat-2',
731
+ 'icon icon-skype-2' => 'icon icon-skype-2',
732
+ 'icon icon-behance-2' => 'icon icon-behance-2',
733
+ 'icon icon-spotify-1' => 'icon icon-spotify-1',
734
+ 'icon icon-periscope' => 'icon icon-periscope',
735
+ 'icon icon-dribbble-2' => 'icon icon-dribbble-2',
736
+ 'icon icon-tumblr-1' => 'icon icon-tumblr-1',
737
+ 'icon icon-soundcloud-2' => 'icon icon-soundcloud-2',
738
+ 'icon icon-google-drive-1' => 'icon icon-google-drive-1',
739
+ 'icon icon-dropbox-2' => 'icon icon-dropbox-2',
740
+ 'icon icon-reddit-2' => 'icon icon-reddit-2',
741
+ 'icon icon-html' => 'icon icon-html',
742
+ 'icon icon-vimeo-1' => 'icon icon-vimeo-1',
743
+ 'icon icon-hangout' => 'icon icon-hangout',
744
+ 'icon icon-blogger-2' => 'icon icon-blogger-2',
745
+ 'icon icon-yahoo-2' => 'icon icon-yahoo-2',
746
+ 'icon icon-path' => 'icon icon-path',
747
+ 'icon icon-yelp-1' => 'icon icon-yelp-1',
748
+ 'icon icon-slideshare' => 'icon icon-slideshare',
749
+ 'icon icon-picasa-2' => 'icon icon-picasa-2',
750
+ 'icon icon-myspace-1' => 'icon icon-myspace-1',
751
+ 'icon icon-flickr-2' => 'icon icon-flickr-2',
752
+ 'icon icon-xing-1' => 'icon icon-xing-1',
753
+ 'icon icon-envato-1' => 'icon icon-envato-1',
754
+ 'icon icon-swarm' => 'icon icon-swarm',
755
+ 'icon icon-wattpad-1' => 'icon icon-wattpad-1',
756
+ 'icon icon-foursquare' => 'icon icon-foursquare',
757
+ 'icon icon-deviantart-2' => 'icon icon-deviantart-2',
758
+ 'icon icon-kickstarter-2' => 'icon icon-kickstarter-2',
759
+ 'icon icon-delicious-1' => 'icon icon-delicious-1',
760
+ 'icon icon-vine-2' => 'icon icon-vine-2',
761
+ 'icon icon-digg' => 'icon icon-digg',
762
+ 'icon icon-bebo' => 'icon icon-bebo',
763
+ 'icon icon-stumbleupon-2' => 'icon icon-stumbleupon-2',
764
+ 'icon icon-forrst' => 'icon icon-forrst',
765
+ 'icon icon-eye3' => 'icon icon-eye3',
766
+ 'icon icon-microscope' => 'icon icon-microscope',
767
+ 'icon icon-Anti-Lock' => 'icon icon-Anti-Lock',
768
+ 'icon icon-apartment' => 'icon icon-apartment',
769
+ 'icon icon-app' => 'icon icon-app',
770
+ 'icon icon-Aroma' => 'icon icon-Aroma',
771
+ 'icon icon-bamboo-Leaf' => 'icon icon-bamboo-Leaf',
772
+ 'icon icon-basket' => 'icon icon-basket',
773
+ 'icon icon-Battery' => 'icon icon-Battery',
774
+ 'icon icon-Bettery' => 'icon icon-Bettery',
775
+ 'icon icon-building' => 'icon icon-building',
776
+ 'icon icon-car-2' => 'icon icon-car-2',
777
+ 'icon icon-Car' => 'icon icon-Car',
778
+ 'icon icon-Child' => 'icon icon-Child',
779
+ 'icon icon-cityscape' => 'icon icon-cityscape',
780
+ 'icon icon-cleaner' => 'icon icon-cleaner',
781
+ 'icon icon-Coffee-cup' => 'icon icon-Coffee-cup',
782
+ 'icon icon-coins' => 'icon icon-coins',
783
+ 'icon icon-Computer' => 'icon icon-Computer',
784
+ 'icon icon-Consultancy' => 'icon icon-Consultancy',
785
+ 'icon icon-cottage' => 'icon icon-cottage',
786
+ 'icon icon-crane' => 'icon icon-crane',
787
+ 'icon icon-Custom-api' => 'icon icon-Custom-api',
788
+ 'icon icon-customer-support-2' => 'icon icon-customer-support-2',
789
+ 'icon icon-Design-2' => 'icon icon-Design-2',
790
+ 'icon icon-Design-3' => 'icon icon-Design-3',
791
+ 'icon icon-design' => 'icon icon-design',
792
+ 'icon icon-diamond' => 'icon icon-diamond',
793
+ 'icon icon-diploma' => 'icon icon-diploma',
794
+ 'icon icon-Document-Search' => 'icon icon-Document-Search',
795
+ 'icon icon-Download' => 'icon icon-Download',
796
+ 'icon icon-drilling' => 'icon icon-drilling',
797
+ 'icon icon-engine' => 'icon icon-engine',
798
+ 'icon icon-engineer' => 'icon icon-engineer',
799
+ 'icon icon-envelope' => 'icon icon-envelope',
800
+ 'icon icon-Family' => 'icon icon-Family',
801
+ 'icon icon-friendship' => 'icon icon-friendship',
802
+ 'icon icon-gift' => 'icon icon-gift',
803
+ 'icon icon-graph-2' => 'icon icon-graph-2',
804
+ 'icon icon-graph' => 'icon icon-graph',
805
+ 'icon icon-hamburger-2' => 'icon icon-hamburger-2',
806
+ 'icon icon-handshake' => 'icon icon-handshake',
807
+ 'icon icon-Helmet' => 'icon icon-Helmet',
808
+ 'icon icon-hot-Stone-2' => 'icon icon-hot-Stone-2',
809
+ 'icon icon-hot-stone' => 'icon icon-hot-stone',
810
+ 'icon icon-idea' => 'icon icon-idea',
811
+ 'icon icon-Leaf' => 'icon icon-Leaf',
812
+ 'icon icon-management' => 'icon icon-management',
813
+ 'icon icon-Massage-table' => 'icon icon-Massage-table',
814
+ 'icon icon-Mechanic' => 'icon icon-Mechanic',
815
+ 'icon icon-Money-2' => 'icon icon-Money-2',
816
+ 'icon icon-money-bag' => 'icon icon-money-bag',
817
+ 'icon icon-Money' => 'icon icon-Money',
818
+ 'icon icon-oil-bottle' => 'icon icon-oil-bottle',
819
+ 'icon icon-Physiotherapy' => 'icon icon-Physiotherapy',
820
+ 'icon icon-Profile' => 'icon icon-Profile',
821
+ 'icon icon-Rating' => 'icon icon-Rating',
822
+ 'icon icon-right-mark' => 'icon icon-right-mark',
823
+ 'icon icon-rings' => 'icon icon-rings',
824
+ 'icon icon-Safe-house' => 'icon icon-Safe-house',
825
+ 'icon icon-Scan' => 'icon icon-Scan',
826
+ 'icon icon-social-care' => 'icon icon-social-care',
827
+ 'icon icon-Speed-Clock' => 'icon icon-Speed-Clock',
828
+ 'icon icon-stopwatch' => 'icon icon-stopwatch',
829
+ 'icon icon-Support-2' => 'icon icon-Support-2',
830
+ 'icon icon-target-2' => 'icon icon-target-2',
831
+ 'icon icon-Target' => 'icon icon-Target',
832
+ 'icon icon-tripod' => 'icon icon-tripod',
833
+ 'icon icon-truck' => 'icon icon-truck',
834
+ 'icon icon-university' => 'icon icon-university',
835
+ 'icon icon-User' => 'icon icon-User',
836
+ 'icon icon-Web-Portals' => 'icon icon-Web-Portals',
837
+ 'icon icon-window' => 'icon icon-window',
838
+ 'icon icon-ek_line_icon' => 'icon icon-ek_line_icon',
839
+ 'icon icon-ek_stroke_icon' => 'icon icon-ek_stroke_icon',
840
+ 'icon icon-ekit' => 'icon icon-ekit',
841
+ 'icon icon-elements-kit-logo' => 'icon icon-elements-kit-logo',
842
+ 'icon icon-degree-image' => 'icon icon-degree-image',
843
+ 'icon icon-accordion' => 'icon icon-accordion',
844
+ 'icon icon-animated-flip-box' => 'icon icon-animated-flip-box',
845
+ 'icon icon-animated-text' => 'icon icon-animated-text',
846
+ 'icon icon-brands' => 'icon icon-brands',
847
+ 'icon icon-business-hour' => 'icon icon-business-hour',
848
+ 'icon icon-button' => 'icon icon-button',
849
+ 'icon icon-carousel' => 'icon icon-carousel',
850
+ 'icon icon-Circle-progress' => 'icon icon-Circle-progress',
851
+ 'icon icon-contact-form' => 'icon icon-contact-form',
852
+ 'icon icon-countdown-timer' => 'icon icon-countdown-timer',
853
+ 'icon icon-dropbar' => 'icon icon-dropbar',
854
+ 'icon icon-faq' => 'icon icon-faq',
855
+ 'icon icon-full-width-scroll' => 'icon icon-full-width-scroll',
856
+ 'icon icon-google-map' => 'icon icon-google-map',
857
+ 'icon icon-heading-style' => 'icon icon-heading-style',
858
+ 'icon icon-help-desk' => 'icon icon-help-desk',
859
+ 'icon icon-horizontal-timeline' => 'icon icon-horizontal-timeline',
860
+ 'icon icon-iframe' => 'icon icon-iframe',
861
+ 'icon icon-image-comparison' => 'icon icon-image-comparison',
862
+ 'icon icon-image-gallery' => 'icon icon-image-gallery',
863
+ 'icon icon-image-justify' => 'icon icon-image-justify',
864
+ 'icon icon-image-magnifier' => 'icon icon-image-magnifier',
865
+ 'icon icon-image-masonry' => 'icon icon-image-masonry',
866
+ 'icon icon-inline-svg' => 'icon icon-inline-svg',
867
+ 'icon icon-instagram' => 'icon icon-instagram',
868
+ 'icon icon-listing' => 'icon icon-listing',
869
+ 'icon icon-music-player' => 'icon icon-music-player',
870
+ 'icon icon-news-ticker' => 'icon icon-news-ticker',
871
+ 'icon icon-off-canvus-menu' => 'icon icon-off-canvus-menu',
872
+ 'icon icon-parallax' => 'icon icon-parallax',
873
+ 'icon icon-portfolio' => 'icon icon-portfolio',
874
+ 'icon icon-post-banner' => 'icon icon-post-banner',
875
+ 'icon icon-post-carousel' => 'icon icon-post-carousel',
876
+ 'icon icon-post-grid' => 'icon icon-post-grid',
877
+ 'icon icon-post-slider' => 'icon icon-post-slider',
878
+ 'icon icon-pricing-list' => 'icon icon-pricing-list',
879
+ 'icon icon-pricing-table' => 'icon icon-pricing-table',
880
+ 'icon icon-product-featured' => 'icon icon-product-featured',
881
+ 'icon icon-product-image' => 'icon icon-product-image',
882
+ 'icon icon-product-recent' => 'icon icon-product-recent',
883
+ 'icon icon-product-sale' => 'icon icon-product-sale',
884
+ 'icon icon-product-top-rated' => 'icon icon-product-top-rated',
885
+ 'icon icon-product-top-seller' => 'icon icon-product-top-seller',
886
+ 'icon icon-progress-bar' => 'icon icon-progress-bar',
887
+ 'icon icon-protected-content-v2' => 'icon icon-protected-content-v2',
888
+ 'icon icon-protected-content-v3' => 'icon icon-protected-content-v3',
889
+ 'icon icon-protected-content' => 'icon icon-protected-content',
890
+ 'icon icon-qr_code' => 'icon icon-qr_code',
891
+ 'icon icon-scroll-button' => 'icon icon-scroll-button',
892
+ 'icon icon-search1' => 'icon icon-search1',
893
+ 'icon icon-service' => 'icon icon-service',
894
+ 'icon icon-slider-image' => 'icon icon-slider-image',
895
+ 'icon icon-social-share' => 'icon icon-social-share',
896
+ 'icon icon-subscribe' => 'icon icon-subscribe',
897
+ 'icon icon-tab' => 'icon icon-tab',
898
+ 'icon icon-table' => 'icon icon-table',
899
+ 'icon icon-team-join' => 'icon icon-team-join',
900
+ 'icon icon-team-member' => 'icon icon-team-member',
901
+ 'icon icon-testimonial-carousel' => 'icon icon-testimonial-carousel',
902
+ 'icon icon-testimonial-grid' => 'icon icon-testimonial-grid',
903
+ 'icon icon-testimonial-quote' => 'icon icon-testimonial-quote',
904
+ 'icon icon-testimonial-slider' => 'icon icon-testimonial-slider',
905
+ 'icon icon-toggle' => 'icon icon-toggle',
906
+ 'icon icon-user-login' => 'icon icon-user-login',
907
+ 'icon icon-user-registration' => 'icon icon-user-registration',
908
+ 'icon icon-vertical-timeline' => 'icon icon-vertical-timeline',
909
+ 'icon icon-video-player' => 'icon icon-video-player',
910
+ 'icon icon-weather' => 'icon icon-weather',
911
 
912
+ 'fa fa-500px' => 'fa fa-500px',
913
+ 'fa fa-address-book' => 'fa fa-address-book',
914
+ 'fa fa-address-book-o' => 'fa fa-address-book-o',
915
+ 'fa fa-address-card' => 'fa fa-address-card',
916
+ 'fa fa-address-card-o' => 'fa fa-address-card-o',
917
+ 'fa fa-adjust' => 'fa fa-adjust',
918
+ 'fa fa-adn' => 'fa fa-adn',
919
+ 'fa fa-align-center' => 'fa fa-align-center',
920
+ 'fa fa-align-justify' => 'fa fa-align-justify',
921
+ 'fa fa-align-left' => 'fa fa-align-left',
922
+ 'fa fa-align-right' => 'fa fa-align-right',
923
+ 'fa fa-amazon' => 'fa fa-amazon',
924
+ 'fa fa-ambulance' => 'fa fa-ambulance',
925
+ 'fa fa-american-sign-language-interpreting' => 'fa fa-american-sign-language-interpreting',
926
+ 'fa fa-anchor' => 'fa fa-anchor',
927
+ 'fa fa-android' => 'fa fa-android',
928
+ 'fa fa-angellist' => 'fa fa-angellist',
929
+ 'fa fa-angle-double-down' => 'fa fa-angle-double-down',
930
+ 'fa fa-angle-double-left' => 'fa fa-angle-double-left',
931
+ 'fa fa-angle-double-right' => 'fa fa-angle-double-right',
932
+ 'fa fa-angle-double-up' => 'fa fa-angle-double-up',
933
+ 'fa fa-angle-down' => 'fa fa-angle-down',
934
+ 'fa fa-angle-left' => 'fa fa-angle-left',
935
+ 'fa fa-angle-right' => 'fa fa-angle-right',
936
+ 'fa fa-angle-up' => 'fa fa-angle-up',
937
+ 'fa fa-apple' => 'fa fa-apple',
938
+ 'fa fa-archive' => 'fa fa-archive',
939
+ 'fa fa-area-chart' => 'fa fa-area-chart',
940
+ 'fa fa-arrow-circle-down' => 'fa fa-arrow-circle-down',
941
+ 'fa fa-arrow-circle-left' => 'fa fa-arrow-circle-left',
942
+ 'fa fa-arrow-circle-o-down' => 'fa fa-arrow-circle-o-down',
943
+ 'fa fa-arrow-circle-o-left' => 'fa fa-arrow-circle-o-left',
944
+ 'fa fa-arrow-circle-o-right' => 'fa fa-arrow-circle-o-right',
945
+ 'fa fa-arrow-circle-o-up' => 'fa fa-arrow-circle-o-up',
946
+ 'fa fa-arrow-circle-right' => 'fa fa-arrow-circle-right',
947
+ 'fa fa-arrow-circle-up' => 'fa fa-arrow-circle-up',
948
+ 'fa fa-arrow-down' => 'fa fa-arrow-down',
949
+ 'fa fa-arrow-left' => 'fa fa-arrow-left',
950
+ 'fa fa-arrow-right' => 'fa fa-arrow-right',
951
+ 'fa fa-arrow-up' => 'fa fa-arrow-up',
952
+ 'fa fa-arrows' => 'fa fa-arrows',
953
+ 'fa fa-arrows-alt' => 'fa fa-arrows-alt',
954
+ 'fa fa-arrows-h' => 'fa fa-arrows-h',
955
+ 'fa fa-arrows-v' => 'fa fa-arrows-v',
956
+ 'fa fa-asl-interpreting' => 'fa fa-asl-interpreting',
957
+ 'fa fa-assistive-listening-systems' => 'fa fa-assistive-listening-systems',
958
+ 'fa fa-asterisk' => 'fa fa-asterisk',
959
+ 'fa fa-at' => 'fa fa-at',
960
+ 'fa fa-audio-description' => 'fa fa-audio-description',
961
+ 'fa fa-automobile' => 'fa fa-automobile',
962
+ 'fa fa-backward' => 'fa fa-backward',
963
+ 'fa fa-balance-scale' => 'fa fa-balance-scale',
964
+ 'fa fa-ban' => 'fa fa-ban',
965
+ 'fa fa-bandcamp' => 'fa fa-bandcamp',
966
+ 'fa fa-bank' => 'fa fa-bank',
967
+ 'fa fa-bar-chart' => 'fa fa-bar-chart',
968
+ 'fa fa-bar-chart-o' => 'fa fa-bar-chart-o',
969
+ 'fa fa-barcode' => 'fa fa-barcode',
970
+ 'fa fa-bars' => 'fa fa-bars',
971
+ 'fa fa-bath' => 'fa fa-bath',
972
+ 'fa fa-bathtub' => 'fa fa-bathtub',
973
+ 'fa fa-battery' => 'fa fa-battery',
974
+ 'fa fa-battery-0' => 'fa fa-battery-0',
975
+ 'fa fa-battery-1' => 'fa fa-battery-1',
976
+ 'fa fa-battery-2' => 'fa fa-battery-2',
977
+ 'fa fa-battery-3' => 'fa fa-battery-3',
978
+ 'fa fa-battery-4' => 'fa fa-battery-4',
979
+ 'fa fa-battery-empty' => 'fa fa-battery-empty',
980
+ 'fa fa-battery-full' => 'fa fa-battery-full',
981
+ 'fa fa-battery-half' => 'fa fa-battery-half',
982
+ 'fa fa-battery-quarter' => 'fa fa-battery-quarter',
983
+ 'fa fa-battery-three-quarters' => 'fa fa-battery-three-quarters',
984
+ 'fa fa-bed' => 'fa fa-bed',
985
+ 'fa fa-beer' => 'fa fa-beer',
986
+ 'fa fa-behance' => 'fa fa-behance',
987
+ 'fa fa-behance-square' => 'fa fa-behance-square',
988
+ 'fa fa-bell' => 'fa fa-bell',
989
+ 'fa fa-bell-o' => 'fa fa-bell-o',
990
+ 'fa fa-bell-slash' => 'fa fa-bell-slash',
991
+ 'fa fa-bell-slash-o' => 'fa fa-bell-slash-o',
992
+ 'fa fa-bicycle' => 'fa fa-bicycle',
993
+ 'fa fa-binoculars' => 'fa fa-binoculars',
994
+ 'fa fa-birthday-cake' => 'fa fa-birthday-cake',
995
+ 'fa fa-bitbucket' => 'fa fa-bitbucket',
996
+ 'fa fa-bitbucket-square' => 'fa fa-bitbucket-square',
997
+ 'fa fa-bitcoin' => 'fa fa-bitcoin',
998
+ 'fa fa-black-tie' => 'fa fa-black-tie',
999
+ 'fa fa-blind' => 'fa fa-blind',
1000
+ 'fa fa-bluetooth' => 'fa fa-bluetooth',
1001
+ 'fa fa-bluetooth-b' => 'fa fa-bluetooth-b',
1002
+ 'fa fa-bold' => 'fa fa-bold',
1003
+ 'fa fa-bolt' => 'fa fa-bolt',
1004
+ 'fa fa-bomb' => 'fa fa-bomb',
1005
+ 'fa fa-book' => 'fa fa-book',
1006
+ 'fa fa-bookmark' => 'fa fa-bookmark',
1007
+ 'fa fa-bookmark-o' => 'fa fa-bookmark-o',
1008
+ 'fa fa-braille' => 'fa fa-braille',
1009
+ 'fa fa-briefcase' => 'fa fa-briefcase',
1010
+ 'fa fa-btc' => 'fa fa-btc',
1011
+ 'fa fa-bug' => 'fa fa-bug',
1012
+ 'fa fa-building' => 'fa fa-building',
1013
+ 'fa fa-building-o' => 'fa fa-building-o',
1014
+ 'fa fa-bullhorn' => 'fa fa-bullhorn',
1015
+ 'fa fa-bullseye' => 'fa fa-bullseye',
1016
+ 'fa fa-bus' => 'fa fa-bus',
1017
+ 'fa fa-buysellads' => 'fa fa-buysellads',
1018
+ 'fa fa-cab' => 'fa fa-cab',
1019
+ 'fa fa-calculator' => 'fa fa-calculator',
1020
+ 'fa fa-calendar' => 'fa fa-calendar',
1021
+ 'fa fa-calendar-check-o' => 'fa fa-calendar-check-o',
1022
+ 'fa fa-calendar-minus-o' => 'fa fa-calendar-minus-o',
1023
+ 'fa fa-calendar-o' => 'fa fa-calendar-o',
1024
+ 'fa fa-calendar-plus-o' => 'fa fa-calendar-plus-o',
1025
+ 'fa fa-calendar-times-o' => 'fa fa-calendar-times-o',
1026
+ 'fa fa-camera' => 'fa fa-camera',
1027
+ 'fa fa-camera-retro' => 'fa fa-camera-retro',
1028
+ 'fa fa-car' => 'fa fa-car',
1029
+ 'fa fa-caret-down' => 'fa fa-caret-down',
1030
+ 'fa fa-caret-left' => 'fa fa-caret-left',
1031
+ 'fa fa-caret-right' => 'fa fa-caret-right',
1032
+ 'fa fa-caret-square-o-down' => 'fa fa-caret-square-o-down',
1033
+ 'fa fa-caret-square-o-left' => 'fa fa-caret-square-o-left',
1034
+ 'fa fa-caret-square-o-right' => 'fa fa-caret-square-o-right',
1035
+ 'fa fa-caret-square-o-up' => 'fa fa-caret-square-o-up',
1036
+ 'fa fa-caret-up' => 'fa fa-caret-up',
1037
+ 'fa fa-cart-arrow-down' => 'fa fa-cart-arrow-down',
1038
+ 'fa fa-cart-plus' => 'fa fa-cart-plus',
1039
+ 'fa fa-cc' => 'fa fa-cc',
1040
+ 'fa fa-cc-amex' => 'fa fa-cc-amex',
1041
+ 'fa fa-cc-diners-club' => 'fa fa-cc-diners-club',
1042
+ 'fa fa-cc-discover' => 'fa fa-cc-discover',
1043
+ 'fa fa-cc-jcb' => 'fa fa-cc-jcb',
1044
+ 'fa fa-cc-mastercard' => 'fa fa-cc-mastercard',
1045
+ 'fa fa-cc-paypal' => 'fa fa-cc-paypal',
1046
+ 'fa fa-cc-stripe' => 'fa fa-cc-stripe',
1047
+ 'fa fa-cc-visa' => 'fa fa-cc-visa',
1048
+ 'fa fa-certificate' => 'fa fa-certificate',
1049
+ 'fa fa-chain' => 'fa fa-chain',
1050
+ 'fa fa-chain-broken' => 'fa fa-chain-broken',
1051
+ 'fa fa-check' => 'fa fa-check',
1052
+ 'fa fa-check-circle' => 'fa fa-check-circle',
1053
+ 'fa fa-check-circle-o' => 'fa fa-check-circle-o',
1054
+ 'fa fa-check-square' => 'fa fa-check-square',
1055
+ 'fa fa-check-square-o' => 'fa fa-check-square-o',
1056
+ 'fa fa-chevron-circle-down' => 'fa fa-chevron-circle-down',
1057
+ 'fa fa-chevron-circle-left' => 'fa fa-chevron-circle-left',
1058
+ 'fa fa-chevron-circle-right' => 'fa fa-chevron-circle-right',
1059
+ 'fa fa-chevron-circle-up' => 'fa fa-chevron-circle-up',
1060
+ 'fa fa-chevron-down' => 'fa fa-chevron-down',
1061
+ 'fa fa-chevron-left' => 'fa fa-chevron-left',
1062
+ 'fa fa-chevron-right' => 'fa fa-chevron-right',
1063
+ 'fa fa-chevron-up' => 'fa fa-chevron-up',
1064
+ 'fa fa-child' => 'fa fa-child',
1065
+ 'fa fa-chrome' => 'fa fa-chrome',
1066
+ 'fa fa-circle' => 'fa fa-circle',
1067
+ 'fa fa-circle-o' => 'fa fa-circle-o',
1068
+ 'fa fa-circle-o-notch' => 'fa fa-circle-o-notch',
1069
+ 'fa fa-circle-thin' => 'fa fa-circle-thin',
1070
+ 'fa fa-clipboard' => 'fa fa-clipboard',
1071
+ 'fa fa-clock-o' => 'fa fa-clock-o',
1072
+ 'fa fa-clone' => 'fa fa-clone',
1073
+ 'fa fa-close' => 'fa fa-close',
1074
+ 'fa fa-cloud' => 'fa fa-cloud',
1075
+ 'fa fa-cloud-download' => 'fa fa-cloud-download',
1076
+ 'fa fa-cloud-upload' => 'fa fa-cloud-upload',
1077
+ 'fa fa-cny' => 'fa fa-cny',
1078
+ 'fa fa-code' => 'fa fa-code',
1079
+ 'fa fa-code-fork' => 'fa fa-code-fork',
1080
+ 'fa fa-codepen' => 'fa fa-codepen',
1081
+ 'fa fa-codiepie' => 'fa fa-codiepie',
1082
+ 'fa fa-coffee' => 'fa fa-coffee',
1083
+ 'fa fa-cog' => 'fa fa-cog',
1084
+ 'fa fa-cogs' => 'fa fa-cogs',
1085
+ 'fa fa-columns' => 'fa fa-columns',
1086
+ 'fa fa-comment' => 'fa fa-comment',
1087
+ 'fa fa-comment-o' => 'fa fa-comment-o',
1088
+ 'fa fa-commenting' => 'fa fa-commenting',
1089
+ 'fa fa-commenting-o' => 'fa fa-commenting-o',
1090
+ 'fa fa-comments' => 'fa fa-comments',
1091
+ 'fa fa-comments-o' => 'fa fa-comments-o',
1092
+ 'fa fa-compass' => 'fa fa-compass',
1093
+ 'fa fa-compress' => 'fa fa-compress',
1094
+ 'fa fa-connectdevelop' => 'fa fa-connectdevelop',
1095
+ 'fa fa-contao' => 'fa fa-contao',
1096
+ 'fa fa-copy' => 'fa fa-copy',
1097
+ 'fa fa-copyright' => 'fa fa-copyright',
1098
+ 'fa fa-creative-commons' => 'fa fa-creative-commons',
1099
+ 'fa fa-credit-card' => 'fa fa-credit-card',
1100
+ 'fa fa-credit-card-alt' => 'fa fa-credit-card-alt',
1101
+ 'fa fa-crop' => 'fa fa-crop',
1102
+ 'fa fa-crosshairs' => 'fa fa-crosshairs',
1103
+ 'fa fa-css3' => 'fa fa-css3',
1104
+ 'fa fa-cube' => 'fa fa-cube',
1105
+ 'fa fa-cubes' => 'fa fa-cubes',
1106
+ 'fa fa-cut' => 'fa fa-cut',
1107
+ 'fa fa-cutlery' => 'fa fa-cutlery',
1108
+ 'fa fa-dashboard' => 'fa fa-dashboard',
1109
+ 'fa fa-dashcube' => 'fa fa-dashcube',
1110
+ 'fa fa-database' => 'fa fa-database',
1111
+ 'fa fa-deaf' => 'fa fa-deaf',
1112
+ 'fa fa-deafness' => 'fa fa-deafness',
1113
+ 'fa fa-dedent' => 'fa fa-dedent',
1114
+ 'fa fa-delicious' => 'fa fa-delicious',
1115
+ 'fa fa-desktop' => 'fa fa-desktop',
1116
+ 'fa fa-deviantart' => 'fa fa-deviantart',
1117
+ 'fa fa-diamond' => 'fa fa-diamond',
1118
+ 'fa fa-digg' => 'fa fa-digg',
1119
+ 'fa fa-dollar' => 'fa fa-dollar',
1120
+ 'fa fa-dot-circle-o' => 'fa fa-dot-circle-o',
1121
+ 'fa fa-download' => 'fa fa-download',
1122
+ 'fa fa-dribbble' => 'fa fa-dribbble',
1123
+ 'fa fa-drivers-license' => 'fa fa-drivers-license',
1124
+ 'fa fa-drivers-license-o' => 'fa fa-drivers-license-o',
1125
+ 'fa fa-dropbox' => 'fa fa-dropbox',
1126
+ 'fa fa-drupal' => 'fa fa-drupal',
1127
+ 'fa fa-edge' => 'fa fa-edge',
1128
+ 'fa fa-edit' => 'fa fa-edit',
1129
+ 'fa fa-eercast' => 'fa fa-eercast',
1130
+ 'fa fa-eject' => 'fa fa-eject',
1131
+ 'fa fa-ellipsis-h' => 'fa fa-ellipsis-h',
1132
+ 'fa fa-ellipsis-v' => 'fa fa-ellipsis-v',
1133
+ 'fa fa-empire' => 'fa fa-empire',
1134
+ 'fa fa-envelope' => 'fa fa-envelope',
1135
+ 'fa fa-envelope-o' => 'fa fa-envelope-o',
1136
+ 'fa fa-envelope-open' => 'fa fa-envelope-open',
1137
+ 'fa fa-envelope-open-o' => 'fa fa-envelope-open-o',
1138
+ 'fa fa-envelope-square' => 'fa fa-envelope-square',
1139
+ 'fa fa-envira' => 'fa fa-envira',
1140
+ 'fa fa-eraser' => 'fa fa-eraser',
1141
+ 'fa fa-etsy' => 'fa fa-etsy',
1142
+ 'fa fa-eur' => 'fa fa-eur',
1143
+ 'fa fa-euro' => 'fa fa-euro',
1144
+ 'fa fa-exchange' => 'fa fa-exchange',
1145
+ 'fa fa-exclamation' => 'fa fa-exclamation',
1146
+ 'fa fa-exclamation-circle' => 'fa fa-exclamation-circle',
1147
+ 'fa fa-exclamation-triangle' => 'fa fa-exclamation-triangle',
1148
+ 'fa fa-expand' => 'fa fa-expand',
1149
+ 'fa fa-expeditedssl' => 'fa fa-expeditedssl',
1150
+ 'fa fa-external-link' => 'fa fa-external-link',
1151
+ 'fa fa-external-link-square' => 'fa fa-external-link-square',
1152
+ 'fa fa-eye' => 'fa fa-eye',
1153
+ 'fa fa-eye-slash' => 'fa fa-eye-slash',
1154
+ 'fa fa-eyedropper' => 'fa fa-eyedropper',
1155
+ 'fa fa-fa' => 'fa fa-fa',
1156
+ 'fa fa-facebook' => 'fa fa-facebook',
1157
+ 'fa fa-facebook-f' => 'fa fa-facebook-f',
1158
+ 'fa fa-facebook-official' => 'fa fa-facebook-official',
1159
+ 'fa fa-facebook-square' => 'fa fa-facebook-square',
1160
+ 'fa fa-fast-backward' => 'fa fa-fast-backward',
1161
+ 'fa fa-fast-forward' => 'fa fa-fast-forward',
1162
+ 'fa fa-fax' => 'fa fa-fax',
1163
+ 'fa fa-feed' => 'fa fa-feed',
1164
+ 'fa fa-female' => 'fa fa-female',
1165
+ 'fa fa-fighter-jet' => 'fa fa-fighter-jet',
1166
+ 'fa fa-file' => 'fa fa-file',
1167
+ 'fa fa-file-archive-o' => 'fa fa-file-archive-o',
1168
+ 'fa fa-file-audio-o' => 'fa fa-file-audio-o',
1169
+ 'fa fa-file-code-o' => 'fa fa-file-code-o',
1170
+ 'fa fa-file-excel-o' => 'fa fa-file-excel-o',
1171
+ 'fa fa-file-image-o' => 'fa fa-file-image-o',
1172
+ 'fa fa-file-movie-o' => 'fa fa-file-movie-o',
1173
+ 'fa fa-file-o' => 'fa fa-file-o',
1174
+ 'fa fa-file-pdf-o' => 'fa fa-file-pdf-o',
1175
+ 'fa fa-file-photo-o' => 'fa fa-file-photo-o',
1176
+ 'fa fa-file-picture-o' => 'fa fa-file-picture-o',
1177
+ 'fa fa-file-powerpoint-o' => 'fa fa-file-powerpoint-o',
1178
+ 'fa fa-file-sound-o' => 'fa fa-file-sound-o',
1179
+ 'fa fa-file-text' => 'fa fa-file-text',
1180
+ 'fa fa-file-text-o' => 'fa fa-file-text-o',
1181
+ 'fa fa-file-video-o' => 'fa fa-file-video-o',
1182
+ 'fa fa-file-word-o' => 'fa fa-file-word-o',
1183
+ 'fa fa-file-zip-o' => 'fa fa-file-zip-o',
1184
+ 'fa fa-files-o' => 'fa fa-files-o',
1185
+ 'fa fa-film' => 'fa fa-film',
1186
+ 'fa fa-filter' => 'fa fa-filter',
1187
+ 'fa fa-fire' => 'fa fa-fire',
1188
+ 'fa fa-fire-extinguisher' => 'fa fa-fire-extinguisher',
1189
+ 'fa fa-firefox' => 'fa fa-firefox',
1190
+ 'fa fa-first-order' => 'fa fa-first-order',
1191
+ 'fa fa-flag' => 'fa fa-flag',
1192
+ 'fa fa-flag-checkered' => 'fa fa-flag-checkered',
1193
+ 'fa fa-flag-o' => 'fa fa-flag-o',
1194
+ 'fa fa-flash' => 'fa fa-flash',
1195
+ 'fa fa-flask' => 'fa fa-flask',
1196
+ 'fa fa-flickr' => 'fa fa-flickr',
1197
+ 'fa fa-floppy-o' => 'fa fa-floppy-o',
1198
+ 'fa fa-folder' => 'fa fa-folder',
1199
+ 'fa fa-folder-o' => 'fa fa-folder-o',
1200
+ 'fa fa-folder-open' => 'fa fa-folder-open',
1201
+ 'fa fa-folder-open-o' => 'fa fa-folder-open-o',
1202
+ 'fa fa-font' => 'fa fa-font',
1203
+ 'fa fa-font-awesome' => 'fa fa-font-awesome',
1204
+ 'fa fa-fonticons' => 'fa fa-fonticons',
1205
+ 'fa fa-fort-awesome' => 'fa fa-fort-awesome',
1206
+ 'fa fa-forumbee' => 'fa fa-forumbee',
1207
+ 'fa fa-forward' => 'fa fa-forward',
1208
+ 'fa fa-foursquare' => 'fa fa-foursquare',
1209
+ 'fa fa-free-code-camp' => 'fa fa-free-code-camp',
1210
+ 'fa fa-frown-o' => 'fa fa-frown-o',
1211
+ 'fa fa-futbol-o' => 'fa fa-futbol-o',
1212
+ 'fa fa-gamepad' => 'fa fa-gamepad',
1213
+ 'fa fa-gavel' => 'fa fa-gavel',
1214
+ 'fa fa-gbp' => 'fa fa-gbp',
1215
+ 'fa fa-ge' => 'fa fa-ge',
1216
+ 'fa fa-gear' => 'fa fa-gear',
1217
+ 'fa fa-gears' => 'fa fa-gears',
1218
+ 'fa fa-genderless' => 'fa fa-genderless',
1219
+ 'fa fa-get-pocket' => 'fa fa-get-pocket',
1220
+ 'fa fa-gg' => 'fa fa-gg',
1221
+ 'fa fa-gg-circle' => 'fa fa-gg-circle',
1222
+ 'fa fa-gift' => 'fa fa-gift',
1223
+ 'fa fa-git' => 'fa fa-git',
1224
+ 'fa fa-git-square' => 'fa fa-git-square',
1225
+ 'fa fa-github' => 'fa fa-github',
1226
+ 'fa fa-github-alt' => 'fa fa-github-alt',
1227
+ 'fa fa-github-square' => 'fa fa-github-square',
1228
+ 'fa fa-gitlab' => 'fa fa-gitlab',
1229
+ 'fa fa-gittip' => 'fa fa-gittip',
1230
+ 'fa fa-glass' => 'fa fa-glass',
1231
+ 'fa fa-glide' => 'fa fa-glide',
1232
+ 'fa fa-glide-g' => 'fa fa-glide-g',
1233
+ 'fa fa-globe' => 'fa fa-globe',
1234
+ 'fa fa-google' => 'fa fa-google',
1235
+ 'fa fa-google-plus' => 'fa fa-google-plus',
1236
+ 'fa fa-google-plus-circle' => 'fa fa-google-plus-circle',
1237
+ 'fa fa-google-plus-official' => 'fa fa-google-plus-official',
1238
+ 'fa fa-google-plus-square' => 'fa fa-google-plus-square',
1239
+ 'fa fa-google-wallet' => 'fa fa-google-wallet',
1240
+ 'fa fa-graduation-cap' => 'fa fa-graduation-cap',
1241
+ 'fa fa-gratipay' => 'fa fa-gratipay',
1242
+ 'fa fa-grav' => 'fa fa-grav',
1243
+ 'fa fa-group' => 'fa fa-group',
1244
+ 'fa fa-h-square' => 'fa fa-h-square',
1245
+ 'fa fa-hacker-news' => 'fa fa-hacker-news',
1246
+ 'fa fa-hand-grab-o' => 'fa fa-hand-grab-o',
1247
+ 'fa fa-hand-lizard-o' => 'fa fa-hand-lizard-o',
1248
+ 'fa fa-hand-o-down' => 'fa fa-hand-o-down',
1249
+ 'fa fa-hand-o-left' => 'fa fa-hand-o-left',
1250
+ 'fa fa-hand-o-right' => 'fa fa-hand-o-right',
1251
+ 'fa fa-hand-o-up' => 'fa fa-hand-o-up',
1252
+ 'fa fa-hand-paper-o' => 'fa fa-hand-paper-o',
1253
+ 'fa fa-hand-peace-o' => 'fa fa-hand-peace-o',
1254
+ 'fa fa-hand-pointer-o' => 'fa fa-hand-pointer-o',
1255
+ 'fa fa-hand-rock-o' => 'fa fa-hand-rock-o',
1256
+ 'fa fa-hand-scissors-o' => 'fa fa-hand-scissors-o',
1257
+ 'fa fa-hand-spock-o' => 'fa fa-hand-spock-o',
1258
+ 'fa fa-hand-stop-o' => 'fa fa-hand-stop-o',
1259
+ 'fa fa-handshake-o' => 'fa fa-handshake-o',
1260
+ 'fa fa-hard-of-hearing' => 'fa fa-hard-of-hearing',
1261
+ 'fa fa-hashtag' => 'fa fa-hashtag',
1262
+ 'fa fa-hdd-o' => 'fa fa-hdd-o',
1263
+ 'fa fa-header' => 'fa fa-header',
1264
+ 'fa fa-headphones' => 'fa fa-headphones',
1265
+ 'fa fa-heart' => 'fa fa-heart',
1266
+ 'fa fa-heart-o' => 'fa fa-heart-o',
1267
+ 'fa fa-heartbeat' => 'fa fa-heartbeat',
1268
+ 'fa fa-history' => 'fa fa-history',
1269
+ 'fa fa-home' => 'fa fa-home',
1270
+ 'fa fa-hospital-o' => 'fa fa-hospital-o',
1271
+ 'fa fa-hotel' => 'fa fa-hotel',
1272
+ 'fa fa-hourglass' => 'fa fa-hourglass',
1273
+ 'fa fa-hourglass-1' => 'fa fa-hourglass-1',
1274
+ 'fa fa-hourglass-2' => 'fa fa-hourglass-2',
1275
+ 'fa fa-hourglass-3' => 'fa fa-hourglass-3',
1276
+ 'fa fa-hourglass-end' => 'fa fa-hourglass-end',
1277
+ 'fa fa-hourglass-half' => 'fa fa-hourglass-half',
1278
+ 'fa fa-hourglass-o' => 'fa fa-hourglass-o',
1279
+ 'fa fa-hourglass-start' => 'fa fa-hourglass-start',
1280
+ 'fa fa-houzz' => 'fa fa-houzz',
1281
+ 'fa fa-html5' => 'fa fa-html5',
1282
+ 'fa fa-i-cursor' => 'fa fa-i-cursor',
1283
+ 'fa fa-id-badge' => 'fa fa-id-badge',
1284
+ 'fa fa-id-card' => 'fa fa-id-card',
1285
+ 'fa fa-id-card-o' => 'fa fa-id-card-o',
1286
+ 'fa fa-ils' => 'fa fa-ils',
1287
+ 'fa fa-image' => 'fa fa-image',
1288
+ 'fa fa-imdb' => 'fa fa-imdb',
1289
+ 'fa fa-inbox' => 'fa fa-inbox',
1290
+ 'fa fa-indent' => 'fa fa-indent',
1291
+ 'fa fa-industry' => 'fa fa-industry',
1292
+ 'fa fa-info' => 'fa fa-info',
1293
+ 'fa fa-info-circle' => 'fa fa-info-circle',
1294
+ 'fa fa-inr' => 'fa fa-inr',
1295
+ 'fa fa-instagram' => 'fa fa-instagram',
1296
+ 'fa fa-institution' => 'fa fa-institution',
1297
+ 'fa fa-internet-explorer' => 'fa fa-internet-explorer',
1298
+ 'fa fa-intersex' => 'fa fa-intersex',
1299
+ 'fa fa-ioxhost' => 'fa fa-ioxhost',
1300
+ 'fa fa-italic' => 'fa fa-italic',
1301
+ 'fa fa-joomla' => 'fa fa-joomla',
1302
+ 'fa fa-jpy' => 'fa fa-jpy',
1303
+ 'fa fa-jsfiddle' => 'fa fa-jsfiddle',
1304
+ 'fa fa-key' => 'fa fa-key',
1305
+ 'fa fa-keyboard-o' => 'fa fa-keyboard-o',
1306
+ 'fa fa-krw' => 'fa fa-krw',
1307
+ 'fa fa-language' => 'fa fa-language',
1308
+ 'fa fa-laptop' => 'fa fa-laptop',
1309
+ 'fa fa-lastfm' => 'fa fa-lastfm',
1310
+ 'fa fa-lastfm-square' => 'fa fa-lastfm-square',
1311
+ 'fa fa-leaf' => 'fa fa-leaf',
1312
+ 'fa fa-leanpub' => 'fa fa-leanpub',
1313
+ 'fa fa-legal' => 'fa fa-legal',
1314
+ 'fa fa-lemon-o' => 'fa fa-lemon-o',
1315
+ 'fa fa-level-down' => 'fa fa-level-down',
1316
+ 'fa fa-level-up' => 'fa fa-level-up',
1317
+ 'fa fa-life-bouy' => 'fa fa-life-bouy',
1318
+ 'fa fa-life-buoy' => 'fa fa-life-buoy',
1319
+ 'fa fa-life-ring' => 'fa fa-life-ring',
1320
+ 'fa fa-life-saver' => 'fa fa-life-saver',
1321
+ 'fa fa-lightbulb-o' => 'fa fa-lightbulb-o',
1322
+ 'fa fa-line-chart' => 'fa fa-line-chart',
1323
+ 'fa fa-link' => 'fa fa-link',
1324
+ 'fa fa-linkedin' => 'fa fa-linkedin',
1325
+ 'fa fa-linkedin-square' => 'fa fa-linkedin-square',
1326
+ 'fa fa-linode' => 'fa fa-linode',
1327
+ 'fa fa-linux' => 'fa fa-linux',
1328
+ 'fa fa-list' => 'fa fa-list',
1329
+ 'fa fa-list-alt' => 'fa fa-list-alt',
1330
+ 'fa fa-list-ol' => 'fa fa-list-ol',
1331
+ 'fa fa-list-ul' => 'fa fa-list-ul',
1332
+ 'fa fa-location-arrow' => 'fa fa-location-arrow',
1333
+ 'fa fa-lock' => 'fa fa-lock',
1334
+ 'fa fa-long-arrow-down' => 'fa fa-long-arrow-down',
1335
+ 'fa fa-long-arrow-left' => 'fa fa-long-arrow-left',
1336
+ 'fa fa-long-arrow-right' => 'fa fa-long-arrow-right',
1337
+ 'fa fa-long-arrow-up' => 'fa fa-long-arrow-up',
1338
+ 'fa fa-low-vision' => 'fa fa-low-vision',
1339
+ 'fa fa-magic' => 'fa fa-magic',
1340
+ 'fa fa-magnet' => 'fa fa-magnet',
1341
+ 'fa fa-mail-forward' => 'fa fa-mail-forward',
1342
+ 'fa fa-mail-reply' => 'fa fa-mail-reply',
1343
+ 'fa fa-mail-reply-all' => 'fa fa-mail-reply-all',
1344
+ 'fa fa-male' => 'fa fa-male',
1345
+ 'fa fa-map' => 'fa fa-map',
1346
+ 'fa fa-map-marker' => 'fa fa-map-marker',
1347
+ 'fa fa-map-o' => 'fa fa-map-o',
1348
+ 'fa fa-map-pin' => 'fa fa-map-pin',
1349
+ 'fa fa-map-signs' => 'fa fa-map-signs',
1350
+ 'fa fa-mars' => 'fa fa-mars',
1351
+ 'fa fa-mars-double' => 'fa fa-mars-double',
1352
+ 'fa fa-mars-stroke' => 'fa fa-mars-stroke',
1353
+ 'fa fa-mars-stroke-h' => 'fa fa-mars-stroke-h',
1354
+ 'fa fa-mars-stroke-v' => 'fa fa-mars-stroke-v',
1355
+ 'fa fa-maxcdn' => 'fa fa-maxcdn',
1356
+ 'fa fa-meanpath' => 'fa fa-meanpath',
1357
+ 'fa fa-medium' => 'fa fa-medium',
1358
+ 'fa fa-medkit' => 'fa fa-medkit',
1359
+ 'fa fa-meetup' => 'fa fa-meetup',
1360
+ 'fa fa-meh-o' => 'fa fa-meh-o',
1361
+ 'fa fa-mercury' => 'fa fa-mercury',
1362
+ 'fa fa-microchip' => 'fa fa-microchip',
1363
+ 'fa fa-microphone' => 'fa fa-microphone',
1364
+ 'fa fa-microphone-slash' => 'fa fa-microphone-slash',
1365
+ 'fa fa-minus' => 'fa fa-minus',
1366
+ 'fa fa-minus-circle' => 'fa fa-minus-circle',
1367
+ 'fa fa-minus-square' => 'fa fa-minus-square',
1368
+ 'fa fa-minus-square-o' => 'fa fa-minus-square-o',
1369
+ 'fa fa-mixcloud' => 'fa fa-mixcloud',
1370
+ 'fa fa-mobile' => 'fa fa-mobile',
1371
+ 'fa fa-mobile-phone' => 'fa fa-mobile-phone',
1372
+ 'fa fa-modx' => 'fa fa-modx',
1373
+ 'fa fa-money' => 'fa fa-money',
1374
+ 'fa fa-moon-o' => 'fa fa-moon-o',
1375
+ 'fa fa-mortar-board' => 'fa fa-mortar-board',
1376
+ 'fa fa-motorcycle' => 'fa fa-motorcycle',
1377
+ 'fa fa-mouse-pointer' => 'fa fa-mouse-pointer',
1378
+ 'fa fa-music' => 'fa fa-music',
1379
+ 'fa fa-navicon' => 'fa fa-navicon',
1380
+ 'fa fa-neuter' => 'fa fa-neuter',
1381
+ 'fa fa-newspaper-o' => 'fa fa-newspaper-o',
1382
+ 'fa fa-object-group' => 'fa fa-object-group',
1383
+ 'fa fa-object-ungroup' => 'fa fa-object-ungroup',
1384
+ 'fa fa-odnoklassniki' => 'fa fa-odnoklassniki',
1385
+ 'fa fa-odnoklassniki-square' => 'fa fa-odnoklassniki-square',
1386
+ 'fa fa-opencart' => 'fa fa-opencart',
1387
+ 'fa fa-openid' => 'fa fa-openid',
1388
+ 'fa fa-opera' => 'fa fa-opera',
1389
+ 'fa fa-optin-monster' => 'fa fa-optin-monster',
1390
+ 'fa fa-outdent' => 'fa fa-outdent',
1391
+ 'fa fa-pagelines' => 'fa fa-pagelines',
1392
+ 'fa fa-paint-brush' => 'fa fa-paint-brush',
1393
+ 'fa fa-paper-plane' => 'fa fa-paper-plane',
1394
+ 'fa fa-paper-plane-o' => 'fa fa-paper-plane-o',
1395
+ 'fa fa-paperclip' => 'fa fa-paperclip',
1396
+ 'fa fa-paragraph' => 'fa fa-paragraph',
1397
+ 'fa fa-paste' => 'fa fa-paste',
1398
+ 'fa fa-pause' => 'fa fa-pause',
1399
+ 'fa fa-pause-circle' => 'fa fa-pause-circle',
1400
+ 'fa fa-pause-circle-o' => 'fa fa-pause-circle-o',
1401
+ 'fa fa-paw' => 'fa fa-paw',
1402
+ 'fa fa-paypal' => 'fa fa-paypal',
1403
+ 'fa fa-pencil' => 'fa fa-pencil',
1404
+ 'fa fa-pencil-square' => 'fa fa-pencil-square',
1405
+ 'fa fa-pencil-square-o' => 'fa fa-pencil-square-o',
1406
+ 'fa fa-percent'