WP ULike - Version 4.3.4

Version Description

  • Added: Animated Fave Star Template. [PRO]
  • Added: Minimal Pin Button Template. [PRO]
  • Added: Ability to use Other plugins shortcodes in user profiles. (such as gamipress) [PRO]
  • Fixed: BuddyPress filter issue in activity stream.
  • Improved: Compatibility with WordPress 5.5 applied.
  • Updated: Options panel framework.
Download this release

Release Info

Developer alimir
Plugin Icon 128x128 WP ULike
Version 4.3.4
Comparing to
See all releases

Code changes from version 4.3.3 to 4.3.4

Files changed (100) hide show
  1. admin/assets/css/admin.css +2 -2
  2. admin/assets/js/plugins.js +1 -1
  3. admin/classes/class-wp-ulike-admin-panel.php +13 -13
  4. admin/index.php +3 -3
  5. admin/settings/_deprecated/deprecated.class.php +14 -0
  6. admin/settings/_deprecated/index.php +1 -0
  7. admin/settings/assets/css/style-rtl.css +106 -106
  8. admin/settings/assets/css/style-rtl.min.css +1 -1
  9. admin/settings/assets/css/style.css +734 -734
  10. admin/settings/assets/css/style.min.css +1 -1
  11. admin/settings/assets/images/wp-logo.svg +0 -1
  12. admin/settings/assets/images/wp-plugin-logo.svg +0 -1
  13. admin/settings/assets/js/gutenberg.js +6 -6
  14. admin/settings/assets/js/main.js +475 -475
  15. admin/settings/assets/js/main.min.js +1 -1
  16. admin/settings/assets/js/plugins.js +41 -41
  17. admin/settings/assets/js/plugins.min.js +1 -1
  18. admin/settings/assets/scss/style-rtl.scss +0 -720
  19. admin/settings/assets/scss/style.scss +0 -96
  20. admin/settings/assets/scss/vendor/_base.scss +0 -461
  21. admin/settings/assets/scss/vendor/_chosen.scss +0 -405
  22. admin/settings/assets/scss/vendor/_customizer.scss +0 -179
  23. admin/settings/assets/scss/vendor/_fields.scss +0 -2237
  24. admin/settings/assets/scss/vendor/_helper.scss +0 -139
  25. admin/settings/assets/scss/vendor/_mixins.scss +0 -3
  26. admin/settings/assets/scss/vendor/_modal.scss +0 -330
  27. admin/settings/assets/scss/vendor/_navmenu.scss +0 -60
  28. admin/settings/assets/scss/vendor/_profile.scss +0 -67
  29. admin/settings/assets/scss/vendor/_responsive.scss +0 -166
  30. admin/settings/assets/scss/vendor/_taxonomy.scss +0 -114
  31. admin/settings/assets/scss/vendor/_themes.scss +0 -223
  32. admin/settings/assets/scss/vendor/_welcome.scss +0 -346
  33. admin/settings/assets/scss/vendor/_widget.scss +0 -49
  34. admin/settings/classes/abstract.class.php +7 -7
  35. admin/settings/classes/admin-options.class.php +68 -68
  36. admin/settings/classes/comment-options.class.php +33 -33
  37. admin/settings/classes/customize-options.class.php +12 -12
  38. admin/settings/classes/fields.class.php +7 -7
  39. admin/settings/classes/metabox-options.class.php +41 -41
  40. admin/settings/classes/nav-menu-options.class.php +19 -19
  41. admin/settings/classes/profile-options.class.php +17 -17
  42. admin/settings/classes/setup.class.php +58 -58
  43. admin/settings/classes/shortcode-options.class.php +47 -47
  44. admin/settings/classes/taxonomy-options.class.php +18 -18
  45. admin/settings/classes/widget-options.class.php +9 -9
  46. admin/settings/fields/accordion/accordion.php +8 -8
  47. admin/settings/fields/background/background.php +72 -72
  48. admin/settings/fields/backup/backup.php +11 -11
  49. admin/settings/fields/border/border.php +29 -29
  50. admin/settings/fields/button_set/button_set.php +6 -6
  51. admin/settings/fields/callback/callback.php +2 -2
  52. admin/settings/fields/checkbox/checkbox.php +10 -10
  53. admin/settings/fields/code_editor/code_editor.php +7 -7
  54. admin/settings/fields/color/color.php +3 -3
  55. admin/settings/fields/color_group/color_group.php +5 -5
  56. admin/settings/fields/content/content.php +2 -2
  57. admin/settings/fields/date/date.php +7 -7
  58. admin/settings/fields/dimensions/dimensions.php +15 -15
  59. admin/settings/fields/fieldset/fieldset.php +4 -4
  60. admin/settings/fields/gallery/gallery.php +8 -8
  61. admin/settings/fields/group/group.php +32 -32
  62. admin/settings/fields/heading/heading.php +2 -2
  63. admin/settings/fields/icon/fa4-icons.php +1 -1
  64. admin/settings/fields/icon/fa5-icons.php +1 -1
  65. admin/settings/fields/icon/icon.php +23 -23
  66. admin/settings/fields/image_select/image_select.php +5 -5
  67. admin/settings/fields/link_color/link_color.php +10 -10
  68. admin/settings/fields/map/map.php +18 -18
  69. admin/settings/fields/media/media.php +18 -18
  70. admin/settings/fields/notice/notice.php +3 -3
  71. admin/settings/fields/number/number.php +5 -5
  72. admin/settings/fields/palette/palette.php +5 -5
  73. admin/settings/fields/radio/radio.php +7 -7
  74. admin/settings/fields/repeater/repeater.php +23 -23
  75. admin/settings/fields/select/select.php +8 -8
  76. admin/settings/fields/slider/slider.php +8 -8
  77. admin/settings/fields/sortable/sortable.php +7 -7
  78. admin/settings/fields/sorter/sorter.php +10 -10
  79. admin/settings/fields/spacing/spacing.php +18 -18
  80. admin/settings/fields/spinner/spinner.php +3 -3
  81. admin/settings/fields/subheading/subheading.php +2 -2
  82. admin/settings/fields/submessage/submessage.php +3 -3
  83. admin/settings/fields/switcher/switcher.php +10 -10
  84. admin/settings/fields/tabbed/tabbed.php +8 -8
  85. admin/settings/fields/text/text.php +2 -2
  86. admin/settings/fields/textarea/textarea.php +6 -6
  87. admin/settings/fields/typography/google-fonts.php +2 -2
  88. admin/settings/fields/typography/typography.php +106 -106
  89. admin/settings/fields/upload/upload.php +7 -7
  90. admin/settings/fields/wp_editor/wp_editor.php +10 -10
  91. admin/settings/functions/actions.php +37 -37
  92. admin/settings/functions/customize.php +14 -14
  93. admin/settings/functions/helpers.php +7 -7
  94. admin/settings/functions/sanitize.php +4 -4
  95. admin/settings/functions/validate.php +24 -24
  96. admin/settings/functions/walker.php +2 -2
  97. assets/js/wp-ulike.js +1 -1
  98. inc/hooks/third-party.php +51 -15
  99. readme.txt +11 -3
  100. wp-ulike.php +9 -5
admin/assets/css/admin.css CHANGED
@@ -92,8 +92,8 @@ https://wordpress.org/plugins/wp-ulike/
92
  .wp-ulike-icons-refresh:before { content: "\e05a"; }
93
 
94
  /** Visual Select */
95
- .wp-ulike-visual-select .csf--image.csf--active > img { filter: brightness(40%) sepia(100%) hue-rotate(170deg) saturate(250%); }
96
- .wp-ulike-visual-select .csf--image > img { height: 40px; padding: 10px; }
97
 
98
  /** Settings Page */
99
  .wp-ulike-settings-notice, .wp-ulike-notice-wrapper { position: relative; }
92
  .wp-ulike-icons-refresh:before { content: "\e05a"; }
93
 
94
  /** Visual Select */
95
+ .wp-ulike-visual-select .ulf--image.ulf--active > img { filter: brightness(40%) sepia(100%) hue-rotate(170deg) saturate(250%); }
96
+ .wp-ulike-visual-select .ulf--image > img { height: 40px; padding: 10px; }
97
 
98
  /** Settings Page */
99
  .wp-ulike-settings-notice, .wp-ulike-notice-wrapper { position: relative; }
admin/assets/js/plugins.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! WP ULike - v4.3.3
2
  * https://wpulike.com
3
  * TechnoWich 2020;
4
  */
1
+ /*! WP ULike - v4.3.4
2
  * https://wpulike.com
3
  * TechnoWich 2020;
4
  */
admin/classes/class-wp-ulike-admin-panel.php CHANGED
@@ -21,11 +21,11 @@ if ( ! class_exists( 'wp_ulike_admin_panel' ) ) {
21
  * __construct
22
  */
23
  function __construct() {
24
- add_action( 'csf_loaded', array( $this, 'register_panel' ) );
25
  add_action( 'wp_ulike_settings_loaded', array( $this, 'register_sections' ) );
26
  add_action( 'wp_ulike_settings_loaded', array( $this, 'register_pages' ) );
27
 
28
- add_action( 'csf_'.$this->option_domain.'_saved', array( $this, 'options_saved' ) );
29
  }
30
 
31
  public function options_saved(){
@@ -40,7 +40,7 @@ if ( ! class_exists( 'wp_ulike_admin_panel' ) ) {
40
  */
41
  public function register_panel(){
42
  // Create options
43
- CSF::createOptions( $this->option_domain, array(
44
  'framework_title' => apply_filters( 'wp_ulike_plugin_name', WP_ULIKE_NAME ),
45
  'menu_title' => apply_filters( 'wp_ulike_plugin_name', WP_ULIKE_NAME ),
46
  'sub_menu_title' => __( 'Settings', WP_ULIKE_SLUG ),
@@ -96,13 +96,13 @@ if ( ! class_exists( 'wp_ulike_admin_panel' ) ) {
96
  /**
97
  * Configuration Section
98
  */
99
- CSF::createSection( $this->option_domain, array(
100
  'id' => 'configuration',
101
  'title' => __( 'Configuration',WP_ULIKE_SLUG),
102
  'icon' => 'fa fa-home',
103
  ) );
104
  // General
105
- CSF::createSection( $this->option_domain, array(
106
  'parent' => 'configuration',
107
  'title' => __( 'General',WP_ULIKE_SLUG),
108
  'fields' => apply_filters( 'wp_ulike_panel_general', array(
@@ -249,7 +249,7 @@ if ( ! class_exists( 'wp_ulike_admin_panel' ) ) {
249
  }
250
 
251
  // Content Groups
252
- CSF::createSection( $this->option_domain, array(
253
  'parent' => 'configuration',
254
  'title' => __( 'Content Types',WP_ULIKE_SLUG),
255
  'fields' => array(
@@ -286,7 +286,7 @@ if ( ! class_exists( 'wp_ulike_admin_panel' ) ) {
286
  )
287
  ) );
288
  // Integrations
289
- CSF::createSection( $this->option_domain, array(
290
  'parent' => 'configuration',
291
  'title' => __( 'Integrations',WP_ULIKE_SLUG),
292
  'fields' => apply_filters( 'wp_ulike_panel_integrations', array(
@@ -306,7 +306,7 @@ if ( ! class_exists( 'wp_ulike_admin_panel' ) ) {
306
  ) );
307
 
308
  // Profiles
309
- CSF::createSection( $this->option_domain, array(
310
  'parent' => 'configuration',
311
  'title' => __( 'Profiles',WP_ULIKE_SLUG),
312
  'fields' => apply_filters( 'wp_ulike_panel_profiles', array(
@@ -339,7 +339,7 @@ if ( ! class_exists( 'wp_ulike_admin_panel' ) ) {
339
  /**
340
  * Translations Section
341
  */
342
- CSF::createSection( $this->option_domain, array(
343
  'title' => __( 'Translations',WP_ULIKE_SLUG),
344
  'icon' => 'fa fa-language',
345
  'fields' => apply_filters( 'wp_ulike_panel_translations', array(
@@ -379,13 +379,13 @@ if ( ! class_exists( 'wp_ulike_admin_panel' ) ) {
379
  /**
380
  * Customization Section
381
  */
382
- CSF::createSection( $this->option_domain, array(
383
  'id' => 'customization',
384
  'title' => __( 'Developer Tools',WP_ULIKE_SLUG),
385
  'icon' => 'fa fa-code',
386
  ) );
387
 
388
- CSF::createSection( $this->option_domain, array(
389
  'parent' => 'customization',
390
  'title' => __( 'Custom Style',WP_ULIKE_SLUG),
391
  'fields' => apply_filters( 'wp_ulike_panel_customization', array(
@@ -414,7 +414,7 @@ if ( ! class_exists( 'wp_ulike_admin_panel' ) ) {
414
  ) )
415
  ) );
416
 
417
- CSF::createSection( $this->option_domain, array(
418
  'parent' => 'customization',
419
  'title' => __( 'REST API',WP_ULIKE_SLUG ),
420
  'fields' => apply_filters( 'wp_ulike_panel_rest_api', array(
@@ -443,7 +443,7 @@ if ( ! class_exists( 'wp_ulike_admin_panel' ) ) {
443
  ) )
444
  ) );
445
 
446
- CSF::createSection( $this->option_domain, array(
447
  'parent' => 'customization',
448
  'title' => __( 'Optimization',WP_ULIKE_SLUG ),
449
  'fields' => apply_filters( 'wp_ulike_panel_optimization', array(
21
  * __construct
22
  */
23
  function __construct() {
24
+ add_action( 'ulf_loaded', array( $this, 'register_panel' ) );
25
  add_action( 'wp_ulike_settings_loaded', array( $this, 'register_sections' ) );
26
  add_action( 'wp_ulike_settings_loaded', array( $this, 'register_pages' ) );
27
 
28
+ add_action( 'ulf_'.$this->option_domain.'_saved', array( $this, 'options_saved' ) );
29
  }
30
 
31
  public function options_saved(){
40
  */
41
  public function register_panel(){
42
  // Create options
43
+ ULF::createOptions( $this->option_domain, array(
44
  'framework_title' => apply_filters( 'wp_ulike_plugin_name', WP_ULIKE_NAME ),
45
  'menu_title' => apply_filters( 'wp_ulike_plugin_name', WP_ULIKE_NAME ),
46
  'sub_menu_title' => __( 'Settings', WP_ULIKE_SLUG ),
96
  /**
97
  * Configuration Section
98
  */
99
+ ULF::createSection( $this->option_domain, array(
100
  'id' => 'configuration',
101
  'title' => __( 'Configuration',WP_ULIKE_SLUG),
102
  'icon' => 'fa fa-home',
103
  ) );
104
  // General
105
+ ULF::createSection( $this->option_domain, array(
106
  'parent' => 'configuration',
107
  'title' => __( 'General',WP_ULIKE_SLUG),
108
  'fields' => apply_filters( 'wp_ulike_panel_general', array(
249
  }
250
 
251
  // Content Groups
252
+ ULF::createSection( $this->option_domain, array(
253
  'parent' => 'configuration',
254
  'title' => __( 'Content Types',WP_ULIKE_SLUG),
255
  'fields' => array(
286
  )
287
  ) );
288
  // Integrations
289
+ ULF::createSection( $this->option_domain, array(
290
  'parent' => 'configuration',
291
  'title' => __( 'Integrations',WP_ULIKE_SLUG),
292
  'fields' => apply_filters( 'wp_ulike_panel_integrations', array(
306
  ) );
307
 
308
  // Profiles
309
+ ULF::createSection( $this->option_domain, array(
310
  'parent' => 'configuration',
311
  'title' => __( 'Profiles',WP_ULIKE_SLUG),
312
  'fields' => apply_filters( 'wp_ulike_panel_profiles', array(
339
  /**
340
  * Translations Section
341
  */
342
+ ULF::createSection( $this->option_domain, array(
343
  'title' => __( 'Translations',WP_ULIKE_SLUG),
344
  'icon' => 'fa fa-language',
345
  'fields' => apply_filters( 'wp_ulike_panel_translations', array(
379
  /**
380
  * Customization Section
381
  */
382
+ ULF::createSection( $this->option_domain, array(
383
  'id' => 'customization',
384
  'title' => __( 'Developer Tools',WP_ULIKE_SLUG),
385
  'icon' => 'fa fa-code',
386
  ) );
387
 
388
+ ULF::createSection( $this->option_domain, array(
389
  'parent' => 'customization',
390
  'title' => __( 'Custom Style',WP_ULIKE_SLUG),
391
  'fields' => apply_filters( 'wp_ulike_panel_customization', array(
414
  ) )
415
  ) );
416
 
417
+ ULF::createSection( $this->option_domain, array(
418
  'parent' => 'customization',
419
  'title' => __( 'REST API',WP_ULIKE_SLUG ),
420
  'fields' => apply_filters( 'wp_ulike_panel_rest_api', array(
443
  ) )
444
  ) );
445
 
446
+ ULF::createSection( $this->option_domain, array(
447
  'parent' => 'customization',
448
  'title' => __( 'Optimization',WP_ULIKE_SLUG ),
449
  'fields' => apply_filters( 'wp_ulike_panel_optimization', array(
admin/index.php CHANGED
@@ -12,12 +12,12 @@ if ( ! defined( 'WPINC' ) ) {
12
  die('No Naughty Business Please !');
13
  }
14
 
15
- //include settings panel
16
  require_once( WP_ULIKE_ADMIN_DIR . '/settings/classes/setup.class.php');
17
  // Register admin menus
18
  new wp_ulike_admin_panel();
19
 
20
- //include about menu functions
21
  require_once( WP_ULIKE_ADMIN_DIR . '/admin-functions.php');
22
- //include logs menu functions
23
  require_once( WP_ULIKE_ADMIN_DIR . '/admin-hooks.php');
12
  die('No Naughty Business Please !');
13
  }
14
 
15
+ // include settings panel
16
  require_once( WP_ULIKE_ADMIN_DIR . '/settings/classes/setup.class.php');
17
  // Register admin menus
18
  new wp_ulike_admin_panel();
19
 
20
+ // include about menu functions
21
  require_once( WP_ULIKE_ADMIN_DIR . '/admin-functions.php');
22
+ // include logs menu functions
23
  require_once( WP_ULIKE_ADMIN_DIR . '/admin-hooks.php');
admin/settings/_deprecated/deprecated.class.php ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php if ( ! defined( 'ABSPATH' ) ) { die; } // Cannot access directly.
2
+ /**
3
+ *
4
+ * Setup Class
5
+ *
6
+ * @since 1.0.0
7
+ * @version 1.0.0
8
+ *
9
+ */
10
+ if ( ! class_exists( 'CSF' ) && class_exists( 'ULF' ) ) {
11
+ class CSF extends ULF{
12
+ public function __construct() {}
13
+ }
14
+ }
admin/settings/_deprecated/index.php ADDED
@@ -0,0 +1 @@
 
1
+ <?php // Silence is golden.
admin/settings/assets/css/style-rtl.css CHANGED
@@ -55,7 +55,7 @@
55
  /**
56
  * 01. Base
57
  */
58
- .csf-options {
59
  margin-left: 20px;
60
  margin-right: 0;
61
  }
@@ -63,69 +63,69 @@
63
  /**
64
  * 01. 01. Header
65
  */
66
- .csf-header h1 {
67
  float: right;
68
  }
69
- .csf-header fieldset {
70
  float: left;
71
  }
72
 
73
  /**
74
  * 01. 02. Header Buttons
75
  */
76
- .csf-buttons {
77
  float: left;
78
  direction: ltr;
79
  }
80
 
81
- .csf-header-left {
82
  float: right;
83
  }
84
 
85
- .csf-header-right {
86
  float: left;
87
  }
88
 
89
  /**
90
  * 01. 03. Navigation
91
  */
92
- .csf-nav {
93
  float: right;
94
  }
95
- .csf-nav ul {
96
  clear: right;
97
  }
98
- .csf-nav ul li .csf-active:after {
99
  right: auto;
100
  left: 0;
101
  border-left-color: #fff;
102
  border-right-color: transparent;
103
  }
104
- .csf-nav ul li .csf-arrow:after {
105
  content: "\f053";
106
  right: auto;
107
  left: 10px;
108
  }
109
- .csf-nav ul li.csf-tab-expanded .csf-arrow:after {
110
  -moz-transform: rotate(-90deg);
111
  -ms-transform: rotate(-90deg);
112
  -webkit-transform: rotate(-90deg);
113
  transform: rotate(-90deg);
114
  }
115
- .csf-nav ul ul li a {
116
  padding-right: 25px;
117
  padding-left: 15px;
118
  }
119
- .csf-nav ul ul:before {
120
  left: auto;
121
  right: 15px;
122
  }
123
- .csf-nav .csf-tab-icon {
124
  margin-left: 5px;
125
  margin-right: 0;
126
  }
127
 
128
- .csf-nav-background {
129
  left: auto;
130
  right: 0;
131
  }
@@ -133,7 +133,7 @@
133
  /**
134
  * 01. 04. Content
135
  */
136
- .csf-content {
137
  margin-left: 0;
138
  margin-right: 225px;
139
  }
@@ -141,19 +141,19 @@
141
  /**
142
  * 01. 05. Section
143
  */
144
- .csf-sections {
145
  float: right;
146
  }
147
 
148
  /**
149
  * 01. 06. Show all options
150
  */
151
- .csf-show-all .csf-content {
152
  margin-right: 0;
153
  overflow: hidden;
154
  }
155
 
156
- .csf-expand-all {
157
  float: right;
158
  right: auto;
159
  left: 40px;
@@ -164,31 +164,31 @@
164
  /**
165
  * 01. 07. Search Input
166
  */
167
- .csf-search {
168
  float: right;
169
  }
170
- .csf-search input {
171
  margin: 0 0 0 5px;
172
  }
173
 
174
  /**
175
  * 01. 08. Copyright
176
  */
177
- .csf-copyright {
178
  float: right;
179
  }
180
 
181
  /**
182
  * 01. 09. Metabox
183
  */
184
- .csf-metabox {
185
  margin: -6px -12px -12px -12px;
186
  }
187
- .csf-metabox .csf-section-title {
188
  padding: 20px;
189
  }
190
 
191
- .csf-section-title .csf-section-icon {
192
  margin-left: 5px;
193
  margin-right: 0;
194
  }
@@ -196,47 +196,47 @@
196
  /**
197
  * 02. Fields
198
  */
199
- .csf-field .csf-title {
200
  float: right;
201
  }
202
- .csf-field .csf-fieldset {
203
  float: left;
204
  }
205
 
206
- .csf-pseudo-field {
207
  padding: 0 0 0 5px !important;
208
  }
209
 
210
  /**
211
  * 02. 01. Field: typography
212
  */
213
- .csf-field-typography select {
214
  margin: 0;
215
  width: 100%;
216
  }
217
- .csf-field-typography .csf--blocks-inputs .csf--blocks {
218
  flex-direction: row-reverse;
219
  }
220
 
221
  /**
222
  * 02. 02. Field: checkbox, radio
223
  */
224
- .csf-field-checkbox ul ul li,
225
- .csf-field-radio ul ul li {
226
  margin-left: 0;
227
  margin-right: 8px;
228
  }
229
- .csf-field-checkbox ul ul li:first-child,
230
- .csf-field-radio ul ul li:first-child {
231
  margin-right: 0;
232
  }
233
- .csf-field-checkbox .csf--inline-list li,
234
- .csf-field-radio .csf--inline-list li {
235
  margin-right: 0;
236
  margin-left: 15px;
237
  }
238
- .csf-field-checkbox .csf--text,
239
- .csf-field-radio .csf--text {
240
  margin-left: 0;
241
  margin-right: 5px;
242
  }
@@ -244,10 +244,10 @@
244
  /**
245
  * 02. 03. Field: switcher
246
  */
247
- .csf-field-switcher .csf--switcher {
248
  float: right;
249
  }
250
- .csf-field-switcher .csf--label {
251
  float: right;
252
  margin-left: 0;
253
  margin-right: 5px;
@@ -256,8 +256,8 @@
256
  /**
257
  * 02. 04. Field: upload
258
  */
259
- .csf-field-upload .csf--remove,
260
- .csf-field-upload .csf--button {
261
  margin-left: 0;
262
  margin-right: 5px;
263
  }
@@ -265,10 +265,10 @@
265
  /**
266
  * 02. 05. Field: group
267
  */
268
- .csf-field-group .csf-cloneable-title {
269
  padding: 15px 10px 15px 65px;
270
  }
271
- .csf-field-group .csf-cloneable-helper {
272
  right: auto;
273
  left: 10px;
274
  }
@@ -276,7 +276,7 @@
276
  /**
277
  * 02. 06. Field: repeater
278
  */
279
- .csf-field-repeater .csf-repeater-helper {
280
  border-left: 0;
281
  border-right: 1px solid #eee;
282
  }
@@ -284,7 +284,7 @@
284
  /**
285
  * 02. 07. Field: help
286
  */
287
- .csf-help {
288
  right: auto;
289
  left: 5px;
290
  }
@@ -292,11 +292,11 @@
292
  /**
293
  * 02. 08. Field: icon
294
  */
295
- .csf-field-icon .button {
296
  margin-right: 0;
297
  margin-left: 5px;
298
  }
299
- .csf-field-icon .csf-icon-preview i {
300
  margin-right: 0;
301
  margin-left: 5px;
302
  }
@@ -304,11 +304,11 @@
304
  /**
305
  * 02. 09. Field: gallery
306
  */
307
- .csf-field-gallery ul li {
308
  margin-right: 0;
309
  margin-left: 5px;
310
  }
311
- .csf-field-gallery .button {
312
  margin-right: 0;
313
  margin-left: 5px;
314
  }
@@ -316,11 +316,11 @@
316
  /**
317
  * 02. 11. Field: tabbed
318
  */
319
- .csf-field-tabbed .csf-tabbed-nav .csf--icon {
320
  padding-right: 0;
321
  padding-left: 5px;
322
  }
323
- .csf-field-tabbed .csf-tabbed-nav a {
324
  margin-right: 0;
325
  margin-left: 5px;
326
  }
@@ -328,18 +328,18 @@
328
  /**
329
  * 02. 12. Field: media
330
  */
331
- .csf-field-media .button {
332
  margin-left: 0;
333
  margin-right: 7px;
334
  }
335
- .csf-field-media .hidden + .button {
336
  margin-right: 0;
337
  }
338
 
339
  /**
340
  * 02. 13. Field: notice
341
  */
342
- .csf-notice {
343
  border-left: none;
344
  border-right-style: solid;
345
  border-right-width: 4px;
@@ -348,25 +348,25 @@
348
  /**
349
  * 02. 14. Field: border, spacing, dimensions
350
  */
351
- .csf-field-dimensions .csf--input,
352
- .csf-field-dimensions .csf-fieldset,
353
- .csf-field-spacing .csf--input,
354
- .csf-field-spacing .csf-fieldset,
355
- .csf-field-border .csf--input,
356
- .csf-field-border .csf-fieldset {
357
  direction: ltr;
358
  }
359
- .csf-field-dimensions .csf--inputs,
360
- .csf-field-dimensions .csf--color,
361
- .csf-field-spacing .csf--inputs,
362
- .csf-field-spacing .csf--color,
363
- .csf-field-border .csf--inputs,
364
- .csf-field-border .csf--color {
365
  float: right;
366
  }
367
- .csf-field-dimensions .csf--color,
368
- .csf-field-spacing .csf--color,
369
- .csf-field-border .csf--color {
370
  margin-right: 4px;
371
  direction: rtl;
372
  }
@@ -374,14 +374,14 @@
374
  /**
375
  * 02. 15. Field: background
376
  */
377
- .csf-field-background .csf--block {
378
  float: right;
379
  }
380
- .csf-field-background .csf--select,
381
- .csf-field-background .csf--media {
382
  padding-right: 0;
383
  }
384
- .csf-field-background .csf--title {
385
  margin-right: 0;
386
  margin-left: 5px;
387
  }
@@ -389,7 +389,7 @@
389
  /**
390
  * 02. 16. Field: spinner
391
  */
392
- .csf-field-spinner .csf--spin {
393
  float: right;
394
  direction: ltr;
395
  }
@@ -397,26 +397,26 @@
397
  /**
398
  * 02. 17. Field: slider
399
  */
400
- .csf-field-slider .csf-slider-ui {
401
  direction: ltr;
402
  margin-right: 0;
403
  margin-left: 15px;
404
  }
405
- .csf-field-slider .csf--input {
406
  direction: ltr;
407
  }
408
 
409
  /**
410
  * 02. 18. Field: button_set
411
  */
412
- .csf-field-button_set .csf--button-group {
413
  float: right;
414
  }
415
 
416
  /**
417
  * 02. 19. Field: link_color
418
  */
419
- .csf-field-link_color .csf--left {
420
  float: right;
421
  margin-right: 0;
422
  margin-left: 10px;
@@ -425,7 +425,7 @@
425
  /**
426
  * 02. 20. Field: color_group
427
  */
428
- .csf-field-color_group .csf--left {
429
  float: right;
430
  margin-right: 0;
431
  margin-left: 10px;
@@ -434,7 +434,7 @@
434
  /**
435
  * 02. 21. Field: palette
436
  */
437
- .csf-field-palette .csf--palette {
438
  margin-right: 0;
439
  margin-left: 10px;
440
  }
@@ -442,7 +442,7 @@
442
  /**
443
  * 02. 22. Field: accordion
444
  */
445
- .csf-field-accordion .csf--icon {
446
  margin-right: 0;
447
  margin-left: 2px;
448
  }
@@ -450,7 +450,7 @@
450
  /**
451
  * 02. 23. Field: date
452
  */
453
- .csf-field-date .csf--to {
454
  margin-left: 0;
455
  margin-right: 7px;
456
  }
@@ -458,7 +458,7 @@
458
  /**
459
  * 02. 24. Field: map
460
  */
461
- .csf-field-map .csf--map-input:last-child {
462
  padding-left: 0;
463
  padding-right: 10px;
464
  }
@@ -466,7 +466,7 @@
466
  /**
467
  * 02. 25. Field: sortable
468
  */
469
- .csf-field-sortable .csf--sortable-helper {
470
  border-left: none;
471
  border-right: 1px solid #eee;
472
  }
@@ -474,27 +474,27 @@
474
  /**
475
  * 02. 26. Field: number
476
  */
477
- .csf-field-number .csf--wrap {
478
  float: right;
479
  }
480
 
481
  /**
482
  * 03. Taxonomy
483
  */
484
- .csf-taxonomy-add-fields {
485
  margin-right: 0;
486
  margin-left: 30px;
487
  }
488
- .csf-taxonomy-add-fields .csf-field > .csf-fieldset > .csf-help {
489
  left: -5px;
490
  right: auto;
491
  }
492
 
493
- .csf-taxonomy-edit-fields {
494
  margin-right: 0;
495
  margin-left: 35px;
496
  }
497
- .csf-taxonomy-edit-fields .csf-field > .csf-fieldset > .csf-help {
498
  right: auto;
499
  left: -5px;
500
  }
@@ -502,11 +502,11 @@
502
  /**
503
  * 04. Profile
504
  */
505
- .csf-profile-options > h2 > .fa {
506
  padding-right: 0;
507
  padding-left: 7px;
508
  }
509
- .csf-profile-options > .csf-field > .csf-fieldset > .csf-help {
510
  left: -5px;
511
  right: auto;
512
  }
@@ -514,17 +514,17 @@
514
  /**
515
  * 05. Nav Menu
516
  */
517
- .csf-nav-menu-options > .csf-fields {
518
  margin-left: 0;
519
  margin-right: -10px;
520
  }
521
 
522
- .csf-nav-menu-title {
523
  padding-left: 14px;
524
  padding-right: 12px;
525
  }
526
 
527
- .csf-nav-menu-icon {
528
  margin-right: 0;
529
  margin-left: 5px;
530
  }
@@ -532,15 +532,15 @@
532
  /**
533
  * 06. Modal
534
  */
535
- .csf-modal-content .csf-field {
536
  padding: 15px 15px 15px 30px;
537
  }
538
 
539
- .csf-modal-title {
540
  padding: 0 16px 0 36px;
541
  }
542
 
543
- .csf-modal-close {
544
  right: auto;
545
  left: 0;
546
  }
@@ -548,7 +548,7 @@
548
  /**
549
  * 07. Customizer
550
  */
551
- .control-section .csf-field .csf-fieldset {
552
  margin-right: 0;
553
  }
554
 
@@ -556,30 +556,30 @@
556
  * 08. Responsive
557
  */
558
  @media only screen and (max-width: 1200px) {
559
- .csf-metabox .csf-field .csf-fieldset {
560
  margin-left: 0;
561
  }
562
  }
563
  @media only screen and (max-width: 782px) {
564
- .csf .csf-fieldset,
565
- .csf .csf-content {
566
  margin-right: 0;
567
  }
568
  }
569
  /**
570
  * 09. Others
571
  */
572
- .csf-field .csf--transparent-slider {
573
  margin-left: 0;
574
  margin-right: 2px;
575
  }
576
- .csf-field .csf--transparent-slider .ui-slider-handle {
577
  margin: 0 -11px;
578
  }
579
- .csf-field .csf--transparent-offset {
580
  background-position: center right;
581
  }
582
- .csf-field .csf--transparent-text {
583
  right: auto;
584
  left: 10px;
585
  }
55
  /**
56
  * 01. Base
57
  */
58
+ .ulf-options {
59
  margin-left: 20px;
60
  margin-right: 0;
61
  }
63
  /**
64
  * 01. 01. Header
65
  */
66
+ .ulf-header h1 {
67
  float: right;
68
  }
69
+ .ulf-header fieldset {
70
  float: left;
71
  }
72
 
73
  /**
74
  * 01. 02. Header Buttons
75
  */
76
+ .ulf-buttons {
77
  float: left;
78
  direction: ltr;
79
  }
80
 
81
+ .ulf-header-left {
82
  float: right;
83
  }
84
 
85
+ .ulf-header-right {
86
  float: left;
87
  }
88
 
89
  /**
90
  * 01. 03. Navigation
91
  */
92
+ .ulf-nav {
93
  float: right;
94
  }
95
+ .ulf-nav ul {
96
  clear: right;
97
  }
98
+ .ulf-nav ul li .ulf-active:after {
99
  right: auto;
100
  left: 0;
101
  border-left-color: #fff;
102
  border-right-color: transparent;
103
  }
104
+ .ulf-nav ul li .ulf-arrow:after {
105
  content: "\f053";
106
  right: auto;
107
  left: 10px;
108
  }
109
+ .ulf-nav ul li.ulf-tab-expanded .ulf-arrow:after {
110
  -moz-transform: rotate(-90deg);
111
  -ms-transform: rotate(-90deg);
112
  -webkit-transform: rotate(-90deg);
113
  transform: rotate(-90deg);
114
  }
115
+ .ulf-nav ul ul li a {
116
  padding-right: 25px;
117
  padding-left: 15px;
118
  }
119
+ .ulf-nav ul ul:before {
120
  left: auto;
121
  right: 15px;
122
  }
123
+ .ulf-nav .ulf-tab-icon {
124
  margin-left: 5px;
125
  margin-right: 0;
126
  }
127
 
128
+ .ulf-nav-background {
129
  left: auto;
130
  right: 0;
131
  }
133
  /**
134
  * 01. 04. Content
135
  */
136
+ .ulf-content {
137
  margin-left: 0;
138
  margin-right: 225px;
139
  }
141
  /**
142
  * 01. 05. Section
143
  */
144
+ .ulf-sections {
145
  float: right;
146
  }
147
 
148
  /**
149
  * 01. 06. Show all options
150
  */
151
+ .ulf-show-all .ulf-content {
152
  margin-right: 0;
153
  overflow: hidden;
154
  }
155
 
156
+ .ulf-expand-all {
157
  float: right;
158
  right: auto;
159
  left: 40px;
164
  /**
165
  * 01. 07. Search Input
166
  */
167
+ .ulf-search {
168
  float: right;
169
  }
170
+ .ulf-search input {
171
  margin: 0 0 0 5px;
172
  }
173
 
174
  /**
175
  * 01. 08. Copyright
176
  */
177
+ .ulf-copyright {
178
  float: right;
179
  }
180
 
181
  /**
182
  * 01. 09. Metabox
183
  */
184
+ .ulf-metabox {
185
  margin: -6px -12px -12px -12px;
186
  }
187
+ .ulf-metabox .ulf-section-title {
188
  padding: 20px;
189
  }
190
 
191
+ .ulf-section-title .ulf-section-icon {
192
  margin-left: 5px;
193
  margin-right: 0;
194
  }
196
  /**
197
  * 02. Fields
198
  */
199
+ .ulf-field .ulf-title {
200
  float: right;
201
  }
202
+ .ulf-field .ulf-fieldset {
203
  float: left;
204
  }
205
 
206
+ .ulf-pseudo-field {
207
  padding: 0 0 0 5px !important;
208
  }
209
 
210
  /**
211
  * 02. 01. Field: typography
212
  */
213
+ .ulf-field-typography select {
214
  margin: 0;
215
  width: 100%;
216
  }
217
+ .ulf-field-typography .ulf--blocks-inputs .ulf--blocks {
218
  flex-direction: row-reverse;
219
  }
220
 
221
  /**
222
  * 02. 02. Field: checkbox, radio
223
  */
224
+ .ulf-field-checkbox ul ul li,
225
+ .ulf-field-radio ul ul li {
226
  margin-left: 0;
227
  margin-right: 8px;
228
  }
229
+ .ulf-field-checkbox ul ul li:first-child,
230
+ .ulf-field-radio ul ul li:first-child {
231
  margin-right: 0;
232
  }
233
+ .ulf-field-checkbox .ulf--inline-list li,
234
+ .ulf-field-radio .ulf--inline-list li {
235
  margin-right: 0;
236
  margin-left: 15px;
237
  }
238
+ .ulf-field-checkbox .ulf--text,
239
+ .ulf-field-radio .ulf--text {
240
  margin-left: 0;
241
  margin-right: 5px;
242
  }
244
  /**
245
  * 02. 03. Field: switcher
246
  */
247
+ .ulf-field-switcher .ulf--switcher {
248
  float: right;
249
  }
250
+ .ulf-field-switcher .ulf--label {
251
  float: right;
252
  margin-left: 0;
253
  margin-right: 5px;
256
  /**
257
  * 02. 04. Field: upload
258
  */
259
+ .ulf-field-upload .ulf--remove,
260
+ .ulf-field-upload .ulf--button {
261
  margin-left: 0;
262
  margin-right: 5px;
263
  }
265
  /**
266
  * 02. 05. Field: group
267
  */
268
+ .ulf-field-group .ulf-cloneable-title {
269
  padding: 15px 10px 15px 65px;
270
  }
271
+ .ulf-field-group .ulf-cloneable-helper {
272
  right: auto;
273
  left: 10px;
274
  }
276
  /**
277
  * 02. 06. Field: repeater
278
  */
279
+ .ulf-field-repeater .ulf-repeater-helper {
280
  border-left: 0;
281
  border-right: 1px solid #eee;
282
  }
284
  /**
285
  * 02. 07. Field: help
286
  */
287
+ .ulf-help {
288
  right: auto;
289
  left: 5px;
290
  }
292
  /**
293
  * 02. 08. Field: icon
294
  */
295
+ .ulf-field-icon .button {
296
  margin-right: 0;
297
  margin-left: 5px;
298
  }
299
+ .ulf-field-icon .ulf-icon-preview i {
300
  margin-right: 0;
301
  margin-left: 5px;
302
  }
304
  /**
305
  * 02. 09. Field: gallery
306
  */
307
+ .ulf-field-gallery ul li {
308
  margin-right: 0;
309
  margin-left: 5px;
310
  }
311
+ .ulf-field-gallery .button {
312
  margin-right: 0;
313
  margin-left: 5px;
314
  }
316
  /**
317
  * 02. 11. Field: tabbed
318
  */
319
+ .ulf-field-tabbed .ulf-tabbed-nav .ulf--icon {
320
  padding-right: 0;
321
  padding-left: 5px;
322
  }
323
+ .ulf-field-tabbed .ulf-tabbed-nav a {
324
  margin-right: 0;
325
  margin-left: 5px;
326
  }
328
  /**
329
  * 02. 12. Field: media
330
  */
331
+ .ulf-field-media .button {
332
  margin-left: 0;
333
  margin-right: 7px;
334
  }
335
+ .ulf-field-media .hidden + .button {
336
  margin-right: 0;
337
  }
338
 
339
  /**
340
  * 02. 13. Field: notice
341
  */
342
+ .ulf-notice {
343
  border-left: none;
344
  border-right-style: solid;
345
  border-right-width: 4px;
348
  /**
349
  * 02. 14. Field: border, spacing, dimensions
350
  */
351
+ .ulf-field-dimensions .ulf--input,
352
+ .ulf-field-dimensions .ulf-fieldset,
353
+ .ulf-field-spacing .ulf--input,
354
+ .ulf-field-spacing .ulf-fieldset,
355
+ .ulf-field-border .ulf--input,
356
+ .ulf-field-border .ulf-fieldset {
357
  direction: ltr;
358
  }
359
+ .ulf-field-dimensions .ulf--inputs,
360
+ .ulf-field-dimensions .ulf--color,
361
+ .ulf-field-spacing .ulf--inputs,
362
+ .ulf-field-spacing .ulf--color,
363
+ .ulf-field-border .ulf--inputs,
364
+ .ulf-field-border .ulf--color {
365
  float: right;
366
  }
367
+ .ulf-field-dimensions .ulf--color,
368
+ .ulf-field-spacing .ulf--color,
369
+ .ulf-field-border .ulf--color {
370
  margin-right: 4px;
371
  direction: rtl;
372
  }
374
  /**
375
  * 02. 15. Field: background
376
  */
377
+ .ulf-field-background .ulf--block {
378
  float: right;
379
  }
380
+ .ulf-field-background .ulf--select,
381
+ .ulf-field-background .ulf--media {
382
  padding-right: 0;
383
  }
384
+ .ulf-field-background .ulf--title {
385
  margin-right: 0;
386
  margin-left: 5px;
387
  }
389
  /**
390
  * 02. 16. Field: spinner
391
  */
392
+ .ulf-field-spinner .ulf--spin {
393
  float: right;
394
  direction: ltr;
395
  }
397
  /**
398
  * 02. 17. Field: slider
399
  */
400
+ .ulf-field-slider .ulf-slider-ui {
401
  direction: ltr;
402
  margin-right: 0;
403
  margin-left: 15px;
404
  }
405
+ .ulf-field-slider .ulf--input {
406
  direction: ltr;
407
  }
408
 
409
  /**
410
  * 02. 18. Field: button_set
411
  */
412
+ .ulf-field-button_set .ulf--button-group {
413
  float: right;
414
  }
415
 
416
  /**
417
  * 02. 19. Field: link_color
418
  */
419
+ .ulf-field-link_color .ulf--left {
420
  float: right;
421
  margin-right: 0;
422
  margin-left: 10px;
425
  /**
426
  * 02. 20. Field: color_group
427
  */
428
+ .ulf-field-color_group .ulf--left {
429
  float: right;
430
  margin-right: 0;
431
  margin-left: 10px;
434
  /**
435
  * 02. 21. Field: palette
436
  */
437
+ .ulf-field-palette .ulf--palette {
438
  margin-right: 0;
439
  margin-left: 10px;
440
  }
442
  /**
443
  * 02. 22. Field: accordion
444
  */
445
+ .ulf-field-accordion .ulf--icon {
446
  margin-right: 0;
447
  margin-left: 2px;
448
  }
450
  /**
451
  * 02. 23. Field: date
452
  */
453
+ .ulf-field-date .ulf--to {
454
  margin-left: 0;
455
  margin-right: 7px;
456
  }
458
  /**
459
  * 02. 24. Field: map
460
  */
461
+ .ulf-field-map .ulf--map-input:last-child {
462
  padding-left: 0;
463
  padding-right: 10px;
464
  }
466
  /**
467
  * 02. 25. Field: sortable
468
  */
469
+ .ulf-field-sortable .ulf--sortable-helper {
470
  border-left: none;
471
  border-right: 1px solid #eee;
472
  }
474
  /**
475
  * 02. 26. Field: number
476
  */
477
+ .ulf-field-number .ulf--wrap {
478
  float: right;
479
  }
480
 
481
  /**
482
  * 03. Taxonomy
483
  */
484
+ .ulf-taxonomy-add-fields {
485
  margin-right: 0;
486
  margin-left: 30px;
487
  }
488
+ .ulf-taxonomy-add-fields .ulf-field > .ulf-fieldset > .ulf-help {
489
  left: -5px;
490
  right: auto;
491
  }
492
 
493
+ .ulf-taxonomy-edit-fields {
494
  margin-right: 0;
495
  margin-left: 35px;
496
  }
497
+ .ulf-taxonomy-edit-fields .ulf-field > .ulf-fieldset > .ulf-help {
498
  right: auto;
499
  left: -5px;
500
  }
502
  /**
503
  * 04. Profile
504
  */
505
+ .ulf-profile-options > h2 > .fa {
506
  padding-right: 0;
507
  padding-left: 7px;
508
  }
509
+ .ulf-profile-options > .ulf-field > .ulf-fieldset > .ulf-help {
510
  left: -5px;
511
  right: auto;
512
  }
514
  /**
515
  * 05. Nav Menu
516
  */
517
+ .ulf-nav-menu-options > .ulf-fields {
518
  margin-left: 0;
519
  margin-right: -10px;
520
  }
521
 
522
+ .ulf-nav-menu-title {
523
  padding-left: 14px;
524
  padding-right: 12px;
525
  }
526
 
527
+ .ulf-nav-menu-icon {
528
  margin-right: 0;
529
  margin-left: 5px;
530
  }
532
  /**
533
  * 06. Modal
534
  */
535
+ .ulf-modal-content .ulf-field {
536
  padding: 15px 15px 15px 30px;
537
  }
538
 
539
+ .ulf-modal-title {
540
  padding: 0 16px 0 36px;
541
  }
542
 
543
+ .ulf-modal-close {
544
  right: auto;
545
  left: 0;
546
  }
548
  /**
549
  * 07. Customizer
550
  */
551
+ .control-section .ulf-field .ulf-fieldset {
552
  margin-right: 0;
553
  }
554
 
556
  * 08. Responsive
557
  */
558
  @media only screen and (max-width: 1200px) {
559
+ .ulf-metabox .ulf-field .ulf-fieldset {
560
  margin-left: 0;
561
  }
562
  }
563
  @media only screen and (max-width: 782px) {
564
+ .ulf .ulf-fieldset,
565
+ .ulf .ulf-content {
566
  margin-right: 0;
567
  }
568
  }
569
  /**
570
  * 09. Others
571
  */
572
+ .ulf-field .ulf--transparent-slider {
573
  margin-left: 0;
574
  margin-right: 2px;
575
  }
576
+ .ulf-field .ulf--transparent-slider .ui-slider-handle {
577
  margin: 0 -11px;
578
  }
579
+ .ulf-field .ulf--transparent-offset {
580
  background-position: center right;
581
  }
582
+ .ulf-field .ulf--transparent-text {
583
  right: auto;
584
  left: 10px;
585
  }
admin/settings/assets/css/style-rtl.min.css CHANGED
@@ -1 +1 @@
1
- .csf-options{margin-left:20px;margin-right:0}.csf-header h1{float:right}.csf-header fieldset{float:left}.csf-buttons{float:left;direction:ltr}.csf-header-left{float:right}.csf-header-right{float:left}.csf-nav{float:right}.csf-nav ul{clear:right}.csf-nav ul li .csf-active:after{right:auto;left:0;border-left-color:#fff;border-right-color:transparent}.csf-nav ul li .csf-arrow:after{content:"\f053";right:auto;left:10px}.csf-nav ul li.csf-tab-expanded .csf-arrow:after{-moz-transform:rotate(-90deg);-ms-transform:rotate(-90deg);-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.csf-nav ul ul li a{padding-right:25px;padding-left:15px}.csf-nav ul ul:before{left:auto;right:15px}.csf-nav .csf-tab-icon{margin-left:5px;margin-right:0}.csf-nav-background{left:auto;right:0}.csf-content{margin-left:0;margin-right:225px}.csf-sections{float:right}.csf-show-all .csf-content{margin-right:0;overflow:hidden}.csf-expand-all{float:right;right:auto;left:40px;margin-right:0;margin-left:4px}.csf-search{float:right}.csf-search input{margin:0 0 0 5px}.csf-copyright{float:right}.csf-metabox{margin:-6px -12px -12px -12px}.csf-metabox .csf-section-title{padding:20px}.csf-section-title .csf-section-icon{margin-left:5px;margin-right:0}.csf-field .csf-title{float:right}.csf-field .csf-fieldset{float:left}.csf-pseudo-field{padding:0 0 0 5px!important}.csf-field-typography select{margin:0;width:100%}.csf-field-typography .csf--blocks-inputs .csf--blocks{flex-direction:row-reverse}.csf-field-checkbox ul ul li,.csf-field-radio ul ul li{margin-left:0;margin-right:8px}.csf-field-checkbox ul ul li:first-child,.csf-field-radio ul ul li:first-child{margin-right:0}.csf-field-checkbox .csf--inline-list li,.csf-field-radio .csf--inline-list li{margin-right:0;margin-left:15px}.csf-field-checkbox .csf--text,.csf-field-radio .csf--text{margin-left:0;margin-right:5px}.csf-field-switcher .csf--switcher{float:right}.csf-field-switcher .csf--label{float:right;margin-left:0;margin-right:5px}.csf-field-upload .csf--button,.csf-field-upload .csf--remove{margin-left:0;margin-right:5px}.csf-field-group .csf-cloneable-title{padding:15px 10px 15px 65px}.csf-field-group .csf-cloneable-helper{right:auto;left:10px}.csf-field-repeater .csf-repeater-helper{border-left:0;border-right:1px solid #eee}.csf-help{right:auto;left:5px}.csf-field-icon .button{margin-right:0;margin-left:5px}.csf-field-icon .csf-icon-preview i{margin-right:0;margin-left:5px}.csf-field-gallery ul li{margin-right:0;margin-left:5px}.csf-field-gallery .button{margin-right:0;margin-left:5px}.csf-field-tabbed .csf-tabbed-nav .csf--icon{padding-right:0;padding-left:5px}.csf-field-tabbed .csf-tabbed-nav a{margin-right:0;margin-left:5px}.csf-field-media .button{margin-left:0;margin-right:7px}.csf-field-media .hidden+.button{margin-right:0}.csf-notice{border-left:none;border-right-style:solid;border-right-width:4px}.csf-field-border .csf--input,.csf-field-border .csf-fieldset,.csf-field-dimensions .csf--input,.csf-field-dimensions .csf-fieldset,.csf-field-spacing .csf--input,.csf-field-spacing .csf-fieldset{direction:ltr}.csf-field-border .csf--color,.csf-field-border .csf--inputs,.csf-field-dimensions .csf--color,.csf-field-dimensions .csf--inputs,.csf-field-spacing .csf--color,.csf-field-spacing .csf--inputs{float:right}.csf-field-border .csf--color,.csf-field-dimensions .csf--color,.csf-field-spacing .csf--color{margin-right:4px;direction:rtl}.csf-field-background .csf--block{float:right}.csf-field-background .csf--media,.csf-field-background .csf--select{padding-right:0}.csf-field-background .csf--title{margin-right:0;margin-left:5px}.csf-field-spinner .csf--spin{float:right;direction:ltr}.csf-field-slider .csf-slider-ui{direction:ltr;margin-right:0;margin-left:15px}.csf-field-slider .csf--input{direction:ltr}.csf-field-button_set .csf--button-group{float:right}.csf-field-link_color .csf--left{float:right;margin-right:0;margin-left:10px}.csf-field-color_group .csf--left{float:right;margin-right:0;margin-left:10px}.csf-field-palette .csf--palette{margin-right:0;margin-left:10px}.csf-field-accordion .csf--icon{margin-right:0;margin-left:2px}.csf-field-date .csf--to{margin-left:0;margin-right:7px}.csf-field-map .csf--map-input:last-child{padding-left:0;padding-right:10px}.csf-field-sortable .csf--sortable-helper{border-left:none;border-right:1px solid #eee}.csf-field-number .csf--wrap{float:right}.csf-taxonomy-add-fields{margin-right:0;margin-left:30px}.csf-taxonomy-add-fields .csf-field>.csf-fieldset>.csf-help{left:-5px;right:auto}.csf-taxonomy-edit-fields{margin-right:0;margin-left:35px}.csf-taxonomy-edit-fields .csf-field>.csf-fieldset>.csf-help{right:auto;left:-5px}.csf-profile-options>h2>.fa{padding-right:0;padding-left:7px}.csf-profile-options>.csf-field>.csf-fieldset>.csf-help{left:-5px;right:auto}.csf-nav-menu-options>.csf-fields{margin-left:0;margin-right:-10px}.csf-nav-menu-title{padding-left:14px;padding-right:12px}.csf-nav-menu-icon{margin-right:0;margin-left:5px}.csf-modal-content .csf-field{padding:15px 15px 15px 30px}.csf-modal-title{padding:0 16px 0 36px}.csf-modal-close{right:auto;left:0}.control-section .csf-field .csf-fieldset{margin-right:0}@media only screen and (max-width:1200px){.csf-metabox .csf-field .csf-fieldset{margin-left:0}}@media only screen and (max-width:782px){.csf .csf-content,.csf .csf-fieldset{margin-right:0}}.csf-field .csf--transparent-slider{margin-left:0;margin-right:2px}.csf-field .csf--transparent-slider .ui-slider-handle{margin:0 -11px}.csf-field .csf--transparent-offset{background-position:center right}.csf-field .csf--transparent-text{right:auto;left:10px}
1
+ .ulf-options{margin-left:20px;margin-right:0}.ulf-header h1{float:right}.ulf-header fieldset{float:left}.ulf-buttons{float:left;direction:ltr}.ulf-header-left{float:right}.ulf-header-right{float:left}.ulf-nav{float:right}.ulf-nav ul{clear:right}.ulf-nav ul li .ulf-active:after{right:auto;left:0;border-left-color:#fff;border-right-color:transparent}.ulf-nav ul li .ulf-arrow:after{content:"\f053";right:auto;left:10px}.ulf-nav ul li.ulf-tab-expanded .ulf-arrow:after{-moz-transform:rotate(-90deg);-ms-transform:rotate(-90deg);-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.ulf-nav ul ul li a{padding-right:25px;padding-left:15px}.ulf-nav ul ul:before{left:auto;right:15px}.ulf-nav .ulf-tab-icon{margin-left:5px;margin-right:0}.ulf-nav-background{left:auto;right:0}.ulf-content{margin-left:0;margin-right:225px}.ulf-sections{float:right}.ulf-show-all .ulf-content{margin-right:0;overflow:hidden}.ulf-expand-all{float:right;right:auto;left:40px;margin-right:0;margin-left:4px}.ulf-search{float:right}.ulf-search input{margin:0 0 0 5px}.ulf-copyright{float:right}.ulf-metabox{margin:-6px -12px -12px -12px}.ulf-metabox .ulf-section-title{padding:20px}.ulf-section-title .ulf-section-icon{margin-left:5px;margin-right:0}.ulf-field .ulf-title{float:right}.ulf-field .ulf-fieldset{float:left}.ulf-pseudo-field{padding:0 0 0 5px!important}.ulf-field-typography select{margin:0;width:100%}.ulf-field-typography .ulf--blocks-inputs .ulf--blocks{flex-direction:row-reverse}.ulf-field-checkbox ul ul li,.ulf-field-radio ul ul li{margin-left:0;margin-right:8px}.ulf-field-checkbox ul ul li:first-child,.ulf-field-radio ul ul li:first-child{margin-right:0}.ulf-field-checkbox .ulf--inline-list li,.ulf-field-radio .ulf--inline-list li{margin-right:0;margin-left:15px}.ulf-field-checkbox .ulf--text,.ulf-field-radio .ulf--text{margin-left:0;margin-right:5px}.ulf-field-switcher .ulf--switcher{float:right}.ulf-field-switcher .ulf--label{float:right;margin-left:0;margin-right:5px}.ulf-field-upload .ulf--button,.ulf-field-upload .ulf--remove{margin-left:0;margin-right:5px}.ulf-field-group .ulf-cloneable-title{padding:15px 10px 15px 65px}.ulf-field-group .ulf-cloneable-helper{right:auto;left:10px}.ulf-field-repeater .ulf-repeater-helper{border-left:0;border-right:1px solid #eee}.ulf-help{right:auto;left:5px}.ulf-field-icon .button{margin-right:0;margin-left:5px}.ulf-field-icon .ulf-icon-preview i{margin-right:0;margin-left:5px}.ulf-field-gallery ul li{margin-right:0;margin-left:5px}.ulf-field-gallery .button{margin-right:0;margin-left:5px}.ulf-field-tabbed .ulf-tabbed-nav .ulf--icon{padding-right:0;padding-left:5px}.ulf-field-tabbed .ulf-tabbed-nav a{margin-right:0;margin-left:5px}.ulf-field-media .button{margin-left:0;margin-right:7px}.ulf-field-media .hidden+.button{margin-right:0}.ulf-notice{border-left:none;border-right-style:solid;border-right-width:4px}.ulf-field-border .ulf--input,.ulf-field-border .ulf-fieldset,.ulf-field-dimensions .ulf--input,.ulf-field-dimensions .ulf-fieldset,.ulf-field-spacing .ulf--input,.ulf-field-spacing .ulf-fieldset{direction:ltr}.ulf-field-border .ulf--color,.ulf-field-border .ulf--inputs,.ulf-field-dimensions .ulf--color,.ulf-field-dimensions .ulf--inputs,.ulf-field-spacing .ulf--color,.ulf-field-spacing .ulf--inputs{float:right}.ulf-field-border .ulf--color,.ulf-field-dimensions .ulf--color,.ulf-field-spacing .ulf--color{margin-right:4px;direction:rtl}.ulf-field-background .ulf--block{float:right}.ulf-field-background .ulf--media,.ulf-field-background .ulf--select{padding-right:0}.ulf-field-background .ulf--title{margin-right:0;margin-left:5px}.ulf-field-spinner .ulf--spin{float:right;direction:ltr}.ulf-field-slider .ulf-slider-ui{direction:ltr;margin-right:0;margin-left:15px}.ulf-field-slider .ulf--input{direction:ltr}.ulf-field-button_set .ulf--button-group{float:right}.ulf-field-link_color .ulf--left{float:right;margin-right:0;margin-left:10px}.ulf-field-color_group .ulf--left{float:right;margin-right:0;margin-left:10px}.ulf-field-palette .ulf--palette{margin-right:0;margin-left:10px}.ulf-field-accordion .ulf--icon{margin-right:0;margin-left:2px}.ulf-field-date .ulf--to{margin-left:0;margin-right:7px}.ulf-field-map .ulf--map-input:last-child{padding-left:0;padding-right:10px}.ulf-field-sortable .ulf--sortable-helper{border-left:none;border-right:1px solid #eee}.ulf-field-number .ulf--wrap{float:right}.ulf-taxonomy-add-fields{margin-right:0;margin-left:30px}.ulf-taxonomy-add-fields .ulf-field>.ulf-fieldset>.ulf-help{left:-5px;right:auto}.ulf-taxonomy-edit-fields{margin-right:0;margin-left:35px}.ulf-taxonomy-edit-fields .ulf-field>.ulf-fieldset>.ulf-help{right:auto;left:-5px}.ulf-profile-options>h2>.fa{padding-right:0;padding-left:7px}.ulf-profile-options>.ulf-field>.ulf-fieldset>.ulf-help{left:-5px;right:auto}.ulf-nav-menu-options>.ulf-fields{margin-left:0;margin-right:-10px}.ulf-nav-menu-title{padding-left:14px;padding-right:12px}.ulf-nav-menu-icon{margin-right:0;margin-left:5px}.ulf-modal-content .ulf-field{padding:15px 15px 15px 30px}.ulf-modal-title{padding:0 16px 0 36px}.ulf-modal-close{right:auto;left:0}.control-section .ulf-field .ulf-fieldset{margin-right:0}@media only screen and (max-width:1200px){.ulf-metabox .ulf-field .ulf-fieldset{margin-left:0}}@media only screen and (max-width:782px){.ulf .ulf-content,.ulf .ulf-fieldset{margin-right:0}}.ulf-field .ulf--transparent-slider{margin-left:0;margin-right:2px}.ulf-field .ulf--transparent-slider .ui-slider-handle{margin:0 -11px}.ulf-field .ulf--transparent-offset{background-position:center right}.ulf-field .ulf--transparent-text{right:auto;left:10px}
admin/settings/assets/css/style.css CHANGED
@@ -82,24 +82,24 @@
82
  /**
83
  * 01. Base
84
  */
85
- .csf {
86
  position: relative;
87
  }
88
- .csf label {
89
  padding: 0;
90
  margin: 0;
91
  display: inline-block;
92
  }
93
 
94
- .csf-ab-icon {
95
  top: 2px;
96
  }
97
 
98
- #screen-meta-links + .csf-options {
99
  margin-top: 40px;
100
  }
101
 
102
- .csf-options {
103
  margin-top: 20px;
104
  margin-right: 20px;
105
  }
@@ -107,22 +107,22 @@
107
  /**
108
  * 01. 01. Header
109
  */
110
- .csf-header {
111
  position: relative;
112
  }
113
 
114
- .csf-header-inner {
115
  padding: 25px;
116
  transition: box-shadow .3s ease;
117
  }
118
- .csf-header-inner h1 {
119
  float: left;
120
  font-size: 1.5em;
121
  line-height: 26px;
122
  font-weight: 400;
123
  margin: 0;
124
  }
125
- .csf-header-inner h1 small {
126
  font-size: 11px;
127
  font-weight: 500;
128
  }
@@ -130,7 +130,7 @@
130
  /**
131
  * 01. 02. Sticky
132
  */
133
- .csf-sticky .csf-header-inner {
134
  position: fixed;
135
  z-index: 99;
136
  top: 32px;
@@ -142,52 +142,52 @@
142
  /**
143
  * 01. 03. Header Buttons
144
  */
145
- .csf-buttons {
146
  float: right;
147
  -moz-transition: opacity 0.2s;
148
  -o-transition: opacity 0.2s;
149
  -webkit-transition: opacity 0.2s;
150
  transition: opacity 0.2s;
151
  }
152
- .csf-buttons .button {
153
  margin: 0 2px;
154
  line-height: 26px;
155
  }
156
- .csf-buttons .button:focus {
157
  outline: none !important;
158
  box-shadow: none !important;
159
  }
160
- .csf-buttons .csf-save {
161
  min-width: 72px;
162
  }
163
 
164
- .csf-header-left {
165
  float: left;
166
  }
167
 
168
- .csf-header-right {
169
  float: right;
170
  }
171
 
172
  /**
173
  * 01. 04. Navigation
174
  */
175
- .csf-nav {
176
  display: block;
177
  position: relative;
178
  z-index: 10;
179
  float: left;
180
  width: 225px;
181
  }
182
- .csf-nav ul {
183
  clear: left;
184
  margin: 0;
185
  list-style-type: none;
186
  }
187
- .csf-nav ul li {
188
  margin-bottom: 0;
189
  }
190
- .csf-nav ul li a {
191
  font-size: 13px;
192
  position: relative;
193
  display: block;
@@ -197,13 +197,13 @@
197
  transition-duration: 0.2s;
198
  transition-timing-function: ease;
199
  }
200
- .csf-nav ul li a:focus {
201
  outline: none;
202
  -moz-box-shadow: none;
203
  -webkit-box-shadow: none;
204
  box-shadow: none;
205
  }
206
- .csf-nav ul li .csf-arrow:after {
207
  content: "\f054";
208
  display: inline-block;
209
  font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", "FontAwesome";
@@ -219,35 +219,35 @@
219
  -webkit-transform: rotate(0);
220
  transform: rotate(0);
221
  }
222
- .csf-nav ul li.csf-tab-expanded .csf-arrow:after {
223
  -moz-transform: rotate(90deg);
224
  -ms-transform: rotate(90deg);
225
  -webkit-transform: rotate(90deg);
226
  transform: rotate(90deg);
227
  }
228
- .csf-nav ul li.csf-tab-expanded ul {
229
  display: block;
230
  }
231
- .csf-nav ul ul {
232
  display: none;
233
  position: relative;
234
  }
235
- .csf-nav ul ul li a {
236
  font-size: 12px;
237
  padding: 12px 14px 12px 24px;
238
  }
239
- .csf-nav .csf-tab-icon {
240
  width: 20px;
241
  margin-right: 5px;
242
  font-size: 13px;
243
  text-align: center;
244
  }
245
- .csf-nav .csf-label-error {
246
  margin-left: 4px;
247
  vertical-align: top;
248
  }
249
 
250
- .csf-nav-background {
251
  position: absolute;
252
  top: 0;
253
  left: 0;
@@ -259,14 +259,14 @@
259
  /**
260
  * 01. 05. Wrapper
261
  */
262
- .csf-wrapper {
263
  position: relative;
264
  }
265
 
266
  /**
267
  * 01. 06. Content
268
  */
269
- .csf-content {
270
  position: relative;
271
  margin-left: 225px;
272
  background-color: #fff;
@@ -279,37 +279,37 @@
279
  /**
280
  * 01. 07. Section
281
  */
282
- .csf-sections {
283
  float: left;
284
  width: 100%;
285
  }
286
 
287
- .csf-section {
288
  display: none;
289
  }
290
 
291
- .csf-section-title {
292
  display: none;
293
  padding: 20px 30px;
294
  background-color: #f5f5f5;
295
  border-top: 1px solid #eee;
296
  border-bottom: 1px solid #eee;
297
  }
298
- .csf-section-title h3 {
299
  margin: 0;
300
  padding: 0;
301
  font-size: 13px;
302
  font-weight: bold;
303
  text-transform: uppercase;
304
  }
305
- .csf-section-title .csf-section-icon {
306
  margin-right: 5px;
307
  }
308
 
309
  /**
310
  * 01. 08. Footer
311
  */
312
- .csf-footer {
313
  padding: 20px;
314
  font-size: 11px;
315
  }
@@ -317,7 +317,7 @@
317
  /**
318
  * 01. 09. Copyright
319
  */
320
- .csf-copyright {
321
  float: left;
322
  margin-top: 5px;
323
  }
@@ -325,28 +325,28 @@
325
  /**
326
  * 01. 10. Show All Options
327
  */
328
- .csf-search-all .csf-nav-background,
329
- .csf-search-all .csf-nav,
330
- .csf-show-all .csf-nav-background,
331
- .csf-show-all .csf-nav {
332
  display: none;
333
  }
334
- .csf-search-all .csf-content,
335
- .csf-show-all .csf-content {
336
  margin-left: 0;
337
  }
338
- .csf-search-all .csf-section-title,
339
- .csf-search-all .csf-section,
340
- .csf-show-all .csf-section-title,
341
- .csf-show-all .csf-section {
342
  display: block !important;
343
  }
344
 
345
- .csf-search-all .csf-section-title {
346
  display: none !important;
347
  }
348
 
349
- .csf-expand-all {
350
  float: left;
351
  padding: 0 8px;
352
  margin-right: 4px;
@@ -363,7 +363,7 @@
363
  -webkit-transition: all 0.2s;
364
  transition: all 0.2s;
365
  }
366
- .csf-expand-all span {
367
  font-size: 11px;
368
  vertical-align: middle;
369
  }
@@ -371,10 +371,10 @@
371
  /**
372
  * 01. 11. Search Input
373
  */
374
- .csf-search {
375
  float: left;
376
  }
377
- .csf-search input {
378
  margin: 0 2px 0 0;
379
  border: none;
380
  font-size: 12px;
@@ -389,14 +389,14 @@
389
  -webkit-box-shadow: none;
390
  box-shadow: none;
391
  }
392
- .csf-search input:focus {
393
  -moz-box-shadow: none;
394
  -webkit-box-shadow: none;
395
  box-shadow: none;
396
  }
397
 
398
- .csf-saving .csf-buttons,
399
- .csf-saving .csf-content {
400
  cursor: default;
401
  pointer-events: none;
402
  opacity: 0.5;
@@ -405,26 +405,26 @@
405
  /**
406
  * 01. 12. Metabox
407
  */
408
- .csf-metabox {
409
  margin: -6px -12px -12px -12px;
410
  }
411
- .csf-metabox .csf-field {
412
  padding: 20px;
413
  }
414
- .csf-metabox .csf-section-title {
415
  padding: 20px;
416
  }
417
 
418
- .block-editor-page .csf-metabox {
419
  margin: -6px -14px -14px -14px;
420
  }
421
 
422
- .block-editor-editor-skeleton__content .csf-metabox {
423
  border-left: 1px solid #e2e4e7;
424
  border-right: 1px solid #e2e4e7;
425
  }
426
 
427
- .csf-sections-restore {
428
  float: left;
429
  width: 100%;
430
  position: relative;
@@ -432,63 +432,63 @@
432
  text-align: right;
433
  border-top: 1px solid #eee;
434
  }
435
- .csf-sections-restore .csf-button-cancel,
436
- .csf-sections-restore input {
437
  display: none;
438
  }
439
- .csf-sections-restore label {
440
  padding: 10px;
441
  }
442
- .csf-sections-restore span {
443
  -webkit-user-select: none;
444
  user-select: none;
445
  }
446
- .csf-sections-restore input:checked ~ .csf-button-restore {
447
  display: none;
448
  }
449
- .csf-sections-restore input:checked ~ .csf-button-cancel {
450
  display: inline-block;
451
  }
452
 
453
- #side-sortables .csf-section-title {
454
  padding: 12px;
455
  }
456
- #side-sortables .csf-field {
457
  padding: 10px 15px;
458
  }
459
- #side-sortables .csf-field .csf-title {
460
  float: none;
461
  width: 100%;
462
  margin-bottom: 6px;
463
  }
464
- #side-sortables .csf-field .csf-fieldset {
465
  float: none;
466
  width: 100%;
467
  }
468
- #side-sortables .csf-field-text input {
469
  width: 100%;
470
  }
471
- #side-sortables .csf-notice {
472
  padding: 10px 15px;
473
  }
474
 
475
  /**
476
  * 01. 13. Comment Metabox
477
  */
478
- .csf-comment-metabox {
479
  margin: -6px -12px -12px -12px;
480
  }
481
- .csf-comment-metabox .csf-field {
482
  padding: 20px;
483
  }
484
- .csf-comment-metabox .csf-section-title {
485
  padding: 20px;
486
  }
487
 
488
  /**
489
  * 01. 14. Help Tooltip
490
  */
491
- .csf-tooltip {
492
  position: absolute;
493
  z-index: 5000001;
494
  font-size: 12px;
@@ -511,46 +511,46 @@
511
  /**
512
  * 02. 01. Theme Dark
513
  */
514
- .csf-theme-dark .csf-header-inner {
515
  background-color: #050505;
516
  }
517
- .csf-theme-dark .csf-header-inner h1 {
518
  color: #fff;
519
  }
520
- .csf-theme-dark .csf-header-inner h1 small {
521
  color: #555;
522
  }
523
- .csf-theme-dark .csf-expand-all {
524
  color: #999;
525
  background-color: #222;
526
  }
527
- .csf-theme-dark .csf-expand-all:hover {
528
  color: #fff;
529
  background-color: #333;
530
  }
531
- .csf-theme-dark .csf-search input {
532
  color: #fff;
533
  background-color: #222;
534
  }
535
- .csf-theme-dark .csf-search:focus {
536
  background-color: #444;
537
  }
538
- .csf-theme-dark .csf-search::-webkit-input-placeholder {
539
  color: #666;
540
  }
541
- .csf-theme-dark .csf-nav ul li a {
542
  color: #999;
543
  background-color: #222;
544
  border-bottom: 1px solid #2f2f2f;
545
  }
546
- .csf-theme-dark .csf-nav ul li a:hover {
547
  color: #fff;
548
  }
549
- .csf-theme-dark .csf-nav ul li .csf-active {
550
  color: #fff;
551
  background-color: #111;
552
  }
553
- .csf-theme-dark .csf-nav ul li .csf-active:after {
554
  content: " ";
555
  position: absolute;
556
  right: 0;
@@ -563,23 +563,23 @@
563
  border-width: 4px;
564
  margin-top: -4px;
565
  }
566
- .csf-theme-dark .csf-nav ul ul li a {
567
  background-color: #191919;
568
  border-bottom: 1px solid #2f2f2f;
569
  }
570
- .csf-theme-dark .csf-nav ul ul li .csf-active {
571
  background-color: #101010;
572
  }
573
- .csf-theme-dark .csf-nav ul ul:before {
574
  background-color: rgba(34, 34, 34, 0.75);
575
  }
576
- .csf-theme-dark .csf-nav > ul > li:last-child > a {
577
  border-bottom: none;
578
  }
579
- .csf-theme-dark .csf-nav-background {
580
  background-color: #222;
581
  }
582
- .csf-theme-dark .csf-footer {
583
  color: #555;
584
  background-color: #050505;
585
  }
@@ -587,47 +587,47 @@
587
  /**
588
  * 02. 02. Theme Light
589
  */
590
- .csf-theme-light .csf-container {
591
  border: 1px solid #ccd0d4;
592
  -moz-box-shadow: 0 0 15px rgba(0, 0, 0, 0.04);
593
  -webkit-box-shadow: 0 0 15px rgba(0, 0, 0, 0.04);
594
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.04);
595
  }
596
- .csf-theme-light .csf-header-inner {
597
  border-bottom: 1px solid #ccd0d4;
598
  background-color: #f5f5f5;
599
  background: linear-gradient(#fefefe, #f5f5f5);
600
  }
601
- .csf-theme-light .csf-header-inner h1 small {
602
  color: #999;
603
  }
604
- .csf-theme-light .csf-expand-all {
605
  color: #999;
606
  background-color: #eee;
607
  }
608
- .csf-theme-light .csf-expand-all:hover {
609
  color: #555;
610
  }
611
- .csf-theme-light .csf-search input {
612
  color: #555;
613
  background-color: #eee;
614
  }
615
- .csf-theme-light .csf-search input::-webkit-input-placeholder {
616
  color: #999;
617
  }
618
- .csf-theme-light .csf-nav ul li a {
619
  color: #666;
620
  background-color: #f5f5f5;
621
  border-bottom: 1px solid #ccd0d4;
622
  }
623
- .csf-theme-light .csf-nav ul li a:hover {
624
  color: #222;
625
  }
626
- .csf-theme-light .csf-nav ul li .csf-active {
627
  color: #222;
628
  background-color: #fff;
629
  }
630
- .csf-theme-light .csf-nav ul li .csf-active:after {
631
  content: "";
632
  position: absolute;
633
  top: 0;
@@ -636,18 +636,18 @@
636
  width: 1px;
637
  background-color: #fff;
638
  }
639
- .csf-theme-light .csf-nav ul ul li a {
640
  background-color: #eee;
641
  border-bottom: 1px solid #ccd0d4;
642
  }
643
- .csf-theme-light .csf-nav > ul > li:last-child > a {
644
  border-bottom: none;
645
  }
646
- .csf-theme-light .csf-nav-background {
647
  background-color: #f5f5f5;
648
  border-right: 1px solid #ccd0d4;
649
  }
650
- .csf-theme-light .csf-footer {
651
  color: #555;
652
  border-top: 1px solid #ccd0d4;
653
  background-color: #f5f5f5;
@@ -657,68 +657,68 @@
657
  /**
658
  * 03. Fields
659
  */
660
- .csf-field {
661
  position: relative;
662
  padding: 30px;
663
  }
664
- .csf-field + .csf-field {
665
  border-top: 1px solid #eee;
666
  }
667
- .csf-field p:first-child {
668
  margin-top: 0;
669
  }
670
- .csf-field p:last-child {
671
  margin-bottom: 0;
672
  }
673
- .csf-field:after, .csf-field:before {
674
  content: " ";
675
  display: table;
676
  }
677
- .csf-field:after {
678
  clear: both;
679
  }
680
- .csf-field h4 {
681
  margin-top: 0;
682
  }
683
- .csf-field .csf-title {
684
  position: relative;
685
  width: 20%;
686
  float: left;
687
  }
688
- .csf-field .csf-title h4 {
689
  margin: 0;
690
  color: #23282d;
691
  }
692
- .csf-field .csf-fieldset {
693
  float: right;
694
  width: calc(80% - 20px);
695
  }
696
 
697
- .csf-pseudo-field {
698
  padding: 0 5px 0 0 !important;
699
  display: inline-block;
700
  }
701
- .csf-pseudo-field + .csf-pseudo-field {
702
  border: 0;
703
  }
704
- .csf-pseudo-field pre {
705
  display: none;
706
  }
707
 
708
  /**
709
  * 03. 02. Field: accordion
710
  */
711
- .csf-field-accordion .csf-accordion-item {
712
  position: relative;
713
  margin-bottom: 5px;
714
  }
715
- .csf-field-accordion .csf-accordion-item:last-child {
716
  margin-bottom: 0;
717
  }
718
- .csf-field-accordion .csf-accordion-item h4 {
719
  font-size: 1em;
720
  }
721
- .csf-field-accordion .csf-accordion-title {
722
  display: block;
723
  cursor: pointer;
724
  position: relative;
@@ -732,20 +732,20 @@
732
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
733
  transition: border-color .15s;
734
  }
735
- .csf-field-accordion .csf-accordion-title:active, .csf-field-accordion .csf-accordion-title:hover, .csf-field-accordion .csf-accordion-title:focus {
736
  outline: none;
737
  border-color: #999;
738
  }
739
- .csf-field-accordion .csf-accordion-title .csf--icon {
740
  width: 20px;
741
  text-align: center;
742
  margin-right: 2px;
743
  }
744
- .csf-field-accordion .csf-accordion-icon {
745
  width: 16px;
746
  text-align: center;
747
  }
748
- .csf-field-accordion .csf-accordion-content {
749
  display: none;
750
  padding: 0;
751
  border: 1px solid #ccd0d4;
@@ -753,58 +753,58 @@
753
  background-color: #fff;
754
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
755
  }
756
- .csf-field-accordion .csf-accordion-content > .csf-field {
757
  padding: 15px;
758
  }
759
- .csf-field-accordion .csf-accordion-open {
760
  display: block;
761
  }
762
 
763
  /**
764
  * 03. 03. Field: background
765
  */
766
- .csf-field-background .csf-field {
767
  border: 0 !important;
768
  padding: 0;
769
  margin-bottom: 6px;
770
  margin-right: 6px;
771
  }
772
- .csf-field-background .csf--title {
773
  color: #777;
774
  font-size: 12px;
775
  }
776
- .csf-field-background .csf--background-colors {
777
  display: flex;
778
  flex-wrap: wrap;
779
  }
780
- .csf-field-background .csf--background-attributes {
781
  display: flex;
782
  flex-wrap: wrap;
783
  }
784
- .csf-field-background .csf--background-attributes select {
785
  min-width: 100%;
786
  margin: 0;
787
  }
788
- .csf-field-background .csf--background-attributes .csf-field {
789
  flex: 1;
790
  }
791
- .csf-field-background .csf--attributes-hidden {
792
  display: none;
793
  }
794
 
795
  /**
796
  * 03. 04. Field: backup
797
  */
798
- .csf-field-backup textarea {
799
  width: 100%;
800
  min-height: 200px;
801
  margin-bottom: 5px;
802
  }
803
- .csf-field-backup small {
804
  display: inline-block;
805
  margin: 5px;
806
  }
807
- .csf-field-backup hr {
808
  margin: 20px 0;
809
  border: none;
810
  border-bottom: 1px solid #e5e5e5;
@@ -813,29 +813,29 @@
813
  /**
814
  * 03. 05. Field: border, spacing, dimensions
815
  */
816
- .csf-field-border .csf--inputs,
817
- .csf-field-spacing .csf--inputs,
818
- .csf-field-dimensions .csf--inputs {
819
  float: left;
820
  display: flex;
821
  flex-wrap: wrap;
822
  }
823
- .csf-field-border .csf--input,
824
- .csf-field-spacing .csf--input,
825
- .csf-field-dimensions .csf--input {
826
  display: flex;
827
  padding-right: 6px;
828
  padding-bottom: 4px;
829
  box-sizing: border-box;
830
  }
831
- .csf-field-border .csf--input select,
832
- .csf-field-spacing .csf--input select,
833
- .csf-field-dimensions .csf--input select {
834
  margin: 0;
835
  }
836
- .csf-field-border .csf--input input,
837
- .csf-field-spacing .csf--input input,
838
- .csf-field-dimensions .csf--input input {
839
  position: relative;
840
  z-index: 1;
841
  margin: 0;
@@ -843,14 +843,14 @@
843
  max-width: 100%;
844
  text-align: center;
845
  }
846
- .csf-field-border .csf--color,
847
- .csf-field-spacing .csf--color,
848
- .csf-field-dimensions .csf--color {
849
  float: left;
850
  }
851
- .csf-field-border .csf--label,
852
- .csf-field-spacing .csf--label,
853
- .csf-field-dimensions .csf--label {
854
  display: flex;
855
  flex-direction: column;
856
  justify-content: center;
@@ -864,27 +864,27 @@
864
  border: 1px solid #7B776C;
865
  background-color: #f5f5f5;
866
  }
867
- .csf-field-border .csf--icon,
868
- .csf-field-spacing .csf--icon,
869
- .csf-field-dimensions .csf--icon {
870
  border-right: 0;
871
  border-radius: 4px 0 0 4px;
872
  }
873
- .csf-field-border .csf--icon + input,
874
- .csf-field-spacing .csf--icon + input,
875
- .csf-field-dimensions .csf--icon + input {
876
  border-top-left-radius: 0;
877
  border-bottom-left-radius: 0;
878
  }
879
- .csf-field-border .csf--unit,
880
- .csf-field-spacing .csf--unit,
881
- .csf-field-dimensions .csf--unit {
882
  border-left: 0;
883
  border-radius: 0 4px 4px 0;
884
  }
885
- .csf-field-border .csf--is-unit,
886
- .csf-field-spacing .csf--is-unit,
887
- .csf-field-dimensions .csf--is-unit {
888
  border-top-right-radius: 0;
889
  border-bottom-right-radius: 0;
890
  }
@@ -892,10 +892,10 @@
892
  /**
893
  * 03. 06. Field: button_set
894
  */
895
- .csf-field-button_set .csf--buttons {
896
  display: inline-block;
897
  }
898
- .csf-field-button_set .csf--button {
899
  position: relative;
900
  z-index: 1;
901
  float: left;
@@ -910,86 +910,86 @@
910
  -webkit-user-select: none;
911
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
912
  }
913
- .csf-field-button_set .csf--button:first-child {
914
  border-radius: 4px 0 0 4px;
915
  }
916
- .csf-field-button_set .csf--button:last-child {
917
  border-radius: 0 4px 4px 0;
918
  }
919
- .csf-field-button_set .csf--button:not(:first-child) {
920
  margin-left: -1px;
921
  }
922
- .csf-field-button_set .csf--button:hover {
923
  background-color: #eee;
924
  }
925
- .csf-field-button_set .csf--active:hover,
926
- .csf-field-button_set .csf--active {
927
  z-index: 2;
928
  color: #fff;
929
  border-color: #006799;
930
  background-color: #0085ba;
931
  }
932
- .csf-field-button_set input {
933
  display: none;
934
  }
935
 
936
  /**
937
  * 03. 07. Field: checkbox, radio
938
  */
939
- .csf-field-checkbox ul,
940
- .csf-field-radio ul {
941
  margin: 0;
942
  padding: 0;
943
  list-style-type: none;
944
  overflow-y: auto;
945
  max-height: 305px;
946
  }
947
- .csf-field-checkbox ul li,
948
- .csf-field-radio ul li {
949
  margin-bottom: 6px;
950
  }
951
- .csf-field-checkbox ul ul,
952
- .csf-field-radio ul ul {
953
  max-height: none;
954
  }
955
- .csf-field-checkbox ul ul li,
956
- .csf-field-radio ul ul li {
957
  margin-left: 8px;
958
  }
959
- .csf-field-checkbox ul ul li:first-child,
960
- .csf-field-radio ul ul li:first-child {
961
  margin-left: 0;
962
  }
963
- .csf-field-checkbox input,
964
- .csf-field-radio input {
965
  margin: 0 1px;
966
  }
967
- .csf-field-checkbox .csf--inline-list li,
968
- .csf-field-radio .csf--inline-list li {
969
  display: inline-block;
970
  margin-right: 15px;
971
  }
972
- .csf-field-checkbox .csf--text,
973
- .csf-field-radio .csf--text {
974
  margin-left: 5px;
975
  vertical-align: middle;
976
  }
977
- .csf-field-checkbox .csf-checker,
978
- .csf-field-radio .csf-checker {
979
  cursor: pointer;
980
  }
981
 
982
  /**
983
  * 03. 08. Field: code_editor
984
  */
985
- .csf-field-code_editor .CodeMirror {
986
  width: 100%;
987
  height: 400px;
988
  }
989
- .csf-field-code_editor .cm-s-default {
990
  border: 1px solid #ccd0d4;
991
  }
992
- .csf-field-code_editor textarea {
993
  width: 100%;
994
  height: 400px;
995
  }
@@ -997,12 +997,12 @@
997
  /**
998
  * 03. 09. Field: color
999
  */
1000
- .csf-field-color > input {
1001
  opacity: 0.75;
1002
  width: 115px;
1003
  max-width: 100%;
1004
  }
1005
- .csf-field-color .button.wp-picker-clear {
1006
  padding: 0 8px;
1007
  margin-left: 6px;
1008
  line-height: 2.54545455;
@@ -1012,12 +1012,12 @@
1012
  /**
1013
  * 03. 10. Field: color_group
1014
  */
1015
- .csf-field-color_group .csf--left {
1016
  float: left;
1017
  margin-right: 10px;
1018
  margin-bottom: 5px;
1019
  }
1020
- .csf-field-color_group .csf--title {
1021
  color: #999;
1022
  margin-bottom: 5px;
1023
  }
@@ -1025,29 +1025,29 @@
1025
  /**
1026
  * 03. 11. Field: fieldset
1027
  */
1028
- .csf-field-fieldset .csf-fieldset-content {
1029
  border: 1px solid #ccd0d4;
1030
  background-color: #fff;
1031
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
1032
  }
1033
- .csf-field-fieldset .csf-fieldset-content > .csf-field {
1034
  padding: 15px;
1035
  }
1036
- .csf-field-fieldset .csf-field-subheading {
1037
  font-size: 13px;
1038
  }
1039
 
1040
  /**
1041
  * 03. 12. Field: date
1042
  */
1043
- .csf-field-date input {
1044
  margin: 0;
1045
  }
1046
- .csf-field-date .csf--to {
1047
  margin-left: 7px;
1048
  }
1049
 
1050
- .csf-datepicker-wrapper {
1051
  margin-top: 5px;
1052
  width: auto;
1053
  background-color: #fff;
@@ -1056,7 +1056,7 @@
1056
  -webkit-box-shadow: 0 0 30px rgba(0, 0, 0, 0.15);
1057
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.15);
1058
  }
1059
- .csf-datepicker-wrapper * {
1060
  float: none;
1061
  margin: 0;
1062
  padding: 0;
@@ -1068,21 +1068,21 @@
1068
  border-radius: 0;
1069
  box-shadow: none;
1070
  }
1071
- .csf-datepicker-wrapper .ui-widget-header,
1072
- .csf-datepicker-wrapper .ui-datepicker-header {
1073
  color: #fff;
1074
  background: #00a0d2;
1075
  }
1076
- .csf-datepicker-wrapper .ui-datepicker-header .ui-state-hover {
1077
  cursor: pointer;
1078
  }
1079
- .csf-datepicker-wrapper .ui-datepicker-title {
1080
  font-size: 14px;
1081
  line-height: 40px;
1082
  text-align: center;
1083
  }
1084
- .csf-datepicker-wrapper .ui-datepicker-prev,
1085
- .csf-datepicker-wrapper .ui-datepicker-next {
1086
  position: static;
1087
  top: auto;
1088
  left: auto;
@@ -1100,95 +1100,95 @@
1100
  -webkit-font-smoothing: antialiased;
1101
  -moz-osx-font-smoothing: grayscale;
1102
  }
1103
- .csf-datepicker-wrapper .ui-datepicker-next span,
1104
- .csf-datepicker-wrapper .ui-datepicker-prev span {
1105
  display: none;
1106
  }
1107
- .csf-datepicker-wrapper .ui-datepicker-prev {
1108
  float: left;
1109
  }
1110
- .csf-datepicker-wrapper .ui-datepicker-next {
1111
  float: right;
1112
  }
1113
- .csf-datepicker-wrapper .ui-datepicker-prev:before {
1114
  content: '\f053';
1115
  }
1116
- .csf-datepicker-wrapper .ui-datepicker-next:before {
1117
  content: '\f054';
1118
  }
1119
- .csf-datepicker-wrapper .ui-datepicker-prev-hover,
1120
- .csf-datepicker-wrapper .ui-datepicker-next-hover {
1121
  opacity: 0.75;
1122
  }
1123
- .csf-datepicker-wrapper tbody .ui-datepicker-week-col {
1124
  background-color: #f7f7f7;
1125
  }
1126
- .csf-datepicker-wrapper .ui-datepicker-buttonpane {
1127
  padding: 10px;
1128
  text-align: center;
1129
  background-color: #f7f7f7;
1130
  }
1131
- .csf-datepicker-wrapper .ui-datepicker-buttonpane button {
1132
  cursor: pointer;
1133
  margin: 0 5px;
1134
  padding: 7px 14px;
1135
  border: 1px solid #eee;
1136
  background-color: #fff;
1137
  }
1138
- .csf-datepicker-wrapper select {
1139
  margin: 0 4px;
1140
  }
1141
- .csf-datepicker-wrapper select option {
1142
  color: #555;
1143
  }
1144
- .csf-datepicker-wrapper table {
1145
  font-size: 13px;
1146
  border-collapse: collapse;
1147
  width: 100%;
1148
  }
1149
- .csf-datepicker-wrapper thead {
1150
  color: #fff;
1151
  background: #32373c;
1152
  }
1153
- .csf-datepicker-wrapper th {
1154
  text-align: center;
1155
  padding: 7px;
1156
  border: 1px solid #444;
1157
  }
1158
- .csf-datepicker-wrapper td {
1159
  text-align: center;
1160
  border: 1px solid #f4f4f4;
1161
  }
1162
- .csf-datepicker-wrapper td.ui-datepicker-other-month {
1163
  border: transparent;
1164
  }
1165
- .csf-datepicker-wrapper td .ui-state-default {
1166
  color: #555;
1167
  width: auto;
1168
  display: block;
1169
  padding: 6px 12px;
1170
  }
1171
- .csf-datepicker-wrapper td .ui-state-active,
1172
- .csf-datepicker-wrapper td .ui-state-hover {
1173
  color: #fff;
1174
  background-color: #0073aa;
1175
  }
1176
- .csf-datepicker-wrapper td.ui-state-disabled .ui-state-default {
1177
  opacity: 0.5;
1178
  }
1179
 
1180
  /**
1181
  * 03. 13. Field: gallery
1182
  */
1183
- .csf-field-gallery input {
1184
  display: none;
1185
  }
1186
- .csf-field-gallery ul {
1187
  margin: 0;
1188
  padding: 0;
1189
  list-style-type: none;
1190
  }
1191
- .csf-field-gallery ul li {
1192
  display: inline-block;
1193
  position: relative;
1194
  padding: 4px;
@@ -1202,12 +1202,12 @@
1202
  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
1203
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
1204
  }
1205
- .csf-field-gallery ul li img {
1206
  max-height: 60px;
1207
  display: inline-block;
1208
  vertical-align: middle;
1209
  }
1210
- .csf-field-gallery .button {
1211
  margin-right: 5px;
1212
  margin-bottom: 5px;
1213
  }
@@ -1215,32 +1215,32 @@
1215
  /**
1216
  * 03. 14. Field: group
1217
  */
1218
- .csf-field-group .csf-cloneable-hidden {
1219
  display: none !important;
1220
  }
1221
- .csf-field-group .csf-cloneable-wrapper {
1222
  position: relative;
1223
  }
1224
- .csf-field-group .csf-cloneable-item {
1225
  display: none;
1226
  position: relative;
1227
  margin-bottom: 5px;
1228
  }
1229
- .csf-field-group .csf-cloneable-item h4 {
1230
  font-size: 1em;
1231
  }
1232
- .csf-field-group .ui-accordion .csf-cloneable-item {
1233
  display: block;
1234
  }
1235
- .csf-field-group .csf-cloneable-content {
1236
  border: 1px solid #ccd0d4;
1237
  background-color: #fff;
1238
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
1239
  }
1240
- .csf-field-group .csf-cloneable-content > .csf-field {
1241
  padding: 15px;
1242
  }
1243
- .csf-field-group .csf-cloneable-title {
1244
  display: block;
1245
  cursor: pointer;
1246
  position: relative;
@@ -1254,11 +1254,11 @@
1254
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
1255
  transition: border-color .15s;
1256
  }
1257
- .csf-field-group .csf-cloneable-title:active, .csf-field-group .csf-cloneable-title:hover, .csf-field-group .csf-cloneable-title:focus {
1258
  border-color: #999;
1259
  outline: none;
1260
  }
1261
- .csf-field-group .csf-cloneable-helper {
1262
  position: absolute;
1263
  top: 12px;
1264
  right: 10px;
@@ -1266,24 +1266,24 @@
1266
  font-size: 14px;
1267
  line-height: 1em;
1268
  }
1269
- .csf-field-group .csf-cloneable-helper i {
1270
  display: inline-block;
1271
  cursor: pointer;
1272
  padding: 5px;
1273
  color: #999;
1274
  }
1275
- .csf-field-group .csf-cloneable-helper i:hover {
1276
  color: #555;
1277
  }
1278
- .csf-field-group .csf-cloneable-content {
1279
  padding: 0;
1280
  border-top: 0;
1281
  }
1282
- .csf-field-group .csf-cloneable-title-prefix,
1283
- .csf-field-group .csf-cloneable-title-number {
1284
  margin-right: 5px;
1285
  }
1286
- .csf-field-group .csf-cloneable-alert {
1287
  display: none;
1288
  margin-bottom: 5px;
1289
  padding: 10px 20px;
@@ -1291,12 +1291,12 @@
1291
  border: 1px solid #ebccd1;
1292
  background-color: #f2dede;
1293
  }
1294
- .csf-field-group .widget-placeholder {
1295
  margin-bottom: 10px;
1296
  border: 1px dashed #f1c40f;
1297
  background-color: #fffae4;
1298
  }
1299
- .csf-field-group .csf-cloneable-header-icon {
1300
  display: inline-block;
1301
  text-align: center;
1302
  font-size: 14px;
@@ -1304,7 +1304,7 @@
1304
  text-indent: 0;
1305
  vertical-align: text-top;
1306
  }
1307
- .csf-field-group .csf-cloneable-placeholder {
1308
  background-color: #ddd;
1309
  margin-top: 4px;
1310
  width: 100px;
@@ -1319,13 +1319,13 @@
1319
  /**
1320
  * 03. 15. Field: icon
1321
  */
1322
- .csf-field-icon input {
1323
  display: none;
1324
  }
1325
- .csf-field-icon .button {
1326
  margin-right: 5px;
1327
  }
1328
- .csf-field-icon .csf-icon-preview i {
1329
  display: inline-block;
1330
  font-size: 16px;
1331
  width: 30px;
@@ -1351,7 +1351,7 @@
1351
  /**
1352
  * 03. 16. Field: image_select
1353
  */
1354
- .csf-field-image_select .csf--image {
1355
  cursor: pointer;
1356
  position: relative;
1357
  display: inline-block;
@@ -1367,7 +1367,7 @@
1367
  -webkit-transition: all 0.2s;
1368
  transition: all 0.2s;
1369
  }
1370
- .csf-field-image_select .csf--image:before {
1371
  position: absolute;
1372
  top: 0;
1373
  left: 0;
@@ -1384,29 +1384,29 @@
1384
  background-color: #222;
1385
  transition: opacity .2s;
1386
  }
1387
- .csf-field-image_select .csf--active {
1388
  border-color: #222;
1389
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
1390
  }
1391
- .csf-field-image_select .csf--active:before {
1392
  opacity: 1;
1393
  }
1394
- .csf-field-image_select img {
1395
  vertical-align: top;
1396
  }
1397
- .csf-field-image_select input {
1398
  display: none;
1399
  }
1400
 
1401
  /**
1402
  * 03. 17. Field: link_color
1403
  */
1404
- .csf-field-link_color .csf--left {
1405
  float: left;
1406
  margin-right: 10px;
1407
  margin-bottom: 5px;
1408
  }
1409
- .csf-field-link_color .csf--title {
1410
  color: #777;
1411
  margin-bottom: 5px;
1412
  }
@@ -1414,46 +1414,46 @@
1414
  /**
1415
  * 03. 18. Field: map
1416
  */
1417
- .csf-field-map input {
1418
  width: 100%;
1419
  }
1420
- .csf-field-map input[type="text"].ui-autocomplete-loading {
1421
  background-position-x: calc(100% - 5px);
1422
  }
1423
- .csf-field-map .csf--map-search + .csf--map-osm-wrap {
1424
  margin-top: 10px;
1425
  }
1426
- .csf-field-map .csf--map-osm-wrap {
1427
  position: relative;
1428
  padding: 5px;
1429
  border: 1px solid #eee;
1430
  background-color: #fff;
1431
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
1432
  }
1433
- .csf-field-map .csf--map-osm {
1434
  position: relative;
1435
  z-index: 1;
1436
  min-height: 250px;
1437
  }
1438
- .csf-field-map .csf--map-inputs {
1439
  margin-top: 10px;
1440
  display: flex;
1441
  justify-content: space-between;
1442
  }
1443
- .csf-field-map .csf--map-input {
1444
  flex: 1;
1445
  }
1446
- .csf-field-map .csf--map-input:last-child {
1447
  padding-left: 10px;
1448
  }
1449
- .csf-field-map label {
1450
  display: block;
1451
  color: #777;
1452
  font-size: 12px;
1453
  margin: 0 0 2px 0;
1454
  }
1455
 
1456
- .csf-map-ui-autocomplate {
1457
  z-index: 999999;
1458
  border-radius: 4px;
1459
  overflow: hidden;
@@ -1462,24 +1462,24 @@
1462
  /**
1463
  * 03. 19. Field: media
1464
  */
1465
- .csf-field-media .csf--placeholder {
1466
  display: flex;
1467
  align-items: flex-start;
1468
  }
1469
- .csf-field-media .csf--placeholder input {
1470
  width: 100%;
1471
  margin: 0;
1472
  }
1473
- .csf-field-media .button {
1474
  margin-left: 5px;
1475
  }
1476
- .csf-field-media .hidden + .button {
1477
  margin-left: 0;
1478
  }
1479
- .csf-field-media .csf--preview {
1480
  position: relative;
1481
  }
1482
- .csf-field-media .csf--preview .fa-times {
1483
  position: absolute;
1484
  z-index: 1;
1485
  right: 4px;
@@ -1495,17 +1495,17 @@
1495
  opacity: 0.8;
1496
  transition: all .2s;
1497
  }
1498
- .csf-field-media .csf--preview .fa-times:hover {
1499
  opacity: 1;
1500
  }
1501
- .csf-field-media .csf--preview .fa-times:focus {
1502
  box-shadow: none;
1503
  }
1504
 
1505
  /**
1506
  * 03. 20. Field: palette
1507
  */
1508
- .csf-field-palette .csf--palette {
1509
  position: relative;
1510
  display: inline-block;
1511
  cursor: pointer;
@@ -1516,7 +1516,7 @@
1516
  -webkit-user-select: none;
1517
  transition: all .2s;
1518
  }
1519
- .csf-field-palette .csf--palette span {
1520
  vertical-align: middle;
1521
  display: inline-block;
1522
  width: 22px;
@@ -1525,7 +1525,7 @@
1525
  overflow: hidden;
1526
  text-indent: -999px;
1527
  }
1528
- .csf-field-palette .csf--palette:before {
1529
  position: absolute;
1530
  top: 0;
1531
  left: 0;
@@ -1542,45 +1542,45 @@
1542
  background-color: #222;
1543
  transition: opacity .2s;
1544
  }
1545
- .csf-field-palette .csf--active {
1546
  border-color: #222;
1547
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
1548
  }
1549
- .csf-field-palette .csf--active:before {
1550
  opacity: 1;
1551
  }
1552
- .csf-field-palette input {
1553
  display: none;
1554
  }
1555
 
1556
  /**
1557
  * 03. 21. Field: repeater
1558
  */
1559
- .csf-field-repeater .csf-field-text input {
1560
  width: 100%;
1561
  }
1562
- .csf-field-repeater .csf-repeater-hidden {
1563
  display: none !important;
1564
  }
1565
- .csf-field-repeater .csf-repeater-wrapper .csf-repeater-item {
1566
  display: table;
1567
  width: 100%;
1568
  margin-bottom: 5px;
1569
  border: 1px solid #eee;
1570
  }
1571
- .csf-field-repeater .csf-repeater-wrapper .csf-repeater-item h4 {
1572
  font-size: 1em;
1573
  }
1574
- .csf-field-repeater .csf-repeater-content {
1575
  width: 100%;
1576
  display: table-cell;
1577
  vertical-align: middle;
1578
  background-color: #fff;
1579
  }
1580
- .csf-field-repeater .csf-repeater-content > .csf-field {
1581
  padding: 15px;
1582
  }
1583
- .csf-field-repeater .csf-repeater-helper {
1584
  width: 100%;
1585
  display: table-cell;
1586
  vertical-align: middle;
@@ -1590,19 +1590,19 @@
1590
  border-left: 1px solid #eee;
1591
  background-color: #f7f7f7;
1592
  }
1593
- .csf-field-repeater .csf-repeater-helper i {
1594
  display: inline-block;
1595
  cursor: pointer;
1596
  color: #999;
1597
  padding: 5px;
1598
  }
1599
- .csf-field-repeater .csf-repeater-helper i:hover {
1600
  color: #555;
1601
  }
1602
- .csf-field-repeater .csf-repeater-helper-inner {
1603
  width: 75px;
1604
  }
1605
- .csf-field-repeater .csf-repeater-alert {
1606
  display: none;
1607
  margin-bottom: 5px;
1608
  padding: 10px 20px;
@@ -1610,34 +1610,34 @@
1610
  border: 1px solid #ebccd1;
1611
  background-color: #f2dede;
1612
  }
1613
- .csf-field-repeater .widget-placeholder {
1614
  height: 50px;
1615
  margin-bottom: 3px;
1616
  border: 1px dashed #f1c40f;
1617
  background-color: #fffae4;
1618
  }
1619
- .csf-field-repeater .ui-sortable-helper {
1620
  height: 50px !important;
1621
  overflow: hidden !important;
1622
  border-color: #ccc !important;
1623
  background-color: #eee !important;
1624
  opacity: 0.5;
1625
  }
1626
- .csf-field-repeater .ui-sortable-helper .csf-repeater-helper,
1627
- .csf-field-repeater .ui-sortable-helper .csf-repeater-content {
1628
  display: none;
1629
  }
1630
 
1631
  /**
1632
  * 03. 22. Field: select
1633
  */
1634
- .csf-field-select .csf-fieldset {
1635
  min-height: 30px;
1636
  }
1637
- .csf-field-select .csf-chosen {
1638
  display: none;
1639
  }
1640
- .csf-field-select select {
1641
  max-width: 100%;
1642
  margin: 0;
1643
  }
@@ -1645,14 +1645,14 @@
1645
  /**
1646
  * 03. 23. Field: slider
1647
  */
1648
- .csf-field-slider .csf--wrap {
1649
  display: flex;
1650
  align-items: center;
1651
  }
1652
- .csf-field-slider .csf--input {
1653
  display: flex;
1654
  }
1655
- .csf-field-slider .csf--unit {
1656
  display: flex;
1657
  justify-content: center;
1658
  flex-direction: column;
@@ -1666,21 +1666,21 @@
1666
  border-left: 0;
1667
  background-color: #f5f5f5;
1668
  }
1669
- .csf-field-slider .csf-slider-ui {
1670
  margin-right: 15px;
1671
  }
1672
- .csf-field-slider input[type=number] {
1673
  position: relative;
1674
  z-index: 1;
1675
  margin: 0;
1676
  width: 50px;
1677
  text-align: center;
1678
  }
1679
- .csf-field-slider .csf--is-unit {
1680
  border-top-right-radius: 0;
1681
  border-bottom-right-radius: 0;
1682
  }
1683
- .csf-field-slider .ui-slider {
1684
  position: relative;
1685
  width: 100%;
1686
  height: 3px;
@@ -1688,13 +1688,13 @@
1688
  background: #ddd;
1689
  border-radius: 2px;
1690
  }
1691
- .csf-field-slider .ui-slider-range {
1692
  height: 3px;
1693
  border: none;
1694
  background: #333;
1695
  border-radius: 2px;
1696
  }
1697
- .csf-field-slider .ui-slider-handle {
1698
  position: absolute;
1699
  width: 16px;
1700
  height: 16px;
@@ -1704,8 +1704,8 @@
1704
  background: #333;
1705
  border-radius: 2px;
1706
  }
1707
- .csf-field-slider .ui-state-active,
1708
- .csf-field-slider .ui-slider-handle:hover {
1709
  cursor: pointer;
1710
  background: #111;
1711
  }
@@ -1713,29 +1713,29 @@
1713
  /**
1714
  * 03. 24. Field: sortable
1715
  */
1716
- .csf-field-sortable .csf-field-text input {
1717
  width: 100%;
1718
  max-width: 100%;
1719
  }
1720
- .csf-field-sortable .csf-sortable .csf-sortable-item {
1721
  display: table;
1722
  width: 100%;
1723
  margin-bottom: 5px;
1724
  border: 1px solid #eee;
1725
  }
1726
- .csf-field-sortable .csf-sortable .csf-sortable-item h4 {
1727
  font-size: 1em;
1728
  }
1729
- .csf-field-sortable .csf-sortable-content {
1730
  width: 100%;
1731
  display: table-cell;
1732
  vertical-align: middle;
1733
  background-color: #fff;
1734
  }
1735
- .csf-field-sortable .csf-sortable-content > .csf-field {
1736
  padding: 15px;
1737
  }
1738
- .csf-field-sortable .csf-sortable-helper {
1739
  width: 100%;
1740
  display: table-cell;
1741
  vertical-align: middle;
@@ -1745,69 +1745,69 @@
1745
  border-left: 1px solid #eee;
1746
  background-color: #f7f7f7;
1747
  }
1748
- .csf-field-sortable .csf-sortable-helper i {
1749
  display: inline-block;
1750
  cursor: pointer;
1751
  width: 50px;
1752
  color: #555;
1753
  }
1754
- .csf-field-sortable .csf-sortable-helper i:hover {
1755
  opacity: 0.5;
1756
  }
1757
- .csf-field-sortable .widget-placeholder {
1758
  height: 50px;
1759
  margin-bottom: 3px;
1760
  border: 1px dashed #f1c40f;
1761
  background-color: #fffae4;
1762
  }
1763
- .csf-field-sortable .ui-sortable-helper {
1764
  height: 50px !important;
1765
  overflow: hidden !important;
1766
  border-color: #ccc !important;
1767
  background-color: #eee !important;
1768
  opacity: 0.5;
1769
  }
1770
- .csf-field-sortable .ui-sortable-helper .csf-sortable-helper,
1771
- .csf-field-sortable .ui-sortable-helper .csf-sortable-content {
1772
  display: none;
1773
  }
1774
 
1775
  /**
1776
  * 03. 25. Field: sorter
1777
  */
1778
- .csf-field-sorter .ui-sortable-placeholder {
1779
  height: 20px;
1780
  border: 1px dashed #f1c40f;
1781
  background-color: #fffae4;
1782
  }
1783
- .csf-field-sorter .csf-modules {
1784
  float: left;
1785
  width: 50%;
1786
  box-sizing: border-box;
1787
  }
1788
- .csf-field-sorter .csf-modules:first-child {
1789
  padding-right: 15px;
1790
  }
1791
- .csf-field-sorter .csf-modules:last-child {
1792
  padding-left: 15px;
1793
  }
1794
- .csf-field-sorter .csf-disabled,
1795
- .csf-field-sorter .csf-enabled {
1796
  padding: 5px 15px;
1797
  border: 1px dashed #ddd;
1798
  background-color: #fff;
1799
  }
1800
- .csf-field-sorter .csf-disabled li {
1801
  -moz-transition: opacity 0.15s;
1802
  -o-transition: opacity 0.15s;
1803
  -webkit-transition: opacity 0.15s;
1804
  transition: opacity 0.15s;
1805
  opacity: 0.5;
1806
  }
1807
- .csf-field-sorter .csf-disabled .ui-sortable-helper {
1808
  opacity: 1;
1809
  }
1810
- .csf-field-sorter .csf-sorter-title {
1811
  font-size: 13px;
1812
  font-weight: 600;
1813
  padding: 10px;
@@ -1817,13 +1817,13 @@
1817
  background-color: #f8f8f8;
1818
  text-transform: uppercase;
1819
  }
1820
- .csf-field-sorter ul {
1821
  list-style-type: none;
1822
  margin: 0;
1823
  padding: 0;
1824
  min-height: 62px;
1825
  }
1826
- .csf-field-sorter ul li {
1827
  margin: 10px 0;
1828
  padding: 10px 15px;
1829
  cursor: move;
@@ -1836,20 +1836,20 @@
1836
  -webkit-transition: border-color 0.15s;
1837
  transition: border-color 0.15s;
1838
  }
1839
- .csf-field-sorter ul li:hover {
1840
  border-color: #bbb;
1841
  }
1842
 
1843
  /**
1844
  * 03. 26. Field: spinner
1845
  */
1846
- .csf-field-spinner .csf--spin {
1847
  display: flex;
1848
  }
1849
- .csf-field-spinner .ui-spinner {
1850
  display: flex;
1851
  }
1852
- .csf-field-spinner .ui-button-text-only {
1853
  display: flex;
1854
  flex-direction: column;
1855
  justify-content: center;
@@ -1860,46 +1860,46 @@
1860
  border: 1px solid #7e8993;
1861
  background-color: #f5f5f5;
1862
  }
1863
- .csf-field-spinner .ui-button {
1864
  cursor: pointer;
1865
  }
1866
- .csf-field-spinner .ui-button:hover {
1867
  background-color: #e7e7e7;
1868
  }
1869
- .csf-field-spinner .ui-button:active {
1870
  background-color: #ddd;
1871
  }
1872
- .csf-field-spinner .ui-button:before {
1873
  font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", "FontAwesome";
1874
  font-weight: 900;
1875
  font-size: 14px;
1876
  line-height: 14px;
1877
  }
1878
- .csf-field-spinner .ui-spinner-down {
1879
  order: 1;
1880
  border-right: 0;
1881
  border-radius: 4px 0 0 4px;
1882
  }
1883
- .csf-field-spinner .ui-spinner-down:before {
1884
  content: "\f0d9";
1885
  }
1886
- .csf-field-spinner .ui-spinner-input {
1887
  order: 2;
1888
  }
1889
- .csf-field-spinner .csf--unit {
1890
  order: 3;
1891
  border-left: 0;
1892
  user-select: none;
1893
  }
1894
- .csf-field-spinner .ui-spinner-up {
1895
  order: 4;
1896
  border-left: 0;
1897
  border-radius: 0 4px 4px 0;
1898
  }
1899
- .csf-field-spinner .ui-spinner-up:before {
1900
  content: "\f0da";
1901
  }
1902
- .csf-field-spinner input {
1903
  position: relative;
1904
  z-index: 1;
1905
  width: 50px;
@@ -1908,14 +1908,14 @@
1908
  padding: 0 8px;
1909
  border-radius: 0;
1910
  }
1911
- .csf-field-spinner .ui-button-text {
1912
  display: none;
1913
  }
1914
 
1915
  /**
1916
  * 03. 27. Field: switcher
1917
  */
1918
- .csf-field-switcher .csf--switcher {
1919
  float: left;
1920
  cursor: pointer;
1921
  position: relative;
@@ -1929,7 +1929,7 @@
1929
  user-select: none;
1930
  -webkit-user-select: none;
1931
  }
1932
- .csf-field-switcher .csf--ball {
1933
  position: absolute;
1934
  top: 4px;
1935
  left: 4px;
@@ -1940,8 +1940,8 @@
1940
  transition: all .1s;
1941
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.15);
1942
  }
1943
- .csf-field-switcher .csf--on,
1944
- .csf-field-switcher .csf--off {
1945
  position: absolute;
1946
  top: 0;
1947
  left: 0;
@@ -1957,50 +1957,50 @@
1957
  opacity: 0;
1958
  transition: all .1s;
1959
  }
1960
- .csf-field-switcher .csf--off {
1961
  padding-right: 0;
1962
  padding-left: 28px;
1963
  opacity: 1;
1964
  }
1965
- .csf-field-switcher .csf--active {
1966
  background: #4fb845;
1967
  }
1968
- .csf-field-switcher .csf--active .csf--on {
1969
  opacity: 1;
1970
  }
1971
- .csf-field-switcher .csf--active .csf--off {
1972
  opacity: 0;
1973
  }
1974
- .csf-field-switcher .csf--active .csf--ball {
1975
  left: 100%;
1976
  margin-left: -28px;
1977
  }
1978
- .csf-field-switcher .csf--label {
1979
  float: left;
1980
  margin-top: 4px;
1981
  margin-left: 8px;
1982
  font-weight: 400;
1983
  color: #999;
1984
  }
1985
- .csf-field-switcher input {
1986
  display: none;
1987
  }
1988
 
1989
  /**
1990
  * 03. 28. Field: tabbed
1991
  */
1992
- .csf-field-tabbed .csf-tabbed-content {
1993
  border: 1px solid #ccd0d4;
1994
  background-color: #fff;
1995
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
1996
  }
1997
- .csf-field-tabbed .csf-tabbed-content > .csf-field {
1998
  padding: 15px;
1999
  }
2000
- .csf-field-tabbed .csf-tabbed-nav .csf--icon {
2001
  padding-right: 5px;
2002
  }
2003
- .csf-field-tabbed .csf-tabbed-nav a {
2004
  display: inline-block;
2005
  padding: 12px 15px;
2006
  margin-top: 1px;
@@ -2014,14 +2014,14 @@
2014
  background-color: #f3f3f3;
2015
  transition: all .2s;
2016
  }
2017
- .csf-field-tabbed .csf-tabbed-nav a:hover {
2018
  background-color: #f9f9f9;
2019
  }
2020
- .csf-field-tabbed .csf-tabbed-nav a.csf-tabbed-active {
2021
  background-color: #fff;
2022
  border-bottom-color: #fff;
2023
  }
2024
- .csf-field-tabbed .csf-tabbed-nav a:focus {
2025
  outline: none;
2026
  -moz-box-shadow: none;
2027
  -webkit-box-shadow: none;
@@ -2031,7 +2031,7 @@
2031
  /**
2032
  * 03. 29. Field: text
2033
  */
2034
- .csf-field-text input {
2035
  width: 50%;
2036
  max-width: 100%;
2037
  margin: 0;
@@ -2040,12 +2040,12 @@
2040
  /**
2041
  * 03. 30. Field: textarea
2042
  */
2043
- .csf-field-textarea textarea {
2044
  width: 100%;
2045
  max-width: 100%;
2046
  min-height: 125px;
2047
  }
2048
- .csf-field-textarea .csf-shortcode-button {
2049
  margin-bottom: 10px;
2050
  margin-right: 5px;
2051
  }
@@ -2053,36 +2053,36 @@
2053
  /**
2054
  * 03. 31. Field: typography
2055
  */
2056
- .csf-field-typography textarea,
2057
- .csf-field-typography select {
2058
  min-width: 100%;
2059
  margin: 0;
2060
  }
2061
- .csf-field-typography .csf--title {
2062
  color: #777;
2063
  margin: 0 0 2px 0;
2064
  font-size: 12px;
2065
  }
2066
- .csf-field-typography .csf--title small {
2067
  vertical-align: top;
2068
  }
2069
- .csf-field-typography .csf--blocks {
2070
  display: flex;
2071
  flex-wrap: wrap;
2072
  }
2073
- .csf-field-typography .csf--block {
2074
  flex: 1;
2075
  padding-right: 6px;
2076
  padding-bottom: 6px;
2077
  }
2078
- .csf-field-typography .csf--input {
2079
  margin: 0;
2080
  min-width: 100%;
2081
  }
2082
- .csf-field-typography .csf--input-wrap {
2083
  position: relative;
2084
  }
2085
- .csf-field-typography .csf--unit {
2086
  position: absolute;
2087
  z-index: 1;
2088
  right: 4px;
@@ -2099,7 +2099,7 @@
2099
  justify-content: center;
2100
  flex-direction: column;
2101
  }
2102
- .csf-field-typography .csf--preview {
2103
  font-size: 16px;
2104
  line-height: 20px;
2105
  padding: 20px;
@@ -2111,78 +2111,78 @@
2111
  -webkit-user-select: none;
2112
  transition: background-color .2s, border-color .2s;
2113
  }
2114
- .csf-field-typography .csf--block-preview {
2115
  cursor: pointer;
2116
  position: relative;
2117
  overflow: hidden;
2118
  margin-top: 10px;
2119
  max-width: 100%;
2120
  }
2121
- .csf-field-typography .csf--black-background {
2122
  border-color: #000;
2123
  background-color: #000;
2124
  }
2125
- .csf-field-typography .csf--toggle {
2126
  position: absolute;
2127
  top: 5px;
2128
  right: 10px;
2129
  color: #999;
2130
  }
2131
- .csf-field-typography .csf--block-extra-styles {
2132
  margin-top: 5px;
2133
  }
2134
 
2135
  /**
2136
  * 03. 32. Field: upload
2137
  */
2138
- .csf-field-upload input {
2139
  width: 100%;
2140
  margin: 0;
2141
  }
2142
- .csf-field-upload .csf--wrap {
2143
  display: flex;
2144
  align-items: flex-start;
2145
  }
2146
- .csf-field-upload .button {
2147
  margin-left: 5px;
2148
  }
2149
 
2150
  /**
2151
  * 03. 33. Field: wp_editor
2152
  */
2153
- .csf-field-wp_editor .csf-wp-editor {
2154
  float: left;
2155
  width: 100%;
2156
  }
2157
- .csf-field-wp_editor .mce-toolbar-grp {
2158
  border: none;
2159
  }
2160
- .csf-field-wp_editor .mce-btn.mce-active button,
2161
- .csf-field-wp_editor .mce-btn.mce-active:hover button,
2162
- .csf-field-wp_editor .mce-btn.mce-active i,
2163
- .csf-field-wp_editor .mce-btn.mce-active:hover i {
2164
  color: #23282d;
2165
  }
2166
- .csf-field-wp_editor .wp-media-buttons {
2167
  position: relative;
2168
  z-index: 2;
2169
  }
2170
- .csf-field-wp_editor .wp-editor-tabs {
2171
  position: relative;
2172
  z-index: 1;
2173
  }
2174
- .csf-field-wp_editor .csf-no-tinymce {
2175
  border: 1px solid #e5e5e5;
2176
  }
2177
- .csf-field-wp_editor .csf-no-quicktags .wp-media-buttons {
2178
  float: none;
2179
  display: block;
2180
  }
2181
- .csf-field-wp_editor .csf-no-quicktags .mce-tinymce {
2182
  box-shadow: none;
2183
  border: 1px solid #e5e5e5;
2184
  }
2185
- .csf-field-wp_editor textarea {
2186
  width: 100%;
2187
  max-width: 100%;
2188
  margin: 0;
@@ -2192,7 +2192,7 @@
2192
  /**
2193
  * 03. 34. Field: heading
2194
  */
2195
- .csf-field-heading {
2196
  font-size: 1.5em;
2197
  font-weight: bold;
2198
  color: #23282d;
@@ -2202,7 +2202,7 @@
2202
  /**
2203
  * 03. 35. Field: subheading
2204
  */
2205
- .csf-field-subheading {
2206
  font-size: 14px;
2207
  font-weight: bold;
2208
  padding-top: 17px;
@@ -2214,46 +2214,46 @@
2214
  /**
2215
  * 03. 36. Field: submessage
2216
  */
2217
- .csf-field-submessage {
2218
  padding: 0 !important;
2219
  border: 0 !important;
2220
  }
2221
- .csf-field-submessage + .csf-field {
2222
  border-top: 0 !important;
2223
  }
2224
 
2225
- .csf-submessage {
2226
  font-size: 12px;
2227
  padding: 17px 30px;
2228
  border-top: 1px solid transparent;
2229
  border-bottom: 1px solid transparent;
2230
  }
2231
 
2232
- .csf-submessage-success {
2233
  color: #3c763d;
2234
  border-color: #d6e9c6;
2235
  background-color: #dff0d8;
2236
  }
2237
 
2238
- .csf-submessage-info {
2239
  color: #31708f;
2240
  border-color: #bce8f1;
2241
  background-color: #d9edf7;
2242
  }
2243
 
2244
- .csf-submessage-warning {
2245
  color: #8a6d3b;
2246
  border-color: #faebcc;
2247
  background-color: #fcf8e3;
2248
  }
2249
 
2250
- .csf-submessage-danger {
2251
  color: #a94442;
2252
  border-color: #ebccd1;
2253
  background-color: #f2dede;
2254
  }
2255
 
2256
- .csf-submessage-normal {
2257
  color: #23282d;
2258
  border-color: #eee;
2259
  background-color: #f7f7f7;
@@ -2262,11 +2262,11 @@
2262
  /**
2263
  * 03. 37. Field: notice
2264
  */
2265
- .csf-field-notice {
2266
  background-color: #f7f7f7;
2267
  }
2268
 
2269
- .csf-notice {
2270
  padding: 12px;
2271
  background-color: #fff;
2272
  border-left-style: solid;
@@ -2274,39 +2274,39 @@
2274
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
2275
  }
2276
 
2277
- .csf-notice-success {
2278
  border-color: #46b450;
2279
  }
2280
 
2281
- .csf-notice-info {
2282
  border-color: #339fd4;
2283
  }
2284
 
2285
- .csf-notice-warning {
2286
  border-color: #ffbc00;
2287
  }
2288
 
2289
- .csf-notice-danger {
2290
  border-color: #dc3232;
2291
  }
2292
 
2293
- .csf-notice-normal {
2294
  border-color: #222;
2295
  }
2296
 
2297
  /**
2298
  * 03. 38. Field: number
2299
  */
2300
- .csf-field-number input {
2301
  width: 100%;
2302
  margin: 0;
2303
  }
2304
- .csf-field-number .csf--wrap {
2305
  position: relative;
2306
  float: left;
2307
  width: 100px;
2308
  }
2309
- .csf-field-number .csf--unit {
2310
  position: absolute;
2311
  z-index: 1;
2312
  right: 4px;
@@ -2327,7 +2327,7 @@
2327
  /**
2328
  * 03. 39. others
2329
  */
2330
- .csf-help {
2331
  cursor: help;
2332
  position: absolute;
2333
  top: 0;
@@ -2336,11 +2336,11 @@
2336
  font-size: 13px;
2337
  color: #aaa;
2338
  }
2339
- .csf-help .csf-help-text {
2340
  display: none;
2341
  }
2342
 
2343
- .csf-image-preview {
2344
  display: inline-block;
2345
  position: relative;
2346
  padding: 4px;
@@ -2353,21 +2353,21 @@
2353
  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
2354
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
2355
  }
2356
- .csf-image-preview img {
2357
  max-height: 90px;
2358
  display: inline-block;
2359
  vertical-align: middle;
2360
  }
2361
 
2362
- .csf-field-custom .csf-field {
2363
  padding: 0;
2364
  }
2365
 
2366
- .csf-field .chosen-container-single .chosen-single {
2367
  height: 28px;
2368
  line-height: 26px;
2369
  }
2370
- .csf-field .chosen-container-single .chosen-single abbr {
2371
  top: 0;
2372
  right: 20px;
2373
  font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", "FontAwesome";
@@ -2379,13 +2379,13 @@
2379
  text-align: center;
2380
  background: none;
2381
  }
2382
- .csf-field .chosen-container-single .chosen-single abbr:before {
2383
  content: "\f00d";
2384
  }
2385
- .csf-field .chosen-container-single .chosen-single abbr:hover {
2386
  color: #555;
2387
  }
2388
- .csf-field .chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
2389
  font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", "FontAwesome";
2390
  font-weight: 900;
2391
  font-size: 12px;
@@ -2395,44 +2395,44 @@
2395
  text-align: center;
2396
  background: none;
2397
  }
2398
- .csf-field .chosen-container-multi .chosen-choices li.search-choice .search-choice-close:before {
2399
  content: "\f00d";
2400
  display: inline-block;
2401
  padding-top: 3px;
2402
  }
2403
- .csf-field .chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover {
2404
  color: #555;
2405
  }
2406
- .csf-field .chosen-container-single .chosen-single div b {
2407
  font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", "FontAwesome";
2408
  font-weight: 900;
2409
  font-size: 14px;
2410
  color: #aaa;
2411
  background: none;
2412
  }
2413
- .csf-field .chosen-container-single .chosen-single div b:before {
2414
  content: "\f107";
2415
  }
2416
- .csf-field .chosen-container-single .chosen-single div b:hover {
2417
  color: #555;
2418
  }
2419
- .csf-field .chosen-container-multi .chosen-choices li.search-choice-placeholder {
2420
  border: 1px dashed #aaa;
2421
  margin: 3px 5px 3px 0;
2422
  }
2423
- .csf-field .chosen-container-multi .ui-sortable li.search-choice span {
2424
  cursor: move;
2425
  }
2426
- .csf-field .chosen-container-active.chosen-with-drop .chosen-single div b:before {
2427
  content: "\f106";
2428
  }
2429
- .csf-field .chosen-container-single .chosen-single-with-deselect span {
2430
  margin-right: 40px;
2431
  }
2432
- .csf-field .chosen-container-single .chosen-search input[type="text"] {
2433
  background: none;
2434
  }
2435
- .csf-field .chosen-container-single .chosen-search:before {
2436
  font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", "FontAwesome";
2437
  font-weight: 900;
2438
  font-size: 11px;
@@ -2442,13 +2442,13 @@
2442
  top: 10px;
2443
  color: #aaa;
2444
  }
2445
- .csf-field .wp-picker-container {
2446
  display: inline-block;
2447
  }
2448
- .csf-field .wp-picker-container .wp-color-result.button {
2449
  margin-bottom: 0;
2450
  }
2451
- .csf-field .csf--transparent-wrap {
2452
  display: none;
2453
  position: relative;
2454
  top: -1px;
@@ -2458,16 +2458,16 @@
2458
  border-top: none;
2459
  background-color: #fff;
2460
  }
2461
- .csf-field .wp-picker-active .csf--transparent-wrap {
2462
  display: block;
2463
  }
2464
- .csf-field .csf--transparent-slider {
2465
  position: absolute;
2466
  width: 190px;
2467
  margin-left: 2px;
2468
  height: 18px;
2469
  }
2470
- .csf-field .csf--transparent-slider .ui-slider-handle {
2471
  position: absolute;
2472
  top: -3px;
2473
  bottom: -3px;
@@ -2488,7 +2488,7 @@
2488
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
2489
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
2490
  }
2491
- .csf-field .csf--transparent-slider .ui-slider-handle:before {
2492
  content: " ";
2493
  position: absolute;
2494
  left: -2px;
@@ -2500,7 +2500,7 @@
2500
  -webkit-border-radius: 3px;
2501
  border-radius: 3px;
2502
  }
2503
- .csf-field .csf--transparent-offset {
2504
  height: 18px;
2505
  width: 200px;
2506
  background: url(../images/checkerboard.png) repeat-y center left scroll #fff;
@@ -2511,7 +2511,7 @@
2511
  -webkit-border-radius: 2px;
2512
  border-radius: 2px;
2513
  }
2514
- .csf-field .csf--transparent-text {
2515
  position: absolute;
2516
  top: 12px;
2517
  right: 10px;
@@ -2521,7 +2521,7 @@
2521
  text-align: center;
2522
  color: #999;
2523
  }
2524
- .csf-field .csf--transparent-button {
2525
  cursor: pointer;
2526
  user-select: none;
2527
  margin-top: 10px;
@@ -2536,52 +2536,52 @@
2536
  background-color: #f7f7f7;
2537
  transition: background-color .2s, border-color .2s, color .2s;
2538
  }
2539
- .csf-field .csf--transparent-active .wp-color-result {
2540
  background-image: url(../images/checkerboard.png);
2541
  background-size: 135px;
2542
  background-position: center left;
2543
  background-color: transparent !important;
2544
  }
2545
- .csf-field .csf--transparent-active .csf--transparent-button {
2546
  color: #fff;
2547
  border-color: #3ea032;
2548
  background-color: #4fb845;
2549
  }
2550
- .csf-field .csf--transparent-active .fa:before {
2551
  content: "\f205";
2552
  }
2553
 
2554
  /**
2555
  * 04. Widget
2556
  */
2557
- .csf-widgets > .csf-field {
2558
  position: relative;
2559
  top: -1px;
2560
  margin-right: -15px;
2561
  margin-left: -15px;
2562
  padding: 12px 15px;
2563
  }
2564
- .csf-widgets > .csf-field .csf-field {
2565
  margin-left: 0;
2566
  margin-right: 0;
2567
  }
2568
- .csf-widgets > .csf-field .csf-title {
2569
  float: none;
2570
  width: 100%;
2571
  margin-bottom: 5px;
2572
  }
2573
- .csf-widgets > .csf-field .csf-fieldset {
2574
  float: none;
2575
  width: 100%;
2576
  }
2577
- .csf-widgets .csf-field-text input {
2578
  width: 100%;
2579
  }
2580
- .csf-widgets .csf-field-notice .csf-notice {
2581
  padding: 15px;
2582
  }
2583
 
2584
- .control-section .csf-widgets > .csf-field {
2585
  margin-right: -10px;
2586
  margin-left: -10px;
2587
  padding: 10px 12px;
@@ -2590,33 +2590,33 @@
2590
  /**
2591
  * 05. Widget
2592
  */
2593
- .control-section .csf-field {
2594
  padding: 0;
2595
  }
2596
- .control-section .csf-field .csf-title {
2597
  float: none;
2598
  width: 100%;
2599
  margin-bottom: 6px;
2600
  }
2601
- .control-section .csf-field .csf-title h4 {
2602
  display: block;
2603
  font-size: 13px;
2604
  line-height: 1;
2605
  font-weight: 600;
2606
  color: inherit;
2607
  }
2608
- .control-section .csf-field .csf-fieldset {
2609
  float: none;
2610
  width: 100%;
2611
  }
2612
- .control-section .csf-help {
2613
  top: -5px;
2614
  right: -5px;
2615
  }
2616
- .control-section .csf-field-select select {
2617
  width: 100%;
2618
  }
2619
- .control-section .csf-field-heading {
2620
  color: inherit;
2621
  font-size: 14px;
2622
  line-height: 1em;
@@ -2624,128 +2624,128 @@
2624
  margin-left: -15px;
2625
  padding: 15px;
2626
  }
2627
- .control-section .csf-field-subheading {
2628
  color: inherit;
2629
  font-size: 11px;
2630
  margin-right: -15px;
2631
  margin-left: -15px;
2632
  padding: 10px 15px;
2633
  }
2634
- .control-section .csf-subtitle-text {
2635
  margin-top: 4px;
2636
  font-size: 12px;
2637
  }
2638
- .control-section .csf-field-submessage .csf-submessage {
2639
  margin-right: -15px;
2640
  margin-left: -15px;
2641
  padding: 15px;
2642
  }
2643
- .control-section .csf-fieldset .csf-field-submessage .csf-submessage,
2644
- .control-section .csf-fieldset .csf-field-heading,
2645
- .control-section .csf-fieldset .csf-field-subheading {
2646
  margin-left: 0;
2647
  margin-right: 0;
2648
  }
2649
- .control-section .csf-field-date .csf--to {
2650
  margin-left: 0;
2651
  }
2652
- .control-section .csf-field-sorter ul li {
2653
  padding: 5px;
2654
  }
2655
- .control-section .csf-field-sorter .csf-modules {
2656
  float: none;
2657
  width: 100%;
2658
  }
2659
- .control-section .csf-field-sorter .csf-modules:first-child {
2660
  padding-right: 0;
2661
  padding-bottom: 15px;
2662
  }
2663
- .control-section .csf-field-background .csf--background-attributes {
2664
  flex-direction: column;
2665
  }
2666
- .control-section .csf-field-spacing input {
2667
  width: 90px;
2668
  }
2669
- .control-section .csf-field-border .csf--input {
2670
  flex: 1 50%;
2671
  }
2672
- .control-section .csf-field-border input,
2673
- .control-section .csf-field-border select {
2674
  width: 100%;
2675
  }
2676
- .control-section .csf-field-spinner input {
2677
  width: 50px;
2678
  }
2679
- .control-section .csf-field-number .csf--wrap {
2680
  width: 100%;
2681
  }
2682
- .control-section .csf-field-backup .csf-export-data {
2683
  display: none;
2684
  }
2685
- .control-section .csf-field-fieldset .csf-fieldset-content {
2686
  border-color: #e5e5e5;
2687
  }
2688
- .control-section .csf-tabbed-content > .csf-field,
2689
- .control-section .csf-sortable-content > .csf-field,
2690
- .control-section .csf-repeater-content > .csf-field,
2691
- .control-section .csf-fieldset-content > .csf-field,
2692
- .control-section .csf-cloneable-content > .csf-field,
2693
- .control-section .csf-accordion-content > .csf-field {
2694
  padding: 10px;
2695
  }
2696
- .control-section .csf-tabbed-content > .csf-field .csf-title,
2697
- .control-section .csf-sortable-content > .csf-field .csf-title,
2698
- .control-section .csf-repeater-content > .csf-field .csf-title,
2699
- .control-section .csf-fieldset-content > .csf-field .csf-title,
2700
- .control-section .csf-cloneable-content > .csf-field .csf-title,
2701
- .control-section .csf-accordion-content > .csf-field .csf-title {
2702
  margin-bottom: 5px;
2703
  }
2704
- .control-section .csf-tabbed-content > .csf-field h4,
2705
- .control-section .csf-sortable-content > .csf-field h4,
2706
- .control-section .csf-repeater-content > .csf-field h4,
2707
- .control-section .csf-fieldset-content > .csf-field h4,
2708
- .control-section .csf-cloneable-content > .csf-field h4,
2709
- .control-section .csf-accordion-content > .csf-field h4 {
2710
  font-size: 12px;
2711
  }
2712
- .control-section .csf-depend-hidden.csf-depend-on {
2713
  display: none !important;
2714
  }
2715
- .control-section .csf-depend-visible.csf-depend-on {
2716
  border-top: 0 !important;
2717
  }
2718
 
2719
  /**
2720
  * 06. Taxonomy
2721
  */
2722
- .csf-taxonomy {
2723
  max-width: 95%;
2724
  }
2725
- .csf-taxonomy > .csf-field {
2726
  border-top: none !important;
2727
  }
2728
- .csf-taxonomy > .csf-field-heading {
2729
  font-size: 1.1em;
2730
  padding: 20px !important;
2731
  border: 1px solid #ddd;
2732
  }
2733
- .csf-taxonomy > .csf-field-subheading {
2734
  font-size: 12px;
2735
  padding: 15px !important;
2736
  border: 1px solid #ddd;
2737
  }
2738
- .csf-taxonomy > .csf-field-submessage .csf-submessage {
2739
  padding: 15px;
2740
  border-left-width: 1px;
2741
  border-left-style: solid;
2742
  border-right-width: 1px;
2743
  border-right-style: solid;
2744
  }
2745
- .csf-taxonomy > .csf-field-notice {
2746
  background-color: transparent;
2747
  }
2748
- .csf-taxonomy .csf-section-title {
2749
  display: block;
2750
  padding: 15px;
2751
  background-color: #f9f9f9;
@@ -2755,54 +2755,54 @@
2755
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
2756
  }
2757
 
2758
- .csf-taxonomy-add-fields > .csf-field {
2759
  padding: 8px 0;
2760
  }
2761
- .csf-taxonomy-add-fields > .csf-field > .csf-title {
2762
  float: none;
2763
  width: 100%;
2764
  padding: 2px 2px 4px 0;
2765
  }
2766
- .csf-taxonomy-add-fields > .csf-field > .csf-title h4 {
2767
  font-size: 12px;
2768
  font-weight: normal;
2769
  }
2770
- .csf-taxonomy-add-fields > .csf-field > .csf-fieldset {
2771
  float: none;
2772
  width: 100%;
2773
  }
2774
- .csf-taxonomy-add-fields > .csf-field > .csf-fieldset > .csf-help {
2775
  right: -5px;
2776
  }
2777
- .csf-taxonomy-add-fields + p.submit {
2778
  margin-top: 0;
2779
  }
2780
 
2781
- .csf-taxonomy-edit-fields > .csf-field {
2782
  padding: 20px 0;
2783
  }
2784
- .csf-taxonomy-edit-fields > .csf-field > .csf-title {
2785
  width: 200px;
2786
  }
2787
- .csf-taxonomy-edit-fields > .csf-field > .csf-title h4 {
2788
  font-size: 14px;
2789
  font-weight: 600;
2790
  line-height: 1.3;
2791
  display: inline-block;
2792
  vertical-align: middle;
2793
  }
2794
- .csf-taxonomy-edit-fields > .csf-field > .csf-fieldset {
2795
  width: calc(100% - 220px);
2796
  }
2797
- .csf-taxonomy-edit-fields > .csf-field > .csf-fieldset > .csf-help {
2798
  top: -5px;
2799
  right: -5px;
2800
  }
2801
- .csf-taxonomy-edit-fields > .csf-field-submessage {
2802
  margin: 20px 0;
2803
  }
2804
- .csf-taxonomy-edit-fields > .csf-field-subheading,
2805
- .csf-taxonomy-edit-fields > .csf-field-heading {
2806
  margin: 20px 0;
2807
  border: 1px solid #ddd;
2808
  }
@@ -2810,114 +2810,114 @@
2810
  /**
2811
  * 08. Nav Menu
2812
  */
2813
- .csf-nav-menu-options {
2814
  clear: both;
2815
  float: left;
2816
  width: 100%;
2817
  }
2818
- .csf-nav-menu-options > .csf-fields {
2819
  margin-left: -10px;
2820
  margin-top: 10px;
2821
  margin-bottom: 10px;
2822
  border-top: 1px solid #eee;
2823
  border-bottom: 1px solid #eee;
2824
  }
2825
- .csf-nav-menu-options > .csf-fields > .csf-field {
2826
  padding: 12px 14px 12px 12px;
2827
  }
2828
- .csf-nav-menu-options > .csf-fields > .csf-field .csf-title {
2829
  float: none;
2830
  width: 100%;
2831
  margin-bottom: 5px;
2832
  }
2833
- .csf-nav-menu-options > .csf-fields > .csf-field .csf-fieldset {
2834
  float: none;
2835
  width: 100%;
2836
  }
2837
- .csf-nav-menu-options .csf-field-text input {
2838
  width: 100%;
2839
  }
2840
- .csf-nav-menu-options .csf-field-notice .csf-notice {
2841
  padding: 15px;
2842
  }
2843
 
2844
- .csf-nav-menu-title {
2845
  padding: 12px 14px 12px 12px;
2846
  background-color: #f5f5f5;
2847
  border-top: 1px solid #eee;
2848
  border-bottom: 1px solid #eee;
2849
  }
2850
- .csf-nav-menu-title:first-child {
2851
  border-top: 0;
2852
  }
2853
- .csf-nav-menu-title h4 {
2854
  margin: 0;
2855
  padding: 0;
2856
  color: #23282d;
2857
  }
2858
 
2859
- .csf-nav-menu-icon {
2860
  margin-right: 5px;
2861
  }
2862
 
2863
  /**
2864
  * 06. Profile
2865
  */
2866
- .csf-profile-options > h2 > .fa {
2867
  padding-right: 7px;
2868
  }
2869
- .csf-profile-options > .csf-field {
2870
  max-width: 750px;
2871
  padding: 15px 0;
2872
  border-top: none !important;
2873
  }
2874
- .csf-profile-options > .csf-field > .csf-title {
2875
  width: 200px;
2876
  }
2877
- .csf-profile-options > .csf-field > .csf-title h4 {
2878
  font-size: 14px;
2879
  font-weight: 600;
2880
  line-height: 1.3;
2881
  display: inline-block;
2882
  vertical-align: middle;
2883
  }
2884
- .csf-profile-options > .csf-field > .csf-fieldset {
2885
  width: calc(100% - 220px);
2886
  }
2887
- .csf-profile-options > .csf-field > .csf-fieldset > .csf-help {
2888
  top: -15px;
2889
  right: -5px;
2890
  }
2891
- .csf-profile-options > .csf-field-heading {
2892
  font-size: 1.1em;
2893
  }
2894
- .csf-profile-options > .csf-field-subheading {
2895
  font-size: 12px;
2896
  }
2897
- .csf-profile-options > .csf-field-subheading,
2898
- .csf-profile-options > .csf-field-heading {
2899
  margin: 10px 0;
2900
  padding: 15px !important;
2901
  border: 1px solid #ddd;
2902
  }
2903
- .csf-profile-options > .csf-field-submessage {
2904
  margin: 20px 0;
2905
  }
2906
- .csf-profile-options > .csf-field-submessage .csf-submessage {
2907
  padding: 10px;
2908
  border-left-width: 1px;
2909
  border-left-style: solid;
2910
  border-right-width: 1px;
2911
  border-right-style: solid;
2912
  }
2913
- .csf-profile-options > .csf-field-notice {
2914
  background-color: transparent;
2915
  }
2916
 
2917
  /**
2918
  * 09. Modal
2919
  */
2920
- .csf-modal {
2921
  position: fixed;
2922
  z-index: 100101;
2923
  top: 0;
@@ -2925,27 +2925,27 @@
2925
  width: 100%;
2926
  height: 100%;
2927
  }
2928
- .csf-modal.hidden {
2929
  display: none;
2930
  }
2931
 
2932
- .csf-modal-icon {
2933
  z-index: 100102;
2934
  }
2935
 
2936
- .csf-modal-table {
2937
  display: table;
2938
  width: 100%;
2939
  height: 100%;
2940
  }
2941
 
2942
- .csf-modal-table-cell {
2943
  display: table-cell;
2944
  vertical-align: middle;
2945
  margin: 100px 0;
2946
  }
2947
 
2948
- .csf-modal-inner {
2949
  position: relative;
2950
  z-index: 10;
2951
  width: 760px;
@@ -2954,34 +2954,34 @@
2954
  background-color: #fff;
2955
  }
2956
 
2957
- .csf-modal-content {
2958
  position: relative;
2959
  overflow: hidden;
2960
  overflow-y: auto;
2961
  height: 595px;
2962
  }
2963
- .csf-modal-content .csf-shortcode-button {
2964
  display: none;
2965
  }
2966
- .csf-modal-content .csf-field {
2967
  padding: 15px 30px 15px 15px;
2968
  }
2969
- .csf-modal-content a:active, .csf-modal-content a:focus {
2970
  outline: none;
2971
  -moz-box-shadow: none;
2972
  -webkit-box-shadow: none;
2973
  box-shadow: none;
2974
  }
2975
- .csf-modal-content h4 {
2976
  font-size: 13px;
2977
  }
2978
- .csf-modal-content h4 small {
2979
  font-style: italic;
2980
  font-weight: 400;
2981
  color: #aaa;
2982
  }
2983
 
2984
- .csf-modal-title {
2985
  position: relative;
2986
  background-color: #fcfcfc;
2987
  border-bottom: 1px solid #ddd;
@@ -2993,13 +2993,13 @@
2993
  padding: 0 36px 0 16px;
2994
  }
2995
 
2996
- .csf-modal-header {
2997
  width: 100%;
2998
  padding: 14px 0;
2999
  background-color: #f5f5f5;
3000
  border-bottom: 1px solid #eee;
3001
  }
3002
- .csf-modal-header select {
3003
  display: block;
3004
  width: 250px;
3005
  margin: 0 auto;
@@ -3010,7 +3010,7 @@
3010
  background-color: #fff;
3011
  }
3012
 
3013
- .csf-modal-close {
3014
  color: #666;
3015
  padding: 0;
3016
  position: absolute;
@@ -3023,18 +3023,18 @@
3023
  border: none;
3024
  cursor: pointer;
3025
  }
3026
- .csf-modal-close:before {
3027
  font: normal 20px/36px dashicons;
3028
  content: "\f158";
3029
  vertical-align: top;
3030
  width: 36px;
3031
  height: 36px;
3032
  }
3033
- .csf-modal-close:hover {
3034
  opacity: 0.5;
3035
  }
3036
 
3037
- .csf-modal-insert-wrapper {
3038
  text-align: center;
3039
  width: 100%;
3040
  padding: 15px 0;
@@ -3042,7 +3042,7 @@
3042
  border-top: 1px solid #eee;
3043
  }
3044
 
3045
- .csf-modal-overlay {
3046
  position: absolute;
3047
  top: 0;
3048
  left: 0;
@@ -3055,24 +3055,24 @@
3055
  /**
3056
  * 09. 01. Shortcode Modal
3057
  */
3058
- .csf--repeatable {
3059
  padding: 15px 15px 0 15px;
3060
  }
3061
 
3062
- .csf--repeat-button-block {
3063
  text-align: center;
3064
  padding-bottom: 15px;
3065
  }
3066
 
3067
- .csf--repeat-shortcode {
3068
  position: relative;
3069
  margin-bottom: 15px;
3070
  border: 1px dashed #ddd;
3071
  }
3072
- .csf--repeat-shortcode:first-child .csf-repeat-remove {
3073
  display: none;
3074
  }
3075
- .csf--repeat-shortcode .csf-repeat-remove {
3076
  position: absolute;
3077
  right: 10px;
3078
  top: 10px;
@@ -3089,28 +3089,28 @@
3089
  background-color: #e14d43;
3090
  opacity: 0.5;
3091
  }
3092
- .csf--repeat-shortcode .csf-repeat-remove:hover {
3093
  opacity: 1;
3094
  }
3095
 
3096
- .csf-shortcode-single .csf-modal-inner {
3097
  height: 750px;
3098
  }
3099
- .csf-shortcode-single .csf-modal-content {
3100
  height: 652px;
3101
  }
3102
 
3103
- .elementor-editor-active .csf-shortcode-button {
3104
  margin-left: 5px;
3105
  }
3106
- .elementor-editor-active .csf-modal .hidden {
3107
  display: none !important;
3108
  }
3109
 
3110
  /**
3111
  * 09. 02. Gutenberg Modal
3112
  */
3113
- .csf-shortcode-block {
3114
  text-align: center;
3115
  padding: 14px;
3116
  font-size: 13px;
@@ -3118,14 +3118,14 @@
3118
  font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;
3119
  }
3120
 
3121
- .csf-shortcode-block .components-button {
3122
  margin-bottom: 10px;
3123
  }
3124
 
3125
  /**
3126
  * 09. 03. Icon Modal
3127
  */
3128
- .csf-modal-icon .csf-icon-title {
3129
  padding: 15px 0;
3130
  margin: 4px;
3131
  font-size: 14px;
@@ -3134,15 +3134,15 @@
3134
  border: 1px solid #eee;
3135
  background-color: #f7f7f7;
3136
  }
3137
- .csf-modal-icon .csf-modal-header {
3138
  text-align: center;
3139
  }
3140
- .csf-modal-icon .csf-icon-search {
3141
  width: 50%;
3142
  height: 40px;
3143
  line-height: 40px;
3144
  }
3145
- .csf-modal-icon i {
3146
  cursor: pointer;
3147
  display: inline-block;
3148
  margin: 4px;
@@ -3161,27 +3161,27 @@
3161
  -webkit-box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.05);
3162
  box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.05);
3163
  }
3164
- .csf-modal-icon i:hover {
3165
  color: #fff;
3166
  border-color: #222;
3167
  background-color: #222;
3168
  }
3169
- .csf-modal-icon .csf-modal-content {
3170
  padding: 10px;
3171
  height: 618px;
3172
  }
3173
- .csf-modal-icon .csf-error-text {
3174
  padding: 10px;
3175
  }
3176
 
3177
- .csf-modal-loading {
3178
  display: none;
3179
  position: absolute;
3180
  left: 15px;
3181
  top: 15px;
3182
  }
3183
 
3184
- .csf-loading {
3185
  position: relative;
3186
  width: 20px;
3187
  height: 20px;
@@ -3193,7 +3193,7 @@
3193
  -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.07);
3194
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.07);
3195
  }
3196
- .csf-loading:after {
3197
  position: absolute;
3198
  top: 50%;
3199
  left: 50%;
@@ -3212,15 +3212,15 @@
3212
  -moz-animation-timing-function: linear;
3213
  -webkit-animation-timing-function: linear;
3214
  animation-timing-function: linear;
3215
- -moz-animation-name: csfLoader;
3216
- -webkit-animation-name: csfLoader;
3217
- animation-name: csfLoader;
3218
  -moz-border-radius: 4px;
3219
  -webkit-border-radius: 4px;
3220
  border-radius: 4px;
3221
  }
3222
 
3223
- @-moz-keyframes csfLoader {
3224
  0% {
3225
  -moz-transform: rotate(0deg) translateX(-6px) rotate(0deg);
3226
  transform: rotate(0deg) translateX(-6px) rotate(0deg);
@@ -3230,7 +3230,7 @@
3230
  transform: rotate(360deg) translateX(-6px) rotate(-360deg);
3231
  }
3232
  }
3233
- @-webkit-keyframes csfLoader {
3234
  0% {
3235
  -webkit-transform: rotate(0deg) translateX(-6px) rotate(0deg);
3236
  transform: rotate(0deg) translateX(-6px) rotate(0deg);
@@ -3240,7 +3240,7 @@
3240
  transform: rotate(360deg) translateX(-6px) rotate(-360deg);
3241
  }
3242
  }
3243
- @keyframes csfLoader {
3244
  0% {
3245
  -moz-transform: rotate(0deg) translateX(-6px) rotate(0deg);
3246
  -ms-transform: rotate(0deg) translateX(-6px) rotate(0deg);
@@ -3257,13 +3257,13 @@
3257
  /**
3258
  * 10. Helper
3259
  */
3260
- .csf-subtitle-text {
3261
  margin-top: 6px;
3262
  font-weight: 400;
3263
  color: #999;
3264
  }
3265
 
3266
- .csf-desc-text {
3267
  clear: both;
3268
  float: left;
3269
  width: 100%;
@@ -3272,39 +3272,39 @@
3272
  color: #999;
3273
  }
3274
 
3275
- .csf-error-text {
3276
  margin-top: 6px;
3277
  color: #d02c21;
3278
  }
3279
 
3280
- .csf-before-text {
3281
  margin-bottom: 6px;
3282
  }
3283
 
3284
- .csf-after-text {
3285
  margin-top: 6px;
3286
  }
3287
 
3288
- .csf-metabox-hide {
3289
  display: none !important;
3290
  }
3291
 
3292
- .csf-metabox-show {
3293
  display: block !important;
3294
  }
3295
 
3296
- .csf-depend-hidden.csf-depend-on {
3297
  display: none;
3298
  }
3299
 
3300
- .csf-depend-visible.csf-depend-on {
3301
  display: block;
3302
  opacity: 0.75;
3303
  filter: grayscale(1);
3304
  user-select: none;
3305
  border-top: 1px solid #eee;
3306
  }
3307
- .csf-depend-visible.csf-depend-on .clear:before {
3308
  content: "";
3309
  left: 0;
3310
  top: 0;
@@ -3316,24 +3316,24 @@
3316
  z-index: 10;
3317
  }
3318
 
3319
- .csf-warning-primary {
3320
  color: #fff !important;
3321
  border-color: #dc3545 !important;
3322
  background: #dc3545 !important;
3323
  }
3324
- .csf-warning-primary:hover, .csf-warning-primary:focus {
3325
  border-color: #bd2130 !important;
3326
  background: #bd2130 !important;
3327
  }
3328
- .csf-warning-primary:focus {
3329
  box-shadow: 0 0 0 1px #fff, 0 0 0 3px #bd2130 !important;
3330
  }
3331
- .csf-warning-primary:active {
3332
  border-color: #bd2130 !important;
3333
  background: #bd2130 !important;
3334
  }
3335
 
3336
- .csf-form-result {
3337
  display: none;
3338
  float: left;
3339
  padding: 0 8px;
@@ -3344,21 +3344,21 @@
3344
  border-radius: 2px;
3345
  }
3346
 
3347
- .csf-form-show {
3348
  display: block;
3349
  }
3350
 
3351
- .csf-form-success {
3352
  color: #fff;
3353
  background-color: #46b450;
3354
  }
3355
 
3356
- .csf-form-warning {
3357
  color: #8a6d3b;
3358
  background-color: #faebcc;
3359
  }
3360
 
3361
- .csf-label-error {
3362
  position: relative;
3363
  top: -2px;
3364
  display: inline-block;
@@ -3377,16 +3377,16 @@
3377
  border-radius: 2px;
3378
  }
3379
 
3380
- .csf-no-option {
3381
  padding: 30px;
3382
  }
3383
 
3384
- .csf-input-number {
3385
  -moz-appearance: textfield;
3386
  }
3387
 
3388
- .csf-input-number::-webkit-inner-spin-button,
3389
- .csf-input-number::-webkit-outer-spin-button {
3390
  -webkit-appearance: none;
3391
  margin: 0;
3392
  }
@@ -3394,17 +3394,17 @@
3394
  /**
3395
  * 11. Welcome Page
3396
  */
3397
- .csf-welcome-wrap {
3398
  position: relative;
3399
  margin: 25px 40px 0 20px;
3400
  font-size: 15px;
3401
  max-width: 1200px;
3402
  }
3403
- .csf-welcome-wrap p {
3404
  font-size: 14px;
3405
  line-height: 1.5;
3406
  }
3407
- .csf-welcome-wrap h1 {
3408
  margin: 0.2em 200px 0 0;
3409
  padding: 0;
3410
  color: #32373c;
@@ -3412,7 +3412,7 @@
3412
  font-size: 2.8em;
3413
  font-weight: 400;
3414
  }
3415
- .csf-welcome-wrap .csf-logo {
3416
  position: absolute;
3417
  overflow: hidden;
3418
  top: 0;
@@ -3422,35 +3422,35 @@
3422
  background-image: linear-gradient(45deg, #2d67cb, #ad19f3);
3423
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25), inset 0 0 0 4px rgba(0, 0, 0, 0.25);
3424
  }
3425
- .csf-welcome-wrap .csf-logo .csf--effects i {
3426
  position: absolute;
3427
  width: 200px;
3428
  height: 100px;
3429
  background-color: rgba(0, 0, 0, 0.15);
3430
  transform: rotate(-45deg);
3431
  }
3432
- .csf-welcome-wrap .csf-logo .csf--effects i:nth-child(1) {
3433
  bottom: -20px;
3434
  right: -70px;
3435
  }
3436
- .csf-welcome-wrap .csf-logo .csf--effects i:nth-child(2) {
3437
  bottom: -35px;
3438
  right: -80px;
3439
  }
3440
- .csf-welcome-wrap .csf-logo .csf--effects i:nth-child(3) {
3441
  bottom: -50px;
3442
  right: -90px;
3443
  }
3444
- .csf-welcome-wrap .csf-logo .csf--effects i:nth-child(4) {
3445
  bottom: -65px;
3446
  right: -100px;
3447
  }
3448
- .csf-welcome-wrap .csf-logo .csf--wp-logos {
3449
  position: relative;
3450
  padding-top: 25px;
3451
  text-align: center;
3452
  }
3453
- .csf-welcome-wrap .csf-logo .csf--wp-logo {
3454
  position: absolute;
3455
  left: 20px;
3456
  width: 20px;
@@ -3459,7 +3459,7 @@
3459
  background-position: center center;
3460
  background-image: url(../images/wp-logo.svg);
3461
  }
3462
- .csf-welcome-wrap .csf-logo .csf--wp-plugin-logo {
3463
  display: inline-block;
3464
  width: 50px;
3465
  height: 50px;
@@ -3471,7 +3471,7 @@
3471
  border-radius: 100%;
3472
  vertical-align: middle;
3473
  }
3474
- .csf-welcome-wrap .csf-logo .csf--text {
3475
  position: absolute;
3476
  left: 0;
3477
  right: 0;
@@ -3484,7 +3484,7 @@
3484
  text-transform: uppercase;
3485
  text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.25);
3486
  }
3487
- .csf-welcome-wrap .csf-logo .csf--version {
3488
  top: auto;
3489
  left: auto;
3490
  right: 8px;
@@ -3492,76 +3492,76 @@
3492
  font-size: 11px;
3493
  text-transform: lowercase;
3494
  }
3495
- .csf-welcome-wrap .csf-about-text {
3496
  font-weight: 400;
3497
  line-height: 1.6em;
3498
  font-size: 19px;
3499
  margin: 1em 200px 1em 0;
3500
  color: #555d66;
3501
  }
3502
- .csf-welcome-wrap .csf-demo-button {
3503
  margin: 1em 200px 2em 0;
3504
  }
3505
- .csf-welcome-wrap .nav-tab-wrapper {
3506
  margin-bottom: 20px;
3507
  }
3508
- .csf-welcome-wrap ul {
3509
  list-style-type: disc;
3510
  padding-left: 15px;
3511
  }
3512
- .csf-welcome-wrap .csf--col {
3513
  float: left;
3514
  padding-right: 20px;
3515
  box-sizing: border-box;
3516
  }
3517
- .csf-welcome-wrap .csf--col-2 {
3518
  width: 50%;
3519
  }
3520
- .csf-welcome-wrap .csf--col-3 {
3521
  width: 33.333%;
3522
  }
3523
- .csf-welcome-wrap .csf--col-4 {
3524
  width: 25%;
3525
  }
3526
- .csf-welcome-wrap .csf--col-5 {
3527
  width: 20%;
3528
  }
3529
- .csf-welcome-wrap .csf--col-last {
3530
  padding-right: 0;
3531
  }
3532
- .csf-welcome-wrap .csf--col-upgrade {
3533
  padding: 10px 0;
3534
  text-align: center;
3535
  border-top: 1px solid #e5e5e5;
3536
  }
3537
 
3538
- .csf--table-compare thead td,
3539
- .csf--table-compare tfoot td {
3540
  text-align: center;
3541
  }
3542
- .csf--table-compare td {
3543
  font-size: 14px;
3544
  text-align: center;
3545
  vertical-align: middle;
3546
  padding: 10px;
3547
  }
3548
- .csf--table-compare td:first-child {
3549
  text-align: left;
3550
  }
3551
- .csf--table-compare tfoot td {
3552
  padding: 15px 0;
3553
  }
3554
- .csf--table-compare .fa {
3555
  font-size: 18px;
3556
  }
3557
- .csf--table-compare .fa-check-circle {
3558
  color: #46b450;
3559
  }
3560
- .csf--table-compare .fa-times-circle {
3561
  color: #dc3232;
3562
  }
3563
 
3564
- .csf-welcome-cols {
3565
  clear: both;
3566
  margin: 20px 0;
3567
  background-color: #fff;
@@ -3569,7 +3569,7 @@
3569
  border-radius: 2px;
3570
  border: 1px solid #e5e5e5;
3571
  }
3572
- .csf-welcome-cols .csf--col {
3573
  width: 33.333%;
3574
  float: left;
3575
  padding: 20px;
@@ -3578,27 +3578,27 @@
3578
  min-height: 200px;
3579
  border-right: 1px solid #e5e5e5;
3580
  }
3581
- .csf-welcome-cols .csf--left,
3582
- .csf-welcome-cols .csf--block {
3583
  float: left;
3584
  width: 20%;
3585
  padding: 0 30px;
3586
  text-align: center;
3587
  box-sizing: border-box;
3588
  }
3589
- .csf-welcome-cols .csf--block {
3590
  width: 80%;
3591
  }
3592
- .csf-welcome-cols .csf--col-first {
3593
  border-bottom: 1px solid #e5e5e5;
3594
  }
3595
- .csf-welcome-cols .csf--last {
3596
  border-right: none;
3597
  }
3598
- .csf-welcome-cols .csf--space {
3599
  height: 20px;
3600
  }
3601
- .csf-welcome-cols .csf--icon {
3602
  display: inline-block;
3603
  font-size: 20px;
3604
  width: 30px;
@@ -3610,68 +3610,68 @@
3610
  background-color: #555;
3611
  border-radius: 30px;
3612
  }
3613
- .csf-welcome-cols .csf--active {
3614
  background-color: #5cb85c;
3615
  }
3616
- .csf-welcome-cols .csf--deactive {
3617
  background-color: #e14d43;
3618
  }
3619
- .csf-welcome-cols .csf--title {
3620
  font-weight: bold;
3621
  display: block;
3622
  }
3623
- .csf-welcome-cols p:last-child {
3624
  margin-bottom: 0;
3625
  }
3626
 
3627
- .csf-features-cols .csf--key-features {
3628
  width: 30%;
3629
  }
3630
- .csf-features-cols .csf--available-fields {
3631
  width: 70%;
3632
  }
3633
 
3634
- .csf-code-block {
3635
  margin: 20px 0;
3636
  padding: 5px 20px;
3637
  background-color: #fff;
3638
  border-radius: 2px;
3639
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
3640
  }
3641
- .csf-code-block pre {
3642
  font-size: 13px;
3643
  color: #0073aa;
3644
  }
3645
- .csf-code-block pre span {
3646
  color: #999;
3647
  }
3648
 
3649
- .csf--table-fields td {
3650
  font-size: 14px;
3651
  }
3652
 
3653
- .csf--upgrade a {
3654
  color: #5cb85c;
3655
  font-weight: bold;
3656
  }
3657
- .csf--upgrade a:focus, .csf--upgrade a:hover {
3658
  color: #4aa14a;
3659
  outline: none;
3660
  box-shadow: none;
3661
  }
3662
 
3663
  @media only screen and (max-width: 782px) {
3664
- .csf-welcome-cols .csf--col {
3665
  width: 100%;
3666
  min-height: auto;
3667
  border-right: none;
3668
  border-bottom: 1px solid #e5e5e5;
3669
  }
3670
 
3671
- .csf-features-cols .csf--key-features {
3672
  width: 100%;
3673
  }
3674
- .csf-features-cols .csf--available-fields {
3675
  width: 100%;
3676
  }
3677
  }
@@ -3679,129 +3679,129 @@
3679
  * 12. Responsive
3680
  */
3681
  @media only screen and (max-width: 1200px) {
3682
- .csf-metabox .csf-field .csf-title {
3683
  float: none;
3684
  width: 100%;
3685
  margin-bottom: 10px;
3686
  }
3687
- .csf-metabox .csf-field .csf-fieldset {
3688
  float: none;
3689
  width: 100%;
3690
  }
3691
  }
3692
  @media only screen and (max-width: 782px) {
3693
- .csf-header-inner {
3694
  text-align: center;
3695
  }
3696
- .csf-header-inner h1 {
3697
  width: 100%;
3698
  margin-bottom: 10px;
3699
  }
3700
 
3701
- .csf-form-result {
3702
  float: none;
3703
  margin-right: 0;
3704
  margin-bottom: 10px;
3705
  }
3706
 
3707
- .csf-search,
3708
- .csf-header-right,
3709
- .csf-header-left {
3710
  width: 100%;
3711
  }
3712
 
3713
- .csf-search {
3714
  text-align: center;
3715
  margin-bottom: 15px;
3716
  }
3717
 
3718
- .csf-footer {
3719
  text-align: center;
3720
  }
3721
 
3722
- .csf-buttons {
3723
  float: none;
3724
  }
3725
 
3726
- .csf-copyright {
3727
  float: none;
3728
  margin-top: 10px;
3729
  }
3730
 
3731
- .csf-nav,
3732
- .csf-expand-all,
3733
- .csf-reset-section,
3734
- .csf-nav-background {
3735
  display: none !important;
3736
  }
3737
 
3738
- .csf-content {
3739
  margin-left: 0;
3740
  }
3741
 
3742
- .csf-section-title,
3743
- .csf-section {
3744
  display: block !important;
3745
  }
3746
 
3747
- .csf-field .csf-title {
3748
  float: none;
3749
  width: 100%;
3750
  margin-bottom: 10px;
3751
  }
3752
- .csf-field .csf-fieldset {
3753
  float: none;
3754
  width: 100%;
3755
  }
3756
 
3757
- .csf-field-color .button.wp-picker-clear {
3758
  padding: 0 8px;
3759
  line-height: 2.14285714;
3760
  min-height: 32px;
3761
  }
3762
 
3763
- .csf-modal-inner {
3764
  width: 350px;
3765
  height: 400px;
3766
  }
3767
 
3768
- .csf-modal-content {
3769
  height: 237px;
3770
  }
3771
 
3772
- .csf-icon-dialog .csf-modal-inner {
3773
  width: 305px;
3774
  height: 380px;
3775
  }
3776
- .csf-icon-dialog .csf-modal-content {
3777
  height: 267px;
3778
  }
3779
 
3780
- .csf-modal-icon .csf-modal-inner {
3781
  width: 330px;
3782
  height: 385px;
3783
  }
3784
- .csf-modal-icon .csf-modal-content {
3785
  height: 252px;
3786
  }
3787
 
3788
- .csf-profile-options > .csf-field > .csf-title,
3789
- .csf-taxonomy-edit-fields > .csf-field > .csf-title {
3790
  float: none;
3791
  width: 100%;
3792
  margin-bottom: 10px;
3793
  }
3794
- .csf-profile-options > .csf-field > .csf-fieldset,
3795
- .csf-taxonomy-edit-fields > .csf-field > .csf-fieldset {
3796
  float: none;
3797
  width: 100%;
3798
  }
3799
 
3800
- .csf-nav-menu-options > .csf-fields {
3801
  margin-left: -10px;
3802
  margin-right: -10px;
3803
  }
3804
- .csf-nav-menu-options > .csf-fields > .csf-field {
3805
  padding: 10px;
3806
  }
3807
  }
82
  /**
83
  * 01. Base
84
  */
85
+ .ulf {
86
  position: relative;
87
  }
88
+ .ulf label {
89
  padding: 0;
90
  margin: 0;
91
  display: inline-block;
92
  }
93
 
94
+ .ulf-ab-icon {
95
  top: 2px;
96
  }
97
 
98
+ #screen-meta-links + .ulf-options {
99
  margin-top: 40px;
100
  }
101
 
102
+ .ulf-options {
103
  margin-top: 20px;
104
  margin-right: 20px;
105
  }
107
  /**
108
  * 01. 01. Header
109
  */
110
+ .ulf-header {
111
  position: relative;
112
  }
113
 
114
+ .ulf-header-inner {
115
  padding: 25px;
116
  transition: box-shadow .3s ease;
117
  }
118
+ .ulf-header-inner h1 {
119
  float: left;
120
  font-size: 1.5em;
121
  line-height: 26px;
122
  font-weight: 400;
123
  margin: 0;
124
  }
125
+ .ulf-header-inner h1 small {
126
  font-size: 11px;
127
  font-weight: 500;
128
  }
130
  /**
131
  * 01. 02. Sticky
132
  */
133
+ .ulf-sticky .ulf-header-inner {
134
  position: fixed;
135
  z-index: 99;
136
  top: 32px;
142
  /**
143
  * 01. 03. Header Buttons
144
  */
145
+ .ulf-buttons {
146
  float: right;
147
  -moz-transition: opacity 0.2s;
148
  -o-transition: opacity 0.2s;
149
  -webkit-transition: opacity 0.2s;
150
  transition: opacity 0.2s;
151
  }
152
+ .ulf-buttons .button {
153
  margin: 0 2px;
154
  line-height: 26px;
155
  }
156
+ .ulf-buttons .button:focus {
157
  outline: none !important;
158
  box-shadow: none !important;
159
  }
160
+ .ulf-buttons .ulf-save {
161
  min-width: 72px;
162
  }
163
 
164
+ .ulf-header-left {
165
  float: left;
166
  }
167
 
168
+ .ulf-header-right {
169
  float: right;
170
  }
171
 
172
  /**
173
  * 01. 04. Navigation
174
  */
175
+ .ulf-nav {
176
  display: block;
177
  position: relative;
178
  z-index: 10;
179
  float: left;
180
  width: 225px;
181
  }
182
+ .ulf-nav ul {
183
  clear: left;
184
  margin: 0;
185
  list-style-type: none;
186
  }
187
+ .ulf-nav ul li {
188
  margin-bottom: 0;
189
  }
190
+ .ulf-nav ul li a {
191
  font-size: 13px;
192
  position: relative;
193
  display: block;
197
  transition-duration: 0.2s;
198
  transition-timing-function: ease;
199
  }
200
+ .ulf-nav ul li a:focus {
201
  outline: none;
202
  -moz-box-shadow: none;
203
  -webkit-box-shadow: none;
204
  box-shadow: none;
205
  }
206
+ .ulf-nav ul li .ulf-arrow:after {
207
  content: "\f054";
208
  display: inline-block;
209
  font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", "FontAwesome";
219
  -webkit-transform: rotate(0);
220
  transform: rotate(0);
221
  }
222
+ .ulf-nav ul li.ulf-tab-expanded .ulf-arrow:after {
223
  -moz-transform: rotate(90deg);
224
  -ms-transform: rotate(90deg);
225
  -webkit-transform: rotate(90deg);
226
  transform: rotate(90deg);
227
  }
228
+ .ulf-nav ul li.ulf-tab-expanded ul {
229
  display: block;
230
  }
231
+ .ulf-nav ul ul {
232
  display: none;
233
  position: relative;
234
  }
235
+ .ulf-nav ul ul li a {
236
  font-size: 12px;
237
  padding: 12px 14px 12px 24px;
238
  }
239
+ .ulf-nav .ulf-tab-icon {
240
  width: 20px;
241
  margin-right: 5px;
242
  font-size: 13px;
243
  text-align: center;
244
  }
245
+ .ulf-nav .ulf-label-error {
246
  margin-left: 4px;
247
  vertical-align: top;
248
  }
249
 
250
+ .ulf-nav-background {
251
  position: absolute;
252
  top: 0;
253
  left: 0;
259
  /**
260
  * 01. 05. Wrapper
261
  */
262
+ .ulf-wrapper {
263
  position: relative;
264
  }
265
 
266
  /**
267
  * 01. 06. Content
268
  */
269
+ .ulf-content {
270
  position: relative;
271
  margin-left: 225px;
272
  background-color: #fff;
279
  /**
280
  * 01. 07. Section
281
  */
282
+ .ulf-sections {
283
  float: left;
284
  width: 100%;
285
  }
286
 
287
+ .ulf-section {
288
  display: none;
289
  }
290
 
291
+ .ulf-section-title {
292
  display: none;
293
  padding: 20px 30px;
294
  background-color: #f5f5f5;
295
  border-top: 1px solid #eee;
296
  border-bottom: 1px solid #eee;
297
  }
298
+ .ulf-section-title h3 {
299
  margin: 0;
300
  padding: 0;
301
  font-size: 13px;
302
  font-weight: bold;
303
  text-transform: uppercase;
304
  }
305
+ .ulf-section-title .ulf-section-icon {
306
  margin-right: 5px;
307
  }
308
 
309
  /**
310
  * 01. 08. Footer
311
  */
312
+ .ulf-footer {
313
  padding: 20px;
314
  font-size: 11px;
315
  }
317
  /**
318
  * 01. 09. Copyright
319
  */
320
+ .ulf-copyright {
321
  float: left;
322
  margin-top: 5px;
323
  }
325
  /**
326
  * 01. 10. Show All Options
327
  */
328
+ .ulf-search-all .ulf-nav-background,
329
+ .ulf-search-all .ulf-nav,
330
+ .ulf-show-all .ulf-nav-background,
331
+ .ulf-show-all .ulf-nav {
332
  display: none;
333
  }
334
+ .ulf-search-all .ulf-content,
335
+ .ulf-show-all .ulf-content {
336
  margin-left: 0;
337
  }
338
+ .ulf-search-all .ulf-section-title,
339
+ .ulf-search-all .ulf-section,
340
+ .ulf-show-all .ulf-section-title,
341
+ .ulf-show-all .ulf-section {
342
  display: block !important;
343
  }
344
 
345
+ .ulf-search-all .ulf-section-title {
346
  display: none !important;
347
  }
348
 
349
+ .ulf-expand-all {
350
  float: left;
351
  padding: 0 8px;
352
  margin-right: 4px;
363
  -webkit-transition: all 0.2s;
364
  transition: all 0.2s;
365
  }
366
+ .ulf-expand-all span {
367
  font-size: 11px;
368
  vertical-align: middle;
369
  }
371
  /**
372
  * 01. 11. Search Input
373
  */
374
+ .ulf-search {
375
  float: left;
376
  }
377
+ .ulf-search input {
378
  margin: 0 2px 0 0;
379
  border: none;
380
  font-size: 12px;
389
  -webkit-box-shadow: none;
390
  box-shadow: none;
391
  }
392
+ .ulf-search input:focus {
393
  -moz-box-shadow: none;
394
  -webkit-box-shadow: none;
395
  box-shadow: none;
396
  }
397
 
398
+ .ulf-saving .ulf-buttons,
399
+ .ulf-saving .ulf-content {
400
  cursor: default;
401
  pointer-events: none;
402
  opacity: 0.5;
405
  /**
406
  * 01. 12. Metabox
407
  */
408
+ .ulf-metabox {
409
  margin: -6px -12px -12px -12px;
410
  }
411
+ .ulf-metabox .ulf-field {
412
  padding: 20px;
413
  }
414
+ .ulf-metabox .ulf-section-title {
415
  padding: 20px;
416
  }
417
 
418
+ .block-editor-page .ulf-metabox {
419
  margin: -6px -14px -14px -14px;
420
  }
421
 
422
+ .block-editor-editor-skeleton__content .ulf-metabox {
423
  border-left: 1px solid #e2e4e7;
424
  border-right: 1px solid #e2e4e7;
425
  }
426
 
427
+ .ulf-sections-restore {
428
  float: left;
429
  width: 100%;
430
  position: relative;
432
  text-align: right;
433
  border-top: 1px solid #eee;
434
  }
435
+ .ulf-sections-restore .ulf-button-cancel,
436
+ .ulf-sections-restore input {
437
  display: none;
438
  }
439
+ .ulf-sections-restore label {
440
  padding: 10px;
441
  }
442
+ .ulf-sections-restore span {
443
  -webkit-user-select: none;
444
  user-select: none;
445
  }
446
+ .ulf-sections-restore input:checked ~ .ulf-button-restore {
447
  display: none;
448
  }
449
+ .ulf-sections-restore input:checked ~ .ulf-button-cancel {
450
  display: inline-block;
451
  }
452
 
453
+ #side-sortables .ulf-section-title {
454
  padding: 12px;
455
  }
456
+ #side-sortables .ulf-field {
457
  padding: 10px 15px;
458
  }
459
+ #side-sortables .ulf-field .ulf-title {
460
  float: none;
461
  width: 100%;
462
  margin-bottom: 6px;
463
  }
464
+ #side-sortables .ulf-field .ulf-fieldset {
465
  float: none;
466
  width: 100%;
467
  }
468
+ #side-sortables .ulf-field-text input {
469
  width: 100%;
470
  }
471
+ #side-sortables .ulf-notice {
472
  padding: 10px 15px;
473
  }
474
 
475
  /**
476
  * 01. 13. Comment Metabox
477
  */
478
+ .ulf-comment-metabox {
479
  margin: -6px -12px -12px -12px;
480
  }
481
+ .ulf-comment-metabox .ulf-field {
482
  padding: 20px;
483
  }
484
+ .ulf-comment-metabox .ulf-section-title {
485
  padding: 20px;
486
  }
487
 
488
  /**
489
  * 01. 14. Help Tooltip
490
  */
491
+ .ulf-tooltip {
492
  position: absolute;
493
  z-index: 5000001;
494
  font-size: 12px;
511
  /**
512
  * 02. 01. Theme Dark
513
  */
514
+ .ulf-theme-dark .ulf-header-inner {
515
  background-color: #050505;
516
  }
517
+ .ulf-theme-dark .ulf-header-inner h1 {
518
  color: #fff;
519
  }
520
+ .ulf-theme-dark .ulf-header-inner h1 small {
521
  color: #555;
522
  }
523
+ .ulf-theme-dark .ulf-expand-all {
524
  color: #999;
525
  background-color: #222;
526
  }
527
+ .ulf-theme-dark .ulf-expand-all:hover {
528
  color: #fff;
529
  background-color: #333;
530
  }
531
+ .ulf-theme-dark .ulf-search input {
532
  color: #fff;
533
  background-color: #222;
534
  }
535
+ .ulf-theme-dark .ulf-search:focus {
536
  background-color: #444;
537
  }
538
+ .ulf-theme-dark .ulf-search::-webkit-input-placeholder {
539
  color: #666;
540
  }
541
+ .ulf-theme-dark .ulf-nav ul li a {
542
  color: #999;
543
  background-color: #222;
544
  border-bottom: 1px solid #2f2f2f;
545
  }
546
+ .ulf-theme-dark .ulf-nav ul li a:hover {
547
  color: #fff;
548
  }
549
+ .ulf-theme-dark .ulf-nav ul li .ulf-active {
550
  color: #fff;
551
  background-color: #111;
552
  }
553
+ .ulf-theme-dark .ulf-nav ul li .ulf-active:after {
554
  content: " ";
555
  position: absolute;
556
  right: 0;
563
  border-width: 4px;
564
  margin-top: -4px;
565
  }
566
+ .ulf-theme-dark .ulf-nav ul ul li a {
567
  background-color: #191919;
568
  border-bottom: 1px solid #2f2f2f;
569
  }
570
+ .ulf-theme-dark .ulf-nav ul ul li .ulf-active {
571
  background-color: #101010;
572
  }
573
+ .ulf-theme-dark .ulf-nav ul ul:before {
574
  background-color: rgba(34, 34, 34, 0.75);
575
  }
576
+ .ulf-theme-dark .ulf-nav > ul > li:last-child > a {
577
  border-bottom: none;
578
  }
579
+ .ulf-theme-dark .ulf-nav-background {
580
  background-color: #222;
581
  }
582
+ .ulf-theme-dark .ulf-footer {
583
  color: #555;
584
  background-color: #050505;
585
  }
587
  /**
588
  * 02. 02. Theme Light
589
  */
590
+ .ulf-theme-light .ulf-container {
591
  border: 1px solid #ccd0d4;
592
  -moz-box-shadow: 0 0 15px rgba(0, 0, 0, 0.04);
593
  -webkit-box-shadow: 0 0 15px rgba(0, 0, 0, 0.04);
594
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.04);
595
  }
596
+ .ulf-theme-light .ulf-header-inner {
597
  border-bottom: 1px solid #ccd0d4;
598
  background-color: #f5f5f5;
599
  background: linear-gradient(#fefefe, #f5f5f5);
600
  }
601
+ .ulf-theme-light .ulf-header-inner h1 small {
602
  color: #999;
603
  }
604
+ .ulf-theme-light .ulf-expand-all {
605
  color: #999;
606
  background-color: #eee;
607
  }
608
+ .ulf-theme-light .ulf-expand-all:hover {
609
  color: #555;
610
  }
611
+ .ulf-theme-light .ulf-search input {
612
  color: #555;
613
  background-color: #eee;
614
  }
615
+ .ulf-theme-light .ulf-search input::-webkit-input-placeholder {
616
  color: #999;
617
  }
618
+ .ulf-theme-light .ulf-nav ul li a {
619
  color: #666;
620
  background-color: #f5f5f5;
621
  border-bottom: 1px solid #ccd0d4;
622
  }
623
+ .ulf-theme-light .ulf-nav ul li a:hover {
624
  color: #222;
625
  }
626
+ .ulf-theme-light .ulf-nav ul li .ulf-active {
627
  color: #222;
628
  background-color: #fff;
629
  }
630
+ .ulf-theme-light .ulf-nav ul li .ulf-active:after {
631
  content: "";
632
  position: absolute;
633
  top: 0;
636
  width: 1px;
637
  background-color: #fff;
638
  }
639
+ .ulf-theme-light .ulf-nav ul ul li a {
640
  background-color: #eee;
641
  border-bottom: 1px solid #ccd0d4;
642
  }
643
+ .ulf-theme-light .ulf-nav > ul > li:last-child > a {
644
  border-bottom: none;
645
  }
646
+ .ulf-theme-light .ulf-nav-background {
647
  background-color: #f5f5f5;
648
  border-right: 1px solid #ccd0d4;
649
  }
650
+ .ulf-theme-light .ulf-footer {
651
  color: #555;
652
  border-top: 1px solid #ccd0d4;
653
  background-color: #f5f5f5;
657
  /**
658
  * 03. Fields
659
  */
660
+ .ulf-field {
661
  position: relative;
662
  padding: 30px;
663
  }
664
+ .ulf-field + .ulf-field {
665
  border-top: 1px solid #eee;
666
  }
667
+ .ulf-field p:first-child {
668
  margin-top: 0;
669
  }
670
+ .ulf-field p:last-child {
671
  margin-bottom: 0;
672
  }
673
+ .ulf-field:after, .ulf-field:before {
674
  content: " ";
675
  display: table;
676
  }
677
+ .ulf-field:after {
678
  clear: both;
679
  }
680
+ .ulf-field h4 {
681
  margin-top: 0;
682
  }
683
+ .ulf-field .ulf-title {
684
  position: relative;
685
  width: 20%;
686
  float: left;
687
  }
688
+ .ulf-field .ulf-title h4 {
689
  margin: 0;
690
  color: #23282d;
691
  }
692
+ .ulf-field .ulf-fieldset {
693
  float: right;
694
  width: calc(80% - 20px);
695
  }
696
 
697
+ .ulf-pseudo-field {
698
  padding: 0 5px 0 0 !important;
699
  display: inline-block;
700
  }
701
+ .ulf-pseudo-field + .ulf-pseudo-field {
702
  border: 0;
703
  }
704
+ .ulf-pseudo-field pre {
705
  display: none;
706
  }
707
 
708
  /**
709
  * 03. 02. Field: accordion
710
  */
711
+ .ulf-field-accordion .ulf-accordion-item {
712
  position: relative;
713
  margin-bottom: 5px;
714
  }
715
+ .ulf-field-accordion .ulf-accordion-item:last-child {
716
  margin-bottom: 0;
717
  }
718
+ .ulf-field-accordion .ulf-accordion-item h4 {
719
  font-size: 1em;
720
  }
721
+ .ulf-field-accordion .ulf-accordion-title {
722
  display: block;
723
  cursor: pointer;
724
  position: relative;
732
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
733
  transition: border-color .15s;
734
  }
735
+ .ulf-field-accordion .ulf-accordion-title:active, .ulf-field-accordion .ulf-accordion-title:hover, .ulf-field-accordion .ulf-accordion-title:focus {
736
  outline: none;
737
  border-color: #999;
738
  }
739
+ .ulf-field-accordion .ulf-accordion-title .ulf--icon {
740
  width: 20px;
741
  text-align: center;
742
  margin-right: 2px;
743
  }
744
+ .ulf-field-accordion .ulf-accordion-icon {
745
  width: 16px;
746
  text-align: center;
747
  }
748
+ .ulf-field-accordion .ulf-accordion-content {
749
  display: none;
750
  padding: 0;
751
  border: 1px solid #ccd0d4;
753
  background-color: #fff;
754
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
755
  }
756
+ .ulf-field-accordion .ulf-accordion-content > .ulf-field {
757
  padding: 15px;
758
  }
759
+ .ulf-field-accordion .ulf-accordion-open {
760
  display: block;
761
  }
762
 
763
  /**
764
  * 03. 03. Field: background
765
  */
766
+ .ulf-field-background .ulf-field {
767
  border: 0 !important;
768
  padding: 0;
769
  margin-bottom: 6px;
770
  margin-right: 6px;
771
  }
772
+ .ulf-field-background .ulf--title {
773
  color: #777;
774
  font-size: 12px;
775
  }
776
+ .ulf-field-background .ulf--background-colors {
777
  display: flex;
778
  flex-wrap: wrap;
779
  }
780
+ .ulf-field-background .ulf--background-attributes {
781
  display: flex;
782
  flex-wrap: wrap;
783
  }
784
+ .ulf-field-background .ulf--background-attributes select {
785
  min-width: 100%;
786
  margin: 0;
787
  }
788
+ .ulf-field-background .ulf--background-attributes .ulf-field {
789
  flex: 1;
790
  }
791
+ .ulf-field-background .ulf--attributes-hidden {
792
  display: none;
793
  }
794
 
795
  /**
796
  * 03. 04. Field: backup
797
  */
798
+ .ulf-field-backup textarea {
799
  width: 100%;
800
  min-height: 200px;
801
  margin-bottom: 5px;
802
  }
803
+ .ulf-field-backup small {
804
  display: inline-block;
805
  margin: 5px;
806
  }
807
+ .ulf-field-backup hr {
808
  margin: 20px 0;
809
  border: none;
810
  border-bottom: 1px solid #e5e5e5;
813
  /**
814
  * 03. 05. Field: border, spacing, dimensions
815
  */
816
+ .ulf-field-border .ulf--inputs,
817
+ .ulf-field-spacing .ulf--inputs,
818
+ .ulf-field-dimensions .ulf--inputs {
819
  float: left;
820
  display: flex;
821
  flex-wrap: wrap;
822
  }
823
+ .ulf-field-border .ulf--input,
824
+ .ulf-field-spacing .ulf--input,
825
+ .ulf-field-dimensions .ulf--input {
826
  display: flex;
827
  padding-right: 6px;
828
  padding-bottom: 4px;
829
  box-sizing: border-box;
830
  }
831
+ .ulf-field-border .ulf--input select,
832
+ .ulf-field-spacing .ulf--input select,
833
+ .ulf-field-dimensions .ulf--input select {
834
  margin: 0;
835
  }
836
+ .ulf-field-border .ulf--input input,
837
+ .ulf-field-spacing .ulf--input input,
838
+ .ulf-field-dimensions .ulf--input input {
839
  position: relative;
840
  z-index: 1;
841
  margin: 0;
843
  max-width: 100%;
844
  text-align: center;
845
  }
846
+ .ulf-field-border .ulf--color,
847
+ .ulf-field-spacing .ulf--color,
848
+ .ulf-field-dimensions .ulf--color {
849
  float: left;
850
  }
851
+ .ulf-field-border .ulf--label,
852
+ .ulf-field-spacing .ulf--label,
853
+ .ulf-field-dimensions .ulf--label {
854
  display: flex;
855
  flex-direction: column;
856
  justify-content: center;
864
  border: 1px solid #7B776C;
865
  background-color: #f5f5f5;
866
  }
867
+ .ulf-field-border .ulf--icon,
868
+ .ulf-field-spacing .ulf--icon,
869
+ .ulf-field-dimensions .ulf--icon {
870
  border-right: 0;
871
  border-radius: 4px 0 0 4px;
872
  }
873
+ .ulf-field-border .ulf--icon + input,
874
+ .ulf-field-spacing .ulf--icon + input,
875
+ .ulf-field-dimensions .ulf--icon + input {
876
  border-top-left-radius: 0;
877
  border-bottom-left-radius: 0;
878
  }
879
+ .ulf-field-border .ulf--unit,
880
+ .ulf-field-spacing .ulf--unit,
881
+ .ulf-field-dimensions .ulf--unit {
882
  border-left: 0;
883
  border-radius: 0 4px 4px 0;
884
  }
885
+ .ulf-field-border .ulf--is-unit,
886
+ .ulf-field-spacing .ulf--is-unit,
887
+ .ulf-field-dimensions .ulf--is-unit {
888
  border-top-right-radius: 0;
889
  border-bottom-right-radius: 0;
890
  }
892
  /**
893
  * 03. 06. Field: button_set
894
  */
895
+ .ulf-field-button_set .ulf--buttons {
896
  display: inline-block;
897
  }
898
+ .ulf-field-button_set .ulf--button {
899
  position: relative;
900
  z-index: 1;
901
  float: left;
910
  -webkit-user-select: none;
911
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
912
  }
913
+ .ulf-field-button_set .ulf--button:first-child {
914
  border-radius: 4px 0 0 4px;
915
  }
916
+ .ulf-field-button_set .ulf--button:last-child {
917
  border-radius: 0 4px 4px 0;
918
  }
919
+ .ulf-field-button_set .ulf--button:not(:first-child) {
920
  margin-left: -1px;
921
  }
922
+ .ulf-field-button_set .ulf--button:hover {
923
  background-color: #eee;
924
  }
925
+ .ulf-field-button_set .ulf--active:hover,
926
+ .ulf-field-button_set .ulf--active {
927
  z-index: 2;
928
  color: #fff;
929
  border-color: #006799;
930
  background-color: #0085ba;
931
  }
932
+ .ulf-field-button_set input {
933
  display: none;
934
  }
935
 
936
  /**
937
  * 03. 07. Field: checkbox, radio
938
  */
939
+ .ulf-field-checkbox ul,
940
+ .ulf-field-radio ul {
941
  margin: 0;
942
  padding: 0;
943
  list-style-type: none;
944
  overflow-y: auto;
945
  max-height: 305px;
946
  }
947
+ .ulf-field-checkbox ul li,
948
+ .ulf-field-radio ul li {
949
  margin-bottom: 6px;
950
  }
951
+ .ulf-field-checkbox ul ul,
952
+ .ulf-field-radio ul ul {
953
  max-height: none;
954
  }
955
+ .ulf-field-checkbox ul ul li,
956
+ .ulf-field-radio ul ul li {
957
  margin-left: 8px;
958
  }
959
+ .ulf-field-checkbox ul ul li:first-child,
960
+ .ulf-field-radio ul ul li:first-child {
961
  margin-left: 0;
962
  }
963
+ .ulf-field-checkbox input,
964
+ .ulf-field-radio input {
965
  margin: 0 1px;
966
  }
967
+ .ulf-field-checkbox .ulf--inline-list li,
968
+ .ulf-field-radio .ulf--inline-list li {
969
  display: inline-block;
970
  margin-right: 15px;
971
  }
972
+ .ulf-field-checkbox .ulf--text,
973
+ .ulf-field-radio .ulf--text {
974
  margin-left: 5px;
975
  vertical-align: middle;
976
  }
977
+ .ulf-field-checkbox .ulf-checker,
978
+ .ulf-field-radio .ulf-checker {
979
  cursor: pointer;
980
  }
981
 
982
  /**
983
  * 03. 08. Field: code_editor
984
  */
985
+ .ulf-field-code_editor .CodeMirror {
986
  width: 100%;
987
  height: 400px;
988
  }
989
+ .ulf-field-code_editor .cm-s-default {
990
  border: 1px solid #ccd0d4;
991
  }
992
+ .ulf-field-code_editor textarea {
993
  width: 100%;
994
  height: 400px;
995
  }
997
  /**
998
  * 03. 09. Field: color
999
  */
1000
+ .ulf-field-color > input {
1001
  opacity: 0.75;
1002
  width: 115px;
1003
  max-width: 100%;
1004
  }
1005
+ .ulf-field-color .button.wp-picker-clear {
1006
  padding: 0 8px;
1007
  margin-left: 6px;
1008
  line-height: 2.54545455;
1012
  /**
1013
  * 03. 10. Field: color_group
1014
  */
1015
+ .ulf-field-color_group .ulf--left {
1016
  float: left;
1017
  margin-right: 10px;
1018
  margin-bottom: 5px;
1019
  }
1020
+ .ulf-field-color_group .ulf--title {
1021
  color: #999;
1022
  margin-bottom: 5px;
1023
  }
1025
  /**
1026
  * 03. 11. Field: fieldset
1027
  */
1028
+ .ulf-field-fieldset .ulf-fieldset-content {
1029
  border: 1px solid #ccd0d4;
1030
  background-color: #fff;
1031
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
1032
  }
1033
+ .ulf-field-fieldset .ulf-fieldset-content > .ulf-field {
1034
  padding: 15px;
1035
  }
1036
+ .ulf-field-fieldset .ulf-field-subheading {
1037
  font-size: 13px;
1038
  }
1039
 
1040
  /**
1041
  * 03. 12. Field: date
1042
  */
1043
+ .ulf-field-date input {
1044
  margin: 0;
1045
  }
1046
+ .ulf-field-date .ulf--to {
1047
  margin-left: 7px;
1048
  }
1049
 
1050
+ .ulf-datepicker-wrapper {
1051
  margin-top: 5px;
1052
  width: auto;
1053
  background-color: #fff;
1056
  -webkit-box-shadow: 0 0 30px rgba(0, 0, 0, 0.15);
1057
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.15);
1058
  }
1059
+ .ulf-datepicker-wrapper * {
1060
  float: none;
1061
  margin: 0;
1062
  padding: 0;
1068
  border-radius: 0;
1069
  box-shadow: none;
1070
  }
1071
+ .ulf-datepicker-wrapper .ui-widget-header,
1072
+ .ulf-datepicker-wrapper .ui-datepicker-header {
1073
  color: #fff;
1074
  background: #00a0d2;
1075
  }
1076
+ .ulf-datepicker-wrapper .ui-datepicker-header .ui-state-hover {
1077
  cursor: pointer;
1078
  }
1079
+ .ulf-datepicker-wrapper .ui-datepicker-title {
1080
  font-size: 14px;
1081
  line-height: 40px;
1082
  text-align: center;
1083
  }
1084
+ .ulf-datepicker-wrapper .ui-datepicker-prev,
1085
+ .ulf-datepicker-wrapper .ui-datepicker-next {
1086
  position: static;
1087
  top: auto;
1088
  left: auto;
1100
  -webkit-font-smoothing: antialiased;
1101
  -moz-osx-font-smoothing: grayscale;
1102
  }
1103
+ .ulf-datepicker-wrapper .ui-datepicker-next span,
1104
+ .ulf-datepicker-wrapper .ui-datepicker-prev span {
1105
  display: none;
1106
  }
1107
+ .ulf-datepicker-wrapper .ui-datepicker-prev {
1108
  float: left;
1109
  }
1110
+ .ulf-datepicker-wrapper .ui-datepicker-next {
1111
  float: right;
1112
  }
1113
+ .ulf-datepicker-wrapper .ui-datepicker-prev:before {
1114
  content: '\f053';
1115
  }
1116
+ .ulf-datepicker-wrapper .ui-datepicker-next:before {
1117
  content: '\f054';
1118
  }
1119
+ .ulf-datepicker-wrapper .ui-datepicker-prev-hover,
1120
+ .ulf-datepicker-wrapper .ui-datepicker-next-hover {
1121
  opacity: 0.75;
1122
  }
1123
+ .ulf-datepicker-wrapper tbody .ui-datepicker-week-col {
1124
  background-color: #f7f7f7;
1125
  }
1126
+ .ulf-datepicker-wrapper .ui-datepicker-buttonpane {
1127
  padding: 10px;
1128
  text-align: center;
1129
  background-color: #f7f7f7;
1130
  }
1131
+ .ulf-datepicker-wrapper .ui-datepicker-buttonpane button {
1132
  cursor: pointer;
1133
  margin: 0 5px;
1134
  padding: 7px 14px;
1135
  border: 1px solid #eee;
1136
  background-color: #fff;
1137
  }
1138
+ .ulf-datepicker-wrapper select {
1139
  margin: 0 4px;
1140
  }
1141
+ .ulf-datepicker-wrapper select option {
1142
  color: #555;
1143
  }
1144
+ .ulf-datepicker-wrapper table {
1145
  font-size: 13px;
1146
  border-collapse: collapse;
1147
  width: 100%;
1148
  }
1149
+ .ulf-datepicker-wrapper thead {
1150
  color: #fff;
1151
  background: #32373c;
1152
  }
1153
+ .ulf-datepicker-wrapper th {
1154
  text-align: center;
1155
  padding: 7px;
1156
  border: 1px solid #444;
1157
  }
1158
+ .ulf-datepicker-wrapper td {
1159
  text-align: center;
1160
  border: 1px solid #f4f4f4;
1161
  }
1162
+ .ulf-datepicker-wrapper td.ui-datepicker-other-month {
1163
  border: transparent;
1164
  }
1165
+ .ulf-datepicker-wrapper td .ui-state-default {
1166
  color: #555;
1167
  width: auto;
1168
  display: block;
1169
  padding: 6px 12px;
1170
  }
1171
+ .ulf-datepicker-wrapper td .ui-state-active,
1172
+ .ulf-datepicker-wrapper td .ui-state-hover {
1173
  color: #fff;
1174
  background-color: #0073aa;
1175
  }
1176
+ .ulf-datepicker-wrapper td.ui-state-disabled .ui-state-default {
1177
  opacity: 0.5;
1178
  }
1179
 
1180
  /**
1181
  * 03. 13. Field: gallery
1182
  */
1183
+ .ulf-field-gallery input {
1184
  display: none;
1185
  }
1186
+ .ulf-field-gallery ul {
1187
  margin: 0;
1188
  padding: 0;
1189
  list-style-type: none;
1190
  }
1191
+ .ulf-field-gallery ul li {
1192
  display: inline-block;
1193
  position: relative;
1194
  padding: 4px;
1202
  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
1203
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
1204
  }
1205
+ .ulf-field-gallery ul li img {
1206
  max-height: 60px;
1207
  display: inline-block;
1208
  vertical-align: middle;
1209
  }
1210
+ .ulf-field-gallery .button {
1211
  margin-right: 5px;
1212
  margin-bottom: 5px;
1213
  }
1215
  /**
1216
  * 03. 14. Field: group
1217
  */
1218
+ .ulf-field-group .ulf-cloneable-hidden {
1219
  display: none !important;
1220
  }
1221
+ .ulf-field-group .ulf-cloneable-wrapper {
1222
  position: relative;
1223
  }
1224
+ .ulf-field-group .ulf-cloneable-item {
1225
  display: none;
1226
  position: relative;
1227
  margin-bottom: 5px;
1228
  }
1229
+ .ulf-field-group .ulf-cloneable-item h4 {
1230
  font-size: 1em;
1231
  }
1232
+ .ulf-field-group .ui-accordion .ulf-cloneable-item {
1233
  display: block;
1234
  }
1235
+ .ulf-field-group .ulf-cloneable-content {
1236
  border: 1px solid #ccd0d4;
1237
  background-color: #fff;
1238
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
1239
  }
1240
+ .ulf-field-group .ulf-cloneable-content > .ulf-field {
1241
  padding: 15px;
1242
  }
1243
+ .ulf-field-group .ulf-cloneable-title {
1244
  display: block;
1245
  cursor: pointer;
1246
  position: relative;
1254
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
1255
  transition: border-color .15s;
1256
  }
1257
+ .ulf-field-group .ulf-cloneable-title:active, .ulf-field-group .ulf-cloneable-title:hover, .ulf-field-group .ulf-cloneable-title:focus {
1258
  border-color: #999;
1259
  outline: none;
1260
  }
1261
+ .ulf-field-group .ulf-cloneable-helper {
1262
  position: absolute;
1263
  top: 12px;
1264
  right: 10px;
1266
  font-size: 14px;
1267
  line-height: 1em;
1268
  }
1269
+ .ulf-field-group .ulf-cloneable-helper i {
1270
  display: inline-block;
1271
  cursor: pointer;
1272
  padding: 5px;
1273
  color: #999;
1274
  }
1275
+ .ulf-field-group .ulf-cloneable-helper i:hover {
1276
  color: #555;
1277
  }
1278
+ .ulf-field-group .ulf-cloneable-content {
1279
  padding: 0;
1280
  border-top: 0;
1281
  }
1282
+ .ulf-field-group .ulf-cloneable-title-prefix,
1283
+ .ulf-field-group .ulf-cloneable-title-number {
1284
  margin-right: 5px;
1285
  }
1286
+ .ulf-field-group .ulf-cloneable-alert {
1287
  display: none;
1288
  margin-bottom: 5px;
1289
  padding: 10px 20px;
1291
  border: 1px solid #ebccd1;
1292
  background-color: #f2dede;
1293
  }
1294
+ .ulf-field-group .widget-placeholder {
1295
  margin-bottom: 10px;
1296
  border: 1px dashed #f1c40f;
1297
  background-color: #fffae4;
1298
  }
1299
+ .ulf-field-group .ulf-cloneable-header-icon {
1300
  display: inline-block;
1301
  text-align: center;
1302
  font-size: 14px;
1304
  text-indent: 0;
1305
  vertical-align: text-top;
1306
  }
1307
+ .ulf-field-group .ulf-cloneable-placeholder {
1308
  background-color: #ddd;
1309
  margin-top: 4px;
1310
  width: 100px;
1319
  /**
1320
  * 03. 15. Field: icon
1321
  */
1322
+ .ulf-field-icon input {
1323
  display: none;
1324
  }
1325
+ .ulf-field-icon .button {
1326
  margin-right: 5px;
1327
  }
1328
+ .ulf-field-icon .ulf-icon-preview i {
1329
  display: inline-block;
1330
  font-size: 16px;
1331
  width: 30px;
1351
  /**
1352
  * 03. 16. Field: image_select
1353
  */
1354
+ .ulf-field-image_select .ulf--image {
1355
  cursor: pointer;
1356
  position: relative;
1357
  display: inline-block;
1367
  -webkit-transition: all 0.2s;
1368
  transition: all 0.2s;
1369
  }
1370
+ .ulf-field-image_select .ulf--image:before {
1371
  position: absolute;
1372
  top: 0;
1373
  left: 0;
1384
  background-color: #222;
1385
  transition: opacity .2s;
1386
  }
1387
+ .ulf-field-image_select .ulf--active {
1388
  border-color: #222;
1389
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
1390
  }
1391
+ .ulf-field-image_select .ulf--active:before {
1392
  opacity: 1;
1393
  }
1394
+ .ulf-field-image_select img {
1395
  vertical-align: top;
1396
  }
1397
+ .ulf-field-image_select input {
1398
  display: none;
1399
  }
1400
 
1401
  /**
1402
  * 03. 17. Field: link_color
1403
  */
1404
+ .ulf-field-link_color .ulf--left {
1405
  float: left;
1406
  margin-right: 10px;
1407
  margin-bottom: 5px;
1408
  }
1409
+ .ulf-field-link_color .ulf--title {
1410
  color: #777;
1411
  margin-bottom: 5px;
1412
  }
1414
  /**
1415
  * 03. 18. Field: map
1416
  */
1417
+ .ulf-field-map input {
1418
  width: 100%;
1419
  }
1420
+ .ulf-field-map input[type="text"].ui-autocomplete-loading {
1421
  background-position-x: calc(100% - 5px);
1422
  }
1423
+ .ulf-field-map .ulf--map-search + .ulf--map-osm-wrap {
1424
  margin-top: 10px;
1425
  }
1426
+ .ulf-field-map .ulf--map-osm-wrap {
1427
  position: relative;
1428
  padding: 5px;
1429
  border: 1px solid #eee;
1430
  background-color: #fff;
1431
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
1432
  }
1433
+ .ulf-field-map .ulf--map-osm {
1434
  position: relative;
1435
  z-index: 1;
1436
  min-height: 250px;
1437
  }
1438
+ .ulf-field-map .ulf--map-inputs {
1439
  margin-top: 10px;
1440
  display: flex;
1441
  justify-content: space-between;
1442
  }
1443
+ .ulf-field-map .ulf--map-input {
1444
  flex: 1;
1445
  }
1446
+ .ulf-field-map .ulf--map-input:last-child {
1447
  padding-left: 10px;
1448
  }
1449
+ .ulf-field-map label {
1450
  display: block;
1451
  color: #777;
1452
  font-size: 12px;
1453
  margin: 0 0 2px 0;
1454
  }
1455
 
1456
+ .ulf-map-ui-autocomplate {
1457
  z-index: 999999;
1458
  border-radius: 4px;
1459
  overflow: hidden;
1462
  /**
1463
  * 03. 19. Field: media
1464
  */
1465
+ .ulf-field-media .ulf--placeholder {
1466
  display: flex;
1467
  align-items: flex-start;
1468
  }
1469
+ .ulf-field-media .ulf--placeholder input {
1470
  width: 100%;
1471
  margin: 0;
1472
  }
1473
+ .ulf-field-media .button {
1474
  margin-left: 5px;
1475
  }
1476
+ .ulf-field-media .hidden + .button {
1477
  margin-left: 0;
1478
  }
1479
+ .ulf-field-media .ulf--preview {
1480
  position: relative;
1481
  }
1482
+ .ulf-field-media .ulf--preview .fa-times {
1483
  position: absolute;
1484
  z-index: 1;
1485
  right: 4px;
1495
  opacity: 0.8;
1496
  transition: all .2s;
1497
  }
1498
+ .ulf-field-media .ulf--preview .fa-times:hover {
1499
  opacity: 1;
1500
  }
1501
+ .ulf-field-media .ulf--preview .fa-times:focus {
1502
  box-shadow: none;
1503
  }
1504
 
1505
  /**
1506
  * 03. 20. Field: palette
1507
  */
1508
+ .ulf-field-palette .ulf--palette {
1509
  position: relative;
1510
  display: inline-block;
1511
  cursor: pointer;
1516
  -webkit-user-select: none;
1517
  transition: all .2s;
1518
  }
1519
+ .ulf-field-palette .ulf--palette span {
1520
  vertical-align: middle;
1521
  display: inline-block;
1522
  width: 22px;
1525
  overflow: hidden;
1526
  text-indent: -999px;
1527
  }
1528
+ .ulf-field-palette .ulf--palette:before {
1529
  position: absolute;
1530
  top: 0;
1531
  left: 0;
1542
  background-color: #222;
1543
  transition: opacity .2s;
1544
  }
1545
+ .ulf-field-palette .ulf--active {
1546
  border-color: #222;
1547
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
1548
  }
1549
+ .ulf-field-palette .ulf--active:before {
1550
  opacity: 1;
1551
  }
1552
+ .ulf-field-palette input {
1553
  display: none;
1554
  }
1555
 
1556
  /**
1557
  * 03. 21. Field: repeater
1558
  */
1559
+ .ulf-field-repeater .ulf-field-text input {
1560
  width: 100%;
1561
  }
1562
+ .ulf-field-repeater .ulf-repeater-hidden {
1563
  display: none !important;
1564
  }
1565
+ .ulf-field-repeater .ulf-repeater-wrapper .ulf-repeater-item {
1566
  display: table;
1567
  width: 100%;
1568
  margin-bottom: 5px;
1569
  border: 1px solid #eee;
1570
  }
1571
+ .ulf-field-repeater .ulf-repeater-wrapper .ulf-repeater-item h4 {
1572
  font-size: 1em;
1573
  }
1574
+ .ulf-field-repeater .ulf-repeater-content {
1575
  width: 100%;
1576
  display: table-cell;
1577
  vertical-align: middle;
1578
  background-color: #fff;
1579
  }
1580
+ .ulf-field-repeater .ulf-repeater-content > .ulf-field {
1581
  padding: 15px;
1582
  }
1583
+ .ulf-field-repeater .ulf-repeater-helper {
1584
  width: 100%;
1585
  display: table-cell;
1586
  vertical-align: middle;
1590
  border-left: 1px solid #eee;
1591
  background-color: #f7f7f7;
1592
  }
1593
+ .ulf-field-repeater .ulf-repeater-helper i {
1594
  display: inline-block;
1595
  cursor: pointer;
1596
  color: #999;
1597
  padding: 5px;
1598
  }
1599
+ .ulf-field-repeater .ulf-repeater-helper i:hover {
1600
  color: #555;
1601
  }
1602
+ .ulf-field-repeater .ulf-repeater-helper-inner {
1603
  width: 75px;
1604
  }
1605
+ .ulf-field-repeater .ulf-repeater-alert {
1606
  display: none;
1607
  margin-bottom: 5px;
1608
  padding: 10px 20px;
1610
  border: 1px solid #ebccd1;
1611
  background-color: #f2dede;
1612
  }
1613
+ .ulf-field-repeater .widget-placeholder {
1614
  height: 50px;
1615
  margin-bottom: 3px;
1616
  border: 1px dashed #f1c40f;
1617
  background-color: #fffae4;
1618
  }
1619
+ .ulf-field-repeater .ui-sortable-helper {
1620
  height: 50px !important;
1621
  overflow: hidden !important;
1622
  border-color: #ccc !important;
1623
  background-color: #eee !important;
1624
  opacity: 0.5;
1625
  }
1626
+ .ulf-field-repeater .ui-sortable-helper .ulf-repeater-helper,
1627
+ .ulf-field-repeater .ui-sortable-helper .ulf-repeater-content {
1628
  display: none;
1629
  }
1630
 
1631
  /**
1632
  * 03. 22. Field: select
1633
  */
1634
+ .ulf-field-select .ulf-fieldset {
1635
  min-height: 30px;
1636
  }
1637
+ .ulf-field-select .ulf-chosen {
1638
  display: none;
1639
  }
1640
+ .ulf-field-select select {
1641
  max-width: 100%;
1642
  margin: 0;
1643
  }
1645
  /**
1646
  * 03. 23. Field: slider
1647
  */
1648
+ .ulf-field-slider .ulf--wrap {
1649
  display: flex;
1650
  align-items: center;
1651
  }
1652
+ .ulf-field-slider .ulf--input {
1653
  display: flex;
1654
  }
1655
+ .ulf-field-slider .ulf--unit {
1656
  display: flex;
1657
  justify-content: center;
1658
  flex-direction: column;
1666
  border-left: 0;
1667
  background-color: #f5f5f5;
1668
  }
1669
+ .ulf-field-slider .ulf-slider-ui {
1670
  margin-right: 15px;
1671
  }
1672
+ .ulf-field-slider input[type=number] {
1673
  position: relative;
1674
  z-index: 1;
1675
  margin: 0;
1676
  width: 50px;
1677
  text-align: center;
1678
  }
1679
+ .ulf-field-slider .ulf--is-unit {
1680
  border-top-right-radius: 0;
1681
  border-bottom-right-radius: 0;
1682
  }
1683
+ .ulf-field-slider .ui-slider {
1684
  position: relative;
1685
  width: 100%;
1686
  height: 3px;
1688
  background: #ddd;
1689
  border-radius: 2px;
1690
  }
1691
+ .ulf-field-slider .ui-slider-range {
1692
  height: 3px;
1693
  border: none;
1694
  background: #333;
1695
  border-radius: 2px;
1696
  }
1697
+ .ulf-field-slider .ui-slider-handle {
1698
  position: absolute;
1699
  width: 16px;
1700
  height: 16px;
1704
  background: #333;
1705
  border-radius: 2px;
1706
  }
1707
+ .ulf-field-slider .ui-state-active,
1708
+ .ulf-field-slider .ui-slider-handle:hover {
1709
  cursor: pointer;
1710
  background: #111;
1711
  }
1713
  /**
1714
  * 03. 24. Field: sortable
1715
  */
1716
+ .ulf-field-sortable .ulf-field-text input {
1717
  width: 100%;
1718
  max-width: 100%;
1719
  }
1720
+ .ulf-field-sortable .ulf-sortable .ulf-sortable-item {
1721
  display: table;
1722
  width: 100%;
1723
  margin-bottom: 5px;
1724
  border: 1px solid #eee;
1725
  }
1726
+ .ulf-field-sortable .ulf-sortable .ulf-sortable-item h4 {
1727
  font-size: 1em;
1728
  }
1729
+ .ulf-field-sortable .ulf-sortable-content {
1730
  width: 100%;
1731
  display: table-cell;
1732
  vertical-align: middle;
1733
  background-color: #fff;
1734
  }
1735
+ .ulf-field-sortable .ulf-sortable-content > .ulf-field {
1736
  padding: 15px;
1737
  }
1738
+ .ulf-field-sortable .ulf-sortable-helper {
1739
  width: 100%;
1740
  display: table-cell;
1741
  vertical-align: middle;
1745
  border-left: 1px solid #eee;
1746
  background-color: #f7f7f7;
1747
  }
1748
+ .ulf-field-sortable .ulf-sortable-helper i {
1749
  display: inline-block;
1750
  cursor: pointer;
1751
  width: 50px;
1752
  color: #555;
1753
  }
1754
+ .ulf-field-sortable .ulf-sortable-helper i:hover {
1755
  opacity: 0.5;
1756
  }
1757
+ .ulf-field-sortable .widget-placeholder {
1758
  height: 50px;
1759
  margin-bottom: 3px;
1760
  border: 1px dashed #f1c40f;
1761
  background-color: #fffae4;
1762
  }
1763
+ .ulf-field-sortable .ui-sortable-helper {
1764
  height: 50px !important;
1765
  overflow: hidden !important;
1766
  border-color: #ccc !important;
1767
  background-color: #eee !important;
1768
  opacity: 0.5;
1769
  }
1770
+ .ulf-field-sortable .ui-sortable-helper .ulf-sortable-helper,
1771
+ .ulf-field-sortable .ui-sortable-helper .ulf-sortable-content {
1772
  display: none;
1773
  }
1774
 
1775
  /**
1776
  * 03. 25. Field: sorter
1777
  */
1778
+ .ulf-field-sorter .ui-sortable-placeholder {
1779
  height: 20px;
1780
  border: 1px dashed #f1c40f;
1781
  background-color: #fffae4;
1782
  }
1783
+ .ulf-field-sorter .ulf-modules {
1784
  float: left;
1785
  width: 50%;
1786
  box-sizing: border-box;
1787
  }
1788
+ .ulf-field-sorter .ulf-modules:first-child {
1789
  padding-right: 15px;
1790
  }
1791
+ .ulf-field-sorter .ulf-modules:last-child {
1792
  padding-left: 15px;
1793
  }
1794
+ .ulf-field-sorter .ulf-disabled,
1795
+ .ulf-field-sorter .ulf-enabled {
1796
  padding: 5px 15px;
1797
  border: 1px dashed #ddd;
1798
  background-color: #fff;
1799
  }
1800
+ .ulf-field-sorter .ulf-disabled li {
1801
  -moz-transition: opacity 0.15s;
1802
  -o-transition: opacity 0.15s;
1803
  -webkit-transition: opacity 0.15s;
1804
  transition: opacity 0.15s;
1805
  opacity: 0.5;
1806
  }
1807
+ .ulf-field-sorter .ulf-disabled .ui-sortable-helper {
1808
  opacity: 1;
1809
  }
1810
+ .ulf-field-sorter .ulf-sorter-title {
1811
  font-size: 13px;
1812
  font-weight: 600;
1813
  padding: 10px;
1817
  background-color: #f8f8f8;
1818
  text-transform: uppercase;
1819
  }
1820
+ .ulf-field-sorter ul {
1821
  list-style-type: none;
1822
  margin: 0;
1823
  padding: 0;
1824
  min-height: 62px;
1825
  }
1826
+ .ulf-field-sorter ul li {
1827
  margin: 10px 0;
1828
  padding: 10px 15px;
1829
  cursor: move;
1836
  -webkit-transition: border-color 0.15s;
1837
  transition: border-color 0.15s;
1838
  }
1839
+ .ulf-field-sorter ul li:hover {
1840
  border-color: #bbb;
1841
  }
1842
 
1843
  /**
1844
  * 03. 26. Field: spinner
1845
  */
1846
+ .ulf-field-spinner .ulf--spin {
1847
  display: flex;
1848
  }
1849
+ .ulf-field-spinner .ui-spinner {
1850
  display: flex;
1851
  }
1852
+ .ulf-field-spinner .ui-button-text-only {
1853
  display: flex;
1854
  flex-direction: column;
1855
  justify-content: center;
1860
  border: 1px solid #7e8993;
1861
  background-color: #f5f5f5;
1862
  }
1863
+ .ulf-field-spinner .ui-button {
1864
  cursor: pointer;
1865
  }
1866
+ .ulf-field-spinner .ui-button:hover {
1867
  background-color: #e7e7e7;
1868
  }
1869
+ .ulf-field-spinner .ui-button:active {
1870
  background-color: #ddd;
1871
  }
1872
+ .ulf-field-spinner .ui-button:before {
1873
  font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", "FontAwesome";
1874
  font-weight: 900;
1875
  font-size: 14px;
1876
  line-height: 14px;
1877
  }
1878
+ .ulf-field-spinner .ui-spinner-down {
1879
  order: 1;
1880
  border-right: 0;
1881
  border-radius: 4px 0 0 4px;
1882
  }
1883
+ .ulf-field-spinner .ui-spinner-down:before {
1884
  content: "\f0d9";
1885
  }
1886
+ .ulf-field-spinner .ui-spinner-input {
1887
  order: 2;
1888
  }
1889
+ .ulf-field-spinner .ulf--unit {
1890
  order: 3;
1891
  border-left: 0;
1892
  user-select: none;
1893
  }
1894
+ .ulf-field-spinner .ui-spinner-up {
1895
  order: 4;
1896
  border-left: 0;
1897
  border-radius: 0 4px 4px 0;
1898
  }
1899
+ .ulf-field-spinner .ui-spinner-up:before {
1900
  content: "\f0da";
1901
  }
1902
+ .ulf-field-spinner input {
1903
  position: relative;
1904
  z-index: 1;
1905
  width: 50px;
1908
  padding: 0 8px;
1909
  border-radius: 0;
1910
  }
1911
+ .ulf-field-spinner .ui-button-text {
1912
  display: none;
1913
  }
1914
 
1915
  /**
1916
  * 03. 27. Field: switcher
1917
  */
1918
+ .ulf-field-switcher .ulf--switcher {
1919
  float: left;
1920
  cursor: pointer;
1921
  position: relative;
1929
  user-select: none;
1930
  -webkit-user-select: none;
1931
  }
1932
+ .ulf-field-switcher .ulf--ball {
1933
  position: absolute;
1934
  top: 4px;
1935
  left: 4px;
1940
  transition: all .1s;
1941
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.15);
1942
  }
1943
+ .ulf-field-switcher .ulf--on,
1944
+ .ulf-field-switcher .ulf--off {
1945
  position: absolute;
1946
  top: 0;
1947
  left: 0;
1957
  opacity: 0;
1958
  transition: all .1s;
1959
  }
1960
+ .ulf-field-switcher .ulf--off {
1961
  padding-right: 0;
1962
  padding-left: 28px;
1963
  opacity: 1;
1964
  }
1965
+ .ulf-field-switcher .ulf--active {
1966
  background: #4fb845;
1967
  }
1968
+ .ulf-field-switcher .ulf--active .ulf--on {
1969
  opacity: 1;
1970
  }
1971
+ .ulf-field-switcher .ulf--active .ulf--off {
1972
  opacity: 0;
1973
  }
1974
+ .ulf-field-switcher .ulf--active .ulf--ball {
1975
  left: 100%;
1976
  margin-left: -28px;
1977
  }
1978
+ .ulf-field-switcher .ulf--label {
1979
  float: left;
1980
  margin-top: 4px;
1981
  margin-left: 8px;
1982
  font-weight: 400;
1983
  color: #999;
1984
  }
1985
+ .ulf-field-switcher input {
1986
  display: none;
1987
  }
1988
 
1989
  /**
1990
  * 03. 28. Field: tabbed
1991
  */
1992
+ .ulf-field-tabbed .ulf-tabbed-content {
1993
  border: 1px solid #ccd0d4;
1994
  background-color: #fff;
1995
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
1996
  }
1997
+ .ulf-field-tabbed .ulf-tabbed-content > .ulf-field {
1998
  padding: 15px;
1999
  }
2000
+ .ulf-field-tabbed .ulf-tabbed-nav .ulf--icon {
2001
  padding-right: 5px;
2002
  }
2003
+ .ulf-field-tabbed .ulf-tabbed-nav a {
2004
  display: inline-block;
2005
  padding: 12px 15px;
2006
  margin-top: 1px;
2014
  background-color: #f3f3f3;
2015
  transition: all .2s;
2016
  }
2017
+ .ulf-field-tabbed .ulf-tabbed-nav a:hover {
2018
  background-color: #f9f9f9;
2019
  }
2020
+ .ulf-field-tabbed .ulf-tabbed-nav a.ulf-tabbed-active {
2021
  background-color: #fff;
2022
  border-bottom-color: #fff;
2023
  }
2024
+ .ulf-field-tabbed .ulf-tabbed-nav a:focus {
2025
  outline: none;
2026
  -moz-box-shadow: none;
2027
  -webkit-box-shadow: none;
2031
  /**
2032
  * 03. 29. Field: text
2033
  */
2034
+ .ulf-field-text input {
2035
  width: 50%;
2036
  max-width: 100%;
2037
  margin: 0;
2040
  /**
2041
  * 03. 30. Field: textarea
2042
  */
2043
+ .ulf-field-textarea textarea {
2044
  width: 100%;
2045
  max-width: 100%;
2046
  min-height: 125px;
2047
  }
2048
+ .ulf-field-textarea .ulf-shortcode-button {
2049
  margin-bottom: 10px;
2050
  margin-right: 5px;
2051
  }
2053
  /**
2054
  * 03. 31. Field: typography
2055
  */
2056
+ .ulf-field-typography textarea,
2057
+ .ulf-field-typography select {
2058
  min-width: 100%;
2059
  margin: 0;
2060
  }
2061
+ .ulf-field-typography .ulf--title {
2062
  color: #777;
2063
  margin: 0 0 2px 0;
2064
  font-size: 12px;
2065
  }
2066
+ .ulf-field-typography .ulf--title small {
2067
  vertical-align: top;
2068
  }
2069
+ .ulf-field-typography .ulf--blocks {
2070
  display: flex;
2071
  flex-wrap: wrap;
2072
  }
2073
+ .ulf-field-typography .ulf--block {
2074
  flex: 1;
2075
  padding-right: 6px;
2076
  padding-bottom: 6px;
2077
  }
2078
+ .ulf-field-typography .ulf--input {
2079
  margin: 0;
2080
  min-width: 100%;
2081
  }
2082
+ .ulf-field-typography .ulf--input-wrap {
2083
  position: relative;
2084
  }
2085
+ .ulf-field-typography .ulf--unit {
2086
  position: absolute;
2087
  z-index: 1;
2088
  right: 4px;
2099
  justify-content: center;
2100
  flex-direction: column;
2101
  }
2102
+ .ulf-field-typography .ulf--preview {
2103
  font-size: 16px;
2104
  line-height: 20px;
2105
  padding: 20px;
2111
  -webkit-user-select: none;
2112
  transition: background-color .2s, border-color .2s;
2113
  }
2114
+ .ulf-field-typography .ulf--block-preview {
2115
  cursor: pointer;
2116
  position: relative;
2117
  overflow: hidden;
2118
  margin-top: 10px;
2119
  max-width: 100%;
2120
  }
2121
+ .ulf-field-typography .ulf--black-background {
2122
  border-color: #000;
2123
  background-color: #000;
2124
  }
2125
+ .ulf-field-typography .ulf--toggle {
2126
  position: absolute;
2127
  top: 5px;
2128
  right: 10px;
2129
  color: #999;
2130
  }
2131
+ .ulf-field-typography .ulf--block-extra-styles {
2132
  margin-top: 5px;
2133
  }
2134
 
2135
  /**
2136
  * 03. 32. Field: upload
2137
  */
2138
+ .ulf-field-upload input {
2139
  width: 100%;
2140
  margin: 0;
2141
  }
2142
+ .ulf-field-upload .ulf--wrap {
2143
  display: flex;
2144
  align-items: flex-start;
2145
  }
2146
+ .ulf-field-upload .button {
2147
  margin-left: 5px;
2148
  }
2149
 
2150
  /**
2151
  * 03. 33. Field: wp_editor
2152
  */
2153
+ .ulf-field-wp_editor .ulf-wp-editor {
2154
  float: left;
2155
  width: 100%;
2156
  }
2157
+ .ulf-field-wp_editor .mce-toolbar-grp {
2158
  border: none;
2159
  }
2160
+ .ulf-field-wp_editor .mce-btn.mce-active button,
2161
+ .ulf-field-wp_editor .mce-btn.mce-active:hover button,
2162
+ .ulf-field-wp_editor .mce-btn.mce-active i,
2163
+ .ulf-field-wp_editor .mce-btn.mce-active:hover i {
2164
  color: #23282d;
2165
  }
2166
+ .ulf-field-wp_editor .wp-media-buttons {
2167
  position: relative;
2168
  z-index: 2;
2169
  }
2170
+ .ulf-field-wp_editor .wp-editor-tabs {
2171
  position: relative;
2172
  z-index: 1;
2173
  }
2174
+ .ulf-field-wp_editor .ulf-no-tinymce {
2175
  border: 1px solid #e5e5e5;
2176
  }
2177
+ .ulf-field-wp_editor .ulf-no-quicktags .wp-media-buttons {
2178
  float: none;
2179
  display: block;
2180
  }
2181
+ .ulf-field-wp_editor .ulf-no-quicktags .mce-tinymce {
2182
  box-shadow: none;
2183
  border: 1px solid #e5e5e5;
2184
  }
2185
+ .ulf-field-wp_editor textarea {
2186
  width: 100%;
2187
  max-width: 100%;
2188
  margin: 0;
2192
  /**
2193
  * 03. 34. Field: heading
2194
  */
2195
+ .ulf-field-heading {
2196
  font-size: 1.5em;
2197
  font-weight: bold;
2198
  color: #23282d;
2202
  /**
2203
  * 03. 35. Field: subheading
2204
  */
2205
+ .ulf-field-subheading {
2206
  font-size: 14px;
2207
  font-weight: bold;
2208
  padding-top: 17px;
2214
  /**
2215
  * 03. 36. Field: submessage
2216
  */
2217
+ .ulf-field-submessage {
2218
  padding: 0 !important;
2219
  border: 0 !important;
2220
  }
2221
+ .ulf-field-submessage + .ulf-field {
2222
  border-top: 0 !important;
2223
  }
2224
 
2225
+ .ulf-submessage {
2226
  font-size: 12px;
2227
  padding: 17px 30px;
2228
  border-top: 1px solid transparent;
2229
  border-bottom: 1px solid transparent;
2230
  }
2231
 
2232
+ .ulf-submessage-success {
2233
  color: #3c763d;
2234
  border-color: #d6e9c6;
2235
  background-color: #dff0d8;
2236
  }
2237
 
2238
+ .ulf-submessage-info {
2239
  color: #31708f;
2240
  border-color: #bce8f1;
2241
  background-color: #d9edf7;
2242
  }
2243
 
2244
+ .ulf-submessage-warning {
2245
  color: #8a6d3b;
2246
  border-color: #faebcc;
2247
  background-color: #fcf8e3;
2248
  }
2249
 
2250
+ .ulf-submessage-danger {
2251
  color: #a94442;
2252
  border-color: #ebccd1;
2253
  background-color: #f2dede;
2254
  }
2255
 
2256
+ .ulf-submessage-normal {
2257
  color: #23282d;
2258
  border-color: #eee;
2259
  background-color: #f7f7f7;
2262
  /**
2263
  * 03. 37. Field: notice
2264
  */
2265
+ .ulf-field-notice {
2266
  background-color: #f7f7f7;
2267
  }
2268
 
2269
+ .ulf-notice {
2270
  padding: 12px;
2271
  background-color: #fff;
2272
  border-left-style: solid;
2274
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
2275
  }
2276
 
2277
+ .ulf-notice-success {
2278
  border-color: #46b450;
2279
  }
2280
 
2281
+ .ulf-notice-info {
2282
  border-color: #339fd4;
2283
  }
2284
 
2285
+ .ulf-notice-warning {
2286
  border-color: #ffbc00;
2287
  }
2288
 
2289
+ .ulf-notice-danger {
2290
  border-color: #dc3232;
2291
  }
2292
 
2293
+ .ulf-notice-normal {
2294
  border-color: #222;
2295
  }
2296
 
2297
  /**
2298
  * 03. 38. Field: number
2299
  */
2300
+ .ulf-field-number input {
2301
  width: 100%;
2302
  margin: 0;
2303
  }
2304
+ .ulf-field-number .ulf--wrap {
2305
  position: relative;
2306
  float: left;
2307
  width: 100px;
2308
  }
2309
+ .ulf-field-number .ulf--unit {
2310
  position: absolute;
2311
  z-index: 1;
2312
  right: 4px;
2327
  /**
2328
  * 03. 39. others
2329
  */
2330
+ .ulf-help {
2331
  cursor: help;
2332
  position: absolute;
2333
  top: 0;
2336
  font-size: 13px;
2337
  color: #aaa;
2338
  }
2339
+ .ulf-help .ulf-help-text {
2340
  display: none;
2341
  }
2342
 
2343
+ .ulf-image-preview {
2344
  display: inline-block;
2345
  position: relative;
2346
  padding: 4px;
2353
  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
2354
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
2355
  }
2356
+ .ulf-image-preview img {
2357
  max-height: 90px;
2358
  display: inline-block;
2359
  vertical-align: middle;
2360
  }
2361
 
2362
+ .ulf-field-custom .ulf-field {
2363
  padding: 0;
2364
  }
2365
 
2366
+ .ulf-field .chosen-container-single .chosen-single {
2367
  height: 28px;
2368
  line-height: 26px;
2369
  }
2370
+ .ulf-field .chosen-container-single .chosen-single abbr {
2371
  top: 0;
2372
  right: 20px;
2373
  font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", "FontAwesome";
2379
  text-align: center;
2380
  background: none;
2381
  }
2382
+ .ulf-field .chosen-container-single .chosen-single abbr:before {
2383
  content: "\f00d";
2384
  }
2385
+ .ulf-field .chosen-container-single .chosen-single abbr:hover {
2386
  color: #555;
2387
  }
2388
+ .ulf-field .chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
2389
  font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", "FontAwesome";
2390
  font-weight: 900;
2391
  font-size: 12px;
2395
  text-align: center;
2396
  background: none;
2397
  }
2398
+ .ulf-field .chosen-container-multi .chosen-choices li.search-choice .search-choice-close:before {
2399
  content: "\f00d";
2400
  display: inline-block;
2401
  padding-top: 3px;
2402
  }
2403
+ .ulf-field .chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover {
2404
  color: #555;
2405
  }
2406
+ .ulf-field .chosen-container-single .chosen-single div b {
2407
  font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", "FontAwesome";
2408
  font-weight: 900;
2409
  font-size: 14px;
2410
  color: #aaa;
2411
  background: none;
2412
  }
2413
+ .ulf-field .chosen-container-single .chosen-single div b:before {
2414
  content: "\f107";
2415
  }
2416
+ .ulf-field .chosen-container-single .chosen-single div b:hover {
2417
  color: #555;
2418
  }
2419
+ .ulf-field .chosen-container-multi .chosen-choices li.search-choice-placeholder {
2420
  border: 1px dashed #aaa;
2421
  margin: 3px 5px 3px 0;
2422
  }
2423
+ .ulf-field .chosen-container-multi .ui-sortable li.search-choice span {
2424
  cursor: move;
2425
  }
2426
+ .ulf-field .chosen-container-active.chosen-with-drop .chosen-single div b:before {
2427
  content: "\f106";
2428
  }
2429
+ .ulf-field .chosen-container-single .chosen-single-with-deselect span {
2430
  margin-right: 40px;
2431
  }
2432
+ .ulf-field .chosen-container-single .chosen-search input[type="text"] {
2433
  background: none;
2434
  }
2435
+ .ulf-field .chosen-container-single .chosen-search:before {
2436
  font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", "FontAwesome";
2437
  font-weight: 900;
2438
  font-size: 11px;
2442
  top: 10px;
2443
  color: #aaa;
2444
  }
2445
+ .ulf-field .wp-picker-container {
2446
  display: inline-block;
2447
  }
2448
+ .ulf-field .wp-picker-container .wp-color-result.button {
2449
  margin-bottom: 0;
2450
  }
2451
+ .ulf-field .ulf--transparent-wrap {
2452
  display: none;
2453
  position: relative;
2454
  top: -1px;
2458
  border-top: none;
2459
  background-color: #fff;
2460
  }
2461
+ .ulf-field .wp-picker-active .ulf--transparent-wrap {
2462
  display: block;
2463
  }
2464
+ .ulf-field .ulf--transparent-slider {
2465
  position: absolute;
2466
  width: 190px;
2467
  margin-left: 2px;
2468
  height: 18px;
2469
  }
2470
+ .ulf-field .ulf--transparent-slider .ui-slider-handle {
2471
  position: absolute;
2472
  top: -3px;
2473
  bottom: -3px;
2488
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
2489
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
2490
  }
2491
+ .ulf-field .ulf--transparent-slider .ui-slider-handle:before {
2492
  content: " ";
2493
  position: absolute;
2494
  left: -2px;
2500
  -webkit-border-radius: 3px;
2501
  border-radius: 3px;
2502
  }
2503
+ .ulf-field .ulf--transparent-offset {
2504
  height: 18px;
2505
  width: 200px;
2506
  background: url(../images/checkerboard.png) repeat-y center left scroll #fff;
2511
  -webkit-border-radius: 2px;
2512
  border-radius: 2px;
2513
  }
2514
+ .ulf-field .ulf--transparent-text {
2515
  position: absolute;
2516
  top: 12px;
2517
  right: 10px;
2521
  text-align: center;
2522
  color: #999;
2523
  }
2524
+ .ulf-field .ulf--transparent-button {
2525
  cursor: pointer;
2526
  user-select: none;
2527
  margin-top: 10px;
2536
  background-color: #f7f7f7;
2537
  transition: background-color .2s, border-color .2s, color .2s;
2538
  }
2539
+ .ulf-field .ulf--transparent-active .wp-color-result {
2540
  background-image: url(../images/checkerboard.png);
2541
  background-size: 135px;
2542
  background-position: center left;
2543
  background-color: transparent !important;
2544
  }
2545
+ .ulf-field .ulf--transparent-active .ulf--transparent-button {
2546
  color: #fff;
2547
  border-color: #3ea032;
2548
  background-color: #4fb845;
2549
  }
2550
+ .ulf-field .ulf--transparent-active .fa:before {
2551
  content: "\f205";
2552
  }
2553
 
2554
  /**
2555
  * 04. Widget
2556
  */
2557
+ .ulf-widgets > .ulf-field {
2558
  position: relative;
2559
  top: -1px;
2560
  margin-right: -15px;
2561
  margin-left: -15px;
2562
  padding: 12px 15px;
2563
  }
2564
+ .ulf-widgets > .ulf-field .ulf-field {
2565
  margin-left: 0;
2566
  margin-right: 0;
2567
  }
2568
+ .ulf-widgets > .ulf-field .ulf-title {
2569
  float: none;
2570
  width: 100%;
2571
  margin-bottom: 5px;
2572
  }
2573
+ .ulf-widgets > .ulf-field .ulf-fieldset {
2574
  float: none;
2575
  width: 100%;
2576
  }
2577
+ .ulf-widgets .ulf-field-text input {
2578
  width: 100%;
2579
  }
2580
+ .ulf-widgets .ulf-field-notice .ulf-notice {
2581
  padding: 15px;
2582
  }
2583
 
2584
+ .control-section .ulf-widgets > .ulf-field {
2585
  margin-right: -10px;
2586
  margin-left: -10px;
2587
  padding: 10px 12px;
2590
  /**
2591
  * 05. Widget
2592
  */
2593
+ .control-section .ulf-field {
2594
  padding: 0;
2595
  }
2596
+ .control-section .ulf-field .ulf-title {
2597
  float: none;
2598
  width: 100%;
2599
  margin-bottom: 6px;
2600
  }
2601
+ .control-section .ulf-field .ulf-title h4 {
2602
  display: block;
2603
  font-size: 13px;
2604
  line-height: 1;
2605
  font-weight: 600;
2606
  color: inherit;
2607
  }
2608
+ .control-section .ulf-field .ulf-fieldset {
2609
  float: none;
2610
  width: 100%;
2611
  }
2612
+ .control-section .ulf-help {
2613
  top: -5px;
2614
  right: -5px;
2615
  }
2616
+ .control-section .ulf-field-select select {
2617
  width: 100%;
2618
  }
2619
+ .control-section .ulf-field-heading {
2620
  color: inherit;
2621
  font-size: 14px;
2622
  line-height: 1em;
2624
  margin-left: -15px;
2625
  padding: 15px;
2626
  }
2627
+ .control-section .ulf-field-subheading {
2628
  color: inherit;
2629
  font-size: 11px;
2630
  margin-right: -15px;
2631
  margin-left: -15px;
2632
  padding: 10px 15px;
2633
  }
2634
+ .control-section .ulf-subtitle-text {
2635
  margin-top: 4px;
2636
  font-size: 12px;
2637
  }
2638
+ .control-section .ulf-field-submessage .ulf-submessage {
2639
  margin-right: -15px;
2640
  margin-left: -15px;
2641
  padding: 15px;
2642
  }
2643
+ .control-section .ulf-fieldset .ulf-field-submessage .ulf-submessage,
2644
+ .control-section .ulf-fieldset .ulf-field-heading,
2645
+ .control-section .ulf-fieldset .ulf-field-subheading {
2646
  margin-left: 0;
2647
  margin-right: 0;
2648
  }
2649
+ .control-section .ulf-field-date .ulf--to {
2650
  margin-left: 0;
2651
  }
2652
+ .control-section .ulf-field-sorter ul li {
2653
  padding: 5px;
2654
  }
2655
+ .control-section .ulf-field-sorter .ulf-modules {
2656
  float: none;
2657
  width: 100%;
2658
  }
2659
+ .control-section .ulf-field-sorter .ulf-modules:first-child {
2660
  padding-right: 0;
2661
  padding-bottom: 15px;
2662
  }
2663
+ .control-section .ulf-field-background .ulf--background-attributes {
2664
  flex-direction: column;
2665
  }
2666
+ .control-section .ulf-field-spacing input {
2667
  width: 90px;
2668
  }
2669
+ .control-section .ulf-field-border .ulf--input {
2670
  flex: 1 50%;
2671
  }
2672
+ .control-section .ulf-field-border input,
2673
+ .control-section .ulf-field-border select {
2674
  width: 100%;
2675
  }
2676
+ .control-section .ulf-field-spinner input {
2677
  width: 50px;
2678
  }
2679
+ .control-section .ulf-field-number .ulf--wrap {
2680
  width: 100%;
2681
  }
2682
+ .control-section .ulf-field-backup .ulf-export-data {
2683
  display: none;
2684
  }
2685
+ .control-section .ulf-field-fieldset .ulf-fieldset-content {
2686
  border-color: #e5e5e5;
2687
  }
2688
+ .control-section .ulf-tabbed-content > .ulf-field,
2689
+ .control-section .ulf-sortable-content > .ulf-field,
2690
+ .control-section .ulf-repeater-content > .ulf-field,
2691
+ .control-section .ulf-fieldset-content > .ulf-field,
2692
+ .control-section .ulf-cloneable-content > .ulf-field,
2693
+ .control-section .ulf-accordion-content > .ulf-field {
2694
  padding: 10px;
2695
  }
2696
+ .control-section .ulf-tabbed-content > .ulf-field .ulf-title,
2697
+ .control-section .ulf-sortable-content > .ulf-field .ulf-title,
2698
+ .control-section .ulf-repeater-content > .ulf-field .ulf-title,
2699
+ .control-section .ulf-fieldset-content > .ulf-field .ulf-title,
2700
+ .control-section .ulf-cloneable-content > .ulf-field .ulf-title,
2701
+ .control-section .ulf-accordion-content > .ulf-field .ulf-title {
2702
  margin-bottom: 5px;
2703
  }
2704
+ .control-section .ulf-tabbed-content > .ulf-field h4,
2705
+ .control-section .ulf-sortable-content > .ulf-field h4,
2706
+ .control-section .ulf-repeater-content > .ulf-field h4,
2707
+ .control-section .ulf-fieldset-content > .ulf-field h4,
2708
+ .control-section .ulf-cloneable-content > .ulf-field h4,
2709
+ .control-section .ulf-accordion-content > .ulf-field h4 {
2710
  font-size: 12px;
2711
  }
2712
+ .control-section .ulf-depend-hidden.ulf-depend-on {
2713
  display: none !important;
2714
  }
2715
+ .control-section .ulf-depend-visible.ulf-depend-on {
2716
  border-top: 0 !important;
2717
  }
2718
 
2719
  /**
2720
  * 06. Taxonomy
2721
  */
2722
+ .ulf-taxonomy {
2723
  max-width: 95%;
2724
  }
2725
+ .ulf-taxonomy > .ulf-field {
2726
  border-top: none !important;
2727
  }
2728
+ .ulf-taxonomy > .ulf-field-heading {
2729
  font-size: 1.1em;
2730
  padding: 20px !important;
2731
  border: 1px solid #ddd;
2732
  }
2733
+ .ulf-taxonomy > .ulf-field-subheading {
2734
  font-size: 12px;
2735
  padding: 15px !important;
2736
  border: 1px solid #ddd;
2737
  }
2738
+ .ulf-taxonomy > .ulf-field-submessage .ulf-submessage {
2739
  padding: 15px;
2740
  border-left-width: 1px;
2741
  border-left-style: solid;
2742
  border-right-width: 1px;
2743
  border-right-style: solid;
2744
  }
2745
+ .ulf-taxonomy > .ulf-field-notice {
2746
  background-color: transparent;
2747
  }
2748
+ .ulf-taxonomy .ulf-section-title {
2749
  display: block;
2750
  padding: 15px;
2751
  background-color: #f9f9f9;
2755
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
2756
  }
2757
 
2758
+ .ulf-taxonomy-add-fields > .ulf-field {
2759
  padding: 8px 0;
2760
  }
2761
+ .ulf-taxonomy-add-fields > .ulf-field > .ulf-title {
2762
  float: none;
2763
  width: 100%;
2764
  padding: 2px 2px 4px 0;
2765
  }
2766
+ .ulf-taxonomy-add-fields > .ulf-field > .ulf-title h4 {
2767
  font-size: 12px;
2768
  font-weight: normal;
2769
  }
2770
+ .ulf-taxonomy-add-fields > .ulf-field > .ulf-fieldset {
2771
  float: none;
2772
  width: 100%;
2773
  }
2774
+ .ulf-taxonomy-add-fields > .ulf-field > .ulf-fieldset > .ulf-help {
2775
  right: -5px;
2776
  }
2777
+ .ulf-taxonomy-add-fields + p.submit {
2778
  margin-top: 0;
2779
  }
2780
 
2781
+ .ulf-taxonomy-edit-fields > .ulf-field {
2782
  padding: 20px 0;
2783
  }
2784
+ .ulf-taxonomy-edit-fields > .ulf-field > .ulf-title {
2785
  width: 200px;
2786
  }
2787
+ .ulf-taxonomy-edit-fields > .ulf-field > .ulf-title h4 {
2788
  font-size: 14px;
2789
  font-weight: 600;
2790
  line-height: 1.3;
2791
  display: inline-block;
2792
  vertical-align: middle;
2793
  }
2794
+ .ulf-taxonomy-edit-fields > .ulf-field > .ulf-fieldset {
2795
  width: calc(100% - 220px);
2796
  }
2797
+ .ulf-taxonomy-edit-fields > .ulf-field > .ulf-fieldset > .ulf-help {
2798
  top: -5px;
2799
  right: -5px;
2800
  }
2801
+ .ulf-taxonomy-edit-fields > .ulf-field-submessage {
2802
  margin: 20px 0;
2803
  }
2804
+ .ulf-taxonomy-edit-fields > .ulf-field-subheading,
2805
+ .ulf-taxonomy-edit-fields > .ulf-field-heading {
2806
  margin: 20px 0;
2807
  border: 1px solid #ddd;
2808
  }
2810
  /**
2811
  * 08. Nav Menu
2812
  */
2813
+ .ulf-nav-menu-options {
2814
  clear: both;
2815
  float: left;
2816
  width: 100%;
2817
  }
2818
+ .ulf-nav-menu-options > .ulf-fields {
2819
  margin-left: -10px;
2820
  margin-top: 10px;
2821
  margin-bottom: 10px;
2822
  border-top: 1px solid #eee;
2823
  border-bottom: 1px solid #eee;
2824
  }
2825
+ .ulf-nav-menu-options > .ulf-fields > .ulf-field {
2826
  padding: 12px 14px 12px 12px;
2827
  }
2828
+ .ulf-nav-menu-options > .ulf-fields > .ulf-field .ulf-title {
2829
  float: none;
2830
  width: 100%;
2831
  margin-bottom: 5px;
2832
  }
2833
+ .ulf-nav-menu-options > .ulf-fields > .ulf-field .ulf-fieldset {
2834
  float: none;
2835
  width: 100%;
2836
  }
2837
+ .ulf-nav-menu-options .ulf-field-text input {
2838
  width: 100%;
2839
  }
2840
+ .ulf-nav-menu-options .ulf-field-notice .ulf-notice {
2841
  padding: 15px;
2842
  }
2843
 
2844
+ .ulf-nav-menu-title {
2845
  padding: 12px 14px 12px 12px;
2846
  background-color: #f5f5f5;
2847
  border-top: 1px solid #eee;
2848
  border-bottom: 1px solid #eee;
2849
  }
2850
+ .ulf-nav-menu-title:first-child {
2851
  border-top: 0;
2852
  }
2853
+ .ulf-nav-menu-title h4 {
2854
  margin: 0;
2855
  padding: 0;
2856
  color: #23282d;
2857
  }
2858
 
2859
+ .ulf-nav-menu-icon {
2860
  margin-right: 5px;
2861
  }
2862
 
2863
  /**
2864
  * 06. Profile
2865
  */
2866
+ .ulf-profile-options > h2 > .fa {
2867
  padding-right: 7px;
2868
  }
2869
+ .ulf-profile-options > .ulf-field {
2870
  max-width: 750px;
2871
  padding: 15px 0;
2872
  border-top: none !important;
2873
  }
2874
+ .ulf-profile-options > .ulf-field > .ulf-title {
2875
  width: 200px;
2876
  }
2877
+ .ulf-profile-options > .ulf-field > .ulf-title h4 {
2878
  font-size: 14px;
2879
  font-weight: 600;
2880
  line-height: 1.3;
2881
  display: inline-block;
2882
  vertical-align: middle;
2883
  }
2884
+ .ulf-profile-options > .ulf-field > .ulf-fieldset {
2885
  width: calc(100% - 220px);
2886
  }
2887
+ .ulf-profile-options > .ulf-field > .ulf-fieldset > .ulf-help {
2888
  top: -15px;
2889
  right: -5px;
2890
  }
2891
+ .ulf-profile-options > .ulf-field-heading {
2892
  font-size: 1.1em;
2893
  }
2894
+ .ulf-profile-options > .ulf-field-subheading {
2895
  font-size: 12px;
2896
  }
2897
+ .ulf-profile-options > .ulf-field-subheading,
2898
+ .ulf-profile-options > .ulf-field-heading {
2899
  margin: 10px 0;
2900
  padding: 15px !important;
2901
  border: 1px solid #ddd;
2902
  }
2903
+ .ulf-profile-options > .ulf-field-submessage {
2904
  margin: 20px 0;
2905
  }
2906
+ .ulf-profile-options > .ulf-field-submessage .ulf-submessage {
2907
  padding: 10px;
2908
  border-left-width: 1px;
2909
  border-left-style: solid;
2910
  border-right-width: 1px;
2911
  border-right-style: solid;
2912
  }
2913
+ .ulf-profile-options > .ulf-field-notice {
2914
  background-color: transparent;
2915
  }
2916
 
2917
  /**
2918
  * 09. Modal
2919
  */
2920
+ .ulf-modal {
2921
  position: fixed;
2922
  z-index: 100101;
2923
  top: 0;
2925
  width: 100%;
2926
  height: 100%;
2927
  }
2928
+ .ulf-modal.hidden {
2929
  display: none;
2930
  }
2931
 
2932
+ .ulf-modal-icon {
2933
  z-index: 100102;
2934
  }
2935
 
2936
+ .ulf-modal-table {
2937
  display: table;
2938
  width: 100%;
2939
  height: 100%;
2940
  }
2941
 
2942
+ .ulf-modal-table-cell {
2943
  display: table-cell;
2944
  vertical-align: middle;
2945
  margin: 100px 0;
2946
  }
2947
 
2948
+ .ulf-modal-inner {
2949
  position: relative;
2950
  z-index: 10;
2951
  width: 760px;
2954
  background-color: #fff;
2955
  }
2956
 
2957
+ .ulf-modal-content {
2958
  position: relative;
2959
  overflow: hidden;
2960
  overflow-y: auto;
2961
  height: 595px;
2962
  }
2963
+ .ulf-modal-content .ulf-shortcode-button {
2964
  display: none;
2965
  }
2966
+ .ulf-modal-content .ulf-field {
2967
  padding: 15px 30px 15px 15px;
2968
  }
2969
+ .ulf-modal-content a:active, .ulf-modal-content a:focus {
2970
  outline: none;
2971
  -moz-box-shadow: none;
2972
  -webkit-box-shadow: none;
2973
  box-shadow: none;
2974
  }
2975
+ .ulf-modal-content h4 {
2976
  font-size: 13px;
2977
  }
2978
+ .ulf-modal-content h4 small {
2979
  font-style: italic;
2980
  font-weight: 400;
2981
  color: #aaa;
2982
  }
2983
 
2984
+ .ulf-modal-title {
2985
  position: relative;
2986
  background-color: #fcfcfc;
2987
  border-bottom: 1px solid #ddd;
2993
  padding: 0 36px 0 16px;
2994
  }
2995
 
2996
+ .ulf-modal-header {
2997
  width: 100%;
2998
  padding: 14px 0;
2999
  background-color: #f5f5f5;
3000
  border-bottom: 1px solid #eee;
3001
  }
3002
+ .ulf-modal-header select {
3003
  display: block;
3004
  width: 250px;
3005
  margin: 0 auto;
3010
  background-color: #fff;
3011
  }
3012
 
3013
+ .ulf-modal-close {
3014
  color: #666;
3015
  padding: 0;
3016
  position: absolute;
3023
  border: none;
3024
  cursor: pointer;
3025
  }
3026
+ .ulf-modal-close:before {
3027
  font: normal 20px/36px dashicons;
3028
  content: "\f158";
3029
  vertical-align: top;
3030
  width: 36px;
3031
  height: 36px;
3032
  }
3033
+ .ulf-modal-close:hover {
3034
  opacity: 0.5;
3035
  }
3036
 
3037
+ .ulf-modal-insert-wrapper {
3038
  text-align: center;
3039
  width: 100%;
3040
  padding: 15px 0;
3042
  border-top: 1px solid #eee;
3043
  }
3044
 
3045
+ .ulf-modal-overlay {
3046
  position: absolute;
3047
  top: 0;
3048
  left: 0;
3055
  /**
3056
  * 09. 01. Shortcode Modal
3057
  */
3058
+ .ulf--repeatable {
3059
  padding: 15px 15px 0 15px;
3060
  }
3061
 
3062
+ .ulf--repeat-button-block {
3063
  text-align: center;
3064
  padding-bottom: 15px;
3065
  }
3066
 
3067
+ .ulf--repeat-shortcode {
3068
  position: relative;
3069
  margin-bottom: 15px;
3070
  border: 1px dashed #ddd;
3071
  }
3072
+ .ulf--repeat-shortcode:first-child .ulf-repeat-remove {
3073
  display: none;
3074
  }
3075
+ .ulf--repeat-shortcode .ulf-repeat-remove {
3076
  position: absolute;
3077
  right: 10px;
3078
  top: 10px;
3089
  background-color: #e14d43;
3090
  opacity: 0.5;
3091
  }
3092
+ .ulf--repeat-shortcode .ulf-repeat-remove:hover {
3093
  opacity: 1;
3094
  }
3095
 
3096
+ .ulf-shortcode-single .ulf-modal-inner {
3097
  height: 750px;
3098
  }
3099
+ .ulf-shortcode-single .ulf-modal-content {
3100
  height: 652px;
3101
  }
3102
 
3103
+ .elementor-editor-active .ulf-shortcode-button {
3104
  margin-left: 5px;
3105
  }
3106
+ .elementor-editor-active .ulf-modal .hidden {
3107
  display: none !important;
3108
  }
3109
 
3110
  /**
3111
  * 09. 02. Gutenberg Modal
3112
  */
3113
+ .ulf-shortcode-block {
3114
  text-align: center;
3115
  padding: 14px;
3116
  font-size: 13px;
3118
  font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;
3119
  }
3120
 
3121
+ .ulf-shortcode-block .components-button {
3122
  margin-bottom: 10px;
3123
  }
3124
 
3125
  /**
3126
  * 09. 03. Icon Modal
3127
  */
3128
+ .ulf-modal-icon .ulf-icon-title {
3129
  padding: 15px 0;
3130
  margin: 4px;
3131
  font-size: 14px;
3134
  border: 1px solid #eee;
3135
  background-color: #f7f7f7;
3136
  }
3137
+ .ulf-modal-icon .ulf-modal-header {
3138
  text-align: center;
3139
  }
3140
+ .ulf-modal-icon .ulf-icon-search {
3141
  width: 50%;
3142
  height: 40px;
3143
  line-height: 40px;
3144
  }
3145
+ .ulf-modal-icon i {
3146
  cursor: pointer;
3147
  display: inline-block;
3148
  margin: 4px;
3161
  -webkit-box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.05);
3162
  box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.05);
3163
  }
3164
+ .ulf-modal-icon i:hover {
3165
  color: #fff;
3166
  border-color: #222;
3167
  background-color: #222;
3168
  }
3169
+ .ulf-modal-icon .ulf-modal-content {
3170
  padding: 10px;
3171
  height: 618px;
3172
  }
3173
+ .ulf-modal-icon .ulf-error-text {
3174
  padding: 10px;
3175
  }
3176
 
3177
+ .ulf-modal-loading {
3178
  display: none;
3179
  position: absolute;
3180
  left: 15px;
3181
  top: 15px;
3182
  }
3183
 
3184
+ .ulf-loading {
3185
  position: relative;
3186
  width: 20px;
3187
  height: 20px;
3193
  -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.07);
3194
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.07);
3195
  }
3196
+ .ulf-loading:after {
3197
  position: absolute;
3198
  top: 50%;
3199
  left: 50%;
3212
  -moz-animation-timing-function: linear;
3213
  -webkit-animation-timing-function: linear;
3214
  animation-timing-function: linear;
3215
+ -moz-animation-name: ulfLoader;
3216
+ -webkit-animation-name: ulfLoader;
3217
+ animation-name: ulfLoader;
3218
  -moz-border-radius: 4px;
3219
  -webkit-border-radius: 4px;
3220
  border-radius: 4px;
3221
  }
3222
 
3223
+ @-moz-keyframes ulfLoader {
3224
  0% {
3225
  -moz-transform: rotate(0deg) translateX(-6px) rotate(0deg);
3226
  transform: rotate(0deg) translateX(-6px) rotate(0deg);
3230
  transform: rotate(360deg) translateX(-6px) rotate(-360deg);
3231
  }
3232
  }
3233
+ @-webkit-keyframes ulfLoader {
3234
  0% {
3235
  -webkit-transform: rotate(0deg) translateX(-6px) rotate(0deg);
3236
  transform: rotate(0deg) translateX(-6px) rotate(0deg);
3240
  transform: rotate(360deg) translateX(-6px) rotate(-360deg);
3241
  }
3242
  }
3243
+ @keyframes ulfLoader {
3244
  0% {
3245
  -moz-transform: rotate(0deg) translateX(-6px) rotate(0deg);
3246
  -ms-transform: rotate(0deg) translateX(-6px) rotate(0deg);
3257
  /**
3258
  * 10. Helper
3259
  */
3260
+ .ulf-subtitle-text {
3261
  margin-top: 6px;
3262
  font-weight: 400;
3263
  color: #999;
3264
  }
3265
 
3266
+ .ulf-desc-text {
3267
  clear: both;
3268
  float: left;
3269
  width: 100%;
3272
  color: #999;
3273
  }
3274
 
3275
+ .ulf-error-text {
3276
  margin-top: 6px;
3277
  color: #d02c21;
3278
  }
3279
 
3280
+ .ulf-before-text {
3281
  margin-bottom: 6px;
3282
  }
3283
 
3284
+ .ulf-after-text {
3285
  margin-top: 6px;
3286
  }
3287
 
3288
+ .ulf-metabox-hide {
3289
  display: none !important;
3290
  }
3291
 
3292
+ .ulf-metabox-show {
3293
  display: block !important;
3294
  }
3295
 
3296
+ .ulf-depend-hidden.ulf-depend-on {
3297
  display: none;
3298
  }
3299
 
3300
+ .ulf-depend-visible.ulf-depend-on {
3301
  display: block;
3302
  opacity: 0.75;
3303
  filter: grayscale(1);
3304
  user-select: none;
3305
  border-top: 1px solid #eee;
3306
  }
3307
+ .ulf-depend-visible.ulf-depend-on .clear:before {
3308
  content: "";
3309
  left: 0;
3310
  top: 0;
3316
  z-index: 10;
3317
  }
3318
 
3319
+ .ulf-warning-primary {
3320
  color: #fff !important;
3321
  border-color: #dc3545 !important;
3322
  background: #dc3545 !important;
3323
  }
3324
+ .ulf-warning-primary:hover, .ulf-warning-primary:focus {
3325
  border-color: #bd2130 !important;
3326
  background: #bd2130 !important;
3327
  }
3328
+ .ulf-warning-primary:focus {
3329
  box-shadow: 0 0 0 1px #fff, 0 0 0 3px #bd2130 !important;
3330
  }
3331
+ .ulf-warning-primary:active {
3332
  border-color: #bd2130 !important;
3333
  background: #bd2130 !important;
3334
  }
3335
 
3336
+ .ulf-form-result {
3337
  display: none;
3338
  float: left;
3339
  padding: 0 8px;
3344
  border-radius: 2px;
3345
  }
3346
 
3347
+ .ulf-form-show {
3348
  display: block;
3349
  }
3350
 
3351
+ .ulf-form-success {
3352
  color: #fff;
3353
  background-color: #46b450;
3354
  }
3355
 
3356
+ .ulf-form-warning {
3357
  color: #8a6d3b;
3358
  background-color: #faebcc;
3359
  }
3360
 
3361
+ .ulf-label-error {
3362
  position: relative;
3363
  top: -2px;
3364
  display: inline-block;
3377
  border-radius: 2px;
3378
  }
3379
 
3380
+ .ulf-no-option {
3381
  padding: 30px;
3382
  }
3383
 
3384
+ .ulf-input-number {
3385
  -moz-appearance: textfield;
3386
  }
3387
 
3388
+ .ulf-input-number::-webkit-inner-spin-button,
3389
+ .ulf-input-number::-webkit-outer-spin-button {
3390
  -webkit-appearance: none;
3391
  margin: 0;
3392
  }
3394
  /**
3395
  * 11. Welcome Page
3396
  */
3397
+ .ulf-welcome-wrap {
3398
  position: relative;
3399
  margin: 25px 40px 0 20px;
3400
  font-size: 15px;
3401
  max-width: 1200px;
3402
  }
3403
+ .ulf-welcome-wrap p {
3404
  font-size: 14px;
3405
  line-height: 1.5;
3406
  }
3407
+ .ulf-welcome-wrap h1 {
3408
  margin: 0.2em 200px 0 0;
3409
  padding: 0;
3410
  color: #32373c;
3412
  font-size: 2.8em;
3413
  font-weight: 400;
3414
  }
3415
+ .ulf-welcome-wrap .ulf-logo {
3416
  position: absolute;
3417
  overflow: hidden;
3418
  top: 0;
3422
  background-image: linear-gradient(45deg, #2d67cb, #ad19f3);
3423
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25), inset 0 0 0 4px rgba(0, 0, 0, 0.25);
3424
  }
3425
+ .ulf-welcome-wrap .ulf-logo .ulf--effects i {
3426
  position: absolute;
3427
  width: 200px;
3428
  height: 100px;
3429
  background-color: rgba(0, 0, 0, 0.15);
3430
  transform: rotate(-45deg);
3431
  }
3432
+ .ulf-welcome-wrap .ulf-logo .ulf--effects i:nth-child(1) {
3433
  bottom: -20px;
3434
  right: -70px;
3435
  }
3436
+ .ulf-welcome-wrap .ulf-logo .ulf--effects i:nth-child(2) {
3437
  bottom: -35px;
3438
  right: -80px;
3439
  }
3440
+ .ulf-welcome-wrap .ulf-logo .ulf--effects i:nth-child(3) {
3441
  bottom: -50px;
3442
  right: -90px;
3443
  }
3444
+ .ulf-welcome-wrap .ulf-logo .ulf--effects i:nth-child(4) {
3445
  bottom: -65px;
3446
  right: -100px;
3447
  }
3448
+ .ulf-welcome-wrap .ulf-logo .ulf--wp-logos {
3449
  position: relative;
3450
  padding-top: 25px;
3451
  text-align: center;
3452
  }
3453
+ .ulf-welcome-wrap .ulf-logo .ulf--wp-logo {
3454
  position: absolute;
3455
  left: 20px;
3456
  width: 20px;
3459
  background-position: center center;
3460
  background-image: url(../images/wp-logo.svg);
3461
  }
3462
+ .ulf-welcome-wrap .ulf-logo .ulf--wp-plugin-logo {
3463
  display: inline-block;
3464
  width: 50px;
3465
  height: 50px;
3471
  border-radius: 100%;
3472
  vertical-align: middle;
3473
  }
3474
+ .ulf-welcome-wrap .ulf-logo .ulf--text {
3475
  position: absolute;
3476
  left: 0;
3477
  right: 0;
3484
  text-transform: uppercase;
3485
  text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.25);
3486
  }
3487
+ .ulf-welcome-wrap .ulf-logo .ulf--version {
3488
  top: auto;
3489
  left: auto;
3490
  right: 8px;
3492
  font-size: 11px;
3493
  text-transform: lowercase;
3494
  }
3495
+ .ulf-welcome-wrap .ulf-about-text {
3496
  font-weight: 400;
3497
  line-height: 1.6em;
3498
  font-size: 19px;
3499
  margin: 1em 200px 1em 0;
3500
  color: #555d66;
3501
  }
3502
+ .ulf-welcome-wrap .ulf-demo-button {
3503
  margin: 1em 200px 2em 0;
3504
  }
3505
+ .ulf-welcome-wrap .nav-tab-wrapper {
3506
  margin-bottom: 20px;
3507
  }
3508
+ .ulf-welcome-wrap ul {
3509
  list-style-type: disc;
3510
  padding-left: 15px;
3511
  }
3512
+ .ulf-welcome-wrap .ulf--col {
3513
  float: left;
3514
  padding-right: 20px;
3515
  box-sizing: border-box;
3516
  }
3517
+ .ulf-welcome-wrap .ulf--col-2 {
3518
  width: 50%;
3519
  }
3520
+ .ulf-welcome-wrap .ulf--col-3 {
3521
  width: 33.333%;
3522
  }
3523
+ .ulf-welcome-wrap .ulf--col-4 {
3524
  width: 25%;
3525
  }
3526
+ .ulf-welcome-wrap .ulf--col-5 {
3527
  width: 20%;
3528
  }
3529
+ .ulf-welcome-wrap .ulf--col-last {
3530
  padding-right: 0;
3531
  }
3532
+ .ulf-welcome-wrap .ulf--col-upgrade {
3533
  padding: 10px 0;
3534
  text-align: center;
3535
  border-top: 1px solid #e5e5e5;
3536
  }
3537
 
3538
+ .ulf--table-compare thead td,
3539
+ .ulf--table-compare tfoot td {
3540
  text-align: center;
3541
  }
3542
+ .ulf--table-compare td {
3543
  font-size: 14px;
3544
  text-align: center;
3545
  vertical-align: middle;
3546
  padding: 10px;
3547
  }
3548
+ .ulf--table-compare td:first-child {
3549
  text-align: left;
3550
  }
3551
+ .ulf--table-compare tfoot td {
3552
  padding: 15px 0;
3553
  }
3554
+ .ulf--table-compare .fa {
3555
  font-size: 18px;
3556
  }
3557
+ .ulf--table-compare .fa-check-circle {
3558
  color: #46b450;
3559
  }
3560
+ .ulf--table-compare .fa-times-circle {
3561
  color: #dc3232;
3562
  }
3563
 
3564
+ .ulf-welcome-cols {
3565
  clear: both;
3566
  margin: 20px 0;
3567
  background-color: #fff;
3569
  border-radius: 2px;
3570
  border: 1px solid #e5e5e5;
3571
  }
3572
+ .ulf-welcome-cols .ulf--col {
3573
  width: 33.333%;
3574
  float: left;
3575
  padding: 20px;
3578
  min-height: 200px;
3579
  border-right: 1px solid #e5e5e5;
3580
  }
3581
+ .ulf-welcome-cols .ulf--left,
3582
+ .ulf-welcome-cols .ulf--block {
3583
  float: left;
3584
  width: 20%;
3585
  padding: 0 30px;
3586
  text-align: center;
3587
  box-sizing: border-box;
3588
  }
3589
+ .ulf-welcome-cols .ulf--block {
3590
  width: 80%;
3591
  }
3592
+ .ulf-welcome-cols .ulf--col-first {
3593
  border-bottom: 1px solid #e5e5e5;
3594
  }
3595
+ .ulf-welcome-cols .ulf--last {
3596
  border-right: none;
3597
  }
3598
+ .ulf-welcome-cols .ulf--space {
3599
  height: 20px;
3600
  }
3601
+ .ulf-welcome-cols .ulf--icon {
3602
  display: inline-block;
3603
  font-size: 20px;
3604
  width: 30px;
3610
  background-color: #555;
3611
  border-radius: 30px;
3612
  }
3613
+ .ulf-welcome-cols .ulf--active {
3614
  background-color: #5cb85c;
3615
  }
3616
+ .ulf-welcome-cols .ulf--deactive {
3617
  background-color: #e14d43;
3618
  }
3619
+ .ulf-welcome-cols .ulf--title {
3620
  font-weight: bold;
3621
  display: block;
3622
  }
3623
+ .ulf-welcome-cols p:last-child {
3624
  margin-bottom: 0;
3625
  }
3626
 
3627
+ .ulf-features-cols .ulf--key-features {
3628
  width: 30%;
3629
  }
3630
+ .ulf-features-cols .ulf--available-fields {
3631
  width: 70%;
3632
  }
3633
 
3634
+ .ulf-code-block {
3635
  margin: 20px 0;
3636
  padding: 5px 20px;
3637
  background-color: #fff;
3638
  border-radius: 2px;
3639
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
3640
  }
3641
+ .ulf-code-block pre {
3642
  font-size: 13px;
3643
  color: #0073aa;
3644
  }
3645
+ .ulf-code-block pre span {
3646
  color: #999;
3647
  }
3648
 
3649
+ .ulf--table-fields td {
3650
  font-size: 14px;
3651
  }
3652
 
3653
+ .ulf--upgrade a {
3654
  color: #5cb85c;
3655
  font-weight: bold;
3656
  }
3657
+ .ulf--upgrade a:focus, .ulf--upgrade a:hover {
3658
  color: #4aa14a;
3659
  outline: none;
3660
  box-shadow: none;
3661
  }
3662
 
3663
  @media only screen and (max-width: 782px) {
3664
+ .ulf-welcome-cols .ulf--col {
3665
  width: 100%;
3666
  min-height: auto;
3667
  border-right: none;
3668
  border-bottom: 1px solid #e5e5e5;
3669
  }
3670
 
3671
+ .ulf-features-cols .ulf--key-features {
3672
  width: 100%;
3673
  }
3674
+ .ulf-features-cols .ulf--available-fields {
3675
  width: 100%;
3676
  }
3677
  }
3679
  * 12. Responsive
3680
  */
3681
  @media only screen and (max-width: 1200px) {
3682
+ .ulf-metabox .ulf-field .ulf-title {
3683
  float: none;
3684
  width: 100%;
3685
  margin-bottom: 10px;
3686
  }
3687
+ .ulf-metabox .ulf-field .ulf-fieldset {
3688
  float: none;
3689
  width: 100%;
3690
  }
3691
  }
3692
  @media only screen and (max-width: 782px) {
3693
+ .ulf-header-inner {
3694
  text-align: center;
3695
  }
3696
+ .ulf-header-inner h1 {
3697
  width: 100%;
3698
  margin-bottom: 10px;
3699
  }
3700
 
3701
+ .ulf-form-result {
3702
  float: none;
3703
  margin-right: 0;
3704
  margin-bottom: 10px;
3705
  }
3706
 
3707
+ .ulf-search,
3708
+ .ulf-header-right,
3709
+ .ulf-header-left {
3710
  width: 100%;
3711
  }
3712
 
3713
+ .ulf-search {
3714
  text-align: center;
3715
  margin-bottom: 15px;
3716
  }
3717
 
3718
+ .ulf-footer {
3719
  text-align: center;
3720
  }
3721
 
3722
+ .ulf-buttons {
3723
  float: none;
3724
  }
3725
 
3726
+ .ulf-copyright {
3727
  float: none;
3728
  margin-top: 10px;
3729
  }
3730
 
3731
+ .ulf-nav,
3732
+ .ulf-expand-all,
3733
+ .ulf-reset-section,
3734
+ .ulf-nav-background {
3735
  display: none !important;
3736
  }
3737
 
3738
+ .ulf-content {
3739
  margin-left: 0;
3740
  }
3741
 
3742
+ .ulf-section-title,
3743
+ .ulf-section {
3744
  display: block !important;
3745
  }
3746
 
3747
+ .ulf-field .ulf-title {
3748
  float: none;
3749
  width: 100%;
3750
  margin-bottom: 10px;
3751
  }
3752
+ .ulf-field .ulf-fieldset {
3753
  float: none;
3754
  width: 100%;
3755
  }
3756
 
3757
+ .ulf-field-color .button.wp-picker-clear {
3758
  padding: 0 8px;
3759
  line-height: 2.14285714;
3760
  min-height: 32px;
3761
  }
3762
 
3763
+ .ulf-modal-inner {
3764
  width: 350px;
3765
  height: 400px;
3766
  }
3767
 
3768
+ .ulf-modal-content {
3769
  height: 237px;
3770
  }
3771
 
3772
+ .ulf-icon-dialog .ulf-modal-inner {
3773
  width: 305px;
3774
  height: 380px;
3775
  }
3776
+ .ulf-icon-dialog .ulf-modal-content {
3777
  height: 267px;
3778
  }
3779
 
3780
+ .ulf-modal-icon .ulf-modal-inner {
3781
  width: 330px;
3782
  height: 385px;
3783
  }
3784
+ .ulf-modal-icon .ulf-modal-content {
3785
  height: 252px;
3786
  }
3787
 
3788
+ .ulf-profile-options > .ulf-field > .ulf-title,
3789
+ .ulf-taxonomy-edit-fields > .ulf-field > .ulf-title {
3790
  float: none;
3791
  width: 100%;
3792
  margin-bottom: 10px;
3793
  }
3794
+ .ulf-profile-options > .ulf-field > .ulf-fieldset,
3795
+ .ulf-taxonomy-edit-fields > .ulf-field > .ulf-fieldset {
3796
  float: none;
3797
  width: 100%;
3798
  }
3799
 
3800
+ .ulf-nav-menu-options > .ulf-fields {
3801
  margin-left: -10px;
3802
  margin-right: -10px;
3803
  }
3804
+ .ulf-nav-menu-options > .ulf-fields > .ulf-field {
3805
  padding: 10px;
3806
  }
3807
  }
admin/settings/assets/css/style.min.css CHANGED
@@ -1 +1 @@
1
- .csf{position:relative}.csf label{padding:0;margin:0;display:inline-block}.csf-ab-icon{top:2px}#screen-meta-links+.csf-options{margin-top:40px}.csf-options{margin-top:20px;margin-right:20px}.csf-header{position:relative}.csf-header-inner{padding:25px;transition:box-shadow .3s ease}.csf-header-inner h1{float:left;font-size:1.5em;line-height:26px;font-weight:400;margin:0}.csf-header-inner h1 small{font-size:11px;font-weight:500}.csf-sticky .csf-header-inner{position:fixed;z-index:99;top:32px;-moz-box-shadow:0 5px 10px rgba(0,0,0,.1);-webkit-box-shadow:0 5px 10px rgba(0,0,0,.1);box-shadow:0 5px 10px rgba(0,0,0,.1)}.csf-buttons{float:right;-moz-transition:opacity .2s;-o-transition:opacity .2s;-webkit-transition:opacity .2s;transition:opacity .2s}.csf-buttons .button{margin:0 2px;line-height:26px}.csf-buttons .button:focus{outline:0!important;box-shadow:none!important}.csf-buttons .csf-save{min-width:72px}.csf-header-left{float:left}.csf-header-right{float:right}.csf-nav{display:block;position:relative;z-index:10;float:left;width:225px}.csf-nav ul{clear:left;margin:0;list-style-type:none}.csf-nav ul li{margin-bottom:0}.csf-nav ul li a{font-size:13px;position:relative;display:block;padding:14px 12px;text-decoration:none;transition-property:color;transition-duration:.2s;transition-timing-function:ease}.csf-nav ul li a:focus{outline:0;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.csf-nav ul li .csf-arrow:after{content:"\f054";display:inline-block;font-family:"Font Awesome 5 Pro","Font Awesome 5 Free",FontAwesome;font-weight:900;font-size:9px;line-height:1;position:absolute;right:10px;top:50%;margin-top:-4px;-moz-transform:rotate(0);-ms-transform:rotate(0);-webkit-transform:rotate(0);transform:rotate(0)}.csf-nav ul li.csf-tab-expanded .csf-arrow:after{-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-webkit-transform:rotate(90deg);transform:rotate(90deg)}.csf-nav ul li.csf-tab-expanded ul{display:block}.csf-nav ul ul{display:none;position:relative}.csf-nav ul ul li a{font-size:12px;padding:12px 14px 12px 24px}.csf-nav .csf-tab-icon{width:20px;margin-right:5px;font-size:13px;text-align:center}.csf-nav .csf-label-error{margin-left:4px;vertical-align:top}.csf-nav-background{position:absolute;top:0;left:0;bottom:0;z-index:9;width:225px}.csf-wrapper{position:relative}.csf-content{position:relative;margin-left:225px;background-color:#fff;-moz-transition:opacity .2s;-o-transition:opacity .2s;-webkit-transition:opacity .2s;transition:opacity .2s}.csf-sections{float:left;width:100%}.csf-section{display:none}.csf-section-title{display:none;padding:20px 30px;background-color:#f5f5f5;border-top:1px solid #eee;border-bottom:1px solid #eee}.csf-section-title h3{margin:0;padding:0;font-size:13px;font-weight:700;text-transform:uppercase}.csf-section-title .csf-section-icon{margin-right:5px}.csf-footer{padding:20px;font-size:11px}.csf-copyright{float:left;margin-top:5px}.csf-search-all .csf-nav,.csf-search-all .csf-nav-background,.csf-show-all .csf-nav,.csf-show-all .csf-nav-background{display:none}.csf-search-all .csf-content,.csf-show-all .csf-content{margin-left:0}.csf-search-all .csf-section,.csf-search-all .csf-section-title,.csf-show-all .csf-section,.csf-show-all .csf-section-title{display:block!important}.csf-search-all .csf-section-title{display:none!important}.csf-expand-all{float:left;padding:0 8px;margin-right:4px;z-index:1;font-size:13px;line-height:30px;cursor:pointer;user-select:none;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-moz-transition:all .2s;-o-transition:all .2s;-webkit-transition:all .2s;transition:all .2s}.csf-expand-all span{font-size:11px;vertical-align:middle}.csf-search{float:left}.csf-search input{margin:0 2px 0 0;border:none;font-size:12px;line-height:30px;min-height:30px;text-align:inherit;padding:0 10px;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.csf-search input:focus{-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.csf-saving .csf-buttons,.csf-saving .csf-content{cursor:default;pointer-events:none;opacity:.5}.csf-metabox{margin:-6px -12px -12px -12px}.csf-metabox .csf-field{padding:20px}.csf-metabox .csf-section-title{padding:20px}.block-editor-page .csf-metabox{margin:-6px -14px -14px -14px}.block-editor-editor-skeleton__content .csf-metabox{border-left:1px solid #e2e4e7;border-right:1px solid #e2e4e7}.csf-sections-restore{float:left;width:100%;position:relative;z-index:1000000;text-align:right;border-top:1px solid #eee}.csf-sections-restore .csf-button-cancel,.csf-sections-restore input{display:none}.csf-sections-restore label{padding:10px}.csf-sections-restore span{-webkit-user-select:none;user-select:none}.csf-sections-restore input:checked~.csf-button-restore{display:none}.csf-sections-restore input:checked~.csf-button-cancel{display:inline-block}#side-sortables .csf-section-title{padding:12px}#side-sortables .csf-field{padding:10px 15px}#side-sortables .csf-field .csf-title{float:none;width:100%;margin-bottom:6px}#side-sortables .csf-field .csf-fieldset{float:none;width:100%}#side-sortables .csf-field-text input{width:100%}#side-sortables .csf-notice{padding:10px 15px}.csf-comment-metabox{margin:-6px -12px -12px -12px}.csf-comment-metabox .csf-field{padding:20px}.csf-comment-metabox .csf-section-title{padding:20px}.csf-tooltip{position:absolute;z-index:5000001;font-size:12px;line-height:1.4;text-align:center;text-decoration:none;padding:6px 12px;max-width:200px;color:#fff;background-color:#000;background-color:rgba(0,0,0,.85);-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px}.csf-theme-dark .csf-header-inner{background-color:#050505}.csf-theme-dark .csf-header-inner h1{color:#fff}.csf-theme-dark .csf-header-inner h1 small{color:#555}.csf-theme-dark .csf-expand-all{color:#999;background-color:#222}.csf-theme-dark .csf-expand-all:hover{color:#fff;background-color:#333}.csf-theme-dark .csf-search input{color:#fff;background-color:#222}.csf-theme-dark .csf-search:focus{background-color:#444}.csf-theme-dark .csf-search::-webkit-input-placeholder{color:#666}.csf-theme-dark .csf-nav ul li a{color:#999;background-color:#222;border-bottom:1px solid #2f2f2f}.csf-theme-dark .csf-nav ul li a:hover{color:#fff}.csf-theme-dark .csf-nav ul li .csf-active{color:#fff;background-color:#111}.csf-theme-dark .csf-nav ul li .csf-active:after{content:" ";position:absolute;right:0;top:50%;height:0;width:0;pointer-events:none;border:solid transparent;border-right-color:#fff;border-width:4px;margin-top:-4px}.csf-theme-dark .csf-nav ul ul li a{background-color:#191919;border-bottom:1px solid #2f2f2f}.csf-theme-dark .csf-nav ul ul li .csf-active{background-color:#101010}.csf-theme-dark .csf-nav ul ul:before{background-color:rgba(34,34,34,.75)}.csf-theme-dark .csf-nav>ul>li:last-child>a{border-bottom:none}.csf-theme-dark .csf-nav-background{background-color:#222}.csf-theme-dark .csf-footer{color:#555;background-color:#050505}.csf-theme-light .csf-container{border:1px solid #ccd0d4;-moz-box-shadow:0 0 15px rgba(0,0,0,.04);-webkit-box-shadow:0 0 15px rgba(0,0,0,.04);box-shadow:0 0 15px rgba(0,0,0,.04)}.csf-theme-light .csf-header-inner{border-bottom:1px solid #ccd0d4;background-color:#f5f5f5;background:linear-gradient(#fefefe,#f5f5f5)}.csf-theme-light .csf-header-inner h1 small{color:#999}.csf-theme-light .csf-expand-all{color:#999;background-color:#eee}.csf-theme-light .csf-expand-all:hover{color:#555}.csf-theme-light .csf-search input{color:#555;background-color:#eee}.csf-theme-light .csf-search input::-webkit-input-placeholder{color:#999}.csf-theme-light .csf-nav ul li a{color:#666;background-color:#f5f5f5;border-bottom:1px solid #ccd0d4}.csf-theme-light .csf-nav ul li a:hover{color:#222}.csf-theme-light .csf-nav ul li .csf-active{color:#222;background-color:#fff}.csf-theme-light .csf-nav ul li .csf-active:after{content:"";position:absolute;top:0;bottom:0;right:-1px;width:1px;background-color:#fff}.csf-theme-light .csf-nav ul ul li a{background-color:#eee;border-bottom:1px solid #ccd0d4}.csf-theme-light .csf-nav>ul>li:last-child>a{border-bottom:none}.csf-theme-light .csf-nav-background{background-color:#f5f5f5;border-right:1px solid #ccd0d4}.csf-theme-light .csf-footer{color:#555;border-top:1px solid #ccd0d4;background-color:#f5f5f5;background:linear-gradient(#fafafa,#f5f5f5)}.csf-field{position:relative;padding:30px}.csf-field+.csf-field{border-top:1px solid #eee}.csf-field p:first-child{margin-top:0}.csf-field p:last-child{margin-bottom:0}.csf-field:after,.csf-field:before{content:" ";display:table}.csf-field:after{clear:both}.csf-field h4{margin-top:0}.csf-field .csf-title{position:relative;width:20%;float:left}.csf-field .csf-title h4{margin:0;color:#23282d}.csf-field .csf-fieldset{float:right;width:calc(80% - 20px)}.csf-pseudo-field{padding:0 5px 0 0!important;display:inline-block}.csf-pseudo-field+.csf-pseudo-field{border:0}.csf-pseudo-field pre{display:none}.csf-field-accordion .csf-accordion-item{position:relative;margin-bottom:5px}.csf-field-accordion .csf-accordion-item:last-child{margin-bottom:0}.csf-field-accordion .csf-accordion-item h4{font-size:1em}.csf-field-accordion .csf-accordion-title{display:block;cursor:pointer;position:relative;margin:0;padding:15px;min-height:0;font-size:100%;user-select:none;border:1px solid #ccd0d4;background-color:#fafafa;box-shadow:0 1px 1px rgba(0,0,0,.04);transition:border-color .15s}.csf-field-accordion .csf-accordion-title:active,.csf-field-accordion .csf-accordion-title:focus,.csf-field-accordion .csf-accordion-title:hover{outline:0;border-color:#999}.csf-field-accordion .csf-accordion-title .csf--icon{width:20px;text-align:center;margin-right:2px}.csf-field-accordion .csf-accordion-icon{width:16px;text-align:center}.csf-field-accordion .csf-accordion-content{display:none;padding:0;border:1px solid #ccd0d4;border-top:none;background-color:#fff;box-shadow:0 1px 1px rgba(0,0,0,.04)}.csf-field-accordion .csf-accordion-content>.csf-field{padding:15px}.csf-field-accordion .csf-accordion-open{display:block}.csf-field-background .csf-field{border:0!important;padding:0;margin-bottom:6px;margin-right:6px}.csf-field-background .csf--title{color:#777;font-size:12px}.csf-field-background .csf--background-colors{display:flex;flex-wrap:wrap}.csf-field-background .csf--background-attributes{display:flex;flex-wrap:wrap}.csf-field-background .csf--background-attributes select{min-width:100%;margin:0}.csf-field-background .csf--background-attributes .csf-field{flex:1}.csf-field-background .csf--attributes-hidden{display:none}.csf-field-backup textarea{width:100%;min-height:200px;margin-bottom:5px}.csf-field-backup small{display:inline-block;margin:5px}.csf-field-backup hr{margin:20px 0;border:none;border-bottom:1px solid #e5e5e5}.csf-field-border .csf--inputs,.csf-field-dimensions .csf--inputs,.csf-field-spacing .csf--inputs{float:left;display:flex;flex-wrap:wrap}.csf-field-border .csf--input,.csf-field-dimensions .csf--input,.csf-field-spacing .csf--input{display:flex;padding-right:6px;padding-bottom:4px;box-sizing:border-box}.csf-field-border .csf--input select,.csf-field-dimensions .csf--input select,.csf-field-spacing .csf--input select{margin:0}.csf-field-border .csf--input input,.csf-field-dimensions .csf--input input,.csf-field-spacing .csf--input input{position:relative;z-index:1;margin:0;width:65px;max-width:100%;text-align:center}.csf-field-border .csf--color,.csf-field-dimensions .csf--color,.csf-field-spacing .csf--color{float:left}.csf-field-border .csf--label,.csf-field-dimensions .csf--label,.csf-field-spacing .csf--label{display:flex;flex-direction:column;justify-content:center;user-select:none;min-width:20px;max-width:100%;padding:0 4px;font-size:12px;text-align:center;color:#555;border:1px solid #7b776c;background-color:#f5f5f5}.csf-field-border .csf--icon,.csf-field-dimensions .csf--icon,.csf-field-spacing .csf--icon{border-right:0;border-radius:4px 0 0 4px}.csf-field-border .csf--icon+input,.csf-field-dimensions .csf--icon+input,.csf-field-spacing .csf--icon+input{border-top-left-radius:0;border-bottom-left-radius:0}.csf-field-border .csf--unit,.csf-field-dimensions .csf--unit,.csf-field-spacing .csf--unit{border-left:0;border-radius:0 4px 4px 0}.csf-field-border .csf--is-unit,.csf-field-dimensions .csf--is-unit,.csf-field-spacing .csf--is-unit{border-top-right-radius:0;border-bottom-right-radius:0}.csf-field-button_set .csf--buttons{display:inline-block}.csf-field-button_set .csf--button{position:relative;z-index:1;float:left;cursor:pointer;padding:7px 14px;min-width:40px;text-align:center;color:#555;border:1px solid #ccc;background-color:#f7f7f7;user-select:none;-webkit-user-select:none;box-shadow:0 1px 0 rgba(0,0,0,.1)}.csf-field-button_set .csf--button:first-child{border-radius:4px 0 0 4px}.csf-field-button_set .csf--button:last-child{border-radius:0 4px 4px 0}.csf-field-button_set .csf--button:not(:first-child){margin-left:-1px}.csf-field-button_set .csf--button:hover{background-color:#eee}.csf-field-button_set .csf--active,.csf-field-button_set .csf--active:hover{z-index:2;color:#fff;border-color:#006799;background-color:#0085ba}.csf-field-button_set input{display:none}.csf-field-checkbox ul,.csf-field-radio ul{margin:0;padding:0;list-style-type:none;overflow-y:auto;max-height:305px}.csf-field-checkbox ul li,.csf-field-radio ul li{margin-bottom:6px}.csf-field-checkbox ul ul,.csf-field-radio ul ul{max-height:none}.csf-field-checkbox ul ul li,.csf-field-radio ul ul li{margin-left:8px}.csf-field-checkbox ul ul li:first-child,.csf-field-radio ul ul li:first-child{margin-left:0}.csf-field-checkbox input,.csf-field-radio input{margin:0 1px}.csf-field-checkbox .csf--inline-list li,.csf-field-radio .csf--inline-list li{display:inline-block;margin-right:15px}.csf-field-checkbox .csf--text,.csf-field-radio .csf--text{margin-left:5px;vertical-align:middle}.csf-field-checkbox .csf-checker,.csf-field-radio .csf-checker{cursor:pointer}.csf-field-code_editor .CodeMirror{width:100%;height:400px}.csf-field-code_editor .cm-s-default{border:1px solid #ccd0d4}.csf-field-code_editor textarea{width:100%;height:400px}.csf-field-color>input{opacity:.75;width:115px;max-width:100%}.csf-field-color .button.wp-picker-clear{padding:0 8px;margin-left:6px;line-height:2.54545455;min-height:30px}.csf-field-color_group .csf--left{float:left;margin-right:10px;margin-bottom:5px}.csf-field-color_group .csf--title{color:#999;margin-bottom:5px}.csf-field-fieldset .csf-fieldset-content{border:1px solid #ccd0d4;background-color:#fff;box-shadow:0 1px 1px rgba(0,0,0,.04)}.csf-field-fieldset .csf-fieldset-content>.csf-field{padding:15px}.csf-field-fieldset .csf-field-subheading{font-size:13px}.csf-field-date input{margin:0}.csf-field-date .csf--to{margin-left:7px}.csf-datepicker-wrapper{margin-top:5px;width:auto;background-color:#fff;z-index:9999999!important;-moz-box-shadow:0 0 30px rgba(0,0,0,.15);-webkit-box-shadow:0 0 30px rgba(0,0,0,.15);box-shadow:0 0 30px rgba(0,0,0,.15)}.csf-datepicker-wrapper *{float:none;margin:0;padding:0;font-family:inherit;font-weight:400;font-style:normal;text-decoration:none;border:0;border-radius:0;box-shadow:none}.csf-datepicker-wrapper .ui-datepicker-header,.csf-datepicker-wrapper .ui-widget-header{color:#fff;background:#00a0d2}.csf-datepicker-wrapper .ui-datepicker-header .ui-state-hover{cursor:pointer}.csf-datepicker-wrapper .ui-datepicker-title{font-size:14px;line-height:40px;text-align:center}.csf-datepicker-wrapper .ui-datepicker-next,.csf-datepicker-wrapper .ui-datepicker-prev{position:static;top:auto;left:auto;right:auto;font-family:"Font Awesome 5 Pro","Font Awesome 5 Free",FontAwesome;font-weight:900;font-size:12px;text-align:center;width:41px;height:40px;line-height:40px;color:#fff;background-color:rgba(255,255,255,.1);text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.csf-datepicker-wrapper .ui-datepicker-next span,.csf-datepicker-wrapper .ui-datepicker-prev span{display:none}.csf-datepicker-wrapper .ui-datepicker-prev{float:left}.csf-datepicker-wrapper .ui-datepicker-next{float:right}.csf-datepicker-wrapper .ui-datepicker-prev:before{content:'\f053'}.csf-datepicker-wrapper .ui-datepicker-next:before{content:'\f054'}.csf-datepicker-wrapper .ui-datepicker-next-hover,.csf-datepicker-wrapper .ui-datepicker-prev-hover{opacity:.75}.csf-datepicker-wrapper tbody .ui-datepicker-week-col{background-color:#f7f7f7}.csf-datepicker-wrapper .ui-datepicker-buttonpane{padding:10px;text-align:center;background-color:#f7f7f7}.csf-datepicker-wrapper .ui-datepicker-buttonpane button{cursor:pointer;margin:0 5px;padding:7px 14px;border:1px solid #eee;background-color:#fff}.csf-datepicker-wrapper select{margin:0 4px}.csf-datepicker-wrapper select option{color:#555}.csf-datepicker-wrapper table{font-size:13px;border-collapse:collapse;width:100%}.csf-datepicker-wrapper thead{color:#fff;background:#32373c}.csf-datepicker-wrapper th{text-align:center;padding:7px;border:1px solid #444}.csf-datepicker-wrapper td{text-align:center;border:1px solid #f4f4f4}.csf-datepicker-wrapper td.ui-datepicker-other-month{border:transparent}.csf-datepicker-wrapper td .ui-state-default{color:#555;width:auto;display:block;padding:6px 12px}.csf-datepicker-wrapper td .ui-state-active,.csf-datepicker-wrapper td .ui-state-hover{color:#fff;background-color:#0073aa}.csf-datepicker-wrapper td.ui-state-disabled .ui-state-default{opacity:.5}.csf-field-gallery input{display:none}.csf-field-gallery ul{margin:0;padding:0;list-style-type:none}.csf-field-gallery ul li{display:inline-block;position:relative;padding:4px;margin:0 5px 10px 0;border:1px solid #ccc;background-color:#f9f9f9;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-moz-box-shadow:0 1px 0 rgba(0,0,0,.08);-webkit-box-shadow:0 1px 0 rgba(0,0,0,.08);box-shadow:0 1px 0 rgba(0,0,0,.08)}.csf-field-gallery ul li img{max-height:60px;display:inline-block;vertical-align:middle}.csf-field-gallery .button{margin-right:5px;margin-bottom:5px}.csf-field-group .csf-cloneable-hidden{display:none!important}.csf-field-group .csf-cloneable-wrapper{position:relative}.csf-field-group .csf-cloneable-item{display:none;position:relative;margin-bottom:5px}.csf-field-group .csf-cloneable-item h4{font-size:1em}.csf-field-group .ui-accordion .csf-cloneable-item{display:block}.csf-field-group .csf-cloneable-content{border:1px solid #ccd0d4;background-color:#fff;box-shadow:0 1px 1px rgba(0,0,0,.04)}.csf-field-group .csf-cloneable-content>.csf-field{padding:15px}.csf-field-group .csf-cloneable-title{display:block;cursor:pointer;position:relative;user-select:none;margin:0;padding:15px 65px 15px 10px;min-height:0;font-size:100%;border:1px solid #ccd0d4;background-color:#fafafa;box-shadow:0 1px 1px rgba(0,0,0,.04);transition:border-color .15s}.csf-field-group .csf-cloneable-title:active,.csf-field-group .csf-cloneable-title:focus,.csf-field-group .csf-cloneable-title:hover{border-color:#999;outline:0}.csf-field-group .csf-cloneable-helper{position:absolute;top:12px;right:10px;z-index:1;font-size:14px;line-height:1em}.csf-field-group .csf-cloneable-helper i{display:inline-block;cursor:pointer;padding:5px;color:#999}.csf-field-group .csf-cloneable-helper i:hover{color:#555}.csf-field-group .csf-cloneable-content{padding:0;border-top:0}.csf-field-group .csf-cloneable-title-number,.csf-field-group .csf-cloneable-title-prefix{margin-right:5px}.csf-field-group .csf-cloneable-alert{display:none;margin-bottom:5px;padding:10px 20px;color:#a94442;border:1px solid #ebccd1;background-color:#f2dede}.csf-field-group .widget-placeholder{margin-bottom:10px;border:1px dashed #f1c40f;background-color:#fffae4}.csf-field-group .csf-cloneable-header-icon{display:inline-block;text-align:center;font-size:14px;width:17px;text-indent:0;vertical-align:text-top}.csf-field-group .csf-cloneable-placeholder{background-color:#ddd;margin-top:4px;width:100px;height:10px;font-size:10px;line-height:10px;display:inline-block;vertical-align:top;border-radius:2px}.csf-field-icon input{display:none}.csf-field-icon .button{margin-right:5px}.csf-field-icon .csf-icon-preview i{display:inline-block;font-size:16px;width:30px;height:28px;line-height:28px;margin-right:5px;text-align:center;vertical-align:top;color:#555;border:1px solid #ccc;background-color:#f7f7f7;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(0,0,0,.08);-webkit-box-shadow:0 1px 0 rgba(0,0,0,.08);box-shadow:0 1px 0 rgba(0,0,0,.08);-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}.csf-field-image_select .csf--image{cursor:pointer;position:relative;display:inline-block;max-width:100%;margin:0 5px 5px 0;vertical-align:bottom;border:2px solid transparent;background-color:#fff;user-select:none;-webkit-user-select:none;-moz-transition:all .2s;-o-transition:all .2s;-webkit-transition:all .2s;transition:all .2s}.csf-field-image_select .csf--image:before{position:absolute;top:0;left:0;text-align:center;font-size:10px;font-family:"Font Awesome 5 Pro","Font Awesome 5 Free",FontAwesome;font-weight:900;content:"\f00c";width:16px;height:16px;line-height:14px;opacity:0;color:#fff;background-color:#222;transition:opacity .2s}.csf-field-image_select .csf--active{border-color:#222;box-shadow:0 0 20px rgba(0,0,0,.2)}.csf-field-image_select .csf--active:before{opacity:1}.csf-field-image_select img{vertical-align:top}.csf-field-image_select input{display:none}.csf-field-link_color .csf--left{float:left;margin-right:10px;margin-bottom:5px}.csf-field-link_color .csf--title{color:#777;margin-bottom:5px}.csf-field-map input{width:100%}.csf-field-map input[type=text].ui-autocomplete-loading{background-position-x:calc(100% - 5px)}.csf-field-map .csf--map-search+.csf--map-osm-wrap{margin-top:10px}.csf-field-map .csf--map-osm-wrap{position:relative;padding:5px;border:1px solid #eee;background-color:#fff;box-shadow:0 1px 1px rgba(0,0,0,.04)}.csf-field-map .csf--map-osm{position:relative;z-index:1;min-height:250px}.csf-field-map .csf--map-inputs{margin-top:10px;display:flex;justify-content:space-between}.csf-field-map .csf--map-input{flex:1}.csf-field-map .csf--map-input:last-child{padding-left:10px}.csf-field-map label{display:block;color:#777;font-size:12px;margin:0 0 2px 0}.csf-map-ui-autocomplate{z-index:999999;border-radius:4px;overflow:hidden}.csf-field-media .csf--placeholder{display:flex;align-items:flex-start}.csf-field-media .csf--placeholder input{width:100%;margin:0}.csf-field-media .button{margin-left:5px}.csf-field-media .hidden+.button{margin-left:0}.csf-field-media .csf--preview{position:relative}.csf-field-media .csf--preview .fa-times{position:absolute;z-index:1;right:4px;top:4px;font-size:14px;width:22px;height:22px;line-height:22px;text-align:center;text-decoration:none;color:#fff;background-color:#d33;opacity:.8;transition:all .2s}.csf-field-media .csf--preview .fa-times:hover{opacity:1}.csf-field-media .csf--preview .fa-times:focus{box-shadow:none}.csf-field-palette .csf--palette{position:relative;display:inline-block;cursor:pointer;border:2px solid #ddd;margin-right:10px;margin-bottom:10px;user-select:none;-webkit-user-select:none;transition:all .2s}.csf-field-palette .csf--palette span{vertical-align:middle;display:inline-block;width:22px;height:60px;line-height:60px;overflow:hidden;text-indent:-999px}.csf-field-palette .csf--palette:before{position:absolute;top:0;left:0;text-align:center;font-size:10px;font-family:"Font Awesome 5 Pro","Font Awesome 5 Free",FontAwesome;font-weight:900;content:"\f00c";width:16px;height:16px;line-height:14px;opacity:0;color:#fff;background-color:#222;transition:opacity .2s}.csf-field-palette .csf--active{border-color:#222;box-shadow:0 0 20px rgba(0,0,0,.2)}.csf-field-palette .csf--active:before{opacity:1}.csf-field-palette input{display:none}.csf-field-repeater .csf-field-text input{width:100%}.csf-field-repeater .csf-repeater-hidden{display:none!important}.csf-field-repeater .csf-repeater-wrapper .csf-repeater-item{display:table;width:100%;margin-bottom:5px;border:1px solid #eee}.csf-field-repeater .csf-repeater-wrapper .csf-repeater-item h4{font-size:1em}.csf-field-repeater .csf-repeater-content{width:100%;display:table-cell;vertical-align:middle;background-color:#fff}.csf-field-repeater .csf-repeater-content>.csf-field{padding:15px}.csf-field-repeater .csf-repeater-helper{width:100%;display:table-cell;vertical-align:middle;text-align:center;font-size:14px;line-height:1em;border-left:1px solid #eee;background-color:#f7f7f7}.csf-field-repeater .csf-repeater-helper i{display:inline-block;cursor:pointer;color:#999;padding:5px}.csf-field-repeater .csf-repeater-helper i:hover{color:#555}.csf-field-repeater .csf-repeater-helper-inner{width:75px}.csf-field-repeater .csf-repeater-alert{display:none;margin-bottom:5px;padding:10px 20px;color:#a94442;border:1px solid #ebccd1;background-color:#f2dede}.csf-field-repeater .widget-placeholder{height:50px;margin-bottom:3px;border:1px dashed #f1c40f;background-color:#fffae4}.csf-field-repeater .ui-sortable-helper{height:50px!important;overflow:hidden!important;border-color:#ccc!important;background-color:#eee!important;opacity:.5}.csf-field-repeater .ui-sortable-helper .csf-repeater-content,.csf-field-repeater .ui-sortable-helper .csf-repeater-helper{display:none}.csf-field-select .csf-fieldset{min-height:30px}.csf-field-select .csf-chosen{display:none}.csf-field-select select{max-width:100%;margin:0}.csf-field-slider .csf--wrap{display:flex;align-items:center}.csf-field-slider .csf--input{display:flex}.csf-field-slider .csf--unit{display:flex;justify-content:center;flex-direction:column;user-select:none;padding:0 6px;font-size:11px;line-height:1;border-radius:0 4px 4px 0;color:#555;border:1px solid #7e8993;border-left:0;background-color:#f5f5f5}.csf-field-slider .csf-slider-ui{margin-right:15px}.csf-field-slider input[type=number]{position:relative;z-index:1;margin:0;width:50px;text-align:center}.csf-field-slider .csf--is-unit{border-top-right-radius:0;border-bottom-right-radius:0}.csf-field-slider .ui-slider{position:relative;width:100%;height:3px;border:none;background:#ddd;border-radius:2px}.csf-field-slider .ui-slider-range{height:3px;border:none;background:#333;border-radius:2px}.csf-field-slider .ui-slider-handle{position:absolute;width:16px;height:16px;top:-7px;margin-left:-8px;border:none;background:#333;border-radius:2px}.csf-field-slider .ui-slider-handle:hover,.csf-field-slider .ui-state-active{cursor:pointer;background:#111}.csf-field-sortable .csf-field-text input{width:100%;max-width:100%}.csf-field-sortable .csf-sortable .csf-sortable-item{display:table;width:100%;margin-bottom:5px;border:1px solid #eee}.csf-field-sortable .csf-sortable .csf-sortable-item h4{font-size:1em}.csf-field-sortable .csf-sortable-content{width:100%;display:table-cell;vertical-align:middle;background-color:#fff}.csf-field-sortable .csf-sortable-content>.csf-field{padding:15px}.csf-field-sortable .csf-sortable-helper{width:100%;display:table-cell;vertical-align:middle;text-align:center;font-size:14px;line-height:1em;border-left:1px solid #eee;background-color:#f7f7f7}.csf-field-sortable .csf-sortable-helper i{display:inline-block;cursor:pointer;width:50px;color:#555}.csf-field-sortable .csf-sortable-helper i:hover{opacity:.5}.csf-field-sortable .widget-placeholder{height:50px;margin-bottom:3px;border:1px dashed #f1c40f;background-color:#fffae4}.csf-field-sortable .ui-sortable-helper{height:50px!important;overflow:hidden!important;border-color:#ccc!important;background-color:#eee!important;opacity:.5}.csf-field-sortable .ui-sortable-helper .csf-sortable-content,.csf-field-sortable .ui-sortable-helper .csf-sortable-helper{display:none}.csf-field-sorter .ui-sortable-placeholder{height:20px;border:1px dashed #f1c40f;background-color:#fffae4}.csf-field-sorter .csf-modules{float:left;width:50%;box-sizing:border-box}.csf-field-sorter .csf-modules:first-child{padding-right:15px}.csf-field-sorter .csf-modules:last-child{padding-left:15px}.csf-field-sorter .csf-disabled,.csf-field-sorter .csf-enabled{padding:5px 15px;border:1px dashed #ddd;background-color:#fff}.csf-field-sorter .csf-disabled li{-moz-transition:opacity .15s;-o-transition:opacity .15s;-webkit-transition:opacity .15s;transition:opacity .15s;opacity:.5}.csf-field-sorter .csf-disabled .ui-sortable-helper{opacity:1}.csf-field-sorter .csf-sorter-title{font-size:13px;font-weight:600;padding:10px;text-align:center;border:1px dashed #ddd;border-bottom:none;background-color:#f8f8f8;text-transform:uppercase}.csf-field-sorter ul{list-style-type:none;margin:0;padding:0;min-height:62px}.csf-field-sorter ul li{margin:10px 0;padding:10px 15px;cursor:move;font-weight:700;text-align:center;border:1px solid #e5e5e5;background-color:#fafafa;-moz-transition:border-color .15s;-o-transition:border-color .15s;-webkit-transition:border-color .15s;transition:border-color .15s}.csf-field-sorter ul li:hover{border-color:#bbb}.csf-field-spinner .csf--spin{display:flex}.csf-field-spinner .ui-spinner{display:flex}.csf-field-spinner .ui-button-text-only{display:flex;flex-direction:column;justify-content:center;text-align:center;min-width:20px;padding:0 4px;color:#555;border:1px solid #7e8993;background-color:#f5f5f5}.csf-field-spinner .ui-button{cursor:pointer}.csf-field-spinner .ui-button:hover{background-color:#e7e7e7}.csf-field-spinner .ui-button:active{background-color:#ddd}.csf-field-spinner .ui-button:before{font-family:"Font Awesome 5 Pro","Font Awesome 5 Free",FontAwesome;font-weight:900;font-size:14px;line-height:14px}.csf-field-spinner .ui-spinner-down{order:1;border-right:0;border-radius:4px 0 0 4px}.csf-field-spinner .ui-spinner-down:before{content:"\f0d9"}.csf-field-spinner .ui-spinner-input{order:2}.csf-field-spinner .csf--unit{order:3;border-left:0;user-select:none}.csf-field-spinner .ui-spinner-up{order:4;border-left:0;border-radius:0 4px 4px 0}.csf-field-spinner .ui-spinner-up:before{content:"\f0da"}.csf-field-spinner input{position:relative;z-index:1;width:50px;text-align:center;margin:0;padding:0 8px;border-radius:0}.csf-field-spinner .ui-button-text{display:none}.csf-field-switcher .csf--switcher{float:left;cursor:pointer;position:relative;width:60px;height:26px;padding:0;margin:0;overflow:hidden;border-radius:4px;background-color:#ed6f6f;user-select:none;-webkit-user-select:none}.csf-field-switcher .csf--ball{position:absolute;top:4px;left:4px;width:24px;height:18px;background-color:#fff;border-radius:4px;transition:all .1s;box-shadow:1px 1px 1px rgba(0,0,0,.15)}.csf-field-switcher .csf--off,.csf-field-switcher .csf--on{position:absolute;top:0;left:0;right:0;font-size:11px;line-height:26px;font-weight:500;font-style:normal;text-align:center;text-transform:uppercase;color:#fff;padding-right:28px;opacity:0;transition:all .1s}.csf-field-switcher .csf--off{padding-right:0;padding-left:28px;opacity:1}.csf-field-switcher .csf--active{background:#4fb845}.csf-field-switcher .csf--active .csf--on{opacity:1}.csf-field-switcher .csf--active .csf--off{opacity:0}.csf-field-switcher .csf--active .csf--ball{left:100%;margin-left:-28px}.csf-field-switcher .csf--label{float:left;margin-top:4px;margin-left:8px;font-weight:400;color:#999}.csf-field-switcher input{display:none}.csf-field-tabbed .csf-tabbed-content{border:1px solid #ccd0d4;background-color:#fff;box-shadow:0 1px 1px rgba(0,0,0,.04)}.csf-field-tabbed .csf-tabbed-content>.csf-field{padding:15px}.csf-field-tabbed .csf-tabbed-nav .csf--icon{padding-right:5px}.csf-field-tabbed .csf-tabbed-nav a{display:inline-block;padding:12px 15px;margin-top:1px;margin-right:5px;margin-bottom:-1px;position:relative;text-decoration:none;color:#444;font-weight:600;border:1px solid #ccd0d4;background-color:#f3f3f3;transition:all .2s}.csf-field-tabbed .csf-tabbed-nav a:hover{background-color:#f9f9f9}.csf-field-tabbed .csf-tabbed-nav a.csf-tabbed-active{background-color:#fff;border-bottom-color:#fff}.csf-field-tabbed .csf-tabbed-nav a:focus{outline:0;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.csf-field-text input{width:50%;max-width:100%;margin:0}.csf-field-textarea textarea{width:100%;max-width:100%;min-height:125px}.csf-field-textarea .csf-shortcode-button{margin-bottom:10px;margin-right:5px}.csf-field-typography select,.csf-field-typography textarea{min-width:100%;margin:0}.csf-field-typography .csf--title{color:#777;margin:0 0 2px 0;font-size:12px}.csf-field-typography .csf--title small{vertical-align:top}.csf-field-typography .csf--blocks{display:flex;flex-wrap:wrap}.csf-field-typography .csf--block{flex:1;padding-right:6px;padding-bottom:6px}.csf-field-typography .csf--input{margin:0;min-width:100%}.csf-field-typography .csf--input-wrap{position:relative}.csf-field-typography .csf--unit{position:absolute;z-index:1;right:4px;top:4px;bottom:4px;padding:2px 6px;color:#666;font-size:11px;line-height:1;border-radius:2px;background:#eee;user-select:none;display:flex;justify-content:center;flex-direction:column}.csf-field-typography .csf--preview{font-size:16px;line-height:20px;padding:20px;color:#222;border:1px solid #eee;background-color:#fff;border-radius:2.5px;user-select:none;-webkit-user-select:none;transition:background-color .2s,border-color .2s}.csf-field-typography .csf--block-preview{cursor:pointer;position:relative;overflow:hidden;margin-top:10px;max-width:100%}.csf-field-typography .csf--black-background{border-color:#000;background-color:#000}.csf-field-typography .csf--toggle{position:absolute;top:5px;right:10px;color:#999}.csf-field-typography .csf--block-extra-styles{margin-top:5px}.csf-field-upload input{width:100%;margin:0}.csf-field-upload .csf--wrap{display:flex;align-items:flex-start}.csf-field-upload .button{margin-left:5px}.csf-field-wp_editor .csf-wp-editor{float:left;width:100%}.csf-field-wp_editor .mce-toolbar-grp{border:none}.csf-field-wp_editor .mce-btn.mce-active button,.csf-field-wp_editor .mce-btn.mce-active i,.csf-field-wp_editor .mce-btn.mce-active:hover button,.csf-field-wp_editor .mce-btn.mce-active:hover i{color:#23282d}.csf-field-wp_editor .wp-media-buttons{position:relative;z-index:2}.csf-field-wp_editor .wp-editor-tabs{position:relative;z-index:1}.csf-field-wp_editor .csf-no-tinymce{border:1px solid #e5e5e5}.csf-field-wp_editor .csf-no-quicktags .wp-media-buttons{float:none;display:block}.csf-field-wp_editor .csf-no-quicktags .mce-tinymce{box-shadow:none;border:1px solid #e5e5e5}.csf-field-wp_editor textarea{width:100%;max-width:100%;margin:0;box-shadow:none}.csf-field-heading{font-size:1.5em;font-weight:700;color:#23282d;background-color:#f5f5f5}.csf-field-subheading{font-size:14px;font-weight:700;padding-top:17px;padding-bottom:17px;color:#23282d;background-color:#f7f7f7}.csf-field-submessage{padding:0!important;border:0!important}.csf-field-submessage+.csf-field{border-top:0!important}.csf-submessage{font-size:12px;padding:17px 30px;border-top:1px solid transparent;border-bottom:1px solid transparent}.csf-submessage-success{color:#3c763d;border-color:#d6e9c6;background-color:#dff0d8}.csf-submessage-info{color:#31708f;border-color:#bce8f1;background-color:#d9edf7}.csf-submessage-warning{color:#8a6d3b;border-color:#faebcc;background-color:#fcf8e3}.csf-submessage-danger{color:#a94442;border-color:#ebccd1;background-color:#f2dede}.csf-submessage-normal{color:#23282d;border-color:#eee;background-color:#f7f7f7}.csf-field-notice{background-color:#f7f7f7}.csf-notice{padding:12px;background-color:#fff;border-left-style:solid;border-left-width:4px;box-shadow:0 1px 1px rgba(0,0,0,.1)}.csf-notice-success{border-color:#46b450}.csf-notice-info{border-color:#339fd4}.csf-notice-warning{border-color:#ffbc00}.csf-notice-danger{border-color:#dc3232}.csf-notice-normal{border-color:#222}.csf-field-number input{width:100%;margin:0}.csf-field-number .csf--wrap{position:relative;float:left;width:100px}.csf-field-number .csf--unit{position:absolute;z-index:1;right:4px;top:4px;bottom:4px;padding:2px 6px;color:#666;font-size:11px;line-height:1;border-radius:2px;background:#eee;user-select:none;display:flex;justify-content:center;flex-direction:column}.csf-help{cursor:help;position:absolute;top:0;right:0;padding:5px;font-size:13px;color:#aaa}.csf-help .csf-help-text{display:none}.csf-image-preview{display:inline-block;position:relative;padding:4px;min-width:44px;min-height:22px;margin-bottom:10px;border:1px solid #ccc;background-color:#f9f9f9;-moz-box-shadow:0 1px 0 rgba(0,0,0,.08);-webkit-box-shadow:0 1px 0 rgba(0,0,0,.08);box-shadow:0 1px 0 rgba(0,0,0,.08)}.csf-image-preview img{max-height:90px;display:inline-block;vertical-align:middle}.csf-field-custom .csf-field{padding:0}.csf-field .chosen-container-single .chosen-single{height:28px;line-height:26px}.csf-field .chosen-container-single .chosen-single abbr{top:0;right:20px;font-family:"Font Awesome 5 Pro","Font Awesome 5 Free",FontAwesome;font-weight:900;font-size:12px;height:100%;width:18px;color:#aaa;text-align:center;background:0 0}.csf-field .chosen-container-single .chosen-single abbr:before{content:"\f00d"}.csf-field .chosen-container-single .chosen-single abbr:hover{color:#555}.csf-field .chosen-container-multi .chosen-choices li.search-choice .search-choice-close{font-family:"Font Awesome 5 Pro","Font Awesome 5 Free",FontAwesome;font-weight:900;font-size:12px;height:100%;width:18px;color:#aaa;text-align:center;background:0 0}.csf-field .chosen-container-multi .chosen-choices li.search-choice .search-choice-close:before{content:"\f00d";display:inline-block;padding-top:3px}.csf-field .chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover{color:#555}.csf-field .chosen-container-single .chosen-single div b{font-family:"Font Awesome 5 Pro","Font Awesome 5 Free",FontAwesome;font-weight:900;font-size:14px;color:#aaa;background:0 0}.csf-field .chosen-container-single .chosen-single div b:before{content:"\f107"}.csf-field .chosen-container-single .chosen-single div b:hover{color:#555}.csf-field .chosen-container-multi .chosen-choices li.search-choice-placeholder{border:1px dashed #aaa;margin:3px 5px 3px 0}.csf-field .chosen-container-multi .ui-sortable li.search-choice span{cursor:move}.csf-field .chosen-container-active.chosen-with-drop .chosen-single div b:before{content:"\f106"}.csf-field .chosen-container-single .chosen-single-with-deselect span{margin-right:40px}.csf-field .chosen-container-single .chosen-search input[type=text]{background:0 0}.csf-field .chosen-container-single .chosen-search:before{font-family:"Font Awesome 5 Pro","Font Awesome 5 Free",FontAwesome;font-weight:900;font-size:11px;content:"\f002";position:absolute;right:12px;top:10px;color:#aaa}.csf-field .wp-picker-container{display:inline-block}.csf-field .wp-picker-container .wp-color-result.button{margin-bottom:0}.csf-field .csf--transparent-wrap{display:none;position:relative;top:-1px;width:235px;padding:9px 10px;border:1px solid #dfdfdf;border-top:none;background-color:#fff}.csf-field .wp-picker-active .csf--transparent-wrap{display:block}.csf-field .csf--transparent-slider{position:absolute;width:190px;margin-left:2px;height:18px}.csf-field .csf--transparent-slider .ui-slider-handle{position:absolute;top:-3px;bottom:-3px;z-index:5;border-color:#aaa;border-style:solid;border-width:4px 3px;width:10px;height:16px;margin:0 -5px;background:0 0;cursor:ew-resize;opacity:.9;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;-moz-box-shadow:0 1px 2px rgba(0,0,0,.2);-webkit-box-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 1px 2px rgba(0,0,0,.2)}.csf-field .csf--transparent-slider .ui-slider-handle:before{content:" ";position:absolute;left:-2px;right:-2px;top:-3px;bottom:-3px;border:2px solid #fff;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.csf-field .csf--transparent-offset{height:18px;width:200px;background:url(../images/checkerboard.png) repeat-y center left scroll #fff;-moz-box-shadow:0 0 5px rgba(0,0,0,.4) inset;-webkit-box-shadow:0 0 5px rgba(0,0,0,.4) inset;box-shadow:0 0 5px rgba(0,0,0,.4) inset;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px}.csf-field .csf--transparent-text{position:absolute;top:12px;right:10px;width:30px;font-size:12px;line-height:12px;text-align:center;color:#999}.csf-field .csf--transparent-button{cursor:pointer;user-select:none;margin-top:10px;font-size:11px;text-align:center;border-radius:2px;padding:3px 7px;box-shadow:0 1px 0 rgba(0,0,0,.1);letter-spacing:.2px;color:#777;border:1px solid #ccc;background-color:#f7f7f7;transition:background-color .2s,border-color .2s,color .2s}.csf-field .csf--transparent-active .wp-color-result{background-image:url(../images/checkerboard.png);background-size:135px;background-position:center left;background-color:transparent!important}.csf-field .csf--transparent-active .csf--transparent-button{color:#fff;border-color:#3ea032;background-color:#4fb845}.csf-field .csf--transparent-active .fa:before{content:"\f205"}.csf-widgets>.csf-field{position:relative;top:-1px;margin-right:-15px;margin-left:-15px;padding:12px 15px}.csf-widgets>.csf-field .csf-field{margin-left:0;margin-right:0}.csf-widgets>.csf-field .csf-title{float:none;width:100%;margin-bottom:5px}.csf-widgets>.csf-field .csf-fieldset{float:none;width:100%}.csf-widgets .csf-field-text input{width:100%}.csf-widgets .csf-field-notice .csf-notice{padding:15px}.control-section .csf-widgets>.csf-field{margin-right:-10px;margin-left:-10px;padding:10px 12px}.control-section .csf-field{padding:0}.control-section .csf-field .csf-title{float:none;width:100%;margin-bottom:6px}.control-section .csf-field .csf-title h4{display:block;font-size:13px;line-height:1;font-weight:600;color:inherit}.control-section .csf-field .csf-fieldset{float:none;width:100%}.control-section .csf-help{top:-5px;right:-5px}.control-section .csf-field-select select{width:100%}.control-section .csf-field-heading{color:inherit;font-size:14px;line-height:1em;margin-right:-15px;margin-left:-15px;padding:15px}.control-section .csf-field-subheading{color:inherit;font-size:11px;margin-right:-15px;margin-left:-15px;padding:10px 15px}.control-section .csf-subtitle-text{margin-top:4px;font-size:12px}.control-section .csf-field-submessage .csf-submessage{margin-right:-15px;margin-left:-15px;padding:15px}.control-section .csf-fieldset .csf-field-heading,.control-section .csf-fieldset .csf-field-subheading,.control-section .csf-fieldset .csf-field-submessage .csf-submessage{margin-left:0;margin-right:0}.control-section .csf-field-date .csf--to{margin-left:0}.control-section .csf-field-sorter ul li{padding:5px}.control-section .csf-field-sorter .csf-modules{float:none;width:100%}.control-section .csf-field-sorter .csf-modules:first-child{padding-right:0;padding-bottom:15px}.control-section .csf-field-background .csf--background-attributes{flex-direction:column}.control-section .csf-field-spacing input{width:90px}.control-section .csf-field-border .csf--input{flex:1 50%}.control-section .csf-field-border input,.control-section .csf-field-border select{width:100%}.control-section .csf-field-spinner input{width:50px}.control-section .csf-field-number .csf--wrap{width:100%}.control-section .csf-field-backup .csf-export-data{display:none}.control-section .csf-field-fieldset .csf-fieldset-content{border-color:#e5e5e5}.control-section .csf-accordion-content>.csf-field,.control-section .csf-cloneable-content>.csf-field,.control-section .csf-fieldset-content>.csf-field,.control-section .csf-repeater-content>.csf-field,.control-section .csf-sortable-content>.csf-field,.control-section .csf-tabbed-content>.csf-field{padding:10px}.control-section .csf-accordion-content>.csf-field .csf-title,.control-section .csf-cloneable-content>.csf-field .csf-title,.control-section .csf-fieldset-content>.csf-field .csf-title,.control-section .csf-repeater-content>.csf-field .csf-title,.control-section .csf-sortable-content>.csf-field .csf-title,.control-section .csf-tabbed-content>.csf-field .csf-title{margin-bottom:5px}.control-section .csf-accordion-content>.csf-field h4,.control-section .csf-cloneable-content>.csf-field h4,.control-section .csf-fieldset-content>.csf-field h4,.control-section .csf-repeater-content>.csf-field h4,.control-section .csf-sortable-content>.csf-field h4,.control-section .csf-tabbed-content>.csf-field h4{font-size:12px}.control-section .csf-depend-hidden.csf-depend-on{display:none!important}.control-section .csf-depend-visible.csf-depend-on{border-top:0!important}.csf-taxonomy{max-width:95%}.csf-taxonomy>.csf-field{border-top:none!important}.csf-taxonomy>.csf-field-heading{font-size:1.1em;padding:20px!important;border:1px solid #ddd}.csf-taxonomy>.csf-field-subheading{font-size:12px;padding:15px!important;border:1px solid #ddd}.csf-taxonomy>.csf-field-submessage .csf-submessage{padding:15px;border-left-width:1px;border-left-style:solid;border-right-width:1px;border-right-style:solid}.csf-taxonomy>.csf-field-notice{background-color:transparent}.csf-taxonomy .csf-section-title{display:block;padding:15px;background-color:#f9f9f9;border:1px solid #e5e5e5;-moz-box-shadow:0 1px 1px rgba(0,0,0,.04);-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04)}.csf-taxonomy-add-fields>.csf-field{padding:8px 0}.csf-taxonomy-add-fields>.csf-field>.csf-title{float:none;width:100%;padding:2px 2px 4px 0}.csf-taxonomy-add-fields>.csf-field>.csf-title h4{font-size:12px;font-weight:400}.csf-taxonomy-add-fields>.csf-field>.csf-fieldset{float:none;width:100%}.csf-taxonomy-add-fields>.csf-field>.csf-fieldset>.csf-help{right:-5px}.csf-taxonomy-add-fields+p.submit{margin-top:0}.csf-taxonomy-edit-fields>.csf-field{padding:20px 0}.csf-taxonomy-edit-fields>.csf-field>.csf-title{width:200px}.csf-taxonomy-edit-fields>.csf-field>.csf-title h4{font-size:14px;font-weight:600;line-height:1.3;display:inline-block;vertical-align:middle}.csf-taxonomy-edit-fields>.csf-field>.csf-fieldset{width:calc(100% - 220px)}.csf-taxonomy-edit-fields>.csf-field>.csf-fieldset>.csf-help{top:-5px;right:-5px}.csf-taxonomy-edit-fields>.csf-field-submessage{margin:20px 0}.csf-taxonomy-edit-fields>.csf-field-heading,.csf-taxonomy-edit-fields>.csf-field-subheading{margin:20px 0;border:1px solid #ddd}.csf-nav-menu-options{clear:both;float:left;width:100%}.csf-nav-menu-options>.csf-fields{margin-left:-10px;margin-top:10px;margin-bottom:10px;border-top:1px solid #eee;border-bottom:1px solid #eee}.csf-nav-menu-options>.csf-fields>.csf-field{padding:12px 14px 12px 12px}.csf-nav-menu-options>.csf-fields>.csf-field .csf-title{float:none;width:100%;margin-bottom:5px}.csf-nav-menu-options>.csf-fields>.csf-field .csf-fieldset{float:none;width:100%}.csf-nav-menu-options .csf-field-text input{width:100%}.csf-nav-menu-options .csf-field-notice .csf-notice{padding:15px}.csf-nav-menu-title{padding:12px 14px 12px 12px;background-color:#f5f5f5;border-top:1px solid #eee;border-bottom:1px solid #eee}.csf-nav-menu-title:first-child{border-top:0}.csf-nav-menu-title h4{margin:0;padding:0;color:#23282d}.csf-nav-menu-icon{margin-right:5px}.csf-profile-options>h2>.fa{padding-right:7px}.csf-profile-options>.csf-field{max-width:750px;padding:15px 0;border-top:none!important}.csf-profile-options>.csf-field>.csf-title{width:200px}.csf-profile-options>.csf-field>.csf-title h4{font-size:14px;font-weight:600;line-height:1.3;display:inline-block;vertical-align:middle}.csf-profile-options>.csf-field>.csf-fieldset{width:calc(100% - 220px)}.csf-profile-options>.csf-field>.csf-fieldset>.csf-help{top:-15px;right:-5px}.csf-profile-options>.csf-field-heading{font-size:1.1em}.csf-profile-options>.csf-field-subheading{font-size:12px}.csf-profile-options>.csf-field-heading,.csf-profile-options>.csf-field-subheading{margin:10px 0;padding:15px!important;border:1px solid #ddd}.csf-profile-options>.csf-field-submessage{margin:20px 0}.csf-profile-options>.csf-field-submessage .csf-submessage{padding:10px;border-left-width:1px;border-left-style:solid;border-right-width:1px;border-right-style:solid}.csf-profile-options>.csf-field-notice{background-color:transparent}.csf-modal{position:fixed;z-index:100101;top:0;left:0;width:100%;height:100%}.csf-modal.hidden{display:none}.csf-modal-icon{z-index:100102}.csf-modal-table{display:table;width:100%;height:100%}.csf-modal-table-cell{display:table-cell;vertical-align:middle;margin:100px 0}.csf-modal-inner{position:relative;z-index:10;width:760px;height:750px;margin:0 auto;background-color:#fff}.csf-modal-content{position:relative;overflow:hidden;overflow-y:auto;height:595px}.csf-modal-content .csf-shortcode-button{display:none}.csf-modal-content .csf-field{padding:15px 30px 15px 15px}.csf-modal-content a:active,.csf-modal-content a:focus{outline:0;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.csf-modal-content h4{font-size:13px}.csf-modal-content h4 small{font-style:italic;font-weight:400;color:#aaa}.csf-modal-title{position:relative;background-color:#fcfcfc;border-bottom:1px solid #ddd;height:36px;font-size:16px;font-weight:600;line-height:36px;margin:0;padding:0 36px 0 16px}.csf-modal-header{width:100%;padding:14px 0;background-color:#f5f5f5;border-bottom:1px solid #eee}.csf-modal-header select{display:block;width:250px;margin:0 auto;font-size:13px;line-height:1;height:30px;min-height:30px;background-color:#fff}.csf-modal-close{color:#666;padding:0;position:absolute;top:0;right:0;width:36px;height:36px;text-align:center;background:0 0;border:none;cursor:pointer}.csf-modal-close:before{font:normal 20px/36px dashicons;content:"\f158";vertical-align:top;width:36px;height:36px}.csf-modal-close:hover{opacity:.5}.csf-modal-insert-wrapper{text-align:center;width:100%;padding:15px 0;background-color:#f5f5f5;border-top:1px solid #eee}.csf-modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#000;opacity:.5}.csf--repeatable{padding:15px 15px 0 15px}.csf--repeat-button-block{text-align:center;padding-bottom:15px}.csf--repeat-shortcode{position:relative;margin-bottom:15px;border:1px dashed #ddd}.csf--repeat-shortcode:first-child .csf-repeat-remove{display:none}.csf--repeat-shortcode .csf-repeat-remove{position:absolute;right:10px;top:10px;z-index:10;cursor:pointer;display:inline-block;font-size:11px;width:18px;height:18px;line-height:18px;text-align:center;border-radius:2px;color:#fff;background-color:#e14d43;opacity:.5}.csf--repeat-shortcode .csf-repeat-remove:hover{opacity:1}.csf-shortcode-single .csf-modal-inner{height:750px}.csf-shortcode-single .csf-modal-content{height:652px}.elementor-editor-active .csf-shortcode-button{margin-left:5px}.elementor-editor-active .csf-modal .hidden{display:none!important}.csf-shortcode-block{text-align:center;padding:14px;font-size:13px;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}.csf-shortcode-block .components-button{margin-bottom:10px}.csf-modal-icon .csf-icon-title{padding:15px 0;margin:4px;font-size:14px;font-weight:700;text-align:center;border:1px solid #eee;background-color:#f7f7f7}.csf-modal-icon .csf-modal-header{text-align:center}.csf-modal-icon .csf-icon-search{width:50%;height:40px;line-height:40px}.csf-modal-icon i{cursor:pointer;display:inline-block;margin:4px;width:35px;height:35px;line-height:35px;font-size:16px;color:#555;text-align:center;border:1px solid #ccc;background-color:#f7f7f7;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-moz-box-shadow:1px 1px 0 rgba(0,0,0,.05);-webkit-box-shadow:1px 1px 0 rgba(0,0,0,.05);box-shadow:1px 1px 0 rgba(0,0,0,.05)}.csf-modal-icon i:hover{color:#fff;border-color:#222;background-color:#222}.csf-modal-icon .csf-modal-content{padding:10px;height:618px}.csf-modal-icon .csf-error-text{padding:10px}.csf-modal-loading{display:none;position:absolute;left:15px;top:15px}.csf-loading{position:relative;width:20px;height:20px;background:#ccc;-moz-border-radius:20px;-webkit-border-radius:20px;border-radius:20px;-moz-box-shadow:0 2px 5px rgba(0,0,0,.07);-webkit-box-shadow:0 2px 5px rgba(0,0,0,.07);box-shadow:0 2px 5px rgba(0,0,0,.07)}.csf-loading:after{position:absolute;top:50%;left:50%;width:4px;height:4px;content:"";margin-top:-2px;margin-left:-2px;background-color:#fff;-moz-animation-duration:.5s;-webkit-animation-duration:.5s;animation-duration:.5s;-moz-animation-iteration-count:infinite;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-moz-animation-timing-function:linear;-webkit-animation-timing-function:linear;animation-timing-function:linear;-moz-animation-name:csfLoader;-webkit-animation-name:csfLoader;animation-name:csfLoader;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px}@-moz-keyframes csfLoader{0%{-moz-transform:rotate(0) translateX(-6px) rotate(0);transform:rotate(0) translateX(-6px) rotate(0)}100%{-moz-transform:rotate(360deg) translateX(-6px) rotate(-360deg);transform:rotate(360deg) translateX(-6px) rotate(-360deg)}}@-webkit-keyframes csfLoader{0%{-webkit-transform:rotate(0) translateX(-6px) rotate(0);transform:rotate(0) translateX(-6px) rotate(0)}100%{-webkit-transform:rotate(360deg) translateX(-6px) rotate(-360deg);transform:rotate(360deg) translateX(-6px) rotate(-360deg)}}@keyframes csfLoader{0%{-moz-transform:rotate(0) translateX(-6px) rotate(0);-ms-transform:rotate(0) translateX(-6px) rotate(0);-webkit-transform:rotate(0) translateX(-6px) rotate(0);transform:rotate(0) translateX(-6px) rotate(0)}100%{-moz-transform:rotate(360deg) translateX(-6px) rotate(-360deg);-ms-transform:rotate(360deg) translateX(-6px) rotate(-360deg);-webkit-transform:rotate(360deg) translateX(-6px) rotate(-360deg);transform:rotate(360deg) translateX(-6px) rotate(-360deg)}}.csf-subtitle-text{margin-top:6px;font-weight:400;color:#999}.csf-desc-text{clear:both;float:left;width:100%;margin-top:6px;font-weight:400;color:#999}.csf-error-text{margin-top:6px;color:#d02c21}.csf-before-text{margin-bottom:6px}.csf-after-text{margin-top:6px}.csf-metabox-hide{display:none!important}.csf-metabox-show{display:block!important}.csf-depend-hidden.csf-depend-on{display:none}.csf-depend-visible.csf-depend-on{display:block;opacity:.75;filter:grayscale(1);user-select:none;border-top:1px solid #eee}.csf-depend-visible.csf-depend-on .clear:before{content:"";left:0;top:0;right:0;bottom:0;position:absolute;background-color:#eee;opacity:.25;z-index:10}.csf-warning-primary{color:#fff!important;border-color:#dc3545!important;background:#dc3545!important}.csf-warning-primary:focus,.csf-warning-primary:hover{border-color:#bd2130!important;background:#bd2130!important}.csf-warning-primary:focus{box-shadow:0 0 0 1px #fff,0 0 0 3px #bd2130!important}.csf-warning-primary:active{border-color:#bd2130!important;background:#bd2130!important}.csf-form-result{display:none;float:left;padding:0 8px;margin-right:4px;font-size:11px;line-height:30px;user-select:none;border-radius:2px}.csf-form-show{display:block}.csf-form-success{color:#fff;background-color:#46b450}.csf-form-warning{color:#8a6d3b;background-color:#faebcc}.csf-label-error{position:relative;top:-2px;display:inline-block;font-size:10px;line-height:10px;height:10px;width:10px;padding:1px;font-style:normal;text-align:center;color:#fff;vertical-align:middle;background-color:#e10000;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px}.csf-no-option{padding:30px}.csf-input-number{-moz-appearance:textfield}.csf-input-number::-webkit-inner-spin-button,.csf-input-number::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.csf-welcome-wrap{position:relative;margin:25px 40px 0 20px;font-size:15px;max-width:1200px}.csf-welcome-wrap p{font-size:14px;line-height:1.5}.csf-welcome-wrap h1{margin:.2em 200px 0 0;padding:0;color:#32373c;line-height:1.2em;font-size:2.8em;font-weight:400}.csf-welcome-wrap .csf-logo{position:absolute;overflow:hidden;top:0;right:0;height:160px;width:140px;background-image:linear-gradient(45deg,#2d67cb,#ad19f3);box-shadow:0 1px 4px rgba(0,0,0,.25),inset 0 0 0 4px rgba(0,0,0,.25)}.csf-welcome-wrap .csf-logo .csf--effects i{position:absolute;width:200px;height:100px;background-color:rgba(0,0,0,.15);transform:rotate(-45deg)}.csf-welcome-wrap .csf-logo .csf--effects i:nth-child(1){bottom:-20px;right:-70px}.csf-welcome-wrap .csf-logo .csf--effects i:nth-child(2){bottom:-35px;right:-80px}.csf-welcome-wrap .csf-logo .csf--effects i:nth-child(3){bottom:-50px;right:-90px}.csf-welcome-wrap .csf-logo .csf--effects i:nth-child(4){bottom:-65px;right:-100px}.csf-welcome-wrap .csf-logo .csf--wp-logos{position:relative;padding-top:25px;text-align:center}.csf-welcome-wrap .csf-logo .csf--wp-logo{position:absolute;left:20px;width:20px;height:20px;background-repeat:no-repeat;background-position:center center;background-image:url(../images/wp-logo.svg)}.csf-welcome-wrap .csf-logo .csf--wp-plugin-logo{display:inline-block;width:50px;height:50px;border:3px solid #fff;background-size:40px;background-repeat:no-repeat;background-position:center center;background-image:url(../images/wp-plugin-logo.svg);border-radius:100%;vertical-align:middle}.csf-welcome-wrap .csf-logo .csf--text{position:absolute;left:0;right:0;top:90px;color:#fff;font-size:13px;line-height:1.2em;font-weight:600;text-align:center;text-transform:uppercase;text-shadow:1px 1px 0 rgba(0,0,0,.25)}.csf-welcome-wrap .csf-logo .csf--version{top:auto;left:auto;right:8px;bottom:4px;font-size:11px;text-transform:lowercase}.csf-welcome-wrap .csf-about-text{font-weight:400;line-height:1.6em;font-size:19px;margin:1em 200px 1em 0;color:#555d66}.csf-welcome-wrap .csf-demo-button{margin:1em 200px 2em 0}.csf-welcome-wrap .nav-tab-wrapper{margin-bottom:20px}.csf-welcome-wrap ul{list-style-type:disc;padding-left:15px}.csf-welcome-wrap .csf--col{float:left;padding-right:20px;box-sizing:border-box}.csf-welcome-wrap .csf--col-2{width:50%}.csf-welcome-wrap .csf--col-3{width:33.333%}.csf-welcome-wrap .csf--col-4{width:25%}.csf-welcome-wrap .csf--col-5{width:20%}.csf-welcome-wrap .csf--col-last{padding-right:0}.csf-welcome-wrap .csf--col-upgrade{padding:10px 0;text-align:center;border-top:1px solid #e5e5e5}.csf--table-compare tfoot td,.csf--table-compare thead td{text-align:center}.csf--table-compare td{font-size:14px;text-align:center;vertical-align:middle;padding:10px}.csf--table-compare td:first-child{text-align:left}.csf--table-compare tfoot td{padding:15px 0}.csf--table-compare .fa{font-size:18px}.csf--table-compare .fa-check-circle{color:#46b450}.csf--table-compare .fa-times-circle{color:#dc3232}.csf-welcome-cols{clear:both;margin:20px 0;background-color:#fff;padding:0 0;border-radius:2px;border:1px solid #e5e5e5}.csf-welcome-cols .csf--col{width:33.333%;float:left;padding:20px;text-align:center;box-sizing:border-box;min-height:200px;border-right:1px solid #e5e5e5}.csf-welcome-cols .csf--block,.csf-welcome-cols .csf--left{float:left;width:20%;padding:0 30px;text-align:center;box-sizing:border-box}.csf-welcome-cols .csf--block{width:80%}.csf-welcome-cols .csf--col-first{border-bottom:1px solid #e5e5e5}.csf-welcome-cols .csf--last{border-right:none}.csf-welcome-cols .csf--space{height:20px}.csf-welcome-cols .csf--icon{display:inline-block;font-size:20px;width:30px;height:30px;line-height:30px;text-align:center;margin-bottom:10px;color:#fff;background-color:#555;border-radius:30px}.csf-welcome-cols .csf--active{background-color:#5cb85c}.csf-welcome-cols .csf--deactive{background-color:#e14d43}.csf-welcome-cols .csf--title{font-weight:700;display:block}.csf-welcome-cols p:last-child{margin-bottom:0}.csf-features-cols .csf--key-features{width:30%}.csf-features-cols .csf--available-fields{width:70%}.csf-code-block{margin:20px 0;padding:5px 20px;background-color:#fff;border-radius:2px;box-shadow:0 1px 1px rgba(0,0,0,.15)}.csf-code-block pre{font-size:13px;color:#0073aa}.csf-code-block pre span{color:#999}.csf--table-fields td{font-size:14px}.csf--upgrade a{color:#5cb85c;font-weight:700}.csf--upgrade a:focus,.csf--upgrade a:hover{color:#4aa14a;outline:0;box-shadow:none}@media only screen and (max-width:782px){.csf-welcome-cols .csf--col{width:100%;min-height:auto;border-right:none;border-bottom:1px solid #e5e5e5}.csf-features-cols .csf--key-features{width:100%}.csf-features-cols .csf--available-fields{width:100%}}@media only screen and (max-width:1200px){.csf-metabox .csf-field .csf-title{float:none;width:100%;margin-bottom:10px}.csf-metabox .csf-field .csf-fieldset{float:none;width:100%}}@media only screen and (max-width:782px){.csf-header-inner{text-align:center}.csf-header-inner h1{width:100%;margin-bottom:10px}.csf-form-result{float:none;margin-right:0;margin-bottom:10px}.csf-header-left,.csf-header-right,.csf-search{width:100%}.csf-search{text-align:center;margin-bottom:15px}.csf-footer{text-align:center}.csf-buttons{float:none}.csf-copyright{float:none;margin-top:10px}.csf-expand-all,.csf-nav,.csf-nav-background,.csf-reset-section{display:none!important}.csf-content{margin-left:0}.csf-section,.csf-section-title{display:block!important}.csf-field .csf-title{float:none;width:100%;margin-bottom:10px}.csf-field .csf-fieldset{float:none;width:100%}.csf-field-color .button.wp-picker-clear{padding:0 8px;line-height:2.14285714;min-height:32px}.csf-modal-inner{width:350px;height:400px}.csf-modal-content{height:237px}.csf-icon-dialog .csf-modal-inner{width:305px;height:380px}.csf-icon-dialog .csf-modal-content{height:267px}.csf-modal-icon .csf-modal-inner{width:330px;height:385px}.csf-modal-icon .csf-modal-content{height:252px}.csf-profile-options>.csf-field>.csf-title,.csf-taxonomy-edit-fields>.csf-field>.csf-title{float:none;width:100%;margin-bottom:10px}.csf-profile-options>.csf-field>.csf-fieldset,.csf-taxonomy-edit-fields>.csf-field>.csf-fieldset{float:none;width:100%}.csf-nav-menu-options>.csf-fields{margin-left:-10px;margin-right:-10px}.csf-nav-menu-options>.csf-fields>.csf-field{padding:10px}}.chosen-container{position:relative;display:inline-block;vertical-align:middle;font-size:13px;user-select:none}.chosen-container *{box-sizing:border-box}.chosen-container .chosen-drop{position:absolute;top:100%;z-index:1010;width:100%;border:1px solid #aaa;border-top:0;background:#fff;box-shadow:0 4px 5px rgba(0,0,0,.15);clip:rect(0,0,0,0);clip-path:inset(100% 100%)}.chosen-container.chosen-with-drop .chosen-drop{clip:auto;clip-path:none}.chosen-container a{cursor:pointer}.chosen-container .chosen-single .group-name,.chosen-container .search-choice .group-name{margin-right:4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:400;color:#999}.chosen-container .chosen-single .group-name:after,.chosen-container .search-choice .group-name:after{content:":";padding-left:2px;vertical-align:top}.chosen-container-single .chosen-single{position:relative;display:block;overflow:hidden;padding:0 0 0 8px;height:25px;border:1px solid #aaa;border-radius:5px;background-color:#fff;background:linear-gradient(#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background-clip:padding-box;box-shadow:0 0 3px #fff inset,0 1px 1px rgba(0,0,0,.1);color:#444;text-decoration:none;white-space:nowrap;line-height:24px}.chosen-container-single .chosen-default{color:#999}.chosen-container-single .chosen-single span{display:block;overflow:hidden;margin-right:26px;text-overflow:ellipsis;white-space:nowrap}.chosen-container-single .chosen-single-with-deselect span{margin-right:38px}.chosen-container-single .chosen-single abbr{position:absolute;top:6px;right:26px;display:block;width:12px;height:12px;font-size:1px}.chosen-container-single .chosen-single div{position:absolute;top:0;right:0;display:block;width:18px;height:100%}.chosen-container-single .chosen-single div b{display:block;width:100%;height:100%}.chosen-container-single .chosen-search{position:relative;z-index:1010;margin:0;padding:3px 4px;white-space:nowrap}.chosen-container-single .chosen-search input[type=text]{margin:1px 0;padding:4px 20px 4px 5px;width:100%;height:auto;outline:0;border:1px solid #aaa;font-size:1em;font-family:sans-serif;line-height:normal;border-radius:0}.chosen-container-single .chosen-drop{margin-top:-1px;border-radius:0 0 4px 4px;background-clip:padding-box}.chosen-container-single.chosen-container-single-nosearch .chosen-search{position:absolute;clip:rect(0,0,0,0);clip-path:inset(100% 100%)}.chosen-container .chosen-results{color:#444;position:relative;overflow-x:hidden;overflow-y:auto;margin:0 4px 4px 0;padding:0 0 0 4px;max-height:240px;-webkit-overflow-scrolling:touch}.chosen-container .chosen-results li{display:none;margin:0;padding:5px 6px;list-style:none;line-height:15px;word-wrap:break-word;-webkit-touch-callout:none}.chosen-container .chosen-results li.active-result{display:list-item;cursor:pointer}.chosen-container .chosen-results li.disabled-result{display:list-item;color:#ccc;cursor:default}.chosen-container .chosen-results li.highlighted{background-color:#3875d7;background-image:linear-gradient(#3875d7 20%,#2a62bc 90%);color:#fff}.chosen-container .chosen-results li.no-results{color:#777;display:list-item;background:#f4f4f4}.chosen-container .chosen-results li.group-result{display:list-item;font-weight:700;cursor:default}.chosen-container .chosen-results li.group-option{padding-left:15px}.chosen-container .chosen-results li em{font-style:normal;text-decoration:underline}.chosen-container-multi .chosen-choices{position:relative;overflow:hidden;margin:0;padding:0 5px;width:100%;height:auto;border:1px solid #aaa;background-color:#fff;background-image:linear-gradient(#eee 1%,#fff 15%);cursor:text}.chosen-container-multi .chosen-choices li{float:left;list-style:none}.chosen-container-multi .chosen-choices li.search-field{margin:0;padding:0;white-space:nowrap}.chosen-container-multi .chosen-choices li.search-field input[type=text]{margin:1px 0;padding:0;outline:0;border:0!important;background:0 0!important;box-shadow:none;color:#999;font-size:100%;font-family:sans-serif;line-height:normal;border-radius:0;width:25px;height:25px;min-height:25px}.chosen-container-multi .chosen-choices li.search-choice{position:relative;margin:3px 5px 3px 0;padding:3px 20px 3px 6px;border:1px solid #aaa;max-width:100%;border-radius:3px;background-color:#eee;background-image:linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-size:100% 19px;background-repeat:repeat-x;background-clip:padding-box;box-shadow:0 0 2px #fff inset,0 1px 0 rgba(0,0,0,.05);color:#333;line-height:13px;cursor:default}.chosen-container-multi .chosen-choices li.search-choice span{word-wrap:break-word;white-space:nowrap}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close{position:absolute;top:0;right:0;display:block;width:12px;height:12px;font-size:1px}.chosen-container-multi .chosen-choices li.search-choice-disabled{padding-right:5px;border:1px solid #ccc;background-color:#e4e4e4;background-image:linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);color:#666}.chosen-container-multi .chosen-choices li.search-choice-focus{background:#d4d4d4}.chosen-container-multi .chosen-results{margin:0;padding:0}.chosen-container-multi .chosen-drop .result-selected{display:list-item;color:#ccc;cursor:default}.chosen-container-active .chosen-single{border:1px solid #5897fb;box-shadow:0 0 5px rgba(0,0,0,.3)}.chosen-container-active.chosen-with-drop .chosen-single{border:1px solid #aaa;border-bottom-right-radius:0;border-bottom-left-radius:0;background-image:linear-gradient(#eee 20%,#fff 80%);box-shadow:0 1px 0 #fff inset}.chosen-container-active.chosen-with-drop .chosen-single div{border-left:none;background:0 0}.chosen-container-active .chosen-choices{border:1px solid #5897fb;box-shadow:0 0 5px rgba(0,0,0,.3)}.chosen-container-active .chosen-choices li.search-field input[type=text]{color:#222!important}.chosen-disabled{opacity:.5!important;cursor:default}.chosen-disabled .chosen-single{cursor:default}.chosen-disabled .chosen-choices .search-choice .search-choice-close{cursor:default}.chosen-rtl{text-align:right}.chosen-rtl .chosen-single{overflow:visible;padding:0 8px 0 0}.chosen-rtl .chosen-single span{margin-right:0;margin-left:26px;direction:rtl}.chosen-rtl .chosen-single-with-deselect span{margin-left:38px}.chosen-rtl .chosen-single div{right:auto;left:3px}.chosen-rtl .chosen-single abbr{right:auto;left:26px}.chosen-rtl .chosen-choices li{float:right}.chosen-rtl .chosen-choices li.search-field input[type=text]{direction:rtl}.chosen-rtl .chosen-choices li.search-choice{margin:3px 5px 3px 0;padding:3px 5px 3px 19px}.chosen-rtl .chosen-choices li.search-choice .search-choice-close{right:auto;left:4px}.chosen-rtl.chosen-container-single .chosen-results{margin:0 0 4px 4px;padding:0 4px 0 0}.chosen-rtl .chosen-results li.group-option{padding-right:15px;padding-left:0}.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div{border-right:none}.chosen-rtl .chosen-search input[type=text]{padding:4px 5px 4px 20px;direction:rtl}
1
+ .ulf{position:relative}.ulf label{padding:0;margin:0;display:inline-block}.ulf-ab-icon{top:2px}#screen-meta-links+.ulf-options{margin-top:40px}.ulf-options{margin-top:20px;margin-right:20px}.ulf-header{position:relative}.ulf-header-inner{padding:25px;transition:box-shadow .3s ease}.ulf-header-inner h1{float:left;font-size:1.5em;line-height:26px;font-weight:400;margin:0}.ulf-header-inner h1 small{font-size:11px;font-weight:500}.ulf-sticky .ulf-header-inner{position:fixed;z-index:99;top:32px;-moz-box-shadow:0 5px 10px rgba(0,0,0,.1);-webkit-box-shadow:0 5px 10px rgba(0,0,0,.1);box-shadow:0 5px 10px rgba(0,0,0,.1)}.ulf-buttons{float:right;-moz-transition:opacity .2s;-o-transition:opacity .2s;-webkit-transition:opacity .2s;transition:opacity .2s}.ulf-buttons .button{margin:0 2px;line-height:26px}.ulf-buttons .button:focus{outline:0!important;box-shadow:none!important}.ulf-buttons .ulf-save{min-width:72px}.ulf-header-left{float:left}.ulf-header-right{float:right}.ulf-nav{display:block;position:relative;z-index:10;float:left;width:225px}.ulf-nav ul{clear:left;margin:0;list-style-type:none}.ulf-nav ul li{margin-bottom:0}.ulf-nav ul li a{font-size:13px;position:relative;display:block;padding:14px 12px;text-decoration:none;transition-property:color;transition-duration:.2s;transition-timing-function:ease}.ulf-nav ul li a:focus{outline:0;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.ulf-nav ul li .ulf-arrow:after{content:"\f054";display:inline-block;font-family:"Font Awesome 5 Pro","Font Awesome 5 Free",FontAwesome;font-weight:900;font-size:9px;line-height:1;position:absolute;right:10px;top:50%;margin-top:-4px;-moz-transform:rotate(0);-ms-transform:rotate(0);-webkit-transform:rotate(0);transform:rotate(0)}.ulf-nav ul li.ulf-tab-expanded .ulf-arrow:after{-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-webkit-transform:rotate(90deg);transform:rotate(90deg)}.ulf-nav ul li.ulf-tab-expanded ul{display:block}.ulf-nav ul ul{display:none;position:relative}.ulf-nav ul ul li a{font-size:12px;padding:12px 14px 12px 24px}.ulf-nav .ulf-tab-icon{width:20px;margin-right:5px;font-size:13px;text-align:center}.ulf-nav .ulf-label-error{margin-left:4px;vertical-align:top}.ulf-nav-background{position:absolute;top:0;left:0;bottom:0;z-index:9;width:225px}.ulf-wrapper{position:relative}.ulf-content{position:relative;margin-left:225px;background-color:#fff;-moz-transition:opacity .2s;-o-transition:opacity .2s;-webkit-transition:opacity .2s;transition:opacity .2s}.ulf-sections{float:left;width:100%}.ulf-section{display:none}.ulf-section-title{display:none;padding:20px 30px;background-color:#f5f5f5;border-top:1px solid #eee;border-bottom:1px solid #eee}.ulf-section-title h3{margin:0;padding:0;font-size:13px;font-weight:700;text-transform:uppercase}.ulf-section-title .ulf-section-icon{margin-right:5px}.ulf-footer{padding:20px;font-size:11px}.ulf-copyright{float:left;margin-top:5px}.ulf-search-all .ulf-nav,.ulf-search-all .ulf-nav-background,.ulf-show-all .ulf-nav,.ulf-show-all .ulf-nav-background{display:none}.ulf-search-all .ulf-content,.ulf-show-all .ulf-content{margin-left:0}.ulf-search-all .ulf-section,.ulf-search-all .ulf-section-title,.ulf-show-all .ulf-section,.ulf-show-all .ulf-section-title{display:block!important}.ulf-search-all .ulf-section-title{display:none!important}.ulf-expand-all{float:left;padding:0 8px;margin-right:4px;z-index:1;font-size:13px;line-height:30px;cursor:pointer;user-select:none;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-moz-transition:all .2s;-o-transition:all .2s;-webkit-transition:all .2s;transition:all .2s}.ulf-expand-all span{font-size:11px;vertical-align:middle}.ulf-search{float:left}.ulf-search input{margin:0 2px 0 0;border:none;font-size:12px;line-height:30px;min-height:30px;text-align:inherit;padding:0 10px;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.ulf-search input:focus{-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.ulf-saving .ulf-buttons,.ulf-saving .ulf-content{cursor:default;pointer-events:none;opacity:.5}.ulf-metabox{margin:-6px -12px -12px -12px}.ulf-metabox .ulf-field{padding:20px}.ulf-metabox .ulf-section-title{padding:20px}.block-editor-page .ulf-metabox{margin:-6px -14px -14px -14px}.block-editor-editor-skeleton__content .ulf-metabox{border-left:1px solid #e2e4e7;border-right:1px solid #e2e4e7}.ulf-sections-restore{float:left;width:100%;position:relative;z-index:1000000;text-align:right;border-top:1px solid #eee}.ulf-sections-restore .ulf-button-cancel,.ulf-sections-restore input{display:none}.ulf-sections-restore label{padding:10px}.ulf-sections-restore span{-webkit-user-select:none;user-select:none}.ulf-sections-restore input:checked~.ulf-button-restore{display:none}.ulf-sections-restore input:checked~.ulf-button-cancel{display:inline-block}#side-sortables .ulf-section-title{padding:12px}#side-sortables .ulf-field{padding:10px 15px}#side-sortables .ulf-field .ulf-title{float:none;width:100%;margin-bottom:6px}#side-sortables .ulf-field .ulf-fieldset{float:none;width:100%}#side-sortables .ulf-field-text input{width:100%}#side-sortables .ulf-notice{padding:10px 15px}.ulf-comment-metabox{margin:-6px -12px -12px -12px}.ulf-comment-metabox .ulf-field{padding:20px}.ulf-comment-metabox .ulf-section-title{padding:20px}.ulf-tooltip{position:absolute;z-index:5000001;font-size:12px;line-height:1.4;text-align:center;text-decoration:none;padding:6px 12px;max-width:200px;color:#fff;background-color:#000;background-color:rgba(0,0,0,.85);-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px}.ulf-theme-dark .ulf-header-inner{background-color:#050505}.ulf-theme-dark .ulf-header-inner h1{color:#fff}.ulf-theme-dark .ulf-header-inner h1 small{color:#555}.ulf-theme-dark .ulf-expand-all{color:#999;background-color:#222}.ulf-theme-dark .ulf-expand-all:hover{color:#fff;background-color:#333}.ulf-theme-dark .ulf-search input{color:#fff;background-color:#222}.ulf-theme-dark .ulf-search:focus{background-color:#444}.ulf-theme-dark .ulf-search::-webkit-input-placeholder{color:#666}.ulf-theme-dark .ulf-nav ul li a{color:#999;background-color:#222;border-bottom:1px solid #2f2f2f}.ulf-theme-dark .ulf-nav ul li a:hover{color:#fff}.ulf-theme-dark .ulf-nav ul li .ulf-active{color:#fff;background-color:#111}.ulf-theme-dark .ulf-nav ul li .ulf-active:after{content:" ";position:absolute;right:0;top:50%;height:0;width:0;pointer-events:none;border:solid transparent;border-right-color:#fff;border-width:4px;margin-top:-4px}.ulf-theme-dark .ulf-nav ul ul li a{background-color:#191919;border-bottom:1px solid #2f2f2f}.ulf-theme-dark .ulf-nav ul ul li .ulf-active{background-color:#101010}.ulf-theme-dark .ulf-nav ul ul:before{background-color:rgba(34,34,34,.75)}.ulf-theme-dark .ulf-nav>ul>li:last-child>a{border-bottom:none}.ulf-theme-dark .ulf-nav-background{background-color:#222}.ulf-theme-dark .ulf-footer{color:#555;background-color:#050505}.ulf-theme-light .ulf-container{border:1px solid #ccd0d4;-moz-box-shadow:0 0 15px rgba(0,0,0,.04);-webkit-box-shadow:0 0 15px rgba(0,0,0,.04);box-shadow:0 0 15px rgba(0,0,0,.04)}.ulf-theme-light .ulf-header-inner{border-bottom:1px solid #ccd0d4;background-color:#f5f5f5;background:linear-gradient(#fefefe,#f5f5f5)}.ulf-theme-light .ulf-header-inner h1 small{color:#999}.ulf-theme-light .ulf-expand-all{color:#999;background-color:#eee}.ulf-theme-light .ulf-expand-all:hover{color:#555}.ulf-theme-light .ulf-search input{color:#555;background-color:#eee}.ulf-theme-light .ulf-search input::-webkit-input-placeholder{color:#999}.ulf-theme-light .ulf-nav ul li a{color:#666;background-color:#f5f5f5;border-bottom:1px solid #ccd0d4}.ulf-theme-light .ulf-nav ul li a:hover{color:#222}.ulf-theme-light .ulf-nav ul li .ulf-active{color:#222;background-color:#fff}.ulf-theme-light .ulf-nav ul li .ulf-active:after{content:"";position:absolute;top:0;bottom:0;right:-1px;width:1px;background-color:#fff}.ulf-theme-light .ulf-nav ul ul li a{background-color:#eee;border-bottom:1px solid #ccd0d4}.ulf-theme-light .ulf-nav>ul>li:last-child>a{border-bottom:none}.ulf-theme-light .ulf-nav-background{background-color:#f5f5f5;border-right:1px solid #ccd0d4}.ulf-theme-light .ulf-footer{color:#555;border-top:1px solid #ccd0d4;background-color:#f5f5f5;background:linear-gradient(#fafafa,#f5f5f5)}.ulf-field{position:relative;padding:30px}.ulf-field+.ulf-field{border-top:1px solid #eee}.ulf-field p:first-child{margin-top:0}.ulf-field p:last-child{margin-bottom:0}.ulf-field:after,.ulf-field:before{content:" ";display:table}.ulf-field:after{clear:both}.ulf-field h4{margin-top:0}.ulf-field .ulf-title{position:relative;width:20%;float:left}.ulf-field .ulf-title h4{margin:0;color:#23282d}.ulf-field .ulf-fieldset{float:right;width:calc(80% - 20px)}.ulf-pseudo-field{padding:0 5px 0 0!important;display:inline-block}.ulf-pseudo-field+.ulf-pseudo-field{border:0}.ulf-pseudo-field pre{display:none}.ulf-field-accordion .ulf-accordion-item{position:relative;margin-bottom:5px}.ulf-field-accordion .ulf-accordion-item:last-child{margin-bottom:0}.ulf-field-accordion .ulf-accordion-item h4{font-size:1em}.ulf-field-accordion .ulf-accordion-title{display:block;cursor:pointer;position:relative;margin:0;padding:15px;min-height:0;font-size:100%;user-select:none;border:1px solid #ccd0d4;background-color:#fafafa;box-shadow:0 1px 1px rgba(0,0,0,.04);transition:border-color .15s}.ulf-field-accordion .ulf-accordion-title:active,.ulf-field-accordion .ulf-accordion-title:focus,.ulf-field-accordion .ulf-accordion-title:hover{outline:0;border-color:#999}.ulf-field-accordion .ulf-accordion-title .ulf--icon{width:20px;text-align:center;margin-right:2px}.ulf-field-accordion .ulf-accordion-icon{width:16px;text-align:center}.ulf-field-accordion .ulf-accordion-content{display:none;padding:0;border:1px solid #ccd0d4;border-top:none;background-color:#fff;box-shadow:0 1px 1px rgba(0,0,0,.04)}.ulf-field-accordion .ulf-accordion-content>.ulf-field{padding:15px}.ulf-field-accordion .ulf-accordion-open{display:block}.ulf-field-background .ulf-field{border:0!important;padding:0;margin-bottom:6px;margin-right:6px}.ulf-field-background .ulf--title{color:#777;font-size:12px}.ulf-field-background .ulf--background-colors{display:flex;flex-wrap:wrap}.ulf-field-background .ulf--background-attributes{display:flex;flex-wrap:wrap}.ulf-field-background .ulf--background-attributes select{min-width:100%;margin:0}.ulf-field-background .ulf--background-attributes .ulf-field{flex:1}.ulf-field-background .ulf--attributes-hidden{display:none}.ulf-field-backup textarea{width:100%;min-height:200px;margin-bottom:5px}.ulf-field-backup small{display:inline-block;margin:5px}.ulf-field-backup hr{margin:20px 0;border:none;border-bottom:1px solid #e5e5e5}.ulf-field-border .ulf--inputs,.ulf-field-dimensions .ulf--inputs,.ulf-field-spacing .ulf--inputs{float:left;display:flex;flex-wrap:wrap}.ulf-field-border .ulf--input,.ulf-field-dimensions .ulf--input,.ulf-field-spacing .ulf--input{display:flex;padding-right:6px;padding-bottom:4px;box-sizing:border-box}.ulf-field-border .ulf--input select,.ulf-field-dimensions .ulf--input select,.ulf-field-spacing .ulf--input select{margin:0}.ulf-field-border .ulf--input input,.ulf-field-dimensions .ulf--input input,.ulf-field-spacing .ulf--input input{position:relative;z-index:1;margin:0;width:65px;max-width:100%;text-align:center}.ulf-field-border .ulf--color,.ulf-field-dimensions .ulf--color,.ulf-field-spacing .ulf--color{float:left}.ulf-field-border .ulf--label,.ulf-field-dimensions .ulf--label,.ulf-field-spacing .ulf--label{display:flex;flex-direction:column;justify-content:center;user-select:none;min-width:20px;max-width:100%;padding:0 4px;font-size:12px;text-align:center;color:#555;border:1px solid #7b776c;background-color:#f5f5f5}.ulf-field-border .ulf--icon,.ulf-field-dimensions .ulf--icon,.ulf-field-spacing .ulf--icon{border-right:0;border-radius:4px 0 0 4px}.ulf-field-border .ulf--icon+input,.ulf-field-dimensions .ulf--icon+input,.ulf-field-spacing .ulf--icon+input{border-top-left-radius:0;border-bottom-left-radius:0}.ulf-field-border .ulf--unit,.ulf-field-dimensions .ulf--unit,.ulf-field-spacing .ulf--unit{border-left:0;border-radius:0 4px 4px 0}.ulf-field-border .ulf--is-unit,.ulf-field-dimensions .ulf--is-unit,.ulf-field-spacing .ulf--is-unit{border-top-right-radius:0;border-bottom-right-radius:0}.ulf-field-button_set .ulf--buttons{display:inline-block}.ulf-field-button_set .ulf--button{position:relative;z-index:1;float:left;cursor:pointer;padding:7px 14px;min-width:40px;text-align:center;color:#555;border:1px solid #ccc;background-color:#f7f7f7;user-select:none;-webkit-user-select:none;box-shadow:0 1px 0 rgba(0,0,0,.1)}.ulf-field-button_set .ulf--button:first-child{border-radius:4px 0 0 4px}.ulf-field-button_set .ulf--button:last-child{border-radius:0 4px 4px 0}.ulf-field-button_set .ulf--button:not(:first-child){margin-left:-1px}.ulf-field-button_set .ulf--button:hover{background-color:#eee}.ulf-field-button_set .ulf--active,.ulf-field-button_set .ulf--active:hover{z-index:2;color:#fff;border-color:#006799;background-color:#0085ba}.ulf-field-button_set input{display:none}.ulf-field-checkbox ul,.ulf-field-radio ul{margin:0;padding:0;list-style-type:none;overflow-y:auto;max-height:305px}.ulf-field-checkbox ul li,.ulf-field-radio ul li{margin-bottom:6px}.ulf-field-checkbox ul ul,.ulf-field-radio ul ul{max-height:none}.ulf-field-checkbox ul ul li,.ulf-field-radio ul ul li{margin-left:8px}.ulf-field-checkbox ul ul li:first-child,.ulf-field-radio ul ul li:first-child{margin-left:0}.ulf-field-checkbox input,.ulf-field-radio input{margin:0 1px}.ulf-field-checkbox .ulf--inline-list li,.ulf-field-radio .ulf--inline-list li{display:inline-block;margin-right:15px}.ulf-field-checkbox .ulf--text,.ulf-field-radio .ulf--text{margin-left:5px;vertical-align:middle}.ulf-field-checkbox .ulf-checker,.ulf-field-radio .ulf-checker{cursor:pointer}.ulf-field-code_editor .CodeMirror{width:100%;height:400px}.ulf-field-code_editor .cm-s-default{border:1px solid #ccd0d4}.ulf-field-code_editor textarea{width:100%;height:400px}.ulf-field-color>input{opacity:.75;width:115px;max-width:100%}.ulf-field-color .button.wp-picker-clear{padding:0 8px;margin-left:6px;line-height:2.54545455;min-height:30px}.ulf-field-color_group .ulf--left{float:left;margin-right:10px;margin-bottom:5px}.ulf-field-color_group .ulf--title{color:#999;margin-bottom:5px}.ulf-field-fieldset .ulf-fieldset-content{border:1px solid #ccd0d4;background-color:#fff;box-shadow:0 1px 1px rgba(0,0,0,.04)}.ulf-field-fieldset .ulf-fieldset-content>.ulf-field{padding:15px}.ulf-field-fieldset .ulf-field-subheading{font-size:13px}.ulf-field-date input{margin:0}.ulf-field-date .ulf--to{margin-left:7px}.ulf-datepicker-wrapper{margin-top:5px;width:auto;background-color:#fff;z-index:9999999!important;-moz-box-shadow:0 0 30px rgba(0,0,0,.15);-webkit-box-shadow:0 0 30px rgba(0,0,0,.15);box-shadow:0 0 30px rgba(0,0,0,.15)}.ulf-datepicker-wrapper *{float:none;margin:0;padding:0;font-family:inherit;font-weight:400;font-style:normal;text-decoration:none;border:0;border-radius:0;box-shadow:none}.ulf-datepicker-wrapper .ui-datepicker-header,.ulf-datepicker-wrapper .ui-widget-header{color:#fff;background:#00a0d2}.ulf-datepicker-wrapper .ui-datepicker-header .ui-state-hover{cursor:pointer}.ulf-datepicker-wrapper .ui-datepicker-title{font-size:14px;line-height:40px;text-align:center}.ulf-datepicker-wrapper .ui-datepicker-next,.ulf-datepicker-wrapper .ui-datepicker-prev{position:static;top:auto;left:auto;right:auto;font-family:"Font Awesome 5 Pro","Font Awesome 5 Free",FontAwesome;font-weight:900;font-size:12px;text-align:center;width:41px;height:40px;line-height:40px;color:#fff;background-color:rgba(255,255,255,.1);text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ulf-datepicker-wrapper .ui-datepicker-next span,.ulf-datepicker-wrapper .ui-datepicker-prev span{display:none}.ulf-datepicker-wrapper .ui-datepicker-prev{float:left}.ulf-datepicker-wrapper .ui-datepicker-next{float:right}.ulf-datepicker-wrapper .ui-datepicker-prev:before{content:'\f053'}.ulf-datepicker-wrapper .ui-datepicker-next:before{content:'\f054'}.ulf-datepicker-wrapper .ui-datepicker-next-hover,.ulf-datepicker-wrapper .ui-datepicker-prev-hover{opacity:.75}.ulf-datepicker-wrapper tbody .ui-datepicker-week-col{background-color:#f7f7f7}.ulf-datepicker-wrapper .ui-datepicker-buttonpane{padding:10px;text-align:center;background-color:#f7f7f7}.ulf-datepicker-wrapper .ui-datepicker-buttonpane button{cursor:pointer;margin:0 5px;padding:7px 14px;border:1px solid #eee;background-color:#fff}.ulf-datepicker-wrapper select{margin:0 4px}.ulf-datepicker-wrapper select option{color:#555}.ulf-datepicker-wrapper table{font-size:13px;border-collapse:collapse;width:100%}.ulf-datepicker-wrapper thead{color:#fff;background:#32373c}.ulf-datepicker-wrapper th{text-align:center;padding:7px;border:1px solid #444}.ulf-datepicker-wrapper td{text-align:center;border:1px solid #f4f4f4}.ulf-datepicker-wrapper td.ui-datepicker-other-month{border:transparent}.ulf-datepicker-wrapper td .ui-state-default{color:#555;width:auto;display:block;padding:6px 12px}.ulf-datepicker-wrapper td .ui-state-active,.ulf-datepicker-wrapper td .ui-state-hover{color:#fff;background-color:#0073aa}.ulf-datepicker-wrapper td.ui-state-disabled .ui-state-default{opacity:.5}.ulf-field-gallery input{display:none}.ulf-field-gallery ul{margin:0;padding:0;list-style-type:none}.ulf-field-gallery ul li{display:inline-block;position:relative;padding:4px;margin:0 5px 10px 0;border:1px solid #ccc;background-color:#f9f9f9;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-moz-box-shadow:0 1px 0 rgba(0,0,0,.08);-webkit-box-shadow:0 1px 0 rgba(0,0,0,.08);box-shadow:0 1px 0 rgba(0,0,0,.08)}.ulf-field-gallery ul li img{max-height:60px;display:inline-block;vertical-align:middle}.ulf-field-gallery .button{margin-right:5px;margin-bottom:5px}.ulf-field-group .ulf-cloneable-hidden{display:none!important}.ulf-field-group .ulf-cloneable-wrapper{position:relative}.ulf-field-group .ulf-cloneable-item{display:none;position:relative;margin-bottom:5px}.ulf-field-group .ulf-cloneable-item h4{font-size:1em}.ulf-field-group .ui-accordion .ulf-cloneable-item{display:block}.ulf-field-group .ulf-cloneable-content{border:1px solid #ccd0d4;background-color:#fff;box-shadow:0 1px 1px rgba(0,0,0,.04)}.ulf-field-group .ulf-cloneable-content>.ulf-field{padding:15px}.ulf-field-group .ulf-cloneable-title{display:block;cursor:pointer;position:relative;user-select:none;margin:0;padding:15px 65px 15px 10px;min-height:0;font-size:100%;border:1px solid #ccd0d4;background-color:#fafafa;box-shadow:0 1px 1px rgba(0,0,0,.04);transition:border-color .15s}.ulf-field-group .ulf-cloneable-title:active,.ulf-field-group .ulf-cloneable-title:focus,.ulf-field-group .ulf-cloneable-title:hover{border-color:#999;outline:0}.ulf-field-group .ulf-cloneable-helper{position:absolute;top:12px;right:10px;z-index:1;font-size:14px;line-height:1em}.ulf-field-group .ulf-cloneable-helper i{display:inline-block;cursor:pointer;padding:5px;color:#999}.ulf-field-group .ulf-cloneable-helper i:hover{color:#555}.ulf-field-group .ulf-cloneable-content{padding:0;border-top:0}.ulf-field-group .ulf-cloneable-title-number,.ulf-field-group .ulf-cloneable-title-prefix{margin-right:5px}.ulf-field-group .ulf-cloneable-alert{display:none;margin-bottom:5px;padding:10px 20px;color:#a94442;border:1px solid #ebccd1;background-color:#f2dede}.ulf-field-group .widget-placeholder{margin-bottom:10px;border:1px dashed #f1c40f;background-color:#fffae4}.ulf-field-group .ulf-cloneable-header-icon{display:inline-block;text-align:center;font-size:14px;width:17px;text-indent:0;vertical-align:text-top}.ulf-field-group .ulf-cloneable-placeholder{background-color:#ddd;margin-top:4px;width:100px;height:10px;font-size:10px;line-height:10px;display:inline-block;vertical-align:top;border-radius:2px}.ulf-field-icon input{display:none}.ulf-field-icon .button{margin-right:5px}.ulf-field-icon .ulf-icon-preview i{display:inline-block;font-size:16px;width:30px;height:28px;line-height:28px;margin-right:5px;text-align:center;vertical-align:top;color:#555;border:1px solid #ccc;background-color:#f7f7f7;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 1px 0 rgba(0,0,0,.08);-webkit-box-shadow:0 1px 0 rgba(0,0,0,.08);box-shadow:0 1px 0 rgba(0,0,0,.08);-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}.ulf-field-image_select .ulf--image{cursor:pointer;position:relative;display:inline-block;max-width:100%;margin:0 5px 5px 0;vertical-align:bottom;border:2px solid transparent;background-color:#fff;user-select:none;-webkit-user-select:none;-moz-transition:all .2s;-o-transition:all .2s;-webkit-transition:all .2s;transition:all .2s}.ulf-field-image_select .ulf--image:before{position:absolute;top:0;left:0;text-align:center;font-size:10px;font-family:"Font Awesome 5 Pro","Font Awesome 5 Free",FontAwesome;font-weight:900;content:"\f00c";width:16px;height:16px;line-height:14px;opacity:0;color:#fff;background-color:#222;transition:opacity .2s}.ulf-field-image_select .ulf--active{border-color:#222;box-shadow:0 0 20px rgba(0,0,0,.2)}.ulf-field-image_select .ulf--active:before{opacity:1}.ulf-field-image_select img{vertical-align:top}.ulf-field-image_select input{display:none}.ulf-field-link_color .ulf--left{float:left;margin-right:10px;margin-bottom:5px}.ulf-field-link_color .ulf--title{color:#777;margin-bottom:5px}.ulf-field-map input{width:100%}.ulf-field-map input[type=text].ui-autocomplete-loading{background-position-x:calc(100% - 5px)}.ulf-field-map .ulf--map-search+.ulf--map-osm-wrap{margin-top:10px}.ulf-field-map .ulf--map-osm-wrap{position:relative;padding:5px;border:1px solid #eee;background-color:#fff;box-shadow:0 1px 1px rgba(0,0,0,.04)}.ulf-field-map .ulf--map-osm{position:relative;z-index:1;min-height:250px}.ulf-field-map .ulf--map-inputs{margin-top:10px;display:flex;justify-content:space-between}.ulf-field-map .ulf--map-input{flex:1}.ulf-field-map .ulf--map-input:last-child{padding-left:10px}.ulf-field-map label{display:block;color:#777;font-size:12px;margin:0 0 2px 0}.ulf-map-ui-autocomplate{z-index:999999;border-radius:4px;overflow:hidden}.ulf-field-media .ulf--placeholder{display:flex;align-items:flex-start}.ulf-field-media .ulf--placeholder input{width:100%;margin:0}.ulf-field-media .button{margin-left:5px}.ulf-field-media .hidden+.button{margin-left:0}.ulf-field-media .ulf--preview{position:relative}.ulf-field-media .ulf--preview .fa-times{position:absolute;z-index:1;right:4px;top:4px;font-size:14px;width:22px;height:22px;line-height:22px;text-align:center;text-decoration:none;color:#fff;background-color:#d33;opacity:.8;transition:all .2s}.ulf-field-media .ulf--preview .fa-times:hover{opacity:1}.ulf-field-media .ulf--preview .fa-times:focus{box-shadow:none}.ulf-field-palette .ulf--palette{position:relative;display:inline-block;cursor:pointer;border:2px solid #ddd;margin-right:10px;margin-bottom:10px;user-select:none;-webkit-user-select:none;transition:all .2s}.ulf-field-palette .ulf--palette span{vertical-align:middle;display:inline-block;width:22px;height:60px;line-height:60px;overflow:hidden;text-indent:-999px}.ulf-field-palette .ulf--palette:before{position:absolute;top:0;left:0;text-align:center;font-size:10px;font-family:"Font Awesome 5 Pro","Font Awesome 5 Free",FontAwesome;font-weight:900;content:"\f00c";width:16px;height:16px;line-height:14px;opacity:0;color:#fff;background-color:#222;transition:opacity .2s}.ulf-field-palette .ulf--active{border-color:#222;box-shadow:0 0 20px rgba(0,0,0,.2)}.ulf-field-palette .ulf--active:before{opacity:1}.ulf-field-palette input{display:none}.ulf-field-repeater .ulf-field-text input{width:100%}.ulf-field-repeater .ulf-repeater-hidden{display:none!important}.ulf-field-repeater .ulf-repeater-wrapper .ulf-repeater-item{display:table;width:100%;margin-bottom:5px;border:1px solid #eee}.ulf-field-repeater .ulf-repeater-wrapper .ulf-repeater-item h4{font-size:1em}.ulf-field-repeater .ulf-repeater-content{width:100%;display:table-cell;vertical-align:middle;background-color:#fff}.ulf-field-repeater .ulf-repeater-content>.ulf-field{padding:15px}.ulf-field-repeater .ulf-repeater-helper{width:100%;display:table-cell;vertical-align:middle;text-align:center;font-size:14px;line-height:1em;border-left:1px solid #eee;background-color:#f7f7f7}.ulf-field-repeater .ulf-repeater-helper i{display:inline-block;cursor:pointer;color:#999;padding:5px}.ulf-field-repeater .ulf-repeater-helper i:hover{color:#555}.ulf-field-repeater .ulf-repeater-helper-inner{width:75px}.ulf-field-repeater .ulf-repeater-alert{display:none;margin-bottom:5px;padding:10px 20px;color:#a94442;border:1px solid #ebccd1;background-color:#f2dede}.ulf-field-repeater .widget-placeholder{height:50px;margin-bottom:3px;border:1px dashed #f1c40f;background-color:#fffae4}.ulf-field-repeater .ui-sortable-helper{height:50px!important;overflow:hidden!important;border-color:#ccc!important;background-color:#eee!important;opacity:.5}.ulf-field-repeater .ui-sortable-helper .ulf-repeater-content,.ulf-field-repeater .ui-sortable-helper .ulf-repeater-helper{display:none}.ulf-field-select .ulf-fieldset{min-height:30px}.ulf-field-select .ulf-chosen{display:none}.ulf-field-select select{max-width:100%;margin:0}.ulf-field-slider .ulf--wrap{display:flex;align-items:center}.ulf-field-slider .ulf--input{display:flex}.ulf-field-slider .ulf--unit{display:flex;justify-content:center;flex-direction:column;user-select:none;padding:0 6px;font-size:11px;line-height:1;border-radius:0 4px 4px 0;color:#555;border:1px solid #7e8993;border-left:0;background-color:#f5f5f5}.ulf-field-slider .ulf-slider-ui{margin-right:15px}.ulf-field-slider input[type=number]{position:relative;z-index:1;margin:0;width:50px;text-align:center}.ulf-field-slider .ulf--is-unit{border-top-right-radius:0;border-bottom-right-radius:0}.ulf-field-slider .ui-slider{position:relative;width:100%;height:3px;border:none;background:#ddd;border-radius:2px}.ulf-field-slider .ui-slider-range{height:3px;border:none;background:#333;border-radius:2px}.ulf-field-slider .ui-slider-handle{position:absolute;width:16px;height:16px;top:-7px;margin-left:-8px;border:none;background:#333;border-radius:2px}.ulf-field-slider .ui-slider-handle:hover,.ulf-field-slider .ui-state-active{cursor:pointer;background:#111}.ulf-field-sortable .ulf-field-text input{width:100%;max-width:100%}.ulf-field-sortable .ulf-sortable .ulf-sortable-item{display:table;width:100%;margin-bottom:5px;border:1px solid #eee}.ulf-field-sortable .ulf-sortable .ulf-sortable-item h4{font-size:1em}.ulf-field-sortable .ulf-sortable-content{width:100%;display:table-cell;vertical-align:middle;background-color:#fff}.ulf-field-sortable .ulf-sortable-content>.ulf-field{padding:15px}.ulf-field-sortable .ulf-sortable-helper{width:100%;display:table-cell;vertical-align:middle;text-align:center;font-size:14px;line-height:1em;border-left:1px solid #eee;background-color:#f7f7f7}.ulf-field-sortable .ulf-sortable-helper i{display:inline-block;cursor:pointer;width:50px;color:#555}.ulf-field-sortable .ulf-sortable-helper i:hover{opacity:.5}.ulf-field-sortable .widget-placeholder{height:50px;margin-bottom:3px;border:1px dashed #f1c40f;background-color:#fffae4}.ulf-field-sortable .ui-sortable-helper{height:50px!important;overflow:hidden!important;border-color:#ccc!important;background-color:#eee!important;opacity:.5}.ulf-field-sortable .ui-sortable-helper .ulf-sortable-content,.ulf-field-sortable .ui-sortable-helper .ulf-sortable-helper{display:none}.ulf-field-sorter .ui-sortable-placeholder{height:20px;border:1px dashed #f1c40f;background-color:#fffae4}.ulf-field-sorter .ulf-modules{float:left;width:50%;box-sizing:border-box}.ulf-field-sorter .ulf-modules:first-child{padding-right:15px}.ulf-field-sorter .ulf-modules:last-child{padding-left:15px}.ulf-field-sorter .ulf-disabled,.ulf-field-sorter .ulf-enabled{padding:5px 15px;border:1px dashed #ddd;background-color:#fff}.ulf-field-sorter .ulf-disabled li{-moz-transition:opacity .15s;-o-transition:opacity .15s;-webkit-transition:opacity .15s;transition:opacity .15s;opacity:.5}.ulf-field-sorter .ulf-disabled .ui-sortable-helper{opacity:1}.ulf-field-sorter .ulf-sorter-title{font-size:13px;font-weight:600;padding:10px;text-align:center;border:1px dashed #ddd;border-bottom:none;background-color:#f8f8f8;text-transform:uppercase}.ulf-field-sorter ul{list-style-type:none;margin:0;padding:0;min-height:62px}.ulf-field-sorter ul li{margin:10px 0;padding:10px 15px;cursor:move;font-weight:700;text-align:center;border:1px solid #e5e5e5;background-color:#fafafa;-moz-transition:border-color .15s;-o-transition:border-color .15s;-webkit-transition:border-color .15s;transition:border-color .15s}.ulf-field-sorter ul li:hover{border-color:#bbb}.ulf-field-spinner .ulf--spin{display:flex}.ulf-field-spinner .ui-spinner{display:flex}.ulf-field-spinner .ui-button-text-only{display:flex;flex-direction:column;justify-content:center;text-align:center;min-width:20px;padding:0 4px;color:#555;border:1px solid #7e8993;background-color:#f5f5f5}.ulf-field-spinner .ui-button{cursor:pointer}.ulf-field-spinner .ui-button:hover{background-color:#e7e7e7}.ulf-field-spinner .ui-button:active{background-color:#ddd}.ulf-field-spinner .ui-button:before{font-family:"Font Awesome 5 Pro","Font Awesome 5 Free",FontAwesome;font-weight:900;font-size:14px;line-height:14px}.ulf-field-spinner .ui-spinner-down{order:1;border-right:0;border-radius:4px 0 0 4px}.ulf-field-spinner .ui-spinner-down:before{content:"\f0d9"}.ulf-field-spinner .ui-spinner-input{order:2}.ulf-field-spinner .ulf--unit{order:3;border-left:0;user-select:none}.ulf-field-spinner .ui-spinner-up{order:4;border-left:0;border-radius:0 4px 4px 0}.ulf-field-spinner .ui-spinner-up:before{content:"\f0da"}.ulf-field-spinner input{position:relative;z-index:1;width:50px;text-align:center;margin:0;padding:0 8px;border-radius:0}.ulf-field-spinner .ui-button-text{display:none}.ulf-field-switcher .ulf--switcher{float:left;cursor:pointer;position:relative;width:60px;height:26px;padding:0;margin:0;overflow:hidden;border-radius:4px;background-color:#ed6f6f;user-select:none;-webkit-user-select:none}.ulf-field-switcher .ulf--ball{position:absolute;top:4px;left:4px;width:24px;height:18px;background-color:#fff;border-radius:4px;transition:all .1s;box-shadow:1px 1px 1px rgba(0,0,0,.15)}.ulf-field-switcher .ulf--off,.ulf-field-switcher .ulf--on{position:absolute;top:0;left:0;right:0;font-size:11px;line-height:26px;font-weight:500;font-style:normal;text-align:center;text-transform:uppercase;color:#fff;padding-right:28px;opacity:0;transition:all .1s}.ulf-field-switcher .ulf--off{padding-right:0;padding-left:28px;opacity:1}.ulf-field-switcher .ulf--active{background:#4fb845}.ulf-field-switcher .ulf--active .ulf--on{opacity:1}.ulf-field-switcher .ulf--active .ulf--off{opacity:0}.ulf-field-switcher .ulf--active .ulf--ball{left:100%;margin-left:-28px}.ulf-field-switcher .ulf--label{float:left;margin-top:4px;margin-left:8px;font-weight:400;color:#999}.ulf-field-switcher input{display:none}.ulf-field-tabbed .ulf-tabbed-content{border:1px solid #ccd0d4;background-color:#fff;box-shadow:0 1px 1px rgba(0,0,0,.04)}.ulf-field-tabbed .ulf-tabbed-content>.ulf-field{padding:15px}.ulf-field-tabbed .ulf-tabbed-nav .ulf--icon{padding-right:5px}.ulf-field-tabbed .ulf-tabbed-nav a{display:inline-block;padding:12px 15px;margin-top:1px;margin-right:5px;margin-bottom:-1px;position:relative;text-decoration:none;color:#444;font-weight:600;border:1px solid #ccd0d4;background-color:#f3f3f3;transition:all .2s}.ulf-field-tabbed .ulf-tabbed-nav a:hover{background-color:#f9f9f9}.ulf-field-tabbed .ulf-tabbed-nav a.ulf-tabbed-active{background-color:#fff;border-bottom-color:#fff}.ulf-field-tabbed .ulf-tabbed-nav a:focus{outline:0;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.ulf-field-text input{width:50%;max-width:100%;margin:0}.ulf-field-textarea textarea{width:100%;max-width:100%;min-height:125px}.ulf-field-textarea .ulf-shortcode-button{margin-bottom:10px;margin-right:5px}.ulf-field-typography select,.ulf-field-typography textarea{min-width:100%;margin:0}.ulf-field-typography .ulf--title{color:#777;margin:0 0 2px 0;font-size:12px}.ulf-field-typography .ulf--title small{vertical-align:top}.ulf-field-typography .ulf--blocks{display:flex;flex-wrap:wrap}.ulf-field-typography .ulf--block{flex:1;padding-right:6px;padding-bottom:6px}.ulf-field-typography .ulf--input{margin:0;min-width:100%}.ulf-field-typography .ulf--input-wrap{position:relative}.ulf-field-typography .ulf--unit{position:absolute;z-index:1;right:4px;top:4px;bottom:4px;padding:2px 6px;color:#666;font-size:11px;line-height:1;border-radius:2px;background:#eee;user-select:none;display:flex;justify-content:center;flex-direction:column}.ulf-field-typography .ulf--preview{font-size:16px;line-height:20px;padding:20px;color:#222;border:1px solid #eee;background-color:#fff;border-radius:2.5px;user-select:none;-webkit-user-select:none;transition:background-color .2s,border-color .2s}.ulf-field-typography .ulf--block-preview{cursor:pointer;position:relative;overflow:hidden;margin-top:10px;max-width:100%}.ulf-field-typography .ulf--black-background{border-color:#000;background-color:#000}.ulf-field-typography .ulf--toggle{position:absolute;top:5px;right:10px;color:#999}.ulf-field-typography .ulf--block-extra-styles{margin-top:5px}.ulf-field-upload input{width:100%;margin:0}.ulf-field-upload .ulf--wrap{display:flex;align-items:flex-start}.ulf-field-upload .button{margin-left:5px}.ulf-field-wp_editor .ulf-wp-editor{float:left;width:100%}.ulf-field-wp_editor .mce-toolbar-grp{border:none}.ulf-field-wp_editor .mce-btn.mce-active button,.ulf-field-wp_editor .mce-btn.mce-active i,.ulf-field-wp_editor .mce-btn.mce-active:hover button,.ulf-field-wp_editor .mce-btn.mce-active:hover i{color:#23282d}.ulf-field-wp_editor .wp-media-buttons{position:relative;z-index:2}.ulf-field-wp_editor .wp-editor-tabs{position:relative;z-index:1}.ulf-field-wp_editor .ulf-no-tinymce{border:1px solid #e5e5e5}.ulf-field-wp_editor .ulf-no-quicktags .wp-media-buttons{float:none;display:block}.ulf-field-wp_editor .ulf-no-quicktags .mce-tinymce{box-shadow:none;border:1px solid #e5e5e5}.ulf-field-wp_editor textarea{width:100%;max-width:100%;margin:0;box-shadow:none}.ulf-field-heading{font-size:1.5em;font-weight:700;color:#23282d;background-color:#f5f5f5}.ulf-field-subheading{font-size:14px;font-weight:700;padding-top:17px;padding-bottom:17px;color:#23282d;background-color:#f7f7f7}.ulf-field-submessage{padding:0!important;border:0!important}.ulf-field-submessage+.ulf-field{border-top:0!important}.ulf-submessage{font-size:12px;padding:17px 30px;border-top:1px solid transparent;border-bottom:1px solid transparent}.ulf-submessage-success{color:#3c763d;border-color:#d6e9c6;background-color:#dff0d8}.ulf-submessage-info{color:#31708f;border-color:#bce8f1;background-color:#d9edf7}.ulf-submessage-warning{color:#8a6d3b;border-color:#faebcc;background-color:#fcf8e3}.ulf-submessage-danger{color:#a94442;border-color:#ebccd1;background-color:#f2dede}.ulf-submessage-normal{color:#23282d;border-color:#eee;background-color:#f7f7f7}.ulf-field-notice{background-color:#f7f7f7}.ulf-notice{padding:12px;background-color:#fff;border-left-style:solid;border-left-width:4px;box-shadow:0 1px 1px rgba(0,0,0,.1)}.ulf-notice-success{border-color:#46b450}.ulf-notice-info{border-color:#339fd4}.ulf-notice-warning{border-color:#ffbc00}.ulf-notice-danger{border-color:#dc3232}.ulf-notice-normal{border-color:#222}.ulf-field-number input{width:100%;margin:0}.ulf-field-number .ulf--wrap{position:relative;float:left;width:100px}.ulf-field-number .ulf--unit{position:absolute;z-index:1;right:4px;top:4px;bottom:4px;padding:2px 6px;color:#666;font-size:11px;line-height:1;border-radius:2px;background:#eee;user-select:none;display:flex;justify-content:center;flex-direction:column}.ulf-help{cursor:help;position:absolute;top:0;right:0;padding:5px;font-size:13px;color:#aaa}.ulf-help .ulf-help-text{display:none}.ulf-image-preview{display:inline-block;position:relative;padding:4px;min-width:44px;min-height:22px;margin-bottom:10px;border:1px solid #ccc;background-color:#f9f9f9;-moz-box-shadow:0 1px 0 rgba(0,0,0,.08);-webkit-box-shadow:0 1px 0 rgba(0,0,0,.08);box-shadow:0 1px 0 rgba(0,0,0,.08)}.ulf-image-preview img{max-height:90px;display:inline-block;vertical-align:middle}.ulf-field-custom .ulf-field{padding:0}.ulf-field .chosen-container-single .chosen-single{height:28px;line-height:26px}.ulf-field .chosen-container-single .chosen-single abbr{top:0;right:20px;font-family:"Font Awesome 5 Pro","Font Awesome 5 Free",FontAwesome;font-weight:900;font-size:12px;height:100%;width:18px;color:#aaa;text-align:center;background:0 0}.ulf-field .chosen-container-single .chosen-single abbr:before{content:"\f00d"}.ulf-field .chosen-container-single .chosen-single abbr:hover{color:#555}.ulf-field .chosen-container-multi .chosen-choices li.search-choice .search-choice-close{font-family:"Font Awesome 5 Pro","Font Awesome 5 Free",FontAwesome;font-weight:900;font-size:12px;height:100%;width:18px;color:#aaa;text-align:center;background:0 0}.ulf-field .chosen-container-multi .chosen-choices li.search-choice .search-choice-close:before{content:"\f00d";display:inline-block;padding-top:3px}.ulf-field .chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover{color:#555}.ulf-field .chosen-container-single .chosen-single div b{font-family:"Font Awesome 5 Pro","Font Awesome 5 Free",FontAwesome;font-weight:900;font-size:14px;color:#aaa;background:0 0}.ulf-field .chosen-container-single .chosen-single div b:before{content:"\f107"}.ulf-field .chosen-container-single .chosen-single div b:hover{color:#555}.ulf-field .chosen-container-multi .chosen-choices li.search-choice-placeholder{border:1px dashed #aaa;margin:3px 5px 3px 0}.ulf-field .chosen-container-multi .ui-sortable li.search-choice span{cursor:move}.ulf-field .chosen-container-active.chosen-with-drop .chosen-single div b:before{content:"\f106"}.ulf-field .chosen-container-single .chosen-single-with-deselect span{margin-right:40px}.ulf-field .chosen-container-single .chosen-search input[type=text]{background:0 0}.ulf-field .chosen-container-single .chosen-search:before{font-family:"Font Awesome 5 Pro","Font Awesome 5 Free",FontAwesome;font-weight:900;font-size:11px;content:"\f002";position:absolute;right:12px;top:10px;color:#aaa}.ulf-field .wp-picker-container{display:inline-block}.ulf-field .wp-picker-container .wp-color-result.button{margin-bottom:0}.ulf-field .ulf--transparent-wrap{display:none;position:relative;top:-1px;width:235px;padding:9px 10px;border:1px solid #dfdfdf;border-top:none;background-color:#fff}.ulf-field .wp-picker-active .ulf--transparent-wrap{display:block}.ulf-field .ulf--transparent-slider{position:absolute;width:190px;margin-left:2px;height:18px}.ulf-field .ulf--transparent-slider .ui-slider-handle{position:absolute;top:-3px;bottom:-3px;z-index:5;border-color:#aaa;border-style:solid;border-width:4px 3px;width:10px;height:16px;margin:0 -5px;background:0 0;cursor:ew-resize;opacity:.9;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;-moz-box-shadow:0 1px 2px rgba(0,0,0,.2);-webkit-box-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 1px 2px rgba(0,0,0,.2)}.ulf-field .ulf--transparent-slider .ui-slider-handle:before{content:" ";position:absolute;left:-2px;right:-2px;top:-3px;bottom:-3px;border:2px solid #fff;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.ulf-field .ulf--transparent-offset{height:18px;width:200px;background:url(../images/checkerboard.png) repeat-y center left scroll #fff;-moz-box-shadow:0 0 5px rgba(0,0,0,.4) inset;-webkit-box-shadow:0 0 5px rgba(0,0,0,.4) inset;box-shadow:0 0 5px rgba(0,0,0,.4) inset;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px}.ulf-field .ulf--transparent-text{position:absolute;top:12px;right:10px;width:30px;font-size:12px;line-height:12px;text-align:center;color:#999}.ulf-field .ulf--transparent-button{cursor:pointer;user-select:none;margin-top:10px;font-size:11px;text-align:center;border-radius:2px;padding:3px 7px;box-shadow:0 1px 0 rgba(0,0,0,.1);letter-spacing:.2px;color:#777;border:1px solid #ccc;background-color:#f7f7f7;transition:background-color .2s,border-color .2s,color .2s}.ulf-field .ulf--transparent-active .wp-color-result{background-image:url(../images/checkerboard.png);background-size:135px;background-position:center left;background-color:transparent!important}.ulf-field .ulf--transparent-active .ulf--transparent-button{color:#fff;border-color:#3ea032;background-color:#4fb845}.ulf-field .ulf--transparent-active .fa:before{content:"\f205"}.ulf-widgets>.ulf-field{position:relative;top:-1px;margin-right:-15px;margin-left:-15px;padding:12px 15px}.ulf-widgets>.ulf-field .ulf-field{margin-left:0;margin-right:0}.ulf-widgets>.ulf-field .ulf-title{float:none;width:100%;margin-bottom:5px}.ulf-widgets>.ulf-field .ulf-fieldset{float:none;width:100%}.ulf-widgets .ulf-field-text input{width:100%}.ulf-widgets .ulf-field-notice .ulf-notice{padding:15px}.control-section .ulf-widgets>.ulf-field{margin-right:-10px;margin-left:-10px;padding:10px 12px}.control-section .ulf-field{padding:0}.control-section .ulf-field .ulf-title{float:none;width:100%;margin-bottom:6px}.control-section .ulf-field .ulf-title h4{display:block;font-size:13px;line-height:1;font-weight:600;color:inherit}.control-section .ulf-field .ulf-fieldset{float:none;width:100%}.control-section .ulf-help{top:-5px;right:-5px}.control-section .ulf-field-select select{width:100%}.control-section .ulf-field-heading{color:inherit;font-size:14px;line-height:1em;margin-right:-15px;margin-left:-15px;padding:15px}.control-section .ulf-field-subheading{color:inherit;font-size:11px;margin-right:-15px;margin-left:-15px;padding:10px 15px}.control-section .ulf-subtitle-text{margin-top:4px;font-size:12px}.control-section .ulf-field-submessage .ulf-submessage{margin-right:-15px;margin-left:-15px;padding:15px}.control-section .ulf-fieldset .ulf-field-heading,.control-section .ulf-fieldset .ulf-field-subheading,.control-section .ulf-fieldset .ulf-field-submessage .ulf-submessage{margin-left:0;margin-right:0}.control-section .ulf-field-date .ulf--to{margin-left:0}.control-section .ulf-field-sorter ul li{padding:5px}.control-section .ulf-field-sorter .ulf-modules{float:none;width:100%}.control-section .ulf-field-sorter .ulf-modules:first-child{padding-right:0;padding-bottom:15px}.control-section .ulf-field-background .ulf--background-attributes{flex-direction:column}.control-section .ulf-field-spacing input{width:90px}.control-section .ulf-field-border .ulf--input{flex:1 50%}.control-section .ulf-field-border input,.control-section .ulf-field-border select{width:100%}.control-section .ulf-field-spinner input{width:50px}.control-section .ulf-field-number .ulf--wrap{width:100%}.control-section .ulf-field-backup .ulf-export-data{display:none}.control-section .ulf-field-fieldset .ulf-fieldset-content{border-color:#e5e5e5}.control-section .ulf-accordion-content>.ulf-field,.control-section .ulf-cloneable-content>.ulf-field,.control-section .ulf-fieldset-content>.ulf-field,.control-section .ulf-repeater-content>.ulf-field,.control-section .ulf-sortable-content>.ulf-field,.control-section .ulf-tabbed-content>.ulf-field{padding:10px}.control-section .ulf-accordion-content>.ulf-field .ulf-title,.control-section .ulf-cloneable-content>.ulf-field .ulf-title,.control-section .ulf-fieldset-content>.ulf-field .ulf-title,.control-section .ulf-repeater-content>.ulf-field .ulf-title,.control-section .ulf-sortable-content>.ulf-field .ulf-title,.control-section .ulf-tabbed-content>.ulf-field .ulf-title{margin-bottom:5px}.control-section .ulf-accordion-content>.ulf-field h4,.control-section .ulf-cloneable-content>.ulf-field h4,.control-section .ulf-fieldset-content>.ulf-field h4,.control-section .ulf-repeater-content>.ulf-field h4,.control-section .ulf-sortable-content>.ulf-field h4,.control-section .ulf-tabbed-content>.ulf-field h4{font-size:12px}.control-section .ulf-depend-hidden.ulf-depend-on{display:none!important}.control-section .ulf-depend-visible.ulf-depend-on{border-top:0!important}.ulf-taxonomy{max-width:95%}.ulf-taxonomy>.ulf-field{border-top:none!important}.ulf-taxonomy>.ulf-field-heading{font-size:1.1em;padding:20px!important;border:1px solid #ddd}.ulf-taxonomy>.ulf-field-subheading{font-size:12px;padding:15px!important;border:1px solid #ddd}.ulf-taxonomy>.ulf-field-submessage .ulf-submessage{padding:15px;border-left-width:1px;border-left-style:solid;border-right-width:1px;border-right-style:solid}.ulf-taxonomy>.ulf-field-notice{background-color:transparent}.ulf-taxonomy .ulf-section-title{display:block;padding:15px;background-color:#f9f9f9;border:1px solid #e5e5e5;-moz-box-shadow:0 1px 1px rgba(0,0,0,.04);-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04)}.ulf-taxonomy-add-fields>.ulf-field{padding:8px 0}.ulf-taxonomy-add-fields>.ulf-field>.ulf-title{float:none;width:100%;padding:2px 2px 4px 0}.ulf-taxonomy-add-fields>.ulf-field>.ulf-title h4{font-size:12px;font-weight:400}.ulf-taxonomy-add-fields>.ulf-field>.ulf-fieldset{float:none;width:100%}.ulf-taxonomy-add-fields>.ulf-field>.ulf-fieldset>.ulf-help{right:-5px}.ulf-taxonomy-add-fields+p.submit{margin-top:0}.ulf-taxonomy-edit-fields>.ulf-field{padding:20px 0}.ulf-taxonomy-edit-fields>.ulf-field>.ulf-title{width:200px}.ulf-taxonomy-edit-fields>.ulf-field>.ulf-title h4{font-size:14px;font-weight:600;line-height:1.3;display:inline-block;vertical-align:middle}.ulf-taxonomy-edit-fields>.ulf-field>.ulf-fieldset{width:calc(100% - 220px)}.ulf-taxonomy-edit-fields>.ulf-field>.ulf-fieldset>.ulf-help{top:-5px;right:-5px}.ulf-taxonomy-edit-fields>.ulf-field-submessage{margin:20px 0}.ulf-taxonomy-edit-fields>.ulf-field-heading,.ulf-taxonomy-edit-fields>.ulf-field-subheading{margin:20px 0;border:1px solid #ddd}.ulf-nav-menu-options{clear:both;float:left;width:100%}.ulf-nav-menu-options>.ulf-fields{margin-left:-10px;margin-top:10px;margin-bottom:10px;border-top:1px solid #eee;border-bottom:1px solid #eee}.ulf-nav-menu-options>.ulf-fields>.ulf-field{padding:12px 14px 12px 12px}.ulf-nav-menu-options>.ulf-fields>.ulf-field .ulf-title{float:none;width:100%;margin-bottom:5px}.ulf-nav-menu-options>.ulf-fields>.ulf-field .ulf-fieldset{float:none;width:100%}.ulf-nav-menu-options .ulf-field-text input{width:100%}.ulf-nav-menu-options .ulf-field-notice .ulf-notice{padding:15px}.ulf-nav-menu-title{padding:12px 14px 12px 12px;background-color:#f5f5f5;border-top:1px solid #eee;border-bottom:1px solid #eee}.ulf-nav-menu-title:first-child{border-top:0}.ulf-nav-menu-title h4{margin:0;padding:0;color:#23282d}.ulf-nav-menu-icon{margin-right:5px}.ulf-profile-options>h2>.fa{padding-right:7px}.ulf-profile-options>.ulf-field{max-width:750px;padding:15px 0;border-top:none!important}.ulf-profile-options>.ulf-field>.ulf-title{width:200px}.ulf-profile-options>.ulf-field>.ulf-title h4{font-size:14px;font-weight:600;line-height:1.3;display:inline-block;vertical-align:middle}.ulf-profile-options>.ulf-field>.ulf-fieldset{width:calc(100% - 220px)}.ulf-profile-options>.ulf-field>.ulf-fieldset>.ulf-help{top:-15px;right:-5px}.ulf-profile-options>.ulf-field-heading{font-size:1.1em}.ulf-profile-options>.ulf-field-subheading{font-size:12px}.ulf-profile-options>.ulf-field-heading,.ulf-profile-options>.ulf-field-subheading{margin:10px 0;padding:15px!important;border:1px solid #ddd}.ulf-profile-options>.ulf-field-submessage{margin:20px 0}.ulf-profile-options>.ulf-field-submessage .ulf-submessage{padding:10px;border-left-width:1px;border-left-style:solid;border-right-width:1px;border-right-style:solid}.ulf-profile-options>.ulf-field-notice{background-color:transparent}.ulf-modal{position:fixed;z-index:100101;top:0;left:0;width:100%;height:100%}.ulf-modal.hidden{display:none}.ulf-modal-icon{z-index:100102}.ulf-modal-table{display:table;width:100%;height:100%}.ulf-modal-table-cell{display:table-cell;vertical-align:middle;margin:100px 0}.ulf-modal-inner{position:relative;z-index:10;width:760px;height:750px;margin:0 auto;background-color:#fff}.ulf-modal-content{position:relative;overflow:hidden;overflow-y:auto;height:595px}.ulf-modal-content .ulf-shortcode-button{display:none}.ulf-modal-content .ulf-field{padding:15px 30px 15px 15px}.ulf-modal-content a:active,.ulf-modal-content a:focus{outline:0;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.ulf-modal-content h4{font-size:13px}.ulf-modal-content h4 small{font-style:italic;font-weight:400;color:#aaa}.ulf-modal-title{position:relative;background-color:#fcfcfc;border-bottom:1px solid #ddd;height:36px;font-size:16px;font-weight:600;line-height:36px;margin:0;padding:0 36px 0 16px}.ulf-modal-header{width:100%;padding:14px 0;background-color:#f5f5f5;border-bottom:1px solid #eee}.ulf-modal-header select{display:block;width:250px;margin:0 auto;font-size:13px;line-height:1;height:30px;min-height:30px;background-color:#fff}.ulf-modal-close{color:#666;padding:0;position:absolute;top:0;right:0;width:36px;height:36px;text-align:center;background:0 0;border:none;cursor:pointer}.ulf-modal-close:before{font:normal 20px/36px dashicons;content:"\f158";vertical-align:top;width:36px;height:36px}.ulf-modal-close:hover{opacity:.5}.ulf-modal-insert-wrapper{text-align:center;width:100%;padding:15px 0;background-color:#f5f5f5;border-top:1px solid #eee}.ulf-modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#000;opacity:.5}.ulf--repeatable{padding:15px 15px 0 15px}.ulf--repeat-button-block{text-align:center;padding-bottom:15px}.ulf--repeat-shortcode{position:relative;margin-bottom:15px;border:1px dashed #ddd}.ulf--repeat-shortcode:first-child .ulf-repeat-remove{display:none}.ulf--repeat-shortcode .ulf-repeat-remove{position:absolute;right:10px;top:10px;z-index:10;cursor:pointer;display:inline-block;font-size:11px;width:18px;height:18px;line-height:18px;text-align:center;border-radius:2px;color:#fff;background-color:#e14d43;opacity:.5}.ulf--repeat-shortcode .ulf-repeat-remove:hover{opacity:1}.ulf-shortcode-single .ulf-modal-inner{height:750px}.ulf-shortcode-single .ulf-modal-content{height:652px}.elementor-editor-active .ulf-shortcode-button{margin-left:5px}.elementor-editor-active .ulf-modal .hidden{display:none!important}.ulf-shortcode-block{text-align:center;padding:14px;font-size:13px;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}.ulf-shortcode-block .components-button{margin-bottom:10px}.ulf-modal-icon .ulf-icon-title{padding:15px 0;margin:4px;font-size:14px;font-weight:700;text-align:center;border:1px solid #eee;background-color:#f7f7f7}.ulf-modal-icon .ulf-modal-header{text-align:center}.ulf-modal-icon .ulf-icon-search{width:50%;height:40px;line-height:40px}.ulf-modal-icon i{cursor:pointer;display:inline-block;margin:4px;width:35px;height:35px;line-height:35px;font-size:16px;color:#555;text-align:center;border:1px solid #ccc;background-color:#f7f7f7;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-moz-box-shadow:1px 1px 0 rgba(0,0,0,.05);-webkit-box-shadow:1px 1px 0 rgba(0,0,0,.05);box-shadow:1px 1px 0 rgba(0,0,0,.05)}.ulf-modal-icon i:hover{color:#fff;border-color:#222;background-color:#222}.ulf-modal-icon .ulf-modal-content{padding:10px;height:618px}.ulf-modal-icon .ulf-error-text{padding:10px}.ulf-modal-loading{display:none;position:absolute;left:15px;top:15px}.ulf-loading{position:relative;width:20px;height:20px;background:#ccc;-moz-border-radius:20px;-webkit-border-radius:20px;border-radius:20px;-moz-box-shadow:0 2px 5px rgba(0,0,0,.07);-webkit-box-shadow:0 2px 5px rgba(0,0,0,.07);box-shadow:0 2px 5px rgba(0,0,0,.07)}.ulf-loading:after{position:absolute;top:50%;left:50%;width:4px;height:4px;content:"";margin-top:-2px;margin-left:-2px;background-color:#fff;-moz-animation-duration:.5s;-webkit-animation-duration:.5s;animation-duration:.5s;-moz-animation-iteration-count:infinite;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-moz-animation-timing-function:linear;-webkit-animation-timing-function:linear;animation-timing-function:linear;-moz-animation-name:ulfLoader;-webkit-animation-name:ulfLoader;animation-name:ulfLoader;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px}@-moz-keyframes ulfLoader{0%{-moz-transform:rotate(0) translateX(-6px) rotate(0);transform:rotate(0) translateX(-6px) rotate(0)}100%{-moz-transform:rotate(360deg) translateX(-6px) rotate(-360deg);transform:rotate(360deg) translateX(-6px) rotate(-360deg)}}@-webkit-keyframes ulfLoader{0%{-webkit-transform:rotate(0) translateX(-6px) rotate(0);transform:rotate(0) translateX(-6px) rotate(0)}100%{-webkit-transform:rotate(360deg) translateX(-6px) rotate(-360deg);transform:rotate(360deg) translateX(-6px) rotate(-360deg)}}@keyframes ulfLoader{0%{-moz-transform:rotate(0) translateX(-6px) rotate(0);-ms-transform:rotate(0) translateX(-6px) rotate(0);-webkit-transform:rotate(0) translateX(-6px) rotate(0);transform:rotate(0) translateX(-6px) rotate(0)}100%{-moz-transform:rotate(360deg) translateX(-6px) rotate(-360deg);-ms-transform:rotate(360deg) translateX(-6px) rotate(-360deg);-webkit-transform:rotate(360deg) translateX(-6px) rotate(-360deg);transform:rotate(360deg) translateX(-6px) rotate(-360deg)}}.ulf-subtitle-text{margin-top:6px;font-weight:400;color:#999}.ulf-desc-text{clear:both;float:left;width:100%;margin-top:6px;font-weight:400;color:#999}.ulf-error-text{margin-top:6px;color:#d02c21}.ulf-before-text{margin-bottom:6px}.ulf-after-text{margin-top:6px}.ulf-metabox-hide{display:none!important}.ulf-metabox-show{display:block!important}.ulf-depend-hidden.ulf-depend-on{display:none}.ulf-depend-visible.ulf-depend-on{display:block;opacity:.75;filter:grayscale(1);user-select:none;border-top:1px solid #eee}.ulf-depend-visible.ulf-depend-on .clear:before{content:"";left:0;top:0;right:0;bottom:0;position:absolute;background-color:#eee;opacity:.25;z-index:10}.ulf-warning-primary{color:#fff!important;border-color:#dc3545!important;background:#dc3545!important}.ulf-warning-primary:focus,.ulf-warning-primary:hover{border-color:#bd2130!important;background:#bd2130!important}.ulf-warning-primary:focus{box-shadow:0 0 0 1px #fff,0 0 0 3px #bd2130!important}.ulf-warning-primary:active{border-color:#bd2130!important;background:#bd2130!important}.ulf-form-result{display:none;float:left;padding:0 8px;margin-right:4px;font-size:11px;line-height:30px;user-select:none;border-radius:2px}.ulf-form-show{display:block}.ulf-form-success{color:#fff;background-color:#46b450}.ulf-form-warning{color:#8a6d3b;background-color:#faebcc}.ulf-label-error{position:relative;top:-2px;display:inline-block;font-size:10px;line-height:10px;height:10px;width:10px;padding:1px;font-style:normal;text-align:center;color:#fff;vertical-align:middle;background-color:#e10000;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px}.ulf-no-option{padding:30px}.ulf-input-number{-moz-appearance:textfield}.ulf-input-number::-webkit-inner-spin-button,.ulf-input-number::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ulf-welcome-wrap{position:relative;margin:25px 40px 0 20px;font-size:15px;max-width:1200px}.ulf-welcome-wrap p{font-size:14px;line-height:1.5}.ulf-welcome-wrap h1{margin:.2em 200px 0 0;padding:0;color:#32373c;line-height:1.2em;font-size:2.8em;font-weight:400}.ulf-welcome-wrap .ulf-logo{position:absolute;overflow:hidden;top:0;right:0;height:160px;width:140px;background-image:linear-gradient(45deg,#2d67cb,#ad19f3);box-shadow:0 1px 4px rgba(0,0,0,.25),inset 0 0 0 4px rgba(0,0,0,.25)}.ulf-welcome-wrap .ulf-logo .ulf--effects i{position:absolute;width:200px;height:100px;background-color:rgba(0,0,0,.15);transform:rotate(-45deg)}.ulf-welcome-wrap .ulf-logo .ulf--effects i:nth-child(1){bottom:-20px;right:-70px}.ulf-welcome-wrap .ulf-logo .ulf--effects i:nth-child(2){bottom:-35px;right:-80px}.ulf-welcome-wrap .ulf-logo .ulf--effects i:nth-child(3){bottom:-50px;right:-90px}.ulf-welcome-wrap .ulf-logo .ulf--effects i:nth-child(4){bottom:-65px;right:-100px}.ulf-welcome-wrap .ulf-logo .ulf--wp-logos{position:relative;padding-top:25px;text-align:center}.ulf-welcome-wrap .ulf-logo .ulf--wp-logo{position:absolute;left:20px;width:20px;height:20px;background-repeat:no-repeat;background-position:center center;background-image:url(../images/wp-logo.svg)}.ulf-welcome-wrap .ulf-logo .ulf--wp-plugin-logo{display:inline-block;width:50px;height:50px;border:3px solid #fff;background-size:40px;background-repeat:no-repeat;background-position:center center;background-image:url(../images/wp-plugin-logo.svg);border-radius:100%;vertical-align:middle}.ulf-welcome-wrap .ulf-logo .ulf--text{position:absolute;left:0;right:0;top:90px;color:#fff;font-size:13px;line-height:1.2em;font-weight:600;text-align:center;text-transform:uppercase;text-shadow:1px 1px 0 rgba(0,0,0,.25)}.ulf-welcome-wrap .ulf-logo .ulf--version{top:auto;left:auto;right:8px;bottom:4px;font-size:11px;text-transform:lowercase}.ulf-welcome-wrap .ulf-about-text{font-weight:400;line-height:1.6em;font-size:19px;margin:1em 200px 1em 0;color:#555d66}.ulf-welcome-wrap .ulf-demo-button{margin:1em 200px 2em 0}.ulf-welcome-wrap .nav-tab-wrapper{margin-bottom:20px}.ulf-welcome-wrap ul{list-style-type:disc;padding-left:15px}.ulf-welcome-wrap .ulf--col{float:left;padding-right:20px;box-sizing:border-box}.ulf-welcome-wrap .ulf--col-2{width:50%}.ulf-welcome-wrap .ulf--col-3{width:33.333%}.ulf-welcome-wrap .ulf--col-4{width:25%}.ulf-welcome-wrap .ulf--col-5{width:20%}.ulf-welcome-wrap .ulf--col-last{padding-right:0}.ulf-welcome-wrap .ulf--col-upgrade{padding:10px 0;text-align:center;border-top:1px solid #e5e5e5}.ulf--table-compare tfoot td,.ulf--table-compare thead td{text-align:center}.ulf--table-compare td{font-size:14px;text-align:center;vertical-align:middle;padding:10px}.ulf--table-compare td:first-child{text-align:left}.ulf--table-compare tfoot td{padding:15px 0}.ulf--table-compare .fa{font-size:18px}.ulf--table-compare .fa-check-circle{color:#46b450}.ulf--table-compare .fa-times-circle{color:#dc3232}.ulf-welcome-cols{clear:both;margin:20px 0;background-color:#fff;padding:0 0;border-radius:2px;border:1px solid #e5e5e5}.ulf-welcome-cols .ulf--col{width:33.333%;float:left;padding:20px;text-align:center;box-sizing:border-box;min-height:200px;border-right:1px solid #e5e5e5}.ulf-welcome-cols .ulf--block,.ulf-welcome-cols .ulf--left{float:left;width:20%;padding:0 30px;text-align:center;box-sizing:border-box}.ulf-welcome-cols .ulf--block{width:80%}.ulf-welcome-cols .ulf--col-first{border-bottom:1px solid #e5e5e5}.ulf-welcome-cols .ulf--last{border-right:none}.ulf-welcome-cols .ulf--space{height:20px}.ulf-welcome-cols .ulf--icon{display:inline-block;font-size:20px;width:30px;height:30px;line-height:30px;text-align:center;margin-bottom:10px;color:#fff;background-color:#555;border-radius:30px}.ulf-welcome-cols .ulf--active{background-color:#5cb85c}.ulf-welcome-cols .ulf--deactive{background-color:#e14d43}.ulf-welcome-cols .ulf--title{font-weight:700;display:block}.ulf-welcome-cols p:last-child{margin-bottom:0}.ulf-features-cols .ulf--key-features{width:30%}.ulf-features-cols .ulf--available-fields{width:70%}.ulf-code-block{margin:20px 0;padding:5px 20px;background-color:#fff;border-radius:2px;box-shadow:0 1px 1px rgba(0,0,0,.15)}.ulf-code-block pre{font-size:13px;color:#0073aa}.ulf-code-block pre span{color:#999}.ulf--table-fields td{font-size:14px}.ulf--upgrade a{color:#5cb85c;font-weight:700}.ulf--upgrade a:focus,.ulf--upgrade a:hover{color:#4aa14a;outline:0;box-shadow:none}@media only screen and (max-width:782px){.ulf-welcome-cols .ulf--col{width:100%;min-height:auto;border-right:none;border-bottom:1px solid #e5e5e5}.ulf-features-cols .ulf--key-features{width:100%}.ulf-features-cols .ulf--available-fields{width:100%}}@media only screen and (max-width:1200px){.ulf-metabox .ulf-field .ulf-title{float:none;width:100%;margin-bottom:10px}.ulf-metabox .ulf-field .ulf-fieldset{float:none;width:100%}}@media only screen and (max-width:782px){.ulf-header-inner{text-align:center}.ulf-header-inner h1{width:100%;margin-bottom:10px}.ulf-form-result{float:none;margin-right:0;margin-bottom:10px}.ulf-header-left,.ulf-header-right,.ulf-search{width:100%}.ulf-search{text-align:center;margin-bottom:15px}.ulf-footer{text-align:center}.ulf-buttons{float:none}.ulf-copyright{float:none;margin-top:10px}.ulf-expand-all,.ulf-nav,.ulf-nav-background,.ulf-reset-section{display:none!important}.ulf-content{margin-left:0}.ulf-section,.ulf-section-title{display:block!important}.ulf-field .ulf-title{float:none;width:100%;margin-bottom:10px}.ulf-field .ulf-fieldset{float:none;width:100%}.ulf-field-color .button.wp-picker-clear{padding:0 8px;line-height:2.14285714;min-height:32px}.ulf-modal-inner{width:350px;height:400px}.ulf-modal-content{height:237px}.ulf-icon-dialog .ulf-modal-inner{width:305px;height:380px}.ulf-icon-dialog .ulf-modal-content{height:267px}.ulf-modal-icon .ulf-modal-inner{width:330px;height:385px}.ulf-modal-icon .ulf-modal-content{height:252px}.ulf-profile-options>.ulf-field>.ulf-title,.ulf-taxonomy-edit-fields>.ulf-field>.ulf-title{float:none;width:100%;margin-bottom:10px}.ulf-profile-options>.ulf-field>.ulf-fieldset,.ulf-taxonomy-edit-fields>.ulf-field>.ulf-fieldset{float:none;width:100%}.ulf-nav-menu-options>.ulf-fields{margin-left:-10px;margin-right:-10px}.ulf-nav-menu-options>.ulf-fields>.ulf-field{padding:10px}}.chosen-container{position:relative;display:inline-block;vertical-align:middle;font-size:13px;user-select:none}.chosen-container *{box-sizing:border-box}.chosen-container .chosen-drop{position:absolute;top:100%;z-index:1010;width:100%;border:1px solid #aaa;border-top:0;background:#fff;box-shadow:0 4px 5px rgba(0,0,0,.15);clip:rect(0,0,0,0);clip-path:inset(100% 100%)}.chosen-container.chosen-with-drop .chosen-drop{clip:auto;clip-path:none}.chosen-container a{cursor:pointer}.chosen-container .chosen-single .group-name,.chosen-container .search-choice .group-name{margin-right:4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:400;color:#999}.chosen-container .chosen-single .group-name:after,.chosen-container .search-choice .group-name:after{content:":";padding-left:2px;vertical-align:top}.chosen-container-single .chosen-single{position:relative;display:block;overflow:hidden;padding:0 0 0 8px;height:25px;border:1px solid #aaa;border-radius:5px;background-color:#fff;background:linear-gradient(#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background-clip:padding-box;box-shadow:0 0 3px #fff inset,0 1px 1px rgba(0,0,0,.1);color:#444;text-decoration:none;white-space:nowrap;line-height:24px}.chosen-container-single .chosen-default{color:#999}.chosen-container-single .chosen-single span{display:block;overflow:hidden;margin-right:26px;text-overflow:ellipsis;white-space:nowrap}.chosen-container-single .chosen-single-with-deselect span{margin-right:38px}.chosen-container-single .chosen-single abbr{position:absolute;top:6px;right:26px;display:block;width:12px;height:12px;font-size:1px}.chosen-container-single .chosen-single div{position:absolute;top:0;right:0;display:block;width:18px;height:100%}.chosen-container-single .chosen-single div b{display:block;width:100%;height:100%}.chosen-container-single .chosen-search{position:relative;z-index:1010;margin:0;padding:3px 4px;white-space:nowrap}.chosen-container-single .chosen-search input[type=text]{margin:1px 0;padding:4px 20px 4px 5px;width:100%;height:auto;outline:0;border:1px solid #aaa;font-size:1em;font-family:sans-serif;line-height:normal;border-radius:0}.chosen-container-single .chosen-drop{margin-top:-1px;border-radius:0 0 4px 4px;background-clip:padding-box}.chosen-container-single.chosen-container-single-nosearch .chosen-search{position:absolute;clip:rect(0,0,0,0);clip-path:inset(100% 100%)}.chosen-container .chosen-results{color:#444;position:relative;overflow-x:hidden;overflow-y:auto;margin:0 4px 4px 0;padding:0 0 0 4px;max-height:240px;-webkit-overflow-scrolling:touch}.chosen-container .chosen-results li{display:none;margin:0;padding:5px 6px;list-style:none;line-height:15px;word-wrap:break-word;-webkit-touch-callout:none}.chosen-container .chosen-results li.active-result{display:list-item;cursor:pointer}.chosen-container .chosen-results li.disabled-result{display:list-item;color:#ccc;cursor:default}.chosen-container .chosen-results li.highlighted{background-color:#3875d7;background-image:linear-gradient(#3875d7 20%,#2a62bc 90%);color:#fff}.chosen-container .chosen-results li.no-results{color:#777;display:list-item;background:#f4f4f4}.chosen-container .chosen-results li.group-result{display:list-item;font-weight:700;cursor:default}.chosen-container .chosen-results li.group-option{padding-left:15px}.chosen-container .chosen-results li em{font-style:normal;text-decoration:underline}.chosen-container-multi .chosen-choices{position:relative;overflow:hidden;margin:0;padding:0 5px;width:100%;height:auto;border:1px solid #aaa;background-color:#fff;background-image:linear-gradient(#eee 1%,#fff 15%);cursor:text}.chosen-container-multi .chosen-choices li{float:left;list-style:none}.chosen-container-multi .chosen-choices li.search-field{margin:0;padding:0;white-space:nowrap}.chosen-container-multi .chosen-choices li.search-field input[type=text]{margin:1px 0;padding:0;outline:0;border:0!important;background:0 0!important;box-shadow:none;color:#999;font-size:100%;font-family:sans-serif;line-height:normal;border-radius:0;width:25px;height:25px;min-height:25px}.chosen-container-multi .chosen-choices li.search-choice{position:relative;margin:3px 5px 3px 0;padding:3px 20px 3px 6px;border:1px solid #aaa;max-width:100%;border-radius:3px;background-color:#eee;background-image:linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-size:100% 19px;background-repeat:repeat-x;background-clip:padding-box;box-shadow:0 0 2px #fff inset,0 1px 0 rgba(0,0,0,.05);color:#333;line-height:13px;cursor:default}.chosen-container-multi .chosen-choices li.search-choice span{word-wrap:break-word;white-space:nowrap}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close{position:absolute;top:0;right:0;display:block;width:12px;height:12px;font-size:1px}.chosen-container-multi .chosen-choices li.search-choice-disabled{padding-right:5px;border:1px solid #ccc;background-color:#e4e4e4;background-image:linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);color:#666}.chosen-container-multi .chosen-choices li.search-choice-focus{background:#d4d4d4}.chosen-container-multi .chosen-results{margin:0;padding:0}.chosen-container-multi .chosen-drop .result-selected{display:list-item;color:#ccc;cursor:default}.chosen-container-active .chosen-single{border:1px solid #5897fb;box-shadow:0 0 5px rgba(0,0,0,.3)}.chosen-container-active.chosen-with-drop .chosen-single{border:1px solid #aaa;border-bottom-right-radius:0;border-bottom-left-radius:0;background-image:linear-gradient(#eee 20%,#fff 80%);box-shadow:0 1px 0 #fff inset}.chosen-container-active.chosen-with-drop .chosen-single div{border-left:none;background:0 0}.chosen-container-active .chosen-choices{border:1px solid #5897fb;box-shadow:0 0 5px rgba(0,0,0,.3)}.chosen-container-active .chosen-choices li.search-field input[type=text]{color:#222!important}.chosen-disabled{opacity:.5!important;cursor:default}.chosen-disabled .chosen-single{cursor:default}.chosen-disabled .chosen-choices .search-choice .search-choice-close{cursor:default}.chosen-rtl{text-align:right}.chosen-rtl .chosen-single{overflow:visible;padding:0 8px 0 0}.chosen-rtl .chosen-single span{margin-right:0;margin-left:26px;direction:rtl}.chosen-rtl .chosen-single-with-deselect span{margin-left:38px}.chosen-rtl .chosen-single div{right:auto;left:3px}.chosen-rtl .chosen-single abbr{right:auto;left:26px}.chosen-rtl .chosen-choices li{float:right}.chosen-rtl .chosen-choices li.search-field input[type=text]{direction:rtl}.chosen-rtl .chosen-choices li.search-choice{margin:3px 5px 3px 0;padding:3px 5px 3px 19px}.chosen-rtl .chosen-choices li.search-choice .search-choice-close{right:auto;left:4px}.chosen-rtl.chosen-container-single .chosen-results{margin:0 0 4px 4px;padding:0 4px 0 0}.chosen-rtl .chosen-results li.group-option{padding-right:15px;padding-left:0}.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div{border-right:none}.chosen-rtl .chosen-search input[type=text]{padding:4px 5px 4px 20px;direction:rtl}
admin/settings/assets/images/wp-logo.svg DELETED
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><rect x="0" fill="none" width="20" height="20"/><g><g fill="#fff"><path d="M20 10c0-5.52-4.48-10-10-10S0 4.48 0 10s4.48 10 10 10 10-4.48 10-10zM10 1.01c4.97 0 8.99 4.02 8.99 8.99s-4.02 8.99-8.99 8.99S1.01 14.97 1.01 10 5.03 1.01 10 1.01zM8.01 14.82L4.96 6.61c.49-.03 1.05-.08 1.05-.08.43-.05.38-1.01-.06-.99 0 0-1.29.1-2.13.1-.15 0-.33 0-.52-.01 1.44-2.17 3.9-3.6 6.7-3.6 2.09 0 3.99.79 5.41 2.09-.6-.08-1.45.35-1.45 1.42 0 .66.38 1.22.79 1.88.31.54.5 1.22.5 2.21 0 1.34-1.27 4.48-1.27 4.48l-2.71-7.5c.48-.03.75-.16.75-.16.43-.05.38-1.1-.05-1.08 0 0-1.3.11-2.14.11-.78 0-2.11-.11-2.11-.11-.43-.02-.48 1.06-.05 1.08l.84.08 1.12 3.04zm6.02 2.15L16.64 10s.67-1.69.39-3.81c.63 1.14.94 2.42.94 3.81 0 2.96-1.56 5.58-3.94 6.97zM2.68 6.77L6.5 17.25c-2.67-1.3-4.47-4.08-4.47-7.25 0-1.16.2-2.23.65-3.23zm7.45 4.53l2.29 6.25c-.75.27-1.57.42-2.42.42-.72 0-1.41-.11-2.06-.3z"/></g></g></svg>
 
admin/settings/assets/images/wp-plugin-logo.svg DELETED
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><rect x="0" fill="none" width="20" height="20"/><g><g fill="#fff"><path d="M13.11 4.36L9.87 7.6 8 5.73l3.24-3.24c.35-.34 1.05-.2 1.56.32.52.51.66 1.21.31 1.55zm-8 1.77l.91-1.12 9.01 9.01-1.19.84c-.71.71-2.63 1.16-3.82 1.16H6.14L4.9 17.26c-.59.59-1.54.59-2.12 0-.59-.58-.59-1.53 0-2.12l1.24-1.24v-3.88c0-1.13.4-3.19 1.09-3.89zm7.26 3.97l3.24-3.24c.34-.35 1.04-.21 1.55.31.52.51.66 1.21.31 1.55l-3.24 3.25z"/></g></g></svg>
 
admin/settings/assets/js/gutenberg.js CHANGED
@@ -10,9 +10,9 @@
10
  */
11
  ( function( blocks, blockEditor, element, components ) {
12
 
13
- if( !window.csf_gutenberg_blocks ) { return; }
14
 
15
- window.csf_gutenberg_blocks.forEach( function( block ) {
16
 
17
  var registerBlockType = blocks.registerBlockType;
18
  var PlainText = blockEditor.PlainText;
@@ -20,7 +20,7 @@
20
  var RawHTML = element.RawHTML;
21
  var Button = components.Button;
22
 
23
- registerBlockType('csf-gutenberg-block/block-'+block.hash, {
24
  title: block.gutenberg.title,
25
  icon: block.gutenberg.icon,
26
  category: block.gutenberg.category,
@@ -39,14 +39,14 @@
39
  },
40
  edit: function (props) {
41
  return (
42
- createElement('div', {className: 'csf-shortcode-block'},
43
 
44
  createElement(Button, {
45
  'data-modal-id': block.modal_id,
46
  'data-gutenberg-id': block.hash,
47
- className: 'is-secondary csf-shortcode-button',
48
  onClick: function () {
49
- window.csf_gutenberg_props = props;
50
  },
51
  }, block.button_title ),
52
 
10
  */
11
  ( function( blocks, blockEditor, element, components ) {
12
 
13
+ if( !window.ulf_gutenberg_blocks ) { return; }
14
 
15
+ window.ulf_gutenberg_blocks.forEach( function( block ) {
16
 
17
  var registerBlockType = blocks.registerBlockType;
18
  var PlainText = blockEditor.PlainText;
20
  var RawHTML = element.RawHTML;
21
  var Button = components.Button;
22
 
23
+ registerBlockType('ulf-gutenberg-block/block-'+block.hash, {
24
  title: block.gutenberg.title,
25
  icon: block.gutenberg.icon,
26
  category: block.gutenberg.category,
39
  },
40
  edit: function (props) {
41
  return (
42
+ createElement('div', {className: 'ulf-shortcode-block'},
43
 
44
  createElement(Button, {
45
  'data-modal-id': block.modal_id,
46
  'data-gutenberg-id': block.hash,
47
+ className: 'is-secondary ulf-shortcode-button',
48
  onClick: function () {
49
+ window.ulf_gutenberg_props = props;
50
  },
51
  }, block.button_title ),
52
 
admin/settings/assets/js/main.js CHANGED
@@ -14,11 +14,11 @@
14
  //
15
  // Constants
16
  //
17
- var CSF = CSF || {};
18
 
19
- CSF.funcs = {};
20
 
21
- CSF.vars = {
22
  onloaded: false,
23
  $body: $('body'),
24
  $window: $(window),
@@ -33,7 +33,7 @@
33
  //
34
  // Helper Functions
35
  //
36
- CSF.helper = {
37
 
38
  //
39
  // Generate UID
@@ -54,7 +54,7 @@
54
  name_nested_replace: function( $selector, field_id ) {
55
 
56
  var checks = [];
57
- var regex = new RegExp('('+ CSF.helper.preg_quote(field_id) +')\\[(\\d+)\\]', 'g');
58
 
59
  $selector.find(':radio').each(function() {
60
  if ( this.checked || this.orginal_checked ) {
@@ -100,7 +100,7 @@
100
  //
101
  // Custom clone for textarea and select clone() bug
102
  //
103
- $.fn.csf_clone = function() {
104
 
105
  var base = $.fn.clone.apply(this, arguments),
106
  clone = this.find('select').add(this.filter('select')),
@@ -127,13 +127,13 @@
127
  //
128
  // Expand All Options
129
  //
130
- $.fn.csf_expand_all = function() {
131
  return this.each( function() {
132
  $(this).on('click', function( e ) {
133
 
134
  e.preventDefault();
135
- $('.csf-wrapper').toggleClass('csf-show-all');
136
- $('.csf-section').csf_reload_script();
137
  $(this).find('.fa').toggleClass('fa-indent').toggleClass('fa-outdent');
138
 
139
  });
@@ -143,14 +143,14 @@
143
  //
144
  // Options Navigation
145
  //
146
- $.fn.csf_nav_options = function() {
147
  return this.each( function() {
148
 
149
  var $nav = $(this),
150
  $links = $nav.find('a'),
151
  $last;
152
 
153
- $(window).on('hashchange csf.hashchange', function() {
154
 
155
  var hash = window.location.hash.replace('#tab=', '');
156
  var slug = hash ? hash : $links.first().attr('href').replace('#tab=', '');
@@ -158,7 +158,7 @@
158
 
159
  if ( $link.length ) {
160
 
161
- $link.closest('.csf-tab-item').addClass('csf-tab-expanded').siblings().removeClass('csf-tab-expanded');
162
 
163
  if( $link.next().is('ul') ) {
164
 
@@ -167,8 +167,8 @@
167
 
168
  }
169
 
170
- $links.removeClass('csf-active');
171
- $link.addClass('csf-active');
172
 
173
  if ( $last ) {
174
  $last.hide();
@@ -177,15 +177,15 @@
177
  var $section = $('[data-section-id="'+slug+'"]');
178
 
179
  $section.show();
180
- $section.csf_reload_script();
181
 
182
- $('.csf-section-id').val( $section.index() );
183
 
184
  $last = $section;
185
 
186
  }
187
 
188
- }).trigger('csf.hashchange');
189
 
190
  });
191
  };
@@ -193,12 +193,12 @@
193
  //
194
  // Metabox Tabs
195
  //
196
- $.fn.csf_nav_metabox = function() {
197
  return this.each( function() {
198
 
199
  var $nav = $(this),
200
  $links = $nav.find('a'),
201
- $sections = $nav.parent().find('.csf-section'),
202
  $last;
203
 
204
  $links.each( function( index ) {
@@ -209,8 +209,8 @@
209
 
210
  var $link = $(this);
211
 
212
- $links.removeClass('csf-active');
213
- $link.addClass('csf-active');
214
 
215
  if ( $last !== undefined ) {
216
  $last.hide();
@@ -219,7 +219,7 @@
219
  var $section = $sections.eq(index);
220
 
221
  $section.show();
222
- $section.csf_reload_script();
223
 
224
  $last = $section;
225
 
@@ -235,15 +235,15 @@
235
  //
236
  // Metabox Page Templates Listener
237
  //
238
- $.fn.csf_page_templates = function() {
239
  if ( this.length ) {
240
 
241
  $(document).on('change', '.editor-page-attributes__template select, #page_template', function() {
242
 
243
  var maybe_value = $(this).val() || 'default';
244
 
245
- $('.csf-page-templates').removeClass('csf-metabox-show').addClass('csf-metabox-hide');
246
- $('.csf-page-'+maybe_value.toLowerCase().replace(/[^a-zA-Z0-9]+/g,'-')).removeClass('csf-metabox-hide').addClass('csf-metabox-show');
247
 
248
  });
249
 
@@ -253,7 +253,7 @@
253
  //
254
  // Metabox Post Formats Listener
255
  //
256
- $.fn.csf_post_formats = function() {
257
  if ( this.length ) {
258
 
259
  $(document).on('change', '.editor-post-format select, #formatdiv input[name="post_format"]', function() {
@@ -263,8 +263,8 @@
263
  // Fallback for classic editor version
264
  maybe_value = ( maybe_value === '0' ) ? 'default' : maybe_value;
265
 
266
- $('.csf-post-formats').removeClass('csf-metabox-show').addClass('csf-metabox-hide');
267
- $('.csf-post-format-'+maybe_value).removeClass('csf-metabox-hide').addClass('csf-metabox-show');
268
 
269
  });
270
 
@@ -274,7 +274,7 @@
274
  //
275
  // Search
276
  //
277
- $.fn.csf_search = function() {
278
  return this.each( function() {
279
 
280
  var $this = $(this),
@@ -283,15 +283,15 @@
283
  $input.on('change keyup', function() {
284
 
285
  var value = $(this).val(),
286
- $wrapper = $('.csf-wrapper'),
287
- $section = $wrapper.find('.csf-section'),
288
- $fields = $section.find('> .csf-field:not(.csf-depend-on)'),
289
- $titles = $fields.find('> .csf-title, .csf-search-tags');
290
 
291
  if ( value.length > 3 ) {
292
 
293
- $fields.addClass('csf-metabox-hide');
294
- $wrapper.addClass('csf-search-all');
295
 
296
  $titles.each( function() {
297
 
@@ -299,10 +299,10 @@
299
 
300
  if ( $title.text().match( new RegExp('.*?' + value + '.*?', 'i') ) ) {
301
 
302
- var $field = $title.closest('.csf-field');
303
 
304
- $field.removeClass('csf-metabox-hide');
305
- $field.parent().csf_reload_script();
306
 
307
  }
308
 
@@ -310,8 +310,8 @@
310
 
311
  } else {
312
 
313
- $fields.removeClass('csf-metabox-hide');
314
- $wrapper.removeClass('csf-search-all');
315
 
316
  }
317
 
@@ -323,12 +323,12 @@
323
  //
324
  // Sticky Header
325
  //
326
- $.fn.csf_sticky = function() {
327
  return this.each( function() {
328
 
329
  var $this = $(this),
330
  $window = $(window),
331
- $inner = $this.find('.csf-header-inner'),
332
  padding = parseInt( $inner.css('padding-left') ) + parseInt( $inner.css('padding-right') ),
333
  offset = 32,
334
  scrollTop = 0,
@@ -342,10 +342,10 @@
342
 
343
  if ( stickyTop <= offset && winWidth > 782 ) {
344
  $inner.css({width: $this.outerWidth()-padding});
345
- $this.css({height: $this.outerHeight()}).addClass( 'csf-sticky' );
346
  } else {
347
  $inner.removeAttr('style');
348
- $this.removeAttr('style').removeClass( 'csf-sticky' );
349
  }
350
 
351
  },
@@ -378,7 +378,7 @@
378
  //
379
  // Dependency System
380
  //
381
- $.fn.csf_dependency = function() {
382
  return this.each( function() {
383
 
384
  var $this = $(this),
@@ -386,8 +386,8 @@
386
 
387
  if( $fields.length ) {
388
 
389
- var normal_ruleset = $.csf_deps.createRuleset(),
390
- global_ruleset = $.csf_deps.createRuleset(),
391
  normal_depends = [],
392
  global_depends = [];
393
 
@@ -420,11 +420,11 @@
420
  });
421
 
422
  if ( normal_depends.length ) {
423
- $.csf_deps.enable($this, normal_ruleset, normal_depends);
424
  }
425
 
426
  if ( global_depends.length ) {
427
- $.csf_deps.enable(CSF.vars.$body, global_ruleset, global_depends);
428
  }
429
 
430
  }
@@ -435,15 +435,15 @@
435
  //
436
  // Field: accordion
437
  //
438
- $.fn.csf_field_accordion = function() {
439
  return this.each( function() {
440
 
441
- var $titles = $(this).find('.csf-accordion-title');
442
 
443
  $titles.on('click', function() {
444
 
445
  var $title = $(this),
446
- $icon = $title.find('.csf-accordion-icon'),
447
  $content = $title.next();
448
 
449
  if ( $icon.hasClass('fa-angle-right') ) {
@@ -454,12 +454,12 @@
454
 
455
  if ( !$content.data( 'opened' ) ) {
456
 
457
- $content.csf_reload_script();
458
  $content.data( 'opened', true );
459
 
460
  }
461
 
462
- $content.toggleClass('csf-accordion-open');
463
 
464
  });
465
 
@@ -469,7 +469,7 @@
469
  //
470
  // Field: backup
471
  //
472
- $.fn.csf_field_backup = function() {
473
  return this.each( function() {
474
 
475
  if ( window.wp.customize === undefined ) { return; }
@@ -477,8 +477,8 @@
477
  var base = this,
478
  $this = $(this),
479
  $body = $('body'),
480
- $import = $this.find('.csf-import'),
481
- $reset = $this.find('.csf-reset');
482
 
483
  base.notification = function( message_text ) {
484
 
@@ -492,7 +492,7 @@
492
  }
493
 
494
  // then show a notification overlay
495
- wp.customize.notifications.add( new wp.customize.OverlayNotification('csf_field_backup_notification', {
496
  type: 'info',
497
  message: message_text,
498
  loading: true
@@ -506,11 +506,11 @@
506
 
507
  e.preventDefault();
508
 
509
- if ( CSF.vars.is_confirm ) {
510
 
511
- base.notification( window.csf_vars.i18n.reset_notification );
512
 
513
- window.wp.ajax.post('csf-reset', {
514
  unique: $reset.data('unique'),
515
  nonce: $reset.data('nonce')
516
  })
@@ -519,7 +519,7 @@
519
  })
520
  .fail( function( response ) {
521
  alert( response.error );
522
- wp.customize.notifications.remove('csf_field_backup_notification');
523
  });
524
 
525
  }
@@ -530,19 +530,19 @@
530
 
531
  e.preventDefault();
532
 
533
- if ( CSF.vars.is_confirm ) {
534
 
535
- base.notification( window.csf_vars.i18n.import_notification );
536
 
537
- window.wp.ajax.post( 'csf-import', {
538
  unique: $import.data('unique'),
539
  nonce: $import.data('nonce'),
540
- data: $this.find('.csf-import-data').val()
541
  }).done( function( response ) {
542
  window.location.reload(true);
543
  }).fail( function( response ) {
544
  alert( response.error );
545
- wp.customize.notifications.remove('csf_field_backup_notification');
546
  });
547
 
548
  }
@@ -555,16 +555,16 @@
555
  //
556
  // Field: background
557
  //
558
- $.fn.csf_field_background = function() {
559
  return this.each( function() {
560
- $(this).find('.csf--background-image').csf_reload_script();
561
  });
562
  };
563
 
564
  //
565
  // Field: code_editor
566
  //
567
- $.fn.csf_field_code_editor = function() {
568
  return this.each( function() {
569
 
570
  if ( typeof CodeMirror !== 'function' ) { return; }
@@ -584,21 +584,21 @@
584
  var code_editor = CodeMirror.fromTextArea( $textarea[0], data_editor );
585
 
586
  // load code-mirror theme css.
587
- if ( data_editor.theme !== 'default' && CSF.vars.code_themes.indexOf(data_editor.theme) === -1 ) {
588
 
589
  var $cssLink = $('<link>');
590
 
591
- $('#csf-codemirror-css').after( $cssLink );
592
 
593
  $cssLink.attr({
594
  rel: 'stylesheet',
595
- id: 'csf-codemirror-'+ data_editor.theme +'-css',
596
  href: data_editor.cdnURL +'/theme/'+ data_editor.theme +'.min.css',
597
  type: 'text/css',
598
  media: 'all'
599
  });
600
 
601
- CSF.vars.code_themes.push(data_editor.theme);
602
 
603
  }
604
 
@@ -620,22 +620,22 @@
620
  //
621
  // Field: date
622
  //
623
- $.fn.csf_field_date = function() {
624
  return this.each( function() {
625
 
626
  var $this = $(this),
627
  $inputs = $this.find('input'),
628
- settings = $this.find('.csf-date-settings').data('settings'),
629
- wrapper = '<div class="csf-datepicker-wrapper"></div>',
630
  $datepicker;
631
 
632
  var defaults = {
633
  showAnim: '',
634
  beforeShow: function(input, inst) {
635
- $(inst.dpDiv).addClass('csf-datepicker-wrapper');
636
  },
637
  onClose: function( input, inst ) {
638
- $(inst.dpDiv).removeClass('csf-datepicker-wrapper');
639
  },
640
  };
641
 
@@ -676,31 +676,31 @@
676
  //
677
  // Field: fieldset
678
  //
679
- $.fn.csf_field_fieldset = function() {
680
  return this.each( function() {
681
- $(this).find('.csf-fieldset-content').csf_reload_script();
682
  });
683
  };
684
 
685
  //
686
  // Field: gallery
687
  //
688
- $.fn.csf_field_gallery = function() {
689
  return this.each( function() {
690
 
691
  var $this = $(this),
692
- $edit = $this.find('.csf-edit-gallery'),
693
- $clear = $this.find('.csf-clear-gallery'),
694
  $list = $this.find('ul'),
695
  $input = $this.find('input'),
696
  $img = $this.find('img'),
697
  wp_media_frame;
698
 
699
- $this.on('click', '.csf-button, .csf-edit-gallery', function( e ) {
700
 
701
  var $el = $(this),
702
  ids = $input.val(),
703
- what = ( $el.hasClass('csf-edit-gallery') ) ? 'edit' : 'add',
704
  state = ( what === 'add' && !ids.length ) ? 'gallery' : 'gallery-edit';
705
 
706
  e.preventDefault();
@@ -770,16 +770,16 @@
770
  //
771
  // Field: group
772
  //
773
- $.fn.csf_field_group = function() {
774
  return this.each( function() {
775
 
776
  var $this = $(this),
777
- $fieldset = $this.children('.csf-fieldset'),
778
  $group = $fieldset.length ? $fieldset : $this,
779
- $wrapper = $group.children('.csf-cloneable-wrapper'),
780
- $hidden = $group.children('.csf-cloneable-hidden'),
781
- $max = $group.children('.csf-cloneable-max'),
782
- $min = $group.children('.csf-cloneable-min'),
783
  field_id = $wrapper.data('field-id'),
784
  unique_id = $wrapper.data('unique-id'),
785
  is_number = Boolean( Number( $wrapper.data('title-number') ) ),
@@ -792,20 +792,20 @@
792
  }
793
 
794
  var update_title_numbers = function( $selector ) {
795
- $selector.find('.csf-cloneable-title-number').each( function( index ) {
796
- $(this).html( ( $(this).closest('.csf-cloneable-item').index()+1 ) + '.' );
797
  });
798
  };
799
 
800
  $wrapper.accordion({
801
- header: '> .csf-cloneable-item > .csf-cloneable-title',
802
  collapsible : true,
803
  active: false,
804
  animate: false,
805
  heightStyle: 'content',
806
  icons: {
807
- 'header': 'csf-cloneable-header-icon fas fa-angle-right',
808
- 'activeHeader': 'csf-cloneable-header-icon fas fa-angle-down'
809
  },
810
  activate: function( event, ui ) {
811
 
@@ -816,19 +816,19 @@
816
 
817
  var $fields = $panel.children();
818
  var $first = $fields.first().find(':input').first();
819
- var $title = $header.find('.csf-cloneable-value');
820
 
821
  $first.on('change keyup', function( event ) {
822
  $title.text($first.val());
823
  });
824
 
825
- $panel.csf_reload_script();
826
  $panel.data( 'opened', true );
827
  $panel.data( 'retry', false );
828
 
829
  } else if ( $panel.data( 'retry' ) ) {
830
 
831
- $panel.csf_reload_script_retry();
832
  $panel.data( 'retry', false );
833
 
834
  }
@@ -838,7 +838,7 @@
838
 
839
  $wrapper.sortable({
840
  axis: 'y',
841
- handle: '.csf-cloneable-title,.csf-cloneable-sort',
842
  helper: 'original',
843
  cursor: 'move',
844
  placeholder: 'widget-placeholder',
@@ -846,13 +846,13 @@
846
 
847
  $wrapper.accordion({ active:false });
848
  $wrapper.sortable('refreshPositions');
849
- ui.item.children('.csf-cloneable-content').data('retry', true);
850
 
851
  },
852
  update: function( event, ui ) {
853
 
854
- CSF.helper.name_nested_replace( $wrapper.children('.csf-cloneable-item'), field_id );
855
- $wrapper.csf_customizer_refresh();
856
 
857
  if ( is_number ) {
858
  update_title_numbers($wrapper);
@@ -861,11 +861,11 @@
861
  },
862
  });
863
 
864
- $group.children('.csf-cloneable-add').on('click', function( e ) {
865
 
866
  e.preventDefault();
867
 
868
- var count = $wrapper.children('.csf-cloneable-item').length;
869
 
870
  $min.hide();
871
 
@@ -876,23 +876,23 @@
876
 
877
  var new_field_id = unique_id + field_id + '['+ count +']';
878
 
879
- var $cloned_item = $hidden.csf_clone(true);
880
 
881
- $cloned_item.removeClass('csf-cloneable-hidden');
882
 
883
  $cloned_item.find(':input[name!="_pseudo"]').each( function() {
884
  this.name = new_field_id + this.name.replace( ( this.name.startsWith('_nonce') ? '_nonce' : unique_id ), '');
885
  });
886
 
887
- $cloned_item.find('.csf-data-wrapper').each( function(){
888
  $(this).attr('data-unique-id', new_field_id );
889
  });
890
 
891
  $wrapper.append($cloned_item);
892
  $wrapper.accordion('refresh');
893
  $wrapper.accordion({active: count});
894
- $wrapper.csf_customizer_refresh();
895
- $wrapper.csf_customizer_listen({closest: true});
896
 
897
  if ( is_number ) {
898
  update_title_numbers($wrapper);
@@ -904,7 +904,7 @@
904
 
905
  e.preventDefault();
906
 
907
- var count = $wrapper.children('.csf-cloneable-item').length;
908
 
909
  $min.hide();
910
 
@@ -915,17 +915,17 @@
915
 
916
  var $this = $(this),
917
  $parent = $this.parent().parent(),
918
- $cloned_helper = $parent.children('.csf-cloneable-helper').csf_clone(true),
919
- $cloned_title = $parent.children('.csf-cloneable-title').csf_clone(),
920
- $cloned_content = $parent.children('.csf-cloneable-content').csf_clone(),
921
- cloned_regex = new RegExp('('+ CSF.helper.preg_quote(field_id) +')\\[(\\d+)\\]', 'g');
922
 
923
- $cloned_content.find('.csf-data-wrapper').each( function(){
924
  var $this = $(this);
925
  $this.attr('data-unique-id', $this.attr('data-unique-id').replace(cloned_regex, field_id +'['+ ($parent.index()+1) +']') );
926
  });
927
 
928
- var $cloned = $('<div class="csf-cloneable-item" />');
929
 
930
  $cloned.append($cloned_helper);
931
  $cloned.append($cloned_title);
@@ -933,11 +933,11 @@
933
 
934
  $wrapper.children().eq($parent.index()).after($cloned);
935
 
936
- CSF.helper.name_nested_replace( $wrapper.children('.csf-cloneable-item'), field_id );
937
 
938
  $wrapper.accordion('refresh');
939
- $wrapper.csf_customizer_refresh();
940
- $wrapper.csf_customizer_listen({closest: true});
941
 
942
  if ( is_number ) {
943
  update_title_numbers($wrapper);
@@ -945,14 +945,14 @@
945
 
946
  };
947
 
948
- $wrapper.children('.csf-cloneable-item').children('.csf-cloneable-helper').on('click', '.csf-cloneable-clone', event_clone);
949
- $group.children('.csf-cloneable-hidden').children('.csf-cloneable-helper').on('click', '.csf-cloneable-clone', event_clone);
950
 
951
  var event_remove = function( e ) {
952
 
953
  e.preventDefault();
954
 
955
- var count = $wrapper.children('.csf-cloneable-item').length;
956
 
957
  $max.hide();
958
  $min.hide();
@@ -962,11 +962,11 @@
962
  return;
963
  }
964
 
965
- $(this).closest('.csf-cloneable-item').remove();
966
 
967
- CSF.helper.name_nested_replace( $wrapper.children('.csf-cloneable-item'), field_id );
968
 
969
- $wrapper.csf_customizer_refresh();
970
 
971
  if ( is_number ) {
972
  update_title_numbers($wrapper);
@@ -974,8 +974,8 @@
974
 
975
  };
976
 
977
- $wrapper.children('.csf-cloneable-item').children('.csf-cloneable-helper').on('click', '.csf-cloneable-remove', event_remove);
978
- $group.children('.csf-cloneable-hidden').children('.csf-cloneable-helper').on('click', '.csf-cloneable-remove', event_remove);
979
 
980
  });
981
  };
@@ -983,35 +983,35 @@
983
  //
984
  // Field: icon
985
  //
986
- $.fn.csf_field_icon = function() {
987
  return this.each( function() {
988
 
989
  var $this = $(this);
990
 
991
- $this.on('click', '.csf-icon-add', function( e ) {
992
 
993
  e.preventDefault();
994
 
995
  var $button = $(this);
996
- var $modal = $('#csf-modal-icon');
997
 
998
  $modal.removeClass('hidden');
999
 
1000
- CSF.vars.$icon_target = $this;
1001
 
1002
- if ( !CSF.vars.icon_modal_loaded ) {
1003
 
1004
- $modal.find('.csf-modal-loading').show();
1005
 
1006
- window.wp.ajax.post( 'csf-get-icons', {
1007
  nonce: $button.data('nonce')
1008
  }).done( function( response ) {
1009
 
1010
- $modal.find('.csf-modal-loading').hide();
1011
 
1012
- CSF.vars.icon_modal_loaded = true;
1013
 
1014
- var $load = $modal.find('.csf-modal-load').html( response.content );
1015
 
1016
  $load.on('click', 'i', function( e ) {
1017
 
@@ -1019,16 +1019,16 @@
1019
 
1020
  var icon = $(this).attr('title');
1021
 
1022
- CSF.vars.$icon_target.find('i').removeAttr('class').addClass(icon);
1023
- CSF.vars.$icon_target.find('input').val(icon).trigger('change');
1024
- CSF.vars.$icon_target.find('.csf-icon-preview').removeClass('hidden');
1025
- CSF.vars.$icon_target.find('.csf-icon-remove').removeClass('hidden');
1026
 
1027
  $modal.addClass('hidden');
1028
 
1029
  });
1030
 
1031
- $modal.on('change keyup', '.csf-icon-search', function() {
1032
 
1033
  var value = $(this).val(),
1034
  $icons = $load.find('i');
@@ -1047,13 +1047,13 @@
1047
 
1048
  });
1049
 
1050
- $modal.on('click', '.csf-modal-close, .csf-modal-overlay', function() {
1051
  $modal.addClass('hidden');
1052
  });
1053
 
1054
  }).fail( function( response ) {
1055
- $modal.find('.csf-modal-loading').hide();
1056
- $modal.find('.csf-modal-load').html( response.error );
1057
  $modal.on('click', function() {
1058
  $modal.addClass('hidden');
1059
  });
@@ -1062,9 +1062,9 @@
1062
 
1063
  });
1064
 
1065
- $this.on('click', '.csf-icon-remove', function( e ) {
1066
  e.preventDefault();
1067
- $this.find('.csf-icon-preview').addClass('hidden');
1068
  $this.find('input').val('').trigger('change');
1069
  $(this).addClass('hidden');
1070
  });
@@ -1075,17 +1075,17 @@
1075
  //
1076
  // Field: map
1077
  //
1078
- $.fn.csf_field_map = function() {
1079
  return this.each( function() {
1080
 
1081
  if ( typeof L === 'undefined' ) { return; }
1082
 
1083
  var $this = $(this),
1084
- $map = $this.find('.csf--map-osm'),
1085
- $search_input = $this.find('.csf--map-search input'),
1086
- $latitude = $this.find('.csf--latitude'),
1087
- $longitude = $this.find('.csf--longitude'),
1088
- $zoom = $this.find('.csf--zoom'),
1089
  map_data = $map.data( 'map' );
1090
 
1091
  var mapInit = L.map( $map.get(0), map_data);
@@ -1116,7 +1116,7 @@
1116
  });
1117
 
1118
  if ( ! $search_input.length ) {
1119
- $search_input = $( '[data-depend-id="'+ $this.find('.csf--address-field').data( 'address-field' ) +'"]' );
1120
  }
1121
 
1122
  var cache = {};
@@ -1172,7 +1172,7 @@
1172
 
1173
  },
1174
  create: function (event, ui) {
1175
- $(this).autocomplete('widget').addClass('csf-map-ui-autocomplate');
1176
  }
1177
  });
1178
 
@@ -1194,14 +1194,14 @@
1194
  //
1195
  // Field: media
1196
  //
1197
- $.fn.csf_field_media = function() {
1198
  return this.each( function() {
1199
 
1200
  var $this = $(this),
1201
- $upload_button = $this.find('.csf--button'),
1202
- $remove_button = $this.find('.csf--remove'),
1203
  $library = $upload_button.data('library') && $upload_button.data('library').split(',') || '',
1204
- $auto_attributes = ( $this.hasClass('csf-assign-field-background') ) ? $this.closest('.csf-field-background').find('.csf--auto-attributes') : false,
1205
  wp_media_frame;
1206
 
1207
  $upload_button.on('click', function( e ) {
@@ -1233,12 +1233,12 @@
1233
  return;
1234
  }
1235
 
1236
- $this.find('.csf--id').val( attributes.id );
1237
- $this.find('.csf--width').val( attributes.width );
1238
- $this.find('.csf--height').val( attributes.height );
1239
- $this.find('.csf--alt').val( attributes.alt );
1240
- $this.find('.csf--title').val( attributes.title );
1241
- $this.find('.csf--description').val( attributes.description );
1242
 
1243
  if ( typeof attributes.sizes !== 'undefined' && typeof attributes.sizes.thumbnail !== 'undefined' && preview_size === 'thumbnail' ) {
1244
  thumbnail = attributes.sizes.thumbnail.url;
@@ -1249,15 +1249,15 @@
1249
  }
1250
 
1251
  if ( $auto_attributes ) {
1252
- $auto_attributes.removeClass('csf--attributes-hidden');
1253
  }
1254
 
1255
  $remove_button.removeClass('hidden');
1256
 
1257
- $this.find('.csf--preview').removeClass('hidden');
1258
- $this.find('.csf--src').attr('src', thumbnail);
1259
- $this.find('.csf--thumbnail').val( thumbnail );
1260
- $this.find('.csf--url').val( attributes.url ).trigger('change');
1261
 
1262
  });
1263
 
@@ -1270,13 +1270,13 @@
1270
  e.preventDefault();
1271
 
1272
  if ( $auto_attributes ) {
1273
- $auto_attributes.addClass('csf--attributes-hidden');
1274
  }
1275
 
1276
  $remove_button.addClass('hidden');
1277
  $this.find('input').val('');
1278
- $this.find('.csf--preview').addClass('hidden');
1279
- $this.find('.csf--url').trigger('change');
1280
 
1281
  });
1282
 
@@ -1287,44 +1287,44 @@
1287
  //
1288
  // Field: repeater
1289
  //
1290
- $.fn.csf_field_repeater = function() {
1291
  return this.each( function() {
1292
 
1293
  var $this = $(this),
1294
- $fieldset = $this.children('.csf-fieldset'),
1295
  $repeater = $fieldset.length ? $fieldset : $this,
1296
- $wrapper = $repeater.children('.csf-repeater-wrapper'),
1297
- $hidden = $repeater.children('.csf-repeater-hidden'),
1298
- $max = $repeater.children('.csf-repeater-max'),
1299
- $min = $repeater.children('.csf-repeater-min'),
1300
  field_id = $wrapper.data('field-id'),
1301
  unique_id = $wrapper.data('unique-id'),
1302
  max = parseInt( $wrapper.data('max') ),
1303
  min = parseInt( $wrapper.data('min') );
1304
 
1305
 
1306
- $wrapper.children('.csf-repeater-item').children('.csf-repeater-content').csf_reload_script();
1307
 
1308
  $wrapper.sortable({
1309
  axis: 'y',
1310
- handle: '.csf-repeater-sort',
1311
  helper: 'original',
1312
  cursor: 'move',
1313
  placeholder: 'widget-placeholder',
1314
  update: function( event, ui ) {
1315
 
1316
- CSF.helper.name_nested_replace( $wrapper.children('.csf-repeater-item'), field_id );
1317
- $wrapper.csf_customizer_refresh();
1318
- ui.item.csf_reload_script_retry();
1319
 
1320
  }
1321
  });
1322
 
1323
- $repeater.children('.csf-repeater-add').on('click', function( e ) {
1324
 
1325
  e.preventDefault();
1326
 
1327
- var count = $wrapper.children('.csf-repeater-item').length;
1328
 
1329
  $min.hide();
1330
 
@@ -1335,22 +1335,22 @@
1335
 
1336
  var new_field_id = unique_id + field_id + '['+ count +']';
1337
 
1338
- var $cloned_item = $hidden.csf_clone(true);
1339
 
1340
- $cloned_item.removeClass('csf-repeater-hidden');
1341
 
1342
  $cloned_item.find(':input[name!="_pseudo"]').each( function() {
1343
  this.name = new_field_id + this.name.replace( ( this.name.startsWith('_nonce') ? '_nonce' : unique_id ), '');
1344
  });
1345
 
1346
- $cloned_item.find('.csf-data-wrapper').each( function(){
1347
  $(this).attr('data-unique-id', new_field_id );
1348
  });
1349
 
1350
  $wrapper.append($cloned_item);
1351
- $cloned_item.children('.csf-repeater-content').csf_reload_script();
1352
- $wrapper.csf_customizer_refresh();
1353
- $wrapper.csf_customizer_listen({closest: true});
1354
 
1355
  });
1356
 
@@ -1358,7 +1358,7 @@
1358
 
1359
  e.preventDefault();
1360
 
1361
- var count = $wrapper.children('.csf-repeater-item').length;
1362
 
1363
  $min.hide();
1364
 
@@ -1369,39 +1369,39 @@
1369
 
1370
  var $this = $(this),
1371
  $parent = $this.parent().parent().parent(),
1372
- $cloned_content = $parent.children('.csf-repeater-content').csf_clone(),
1373
- $cloned_helper = $parent.children('.csf-repeater-helper').csf_clone(true),
1374
- cloned_regex = new RegExp('('+ CSF.helper.preg_quote(field_id) +')\\[(\\d+)\\]', 'g');
1375
 
1376
- $cloned_content.find('.csf-data-wrapper').each( function(){
1377
  var $this = $(this);
1378
  $this.attr('data-unique-id', $this.attr('data-unique-id').replace(cloned_regex, field_id +'['+ ($parent.index()+1) +']') );
1379
  });
1380
 
1381
- var $cloned = $('<div class="csf-repeater-item" />');
1382
 
1383
  $cloned.append($cloned_content);
1384
  $cloned.append($cloned_helper);
1385
 
1386
  $wrapper.children().eq($parent.index()).after($cloned);
1387
 
1388
- $cloned.children('.csf-repeater-content').csf_reload_script();
1389
 
1390
- CSF.helper.name_nested_replace( $wrapper.children('.csf-repeater-item'), field_id );
1391
 
1392
- $wrapper.csf_customizer_refresh();
1393
- $wrapper.csf_customizer_listen({closest: true});
1394
 
1395
  };
1396
 
1397
- $wrapper.children('.csf-repeater-item').children('.csf-repeater-helper').on('click', '.csf-repeater-clone', event_clone);
1398
- $repeater.children('.csf-repeater-hidden').children('.csf-repeater-helper').on('click', '.csf-repeater-clone', event_clone);
1399
 
1400
  var event_remove = function( e ) {
1401
 
1402
  e.preventDefault();
1403
 
1404
- var count = $wrapper.children('.csf-repeater-item').length;
1405
 
1406
  $max.hide();
1407
  $min.hide();
@@ -1411,16 +1411,16 @@
1411
  return;
1412
  }
1413
 
1414
- $(this).closest('.csf-repeater-item').remove();
1415
 
1416
- CSF.helper.name_nested_replace( $wrapper.children('.csf-repeater-item'), field_id );
1417
 
1418
- $wrapper.csf_customizer_refresh();
1419
 
1420
  };
1421
 
1422
- $wrapper.children('.csf-repeater-item').children('.csf-repeater-helper').on('click', '.csf-repeater-remove', event_remove);
1423
- $repeater.children('.csf-repeater-hidden').children('.csf-repeater-helper').on('click', '.csf-repeater-remove', event_remove);
1424
 
1425
  });
1426
  };
@@ -1428,12 +1428,12 @@
1428
  //
1429
  // Field: slider
1430
  //
1431
- $.fn.csf_field_slider = function() {
1432
  return this.each( function() {
1433
 
1434
  var $this = $(this),
1435
  $input = $this.find('input'),
1436
- $slider = $this.find('.csf-slider-ui'),
1437
  data = $input.data(),
1438
  value = $input.val() || 0;
1439
 
@@ -1462,10 +1462,10 @@
1462
  //
1463
  // Field: sortable
1464
  //
1465
- $.fn.csf_field_sortable = function() {
1466
  return this.each( function() {
1467
 
1468
- var $sortable = $(this).find('.csf-sortable');
1469
 
1470
  $sortable.sortable({
1471
  axis: 'y',
@@ -1473,11 +1473,11 @@
1473
  cursor: 'move',
1474
  placeholder: 'widget-placeholder',
1475
  update: function( event, ui ) {
1476
- $sortable.csf_customizer_refresh();
1477
  }
1478
  });
1479
 
1480
- $sortable.find('.csf-sortable-content').csf_reload_script();
1481
 
1482
  });
1483
  };
@@ -1485,12 +1485,12 @@
1485
  //
1486
  // Field: sorter
1487
  //
1488
- $.fn.csf_field_sorter = function() {
1489
  return this.each( function() {
1490
 
1491
  var $this = $(this),
1492
- $enabled = $this.find('.csf-enabled'),
1493
- $has_disabled = $this.find('.csf-disabled'),
1494
  $disabled = ( $has_disabled.length ) ? $has_disabled : false;
1495
 
1496
  $enabled.sortable({
@@ -1500,13 +1500,13 @@
1500
 
1501
  var $el = ui.item.find('input');
1502
 
1503
- if ( ui.item.parent().hasClass('csf-enabled') ) {
1504
  $el.attr('name', $el.attr('name').replace('disabled', 'enabled'));
1505
  } else {
1506
  $el.attr('name', $el.attr('name').replace('enabled', 'disabled'));
1507
  }
1508
 
1509
- $this.csf_customizer_refresh();
1510
 
1511
  }
1512
  });
@@ -1517,7 +1517,7 @@
1517
  connectWith: $enabled,
1518
  placeholder: 'ui-sortable-placeholder',
1519
  update: function( event, ui ) {
1520
- $this.csf_customizer_refresh();
1521
  }
1522
  });
1523
 
@@ -1529,7 +1529,7 @@
1529
  //
1530
  // Field: spinner
1531
  //
1532
- $.fn.csf_field_spinner = function() {
1533
  return this.each( function() {
1534
 
1535
  var $this = $(this),
@@ -1547,7 +1547,7 @@
1547
  step: $input.data('step') || 1,
1548
  create: function( event, ui ) {
1549
  if ( $unit.length ) {
1550
- $this.find('.ui-spinner-up').after('<span class="ui-button-text-only csf--unit">'+ $unit +'</span>');
1551
  }
1552
  },
1553
  spin: function (event, ui ) {
@@ -1561,21 +1561,21 @@
1561
  //
1562
  // Field: switcher
1563
  //
1564
- $.fn.csf_field_switcher = function() {
1565
  return this.each( function() {
1566
 
1567
- var $switcher = $(this).find('.csf--switcher');
1568
 
1569
  $switcher.on('click', function() {
1570
 
1571
  var value = 0;
1572
  var $input = $switcher.find('input');
1573
 
1574
- if ( $switcher.hasClass('csf--active') ) {
1575
- $switcher.removeClass('csf--active');
1576
  } else {
1577
  value = 1;
1578
- $switcher.addClass('csf--active');
1579
  }
1580
 
1581
  $input.val(value).trigger('change');
@@ -1588,14 +1588,14 @@
1588
  //
1589
  // Field: tabbed
1590
  //
1591
- $.fn.csf_field_tabbed = function() {
1592
  return this.each( function() {
1593
 
1594
  var $this = $(this),
1595
- $links = $this.find('.csf-tabbed-nav a'),
1596
- $contents = $this.find('.csf-tabbed-content');
1597
 
1598
- $contents.eq(0).csf_reload_script();
1599
 
1600
  $links.on( 'click', function( e ) {
1601
 
@@ -1605,8 +1605,8 @@
1605
  index = $link.index(),
1606
  $content = $contents.eq(index);
1607
 
1608
- $link.addClass('csf-tabbed-active').siblings().removeClass('csf-tabbed-active');
1609
- $content.csf_reload_script();
1610
  $content.removeClass('hidden').siblings().addClass('hidden');
1611
 
1612
  });
@@ -1617,15 +1617,15 @@
1617
  //
1618
  // Field: typography
1619
  //
1620
- $.fn.csf_field_typography = function() {
1621
  return this.each(function () {
1622
 
1623
  var base = this;
1624
  var $this = $(this);
1625
  var loaded_fonts = [];
1626
- var webfonts = csf_typography_json.webfonts;
1627
- var googlestyles = csf_typography_json.googlestyles;
1628
- var defaultstyles = csf_typography_json.defaultstyles;
1629
 
1630
  //
1631
  //
@@ -1698,7 +1698,7 @@
1698
 
1699
  });
1700
 
1701
- $select.append(opts).trigger('csf.change').trigger('chosen:updated');
1702
 
1703
  };
1704
 
@@ -1708,9 +1708,9 @@
1708
  //
1709
  // Constants
1710
  var selected_styles = [];
1711
- var $typography = $this.find('.csf--typography');
1712
- var $type = $this.find('.csf--type');
1713
- var $styles = $this.find('.csf--block-font-style');
1714
  var unit = $typography.data('unit');
1715
  var line_height_unit = $typography.data('line-height-unit');
1716
  var exclude_fonts = $typography.data('exclude') ? $typography.data('exclude').split(',') : [];
@@ -1718,7 +1718,7 @@
1718
  //
1719
  //
1720
  // Chosen init
1721
- if ( $this.find('.csf--chosen').length ) {
1722
 
1723
  var $chosen_selects = $this.find('select');
1724
 
@@ -1744,7 +1744,7 @@
1744
  //
1745
  //
1746
  // Font family select
1747
- var $font_family_select = $this.find('.csf--font-family');
1748
  var first_font_family = $font_family_select.val();
1749
 
1750
  // Clear default font family select options
@@ -1778,16 +1778,16 @@
1778
  //
1779
  //
1780
  // Font style select
1781
- var $font_style_block = $this.find('.csf--block-font-style');
1782
 
1783
  if ( $font_style_block.length ) {
1784
 
1785
- var $font_style_select = $this.find('.csf--font-style-select');
1786
  var first_style_value = $font_style_select.val() ? $font_style_select.val().replace(/normal/g, '' ) : '';
1787
 
1788
  //
1789
  // Font Style on on change listener
1790
- $font_style_select.on('change csf.change', function( event ) {
1791
 
1792
  var style_value = $font_style_select.val();
1793
 
@@ -1801,18 +1801,18 @@
1801
  var font_weight = ( style_value && style_value !== 'italic' && style_value !== 'normal' ) ? style_value.replace('italic', '') : font_normal;
1802
  var font_style = ( style_value && style_value.substr(-6) === 'italic' ) ? 'italic' : '';
1803
 
1804
- $this.find('.csf--font-weight').val( font_weight );
1805
- $this.find('.csf--font-style').val( font_style );
1806
 
1807
  });
1808
 
1809
  //
1810
  //
1811
  // Extra font style select
1812
- var $extra_font_style_block = $this.find('.csf--block-extra-styles');
1813
 
1814
  if ( $extra_font_style_block.length ) {
1815
- var $extra_font_style_select = $this.find('.csf--extra-styles');
1816
  var first_extra_style_value = $extra_font_style_select.val();
1817
  }
1818
 
@@ -1821,9 +1821,9 @@
1821
  //
1822
  //
1823
  // Subsets select
1824
- var $subset_block = $this.find('.csf--block-subset');
1825
  if ( $subset_block.length ) {
1826
- var $subset_select = $this.find('.csf--subset');
1827
  var first_subset_select_value = $subset_select.val();
1828
  var subset_multi_select = $subset_select.data('multiple') || false;
1829
  }
@@ -1831,12 +1831,12 @@
1831
  //
1832
  //
1833
  // Backup font family
1834
- var $backup_font_family_block = $this.find('.csf--block-backup-font-family');
1835
 
1836
  //
1837
  //
1838
  // Font Family on Change Listener
1839
- $font_family_select.on('change csf.change', function( event ) {
1840
 
1841
  // Hide subsets on change
1842
  if ( $subset_block.length ) {
@@ -1948,36 +1948,36 @@
1948
  // Update font type input value
1949
  $type.val(type);
1950
 
1951
- }).trigger('csf.change');
1952
 
1953
  //
1954
  //
1955
  // Preview
1956
- var $preview_block = $this.find('.csf--block-preview');
1957
 
1958
  if ( $preview_block.length ) {
1959
 
1960
- var $preview = $this.find('.csf--preview');
1961
 
1962
  // Set preview styles on change
1963
- $this.on('change', CSF.helper.debounce( function( event ) {
1964
 
1965
  $preview_block.removeClass('hidden');
1966
 
1967
  var font_family = $font_family_select.val(),
1968
- font_weight = $this.find('.csf--font-weight').val(),
1969
- font_style = $this.find('.csf--font-style').val(),
1970
- font_size = $this.find('.csf--font-size').val(),
1971
- font_variant = $this.find('.csf--font-variant').val(),
1972
- line_height = $this.find('.csf--line-height').val(),
1973
- text_align = $this.find('.csf--text-align').val(),
1974
- text_transform = $this.find('.csf--text-transform').val(),
1975
- text_decoration = $this.find('.csf--text-decoration').val(),
1976
- text_color = $this.find('.csf--color').val(),
1977
- word_spacing = $this.find('.csf--word-spacing').val(),
1978
- letter_spacing = $this.find('.csf--letter-spacing').val(),
1979
- custom_style = $this.find('.csf--custom-style').val(),
1980
- type = $this.find('.csf--type').val();
1981
 
1982
  if ( type === 'google' ) {
1983
  base.load_google_font(font_family, font_weight, font_style);
@@ -2010,9 +2010,9 @@
2010
  // Preview black and white backgrounds trigger
2011
  $preview_block.on('click', function() {
2012
 
2013
- $preview.toggleClass('csf--black-background');
2014
 
2015
- var $toggle = $preview_block.find('.csf--toggle');
2016
 
2017
  if ( $toggle.hasClass('fa-toggle-off') ) {
2018
  $toggle.removeClass('fa-toggle-off').addClass('fa-toggle-on');
@@ -2038,13 +2038,13 @@
2038
  //
2039
  // Field: upload
2040
  //
2041
- $.fn.csf_field_upload = function() {
2042
  return this.each( function() {
2043
 
2044
  var $this = $(this),
2045
  $input = $this.find('input'),
2046
- $upload_button = $this.find('.csf--button'),
2047
- $remove_button = $this.find('.csf--remove'),
2048
  $library = $upload_button.data('library') && $upload_button.data('library').split(',') || '',
2049
  wp_media_frame;
2050
 
@@ -2103,15 +2103,15 @@
2103
  //
2104
  // Field: wp_editor
2105
  //
2106
- $.fn.csf_field_wp_editor = function() {
2107
  return this.each( function() {
2108
 
2109
- if ( typeof window.wp.editor === 'undefined' || typeof window.tinyMCEPreInit === 'undefined' || typeof window.tinyMCEPreInit.mceInit.csf_wp_editor === 'undefined' ) {
2110
  return;
2111
  }
2112
 
2113
  var $this = $(this),
2114
- $editor = $this.find('.csf-wp-editor'),
2115
  $textarea = $this.find('textarea');
2116
 
2117
  // If there is wp-editor remove it for avoid dupliated wp-editor conflicts.
@@ -2124,14 +2124,14 @@
2124
  }
2125
 
2126
  // Generate a unique id
2127
- var uid = CSF.helper.uid('csf-editor-');
2128
 
2129
  $textarea.attr('id', uid);
2130
 
2131
  // Get default editor settings
2132
  var default_editor_settings = {
2133
- tinymce: window.tinyMCEPreInit.mceInit.csf_wp_editor,
2134
- quicktags: window.tinyMCEPreInit.qtInit.csf_wp_editor
2135
  };
2136
 
2137
  // Get default editor settings
@@ -2139,7 +2139,7 @@
2139
 
2140
  // Add on change event handle
2141
  var editor_on_change = function( editor ) {
2142
- editor.on('change', CSF.helper.debounce( function() {
2143
  editor.save();
2144
  $textarea.trigger('change');
2145
  }, 250 ) );
@@ -2160,13 +2160,13 @@
2160
  // Override editor tinymce settings
2161
  if ( field_editor_settings.tinymce === false ) {
2162
  default_editor_settings.tinymce = false;
2163
- $editor.addClass('csf-no-tinymce');
2164
  }
2165
 
2166
  // Override editor quicktags settings
2167
  if ( field_editor_settings.quicktags === false ) {
2168
  default_editor_settings.quicktags = false;
2169
- $editor.addClass('csf-no-quicktags');
2170
  }
2171
 
2172
  // Wait until :visible
@@ -2178,19 +2178,19 @@
2178
  });
2179
 
2180
  // Add Media buttons
2181
- if ( field_editor_settings.media_buttons && window.csf_media_buttons ) {
2182
 
2183
  var $editor_buttons = $editor.find('.wp-media-buttons');
2184
 
2185
  if ( $editor_buttons.length ) {
2186
 
2187
- $editor_buttons.find('.csf-shortcode-button').data('editor-id', uid);
2188
 
2189
  } else {
2190
 
2191
- var $media_buttons = $(window.csf_media_buttons);
2192
 
2193
- $media_buttons.find('.csf-shortcode-button').data('editor-id', uid);
2194
 
2195
  $editor.prepend( $media_buttons );
2196
 
@@ -2205,16 +2205,16 @@
2205
  //
2206
  // Confirm
2207
  //
2208
- $.fn.csf_confirm = function() {
2209
  return this.each( function() {
2210
  $(this).on('click', function( e ) {
2211
 
2212
- var confirm_text = $(this).data('confirm') || window.csf_vars.i18n.confirm;
2213
  var confirm_answer = confirm( confirm_text );
2214
 
2215
  if ( confirm_answer ) {
2216
- CSF.vars.is_confirm = true;
2217
- CSF.vars.form_modified = false;
2218
  } else {
2219
  e.preventDefault();
2220
  return false;
@@ -2244,12 +2244,12 @@
2244
  //
2245
  // Options Save
2246
  //
2247
- $.fn.csf_save = function() {
2248
  return this.each( function() {
2249
 
2250
  var $this = $(this),
2251
- $buttons = $('.csf-save'),
2252
- $panel = $('.csf-options'),
2253
  flooding = false,
2254
  timeout;
2255
 
@@ -2262,55 +2262,55 @@
2262
 
2263
  $buttons.attr('value', $text);
2264
 
2265
- if ( $this.hasClass('csf-save-ajax') ) {
2266
 
2267
  e.preventDefault();
2268
 
2269
- $panel.addClass('csf-saving');
2270
  $buttons.prop('disabled', true);
2271
 
2272
- window.wp.ajax.post( 'csf_'+ $panel.data('unique') +'_ajax_save', {
2273
- data: $('#csf-form').serializeJSONCSF()
2274
  })
2275
  .done( function( response ) {
2276
 
2277
  // clear errors
2278
- $('.csf-error').remove();
2279
 
2280
  if ( Object.keys( response.errors ).length ) {
2281
 
2282
- var error_icon = '<i class="csf-label-error csf-error">!</i>';
2283
 
2284
  $.each(response.errors, function( key, error_message ) {
2285
 
2286
  var $field = $('[data-depend-id="'+ key +'"]'),
2287
- $link = $('#csf-tab-link-'+ ($field.closest('.csf-section').index()+1)),
2288
- $tab = $link.closest('.csf-tab-depth-0');
2289
 
2290
- $field.closest('.csf-fieldset').append( '<p class="csf-error csf-error-text">'+ error_message +'</p>' );
2291
 
2292
- if ( !$link.find('.csf-error').length ) {
2293
  $link.append( error_icon );
2294
  }
2295
 
2296
- if ( !$tab.find('.csf-arrow .csf-error').length ) {
2297
- $tab.find('.csf-arrow').append( error_icon );
2298
  }
2299
 
2300
  });
2301
 
2302
  }
2303
 
2304
- $panel.removeClass('csf-saving');
2305
  $buttons.prop('disabled', false).attr('value', $value);
2306
  flooding = false;
2307
 
2308
- CSF.vars.form_modified = false;
2309
- CSF.vars.$form_warning.hide();
2310
 
2311
  clearTimeout(timeout);
2312
 
2313
- var $result_success = $('.csf-form-success');
2314
  $result_success.empty().append(response.notice).fadeIn('fast', function() {
2315
  timeout = setTimeout( function() {
2316
  $result_success.fadeOut('fast');
@@ -2324,7 +2324,7 @@
2324
 
2325
  } else {
2326
 
2327
- CSF.vars.form_modified = false;
2328
 
2329
  }
2330
 
@@ -2340,35 +2340,35 @@
2340
  //
2341
  // Option Framework
2342
  //
2343
- $.fn.csf_options = function() {
2344
  return this.each( function() {
2345
 
2346
  var $this = $(this),
2347
- $content = $this.find('.csf-content'),
2348
- $form_success = $this.find('.csf-form-success'),
2349
- $form_warning = $this.find('.csf-form-warning'),
2350
- $save_button = $this.find('.csf-header .csf-save');
2351
 
2352
- CSF.vars.$form_warning = $form_warning;
2353
 
2354
  // Shows a message white leaving theme options without saving
2355
  if ( $form_warning.length ) {
2356
 
2357
  window.onbeforeunload = function() {
2358
- return ( CSF.vars.form_modified ) ? true : undefined;
2359
  };
2360
 
2361
  $content.on('change keypress', ':input', function() {
2362
- if ( !CSF.vars.form_modified ) {
2363
  $form_success.hide();
2364
  $form_warning.fadeIn('fast');
2365
- CSF.vars.form_modified = true;
2366
  }
2367
  });
2368
 
2369
  }
2370
 
2371
- if ( $form_success.hasClass('csf-form-show') ) {
2372
  setTimeout( function() {
2373
  $form_success.fadeOut('fast');
2374
  }, 1000);
@@ -2388,7 +2388,7 @@
2388
  //
2389
  // Taxonomy Framework
2390
  //
2391
- $.fn.csf_taxonomy = function() {
2392
  return this.each( function() {
2393
 
2394
  var $this = $(this),
@@ -2397,7 +2397,7 @@
2397
  if ( $form.attr('id') === 'addtag' ) {
2398
 
2399
  var $submit = $form.find('#submit'),
2400
- $cloned = $this.find('.csf-field').csf_clone();
2401
 
2402
  $submit.on( 'click', function() {
2403
 
@@ -2409,9 +2409,9 @@
2409
 
2410
  $this.html( $cloned );
2411
 
2412
- $cloned = $cloned.csf_clone();
2413
 
2414
- $this.csf_reload_script();
2415
 
2416
  }
2417
 
@@ -2425,7 +2425,7 @@
2425
  //
2426
  // Shortcode Framework
2427
  //
2428
- $.fn.csf_shortcode = function() {
2429
 
2430
  var base = this;
2431
 
@@ -2534,10 +2534,10 @@
2534
  return this.each( function() {
2535
 
2536
  var $modal = $(this),
2537
- $load = $modal.find('.csf-modal-load'),
2538
- $content = $modal.find('.csf-modal-content'),
2539
- $insert = $modal.find('.csf-modal-insert'),
2540
- $loading = $modal.find('.csf-modal-loading'),
2541
  $select = $modal.find('select'),
2542
  modal_id = $modal.data('modal-id'),
2543
  nonce = $modal.data('nonce'),
@@ -2551,7 +2551,7 @@
2551
  $cloned,
2552
  $button;
2553
 
2554
- $(document).on('click', '.csf-shortcode-button[data-modal-id="'+ modal_id +'"]', function( e ) {
2555
 
2556
  e.preventDefault();
2557
 
@@ -2563,7 +2563,7 @@
2563
  $modal.removeClass('hidden');
2564
 
2565
  // single usage trigger first shortcode
2566
- if ( $modal.hasClass('csf-shortcode-single') && sc_name === undefined ) {
2567
  $select.trigger('change');
2568
  }
2569
 
@@ -2585,7 +2585,7 @@
2585
 
2586
  $loading.show();
2587
 
2588
- window.wp.ajax.post( 'csf-get-shortcode-'+ modal_id, {
2589
  shortcode_key: sc_key,
2590
  nonce: nonce
2591
  })
@@ -2597,10 +2597,10 @@
2597
 
2598
  $insert.parent().removeClass('hidden');
2599
 
2600
- $cloned = $appended.find('.csf--repeat-shortcode').csf_clone();
2601
 
2602
- $appended.csf_reload_script();
2603
- $appended.find('.csf-fields').csf_reload_script();
2604
 
2605
  });
2606
 
@@ -2619,7 +2619,7 @@
2619
  if ( $insert.prop('disabled') || $insert.attr('disabled') ) { return; }
2620
 
2621
  var shortcode = '';
2622
- var serialize = $modal.find('.csf-field:not(.csf-depend-on)').find(':input:not(.ignore)').serializeObjectCSF();
2623
 
2624
  switch ( sc_view ) {
2625
 
@@ -2657,8 +2657,8 @@
2657
 
2658
  if ( gutenberg_id ) {
2659
 
2660
- var content = window.csf_gutenberg_props.attributes.hasOwnProperty('shortcode') ? window.csf_gutenberg_props.attributes.shortcode : '';
2661
- window.csf_gutenberg_props.setAttributes({shortcode: content + shortcode});
2662
 
2663
  } else if ( editor_id ) {
2664
 
@@ -2675,31 +2675,31 @@
2675
 
2676
  });
2677
 
2678
- $modal.on('click', '.csf--repeat-button', function( e ) {
2679
 
2680
  e.preventDefault();
2681
 
2682
- var $repeatable = $modal.find('.csf--repeatable');
2683
- var $new_clone = $cloned.csf_clone();
2684
- var $remove_btn = $new_clone.find('.csf-repeat-remove');
2685
 
2686
  var $appended = $new_clone.appendTo( $repeatable );
2687
 
2688
- $new_clone.find('.csf-fields').csf_reload_script();
2689
 
2690
- CSF.helper.name_nested_replace( $modal.find('.csf--repeat-shortcode'), sc_group );
2691
 
2692
  $remove_btn.on('click', function() {
2693
 
2694
  $new_clone.remove();
2695
 
2696
- CSF.helper.name_nested_replace( $modal.find('.csf--repeat-shortcode'), sc_group );
2697
 
2698
  });
2699
 
2700
  });
2701
 
2702
- $modal.on('click', '.csf-modal-close, .csf-modal-overlay', function() {
2703
  $modal.addClass('hidden');
2704
  });
2705
 
@@ -2733,7 +2733,7 @@
2733
 
2734
  }
2735
 
2736
- CSF.funcs.parse_color = function( color ) {
2737
 
2738
  var value = color.replace(/\s+/g, ''),
2739
  trans = ( value.indexOf('rgba') !== -1 ) ? parseFloat( value.replace(/^.*,(.+)\)/, '$1') * 100 ) : 100,
@@ -2743,12 +2743,12 @@
2743
 
2744
  };
2745
 
2746
- $.fn.csf_color = function() {
2747
  return this.each( function() {
2748
 
2749
  var $input = $(this),
2750
- picker_color = CSF.funcs.parse_color( $input.val() ),
2751
- palette_color = window.csf_vars.color_palette.length ? window.csf_vars.color_palette : true,
2752
  $container;
2753
 
2754
  // Destroy and Reinit
@@ -2762,8 +2762,8 @@
2762
 
2763
  var ui_color_value = ui.color.toString();
2764
 
2765
- $container.removeClass('csf--transparent-active');
2766
- $container.find('.csf--transparent-offset').css('background-color', ui_color_value);
2767
  $input.val(ui_color_value).trigger('change');
2768
 
2769
  },
@@ -2772,28 +2772,28 @@
2772
  $container = $input.closest('.wp-picker-container');
2773
 
2774
  var a8cIris = $input.data('a8cIris'),
2775
- $transparent_wrap = $('<div class="csf--transparent-wrap">' +
2776
- '<div class="csf--transparent-slider"></div>' +
2777
- '<div class="csf--transparent-offset"></div>' +
2778
- '<div class="csf--transparent-text"></div>' +
2779
- '<div class="csf--transparent-button">transparent <i class="fas fa-toggle-off"></i></div>' +
2780
  '</div>').appendTo( $container.find('.wp-picker-holder') ),
2781
- $transparent_slider = $transparent_wrap.find('.csf--transparent-slider'),
2782
- $transparent_text = $transparent_wrap.find('.csf--transparent-text'),
2783
- $transparent_offset = $transparent_wrap.find('.csf--transparent-offset'),
2784
- $transparent_button = $transparent_wrap.find('.csf--transparent-button');
2785
 
2786
  if ( $input.val() === 'transparent' ) {
2787
- $container.addClass('csf--transparent-active');
2788
  }
2789
 
2790
  $transparent_button.on('click', function() {
2791
  if ( $input.val() !== 'transparent' ) {
2792
  $input.val('transparent').trigger('change').removeClass('iris-error');
2793
- $container.addClass('csf--transparent-active');
2794
  } else {
2795
  $input.val( a8cIris._color.toString() ).trigger('change');
2796
- $container.removeClass('csf--transparent-active');
2797
  }
2798
  });
2799
 
@@ -2823,14 +2823,14 @@
2823
  a8cIris._color._alpha = 1;
2824
  $transparent_text.text('');
2825
  $transparent_slider.slider('option', 'value', 100);
2826
- $container.removeClass('csf--transparent-active');
2827
  $input.trigger('change');
2828
 
2829
  });
2830
 
2831
  $container.on('click', '.wp-picker-default', function() {
2832
 
2833
- var default_color = CSF.funcs.parse_color( $input.data('default-color') ),
2834
  default_value = parseFloat( default_color.transparent / 100 ),
2835
  default_text = default_value < 1 ? default_value : '';
2836
 
@@ -2851,20 +2851,20 @@
2851
  //
2852
  // ChosenJS
2853
  //
2854
- $.fn.csf_chosen = function() {
2855
  return this.each( function() {
2856
 
2857
  var $this = $(this),
2858
  $inited = $this.parent().find('.chosen-container'),
2859
- is_sortable = $this.hasClass('csf-chosen-sortable') || false,
2860
- is_ajax = $this.hasClass('csf-chosen-ajax') || false,
2861
  is_multiple = $this.attr('multiple') || false,
2862
  set_width = is_multiple ? '100%' : 'auto',
2863
  set_options = $.extend({
2864
  allow_single_deselect: true,
2865
  disable_search_threshold: 10,
2866
  width: set_width,
2867
- no_results_text: window.csf_vars.i18n.no_results_text,
2868
  }, $this.data('chosen-settings'));
2869
 
2870
  if ( $inited.length ) {
@@ -2884,12 +2884,12 @@
2884
  width: '100%',
2885
  min_length: 3,
2886
  type_delay: 500,
2887
- typing_text: window.csf_vars.i18n.typing_text,
2888
- searching_text: window.csf_vars.i18n.searching_text,
2889
- no_results_text: window.csf_vars.i18n.no_results_text,
2890
  }, $this.data('chosen-settings'));
2891
 
2892
- $this.CSFAjaxChosen(set_ajax_options);
2893
 
2894
  } else {
2895
 
@@ -2900,7 +2900,7 @@
2900
  // Chosen keep options order
2901
  if ( is_multiple ) {
2902
 
2903
- var $hidden_select = $this.parent().find('.csf-hide-select');
2904
  var $hidden_value = $hidden_select.val() || [];
2905
 
2906
  $this.on('change', function(obj, result) {
@@ -2921,7 +2921,7 @@
2921
  });
2922
 
2923
  // Chosen order abstract
2924
- $this.CSFChosenOrder($hidden_value, true);
2925
 
2926
  }
2927
 
@@ -2950,7 +2950,7 @@
2950
 
2951
  var select_options = '';
2952
  var chosen_object = $this.data('chosen');
2953
- var $prev_select = $this.parent().find('.csf-hide-select');
2954
 
2955
  $chosen_choices.find('.search-choice-close').each( function() {
2956
  var option_array_index = $(this).data('option-array-index');
@@ -2976,12 +2976,12 @@
2976
  //
2977
  // Helper Checkbox Checker
2978
  //
2979
- $.fn.csf_checkbox = function() {
2980
  return this.each( function() {
2981
 
2982
  var $this = $(this),
2983
- $input = $this.find('.csf--input'),
2984
- $checkbox = $this.find('.csf--checkbox');
2985
 
2986
  $checkbox.on('click', function() {
2987
  $input.val( Number( $checkbox.prop('checked') ) ).trigger('change');
@@ -2993,11 +2993,11 @@
2993
  //
2994
  // Siblings
2995
  //
2996
- $.fn.csf_siblings = function() {
2997
  return this.each( function() {
2998
 
2999
  var $this = $(this),
3000
- $siblings = $this.find('.csf--sibling'),
3001
  multiple = $this.data('multiple') || false;
3002
 
3003
  $siblings.on('click', function() {
@@ -3006,11 +3006,11 @@
3006
 
3007
  if ( multiple ) {
3008
 
3009
- if ( $sibling.hasClass('csf--active') ) {
3010
- $sibling.removeClass('csf--active');
3011
  $sibling.find('input').prop('checked', false).trigger('change');
3012
  } else {
3013
- $sibling.addClass('csf--active');
3014
  $sibling.find('input').prop('checked', true).trigger('change');
3015
  }
3016
 
@@ -3018,7 +3018,7 @@
3018
 
3019
  $this.find('input').prop('checked', false);
3020
  $sibling.find('input').prop('checked', true).trigger('change');
3021
- $sibling.addClass('csf--active').siblings().removeClass('csf--active');
3022
 
3023
  }
3024
 
@@ -3030,7 +3030,7 @@
3030
  //
3031
  // Help Tooltip
3032
  //
3033
- $.fn.csf_help = function() {
3034
  return this.each( function() {
3035
 
3036
  var $this = $(this),
@@ -3040,8 +3040,8 @@
3040
  $this.on({
3041
  mouseenter: function() {
3042
 
3043
- $tooltip = $( '<div class="csf-tooltip"></div>' ).html( $this.find('.csf-help-text').html() ).appendTo('body');
3044
- offset_left = ( CSF.vars.is_rtl ) ? ( $this.offset().left + 24 ) : ( $this.offset().left - $tooltip.outerWidth() );
3045
 
3046
  $tooltip.css({
3047
  top: $this.offset().top - ( ( $tooltip.outerHeight() / 2 ) - 14 ),
@@ -3065,18 +3065,18 @@
3065
  //
3066
  // Customize Refresh
3067
  //
3068
- $.fn.csf_customizer_refresh = function() {
3069
  return this.each( function() {
3070
 
3071
  var $this = $(this),
3072
- $complex = $this.closest('.csf-customize-complex');
3073
 
3074
  if ( $complex.length ) {
3075
 
3076
  var $input = $complex.find(':input'),
3077
  $unique = $complex.data('unique-id'),
3078
  $option = $complex.data('option-id'),
3079
- obj = $input.serializeObjectCSF(),
3080
  data = ( !$.isEmptyObject(obj) ) ? obj[$unique][$option] : '',
3081
  control = window.wp.customize.control($unique +'['+ $option +']');
3082
 
@@ -3091,7 +3091,7 @@
3091
 
3092
  }
3093
 
3094
- $(document).trigger('csf-customizer-refresh', $this);
3095
 
3096
  });
3097
  };
@@ -3099,7 +3099,7 @@
3099
  //
3100
  // Customize Listen Form Elements
3101
  //
3102
- $.fn.csf_customizer_listen = function( options ) {
3103
 
3104
  var settings = $.extend({
3105
  closest: false,
@@ -3109,16 +3109,16 @@
3109
 
3110
  if ( window.wp.customize === undefined ) { return; }
3111
 
3112
- var $this = ( settings.closest ) ? $(this).closest('.csf-customize-complex') : $(this),
3113
  $input = $this.find(':input'),
3114
  unique_id = $this.data('unique-id'),
3115
  option_id = $this.data('option-id');
3116
 
3117
  if ( unique_id === undefined ) { return; }
3118
 
3119
- $input.on('change keyup', CSF.helper.debounce( function() {
3120
 
3121
- var obj = $this.find(':input').serializeObjectCSF();
3122
  var val = ( !$.isEmptyObject(obj) && obj[unique_id] && obj[unique_id][option_id] ) ? obj[unique_id][option_id] : '';
3123
 
3124
  window.wp.customize.control( unique_id +'['+ option_id +']' ).setting.set( val );
@@ -3137,13 +3137,13 @@
3137
 
3138
  if ( $this.hasClass('open') && !$this.data('inited') ) {
3139
 
3140
- var $fields = $this.find('.csf-customize-field');
3141
- var $complex = $this.find('.csf-customize-complex');
3142
 
3143
  if ( $fields.length ) {
3144
- $this.csf_dependency();
3145
- $fields.csf_reload_script({dependency: false});
3146
- $complex.csf_customizer_listen();
3147
  }
3148
 
3149
  $this.data('inited', true);
@@ -3155,33 +3155,33 @@
3155
  //
3156
  // Window on resize
3157
  //
3158
- CSF.vars.$window.on('resize csf.resize', CSF.helper.debounce( function( event ) {
3159
 
3160
- var window_width = navigator.userAgent.indexOf('AppleWebKit/') > -1 ? CSF.vars.$window.width() : window.innerWidth;
3161
 
3162
- if ( window_width <= 782 && !CSF.vars.onloaded ) {
3163
- $('.csf-section').csf_reload_script();
3164
- CSF.vars.onloaded = true;
3165
  }
3166
 
3167
- }, 200)).trigger('csf.resize');
3168
 
3169
  //
3170
  // Widgets Framework
3171
  //
3172
- $.fn.csf_widgets = function() {
3173
  if ( this.length ) {
3174
 
3175
  $(document).on('widget-added widget-updated', function( event, $widget ) {
3176
- $widget.find('.csf-fields').csf_reload_script();
3177
  });
3178
 
3179
  $('.widgets-sortables, .control-section-sidebar').on('sortstop', function( event, ui ) {
3180
- ui.item.find('.csf-fields').csf_reload_script_retry();
3181
  });
3182
 
3183
  $(document).on('click', '.widget-top', function( event ) {
3184
- $(this).parent().find('.csf-fields').csf_reload_script();
3185
  });
3186
 
3187
  }
@@ -3190,17 +3190,17 @@
3190
  //
3191
  // Nav Menu Options Framework
3192
  //
3193
- $.fn.csf_nav_menu = function() {
3194
  return this.each( function() {
3195
 
3196
  var $navmenu = $(this);
3197
 
3198
  $navmenu.on('click', 'a.item-edit', function() {
3199
- $(this).closest('li.menu-item').find('.csf-fields').csf_reload_script();
3200
  });
3201
 
3202
  $navmenu.on('sortstop', function( event, ui ) {
3203
- ui.item.find('.csf-fields').csf_reload_script_retry();
3204
  });
3205
 
3206
  });
@@ -3209,13 +3209,13 @@
3209
  //
3210
  // Retry Plugins
3211
  //
3212
- $.fn.csf_reload_script_retry = function() {
3213
  return this.each( function() {
3214
 
3215
  var $this = $(this);
3216
 
3217
  if ( $this.data('inited') ) {
3218
- $this.children('.csf-field-wp_editor').csf_field_wp_editor();
3219
  }
3220
 
3221
  });
@@ -3224,7 +3224,7 @@
3224
  //
3225
  // Reload Plugins
3226
  //
3227
- $.fn.csf_reload_script = function( options ) {
3228
 
3229
  var settings = $.extend({
3230
  dependency: true,
@@ -3238,57 +3238,57 @@
3238
  if ( !$this.data('inited') ) {
3239
 
3240
  // Field plugins
3241
- $this.children('.csf-field-accordion').csf_field_accordion();
3242
- $this.children('.csf-field-backup').csf_field_backup();
3243
- $this.children('.csf-field-background').csf_field_background();
3244
- $this.children('.csf-field-code_editor').csf_field_code_editor();
3245
- $this.children('.csf-field-date').csf_field_date();
3246
- $this.children('.csf-field-fieldset').csf_field_fieldset();
3247
- $this.children('.csf-field-gallery').csf_field_gallery();
3248
- $this.children('.csf-field-group').csf_field_group();
3249
- $this.children('.csf-field-icon').csf_field_icon();
3250
- $this.children('.csf-field-media').csf_field_media();
3251
- $this.children('.csf-field-map').csf_field_map();
3252
- $this.children('.csf-field-repeater').csf_field_repeater();
3253
- $this.children('.csf-field-slider').csf_field_slider();
3254
- $this.children('.csf-field-sortable').csf_field_sortable();
3255
- $this.children('.csf-field-sorter').csf_field_sorter();
3256
- $this.children('.csf-field-spinner').csf_field_spinner();
3257
- $this.children('.csf-field-switcher').csf_field_switcher();
3258
- $this.children('.csf-field-tabbed').csf_field_tabbed();
3259
- $this.children('.csf-field-typography').csf_field_typography();
3260
- $this.children('.csf-field-upload').csf_field_upload();
3261
- $this.children('.csf-field-wp_editor').csf_field_wp_editor();
3262
 
3263
  // Field colors
3264
- $this.children('.csf-field-border').find('.csf-color').csf_color();
3265
- $this.children('.csf-field-background').find('.csf-color').csf_color();
3266
- $this.children('.csf-field-color').find('.csf-color').csf_color();
3267
- $this.children('.csf-field-color_group').find('.csf-color').csf_color();
3268
- $this.children('.csf-field-link_color').find('.csf-color').csf_color();
3269
- $this.children('.csf-field-typography').find('.csf-color').csf_color();
3270
 
3271
  // Field chosenjs
3272
- $this.children('.csf-field-select').find('.csf-chosen').csf_chosen();
3273
 
3274
  // Field Checkbox
3275
- $this.children('.csf-field-checkbox').find('.csf-checkbox').csf_checkbox();
3276
 
3277
  // Field Siblings
3278
- $this.children('.csf-field-button_set').find('.csf-siblings').csf_siblings();
3279
- $this.children('.csf-field-image_select').find('.csf-siblings').csf_siblings();
3280
- $this.children('.csf-field-palette').find('.csf-siblings').csf_siblings();
3281
 
3282
  // Help Tooptip
3283
- $this.children('.csf-field').find('.csf-help').csf_help();
3284
 
3285
  if ( settings.dependency ) {
3286
- $this.csf_dependency();
3287
  }
3288
 
3289
  $this.data('inited', true);
3290
 
3291
- $(document).trigger('csf-reload-script', $this);
3292
 
3293
  }
3294
 
@@ -3300,21 +3300,21 @@
3300
  //
3301
  $(document).ready( function() {
3302
 
3303
- $('.csf-save').csf_save();
3304
- $('.csf-options').csf_options();
3305
- $('.csf-sticky-header').csf_sticky();
3306
- $('.csf-nav-options').csf_nav_options();
3307
- $('.csf-nav-metabox').csf_nav_metabox();
3308
- $('.csf-taxonomy').csf_taxonomy();
3309
- $('.csf-page-templates').csf_page_templates();
3310
- $('.csf-post-formats').csf_post_formats();
3311
- $('.csf-shortcode').csf_shortcode();
3312
- $('.csf-search').csf_search();
3313
- $('.csf-confirm').csf_confirm();
3314
- $('.csf-expand-all').csf_expand_all();
3315
- $('.csf-onload').csf_reload_script();
3316
- $('.widget').csf_widgets();
3317
- $('#menu-to-edit').csf_nav_menu();
3318
 
3319
  });
3320
 
14
  //
15
  // Constants
16
  //
17
+ var ULF = ULF || {};
18
 
19
+ ULF.funcs = {};
20
 
21
+ ULF.vars = {
22
  onloaded: false,
23
  $body: $('body'),
24
  $window: $(window),
33
  //
34
  // Helper Functions
35
  //
36
+ ULF.helper = {
37
 
38
  //
39
  // Generate UID
54
  name_nested_replace: function( $selector, field_id ) {
55
 
56
  var checks = [];
57
+ var regex = new RegExp('('+ ULF.helper.preg_quote(field_id) +')\\[(\\d+)\\]', 'g');
58
 
59
  $selector.find(':radio').each(function() {
60
  if ( this.checked || this.orginal_checked ) {
100
  //
101
  // Custom clone for textarea and select clone() bug
102
  //
103
+ $.fn.ulf_clone = function() {
104
 
105
  var base = $.fn.clone.apply(this, arguments),
106
  clone = this.find('select').add(this.filter('select')),
127
  //
128
  // Expand All Options
129
  //
130
+ $.fn.ulf_expand_all = function() {
131
  return this.each( function() {
132
  $(this).on('click', function( e ) {
133
 
134
  e.preventDefault();
135
+ $('.ulf-wrapper').toggleClass('ulf-show-all');
136
+ $('.ulf-section').ulf_reload_script();
137
  $(this).find('.fa').toggleClass('fa-indent').toggleClass('fa-outdent');
138
 
139
  });
143
  //
144
  // Options Navigation
145
  //
146
+ $.fn.ulf_nav_options = function() {
147
  return this.each( function() {
148
 
149
  var $nav = $(this),
150
  $links = $nav.find('a'),
151
  $last;
152
 
153
+ $(window).on('hashchange ulf.hashchange', function() {
154
 
155
  var hash = window.location.hash.replace('#tab=', '');
156
  var slug = hash ? hash : $links.first().attr('href').replace('#tab=', '');
158
 
159
  if ( $link.length ) {
160
 
161
+ $link.closest('.ulf-tab-item').addClass('ulf-tab-expanded').siblings().removeClass('ulf-tab-expanded');
162
 
163
  if( $link.next().is('ul') ) {
164
 
167
 
168
  }
169
 
170
+ $links.removeClass('ulf-active');
171
+ $link.addClass('ulf-active');
172
 
173
  if ( $last ) {
174
  $last.hide();
177
  var $section = $('[data-section-id="'+slug+'"]');
178
 
179
  $section.show();
180
+ $section.ulf_reload_script();
181
 
182
+ $('.ulf-section-id').val( $section.index() );
183
 
184
  $last = $section;
185
 
186
  }
187
 
188
+ }).trigger('ulf.hashchange');
189
 
190
  });
191
  };
193
  //
194
  // Metabox Tabs
195
  //
196
+ $.fn.ulf_nav_metabox = function() {
197
  return this.each( function() {
198
 
199
  var $nav = $(this),
200
  $links = $nav.find('a'),
201
+ $sections = $nav.parent().find('.ulf-section'),
202
  $last;
203
 
204
  $links.each( function( index ) {
209
 
210
  var $link = $(this);
211
 
212
+ $links.removeClass('ulf-active');
213
+ $link.addClass('ulf-active');
214
 
215
  if ( $last !== undefined ) {
216
  $last.hide();
219
  var $section = $sections.eq(index);
220
 
221
  $section.show();
222
+ $section.ulf_reload_script();
223
 
224
  $last = $section;
225
 
235
  //
236
  // Metabox Page Templates Listener
237
  //
238
+ $.fn.ulf_page_templates = function() {
239
  if ( this.length ) {
240
 
241
  $(document).on('change', '.editor-page-attributes__template select, #page_template', function() {
242
 
243
  var maybe_value = $(this).val() || 'default';
244
 
245
+ $('.ulf-page-templates').removeClass('ulf-metabox-show').addClass('ulf-metabox-hide');
246
+ $('.ulf-page-'+maybe_value.toLowerCase().replace(/[^a-zA-Z0-9]+/g,'-')).removeClass('ulf-metabox-hide').addClass('ulf-metabox-show');
247
 
248
  });
249
 
253
  //
254
  // Metabox Post Formats Listener
255
  //
256
+ $.fn.ulf_post_formats = function() {
257
  if ( this.length ) {
258
 
259
  $(document).on('change', '.editor-post-format select, #formatdiv input[name="post_format"]', function() {
263
  // Fallback for classic editor version
264
  maybe_value = ( maybe_value === '0' ) ? 'default' : maybe_value;
265
 
266
+ $('.ulf-post-formats').removeClass('ulf-metabox-show').addClass('ulf-metabox-hide');
267
+ $('.ulf-post-format-'+maybe_value).removeClass('ulf-metabox-hide').addClass('ulf-metabox-show');
268
 
269
  });
270
 
274
  //
275
  // Search
276
  //
277
+ $.fn.ulf_search = function() {
278
  return this.each( function() {
279
 
280
  var $this = $(this),
283
  $input.on('change keyup', function() {
284
 
285
  var value = $(this).val(),
286
+ $wrapper = $('.ulf-wrapper'),
287
+ $section = $wrapper.find('.ulf-section'),
288
+ $fields = $section.find('> .ulf-field:not(.ulf-depend-on)'),
289
+ $titles = $fields.find('> .ulf-title, .ulf-search-tags');
290
 
291
  if ( value.length > 3 ) {
292
 
293
+ $fields.addClass('ulf-metabox-hide');
294
+ $wrapper.addClass('ulf-search-all');
295
 
296
  $titles.each( function() {
297
 
299
 
300
  if ( $title.text().match( new RegExp('.*?' + value + '.*?', 'i') ) ) {
301
 
302
+ var $field = $title.closest('.ulf-field');
303
 
304
+ $field.removeClass('ulf-metabox-hide');
305
+ $field.parent().ulf_reload_script();
306
 
307
  }
308
 
310
 
311
  } else {
312
 
313
+ $fields.removeClass('ulf-metabox-hide');
314
+ $wrapper.removeClass('ulf-search-all');
315
 
316
  }
317
 
323
  //
324
  // Sticky Header
325
  //
326
+ $.fn.ulf_sticky = function() {
327
  return this.each( function() {
328
 
329
  var $this = $(this),
330
  $window = $(window),
331
+ $inner = $this.find('.ulf-header-inner'),
332
  padding = parseInt( $inner.css('padding-left') ) + parseInt( $inner.css('padding-right') ),
333
  offset = 32,
334
  scrollTop = 0,
342
 
343
  if ( stickyTop <= offset && winWidth > 782 ) {
344
  $inner.css({width: $this.outerWidth()-padding});
345
+ $this.css({height: $this.outerHeight()}).addClass( 'ulf-sticky' );
346
  } else {
347
  $inner.removeAttr('style');
348
+ $this.removeAttr('style').removeClass( 'ulf-sticky' );
349
  }
350
 
351
  },
378
  //
379
  // Dependency System
380
  //
381
+ $.fn.ulf_dependency = function() {
382
  return this.each( function() {
383
 
384
  var $this = $(this),
386
 
387
  if( $fields.length ) {
388
 
389
+ var normal_ruleset = $.ulf_deps.createRuleset(),
390
+ global_ruleset = $.ulf_deps.createRuleset(),
391
  normal_depends = [],
392
  global_depends = [];
393
 
420
  });
421
 
422
  if ( normal_depends.length ) {
423
+ $.ulf_deps.enable($this, normal_ruleset, normal_depends);
424
  }
425
 
426
  if ( global_depends.length ) {
427
+ $.ulf_deps.enable(ULF.vars.$body, global_ruleset, global_depends);
428
  }
429
 
430
  }
435
  //
436
  // Field: accordion
437
  //
438
+ $.fn.ulf_field_accordion = function() {
439
  return this.each( function() {
440
 
441
+ var $titles = $(this).find('.ulf-accordion-title');
442
 
443
  $titles.on('click', function() {
444
 
445
  var $title = $(this),
446
+ $icon = $title.find('.ulf-accordion-icon'),
447
  $content = $title.next();
448
 
449
  if ( $icon.hasClass('fa-angle-right') ) {
454
 
455
  if ( !$content.data( 'opened' ) ) {
456
 
457
+ $content.ulf_reload_script();
458
  $content.data( 'opened', true );
459
 
460
  }
461
 
462
+ $content.toggleClass('ulf-accordion-open');
463
 
464
  });
465
 
469
  //
470
  // Field: backup
471
  //
472
+ $.fn.ulf_field_backup = function() {
473
  return this.each( function() {
474
 
475
  if ( window.wp.customize === undefined ) { return; }
477
  var base = this,
478
  $this = $(this),
479
  $body = $('body'),
480
+ $import = $this.find('.ulf-import'),
481
+ $reset = $this.find('.ulf-reset');
482
 
483
  base.notification = function( message_text ) {
484
 
492
  }
493
 
494
  // then show a notification overlay
495
+ wp.customize.notifications.add( new wp.customize.OverlayNotification('ulf_field_backup_notification', {
496
  type: 'info',
497
  message: message_text,
498
  loading: true
506
 
507
  e.preventDefault();
508
 
509
+ if ( ULF.vars.is_confirm ) {
510
 
511
+ base.notification( window.ulf_vars.i18n.reset_notification );
512
 
513
+ window.wp.ajax.post('ulf-reset', {
514
  unique: $reset.data('unique'),
515
  nonce: $reset.data('nonce')
516
  })
519
  })
520
  .fail( function( response ) {
521
  alert( response.error );
522
+ wp.customize.notifications.remove('ulf_field_backup_notification');
523
  });
524
 
525
  }
530
 
531
  e.preventDefault();
532
 
533
+ if ( ULF.vars.is_confirm ) {
534
 
535
+ base.notification( window.ulf_vars.i18n.import_notification );
536
 
537
+ window.wp.ajax.post( 'ulf-import', {
538
  unique: $import.data('unique'),
539
  nonce: $import.data('nonce'),
540
+ data: $this.find('.ulf-import-data').val()
541
  }).done( function( response ) {
542
  window.location.reload(true);
543
  }).fail( function( response ) {
544
  alert( response.error );
545
+ wp.customize.notifications.remove('ulf_field_backup_notification');
546
  });
547
 
548
  }
555
  //
556
  // Field: background
557
  //
558
+ $.fn.ulf_field_background = function() {
559
  return this.each( function() {
560
+ $(this).find('.ulf--background-image').ulf_reload_script();
561
  });
562
  };
563
 
564
  //
565
  // Field: code_editor
566
  //
567
+ $.fn.ulf_field_code_editor = function() {
568
  return this.each( function() {
569
 
570
  if ( typeof CodeMirror !== 'function' ) { return; }
584
  var code_editor = CodeMirror.fromTextArea( $textarea[0], data_editor );
585
 
586
  // load code-mirror theme css.
587
+ if ( data_editor.theme !== 'default' && ULF.vars.code_themes.indexOf(data_editor.theme) === -1 ) {
588
 
589
  var $cssLink = $('<link>');
590
 
591
+ $('#ulf-codemirror-css').after( $cssLink );
592
 
593
  $cssLink.attr({
594
  rel: 'stylesheet',
595
+ id: 'ulf-codemirror-'+ data_editor.theme +'-css',
596
  href: data_editor.cdnURL +'/theme/'+ data_editor.theme +'.min.css',
597
  type: 'text/css',
598
  media: 'all'
599
  });
600
 
601
+ ULF.vars.code_themes.push(data_editor.theme);
602
 
603
  }
604
 
620
  //
621
  // Field: date
622
  //
623
+ $.fn.ulf_field_date = function() {
624
  return this.each( function() {
625
 
626
  var $this = $(this),
627
  $inputs = $this.find('input'),
628
+ settings = $this.find('.ulf-date-settings').data('settings'),
629
+ wrapper = '<div class="ulf-datepicker-wrapper"></div>',
630
  $datepicker;
631
 
632
  var defaults = {
633
  showAnim: '',
634
  beforeShow: function(input, inst) {
635
+ $(inst.dpDiv).addClass('ulf-datepicker-wrapper');
636
  },
637
  onClose: function( input, inst ) {
638
+ $(inst.dpDiv).removeClass('ulf-datepicker-wrapper');
639
  },
640
  };
641
 
676
  //
677
  // Field: fieldset
678
  //
679
+ $.fn.ulf_field_fieldset = function() {
680
  return this.each( function() {
681
+ $(this).find('.ulf-fieldset-content').ulf_reload_script();
682
  });
683
  };
684
 
685
  //
686
  // Field: gallery
687
  //
688
+ $.fn.ulf_field_gallery = function() {
689
  return this.each( function() {
690
 
691
  var $this = $(this),
692
+ $edit = $this.find('.ulf-edit-gallery'),
693
+ $clear = $this.find('.ulf-clear-gallery'),
694
  $list = $this.find('ul'),
695
  $input = $this.find('input'),
696
  $img = $this.find('img'),
697
  wp_media_frame;
698
 
699
+ $this.on('click', '.ulf-button, .ulf-edit-gallery', function( e ) {
700
 
701
  var $el = $(this),
702
  ids = $input.val(),
703
+ what = ( $el.hasClass('ulf-edit-gallery') ) ? 'edit' : 'add',
704
  state = ( what === 'add' && !ids.length ) ? 'gallery' : 'gallery-edit';
705
 
706
  e.preventDefault();
770
  //
771
  // Field: group
772
  //
773
+ $.fn.ulf_field_group = function() {
774
  return this.each( function() {
775
 
776
  var $this = $(this),
777
+ $fieldset = $this.children('.ulf-fieldset'),
778
  $group = $fieldset.length ? $fieldset : $this,
779
+ $wrapper = $group.children('.ulf-cloneable-wrapper'),
780
+ $hidden = $group.children('.ulf-cloneable-hidden'),
781
+ $max = $group.children('.ulf-cloneable-max'),
782
+ $min = $group.children('.ulf-cloneable-min'),
783
  field_id = $wrapper.data('field-id'),
784
  unique_id = $wrapper.data('unique-id'),
785
  is_number = Boolean( Number( $wrapper.data('title-number') ) ),
792
  }
793
 
794
  var update_title_numbers = function( $selector ) {
795
+ $selector.find('.ulf-cloneable-title-number').each( function( index ) {
796
+ $(this).html( ( $(this).closest('.ulf-cloneable-item').index()+1 ) + '.' );
797
  });
798
  };
799
 
800
  $wrapper.accordion({
801
+ header: '> .ulf-cloneable-item > .ulf-cloneable-title',
802
  collapsible : true,
803
  active: false,
804
  animate: false,
805
  heightStyle: 'content',
806
  icons: {
807
+ 'header': 'ulf-cloneable-header-icon fas fa-angle-right',
808
+ 'activeHeader': 'ulf-cloneable-header-icon fas fa-angle-down'
809
  },
810
  activate: function( event, ui ) {
811
 
816
 
817
  var $fields = $panel.children();
818
  var $first = $fields.first().find(':input').first();
819
+ var $title = $header.find('.ulf-cloneable-value');
820
 
821
  $first.on('change keyup', function( event ) {
822
  $title.text($first.val());
823
  });
824
 
825
+ $panel.ulf_reload_script();
826
  $panel.data( 'opened', true );
827
  $panel.data( 'retry', false );
828
 
829
  } else if ( $panel.data( 'retry' ) ) {
830
 
831
+ $panel.ulf_reload_script_retry();
832
  $panel.data( 'retry', false );
833
 
834
  }
838
 
839
  $wrapper.sortable({
840
  axis: 'y',
841
+ handle: '.ulf-cloneable-title,.ulf-cloneable-sort',
842
  helper: 'original',
843
  cursor: 'move',
844
  placeholder: 'widget-placeholder',
846
 
847
  $wrapper.accordion({ active:false });
848
  $wrapper.sortable('refreshPositions');
849
+ ui.item.children('.ulf-cloneable-content').data('retry', true);
850
 
851
  },
852
  update: function( event, ui ) {
853
 
854
+ ULF.helper.name_nested_replace( $wrapper.children('.ulf-cloneable-item'), field_id );
855
+ $wrapper.ulf_customizer_refresh();
856
 
857
  if ( is_number ) {
858
  update_title_numbers($wrapper);
861
  },
862
  });
863
 
864
+ $group.children('.ulf-cloneable-add').on('click', function( e ) {
865
 
866
  e.preventDefault();
867
 
868
+ var count = $wrapper.children('.ulf-cloneable-item').length;
869
 
870
  $min.hide();
871
 
876
 
877
  var new_field_id = unique_id + field_id + '['+ count +']';
878
 
879
+ var $cloned_item = $hidden.ulf_clone(true);
880
 
881
+ $cloned_item.removeClass('ulf-cloneable-hidden');
882
 
883
  $cloned_item.find(':input[name!="_pseudo"]').each( function() {
884
  this.name = new_field_id + this.name.replace( ( this.name.startsWith('_nonce') ? '_nonce' : unique_id ), '');
885
  });
886
 
887
+ $cloned_item.find('.ulf-data-wrapper').each( function(){
888
  $(this).attr('data-unique-id', new_field_id );
889
  });
890
 
891
  $wrapper.append($cloned_item);
892
  $wrapper.accordion('refresh');
893
  $wrapper.accordion({active: count});
894
+ $wrapper.ulf_customizer_refresh();
895
+ $wrapper.ulf_customizer_listen({closest: true});
896
 
897
  if ( is_number ) {
898
  update_title_numbers($wrapper);
904
 
905
  e.preventDefault();
906
 
907
+ var count = $wrapper.children('.ulf-cloneable-item').length;
908
 
909
  $min.hide();
910
 
915
 
916
  var $this = $(this),
917
  $parent = $this.parent().parent(),
918
+ $cloned_helper = $parent.children('.ulf-cloneable-helper').ulf_clone(true),
919
+ $cloned_title = $parent.children('.ulf-cloneable-title').ulf_clone(),
920
+ $cloned_content = $parent.children('.ulf-cloneable-content').ulf_clone(),
921
+ cloned_regex = new RegExp('('+ ULF.helper.preg_quote(field_id) +')\\[(\\d+)\\]', 'g');
922
 
923
+ $cloned_content.find('.ulf-data-wrapper').each( function(){
924
  var $this = $(this);
925
  $this.attr('data-unique-id', $this.attr('data-unique-id').replace(cloned_regex, field_id +'['+ ($parent.index()+1) +']') );
926
  });
927
 
928
+ var $cloned = $('<div class="ulf-cloneable-item" />');
929
 
930
  $cloned.append($cloned_helper);
931
  $cloned.append($cloned_title);
933
 
934
  $wrapper.children().eq($parent.index()).after($cloned);
935
 
936
+ ULF.helper.name_nested_replace( $wrapper.children('.ulf-cloneable-item'), field_id );
937
 
938
  $wrapper.accordion('refresh');
939
+ $wrapper.ulf_customizer_refresh();
940
+ $wrapper.ulf_customizer_listen({closest: true});
941
 
942
  if ( is_number ) {
943
  update_title_numbers($wrapper);
945
 
946
  };
947
 
948
+ $wrapper.children('.ulf-cloneable-item').children('.ulf-cloneable-helper').on('click', '.ulf-cloneable-clone', event_clone);
949
+ $group.children('.ulf-cloneable-hidden').children('.ulf-cloneable-helper').on('click', '.ulf-cloneable-clone', event_clone);
950
 
951
  var event_remove = function( e ) {
952
 
953
  e.preventDefault();
954
 
955
+ var count = $wrapper.children('.ulf-cloneable-item').length;
956
 
957
  $max.hide();
958
  $min.hide();
962
  return;
963
  }
964
 
965
+ $(this).closest('.ulf-cloneable-item').remove();
966
 
967
+ ULF.helper.name_nested_replace( $wrapper.children('.ulf-cloneable-item'), field_id );
968
 
969
+ $wrapper.ulf_customizer_refresh();
970
 
971
  if ( is_number ) {
972
  update_title_numbers($wrapper);
974
 
975
  };
976
 
977
+ $wrapper.children('.ulf-cloneable-item').children('.ulf-cloneable-helper').on('click', '.ulf-cloneable-remove', event_remove);
978
+ $group.children('.ulf-cloneable-hidden').children('.ulf-cloneable-helper').on('click', '.ulf-cloneable-remove', event_remove);
979
 
980
  });
981
  };
983
  //
984
  // Field: icon
985
  //
986
+ $.fn.ulf_field_icon = function() {
987
  return this.each( function() {
988
 
989
  var $this = $(this);
990
 
991
+ $this.on('click', '.ulf-icon-add', function( e ) {
992
 
993
  e.preventDefault();
994
 
995
  var $button = $(this);
996
+ var $modal = $('#ulf-modal-icon');
997
 
998
  $modal.removeClass('hidden');
999
 
1000
+ ULF.vars.$icon_target = $this;
1001
 
1002
+ if ( !ULF.vars.icon_modal_loaded ) {
1003
 
1004
+ $modal.find('.ulf-modal-loading').show();
1005
 
1006
+ window.wp.ajax.post( 'ulf-get-icons', {
1007
  nonce: $button.data('nonce')
1008
  }).done( function( response ) {
1009
 
1010
+ $modal.find('.ulf-modal-loading').hide();
1011
 
1012
+ ULF.vars.icon_modal_loaded = true;
1013
 
1014
+ var $load = $modal.find('.ulf-modal-load').html( response.content );
1015
 
1016
  $load.on('click', 'i', function( e ) {
1017
 
1019
 
1020
  var icon = $(this).attr('title');
1021
 
1022
+ ULF.vars.$icon_target.find('i').removeAttr('class').addClass(icon);
1023
+ ULF.vars.$icon_target.find('input').val(icon).trigger('change');
1024
+ ULF.vars.$icon_target.find('.ulf-icon-preview').removeClass('hidden');
1025
+ ULF.vars.$icon_target.find('.ulf-icon-remove').removeClass('hidden');
1026
 
1027
  $modal.addClass('hidden');
1028
 
1029
  });
1030
 
1031
+ $modal.on('change keyup', '.ulf-icon-search', function() {
1032
 
1033
  var value = $(this).val(),
1034
  $icons = $load.find('i');
1047
 
1048
  });
1049
 
1050
+ $modal.on('click', '.ulf-modal-close, .ulf-modal-overlay', function() {
1051
  $modal.addClass('hidden');
1052
  });
1053
 
1054
  }).fail( function( response ) {
1055
+ $modal.find('.ulf-modal-loading').hide();
1056
+ $modal.find('.ulf-modal-load').html( response.error );
1057
  $modal.on('click', function() {
1058
  $modal.addClass('hidden');
1059
  });
1062
 
1063
  });
1064
 
1065
+ $this.on('click', '.ulf-icon-remove', function( e ) {
1066
  e.preventDefault();
1067
+ $this.find('.ulf-icon-preview').addClass('hidden');
1068
  $this.find('input').val('').trigger('change');
1069
  $(this).addClass('hidden');
1070
  });
1075
  //
1076
  // Field: map
1077
  //
1078
+ $.fn.ulf_field_map = function() {
1079
  return this.each( function() {
1080
 
1081
  if ( typeof L === 'undefined' ) { return; }
1082
 
1083
  var $this = $(this),
1084
+ $map = $this.find('.ulf--map-osm'),
1085
+ $search_input = $this.find('.ulf--map-search input'),
1086
+ $latitude = $this.find('.ulf--latitude'),
1087
+ $longitude = $this.find('.ulf--longitude'),
1088
+ $zoom = $this.find('.ulf--zoom'),
1089
  map_data = $map.data( 'map' );
1090
 
1091
  var mapInit = L.map( $map.get(0), map_data);
1116
  });
1117
 
1118
  if ( ! $search_input.length ) {
1119
+ $search_input = $( '[data-depend-id="'+ $this.find('.ulf--address-field').data( 'address-field' ) +'"]' );
1120
  }
1121
 
1122
  var cache = {};
1172
 
1173
  },
1174
  create: function (event, ui) {
1175
+ $(this).autocomplete('widget').addClass('ulf-map-ui-autocomplate');
1176
  }
1177
  });
1178
 
1194
  //
1195
  // Field: media
1196
  //
1197
+ $.fn.ulf_field_media = function() {
1198
  return this.each( function() {
1199
 
1200
  var $this = $(this),
1201
+ $upload_button = $this.find('.ulf--button'),
1202
+ $remove_button = $this.find('.ulf--remove'),
1203
  $library = $upload_button.data('library') && $upload_button.data('library').split(',') || '',
1204
+ $auto_attributes = ( $this.hasClass('ulf-assign-field-background') ) ? $this.closest('.ulf-field-background').find('.ulf--auto-attributes') : false,
1205
  wp_media_frame;
1206
 
1207
  $upload_button.on('click', function( e ) {
1233
  return;
1234
  }
1235
 
1236
+ $this.find('.ulf--id').val( attributes.id );
1237
+ $this.find('.ulf--width').val( attributes.width );
1238
+ $this.find('.ulf--height').val( attributes.height );
1239
+ $this.find('.ulf--alt').val( attributes.alt );
1240
+ $this.find('.ulf--title').val( attributes.title );
1241
+ $this.find('.ulf--description').val( attributes.description );
1242
 
1243
  if ( typeof attributes.sizes !== 'undefined' && typeof attributes.sizes.thumbnail !== 'undefined' && preview_size === 'thumbnail' ) {
1244
  thumbnail = attributes.sizes.thumbnail.url;
1249
  }
1250
 
1251
  if ( $auto_attributes ) {
1252
+ $auto_attributes.removeClass('ulf--attributes-hidden');
1253
  }
1254
 
1255
  $remove_button.removeClass('hidden');
1256
 
1257
+ $this.find('.ulf--preview').removeClass('hidden');
1258
+ $this.find('.ulf--src').attr('src', thumbnail);
1259
+ $this.find('.ulf--thumbnail').val( thumbnail );
1260
+ $this.find('.ulf--url').val( attributes.url ).trigger('change');
1261
 
1262
  });
1263
 
1270
  e.preventDefault();
1271
 
1272
  if ( $auto_attributes ) {
1273
+ $auto_attributes.addClass('ulf--attributes-hidden');
1274
  }
1275
 
1276
  $remove_button.addClass('hidden');
1277
  $this.find('input').val('');
1278
+ $this.find('.ulf--preview').addClass('hidden');
1279
+ $this.find('.ulf--url').trigger('change');
1280
 
1281
  });
1282
 
1287
  //
1288
  // Field: repeater
1289
  //
1290
+ $.fn.ulf_field_repeater = function() {
1291
  return this.each( function() {
1292
 
1293
  var $this = $(this),
1294
+ $fieldset = $this.children('.ulf-fieldset'),
1295
  $repeater = $fieldset.length ? $fieldset : $this,
1296
+ $wrapper = $repeater.children('.ulf-repeater-wrapper'),
1297
+ $hidden = $repeater.children('.ulf-repeater-hidden'),
1298
+ $max = $repeater.children('.ulf-repeater-max'),
1299
+ $min = $repeater.children('.ulf-repeater-min'),
1300
  field_id = $wrapper.data('field-id'),
1301
  unique_id = $wrapper.data('unique-id'),
1302
  max = parseInt( $wrapper.data('max') ),
1303
  min = parseInt( $wrapper.data('min') );
1304
 
1305
 
1306
+ $wrapper.children('.ulf-repeater-item').children('.ulf-repeater-content').ulf_reload_script();
1307
 
1308
  $wrapper.sortable({
1309
  axis: 'y',
1310
+ handle: '.ulf-repeater-sort',
1311
  helper: 'original',
1312
  cursor: 'move',
1313
  placeholder: 'widget-placeholder',
1314
  update: function( event, ui ) {
1315
 
1316
+ ULF.helper.name_nested_replace( $wrapper.children('.ulf-repeater-item'), field_id );
1317
+ $wrapper.ulf_customizer_refresh();
1318
+ ui.item.ulf_reload_script_retry();
1319
 
1320
  }
1321
  });
1322
 
1323
+ $repeater.children('.ulf-repeater-add').on('click', function( e ) {
1324
 
1325
  e.preventDefault();
1326
 
1327
+ var count = $wrapper.children('.ulf-repeater-item').length;
1328
 
1329
  $min.hide();
1330
 
1335
 
1336
  var new_field_id = unique_id + field_id + '['+ count +']';
1337
 
1338
+ var $cloned_item = $hidden.ulf_clone(true);
1339
 
1340
+ $cloned_item.removeClass('ulf-repeater-hidden');
1341
 
1342
  $cloned_item.find(':input[name!="_pseudo"]').each( function() {
1343
  this.name = new_field_id + this.name.replace( ( this.name.startsWith('_nonce') ? '_nonce' : unique_id ), '');
1344
  });
1345
 
1346
+ $cloned_item.find('.ulf-data-wrapper').each( function(){
1347
  $(this).attr('data-unique-id', new_field_id );
1348
  });
1349
 
1350
  $wrapper.append($cloned_item);
1351
+ $cloned_item.children('.ulf-repeater-content').ulf_reload_script();
1352
+ $wrapper.ulf_customizer_refresh();
1353
+ $wrapper.ulf_customizer_listen({closest: true});
1354
 
1355
  });
1356
 
1358
 
1359
  e.preventDefault();
1360
 
1361
+ var count = $wrapper.children('.ulf-repeater-item').length;
1362
 
1363
  $min.hide();
1364
 
1369
 
1370
  var $this = $(this),
1371
  $parent = $this.parent().parent().parent(),
1372
+ $cloned_content = $parent.children('.ulf-repeater-content').ulf_clone(),
1373
+ $cloned_helper = $parent.children('.ulf-repeater-helper').ulf_clone(true),
1374
+ cloned_regex = new RegExp('('+ ULF.helper.preg_quote(field_id) +')\\[(\\d+)\\]', 'g');
1375
 
1376
+ $cloned_content.find('.ulf-data-wrapper').each( function(){
1377
  var $this = $(this);
1378
  $this.attr('data-unique-id', $this.attr('data-unique-id').replace(cloned_regex, field_id +'['+ ($parent.index()+1) +']') );
1379
  });
1380
 
1381
+ var $cloned = $('<div class="ulf-repeater-item" />');
1382
 
1383
  $cloned.append($cloned_content);
1384
  $cloned.append($cloned_helper);
1385
 
1386
  $wrapper.children().eq($parent.index()).after($cloned);
1387
 
1388
+ $cloned.children('.ulf-repeater-content').ulf_reload_script();
1389
 
1390
+ ULF.helper.name_nested_replace( $wrapper.children('.ulf-repeater-item'), field_id );
1391
 
1392
+ $wrapper.ulf_customizer_refresh();
1393
+ $wrapper.ulf_customizer_listen({closest: true});
1394
 
1395
  };
1396
 
1397
+ $wrapper.children('.ulf-repeater-item').children('.ulf-repeater-helper').on('click', '.ulf-repeater-clone', event_clone);
1398
+ $repeater.children('.ulf-repeater-hidden').children('.ulf-repeater-helper').on('click', '.ulf-repeater-clone', event_clone);
1399
 
1400
  var event_remove = function( e ) {
1401
 
1402
  e.preventDefault();
1403
 
1404
+ var count = $wrapper.children('.ulf-repeater-item').length;
1405
 
1406
  $max.hide();
1407
  $min.hide();
1411
  return;
1412
  }
1413
 
1414
+ $(this).closest('.ulf-repeater-item').remove();
1415
 
1416
+ ULF.helper.name_nested_replace( $wrapper.children('.ulf-repeater-item'), field_id );
1417
 
1418
+ $wrapper.ulf_customizer_refresh();
1419
 
1420
  };
1421
 
1422
+ $wrapper.children('.ulf-repeater-item').children('.ulf-repeater-helper').on('click', '.ulf-repeater-remove', event_remove);
1423
+ $repeater.children('.ulf-repeater-hidden').children('.ulf-repeater-helper').on('click', '.ulf-repeater-remove', event_remove);
1424
 
1425
  });
1426
  };
1428
  //
1429
  // Field: slider
1430
  //
1431
+ $.fn.ulf_field_slider = function() {
1432
  return this.each( function() {
1433
 
1434
  var $this = $(this),
1435
  $input = $this.find('input'),
1436
+ $slider = $this.find('.ulf-slider-ui'),
1437
  data = $input.data(),
1438
  value = $input.val() || 0;
1439
 
1462
  //
1463
  // Field: sortable
1464
  //
1465
+ $.fn.ulf_field_sortable = function() {
1466
  return this.each( function() {
1467
 
1468
+ var $sortable = $(this).find('.ulf-sortable');
1469
 
1470
  $sortable.sortable({
1471
  axis: 'y',
1473
  cursor: 'move',
1474
  placeholder: 'widget-placeholder',
1475
  update: function( event, ui ) {
1476
+ $sortable.ulf_customizer_refresh();
1477
  }
1478
  });
1479
 
1480
+ $sortable.find('.ulf-sortable-content').ulf_reload_script();
1481
 
1482
  });
1483
  };
1485
  //
1486
  // Field: sorter
1487
  //
1488
+ $.fn.ulf_field_sorter = function() {
1489
  return this.each( function() {
1490
 
1491
  var $this = $(this),
1492
+ $enabled = $this.find('.ulf-enabled'),
1493
+ $has_disabled = $this.find('.ulf-disabled'),
1494
  $disabled = ( $has_disabled.length ) ? $has_disabled : false;
1495
 
1496
  $enabled.sortable({
1500
 
1501
  var $el = ui.item.find('input');
1502
 
1503
+ if ( ui.item.parent().hasClass('ulf-enabled') ) {
1504
  $el.attr('name', $el.attr('name').replace('disabled', 'enabled'));
1505
  } else {
1506
  $el.attr('name', $el.attr('name').replace('enabled', 'disabled'));
1507
  }
1508
 
1509
+ $this.ulf_customizer_refresh();
1510
 
1511
  }
1512
  });
1517
  connectWith: $enabled,
1518
  placeholder: 'ui-sortable-placeholder',
1519
  update: function( event, ui ) {
1520
+ $this.ulf_customizer_refresh();
1521
  }
1522
  });
1523
 
1529
  //
1530
  // Field: spinner
1531
  //
1532
+ $.fn.ulf_field_spinner = function() {
1533
  return this.each( function() {
1534
 
1535
  var $this = $(this),
1547
  step: $input.data('step') || 1,
1548
  create: function( event, ui ) {
1549
  if ( $unit.length ) {
1550
+ $this.find('.ui-spinner-up').after('<span class="ui-button-text-only ulf--unit">'+ $unit +'</span>');
1551
  }
1552
  },
1553
  spin: function (event, ui ) {
1561
  //
1562
  // Field: switcher
1563
  //
1564
+ $.fn.ulf_field_switcher = function() {
1565
  return this.each( function() {
1566
 
1567
+ var $switcher = $(this).find('.ulf--switcher');
1568
 
1569
  $switcher.on('click', function() {
1570
 
1571
  var value = 0;
1572
  var $input = $switcher.find('input');
1573
 
1574
+ if ( $switcher.hasClass('ulf--active') ) {
1575
+ $switcher.removeClass('ulf--active');
1576
  } else {
1577
  value = 1;
1578
+ $switcher.addClass('ulf--active');
1579
  }
1580
 
1581
  $input.val(value).trigger('change');
1588
  //
1589
  // Field: tabbed
1590
  //
1591
+ $.fn.ulf_field_tabbed = function() {
1592
  return this.each( function() {
1593
 
1594
  var $this = $(this),
1595
+ $links = $this.find('.ulf-tabbed-nav a'),
1596
+ $contents = $this.find('.ulf-tabbed-content');
1597
 
1598
+ $contents.eq(0).ulf_reload_script();
1599
 
1600
  $links.on( 'click', function( e ) {
1601
 
1605
  index = $link.index(),
1606
  $content = $contents.eq(index);
1607
 
1608
+ $link.addClass('ulf-tabbed-active').siblings().removeClass('ulf-tabbed-active');
1609
+ $content.ulf_reload_script();
1610
  $content.removeClass('hidden').siblings().addClass('hidden');
1611
 
1612
  });
1617
  //
1618
  // Field: typography
1619
  //
1620
+ $.fn.ulf_field_typography = function() {
1621
  return this.each(function () {
1622
 
1623
  var base = this;
1624
  var $this = $(this);
1625
  var loaded_fonts = [];
1626
+ var webfonts = ulf_typography_json.webfonts;
1627
+ var googlestyles = ulf_typography_json.googlestyles;
1628
+ var defaultstyles = ulf_typography_json.defaultstyles;
1629
 
1630
  //
1631
  //
1698
 
1699
  });
1700
 
1701
+ $select.append(opts).trigger('ulf.change').trigger('chosen:updated');
1702
 
1703
  };
1704
 
1708
  //
1709
  // Constants
1710
  var selected_styles = [];
1711
+ var $typography = $this.find('.ulf--typography');
1712
+ var $type = $this.find('.ulf--type');
1713
+ var $styles = $this.find('.ulf--block-font-style');
1714
  var unit = $typography.data('unit');
1715
  var line_height_unit = $typography.data('line-height-unit');
1716
  var exclude_fonts = $typography.data('exclude') ? $typography.data('exclude').split(',') : [];
1718
  //
1719
  //
1720
  // Chosen init
1721
+ if ( $this.find('.ulf--chosen').length ) {
1722
 
1723
  var $chosen_selects = $this.find('select');
1724
 
1744
  //
1745
  //
1746
  // Font family select
1747
+ var $font_family_select = $this.find('.ulf--font-family');
1748
  var first_font_family = $font_family_select.val();
1749
 
1750
  // Clear default font family select options
1778
  //
1779
  //
1780
  // Font style select
1781
+ var $font_style_block = $this.find('.ulf--block-font-style');
1782
 
1783
  if ( $font_style_block.length ) {
1784
 
1785
+ var $font_style_select = $this.find('.ulf--font-style-select');
1786
  var first_style_value = $font_style_select.val() ? $font_style_select.val().replace(/normal/g, '' ) : '';
1787
 
1788
  //
1789
  // Font Style on on change listener
1790
+ $font_style_select.on('change ulf.change', function( event ) {
1791
 
1792
  var style_value = $font_style_select.val();
1793
 
1801
  var font_weight = ( style_value && style_value !== 'italic' && style_value !== 'normal' ) ? style_value.replace('italic', '') : font_normal;
1802
  var font_style = ( style_value && style_value.substr(-6) === 'italic' ) ? 'italic' : '';
1803
 
1804
+ $this.find('.ulf--font-weight').val( font_weight );
1805
+ $this.find('.ulf--font-style').val( font_style );
1806
 
1807
  });
1808
 
1809
  //
1810
  //
1811
  // Extra font style select
1812
+ var $extra_font_style_block = $this.find('.ulf--block-extra-styles');
1813
 
1814
  if ( $extra_font_style_block.length ) {
1815
+ var $extra_font_style_select = $this.find('.ulf--extra-styles');
1816
  var first_extra_style_value = $extra_font_style_select.val();
1817
  }
1818
 
1821
  //
1822
  //
1823
  // Subsets select
1824
+ var $subset_block = $this.find('.ulf--block-subset');
1825
  if ( $subset_block.length ) {
1826
+ var $subset_select = $this.find('.ulf--subset');
1827
  var first_subset_select_value = $subset_select.val();
1828
  var subset_multi_select = $subset_select.data('multiple') || false;
1829
  }
1831
  //
1832
  //
1833
  // Backup font family
1834
+ var $backup_font_family_block = $this.find('.ulf--block-backup-font-family');
1835
 
1836
  //
1837
  //
1838
  // Font Family on Change Listener
1839
+ $font_family_select.on('change ulf.change', function( event ) {
1840
 
1841
  // Hide subsets on change
1842
  if ( $subset_block.length ) {
1948
  // Update font type input value
1949
  $type.val(type);
1950
 
1951
+ }).trigger('ulf.change');
1952
 
1953
  //
1954
  //
1955
  // Preview
1956
+ var $preview_block = $this.find('.ulf--block-preview');
1957
 
1958
  if ( $preview_block.length ) {
1959
 
1960
+ var $preview = $this.find('.ulf--preview');
1961
 
1962
  // Set preview styles on change
1963
+ $this.on('change', ULF.helper.debounce( function( event ) {
1964
 
1965
  $preview_block.removeClass('hidden');
1966
 
1967
  var font_family = $font_family_select.val(),
1968
+ font_weight = $this.find('.ulf--font-weight').val(),
1969
+ font_style = $this.find('.ulf--font-style').val(),
1970
+ font_size = $this.find('.ulf--font-size').val(),
1971
+ font_variant = $this.find('.ulf--font-variant').val(),
1972
+ line_height = $this.find('.ulf--line-height').val(),
1973
+ text_align = $this.find('.ulf--text-align').val(),
1974
+ text_transform = $this.find('.ulf--text-transform').val(),
1975
+ text_decoration = $this.find('.ulf--text-decoration').val(),
1976
+ text_color = $this.find('.ulf--color').val(),
1977
+ word_spacing = $this.find('.ulf--word-spacing').val(),
1978
+ letter_spacing = $this.find('.ulf--letter-spacing').val(),
1979
+ custom_style = $this.find('.ulf--custom-style').val(),
1980
+ type = $this.find('.ulf--type').val();
1981
 
1982
  if ( type === 'google' ) {
1983
  base.load_google_font(font_family, font_weight, font_style);
2010
  // Preview black and white backgrounds trigger
2011
  $preview_block.on('click', function() {
2012
 
2013
+ $preview.toggleClass('ulf--black-background');
2014
 
2015
+ var $toggle = $preview_block.find('.ulf--toggle');
2016
 
2017
  if ( $toggle.hasClass('fa-toggle-off') ) {
2018
  $toggle.removeClass('fa-toggle-off').addClass('fa-toggle-on');
2038
  //
2039
  // Field: upload
2040
  //
2041
+ $.fn.ulf_field_upload = function() {
2042
  return this.each( function() {
2043
 
2044
  var $this = $(this),
2045
  $input = $this.find('input'),
2046
+ $upload_button = $this.find('.ulf--button'),
2047
+ $remove_button = $this.find('.ulf--remove'),
2048
  $library = $upload_button.data('library') && $upload_button.data('library').split(',') || '',
2049
  wp_media_frame;
2050
 
2103
  //
2104
  // Field: wp_editor
2105
  //
2106
+ $.fn.ulf_field_wp_editor = function() {
2107
  return this.each( function() {
2108
 
2109
+ if ( typeof window.wp.editor === 'undefined' || typeof window.tinyMCEPreInit === 'undefined' || typeof window.tinyMCEPreInit.mceInit.ulf_wp_editor === 'undefined' ) {
2110
  return;
2111
  }
2112
 
2113
  var $this = $(this),
2114
+ $editor = $this.find('.ulf-wp-editor'),
2115
  $textarea = $this.find('textarea');
2116
 
2117
  // If there is wp-editor remove it for avoid dupliated wp-editor conflicts.
2124
  }
2125
 
2126
  // Generate a unique id
2127
+ var uid = ULF.helper.uid('ulf-editor-');
2128
 
2129
  $textarea.attr('id', uid);
2130
 
2131
  // Get default editor settings
2132
  var default_editor_settings = {
2133
+ tinymce: window.tinyMCEPreInit.mceInit.ulf_wp_editor,
2134
+ quicktags: window.tinyMCEPreInit.qtInit.ulf_wp_editor
2135
  };
2136
 
2137
  // Get default editor settings
2139
 
2140
  // Add on change event handle
2141
  var editor_on_change = function( editor ) {
2142
+ editor.on('change', ULF.helper.debounce( function() {
2143
  editor.save();
2144
  $textarea.trigger('change');
2145
  }, 250 ) );
2160
  // Override editor tinymce settings
2161
  if ( field_editor_settings.tinymce === false ) {
2162
  default_editor_settings.tinymce = false;
2163
+ $editor.addClass('ulf-no-tinymce');
2164
  }
2165
 
2166
  // Override editor quicktags settings
2167
  if ( field_editor_settings.quicktags === false ) {
2168
  default_editor_settings.quicktags = false;
2169
+ $editor.addClass('ulf-no-quicktags');
2170
  }
2171
 
2172
  // Wait until :visible
2178
  });
2179
 
2180
  // Add Media buttons
2181
+ if ( field_editor_settings.media_buttons && window.ulf_media_buttons ) {
2182
 
2183
  var $editor_buttons = $editor.find('.wp-media-buttons');
2184
 
2185
  if ( $editor_buttons.length ) {
2186
 
2187
+ $editor_buttons.find('.ulf-shortcode-button').data('editor-id', uid);
2188
 
2189
  } else {
2190
 
2191
+ var $media_buttons = $(window.ulf_media_buttons);
2192
 
2193
+ $media_buttons.find('.ulf-shortcode-button').data('editor-id', uid);
2194
 
2195
  $editor.prepend( $media_buttons );
2196
 
2205
  //
2206
  // Confirm
2207
  //
2208
+ $.fn.ulf_confirm = function() {
2209
  return this.each( function() {
2210
  $(this).on('click', function( e ) {
2211
 
2212
+ var confirm_text = $(this).data('confirm') || window.ulf_vars.i18n.confirm;
2213
  var confirm_answer = confirm( confirm_text );
2214
 
2215
  if ( confirm_answer ) {
2216
+ ULF.vars.is_confirm = true;
2217
+ ULF.vars.form_modified = false;
2218
  } else {
2219
  e.preventDefault();
2220
  return false;
2244
  //
2245
  // Options Save
2246
  //
2247
+ $.fn.ulf_save = function() {
2248
  return this.each( function() {
2249
 
2250
  var $this = $(this),
2251
+ $buttons = $('.ulf-save'),
2252
+ $panel = $('.ulf-options'),
2253
  flooding = false,
2254
  timeout;
2255
 
2262
 
2263
  $buttons.attr('value', $text);
2264
 
2265
+ if ( $this.hasClass('ulf-save-ajax') ) {
2266
 
2267
  e.preventDefault();
2268
 
2269
+ $panel.addClass('ulf-saving');
2270
  $buttons.prop('disabled', true);
2271
 
2272
+ window.wp.ajax.post( 'ulf_'+ $panel.data('unique') +'_ajax_save', {
2273
+ data: $('#ulf-form').serializeJSONULF()
2274
  })
2275
  .done( function( response ) {
2276
 
2277
  // clear errors
2278
+ $('.ulf-error').remove();
2279
 
2280
  if ( Object.keys( response.errors ).length ) {
2281
 
2282
+ var error_icon = '<i class="ulf-label-error ulf-error">!</i>';
2283
 
2284
  $.each(response.errors, function( key, error_message ) {
2285
 
2286
  var $field = $('[data-depend-id="'+ key +'"]'),
2287
+ $link = $('#ulf-tab-link-'+ ($field.closest('.ulf-section').index()+1)),
2288
+ $tab = $link.closest('.ulf-tab-depth-0');
2289
 
2290
+ $field.closest('.ulf-fieldset').append( '<p class="ulf-error ulf-error-text">'+ error_message +'</p>' );
2291
 
2292
+ if ( !$link.find('.ulf-error').length ) {
2293
  $link.append( error_icon );
2294
  }
2295
 
2296
+ if ( !$tab.find('.ulf-arrow .ulf-error').length ) {
2297
+ $tab.find('.ulf-arrow').append( error_icon );
2298
  }
2299
 
2300
  });
2301
 
2302
  }
2303
 
2304
+ $panel.removeClass('ulf-saving');
2305
  $buttons.prop('disabled', false).attr('value', $value);
2306
  flooding = false;
2307
 
2308
+ ULF.vars.form_modified = false;
2309
+ ULF.vars.$form_warning.hide();
2310
 
2311
  clearTimeout(timeout);
2312
 
2313
+ var $result_success = $('.ulf-form-success');
2314
  $result_success.empty().append(response.notice).fadeIn('fast', function() {
2315
  timeout = setTimeout( function() {
2316
  $result_success.fadeOut('fast');
2324
 
2325
  } else {
2326
 
2327
+ ULF.vars.form_modified = false;
2328
 
2329
  }
2330
 
2340
  //
2341
  // Option Framework
2342
  //
2343
+ $.fn.ulf_options = function() {
2344
  return this.each( function() {
2345
 
2346
  var $this = $(this),
2347
+ $content = $this.find('.ulf-content'),
2348
+ $form_success = $this.find('.ulf-form-success'),
2349
+ $form_warning = $this.find('.ulf-form-warning'),
2350
+ $save_button = $this.find('.ulf-header .ulf-save');
2351
 
2352
+ ULF.vars.$form_warning = $form_warning;
2353
 
2354
  // Shows a message white leaving theme options without saving
2355
  if ( $form_warning.length ) {
2356
 
2357
  window.onbeforeunload = function() {
2358
+ return ( ULF.vars.form_modified ) ? true : undefined;
2359
  };
2360
 
2361
  $content.on('change keypress', ':input', function() {
2362
+ if ( !ULF.vars.form_modified ) {
2363
  $form_success.hide();
2364
  $form_warning.fadeIn('fast');
2365
+ ULF.vars.form_modified = true;
2366
  }
2367
  });
2368
 
2369
  }
2370
 
2371
+ if ( $form_success.hasClass('ulf-form-show') ) {
2372
  setTimeout( function() {
2373
  $form_success.fadeOut('fast');
2374
  }, 1000);
2388
  //
2389
  // Taxonomy Framework
2390
  //
2391
+ $.fn.ulf_taxonomy = function() {
2392
  return this.each( function() {
2393
 
2394
  var $this = $(this),
2397
  if ( $form.attr('id') === 'addtag' ) {
2398
 
2399
  var $submit = $form.find('#submit'),
2400
+ $cloned = $this.find('.ulf-field').ulf_clone();
2401
 
2402
  $submit.on( 'click', function() {
2403
 
2409
 
2410
  $this.html( $cloned );
2411
 
2412
+ $cloned = $cloned.ulf_clone();
2413
 
2414
+ $this.ulf_reload_script();
2415
 
2416
  }
2417
 
2425
  //
2426
  // Shortcode Framework
2427
  //
2428
+ $.fn.ulf_shortcode = function() {
2429
 
2430
  var base = this;
2431
 
2534
  return this.each( function() {
2535
 
2536
  var $modal = $(this),
2537
+ $load = $modal.find('.ulf-modal-load'),
2538
+ $content = $modal.find('.ulf-modal-content'),
2539
+ $insert = $modal.find('.ulf-modal-insert'),
2540
+ $loading = $modal.find('.ulf-modal-loading'),
2541
  $select = $modal.find('select'),
2542
  modal_id = $modal.data('modal-id'),
2543
  nonce = $modal.data('nonce'),
2551
  $cloned,
2552
  $button;
2553
 
2554
+ $(document).on('click', '.ulf-shortcode-button[data-modal-id="'+ modal_id +'"]', function( e ) {
2555
 
2556
  e.preventDefault();
2557
 
2563
  $modal.removeClass('hidden');
2564
 
2565
  // single usage trigger first shortcode
2566
+ if ( $modal.hasClass('ulf-shortcode-single') && sc_name === undefined ) {
2567
  $select.trigger('change');
2568
  }
2569
 
2585
 
2586
  $loading.show();
2587
 
2588
+ window.wp.ajax.post( 'ulf-get-shortcode-'+ modal_id, {
2589
  shortcode_key: sc_key,
2590
  nonce: nonce
2591
  })
2597
 
2598
  $insert.parent().removeClass('hidden');
2599
 
2600
+ $cloned = $appended.find('.ulf--repeat-shortcode').ulf_clone();
2601
 
2602
+ $appended.ulf_reload_script();
2603
+ $appended.find('.ulf-fields').ulf_reload_script();
2604
 
2605
  });
2606
 
2619
  if ( $insert.prop('disabled') || $insert.attr('disabled') ) { return; }
2620
 
2621
  var shortcode = '';
2622
+ var serialize = $modal.find('.ulf-field:not(.ulf-depend-on)').find(':input:not(.ignore)').serializeObjectULF();
2623
 
2624
  switch ( sc_view ) {
2625
 
2657
 
2658
  if ( gutenberg_id ) {
2659
 
2660
+ var content = window.ulf_gutenberg_props.attributes.hasOwnProperty('shortcode') ? window.ulf_gutenberg_props.attributes.shortcode : '';
2661
+ window.ulf_gutenberg_props.setAttributes({shortcode: content + shortcode});
2662
 
2663
  } else if ( editor_id ) {
2664
 
2675
 
2676
  });
2677
 
2678
+ $modal.on('click', '.ulf--repeat-button', function( e ) {
2679
 
2680
  e.preventDefault();
2681
 
2682
+ var $repeatable = $modal.find('.ulf--repeatable');
2683
+ var $new_clone = $cloned.ulf_clone();
2684
+ var $remove_btn = $new_clone.find('.ulf-repeat-remove');
2685
 
2686
  var $appended = $new_clone.appendTo( $repeatable );
2687
 
2688
+ $new_clone.find('.ulf-fields').ulf_reload_script();
2689
 
2690
+ ULF.helper.name_nested_replace( $modal.find('.ulf--repeat-shortcode'), sc_group );
2691
 
2692
  $remove_btn.on('click', function() {
2693
 
2694
  $new_clone.remove();
2695
 
2696
+ ULF.helper.name_nested_replace( $modal.find('.ulf--repeat-shortcode'), sc_group );
2697
 
2698
  });
2699
 
2700
  });
2701
 
2702
+ $modal.on('click', '.ulf-modal-close, .ulf-modal-overlay', function() {
2703
  $modal.addClass('hidden');
2704
  });
2705
 
2733
 
2734
  }
2735
 
2736
+ ULF.funcs.parse_color = function( color ) {
2737
 
2738
  var value = color.replace(/\s+/g, ''),
2739
  trans = ( value.indexOf('rgba') !== -1 ) ? parseFloat( value.replace(/^.*,(.+)\)/, '$1') * 100 ) : 100,
2743
 
2744
  };
2745
 
2746
+ $.fn.ulf_color = function() {
2747
  return this.each( function() {
2748
 
2749
  var $input = $(this),
2750
+ picker_color = ULF.funcs.parse_color( $input.val() ),
2751
+ palette_color = window.ulf_vars.color_palette.length ? window.ulf_vars.color_palette : true,
2752
  $container;
2753
 
2754
  // Destroy and Reinit
2762
 
2763
  var ui_color_value = ui.color.toString();
2764
 
2765
+ $container.removeClass('ulf--transparent-active');
2766
+ $container.find('.ulf--transparent-offset').css('background-color', ui_color_value);
2767
  $input.val(ui_color_value).trigger('change');
2768
 
2769
  },
2772
  $container = $input.closest('.wp-picker-container');
2773
 
2774
  var a8cIris = $input.data('a8cIris'),
2775
+ $transparent_wrap = $('<div class="ulf--transparent-wrap">' +
2776
+ '<div class="ulf--transparent-slider"></div>' +
2777
+ '<div class="ulf--transparent-offset"></div>' +
2778
+ '<div class="ulf--transparent-text"></div>' +
2779
+ '<div class="ulf--transparent-button">transparent <i class="fas fa-toggle-off"></i></div>' +
2780
  '</div>').appendTo( $container.find('.wp-picker-holder') ),
2781
+ $transparent_slider = $transparent_wrap.find('.ulf--transparent-slider'),
2782
+ $transparent_text = $transparent_wrap.find('.ulf--transparent-text'),
2783
+ $transparent_offset = $transparent_wrap.find('.ulf--transparent-offset'),
2784
+ $transparent_button = $transparent_wrap.find('.ulf--transparent-button');
2785
 
2786
  if ( $input.val() === 'transparent' ) {
2787
+ $container.addClass('ulf--transparent-active');
2788
  }
2789
 
2790
  $transparent_button.on('click', function() {
2791
  if ( $input.val() !== 'transparent' ) {
2792
  $input.val('transparent').trigger('change').removeClass('iris-error');
2793
+ $container.addClass('ulf--transparent-active');
2794
  } else {
2795
  $input.val( a8cIris._color.toString() ).trigger('change');
2796
+ $container.removeClass('ulf--transparent-active');
2797
  }
2798
  });
2799
 
2823
  a8cIris._color._alpha = 1;
2824
  $transparent_text.text('');
2825
  $transparent_slider.slider('option', 'value', 100);
2826
+ $container.removeClass('ulf--transparent-active');
2827
  $input.trigger('change');
2828
 
2829
  });
2830
 
2831
  $container.on('click', '.wp-picker-default', function() {
2832
 
2833
+ var default_color = ULF.funcs.parse_color( $input.data('default-color') ),
2834
  default_value = parseFloat( default_color.transparent / 100 ),
2835
  default_text = default_value < 1 ? default_value : '';
2836
 
2851
  //
2852
  // ChosenJS
2853
  //
2854
+ $.fn.ulf_chosen = function() {
2855
  return this.each( function() {
2856
 
2857
  var $this = $(this),
2858
  $inited = $this.parent().find('.chosen-container'),
2859
+ is_sortable = $this.hasClass('ulf-chosen-sortable') || false,
2860
+ is_ajax = $this.hasClass('ulf-chosen-ajax') || false,
2861
  is_multiple = $this.attr('multiple') || false,
2862
  set_width = is_multiple ? '100%' : 'auto',
2863
  set_options = $.extend({
2864
  allow_single_deselect: true,
2865
  disable_search_threshold: 10,
2866
  width: set_width,
2867
+ no_results_text: window.ulf_vars.i18n.no_results_text,
2868
  }, $this.data('chosen-settings'));
2869
 
2870
  if ( $inited.length ) {
2884
  width: '100%',
2885
  min_length: 3,
2886
  type_delay: 500,
2887
+ typing_text: window.ulf_vars.i18n.typing_text,
2888
+ searching_text: window.ulf_vars.i18n.searching_text,
2889
+ no_results_text: window.ulf_vars.i18n.no_results_text,
2890
  }, $this.data('chosen-settings'));
2891
 
2892
+ $this.ULFAjaxChosen(set_ajax_options);
2893
 
2894
  } else {
2895
 
2900
  // Chosen keep options order
2901
  if ( is_multiple ) {
2902
 
2903
+ var $hidden_select = $this.parent().find('.ulf-hide-select');
2904
  var $hidden_value = $hidden_select.val() || [];
2905
 
2906
  $this.on('change', function(obj, result) {
2921
  });
2922
 
2923
  // Chosen order abstract
2924
+ $this.ULFChosenOrder($hidden_value, true);
2925
 
2926
  }
2927
 
2950
 
2951
  var select_options = '';
2952
  var chosen_object = $this.data('chosen');
2953
+ var $prev_select = $this.parent().find('.ulf-hide-select');
2954
 
2955
  $chosen_choices.find('.search-choice-close').each( function() {
2956
  var option_array_index = $(this).data('option-array-index');
2976
  //
2977
  // Helper Checkbox Checker
2978
  //
2979
+ $.fn.ulf_checkbox = function() {
2980
  return this.each( function() {
2981
 
2982
  var $this = $(this),
2983
+ $input = $this.find('.ulf--input'),
2984
+ $checkbox = $this.find('.ulf--checkbox');
2985
 
2986
  $checkbox.on('click', function() {
2987
  $input.val( Number( $checkbox.prop('checked') ) ).trigger('change');
2993
  //
2994
  // Siblings
2995
  //
2996
+ $.fn.ulf_siblings = function() {
2997
  return this.each( function() {
2998
 
2999
  var $this = $(this),
3000
+ $siblings = $this.find('.ulf--sibling'),
3001
  multiple = $this.data('multiple') || false;
3002
 
3003
  $siblings.on('click', function() {
3006
 
3007
  if ( multiple ) {
3008
 
3009
+ if ( $sibling.hasClass('ulf--active') ) {
3010
+ $sibling.removeClass('ulf--active');
3011
  $sibling.find('input').prop('checked', false).trigger('change');
3012
  } else {
3013
+ $sibling.addClass('ulf--active');
3014
  $sibling.find('input').prop('checked', true).trigger('change');
3015
  }
3016
 
3018
 
3019
  $this.find('input').prop('checked', false);
3020
  $sibling.find('input').prop('checked', true).trigger('change');
3021
+ $sibling.addClass('ulf--active').siblings().removeClass('ulf--active');
3022
 
3023
  }
3024
 
3030
  //
3031
  // Help Tooltip
3032
  //
3033
+ $.fn.ulf_help = function() {
3034
  return this.each( function() {
3035
 
3036
  var $this = $(this),
3040
  $this.on({
3041
  mouseenter: function() {
3042
 
3043
+ $tooltip = $( '<div class="ulf-tooltip"></div>' ).html( $this.find('.ulf-help-text').html() ).appendTo('body');
3044
+ offset_left = ( ULF.vars.is_rtl ) ? ( $this.offset().left + 24 ) : ( $this.offset().left - $tooltip.outerWidth() );
3045
 
3046
  $tooltip.css({
3047
  top: $this.offset().top - ( ( $tooltip.outerHeight() / 2 ) - 14 ),
3065
  //
3066
  // Customize Refresh
3067
  //
3068
+ $.fn.ulf_customizer_refresh = function() {
3069
  return this.each( function() {
3070
 
3071
  var $this = $(this),
3072
+ $complex = $this.closest('.ulf-customize-complex');
3073
 
3074
  if ( $complex.length ) {
3075
 
3076
  var $input = $complex.find(':input'),
3077
  $unique = $complex.data('unique-id'),
3078
  $option = $complex.data('option-id'),
3079
+ obj = $input.serializeObjectULF(),
3080
  data = ( !$.isEmptyObject(obj) ) ? obj[$unique][$option] : '',
3081
  control = window.wp.customize.control($unique +'['+ $option +']');
3082
 
3091
 
3092
  }
3093
 
3094
+ $(document).trigger('ulf-customizer-refresh', $this);
3095
 
3096
  });
3097
  };
3099
  //
3100
  // Customize Listen Form Elements
3101
  //
3102
+ $.fn.ulf_customizer_listen = function( options ) {
3103
 
3104
  var settings = $.extend({
3105
  closest: false,
3109
 
3110
  if ( window.wp.customize === undefined ) { return; }
3111
 
3112
+ var $this = ( settings.closest ) ? $(this).closest('.ulf-customize-complex') : $(this),
3113
  $input = $this.find(':input'),
3114
  unique_id = $this.data('unique-id'),
3115
  option_id = $this.data('option-id');
3116
 
3117
  if ( unique_id === undefined ) { return; }
3118
 
3119
+ $input.on('change keyup', ULF.helper.debounce( function() {
3120
 
3121
+ var obj = $this.find(':input').serializeObjectULF();
3122
  var val = ( !$.isEmptyObject(obj) && obj[unique_id] && obj[unique_id][option_id] ) ? obj[unique_id][option_id] : '';
3123
 
3124
  window.wp.customize.control( unique_id +'['+ option_id +']' ).setting.set( val );
3137
 
3138
  if ( $this.hasClass('open') && !$this.data('inited') ) {
3139
 
3140
+ var $fields = $this.find('.ulf-customize-field');
3141
+ var $complex = $this.find('.ulf-customize-complex');
3142
 
3143
  if ( $fields.length ) {
3144
+ $this.ulf_dependency();
3145
+ $fields.ulf_reload_script({dependency: false});
3146
+ $complex.ulf_customizer_listen();
3147
  }
3148
 
3149
  $this.data('inited', true);
3155
  //
3156
  // Window on resize
3157
  //
3158
+ ULF.vars.$window.on('resize ulf.resize', ULF.helper.debounce( function( event ) {
3159
 
3160
+ var window_width = navigator.userAgent.indexOf('AppleWebKit/') > -1 ? ULF.vars.$window.width() : window.innerWidth;
3161
 
3162
+ if ( window_width <= 782 && !ULF.vars.onloaded ) {
3163
+ $('.ulf-section').ulf_reload_script();
3164
+ ULF.vars.onloaded = true;
3165
  }
3166
 
3167
+ }, 200)).trigger('ulf.resize');
3168
 
3169
  //
3170
  // Widgets Framework
3171
  //
3172
+ $.fn.ulf_widgets = function() {
3173
  if ( this.length ) {
3174
 
3175
  $(document).on('widget-added widget-updated', function( event, $widget ) {
3176
+ $widget.find('.ulf-fields').ulf_reload_script();
3177
  });
3178
 
3179
  $('.widgets-sortables, .control-section-sidebar').on('sortstop', function( event, ui ) {
3180
+ ui.item.find('.ulf-fields').ulf_reload_script_retry();
3181
  });
3182
 
3183
  $(document).on('click', '.widget-top', function( event ) {
3184
+ $(this).parent().find('.ulf-fields').ulf_reload_script();
3185
  });
3186
 
3187
  }
3190
  //
3191
  // Nav Menu Options Framework
3192
  //
3193
+ $.fn.ulf_nav_menu = function() {
3194
  return this.each( function() {
3195
 
3196
  var $navmenu = $(this);
3197
 
3198
  $navmenu.on('click', 'a.item-edit', function() {
3199
+ $(this).closest('li.menu-item').find('.ulf-fields').ulf_reload_script();
3200
  });
3201
 
3202
  $navmenu.on('sortstop', function( event, ui ) {
3203
+ ui.item.find('.ulf-fields').ulf_reload_script_retry();
3204
  });
3205
 
3206
  });
3209
  //
3210
  // Retry Plugins
3211
  //
3212
+ $.fn.ulf_reload_script_retry = function() {
3213
  return this.each( function() {
3214
 
3215
  var $this = $(this);
3216
 
3217
  if ( $this.data('inited') ) {
3218
+ $this.children('.ulf-field-wp_editor').ulf_field_wp_editor();
3219
  }
3220
 
3221
  });
3224
  //
3225
  // Reload Plugins
3226
  //
3227
+ $.fn.ulf_reload_script = function( options ) {
3228
 
3229
  var settings = $.extend({
3230
  dependency: true,
3238
  if ( !$this.data('inited') ) {
3239
 
3240
  // Field plugins
3241
+ $this.children('.ulf-field-accordion').ulf_field_accordion();
3242
+ $this.children('.ulf-field-backup').ulf_field_backup();
3243
+ $this.children('.ulf-field-background').ulf_field_background();
3244
+ $this.children('.ulf-field-code_editor').ulf_field_code_editor();
3245
+ $this.children('.ulf-field-date').ulf_field_date();
3246
+ $this.children('.ulf-field-fieldset').ulf_field_fieldset();
3247
+ $this.children('.ulf-field-gallery').ulf_field_gallery();
3248
+ $this.children('.ulf-field-group').ulf_field_group();
3249
+ $this.children('.ulf-field-icon').ulf_field_icon();
3250
+ $this.children('.ulf-field-media').ulf_field_media();
3251
+ $this.children('.ulf-field-map').ulf_field_map();
3252
+ $this.children('.ulf-field-repeater').ulf_field_repeater();
3253
+ $this.children('.ulf-field-slider').ulf_field_slider();
3254
+ $this.children('.ulf-field-sortable').ulf_field_sortable();
3255
+ $this.children('.ulf-field-sorter').ulf_field_sorter();
3256
+ $this.children('.ulf-field-spinner').ulf_field_spinner();
3257
+ $this.children('.ulf-field-switcher').ulf_field_switcher();
3258
+ $this.children('.ulf-field-tabbed').ulf_field_tabbed();
3259
+ $this.children('.ulf-field-typography').ulf_field_typography();
3260
+ $this.children('.ulf-field-upload').ulf_field_upload();
3261
+ $this.children('.ulf-field-wp_editor').ulf_field_wp_editor();
3262
 
3263
  // Field colors
3264
+ $this.children('.ulf-field-border').find('.ulf-color').ulf_color();
3265
+ $this.children('.ulf-field-background').find('.ulf-color').ulf_color();
3266
+ $this.children('.ulf-field-color').find('.ulf-color').ulf_color();
3267
+ $this.children('.ulf-field-color_group').find('.ulf-color').ulf_color();
3268
+ $this.children('.ulf-field-link_color').find('.ulf-color').ulf_color();
3269
+ $this.children('.ulf-field-typography').find('.ulf-color').ulf_color();
3270
 
3271
  // Field chosenjs
3272
+ $this.children('.ulf-field-select').find('.ulf-chosen').ulf_chosen();
3273
 
3274
  // Field Checkbox
3275
+ $this.children('.ulf-field-checkbox').find('.ulf-checkbox').ulf_checkbox();
3276
 
3277
  // Field Siblings
3278
+ $this.children('.ulf-field-button_set').find('.ulf-siblings').ulf_siblings();
3279
+ $this.children('.ulf-field-image_select').find('.ulf-siblings').ulf_siblings();
3280
+ $this.children('.ulf-field-palette').find('.ulf-siblings').ulf_siblings();
3281
 
3282
  // Help Tooptip
3283
+ $this.children('.ulf-field').find('.ulf-help').ulf_help();
3284
 
3285
  if ( settings.dependency ) {
3286
+ $this.ulf_dependency();
3287
  }
3288
 
3289
  $this.data('inited', true);
3290
 
3291
+ $(document).trigger('ulf-reload-script', $this);
3292
 
3293
  }
3294
 
3300
  //
3301
  $(document).ready( function() {
3302
 
3303
+ $('.ulf-save').ulf_save();
3304
+ $('.ulf-options').ulf_options();
3305
+ $('.ulf-sticky-header').ulf_sticky();
3306
+ $('.ulf-nav-options').ulf_nav_options();
3307
+ $('.ulf-nav-metabox').ulf_nav_metabox();
3308
+ $('.ulf-taxonomy').ulf_taxonomy();
3309
+ $('.ulf-page-templates').ulf_page_templates();
3310
+ $('.ulf-post-formats').ulf_post_formats();
3311
+ $('.ulf-shortcode').ulf_shortcode();
3312
+ $('.ulf-search').ulf_search();
3313
+ $('.ulf-confirm').ulf_confirm();
3314
+ $('.ulf-expand-all').ulf_expand_all();
3315
+ $('.ulf-onload').ulf_reload_script();
3316
+ $('.widget').ulf_widgets();
3317
+ $('#menu-to-edit').ulf_nav_menu();
3318
 
3319
  });
3320
 
admin/settings/assets/js/main.min.js CHANGED
@@ -1,3 +1,3 @@
1
  /* Codestar Framework | A Simple and Lightweight WordPress Option Framework - v2.1.7*/
2
 
3
- !function(A,_,b,y){"use strict";var E=E||{};E.funcs={},E.vars={onloaded:!1,$body:A("body"),$window:A(_),$document:A(b),$form_warning:null,is_confirm:!1,form_modified:!1,code_themes:[],is_rtl:A("body").hasClass("rtl")},E.helper={uid:function(e){return(e||"")+Math.random().toString(36).substr(2,9)},preg_quote:function(e){return(e+"").replace(/(\[|\-|\])/g,"\\$1")},name_nested_replace:function(e,t){var n=new RegExp("("+E.helper.preg_quote(t)+")\\[(\\d+)\\]","g");e.find(":radio").each(function(){(this.checked||this.orginal_checked)&&(this.orginal_checked=!0)}),e.each(function(e){A(this).find(":input").each(function(){this.name=this.name.replace(n,t+"["+e+"]"),this.orginal_checked&&(this.checked=!0)})})},debounce:function(i,a,s){var c;return function(){var e=this,t=arguments,n=s&&!c;clearTimeout(c),c=setTimeout(function(){c=null,s||i.apply(e,t)},a),n&&i.apply(e,t)}}},A.fn.csf_clone=function(){for(var e=A.fn.clone.apply(this,arguments),t=this.find("select").add(this.filter("select")),n=e.find("select").add(e.filter("select")),i=0;i<t.length;++i)for(var a=0;a<t[i].options.length;++a)!0===t[i].options[a].selected&&(n[i].options[a].selected=!0);return this.find(":radio").each(function(){this.orginal_checked=this.checked}),e},A.fn.csf_expand_all=function(){return this.each(function(){A(this).on("click",function(e){e.preventDefault(),A(".csf-wrapper").toggleClass("csf-show-all"),A(".csf-section").csf_reload_script(),A(this).find(".fa").toggleClass("fa-indent").toggleClass("fa-outdent")})})},A.fn.csf_nav_options=function(){return this.each(function(){var a,s=A(this).find("a");A(_).on("hashchange csf.hashchange",function(){var e=_.location.hash.replace("#tab=",""),t=e||s.first().attr("href").replace("#tab=",""),n=A('[data-tab-id="'+t+'"]');if(n.length){n.closest(".csf-tab-item").addClass("csf-tab-expanded").siblings().removeClass("csf-tab-expanded"),n.next().is("ul")&&(t=(n=n.next().find("li").first().find("a")).data("tab-id")),s.removeClass("csf-active"),n.addClass("csf-active"),a&&a.hide();var i=A('[data-section-id="'+t+'"]');i.show(),i.csf_reload_script(),A(".csf-section-id").val(i.index()),a=i}}).trigger("csf.hashchange")})},A.fn.csf_nav_metabox=function(){return this.each(function(){var a,e=A(this),s=e.find("a"),c=e.parent().find(".csf-section");s.each(function(i){A(this).on("click",function(e){e.preventDefault();var t=A(this);s.removeClass("csf-active"),t.addClass("csf-active"),a!==y&&a.hide();var n=c.eq(i);n.show(),n.csf_reload_script(),a=n})}),s.first().trigger("click")})},A.fn.csf_page_templates=function(){this.length&&A(b).on("change",".editor-page-attributes__template select, #page_template",function(){var e=A(this).val()||"default";A(".csf-page-templates").removeClass("csf-metabox-show").addClass("csf-metabox-hide"),A(".csf-page-"+e.toLowerCase().replace(/[^a-zA-Z0-9]+/g,"-")).removeClass("csf-metabox-hide").addClass("csf-metabox-show")})},A.fn.csf_post_formats=function(){this.length&&A(b).on("change",'.editor-post-format select, #formatdiv input[name="post_format"]',function(){var e=A(this).val()||"default";e="0"===e?"default":e,A(".csf-post-formats").removeClass("csf-metabox-show").addClass("csf-metabox-hide"),A(".csf-post-format-"+e).removeClass("csf-metabox-hide").addClass("csf-metabox-show")})},A.fn.csf_search=function(){return this.each(function(){A(this).find("input").on("change keyup",function(){var n=A(this).val(),e=A(".csf-wrapper"),t=e.find(".csf-section").find("> .csf-field:not(.csf-depend-on)"),i=t.find("> .csf-title, .csf-search-tags");3<n.length?(t.addClass("csf-metabox-hide"),e.addClass("csf-search-all"),i.each(function(){var e=A(this);if(e.text().match(new RegExp(".*?"+n+".*?","i"))){var t=e.closest(".csf-field");t.removeClass("csf-metabox-hide"),t.parent().csf_reload_script()}})):(t.removeClass("csf-metabox-hide"),e.removeClass("csf-search-all"))})})},A.fn.csf_sticky=function(){return this.each(function(){var i=A(this),e=A(_),a=i.find(".csf-header-inner"),s=parseInt(a.css("padding-left"))+parseInt(a.css("padding-right")),c=0,r=!1,t=function(){r||requestAnimationFrame(function(){var e,t,n;e=i.offset().top,t=Math.max(32,e-c),n=Math.max(b.documentElement.clientWidth,_.innerWidth||0),t<=32&&782<n?(a.css({width:i.outerWidth()-s}),i.css({height:i.outerHeight()}).addClass("csf-sticky")):(a.removeAttr("style"),i.removeAttr("style").removeClass("csf-sticky")),r=!1}),r=!0},n=function(){c=e.scrollTop(),t()};e.on("scroll resize",n),n()})},A.fn.csf_dependency=function(){return this.each(function(){var e=A(this),t=e.children("[data-controller]");if(t.length){var n=A.csf_deps.createRuleset(),i=A.csf_deps.createRuleset(),f=[],l=[];t.each(function(){var a=A(this),e=a.data("controller").split("|"),s=a.data("condition").split("|"),c=a.data("value").toString().split("|"),r=!!a.data("depend-global"),o=r?i:n;A.each(e,function(e,t){var n=c[e]||"",i=s[e]||s[0];(o=o.createRule('[data-depend-id="'+t+'"]',i,n)).include(a),r?l.push(t):f.push(t)})}),f.length&&A.csf_deps.enable(e,n,f),l.length&&A.csf_deps.enable(E.vars.$body,i,l)}})},A.fn.csf_field_accordion=function(){return this.each(function(){A(this).find(".csf-accordion-title").on("click",function(){var e=A(this),t=e.find(".csf-accordion-icon"),n=e.next();t.hasClass("fa-angle-right")?t.removeClass("fa-angle-right").addClass("fa-angle-down"):t.removeClass("fa-angle-down").addClass("fa-angle-right"),n.data("opened")||(n.csf_reload_script(),n.data("opened",!0)),n.toggleClass("csf-accordion-open")})})},A.fn.csf_field_backup=function(){return this.each(function(){if(_.wp.customize!==y){var t=this,n=A(this),i=(A("body"),n.find(".csf-import")),a=n.find(".csf-reset");t.notification=function(e){wp.customize.notifications&&wp.customize.OverlayNotification&&(wp.customize.state("saved").get()||(wp.customize.state("changesetStatus").set("trash"),wp.customize.each(function(e){e._dirty=!1}),wp.customize.state("saved").set(!0)),wp.customize.notifications.add(new wp.customize.OverlayNotification("csf_field_backup_notification",{type:"info",message:e,loading:!0})))},a.on("click",function(e){e.preventDefault(),E.vars.is_confirm&&(t.notification(_.csf_vars.i18n.reset_notification),_.wp.ajax.post("csf-reset",{unique:a.data("unique"),nonce:a.data("nonce")}).done(function(e){_.location.reload(!0)}).fail(function(e){alert(e.error),wp.customize.notifications.remove("csf_field_backup_notification")}))}),i.on("click",function(e){e.preventDefault(),E.vars.is_confirm&&(t.notification(_.csf_vars.i18n.import_notification),_.wp.ajax.post("csf-import",{unique:i.data("unique"),nonce:i.data("nonce"),data:n.find(".csf-import-data").val()}).done(function(e){_.location.reload(!0)}).fail(function(e){alert(e.error),wp.customize.notifications.remove("csf_field_backup_notification")}))})}})},A.fn.csf_field_background=function(){return this.each(function(){A(this).find(".csf--background-image").csf_reload_script()})},A.fn.csf_field_code_editor=function(){return this.each(function(){if("function"==typeof CodeMirror){var t=A(this),i=t.find("textarea"),e=t.find(".CodeMirror"),a=i.data("editor");e.length&&e.remove();var s=setInterval(function(){if(t.is(":visible")){var n=CodeMirror.fromTextArea(i[0],a);if("default"!==a.theme&&-1===E.vars.code_themes.indexOf(a.theme)){var e=A("<link>");A("#csf-codemirror-css").after(e),e.attr({rel:"stylesheet",id:"csf-codemirror-"+a.theme+"-css",href:a.cdnURL+"/theme/"+a.theme+".min.css",type:"text/css",media:"all"}),E.vars.code_themes.push(a.theme)}CodeMirror.modeURL=a.cdnURL+"/mode/%N/%N.min.js",CodeMirror.autoLoadMode(n,a.mode),n.on("change",function(e,t){i.val(n.getValue()).trigger("change")}),clearInterval(s)}})}})},A.fn.csf_field_date=function(){return this.each(function(){var e=A(this),i=e.find("input"),a=e.find(".csf-date-settings").data("settings"),t={showAnim:"",beforeShow:function(e,t){A(t.dpDiv).addClass("csf-datepicker-wrapper")},onClose:function(e,t){A(t.dpDiv).removeClass("csf-datepicker-wrapper")}};a=A.extend({},a,t),2===i.length&&(a=A.extend({},a,{onSelect:function(e){A(this),i.first();var t=i.first().attr("id")===A(this).attr("id")?"minDate":"maxDate",n=A.datepicker.parseDate(a.dateFormat,e);i.not(this).datepicker("option",t,n)}})),i.each(function(){var e=A(this);e.hasClass("hasDatepicker")&&e.removeAttr("id").removeClass("hasDatepicker"),e.datepicker(a)})})},A.fn.csf_field_fieldset=function(){return this.each(function(){A(this).find(".csf-fieldset-content").csf_reload_script()})},A.fn.csf_field_gallery=function(){return this.each(function(){var s,e=A(this),c=e.find(".csf-edit-gallery"),r=e.find(".csf-clear-gallery"),o=e.find("ul"),f=e.find("input");e.find("img");e.on("click",".csf-button, .csf-edit-gallery",function(e){var t=A(this),n=f.val(),i=t.hasClass("csf-edit-gallery")?"edit":"add",a="add"!==i||n.length?"gallery-edit":"gallery";e.preventDefault(),void 0!==_.wp&&_.wp.media&&_.wp.media.gallery&&("gallery"===a?(s=_.wp.media({library:{type:"image"},frame:"post",state:"gallery",multiple:!0})).open():(s=_.wp.media.gallery.edit('[gallery ids="'+n+'"]'),"add"===i&&s.setState("gallery-library")),s.on("update",function(e){o.empty();var t=e.models.map(function(e){var t=e.toJSON(),n=t.sizes&&t.sizes.thumbnail&&t.sizes.thumbnail.url?t.sizes.thumbnail.url:t.url;return o.append('<li><img src="'+n+'"></li>'),t.id});f.val(t.join(",")).trigger("change"),r.removeClass("hidden"),c.removeClass("hidden")}))}),r.on("click",function(e){e.preventDefault(),o.empty(),f.val("").trigger("change"),r.addClass("hidden"),c.addClass("hidden")})})},A.fn.csf_field_group=function(){return this.each(function(){var e=A(this),t=e.children(".csf-fieldset"),n=t.length?t:e,o=n.children(".csf-cloneable-wrapper"),a=n.children(".csf-cloneable-hidden"),f=n.children(".csf-cloneable-max"),l=n.children(".csf-cloneable-min"),d=o.data("field-id"),s=o.data("unique-id"),h=Boolean(Number(o.data("title-number"))),p=parseInt(o.data("max")),i=parseInt(o.data("min"));o.hasClass("ui-accordion")&&o.find(".ui-accordion-header-icon").remove();var u=function(e){e.find(".csf-cloneable-title-number").each(function(e){A(this).html(A(this).closest(".csf-cloneable-item").index()+1+".")})};o.accordion({header:"> .csf-cloneable-item > .csf-cloneable-title",collapsible:!0,active:!1,animate:!1,heightStyle:"content",icons:{header:"csf-cloneable-header-icon fas fa-angle-right",activeHeader:"csf-cloneable-header-icon fas fa-angle-down"},activate:function(e,t){var n=t.newPanel,i=t.newHeader;if(n.length&&!n.data("opened")){var a=n.children().first().find(":input").first(),s=i.find(".csf-cloneable-value");a.on("change keyup",function(e){s.text(a.val())}),n.csf_reload_script(),n.data("opened",!0),n.data("retry",!1)}else n.data("retry")&&(n.csf_reload_script_retry(),n.data("retry",!1))}}),o.sortable({axis:"y",handle:".csf-cloneable-title,.csf-cloneable-sort",helper:"original",cursor:"move",placeholder:"widget-placeholder",start:function(e,t){o.accordion({active:!1}),o.sortable("refreshPositions"),t.item.children(".csf-cloneable-content").data("retry",!0)},update:function(e,t){E.helper.name_nested_replace(o.children(".csf-cloneable-item"),d),o.csf_customizer_refresh(),h&&u(o)}}),n.children(".csf-cloneable-add").on("click",function(e){e.preventDefault();var t=o.children(".csf-cloneable-item").length;if(l.hide(),p&&p<t+1)f.show();else{var n=s+d+"["+t+"]",i=a.csf_clone(!0);i.removeClass("csf-cloneable-hidden"),i.find(':input[name!="_pseudo"]').each(function(){this.name=n+this.name.replace(this.name.startsWith("_nonce")?"_nonce":s,"")}),i.find(".csf-data-wrapper").each(function(){A(this).attr("data-unique-id",n)}),o.append(i),o.accordion("refresh"),o.accordion({active:t}),o.csf_customizer_refresh(),o.csf_customizer_listen({closest:!0}),h&&u(o)}});var c=function(e){e.preventDefault();var t=o.children(".csf-cloneable-item").length;if(l.hide(),p&&p<t+1)f.show();else{var n=A(this).parent().parent(),i=n.children(".csf-cloneable-helper").csf_clone(!0),a=n.children(".csf-cloneable-title").csf_clone(),s=n.children(".csf-cloneable-content").csf_clone(),c=new RegExp("("+E.helper.preg_quote(d)+")\\[(\\d+)\\]","g");s.find(".csf-data-wrapper").each(function(){var e=A(this);e.attr("data-unique-id",e.attr("data-unique-id").replace(c,d+"["+(n.index()+1)+"]"))});var r=A('<div class="csf-cloneable-item" />');r.append(i),r.append(a),r.append(s),o.children().eq(n.index()).after(r),E.helper.name_nested_replace(o.children(".csf-cloneable-item"),d),o.accordion("refresh"),o.csf_customizer_refresh(),o.csf_customizer_listen({closest:!0}),h&&u(o)}};o.children(".csf-cloneable-item").children(".csf-cloneable-helper").on("click",".csf-cloneable-clone",c),n.children(".csf-cloneable-hidden").children(".csf-cloneable-helper").on("click",".csf-cloneable-clone",c);var r=function(e){e.preventDefault();var t=o.children(".csf-cloneable-item").length;f.hide(),l.hide(),i&&t-1<i?l.show():(A(this).closest(".csf-cloneable-item").remove(),E.helper.name_nested_replace(o.children(".csf-cloneable-item"),d),o.csf_customizer_refresh(),h&&u(o))};o.children(".csf-cloneable-item").children(".csf-cloneable-helper").on("click",".csf-cloneable-remove",r),n.children(".csf-cloneable-hidden").children(".csf-cloneable-helper").on("click",".csf-cloneable-remove",r)})},A.fn.csf_field_icon=function(){return this.each(function(){var n=A(this);n.on("click",".csf-icon-add",function(e){e.preventDefault();var t=A(this),i=A("#csf-modal-icon");i.removeClass("hidden"),E.vars.$icon_target=n,E.vars.icon_modal_loaded||(i.find(".csf-modal-loading").show(),_.wp.ajax.post("csf-get-icons",{nonce:t.data("nonce")}).done(function(e){i.find(".csf-modal-loading").hide(),E.vars.icon_modal_loaded=!0;var n=i.find(".csf-modal-load").html(e.content);n.on("click","i",function(e){e.preventDefault();var t=A(this).attr("title");E.vars.$icon_target.find("i").removeAttr("class").addClass(t),E.vars.$icon_target.find("input").val(t).trigger("change"),E.vars.$icon_target.find(".csf-icon-preview").removeClass("hidden"),E.vars.$icon_target.find(".csf-icon-remove").removeClass("hidden"),i.addClass("hidden")}),i.on("change keyup",".csf-icon-search",function(){var t=A(this).val();n.find("i").each(function(){var e=A(this);e.attr("title").search(new RegExp(t,"i"))<0?e.hide():e.show()})}),i.on("click",".csf-modal-close, .csf-modal-overlay",function(){i.addClass("hidden")})}).fail(function(e){i.find(".csf-modal-loading").hide(),i.find(".csf-modal-load").html(e.error),i.on("click",function(){i.addClass("hidden")})}))}),n.on("click",".csf-icon-remove",function(e){e.preventDefault(),n.find(".csf-icon-preview").addClass("hidden"),n.find("input").val("").trigger("change"),A(this).addClass("hidden")})})},A.fn.csf_field_map=function(){return this.each(function(){if("undefined"!=typeof L){var e=A(this),t=e.find(".csf--map-osm"),n=e.find(".csf--map-search input"),i=e.find(".csf--latitude"),a=e.find(".csf--longitude"),s=e.find(".csf--zoom"),c=t.data("map"),r=L.map(t.get(0),c);L.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'}).addTo(r);var o=L.marker(c.center,{draggable:!0}).addTo(r),f=function(e){i.val(e.lat),a.val(e.lng),s.val(r.getZoom())};r.on("click",function(e){o.setLatLng(e.latlng),f(e.latlng)}),r.on("zoom",function(){f(o.getLatLng())}),o.on("drag",function(){f(o.getLatLng())}),n.length||(n=A('[data-depend-id="'+e.find(".csf--address-field").data("address-field")+'"]'));var l={};n.autocomplete({source:function(e,n){var i=e.term;i in l?n(l[i]):A.get("https://nominatim.openstreetmap.org/search",{format:"json",q:i},function(e){var t;t=e.length?e.map(function(e){return{value:e.display_name,label:e.display_name,lat:e.lat,lon:e.lon}},"json"):[{value:"no-data",label:"No Results."}],l[i]=t,n(t)})},select:function(e,t){if("no-data"===t.item.value)return!1;var n=L.latLng(t.item.lat,t.item.lon);r.panTo(n),o.setLatLng(n),f(n)},create:function(e,t){A(this).autocomplete("widget").addClass("csf-map-ui-autocomplate")}});var d=function(){var e=L.latLng(i.val(),a.val());r.panTo(e),o.setLatLng(e)};i.on("change",d),a.on("change",d)}})},A.fn.csf_field_media=function(){return this.each(function(){var i,a=A(this),s=a.find(".csf--button"),c=a.find(".csf--remove"),r=s.data("library")&&s.data("library").split(",")||"",o=!!a.hasClass("csf-assign-field-background")&&a.closest(".csf-field-background").find(".csf--auto-attributes");s.on("click",function(e){e.preventDefault(),void 0!==_.wp&&_.wp.media&&_.wp.media.gallery&&(i||(i=_.wp.media({library:{type:r}})).on("select",function(){var e,t=i.state().get("selection").first().attributes,n=s.data("preview-size")||"thumbnail";r.length&&-1===r.indexOf(t.subtype)&&-1===r.indexOf(t.type)||(a.find(".csf--id").val(t.id),a.find(".csf--width").val(t.width),a.find(".csf--height").val(t.height),a.find(".csf--alt").val(t.alt),a.find(".csf--title").val(t.title),a.find(".csf--description").val(t.description),e=void 0!==t.sizes&&void 0!==t.sizes.thumbnail&&"thumbnail"===n?t.sizes.thumbnail.url:void 0!==t.sizes&&void 0!==t.sizes.full?t.sizes.full.url:t.icon,o&&o.removeClass("csf--attributes-hidden"),c.removeClass("hidden"),a.find(".csf--preview").removeClass("hidden"),a.find(".csf--src").attr("src",e),a.find(".csf--thumbnail").val(e),a.find(".csf--url").val(t.url).trigger("change"))}),i.open())}),c.on("click",function(e){e.preventDefault(),o&&o.addClass("csf--attributes-hidden"),c.addClass("hidden"),a.find("input").val(""),a.find(".csf--preview").addClass("hidden"),a.find(".csf--url").trigger("change")})})},A.fn.csf_field_repeater=function(){return this.each(function(){var e=A(this),t=e.children(".csf-fieldset"),n=t.length?t:e,r=n.children(".csf-repeater-wrapper"),a=n.children(".csf-repeater-hidden"),o=n.children(".csf-repeater-max"),f=n.children(".csf-repeater-min"),l=r.data("field-id"),s=r.data("unique-id"),d=parseInt(r.data("max")),i=parseInt(r.data("min"));r.children(".csf-repeater-item").children(".csf-repeater-content").csf_reload_script(),r.sortable({axis:"y",handle:".csf-repeater-sort",helper:"original",cursor:"move",placeholder:"widget-placeholder",update:function(e,t){E.helper.name_nested_replace(r.children(".csf-repeater-item"),l),r.csf_customizer_refresh(),t.item.csf_reload_script_retry()}}),n.children(".csf-repeater-add").on("click",function(e){e.preventDefault();var t=r.children(".csf-repeater-item").length;if(f.hide(),d&&d<t+1)o.show();else{var n=s+l+"["+t+"]",i=a.csf_clone(!0);i.removeClass("csf-repeater-hidden"),i.find(':input[name!="_pseudo"]').each(function(){this.name=n+this.name.replace(this.name.startsWith("_nonce")?"_nonce":s,"")}),i.find(".csf-data-wrapper").each(function(){A(this).attr("data-unique-id",n)}),r.append(i),i.children(".csf-repeater-content").csf_reload_script(),r.csf_customizer_refresh(),r.csf_customizer_listen({closest:!0})}});var c=function(e){e.preventDefault();var t=r.children(".csf-repeater-item").length;if(f.hide(),d&&d<t+1)o.show();else{var n=A(this).parent().parent().parent(),i=n.children(".csf-repeater-content").csf_clone(),a=n.children(".csf-repeater-helper").csf_clone(!0),s=new RegExp("("+E.helper.preg_quote(l)+")\\[(\\d+)\\]","g");i.find(".csf-data-wrapper").each(function(){var e=A(this);e.attr("data-unique-id",e.attr("data-unique-id").replace(s,l+"["+(n.index()+1)+"]"))});var c=A('<div class="csf-repeater-item" />');c.append(i),c.append(a),r.children().eq(n.index()).after(c),c.children(".csf-repeater-content").csf_reload_script(),E.helper.name_nested_replace(r.children(".csf-repeater-item"),l),r.csf_customizer_refresh(),r.csf_customizer_listen({closest:!0})}};r.children(".csf-repeater-item").children(".csf-repeater-helper").on("click",".csf-repeater-clone",c),n.children(".csf-repeater-hidden").children(".csf-repeater-helper").on("click",".csf-repeater-clone",c);var h=function(e){e.preventDefault();var t=r.children(".csf-repeater-item").length;o.hide(),f.hide(),i&&t-1<i?f.show():(A(this).closest(".csf-repeater-item").remove(),E.helper.name_nested_replace(r.children(".csf-repeater-item"),l),r.csf_customizer_refresh())};r.children(".csf-repeater-item").children(".csf-repeater-helper").on("click",".csf-repeater-remove",h),n.children(".csf-repeater-hidden").children(".csf-repeater-helper").on("click",".csf-repeater-remove",h)})},A.fn.csf_field_slider=function(){return this.each(function(){var e=A(this),n=e.find("input"),t=e.find(".csf-slider-ui"),i=n.data(),a=n.val()||0;t.hasClass("ui-slider")&&t.empty(),t.slider({range:"min",value:a,min:i.min,max:i.max,step:i.step,slide:function(e,t){n.val(t.value).trigger("change")}}),n.on("keyup",function(){t.slider("value",n.val())})})},A.fn.csf_field_sortable=function(){return this.each(function(){var n=A(this).find(".csf-sortable");n.sortable({axis:"y",helper:"original",cursor:"move",placeholder:"widget-placeholder",update:function(e,t){n.csf_customizer_refresh()}}),n.find(".csf-sortable-content").csf_reload_script()})},A.fn.csf_field_sorter=function(){return this.each(function(){var i=A(this),e=i.find(".csf-enabled"),t=i.find(".csf-disabled"),n=!!t.length&&t;e.sortable({connectWith:n,placeholder:"ui-sortable-placeholder",update:function(e,t){var n=t.item.find("input");t.item.parent().hasClass("csf-enabled")?n.attr("name",n.attr("name").replace("disabled","enabled")):n.attr("name",n.attr("name").replace("enabled","disabled")),i.csf_customizer_refresh()}}),n&&n.sortable({connectWith:e,placeholder:"ui-sortable-placeholder",update:function(e,t){i.csf_customizer_refresh()}})})},A.fn.csf_field_spinner=function(){return this.each(function(){var n=A(this),i=n.find("input"),e=n.find(".ui-spinner-button"),a=i.data("unit");e.length&&e.remove(),i.spinner({max:i.data("max")||100,min:i.data("min")||0,step:i.data("step")||1,create:function(e,t){a.length&&n.find(".ui-spinner-up").after('<span class="ui-button-text-only csf--unit">'+a+"</span>")},spin:function(e,t){i.val(t.value).trigger("change")}})})},A.fn.csf_field_switcher=function(){return this.each(function(){var n=A(this).find(".csf--switcher");n.on("click",function(){var e=0,t=n.find("input");n.hasClass("csf--active")?n.removeClass("csf--active"):(e=1,n.addClass("csf--active")),t.val(e).trigger("change")})})},A.fn.csf_field_tabbed=function(){return this.each(function(){var e=A(this),t=e.find(".csf-tabbed-nav a"),a=e.find(".csf-tabbed-content");a.eq(0).csf_reload_script(),t.on("click",function(e){e.preventDefault();var t=A(this),n=t.index(),i=a.eq(n);t.addClass("csf-tabbed-active").siblings().removeClass("csf-tabbed-active"),i.csf_reload_script(),i.removeClass("hidden").siblings().addClass("hidden")})})},A.fn.csf_field_typography=function(){return this.each(function(){var S=this,j=A(this),i=[],L=csf_typography_json.webfonts,t=csf_typography_json.googlestyles,I=csf_typography_json.defaultstyles;S.sanitize_subset=function(e){return e=(e=e.replace("-ext"," Extended")).charAt(0).toUpperCase()+e.slice(1)},S.sanitize_style=function(e){return t[e]?t[e]:e},S.load_google_font=function(e,t,n){e&&"object"==typeof WebFont&&(t=t?t.replace("normal",""):"",n=n?n.replace("normal",""):"",(t||n)&&(e=e+":"+t+n),-1===i.indexOf(e)&&WebFont.load({google:{families:[e]}}),i.push(e))},S.append_select_options=function(e,t,a,s,c){e.find("option").not(":first").remove();var r="";A.each(t,function(e,t){var n,i=t;n=c?a&&-1!==a.indexOf(t)?" selected":"":a&&a===t?" selected":"","subset"===s?i=S.sanitize_subset(t):"style"===s&&(i=S.sanitize_style(t)),r+='<option value="'+t+'"'+n+">"+i+"</option>"}),e.append(r).trigger("csf.change").trigger("chosen:updated")},S.init=function(){var l=[],e=j.find(".csf--typography"),d=j.find(".csf--type"),h=j.find(".csf--block-font-style"),v=e.data("unit"),g=e.data("line-height-unit"),t=e.data("exclude")?e.data("exclude").split(","):[];j.find(".csf--chosen").length&&j.find("select").each(function(){var e=A(this),t=e.parent().find(".chosen-container");t.length&&t.remove(),e.chosen({allow_single_deselect:!0,disable_search_threshold:15,width:"100%"})});var m=j.find(".csf--font-family"),i=m.val();m.find("option").not(":first-child").remove();var a="";A.each(L,function(n,e){t&&-1!==t.indexOf(n)||(a+='<optgroup label="'+e.label+'">',A.each(e.fonts,function(e,t){a+='<option value="'+(t="object"==typeof t?e:t)+'" data-type="'+n+'"'+(t===i?" selected":"")+">"+t+"</option>"}),a+="</optgroup>")}),m.append(a).trigger("chosen:updated");var p=j.find(".csf--block-font-style");if(p.length){var u=j.find(".csf--font-style-select"),_=u.val()?u.val().replace(/normal/g,""):"";u.on("change csf.change",function(e){var t=u.val();!t&&l&&-1===l.indexOf("normal")&&(t=l[0]);var n=t&&"italic"!==t&&"normal"===t?"normal":"",i=t&&"italic"!==t&&"normal"!==t?t.replace("italic",""):n,a=t&&"italic"===t.substr(-6)?"italic":"";j.find(".csf--font-weight").val(i),j.find(".csf--font-style").val(a)});var b=j.find(".csf--block-extra-styles");if(b.length)var y=j.find(".csf--extra-styles"),w=y.val()}var C=j.find(".csf--block-subset");if(C.length)var x=j.find(".csf--subset"),k=x.val(),z=x.data("multiple")||!1;var D=j.find(".csf--block-backup-font-family");m.on("change csf.change",function(e){C.length&&C.addClass("hidden"),b.length&&b.addClass("hidden"),D.length&&D.addClass("hidden");var t=m.find(":selected"),n=t.val(),i=t.data("type");if(i&&n){if("google"!==i&&"custom"!==i||!D.length||D.removeClass("hidden"),p.length){var a=I;"google"===i&&L[i].fonts[n][0]?a=L[i].fonts[n][0]:"custom"===i&&L[i].fonts[n]&&(a=L[i].fonts[n]);var s=-1!==(l=a).indexOf("normal")?"normal":a[0],c=_&&-1!==a.indexOf(_)?_:s;S.append_select_options(u,a,c,"style"),_=!1,p.removeClass("hidden"),"google"===i&&b.length&&1<a.length&&(S.append_select_options(y,a,w,"style",!0),w=!1,b.removeClass("hidden"))}if("google"===i&&C.length&&L[i].fonts[n][1]){var r=L[i].fonts[n][1],o=r.length<2&&"latin"!==r[0]?r[0]:"",f=k&&-1!==r.indexOf(k)?k:o;f=z&&k?k:f,S.append_select_options(x,r,f,"subset",z),k=!1,C.removeClass("hidden")}}else h.find(":input").val(""),C.length&&(x.find("option").not(":first-child").remove(),x.trigger("chosen:updated")),p.length&&(u.find("option").not(":first-child").remove(),u.trigger("chosen:updated"));d.val(i)}).trigger("csf.change");var q=j.find(".csf--block-preview");if(q.length){var O=j.find(".csf--preview");j.on("change",E.helper.debounce(function(e){q.removeClass("hidden");var t=m.val(),n=j.find(".csf--font-weight").val(),i=j.find(".csf--font-style").val(),a=j.find(".csf--font-size").val(),s=j.find(".csf--font-variant").val(),c=j.find(".csf--line-height").val(),r=j.find(".csf--text-align").val(),o=j.find(".csf--text-transform").val(),f=j.find(".csf--text-decoration").val(),l=j.find(".csf--color").val(),d=j.find(".csf--word-spacing").val(),h=j.find(".csf--letter-spacing").val(),p=j.find(".csf--custom-style").val();"google"===j.find(".csf--type").val()&&S.load_google_font(t,n,i);var u={};t&&(u.fontFamily=t),n&&(u.fontWeight=n),i&&(u.fontStyle=i),s&&(u.fontVariant=s),a&&(u.fontSize=a+v),c&&(u.lineHeight=c+g),h&&(u.letterSpacing=h+v),d&&(u.wordSpacing=d+v),r&&(u.textAlign=r),o&&(u.textTransform=o),f&&(u.textDecoration=f),l&&(u.color=l),O.removeAttr("style"),p&&O.attr("style",p),O.css(u)},100)),q.on("click",function(){O.toggleClass("csf--black-background");var e=q.find(".csf--toggle");e.hasClass("fa-toggle-off")?e.removeClass("fa-toggle-off").addClass("fa-toggle-on"):e.removeClass("fa-toggle-on").addClass("fa-toggle-off")}),q.hasClass("hidden")||j.trigger("change")}},S.init()})},A.fn.csf_field_upload=function(){return this.each(function(){var t,e=A(this),n=e.find("input"),i=e.find(".csf--button"),a=e.find(".csf--remove"),s=i.data("library")&&i.data("library").split(",")||"";n.on("change",function(e){n.val()?a.removeClass("hidden"):a.addClass("hidden")}),i.on("click",function(e){e.preventDefault(),void 0!==_.wp&&_.wp.media&&_.wp.media.gallery&&(t||(t=_.wp.media({library:{type:s}})).on("select",function(){var e=t.state().get("selection").first().attributes;s.length&&-1===s.indexOf(e.subtype)&&-1===s.indexOf(e.type)||n.val(e.url).trigger("change")}),t.open())}),a.on("click",function(e){e.preventDefault(),n.val("").trigger("change")})})},A.fn.csf_field_wp_editor=function(){return this.each(function(){if(void 0!==_.wp.editor&&void 0!==_.tinyMCEPreInit&&void 0!==_.tinyMCEPreInit.mceInit.csf_wp_editor){var e=A(this),t=e.find(".csf-wp-editor"),n=e.find("textarea");(e.find(".wp-editor-wrap").length||e.find(".mce-container").length)&&(t.empty(),t.append(n),n.css("display",""));var i=E.helper.uid("csf-editor-");n.attr("id",i);var a={tinymce:_.tinyMCEPreInit.mceInit.csf_wp_editor,quicktags:_.tinyMCEPreInit.qtInit.csf_wp_editor},s=t.data("editor-settings"),c=wp.oldEditor?wp.oldEditor:wp.editor;c&&c.hasOwnProperty("autop")&&(wp.editor.autop=c.autop,wp.editor.removep=c.removep,wp.editor.initialize=c.initialize),a.tinymce=A.extend({},a.tinymce,{selector:"#"+i,setup:function(e){e.on("change",E.helper.debounce(function(){e.save(),n.trigger("change")},250))}}),!1===s.tinymce&&(a.tinymce=!1,t.addClass("csf-no-tinymce")),!1===s.quicktags&&(a.quicktags=!1,t.addClass("csf-no-quicktags"));var r=setInterval(function(){e.is(":visible")&&(_.wp.editor.initialize(i,a),clearInterval(r))});if(s.media_buttons&&_.csf_media_buttons){var o=t.find(".wp-media-buttons");if(o.length)o.find(".csf-shortcode-button").data("editor-id",i);else{var f=A(_.csf_media_buttons);f.find(".csf-shortcode-button").data("editor-id",i),t.prepend(f)}}}})},A.fn.csf_confirm=function(){return this.each(function(){A(this).on("click",function(e){var t=A(this).data("confirm")||_.csf_vars.i18n.confirm;if(!confirm(t))return e.preventDefault(),!1;E.vars.is_confirm=!0,E.vars.form_modified=!1})})},A.fn.serializeObject=function(){var a={};return A.each(this.serializeArray(),function(e,t){var n=t.name,i=t.value;a[n]=a[n]===y?i:A.isArray(a[n])?a[n].concat(i):[a[n],i]}),a},A.fn.csf_save=function(){return this.each(function(){var i,a=A(this),c=A(".csf-save"),r=A(".csf-options"),o=!1;a.on("click",function(e){if(!o){var t=a.data("save"),n=a.val();c.attr("value",t),a.hasClass("csf-save-ajax")?(e.preventDefault(),r.addClass("csf-saving"),c.prop("disabled",!0),_.wp.ajax.post("csf_"+r.data("unique")+"_ajax_save",{data:A("#csf-form").serializeJSONCSF()}).done(function(e){if(A(".csf-error").remove(),Object.keys(e.errors).length){var s='<i class="csf-label-error csf-error">!</i>';A.each(e.errors,function(e,t){var n=A('[data-depend-id="'+e+'"]'),i=A("#csf-tab-link-"+(n.closest(".csf-section").index()+1)),a=i.closest(".csf-tab-depth-0");n.closest(".csf-fieldset").append('<p class="csf-error csf-error-text">'+t+"</p>"),i.find(".csf-error").length||i.append(s),a.find(".csf-arrow .csf-error").length||a.find(".csf-arrow").append(s)})}r.removeClass("csf-saving"),c.prop("disabled",!1).attr("value",n),o=!1,E.vars.form_modified=!1,E.vars.$form_warning.hide(),clearTimeout(i);var t=A(".csf-form-success");t.empty().append(e.notice).fadeIn("fast",function(){i=setTimeout(function(){t.fadeOut("fast")},1e3)})}).fail(function(e){alert(e.error)})):E.vars.form_modified=!1}o=!0})})},A.fn.csf_options=function(){return this.each(function(){var e=A(this),t=e.find(".csf-content"),n=e.find(".csf-form-success"),i=e.find(".csf-form-warning"),a=e.find(".csf-header .csf-save");(E.vars.$form_warning=i).length&&(_.onbeforeunload=function(){return!!E.vars.form_modified||y},t.on("change keypress",":input",function(){E.vars.form_modified||(n.hide(),i.fadeIn("fast"),E.vars.form_modified=!0)})),n.hasClass("csf-form-show")&&setTimeout(function(){n.fadeOut("fast")},1e3),A(b).keydown(function(e){if((e.ctrlKey||e.metaKey)&&83===e.which)return a.trigger("click"),e.preventDefault(),!1})})},A.fn.csf_taxonomy=function(){return this.each(function(){var e=A(this),t=e.parents("form");if("addtag"===t.attr("id")){var n=t.find("#submit"),i=e.find(".csf-field").csf_clone();n.on("click",function(){t.find(".form-required").hasClass("form-invalid")||(e.data("inited",!1),e.empty(),e.html(i),i=i.csf_clone(),e.csf_reload_script())})}})},A.fn.csf_shortcode=function(){var m=this;return m.shortcode_parse=function(e,n){var i="";return A.each(e,function(e,t){i+="["+(n=n||e),A.each(t,function(e,t){"content"===e?(i+="]",i+=t,i+="[/"+n):i+=m.shortcode_tags(e,t)}),i+="]"}),i},m.shortcode_tags=function(e,t){var n="";return""!==t&&("object"!=typeof t||A.isArray(t)?n+=" "+e.replace("-","_")+'="'+t.toString()+'"':A.each(t,function(e,t){switch(e){case"background-image":t=t.url?t.url:""}""!==t&&(n+=" "+e.replace("-","_")+'="'+t.toString()+'"')})),n},m.insertAtChars=function(e,t){var n=void 0!==e[0].name?e[0]:e;return n.value.length&&void 0!==n.selectionStart?(n.focus(),n.value.substring(0,n.selectionStart)+t+n.value.substring(n.selectionEnd,n.value.length)):(n.focus(),t)},m.send_to_editor=function(e,t){var n;if("undefined"!=typeof tinymce&&(n=tinymce.get(t)),n&&!n.isHidden())n.execCommand("mceInsertContent",!1,e);else{var i=A("#"+t);i.val(m.insertAtChars(i,e)).trigger("change")}},this.each(function(){var c,r,o,n,f,l,d,a,h,p=A(this),i=p.find(".csf-modal-load"),u=(p.find(".csf-modal-content"),p.find(".csf-modal-insert")),s=p.find(".csf-modal-loading"),t=p.find("select"),v=p.data("modal-id"),g=p.data("nonce");A(b).on("click",'.csf-shortcode-button[data-modal-id="'+v+'"]',function(e){e.preventDefault(),h=A(this),c=h.data("editor-id")||!1,r=h.data("target-id")||!1,o=h.data("gutenberg-id")||!1,p.removeClass("hidden"),p.hasClass("csf-shortcode-single")&&f===y&&t.trigger("change")}),t.on("change",function(){var e=A(this),t=e.find(":selected");n=e.val(),f=t.data("shortcode"),l=t.data("view")||"normal",d=t.data("group")||f,i.empty(),n?(s.show(),_.wp.ajax.post("csf-get-shortcode-"+v,{shortcode_key:n,nonce:g}).done(function(e){s.hide();var t=A(e.content).appendTo(i);u.parent().removeClass("hidden"),a=t.find(".csf--repeat-shortcode").csf_clone(),t.csf_reload_script(),t.find(".csf-fields").csf_reload_script()})):u.parent().addClass("hidden")}),u.on("click",function(e){if(e.preventDefault(),!u.prop("disabled")&&!u.attr("disabled")){var i="",t=p.find(".csf-field:not(.csf-depend-on)").find(":input:not(.ignore)").serializeObjectCSF();switch(l){case"contents":var n=f?t[f]:t;A.each(n,function(e,t){var n=f||e;i+="["+n+"]"+t+"[/"+n+"]"});break;case"group":i+="["+f,A.each(t[f],function(e,t){i+=m.shortcode_tags(e,t)}),i+="]",i+=m.shortcode_parse(t[d],d),i+="[/"+f+"]";break;case"repeater":i+=m.shortcode_parse(t[d],d);break;default:i+=m.shortcode_parse(t)}if(i=""===i?"["+f+"]":i,o){var a=_.csf_gutenberg_props.attributes.hasOwnProperty("shortcode")?_.csf_gutenberg_props.attributes.shortcode:"";_.csf_gutenberg_props.setAttributes({shortcode:a+i})}else if(c)m.send_to_editor(i,c);else{var s=r?A(r):h.parent().find("textarea");s.val(m.insertAtChars(s,i)).trigger("change")}p.addClass("hidden")}}),p.on("click",".csf--repeat-button",function(e){e.preventDefault();var t=p.find(".csf--repeatable"),n=a.csf_clone(),i=n.find(".csf-repeat-remove");n.appendTo(t);n.find(".csf-fields").csf_reload_script(),E.helper.name_nested_replace(p.find(".csf--repeat-shortcode"),d),i.on("click",function(){n.remove(),E.helper.name_nested_replace(p.find(".csf--repeat-shortcode"),d)})}),p.on("click",".csf-modal-close, .csf-modal-overlay",function(){p.addClass("hidden")})})},"function"==typeof Color&&(Color.prototype.toString=function(){if(this._alpha<1)return this.toCSS("rgba",this._alpha).replace(/\s+/g,"");var e=parseInt(this._color,10).toString(16);if(this.error)return"";if(e.length<6)for(var t=6-e.length-1;0<=t;t--)e="0"+e;return"#"+e}),E.funcs.parse_color=function(e){var t=e.replace(/\s+/g,""),n=-1!==t.indexOf("rgba")?parseFloat(100*t.replace(/^.*,(.+)\)/,"$1")):100;return{value:t,transparent:n,rgba:n<100}},A.fn.csf_color=function(){return this.each(function(){var c,r=A(this),o=E.funcs.parse_color(r.val()),e=!_.csf_vars.color_palette.length||_.csf_vars.color_palette;r.hasClass("wp-color-picker")&&r.closest(".wp-picker-container").after(r).remove(),r.wpColorPicker({palettes:e,change:function(e,t){var n=t.color.toString();c.removeClass("csf--transparent-active"),c.find(".csf--transparent-offset").css("background-color",n),r.val(n).trigger("change")},create:function(){c=r.closest(".wp-picker-container");var i=r.data("a8cIris"),e=A('<div class="csf--transparent-wrap"><div class="csf--transparent-slider"></div><div class="csf--transparent-offset"></div><div class="csf--transparent-text"></div><div class="csf--transparent-button">transparent <i class="fas fa-toggle-off"></i></div></div>').appendTo(c.find(".wp-picker-holder")),a=e.find(".csf--transparent-slider"),s=e.find(".csf--transparent-text"),n=e.find(".csf--transparent-offset"),t=e.find(".csf--transparent-button");"transparent"===r.val()&&c.addClass("csf--transparent-active"),t.on("click",function(){"transparent"!==r.val()?(r.val("transparent").trigger("change").removeClass("iris-error"),c.addClass("csf--transparent-active")):(r.val(i._color.toString()).trigger("change"),c.removeClass("csf--transparent-active"))}),a.slider({value:o.transparent,step:1,min:0,max:100,slide:function(e,t){var n=parseFloat(t.value/100);i._color._alpha=n,r.wpColorPicker("color",i._color.toString()),s.text(1===n||0===n?"":n)},create:function(){var e=parseFloat(o.transparent/100),t=e<1?e:"";s.text(t),n.css("background-color",o.value),c.on("click",".wp-picker-clear",function(){i._color._alpha=1,s.text(""),a.slider("option","value",100),c.removeClass("csf--transparent-active"),r.trigger("change")}),c.on("click",".wp-picker-default",function(){var e=E.funcs.parse_color(r.data("default-color")),t=parseFloat(e.transparent/100),n=t<1?t:"";i._color._alpha=t,s.text(n),a.slider("option","value",e.transparent)})}})}})})},A.fn.csf_chosen=function(){return this.each(function(){var s=A(this),e=s.parent().find(".chosen-container"),t=s.hasClass("csf-chosen-sortable")||!1,n=s.hasClass("csf-chosen-ajax")||!1,i=s.attr("multiple")||!1,a=i?"100%":"auto",c=A.extend({allow_single_deselect:!0,disable_search_threshold:10,width:a,no_results_text:_.csf_vars.i18n.no_results_text},s.data("chosen-settings"));if(e.length&&e.remove(),n){var r=A.extend({data:{type:"post",nonce:""},allow_single_deselect:!0,disable_search_threshold:-1,width:"100%",min_length:3,type_delay:500,typing_text:_.csf_vars.i18n.typing_text,searching_text:_.csf_vars.i18n.searching_text,no_results_text:_.csf_vars.i18n.no_results_text},s.data("chosen-settings"));s.CSFAjaxChosen(r)}else s.chosen(c);if(i){var o=s.parent().find(".csf-hide-select"),f=o.val()||[];s.on("change",function(e,t){t&&t.selected?o.append('<option value="'+t.selected+'" selected="selected">'+t.selected+"</option>"):t&&t.deselected&&o.find('option[value="'+t.deselected+'"]').remove(),_.wp.customize!==y&&0===o.children().length&&o.data("customize-setting-link")&&_.wp.customize.control(o.data("customize-setting-link")).setting.set(""),o.trigger("change")}),s.CSFChosenOrder(f,!0)}if(t){var l=s.parent().find(".chosen-container").find(".chosen-choices");l.bind("mousedown",function(e){A(e.target).is("span")&&e.stopPropagation()}),l.sortable({items:"li:not(.search-field)",helper:"orginal",cursor:"move",placeholder:"search-choice-placeholder",start:function(e,t){t.placeholder.width(t.item.innerWidth()),t.placeholder.height(t.item.innerHeight())},update:function(e,t){var i="",a=s.data("chosen"),n=s.parent().find(".csf-hide-select");l.find(".search-choice-close").each(function(){var n=A(this).data("option-array-index");A.each(a.results_data,function(e,t){t.array_index===n&&(i+='<option value="'+t.value+'" selected>'+t.value+"</option>")})}),n.children().remove(),n.append(i),n.trigger("change")}})}})},A.fn.csf_checkbox=function(){return this.each(function(){var e=A(this),t=e.find(".csf--input"),n=e.find(".csf--checkbox");n.on("click",function(){t.val(Number(n.prop("checked"))).trigger("change")})})},A.fn.csf_siblings=function(){return this.each(function(){var t=A(this),e=t.find(".csf--sibling"),n=t.data("multiple")||!1;e.on("click",function(){var e=A(this);n?e.hasClass("csf--active")?(e.removeClass("csf--active"),e.find("input").prop("checked",!1).trigger("change")):(e.addClass("csf--active"),e.find("input").prop("checked",!0).trigger("change")):(t.find("input").prop("checked",!1),e.find("input").prop("checked",!0).trigger("change"),e.addClass("csf--active").siblings().removeClass("csf--active"))})})},A.fn.csf_help=function(){return this.each(function(){var e,t,n=A(this);n.on({mouseenter:function(){e=A('<div class="csf-tooltip"></div>').html(n.find(".csf-help-text").html()).appendTo("body"),t=E.vars.is_rtl?n.offset().left+24:n.offset().left-e.outerWidth(),e.css({top:n.offset().top-(e.outerHeight()/2-14),left:t})},mouseleave:function(){e!==y&&e.remove()}})})},A.fn.csf_customizer_refresh=function(){return this.each(function(){var e=A(this),t=e.closest(".csf-customize-complex");if(t.length){var n=t.find(":input"),i=t.data("unique-id"),a=t.data("option-id"),s=n.serializeObjectCSF(),c=A.isEmptyObject(s)?"":s[i][a],r=_.wp.customize.control(i+"["+a+"]");r.setting._value=null,r.setting.set(c)}else e.find(":input").first().trigger("change");A(b).trigger("csf-customizer-refresh",e)})},A.fn.csf_customizer_listen=function(e){var t=A.extend({closest:!1},e);return this.each(function(){if(_.wp.customize!==y){var n=t.closest?A(this).closest(".csf-customize-complex"):A(this),e=n.find(":input"),i=n.data("unique-id"),a=n.data("option-id");i!==y&&e.on("change keyup",E.helper.debounce(function(){var e=n.find(":input").serializeObjectCSF(),t=!A.isEmptyObject(e)&&e[i]&&e[i][a]?e[i][a]:"";_.wp.customize.control(i+"["+a+"]").setting.set(t)},250))}})},A(b).on("expanded",".control-section",function(){var e=A(this);if(e.hasClass("open")&&!e.data("inited")){var t=e.find(".csf-customize-field"),n=e.find(".csf-customize-complex");t.length&&(e.csf_dependency(),t.csf_reload_script({dependency:!1}),n.csf_customizer_listen()),e.data("inited",!0)}}),E.vars.$window.on("resize csf.resize",E.helper.debounce(function(e){(-1<navigator.userAgent.indexOf("AppleWebKit/")?E.vars.$window.width():_.innerWidth)<=782&&!E.vars.onloaded&&(A(".csf-section").csf_reload_script(),E.vars.onloaded=!0)},200)).trigger("csf.resize"),A.fn.csf_widgets=function(){this.length&&(A(b).on("widget-added widget-updated",function(e,t){t.find(".csf-fields").csf_reload_script()}),A(".widgets-sortables, .control-section-sidebar").on("sortstop",function(e,t){t.item.find(".csf-fields").csf_reload_script_retry()}),A(b).on("click",".widget-top",function(e){A(this).parent().find(".csf-fields").csf_reload_script()}))},A.fn.csf_nav_menu=function(){return this.each(function(){var e=A(this);e.on("click","a.item-edit",function(){A(this).closest("li.menu-item").find(".csf-fields").csf_reload_script()}),e.on("sortstop",function(e,t){t.item.find(".csf-fields").csf_reload_script_retry()})})},A.fn.csf_reload_script_retry=function(){return this.each(function(){var e=A(this);e.data("inited")&&e.children(".csf-field-wp_editor").csf_field_wp_editor()})},A.fn.csf_reload_script=function(e){var t=A.extend({dependency:!0},e);return this.each(function(){var e=A(this);e.data("inited")||(e.children(".csf-field-accordion").csf_field_accordion(),e.children(".csf-field-backup").csf_field_backup(),e.children(".csf-field-background").csf_field_background(),e.children(".csf-field-code_editor").csf_field_code_editor(),e.children(".csf-field-date").csf_field_date(),e.children(".csf-field-fieldset").csf_field_fieldset(),e.children(".csf-field-gallery").csf_field_gallery(),e.children(".csf-field-group").csf_field_group(),e.children(".csf-field-icon").csf_field_icon(),e.children(".csf-field-media").csf_field_media(),e.children(".csf-field-map").csf_field_map(),e.children(".csf-field-repeater").csf_field_repeater(),e.children(".csf-field-slider").csf_field_slider(),e.children(".csf-field-sortable").csf_field_sortable(),e.children(".csf-field-sorter").csf_field_sorter(),e.children(".csf-field-spinner").csf_field_spinner(),e.children(".csf-field-switcher").csf_field_switcher(),e.children(".csf-field-tabbed").csf_field_tabbed(),e.children(".csf-field-typography").csf_field_typography(),e.children(".csf-field-upload").csf_field_upload(),e.children(".csf-field-wp_editor").csf_field_wp_editor(),e.children(".csf-field-border").find(".csf-color").csf_color(),e.children(".csf-field-background").find(".csf-color").csf_color(),e.children(".csf-field-color").find(".csf-color").csf_color(),e.children(".csf-field-color_group").find(".csf-color").csf_color(),e.children(".csf-field-link_color").find(".csf-color").csf_color(),e.children(".csf-field-typography").find(".csf-color").csf_color(),e.children(".csf-field-select").find(".csf-chosen").csf_chosen(),e.children(".csf-field-checkbox").find(".csf-checkbox").csf_checkbox(),e.children(".csf-field-button_set").find(".csf-siblings").csf_siblings(),e.children(".csf-field-image_select").find(".csf-siblings").csf_siblings(),e.children(".csf-field-palette").find(".csf-siblings").csf_siblings(),e.children(".csf-field").find(".csf-help").csf_help(),t.dependency&&e.csf_dependency(),e.data("inited",!0),A(b).trigger("csf-reload-script",e))})},A(b).ready(function(){A(".csf-save").csf_save(),A(".csf-options").csf_options(),A(".csf-sticky-header").csf_sticky(),A(".csf-nav-options").csf_nav_options(),A(".csf-nav-metabox").csf_nav_metabox(),A(".csf-taxonomy").csf_taxonomy(),A(".csf-page-templates").csf_page_templates(),A(".csf-post-formats").csf_post_formats(),A(".csf-shortcode").csf_shortcode(),A(".csf-search").csf_search(),A(".csf-confirm").csf_confirm(),A(".csf-expand-all").csf_expand_all(),A(".csf-onload").csf_reload_script(),A(".widget").csf_widgets(),A("#menu-to-edit").csf_nav_menu()})}(jQuery,window,document);
1
  /* Codestar Framework | A Simple and Lightweight WordPress Option Framework - v2.1.7*/
2
 
3
+ !function(A,_,b,y){"use strict";var E=E||{};E.funcs={},E.vars={onloaded:!1,$body:A("body"),$window:A(_),$document:A(b),$form_warning:null,is_confirm:!1,form_modified:!1,code_themes:[],is_rtl:A("body").hasClass("rtl")},E.helper={uid:function(e){return(e||"")+Math.random().toString(36).substr(2,9)},preg_quote:function(e){return(e+"").replace(/(\[|\-|\])/g,"\\$1")},name_nested_replace:function(e,t){var n=new RegExp("("+E.helper.preg_quote(t)+")\\[(\\d+)\\]","g");e.find(":radio").each(function(){(this.checked||this.orginal_checked)&&(this.orginal_checked=!0)}),e.each(function(e){A(this).find(":input").each(function(){this.name=this.name.replace(n,t+"["+e+"]"),this.orginal_checked&&(this.checked=!0)})})},debounce:function(i,a,s){var c;return function(){var e=this,t=arguments,n=s&&!c;clearTimeout(c),c=setTimeout(function(){c=null,s||i.apply(e,t)},a),n&&i.apply(e,t)}}},A.fn.ulf_clone=function(){for(var e=A.fn.clone.apply(this,arguments),t=this.find("select").add(this.filter("select")),n=e.find("select").add(e.filter("select")),i=0;i<t.length;++i)for(var a=0;a<t[i].options.length;++a)!0===t[i].options[a].selected&&(n[i].options[a].selected=!0);return this.find(":radio").each(function(){this.orginal_checked=this.checked}),e},A.fn.ulf_expand_all=function(){return this.each(function(){A(this).on("click",function(e){e.preventDefault(),A(".ulf-wrapper").toggleClass("ulf-show-all"),A(".ulf-section").ulf_reload_script(),A(this).find(".fa").toggleClass("fa-indent").toggleClass("fa-outdent")})})},A.fn.ulf_nav_options=function(){return this.each(function(){var a,s=A(this).find("a");A(_).on("hashchange ulf.hashchange",function(){var e=_.location.hash.replace("#tab=",""),t=e||s.first().attr("href").replace("#tab=",""),n=A('[data-tab-id="'+t+'"]');if(n.length){n.closest(".ulf-tab-item").addClass("ulf-tab-expanded").siblings().removeClass("ulf-tab-expanded"),n.next().is("ul")&&(t=(n=n.next().find("li").first().find("a")).data("tab-id")),s.removeClass("ulf-active"),n.addClass("ulf-active"),a&&a.hide();var i=A('[data-section-id="'+t+'"]');i.show(),i.ulf_reload_script(),A(".ulf-section-id").val(i.index()),a=i}}).trigger("ulf.hashchange")})},A.fn.ulf_nav_metabox=function(){return this.each(function(){var a,e=A(this),s=e.find("a"),c=e.parent().find(".ulf-section");s.each(function(i){A(this).on("click",function(e){e.preventDefault();var t=A(this);s.removeClass("ulf-active"),t.addClass("ulf-active"),a!==y&&a.hide();var n=c.eq(i);n.show(),n.ulf_reload_script(),a=n})}),s.first().trigger("click")})},A.fn.ulf_page_templates=function(){this.length&&A(b).on("change",".editor-page-attributes__template select, #page_template",function(){var e=A(this).val()||"default";A(".ulf-page-templates").removeClass("ulf-metabox-show").addClass("ulf-metabox-hide"),A(".ulf-page-"+e.toLowerCase().replace(/[^a-zA-Z0-9]+/g,"-")).removeClass("ulf-metabox-hide").addClass("ulf-metabox-show")})},A.fn.ulf_post_formats=function(){this.length&&A(b).on("change",'.editor-post-format select, #formatdiv input[name="post_format"]',function(){var e=A(this).val()||"default";e="0"===e?"default":e,A(".ulf-post-formats").removeClass("ulf-metabox-show").addClass("ulf-metabox-hide"),A(".ulf-post-format-"+e).removeClass("ulf-metabox-hide").addClass("ulf-metabox-show")})},A.fn.ulf_search=function(){return this.each(function(){A(this).find("input").on("change keyup",function(){var n=A(this).val(),e=A(".ulf-wrapper"),t=e.find(".ulf-section").find("> .ulf-field:not(.ulf-depend-on)"),i=t.find("> .ulf-title, .ulf-search-tags");3<n.length?(t.addClass("ulf-metabox-hide"),e.addClass("ulf-search-all"),i.each(function(){var e=A(this);if(e.text().match(new RegExp(".*?"+n+".*?","i"))){var t=e.closest(".ulf-field");t.removeClass("ulf-metabox-hide"),t.parent().ulf_reload_script()}})):(t.removeClass("ulf-metabox-hide"),e.removeClass("ulf-search-all"))})})},A.fn.ulf_sticky=function(){return this.each(function(){var i=A(this),e=A(_),a=i.find(".ulf-header-inner"),s=parseInt(a.css("padding-left"))+parseInt(a.css("padding-right")),c=0,r=!1,t=function(){r||requestAnimationFrame(function(){var e,t,n;e=i.offset().top,t=Math.max(32,e-c),n=Math.max(b.documentElement.clientWidth,_.innerWidth||0),t<=32&&782<n?(a.css({width:i.outerWidth()-s}),i.css({height:i.outerHeight()}).addClass("ulf-sticky")):(a.removeAttr("style"),i.removeAttr("style").removeClass("ulf-sticky")),r=!1}),r=!0},n=function(){c=e.scrollTop(),t()};e.on("scroll resize",n),n()})},A.fn.ulf_dependency=function(){return this.each(function(){var e=A(this),t=e.children("[data-controller]");if(t.length){var n=A.ulf_deps.createRuleset(),i=A.ulf_deps.createRuleset(),f=[],l=[];t.each(function(){var a=A(this),e=a.data("controller").split("|"),s=a.data("condition").split("|"),c=a.data("value").toString().split("|"),r=!!a.data("depend-global"),o=r?i:n;A.each(e,function(e,t){var n=c[e]||"",i=s[e]||s[0];(o=o.createRule('[data-depend-id="'+t+'"]',i,n)).include(a),r?l.push(t):f.push(t)})}),f.length&&A.ulf_deps.enable(e,n,f),l.length&&A.ulf_deps.enable(E.vars.$body,i,l)}})},A.fn.ulf_field_accordion=function(){return this.each(function(){A(this).find(".ulf-accordion-title").on("click",function(){var e=A(this),t=e.find(".ulf-accordion-icon"),n=e.next();t.hasClass("fa-angle-right")?t.removeClass("fa-angle-right").addClass("fa-angle-down"):t.removeClass("fa-angle-down").addClass("fa-angle-right"),n.data("opened")||(n.ulf_reload_script(),n.data("opened",!0)),n.toggleClass("ulf-accordion-open")})})},A.fn.ulf_field_backup=function(){return this.each(function(){if(_.wp.customize!==y){var t=this,n=A(this),i=(A("body"),n.find(".ulf-import")),a=n.find(".ulf-reset");t.notification=function(e){wp.customize.notifications&&wp.customize.OverlayNotification&&(wp.customize.state("saved").get()||(wp.customize.state("changesetStatus").set("trash"),wp.customize.each(function(e){e._dirty=!1}),wp.customize.state("saved").set(!0)),wp.customize.notifications.add(new wp.customize.OverlayNotification("ulf_field_backup_notification",{type:"info",message:e,loading:!0})))},a.on("click",function(e){e.preventDefault(),E.vars.is_confirm&&(t.notification(_.ulf_vars.i18n.reset_notification),_.wp.ajax.post("ulf-reset",{unique:a.data("unique"),nonce:a.data("nonce")}).done(function(e){_.location.reload(!0)}).fail(function(e){alert(e.error),wp.customize.notifications.remove("ulf_field_backup_notification")}))}),i.on("click",function(e){e.preventDefault(),E.vars.is_confirm&&(t.notification(_.ulf_vars.i18n.import_notification),_.wp.ajax.post("ulf-import",{unique:i.data("unique"),nonce:i.data("nonce"),data:n.find(".ulf-import-data").val()}).done(function(e){_.location.reload(!0)}).fail(function(e){alert(e.error),wp.customize.notifications.remove("ulf_field_backup_notification")}))})}})},A.fn.ulf_field_background=function(){return this.each(function(){A(this).find(".ulf--background-image").ulf_reload_script()})},A.fn.ulf_field_code_editor=function(){return this.each(function(){if("function"==typeof CodeMirror){var t=A(this),i=t.find("textarea"),e=t.find(".CodeMirror"),a=i.data("editor");e.length&&e.remove();var s=setInterval(function(){if(t.is(":visible")){var n=CodeMirror.fromTextArea(i[0],a);if("default"!==a.theme&&-1===E.vars.code_themes.indexOf(a.theme)){var e=A("<link>");A("#ulf-codemirror-css").after(e),e.attr({rel:"stylesheet",id:"ulf-codemirror-"+a.theme+"-css",href:a.cdnURL+"/theme/"+a.theme+".min.css",type:"text/css",media:"all"}),E.vars.code_themes.push(a.theme)}CodeMirror.modeURL=a.cdnURL+"/mode/%N/%N.min.js",CodeMirror.autoLoadMode(n,a.mode),n.on("change",function(e,t){i.val(n.getValue()).trigger("change")}),clearInterval(s)}})}})},A.fn.ulf_field_date=function(){return this.each(function(){var e=A(this),i=e.find("input"),a=e.find(".ulf-date-settings").data("settings"),t={showAnim:"",beforeShow:function(e,t){A(t.dpDiv).addClass("ulf-datepicker-wrapper")},onClose:function(e,t){A(t.dpDiv).removeClass("ulf-datepicker-wrapper")}};a=A.extend({},a,t),2===i.length&&(a=A.extend({},a,{onSelect:function(e){A(this),i.first();var t=i.first().attr("id")===A(this).attr("id")?"minDate":"maxDate",n=A.datepicker.parseDate(a.dateFormat,e);i.not(this).datepicker("option",t,n)}})),i.each(function(){var e=A(this);e.hasClass("hasDatepicker")&&e.removeAttr("id").removeClass("hasDatepicker"),e.datepicker(a)})})},A.fn.ulf_field_fieldset=function(){return this.each(function(){A(this).find(".ulf-fieldset-content").ulf_reload_script()})},A.fn.ulf_field_gallery=function(){return this.each(function(){var s,e=A(this),c=e.find(".ulf-edit-gallery"),r=e.find(".ulf-clear-gallery"),o=e.find("ul"),f=e.find("input");e.find("img");e.on("click",".ulf-button, .ulf-edit-gallery",function(e){var t=A(this),n=f.val(),i=t.hasClass("ulf-edit-gallery")?"edit":"add",a="add"!==i||n.length?"gallery-edit":"gallery";e.preventDefault(),void 0!==_.wp&&_.wp.media&&_.wp.media.gallery&&("gallery"===a?(s=_.wp.media({library:{type:"image"},frame:"post",state:"gallery",multiple:!0})).open():(s=_.wp.media.gallery.edit('[gallery ids="'+n+'"]'),"add"===i&&s.setState("gallery-library")),s.on("update",function(e){o.empty();var t=e.models.map(function(e){var t=e.toJSON(),n=t.sizes&&t.sizes.thumbnail&&t.sizes.thumbnail.url?t.sizes.thumbnail.url:t.url;return o.append('<li><img src="'+n+'"></li>'),t.id});f.val(t.join(",")).trigger("change"),r.removeClass("hidden"),c.removeClass("hidden")}))}),r.on("click",function(e){e.preventDefault(),o.empty(),f.val("").trigger("change"),r.addClass("hidden"),c.addClass("hidden")})})},A.fn.ulf_field_group=function(){return this.each(function(){var e=A(this),t=e.children(".ulf-fieldset"),n=t.length?t:e,o=n.children(".ulf-cloneable-wrapper"),a=n.children(".ulf-cloneable-hidden"),f=n.children(".ulf-cloneable-max"),l=n.children(".ulf-cloneable-min"),d=o.data("field-id"),s=o.data("unique-id"),h=Boolean(Number(o.data("title-number"))),p=parseInt(o.data("max")),i=parseInt(o.data("min"));o.hasClass("ui-accordion")&&o.find(".ui-accordion-header-icon").remove();var u=function(e){e.find(".ulf-cloneable-title-number").each(function(e){A(this).html(A(this).closest(".ulf-cloneable-item").index()+1+".")})};o.accordion({header:"> .ulf-cloneable-item > .ulf-cloneable-title",collapsible:!0,active:!1,animate:!1,heightStyle:"content",icons:{header:"ulf-cloneable-header-icon fas fa-angle-right",activeHeader:"ulf-cloneable-header-icon fas fa-angle-down"},activate:function(e,t){var n=t.newPanel,i=t.newHeader;if(n.length&&!n.data("opened")){var a=n.children().first().find(":input").first(),s=i.find(".ulf-cloneable-value");a.on("change keyup",function(e){s.text(a.val())}),n.ulf_reload_script(),n.data("opened",!0),n.data("retry",!1)}else n.data("retry")&&(n.ulf_reload_script_retry(),n.data("retry",!1))}}),o.sortable({axis:"y",handle:".ulf-cloneable-title,.ulf-cloneable-sort",helper:"original",cursor:"move",placeholder:"widget-placeholder",start:function(e,t){o.accordion({active:!1}),o.sortable("refreshPositions"),t.item.children(".ulf-cloneable-content").data("retry",!0)},update:function(e,t){E.helper.name_nested_replace(o.children(".ulf-cloneable-item"),d),o.ulf_customizer_refresh(),h&&u(o)}}),n.children(".ulf-cloneable-add").on("click",function(e){e.preventDefault();var t=o.children(".ulf-cloneable-item").length;if(l.hide(),p&&p<t+1)f.show();else{var n=s+d+"["+t+"]",i=a.ulf_clone(!0);i.removeClass("ulf-cloneable-hidden"),i.find(':input[name!="_pseudo"]').each(function(){this.name=n+this.name.replace(this.name.startsWith("_nonce")?"_nonce":s,"")}),i.find(".ulf-data-wrapper").each(function(){A(this).attr("data-unique-id",n)}),o.append(i),o.accordion("refresh"),o.accordion({active:t}),o.ulf_customizer_refresh(),o.ulf_customizer_listen({closest:!0}),h&&u(o)}});var c=function(e){e.preventDefault();var t=o.children(".ulf-cloneable-item").length;if(l.hide(),p&&p<t+1)f.show();else{var n=A(this).parent().parent(),i=n.children(".ulf-cloneable-helper").ulf_clone(!0),a=n.children(".ulf-cloneable-title").ulf_clone(),s=n.children(".ulf-cloneable-content").ulf_clone(),c=new RegExp("("+E.helper.preg_quote(d)+")\\[(\\d+)\\]","g");s.find(".ulf-data-wrapper").each(function(){var e=A(this);e.attr("data-unique-id",e.attr("data-unique-id").replace(c,d+"["+(n.index()+1)+"]"))});var r=A('<div class="ulf-cloneable-item" />');r.append(i),r.append(a),r.append(s),o.children().eq(n.index()).after(r),E.helper.name_nested_replace(o.children(".ulf-cloneable-item"),d),o.accordion("refresh"),o.ulf_customizer_refresh(),o.ulf_customizer_listen({closest:!0}),h&&u(o)}};o.children(".ulf-cloneable-item").children(".ulf-cloneable-helper").on("click",".ulf-cloneable-clone",c),n.children(".ulf-cloneable-hidden").children(".ulf-cloneable-helper").on("click",".ulf-cloneable-clone",c);var r=function(e){e.preventDefault();var t=o.children(".ulf-cloneable-item").length;f.hide(),l.hide(),i&&t-1<i?l.show():(A(this).closest(".ulf-cloneable-item").remove(),E.helper.name_nested_replace(o.children(".ulf-cloneable-item"),d),o.ulf_customizer_refresh(),h&&u(o))};o.children(".ulf-cloneable-item").children(".ulf-cloneable-helper").on("click",".ulf-cloneable-remove",r),n.children(".ulf-cloneable-hidden").children(".ulf-cloneable-helper").on("click",".ulf-cloneable-remove",r)})},A.fn.ulf_field_icon=function(){return this.each(function(){var n=A(this);n.on("click",".ulf-icon-add",function(e){e.preventDefault();var t=A(this),i=A("#ulf-modal-icon");i.removeClass("hidden"),E.vars.$icon_target=n,E.vars.icon_modal_loaded||(i.find(".ulf-modal-loading").show(),_.wp.ajax.post("ulf-get-icons",{nonce:t.data("nonce")}).done(function(e){i.find(".ulf-modal-loading").hide(),E.vars.icon_modal_loaded=!0;var n=i.find(".ulf-modal-load").html(e.content);n.on("click","i",function(e){e.preventDefault();var t=A(this).attr("title");E.vars.$icon_target.find("i").removeAttr("class").addClass(t),E.vars.$icon_target.find("input").val(t).trigger("change"),E.vars.$icon_target.find(".ulf-icon-preview").removeClass("hidden"),E.vars.$icon_target.find(".ulf-icon-remove").removeClass("hidden"),i.addClass("hidden")}),i.on("change keyup",".ulf-icon-search",function(){var t=A(this).val();n.find("i").each(function(){var e=A(this);e.attr("title").search(new RegExp(t,"i"))<0?e.hide():e.show()})}),i.on("click",".ulf-modal-close, .ulf-modal-overlay",function(){i.addClass("hidden")})}).fail(function(e){i.find(".ulf-modal-loading").hide(),i.find(".ulf-modal-load").html(e.error),i.on("click",function(){i.addClass("hidden")})}))}),n.on("click",".ulf-icon-remove",function(e){e.preventDefault(),n.find(".ulf-icon-preview").addClass("hidden"),n.find("input").val("").trigger("change"),A(this).addClass("hidden")})})},A.fn.ulf_field_map=function(){return this.each(function(){if("undefined"!=typeof L){var e=A(this),t=e.find(".ulf--map-osm"),n=e.find(".ulf--map-search input"),i=e.find(".ulf--latitude"),a=e.find(".ulf--longitude"),s=e.find(".ulf--zoom"),c=t.data("map"),r=L.map(t.get(0),c);L.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'}).addTo(r);var o=L.marker(c.center,{draggable:!0}).addTo(r),f=function(e){i.val(e.lat),a.val(e.lng),s.val(r.getZoom())};r.on("click",function(e){o.setLatLng(e.latlng),f(e.latlng)}),r.on("zoom",function(){f(o.getLatLng())}),o.on("drag",function(){f(o.getLatLng())}),n.length||(n=A('[data-depend-id="'+e.find(".ulf--address-field").data("address-field")+'"]'));var l={};n.autocomplete({source:function(e,n){var i=e.term;i in l?n(l[i]):A.get("https://nominatim.openstreetmap.org/search",{format:"json",q:i},function(e){var t;t=e.length?e.map(function(e){return{value:e.display_name,label:e.display_name,lat:e.lat,lon:e.lon}},"json"):[{value:"no-data",label:"No Results."}],l[i]=t,n(t)})},select:function(e,t){if("no-data"===t.item.value)return!1;var n=L.latLng(t.item.lat,t.item.lon);r.panTo(n),o.setLatLng(n),f(n)},create:function(e,t){A(this).autocomplete("widget").addClass("ulf-map-ui-autocomplate")}});var d=function(){var e=L.latLng(i.val(),a.val());r.panTo(e),o.setLatLng(e)};i.on("change",d),a.on("change",d)}})},A.fn.ulf_field_media=function(){return this.each(function(){var i,a=A(this),s=a.find(".ulf--button"),c=a.find(".ulf--remove"),r=s.data("library")&&s.data("library").split(",")||"",o=!!a.hasClass("ulf-assign-field-background")&&a.closest(".ulf-field-background").find(".ulf--auto-attributes");s.on("click",function(e){e.preventDefault(),void 0!==_.wp&&_.wp.media&&_.wp.media.gallery&&(i||(i=_.wp.media({library:{type:r}})).on("select",function(){var e,t=i.state().get("selection").first().attributes,n=s.data("preview-size")||"thumbnail";r.length&&-1===r.indexOf(t.subtype)&&-1===r.indexOf(t.type)||(a.find(".ulf--id").val(t.id),a.find(".ulf--width").val(t.width),a.find(".ulf--height").val(t.height),a.find(".ulf--alt").val(t.alt),a.find(".ulf--title").val(t.title),a.find(".ulf--description").val(t.description),e=void 0!==t.sizes&&void 0!==t.sizes.thumbnail&&"thumbnail"===n?t.sizes.thumbnail.url:void 0!==t.sizes&&void 0!==t.sizes.full?t.sizes.full.url:t.icon,o&&o.removeClass("ulf--attributes-hidden"),c.removeClass("hidden"),a.find(".ulf--preview").removeClass("hidden"),a.find(".ulf--src").attr("src",e),a.find(".ulf--thumbnail").val(e),a.find(".ulf--url").val(t.url).trigger("change"))}),i.open())}),c.on("click",function(e){e.preventDefault(),o&&o.addClass("ulf--attributes-hidden"),c.addClass("hidden"),a.find("input").val(""),a.find(".ulf--preview").addClass("hidden"),a.find(".ulf--url").trigger("change")})})},A.fn.ulf_field_repeater=function(){return this.each(function(){var e=A(this),t=e.children(".ulf-fieldset"),n=t.length?t:e,r=n.children(".ulf-repeater-wrapper"),a=n.children(".ulf-repeater-hidden"),o=n.children(".ulf-repeater-max"),f=n.children(".ulf-repeater-min"),l=r.data("field-id"),s=r.data("unique-id"),d=parseInt(r.data("max")),i=parseInt(r.data("min"));r.children(".ulf-repeater-item").children(".ulf-repeater-content").ulf_reload_script(),r.sortable({axis:"y",handle:".ulf-repeater-sort",helper:"original",cursor:"move",placeholder:"widget-placeholder",update:function(e,t){E.helper.name_nested_replace(r.children(".ulf-repeater-item"),l),r.ulf_customizer_refresh(),t.item.ulf_reload_script_retry()}}),n.children(".ulf-repeater-add").on("click",function(e){e.preventDefault();var t=r.children(".ulf-repeater-item").length;if(f.hide(),d&&d<t+1)o.show();else{var n=s+l+"["+t+"]",i=a.ulf_clone(!0);i.removeClass("ulf-repeater-hidden"),i.find(':input[name!="_pseudo"]').each(function(){this.name=n+this.name.replace(this.name.startsWith("_nonce")?"_nonce":s,"")}),i.find(".ulf-data-wrapper").each(function(){A(this).attr("data-unique-id",n)}),r.append(i),i.children(".ulf-repeater-content").ulf_reload_script(),r.ulf_customizer_refresh(),r.ulf_customizer_listen({closest:!0})}});var c=function(e){e.preventDefault();var t=r.children(".ulf-repeater-item").length;if(f.hide(),d&&d<t+1)o.show();else{var n=A(this).parent().parent().parent(),i=n.children(".ulf-repeater-content").ulf_clone(),a=n.children(".ulf-repeater-helper").ulf_clone(!0),s=new RegExp("("+E.helper.preg_quote(l)+")\\[(\\d+)\\]","g");i.find(".ulf-data-wrapper").each(function(){var e=A(this);e.attr("data-unique-id",e.attr("data-unique-id").replace(s,l+"["+(n.index()+1)+"]"))});var c=A('<div class="ulf-repeater-item" />');c.append(i),c.append(a),r.children().eq(n.index()).after(c),c.children(".ulf-repeater-content").ulf_reload_script(),E.helper.name_nested_replace(r.children(".ulf-repeater-item"),l),r.ulf_customizer_refresh(),r.ulf_customizer_listen({closest:!0})}};r.children(".ulf-repeater-item").children(".ulf-repeater-helper").on("click",".ulf-repeater-clone",c),n.children(".ulf-repeater-hidden").children(".ulf-repeater-helper").on("click",".ulf-repeater-clone",c);var h=function(e){e.preventDefault();var t=r.children(".ulf-repeater-item").length;o.hide(),f.hide(),i&&t-1<i?f.show():(A(this).closest(".ulf-repeater-item").remove(),E.helper.name_nested_replace(r.children(".ulf-repeater-item"),l),r.ulf_customizer_refresh())};r.children(".ulf-repeater-item").children(".ulf-repeater-helper").on("click",".ulf-repeater-remove",h),n.children(".ulf-repeater-hidden").children(".ulf-repeater-helper").on("click",".ulf-repeater-remove",h)})},A.fn.ulf_field_slider=function(){return this.each(function(){var e=A(this),n=e.find("input"),t=e.find(".ulf-slider-ui"),i=n.data(),a=n.val()||0;t.hasClass("ui-slider")&&t.empty(),t.slider({range:"min",value:a,min:i.min,max:i.max,step:i.step,slide:function(e,t){n.val(t.value).trigger("change")}}),n.on("keyup",function(){t.slider("value",n.val())})})},A.fn.ulf_field_sortable=function(){return this.each(function(){var n=A(this).find(".ulf-sortable");n.sortable({axis:"y",helper:"original",cursor:"move",placeholder:"widget-placeholder",update:function(e,t){n.ulf_customizer_refresh()}}),n.find(".ulf-sortable-content").ulf_reload_script()})},A.fn.ulf_field_sorter=function(){return this.each(function(){var i=A(this),e=i.find(".ulf-enabled"),t=i.find(".ulf-disabled"),n=!!t.length&&t;e.sortable({connectWith:n,placeholder:"ui-sortable-placeholder",update:function(e,t){var n=t.item.find("input");t.item.parent().hasClass("ulf-enabled")?n.attr("name",n.attr("name").replace("disabled","enabled")):n.attr("name",n.attr("name").replace("enabled","disabled")),i.ulf_customizer_refresh()}}),n&&n.sortable({connectWith:e,placeholder:"ui-sortable-placeholder",update:function(e,t){i.ulf_customizer_refresh()}})})},A.fn.ulf_field_spinner=function(){return this.each(function(){var n=A(this),i=n.find("input"),e=n.find(".ui-spinner-button"),a=i.data("unit");e.length&&e.remove(),i.spinner({max:i.data("max")||100,min:i.data("min")||0,step:i.data("step")||1,create:function(e,t){a.length&&n.find(".ui-spinner-up").after('<span class="ui-button-text-only ulf--unit">'+a+"</span>")},spin:function(e,t){i.val(t.value).trigger("change")}})})},A.fn.ulf_field_switcher=function(){return this.each(function(){var n=A(this).find(".ulf--switcher");n.on("click",function(){var e=0,t=n.find("input");n.hasClass("ulf--active")?n.removeClass("ulf--active"):(e=1,n.addClass("ulf--active")),t.val(e).trigger("change")})})},A.fn.ulf_field_tabbed=function(){return this.each(function(){var e=A(this),t=e.find(".ulf-tabbed-nav a"),a=e.find(".ulf-tabbed-content");a.eq(0).ulf_reload_script(),t.on("click",function(e){e.preventDefault();var t=A(this),n=t.index(),i=a.eq(n);t.addClass("ulf-tabbed-active").siblings().removeClass("ulf-tabbed-active"),i.ulf_reload_script(),i.removeClass("hidden").siblings().addClass("hidden")})})},A.fn.ulf_field_typography=function(){return this.each(function(){var S=this,j=A(this),i=[],L=ulf_typography_json.webfonts,t=ulf_typography_json.googlestyles,I=ulf_typography_json.defaultstyles;S.sanitize_subset=function(e){return e=(e=e.replace("-ext"," Extended")).charAt(0).toUpperCase()+e.slice(1)},S.sanitize_style=function(e){return t[e]?t[e]:e},S.load_google_font=function(e,t,n){e&&"object"==typeof WebFont&&(t=t?t.replace("normal",""):"",n=n?n.replace("normal",""):"",(t||n)&&(e=e+":"+t+n),-1===i.indexOf(e)&&WebFont.load({google:{families:[e]}}),i.push(e))},S.append_select_options=function(e,t,a,s,c){e.find("option").not(":first").remove();var r="";A.each(t,function(e,t){var n,i=t;n=c?a&&-1!==a.indexOf(t)?" selected":"":a&&a===t?" selected":"","subset"===s?i=S.sanitize_subset(t):"style"===s&&(i=S.sanitize_style(t)),r+='<option value="'+t+'"'+n+">"+i+"</option>"}),e.append(r).trigger("ulf.change").trigger("chosen:updated")},S.init=function(){var l=[],e=j.find(".ulf--typography"),d=j.find(".ulf--type"),h=j.find(".ulf--block-font-style"),v=e.data("unit"),g=e.data("line-height-unit"),t=e.data("exclude")?e.data("exclude").split(","):[];j.find(".ulf--chosen").length&&j.find("select").each(function(){var e=A(this),t=e.parent().find(".chosen-container");t.length&&t.remove(),e.chosen({allow_single_deselect:!0,disable_search_threshold:15,width:"100%"})});var m=j.find(".ulf--font-family"),i=m.val();m.find("option").not(":first-child").remove();var a="";A.each(L,function(n,e){t&&-1!==t.indexOf(n)||(a+='<optgroup label="'+e.label+'">',A.each(e.fonts,function(e,t){a+='<option value="'+(t="object"==typeof t?e:t)+'" data-type="'+n+'"'+(t===i?" selected":"")+">"+t+"</option>"}),a+="</optgroup>")}),m.append(a).trigger("chosen:updated");var p=j.find(".ulf--block-font-style");if(p.length){var u=j.find(".ulf--font-style-select"),_=u.val()?u.val().replace(/normal/g,""):"";u.on("change ulf.change",function(e){var t=u.val();!t&&l&&-1===l.indexOf("normal")&&(t=l[0]);var n=t&&"italic"!==t&&"normal"===t?"normal":"",i=t&&"italic"!==t&&"normal"!==t?t.replace("italic",""):n,a=t&&"italic"===t.substr(-6)?"italic":"";j.find(".ulf--font-weight").val(i),j.find(".ulf--font-style").val(a)});var b=j.find(".ulf--block-extra-styles");if(b.length)var y=j.find(".ulf--extra-styles"),w=y.val()}var C=j.find(".ulf--block-subset");if(C.length)var x=j.find(".ulf--subset"),k=x.val(),z=x.data("multiple")||!1;var D=j.find(".ulf--block-backup-font-family");m.on("change ulf.change",function(e){C.length&&C.addClass("hidden"),b.length&&b.addClass("hidden"),D.length&&D.addClass("hidden");var t=m.find(":selected"),n=t.val(),i=t.data("type");if(i&&n){if("google"!==i&&"custom"!==i||!D.length||D.removeClass("hidden"),p.length){var a=I;"google"===i&&L[i].fonts[n][0]?a=L[i].fonts[n][0]:"custom"===i&&L[i].fonts[n]&&(a=L[i].fonts[n]);var s=-1!==(l=a).indexOf("normal")?"normal":a[0],c=_&&-1!==a.indexOf(_)?_:s;S.append_select_options(u,a,c,"style"),_=!1,p.removeClass("hidden"),"google"===i&&b.length&&1<a.length&&(S.append_select_options(y,a,w,"style",!0),w=!1,b.removeClass("hidden"))}if("google"===i&&C.length&&L[i].fonts[n][1]){var r=L[i].fonts[n][1],o=r.length<2&&"latin"!==r[0]?r[0]:"",f=k&&-1!==r.indexOf(k)?k:o;f=z&&k?k:f,S.append_select_options(x,r,f,"subset",z),k=!1,C.removeClass("hidden")}}else h.find(":input").val(""),C.length&&(x.find("option").not(":first-child").remove(),x.trigger("chosen:updated")),p.length&&(u.find("option").not(":first-child").remove(),u.trigger("chosen:updated"));d.val(i)}).trigger("ulf.change");var q=j.find(".ulf--block-preview");if(q.length){var O=j.find(".ulf--preview");j.on("change",E.helper.debounce(function(e){q.removeClass("hidden");var t=m.val(),n=j.find(".ulf--font-weight").val(),i=j.find(".ulf--font-style").val(),a=j.find(".ulf--font-size").val(),s=j.find(".ulf--font-variant").val(),c=j.find(".ulf--line-height").val(),r=j.find(".ulf--text-align").val(),o=j.find(".ulf--text-transform").val(),f=j.find(".ulf--text-decoration").val(),l=j.find(".ulf--color").val(),d=j.find(".ulf--word-spacing").val(),h=j.find(".ulf--letter-spacing").val(),p=j.find(".ulf--custom-style").val();"google"===j.find(".ulf--type").val()&&S.load_google_font(t,n,i);var u={};t&&(u.fontFamily=t),n&&(u.fontWeight=n),i&&(u.fontStyle=i),s&&(u.fontVariant=s),a&&(u.fontSize=a+v),c&&(u.lineHeight=c+g),h&&(u.letterSpacing=h+v),d&&(u.wordSpacing=d+v),r&&(u.textAlign=r),o&&(u.textTransform=o),f&&(u.textDecoration=f),l&&(u.color=l),O.removeAttr("style"),p&&O.attr("style",p),O.css(u)},100)),q.on("click",function(){O.toggleClass("ulf--black-background");var e=q.find(".ulf--toggle");e.hasClass("fa-toggle-off")?e.removeClass("fa-toggle-off").addClass("fa-toggle-on"):e.removeClass("fa-toggle-on").addClass("fa-toggle-off")}),q.hasClass("hidden")||j.trigger("change")}},S.init()})},A.fn.ulf_field_upload=function(){return this.each(function(){var t,e=A(this),n=e.find("input"),i=e.find(".ulf--button"),a=e.find(".ulf--remove"),s=i.data("library")&&i.data("library").split(",")||"";n.on("change",function(e){n.val()?a.removeClass("hidden"):a.addClass("hidden")}),i.on("click",function(e){e.preventDefault(),void 0!==_.wp&&_.wp.media&&_.wp.media.gallery&&(t||(t=_.wp.media({library:{type:s}})).on("select",function(){var e=t.state().get("selection").first().attributes;s.length&&-1===s.indexOf(e.subtype)&&-1===s.indexOf(e.type)||n.val(e.url).trigger("change")}),t.open())}),a.on("click",function(e){e.preventDefault(),n.val("").trigger("change")})})},A.fn.ulf_field_wp_editor=function(){return this.each(function(){if(void 0!==_.wp.editor&&void 0!==_.tinyMCEPreInit&&void 0!==_.tinyMCEPreInit.mceInit.ulf_wp_editor){var e=A(this),t=e.find(".ulf-wp-editor"),n=e.find("textarea");(e.find(".wp-editor-wrap").length||e.find(".mce-container").length)&&(t.empty(),t.append(n),n.css("display",""));var i=E.helper.uid("ulf-editor-");n.attr("id",i);var a={tinymce:_.tinyMCEPreInit.mceInit.ulf_wp_editor,quicktags:_.tinyMCEPreInit.qtInit.ulf_wp_editor},s=t.data("editor-settings"),c=wp.oldEditor?wp.oldEditor:wp.editor;c&&c.hasOwnProperty("autop")&&(wp.editor.autop=c.autop,wp.editor.removep=c.removep,wp.editor.initialize=c.initialize),a.tinymce=A.extend({},a.tinymce,{selector:"#"+i,setup:function(e){e.on("change",E.helper.debounce(function(){e.save(),n.trigger("change")},250))}}),!1===s.tinymce&&(a.tinymce=!1,t.addClass("ulf-no-tinymce")),!1===s.quicktags&&(a.quicktags=!1,t.addClass("ulf-no-quicktags"));var r=setInterval(function(){e.is(":visible")&&(_.wp.editor.initialize(i,a),clearInterval(r))});if(s.media_buttons&&_.ulf_media_buttons){var o=t.find(".wp-media-buttons");if(o.length)o.find(".ulf-shortcode-button").data("editor-id",i);else{var f=A(_.ulf_media_buttons);f.find(".ulf-shortcode-button").data("editor-id",i),t.prepend(f)}}}})},A.fn.ulf_confirm=function(){return this.each(function(){A(this).on("click",function(e){var t=A(this).data("confirm")||_.ulf_vars.i18n.confirm;if(!confirm(t))return e.preventDefault(),!1;E.vars.is_confirm=!0,E.vars.form_modified=!1})})},A.fn.serializeObject=function(){var a={};return A.each(this.serializeArray(),function(e,t){var n=t.name,i=t.value;a[n]=a[n]===y?i:A.isArray(a[n])?a[n].concat(i):[a[n],i]}),a},A.fn.ulf_save=function(){return this.each(function(){var i,a=A(this),c=A(".ulf-save"),r=A(".ulf-options"),o=!1;a.on("click",function(e){if(!o){var t=a.data("save"),n=a.val();c.attr("value",t),a.hasClass("ulf-save-ajax")?(e.preventDefault(),r.addClass("ulf-saving"),c.prop("disabled",!0),_.wp.ajax.post("ulf_"+r.data("unique")+"_ajax_save",{data:A("#ulf-form").serializeJSONULF()}).done(function(e){if(A(".ulf-error").remove(),Object.keys(e.errors).length){var s='<i class="ulf-label-error ulf-error">!</i>';A.each(e.errors,function(e,t){var n=A('[data-depend-id="'+e+'"]'),i=A("#ulf-tab-link-"+(n.closest(".ulf-section").index()+1)),a=i.closest(".ulf-tab-depth-0");n.closest(".ulf-fieldset").append('<p class="ulf-error ulf-error-text">'+t+"</p>"),i.find(".ulf-error").length||i.append(s),a.find(".ulf-arrow .ulf-error").length||a.find(".ulf-arrow").append(s)})}r.removeClass("ulf-saving"),c.prop("disabled",!1).attr("value",n),o=!1,E.vars.form_modified=!1,E.vars.$form_warning.hide(),clearTimeout(i);var t=A(".ulf-form-success");t.empty().append(e.notice).fadeIn("fast",function(){i=setTimeout(function(){t.fadeOut("fast")},1e3)})}).fail(function(e){alert(e.error)})):E.vars.form_modified=!1}o=!0})})},A.fn.ulf_options=function(){return this.each(function(){var e=A(this),t=e.find(".ulf-content"),n=e.find(".ulf-form-success"),i=e.find(".ulf-form-warning"),a=e.find(".ulf-header .ulf-save");(E.vars.$form_warning=i).length&&(_.onbeforeunload=function(){return!!E.vars.form_modified||y},t.on("change keypress",":input",function(){E.vars.form_modified||(n.hide(),i.fadeIn("fast"),E.vars.form_modified=!0)})),n.hasClass("ulf-form-show")&&setTimeout(function(){n.fadeOut("fast")},1e3),A(b).keydown(function(e){if((e.ctrlKey||e.metaKey)&&83===e.which)return a.trigger("click"),e.preventDefault(),!1})})},A.fn.ulf_taxonomy=function(){return this.each(function(){var e=A(this),t=e.parents("form");if("addtag"===t.attr("id")){var n=t.find("#submit"),i=e.find(".ulf-field").ulf_clone();n.on("click",function(){t.find(".form-required").hasClass("form-invalid")||(e.data("inited",!1),e.empty(),e.html(i),i=i.ulf_clone(),e.ulf_reload_script())})}})},A.fn.ulf_shortcode=function(){var m=this;return m.shortcode_parse=function(e,n){var i="";return A.each(e,function(e,t){i+="["+(n=n||e),A.each(t,function(e,t){"content"===e?(i+="]",i+=t,i+="[/"+n):i+=m.shortcode_tags(e,t)}),i+="]"}),i},m.shortcode_tags=function(e,t){var n="";return""!==t&&("object"!=typeof t||A.isArray(t)?n+=" "+e.replace("-","_")+'="'+t.toString()+'"':A.each(t,function(e,t){switch(e){case"background-image":t=t.url?t.url:""}""!==t&&(n+=" "+e.replace("-","_")+'="'+t.toString()+'"')})),n},m.insertAtChars=function(e,t){var n=void 0!==e[0].name?e[0]:e;return n.value.length&&void 0!==n.selectionStart?(n.focus(),n.value.substring(0,n.selectionStart)+t+n.value.substring(n.selectionEnd,n.value.length)):(n.focus(),t)},m.send_to_editor=function(e,t){var n;if("undefined"!=typeof tinymce&&(n=tinymce.get(t)),n&&!n.isHidden())n.execCommand("mceInsertContent",!1,e);else{var i=A("#"+t);i.val(m.insertAtChars(i,e)).trigger("change")}},this.each(function(){var c,r,o,n,f,l,d,a,h,p=A(this),i=p.find(".ulf-modal-load"),u=(p.find(".ulf-modal-content"),p.find(".ulf-modal-insert")),s=p.find(".ulf-modal-loading"),t=p.find("select"),v=p.data("modal-id"),g=p.data("nonce");A(b).on("click",'.ulf-shortcode-button[data-modal-id="'+v+'"]',function(e){e.preventDefault(),h=A(this),c=h.data("editor-id")||!1,r=h.data("target-id")||!1,o=h.data("gutenberg-id")||!1,p.removeClass("hidden"),p.hasClass("ulf-shortcode-single")&&f===y&&t.trigger("change")}),t.on("change",function(){var e=A(this),t=e.find(":selected");n=e.val(),f=t.data("shortcode"),l=t.data("view")||"normal",d=t.data("group")||f,i.empty(),n?(s.show(),_.wp.ajax.post("ulf-get-shortcode-"+v,{shortcode_key:n,nonce:g}).done(function(e){s.hide();var t=A(e.content).appendTo(i);u.parent().removeClass("hidden"),a=t.find(".ulf--repeat-shortcode").ulf_clone(),t.ulf_reload_script(),t.find(".ulf-fields").ulf_reload_script()})):u.parent().addClass("hidden")}),u.on("click",function(e){if(e.preventDefault(),!u.prop("disabled")&&!u.attr("disabled")){var i="",t=p.find(".ulf-field:not(.ulf-depend-on)").find(":input:not(.ignore)").serializeObjectULF();switch(l){case"contents":var n=f?t[f]:t;A.each(n,function(e,t){var n=f||e;i+="["+n+"]"+t+"[/"+n+"]"});break;case"group":i+="["+f,A.each(t[f],function(e,t){i+=m.shortcode_tags(e,t)}),i+="]",i+=m.shortcode_parse(t[d],d),i+="[/"+f+"]";break;case"repeater":i+=m.shortcode_parse(t[d],d);break;default:i+=m.shortcode_parse(t)}if(i=""===i?"["+f+"]":i,o){var a=_.ulf_gutenberg_props.attributes.hasOwnProperty("shortcode")?_.ulf_gutenberg_props.attributes.shortcode:"";_.ulf_gutenberg_props.setAttributes({shortcode:a+i})}else if(c)m.send_to_editor(i,c);else{var s=r?A(r):h.parent().find("textarea");s.val(m.insertAtChars(s,i)).trigger("change")}p.addClass("hidden")}}),p.on("click",".ulf--repeat-button",function(e){e.preventDefault();var t=p.find(".ulf--repeatable"),n=a.ulf_clone(),i=n.find(".ulf-repeat-remove");n.appendTo(t);n.find(".ulf-fields").ulf_reload_script(),E.helper.name_nested_replace(p.find(".ulf--repeat-shortcode"),d),i.on("click",function(){n.remove(),E.helper.name_nested_replace(p.find(".ulf--repeat-shortcode"),d)})}),p.on("click",".ulf-modal-close, .ulf-modal-overlay",function(){p.addClass("hidden")})})},"function"==typeof Color&&(Color.prototype.toString=function(){if(this._alpha<1)return this.toCSS("rgba",this._alpha).replace(/\s+/g,"");var e=parseInt(this._color,10).toString(16);if(this.error)return"";if(e.length<6)for(var t=6-e.length-1;0<=t;t--)e="0"+e;return"#"+e}),E.funcs.parse_color=function(e){var t=e.replace(/\s+/g,""),n=-1!==t.indexOf("rgba")?parseFloat(100*t.replace(/^.*,(.+)\)/,"$1")):100;return{value:t,transparent:n,rgba:n<100}},A.fn.ulf_color=function(){return this.each(function(){var c,r=A(this),o=E.funcs.parse_color(r.val()),e=!_.ulf_vars.color_palette.length||_.ulf_vars.color_palette;r.hasClass("wp-color-picker")&&r.closest(".wp-picker-container").after(r).remove(),r.wpColorPicker({palettes:e,change:function(e,t){var n=t.color.toString();c.removeClass("ulf--transparent-active"),c.find(".ulf--transparent-offset").css("background-color",n),r.val(n).trigger("change")},create:function(){c=r.closest(".wp-picker-container");var i=r.data("a8cIris"),e=A('<div class="ulf--transparent-wrap"><div class="ulf--transparent-slider"></div><div class="ulf--transparent-offset"></div><div class="ulf--transparent-text"></div><div class="ulf--transparent-button">transparent <i class="fas fa-toggle-off"></i></div></div>').appendTo(c.find(".wp-picker-holder")),a=e.find(".ulf--transparent-slider"),s=e.find(".ulf--transparent-text"),n=e.find(".ulf--transparent-offset"),t=e.find(".ulf--transparent-button");"transparent"===r.val()&&c.addClass("ulf--transparent-active"),t.on("click",function(){"transparent"!==r.val()?(r.val("transparent").trigger("change").removeClass("iris-error"),c.addClass("ulf--transparent-active")):(r.val(i._color.toString()).trigger("change"),c.removeClass("ulf--transparent-active"))}),a.slider({value:o.transparent,step:1,min:0,max:100,slide:function(e,t){var n=parseFloat(t.value/100);i._color._alpha=n,r.wpColorPicker("color",i._color.toString()),s.text(1===n||0===n?"":n)},create:function(){var e=parseFloat(o.transparent/100),t=e<1?e:"";s.text(t),n.css("background-color",o.value),c.on("click",".wp-picker-clear",function(){i._color._alpha=1,s.text(""),a.slider("option","value",100),c.removeClass("ulf--transparent-active"),r.trigger("change")}),c.on("click",".wp-picker-default",function(){var e=E.funcs.parse_color(r.data("default-color")),t=parseFloat(e.transparent/100),n=t<1?t:"";i._color._alpha=t,s.text(n),a.slider("option","value",e.transparent)})}})}})})},A.fn.ulf_chosen=function(){return this.each(function(){var s=A(this),e=s.parent().find(".chosen-container"),t=s.hasClass("ulf-chosen-sortable")||!1,n=s.hasClass("ulf-chosen-ajax")||!1,i=s.attr("multiple")||!1,a=i?"100%":"auto",c=A.extend({allow_single_deselect:!0,disable_search_threshold:10,width:a,no_results_text:_.ulf_vars.i18n.no_results_text},s.data("chosen-settings"));if(e.length&&e.remove(),n){var r=A.extend({data:{type:"post",nonce:""},allow_single_deselect:!0,disable_search_threshold:-1,width:"100%",min_length:3,type_delay:500,typing_text:_.ulf_vars.i18n.typing_text,searching_text:_.ulf_vars.i18n.searching_text,no_results_text:_.ulf_vars.i18n.no_results_text},s.data("chosen-settings"));s.ULFAjaxChosen(r)}else s.chosen(c);if(i){var o=s.parent().find(".ulf-hide-select"),f=o.val()||[];s.on("change",function(e,t){t&&t.selected?o.append('<option value="'+t.selected+'" selected="selected">'+t.selected+"</option>"):t&&t.deselected&&o.find('option[value="'+t.deselected+'"]').remove(),_.wp.customize!==y&&0===o.children().length&&o.data("customize-setting-link")&&_.wp.customize.control(o.data("customize-setting-link")).setting.set(""),o.trigger("change")}),s.ULFChosenOrder(f,!0)}if(t){var l=s.parent().find(".chosen-container").find(".chosen-choices");l.bind("mousedown",function(e){A(e.target).is("span")&&e.stopPropagation()}),l.sortable({items:"li:not(.search-field)",helper:"orginal",cursor:"move",placeholder:"search-choice-placeholder",start:function(e,t){t.placeholder.width(t.item.innerWidth()),t.placeholder.height(t.item.innerHeight())},update:function(e,t){var i="",a=s.data("chosen"),n=s.parent().find(".ulf-hide-select");l.find(".search-choice-close").each(function(){var n=A(this).data("option-array-index");A.each(a.results_data,function(e,t){t.array_index===n&&(i+='<option value="'+t.value+'" selected>'+t.value+"</option>")})}),n.children().remove(),n.append(i),n.trigger("change")}})}})},A.fn.ulf_checkbox=function(){return this.each(function(){var e=A(this),t=e.find(".ulf--input"),n=e.find(".ulf--checkbox");n.on("click",function(){t.val(Number(n.prop("checked"))).trigger("change")})})},A.fn.ulf_siblings=function(){return this.each(function(){var t=A(this),e=t.find(".ulf--sibling"),n=t.data("multiple")||!1;e.on("click",function(){var e=A(this);n?e.hasClass("ulf--active")?(e.removeClass("ulf--active"),e.find("input").prop("checked",!1).trigger("change")):(e.addClass("ulf--active"),e.find("input").prop("checked",!0).trigger("change")):(t.find("input").prop("checked",!1),e.find("input").prop("checked",!0).trigger("change"),e.addClass("ulf--active").siblings().removeClass("ulf--active"))})})},A.fn.ulf_help=function(){return this.each(function(){var e,t,n=A(this);n.on({mouseenter:function(){e=A('<div class="ulf-tooltip"></div>').html(n.find(".ulf-help-text").html()).appendTo("body"),t=E.vars.is_rtl?n.offset().left+24:n.offset().left-e.outerWidth(),e.css({top:n.offset().top-(e.outerHeight()/2-14),left:t})},mouseleave:function(){e!==y&&e.remove()}})})},A.fn.ulf_customizer_refresh=function(){return this.each(function(){var e=A(this),t=e.closest(".ulf-customize-complex");if(t.length){var n=t.find(":input"),i=t.data("unique-id"),a=t.data("option-id"),s=n.serializeObjectULF(),c=A.isEmptyObject(s)?"":s[i][a],r=_.wp.customize.control(i+"["+a+"]");r.setting._value=null,r.setting.set(c)}else e.find(":input").first().trigger("change");A(b).trigger("ulf-customizer-refresh",e)})},A.fn.ulf_customizer_listen=function(e){var t=A.extend({closest:!1},e);return this.each(function(){if(_.wp.customize!==y){var n=t.closest?A(this).closest(".ulf-customize-complex"):A(this),e=n.find(":input"),i=n.data("unique-id"),a=n.data("option-id");i!==y&&e.on("change keyup",E.helper.debounce(function(){var e=n.find(":input").serializeObjectULF(),t=!A.isEmptyObject(e)&&e[i]&&e[i][a]?e[i][a]:"";_.wp.customize.control(i+"["+a+"]").setting.set(t)},250))}})},A(b).on("expanded",".control-section",function(){var e=A(this);if(e.hasClass("open")&&!e.data("inited")){var t=e.find(".ulf-customize-field"),n=e.find(".ulf-customize-complex");t.length&&(e.ulf_dependency(),t.ulf_reload_script({dependency:!1}),n.ulf_customizer_listen()),e.data("inited",!0)}}),E.vars.$window.on("resize ulf.resize",E.helper.debounce(function(e){(-1<navigator.userAgent.indexOf("AppleWebKit/")?E.vars.$window.width():_.innerWidth)<=782&&!E.vars.onloaded&&(A(".ulf-section").ulf_reload_script(),E.vars.onloaded=!0)},200)).trigger("ulf.resize"),A.fn.ulf_widgets=function(){this.length&&(A(b).on("widget-added widget-updated",function(e,t){t.find(".ulf-fields").ulf_reload_script()}),A(".widgets-sortables, .control-section-sidebar").on("sortstop",function(e,t){t.item.find(".ulf-fields").ulf_reload_script_retry()}),A(b).on("click",".widget-top",function(e){A(this).parent().find(".ulf-fields").ulf_reload_script()}))},A.fn.ulf_nav_menu=function(){return this.each(function(){var e=A(this);e.on("click","a.item-edit",function(){A(this).closest("li.menu-item").find(".ulf-fields").ulf_reload_script()}),e.on("sortstop",function(e,t){t.item.find(".ulf-fields").ulf_reload_script_retry()})})},A.fn.ulf_reload_script_retry=function(){return this.each(function(){var e=A(this);e.data("inited")&&e.children(".ulf-field-wp_editor").ulf_field_wp_editor()})},A.fn.ulf_reload_script=function(e){var t=A.extend({dependency:!0},e);return this.each(function(){var e=A(this);e.data("inited")||(e.children(".ulf-field-accordion").ulf_field_accordion(),e.children(".ulf-field-backup").ulf_field_backup(),e.children(".ulf-field-background").ulf_field_background(),e.children(".ulf-field-code_editor").ulf_field_code_editor(),e.children(".ulf-field-date").ulf_field_date(),e.children(".ulf-field-fieldset").ulf_field_fieldset(),e.children(".ulf-field-gallery").ulf_field_gallery(),e.children(".ulf-field-group").ulf_field_group(),e.children(".ulf-field-icon").ulf_field_icon(),e.children(".ulf-field-media").ulf_field_media(),e.children(".ulf-field-map").ulf_field_map(),e.children(".ulf-field-repeater").ulf_field_repeater(),e.children(".ulf-field-slider").ulf_field_slider(),e.children(".ulf-field-sortable").ulf_field_sortable(),e.children(".ulf-field-sorter").ulf_field_sorter(),e.children(".ulf-field-spinner").ulf_field_spinner(),e.children(".ulf-field-switcher").ulf_field_switcher(),e.children(".ulf-field-tabbed").ulf_field_tabbed(),e.children(".ulf-field-typography").ulf_field_typography(),e.children(".ulf-field-upload").ulf_field_upload(),e.children(".ulf-field-wp_editor").ulf_field_wp_editor(),e.children(".ulf-field-border").find(".ulf-color").ulf_color(),e.children(".ulf-field-background").find(".ulf-color").ulf_color(),e.children(".ulf-field-color").find(".ulf-color").ulf_color(),e.children(".ulf-field-color_group").find(".ulf-color").ulf_color(),e.children(".ulf-field-link_color").find(".ulf-color").ulf_color(),e.children(".ulf-field-typography").find(".ulf-color").ulf_color(),e.children(".ulf-field-select").find(".ulf-chosen").ulf_chosen(),e.children(".ulf-field-checkbox").find(".ulf-checkbox").ulf_checkbox(),e.children(".ulf-field-button_set").find(".ulf-siblings").ulf_siblings(),e.children(".ulf-field-image_select").find(".ulf-siblings").ulf_siblings(),e.children(".ulf-field-palette").find(".ulf-siblings").ulf_siblings(),e.children(".ulf-field").find(".ulf-help").ulf_help(),t.dependency&&e.ulf_dependency(),e.data("inited",!0),A(b).trigger("ulf-reload-script",e))})},A(b).ready(function(){A(".ulf-save").ulf_save(),A(".ulf-options").ulf_options(),A(".ulf-sticky-header").ulf_sticky(),A(".ulf-nav-options").ulf_nav_options(),A(".ulf-nav-metabox").ulf_nav_metabox(),A(".ulf-taxonomy").ulf_taxonomy(),A(".ulf-page-templates").ulf_page_templates(),A(".ulf-post-formats").ulf_post_formats(),A(".ulf-shortcode").ulf_shortcode(),A(".ulf-search").ulf_search(),A(".ulf-confirm").ulf_confirm(),A(".ulf-expand-all").ulf_expand_all(),A(".ulf-onload").ulf_reload_script(),A(".widget").ulf_widgets(),A("#menu-to-edit").ulf_nav_menu()})}(jQuery,window,document);
admin/settings/assets/js/plugins.js CHANGED
@@ -12,13 +12,13 @@
12
  */
13
  (function($) {
14
 
15
- function CSFAjaxChosen(element, options) {
16
  this.element = $(element);
17
  this.options = options;
18
  this.init();
19
  };
20
 
21
- CSFAjaxChosen.prototype.init = function() {
22
  this.element.chosen(this.options);
23
  this.container = this.element.next('.chosen-container');
24
  this.search_field = this.container.find('.chosen-search-input');
@@ -28,7 +28,7 @@
28
  this.events();
29
  };
30
 
31
- CSFAjaxChosen.prototype.events = function() {
32
 
33
  var _this = this;
34
 
@@ -51,14 +51,14 @@
51
 
52
  };
53
 
54
- CSFAjaxChosen.prototype.search_field_focused = function() {
55
  this.search_welcome_message();
56
  if ( this.options.min_length === 0 && this.search_field.val().length === 0 ) {
57
  this.update_list();
58
  }
59
  };
60
 
61
- CSFAjaxChosen.prototype.search_welcome_message = function() {
62
 
63
  var value = $.trim(this.search_field.val());
64
  var results = this.container.find('.chosen-results');
@@ -69,7 +69,7 @@
69
 
70
  };
71
 
72
- CSFAjaxChosen.prototype.update_list = function() {
73
 
74
  var _this = this;
75
 
@@ -100,7 +100,7 @@
100
 
101
  _this.options.data['term'] = value;
102
 
103
- _this.chosenXhr = window.wp.ajax.post('csf-chosen', _this.options.data).done( function( response ) {
104
  _this.show_results( response );
105
  }).fail( function( response ) {
106
  _this.container.find('.no-results').text(response.error);
@@ -110,7 +110,7 @@
110
 
111
  };
112
 
113
- CSFAjaxChosen.prototype.show_results = function( items ) {
114
 
115
  var _this = this;
116
 
@@ -147,10 +147,10 @@
147
 
148
  if( this.is_multiple ) {
149
 
150
- var $hidden_select = this.element.parent().find('.csf-hide-select');
151
  var $hidden_value = $hidden_select.val() || [];
152
 
153
- this.element.CSFChosenOrder($hidden_value, true);
154
  this.search_field.css('width', width_before_trigger);
155
 
156
  }
@@ -163,9 +163,9 @@
163
 
164
  };
165
 
166
- $.fn.CSFAjaxChosen = function(chosenOptions) {
167
  return this.each(function() {
168
- new CSFAjaxChosen(this, chosenOptions);
169
  });
170
  };
171
 
@@ -175,20 +175,20 @@
175
  // Full source at https://github.com/tristanjahier/chosen-order
176
  // Copyright (c) 2013 - Tristan Jahier, http://tristan-jahier.fr
177
  (function() {
178
- var $, CSFAbstractChosenOrder, _ref,
179
  __indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; },
180
  __hasProp = {}.hasOwnProperty,
181
  __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
182
 
183
- CSFAbstractChosenOrder = (function() {
184
 
185
- function CSFAbstractChosenOrder() {}
186
 
187
- CSFAbstractChosenOrder.insertAt = function(node, index, parentNode) {
188
  return parentNode.insertBefore(node, parentNode.children[index].nextSibling);
189
  };
190
 
191
- CSFAbstractChosenOrder.getFlattenedOptionsAndGroups = function(select) {
192
  var flattened_options, opt, options, sub_opt, sub_options, _i, _j, _len, _len1;
193
  options = Array.prototype.filter.call(select.childNodes, function(o) {
194
  var _ref;
@@ -211,11 +211,11 @@
211
  return flattened_options;
212
  };
213
 
214
- CSFAbstractChosenOrder.isValidMultipleSelectElement = function(element) {
215
  return element !== null && typeof element !== "undefined" && element.nodeName === "SELECT" && element.multiple;
216
  };
217
 
218
- CSFAbstractChosenOrder.getChosenUIContainer = function(select) {
219
  if (select.id !== "") {
220
  return document.getElementById(select.id.replace(/-/g, "_") + "_chosen");
221
  } else {
@@ -223,11 +223,11 @@
223
  }
224
  };
225
 
226
- CSFAbstractChosenOrder.isChosenified = function(select) {
227
  return this.getChosenUIContainer(select) != null;
228
  };
229
 
230
- CSFAbstractChosenOrder.forceSelection = function(select, selection) {
231
  var i, opt, options, _ref;
232
  options = this.getFlattenedOptionsAndGroups(select);
233
  i = 0;
@@ -245,7 +245,7 @@
245
  return this.triggerEvent(select, "chosen:updated");
246
  };
247
 
248
- CSFAbstractChosenOrder.CSFChosenOrder = function(select, order, force) {
249
  var chosen_choices, chosen_options, chosen_ui, i, j, opt, opt_val, option, options, rel, relAttributeName, _i, _j, _len, _len1, _results;
250
  if (this.getDOMElement != null) {
251
  select = this.getDOMElement(select);
@@ -290,33 +290,33 @@
290
  }
291
  };
292
 
293
- return CSFAbstractChosenOrder;
294
 
295
  })();
296
 
297
  $ = jQuery;
298
 
299
  $.fn.extend({
300
- CSFChosenOrder: function(order, force) {
301
- return _CSFChosenOrder.CSFChosenOrder(this, order, force);
302
  }
303
  });
304
 
305
- this._CSFChosenOrder = (function(_super) {
306
- __extends(_CSFChosenOrder, _super);
307
 
308
- function _CSFChosenOrder() {
309
- _ref = _CSFChosenOrder.__super__.constructor.apply(this, arguments);
310
  return _ref;
311
  }
312
 
313
- _CSFChosenOrder.relAttributeName = 'data-option-array-index';
314
 
315
- _CSFChosenOrder.isjQueryObject = function(obj) {
316
  return (typeof jQuery !== "undefined" && jQuery !== null) && obj instanceof jQuery;
317
  };
318
 
319
- _CSFChosenOrder.getDOMElement = function(element) {
320
  if (this.isjQueryObject(element)) {
321
  return element.get(0);
322
  } else {
@@ -324,7 +324,7 @@
324
  }
325
  };
326
 
327
- _CSFChosenOrder.searchChosenUIContainer = function(element) {
328
  if ($(element).data("chosen") != null) {
329
  return $(element).data("chosen").container[0];
330
  } else {
@@ -332,13 +332,13 @@
332
  }
333
  };
334
 
335
- _CSFChosenOrder.triggerEvent = function(target, event_name) {
336
  return $(target).trigger(event_name);
337
  };
338
 
339
- return _CSFChosenOrder;
340
 
341
- })(CSFAbstractChosenOrder);
342
 
343
  }).call(this);
344
  ;(function() {
@@ -1876,7 +1876,7 @@
1876
  if( result ) {
1877
 
1878
  $(controls).each(function() {
1879
- $(this).removeClass('csf-depend-on');
1880
  });
1881
 
1882
  $(this.rules).each(function() {
@@ -1886,7 +1886,7 @@
1886
  } else {
1887
 
1888
  $(controls).each(function() {
1889
- $(this).addClass('csf-depend-on');
1890
  });
1891
 
1892
  $(this.rules).each(function() {
@@ -1916,7 +1916,7 @@
1916
  }
1917
  });
1918
 
1919
- $.csf_deps = {
1920
 
1921
  createRuleset: function() {
1922
  return new Ruleset();
@@ -2082,8 +2082,8 @@
2082
  //
2083
 
2084
  if (typeof $.fn !== "undefined") {
2085
- $.fn.serializeObjectCSF = FormSerializer.serializeObject;
2086
- $.fn.serializeJSONCSF = FormSerializer.serializeJSON;
2087
  }
2088
 
2089
  exports.FormSerializer = FormSerializer;
12
  */
13
  (function($) {
14
 
15
+ function ULFAjaxChosen(element, options) {
16
  this.element = $(element);
17
  this.options = options;
18
  this.init();
19
  };
20
 
21
+ ULFAjaxChosen.prototype.init = function() {
22
  this.element.chosen(this.options);
23
  this.container = this.element.next('.chosen-container');
24
  this.search_field = this.container.find('.chosen-search-input');
28
  this.events();
29
  };
30
 
31
+ ULFAjaxChosen.prototype.events = function() {
32
 
33
  var _this = this;
34
 
51
 
52
  };
53
 
54
+ ULFAjaxChosen.prototype.search_field_focused = function() {
55
  this.search_welcome_message();
56
  if ( this.options.min_length === 0 && this.search_field.val().length === 0 ) {
57
  this.update_list();
58
  }
59
  };
60
 
61
+ ULFAjaxChosen.prototype.search_welcome_message = function() {
62
 
63
  var value = $.trim(this.search_field.val());
64
  var results = this.container.find('.chosen-results');
69
 
70
  };
71
 
72
+ ULFAjaxChosen.prototype.update_list = function() {
73
 
74
  var _this = this;
75
 
100
 
101
  _this.options.data['term'] = value;
102
 
103
+ _this.chosenXhr = window.wp.ajax.post('ulf-chosen', _this.options.data).done( function( response ) {
104
  _this.show_results( response );
105
  }).fail( function( response ) {
106
  _this.container.find('.no-results').text(response.error);
110
 
111
  };
112
 
113
+ ULFAjaxChosen.prototype.show_results = function( items ) {
114
 
115
  var _this = this;
116
 
147
 
148
  if( this.is_multiple ) {
149
 
150
+ var $hidden_select = this.element.parent().find('.ulf-hide-select');
151
  var $hidden_value = $hidden_select.val() || [];
152
 
153
+ this.element.ULFChosenOrder($hidden_value, true);
154
  this.search_field.css('width', width_before_trigger);
155
 
156
  }
163
 
164
  };
165
 
166
+ $.fn.ULFAjaxChosen = function(chosenOptions) {
167
  return this.each(function() {
168
+ new ULFAjaxChosen(this, chosenOptions);
169
  });
170
  };
171
 
175
  // Full source at https://github.com/tristanjahier/chosen-order
176
  // Copyright (c) 2013 - Tristan Jahier, http://tristan-jahier.fr
177
  (function() {
178
+ var $, ULFAbstractChosenOrder, _ref,
179
  __indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; },
180
  __hasProp = {}.hasOwnProperty,
181
  __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
182
 
183
+ ULFAbstractChosenOrder = (function() {
184
 
185
+ function ULFAbstractChosenOrder() {}
186
 
187
+ ULFAbstractChosenOrder.insertAt = function(node, index, parentNode) {
188
  return parentNode.insertBefore(node, parentNode.children[index].nextSibling);
189
  };
190
 
191
+ ULFAbstractChosenOrder.getFlattenedOptionsAndGroups = function(select) {
192
  var flattened_options, opt, options, sub_opt, sub_options, _i, _j, _len, _len1;
193
  options = Array.prototype.filter.call(select.childNodes, function(o) {
194
  var _ref;
211
  return flattened_options;
212
  };
213
 
214
+ ULFAbstractChosenOrder.isValidMultipleSelectElement = function(element) {
215
  return element !== null && typeof element !== "undefined" && element.nodeName === "SELECT" && element.multiple;
216
  };
217
 
218
+ ULFAbstractChosenOrder.getChosenUIContainer = function(select) {
219
  if (select.id !== "") {
220
  return document.getElementById(select.id.replace(/-/g, "_") + "_chosen");
221
  } else {
223
  }
224
  };
225
 
226
+ ULFAbstractChosenOrder.isChosenified = function(select) {
227
  return this.getChosenUIContainer(select) != null;
228
  };
229
 
230
+ ULFAbstractChosenOrder.forceSelection = function(select, selection) {
231
  var i, opt, options, _ref;
232
  options = this.getFlattenedOptionsAndGroups(select);
233
  i = 0;
245
  return this.triggerEvent(select, "chosen:updated");
246
  };
247
 
248
+ ULFAbstractChosenOrder.ULFChosenOrder = function(select, order, force) {
249
  var chosen_choices, chosen_options, chosen_ui, i, j, opt, opt_val, option, options, rel, relAttributeName, _i, _j, _len, _len1, _results;
250
  if (this.getDOMElement != null) {
251
  select = this.getDOMElement(select);
290
  }
291
  };
292
 
293
+ return ULFAbstractChosenOrder;
294
 
295
  })();
296
 
297
  $ = jQuery;
298
 
299
  $.fn.extend({
300
+ ULFChosenOrder: function(order, force) {
301
+ return _ULFChosenOrder.ULFChosenOrder(this, order, force);
302
  }
303
  });
304
 
305
+ this._ULFChosenOrder = (function(_super) {
306
+ __extends(_ULFChosenOrder, _super);
307
 
308
+ function _ULFChosenOrder() {
309
+ _ref = _ULFChosenOrder.__super__.constructor.apply(this, arguments);
310
  return _ref;
311
  }
312
 
313
+ _ULFChosenOrder.relAttributeName = 'data-option-array-index';
314
 
315
+ _ULFChosenOrder.isjQueryObject = function(obj) {
316
  return (typeof jQuery !== "undefined" && jQuery !== null) && obj instanceof jQuery;
317
  };
318
 
319
+ _ULFChosenOrder.getDOMElement = function(element) {
320
  if (this.isjQueryObject(element)) {
321
  return element.get(0);
322
  } else {
324
  }
325
  };
326
 
327
+ _ULFChosenOrder.searchChosenUIContainer = function(element) {
328
  if ($(element).data("chosen") != null) {
329
  return $(element).data("chosen").container[0];
330
  } else {
332
  }
333
  };
334
 
335
+ _ULFChosenOrder.triggerEvent = function(target, event_name) {
336
  return $(target).trigger(event_name);
337
  };
338
 
339
+ return _ULFChosenOrder;
340
 
341
+ })(ULFAbstractChosenOrder);
342
 
343
  }).call(this);
344
  ;(function() {
1876
  if( result ) {
1877
 
1878
  $(controls).each(function() {
1879
+ $(this).removeClass('ulf-depend-on');
1880
  });
1881
 
1882
  $(this.rules).each(function() {
1886
  } else {
1887
 
1888
  $(controls).each(function() {
1889
+ $(this).addClass('ulf-depend-on');
1890
  });
1891
 
1892
  $(this.rules).each(function() {
1916
  }
1917
  });
1918
 
1919
+ $.ulf_deps = {
1920
 
1921
  createRuleset: function() {
1922
  return new Ruleset();
2082
  //
2083
 
2084
  if (typeof $.fn !== "undefined") {
2085
+ $.fn.serializeObjectULF = FormSerializer.serializeObject;
2086
+ $.fn.serializeJSONULF = FormSerializer.serializeJSON;
2087
  }
2088
 
2089
  exports.FormSerializer = FormSerializer;
admin/settings/assets/js/plugins.min.js CHANGED
@@ -1,3 +1,3 @@
1
  /* Codestar Framework | A Simple and Lightweight WordPress Option Framework - v2.1.7*/
2
 
3
- !function(o){function e(t,e){this.element=o(t),this.options=e,this.init()}e.prototype.init=function(){this.element.chosen(this.options),this.container=this.element.next(".chosen-container"),this.search_field=this.container.find(".chosen-search-input"),this.is_multiple=this.container.hasClass("chosen-container-multi"),this.is_typing=!1,this.chosenXhr=null,this.events()},e.prototype.events=function(){var t=this;this.search_field.on("compositionstart",function(){t.is_typing=!0}),this.search_field.on("compositionend",function(){t.is_typing=!1,t.update_list()}),this.search_field.on("keyup",function(){t.update_list()}),this.search_field.on("focus",function(){t.search_field_focused()})},e.prototype.search_field_focused=function(){this.search_welcome_message(),0===this.options.min_length&&0===this.search_field.val().length&&this.update_list()},e.prototype.search_welcome_message=function(){var t=o.trim(this.search_field.val()),e=this.container.find(".chosen-results");0===e.children().length&&0===t.length&&e.html('<li class="no-results">'+this.options.typing_text.replace("%s",this.options.min_length-t.length)+"</li>")},e.prototype.update_list=function(){var e=this;if(this.search_welcome_message(),!this.is_typing){var t=o.trim(this.search_field.val()),s=t.length<this.options.min_length?this.options.typing_text.replace("%s",this.options.min_length-t.length):this.options.searching_text;this.container.find(".no-results").text(s),t!==this.search_field.data("prevVal")&&(this.search_field.data("prevVal",t),this.timer&&clearTimeout(this.timer),t.length<this.options.min_length||(this.timer=setTimeout(function(){e.chosenXhr&&e.chosenXhr.abort(),e.options.data.term=t,e.chosenXhr=window.wp.ajax.post("csf-chosen",e.options.data).done(function(t){e.show_results(t)}).fail(function(t){e.container.find(".no-results").text(t.error)})},this.options.type_delay)))}},e.prototype.show_results=function(t){var s=this;if(!this.is_typing&&null!==t){if(0===t.length)return this.element.data().chosen.no_results_clear(),void this.element.data().chosen.no_results(this.search_field.val());var i=[];this.element.find("option").each(function(){o(this).is(":selected")?i.push(o(this).val()+"-"+o(this).text()):o(this).attr("value").length&&o(this).remove()}),o.each(t,function(t,e){-1===o.inArray(e.value+"-"+e.text,i)&&o("<option />").attr("value",e.value).html(e.text).appendTo(s.element)});var e=this.search_field.val(),n=this.search_field.innerWidth();if(this.element.trigger("chosen:updated"),this.is_multiple){var r=this.element.parent().find(".csf-hide-select").val()||[];this.element.CSFChosenOrder(r,!0),this.search_field.css("width",n)}this.search_field.val(e),null!==this.chosenXhr.done&&this.chosenXhr.done(t)}},o.fn.CSFAjaxChosen=function(t){return this.each(function(){new e(this,t)})}}(jQuery),function(){var s,i,o=[].indexOf||function(t){for(var e=0,s=this.length;e<s;e++)if(e in this&&this[e]===t)return e;return-1},n={}.hasOwnProperty;i=function(){function t(){}return t.insertAt=function(t,e,s){return s.insertBefore(t,s.children[e].nextSibling)},t.getFlattenedOptionsAndGroups=function(t){var e,s,i,n,r,o,h,l,c;for(e=[],o=0,l=(i=Array.prototype.filter.call(t.childNodes,function(t){var e;return"OPTION"===(e=t.nodeName.toUpperCase())||"OPTGROUP"===e})).length;o<l;o++)if(s=i[o],e.push(s),"OPTGROUP"===s.nodeName.toUpperCase())for(h=0,c=(r=Array.prototype.filter.call(s.childNodes,function(t){return"OPTION"===t.nodeName.toUpperCase()})).length;h<c;h++)n=r[h],e.push(n);return e},t.isValidMultipleSelectElement=function(t){return null!=t&&"SELECT"===t.nodeName&&t.multiple},t.getChosenUIContainer=function(t){return""!==t.id?document.getElementById(t.id.replace(/-/g,"_")+"_chosen"):this.searchChosenUIContainer(t)},t.isChosenified=function(t){return null!=this.getChosenUIContainer(t)},t.forceSelection=function(t,e){var s,i,n,r;for(n=this.getFlattenedOptionsAndGroups(t),s=0;s<n.length;)r=(i=n[s]).getAttribute("value"),0<=o.call(e,r)?(i.selected=!0,i.setAttribute("selected","")):(i.selected=!1,i.removeAttribute("selected")),s++;return this.triggerEvent(t,"chosen:updated")},t.CSFChosenOrder=function(t,e,s){var i,n,r,o,h,l,c,a,u,_,d,p,f,g;if(null!=this.getDOMElement&&(t=this.getDOMElement(t)),this.isValidMultipleSelectElement(t)&&null!=(n=this.getChosenUIContainer(t))&&e instanceof Array){for(e=e.map(Function.prototype.call,String.prototype.trim),c=this.getFlattenedOptionsAndGroups(t),null!=s&&!0===s&&this.forceSelection(t,e),g=[],r=_=0,p=e.length;_<p;r=++_){for(h=e[r],a=null,o=d=0,f=c.length;d<f;o=++d)c[o].value===h&&(a=o);i=n.querySelectorAll(".search-choice"),u=this.relAttributeName,null!=(l=Array.prototype.filter.call(i,function(t){return null!=t.querySelector("a.search-choice-close["+u+'="'+a+'"]')})[0])&&(n.querySelector("ul.chosen-choices"),g.push(this.insertAt(l,r,n.querySelector("ul.chosen-choices"))))}return g}},t}(),(s=jQuery).fn.extend({CSFChosenOrder:function(t,e){return _CSFChosenOrder.CSFChosenOrder(this,t,e)}}),this._CSFChosenOrder=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return function(t,e){for(var s in e)n.call(e,s)&&(t[s]=e[s]);function i(){this.constructor=t}i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype}(e,i),e.relAttributeName="data-option-array-index",e.isjQueryObject=function(t){return"undefined"!=typeof jQuery&&null!==jQuery&&t instanceof jQuery},e.getDOMElement=function(t){return this.isjQueryObject(t)?t.get(0):t},e.searchChosenUIContainer=function(t){return null!=s(t).data("chosen")?s(t).data("chosen").container[0]:s(t).next(".chosen-container.chosen-container-multi").get(0)},e.triggerEvent=function(t,e){return s(t).trigger(e)},e}()}.call(this),function(){var h,s,n,o,r={}.hasOwnProperty;(o=function(){function t(){this.options_index=0,this.parsed=[]}return t.prototype.add_node=function(t){return"OPTGROUP"===t.nodeName.toUpperCase()?this.add_group(t):this.add_option(t)},t.prototype.add_group=function(t){var e,s,i,n,r,o;for(e=this.parsed.length,this.parsed.push({array_index:e,group:!0,label:t.label,title:t.title?t.title:void 0,children:0,disabled:t.disabled,classes:t.className}),o=[],s=0,i=(r=t.childNodes).length;s<i;s++)n=r[s],o.push(this.add_option(n,e,t.disabled));return o},t.prototype.add_option=function(t,e,s){if("OPTION"===t.nodeName.toUpperCase())return""!==t.text?(null!=e&&(this.parsed[e].children+=1),this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,value:t.value,text:t.text,html:t.innerHTML,title:t.title?t.title:void 0,selected:t.selected,disabled:!0===s?s:t.disabled,group_array_index:e,group_label:null!=e?this.parsed[e].label:null,classes:t.className,style:t.style.cssText})):this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,empty:!0}),this.options_index+=1},t}()).select_to_array=function(t){var e,s,i,n,r;for(n=new o,s=0,i=(r=t.childNodes).length;s<i;s++)e=r[s],n.add_node(e);return n.parsed},s=function(){function n(t,e){var s,i;this.form_field=t,this.options=null!=e?e:{},this.label_click_handler=(s=this.label_click_handler,i=this,function(){return s.apply(i,arguments)}),n.browser_is_supported()&&(this.is_multiple=this.form_field.multiple,this.set_default_text(),this.set_default_values(),this.setup(),this.set_up_html(),this.register_observers(),this.on_ready())}return n.prototype.set_default_values=function(){var e,s;return this.click_test_action=(e=this,function(t){return e.test_active_click(t)}),this.activate_action=(s=this,function(t){return s.activate_field(t)}),this.active_field=!1,this.mouse_on_container=!1,this.results_showing=!1,this.result_highlighted=null,this.is_rtl=this.options.rtl||/\bchosen-rtl\b/.test(this.form_field.className),this.allow_single_deselect=null!=this.options.allow_single_deselect&&null!=this.form_field.options[0]&&""===this.form_field.options[0].text&&this.options.allow_single_deselect,this.disable_search_threshold=this.options.disable_search_threshold||0,this.disable_search=this.options.disable_search||!1,this.enable_split_word_search=null==this.options.enable_split_word_search||this.options.enable_split_word_search,this.group_search=null==this.options.group_search||this.options.group_search,this.search_contains=this.options.search_contains||!1,this.single_backstroke_delete=null==this.options.single_backstroke_delete||this.options.single_backstroke_delete,this.max_selected_options=this.options.max_selected_options||1/0,this.inherit_select_classes=this.options.inherit_select_classes||!1,this.display_selected_options=null==this.options.display_selected_options||this.options.display_selected_options,this.display_disabled_options=null==this.options.display_disabled_options||this.options.display_disabled_options,this.include_group_label_in_selected=this.options.include_group_label_in_selected||!1,this.max_shown_results=this.options.max_shown_results||Number.POSITIVE_INFINITY,this.case_sensitive_search=this.options.case_sensitive_search||!1,this.hide_results_on_select=null==this.options.hide_results_on_select||this.options.hide_results_on_select},n.prototype.set_default_text=function(){return this.form_field.getAttribute("data-placeholder")?this.default_text=this.form_field.getAttribute("data-placeholder"):this.is_multiple?this.default_text=this.options.placeholder_text_multiple||this.options.placeholder_text||n.default_multiple_text:this.default_text=this.options.placeholder_text_single||this.options.placeholder_text||n.default_single_text,this.default_text=this.escape_html(this.default_text),this.results_none_found=this.form_field.getAttribute("data-no_results_text")||this.options.no_results_text||n.default_no_result_text},n.prototype.choice_label=function(t){return this.include_group_label_in_selected&&null!=t.group_label?"<b class='group-name'>"+this.escape_html(t.group_label)+"</b>"+t.html:t.html},n.prototype.mouse_enter=function(){return this.mouse_on_container=!0},n.prototype.mouse_leave=function(){return this.mouse_on_container=!1},n.prototype.input_focus=function(t){if(this.is_multiple){if(!this.active_field)return setTimeout((e=this,function(){return e.container_mousedown()}),50)}else if(!this.active_field)return this.activate_field();var e},n.prototype.input_blur=function(t){if(!this.mouse_on_container)return this.active_field=!1,setTimeout((e=this,function(){return e.blur_test()}),100);var e},n.prototype.label_click_handler=function(t){return this.is_multiple?this.container_mousedown(t):this.activate_field()},n.prototype.results_option_build=function(t){var e,s,i,n,r,o,h;for(e="",n=h=0,r=(o=this.results_data).length;n<r&&((i="")!==(i=(s=o[n]).group?this.result_add_group(s):this.result_add_option(s))&&(h++,e+=i),(null!=t?t.first:void 0)&&(s.selected&&this.is_multiple?this.choice_build(s):s.selected&&!this.is_multiple&&this.single_set_selected_text(this.choice_label(s))),!(h>=this.max_shown_results));n++);return e},n.prototype.result_add_option=function(t){var e,s;return t.search_match&&this.include_option_in_results(t)?(e=[],t.disabled||t.selected&&this.is_multiple||e.push("active-result"),!t.disabled||t.selected&&this.is_multiple||e.push("disabled-result"),t.selected&&e.push("result-selected"),null!=t.group_array_index&&e.push("group-option"),""!==t.classes&&e.push(t.classes),(s=document.createElement("li")).className=e.join(" "),t.style&&(s.style.cssText=t.style),s.setAttribute("data-option-array-index",t.array_index),s.innerHTML=t.highlighted_html||t.html,t.title&&(s.title=t.title),this.outerHTML(s)):""},n.prototype.result_add_group=function(t){var e,s;return(t.search_match||t.group_match)&&0<t.active_options?((e=[]).push("group-result"),t.classes&&e.push(t.classes),(s=document.createElement("li")).className=e.join(" "),s.innerHTML=t.highlighted_html||this.escape_html(t.label),t.title&&(s.title=t.title),this.outerHTML(s)):""},n.prototype.results_update_field=function(){if(this.set_default_text(),this.is_multiple||this.results_reset_cleanup(),this.result_clear_highlight(),this.results_build(),this.results_showing)return this.winnow_results()},n.prototype.reset_single_select_options=function(){var t,e,s,i,n;for(n=[],t=0,e=(s=this.results_data).length;t<e;t++)(i=s[t]).selected?n.push(i.selected=!1):n.push(void 0);return n},n.prototype.results_toggle=function(){return this.results_showing?this.results_hide():this.results_show()},n.prototype.results_search=function(t){return this.results_showing?this.winnow_results():this.results_show()},n.prototype.winnow_results=function(t){var e,s,i,n,r,o,h,l,c,a,u,_,d,p,f;for(this.no_results_clear(),a=0,e=(h=this.get_search_text()).replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),c=this.get_search_regex(e),i=0,n=(l=this.results_data).length;i<n;i++)(r=l[i]).search_match=!1,_=u=null,r.highlighted_html="",this.include_option_in_results(r)&&(r.group&&(r.group_match=!1,r.active_options=0),null!=r.group_array_index&&this.results_data[r.group_array_index]&&(0===(u=this.results_data[r.group_array_index]).active_options&&u.search_match&&(a+=1),u.active_options+=1),f=r.group?r.label:r.text,r.group&&!this.group_search||(_=this.search_string_match(f,c),r.search_match=null!=_,r.search_match&&!r.group&&(a+=1),r.search_match?(h.length&&(d=_.index,o=f.slice(0,d),s=f.slice(d,d+h.length),p=f.slice(d+h.length),r.highlighted_html=this.escape_html(o)+"<em>"+this.escape_html(s)+"</em>"+this.escape_html(p)),null!=u&&(u.group_match=!0)):null!=r.group_array_index&&this.results_data[r.group_array_index].search_match&&(r.search_match=!0)));return this.result_clear_highlight(),a<1&&h.length?(this.update_results_content(""),this.no_results(h)):(this.update_results_content(this.results_option_build()),(null!=t?t.skip_highlight:void 0)?void 0:this.winnow_results_set_highlight())},n.prototype.get_search_regex=function(t){var e,s;return s=this.search_contains?t:"(^|\\s|\\b)"+t+"[^\\s]*",this.enable_split_word_search||this.search_contains||(s="^"+s),e=this.case_sensitive_search?"":"i",new RegExp(s,e)},n.prototype.search_string_match=function(t,e){var s;return s=e.exec(t),!this.search_contains&&(null!=s?s[1]:void 0)&&(s.index+=1),s},n.prototype.choices_count=function(){var t,e,s;if(null!=this.selected_option_count)return this.selected_option_count;for(t=this.selected_option_count=0,e=(s=this.form_field.options).length;t<e;t++)s[t].selected&&(this.selected_option_count+=1);return this.selected_option_count},n.prototype.choices_click=function(t){if(t.preventDefault(),this.activate_field(),!this.results_showing&&!this.is_disabled)return this.results_show()},n.prototype.keydown_checker=function(t){var e,s;switch(s=null!=(e=t.which)?e:t.keyCode,this.search_field_scale(),8!==s&&this.pending_backstroke&&this.clear_backstroke(),s){case 8:this.backstroke_length=this.get_search_field_value().length;break;case 9:this.results_showing&&!this.is_multiple&&this.result_select(t),this.mouse_on_container=!1;break;case 13:case 27:this.results_showing&&t.preventDefault();break;case 32:this.disable_search&&t.preventDefault();break;case 38:t.preventDefault(),this.keyup_arrow();break;case 40:t.preventDefault(),this.keydown_arrow()}},n.prototype.keyup_checker=function(t){var e,s;switch(s=null!=(e=t.which)?e:t.keyCode,this.search_field_scale(),s){case 8:this.is_multiple&&this.backstroke_length<1&&0<this.choices_count()?this.keydown_backstroke():this.pending_backstroke||(this.result_clear_highlight(),this.results_search());break;case 13:t.preventDefault(),this.results_showing&&this.result_select(t);break;case 27:this.results_showing&&this.results_hide();break;case 9:case 16:case 17:case 18:case 38:case 40:case 91:break;default:this.results_search()}},n.prototype.clipboard_event_checker=function(t){var e;if(!this.is_disabled)return setTimeout((e=this,function(){return e.results_search()}),50)},n.prototype.container_width=function(){return null!=this.options.width?this.options.width:this.form_field.offsetWidth+"px"},n.prototype.include_option_in_results=function(t){return!(this.is_multiple&&!this.display_selected_options&&t.selected)&&(!(!this.display_disabled_options&&t.disabled)&&!t.empty)},n.prototype.search_results_touchstart=function(t){return this.touch_started=!0,this.search_results_mouseover(t)},n.prototype.search_results_touchmove=function(t){return this.touch_started=!1,this.search_results_mouseout(t)},n.prototype.search_results_touchend=function(t){if(this.touch_started)return this.search_results_mouseup(t)},n.prototype.outerHTML=function(t){var e;return t.outerHTML?t.outerHTML:((e=document.createElement("div")).appendChild(t),e.innerHTML)},n.prototype.get_single_html=function(){return'<a class="chosen-single chosen-default">\n <span>'+this.default_text+'</span>\n <div><b></b></div>\n</a>\n<div class="chosen-drop">\n <div class="chosen-search">\n <input class="chosen-search-input" type="text" autocomplete="off" />\n </div>\n <ul class="chosen-results"></ul>\n</div>'},n.prototype.get_multi_html=function(){return'<ul class="chosen-choices">\n <li class="search-field">\n <input class="chosen-search-input" type="text" autocomplete="off" value="'+this.default_text+'" />\n </li>\n</ul>\n<div class="chosen-drop">\n <ul class="chosen-results"></ul>\n</div>'},n.prototype.get_no_results_html=function(t){return'<li class="no-results">\n '+this.results_none_found+" <span>"+this.escape_html(t)+"</span>\n</li>"},n.browser_is_supported=function(){return"Microsoft Internet Explorer"===window.navigator.appName?8<=document.documentMode:!(/iP(od|hone)/i.test(window.navigator.userAgent)||/IEMobile/i.test(window.navigator.userAgent)||/Windows Phone/i.test(window.navigator.userAgent)||/BlackBerry/i.test(window.navigator.userAgent)||/BB10/i.test(window.navigator.userAgent)||/Android.*Mobile/i.test(window.navigator.userAgent))},n.default_multiple_text="Select Some Options",n.default_single_text="Select an Option",n.default_no_result_text="No results match",n}(),(h=jQuery).fn.extend({chosen:function(i){return s.browser_is_supported()?this.each(function(t){var e,s;s=(e=h(this)).data("chosen"),"destroy"!==i?s instanceof n||e.data("chosen",new n(this,i)):s instanceof n&&s.destroy()}):this}}),n=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return function(t,e){for(var s in e)r.call(e,s)&&(t[s]=e[s]);function i(){this.constructor=t}i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype}(e,s),e.prototype.setup=function(){return this.form_field_jq=h(this.form_field),this.current_selectedIndex=this.form_field.selectedIndex},e.prototype.set_up_html=function(){var t,e;return(t=["chosen-container"]).push("chosen-container-"+(this.is_multiple?"multi":"single")),this.inherit_select_classes&&this.form_field.className&&t.push(this.form_field.className),this.is_rtl&&t.push("chosen-rtl"),e={class:t.join(" "),title:this.form_field.title},this.form_field.id.length&&(e.id=this.form_field.id.replace(/[^\w]/g,"_")+"_chosen"),this.container=h("<div />",e),this.container.width(this.container_width()),this.is_multiple?this.container.html(this.get_multi_html()):this.container.html(this.get_single_html()),this.form_field_jq.hide().after(this.container),this.dropdown=this.container.find("div.chosen-drop").first(),this.search_field=this.container.find("input").first(),this.search_results=this.container.find("ul.chosen-results").first(),this.search_field_scale(),this.search_no_results=this.container.find("li.no-results").first(),this.is_multiple?(this.search_choices=this.container.find("ul.chosen-choices").first(),this.search_container=this.container.find("li.search-field").first()):(this.search_container=this.container.find("div.chosen-search").first(),this.selected_item=this.container.find(".chosen-single").first()),this.results_build(),this.set_tab_index(),this.set_label_behavior()},e.prototype.on_ready=function(){return this.form_field_jq.trigger("chosen:ready",{chosen:this})},e.prototype.register_observers=function(){var e,s,i,n,r,o,h,l,c,a,u,_,d,p,f,g,m,v,y,b,w,x,k,C;return this.container.on("touchstart.chosen",(e=this,function(t){e.container_mousedown(t)})),this.container.on("touchend.chosen",(s=this,function(t){s.container_mouseup(t)})),this.container.on("mousedown.chosen",(i=this,function(t){i.container_mousedown(t)})),this.container.on("mouseup.chosen",(n=this,function(t){n.container_mouseup(t)})),this.container.on("mouseenter.chosen",(r=this,function(t){r.mouse_enter(t)})),this.container.on("mouseleave.chosen",(o=this,function(t){o.mouse_leave(t)})),this.search_results.on("mouseup.chosen",(h=this,function(t){h.search_results_mouseup(t)})),this.search_results.on("mouseover.chosen",(l=this,function(t){l.search_results_mouseover(t)})),this.search_results.on("mouseout.chosen",(c=this,function(t){c.search_results_mouseout(t)})),this.search_results.on("mousewheel.chosen DOMMouseScroll.chosen",(a=this,function(t){a.search_results_mousewheel(t)})),this.search_results.on("touchstart.chosen",(u=this,function(t){u.search_results_touchstart(t)})),this.search_results.on("touchmove.chosen",(_=this,function(t){_.search_results_touchmove(t)})),this.search_results.on("touchend.chosen",(d=this,function(t){d.search_results_touchend(t)})),this.form_field_jq.on("chosen:updated.chosen",(p=this,function(t){p.results_update_field(t)})),this.form_field_jq.on("chosen:activate.chosen",(f=this,function(t){f.activate_field(t)})),this.form_field_jq.on("chosen:open.chosen",(g=this,function(t){g.container_mousedown(t)})),this.form_field_jq.on("chosen:close.chosen",(m=this,function(t){m.close_field(t)})),this.search_field.on("blur.chosen",(v=this,function(t){v.input_blur(t)})),this.search_field.on("keyup.chosen",(y=this,function(t){y.keyup_checker(t)})),this.search_field.on("keydown.chosen",(b=this,function(t){b.keydown_checker(t)})),this.search_field.on("focus.chosen",(w=this,function(t){w.input_focus(t)})),this.search_field.on("cut.chosen",(x=this,function(t){x.clipboard_event_checker(t)})),this.search_field.on("paste.chosen",(k=this,function(t){k.clipboard_event_checker(t)})),this.is_multiple?this.search_choices.on("click.chosen",(C=this,function(t){C.choices_click(t)})):this.container.on("click.chosen",function(t){t.preventDefault()})},e.prototype.destroy=function(){return h(this.container[0].ownerDocument).off("click.chosen",this.click_test_action),0<this.form_field_label.length&&this.form_field_label.off("click.chosen"),this.search_field[0].tabIndex&&(this.form_field_jq[0].tabIndex=this.search_field[0].tabIndex),this.container.remove(),this.form_field_jq.removeData("chosen"),this.form_field_jq.show()},e.prototype.search_field_disabled=function(){return this.is_disabled=this.form_field.disabled||this.form_field_jq.parents("fieldset").is(":disabled"),this.container.toggleClass("chosen-disabled",this.is_disabled),this.search_field[0].disabled=this.is_disabled,this.is_multiple||this.selected_item.off("focus.chosen",this.activate_field),this.is_disabled?this.close_field():this.is_multiple?void 0:this.selected_item.on("focus.chosen",this.activate_field)},e.prototype.container_mousedown=function(t){var e;if(!this.is_disabled)return!t||"mousedown"!==(e=t.type)&&"touchstart"!==e||this.results_showing||t.preventDefault(),null!=t&&h(t.target).hasClass("search-choice-close")?void 0:(this.active_field?this.is_multiple||!t||h(t.target)[0]!==this.selected_item[0]&&!h(t.target).parents("a.chosen-single").length||(t.preventDefault(),this.results_toggle()):(this.is_multiple&&this.search_field.val(""),h(this.container[0].ownerDocument).on("click.chosen",this.click_test_action),this.results_show()),this.activate_field())},e.prototype.container_mouseup=function(t){if("ABBR"===t.target.nodeName&&!this.is_disabled)return this.results_reset(t)},e.prototype.search_results_mousewheel=function(t){var e;if(t.originalEvent&&(e=t.originalEvent.deltaY||-t.originalEvent.wheelDelta||t.originalEvent.detail),null!=e)return t.preventDefault(),"DOMMouseScroll"===t.type&&(e*=40),this.search_results.scrollTop(e+this.search_results.scrollTop())},e.prototype.blur_test=function(t){if(!this.active_field&&this.container.hasClass("chosen-container-active"))return this.close_field()},e.prototype.close_field=function(){return h(this.container[0].ownerDocument).off("click.chosen",this.click_test_action),this.active_field=!1,this.results_hide(),this.container.removeClass("chosen-container-active"),this.clear_backstroke(),this.show_search_field_default(),this.search_field_scale(),this.search_field.blur()},e.prototype.activate_field=function(){if(!this.is_disabled)return this.container.addClass("chosen-container-active"),this.active_field=!0,this.search_field.val(this.search_field.val()),this.search_field.focus()},e.prototype.test_active_click=function(t){var e;return(e=h(t.target).closest(".chosen-container")).length&&this.container[0]===e[0]?this.active_field=!0:this.close_field()},e.prototype.results_build=function(){return this.parsing=!0,this.selected_option_count=null,this.results_data=o.select_to_array(this.form_field),this.is_multiple?this.search_choices.find("li.search-choice").remove():(this.single_set_selected_text(),this.disable_search||this.form_field.options.length<=this.disable_search_threshold?(this.search_field[0].readOnly=!0,this.container.addClass("chosen-container-single-nosearch")):(this.search_field[0].readOnly=!1,this.container.removeClass("chosen-container-single-nosearch"))),this.update_results_content(this.results_option_build({first:!0})),this.search_field_disabled(),this.show_search_field_default(),this.search_field_scale(),this.parsing=!1},e.prototype.result_do_highlight=function(t){var e,s,i,n;if(t.length){if(this.result_clear_highlight(),this.result_highlight=t,this.result_highlight.addClass("highlighted"),(i=parseInt(this.search_results.css("maxHeight"),10))+(n=this.search_results.scrollTop())<=(e=(s=this.result_highlight.position().top+this.search_results.scrollTop())+this.result_highlight.outerHeight()))return this.search_results.scrollTop(0<e-i?e-i:0);if(s<n)return this.search_results.scrollTop(s)}},e.prototype.result_clear_highlight=function(){return this.result_highlight&&this.result_highlight.removeClass("highlighted"),this.result_highlight=null},e.prototype.results_show=function(){return this.is_multiple&&this.max_selected_options<=this.choices_count()?(this.form_field_jq.trigger("chosen:maxselected",{chosen:this}),!1):(this.container.addClass("chosen-with-drop"),this.results_showing=!0,this.search_field.focus(),this.search_field.val(this.get_search_field_value()),this.winnow_results(),this.form_field_jq.trigger("chosen:showing_dropdown",{chosen:this}))},e.prototype.update_results_content=function(t){return this.search_results.html(t)},e.prototype.results_hide=function(){return this.results_showing&&(this.result_clear_highlight(),this.container.removeClass("chosen-with-drop"),this.form_field_jq.trigger("chosen:hiding_dropdown",{chosen:this})),this.results_showing=!1},e.prototype.set_tab_index=function(t){var e;if(this.form_field.tabIndex)return e=this.form_field.tabIndex,this.form_field.tabIndex=-1,this.search_field[0].tabIndex=e},e.prototype.set_label_behavior=function(){if(this.form_field_label=this.form_field_jq.parents("label"),!this.form_field_label.length&&this.form_field.id.length&&(this.form_field_label=h("label[for='"+this.form_field.id+"']")),0<this.form_field_label.length)return this.form_field_label.on("click.chosen",this.label_click_handler)},e.prototype.show_search_field_default=function(){return this.is_multiple&&this.choices_count()<1&&!this.active_field?(this.search_field.val(this.default_text),this.search_field.addClass("default")):(this.search_field.val(""),this.search_field.removeClass("default"))},e.prototype.search_results_mouseup=function(t){var e;if((e=h(t.target).hasClass("active-result")?h(t.target):h(t.target).parents(".active-result").first()).length)return this.result_highlight=e,this.result_select(t),this.search_field.focus()},e.prototype.search_results_mouseover=function(t){var e;if(e=h(t.target).hasClass("active-result")?h(t.target):h(t.target).parents(".active-result").first())return this.result_do_highlight(e)},e.prototype.search_results_mouseout=function(t){if(h(t.target).hasClass("active-result")||h(t.target).parents(".active-result").first())return this.result_clear_highlight()},e.prototype.choice_build=function(t){var e,s,i;return e=h("<li />",{class:"search-choice"}).html("<span>"+this.choice_label(t)+"</span>"),t.disabled?e.addClass("search-choice-disabled"):((s=h("<a />",{class:"search-choice-close","data-option-array-index":t.array_index})).on("click.chosen",(i=this,function(t){return i.choice_destroy_link_click(t)})),e.append(s)),this.search_container.before(e)},e.prototype.choice_destroy_link_click=function(t){if(t.preventDefault(),t.stopPropagation(),!this.is_disabled)return this.choice_destroy(h(t.target))},e.prototype.choice_destroy=function(t){if(this.result_deselect(t[0].getAttribute("data-option-array-index")))return this.active_field?this.search_field.focus():this.show_search_field_default(),this.is_multiple&&0<this.choices_count()&&this.get_search_field_value().length<1&&this.results_hide(),t.parents("li").first().remove(),this.search_field_scale()},e.prototype.results_reset=function(){if(this.reset_single_select_options(),this.form_field.options[0].selected=!0,this.single_set_selected_text(),this.show_search_field_default(),this.results_reset_cleanup(),this.trigger_form_field_change(),this.active_field)return this.results_hide()},e.prototype.results_reset_cleanup=function(){return this.current_selectedIndex=this.form_field.selectedIndex,this.selected_item.find("abbr").remove()},e.prototype.result_select=function(t){var e,s;if(this.result_highlight)return e=this.result_highlight,this.result_clear_highlight(),this.is_multiple&&this.max_selected_options<=this.choices_count()?(this.form_field_jq.trigger("chosen:maxselected",{chosen:this}),!1):(this.is_multiple?e.removeClass("active-result"):this.reset_single_select_options(),e.addClass("result-selected"),(s=this.results_data[e[0].getAttribute("data-option-array-index")]).selected=!0,this.form_field.options[s.options_index].selected=!0,this.selected_option_count=null,this.is_multiple?this.choice_build(s):this.single_set_selected_text(this.choice_label(s)),this.is_multiple&&(!this.hide_results_on_select||t.metaKey||t.ctrlKey)?t.metaKey||t.ctrlKey?this.winnow_results({skip_highlight:!0}):(this.search_field.val(""),this.winnow_results()):(this.results_hide(),this.show_search_field_default()),(this.is_multiple||this.form_field.selectedIndex!==this.current_selectedIndex)&&this.trigger_form_field_change({selected:this.form_field.options[s.options_index].value}),this.current_selectedIndex=this.form_field.selectedIndex,t.preventDefault(),this.search_field_scale())},e.prototype.single_set_selected_text=function(t){return null==t&&(t=this.default_text),t===this.default_text?this.selected_item.addClass("chosen-default"):(this.single_deselect_control_build(),this.selected_item.removeClass("chosen-default")),this.selected_item.find("span").html(t)},e.prototype.result_deselect=function(t){var e;return e=this.results_data[t],!this.form_field.options[e.options_index].disabled&&(e.selected=!1,this.form_field.options[e.options_index].selected=!1,this.selected_option_count=null,this.result_clear_highlight(),this.results_showing&&this.winnow_results(),this.trigger_form_field_change({deselected:this.form_field.options[e.options_index].value}),this.search_field_scale(),!0)},e.prototype.single_deselect_control_build=function(){if(this.allow_single_deselect)return this.selected_item.find("abbr").length||this.selected_item.find("span").first().after('<abbr class="search-choice-close"></abbr>'),this.selected_item.addClass("chosen-single-with-deselect")},e.prototype.get_search_field_value=function(){return this.search_field.val()},e.prototype.get_search_text=function(){return h.trim(this.get_search_field_value())},e.prototype.escape_html=function(t){return h("<div/>").text(t).html()},e.prototype.winnow_results_set_highlight=function(){var t,e;if(null!=(t=(e=this.is_multiple?[]:this.search_results.find(".result-selected.active-result")).length?e.first():this.search_results.find(".active-result").first()))return this.result_do_highlight(t)},e.prototype.no_results=function(t){var e;return e=this.get_no_results_html(t),this.search_results.append(e),this.form_field_jq.trigger("chosen:no_results",{chosen:this})},e.prototype.no_results_clear=function(){return this.search_results.find(".no-results").remove()},e.prototype.keydown_arrow=function(){var t;return this.results_showing&&this.result_highlight?(t=this.result_highlight.nextAll("li.active-result").first())?this.result_do_highlight(t):void 0:this.results_show()},e.prototype.keyup_arrow=function(){var t;return this.results_showing||this.is_multiple?this.result_highlight?(t=this.result_highlight.prevAll("li.active-result")).length?this.result_do_highlight(t.first()):(0<this.choices_count()&&this.results_hide(),this.result_clear_highlight()):void 0:this.results_show()},e.prototype.keydown_backstroke=function(){var t;return this.pending_backstroke?(this.choice_destroy(this.pending_backstroke.find("a").first()),this.clear_backstroke()):(t=this.search_container.siblings("li.search-choice").last()).length&&!t.hasClass("search-choice-disabled")?(this.pending_backstroke=t,this.single_backstroke_delete?this.keydown_backstroke():this.pending_backstroke.addClass("search-choice-focus")):void 0},e.prototype.clear_backstroke=function(){return this.pending_backstroke&&this.pending_backstroke.removeClass("search-choice-focus"),this.pending_backstroke=null},e.prototype.search_field_scale=function(){var t,e,s,i,n,r,o;if(this.is_multiple){for(n={position:"absolute",left:"-1000px",top:"-1000px",display:"none",whiteSpace:"pre"},e=0,s=(r=["fontSize","fontStyle","fontWeight","fontFamily","lineHeight","textTransform","letterSpacing"]).length;e<s;e++)n[i=r[e]]=this.search_field.css(i);return(t=h("<div />").css(n)).text(this.get_search_field_value()),h("body").append(t),o=t.width()+25,t.remove(),this.container.is(":visible")&&(o=Math.min(this.container.outerWidth()-10,o)),this.search_field.width(o)}},e.prototype.trigger_form_field_change=function(t){return this.form_field_jq.trigger("input",t),this.form_field_jq.trigger("change",t)},e}()}.call(this),function(o){"use strict";function n(t,e,s){this.init(t,e,s)}function t(){this.rules=[]}o.extend(n.prototype,{init:function(t,e,s){this.controller=t,this.condition=e,this.value=s,this.rules=[],this.controls=[]},evalCondition:function(t,e,s,i,n){if("=="==s)return this.checkBoolean(i)==this.checkBoolean(n);if("!="==s)return this.checkBoolean(i)!=this.checkBoolean(n);if(">="==s)return Number(n)>=Number(i);if("<="==s)return Number(n)<=Number(i);if(">"==s)return Number(n)>Number(i);if("<"==s)return Number(n)<Number(i);if("()"==s)return window[i](t,e,n);if("any"==s){if(o.isArray(n)){for(var r=n.length-1;0<=r;r--)if(-1!==o.inArray(n[r],i.split(",")))return!0}else if(-1!==o.inArray(n,i.split(",")))return!0}else if("not-any"==s)if(o.isArray(n)){for(r=n.length-1;0<=r;r--)if(-1==o.inArray(n[r],i.split(",")))return!0}else if(-1==o.inArray(n,i.split(",")))return!0;return!1},checkBoolean:function(t){switch(t){case!0:case"true":case 1:case"1":t=!0;break;case null:case!1:case"false":case 0:case"0":t=!1}return t},checkCondition:function(t){if(!this.condition)return!0;var e=t.find(this.controller),s=this.getControlValue(t,e);return void 0!==s&&(s=this.normalizeValue(e,this.value,s),this.evalCondition(t,e,this.condition,this.value,s))},normalizeValue:function(t,e,s){return"number"==typeof e?parseFloat(s):s},getControlValue:function(t,e){return 1<e.length&&("radio"==e.attr("type")||"checkbox"==e.attr("type"))?e.filter(":checked").map(function(){return this.value}).get():"checkbox"==e.attr("type")||"radio"==e.attr("type")?e.is(":checked"):e.val()},createRule:function(t,e,s){var i=new n(t,e,s);return this.rules.push(i),i},include:function(t){this.controls.push(t)},applyRule:function(s,t){var e;e=void 0===t?this.checkCondition(s):t;var i=o.map(this.controls,function(t,e){return s.find(t)});e?(o(i).each(function(){o(this).removeClass("csf-depend-on")}),o(this.rules).each(function(){this.applyRule(s)})):(o(i).each(function(){o(this).addClass("csf-depend-on")}),o(this.rules).each(function(){this.applyRule(s,!1)}))}}),o.extend(t.prototype,{createRule:function(t,e,s){var i=new n(t,e,s);return this.rules.push(i),i},applyRules:function(t){o(this.rules).each(function(){this.applyRule(t)})}}),o.csf_deps={createRuleset:function(){return new t},enable:function(s,i,n){return s.on("change keyup",function(t){var e=t.target.getAttribute("data-depend-id")||t.target.getAttribute("data-sub-depend-id");-1!==n.indexOf(e)&&i.applyRules(s)}),i.applyRules(s),!0}}}(jQuery),function(t,s){if("function"==typeof define&&define.amd)define(["exports","jquery"],function(t,e){return s(t,e)});else if("undefined"!=typeof exports){var e=require("jquery");s(exports,e)}else s(t,t.jQuery||t.Zepto||t.ender||t.$)}(this,function(t,e){var h={validate:/^(?!(_nonce|_pseudo))[a-zA-Z0-9_-]*(?:\[(?:\d*|(?!(_nonce|_pseudo))[a-zA-Z0-9_-]+)\])*$/i,key:/[a-zA-Z0-9_-]+|(?=\[\])/g,named:/^[a-zA-Z0-9_-]+$/,push:/^$/,fixed:/^\d+$/};function s(i,t){var s={},r={};function o(t,e,s){return t[e]=s,t}function e(){return s}this.addPair=function(t){if(!h.validate.test(t.name))return this;var e=function(t,e){for(var s,i=t.match(h.key);void 0!==(s=i.pop());)h.push.test(s)?e=o([],(n=t.replace(/\[\]$/,""),void 0===r[n]&&(r[n]=0),r[n]++),e):h.fixed.test(s)?e=o([],s,e):h.named.test(s)&&(e=o({},s,e));var n;return e}(t.name,t.value);return s=i.extend(!0,s,e),this},this.addPairs=function(t){if(!i.isArray(t))throw new Error("formSerializer.addPairs expects an Array");for(var e=0,s=t.length;e<s;e++)this.addPair(t[e]);return this},this.serialize=e,this.serializeJSON=function(){return JSON.stringify(e())}}return s.patterns=h,s.serializeObject=function(){return new s(e,this).addPairs(this.serializeArray()).serialize()},s.serializeJSON=function(){return new s(e,this).addPairs(this.serializeArray()).serializeJSON()},void 0!==e.fn&&(e.fn.serializeObjectCSF=s.serializeObject,e.fn.serializeJSONCSF=s.serializeJSON),t.FormSerializer=s});
1
  /* Codestar Framework | A Simple and Lightweight WordPress Option Framework - v2.1.7*/
2
 
3
+ !function(o){function e(t,e){this.element=o(t),this.options=e,this.init()}e.prototype.init=function(){this.element.chosen(this.options),this.container=this.element.next(".chosen-container"),this.search_field=this.container.find(".chosen-search-input"),this.is_multiple=this.container.hasClass("chosen-container-multi"),this.is_typing=!1,this.chosenXhr=null,this.events()},e.prototype.events=function(){var t=this;this.search_field.on("compositionstart",function(){t.is_typing=!0}),this.search_field.on("compositionend",function(){t.is_typing=!1,t.update_list()}),this.search_field.on("keyup",function(){t.update_list()}),this.search_field.on("focus",function(){t.search_field_focused()})},e.prototype.search_field_focused=function(){this.search_welcome_message(),0===this.options.min_length&&0===this.search_field.val().length&&this.update_list()},e.prototype.search_welcome_message=function(){var t=o.trim(this.search_field.val()),e=this.container.find(".chosen-results");0===e.children().length&&0===t.length&&e.html('<li class="no-results">'+this.options.typing_text.replace("%s",this.options.min_length-t.length)+"</li>")},e.prototype.update_list=function(){var e=this;if(this.search_welcome_message(),!this.is_typing){var t=o.trim(this.search_field.val()),s=t.length<this.options.min_length?this.options.typing_text.replace("%s",this.options.min_length-t.length):this.options.searching_text;this.container.find(".no-results").text(s),t!==this.search_field.data("prevVal")&&(this.search_field.data("prevVal",t),this.timer&&clearTimeout(this.timer),t.length<this.options.min_length||(this.timer=setTimeout(function(){e.chosenXhr&&e.chosenXhr.abort(),e.options.data.term=t,e.chosenXhr=window.wp.ajax.post("ulf-chosen",e.options.data).done(function(t){e.show_results(t)}).fail(function(t){e.container.find(".no-results").text(t.error)})},this.options.type_delay)))}},e.prototype.show_results=function(t){var s=this;if(!this.is_typing&&null!==t){if(0===t.length)return this.element.data().chosen.no_results_clear(),void this.element.data().chosen.no_results(this.search_field.val());var i=[];this.element.find("option").each(function(){o(this).is(":selected")?i.push(o(this).val()+"-"+o(this).text()):o(this).attr("value").length&&o(this).remove()}),o.each(t,function(t,e){-1===o.inArray(e.value+"-"+e.text,i)&&o("<option />").attr("value",e.value).html(e.text).appendTo(s.element)});var e=this.search_field.val(),n=this.search_field.innerWidth();if(this.element.trigger("chosen:updated"),this.is_multiple){var r=this.element.parent().find(".ulf-hide-select").val()||[];this.element.ULFChosenOrder(r,!0),this.search_field.css("width",n)}this.search_field.val(e),null!==this.chosenXhr.done&&this.chosenXhr.done(t)}},o.fn.ULFAjaxChosen=function(t){return this.each(function(){new e(this,t)})}}(jQuery),function(){var s,i,o=[].indexOf||function(t){for(var e=0,s=this.length;e<s;e++)if(e in this&&this[e]===t)return e;return-1},n={}.hasOwnProperty;i=function(){function t(){}return t.insertAt=function(t,e,s){return s.insertBefore(t,s.children[e].nextSibling)},t.getFlattenedOptionsAndGroups=function(t){var e,s,i,n,r,o,h,l,c;for(e=[],o=0,l=(i=Array.prototype.filter.call(t.childNodes,function(t){var e;return"OPTION"===(e=t.nodeName.toUpperCase())||"OPTGROUP"===e})).length;o<l;o++)if(s=i[o],e.push(s),"OPTGROUP"===s.nodeName.toUpperCase())for(h=0,c=(r=Array.prototype.filter.call(s.childNodes,function(t){return"OPTION"===t.nodeName.toUpperCase()})).length;h<c;h++)n=r[h],e.push(n);return e},t.isValidMultipleSelectElement=function(t){return null!=t&&"SELECT"===t.nodeName&&t.multiple},t.getChosenUIContainer=function(t){return""!==t.id?document.getElementById(t.id.replace(/-/g,"_")+"_chosen"):this.searchChosenUIContainer(t)},t.isChosenified=function(t){return null!=this.getChosenUIContainer(t)},t.forceSelection=function(t,e){var s,i,n,r;for(n=this.getFlattenedOptionsAndGroups(t),s=0;s<n.length;)r=(i=n[s]).getAttribute("value"),0<=o.call(e,r)?(i.selected=!0,i.setAttribute("selected","")):(i.selected=!1,i.removeAttribute("selected")),s++;return this.triggerEvent(t,"chosen:updated")},t.ULFChosenOrder=function(t,e,s){var i,n,r,o,h,l,c,a,u,_,d,p,f,g;if(null!=this.getDOMElement&&(t=this.getDOMElement(t)),this.isValidMultipleSelectElement(t)&&null!=(n=this.getChosenUIContainer(t))&&e instanceof Array){for(e=e.map(Function.prototype.call,String.prototype.trim),c=this.getFlattenedOptionsAndGroups(t),null!=s&&!0===s&&this.forceSelection(t,e),g=[],r=_=0,p=e.length;_<p;r=++_){for(h=e[r],a=null,o=d=0,f=c.length;d<f;o=++d)c[o].value===h&&(a=o);i=n.querySelectorAll(".search-choice"),u=this.relAttributeName,null!=(l=Array.prototype.filter.call(i,function(t){return null!=t.querySelector("a.search-choice-close["+u+'="'+a+'"]')})[0])&&(n.querySelector("ul.chosen-choices"),g.push(this.insertAt(l,r,n.querySelector("ul.chosen-choices"))))}return g}},t}(),(s=jQuery).fn.extend({ULFChosenOrder:function(t,e){return _ULFChosenOrder.ULFChosenOrder(this,t,e)}}),this._ULFChosenOrder=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return function(t,e){for(var s in e)n.call(e,s)&&(t[s]=e[s]);function i(){this.constructor=t}i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype}(e,i),e.relAttributeName="data-option-array-index",e.isjQueryObject=function(t){return"undefined"!=typeof jQuery&&null!==jQuery&&t instanceof jQuery},e.getDOMElement=function(t){return this.isjQueryObject(t)?t.get(0):t},e.searchChosenUIContainer=function(t){return null!=s(t).data("chosen")?s(t).data("chosen").container[0]:s(t).next(".chosen-container.chosen-container-multi").get(0)},e.triggerEvent=function(t,e){return s(t).trigger(e)},e}()}.call(this),function(){var h,s,n,o,r={}.hasOwnProperty;(o=function(){function t(){this.options_index=0,this.parsed=[]}return t.prototype.add_node=function(t){return"OPTGROUP"===t.nodeName.toUpperCase()?this.add_group(t):this.add_option(t)},t.prototype.add_group=function(t){var e,s,i,n,r,o;for(e=this.parsed.length,this.parsed.push({array_index:e,group:!0,label:t.label,title:t.title?t.title:void 0,children:0,disabled:t.disabled,classes:t.className}),o=[],s=0,i=(r=t.childNodes).length;s<i;s++)n=r[s],o.push(this.add_option(n,e,t.disabled));return o},t.prototype.add_option=function(t,e,s){if("OPTION"===t.nodeName.toUpperCase())return""!==t.text?(null!=e&&(this.parsed[e].children+=1),this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,value:t.value,text:t.text,html:t.innerHTML,title:t.title?t.title:void 0,selected:t.selected,disabled:!0===s?s:t.disabled,group_array_index:e,group_label:null!=e?this.parsed[e].label:null,classes:t.className,style:t.style.cssText})):this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,empty:!0}),this.options_index+=1},t}()).select_to_array=function(t){var e,s,i,n,r;for(n=new o,s=0,i=(r=t.childNodes).length;s<i;s++)e=r[s],n.add_node(e);return n.parsed},s=function(){function n(t,e){var s,i;this.form_field=t,this.options=null!=e?e:{},this.label_click_handler=(s=this.label_click_handler,i=this,function(){return s.apply(i,arguments)}),n.browser_is_supported()&&(this.is_multiple=this.form_field.multiple,this.set_default_text(),this.set_default_values(),this.setup(),this.set_up_html(),this.register_observers(),this.on_ready())}return n.prototype.set_default_values=function(){var e,s;return this.click_test_action=(e=this,function(t){return e.test_active_click(t)}),this.activate_action=(s=this,function(t){return s.activate_field(t)}),this.active_field=!1,this.mouse_on_container=!1,this.results_showing=!1,this.result_highlighted=null,this.is_rtl=this.options.rtl||/\bchosen-rtl\b/.test(this.form_field.className),this.allow_single_deselect=null!=this.options.allow_single_deselect&&null!=this.form_field.options[0]&&""===this.form_field.options[0].text&&this.options.allow_single_deselect,this.disable_search_threshold=this.options.disable_search_threshold||0,this.disable_search=this.options.disable_search||!1,this.enable_split_word_search=null==this.options.enable_split_word_search||this.options.enable_split_word_search,this.group_search=null==this.options.group_search||this.options.group_search,this.search_contains=this.options.search_contains||!1,this.single_backstroke_delete=null==this.options.single_backstroke_delete||this.options.single_backstroke_delete,this.max_selected_options=this.options.max_selected_options||1/0,this.inherit_select_classes=this.options.inherit_select_classes||!1,this.display_selected_options=null==this.options.display_selected_options||this.options.display_selected_options,this.display_disabled_options=null==this.options.display_disabled_options||this.options.display_disabled_options,this.include_group_label_in_selected=this.options.include_group_label_in_selected||!1,this.max_shown_results=this.options.max_shown_results||Number.POSITIVE_INFINITY,this.case_sensitive_search=this.options.case_sensitive_search||!1,this.hide_results_on_select=null==this.options.hide_results_on_select||this.options.hide_results_on_select},n.prototype.set_default_text=function(){return this.form_field.getAttribute("data-placeholder")?this.default_text=this.form_field.getAttribute("data-placeholder"):this.is_multiple?this.default_text=this.options.placeholder_text_multiple||this.options.placeholder_text||n.default_multiple_text:this.default_text=this.options.placeholder_text_single||this.options.placeholder_text||n.default_single_text,this.default_text=this.escape_html(this.default_text),this.results_none_found=this.form_field.getAttribute("data-no_results_text")||this.options.no_results_text||n.default_no_result_text},n.prototype.choice_label=function(t){return this.include_group_label_in_selected&&null!=t.group_label?"<b class='group-name'>"+this.escape_html(t.group_label)+"</b>"+t.html:t.html},n.prototype.mouse_enter=function(){return this.mouse_on_container=!0},n.prototype.mouse_leave=function(){return this.mouse_on_container=!1},n.prototype.input_focus=function(t){if(this.is_multiple){if(!this.active_field)return setTimeout((e=this,function(){return e.container_mousedown()}),50)}else if(!this.active_field)return this.activate_field();var e},n.prototype.input_blur=function(t){if(!this.mouse_on_container)return this.active_field=!1,setTimeout((e=this,function(){return e.blur_test()}),100);var e},n.prototype.label_click_handler=function(t){return this.is_multiple?this.container_mousedown(t):this.activate_field()},n.prototype.results_option_build=function(t){var e,s,i,n,r,o,h;for(e="",n=h=0,r=(o=this.results_data).length;n<r&&((i="")!==(i=(s=o[n]).group?this.result_add_group(s):this.result_add_option(s))&&(h++,e+=i),(null!=t?t.first:void 0)&&(s.selected&&this.is_multiple?this.choice_build(s):s.selected&&!this.is_multiple&&this.single_set_selected_text(this.choice_label(s))),!(h>=this.max_shown_results));n++);return e},n.prototype.result_add_option=function(t){var e,s;return t.search_match&&this.include_option_in_results(t)?(e=[],t.disabled||t.selected&&this.is_multiple||e.push("active-result"),!t.disabled||t.selected&&this.is_multiple||e.push("disabled-result"),t.selected&&e.push("result-selected"),null!=t.group_array_index&&e.push("group-option"),""!==t.classes&&e.push(t.classes),(s=document.createElement("li")).className=e.join(" "),t.style&&(s.style.cssText=t.style),s.setAttribute("data-option-array-index",t.array_index),s.innerHTML=t.highlighted_html||t.html,t.title&&(s.title=t.title),this.outerHTML(s)):""},n.prototype.result_add_group=function(t){var e,s;return(t.search_match||t.group_match)&&0<t.active_options?((e=[]).push("group-result"),t.classes&&e.push(t.classes),(s=document.createElement("li")).className=e.join(" "),s.innerHTML=t.highlighted_html||this.escape_html(t.label),t.title&&(s.title=t.title),this.outerHTML(s)):""},n.prototype.results_update_field=function(){if(this.set_default_text(),this.is_multiple||this.results_reset_cleanup(),this.result_clear_highlight(),this.results_build(),this.results_showing)return this.winnow_results()},n.prototype.reset_single_select_options=function(){var t,e,s,i,n;for(n=[],t=0,e=(s=this.results_data).length;t<e;t++)(i=s[t]).selected?n.push(i.selected=!1):n.push(void 0);return n},n.prototype.results_toggle=function(){return this.results_showing?this.results_hide():this.results_show()},n.prototype.results_search=function(t){return this.results_showing?this.winnow_results():this.results_show()},n.prototype.winnow_results=function(t){var e,s,i,n,r,o,h,l,c,a,u,_,d,p,f;for(this.no_results_clear(),a=0,e=(h=this.get_search_text()).replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),c=this.get_search_regex(e),i=0,n=(l=this.results_data).length;i<n;i++)(r=l[i]).search_match=!1,_=u=null,r.highlighted_html="",this.include_option_in_results(r)&&(r.group&&(r.group_match=!1,r.active_options=0),null!=r.group_array_index&&this.results_data[r.group_array_index]&&(0===(u=this.results_data[r.group_array_index]).active_options&&u.search_match&&(a+=1),u.active_options+=1),f=r.group?r.label:r.text,r.group&&!this.group_search||(_=this.search_string_match(f,c),r.search_match=null!=_,r.search_match&&!r.group&&(a+=1),r.search_match?(h.length&&(d=_.index,o=f.slice(0,d),s=f.slice(d,d+h.length),p=f.slice(d+h.length),r.highlighted_html=this.escape_html(o)+"<em>"+this.escape_html(s)+"</em>"+this.escape_html(p)),null!=u&&(u.group_match=!0)):null!=r.group_array_index&&this.results_data[r.group_array_index].search_match&&(r.search_match=!0)));return this.result_clear_highlight(),a<1&&h.length?(this.update_results_content(""),this.no_results(h)):(this.update_results_content(this.results_option_build()),(null!=t?t.skip_highlight:void 0)?void 0:this.winnow_results_set_highlight())},n.prototype.get_search_regex=function(t){var e,s;return s=this.search_contains?t:"(^|\\s|\\b)"+t+"[^\\s]*",this.enable_split_word_search||this.search_contains||(s="^"+s),e=this.case_sensitive_search?"":"i",new RegExp(s,e)},n.prototype.search_string_match=function(t,e){var s;return s=e.exec(t),!this.search_contains&&(null!=s?s[1]:void 0)&&(s.index+=1),s},n.prototype.choices_count=function(){var t,e,s;if(null!=this.selected_option_count)return this.selected_option_count;for(t=this.selected_option_count=0,e=(s=this.form_field.options).length;t<e;t++)s[t].selected&&(this.selected_option_count+=1);return this.selected_option_count},n.prototype.choices_click=function(t){if(t.preventDefault(),this.activate_field(),!this.results_showing&&!this.is_disabled)return this.results_show()},n.prototype.keydown_checker=function(t){var e,s;switch(s=null!=(e=t.which)?e:t.keyCode,this.search_field_scale(),8!==s&&this.pending_backstroke&&this.clear_backstroke(),s){case 8:this.backstroke_length=this.get_search_field_value().length;break;case 9:this.results_showing&&!this.is_multiple&&this.result_select(t),this.mouse_on_container=!1;break;case 13:case 27:this.results_showing&&t.preventDefault();break;case 32:this.disable_search&&t.preventDefault();break;case 38:t.preventDefault(),this.keyup_arrow();break;case 40:t.preventDefault(),this.keydown_arrow()}},n.prototype.keyup_checker=function(t){var e,s;switch(s=null!=(e=t.which)?e:t.keyCode,this.search_field_scale(),s){case 8:this.is_multiple&&this.backstroke_length<1&&0<this.choices_count()?this.keydown_backstroke():this.pending_backstroke||(this.result_clear_highlight(),this.results_search());break;case 13:t.preventDefault(),this.results_showing&&this.result_select(t);break;case 27:this.results_showing&&this.results_hide();break;case 9:case 16:case 17:case 18:case 38:case 40:case 91:break;default:this.results_search()}},n.prototype.clipboard_event_checker=function(t){var e;if(!this.is_disabled)return setTimeout((e=this,function(){return e.results_search()}),50)},n.prototype.container_width=function(){return null!=this.options.width?this.options.width:this.form_field.offsetWidth+"px"},n.prototype.include_option_in_results=function(t){return!(this.is_multiple&&!this.display_selected_options&&t.selected)&&(!(!this.display_disabled_options&&t.disabled)&&!t.empty)},n.prototype.search_results_touchstart=function(t){return this.touch_started=!0,this.search_results_mouseover(t)},n.prototype.search_results_touchmove=function(t){return this.touch_started=!1,this.search_results_mouseout(t)},n.prototype.search_results_touchend=function(t){if(this.touch_started)return this.search_results_mouseup(t)},n.prototype.outerHTML=function(t){var e;return t.outerHTML?t.outerHTML:((e=document.createElement("div")).appendChild(t),e.innerHTML)},n.prototype.get_single_html=function(){return'<a class="chosen-single chosen-default">\n <span>'+this.default_text+'</span>\n <div><b></b></div>\n</a>\n<div class="chosen-drop">\n <div class="chosen-search">\n <input class="chosen-search-input" type="text" autocomplete="off" />\n </div>\n <ul class="chosen-results"></ul>\n</div>'},n.prototype.get_multi_html=function(){return'<ul class="chosen-choices">\n <li class="search-field">\n <input class="chosen-search-input" type="text" autocomplete="off" value="'+this.default_text+'" />\n </li>\n</ul>\n<div class="chosen-drop">\n <ul class="chosen-results"></ul>\n</div>'},n.prototype.get_no_results_html=function(t){return'<li class="no-results">\n '+this.results_none_found+" <span>"+this.escape_html(t)+"</span>\n</li>"},n.browser_is_supported=function(){return"Microsoft Internet Explorer"===window.navigator.appName?8<=document.documentMode:!(/iP(od|hone)/i.test(window.navigator.userAgent)||/IEMobile/i.test(window.navigator.userAgent)||/Windows Phone/i.test(window.navigator.userAgent)||/BlackBerry/i.test(window.navigator.userAgent)||/BB10/i.test(window.navigator.userAgent)||/Android.*Mobile/i.test(window.navigator.userAgent))},n.default_multiple_text="Select Some Options",n.default_single_text="Select an Option",n.default_no_result_text="No results match",n}(),(h=jQuery).fn.extend({chosen:function(i){return s.browser_is_supported()?this.each(function(t){var e,s;s=(e=h(this)).data("chosen"),"destroy"!==i?s instanceof n||e.data("chosen",new n(this,i)):s instanceof n&&s.destroy()}):this}}),n=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return function(t,e){for(var s in e)r.call(e,s)&&(t[s]=e[s]);function i(){this.constructor=t}i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype}(e,s),e.prototype.setup=function(){return this.form_field_jq=h(this.form_field),this.current_selectedIndex=this.form_field.selectedIndex},e.prototype.set_up_html=function(){var t,e;return(t=["chosen-container"]).push("chosen-container-"+(this.is_multiple?"multi":"single")),this.inherit_select_classes&&this.form_field.className&&t.push(this.form_field.className),this.is_rtl&&t.push("chosen-rtl"),e={class:t.join(" "),title:this.form_field.title},this.form_field.id.length&&(e.id=this.form_field.id.replace(/[^\w]/g,"_")+"_chosen"),this.container=h("<div />",e),this.container.width(this.container_width()),this.is_multiple?this.container.html(this.get_multi_html()):this.container.html(this.get_single_html()),this.form_field_jq.hide().after(this.container),this.dropdown=this.container.find("div.chosen-drop").first(),this.search_field=this.container.find("input").first(),this.search_results=this.container.find("ul.chosen-results").first(),this.search_field_scale(),this.search_no_results=this.container.find("li.no-results").first(),this.is_multiple?(this.search_choices=this.container.find("ul.chosen-choices").first(),this.search_container=this.container.find("li.search-field").first()):(this.search_container=this.container.find("div.chosen-search").first(),this.selected_item=this.container.find(".chosen-single").first()),this.results_build(),this.set_tab_index(),this.set_label_behavior()},e.prototype.on_ready=function(){return this.form_field_jq.trigger("chosen:ready",{chosen:this})},e.prototype.register_observers=function(){var e,s,i,n,r,o,h,l,c,a,u,_,d,p,f,g,m,v,y,b,w,x,k,C;return this.container.on("touchstart.chosen",(e=this,function(t){e.container_mousedown(t)})),this.container.on("touchend.chosen",(s=this,function(t){s.container_mouseup(t)})),this.container.on("mousedown.chosen",(i=this,function(t){i.container_mousedown(t)})),this.container.on("mouseup.chosen",(n=this,function(t){n.container_mouseup(t)})),this.container.on("mouseenter.chosen",(r=this,function(t){r.mouse_enter(t)})),this.container.on("mouseleave.chosen",(o=this,function(t){o.mouse_leave(t)})),this.search_results.on("mouseup.chosen",(h=this,function(t){h.search_results_mouseup(t)})),this.search_results.on("mouseover.chosen",(l=this,function(t){l.search_results_mouseover(t)})),this.search_results.on("mouseout.chosen",(c=this,function(t){c.search_results_mouseout(t)})),this.search_results.on("mousewheel.chosen DOMMouseScroll.chosen",(a=this,function(t){a.search_results_mousewheel(t)})),this.search_results.on("touchstart.chosen",(u=this,function(t){u.search_results_touchstart(t)})),this.search_results.on("touchmove.chosen",(_=this,function(t){_.search_results_touchmove(t)})),this.search_results.on("touchend.chosen",(d=this,function(t){d.search_results_touchend(t)})),this.form_field_jq.on("chosen:updated.chosen",(p=this,function(t){p.results_update_field(t)})),this.form_field_jq.on("chosen:activate.chosen",(f=this,function(t){f.activate_field(t)})),this.form_field_jq.on("chosen:open.chosen",(g=this,function(t){g.container_mousedown(t)})),this.form_field_jq.on("chosen:close.chosen",(m=this,function(t){m.close_field(t)})),this.search_field.on("blur.chosen",(v=this,function(t){v.input_blur(t)})),this.search_field.on("keyup.chosen",(y=this,function(t){y.keyup_checker(t)})),this.search_field.on("keydown.chosen",(b=this,function(t){b.keydown_checker(t)})),this.search_field.on("focus.chosen",(w=this,function(t){w.input_focus(t)})),this.search_field.on("cut.chosen",(x=this,function(t){x.clipboard_event_checker(t)})),this.search_field.on("paste.chosen",(k=this,function(t){k.clipboard_event_checker(t)})),this.is_multiple?this.search_choices.on("click.chosen",(C=this,function(t){C.choices_click(t)})):this.container.on("click.chosen",function(t){t.preventDefault()})},e.prototype.destroy=function(){return h(this.container[0].ownerDocument).off("click.chosen",this.click_test_action),0<this.form_field_label.length&&this.form_field_label.off("click.chosen"),this.search_field[0].tabIndex&&(this.form_field_jq[0].tabIndex=this.search_field[0].tabIndex),this.container.remove(),this.form_field_jq.removeData("chosen"),this.form_field_jq.show()},e.prototype.search_field_disabled=function(){return this.is_disabled=this.form_field.disabled||this.form_field_jq.parents("fieldset").is(":disabled"),this.container.toggleClass("chosen-disabled",this.is_disabled),this.search_field[0].disabled=this.is_disabled,this.is_multiple||this.selected_item.off("focus.chosen",this.activate_field),this.is_disabled?this.close_field():this.is_multiple?void 0:this.selected_item.on("focus.chosen",this.activate_field)},e.prototype.container_mousedown=function(t){var e;if(!this.is_disabled)return!t||"mousedown"!==(e=t.type)&&"touchstart"!==e||this.results_showing||t.preventDefault(),null!=t&&h(t.target).hasClass("search-choice-close")?void 0:(this.active_field?this.is_multiple||!t||h(t.target)[0]!==this.selected_item[0]&&!h(t.target).parents("a.chosen-single").length||(t.preventDefault(),this.results_toggle()):(this.is_multiple&&this.search_field.val(""),h(this.container[0].ownerDocument).on("click.chosen",this.click_test_action),this.results_show()),this.activate_field())},e.prototype.container_mouseup=function(t){if("ABBR"===t.target.nodeName&&!this.is_disabled)return this.results_reset(t)},e.prototype.search_results_mousewheel=function(t){var e;if(t.originalEvent&&(e=t.originalEvent.deltaY||-t.originalEvent.wheelDelta||t.originalEvent.detail),null!=e)return t.preventDefault(),"DOMMouseScroll"===t.type&&(e*=40),this.search_results.scrollTop(e+this.search_results.scrollTop())},e.prototype.blur_test=function(t){if(!this.active_field&&this.container.hasClass("chosen-container-active"))return this.close_field()},e.prototype.close_field=function(){return h(this.container[0].ownerDocument).off("click.chosen",this.click_test_action),this.active_field=!1,this.results_hide(),this.container.removeClass("chosen-container-active"),this.clear_backstroke(),this.show_search_field_default(),this.search_field_scale(),this.search_field.blur()},e.prototype.activate_field=function(){if(!this.is_disabled)return this.container.addClass("chosen-container-active"),this.active_field=!0,this.search_field.val(this.search_field.val()),this.search_field.focus()},e.prototype.test_active_click=function(t){var e;return(e=h(t.target).closest(".chosen-container")).length&&this.container[0]===e[0]?this.active_field=!0:this.close_field()},e.prototype.results_build=function(){return this.parsing=!0,this.selected_option_count=null,this.results_data=o.select_to_array(this.form_field),this.is_multiple?this.search_choices.find("li.search-choice").remove():(this.single_set_selected_text(),this.disable_search||this.form_field.options.length<=this.disable_search_threshold?(this.search_field[0].readOnly=!0,this.container.addClass("chosen-container-single-nosearch")):(this.search_field[0].readOnly=!1,this.container.removeClass("chosen-container-single-nosearch"))),this.update_results_content(this.results_option_build({first:!0})),this.search_field_disabled(),this.show_search_field_default(),this.search_field_scale(),this.parsing=!1},e.prototype.result_do_highlight=function(t){var e,s,i,n;if(t.length){if(this.result_clear_highlight(),this.result_highlight=t,this.result_highlight.addClass("highlighted"),(i=parseInt(this.search_results.css("maxHeight"),10))+(n=this.search_results.scrollTop())<=(e=(s=this.result_highlight.position().top+this.search_results.scrollTop())+this.result_highlight.outerHeight()))return this.search_results.scrollTop(0<e-i?e-i:0);if(s<n)return this.search_results.scrollTop(s)}},e.prototype.result_clear_highlight=function(){return this.result_highlight&&this.result_highlight.removeClass("highlighted"),this.result_highlight=null},e.prototype.results_show=function(){return this.is_multiple&&this.max_selected_options<=this.choices_count()?(this.form_field_jq.trigger("chosen:maxselected",{chosen:this}),!1):(this.container.addClass("chosen-with-drop"),this.results_showing=!0,this.search_field.focus(),this.search_field.val(this.get_search_field_value()),this.winnow_results(),this.form_field_jq.trigger("chosen:showing_dropdown",{chosen:this}))},e.prototype.update_results_content=function(t){return this.search_results.html(t)},e.prototype.results_hide=function(){return this.results_showing&&(this.result_clear_highlight(),this.container.removeClass("chosen-with-drop"),this.form_field_jq.trigger("chosen:hiding_dropdown",{chosen:this})),this.results_showing=!1},e.prototype.set_tab_index=function(t){var e;if(this.form_field.tabIndex)return e=this.form_field.tabIndex,this.form_field.tabIndex=-1,this.search_field[0].tabIndex=e},e.prototype.set_label_behavior=function(){if(this.form_field_label=this.form_field_jq.parents("label"),!this.form_field_label.length&&this.form_field.id.length&&(this.form_field_label=h("label[for='"+this.form_field.id+"']")),0<this.form_field_label.length)return this.form_field_label.on("click.chosen",this.label_click_handler)},e.prototype.show_search_field_default=function(){return this.is_multiple&&this.choices_count()<1&&!this.active_field?(this.search_field.val(this.default_text),this.search_field.addClass("default")):(this.search_field.val(""),this.search_field.removeClass("default"))},e.prototype.search_results_mouseup=function(t){var e;if((e=h(t.target).hasClass("active-result")?h(t.target):h(t.target).parents(".active-result").first()).length)return this.result_highlight=e,this.result_select(t),this.search_field.focus()},e.prototype.search_results_mouseover=function(t){var e;if(e=h(t.target).hasClass("active-result")?h(t.target):h(t.target).parents(".active-result").first())return this.result_do_highlight(e)},e.prototype.search_results_mouseout=function(t){if(h(t.target).hasClass("active-result")||h(t.target).parents(".active-result").first())return this.result_clear_highlight()},e.prototype.choice_build=function(t){var e,s,i;return e=h("<li />",{class:"search-choice"}).html("<span>"+this.choice_label(t)+"</span>"),t.disabled?e.addClass("search-choice-disabled"):((s=h("<a />",{class:"search-choice-close","data-option-array-index":t.array_index})).on("click.chosen",(i=this,function(t){return i.choice_destroy_link_click(t)})),e.append(s)),this.search_container.before(e)},e.prototype.choice_destroy_link_click=function(t){if(t.preventDefault(),t.stopPropagation(),!this.is_disabled)return this.choice_destroy(h(t.target))},e.prototype.choice_destroy=function(t){if(this.result_deselect(t[0].getAttribute("data-option-array-index")))return this.active_field?this.search_field.focus():this.show_search_field_default(),this.is_multiple&&0<this.choices_count()&&this.get_search_field_value().length<1&&this.results_hide(),t.parents("li").first().remove(),this.search_field_scale()},e.prototype.results_reset=function(){if(this.reset_single_select_options(),this.form_field.options[0].selected=!0,this.single_set_selected_text(),this.show_search_field_default(),this.results_reset_cleanup(),this.trigger_form_field_change(),this.active_field)return this.results_hide()},e.prototype.results_reset_cleanup=function(){return this.current_selectedIndex=this.form_field.selectedIndex,this.selected_item.find("abbr").remove()},e.prototype.result_select=function(t){var e,s;if(this.result_highlight)return e=this.result_highlight,this.result_clear_highlight(),this.is_multiple&&this.max_selected_options<=this.choices_count()?(this.form_field_jq.trigger("chosen:maxselected",{chosen:this}),!1):(this.is_multiple?e.removeClass("active-result"):this.reset_single_select_options(),e.addClass("result-selected"),(s=this.results_data[e[0].getAttribute("data-option-array-index")]).selected=!0,this.form_field.options[s.options_index].selected=!0,this.selected_option_count=null,this.is_multiple?this.choice_build(s):this.single_set_selected_text(this.choice_label(s)),this.is_multiple&&(!this.hide_results_on_select||t.metaKey||t.ctrlKey)?t.metaKey||t.ctrlKey?this.winnow_results({skip_highlight:!0}):(this.search_field.val(""),this.winnow_results()):(this.results_hide(),this.show_search_field_default()),(this.is_multiple||this.form_field.selectedIndex!==this.current_selectedIndex)&&this.trigger_form_field_change({selected:this.form_field.options[s.options_index].value}),this.current_selectedIndex=this.form_field.selectedIndex,t.preventDefault(),this.search_field_scale())},e.prototype.single_set_selected_text=function(t){return null==t&&(t=this.default_text),t===this.default_text?this.selected_item.addClass("chosen-default"):(this.single_deselect_control_build(),this.selected_item.removeClass("chosen-default")),this.selected_item.find("span").html(t)},e.prototype.result_deselect=function(t){var e;return e=this.results_data[t],!this.form_field.options[e.options_index].disabled&&(e.selected=!1,this.form_field.options[e.options_index].selected=!1,this.selected_option_count=null,this.result_clear_highlight(),this.results_showing&&this.winnow_results(),this.trigger_form_field_change({deselected:this.form_field.options[e.options_index].value}),this.search_field_scale(),!0)},e.prototype.single_deselect_control_build=function(){if(this.allow_single_deselect)return this.selected_item.find("abbr").length||this.selected_item.find("span").first().after('<abbr class="search-choice-close"></abbr>'),this.selected_item.addClass("chosen-single-with-deselect")},e.prototype.get_search_field_value=function(){return this.search_field.val()},e.prototype.get_search_text=function(){return h.trim(this.get_search_field_value())},e.prototype.escape_html=function(t){return h("<div/>").text(t).html()},e.prototype.winnow_results_set_highlight=function(){var t,e;if(null!=(t=(e=this.is_multiple?[]:this.search_results.find(".result-selected.active-result")).length?e.first():this.search_results.find(".active-result").first()))return this.result_do_highlight(t)},e.prototype.no_results=function(t){var e;return e=this.get_no_results_html(t),this.search_results.append(e),this.form_field_jq.trigger("chosen:no_results",{chosen:this})},e.prototype.no_results_clear=function(){return this.search_results.find(".no-results").remove()},e.prototype.keydown_arrow=function(){var t;return this.results_showing&&this.result_highlight?(t=this.result_highlight.nextAll("li.active-result").first())?this.result_do_highlight(t):void 0:this.results_show()},e.prototype.keyup_arrow=function(){var t;return this.results_showing||this.is_multiple?this.result_highlight?(t=this.result_highlight.prevAll("li.active-result")).length?this.result_do_highlight(t.first()):(0<this.choices_count()&&this.results_hide(),this.result_clear_highlight()):void 0:this.results_show()},e.prototype.keydown_backstroke=function(){var t;return this.pending_backstroke?(this.choice_destroy(this.pending_backstroke.find("a").first()),this.clear_backstroke()):(t=this.search_container.siblings("li.search-choice").last()).length&&!t.hasClass("search-choice-disabled")?(this.pending_backstroke=t,this.single_backstroke_delete?this.keydown_backstroke():this.pending_backstroke.addClass("search-choice-focus")):void 0},e.prototype.clear_backstroke=function(){return this.pending_backstroke&&this.pending_backstroke.removeClass("search-choice-focus"),this.pending_backstroke=null},e.prototype.search_field_scale=function(){var t,e,s,i,n,r,o;if(this.is_multiple){for(n={position:"absolute",left:"-1000px",top:"-1000px",display:"none",whiteSpace:"pre"},e=0,s=(r=["fontSize","fontStyle","fontWeight","fontFamily","lineHeight","textTransform","letterSpacing"]).length;e<s;e++)n[i=r[e]]=this.search_field.css(i);return(t=h("<div />").css(n)).text(this.get_search_field_value()),h("body").append(t),o=t.width()+25,t.remove(),this.container.is(":visible")&&(o=Math.min(this.container.outerWidth()-10,o)),this.search_field.width(o)}},e.prototype.trigger_form_field_change=function(t){return this.form_field_jq.trigger("input",t),this.form_field_jq.trigger("change",t)},e}()}.call(this),function(o){"use strict";function n(t,e,s){this.init(t,e,s)}function t(){this.rules=[]}o.extend(n.prototype,{init:function(t,e,s){this.controller=t,this.condition=e,this.value=s,this.rules=[],this.controls=[]},evalCondition:function(t,e,s,i,n){if("=="==s)return this.checkBoolean(i)==this.checkBoolean(n);if("!="==s)return this.checkBoolean(i)!=this.checkBoolean(n);if(">="==s)return Number(n)>=Number(i);if("<="==s)return Number(n)<=Number(i);if(">"==s)return Number(n)>Number(i);if("<"==s)return Number(n)<Number(i);if("()"==s)return window[i](t,e,n);if("any"==s){if(o.isArray(n)){for(var r=n.length-1;0<=r;r--)if(-1!==o.inArray(n[r],i.split(",")))return!0}else if(-1!==o.inArray(n,i.split(",")))return!0}else if("not-any"==s)if(o.isArray(n)){for(r=n.length-1;0<=r;r--)if(-1==o.inArray(n[r],i.split(",")))return!0}else if(-1==o.inArray(n,i.split(",")))return!0;return!1},checkBoolean:function(t){switch(t){case!0:case"true":case 1:case"1":t=!0;break;case null:case!1:case"false":case 0:case"0":t=!1}return t},checkCondition:function(t){if(!this.condition)return!0;var e=t.find(this.controller),s=this.getControlValue(t,e);return void 0!==s&&(s=this.normalizeValue(e,this.value,s),this.evalCondition(t,e,this.condition,this.value,s))},normalizeValue:function(t,e,s){return"number"==typeof e?parseFloat(s):s},getControlValue:function(t,e){return 1<e.length&&("radio"==e.attr("type")||"checkbox"==e.attr("type"))?e.filter(":checked").map(function(){return this.value}).get():"checkbox"==e.attr("type")||"radio"==e.attr("type")?e.is(":checked"):e.val()},createRule:function(t,e,s){var i=new n(t,e,s);return this.rules.push(i),i},include:function(t){this.controls.push(t)},applyRule:function(s,t){var e;e=void 0===t?this.checkCondition(s):t;var i=o.map(this.controls,function(t,e){return s.find(t)});e?(o(i).each(function(){o(this).removeClass("ulf-depend-on")}),o(this.rules).each(function(){this.applyRule(s)})):(o(i).each(function(){o(this).addClass("ulf-depend-on")}),o(this.rules).each(function(){this.applyRule(s,!1)}))}}),o.extend(t.prototype,{createRule:function(t,e,s){var i=new n(t,e,s);return this.rules.push(i),i},applyRules:function(t){o(this.rules).each(function(){this.applyRule(t)})}}),o.ulf_deps={createRuleset:function(){return new t},enable:function(s,i,n){return s.on("change keyup",function(t){var e=t.target.getAttribute("data-depend-id")||t.target.getAttribute("data-sub-depend-id");-1!==n.indexOf(e)&&i.applyRules(s)}),i.applyRules(s),!0}}}(jQuery),function(t,s){if("function"==typeof define&&define.amd)define(["exports","jquery"],function(t,e){return s(t,e)});else if("undefined"!=typeof exports){var e=require("jquery");s(exports,e)}else s(t,t.jQuery||t.Zepto||t.ender||t.$)}(this,function(t,e){var h={validate:/^(?!(_nonce|_pseudo))[a-zA-Z0-9_-]*(?:\[(?:\d*|(?!(_nonce|_pseudo))[a-zA-Z0-9_-]+)\])*$/i,key:/[a-zA-Z0-9_-]+|(?=\[\])/g,named:/^[a-zA-Z0-9_-]+$/,push:/^$/,fixed:/^\d+$/};function s(i,t){var s={},r={};function o(t,e,s){return t[e]=s,t}function e(){return s}this.addPair=function(t){if(!h.validate.test(t.name))return this;var e=function(t,e){for(var s,i=t.match(h.key);void 0!==(s=i.pop());)h.push.test(s)?e=o([],(n=t.replace(/\[\]$/,""),void 0===r[n]&&(r[n]=0),r[n]++),e):h.fixed.test(s)?e=o([],s,e):h.named.test(s)&&(e=o({},s,e));var n;return e}(t.name,t.value);return s=i.extend(!0,s,e),this},this.addPairs=function(t){if(!i.isArray(t))throw new Error("formSerializer.addPairs expects an Array");for(var e=0,s=t.length;e<s;e++)this.addPair(t[e]);return this},this.serialize=e,this.serializeJSON=function(){return JSON.stringify(e())}}return s.patterns=h,s.serializeObject=function(){return new s(e,this).addPairs(this.serializeArray()).serialize()},s.serializeJSON=function(){return new s(e,this).addPairs(this.serializeArray()).serializeJSON()},void 0!==e.fn&&(e.fn.serializeObjectULF=s.serializeObject,e.fn.serializeJSONULF=s.serializeJSON),t.FormSerializer=s});
admin/settings/assets/scss/style-rtl.scss DELETED
@@ -1,720 +0,0 @@
1
- /**
2
- *
3
- * ---------------------------------------------------------
4
- * CODESTAR FRAMEWORK RTL CSS MAP
5
- * ---------------------------------------------------------
6
- *
7
- * 01. Base
8
- * 01. 01. Header
9
- * 01. 02. Header Buttons
10
- * 01. 03. Navigation
11
- * 01. 04. Content
12
- * 01. 05. Section
13
- * 01. 06. Show All Options
14
- * 01. 07. Search Input
15
- * 01. 08. Copyright
16
- * 01. 09. Metabox
17
- * 02. Fields
18
- * 02. 01. Field: typography
19
- * 02. 02. Field: checkbox, radio
20
- * 02. 03. Field: switcher
21
- * 02. 04. Field: upload
22
- * 02. 05. Field: group
23
- * 02. 06. Field: repeater
24
- * 02. 07. Field: help
25
- * 02. 08. Field: icon
26
- * 02. 09. Field: gallery
27
- * 02. 10. Field: sorter
28
- * 02. 11. Field: tabbed
29
- * 02. 12. Field: media
30
- * 02. 13. Field: notice
31
- * 02. 14. Field: border, spacing, dimensions
32
- * 02. 15. Field: background
33
- * 02. 16. Field: spinner
34
- * 02. 17. Field: slider
35
- * 02. 18. Field: button_set
36
- * 02. 19. Field: link_color
37
- * 02. 20. Field: color_group
38
- * 02. 21. Field: palette
39
- * 02. 22. Field: accordion
40
- * 02. 23. Field: date
41
- * 02. 24. Field: map
42
- * 02. 25. Field: sortable
43
- * 02. 26. Field: number
44
- * 03. Taxonomy
45
- * 04. Profile
46
- * 05. Nav Menu
47
- * 06. Modal
48
- * 07. Customizer
49
- * 08. Responsive
50
- * 09. Others
51
- *
52
- * ---------------------------------------------------------
53
- *
54
- */
55
- @import "compass";
56
- @import "vendor/mixins";
57
-
58
- /**
59
- * 01. Base
60
- */
61
- .csf-options{
62
- margin-left: 20px;
63
- margin-right: 0;
64
- }
65
-
66
- /**
67
- * 01. 01. Header
68
- */
69
- .csf-header{
70
- h1{
71
- float: right;
72
- }
73
-
74
- fieldset{
75
- float: left;
76
- }
77
- }
78
-
79
- /**
80
- * 01. 02. Header Buttons
81
- */
82
- .csf-buttons{
83
- float: left;
84
- direction: ltr;
85
- }
86
-
87
- .csf-header-left{
88
- float: right;
89
- }
90
-
91
- .csf-header-right{
92
- float: left;
93
- }
94
-
95
- /**
96
- * 01. 03. Navigation
97
- */
98
- .csf-nav{
99
- float: right;
100
-
101
- ul{
102
- clear: right;
103
-
104
- li{
105
- .csf-active:after{
106
- right: auto;
107
- left: 0;
108
- border-left-color: #fff;
109
- border-right-color: transparent;
110
- }
111
-
112
- .csf-arrow:after{
113
- content: "\f053";
114
- right: auto;
115
- left: 10px;
116
- }
117
-
118
- &.csf-tab-expanded .csf-arrow:after{
119
- @include transform( rotate(-90deg) );
120
- }
121
- }
122
-
123
- ul{
124
- li{
125
- a{
126
- padding-right: 25px;
127
- padding-left: 15px;
128
- }
129
- }
130
-
131
- &:before{
132
- left: auto;
133
- right: 15px;
134
- }
135
- }
136
- }
137
-
138
- .csf-tab-icon{
139
- margin-left: 5px;
140
- margin-right: 0;
141
- }
142
- }
143
-
144
- .csf-nav-background{
145
- left: auto;
146
- right: 0;
147
- }
148
-
149
- /**
150
- * 01. 04. Content
151
- */
152
- .csf-content{
153
- margin-left: 0;
154
- margin-right: 225px;
155
- }
156
-
157
- /**
158
- * 01. 05. Section
159
- */
160
- .csf-sections{
161
- float: right;
162
- }
163
-
164
- /**
165
- * 01. 06. Show all options
166
- */
167
- .csf-show-all .csf-content{
168
- margin-right: 0;
169
- overflow: hidden;
170
- }
171
-
172
- .csf-expand-all{
173
- float: right;
174
- right: auto;
175
- left: 40px;
176
- margin-right: 0;
177
- margin-left: 4px;
178
- }
179
-
180
- /**
181
- * 01. 07. Search Input
182
- */
183
- .csf-search{
184
- float: right;
185
-
186
- input{
187
- margin: 0 0 0 5px;
188
- }
189
- }
190
-
191
- /**
192
- * 01. 08. Copyright
193
- */
194
- .csf-copyright{
195
- float: right;
196
- }
197
-
198
- /**
199
- * 01. 09. Metabox
200
- */
201
- .csf-metabox{
202
- margin: -6px -12px -12px -12px;
203
-
204
- .csf-section-title{
205
- padding: 20px;
206
- }
207
- }
208
-
209
- .csf-section-title{
210
-
211
- .csf-section-icon{
212
- margin-left: 5px;
213
- margin-right: 0;
214
- }
215
- }
216
-
217
- /**
218
- * 02. Fields
219
- */
220
- .csf-field{
221
-
222
- .csf-title{
223
- float: right;
224
- }
225
-
226
- .csf-fieldset{
227
- float: left;
228
- }
229
- }
230
-
231
- .csf-pseudo-field{
232
- padding: 0 0 0 5px !important;
233
- }
234
-
235
- /**
236
- * 02. 01. Field: typography
237
- */
238
- .csf-field-typography{
239
-
240
- select{
241
- margin: 0;
242
- width: 100%;
243
- }
244
-
245
- .csf--blocks-inputs{
246
- .csf--blocks{
247
- flex-direction: row-reverse;
248
- }
249
- }
250
- }
251
-
252
- /**
253
- * 02. 02. Field: checkbox, radio
254
- */
255
- .csf-field-checkbox,
256
- .csf-field-radio{
257
-
258
- ul ul li{
259
- margin-left: 0;
260
- margin-right: 8px;
261
-
262
- &:first-child{
263
- margin-right: 0;
264
- }
265
- }
266
-
267
- .csf--inline-list li{
268
- margin-right: 0;
269
- margin-left: 15px;
270
- }
271
-
272
- .csf--text{
273
- margin-left: 0;
274
- margin-right: 5px;
275
- }
276
- }
277
-
278
- /**
279
- * 02. 03. Field: switcher
280
- */
281
- .csf-field-switcher{
282
-
283
- .csf--switcher{
284
- float: right;
285
- }
286
-
287
- .csf--label{
288
- float: right;
289
- margin-left: 0;
290
- margin-right: 5px;
291
- }
292
- }
293
-
294
- /**
295
- * 02. 04. Field: upload
296
- */
297
- .csf-field-upload{
298
-
299
- .csf--remove,
300
- .csf--button{
301
- margin-left: 0;
302
- margin-right: 5px;
303
- }
304
- }
305
-
306
- /**
307
- * 02. 05. Field: group
308
- */
309
- .csf-field-group{
310
-
311
- .csf-cloneable-title{
312
- padding: 15px 10px 15px 65px;
313
- }
314
-
315
- .csf-cloneable-helper{
316
- right: auto;
317
- left: 10px;
318
- }
319
- }
320
-
321
- /**
322
- * 02. 06. Field: repeater
323
- */
324
- .csf-field-repeater{
325
-
326
- .csf-repeater-helper{
327
- border-left: 0;
328
- border-right: 1px solid #eee;
329
- }
330
- }
331
-
332
- /**
333
- * 02. 07. Field: help
334
- */
335
- .csf-help{
336
- right: auto;
337
- left: 5px;
338
- }
339
-
340
- /**
341
- * 02. 08. Field: icon
342
- */
343
- .csf-field-icon{
344
-
345
- .button{
346
- margin-right: 0;
347
- margin-left: 5px;
348
- }
349
-
350
- .csf-icon-preview i{
351
- margin-right: 0;
352
- margin-left: 5px;
353
- }
354
- }
355
-
356
- /**
357
- * 02. 09. Field: gallery
358
- */
359
- .csf-field-gallery{
360
-
361
- ul li{
362
- margin-right: 0;
363
- margin-left: 5px;
364
- }
365
-
366
- .button{
367
- margin-right: 0;
368
- margin-left: 5px;
369
- }
370
- }
371
-
372
- /**
373
- * 02. 11. Field: tabbed
374
- */
375
- .csf-field-tabbed{
376
-
377
- .csf-tabbed-nav{
378
-
379
- .csf--icon{
380
- padding-right: 0;
381
- padding-left: 5px;
382
- }
383
-
384
- a{
385
- margin-right: 0;
386
- margin-left: 5px;
387
- }
388
- }
389
- }
390
-
391
- /**
392
- * 02. 12. Field: media
393
- */
394
- .csf-field-media{
395
-
396
- .button{
397
- margin-left: 0;
398
- margin-right: 7px;
399
- }
400
-
401
- .hidden + .button{
402
- margin-right: 0;
403
- }
404
- }
405
-
406
- /**
407
- * 02. 13. Field: notice
408
- */
409
- .csf-notice{
410
- border-left: none;
411
- border-right-style: solid;
412
- border-right-width: 4px;
413
- }
414
-
415
- /**
416
- * 02. 14. Field: border, spacing, dimensions
417
- */
418
- .csf-field-dimensions,
419
- .csf-field-spacing,
420
- .csf-field-border{
421
-
422
- .csf--input,
423
- .csf-fieldset{
424
- direction: ltr;
425
- }
426
-
427
- .csf--inputs,
428
- .csf--color{
429
- float: right;
430
- }
431
-
432
- .csf--color{
433
- margin-right: 4px;
434
- direction: rtl;
435
- }
436
- }
437
-
438
- /**
439
- * 02. 15. Field: background
440
- */
441
- .csf-field-background{
442
-
443
- .csf--block{
444
- float: right;
445
- }
446
-
447
- .csf--select,
448
- .csf--media{
449
- padding-right: 0;
450
- }
451
-
452
- .csf--title{
453
- margin-right: 0;
454
- margin-left: 5px;
455
- }
456
- }
457
-
458
- /**
459
- * 02. 16. Field: spinner
460
- */
461
- .csf-field-spinner{
462
-
463
- .csf--spin{
464
- float: right;
465
- direction: ltr;
466
- }
467
- }
468
-
469
- /**
470
- * 02. 17. Field: slider
471
- */
472
- .csf-field-slider{
473
-
474
- .csf-slider-ui{
475
- direction: ltr;
476
- margin-right: 0;
477
- margin-left: 15px;
478
- }
479
-
480
- .csf--input{
481
- direction: ltr;
482
- }
483
- }
484
-
485
- /**
486
- * 02. 18. Field: button_set
487
- */
488
- .csf-field-button_set{
489
-
490
- .csf--button-group{
491
- float: right;
492
- }
493
- }
494
-
495
- /**
496
- * 02. 19. Field: link_color
497
- */
498
- .csf-field-link_color{
499
-
500
- .csf--left{
501
- float: right;
502
- margin-right: 0;
503
- margin-left: 10px;
504
- }
505
- }
506
-
507
- /**
508
- * 02. 20. Field: color_group
509
- */
510
- .csf-field-color_group{
511
-
512
- .csf--left{
513
- float: right;
514
- margin-right: 0;
515
- margin-left: 10px;
516
- }
517
- }
518
-
519
- /**
520
- * 02. 21. Field: palette
521
- */
522
- .csf-field-palette{
523
-
524
- .csf--palette{
525
- margin-right: 0;
526
- margin-left: 10px;
527
- }
528
- }
529
-
530
- /**
531
- * 02. 22. Field: accordion
532
- */
533
- .csf-field-accordion{
534
-
535
- .csf--icon{
536
- margin-right: 0;
537
- margin-left: 2px;
538
- }
539
- }
540
-
541
- /**
542
- * 02. 23. Field: date
543
- */
544
- .csf-field-date{
545
-
546
- .csf--to {
547
- margin-left: 0;
548
- margin-right: 7px;
549
- }
550
- }
551
-
552
- /**
553
- * 02. 24. Field: map
554
- */
555
- .csf-field-map{
556
-
557
- .csf--map-input:last-child {
558
- padding-left: 0;
559
- padding-right: 10px;
560
- }
561
- }
562
-
563
- /**
564
- * 02. 25. Field: sortable
565
- */
566
- .csf-field-sortable{
567
-
568
- .csf--sortable-helper{
569
- border-left: none;
570
- border-right: 1px solid #eee;
571
- }
572
- }
573
-
574
- /**
575
- * 02. 26. Field: number
576
- */
577
- .csf-field-number{
578
-
579
- .csf--wrap{
580
- float: right;
581
- }
582
- }
583
-
584
- /**
585
- * 03. Taxonomy
586
- */
587
- .csf-taxonomy-add-fields{
588
- margin-right: 0;
589
- margin-left: 30px;
590
-
591
- .csf-field > .csf-fieldset > .csf-help{
592
- left: -5px;
593
- right: auto;
594
- }
595
- }
596
-
597
- .csf-taxonomy-edit-fields{
598
- margin-right: 0;
599
- margin-left: 35px;
600
-
601
- .csf-field > .csf-fieldset > .csf-help{
602
- right: auto;
603
- left: -5px;
604
- }
605
- }
606
-
607
- /**
608
- * 04. Profile
609
- */
610
- .csf-profile-options{
611
-
612
- > h2 > .fa{
613
- padding-right: 0;
614
- padding-left: 7px;
615
- }
616
-
617
- > .csf-field{
618
-
619
- > .csf-fieldset{
620
-
621
- > .csf-help{
622
- left: -5px;
623
- right: auto;
624
- }
625
- }
626
- }
627
- }
628
-
629
- /**
630
- * 05. Nav Menu
631
- */
632
- .csf-nav-menu-options{
633
-
634
- > .csf-fields{
635
- margin-left: 0;
636
- margin-right: -10px;
637
- }
638
- }
639
-
640
- .csf-nav-menu-title {
641
- padding-left: 14px;
642
- padding-right: 12px;
643
- }
644
-
645
- .csf-nav-menu-icon{
646
- margin-right: 0;
647
- margin-left: 5px;
648
- }
649
-
650
- /**
651
- * 06. Modal
652
- */
653
- .csf-modal-content{
654
-
655
- .csf-field{
656
- padding: 15px 15px 15px 30px;
657
- }
658
- }
659
-
660
- .csf-modal-title{
661
- padding: 0 16px 0 36px;
662
- }
663
-
664
- .csf-modal-close{
665
- right: auto;
666
- left: 0;
667
- }
668
-
669
- /**
670
- * 07. Customizer
671
- */
672
- .control-section{
673
-
674
- .csf-field{
675
-
676
- .csf-fieldset{
677
- margin-right: 0;
678
- }
679
- }
680
- }
681
-
682
- /**
683
- * 08. Responsive
684
- */
685
- @media only screen and (max-width:1200px){
686
- .csf-metabox .csf-field .csf-fieldset{
687
- margin-left: 0;
688
- }
689
- }
690
-
691
- @media only screen and (max-width:782px){
692
- .csf .csf-fieldset,
693
- .csf .csf-content{
694
- margin-right: 0;
695
- }
696
- }
697
-
698
- /**
699
- * 09. Others
700
- */
701
- .csf-field{
702
-
703
- .csf--transparent-slider{
704
- margin-left: 0;
705
- margin-right: 2px;
706
-
707
- .ui-slider-handle{
708
- margin: 0 -11px;
709
- }
710
- }
711
-
712
- .csf--transparent-offset{
713
- background-position: center right;
714
- }
715
-
716
- .csf--transparent-text{
717
- right: auto;
718
- left: 10px;
719
- }
720
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/settings/assets/scss/style.scss DELETED
@@ -1,96 +0,0 @@
1
- /**
2
- *
3
- * ---------------------------------------------------------
4
- * CODESTAR FRAMEWORK CSS MAP
5
- * ---------------------------------------------------------
6
- *
7
- * 01. Base
8
- * 01. 01. Header
9
- * 01. 02. Sticky
10
- * 01. 03. Header Buttons
11
- * 01. 04. Navigation
12
- * 01. 05. Wrapper
13
- * 01. 06. Content
14
- * 01. 07. Section
15
- * 01. 08. Footer
16
- * 01. 09. Copyright
17
- * 01. 10. Show All Options
18
- * 01. 11. Search Input
19
- * 01. 12. Metabox
20
- * 01. 13. Comment Metabox
21
- * 01. 14. Help Tooltip
22
- * 02. Themes
23
- * 02. 01. Theme Dark
24
- * 02. 02. Theme Light
25
- * 03. Fields
26
- * 03. 01. Field
27
- * 03. 02. Field: accordion
28
- * 03. 03. Field: background
29
- * 03. 04. Field: backup
30
- * 03. 05. Field: border, spacing, dimensions
31
- * 03. 06. Field: button_set
32
- * 03. 07. Field: checkbox, radio
33
- * 03. 08. Field: code_editor
34
- * 03. 09. Field: color
35
- * 03. 10. Field: color_group
36
- * 03. 11. Field: fieldset
37
- * 03. 12. Field: date
38
- * 03. 13. Field: gallery
39
- * 03. 14. Field: group
40
- * 03. 15. Field: icon
41
- * 03. 16. Field: image_select
42
- * 03. 17. Field: link_color
43
- * 03. 18. Field: map
44
- * 03. 19. Field: media
45
- * 03. 20. Field: palette
46
- * 03. 21. Field: repeater
47
- * 03. 22. Field: select
48
- * 03. 23. Field: slider
49
- * 03. 24. Field: sortable
50
- * 03. 25. Field: sorter
51
- * 03. 26. Field: spinner
52
- * 03. 27. Field: switcher
53
- * 03. 28. Field: tabbed
54
- * 03. 29. Field: text
55
- * 03. 30. Field: textarea
56
- * 03. 31. Field: typography
57
- * 03. 32. Field: upload
58
- * 03. 33. Field: wp_editor
59
- * 03. 34. Field: heading
60
- * 03. 35. Field: subheading
61
- * 03. 36. Field: submessage
62
- * 03. 37. Field: notice
63
- * 03. 38. Field: number
64
- * 03. 39. Field: others
65
- * 04. Widget
66
- * 05. Customizer
67
- * 06. Taxonomy
68
- * 07. Profile
69
- * 08. Nav Menu
70
- * 09. Modal
71
- * 09. 01. Shortcode Modal
72
- * 09. 02. Gutenberg Modal
73
- * 09. 03. Icon Modal
74
- * 10. Helper
75
- * 11. Welcome Page
76
- * 12. Responsive
77
- * 13. Others
78
- *
79
- * ---------------------------------------------------------
80
- *
81
- */
82
- @import "compass";
83
- @import "vendor/mixins";
84
- @import "vendor/base";
85
- @import "vendor/themes";
86
- @import "vendor/fields";
87
- @import "vendor/widget";
88
- @import "vendor/customizer";
89
- @import "vendor/taxonomy";
90
- @import "vendor/navmenu";
91
- @import "vendor/profile";
92
- @import "vendor/modal";
93
- @import "vendor/helper";
94
- @import "vendor/welcome";
95
- @import "vendor/responsive";
96
- @import "vendor/chosen";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/settings/assets/scss/vendor/_base.scss DELETED
@@ -1,461 +0,0 @@
1
- /**
2
- * 01. Base
3
- */
4
- .csf{
5
- position: relative;
6
-
7
- label{
8
- padding: 0;
9
- margin: 0;
10
- display: inline-block;
11
- }
12
- }
13
-
14
- .csf-ab-icon{
15
- top: 2px;
16
- }
17
-
18
- #screen-meta-links + .csf-options{
19
- margin-top: 40px;
20
- }
21
-
22
- .csf-options{
23
- margin-top: 20px;
24
- margin-right: 20px;
25
- }
26
-
27
- /**
28
- * 01. 01. Header
29
- */
30
- .csf-header{
31
- position: relative;
32
- }
33
-
34
- .csf-header-inner{
35
- padding: 25px;
36
- transition: box-shadow .3s ease;
37
-
38
- h1{
39
- float: left;
40
- font-size: 1.5em;
41
- line-height: 26px;
42
- font-weight: 400;
43
- margin: 0;
44
-
45
- small{
46
- font-size: 11px;
47
- font-weight: 500;
48
- }
49
- }
50
- }
51
-
52
- /**
53
- * 01. 02. Sticky
54
- */
55
- .csf-sticky{
56
-
57
- .csf-header-inner{
58
- position: fixed;
59
- z-index: 99;
60
- top: 32px;
61
- @include box-shadow(0 5px 10px rgba(black, 0.1));
62
- }
63
- }
64
-
65
- /**
66
- * 01. 03. Header Buttons
67
- */
68
- .csf-buttons{
69
- float: right;
70
- @include transition(opacity 0.2s);
71
-
72
- .button{
73
- margin: 0 2px;
74
- line-height: 26px;
75
-
76
- &:focus{
77
- outline: none !important;
78
- box-shadow: none !important;
79
- }
80
- }
81
-
82
- .csf-save{
83
- min-width: 72px;
84
- }
85
- }
86
-
87
- .csf-header-left{
88
- float: left;
89
- }
90
-
91
- .csf-header-right{
92
- float: right;
93
- }
94
-
95
- /**
96
- * 01. 04. Navigation
97
- */
98
- .csf-nav{
99
- display: block;
100
- position: relative;
101
- z-index: 10;
102
- float: left;
103
- width: 225px;
104
-
105
- ul{
106
- clear: left;
107
- margin: 0;
108
- list-style-type: none;
109
-
110
- li{
111
- margin-bottom: 0;
112
-
113
- a{
114
- font-size: 13px;
115
- position: relative;
116
- display: block;
117
- padding: 14px 12px;
118
- text-decoration: none;
119
- transition-property: color;
120
- transition-duration: 0.2s;
121
- transition-timing-function: ease;
122
-
123
- &:focus{
124
- outline: none;
125
- @include box-shadow(none);
126
- }
127
- }
128
-
129
- .csf-arrow:after{
130
- content: "\f054";
131
- display: inline-block;
132
- font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", "FontAwesome";
133
- font-weight: 900;
134
- font-size: 9px;
135
- line-height: 1;
136
- position: absolute;
137
- right: 10px;
138
- top: 50%;
139
- margin-top: -4px;
140
- @include transform(rotate(0));
141
- }
142
-
143
- &.csf-tab-expanded{
144
-
145
- .csf-arrow:after{
146
- @include transform( rotate(90deg) );
147
- }
148
-
149
- ul{
150
- display: block;
151
- }
152
- }
153
- }
154
-
155
- ul{
156
- display: none;
157
- position: relative;
158
-
159
- li{
160
-
161
- a{
162
- font-size: 12px;
163
- padding: 12px 14px 12px 24px;
164
- }
165
- }
166
- }
167
- }
168
-
169
- .csf-tab-icon{
170
- width: 20px;
171
- margin-right: 5px;
172
- font-size: 13px;
173
- text-align: center;
174
- }
175
-
176
- .csf-label-error{
177
- margin-left: 4px;
178
- vertical-align: top;
179
- }
180
- }
181
-
182
- .csf-nav-background{
183
- position: absolute;
184
- top: 0;
185
- left: 0;
186
- bottom: 0;
187
- z-index: 9;
188
- width: 225px;
189
- }
190
-
191
- /**
192
- * 01. 05. Wrapper
193
- */
194
- .csf-wrapper{
195
- position: relative;
196
- }
197
-
198
- /**
199
- * 01. 06. Content
200
- */
201
- .csf-content{
202
- position: relative;
203
- margin-left: 225px;
204
- background-color: #fff;
205
- @include transition(opacity 0.2s);
206
- }
207
-
208
- /**
209
- * 01. 07. Section
210
- */
211
- .csf-sections{
212
- float: left;
213
- width: 100%;
214
- }
215
-
216
- .csf-section{
217
- display: none;
218
- }
219
-
220
- .csf-section-title{
221
- display: none;
222
- padding: 20px 30px;
223
- background-color: #f5f5f5;
224
- border-top: 1px solid #eee;
225
- border-bottom: 1px solid #eee;
226
-
227
- h3{
228
- margin: 0;
229
- padding: 0 ;
230
- font-size: 13px;
231
- font-weight: bold;
232
- text-transform: uppercase;
233
- }
234
-
235
- .csf-section-icon{
236
- margin-right: 5px;
237
- }
238
- }
239
-
240
- /**
241
- * 01. 08. Footer
242
- */
243
- .csf-footer{
244
- padding: 20px;
245
- font-size: 11px;
246
- }
247
-
248
- /**
249
- * 01. 09. Copyright
250
- */
251
- .csf-copyright{
252
- float: left;
253
- margin-top: 5px;
254
- }
255
-
256
- /**
257
- * 01. 10. Show All Options
258
- */
259
- .csf-search-all,
260
- .csf-show-all{
261
- .csf-nav-background,
262
- .csf-nav{
263
- display: none;
264
- }
265
-
266
- .csf-content{
267
- margin-left: 0;
268
- }
269
-
270
- .csf-section-title,
271
- .csf-section{
272
- display: block !important;
273
- }
274
- }
275
-
276
- .csf-search-all{
277
- .csf-section-title{
278
- display: none !important;
279
- }
280
- }
281
-
282
- //
283
- // Expand
284
- //
285
- .csf-expand-all{
286
- float: left;
287
- padding: 0 8px;
288
- margin-right: 4px;
289
- z-index: 1;
290
- font-size: 13px;
291
- line-height: 30px;
292
- cursor: pointer;
293
- user-select: none;
294
- @include border-radius(2px);
295
- @include transition(all 0.2s);
296
-
297
- span{
298
- font-size: 11px;
299
- vertical-align: middle;
300
- }
301
- }
302
-
303
- /**
304
- * 01. 11. Search Input
305
- */
306
- .csf-search{
307
- float: left;
308
-
309
- input{
310
- margin: 0 2px 0 0;
311
- border: none;
312
- font-size: 12px;
313
- line-height: 30px;
314
- min-height: 30px;
315
- text-align: inherit;
316
- padding: 0 10px;
317
- @include border-radius(2px);
318
- @include box-shadow(none);
319
-
320
- &:focus{
321
- @include box-shadow(none);
322
- }
323
- }
324
- }
325
-
326
- .csf-saving{
327
-
328
- .csf-buttons,
329
- .csf-content{
330
- cursor: default;
331
- pointer-events: none;
332
- @include opacity(0.5);
333
- }
334
- }
335
-
336
- /**
337
- * 01. 12. Metabox
338
- */
339
- .csf-metabox{
340
- margin: -6px -12px -12px -12px;
341
-
342
- .csf-field{
343
- padding: 20px;
344
- }
345
-
346
- .csf-section-title{
347
- padding: 20px;
348
- }
349
- }
350
-
351
- .block-editor-page{
352
-
353
- .csf-metabox{
354
- margin: -6px -14px -14px -14px;
355
- }
356
- }
357
-
358
- .block-editor-editor-skeleton__content{
359
-
360
- .csf-metabox{
361
- border-left: 1px solid #e2e4e7;
362
- border-right: 1px solid #e2e4e7;
363
- }
364
- }
365
-
366
- .csf-sections-restore{
367
- float: left;
368
- width: 100%;
369
- position: relative;
370
- z-index: 1000000;
371
- text-align: right;
372
- border-top: 1px solid #eee;
373
-
374
- .csf-button-cancel,
375
- input{
376
- display: none;
377
- }
378
-
379
- label{
380
- padding: 10px;
381
- }
382
-
383
- span{
384
- -webkit-user-select: none;
385
- user-select: none;
386
- }
387
-
388
-
389
- input:checked ~ .csf-button-restore{
390
- display: none;
391
- }
392
-
393
- input:checked ~ .csf-button-cancel{
394
- display: inline-block;
395
- }
396
-
397
- }
398
-
399
- #side-sortables{
400
-
401
- .csf-section-title{
402
- padding: 12px;
403
- }
404
-
405
- .csf-field{
406
- padding: 10px 15px;
407
-
408
- .csf-title{
409
- float: none;
410
- width: 100%;
411
- margin-bottom: 6px;
412
- }
413
-
414
- .csf-fieldset{
415
- float: none;
416
- width: 100%;
417
- }
418
- }
419
-
420
- .csf-field-text input{
421
- width: 100%;
422
- }
423
-
424
- .csf-notice{
425
- padding: 10px 15px;
426
- }
427
- }
428
-
429
- /**
430
- * 01. 13. Comment Metabox
431
- */
432
- .csf-comment-metabox{
433
- margin: -6px -12px -12px -12px;
434
-
435
- .csf-field{
436
- padding: 20px;
437
- }
438
-
439
- .csf-section-title{
440
- padding: 20px;
441
- }
442
- }
443
-
444
-
445
- /**
446
- * 01. 14. Help Tooltip
447
- */
448
- .csf-tooltip{
449
- position: absolute;
450
- z-index: 5000001;
451
- font-size: 12px;
452
- line-height: 1.4;
453
- text-align: center;
454
- text-decoration: none;
455
- padding: 6px 12px;
456
- max-width: 200px;
457
- color: #fff;
458
- background-color: #000;
459
- background-color: rgba(black, 0.85);
460
- @include border-radius(4px);
461
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/settings/assets/scss/vendor/_chosen.scss DELETED
@@ -1,405 +0,0 @@
1
- /**
2
- * Chosen JS Styles
3
- */
4
- .chosen-container {
5
- position: relative;
6
- display: inline-block;
7
- vertical-align: middle;
8
- font-size: 13px;
9
- user-select: none;
10
- }
11
-
12
- .chosen-container * {
13
- box-sizing: border-box;
14
- }
15
-
16
- .chosen-container .chosen-drop {
17
- position: absolute;
18
- top: 100%;
19
- z-index: 1010;
20
- width: 100%;
21
- border: 1px solid #aaa;
22
- border-top: 0;
23
- background: #fff;
24
- box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15);
25
- clip: rect(0, 0, 0, 0);
26
- clip-path: inset(100% 100%);
27
- }
28
-
29
- .chosen-container.chosen-with-drop .chosen-drop {
30
- clip: auto;
31
- clip-path: none;
32
- }
33
-
34
- .chosen-container a {
35
- cursor: pointer;
36
- }
37
-
38
- .chosen-container .search-choice .group-name, .chosen-container .chosen-single .group-name {
39
- margin-right: 4px;
40
- overflow: hidden;
41
- white-space: nowrap;
42
- text-overflow: ellipsis;
43
- font-weight: normal;
44
- color: #999999;
45
- }
46
-
47
- .chosen-container .search-choice .group-name:after, .chosen-container .chosen-single .group-name:after {
48
- content: ":";
49
- padding-left: 2px;
50
- vertical-align: top;
51
- }
52
-
53
- .chosen-container-single .chosen-single {
54
- position: relative;
55
- display: block;
56
- overflow: hidden;
57
- padding: 0 0 0 8px;
58
- height: 25px;
59
- border: 1px solid #aaa;
60
- border-radius: 5px;
61
- background-color: #fff;
62
- background: linear-gradient(#fff 20%, #f6f6f6 50%, #eee 52%, #f4f4f4 100%);
63
- background-clip: padding-box;
64
- box-shadow: 0 0 3px #fff inset, 0 1px 1px rgba(0, 0, 0, 0.1);
65
- color: #444;
66
- text-decoration: none;
67
- white-space: nowrap;
68
- line-height: 24px;
69
- }
70
-
71
- .chosen-container-single .chosen-default {
72
- color: #999;
73
- }
74
-
75
- .chosen-container-single .chosen-single span {
76
- display: block;
77
- overflow: hidden;
78
- margin-right: 26px;
79
- text-overflow: ellipsis;
80
- white-space: nowrap;
81
- }
82
-
83
- .chosen-container-single .chosen-single-with-deselect span {
84
- margin-right: 38px;
85
- }
86
-
87
- .chosen-container-single .chosen-single abbr {
88
- position: absolute;
89
- top: 6px;
90
- right: 26px;
91
- display: block;
92
- width: 12px;
93
- height: 12px;
94
- font-size: 1px;
95
- }
96
-
97
- .chosen-container-single .chosen-single div {
98
- position: absolute;
99
- top: 0;
100
- right: 0;
101
- display: block;
102
- width: 18px;
103
- height: 100%;
104
- }
105
-
106
- .chosen-container-single .chosen-single div b {
107
- display: block;
108
- width: 100%;
109
- height: 100%;
110
- }
111
-
112
- .chosen-container-single .chosen-search {
113
- position: relative;
114
- z-index: 1010;
115
- margin: 0;
116
- padding: 3px 4px;
117
- white-space: nowrap;
118
- }
119
-
120
- .chosen-container-single .chosen-search input[type="text"] {
121
- margin: 1px 0;
122
- padding: 4px 20px 4px 5px;
123
- width: 100%;
124
- height: auto;
125
- outline: 0;
126
- border: 1px solid #aaa;
127
- font-size: 1em;
128
- font-family: sans-serif;
129
- line-height: normal;
130
- border-radius: 0;
131
- }
132
-
133
- .chosen-container-single .chosen-drop {
134
- margin-top: -1px;
135
- border-radius: 0 0 4px 4px;
136
- background-clip: padding-box;
137
- }
138
-
139
- .chosen-container-single.chosen-container-single-nosearch .chosen-search {
140
- position: absolute;
141
- clip: rect(0, 0, 0, 0);
142
- clip-path: inset(100% 100%);
143
- }
144
-
145
- .chosen-container .chosen-results {
146
- color: #444;
147
- position: relative;
148
- overflow-x: hidden;
149
- overflow-y: auto;
150
- margin: 0 4px 4px 0;
151
- padding: 0 0 0 4px;
152
- max-height: 240px;
153
- -webkit-overflow-scrolling: touch;
154
- }
155
-
156
- .chosen-container .chosen-results li {
157
- display: none;
158
- margin: 0;
159
- padding: 5px 6px;
160
- list-style: none;
161
- line-height: 15px;
162
- word-wrap: break-word;
163
- -webkit-touch-callout: none;
164
- }
165
-
166
- .chosen-container .chosen-results li.active-result {
167
- display: list-item;
168
- cursor: pointer;
169
- }
170
-
171
- .chosen-container .chosen-results li.disabled-result {
172
- display: list-item;
173
- color: #ccc;
174
- cursor: default;
175
- }
176
-
177
- .chosen-container .chosen-results li.highlighted {
178
- background-color: #3875d7;
179
- background-image: linear-gradient(#3875d7 20%, #2a62bc 90%);
180
- color: #fff;
181
- }
182
-
183
- .chosen-container .chosen-results li.no-results {
184
- color: #777;
185
- display: list-item;
186
- background: #f4f4f4;
187
- }
188
-
189
- .chosen-container .chosen-results li.group-result {
190
- display: list-item;
191
- font-weight: bold;
192
- cursor: default;
193
- }
194
-
195
- .chosen-container .chosen-results li.group-option {
196
- padding-left: 15px;
197
- }
198
-
199
- .chosen-container .chosen-results li em {
200
- font-style: normal;
201
- text-decoration: underline;
202
- }
203
-
204
- .chosen-container-multi .chosen-choices {
205
- position: relative;
206
- overflow: hidden;
207
- margin: 0;
208
- padding: 0 5px;
209
- width: 100%;
210
- height: auto;
211
- border: 1px solid #aaa;
212
- background-color: #fff;
213
- background-image: linear-gradient(#eee 1%, #fff 15%);
214
- cursor: text;
215
- }
216
-
217
- .chosen-container-multi .chosen-choices li {
218
- float: left;
219
- list-style: none;
220
- }
221
-
222
- .chosen-container-multi .chosen-choices li.search-field {
223
- margin: 0;
224
- padding: 0;
225
- white-space: nowrap;
226
- }
227
-
228
- .chosen-container-multi .chosen-choices li.search-field input[type="text"] {
229
- margin: 1px 0;
230
- padding: 0;
231
- outline: 0;
232
- border: 0 !important;
233
- background: transparent !important;
234
- box-shadow: none;
235
- color: #999;
236
- font-size: 100%;
237
- font-family: sans-serif;
238
- line-height: normal;
239
- border-radius: 0;
240
- width: 25px;
241
- height: 25px;
242
- min-height: 25px;
243
- }
244
-
245
- .chosen-container-multi .chosen-choices li.search-choice {
246
- position: relative;
247
- margin: 3px 5px 3px 0;
248
- padding: 3px 20px 3px 6px;
249
- border: 1px solid #aaa;
250
- max-width: 100%;
251
- border-radius: 3px;
252
- background-color: #eeeeee;
253
- background-image: linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);
254
- background-size: 100% 19px;
255
- background-repeat: repeat-x;
256
- background-clip: padding-box;
257
- box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05);
258
- color: #333;
259
- line-height: 13px;
260
- cursor: default;
261
- }
262
-
263
- .chosen-container-multi .chosen-choices li.search-choice span {
264
- word-wrap: break-word;
265
- white-space: nowrap;
266
- }
267
-
268
- .chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
269
- position: absolute;
270
- top: 0;
271
- right: 0;
272
- display: block;
273
- width: 12px;
274
- height: 12px;
275
- font-size: 1px;
276
- }
277
-
278
- .chosen-container-multi .chosen-choices li.search-choice-disabled {
279
- padding-right: 5px;
280
- border: 1px solid #ccc;
281
- background-color: #e4e4e4;
282
- background-image: linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);
283
- color: #666;
284
- }
285
-
286
- .chosen-container-multi .chosen-choices li.search-choice-focus {
287
- background: #d4d4d4;
288
- }
289
-
290
- .chosen-container-multi .chosen-results {
291
- margin: 0;
292
- padding: 0;
293
- }
294
-
295
- .chosen-container-multi .chosen-drop .result-selected {
296
- display: list-item;
297
- color: #ccc;
298
- cursor: default;
299
- }
300
-
301
- .chosen-container-active .chosen-single {
302
- border: 1px solid #5897fb;
303
- box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
304
- }
305
-
306
- .chosen-container-active.chosen-with-drop .chosen-single {
307
- border: 1px solid #aaa;
308
- border-bottom-right-radius: 0;
309
- border-bottom-left-radius: 0;
310
- background-image: linear-gradient(#eee 20%, #fff 80%);
311
- box-shadow: 0 1px 0 #fff inset;
312
- }
313
-
314
- .chosen-container-active.chosen-with-drop .chosen-single div {
315
- border-left: none;
316
- background: transparent;
317
- }
318
-
319
- .chosen-container-active .chosen-choices {
320
- border: 1px solid #5897fb;
321
- box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
322
- }
323
-
324
- .chosen-container-active .chosen-choices li.search-field input[type="text"] {
325
- color: #222 !important;
326
- }
327
-
328
- .chosen-disabled {
329
- opacity: 0.5 !important;
330
- cursor: default;
331
- }
332
-
333
- .chosen-disabled .chosen-single {
334
- cursor: default;
335
- }
336
-
337
- .chosen-disabled .chosen-choices .search-choice .search-choice-close {
338
- cursor: default;
339
- }
340
-
341
- .chosen-rtl {
342
- text-align: right;
343
- }
344
-
345
- .chosen-rtl .chosen-single {
346
- overflow: visible;
347
- padding: 0 8px 0 0;
348
- }
349
-
350
- .chosen-rtl .chosen-single span {
351
- margin-right: 0;
352
- margin-left: 26px;
353
- direction: rtl;
354
- }
355
-
356
- .chosen-rtl .chosen-single-with-deselect span {
357
- margin-left: 38px;
358
- }
359
-
360
- .chosen-rtl .chosen-single div {
361
- right: auto;
362
- left: 3px;
363
- }
364
-
365
- .chosen-rtl .chosen-single abbr {
366
- right: auto;
367
- left: 26px;
368
- }
369
-
370
- .chosen-rtl .chosen-choices li {
371
- float: right;
372
- }
373
-
374
- .chosen-rtl .chosen-choices li.search-field input[type="text"] {
375
- direction: rtl;
376
- }
377
-
378
- .chosen-rtl .chosen-choices li.search-choice {
379
- margin: 3px 5px 3px 0;
380
- padding: 3px 5px 3px 19px;
381
- }
382
-
383
- .chosen-rtl .chosen-choices li.search-choice .search-choice-close {
384
- right: auto;
385
- left: 4px;
386
- }
387
-
388
- .chosen-rtl.chosen-container-single .chosen-results {
389
- margin: 0 0 4px 4px;
390
- padding: 0 4px 0 0;
391
- }
392
-
393
- .chosen-rtl .chosen-results li.group-option {
394
- padding-right: 15px;
395
- padding-left: 0;
396
- }
397
-
398
- .chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div {
399
- border-right: none;
400
- }
401
-
402
- .chosen-rtl .chosen-search input[type="text"] {
403
- padding: 4px 5px 4px 20px;
404
- direction: rtl;
405
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/settings/assets/scss/vendor/_customizer.scss DELETED
@@ -1,179 +0,0 @@
1
- /**
2
- * 05. Widget
3
- */
4
- .control-section{
5
-
6
- .csf-field{
7
- padding: 0;
8
-
9
- .csf-title{
10
- float: none;
11
- width: 100%;
12
- margin-bottom: 6px;
13
-
14
- h4{
15
- display: block;
16
- font-size: 13px;
17
- line-height: 1;
18
- font-weight: 600;
19
- color: inherit;
20
- }
21
- }
22
-
23
- .csf-fieldset{
24
- float: none;
25
- width: 100%;
26
- }
27
- }
28
-
29
- .csf-help{
30
- top: -5px;
31
- right: -5px;
32
- }
33
-
34
- .csf-field-select select{
35
- width: 100%;
36
- }
37
-
38
- .csf-field-heading{
39
- color: inherit;
40
- font-size: 14px;
41
- line-height: 1em;
42
- margin-right: -15px;
43
- margin-left: -15px;
44
- padding: 15px;
45
- }
46
-
47
- .csf-field-subheading{
48
- color: inherit;
49
- font-size: 11px;
50
- margin-right: -15px;
51
- margin-left: -15px;
52
- padding: 10px 15px;
53
- }
54
-
55
- .csf-subtitle-text{
56
- margin-top: 4px;
57
- font-size: 12px;
58
- }
59
-
60
- .csf-field-submessage .csf-submessage{
61
- margin-right: -15px;
62
- margin-left: -15px;
63
- padding: 15px;
64
- }
65
-
66
- .csf-fieldset{
67
-
68
- .csf-field-submessage .csf-submessage,
69
- .csf-field-heading,
70
- .csf-field-subheading{
71
- margin-left: 0;
72
- margin-right: 0;
73
- }
74
- }
75
-
76
- .csf-field-date{
77
-
78
- .csf--to{
79
- margin-left: 0;
80
- }
81
- }
82
-
83
- .csf-field-sorter{
84
-
85
- ul li{
86
- padding: 5px;
87
- }
88
-
89
- .csf-modules{
90
- float: none;
91
- width: 100%;
92
- }
93
-
94
- .csf-modules:first-child{
95
- padding-right: 0;
96
- padding-bottom: 15px;
97
- }
98
- }
99
-
100
- .csf-field-background{
101
-
102
- .csf--background-attributes{
103
- flex-direction: column;
104
- }
105
- }
106
-
107
- .csf-field-spacing{
108
- input{
109
- width: 90px;
110
- }
111
- }
112
-
113
- .csf-field-border{
114
-
115
- .csf--input{
116
- flex: 1 50%;
117
- }
118
-
119
- input,
120
- select{
121
- width: 100%;
122
- }
123
- }
124
-
125
- .csf-field-spinner{
126
- input{
127
- width: 50px;
128
- }
129
- }
130
-
131
- .csf-field-number{
132
-
133
- .csf--wrap{
134
- width: 100%;
135
- }
136
- }
137
-
138
- .csf-field-backup{
139
-
140
- .csf-export-data{
141
- display: none;
142
- }
143
- }
144
-
145
- .csf-field-fieldset{
146
-
147
- .csf-fieldset-content{
148
- border-color: #e5e5e5;
149
- }
150
- }
151
-
152
- .csf-tabbed-content,
153
- .csf-sortable-content,
154
- .csf-repeater-content,
155
- .csf-fieldset-content,
156
- .csf-cloneable-content,
157
- .csf-accordion-content{
158
-
159
- > .csf-field{
160
- padding: 10px;
161
-
162
- .csf-title{
163
- margin-bottom: 5px;
164
- }
165
-
166
- h4{
167
- font-size: 12px;
168
- }
169
- }
170
- }
171
-
172
- .csf-depend-hidden.csf-depend-on{
173
- display: none !important;
174
- }
175
-
176
- .csf-depend-visible.csf-depend-on{
177
- border-top: 0 !important;
178
- }
179
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/settings/assets/scss/vendor/_fields.scss DELETED
@@ -1,2237 +0,0 @@
1
- /**
2
- * 03. Fields
3
- */
4
- .csf-field{
5
- position: relative;
6
- padding: 30px;
7
-
8
- + .csf-field{
9
- border-top: 1px solid #eee;
10
- }
11
-
12
- p:first-child{
13
- margin-top: 0;
14
- }
15
-
16
- p:last-child{
17
- margin-bottom: 0;
18
- }
19
-
20
- &:after,
21
- &:before{
22
- content: " ";
23
- display: table;
24
- }
25
-
26
- &:after{
27
- clear: both;
28
- }
29
-
30
- h4{
31
- margin-top: 0;
32
- }
33
-
34
- .csf-title{
35
- position: relative;
36
- width: 20%;
37
- float: left;
38
-
39
- h4{
40
- margin: 0;
41
- color: #23282d;
42
- }
43
- }
44
-
45
- .csf-fieldset{
46
- float: right;
47
- width: calc(80% - 20px);
48
- }
49
- }
50
-
51
- .csf-pseudo-field{
52
- padding: 0 5px 0 0 !important;
53
- display: inline-block;
54
-
55
- + .csf-pseudo-field{
56
- border: 0;
57
- }
58
-
59
- pre{
60
- display: none;
61
- }
62
- }
63
-
64
- /**
65
- * 03. 02. Field: accordion
66
- */
67
- .csf-field-accordion{
68
-
69
- .csf-accordion-item{
70
- position: relative;
71
- margin-bottom: 5px;
72
-
73
- &:last-child{
74
- margin-bottom: 0;
75
- }
76
-
77
- h4{
78
- font-size: 1em;
79
- }
80
- }
81
-
82
- .csf-accordion-title{
83
- display: block;
84
- cursor: pointer;
85
- position: relative;
86
- margin: 0;
87
- padding: 15px;
88
- min-height: 0;
89
- font-size: 100%;
90
- user-select: none;
91
- border: 1px solid #ccd0d4;
92
- background-color: #fafafa;
93
- box-shadow: 0 1px 1px rgba(0,0,0,.04);
94
- transition: border-color .15s;
95
-
96
- &:active,
97
- &:hover,
98
- &:focus{
99
- outline: none;
100
- border-color: #999;
101
- }
102
-
103
- .csf--icon{
104
- width: 20px;
105
- text-align: center;
106
- margin-right: 2px;
107
- }
108
- }
109
-
110
- .csf-accordion-icon{
111
- width: 16px;
112
- text-align: center;
113
- }
114
-
115
- .csf-accordion-content{
116
- display: none;
117
- padding: 0;
118
- border: 1px solid #ccd0d4;
119
- border-top: none;
120
- background-color: #fff;
121
- box-shadow: 0 1px 1px rgba(0,0,0,.04);
122
-
123
- > .csf-field{
124
- padding: 15px;
125
- }
126
- }
127
-
128
- .csf-accordion-open{
129
- display: block;
130
- }
131
- }
132
-
133
- /**
134
- * 03. 03. Field: background
135
- */
136
- .csf-field-background{
137
-
138
- .csf-field{
139
- border: 0 !important;
140
- padding: 0;
141
- margin-bottom: 6px;
142
- margin-right: 6px;
143
- }
144
-
145
- .csf--title{
146
- color: #777;
147
- font-size: 12px;
148
- }
149
-
150
- .csf--background-colors{
151
- display: flex;
152
- flex-wrap: wrap;
153
- }
154
-
155
- .csf--background-attributes{
156
- display: flex;
157
- flex-wrap: wrap;
158
-
159
- select{
160
- min-width: 100%;
161
- margin: 0;
162
- }
163
-
164
- .csf-field{
165
- flex: 1;
166
- }
167
- }
168
-
169
- .csf--attributes-hidden{
170
- display: none;
171
- }
172
- }
173
-
174
- /**
175
- * 03. 04. Field: backup
176
- */
177
- .csf-field-backup{
178
-
179
- textarea{
180
- width: 100%;
181
- min-height: 200px;
182
- margin-bottom: 5px;
183
- }
184
-
185
- small{
186
- display: inline-block;
187
- margin: 5px;
188
- }
189
-
190
- hr{
191
- margin: 20px 0;
192
- border: none;
193
- border-bottom: 1px solid #e5e5e5;
194
- }
195
- }
196
-
197
- /**
198
- * 03. 05. Field: border, spacing, dimensions
199
- */
200
- .csf-field-border,
201
- .csf-field-spacing,
202
- .csf-field-dimensions{
203
-
204
- .csf--inputs{
205
- float: left;
206
- display: flex;
207
- flex-wrap: wrap;
208
- }
209
-
210
- .csf--input{
211
- display: flex;
212
- padding-right: 6px;
213
- padding-bottom: 4px;
214
- box-sizing: border-box;
215
-
216
- select{
217
- margin: 0;
218
- }
219
-
220
- input{
221
- position: relative;
222
- z-index: 1;
223
- margin: 0;
224
- width: 65px;
225
- max-width: 100%;
226
- text-align: center;
227
- }
228
- }
229
-
230
- .csf--color{
231
- float: left;
232
- }
233
-
234
- .csf--label{
235
- display: flex;
236
- flex-direction: column;
237
- justify-content: center;
238
- user-select: none;
239
- min-width: 20px;
240
- max-width: 100%;
241
- padding: 0 4px;
242
- font-size: 12px;
243
- text-align: center;
244
- color: #555;
245
- border: 1px solid #7B776C;
246
- background-color: #f5f5f5;
247
- }
248
-
249
- .csf--icon{
250
- border-right: 0;
251
- border-radius: 4px 0 0 4px;
252
- }
253
-
254
- .csf--icon + input{
255
- border-top-left-radius: 0;
256
- border-bottom-left-radius: 0;
257
- }
258
-
259
- .csf--unit{
260
- border-left: 0;
261
- border-radius: 0 4px 4px 0;
262
- }
263
-
264
- .csf--is-unit{
265
- border-top-right-radius: 0;
266
- border-bottom-right-radius: 0;
267
- }
268
- }
269
-
270
- /**
271
- * 03. 06. Field: button_set
272
- */
273
- .csf-field-button_set{
274
-
275
- .csf--buttons{
276
- display: inline-block;
277
- }
278
-
279
- .csf--button{
280
- position: relative;
281
- z-index: 1;
282
- float: left;
283
- cursor: pointer;
284
- padding: 7px 14px;
285
- min-width: 40px;
286
- text-align: center;
287
- color: #555;
288
- border: 1px solid #cccccc;
289
- background-color: #f7f7f7;
290
- user-select: none;
291
- -webkit-user-select: none;
292
- box-shadow: 0 1px 0 rgba(0,0,0,0.1);
293
-
294
- &:first-child{
295
- border-radius: 4px 0 0 4px;
296
- }
297
-
298
- &:last-child{
299
- border-radius: 0 4px 4px 0;
300
- }
301
-
302
- &:not(:first-child){
303
- margin-left: -1px;
304
- }
305
-
306
- &:hover{
307
- background-color: #eee;
308
- }
309
- }
310
-
311
- .csf--active:hover,
312
- .csf--active{
313
- z-index: 2;
314
- color: #fff;
315
- border-color: #006799;
316
- background-color: #0085ba;
317
- }
318
-
319
- input{
320
- display: none;
321
- }
322
- }
323
-
324
- /**
325
- * 03. 07. Field: checkbox, radio
326
- */
327
- .csf-field-checkbox,
328
- .csf-field-radio{
329
-
330
- ul{
331
- margin: 0;
332
- padding: 0;
333
- list-style-type: none;
334
- overflow-y: auto;
335
- max-height: 305px;
336
-
337
- li{
338
- margin-bottom: 6px;
339
- }
340
-
341
- ul{
342
- max-height: none;
343
-
344
- li{
345
- margin-left: 8px;
346
-
347
- &:first-child{
348
- margin-left: 0;
349
- }
350
- }
351
- }
352
- }
353
-
354
- input{
355
- margin: 0 1px;
356
- }
357
-
358
- .csf--inline-list li{
359
- display: inline-block;
360
- margin-right: 15px;
361
- }
362
-
363
- .csf--text{
364
- margin-left: 5px;
365
- vertical-align: middle;
366
- }
367
-
368
- .csf-checker{
369
- cursor: pointer;
370
- }
371
- }
372
-
373
- /**
374
- * 03. 08. Field: code_editor
375
- */
376
- .csf-field-code_editor{
377
-
378
- .CodeMirror{
379
- width: 100%;
380
- height: 400px;
381
- }
382
-
383
- .cm-s-default{
384
- border: 1px solid #ccd0d4;
385
- }
386
-
387
- textarea{
388
- width: 100%;
389
- height: 400px;
390
- }
391
- }
392
-
393
- /**
394
- * 03. 09. Field: color
395
- */
396
- .csf-field-color{
397
-
398
- > input{
399
- opacity: 0.75;
400
- width: 115px;
401
- max-width: 100%;
402
- }
403
-
404
- .button.wp-picker-clear{
405
- padding: 0 8px;
406
- margin-left: 6px;
407
- line-height: 2.54545455;
408
- min-height: 30px;
409
- }
410
- }
411
-
412
- /**
413
- * 03. 10. Field: color_group
414
- */
415
- .csf-field-color_group{
416
-
417
- .csf--left{
418
- float: left;
419
- margin-right: 10px;
420
- margin-bottom: 5px;
421
- }
422
-
423
- .csf--title{
424
- color: #999;
425
- margin-bottom: 5px;
426
- }
427
- }
428
-
429
- /**
430
- * 03. 11. Field: fieldset
431
- */
432
- .csf-field-fieldset{
433
-
434
- .csf-fieldset-content{
435
- border: 1px solid #ccd0d4;
436
- background-color: #fff;
437
- box-shadow: 0 1px 1px rgba(0,0,0,.04);
438
-
439
- > .csf-field{
440
- padding: 15px;
441
- }
442
- }
443
-
444
- .csf-field-subheading{
445
- font-size: 13px;
446
- }
447
- }
448
-
449
- /**
450
- * 03. 12. Field: date
451
- */
452
- .csf-field-date{
453
-
454
- input{
455
- margin: 0;
456
- }
457
-
458
- .csf--to{
459
- margin-left: 7px;
460
- }
461
- }
462
-
463
- .csf-datepicker-wrapper{
464
- margin-top: 5px;
465
- width: auto;
466
- background-color: #fff;
467
- z-index: 9999999 !important;
468
- @include box-shadow(0 0 30px rgba(black, 0.15));
469
-
470
- *{
471
- float: none;
472
- margin: 0;
473
- padding: 0;
474
- font-family: inherit;
475
- font-weight: normal;
476
- font-style: normal;
477
- text-decoration: none;
478
- border: 0;
479
- border-radius: 0;
480
- box-shadow: none;
481
- }
482
-
483
- .ui-widget-header,
484
- .ui-datepicker-header{
485
- color: #fff;
486
- background: #00a0d2;
487
- }
488
-
489
- .ui-datepicker-header .ui-state-hover{
490
- cursor: pointer;
491
- }
492
-
493
- .ui-datepicker-title{
494
- font-size: 14px;
495
- line-height: 40px;
496
- text-align: center;
497
- }
498
-
499
- .ui-datepicker-prev,
500
- .ui-datepicker-next{
501
- position: static;
502
- top: auto;
503
- left: auto;
504
- right: auto;
505
- font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", "FontAwesome";
506
- font-weight: 900;
507
- font-size: 12px;
508
- text-align: center;
509
- width: 41px;
510
- height: 40px;
511
- line-height: 40px;
512
- color: #fff;
513
- background-color: rgba(white, 0.1);
514
- text-rendering: auto;
515
- -webkit-font-smoothing: antialiased;
516
- -moz-osx-font-smoothing: grayscale;
517
- }
518
-
519
- .ui-datepicker-next span,
520
- .ui-datepicker-prev span{
521
- display: none;
522
- }
523
-
524
- .ui-datepicker-prev{
525
- float: left;
526
- }
527
-
528
- .ui-datepicker-next{
529
- float: right;
530
- }
531
-
532
- .ui-datepicker-prev:before{
533
- content: '\f053';
534
- }
535
-
536
- .ui-datepicker-next:before{
537
- content: '\f054';
538
- }
539
-
540
- .ui-datepicker-prev-hover,
541
- .ui-datepicker-next-hover{
542
- opacity: 0.75;
543
- }
544
-
545
- tbody .ui-datepicker-week-col{
546
- background-color: #f7f7f7;
547
- }
548
-
549
- .ui-datepicker-buttonpane{
550
- padding: 10px;
551
- text-align: center;
552
- background-color: #f7f7f7;
553
- }
554
-
555
- .ui-datepicker-buttonpane button{
556
- cursor: pointer;
557
- margin: 0 5px;
558
- padding: 7px 14px;
559
- border: 1px solid #eee;
560
- background-color: #fff;
561
- }
562
-
563
- select{
564
- margin: 0 4px;
565
- }
566
-
567
- select option{
568
- color: #555;
569
- }
570
-
571
- table{
572
- font-size: 13px;
573
- border-collapse: collapse;
574
- width: 100%;
575
- }
576
-
577
- thead{
578
- color: #fff;
579
- background: #32373c;
580
- }
581
-
582
- th{
583
- text-align: center;
584
- padding: 7px;
585
- border: 1px solid #444;
586
- }
587
-
588
- td{
589
- text-align: center;
590
- border: 1px solid #f4f4f4;
591
- }
592
-
593
- td.ui-datepicker-other-month{
594
- border: transparent;
595
- }
596
-
597
- td .ui-state-default{
598
- color: #555;
599
- width: auto;
600
- display: block;
601
- padding: 6px 12px;
602
- }
603
-
604
- td .ui-state-active,
605
- td .ui-state-hover{
606
- color: #fff;
607
- background-color: #0073aa;
608
- }
609
-
610
- td.ui-state-disabled .ui-state-default{
611
- opacity: 0.5;
612
- }
613
- }
614
-
615
- /**
616
- * 03. 13. Field: gallery
617
- */
618
- .csf-field-gallery{
619
-
620
- input{
621
- display: none;
622
- }
623
-
624
- ul{
625
- margin: 0;
626
- padding: 0;
627
- list-style-type: none;
628
-
629
- li{
630
- display: inline-block;
631
- position: relative;
632
- padding: 4px;
633
- margin: 0 5px 10px 0;
634
- border: 1px solid #ccc;
635
- background-color: #f9f9f9;
636
- @include border-radius(2px);
637
- @include box-shadow(0 1px 0 rgba(black, 0.08));
638
-
639
- img{
640
- max-height: 60px;
641
- display: inline-block;
642
- vertical-align: middle;
643
- }
644
- }
645
- }
646
-
647
- .button{
648
- margin-right: 5px;
649
- margin-bottom: 5px;
650
- }
651
- }
652
-
653
- /**
654
- * 03. 14. Field: group
655
- */
656
- .csf-field-group{
657
-
658
- .csf-cloneable-hidden{
659
- display: none !important;
660
- }
661
-
662
- .csf-cloneable-wrapper{
663
- position: relative;
664
- }
665
-
666
- .csf-cloneable-item{
667
- display: none;
668
- position: relative;
669
- margin-bottom: 5px;
670
-
671
- h4{
672
- font-size: 1em;
673
- }
674
- }
675
-
676
- .ui-accordion .csf-cloneable-item{
677
- display: block;
678
- }
679
-
680
- .csf-cloneable-content{
681
- border: 1px solid #ccd0d4;
682
- background-color: #fff;
683
- box-shadow: 0 1px 1px rgba(0,0,0,.04);
684
-
685
- > .csf-field{
686
- padding: 15px;
687
- }
688
- }
689
-
690
- .csf-cloneable-title{
691
- display: block;
692
- cursor: pointer;
693
- position: relative;
694
- user-select: none;
695
- margin: 0;
696
- padding: 15px 65px 15px 10px;
697
- min-height: 0;
698
- font-size: 100%;
699
- border: 1px solid #ccd0d4;
700
- background-color: #fafafa;
701
- box-shadow: 0 1px 1px rgba(0,0,0,.04);
702
- transition: border-color .15s;
703
-
704
- &:active,
705
- &:hover,
706
- &:focus{
707
- border-color: #999;
708
- outline: none;
709
- }
710
- }
711
-
712
- .csf-cloneable-helper{
713
- position: absolute;
714
- top: 12px;
715
- right: 10px;
716
- z-index: 1;
717
- font-size: 14px;
718
- line-height: 1em;
719
-
720
- i{
721
- display: inline-block;
722
- cursor: pointer;
723
- padding: 5px;
724
- color: #999;
725
-
726
- &:hover{
727
- color: #555;
728
- }
729
- }
730
- }
731
-
732
- .csf-cloneable-content{
733
- padding: 0;
734
- border-top: 0;
735
- }
736
-
737
- .csf-cloneable-title-prefix,
738
- .csf-cloneable-title-number{
739
- margin-right: 5px;
740
- }
741
-
742
- .csf-cloneable-alert{
743
- display: none;
744
- margin-bottom: 5px;
745
- padding: 10px 20px;
746
- color: #a94442;
747
- border: 1px solid #ebccd1;
748
- background-color: #f2dede;
749
- }
750
-
751
- .widget-placeholder{
752
- margin-bottom: 10px;
753
- border: 1px dashed #f1c40f;
754
- background-color: #fffae4;
755
- }
756
-
757
- .csf-cloneable-header-icon{
758
- display: inline-block;
759
- text-align: center;
760
- font-size: 14px;
761
- width: 17px;
762
- text-indent: 0;
763
- vertical-align: text-top;
764
- }
765
-
766
- .csf-cloneable-placeholder{
767
- background-color: #ddd;
768
- margin-top: 4px;
769
- width: 100px;
770
- height: 10px;
771
- font-size: 10px;
772
- line-height: 10px;
773
- display: inline-block;
774
- vertical-align: top;
775
- border-radius: 2px;
776
- }
777
- }
778
-
779
- /**
780
- * 03. 15. Field: icon
781
- */
782
- .csf-field-icon{
783
-
784
- input{
785
- display: none;
786
- }
787
-
788
- .button{
789
- margin-right: 5px;
790
- }
791
-
792
- .csf-icon-preview{
793
-
794
- i{
795
- display: inline-block;
796
- font-size: 16px;
797
- width: 30px;
798
- height: 28px;
799
- line-height: 28px;
800
- margin-right: 5px;
801
- text-align: center;
802
- vertical-align: top;
803
- color: #555;
804
- border: 1px solid #ccc;
805
- background-color: #f7f7f7;
806
- @include border-radius(3px);
807
- @include box-shadow(0 1px 0 rgba(black, 0.08));
808
- @include box-sizing(content-box);
809
- }
810
- }
811
- }
812
-
813
- /**
814
- * 03. 16. Field: image_select
815
- */
816
- .csf-field-image_select{
817
-
818
- .csf--image{
819
- cursor: pointer;
820
- position: relative;
821
- display: inline-block;
822
- max-width: 100%;
823
- margin: 0 5px 5px 0;
824
- vertical-align: bottom;
825
- border: 2px solid transparent;
826
- background-color: #fff;
827
- user-select: none;
828
- -webkit-user-select: none;
829
- @include transition(all 0.2s);
830
-
831
- &:before{
832
- position: absolute;
833
- top: 0;
834
- left: 0;
835
- text-align: center;
836
- font-size: 10px;
837
- font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", "FontAwesome";
838
- font-weight: 900;
839
- content: "\f00c";
840
- width: 16px;
841
- height: 16px;
842
- line-height: 14px;
843
- opacity: 0;
844
- color: #fff;
845
- background-color: #222;
846
- transition: opacity .2s;
847
- }
848
- }
849
-
850
- .csf--active{
851
- border-color: #222;
852
- box-shadow: 0 0 20px rgba(0,0,0,0.2);
853
-
854
- &:before{
855
- opacity: 1;
856
- }
857
- }
858
-
859
- img{
860
- vertical-align: top;
861
- }
862
-
863
- input{
864
- display: none;
865
- }
866
- }
867
-
868
- /**
869
- * 03. 17. Field: link_color
870
- */
871
- .csf-field-link_color{
872
-
873
- .csf--left{
874
- float: left;
875
- margin-right: 10px;
876
- margin-bottom: 5px;
877
- }
878
-
879
- .csf--title{
880
- color: #777;
881
- margin-bottom: 5px;
882
- }
883
- }
884
-
885
- /**
886
- * 03. 18. Field: map
887
- */
888
- .csf-field-map{
889
-
890
- input{
891
- width: 100%;
892
- }
893
-
894
- input[type="text"].ui-autocomplete-loading{
895
- background-position-x: calc(100% - 5px);
896
- }
897
-
898
- .csf--map-search + .csf--map-osm-wrap{
899
- margin-top: 10px;
900
- }
901
-
902
- .csf--map-osm-wrap{
903
- position: relative;
904
- padding: 5px;
905
- border: 1px solid #eee;
906
- background-color: #fff;
907
- box-shadow: 0 1px 1px rgba(0,0,0,.04);
908
- }
909
-
910
- .csf--map-osm{
911
- position: relative;
912
- z-index: 1;
913
- min-height: 250px;
914
- }
915
-
916
- .csf--map-inputs{
917
- margin-top: 10px;
918
- display: flex;
919
- justify-content: space-between;
920
- }
921
-
922
- .csf--map-input{
923
- flex: 1;
924
-
925
- &:last-child{
926
- padding-left: 10px;
927
- }
928
- }
929
-
930
- label{
931
- display: block;
932
- color: #777;
933
- font-size: 12px;
934
- margin: 0 0 2px 0;
935
- }
936
- }
937
-
938
- .csf-map-ui-autocomplate{
939
- z-index: 999999;
940
- border-radius: 4px;
941
- overflow: hidden;
942
- }
943
-
944
-
945
- /**
946
- * 03. 19. Field: media
947
- */
948
- .csf-field-media{
949
-
950
- .csf--placeholder{
951
- display: flex;
952
- align-items: flex-start;
953
-
954
- input{
955
- width: 100%;
956
- margin: 0;
957
- }
958
- }
959
-
960
- .button{
961
- margin-left: 5px;
962
- }
963
-
964
- .hidden + .button{
965
- margin-left: 0;
966
- }
967
-
968
- .csf--preview{
969
- position: relative;
970
-
971
- .fa-times{
972
- position: absolute;
973
- z-index: 1;
974
- right: 4px;
975
- top: 4px;
976
- font-size: 14px;
977
- width: 22px;
978
- height: 22px;
979
- line-height: 22px;
980
- text-align: center;
981
- text-decoration: none;
982
- color: #fff;
983
- background-color: #dd3333;
984
- opacity: 0.8;
985
- transition: all .2s;
986
-
987
- &:hover{
988
- opacity: 1;
989
- }
990
-
991
- &:focus{
992
- box-shadow: none;
993
- }
994
- }
995
- }
996
- }
997
-
998
- /**
999
- * 03. 20. Field: palette
1000
- */
1001
- .csf-field-palette{
1002
-
1003
- .csf--palette{
1004
- position: relative;
1005
- display: inline-block;
1006
- cursor: pointer;
1007
- border: 2px solid #ddd;
1008
- margin-right: 10px;
1009
- margin-bottom: 10px;
1010
- user-select: none;
1011
- -webkit-user-select: none;
1012
- transition: all .2s;
1013
-
1014
- span{
1015
- vertical-align: middle;
1016
- display: inline-block;
1017
- width: 22px;
1018
- height: 60px;
1019
- line-height: 60px;
1020
- overflow: hidden;
1021
- text-indent: -999px;
1022
- }
1023
-
1024
- &:before{
1025
- position: absolute;
1026
- top: 0;
1027
- left: 0;
1028
- text-align: center;
1029
- font-size: 10px;
1030
- font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", "FontAwesome";
1031
- font-weight: 900;
1032
- content: "\f00c";
1033
- width: 16px;
1034
- height: 16px;
1035
- line-height: 14px;
1036
- opacity: 0;
1037
- color: #fff;
1038
- background-color: #222;
1039
- transition: opacity .2s;
1040
- }
1041
- }
1042
-
1043
- .csf--active{
1044
- border-color: #222;
1045
- box-shadow: 0 0 20px rgba(0,0,0,0.2);
1046
-
1047
- &:before{
1048
- opacity: 1;
1049
- }
1050
- }
1051
-
1052
- input{
1053
- display: none;
1054
- }
1055
- }
1056
-
1057
- /**
1058
- * 03. 21. Field: repeater
1059
- */
1060
- .csf-field-repeater{
1061
-
1062
- .csf-field-text input{
1063
- width: 100%;
1064
- }
1065
-
1066
- .csf-repeater-hidden{
1067
- display: none !important;
1068
- }
1069
-
1070
- .csf-repeater-wrapper{
1071
-
1072
- .csf-repeater-item{
1073
- display: table;
1074
- width: 100%;
1075
- margin-bottom: 5px;
1076
- border: 1px solid #eee;
1077
-
1078
- h4{
1079
- font-size: 1em;
1080
- }
1081
- }
1082
- }
1083
-
1084
- .csf-repeater-content{
1085
- width: 100%;
1086
- display: table-cell;
1087
- vertical-align: middle;
1088
- background-color: #fff;
1089
-
1090
- > .csf-field{
1091
- padding: 15px;
1092
- }
1093
- }
1094
-
1095
- .csf-repeater-helper{
1096
- width: 100%;
1097
- display: table-cell;
1098
- vertical-align: middle;
1099
- text-align: center;
1100
- font-size: 14px;
1101
- line-height: 1em;
1102
- border-left: 1px solid #eee;
1103
- background-color: #f7f7f7;
1104
-
1105
- i{
1106
- display: inline-block;
1107
- cursor: pointer;
1108
- color: #999;
1109
- padding: 5px;
1110
-
1111
- &:hover{
1112
- color: #555;
1113
- }
1114
- }
1115
- }
1116
-
1117
- .csf-repeater-helper-inner{
1118
- width: 75px;
1119
- }
1120
-
1121
- .csf-repeater-alert{
1122
- display: none;
1123
- margin-bottom: 5px;
1124
- padding: 10px 20px;
1125
- color: #a94442;
1126
- border: 1px solid #ebccd1;
1127
- background-color: #f2dede;
1128
- }
1129
-
1130
- .widget-placeholder{
1131
- height: 50px;
1132
- margin-bottom: 3px;
1133
- border: 1px dashed #f1c40f;
1134
- background-color: #fffae4;
1135
- }
1136
-
1137
- .ui-sortable-helper{
1138
- height: 50px !important;
1139
- overflow: hidden !important;
1140
- border-color: #ccc !important;
1141
- background-color: #eee !important;
1142
- @include opacity(0.5);
1143
-
1144
- .csf-repeater-helper,
1145
- .csf-repeater-content{
1146
- display: none;
1147
- }
1148
- }
1149
- }
1150
-
1151
- /**
1152
- * 03. 22. Field: select
1153
- */
1154
- .csf-field-select{
1155
-
1156
- .csf-fieldset{
1157
- min-height: 30px;
1158
- }
1159
-
1160
- .csf-chosen{
1161
- display: none;
1162
- }
1163
-
1164
- select{
1165
- max-width: 100%;
1166
- margin: 0;
1167
- }
1168
- }
1169
-
1170
- /**
1171
- * 03. 23. Field: slider
1172
- */
1173
- .csf-field-slider{
1174
-
1175
- .csf--wrap{
1176
- display: flex;
1177
- align-items: center;
1178
- }
1179
-
1180
- .csf--input{
1181
- display: flex;
1182
- }
1183
-
1184
- .csf--unit{
1185
- display: flex;
1186
- justify-content: center;
1187
- flex-direction: column;
1188
- user-select: none;
1189
- padding: 0 6px;
1190
- font-size: 11px;
1191
- line-height: 1;
1192
- border-radius: 0 4px 4px 0;
1193
- color: #555;
1194
- border: 1px solid #7e8993;
1195
- border-left: 0;
1196
- background-color: #f5f5f5;
1197
- }
1198
-
1199
- .csf-slider-ui{
1200
- margin-right: 15px;
1201
- }
1202
-
1203
- input[type=number]{
1204
- position: relative;
1205
- z-index: 1;
1206
- margin: 0;
1207
- width: 50px;
1208
- text-align: center;
1209
- }
1210
-
1211
- .csf--is-unit{
1212
- border-top-right-radius: 0;
1213
- border-bottom-right-radius: 0;
1214
- }
1215
-
1216
- .ui-slider{
1217
- position: relative;
1218
- width: 100%;
1219
- height: 3px;
1220
- border: none;
1221
- background: #ddd;
1222
- border-radius: 2px;
1223
- }
1224
-
1225
- .ui-slider-range{
1226
- height: 3px;
1227
- border: none;
1228
- background: #333;
1229
- border-radius: 2px;
1230
- }
1231
-
1232
- .ui-slider-handle{
1233
- position: absolute;
1234
- width: 16px;
1235
- height: 16px;
1236
- top: -7px;
1237
- margin-left: -8px;
1238
- border: none;
1239
- background: #333;
1240
- border-radius: 2px;
1241
- }
1242
-
1243
- .ui-state-active,
1244
- .ui-slider-handle:hover{
1245
- cursor: pointer;
1246
- background: #111;
1247
- }
1248
- }
1249
-
1250
- /**
1251
- * 03. 24. Field: sortable
1252
- */
1253
- .csf-field-sortable{
1254
-
1255
- .csf-field-text{
1256
-
1257
- input{
1258
- width: 100%;
1259
- max-width: 100%;
1260
- }
1261
- }
1262
-
1263
- .csf-sortable{
1264
-
1265
- .csf-sortable-item{
1266
- display: table;
1267
- width: 100%;
1268
- margin-bottom: 5px;
1269
- border: 1px solid #eee;
1270
-
1271
- h4{
1272
- font-size: 1em;
1273
- }
1274
- }
1275
- }
1276
-
1277
- .csf-sortable-content{
1278
- width: 100%;
1279
- display: table-cell;
1280
- vertical-align: middle;
1281
- background-color: #fff;
1282
-
1283
- > .csf-field{
1284
- padding: 15px;
1285
- }
1286
- }
1287
-
1288
- .csf-sortable-helper{
1289
- width: 100%;
1290
- display: table-cell;
1291
- vertical-align: middle;
1292
- text-align: center;
1293
- font-size: 14px;
1294
- line-height: 1em;
1295
- border-left: 1px solid #eee;
1296
- background-color: #f7f7f7;
1297
-
1298
- i{
1299
- display: inline-block;
1300
- cursor: pointer;
1301
- width: 50px;
1302
- color: #555;
1303
-
1304
- &:hover{
1305
- @include opacity(0.5);
1306
- }
1307
- }
1308
- }
1309
-
1310
- .widget-placeholder{
1311
- height: 50px;
1312
- margin-bottom: 3px;
1313
- border: 1px dashed #f1c40f;
1314
- background-color: #fffae4;
1315
- }
1316
-
1317
- .ui-sortable-helper{
1318
- height: 50px !important;
1319
- overflow: hidden !important;
1320
- border-color: #ccc !important;
1321
- background-color: #eee !important;
1322
- @include opacity(0.5);
1323
-
1324
- .csf-sortable-helper,
1325
- .csf-sortable-content{
1326
- display: none;
1327
- }
1328
- }
1329
- }
1330
-
1331
- /**
1332
- * 03. 25. Field: sorter
1333
- */
1334
- .csf-field-sorter{
1335
-
1336
- .ui-sortable-placeholder{
1337
- height: 20px;
1338
- border: 1px dashed #f1c40f;
1339
- background-color: #fffae4;
1340
- }
1341
-
1342
- .csf-modules{
1343
- float: left;
1344
- width: 50%;
1345
- box-sizing: border-box;
1346
-
1347
- &:first-child{
1348
- padding-right: 15px;
1349
- }
1350
-
1351
- &:last-child{
1352
- padding-left: 15px;
1353
- }
1354
- }
1355
-
1356
- .csf-disabled,
1357
- .csf-enabled{
1358
- padding: 5px 15px;
1359
- border: 1px dashed #ddd;
1360
- background-color: #fff;
1361
- }
1362
-
1363
- .csf-disabled{
1364
- li{
1365
- @include transition(opacity 0.15s);
1366
- @include opacity(0.5);
1367
- }
1368
-
1369
- .ui-sortable-helper{
1370
- @include opacity(1);
1371
- }
1372
- }
1373
-
1374
- .csf-sorter-title{
1375
- font-size: 13px;
1376
- font-weight: 600;
1377
- padding: 10px;
1378
- text-align: center;
1379
- border: 1px dashed #ddd;
1380
- border-bottom: none;
1381
- background-color: #f8f8f8;
1382
- text-transform: uppercase;
1383
- }
1384
-
1385
- ul{
1386
- list-style-type: none;
1387
- margin: 0;
1388
- padding: 0;
1389
- min-height: 62px;
1390
-
1391
- li{
1392
- margin: 10px 0;
1393
- padding: 10px 15px;
1394
- cursor: move;
1395
- font-weight: bold;
1396
- text-align: center;
1397
- border: 1px solid #e5e5e5;
1398
- background-color: #fafafa;
1399
- @include transition(border-color 0.15s);
1400
-
1401
- &:hover{
1402
- border-color: #bbb;
1403
- }
1404
- }
1405
- }
1406
- }
1407
-
1408
- /**
1409
- * 03. 26. Field: spinner
1410
- */
1411
- .csf-field-spinner{
1412
-
1413
- .csf--spin{
1414
- display: flex;
1415
- }
1416
-
1417
- .ui-spinner{
1418
- display: flex;
1419
- }
1420
-
1421
- .ui-button-text-only{
1422
- display: flex;
1423
- flex-direction: column;
1424
- justify-content: center;
1425
- text-align: center;
1426
- min-width: 20px;
1427
- padding: 0 4px;
1428
- color: #555;
1429
- border: 1px solid #7e8993;
1430
- background-color: #f5f5f5;
1431
- }
1432
-
1433
- .ui-button{
1434
- cursor: pointer;
1435
-
1436
- &:hover{
1437
- background-color: #e7e7e7;
1438
- }
1439
-
1440
- &:active{
1441
- background-color: #ddd;
1442
- }
1443
-
1444
- &:before{
1445
- font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", "FontAwesome";
1446
- font-weight: 900;
1447
- font-size: 14px;
1448
- line-height: 14px;
1449
- }
1450
- }
1451
-
1452
- .ui-spinner-down{
1453
- order: 1;
1454
- border-right: 0;
1455
- border-radius: 4px 0 0 4px;
1456
-
1457
- &:before{
1458
- content: "\f0d9";
1459
- }
1460
- }
1461
-
1462
- .ui-spinner-input{
1463
- order: 2;
1464
- }
1465
-
1466
- .csf--unit{
1467
- order: 3;
1468
- border-left: 0;
1469
- user-select: none;
1470
- }
1471
-
1472
- .ui-spinner-up{
1473
- order: 4;
1474
- border-left: 0;
1475
- border-radius: 0 4px 4px 0;
1476
-
1477
- &:before{
1478
- content: "\f0da";
1479
- }
1480
- }
1481
-
1482
- input{
1483
- position: relative;
1484
- z-index: 1;
1485
- width: 50px;
1486
- text-align: center;
1487
- margin: 0;
1488
- padding: 0 8px;
1489
- border-radius: 0;
1490
- }
1491
-
1492
- .ui-button-text{
1493
- display: none;
1494
- }
1495
- }
1496
-
1497
- /**
1498
- * 03. 27. Field: switcher
1499
- */
1500
- .csf-field-switcher{
1501
-
1502
- .csf--switcher{
1503
- float: left;
1504
- cursor: pointer;
1505
- position: relative;
1506
- width: 60px;
1507
- height: 26px;
1508
- padding: 0;
1509
- margin: 0;
1510
- overflow: hidden;
1511
- border-radius: 4px;
1512
- background-color: #ed6f6f;
1513
- user-select: none;
1514
- -webkit-user-select: none;
1515
- }
1516
-
1517
- .csf--ball{
1518
- position: absolute;
1519
- top: 4px;
1520
- left: 4px;
1521
- width: 24px;
1522
- height: 18px;
1523
- background-color: #fff;
1524
- border-radius: 4px;
1525
- transition: all .1s;
1526
- box-shadow: 1px 1px 1px rgba(0,0,0,0.15);
1527
- }
1528
-
1529
- .csf--on,
1530
- .csf--off{
1531
- position: absolute;
1532
- top: 0;
1533
- left: 0;
1534
- right: 0;
1535
- font-size: 11px;
1536
- line-height: 26px;
1537
- font-weight: 500;
1538
- font-style: normal;
1539
- text-align: center;
1540
- text-transform: uppercase;
1541
- color: #fff;
1542
- padding-right: 28px;
1543
- opacity: 0;
1544
- transition: all .1s;
1545
- }
1546
-
1547
- .csf--off{
1548
- padding-right: 0;
1549
- padding-left: 28px;
1550
- opacity: 1;
1551
- }
1552
-
1553
- .csf--active{
1554
- background: #4fb845;
1555
-
1556
- .csf--on{
1557
- opacity: 1;
1558
- }
1559
-
1560
- .csf--off{
1561
- opacity: 0;
1562
- }
1563
-
1564
- .csf--ball{
1565
- left: 100%;
1566
- margin-left: -28px;
1567
- }
1568
- }
1569
-
1570
- .csf--label{
1571
- float: left;
1572
- margin-top: 4px;
1573
- margin-left: 8px;
1574
- font-weight: 400;
1575
- color: #999;
1576
- }
1577
-
1578
- input{
1579
- display: none;
1580
- }
1581
- }
1582
-
1583
- /**
1584
- * 03. 28. Field: tabbed
1585
- */
1586
- .csf-field-tabbed{
1587
-
1588
- .csf-tabbed-content{
1589
- border: 1px solid #ccd0d4;
1590
- background-color: #fff;
1591
- box-shadow: 0 1px 1px rgba(0,0,0,.04);
1592
-
1593
- > .csf-field{
1594
- padding: 15px;
1595
- }
1596
- }
1597
-
1598
- .csf-tabbed-nav{
1599
-
1600
- .csf--icon{
1601
- padding-right: 5px;
1602
- }
1603
-
1604
- a{
1605
- display: inline-block;
1606
- padding: 12px 15px;
1607
- margin-top: 1px;
1608
- margin-right: 5px;
1609
- margin-bottom: -1px;
1610
- position: relative;
1611
- text-decoration: none;
1612
- color: #444;
1613
- font-weight: 600;
1614
- border: 1px solid #ccd0d4;
1615
- background-color: #f3f3f3;
1616
- transition: all .2s;
1617
-
1618
- &:hover{
1619
- background-color: #f9f9f9;
1620
- }
1621
-
1622
- &.csf-tabbed-active{
1623
- background-color: #fff;
1624
- border-bottom-color: #fff;
1625
- }
1626
-
1627
- &:focus{
1628
- outline: none;
1629
- @include box-shadow(none);
1630
- }
1631
- }
1632
- }
1633
- }
1634
-
1635
- /**
1636
- * 03. 29. Field: text
1637
- */
1638
- .csf-field-text{
1639
-
1640
- input{
1641
- width: 50%;
1642
- max-width: 100%;
1643
- margin: 0;
1644
- }
1645
- }
1646
-
1647
- /**
1648
- * 03. 30. Field: textarea
1649
- */
1650
- .csf-field-textarea{
1651
-
1652
- textarea{
1653
- width: 100%;
1654
- max-width: 100%;
1655
- min-height: 125px;
1656
- }
1657
-
1658
- .csf-shortcode-button{
1659
- margin-bottom: 10px;
1660
- margin-right: 5px;
1661
- }
1662
- }
1663
-
1664
- /**
1665
- * 03. 31. Field: typography
1666
- */
1667
- .csf-field-typography{
1668
-
1669
- textarea,
1670
- select{
1671
- min-width: 100%;
1672
- margin: 0;
1673
- }
1674
-
1675
- .csf--title{
1676
- color: #777;
1677
- margin: 0 0 2px 0;
1678
- font-size: 12px;
1679
-
1680
- small{
1681
- vertical-align: top;
1682
- }
1683
- }
1684
-
1685
- .csf--blocks{
1686
- display: flex;
1687
- flex-wrap: wrap;
1688
- }
1689
-
1690
- .csf--block{
1691
- flex: 1;
1692
- padding-right: 6px;
1693
- padding-bottom: 6px;
1694
- }
1695
-
1696
- .csf--input{
1697
- margin: 0;
1698
- min-width: 100%;
1699
- }
1700
-
1701
- .csf--input-wrap{
1702
- position: relative;
1703
- }
1704
-
1705
- .csf--unit{
1706
- position: absolute;
1707
- z-index: 1;
1708
- right: 4px;
1709
- top: 4px;
1710
- bottom: 4px;
1711
- padding: 2px 6px;
1712
- color: #666;
1713
- font-size: 11px;
1714
- line-height: 1;
1715
- border-radius: 2px;
1716
- background: #eee;
1717
- user-select: none;
1718
- display: flex;
1719
- justify-content: center;
1720
- flex-direction: column;
1721
- }
1722
-
1723
- .csf--preview{
1724
- font-size: 16px;
1725
- line-height: 20px;
1726
- padding: 20px;
1727
- color: #222;
1728
- border: 1px solid #eee;
1729
- background-color: #fff;
1730
- border-radius: 2.5px;
1731
- user-select: none;
1732
- -webkit-user-select: none;
1733
- transition: background-color .2s, border-color .2s;
1734
- }
1735
-
1736
- .csf--block-preview{
1737
- cursor: pointer;
1738
- position: relative;
1739
- overflow: hidden;
1740
- margin-top: 10px;
1741
- max-width: 100%;
1742
- }
1743
-
1744
- .csf--black-background{
1745
- border-color: #000;
1746
- background-color: #000;
1747
- }
1748
-
1749
- .csf--toggle{
1750
- position: absolute;
1751
- top: 5px;
1752
- right: 10px;
1753
- color: #999;
1754
- }
1755
-
1756
- .csf--block-extra-styles{
1757
- margin-top: 5px;
1758
- }
1759
- }
1760
-
1761
- /**
1762
- * 03. 32. Field: upload
1763
- */
1764
- .csf-field-upload{
1765
-
1766
- input{
1767
- width: 100%;
1768
- margin: 0;
1769
- }
1770
-
1771
- .csf--wrap{
1772
- display: flex;
1773
- align-items: flex-start;
1774
- }
1775
-
1776
- .button{
1777
- margin-left: 5px;
1778
- }
1779
- }
1780
-
1781
- /**
1782
- * 03. 33. Field: wp_editor
1783
- */
1784
- .csf-field-wp_editor{
1785
-
1786
- .csf-wp-editor{
1787
- float: left;
1788
- width: 100%;
1789
- }
1790
-
1791
- .mce-toolbar-grp{
1792
- border: none;
1793
- }
1794
-
1795
- .mce-btn.mce-active button,
1796
- .mce-btn.mce-active:hover button,
1797
- .mce-btn.mce-active i,
1798
- .mce-btn.mce-active:hover i{
1799
- color: #23282d;
1800
- }
1801
-
1802
- .wp-media-buttons{
1803
- position: relative;
1804
- z-index: 2;
1805
- }
1806
-
1807
-
1808
- .wp-editor-tabs{
1809
- position: relative;
1810
- z-index: 1;
1811
- }
1812
-
1813
- .csf-no-tinymce{
1814
- border: 1px solid #e5e5e5;
1815
- }
1816
-
1817
- .csf-no-quicktags{
1818
-
1819
- .wp-media-buttons{
1820
- float: none;
1821
- display: block;
1822
- }
1823
-
1824
- .mce-tinymce{
1825
- box-shadow: none;
1826
- border: 1px solid #e5e5e5;
1827
- }
1828
- }
1829
-
1830
- textarea{
1831
- width: 100%;
1832
- max-width: 100%;
1833
- margin: 0;
1834
- box-shadow: none;
1835
- }
1836
- }
1837
-
1838
- /**
1839
- * 03. 34. Field: heading
1840
- */
1841
- .csf-field-heading{
1842
- font-size: 1.5em;
1843
- font-weight: bold;
1844
- color: #23282d;
1845
- background-color: #f5f5f5;
1846
- }
1847
-
1848
- /**
1849
- * 03. 35. Field: subheading
1850
- */
1851
- .csf-field-subheading{
1852
- font-size: 14px;
1853
- font-weight: bold;
1854
- padding-top: 17px;
1855
- padding-bottom: 17px;
1856
- color: #23282d;
1857
- background-color: #f7f7f7;
1858
- }
1859
-
1860
- /**
1861
- * 03. 36. Field: submessage
1862
- */
1863
- .csf-field-submessage{
1864
- padding: 0 !important;
1865
- border: 0 !important;
1866
-
1867
- + .csf-field{
1868
- border-top: 0 !important;
1869
- }
1870
- }
1871
-
1872
- .csf-submessage{
1873
- font-size: 12px;
1874
- padding: 17px 30px;
1875
- border-top: 1px solid transparent;
1876
- border-bottom: 1px solid transparent;
1877
- }
1878
-
1879
- .csf-submessage-success{
1880
- color: #3c763d;
1881
- border-color: #d6e9c6;
1882
- background-color: #dff0d8;
1883
- }
1884
-
1885
- .csf-submessage-info{
1886
- color: #31708f;
1887
- border-color: #bce8f1;
1888
- background-color: #d9edf7;
1889
- }
1890
-
1891
- .csf-submessage-warning{
1892
- color: #8a6d3b;
1893
- border-color: #faebcc;
1894
- background-color: #fcf8e3;
1895
- }
1896
-
1897
- .csf-submessage-danger{
1898
- color: #a94442;
1899
- border-color: #ebccd1;
1900
- background-color: #f2dede;
1901
- }
1902
-
1903
- .csf-submessage-normal{
1904
- color: #23282d;
1905
- border-color: #eee;
1906
- background-color: #f7f7f7;
1907
- }
1908
-
1909
- /**
1910
- * 03. 37. Field: notice
1911
- */
1912
- .csf-field-notice{
1913
- background-color: #f7f7f7;
1914
- }
1915
-
1916
- .csf-notice{
1917
- padding: 12px;
1918
- background-color: #fff;
1919
- border-left-style: solid;
1920
- border-left-width: 4px;
1921
- box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
1922
- }
1923
-
1924
- .csf-notice-success{
1925
- border-color: #46b450;
1926
- }
1927
-
1928
- .csf-notice-info{
1929
- border-color: #339fd4;
1930
- }
1931
-
1932
- .csf-notice-warning{
1933
- border-color: #ffbc00;
1934
- }
1935
-
1936
- .csf-notice-danger{
1937
- border-color: #dc3232;
1938
- }
1939
-
1940
- .csf-notice-normal{
1941
- border-color: #222;
1942
- }
1943
-
1944
- /**
1945
- * 03. 38. Field: number
1946
- */
1947
- .csf-field-number{
1948
-
1949
- input{
1950
- width: 100%;
1951
- margin: 0;
1952
- }
1953
-
1954
- .csf--wrap{
1955
- position: relative;
1956
- float: left;
1957
- width: 100px;
1958
- }
1959
-
1960
- .csf--unit{
1961
- position: absolute;
1962
- z-index: 1;
1963
- right: 4px;
1964
- top: 4px;
1965
- bottom: 4px;
1966
- padding: 2px 6px;
1967
- color: #666;
1968
- font-size: 11px;
1969
- line-height: 1;
1970
- border-radius: 2px;
1971
- background: #eee;
1972
- user-select: none;
1973
- display: flex;
1974
- justify-content: center;
1975
- flex-direction: column;
1976
- }
1977
- }
1978
-
1979
- /**
1980
- * 03. 39. others
1981
- */
1982
- .csf-help{
1983
- cursor: help;
1984
- position: absolute;
1985
- top: 0;
1986
- right: 0;
1987
- padding: 5px;
1988
- font-size: 13px;
1989
- color: #aaa;
1990
-
1991
- .csf-help-text{
1992
- display: none;
1993
- }
1994
- }
1995
-
1996
- .csf-image-preview{
1997
- display: inline-block;
1998
- position: relative;
1999
- padding: 4px;
2000
- min-width: 44px;
2001
- min-height: 22px;
2002
- margin-bottom: 10px;
2003
- border: 1px solid #ccc;
2004
- background-color: #f9f9f9;
2005
- @include box-shadow(0 1px 0 rgba(black, 0.08));
2006
-
2007
- img{
2008
- max-height: 90px;
2009
- display: inline-block;
2010
- vertical-align: middle;
2011
- }
2012
- }
2013
-
2014
- .csf-field-custom{
2015
-
2016
- .csf-field{
2017
- padding: 0;
2018
- }
2019
- }
2020
-
2021
- .csf-field{
2022
-
2023
- .chosen-container-single .chosen-single{
2024
- height: 28px;
2025
- line-height: 26px;
2026
- }
2027
-
2028
- .chosen-container-single .chosen-single abbr{
2029
- top: 0;
2030
- right: 20px;
2031
- font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", "FontAwesome";
2032
- font-weight: 900;
2033
- font-size: 12px;
2034
- height: 100%;
2035
- width: 18px;
2036
- color: #aaa;
2037
- text-align: center;
2038
- background: none;
2039
-
2040
- &:before{
2041
- content: "\f00d";
2042
- }
2043
-
2044
- &:hover{
2045
- color: #555;
2046
- }
2047
- }
2048
-
2049
- .chosen-container-multi .chosen-choices li.search-choice .search-choice-close{
2050
- font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", "FontAwesome";
2051
- font-weight: 900;
2052
- font-size: 12px;
2053
- height: 100%;
2054
- width: 18px;
2055
- color: #aaa;
2056
- text-align: center;
2057
- background: none;
2058
-
2059
- &:before{
2060
- content: "\f00d";
2061
- display: inline-block;
2062
- padding-top: 3px;
2063
- }
2064
-
2065
- &:hover{
2066
- color: #555;
2067
- }
2068
- }
2069
-
2070
- .chosen-container-single .chosen-single div b{
2071
- font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", "FontAwesome";
2072
- font-weight: 900;
2073
- font-size: 14px;
2074
- color: #aaa;
2075
- background: none;
2076
-
2077
- &:before{
2078
- content: "\f107";
2079
- }
2080
-
2081
- &:hover{
2082
- color: #555;
2083
- }
2084
- }
2085
-
2086
- .chosen-container-multi .chosen-choices li.search-choice-placeholder {
2087
- border: 1px dashed #aaa;
2088
- margin: 3px 5px 3px 0;
2089
- }
2090
-
2091
- .chosen-container-multi .ui-sortable li.search-choice span {
2092
- cursor: move;
2093
- }
2094
-
2095
- .chosen-container-active.chosen-with-drop .chosen-single div b{
2096
-
2097
- &:before{
2098
- content: "\f106";
2099
- }
2100
- }
2101
-
2102
- .chosen-container-single .chosen-single-with-deselect span{
2103
- margin-right: 40px;
2104
- }
2105
-
2106
- .chosen-container-single .chosen-search input[type="text"]{
2107
- background: none;
2108
- }
2109
-
2110
- .chosen-container-single .chosen-search{
2111
-
2112
- &:before{
2113
- font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", "FontAwesome";
2114
- font-weight: 900;
2115
- font-size: 11px;
2116
- content: "\f002";
2117
- position: absolute;
2118
- right: 12px;
2119
- top: 10px;
2120
- color: #aaa;
2121
- }
2122
- }
2123
-
2124
- .wp-picker-container{
2125
- display: inline-block;
2126
-
2127
- .wp-color-result.button{
2128
- margin-bottom: 0;
2129
- }
2130
- }
2131
-
2132
- .csf--transparent-wrap{
2133
- display: none;
2134
- position: relative;
2135
- top: -1px;
2136
- width: 235px;
2137
- padding: 9px 10px;
2138
- border: 1px solid #dfdfdf;
2139
- border-top: none;
2140
- background-color: #fff;
2141
- }
2142
-
2143
- .wp-picker-active .csf--transparent-wrap{
2144
- display: block;
2145
- }
2146
-
2147
- .csf--transparent-slider{
2148
- position: absolute;
2149
- width: 190px;
2150
- margin-left: 2px;
2151
- height: 18px;
2152
-
2153
- .ui-slider-handle{
2154
- position: absolute;
2155
- top: -3px;
2156
- bottom: -3px;
2157
- z-index: 5;
2158
- border-color: #aaa;
2159
- border-style: solid;
2160
- border-width: 4px 3px;
2161
- width: 10px;
2162
- height: 16px;
2163
- margin: 0 -5px;
2164
- background: none;
2165
- cursor: ew-resize;
2166
- @include opacity(0.9);
2167
- @include border-radius(4px);
2168
- @include box-shadow(0 1px 2px rgba(black, 0.2));
2169
-
2170
- &:before{
2171
- content: " ";
2172
- position: absolute;
2173
- left: -2px;
2174
- right: -2px;
2175
- top: -3px;
2176
- bottom: -3px;
2177
- border: 2px solid #fff;
2178
- @include border-radius(3px);
2179
- }
2180
- }
2181
- }
2182
-
2183
- .csf--transparent-offset{
2184
- height: 18px;
2185
- width: 200px;
2186
- background: url(../images/checkerboard.png) repeat-y center left scroll #fff;
2187
- @include box-shadow(0 0 5px rgba(black, 0.4) inset);
2188
- @include border-radius(2px);
2189
- }
2190
-
2191
- .csf--transparent-text{
2192
- position: absolute;
2193
- top: 12px;
2194
- right: 10px;
2195
- width: 30px;
2196
- font-size: 12px;
2197
- line-height: 12px;
2198
- text-align: center;
2199
- color: #999;
2200
- }
2201
-
2202
- .csf--transparent-button{
2203
- cursor: pointer;
2204
- user-select: none;
2205
- margin-top: 10px;
2206
- font-size: 11px;
2207
- text-align: center;
2208
- border-radius: 2px;
2209
- padding: 3px 7px;
2210
- box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
2211
- letter-spacing: 0.2px;
2212
- color: #777;
2213
- border: 1px solid #ccc;
2214
- background-color: #f7f7f7;
2215
- transition: background-color .2s, border-color .2s, color .2s;
2216
- }
2217
-
2218
- .csf--transparent-active{
2219
-
2220
- .wp-color-result{
2221
- background-image: url(../images/checkerboard.png);
2222
- background-size: 135px;
2223
- background-position: center left;
2224
- background-color: transparent !important;
2225
- }
2226
-
2227
- .csf--transparent-button{
2228
- color: #fff;
2229
- border-color: #3ea032;
2230
- background-color: #4fb845;
2231
- }
2232
-
2233
- .fa:before{
2234
- content: "\f205";
2235
- }
2236
- }
2237
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/settings/assets/scss/vendor/_helper.scss DELETED
@@ -1,139 +0,0 @@
1
- /**
2
- * 10. Helper
3
- */
4
- .csf-subtitle-text{
5
- margin-top: 6px;
6
- font-weight: 400;
7
- color: #999;
8
- }
9
-
10
- .csf-desc-text{
11
- clear: both;
12
- float: left;
13
- width: 100%;
14
- margin-top: 6px;
15
- font-weight: 400;
16
- color: #999;
17
- }
18
-
19
- .csf-error-text{
20
- margin-top: 6px;
21
- color: #d02c21;
22
- }
23
-
24
- .csf-before-text{
25
- margin-bottom: 6px;
26
- }
27
-
28
- .csf-after-text{
29
- margin-top: 6px;
30
- }
31
-
32
- .csf-metabox-hide{
33
- display: none !important;
34
- }
35
-
36
- .csf-metabox-show{
37
- display: block !important;
38
- }
39
-
40
- .csf-depend-hidden.csf-depend-on{
41
- display: none;
42
- }
43
-
44
- .csf-depend-visible.csf-depend-on{
45
- display: block;
46
- opacity: 0.75;
47
- filter: grayscale(1);
48
- user-select: none;
49
- border-top: 1px solid #eee;
50
-
51
- .clear:before{
52
- content: "";
53
- left: 0;
54
- top: 0;
55
- right: 0;
56
- bottom: 0;
57
- position: absolute;
58
- background-color: #eee;
59
- opacity: 0.25;
60
- z-index: 10;
61
- }
62
- }
63
-
64
- .csf-warning-primary{
65
- color: #fff !important;
66
- border-color: #dc3545 !important;
67
- background: #dc3545 !important;
68
-
69
- &:hover,
70
- &:focus{
71
- border-color: #bd2130 !important;
72
- background: #bd2130 !important;
73
- }
74
-
75
- &:focus{
76
- box-shadow: 0 0 0 1px #fff, 0 0 0 3px #bd2130 !important;
77
- }
78
-
79
- &:active{
80
- border-color: #bd2130 !important;
81
- background: #bd2130 !important;
82
- }
83
- }
84
-
85
- .csf-form-result{
86
- display: none;
87
- float: left;
88
- padding: 0 8px;
89
- margin-right: 4px;
90
- font-size: 11px;
91
- line-height: 30px;
92
- user-select: none;
93
- border-radius: 2px;
94
- }
95
-
96
- .csf-form-show{
97
- display: block;
98
- }
99
-
100
- .csf-form-success{
101
- color: #fff;
102
- background-color: #46b450;
103
- }
104
-
105
- .csf-form-warning{
106
- color: #8a6d3b;
107
- background-color: #faebcc;
108
- }
109
-
110
- .csf-label-error{
111
- position: relative;
112
- top: -2px;
113
- display: inline-block;
114
- font-size: 10px;
115
- line-height: 10px;
116
- height: 10px;
117
- width: 10px;
118
- padding: 1px;
119
- font-style: normal;
120
- text-align: center;
121
- color: #fff;
122
- vertical-align: middle;
123
- background-color: #e10000;
124
- @include border-radius(2px);
125
- }
126
-
127
- .csf-no-option{
128
- padding: 30px;
129
- }
130
-
131
- .csf-input-number{
132
- -moz-appearance:textfield;
133
- }
134
-
135
- .csf-input-number::-webkit-inner-spin-button,
136
- .csf-input-number::-webkit-outer-spin-button{
137
- -webkit-appearance: none;
138
- margin: 0;
139
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/settings/assets/scss/vendor/_mixins.scss DELETED
@@ -1,3 +0,0 @@
1
- @mixin opacity( $opacity ) {
2
- opacity: $opacity;
3
- }
 
 
 
admin/settings/assets/scss/vendor/_modal.scss DELETED
@@ -1,330 +0,0 @@
1
- /**
2
- * 09. Modal
3
- */
4
- .csf-modal{
5
- position: fixed;
6
- z-index: 100101;
7
- top: 0;
8
- left: 0;
9
- width: 100%;
10
- height: 100%;
11
-
12
- &.hidden{
13
- display: none;
14
- }
15
- }
16
-
17
- .csf-modal-icon{
18
- z-index: 100102;
19
- }
20
-
21
- .csf-modal-table{
22
- display: table;
23
- width: 100%;
24
- height: 100%;
25
- }
26
-
27
- .csf-modal-table-cell{
28
- display: table-cell;
29
- vertical-align: middle;
30
- margin: 100px 0;
31
- }
32
-
33
- .csf-modal-inner{
34
- position: relative;
35
- z-index: 10;
36
- width: 760px;
37
- height: 750px;
38
- margin: 0 auto;
39
- background-color: #fff;
40
- }
41
-
42
- .csf-modal-content{
43
- position: relative;
44
- overflow: hidden;
45
- overflow-y: auto;
46
- height: 595px;
47
-
48
- .csf-shortcode-button{
49
- display: none;
50
- }
51
-
52
- .csf-field{
53
- padding: 15px 30px 15px 15px;
54
- }
55
-
56
- a{
57
- &:active,
58
- &:focus{
59
- outline: none;
60
- @include box-shadow(none);
61
- }
62
- }
63
-
64
- h4{
65
- font-size: 13px;
66
-
67
- small{
68
- font-style: italic;
69
- font-weight: 400;
70
- color: #aaa;
71
- }
72
- }
73
- }
74
-
75
- .csf-modal-title{
76
- position: relative;
77
- background-color: #fcfcfc;
78
- border-bottom: 1px solid #ddd;
79
- height: 36px;
80
- font-size: 16px;
81
- font-weight: 600;
82
- line-height: 36px;
83
- margin: 0;
84
- padding: 0 36px 0 16px;
85
- }
86
-
87
- .csf-modal-header{
88
- width: 100%;
89
- padding: 14px 0;
90
- background-color: #f5f5f5;
91
- border-bottom: 1px solid #eee;
92
-
93
- select{
94
- display: block;
95
- width: 250px;
96
- margin: 0 auto;
97
- font-size: 13px;
98
- line-height: 1;
99
- height: 30px;
100
- min-height: 30px;
101
- background-color: #fff;
102
- }
103
- }
104
-
105
- .csf-modal-close{
106
- color: #666;
107
- padding: 0;
108
- position: absolute;
109
- top: 0;
110
- right: 0;
111
- width: 36px;
112
- height: 36px;
113
- text-align: center;
114
- background: none;
115
- border: none;
116
- cursor: pointer;
117
-
118
- &:before{
119
- font: normal 20px/36px dashicons;
120
- content: "\f158";
121
- vertical-align: top;
122
- width: 36px;
123
- height: 36px;
124
- }
125
-
126
- &:hover{
127
- @include opacity(0.5);
128
- }
129
- }
130
-
131
- .csf-modal-insert-wrapper{
132
- text-align: center;
133
- width: 100%;
134
- padding: 15px 0;
135
- background-color: #f5f5f5;
136
- border-top: 1px solid #eee;
137
- }
138
-
139
- .csf-modal-overlay{
140
- position: absolute;
141
- top: 0;
142
- left: 0;
143
- width: 100%;
144
- height: 100%;
145
- background-color: #000;
146
- @include opacity(0.5);
147
- }
148
-
149
- /**
150
- * 09. 01. Shortcode Modal
151
- */
152
- .csf--repeatable{
153
- padding: 15px 15px 0 15px;
154
- }
155
-
156
- .csf--repeat-button-block{
157
- text-align: center;
158
- padding-bottom: 15px;
159
- }
160
-
161
- .csf--repeat-shortcode{
162
- position: relative;
163
- margin-bottom: 15px;
164
- border: 1px dashed #ddd;
165
-
166
- &:first-child{
167
-
168
- .csf-repeat-remove{
169
- display: none;
170
- }
171
- }
172
-
173
- .csf-repeat-remove{
174
- position: absolute;
175
- right: 10px;
176
- top: 10px;
177
- z-index: 10;
178
- cursor: pointer;
179
- display: inline-block;
180
- font-size: 11px;
181
- width: 18px;
182
- height: 18px;
183
- line-height: 18px;
184
- text-align: center;
185
- border-radius: 2px;
186
- color: #fff;
187
- background-color: #e14d43;
188
- @include opacity(0.5);
189
-
190
- &:hover{
191
- @include opacity(1);
192
- }
193
- }
194
- }
195
-
196
- .csf-shortcode-single{
197
-
198
- .csf-modal-inner{
199
- height: 750px;
200
- }
201
-
202
- .csf-modal-content{
203
- height: 652px;
204
- }
205
- }
206
-
207
- .elementor-editor-active{
208
-
209
- .csf-shortcode-button{
210
- margin-left: 5px;
211
- }
212
-
213
- .csf-modal .hidden{
214
- display: none !important;
215
- }
216
- }
217
-
218
- /**
219
- * 09. 02. Gutenberg Modal
220
- */
221
- .csf-shortcode-block{
222
- text-align: center;
223
- padding: 14px;
224
- font-size: 13px;
225
- background-color: #f5f5f5;
226
- font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;
227
- }
228
-
229
- .csf-shortcode-block .components-button{
230
- margin-bottom: 10px;
231
- }
232
-
233
- /**
234
- * 09. 03. Icon Modal
235
- */
236
- .csf-modal-icon{
237
-
238
- .csf-icon-title{
239
- padding: 15px 0;
240
- margin: 4px;
241
- font-size: 14px;
242
- font-weight: bold;
243
- text-align: center;
244
- border: 1px solid #eee;
245
- background-color: #f7f7f7;
246
- }
247
-
248
- .csf-modal-header{
249
- text-align: center;
250
- }
251
-
252
- .csf-icon-search{
253
- width: 50%;
254
- height: 40px;
255
- line-height: 40px;
256
- }
257
-
258
- i{
259
- cursor: pointer;
260
- display: inline-block;
261
- margin: 4px;
262
- width: 35px;
263
- height: 35px;
264
- line-height: 35px;
265
- font-size: 16px;
266
- color: #555;
267
- text-align: center;
268
- border: 1px solid #ccc;
269
- background-color: #f7f7f7;
270
- @include border-radius(2px);
271
- @include box-shadow(1px 1px 0 rgba(black, 0.05));
272
-
273
- &:hover {
274
- color: #fff;
275
- border-color: #222;
276
- background-color: #222;
277
- }
278
- }
279
-
280
- .csf-modal-content{
281
- padding: 10px;
282
- height: 618px;
283
- }
284
-
285
- .csf-error-text{
286
- padding: 10px;
287
- }
288
- }
289
-
290
- .csf-modal-loading{
291
- display: none;
292
- position: absolute;
293
- left: 15px;
294
- top: 15px;
295
- }
296
-
297
- .csf-loading{
298
- position: relative;
299
- width: 20px;
300
- height: 20px;
301
- background: #ccc;
302
- @include border-radius(20px);
303
- @include box-shadow(0 2px 5px rgba(black, 0.070));
304
-
305
- &:after{
306
- position: absolute;
307
- top: 50%;
308
- left: 50%;
309
- width: 4px;
310
- height: 4px;
311
- content: "";
312
- margin-top: -2px;
313
- margin-left: -2px;
314
- background-color: white;
315
- @include animation-duration(0.5s);
316
- @include animation-iteration-count(infinite);
317
- @include animation-timing-function(linear);
318
- @include animation-name(csfLoader);
319
- @include border-radius(4px);
320
- }
321
- }
322
-
323
- @include keyframes(csfLoader){
324
- 0%{
325
- @include transform( rotate(0deg) translateX(-6px) rotate(0deg) );
326
- }
327
- 100%{
328
- @include transform( rotate(360deg) translateX(-6px) rotate(-360deg) );
329
- }
330
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/settings/assets/scss/vendor/_navmenu.scss DELETED
@@ -1,60 +0,0 @@
1
- /**
2
- * 08. Nav Menu
3
- */
4
- .csf-nav-menu-options{
5
- clear: both;
6
- float: left;
7
- width: 100%;
8
-
9
- > .csf-fields{
10
- margin-left: -10px;
11
- margin-top: 10px;
12
- margin-bottom: 10px;
13
- border-top: 1px solid #eee;
14
- border-bottom: 1px solid #eee;
15
-
16
- > .csf-field{
17
- padding: 12px 14px 12px 12px;
18
-
19
- .csf-title{
20
- float: none;
21
- width: 100%;
22
- margin-bottom: 5px;
23
- }
24
-
25
- .csf-fieldset{
26
- float: none;
27
- width: 100%;
28
- }
29
- }
30
- }
31
-
32
- .csf-field-text input{
33
- width: 100%;
34
- }
35
-
36
- .csf-field-notice .csf-notice{
37
- padding: 15px;
38
- }
39
- }
40
-
41
- .csf-nav-menu-title{
42
- padding: 12px 14px 12px 12px;
43
- background-color: #f5f5f5;
44
- border-top: 1px solid #eee;
45
- border-bottom: 1px solid #eee;
46
-
47
- &:first-child{
48
- border-top: 0;
49
- }
50
-
51
- h4{
52
- margin: 0;
53
- padding: 0;
54
- color: #23282d;
55
- }
56
- }
57
-
58
- .csf-nav-menu-icon{
59
- margin-right: 5px;
60
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/settings/assets/scss/vendor/_profile.scss DELETED
@@ -1,67 +0,0 @@
1
- /**
2
- * 06. Profile
3
- */
4
- .csf-profile-options{
5
-
6
- > h2 > .fa {
7
- padding-right: 7px;
8
- }
9
-
10
- > .csf-field{
11
- max-width: 750px;
12
- padding: 15px 0;
13
- border-top: none !important;
14
-
15
- > .csf-title{
16
- width: 200px;
17
-
18
- h4{
19
- font-size: 14px;
20
- font-weight: 600;
21
- line-height: 1.3;
22
- display: inline-block;
23
- vertical-align: middle;
24
- }
25
- }
26
-
27
- > .csf-fieldset{
28
- width: calc(100% - 220px);
29
-
30
- > .csf-help{
31
- top: -15px;
32
- right: -5px;
33
- }
34
- }
35
- }
36
-
37
- > .csf-field-heading{
38
- font-size: 1.1em;
39
- }
40
-
41
- > .csf-field-subheading{
42
- font-size: 12px;
43
- }
44
-
45
- > .csf-field-subheading,
46
- > .csf-field-heading{
47
- margin: 10px 0;
48
- padding: 15px !important;
49
- border: 1px solid #ddd;
50
- }
51
-
52
- > .csf-field-submessage{
53
- margin: 20px 0;
54
-
55
- .csf-submessage{
56
- padding: 10px;
57
- border-left-width: 1px;
58
- border-left-style: solid;
59
- border-right-width: 1px;
60
- border-right-style: solid;
61
- }
62
- }
63
-
64
- > .csf-field-notice{
65
- background-color: transparent;
66
- }
67
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/settings/assets/scss/vendor/_responsive.scss DELETED
@@ -1,166 +0,0 @@
1
- /**
2
- * 12. Responsive
3
- */
4
- @media only screen and (max-width:1200px){
5
-
6
- .csf-metabox{
7
-
8
- .csf-field{
9
-
10
- .csf-title{
11
- float: none;
12
- width: 100%;
13
- margin-bottom: 10px;
14
- }
15
-
16
- .csf-fieldset{
17
- float: none;
18
- width: 100%;
19
- }
20
- }
21
- }
22
- }
23
-
24
- @media only screen and (max-width:782px){
25
-
26
- .csf-header-inner{
27
- text-align: center;
28
-
29
- h1{
30
- width: 100%;
31
- margin-bottom: 10px;
32
- }
33
- }
34
-
35
- .csf-form-result{
36
- float: none;
37
- margin-right: 0;
38
- margin-bottom: 10px;
39
- }
40
-
41
- .csf-search,
42
- .csf-header-right,
43
- .csf-header-left{
44
- width: 100%;
45
- }
46
-
47
- .csf-search{
48
- text-align: center;
49
- margin-bottom: 15px;
50
- }
51
-
52
- .csf-footer{
53
- text-align: center;
54
- }
55
-
56
- .csf-buttons{
57
- float: none;
58
- }
59
-
60
- .csf-copyright{
61
- float: none;
62
- margin-top: 10px;
63
- }
64
-
65
- .csf-nav,
66
- .csf-expand-all,
67
- .csf-reset-section,
68
- .csf-nav-background{
69
- display: none !important;
70
- }
71
-
72
- .csf-content{
73
- margin-left: 0;
74
- }
75
-
76
- .csf-section-title,
77
- .csf-section{
78
- display: block !important;
79
- }
80
-
81
- .csf-field{
82
-
83
- .csf-title{
84
- float: none;
85
- width: 100%;
86
- margin-bottom: 10px;
87
- }
88
-
89
- .csf-fieldset{
90
- float: none;
91
- width: 100%;
92
- }
93
- }
94
-
95
- .csf-field-color{
96
-
97
- .button.wp-picker-clear{
98
- padding: 0 8px;
99
- line-height: 2.14285714;
100
- min-height: 32px;
101
- }
102
- }
103
-
104
- .csf-modal-inner{
105
- width: 350px;
106
- height: 400px;
107
- }
108
-
109
- .csf-modal-content{
110
- height: 237px;
111
- }
112
-
113
- .csf-icon-dialog{
114
-
115
- .csf-modal-inner{
116
- width: 305px;
117
- height: 380px;
118
- }
119
-
120
- .csf-modal-content{
121
- height: 267px;
122
- }
123
- }
124
-
125
- .csf-modal-icon{
126
-
127
- .csf-modal-inner{
128
- width: 330px;
129
- height: 385px;
130
- }
131
-
132
- .csf-modal-content{
133
- height: 252px;
134
- }
135
- }
136
-
137
- .csf-profile-options,
138
- .csf-taxonomy-edit-fields{
139
-
140
- > .csf-field{
141
-
142
- > .csf-title{
143
- float: none;
144
- width: 100%;
145
- margin-bottom: 10px;
146
- }
147
-
148
- > .csf-fieldset{
149
- float: none;
150
- width: 100%;
151
- }
152
- }
153
- }
154
-
155
- .csf-nav-menu-options{
156
-
157
- > .csf-fields{
158
- margin-left: -10px;
159
- margin-right: -10px;
160
-
161
- > .csf-field{
162
- padding: 10px;
163
- }
164
- }
165
- }
166
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/settings/assets/scss/vendor/_taxonomy.scss DELETED
@@ -1,114 +0,0 @@
1
- /**
2
- * 06. Taxonomy
3
- */
4
- .csf-taxonomy{
5
- max-width: 95%;
6
-
7
- > .csf-field{
8
- border-top: none !important;
9
- }
10
-
11
- > .csf-field-heading{
12
- font-size: 1.1em;
13
- padding: 20px !important;
14
- border: 1px solid #ddd;
15
- }
16
-
17
- > .csf-field-subheading{
18
- font-size: 12px;
19
- padding: 15px !important;
20
- border: 1px solid #ddd;
21
- }
22
-
23
- > .csf-field-submessage{
24
-
25
- .csf-submessage{
26
- padding: 15px;
27
- border-left-width: 1px;
28
- border-left-style: solid;
29
- border-right-width: 1px;
30
- border-right-style: solid;
31
- }
32
- }
33
-
34
- > .csf-field-notice{
35
- background-color: transparent;
36
- }
37
-
38
- .csf-section-title{
39
- display: block;
40
- padding: 15px ;
41
- background-color: #f9f9f9;
42
- border: 1px solid #e5e5e5;
43
- @include box-shadow(0 1px 1px rgba(black, 0.04));
44
- }
45
- }
46
-
47
- .csf-taxonomy-add-fields{
48
-
49
- > .csf-field{
50
- padding: 8px 0;
51
-
52
- > .csf-title{
53
- float: none;
54
- width: 100%;
55
- padding: 2px 2px 4px 0;
56
-
57
- h4{
58
- font-size: 12px;
59
- font-weight: normal;
60
- }
61
- }
62
-
63
- > .csf-fieldset{
64
- float: none;
65
- width: 100%;
66
-
67
- > .csf-help{
68
- right: -5px;
69
- }
70
- }
71
- }
72
-
73
- + p.submit{
74
- margin-top: 0;
75
- }
76
- }
77
-
78
- .csf-taxonomy-edit-fields{
79
-
80
- > .csf-field{
81
- padding: 20px 0;
82
-
83
- > .csf-title{
84
- width: 200px;
85
-
86
- h4{
87
- font-size: 14px;
88
- font-weight: 600;
89
- line-height: 1.3;
90
- display: inline-block;
91
- vertical-align: middle;
92
- }
93
- }
94
-
95
- > .csf-fieldset{
96
- width: calc(100% - 220px);
97
-
98
- > .csf-help{
99
- top: -5px;
100
- right: -5px;
101
- }
102
- }
103
- }
104
-
105
- > .csf-field-submessage{
106
- margin: 20px 0;
107
- }
108
-
109
- > .csf-field-subheading,
110
- > .csf-field-heading{
111
- margin: 20px 0;
112
- border: 1px solid #ddd;
113
- }
114
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/settings/assets/scss/vendor/_themes.scss DELETED
@@ -1,223 +0,0 @@
1
- /**
2
- * 02. Themes
3
- */
4
-
5
- /**
6
- * 02. 01. Theme Dark
7
- */
8
- .csf-theme-dark{
9
-
10
- .csf-header-inner{
11
- background-color: #050505;
12
-
13
- h1{
14
- color: #fff;
15
-
16
- small{
17
- color: #555;
18
- }
19
- }
20
- }
21
-
22
- .csf-expand-all{
23
- color: #999;
24
- background-color: #222;
25
-
26
- &:hover{
27
- color: #fff;
28
- background-color: #333;
29
- }
30
- }
31
-
32
- .csf-search{
33
-
34
- input{
35
- color: #fff;
36
- background-color: #222;
37
- }
38
-
39
- &:focus{
40
- background-color: #444;
41
- }
42
-
43
- &::-webkit-input-placeholder{
44
- color: #666;
45
- }
46
- }
47
-
48
- .csf-nav{
49
-
50
- ul{
51
-
52
- li{
53
-
54
- a{
55
- color: #999;
56
- background-color: #222;
57
- border-bottom: 1px solid #2f2f2f;
58
-
59
- &:hover{
60
- color: #fff;
61
- }
62
- }
63
-
64
- .csf-active{
65
- color: #fff;
66
- background-color: #111;
67
-
68
- &:after{
69
- content: " ";
70
- position: absolute;
71
- right: 0;
72
- top: 50%;
73
- height: 0;
74
- width: 0;
75
- pointer-events: none;
76
- border: solid transparent;
77
- border-right-color: #fff;
78
- border-width: 4px;
79
- margin-top: -4px;
80
- }
81
- }
82
- }
83
-
84
- ul{
85
-
86
- li{
87
-
88
- a{
89
- background-color: #191919;
90
- border-bottom: 1px solid #2f2f2f;
91
- }
92
-
93
- .csf-active{
94
- background-color: #101010;
95
- }
96
- }
97
-
98
- &:before{
99
- background-color: rgba(#222, 0.75);
100
- }
101
- }
102
- }
103
-
104
- > ul > li:last-child > a{
105
- border-bottom: none;
106
- }
107
- }
108
-
109
- .csf-nav-background{
110
- background-color: #222;
111
- }
112
-
113
- .csf-footer{
114
- color: #555;
115
- background-color: #050505;
116
- }
117
- }
118
-
119
- /**
120
- * 02. 02. Theme Light
121
- */
122
- .csf-theme-light{
123
-
124
- .csf-container{
125
- border: 1px solid #ccd0d4;
126
- @include box-shadow(0 0 15px rgba(black, 0.04));
127
- }
128
-
129
- .csf-header-inner{
130
- border-bottom: 1px solid #ccd0d4;
131
- background-color: #f5f5f5;
132
- background: linear-gradient(#fefefe, #f5f5f5);
133
-
134
- h1{
135
-
136
- small{
137
- color: #999;
138
- }
139
- }
140
- }
141
-
142
- .csf-expand-all{
143
- color: #999;
144
- background-color: #eee;
145
-
146
- &:hover{
147
- color: #555;
148
- }
149
- }
150
-
151
- .csf-search{
152
-
153
- input{
154
- color: #555;
155
- background-color: #eee;
156
-
157
- &::-webkit-input-placeholder{
158
- color: #999;
159
- }
160
- }
161
- }
162
-
163
- .csf-nav{
164
-
165
- ul{
166
-
167
- li{
168
-
169
- a{
170
- color: #666;
171
- background-color: #f5f5f5;
172
- border-bottom: 1px solid #ccd0d4;
173
-
174
- &:hover{
175
- color: #222;
176
- }
177
- }
178
-
179
- .csf-active{
180
- color: #222;
181
- background-color: #fff;
182
-
183
- &:after{
184
- content: "";
185
- position: absolute;
186
- top: 0;
187
- bottom: 0;
188
- right: -1px;
189
- width: 1px;
190
- background-color: #fff;
191
- }
192
- }
193
- }
194
-
195
- ul{
196
-
197
- li{
198
-
199
- a{
200
- background-color: #eee;
201
- border-bottom: 1px solid #ccd0d4;
202
- }
203
- }
204
- }
205
- }
206
-
207
- > ul > li:last-child > a{
208
- border-bottom: none;
209
- }
210
- }
211
-
212
- .csf-nav-background{
213
- background-color: #f5f5f5;
214
- border-right: 1px solid #ccd0d4;
215
- }
216
-
217
- .csf-footer{
218
- color: #555;
219
- border-top: 1px solid #ccd0d4;
220
- background-color: #f5f5f5;
221
- background: linear-gradient(#fafafa, #f5f5f5);
222
- }
223
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/settings/assets/scss/vendor/_welcome.scss DELETED
@@ -1,346 +0,0 @@
1
- /**
2
- * 11. Welcome Page
3
- */
4
- .csf-welcome-wrap{
5
- position: relative;
6
- margin: 25px 40px 0 20px;
7
- font-size: 15px;
8
- max-width: 1200px;
9
-
10
- p{
11
- font-size: 14px;
12
- line-height: 1.5;
13
- }
14
-
15
- h1{
16
- margin: 0.2em 200px 0 0;
17
- padding: 0;
18
- color: #32373c;
19
- line-height: 1.2em;
20
- font-size: 2.8em;
21
- font-weight: 400;
22
- }
23
-
24
- .csf-logo{
25
- position: absolute;
26
- overflow: hidden;
27
- top: 0;
28
- right: 0;
29
- height: 160px;
30
- width: 140px;
31
- background-image: linear-gradient( 45deg, #2d67cb, #ad19f3);
32
- box-shadow: 0 1px 4px rgba(0,0,0,0.25), inset 0 0 0 4px rgba(0,0,0,0.25);
33
-
34
- .csf--effects i{
35
- position: absolute;
36
- width: 200px;
37
- height: 100px;
38
- background-color: rgba(0,0,0,0.15);
39
- transform: rotate(-45deg);
40
- }
41
-
42
- .csf--effects i:nth-child(1){
43
- bottom: -20px;
44
- right: -70px;
45
- }
46
-
47
- .csf--effects i:nth-child(2){
48
- bottom: -35px;
49
- right: -80px;
50
- }
51
-
52
- .csf--effects i:nth-child(3){
53
- bottom: -50px;
54
- right: -90px;
55
- }
56
-
57
- .csf--effects i:nth-child(4){
58
- bottom: -65px;
59
- right: -100px;
60
- }
61
-
62
- .csf--wp-logos{
63
- position: relative;
64
- padding-top: 25px;
65
- text-align: center;
66
- }
67
-
68
- .csf--wp-logo{
69
- position: absolute;
70
- left: 20px;
71
- width: 20px;
72
- height: 20px;
73
- background-repeat: no-repeat;
74
- background-position: center center;
75
- background-image: url(../images/wp-logo.svg);
76
- }
77
-
78
- .csf--wp-plugin-logo{
79
- display: inline-block;
80
- width: 50px;
81
- height: 50px;
82
- border: 3px solid #fff;
83
- background-size: 40px;
84
- background-repeat: no-repeat;
85
- background-position: center center;
86
- background-image: url(../images/wp-plugin-logo.svg);
87
- border-radius: 100%;
88
- vertical-align: middle;
89
- }
90
-
91
- .csf--text{
92
- position: absolute;
93
- left: 0;
94
- right: 0;
95
- top: 90px;
96
- color: #fff;
97
- font-size: 13px;
98
- line-height: 1.2em;
99
- font-weight: 600;
100
- text-align: center;
101
- text-transform: uppercase;
102
- text-shadow: 1px 1px 0 rgba(0,0,0,0.25);
103
- }
104
-
105
- .csf--version{
106
- top: auto;
107
- left: auto;
108
- right: 8px;
109
- bottom: 4px;
110
- font-size: 11px;
111
- text-transform: lowercase;
112
- }
113
- }
114
-
115
- .csf-about-text{
116
- font-weight: 400;
117
- line-height: 1.6em;
118
- font-size: 19px;
119
- margin: 1em 200px 1em 0;
120
- color: #555d66;
121
- }
122
-
123
- .csf-demo-button{
124
- margin: 1em 200px 2em 0;
125
- }
126
-
127
- .nav-tab-wrapper{
128
- margin-bottom: 20px;
129
- }
130
-
131
- ul{
132
- list-style-type: disc;
133
- padding-left: 15px;
134
- }
135
-
136
- .csf--col{
137
- float: left;
138
- padding-right: 20px;
139
- box-sizing: border-box;
140
- }
141
-
142
- .csf--col-2{
143
- width: 50%;
144
- }
145
-
146
- .csf--col-3{
147
- width: 33.333%;
148
- }
149
-
150
- .csf--col-4{
151
- width: 25%;
152
- }
153
-
154
- .csf--col-5{
155
- width: 20%;
156
- }
157
-
158
- .csf--col-last{
159
- padding-right: 0;
160
- }
161
-
162
- .csf--col-upgrade{
163
- padding: 10px 0;
164
- text-align: center;
165
- border-top: 1px solid #e5e5e5;
166
- }
167
- }
168
-
169
- .csf--table-compare{
170
-
171
- thead,
172
- tfoot{
173
- td{
174
- text-align: center;
175
- }
176
- }
177
-
178
- td{
179
- font-size: 14px;
180
- text-align: center;
181
- vertical-align: middle;
182
- padding: 10px;
183
- }
184
-
185
- td:first-child{
186
- text-align: left;
187
- }
188
-
189
- tfoot{
190
- td{
191
- padding: 15px 0;
192
- }
193
- }
194
-
195
- .fa{
196
- font-size: 18px;
197
- }
198
-
199
- .fa-check-circle{
200
- color: #46b450;
201
- }
202
-
203
- .fa-times-circle{
204
- color: #dc3232;
205
- }
206
- }
207
-
208
- .csf-welcome-cols{
209
- clear: both;
210
- margin: 20px 0;
211
- background-color: #fff;
212
- padding: 0 0;
213
- border-radius: 2px;
214
- border: 1px solid #e5e5e5;
215
-
216
- .csf--col{
217
- width: 33.333%;
218
- float: left;
219
- padding: 20px;
220
- text-align: center;
221
- box-sizing: border-box;
222
- min-height: 200px;
223
- border-right: 1px solid #e5e5e5;
224
- }
225
-
226
- .csf--left,
227
- .csf--block{
228
- float: left;
229
- width: 20%;
230
- padding: 0 30px;
231
- text-align: center;
232
- box-sizing: border-box;
233
- }
234
-
235
- .csf--block{
236
- width: 80%;
237
- }
238
-
239
- .csf--col-first{
240
- border-bottom: 1px solid #e5e5e5;
241
- }
242
-
243
- .csf--last{
244
- border-right: none;
245
- }
246
-
247
- .csf--space{
248
- height: 20px;
249
- }
250
-
251
- .csf--icon{
252
- display: inline-block;
253
- font-size: 20px;
254
- width: 30px;
255
- height: 30px;
256
- line-height: 30px;
257
- text-align: center;
258
- margin-bottom: 10px;
259
- color: #fff;
260
- background-color: #555;
261
- border-radius: 30px;
262
- }
263
-
264
- .csf--active{
265
- background-color: #5cb85c;
266
- }
267
-
268
- .csf--deactive{
269
- background-color: #e14d43;
270
- }
271
-
272
- .csf--title{
273
- font-weight: bold;
274
- display: block;
275
- }
276
-
277
- p:last-child{
278
- margin-bottom: 0;
279
- }
280
- }
281
-
282
- .csf-features-cols{
283
-
284
- .csf--key-features{
285
- width: 30%;
286
- }
287
- .csf--available-fields{
288
- width: 70%;
289
- }
290
- }
291
-
292
- .csf-code-block{
293
- margin: 20px 0;
294
- padding: 5px 20px;
295
- background-color: #fff;
296
- border-radius: 2px;
297
- box-shadow: 0 1px 1px rgba(0,0,0,0.15);
298
-
299
- pre{
300
- font-size: 13px;
301
- color: #0073aa;
302
-
303
- span{
304
- color: #999;
305
- }
306
- }
307
- }
308
-
309
- .csf--table-fields{
310
- td{
311
- font-size: 14px;
312
- }
313
- }
314
-
315
- .csf--upgrade a{
316
- color: #5cb85c;
317
- font-weight: bold;
318
-
319
- &:focus,
320
- &:hover{
321
- color: #4aa14a;
322
- outline: none;
323
- box-shadow: none;
324
- }
325
- }
326
-
327
- @media only screen and (max-width:782px){
328
-
329
- .csf-welcome-cols{
330
- .csf--col{
331
- width: 100%;
332
- min-height: auto;
333
- border-right: none;
334
- border-bottom: 1px solid #e5e5e5;
335
- }
336
- }
337
-
338
- .csf-features-cols{
339
- .csf--key-features{
340
- width: 100%;
341
- }
342
- .csf--available-fields{
343
- width: 100%;
344
- }
345
- }
346
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/settings/assets/scss/vendor/_widget.scss DELETED
@@ -1,49 +0,0 @@
1
- /**
2
- * 04. Widget
3
- */
4
- .csf-widgets{
5
-
6
- > .csf-field{
7
- position: relative;
8
- top: -1px;
9
- margin-right: -15px;
10
- margin-left: -15px;
11
- padding: 12px 15px;
12
-
13
- .csf-field{
14
- margin-left: 0;
15
- margin-right: 0;
16
- }
17
-
18
- .csf-title{
19
- float: none;
20
- width: 100%;
21
- margin-bottom: 5px;
22
- }
23
-
24
- .csf-fieldset{
25
- float: none;
26
- width: 100%;
27
- }
28
- }
29
-
30
- .csf-field-text input{
31
- width: 100%;
32
- }
33
-
34
- .csf-field-notice .csf-notice{
35
- padding: 15px;
36
- }
37
- }
38
-
39
- .control-section{
40
-
41
- .csf-widgets{
42
-
43
- > .csf-field{
44
- margin-right: -10px;
45
- margin-left: -10px;
46
- padding: 10px 12px;
47
- }
48
- }
49
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/settings/classes/abstract.class.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Abstract' ) ) {
11
- abstract class CSF_Abstract {
12
 
13
  public $abstract = '';
14
  public $output_css = '';
@@ -41,9 +41,9 @@ if ( ! class_exists( 'CSF_Abstract' ) ) {
41
 
42
  if ( $field_type && $field_id ) {
43
 
44
- CSF::maybe_include_field( $field_type );
45
 
46
- $class_name = 'CSF_Field_' . $field_type;
47
 
48
  if( $field_type === 'fieldset' ) {
49
  if ( ! empty( $field['fields'] ) ) {
@@ -109,14 +109,14 @@ if ( ! class_exists( 'CSF_Abstract' ) ) {
109
  $method = ( ! empty( $this->args['async_webfont'] ) ) ? 'async' : 'enqueue';
110
  $family = $instance->enqueue_google_fonts();
111
 
112
- CSF::$webfonts[$method][$family] = ( ! empty( $this->webfonts[$family] ) ) ? $family . ':' . implode( ',', $this->webfonts[$family] ) : $family;
113
- CSF::$subsets = $this->subsets;
114
 
115
  }
116
 
117
  // output css
118
  if ( $field_output && $this->args['output_css'] ) {
119
- CSF::$css .= $instance->output();
120
  }
121
 
122
  unset( $instance );
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Abstract' ) ) {
11
+ abstract class ULF_Abstract {
12
 
13
  public $abstract = '';
14
  public $output_css = '';
41
 
42
  if ( $field_type && $field_id ) {
43
 
44
+ ULF::maybe_include_field( $field_type );
45
 
46
+ $class_name = 'ULF_Field_' . $field_type;
47
 
48
  if( $field_type === 'fieldset' ) {
49
  if ( ! empty( $field['fields'] ) ) {
109
  $method = ( ! empty( $this->args['async_webfont'] ) ) ? 'async' : 'enqueue';
110
  $family = $instance->enqueue_google_fonts();
111
 
112
+ ULF::$webfonts[$method][$family] = ( ! empty( $this->webfonts[$family] ) ) ? $family . ':' . implode( ',', $this->webfonts[$family] ) : $family;
113
+ ULF::$subsets = $this->subsets;
114
 
115
  }
116
 
117
  // output css
118
  if ( $field_output && $this->args['output_css'] ) {
119
+ ULF::$css .= $instance->output();
120
  }
121
 
122
  unset( $instance );
admin/settings/classes/admin-options.class.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Options' ) ) {
11
- class CSF_Options extends CSF_Abstract {
12
 
13
  // constans
14
  public $unique = '';
@@ -90,8 +90,8 @@ if ( ! class_exists( 'CSF_Options' ) ) {
90
  public function __construct( $key, $params = array() ) {
91
 
92
  $this->unique = $key;
93
- $this->args = apply_filters( "csf_{$this->unique}_args", wp_parse_args( $params['args'], $this->args ), $this );
94
- $this->sections = apply_filters( "csf_{$this->unique}_sections", $params['sections'], $this );
95
 
96
  // run only is admin panel options, avoid performance loss
97
  $this->pre_tabs = $this->pre_tabs( $this->sections );
@@ -104,7 +104,7 @@ if ( ! class_exists( 'CSF_Options' ) ) {
104
 
105
  add_action( 'admin_menu', array( &$this, 'add_admin_menu' ) );
106
  add_action( 'admin_bar_menu', array( &$this, 'add_admin_bar_menu' ), $this->args['admin_bar_menu_priority'] );
107
- add_action( 'wp_ajax_csf_'. $this->unique .'_ajax_save', array( &$this, 'ajax_save' ) );
108
 
109
  if ( $this->args['database'] === 'network' && ! empty( $this->args['show_in_network'] ) ) {
110
  add_action( 'network_admin_menu', array( &$this, 'add_admin_menu' ) );
@@ -193,7 +193,7 @@ if ( ! class_exists( 'CSF_Options' ) ) {
193
  global $submenu;
194
 
195
  $menu_slug = $this->args['menu_slug'];
196
- $menu_icon = ( ! empty( $this->args['admin_bar_menu_icon'] ) ) ? '<span class="csf-ab-icon ab-icon '. esc_attr( $this->args['admin_bar_menu_icon'] ) .'"></span>' : '';
197
 
198
  $wp_admin_bar->add_node( array(
199
  'id' => $menu_slug,
@@ -221,7 +221,7 @@ if ( ! class_exists( 'CSF_Options' ) ) {
221
  $result = $this->set_options( true );
222
 
223
  if ( ! $result ) {
224
- wp_send_json_error( array( 'error' => esc_html__( 'Error while saving.', 'csf' ) ) );
225
  } else {
226
  wp_send_json_success( array( 'notice' => $this->notice, 'errors' => $this->errors ) );
227
  }
@@ -264,24 +264,24 @@ if ( ! class_exists( 'CSF_Options' ) ) {
264
 
265
  // Set variables.
266
  $data = array();
267
- $noncekey = 'csf_options_nonce'. $this->unique;
268
  $nonce = ( ! empty( $response[$noncekey] ) ) ? $response[$noncekey] : '';
269
  $options = ( ! empty( $response[$this->unique] ) ) ? $response[$this->unique] : array();
270
- $transient = ( ! empty( $response['csf_transient'] ) ) ? $response['csf_transient'] : array();
271
 
272
- if ( wp_verify_nonce( $nonce, 'csf_options_nonce' ) ) {
273
 
274
  $importing = false;
275
  $section_id = ( ! empty( $transient['section'] ) ) ? $transient['section'] : '';
276
 
277
- if ( ! $ajax && ! empty( $response[ 'csf_import_data' ] ) ) {
278
 
279
  // XSS ok.
280
  // No worries, This "POST" requests is sanitizing in the below foreach. see #L337 - #L341
281
- $import_data = json_decode( wp_unslash( trim( $response[ 'csf_import_data' ] ) ), true );
282
  $options = ( is_array( $import_data ) && ! empty( $import_data ) ) ? $import_data : array();
283
  $importing = true;
284
- $this->notice = esc_html__( 'Success. Imported backup options.', 'csf' );
285
 
286
  }
287
 
@@ -293,7 +293,7 @@ if ( ! class_exists( 'CSF_Options' ) ) {
293
  }
294
  }
295
 
296
- $this->notice = esc_html__( 'Default options restored.', 'csf' );
297
 
298
  } else if ( ! empty( $transient['reset_section'] ) && ! empty( $section_id ) ) {
299
 
@@ -309,7 +309,7 @@ if ( ! class_exists( 'CSF_Options' ) ) {
309
 
310
  $data = wp_parse_args( $data, $this->options );
311
 
312
- $this->notice = esc_html__( 'Default options restored for only this section.', 'csf' );
313
 
314
  } else {
315
 
@@ -369,18 +369,18 @@ if ( ! class_exists( 'CSF_Options' ) ) {
369
 
370
  }
371
 
372
- $data = apply_filters( "csf_{$this->unique}_save", $data, $this );
373
 
374
- do_action( "csf_{$this->unique}_save_before", $data, $this );
375
 
376
  $this->options = $data;
377
 
378
  $this->save_options( $data );
379
 
380
- do_action( "csf_{$this->unique}_save_after", $data, $this );
381
 
382
  if ( empty( $this->notice ) ) {
383
- $this->notice = esc_html__( 'Settings saved.', 'csf' );
384
  }
385
 
386
  return true;
@@ -404,7 +404,7 @@ if ( ! class_exists( 'CSF_Options' ) ) {
404
  update_option( $this->unique, $data );
405
  }
406
 
407
- do_action( "csf_{$this->unique}_saved", $data, $this );
408
 
409
  }
410
 
@@ -500,7 +500,7 @@ if ( ! class_exists( 'CSF_Options' ) ) {
500
  foreach ( $sections['fields'] as $field ) {
501
  if ( ! empty( $field['id'] ) ) {
502
  if ( array_key_exists( $field['id'], $this->errors ) ) {
503
- $err = '<span class="csf-label-error">!</span>';
504
  }
505
  }
506
  }
@@ -525,49 +525,49 @@ if ( ! class_exists( 'CSF_Options' ) ) {
525
  public function add_options_html() {
526
 
527
  $has_nav = ( count( $this->pre_tabs ) > 1 ) ? true : false;
528
- $show_all = ( ! $has_nav ) ? ' csf-show-all' : '';
529
- $ajax_class = ( $this->args['ajax_save'] ) ? ' csf-save-ajax' : '';
530
- $sticky_class = ( $this->args['sticky_header'] ) ? ' csf-sticky-header' : '';
531
  $wrapper_class = ( $this->args['framework_class'] ) ? ' '. $this->args['framework_class'] : '';
532
- $theme = ( $this->args['theme'] ) ? ' csf-theme-'. $this->args['theme'] : '';
533
  $class = ( $this->args['class'] ) ? ' '. $this->args['class'] : '';
534
 
535
- do_action( 'csf_options_before' );
536
 
537
- echo '<div class="csf csf-options'. esc_attr( $theme . $class . $wrapper_class ) .'" data-slug="'. esc_attr( $this->args['menu_slug'] ) .'" data-unique="'. esc_attr( $this->unique ) .'">';
538
 
539
- echo '<div class="csf-container">';
540
 
541
- echo '<form method="post" action="" enctype="multipart/form-data" id="csf-form" autocomplete="off">';
542
 
543
- echo '<input type="hidden" class="csf-section-id" name="csf_transient[section]" value="1">';
544
 
545
- wp_nonce_field( 'csf_options_nonce', 'csf_options_nonce'. $this->unique );
546
 
547
- echo '<div class="csf-header'. esc_attr( $sticky_class ) .'">';
548
- echo '<div class="csf-header-inner">';
549
 
550
- echo '<div class="csf-header-left">';
551
  echo '<h1>'. $this->args['framework_title'] .'</h1>';
552
  echo '</div>';
553
 
554
- echo '<div class="csf-header-right">';
555
 
556
- $notice_class = ( ! empty( $this->notice ) ) ? 'csf-form-show' : '';
557
  $notice_text = ( ! empty( $this->notice ) ) ? $this->notice : '';
558
 
559
- echo '<div class="csf-form-result csf-form-success '. esc_attr( $notice_class ) .'">'. wp_kses_post( $notice_text ) .'</div>';
560
 
561
- echo ( $this->args['show_form_warning'] ) ? '<div class="csf-form-result csf-form-warning">'. esc_html__( 'Settings have changed, you should save them!', 'csf' ) .'</div>' : '';
562
 
563
- echo ( $has_nav && $this->args['show_all_options'] ) ? '<div class="csf-expand-all" title="'. esc_html__( 'show all options', 'csf' ) .'"><i class="fas fa-outdent"></i></div>' : '';
564
 
565
- echo ( $this->args['show_search'] ) ? '<div class="csf-search"><input type="text" name="csf-search" placeholder="'. esc_html__( 'Search option(s)', 'csf' ) .'" autocomplete="off" /></div>' : '';
566
 
567
- echo '<div class="csf-buttons">';
568
- echo '<input type="submit" name="'. esc_attr( $this->unique ) .'[_nonce][save]" class="button button-primary csf-top-save csf-save'. esc_attr( $ajax_class ) .'" value="'. esc_html__( 'Save', 'csf' ) .'" data-save="'. esc_html__( 'Saving...', 'csf' ) .'">';
569
- echo ( $this->args['show_reset_section'] ) ? '<input type="submit" name="csf_transient[reset_section]" class="button button-secondary csf-reset-section csf-confirm" value="'. esc_html__( 'Reset Section', 'csf' ) .'" data-confirm="'. esc_html__( 'Are you sure to reset this section options?', 'csf' ) .'">' : '';
570
- echo ( $this->args['show_reset_all'] ) ? '<input type="submit" name="csf_transient[reset]" class="button csf-warning-primary csf-reset-all csf-confirm" value="'. esc_html__( 'Reset All', 'csf' ) .'" data-confirm="'. esc_html__( 'Are you sure to reset all options?', 'csf' ) .'">' : '';
571
  echo '</div>';
572
 
573
  echo '</div>';
@@ -576,11 +576,11 @@ if ( ! class_exists( 'CSF_Options' ) ) {
576
  echo '</div>';
577
  echo '</div>';
578
 
579
- echo '<div class="csf-wrapper'. esc_attr( $show_all ) .'">';
580
 
581
  if ( $has_nav ) {
582
 
583
- echo '<div class="csf-nav csf-nav-options">';
584
 
585
  echo '<ul>';
586
 
@@ -588,13 +588,13 @@ if ( ! class_exists( 'CSF_Options' ) ) {
588
 
589
  $tab_id = sanitize_title( $tab['title'] );
590
  $tab_error = $this->error_check( $tab );
591
- $tab_icon = ( ! empty( $tab['icon'] ) ) ? '<i class="csf-tab-icon '. esc_attr( $tab['icon'] ) .'"></i>' : '';
592
 
593
  if ( ! empty( $tab['subs'] ) ) {
594
 
595
- echo '<li class="csf-tab-item">';
596
 
597
- echo '<a href="#tab='. esc_attr( $tab_id ) .'" data-tab-id="'. esc_attr( $tab_id ) .'" class="csf-arrow">'. wp_kses_post( $tab_icon . $tab['title'] . $tab_error ) .'</a>';
598
 
599
  echo '<ul>';
600
 
@@ -602,7 +602,7 @@ if ( ! class_exists( 'CSF_Options' ) ) {
602
 
603
  $sub_id = $tab_id .'/'. sanitize_title( $sub['title'] );
604
  $sub_error = $this->error_check( $sub );
605
- $sub_icon = ( ! empty( $sub['icon'] ) ) ? '<i class="csf-tab-icon '. esc_attr( $sub['icon'] ) .'"></i>' : '';
606
 
607
  echo '<li><a href="#tab='. esc_attr( $sub_id ) .'" data-tab-id="'. esc_attr( $sub_id ) .'">'. wp_kses_post( $sub_icon . $sub['title'] . $sub_error ) .'</a></li>';
608
 
@@ -614,7 +614,7 @@ if ( ! class_exists( 'CSF_Options' ) ) {
614
 
615
  } else {
616
 
617
- echo '<li class="csf-tab-item"><a href="#tab='. esc_attr( $tab_id ) .'" data-tab-id="'. esc_attr( $tab_id ) .'">'. wp_kses_post( $tab_icon . $tab['title'] . $tab_error ) .'</a></li>';
618
 
619
  }
620
 
@@ -626,22 +626,22 @@ if ( ! class_exists( 'CSF_Options' ) ) {
626
 
627
  }
628
 
629
- echo '<div class="csf-content">';
630
 
631
- echo '<div class="csf-sections">';
632
 
633
  foreach ( $this->pre_sections as $section ) {
634
 
635
- $section_onload = ( ! $has_nav ) ? ' csf-onload' : '';
636
  $section_class = ( ! empty( $section['class'] ) ) ? ' '. $section['class'] : '';
637
- $section_icon = ( ! empty( $section['icon'] ) ) ? '<i class="csf-section-icon '. esc_attr( $section['icon'] ) .'"></i>' : '';
638
  $section_title = ( ! empty( $section['title'] ) ) ? $section['title'] : '';
639
  $section_parent = ( ! empty( $section['ptitle'] ) ) ? sanitize_title( $section['ptitle'] ) .'/' : '';
640
  $section_id = ( ! empty( $section['title'] ) ) ? sanitize_title( $section_title ) : '';
641
 
642
- echo '<div class="csf-section'. esc_attr( $section_onload . $section_class ) .'" data-section-id="'. esc_attr( $section_parent . $section_id ) .'">';
643
- echo ( $has_nav ) ? '<div class="csf-section-title"><h3>'. wp_kses_post( $section_icon . $section_title ) .'</h3></div>' : '';
644
- echo ( ! empty( $section['description'] ) ) ? '<div class="csf-field csf-section-description">'. wp_kses_post( $section['description'] ) .'</div>' : '';
645
 
646
  if ( ! empty( $section['fields'] ) ) {
647
 
@@ -659,13 +659,13 @@ if ( ! class_exists( 'CSF_Options' ) ) {
659
 
660
  $value = ( ! empty( $field['id'] ) && isset( $this->options[$field['id']] ) ) ? $this->options[$field['id']] : '';
661
 
662
- CSF::field( $field, $value, $this->unique, 'options' );
663
 
664
  }
665
 
666
  } else {
667
 
668
- echo '<div class="csf-no-option">'. esc_html__( 'No option provided by developer.', 'csf' ) .'</div>';
669
 
670
  }
671
 
@@ -679,21 +679,21 @@ if ( ! class_exists( 'CSF_Options' ) ) {
679
 
680
  echo '</div>';
681
 
682
- echo '<div class="csf-nav-background"></div>';
683
 
684
  echo '</div>';
685
 
686
  if ( ! empty( $this->args['show_footer'] ) ) {
687
 
688
- echo '<div class="csf-footer">';
689
 
690
- echo '<div class="csf-buttons">';
691
- echo '<input type="submit" name="csf_transient[save]" class="button button-primary csf-save'. esc_attr( $ajax_class ) .'" value="'. esc_html__( 'Save', 'csf' ) .'" data-save="'. esc_html__( 'Saving...', 'csf' ) .'">';
692
- echo ( $this->args['show_reset_section'] ) ? '<input type="submit" name="csf_transient[reset_section]" class="button button-secondary csf-reset-section csf-confirm" value="'. esc_html__( 'Reset Section', 'csf' ) .'" data-confirm="'. esc_html__( 'Are you sure to reset this section options?', 'csf' ) .'">' : '';
693
- echo ( $this->args['show_reset_all'] ) ? '<input type="submit" name="csf_transient[reset]" class="button csf-warning-primary csf-reset-all csf-confirm" value="'. esc_html__( 'Reset All', 'csf' ) .'" data-confirm="'. esc_html__( 'Are you sure to reset all options?', 'csf' ) .'">' : '';
694
  echo '</div>';
695
 
696
- echo ( ! empty( $this->args['footer_text'] ) ) ? '<div class="csf-copyright">'. wp_kses_post( $this->args['footer_text'] ) .'</div>' : '';
697
 
698
  echo '<div class="clear"></div>';
699
  echo '</div>';
@@ -710,7 +710,7 @@ if ( ! class_exists( 'CSF_Options' ) ) {
710
 
711
  echo '</div>';
712
 
713
- do_action( 'csf_options_after' );
714
 
715
  }
716
  }
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Options' ) ) {
11
+ class ULF_Options extends ULF_Abstract {
12
 
13
  // constans
14
  public $unique = '';
90
  public function __construct( $key, $params = array() ) {
91
 
92
  $this->unique = $key;
93
+ $this->args = apply_filters( "ulf_{$this->unique}_args", wp_parse_args( $params['args'], $this->args ), $this );
94
+ $this->sections = apply_filters( "ulf_{$this->unique}_sections", $params['sections'], $this );
95
 
96
  // run only is admin panel options, avoid performance loss
97
  $this->pre_tabs = $this->pre_tabs( $this->sections );
104
 
105
  add_action( 'admin_menu', array( &$this, 'add_admin_menu' ) );
106
  add_action( 'admin_bar_menu', array( &$this, 'add_admin_bar_menu' ), $this->args['admin_bar_menu_priority'] );
107
+ add_action( 'wp_ajax_ulf_'. $this->unique .'_ajax_save', array( &$this, 'ajax_save' ) );
108
 
109
  if ( $this->args['database'] === 'network' && ! empty( $this->args['show_in_network'] ) ) {
110
  add_action( 'network_admin_menu', array( &$this, 'add_admin_menu' ) );
193
  global $submenu;
194
 
195
  $menu_slug = $this->args['menu_slug'];
196
+ $menu_icon = ( ! empty( $this->args['admin_bar_menu_icon'] ) ) ? '<span class="ulf-ab-icon ab-icon '. esc_attr( $this->args['admin_bar_menu_icon'] ) .'"></span>' : '';
197
 
198
  $wp_admin_bar->add_node( array(
199
  'id' => $menu_slug,
221
  $result = $this->set_options( true );
222
 
223
  if ( ! $result ) {
224
+ wp_send_json_error( array( 'error' => esc_html__( 'Error while saving.', 'ulf' ) ) );
225
  } else {
226
  wp_send_json_success( array( 'notice' => $this->notice, 'errors' => $this->errors ) );
227
  }
264
 
265
  // Set variables.
266
  $data = array();
267
+ $noncekey = 'ulf_options_nonce'. $this->unique;
268
  $nonce = ( ! empty( $response[$noncekey] ) ) ? $response[$noncekey] : '';
269
  $options = ( ! empty( $response[$this->unique] ) ) ? $response[$this->unique] : array();
270
+ $transient = ( ! empty( $response['ulf_transient'] ) ) ? $response['ulf_transient'] : array();
271
 
272
+ if ( wp_verify_nonce( $nonce, 'ulf_options_nonce' ) ) {
273
 
274
  $importing = false;
275
  $section_id = ( ! empty( $transient['section'] ) ) ? $transient['section'] : '';
276
 
277
+ if ( ! $ajax && ! empty( $response[ 'ulf_import_data' ] ) ) {
278
 
279
  // XSS ok.
280
  // No worries, This "POST" requests is sanitizing in the below foreach. see #L337 - #L341
281
+ $import_data = json_decode( wp_unslash( trim( $response[ 'ulf_import_data' ] ) ), true );
282
  $options = ( is_array( $import_data ) && ! empty( $import_data ) ) ? $import_data : array();
283
  $importing = true;
284
+ $this->notice = esc_html__( 'Success. Imported backup options.', 'ulf' );
285
 
286
  }
287
 
293
  }
294
  }
295
 
296
+ $this->notice = esc_html__( 'Default options restored.', 'ulf' );
297
 
298
  } else if ( ! empty( $transient['reset_section'] ) && ! empty( $section_id ) ) {
299
 
309
 
310
  $data = wp_parse_args( $data, $this->options );
311
 
312
+ $this->notice = esc_html__( 'Default options restored for only this section.', 'ulf' );
313
 
314
  } else {
315
 
369
 
370
  }
371
 
372
+ $data = apply_filters( "ulf_{$this->unique}_save", $data, $this );
373
 
374
+ do_action( "ulf_{$this->unique}_save_before", $data, $this );
375
 
376
  $this->options = $data;
377
 
378
  $this->save_options( $data );
379
 
380
+ do_action( "ulf_{$this->unique}_save_after", $data, $this );
381
 
382
  if ( empty( $this->notice ) ) {
383
+ $this->notice = esc_html__( 'Settings saved.', 'ulf' );
384
  }
385
 
386
  return true;
404
  update_option( $this->unique, $data );
405
  }
406
 
407
+ do_action( "ulf_{$this->unique}_saved", $data, $this );
408
 
409
  }
410
 
500
  foreach ( $sections['fields'] as $field ) {
501
  if ( ! empty( $field['id'] ) ) {
502
  if ( array_key_exists( $field['id'], $this->errors ) ) {
503
+ $err = '<span class="ulf-label-error">!</span>';
504
  }
505
  }
506
  }
525
  public function add_options_html() {
526
 
527
  $has_nav = ( count( $this->pre_tabs ) > 1 ) ? true : false;
528
+ $show_all = ( ! $has_nav ) ? ' ulf-show-all' : '';
529
+ $ajax_class = ( $this->args['ajax_save'] ) ? ' ulf-save-ajax' : '';
530
+ $sticky_class = ( $this->args['sticky_header'] ) ? ' ulf-sticky-header' : '';
531
  $wrapper_class = ( $this->args['framework_class'] ) ? ' '. $this->args['framework_class'] : '';
532
+ $theme = ( $this->args['theme'] ) ? ' ulf-theme-'. $this->args['theme'] : '';
533
  $class = ( $this->args['class'] ) ? ' '. $this->args['class'] : '';
534
 
535
+ do_action( 'ulf_options_before' );
536
 
537
+ echo '<div class="ulf ulf-options'. esc_attr( $theme . $class . $wrapper_class ) .'" data-slug="'. esc_attr( $this->args['menu_slug'] ) .'" data-unique="'. esc_attr( $this->unique ) .'">';
538
 
539
+ echo '<div class="ulf-container">';
540
 
541
+ echo '<form method="post" action="" enctype="multipart/form-data" id="ulf-form" autocomplete="off">';
542
 
543
+ echo '<input type="hidden" class="ulf-section-id" name="ulf_transient[section]" value="1">';
544
 
545
+ wp_nonce_field( 'ulf_options_nonce', 'ulf_options_nonce'. $this->unique );
546
 
547
+ echo '<div class="ulf-header'. esc_attr( $sticky_class ) .'">';
548
+ echo '<div class="ulf-header-inner">';
549
 
550
+ echo '<div class="ulf-header-left">';
551
  echo '<h1>'. $this->args['framework_title'] .'</h1>';
552
  echo '</div>';
553
 
554
+ echo '<div class="ulf-header-right">';
555
 
556
+ $notice_class = ( ! empty( $this->notice ) ) ? 'ulf-form-show' : '';
557
  $notice_text = ( ! empty( $this->notice ) ) ? $this->notice : '';
558
 
559
+ echo '<div class="ulf-form-result ulf-form-success '. esc_attr( $notice_class ) .'">'. wp_kses_post( $notice_text ) .'</div>';
560
 
561
+ echo ( $this->args['show_form_warning'] ) ? '<div class="ulf-form-result ulf-form-warning">'. esc_html__( 'Settings have changed, you should save them!', 'ulf' ) .'</div>' : '';
562
 
563
+ echo ( $has_nav && $this->args['show_all_options'] ) ? '<div class="ulf-expand-all" title="'. esc_html__( 'show all options', 'ulf' ) .'"><i class="fas fa-outdent"></i></div>' : '';
564
 
565
+ echo ( $this->args['show_search'] ) ? '<div class="ulf-search"><input type="text" name="ulf-search" placeholder="'. esc_html__( 'Search option(s)', 'ulf' ) .'" autocomplete="off" /></div>' : '';
566
 
567
+ echo '<div class="ulf-buttons">';
568
+ echo '<input type="submit" name="'. esc_attr( $this->unique ) .'[_nonce][save]" class="button button-primary ulf-top-save ulf-save'. esc_attr( $ajax_class ) .'" value="'. esc_html__( 'Save', 'ulf' ) .'" data-save="'. esc_html__( 'Saving...', 'ulf' ) .'">';
569
+ echo ( $this->args['show_reset_section'] ) ? '<input type="submit" name="ulf_transient[reset_section]" class="button button-secondary ulf-reset-section ulf-confirm" value="'. esc_html__( 'Reset Section', 'ulf' ) .'" data-confirm="'. esc_html__( 'Are you sure to reset this section options?', 'ulf' ) .'">' : '';
570
+ echo ( $this->args['show_reset_all'] ) ? '<input type="submit" name="ulf_transient[reset]" class="button ulf-warning-primary ulf-reset-all ulf-confirm" value="'. esc_html__( 'Reset All', 'ulf' ) .'" data-confirm="'. esc_html__( 'Are you sure to reset all options?', 'ulf' ) .'">' : '';
571
  echo '</div>';
572
 
573
  echo '</div>';
576
  echo '</div>';
577
  echo '</div>';
578
 
579
+ echo '<div class="ulf-wrapper'. esc_attr( $show_all ) .'">';
580
 
581
  if ( $has_nav ) {
582
 
583
+ echo '<div class="ulf-nav ulf-nav-options">';
584
 
585
  echo '<ul>';
586
 
588
 
589
  $tab_id = sanitize_title( $tab['title'] );
590
  $tab_error = $this->error_check( $tab );
591
+ $tab_icon = ( ! empty( $tab['icon'] ) ) ? '<i class="ulf-tab-icon '. esc_attr( $tab['icon'] ) .'"></i>' : '';
592
 
593
  if ( ! empty( $tab['subs'] ) ) {
594
 
595
+ echo '<li class="ulf-tab-item">';
596
 
597
+ echo '<a href="#tab='. esc_attr( $tab_id ) .'" data-tab-id="'. esc_attr( $tab_id ) .'" class="ulf-arrow">'. wp_kses_post( $tab_icon . $tab['title'] . $tab_error ) .'</a>';
598
 
599
  echo '<ul>';
600
 
602
 
603
  $sub_id = $tab_id .'/'. sanitize_title( $sub['title'] );
604
  $sub_error = $this->error_check( $sub );
605
+ $sub_icon = ( ! empty( $sub['icon'] ) ) ? '<i class="ulf-tab-icon '. esc_attr( $sub['icon'] ) .'"></i>' : '';
606
 
607
  echo '<li><a href="#tab='. esc_attr( $sub_id ) .'" data-tab-id="'. esc_attr( $sub_id ) .'">'. wp_kses_post( $sub_icon . $sub['title'] . $sub_error ) .'</a></li>';
608
 
614
 
615
  } else {
616
 
617
+ echo '<li class="ulf-tab-item"><a href="#tab='. esc_attr( $tab_id ) .'" data-tab-id="'. esc_attr( $tab_id ) .'">'. wp_kses_post( $tab_icon . $tab['title'] . $tab_error ) .'</a></li>';
618
 
619
  }
620
 
626
 
627
  }
628
 
629
+ echo '<div class="ulf-content">';
630
 
631
+ echo '<div class="ulf-sections">';
632
 
633
  foreach ( $this->pre_sections as $section ) {
634
 
635
+ $section_onload = ( ! $has_nav ) ? ' ulf-onload' : '';
636
  $section_class = ( ! empty( $section['class'] ) ) ? ' '. $section['class'] : '';
637
+ $section_icon = ( ! empty( $section['icon'] ) ) ? '<i class="ulf-section-icon '. esc_attr( $section['icon'] ) .'"></i>' : '';
638
  $section_title = ( ! empty( $section['title'] ) ) ? $section['title'] : '';
639
  $section_parent = ( ! empty( $section['ptitle'] ) ) ? sanitize_title( $section['ptitle'] ) .'/' : '';
640
  $section_id = ( ! empty( $section['title'] ) ) ? sanitize_title( $section_title ) : '';
641
 
642
+ echo '<div class="ulf-section'. esc_attr( $section_onload . $section_class ) .'" data-section-id="'. esc_attr( $section_parent . $section_id ) .'">';
643
+ echo ( $has_nav ) ? '<div class="ulf-section-title"><h3>'. wp_kses_post( $section_icon . $section_title ) .'</h3></div>' : '';
644
+ echo ( ! empty( $section['description'] ) ) ? '<div class="ulf-field ulf-section-description">'. wp_kses_post( $section['description'] ) .'</div>' : '';
645
 
646
  if ( ! empty( $section['fields'] ) ) {
647
 
659
 
660
  $value = ( ! empty( $field['id'] ) && isset( $this->options[$field['id']] ) ) ? $this->options[$field['id']] : '';
661
 
662
+ ULF::field( $field, $value, $this->unique, 'options' );
663
 
664
  }
665
 
666
  } else {
667
 
668
+ echo '<div class="ulf-no-option">'. esc_html__( 'No option provided by developer.', 'ulf' ) .'</div>';
669
 
670
  }
671
 
679
 
680
  echo '</div>';
681
 
682
+ echo '<div class="ulf-nav-background"></div>';
683
 
684
  echo '</div>';
685
 
686
  if ( ! empty( $this->args['show_footer'] ) ) {
687
 
688
+ echo '<div class="ulf-footer">';
689
 
690
+ echo '<div class="ulf-buttons">';
691
+ echo '<input type="submit" name="ulf_transient[save]" class="button button-primary ulf-save'. esc_attr( $ajax_class ) .'" value="'. esc_html__( 'Save', 'ulf' ) .'" data-save="'. esc_html__( 'Saving...', 'ulf' ) .'">';
692
+ echo ( $this->args['show_reset_section'] ) ? '<input type="submit" name="ulf_transient[reset_section]" class="button button-secondary ulf-reset-section ulf-confirm" value="'. esc_html__( 'Reset Section', 'ulf' ) .'" data-confirm="'. esc_html__( 'Are you sure to reset this section options?', 'ulf' ) .'">' : '';
693
+ echo ( $this->args['show_reset_all'] ) ? '<input type="submit" name="ulf_transient[reset]" class="button ulf-warning-primary ulf-reset-all ulf-confirm" value="'. esc_html__( 'Reset All', 'ulf' ) .'" data-confirm="'. esc_html__( 'Are you sure to reset all options?', 'ulf' ) .'">' : '';
694
  echo '</div>';
695
 
696
+ echo ( ! empty( $this->args['footer_text'] ) ) ? '<div class="ulf-copyright">'. wp_kses_post( $this->args['footer_text'] ) .'</div>' : '';
697
 
698
  echo '<div class="clear"></div>';
699
  echo '</div>';
710
 
711
  echo '</div>';
712
 
713
+ do_action( 'ulf_options_after' );
714
 
715
  }
716
  }
admin/settings/classes/comment-options.class.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Comment_Metabox' ) ) {
11
- class CSF_Comment_Metabox extends CSF_Abstract{
12
 
13
  // constans
14
  public $unique = '';
@@ -29,8 +29,8 @@ if ( ! class_exists( 'CSF_Comment_Metabox' ) ) {
29
  public function __construct( $key, $params = array() ) {
30
 
31
  $this->unique = $key;
32
- $this->args = apply_filters( "csf_{$this->unique}_args", wp_parse_args( $params['args'], $this->args ), $this );
33
- $this->sections = apply_filters( "csf_{$this->unique}_sections", $params['sections'], $this );
34
  $this->pre_fields = $this->pre_fields( $this->sections );
35
 
36
  add_action( 'add_meta_boxes_comment', array( &$this, 'add_comment_meta_box' ) );
@@ -117,24 +117,24 @@ if ( ! class_exists( 'CSF_Comment_Metabox' ) ) {
117
  public function add_comment_meta_box_content( $comment, $callback ) {
118
 
119
  $has_nav = ( count( $this->sections ) > 1 ) ? true : false;
120
- $show_all = ( ! $has_nav ) ? ' csf-show-all' : '';
121
- $errors = ( is_object ( $comment ) ) ? get_comment_meta( $comment->comment_ID, '_csf_errors_'. $this->unique, true ) : array();
122
  $errors = ( ! empty( $errors ) ) ? $errors : array();
123
- $theme = ( $this->args['theme'] ) ? ' csf-theme-'. $this->args['theme'] : '';
124
 
125
  if ( is_object( $comment ) && ! empty( $errors ) ) {
126
- delete_comment_meta( $comment->comment_ID, '_csf_errors_'. $this->unique );
127
  }
128
 
129
- wp_nonce_field( 'csf_comment_metabox_nonce', 'csf_comment_metabox_nonce'. $this->unique );
130
 
131
- echo '<div class="csf csf-comment-metabox'. esc_attr( $theme ) .'">';
132
 
133
- echo '<div class="csf-wrapper'. esc_attr( $show_all ) .'">';
134
 
135
  if ( $has_nav ) {
136
 
137
- echo '<div class="csf-nav csf-nav-metabox">';
138
 
139
  echo '<ul>';
140
 
@@ -142,8 +142,8 @@ if ( ! class_exists( 'CSF_Comment_Metabox' ) ) {
142
 
143
  foreach ( $this->sections as $section ) {
144
 
145
- $tab_icon = ( ! empty( $section['icon'] ) ) ? '<i class="csf-tab-icon '. esc_attr( $section['icon'] ) .'"></i>' : '';
146
- $tab_error = ( ! empty( $errors['sections'][$tab_key] ) ) ? '<i class="csf-label-error csf-error">!</i>' : '';
147
 
148
  echo '<li><a href="#">'. wp_kses_post( $tab_icon . $section['title'] . $tab_error ) .'</a></li>';
149
 
@@ -157,22 +157,22 @@ if ( ! class_exists( 'CSF_Comment_Metabox' ) ) {
157
 
158
  }
159
 
160
- echo '<div class="csf-content">';
161
 
162
- echo '<div class="csf-sections">';
163
 
164
  $section_key = 1;
165
 
166
  foreach ( $this->sections as $section ) {
167
 
168
- $section_onload = ( ! $has_nav ) ? ' csf-onload' : '';
169
  $section_class = ( ! empty( $section['class'] ) ) ? ' '. $section['class'] : '';
170
  $section_title = ( ! empty( $section['title'] ) ) ? $section['title'] : '';
171
- $section_icon = ( ! empty( $section['icon'] ) ) ? '<i class="csf-section-icon '. esc_attr( $section['icon'] ) .'"></i>' : '';
172
 
173
- echo '<div class="csf-section'. esc_attr( $section_onload . $section_class ) .'">';
174
 
175
- echo ( $section_title || $section_icon ) ? '<div class="csf-section-title"><h3>'. wp_kses_post( $section_icon . $section_title ) .'</h3></div>' : '';
176
 
177
  if ( ! empty( $section['fields'] ) ) {
178
 
@@ -186,13 +186,13 @@ if ( ! class_exists( 'CSF_Comment_Metabox' ) ) {
186
  $field['default'] = $this->get_default( $field );
187
  }
188
 
189
- CSF::field( $field, $this->get_meta_value( $comment->comment_ID, $field ), $this->unique, 'comment_metabox' );
190
 
191
  }
192
 
193
  } else {
194
 
195
- echo '<div class="csf-no-option">'. esc_html__( 'No option provided by developer.', 'csf' ) .'</div>';
196
 
197
  }
198
 
@@ -206,11 +206,11 @@ if ( ! class_exists( 'CSF_Comment_Metabox' ) ) {
206
 
207
  if ( ! empty( $this->args['show_restore'] ) ) {
208
 
209
- echo '<div class="csf-sections-restore">';
210
  echo '<label>';
211
  echo '<input type="checkbox" name="'. esc_attr( $this->unique ) .'[_restore]" />';
212
- echo '<span class="button csf-button-restore">'. esc_html__( 'Restore', 'csf' ) .'</span>';
213
- echo '<span class="button csf-button-cancel">'. sprintf( '<small>( %s )</small> %s', esc_html__( 'update post for restore ', 'csf' ), esc_html__( 'Cancel', 'csf' ) ) .'</span>';
214
  echo '</label>';
215
  echo '</div>';
216
 
@@ -218,7 +218,7 @@ if ( ! class_exists( 'CSF_Comment_Metabox' ) ) {
218
 
219
  echo '</div>';
220
 
221
- echo ( $has_nav ) ? '<div class="csf-nav-background"></div>' : '';
222
 
223
  echo '<div class="clear"></div>';
224
 
@@ -234,10 +234,10 @@ if ( ! class_exists( 'CSF_Comment_Metabox' ) ) {
234
  $count = 1;
235
  $data = array();
236
  $errors = array();
237
- $noncekey = 'csf_comment_metabox_nonce'. $this->unique;
238
  $nonce = ( ! empty( $_POST[ $noncekey ] ) ) ? sanitize_text_field( wp_unslash( $_POST[ $noncekey ] ) ) : '';
239
 
240
- if ( ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) || ! wp_verify_nonce( $nonce, 'csf_comment_metabox_nonce' ) ) {
241
  return $comment_id;
242
  }
243
 
@@ -304,9 +304,9 @@ if ( ! class_exists( 'CSF_Comment_Metabox' ) ) {
304
 
305
  }
306
 
307
- $data = apply_filters( "csf_{$this->unique}_save", $data, $comment_id, $this );
308
 
309
- do_action( "csf_{$this->unique}_save_before", $data, $comment_id, $this );
310
 
311
  if ( empty( $data ) || ! empty( $request['_restore'] ) ) {
312
 
@@ -329,14 +329,14 @@ if ( ! class_exists( 'CSF_Comment_Metabox' ) ) {
329
  }
330
 
331
  if ( ! empty( $errors ) ) {
332
- update_comment_meta( $comment_id, '_csf_errors_'. $this->unique, $errors );
333
  }
334
 
335
  }
336
 
337
- do_action( "csf_{$this->unique}_saved", $data, $comment_id, $this );
338
 
339
- do_action( "csf_{$this->unique}_save_after", $data, $comment_id, $this );
340
 
341
  }
342
  }
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Comment_Metabox' ) ) {
11
+ class ULF_Comment_Metabox extends ULF_Abstract{
12
 
13
  // constans
14
  public $unique = '';
29
  public function __construct( $key, $params = array() ) {
30
 
31
  $this->unique = $key;
32
+ $this->args = apply_filters( "ulf_{$this->unique}_args", wp_parse_args( $params['args'], $this->args ), $this );
33
+ $this->sections = apply_filters( "ulf_{$this->unique}_sections", $params['sections'], $this );
34
  $this->pre_fields = $this->pre_fields( $this->sections );
35
 
36
  add_action( 'add_meta_boxes_comment', array( &$this, 'add_comment_meta_box' ) );
117
  public function add_comment_meta_box_content( $comment, $callback ) {
118
 
119
  $has_nav = ( count( $this->sections ) > 1 ) ? true : false;
120
+ $show_all = ( ! $has_nav ) ? ' ulf-show-all' : '';
121
+ $errors = ( is_object ( $comment ) ) ? get_comment_meta( $comment->comment_ID, '_ulf_errors_'. $this->unique, true ) : array();
122
  $errors = ( ! empty( $errors ) ) ? $errors : array();
123
+ $theme = ( $this->args['theme'] ) ? ' ulf-theme-'. $this->args['theme'] : '';
124
 
125
  if ( is_object( $comment ) && ! empty( $errors ) ) {
126
+ delete_comment_meta( $comment->comment_ID, '_ulf_errors_'. $this->unique );
127
  }
128
 
129
+ wp_nonce_field( 'ulf_comment_metabox_nonce', 'ulf_comment_metabox_nonce'. $this->unique );
130
 
131
+ echo '<div class="ulf ulf-comment-metabox'. esc_attr( $theme ) .'">';
132
 
133
+ echo '<div class="ulf-wrapper'. esc_attr( $show_all ) .'">';
134
 
135
  if ( $has_nav ) {
136
 
137
+ echo '<div class="ulf-nav ulf-nav-metabox">';
138
 
139
  echo '<ul>';
140
 
142
 
143
  foreach ( $this->sections as $section ) {
144
 
145
+ $tab_icon = ( ! empty( $section['icon'] ) ) ? '<i class="ulf-tab-icon '. esc_attr( $section['icon'] ) .'"></i>' : '';
146
+ $tab_error = ( ! empty( $errors['sections'][$tab_key] ) ) ? '<i class="ulf-label-error ulf-error">!</i>' : '';
147
 
148
  echo '<li><a href="#">'. wp_kses_post( $tab_icon . $section['title'] . $tab_error ) .'</a></li>';
149
 
157
 
158
  }
159
 
160
+ echo '<div class="ulf-content">';
161
 
162
+ echo '<div class="ulf-sections">';
163
 
164
  $section_key = 1;
165
 
166
  foreach ( $this->sections as $section ) {
167
 
168
+ $section_onload = ( ! $has_nav ) ? ' ulf-onload' : '';
169
  $section_class = ( ! empty( $section['class'] ) ) ? ' '. $section['class'] : '';
170
  $section_title = ( ! empty( $section['title'] ) ) ? $section['title'] : '';
171
+ $section_icon = ( ! empty( $section['icon'] ) ) ? '<i class="ulf-section-icon '. esc_attr( $section['icon'] ) .'"></i>' : '';
172
 
173
+ echo '<div class="ulf-section'. esc_attr( $section_onload . $section_class ) .'">';
174
 
175
+ echo ( $section_title || $section_icon ) ? '<div class="ulf-section-title"><h3>'. wp_kses_post( $section_icon . $section_title ) .'</h3></div>' : '';
176
 
177
  if ( ! empty( $section['fields'] ) ) {
178
 
186
  $field['default'] = $this->get_default( $field );
187
  }
188
 
189
+ ULF::field( $field, $this->get_meta_value( $comment->comment_ID, $field ), $this->unique, 'comment_metabox' );
190
 
191
  }
192
 
193
  } else {
194
 
195
+ echo '<div class="ulf-no-option">'. esc_html__( 'No option provided by developer.', 'ulf' ) .'</div>';
196
 
197
  }
198
 
206
 
207
  if ( ! empty( $this->args['show_restore'] ) ) {
208
 
209
+ echo '<div class="ulf-sections-restore">';
210
  echo '<label>';
211
  echo '<input type="checkbox" name="'. esc_attr( $this->unique ) .'[_restore]" />';
212
+ echo '<span class="button ulf-button-restore">'. esc_html__( 'Restore', 'ulf' ) .'</span>';
213
+ echo '<span class="button ulf-button-cancel">'. sprintf( '<small>( %s )</small> %s', esc_html__( 'update post for restore ', 'ulf' ), esc_html__( 'Cancel', 'ulf' ) ) .'</span>';
214
  echo '</label>';
215
  echo '</div>';
216
 
218
 
219
  echo '</div>';
220
 
221
+ echo ( $has_nav ) ? '<div class="ulf-nav-background"></div>' : '';
222
 
223
  echo '<div class="clear"></div>';
224
 
234
  $count = 1;
235
  $data = array();
236
  $errors = array();
237
+ $noncekey = 'ulf_comment_metabox_nonce'. $this->unique;
238
  $nonce = ( ! empty( $_POST[ $noncekey ] ) ) ? sanitize_text_field( wp_unslash( $_POST[ $noncekey ] ) ) : '';
239
 
240
+ if ( ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) || ! wp_verify_nonce( $nonce, 'ulf_comment_metabox_nonce' ) ) {
241
  return $comment_id;
242
  }
243
 
304
 
305
  }
306
 
307
+ $data = apply_filters( "ulf_{$this->unique}_save", $data, $comment_id, $this );
308
 
309
+ do_action( "ulf_{$this->unique}_save_before", $data, $comment_id, $this );
310
 
311
  if ( empty( $data ) || ! empty( $request['_restore'] ) ) {
312
 
329
  }
330
 
331
  if ( ! empty( $errors ) ) {
332
+ update_comment_meta( $comment_id, '_ulf_errors_'. $this->unique, $errors );
333
  }
334
 
335
  }
336
 
337
+ do_action( "ulf_{$this->unique}_saved", $data, $comment_id, $this );
338
 
339
+ do_action( "ulf_{$this->unique}_save_after", $data, $comment_id, $this );
340
 
341
  }
342
  }
admin/settings/classes/customize-options.class.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Customize_Options' ) ) {
11
- class CSF_Customize_Options extends CSF_Abstract {
12
 
13
  // constans
14
  public $unique = '';
@@ -33,8 +33,8 @@ if ( ! class_exists( 'CSF_Customize_Options' ) ) {
33
  public function __construct( $key, $params ) {
34
 
35
  $this->unique = $key;
36
- $this->args = apply_filters( "csf_{$this->unique}_args", wp_parse_args( $params['args'], $this->args ), $this );
37
- $this->sections = apply_filters( "csf_{$this->unique}_sections", $params['sections'], $this );
38
  $this->pre_fields = $this->pre_fields( $this->sections );
39
 
40
  $this->get_options();
@@ -59,9 +59,9 @@ if ( ! class_exists( 'CSF_Customize_Options' ) ) {
59
  }
60
 
61
  public function add_customize_save_after( $wp_customize ) {
62
- do_action( "csf_{$this->unique}_save_before", $this->get_options(), $this, $wp_customize );
63
- do_action( "csf_{$this->unique}_saved", $this->get_options(), $this, $wp_customize );
64
- do_action( "csf_{$this->unique}_save_after", $this->get_options(), $this, $wp_customize );
65
  }
66
 
67
  // get default value
@@ -157,8 +157,8 @@ if ( ! class_exists( 'CSF_Customize_Options' ) ) {
157
 
158
  public function add_customize_options( $wp_customize ) {
159
 
160
- if ( ! class_exists( 'WP_Customize_Panel_CSF' ) ) {
161
- CSF::include_plugin_file( 'functions/customize.php' );
162
  }
163
 
164
  if ( ! empty( $this->sections ) ) {
@@ -171,7 +171,7 @@ if ( ! class_exists( 'CSF_Customize_Options' ) ) {
171
 
172
  $panel_id = ( isset( $section['id'] ) ) ? $section['id'] : $this->unique .'-panel-'. $this->priority;
173
 
174
- $wp_customize->add_panel( new WP_Customize_Panel_CSF( $wp_customize, $panel_id, array(
175
  'title' => ( isset( $section['title'] ) ) ? $section['title'] : null,
176
  'description' => ( isset( $section['description'] ) ) ? $section['description'] : null,
177
  'priority' => ( isset( $section['priority'] ) ) ? $section['priority'] : null,
@@ -214,7 +214,7 @@ if ( ! class_exists( 'CSF_Customize_Options' ) ) {
214
 
215
  } else {
216
 
217
- $wp_customize->add_section( new WP_Customize_Section_CSF( $wp_customize, $section_id, array(
218
  'title' => ( isset( $section_args['title'] ) ) ? $section_args['title'] : '',
219
  'description' => ( isset( $section_args['description'] ) ) ? $section_args['description'] : '',
220
  'priority' => ( isset( $section_args['priority'] ) ) ? $section_args['priority'] : '',
@@ -255,7 +255,7 @@ if ( ! class_exists( 'CSF_Customize_Options' ) ) {
255
  ) )
256
  );
257
 
258
- $wp_customize->add_control( new WP_Customize_Control_CSF( $wp_customize, $setting_id,
259
  wp_parse_args( $control_args, array(
260
  'unique' => $this->unique,
261
  'field' => $field,
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Customize_Options' ) ) {
11
+ class ULF_Customize_Options extends ULF_Abstract {
12
 
13
  // constans
14
  public $unique = '';
33
  public function __construct( $key, $params ) {
34
 
35
  $this->unique = $key;
36
+ $this->args = apply_filters( "ulf_{$this->unique}_args", wp_parse_args( $params['args'], $this->args ), $this );
37
+ $this->sections = apply_filters( "ulf_{$this->unique}_sections", $params['sections'], $this );
38
  $this->pre_fields = $this->pre_fields( $this->sections );
39
 
40
  $this->get_options();
59
  }
60
 
61
  public function add_customize_save_after( $wp_customize ) {
62
+ do_action( "ulf_{$this->unique}_save_before", $this->get_options(), $this, $wp_customize );
63
+ do_action( "ulf_{$this->unique}_saved", $this->get_options(), $this, $wp_customize );
64
+ do_action( "ulf_{$this->unique}_save_after", $this->get_options(), $this, $wp_customize );
65
  }
66
 
67
  // get default value
157
 
158
  public function add_customize_options( $wp_customize ) {
159
 
160
+ if ( ! class_exists( 'WP_Customize_Panel_ULF' ) ) {
161
+ ULF::include_plugin_file( 'functions/customize.php' );
162
  }
163
 
164
  if ( ! empty( $this->sections ) ) {
171
 
172
  $panel_id = ( isset( $section['id'] ) ) ? $section['id'] : $this->unique .'-panel-'. $this->priority;
173
 
174
+ $wp_customize->add_panel( new WP_Customize_Panel_ULF( $wp_customize, $panel_id, array(
175
  'title' => ( isset( $section['title'] ) ) ? $section['title'] : null,
176
  'description' => ( isset( $section['description'] ) ) ? $section['description'] : null,
177
  'priority' => ( isset( $section['priority'] ) ) ? $section['priority'] : null,
214
 
215
  } else {
216
 
217
+ $wp_customize->add_section( new WP_Customize_Section_ULF( $wp_customize, $section_id, array(
218
  'title' => ( isset( $section_args['title'] ) ) ? $section_args['title'] : '',
219
  'description' => ( isset( $section_args['description'] ) ) ? $section_args['description'] : '',
220
  'priority' => ( isset( $section_args['priority'] ) ) ? $section_args['priority'] : '',
255
  ) )
256
  );
257
 
258
+ $wp_customize->add_control( new WP_Customize_Control_ULF( $wp_customize, $setting_id,
259
  wp_parse_args( $control_args, array(
260
  'unique' => $this->unique,
261
  'field' => $field,
admin/settings/classes/fields.class.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Fields' ) ) {
11
- abstract class CSF_Fields extends CSF_Abstract {
12
 
13
  public function __construct( $field = array(), $value = '', $unique = '', $where = '', $parent = '' ) {
14
  $this->field = $field;
@@ -65,15 +65,15 @@ if ( ! class_exists( 'CSF_Fields' ) ) {
65
  }
66
 
67
  public function field_before() {
68
- return ( ! empty( $this->field['before'] ) ) ? '<div class="csf-before-text">'. wp_kses_post( $this->field['before'] ) .'</div>' : '';
69
  }
70
 
71
  public function field_after() {
72
 
73
- $output = ( ! empty( $this->field['after'] ) ) ? '<div class="csf-after-text">'. wp_kses_post( $this->field['after'] ) .'</div>' : '';
74
- $output .= ( ! empty( $this->field['desc'] ) ) ? '<div class="clear"></div><div class="csf-desc-text">'. wp_kses_post( $this->field['desc'] ) .'</div>' : '';
75
- $output .= ( ! empty( $this->field['help'] ) ) ? '<div class="csf-help"><span class="csf-help-text">'. wp_kses_post( $this->field['help'] ) .'</span><i class="fas fa-question-circle"></i></div>' : '';
76
- $output .= ( ! empty( $this->field['_error'] ) ) ? '<div class="csf-error-text">'. wp_kses_post( $this->field['_error'] ) .'</div>' : '';
77
 
78
  return $output;
79
 
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Fields' ) ) {
11
+ abstract class ULF_Fields extends ULF_Abstract {
12
 
13
  public function __construct( $field = array(), $value = '', $unique = '', $where = '', $parent = '' ) {
14
  $this->field = $field;
65
  }
66
 
67
  public function field_before() {
68
+ return ( ! empty( $this->field['before'] ) ) ? '<div class="ulf-before-text">'. wp_kses_post( $this->field['before'] ) .'</div>' : '';
69
  }
70
 
71
  public function field_after() {
72
 
73
+ $output = ( ! empty( $this->field['after'] ) ) ? '<div class="ulf-after-text">'. wp_kses_post( $this->field['after'] ) .'</div>' : '';
74
+ $output .= ( ! empty( $this->field['desc'] ) ) ? '<div class="clear"></div><div class="ulf-desc-text">'. wp_kses_post( $this->field['desc'] ) .'</div>' : '';
75
+ $output .= ( ! empty( $this->field['help'] ) ) ? '<div class="ulf-help"><span class="ulf-help-text">'. wp_kses_post( $this->field['help'] ) .'</span><i class="fas fa-question-circle"></i></div>' : '';
76
+ $output .= ( ! empty( $this->field['_error'] ) ) ? '<div class="ulf-error-text">'. wp_kses_post( $this->field['_error'] ) .'</div>' : '';
77
 
78
  return $output;
79
 
admin/settings/classes/metabox-options.class.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Metabox' ) ) {
11
- class CSF_Metabox extends CSF_Abstract{
12
 
13
  // constans
14
  public $unique = '';
@@ -38,8 +38,8 @@ if ( ! class_exists( 'CSF_Metabox' ) ) {
38
  public function __construct( $key, $params = array() ) {
39
 
40
  $this->unique = $key;
41
- $this->args = apply_filters( "csf_{$this->unique}_args", wp_parse_args( $params['args'], $this->args ), $this );
42
- $this->sections = apply_filters( "csf_{$this->unique}_sections", $params['sections'], $this );
43
  $this->post_type = ( is_array( $this->args['post_type'] ) ) ? $this->args['post_type'] : array_filter( (array) $this->args['post_type'] );
44
  $this->post_formats = ( is_array( $this->args['post_formats'] ) ) ? $this->args['post_formats'] : array_filter( (array) $this->args['post_formats'] );
45
  $this->page_templates = ( is_array( $this->args['page_templates'] ) ) ? $this->args['page_templates'] : array_filter( (array) $this->args['page_templates'] );
@@ -90,7 +90,7 @@ if ( ! class_exists( 'CSF_Metabox' ) ) {
90
  $saved_post_format = ( is_object( $post ) ) ? get_post_format( $post ) : false;
91
  $saved_post_format = ( ! empty( $saved_post_format ) ) ? $saved_post_format : 'default';
92
 
93
- $classes[] = 'csf-post-formats';
94
 
95
  // Sanitize post format for standard to default
96
  if ( ( $key = array_search( 'standard', $this->post_formats ) ) !== false ) {
@@ -98,13 +98,13 @@ if ( ! class_exists( 'CSF_Metabox' ) ) {
98
  }
99
 
100
  foreach ( $this->post_formats as $format ) {
101
- $classes[] = 'csf-post-format-'. $format;
102
  }
103
 
104
  if ( ! in_array( $saved_post_format, $this->post_formats ) ) {
105
- $classes[] = 'csf-metabox-hide';
106
  } else {
107
- $classes[] = 'csf-metabox-show';
108
  }
109
 
110
  }
@@ -113,16 +113,16 @@ if ( ! class_exists( 'CSF_Metabox' ) ) {
113
 
114
  $saved_template = ( is_object( $post ) && ! empty( $post->page_template ) ) ? $post->page_template : 'default';
115
 
116
- $classes[] = 'csf-page-templates';
117
 
118
  foreach ( $this->page_templates as $template ) {
119
- $classes[] = 'csf-page-'. preg_replace( '/[^a-zA-Z0-9]+/', '-', strtolower( $template ) );
120
  }
121
 
122
  if ( ! in_array( $saved_template, $this->page_templates ) ) {
123
- $classes[] = 'csf-metabox-hide';
124
  } else {
125
- $classes[] = 'csf-metabox-show';
126
  }
127
 
128
  }
@@ -186,24 +186,24 @@ if ( ! class_exists( 'CSF_Metabox' ) ) {
186
  global $post;
187
 
188
  $has_nav = ( count( $this->sections ) > 1 && $this->args['context'] !== 'side' ) ? true : false;
189
- $show_all = ( ! $has_nav ) ? ' csf-show-all' : '';
190
- $errors = ( is_object ( $post ) ) ? get_post_meta( $post->ID, '_csf_errors_'. $this->unique, true ) : array();
191
  $errors = ( ! empty( $errors ) ) ? $errors : array();
192
- $theme = ( $this->args['theme'] ) ? ' csf-theme-'. $this->args['theme'] : '';
193
 
194
  if ( is_object ( $post ) && ! empty( $errors ) ) {
195
- delete_post_meta( $post->ID, '_csf_errors_'. $this->unique );
196
  }
197
 
198
- wp_nonce_field( 'csf_metabox_nonce', 'csf_metabox_nonce'. $this->unique );
199
 
200
- echo '<div class="csf csf-metabox'. esc_attr( $theme ) .'">';
201
 
202
- echo '<div class="csf-wrapper'. esc_attr( $show_all ) .'">';
203
 
204
  if ( $has_nav ) {
205
 
206
- echo '<div class="csf-nav csf-nav-metabox">';
207
 
208
  echo '<ul>';
209
 
@@ -211,8 +211,8 @@ if ( ! class_exists( 'CSF_Metabox' ) ) {
211
 
212
  foreach ( $this->sections as $section ) {
213
 
214
- $tab_error = ( ! empty( $errors['sections'][$tab_key] ) ) ? '<i class="csf-label-error csf-error">!</i>' : '';
215
- $tab_icon = ( ! empty( $section['icon'] ) ) ? '<i class="csf-tab-icon '. esc_attr( $section['icon'] ) .'"></i>' : '';
216
 
217
  echo '<li><a href="#">'. wp_kses_post( $tab_icon . $section['title'] . $tab_error ) .'</a></li>';
218
 
@@ -226,22 +226,22 @@ if ( ! class_exists( 'CSF_Metabox' ) ) {
226
 
227
  }
228
 
229
- echo '<div class="csf-content">';
230
 
231
- echo '<div class="csf-sections">';
232
 
233
  $section_key = 0;
234
 
235
  foreach ( $this->sections as $section ) {
236
 
237
- $section_onload = ( ! $has_nav ) ? ' csf-onload' : '';
238
  $section_class = ( ! empty( $section['class'] ) ) ? ' '. $section['class'] : '';
239
  $section_title = ( ! empty( $section['title'] ) ) ? $section['title'] : '';
240
- $section_icon = ( ! empty( $section['icon'] ) ) ? '<i class="csf-section-icon '. esc_attr( $section['icon'] ) .'"></i>' : '';
241
 
242
- echo '<div class="csf-section'. esc_attr( $section_onload . $section_class ) .'">';
243
 
244
- echo ( $section_title || $section_icon ) ? '<div class="csf-section-title"><h3>'. wp_kses_post( $section_icon . $section_title ) .'</h3></div>' : '';
245
 
246
  if ( ! empty( $section['fields'] ) ) {
247
 
@@ -255,13 +255,13 @@ if ( ! class_exists( 'CSF_Metabox' ) ) {
255
  $field['default'] = $this->get_default( $field );
256
  }
257
 
258
- CSF::field( $field, $this->get_meta_value( $field ), $this->unique, 'metabox' );
259
 
260
  }
261
 
262
  } else {
263
 
264
- echo '<div class="csf-no-option">'. esc_html__( 'No option provided by developer.', 'csf' ) .'</div>';
265
 
266
  }
267
 
@@ -275,11 +275,11 @@ if ( ! class_exists( 'CSF_Metabox' ) ) {
275
 
276
  if ( ! empty( $this->args['show_restore'] ) ) {
277
 
278
- echo '<div class="csf-sections-restore">';
279
  echo '<label>';
280
  echo '<input type="checkbox" name="'. esc_attr( $this->unique ) .'[_restore]" />';
281
- echo '<span class="button csf-button-restore">'. esc_html__( 'Restore', 'csf' ) .'</span>';
282
- echo '<span class="button csf-button-cancel">'. sprintf( '<small>( %s )</small> %s', esc_html__( 'update post for restore ', 'csf' ), esc_html__( 'Cancel', 'csf' ) ) .'</span>';
283
  echo '</label>';
284
  echo '</div>';
285
 
@@ -287,7 +287,7 @@ if ( ! class_exists( 'CSF_Metabox' ) ) {
287
 
288
  echo '</div>';
289
 
290
- echo ( $has_nav ) ? '<div class="csf-nav-background"></div>' : '';
291
 
292
  echo '<div class="clear"></div>';
293
 
@@ -303,10 +303,10 @@ if ( ! class_exists( 'CSF_Metabox' ) ) {
303
  $count = 1;
304
  $data = array();
305
  $errors = array();
306
- $noncekey = 'csf_metabox_nonce'. $this->unique;
307
  $nonce = ( ! empty( $_POST[ $noncekey ] ) ) ? sanitize_text_field( wp_unslash( $_POST[ $noncekey ] ) ) : '';
308
 
309
- if ( ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) || ! wp_verify_nonce( $nonce, 'csf_metabox_nonce' ) ) {
310
  return $post_id;
311
  }
312
 
@@ -373,9 +373,9 @@ if ( ! class_exists( 'CSF_Metabox' ) ) {
373
 
374
  }
375
 
376
- $data = apply_filters( "csf_{$this->unique}_save", $data, $post_id, $this );
377
 
378
- do_action( "csf_{$this->unique}_save_before", $data, $post_id, $this );
379
 
380
  if ( empty( $data ) || ! empty( $request['_restore'] ) ) {
381
 
@@ -398,14 +398,14 @@ if ( ! class_exists( 'CSF_Metabox' ) ) {
398
  }
399
 
400
  if ( ! empty( $errors ) ) {
401
- update_post_meta( $post_id, '_csf_errors_'. $this->unique, $errors );
402
  }
403
 
404
  }
405
 
406
- do_action( "csf_{$this->unique}_saved", $data, $post_id, $this );
407
 
408
- do_action( "csf_{$this->unique}_save_after", $data, $post_id, $this );
409
 
410
  }
411
  }
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Metabox' ) ) {
11
+ class ULF_Metabox extends ULF_Abstract{
12
 
13
  // constans
14
  public $unique = '';
38
  public function __construct( $key, $params = array() ) {
39
 
40
  $this->unique = $key;
41
+ $this->args = apply_filters( "ulf_{$this->unique}_args", wp_parse_args( $params['args'], $this->args ), $this );
42
+ $this->sections = apply_filters( "ulf_{$this->unique}_sections", $params['sections'], $this );
43
  $this->post_type = ( is_array( $this->args['post_type'] ) ) ? $this->args['post_type'] : array_filter( (array) $this->args['post_type'] );
44
  $this->post_formats = ( is_array( $this->args['post_formats'] ) ) ? $this->args['post_formats'] : array_filter( (array) $this->args['post_formats'] );
45
  $this->page_templates = ( is_array( $this->args['page_templates'] ) ) ? $this->args['page_templates'] : array_filter( (array) $this->args['page_templates'] );
90
  $saved_post_format = ( is_object( $post ) ) ? get_post_format( $post ) : false;
91
  $saved_post_format = ( ! empty( $saved_post_format ) ) ? $saved_post_format : 'default';
92
 
93
+ $classes[] = 'ulf-post-formats';
94
 
95
  // Sanitize post format for standard to default
96
  if ( ( $key = array_search( 'standard', $this->post_formats ) ) !== false ) {
98
  }
99
 
100
  foreach ( $this->post_formats as $format ) {
101
+ $classes[] = 'ulf-post-format-'. $format;
102
  }
103
 
104
  if ( ! in_array( $saved_post_format, $this->post_formats ) ) {
105
+ $classes[] = 'ulf-metabox-hide';
106
  } else {
107
+ $classes[] = 'ulf-metabox-show';
108
  }
109
 
110
  }
113
 
114
  $saved_template = ( is_object( $post ) && ! empty( $post->page_template ) ) ? $post->page_template : 'default';
115
 
116
+ $classes[] = 'ulf-page-templates';
117
 
118
  foreach ( $this->page_templates as $template ) {
119
+ $classes[] = 'ulf-page-'. preg_replace( '/[^a-zA-Z0-9]+/', '-', strtolower( $template ) );
120
  }
121
 
122
  if ( ! in_array( $saved_template, $this->page_templates ) ) {
123
+ $classes[] = 'ulf-metabox-hide';
124
  } else {
125
+ $classes[] = 'ulf-metabox-show';
126
  }
127
 
128
  }
186
  global $post;
187
 
188
  $has_nav = ( count( $this->sections ) > 1 && $this->args['context'] !== 'side' ) ? true : false;
189
+ $show_all = ( ! $has_nav ) ? ' ulf-show-all' : '';
190
+ $errors = ( is_object ( $post ) ) ? get_post_meta( $post->ID, '_ulf_errors_'. $this->unique, true ) : array();
191
  $errors = ( ! empty( $errors ) ) ? $errors : array();
192
+ $theme = ( $this->args['theme'] ) ? ' ulf-theme-'. $this->args['theme'] : '';
193
 
194
  if ( is_object ( $post ) && ! empty( $errors ) ) {
195
+ delete_post_meta( $post->ID, '_ulf_errors_'. $this->unique );
196
  }
197
 
198
+ wp_nonce_field( 'ulf_metabox_nonce', 'ulf_metabox_nonce'. $this->unique );
199
 
200
+ echo '<div class="ulf ulf-metabox'. esc_attr( $theme ) .'">';
201
 
202
+ echo '<div class="ulf-wrapper'. esc_attr( $show_all ) .'">';
203
 
204
  if ( $has_nav ) {
205
 
206
+ echo '<div class="ulf-nav ulf-nav-metabox">';
207
 
208
  echo '<ul>';
209
 
211
 
212
  foreach ( $this->sections as $section ) {
213
 
214
+ $tab_error = ( ! empty( $errors['sections'][$tab_key] ) ) ? '<i class="ulf-label-error ulf-error">!</i>' : '';
215
+ $tab_icon = ( ! empty( $section['icon'] ) ) ? '<i class="ulf-tab-icon '. esc_attr( $section['icon'] ) .'"></i>' : '';
216
 
217
  echo '<li><a href="#">'. wp_kses_post( $tab_icon . $section['title'] . $tab_error ) .'</a></li>';
218
 
226
 
227
  }
228
 
229
+ echo '<div class="ulf-content">';
230
 
231
+ echo '<div class="ulf-sections">';
232
 
233
  $section_key = 0;
234
 
235
  foreach ( $this->sections as $section ) {
236
 
237
+ $section_onload = ( ! $has_nav ) ? ' ulf-onload' : '';
238
  $section_class = ( ! empty( $section['class'] ) ) ? ' '. $section['class'] : '';
239
  $section_title = ( ! empty( $section['title'] ) ) ? $section['title'] : '';
240
+ $section_icon = ( ! empty( $section['icon'] ) ) ? '<i class="ulf-section-icon '. esc_attr( $section['icon'] ) .'"></i>' : '';
241
 
242
+ echo '<div class="ulf-section'. esc_attr( $section_onload . $section_class ) .'">';
243
 
244
+ echo ( $section_title || $section_icon ) ? '<div class="ulf-section-title"><h3>'. wp_kses_post( $section_icon . $section_title ) .'</h3></div>' : '';
245
 
246
  if ( ! empty( $section['fields'] ) ) {
247
 
255
  $field['default'] = $this->get_default( $field );
256
  }
257
 
258
+ ULF::field( $field, $this->get_meta_value( $field ), $this->unique, 'metabox' );
259
 
260
  }
261
 
262
  } else {
263
 
264
+ echo '<div class="ulf-no-option">'. esc_html__( 'No option provided by developer.', 'ulf' ) .'</div>';
265
 
266
  }
267
 
275
 
276
  if ( ! empty( $this->args['show_restore'] ) ) {
277
 
278
+ echo '<div class="ulf-sections-restore">';
279
  echo '<label>';
280
  echo '<input type="checkbox" name="'. esc_attr( $this->unique ) .'[_restore]" />';
281
+ echo '<span class="button ulf-button-restore">'. esc_html__( 'Restore', 'ulf' ) .'</span>';
282
+ echo '<span class="button ulf-button-cancel">'. sprintf( '<small>( %s )</small> %s', esc_html__( 'update post for restore ', 'ulf' ), esc_html__( 'Cancel', 'ulf' ) ) .'</span>';
283
  echo '</label>';
284
  echo '</div>';
285
 
287
 
288
  echo '</div>';
289
 
290
+ echo ( $has_nav ) ? '<div class="ulf-nav-background"></div>' : '';
291
 
292
  echo '<div class="clear"></div>';
293
 
303
  $count = 1;
304
  $data = array();
305
  $errors = array();
306
+ $noncekey = 'ulf_metabox_nonce'. $this->unique;
307
  $nonce = ( ! empty( $_POST[ $noncekey ] ) ) ? sanitize_text_field( wp_unslash( $_POST[ $noncekey ] ) ) : '';
308
 
309
+ if ( ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) || ! wp_verify_nonce( $nonce, 'ulf_metabox_nonce' ) ) {
310
  return $post_id;
311
  }
312
 
373
 
374
  }
375
 
376
+ $data = apply_filters( "ulf_{$this->unique}_save", $data, $post_id, $this );
377
 
378
+ do_action( "ulf_{$this->unique}_save_before", $data, $post_id, $this );
379
 
380
  if ( empty( $data ) || ! empty( $request['_restore'] ) ) {
381
 
398
  }
399
 
400
  if ( ! empty( $errors ) ) {
401
+ update_post_meta( $post_id, '_ulf_errors_'. $this->unique, $errors );
402
  }
403
 
404
  }
405
 
406
+ do_action( "ulf_{$this->unique}_saved", $data, $post_id, $this );
407
 
408
+ do_action( "ulf_{$this->unique}_save_after", $data, $post_id, $this );
409
 
410
  }
411
  }
admin/settings/classes/nav-menu-options.class.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Nav_Menu_Options' ) ) {
11
- class CSF_Nav_Menu_Options extends CSF_Abstract{
12
 
13
  // constans
14
  public $unique = '';
@@ -24,8 +24,8 @@ if ( ! class_exists( 'CSF_Nav_Menu_Options' ) ) {
24
  public function __construct( $key, $params ) {
25
 
26
  $this->unique = $key;
27
- $this->args = apply_filters( "csf_{$this->unique}_args", wp_parse_args( $params['args'], $this->args ), $this );
28
- $this->sections = apply_filters( "csf_{$this->unique}_sections", $params['sections'], $this );
29
 
30
  add_action( 'wp_nav_menu_item_custom_fields', array( &$this, 'wp_nav_menu_item_custom_fields' ), 10, 4 );
31
  add_action( 'wp_update_nav_menu_item', array( &$this, 'wp_update_nav_menu_item' ), 10, 3 );
@@ -45,11 +45,11 @@ if ( ! class_exists( 'CSF_Nav_Menu_Options' ) ) {
45
 
46
  if( version_compare( $wp_version, '5.4.0', '<' ) ) {
47
 
48
- if ( ! class_exists( 'CSF_Walker_Nav_Menu_Edit' ) ) {
49
- CSF::include_plugin_file( 'functions/walker.php' );
50
  }
51
 
52
- return 'CSF_Walker_Nav_Menu_Edit';
53
 
54
  }
55
 
@@ -94,24 +94,24 @@ if ( ! class_exists( 'CSF_Nav_Menu_Options' ) ) {
94
  //
95
  public function wp_nav_menu_item_custom_fields( $menu_item_id, $item, $depth, $args ) {
96
 
97
- $errors = ( ! empty( $menu_item_id ) ) ? get_post_meta( $menu_item_id, '_csf_errors_'. $this->unique, true ) : array();
98
  $errors = ( ! empty( $errors ) ) ? $errors : array();
99
  $class = ( $this->args['class'] ) ? ' '. $this->args['class'] : '';
100
 
101
  if ( ! empty( $errors ) ) {
102
- delete_post_meta( $menu_item_id, '_csf_errors_'. $this->unique );
103
  }
104
 
105
- echo '<div class="csf csf-nav-menu-options'. esc_attr( $class ) .'">';
106
 
107
  foreach ( $this->sections as $section ) {
108
 
109
- $section_icon = ( ! empty( $section['icon'] ) ) ? '<i class="csf-nav-menu-icon '. esc_attr( $section['icon'] ) .'"></i>' : '';
110
  $section_title = ( ! empty( $section['title'] ) ) ? $section['title'] : '';
111
 
112
- echo '<div class="csf-fields">';
113
 
114
- echo ( $section_title || $section_icon ) ? '<div class="csf-nav-menu-title"><h4>'. wp_kses_post( $section_icon . $section_title ) .'</h4></div>' : '';
115
 
116
  if ( ! empty( $section['fields'] ) ) {
117
 
@@ -125,7 +125,7 @@ if ( ! class_exists( 'CSF_Nav_Menu_Options' ) ) {
125
  $field['default'] = $this->get_default( $field );
126
  }
127
 
128
- CSF::field( $field, $this->get_meta_value( $menu_item_id, $field ), $this->unique .'['. $menu_item_id .']', 'menu' );
129
 
130
  }
131
 
@@ -214,9 +214,9 @@ if ( ! class_exists( 'CSF_Nav_Menu_Options' ) ) {
214
 
215
  }
216
 
217
- $data = apply_filters( "csf_{$this->unique}_save", $data, $menu_item_db_id, $this );
218
 
219
- do_action( "csf_{$this->unique}_save_before", $data, $menu_item_db_id, $this );
220
 
221
  if ( empty( $data ) ) {
222
 
@@ -239,14 +239,14 @@ if ( ! class_exists( 'CSF_Nav_Menu_Options' ) ) {
239
  }
240
 
241
  if ( ! empty( $errors ) ) {
242
- update_post_meta( $menu_item_db_id, '_csf_errors_'. $this->unique, $errors );
243
  }
244
 
245
  }
246
 
247
- do_action( "csf_{$this->unique}_saved", $data, $menu_item_db_id, $this );
248
 
249
- do_action( "csf_{$this->unique}_save_after", $data, $menu_item_db_id, $this );
250
 
251
  }
252
 
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Nav_Menu_Options' ) ) {
11
+ class ULF_Nav_Menu_Options extends ULF_Abstract{
12
 
13
  // constans
14
  public $unique = '';
24
  public function __construct( $key, $params ) {
25
 
26
  $this->unique = $key;
27
+ $this->args = apply_filters( "ulf_{$this->unique}_args", wp_parse_args( $params['args'], $this->args ), $this );
28
+ $this->sections = apply_filters( "ulf_{$this->unique}_sections", $params['sections'], $this );
29
 
30
  add_action( 'wp_nav_menu_item_custom_fields', array( &$this, 'wp_nav_menu_item_custom_fields' ), 10, 4 );
31
  add_action( 'wp_update_nav_menu_item', array( &$this, 'wp_update_nav_menu_item' ), 10, 3 );
45
 
46
  if( version_compare( $wp_version, '5.4.0', '<' ) ) {
47
 
48
+ if ( ! class_exists( 'ULF_Walker_Nav_Menu_Edit' ) ) {
49
+ ULF::include_plugin_file( 'functions/walker.php' );
50
  }
51
 
52
+ return 'ULF_Walker_Nav_Menu_Edit';
53
 
54
  }
55
 
94
  //
95
  public function wp_nav_menu_item_custom_fields( $menu_item_id, $item, $depth, $args ) {
96
 
97
+ $errors = ( ! empty( $menu_item_id ) ) ? get_post_meta( $menu_item_id, '_ulf_errors_'. $this->unique, true ) : array();
98
  $errors = ( ! empty( $errors ) ) ? $errors : array();
99
  $class = ( $this->args['class'] ) ? ' '. $this->args['class'] : '';
100
 
101
  if ( ! empty( $errors ) ) {
102
+ delete_post_meta( $menu_item_id, '_ulf_errors_'. $this->unique );
103
  }
104
 
105
+ echo '<div class="ulf ulf-nav-menu-options'. esc_attr( $class ) .'">';
106
 
107
  foreach ( $this->sections as $section ) {
108
 
109
+ $section_icon = ( ! empty( $section['icon'] ) ) ? '<i class="ulf-nav-menu-icon '. esc_attr( $section['icon'] ) .'"></i>' : '';
110
  $section_title = ( ! empty( $section['title'] ) ) ? $section['title'] : '';
111
 
112
+ echo '<div class="ulf-fields">';
113
 
114
+ echo ( $section_title || $section_icon ) ? '<div class="ulf-nav-menu-title"><h4>'. wp_kses_post( $section_icon . $section_title ) .'</h4></div>' : '';
115
 
116
  if ( ! empty( $section['fields'] ) ) {
117
 
125
  $field['default'] = $this->get_default( $field );
126
  }
127
 
128
+ ULF::field( $field, $this->get_meta_value( $menu_item_id, $field ), $this->unique .'['. $menu_item_id .']', 'menu' );
129
 
130
  }
131
 
214
 
215
  }
216
 
217
+ $data = apply_filters( "ulf_{$this->unique}_save", $data, $menu_item_db_id, $this );
218
 
219
+ do_action( "ulf_{$this->unique}_save_before", $data, $menu_item_db_id, $this );
220
 
221
  if ( empty( $data ) ) {
222
 
239
  }
240
 
241
  if ( ! empty( $errors ) ) {
242
+ update_post_meta( $menu_item_db_id, '_ulf_errors_'. $this->unique, $errors );
243
  }
244
 
245
  }
246
 
247
+ do_action( "ulf_{$this->unique}_saved", $data, $menu_item_db_id, $this );
248
 
249
+ do_action( "ulf_{$this->unique}_save_after", $data, $menu_item_db_id, $this );
250
 
251
  }
252
 
admin/settings/classes/profile-options.class.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Profile_Options' ) ) {
11
- class CSF_Profile_Options extends CSF_Abstract{
12
 
13
  // constans
14
  public $unique = '';
@@ -24,8 +24,8 @@ if ( ! class_exists( 'CSF_Profile_Options' ) ) {
24
  public function __construct( $key, $params ) {
25
 
26
  $this->unique = $key;
27
- $this->args = apply_filters( "csf_{$this->unique}_args", wp_parse_args( $params['args'], $this->args ), $this );
28
- $this->sections = apply_filters( "csf_{$this->unique}_sections", $params['sections'], $this );
29
 
30
  add_action( 'admin_init', array( &$this, 'add_profile_options' ) );
31
 
@@ -86,21 +86,21 @@ if ( ! class_exists( 'CSF_Profile_Options' ) ) {
86
 
87
  $is_profile = ( is_object( $profileuser ) && isset( $profileuser->ID ) ) ? true : false;
88
  $profile_id = ( $is_profile ) ? $profileuser->ID : 0;
89
- $errors = ( ! empty( $profile_id ) ) ? get_user_meta( $profile_id, '_csf_errors_'. $this->unique, true ) : array();
90
  $errors = ( ! empty( $errors ) ) ? $errors : array();
91
  $class = ( $this->args['class'] ) ? ''. $this->args['class'] : '';
92
 
93
  if ( ! empty( $errors ) ) {
94
- delete_user_meta( $profile_id, '_csf_errors_'. $this->unique );
95
  }
96
 
97
- echo '<div class="csf csf-profile-options csf-onload'. esc_attr( $class ) .'">';
98
 
99
- wp_nonce_field( 'csf_profile_nonce', 'csf_profile_nonce'. $this->unique );
100
 
101
  foreach ( $this->sections as $section ) {
102
 
103
- $section_icon = ( ! empty( $section['icon'] ) ) ? '<i class="csf-section-icon '. esc_attr( $section['icon'] ) .'"></i>' : '';
104
  $section_title = ( ! empty( $section['title'] ) ) ? $section['title'] : '';
105
 
106
  echo ( $section_title || $section_icon ) ? '<h2>'. wp_kses_post( $section_icon . $section_title ) .'</h2>' : '';
@@ -117,7 +117,7 @@ if ( ! class_exists( 'CSF_Profile_Options' ) ) {
117
  $field['default'] = $this->get_default( $field );
118
  }
119
 
120
- CSF::field( $field, $this->get_meta_value( $profile_id, $field ), $this->unique, 'profile' );
121
 
122
  }
123
 
@@ -135,10 +135,10 @@ if ( ! class_exists( 'CSF_Profile_Options' ) ) {
135
  $count = 1;
136
  $data = array();
137
  $errors = array();
138
- $noncekey = 'csf_profile_nonce'. $this->unique;
139
  $nonce = ( ! empty( $_POST[ $noncekey ] ) ) ? sanitize_text_field( wp_unslash( $_POST[ $noncekey ] ) ) : '';
140
 
141
- if ( ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) || ! wp_verify_nonce( $nonce, 'csf_profile_nonce' ) ) {
142
  return $user_id;
143
  }
144
 
@@ -205,9 +205,9 @@ if ( ! class_exists( 'CSF_Profile_Options' ) ) {
205
 
206
  }
207
 
208
- $data = apply_filters( "csf_{$this->unique}_save", $data, $user_id, $this );
209
 
210
- do_action( "csf_{$this->unique}_save_before", $data, $user_id, $this );
211
 
212
  if ( empty( $data ) ) {
213
 
@@ -230,14 +230,14 @@ if ( ! class_exists( 'CSF_Profile_Options' ) ) {
230
  }
231
 
232
  if ( ! empty( $errors ) ) {
233
- update_user_meta( $user_id, '_csf_errors_'. $this->unique, $errors );
234
  }
235
 
236
  }
237
 
238
- do_action( "csf_{$this->unique}_saved", $data, $user_id, $this );
239
 
240
- do_action( "csf_{$this->unique}_save_after", $data, $user_id, $this );
241
 
242
  }
243
  }
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Profile_Options' ) ) {
11
+ class ULF_Profile_Options extends ULF_Abstract{
12
 
13
  // constans
14
  public $unique = '';
24
  public function __construct( $key, $params ) {
25
 
26
  $this->unique = $key;
27
+ $this->args = apply_filters( "ulf_{$this->unique}_args", wp_parse_args( $params['args'], $this->args ), $this );
28
+ $this->sections = apply_filters( "ulf_{$this->unique}_sections", $params['sections'], $this );
29
 
30
  add_action( 'admin_init', array( &$this, 'add_profile_options' ) );
31
 
86
 
87
  $is_profile = ( is_object( $profileuser ) && isset( $profileuser->ID ) ) ? true : false;
88
  $profile_id = ( $is_profile ) ? $profileuser->ID : 0;
89
+ $errors = ( ! empty( $profile_id ) ) ? get_user_meta( $profile_id, '_ulf_errors_'. $this->unique, true ) : array();
90
  $errors = ( ! empty( $errors ) ) ? $errors : array();
91
  $class = ( $this->args['class'] ) ? ''. $this->args['class'] : '';
92
 
93
  if ( ! empty( $errors ) ) {
94
+ delete_user_meta( $profile_id, '_ulf_errors_'. $this->unique );
95
  }
96
 
97
+ echo '<div class="ulf ulf-profile-options ulf-onload'. esc_attr( $class ) .'">';
98
 
99
+ wp_nonce_field( 'ulf_profile_nonce', 'ulf_profile_nonce'. $this->unique );
100
 
101
  foreach ( $this->sections as $section ) {
102
 
103
+ $section_icon = ( ! empty( $section['icon'] ) ) ? '<i class="ulf-section-icon '. esc_attr( $section['icon'] ) .'"></i>' : '';
104
  $section_title = ( ! empty( $section['title'] ) ) ? $section['title'] : '';
105
 
106
  echo ( $section_title || $section_icon ) ? '<h2>'. wp_kses_post( $section_icon . $section_title ) .'</h2>' : '';
117
  $field['default'] = $this->get_default( $field );
118
  }
119
 
120
+ ULF::field( $field, $this->get_meta_value( $profile_id, $field ), $this->unique, 'profile' );
121
 
122
  }
123
 
135
  $count = 1;
136
  $data = array();
137
  $errors = array();
138
+ $noncekey = 'ulf_profile_nonce'. $this->unique;
139
  $nonce = ( ! empty( $_POST[ $noncekey ] ) ) ? sanitize_text_field( wp_unslash( $_POST[ $noncekey ] ) ) : '';
140
 
141
+ if ( ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) || ! wp_verify_nonce( $nonce, 'ulf_profile_nonce' ) ) {
142
  return $user_id;
143
  }
144
 
205
 
206
  }
207
 
208
+ $data = apply_filters( "ulf_{$this->unique}_save", $data, $user_id, $this );
209
 
210
+ do_action( "ulf_{$this->unique}_save_before", $data, $user_id, $this );
211
 
212
  if ( empty( $data ) ) {
213
 
230
  }
231
 
232
  if ( ! empty( $errors ) ) {
233
+ update_user_meta( $user_id, '_ulf_errors_'. $this->unique, $errors );
234
  }
235
 
236
  }
237
 
238
+ do_action( "ulf_{$this->unique}_saved", $data, $user_id, $this );
239
 
240
+ do_action( "ulf_{$this->unique}_save_after", $data, $user_id, $this );
241
 
242
  }
243
  }
admin/settings/classes/setup.class.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF' ) ) {
11
- class CSF {
12
 
13
  // Default constants
14
  public static $premium = true;
@@ -39,7 +39,7 @@ if ( ! class_exists( 'CSF' ) ) {
39
  public static function init() {
40
 
41
  // Init action
42
- do_action( 'csf_init' );
43
 
44
  // Set directory constants
45
  self::constants();
@@ -50,12 +50,12 @@ if ( ! class_exists( 'CSF' ) ) {
50
  // Setup textdomain
51
  // self::textdomain();
52
 
53
- add_action( 'after_setup_theme', array( 'CSF', 'setup' ) );
54
- add_action( 'init', array( 'CSF', 'setup' ) );
55
- add_action( 'switch_theme', array( 'CSF', 'setup' ) );
56
- add_action( 'admin_enqueue_scripts', array( 'CSF', 'add_admin_enqueue_scripts' ) );
57
- add_action( 'wp_enqueue_scripts', array( 'CSF', 'add_typography_enqueue_styles' ), 80 );
58
- add_action( 'wp_head', array( 'CSF', 'add_custom_css' ), 80 );
59
 
60
  }
61
 
@@ -75,7 +75,7 @@ if ( ! class_exists( 'CSF' ) ) {
75
  $params['sections'] = self::$args['sections'][$key];
76
  self::$inited[$key] = true;
77
 
78
- CSF_Options::instance( $key, $params );
79
 
80
  if ( ! empty( $value['show_in_customizer'] ) ) {
81
  $value['output_css'] = false;
@@ -98,7 +98,7 @@ if ( ! class_exists( 'CSF' ) ) {
98
  $params['sections'] = self::$args['sections'][$key];
99
  self::$inited[$key] = true;
100
 
101
- CSF_Customize_Options::instance( $key, $params );
102
 
103
  }
104
  }
@@ -114,7 +114,7 @@ if ( ! class_exists( 'CSF' ) ) {
114
  $params['sections'] = self::$args['sections'][$key];
115
  self::$inited[$key] = true;
116
 
117
- CSF_Metabox::instance( $key, $params );
118
 
119
  }
120
  }
@@ -130,7 +130,7 @@ if ( ! class_exists( 'CSF' ) ) {
130
  $params['sections'] = self::$args['sections'][$key];
131
  self::$inited[$key] = true;
132
 
133
- CSF_Nav_Menu_Options::instance( $key, $params );
134
 
135
  }
136
  }
@@ -146,7 +146,7 @@ if ( ! class_exists( 'CSF' ) ) {
146
  $params['sections'] = self::$args['sections'][$key];
147
  self::$inited[$key] = true;
148
 
149
- CSF_Profile_Options::instance( $key, $params );
150
 
151
  }
152
  }
@@ -163,7 +163,7 @@ if ( ! class_exists( 'CSF' ) ) {
163
  $params['sections'] = self::$args['sections'][$key];
164
  self::$inited[$key] = true;
165
 
166
- CSF_Taxonomy_Options::instance( $key, $params );
167
 
168
  }
169
  }
@@ -176,7 +176,7 @@ if ( ! class_exists( 'CSF' ) ) {
176
  if ( ! isset( self::$inited[$key] ) ) {
177
 
178
  self::$inited[$key] = true;
179
- $wp_widget_factory->register( CSF_Widget::instance( $key, $value ) );
180
 
181
  }
182
  }
@@ -192,7 +192,7 @@ if ( ! class_exists( 'CSF' ) ) {
192
  $params['sections'] = self::$args['sections'][$key];
193
  self::$inited[$key] = true;
194
 
195
- CSF_Comment_Metabox::instance( $key, $params );
196
 
197
  }
198
  }
@@ -209,19 +209,19 @@ if ( ! class_exists( 'CSF' ) ) {
209
  $params['sections'] = self::$args['sections'][$key];
210
  self::$inited[$key] = true;
211
 
212
- CSF_Shortcoder::instance( $key, $params );
213
 
214
  }
215
  }
216
 
217
  // Once editor setup for gutenberg and media buttons
218
- if ( ! empty( CSF::$shortcode_instances ) ) {
219
- CSF_Shortcoder::once_editor_setup();
220
  }
221
 
222
  }
223
 
224
- do_action( 'csf_loaded' );
225
 
226
  }
227
 
@@ -301,7 +301,7 @@ if ( ! class_exists( 'CSF' ) ) {
301
 
302
  $path = '';
303
  $file = ltrim( $file, '/' );
304
- $override = apply_filters( 'csf_override', 'csf-override' );
305
 
306
  if ( file_exists( get_parent_theme_file_path( $override .'/'. $file ) ) ) {
307
  $path = get_parent_theme_file_path( $override .'/'. $file );
@@ -380,14 +380,14 @@ if ( ! class_exists( 'CSF' ) ) {
380
 
381
  // Maybe include a field class
382
  public static function maybe_include_field( $type = '' ) {
383
- if ( ! class_exists( 'CSF_Field_'. $type ) && class_exists( 'CSF_Fields' ) ) {
384
  self::include_plugin_file( 'fields/'. $type .'/'. $type .'.php' );
385
  }
386
  }
387
 
388
  // Setup textdomain
389
  public static function textdomain() {
390
- load_textdomain( 'csf', self::$dir .'/languages/'. get_locale() .'.mo' );
391
  }
392
 
393
  // Set all of used fields
@@ -478,7 +478,7 @@ if ( ! class_exists( 'CSF' ) ) {
478
  $enqueue = true;
479
  }
480
 
481
- if( $wpscreen->id === 'tools_page_csf-welcome' ) {
482
  $enqueue = true;
483
  }
484
 
@@ -497,38 +497,38 @@ if ( ! class_exists( 'CSF' ) ) {
497
  wp_enqueue_script( 'wp-color-picker' );
498
 
499
  // Font awesome 4 and 5 loader
500
- if ( apply_filters( 'csf_fa4', false ) ) {
501
- wp_enqueue_style( 'csf-fa', 'https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome'. $min .'.css', array(), '4.7.0', 'all' );
502
  } else {
503
- wp_enqueue_style( 'csf-fa5', 'https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@5.13.0/css/all'. $min .'.css', array(), '5.13.0', 'all' );
504
- wp_enqueue_style( 'csf-fa5-v4-shims', 'https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@5.13.0/css/v4-shims'. $min .'.css', array(), '5.13.0', 'all' );
505
  }
506
 
507
  // Main style
508
- wp_enqueue_style( 'csf', CSF::include_plugin_url( 'assets/css/style'. $min .'.css' ), array(), self::$version, 'all' );
509
 
510
  // Main RTL styles
511
  if ( is_rtl() ) {
512
- wp_enqueue_style( 'csf-rtl', CSF::include_plugin_url( 'assets/css/style-rtl'. $min .'.css' ), array(), self::$version, 'all' );
513
  }
514
 
515
  // Main scripts
516
- wp_enqueue_script( 'csf-plugins', CSF::include_plugin_url( 'assets/js/plugins'. $min .'.js' ), array(), self::$version, true );
517
- wp_enqueue_script( 'csf', CSF::include_plugin_url( 'assets/js/main'. $min .'.js' ), array( 'csf-plugins' ), self::$version, true );
518
 
519
  // Main variables
520
- wp_localize_script( 'csf', 'csf_vars', array(
521
- 'color_palette' => apply_filters( 'csf_color_palette', array() ),
522
  'i18n' => array(
523
  // global localize
524
- 'confirm' => esc_html__( 'Are you sure?', 'csf' ),
525
- 'reset_notification' => esc_html__( 'Restoring options.', 'csf' ),
526
- 'import_notification' => esc_html__( 'Importing options.', 'csf' ),
527
 
528
  // chosen localize
529
- 'typing_text' => esc_html__( 'Please enter %s or more characters', 'csf' ),
530
- 'searching_text' => esc_html__( 'Searching...', 'csf' ),
531
- 'no_results_text' => esc_html__( 'No results match', 'csf' ),
532
  ),
533
  ) );
534
 
@@ -538,7 +538,7 @@ if ( ! class_exists( 'CSF' ) ) {
538
  if ( ! empty( self::$fields ) ) {
539
  foreach ( self::$fields as $field ) {
540
  if ( ! empty( $field['type'] ) ) {
541
- $classname = 'CSF_Field_' . $field['type'];
542
  self::maybe_include_field( $field['type'] );
543
  if ( class_exists( $classname ) && method_exists( $classname, 'enqueue' ) ) {
544
  $instance = new $classname( $field );
@@ -551,7 +551,7 @@ if ( ! class_exists( 'CSF' ) ) {
551
  }
552
  }
553
 
554
- do_action( 'csf_enqueue' );
555
 
556
  }
557
 
@@ -564,7 +564,7 @@ if ( ! class_exists( 'CSF' ) ) {
564
 
565
  $api = '//fonts.googleapis.com/css';
566
  $query = array( 'family' => implode( '%7C', self::$webfonts['enqueue'] ), 'display' => 'swap' );
567
- $handle = 'csf-google-web-fonts';
568
 
569
  if( ! empty( self::$subsets ) ) {
570
  $query['subset'] = implode( ',', self::$subsets );
@@ -574,8 +574,8 @@ if ( ! class_exists( 'CSF' ) ) {
574
 
575
  } else {
576
 
577
- wp_enqueue_script( 'csf-google-web-fonts', esc_url( '//ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js' ), array(), null );
578
- wp_localize_script( 'csf-google-web-fonts', 'WebFontConfig', array( 'google' => array( 'families' => array_values( self::$webfonts['async'] ) ) ) );
579
 
580
  }
581
 
@@ -600,7 +600,7 @@ if ( ! class_exists( 'CSF' ) ) {
600
  $field_type = $field['type'];
601
 
602
  $field = array();
603
- $field['content'] = sprintf( esc_html__( 'Ooops! This field type (%s) can not be used here, yet.', 'csf' ), '<strong>'. $field_type .'</strong>' );
604
  $field['type'] = 'notice';
605
  $field['style'] = 'danger';
606
 
@@ -610,7 +610,7 @@ if ( ! class_exists( 'CSF' ) ) {
610
  $visible = '';
611
  $unique = ( ! empty( $unique ) ) ? $unique : '';
612
  $class = ( ! empty( $field['class'] ) ) ? ' ' . esc_attr( $field['class'] ) : '';
613
- $is_pseudo = ( ! empty( $field['pseudo'] ) ) ? ' csf-pseudo-field' : '';
614
  $field_type = ( ! empty( $field['type'] ) ) ? esc_attr( $field['type'] ) : '';
615
 
616
  if ( ! empty( $field['dependency'] ) ) {
@@ -641,44 +641,44 @@ if ( ! class_exists( 'CSF' ) ) {
641
  $depend .= ' data-value="'. esc_attr( $data_value ) .'"';
642
  $depend .= ( ! empty( $data_global ) ) ? ' data-depend-global="true"' : '';
643
 
644
- $visible = ( ! empty( $depend_visible ) ) ? ' csf-depend-visible' : ' csf-depend-hidden';
645
 
646
  }
647
 
648
  if ( ! empty( $field_type ) ) {
649
 
650
  // These attributes has been sanitized above.
651
- echo '<div class="csf-field csf-field-'. $field_type . $is_pseudo . $class . $visible .'"'. $depend .'>';
652
 
653
  if ( ! empty( $field['fancy_title'] ) ) {
654
- echo '<div class="csf-fancy-title">' . wp_kses_post( $field['fancy_title'] ) .'</div>';
655
  }
656
 
657
  if ( ! empty( $field['title'] ) ) {
658
- echo '<div class="csf-title">';
659
  echo '<h4>'. wp_kses_post( $field['title'] ) .'</h4>';
660
- echo ( ! empty( $field['subtitle'] ) ) ? '<div class="csf-subtitle-text">'. wp_kses_post( $field['subtitle'] ) .'</div>' : '';
661
  echo '</div>';
662
  }
663
 
664
- echo ( ! empty( $field['title'] ) || ! empty( $field['fancy_title'] ) ) ? '<div class="csf-fieldset">' : '';
665
 
666
  $value = ( ! isset( $value ) && isset( $field['default'] ) ) ? $field['default'] : $value;
667
  $value = ( isset( $field['value'] ) ) ? $field['value'] : $value;
668
 
669
  self::maybe_include_field( $field_type );
670
 
671
- $classname = 'CSF_Field_'. $field_type;
672
 
673
  if ( class_exists( $classname ) ) {
674
  $instance = new $classname( $field, $value, $unique, $where, $parent );
675
  $instance->render();
676
  } else {
677
- echo '<p>'. esc_html__( 'This field class is not available!', 'csf' ) .'</p>';
678
  }
679
 
680
  } else {
681
- echo '<p>'. esc_html__( 'This type is not found!', 'csf' ) .'</p>';
682
  }
683
 
684
  echo ( ! empty( $field['title'] ) || ! empty( $field['fancy_title'] ) ) ? '</div>' : '';
@@ -689,5 +689,5 @@ if ( ! class_exists( 'CSF' ) ) {
689
 
690
  }
691
 
692
- CSF::init();
693
  }
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF' ) ) {
11
+ class ULF {
12
 
13
  // Default constants
14
  public static $premium = true;
39
  public static function init() {
40
 
41
  // Init action
42
+ do_action( 'ulf_init' );
43
 
44
  // Set directory constants
45
  self::constants();
50
  // Setup textdomain
51
  // self::textdomain();
52
 
53
+ add_action( 'after_setup_theme', array( 'ULF', 'setup' ) );
54
+ add_action( 'init', array( 'ULF', 'setup' ) );
55
+ add_action( 'switch_theme', array( 'ULF', 'setup' ) );
56
+ add_action( 'admin_enqueue_scripts', array( 'ULF', 'add_admin_enqueue_scripts' ) );
57
+ add_action( 'wp_enqueue_scripts', array( 'ULF', 'add_typography_enqueue_styles' ), 80 );
58
+ add_action( 'wp_head', array( 'ULF', 'add_custom_css' ), 80 );
59
 
60
  }
61
 
75
  $params['sections'] = self::$args['sections'][$key];
76
  self::$inited[$key] = true;
77
 
78
+ ULF_Options::instance( $key, $params );
79
 
80
  if ( ! empty( $value['show_in_customizer'] ) ) {
81
  $value['output_css'] = false;
98
  $params['sections'] = self::$args['sections'][$key];
99
  self::$inited[$key] = true;
100
 
101
+ ULF_Customize_Options::instance( $key, $params );
102
 
103
  }
104
  }
114
  $params['sections'] = self::$args['sections'][$key];
115
  self::$inited[$key] = true;
116
 
117
+ ULF_Metabox::instance( $key, $params );
118
 
119
  }
120
  }
130
  $params['sections'] = self::$args['sections'][$key];
131
  self::$inited[$key] = true;
132
 
133
+ ULF_Nav_Menu_Options::instance( $key, $params );
134
 
135
  }
136
  }
146
  $params['sections'] = self::$args['sections'][$key];
147
  self::$inited[$key] = true;
148
 
149
+ ULF_Profile_Options::instance( $key, $params );
150
 
151
  }
152
  }
163
  $params['sections'] = self::$args['sections'][$key];
164
  self::$inited[$key] = true;
165
 
166
+ ULF_Taxonomy_Options::instance( $key, $params );
167
 
168
  }
169
  }
176
  if ( ! isset( self::$inited[$key] ) ) {
177
 
178
  self::$inited[$key] = true;
179
+ $wp_widget_factory->register( ULF_Widget::instance( $key, $value ) );
180
 
181
  }
182
  }
192
  $params['sections'] = self::$args['sections'][$key];
193
  self::$inited[$key] = true;
194
 
195
+ ULF_Comment_Metabox::instance( $key, $params );
196
 
197
  }
198
  }
209
  $params['sections'] = self::$args['sections'][$key];
210
  self::$inited[$key] = true;
211
 
212
+ ULF_Shortcoder::instance( $key, $params );
213
 
214
  }
215
  }
216
 
217
  // Once editor setup for gutenberg and media buttons
218
+ if ( ! empty( ULF::$shortcode_instances ) ) {
219
+ ULF_Shortcoder::once_editor_setup();
220
  }
221
 
222
  }
223
 
224
+ do_action( 'ulf_loaded' );
225
 
226
  }
227
 
301
 
302
  $path = '';
303
  $file = ltrim( $file, '/' );
304
+ $override = apply_filters( 'ulf_override', 'ulf-override' );
305
 
306
  if ( file_exists( get_parent_theme_file_path( $override .'/'. $file ) ) ) {
307
  $path = get_parent_theme_file_path( $override .'/'. $file );
380
 
381
  // Maybe include a field class
382
  public static function maybe_include_field( $type = '' ) {
383
+ if ( ! class_exists( 'ULF_Field_'. $type ) && class_exists( 'ULF_Fields' ) ) {
384
  self::include_plugin_file( 'fields/'. $type .'/'. $type .'.php' );
385
  }
386
  }
387
 
388
  // Setup textdomain
389
  public static function textdomain() {
390
+ load_textdomain( 'ulf', self::$dir .'/languages/'. get_locale() .'.mo' );
391
  }
392
 
393
  // Set all of used fields
478
  $enqueue = true;
479
  }
480
 
481
+ if( $wpscreen->id === 'tools_page_ulf-welcome' ) {
482
  $enqueue = true;
483
  }
484
 
497
  wp_enqueue_script( 'wp-color-picker' );
498
 
499
  // Font awesome 4 and 5 loader
500
+ if ( apply_filters( 'ulf_fa4', false ) ) {
501
+ wp_enqueue_style( 'ulf-fa', 'https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome'. $min .'.css', array(), '4.7.0', 'all' );
502
  } else {
503
+ wp_enqueue_style( 'ulf-fa5', 'https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@5.13.0/css/all'. $min .'.css', array(), '5.13.0', 'all' );
504
+ wp_enqueue_style( 'ulf-fa5-v4-shims', 'https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@5.13.0/css/v4-shims'. $min .'.css', array(), '5.13.0', 'all' );
505
  }
506
 
507
  // Main style
508
+ wp_enqueue_style( 'ulf', ULF::include_plugin_url( 'assets/css/style'. $min .'.css' ), array(), self::$version, 'all' );
509
 
510
  // Main RTL styles
511
  if ( is_rtl() ) {
512
+ wp_enqueue_style( 'ulf-rtl', ULF::include_plugin_url( 'assets/css/style-rtl'. $min .'.css' ), array(), self::$version, 'all' );
513
  }
514
 
515
  // Main scripts
516
+ wp_enqueue_script( 'ulf-plugins', ULF::include_plugin_url( 'assets/js/plugins'. $min .'.js' ), array(), self::$version, true );
517
+ wp_enqueue_script( 'ulf', ULF::include_plugin_url( 'assets/js/main'. $min .'.js' ), array( 'ulf-plugins' ), self::$version, true );
518
 
519
  // Main variables
520
+ wp_localize_script( 'ulf', 'ulf_vars', array(
521
+ 'color_palette' => apply_filters( 'ulf_color_palette', array() ),
522
  'i18n' => array(
523
  // global localize
524
+ 'confirm' => esc_html__( 'Are you sure?', 'ulf' ),
525
+ 'reset_notification' => esc_html__( 'Restoring options.', 'ulf' ),
526
+ 'import_notification' => esc_html__( 'Importing options.', 'ulf' ),
527
 
528
  // chosen localize
529
+ 'typing_text' => esc_html__( 'Please enter %s or more characters', 'ulf' ),
530
+ 'searching_text' => esc_html__( 'Searching...', 'ulf' ),
531
+ 'no_results_text' => esc_html__( 'No results match', 'ulf' ),
532
  ),
533
  ) );
534
 
538
  if ( ! empty( self::$fields ) ) {
539
  foreach ( self::$fields as $field ) {
540
  if ( ! empty( $field['type'] ) ) {
541
+ $classname = 'ULF_Field_' . $field['type'];
542
  self::maybe_include_field( $field['type'] );
543
  if ( class_exists( $classname ) && method_exists( $classname, 'enqueue' ) ) {
544
  $instance = new $classname( $field );
551
  }
552
  }
553
 
554
+ do_action( 'ulf_enqueue' );
555
 
556
  }
557
 
564
 
565
  $api = '//fonts.googleapis.com/css';
566
  $query = array( 'family' => implode( '%7C', self::$webfonts['enqueue'] ), 'display' => 'swap' );
567
+ $handle = 'ulf-google-web-fonts';
568
 
569
  if( ! empty( self::$subsets ) ) {
570
  $query['subset'] = implode( ',', self::$subsets );
574
 
575
  } else {
576
 
577
+ wp_enqueue_script( 'ulf-google-web-fonts', esc_url( '//ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js' ), array(), null );
578
+ wp_localize_script( 'ulf-google-web-fonts', 'WebFontConfig', array( 'google' => array( 'families' => array_values( self::$webfonts['async'] ) ) ) );
579
 
580
  }
581
 
600
  $field_type = $field['type'];
601
 
602
  $field = array();
603
+ $field['content'] = sprintf( esc_html__( 'Ooops! This field type (%s) can not be used here, yet.', 'ulf' ), '<strong>'. $field_type .'</strong>' );
604
  $field['type'] = 'notice';
605
  $field['style'] = 'danger';
606
 
610
  $visible = '';
611
  $unique = ( ! empty( $unique ) ) ? $unique : '';
612
  $class = ( ! empty( $field['class'] ) ) ? ' ' . esc_attr( $field['class'] ) : '';
613
+ $is_pseudo = ( ! empty( $field['pseudo'] ) ) ? ' ulf-pseudo-field' : '';
614
  $field_type = ( ! empty( $field['type'] ) ) ? esc_attr( $field['type'] ) : '';
615
 
616
  if ( ! empty( $field['dependency'] ) ) {
641
  $depend .= ' data-value="'. esc_attr( $data_value ) .'"';
642
  $depend .= ( ! empty( $data_global ) ) ? ' data-depend-global="true"' : '';
643
 
644
+ $visible = ( ! empty( $depend_visible ) ) ? ' ulf-depend-visible' : ' ulf-depend-hidden';
645
 
646
  }
647
 
648
  if ( ! empty( $field_type ) ) {
649
 
650
  // These attributes has been sanitized above.
651
+ echo '<div class="ulf-field ulf-field-'. $field_type . $is_pseudo . $class . $visible .'"'. $depend .'>';
652
 
653
  if ( ! empty( $field['fancy_title'] ) ) {
654
+ echo '<div class="ulf-fancy-title">' . wp_kses_post( $field['fancy_title'] ) .'</div>';
655
  }
656
 
657
  if ( ! empty( $field['title'] ) ) {
658
+ echo '<div class="ulf-title">';
659
  echo '<h4>'. wp_kses_post( $field['title'] ) .'</h4>';
660
+ echo ( ! empty( $field['subtitle'] ) ) ? '<div class="ulf-subtitle-text">'. wp_kses_post( $field['subtitle'] ) .'</div>' : '';
661
  echo '</div>';
662
  }
663
 
664
+ echo ( ! empty( $field['title'] ) || ! empty( $field['fancy_title'] ) ) ? '<div class="ulf-fieldset">' : '';
665
 
666
  $value = ( ! isset( $value ) && isset( $field['default'] ) ) ? $field['default'] : $value;
667
  $value = ( isset( $field['value'] ) ) ? $field['value'] : $value;
668
 
669
  self::maybe_include_field( $field_type );
670
 
671
+ $classname = 'ULF_Field_'. $field_type;
672
 
673
  if ( class_exists( $classname ) ) {
674
  $instance = new $classname( $field, $value, $unique, $where, $parent );
675
  $instance->render();
676
  } else {
677
+ echo '<p>'. esc_html__( 'This field class is not available!', 'ulf' ) .'</p>';
678
  }
679
 
680
  } else {
681
+ echo '<p>'. esc_html__( 'This type is not found!', 'ulf' ) .'</p>';
682
  }
683
 
684
  echo ( ! empty( $field['title'] ) || ! empty( $field['fancy_title'] ) ) ? '</div>' : '';
689
 
690
  }
691
 
692
+ ULF::init();
693
  }
admin/settings/classes/shortcode-options.class.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Shortcoder' ) ) {
11
- class CSF_Shortcoder extends CSF_Abstract{
12
 
13
  // constans
14
  public $unique = '';
@@ -25,11 +25,11 @@ if ( ! class_exists( 'CSF_Shortcoder' ) ) {
25
  'defaults' => array(),
26
  'class' => '',
27
  'gutenberg' => array(
28
- 'title' => 'CSF Shortcodes',
29
- 'description' => 'CSF Shortcode Block',
30
  'icon' => 'screenoptions',
31
  'category' => 'widgets',
32
- 'keywords' => array( 'shortcode', 'csf', 'insert' ),
33
  'placeholder' => 'Write shortcode here...',
34
  ),
35
  );
@@ -38,23 +38,23 @@ if ( ! class_exists( 'CSF_Shortcoder' ) ) {
38
  public function __construct( $key, $params = array() ) {
39
 
40
  $this->unique = $key;
41
- $this->args = apply_filters( "csf_{$this->unique}_args", wp_parse_args( $params['args'], $this->args ), $this );
42
- $this->sections = apply_filters( "csf_{$this->unique}_sections", $params['sections'], $this );
43
  $this->pre_tabs = $this->pre_tabs( $this->sections );
44
  $this->pre_sections = $this->pre_sections( $this->sections );
45
 
46
  add_action( 'admin_footer', array( &$this, 'add_footer_modal_shortcode' ) );
47
  add_action( 'customize_controls_print_footer_scripts', array( &$this, 'add_footer_modal_shortcode' ) );
48
- add_action( 'wp_ajax_csf-get-shortcode-'. $this->unique, array( &$this, 'get_shortcode' ) );
49
 
50
  if ( ! empty( $this->args['show_in_editor'] ) ) {
51
 
52
- CSF::$shortcode_instances[] = wp_parse_args( array( 'hash' => md5( $key ), 'modal_id' => $this->unique ), $this->args );
53
 
54
  // elementor editor support
55
- if ( CSF::is_active_plugin( 'elementor/elementor.php' ) ) {
56
- add_action( 'elementor/editor/before_enqueue_scripts', array( 'CSF', 'add_admin_enqueue_scripts' ) );
57
- add_action( 'elementor/editor/footer', array( 'CSF_Field_icon', 'add_footer_modal_icon' ) );
58
  add_action( 'elementor/editor/footer', array( &$this, 'add_footer_modal_shortcode' ) );
59
  }
60
 
@@ -124,28 +124,28 @@ if ( ! class_exists( 'CSF_Shortcoder' ) ) {
124
 
125
  public function add_footer_modal_shortcode() {
126
 
127
- if( ! wp_script_is( 'csf' ) ) {
128
  return;
129
  }
130
 
131
  $class = ( $this->args['class'] ) ? ' '. esc_attr( $this->args['class'] ) : '';
132
  $has_select = ( count( $this->pre_tabs ) > 1 ) ? true : false;
133
- $single_usage = ( ! $has_select ) ? ' csf-shortcode-single' : '';
134
  $hide_header = ( ! $has_select ) ? ' hidden' : '';
135
 
136
  ?>
137
- <div id="csf-modal-<?php echo esc_attr( $this->unique ); ?>" class="wp-core-ui csf-modal csf-shortcode hidden<?php echo esc_attr( $single_usage . $class ); ?>" data-modal-id="<?php echo esc_attr( $this->unique ); ?>" data-nonce="<?php echo esc_attr( wp_create_nonce( 'csf_shortcode_nonce' ) ); ?>">
138
- <div class="csf-modal-table">
139
- <div class="csf-modal-table-cell">
140
- <div class="csf-modal-overlay"></div>
141
- <div class="csf-modal-inner">
142
- <div class="csf-modal-title">
143
  <?php echo wp_kses_post( $this->args['button_title'] ); ?>
144
- <div class="csf-modal-close"></div>
145
  </div>
146
  <?php
147
 
148
- echo '<div class="csf-modal-header'. esc_attr( $hide_header ) .'">';
149
  echo '<select>';
150
  echo ( $has_select ) ? '<option value="">'. esc_attr( $this->args['select_title'] ) .'</option>' : '';
151
 
@@ -189,11 +189,11 @@ if ( ! class_exists( 'CSF_Shortcoder' ) ) {
189
  echo '</div>';
190
 
191
  ?>
192
- <div class="csf-modal-content">
193
- <div class="csf-modal-loading"><div class="csf-loading"></div></div>
194
- <div class="csf-modal-load"></div>
195
  </div>
196
- <div class="csf-modal-insert-wrapper hidden"><a href="#" class="button button-primary csf-modal-insert"><?php echo wp_kses_post( $this->args['insert_title'] ); ?></a></div>
197
  </div>
198
  </div>
199
  </div>
@@ -208,7 +208,7 @@ if ( ! class_exists( 'CSF_Shortcoder' ) ) {
208
  $nonce = ( ! empty( $_POST[ 'nonce' ] ) ) ? sanitize_text_field( wp_unslash( $_POST[ 'nonce' ] ) ) : '';
209
  $shortcode_key = ( ! empty( $_POST[ 'shortcode_key' ] ) ) ? sanitize_text_field( wp_unslash( $_POST[ 'shortcode_key' ] ) ) : '';
210
 
211
- if ( ! empty( $shortcode_key ) && wp_verify_nonce( $nonce, 'csf_shortcode_nonce' ) ) {
212
 
213
  $unallows = array( 'group', 'repeater', 'sorter' );
214
  $section = $this->pre_sections[$shortcode_key-1];
@@ -221,7 +221,7 @@ if ( ! class_exists( 'CSF_Shortcoder' ) ) {
221
  // View: normal
222
  if ( ! empty( $section['fields'] ) && $view !== 'repeater' ) {
223
 
224
- echo '<div class="csf-fields">';
225
 
226
  foreach ( $section['fields'] as $field ) {
227
 
@@ -232,7 +232,7 @@ if ( ! class_exists( 'CSF_Shortcoder' ) ) {
232
 
233
  $field_default = ( isset( $field['id'] ) ) ? $this->get_default( $field ) : '';
234
 
235
- CSF::field( $field, $field_default, $shortcode, 'shortcode' );
236
 
237
  }
238
 
@@ -247,16 +247,16 @@ if ( ! class_exists( 'CSF_Shortcoder' ) ) {
247
 
248
  if ( ! empty( $repeatable_fields ) ) {
249
 
250
- $button_title = ( ! empty( $section['button_title'] ) ) ? ' '. $section['button_title'] : esc_html__( 'Add one more', 'csf' );
251
  $inner_shortcode = ( ! empty( $section['group_shortcode'] ) ) ? $section['group_shortcode'] : $shortcode;
252
 
253
- echo '<div class="csf--repeatable">';
254
 
255
- echo '<div class="csf--repeat-shortcode">';
256
 
257
- echo '<div class="csf-repeat-remove fas fa-times"></div>';
258
 
259
- echo '<div class="csf-fields">';
260
 
261
  foreach ( $repeatable_fields as $field ) {
262
 
@@ -267,7 +267,7 @@ if ( ! class_exists( 'CSF_Shortcoder' ) ) {
267
 
268
  $field_default = ( isset( $field['id'] ) ) ? $this->get_default( $field ) : '';
269
 
270
- CSF::field( $field, $field_default, $inner_shortcode.'[0]', 'shortcode' );
271
 
272
  }
273
 
@@ -277,14 +277,14 @@ if ( ! class_exists( 'CSF_Shortcoder' ) ) {
277
 
278
  echo '</div>';
279
 
280
- echo '<div class="csf--repeat-button-block"><a class="button csf--repeat-button" href="#"><i class="fas fa-plus-circle"></i> '. wp_kses_post( $button_title ) .'</a></div>';
281
 
282
  }
283
 
284
  }
285
 
286
  } else {
287
- echo '<div class="csf-field csf-error-text">'. esc_html__( 'Error: Nonce verification has failed. Please try again.', 'csf' ) .'</div>';
288
  }
289
 
290
  wp_send_json_success( array( 'content' => ob_get_clean() ) );
@@ -295,11 +295,11 @@ if ( ! class_exists( 'CSF_Shortcoder' ) ) {
295
  public static function once_editor_setup() {
296
 
297
  if ( function_exists( 'register_block_type' ) ) {
298
- add_action( 'init', array( 'CSF_Shortcoder', 'add_guteberg_block' ) );
299
  }
300
 
301
- if ( csf_wp_editor_api() ) {
302
- add_action( 'media_buttons', array( 'CSF_Shortcoder', 'add_media_buttons' ) );
303
  }
304
 
305
  }
@@ -307,14 +307,14 @@ if ( ! class_exists( 'CSF_Shortcoder' ) ) {
307
  // Add gutenberg blocks.
308
  public static function add_guteberg_block() {
309
 
310
- wp_register_script( 'csf-gutenberg-block', CSF::include_plugin_url( 'assets/js/gutenberg.js' ), array( 'wp-blocks', 'wp-editor', 'wp-element', 'wp-components' ) );
311
 
312
- wp_localize_script( 'csf-gutenberg-block', 'csf_gutenberg_blocks', CSF::$shortcode_instances );
313
 
314
- foreach ( CSF::$shortcode_instances as $hash => $value ) {
315
 
316
- register_block_type( 'csf-gutenberg-block/block-'. $hash, array(
317
- 'editor_script' => 'csf-gutenberg-block',
318
  ) );
319
 
320
  }
@@ -324,8 +324,8 @@ if ( ! class_exists( 'CSF_Shortcoder' ) ) {
324
  // Add media buttons
325
  public static function add_media_buttons( $editor_id ) {
326
 
327
- foreach ( CSF::$shortcode_instances as $hash => $value ) {
328
- echo '<a href="#" class="button button-primary csf-shortcode-button" data-editor-id="'. esc_attr( $editor_id ) .'" data-modal-id="'. esc_attr( $value['modal_id'] ) .'">'. wp_kses_post( $value['button_title'] ) .'</a>';
329
  }
330
 
331
  }
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Shortcoder' ) ) {
11
+ class ULF_Shortcoder extends ULF_Abstract{
12
 
13
  // constans
14
  public $unique = '';
25
  'defaults' => array(),
26
  'class' => '',
27
  'gutenberg' => array(
28
+ 'title' => 'ULF Shortcodes',
29
+ 'description' => 'ULF Shortcode Block',
30
  'icon' => 'screenoptions',
31
  'category' => 'widgets',
32
+ 'keywords' => array( 'shortcode', 'ulf', 'insert' ),
33
  'placeholder' => 'Write shortcode here...',
34
  ),
35
  );
38
  public function __construct( $key, $params = array() ) {
39
 
40
  $this->unique = $key;
41
+ $this->args = apply_filters( "ulf_{$this->unique}_args", wp_parse_args( $params['args'], $this->args ), $this );
42
+ $this->sections = apply_filters( "ulf_{$this->unique}_sections", $params['sections'], $this );
43
  $this->pre_tabs = $this->pre_tabs( $this->sections );
44
  $this->pre_sections = $this->pre_sections( $this->sections );
45
 
46
  add_action( 'admin_footer', array( &$this, 'add_footer_modal_shortcode' ) );
47
  add_action( 'customize_controls_print_footer_scripts', array( &$this, 'add_footer_modal_shortcode' ) );
48
+ add_action( 'wp_ajax_ulf-get-shortcode-'. $this->unique, array( &$this, 'get_shortcode' ) );
49
 
50
  if ( ! empty( $this->args['show_in_editor'] ) ) {
51
 
52
+ ULF::$shortcode_instances[] = wp_parse_args( array( 'hash' => md5( $key ), 'modal_id' => $this->unique ), $this->args );
53
 
54
  // elementor editor support
55
+ if ( ULF::is_active_plugin( 'elementor/elementor.php' ) ) {
56
+ add_action( 'elementor/editor/before_enqueue_scripts', array( 'ULF', 'add_admin_enqueue_scripts' ) );
57
+ // add_action( 'elementor/editor/footer', array( 'ULF_Field_icon', 'add_footer_modal_icon' ) );
58
  add_action( 'elementor/editor/footer', array( &$this, 'add_footer_modal_shortcode' ) );
59
  }
60
 
124
 
125
  public function add_footer_modal_shortcode() {
126
 
127
+ if( ! wp_script_is( 'ulf' ) ) {
128
  return;
129
  }
130
 
131
  $class = ( $this->args['class'] ) ? ' '. esc_attr( $this->args['class'] ) : '';
132
  $has_select = ( count( $this->pre_tabs ) > 1 ) ? true : false;
133
+ $single_usage = ( ! $has_select ) ? ' ulf-shortcode-single' : '';
134
  $hide_header = ( ! $has_select ) ? ' hidden' : '';
135
 
136
  ?>
137
+ <div id="ulf-modal-<?php echo esc_attr( $this->unique ); ?>" class="wp-core-ui ulf-modal ulf-shortcode hidden<?php echo esc_attr( $single_usage . $class ); ?>" data-modal-id="<?php echo esc_attr( $this->unique ); ?>" data-nonce="<?php echo esc_attr( wp_create_nonce( 'ulf_shortcode_nonce' ) ); ?>">
138
+ <div class="ulf-modal-table">
139
+ <div class="ulf-modal-table-cell">
140
+ <div class="ulf-modal-overlay"></div>
141
+ <div class="ulf-modal-inner">
142
+ <div class="ulf-modal-title">
143
  <?php echo wp_kses_post( $this->args['button_title'] ); ?>
144
+ <div class="ulf-modal-close"></div>
145
  </div>
146
  <?php
147
 
148
+ echo '<div class="ulf-modal-header'. esc_attr( $hide_header ) .'">';
149
  echo '<select>';
150
  echo ( $has_select ) ? '<option value="">'. esc_attr( $this->args['select_title'] ) .'</option>' : '';
151
 
189
  echo '</div>';
190
 
191
  ?>
192
+ <div class="ulf-modal-content">
193
+ <div class="ulf-modal-loading"><div class="ulf-loading"></div></div>
194
+ <div class="ulf-modal-load"></div>
195
  </div>
196
+ <div class="ulf-modal-insert-wrapper hidden"><a href="#" class="button button-primary ulf-modal-insert"><?php echo wp_kses_post( $this->args['insert_title'] ); ?></a></div>
197
  </div>
198
  </div>
199
  </div>
208
  $nonce = ( ! empty( $_POST[ 'nonce' ] ) ) ? sanitize_text_field( wp_unslash( $_POST[ 'nonce' ] ) ) : '';
209
  $shortcode_key = ( ! empty( $_POST[ 'shortcode_key' ] ) ) ? sanitize_text_field( wp_unslash( $_POST[ 'shortcode_key' ] ) ) : '';
210
 
211
+ if ( ! empty( $shortcode_key ) && wp_verify_nonce( $nonce, 'ulf_shortcode_nonce' ) ) {
212
 
213
  $unallows = array( 'group', 'repeater', 'sorter' );
214
  $section = $this->pre_sections[$shortcode_key-1];
221
  // View: normal
222
  if ( ! empty( $section['fields'] ) && $view !== 'repeater' ) {
223
 
224
+ echo '<div class="ulf-fields">';
225
 
226
  foreach ( $section['fields'] as $field ) {
227
 
232
 
233
  $field_default = ( isset( $field['id'] ) ) ? $this->get_default( $field ) : '';
234
 
235
+ ULF::field( $field, $field_default, $shortcode, 'shortcode' );
236
 
237
  }
238
 
247
 
248
  if ( ! empty( $repeatable_fields ) ) {
249
 
250
+ $button_title = ( ! empty( $section['button_title'] ) ) ? ' '. $section['button_title'] : esc_html__( 'Add one more', 'ulf' );
251
  $inner_shortcode = ( ! empty( $section['group_shortcode'] ) ) ? $section['group_shortcode'] : $shortcode;
252
 
253
+ echo '<div class="ulf--repeatable">';
254
 
255
+ echo '<div class="ulf--repeat-shortcode">';
256
 
257
+ echo '<div class="ulf-repeat-remove fas fa-times"></div>';
258
 
259
+ echo '<div class="ulf-fields">';
260
 
261
  foreach ( $repeatable_fields as $field ) {
262
 
267
 
268
  $field_default = ( isset( $field['id'] ) ) ? $this->get_default( $field ) : '';
269
 
270
+ ULF::field( $field, $field_default, $inner_shortcode.'[0]', 'shortcode' );
271
 
272
  }
273
 
277
 
278
  echo '</div>';
279
 
280
+ echo '<div class="ulf--repeat-button-block"><a class="button ulf--repeat-button" href="#"><i class="fas fa-plus-circle"></i> '. wp_kses_post( $button_title ) .'</a></div>';
281
 
282
  }
283
 
284
  }
285
 
286
  } else {
287
+ echo '<div class="ulf-field ulf-error-text">'. esc_html__( 'Error: Nonce verification has failed. Please try again.', 'ulf' ) .'</div>';
288
  }
289
 
290
  wp_send_json_success( array( 'content' => ob_get_clean() ) );
295
  public static function once_editor_setup() {
296
 
297
  if ( function_exists( 'register_block_type' ) ) {
298
+ add_action( 'init', array( 'ULF_Shortcoder', 'add_guteberg_block' ) );
299
  }
300
 
301
+ if ( ulf_wp_editor_api() ) {
302
+ add_action( 'media_buttons', array( 'ULF_Shortcoder', 'add_media_buttons' ) );
303
  }
304
 
305
  }
307
  // Add gutenberg blocks.
308
  public static function add_guteberg_block() {
309
 
310
+ wp_register_script( 'ulf-gutenberg-block', ULF::include_plugin_url( 'assets/js/gutenberg.js' ), array( 'wp-blocks', 'wp-editor', 'wp-element', 'wp-components' ) );
311
 
312
+ wp_localize_script( 'ulf-gutenberg-block', 'ulf_gutenberg_blocks', ULF::$shortcode_instances );
313
 
314
+ foreach ( ULF::$shortcode_instances as $hash => $value ) {
315
 
316
+ register_block_type( 'ulf-gutenberg-block/block-'. $hash, array(
317
+ 'editor_script' => 'ulf-gutenberg-block',
318
  ) );
319
 
320
  }
324
  // Add media buttons
325
  public static function add_media_buttons( $editor_id ) {
326
 
327
+ foreach ( ULF::$shortcode_instances as $hash => $value ) {
328
+ echo '<a href="#" class="button button-primary ulf-shortcode-button" data-editor-id="'. esc_attr( $editor_id ) .'" data-modal-id="'. esc_attr( $value['modal_id'] ) .'">'. wp_kses_post( $value['button_title'] ) .'</a>';
329
  }
330
 
331
  }
admin/settings/classes/taxonomy-options.class.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Taxonomy_Options' ) ) {
11
- class CSF_Taxonomy_Options extends CSF_Abstract{
12
 
13
  // constans
14
  public $unique = '';
@@ -27,8 +27,8 @@ if ( ! class_exists( 'CSF_Taxonomy_Options' ) ) {
27
  public function __construct( $key, $params ) {
28
 
29
  $this->unique = $key;
30
- $this->args = apply_filters( "csf_{$this->unique}_args", wp_parse_args( $params['args'], $this->args ), $this );
31
- $this->sections = apply_filters( "csf_{$this->unique}_sections", $params['sections'], $this );
32
  $this->taxonomies = ( is_array( $this->args['taxonomy'] ) ) ? $this->args['taxonomy'] : array_filter( (array) $this->args['taxonomy'] );
33
  $this->taxonomy = ( ! empty( $_REQUEST[ 'taxonomy' ] ) ) ? sanitize_text_field( wp_unslash( $_REQUEST[ 'taxonomy' ] ) ) : '';
34
 
@@ -95,26 +95,26 @@ if ( ! class_exists( 'CSF_Taxonomy_Options' ) ) {
95
  $term_id = ( $is_term ) ? $term->term_id : 0;
96
  $taxonomy = ( $is_term ) ? $term->taxonomy : $term;
97
  $classname = ( $is_term ) ? 'edit' : 'add';
98
- $errors = ( ! empty( $term_id ) ) ? get_term_meta( $term_id, '_csf_errors_'. $this->unique, true ) : array();
99
  $errors = ( ! empty( $errors ) ) ? $errors : array();
100
  $class = ( $this->args['class'] ) ? ' '. $this->args['class'] : '';
101
 
102
  if ( ! empty( $errors ) ) {
103
- delete_term_meta( $term_id, '_csf_errors_'. $this->unique );
104
  }
105
 
106
- wp_nonce_field( 'csf_taxonomy_nonce', 'csf_taxonomy_nonce'. $this->unique );
107
 
108
- echo '<div class="csf csf-taxonomy csf-show-all csf-onload csf-taxonomy-'. esc_attr( $classname ) .'-fields '. esc_attr( $class ) .'">';
109
 
110
  foreach ( $this->sections as $section ) {
111
 
112
  if ( $taxonomy === $this->taxonomy ) {
113
 
114
- $section_icon = ( ! empty( $section['icon'] ) ) ? '<i class="csf-section-icon '. esc_attr( $section['icon'] ) .'"></i>' : '';
115
  $section_title = ( ! empty( $section['title'] ) ) ? $section['title'] : '';
116
 
117
- echo ( $section_title || $section_icon ) ? '<div class="csf-section-title"><h3>'. wp_kses_post( $section_icon . $section_title ) .'</h3></div>' : '';
118
 
119
  if ( ! empty( $section['fields'] ) ) {
120
  foreach ( $section['fields'] as $field ) {
@@ -127,7 +127,7 @@ if ( ! class_exists( 'CSF_Taxonomy_Options' ) ) {
127
  $field['default'] = $this->get_default( $field );
128
  }
129
 
130
- CSF::field( $field, $this->get_meta_value( $term_id, $field ), $this->unique, 'taxonomy' );
131
 
132
  }
133
  }
@@ -145,11 +145,11 @@ if ( ! class_exists( 'CSF_Taxonomy_Options' ) ) {
145
  $count = 1;
146
  $data = array();
147
  $errors = array();
148
- $noncekey = 'csf_taxonomy_nonce'. $this->unique;
149
  $nonce = ( ! empty( $_POST[ $noncekey ] ) ) ? sanitize_text_field( wp_unslash( $_POST[ $noncekey ] ) ) : '';
150
  $taxonomy = ( ! empty( $_POST[ 'taxonomy' ] ) ) ? sanitize_text_field( wp_unslash( $_POST[ 'taxonomy' ] ) ) : '';
151
 
152
- if ( ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) || ! wp_verify_nonce( $nonce, 'csf_taxonomy_nonce' ) ) {
153
  return $term_id;
154
  }
155
 
@@ -216,9 +216,9 @@ if ( ! class_exists( 'CSF_Taxonomy_Options' ) ) {
216
 
217
  }
218
 
219
- $data = apply_filters( "csf_{$this->unique}_save", $data, $term_id, $this );
220
 
221
- do_action( "csf_{$this->unique}_save_before", $data, $term_id, $this );
222
 
223
  if ( empty( $data ) ) {
224
 
@@ -241,14 +241,14 @@ if ( ! class_exists( 'CSF_Taxonomy_Options' ) ) {
241
  }
242
 
243
  if ( ! empty( $errors ) ) {
244
- update_term_meta( $term_id, '_csf_errors_'. $this->unique, $errors );
245
  }
246
 
247
  }
248
 
249
- do_action( "csf_{$this->unique}_saved", $data, $term_id, $this );
250
 
251
- do_action( "csf_{$this->unique}_save_after", $data, $term_id, $this );
252
 
253
  }
254
  }
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Taxonomy_Options' ) ) {
11
+ class ULF_Taxonomy_Options extends ULF_Abstract{
12
 
13
  // constans
14
  public $unique = '';
27
  public function __construct( $key, $params ) {
28
 
29
  $this->unique = $key;
30
+ $this->args = apply_filters( "ulf_{$this->unique}_args", wp_parse_args( $params['args'], $this->args ), $this );
31
+ $this->sections = apply_filters( "ulf_{$this->unique}_sections", $params['sections'], $this );
32
  $this->taxonomies = ( is_array( $this->args['taxonomy'] ) ) ? $this->args['taxonomy'] : array_filter( (array) $this->args['taxonomy'] );
33
  $this->taxonomy = ( ! empty( $_REQUEST[ 'taxonomy' ] ) ) ? sanitize_text_field( wp_unslash( $_REQUEST[ 'taxonomy' ] ) ) : '';
34
 
95
  $term_id = ( $is_term ) ? $term->term_id : 0;
96
  $taxonomy = ( $is_term ) ? $term->taxonomy : $term;
97
  $classname = ( $is_term ) ? 'edit' : 'add';
98
+ $errors = ( ! empty( $term_id ) ) ? get_term_meta( $term_id, '_ulf_errors_'. $this->unique, true ) : array();
99
  $errors = ( ! empty( $errors ) ) ? $errors : array();
100
  $class = ( $this->args['class'] ) ? ' '. $this->args['class'] : '';
101
 
102
  if ( ! empty( $errors ) ) {
103
+ delete_term_meta( $term_id, '_ulf_errors_'. $this->unique );
104
  }
105
 
106
+ wp_nonce_field( 'ulf_taxonomy_nonce', 'ulf_taxonomy_nonce'. $this->unique );
107
 
108
+ echo '<div class="ulf ulf-taxonomy ulf-show-all ulf-onload ulf-taxonomy-'. esc_attr( $classname ) .'-fields '. esc_attr( $class ) .'">';
109
 
110
  foreach ( $this->sections as $section ) {
111
 
112
  if ( $taxonomy === $this->taxonomy ) {
113
 
114
+ $section_icon = ( ! empty( $section['icon'] ) ) ? '<i class="ulf-section-icon '. esc_attr( $section['icon'] ) .'"></i>' : '';
115
  $section_title = ( ! empty( $section['title'] ) ) ? $section['title'] : '';
116
 
117
+ echo ( $section_title || $section_icon ) ? '<div class="ulf-section-title"><h3>'. wp_kses_post( $section_icon . $section_title ) .'</h3></div>' : '';
118
 
119
  if ( ! empty( $section['fields'] ) ) {
120
  foreach ( $section['fields'] as $field ) {
127
  $field['default'] = $this->get_default( $field );
128
  }
129
 
130
+ ULF::field( $field, $this->get_meta_value( $term_id, $field ), $this->unique, 'taxonomy' );
131
 
132
  }
133
  }
145
  $count = 1;
146
  $data = array();
147
  $errors = array();
148
+ $noncekey = 'ulf_taxonomy_nonce'. $this->unique;
149
  $nonce = ( ! empty( $_POST[ $noncekey ] ) ) ? sanitize_text_field( wp_unslash( $_POST[ $noncekey ] ) ) : '';
150
  $taxonomy = ( ! empty( $_POST[ 'taxonomy' ] ) ) ? sanitize_text_field( wp_unslash( $_POST[ 'taxonomy' ] ) ) : '';
151
 
152
+ if ( ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) || ! wp_verify_nonce( $nonce, 'ulf_taxonomy_nonce' ) ) {
153
  return $term_id;
154
  }
155
 
216
 
217
  }
218
 
219
+ $data = apply_filters( "ulf_{$this->unique}_save", $data, $term_id, $this );
220
 
221
+ do_action( "ulf_{$this->unique}_save_before", $data, $term_id, $this );
222
 
223
  if ( empty( $data ) ) {
224
 
241
  }
242
 
243
  if ( ! empty( $errors ) ) {
244
+ update_term_meta( $term_id, '_ulf_errors_'. $this->unique, $errors );
245
  }
246
 
247
  }
248
 
249
+ do_action( "ulf_{$this->unique}_saved", $data, $term_id, $this );
250
 
251
+ do_action( "ulf_{$this->unique}_save_after", $data, $term_id, $this );
252
 
253
  }
254
  }
admin/settings/classes/widget-options.class.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Widget' ) ) {
11
- class CSF_Widget extends WP_Widget {
12
 
13
  // constans
14
  public $unique = '';
@@ -28,7 +28,7 @@ if ( ! class_exists( 'CSF_Widget' ) ) {
28
  $control_ops = array();
29
 
30
  $this->unique = $key;
31
- $this->args = apply_filters( "csf_{$this->unique}_args", wp_parse_args( $params, $this->args ), $this );
32
 
33
  // Set control options
34
  if ( ! empty( $this->args['width'] ) ) {
@@ -45,8 +45,8 @@ if ( ! class_exists( 'CSF_Widget' ) ) {
45
  }
46
 
47
  // Set filters
48
- $widget_ops = apply_filters( "csf_{$this->unique}_widget_ops", $widget_ops, $this );
49
- $control_ops = apply_filters( "csf_{$this->unique}_control_ops", $control_ops, $this );
50
 
51
  parent::__construct( $this->unique, esc_attr( $this->args['title'] ), $widget_ops, $control_ops );
52
 
@@ -89,7 +89,7 @@ if ( ! class_exists( 'CSF_Widget' ) ) {
89
 
90
  $class = ( $this->args['class'] ) ? ' '. $this->args['class'] : '';
91
 
92
- echo '<div class="csf csf-widgets csf-fields'. esc_attr( $class ) .'">';
93
 
94
  foreach ( $this->args['fields'] as $field ) {
95
 
@@ -107,7 +107,7 @@ if ( ! class_exists( 'CSF_Widget' ) ) {
107
 
108
  }
109
 
110
- CSF::field( $field, $this->get_widget_value( $instance, $field ), $field_unique );
111
 
112
  }
113
 
@@ -127,9 +127,9 @@ if ( ! class_exists( 'CSF_Widget' ) ) {
127
  }
128
  }
129
 
130
- $new_instance = apply_filters( "csf_{$this->unique}_save", $new_instance, $this->args, $this );
131
 
132
- do_action( "csf_{$this->unique}_save_before", $new_instance, $this->args, $this );
133
 
134
  return $new_instance;
135
 
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Widget' ) ) {
11
+ class ULF_Widget extends WP_Widget {
12
 
13
  // constans
14
  public $unique = '';
28
  $control_ops = array();
29
 
30
  $this->unique = $key;
31
+ $this->args = apply_filters( "ulf_{$this->unique}_args", wp_parse_args( $params, $this->args ), $this );
32
 
33
  // Set control options
34
  if ( ! empty( $this->args['width'] ) ) {
45
  }
46
 
47
  // Set filters
48
+ $widget_ops = apply_filters( "ulf_{$this->unique}_widget_ops", $widget_ops, $this );
49
+ $control_ops = apply_filters( "ulf_{$this->unique}_control_ops", $control_ops, $this );
50
 
51
  parent::__construct( $this->unique, esc_attr( $this->args['title'] ), $widget_ops, $control_ops );
52
 
89
 
90
  $class = ( $this->args['class'] ) ? ' '. $this->args['class'] : '';
91
 
92
+ echo '<div class="ulf ulf-widgets ulf-fields'. esc_attr( $class ) .'">';
93
 
94
  foreach ( $this->args['fields'] as $field ) {
95
 
107
 
108
  }
109
 
110
+ ULF::field( $field, $this->get_widget_value( $instance, $field ), $field_unique );
111
 
112
  }
113
 
127
  }
128
  }
129
 
130
+ $new_instance = apply_filters( "ulf_{$this->unique}_save", $new_instance, $this->args, $this );
131
 
132
+ do_action( "ulf_{$this->unique}_save_before", $new_instance, $this->args, $this );
133
 
134
  return $new_instance;
135
 
admin/settings/fields/accordion/accordion.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Field_accordion' ) ) {
11
- class CSF_Field_accordion extends CSF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
@@ -20,20 +20,20 @@ if ( ! class_exists( 'CSF_Field_accordion' ) ) {
20
 
21
  echo $this->field_before();
22
 
23
- echo '<div class="csf-accordion-items">';
24
 
25
  foreach ( $this->field['accordions'] as $key => $accordion ) {
26
 
27
- echo '<div class="csf-accordion-item">';
28
 
29
- $icon = ( ! empty( $accordion['icon'] ) ) ? 'csf--icon '. $accordion['icon'] : 'csf-accordion-icon fas fa-angle-right';
30
 
31
- echo '<h4 class="csf-accordion-title">';
32
  echo '<i class="'. esc_attr( $icon ) .'"></i>';
33
  echo esc_attr( $accordion['title'] );
34
  echo '</h4>';
35
 
36
- echo '<div class="csf-accordion-content">';
37
 
38
  foreach ( $accordion['fields'] as $field ) {
39
 
@@ -44,7 +44,7 @@ if ( ! class_exists( 'CSF_Field_accordion' ) ) {
44
  $field_value = ( isset( $this->value[$field_id] ) ) ? $this->value[$field_id] : $field_default;
45
  $unique_id = ( ! empty( $this->unique ) ) ? $this->unique .'['. $this->field['id'] .']' : $this->field['id'];
46
 
47
- CSF::field( $field, $field_value, $unique_id, 'field/accordion' );
48
 
49
  }
50
 
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Field_accordion' ) ) {
11
+ class ULF_Field_accordion extends ULF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
20
 
21
  echo $this->field_before();
22
 
23
+ echo '<div class="ulf-accordion-items">';
24
 
25
  foreach ( $this->field['accordions'] as $key => $accordion ) {
26
 
27
+ echo '<div class="ulf-accordion-item">';
28
 
29
+ $icon = ( ! empty( $accordion['icon'] ) ) ? 'ulf--icon '. $accordion['icon'] : 'ulf-accordion-icon fas fa-angle-right';
30
 
31
+ echo '<h4 class="ulf-accordion-title">';
32
  echo '<i class="'. esc_attr( $icon ) .'"></i>';
33
  echo esc_attr( $accordion['title'] );
34
  echo '</h4>';
35
 
36
+ echo '<div class="ulf-accordion-content">';
37
 
38
  foreach ( $accordion['fields'] as $field ) {
39
 
44
  $field_value = ( isset( $this->value[$field_id] ) ) ? $this->value[$field_id] : $field_default;
45
  $unique_id = ( ! empty( $this->unique ) ) ? $this->unique .'['. $this->field['id'] .']' : $this->field['id'];
46
 
47
+ ULF::field( $field, $field_value, $unique_id, 'field/accordion' );
48
 
49
  }
50
 
admin/settings/fields/background/background.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Field_background' ) ) {
11
- class CSF_Field_background extends CSF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
@@ -32,7 +32,7 @@ if ( ! class_exists( 'CSF_Field_background' ) ) {
32
  'background_image_preview' => true,
33
  'background_auto_attributes' => false,
34
  'background_image_library' => 'image',
35
- 'background_image_placeholder' => esc_html__( 'No background selected', 'csf' ),
36
  ) );
37
 
38
  $default_value = array(
@@ -55,17 +55,17 @@ if ( ! class_exists( 'CSF_Field_background' ) ) {
55
 
56
  echo $this->field_before();
57
 
58
- echo '<div class="csf--background-colors">';
59
 
60
  //
61
  // Background Color
62
  if ( ! empty( $args['background_color'] ) ) {
63
 
64
- echo '<div class="csf--color">';
65
 
66
- echo ( ! empty( $args['background_gradient'] ) ) ? '<div class="csf--title">'. esc_html__( 'From', 'csf' ) .'</div>' : '';
67
 
68
- CSF::field( array(
69
  'id' => 'background-color',
70
  'type' => 'color',
71
  'default' => $default_value['background-color'],
@@ -79,11 +79,11 @@ if ( ! class_exists( 'CSF_Field_background' ) ) {
79
  // Background Gradient Color
80
  if ( ! empty( $args['background_gradient_color'] ) && ! empty( $args['background_gradient'] ) ) {
81
 
82
- echo '<div class="csf--color">';
83
 
84
- echo ( ! empty( $args['background_gradient'] ) ) ? '<div class="csf--title">'. esc_html__( 'To', 'csf' ) .'</div>' : '';
85
 
86
- CSF::field( array(
87
  'id' => 'background-gradient-color',
88
  'type' => 'color',
89
  'default' => $default_value['background-gradient-color'],
@@ -97,19 +97,19 @@ if ( ! class_exists( 'CSF_Field_background' ) ) {
97
  // Background Gradient Direction
98
  if ( ! empty( $args['background_gradient_direction'] ) && ! empty( $args['background_gradient'] ) ) {
99
 
100
- echo '<div class="csf--color">';
101
 
102
- echo ( ! empty( $args['background_gradient'] ) ) ? '<div class="csf---title">'. esc_html__( 'Direction', 'csf' ) .'</div>' : '';
103
 
104
- CSF::field( array(
105
  'id' => 'background-gradient-direction',
106
  'type' => 'select',
107
  'options' => array(
108
- '' => esc_html__( 'Gradient Direction', 'csf' ),
109
- 'to bottom' => esc_html__( '&#8659; top to bottom', 'csf' ),
110
- 'to right' => esc_html__( '&#8658; left to right', 'csf' ),
111
- '135deg' => esc_html__( '&#8664; corner top to right', 'csf' ),
112
- '-135deg' => esc_html__( '&#8665; corner top to left', 'csf' ),
113
  ),
114
  ), $this->value['background-gradient-direction'], $this->field_name(), 'field/background' );
115
 
@@ -123,12 +123,12 @@ if ( ! class_exists( 'CSF_Field_background' ) ) {
123
  // Background Image
124
  if ( ! empty( $args['background_image'] ) ) {
125
 
126
- echo '<div class="csf--background-image">';
127
 
128
- CSF::field( array(
129
  'id' => 'background-image',
130
  'type' => 'media',
131
- 'class' => 'csf-assign-field-background',
132
  'library' => $args['background_image_library'],
133
  'preview' => $args['background_image_preview'],
134
  'placeholder' => $args['background_image_placeholder'],
@@ -139,29 +139,29 @@ if ( ! class_exists( 'CSF_Field_background' ) ) {
139
 
140
  }
141
 
142
- $auto_class = ( ! empty( $args['background_auto_attributes'] ) ) ? ' csf--auto-attributes' : '';
143
- $hidden_class = ( ! empty( $args['background_auto_attributes'] ) && empty( $this->value['background-image']['url'] ) ) ? ' csf--attributes-hidden' : '';
144
 
145
- echo '<div class="csf--background-attributes'. esc_attr( $auto_class . $hidden_class ) .'">';
146
 
147
  //
148
  // Background Position
149
  if ( ! empty( $args['background_position'] ) ) {
150
 
151
- CSF::field( array(
152
  'id' => 'background-position',
153
  'type' => 'select',
154
  'options' => array(
155
- '' => esc_html__( 'Background Position', 'csf' ),
156
- 'left top' => esc_html__( 'Left Top', 'csf' ),
157
- 'left center' => esc_html__( 'Left Center', 'csf' ),
158
- 'left bottom' => esc_html__( 'Left Bottom', 'csf' ),
159
- 'center top' => esc_html__( 'Center Top', 'csf' ),
160
- 'center center' => esc_html__( 'Center Center', 'csf' ),
161
- 'center bottom' => esc_html__( 'Center Bottom', 'csf' ),
162
- 'right top' => esc_html__( 'Right Top', 'csf' ),
163
- 'right center' => esc_html__( 'Right Center', 'csf' ),
164
- 'right bottom' => esc_html__( 'Right Bottom', 'csf' ),
165
  ),
166
  ), $this->value['background-position'], $this->field_name(), 'field/background' );
167
 
@@ -171,15 +171,15 @@ if ( ! class_exists( 'CSF_Field_background' ) ) {
171
  // Background Repeat
172
  if ( ! empty( $args['background_repeat'] ) ) {
173
 
174
- CSF::field( array(
175
  'id' => 'background-repeat',
176
  'type' => 'select',
177
  'options' => array(
178
- '' => esc_html__( 'Background Repeat', 'csf' ),
179
- 'repeat' => esc_html__( 'Repeat', 'csf' ),
180
- 'no-repeat' => esc_html__( 'No Repeat', 'csf' ),
181
- 'repeat-x' => esc_html__( 'Repeat Horizontally', 'csf' ),
182
- 'repeat-y' => esc_html__( 'Repeat Vertically', 'csf' ),
183
  ),
184
  ), $this->value['background-repeat'], $this->field_name(), 'field/background' );
185
 
@@ -189,13 +189,13 @@ if ( ! class_exists( 'CSF_Field_background' ) ) {
189
  // Background Attachment
190
  if ( ! empty( $args['background_attachment'] ) ) {
191
 
192
- CSF::field( array(
193
  'id' => 'background-attachment',
194
  'type' => 'select',
195
  'options' => array(
196
- '' => esc_html__( 'Background Attachment', 'csf' ),
197
- 'scroll' => esc_html__( 'Scroll', 'csf' ),
198
- 'fixed' => esc_html__( 'Fixed', 'csf' ),
199
  ),
200
  ), $this->value['background-attachment'], $this->field_name(), 'field/background' );
201
 
@@ -205,14 +205,14 @@ if ( ! class_exists( 'CSF_Field_background' ) ) {
205
  // Background Size
206
  if ( ! empty( $args['background_size'] ) ) {
207
 
208
- CSF::field( array(
209
  'id' => 'background-size',
210
  'type' => 'select',
211
  'options' => array(
212
- '' => esc_html__( 'Background Size', 'csf' ),
213
- 'cover' => esc_html__( 'Cover', 'csf' ),
214
- 'contain' => esc_html__( 'Contain', 'csf' ),
215
- 'auto' => esc_html__( 'Auto', 'csf' ),
216
  ),
217
  ), $this->value['background-size'], $this->field_name(), 'field/background' );
218
 
@@ -222,14 +222,14 @@ if ( ! class_exists( 'CSF_Field_background' ) ) {
222
  // Background Origin
223
  if ( ! empty( $args['background_origin'] ) ) {
224
 
225
- CSF::field( array(
226
  'id' => 'background-origin',
227
  'type' => 'select',
228
  'options' => array(
229
- '' => esc_html__( 'Background Origin', 'csf' ),
230
- 'padding-box' => esc_html__( 'Padding Box', 'csf' ),
231
- 'border-box' => esc_html__( 'Border Box', 'csf' ),
232
- 'content-box' => esc_html__( 'Content Box', 'csf' ),
233
  ),
234
  ), $this->value['background-origin'], $this->field_name(), 'field/background' );
235
 
@@ -239,14 +239,14 @@ if ( ! class_exists( 'CSF_Field_background' ) ) {
239
  // Background Clip
240
  if ( ! empty( $args['background_clip'] ) ) {
241
 
242
- CSF::field( array(
243
  'id' => 'background-clip',
244
  'type' => 'select',
245
  'options' => array(
246
- '' => esc_html__( 'Background Clip', 'csf' ),
247
- 'border-box' => esc_html__( 'Border Box', 'csf' ),
248
- 'padding-box' => esc_html__( 'Padding Box', 'csf' ),
249
- 'content-box' => esc_html__( 'Content Box', 'csf' ),
250
  ),
251
  ), $this->value['background-clip'], $this->field_name(), 'field/background' );
252
 
@@ -256,21 +256,21 @@ if ( ! class_exists( 'CSF_Field_background' ) ) {
256
  // Background Blend Mode
257
  if ( ! empty( $args['background_blend_mode'] ) ) {
258
 
259
- CSF::field( array(
260
  'id' => 'background-blend-mode',
261
  'type' => 'select',
262
  'options' => array(
263
- '' => esc_html__( 'Background Blend Mode', 'csf' ),
264
- 'normal' => esc_html__( 'Normal', 'csf' ),
265
- 'multiply' => esc_html__( 'Multiply', 'csf' ),
266
- 'screen' => esc_html__( 'Screen', 'csf' ),
267
- 'overlay' => esc_html__( 'Overlay', 'csf' ),
268
- 'darken' => esc_html__( 'Darken', 'csf' ),
269
- 'lighten' => esc_html__( 'Lighten', 'csf' ),
270
- 'color-dodge' => esc_html__( 'Color Dodge', 'csf' ),
271
- 'saturation' => esc_html__( 'Saturation', 'csf' ),
272
- 'color' => esc_html__( 'Color', 'csf' ),
273
- 'luminosity' => esc_html__( 'Luminosity', 'csf' ),
274
  ),
275
  ), $this->value['background-blend-mode'], $this->field_name(), 'field/background' );
276
 
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Field_background' ) ) {
11
+ class ULF_Field_background extends ULF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
32
  'background_image_preview' => true,
33
  'background_auto_attributes' => false,
34
  'background_image_library' => 'image',
35
+ 'background_image_placeholder' => esc_html__( 'No background selected', 'ulf' ),
36
  ) );
37
 
38
  $default_value = array(
55
 
56
  echo $this->field_before();
57
 
58
+ echo '<div class="ulf--background-colors">';
59
 
60
  //
61
  // Background Color
62
  if ( ! empty( $args['background_color'] ) ) {
63
 
64
+ echo '<div class="ulf--color">';
65
 
66
+ echo ( ! empty( $args['background_gradient'] ) ) ? '<div class="ulf--title">'. esc_html__( 'From', 'ulf' ) .'</div>' : '';
67
 
68
+ ULF::field( array(
69
  'id' => 'background-color',
70
  'type' => 'color',
71
  'default' => $default_value['background-color'],
79
  // Background Gradient Color
80
  if ( ! empty( $args['background_gradient_color'] ) && ! empty( $args['background_gradient'] ) ) {
81
 
82
+ echo '<div class="ulf--color">';
83
 
84
+ echo ( ! empty( $args['background_gradient'] ) ) ? '<div class="ulf--title">'. esc_html__( 'To', 'ulf' ) .'</div>' : '';
85
 
86
+ ULF::field( array(
87
  'id' => 'background-gradient-color',
88
  'type' => 'color',
89
  'default' => $default_value['background-gradient-color'],
97
  // Background Gradient Direction
98
  if ( ! empty( $args['background_gradient_direction'] ) && ! empty( $args['background_gradient'] ) ) {
99
 
100
+ echo '<div class="ulf--color">';
101
 
102
+ echo ( ! empty( $args['background_gradient'] ) ) ? '<div class="ulf---title">'. esc_html__( 'Direction', 'ulf' ) .'</div>' : '';
103
 
104
+ ULF::field( array(
105
  'id' => 'background-gradient-direction',
106
  'type' => 'select',
107
  'options' => array(
108
+ '' => esc_html__( 'Gradient Direction', 'ulf' ),
109
+ 'to bottom' => esc_html__( '&#8659; top to bottom', 'ulf' ),
110
+ 'to right' => esc_html__( '&#8658; left to right', 'ulf' ),
111
+ '135deg' => esc_html__( '&#8664; corner top to right', 'ulf' ),
112
+ '-135deg' => esc_html__( '&#8665; corner top to left', 'ulf' ),
113
  ),
114
  ), $this->value['background-gradient-direction'], $this->field_name(), 'field/background' );
115
 
123
  // Background Image
124
  if ( ! empty( $args['background_image'] ) ) {
125
 
126
+ echo '<div class="ulf--background-image">';
127
 
128
+ ULF::field( array(
129
  'id' => 'background-image',
130
  'type' => 'media',
131
+ 'class' => 'ulf-assign-field-background',
132
  'library' => $args['background_image_library'],
133
  'preview' => $args['background_image_preview'],
134
  'placeholder' => $args['background_image_placeholder'],
139
 
140
  }
141
 
142
+ $auto_class = ( ! empty( $args['background_auto_attributes'] ) ) ? ' ulf--auto-attributes' : '';
143
+ $hidden_class = ( ! empty( $args['background_auto_attributes'] ) && empty( $this->value['background-image']['url'] ) ) ? ' ulf--attributes-hidden' : '';
144
 
145
+ echo '<div class="ulf--background-attributes'. esc_attr( $auto_class . $hidden_class ) .'">';
146
 
147
  //
148
  // Background Position
149
  if ( ! empty( $args['background_position'] ) ) {
150
 
151
+ ULF::field( array(
152
  'id' => 'background-position',
153
  'type' => 'select',
154
  'options' => array(
155
+ '' => esc_html__( 'Background Position', 'ulf' ),
156
+ 'left top' => esc_html__( 'Left Top', 'ulf' ),
157
+ 'left center' => esc_html__( 'Left Center', 'ulf' ),
158
+ 'left bottom' => esc_html__( 'Left Bottom', 'ulf' ),
159
+ 'center top' => esc_html__( 'Center Top', 'ulf' ),
160
+ 'center center' => esc_html__( 'Center Center', 'ulf' ),
161
+ 'center bottom' => esc_html__( 'Center Bottom', 'ulf' ),
162
+ 'right top' => esc_html__( 'Right Top', 'ulf' ),
163
+ 'right center' => esc_html__( 'Right Center', 'ulf' ),
164
+ 'right bottom' => esc_html__( 'Right Bottom', 'ulf' ),
165
  ),
166
  ), $this->value['background-position'], $this->field_name(), 'field/background' );
167
 
171
  // Background Repeat
172
  if ( ! empty( $args['background_repeat'] ) ) {
173
 
174
+ ULF::field( array(
175
  'id' => 'background-repeat',
176
  'type' => 'select',
177
  'options' => array(
178
+ '' => esc_html__( 'Background Repeat', 'ulf' ),
179
+ 'repeat' => esc_html__( 'Repeat', 'ulf' ),
180
+ 'no-repeat' => esc_html__( 'No Repeat', 'ulf' ),
181
+ 'repeat-x' => esc_html__( 'Repeat Horizontally', 'ulf' ),
182
+ 'repeat-y' => esc_html__( 'Repeat Vertically', 'ulf' ),
183
  ),
184
  ), $this->value['background-repeat'], $this->field_name(), 'field/background' );
185
 
189
  // Background Attachment
190
  if ( ! empty( $args['background_attachment'] ) ) {
191
 
192
+ ULF::field( array(
193
  'id' => 'background-attachment',
194
  'type' => 'select',
195
  'options' => array(
196
+ '' => esc_html__( 'Background Attachment', 'ulf' ),
197
+ 'scroll' => esc_html__( 'Scroll', 'ulf' ),
198
+ 'fixed' => esc_html__( 'Fixed', 'ulf' ),
199
  ),
200
  ), $this->value['background-attachment'], $this->field_name(), 'field/background' );
201
 
205
  // Background Size
206
  if ( ! empty( $args['background_size'] ) ) {
207
 
208
+ ULF::field( array(
209
  'id' => 'background-size',
210
  'type' => 'select',
211
  'options' => array(
212
+ '' => esc_html__( 'Background Size', 'ulf' ),
213
+ 'cover' => esc_html__( 'Cover', 'ulf' ),
214
+ 'contain' => esc_html__( 'Contain', 'ulf' ),
215
+ 'auto' => esc_html__( 'Auto', 'ulf' ),
216
  ),
217
  ), $this->value['background-size'], $this->field_name(), 'field/background' );
218
 
222
  // Background Origin
223
  if ( ! empty( $args['background_origin'] ) ) {
224
 
225
+ ULF::field( array(
226
  'id' => 'background-origin',
227
  'type' => 'select',
228
  'options' => array(
229
+ '' => esc_html__( 'Background Origin', 'ulf' ),
230
+ 'padding-box' => esc_html__( 'Padding Box', 'ulf' ),
231
+ 'border-box' => esc_html__( 'Border Box', 'ulf' ),
232
+ 'content-box' => esc_html__( 'Content Box', 'ulf' ),
233
  ),
234
  ), $this->value['background-origin'], $this->field_name(), 'field/background' );
235
 
239
  // Background Clip
240
  if ( ! empty( $args['background_clip'] ) ) {
241
 
242
+ ULF::field( array(
243
  'id' => 'background-clip',
244
  'type' => 'select',
245
  'options' => array(
246
+ '' => esc_html__( 'Background Clip', 'ulf' ),
247
+ 'border-box' => esc_html__( 'Border Box', 'ulf' ),
248
+ 'padding-box' => esc_html__( 'Padding Box', 'ulf' ),
249
+ 'content-box' => esc_html__( 'Content Box', 'ulf' ),
250
  ),
251
  ), $this->value['background-clip'], $this->field_name(), 'field/background' );
252
 
256
  // Background Blend Mode
257
  if ( ! empty( $args['background_blend_mode'] ) ) {
258
 
259
+ ULF::field( array(
260
  'id' => 'background-blend-mode',
261
  'type' => 'select',
262
  'options' => array(
263
+ '' => esc_html__( 'Background Blend Mode', 'ulf' ),
264
+ 'normal' => esc_html__( 'Normal', 'ulf' ),
265
+ 'multiply' => esc_html__( 'Multiply', 'ulf' ),
266
+ 'screen' => esc_html__( 'Screen', 'ulf' ),
267
+ 'overlay' => esc_html__( 'Overlay', 'ulf' ),
268
+ 'darken' => esc_html__( 'Darken', 'ulf' ),
269
+ 'lighten' => esc_html__( 'Lighten', 'ulf' ),
270
+ 'color-dodge' => esc_html__( 'Color Dodge', 'ulf' ),
271
+ 'saturation' => esc_html__( 'Saturation', 'ulf' ),
272
+ 'color' => esc_html__( 'Color', 'ulf' ),
273
+ 'luminosity' => esc_html__( 'Luminosity', 'ulf' ),
274
  ),
275
  ), $this->value['background-blend-mode'], $this->field_name(), 'field/background' );
276
 
admin/settings/fields/backup/backup.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Field_backup' ) ) {
11
- class CSF_Field_backup extends CSF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
@@ -17,22 +17,22 @@ if ( ! class_exists( 'CSF_Field_backup' ) ) {
17
  public function render() {
18
 
19
  $unique = $this->unique;
20
- $nonce = wp_create_nonce( 'csf_backup_nonce' );
21
- $export = add_query_arg( array( 'action' => 'csf-export', 'unique' => $unique, 'nonce' => $nonce ), admin_url( 'admin-ajax.php' ) );
22
 
23
  echo $this->field_before();
24
 
25
- echo '<textarea name="csf_import_data" class="csf-import-data"></textarea>';
26
- echo '<button type="submit" class="button button-primary csf-confirm csf-import" data-unique="'. esc_attr( $unique ) .'" data-nonce="'. esc_attr( $nonce ) .'">'. esc_html__( 'Import', 'csf' ) .'</button>';
27
- echo '<small>( '. esc_html__( 'copy-paste your backup string here', 'csf' ).' )</small>';
28
 
29
  echo '<hr />';
30
- echo '<textarea readonly="readonly" class="csf-export-data">'. esc_attr( json_encode( get_option( $unique ) ) ) .'</textarea>';
31
- echo '<a href="'. esc_url( $export ) .'" class="button button-primary csf-export" target="_blank">'. esc_html__( 'Export and Download Backup', 'csf' ) .'</a>';
32
 
33
  echo '<hr />';
34
- echo '<button type="submit" name="csf_transient[reset]" value="reset" class="button csf-warning-primary csf-confirm csf-reset" data-unique="'. esc_attr( $unique ) .'" data-nonce="'. esc_attr( $nonce ) .'">'. esc_html__( 'Reset All', 'csf' ) .'</button>';
35
- echo '<small class="csf-error-text">'. esc_html__( 'Please be sure for reset all of options.', 'csf' ) .'</small>';
36
 
37
  echo $this->field_after();
38
 
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Field_backup' ) ) {
11
+ class ULF_Field_backup extends ULF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
17
  public function render() {
18
 
19
  $unique = $this->unique;
20
+ $nonce = wp_create_nonce( 'ulf_backup_nonce' );
21
+ $export = add_query_arg( array( 'action' => 'ulf-export', 'unique' => $unique, 'nonce' => $nonce ), admin_url( 'admin-ajax.php' ) );
22
 
23
  echo $this->field_before();
24
 
25
+ echo '<textarea name="ulf_import_data" class="ulf-import-data"></textarea>';
26
+ echo '<button type="submit" class="button button-primary ulf-confirm ulf-import" data-unique="'. esc_attr( $unique ) .'" data-nonce="'. esc_attr( $nonce ) .'">'. esc_html__( 'Import', 'ulf' ) .'</button>';
27
+ echo '<small>( '. esc_html__( 'copy-paste your backup string here', 'ulf' ).' )</small>';
28
 
29
  echo '<hr />';
30
+ echo '<textarea readonly="readonly" class="ulf-export-data">'. esc_attr( json_encode( get_option( $unique ) ) ) .'</textarea>';
31
+ echo '<a href="'. esc_url( $export ) .'" class="button button-primary ulf-export" target="_blank">'. esc_html__( 'Export and Download Backup', 'ulf' ) .'</a>';
32
 
33
  echo '<hr />';
34
+ echo '<button type="submit" name="ulf_transient[reset]" value="reset" class="button ulf-warning-primary ulf-confirm ulf-reset" data-unique="'. esc_attr( $unique ) .'" data-nonce="'. esc_attr( $nonce ) .'">'. esc_html__( 'Reset All', 'ulf' ) .'</button>';
35
+ echo '<small class="ulf-error-text">'. esc_html__( 'Please be sure for reset all of options.', 'ulf' ) .'</small>';
36
 
37
  echo $this->field_after();
38
 
admin/settings/fields/border/border.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Field_border' ) ) {
11
- class CSF_Field_border extends CSF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
@@ -22,11 +22,11 @@ if ( ! class_exists( 'CSF_Field_border' ) ) {
22
  'bottom_icon' => '<i class="fas fa-long-arrow-alt-down"></i>',
23
  'right_icon' => '<i class="fas fa-long-arrow-alt-right"></i>',
24
  'all_icon' => '<i class="fas fa-arrows-alt"></i>',
25
- 'top_placeholder' => esc_html__( 'top', 'csf' ),
26
- 'right_placeholder' => esc_html__( 'right', 'csf' ),
27
- 'bottom_placeholder' => esc_html__( 'bottom', 'csf' ),
28
- 'left_placeholder' => esc_html__( 'left', 'csf' ),
29
- 'all_placeholder' => esc_html__( 'all', 'csf' ),
30
  'top' => true,
31
  'left' => true,
32
  'bottom' => true,
@@ -48,15 +48,15 @@ if ( ! class_exists( 'CSF_Field_border' ) ) {
48
  );
49
 
50
  $border_props = array(
51
- 'solid' => esc_html__( 'Solid', 'csf' ),
52
- 'dashed' => esc_html__( 'Dashed', 'csf' ),
53
- 'dotted' => esc_html__( 'Dotted', 'csf' ),
54
- 'double' => esc_html__( 'Double', 'csf' ),
55
- 'inset' => esc_html__( 'Inset', 'csf' ),
56
- 'outset' => esc_html__( 'Outset', 'csf' ),
57
- 'groove' => esc_html__( 'Groove', 'csf' ),
58
- 'ridge' => esc_html__( 'ridge', 'csf' ),
59
- 'none' => esc_html__( 'None', 'csf' )
60
  );
61
 
62
  $default_value = ( ! empty( $this->field['default'] ) ) ? wp_parse_args( $this->field['default'], $default_value ) : $default_value;
@@ -65,16 +65,16 @@ if ( ! class_exists( 'CSF_Field_border' ) ) {
65
 
66
  echo $this->field_before();
67
 
68
- echo '<div class="csf--inputs">';
69
 
70
  if ( ! empty( $args['all'] ) ) {
71
 
72
  $placeholder = ( ! empty( $args['all_placeholder'] ) ) ? ' placeholder="'. esc_attr( $args['all_placeholder'] ) .'"' : '';
73
 
74
- echo '<div class="csf--input">';
75
- echo ( ! empty( $args['all_icon'] ) ) ? '<span class="csf--label csf--icon">'. wp_kses_post( $args['all_icon'] ) .'</span>' : '';
76
- echo '<input type="number" name="'. esc_attr( $this->field_name( '[all]' ) ) .'" value="'. esc_attr( $value['all'] ) .'"'. $placeholder .' class="csf-input-number csf--is-unit" />';
77
- echo ( ! empty( $args['unit'] ) ) ? '<span class="csf--label csf--unit">'. esc_attr( $args['unit'] ) .'</span>' : '';
78
  echo '</div>';
79
 
80
  } else {
@@ -93,10 +93,10 @@ if ( ! class_exists( 'CSF_Field_border' ) ) {
93
 
94
  $placeholder = ( ! empty( $args[$property.'_placeholder'] ) ) ? ' placeholder="'. esc_attr( $args[$property.'_placeholder'] ) .'"' : '';
95
 
96
- echo '<div class="csf--input">';
97
- echo ( ! empty( $args[$property.'_icon'] ) ) ? '<span class="csf--label csf--icon">'. wp_kses_post( $args[$property.'_icon'] ) .'</span>' : '';
98
- echo '<input type="number" name="'. esc_attr( $this->field_name( '['. $property .']' ) ) .'" value="'. esc_attr( $value[$property] ) .'"'. $placeholder .' class="csf-input-number csf--is-unit" />';
99
- echo ( ! empty( $args['unit'] ) ) ? '<span class="csf--label csf--unit">'. esc_attr( $args['unit'] ) .'</span>' : '';
100
  echo '</div>';
101
 
102
  }
@@ -104,7 +104,7 @@ if ( ! class_exists( 'CSF_Field_border' ) ) {
104
  }
105
 
106
  if ( ! empty( $args['style'] ) ) {
107
- echo '<div class="csf--input">';
108
  echo '<select name="'. esc_attr( $this->field_name( '[style]' ) ) .'">';
109
  foreach ( $border_props as $border_prop_key => $border_prop_value ) {
110
  $selected = ( $value['style'] === $border_prop_key ) ? ' selected' : '';
@@ -118,9 +118,9 @@ if ( ! class_exists( 'CSF_Field_border' ) ) {
118
 
119
  if ( ! empty( $args['color'] ) ) {
120
  $default_color_attr = ( ! empty( $default_value['color'] ) ) ? ' data-default-color="'. esc_attr( $default_value['color'] ) .'"' : '';
121
- echo '<div class="csf--color">';
122
- echo '<div class="csf-field-color">';
123
- echo '<input type="text" name="'. esc_attr( $this->field_name( '[color]' ) ) .'" value="'. esc_attr( $value['color'] ) .'" class="csf-color"'. $default_color_attr .' />';
124
  echo '</div>';
125
  echo '</div>';
126
  }
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Field_border' ) ) {
11
+ class ULF_Field_border extends ULF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
22
  'bottom_icon' => '<i class="fas fa-long-arrow-alt-down"></i>',
23
  'right_icon' => '<i class="fas fa-long-arrow-alt-right"></i>',
24
  'all_icon' => '<i class="fas fa-arrows-alt"></i>',
25
+ 'top_placeholder' => esc_html__( 'top', 'ulf' ),
26
+ 'right_placeholder' => esc_html__( 'right', 'ulf' ),
27
+ 'bottom_placeholder' => esc_html__( 'bottom', 'ulf' ),
28
+ 'left_placeholder' => esc_html__( 'left', 'ulf' ),
29
+ 'all_placeholder' => esc_html__( 'all', 'ulf' ),
30
  'top' => true,
31
  'left' => true,
32
  'bottom' => true,
48
  );
49
 
50
  $border_props = array(
51
+ 'solid' => esc_html__( 'Solid', 'ulf' ),
52
+ 'dashed' => esc_html__( 'Dashed', 'ulf' ),
53
+ 'dotted' => esc_html__( 'Dotted', 'ulf' ),
54
+ 'double' => esc_html__( 'Double', 'ulf' ),
55
+ 'inset' => esc_html__( 'Inset', 'ulf' ),
56
+ 'outset' => esc_html__( 'Outset', 'ulf' ),
57
+ 'groove' => esc_html__( 'Groove', 'ulf' ),
58
+ 'ridge' => esc_html__( 'ridge', 'ulf' ),
59
+ 'none' => esc_html__( 'None', 'ulf' )
60
  );
61
 
62
  $default_value = ( ! empty( $this->field['default'] ) ) ? wp_parse_args( $this->field['default'], $default_value ) : $default_value;
65
 
66
  echo $this->field_before();
67
 
68
+ echo '<div class="ulf--inputs">';
69
 
70
  if ( ! empty( $args['all'] ) ) {
71
 
72
  $placeholder = ( ! empty( $args['all_placeholder'] ) ) ? ' placeholder="'. esc_attr( $args['all_placeholder'] ) .'"' : '';
73
 
74
+ echo '<div class="ulf--input">';
75
+ echo ( ! empty( $args['all_icon'] ) ) ? '<span class="ulf--label ulf--icon">'. wp_kses_post( $args['all_icon'] ) .'</span>' : '';
76
+ echo '<input type="number" name="'. esc_attr( $this->field_name( '[all]' ) ) .'" value="'. esc_attr( $value['all'] ) .'"'. $placeholder .' class="ulf-input-number ulf--is-unit" />';
77
+ echo ( ! empty( $args['unit'] ) ) ? '<span class="ulf--label ulf--unit">'. esc_attr( $args['unit'] ) .'</span>' : '';
78
  echo '</div>';
79
 
80
  } else {
93
 
94
  $placeholder = ( ! empty( $args[$property.'_placeholder'] ) ) ? ' placeholder="'. esc_attr( $args[$property.'_placeholder'] ) .'"' : '';
95
 
96
+ echo '<div class="ulf--input">';
97
+ echo ( ! empty( $args[$property.'_icon'] ) ) ? '<span class="ulf--label ulf--icon">'. wp_kses_post( $args[$property.'_icon'] ) .'</span>' : '';
98
+ echo '<input type="number" name="'. esc_attr( $this->field_name( '['. $property .']' ) ) .'" value="'. esc_attr( $value[$property] ) .'"'. $placeholder .' class="ulf-input-number ulf--is-unit" />';
99
+ echo ( ! empty( $args['unit'] ) ) ? '<span class="ulf--label ulf--unit">'. esc_attr( $args['unit'] ) .'</span>' : '';
100
  echo '</div>';
101
 
102
  }
104
  }
105
 
106
  if ( ! empty( $args['style'] ) ) {
107
+ echo '<div class="ulf--input">';
108
  echo '<select name="'. esc_attr( $this->field_name( '[style]' ) ) .'">';
109
  foreach ( $border_props as $border_prop_key => $border_prop_value ) {
110
  $selected = ( $value['style'] === $border_prop_key ) ? ' selected' : '';
118
 
119
  if ( ! empty( $args['color'] ) ) {
120
  $default_color_attr = ( ! empty( $default_value['color'] ) ) ? ' data-default-color="'. esc_attr( $default_value['color'] ) .'"' : '';
121
+ echo '<div class="ulf--color">';
122
+ echo '<div class="ulf-field-color">';
123
+ echo '<input type="text" name="'. esc_attr( $this->field_name( '[color]' ) ) .'" value="'. esc_attr( $value['color'] ) .'" class="ulf-color"'. $default_color_attr .' />';
124
  echo '</div>';
125
  echo '</div>';
126
  }
admin/settings/fields/button_set/button_set.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Field_button_set' ) ) {
11
- class CSF_Field_button_set extends CSF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
@@ -33,16 +33,16 @@ if ( ! class_exists( 'CSF_Field_button_set' ) ) {
33
 
34
  if ( is_array( $options ) && ! empty( $options ) ) {
35
 
36
- echo '<div class="csf-siblings csf--button-group" data-multiple="'. esc_attr( $args['multiple'] ) .'">';
37
 
38
  foreach ( $options as $key => $option ) {
39
 
40
  $type = ( $args['multiple'] ) ? 'checkbox' : 'radio';
41
  $extra = ( $args['multiple'] ) ? '[]' : '';
42
- $active = ( in_array( $key, $value ) || ( empty( $value ) && empty( $key ) ) ) ? ' csf--active' : '';
43
  $checked = ( in_array( $key, $value ) || ( empty( $value ) && empty( $key ) ) ) ? ' checked' : '';
44
 
45
- echo '<div class="csf--sibling csf--button'. esc_attr( $active ) .'">';
46
  echo '<input type="'. esc_attr( $type ) .'" name="'. esc_attr( $this->field_name( $extra ) ) .'" value="'. esc_attr( $key ) .'"'. $this->field_attributes() . esc_attr( $checked ) .'/>';
47
  echo wp_kses_post( $option );
48
  echo '</div>';
@@ -53,7 +53,7 @@ if ( ! class_exists( 'CSF_Field_button_set' ) ) {
53
 
54
  } else {
55
 
56
- echo ( ! empty( $this->field['empty_message'] ) ) ? esc_attr( $this->field['empty_message'] ) : esc_html__( 'No data provided for this option type.', 'csf' );
57
 
58
  }
59
 
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Field_button_set' ) ) {
11
+ class ULF_Field_button_set extends ULF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
33
 
34
  if ( is_array( $options ) && ! empty( $options ) ) {
35
 
36
+ echo '<div class="ulf-siblings ulf--button-group" data-multiple="'. esc_attr( $args['multiple'] ) .'">';
37
 
38
  foreach ( $options as $key => $option ) {
39
 
40
  $type = ( $args['multiple'] ) ? 'checkbox' : 'radio';
41
  $extra = ( $args['multiple'] ) ? '[]' : '';
42
+ $active = ( in_array( $key, $value ) || ( empty( $value ) && empty( $key ) ) ) ? ' ulf--active' : '';
43
  $checked = ( in_array( $key, $value ) || ( empty( $value ) && empty( $key ) ) ) ? ' checked' : '';
44
 
45
+ echo '<div class="ulf--sibling ulf--button'. esc_attr( $active ) .'">';
46
  echo '<input type="'. esc_attr( $type ) .'" name="'. esc_attr( $this->field_name( $extra ) ) .'" value="'. esc_attr( $key ) .'"'. $this->field_attributes() . esc_attr( $checked ) .'/>';
47
  echo wp_kses_post( $option );
48
  echo '</div>';
53
 
54
  } else {
55
 
56
+ echo ( ! empty( $this->field['empty_message'] ) ) ? esc_attr( $this->field['empty_message'] ) : esc_html__( 'No data provided for this option type.', 'ulf' );
57
 
58
  }
59
 
admin/settings/fields/callback/callback.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Field_callback' ) ) {
11
- class CSF_Field_callback extends CSF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Field_callback' ) ) {
11
+ class ULF_Field_callback extends ULF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
admin/settings/fields/checkbox/checkbox.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Field_checkbox' ) ) {
11
- class CSF_Field_checkbox extends CSF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
@@ -21,7 +21,7 @@ if ( ! class_exists( 'CSF_Field_checkbox' ) ) {
21
  'query_args' => array(),
22
  ) );
23
 
24
- $inline_class = ( $args['inline'] ) ? ' class="csf--inline-list"' : '';
25
 
26
  echo $this->field_before();
27
 
@@ -47,7 +47,7 @@ if ( ! class_exists( 'CSF_Field_checkbox' ) ) {
47
  echo '<li>';
48
  echo '<label>';
49
  echo '<input type="checkbox" name="'. esc_attr( $this->field_name( '[]' ) ) .'" value="'. esc_attr( $sub_key ) .'"'. $this->field_attributes() . esc_attr( $checked ) .'/>';
50
- echo '<span class="csf--text">'. esc_attr( $sub_value ) .'</span>';
51
  echo '</label>';
52
  echo '</li>';
53
  }
@@ -61,7 +61,7 @@ if ( ! class_exists( 'CSF_Field_checkbox' ) ) {
61
  echo '<li>';
62
  echo '<label>';
63
  echo '<input type="checkbox" name="'. esc_attr( $this->field_name( '[]' ) ) .'" value="'. esc_attr( $option_key ) .'"'. $this->field_attributes() . esc_attr( $checked ) .'/>';
64
- echo '<span class="csf--text">'. esc_attr( $option_value ) .'</span>';
65
  echo '</label>';
66
  echo '</li>';
67
 
@@ -73,16 +73,16 @@ if ( ! class_exists( 'CSF_Field_checkbox' ) ) {
73
 
74
  } else {
75
 
76
- echo ( ! empty( $this->field['empty_message'] ) ) ? esc_attr( $this->field['empty_message'] ) : esc_html__( 'No data provided for this option type.', 'csf' );
77
 
78
  }
79
 
80
  } else {
81
 
82
- echo '<label class="csf-checkbox">';
83
- echo '<input type="hidden" name="'. esc_attr( $this->field_name() ) .'" value="'. $this->value .'" class="csf--input"'. $this->field_attributes() .'/>';
84
- echo '<input type="checkbox" name="_pseudo" class="csf--checkbox"'. esc_attr( checked( $this->value, 1, false ) ) .'/>';
85
- echo ( ! empty( $this->field['label'] ) ) ? '<span class="csf--text">'. esc_attr( $this->field['label'] ) .'</span>' : '';
86
  echo '</label>';
87
 
88
  }
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Field_checkbox' ) ) {
11
+ class ULF_Field_checkbox extends ULF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
21
  'query_args' => array(),
22
  ) );
23
 
24
+ $inline_class = ( $args['inline'] ) ? ' class="ulf--inline-list"' : '';
25
 
26
  echo $this->field_before();
27
 
47
  echo '<li>';
48
  echo '<label>';
49
  echo '<input type="checkbox" name="'. esc_attr( $this->field_name( '[]' ) ) .'" value="'. esc_attr( $sub_key ) .'"'. $this->field_attributes() . esc_attr( $checked ) .'/>';
50
+ echo '<span class="ulf--text">'. esc_attr( $sub_value ) .'</span>';
51
  echo '</label>';
52
  echo '</li>';
53
  }
61
  echo '<li>';
62
  echo '<label>';
63
  echo '<input type="checkbox" name="'. esc_attr( $this->field_name( '[]' ) ) .'" value="'. esc_attr( $option_key ) .'"'. $this->field_attributes() . esc_attr( $checked ) .'/>';
64
+ echo '<span class="ulf--text">'. esc_attr( $option_value ) .'</span>';
65
  echo '</label>';
66
  echo '</li>';
67
 
73
 
74
  } else {
75
 
76
+ echo ( ! empty( $this->field['empty_message'] ) ) ? esc_attr( $this->field['empty_message'] ) : esc_html__( 'No data provided for this option type.', 'ulf' );
77
 
78
  }
79
 
80
  } else {
81
 
82
+ echo '<label class="ulf-checkbox">';
83
+ echo '<input type="hidden" name="'. esc_attr( $this->field_name() ) .'" value="'. $this->value .'" class="ulf--input"'. $this->field_attributes() .'/>';
84
+ echo '<input type="checkbox" name="_pseudo" class="ulf--checkbox"'. esc_attr( checked( $this->value, 1, false ) ) .'/>';
85
+ echo ( ! empty( $this->field['label'] ) ) ? '<span class="ulf--text">'. esc_attr( $this->field['label'] ) .'</span>' : '';
86
  echo '</label>';
87
 
88
  }
admin/settings/fields/code_editor/code_editor.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Field_code_editor' ) ) {
11
- class CSF_Field_code_editor extends CSF_Fields {
12
 
13
  public $version = '5.41.0';
14
  public $cdn_url = 'https://cdn.jsdelivr.net/npm/codemirror@';
@@ -43,13 +43,13 @@ if ( ! class_exists( 'CSF_Field_code_editor' ) ) {
43
  // Do not loads CodeMirror in revslider page.
44
  if ( in_array( $page, array( 'revslider' ) ) ) { return; }
45
 
46
- if ( ! wp_script_is( 'csf-codemirror' ) ) {
47
- wp_enqueue_script( 'csf-codemirror', esc_url( $this->cdn_url . $this->version .'/lib/codemirror.min.js' ), array( 'csf' ), $this->version, true );
48
- wp_enqueue_script( 'csf-codemirror-loadmode', esc_url( $this->cdn_url . $this->version .'/addon/mode/loadmode.min.js' ), array( 'csf-codemirror' ), $this->version, true );
49
  }
50
 
51
- if ( ! wp_style_is( 'csf-codemirror' ) ) {
52
- wp_enqueue_style( 'csf-codemirror', esc_url( $this->cdn_url . $this->version .'/lib/codemirror.min.css' ), array(), $this->version );
53
  }
54
 
55
  }
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Field_code_editor' ) ) {
11
+ class ULF_Field_code_editor extends ULF_Fields {
12
 
13
  public $version = '5.41.0';
14
  public $cdn_url = 'https://cdn.jsdelivr.net/npm/codemirror@';
43
  // Do not loads CodeMirror in revslider page.
44
  if ( in_array( $page, array( 'revslider' ) ) ) { return; }
45
 
46
+ if ( ! wp_script_is( 'ulf-codemirror' ) ) {
47
+ wp_enqueue_script( 'ulf-codemirror', esc_url( $this->cdn_url . $this->version .'/lib/codemirror.min.js' ), array( 'ulf' ), $this->version, true );
48
+ wp_enqueue_script( 'ulf-codemirror-loadmode', esc_url( $this->cdn_url . $this->version .'/addon/mode/loadmode.min.js' ), array( 'ulf-codemirror' ), $this->version, true );
49
  }
50
 
51
+ if ( ! wp_style_is( 'ulf-codemirror' ) ) {
52
+ wp_enqueue_style( 'ulf-codemirror', esc_url( $this->cdn_url . $this->version .'/lib/codemirror.min.css' ), array(), $this->version );
53
  }
54
 
55
  }
admin/settings/fields/color/color.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Field_color' ) ) {
11
- class CSF_Field_color extends CSF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
@@ -19,7 +19,7 @@ if ( ! class_exists( 'CSF_Field_color' ) ) {
19
  $default_attr = ( ! empty( $this->field['default'] ) ) ? ' data-default-color="'. esc_attr( $this->field['default'] ) .'"' : '';
20
 
21
  echo $this->field_before();
22
- echo '<input type="text" name="'. esc_attr( $this->field_name() ) .'" value="'. esc_attr( $this->value ) .'" class="csf-color"'. $default_attr . $this->field_attributes() .'/>';
23
  echo $this->field_after();
24
 
25
  }
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Field_color' ) ) {
11
+ class ULF_Field_color extends ULF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
19
  $default_attr = ( ! empty( $this->field['default'] ) ) ? ' data-default-color="'. esc_attr( $this->field['default'] ) .'"' : '';
20
 
21
  echo $this->field_before();
22
+ echo '<input type="text" name="'. esc_attr( $this->field_name() ) .'" value="'. esc_attr( $this->value ) .'" class="ulf-color"'. $default_attr . $this->field_attributes() .'/>';
23
  echo $this->field_after();
24
 
25
  }
admin/settings/fields/color_group/color_group.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Field_color_group' ) ) {
11
- class CSF_Field_color_group extends CSF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
@@ -26,9 +26,9 @@ if ( ! class_exists( 'CSF_Field_color_group' ) ) {
26
  $color_value = ( ! empty( $this->value[$key] ) ) ? $this->value[$key] : '';
27
  $default_attr = ( ! empty( $this->field['default'][$key] ) ) ? ' data-default-color="'. esc_attr( $this->field['default'][$key] ) .'"' : '';
28
 
29
- echo '<div class="csf--left csf-field-color">';
30
- echo '<div class="csf--title">'. $option .'</div>';
31
- echo '<input type="text" name="'. esc_attr( $this->field_name( '['. $key .']' ) ) .'" value="'. esc_attr( $color_value ) .'" class="csf-color"'. $default_attr . $this->field_attributes() .'/>';
32
  echo '</div>';
33
 
34
  }
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Field_color_group' ) ) {
11
+ class ULF_Field_color_group extends ULF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
26
  $color_value = ( ! empty( $this->value[$key] ) ) ? $this->value[$key] : '';
27
  $default_attr = ( ! empty( $this->field['default'][$key] ) ) ? ' data-default-color="'. esc_attr( $this->field['default'][$key] ) .'"' : '';
28
 
29
+ echo '<div class="ulf--left ulf-field-color">';
30
+ echo '<div class="ulf--title">'. $option .'</div>';
31
+ echo '<input type="text" name="'. esc_attr( $this->field_name( '['. $key .']' ) ) .'" value="'. esc_attr( $color_value ) .'" class="ulf-color"'. $default_attr . $this->field_attributes() .'/>';
32
  echo '</div>';
33
 
34
  }
admin/settings/fields/content/content.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Field_content' ) ) {
11
- class CSF_Field_content extends CSF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Field_content' ) ) {
11
+ class ULF_Field_content extends ULF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
admin/settings/fields/date/date.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Field_date' ) ) {
11
- class CSF_Field_date extends CSF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
@@ -28,8 +28,8 @@ if ( ! class_exists( 'CSF_Field_date' ) ) {
28
  if ( ! empty( $this->field['from_to'] ) ) {
29
 
30
  $args = wp_parse_args( $this->field, array(
31
- 'text_from' => esc_html__( 'From', 'csf' ),
32
- 'text_to' => esc_html__( 'To', 'csf' ),
33
  ) );
34
 
35
  $value = wp_parse_args( $this->value, array(
@@ -37,8 +37,8 @@ if ( ! class_exists( 'CSF_Field_date' ) ) {
37
  'to' => '',
38
  ) );
39
 
40
- echo '<label class="csf--from">'. esc_attr( $args['text_from'] ) .' <input type="text" name="'. esc_attr( $this->field_name( '[from]' ) ) .'" value="'. esc_attr( $value['from'] ) .'"'. $this->field_attributes() .'/></label>';
41
- echo '<label class="csf--to">'. esc_attr( $args['text_to'] ) .' <input type="text" name="'. esc_attr( $this->field_name( '[to]' ) ) .'" value="'. esc_attr( $value['to'] ) .'"'. $this->field_attributes() .'/></label>';
42
 
43
  } else {
44
 
@@ -46,7 +46,7 @@ if ( ! class_exists( 'CSF_Field_date' ) ) {
46
 
47
  }
48
 
49
- echo '<div class="csf-date-settings" data-settings="'. esc_attr( json_encode( $settings ) ) .'"></div>';
50
 
51
  echo $this->field_after();
52
 
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Field_date' ) ) {
11
+ class ULF_Field_date extends ULF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
28
  if ( ! empty( $this->field['from_to'] ) ) {
29
 
30
  $args = wp_parse_args( $this->field, array(
31
+ 'text_from' => esc_html__( 'From', 'ulf' ),
32
+ 'text_to' => esc_html__( 'To', 'ulf' ),
33
  ) );
34
 
35
  $value = wp_parse_args( $this->value, array(
37
  'to' => '',
38
  ) );
39
 
40
+ echo '<label class="ulf--from">'. esc_attr( $args['text_from'] ) .' <input type="text" name="'. esc_attr( $this->field_name( '[from]' ) ) .'" value="'. esc_attr( $value['from'] ) .'"'. $this->field_attributes() .'/></label>';
41
+ echo '<label class="ulf--to">'. esc_attr( $args['text_to'] ) .' <input type="text" name="'. esc_attr( $this->field_name( '[to]' ) ) .'" value="'. esc_attr( $value['to'] ) .'"'. $this->field_attributes() .'/></label>';
42
 
43
  } else {
44
 
46
 
47
  }
48
 
49
+ echo '<div class="ulf-date-settings" data-settings="'. esc_attr( json_encode( $settings ) ) .'"></div>';
50
 
51
  echo $this->field_after();
52
 
admin/settings/fields/dimensions/dimensions.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Field_dimensions' ) ) {
11
- class CSF_Field_dimensions extends CSF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
@@ -19,8 +19,8 @@ if ( ! class_exists( 'CSF_Field_dimensions' ) ) {
19
  $args = wp_parse_args( $this->field, array(
20
  'width_icon' => '<i class="fas fa-arrows-alt-h"></i>',
21
  'height_icon' => '<i class="fas fa-arrows-alt-v"></i>',
22
- 'width_placeholder' => esc_html__( 'width', 'csf' ),
23
- 'height_placeholder' => esc_html__( 'height', 'csf' ),
24
  'width' => true,
25
  'height' => true,
26
  'unit' => true,
@@ -36,32 +36,32 @@ if ( ! class_exists( 'CSF_Field_dimensions' ) ) {
36
 
37
  $value = wp_parse_args( $this->value, $default_values );
38
  $unit = ( count( $args['units'] ) === 1 && ! empty( $args['unit'] ) ) ? $args['units'][0] : '';
39
- $is_unit = ( ! empty( $unit ) ) ? ' csf--is-unit' : '';
40
 
41
  echo $this->field_before();
42
 
43
- echo '<div class="csf--inputs">';
44
 
45
  if ( ! empty( $args['width'] ) ) {
46
  $placeholder = ( ! empty( $args['width_placeholder'] ) ) ? ' placeholder="'. esc_attr( $args['width_placeholder'] ) .'"' : '';
47
- echo '<div class="csf--input">';
48
- echo ( ! empty( $args['width_icon'] ) ) ? '<span class="csf--label csf--icon">'. wp_kses_post( $args['width_icon'] ) .'</span>' : '';
49
- echo '<input type="number" name="'. esc_attr( $this->field_name( '[width]' ) ) .'" value="'. esc_attr( $value['width'] ) .'"'. $placeholder .' class="csf-input-number'. esc_attr( $is_unit ) .'" />';
50
- echo ( ! empty( $unit ) ) ? '<span class="csf--label csf--unit">'. esc_attr( $args['units'][0] ) .'</span>' : '';
51
  echo '</div>';
52
  }
53
 
54
  if ( ! empty( $args['height'] ) ) {
55
  $placeholder = ( ! empty( $args['height_placeholder'] ) ) ? ' placeholder="'. esc_attr( $args['height_placeholder'] ) .'"' : '';
56
- echo '<div class="csf--input">';
57
- echo ( ! empty( $args['height_icon'] ) ) ? '<span class="csf--label csf--icon">'. wp_kses_post( $args['height_icon'] ) .'</span>' : '';
58
- echo '<input type="number" name="'. esc_attr( $this->field_name( '[height]' ) ) .'" value="'. esc_attr( $value['height'] ) .'"'. $placeholder .' class="csf-input-number'. esc_attr( $is_unit ) .'" />';
59
- echo ( ! empty( $unit ) ) ? '<span class="csf--label csf--unit">'. esc_attr( $args['units'][0] ) .'</span>' : '';
60
  echo '</div>';
61
  }
62
 
63
  if ( ! empty( $args['unit'] ) && ! empty( $args['show_units'] ) && count( $args['units'] ) > 1 ) {
64
- echo '<div class="csf--input">';
65
  echo '<select name="'. esc_attr( $this->field_name( '[unit]' ) ) .'">';
66
  foreach ( $args['units'] as $unit ) {
67
  $selected = ( $value['unit'] === $unit ) ? ' selected' : '';
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Field_dimensions' ) ) {
11
+ class ULF_Field_dimensions extends ULF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
19
  $args = wp_parse_args( $this->field, array(
20
  'width_icon' => '<i class="fas fa-arrows-alt-h"></i>',
21
  'height_icon' => '<i class="fas fa-arrows-alt-v"></i>',
22
+ 'width_placeholder' => esc_html__( 'width', 'ulf' ),
23
+ 'height_placeholder' => esc_html__( 'height', 'ulf' ),
24
  'width' => true,
25
  'height' => true,
26
  'unit' => true,
36
 
37
  $value = wp_parse_args( $this->value, $default_values );
38
  $unit = ( count( $args['units'] ) === 1 && ! empty( $args['unit'] ) ) ? $args['units'][0] : '';
39
+ $is_unit = ( ! empty( $unit ) ) ? ' ulf--is-unit' : '';
40
 
41
  echo $this->field_before();
42
 
43
+ echo '<div class="ulf--inputs">';
44
 
45
  if ( ! empty( $args['width'] ) ) {
46
  $placeholder = ( ! empty( $args['width_placeholder'] ) ) ? ' placeholder="'. esc_attr( $args['width_placeholder'] ) .'"' : '';
47
+ echo '<div class="ulf--input">';
48
+ echo ( ! empty( $args['width_icon'] ) ) ? '<span class="ulf--label ulf--icon">'. wp_kses_post( $args['width_icon'] ) .'</span>' : '';
49
+ echo '<input type="number" name="'. esc_attr( $this->field_name( '[width]' ) ) .'" value="'. esc_attr( $value['width'] ) .'"'. $placeholder .' class="ulf-input-number'. esc_attr( $is_unit ) .'" />';
50
+ echo ( ! empty( $unit ) ) ? '<span class="ulf--label ulf--unit">'. esc_attr( $args['units'][0] ) .'</span>' : '';
51
  echo '</div>';
52
  }
53
 
54
  if ( ! empty( $args['height'] ) ) {
55
  $placeholder = ( ! empty( $args['height_placeholder'] ) ) ? ' placeholder="'. esc_attr( $args['height_placeholder'] ) .'"' : '';
56
+ echo '<div class="ulf--input">';
57
+ echo ( ! empty( $args['height_icon'] ) ) ? '<span class="ulf--label ulf--icon">'. wp_kses_post( $args['height_icon'] ) .'</span>' : '';
58
+ echo '<input type="number" name="'. esc_attr( $this->field_name( '[height]' ) ) .'" value="'. esc_attr( $value['height'] ) .'"'. $placeholder .' class="ulf-input-number'. esc_attr( $is_unit ) .'" />';
59
+ echo ( ! empty( $unit ) ) ? '<span class="ulf--label ulf--unit">'. esc_attr( $args['units'][0] ) .'</span>' : '';
60
  echo '</div>';
61
  }
62
 
63
  if ( ! empty( $args['unit'] ) && ! empty( $args['show_units'] ) && count( $args['units'] ) > 1 ) {
64
+ echo '<div class="ulf--input">';
65
  echo '<select name="'. esc_attr( $this->field_name( '[unit]' ) ) .'">';
66
  foreach ( $args['units'] as $unit ) {
67
  $selected = ( $value['unit'] === $unit ) ? ' selected' : '';
admin/settings/fields/fieldset/fieldset.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Field_fieldset' ) ) {
11
- class CSF_Field_fieldset extends CSF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
@@ -18,7 +18,7 @@ if ( ! class_exists( 'CSF_Field_fieldset' ) ) {
18
 
19
  echo $this->field_before();
20
 
21
- echo '<div class="csf-fieldset-content">';
22
 
23
  foreach ( $this->field['fields'] as $field ) {
24
 
@@ -27,7 +27,7 @@ if ( ! class_exists( 'CSF_Field_fieldset' ) ) {
27
  $field_value = ( isset( $this->value[$field_id] ) ) ? $this->value[$field_id] : $field_default;
28
  $unique_id = ( ! empty( $this->unique ) ) ? $this->unique .'['. $this->field['id'] .']' : $this->field['id'];
29
 
30
- CSF::field( $field, $field_value, $unique_id, 'field/fieldset' );
31
 
32
  }
33
 
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Field_fieldset' ) ) {
11
+ class ULF_Field_fieldset extends ULF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
18
 
19
  echo $this->field_before();
20
 
21
+ echo '<div class="ulf-fieldset-content">';
22
 
23
  foreach ( $this->field['fields'] as $field ) {
24
 
27
  $field_value = ( isset( $this->value[$field_id] ) ) ? $this->value[$field_id] : $field_default;
28
  $unique_id = ( ! empty( $this->unique ) ) ? $this->unique .'['. $this->field['id'] .']' : $this->field['id'];
29
 
30
+ ULF::field( $field, $field_value, $unique_id, 'field/fieldset' );
31
 
32
  }
33
 
admin/settings/fields/gallery/gallery.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Field_gallery' ) ) {
11
- class CSF_Field_gallery extends CSF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
@@ -17,9 +17,9 @@ if ( ! class_exists( 'CSF_Field_gallery' ) ) {
17
  public function render() {
18
 
19
  $args = wp_parse_args( $this->field, array(
20
- 'add_title' => esc_html__( 'Add Gallery', 'csf' ),
21
- 'edit_title' => esc_html__( 'Edit Gallery', 'csf' ),
22
- 'clear_title' => esc_html__( 'Clear', 'csf' ),
23
  ) );
24
 
25
  $hidden = ( empty( $this->value ) ) ? ' hidden' : '';
@@ -39,9 +39,9 @@ if ( ! class_exists( 'CSF_Field_gallery' ) ) {
39
  }
40
  echo '</ul>';
41
 
42
- echo '<a href="#" class="button button-primary csf-button">'. esc_attr( $args['add_title'] ) .'</a>';
43
- echo '<a href="#" class="button csf-edit-gallery'. esc_attr( $hidden ) .'">'. esc_attr( $args['edit_title'] ) .'</a>';
44
- echo '<a href="#" class="button csf-warning-primary csf-clear-gallery'. esc_attr( $hidden ) .'">'. esc_attr( $args['clear_title'] ) .'</a>';
45
  echo '<input type="text" name="'. esc_attr( $this->field_name() ) .'" value="'. esc_attr( $this->value ) .'"'. $this->field_attributes() .'/>';
46
 
47
  echo $this->field_after();
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Field_gallery' ) ) {
11
+ class ULF_Field_gallery extends ULF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
17
  public function render() {
18
 
19
  $args = wp_parse_args( $this->field, array(
20
+ 'add_title' => esc_html__( 'Add Gallery', 'ulf' ),
21
+ 'edit_title' => esc_html__( 'Edit Gallery', 'ulf' ),
22
+ 'clear_title' => esc_html__( 'Clear', 'ulf' ),
23
  ) );
24
 
25
  $hidden = ( empty( $this->value ) ) ? ' hidden' : '';
39
  }
40
  echo '</ul>';
41
 
42
+ echo '<a href="#" class="button button-primary ulf-button">'. esc_attr( $args['add_title'] ) .'</a>';
43
+ echo '<a href="#" class="button ulf-edit-gallery'. esc_attr( $hidden ) .'">'. esc_attr( $args['edit_title'] ) .'</a>';
44
+ echo '<a href="#" class="button ulf-warning-primary ulf-clear-gallery'. esc_attr( $hidden ) .'">'. esc_attr( $args['clear_title'] ) .'</a>';
45
  echo '<input type="text" name="'. esc_attr( $this->field_name() ) .'" value="'. esc_attr( $this->value ) .'"'. $this->field_attributes() .'/>';
46
 
47
  echo $this->field_after();
admin/settings/fields/group/group.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Field_group' ) ) {
11
- class CSF_Field_group extends CSF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
@@ -20,7 +20,7 @@ if ( ! class_exists( 'CSF_Field_group' ) ) {
20
  'max' => 0,
21
  'min' => 0,
22
  'fields' => array(),
23
- 'button_title' => esc_html__( 'Add New', 'csf' ),
24
  'accordion_title_prefix' => '',
25
  'accordion_title_number' => false,
26
  'accordion_title_auto' => true,
@@ -32,42 +32,42 @@ if ( ! class_exists( 'CSF_Field_group' ) ) {
32
 
33
  if ( ! empty( $this->parent ) && preg_match( '/'. preg_quote( '['. $this->field['id'] .']' ) .'/', $this->parent ) ) {
34
 
35
- echo '<div class="csf-notice csf-notice-danger">'. esc_html__( 'Error: Nested field id can not be same with another nested field id.', 'csf' ) .'</div>';
36
 
37
  } else {
38
 
39
  echo $this->field_before();
40
 
41
- echo '<div class="csf-cloneable-item csf-cloneable-hidden">';
42
 
43
- echo '<div class="csf-cloneable-helper">';
44
- echo '<i class="csf-cloneable-sort fas fa-arrows-alt"></i>';
45
- echo '<i class="csf-cloneable-clone far fa-clone"></i>';
46
- echo '<i class="csf-cloneable-remove csf-confirm fas fa-times" data-confirm="'. esc_html__( 'Are you sure to delete this item?', 'csf' ) .'"></i>';
47
  echo '</div>';
48
 
49
- echo '<h4 class="csf-cloneable-title">';
50
- echo '<span class="csf-cloneable-text">';
51
- echo ( $title_number ) ? '<span class="csf-cloneable-title-number"></span>' : '';
52
- echo ( $title_prefix ) ? '<span class="csf-cloneable-title-prefix">'. esc_attr( $title_prefix ) .'</span>' : '';
53
- echo ( $title_auto ) ? '<span class="csf-cloneable-value"><span class="csf-cloneable-placeholder"></span></span>' : '';
54
  echo '</span>';
55
  echo '</h4>';
56
 
57
- echo '<div class="csf-cloneable-content">';
58
  foreach ( $this->field['fields'] as $field ) {
59
 
60
  $field_parent = $this->parent .'['. $this->field['id'] .']';
61
  $field_default = ( isset( $field['default'] ) ) ? $field['default'] : '';
62
 
63
- CSF::field( $field, $field_default, '_nonce', 'field/group', $field_parent );
64
 
65
  }
66
  echo '</div>';
67
 
68
  echo '</div>';
69
 
70
- echo '<div class="csf-cloneable-wrapper csf-data-wrapper" data-title-number="'. esc_attr( $title_number ) .'" data-unique-id="'. esc_attr( $this->unique ) .'" data-field-id="['. esc_attr( $this->field['id'] ) .']" data-max="'. esc_attr( $args['max'] ) .'" data-min="'. esc_attr( $args['min'] ) .'">';
71
 
72
  if ( ! empty( $this->value ) ) {
73
 
@@ -79,23 +79,23 @@ if ( ! class_exists( 'CSF_Field_group' ) ) {
79
  $first_value = ( isset( $value[$first_id] ) ) ? $value[$first_id] : '';
80
  $first_value = ( is_array( $first_value ) ) ? reset( $first_value ) : $first_value;
81
 
82
- echo '<div class="csf-cloneable-item">';
83
 
84
- echo '<div class="csf-cloneable-helper">';
85
- echo '<i class="csf-cloneable-sort fas fa-arrows-alt"></i>';
86
- echo '<i class="csf-cloneable-clone far fa-clone"></i>';
87
- echo '<i class="csf-cloneable-remove csf-confirm fas fa-times" data-confirm="'. esc_html__( 'Are you sure to delete this item?', 'csf' ) .'"></i>';
88
  echo '</div>';
89
 
90
- echo '<h4 class="csf-cloneable-title">';
91
- echo '<span class="csf-cloneable-text">';
92
- echo ( $title_number ) ? '<span class="csf-cloneable-title-number">'. esc_attr( $num+1 ) .'.</span>' : '';
93
- echo ( $title_prefix ) ? '<span class="csf-cloneable-title-prefix">'. esc_attr( $title_prefix ) .'</span>' : '';
94
- echo ( $title_auto ) ? '<span class="csf-cloneable-value">' . esc_attr( $first_value ) .'</span>' : '';
95
  echo '</span>';
96
  echo '</h4>';
97
 
98
- echo '<div class="csf-cloneable-content">';
99
 
100
  foreach ( $this->field['fields'] as $field ) {
101
 
@@ -103,7 +103,7 @@ if ( ! class_exists( 'CSF_Field_group' ) ) {
103
  $field_unique = ( ! empty( $this->unique ) ) ? $this->unique .'['. $this->field['id'] .']['. $num .']' : $this->field['id'] .'['. $num .']';
104
  $field_value = ( isset( $field['id'] ) && isset( $value[$field['id']] ) ) ? $value[$field['id']] : '';
105
 
106
- CSF::field( $field, $field_value, $field_unique, 'field/group', $field_parent );
107
 
108
  }
109
 
@@ -119,10 +119,10 @@ if ( ! class_exists( 'CSF_Field_group' ) ) {
119
 
120
  echo '</div>';
121
 
122
- echo '<div class="csf-cloneable-alert csf-cloneable-max">'. esc_html__( 'You can not add more than', 'csf' ) .' '. esc_attr( $args['max'] ) .'</div>';
123
- echo '<div class="csf-cloneable-alert csf-cloneable-min">'. esc_html__( 'You can not remove less than', 'csf' ) .' '. esc_attr( $args['min'] ) .'</div>';
124
 
125
- echo '<a href="#" class="button button-primary csf-cloneable-add">'. wp_kses_post( $args['button_title'] ) .'</a>';
126
 
127
  echo $this->field_after();
128
 
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Field_group' ) ) {
11
+ class ULF_Field_group extends ULF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
20
  'max' => 0,
21
  'min' => 0,
22
  'fields' => array(),
23
+ 'button_title' => esc_html__( 'Add New', 'ulf' ),
24
  'accordion_title_prefix' => '',
25
  'accordion_title_number' => false,
26
  'accordion_title_auto' => true,
32
 
33
  if ( ! empty( $this->parent ) && preg_match( '/'. preg_quote( '['. $this->field['id'] .']' ) .'/', $this->parent ) ) {
34
 
35
+ echo '<div class="ulf-notice ulf-notice-danger">'. esc_html__( 'Error: Nested field id can not be same with another nested field id.', 'ulf' ) .'</div>';
36
 
37
  } else {
38
 
39
  echo $this->field_before();
40
 
41
+ echo '<div class="ulf-cloneable-item ulf-cloneable-hidden">';
42
 
43
+ echo '<div class="ulf-cloneable-helper">';
44
+ echo '<i class="ulf-cloneable-sort fas fa-arrows-alt"></i>';
45
+ echo '<i class="ulf-cloneable-clone far fa-clone"></i>';
46
+ echo '<i class="ulf-cloneable-remove ulf-confirm fas fa-times" data-confirm="'. esc_html__( 'Are you sure to delete this item?', 'ulf' ) .'"></i>';
47
  echo '</div>';
48
 
49
+ echo '<h4 class="ulf-cloneable-title">';
50
+ echo '<span class="ulf-cloneable-text">';
51
+ echo ( $title_number ) ? '<span class="ulf-cloneable-title-number"></span>' : '';
52
+ echo ( $title_prefix ) ? '<span class="ulf-cloneable-title-prefix">'. esc_attr( $title_prefix ) .'</span>' : '';
53
+ echo ( $title_auto ) ? '<span class="ulf-cloneable-value"><span class="ulf-cloneable-placeholder"></span></span>' : '';
54
  echo '</span>';
55
  echo '</h4>';
56
 
57
+ echo '<div class="ulf-cloneable-content">';
58
  foreach ( $this->field['fields'] as $field ) {
59
 
60
  $field_parent = $this->parent .'['. $this->field['id'] .']';
61
  $field_default = ( isset( $field['default'] ) ) ? $field['default'] : '';
62
 
63
+ ULF::field( $field, $field_default, '_nonce', 'field/group', $field_parent );
64
 
65
  }
66
  echo '</div>';
67
 
68
  echo '</div>';
69
 
70
+ echo '<div class="ulf-cloneable-wrapper ulf-data-wrapper" data-title-number="'. esc_attr( $title_number ) .'" data-unique-id="'. esc_attr( $this->unique ) .'" data-field-id="['. esc_attr( $this->field['id'] ) .']" data-max="'. esc_attr( $args['max'] ) .'" data-min="'. esc_attr( $args['min'] ) .'">';
71
 
72
  if ( ! empty( $this->value ) ) {
73
 
79
  $first_value = ( isset( $value[$first_id] ) ) ? $value[$first_id] : '';
80
  $first_value = ( is_array( $first_value ) ) ? reset( $first_value ) : $first_value;
81
 
82
+ echo '<div class="ulf-cloneable-item">';
83
 
84
+ echo '<div class="ulf-cloneable-helper">';
85
+ echo '<i class="ulf-cloneable-sort fas fa-arrows-alt"></i>';
86
+ echo '<i class="ulf-cloneable-clone far fa-clone"></i>';
87
+ echo '<i class="ulf-cloneable-remove ulf-confirm fas fa-times" data-confirm="'. esc_html__( 'Are you sure to delete this item?', 'ulf' ) .'"></i>';
88
  echo '</div>';
89
 
90
+ echo '<h4 class="ulf-cloneable-title">';
91
+ echo '<span class="ulf-cloneable-text">';
92
+ echo ( $title_number ) ? '<span class="ulf-cloneable-title-number">'. esc_attr( $num+1 ) .'.</span>' : '';
93
+ echo ( $title_prefix ) ? '<span class="ulf-cloneable-title-prefix">'. esc_attr( $title_prefix ) .'</span>' : '';
94
+ echo ( $title_auto ) ? '<span class="ulf-cloneable-value">' . esc_attr( $first_value ) .'</span>' : '';
95
  echo '</span>';
96
  echo '</h4>';
97
 
98
+ echo '<div class="ulf-cloneable-content">';
99
 
100
  foreach ( $this->field['fields'] as $field ) {
101
 
103
  $field_unique = ( ! empty( $this->unique ) ) ? $this->unique .'['. $this->field['id'] .']['. $num .']' : $this->field['id'] .'['. $num .']';
104
  $field_value = ( isset( $field['id'] ) && isset( $value[$field['id']] ) ) ? $value[$field['id']] : '';
105
 
106
+ ULF::field( $field, $field_value, $field_unique, 'field/group', $field_parent );
107
 
108
  }
109
 
119
 
120
  echo '</div>';
121
 
122
+ echo '<div class="ulf-cloneable-alert ulf-cloneable-max">'. esc_html__( 'You can not add more than', 'ulf' ) .' '. esc_attr( $args['max'] ) .'</div>';
123
+ echo '<div class="ulf-cloneable-alert ulf-cloneable-min">'. esc_html__( 'You can not remove less than', 'ulf' ) .' '. esc_attr( $args['min'] ) .'</div>';
124
 
125
+ echo '<a href="#" class="button button-primary ulf-cloneable-add">'. wp_kses_post( $args['button_title'] ) .'</a>';
126
 
127
  echo $this->field_after();
128
 
admin/settings/fields/heading/heading.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Field_heading' ) ) {
11
- class CSF_Field_heading extends CSF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Field_heading' ) ) {
11
+ class ULF_Field_heading extends ULF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
admin/settings/fields/icon/fa4-icons.php CHANGED
@@ -2,7 +2,7 @@
2
  //
3
  // Font Awesome 4 Icons
4
  //
5
- function csf_get_default_icons() {
6
  return array( array(
7
  'title' => 'Font Awesome',
8
  'icons' => array( 'fa fa-glass','fa fa-music','fa fa-search','fa fa-envelope-o','fa fa-heart','fa fa-star','fa fa-star-o','fa fa-user','fa fa-film','fa fa-th-large','fa fa-th','fa fa-th-list','fa fa-check','fa fa-times','fa fa-search-plus','fa fa-search-minus','fa fa-power-off','fa fa-signal','fa fa-cog','fa fa-trash-o','fa fa-home','fa fa-file-o','fa fa-clock-o','fa fa-road','fa fa-download','fa fa-arrow-circle-o-down','fa fa-arrow-circle-o-up','fa fa-inbox','fa fa-play-circle-o','fa fa-repeat','fa fa-refresh','fa fa-list-alt','fa fa-lock','fa fa-flag','fa fa-headphones','fa fa-volume-off','fa fa-volume-down','fa fa-volume-up','fa fa-qrcode','fa fa-barcode','fa fa-tag','fa fa-tags','fa fa-book','fa fa-bookmark','fa fa-print','fa fa-camera','fa fa-font','fa fa-bold','fa fa-italic','fa fa-text-height','fa fa-text-width','fa fa-align-left','fa fa-align-center','fa fa-align-right','fa fa-align-justify','fa fa-list','fa fa-outdent','fa fa-indent','fa fa-video-camera','fa fa-picture-o','fa fa-pencil','fa fa-map-marker','fa fa-adjust','fa fa-tint','fa fa-pencil-square-o','fa fa-share-square-o','fa fa-check-square-o','fa fa-arrows','fa fa-step-backward','fa fa-fast-backward','fa fa-backward','fa fa-play','fa fa-pause','fa fa-stop','fa fa-forward','fa fa-fast-forward','fa fa-step-forward','fa fa-eject','fa fa-chevron-left','fa fa-chevron-right','fa fa-plus-circle','fa fa-minus-circle','fa fa-times-circle','fa fa-check-circle','fa fa-question-circle','fa fa-info-circle','fa fa-crosshairs','fa fa-times-circle-o','fa fa-check-circle-o','fa fa-ban','fa fa-arrow-left','fa fa-arrow-right','fa fa-arrow-up','fa fa-arrow-down','fa fa-share','fa fa-expand','fa fa-compress','fa fa-plus','fa fa-minus','fa fa-asterisk','fa fa-exclamation-circle','fa fa-gift','fa fa-leaf','fa fa-fire','fa fa-eye','fa fa-eye-slash','fa fa-exclamation-triangle','fa fa-plane','fa fa-calendar','fa fa-random','fa fa-comment','fa fa-magnet','fa fa-chevron-up','fa fa-chevron-down','fa fa-retweet','fa fa-shopping-cart','fa fa-folder','fa fa-folder-open','fa fa-arrows-v','fa fa-arrows-h','fa fa-bar-chart','fa fa-twitter-square','fa fa-facebook-square','fa fa-camera-retro','fa fa-key','fa fa-cogs','fa fa-comments','fa fa-thumbs-o-up','fa fa-thumbs-o-down','fa fa-star-half','fa fa-heart-o','fa fa-sign-out','fa fa-linkedin-square','fa fa-thumb-tack','fa fa-external-link','fa fa-sign-in','fa fa-trophy','fa fa-github-square','fa fa-upload','fa fa-lemon-o','fa fa-phone','fa fa-square-o','fa fa-bookmark-o','fa fa-phone-square','fa fa-twitter','fa fa-facebook','fa fa-github','fa fa-unlock','fa fa-credit-card','fa fa-rss','fa fa-hdd-o','fa fa-bullhorn','fa fa-bell','fa fa-certificate','fa fa-hand-o-right','fa fa-hand-o-left','fa fa-hand-o-up','fa fa-hand-o-down','fa fa-arrow-circle-left','fa fa-arrow-circle-right','fa fa-arrow-circle-up','fa fa-arrow-circle-down','fa fa-globe','fa fa-wrench','fa fa-tasks','fa fa-filter','fa fa-briefcase','fa fa-arrows-alt','fa fa-users','fa fa-link','fa fa-cloud','fa fa-flask','fa fa-scissors','fa fa-files-o','fa fa-paperclip','fa fa-floppy-o','fa fa-square','fa fa-bars','fa fa-list-ul','fa fa-list-ol','fa fa-strikethrough','fa fa-underline','fa fa-table','fa fa-magic','fa fa-truck','fa fa-pinterest','fa fa-pinterest-square','fa fa-google-plus-square','fa fa-google-plus','fa fa-money','fa fa-caret-down','fa fa-caret-up','fa fa-caret-left','fa fa-caret-right','fa fa-columns','fa fa-sort','fa fa-sort-desc','fa fa-sort-asc','fa fa-envelope','fa fa-linkedin','fa fa-undo','fa fa-gavel','fa fa-tachometer','fa fa-comment-o','fa fa-comments-o','fa fa-bolt','fa fa-sitemap','fa fa-umbrella','fa fa-clipboard','fa fa-lightbulb-o','fa fa-exchange','fa fa-cloud-download','fa fa-cloud-upload','fa fa-user-md','fa fa-stethoscope','fa fa-suitcase','fa fa-bell-o','fa fa-coffee','fa fa-cutlery','fa fa-file-text-o','fa fa-building-o','fa fa-hospital-o','fa fa-ambulance','fa fa-medkit','fa fa-fighter-jet','fa fa-beer','fa fa-h-square','fa fa-plus-square','fa fa-angle-double-left','fa fa-angle-double-right','fa fa-angle-double-up','fa fa-angle-double-down','fa fa-angle-left','fa fa-angle-right','fa fa-angle-up','fa fa-angle-down','fa fa-desktop','fa fa-laptop','fa fa-tablet','fa fa-mobile','fa fa-circle-o','fa fa-quote-left','fa fa-quote-right','fa fa-spinner','fa fa-circle','fa fa-reply','fa fa-github-alt','fa fa-folder-o','fa fa-folder-open-o','fa fa-smile-o','fa fa-frown-o','fa fa-meh-o','fa fa-gamepad','fa fa-keyboard-o','fa fa-flag-o','fa fa-flag-checkered','fa fa-terminal','fa fa-code','fa fa-reply-all','fa fa-star-half-o','fa fa-location-arrow','fa fa-crop','fa fa-code-fork','fa fa-chain-broken','fa fa-question','fa fa-info','fa fa-exclamation','fa fa-superscript','fa fa-subscript','fa fa-eraser','fa fa-puzzle-piece','fa fa-microphone','fa fa-microphone-slash','fa fa-shield','fa fa-calendar-o','fa fa-fire-extinguisher','fa fa-rocket','fa fa-maxcdn','fa fa-chevron-circle-left','fa fa-chevron-circle-right','fa fa-chevron-circle-up','fa fa-chevron-circle-down','fa fa-html5','fa fa-css3','fa fa-anchor','fa fa-unlock-alt','fa fa-bullseye','fa fa-ellipsis-h','fa fa-ellipsis-v','fa fa-rss-square','fa fa-play-circle','fa fa-ticket','fa fa-minus-square','fa fa-minus-square-o','fa fa-level-up','fa fa-level-down','fa fa-check-square','fa fa-pencil-square','fa fa-external-link-square','fa fa-share-square','fa fa-compass','fa fa-caret-square-o-down','fa fa-caret-square-o-up','fa fa-caret-square-o-right','fa fa-eur','fa fa-gbp','fa fa-usd','fa fa-inr','fa fa-jpy','fa fa-rub','fa fa-krw','fa fa-btc','fa fa-file','fa fa-file-text','fa fa-sort-alpha-asc','fa fa-sort-alpha-desc','fa fa-sort-amount-asc','fa fa-sort-amount-desc','fa fa-sort-numeric-asc','fa fa-sort-numeric-desc','fa fa-thumbs-up','fa fa-thumbs-down','fa fa-youtube-square','fa fa-youtube','fa fa-xing','fa fa-xing-square','fa fa-youtube-play','fa fa-dropbox','fa fa-stack-overflow','fa fa-instagram','fa fa-flickr','fa fa-adn','fa fa-bitbucket','fa fa-bitbucket-square','fa fa-tumblr','fa fa-tumblr-square','fa fa-long-arrow-down','fa fa-long-arrow-up','fa fa-long-arrow-left','fa fa-long-arrow-right','fa fa-apple','fa fa-windows','fa fa-android','fa fa-linux','fa fa-dribbble','fa fa-skype','fa fa-foursquare','fa fa-trello','fa fa-female','fa fa-male','fa fa-gratipay','fa fa-sun-o','fa fa-moon-o','fa fa-archive','fa fa-bug','fa fa-vk','fa fa-weibo','fa fa-renren','fa fa-pagelines','fa fa-stack-exchange','fa fa-arrow-circle-o-right','fa fa-arrow-circle-o-left','fa fa-caret-square-o-left','fa fa-dot-circle-o','fa fa-wheelchair','fa fa-vimeo-square','fa fa-try','fa fa-plus-square-o','fa fa-space-shuttle','fa fa-slack','fa fa-envelope-square','fa fa-wordpress','fa fa-openid','fa fa-university','fa fa-graduation-cap','fa fa-yahoo','fa fa-google','fa fa-reddit','fa fa-reddit-square','fa fa-stumbleupon-circle','fa fa-stumbleupon','fa fa-delicious','fa fa-digg','fa fa-pied-piper-pp','fa fa-pied-piper-alt','fa fa-drupal','fa fa-joomla','fa fa-language','fa fa-fax','fa fa-building','fa fa-child','fa fa-paw','fa fa-spoon','fa fa-cube','fa fa-cubes','fa fa-behance','fa fa-behance-square','fa fa-steam','fa fa-steam-square','fa fa-recycle','fa fa-car','fa fa-taxi','fa fa-tree','fa fa-spotify','fa fa-deviantart','fa fa-soundcloud','fa fa-database','fa fa-file-pdf-o','fa fa-file-word-o','fa fa-file-excel-o','fa fa-file-powerpoint-o','fa fa-file-image-o','fa fa-file-archive-o','fa fa-file-audio-o','fa fa-file-video-o','fa fa-file-code-o','fa fa-vine','fa fa-codepen','fa fa-jsfiddle','fa fa-life-ring','fa fa-circle-o-notch','fa fa-rebel','fa fa-empire','fa fa-git-square','fa fa-git','fa fa-hacker-news','fa fa-tencent-weibo','fa fa-qq','fa fa-weixin','fa fa-paper-plane','fa fa-paper-plane-o','fa fa-history','fa fa-circle-thin','fa fa-header','fa fa-paragraph','fa fa-sliders','fa fa-share-alt','fa fa-share-alt-square','fa fa-bomb','fa fa-futbol-o','fa fa-tty','fa fa-binoculars','fa fa-plug','fa fa-slideshare','fa fa-twitch','fa fa-yelp','fa fa-newspaper-o','fa fa-wifi','fa fa-calculator','fa fa-paypal','fa fa-google-wallet','fa fa-cc-visa','fa fa-cc-mastercard','fa fa-cc-discover','fa fa-cc-amex','fa fa-cc-paypal','fa fa-cc-stripe','fa fa-bell-slash','fa fa-bell-slash-o','fa fa-trash','fa fa-copyright','fa fa-at','fa fa-eyedropper','fa fa-paint-brush','fa fa-birthday-cake','fa fa-area-chart','fa fa-pie-chart','fa fa-line-chart','fa fa-lastfm','fa fa-lastfm-square','fa fa-toggle-off','fa fa-toggle-on','fa fa-bicycle','fa fa-bus','fa fa-ioxhost','fa fa-angellist','fa fa-cc','fa fa-ils','fa fa-meanpath','fa fa-buysellads','fa fa-connectdevelop','fa fa-dashcube','fa fa-forumbee','fa fa-leanpub','fa fa-sellsy','fa fa-shirtsinbulk','fa fa-simplybuilt','fa fa-skyatlas','fa fa-cart-plus','fa fa-cart-arrow-down','fa fa-diamond','fa fa-ship','fa fa-user-secret','fa fa-motorcycle','fa fa-street-view','fa fa-heartbeat','fa fa-venus','fa fa-mars','fa fa-mercury','fa fa-transgender','fa fa-transgender-alt','fa fa-venus-double','fa fa-mars-double','fa fa-venus-mars','fa fa-mars-stroke','fa fa-mars-stroke-v','fa fa-mars-stroke-h','fa fa-neuter','fa fa-genderless','fa fa-facebook-official','fa fa-pinterest-p','fa fa-whatsapp','fa fa-server','fa fa-user-plus','fa fa-user-times','fa fa-bed','fa fa-viacoin','fa fa-train','fa fa-subway','fa fa-medium','fa fa-y-combinator','fa fa-optin-monster','fa fa-opencart','fa fa-expeditedssl','fa fa-battery-full','fa fa-battery-three-quarters','fa fa-battery-half','fa fa-battery-quarter','fa fa-battery-empty','fa fa-mouse-pointer','fa fa-i-cursor','fa fa-object-group','fa fa-object-ungroup','fa fa-sticky-note','fa fa-sticky-note-o','fa fa-cc-jcb','fa fa-cc-diners-club','fa fa-clone','fa fa-balance-scale','fa fa-hourglass-o','fa fa-hourglass-start','fa fa-hourglass-half','fa fa-hourglass-end','fa fa-hourglass','fa fa-hand-rock-o','fa fa-hand-paper-o','fa fa-hand-scissors-o','fa fa-hand-lizard-o','fa fa-hand-spock-o','fa fa-hand-pointer-o','fa fa-hand-peace-o','fa fa-trademark','fa fa-registered','fa fa-creative-commons','fa fa-gg','fa fa-gg-circle','fa fa-tripadvisor','fa fa-odnoklassniki','fa fa-odnoklassniki-square','fa fa-get-pocket','fa fa-wikipedia-w','fa fa-safari','fa fa-chrome','fa fa-firefox','fa fa-opera','fa fa-internet-explorer','fa fa-television','fa fa-contao','fa fa-500px','fa fa-amazon','fa fa-calendar-plus-o','fa fa-calendar-minus-o','fa fa-calendar-times-o','fa fa-calendar-check-o','fa fa-industry','fa fa-map-pin','fa fa-map-signs','fa fa-map-o','fa fa-map','fa fa-commenting','fa fa-commenting-o','fa fa-houzz','fa fa-vimeo','fa fa-black-tie','fa fa-fonticons','fa fa-reddit-alien','fa fa-edge','fa fa-credit-card-alt','fa fa-codiepie','fa fa-modx','fa fa-fort-awesome','fa fa-usb','fa fa-product-hunt','fa fa-mixcloud','fa fa-scribd','fa fa-pause-circle','fa fa-pause-circle-o','fa fa-stop-circle','fa fa-stop-circle-o','fa fa-shopping-bag','fa fa-shopping-basket','fa fa-hashtag','fa fa-bluetooth','fa fa-bluetooth-b','fa fa-percent','fa fa-gitlab','fa fa-wpbeginner','fa fa-wpforms','fa fa-envira','fa fa-universal-access','fa fa-wheelchair-alt','fa fa-question-circle-o','fa fa-blind','fa fa-audio-description','fa fa-volume-control-phone','fa fa-braille','fa fa-assistive-listening-systems','fa fa-american-sign-language-interpreting','fa fa-deaf','fa fa-glide','fa fa-glide-g','fa fa-sign-language','fa fa-low-vision','fa fa-viadeo','fa fa-viadeo-square','fa fa-snapchat','fa fa-snapchat-ghost','fa fa-snapchat-square','fa fa-pied-piper','fa fa-first-order','fa fa-yoast','fa fa-themeisle','fa fa-google-plus-official','fa fa-font-awesome','fa fa-handshake-o','fa fa-envelope-open','fa fa-envelope-open-o','fa fa-linode','fa fa-address-book','fa fa-address-book-o','fa fa-address-card','fa fa-address-card-o','fa fa-user-circle','fa fa-user-circle-o','fa fa-user-o','fa fa-id-badge','fa fa-id-card','fa fa-id-card-o','fa fa-quora','fa fa-free-code-camp','fa fa-telegram','fa fa-thermometer-full','fa fa-thermometer-three-quarters','fa fa-thermometer-half','fa fa-thermometer-quarter','fa fa-thermometer-empty','fa fa-shower','fa fa-bath','fa fa-podcast','fa fa-window-maximize','fa fa-window-minimize','fa fa-window-restore','fa fa-window-close','fa fa-window-close-o','fa fa-bandcamp','fa fa-grav','fa fa-etsy','fa fa-imdb','fa fa-ravelry','fa fa-eercast','fa fa-microchip','fa fa-snowflake-o','fa fa-superpowers','fa fa-wpexplorer','fa fa-meetup' )
2
  //
3
  // Font Awesome 4 Icons
4
  //
5
+ function ulf_get_default_icons() {
6
  return array( array(
7
  'title' => 'Font Awesome',
8
  'icons' => array( 'fa fa-glass','fa fa-music','fa fa-search','fa fa-envelope-o','fa fa-heart','fa fa-star','fa fa-star-o','fa fa-user','fa fa-film','fa fa-th-large','fa fa-th','fa fa-th-list','fa fa-check','fa fa-times','fa fa-search-plus','fa fa-search-minus','fa fa-power-off','fa fa-signal','fa fa-cog','fa fa-trash-o','fa fa-home','fa fa-file-o','fa fa-clock-o','fa fa-road','fa fa-download','fa fa-arrow-circle-o-down','fa fa-arrow-circle-o-up','fa fa-inbox','fa fa-play-circle-o','fa fa-repeat','fa fa-refresh','fa fa-list-alt','fa fa-lock','fa fa-flag','fa fa-headphones','fa fa-volume-off','fa fa-volume-down','fa fa-volume-up','fa fa-qrcode','fa fa-barcode','fa fa-tag','fa fa-tags','fa fa-book','fa fa-bookmark','fa fa-print','fa fa-camera','fa fa-font','fa fa-bold','fa fa-italic','fa fa-text-height','fa fa-text-width','fa fa-align-left','fa fa-align-center','fa fa-align-right','fa fa-align-justify','fa fa-list','fa fa-outdent','fa fa-indent','fa fa-video-camera','fa fa-picture-o','fa fa-pencil','fa fa-map-marker','fa fa-adjust','fa fa-tint','fa fa-pencil-square-o','fa fa-share-square-o','fa fa-check-square-o','fa fa-arrows','fa fa-step-backward','fa fa-fast-backward','fa fa-backward','fa fa-play','fa fa-pause','fa fa-stop','fa fa-forward','fa fa-fast-forward','fa fa-step-forward','fa fa-eject','fa fa-chevron-left','fa fa-chevron-right','fa fa-plus-circle','fa fa-minus-circle','fa fa-times-circle','fa fa-check-circle','fa fa-question-circle','fa fa-info-circle','fa fa-crosshairs','fa fa-times-circle-o','fa fa-check-circle-o','fa fa-ban','fa fa-arrow-left','fa fa-arrow-right','fa fa-arrow-up','fa fa-arrow-down','fa fa-share','fa fa-expand','fa fa-compress','fa fa-plus','fa fa-minus','fa fa-asterisk','fa fa-exclamation-circle','fa fa-gift','fa fa-leaf','fa fa-fire','fa fa-eye','fa fa-eye-slash','fa fa-exclamation-triangle','fa fa-plane','fa fa-calendar','fa fa-random','fa fa-comment','fa fa-magnet','fa fa-chevron-up','fa fa-chevron-down','fa fa-retweet','fa fa-shopping-cart','fa fa-folder','fa fa-folder-open','fa fa-arrows-v','fa fa-arrows-h','fa fa-bar-chart','fa fa-twitter-square','fa fa-facebook-square','fa fa-camera-retro','fa fa-key','fa fa-cogs','fa fa-comments','fa fa-thumbs-o-up','fa fa-thumbs-o-down','fa fa-star-half','fa fa-heart-o','fa fa-sign-out','fa fa-linkedin-square','fa fa-thumb-tack','fa fa-external-link','fa fa-sign-in','fa fa-trophy','fa fa-github-square','fa fa-upload','fa fa-lemon-o','fa fa-phone','fa fa-square-o','fa fa-bookmark-o','fa fa-phone-square','fa fa-twitter','fa fa-facebook','fa fa-github','fa fa-unlock','fa fa-credit-card','fa fa-rss','fa fa-hdd-o','fa fa-bullhorn','fa fa-bell','fa fa-certificate','fa fa-hand-o-right','fa fa-hand-o-left','fa fa-hand-o-up','fa fa-hand-o-down','fa fa-arrow-circle-left','fa fa-arrow-circle-right','fa fa-arrow-circle-up','fa fa-arrow-circle-down','fa fa-globe','fa fa-wrench','fa fa-tasks','fa fa-filter','fa fa-briefcase','fa fa-arrows-alt','fa fa-users','fa fa-link','fa fa-cloud','fa fa-flask','fa fa-scissors','fa fa-files-o','fa fa-paperclip','fa fa-floppy-o','fa fa-square','fa fa-bars','fa fa-list-ul','fa fa-list-ol','fa fa-strikethrough','fa fa-underline','fa fa-table','fa fa-magic','fa fa-truck','fa fa-pinterest','fa fa-pinterest-square','fa fa-google-plus-square','fa fa-google-plus','fa fa-money','fa fa-caret-down','fa fa-caret-up','fa fa-caret-left','fa fa-caret-right','fa fa-columns','fa fa-sort','fa fa-sort-desc','fa fa-sort-asc','fa fa-envelope','fa fa-linkedin','fa fa-undo','fa fa-gavel','fa fa-tachometer','fa fa-comment-o','fa fa-comments-o','fa fa-bolt','fa fa-sitemap','fa fa-umbrella','fa fa-clipboard','fa fa-lightbulb-o','fa fa-exchange','fa fa-cloud-download','fa fa-cloud-upload','fa fa-user-md','fa fa-stethoscope','fa fa-suitcase','fa fa-bell-o','fa fa-coffee','fa fa-cutlery','fa fa-file-text-o','fa fa-building-o','fa fa-hospital-o','fa fa-ambulance','fa fa-medkit','fa fa-fighter-jet','fa fa-beer','fa fa-h-square','fa fa-plus-square','fa fa-angle-double-left','fa fa-angle-double-right','fa fa-angle-double-up','fa fa-angle-double-down','fa fa-angle-left','fa fa-angle-right','fa fa-angle-up','fa fa-angle-down','fa fa-desktop','fa fa-laptop','fa fa-tablet','fa fa-mobile','fa fa-circle-o','fa fa-quote-left','fa fa-quote-right','fa fa-spinner','fa fa-circle','fa fa-reply','fa fa-github-alt','fa fa-folder-o','fa fa-folder-open-o','fa fa-smile-o','fa fa-frown-o','fa fa-meh-o','fa fa-gamepad','fa fa-keyboard-o','fa fa-flag-o','fa fa-flag-checkered','fa fa-terminal','fa fa-code','fa fa-reply-all','fa fa-star-half-o','fa fa-location-arrow','fa fa-crop','fa fa-code-fork','fa fa-chain-broken','fa fa-question','fa fa-info','fa fa-exclamation','fa fa-superscript','fa fa-subscript','fa fa-eraser','fa fa-puzzle-piece','fa fa-microphone','fa fa-microphone-slash','fa fa-shield','fa fa-calendar-o','fa fa-fire-extinguisher','fa fa-rocket','fa fa-maxcdn','fa fa-chevron-circle-left','fa fa-chevron-circle-right','fa fa-chevron-circle-up','fa fa-chevron-circle-down','fa fa-html5','fa fa-css3','fa fa-anchor','fa fa-unlock-alt','fa fa-bullseye','fa fa-ellipsis-h','fa fa-ellipsis-v','fa fa-rss-square','fa fa-play-circle','fa fa-ticket','fa fa-minus-square','fa fa-minus-square-o','fa fa-level-up','fa fa-level-down','fa fa-check-square','fa fa-pencil-square','fa fa-external-link-square','fa fa-share-square','fa fa-compass','fa fa-caret-square-o-down','fa fa-caret-square-o-up','fa fa-caret-square-o-right','fa fa-eur','fa fa-gbp','fa fa-usd','fa fa-inr','fa fa-jpy','fa fa-rub','fa fa-krw','fa fa-btc','fa fa-file','fa fa-file-text','fa fa-sort-alpha-asc','fa fa-sort-alpha-desc','fa fa-sort-amount-asc','fa fa-sort-amount-desc','fa fa-sort-numeric-asc','fa fa-sort-numeric-desc','fa fa-thumbs-up','fa fa-thumbs-down','fa fa-youtube-square','fa fa-youtube','fa fa-xing','fa fa-xing-square','fa fa-youtube-play','fa fa-dropbox','fa fa-stack-overflow','fa fa-instagram','fa fa-flickr','fa fa-adn','fa fa-bitbucket','fa fa-bitbucket-square','fa fa-tumblr','fa fa-tumblr-square','fa fa-long-arrow-down','fa fa-long-arrow-up','fa fa-long-arrow-left','fa fa-long-arrow-right','fa fa-apple','fa fa-windows','fa fa-android','fa fa-linux','fa fa-dribbble','fa fa-skype','fa fa-foursquare','fa fa-trello','fa fa-female','fa fa-male','fa fa-gratipay','fa fa-sun-o','fa fa-moon-o','fa fa-archive','fa fa-bug','fa fa-vk','fa fa-weibo','fa fa-renren','fa fa-pagelines','fa fa-stack-exchange','fa fa-arrow-circle-o-right','fa fa-arrow-circle-o-left','fa fa-caret-square-o-left','fa fa-dot-circle-o','fa fa-wheelchair','fa fa-vimeo-square','fa fa-try','fa fa-plus-square-o','fa fa-space-shuttle','fa fa-slack','fa fa-envelope-square','fa fa-wordpress','fa fa-openid','fa fa-university','fa fa-graduation-cap','fa fa-yahoo','fa fa-google','fa fa-reddit','fa fa-reddit-square','fa fa-stumbleupon-circle','fa fa-stumbleupon','fa fa-delicious','fa fa-digg','fa fa-pied-piper-pp','fa fa-pied-piper-alt','fa fa-drupal','fa fa-joomla','fa fa-language','fa fa-fax','fa fa-building','fa fa-child','fa fa-paw','fa fa-spoon','fa fa-cube','fa fa-cubes','fa fa-behance','fa fa-behance-square','fa fa-steam','fa fa-steam-square','fa fa-recycle','fa fa-car','fa fa-taxi','fa fa-tree','fa fa-spotify','fa fa-deviantart','fa fa-soundcloud','fa fa-database','fa fa-file-pdf-o','fa fa-file-word-o','fa fa-file-excel-o','fa fa-file-powerpoint-o','fa fa-file-image-o','fa fa-file-archive-o','fa fa-file-audio-o','fa fa-file-video-o','fa fa-file-code-o','fa fa-vine','fa fa-codepen','fa fa-jsfiddle','fa fa-life-ring','fa fa-circle-o-notch','fa fa-rebel','fa fa-empire','fa fa-git-square','fa fa-git','fa fa-hacker-news','fa fa-tencent-weibo','fa fa-qq','fa fa-weixin','fa fa-paper-plane','fa fa-paper-plane-o','fa fa-history','fa fa-circle-thin','fa fa-header','fa fa-paragraph','fa fa-sliders','fa fa-share-alt','fa fa-share-alt-square','fa fa-bomb','fa fa-futbol-o','fa fa-tty','fa fa-binoculars','fa fa-plug','fa fa-slideshare','fa fa-twitch','fa fa-yelp','fa fa-newspaper-o','fa fa-wifi','fa fa-calculator','fa fa-paypal','fa fa-google-wallet','fa fa-cc-visa','fa fa-cc-mastercard','fa fa-cc-discover','fa fa-cc-amex','fa fa-cc-paypal','fa fa-cc-stripe','fa fa-bell-slash','fa fa-bell-slash-o','fa fa-trash','fa fa-copyright','fa fa-at','fa fa-eyedropper','fa fa-paint-brush','fa fa-birthday-cake','fa fa-area-chart','fa fa-pie-chart','fa fa-line-chart','fa fa-lastfm','fa fa-lastfm-square','fa fa-toggle-off','fa fa-toggle-on','fa fa-bicycle','fa fa-bus','fa fa-ioxhost','fa fa-angellist','fa fa-cc','fa fa-ils','fa fa-meanpath','fa fa-buysellads','fa fa-connectdevelop','fa fa-dashcube','fa fa-forumbee','fa fa-leanpub','fa fa-sellsy','fa fa-shirtsinbulk','fa fa-simplybuilt','fa fa-skyatlas','fa fa-cart-plus','fa fa-cart-arrow-down','fa fa-diamond','fa fa-ship','fa fa-user-secret','fa fa-motorcycle','fa fa-street-view','fa fa-heartbeat','fa fa-venus','fa fa-mars','fa fa-mercury','fa fa-transgender','fa fa-transgender-alt','fa fa-venus-double','fa fa-mars-double','fa fa-venus-mars','fa fa-mars-stroke','fa fa-mars-stroke-v','fa fa-mars-stroke-h','fa fa-neuter','fa fa-genderless','fa fa-facebook-official','fa fa-pinterest-p','fa fa-whatsapp','fa fa-server','fa fa-user-plus','fa fa-user-times','fa fa-bed','fa fa-viacoin','fa fa-train','fa fa-subway','fa fa-medium','fa fa-y-combinator','fa fa-optin-monster','fa fa-opencart','fa fa-expeditedssl','fa fa-battery-full','fa fa-battery-three-quarters','fa fa-battery-half','fa fa-battery-quarter','fa fa-battery-empty','fa fa-mouse-pointer','fa fa-i-cursor','fa fa-object-group','fa fa-object-ungroup','fa fa-sticky-note','fa fa-sticky-note-o','fa fa-cc-jcb','fa fa-cc-diners-club','fa fa-clone','fa fa-balance-scale','fa fa-hourglass-o','fa fa-hourglass-start','fa fa-hourglass-half','fa fa-hourglass-end','fa fa-hourglass','fa fa-hand-rock-o','fa fa-hand-paper-o','fa fa-hand-scissors-o','fa fa-hand-lizard-o','fa fa-hand-spock-o','fa fa-hand-pointer-o','fa fa-hand-peace-o','fa fa-trademark','fa fa-registered','fa fa-creative-commons','fa fa-gg','fa fa-gg-circle','fa fa-tripadvisor','fa fa-odnoklassniki','fa fa-odnoklassniki-square','fa fa-get-pocket','fa fa-wikipedia-w','fa fa-safari','fa fa-chrome','fa fa-firefox','fa fa-opera','fa fa-internet-explorer','fa fa-television','fa fa-contao','fa fa-500px','fa fa-amazon','fa fa-calendar-plus-o','fa fa-calendar-minus-o','fa fa-calendar-times-o','fa fa-calendar-check-o','fa fa-industry','fa fa-map-pin','fa fa-map-signs','fa fa-map-o','fa fa-map','fa fa-commenting','fa fa-commenting-o','fa fa-houzz','fa fa-vimeo','fa fa-black-tie','fa fa-fonticons','fa fa-reddit-alien','fa fa-edge','fa fa-credit-card-alt','fa fa-codiepie','fa fa-modx','fa fa-fort-awesome','fa fa-usb','fa fa-product-hunt','fa fa-mixcloud','fa fa-scribd','fa fa-pause-circle','fa fa-pause-circle-o','fa fa-stop-circle','fa fa-stop-circle-o','fa fa-shopping-bag','fa fa-shopping-basket','fa fa-hashtag','fa fa-bluetooth','fa fa-bluetooth-b','fa fa-percent','fa fa-gitlab','fa fa-wpbeginner','fa fa-wpforms','fa fa-envira','fa fa-universal-access','fa fa-wheelchair-alt','fa fa-question-circle-o','fa fa-blind','fa fa-audio-description','fa fa-volume-control-phone','fa fa-braille','fa fa-assistive-listening-systems','fa fa-american-sign-language-interpreting','fa fa-deaf','fa fa-glide','fa fa-glide-g','fa fa-sign-language','fa fa-low-vision','fa fa-viadeo','fa fa-viadeo-square','fa fa-snapchat','fa fa-snapchat-ghost','fa fa-snapchat-square','fa fa-pied-piper','fa fa-first-order','fa fa-yoast','fa fa-themeisle','fa fa-google-plus-official','fa fa-font-awesome','fa fa-handshake-o','fa fa-envelope-open','fa fa-envelope-open-o','fa fa-linode','fa fa-address-book','fa fa-address-book-o','fa fa-address-card','fa fa-address-card-o','fa fa-user-circle','fa fa-user-circle-o','fa fa-user-o','fa fa-id-badge','fa fa-id-card','fa fa-id-card-o','fa fa-quora','fa fa-free-code-camp','fa fa-telegram','fa fa-thermometer-full','fa fa-thermometer-three-quarters','fa fa-thermometer-half','fa fa-thermometer-quarter','fa fa-thermometer-empty','fa fa-shower','fa fa-bath','fa fa-podcast','fa fa-window-maximize','fa fa-window-minimize','fa fa-window-restore','fa fa-window-close','fa fa-window-close-o','fa fa-bandcamp','fa fa-grav','fa fa-etsy','fa fa-imdb','fa fa-ravelry','fa fa-eercast','fa fa-microchip','fa fa-snowflake-o','fa fa-superpowers','fa fa-wpexplorer','fa fa-meetup' )
admin/settings/fields/icon/fa5-icons.php CHANGED
@@ -2,7 +2,7 @@
2
  //
3
  // Font Awesome 5 Free Icons
4
  //
5
- function csf_get_default_icons() {
6
  return array( array(
7
  'title' => 'Font Awesome 5 Free',
8
  'icons' => array('fab fa-500px','fab fa-accessible-icon','fab fa-accusoft','fab fa-acquisitions-incorporated','fas fa-ad','fas fa-address-book','far fa-address-book','fas fa-address-card','far fa-address-card','fas fa-adjust','fab fa-adn','fab fa-adobe','fab fa-adversal','fab fa-affiliatetheme','fas fa-air-freshener','fab fa-airbnb','fab fa-algolia','fas fa-align-center','fas fa-align-justify','fas fa-align-left','fas fa-align-right','fab fa-alipay','fas fa-allergies','fab fa-amazon','fab fa-amazon-pay','fas fa-ambulance','fas fa-american-sign-language-interpreting','fab fa-amilia','fas fa-anchor','fab fa-android','fab fa-angellist','fas fa-angle-double-down','fas fa-angle-double-left','fas fa-angle-double-right','fas fa-angle-double-up','fas fa-angle-down','fas fa-angle-left','fas fa-angle-right','fas fa-angle-up','fas fa-angry','far fa-angry','fab fa-angrycreative','fab fa-angular','fas fa-ankh','fab fa-app-store','fab fa-app-store-ios','fab fa-apper','fab fa-apple','fas fa-apple-alt','fab fa-apple-pay','fas fa-archive','fas fa-archway','fas fa-arrow-alt-circle-down','far fa-arrow-alt-circle-down','fas fa-arrow-alt-circle-left','far fa-arrow-alt-circle-left','fas fa-arrow-alt-circle-right','far fa-arrow-alt-circle-right','fas fa-arrow-alt-circle-up','far fa-arrow-alt-circle-up','fas fa-arrow-circle-down','fas fa-arrow-circle-left','fas fa-arrow-circle-right','fas fa-arrow-circle-up','fas fa-arrow-down','fas fa-arrow-left','fas fa-arrow-right','fas fa-arrow-up','fas fa-arrows-alt','fas fa-arrows-alt-h','fas fa-arrows-alt-v','fab fa-artstation','fas fa-assistive-listening-systems','fas fa-asterisk','fab fa-asymmetrik','fas fa-at','fas fa-atlas','fab fa-atlassian','fas fa-atom','fab fa-audible','fas fa-audio-description','fab fa-autoprefixer','fab fa-avianex','fab fa-aviato','fas fa-award','fab fa-aws','fas fa-baby','fas fa-baby-carriage','fas fa-backspace','fas fa-backward','fas fa-bacon','fas fa-bahai','fas fa-balance-scale','fas fa-balance-scale-left','fas fa-balance-scale-right','fas fa-ban','fas fa-band-aid','fab fa-bandcamp','fas fa-barcode','fas fa-bars','fas fa-baseball-ball','fas fa-basketball-ball','fas fa-bath','fas fa-battery-empty','fas fa-battery-full','fas fa-battery-half','fas fa-battery-quarter','fas fa-battery-three-quarters','fab fa-battle-net','fas fa-bed','fas fa-beer','fab fa-behance','fab fa-behance-square','fas fa-bell','far fa-bell','fas fa-bell-slash','far fa-bell-slash','fas fa-bezier-curve','fas fa-bible','fas fa-bicycle','fas fa-biking','fab fa-bimobject','fas fa-binoculars','fas fa-biohazard','fas fa-birthday-cake','fab fa-bitbucket','fab fa-bitcoin','fab fa-bity','fab fa-black-tie','fab fa-blackberry','fas fa-blender','fas fa-blender-phone','fas fa-blind','fas fa-blog','fab fa-blogger','fab fa-blogger-b','fab fa-bluetooth','fab fa-bluetooth-b','fas fa-bold','fas fa-bolt','fas fa-bomb','fas fa-bone','fas fa-bong','fas fa-book','fas fa-book-dead','fas fa-book-medical','fas fa-book-open','fas fa-book-reader','fas fa-bookmark','far fa-bookmark','fab fa-bootstrap','fas fa-border-all','fas fa-border-none','fas fa-border-style','fas fa-bowling-ball','fas fa-box','fas fa-box-open','fas fa-box-tissue','fas fa-boxes','fas fa-braille','fas fa-brain','fas fa-bread-slice','fas fa-briefcase','fas fa-briefcase-medical','fas fa-broadcast-tower','fas fa-broom','fas fa-brush','fab fa-btc','fab fa-buffer','fas fa-bug','fas fa-building','far fa-building','fas fa-bullhorn','fas fa-bullseye','fas fa-burn','fab fa-buromobelexperte','fas fa-bus','fas fa-bus-alt','fas fa-business-time','fab fa-buy-n-large','fab fa-buysellads','fas fa-calculator','fas fa-calendar','far fa-calendar','fas fa-calendar-alt','far fa-calendar-alt','fas fa-calendar-check','far fa-calendar-check','fas fa-calendar-day','fas fa-calendar-minus','far fa-calendar-minus','fas fa-calendar-plus','far fa-calendar-plus','fas fa-calendar-times','far fa-calendar-times','fas fa-calendar-week','fas fa-camera','fas fa-camera-retro','fas fa-campground','fab fa-canadian-maple-leaf','fas fa-candy-cane','fas fa-cannabis','fas fa-capsules','fas fa-car','fas fa-car-alt','fas fa-car-battery','fas fa-car-crash','fas fa-car-side','fas fa-caravan','fas fa-caret-down','fas fa-caret-left','fas fa-caret-right','fas fa-caret-square-down','far fa-caret-square-down','fas fa-caret-square-left','far fa-caret-square-left','fas fa-caret-square-right','far fa-caret-square-right','fas fa-caret-square-up','far fa-caret-square-up','fas fa-caret-up','fas fa-carrot','fas fa-cart-arrow-down','fas fa-cart-plus','fas fa-cash-register','fas fa-cat','fab fa-cc-amazon-pay','fab fa-cc-amex','fab fa-cc-apple-pay','fab fa-cc-diners-club','fab fa-cc-discover','fab fa-cc-jcb','fab fa-cc-mastercard','fab fa-cc-paypal','fab fa-cc-stripe','fab fa-cc-visa','fab fa-centercode','fab fa-centos','fas fa-certificate','fas fa-chair','fas fa-chalkboard','fas fa-chalkboard-teacher','fas fa-charging-station','fas fa-chart-area','fas fa-chart-bar','far fa-chart-bar','fas fa-chart-line','fas fa-chart-pie','fas fa-check','fas fa-check-circle','far fa-check-circle','fas fa-check-double','fas fa-check-square','far fa-check-square','fas fa-cheese','fas fa-chess','fas fa-chess-bishop','fas fa-chess-board','fas fa-chess-king','fas fa-chess-knight','fas fa-chess-pawn','fas fa-chess-queen','fas fa-chess-rook','fas fa-chevron-circle-down','fas fa-chevron-circle-left','fas fa-chevron-circle-right','fas fa-chevron-circle-up','fas fa-chevron-down','fas fa-chevron-left','fas fa-chevron-right','fas fa-chevron-up','fas fa-child','fab fa-chrome','fab fa-chromecast','fas fa-church','fas fa-circle','far fa-circle','fas fa-circle-notch','fas fa-city','fas fa-clinic-medical','fas fa-clipboard','far fa-clipboard','fas fa-clipboard-check','fas fa-clipboard-list','fas fa-clock','far fa-clock','fas fa-clone','far fa-clone','fas fa-closed-captioning','far fa-closed-captioning','fas fa-cloud','fas fa-cloud-download-alt','fas fa-cloud-meatball','fas fa-cloud-moon','fas fa-cloud-moon-rain','fas fa-cloud-rain','fas fa-cloud-showers-heavy','fas fa-cloud-sun','fas fa-cloud-sun-rain','fas fa-cloud-upload-alt','fab fa-cloudscale','fab fa-cloudsmith','fab fa-cloudversify','fas fa-cocktail','fas fa-code','fas fa-code-branch','fab fa-codepen','fab fa-codiepie','fas fa-coffee','fas fa-cog','fas fa-cogs','fas fa-coins','fas fa-columns','fas fa-comment','far fa-comment','fas fa-comment-alt','far fa-comment-alt','fas fa-comment-dollar','fas fa-comment-dots','far fa-comment-dots','fas fa-comment-medical','fas fa-comment-slash','fas fa-comments','far fa-comments','fas fa-comments-dollar','fas fa-compact-disc','fas fa-compass','far fa-compass','fas fa-compress','fas fa-compress-alt','fas fa-compress-arrows-alt','fas fa-concierge-bell','fab fa-confluence','fab fa-connectdevelop','fab fa-contao','fas fa-cookie','fas fa-cookie-bite','fas fa-copy','far fa-copy','fas fa-copyright','far fa-copyright','fab fa-cotton-bureau','fas fa-couch','fab fa-cpanel','fab fa-creative-commons','fab fa-creative-commons-by','fab fa-creative-commons-nc','fab fa-creative-commons-nc-eu','fab fa-creative-commons-nc-jp','fab fa-creative-commons-nd','fab fa-creative-commons-pd','fab fa-creative-commons-pd-alt','fab fa-creative-commons-remix','fab fa-creative-commons-sa','fab fa-creative-commons-sampling','fab fa-creative-commons-sampling-plus','fab fa-creative-commons-share','fab fa-creative-commons-zero','fas fa-credit-card','far fa-credit-card','fab fa-critical-role','fas fa-crop','fas fa-crop-alt','fas fa-cross','fas fa-crosshairs','fas fa-crow','fas fa-crown','fas fa-crutch','fab fa-css3','fab fa-css3-alt','fas fa-cube','fas fa-cubes','fas fa-cut','fab fa-cuttlefish','fab fa-d-and-d','fab fa-d-and-d-beyond','fab fa-dailymotion','fab fa-dashcube','fas fa-database','fas fa-deaf','fab fa-delicious','fas fa-democrat','fab fa-deploydog','fab fa-deskpro','fas fa-desktop','fab fa-dev','fab fa-deviantart','fas fa-dharmachakra','fab fa-dhl','fas fa-diagnoses','fab fa-diaspora','fas fa-dice','fas fa-dice-d20','fas fa-dice-d6','fas fa-dice-five','fas fa-dice-four','fas fa-dice-one','fas fa-dice-six','fas fa-dice-three','fas fa-dice-two','fab fa-digg','fab fa-digital-ocean','fas fa-digital-tachograph','fas fa-directions','fab fa-discord','fab fa-discourse','fas fa-disease','fas fa-divide','fas fa-dizzy','far fa-dizzy','fas fa-dna','fab fa-dochub','fab fa-docker','fas fa-dog','fas fa-dollar-sign','fas fa-dolly','fas fa-dolly-flatbed','fas fa-donate','fas fa-door-closed','fas fa-door-open','fas fa-dot-circle','far fa-dot-circle','fas fa-dove','fas fa-download','fab fa-draft2digital','fas fa-drafting-compass','fas fa-dragon','fas fa-draw-polygon','fab fa-dribbble','fab fa-dribbble-square','fab fa-dropbox','fas fa-drum','fas fa-drum-steelpan','fas fa-drumstick-bite','fab fa-drupal','fas fa-dumbbell','fas fa-dumpster','fas fa-dumpster-fire','fas fa-dungeon','fab fa-dyalog','fab fa-earlybirds','fab fa-ebay','fab fa-edge','fas fa-edit','far fa-edit','fas fa-egg','fas fa-eject','fab fa-elementor','fas fa-ellipsis-h','fas fa-ellipsis-v','fab fa-ello','fab fa-ember','fab fa-empire','fas fa-envelope','far fa-envelope','fas fa-envelope-open','far fa-envelope-open','fas fa-envelope-open-text','fas fa-envelope-square','fab fa-envira','fas fa-equals','fas fa-eraser','fab fa-erlang','fab fa-ethereum','fas fa-ethernet','fab fa-etsy','fas fa-euro-sign','fab fa-evernote','fas fa-exchange-alt','fas fa-exclamation','fas fa-exclamation-circle','fas fa-exclamation-triangle','fas fa-expand','fas fa-expand-alt','fas fa-expand-arrows-alt','fab fa-expeditedssl','fas fa-external-link-alt','fas fa-external-link-square-alt','fas fa-eye','far fa-eye','fas fa-eye-dropper','fas fa-eye-slash','far fa-eye-slash','fab fa-facebook','fab fa-facebook-f','fab fa-facebook-messenger','fab fa-facebook-square','fas fa-fan','fab fa-fantasy-flight-games','fas fa-fast-backward','fas fa-fast-forward','fas fa-faucet','fas fa-fax','fas fa-feather','fas fa-feather-alt','fab fa-fedex','fab fa-fedora','fas fa-female','fas fa-fighter-jet','fab fa-figma','fas fa-file','far fa-file','fas fa-file-alt','far fa-file-alt','fas fa-file-archive','far fa-file-archive','fas fa-file-audio','far fa-file-audio','fas fa-file-code','far fa-file-code','fas fa-file-contract','fas fa-file-csv','fas fa-file-download','fas fa-file-excel','far fa-file-excel','fas fa-file-export','fas fa-file-image','far fa-file-image','fas fa-file-import','fas fa-file-invoice','fas fa-file-invoice-dollar','fas fa-file-medical','fas fa-file-medical-alt','fas fa-file-pdf','far fa-file-pdf','fas fa-file-powerpoint','far fa-file-powerpoint','fas fa-file-prescription','fas fa-file-signature','fas fa-file-upload','fas fa-file-video','far fa-file-video','fas fa-file-word','far fa-file-word','fas fa-fill','fas fa-fill-drip','fas fa-film','fas fa-filter','fas fa-fingerprint','fas fa-fire','fas fa-fire-alt','fas fa-fire-extinguisher','fab fa-firefox','fab fa-firefox-browser','fas fa-first-aid','fab fa-first-order','fab fa-first-order-alt','fab fa-firstdraft','fas fa-fish','fas fa-fist-raised','fas fa-flag','far fa-flag','fas fa-flag-checkered','fas fa-flag-usa','fas fa-flask','fab fa-flickr','fab fa-flipboard','fas fa-flushed','far fa-flushed','fab fa-fly','fas fa-folder','far fa-folder','fas fa-folder-minus','fas fa-folder-open','far fa-folder-open','fas fa-folder-plus','fas fa-font','fab fa-font-awesome','fab fa-font-awesome-alt','fab fa-font-awesome-flag','far fa-font-awesome-logo-full','fas fa-font-awesome-logo-full','fab fa-font-awesome-logo-full','fab fa-fonticons','fab fa-fonticons-fi','fas fa-football-ball','fab fa-fort-awesome','fab fa-fort-awesome-alt','fab fa-forumbee','fas fa-forward','fab fa-foursquare','fab fa-free-code-camp','fab fa-freebsd','fas fa-frog','fas fa-frown','far fa-frown','fas fa-frown-open','far fa-frown-open','fab fa-fulcrum','fas fa-funnel-dollar','fas fa-futbol','far fa-futbol','fab fa-galactic-republic','fab fa-galactic-senate','fas fa-gamepad','fas fa-gas-pump','fas fa-gavel','fas fa-gem','far fa-gem','fas fa-genderless','fab fa-get-pocket','fab fa-gg','fab fa-gg-circle','fas fa-ghost','fas fa-gift','fas fa-gifts','fab fa-git','fab fa-git-alt','fab fa-git-square','fab fa-github','fab fa-github-alt','fab fa-github-square','fab fa-gitkraken','fab fa-gitlab','fab fa-gitter','fas fa-glass-cheers','fas fa-glass-martini','fas fa-glass-martini-alt','fas fa-glass-whiskey','fas fa-glasses','fab fa-glide','fab fa-glide-g','fas fa-globe','fas fa-globe-africa','fas fa-globe-americas','fas fa-globe-asia','fas fa-globe-europe','fab fa-gofore','fas fa-golf-ball','fab fa-goodreads','fab fa-goodreads-g','fab fa-google','fab fa-google-drive','fab fa-google-play','fab fa-google-plus','fab fa-google-plus-g','fab fa-google-plus-square','fab fa-google-wallet','fas fa-gopuram','fas fa-graduation-cap','fab fa-gratipay','fab fa-grav','fas fa-greater-than','fas fa-greater-than-equal','fas fa-grimace','far fa-grimace','fas fa-grin','far fa-grin','fas fa-grin-alt','far fa-grin-alt','fas fa-grin-beam','far fa-grin-beam','fas fa-grin-beam-sweat','far fa-grin-beam-sweat','fas fa-grin-hearts','far fa-grin-hearts','fas fa-grin-squint','far fa-grin-squint','fas fa-grin-squint-tears','far fa-grin-squint-tears','fas fa-grin-stars','far fa-grin-stars','fas fa-grin-tears','far fa-grin-tears','fas fa-grin-tongue','far fa-grin-tongue','fas fa-grin-tongue-squint','far fa-grin-tongue-squint','fas fa-grin-tongue-wink','far fa-grin-tongue-wink','fas fa-grin-wink','far fa-grin-wink','fas fa-grip-horizontal','fas fa-grip-lines','fas fa-grip-lines-vertical','fas fa-grip-vertical','fab fa-gripfire','fab fa-grunt','fas fa-guitar','fab fa-gulp','fas fa-h-square','fab fa-hacker-news','fab fa-hacker-news-square','fab fa-hackerrank','fas fa-hamburger','fas fa-hammer','fas fa-hamsa','fas fa-hand-holding','fas fa-hand-holding-heart','fas fa-hand-holding-medical','fas fa-hand-holding-usd','fas fa-hand-holding-water','fas fa-hand-lizard','far fa-hand-lizard','fas fa-hand-middle-finger','fas fa-hand-paper','far fa-hand-paper','fas fa-hand-peace','far fa-hand-peace','fas fa-hand-point-down','far fa-hand-point-down','fas fa-hand-point-left','far fa-hand-point-left','fas fa-hand-point-right','far fa-hand-point-right','fas fa-hand-point-up','far fa-hand-point-up','fas fa-hand-pointer','far fa-hand-pointer','fas fa-hand-rock','far fa-hand-rock','fas fa-hand-scissors','far fa-hand-scissors','fas fa-hand-sparkles','fas fa-hand-spock','far fa-hand-spock','fas fa-hands','fas fa-hands-helping','fas fa-hands-wash','fas fa-handshake','far fa-handshake','fas fa-handshake-alt-slash','fas fa-handshake-slash','fas fa-hanukiah','fas fa-hard-hat','fas fa-hashtag','fas fa-hat-cowboy','fas fa-hat-cowboy-side','fas fa-hat-wizard','fas fa-hdd','far fa-hdd','fas fa-head-side-cough','fas fa-head-side-cough-slash','fas fa-head-side-mask','fas fa-head-side-virus','fas fa-heading','fas fa-headphones','fas fa-headphones-alt','fas fa-headset','fas fa-heart','far fa-heart','fas fa-heart-broken','fas fa-heartbeat','fas fa-helicopter','fas fa-highlighter','fas fa-hiking','fas fa-hippo','fab fa-hips','fab fa-hire-a-helper','fas fa-history','fas fa-hockey-puck','fas fa-holly-berry','fas fa-home','fab fa-hooli','fab fa-hornbill','fas fa-horse','fas fa-horse-head','fas fa-hospital','far fa-hospital','fas fa-hospital-alt','fas fa-hospital-symbol','fas fa-hospital-user','fas fa-hot-tub','fas fa-hotdog','fas fa-hotel','fab fa-hotjar','fas fa-hourglass','far fa-hourglass','fas fa-hourglass-end','fas fa-hourglass-half','fas fa-hourglass-start','fas fa-house-damage','fas fa-house-user','fab fa-houzz','fas fa-hryvnia','fab fa-html5','fab fa-hubspot','fas fa-i-cursor','fas fa-ice-cream','fas fa-icicles','fas fa-icons','fas fa-id-badge','far fa-id-badge','fas fa-id-card','far fa-id-card','fas fa-id-card-alt','fab fa-ideal','fas fa-igloo','fas fa-image','far fa-image','fas fa-images','far fa-images','fab fa-imdb','fas fa-inbox','fas fa-indent','fas fa-industry','fas fa-infinity','fas fa-info','fas fa-info-circle','fab fa-instagram','fab fa-instagram-square','fab fa-intercom','fab fa-internet-explorer','fab fa-invision','fab fa-ioxhost','fas fa-italic','fab fa-itch-io','fab fa-itunes','fab fa-itunes-note','fab fa-java','fas fa-jedi','fab fa-jedi-order','fab fa-jenkins','fab fa-jira','fab fa-joget','fas fa-joint','fab fa-joomla','fas fa-journal-whills','fab fa-js','fab fa-js-square','fab fa-jsfiddle','fas fa-kaaba','fab fa-kaggle','fas fa-key','fab fa-keybase','fas fa-keyboard','far fa-keyboard','fab fa-keycdn','fas fa-khanda','fab fa-kickstarter','fab fa-kickstarter-k','fas fa-kiss','far fa-kiss','fas fa-kiss-beam','far fa-kiss-beam','fas fa-kiss-wink-heart','far fa-kiss-wink-heart','fas fa-kiwi-bird','fab fa-korvue','fas fa-landmark','fas fa-language','fas fa-laptop','fas fa-laptop-code','fas fa-laptop-house','fas fa-laptop-medical','fab fa-laravel','fab fa-lastfm','fab fa-lastfm-square','fas fa-laugh','far fa-laugh','fas fa-laugh-beam','far fa-laugh-beam','fas fa-laugh-squint','far fa-laugh-squint','fas fa-laugh-wink','far fa-laugh-wink','fas fa-layer-group','fas fa-leaf','fab fa-leanpub','fas fa-lemon','far fa-lemon','fab fa-less','fas fa-less-than','fas fa-less-than-equal','fas fa-level-down-alt','fas fa-level-up-alt','fas fa-life-ring','far fa-life-ring','fas fa-lightbulb','far fa-lightbulb','fab fa-line','fas fa-link','fab fa-linkedin','fab fa-linkedin-in','fab fa-linode','fab fa-linux','fas fa-lira-sign','fas fa-list','fas fa-list-alt','far fa-list-alt','fas fa-list-ol','fas fa-list-ul','fas fa-location-arrow','fas fa-lock','fas fa-lock-open','fas fa-long-arrow-alt-down','fas fa-long-arrow-alt-left','fas fa-long-arrow-alt-right','fas fa-long-arrow-alt-up','fas fa-low-vision','fas fa-luggage-cart','fas fa-lungs','fas fa-lungs-virus','fab fa-lyft','fab fa-magento','fas fa-magic','fas fa-magnet','fas fa-mail-bulk','fab fa-mailchimp','fas fa-male','fab fa-mandalorian','fas fa-map','far fa-map','fas fa-map-marked','fas fa-map-marked-alt','fas fa-map-marker','fas fa-map-marker-alt','fas fa-map-pin','fas fa-map-signs','fab fa-markdown','fas fa-marker','fas fa-mars','fas fa-mars-double','fas fa-mars-stroke','fas fa-mars-stroke-h','fas fa-mars-stroke-v','fas fa-mask','fab fa-mastodon','fab fa-maxcdn','fab fa-mdb','fas fa-medal','fab fa-medapps','fab fa-medium','fab fa-medium-m','fas fa-medkit','fab fa-medrt','fab fa-meetup','fab fa-megaport','fas fa-meh','far fa-meh','fas fa-meh-blank','far fa-meh-blank','fas fa-meh-rolling-eyes','far fa-meh-rolling-eyes','fas fa-memory','fab fa-mendeley','fas fa-menorah','fas fa-mercury','fas fa-meteor','fab fa-microblog','fas fa-microchip','fas fa-microphone','fas fa-microphone-alt','fas fa-microphone-alt-slash','fas fa-microphone-slash','fas fa-microscope','fab fa-microsoft','fas fa-minus','fas fa-minus-circle','fas fa-minus-square','far fa-minus-square','fas fa-mitten','fab fa-mix','fab fa-mixcloud','fab fa-mixer','fab fa-mizuni','fas fa-mobile','fas fa-mobile-alt','fab fa-modx','fab fa-monero','fas fa-money-bill','fas fa-money-bill-alt','far fa-money-bill-alt','fas fa-money-bill-wave','fas fa-money-bill-wave-alt','fas fa-money-check','fas fa-money-check-alt','fas fa-monument','fas fa-moon','far fa-moon','fas fa-mortar-pestle','fas fa-mosque','fas fa-motorcycle','fas fa-mountain','fas fa-mouse','fas fa-mouse-pointer','fas fa-mug-hot','fas fa-music','fab fa-napster','fab fa-neos','fas fa-network-wired','fas fa-neuter','fas fa-newspaper','far fa-newspaper','fab fa-nimblr','fab fa-node','fab fa-node-js','fas fa-not-equal','fas fa-notes-medical','fab fa-npm','fab fa-ns8','fab fa-nutritionix','fas fa-object-group','far fa-object-group','fas fa-object-ungroup','far fa-object-ungroup','fab fa-odnoklassniki','fab fa-odnoklassniki-square','fas fa-oil-can','fab fa-old-republic','fas fa-om','fab fa-opencart','fab fa-openid','fab fa-opera','fab fa-optin-monster','fab fa-orcid','fab fa-osi','fas fa-otter','fas fa-outdent','fab fa-page4','fab fa-pagelines','fas fa-pager','fas fa-paint-brush','fas fa-paint-roller','fas fa-palette','fab fa-palfed','fas fa-pallet','fas fa-paper-plane','far fa-paper-plane','fas fa-paperclip','fas fa-parachute-box','fas fa-paragraph','fas fa-parking','fas fa-passport','fas fa-pastafarianism','fas fa-paste','fab fa-patreon','fas fa-pause','fas fa-pause-circle','far fa-pause-circle','fas fa-paw','fab fa-paypal','fas fa-peace','fas fa-pen','fas fa-pen-alt','fas fa-pen-fancy','fas fa-pen-nib','fas fa-pen-square','fas fa-pencil-alt','fas fa-pencil-ruler','fab fa-penny-arcade','fas fa-people-arrows','fas fa-people-carry','fas fa-pepper-hot','fas fa-percent','fas fa-percentage','fab fa-periscope','fas fa-person-booth','fab fa-phabricator','fab fa-phoenix-framework','fab fa-phoenix-squadron','fas fa-phone','fas fa-phone-alt','fas fa-phone-slash','fas fa-phone-square','fas fa-phone-square-alt','fas fa-phone-volume','fas fa-photo-video','fab fa-php','fab fa-pied-piper','fab fa-pied-piper-alt','fab fa-pied-piper-hat','fab fa-pied-piper-pp','fab fa-pied-piper-square','fas fa-piggy-bank','fas fa-pills','fab fa-pinterest','fab fa-pinterest-p','fab fa-pinterest-square','fas fa-pizza-slice','fas fa-place-of-worship','fas fa-plane','fas fa-plane-arrival','fas fa-plane-departure','fas fa-plane-slash','fas fa-play','fas fa-play-circle','far fa-play-circle','fab fa-playstation','fas fa-plug','fas fa-plus','fas fa-plus-circle','fas fa-plus-square','far fa-plus-square','fas fa-podcast','fas fa-poll','fas fa-poll-h','fas fa-poo','fas fa-poo-storm','fas fa-poop','fas fa-portrait','fas fa-pound-sign','fas fa-power-off','fas fa-pray','fas fa-praying-hands','fas fa-prescription','fas fa-prescription-bottle','fas fa-prescription-bottle-alt','fas fa-print','fas fa-procedures','fab fa-product-hunt','fas fa-project-diagram','fas fa-pump-medical','fas fa-pump-soap','fab fa-pushed','fas fa-puzzle-piece','fab fa-python','fab fa-qq','fas fa-qrcode','fas fa-question','fas fa-question-circle','far fa-question-circle','fas fa-quidditch','fab fa-quinscape','fab fa-quora','fas fa-quote-left','fas fa-quote-right','fas fa-quran','fab fa-r-project','fas fa-radiation','fas fa-radiation-alt','fas fa-rainbow','fas fa-random','fab fa-raspberry-pi','fab fa-ravelry','fab fa-react','fab fa-reacteurope','fab fa-readme','fab fa-rebel','fas fa-receipt','fas fa-record-vinyl','fas fa-recycle','fab fa-red-river','fab fa-reddit','fab fa-reddit-alien','fab fa-reddit-square','fab fa-redhat','fas fa-redo','fas fa-redo-alt','fas fa-registered','far fa-registered','fas fa-remove-format','fab fa-renren','fas fa-reply','fas fa-reply-all','fab fa-replyd','fas fa-republican','fab fa-researchgate','fab fa-resolving','fas fa-restroom','fas fa-retweet','fab fa-rev','fas fa-ribbon','fas fa-ring','fas fa-road','fas fa-robot','fas fa-rocket','fab fa-rocketchat','fab fa-rockrms','fas fa-route','fas fa-rss','fas fa-rss-square','fas fa-ruble-sign','fas fa-ruler','fas fa-ruler-combined','fas fa-ruler-horizontal','fas fa-ruler-vertical','fas fa-running','fas fa-rupee-sign','fas fa-sad-cry','far fa-sad-cry','fas fa-sad-tear','far fa-sad-tear','fab fa-safari','fab fa-salesforce','fab fa-sass','fas fa-satellite','fas fa-satellite-dish','fas fa-save','far fa-save','fab fa-schlix','fas fa-school','fas fa-screwdriver','fab fa-scribd','fas fa-scroll','fas fa-sd-card','fas fa-search','fas fa-search-dollar','fas fa-search-location','fas fa-search-minus','fas fa-search-plus','fab fa-searchengin','fas fa-seedling','fab fa-sellcast','fab fa-sellsy','fas fa-server','fab fa-servicestack','fas fa-shapes','fas fa-share','fas fa-share-alt','fas fa-share-alt-square','fas fa-share-square','far fa-share-square','fas fa-shekel-sign','fas fa-shield-alt','fas fa-shield-virus','fas fa-ship','fas fa-shipping-fast','fab fa-shirtsinbulk','fas fa-shoe-prints','fab fa-shopify','fas fa-shopping-bag','fas fa-shopping-basket','fas fa-shopping-cart','fab fa-shopware','fas fa-shower','fas fa-shuttle-van','fas fa-sign','fas fa-sign-in-alt','fas fa-sign-language','fas fa-sign-out-alt','fas fa-signal','fas fa-signature','fas fa-sim-card','fab fa-simplybuilt','fab fa-sistrix','fas fa-sitemap','fab fa-sith','fas fa-skating','fab fa-sketch','fas fa-skiing','fas fa-skiing-nordic','fas fa-skull','fas fa-skull-crossbones','fab fa-skyatlas','fab fa-skype','fab fa-slack','fab fa-slack-hash','fas fa-slash','fas fa-sleigh','fas fa-sliders-h','fab fa-slideshare','fas fa-smile','far fa-smile','fas fa-smile-beam','far fa-smile-beam','fas fa-smile-wink','far fa-smile-wink','fas fa-smog','fas fa-smoking','fas fa-smoking-ban','fas fa-sms','fab fa-snapchat','fab fa-snapchat-ghost','fab fa-snapchat-square','fas fa-snowboarding','fas fa-snowflake','far fa-snowflake','fas fa-snowman','fas fa-snowplow','fas fa-soap','fas fa-socks','fas fa-solar-panel','fas fa-sort','fas fa-sort-alpha-down','fas fa-sort-alpha-down-alt','fas fa-sort-alpha-up','fas fa-sort-alpha-up-alt','fas fa-sort-amount-down','fas fa-sort-amount-down-alt','fas fa-sort-amount-up','fas fa-sort-amount-up-alt','fas fa-sort-down','fas fa-sort-numeric-down','fas fa-sort-numeric-down-alt','fas fa-sort-numeric-up','fas fa-sort-numeric-up-alt','fas fa-sort-up','fab fa-soundcloud','fab fa-sourcetree','fas fa-spa','fas fa-space-shuttle','fab fa-speakap','fab fa-speaker-deck','fas fa-spell-check','fas fa-spider','fas fa-spinner','fas fa-splotch','fab fa-spotify','fas fa-spray-can','fas fa-square','far fa-square','fas fa-square-full','fas fa-square-root-alt','fab fa-squarespace','fab fa-stack-exchange','fab fa-stack-overflow','fab fa-stackpath','fas fa-stamp','fas fa-star','far fa-star','fas fa-star-and-crescent','fas fa-star-half','far fa-star-half','fas fa-star-half-alt','fas fa-star-of-david','fas fa-star-of-life','fab fa-staylinked','fab fa-steam','fab fa-steam-square','fab fa-steam-symbol','fas fa-step-backward','fas fa-step-forward','fas fa-stethoscope','fab fa-sticker-mule','fas fa-sticky-note','far fa-sticky-note','fas fa-stop','fas fa-stop-circle','far fa-stop-circle','fas fa-stopwatch','fas fa-stopwatch-20','fas fa-store','fas fa-store-alt','fas fa-store-alt-slash','fas fa-store-slash','fab fa-strava','fas fa-stream','fas fa-street-view','fas fa-strikethrough','fab fa-stripe','fab fa-stripe-s','fas fa-stroopwafel','fab fa-studiovinari','fab fa-stumbleupon','fab fa-stumbleupon-circle','fas fa-subscript','fas fa-subway','fas fa-suitcase','fas fa-suitcase-rolling','fas fa-sun','far fa-sun','fab fa-superpowers','fas fa-superscript','fab fa-supple','fas fa-surprise','far fa-surprise','fab fa-suse','fas fa-swatchbook','fab fa-swift','fas fa-swimmer','fas fa-swimming-pool','fab fa-symfony','fas fa-synagogue','fas fa-sync','fas fa-sync-alt','fas fa-syringe','fas fa-table','fas fa-table-tennis','fas fa-tablet','fas fa-tablet-alt','fas fa-tablets','fas fa-tachometer-alt','fas fa-tag','fas fa-tags','fas fa-tape','fas fa-tasks','fas fa-taxi','fab fa-teamspeak','fas fa-teeth','fas fa-teeth-open','fab fa-telegram','fab fa-telegram-plane','fas fa-temperature-high','fas fa-temperature-low','fab fa-tencent-weibo','fas fa-tenge','fas fa-terminal','fas fa-text-height','fas fa-text-width','fas fa-th','fas fa-th-large','fas fa-th-list','fab fa-the-red-yeti','fas fa-theater-masks','fab fa-themeco','fab fa-themeisle','fas fa-thermometer','fas fa-thermometer-empty','fas fa-thermometer-full','fas fa-thermometer-half','fas fa-thermometer-quarter','fas fa-thermometer-three-quarters','fab fa-think-peaks','fas fa-thumbs-down','far fa-thumbs-down','fas fa-thumbs-up','far fa-thumbs-up','fas fa-thumbtack','fas fa-ticket-alt','fas fa-times','fas fa-times-circle','far fa-times-circle','fas fa-tint','fas fa-tint-slash','fas fa-tired','far fa-tired','fas fa-toggle-off','fas fa-toggle-on','fas fa-toilet','fas fa-toilet-paper','fas fa-toilet-paper-slash','fas fa-toolbox','fas fa-tools','fas fa-tooth','fas fa-torah','fas fa-torii-gate','fas fa-tractor','fab fa-trade-federation','fas fa-trademark','fas fa-traffic-light','fas fa-trailer','fas fa-train','fas fa-tram','fas fa-transgender','fas fa-transgender-alt','fas fa-trash','fas fa-trash-alt','far fa-trash-alt','fas fa-trash-restore','fas fa-trash-restore-alt','fas fa-tree','fab fa-trello','fab fa-tripadvisor','fas fa-trophy','fas fa-truck','fas fa-truck-loading','fas fa-truck-monster','fas fa-truck-moving','fas fa-truck-pickup','fas fa-tshirt','fas fa-tty','fab fa-tumblr','fab fa-tumblr-square','fas fa-tv','fab fa-twitch','fab fa-twitter','fab fa-twitter-square','fab fa-typo3','fab fa-uber','fab fa-ubuntu','fab fa-uikit','fab fa-umbraco','fas fa-umbrella','fas fa-umbrella-beach','fas fa-underline','fas fa-undo','fas fa-undo-alt','fab fa-uniregistry','fab fa-unity','fas fa-universal-access','fas fa-university','fas fa-unlink','fas fa-unlock','fas fa-unlock-alt','fab fa-untappd','fas fa-upload','fab fa-ups','fab fa-usb','fas fa-user','far fa-user','fas fa-user-alt','fas fa-user-alt-slash','fas fa-user-astronaut','fas fa-user-check','fas fa-user-circle','far fa-user-circle','fas fa-user-clock','fas fa-user-cog','fas fa-user-edit','fas fa-user-friends','fas fa-user-graduate','fas fa-user-injured','fas fa-user-lock','fas fa-user-md','fas fa-user-minus','fas fa-user-ninja','fas fa-user-nurse','fas fa-user-plus','fas fa-user-secret','fas fa-user-shield','fas fa-user-slash','fas fa-user-tag','fas fa-user-tie','fas fa-user-times','fas fa-users','fas fa-users-cog','fab fa-usps','fab fa-ussunnah','fas fa-utensil-spoon','fas fa-utensils','fab fa-vaadin','fas fa-vector-square','fas fa-venus','fas fa-venus-double','fas fa-venus-mars','fab fa-viacoin','fab fa-viadeo','fab fa-viadeo-square','fas fa-vial','fas fa-vials','fab fa-viber','fas fa-video','fas fa-video-slash','fas fa-vihara','fab fa-vimeo','fab fa-vimeo-square','fab fa-vimeo-v','fab fa-vine','fas fa-virus','fas fa-virus-slash','fas fa-viruses','fab fa-vk','fab fa-vnv','fas fa-voicemail','fas fa-volleyball-ball','fas fa-volume-down','fas fa-volume-mute','fas fa-volume-off','fas fa-volume-up','fas fa-vote-yea','fas fa-vr-cardboard','fab fa-vuejs','fas fa-walking','fas fa-wallet','fas fa-warehouse','fas fa-water','fas fa-wave-square','fab fa-waze','fab fa-weebly','fab fa-weibo','fas fa-weight','fas fa-weight-hanging','fab fa-weixin','fab fa-whatsapp','fab fa-whatsapp-square','fas fa-wheelchair','fab fa-whmcs','fas fa-wifi','fab fa-wikipedia-w','fas fa-wind','fas fa-window-close','far fa-window-close','fas fa-window-maximize','far fa-window-maximize','fas fa-window-minimize','far fa-window-minimize','fas fa-window-restore','far fa-window-restore','fab fa-windows','fas fa-wine-bottle','fas fa-wine-glass','fas fa-wine-glass-alt','fab fa-wix','fab fa-wizards-of-the-coast','fab fa-wolf-pack-battalion','fas fa-won-sign','fab fa-wordpress','fab fa-wordpress-simple','fab fa-wpbeginner','fab fa-wpexplorer','fab fa-wpforms','fab fa-wpressr','fas fa-wrench','fas fa-x-ray','fab fa-xbox','fab fa-xing','fab fa-xing-square','fab fa-y-combinator','fab fa-yahoo','fab fa-yammer','fab fa-yandex','fab fa-yandex-international','fab fa-yarn','fab fa-yelp','fas fa-yen-sign','fas fa-yin-yang','fab fa-yoast','fab fa-youtube','fab fa-youtube-square','fab fa-zhihu')
2
  //
3
  // Font Awesome 5 Free Icons
4
  //
5
+ function ulf_get_default_icons() {
6
  return array( array(
7
  'title' => 'Font Awesome 5 Free',
8
  'icons' => array('fab fa-500px','fab fa-accessible-icon','fab fa-accusoft','fab fa-acquisitions-incorporated','fas fa-ad','fas fa-address-book','far fa-address-book','fas fa-address-card','far fa-address-card','fas fa-adjust','fab fa-adn','fab fa-adobe','fab fa-adversal','fab fa-affiliatetheme','fas fa-air-freshener','fab fa-airbnb','fab fa-algolia','fas fa-align-center','fas fa-align-justify','fas fa-align-left','fas fa-align-right','fab fa-alipay','fas fa-allergies','fab fa-amazon','fab fa-amazon-pay','fas fa-ambulance','fas fa-american-sign-language-interpreting','fab fa-amilia','fas fa-anchor','fab fa-android','fab fa-angellist','fas fa-angle-double-down','fas fa-angle-double-left','fas fa-angle-double-right','fas fa-angle-double-up','fas fa-angle-down','fas fa-angle-left','fas fa-angle-right','fas fa-angle-up','fas fa-angry','far fa-angry','fab fa-angrycreative','fab fa-angular','fas fa-ankh','fab fa-app-store','fab fa-app-store-ios','fab fa-apper','fab fa-apple','fas fa-apple-alt','fab fa-apple-pay','fas fa-archive','fas fa-archway','fas fa-arrow-alt-circle-down','far fa-arrow-alt-circle-down','fas fa-arrow-alt-circle-left','far fa-arrow-alt-circle-left','fas fa-arrow-alt-circle-right','far fa-arrow-alt-circle-right','fas fa-arrow-alt-circle-up','far fa-arrow-alt-circle-up','fas fa-arrow-circle-down','fas fa-arrow-circle-left','fas fa-arrow-circle-right','fas fa-arrow-circle-up','fas fa-arrow-down','fas fa-arrow-left','fas fa-arrow-right','fas fa-arrow-up','fas fa-arrows-alt','fas fa-arrows-alt-h','fas fa-arrows-alt-v','fab fa-artstation','fas fa-assistive-listening-systems','fas fa-asterisk','fab fa-asymmetrik','fas fa-at','fas fa-atlas','fab fa-atlassian','fas fa-atom','fab fa-audible','fas fa-audio-description','fab fa-autoprefixer','fab fa-avianex','fab fa-aviato','fas fa-award','fab fa-aws','fas fa-baby','fas fa-baby-carriage','fas fa-backspace','fas fa-backward','fas fa-bacon','fas fa-bahai','fas fa-balance-scale','fas fa-balance-scale-left','fas fa-balance-scale-right','fas fa-ban','fas fa-band-aid','fab fa-bandcamp','fas fa-barcode','fas fa-bars','fas fa-baseball-ball','fas fa-basketball-ball','fas fa-bath','fas fa-battery-empty','fas fa-battery-full','fas fa-battery-half','fas fa-battery-quarter','fas fa-battery-three-quarters','fab fa-battle-net','fas fa-bed','fas fa-beer','fab fa-behance','fab fa-behance-square','fas fa-bell','far fa-bell','fas fa-bell-slash','far fa-bell-slash','fas fa-bezier-curve','fas fa-bible','fas fa-bicycle','fas fa-biking','fab fa-bimobject','fas fa-binoculars','fas fa-biohazard','fas fa-birthday-cake','fab fa-bitbucket','fab fa-bitcoin','fab fa-bity','fab fa-black-tie','fab fa-blackberry','fas fa-blender','fas fa-blender-phone','fas fa-blind','fas fa-blog','fab fa-blogger','fab fa-blogger-b','fab fa-bluetooth','fab fa-bluetooth-b','fas fa-bold','fas fa-bolt','fas fa-bomb','fas fa-bone','fas fa-bong','fas fa-book','fas fa-book-dead','fas fa-book-medical','fas fa-book-open','fas fa-book-reader','fas fa-bookmark','far fa-bookmark','fab fa-bootstrap','fas fa-border-all','fas fa-border-none','fas fa-border-style','fas fa-bowling-ball','fas fa-box','fas fa-box-open','fas fa-box-tissue','fas fa-boxes','fas fa-braille','fas fa-brain','fas fa-bread-slice','fas fa-briefcase','fas fa-briefcase-medical','fas fa-broadcast-tower','fas fa-broom','fas fa-brush','fab fa-btc','fab fa-buffer','fas fa-bug','fas fa-building','far fa-building','fas fa-bullhorn','fas fa-bullseye','fas fa-burn','fab fa-buromobelexperte','fas fa-bus','fas fa-bus-alt','fas fa-business-time','fab fa-buy-n-large','fab fa-buysellads','fas fa-calculator','fas fa-calendar','far fa-calendar','fas fa-calendar-alt','far fa-calendar-alt','fas fa-calendar-check','far fa-calendar-check','fas fa-calendar-day','fas fa-calendar-minus','far fa-calendar-minus','fas fa-calendar-plus','far fa-calendar-plus','fas fa-calendar-times','far fa-calendar-times','fas fa-calendar-week','fas fa-camera','fas fa-camera-retro','fas fa-campground','fab fa-canadian-maple-leaf','fas fa-candy-cane','fas fa-cannabis','fas fa-capsules','fas fa-car','fas fa-car-alt','fas fa-car-battery','fas fa-car-crash','fas fa-car-side','fas fa-caravan','fas fa-caret-down','fas fa-caret-left','fas fa-caret-right','fas fa-caret-square-down','far fa-caret-square-down','fas fa-caret-square-left','far fa-caret-square-left','fas fa-caret-square-right','far fa-caret-square-right','fas fa-caret-square-up','far fa-caret-square-up','fas fa-caret-up','fas fa-carrot','fas fa-cart-arrow-down','fas fa-cart-plus','fas fa-cash-register','fas fa-cat','fab fa-cc-amazon-pay','fab fa-cc-amex','fab fa-cc-apple-pay','fab fa-cc-diners-club','fab fa-cc-discover','fab fa-cc-jcb','fab fa-cc-mastercard','fab fa-cc-paypal','fab fa-cc-stripe','fab fa-cc-visa','fab fa-centercode','fab fa-centos','fas fa-certificate','fas fa-chair','fas fa-chalkboard','fas fa-chalkboard-teacher','fas fa-charging-station','fas fa-chart-area','fas fa-chart-bar','far fa-chart-bar','fas fa-chart-line','fas fa-chart-pie','fas fa-check','fas fa-check-circle','far fa-check-circle','fas fa-check-double','fas fa-check-square','far fa-check-square','fas fa-cheese','fas fa-chess','fas fa-chess-bishop','fas fa-chess-board','fas fa-chess-king','fas fa-chess-knight','fas fa-chess-pawn','fas fa-chess-queen','fas fa-chess-rook','fas fa-chevron-circle-down','fas fa-chevron-circle-left','fas fa-chevron-circle-right','fas fa-chevron-circle-up','fas fa-chevron-down','fas fa-chevron-left','fas fa-chevron-right','fas fa-chevron-up','fas fa-child','fab fa-chrome','fab fa-chromecast','fas fa-church','fas fa-circle','far fa-circle','fas fa-circle-notch','fas fa-city','fas fa-clinic-medical','fas fa-clipboard','far fa-clipboard','fas fa-clipboard-check','fas fa-clipboard-list','fas fa-clock','far fa-clock','fas fa-clone','far fa-clone','fas fa-closed-captioning','far fa-closed-captioning','fas fa-cloud','fas fa-cloud-download-alt','fas fa-cloud-meatball','fas fa-cloud-moon','fas fa-cloud-moon-rain','fas fa-cloud-rain','fas fa-cloud-showers-heavy','fas fa-cloud-sun','fas fa-cloud-sun-rain','fas fa-cloud-upload-alt','fab fa-cloudscale','fab fa-cloudsmith','fab fa-cloudversify','fas fa-cocktail','fas fa-code','fas fa-code-branch','fab fa-codepen','fab fa-codiepie','fas fa-coffee','fas fa-cog','fas fa-cogs','fas fa-coins','fas fa-columns','fas fa-comment','far fa-comment','fas fa-comment-alt','far fa-comment-alt','fas fa-comment-dollar','fas fa-comment-dots','far fa-comment-dots','fas fa-comment-medical','fas fa-comment-slash','fas fa-comments','far fa-comments','fas fa-comments-dollar','fas fa-compact-disc','fas fa-compass','far fa-compass','fas fa-compress','fas fa-compress-alt','fas fa-compress-arrows-alt','fas fa-concierge-bell','fab fa-confluence','fab fa-connectdevelop','fab fa-contao','fas fa-cookie','fas fa-cookie-bite','fas fa-copy','far fa-copy','fas fa-copyright','far fa-copyright','fab fa-cotton-bureau','fas fa-couch','fab fa-cpanel','fab fa-creative-commons','fab fa-creative-commons-by','fab fa-creative-commons-nc','fab fa-creative-commons-nc-eu','fab fa-creative-commons-nc-jp','fab fa-creative-commons-nd','fab fa-creative-commons-pd','fab fa-creative-commons-pd-alt','fab fa-creative-commons-remix','fab fa-creative-commons-sa','fab fa-creative-commons-sampling','fab fa-creative-commons-sampling-plus','fab fa-creative-commons-share','fab fa-creative-commons-zero','fas fa-credit-card','far fa-credit-card','fab fa-critical-role','fas fa-crop','fas fa-crop-alt','fas fa-cross','fas fa-crosshairs','fas fa-crow','fas fa-crown','fas fa-crutch','fab fa-css3','fab fa-css3-alt','fas fa-cube','fas fa-cubes','fas fa-cut','fab fa-cuttlefish','fab fa-d-and-d','fab fa-d-and-d-beyond','fab fa-dailymotion','fab fa-dashcube','fas fa-database','fas fa-deaf','fab fa-delicious','fas fa-democrat','fab fa-deploydog','fab fa-deskpro','fas fa-desktop','fab fa-dev','fab fa-deviantart','fas fa-dharmachakra','fab fa-dhl','fas fa-diagnoses','fab fa-diaspora','fas fa-dice','fas fa-dice-d20','fas fa-dice-d6','fas fa-dice-five','fas fa-dice-four','fas fa-dice-one','fas fa-dice-six','fas fa-dice-three','fas fa-dice-two','fab fa-digg','fab fa-digital-ocean','fas fa-digital-tachograph','fas fa-directions','fab fa-discord','fab fa-discourse','fas fa-disease','fas fa-divide','fas fa-dizzy','far fa-dizzy','fas fa-dna','fab fa-dochub','fab fa-docker','fas fa-dog','fas fa-dollar-sign','fas fa-dolly','fas fa-dolly-flatbed','fas fa-donate','fas fa-door-closed','fas fa-door-open','fas fa-dot-circle','far fa-dot-circle','fas fa-dove','fas fa-download','fab fa-draft2digital','fas fa-drafting-compass','fas fa-dragon','fas fa-draw-polygon','fab fa-dribbble','fab fa-dribbble-square','fab fa-dropbox','fas fa-drum','fas fa-drum-steelpan','fas fa-drumstick-bite','fab fa-drupal','fas fa-dumbbell','fas fa-dumpster','fas fa-dumpster-fire','fas fa-dungeon','fab fa-dyalog','fab fa-earlybirds','fab fa-ebay','fab fa-edge','fas fa-edit','far fa-edit','fas fa-egg','fas fa-eject','fab fa-elementor','fas fa-ellipsis-h','fas fa-ellipsis-v','fab fa-ello','fab fa-ember','fab fa-empire','fas fa-envelope','far fa-envelope','fas fa-envelope-open','far fa-envelope-open','fas fa-envelope-open-text','fas fa-envelope-square','fab fa-envira','fas fa-equals','fas fa-eraser','fab fa-erlang','fab fa-ethereum','fas fa-ethernet','fab fa-etsy','fas fa-euro-sign','fab fa-evernote','fas fa-exchange-alt','fas fa-exclamation','fas fa-exclamation-circle','fas fa-exclamation-triangle','fas fa-expand','fas fa-expand-alt','fas fa-expand-arrows-alt','fab fa-expeditedssl','fas fa-external-link-alt','fas fa-external-link-square-alt','fas fa-eye','far fa-eye','fas fa-eye-dropper','fas fa-eye-slash','far fa-eye-slash','fab fa-facebook','fab fa-facebook-f','fab fa-facebook-messenger','fab fa-facebook-square','fas fa-fan','fab fa-fantasy-flight-games','fas fa-fast-backward','fas fa-fast-forward','fas fa-faucet','fas fa-fax','fas fa-feather','fas fa-feather-alt','fab fa-fedex','fab fa-fedora','fas fa-female','fas fa-fighter-jet','fab fa-figma','fas fa-file','far fa-file','fas fa-file-alt','far fa-file-alt','fas fa-file-archive','far fa-file-archive','fas fa-file-audio','far fa-file-audio','fas fa-file-code','far fa-file-code','fas fa-file-contract','fas fa-file-csv','fas fa-file-download','fas fa-file-excel','far fa-file-excel','fas fa-file-export','fas fa-file-image','far fa-file-image','fas fa-file-import','fas fa-file-invoice','fas fa-file-invoice-dollar','fas fa-file-medical','fas fa-file-medical-alt','fas fa-file-pdf','far fa-file-pdf','fas fa-file-powerpoint','far fa-file-powerpoint','fas fa-file-prescription','fas fa-file-signature','fas fa-file-upload','fas fa-file-video','far fa-file-video','fas fa-file-word','far fa-file-word','fas fa-fill','fas fa-fill-drip','fas fa-film','fas fa-filter','fas fa-fingerprint','fas fa-fire','fas fa-fire-alt','fas fa-fire-extinguisher','fab fa-firefox','fab fa-firefox-browser','fas fa-first-aid','fab fa-first-order','fab fa-first-order-alt','fab fa-firstdraft','fas fa-fish','fas fa-fist-raised','fas fa-flag','far fa-flag','fas fa-flag-checkered','fas fa-flag-usa','fas fa-flask','fab fa-flickr','fab fa-flipboard','fas fa-flushed','far fa-flushed','fab fa-fly','fas fa-folder','far fa-folder','fas fa-folder-minus','fas fa-folder-open','far fa-folder-open','fas fa-folder-plus','fas fa-font','fab fa-font-awesome','fab fa-font-awesome-alt','fab fa-font-awesome-flag','far fa-font-awesome-logo-full','fas fa-font-awesome-logo-full','fab fa-font-awesome-logo-full','fab fa-fonticons','fab fa-fonticons-fi','fas fa-football-ball','fab fa-fort-awesome','fab fa-fort-awesome-alt','fab fa-forumbee','fas fa-forward','fab fa-foursquare','fab fa-free-code-camp','fab fa-freebsd','fas fa-frog','fas fa-frown','far fa-frown','fas fa-frown-open','far fa-frown-open','fab fa-fulcrum','fas fa-funnel-dollar','fas fa-futbol','far fa-futbol','fab fa-galactic-republic','fab fa-galactic-senate','fas fa-gamepad','fas fa-gas-pump','fas fa-gavel','fas fa-gem','far fa-gem','fas fa-genderless','fab fa-get-pocket','fab fa-gg','fab fa-gg-circle','fas fa-ghost','fas fa-gift','fas fa-gifts','fab fa-git','fab fa-git-alt','fab fa-git-square','fab fa-github','fab fa-github-alt','fab fa-github-square','fab fa-gitkraken','fab fa-gitlab','fab fa-gitter','fas fa-glass-cheers','fas fa-glass-martini','fas fa-glass-martini-alt','fas fa-glass-whiskey','fas fa-glasses','fab fa-glide','fab fa-glide-g','fas fa-globe','fas fa-globe-africa','fas fa-globe-americas','fas fa-globe-asia','fas fa-globe-europe','fab fa-gofore','fas fa-golf-ball','fab fa-goodreads','fab fa-goodreads-g','fab fa-google','fab fa-google-drive','fab fa-google-play','fab fa-google-plus','fab fa-google-plus-g','fab fa-google-plus-square','fab fa-google-wallet','fas fa-gopuram','fas fa-graduation-cap','fab fa-gratipay','fab fa-grav','fas fa-greater-than','fas fa-greater-than-equal','fas fa-grimace','far fa-grimace','fas fa-grin','far fa-grin','fas fa-grin-alt','far fa-grin-alt','fas fa-grin-beam','far fa-grin-beam','fas fa-grin-beam-sweat','far fa-grin-beam-sweat','fas fa-grin-hearts','far fa-grin-hearts','fas fa-grin-squint','far fa-grin-squint','fas fa-grin-squint-tears','far fa-grin-squint-tears','fas fa-grin-stars','far fa-grin-stars','fas fa-grin-tears','far fa-grin-tears','fas fa-grin-tongue','far fa-grin-tongue','fas fa-grin-tongue-squint','far fa-grin-tongue-squint','fas fa-grin-tongue-wink','far fa-grin-tongue-wink','fas fa-grin-wink','far fa-grin-wink','fas fa-grip-horizontal','fas fa-grip-lines','fas fa-grip-lines-vertical','fas fa-grip-vertical','fab fa-gripfire','fab fa-grunt','fas fa-guitar','fab fa-gulp','fas fa-h-square','fab fa-hacker-news','fab fa-hacker-news-square','fab fa-hackerrank','fas fa-hamburger','fas fa-hammer','fas fa-hamsa','fas fa-hand-holding','fas fa-hand-holding-heart','fas fa-hand-holding-medical','fas fa-hand-holding-usd','fas fa-hand-holding-water','fas fa-hand-lizard','far fa-hand-lizard','fas fa-hand-middle-finger','fas fa-hand-paper','far fa-hand-paper','fas fa-hand-peace','far fa-hand-peace','fas fa-hand-point-down','far fa-hand-point-down','fas fa-hand-point-left','far fa-hand-point-left','fas fa-hand-point-right','far fa-hand-point-right','fas fa-hand-point-up','far fa-hand-point-up','fas fa-hand-pointer','far fa-hand-pointer','fas fa-hand-rock','far fa-hand-rock','fas fa-hand-scissors','far fa-hand-scissors','fas fa-hand-sparkles','fas fa-hand-spock','far fa-hand-spock','fas fa-hands','fas fa-hands-helping','fas fa-hands-wash','fas fa-handshake','far fa-handshake','fas fa-handshake-alt-slash','fas fa-handshake-slash','fas fa-hanukiah','fas fa-hard-hat','fas fa-hashtag','fas fa-hat-cowboy','fas fa-hat-cowboy-side','fas fa-hat-wizard','fas fa-hdd','far fa-hdd','fas fa-head-side-cough','fas fa-head-side-cough-slash','fas fa-head-side-mask','fas fa-head-side-virus','fas fa-heading','fas fa-headphones','fas fa-headphones-alt','fas fa-headset','fas fa-heart','far fa-heart','fas fa-heart-broken','fas fa-heartbeat','fas fa-helicopter','fas fa-highlighter','fas fa-hiking','fas fa-hippo','fab fa-hips','fab fa-hire-a-helper','fas fa-history','fas fa-hockey-puck','fas fa-holly-berry','fas fa-home','fab fa-hooli','fab fa-hornbill','fas fa-horse','fas fa-horse-head','fas fa-hospital','far fa-hospital','fas fa-hospital-alt','fas fa-hospital-symbol','fas fa-hospital-user','fas fa-hot-tub','fas fa-hotdog','fas fa-hotel','fab fa-hotjar','fas fa-hourglass','far fa-hourglass','fas fa-hourglass-end','fas fa-hourglass-half','fas fa-hourglass-start','fas fa-house-damage','fas fa-house-user','fab fa-houzz','fas fa-hryvnia','fab fa-html5','fab fa-hubspot','fas fa-i-cursor','fas fa-ice-cream','fas fa-icicles','fas fa-icons','fas fa-id-badge','far fa-id-badge','fas fa-id-card','far fa-id-card','fas fa-id-card-alt','fab fa-ideal','fas fa-igloo','fas fa-image','far fa-image','fas fa-images','far fa-images','fab fa-imdb','fas fa-inbox','fas fa-indent','fas fa-industry','fas fa-infinity','fas fa-info','fas fa-info-circle','fab fa-instagram','fab fa-instagram-square','fab fa-intercom','fab fa-internet-explorer','fab fa-invision','fab fa-ioxhost','fas fa-italic','fab fa-itch-io','fab fa-itunes','fab fa-itunes-note','fab fa-java','fas fa-jedi','fab fa-jedi-order','fab fa-jenkins','fab fa-jira','fab fa-joget','fas fa-joint','fab fa-joomla','fas fa-journal-whills','fab fa-js','fab fa-js-square','fab fa-jsfiddle','fas fa-kaaba','fab fa-kaggle','fas fa-key','fab fa-keybase','fas fa-keyboard','far fa-keyboard','fab fa-keycdn','fas fa-khanda','fab fa-kickstarter','fab fa-kickstarter-k','fas fa-kiss','far fa-kiss','fas fa-kiss-beam','far fa-kiss-beam','fas fa-kiss-wink-heart','far fa-kiss-wink-heart','fas fa-kiwi-bird','fab fa-korvue','fas fa-landmark','fas fa-language','fas fa-laptop','fas fa-laptop-code','fas fa-laptop-house','fas fa-laptop-medical','fab fa-laravel','fab fa-lastfm','fab fa-lastfm-square','fas fa-laugh','far fa-laugh','fas fa-laugh-beam','far fa-laugh-beam','fas fa-laugh-squint','far fa-laugh-squint','fas fa-laugh-wink','far fa-laugh-wink','fas fa-layer-group','fas fa-leaf','fab fa-leanpub','fas fa-lemon','far fa-lemon','fab fa-less','fas fa-less-than','fas fa-less-than-equal','fas fa-level-down-alt','fas fa-level-up-alt','fas fa-life-ring','far fa-life-ring','fas fa-lightbulb','far fa-lightbulb','fab fa-line','fas fa-link','fab fa-linkedin','fab fa-linkedin-in','fab fa-linode','fab fa-linux','fas fa-lira-sign','fas fa-list','fas fa-list-alt','far fa-list-alt','fas fa-list-ol','fas fa-list-ul','fas fa-location-arrow','fas fa-lock','fas fa-lock-open','fas fa-long-arrow-alt-down','fas fa-long-arrow-alt-left','fas fa-long-arrow-alt-right','fas fa-long-arrow-alt-up','fas fa-low-vision','fas fa-luggage-cart','fas fa-lungs','fas fa-lungs-virus','fab fa-lyft','fab fa-magento','fas fa-magic','fas fa-magnet','fas fa-mail-bulk','fab fa-mailchimp','fas fa-male','fab fa-mandalorian','fas fa-map','far fa-map','fas fa-map-marked','fas fa-map-marked-alt','fas fa-map-marker','fas fa-map-marker-alt','fas fa-map-pin','fas fa-map-signs','fab fa-markdown','fas fa-marker','fas fa-mars','fas fa-mars-double','fas fa-mars-stroke','fas fa-mars-stroke-h','fas fa-mars-stroke-v','fas fa-mask','fab fa-mastodon','fab fa-maxcdn','fab fa-mdb','fas fa-medal','fab fa-medapps','fab fa-medium','fab fa-medium-m','fas fa-medkit','fab fa-medrt','fab fa-meetup','fab fa-megaport','fas fa-meh','far fa-meh','fas fa-meh-blank','far fa-meh-blank','fas fa-meh-rolling-eyes','far fa-meh-rolling-eyes','fas fa-memory','fab fa-mendeley','fas fa-menorah','fas fa-mercury','fas fa-meteor','fab fa-microblog','fas fa-microchip','fas fa-microphone','fas fa-microphone-alt','fas fa-microphone-alt-slash','fas fa-microphone-slash','fas fa-microscope','fab fa-microsoft','fas fa-minus','fas fa-minus-circle','fas fa-minus-square','far fa-minus-square','fas fa-mitten','fab fa-mix','fab fa-mixcloud','fab fa-mixer','fab fa-mizuni','fas fa-mobile','fas fa-mobile-alt','fab fa-modx','fab fa-monero','fas fa-money-bill','fas fa-money-bill-alt','far fa-money-bill-alt','fas fa-money-bill-wave','fas fa-money-bill-wave-alt','fas fa-money-check','fas fa-money-check-alt','fas fa-monument','fas fa-moon','far fa-moon','fas fa-mortar-pestle','fas fa-mosque','fas fa-motorcycle','fas fa-mountain','fas fa-mouse','fas fa-mouse-pointer','fas fa-mug-hot','fas fa-music','fab fa-napster','fab fa-neos','fas fa-network-wired','fas fa-neuter','fas fa-newspaper','far fa-newspaper','fab fa-nimblr','fab fa-node','fab fa-node-js','fas fa-not-equal','fas fa-notes-medical','fab fa-npm','fab fa-ns8','fab fa-nutritionix','fas fa-object-group','far fa-object-group','fas fa-object-ungroup','far fa-object-ungroup','fab fa-odnoklassniki','fab fa-odnoklassniki-square','fas fa-oil-can','fab fa-old-republic','fas fa-om','fab fa-opencart','fab fa-openid','fab fa-opera','fab fa-optin-monster','fab fa-orcid','fab fa-osi','fas fa-otter','fas fa-outdent','fab fa-page4','fab fa-pagelines','fas fa-pager','fas fa-paint-brush','fas fa-paint-roller','fas fa-palette','fab fa-palfed','fas fa-pallet','fas fa-paper-plane','far fa-paper-plane','fas fa-paperclip','fas fa-parachute-box','fas fa-paragraph','fas fa-parking','fas fa-passport','fas fa-pastafarianism','fas fa-paste','fab fa-patreon','fas fa-pause','fas fa-pause-circle','far fa-pause-circle','fas fa-paw','fab fa-paypal','fas fa-peace','fas fa-pen','fas fa-pen-alt','fas fa-pen-fancy','fas fa-pen-nib','fas fa-pen-square','fas fa-pencil-alt','fas fa-pencil-ruler','fab fa-penny-arcade','fas fa-people-arrows','fas fa-people-carry','fas fa-pepper-hot','fas fa-percent','fas fa-percentage','fab fa-periscope','fas fa-person-booth','fab fa-phabricator','fab fa-phoenix-framework','fab fa-phoenix-squadron','fas fa-phone','fas fa-phone-alt','fas fa-phone-slash','fas fa-phone-square','fas fa-phone-square-alt','fas fa-phone-volume','fas fa-photo-video','fab fa-php','fab fa-pied-piper','fab fa-pied-piper-alt','fab fa-pied-piper-hat','fab fa-pied-piper-pp','fab fa-pied-piper-square','fas fa-piggy-bank','fas fa-pills','fab fa-pinterest','fab fa-pinterest-p','fab fa-pinterest-square','fas fa-pizza-slice','fas fa-place-of-worship','fas fa-plane','fas fa-plane-arrival','fas fa-plane-departure','fas fa-plane-slash','fas fa-play','fas fa-play-circle','far fa-play-circle','fab fa-playstation','fas fa-plug','fas fa-plus','fas fa-plus-circle','fas fa-plus-square','far fa-plus-square','fas fa-podcast','fas fa-poll','fas fa-poll-h','fas fa-poo','fas fa-poo-storm','fas fa-poop','fas fa-portrait','fas fa-pound-sign','fas fa-power-off','fas fa-pray','fas fa-praying-hands','fas fa-prescription','fas fa-prescription-bottle','fas fa-prescription-bottle-alt','fas fa-print','fas fa-procedures','fab fa-product-hunt','fas fa-project-diagram','fas fa-pump-medical','fas fa-pump-soap','fab fa-pushed','fas fa-puzzle-piece','fab fa-python','fab fa-qq','fas fa-qrcode','fas fa-question','fas fa-question-circle','far fa-question-circle','fas fa-quidditch','fab fa-quinscape','fab fa-quora','fas fa-quote-left','fas fa-quote-right','fas fa-quran','fab fa-r-project','fas fa-radiation','fas fa-radiation-alt','fas fa-rainbow','fas fa-random','fab fa-raspberry-pi','fab fa-ravelry','fab fa-react','fab fa-reacteurope','fab fa-readme','fab fa-rebel','fas fa-receipt','fas fa-record-vinyl','fas fa-recycle','fab fa-red-river','fab fa-reddit','fab fa-reddit-alien','fab fa-reddit-square','fab fa-redhat','fas fa-redo','fas fa-redo-alt','fas fa-registered','far fa-registered','fas fa-remove-format','fab fa-renren','fas fa-reply','fas fa-reply-all','fab fa-replyd','fas fa-republican','fab fa-researchgate','fab fa-resolving','fas fa-restroom','fas fa-retweet','fab fa-rev','fas fa-ribbon','fas fa-ring','fas fa-road','fas fa-robot','fas fa-rocket','fab fa-rocketchat','fab fa-rockrms','fas fa-route','fas fa-rss','fas fa-rss-square','fas fa-ruble-sign','fas fa-ruler','fas fa-ruler-combined','fas fa-ruler-horizontal','fas fa-ruler-vertical','fas fa-running','fas fa-rupee-sign','fas fa-sad-cry','far fa-sad-cry','fas fa-sad-tear','far fa-sad-tear','fab fa-safari','fab fa-salesforce','fab fa-sass','fas fa-satellite','fas fa-satellite-dish','fas fa-save','far fa-save','fab fa-schlix','fas fa-school','fas fa-screwdriver','fab fa-scribd','fas fa-scroll','fas fa-sd-card','fas fa-search','fas fa-search-dollar','fas fa-search-location','fas fa-search-minus','fas fa-search-plus','fab fa-searchengin','fas fa-seedling','fab fa-sellcast','fab fa-sellsy','fas fa-server','fab fa-servicestack','fas fa-shapes','fas fa-share','fas fa-share-alt','fas fa-share-alt-square','fas fa-share-square','far fa-share-square','fas fa-shekel-sign','fas fa-shield-alt','fas fa-shield-virus','fas fa-ship','fas fa-shipping-fast','fab fa-shirtsinbulk','fas fa-shoe-prints','fab fa-shopify','fas fa-shopping-bag','fas fa-shopping-basket','fas fa-shopping-cart','fab fa-shopware','fas fa-shower','fas fa-shuttle-van','fas fa-sign','fas fa-sign-in-alt','fas fa-sign-language','fas fa-sign-out-alt','fas fa-signal','fas fa-signature','fas fa-sim-card','fab fa-simplybuilt','fab fa-sistrix','fas fa-sitemap','fab fa-sith','fas fa-skating','fab fa-sketch','fas fa-skiing','fas fa-skiing-nordic','fas fa-skull','fas fa-skull-crossbones','fab fa-skyatlas','fab fa-skype','fab fa-slack','fab fa-slack-hash','fas fa-slash','fas fa-sleigh','fas fa-sliders-h','fab fa-slideshare','fas fa-smile','far fa-smile','fas fa-smile-beam','far fa-smile-beam','fas fa-smile-wink','far fa-smile-wink','fas fa-smog','fas fa-smoking','fas fa-smoking-ban','fas fa-sms','fab fa-snapchat','fab fa-snapchat-ghost','fab fa-snapchat-square','fas fa-snowboarding','fas fa-snowflake','far fa-snowflake','fas fa-snowman','fas fa-snowplow','fas fa-soap','fas fa-socks','fas fa-solar-panel','fas fa-sort','fas fa-sort-alpha-down','fas fa-sort-alpha-down-alt','fas fa-sort-alpha-up','fas fa-sort-alpha-up-alt','fas fa-sort-amount-down','fas fa-sort-amount-down-alt','fas fa-sort-amount-up','fas fa-sort-amount-up-alt','fas fa-sort-down','fas fa-sort-numeric-down','fas fa-sort-numeric-down-alt','fas fa-sort-numeric-up','fas fa-sort-numeric-up-alt','fas fa-sort-up','fab fa-soundcloud','fab fa-sourcetree','fas fa-spa','fas fa-space-shuttle','fab fa-speakap','fab fa-speaker-deck','fas fa-spell-check','fas fa-spider','fas fa-spinner','fas fa-splotch','fab fa-spotify','fas fa-spray-can','fas fa-square','far fa-square','fas fa-square-full','fas fa-square-root-alt','fab fa-squarespace','fab fa-stack-exchange','fab fa-stack-overflow','fab fa-stackpath','fas fa-stamp','fas fa-star','far fa-star','fas fa-star-and-crescent','fas fa-star-half','far fa-star-half','fas fa-star-half-alt','fas fa-star-of-david','fas fa-star-of-life','fab fa-staylinked','fab fa-steam','fab fa-steam-square','fab fa-steam-symbol','fas fa-step-backward','fas fa-step-forward','fas fa-stethoscope','fab fa-sticker-mule','fas fa-sticky-note','far fa-sticky-note','fas fa-stop','fas fa-stop-circle','far fa-stop-circle','fas fa-stopwatch','fas fa-stopwatch-20','fas fa-store','fas fa-store-alt','fas fa-store-alt-slash','fas fa-store-slash','fab fa-strava','fas fa-stream','fas fa-street-view','fas fa-strikethrough','fab fa-stripe','fab fa-stripe-s','fas fa-stroopwafel','fab fa-studiovinari','fab fa-stumbleupon','fab fa-stumbleupon-circle','fas fa-subscript','fas fa-subway','fas fa-suitcase','fas fa-suitcase-rolling','fas fa-sun','far fa-sun','fab fa-superpowers','fas fa-superscript','fab fa-supple','fas fa-surprise','far fa-surprise','fab fa-suse','fas fa-swatchbook','fab fa-swift','fas fa-swimmer','fas fa-swimming-pool','fab fa-symfony','fas fa-synagogue','fas fa-sync','fas fa-sync-alt','fas fa-syringe','fas fa-table','fas fa-table-tennis','fas fa-tablet','fas fa-tablet-alt','fas fa-tablets','fas fa-tachometer-alt','fas fa-tag','fas fa-tags','fas fa-tape','fas fa-tasks','fas fa-taxi','fab fa-teamspeak','fas fa-teeth','fas fa-teeth-open','fab fa-telegram','fab fa-telegram-plane','fas fa-temperature-high','fas fa-temperature-low','fab fa-tencent-weibo','fas fa-tenge','fas fa-terminal','fas fa-text-height','fas fa-text-width','fas fa-th','fas fa-th-large','fas fa-th-list','fab fa-the-red-yeti','fas fa-theater-masks','fab fa-themeco','fab fa-themeisle','fas fa-thermometer','fas fa-thermometer-empty','fas fa-thermometer-full','fas fa-thermometer-half','fas fa-thermometer-quarter','fas fa-thermometer-three-quarters','fab fa-think-peaks','fas fa-thumbs-down','far fa-thumbs-down','fas fa-thumbs-up','far fa-thumbs-up','fas fa-thumbtack','fas fa-ticket-alt','fas fa-times','fas fa-times-circle','far fa-times-circle','fas fa-tint','fas fa-tint-slash','fas fa-tired','far fa-tired','fas fa-toggle-off','fas fa-toggle-on','fas fa-toilet','fas fa-toilet-paper','fas fa-toilet-paper-slash','fas fa-toolbox','fas fa-tools','fas fa-tooth','fas fa-torah','fas fa-torii-gate','fas fa-tractor','fab fa-trade-federation','fas fa-trademark','fas fa-traffic-light','fas fa-trailer','fas fa-train','fas fa-tram','fas fa-transgender','fas fa-transgender-alt','fas fa-trash','fas fa-trash-alt','far fa-trash-alt','fas fa-trash-restore','fas fa-trash-restore-alt','fas fa-tree','fab fa-trello','fab fa-tripadvisor','fas fa-trophy','fas fa-truck','fas fa-truck-loading','fas fa-truck-monster','fas fa-truck-moving','fas fa-truck-pickup','fas fa-tshirt','fas fa-tty','fab fa-tumblr','fab fa-tumblr-square','fas fa-tv','fab fa-twitch','fab fa-twitter','fab fa-twitter-square','fab fa-typo3','fab fa-uber','fab fa-ubuntu','fab fa-uikit','fab fa-umbraco','fas fa-umbrella','fas fa-umbrella-beach','fas fa-underline','fas fa-undo','fas fa-undo-alt','fab fa-uniregistry','fab fa-unity','fas fa-universal-access','fas fa-university','fas fa-unlink','fas fa-unlock','fas fa-unlock-alt','fab fa-untappd','fas fa-upload','fab fa-ups','fab fa-usb','fas fa-user','far fa-user','fas fa-user-alt','fas fa-user-alt-slash','fas fa-user-astronaut','fas fa-user-check','fas fa-user-circle','far fa-user-circle','fas fa-user-clock','fas fa-user-cog','fas fa-user-edit','fas fa-user-friends','fas fa-user-graduate','fas fa-user-injured','fas fa-user-lock','fas fa-user-md','fas fa-user-minus','fas fa-user-ninja','fas fa-user-nurse','fas fa-user-plus','fas fa-user-secret','fas fa-user-shield','fas fa-user-slash','fas fa-user-tag','fas fa-user-tie','fas fa-user-times','fas fa-users','fas fa-users-cog','fab fa-usps','fab fa-ussunnah','fas fa-utensil-spoon','fas fa-utensils','fab fa-vaadin','fas fa-vector-square','fas fa-venus','fas fa-venus-double','fas fa-venus-mars','fab fa-viacoin','fab fa-viadeo','fab fa-viadeo-square','fas fa-vial','fas fa-vials','fab fa-viber','fas fa-video','fas fa-video-slash','fas fa-vihara','fab fa-vimeo','fab fa-vimeo-square','fab fa-vimeo-v','fab fa-vine','fas fa-virus','fas fa-virus-slash','fas fa-viruses','fab fa-vk','fab fa-vnv','fas fa-voicemail','fas fa-volleyball-ball','fas fa-volume-down','fas fa-volume-mute','fas fa-volume-off','fas fa-volume-up','fas fa-vote-yea','fas fa-vr-cardboard','fab fa-vuejs','fas fa-walking','fas fa-wallet','fas fa-warehouse','fas fa-water','fas fa-wave-square','fab fa-waze','fab fa-weebly','fab fa-weibo','fas fa-weight','fas fa-weight-hanging','fab fa-weixin','fab fa-whatsapp','fab fa-whatsapp-square','fas fa-wheelchair','fab fa-whmcs','fas fa-wifi','fab fa-wikipedia-w','fas fa-wind','fas fa-window-close','far fa-window-close','fas fa-window-maximize','far fa-window-maximize','fas fa-window-minimize','far fa-window-minimize','fas fa-window-restore','far fa-window-restore','fab fa-windows','fas fa-wine-bottle','fas fa-wine-glass','fas fa-wine-glass-alt','fab fa-wix','fab fa-wizards-of-the-coast','fab fa-wolf-pack-battalion','fas fa-won-sign','fab fa-wordpress','fab fa-wordpress-simple','fab fa-wpbeginner','fab fa-wpexplorer','fab fa-wpforms','fab fa-wpressr','fas fa-wrench','fas fa-x-ray','fab fa-xbox','fab fa-xing','fab fa-xing-square','fab fa-y-combinator','fab fa-yahoo','fab fa-yammer','fab fa-yandex','fab fa-yandex-international','fab fa-yarn','fab fa-yelp','fas fa-yen-sign','fas fa-yin-yang','fab fa-yoast','fab fa-youtube','fab fa-youtube-square','fab fa-zhihu')
admin/settings/fields/icon/icon.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Field_icon' ) ) {
11
- class CSF_Field_icon extends CSF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
@@ -17,20 +17,20 @@ if ( ! class_exists( 'CSF_Field_icon' ) ) {
17
  public function render() {
18
 
19
  $args = wp_parse_args( $this->field, array(
20
- 'button_title' => esc_html__( 'Add Icon', 'csf' ),
21
- 'remove_title' => esc_html__( 'Remove Icon', 'csf' ),
22
  ) );
23
 
24
  echo $this->field_before();
25
 
26
- $nonce = wp_create_nonce( 'csf_icon_nonce' );
27
  $hidden = ( empty( $this->value ) ) ? ' hidden' : '';
28
 
29
- echo '<div class="csf-icon-select">';
30
- echo '<span class="csf-icon-preview'. esc_attr( $hidden ) .'"><i class="'. esc_attr( $this->value ) .'"></i></span>';
31
- echo '<a href="#" class="button button-primary csf-icon-add" data-nonce="'. esc_attr( $nonce ) .'">'. wp_kses_post( $args['button_title'] ) .'</a>';
32
- echo '<a href="#" class="button csf-warning-primary csf-icon-remove'. esc_attr( $hidden ) .'">'. wp_kses_post( $args['remove_title'] ) .'</a>';
33
- echo '<input type="text" name="'. esc_attr( $this->field_name() ) .'" value="'. esc_attr( $this->value ) .'" class="csf-icon-value"'. $this->field_attributes() .' />';
34
  echo '</div>';
35
 
36
  echo $this->field_after();
@@ -44,21 +44,21 @@ if ( ! class_exists( 'CSF_Field_icon' ) ) {
44
 
45
  public function add_footer_modal_icon() {
46
  ?>
47
- <div id="csf-modal-icon" class="csf-modal csf-modal-icon hidden">
48
- <div class="csf-modal-table">
49
- <div class="csf-modal-table-cell">
50
- <div class="csf-modal-overlay"></div>
51
- <div class="csf-modal-inner">
52
- <div class="csf-modal-title">
53
- <?php esc_html_e( 'Add Icon', 'csf' ); ?>
54
- <div class="csf-modal-close csf-icon-close"></div>
55
  </div>
56
- <div class="csf-modal-header">
57
- <input type="text" placeholder="<?php esc_html_e( 'Search a Icon...', 'csf' ); ?>" class="csf-icon-search" />
58
  </div>
59
- <div class="csf-modal-content">
60
- <div class="csf-modal-loading"><div class="csf-loading"></div></div>
61
- <div class="csf-modal-load"></div>
62
  </div>
63
  </div>
64
  </div>
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Field_icon' ) ) {
11
+ class ULF_Field_icon extends ULF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
17
  public function render() {
18
 
19
  $args = wp_parse_args( $this->field, array(
20
+ 'button_title' => esc_html__( 'Add Icon', 'ulf' ),
21
+ 'remove_title' => esc_html__( 'Remove Icon', 'ulf' ),
22
  ) );
23
 
24
  echo $this->field_before();
25
 
26
+ $nonce = wp_create_nonce( 'ulf_icon_nonce' );
27
  $hidden = ( empty( $this->value ) ) ? ' hidden' : '';
28
 
29
+ echo '<div class="ulf-icon-select">';
30
+ echo '<span class="ulf-icon-preview'. esc_attr( $hidden ) .'"><i class="'. esc_attr( $this->value ) .'"></i></span>';
31
+ echo '<a href="#" class="button button-primary ulf-icon-add" data-nonce="'. esc_attr( $nonce ) .'">'. wp_kses_post( $args['button_title'] ) .'</a>';
32
+ echo '<a href="#" class="button ulf-warning-primary ulf-icon-remove'. esc_attr( $hidden ) .'">'. wp_kses_post( $args['remove_title'] ) .'</a>';
33
+ echo '<input type="text" name="'. esc_attr( $this->field_name() ) .'" value="'. esc_attr( $this->value ) .'" class="ulf-icon-value"'. $this->field_attributes() .' />';
34
  echo '</div>';
35
 
36
  echo $this->field_after();
44
 
45
  public function add_footer_modal_icon() {
46
  ?>
47
+ <div id="ulf-modal-icon" class="ulf-modal ulf-modal-icon hidden">
48
+ <div class="ulf-modal-table">
49
+ <div class="ulf-modal-table-cell">
50
+ <div class="ulf-modal-overlay"></div>
51
+ <div class="ulf-modal-inner">
52
+ <div class="ulf-modal-title">
53
+ <?php esc_html_e( 'Add Icon', 'ulf' ); ?>
54
+ <div class="ulf-modal-close ulf-icon-close"></div>
55
  </div>
56
+ <div class="ulf-modal-header">
57
+ <input type="text" placeholder="<?php esc_html_e( 'Search a Icon...', 'ulf' ); ?>" class="ulf-icon-search" />
58
  </div>
59
+ <div class="ulf-modal-content">
60
+ <div class="ulf-modal-loading"><div class="ulf-loading"></div></div>
61
+ <div class="ulf-modal-load"></div>
62
  </div>
63
  </div>
64
  </div>
admin/settings/fields/image_select/image_select.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Field_image_select' ) ) {
11
- class CSF_Field_image_select extends CSF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
@@ -27,7 +27,7 @@ if ( ! class_exists( 'CSF_Field_image_select' ) ) {
27
 
28
  if ( ! empty( $args['options'] ) ) {
29
 
30
- echo '<div class="csf-siblings csf--image-group" data-multiple="'. esc_attr( $args['multiple'] ) .'">';
31
 
32
  $num = 1;
33
 
@@ -35,10 +35,10 @@ if ( ! class_exists( 'CSF_Field_image_select' ) ) {
35
 
36
  $type = ( $args['multiple'] ) ? 'checkbox' : 'radio';
37
  $extra = ( $args['multiple'] ) ? '[]' : '';
38
- $active = ( in_array( $key, $value ) ) ? ' csf--active' : '';
39
  $checked = ( in_array( $key, $value ) ) ? ' checked' : '';
40
 
41
- echo '<div class="csf--sibling csf--image'. esc_attr( $active ) .'">';
42
  echo '<img src="'. esc_url( $option ) .'" alt="img-'. esc_attr( $num++ ) .'" />';
43
  echo '<input type="'. esc_attr( $type ) .'" name="'. esc_attr( $this->field_name( $extra ) ) .'" value="'. esc_attr( $key ) .'"'. $this->field_attributes() . esc_attr( $checked ) .'/>';
44
  echo '</div>';
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Field_image_select' ) ) {
11
+ class ULF_Field_image_select extends ULF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
27
 
28
  if ( ! empty( $args['options'] ) ) {
29
 
30
+ echo '<div class="ulf-siblings ulf--image-group" data-multiple="'. esc_attr( $args['multiple'] ) .'">';
31
 
32
  $num = 1;
33
 
35
 
36
  $type = ( $args['multiple'] ) ? 'checkbox' : 'radio';
37
  $extra = ( $args['multiple'] ) ? '[]' : '';
38
+ $active = ( in_array( $key, $value ) ) ? ' ulf--active' : '';
39
  $checked = ( in_array( $key, $value ) ) ? ' checked' : '';
40
 
41
+ echo '<div class="ulf--sibling ulf--image'. esc_attr( $active ) .'">';
42
  echo '<img src="'. esc_url( $option ) .'" alt="img-'. esc_attr( $num++ ) .'" />';
43
  echo '<input type="'. esc_attr( $type ) .'" name="'. esc_attr( $this->field_name( $extra ) ) .'" value="'. esc_attr( $key ) .'"'. $this->field_attributes() . esc_attr( $checked ) .'/>';
44
  echo '</div>';
admin/settings/fields/link_color/link_color.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Field_link_color' ) ) {
11
- class CSF_Field_link_color extends CSF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
@@ -33,11 +33,11 @@ if ( ! class_exists( 'CSF_Field_link_color' ) ) {
33
  );
34
 
35
  $color_props = array(
36
- 'color' => esc_html__( 'Normal', 'csf' ),
37
- 'hover' => esc_html__( 'Hover', 'csf' ),
38
- 'active' => esc_html__( 'Active', 'csf' ),
39
- 'visited' => esc_html__( 'Visited', 'csf' ),
40
- 'focus' => esc_html__( 'Focus', 'csf' )
41
  );
42
 
43
  $value = wp_parse_args( $this->value, $default_values );
@@ -50,9 +50,9 @@ if ( ! class_exists( 'CSF_Field_link_color' ) ) {
50
 
51
  $default_attr = ( ! empty( $this->field['default'][$color_prop_key] ) ) ? ' data-default-color="'. esc_attr( $this->field['default'][$color_prop_key] ) .'"' : '';
52
 
53
- echo '<div class="csf--left csf-field-color">';
54
- echo '<div class="csf--title">'. esc_attr( $color_prop_value ) .'</div>';
55
- echo '<input type="text" name="'. esc_attr( $this->field_name( '['. $color_prop_key .']' ) ) .'" value="'. esc_attr( $value[$color_prop_key] ) .'" class="csf-color"'. $default_attr . $this->field_attributes() .'/>';
56
  echo '</div>';
57
 
58
  }
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Field_link_color' ) ) {
11
+ class ULF_Field_link_color extends ULF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
33
  );
34
 
35
  $color_props = array(
36
+ 'color' => esc_html__( 'Normal', 'ulf' ),
37
+ 'hover' => esc_html__( 'Hover', 'ulf' ),
38
+ 'active' => esc_html__( 'Active', 'ulf' ),
39
+ 'visited' => esc_html__( 'Visited', 'ulf' ),
40
+ 'focus' => esc_html__( 'Focus', 'ulf' )
41
  );
42
 
43
  $value = wp_parse_args( $this->value, $default_values );
50
 
51
  $default_attr = ( ! empty( $this->field['default'][$color_prop_key] ) ) ? ' data-default-color="'. esc_attr( $this->field['default'][$color_prop_key] ) .'"' : '';
52
 
53
+ echo '<div class="ulf--left ulf-field-color">';
54
+ echo '<div class="ulf--title">'. esc_attr( $color_prop_value ) .'</div>';
55
+ echo '<input type="text" name="'. esc_attr( $this->field_name( '['. $color_prop_key .']' ) ) .'" value="'. esc_attr( $value[$color_prop_key] ) .'" class="ulf-color"'. $default_attr . $this->field_attributes() .'/>';
56
  echo '</div>';
57
 
58
  }
admin/settings/fields/map/map.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Field_map' ) ) {
11
- class CSF_Field_map extends CSF_Fields {
12
 
13
  public $version = '1.5.1';
14
  public $cdn_url = 'https://cdn.jsdelivr.net/npm/leaflet@';
@@ -20,9 +20,9 @@ if ( ! class_exists( 'CSF_Field_map' ) ) {
20
  public function render() {
21
 
22
  $args = wp_parse_args( $this->field, array(
23
- 'placeholder' => esc_html__( 'Search your address...', 'csf' ),
24
- 'latitude_text' => esc_html__( 'Latitude', 'csf' ),
25
- 'longitude_text' => esc_html__( 'Longitude', 'csf' ),
26
  'address_field' => '',
27
  'height' => '',
28
  ) );
@@ -49,30 +49,30 @@ if ( ! class_exists( 'CSF_Field_map' ) ) {
49
  echo $this->field_before();
50
 
51
  if ( empty( $args['address_field'] ) ) {
52
- echo '<div class="csf--map-search">';
53
  echo '<input type="text" name="'. esc_attr( $this->field_name( '[address]' ) ) .'" value="'. esc_attr( $value['address'] ) .'"'. $this->field_attributes( $placeholder ) .' />';
54
  echo '</div>';
55
  } else {
56
- echo '<div class="csf--address-field" data-address-field="'. esc_attr( $args['address_field'] ) .'"></div>';
57
  }
58
 
59
- echo '<div class="csf--map-osm-wrap"><div class="csf--map-osm" data-map="'. esc_attr( json_encode( $settings ) ) .'"'. $style_attr .'></div></div>';
60
 
61
- echo '<div class="csf--map-inputs">';
62
 
63
- echo '<div class="csf--map-input">';
64
  echo '<label>'. esc_attr( $args['latitude_text'] ) .'</label>';
65
- echo '<input type="text" name="'. esc_attr( $this->field_name( '[latitude]' ) ) .'" value="'. esc_attr( $value['latitude'] ) .'" class="csf--latitude" />';
66
  echo '</div>';
67
 
68
- echo '<div class="csf--map-input">';
69
  echo '<label>'. esc_attr( $args['longitude_text'] ) .'</label>';
70
- echo '<input type="text" name="'. esc_attr( $this->field_name( '[longitude]' ) ) .'" value="'. esc_attr( $value['longitude'] ) .'" class="csf--longitude" />';
71
  echo '</div>';
72
 
73
  echo '</div>';
74
 
75
- echo '<input type="hidden" name="'. esc_attr( $this->field_name( '[zoom]' ) ) .'" value="'. esc_attr( $value['zoom'] ) .'" class="csf--zoom" />';
76
 
77
  echo $this->field_after();
78
 
@@ -80,12 +80,12 @@ if ( ! class_exists( 'CSF_Field_map' ) ) {
80
 
81
  public function enqueue() {
82
 
83
- if ( ! wp_script_is( 'csf-leaflet' ) ) {
84
- wp_enqueue_script( 'csf-leaflet', esc_url( $this->cdn_url . $this->version .'/dist/leaflet.js' ), array( 'csf' ), $this->version, true );
85
  }
86
 
87
- if ( ! wp_style_is( 'csf-leaflet' ) ) {
88
- wp_enqueue_style( 'csf-leaflet', esc_url( $this->cdn_url . $this->version .'/dist/leaflet.css' ), array(), $this->version );
89
  }
90
 
91
  if ( ! wp_script_is( 'jquery-ui-autocomplete' ) ) {
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Field_map' ) ) {
11
+ class ULF_Field_map extends ULF_Fields {
12
 
13
  public $version = '1.5.1';
14
  public $cdn_url = 'https://cdn.jsdelivr.net/npm/leaflet@';
20
  public function render() {
21
 
22
  $args = wp_parse_args( $this->field, array(
23
+ 'placeholder' => esc_html__( 'Search your address...', 'ulf' ),
24
+ 'latitude_text' => esc_html__( 'Latitude', 'ulf' ),
25
+ 'longitude_text' => esc_html__( 'Longitude', 'ulf' ),
26
  'address_field' => '',
27
  'height' => '',
28
  ) );
49
  echo $this->field_before();
50
 
51
  if ( empty( $args['address_field'] ) ) {
52
+ echo '<div class="ulf--map-search">';
53
  echo '<input type="text" name="'. esc_attr( $this->field_name( '[address]' ) ) .'" value="'. esc_attr( $value['address'] ) .'"'. $this->field_attributes( $placeholder ) .' />';
54
  echo '</div>';
55
  } else {
56
+ echo '<div class="ulf--address-field" data-address-field="'. esc_attr( $args['address_field'] ) .'"></div>';
57
  }
58
 
59
+ echo '<div class="ulf--map-osm-wrap"><div class="ulf--map-osm" data-map="'. esc_attr( json_encode( $settings ) ) .'"'. $style_attr .'></div></div>';
60
 
61
+ echo '<div class="ulf--map-inputs">';
62
 
63
+ echo '<div class="ulf--map-input">';
64
  echo '<label>'. esc_attr( $args['latitude_text'] ) .'</label>';
65
+ echo '<input type="text" name="'. esc_attr( $this->field_name( '[latitude]' ) ) .'" value="'. esc_attr( $value['latitude'] ) .'" class="ulf--latitude" />';
66
  echo '</div>';
67
 
68
+ echo '<div class="ulf--map-input">';
69
  echo '<label>'. esc_attr( $args['longitude_text'] ) .'</label>';
70
+ echo '<input type="text" name="'. esc_attr( $this->field_name( '[longitude]' ) ) .'" value="'. esc_attr( $value['longitude'] ) .'" class="ulf--longitude" />';
71
  echo '</div>';
72
 
73
  echo '</div>';
74
 
75
+ echo '<input type="hidden" name="'. esc_attr( $this->field_name( '[zoom]' ) ) .'" value="'. esc_attr( $value['zoom'] ) .'" class="ulf--zoom" />';
76
 
77
  echo $this->field_after();
78
 
80
 
81
  public function enqueue() {
82
 
83
+ if ( ! wp_script_is( 'ulf-leaflet' ) ) {
84
+ wp_enqueue_script( 'ulf-leaflet', esc_url( $this->cdn_url . $this->version .'/dist/leaflet.js' ), array( 'ulf' ), $this->version, true );
85
  }
86
 
87
+ if ( ! wp_style_is( 'ulf-leaflet' ) ) {
88
+ wp_enqueue_style( 'ulf-leaflet', esc_url( $this->cdn_url . $this->version .'/dist/leaflet.css' ), array(), $this->version );
89
  }
90
 
91
  if ( ! wp_script_is( 'jquery-ui-autocomplete' ) ) {
admin/settings/fields/media/media.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Field_media' ) ) {
11
- class CSF_Field_media extends CSF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
@@ -20,8 +20,8 @@ if ( ! class_exists( 'CSF_Field_media' ) ) {
20
  'url' => true,
21
  'preview' => true,
22
  'library' => array(),
23
- 'button_title' => esc_html__( 'Upload', 'csf' ),
24
- 'remove_title' => esc_html__( 'Remove', 'csf' ),
25
  'preview_size' => 'thumbnail',
26
  ) );
27
 
@@ -54,29 +54,29 @@ if ( ! class_exists( 'CSF_Field_media' ) ) {
54
  $preview_src = ( $args['preview_size'] !== 'thumbnail' ) ? $this->value['url'] : $this->value['thumbnail'];
55
  $hidden_url = ( empty( $args['url'] ) ) ? ' hidden' : '';
56
  $hidden_auto = ( empty( $this->value['url'] ) ) ? ' hidden' : '';
57
- $placeholder = ( empty( $this->field['placeholder'] ) ) ? ' placeholder="'. esc_html__( 'No media selected', 'csf' ) .'"' : '';
58
 
59
  echo $this->field_before();
60
 
61
  if ( ! empty( $args['preview'] ) ) {
62
- echo '<div class="csf--preview'. esc_attr( $hidden_auto ) .'">';
63
- echo '<div class="csf-image-preview"><a href="#" class="csf--remove fas fa-times"></a><img src="'. esc_url( $preview_src ) .'" class="csf--src" /></div>';
64
  echo '</div>';
65
  }
66
 
67
- echo '<div class="csf--placeholder">';
68
- echo '<input type="text" name="'. esc_attr( $this->field_name( '[url]' ) ) .'" value="'. esc_attr( $this->value['url'] ) .'" class="csf--url'. esc_attr( $hidden_url ) .'" readonly="readonly"'. $this->field_attributes() . $placeholder .' />';
69
- echo '<a href="#" class="button button-primary csf--button" data-library="'. esc_attr( $library ) .'" data-preview-size="'. esc_attr( $args['preview_size'] ) .'">'. wp_kses_post( $args['button_title'] ) .'</a>';
70
- echo ( empty( $args['preview'] ) ) ? '<a href="#" class="button button-secondary csf-warning-primary csf--remove'. esc_attr( $hidden_auto ) .'">'. wp_kses_post( $args['remove_title'] ) .'</a>' : '';
71
  echo '</div>';
72
 
73
- echo '<input type="hidden" name="'. esc_attr( $this->field_name( '[id]' ) ) .'" value="'. esc_attr( $this->value['id'] ) .'" class="csf--id"/>';
74
- echo '<input type="hidden" name="'. esc_attr( $this->field_name( '[width]' ) ) .'" value="'. esc_attr( $this->value['width'] ) .'" class="csf--width"/>';
75
- echo '<input type="hidden" name="'. esc_attr( $this->field_name( '[height]' ) ) .'" value="'. esc_attr( $this->value['height'] ) .'" class="csf--height"/>';
76
- echo '<input type="hidden" name="'. esc_attr( $this->field_name( '[thumbnail]' ) ) .'" value="'. esc_attr( $this->value['thumbnail'] ) .'" class="csf--thumbnail"/>';
77
- echo '<input type="hidden" name="'. esc_attr( $this->field_name( '[alt]' ) ) .'" value="'. esc_attr( $this->value['alt'] ) .'" class="csf--alt"/>';
78
- echo '<input type="hidden" name="'. esc_attr( $this->field_name( '[title]' ) ) .'" value="'. esc_attr( $this->value['title'] ) .'" class="csf--title"/>';
79
- echo '<input type="hidden" name="'. esc_attr( $this->field_name( '[description]' ) ) .'" value="'. esc_attr( $this->value['description'] ) .'" class="csf--description"/>';
80
 
81
  echo $this->field_after();
82
 
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Field_media' ) ) {
11
+ class ULF_Field_media extends ULF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
20
  'url' => true,
21
  'preview' => true,
22
  'library' => array(),
23
+ 'button_title' => esc_html__( 'Upload', 'ulf' ),
24
+ 'remove_title' => esc_html__( 'Remove', 'ulf' ),
25
  'preview_size' => 'thumbnail',
26
  ) );
27
 
54
  $preview_src = ( $args['preview_size'] !== 'thumbnail' ) ? $this->value['url'] : $this->value['thumbnail'];
55
  $hidden_url = ( empty( $args['url'] ) ) ? ' hidden' : '';
56
  $hidden_auto = ( empty( $this->value['url'] ) ) ? ' hidden' : '';
57
+ $placeholder = ( empty( $this->field['placeholder'] ) ) ? ' placeholder="'. esc_html__( 'No media selected', 'ulf' ) .'"' : '';
58
 
59
  echo $this->field_before();
60
 
61
  if ( ! empty( $args['preview'] ) ) {
62
+ echo '<div class="ulf--preview'. esc_attr( $hidden_auto ) .'">';
63
+ echo '<div class="ulf-image-preview"><a href="#" class="ulf--remove fas fa-times"></a><img src="'. esc_url( $preview_src ) .'" class="ulf--src" /></div>';
64
  echo '</div>';
65
  }
66
 
67
+ echo '<div class="ulf--placeholder">';
68
+ echo '<input type="text" name="'. esc_attr( $this->field_name( '[url]' ) ) .'" value="'. esc_attr( $this->value['url'] ) .'" class="ulf--url'. esc_attr( $hidden_url ) .'" readonly="readonly"'. $this->field_attributes() . $placeholder .' />';
69
+ echo '<a href="#" class="button button-primary ulf--button" data-library="'. esc_attr( $library ) .'" data-preview-size="'. esc_attr( $args['preview_size'] ) .'">'. wp_kses_post( $args['button_title'] ) .'</a>';
70
+ echo ( empty( $args['preview'] ) ) ? '<a href="#" class="button button-secondary ulf-warning-primary ulf--remove'. esc_attr( $hidden_auto ) .'">'. wp_kses_post( $args['remove_title'] ) .'</a>' : '';
71
  echo '</div>';
72
 
73
+ echo '<input type="hidden" name="'. esc_attr( $this->field_name( '[id]' ) ) .'" value="'. esc_attr( $this->value['id'] ) .'" class="ulf--id"/>';
74
+ echo '<input type="hidden" name="'. esc_attr( $this->field_name( '[width]' ) ) .'" value="'. esc_attr( $this->value['width'] ) .'" class="ulf--width"/>';
75
+ echo '<input type="hidden" name="'. esc_attr( $this->field_name( '[height]' ) ) .'" value="'. esc_attr( $this->value['height'] ) .'" class="ulf--height"/>';
76
+ echo '<input type="hidden" name="'. esc_attr( $this->field_name( '[thumbnail]' ) ) .'" value="'. esc_attr( $this->value['thumbnail'] ) .'" class="ulf--thumbnail"/>';
77
+ echo '<input type="hidden" name="'. esc_attr( $this->field_name( '[alt]' ) ) .'" value="'. esc_attr( $this->value['alt'] ) .'" class="ulf--alt"/>';
78
+ echo '<input type="hidden" name="'. esc_attr( $this->field_name( '[title]' ) ) .'" value="'. esc_attr( $this->value['title'] ) .'" class="ulf--title"/>';
79
+ echo '<input type="hidden" name="'. esc_attr( $this->field_name( '[description]' ) ) .'" value="'. esc_attr( $this->value['description'] ) .'" class="ulf--description"/>';
80
 
81
  echo $this->field_after();
82
 
admin/settings/fields/notice/notice.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Field_notice' ) ) {
11
- class CSF_Field_notice extends CSF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
@@ -18,7 +18,7 @@ if ( ! class_exists( 'CSF_Field_notice' ) ) {
18
 
19
  $style = ( ! empty( $this->field['style'] ) ) ? $this->field['style'] : 'normal';
20
 
21
- echo ( ! empty( $this->field['content'] ) ) ? '<div class="csf-notice csf-notice-'. esc_attr( $style ) .'">'. wp_kses_post( $this->field['content'] ) .'</div>' : '';
22
 
23
  }
24
 
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Field_notice' ) ) {
11
+ class ULF_Field_notice extends ULF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
18
 
19
  $style = ( ! empty( $this->field['style'] ) ) ? $this->field['style'] : 'normal';
20
 
21
+ echo ( ! empty( $this->field['content'] ) ) ? '<div class="ulf-notice ulf-notice-'. esc_attr( $style ) .'">'. wp_kses_post( $this->field['content'] ) .'</div>' : '';
22
 
23
  }
24
 
admin/settings/fields/number/number.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Field_number' ) ) {
11
- class CSF_Field_number extends CSF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
@@ -21,9 +21,9 @@ if ( ! class_exists( 'CSF_Field_number' ) ) {
21
  ) );
22
 
23
  echo $this->field_before();
24
- echo '<div class="csf--wrap">';
25
- echo '<input type="number" name="'. esc_attr( $this->field_name() ) .'" value="'. esc_attr( $this->value ) .'"'. $this->field_attributes( array( 'class' => 'csf-input-number' ) ) .'/>';
26
- echo ( ! empty( $args['unit'] ) ) ? '<span class="csf--unit">'. esc_attr( $args['unit'] ) .'</span>' : '';
27
  echo '</div>';
28
  echo $this->field_after();
29
 
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Field_number' ) ) {
11
+ class ULF_Field_number extends ULF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
21
  ) );
22
 
23
  echo $this->field_before();
24
+ echo '<div class="ulf--wrap">';
25
+ echo '<input type="number" name="'. esc_attr( $this->field_name() ) .'" value="'. esc_attr( $this->value ) .'"'. $this->field_attributes( array( 'class' => 'ulf-input-number' ) ) .'/>';
26
+ echo ( ! empty( $args['unit'] ) ) ? '<span class="ulf--unit">'. esc_attr( $args['unit'] ) .'</span>' : '';
27
  echo '</div>';
28
  echo $this->field_after();
29
 
admin/settings/fields/palette/palette.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Field_palette' ) ) {
11
- class CSF_Field_palette extends CSF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
@@ -22,14 +22,14 @@ if ( ! class_exists( 'CSF_Field_palette' ) ) {
22
 
23
  if ( ! empty( $palette ) ) {
24
 
25
- echo '<div class="csf-siblings csf--palettes">';
26
 
27
  foreach ( $palette as $key => $colors ) {
28
 
29
- $active = ( $key === $this->value ) ? ' csf--active' : '';
30
  $checked = ( $key === $this->value ) ? ' checked' : '';
31
 
32
- echo '<div class="csf--sibling csf--palette'. esc_attr( $active ) .'">';
33
 
34
  if ( ! empty( $colors ) ) {
35
 
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Field_palette' ) ) {
11
+ class ULF_Field_palette extends ULF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
22
 
23
  if ( ! empty( $palette ) ) {
24
 
25
+ echo '<div class="ulf-siblings ulf--palettes">';
26
 
27
  foreach ( $palette as $key => $colors ) {
28
 
29
+ $active = ( $key === $this->value ) ? ' ulf--active' : '';
30
  $checked = ( $key === $this->value ) ? ' checked' : '';
31
 
32
+ echo '<div class="ulf--sibling ulf--palette'. esc_attr( $active ) .'">';
33
 
34
  if ( ! empty( $colors ) ) {
35
 
admin/settings/fields/radio/radio.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Field_radio' ) ) {
11
- class CSF_Field_radio extends CSF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
@@ -21,7 +21,7 @@ if ( ! class_exists( 'CSF_Field_radio' ) ) {
21
  'query_args' => array(),
22
  ) );
23
 
24
- $inline_class = ( $args['inline'] ) ? ' class="csf--inline-list"' : '';
25
 
26
  echo $this->field_before();
27
 
@@ -46,7 +46,7 @@ if ( ! class_exists( 'CSF_Field_radio' ) ) {
46
  echo '<li>';
47
  echo '<label>';
48
  echo '<input type="radio" name="'. esc_attr( $this->field_name() ) .'" value="'. esc_attr( $sub_key ) .'"'. $this->field_attributes() . esc_attr( $checked ) .'/>';
49
- echo '<span class="csf--text">'. esc_attr( $sub_value ) .'</span>';
50
  echo '</label>';
51
  echo '</li>';
52
  }
@@ -60,7 +60,7 @@ if ( ! class_exists( 'CSF_Field_radio' ) ) {
60
  echo '<li>';
61
  echo '<label>';
62
  echo '<input type="radio" name="'. esc_attr( $this->field_name() ) .'" value="'. esc_attr( $option_key ) .'"'. $this->field_attributes() . esc_attr( $checked ) .'/>';
63
- echo '<span class="csf--text">'. esc_attr( $option_value ) .'</span>';
64
  echo '</label>';
65
  echo '</li>';
66
 
@@ -72,7 +72,7 @@ if ( ! class_exists( 'CSF_Field_radio' ) ) {
72
 
73
  } else {
74
 
75
- echo ( ! empty( $this->field['empty_message'] ) ) ? esc_attr( $this->field['empty_message'] ) : esc_html__( 'No data provided for this option type.', 'csf' );
76
 
77
  }
78
 
@@ -80,7 +80,7 @@ if ( ! class_exists( 'CSF_Field_radio' ) ) {
80
 
81
  $label = ( isset( $this->field['label'] ) ) ? $this->field['label'] : '';
82
  echo '<label><input type="radio" name="'. esc_attr( $this->field_name() ) .'" value="1"'. $this->field_attributes() . esc_attr( checked( $this->value, 1, false ) ) .'/>';
83
- echo ( ! empty( $this->field['label'] ) ) ? '<span class="csf--text">'. esc_attr( $this->field['label'] ) .'</span>' : '';
84
  echo '</label>';
85
 
86
  }
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Field_radio' ) ) {
11
+ class ULF_Field_radio extends ULF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
21
  'query_args' => array(),
22
  ) );
23
 
24
+ $inline_class = ( $args['inline'] ) ? ' class="ulf--inline-list"' : '';
25
 
26
  echo $this->field_before();
27
 
46
  echo '<li>';
47
  echo '<label>';
48
  echo '<input type="radio" name="'. esc_attr( $this->field_name() ) .'" value="'. esc_attr( $sub_key ) .'"'. $this->field_attributes() . esc_attr( $checked ) .'/>';
49
+ echo '<span class="ulf--text">'. esc_attr( $sub_value ) .'</span>';
50
  echo '</label>';
51
  echo '</li>';
52
  }
60
  echo '<li>';
61
  echo '<label>';
62
  echo '<input type="radio" name="'. esc_attr( $this->field_name() ) .'" value="'. esc_attr( $option_key ) .'"'. $this->field_attributes() . esc_attr( $checked ) .'/>';
63
+ echo '<span class="ulf--text">'. esc_attr( $option_value ) .'</span>';
64
  echo '</label>';
65
  echo '</li>';
66
 
72
 
73
  } else {
74
 
75
+ echo ( ! empty( $this->field['empty_message'] ) ) ? esc_attr( $this->field['empty_message'] ) : esc_html__( 'No data provided for this option type.', 'ulf' );
76
 
77
  }
78
 
80
 
81
  $label = ( isset( $this->field['label'] ) ) ? $this->field['label'] : '';
82
  echo '<label><input type="radio" name="'. esc_attr( $this->field_name() ) .'" value="1"'. $this->field_attributes() . esc_attr( checked( $this->value, 1, false ) ) .'/>';
83
+ echo ( ! empty( $this->field['label'] ) ) ? '<span class="ulf--text">'. esc_attr( $this->field['label'] ) .'</span>' : '';
84
  echo '</label>';
85
 
86
  }
admin/settings/fields/repeater/repeater.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Field_repeater' ) ) {
11
- class CSF_Field_repeater extends CSF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
@@ -27,33 +27,33 @@ if ( ! class_exists( 'CSF_Field_repeater' ) ) {
27
 
28
  if ( $this->parent && preg_match( '/'. preg_quote( '['. $this->field['id'] .']' ) .'/', $this->parent ) ) {
29
 
30
- echo '<div class="csf-notice csf-notice-danger">'. esc_html__( 'Error: Nested field id can not be same with another nested field id.', 'csf' ) .'</div>';
31
 
32
  } else {
33
 
34
  echo $this->field_before();
35
 
36
- echo '<div class="csf-repeater-item csf-repeater-hidden">';
37
- echo '<div class="csf-repeater-content">';
38
  foreach ( $fields as $field ) {
39
 
40
  $field_parent = $this->parent .'['. $this->field['id'] .']';
41
  $field_default = ( isset( $field['default'] ) ) ? $field['default'] : '';
42
 
43
- CSF::field( $field, $field_default, '_nonce', 'field/repeater', $field_parent );
44
 
45
  }
46
  echo '</div>';
47
- echo '<div class="csf-repeater-helper">';
48
- echo '<div class="csf-repeater-helper-inner">';
49
- echo '<i class="csf-repeater-sort fas fa-arrows-alt"></i>';
50
- echo '<i class="csf-repeater-clone far fa-clone"></i>';
51
- echo '<i class="csf-repeater-remove csf-confirm fas fa-times" data-confirm="'. esc_html__( 'Are you sure to delete this item?', 'csf' ) .'"></i>';
52
  echo '</div>';
53
  echo '</div>';
54
  echo '</div>';
55
 
56
- echo '<div class="csf-repeater-wrapper csf-data-wrapper" data-unique-id="'. esc_attr( $this->unique ) .'" data-field-id="['. esc_attr( $this->field['id'] ) .']" data-max="'. esc_attr( $args['max'] ) .'" data-min="'. esc_attr( $args['min'] ) .'">';
57
 
58
  if ( ! empty( $this->value ) && is_array( $this->value ) ) {
59
 
@@ -61,25 +61,25 @@ if ( ! class_exists( 'CSF_Field_repeater' ) ) {
61
 
62
  foreach ( $this->value as $key => $value ) {
63
 
64
- echo '<div class="csf-repeater-item">';
65
 
66
- echo '<div class="csf-repeater-content">';
67
  foreach ( $fields as $field ) {
68
 
69
  $field_parent = $this->parent .'['. $this->field['id'] .']';
70
  $field_unique = ( ! empty( $this->unique ) ) ? $this->unique .'['. $this->field['id'] .']['. $num .']' : $this->field['id'] .'['. $num .']';
71
  $field_value = ( isset( $field['id'] ) && isset( $this->value[$key][$field['id']] ) ) ? $this->value[$key][$field['id']] : '';
72
 
73
- CSF::field( $field, $field_value, $field_unique, 'field/repeater', $field_parent );
74
 
75
  }
76
  echo '</div>';
77
 
78
- echo '<div class="csf-repeater-helper">';
79
- echo '<div class="csf-repeater-helper-inner">';
80
- echo '<i class="csf-repeater-sort fas fa-arrows-alt"></i>';
81
- echo '<i class="csf-repeater-clone far fa-clone"></i>';
82
- echo '<i class="csf-repeater-remove csf-confirm fas fa-times" data-confirm="'. esc_html__( 'Are you sure to delete this item?', 'csf' ) .'"></i>';
83
  echo '</div>';
84
  echo '</div>';
85
 
@@ -93,10 +93,10 @@ if ( ! class_exists( 'CSF_Field_repeater' ) ) {
93
 
94
  echo '</div>';
95
 
96
- echo '<div class="csf-repeater-alert csf-repeater-max">'. esc_html__( 'You can not add more than', 'csf' ) .' '. esc_attr( $args['max'] ) .'</div>';
97
- echo '<div class="csf-repeater-alert csf-repeater-min">'. esc_html__( 'You can not remove less than', 'csf' ) .' '. esc_attr( $args['min'] ) .'</div>';
98
 
99
- echo '<a href="#" class="button button-primary csf-repeater-add">'. wp_kses_post( $args['button_title'] ) .'</a>';
100
 
101
  echo $this->field_after();
102
 
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Field_repeater' ) ) {
11
+ class ULF_Field_repeater extends ULF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
27
 
28
  if ( $this->parent && preg_match( '/'. preg_quote( '['. $this->field['id'] .']' ) .'/', $this->parent ) ) {
29
 
30
+ echo '<div class="ulf-notice ulf-notice-danger">'. esc_html__( 'Error: Nested field id can not be same with another nested field id.', 'ulf' ) .'</div>';
31
 
32
  } else {
33
 
34
  echo $this->field_before();
35
 
36
+ echo '<div class="ulf-repeater-item ulf-repeater-hidden">';
37
+ echo '<div class="ulf-repeater-content">';
38
  foreach ( $fields as $field ) {
39
 
40
  $field_parent = $this->parent .'['. $this->field['id'] .']';
41
  $field_default = ( isset( $field['default'] ) ) ? $field['default'] : '';
42
 
43
+ ULF::field( $field, $field_default, '_nonce', 'field/repeater', $field_parent );
44
 
45
  }
46
  echo '</div>';
47
+ echo '<div class="ulf-repeater-helper">';
48
+ echo '<div class="ulf-repeater-helper-inner">';
49
+ echo '<i class="ulf-repeater-sort fas fa-arrows-alt"></i>';
50
+ echo '<i class="ulf-repeater-clone far fa-clone"></i>';
51
+ echo '<i class="ulf-repeater-remove ulf-confirm fas fa-times" data-confirm="'. esc_html__( 'Are you sure to delete this item?', 'ulf' ) .'"></i>';
52
  echo '</div>';
53
  echo '</div>';
54
  echo '</div>';
55
 
56
+ echo '<div class="ulf-repeater-wrapper ulf-data-wrapper" data-unique-id="'. esc_attr( $this->unique ) .'" data-field-id="['. esc_attr( $this->field['id'] ) .']" data-max="'. esc_attr( $args['max'] ) .'" data-min="'. esc_attr( $args['min'] ) .'">';
57
 
58
  if ( ! empty( $this->value ) && is_array( $this->value ) ) {
59
 
61
 
62
  foreach ( $this->value as $key => $value ) {
63
 
64
+ echo '<div class="ulf-repeater-item">';
65
 
66
+ echo '<div class="ulf-repeater-content">';
67
  foreach ( $fields as $field ) {
68
 
69
  $field_parent = $this->parent .'['. $this->field['id'] .']';
70
  $field_unique = ( ! empty( $this->unique ) ) ? $this->unique .'['. $this->field['id'] .']['. $num .']' : $this->field['id'] .'['. $num .']';
71
  $field_value = ( isset( $field['id'] ) && isset( $this->value[$key][$field['id']] ) ) ? $this->value[$key][$field['id']] : '';
72
 
73
+ ULF::field( $field, $field_value, $field_unique, 'field/repeater', $field_parent );
74
 
75
  }
76
  echo '</div>';
77
 
78
+ echo '<div class="ulf-repeater-helper">';
79
+ echo '<div class="ulf-repeater-helper-inner">';
80
+ echo '<i class="ulf-repeater-sort fas fa-arrows-alt"></i>';
81
+ echo '<i class="ulf-repeater-clone far fa-clone"></i>';
82
+ echo '<i class="ulf-repeater-remove ulf-confirm fas fa-times" data-confirm="'. esc_html__( 'Are you sure to delete this item?', 'ulf' ) .'"></i>';
83
  echo '</div>';
84
  echo '</div>';
85
 
93
 
94
  echo '</div>';
95
 
96
+ echo '<div class="ulf-repeater-alert ulf-repeater-max">'. esc_html__( 'You can not add more than', 'ulf' ) .' '. esc_attr( $args['max'] ) .'</div>';
97
+ echo '<div class="ulf-repeater-alert ulf-repeater-min">'. esc_html__( 'You can not remove less than', 'ulf' ) .' '. esc_attr( $args['min'] ) .'</div>';
98
 
99
+ echo '<a href="#" class="button button-primary ulf-repeater-add">'. wp_kses_post( $args['button_title'] ) .'</a>';
100
 
101
  echo $this->field_after();
102
 
admin/settings/fields/select/select.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Field_select' ) ) {
11
- class CSF_Field_select extends CSF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
@@ -34,7 +34,7 @@ if ( ! class_exists( 'CSF_Field_select' ) ) {
34
 
35
  if ( ! empty( $args['ajax'] ) ) {
36
  $args['settings']['data']['type'] = $args['options'];
37
- $args['settings']['data']['nonce'] = wp_create_nonce( 'csf_chosen_ajax_nonce' );
38
  if ( ! empty( $args['query_args'] ) ) {
39
  $args['settings']['data']['query_args'] = $args['query_args'];
40
  }
@@ -43,10 +43,10 @@ if ( ! class_exists( 'CSF_Field_select' ) ) {
43
  $chosen_rtl = ( is_rtl() ) ? ' chosen-rtl' : '';
44
  $multiple_name = ( $args['multiple'] ) ? '[]' : '';
45
  $multiple_attr = ( $args['multiple'] ) ? ' multiple="multiple"' : '';
46
- $chosen_sortable = ( $args['chosen'] && $args['sortable'] ) ? ' csf-chosen-sortable' : '';
47
- $chosen_ajax = ( $args['chosen'] && $args['ajax'] ) ? ' csf-chosen-ajax' : '';
48
  $placeholder_attr = ( $args['chosen'] && $args['placeholder'] ) ? ' data-placeholder="'. esc_attr( $args['placeholder'] ) .'"' : '';
49
- $field_class = ( $args['chosen'] ) ? ' class="csf-chosen'. esc_attr( $chosen_rtl . $chosen_sortable . $chosen_ajax ) .'"' : '';
50
  $field_name = $this->field_name( $multiple_name );
51
  $field_attr = $this->field_attributes();
52
  $maybe_options = $this->field['options'];
@@ -64,7 +64,7 @@ if ( ! class_exists( 'CSF_Field_select' ) ) {
64
 
65
  if ( ! empty( $args['chosen'] ) && ! empty( $args['multiple'] ) ) {
66
 
67
- echo '<select name="'. $field_name .'" class="csf-hide-select hidden"'. $multiple_attr . $field_attr .'>';
68
  foreach ( $this->value as $option_key ) {
69
  echo '<option value="'. esc_attr( $option_key ) .'" selected>'. esc_attr( $option_key ) .'</option>';
70
  }
@@ -110,7 +110,7 @@ if ( ! class_exists( 'CSF_Field_select' ) ) {
110
 
111
  } else {
112
 
113
- echo ( ! empty( $this->field['empty_message'] ) ) ? esc_attr( $this->field['empty_message'] ) : esc_html__( 'No data provided for this option type.', 'csf' );
114
 
115
  }
116
 
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Field_select' ) ) {
11
+ class ULF_Field_select extends ULF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
34
 
35
  if ( ! empty( $args['ajax'] ) ) {
36
  $args['settings']['data']['type'] = $args['options'];
37
+ $args['settings']['data']['nonce'] = wp_create_nonce( 'ulf_chosen_ajax_nonce' );
38
  if ( ! empty( $args['query_args'] ) ) {
39
  $args['settings']['data']['query_args'] = $args['query_args'];
40
  }
43
  $chosen_rtl = ( is_rtl() ) ? ' chosen-rtl' : '';
44
  $multiple_name = ( $args['multiple'] ) ? '[]' : '';
45
  $multiple_attr = ( $args['multiple'] ) ? ' multiple="multiple"' : '';
46
+ $chosen_sortable = ( $args['chosen'] && $args['sortable'] ) ? ' ulf-chosen-sortable' : '';
47
+ $chosen_ajax = ( $args['chosen'] && $args['ajax'] ) ? ' ulf-chosen-ajax' : '';
48
  $placeholder_attr = ( $args['chosen'] && $args['placeholder'] ) ? ' data-placeholder="'. esc_attr( $args['placeholder'] ) .'"' : '';
49
+ $field_class = ( $args['chosen'] ) ? ' class="ulf-chosen'. esc_attr( $chosen_rtl . $chosen_sortable . $chosen_ajax ) .'"' : '';
50
  $field_name = $this->field_name( $multiple_name );
51
  $field_attr = $this->field_attributes();
52
  $maybe_options = $this->field['options'];
64
 
65
  if ( ! empty( $args['chosen'] ) && ! empty( $args['multiple'] ) ) {
66
 
67
+ echo '<select name="'. $field_name .'" class="ulf-hide-select hidden"'. $multiple_attr . $field_attr .'>';
68
  foreach ( $this->value as $option_key ) {
69
  echo '<option value="'. esc_attr( $option_key ) .'" selected>'. esc_attr( $option_key ) .'</option>';
70
  }
110
 
111
  } else {
112
 
113
+ echo ( ! empty( $this->field['empty_message'] ) ) ? esc_attr( $this->field['empty_message'] ) : esc_html__( 'No data provided for this option type.', 'ulf' );
114
 
115
  }
116
 
admin/settings/fields/slider/slider.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Field_slider' ) ) {
11
- class CSF_Field_slider extends CSF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
@@ -23,15 +23,15 @@ if ( ! class_exists( 'CSF_Field_slider' ) ) {
23
  'unit' => '',
24
  ) );
25
 
26
- $is_unit = ( ! empty( $args['unit'] ) ) ? ' csf--is-unit' : '';
27
 
28
  echo $this->field_before();
29
 
30
- echo '<div class="csf--wrap">';
31
- echo '<div class="csf-slider-ui"></div>';
32
- echo '<div class="csf--input">';
33
- echo '<input type="number" name="'. esc_attr( $this->field_name() ) .'" value="'. esc_attr( $this->value ) .'"'. $this->field_attributes( array( 'class' => 'csf-input-number'. esc_attr( $is_unit ) ) ) .' data-max="'. esc_attr( $args['max'] ) .'" data-min="'. esc_attr( $args['min'] ) .'" data-step="'. esc_attr( $args['step'] ) .'" />';
34
- echo ( ! empty( $args['unit'] ) ) ? '<span class="csf--unit">'. esc_attr( $args['unit'] ) .'</span>' : '';
35
  echo '</div>';
36
  echo '</div>';
37
 
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Field_slider' ) ) {
11
+ class ULF_Field_slider extends ULF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
23
  'unit' => '',
24
  ) );
25
 
26
+ $is_unit = ( ! empty( $args['unit'] ) ) ? ' ulf--is-unit' : '';
27
 
28
  echo $this->field_before();
29
 
30
+ echo '<div class="ulf--wrap">';
31
+ echo '<div class="ulf-slider-ui"></div>';
32
+ echo '<div class="ulf--input">';
33
+ echo '<input type="number" name="'. esc_attr( $this->field_name() ) .'" value="'. esc_attr( $this->value ) .'"'. $this->field_attributes( array( 'class' => 'ulf-input-number'. esc_attr( $is_unit ) ) ) .' data-max="'. esc_attr( $args['max'] ) .'" data-min="'. esc_attr( $args['min'] ) .'" data-step="'. esc_attr( $args['step'] ) .'" />';
34
+ echo ( ! empty( $args['unit'] ) ) ? '<span class="ulf--unit">'. esc_attr( $args['unit'] ) .'</span>' : '';
35
  echo '</div>';
36
  echo '</div>';
37
 
admin/settings/fields/sortable/sortable.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Field_sortable' ) ) {
11
- class CSF_Field_sortable extends CSF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
@@ -18,7 +18,7 @@ if ( ! class_exists( 'CSF_Field_sortable' ) ) {
18
 
19
  echo $this->field_before();
20
 
21
- echo '<div class="csf-sortable">';
22
 
23
  $pre_sortby = array();
24
  $pre_fields = array();
@@ -51,19 +51,19 @@ if ( ! class_exists( 'CSF_Field_sortable' ) ) {
51
 
52
  foreach ( $pre_sortby as $key => $field ) {
53
 
54
- echo '<div class="csf-sortable-item">';
55
 
56
- echo '<div class="csf-sortable-content">';
57
 
58
  $field_default = ( isset( $this->field['default'][$key] ) ) ? $this->field['default'][$key] : '';
59
  $field_value = ( isset( $this->value[$key] ) ) ? $this->value[$key] : $field_default;
60
  $unique_id = ( ! empty( $this->unique ) ) ? $this->unique .'['. $this->field['id'] .']' : $this->field['id'];
61
 
62
- CSF::field( $field, $field_value, $unique_id, 'field/sortable' );
63
 
64
  echo '</div>';
65
 
66
- echo '<div class="csf-sortable-helper"><i class="fas fa-arrows-alt"></i></div>';
67
 
68
  echo '</div>';
69
 
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Field_sortable' ) ) {
11
+ class ULF_Field_sortable extends ULF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
18
 
19
  echo $this->field_before();
20
 
21
+ echo '<div class="ulf-sortable">';
22
 
23
  $pre_sortby = array();
24
  $pre_fields = array();
51
 
52
  foreach ( $pre_sortby as $key => $field ) {
53
 
54
+ echo '<div class="ulf-sortable-item">';
55
 
56
+ echo '<div class="ulf-sortable-content">';
57
 
58
  $field_default = ( isset( $this->field['default'][$key] ) ) ? $this->field['default'][$key] : '';
59
  $field_value = ( isset( $this->value[$key] ) ) ? $this->value[$key] : $field_default;
60
  $unique_id = ( ! empty( $this->unique ) ) ? $this->unique .'['. $this->field['id'] .']' : $this->field['id'];
61
 
62
+ ULF::field( $field, $field_value, $unique_id, 'field/sortable' );
63
 
64
  echo '</div>';
65
 
66
+ echo '<div class="ulf-sortable-helper"><i class="fas fa-arrows-alt"></i></div>';
67
 
68
  echo '</div>';
69
 
admin/settings/fields/sorter/sorter.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Field_sorter' ) ) {
11
- class CSF_Field_sorter extends CSF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
@@ -18,8 +18,8 @@ if ( ! class_exists( 'CSF_Field_sorter' ) ) {
18
 
19
  $args = wp_parse_args( $this->field, array(
20
  'disabled' => true,
21
- 'enabled_title' => esc_html__( 'Enabled', 'csf' ),
22
- 'disabled_title' => esc_html__( 'Disabled', 'csf' ),
23
  ) );
24
 
25
  echo $this->field_before();
@@ -28,10 +28,10 @@ if ( ! class_exists( 'CSF_Field_sorter' ) ) {
28
  $enabled_options = ( ! empty( $this->value['enabled'] ) ) ? $this->value['enabled'] : array();
29
  $disabled_options = ( ! empty( $this->value['disabled'] ) ) ? $this->value['disabled'] : array();
30
 
31
- echo ( $args['disabled'] ) ? '<div class="csf-modules">' : '';
32
 
33
- echo ( ! empty( $args['enabled_title'] ) ) ? '<div class="csf-sorter-title">'. esc_attr( $args['enabled_title'] ) .'</div>' : '';
34
- echo '<ul class="csf-enabled">';
35
  if ( ! empty( $enabled_options ) ) {
36
  foreach ( $enabled_options as $key => $value ) {
37
  echo '<li><input type="hidden" name="'. esc_attr( $this->field_name( '[enabled]['. $key .']' ) ) .'" value="'. esc_attr( $value ) .'"/><label>'. esc_attr( $value ) .'</label></li>';
@@ -44,9 +44,9 @@ if ( ! class_exists( 'CSF_Field_sorter' ) ) {
44
 
45
  echo '</div>';
46
 
47
- echo '<div class="csf-modules">';
48
- echo ( ! empty( $args['disabled_title'] ) ) ? '<div class="csf-sorter-title">'. esc_attr( $args['disabled_title'] ) .'</div>' : '';
49
- echo '<ul class="csf-disabled">';
50
  if ( ! empty( $disabled_options ) ) {
51
  foreach ( $disabled_options as $key => $value ) {
52
  echo '<li><input type="hidden" name="'. esc_attr( $this->field_name( '[disabled]['. $key .']' ) ) .'" value="'. esc_attr( $value ) .'"/><label>'. esc_attr( $value ) .'</label></li>';
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Field_sorter' ) ) {
11
+ class ULF_Field_sorter extends ULF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
18
 
19
  $args = wp_parse_args( $this->field, array(
20
  'disabled' => true,
21
+ 'enabled_title' => esc_html__( 'Enabled', 'ulf' ),
22
+ 'disabled_title' => esc_html__( 'Disabled', 'ulf' ),
23
  ) );
24
 
25
  echo $this->field_before();
28
  $enabled_options = ( ! empty( $this->value['enabled'] ) ) ? $this->value['enabled'] : array();
29
  $disabled_options = ( ! empty( $this->value['disabled'] ) ) ? $this->value['disabled'] : array();
30
 
31
+ echo ( $args['disabled'] ) ? '<div class="ulf-modules">' : '';
32
 
33
+ echo ( ! empty( $args['enabled_title'] ) ) ? '<div class="ulf-sorter-title">'. esc_attr( $args['enabled_title'] ) .'</div>' : '';
34
+ echo '<ul class="ulf-enabled">';
35
  if ( ! empty( $enabled_options ) ) {
36
  foreach ( $enabled_options as $key => $value ) {
37
  echo '<li><input type="hidden" name="'. esc_attr( $this->field_name( '[enabled]['. $key .']' ) ) .'" value="'. esc_attr( $value ) .'"/><label>'. esc_attr( $value ) .'</label></li>';
44
 
45
  echo '</div>';
46
 
47
+ echo '<div class="ulf-modules">';
48
+ echo ( ! empty( $args['disabled_title'] ) ) ? '<div class="ulf-sorter-title">'. esc_attr( $args['disabled_title'] ) .'</div>' : '';
49
+ echo '<ul class="ulf-disabled">';
50
  if ( ! empty( $disabled_options ) ) {
51
  foreach ( $disabled_options as $key => $value ) {
52
  echo '<li><input type="hidden" name="'. esc_attr( $this->field_name( '[disabled]['. $key .']' ) ) .'" value="'. esc_attr( $value ) .'"/><label>'. esc_attr( $value ) .'</label></li>';
admin/settings/fields/spacing/spacing.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Field_spacing' ) ) {
11
- class CSF_Field_spacing extends CSF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
@@ -22,11 +22,11 @@ if ( ! class_exists( 'CSF_Field_spacing' ) ) {
22
  'bottom_icon' => '<i class="fas fa-long-arrow-alt-down"></i>',
23
  'left_icon' => '<i class="fas fa-long-arrow-alt-left"></i>',
24
  'all_icon' => '<i class="fas fa-arrows-alt"></i>',
25
- 'top_placeholder' => esc_html__( 'top', 'csf' ),
26
- 'right_placeholder' => esc_html__( 'right', 'csf' ),
27
- 'bottom_placeholder' => esc_html__( 'bottom', 'csf' ),
28
- 'left_placeholder' => esc_html__( 'left', 'csf' ),
29
- 'all_placeholder' => esc_html__( 'all', 'csf' ),
30
  'top' => true,
31
  'left' => true,
32
  'bottom' => true,
@@ -48,20 +48,20 @@ if ( ! class_exists( 'CSF_Field_spacing' ) ) {
48
 
49
  $value = wp_parse_args( $this->value, $default_values );
50
  $unit = ( count( $args['units'] ) === 1 && ! empty( $args['unit'] ) ) ? $args['units'][0] : '';
51
- $is_unit = ( ! empty( $unit ) ) ? ' csf--is-unit' : '';
52
 
53
  echo $this->field_before();
54
 
55
- echo '<div class="csf--inputs">';
56
 
57
  if ( ! empty( $args['all'] ) ) {
58
 
59
  $placeholder = ( ! empty( $args['all_placeholder'] ) ) ? ' placeholder="'. esc_attr( $args['all_placeholder'] ) .'"' : '';
60
 
61
- echo '<div class="csf--input">';
62
- echo ( ! empty( $args['all_icon'] ) ) ? '<span class="csf--label csf--icon">'. wp_kses_post( $args['all_icon'] ) .'</span>' : '';
63
- echo '<input type="number" name="'. esc_attr( $this->field_name( '[all]' ) ) .'" value="'. esc_attr( $value['all'] ) .'"'. $placeholder .' class="csf-input-number'. esc_attr( $is_unit ) .'" />';
64
- echo ( $unit ) ? '<span class="csf--label csf--unit">'. esc_attr( $args['units'][0] ) .'</span>' : '';
65
  echo '</div>';
66
 
67
  } else {
@@ -80,10 +80,10 @@ if ( ! class_exists( 'CSF_Field_spacing' ) ) {
80
 
81
  $placeholder = ( ! empty( $args[$property.'_placeholder'] ) ) ? ' placeholder="'. esc_attr( $args[$property.'_placeholder'] ) .'"' : '';
82
 
83
- echo '<div class="csf--input">';
84
- echo ( ! empty( $args[$property.'_icon'] ) ) ? '<span class="csf--label csf--icon">'. wp_kses_post( $args[$property.'_icon'] ) .'</span>' : '';
85
- echo '<input type="number" name="'. esc_attr( $this->field_name( '['. $property .']' ) ) .'" value="'. esc_attr( $value[$property] ) .'"'. $placeholder .' class="csf-input-number'. esc_attr( $is_unit ) .'" />';
86
- echo ( $unit ) ? '<span class="csf--label csf--unit">'. esc_attr( $args['units'][0] ) .'</span>' : '';
87
  echo '</div>';
88
 
89
  }
@@ -91,7 +91,7 @@ if ( ! class_exists( 'CSF_Field_spacing' ) ) {
91
  }
92
 
93
  if ( ! empty( $args['unit'] ) && ! empty( $args['show_units'] ) && count( $args['units'] ) > 1 ) {
94
- echo '<div class="csf--input">';
95
  echo '<select name="'. esc_attr( $this->field_name( '[unit]' ) ) .'">';
96
  foreach ( $args['units'] as $unit ) {
97
  $selected = ( $value['unit'] === $unit ) ? ' selected' : '';
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Field_spacing' ) ) {
11
+ class ULF_Field_spacing extends ULF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
22
  'bottom_icon' => '<i class="fas fa-long-arrow-alt-down"></i>',
23
  'left_icon' => '<i class="fas fa-long-arrow-alt-left"></i>',
24
  'all_icon' => '<i class="fas fa-arrows-alt"></i>',
25
+ 'top_placeholder' => esc_html__( 'top', 'ulf' ),
26
+ 'right_placeholder' => esc_html__( 'right', 'ulf' ),
27
+ 'bottom_placeholder' => esc_html__( 'bottom', 'ulf' ),
28
+ 'left_placeholder' => esc_html__( 'left', 'ulf' ),
29
+ 'all_placeholder' => esc_html__( 'all', 'ulf' ),
30
  'top' => true,
31
  'left' => true,
32
  'bottom' => true,
48
 
49
  $value = wp_parse_args( $this->value, $default_values );
50
  $unit = ( count( $args['units'] ) === 1 && ! empty( $args['unit'] ) ) ? $args['units'][0] : '';
51
+ $is_unit = ( ! empty( $unit ) ) ? ' ulf--is-unit' : '';
52
 
53
  echo $this->field_before();
54
 
55
+ echo '<div class="ulf--inputs">';
56
 
57
  if ( ! empty( $args['all'] ) ) {
58
 
59
  $placeholder = ( ! empty( $args['all_placeholder'] ) ) ? ' placeholder="'. esc_attr( $args['all_placeholder'] ) .'"' : '';
60
 
61
+ echo '<div class="ulf--input">';
62
+ echo ( ! empty( $args['all_icon'] ) ) ? '<span class="ulf--label ulf--icon">'. wp_kses_post( $args['all_icon'] ) .'</span>' : '';
63
+ echo '<input type="number" name="'. esc_attr( $this->field_name( '[all]' ) ) .'" value="'. esc_attr( $value['all'] ) .'"'. $placeholder .' class="ulf-input-number'. esc_attr( $is_unit ) .'" />';
64
+ echo ( $unit ) ? '<span class="ulf--label ulf--unit">'. esc_attr( $args['units'][0] ) .'</span>' : '';
65
  echo '</div>';
66
 
67
  } else {
80
 
81
  $placeholder = ( ! empty( $args[$property.'_placeholder'] ) ) ? ' placeholder="'. esc_attr( $args[$property.'_placeholder'] ) .'"' : '';
82
 
83
+ echo '<div class="ulf--input">';
84
+ echo ( ! empty( $args[$property.'_icon'] ) ) ? '<span class="ulf--label ulf--icon">'. wp_kses_post( $args[$property.'_icon'] ) .'</span>' : '';
85
+ echo '<input type="number" name="'. esc_attr( $this->field_name( '['. $property .']' ) ) .'" value="'. esc_attr( $value[$property] ) .'"'. $placeholder .' class="ulf-input-number'. esc_attr( $is_unit ) .'" />';
86
+ echo ( $unit ) ? '<span class="ulf--label ulf--unit">'. esc_attr( $args['units'][0] ) .'</span>' : '';
87
  echo '</div>';
88
 
89
  }
91
  }
92
 
93
  if ( ! empty( $args['unit'] ) && ! empty( $args['show_units'] ) && count( $args['units'] ) > 1 ) {
94
+ echo '<div class="ulf--input">';
95
  echo '<select name="'. esc_attr( $this->field_name( '[unit]' ) ) .'">';
96
  foreach ( $args['units'] as $unit ) {
97
  $selected = ( $value['unit'] === $unit ) ? ' selected' : '';
admin/settings/fields/spinner/spinner.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Field_spinner' ) ) {
11
- class CSF_Field_spinner extends CSF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
@@ -25,7 +25,7 @@ if ( ! class_exists( 'CSF_Field_spinner' ) ) {
25
 
26
  echo $this->field_before();
27
 
28
- echo '<div class="csf--spin"><input type="number" name="'. esc_attr( $this->field_name() ) .'" value="'. esc_attr( $this->value ) .'"'. $this->field_attributes( array( 'class' => 'csf-input-number' ) ) .' data-max="'. esc_attr( $args['max'] ) .'" data-min="'. esc_attr( $args['min'] ) .'" data-step="'. esc_attr( $args['step'] ) .'" data-unit="'. esc_attr( $args['unit'] ) .'"/></div>';
29
 
30
  echo $this->field_after();
31
 
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Field_spinner' ) ) {
11
+ class ULF_Field_spinner extends ULF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
25
 
26
  echo $this->field_before();
27
 
28
+ echo '<div class="ulf--spin"><input type="number" name="'. esc_attr( $this->field_name() ) .'" value="'. esc_attr( $this->value ) .'"'. $this->field_attributes( array( 'class' => 'ulf-input-number' ) ) .' data-max="'. esc_attr( $args['max'] ) .'" data-min="'. esc_attr( $args['min'] ) .'" data-step="'. esc_attr( $args['step'] ) .'" data-unit="'. esc_attr( $args['unit'] ) .'"/></div>';
29
 
30
  echo $this->field_after();
31
 
admin/settings/fields/subheading/subheading.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Field_subheading' ) ) {
11
- class CSF_Field_subheading extends CSF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Field_subheading' ) ) {
11
+ class ULF_Field_subheading extends ULF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
admin/settings/fields/submessage/submessage.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Field_submessage' ) ) {
11
- class CSF_Field_submessage extends CSF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
@@ -18,7 +18,7 @@ if ( ! class_exists( 'CSF_Field_submessage' ) ) {
18
 
19
  $style = ( ! empty( $this->field['style'] ) ) ? $this->field['style'] : 'normal';
20
 
21
- echo '<div class="csf-submessage csf-submessage-'. esc_attr( $style ) .'">'. wp_kses_post( $this->field['content'] ) .'</div>';
22
 
23
  }
24
 
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Field_submessage' ) ) {
11
+ class ULF_Field_submessage extends ULF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
18
 
19
  $style = ( ! empty( $this->field['style'] ) ) ? $this->field['style'] : 'normal';
20
 
21
+ echo '<div class="ulf-submessage ulf-submessage-'. esc_attr( $style ) .'">'. wp_kses_post( $this->field['content'] ) .'</div>';
22
 
23
  }
24
 
admin/settings/fields/switcher/switcher.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Field_switcher' ) ) {
11
- class CSF_Field_switcher extends CSF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
@@ -16,21 +16,21 @@ if ( ! class_exists( 'CSF_Field_switcher' ) ) {
16
 
17
  public function render() {
18
 
19
- $active = ( ! empty( $this->value ) ) ? ' csf--active' : '';
20
- $text_on = ( ! empty( $this->field['text_on'] ) ) ? $this->field['text_on'] : esc_html__( 'On', 'csf' );
21
- $text_off = ( ! empty( $this->field['text_off'] ) ) ? $this->field['text_off'] : esc_html__( 'Off', 'csf' );
22
  $text_width = ( ! empty( $this->field['text_width'] ) ) ? ' style="width: '. esc_attr( $this->field['text_width'] ) .'px;"': '';
23
 
24
  echo $this->field_before();
25
 
26
- echo '<div class="csf--switcher'. esc_attr( $active ) .'"'. $text_width .'>';
27
- echo '<span class="csf--on">'. esc_attr( $text_on ) .'</span>';
28
- echo '<span class="csf--off">'. esc_attr( $text_off ) .'</span>';
29
- echo '<span class="csf--ball"></span>';
30
  echo '<input type="text" name="'. esc_attr( $this->field_name() ) .'" value="'. esc_attr( $this->value ) .'"'. $this->field_attributes() .' />';
31
  echo '</div>';
32
 
33
- echo ( ! empty( $this->field['label'] ) ) ? '<span class="csf--label">'. esc_attr( $this->field['label'] ) . '</span>' : '';
34
 
35
  echo $this->field_after();
36
 
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Field_switcher' ) ) {
11
+ class ULF_Field_switcher extends ULF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
16
 
17
  public function render() {
18
 
19
+ $active = ( ! empty( $this->value ) ) ? ' ulf--active' : '';
20
+ $text_on = ( ! empty( $this->field['text_on'] ) ) ? $this->field['text_on'] : esc_html__( 'On', 'ulf' );
21
+ $text_off = ( ! empty( $this->field['text_off'] ) ) ? $this->field['text_off'] : esc_html__( 'Off', 'ulf' );
22
  $text_width = ( ! empty( $this->field['text_width'] ) ) ? ' style="width: '. esc_attr( $this->field['text_width'] ) .'px;"': '';
23
 
24
  echo $this->field_before();
25
 
26
+ echo '<div class="ulf--switcher'. esc_attr( $active ) .'"'. $text_width .'>';
27
+ echo '<span class="ulf--on">'. esc_attr( $text_on ) .'</span>';
28
+ echo '<span class="ulf--off">'. esc_attr( $text_off ) .'</span>';
29
+ echo '<span class="ulf--ball"></span>';
30
  echo '<input type="text" name="'. esc_attr( $this->field_name() ) .'" value="'. esc_attr( $this->value ) .'"'. $this->field_attributes() .' />';
31
  echo '</div>';
32
 
33
+ echo ( ! empty( $this->field['label'] ) ) ? '<span class="ulf--label">'. esc_attr( $this->field['label'] ) . '</span>' : '';
34
 
35
  echo $this->field_after();
36
 
admin/settings/fields/tabbed/tabbed.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Field_tabbed' ) ) {
11
- class CSF_Field_tabbed extends CSF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
@@ -20,23 +20,23 @@ if ( ! class_exists( 'CSF_Field_tabbed' ) ) {
20
 
21
  echo $this->field_before();
22
 
23
- echo '<div class="csf-tabbed-nav">';
24
  foreach ( $this->field['tabs'] as $key => $tab ) {
25
 
26
- $tabbed_icon = ( ! empty( $tab['icon'] ) ) ? '<i class="csf--icon '. esc_attr( $tab['icon'] ) .'"></i>' : '';
27
- $tabbed_active = ( empty( $key ) ) ? 'csf-tabbed-active' : '';
28
 
29
  echo '<a href="#" class="'. esc_attr( $tabbed_active ) .'"">'. $tabbed_icon . esc_attr( $tab['title'] ) .'</a>';
30
 
31
  }
32
  echo '</div>';
33
 
34
- echo '<div class="csf-tabbed-contents">';
35
  foreach ( $this->field['tabs'] as $key => $tab ) {
36
 
37
  $tabbed_hidden = ( ! empty( $key ) ) ? ' hidden' : '';
38
 
39
- echo '<div class="csf-tabbed-content'. esc_attr( $tabbed_hidden ) .'">';
40
 
41
  foreach ( $tab['fields'] as $field ) {
42
 
@@ -47,7 +47,7 @@ if ( ! class_exists( 'CSF_Field_tabbed' ) ) {
47
  $field_value = ( isset( $this->value[$field_id] ) ) ? $this->value[$field_id] : $field_default;
48
  $unique_id = ( ! empty( $this->unique ) ) ? $this->unique .'['. $this->field['id'] .']' : $this->field['id'];
49
 
50
- CSF::field( $field, $field_value, $unique_id, 'field/tabbed' );
51
 
52
  }
53
 
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Field_tabbed' ) ) {
11
+ class ULF_Field_tabbed extends ULF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
20
 
21
  echo $this->field_before();
22
 
23
+ echo '<div class="ulf-tabbed-nav">';
24
  foreach ( $this->field['tabs'] as $key => $tab ) {
25
 
26
+ $tabbed_icon = ( ! empty( $tab['icon'] ) ) ? '<i class="ulf--icon '. esc_attr( $tab['icon'] ) .'"></i>' : '';
27
+ $tabbed_active = ( empty( $key ) ) ? 'ulf-tabbed-active' : '';
28
 
29
  echo '<a href="#" class="'. esc_attr( $tabbed_active ) .'"">'. $tabbed_icon . esc_attr( $tab['title'] ) .'</a>';
30
 
31
  }
32
  echo '</div>';
33
 
34
+ echo '<div class="ulf-tabbed-contents">';
35
  foreach ( $this->field['tabs'] as $key => $tab ) {
36
 
37
  $tabbed_hidden = ( ! empty( $key ) ) ? ' hidden' : '';
38
 
39
+ echo '<div class="ulf-tabbed-content'. esc_attr( $tabbed_hidden ) .'">';
40
 
41
  foreach ( $tab['fields'] as $field ) {
42
 
47
  $field_value = ( isset( $this->value[$field_id] ) ) ? $this->value[$field_id] : $field_default;
48
  $unique_id = ( ! empty( $this->unique ) ) ? $this->unique .'['. $this->field['id'] .']' : $this->field['id'];
49
 
50
+ ULF::field( $field, $field_value, $unique_id, 'field/tabbed' );
51
 
52
  }
53
 
admin/settings/fields/text/text.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Field_text' ) ) {
11
- class CSF_Field_text extends CSF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Field_text' ) ) {
11
+ class ULF_Field_text extends ULF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
admin/settings/fields/textarea/textarea.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Field_textarea' ) ) {
11
- class CSF_Field_textarea extends CSF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
@@ -31,12 +31,12 @@ if ( ! class_exists( 'CSF_Field_textarea' ) ) {
31
 
32
  foreach ( $shortcoder as $shortcode_id ) {
33
 
34
- if ( isset( CSF::$args['shortcode_options'][$shortcode_id] ) ) {
35
 
36
- $setup_args = CSF::$args['shortcode_options'][$shortcode_id];
37
- $button_title = ( ! empty( $setup_args['button_title'] ) ) ? $setup_args['button_title'] : esc_html__( 'Add Shortcode', 'csf' );
38
 
39
- echo '<a href="#" class="button button-primary csf-shortcode-button" data-modal-id="'. esc_attr( $shortcode_id ) .'">'. wp_kses_post( $button_title ) .'</a>';
40
 
41
  }
42
 
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Field_textarea' ) ) {
11
+ class ULF_Field_textarea extends ULF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
31
 
32
  foreach ( $shortcoder as $shortcode_id ) {
33
 
34
+ if ( isset( ULF::$args['shortcode_options'][$shortcode_id] ) ) {
35
 
36
+ $setup_args = ULF::$args['shortcode_options'][$shortcode_id];
37
+ $button_title = ( ! empty( $setup_args['button_title'] ) ) ? $setup_args['button_title'] : esc_html__( 'Add Shortcode', 'ulf' );
38
 
39
+ echo '<a href="#" class="button button-primary ulf-shortcode-button" data-modal-id="'. esc_attr( $shortcode_id ) .'">'. wp_kses_post( $button_title ) .'</a>';
40
 
41
  }
42
 
admin/settings/fields/typography/google-fonts.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php if ( ! defined( 'ABSPATH' ) ) { die; } // Cannot access directly.
2
 
3
- if ( ! function_exists( 'csf_get_google_fonts' ) ) {
4
- function csf_get_google_fonts() {
5
  return [
6
  'ABeeZee'=>[['normal','italic'],['latin']],
7
  'Abel'=>[['normal'],['latin']],
1
  <?php if ( ! defined( 'ABSPATH' ) ) { die; } // Cannot access directly.
2
 
3
+ if ( ! function_exists( 'ulf_get_google_fonts' ) ) {
4
+ function ulf_get_google_fonts() {
5
  return [
6
  'ABeeZee'=>[['normal','italic'],['latin']],
7
  'Abel'=>[['normal'],['latin']],
admin/settings/fields/typography/typography.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Field_typography' ) ) {
11
- class CSF_Field_typography extends CSF_Fields {
12
 
13
  public $chosen = false;
14
 
@@ -71,28 +71,28 @@ if ( ! class_exists( 'CSF_Field_typography' ) ) {
71
  $default_value = ( ! empty( $this->field['default'] ) ) ? wp_parse_args( $this->field['default'], $default_value ) : $default_value;
72
  $this->value = wp_parse_args( $this->value, $default_value );
73
  $this->chosen = $args['chosen'];
74
- $chosen_class = ( $this->chosen ) ? ' csf--chosen' : '';
75
  $line_height_unit = ( ! empty( $args['line_height_unit'] ) ) ? $args['line_height_unit'] : $args['unit'];
76
 
77
- echo '<div class="csf--typography'. esc_attr( $chosen_class ) .'" data-unit="'. esc_attr( $args['unit'] ) .'" data-line-height-unit="'. esc_attr( $line_height_unit ) .'" data-exclude="'. esc_attr( $args['exclude'] ) .'">';
78
 
79
- echo '<div class="csf--blocks csf--blocks-selects">';
80
 
81
  //
82
  // Font Family
83
  if ( ! empty( $args['font_family'] ) ) {
84
- echo '<div class="csf--block">';
85
- echo '<div class="csf--title">'. esc_html__( 'Font Family', 'csf' ) .'</div>';
86
- echo $this->create_select( array( $this->value['font-family'] => $this->value['font-family'] ), 'font-family', esc_html__( 'Select a font', 'csf' ) );
87
  echo '</div>';
88
  }
89
 
90
  //
91
  // Backup Font Family
92
  if ( ! empty( $args['backup_font_family'] ) ) {
93
- echo '<div class="csf--block csf--block-backup-font-family hidden">';
94
- echo '<div class="csf--title">'. esc_html__( 'Backup Font Family', 'csf' ) .'</div>';
95
- echo $this->create_select( apply_filters( 'csf_field_typography_backup_font_family', array(
96
  'Arial, Helvetica, sans-serif',
97
  "'Arial Black', Gadget, sans-serif",
98
  "'Comic Sans MS', cursive, sans-serif",
@@ -105,7 +105,7 @@ if ( ! class_exists( 'CSF_Field_typography' ) ) {
105
  "'Lucida Console', Monaco, monospace",
106
  'Georgia, serif',
107
  'Palatino Linotype'
108
- ) ), 'backup-font-family', esc_html__( 'Default', 'csf' ) );
109
  echo '</div>';
110
  }
111
 
@@ -115,23 +115,23 @@ if ( ! class_exists( 'CSF_Field_typography' ) ) {
115
 
116
  //
117
  // Font Style Select
118
- echo '<div class="csf--block csf--block-font-style hidden">';
119
- echo '<div class="csf--title">'. esc_html__( 'Font Style', 'csf') .'</div>';
120
- echo '<select class="csf--font-style-select" data-placeholder="Default">';
121
- echo '<option value="">'. ( ! $this->chosen ? esc_html__( 'Default', 'csf' ) : '' ) .'</option>';
122
  if ( ! empty( $this->value['font-weight'] ) || ! empty( $this->value['font-style'] ) ) {
123
  echo '<option value="'. esc_attr( strtolower( $this->value['font-weight'] . $this->value['font-style'] ) ) .'" selected></option>';
124
  }
125
  echo '</select>';
126
- echo '<input type="hidden" name="'. esc_attr( $this->field_name( '[font-weight]' ) ) .'" class="csf--font-weight" value="'. esc_attr( $this->value['font-weight'] ) .'" />';
127
- echo '<input type="hidden" name="'. esc_attr( $this->field_name( '[font-style]' ) ) .'" class="csf--font-style" value="'. esc_attr( $this->value['font-style'] ) .'" />';
128
 
129
  //
130
  // Extra Font Style Select
131
  if ( ! empty( $args['extra_styles'] ) ) {
132
- echo '<div class="csf--block-extra-styles hidden">';
133
- echo ( ! $this->chosen ) ? '<div class="csf--title">'. esc_html__( 'Load Extra Styles', 'csf' ) .'</div>' : '';
134
- $placeholder = ( $this->chosen ) ? esc_html__( 'Load Extra Styles', 'csf' ) : esc_html__( 'Default', 'csf' );
135
  echo $this->create_select( $this->value['extra-styles'], 'extra-styles', $placeholder, true );
136
  echo '</div>';
137
  }
@@ -143,86 +143,86 @@ if ( ! class_exists( 'CSF_Field_typography' ) ) {
143
  //
144
  // Subset
145
  if ( ! empty( $args['subset'] ) ) {
146
- echo '<div class="csf--block csf--block-subset hidden">';
147
- echo '<div class="csf--title">'. esc_html__( 'Subset', 'csf' ) .'</div>';
148
  $subset = ( is_array( $this->value['subset'] ) ) ? $this->value['subset'] : array_filter( (array) $this->value['subset'] );
149
- echo $this->create_select( $subset, 'subset', esc_html__( 'Default', 'csf' ), $args['multi_subset'] );
150
  echo '</div>';
151
  }
152
 
153
  //
154
  // Text Align
155
  if ( ! empty( $args['text_align'] ) ) {
156
- echo '<div class="csf--block">';
157
- echo '<div class="csf--title">'. esc_html__( 'Text Align', 'csf' ) .'</div>';
158
  echo $this->create_select( array(
159
- 'inherit' => esc_html__( 'Inherit', 'csf' ),
160
- 'left' => esc_html__( 'Left', 'csf' ),
161
- 'center' => esc_html__( 'Center', 'csf' ),
162
- 'right' => esc_html__( 'Right', 'csf' ),
163
- 'justify' => esc_html__( 'Justify', 'csf' ),
164
- 'initial' => esc_html__( 'Initial', 'csf' )
165
- ), 'text-align', esc_html__( 'Default', 'csf' ) );
166
  echo '</div>';
167
  }
168
 
169
  //
170
  // Font Variant
171
  if ( ! empty( $args['font_variant'] ) ) {
172
- echo '<div class="csf--block">';
173
- echo '<div class="csf--title">'. esc_html__( 'Font Variant', 'csf' ) .'</div>';
174
  echo $this->create_select( array(
175
- 'normal' => esc_html__( 'Normal', 'csf' ),
176
- 'small-caps' => esc_html__( 'Small Caps', 'csf' ),
177
- 'all-small-caps' => esc_html__( 'All Small Caps', 'csf' )
178
- ), 'font-variant', esc_html__( 'Default', 'csf' ) );
179
  echo '</div>';
180
  }
181
 
182
  //
183
  // Text Transform
184
  if ( ! empty( $args['text_transform'] ) ) {
185
- echo '<div class="csf--block">';
186
- echo '<div class="csf--title">'. esc_html__( 'Text Transform', 'csf' ) .'</div>';
187
  echo $this->create_select( array(
188
- 'none' => esc_html__( 'None', 'csf' ),
189
- 'capitalize' => esc_html__( 'Capitalize', 'csf' ),
190
- 'uppercase' => esc_html__( 'Uppercase', 'csf' ),
191
- 'lowercase' => esc_html__( 'Lowercase', 'csf' )
192
- ), 'text-transform', esc_html__( 'Default', 'csf' ) );
193
  echo '</div>';
194
  }
195
 
196
  //
197
  // Text Decoration
198
  if ( ! empty( $args['text_decoration'] ) ) {
199
- echo '<div class="csf--block">';
200
- echo '<div class="csf--title">'. esc_html__( 'Text Decoration', 'csf' ) .'</div>';
201
  echo $this->create_select( array(
202
- 'none' => esc_html__( 'None', 'csf' ),
203
- 'underline' => esc_html__( 'Solid', 'csf' ),
204
- 'underline double' => esc_html__( 'Double', 'csf' ),
205
- 'underline dotted' => esc_html__( 'Dotted', 'csf' ),
206
- 'underline dashed' => esc_html__( 'Dashed', 'csf' ),
207
- 'underline wavy' => esc_html__( 'Wavy', 'csf' ),
208
- 'underline overline' => esc_html__( 'Overline', 'csf' ),
209
- 'line-through' => esc_html__( 'Line-through', 'csf' )
210
- ), 'text-decoration', esc_html__( 'Default', 'csf' ) );
211
  echo '</div>';
212
  }
213
 
214
  echo '</div>';
215
 
216
- echo '<div class="csf--blocks csf--blocks-inputs">';
217
 
218
  //
219
  // Font Size
220
  if ( ! empty( $args['font_size'] ) ) {
221
- echo '<div class="csf--block">';
222
- echo '<div class="csf--title">'. esc_html__( 'Font Size', 'csf' ) .'</div>';
223
- echo '<div class="csf--input-wrap">';
224
- echo '<input type="number" name="'. esc_attr( $this->field_name( '[font-size]' ) ) .'" class="csf--font-size csf--input csf-input-number" value="'. esc_attr( $this->value['font-size'] ) .'" />';
225
- echo '<span class="csf--unit">'. esc_attr( $args['unit'] ) .'</span>';
226
  echo '</div>';
227
  echo '</div>';
228
  }
@@ -230,11 +230,11 @@ if ( ! class_exists( 'CSF_Field_typography' ) ) {
230
  //
231
  // Line Height
232
  if ( ! empty( $args['line_height'] ) ) {
233
- echo '<div class="csf--block">';
234
- echo '<div class="csf--title">'. esc_html__( 'Line Height', 'csf' ) .'</div>';
235
- echo '<div class="csf--input-wrap">';
236
- echo '<input type="number" name="'. esc_attr( $this->field_name( '[line-height]' ) ) .'" class="csf--line-height csf--input csf-input-number" value="'. esc_attr( $this->value['line-height'] ) .'" />';
237
- echo '<span class="csf--unit">'. esc_attr( $line_height_unit ) .'</span>';
238
  echo '</div>';
239
  echo '</div>';
240
  }
@@ -242,11 +242,11 @@ if ( ! class_exists( 'CSF_Field_typography' ) ) {
242
  //
243
  // Letter Spacing
244
  if ( ! empty( $args['letter_spacing'] ) ) {
245
- echo '<div class="csf--block">';
246
- echo '<div class="csf--title">'. esc_html__( 'Letter Spacing', 'csf' ) .'</div>';
247
- echo '<div class="csf--input-wrap">';
248
- echo '<input type="number" name="'. esc_attr( $this->field_name( '[letter-spacing]' ) ) .'" class="csf--letter-spacing csf--input csf-input-number" value="'. esc_attr( $this->value['letter-spacing'] ) .'" />';
249
- echo '<span class="csf--unit">'. esc_attr( $args['unit'] ) .'</span>';
250
  echo '</div>';
251
  echo '</div>';
252
  }
@@ -254,11 +254,11 @@ if ( ! class_exists( 'CSF_Field_typography' ) ) {
254
  //
255
  // Word Spacing
256
  if ( ! empty( $args['word_spacing'] ) ) {
257
- echo '<div class="csf--block">';
258
- echo '<div class="csf--title">'. esc_html__( 'Word Spacing', 'csf' ) .'</div>';
259
- echo '<div class="csf--input-wrap">';
260
- echo '<input type="number" name="'. esc_attr( $this->field_name( '[word-spacing]' ) ) .'" class="csf--word-spacing csf--input csf-input-number" value="'. esc_attr( $this->value['word-spacing'] ) .'" />';
261
- echo '<span class="csf--unit">'. esc_attr( $args['unit'] ) .'</span>';
262
  echo '</div>';
263
  echo '</div>';
264
  }
@@ -269,10 +269,10 @@ if ( ! class_exists( 'CSF_Field_typography' ) ) {
269
  // Font Color
270
  if ( ! empty( $args['color'] ) ) {
271
  $default_color_attr = ( ! empty( $default_value['color'] ) ) ? ' data-default-color="'. esc_attr( $default_value['color'] ) .'"' : '';
272
- echo '<div class="csf--block csf--block-font-color">';
273
- echo '<div class="csf--title">'. esc_html__( 'Font Color', 'csf' ) .'</div>';
274
- echo '<div class="csf-field-color">';
275
- echo '<input type="text" name="'. esc_attr( $this->field_name( '[color]' ) ) .'" class="csf-color csf--color" value="'. esc_attr( $this->value['color'] ) .'"'. $default_color_attr .' />';
276
  echo '</div>';
277
  echo '</div>';
278
  }
@@ -280,9 +280,9 @@ if ( ! class_exists( 'CSF_Field_typography' ) ) {
280
  //
281
  // Custom style
282
  if ( ! empty( $args['custom_style'] ) ) {
283
- echo '<div class="csf--block csf--block-custom-style">';
284
- echo '<div class="csf--title">'. esc_html__( 'Custom Style', 'csf' ) .'</div>';
285
- echo '<textarea name="'. esc_attr( $this->field_name( '[custom-style]' ) ) .'" class="csf--custom-style">'. esc_attr( $this->value['custom-style'] ) .'</textarea>';
286
  echo '</div>';
287
  }
288
 
@@ -291,14 +291,14 @@ if ( ! class_exists( 'CSF_Field_typography' ) ) {
291
  $always_preview = ( $args['preview'] !== 'always' ) ? ' hidden' : '';
292
 
293
  if ( ! empty( $args['preview'] ) ) {
294
- echo '<div class="csf--block csf--block-preview'. esc_attr( $always_preview ) .'">';
295
- echo '<div class="csf--toggle fas fa-toggle-off"></div>';
296
- echo '<div class="csf--preview">'. esc_attr( $args['preview_text'] ) .'</div>';
297
  echo '</div>';
298
  }
299
 
300
- echo '<input type="hidden" name="'. esc_attr( $this->field_name( '[type]' ) ) .'" class="csf--type" value="'. esc_attr( $this->value['type'] ) .'" />';
301
- echo '<input type="hidden" name="'. esc_attr( $this->field_name( '[unit]' ) ) .'" class="csf--unit-save" value="'. esc_attr( $args['unit'] ) .'" />';
302
 
303
  echo '</div>';
304
 
@@ -312,7 +312,7 @@ if ( ! class_exists( 'CSF_Field_typography' ) ) {
312
  $multiple_attr = ( $is_multiple ) ? ' multiple data-multiple="true"' : '';
313
  $chosen_rtl = ( $this->chosen && is_rtl() ) ? ' chosen-rtl' : '';
314
 
315
- $output = '<select name="'. esc_attr( $this->field_name( '['. $name .']'. $multiple_name ) ) .'" class="csf--'. esc_attr( $name ) . esc_attr( $chosen_rtl ) .'" data-placeholder="'. esc_attr( $placeholder ) .'"'. $multiple_attr .'>';
316
  $output .= ( ! empty( $placeholder ) ) ? '<option value="">'. esc_attr( ( ! $this->chosen ) ? $placeholder : '' ) .'</option>' : '';
317
 
318
  if ( ! empty( $options ) ) {
@@ -336,26 +336,26 @@ if ( ! class_exists( 'CSF_Field_typography' ) ) {
336
 
337
  public function enqueue() {
338
 
339
- if ( ! wp_script_is( 'csf-webfontloader' ) ) {
340
 
341
- CSF::include_plugin_file( 'fields/typography/google-fonts.php' );
342
 
343
- wp_enqueue_script( 'csf-webfontloader', 'https://cdn.jsdelivr.net/npm/webfontloader@1.6.28/webfontloader.min.js', array( 'csf' ), '1.6.28', true );
344
 
345
  $webfonts = array();
346
 
347
- $customwebfonts = apply_filters( 'csf_field_typography_customwebfonts', array() );
348
 
349
  if ( ! empty( $customwebfonts ) ) {
350
  $webfonts['custom'] = array(
351
- 'label' => esc_html__( 'Custom Web Fonts', 'csf' ),
352
  'fonts' => $customwebfonts
353
  );
354
  }
355
 
356
  $webfonts['safe'] = array(
357
- 'label' => esc_html__( 'Safe Web Fonts', 'csf' ),
358
- 'fonts' => apply_filters( 'csf_field_typography_safewebfonts', array(
359
  'Arial',
360
  'Arial Black',
361
  'Helvetica',
@@ -374,13 +374,13 @@ if ( ! class_exists( 'CSF_Field_typography' ) ) {
374
  ) );
375
 
376
  $webfonts['google'] = array(
377
- 'label' => esc_html__( 'Google Web Fonts', 'csf' ),
378
- 'fonts' => apply_filters( 'csf_field_typography_googlewebfonts', csf_get_google_fonts()
379
  ) );
380
 
381
- $defaultstyles = apply_filters( 'csf_field_typography_defaultstyles', array( 'normal', 'italic', '700', '700italic' ) );
382
 
383
- $googlestyles = apply_filters( 'csf_field_typography_googlestyles', array(
384
  '100' => 'Thin 100',
385
  '100italic' => 'Thin 100 Italic',
386
  '200' => 'Extra-Light 200',
@@ -401,9 +401,9 @@ if ( ! class_exists( 'CSF_Field_typography' ) ) {
401
  '900italic' => 'Black 900 Italic'
402
  ) );
403
 
404
- $webfonts = apply_filters( 'csf_field_typography_webfonts', $webfonts );
405
 
406
- wp_localize_script( 'csf', 'csf_typography_json', array(
407
  'webfonts' => $webfonts,
408
  'defaultstyles' => $defaultstyles,
409
  'googlestyles' => $googlestyles
@@ -420,8 +420,8 @@ if ( ! class_exists( 'CSF_Field_typography' ) ) {
420
  if ( ! empty( $this->value['type'] ) ) {
421
  $is_google = ( $this->value['type'] === 'google' ) ? true : false;
422
  } else {
423
- CSF::include_plugin_file( 'fields/typography/google-fonts.php' );
424
- $is_google = ( array_key_exists( $this->value['font-family'], csf_get_google_fonts() ) ) ? true : false;
425
  }
426
 
427
  if ( $is_google ) {
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Field_typography' ) ) {
11
+ class ULF_Field_typography extends ULF_Fields {
12
 
13
  public $chosen = false;
14
 
71
  $default_value = ( ! empty( $this->field['default'] ) ) ? wp_parse_args( $this->field['default'], $default_value ) : $default_value;
72
  $this->value = wp_parse_args( $this->value, $default_value );
73
  $this->chosen = $args['chosen'];
74
+ $chosen_class = ( $this->chosen ) ? ' ulf--chosen' : '';
75
  $line_height_unit = ( ! empty( $args['line_height_unit'] ) ) ? $args['line_height_unit'] : $args['unit'];
76
 
77
+ echo '<div class="ulf--typography'. esc_attr( $chosen_class ) .'" data-unit="'. esc_attr( $args['unit'] ) .'" data-line-height-unit="'. esc_attr( $line_height_unit ) .'" data-exclude="'. esc_attr( $args['exclude'] ) .'">';
78
 
79
+ echo '<div class="ulf--blocks ulf--blocks-selects">';
80
 
81
  //
82
  // Font Family
83
  if ( ! empty( $args['font_family'] ) ) {
84
+ echo '<div class="ulf--block">';
85
+ echo '<div class="ulf--title">'. esc_html__( 'Font Family', 'ulf' ) .'</div>';
86
+ echo $this->create_select( array( $this->value['font-family'] => $this->value['font-family'] ), 'font-family', esc_html__( 'Select a font', 'ulf' ) );
87
  echo '</div>';
88
  }
89
 
90
  //
91
  // Backup Font Family
92
  if ( ! empty( $args['backup_font_family'] ) ) {
93
+ echo '<div class="ulf--block ulf--block-backup-font-family hidden">';
94
+ echo '<div class="ulf--title">'. esc_html__( 'Backup Font Family', 'ulf' ) .'</div>';
95
+ echo $this->create_select( apply_filters( 'ulf_field_typography_backup_font_family', array(
96
  'Arial, Helvetica, sans-serif',
97
  "'Arial Black', Gadget, sans-serif",
98
  "'Comic Sans MS', cursive, sans-serif",
105
  "'Lucida Console', Monaco, monospace",
106
  'Georgia, serif',
107
  'Palatino Linotype'
108
+ ) ), 'backup-font-family', esc_html__( 'Default', 'ulf' ) );
109
  echo '</div>';
110
  }
111
 
115
 
116
  //
117
  // Font Style Select
118
+ echo '<div class="ulf--block ulf--block-font-style hidden">';
119
+ echo '<div class="ulf--title">'. esc_html__( 'Font Style', 'ulf') .'</div>';
120
+ echo '<select class="ulf--font-style-select" data-placeholder="Default">';
121
+ echo '<option value="">'. ( ! $this->chosen ? esc_html__( 'Default', 'ulf' ) : '' ) .'</option>';
122
  if ( ! empty( $this->value['font-weight'] ) || ! empty( $this->value['font-style'] ) ) {
123
  echo '<option value="'. esc_attr( strtolower( $this->value['font-weight'] . $this->value['font-style'] ) ) .'" selected></option>';
124
  }
125
  echo '</select>';
126
+ echo '<input type="hidden" name="'. esc_attr( $this->field_name( '[font-weight]' ) ) .'" class="ulf--font-weight" value="'. esc_attr( $this->value['font-weight'] ) .'" />';
127
+ echo '<input type="hidden" name="'. esc_attr( $this->field_name( '[font-style]' ) ) .'" class="ulf--font-style" value="'. esc_attr( $this->value['font-style'] ) .'" />';
128
 
129
  //
130
  // Extra Font Style Select
131
  if ( ! empty( $args['extra_styles'] ) ) {
132
+ echo '<div class="ulf--block-extra-styles hidden">';
133
+ echo ( ! $this->chosen ) ? '<div class="ulf--title">'. esc_html__( 'Load Extra Styles', 'ulf' ) .'</div>' : '';
134
+ $placeholder = ( $this->chosen ) ? esc_html__( 'Load Extra Styles', 'ulf' ) : esc_html__( 'Default', 'ulf' );
135
  echo $this->create_select( $this->value['extra-styles'], 'extra-styles', $placeholder, true );
136
  echo '</div>';
137
  }
143
  //
144
  // Subset
145
  if ( ! empty( $args['subset'] ) ) {
146
+ echo '<div class="ulf--block ulf--block-subset hidden">';
147
+ echo '<div class="ulf--title">'. esc_html__( 'Subset', 'ulf' ) .'</div>';
148
  $subset = ( is_array( $this->value['subset'] ) ) ? $this->value['subset'] : array_filter( (array) $this->value['subset'] );
149
+ echo $this->create_select( $subset, 'subset', esc_html__( 'Default', 'ulf' ), $args['multi_subset'] );
150
  echo '</div>';
151
  }
152
 
153
  //
154
  // Text Align
155
  if ( ! empty( $args['text_align'] ) ) {
156
+ echo '<div class="ulf--block">';
157
+ echo '<div class="ulf--title">'. esc_html__( 'Text Align', 'ulf' ) .'</div>';
158
  echo $this->create_select( array(
159
+ 'inherit' => esc_html__( 'Inherit', 'ulf' ),
160
+ 'left' => esc_html__( 'Left', 'ulf' ),
161
+ 'center' => esc_html__( 'Center', 'ulf' ),
162
+ 'right' => esc_html__( 'Right', 'ulf' ),
163
+ 'justify' => esc_html__( 'Justify', 'ulf' ),
164
+ 'initial' => esc_html__( 'Initial', 'ulf' )
165
+ ), 'text-align', esc_html__( 'Default', 'ulf' ) );
166
  echo '</div>';
167
  }
168
 
169
  //
170
  // Font Variant
171
  if ( ! empty( $args['font_variant'] ) ) {
172
+ echo '<div class="ulf--block">';
173
+ echo '<div class="ulf--title">'. esc_html__( 'Font Variant', 'ulf' ) .'</div>';
174
  echo $this->create_select( array(
175
+ 'normal' => esc_html__( 'Normal', 'ulf' ),
176
+ 'small-caps' => esc_html__( 'Small Caps', 'ulf' ),
177
+ 'all-small-caps' => esc_html__( 'All Small Caps', 'ulf' )
178
+ ), 'font-variant', esc_html__( 'Default', 'ulf' ) );
179
  echo '</div>';
180
  }
181
 
182
  //
183
  // Text Transform
184
  if ( ! empty( $args['text_transform'] ) ) {
185
+ echo '<div class="ulf--block">';
186
+ echo '<div class="ulf--title">'. esc_html__( 'Text Transform', 'ulf' ) .'</div>';
187
  echo $this->create_select( array(
188
+ 'none' => esc_html__( 'None', 'ulf' ),
189
+ 'capitalize' => esc_html__( 'Capitalize', 'ulf' ),
190
+ 'uppercase' => esc_html__( 'Uppercase', 'ulf' ),
191
+ 'lowercase' => esc_html__( 'Lowercase', 'ulf' )
192
+ ), 'text-transform', esc_html__( 'Default', 'ulf' ) );
193
  echo '</div>';
194
  }
195
 
196
  //
197
  // Text Decoration
198
  if ( ! empty( $args['text_decoration'] ) ) {
199
+ echo '<div class="ulf--block">';
200
+ echo '<div class="ulf--title">'. esc_html__( 'Text Decoration', 'ulf' ) .'</div>';
201
  echo $this->create_select( array(
202
+ 'none' => esc_html__( 'None', 'ulf' ),
203
+ 'underline' => esc_html__( 'Solid', 'ulf' ),
204
+ 'underline double' => esc_html__( 'Double', 'ulf' ),
205
+ 'underline dotted' => esc_html__( 'Dotted', 'ulf' ),
206
+ 'underline dashed' => esc_html__( 'Dashed', 'ulf' ),
207
+ 'underline wavy' => esc_html__( 'Wavy', 'ulf' ),
208
+ 'underline overline' => esc_html__( 'Overline', 'ulf' ),
209
+ 'line-through' => esc_html__( 'Line-through', 'ulf' )
210
+ ), 'text-decoration', esc_html__( 'Default', 'ulf' ) );
211
  echo '</div>';
212
  }
213
 
214
  echo '</div>';
215
 
216
+ echo '<div class="ulf--blocks ulf--blocks-inputs">';
217
 
218
  //
219
  // Font Size
220
  if ( ! empty( $args['font_size'] ) ) {
221
+ echo '<div class="ulf--block">';
222
+ echo '<div class="ulf--title">'. esc_html__( 'Font Size', 'ulf' ) .'</div>';
223
+ echo '<div class="ulf--input-wrap">';
224
+ echo '<input type="number" name="'. esc_attr( $this->field_name( '[font-size]' ) ) .'" class="ulf--font-size ulf--input ulf-input-number" value="'. esc_attr( $this->value['font-size'] ) .'" />';
225
+ echo '<span class="ulf--unit">'. esc_attr( $args['unit'] ) .'</span>';
226
  echo '</div>';
227
  echo '</div>';
228
  }
230
  //
231
  // Line Height
232
  if ( ! empty( $args['line_height'] ) ) {
233
+ echo '<div class="ulf--block">';
234
+ echo '<div class="ulf--title">'. esc_html__( 'Line Height', 'ulf' ) .'</div>';
235
+ echo '<div class="ulf--input-wrap">';
236
+ echo '<input type="number" name="'. esc_attr( $this->field_name( '[line-height]' ) ) .'" class="ulf--line-height ulf--input ulf-input-number" value="'. esc_attr( $this->value['line-height'] ) .'" />';
237
+ echo '<span class="ulf--unit">'. esc_attr( $line_height_unit ) .'</span>';
238
  echo '</div>';
239
  echo '</div>';
240
  }
242
  //
243
  // Letter Spacing
244
  if ( ! empty( $args['letter_spacing'] ) ) {
245
+ echo '<div class="ulf--block">';
246
+ echo '<div class="ulf--title">'. esc_html__( 'Letter Spacing', 'ulf' ) .'</div>';
247
+ echo '<div class="ulf--input-wrap">';
248
+ echo '<input type="number" name="'. esc_attr( $this->field_name( '[letter-spacing]' ) ) .'" class="ulf--letter-spacing ulf--input ulf-input-number" value="'. esc_attr( $this->value['letter-spacing'] ) .'" />';
249
+ echo '<span class="ulf--unit">'. esc_attr( $args['unit'] ) .'</span>';
250
  echo '</div>';
251
  echo '</div>';
252
  }
254
  //
255
  // Word Spacing
256
  if ( ! empty( $args['word_spacing'] ) ) {
257
+ echo '<div class="ulf--block">';
258
+ echo '<div class="ulf--title">'. esc_html__( 'Word Spacing', 'ulf' ) .'</div>';
259
+ echo '<div class="ulf--input-wrap">';
260
+ echo '<input type="number" name="'. esc_attr( $this->field_name( '[word-spacing]' ) ) .'" class="ulf--word-spacing ulf--input ulf-input-number" value="'. esc_attr( $this->value['word-spacing'] ) .'" />';
261
+ echo '<span class="ulf--unit">'. esc_attr( $args['unit'] ) .'</span>';
262
  echo '</div>';
263
  echo '</div>';
264
  }
269
  // Font Color
270
  if ( ! empty( $args['color'] ) ) {
271
  $default_color_attr = ( ! empty( $default_value['color'] ) ) ? ' data-default-color="'. esc_attr( $default_value['color'] ) .'"' : '';
272
+ echo '<div class="ulf--block ulf--block-font-color">';
273
+ echo '<div class="ulf--title">'. esc_html__( 'Font Color', 'ulf' ) .'</div>';
274
+ echo '<div class="ulf-field-color">';
275
+ echo '<input type="text" name="'. esc_attr( $this->field_name( '[color]' ) ) .'" class="ulf-color ulf--color" value="'. esc_attr( $this->value['color'] ) .'"'. $default_color_attr .' />';
276
  echo '</div>';
277
  echo '</div>';
278
  }
280
  //
281
  // Custom style
282
  if ( ! empty( $args['custom_style'] ) ) {
283
+ echo '<div class="ulf--block ulf--block-custom-style">';
284
+ echo '<div class="ulf--title">'. esc_html__( 'Custom Style', 'ulf' ) .'</div>';
285
+ echo '<textarea name="'. esc_attr( $this->field_name( '[custom-style]' ) ) .'" class="ulf--custom-style">'. esc_attr( $this->value['custom-style'] ) .'</textarea>';
286
  echo '</div>';
287
  }
288
 
291
  $always_preview = ( $args['preview'] !== 'always' ) ? ' hidden' : '';
292
 
293
  if ( ! empty( $args['preview'] ) ) {
294
+ echo '<div class="ulf--block ulf--block-preview'. esc_attr( $always_preview ) .'">';
295
+ echo '<div class="ulf--toggle fas fa-toggle-off"></div>';
296
+ echo '<div class="ulf--preview">'. esc_attr( $args['preview_text'] ) .'</div>';
297
  echo '</div>';
298
  }
299
 
300
+ echo '<input type="hidden" name="'. esc_attr( $this->field_name( '[type]' ) ) .'" class="ulf--type" value="'. esc_attr( $this->value['type'] ) .'" />';
301
+ echo '<input type="hidden" name="'. esc_attr( $this->field_name( '[unit]' ) ) .'" class="ulf--unit-save" value="'. esc_attr( $args['unit'] ) .'" />';
302
 
303
  echo '</div>';
304
 
312
  $multiple_attr = ( $is_multiple ) ? ' multiple data-multiple="true"' : '';
313
  $chosen_rtl = ( $this->chosen && is_rtl() ) ? ' chosen-rtl' : '';
314
 
315
+ $output = '<select name="'. esc_attr( $this->field_name( '['. $name .']'. $multiple_name ) ) .'" class="ulf--'. esc_attr( $name ) . esc_attr( $chosen_rtl ) .'" data-placeholder="'. esc_attr( $placeholder ) .'"'. $multiple_attr .'>';
316
  $output .= ( ! empty( $placeholder ) ) ? '<option value="">'. esc_attr( ( ! $this->chosen ) ? $placeholder : '' ) .'</option>' : '';
317
 
318
  if ( ! empty( $options ) ) {
336
 
337
  public function enqueue() {
338
 
339
+ if ( ! wp_script_is( 'ulf-webfontloader' ) ) {
340
 
341
+ ULF::include_plugin_file( 'fields/typography/google-fonts.php' );
342
 
343
+ wp_enqueue_script( 'ulf-webfontloader', 'https://cdn.jsdelivr.net/npm/webfontloader@1.6.28/webfontloader.min.js', array( 'ulf' ), '1.6.28', true );
344
 
345
  $webfonts = array();
346
 
347
+ $customwebfonts = apply_filters( 'ulf_field_typography_customwebfonts', array() );
348
 
349
  if ( ! empty( $customwebfonts ) ) {
350
  $webfonts['custom'] = array(
351
+ 'label' => esc_html__( 'Custom Web Fonts', 'ulf' ),
352
  'fonts' => $customwebfonts
353
  );
354
  }
355
 
356
  $webfonts['safe'] = array(
357
+ 'label' => esc_html__( 'Safe Web Fonts', 'ulf' ),
358
+ 'fonts' => apply_filters( 'ulf_field_typography_safewebfonts', array(
359
  'Arial',
360
  'Arial Black',
361
  'Helvetica',
374
  ) );
375
 
376
  $webfonts['google'] = array(
377
+ 'label' => esc_html__( 'Google Web Fonts', 'ulf' ),
378
+ 'fonts' => apply_filters( 'ulf_field_typography_googlewebfonts', ulf_get_google_fonts()
379
  ) );
380
 
381
+ $defaultstyles = apply_filters( 'ulf_field_typography_defaultstyles', array( 'normal', 'italic', '700', '700italic' ) );
382
 
383
+ $googlestyles = apply_filters( 'ulf_field_typography_googlestyles', array(
384
  '100' => 'Thin 100',
385
  '100italic' => 'Thin 100 Italic',
386
  '200' => 'Extra-Light 200',
401
  '900italic' => 'Black 900 Italic'
402
  ) );
403
 
404
+ $webfonts = apply_filters( 'ulf_field_typography_webfonts', $webfonts );
405
 
406
+ wp_localize_script( 'ulf', 'ulf_typography_json', array(
407
  'webfonts' => $webfonts,
408
  'defaultstyles' => $defaultstyles,
409
  'googlestyles' => $googlestyles
420
  if ( ! empty( $this->value['type'] ) ) {
421
  $is_google = ( $this->value['type'] === 'google' ) ? true : false;
422
  } else {
423
+ ULF::include_plugin_file( 'fields/typography/google-fonts.php' );
424
+ $is_google = ( array_key_exists( $this->value['font-family'], ulf_get_google_fonts() ) ) ? true : false;
425
  }
426
 
427
  if ( $is_google ) {
admin/settings/fields/upload/upload.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Field_upload' ) ) {
11
- class CSF_Field_upload extends CSF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
@@ -18,8 +18,8 @@ if ( ! class_exists( 'CSF_Field_upload' ) ) {
18
 
19
  $args = wp_parse_args( $this->field, array(
20
  'library' => array(),
21
- 'button_title' => esc_html__( 'Upload', 'csf' ),
22
- 'remove_title' => esc_html__( 'Remove', 'csf' ),
23
  ) );
24
 
25
  echo $this->field_before();
@@ -28,10 +28,10 @@ if ( ! class_exists( 'CSF_Field_upload' ) ) {
28
  $library = ( ! empty( $library ) ) ? implode(',', $library ) : '';
29
  $hidden = ( empty( $this->value ) ) ? ' hidden' : '';
30
 
31
- echo '<div class="csf--wrap">';
32
  echo '<input type="text" name="'. esc_attr( $this->field_name() ) .'" value="'. esc_attr( $this->value ) .'"'. $this->field_attributes() .'/>';
33
- echo '<a href="#" class="button button-primary csf--button" data-library="'. esc_attr( $library ) .'">'. wp_kses_post( $args['button_title'] ) .'</a>';
34
- echo '<a href="#" class="button button-secondary csf-warning-primary csf--remove'. esc_attr( $hidden ) .'">'. wp_kses_post( $args['remove_title'] ) .'</a>';
35
  echo '</div>';
36
 
37
  echo $this->field_after();
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Field_upload' ) ) {
11
+ class ULF_Field_upload extends ULF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
18
 
19
  $args = wp_parse_args( $this->field, array(
20
  'library' => array(),
21
+ 'button_title' => esc_html__( 'Upload', 'ulf' ),
22
+ 'remove_title' => esc_html__( 'Remove', 'ulf' ),
23
  ) );
24
 
25
  echo $this->field_before();
28
  $library = ( ! empty( $library ) ) ? implode(',', $library ) : '';
29
  $hidden = ( empty( $this->value ) ) ? ' hidden' : '';
30
 
31
+ echo '<div class="ulf--wrap">';
32
  echo '<input type="text" name="'. esc_attr( $this->field_name() ) .'" value="'. esc_attr( $this->value ) .'"'. $this->field_attributes() .'/>';
33
+ echo '<a href="#" class="button button-primary ulf--button" data-library="'. esc_attr( $library ) .'">'. wp_kses_post( $args['button_title'] ) .'</a>';
34
+ echo '<a href="#" class="button button-secondary ulf-warning-primary ulf--remove'. esc_attr( $hidden ) .'">'. wp_kses_post( $args['remove_title'] ) .'</a>';
35
  echo '</div>';
36
 
37
  echo $this->field_after();
admin/settings/fields/wp_editor/wp_editor.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Field_wp_editor' ) ) {
11
- class CSF_Field_wp_editor extends CSF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
@@ -39,11 +39,11 @@ if ( ! class_exists( 'CSF_Field_wp_editor' ) ) {
39
 
40
  echo $this->field_before();
41
 
42
- echo ( csf_wp_editor_api() ) ? '<div class="csf-wp-editor" data-editor-settings="'. esc_attr( json_encode( $editor_settings ) ) .'">' : '';
43
 
44
  echo '<textarea name="'. esc_attr( $this->field_name() ) .'"'. $this->field_attributes( $attributes ) . $editor_height .'>'. $this->value .'</textarea>';
45
 
46
- echo ( csf_wp_editor_api() ) ? '</div>' : '';
47
 
48
  echo $this->field_after();
49
 
@@ -51,7 +51,7 @@ if ( ! class_exists( 'CSF_Field_wp_editor' ) ) {
51
 
52
  public function enqueue() {
53
 
54
- if ( csf_wp_editor_api() && function_exists( 'wp_enqueue_editor' ) ) {
55
 
56
  wp_enqueue_editor();
57
 
@@ -73,7 +73,7 @@ if ( ! class_exists( 'CSF_Field_wp_editor' ) ) {
73
  $media_buttons = ob_get_clean();
74
 
75
  echo '<script type="text/javascript">';
76
- echo 'var csf_media_buttons = '. json_encode( $media_buttons ) .';';
77
  echo '</script>';
78
 
79
  }
@@ -81,17 +81,17 @@ if ( ! class_exists( 'CSF_Field_wp_editor' ) ) {
81
  // Setup wp editor settings
82
  public function setup_wp_editor_settings() {
83
 
84
- if ( csf_wp_editor_api() && class_exists( '_WP_Editors') ) {
85
 
86
- $defaults = apply_filters( 'csf_wp_editor', array(
87
  'tinymce' => array(
88
  'wp_skip_init' => true
89
  ),
90
  ) );
91
 
92
- $setup = _WP_Editors::parse_settings( 'csf_wp_editor', $defaults );
93
 
94
- _WP_Editors::editor_settings( 'csf_wp_editor', $setup );
95
 
96
  }
97
 
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Field_wp_editor' ) ) {
11
+ class ULF_Field_wp_editor extends ULF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
39
 
40
  echo $this->field_before();
41
 
42
+ echo ( ulf_wp_editor_api() ) ? '<div class="ulf-wp-editor" data-editor-settings="'. esc_attr( json_encode( $editor_settings ) ) .'">' : '';
43
 
44
  echo '<textarea name="'. esc_attr( $this->field_name() ) .'"'. $this->field_attributes( $attributes ) . $editor_height .'>'. $this->value .'</textarea>';
45
 
46
+ echo ( ulf_wp_editor_api() ) ? '</div>' : '';
47
 
48
  echo $this->field_after();
49
 
51
 
52
  public function enqueue() {
53
 
54
+ if ( ulf_wp_editor_api() && function_exists( 'wp_enqueue_editor' ) ) {
55
 
56
  wp_enqueue_editor();
57
 
73
  $media_buttons = ob_get_clean();
74
 
75
  echo '<script type="text/javascript">';
76
+ echo 'var ulf_media_buttons = '. json_encode( $media_buttons ) .';';
77
  echo '</script>';
78
 
79
  }
81
  // Setup wp editor settings
82
  public function setup_wp_editor_settings() {
83
 
84
+ if ( ulf_wp_editor_api() && class_exists( '_WP_Editors') ) {
85
 
86
+ $defaults = apply_filters( 'ulf_wp_editor', array(
87
  'tinymce' => array(
88
  'wp_skip_init' => true
89
  ),
90
  ) );
91
 
92
+ $setup = _WP_Editors::parse_settings( 'ulf_wp_editor', $defaults );
93
 
94
+ _WP_Editors::editor_settings( 'ulf_wp_editor', $setup );
95
 
96
  }
97
 
admin/settings/functions/actions.php CHANGED
@@ -7,28 +7,28 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! function_exists( 'csf_get_icons' ) ) {
11
- function csf_get_icons() {
12
 
13
  $nonce = ( ! empty( $_POST[ 'nonce' ] ) ) ? sanitize_text_field( wp_unslash( $_POST[ 'nonce' ] ) ) : '';
14
 
15
- if ( ! wp_verify_nonce( $nonce, 'csf_icon_nonce' ) ) {
16
- wp_send_json_error( array( 'error' => esc_html__( 'Error: Nonce verification has failed. Please try again.', 'csf' ) ) );
17
  }
18
 
19
  ob_start();
20
 
21
- $icon_library = ( apply_filters( 'csf_fa4', false ) ) ? 'fa4' : 'fa5';
22
 
23
- CSF::include_plugin_file( 'fields/icon/'. $icon_library .'-icons.php' );
24
 
25
- $icon_lists = apply_filters( 'csf_field_icon_add_icons', csf_get_default_icons() );
26
 
27
  if ( ! empty( $icon_lists ) ) {
28
 
29
  foreach ( $icon_lists as $list ) {
30
 
31
- echo ( count( $icon_lists ) >= 2 ) ? '<div class="csf-icon-title">'. esc_attr( $list['title'] ) .'</div>' : '';
32
 
33
  foreach ( $list['icons'] as $icon ) {
34
  echo '<i title="'. esc_attr( $icon ) .'" class="'. esc_attr( $icon ) .'"></i>';
@@ -38,7 +38,7 @@ if ( ! function_exists( 'csf_get_icons' ) ) {
38
 
39
  } else {
40
 
41
- echo '<div class="csf-error-text">'. esc_html__( 'No data provided by developer', 'csf' ) .'</div>';
42
 
43
  }
44
 
@@ -47,7 +47,7 @@ if ( ! function_exists( 'csf_get_icons' ) ) {
47
  wp_send_json_success( array( 'content' => $content ) );
48
 
49
  }
50
- add_action( 'wp_ajax_csf-get-icons', 'csf_get_icons' );
51
  }
52
 
53
  /**
@@ -58,18 +58,18 @@ if ( ! function_exists( 'csf_get_icons' ) ) {
58
  * @version 1.0.0
59
  *
60
  */
61
- if ( ! function_exists( 'csf_export' ) ) {
62
- function csf_export() {
63
 
64
  $nonce = ( ! empty( $_GET[ 'nonce' ] ) ) ? sanitize_text_field( wp_unslash( $_GET[ 'nonce' ] ) ) : '';
65
  $unique = ( ! empty( $_GET[ 'unique' ] ) ) ? sanitize_text_field( wp_unslash( $_GET[ 'unique' ] ) ) : '';
66
 
67
- if ( ! wp_verify_nonce( $nonce, 'csf_backup_nonce' ) ) {
68
- die( esc_html__( 'Error: Nonce verification has failed. Please try again.', 'csf' ) );
69
  }
70
 
71
  if ( empty( $unique ) ) {
72
- die( esc_html__( 'Error: Options unique id could not valid.', 'csf' ) );
73
  }
74
 
75
  // Export
@@ -84,7 +84,7 @@ if ( ! function_exists( 'csf_export' ) ) {
84
  die();
85
 
86
  }
87
- add_action( 'wp_ajax_csf-export', 'csf_export' );
88
  }
89
 
90
  /**
@@ -95,23 +95,23 @@ if ( ! function_exists( 'csf_export' ) ) {
95
  * @version 1.0.0
96
  *
97
  */
98
- if ( ! function_exists( 'csf_import_ajax' ) ) {
99
- function csf_import_ajax() {
100
 
101
  $nonce = ( ! empty( $_POST[ 'nonce' ] ) ) ? sanitize_text_field( wp_unslash( $_POST[ 'nonce' ] ) ) : '';
102
  $unique = ( ! empty( $_POST[ 'unique' ] ) ) ? sanitize_text_field( wp_unslash( $_POST[ 'unique' ] ) ) : '';
103
  $data = ( ! empty( $_POST[ 'data' ] ) ) ? wp_kses_post_deep( json_decode( wp_unslash( trim( $_POST[ 'data' ] ) ), true ) ) : array();
104
 
105
- if ( ! wp_verify_nonce( $nonce, 'csf_backup_nonce' ) ) {
106
- wp_send_json_error( array( 'error' => esc_html__( 'Error: Nonce verification has failed. Please try again.', 'csf' ) ) );
107
  }
108
 
109
  if ( empty( $unique ) ) {
110
- wp_send_json_error( array( 'error' => esc_html__( 'Error: Options unique id could not valid.', 'csf' ) ) );
111
  }
112
 
113
  if ( empty( $data ) || ! is_array( $data ) ) {
114
- wp_send_json_error( array( 'error' => esc_html__( 'Error: Import data could not valid.', 'csf' ) ) );
115
  }
116
 
117
  // Success
@@ -120,7 +120,7 @@ if ( ! function_exists( 'csf_import_ajax' ) ) {
120
  wp_send_json_success();
121
 
122
  }
123
- add_action( 'wp_ajax_csf-import', 'csf_import_ajax' );
124
  }
125
 
126
  /**
@@ -131,14 +131,14 @@ if ( ! function_exists( 'csf_import_ajax' ) ) {
131
  * @version 1.0.0
132
  *
133
  */
134
- if ( ! function_exists( 'csf_reset_ajax' ) ) {
135
- function csf_reset_ajax() {
136
 
137
  $nonce = ( ! empty( $_POST[ 'nonce' ] ) ) ? sanitize_text_field( wp_unslash( $_POST[ 'nonce' ] ) ) : '';
138
  $unique = ( ! empty( $_POST[ 'unique' ] ) ) ? sanitize_text_field( wp_unslash( $_POST[ 'unique' ] ) ) : '';
139
 
140
- if ( ! wp_verify_nonce( $nonce, 'csf_backup_nonce' ) ) {
141
- wp_send_json_error( array( 'error' => esc_html__( 'Error: Nonce verification has failed. Please try again.', 'csf' ) ) );
142
  }
143
 
144
  // Success
@@ -147,7 +147,7 @@ if ( ! function_exists( 'csf_reset_ajax' ) ) {
147
  wp_send_json_success();
148
 
149
  }
150
- add_action( 'wp_ajax_csf-reset', 'csf_reset_ajax' );
151
  }
152
 
153
  /**
@@ -158,33 +158,33 @@ if ( ! function_exists( 'csf_reset_ajax' ) ) {
158
  * @version 1.0.0
159
  *
160
  */
161
- if ( ! function_exists( 'csf_chosen_ajax' ) ) {
162
- function csf_chosen_ajax() {
163
 
164
  $nonce = ( ! empty( $_POST[ 'nonce' ] ) ) ? sanitize_text_field( wp_unslash( $_POST[ 'nonce' ] ) ) : '';
165
  $type = ( ! empty( $_POST[ 'type' ] ) ) ? sanitize_text_field( wp_unslash( $_POST[ 'type' ] ) ) : '';
166
  $term = ( ! empty( $_POST[ 'term' ] ) ) ? sanitize_text_field( wp_unslash( $_POST[ 'term' ] ) ) : '';
167
  $query = ( ! empty( $_POST[ 'query_args' ] ) ) ? wp_kses_post_deep( $_POST[ 'query_args' ] ) : array();
168
 
169
- if ( ! wp_verify_nonce( $nonce, 'csf_chosen_ajax_nonce' ) ) {
170
- wp_send_json_error( array( 'error' => esc_html__( 'Error: Nonce verification has failed. Please try again.', 'csf' ) ) );
171
  }
172
 
173
  if ( empty( $type ) || empty( $term ) ) {
174
- wp_send_json_error( array( 'error' => esc_html__( 'Error: Missing request arguments.', 'csf' ) ) );
175
  }
176
 
177
- $capability = apply_filters( 'csf_chosen_ajax_capability', 'manage_options' );
178
 
179
  if ( ! current_user_can( $capability ) ) {
180
- wp_send_json_error( array( 'error' => esc_html__( 'You do not have required permissions to access.', 'csf' ) ) );
181
  }
182
 
183
  // Success
184
- $options = CSF_Fields::field_data( $type, $term, $query );
185
 
186
  wp_send_json_success( $options );
187
 
188
  }
189
- add_action( 'wp_ajax_csf-chosen', 'csf_chosen_ajax' );
190
  }
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! function_exists( 'ulf_get_icons' ) ) {
11
+ function ulf_get_icons() {
12
 
13
  $nonce = ( ! empty( $_POST[ 'nonce' ] ) ) ? sanitize_text_field( wp_unslash( $_POST[ 'nonce' ] ) ) : '';
14
 
15
+ if ( ! wp_verify_nonce( $nonce, 'ulf_icon_nonce' ) ) {
16
+ wp_send_json_error( array( 'error' => esc_html__( 'Error: Nonce verification has failed. Please try again.', 'ulf' ) ) );
17
  }
18
 
19
  ob_start();
20
 
21
+ $icon_library = ( apply_filters( 'ulf_fa4', false ) ) ? 'fa4' : 'fa5';
22
 
23
+ ULF::include_plugin_file( 'fields/icon/'. $icon_library .'-icons.php' );
24
 
25
+ $icon_lists = apply_filters( 'ulf_field_icon_add_icons', ulf_get_default_icons() );
26
 
27
  if ( ! empty( $icon_lists ) ) {
28
 
29
  foreach ( $icon_lists as $list ) {
30
 
31
+ echo ( count( $icon_lists ) >= 2 ) ? '<div class="ulf-icon-title">'. esc_attr( $list['title'] ) .'</div>' : '';
32
 
33
  foreach ( $list['icons'] as $icon ) {
34
  echo '<i title="'. esc_attr( $icon ) .'" class="'. esc_attr( $icon ) .'"></i>';
38
 
39
  } else {
40
 
41
+ echo '<div class="ulf-error-text">'. esc_html__( 'No data provided by developer', 'ulf' ) .'</div>';
42
 
43
  }
44
 
47
  wp_send_json_success( array( 'content' => $content ) );
48
 
49
  }
50
+ add_action( 'wp_ajax_ulf-get-icons', 'ulf_get_icons' );
51
  }
52
 
53
  /**
58
  * @version 1.0.0
59
  *
60
  */
61
+ if ( ! function_exists( 'ulf_export' ) ) {
62
+ function ulf_export() {
63
 
64
  $nonce = ( ! empty( $_GET[ 'nonce' ] ) ) ? sanitize_text_field( wp_unslash( $_GET[ 'nonce' ] ) ) : '';
65
  $unique = ( ! empty( $_GET[ 'unique' ] ) ) ? sanitize_text_field( wp_unslash( $_GET[ 'unique' ] ) ) : '';
66
 
67
+ if ( ! wp_verify_nonce( $nonce, 'ulf_backup_nonce' ) ) {
68
+ die( esc_html__( 'Error: Nonce verification has failed. Please try again.', 'ulf' ) );
69
  }
70
 
71
  if ( empty( $unique ) ) {
72
+ die( esc_html__( 'Error: Options unique id could not valid.', 'ulf' ) );
73
  }
74
 
75
  // Export
84
  die();
85
 
86
  }
87
+ add_action( 'wp_ajax_ulf-export', 'ulf_export' );
88
  }
89
 
90
  /**
95
  * @version 1.0.0
96
  *
97
  */
98
+ if ( ! function_exists( 'ulf_import_ajax' ) ) {
99
+ function ulf_import_ajax() {
100
 
101
  $nonce = ( ! empty( $_POST[ 'nonce' ] ) ) ? sanitize_text_field( wp_unslash( $_POST[ 'nonce' ] ) ) : '';
102
  $unique = ( ! empty( $_POST[ 'unique' ] ) ) ? sanitize_text_field( wp_unslash( $_POST[ 'unique' ] ) ) : '';
103
  $data = ( ! empty( $_POST[ 'data' ] ) ) ? wp_kses_post_deep( json_decode( wp_unslash( trim( $_POST[ 'data' ] ) ), true ) ) : array();
104
 
105
+ if ( ! wp_verify_nonce( $nonce, 'ulf_backup_nonce' ) ) {
106
+ wp_send_json_error( array( 'error' => esc_html__( 'Error: Nonce verification has failed. Please try again.', 'ulf' ) ) );
107
  }
108
 
109
  if ( empty( $unique ) ) {
110
+ wp_send_json_error( array( 'error' => esc_html__( 'Error: Options unique id could not valid.', 'ulf' ) ) );
111
  }
112
 
113
  if ( empty( $data ) || ! is_array( $data ) ) {
114
+ wp_send_json_error( array( 'error' => esc_html__( 'Error: Import data could not valid.', 'ulf' ) ) );
115
  }
116
 
117
  // Success
120
  wp_send_json_success();
121
 
122
  }
123
+ add_action( 'wp_ajax_ulf-import', 'ulf_import_ajax' );
124
  }
125
 
126
  /**
131
  * @version 1.0.0
132
  *
133
  */
134
+ if ( ! function_exists( 'ulf_reset_ajax' ) ) {
135
+ function ulf_reset_ajax() {
136
 
137
  $nonce = ( ! empty( $_POST[ 'nonce' ] ) ) ? sanitize_text_field( wp_unslash( $_POST[ 'nonce' ] ) ) : '';
138
  $unique = ( ! empty( $_POST[ 'unique' ] ) ) ? sanitize_text_field( wp_unslash( $_POST[ 'unique' ] ) ) : '';
139
 
140
+ if ( ! wp_verify_nonce( $nonce, 'ulf_backup_nonce' ) ) {
141
+ wp_send_json_error( array( 'error' => esc_html__( 'Error: Nonce verification has failed. Please try again.', 'ulf' ) ) );
142
  }
143
 
144
  // Success
147
  wp_send_json_success();
148
 
149
  }
150
+ add_action( 'wp_ajax_ulf-reset', 'ulf_reset_ajax' );
151
  }
152
 
153
  /**
158
  * @version 1.0.0
159
  *
160
  */
161
+ if ( ! function_exists( 'ulf_chosen_ajax' ) ) {
162
+ function ulf_chosen_ajax() {
163
 
164
  $nonce = ( ! empty( $_POST[ 'nonce' ] ) ) ? sanitize_text_field( wp_unslash( $_POST[ 'nonce' ] ) ) : '';
165
  $type = ( ! empty( $_POST[ 'type' ] ) ) ? sanitize_text_field( wp_unslash( $_POST[ 'type' ] ) ) : '';
166
  $term = ( ! empty( $_POST[ 'term' ] ) ) ? sanitize_text_field( wp_unslash( $_POST[ 'term' ] ) ) : '';
167
  $query = ( ! empty( $_POST[ 'query_args' ] ) ) ? wp_kses_post_deep( $_POST[ 'query_args' ] ) : array();
168
 
169
+ if ( ! wp_verify_nonce( $nonce, 'ulf_chosen_ajax_nonce' ) ) {
170
+ wp_send_json_error( array( 'error' => esc_html__( 'Error: Nonce verification has failed. Please try again.', 'ulf' ) ) );
171
  }
172
 
173
  if ( empty( $type ) || empty( $term ) ) {
174
+ wp_send_json_error( array( 'error' => esc_html__( 'Error: Missing request arguments.', 'ulf' ) ) );
175
  }
176
 
177
+ $capability = apply_filters( 'ulf_chosen_ajax_capability', 'manage_options' );
178
 
179
  if ( ! current_user_can( $capability ) ) {
180
+ wp_send_json_error( array( 'error' => esc_html__( 'You do not have required permissions to access.', 'ulf' ) ) );
181
  }
182
 
183
  // Success
184
+ $options = ULF_Fields::field_data( $type, $term, $query );
185
 
186
  wp_send_json_success( $options );
187
 
188
  }
189
+ add_action( 'wp_ajax_ulf-chosen', 'ulf_chosen_ajax' );
190
  }
admin/settings/functions/customize.php CHANGED
@@ -7,9 +7,9 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'WP_Customize_Panel_CSF' ) && class_exists( 'WP_Customize_Panel' ) ) {
11
- class WP_Customize_Panel_CSF extends WP_Customize_Panel {
12
- public $type = 'csf';
13
  }
14
  }
15
 
@@ -21,9 +21,9 @@ if ( ! class_exists( 'WP_Customize_Panel_CSF' ) && class_exists( 'WP_Customize_P
21
  * @version 1.0.0
22
  *
23
  */
24
- if ( ! class_exists( 'WP_Customize_Section_CSF' ) && class_exists( 'WP_Customize_Section' ) ) {
25
- class WP_Customize_Section_CSF extends WP_Customize_Section {
26
- public $type = 'csf';
27
  }
28
  }
29
 
@@ -35,10 +35,10 @@ if ( ! class_exists( 'WP_Customize_Section_CSF' ) && class_exists( 'WP_Customize
35
  * @version 1.0.0
36
  *
37
  */
38
- if ( ! class_exists( 'WP_Customize_Control_CSF' ) && class_exists( 'WP_Customize_Control' ) ) {
39
- class WP_Customize_Control_CSF extends WP_Customize_Control {
40
 
41
- public $type = 'csf';
42
  public $field = '';
43
  public $unique = '';
44
 
@@ -75,8 +75,8 @@ if ( ! class_exists( 'WP_Customize_Control_CSF' ) && class_exists( 'WP_Customize
75
  $depend .= ' data-value="'. esc_attr( $data_value ) .'"';
76
  $depend .= ( ! empty( $data_global ) ) ? ' data-depend-global="true"' : '';
77
 
78
- $visible = ' csf-dependency-control';
79
- $visible .= ( ! empty( $depend_visible ) ) ? ' csf-depend-visible' : ' csf-depend-hidden';
80
 
81
  }
82
 
@@ -118,7 +118,7 @@ if ( ! class_exists( 'WP_Customize_Control_CSF' ) && class_exists( 'WP_Customize
118
  $field_id = ( ! empty( $this->field['id'] ) ) ? $this->field['id'] : '';
119
  $custom = ( ! empty( $this->field['customizer'] ) ) ? true : false;
120
  $is_complex = ( in_array( $this->field['type'], $complex ) ) ? true : false;
121
- $class = ( $is_complex || $custom ) ? ' csf-customize-complex' : '';
122
  $atts = ( $is_complex || $custom ) ? ' data-unique-id="'. esc_attr( $this->unique ) .'" data-option-id="'. esc_attr( $field_id ) .'"' : '';
123
 
124
  if ( ! $is_complex && ! $custom ) {
@@ -129,9 +129,9 @@ if ( ! class_exists( 'WP_Customize_Control_CSF' ) && class_exists( 'WP_Customize
129
 
130
  $this->field['dependency'] = array();
131
 
132
- echo '<div class="csf-customize-field'. esc_attr( $class ) .'"'. $atts .'>';
133
 
134
- CSF::field( $this->field, $this->value(), $this->unique, 'customize' );
135
 
136
  echo '</div>';
137
 
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'WP_Customize_Panel_ULF' ) && class_exists( 'WP_Customize_Panel' ) ) {
11
+ class WP_Customize_Panel_ULF extends WP_Customize_Panel {
12
+ public $type = 'ulf';
13
  }
14
  }
15
 
21
  * @version 1.0.0
22
  *
23
  */
24
+ if ( ! class_exists( 'WP_Customize_Section_ULF' ) && class_exists( 'WP_Customize_Section' ) ) {
25
+ class WP_Customize_Section_ULF extends WP_Customize_Section {
26
+ public $type = 'ulf';
27
  }
28
  }
29
 
35
  * @version 1.0.0
36
  *
37
  */
38
+ if ( ! class_exists( 'WP_Customize_Control_ULF' ) && class_exists( 'WP_Customize_Control' ) ) {
39
+ class WP_Customize_Control_ULF extends WP_Customize_Control {
40
 
41
+ public $type = 'ulf';
42
  public $field = '';
43
  public $unique = '';
44
 
75
  $depend .= ' data-value="'. esc_attr( $data_value ) .'"';
76
  $depend .= ( ! empty( $data_global ) ) ? ' data-depend-global="true"' : '';
77
 
78
+ $visible = ' ulf-dependency-control';
79
+ $visible .= ( ! empty( $depend_visible ) ) ? ' ulf-depend-visible' : ' ulf-depend-hidden';
80
 
81
  }
82
 
118
  $field_id = ( ! empty( $this->field['id'] ) ) ? $this->field['id'] : '';
119
  $custom = ( ! empty( $this->field['customizer'] ) ) ? true : false;
120
  $is_complex = ( in_array( $this->field['type'], $complex ) ) ? true : false;
121
+ $class = ( $is_complex || $custom ) ? ' ulf-customize-complex' : '';
122
  $atts = ( $is_complex || $custom ) ? ' data-unique-id="'. esc_attr( $this->unique ) .'" data-option-id="'. esc_attr( $field_id ) .'"' : '';
123
 
124
  if ( ! $is_complex && ! $custom ) {
129
 
130
  $this->field['dependency'] = array();
131
 
132
+ echo '<div class="ulf-customize-field'. esc_attr( $class ) .'"'. $atts .'>';
133
 
134
+ ULF::field( $this->field, $this->value(), $this->unique, 'customize' );
135
 
136
  echo '</div>';
137
 
admin/settings/functions/helpers.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! function_exists( 'csf_array_search' ) ) {
11
- function csf_array_search( $array, $key, $value ) {
12
 
13
  $results = array();
14
 
@@ -18,7 +18,7 @@ if ( ! function_exists( 'csf_array_search' ) ) {
18
  }
19
 
20
  foreach ( $array as $sub_array ) {
21
- $results = array_merge( $results, csf_array_search( $sub_array, $key, $value ) );
22
  }
23
 
24
  }
@@ -36,8 +36,8 @@ if ( ! function_exists( 'csf_array_search' ) ) {
36
  * @version 1.0.0
37
  *
38
  */
39
- if ( ! function_exists( 'csf_microtime' ) ) {
40
- function csf_timeout( $timenow, $starttime, $timeout = 30 ) {
41
  return ( ( $timenow - $starttime ) < $timeout ) ? true : false;
42
  }
43
  }
@@ -50,8 +50,8 @@ if ( ! function_exists( 'csf_microtime' ) ) {
50
  * @version 1.0.0
51
  *
52
  */
53
- if ( ! function_exists( 'csf_wp_editor_api' ) ) {
54
- function csf_wp_editor_api() {
55
  global $wp_version;
56
  return version_compare( $wp_version, '4.8', '>=' );
57
  }
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! function_exists( 'ulf_array_search' ) ) {
11
+ function ulf_array_search( $array, $key, $value ) {
12
 
13
  $results = array();
14
 
18
  }
19
 
20
  foreach ( $array as $sub_array ) {
21
+ $results = array_merge( $results, ulf_array_search( $sub_array, $key, $value ) );
22
  }
23
 
24
  }
36
  * @version 1.0.0
37
  *
38
  */
39
+ if ( ! function_exists( 'ulf_microtime' ) ) {
40
+ function ulf_timeout( $timenow, $starttime, $timeout = 30 ) {
41
  return ( ( $timenow - $starttime ) < $timeout ) ? true : false;
42
  }
43
  }
50
  * @version 1.0.0
51
  *
52
  */
53
+ if ( ! function_exists( 'ulf_wp_editor_api' ) ) {
54
+ function ulf_wp_editor_api() {
55
  global $wp_version;
56
  return version_compare( $wp_version, '4.8', '>=' );
57
  }
admin/settings/functions/sanitize.php CHANGED
@@ -8,8 +8,8 @@
8
  * @version 1.0.0
9
  *
10
  */
11
- if ( ! function_exists( 'csf_sanitize_replace_a_to_b' ) ) {
12
- function csf_sanitize_replace_a_to_b( $value ) {
13
  return str_replace( 'a', 'b', $value );
14
  }
15
  }
@@ -22,8 +22,8 @@ if ( ! function_exists( 'csf_sanitize_replace_a_to_b' ) ) {
22
  * @version 1.0.0
23
  *
24
  */
25
- if ( ! function_exists( 'csf_sanitize_title' ) ) {
26
- function csf_sanitize_title( $value ) {
27
  return sanitize_title( $value );
28
  }
29
  }
8
  * @version 1.0.0
9
  *
10
  */
11
+ if ( ! function_exists( 'ulf_sanitize_replace_a_to_b' ) ) {
12
+ function ulf_sanitize_replace_a_to_b( $value ) {
13
  return str_replace( 'a', 'b', $value );
14
  }
15
  }
22
  * @version 1.0.0
23
  *
24
  */
25
+ if ( ! function_exists( 'ulf_sanitize_title' ) ) {
26
+ function ulf_sanitize_title( $value ) {
27
  return sanitize_title( $value );
28
  }
29
  }
admin/settings/functions/validate.php CHANGED
@@ -7,11 +7,11 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! function_exists( 'csf_validate_email' ) ) {
11
- function csf_validate_email( $value ) {
12
 
13
  if ( ! filter_var( $value, FILTER_VALIDATE_EMAIL ) ) {
14
- return esc_html__( 'Please write a valid email address!', 'csf' );
15
  }
16
 
17
  }
@@ -25,11 +25,11 @@ if ( ! function_exists( 'csf_validate_email' ) ) {
25
  * @version 1.0.0
26
  *
27
  */
28
- if ( ! function_exists( 'csf_validate_numeric' ) ) {
29
- function csf_validate_numeric( $value ) {
30
 
31
  if ( ! is_numeric( $value ) ) {
32
- return esc_html__( 'Please write a numeric data!', 'csf' );
33
  }
34
 
35
  }
@@ -43,11 +43,11 @@ if ( ! function_exists( 'csf_validate_numeric' ) ) {
43
  * @version 1.0.0
44
  *
45
  */
46
- if ( ! function_exists( 'csf_validate_required' ) ) {
47
- function csf_validate_required( $value ) {
48
 
49
  if ( empty( $value ) ) {
50
- return esc_html__( 'Error! This field is required!', 'csf' );
51
  }
52
 
53
  }
@@ -61,11 +61,11 @@ if ( ! function_exists( 'csf_validate_required' ) ) {
61
  * @version 1.0.0
62
  *
63
  */
64
- if ( ! function_exists( 'csf_validate_url' ) ) {
65
- function csf_validate_url( $value ) {
66
 
67
  if ( ! filter_var( $value, FILTER_VALIDATE_URL ) ) {
68
- return esc_html__( 'Please write a valid url!', 'csf' );
69
  }
70
 
71
  }
@@ -79,11 +79,11 @@ if ( ! function_exists( 'csf_validate_url' ) ) {
79
  * @version 1.0.0
80
  *
81
  */
82
- if ( ! function_exists( 'csf_customize_validate_email' ) ) {
83
- function csf_customize_validate_email( $validity, $value, $wp_customize ) {
84
 
85
  if ( ! sanitize_email( $value ) ) {
86
- $validity->add( 'required', esc_html__( 'Please write a valid email address!', 'csf' ) );
87
  }
88
 
89
  return $validity;
@@ -99,11 +99,11 @@ if ( ! function_exists( 'csf_customize_validate_email' ) ) {
99
  * @version 1.0.0
100
  *
101
  */
102
- if ( ! function_exists( 'csf_customize_validate_numeric' ) ) {
103
- function csf_customize_validate_numeric( $validity, $value, $wp_customize ) {
104
 
105
  if ( ! is_numeric( $value ) ) {
106
- $validity->add( 'required', esc_html__( 'Please write a numeric data!', 'csf' ) );
107
  }
108
 
109
  return $validity;
@@ -119,11 +119,11 @@ if ( ! function_exists( 'csf_customize_validate_numeric' ) ) {
119
  * @version 1.0.0
120
  *
121
  */
122
- if ( ! function_exists( 'csf_customize_validate_required' ) ) {
123
- function csf_customize_validate_required( $validity, $value, $wp_customize ) {
124
 
125
  if ( empty( $value ) ) {
126
- $validity->add( 'required', esc_html__( 'Error! This field is required!', 'csf' ) );
127
  }
128
 
129
  return $validity;
@@ -139,11 +139,11 @@ if ( ! function_exists( 'csf_customize_validate_required' ) ) {
139
  * @version 1.0.0
140
  *
141
  */
142
- if ( ! function_exists( 'csf_customize_validate_url' ) ) {
143
- function csf_customize_validate_url( $validity, $value, $wp_customize ) {
144
 
145
  if ( ! filter_var( $value, FILTER_VALIDATE_URL ) ) {
146
- $validity->add( 'required', esc_html__( 'Please write a valid url!', 'csf' ) );
147
  }
148
 
149
  return $validity;
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! function_exists( 'ulf_validate_email' ) ) {
11
+ function ulf_validate_email( $value ) {
12
 
13
  if ( ! filter_var( $value, FILTER_VALIDATE_EMAIL ) ) {
14
+ return esc_html__( 'Please write a valid email address!', 'ulf' );
15
  }
16
 
17
  }
25
  * @version 1.0.0
26
  *
27
  */
28
+ if ( ! function_exists( 'ulf_validate_numeric' ) ) {
29
+ function ulf_validate_numeric( $value ) {
30
 
31
  if ( ! is_numeric( $value ) ) {
32
+ return esc_html__( 'Please write a numeric data!', 'ulf' );
33
  }
34
 
35
  }
43
  * @version 1.0.0
44
  *
45
  */
46
+ if ( ! function_exists( 'ulf_validate_required' ) ) {
47
+ function ulf_validate_required( $value ) {
48
 
49
  if ( empty( $value ) ) {
50
+ return esc_html__( 'Error! This field is required!', 'ulf' );
51
  }
52
 
53
  }
61
  * @version 1.0.0
62
  *
63
  */
64
+ if ( ! function_exists( 'ulf_validate_url' ) ) {
65
+ function ulf_validate_url( $value ) {
66
 
67
  if ( ! filter_var( $value, FILTER_VALIDATE_URL ) ) {
68
+ return esc_html__( 'Please write a valid url!', 'ulf' );
69
  }
70
 
71
  }
79
  * @version 1.0.0
80
  *
81
  */
82
+ if ( ! function_exists( 'ulf_customize_validate_email' ) ) {
83
+ function ulf_customize_validate_email( $validity, $value, $wp_customize ) {
84
 
85
  if ( ! sanitize_email( $value ) ) {
86
+ $validity->add( 'required', esc_html__( 'Please write a valid email address!', 'ulf' ) );
87
  }
88
 
89
  return $validity;
99
  * @version 1.0.0
100
  *
101
  */
102
+ if ( ! function_exists( 'ulf_customize_validate_numeric' ) ) {
103
+ function ulf_customize_validate_numeric( $validity, $value, $wp_customize ) {
104
 
105
  if ( ! is_numeric( $value ) ) {
106
+ $validity->add( 'required', esc_html__( 'Please write a numeric data!', 'ulf' ) );
107
  }
108
 
109
  return $validity;
119
  * @version 1.0.0
120
  *
121
  */
122
+ if ( ! function_exists( 'ulf_customize_validate_required' ) ) {
123
+ function ulf_customize_validate_required( $validity, $value, $wp_customize ) {
124
 
125
  if ( empty( $value ) ) {
126
+ $validity->add( 'required', esc_html__( 'Error! This field is required!', 'ulf' ) );
127
  }
128
 
129
  return $validity;
139
  * @version 1.0.0
140
  *
141
  */
142
+ if ( ! function_exists( 'ulf_customize_validate_url' ) ) {
143
+ function ulf_customize_validate_url( $validity, $value, $wp_customize ) {
144
 
145
  if ( ! filter_var( $value, FILTER_VALIDATE_URL ) ) {
146
+ $validity->add( 'required', esc_html__( 'Please write a valid url!', 'ulf' ) );
147
  }
148
 
149
  return $validity;
admin/settings/functions/walker.php CHANGED
@@ -7,8 +7,8 @@
7
  * @version 1.0.0
8
  *
9
  */
10
- if ( ! class_exists( 'CSF_Walker_Nav_Menu_Edit' ) && class_exists( 'Walker_Nav_Menu_Edit' ) ) {
11
- class CSF_Walker_Nav_Menu_Edit extends Walker_Nav_Menu_Edit {
12
 
13
  public function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) {
14
 
7
  * @version 1.0.0
8
  *
9
  */
10
+ if ( ! class_exists( 'ULF_Walker_Nav_Menu_Edit' ) && class_exists( 'Walker_Nav_Menu_Edit' ) ) {
11
+ class ULF_Walker_Nav_Menu_Edit extends Walker_Nav_Menu_Edit {
12
 
13
  public function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) {
14
 
assets/js/wp-ulike.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! WP ULike - v4.3.3
2
  * https://wpulike.com
3
  * TechnoWich 2020;
4
  */
1
+ /*! WP ULike - v4.3.4
2
  * https://wpulike.com
3
  * TechnoWich 2020;
4
  */
inc/hooks/third-party.php CHANGED
@@ -28,27 +28,24 @@ if( ! function_exists( 'wp_ulike_put_buddypress' ) ){
28
  $action = current_action();
29
 
30
  if ( isset( $options['enable_auto_display'] ) && wp_ulike_is_true( $options['enable_auto_display'] ) ) {
31
- // Add wp_ulike function
32
- $button = wp_ulike_buddypress('put');
33
-
34
  switch ( $action ) {
35
  case 'bp_activity_comment_options':
36
  if( isset( $options['enable_comments'] ) && wp_ulike_is_true( $options['enable_comments'] ) ) {
37
  if ( isset( $options['auto_display_position'] ) && $options['auto_display_position'] === 'meta' ){
38
- echo $button;
39
  }
40
  }
41
  break;
42
 
43
  case 'bp_activity_entry_meta':
44
  if ( isset( $options['auto_display_position'] ) && $options['auto_display_position'] === 'meta' ){
45
- echo $button;
46
  }
47
  break;
48
 
49
  case 'bp_activity_entry_content':
50
  if ( isset( $options['auto_display_position'] ) && $options['auto_display_position'] === 'content' ){
51
- echo $button;
52
  }
53
  break;
54
  }
@@ -134,11 +131,52 @@ if( ! function_exists( 'wp_ulike_bp_activity_filter_options' ) ){
134
  * @return void
135
  */
136
  function wp_ulike_bp_activity_filter_options() {
137
- echo "<option value='wp_like_group'>". __( 'Votes', WP_ULIKE_SLUG ) ."</option>";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
138
  }
139
- add_action( 'bp_activity_filter_options', 'wp_ulike_bp_activity_filter_options' ); // Activity Directory
140
- add_action( 'bp_member_activity_filter_options', 'wp_ulike_bp_activity_filter_options' ); // Member's profile activity
141
- add_action( 'bp_group_activity_filter_options', 'wp_ulike_bp_activity_filter_options' ); // Group's activity
142
  }
143
 
144
  if( ! function_exists( 'wp_ulike_filter_notifications_get_registered_components' ) ){
@@ -450,13 +488,11 @@ if( ! function_exists( 'wp_ulike_put_bbpress' ) ){
450
  */
451
  function wp_ulike_put_bbpress() {
452
  if ( wp_ulike_is_true( wp_ulike_get_option( 'bbpress_group|enable_auto_display', 1 ) ) ) {
453
- // Add wp_ulike function
454
- $button = wp_ulike_bbpress('put');
455
  $action = current_action();
456
  $position = wp_ulike_get_option( 'bbpress_group|auto_display_position', 'bottom' );
457
 
458
  if( $position === 'top_bottom' ){
459
- echo $button;
460
  return;
461
  }
462
 
@@ -464,14 +500,14 @@ if( ! function_exists( 'wp_ulike_put_bbpress' ) ){
464
  case 'bbp_theme_before_reply_content':
465
  case 'bbp_theme_before_topic_content':
466
  if( $position === 'top' ){
467
- echo $button;
468
  }
469
  return;
470
 
471
  case 'bbp_theme_after_reply_content':
472
  case 'bbp_theme_after_topic_content':
473
  if( $position === 'bottom' ){
474
- echo $button;
475
  }
476
  return;
477
  }
28
  $action = current_action();
29
 
30
  if ( isset( $options['enable_auto_display'] ) && wp_ulike_is_true( $options['enable_auto_display'] ) ) {
 
 
 
31
  switch ( $action ) {
32
  case 'bp_activity_comment_options':
33
  if( isset( $options['enable_comments'] ) && wp_ulike_is_true( $options['enable_comments'] ) ) {
34
  if ( isset( $options['auto_display_position'] ) && $options['auto_display_position'] === 'meta' ){
35
+ echo wp_ulike_buddypress('put');
36
  }
37
  }
38
  break;
39
 
40
  case 'bp_activity_entry_meta':
41
  if ( isset( $options['auto_display_position'] ) && $options['auto_display_position'] === 'meta' ){
42
+ echo wp_ulike_buddypress('put');
43
  }
44
  break;
45
 
46
  case 'bp_activity_entry_content':
47
  if ( isset( $options['auto_display_position'] ) && $options['auto_display_position'] === 'content' ){
48
+ echo wp_ulike_buddypress('put');
49
  }
50
  break;
51
  }
131
  * @return void
132
  */
133
  function wp_ulike_bp_activity_filter_options() {
134
+ // Display Vote Notifications
135
+ echo sprintf( '<option value="wp_like_group">%s</option>', __( 'Votes', WP_ULIKE_SLUG ) );
136
+ }
137
+ add_action( 'bp_activity_filter_options', 'wp_ulike_bp_activity_filter_options', 20 ); // Activity Directory
138
+ add_action( 'bp_member_activity_filter_options', 'wp_ulike_bp_activity_filter_options', 20 ); // Member's profile activity
139
+ add_action( 'bp_group_activity_filter_options', 'wp_ulike_bp_activity_filter_options', 20 ); // Group's activity
140
+ }
141
+
142
+ if( ! function_exists( 'wp_ulike_activity_querystring_filter' ) ){
143
+ /**
144
+ * Builds an Activity Meta Query
145
+ *
146
+ * @param string $query_string
147
+ * @param string $object
148
+ * @return array
149
+ */
150
+ function wp_ulike_activity_querystring_filter( $query_string = '', $object = '' ) {
151
+ if( $object != 'activity' ){
152
+ return $query_string;
153
+ }
154
+
155
+ // You can easily manipulate the query string
156
+ // by transforming it into an array and merging
157
+ // arguments with these default ones
158
+ $args = wp_parse_args( $query_string, array(
159
+ 'action' => false,
160
+ 'type' => false,
161
+ 'user_id' => false,
162
+ 'page' => 1
163
+ ) );
164
+
165
+ if( $args['type'] === 'wp_like_group' ) {
166
+ if( empty( $args['action'] ) ){
167
+ $args['action'] = 'wp_like_group';
168
+ }
169
+ // on user's profile, shows the most favorited activities for displayed user
170
+ if( bp_is_user() ){
171
+ $args['user_id'] = bp_displayed_user_id();
172
+ }
173
+
174
+ $query_string = empty( $args ) ? $query_string : $args;
175
+ }
176
+
177
+ return $query_string;
178
  }
179
+ add_filter( 'bp_ajax_querystring', 'wp_ulike_activity_querystring_filter', 20, 2 );
 
 
180
  }
181
 
182
  if( ! function_exists( 'wp_ulike_filter_notifications_get_registered_components' ) ){
488
  */
489
  function wp_ulike_put_bbpress() {
490
  if ( wp_ulike_is_true( wp_ulike_get_option( 'bbpress_group|enable_auto_display', 1 ) ) ) {
 
 
491
  $action = current_action();
492
  $position = wp_ulike_get_option( 'bbpress_group|auto_display_position', 'bottom' );
493
 
494
  if( $position === 'top_bottom' ){
495
+ echo wp_ulike_bbpress('put');
496
  return;
497
  }
498
 
500
  case 'bbp_theme_before_reply_content':
501
  case 'bbp_theme_before_topic_content':
502
  if( $position === 'top' ){
503
+ echo wp_ulike_bbpress('put');
504
  }
505
  return;
506
 
507
  case 'bbp_theme_after_reply_content':
508
  case 'bbp_theme_after_topic_content':
509
  if( $position === 'bottom' ){
510
+ echo wp_ulike_bbpress('put');
511
  }
512
  return;
513
  }
readme.txt CHANGED
@@ -1,12 +1,12 @@
1
  === WP ULike - Most Advanced WordPress Marketing Toolkit ===
2
  Contributors: alimir
3
  Donate link: https://wpulike.com/?utm_source=wp-repo&utm_medium=link&utm_campaign=readme
4
- Author: Ali Mirzaei
5
  Tags: like, marketing, elementor, favorite, statistics, multisite, rating, voting, dislike, gamification, bookmark, member
6
  Requires PHP: 5.6
7
  Requires at least: 5.0
8
- Tested up to: 5.4.2
9
- Stable tag: 4.3.3
10
  License: GPLv2 or later
11
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
12
 
@@ -152,6 +152,14 @@ define( 'WP_MEMORY_LIMIT', '256M' );
152
 
153
  == Changelog ==
154
 
 
 
 
 
 
 
 
 
155
  = 4.3.3 =
156
  * Added: New shortcode to display the counter value. [wp_ulike_counter]
157
  * Added: New option to enable counter value on admin post columns with sorting capability (Like/Dislike).
1
  === WP ULike - Most Advanced WordPress Marketing Toolkit ===
2
  Contributors: alimir
3
  Donate link: https://wpulike.com/?utm_source=wp-repo&utm_medium=link&utm_campaign=readme
4
+ Author: TechnoWich
5
  Tags: like, marketing, elementor, favorite, statistics, multisite, rating, voting, dislike, gamification, bookmark, member
6
  Requires PHP: 5.6
7
  Requires at least: 5.0
8
+ Tested up to: 5.5
9
+ Stable tag: 4.3.4
10
  License: GPLv2 or later
11
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
12
 
152
 
153
  == Changelog ==
154
 
155
+ = 4.3.4 =
156
+ * Added: Animated Fave Star Template. [PRO]
157
+ * Added: Minimal Pin Button Template. [PRO]
158
+ * Added: Ability to use Other plugins shortcodes in user profiles. (such as gamipress) [PRO]
159
+ * Fixed: BuddyPress filter issue in activity stream.
160
+ * Improved: Compatibility with WordPress 5.5 applied.
161
+ * Updated: Options panel framework.
162
+
163
  = 4.3.3 =
164
  * Added: New shortcode to display the counter value. [wp_ulike_counter]
165
  * Added: New option to enable counter value on admin post columns with sorting capability (Like/Dislike).
wp-ulike.php CHANGED
@@ -10,14 +10,14 @@
10
  * Plugin Name: WP ULike
11
  * Plugin URI: https://wpulike.com/?utm_source=wp-plugins&utm_campaign=plugin-uri&utm_medium=wp-dash
12
  * Description: WP ULike plugin allows to integrate a beautiful Ajax Like Button into your wordPress website to allow your visitors to like and unlike pages, posts, comments AND buddypress activities. Its very simple to use and supports many options.
13
- * Version: 4.3.3
14
- * Author: Ali Mirzaei
15
- * Author URI: https://wpulike.com/?utm_source=wp-plugins&utm_campaign=author-uri&utm_medium=wp-dash
16
  * Text Domain: wp-ulike
17
  * License: GPL2
18
  * License URI: https://www.gnu.org/licenses/gpl-2.0.html
19
  * Domain Path: /languages/
20
- * Tested up to: 5.4.2
21
 
22
  /------------------------------------------\
23
  _ __ _ _____ _ _ _ _
@@ -46,7 +46,7 @@ if ( defined( 'WP_INSTALLING' ) && WP_INSTALLING ) {
46
 
47
  // Do not change these values
48
  define( 'WP_ULIKE_PLUGIN_URI' , 'https://wpulike.com/' );
49
- define( 'WP_ULIKE_VERSION' , '4.3.3' );
50
  define( 'WP_ULIKE_DB_VERSION' , '2.1' );
51
  define( 'WP_ULIKE_SLUG' , 'wp-ulike' );
52
  define( 'WP_ULIKE_NAME' , __( 'WP ULike', WP_ULIKE_SLUG ));
@@ -151,6 +151,10 @@ if ( ! class_exists( 'WpUlikeInit' ) ) :
151
  }
152
 
153
  public function plugins_loaded(){
 
 
 
 
154
  // Load plugin text domain
155
  $this->load_plugin_textdomain();
156
  }
10
  * Plugin Name: WP ULike
11
  * Plugin URI: https://wpulike.com/?utm_source=wp-plugins&utm_campaign=plugin-uri&utm_medium=wp-dash
12
  * Description: WP ULike plugin allows to integrate a beautiful Ajax Like Button into your wordPress website to allow your visitors to like and unlike pages, posts, comments AND buddypress activities. Its very simple to use and supports many options.
13
+ * Version: 4.3.4
14
+ * Author: TechnoWich
15
+ * Author URI: https://technowich.com/?utm_source=wp-plugins&utm_campaign=author-uri&utm_medium=wp-dash
16
  * Text Domain: wp-ulike
17
  * License: GPL2
18
  * License URI: https://www.gnu.org/licenses/gpl-2.0.html
19
  * Domain Path: /languages/
20
+ * Tested up to: 5.5
21
 
22
  /------------------------------------------\
23
  _ __ _ _____ _ _ _ _
46
 
47
  // Do not change these values
48
  define( 'WP_ULIKE_PLUGIN_URI' , 'https://wpulike.com/' );
49
+ define( 'WP_ULIKE_VERSION' , '4.3.4' );
50
  define( 'WP_ULIKE_DB_VERSION' , '2.1' );
51
  define( 'WP_ULIKE_SLUG' , 'wp-ulike' );
52
  define( 'WP_ULIKE_NAME' , __( 'WP ULike', WP_ULIKE_SLUG ));
151
  }
152
 
153
  public function plugins_loaded(){
154
+ // include _deprecated settings panel
155
+ if ( defined('WP_ULIKE_PRO_VERSION') && version_compare( WP_ULIKE_PRO_VERSION, '1.4.4', '>=' ) ) {
156
+ include( WP_ULIKE_ADMIN_DIR . '/settings/_deprecated/deprecated.class.php');
157
+ }
158
  // Load plugin text domain
159
  $this->load_plugin_textdomain();
160
  }