Real Testimonials - Version 2.2.5

Version Description

  • Oct 03, 2020 =
  • New: Swipe to slide option.
  • New: Slider direction option.
  • New: Testimonial image show/hide option.
  • New: Testimonial image size option.
  • Improved: Admin scripts loading scope.
Download this release

Release Info

Developer shapedplugin
Plugin Icon 128x128 Real Testimonials
Version 2.2.5
Comparing to
See all releases

Code changes from version 2.2.4 to 2.2.5

Files changed (123) hide show
  1. admin/assets/css/admin.css +118 -554
  2. admin/assets/css/admin.min.css +1 -1
  3. admin/assets/images/client-thumb.png +0 -0
  4. admin/assets/images/pro-feature.png +0 -0
  5. admin/assets/images/tpro-tiny-mce.png +0 -0
  6. admin/assets/images/upgrade-ss1.png +0 -0
  7. admin/assets/images/upgrade-ss10.png +0 -0
  8. admin/assets/images/upgrade-ss11.png +0 -0
  9. admin/assets/images/upgrade-ss12.png +0 -0
  10. admin/assets/images/upgrade-ss13.png +0 -0
  11. admin/assets/images/upgrade-ss14.png +0 -0
  12. admin/assets/images/upgrade-ss15.png +0 -0
  13. admin/assets/images/upgrade-ss16.png +0 -0
  14. admin/assets/images/upgrade-ss17.png +0 -0
  15. admin/assets/images/upgrade-ss18.png +0 -0
  16. admin/assets/images/upgrade-ss19.png +0 -0
  17. admin/assets/images/upgrade-ss2.png +0 -0
  18. admin/assets/images/upgrade-ss20.png +0 -0
  19. admin/assets/images/upgrade-ss21.png +0 -0
  20. admin/assets/images/upgrade-ss22.png +0 -0
  21. admin/assets/images/upgrade-ss23.png +0 -0
  22. admin/assets/images/upgrade-ss24.png +0 -0
  23. admin/assets/images/upgrade-ss25.png +0 -0
  24. admin/assets/images/upgrade-ss3.png +0 -0
  25. admin/assets/images/upgrade-ss4.png +0 -0
  26. admin/assets/images/upgrade-ss5.png +0 -0
  27. admin/assets/images/upgrade-ss6.png +0 -0
  28. admin/assets/images/upgrade-ss7.png +0 -0
  29. admin/assets/images/upgrade-ss8.png +0 -0
  30. admin/assets/images/upgrade-ss9.png +0 -0
  31. admin/views/framework/assets/css/csf-rtl.min.css +0 -1
  32. admin/views/framework/assets/css/csf.min.css +0 -1
  33. admin/views/framework/assets/css/{csf-rtl.css → spftestimonial-rtl.css} +79 -131
  34. admin/views/framework/assets/css/spftestimonial-rtl.min.css +1 -0
  35. admin/views/framework/assets/css/{csf.css → spftestimonial.css} +685 -1284
  36. admin/views/framework/assets/css/spftestimonial.min.css +1 -0
  37. admin/views/framework/assets/images/layout/filter-even.png +0 -0
  38. admin/views/framework/assets/images/layout/filter-masonry.png +0 -0
  39. admin/views/framework/assets/images/layout/filter.png +0 -0
  40. admin/views/framework/assets/images/layout/grid.png +0 -0
  41. admin/views/framework/assets/images/layout/list.png +0 -0
  42. admin/views/framework/assets/images/layout/masonry.png +0 -0
  43. admin/views/framework/assets/images/layout/slider.png +0 -0
  44. admin/views/framework/assets/js/csf-plugins.min.js +0 -3
  45. admin/views/framework/assets/js/csf.min.js +0 -1
  46. admin/views/framework/assets/js/{csf-plugins.js → spftestimonial-plugins.js} +41 -46
  47. admin/views/framework/assets/js/spftestimonial-plugins.min.js +13 -0
  48. admin/views/framework/assets/js/{csf.js → spftestimonial.js} +423 -840
  49. admin/views/framework/assets/js/spftestimonial.min.js +1 -0
  50. admin/views/framework/assets/scss/csf-rtl.scss +0 -646
  51. admin/views/framework/assets/scss/csf.scss +0 -94
  52. admin/views/framework/assets/scss/vendor/_base.scss +0 -446
  53. admin/views/framework/assets/scss/vendor/_chosen.scss +0 -405
  54. admin/views/framework/assets/scss/vendor/_customizer.scss +0 -185
  55. admin/views/framework/assets/scss/vendor/_fields.scss +0 -2193
  56. admin/views/framework/assets/scss/vendor/_helper.scss +0 -183
  57. admin/views/framework/assets/scss/vendor/_mixins.scss +0 -3
  58. admin/views/framework/assets/scss/vendor/_modal.scss +0 -339
  59. admin/views/framework/assets/scss/vendor/_profile.scss +0 -66
  60. admin/views/framework/assets/scss/vendor/_responsive.scss +0 -141
  61. admin/views/framework/assets/scss/vendor/_taxonomy.scss +0 -112
  62. admin/views/framework/assets/scss/vendor/_themes.scss +0 -204
  63. admin/views/framework/assets/scss/vendor/_welcome.scss +0 -346
  64. admin/views/framework/assets/scss/vendor/_widget.scss +0 -48
  65. admin/views/framework/classes/abstract.class.php +3 -84
  66. admin/views/framework/classes/comment-metabox.class.php +0 -337
  67. admin/views/framework/classes/customize-options.class.php +12 -12
  68. admin/views/framework/classes/fields.class.php +5 -5
  69. admin/views/framework/classes/metabox.class.php +67 -78
  70. admin/views/framework/classes/options.class.php +69 -75
  71. admin/views/framework/classes/profile-options.class.php +0 -227
  72. admin/views/framework/classes/setup.class.php +71 -181
  73. admin/views/framework/classes/shortcoder.class.php +0 -279
  74. admin/views/framework/classes/taxonomy-options.class.php +0 -244
  75. admin/views/framework/classes/widgets.class.php +9 -9
  76. admin/views/framework/fields/accordion/accordion.php +8 -8
  77. admin/views/framework/fields/background/background.php +71 -71
  78. admin/views/framework/fields/backup/backup.php +11 -11
  79. admin/views/framework/fields/border/border.php +42 -72
  80. admin/views/framework/fields/button_set/button_set.php +5 -5
  81. admin/views/framework/fields/checkbox/checkbox.php +7 -7
  82. admin/views/framework/fields/code_editor/code_editor.php +11 -8
  83. admin/views/framework/fields/color/color.php +3 -3
  84. admin/views/framework/fields/color_group/color_group.php +5 -5
  85. admin/views/framework/fields/column/column.php +79 -0
  86. admin/views/framework/fields/content/content.php +2 -2
  87. admin/views/framework/fields/custom_size/custom_size.php +86 -0
  88. admin/views/framework/fields/date/date.php +7 -7
  89. admin/views/framework/fields/dimensions/dimensions.php +15 -15
  90. admin/views/framework/fields/fieldset/fieldset.php +4 -4
  91. admin/views/framework/fields/gallery/gallery.php +8 -8
  92. admin/views/framework/fields/group/group.php +32 -32
  93. admin/views/framework/fields/heading/heading.php +2 -2
  94. admin/views/framework/fields/icon/default-icons.php +0 -13
  95. admin/views/framework/fields/icon/icon.php +0 -41
  96. admin/views/framework/fields/image_select/image_select.php +38 -50
  97. admin/views/framework/fields/image_sizes/image_sizes.php +114 -0
  98. admin/views/framework/fields/link_color/link_color.php +10 -10
  99. admin/views/framework/fields/map/map.php +18 -18
  100. admin/views/framework/fields/media/media.php +18 -18
  101. admin/views/framework/fields/notice/notice.php +3 -3
  102. admin/views/framework/fields/number/number.php +5 -5
  103. admin/views/framework/fields/palette/palette.php +5 -5
  104. admin/views/framework/fields/radio/radio.php +4 -4
  105. admin/views/framework/fields/rating/rating.php +2 -2
  106. admin/views/framework/fields/repeater/repeater.php +23 -23
  107. admin/views/framework/fields/select/select.php +8 -8
  108. admin/views/framework/fields/select_f/select_f.php +2 -2
  109. admin/views/framework/fields/slider/slider.php +8 -8
  110. admin/views/framework/fields/sortable/sortable.php +7 -7
  111. admin/views/framework/fields/sorter/sorter.php +10 -10
  112. admin/views/framework/fields/spacing/spacing.php +18 -18
  113. admin/views/framework/fields/spinner/spinner.php +3 -3
  114. admin/views/framework/fields/subheading/subheading.php +2 -2
  115. admin/views/framework/fields/submessage/submessage.php +3 -3
  116. admin/views/framework/fields/switcher/switcher.php +10 -10
  117. admin/views/framework/fields/tabbed/tabbed.php +8 -8
  118. admin/views/framework/fields/text/text.php +2 -2
  119. admin/views/framework/fields/text_f/text_f.php +2 -2
  120. admin/views/framework/fields/textarea/textarea.php +2 -26
  121. admin/views/framework/fields/typography/google-fonts.php +2 -2
  122. admin/views/framework/fields/typography/typography.php +106 -106
  123. admin/views/framework/fields/upgrade/upgrade.php +0 -391
admin/assets/css/admin.css CHANGED
@@ -5,7 +5,7 @@
5
  /**
6
  * 01. 01. Header
7
  */
8
- .spt-main-class .csf-header-inner h1 {
9
  color: #444444;
10
  font-size: 22px;
11
  font-weight: 600;
@@ -14,7 +14,7 @@
14
  /**
15
  * 01. 02. Sticky
16
  */
17
- .spt-main-class .csf-sticky .csf-header-inner {
18
  z-index: 20;
19
  }
20
 
@@ -22,16 +22,16 @@
22
  * 01. 04. Navigation
23
  */
24
 
25
- .spt-main-class .csf-metabox .csf-nav {
26
  position: inherit;
27
  float: none;
28
  width: 100%;
29
  background: #f1f1f1;
30
  }
31
- .spt-main-class .csf-metabox .csf-nav ul li {
32
  display: inline-block;
33
  }
34
- .spt-main-class .csf-nav ul li a {
35
  text-transform: uppercase;
36
  font-weight: 600;
37
  }
@@ -39,14 +39,14 @@
39
  /**
40
  * 01. 06. Content
41
  */
42
- .spt-main-class .csf-metabox .csf-content {
43
  margin-left: 0;
44
  }
45
 
46
  /**
47
  * 01. 12. Metabox
48
  */
49
- .spt-main-class .csf-metabox {
50
  margin: -6px -12px -12px -12px;
51
  }
52
 
@@ -56,7 +56,7 @@
56
  /**
57
  * 02. 01. Theme Dark
58
  */
59
- .spt-main-class .csf-metabox .csf-nav ul li a {
60
  background-color: #52b3d9;
61
  font-size: 14px;
62
  padding: 15px 15px;
@@ -66,36 +66,36 @@
66
  font-weight: 600;
67
  border-bottom: 0;
68
  }
69
- #sp_tpro_shortcode_options_new .csf-metabox .csf-nav ul li a {
70
  font-size: 13px;
71
  text-transform: uppercase;
72
  padding: 16px 15px;
73
  }
74
- .spt-main-class .csf-nav ul li .csf-section-active:after {
75
  display: none;
76
  }
77
- .spt-main-class .csf-metabox .csf-nav ul li .csf-section-active {
78
  color: #444;
79
  background-color: #fff;
80
  box-shadow: 0 3px 0 0 #52b3d9 inset;
81
  }
82
- .spt-main-class .csf-metabox .csf-nav ul li .csf-section-active .fa {
83
  color: #52b3d9;
84
  }
85
- .spt-main-class .csf-metabox .csf-nav-background {
86
  display: none;
87
  }
88
 
89
  /**
90
  * 02. 02. Theme Light
91
  */
92
- .spt-main-class.csf-theme-light .csf-container {
93
  border: 1px solid #ccd0d4;
94
  }
95
- .spt-main-class.csf-theme-light .csf-header-inner {
96
  border-bottom: 1px solid #ccd0d4;
97
  }
98
- .spt-main-class.csf-theme-light .csf-nav ul li a {
99
  color: #464646;
100
  background-color: #f5f5f5;
101
  border-top: 0;
@@ -104,51 +104,44 @@
104
  margin-bottom: 0;
105
  padding: 15px 15px;
106
  }
107
- .spt-main-class.csf-theme-light .csf-nav ul li .csf-section-active {
108
  box-shadow: 3px 0 0 0 #52b3d9 inset;
109
  background-color: #ffffff;
110
  color: #52b3d9;
111
  }
112
- .spt-main-class.csf-theme-light .csf-nav ul ul li a {
113
  background-color: #f8fdff;
114
  padding: 13px 15px 13px 24px;
115
  }
116
- .spt-main-class.csf-theme-light .csf-nav-background {
117
  border-right: 1px solid #ccd0d4;
118
  }
119
-
120
- /**
121
- * 03. Fields
122
- */
123
- .spt-main-class .csf-field {
124
- padding: 22px 30px;
125
- }
126
 
127
  /**
128
  * 03. 05. Field: border, spacing, dimensions
129
  */
130
- .spt-main-class .csf-field-border .csf--input,
131
- .spt-main-class .csf-field-spacing .csf--input,
132
- .spt-main-class .csf-field-dimensions .csf--input {
133
  margin-right: 10px;
134
  margin-bottom: 7px;
135
  }
136
- .spt-main-class .csf-field-border .csf--input select,
137
- .spt-main-class .csf-field-spacing .csf--input select,
138
- .spt-main-class .csf-field-dimensions .csf--input select {
139
  line-height: 26px;
140
  }
141
- .spt-main-class .csf-field-border .csf--input input,
142
- .spt-main-class .csf-field-spacing .csf--input input,
143
- .spt-main-class .csf-field-dimensions .csf--input input {
144
  line-height: 30px;
145
  float: left;
146
  padding: 0;
147
  border-radius: 0;
148
  }
149
- .spt-main-class .csf-field-border .csf--label,
150
- .spt-main-class .csf-field-spacing .csf--label,
151
- .spt-main-class .csf-field-dimensions .csf--label {
152
  max-width: 100%;
153
  font-size: 12px;
154
  line-height: 30px;
@@ -160,85 +153,23 @@
160
  padding: 0 6px;
161
  min-height: 30px;
162
  }
163
- .spt-main-class .csf-field-border .csf--label-icon,
164
- .spt-main-class .csf-field-spacing .csf--label-icon,
165
- .spt-main-class .csf-field-dimensions .csf--label-icon {
166
  min-width: 20px;
167
  border-radius: 2px 0 0 2px;
168
  }
169
- .spt-main-class .csf-field-border .csf--label-unit,
170
- .spt-main-class .csf-field-spacing .csf--label-unit,
171
- .spt-main-class .csf-field-dimensions .csf--label-unit {
172
  color: #999;
173
  border-radius: 0 2px 2px 0;
174
  }
175
-
176
- /**
177
- * 03. 16. Field: image_select, icon_select
178
- */
179
- .spt-main-class .csf-field-icon_select .csf--image {
180
- width: 35px;
181
- height: 35px;
182
- text-align: center;
183
- line-height: 35px;
184
- font-size: 20px;
185
- }
186
- .spt-main-class .csf-field-image_select .csf--image,
187
- .spt-main-class .csf-field-icon_select .csf--image {
188
- cursor: pointer;
189
- position: relative;
190
- display: inline-block;
191
- max-width: 100%;
192
- margin: 0 5px 5px 0;
193
- vertical-align: bottom;
194
- border: 2px solid #f4f4f4;
195
- background-color: #fff;
196
- user-select: none;
197
- -webkit-user-select: none;
198
- -moz-transition: all 0.2s;
199
- -o-transition: all 0.2s;
200
- -webkit-transition: all 0.2s;
201
- transition: all 0.2s;
202
- }
203
- .spt-main-class .csf-field-image_select .csf--image:before,
204
- .spt-main-class .csf-field-icon_select .csf--image:before {
205
- position: absolute;
206
- top: 0;
207
- left: 0;
208
- text-align: center;
209
- font-size: 11px;
210
- font-family: FontAwesome;
211
- content: "\f00c";
212
- width: 15px;
213
- height: 15px;
214
- line-height: 15px;
215
- opacity: 0;
216
- color: #fff;
217
- background-color: #52b3d9;
218
- transition: opacity .2s;
219
- }
220
- .spt-main-class .csf-field-image_select .csf--active,
221
- .spt-main-class .csf-field-icon_select .csf--active {
222
- border-color: #52b3d9;
223
- }
224
- .spt-main-class .csf-field-image_select .csf--active:before,
225
- .spt-main-class .csf-field-icon_select .csf--active:before {
226
- opacity: 0;
227
- }
228
- .spt-main-class .csf-field-image_select img {
229
- vertical-align: top;
230
- }
231
- .spt-main-class .csf-field-image_select input,
232
- .spt-main-class .csf-field-icon_select input {
233
- display: none;
234
- }
235
-
236
-
237
 
238
  /**
239
  * 03. 25. Field: spinner
240
  */
241
- .spt-main-class .csf-field-spinner .csf--unit {
242
  float: right;
243
  height: 30px;
244
  line-height: 26px;
@@ -252,7 +183,7 @@
252
  margin: 0;
253
  box-sizing: border-box;
254
  }
255
- .spt-main-class .csf-field-spinner .ui-spinner-button {
256
  cursor: pointer;
257
  position: relative;
258
  overflow: hidden;
@@ -267,22 +198,22 @@
267
  background-color: #eee;
268
  box-sizing: border-box;
269
  }
270
- .spt-main-class .csf-field-spinner .ui-spinner-button:before {
271
  font-family: FontAwesome;
272
  font-size: 16px;
273
  line-height: 16px;
274
  }
275
- .spt-main-class .csf-field-spinner .ui-spinner-down {
276
  float: left;
277
  border-right: 0;
278
  border-radius: 2px 0 0 2px;
279
  }
280
- .spt-main-class .csf-field-spinner .ui-spinner-up {
281
  float: right;
282
  border-left: 0;
283
  border-radius: 0 2px 2px 0;
284
  }
285
- .spt-main-class .csf-field-spinner input {
286
  width: 60px;
287
  text-align: center;
288
  margin: 0;
@@ -292,22 +223,22 @@
292
  border: 1px solid #ddd;
293
  border-radius: 0;
294
  }
295
- .spt-main-class .csf-field-spinner input:focus {
296
  outline: none;
297
  }
298
 
299
  /**
300
  * 03. 27. Field: tabbed
301
  */
302
- .spt-main-class .csf-field-tabbed .csf-tabbed-section {
303
  border: 1px solid #eee;
304
  }
305
 
306
  /**
307
  * 03. 28. Field: text
308
  */
309
- .spt-main-class .csf-field-text input,
310
- .spt-main-class .csf-field-text_f input {
311
  width: 340px;
312
  max-width: 100%;
313
  }
@@ -315,40 +246,40 @@
315
  /**
316
  * 03. 30. Field: typography
317
  */
318
- .spt-main-class .csf-field-typography textarea,
319
- .spt-main-class .csf-field-typography select {
320
  margin: 0;
321
  width: 100%;
322
  }
323
- .spt-main-class .csf-field-typography .csf--title {
324
  color: #999;
325
  margin: 0 0 2px 0;
326
  }
327
- .spt-main-class .csf-field-typography .csf--block {
328
  padding-right: 5px;
329
  padding-bottom: 10px;
330
  box-sizing: border-box;
331
  }
332
- .spt-main-class .csf-field-typography .csf--block .csf--block {
333
  padding-right: 0;
334
  padding-bottom: 0;
335
  }
336
- .spt-main-class .csf-field-typography .csf--blocks-selects .csf--block {
337
  flex: 1 33.3%;
338
  }
339
- .spt-main-class .csf-field-typography .csf--blocks-inputs .csf--block {
340
  flex: 1 25%;
341
  }
342
- .spt-main-class .csf-field-typography .csf--blocks-inputs .csf--block .csf--block {
343
  flex: 1;
344
  }
345
- .spt-main-class .csf-field-typography .csf--input {
346
  margin: 0;
347
  width: 100%;
348
  padding: 2px 8px;
349
  border-radius: 4px 0 0 4px;
350
  }
351
- .spt-main-class .csf-field-typography .csf--unit {
352
  min-width: 40px;
353
  max-width: 40px;
354
  font-size: 12px;
@@ -361,7 +292,7 @@
361
  border-left: 0;
362
  line-height: 30px;
363
  }
364
- .spt-main-class .csf-field-typography .csf--preview {
365
  font-size: 16px;
366
  line-height: 20px;
367
  padding: 20px;
@@ -373,57 +304,43 @@
373
  -webkit-user-select: none;
374
  transition: background-color .2s, border-color .2s;
375
  }
376
- .spt-main-class .csf-field-typography .csf--block-preview {
377
  cursor: pointer;
378
  position: relative;
379
  overflow: hidden;
380
  margin-top: 10px;
381
  max-width: 100%;
382
  }
383
- .spt-main-class .csf-field-typography .csf--black-background {
384
  border-color: #000;
385
  background-color: #000;
386
  }
387
- .spt-main-class .csf-field-typography .csf--toggle {
388
  position: absolute;
389
  top: 5px;
390
  right: 10px;
391
  color: #999;
392
  }
393
- .spt-main-class .csf-field-typography .csf--block-extra-styles {
394
  margin-top: 5px;
395
  }
396
-
397
- /**
398
- * 03. 37. others
399
- */
400
- /* .csf-field .csf--transparent-button {
401
- display: inline-block;
402
- text-align: center;
403
- cursor: pointer;
404
- margin-top: 10px;
405
- user-select: none;
406
- -webkit-user-select: none;
407
- color: #999;
408
- transition: background-color .2s, border-color .2s, color .2s;
409
- } */
410
 
411
  /**
412
  * 05. Widget
413
  */
414
 
415
- .spt-main-class .control-section .csf-field .csf-title {
416
  margin-bottom: 10px;
417
  }
418
- .spt-main-class .control-section .csf-field .csf-title h4 {
419
  font-size: 14px;
420
  }
421
- .spt-main-class .control-section .csf-field-background .csf--select {
422
  width: 100%;
423
  }
424
- .spt-main-class .control-section .csf-field-border select,
425
- .spt-main-class .control-section .csf-field-spacing select,
426
- .spt-main-class .control-section .csf-field-dimensions select {
427
  width: auto;
428
  }
429
 
@@ -431,8 +348,8 @@
431
  /**
432
  * 08. Helper
433
  */
434
- .spt-main-class .csf-text-desc,
435
- .spt-main-class .csf-text-subtitle {
436
  font-style: italic;
437
  }
438
 
@@ -440,98 +357,98 @@
440
  * 11. Responsive
441
  */
442
  @media only screen and (max-width: 1200px) {
443
- .spt-main-class .csf-metabox .csf-field .csf-title {
444
  float: none;
445
  width: 100%;
446
  margin-bottom: 10px;
447
  }
448
- .spt-main-class .csf-metabox .csf-field .csf-fieldset {
449
  margin-left: 0;
450
  }
451
  }
452
  @media only screen and (max-width: 782px) {
453
- .spt-main-class .csf-header-inner {
454
  text-align: center;
455
  }
456
- .spt-main-class .csf-header-inner h1 {
457
  width: 100%;
458
  margin-bottom: 10px;
459
  }
460
- .spt-main-class .csf-search,
461
- .spt-main-class .csf-header-right,
462
- .spt-main-class .csf-header-left {
463
  width: 100%;
464
  }
465
- .spt-main-class .csf-search {
466
  text-align: center;
467
  margin-bottom: 15px;
468
  }
469
- .spt-main-class .csf-footer {
470
  text-align: center;
471
  }
472
- .spt-main-class .csf-buttons {
473
  float: none;
474
  }
475
- .spt-main-class .csf-copyright {
476
  float: none;
477
  margin-top: 10px;
478
  }
479
- .spt-main-class .csf-nav,
480
- .spt-main-class .csf-expand-all,
481
- .spt-main-class .csf-reset-section,
482
- .spt-main-class .csf-nav-background {
483
  display: none !important;
484
  }
485
 
486
- .spt-main-class .csf-content {
487
  margin-left: 0;
488
  }
489
 
490
- .spt-main-class .csf-section-title,
491
- .spt-main-class .csf-section {
492
  display: block !important;
493
  }
494
 
495
- .spt-main-class .csf-field .csf-title {
496
  float: none;
497
  width: 100%;
498
  margin-bottom: 10px;
499
  }
500
- .spt-main-class .csf-field .csf-fieldset {
501
  margin-left: 0;
502
  }
503
 
504
- .spt-main-class .csf-modal-inner {
505
  width: 350px;
506
  height: 380px;
507
  }
508
 
509
- .spt-main-class .csf-modal-content {
510
  height: 282px;
511
  }
512
 
513
- .spt-main-class .csf-icon-dialog .csf-modal-inner {
514
  width: 305px;
515
  height: 380px;
516
  }
517
- .spt-main-class .csf-icon-dialog .csf-modal-content {
518
  height: 267px;
519
  }
520
 
521
- .spt-main-class .csf-modal-icon .csf-modal-inner {
522
  width: 330px;
523
  height: 385px;
524
  }
525
- .spt-main-class .csf-modal-icon .csf-modal-content {
526
  height: 252px;
527
  }
528
 
529
- .spt-main-class .csf-profile > .csf-field > .csf-title {
530
  float: none;
531
  width: 100%;
532
  margin-bottom: 10px;
533
  }
534
- .spt-main-class .csf-profile > .csf-field > .csf-fieldset {
535
  margin-left: 0;
536
  }
537
  }
@@ -579,31 +496,31 @@
579
  }
580
 
581
  /*ShortCode Area*/
582
- .csf-metabox .sp-tpro-banner {
583
  background-color:#2684a6;
584
  padding: 22px 28px;
585
  overflow: hidden;
586
  background-image: -webkit-gradient(linear,left top,right top,from(#2684a6),to(#52b3d9));
587
  background-image: linear-gradient(to right, #2684a6,#52b3d9);
588
  }
589
- .csf-metabox .sp-tpro-logo{
590
  float: left;
591
  }
592
- .csf-metabox .sp-tpro-logo img{
593
  display: block;
594
  width: 182px;
595
  }
596
- .csf-metabox .sp-tpro-short-links{
597
  float: right;
598
  line-height: 30px;
599
  }
600
- .csf-metabox .sp-tpro-short-links a{
601
  color: #ffffff;
602
  text-decoration: none;
603
  margin-left: 16px;
604
  font-size: 15px;
605
  }
606
- .csf-metabox .sp-tpro-short-links a i.fa{
607
  margin-right: 7px;
608
  }
609
  .sp-testimonial-shortcode-divider {
@@ -611,45 +528,45 @@
611
  background: #f1f1f1;
612
  border-top: 1px solid #dddddd;
613
  }
614
- .csf-metabox .tpro_shortcode{
615
  display: inline-flex;
616
  width:100%;
617
  background-color: #fffdfd;
618
  }
619
- .tpro_shortcode .tpro-col-lg-3 {
620
  border-right: 1px solid #dddddd;
621
- width: 33.33%;
622
  }
623
- .tpro_shortcode .tpro-col-lg-3 .tpro_shortcode_content{
624
  padding: 42px 16px;
625
  }
626
- .tpro_shortcode .tpro-col-lg-3:last-child .tpro_shortcode_content{
627
  padding: 42px 16px 0 16px;
628
  }
629
- .tpro_shortcode .tpro-col-lg-3 .tpro_shortcode_content .tpro-sc-code{
630
  background-color: rgba(82, 179, 217, 0.11);
631
  padding: 10px 15px;
632
  display: inline-block;
633
  }
634
- .tpro_shortcode .tpro-col-lg-3:last-child {
635
  border-right: none;
636
  }
637
- .tpro_shortcode .tpro-col-lg-3 .tpro-shortcode-title {
638
  font-weight: 500;
639
  font-size: 17px !important;
640
  padding-top: 0 !important;
641
  color: #4c5158;
642
  }
643
- .tpro_shortcode .tpro-col-lg-3 p {
644
  margin-top: 2px;
645
  color: #4c5158;
646
  }
647
- .tpro_shortcode .tpro-col-lg-3 .back-image {
648
  max-width: 100%;
649
  display: block;
650
  margin: 0 auto;
651
  }
652
- .tpro_shortcode .tpro-col-lg-3 textarea {
653
  border-color: transparent;
654
  box-shadow: none;
655
  background-color: #eee;
@@ -659,367 +576,30 @@
659
  max-width: 100%;
660
  }
661
 
662
- /**
663
- Upgrade to Pro
664
- */
665
- #poststuff .sp-tfree-upgrade-body .sp-tfree-section-title {
666
- padding: 13px 30px;
667
- font-size: 28px;
668
- line-height: 1;
669
- font-weight: 700;
670
- color: #2e9cc7;
671
- text-transform: uppercase;
672
- margin-bottom: 0;
673
- margin-top: 0;
674
- }
675
-
676
- #poststuff .sp-tfree-upgrade-body .sp-tfree-section-feature-icon {
677
- padding: 30px 30px 0 30px;
678
- }
679
-
680
- .sp-tfree-upgrade-body .tfree-option {
681
- padding: 30px 30px;
682
- border-bottom: 1px solid #efefef;
683
- }
684
-
685
- .sp-tfree-upgrade-body .tfree-option:nth-child(2n+0) {
686
- background-color: #fafafa;
687
- }
688
-
689
- .sp-tfree-upgrade-header .tfree-overlay-color {
690
- background: #2684a6;
691
- position: absolute;
692
- width: 100%;
693
- height: 100%;
694
- top: 0;
695
- left: 0;
696
- z-index: 1;
697
- }
698
-
699
- .sp-tfree-upgrade-header {
700
- overflow: hidden;
701
- padding: 43px 40px;
702
- position: relative;
703
- }
704
-
705
- .sp-tfree-upgrade-header .sp-tfree-container {
706
- position: relative;
707
- z-index: 2;
708
- }
709
-
710
- .sp-tfree-upgrade-header .free-upgrade-btn {
711
- font-size: 15px;
712
- color: #ffffff;
713
- border-radius: 0;
714
- border: 0;
715
- height: auto !important;
716
- line-height: 24px !important;
717
- padding: 13px 18px !important;
718
- text-align: center;
719
- font-weight: 500;
720
- }
721
-
722
- .sp-tfree-upgrade-header .sp-tfree-col-lg-7 {
723
- width: 58.33333333%;
724
- float: left;
725
- }
726
-
727
- .sp-tfree-upgrade-header .sp-tfree-col-lg-5 {
728
- width: 41.66666667%;
729
- float: left;
730
- text-align: right;
731
- }
732
-
733
- .sp-tfree-upgrade-header .sp-tfree-upgrade-title {
734
- margin: 0;
735
- padding: 0;
736
- font-size: 24px;
737
- font-weight: 700;
738
- color: #ffffff;
739
- }
740
-
741
- .sp-tfree-upgrade-header .sp-tfree-upgrade-subtitle {
742
- font-size: 15px;
743
- font-weight: 500;
744
- margin-top: 10px;
745
- margin-bottom: 0;
746
- color: #ffffff;
747
- }
748
-
749
- .sp-tfree-upgrade-footer .free-upgrade-btn.upgrade-btn,
750
- .sp-tfree-upgrade-footer .free-upgrade-btn.demo-btn {
751
- font-family: 'Raleway', sans-serif;
752
- box-shadow: none;
753
- border: 0;
754
- color: #fff;
755
- border-radius: 0;
756
- font-size: 16px;
757
- font-weight: 500;
758
- height: auto !important;
759
- line-height: 24px !important;
760
- padding: 13px 20px !important;
761
- text-align: center;
762
- }
763
-
764
- .sp-tfree-upgrade-header .upgrade-btn,
765
- .sp-tfree-upgrade-footer .upgrade-btn {
766
- background-color: #3cb371;
767
- box-shadow: 0px 1px 26px -3px #333333;
768
- margin-right: 14px;
769
- }
770
-
771
- .sp-tfree-upgrade-header .upgrade-btn:hover,
772
- .sp-tfree-upgrade-footer .upgrade-btn:hover,
773
- .sp-tfree-upgrade-footer .free-upgrade-btn.upgrade-btn:focus,
774
- .sp-tfree-upgrade-header .free-upgrade-btn.upgrade-btn:focus {
775
- background: #26a55f;
776
- color: #fff;
777
- }
778
-
779
- .sp-tfree-upgrade-header .demo-btn,
780
- .sp-tfree-upgrade-footer .demo-btn {
781
- background-color: #52b3d9;
782
- box-shadow: 0px 1px 26px -3px #333333;
783
- }
784
-
785
- .sp-tfree-upgrade-header .demo-btn:hover,
786
- .sp-tfree-upgrade-footer .demo-btn:hover,
787
- .sp-tfree-upgrade-footer .free-upgrade-btn.demo-btn:focus,
788
- .sp-tfree-upgrade-header .free-upgrade-btn.demo-btn:focus {
789
- background: #2e9cc7;
790
- color: #fff;
791
- }
792
-
793
- .sp-tfree-upgrade-header h1,
794
- .sp-tfree-upgrade-header h4,
795
- .sp-tfree-upgrade-footer h2,
796
- .sp-tfree-upgrade-header p {
797
- color: #fff;
798
- font-family: 'Raleway', sans-serif;
799
- }
800
-
801
- #poststuff .sp-tfree-mbf-tab-content .sp-tfree-upgrade-body .sp-tfree-col-lg-2 h2 {
802
- font-size: 28px;
803
- padding-top: 40px;
804
- padding-left: 0;
805
- text-transform: uppercase;
806
- font-weight: 700;
807
- padding-bottom: 0;
808
- }
809
-
810
- #poststuff .sp-tfree-mbf-tab-content .sp-tfree-upgrade-body .sp-tfree-col-lg-2 h4{
811
- line-height: 24px;
812
- }
813
-
814
- .sp-tfree-mbf-tab-content .sp-tfree-upgrade-body .sp-tfree-col-lg-2 h4 {
815
- font-size: 20px;
816
- font-weight: 600;
817
- margin-bottom: 20px;
818
- line-height: 1.1;
819
- }
820
-
821
- #poststuff .sp-tfree-mbf-tab-content .sp-tfree-upgrade-body .sp-tfree-col-lg-2 h2,
822
- .sp-tfree-mbf-tab-content .sp-tfree-upgrade-body .sp-tfree-col-lg-2 h4 {
823
- color: #7c848e;
824
- }
825
-
826
- .sp-tfree-mbf-tab-content .sp-tfree-upgrade-body .sp-tfree-col-lg-2 p {
827
- font-size: 15px;
828
- color: #444;
829
- margin-top: 10px;
830
- }
831
-
832
- .sp-tfree-mbf-tab-content .sp-tfree-col-lg-2 {
833
- width: 50%;
834
- float: left;
835
- }
836
-
837
- .sp-tfree-mbf-tab-content .sp-tfree-col-lg-2 .sp-tfree-content {
838
- font-family: 'Raleway', sans-serif;
839
- padding: 25px;
840
- }
841
-
842
- .sp-tfree-mbf-tab-content .sp-tfree-col-lg-2 img {
843
- width: 100%;
844
- }
845
-
846
- .sp-tfree-mbf-tab-content .sp-tfree-col-lg-2 .sp-tfree-content img {
847
- box-shadow: 0px 0px 20px 0px #aaaaaa;
848
- }
849
-
850
- .sp-tfree-mbf-tab-content .sp-tfree-col-lg-2 h4 {
851
- margin-top: 0.33em;
852
- }
853
-
854
- .sp-tfree-mbf-tab-content .tfree-option:after {
855
- content: "";
856
- display: table;
857
- clear: both;
858
- }
859
-
860
- .sp-tfree-mbf-tab-content .sp-tfree-video-tutorial {
861
- padding: 30px 80px 50px;
862
- }
863
-
864
- .sp-tfree-mbf-tab-content .sp-tfree-video-tutorial-video {
865
- position: relative;
866
- padding-bottom: 56.4%;
867
- width: 100%;
868
- max-width: 100%;
869
- height: 0;
870
- text-align: center;
871
- }
872
-
873
- .sp-tfree-mbf-tab-content .sp-tfree-video-tutorial-video iframe {
874
- position: absolute;
875
- top: 0;
876
- left: 0;
877
- width: 100%;
878
- height: 100%;
879
- }
880
-
881
- #poststuff .sp-tfree-mbf-tab-content .sp-tfree-video-tutorial h2 {
882
- font-size: 30px;
883
- font-weight: 600;
884
- color: #444444;
885
- margin-bottom: 20px;
886
- }
887
-
888
- .sp-tfree-mbf-tab-content .tfree-option:after, .sp-tfree-mbf-tab-content .tfree-option:before {
889
- -webkit-box-sizing: border-box;
890
- -moz-box-sizing: border-box;
891
- box-sizing: border-box;
892
- }
893
-
894
- .sp-tfree-upgrade-footer {
895
- padding: 60px 40px 40px 40px;
896
- }
897
-
898
- .sp-tfree-mbf-tab-content .sp-tfree-upgrade-footer {
899
- font-family: 'Raleway', sans-serif;
900
- color: #fff;
901
- position: relative;
902
- z-index: 1;
903
- }
904
-
905
- .sp-tfree-mbf-tab-content .sp-tfree-upgrade-footer .tfree-overlay-color {
906
- position: absolute;
907
- width: 100%;
908
- height: 100%;
909
- top: 0px;
910
- left: 0px;
911
- z-index: -1;
912
- background: #2684a6;
913
- }
914
-
915
- #poststuff .sp-tfree-mbf-tab-content .sp-tfree-upgrade-footer h2 {
916
- font-size: 28px;
917
- margin-top: 12px;
918
- font-weight: 700;
919
- }
920
-
921
- .sp-tfree-mbf-tab-content .sp-tfree-upgrade-footer p {
922
- margin-top: 0;
923
- }
924
-
925
- .sp-tfree-mbf-tab-content .sp-tfree-upgrade-footer p {
926
- margin-top: 0;
927
- margin-bottom: 34px;
928
- }
929
-
930
- .sp-tfree-mbf-tab-content .sp-tfree-upgrade-footer a {
931
- margin-bottom: 20px;
932
- }
933
-
934
- .sp-tfree-mbf-tab-content .sp-tfree-upgrade-footer p {
935
- font-size: 18px;
936
- font-weight: 500;
937
- }
938
-
939
  /* Responsive */
940
  @media (max-width: 1200px) {
941
  .sp-tfree-metabox-framework .sp-tfree-mbf {
942
  display: block;
943
  }
944
-
945
- .sp-tfree-mbf-tab-content .sp-tfree-col-lg-2 {
946
- width: 100%;
947
- float: none;
948
- }
949
-
950
- #poststuff .sp-tfree-mbf-tab-content .sp-tfree-upgrade-body .sp-tfree-col-lg-2 h2 {
951
- padding-top: 0;
952
- }
953
-
954
- .sp-tfree-mbf-tab-content .sp-tfree-col-lg-2:last-of-type .sp-tfree-content {
955
- padding-top: 0;
956
- padding-bottom: 40px;
957
- }
958
-
959
  .sp-tfree-mbf .sp-tfree-col-lg-3,
960
  .sp-tfree-element .sp-tfree-input-label,
961
  .sp-tfree-element .sp-tfree-input-field {
962
  width: 100%;
963
  }
964
-
965
  .sp-tfree-mbf .sp-tfree-col-lg-3 {
966
  display: block;
967
  border-bottom: 1px solid #e5e5e5;
968
  padding-bottom: 15px;
969
  border-right: none;
970
  }
971
-
972
  .sp-tfree-mbf .sp-tfree-col-lg-3:last-of-type {
973
  border-bottom: none;
974
  padding-bottom: 0;
975
  }
976
- .sp-tfree-upgrade-header .sp-tfree-col-lg-7 {
977
- width: 100%;
978
- float: none;
979
- }
980
- .sp-tfree-upgrade-header .sp-tfree-col-lg-5 {
981
- width: 100%;
982
- float: none;
983
- text-align: center;
984
- }
985
- .sp-tfree-upgrade-header .sp-tfree-container {
986
- text-align: center;
987
- }
988
- .sp-tfree-upgrade-header .sp-tfree-upgrade-subtitle {
989
- margin-bottom: 20px;
990
- }
991
  }
992
 
993
- @media (max-width: 1024px) {
994
- .sp-tfree-upgrade-header .demo-btn,
995
- .sp-tfree-upgrade-footer .demo-btn,
996
- .sp-tfree-upgrade-header .upgrade-btn,
997
- .sp-tfree-upgrade-footer .upgrade-btn {
998
- margin: 0 auto;
999
- display: block;
1000
- }
1001
-
1002
- .sp-tfree-mbf-tab-content .sp-tfree-upgrade-header a.upgrade-btn,
1003
- .sp-tfree-mbf-tab-content .sp-tfree-upgrade-footer a.upgrade-btn,
1004
- .sp-tfree-upgrade-header .sp-tfree-upgrade-subtitle {
1005
- margin-bottom: 20px;
1006
- }
1007
-
1008
- .sp-tfree-upgrade-header .sp-tfree-col-lg-7 {
1009
- width: 100%;
1010
- float: none;
1011
- }
1012
-
1013
- .sp-tfree-upgrade-header .sp-tfree-col-lg-5 {
1014
- width: 100%;
1015
- float: none;
1016
- text-align: center;
1017
- }
1018
-
1019
- .sp-tfree-upgrade-header .sp-tfree-container {
1020
- text-align: center;
1021
- }
1022
- }
1023
 
1024
  /* Custom */
1025
  .sp-testimonial-shortcode {
@@ -1043,27 +623,11 @@
1043
  .js #sp_tpro_meta_options.postbox .handlediv, .js #sp_tpro_meta_options.postbox .hndle {
1044
  display: none;
1045
  }
1046
- .sp-testimonial-font-load .csf--switcher,
1047
  .sp-testimonial-font-color .wp-picker-container {
1048
  pointer-events: none;
1049
  opacity: .6;
1050
  }
1051
- #sp_tpro_shortcode_options .csf-metabox .csf-nav ul li:last-of-type a {
1052
- background-color: #35b135;
1053
- }
1054
- #sp_tpro_shortcode_options .csf-metabox .csf-nav ul li:last-of-type .csf-section-active {
1055
- color: #35b135;
1056
- background-color: #fff;
1057
- box-shadow: 0 3px 0 0 #35b135 inset;
1058
- }
1059
- #sp_tpro_shortcode_options .csf-metabox .csf-nav ul li:last-of-type .csf-section-active .fa{
1060
- color: #35b135;
1061
- }
1062
- #sp_tpro_shortcode_options .csf-field.csf-field-upgrade {
1063
- padding: 0;
1064
- }
1065
-
1066
-
1067
 
1068
  /* Help Page */
1069
  .sp-tfree-text-center{
5
  /**
6
  * 01. 01. Header
7
  */
8
+ .spt-main-class .spftestimonial-header-inner h1 {
9
  color: #444444;
10
  font-size: 22px;
11
  font-weight: 600;
14
  /**
15
  * 01. 02. Sticky
16
  */
17
+ .spt-main-class .spftestimonial-sticky .spftestimonial-header-inner {
18
  z-index: 20;
19
  }
20
 
22
  * 01. 04. Navigation
23
  */
24
 
25
+ .spt-main-class .spftestimonial-metabox .spftestimonial-nav {
26
  position: inherit;
27
  float: none;
28
  width: 100%;
29
  background: #f1f1f1;
30
  }
31
+ .spt-main-class .spftestimonial-metabox .spftestimonial-nav ul li {
32
  display: inline-block;
33
  }
34
+ .spt-main-class .spftestimonial-nav ul li a {
35
  text-transform: uppercase;
36
  font-weight: 600;
37
  }
39
  /**
40
  * 01. 06. Content
41
  */
42
+ .spt-main-class .spftestimonial-metabox .spftestimonial-content {
43
  margin-left: 0;
44
  }
45
 
46
  /**
47
  * 01. 12. Metabox
48
  */
49
+ .spt-main-class .spftestimonial-metabox {
50
  margin: -6px -12px -12px -12px;
51
  }
52
 
56
  /**
57
  * 02. 01. Theme Dark
58
  */
59
+ .spt-main-class .spftestimonial-metabox .spftestimonial-nav ul li a {
60
  background-color: #52b3d9;
61
  font-size: 14px;
62
  padding: 15px 15px;
66
  font-weight: 600;
67
  border-bottom: 0;
68
  }
69
+ #sp_tpro_shortcode_options_new .spftestimonial-metabox .spftestimonial-nav ul li a {
70
  font-size: 13px;
71
  text-transform: uppercase;
72
  padding: 16px 15px;
73
  }
74
+ .spt-main-class .spftestimonial-nav ul li .spftestimonial-section-active:after {
75
  display: none;
76
  }
77
+ .spt-main-class .spftestimonial-metabox .spftestimonial-nav ul li .spftestimonial-section-active {
78
  color: #444;
79
  background-color: #fff;
80
  box-shadow: 0 3px 0 0 #52b3d9 inset;
81
  }
82
+ .spt-main-class .spftestimonial-metabox .spftestimonial-nav ul li .spftestimonial-section-active .fa {
83
  color: #52b3d9;
84
  }
85
+ .spt-main-class .spftestimonial-metabox .spftestimonial-nav-background {
86
  display: none;
87
  }
88
 
89
  /**
90
  * 02. 02. Theme Light
91
  */
92
+ .spt-main-class.spftestimonial-theme-light .spftestimonial-container {
93
  border: 1px solid #ccd0d4;
94
  }
95
+ .spt-main-class.spftestimonial-theme-light .spftestimonial-header-inner {
96
  border-bottom: 1px solid #ccd0d4;
97
  }
98
+ .spt-main-class.spftestimonial-theme-light .spftestimonial-nav ul li a {
99
  color: #464646;
100
  background-color: #f5f5f5;
101
  border-top: 0;
104
  margin-bottom: 0;
105
  padding: 15px 15px;
106
  }
107
+ .spt-main-class.spftestimonial-theme-light .spftestimonial-nav ul li .spftestimonial-section-active {
108
  box-shadow: 3px 0 0 0 #52b3d9 inset;
109
  background-color: #ffffff;
110
  color: #52b3d9;
111
  }
112
+ .spt-main-class.spftestimonial-theme-light .spftestimonial-nav ul ul li a {
113
  background-color: #f8fdff;
114
  padding: 13px 15px 13px 24px;
115
  }
116
+ .spt-main-class.spftestimonial-theme-light .spftestimonial-nav-background {
117
  border-right: 1px solid #ccd0d4;
118
  }
 
 
 
 
 
 
 
119
 
120
  /**
121
  * 03. 05. Field: border, spacing, dimensions
122
  */
123
+ .spt-main-class .spftestimonial-field-border .spftestimonial--input,
124
+ .spt-main-class .spftestimonial-field-spacing .spftestimonial--input,
125
+ .spt-main-class .spftestimonial-field-dimensions .spftestimonial--input {
126
  margin-right: 10px;
127
  margin-bottom: 7px;
128
  }
129
+ .spt-main-class .spftestimonial-field-border .spftestimonial--input select,
130
+ .spt-main-class .spftestimonial-field-spacing .spftestimonial--input select,
131
+ .spt-main-class .spftestimonial-field-dimensions .spftestimonial--input select {
132
  line-height: 26px;
133
  }
134
+ .spt-main-class .spftestimonial-field-border .spftestimonial--input input,
135
+ .spt-main-class .spftestimonial-field-spacing .spftestimonial--input input,
136
+ .spt-main-class .spftestimonial-field-dimensions .spftestimonial--input input {
137
  line-height: 30px;
138
  float: left;
139
  padding: 0;
140
  border-radius: 0;
141
  }
142
+ .spt-main-class .spftestimonial-field-border .spftestimonial--label,
143
+ .spt-main-class .spftestimonial-field-spacing .spftestimonial--label,
144
+ .spt-main-class .spftestimonial-field-dimensions .spftestimonial--label {
145
  max-width: 100%;
146
  font-size: 12px;
147
  line-height: 30px;
153
  padding: 0 6px;
154
  min-height: 30px;
155
  }
156
+ .spt-main-class .spftestimonial-field-border .spftestimonial--label-icon,
157
+ .spt-main-class .spftestimonial-field-spacing .spftestimonial--label-icon,
158
+ .spt-main-class .spftestimonial-field-dimensions .spftestimonial--label-icon {
159
  min-width: 20px;
160
  border-radius: 2px 0 0 2px;
161
  }
162
+ .spt-main-class .spftestimonial-field-border .spftestimonial--label-unit,
163
+ .spt-main-class .spftestimonial-field-spacing .spftestimonial--label-unit,
164
+ .spt-main-class .spftestimonial-field-dimensions .spftestimonial--label-unit {
165
  color: #999;
166
  border-radius: 0 2px 2px 0;
167
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
168
 
169
  /**
170
  * 03. 25. Field: spinner
171
  */
172
+ .spt-main-class .spftestimonial-field-spinner .spftestimonial--unit {
173
  float: right;
174
  height: 30px;
175
  line-height: 26px;
183
  margin: 0;
184
  box-sizing: border-box;
185
  }
186
+ .spt-main-class .spftestimonial-field-spinner .ui-spinner-button {
187
  cursor: pointer;
188
  position: relative;
189
  overflow: hidden;
198
  background-color: #eee;
199
  box-sizing: border-box;
200
  }
201
+ .spt-main-class .spftestimonial-field-spinner .ui-spinner-button:before {
202
  font-family: FontAwesome;
203
  font-size: 16px;
204
  line-height: 16px;
205
  }
206
+ .spt-main-class .spftestimonial-field-spinner .ui-spinner-down {
207
  float: left;
208
  border-right: 0;
209
  border-radius: 2px 0 0 2px;
210
  }
211
+ .spt-main-class .spftestimonial-field-spinner .ui-spinner-up {
212
  float: right;
213
  border-left: 0;
214
  border-radius: 0 2px 2px 0;
215
  }
216
+ .spt-main-class .spftestimonial-field-spinner input {
217
  width: 60px;
218
  text-align: center;
219
  margin: 0;
223
  border: 1px solid #ddd;
224
  border-radius: 0;
225
  }
226
+ .spt-main-class .spftestimonial-field-spinner input:focus {
227
  outline: none;
228
  }
229
 
230
  /**
231
  * 03. 27. Field: tabbed
232
  */
233
+ .spt-main-class .spftestimonial-field-tabbed .spftestimonial-tabbed-section {
234
  border: 1px solid #eee;
235
  }
236
 
237
  /**
238
  * 03. 28. Field: text
239
  */
240
+ .spt-main-class .spftestimonial-field-text input,
241
+ .spt-main-class .spftestimonial-field-text_f input {
242
  width: 340px;
243
  max-width: 100%;
244
  }
246
  /**
247
  * 03. 30. Field: typography
248
  */
249
+ .spt-main-class .spftestimonial-field-typography textarea,
250
+ .spt-main-class .spftestimonial-field-typography select {
251
  margin: 0;
252
  width: 100%;
253
  }
254
+ .spt-main-class .spftestimonial-field-typography .spftestimonial--title {
255
  color: #999;
256
  margin: 0 0 2px 0;
257
  }
258
+ .spt-main-class .spftestimonial-field-typography .spftestimonial--block {
259
  padding-right: 5px;
260
  padding-bottom: 10px;
261
  box-sizing: border-box;
262
  }
263
+ .spt-main-class .spftestimonial-field-typography .spftestimonial--block .spftestimonial--block {
264
  padding-right: 0;
265
  padding-bottom: 0;
266
  }
267
+ .spt-main-class .spftestimonial-field-typography .spftestimonial--blocks-selects .spftestimonial--block {
268
  flex: 1 33.3%;
269
  }
270
+ .spt-main-class .spftestimonial-field-typography .spftestimonial--blocks-inputs .spftestimonial--block {
271
  flex: 1 25%;
272
  }
273
+ .spt-main-class .spftestimonial-field-typography .spftestimonial--blocks-inputs .spftestimonial--block .spftestimonial--block {
274
  flex: 1;
275
  }
276
+ .spt-main-class .spftestimonial-field-typography .spftestimonial--input {
277
  margin: 0;
278
  width: 100%;
279
  padding: 2px 8px;
280
  border-radius: 4px 0 0 4px;
281
  }
282
+ .spt-main-class .spftestimonial-field-typography .spftestimonial--unit {
283
  min-width: 40px;
284
  max-width: 40px;
285
  font-size: 12px;
292
  border-left: 0;
293
  line-height: 30px;
294
  }
295
+ .spt-main-class .spftestimonial-field-typography .spftestimonial--preview {
296
  font-size: 16px;
297
  line-height: 20px;
298
  padding: 20px;
304
  -webkit-user-select: none;
305
  transition: background-color .2s, border-color .2s;
306
  }
307
+ .spt-main-class .spftestimonial-field-typography .spftestimonial--block-preview {
308
  cursor: pointer;
309
  position: relative;
310
  overflow: hidden;
311
  margin-top: 10px;
312
  max-width: 100%;
313
  }
314
+ .spt-main-class .spftestimonial-field-typography .spftestimonial--black-background {
315
  border-color: #000;
316
  background-color: #000;
317
  }
318
+ .spt-main-class .spftestimonial-field-typography .spftestimonial--toggle {
319
  position: absolute;
320
  top: 5px;
321
  right: 10px;
322
  color: #999;
323
  }
324
+ .spt-main-class .spftestimonial-field-typography .spftestimonial--block-extra-styles {
325
  margin-top: 5px;
326
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
327
 
328
  /**
329
  * 05. Widget
330
  */
331
 
332
+ .spt-main-class .control-section .spftestimonial-field .spftestimonial-title {
333
  margin-bottom: 10px;
334
  }
335
+ .spt-main-class .control-section .spftestimonial-field .spftestimonial-title h4 {
336
  font-size: 14px;
337
  }
338
+ .spt-main-class .control-section .spftestimonial-field-background .spftestimonial--select {
339
  width: 100%;
340
  }
341
+ .spt-main-class .control-section .spftestimonial-field-border select,
342
+ .spt-main-class .control-section .spftestimonial-field-spacing select,
343
+ .spt-main-class .control-section .spftestimonial-field-dimensions select {
344
  width: auto;
345
  }
346
 
348
  /**
349
  * 08. Helper
350
  */
351
+ .spt-main-class .spftestimonial-text-desc,
352
+ .spt-main-class .spftestimonial-text-subtitle {
353
  font-style: italic;
354
  }
355
 
357
  * 11. Responsive
358
  */
359
  @media only screen and (max-width: 1200px) {
360
+ .spt-main-class .spftestimonial-metabox .spftestimonial-field .spftestimonial-title {
361
  float: none;
362
  width: 100%;
363
  margin-bottom: 10px;
364
  }
365
+ .spt-main-class .spftestimonial-metabox .spftestimonial-field .spftestimonial-fieldset {
366
  margin-left: 0;
367
  }
368
  }
369
  @media only screen and (max-width: 782px) {
370
+ .spt-main-class .spftestimonial-header-inner {
371
  text-align: center;
372
  }
373
+ .spt-main-class .spftestimonial-header-inner h1 {
374
  width: 100%;
375
  margin-bottom: 10px;
376
  }
377
+ .spt-main-class .spftestimonial-search,
378
+ .spt-main-class .spftestimonial-header-right,
379
+ .spt-main-class .spftestimonial-header-left {
380
  width: 100%;
381
  }
382
+ .spt-main-class .spftestimonial-search {
383
  text-align: center;
384
  margin-bottom: 15px;
385
  }
386
+ .spt-main-class .spftestimonial-footer {
387
  text-align: center;
388
  }
389
+ .spt-main-class .spftestimonial-buttons {
390
  float: none;
391
  }
392
+ .spt-main-class .spftestimonial-copyright {
393
  float: none;
394
  margin-top: 10px;
395
  }
396
+ .spt-main-class .spftestimonial-nav,
397
+ .spt-main-class .spftestimonial-expand-all,
398
+ .spt-main-class .spftestimonial-reset-section,
399
+ .spt-main-class .spftestimonial-nav-background {
400
  display: none !important;
401
  }
402
 
403
+ .spt-main-class .spftestimonial-content {
404
  margin-left: 0;
405
  }
406
 
407
+ .spt-main-class .spftestimonial-section-title,
408
+ .spt-main-class .spftestimonial-section {
409
  display: block !important;
410
  }
411
 
412
+ .spt-main-class .spftestimonial-field .spftestimonial-title {
413
  float: none;
414
  width: 100%;
415
  margin-bottom: 10px;
416
  }
417
+ .spt-main-class .spftestimonial-field .spftestimonial-fieldset {
418
  margin-left: 0;
419
  }
420
 
421
+ .spt-main-class .spftestimonial-modal-inner {
422
  width: 350px;
423
  height: 380px;
424
  }
425
 
426
+ .spt-main-class .spftestimonial-modal-content {
427
  height: 282px;
428
  }
429
 
430
+ .spt-main-class .spftestimonial-icon-dialog .spftestimonial-modal-inner {
431
  width: 305px;
432
  height: 380px;
433
  }
434
+ .spt-main-class .spftestimonial-icon-dialog .spftestimonial-modal-content {
435
  height: 267px;
436
  }
437
 
438
+ .spt-main-class .spftestimonial-modal-icon .spftestimonial-modal-inner {
439
  width: 330px;
440
  height: 385px;
441
  }
442
+ .spt-main-class .spftestimonial-modal-icon .spftestimonial-modal-content {
443
  height: 252px;
444
  }
445
 
446
+ .spt-main-class .spftestimonial-profile > .spftestimonial-field > .spftestimonial-title {
447
  float: none;
448
  width: 100%;
449
  margin-bottom: 10px;
450
  }
451
+ .spt-main-class .spftestimonial-profile > .spftestimonial-field > .spftestimonial-fieldset {
452
  margin-left: 0;
453
  }
454
  }
496
  }
497
 
498
  /*ShortCode Area*/
499
+ .spftestimonial-metabox .sp-tpro-banner {
500
  background-color:#2684a6;
501
  padding: 22px 28px;
502
  overflow: hidden;
503
  background-image: -webkit-gradient(linear,left top,right top,from(#2684a6),to(#52b3d9));
504
  background-image: linear-gradient(to right, #2684a6,#52b3d9);
505
  }
506
+ .spftestimonial-metabox .sp-tpro-logo{
507
  float: left;
508
  }
509
+ .spftestimonial-metabox .sp-tpro-logo img{
510
  display: block;
511
  width: 182px;
512
  }
513
+ .spftestimonial-metabox .sp-tpro-short-links{
514
  float: right;
515
  line-height: 30px;
516
  }
517
+ .spftestimonial-metabox .sp-tpro-short-links a{
518
  color: #ffffff;
519
  text-decoration: none;
520
  margin-left: 16px;
521
  font-size: 15px;
522
  }
523
+ .spftestimonial-metabox .sp-tpro-short-links a i.fa{
524
  margin-right: 7px;
525
  }
526
  .sp-testimonial-shortcode-divider {
528
  background: #f1f1f1;
529
  border-top: 1px solid #dddddd;
530
  }
531
+ .spftestimonial-metabox .tpro_shortcode{
532
  display: inline-flex;
533
  width:100%;
534
  background-color: #fffdfd;
535
  }
536
+ .tpro_shortcode .tpro-col-lg-6 {
537
  border-right: 1px solid #dddddd;
538
+ width: 50%;
539
  }
540
+ .tpro_shortcode .tpro-col-lg-6 .tpro_shortcode_content{
541
  padding: 42px 16px;
542
  }
543
+ .tpro_shortcode .tpro-col-lg-6:last-child .tpro_shortcode_content{
544
  padding: 42px 16px 0 16px;
545
  }
546
+ .tpro_shortcode .tpro-col-lg-6 .tpro_shortcode_content .tpro-sc-code{
547
  background-color: rgba(82, 179, 217, 0.11);
548
  padding: 10px 15px;
549
  display: inline-block;
550
  }
551
+ .tpro_shortcode .tpro-col-lg-6:last-child {
552
  border-right: none;
553
  }
554
+ .tpro_shortcode .tpro-col-lg-6 .tpro-shortcode-title {
555
  font-weight: 500;
556
  font-size: 17px !important;
557
  padding-top: 0 !important;
558
  color: #4c5158;
559
  }
560
+ .tpro_shortcode .tpro-col-lg-6 p {
561
  margin-top: 2px;
562
  color: #4c5158;
563
  }
564
+ .tpro_shortcode .tpro-col-lg-6 .back-image {
565
  max-width: 100%;
566
  display: block;
567
  margin: 0 auto;
568
  }
569
+ .tpro_shortcode .tpro-col-lg-6 textarea {
570
  border-color: transparent;
571
  box-shadow: none;
572
  background-color: #eee;
576
  max-width: 100%;
577
  }
578
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
579
  /* Responsive */
580
  @media (max-width: 1200px) {
581
  .sp-tfree-metabox-framework .sp-tfree-mbf {
582
  display: block;
583
  }
584
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
585
  .sp-tfree-mbf .sp-tfree-col-lg-3,
586
  .sp-tfree-element .sp-tfree-input-label,
587
  .sp-tfree-element .sp-tfree-input-field {
588
  width: 100%;
589
  }
 
590
  .sp-tfree-mbf .sp-tfree-col-lg-3 {
591
  display: block;
592
  border-bottom: 1px solid #e5e5e5;
593
  padding-bottom: 15px;
594
  border-right: none;
595
  }
 
596
  .sp-tfree-mbf .sp-tfree-col-lg-3:last-of-type {
597
  border-bottom: none;
598
  padding-bottom: 0;
599
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
600
  }
601
 
602
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
603
 
604
  /* Custom */
605
  .sp-testimonial-shortcode {
623
  .js #sp_tpro_meta_options.postbox .handlediv, .js #sp_tpro_meta_options.postbox .hndle {
624
  display: none;
625
  }
626
+ .sp-testimonial-font-load .spftestimonial--switcher,
627
  .sp-testimonial-font-color .wp-picker-container {
628
  pointer-events: none;
629
  opacity: .6;
630
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
631
 
632
  /* Help Page */
633
  .sp-tfree-text-center{
admin/assets/css/admin.min.css CHANGED
@@ -1 +1 @@
1
- .text-center{text-align:center}.spt-main-class .csf-header-inner h1{color:#444;font-size:22px;font-weight:600}.spt-main-class .csf-sticky .csf-header-inner{z-index:20}.spt-main-class .csf-metabox .csf-nav{position:inherit;float:none;width:100%;background:#f1f1f1}.spt-main-class .csf-metabox .csf-nav ul li{display:inline-block}.spt-main-class .csf-nav ul li a{text-transform:uppercase;font-weight:600}.spt-main-class .csf-metabox .csf-content{margin-left:0}.spt-main-class .csf-metabox{margin:-6px -12px -12px -12px}.spt-main-class .csf-metabox .csf-nav ul li a{background-color:#52b3d9;font-size:14px;padding:15px 15px;line-height:1.4;color:#fff;border-right:1px solid #e2e2e1;font-weight:600;border-bottom:0}#sp_tpro_shortcode_options_new .csf-metabox .csf-nav ul li a{font-size:13px;text-transform:uppercase;padding:16px 15px}.spt-main-class .csf-nav ul li .csf-section-active:after{display:none}.spt-main-class .csf-metabox .csf-nav ul li .csf-section-active{color:#444;background-color:#fff;box-shadow:0 3px 0 0 #52b3d9 inset}.spt-main-class .csf-metabox .csf-nav ul li .csf-section-active .fa{color:#52b3d9}.spt-main-class .csf-metabox .csf-nav-background{display:none}.spt-main-class.csf-theme-light .csf-container{border:1px solid #ccd0d4}.spt-main-class.csf-theme-light .csf-header-inner{border-bottom:1px solid #ccd0d4}.spt-main-class.csf-theme-light .csf-nav ul li a{color:#464646;background-color:#f5f5f5;border-top:0;border-right:0;border-bottom:1px solid #ccd0d4!important;margin-bottom:0;padding:15px 15px}.spt-main-class.csf-theme-light .csf-nav ul li .csf-section-active{box-shadow:3px 0 0 0 #52b3d9 inset;background-color:#fff;color:#52b3d9}.spt-main-class.csf-theme-light .csf-nav ul ul li a{background-color:#f8fdff;padding:13px 15px 13px 24px}.spt-main-class.csf-theme-light .csf-nav-background{border-right:1px solid #ccd0d4}.spt-main-class .csf-field{padding:22px 30px}.spt-main-class .csf-field-border .csf--input,.spt-main-class .csf-field-dimensions .csf--input,.spt-main-class .csf-field-spacing .csf--input{margin-right:10px;margin-bottom:7px}.spt-main-class .csf-field-border .csf--input select,.spt-main-class .csf-field-dimensions .csf--input select,.spt-main-class .csf-field-spacing .csf--input select{line-height:26px}.spt-main-class .csf-field-border .csf--input input,.spt-main-class .csf-field-dimensions .csf--input input,.spt-main-class .csf-field-spacing .csf--input input{line-height:30px;float:left;padding:0;border-radius:0}.spt-main-class .csf-field-border .csf--label,.spt-main-class .csf-field-dimensions .csf--label,.spt-main-class .csf-field-spacing .csf--label{max-width:100%;font-size:12px;line-height:30px;vertical-align:top;text-align:center;color:#555;border:1px solid #ddd;background-color:#eee;padding:0 6px;min-height:30px}.spt-main-class .csf-field-border .csf--label-icon,.spt-main-class .csf-field-dimensions .csf--label-icon,.spt-main-class .csf-field-spacing .csf--label-icon{min-width:20px;border-radius:2px 0 0 2px}.spt-main-class .csf-field-border .csf--label-unit,.spt-main-class .csf-field-dimensions .csf--label-unit,.spt-main-class .csf-field-spacing .csf--label-unit{color:#999;border-radius:0 2px 2px 0}.spt-main-class .csf-field-icon_select .csf--image{width:35px;height:35px;text-align:center;line-height:35px;font-size:20px}.spt-main-class .csf-field-icon_select .csf--image,.spt-main-class .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 #f4f4f4;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}.spt-main-class .csf-field-icon_select .csf--image:before,.spt-main-class .csf-field-image_select .csf--image:before{position:absolute;top:0;left:0;text-align:center;font-size:11px;font-family:FontAwesome;content:"\f00c";width:15px;height:15px;line-height:15px;opacity:0;color:#fff;background-color:#52b3d9;transition:opacity .2s}.spt-main-class .csf-field-icon_select .csf--active,.spt-main-class .csf-field-image_select .csf--active{border-color:#52b3d9}.spt-main-class .csf-field-icon_select .csf--active:before,.spt-main-class .csf-field-image_select .csf--active:before{opacity:0}.spt-main-class .csf-field-image_select img{vertical-align:top}.spt-main-class .csf-field-icon_select input,.spt-main-class .csf-field-image_select input{display:none}.spt-main-class .csf-field-spinner .csf--unit{float:right;height:30px;line-height:26px;text-align:center;border-left:none;color:#999;border:1px solid #ddd;border-left:0;background-color:#eee;padding:0 6px;margin:0;box-sizing:border-box}.spt-main-class .csf-field-spinner .ui-spinner-button{cursor:pointer;position:relative;overflow:hidden;margin:0;padding:0;width:30px;height:30px;line-height:30px;text-align:center;border:1px solid #ddd;color:#555;background-color:#eee;box-sizing:border-box}.spt-main-class .csf-field-spinner .ui-spinner-button:before{font-family:FontAwesome;font-size:16px;line-height:16px}.spt-main-class .csf-field-spinner .ui-spinner-down{float:left;border-right:0;border-radius:2px 0 0 2px}.spt-main-class .csf-field-spinner .ui-spinner-up{float:right;border-left:0;border-radius:0 2px 2px 0}.spt-main-class .csf-field-spinner input{width:60px;text-align:center;margin:0;padding:0 8px;height:31px;line-height:31px;border:1px solid #ddd;border-radius:0}.spt-main-class .csf-field-spinner input:focus{outline:0}.spt-main-class .csf-field-tabbed .csf-tabbed-section{border:1px solid #eee}.spt-main-class .csf-field-text input,.spt-main-class .csf-field-text_f input{width:340px;max-width:100%}.spt-main-class .csf-field-typography select,.spt-main-class .csf-field-typography textarea{margin:0;width:100%}.spt-main-class .csf-field-typography .csf--title{color:#999;margin:0 0 2px 0}.spt-main-class .csf-field-typography .csf--block{padding-right:5px;padding-bottom:10px;box-sizing:border-box}.spt-main-class .csf-field-typography .csf--block .csf--block{padding-right:0;padding-bottom:0}.spt-main-class .csf-field-typography .csf--blocks-selects .csf--block{flex:1 33.3%}.spt-main-class .csf-field-typography .csf--blocks-inputs .csf--block{flex:1 25%}.spt-main-class .csf-field-typography .csf--blocks-inputs .csf--block .csf--block{flex:1}.spt-main-class .csf-field-typography .csf--input{margin:0;width:100%;padding:2px 8px;border-radius:4px 0 0 4px}.spt-main-class .csf-field-typography .csf--unit{min-width:40px;max-width:40px;font-size:12px;font-weight:400;text-align:center;color:#777;border:1px solid #ddd;background-color:#eee;border-radius:0 2px 2px 0;border-left:0;line-height:30px}.spt-main-class .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}.spt-main-class .csf-field-typography .csf--block-preview{cursor:pointer;position:relative;overflow:hidden;margin-top:10px;max-width:100%}.spt-main-class .csf-field-typography .csf--black-background{border-color:#000;background-color:#000}.spt-main-class .csf-field-typography .csf--toggle{position:absolute;top:5px;right:10px;color:#999}.spt-main-class .csf-field-typography .csf--block-extra-styles{margin-top:5px}.spt-main-class .control-section .csf-field .csf-title{margin-bottom:10px}.spt-main-class .control-section .csf-field .csf-title h4{font-size:14px}.spt-main-class .control-section .csf-field-background .csf--select{width:100%}.spt-main-class .control-section .csf-field-border select,.spt-main-class .control-section .csf-field-dimensions select,.spt-main-class .control-section .csf-field-spacing select{width:auto}.spt-main-class .csf-text-desc,.spt-main-class .csf-text-subtitle{font-style:italic}@media only screen and (max-width:1200px){.spt-main-class .csf-metabox .csf-field .csf-title{float:none;width:100%;margin-bottom:10px}.spt-main-class .csf-metabox .csf-field .csf-fieldset{margin-left:0}}@media only screen and (max-width:782px){.spt-main-class .csf-header-inner{text-align:center}.spt-main-class .csf-header-inner h1{width:100%;margin-bottom:10px}.spt-main-class .csf-header-left,.spt-main-class .csf-header-right,.spt-main-class .csf-search{width:100%}.spt-main-class .csf-search{text-align:center;margin-bottom:15px}.spt-main-class .csf-footer{text-align:center}.spt-main-class .csf-buttons{float:none}.spt-main-class .csf-copyright{float:none;margin-top:10px}.spt-main-class .csf-expand-all,.spt-main-class .csf-nav,.spt-main-class .csf-nav-background,.spt-main-class .csf-reset-section{display:none!important}.spt-main-class .csf-content{margin-left:0}.spt-main-class .csf-section,.spt-main-class .csf-section-title{display:block!important}.spt-main-class .csf-field .csf-title{float:none;width:100%;margin-bottom:10px}.spt-main-class .csf-field .csf-fieldset{margin-left:0}.spt-main-class .csf-modal-inner{width:350px;height:380px}.spt-main-class .csf-modal-content{height:282px}.spt-main-class .csf-icon-dialog .csf-modal-inner{width:305px;height:380px}.spt-main-class .csf-icon-dialog .csf-modal-content{height:267px}.spt-main-class .csf-modal-icon .csf-modal-inner{width:330px;height:385px}.spt-main-class .csf-modal-icon .csf-modal-content{height:252px}.spt-main-class .csf-profile>.csf-field>.csf-title{float:none;width:100%;margin-bottom:10px}.spt-main-class .csf-profile>.csf-field>.csf-fieldset{margin-left:0}}.sp-tpro-client-rating{float:left}.sp-tpro-client-rating:not(:checked)>input{visibility:hidden;display:none;width:0;height:0;float:right;top:100%;clip:rect(0,0,0,0);margin:0;padding:0;border:10px #fff solid}.sp-tpro-client-rating:not(:checked)>label{float:right;display:block;padding:0;margin:0;cursor:pointer;font-size:150%;line-height:1.2;color:#d4d4d4;width:1em}.sp-tpro-client-rating>input:checked~label{color:#f3bb00}.sp-tpro-client-rating:not(:checked)>label:hover,.sp-tpro-client-rating:not(:checked)>label:hover~label{color:#de7202}.sp-tpro-client-rating>input:checked+label:hover,.sp-tpro-client-rating>input:checked+label:hover~label,.sp-tpro-client-rating>input:checked~label:hover,.sp-tpro-client-rating>input:checked~label:hover~label,.sp-tpro-client-rating>label:hover~input:checked~label{color:#de7202}.csf-metabox .sp-tpro-banner{background-color:#2684a6;padding:22px 28px;overflow:hidden;background-image:-webkit-gradient(linear,left top,right top,from(#2684a6),to(#52b3d9));background-image:linear-gradient(to right,#2684a6,#52b3d9)}.csf-metabox .sp-tpro-logo{float:left}.csf-metabox .sp-tpro-logo img{display:block;width:182px}.csf-metabox .sp-tpro-short-links{float:right;line-height:30px}.csf-metabox .sp-tpro-short-links a{color:#fff;text-decoration:none;margin-left:16px;font-size:15px}.csf-metabox .sp-tpro-short-links a i.fa{margin-right:7px}.sp-testimonial-shortcode-divider{height:20px;background:#f1f1f1;border-top:1px solid #ddd}.csf-metabox .tpro_shortcode{display:inline-flex;width:100%;background-color:#fffdfd}.tpro_shortcode .tpro-col-lg-3{border-right:1px solid #ddd;width:33.33%}.tpro_shortcode .tpro-col-lg-3 .tpro_shortcode_content{padding:42px 16px}.tpro_shortcode .tpro-col-lg-3:last-child .tpro_shortcode_content{padding:42px 16px 0 16px}.tpro_shortcode .tpro-col-lg-3 .tpro_shortcode_content .tpro-sc-code{background-color:rgba(82,179,217,.11);padding:10px 15px;display:inline-block}.tpro_shortcode .tpro-col-lg-3:last-child{border-right:none}.tpro_shortcode .tpro-col-lg-3 .tpro-shortcode-title{font-weight:500;font-size:17px!important;padding-top:0!important;color:#4c5158}.tpro_shortcode .tpro-col-lg-3 p{margin-top:2px;color:#4c5158}.tpro_shortcode .tpro-col-lg-3 .back-image{max-width:100%;display:block;margin:0 auto}.tpro_shortcode .tpro-col-lg-3 textarea{border-color:transparent;box-shadow:none;background-color:#eee;padding:4px 6px;resize:none;text-align:center;max-width:100%}#poststuff .sp-tfree-upgrade-body .sp-tfree-section-title{padding:13px 30px;font-size:28px;line-height:1;font-weight:700;color:#2e9cc7;text-transform:uppercase;margin-bottom:0;margin-top:0}#poststuff .sp-tfree-upgrade-body .sp-tfree-section-feature-icon{padding:30px 30px 0 30px}.sp-tfree-upgrade-body .tfree-option{padding:30px 30px;border-bottom:1px solid #efefef}.sp-tfree-upgrade-body .tfree-option:nth-child(2n+0){background-color:#fafafa}.sp-tfree-upgrade-header .tfree-overlay-color{background:#2684a6;position:absolute;width:100%;height:100%;top:0;left:0;z-index:1}.sp-tfree-upgrade-header{overflow:hidden;padding:43px 40px;position:relative}.sp-tfree-upgrade-header .sp-tfree-container{position:relative;z-index:2}.sp-tfree-upgrade-header .free-upgrade-btn{font-size:15px;color:#fff;border-radius:0;border:0;height:auto!important;line-height:24px!important;padding:13px 18px!important;text-align:center;font-weight:500}.sp-tfree-upgrade-header .sp-tfree-col-lg-7{width:58.33333333%;float:left}.sp-tfree-upgrade-header .sp-tfree-col-lg-5{width:41.66666667%;float:left;text-align:right}.sp-tfree-upgrade-header .sp-tfree-upgrade-title{margin:0;padding:0;font-size:24px;font-weight:700;color:#fff}.sp-tfree-upgrade-header .sp-tfree-upgrade-subtitle{font-size:15px;font-weight:500;margin-top:10px;margin-bottom:0;color:#fff}.sp-tfree-upgrade-footer .free-upgrade-btn.demo-btn,.sp-tfree-upgrade-footer .free-upgrade-btn.upgrade-btn{font-family:Raleway,sans-serif;box-shadow:none;border:0;color:#fff;border-radius:0;font-size:16px;font-weight:500;height:auto!important;line-height:24px!important;padding:13px 20px!important;text-align:center}.sp-tfree-upgrade-footer .upgrade-btn,.sp-tfree-upgrade-header .upgrade-btn{background-color:#3cb371;box-shadow:0 1px 26px -3px #333;margin-right:14px}.sp-tfree-upgrade-footer .free-upgrade-btn.upgrade-btn:focus,.sp-tfree-upgrade-footer .upgrade-btn:hover,.sp-tfree-upgrade-header .free-upgrade-btn.upgrade-btn:focus,.sp-tfree-upgrade-header .upgrade-btn:hover{background:#26a55f;color:#fff}.sp-tfree-upgrade-footer .demo-btn,.sp-tfree-upgrade-header .demo-btn{background-color:#52b3d9;box-shadow:0 1px 26px -3px #333}.sp-tfree-upgrade-footer .demo-btn:hover,.sp-tfree-upgrade-footer .free-upgrade-btn.demo-btn:focus,.sp-tfree-upgrade-header .demo-btn:hover,.sp-tfree-upgrade-header .free-upgrade-btn.demo-btn:focus{background:#2e9cc7;color:#fff}.sp-tfree-upgrade-footer h2,.sp-tfree-upgrade-header h1,.sp-tfree-upgrade-header h4,.sp-tfree-upgrade-header p{color:#fff;font-family:Raleway,sans-serif}#poststuff .sp-tfree-mbf-tab-content .sp-tfree-upgrade-body .sp-tfree-col-lg-2 h2{font-size:28px;padding-top:40px;padding-left:0;text-transform:uppercase;font-weight:700;padding-bottom:0}#poststuff .sp-tfree-mbf-tab-content .sp-tfree-upgrade-body .sp-tfree-col-lg-2 h4{line-height:24px}.sp-tfree-mbf-tab-content .sp-tfree-upgrade-body .sp-tfree-col-lg-2 h4{font-size:20px;font-weight:600;margin-bottom:20px;line-height:1.1}#poststuff .sp-tfree-mbf-tab-content .sp-tfree-upgrade-body .sp-tfree-col-lg-2 h2,.sp-tfree-mbf-tab-content .sp-tfree-upgrade-body .sp-tfree-col-lg-2 h4{color:#7c848e}.sp-tfree-mbf-tab-content .sp-tfree-upgrade-body .sp-tfree-col-lg-2 p{font-size:15px;color:#444;margin-top:10px}.sp-tfree-mbf-tab-content .sp-tfree-col-lg-2{width:50%;float:left}.sp-tfree-mbf-tab-content .sp-tfree-col-lg-2 .sp-tfree-content{font-family:Raleway,sans-serif;padding:25px}.sp-tfree-mbf-tab-content .sp-tfree-col-lg-2 img{width:100%}.sp-tfree-mbf-tab-content .sp-tfree-col-lg-2 .sp-tfree-content img{box-shadow:0 0 20px 0 #aaa}.sp-tfree-mbf-tab-content .sp-tfree-col-lg-2 h4{margin-top:.33em}.sp-tfree-mbf-tab-content .tfree-option:after{content:"";display:table;clear:both}.sp-tfree-mbf-tab-content .sp-tfree-video-tutorial{padding:30px 80px 50px}.sp-tfree-mbf-tab-content .sp-tfree-video-tutorial-video{position:relative;padding-bottom:56.4%;width:100%;max-width:100%;height:0;text-align:center}.sp-tfree-mbf-tab-content .sp-tfree-video-tutorial-video iframe{position:absolute;top:0;left:0;width:100%;height:100%}#poststuff .sp-tfree-mbf-tab-content .sp-tfree-video-tutorial h2{font-size:30px;font-weight:600;color:#444;margin-bottom:20px}.sp-tfree-mbf-tab-content .tfree-option:after,.sp-tfree-mbf-tab-content .tfree-option:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.sp-tfree-upgrade-footer{padding:60px 40px 40px 40px}.sp-tfree-mbf-tab-content .sp-tfree-upgrade-footer{font-family:Raleway,sans-serif;color:#fff;position:relative;z-index:1}.sp-tfree-mbf-tab-content .sp-tfree-upgrade-footer .tfree-overlay-color{position:absolute;width:100%;height:100%;top:0;left:0;z-index:-1;background:#2684a6}#poststuff .sp-tfree-mbf-tab-content .sp-tfree-upgrade-footer h2{font-size:28px;margin-top:12px;font-weight:700}.sp-tfree-mbf-tab-content .sp-tfree-upgrade-footer p{margin-top:0}.sp-tfree-mbf-tab-content .sp-tfree-upgrade-footer p{margin-top:0;margin-bottom:34px}.sp-tfree-mbf-tab-content .sp-tfree-upgrade-footer a{margin-bottom:20px}.sp-tfree-mbf-tab-content .sp-tfree-upgrade-footer p{font-size:18px;font-weight:500}@media (max-width:1200px){.sp-tfree-metabox-framework .sp-tfree-mbf{display:block}.sp-tfree-mbf-tab-content .sp-tfree-col-lg-2{width:100%;float:none}#poststuff .sp-tfree-mbf-tab-content .sp-tfree-upgrade-body .sp-tfree-col-lg-2 h2{padding-top:0}.sp-tfree-mbf-tab-content .sp-tfree-col-lg-2:last-of-type .sp-tfree-content{padding-top:0;padding-bottom:40px}.sp-tfree-element .sp-tfree-input-field,.sp-tfree-element .sp-tfree-input-label,.sp-tfree-mbf .sp-tfree-col-lg-3{width:100%}.sp-tfree-mbf .sp-tfree-col-lg-3{display:block;border-bottom:1px solid #e5e5e5;padding-bottom:15px;border-right:none}.sp-tfree-mbf .sp-tfree-col-lg-3:last-of-type{border-bottom:none;padding-bottom:0}.sp-tfree-upgrade-header .sp-tfree-col-lg-7{width:100%;float:none}.sp-tfree-upgrade-header .sp-tfree-col-lg-5{width:100%;float:none;text-align:center}.sp-tfree-upgrade-header .sp-tfree-container{text-align:center}.sp-tfree-upgrade-header .sp-tfree-upgrade-subtitle{margin-bottom:20px}}@media (max-width:1024px){.sp-tfree-upgrade-footer .demo-btn,.sp-tfree-upgrade-footer .upgrade-btn,.sp-tfree-upgrade-header .demo-btn,.sp-tfree-upgrade-header .upgrade-btn{margin:0 auto;display:block}.sp-tfree-mbf-tab-content .sp-tfree-upgrade-footer a.upgrade-btn,.sp-tfree-mbf-tab-content .sp-tfree-upgrade-header a.upgrade-btn,.sp-tfree-upgrade-header .sp-tfree-upgrade-subtitle{margin-bottom:20px}.sp-tfree-upgrade-header .sp-tfree-col-lg-7{width:100%;float:none}.sp-tfree-upgrade-header .sp-tfree-col-lg-5{width:100%;float:none;text-align:center}.sp-tfree-upgrade-header .sp-tfree-container{text-align:center}}.sp-testimonial-shortcode{background-color:rgba(82,179,217,.11);padding:8px 12px;display:inline-block;margin-left:8px}.selectable{-webkit-touch-callout:all;-webkit-user-select:all;-khtml-user-select:all;-moz-user-select:all;-ms-user-select:all;user-select:all}.js #sp_tpro_meta_options.postbox .handlediv,.js #sp_tpro_meta_options.postbox .hndle,.js #sp_tpro_meta_options.postbox .postbox-header,.js #sp_tpro_shortcode_options.postbox .handlediv,.js #sp_tpro_shortcode_options.postbox .hndle,.js #sp_tpro_shortcode_options.postbox .postbox-header{display:none}.sp-testimonial-font-color .wp-picker-container,.sp-testimonial-font-load .csf--switcher{pointer-events:none;opacity:.6}#sp_tpro_shortcode_options .csf-metabox .csf-nav ul li:last-of-type a{background-color:#35b135}#sp_tpro_shortcode_options .csf-metabox .csf-nav ul li:last-of-type .csf-section-active{color:#35b135;background-color:#fff;box-shadow:0 3px 0 0 #35b135 inset}#sp_tpro_shortcode_options .csf-metabox .csf-nav ul li:last-of-type .csf-section-active .fa{color:#35b135}#sp_tpro_shortcode_options .csf-field.csf-field-upgrade{padding:0}.sp-tfree-text-center{text-align:center}div.sp-tfree-help .wp-badge{border:none;background:url(../images/icon-256.png) right no-repeat;background-size:110px 110px;box-shadow:none;height:auto}.about-wrap.sp-tfree-help [class$="-col"]{display:flex;justify-content:space-between;flex-wrap:wrap}.about-wrap [class$="-col"]{display:flex;justify-content:space-between;flex-wrap:wrap}.sp-tfree-help [class$="-col"] .col{flex:1;align-self:flex-start}.sp-tfree-help .col{margin-top:40px}.sp-tfree-help.about-wrap [class$="-col"] .col+.col{margin-left:0}.sp-tfree-help.about-wrap .help-section[class$="-col"] .col+.col{margin-left:20px}div.sp-tfree-help .headline-feature.feature-video{position:relative;margin:40px 0;padding-bottom:56.25%;width:100%;max-width:100%;height:0;text-align:center}div.sp-tfree-help .headline-feature.feature-video iframe{position:absolute;top:0;left:0;width:100%;height:100%}div.sp-tfree-help .feature-section .sp-tfree-feature{background-color:#fff;padding:20px 20px;border:1px solid #ddd}div.sp-tfree-help .feature-section .sp-tfree-feature h3{font-size:16px;margin-top:18px}div.sp-tfree-help .feature-section i.sp-tfree-font-icon{font-size:30px;display:block;color:#52b3d9}div.sp-tfree-help .sp-tfree-pro-features .feature-section span.dashicons{font-size:22px;color:#fff;background-color:#52b3d9;width:28px;height:28px;line-height:28px;border-radius:50%;margin-right:10px}div.sp-tfree-help .sp-tfree-pro-features .feature-section{margin-bottom:40px;margin-left:-2%}div.sp-tfree-help .sp-tfree-pro-features .feature-section .sp-tfree-feature h3{margin-top:0}div.sp-tfree-help .sp-tfree-pro-features .feature-section .sp-tfree-feature p{margin-bottom:0}div.sp-tfree-help .sp-tfree-pro-features .feature-section .sp-tfree-feature{box-shadow:0 0 10px 0 #ddd;margin:4px;border:0 solid}div.sp-tfree-help .sp-tfree-pro-features .feature-section.three-col .col{min-width:31.3%;max-width:31.3%;margin-top:20px;padding-left:2%}div.sp-tfree-help .sp-tfree-pro-features .sp-tfree-pro-subtitle{font-size:1.2em;margin-bottom:26px}div.sp-tfree-help .sp-tfree-upgrade-sticky-footer{position:fixed;bottom:0;background:#fff;width:calc(100% - 195px);z-index:9;margin-left:-25px;text-align:center;border:1px solid #dfdfdf;padding:15px 0;border-bottom:none}div.sp-tfree-help .sp-tfree-pro-features h2{font-size:2.5em;font-weight:400}div.sp-tfree-help .sp-tfree-upgrade-sticky-footer h3{margin-top:17px;margin-bottom:20px}div.sp-tfree-help .sp-tfree-upgrade-sticky-footer a.button{margin:0 8px}.sp-tfree-upgrade>h1{font-size:2.5em;color:#444;font-weight:300}.sp-tfree-upgrade>h1 span{font-weight:400}.sp-tfree-upgrade .about-text{margin-bottom:0}.sp-tfree-upgrade ul{margin-top:0}.about-wrap.sp-tfree-upgrade .about-text{min-height:60px}.about-wrap.sp-tfree-upgrade hr{order:0;height:0;margin:0;border-top:1px solid rgba(0,0,0,.1)}.sp-tfree-upgrade .sp-tfree-pro-features .feature-section{margin-bottom:40px;display:flex;flex-wrap:wrap}.sp-tfree-upgrade .sp-tfree-pro-features .feature-section .sp-tfree-feature h3{margin-top:0}.sp-tfree-upgrade .sp-tfree-pro-features .feature-section .sp-tfree-feature p{margin-bottom:0}.sp-tfree-upgrade .sp-tfree-pro-features .feature-section .sp-tfree-feature{box-shadow:0 0 10px 0 #ddd;margin:4px;border:0 solid}.sp-tfree-upgrade .sp-tfree-pro-features .feature-section.three-col .col{min-width:32%;max-width:32%;margin-top:20px;display:flex;align-self:auto}.sp-tfree-upgrade .sp-tfree-pro-features .sp-tfree-pro-subtitle{font-size:1.2em;margin-bottom:26px}.sp-tfree-upgrade .sp-tfree-pro-features h2,.sp-tfree-upgrade .sp-tfree-promo-video-title{font-size:2.2em;font-weight:400}.sp-tfree-join-community h2{font-size:2em}.sp-tfree-upgrade .sp-tfree-upgrade-sticky-footer h3{margin-top:17px;margin-bottom:20px}.sp-tfree-upgrade .sp-tfree-upgrade-sticky-footer a.button{margin:0 8px}.sp-tfree-upgrade .tfree-upgrade-btn{display:inline-block;padding:0 20px 0 0}.sp-tfree-upgrade .tfree-upgrade-btn a,.sp-tfree-upgrade a.tfree-upgrade-btn{text-decoration:none;text-align:center;font-size:16px}.sp-tfree-upgrade .tfree-upgrade-btn a:focus{outline:0}.sp-tfree-upgrade a.tfree-upgrade-btn,.sp-tfree-upgrade ul li.tfree-upgrade-btn:first-child a{background:#52b3d9;padding:0 15px;line-height:46px;display:block;color:#fff;border-radius:3px;font-weight:500}.sp-tfree-upgrade ul li.tfree-upgrade-btn:last-child a{text-decoration:underline}.sp-tfree-upgrade ul li.tfree-upgrade-btn a i{margin-left:4px}.sp-tfree-upgrade ul li.tfree-upgrade-btn:last-child a i{font-size:14px}.sp-tfree-upgrade a.tfree-upgrade-btn{display:inline-block}#sp-tfree-review-notice{padding:15px 15px 15px 0;background-color:#fff;border-radius:3px;margin:20px 20px 0 0}#sp-tfree-review-notice .sp-tfree-plugin-icon{width:125px;float:left;line-height:90px;text-align:center}#sp-tfree-review-notice .sp-tfree-plugin-icon img{max-width:83px;vertical-align:middle}#sp-tfree-review-notice .sp-tfree-notice-text{overflow:hidden}#sp-tfree-review-notice .sp-tfree-notice-text h3{font-size:24px;margin:0 0 5px;font-weight:400;line-height:1}#sp-tfree-review-notice .sp-tfree-notice-text p{margin:10px 0 10px 0;font-size:13px}#sp-tfree-review-notice .sp-tfree-notice-text p.sp-tfree-review-actions{margin:10px 0 2px 0}#sp-tfree-review-notice .sp-tfree-notice-text .sp-tfree-review-actions a{text-decoration:none;margin-right:8px;color:#63a37b;display:inline-block;position:relative}#sp-tfree-review-notice .sp-tfree-notice-text .sp-tfree-review-actions a span{padding-right:2px}#sp-tfree-review-notice .sp-tfree-notice-text .sp-tfree-review-actions a.button{color:#fff}@media (max-width:960px){div.sp-tfree-help .sp-tfree-upgrade-sticky-footer{width:calc(100%)}}@media screen and (max-width:782px){div.sp-tfree-help .three-col .col{min-width:48%!important;max-width:48%!important;margin-left:0!important}}@media (max-width:500px){div.sp-tfree-help .wp-badge{background-position-x:center}div.sp-tfree-help .three-col .col{min-width:100%!important;max-width:100%!important;margin-top:1em}}
1
+ .text-center{text-align:center}.spt-main-class .spftestimonial-header-inner h1{color:#444;font-size:22px;font-weight:600}.spt-main-class .spftestimonial-sticky .spftestimonial-header-inner{z-index:20}.spt-main-class .spftestimonial-metabox .spftestimonial-nav{position:inherit;float:none;width:100%;background:#f1f1f1}.spt-main-class .spftestimonial-metabox .spftestimonial-nav ul li{display:inline-block}.spt-main-class .spftestimonial-nav ul li a{text-transform:uppercase;font-weight:600}.spt-main-class .spftestimonial-metabox .spftestimonial-content{margin-left:0}.spt-main-class .spftestimonial-metabox{margin:-6px -12px -12px -12px}.spt-main-class .spftestimonial-metabox .spftestimonial-nav ul li a{background-color:#52b3d9;font-size:14px;padding:15px 15px;line-height:1.4;color:#fff;border-right:1px solid #e2e2e1;font-weight:600;border-bottom:0}#sp_tpro_shortcode_options_new .spftestimonial-metabox .spftestimonial-nav ul li a{font-size:13px;text-transform:uppercase;padding:16px 15px}.spt-main-class .spftestimonial-nav ul li .spftestimonial-section-active:after{display:none}.spt-main-class .spftestimonial-metabox .spftestimonial-nav ul li .spftestimonial-section-active{color:#444;background-color:#fff;box-shadow:0 3px 0 0 #52b3d9 inset}.spt-main-class .spftestimonial-metabox .spftestimonial-nav ul li .spftestimonial-section-active .fa{color:#52b3d9}.spt-main-class .spftestimonial-metabox .spftestimonial-nav-background{display:none}.spt-main-class.spftestimonial-theme-light .spftestimonial-container{border:1px solid #ccd0d4}.spt-main-class.spftestimonial-theme-light .spftestimonial-header-inner{border-bottom:1px solid #ccd0d4}.spt-main-class.spftestimonial-theme-light .spftestimonial-nav ul li a{color:#464646;background-color:#f5f5f5;border-top:0;border-right:0;border-bottom:1px solid #ccd0d4!important;margin-bottom:0;padding:15px 15px}.spt-main-class.spftestimonial-theme-light .spftestimonial-nav ul li .spftestimonial-section-active{box-shadow:3px 0 0 0 #52b3d9 inset;background-color:#fff;color:#52b3d9}.spt-main-class.spftestimonial-theme-light .spftestimonial-nav ul ul li a{background-color:#f8fdff;padding:13px 15px 13px 24px}.spt-main-class.spftestimonial-theme-light .spftestimonial-nav-background{border-right:1px solid #ccd0d4}.spt-main-class .spftestimonial-field-border .spftestimonial--input,.spt-main-class .spftestimonial-field-dimensions .spftestimonial--input,.spt-main-class .spftestimonial-field-spacing .spftestimonial--input{margin-right:10px;margin-bottom:7px}.spt-main-class .spftestimonial-field-border .spftestimonial--input select,.spt-main-class .spftestimonial-field-dimensions .spftestimonial--input select,.spt-main-class .spftestimonial-field-spacing .spftestimonial--input select{line-height:26px}.spt-main-class .spftestimonial-field-border .spftestimonial--input input,.spt-main-class .spftestimonial-field-dimensions .spftestimonial--input input,.spt-main-class .spftestimonial-field-spacing .spftestimonial--input input{line-height:30px;float:left;padding:0;border-radius:0}.spt-main-class .spftestimonial-field-border .spftestimonial--label,.spt-main-class .spftestimonial-field-dimensions .spftestimonial--label,.spt-main-class .spftestimonial-field-spacing .spftestimonial--label{max-width:100%;font-size:12px;line-height:30px;vertical-align:top;text-align:center;color:#555;border:1px solid #ddd;background-color:#eee;padding:0 6px;min-height:30px}.spt-main-class .spftestimonial-field-border .spftestimonial--label-icon,.spt-main-class .spftestimonial-field-dimensions .spftestimonial--label-icon,.spt-main-class .spftestimonial-field-spacing .spftestimonial--label-icon{min-width:20px;border-radius:2px 0 0 2px}.spt-main-class .spftestimonial-field-border .spftestimonial--label-unit,.spt-main-class .spftestimonial-field-dimensions .spftestimonial--label-unit,.spt-main-class .spftestimonial-field-spacing .spftestimonial--label-unit{color:#999;border-radius:0 2px 2px 0}.spt-main-class .spftestimonial-field-spinner .spftestimonial--unit{float:right;height:30px;line-height:26px;text-align:center;border-left:none;color:#999;border:1px solid #ddd;border-left:0;background-color:#eee;padding:0 6px;margin:0;box-sizing:border-box}.spt-main-class .spftestimonial-field-spinner .ui-spinner-button{cursor:pointer;position:relative;overflow:hidden;margin:0;padding:0;width:30px;height:30px;line-height:30px;text-align:center;border:1px solid #ddd;color:#555;background-color:#eee;box-sizing:border-box}.spt-main-class .spftestimonial-field-spinner .ui-spinner-button:before{font-family:FontAwesome;font-size:16px;line-height:16px}.spt-main-class .spftestimonial-field-spinner .ui-spinner-down{float:left;border-right:0;border-radius:2px 0 0 2px}.spt-main-class .spftestimonial-field-spinner .ui-spinner-up{float:right;border-left:0;border-radius:0 2px 2px 0}.spt-main-class .spftestimonial-field-spinner input{width:60px;text-align:center;margin:0;padding:0 8px;height:31px;line-height:31px;border:1px solid #ddd;border-radius:0}.spt-main-class .spftestimonial-field-spinner input:focus{outline:0}.spt-main-class .spftestimonial-field-tabbed .spftestimonial-tabbed-section{border:1px solid #eee}.spt-main-class .spftestimonial-field-text input,.spt-main-class .spftestimonial-field-text_f input{width:340px;max-width:100%}.spt-main-class .spftestimonial-field-typography select,.spt-main-class .spftestimonial-field-typography textarea{margin:0;width:100%}.spt-main-class .spftestimonial-field-typography .spftestimonial--title{color:#999;margin:0 0 2px 0}.spt-main-class .spftestimonial-field-typography .spftestimonial--block{padding-right:5px;padding-bottom:10px;box-sizing:border-box}.spt-main-class .spftestimonial-field-typography .spftestimonial--block .spftestimonial--block{padding-right:0;padding-bottom:0}.spt-main-class .spftestimonial-field-typography .spftestimonial--blocks-selects .spftestimonial--block{flex:1 33.3%}.spt-main-class .spftestimonial-field-typography .spftestimonial--blocks-inputs .spftestimonial--block{flex:1 25%}.spt-main-class .spftestimonial-field-typography .spftestimonial--blocks-inputs .spftestimonial--block .spftestimonial--block{flex:1}.spt-main-class .spftestimonial-field-typography .spftestimonial--input{margin:0;width:100%;padding:2px 8px;border-radius:4px 0 0 4px}.spt-main-class .spftestimonial-field-typography .spftestimonial--unit{min-width:40px;max-width:40px;font-size:12px;font-weight:400;text-align:center;color:#777;border:1px solid #ddd;background-color:#eee;border-radius:0 2px 2px 0;border-left:0;line-height:30px}.spt-main-class .spftestimonial-field-typography .spftestimonial--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}.spt-main-class .spftestimonial-field-typography .spftestimonial--block-preview{cursor:pointer;position:relative;overflow:hidden;margin-top:10px;max-width:100%}.spt-main-class .spftestimonial-field-typography .spftestimonial--black-background{border-color:#000;background-color:#000}.spt-main-class .spftestimonial-field-typography .spftestimonial--toggle{position:absolute;top:5px;right:10px;color:#999}.spt-main-class .spftestimonial-field-typography .spftestimonial--block-extra-styles{margin-top:5px}.spt-main-class .control-section .spftestimonial-field .spftestimonial-title{margin-bottom:10px}.spt-main-class .control-section .spftestimonial-field .spftestimonial-title h4{font-size:14px}.spt-main-class .control-section .spftestimonial-field-background .spftestimonial--select{width:100%}.spt-main-class .control-section .spftestimonial-field-border select,.spt-main-class .control-section .spftestimonial-field-dimensions select,.spt-main-class .control-section .spftestimonial-field-spacing select{width:auto}.spt-main-class .spftestimonial-text-desc,.spt-main-class .spftestimonial-text-subtitle{font-style:italic}@media only screen and (max-width:1200px){.spt-main-class .spftestimonial-metabox .spftestimonial-field .spftestimonial-title{float:none;width:100%;margin-bottom:10px}.spt-main-class .spftestimonial-metabox .spftestimonial-field .spftestimonial-fieldset{margin-left:0}}@media only screen and (max-width:782px){.spt-main-class .spftestimonial-header-inner{text-align:center}.spt-main-class .spftestimonial-header-inner h1{width:100%;margin-bottom:10px}.spt-main-class .spftestimonial-header-left,.spt-main-class .spftestimonial-header-right,.spt-main-class .spftestimonial-search{width:100%}.spt-main-class .spftestimonial-search{text-align:center;margin-bottom:15px}.spt-main-class .spftestimonial-footer{text-align:center}.spt-main-class .spftestimonial-buttons{float:none}.spt-main-class .spftestimonial-copyright{float:none;margin-top:10px}.spt-main-class .spftestimonial-expand-all,.spt-main-class .spftestimonial-nav,.spt-main-class .spftestimonial-nav-background,.spt-main-class .spftestimonial-reset-section{display:none!important}.spt-main-class .spftestimonial-content{margin-left:0}.spt-main-class .spftestimonial-section,.spt-main-class .spftestimonial-section-title{display:block!important}.spt-main-class .spftestimonial-field .spftestimonial-title{float:none;width:100%;margin-bottom:10px}.spt-main-class .spftestimonial-field .spftestimonial-fieldset{margin-left:0}.spt-main-class .spftestimonial-modal-inner{width:350px;height:380px}.spt-main-class .spftestimonial-modal-content{height:282px}.spt-main-class .spftestimonial-icon-dialog .spftestimonial-modal-inner{width:305px;height:380px}.spt-main-class .spftestimonial-icon-dialog .spftestimonial-modal-content{height:267px}.spt-main-class .spftestimonial-modal-icon .spftestimonial-modal-inner{width:330px;height:385px}.spt-main-class .spftestimonial-modal-icon .spftestimonial-modal-content{height:252px}.spt-main-class .spftestimonial-profile>.spftestimonial-field>.spftestimonial-title{float:none;width:100%;margin-bottom:10px}.spt-main-class .spftestimonial-profile>.spftestimonial-field>.spftestimonial-fieldset{margin-left:0}}.sp-tpro-client-rating{float:left}.sp-tpro-client-rating:not(:checked)>input{visibility:hidden;display:none;width:0;height:0;float:right;top:100%;clip:rect(0,0,0,0);margin:0;padding:0;border:10px #fff solid}.sp-tpro-client-rating:not(:checked)>label{float:right;display:block;padding:0;margin:0;cursor:pointer;font-size:150%;line-height:1.2;color:#d4d4d4;width:1em}.sp-tpro-client-rating>input:checked~label{color:#f3bb00}.sp-tpro-client-rating:not(:checked)>label:hover,.sp-tpro-client-rating:not(:checked)>label:hover~label{color:#de7202}.sp-tpro-client-rating>input:checked+label:hover,.sp-tpro-client-rating>input:checked+label:hover~label,.sp-tpro-client-rating>input:checked~label:hover,.sp-tpro-client-rating>input:checked~label:hover~label,.sp-tpro-client-rating>label:hover~input:checked~label{color:#de7202}.spftestimonial-metabox .sp-tpro-banner{background-color:#2684a6;padding:22px 28px;overflow:hidden;background-image:-webkit-gradient(linear,left top,right top,from(#2684a6),to(#52b3d9));background-image:linear-gradient(to right,#2684a6,#52b3d9)}.spftestimonial-metabox .sp-tpro-logo{float:left}.spftestimonial-metabox .sp-tpro-logo img{display:block;width:182px}.spftestimonial-metabox .sp-tpro-short-links{float:right;line-height:30px}.spftestimonial-metabox .sp-tpro-short-links a{color:#fff;text-decoration:none;margin-left:16px;font-size:15px}.spftestimonial-metabox .sp-tpro-short-links a i.fa{margin-right:7px}.sp-testimonial-shortcode-divider{height:20px;background:#f1f1f1;border-top:1px solid #ddd}.spftestimonial-metabox .tpro_shortcode{display:inline-flex;width:100%;background-color:#fffdfd}.tpro_shortcode .tpro-col-lg-6{border-right:1px solid #ddd;width:50%}.tpro_shortcode .tpro-col-lg-6 .tpro_shortcode_content{padding:42px 16px}.tpro_shortcode .tpro-col-lg-6:last-child .tpro_shortcode_content{padding:42px 16px 0 16px}.tpro_shortcode .tpro-col-lg-6 .tpro_shortcode_content .tpro-sc-code{background-color:rgba(82,179,217,.11);padding:10px 15px;display:inline-block}.tpro_shortcode .tpro-col-lg-6:last-child{border-right:none}.tpro_shortcode .tpro-col-lg-6 .tpro-shortcode-title{font-weight:500;font-size:17px!important;padding-top:0!important;color:#4c5158}.tpro_shortcode .tpro-col-lg-6 p{margin-top:2px;color:#4c5158}.tpro_shortcode .tpro-col-lg-6 .back-image{max-width:100%;display:block;margin:0 auto}.tpro_shortcode .tpro-col-lg-6 textarea{border-color:transparent;box-shadow:none;background-color:#eee;padding:4px 6px;resize:none;text-align:center;max-width:100%}@media (max-width:1200px){.sp-tfree-metabox-framework .sp-tfree-mbf{display:block}.sp-tfree-element .sp-tfree-input-field,.sp-tfree-element .sp-tfree-input-label,.sp-tfree-mbf .sp-tfree-col-lg-3{width:100%}.sp-tfree-mbf .sp-tfree-col-lg-3{display:block;border-bottom:1px solid #e5e5e5;padding-bottom:15px;border-right:none}.sp-tfree-mbf .sp-tfree-col-lg-3:last-of-type{border-bottom:none;padding-bottom:0}}.sp-testimonial-shortcode{background-color:rgba(82,179,217,.11);padding:8px 12px;display:inline-block;margin-left:8px}.selectable{-webkit-touch-callout:all;-webkit-user-select:all;-khtml-user-select:all;-moz-user-select:all;-ms-user-select:all;user-select:all}.js #sp_tpro_meta_options.postbox .handlediv,.js #sp_tpro_meta_options.postbox .hndle,.js #sp_tpro_meta_options.postbox .postbox-header,.js #sp_tpro_shortcode_options.postbox .handlediv,.js #sp_tpro_shortcode_options.postbox .hndle,.js #sp_tpro_shortcode_options.postbox .postbox-header{display:none}.sp-testimonial-font-color .wp-picker-container,.sp-testimonial-font-load .spftestimonial--switcher{pointer-events:none;opacity:.6}.sp-tfree-text-center{text-align:center}div.sp-tfree-help .wp-badge{border:none;background:url(../images/icon-256.png) right no-repeat;background-size:110px 110px;box-shadow:none;height:auto}.about-wrap.sp-tfree-help [class$="-col"]{display:flex;justify-content:space-between;flex-wrap:wrap}.about-wrap [class$="-col"]{display:flex;justify-content:space-between;flex-wrap:wrap}.sp-tfree-help [class$="-col"] .col{flex:1;align-self:flex-start}.sp-tfree-help .col{margin-top:40px}.sp-tfree-help.about-wrap [class$="-col"] .col+.col{margin-left:0}.sp-tfree-help.about-wrap .help-section[class$="-col"] .col+.col{margin-left:20px}div.sp-tfree-help .headline-feature.feature-video{position:relative;margin:40px 0;padding-bottom:56.25%;width:100%;max-width:100%;height:0;text-align:center}div.sp-tfree-help .headline-feature.feature-video iframe{position:absolute;top:0;left:0;width:100%;height:100%}div.sp-tfree-help .feature-section .sp-tfree-feature{background-color:#fff;padding:20px 20px;border:1px solid #ddd}div.sp-tfree-help .feature-section .sp-tfree-feature h3{font-size:16px;margin-top:18px}div.sp-tfree-help .feature-section i.sp-tfree-font-icon{font-size:30px;display:block;color:#52b3d9}div.sp-tfree-help .sp-tfree-pro-features .feature-section span.dashicons{font-size:22px;color:#fff;background-color:#52b3d9;width:28px;height:28px;line-height:28px;border-radius:50%;margin-right:10px}div.sp-tfree-help .sp-tfree-pro-features .feature-section{margin-bottom:40px;margin-left:-2%}div.sp-tfree-help .sp-tfree-pro-features .feature-section .sp-tfree-feature h3{margin-top:0}div.sp-tfree-help .sp-tfree-pro-features .feature-section .sp-tfree-feature p{margin-bottom:0}div.sp-tfree-help .sp-tfree-pro-features .feature-section .sp-tfree-feature{box-shadow:0 0 10px 0 #ddd;margin:4px;border:0 solid}div.sp-tfree-help .sp-tfree-pro-features .feature-section.three-col .col{min-width:31.3%;max-width:31.3%;margin-top:20px;padding-left:2%}div.sp-tfree-help .sp-tfree-pro-features .sp-tfree-pro-subtitle{font-size:1.2em;margin-bottom:26px}div.sp-tfree-help .sp-tfree-upgrade-sticky-footer{position:fixed;bottom:0;background:#fff;width:calc(100% - 195px);z-index:9;margin-left:-25px;text-align:center;border:1px solid #dfdfdf;padding:15px 0;border-bottom:none}div.sp-tfree-help .sp-tfree-pro-features h2{font-size:2.5em;font-weight:400}div.sp-tfree-help .sp-tfree-upgrade-sticky-footer h3{margin-top:17px;margin-bottom:20px}div.sp-tfree-help .sp-tfree-upgrade-sticky-footer a.button{margin:0 8px}.sp-tfree-upgrade>h1{font-size:2.5em;color:#444;font-weight:300}.sp-tfree-upgrade>h1 span{font-weight:400}.sp-tfree-upgrade .about-text{margin-bottom:0}.sp-tfree-upgrade ul{margin-top:0}.about-wrap.sp-tfree-upgrade .about-text{min-height:60px}.about-wrap.sp-tfree-upgrade hr{order:0;height:0;margin:0;border-top:1px solid rgba(0,0,0,.1)}.sp-tfree-upgrade .sp-tfree-pro-features .feature-section{margin-bottom:40px;display:flex;flex-wrap:wrap}.sp-tfree-upgrade .sp-tfree-pro-features .feature-section .sp-tfree-feature h3{margin-top:0}.sp-tfree-upgrade .sp-tfree-pro-features .feature-section .sp-tfree-feature p{margin-bottom:0}.sp-tfree-upgrade .sp-tfree-pro-features .feature-section .sp-tfree-feature{box-shadow:0 0 10px 0 #ddd;margin:4px;border:0 solid}.sp-tfree-upgrade .sp-tfree-pro-features .feature-section.three-col .col{min-width:32%;max-width:32%;margin-top:20px;display:flex;align-self:auto}.sp-tfree-upgrade .sp-tfree-pro-features .sp-tfree-pro-subtitle{font-size:1.2em;margin-bottom:26px}.sp-tfree-upgrade .sp-tfree-pro-features h2,.sp-tfree-upgrade .sp-tfree-promo-video-title{font-size:2.2em;font-weight:400}.sp-tfree-join-community h2{font-size:2em}.sp-tfree-upgrade .sp-tfree-upgrade-sticky-footer h3{margin-top:17px;margin-bottom:20px}.sp-tfree-upgrade .sp-tfree-upgrade-sticky-footer a.button{margin:0 8px}.sp-tfree-upgrade .tfree-upgrade-btn{display:inline-block;padding:0 20px 0 0}.sp-tfree-upgrade .tfree-upgrade-btn a,.sp-tfree-upgrade a.tfree-upgrade-btn{text-decoration:none;text-align:center;font-size:16px}.sp-tfree-upgrade .tfree-upgrade-btn a:focus{outline:0}.sp-tfree-upgrade a.tfree-upgrade-btn,.sp-tfree-upgrade ul li.tfree-upgrade-btn:first-child a{background:#52b3d9;padding:0 15px;line-height:46px;display:block;color:#fff;border-radius:3px;font-weight:500}.sp-tfree-upgrade ul li.tfree-upgrade-btn:last-child a{text-decoration:underline}.sp-tfree-upgrade ul li.tfree-upgrade-btn a i{margin-left:4px}.sp-tfree-upgrade ul li.tfree-upgrade-btn:last-child a i{font-size:14px}.sp-tfree-upgrade a.tfree-upgrade-btn{display:inline-block}#sp-tfree-review-notice{padding:15px 15px 15px 0;background-color:#fff;border-radius:3px;margin:20px 20px 0 0}#sp-tfree-review-notice .sp-tfree-plugin-icon{width:125px;float:left;line-height:90px;text-align:center}#sp-tfree-review-notice .sp-tfree-plugin-icon img{max-width:83px;vertical-align:middle}#sp-tfree-review-notice .sp-tfree-notice-text{overflow:hidden}#sp-tfree-review-notice .sp-tfree-notice-text h3{font-size:24px;margin:0 0 5px;font-weight:400;line-height:1}#sp-tfree-review-notice .sp-tfree-notice-text p{margin:10px 0 10px 0;font-size:13px}#sp-tfree-review-notice .sp-tfree-notice-text p.sp-tfree-review-actions{margin:10px 0 2px 0}#sp-tfree-review-notice .sp-tfree-notice-text .sp-tfree-review-actions a{text-decoration:none;margin-right:8px;color:#63a37b;display:inline-block;position:relative}#sp-tfree-review-notice .sp-tfree-notice-text .sp-tfree-review-actions a span{padding-right:2px}#sp-tfree-review-notice .sp-tfree-notice-text .sp-tfree-review-actions a.button{color:#fff}@media (max-width:960px){div.sp-tfree-help .sp-tfree-upgrade-sticky-footer{width:calc(100%)}}@media screen and (max-width:782px){div.sp-tfree-help .three-col .col{min-width:48%!important;max-width:48%!important;margin-left:0!important}}@media (max-width:500px){div.sp-tfree-help .wp-badge{background-position-x:center}div.sp-tfree-help .three-col .col{min-width:100%!important;max-width:100%!important;margin-top:1em}}
admin/assets/images/client-thumb.png DELETED
Binary file
admin/assets/images/pro-feature.png DELETED
Binary file
admin/assets/images/tpro-tiny-mce.png DELETED
Binary file
admin/assets/images/upgrade-ss1.png DELETED
Binary file
admin/assets/images/upgrade-ss10.png DELETED
Binary file
admin/assets/images/upgrade-ss11.png DELETED
Binary file
admin/assets/images/upgrade-ss12.png DELETED
Binary file
admin/assets/images/upgrade-ss13.png DELETED
Binary file
admin/assets/images/upgrade-ss14.png DELETED
Binary file
admin/assets/images/upgrade-ss15.png DELETED
Binary file
admin/assets/images/upgrade-ss16.png DELETED
Binary file
admin/assets/images/upgrade-ss17.png DELETED
Binary file
admin/assets/images/upgrade-ss18.png DELETED
Binary file
admin/assets/images/upgrade-ss19.png DELETED
Binary file
admin/assets/images/upgrade-ss2.png DELETED
Binary file
admin/assets/images/upgrade-ss20.png DELETED
Binary file
admin/assets/images/upgrade-ss21.png DELETED
Binary file
admin/assets/images/upgrade-ss22.png DELETED
Binary file
admin/assets/images/upgrade-ss23.png DELETED
Binary file
admin/assets/images/upgrade-ss24.png DELETED
Binary file
admin/assets/images/upgrade-ss25.png DELETED
Binary file
admin/assets/images/upgrade-ss3.png DELETED
Binary file
admin/assets/images/upgrade-ss4.png DELETED
Binary file
admin/assets/images/upgrade-ss5.png DELETED
Binary file
admin/assets/images/upgrade-ss6.png DELETED
Binary file
admin/assets/images/upgrade-ss7.png DELETED
Binary file
admin/assets/images/upgrade-ss8.png DELETED
Binary file
admin/assets/images/upgrade-ss9.png DELETED
Binary file
admin/views/framework/assets/css/csf-rtl.min.css DELETED
@@ -1 +0,0 @@
1
- .csf{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-section-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-active .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 .fa{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-metabox .csf-section-title .fa{margin-left:5px;margin-right:0}.csf-section-title .fa{margin-left:5px;margin-right:0}.csf-field .csf-title{float:right}.csf-field .csf-fieldset{margin-left:0;margin-right:30%}.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 .csf--inline-list li,.csf-field-radio .csf--inline-list li{margin-right:0;margin-left:15px}.csf-field-switcher .csf--switcher{float:right}.csf-field-switcher .csf--label{float:right;margin-left:0;margin-right:5px}.csf-field-upload .csf--buttons,.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 .fa{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-dimensions .csf--input,.csf-field-spacing .csf--input{float:right;margin-right:0;margin-left:15px}.csf-field-border .csf--left,.csf-field-dimensions .csf--left,.csf-field-spacing .csf--left{float:right}.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}.csf-field-slider .ui-slider{direction:ltr}.csf-field-slider input[type=text]{margin-left:0;margin-right:15px}.csf-field-slider em{padding-left:0;padding-right:5px}.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-taxonomy-add-fields .csf-fieldset{margin-right:0}.csf-taxonomy-add-fields .csf-field>.csf-fieldset>.csf-help{left:-5px;right:auto}.csf-taxonomy-edit-fields .csf-fieldset{margin-left:0;margin-right:225px}.csf-taxonomy-edit-fields .csf-field>.csf-fieldset>.csf-help{right:auto;left:-5px}.csf-profile>h2>.fa{padding-right:0;padding-left:7px}.csf-profile>.csf-field>.csf-fieldset{margin-left:0;margin-right:220px}.csf-profile>.csf-field>.csf-help{left:0;right:auto}.csf-taxonomy-edit-fields .csf-fieldset{margin-left:0;margin-right:225px}.csf-taxonomy-edit-fields .csf-field>.csf-fieldset>.csf-help{right:auto;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}
 
admin/views/framework/assets/css/csf.min.css DELETED
@@ -1 +0,0 @@
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}.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:99999;top:32px;-moz-box-shadow:0 5px 25px rgba(0,0,0,.125);-webkit-box-shadow:0 5px 25px rgba(0,0,0,.125);box-shadow:0 5px 25px rgba(0,0,0,.125)}.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;-moz-transition:all .3s ease;-o-transition:all .3s ease;-webkit-transition:all .3s ease;transition:all .3s 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-section-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-nav ul li .csf-arrow:after{content:"\f054";display:inline-block;font-family:FontAwesome;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-active .csf-arrow:after{-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-webkit-transform:rotate(90deg);transform:rotate(90deg)}.csf-nav ul li.csf-tab-active 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 .fa{width:20px;margin-right:5px;font-size:14px;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 .fa{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:14px;line-height:28px;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:28px;min-height:28px;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-section-title{padding:20px}.block-editor-page .csf-metabox{margin:-6px -14px -12px -14px}.csf-restore-wrapper{text-align:right;padding:10px;border-top:1px solid #eee}.csf-restore-wrapper .csf-button-cancel,.csf-restore-wrapper input{display:none}.csf-restore-wrapper span{-webkit-user-select:none;user-select:none}.csf-restore-wrapper input:checked~.csf-button-restore{display:none}.csf-restore-wrapper input:checked~.csf-button-cancel{display:inline-block}#side-sortables .csf-section-title{padding:12px}#side-sortables .csf-field{padding:12px}#side-sortables .csf-field .csf-title{float:none;width:100%;margin-bottom:10px}#side-sortables .csf-field .csf-fieldset{margin-left:0}#side-sortables .csf-notice{padding:12px}.csf-comment-metabox{margin:-6px -12px -12px -12px}.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-section-active{color:#fff;background-color:#111}.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-section-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 #e5e5e5;-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 #e5e5e5;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:#fff;-moz-box-shadow:0 1px 1px rgba(0,0,0,.05);-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.csf-theme-light .csf-expand-all:hover{color:#555}.csf-theme-light .csf-search input{color:#555;background-color:#fff;-moz-box-shadow:0 1px 1px rgba(0,0,0,.05);-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.csf-theme-light .csf-search input::-webkit-input-placeholder{color:#bbb}.csf-theme-light .csf-nav ul li a{color:#666;background-color:#f5f5f5;border-bottom:1px solid #e5e5e5}.csf-theme-light .csf-nav ul li a:hover{color:#222}.csf-theme-light .csf-nav ul li .csf-section-active{color:#222;background-color:#fff}.csf-theme-light .csf-nav ul li .csf-section-active:after{display:none}.csf-theme-light .csf-nav ul ul li a{background-color:#eee;border-bottom:1px solid #e5e5e5}.csf-theme-light .csf-nav>ul>li:last-child>a{border-bottom:none}.csf-theme-light .csf-nav-background{background-color:#f5f5f5}.csf-theme-light .csf-footer{color:#555;border-top:1px solid #e5e5e5;background-color:#f5f5f5;background:linear-gradient(#fafafa,#f5f5f5)}.csf-field{position:relative;padding:30px}.csf-field+.csf-field:not(.hidden){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{margin-left:25%}.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 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-icon{width:14px;text-align:center}.csf-field-accordion .csf--icon{width:20px;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}.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-background .wp-color-result.button{margin-bottom:0}.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 1px;list-style-type:none;overflow-y:auto;max-height:305px}.csf-field-checkbox ul ul,.csf-field-radio ul ul{max-height:none}.csf-field-checkbox .csf--inline-list li,.csf-field-radio .csf--inline-list li{display:inline-block;margin-right:15px}.csf-field-checkbox input[type=radio]:checked:before,.csf-field-radio input[type=radio]:checked:before{line-height:10px}.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{margin-left:6px;padding:2px 8px}.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:FontAwesome;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:14px;width:30px;height:26px;line-height:26px;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:11px;font-family:FontAwesome;content:"\f00c";width:15px;height:15px;line-height:15px;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}.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:11px;font-family:FontAwesome;content:"\f00c";width:15px;height:15px;line-height:15px;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 input[type=number]{position:relative;z-index:1;width:50px;margin:0 0 0 15px;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 .fa{display:inline-block;cursor:pointer;width:50px;color:#555}.csf-field-sortable .csf--sortable-helper .fa: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:FontAwesome;font-size: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-section{border:1px solid #ccd0d4;background-color:#fff;box-shadow:0 1px 1px rgba(0,0,0,.04)}.csf-field-tabbed .csf-tabbed-section>.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}.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:14px;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:FontAwesome;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:FontAwesome;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:FontAwesome;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:FontAwesome;position:absolute;content:"\f002";font-size:11px;right:10px;top:7px;color:#aaa}.csf-field .wp-picker-container{display:inline-block}.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{margin-left:0}.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{margin-left:0}.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-text-subtitle{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-field-fieldset .csf-field{padding:10px}.control-section .csf-field-fieldset .csf-field .csf-title{margin-bottom:5px}.control-section .csf-field-fieldset .csf-field h4{font-size:12px}.control-section .csf-field-accordion .csf-field,.control-section .csf-field-group .csf-field,.control-section .csf-field-repeater .csf-field,.control-section .csf-field-sortable .csf-field,.control-section .csf-field-tabbed .csf-field{padding:10px}.control-section .csf-field-accordion .csf-field .csf-title,.control-section .csf-field-group .csf-field .csf-title,.control-section .csf-field-repeater .csf-field .csf-title,.control-section .csf-field-sortable .csf-field .csf-title,.control-section .csf-field-tabbed .csf-field .csf-title{margin-bottom:5px}.control-section .csf-field-accordion .csf-field h4,.control-section .csf-field-group .csf-field h4,.control-section .csf-field-repeater .csf-field h4,.control-section .csf-field-sortable .csf-field h4,.control-section .csf-field-tabbed .csf-field h4{font-size:12px}.control-section .csf-dependency-control.hidden{display:none!important}.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{margin-left:0}.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:225px}.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{margin-left:225px}.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-profile>h2>.fa{padding-right:7px}.csf-profile>.csf-field{padding:15px 0;border-top:none!important}.csf-profile>.csf-field>.csf-title{width:220px}.csf-profile>.csf-field>.csf-title h4{font-size:14px;font-weight:600;line-height:1.3;display:inline-block;vertical-align:middle}.csf-profile>.csf-field>.csf-fieldset{margin-left:220px}.csf-profile>.csf-field>.csf-fieldset>.csf-help{top:-15px;right:-5px}.csf-profile>.csf-field-heading{font-size:1.1em}.csf-profile>.csf-field-subheading{font-size:12px}.csf-profile>.csf-field-heading,.csf-profile>.csf-field-subheading{margin:10px 0;padding:15px!important;border:1px solid #ddd}.csf-profile>.csf-field-submessage{margin:20px 0}.csf-profile>.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>.csf-field-notice{background-color:transparent}.csf-modal{display:none;position:fixed;z-index:100101;top:0;left:0;width:100%;height:100%}.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-fieldset{margin-left:25%}.csf-modal-content .csf-title{width:20%}.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-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-icon-search{width:250px;height:40px;line-height:40px}.csf-modal-icon a{display:inline-block;padding:4px;cursor:pointer}.csf-modal-icon a .csf-icon{position:relative;padding:4px;display:inline-block;font-size:14px;width:30px;height:26px;line-height:26px;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-modal-icon a:hover .csf-icon{color:#fff;border-color:#222;background-color:#222}.csf-modal-icon .csf-modal-content{padding:10px;height:618px}.csf-modal-icon .csf-text-error{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-text-desc,.csf-text-subtitle{font-weight:400;margin-top:10px;color:#999}.csf-text-success{color:#2b542c}.csf-text-error{color:#d02c21}.csf-text-info{color:#31708f}.csf-text-warning{color:#ffb900}.csf-text-muted{color:#aaa}.csf-text-left{text-align:left}.csf-text-center{text-align:center}.csf-text-right{text-align:right}.csf-block-left{float:left}.csf-block-right{float:right}.csf-full-width{width:100%}.csf-full-half{width:50%}.csf-table{width:100%;display:table}.csf-table-cell{display:table-cell;vertical-align:middle}.csf-table-expanded{width:100%}.csf-nowrap{white-space:nowrap}.csf-text-highlight{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px}.csf-text-highlight-gray{padding:2px 4px;font-size:90%;background-color:#f0f0f0;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px}.csf-hidden{display:none}.csf-hide{display:none!important}.csf-show{display:block!important}.csf-opacity{opacity:.5}.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:28px;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:25%;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{margin-left:0}}@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{margin-left:0}.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>.csf-field>.csf-title{float:none;width:100%;margin-bottom:10px}.csf-profile>.csf-field>.csf-fieldset{margin-left:0}}.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/views/framework/assets/css/{csf-rtl.css → spftestimonial-rtl.css} RENAMED
@@ -1,9 +1,4 @@
1
  /**
2
- *
3
- * ---------------------------------------------------------
4
- * CODESTAR FRAMEWORK RTL CSS MAP
5
- * ---------------------------------------------------------
6
- *
7
  * 01. Base
8
  * 01. 01. Header
9
  * 01. 02. Header Buttons
@@ -36,8 +31,6 @@
36
  * 02. 19. Field: link_color
37
  * 02. 20. Field: color_group
38
  * 02. 21. Field: palette
39
- * 03. Taxonomy
40
- * 04. Profile
41
  * 05. Modal
42
  * 06. Customizer
43
  * 07. Responsive
@@ -49,7 +42,7 @@
49
  /**
50
  * 01. Base
51
  */
52
- .csf {
53
  margin-left: 20px;
54
  margin-right: 0;
55
  }
@@ -57,69 +50,69 @@
57
  /**
58
  * 01. 01. Header
59
  */
60
- .csf-header h1 {
61
  float: right;
62
  }
63
- .csf-header fieldset {
64
  float: left;
65
  }
66
 
67
  /**
68
  * 01. 02. Header Buttons
69
  */
70
- .csf-buttons {
71
  float: left;
72
  direction: ltr;
73
  }
74
 
75
- .csf-header-left {
76
  float: right;
77
  }
78
 
79
- .csf-header-right {
80
  float: left;
81
  }
82
 
83
  /**
84
  * 01. 03. Navigation
85
  */
86
- .csf-nav {
87
  float: right;
88
  }
89
- .csf-nav ul {
90
  clear: right;
91
  }
92
- .csf-nav ul li .csf-section-active:after {
93
  right: auto;
94
  left: 0;
95
  border-left-color: #fff;
96
  border-right-color: transparent;
97
  }
98
- .csf-nav ul li .csf-arrow:after {
99
  content: "\f053";
100
  right: auto;
101
  left: 10px;
102
  }
103
- .csf-nav ul li.csf-tab-active .csf-arrow:after {
104
  -moz-transform: rotate(-90deg);
105
  -ms-transform: rotate(-90deg);
106
  -webkit-transform: rotate(-90deg);
107
  transform: rotate(-90deg);
108
  }
109
- .csf-nav ul ul li a {
110
  padding-right: 25px;
111
  padding-left: 15px;
112
  }
113
- .csf-nav ul ul:before {
114
  left: auto;
115
  right: 15px;
116
  }
117
- .csf-nav .fa {
118
  margin-left: 5px;
119
  margin-right: 0;
120
  }
121
 
122
- .csf-nav-background {
123
  left: auto;
124
  right: 0;
125
  }
@@ -127,7 +120,7 @@
127
  /**
128
  * 01. 04. Content
129
  */
130
- .csf-content {
131
  margin-left: 0;
132
  margin-right: 225px;
133
  }
@@ -135,19 +128,19 @@
135
  /**
136
  * 01. 05. Section
137
  */
138
- .csf-sections {
139
  float: right;
140
  }
141
 
142
  /**
143
  * 01. 06. Show all options
144
  */
145
- .csf-show-all .csf-content {
146
  margin-right: 0;
147
  overflow: hidden;
148
  }
149
 
150
- .csf-expand-all {
151
  float: right;
152
  right: auto;
153
  left: 40px;
@@ -158,35 +151,35 @@
158
  /**
159
  * 01. 07. Search Input
160
  */
161
- .csf-search {
162
  float: right;
163
  }
164
- .csf-search input {
165
  margin: 0 0 0 5px;
166
  }
167
 
168
  /**
169
  * 01. 08. Copyright
170
  */
171
- .csf-copyright {
172
  float: right;
173
  }
174
 
175
  /**
176
  * 01. 09. Metabox
177
  */
178
- .csf-metabox {
179
  margin: -6px -12px -12px -12px;
180
  }
181
- .csf-metabox .csf-section-title {
182
  padding: 20px;
183
  }
184
- .csf-metabox .csf-section-title .fa {
185
  margin-left: 5px;
186
  margin-right: 0;
187
  }
188
 
189
- .csf-section-title .fa {
190
  margin-left: 5px;
191
  margin-right: 0;
192
  }
@@ -194,34 +187,34 @@
194
  /**
195
  * 02. Fields
196
  */
197
- .csf-field .csf-title {
198
  float: right;
199
  }
200
- .csf-field .csf-fieldset {
201
  margin-left: 0;
202
  margin-right: 30%;
203
  }
204
 
205
- .csf-pseudo-field {
206
  padding: 0 0 0 5px !important;
207
  }
208
 
209
  /**
210
  * 02. 01. Field: typography
211
  */
212
- .csf-field-typography select {
213
  margin: 0;
214
  width: 100%;
215
  }
216
- .csf-field-typography .csf--blocks-inputs .csf--blocks {
217
  flex-direction: row-reverse;
218
  }
219
 
220
  /**
221
  * 02. 02. Field: checkbox, radio
222
  */
223
- .csf-field-checkbox .csf--inline-list li,
224
- .csf-field-radio .csf--inline-list li {
225
  margin-right: 0;
226
  margin-left: 15px;
227
  }
@@ -229,10 +222,10 @@
229
  /**
230
  * 02. 03. Field: switcher
231
  */
232
- .csf-field-switcher .csf--switcher {
233
  float: right;
234
  }
235
- .csf-field-switcher .csf--label {
236
  float: right;
237
  margin-left: 0;
238
  margin-right: 5px;
@@ -241,8 +234,8 @@
241
  /**
242
  * 02. 04. Field: upload
243
  */
244
- .csf-field-upload .csf--remove,
245
- .csf-field-upload .csf--buttons {
246
  margin-left: 0;
247
  margin-right: 5px;
248
  }
@@ -250,10 +243,10 @@
250
  /**
251
  * 02. 05. Field: group
252
  */
253
- .csf-field-group .csf-cloneable-title {
254
  padding: 15px 10px 15px 65px;
255
  }
256
- .csf-field-group .csf-cloneable-helper {
257
  right: auto;
258
  left: 10px;
259
  }
@@ -261,7 +254,7 @@
261
  /**
262
  * 02. 06. Field: repeater
263
  */
264
- .csf-field-repeater .csf-repeater-helper {
265
  border-left: 0;
266
  border-right: 1px solid #eee;
267
  }
@@ -269,7 +262,7 @@
269
  /**
270
  * 02. 07. Field: help
271
  */
272
- .csf-help {
273
  right: auto;
274
  left: 5px;
275
  }
@@ -277,11 +270,11 @@
277
  /**
278
  * 02. 08. Field: icon
279
  */
280
- .csf-field-icon .button {
281
  margin-right: 0;
282
  margin-left: 5px;
283
  }
284
- .csf-field-icon .csf-icon-preview i {
285
  margin-right: 0;
286
  margin-left: 5px;
287
  }
@@ -289,11 +282,11 @@
289
  /**
290
  * 02. 09. Field: gallery
291
  */
292
- .csf-field-gallery ul li {
293
  margin-right: 0;
294
  margin-left: 5px;
295
  }
296
- .csf-field-gallery .button {
297
  margin-right: 0;
298
  margin-left: 5px;
299
  }
@@ -301,11 +294,11 @@
301
  /**
302
  * 02. 11. Field: tabbed
303
  */
304
- .csf-field-tabbed .csf-tabbed-nav .fa {
305
  padding-right: 0;
306
  padding-left: 5px;
307
  }
308
- .csf-field-tabbed .csf-tabbed-nav a {
309
  margin-right: 0;
310
  margin-left: 5px;
311
  }
@@ -313,18 +306,18 @@
313
  /**
314
  * 02. 12. Field: media
315
  */
316
- .csf-field-media .button {
317
  margin-left: 0;
318
  margin-right: 7px;
319
  }
320
- .csf-field-media .hidden + .button {
321
  margin-right: 0;
322
  }
323
 
324
  /**
325
  * 02. 13. Field: notice
326
  */
327
- .csf-notice {
328
  border-left: none;
329
  border-right-style: solid;
330
  border-right-width: 4px;
@@ -333,30 +326,30 @@
333
  /**
334
  * 02. 14. Field: border, spacing, dimensions
335
  */
336
- .csf-field-dimensions .csf--input,
337
- .csf-field-spacing .csf--input,
338
- .csf-field-border .csf--input {
339
  float: right;
340
  margin-right: 0;
341
  margin-left: 15px;
342
  }
343
- .csf-field-dimensions .csf--left,
344
- .csf-field-spacing .csf--left,
345
- .csf-field-border .csf--left {
346
  float: right;
347
  }
348
 
349
  /**
350
  * 02. 15. Field: background
351
  */
352
- .csf-field-background .csf--block {
353
  float: right;
354
  }
355
- .csf-field-background .csf--select,
356
- .csf-field-background .csf--media {
357
  padding-right: 0;
358
  }
359
- .csf-field-background .csf--title {
360
  margin-right: 0;
361
  margin-left: 5px;
362
  }
@@ -364,21 +357,21 @@
364
  /**
365
  * 02. 16. Field: spinner
366
  */
367
- .csf-field-spinner .csf--spin {
368
  float: right;
369
  }
370
 
371
  /**
372
  * 02. 17. Field: slider
373
  */
374
- .csf-field-slider .ui-slider {
375
  direction: ltr;
376
  }
377
- .csf-field-slider input[type="text"] {
378
  margin-left: 0;
379
  margin-right: 15px;
380
  }
381
- .csf-field-slider em {
382
  padding-left: 0;
383
  padding-right: 5px;
384
  }
@@ -386,14 +379,14 @@
386
  /**
387
  * 02. 18. Field: button_set
388
  */
389
- .csf-field-button_set .csf--button-group {
390
  float: right;
391
  }
392
 
393
  /**
394
  * 02. 19. Field: link_color
395
  */
396
- .csf-field-link_color .csf--left {
397
  float: right;
398
  margin-right: 0;
399
  margin-left: 10px;
@@ -402,7 +395,7 @@
402
  /**
403
  * 02. 20. Field: color_group
404
  */
405
- .csf-field-color_group .csf--left {
406
  float: right;
407
  margin-right: 0;
408
  margin-left: 10px;
@@ -411,68 +404,23 @@
411
  /**
412
  * 02. 21. Field: palette
413
  */
414
- .csf-field-palette .csf--palette {
415
  margin-right: 0;
416
  margin-left: 10px;
417
  }
418
 
419
- /**
420
- * 03. Taxonomy
421
- */
422
- .csf-taxonomy-add-fields .csf-fieldset {
423
- margin-right: 0;
424
- }
425
- .csf-taxonomy-add-fields .csf-field > .csf-fieldset > .csf-help {
426
- left: -5px;
427
- right: auto;
428
- }
429
-
430
- .csf-taxonomy-edit-fields .csf-fieldset {
431
- margin-left: 0;
432
- margin-right: 225px;
433
- }
434
- .csf-taxonomy-edit-fields .csf-field > .csf-fieldset > .csf-help {
435
- right: auto;
436
- left: -5px;
437
- }
438
-
439
- /**
440
- * 04. Profile
441
- */
442
- .csf-profile > h2 > .fa {
443
- padding-right: 0;
444
- padding-left: 7px;
445
- }
446
- .csf-profile > .csf-field > .csf-fieldset {
447
- margin-left: 0;
448
- margin-right: 220px;
449
- }
450
- .csf-profile > .csf-field > .csf-help {
451
- left: 0;
452
- right: auto;
453
- }
454
-
455
- .csf-taxonomy-edit-fields .csf-fieldset {
456
- margin-left: 0;
457
- margin-right: 225px;
458
- }
459
- .csf-taxonomy-edit-fields .csf-field > .csf-fieldset > .csf-help {
460
- right: auto;
461
- left: -5px;
462
- }
463
-
464
  /**
465
  * 05. Modal
466
  */
467
- .csf-modal-content .csf-field {
468
  padding: 15px 15px 15px 30px;
469
  }
470
 
471
- .csf-modal-title {
472
  padding: 0 16px 0 36px;
473
  }
474
 
475
- .csf-modal-close {
476
  right: auto;
477
  left: 0;
478
  }
@@ -480,7 +428,7 @@
480
  /**
481
  * 06. Customizer
482
  */
483
- .control-section .csf-field .csf-fieldset {
484
  margin-right: 0;
485
  }
486
 
@@ -488,30 +436,30 @@
488
  * 07. Responsive
489
  */
490
  @media only screen and (max-width: 1200px) {
491
- .csf-metabox .csf-field .csf-fieldset {
492
  margin-left: 0;
493
  }
494
  }
495
  @media only screen and (max-width: 782px) {
496
- .csf .csf-fieldset,
497
- .csf .csf-content {
498
  margin-right: 0;
499
  }
500
  }
501
  /**
502
  * 08. Others
503
  */
504
- .csf-field .csf--transparent-slider {
505
  margin-left: 0;
506
  margin-right: 2px;
507
  }
508
- .csf-field .csf--transparent-slider .ui-slider-handle {
509
  margin: 0 -11px;
510
  }
511
- .csf-field .csf--transparent-offset {
512
  background-position: center right;
513
  }
514
- .csf-field .csf--transparent-text {
515
  right: auto;
516
  left: 10px;
517
  }
1
  /**
 
 
 
 
 
2
  * 01. Base
3
  * 01. 01. Header
4
  * 01. 02. Header Buttons
31
  * 02. 19. Field: link_color
32
  * 02. 20. Field: color_group
33
  * 02. 21. Field: palette
 
 
34
  * 05. Modal
35
  * 06. Customizer
36
  * 07. Responsive
42
  /**
43
  * 01. Base
44
  */
45
+ .spftestimonial {
46
  margin-left: 20px;
47
  margin-right: 0;
48
  }
50
  /**
51
  * 01. 01. Header
52
  */
53
+ .spftestimonial-header h1 {
54
  float: right;
55
  }
56
+ .spftestimonial-header fieldset {
57
  float: left;
58
  }
59
 
60
  /**
61
  * 01. 02. Header Buttons
62
  */
63
+ .spftestimonial-buttons {
64
  float: left;
65
  direction: ltr;
66
  }
67
 
68
+ .spftestimonial-header-left {
69
  float: right;
70
  }
71
 
72
+ .spftestimonial-header-right {
73
  float: left;
74
  }
75
 
76
  /**
77
  * 01. 03. Navigation
78
  */
79
+ .spftestimonial-nav {
80
  float: right;
81
  }
82
+ .spftestimonial-nav ul {
83
  clear: right;
84
  }
85
+ .spftestimonial-nav ul li .spftestimonial-section-active:after {
86
  right: auto;
87
  left: 0;
88
  border-left-color: #fff;
89
  border-right-color: transparent;
90
  }
91
+ .spftestimonial-nav ul li .spftestimonial-arrow:after {
92
  content: "\f053";
93
  right: auto;
94
  left: 10px;
95
  }
96
+ .spftestimonial-nav ul li.spftestimonial-tab-active .spftestimonial-arrow:after {
97
  -moz-transform: rotate(-90deg);
98
  -ms-transform: rotate(-90deg);
99
  -webkit-transform: rotate(-90deg);
100
  transform: rotate(-90deg);
101
  }
102
+ .spftestimonial-nav ul ul li a {
103
  padding-right: 25px;
104
  padding-left: 15px;
105
  }
106
+ .spftestimonial-nav ul ul:before {
107
  left: auto;
108
  right: 15px;
109
  }
110
+ .spftestimonial-nav .fa {
111
  margin-left: 5px;
112
  margin-right: 0;
113
  }
114
 
115
+ .spftestimonial-nav-background {
116
  left: auto;
117
  right: 0;
118
  }
120
  /**
121
  * 01. 04. Content
122
  */
123
+ .spftestimonial-content {
124
  margin-left: 0;
125
  margin-right: 225px;
126
  }
128
  /**
129
  * 01. 05. Section
130
  */
131
+ .spftestimonial-sections {
132
  float: right;
133
  }
134
 
135
  /**
136
  * 01. 06. Show all options
137
  */
138
+ .spftestimonial-show-all .spftestimonial-content {
139
  margin-right: 0;
140
  overflow: hidden;
141
  }
142
 
143
+ .spftestimonial-expand-all {
144
  float: right;
145
  right: auto;
146
  left: 40px;
151
  /**
152
  * 01. 07. Search Input
153
  */
154
+ .spftestimonial-search {
155
  float: right;
156
  }
157
+ .spftestimonial-search input {
158
  margin: 0 0 0 5px;
159
  }
160
 
161
  /**
162
  * 01. 08. Copyright
163
  */
164
+ .spftestimonial-copyright {
165
  float: right;
166
  }
167
 
168
  /**
169
  * 01. 09. Metabox
170
  */
171
+ .spftestimonial-metabox {
172
  margin: -6px -12px -12px -12px;
173
  }
174
+ .spftestimonial-metabox .spftestimonial-section-title {
175
  padding: 20px;
176
  }
177
+ .spftestimonial-metabox .spftestimonial-section-title .fa {
178
  margin-left: 5px;
179
  margin-right: 0;
180
  }
181
 
182
+ .spftestimonial-section-title .fa {
183
  margin-left: 5px;
184
  margin-right: 0;
185
  }
187
  /**
188
  * 02. Fields
189
  */
190
+ .spftestimonial-field .spftestimonial-title {
191
  float: right;
192
  }
193
+ .spftestimonial-field .spftestimonial-fieldset {
194
  margin-left: 0;
195
  margin-right: 30%;
196
  }
197
 
198
+ .spftestimonial-pseudo-field {
199
  padding: 0 0 0 5px !important;
200
  }
201
 
202
  /**
203
  * 02. 01. Field: typography
204
  */
205
+ .spftestimonial-field-typography select {
206
  margin: 0;
207
  width: 100%;
208
  }
209
+ .spftestimonial-field-typography .spftestimonial--blocks-inputs .spftestimonial--blocks {
210
  flex-direction: row-reverse;
211
  }
212
 
213
  /**
214
  * 02. 02. Field: checkbox, radio
215
  */
216
+ .spftestimonial-field-checkbox .spftestimonial--inline-list li,
217
+ .spftestimonial-field-radio .spftestimonial--inline-list li {
218
  margin-right: 0;
219
  margin-left: 15px;
220
  }
222
  /**
223
  * 02. 03. Field: switcher
224
  */
225
+ .spftestimonial-field-switcher .spftestimonial--switcher {
226
  float: right;
227
  }
228
+ .spftestimonial-field-switcher .spftestimonial--label {
229
  float: right;
230
  margin-left: 0;
231
  margin-right: 5px;
234
  /**
235
  * 02. 04. Field: upload
236
  */
237
+ .spftestimonial-field-upload .spftestimonial--remove,
238
+ .spftestimonial-field-upload .spftestimonial--buttons {
239
  margin-left: 0;
240
  margin-right: 5px;
241
  }
243
  /**
244
  * 02. 05. Field: group
245
  */
246
+ .spftestimonial-field-group .spftestimonial-cloneable-title {
247
  padding: 15px 10px 15px 65px;
248
  }
249
+ .spftestimonial-field-group .spftestimonial-cloneable-helper {
250
  right: auto;
251
  left: 10px;
252
  }
254
  /**
255
  * 02. 06. Field: repeater
256
  */
257
+ .spftestimonial-field-repeater .spftestimonial-repeater-helper {
258
  border-left: 0;
259
  border-right: 1px solid #eee;
260
  }
262
  /**
263
  * 02. 07. Field: help
264
  */
265
+ .spftestimonial-help {
266
  right: auto;
267
  left: 5px;
268
  }
270
  /**
271
  * 02. 08. Field: icon
272
  */
273
+ .spftestimonial-field-icon .button {
274
  margin-right: 0;
275
  margin-left: 5px;
276
  }
277
+ .spftestimonial-field-icon .spftestimonial-icon-preview i {
278
  margin-right: 0;
279
  margin-left: 5px;
280
  }
282
  /**
283
  * 02. 09. Field: gallery
284
  */
285
+ .spftestimonial-field-gallery ul li {
286
  margin-right: 0;
287
  margin-left: 5px;
288
  }
289
+ .spftestimonial-field-gallery .button {
290
  margin-right: 0;
291
  margin-left: 5px;
292
  }
294
  /**
295
  * 02. 11. Field: tabbed
296
  */
297
+ .spftestimonial-field-tabbed .spftestimonial-tabbed-nav .fa {
298
  padding-right: 0;
299
  padding-left: 5px;
300
  }
301
+ .spftestimonial-field-tabbed .spftestimonial-tabbed-nav a {
302
  margin-right: 0;
303
  margin-left: 5px;
304
  }
306
  /**
307
  * 02. 12. Field: media
308
  */
309
+ .spftestimonial-field-media .button {
310
  margin-left: 0;
311
  margin-right: 7px;
312
  }
313
+ .spftestimonial-field-media .hidden + .button {
314
  margin-right: 0;
315
  }
316
 
317
  /**
318
  * 02. 13. Field: notice
319
  */
320
+ .spftestimonial-notice {
321
  border-left: none;
322
  border-right-style: solid;
323
  border-right-width: 4px;
326
  /**
327
  * 02. 14. Field: border, spacing, dimensions
328
  */
329
+ .spftestimonial-field-dimensions .spftestimonial--input,
330
+ .spftestimonial-field-spacing .spftestimonial--input,
331
+ .spftestimonial-field-border .spftestimonial--input {
332
  float: right;
333
  margin-right: 0;
334
  margin-left: 15px;
335
  }
336
+ .spftestimonial-field-dimensions .spftestimonial--left,
337
+ .spftestimonial-field-spacing .spftestimonial--left,
338
+ .spftestimonial-field-border .spftestimonial--left {
339
  float: right;
340
  }
341
 
342
  /**
343
  * 02. 15. Field: background
344
  */
345
+ .spftestimonial-field-background .spftestimonial--block {
346
  float: right;
347
  }
348
+ .spftestimonial-field-background .spftestimonial--select,
349
+ .spftestimonial-field-background .spftestimonial--media {
350
  padding-right: 0;
351
  }
352
+ .spftestimonial-field-background .spftestimonial--title {
353
  margin-right: 0;
354
  margin-left: 5px;
355
  }
357
  /**
358
  * 02. 16. Field: spinner
359
  */
360
+ .spftestimonial-field-spinner .spftestimonial--spin {
361
  float: right;
362
  }
363
 
364
  /**
365
  * 02. 17. Field: slider
366
  */
367
+ .spftestimonial-field-slider .ui-slider {
368
  direction: ltr;
369
  }
370
+ .spftestimonial-field-slider input[type="text"] {
371
  margin-left: 0;
372
  margin-right: 15px;
373
  }
374
+ .spftestimonial-field-slider em {
375
  padding-left: 0;
376
  padding-right: 5px;
377
  }
379
  /**
380
  * 02. 18. Field: button_set
381
  */
382
+ .spftestimonial-field-button_set .spftestimonial--button-group {
383
  float: right;
384
  }
385
 
386
  /**
387
  * 02. 19. Field: link_color
388
  */
389
+ .spftestimonial-field-link_color .spftestimonial--left {
390
  float: right;
391
  margin-right: 0;
392
  margin-left: 10px;
395
  /**
396
  * 02. 20. Field: color_group
397
  */
398
+ .spftestimonial-field-color_group .spftestimonial--left {
399
  float: right;
400
  margin-right: 0;
401
  margin-left: 10px;
404
  /**
405
  * 02. 21. Field: palette
406
  */
407
+ .spftestimonial-field-palette .spftestimonial--palette {
408
  margin-right: 0;
409
  margin-left: 10px;
410
  }
411
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
412
  /**
413
  * 05. Modal
414
  */
415
+ .spftestimonial-modal-content .spftestimonial-field {
416
  padding: 15px 15px 15px 30px;
417
  }
418
 
419
+ .spftestimonial-modal-title {
420
  padding: 0 16px 0 36px;
421
  }
422
 
423
+ .spftestimonial-modal-close {
424
  right: auto;
425
  left: 0;
426
  }
428
  /**
429
  * 06. Customizer
430
  */
431
+ .control-section .spftestimonial-field .spftestimonial-fieldset {
432
  margin-right: 0;
433
  }
434
 
436
  * 07. Responsive
437
  */
438
  @media only screen and (max-width: 1200px) {
439
+ .spftestimonial-metabox .spftestimonial-field .spftestimonial-fieldset {
440
  margin-left: 0;
441
  }
442
  }
443
  @media only screen and (max-width: 782px) {
444
+ .spftestimonial .spftestimonial-fieldset,
445
+ .spftestimonial .spftestimonial-content {
446
  margin-right: 0;
447
  }
448
  }
449
  /**
450
  * 08. Others
451
  */
452
+ .spftestimonial-field .spftestimonial--transparent-slider {
453
  margin-left: 0;
454
  margin-right: 2px;
455
  }
456
+ .spftestimonial-field .spftestimonial--transparent-slider .ui-slider-handle {
457
  margin: 0 -11px;
458
  }
459
+ .spftestimonial-field .spftestimonial--transparent-offset {
460
  background-position: center right;
461
  }
462
+ .spftestimonial-field .spftestimonial--transparent-text {
463
  right: auto;
464
  left: 10px;
465
  }
admin/views/framework/assets/css/spftestimonial-rtl.min.css ADDED
@@ -0,0 +1 @@
 
1
+ .spftestimonial{margin-left:20px;margin-right:0}.spftestimonial-header h1{float:right}.spftestimonial-header fieldset{float:left}.spftestimonial-buttons{float:left;direction:ltr}.spftestimonial-header-left{float:right}.spftestimonial-header-right{float:left}.spftestimonial-nav{float:right}.spftestimonial-nav ul{clear:right}.spftestimonial-nav ul li .spftestimonial-section-active:after{right:auto;left:0;border-left-color:#fff;border-right-color:transparent}.spftestimonial-nav ul li .spftestimonial-arrow:after{content:"\f053";right:auto;left:10px}.spftestimonial-nav ul li.spftestimonial-tab-active .spftestimonial-arrow:after{-moz-transform:rotate(-90deg);-ms-transform:rotate(-90deg);-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.spftestimonial-nav ul ul li a{padding-right:25px;padding-left:15px}.spftestimonial-nav ul ul:before{left:auto;right:15px}.spftestimonial-nav .fa{margin-left:5px;margin-right:0}.spftestimonial-nav-background{left:auto;right:0}.spftestimonial-content{margin-left:0;margin-right:225px}.spftestimonial-sections{float:right}.spftestimonial-show-all .spftestimonial-content{margin-right:0;overflow:hidden}.spftestimonial-expand-all{float:right;right:auto;left:40px;margin-right:0;margin-left:4px}.spftestimonial-search{float:right}.spftestimonial-search input{margin:0 0 0 5px}.spftestimonial-copyright{float:right}.spftestimonial-metabox{margin:-6px -12px -12px -12px}.spftestimonial-metabox .spftestimonial-section-title{padding:20px}.spftestimonial-metabox .spftestimonial-section-title .fa{margin-left:5px;margin-right:0}.spftestimonial-section-title .fa{margin-left:5px;margin-right:0}.spftestimonial-field .spftestimonial-title{float:right}.spftestimonial-field .spftestimonial-fieldset{margin-left:0;margin-right:30%}.spftestimonial-pseudo-field{padding:0 0 0 5px!important}.spftestimonial-field-typography select{margin:0;width:100%}.spftestimonial-field-typography .spftestimonial--blocks-inputs .spftestimonial--blocks{flex-direction:row-reverse}.spftestimonial-field-checkbox .spftestimonial--inline-list li,.spftestimonial-field-radio .spftestimonial--inline-list li{margin-right:0;margin-left:15px}.spftestimonial-field-switcher .spftestimonial--switcher{float:right}.spftestimonial-field-switcher .spftestimonial--label{float:right;margin-left:0;margin-right:5px}.spftestimonial-field-upload .spftestimonial--buttons,.spftestimonial-field-upload .spftestimonial--remove{margin-left:0;margin-right:5px}.spftestimonial-field-group .spftestimonial-cloneable-title{padding:15px 10px 15px 65px}.spftestimonial-field-group .spftestimonial-cloneable-helper{right:auto;left:10px}.spftestimonial-field-repeater .spftestimonial-repeater-helper{border-left:0;border-right:1px solid #eee}.spftestimonial-help{right:auto;left:5px}.spftestimonial-field-icon .button{margin-right:0;margin-left:5px}.spftestimonial-field-icon .spftestimonial-icon-preview i{margin-right:0;margin-left:5px}.spftestimonial-field-gallery ul li{margin-right:0;margin-left:5px}.spftestimonial-field-gallery .button{margin-right:0;margin-left:5px}.spftestimonial-field-tabbed .spftestimonial-tabbed-nav .fa{padding-right:0;padding-left:5px}.spftestimonial-field-tabbed .spftestimonial-tabbed-nav a{margin-right:0;margin-left:5px}.spftestimonial-field-media .button{margin-left:0;margin-right:7px}.spftestimonial-field-media .hidden+.button{margin-right:0}.spftestimonial-notice{border-left:none;border-right-style:solid;border-right-width:4px}.spftestimonial-field-border .spftestimonial--input,.spftestimonial-field-dimensions .spftestimonial--input,.spftestimonial-field-spacing .spftestimonial--input{float:right;margin-right:0;margin-left:15px}.spftestimonial-field-border .spftestimonial--left,.spftestimonial-field-dimensions .spftestimonial--left,.spftestimonial-field-spacing .spftestimonial--left{float:right}.spftestimonial-field-background .spftestimonial--block{float:right}.spftestimonial-field-background .spftestimonial--media,.spftestimonial-field-background .spftestimonial--select{padding-right:0}.spftestimonial-field-background .spftestimonial--title{margin-right:0;margin-left:5px}.spftestimonial-field-spinner .spftestimonial--spin{float:right}.spftestimonial-field-slider .ui-slider{direction:ltr}.spftestimonial-field-slider input[type=text]{margin-left:0;margin-right:15px}.spftestimonial-field-slider em{padding-left:0;padding-right:5px}.spftestimonial-field-button_set .spftestimonial--button-group{float:right}.spftestimonial-field-link_color .spftestimonial--left{float:right;margin-right:0;margin-left:10px}.spftestimonial-field-color_group .spftestimonial--left{float:right;margin-right:0;margin-left:10px}.spftestimonial-field-palette .spftestimonial--palette{margin-right:0;margin-left:10px}.spftestimonial-modal-content .spftestimonial-field{padding:15px 15px 15px 30px}.spftestimonial-modal-title{padding:0 16px 0 36px}.spftestimonial-modal-close{right:auto;left:0}.control-section .spftestimonial-field .spftestimonial-fieldset{margin-right:0}@media only screen and (max-width:1200px){.spftestimonial-metabox .spftestimonial-field .spftestimonial-fieldset{margin-left:0}}@media only screen and (max-width:782px){.spftestimonial .spftestimonial-content,.spftestimonial .spftestimonial-fieldset{margin-right:0}}.spftestimonial-field .spftestimonial--transparent-slider{margin-left:0;margin-right:2px}.spftestimonial-field .spftestimonial--transparent-slider .ui-slider-handle{margin:0 -11px}.spftestimonial-field .spftestimonial--transparent-offset{background-position:center right}.spftestimonial-field .spftestimonial--transparent-text{right:auto;left:10px}
admin/views/framework/assets/css/{csf.css → spftestimonial.css} RENAMED
@@ -1,9 +1,4 @@
1
  /**
2
- *
3
- * ---------------------------------------------------------
4
- * CODESTAR FRAMEWORK CSS MAP
5
- * ---------------------------------------------------------
6
- *
7
  * 01. Base
8
  * 01. 01. Header
9
  * 01. 02. Sticky
@@ -17,7 +12,6 @@
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
@@ -37,7 +31,6 @@
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
@@ -64,13 +57,9 @@
64
  * 03. 39. Field: others
65
  * 04. Widget
66
  * 05. Customizer
67
- * 06. Taxonomy
68
- * 07. Profile
69
  * 08. Modal
70
- * 08. 01. Shortcode Modal
71
  * 08. 03. Icon Modal
72
  * 09. Helper
73
- * 10. Welcome Page
74
  * 11. Responsive
75
  * 12. Others
76
  *
@@ -80,24 +69,24 @@
80
  /**
81
  * 01. Base
82
  */
83
- .csf {
84
  position: relative;
85
  }
86
- .csf label {
87
  padding: 0;
88
  margin: 0;
89
  display: inline-block;
90
  }
91
 
92
- .csf-ab-icon {
93
  top: 2px;
94
  }
95
 
96
- #screen-meta-links + .csf-options {
97
  margin-top: 40px;
98
  }
99
 
100
- .csf-options {
101
  margin-top: 20px;
102
  margin-right: 20px;
103
  }
@@ -105,21 +94,21 @@
105
  /**
106
  * 01. 01. Header
107
  */
108
- .csf-header {
109
  position: relative;
110
  }
111
 
112
- .csf-header-inner {
113
  padding: 25px;
114
  }
115
- .csf-header-inner h1 {
116
  float: left;
117
  font-size: 1.5em;
118
  line-height: 26px;
119
  font-weight: 400;
120
  margin: 0;
121
  }
122
- .csf-header-inner h1 small {
123
  font-size: 11px;
124
  font-weight: 500;
125
  }
@@ -127,7 +116,7 @@
127
  /**
128
  * 01. 02. Sticky
129
  */
130
- .csf-sticky .csf-header-inner {
131
  position: fixed;
132
  z-index: 99999;
133
  top: 32px;
@@ -139,52 +128,52 @@
139
  /**
140
  * 01. 03. Header Buttons
141
  */
142
- .csf-buttons {
143
  float: right;
144
  -moz-transition: opacity 0.2s;
145
  -o-transition: opacity 0.2s;
146
  -webkit-transition: opacity 0.2s;
147
  transition: opacity 0.2s;
148
  }
149
- .csf-buttons .button {
150
  margin: 0 2px;
151
  line-height: 26px;
152
  }
153
- .csf-buttons .button:focus {
154
  outline: none !important;
155
  box-shadow: none !important;
156
  }
157
- .csf-buttons .csf-save {
158
  min-width: 72px;
159
  }
160
 
161
- .csf-header-left {
162
  float: left;
163
  }
164
 
165
- .csf-header-right {
166
  float: right;
167
  }
168
 
169
  /**
170
  * 01. 04. Navigation
171
  */
172
- .csf-nav {
173
  display: block;
174
  position: relative;
175
  z-index: 10;
176
  float: left;
177
  width: 225px;
178
  }
179
- .csf-nav ul {
180
  clear: left;
181
  margin: 0;
182
  list-style-type: none;
183
  }
184
- .csf-nav ul li {
185
  margin-bottom: 0;
186
  }
187
- .csf-nav ul li a {
188
  font-size: 13px;
189
  position: relative;
190
  display: block;
@@ -195,13 +184,13 @@
195
  -webkit-transition: all 0.3s ease;
196
  transition: all 0.3s ease;
197
  }
198
- .csf-nav ul li a:focus {
199
  outline: none;
200
  -moz-box-shadow: none;
201
  -webkit-box-shadow: none;
202
  box-shadow: none;
203
  }
204
- .csf-nav ul li .csf-section-active:after {
205
  content: " ";
206
  position: absolute;
207
  right: 0;
@@ -214,7 +203,7 @@
214
  border-width: 4px;
215
  margin-top: -4px;
216
  }
217
- .csf-nav ul li .csf-arrow:after {
218
  content: "\f054";
219
  display: inline-block;
220
  font-family: "FontAwesome";
@@ -229,35 +218,35 @@
229
  -webkit-transform: rotate(0);
230
  transform: rotate(0);
231
  }
232
- .csf-nav ul li.csf-tab-active .csf-arrow:after {
233
  -moz-transform: rotate(90deg);
234
  -ms-transform: rotate(90deg);
235
  -webkit-transform: rotate(90deg);
236
  transform: rotate(90deg);
237
  }
238
- .csf-nav ul li.csf-tab-active ul {
239
  display: block;
240
  }
241
- .csf-nav ul ul {
242
  display: none;
243
  position: relative;
244
  }
245
- .csf-nav ul ul li a {
246
  font-size: 12px;
247
  padding: 12px 14px 12px 24px;
248
  }
249
- .csf-nav .fa {
250
  width: 20px;
251
  margin-right: 5px;
252
  font-size: 14px;
253
  text-align: center;
254
  }
255
- .csf-nav .csf-label-error {
256
  margin-left: 4px;
257
  vertical-align: top;
258
  }
259
 
260
- .csf-nav-background {
261
  position: absolute;
262
  top: 0;
263
  left: 0;
@@ -269,14 +258,14 @@
269
  /**
270
  * 01. 05. Wrapper
271
  */
272
- .csf-wrapper {
273
  position: relative;
274
  }
275
 
276
  /**
277
  * 01. 06. Content
278
  */
279
- .csf-content {
280
  position: relative;
281
  margin-left: 225px;
282
  background-color: #fff;
@@ -289,37 +278,37 @@
289
  /**
290
  * 01. 07. Section
291
  */
292
- .csf-sections {
293
  float: left;
294
  width: 100%;
295
  }
296
 
297
- .csf-section {
298
  display: none;
299
  }
300
 
301
- .csf-section-title {
302
  display: none;
303
  padding: 20px 30px;
304
  background-color: #f5f5f5;
305
  border-top: 1px solid #eee;
306
  border-bottom: 1px solid #eee;
307
  }
308
- .csf-section-title h3 {
309
  margin: 0;
310
  padding: 0;
311
  font-size: 13px;
312
  font-weight: bold;
313
  text-transform: uppercase;
314
  }
315
- .csf-section-title .fa {
316
  margin-right: 5px;
317
  }
318
 
319
  /**
320
  * 01. 08. Footer
321
  */
322
- .csf-footer {
323
  padding: 20px;
324
  font-size: 11px;
325
  }
@@ -327,7 +316,7 @@
327
  /**
328
  * 01. 09. Copyright
329
  */
330
- .csf-copyright {
331
  float: left;
332
  margin-top: 5px;
333
  }
@@ -335,28 +324,28 @@
335
  /**
336
  * 01. 10. Show All Options
337
  */
338
- .csf-search-all .csf-nav-background,
339
- .csf-search-all .csf-nav,
340
- .csf-show-all .csf-nav-background,
341
- .csf-show-all .csf-nav {
342
  display: none;
343
  }
344
- .csf-search-all .csf-content,
345
- .csf-show-all .csf-content {
346
  margin-left: 0;
347
  }
348
- .csf-search-all .csf-section-title,
349
- .csf-search-all .csf-section,
350
- .csf-show-all .csf-section-title,
351
- .csf-show-all .csf-section {
352
  display: block !important;
353
  }
354
 
355
- .csf-search-all .csf-section-title {
356
  display: none !important;
357
  }
358
 
359
- .csf-expand-all {
360
  float: left;
361
  padding: 0 8px;
362
  margin-right: 4px;
@@ -373,7 +362,7 @@
373
  -webkit-transition: all 0.2s;
374
  transition: all 0.2s;
375
  }
376
- .csf-expand-all span {
377
  font-size: 11px;
378
  vertical-align: middle;
379
  }
@@ -381,10 +370,10 @@
381
  /**
382
  * 01. 11. Search Input
383
  */
384
- .csf-search {
385
  float: left;
386
  }
387
- .csf-search input {
388
  margin: 0 2px 0 0;
389
  border: none;
390
  font-size: 12px;
@@ -399,14 +388,14 @@
399
  -webkit-box-shadow: none;
400
  box-shadow: none;
401
  }
402
- .csf-search input:focus {
403
  -moz-box-shadow: none;
404
  -webkit-box-shadow: none;
405
  box-shadow: none;
406
  }
407
 
408
- .csf-saving .csf-buttons,
409
- .csf-saving .csf-content {
410
  cursor: default;
411
  pointer-events: none;
412
  opacity: 0.5;
@@ -415,69 +404,59 @@
415
  /**
416
  * 01. 12. Metabox
417
  */
418
- .csf-metabox {
419
  margin: -6px -12px -12px -12px;
420
  }
421
- .csf-metabox .csf-section-title {
422
  padding: 20px;
423
  }
424
 
425
- .block-editor-page .csf-metabox {
426
  margin: -6px -14px -12px -14px;
427
  }
428
 
429
- .csf-restore-wrapper {
430
  text-align: right;
431
  padding: 10px;
432
  border-top: 1px solid #eee;
433
  }
434
- .csf-restore-wrapper .csf-button-cancel,
435
- .csf-restore-wrapper input {
436
  display: none;
437
  }
438
- .csf-restore-wrapper span {
439
  -webkit-user-select: none;
440
  user-select: none;
441
  }
442
- .csf-restore-wrapper input:checked ~ .csf-button-restore {
443
  display: none;
444
  }
445
- .csf-restore-wrapper input:checked ~ .csf-button-cancel {
446
  display: inline-block;
447
  }
448
 
449
- #side-sortables .csf-section-title {
450
  padding: 12px;
451
  }
452
- #side-sortables .csf-field {
453
  padding: 12px;
454
  }
455
- #side-sortables .csf-field .csf-title {
456
  float: none;
457
  width: 100%;
458
  margin-bottom: 10px;
459
  }
460
- #side-sortables .csf-field .csf-fieldset {
461
  margin-left: 0;
462
  }
463
- #side-sortables .csf-notice {
464
  padding: 12px;
465
  }
466
 
467
- /**
468
- * 01. 13. Comment Metabox
469
- */
470
- .csf-comment-metabox {
471
- margin: -6px -12px -12px -12px;
472
- }
473
- .csf-comment-metabox .csf-section-title {
474
- padding: 20px;
475
- }
476
-
477
  /**
478
  * 01. 14. Help Tooltip
479
  */
480
- .csf-tooltip {
481
  position: absolute;
482
  z-index: 5000001;
483
  font-size: 12px;
@@ -500,62 +479,62 @@
500
  /**
501
  * 02. 01. Theme Dark
502
  */
503
- .csf-theme-dark .csf-header-inner {
504
  background-color: #050505;
505
  }
506
- .csf-theme-dark .csf-header-inner h1 {
507
  color: #fff;
508
  }
509
- .csf-theme-dark .csf-header-inner h1 small {
510
  color: #555;
511
  }
512
- .csf-theme-dark .csf-expand-all {
513
  color: #999;
514
  background-color: #222;
515
  }
516
- .csf-theme-dark .csf-expand-all:hover {
517
  color: #fff;
518
  background-color: #333;
519
  }
520
- .csf-theme-dark .csf-search input {
521
  color: #fff;
522
  background-color: #222;
523
  }
524
- .csf-theme-dark .csf-search:focus {
525
  background-color: #444;
526
  }
527
- .csf-theme-dark .csf-search::-webkit-input-placeholder {
528
  color: #666;
529
  }
530
- .csf-theme-dark .csf-nav ul li a {
531
  color: #999;
532
  background-color: #222;
533
  border-bottom: 1px solid #2f2f2f;
534
  }
535
- .csf-theme-dark .csf-nav ul li a:hover {
536
  color: #fff;
537
  }
538
- .csf-theme-dark .csf-nav ul li .csf-section-active {
539
  color: #fff;
540
  background-color: #111;
541
  }
542
- .csf-theme-dark .csf-nav ul ul li a {
543
  background-color: #191919;
544
  border-bottom: 1px solid #2f2f2f;
545
  }
546
- .csf-theme-dark .csf-nav ul ul li .csf-section-active {
547
  background-color: #101010;
548
  }
549
- .csf-theme-dark .csf-nav ul ul:before {
550
  background-color: rgba(34, 34, 34, 0.75);
551
  }
552
- .csf-theme-dark .csf-nav > ul > li:last-child > a {
553
  border-bottom: none;
554
  }
555
- .csf-theme-dark .csf-nav-background {
556
  background-color: #222;
557
  }
558
- .csf-theme-dark .csf-footer {
559
  color: #555;
560
  background-color: #050505;
561
  }
@@ -563,66 +542,66 @@
563
  /**
564
  * 02. 02. Theme Light
565
  */
566
- .csf-theme-light .csf-container {
567
  border: 1px solid #e5e5e5;
568
  -moz-box-shadow: 0 0 15px rgba(0, 0, 0, 0.04);
569
  -webkit-box-shadow: 0 0 15px rgba(0, 0, 0, 0.04);
570
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.04);
571
  }
572
- .csf-theme-light .csf-header-inner {
573
  border-bottom: 1px solid #e5e5e5;
574
  background-color: #f5f5f5;
575
  background: linear-gradient(#fefefe, #f5f5f5);
576
  }
577
- .csf-theme-light .csf-header-inner h1 small {
578
  color: #999;
579
  }
580
- .csf-theme-light .csf-expand-all {
581
  color: #999;
582
  background-color: #fff;
583
  -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
584
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
585
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
586
  }
587
- .csf-theme-light .csf-expand-all:hover {
588
  color: #555;
589
  }
590
- .csf-theme-light .csf-search input {
591
  color: #555;
592
  background-color: #fff;
593
  -moz-box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.05);
594
  -webkit-box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.05);
595
  box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.05);
596
  }
597
- .csf-theme-light .csf-search input::-webkit-input-placeholder {
598
  color: #bbb;
599
  }
600
- .csf-theme-light .csf-nav ul li a {
601
  color: #666;
602
  background-color: #f5f5f5;
603
  border-bottom: 1px solid #e5e5e5;
604
  }
605
- .csf-theme-light .csf-nav ul li a:hover {
606
  color: #222;
607
  }
608
- .csf-theme-light .csf-nav ul li .csf-section-active {
609
  color: #222;
610
  background-color: #fff;
611
  }
612
- .csf-theme-light .csf-nav ul li .csf-section-active:after {
613
  display: none;
614
  }
615
- .csf-theme-light .csf-nav ul ul li a {
616
  background-color: #eee;
617
  border-bottom: 1px solid #e5e5e5;
618
  }
619
- .csf-theme-light .csf-nav > ul > li:last-child > a {
620
  border-bottom: none;
621
  }
622
- .csf-theme-light .csf-nav-background {
623
  background-color: #f5f5f5;
624
  }
625
- .csf-theme-light .csf-footer {
626
  color: #555;
627
  border-top: 1px solid #e5e5e5;
628
  background-color: #f5f5f5;
@@ -632,64 +611,61 @@
632
  /**
633
  * 03. Fields
634
  */
635
- .csf-field {
636
  position: relative;
637
- padding: 30px;
638
- }
639
- .csf-field + .csf-field:not(.hidden) {
640
- border-top: 1px solid #eee;
641
  }
642
- .csf-field p:first-child {
643
  margin-top: 0;
644
  }
645
- .csf-field p:last-child {
646
  margin-bottom: 0;
647
  }
648
- .csf-field:after, .csf-field:before {
649
  content: " ";
650
  display: table;
651
  }
652
- .csf-field:after {
653
  clear: both;
654
  }
655
- .csf-field h4 {
656
  margin-top: 0;
657
  }
658
- .csf-field .csf-title {
659
  position: relative;
660
  width: 20%;
661
  float: left;
662
  }
663
- .csf-field .csf-title h4 {
664
  margin: 0;
665
  color: #23282d;
666
  }
667
- .csf-field .csf-fieldset {
668
  margin-left: 25%;
669
  }
670
 
671
- .csf-pseudo-field {
672
  padding: 0 5px 0 0 !important;
673
  display: inline-block;
674
  }
675
- .csf-pseudo-field + .csf-pseudo-field {
676
  border: 0;
677
  }
678
- .csf-pseudo-field pre {
679
  display: none;
680
  }
681
 
682
  /**
683
  * 03. 02. Field: accordion
684
  */
685
- .csf-field-accordion .csf-accordion-item {
686
  position: relative;
687
  margin-bottom: 5px;
688
  }
689
- .csf-field-accordion .csf-accordion-item h4 {
690
  font-size: 1em;
691
  }
692
- .csf-field-accordion .csf-accordion-title {
693
  display: block;
694
  cursor: pointer;
695
  position: relative;
@@ -703,19 +679,19 @@
703
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
704
  transition: border-color .15s;
705
  }
706
- .csf-field-accordion .csf-accordion-title:active, .csf-field-accordion .csf-accordion-title:hover, .csf-field-accordion .csf-accordion-title:focus {
707
  outline: none;
708
  border-color: #999;
709
  }
710
- .csf-field-accordion .csf-accordion-icon {
711
  width: 14px;
712
  text-align: center;
713
  }
714
- .csf-field-accordion .csf--icon {
715
  width: 20px;
716
  text-align: center;
717
  }
718
- .csf-field-accordion .csf-accordion-content {
719
  display: none;
720
  padding: 0;
721
  border: 1px solid #ccd0d4;
@@ -723,91 +699,153 @@
723
  background-color: #fff;
724
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
725
  }
726
- .csf-field-accordion .csf-accordion-content > .csf-field {
727
  padding: 15px;
728
  }
729
- .csf-field-accordion .csf-accordion-open {
730
  display: block;
731
  }
732
 
733
  /**
734
  * 03. 03. Field: background
735
  */
736
- .csf-field-background .csf-field {
737
  border: 0 !important;
738
  padding: 0;
739
  margin-bottom: 6px;
740
  margin-right: 6px;
741
  }
742
- .csf-field-background .csf--title {
743
  color: #777;
744
  font-size: 12px;
745
  }
746
- .csf-field-background .csf--background-colors {
747
  display: flex;
748
  }
749
- .csf-field-background .csf--background-attributes {
750
  display: flex;
751
  flex-wrap: wrap;
752
  }
753
- .csf-field-background .csf--background-attributes select {
754
  min-width: 100%;
755
  margin: 0;
756
  }
757
- .csf-field-background .csf--background-attributes .csf-field {
758
  flex: 1;
759
  }
760
- .csf-field-background .csf--attributes-hidden {
761
  display: none;
762
  }
763
- .csf-field-background .wp-color-result.button {
764
  margin-bottom: 0;
765
  }
766
 
767
  /**
768
  * 03. 04. Field: backup
769
  */
770
- .csf-field-backup textarea {
771
  width: 100%;
772
  min-height: 200px;
773
  margin-bottom: 5px;
774
  }
775
- .csf-field-backup small {
776
  display: inline-block;
777
  margin: 5px;
778
  }
779
- .csf-field-backup hr {
780
  margin: 20px 0;
781
  border: none;
782
  border-bottom: 1px solid #e5e5e5;
783
  }
784
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
785
  /**
786
  * 03. 05. Field: border, spacing, dimensions
787
  */
788
- .csf-field-border .csf--inputs,
789
- .csf-field-spacing .csf--inputs,
790
- .csf-field-dimensions .csf--inputs {
 
791
  float: left;
792
  display: flex;
793
  flex-wrap: wrap;
794
  }
795
- .csf-field-border .csf--input,
796
- .csf-field-spacing .csf--input,
797
- .csf-field-dimensions .csf--input {
 
798
  display: flex;
799
  padding-right: 6px;
800
  padding-bottom: 4px;
801
  box-sizing: border-box;
802
  }
803
- .csf-field-border .csf--input select,
804
- .csf-field-spacing .csf--input select,
805
- .csf-field-dimensions .csf--input select {
806
  margin: 0;
807
  }
808
- .csf-field-border .csf--input input,
809
- .csf-field-spacing .csf--input input,
810
- .csf-field-dimensions .csf--input input {
 
811
  position: relative;
812
  z-index: 1;
813
  margin: 0;
@@ -815,14 +853,17 @@
815
  max-width: 100%;
816
  text-align: center;
817
  }
818
- .csf-field-border .csf--color,
819
- .csf-field-spacing .csf--color,
820
- .csf-field-dimensions .csf--color {
821
  float: left;
822
  }
823
- .csf-field-border .csf--label,
824
- .csf-field-spacing .csf--label,
825
- .csf-field-dimensions .csf--label {
 
 
 
826
  display: flex;
827
  flex-direction: column;
828
  justify-content: center;
@@ -836,27 +877,27 @@
836
  border: 1px solid #7B776C;
837
  background-color: #f5f5f5;
838
  }
839
- .csf-field-border .csf--icon,
840
- .csf-field-spacing .csf--icon,
841
- .csf-field-dimensions .csf--icon {
842
  border-right: 0;
843
  border-radius: 4px 0 0 4px;
844
  }
845
- .csf-field-border .csf--icon + input,
846
- .csf-field-spacing .csf--icon + input,
847
- .csf-field-dimensions .csf--icon + input {
848
  border-top-left-radius: 0;
849
  border-bottom-left-radius: 0;
850
  }
851
- .csf-field-border .csf--unit,
852
- .csf-field-spacing .csf--unit,
853
- .csf-field-dimensions .csf--unit {
854
  border-left: 0;
855
  border-radius: 0 4px 4px 0;
856
  }
857
- .csf-field-border .csf--is-unit,
858
- .csf-field-spacing .csf--is-unit,
859
- .csf-field-dimensions .csf--is-unit {
860
  border-top-right-radius: 0;
861
  border-bottom-right-radius: 0;
862
  }
@@ -864,10 +905,10 @@
864
  /**
865
  * 03. 06. Field: button_set
866
  */
867
- .csf-field-button_set .csf--buttons {
868
  display: inline-block;
869
  }
870
- .csf-field-button_set .csf--button {
871
  position: relative;
872
  z-index: 1;
873
  float: left;
@@ -882,69 +923,69 @@
882
  -webkit-user-select: none;
883
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
884
  }
885
- .csf-field-button_set .csf--button:first-child {
886
  border-radius: 4px 0 0 4px;
887
  }
888
- .csf-field-button_set .csf--button:last-child {
889
  border-radius: 0 4px 4px 0;
890
  }
891
- .csf-field-button_set .csf--button:not(:first-child) {
892
  margin-left: -1px;
893
  }
894
- .csf-field-button_set .csf--button:hover {
895
  background-color: #eee;
896
  }
897
- .csf-field-button_set .csf--active:hover,
898
- .csf-field-button_set .csf--active {
899
  z-index: 2;
900
  color: #fff;
901
  border-color: #006799;
902
  background-color: #0085ba;
903
  }
904
- .csf-field-button_set input {
905
  display: none;
906
  }
907
 
908
  /**
909
  * 03. 07. Field: checkbox, radio
910
  */
911
- .csf-field-checkbox ul,
912
- .csf-field-radio ul {
913
  margin: 0;
914
  padding: 0 1px;
915
  list-style-type: none;
916
  overflow-y: auto;
917
  max-height: 305px;
918
  }
919
- .csf-field-checkbox ul ul,
920
- .csf-field-radio ul ul {
921
  max-height: none;
922
  }
923
- .csf-field-checkbox .csf--inline-list li,
924
- .csf-field-radio .csf--inline-list li {
925
  display: inline-block;
926
  margin-right: 15px;
927
  }
928
- .csf-field-checkbox input[type="radio"]:checked:before,
929
- .csf-field-radio input[type="radio"]:checked:before {
930
  line-height: 10px;
931
  }
932
- .csf-field-checkbox .csf-checker,
933
- .csf-field-radio .csf-checker {
934
  cursor: pointer;
935
  }
936
 
937
  /**
938
  * 03. 08. Field: code_editor
939
  */
940
- .csf-field-code_editor .CodeMirror {
941
  width: 100%;
942
  height: 400px;
943
  }
944
- .csf-field-code_editor .cm-s-default {
945
  border: 1px solid #ccd0d4;
946
  }
947
- .csf-field-code_editor textarea {
948
  width: 100%;
949
  height: 400px;
950
  }
@@ -952,12 +993,12 @@
952
  /**
953
  * 03. 09. Field: color
954
  */
955
- .csf-field-color > input {
956
  opacity: 0.75;
957
  width: 115px;
958
  max-width: 100%;
959
  }
960
- .csf-field-color .button.wp-picker-clear {
961
  margin-left: 6px;
962
  padding: 2px 8px;
963
  }
@@ -965,12 +1006,13 @@
965
  /**
966
  * 03. 10. Field: color_group
967
  */
968
- .csf-field-color_group .csf--left {
969
  float: left;
970
  margin-right: 10px;
971
  margin-bottom: 5px;
972
  }
973
- .csf-field-color_group .csf--title {
 
974
  color: #999;
975
  margin-bottom: 5px;
976
  }
@@ -978,29 +1020,29 @@
978
  /**
979
  * 03. 11. Field: fieldset
980
  */
981
- .csf-field-fieldset .csf-fieldset-content {
982
  border: 1px solid #ccd0d4;
983
  background-color: #fff;
984
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
985
  }
986
- .csf-field-fieldset .csf-fieldset-content > .csf-field {
987
  padding: 15px;
988
  }
989
- .csf-field-fieldset .csf-field-subheading {
990
  font-size: 13px;
991
  }
992
 
993
  /**
994
  * 03. 12. Field: date
995
  */
996
- .csf-field-date input {
997
  margin: 0;
998
  }
999
- .csf-field-date .csf--to {
1000
  margin-left: 7px;
1001
  }
1002
 
1003
- .csf-datepicker-wrapper {
1004
  margin-top: 5px;
1005
  width: auto;
1006
  background-color: #fff;
@@ -1009,7 +1051,7 @@
1009
  -webkit-box-shadow: 0 0 30px rgba(0, 0, 0, 0.15);
1010
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.15);
1011
  }
1012
- .csf-datepicker-wrapper * {
1013
  float: none;
1014
  margin: 0;
1015
  padding: 0;
@@ -1021,21 +1063,21 @@
1021
  border-radius: 0;
1022
  box-shadow: none;
1023
  }
1024
- .csf-datepicker-wrapper .ui-widget-header,
1025
- .csf-datepicker-wrapper .ui-datepicker-header {
1026
  color: #fff;
1027
  background: #00a0d2;
1028
  }
1029
- .csf-datepicker-wrapper .ui-datepicker-header .ui-state-hover {
1030
  cursor: pointer;
1031
  }
1032
- .csf-datepicker-wrapper .ui-datepicker-title {
1033
  font-size: 14px;
1034
  line-height: 40px;
1035
  text-align: center;
1036
  }
1037
- .csf-datepicker-wrapper .ui-datepicker-prev,
1038
- .csf-datepicker-wrapper .ui-datepicker-next {
1039
  position: static;
1040
  top: auto;
1041
  left: auto;
@@ -1052,95 +1094,95 @@
1052
  -webkit-font-smoothing: antialiased;
1053
  -moz-osx-font-smoothing: grayscale;
1054
  }
1055
- .csf-datepicker-wrapper .ui-datepicker-next span,
1056
- .csf-datepicker-wrapper .ui-datepicker-prev span {
1057
  display: none;
1058
  }
1059
- .csf-datepicker-wrapper .ui-datepicker-prev {
1060
  float: left;
1061
  }
1062
- .csf-datepicker-wrapper .ui-datepicker-next {
1063
  float: right;
1064
  }
1065
- .csf-datepicker-wrapper .ui-datepicker-prev:before {
1066
  content: '\f053';
1067
  }
1068
- .csf-datepicker-wrapper .ui-datepicker-next:before {
1069
  content: '\f054';
1070
  }
1071
- .csf-datepicker-wrapper .ui-datepicker-prev-hover,
1072
- .csf-datepicker-wrapper .ui-datepicker-next-hover {
1073
  opacity: 0.75;
1074
  }
1075
- .csf-datepicker-wrapper tbody .ui-datepicker-week-col {
1076
  background-color: #f7f7f7;
1077
  }
1078
- .csf-datepicker-wrapper .ui-datepicker-buttonpane {
1079
  padding: 10px;
1080
  text-align: center;
1081
  background-color: #f7f7f7;
1082
  }
1083
- .csf-datepicker-wrapper .ui-datepicker-buttonpane button {
1084
  cursor: pointer;
1085
  margin: 0 5px;
1086
  padding: 7px 14px;
1087
  border: 1px solid #eee;
1088
  background-color: #fff;
1089
  }
1090
- .csf-datepicker-wrapper select {
1091
  margin: 0 4px;
1092
  }
1093
- .csf-datepicker-wrapper select option {
1094
  color: #555;
1095
  }
1096
- .csf-datepicker-wrapper table {
1097
  font-size: 13px;
1098
  border-collapse: collapse;
1099
  width: 100%;
1100
  }
1101
- .csf-datepicker-wrapper thead {
1102
  color: #fff;
1103
  background: #32373c;
1104
  }
1105
- .csf-datepicker-wrapper th {
1106
  text-align: center;
1107
  padding: 7px;
1108
  border: 1px solid #444;
1109
  }
1110
- .csf-datepicker-wrapper td {
1111
  text-align: center;
1112
  border: 1px solid #f4f4f4;
1113
  }
1114
- .csf-datepicker-wrapper td.ui-datepicker-other-month {
1115
  border: transparent;
1116
  }
1117
- .csf-datepicker-wrapper td .ui-state-default {
1118
  color: #555;
1119
  width: auto;
1120
  display: block;
1121
  padding: 6px 12px;
1122
  }
1123
- .csf-datepicker-wrapper td .ui-state-active,
1124
- .csf-datepicker-wrapper td .ui-state-hover {
1125
  color: #fff;
1126
  background-color: #0073aa;
1127
  }
1128
- .csf-datepicker-wrapper td.ui-state-disabled .ui-state-default {
1129
  opacity: 0.5;
1130
  }
1131
 
1132
  /**
1133
  * 03. 13. Field: gallery
1134
  */
1135
- .csf-field-gallery input {
1136
  display: none;
1137
  }
1138
- .csf-field-gallery ul {
1139
  margin: 0;
1140
  padding: 0;
1141
  list-style-type: none;
1142
  }
1143
- .csf-field-gallery ul li {
1144
  display: inline-block;
1145
  position: relative;
1146
  padding: 4px;
@@ -1154,12 +1196,12 @@
1154
  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
1155
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
1156
  }
1157
- .csf-field-gallery ul li img {
1158
  max-height: 60px;
1159
  display: inline-block;
1160
  vertical-align: middle;
1161
  }
1162
- .csf-field-gallery .button {
1163
  margin-right: 5px;
1164
  margin-bottom: 5px;
1165
  }
@@ -1167,32 +1209,32 @@
1167
  /**
1168
  * 03. 14. Field: group
1169
  */
1170
- .csf-field-group .csf-cloneable-hidden {
1171
  display: none !important;
1172
  }
1173
- .csf-field-group .csf-cloneable-wrapper {
1174
  position: relative;
1175
  }
1176
- .csf-field-group .csf-cloneable-item {
1177
  display: none;
1178
  position: relative;
1179
  margin-bottom: 5px;
1180
  }
1181
- .csf-field-group .csf-cloneable-item h4 {
1182
  font-size: 1em;
1183
  }
1184
- .csf-field-group .ui-accordion .csf-cloneable-item {
1185
  display: block;
1186
  }
1187
- .csf-field-group .csf-cloneable-content {
1188
  border: 1px solid #ccd0d4;
1189
  background-color: #fff;
1190
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
1191
  }
1192
- .csf-field-group .csf-cloneable-content > .csf-field {
1193
  padding: 15px;
1194
  }
1195
- .csf-field-group .csf-cloneable-title {
1196
  display: block;
1197
  cursor: pointer;
1198
  position: relative;
@@ -1206,11 +1248,11 @@
1206
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
1207
  transition: border-color .15s;
1208
  }
1209
- .csf-field-group .csf-cloneable-title:active, .csf-field-group .csf-cloneable-title:hover, .csf-field-group .csf-cloneable-title:focus {
1210
  border-color: #999;
1211
  outline: none;
1212
  }
1213
- .csf-field-group .csf-cloneable-helper {
1214
  position: absolute;
1215
  top: 12px;
1216
  right: 10px;
@@ -1218,24 +1260,24 @@
1218
  font-size: 14px;
1219
  line-height: 1em;
1220
  }
1221
- .csf-field-group .csf-cloneable-helper i {
1222
  display: inline-block;
1223
  cursor: pointer;
1224
  padding: 5px;
1225
  color: #999;
1226
  }
1227
- .csf-field-group .csf-cloneable-helper i:hover {
1228
  color: #555;
1229
  }
1230
- .csf-field-group .csf-cloneable-content {
1231
  padding: 0;
1232
  border-top: 0;
1233
  }
1234
- .csf-field-group .csf-cloneable-title-prefix,
1235
- .csf-field-group .csf-cloneable-title-number {
1236
  margin-right: 5px;
1237
  }
1238
- .csf-field-group .csf-cloneable-alert {
1239
  display: none;
1240
  margin-bottom: 5px;
1241
  padding: 10px 20px;
@@ -1243,12 +1285,12 @@
1243
  border: 1px solid #ebccd1;
1244
  background-color: #f2dede;
1245
  }
1246
- .csf-field-group .widget-placeholder {
1247
  margin-bottom: 10px;
1248
  border: 1px dashed #f1c40f;
1249
  background-color: #fffae4;
1250
  }
1251
- .csf-field-group .csf-cloneable-header-icon {
1252
  display: inline-block;
1253
  text-align: center;
1254
  font-size: 14px;
@@ -1256,7 +1298,7 @@
1256
  text-indent: 0;
1257
  vertical-align: text-top;
1258
  }
1259
- .csf-field-group .csf-cloneable-placeholder {
1260
  background-color: #ddd;
1261
  margin-top: 4px;
1262
  width: 100px;
@@ -1268,49 +1310,21 @@
1268
  border-radius: 2px;
1269
  }
1270
 
1271
- /**
1272
- * 03. 15. Field: icon
1273
- */
1274
- .csf-field-icon input {
1275
- display: none;
1276
- }
1277
- .csf-field-icon .button {
1278
- margin-right: 5px;
1279
- }
1280
- .csf-field-icon .csf-icon-preview i {
1281
- display: inline-block;
1282
- font-size: 14px;
1283
- width: 30px;
1284
- height: 26px;
1285
- line-height: 26px;
1286
- margin-right: 5px;
1287
- text-align: center;
1288
- vertical-align: top;
1289
- color: #555;
1290
- border: 1px solid #ccc;
1291
- background-color: #f7f7f7;
1292
- -moz-border-radius: 3px;
1293
- -webkit-border-radius: 3px;
1294
- border-radius: 3px;
1295
- -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
1296
- -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
1297
- box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
1298
- -moz-box-sizing: content-box;
1299
- -webkit-box-sizing: content-box;
1300
- box-sizing: content-box;
1301
- }
1302
-
1303
  /**
1304
  * 03. 16. Field: image_select
1305
  */
1306
- .csf-field-image_select .csf--image {
 
 
 
 
1307
  cursor: pointer;
1308
  position: relative;
1309
  display: inline-block;
 
1310
  max-width: 100%;
1311
- margin: 0 5px 5px 0;
1312
- vertical-align: bottom;
1313
- border: 2px solid transparent;
1314
  background-color: #fff;
1315
  user-select: none;
1316
  -webkit-user-select: none;
@@ -1319,10 +1333,10 @@
1319
  -webkit-transition: all 0.2s;
1320
  transition: all 0.2s;
1321
  }
1322
- .csf-field-image_select .csf--image:before {
1323
  position: absolute;
1324
  top: 0;
1325
- left: 0;
1326
  text-align: center;
1327
  font-size: 11px;
1328
  font-family: FontAwesome;
@@ -1332,32 +1346,33 @@
1332
  line-height: 15px;
1333
  opacity: 0;
1334
  color: #fff;
1335
- background-color: #222;
1336
  transition: opacity .2s;
1337
  }
1338
- .csf-field-image_select .csf--active {
1339
- border-color: #222;
1340
- box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
 
1341
  }
1342
- .csf-field-image_select .csf--active:before {
1343
  opacity: 1;
1344
  }
1345
- .csf-field-image_select img {
1346
  vertical-align: top;
1347
  }
1348
- .csf-field-image_select input {
1349
  display: none;
1350
  }
1351
 
1352
  /**
1353
  * 03. 17. Field: link_color
1354
  */
1355
- .csf-field-link_color .csf--left {
1356
  float: left;
1357
  margin-right: 10px;
1358
  margin-bottom: 5px;
1359
  }
1360
- .csf-field-link_color .csf--title {
1361
  color: #777;
1362
  margin-bottom: 5px;
1363
  }
@@ -1365,46 +1380,46 @@
1365
  /**
1366
  * 03. 18. Field: map
1367
  */
1368
- .csf-field-map input {
1369
  width: 100%;
1370
  }
1371
- .csf-field-map input[type="text"].ui-autocomplete-loading {
1372
  background-position-x: calc(100% - 5px);
1373
  }
1374
- .csf-field-map .csf--map-search + .csf--map-osm-wrap {
1375
  margin-top: 10px;
1376
  }
1377
- .csf-field-map .csf--map-osm-wrap {
1378
  position: relative;
1379
  padding: 5px;
1380
  border: 1px solid #eee;
1381
  background-color: #fff;
1382
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
1383
  }
1384
- .csf-field-map .csf--map-osm {
1385
  position: relative;
1386
  z-index: 1;
1387
  min-height: 250px;
1388
  }
1389
- .csf-field-map .csf--map-inputs {
1390
  margin-top: 10px;
1391
  display: flex;
1392
  justify-content: space-between;
1393
  }
1394
- .csf-field-map .csf--map-input {
1395
  flex: 1;
1396
  }
1397
- .csf-field-map .csf--map-input:last-child {
1398
  padding-left: 10px;
1399
  }
1400
- .csf-field-map label {
1401
  display: block;
1402
  color: #777;
1403
  font-size: 12px;
1404
  margin: 0 0 2px 0;
1405
  }
1406
 
1407
- .csf-map-ui-autocomplate {
1408
  z-index: 999999;
1409
  border-radius: 4px;
1410
  overflow: hidden;
@@ -1413,23 +1428,23 @@
1413
  /**
1414
  * 03. 19. Field: media
1415
  */
1416
- .csf-field-media .csf--placeholder {
1417
  display: flex;
1418
  }
1419
- .csf-field-media .csf--placeholder input {
1420
  width: 100%;
1421
  margin: 0;
1422
  }
1423
- .csf-field-media .button {
1424
  margin-left: 5px;
1425
  }
1426
- .csf-field-media .hidden + .button {
1427
  margin-left: 0;
1428
  }
1429
- .csf-field-media .csf--preview {
1430
  position: relative;
1431
  }
1432
- .csf-field-media .csf--preview .fa-times {
1433
  position: absolute;
1434
  z-index: 1;
1435
  right: 4px;
@@ -1445,17 +1460,17 @@
1445
  opacity: 0.8;
1446
  transition: all .2s;
1447
  }
1448
- .csf-field-media .csf--preview .fa-times:hover {
1449
  opacity: 1;
1450
  }
1451
- .csf-field-media .csf--preview .fa-times:focus {
1452
  box-shadow: none;
1453
  }
1454
 
1455
  /**
1456
  * 03. 20. Field: palette
1457
  */
1458
- .csf-field-palette .csf--palette {
1459
  position: relative;
1460
  display: inline-block;
1461
  cursor: pointer;
@@ -1466,7 +1481,7 @@
1466
  -webkit-user-select: none;
1467
  transition: all .2s;
1468
  }
1469
- .csf-field-palette .csf--palette span {
1470
  vertical-align: middle;
1471
  display: inline-block;
1472
  width: 22px;
@@ -1475,7 +1490,7 @@
1475
  overflow: hidden;
1476
  text-indent: -999px;
1477
  }
1478
- .csf-field-palette .csf--palette:before {
1479
  position: absolute;
1480
  top: 0;
1481
  left: 0;
@@ -1491,45 +1506,45 @@
1491
  background-color: #222;
1492
  transition: opacity .2s;
1493
  }
1494
- .csf-field-palette .csf--active {
1495
  border-color: #222;
1496
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
1497
  }
1498
- .csf-field-palette .csf--active:before {
1499
  opacity: 1;
1500
  }
1501
- .csf-field-palette input {
1502
  display: none;
1503
  }
1504
 
1505
  /**
1506
  * 03. 21. Field: repeater
1507
  */
1508
- .csf-field-repeater .csf-field-text input {
1509
  width: 100%;
1510
  }
1511
- .csf-field-repeater .csf-repeater-hidden {
1512
  display: none !important;
1513
  }
1514
- .csf-field-repeater .csf-repeater-wrapper .csf-repeater-item {
1515
  display: table;
1516
  width: 100%;
1517
  margin-bottom: 5px;
1518
  border: 1px solid #eee;
1519
  }
1520
- .csf-field-repeater .csf-repeater-wrapper .csf-repeater-item h4 {
1521
  font-size: 1em;
1522
  }
1523
- .csf-field-repeater .csf-repeater-content {
1524
  width: 100%;
1525
  display: table-cell;
1526
  vertical-align: middle;
1527
  background-color: #fff;
1528
  }
1529
- .csf-field-repeater .csf-repeater-content > .csf-field {
1530
  padding: 15px;
1531
  }
1532
- .csf-field-repeater .csf-repeater-helper {
1533
  width: 100%;
1534
  display: table-cell;
1535
  vertical-align: middle;
@@ -1539,19 +1554,19 @@
1539
  border-left: 1px solid #eee;
1540
  background-color: #f7f7f7;
1541
  }
1542
- .csf-field-repeater .csf-repeater-helper i {
1543
  display: inline-block;
1544
  cursor: pointer;
1545
  color: #999;
1546
  padding: 5px;
1547
  }
1548
- .csf-field-repeater .csf-repeater-helper i:hover {
1549
  color: #555;
1550
  }
1551
- .csf-field-repeater .csf-repeater-helper-inner {
1552
  width: 75px;
1553
  }
1554
- .csf-field-repeater .csf-repeater-alert {
1555
  display: none;
1556
  margin-bottom: 5px;
1557
  padding: 10px 20px;
@@ -1559,34 +1574,34 @@
1559
  border: 1px solid #ebccd1;
1560
  background-color: #f2dede;
1561
  }
1562
- .csf-field-repeater .widget-placeholder {
1563
  height: 50px;
1564
  margin-bottom: 3px;
1565
  border: 1px dashed #f1c40f;
1566
  background-color: #fffae4;
1567
  }
1568
- .csf-field-repeater .ui-sortable-helper {
1569
  height: 50px !important;
1570
  overflow: hidden !important;
1571
  border-color: #ccc !important;
1572
  background-color: #eee !important;
1573
  opacity: 0.5;
1574
  }
1575
- .csf-field-repeater .ui-sortable-helper .csf-repeater-helper,
1576
- .csf-field-repeater .ui-sortable-helper .csf-repeater-content {
1577
  display: none;
1578
  }
1579
 
1580
  /**
1581
  * 03. 22. Field: select
1582
  */
1583
- .csf-field-select .csf-fieldset {
1584
  min-height: 30px;
1585
  }
1586
- .csf-field-select .csf-chosen {
1587
  display: none;
1588
  }
1589
- .csf-field-select select {
1590
  max-width: 100%;
1591
  margin: 0;
1592
  }
@@ -1594,14 +1609,14 @@
1594
  /**
1595
  * 03. 23. Field: slider
1596
  */
1597
- .csf-field-slider .csf--wrap {
1598
  display: flex;
1599
  align-items: center;
1600
  }
1601
- .csf-field-slider .csf--input {
1602
  display: flex;
1603
  }
1604
- .csf-field-slider .csf--unit {
1605
  display: flex;
1606
  justify-content: center;
1607
  flex-direction: column;
@@ -1615,18 +1630,18 @@
1615
  border-left: 0;
1616
  background-color: #f5f5f5;
1617
  }
1618
- .csf-field-slider input[type=number] {
1619
  position: relative;
1620
  z-index: 1;
1621
  width: 50px;
1622
  margin: 0 0 0 15px;
1623
  text-align: center;
1624
  }
1625
- .csf-field-slider .csf--is-unit {
1626
  border-top-right-radius: 0;
1627
  border-bottom-right-radius: 0;
1628
  }
1629
- .csf-field-slider .ui-slider {
1630
  position: relative;
1631
  width: 100%;
1632
  height: 3px;
@@ -1634,13 +1649,13 @@
1634
  background: #ddd;
1635
  border-radius: 2px;
1636
  }
1637
- .csf-field-slider .ui-slider-range {
1638
  height: 3px;
1639
  border: none;
1640
  background: #333;
1641
  border-radius: 2px;
1642
  }
1643
- .csf-field-slider .ui-slider-handle {
1644
  position: absolute;
1645
  width: 16px;
1646
  height: 16px;
@@ -1650,8 +1665,8 @@
1650
  background: #333;
1651
  border-radius: 2px;
1652
  }
1653
- .csf-field-slider .ui-state-active,
1654
- .csf-field-slider .ui-slider-handle:hover {
1655
  cursor: pointer;
1656
  background: #111;
1657
  }
@@ -1659,29 +1674,29 @@
1659
  /**
1660
  * 03. 24. Field: sortable
1661
  */
1662
- .csf-field-sortable .csf-field-text input {
1663
  width: 100%;
1664
  max-width: 100%;
1665
  }
1666
- .csf-field-sortable .csf--sortable .csf--sortable-item {
1667
  display: table;
1668
  width: 100%;
1669
  margin-bottom: 5px;
1670
  border: 1px solid #eee;
1671
  }
1672
- .csf-field-sortable .csf--sortable .csf--sortable-item h4 {
1673
  font-size: 1em;
1674
  }
1675
- .csf-field-sortable .csf--sortable-content {
1676
  width: 100%;
1677
  display: table-cell;
1678
  vertical-align: middle;
1679
  background-color: #fff;
1680
  }
1681
- .csf-field-sortable .csf--sortable-content > .csf-field {
1682
  padding: 15px;
1683
  }
1684
- .csf-field-sortable .csf--sortable-helper {
1685
  width: 100%;
1686
  display: table-cell;
1687
  vertical-align: middle;
@@ -1691,69 +1706,69 @@
1691
  border-left: 1px solid #eee;
1692
  background-color: #f7f7f7;
1693
  }
1694
- .csf-field-sortable .csf--sortable-helper .fa {
1695
  display: inline-block;
1696
  cursor: pointer;
1697
  width: 50px;
1698
  color: #555;
1699
  }
1700
- .csf-field-sortable .csf--sortable-helper .fa:hover {
1701
  opacity: 0.5;
1702
  }
1703
- .csf-field-sortable .widget-placeholder {
1704
  height: 50px;
1705
  margin-bottom: 3px;
1706
  border: 1px dashed #f1c40f;
1707
  background-color: #fffae4;
1708
  }
1709
- .csf-field-sortable .ui-sortable-helper {
1710
  height: 50px !important;
1711
  overflow: hidden !important;
1712
  border-color: #ccc !important;
1713
  background-color: #eee !important;
1714
  opacity: 0.5;
1715
  }
1716
- .csf-field-sortable .ui-sortable-helper .csf--sortable-helper,
1717
- .csf-field-sortable .ui-sortable-helper .csf--sortable-content {
1718
  display: none;
1719
  }
1720
 
1721
  /**
1722
  * 03. 25. Field: sorter
1723
  */
1724
- .csf-field-sorter .ui-sortable-placeholder {
1725
  height: 20px;
1726
  border: 1px dashed #f1c40f;
1727
  background-color: #fffae4;
1728
  }
1729
- .csf-field-sorter .csf-modules {
1730
  float: left;
1731
  width: 50%;
1732
  box-sizing: border-box;
1733
  }
1734
- .csf-field-sorter .csf-modules:first-child {
1735
  padding-right: 15px;
1736
  }
1737
- .csf-field-sorter .csf-modules:last-child {
1738
  padding-left: 15px;
1739
  }
1740
- .csf-field-sorter .csf-disabled,
1741
- .csf-field-sorter .csf-enabled {
1742
  padding: 5px 15px;
1743
  border: 1px dashed #ddd;
1744
  background-color: #fff;
1745
  }
1746
- .csf-field-sorter .csf-disabled li {
1747
  -moz-transition: opacity 0.15s;
1748
  -o-transition: opacity 0.15s;
1749
  -webkit-transition: opacity 0.15s;
1750
  transition: opacity 0.15s;
1751
  opacity: 0.5;
1752
  }
1753
- .csf-field-sorter .csf-disabled .ui-sortable-helper {
1754
  opacity: 1;
1755
  }
1756
- .csf-field-sorter .csf-sorter-title {
1757
  font-size: 13px;
1758
  font-weight: 600;
1759
  padding: 10px;
@@ -1763,13 +1778,13 @@
1763
  background-color: #f8f8f8;
1764
  text-transform: uppercase;
1765
  }
1766
- .csf-field-sorter ul {
1767
  list-style-type: none;
1768
  margin: 0;
1769
  padding: 0;
1770
  min-height: 62px;
1771
  }
1772
- .csf-field-sorter ul li {
1773
  margin: 10px 0;
1774
  padding: 10px 15px;
1775
  cursor: move;
@@ -1782,20 +1797,20 @@
1782
  -webkit-transition: border-color 0.15s;
1783
  transition: border-color 0.15s;
1784
  }
1785
- .csf-field-sorter ul li:hover {
1786
  border-color: #bbb;
1787
  }
1788
 
1789
  /**
1790
  * 03. 26. Field: spinner
1791
  */
1792
- .csf-field-spinner .csf--spin {
1793
  display: flex;
1794
  }
1795
- .csf-field-spinner .ui-spinner {
1796
  display: flex;
1797
  }
1798
- .csf-field-spinner .ui-button-text-only {
1799
  display: flex;
1800
  flex-direction: column;
1801
  justify-content: center;
@@ -1806,44 +1821,44 @@
1806
  border: 1px solid #7e8993;
1807
  background-color: #f5f5f5;
1808
  }
1809
- .csf-field-spinner .ui-button {
1810
  cursor: pointer;
1811
  }
1812
- .csf-field-spinner .ui-button:hover {
1813
  background-color: #e7e7e7;
1814
  }
1815
- .csf-field-spinner .ui-button:active {
1816
  background-color: #ddd;
1817
  }
1818
- .csf-field-spinner .ui-button:before {
1819
  font-family: FontAwesome;
1820
  font-size: 14px;
1821
  }
1822
- .csf-field-spinner .ui-spinner-down {
1823
  order: 1;
1824
  border-right: 0;
1825
  border-radius: 4px 0 0 4px;
1826
  }
1827
- .csf-field-spinner .ui-spinner-down:before {
1828
  content: "\f0d9";
1829
  }
1830
- .csf-field-spinner .ui-spinner-input {
1831
  order: 2;
1832
  }
1833
- .csf-field-spinner .csf--unit {
1834
  order: 3;
1835
  border-left: 0;
1836
  user-select: none;
1837
  }
1838
- .csf-field-spinner .ui-spinner-up {
1839
  order: 4;
1840
  border-left: 0;
1841
  border-radius: 0 4px 4px 0;
1842
  }
1843
- .csf-field-spinner .ui-spinner-up:before {
1844
  content: "\f0da";
1845
  }
1846
- .csf-field-spinner input {
1847
  position: relative;
1848
  z-index: 1;
1849
  width: 50px;
@@ -1852,14 +1867,14 @@
1852
  padding: 0 8px;
1853
  border-radius: 0;
1854
  }
1855
- .csf-field-spinner .ui-button-text {
1856
  display: none;
1857
  }
1858
 
1859
  /**
1860
  * 03. 27. Field: switcher
1861
  */
1862
- .csf-field-switcher .csf--switcher {
1863
  float: left;
1864
  cursor: pointer;
1865
  position: relative;
@@ -1873,7 +1888,7 @@
1873
  user-select: none;
1874
  -webkit-user-select: none;
1875
  }
1876
- .csf-field-switcher .csf--ball {
1877
  position: absolute;
1878
  top: 4px;
1879
  left: 4px;
@@ -1884,8 +1899,8 @@
1884
  transition: all .1s;
1885
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.15);
1886
  }
1887
- .csf-field-switcher .csf--on,
1888
- .csf-field-switcher .csf--off {
1889
  position: absolute;
1890
  top: 0;
1891
  left: 0;
@@ -1901,50 +1916,50 @@
1901
  opacity: 0;
1902
  transition: all .1s;
1903
  }
1904
- .csf-field-switcher .csf--off {
1905
  padding-right: 0;
1906
  padding-left: 28px;
1907
  opacity: 1;
1908
  }
1909
- .csf-field-switcher .csf--active {
1910
  background: #4fb845;
1911
  }
1912
- .csf-field-switcher .csf--active .csf--on {
1913
  opacity: 1;
1914
  }
1915
- .csf-field-switcher .csf--active .csf--off {
1916
  opacity: 0;
1917
  }
1918
- .csf-field-switcher .csf--active .csf--ball {
1919
  left: 100%;
1920
  margin-left: -28px;
1921
  }
1922
- .csf-field-switcher .csf--label {
1923
  float: left;
1924
  margin-top: 4px;
1925
  margin-left: 8px;
1926
  font-weight: 400;
1927
  color: #999;
1928
  }
1929
- .csf-field-switcher input {
1930
  display: none;
1931
  }
1932
 
1933
  /**
1934
  * 03. 28. Field: tabbed
1935
  */
1936
- .csf-field-tabbed .csf-tabbed-section {
1937
  border: 1px solid #ccd0d4;
1938
  background-color: #fff;
1939
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
1940
  }
1941
- .csf-field-tabbed .csf-tabbed-section > .csf-field {
1942
  padding: 15px;
1943
  }
1944
- .csf-field-tabbed .csf-tabbed-nav .csf--icon {
1945
  padding-right: 5px;
1946
  }
1947
- .csf-field-tabbed .csf-tabbed-nav a {
1948
  display: inline-block;
1949
  padding: 12px 15px;
1950
  margin-top: 1px;
@@ -1958,14 +1973,14 @@
1958
  background-color: #f3f3f3;
1959
  transition: all .2s;
1960
  }
1961
- .csf-field-tabbed .csf-tabbed-nav a:hover {
1962
  background-color: #f9f9f9;
1963
  }
1964
- .csf-field-tabbed .csf-tabbed-nav a.csf-tabbed-active {
1965
  background-color: #fff;
1966
  border-bottom-color: #fff;
1967
  }
1968
- .csf-field-tabbed .csf-tabbed-nav a:focus {
1969
  outline: none;
1970
  -moz-box-shadow: none;
1971
  -webkit-box-shadow: none;
@@ -1975,7 +1990,7 @@
1975
  /**
1976
  * 03. 29. Field: text
1977
  */
1978
- .csf-field-text input {
1979
  width: 50%;
1980
  max-width: 100%;
1981
  margin: 0;
@@ -1984,49 +1999,45 @@
1984
  /**
1985
  * 03. 30. Field: textarea
1986
  */
1987
- .csf-field-textarea textarea {
1988
  width: 100%;
1989
  max-width: 100%;
1990
  min-height: 125px;
1991
  }
1992
- .csf-field-textarea .csf-shortcode-button {
1993
- margin-bottom: 10px;
1994
- margin-right: 5px;
1995
- }
1996
 
1997
  /**
1998
  * 03. 31. Field: typography
1999
  */
2000
- .csf-field-typography textarea,
2001
- .csf-field-typography select {
2002
  min-width: 100%;
2003
  margin: 0;
2004
  }
2005
- .csf-field-typography .csf--title {
2006
  color: #777;
2007
  margin: 0 0 2px 0;
2008
  font-size: 12px;
2009
  }
2010
- .csf-field-typography .csf--title small {
2011
  vertical-align: top;
2012
  }
2013
- .csf-field-typography .csf--blocks {
2014
  display: flex;
2015
  flex-wrap: wrap;
2016
  }
2017
- .csf-field-typography .csf--block {
2018
  flex: 1;
2019
  padding-right: 6px;
2020
  padding-bottom: 6px;
2021
  }
2022
- .csf-field-typography .csf--input {
2023
  margin: 0;
2024
  min-width: 100%;
2025
  }
2026
- .csf-field-typography .csf--input-wrap {
2027
  position: relative;
2028
  }
2029
- .csf-field-typography .csf--unit {
2030
  position: absolute;
2031
  z-index: 1;
2032
  right: 4px;
@@ -2043,7 +2054,7 @@
2043
  justify-content: center;
2044
  flex-direction: column;
2045
  }
2046
- .csf-field-typography .csf--preview {
2047
  font-size: 16px;
2048
  line-height: 20px;
2049
  padding: 20px;
@@ -2055,77 +2066,77 @@
2055
  -webkit-user-select: none;
2056
  transition: background-color .2s, border-color .2s;
2057
  }
2058
- .csf-field-typography .csf--block-preview {
2059
  cursor: pointer;
2060
  position: relative;
2061
  overflow: hidden;
2062
  margin-top: 10px;
2063
  max-width: 100%;
2064
  }
2065
- .csf-field-typography .csf--black-background {
2066
  border-color: #000;
2067
  background-color: #000;
2068
  }
2069
- .csf-field-typography .csf--toggle {
2070
  position: absolute;
2071
  top: 5px;
2072
  right: 10px;
2073
  color: #999;
2074
  }
2075
- .csf-field-typography .csf--block-extra-styles {
2076
  margin-top: 5px;
2077
  }
2078
 
2079
  /**
2080
  * 03. 32. Field: upload
2081
  */
2082
- .csf-field-upload input {
2083
  width: 100%;
2084
  margin: 0;
2085
  }
2086
- .csf-field-upload .csf--wrap {
2087
  display: flex;
2088
  }
2089
- .csf-field-upload .button {
2090
  margin-left: 5px;
2091
  }
2092
 
2093
  /**
2094
  * 03. 33. Field: wp_editor
2095
  */
2096
- .csf-field-wp_editor .csf-wp-editor {
2097
  float: left;
2098
  width: 100%;
2099
  }
2100
- .csf-field-wp_editor .mce-toolbar-grp {
2101
  border: none;
2102
  }
2103
- .csf-field-wp_editor .mce-btn.mce-active button,
2104
- .csf-field-wp_editor .mce-btn.mce-active:hover button,
2105
- .csf-field-wp_editor .mce-btn.mce-active i,
2106
- .csf-field-wp_editor .mce-btn.mce-active:hover i {
2107
  color: #23282d;
2108
  }
2109
- .csf-field-wp_editor .wp-media-buttons {
2110
  position: relative;
2111
  z-index: 2;
2112
  }
2113
- .csf-field-wp_editor .wp-editor-tabs {
2114
  position: relative;
2115
  z-index: 1;
2116
  }
2117
- .csf-field-wp_editor .csf-no-tinymce {
2118
  border: 1px solid #e5e5e5;
2119
  }
2120
- .csf-field-wp_editor .csf-no-quicktags .wp-media-buttons {
2121
  float: none;
2122
  display: block;
2123
  }
2124
- .csf-field-wp_editor .csf-no-quicktags .mce-tinymce {
2125
  box-shadow: none;
2126
  border: 1px solid #e5e5e5;
2127
  }
2128
- .csf-field-wp_editor textarea {
2129
  width: 100%;
2130
  max-width: 100%;
2131
  margin: 0;
@@ -2135,7 +2146,7 @@
2135
  /**
2136
  * 03. 34. Field: heading
2137
  */
2138
- .csf-field-heading {
2139
  font-size: 1.5em;
2140
  font-weight: bold;
2141
  color: #23282d;
@@ -2145,7 +2156,7 @@
2145
  /**
2146
  * 03. 35. Field: subheading
2147
  */
2148
- .csf-field-subheading {
2149
  font-size: 14px;
2150
  font-weight: bold;
2151
  padding-top: 17px;
@@ -2157,46 +2168,46 @@
2157
  /**
2158
  * 03. 36. Field: submessage
2159
  */
2160
- .csf-field-submessage {
2161
  padding: 0 !important;
2162
  border: 0 !important;
2163
  }
2164
- .csf-field-submessage + .csf-field {
2165
  border-top: 0 !important;
2166
  }
2167
 
2168
- .csf-submessage {
2169
  font-size: 12px;
2170
  padding: 17px 30px;
2171
  border-top: 1px solid transparent;
2172
  border-bottom: 1px solid transparent;
2173
  }
2174
 
2175
- .csf-submessage-success {
2176
  color: #3c763d;
2177
  border-color: #d6e9c6;
2178
  background-color: #dff0d8;
2179
  }
2180
 
2181
- .csf-submessage-info {
2182
  color: #31708f;
2183
  border-color: #bce8f1;
2184
  background-color: #d9edf7;
2185
  }
2186
 
2187
- .csf-submessage-warning {
2188
  color: #8a6d3b;
2189
  border-color: #faebcc;
2190
  background-color: #fcf8e3;
2191
  }
2192
 
2193
- .csf-submessage-danger {
2194
  color: #a94442;
2195
  border-color: #ebccd1;
2196
  background-color: #f2dede;
2197
  }
2198
 
2199
- .csf-submessage-normal {
2200
  color: #23282d;
2201
  border-color: #eee;
2202
  background-color: #f7f7f7;
@@ -2205,11 +2216,11 @@
2205
  /**
2206
  * 03. 37. Field: notice
2207
  */
2208
- .csf-field-notice {
2209
  background-color: #f7f7f7;
2210
  }
2211
 
2212
- .csf-notice {
2213
  padding: 12px;
2214
  background-color: #fff;
2215
  border-left-style: solid;
@@ -2217,39 +2228,39 @@
2217
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
2218
  }
2219
 
2220
- .csf-notice-success {
2221
  border-color: #46b450;
2222
  }
2223
 
2224
- .csf-notice-info {
2225
  border-color: #339fd4;
2226
  }
2227
 
2228
- .csf-notice-warning {
2229
  border-color: #ffbc00;
2230
  }
2231
 
2232
- .csf-notice-danger {
2233
  border-color: #dc3232;
2234
  }
2235
 
2236
- .csf-notice-normal {
2237
  border-color: #222;
2238
  }
2239
 
2240
  /**
2241
  * 03. 38. Field: number
2242
  */
2243
- .csf-field-number input {
2244
  width: 100%;
2245
  margin: 0;
2246
  }
2247
- .csf-field-number .csf--wrap {
2248
  position: relative;
2249
  float: left;
2250
  width: 100px;
2251
  }
2252
- .csf-field-number .csf--unit {
2253
  position: absolute;
2254
  z-index: 1;
2255
  right: 4px;
@@ -2270,7 +2281,7 @@
2270
  /**
2271
  * 03. 39. others
2272
  */
2273
- .csf-help {
2274
  cursor: help;
2275
  position: absolute;
2276
  top: 0;
@@ -2279,11 +2290,11 @@
2279
  font-size: 14px;
2280
  color: #aaa;
2281
  }
2282
- .csf-help .csf-help-text {
2283
  display: none;
2284
  }
2285
 
2286
- .csf-image-preview {
2287
  display: inline-block;
2288
  position: relative;
2289
  padding: 4px;
@@ -2296,21 +2307,21 @@
2296
  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
2297
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
2298
  }
2299
- .csf-image-preview img {
2300
  max-height: 90px;
2301
  display: inline-block;
2302
  vertical-align: middle;
2303
  }
2304
 
2305
- .csf-field-custom .csf-field {
2306
  padding: 0;
2307
  }
2308
 
2309
- .csf-field .chosen-container-single .chosen-single {
2310
  height: 28px;
2311
  line-height: 26px;
2312
  }
2313
- .csf-field .chosen-container-single .chosen-single abbr {
2314
  top: 0;
2315
  right: 20px;
2316
  font-family: FontAwesome;
@@ -2321,13 +2332,13 @@
2321
  text-align: center;
2322
  background: none;
2323
  }
2324
- .csf-field .chosen-container-single .chosen-single abbr:before {
2325
  content: "\f00d";
2326
  }
2327
- .csf-field .chosen-container-single .chosen-single abbr:hover {
2328
  color: #555;
2329
  }
2330
- .csf-field .chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
2331
  font-family: FontAwesome;
2332
  font-size: 12px;
2333
  height: 100%;
@@ -2336,43 +2347,43 @@
2336
  text-align: center;
2337
  background: none;
2338
  }
2339
- .csf-field .chosen-container-multi .chosen-choices li.search-choice .search-choice-close:before {
2340
  content: "\f00d";
2341
  display: inline-block;
2342
  padding-top: 3px;
2343
  }
2344
- .csf-field .chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover {
2345
  color: #555;
2346
  }
2347
- .csf-field .chosen-container-single .chosen-single div b {
2348
  font-family: FontAwesome;
2349
  font-size: 14px;
2350
  color: #aaa;
2351
  background: none;
2352
  }
2353
- .csf-field .chosen-container-single .chosen-single div b:before {
2354
  content: "\f107";
2355
  }
2356
- .csf-field .chosen-container-single .chosen-single div b:hover {
2357
  color: #555;
2358
  }
2359
- .csf-field .chosen-container-multi .chosen-choices li.search-choice-placeholder {
2360
  border: 1px dashed #aaa;
2361
  margin: 3px 5px 3px 0;
2362
  }
2363
- .csf-field .chosen-container-multi .ui-sortable li.search-choice span {
2364
  cursor: move;
2365
  }
2366
- .csf-field .chosen-container-active.chosen-with-drop .chosen-single div b:before {
2367
  content: "\f106";
2368
  }
2369
- .csf-field .chosen-container-single .chosen-single-with-deselect span {
2370
  margin-right: 40px;
2371
  }
2372
- .csf-field .chosen-container-single .chosen-search input[type="text"] {
2373
  background: none;
2374
  }
2375
- .csf-field .chosen-container-single .chosen-search:before {
2376
  font-family: FontAwesome;
2377
  position: absolute;
2378
  content: "\f002";
@@ -2381,10 +2392,10 @@
2381
  top: 7px;
2382
  color: #aaa;
2383
  }
2384
- .csf-field .wp-picker-container {
2385
  display: inline-block;
2386
  }
2387
- .csf-field .csf--transparent-wrap {
2388
  display: none;
2389
  position: relative;
2390
  top: -1px;
@@ -2394,16 +2405,16 @@
2394
  border-top: none;
2395
  background-color: #fff;
2396
  }
2397
- .csf-field .wp-picker-active .csf--transparent-wrap {
2398
  display: block;
2399
  }
2400
- .csf-field .csf--transparent-slider {
2401
  position: absolute;
2402
  width: 190px;
2403
  margin-left: 2px;
2404
  height: 18px;
2405
  }
2406
- .csf-field .csf--transparent-slider .ui-slider-handle {
2407
  position: absolute;
2408
  top: -3px;
2409
  bottom: -3px;
@@ -2424,7 +2435,7 @@
2424
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
2425
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
2426
  }
2427
- .csf-field .csf--transparent-slider .ui-slider-handle:before {
2428
  content: " ";
2429
  position: absolute;
2430
  left: -2px;
@@ -2436,7 +2447,7 @@
2436
  -webkit-border-radius: 3px;
2437
  border-radius: 3px;
2438
  }
2439
- .csf-field .csf--transparent-offset {
2440
  height: 18px;
2441
  width: 200px;
2442
  background: url(../images/checkerboard.png) repeat-y center left scroll #fff;
@@ -2447,7 +2458,7 @@
2447
  -webkit-border-radius: 2px;
2448
  border-radius: 2px;
2449
  }
2450
- .csf-field .csf--transparent-text {
2451
  position: absolute;
2452
  top: 12px;
2453
  right: 10px;
@@ -2457,7 +2468,7 @@
2457
  text-align: center;
2458
  color: #999;
2459
  }
2460
- .csf-field .csf--transparent-button {
2461
  cursor: pointer;
2462
  user-select: none;
2463
  margin-top: 10px;
@@ -2472,51 +2483,51 @@
2472
  background-color: #f7f7f7;
2473
  transition: background-color .2s, border-color .2s, color .2s;
2474
  }
2475
- .csf-field .csf--transparent-active .wp-color-result {
2476
  background-image: url(../images/checkerboard.png);
2477
  background-size: 135px;
2478
  background-position: center left;
2479
  background-color: transparent !important;
2480
  }
2481
- .csf-field .csf--transparent-active .csf--transparent-button {
2482
  color: #fff;
2483
  border-color: #3ea032;
2484
  background-color: #4fb845;
2485
  }
2486
- .csf-field .csf--transparent-active .fa:before {
2487
  content: "\f205";
2488
  }
2489
 
2490
  /**
2491
  * 04. Widget
2492
  */
2493
- .csf-widgets > .csf-field {
2494
  position: relative;
2495
  top: -1px;
2496
  margin-right: -15px;
2497
  margin-left: -15px;
2498
  padding: 12px 15px;
2499
  }
2500
- .csf-widgets > .csf-field .csf-field {
2501
  margin-left: 0;
2502
  margin-right: 0;
2503
  }
2504
- .csf-widgets > .csf-field .csf-title {
2505
  float: none;
2506
  width: 100%;
2507
  margin-bottom: 5px;
2508
  }
2509
- .csf-widgets > .csf-field .csf-fieldset {
2510
  margin-left: 0;
2511
  }
2512
- .csf-widgets .csf-field-text input {
2513
  width: 100%;
2514
  }
2515
- .csf-widgets .csf-field-notice .csf-notice {
2516
  padding: 15px;
2517
  }
2518
 
2519
- .control-section .csf-widgets > .csf-field {
2520
  margin-right: -10px;
2521
  margin-left: -10px;
2522
  padding: 10px 12px;
@@ -2525,32 +2536,32 @@
2525
  /**
2526
  * 05. Widget
2527
  */
2528
- .control-section .csf-field {
2529
  padding: 0;
2530
  }
2531
- .control-section .csf-field .csf-title {
2532
  float: none;
2533
  width: 100%;
2534
  margin-bottom: 6px;
2535
  }
2536
- .control-section .csf-field .csf-title h4 {
2537
  display: block;
2538
  font-size: 13px;
2539
  line-height: 1;
2540
  font-weight: 600;
2541
  color: inherit;
2542
  }
2543
- .control-section .csf-field .csf-fieldset {
2544
  margin-left: 0;
2545
  }
2546
- .control-section .csf-help {
2547
  top: -5px;
2548
  right: -5px;
2549
  }
2550
- .control-section .csf-field-select select {
2551
  width: 100%;
2552
  }
2553
- .control-section .csf-field-heading {
2554
  color: inherit;
2555
  font-size: 14px;
2556
  line-height: 1em;
@@ -2558,245 +2569,105 @@
2558
  margin-left: -15px;
2559
  padding: 15px;
2560
  }
2561
- .control-section .csf-field-subheading {
2562
  color: inherit;
2563
  font-size: 11px;
2564
  margin-right: -15px;
2565
  margin-left: -15px;
2566
  padding: 10px 15px;
2567
  }
2568
- .control-section .csf-text-subtitle {
2569
  margin-top: 4px;
2570
  font-size: 12px;
2571
  }
2572
- .control-section .csf-field-submessage .csf-submessage {
2573
  margin-right: -15px;
2574
  margin-left: -15px;
2575
  padding: 15px;
2576
  }
2577
- .control-section .csf-fieldset .csf-field-submessage .csf-submessage,
2578
- .control-section .csf-fieldset .csf-field-heading,
2579
- .control-section .csf-fieldset .csf-field-subheading {
2580
  margin-left: 0;
2581
  margin-right: 0;
2582
  }
2583
- .control-section .csf-field-date .csf--to {
2584
  margin-left: 0;
2585
  }
2586
- .control-section .csf-field-sorter ul li {
2587
  padding: 5px;
2588
  }
2589
- .control-section .csf-field-sorter .csf-modules {
2590
  float: none;
2591
  width: 100%;
2592
  }
2593
- .control-section .csf-field-sorter .csf-modules:first-child {
2594
  padding-right: 0;
2595
  padding-bottom: 15px;
2596
  }
2597
- .control-section .csf-field-background .csf--background-attributes {
2598
  flex-direction: column;
2599
  }
2600
- .control-section .csf-field-spacing input {
2601
  width: 90px;
2602
  }
2603
- .control-section .csf-field-border .csf--input {
2604
  flex: 1 50%;
2605
  }
2606
- .control-section .csf-field-border input,
2607
- .control-section .csf-field-border select {
2608
  width: 100%;
2609
  }
2610
- .control-section .csf-field-spinner input {
2611
  width: 50px;
2612
  }
2613
- .control-section .csf-field-number .csf--wrap {
2614
  width: 100%;
2615
  }
2616
- .control-section .csf-field-backup .csf-export-data {
2617
  display: none;
2618
  }
2619
- .control-section .csf-field-fieldset .csf-fieldset-content {
2620
  border-color: #e5e5e5;
2621
  }
2622
- .control-section .csf-field-fieldset .csf-field {
2623
  padding: 10px;
2624
  }
2625
- .control-section .csf-field-fieldset .csf-field .csf-title {
2626
  margin-bottom: 5px;
2627
  }
2628
- .control-section .csf-field-fieldset .csf-field h4 {
2629
  font-size: 12px;
2630
  }
2631
- .control-section .csf-field-group .csf-field,
2632
- .control-section .csf-field-tabbed .csf-field,
2633
- .control-section .csf-field-sortable .csf-field,
2634
- .control-section .csf-field-repeater .csf-field,
2635
- .control-section .csf-field-accordion .csf-field {
2636
  padding: 10px;
2637
  }
2638
- .control-section .csf-field-group .csf-field .csf-title,
2639
- .control-section .csf-field-tabbed .csf-field .csf-title,
2640
- .control-section .csf-field-sortable .csf-field .csf-title,
2641
- .control-section .csf-field-repeater .csf-field .csf-title,
2642
- .control-section .csf-field-accordion .csf-field .csf-title {
2643
  margin-bottom: 5px;
2644
  }
2645
- .control-section .csf-field-group .csf-field h4,
2646
- .control-section .csf-field-tabbed .csf-field h4,
2647
- .control-section .csf-field-sortable .csf-field h4,
2648
- .control-section .csf-field-repeater .csf-field h4,
2649
- .control-section .csf-field-accordion .csf-field h4 {
2650
  font-size: 12px;
2651
  }
2652
- .control-section .csf-dependency-control.hidden {
2653
  display: none !important;
2654
  }
2655
 
2656
- /**
2657
- * 06. Taxonomy
2658
- */
2659
- .csf-taxonomy > .csf-field {
2660
- border-top: none !important;
2661
- }
2662
- .csf-taxonomy > .csf-field-heading {
2663
- font-size: 1.1em;
2664
- padding: 20px !important;
2665
- border: 1px solid #ddd;
2666
- }
2667
- .csf-taxonomy > .csf-field-subheading {
2668
- font-size: 12px;
2669
- padding: 15px !important;
2670
- border: 1px solid #ddd;
2671
- }
2672
- .csf-taxonomy > .csf-field-submessage .csf-submessage {
2673
- padding: 15px;
2674
- border-left-width: 1px;
2675
- border-left-style: solid;
2676
- border-right-width: 1px;
2677
- border-right-style: solid;
2678
- }
2679
- .csf-taxonomy > .csf-field-notice {
2680
- background-color: transparent;
2681
- }
2682
- .csf-taxonomy .csf-section-title {
2683
- display: block;
2684
- padding: 15px;
2685
- background-color: #f9f9f9;
2686
- border: 1px solid #e5e5e5;
2687
- -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
2688
- -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
2689
- box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
2690
- }
2691
-
2692
- .csf-taxonomy-add-fields > .csf-field {
2693
- padding: 8px 0;
2694
- }
2695
- .csf-taxonomy-add-fields > .csf-field > .csf-title {
2696
- float: none;
2697
- width: 100%;
2698
- padding: 2px 2px 4px 0;
2699
- }
2700
- .csf-taxonomy-add-fields > .csf-field > .csf-title h4 {
2701
- font-size: 12px;
2702
- font-weight: normal;
2703
- }
2704
- .csf-taxonomy-add-fields > .csf-field > .csf-fieldset {
2705
- margin-left: 0;
2706
- }
2707
- .csf-taxonomy-add-fields > .csf-field > .csf-fieldset > .csf-help {
2708
- right: -5px;
2709
- }
2710
- .csf-taxonomy-add-fields + p.submit {
2711
- margin-top: 0;
2712
- }
2713
-
2714
- .csf-taxonomy-edit-fields > .csf-field {
2715
- padding: 20px 0;
2716
- }
2717
- .csf-taxonomy-edit-fields > .csf-field > .csf-title {
2718
- width: 225px;
2719
- }
2720
- .csf-taxonomy-edit-fields > .csf-field > .csf-title h4 {
2721
- font-size: 14px;
2722
- font-weight: 600;
2723
- line-height: 1.3;
2724
- display: inline-block;
2725
- vertical-align: middle;
2726
- }
2727
- .csf-taxonomy-edit-fields > .csf-field > .csf-fieldset {
2728
- margin-left: 225px;
2729
- }
2730
- .csf-taxonomy-edit-fields > .csf-field > .csf-fieldset > .csf-help {
2731
- top: -5px;
2732
- right: -5px;
2733
- }
2734
- .csf-taxonomy-edit-fields > .csf-field-submessage {
2735
- margin: 20px 0;
2736
- }
2737
- .csf-taxonomy-edit-fields > .csf-field-subheading,
2738
- .csf-taxonomy-edit-fields > .csf-field-heading {
2739
- margin: 20px 0;
2740
- border: 1px solid #ddd;
2741
- }
2742
-
2743
- /**
2744
- * 06. Profile
2745
- */
2746
- .csf-profile > h2 > .fa {
2747
- padding-right: 7px;
2748
- }
2749
- .csf-profile > .csf-field {
2750
- padding: 15px 0;
2751
- border-top: none !important;
2752
- }
2753
- .csf-profile > .csf-field > .csf-title {
2754
- width: 220px;
2755
- }
2756
- .csf-profile > .csf-field > .csf-title h4 {
2757
- font-size: 14px;
2758
- font-weight: 600;
2759
- line-height: 1.3;
2760
- display: inline-block;
2761
- vertical-align: middle;
2762
- }
2763
- .csf-profile > .csf-field > .csf-fieldset {
2764
- margin-left: 220px;
2765
- }
2766
- .csf-profile > .csf-field > .csf-fieldset > .csf-help {
2767
- top: -15px;
2768
- right: -5px;
2769
- }
2770
- .csf-profile > .csf-field-heading {
2771
- font-size: 1.1em;
2772
- }
2773
- .csf-profile > .csf-field-subheading {
2774
- font-size: 12px;
2775
- }
2776
- .csf-profile > .csf-field-subheading,
2777
- .csf-profile > .csf-field-heading {
2778
- margin: 10px 0;
2779
- padding: 15px !important;
2780
- border: 1px solid #ddd;
2781
- }
2782
- .csf-profile > .csf-field-submessage {
2783
- margin: 20px 0;
2784
- }
2785
- .csf-profile > .csf-field-submessage .csf-submessage {
2786
- padding: 10px;
2787
- border-left-width: 1px;
2788
- border-left-style: solid;
2789
- border-right-width: 1px;
2790
- border-right-style: solid;
2791
- }
2792
- .csf-profile > .csf-field-notice {
2793
- background-color: transparent;
2794
- }
2795
-
2796
  /**
2797
  * 08. Modal
2798
  */
2799
- .csf-modal {
2800
  display: none;
2801
  position: fixed;
2802
  z-index: 100101;
@@ -2806,23 +2677,23 @@
2806
  height: 100%;
2807
  }
2808
 
2809
- .csf-modal-icon {
2810
  z-index: 100102;
2811
  }
2812
 
2813
- .csf-modal-table {
2814
  display: table;
2815
  width: 100%;
2816
  height: 100%;
2817
  }
2818
 
2819
- .csf-modal-table-cell {
2820
  display: table-cell;
2821
  vertical-align: middle;
2822
  margin: 100px 0;
2823
  }
2824
 
2825
- .csf-modal-inner {
2826
  position: relative;
2827
  z-index: 10;
2828
  width: 760px;
@@ -2831,40 +2702,37 @@
2831
  background-color: #fff;
2832
  }
2833
 
2834
- .csf-modal-content {
2835
  position: relative;
2836
  overflow: hidden;
2837
  overflow-y: auto;
2838
  height: 595px;
2839
  }
2840
- .csf-modal-content .csf-shortcode-button {
2841
- display: none;
2842
- }
2843
- .csf-modal-content .csf-fieldset {
2844
  margin-left: 25%;
2845
  }
2846
- .csf-modal-content .csf-title {
2847
  width: 20%;
2848
  }
2849
- .csf-modal-content .csf-field {
2850
  padding: 15px 30px 15px 15px;
2851
  }
2852
- .csf-modal-content a:active, .csf-modal-content a:focus {
2853
  outline: none;
2854
  -moz-box-shadow: none;
2855
  -webkit-box-shadow: none;
2856
  box-shadow: none;
2857
  }
2858
- .csf-modal-content h4 {
2859
  font-size: 13px;
2860
  }
2861
- .csf-modal-content h4 small {
2862
  font-style: italic;
2863
  font-weight: 400;
2864
  color: #aaa;
2865
  }
2866
 
2867
- .csf-modal-title {
2868
  position: relative;
2869
  background-color: #fcfcfc;
2870
  border-bottom: 1px solid #ddd;
@@ -2876,13 +2744,13 @@
2876
  padding: 0 36px 0 16px;
2877
  }
2878
 
2879
- .csf-modal-header {
2880
  width: 100%;
2881
  padding: 14px 0;
2882
  background-color: #f5f5f5;
2883
  border-bottom: 1px solid #eee;
2884
  }
2885
- .csf-modal-header select {
2886
  display: block;
2887
  width: 250px;
2888
  margin: 0 auto;
@@ -2893,7 +2761,7 @@
2893
  background-color: #fff;
2894
  }
2895
 
2896
- .csf-modal-close {
2897
  color: #666;
2898
  padding: 0;
2899
  position: absolute;
@@ -2906,18 +2774,18 @@
2906
  border: none;
2907
  cursor: pointer;
2908
  }
2909
- .csf-modal-close:before {
2910
  font: normal 20px/36px dashicons;
2911
  content: "\f158";
2912
  vertical-align: top;
2913
  width: 36px;
2914
  height: 36px;
2915
  }
2916
- .csf-modal-close:hover {
2917
  opacity: 0.5;
2918
  }
2919
 
2920
- .csf-modal-insert-wrapper {
2921
  text-align: center;
2922
  width: 100%;
2923
  padding: 15px 0;
@@ -2925,7 +2793,7 @@
2925
  border-top: 1px solid #eee;
2926
  }
2927
 
2928
- .csf-modal-overlay {
2929
  position: absolute;
2930
  top: 0;
2931
  left: 0;
@@ -2935,276 +2803,83 @@
2935
  opacity: 0.5;
2936
  }
2937
 
2938
- /**
2939
- * 08. 01. Shortcode Modal
2940
- */
2941
- .csf--repeatable {
2942
- padding: 15px 15px 0 15px;
2943
- }
2944
-
2945
- .csf--repeat-button-block {
2946
- text-align: center;
2947
- padding-bottom: 15px;
2948
- }
2949
-
2950
- .csf--repeat-shortcode {
2951
- position: relative;
2952
- margin-bottom: 15px;
2953
- border: 1px dashed #ddd;
2954
- }
2955
- .csf--repeat-shortcode:first-child .csf-repeat-remove {
2956
- display: none;
2957
- }
2958
- .csf--repeat-shortcode .csf-repeat-remove {
2959
- position: absolute;
2960
- right: 10px;
2961
- top: 10px;
2962
- z-index: 10;
2963
- cursor: pointer;
2964
- display: inline-block;
2965
- font-size: 11px;
2966
- width: 18px;
2967
- height: 18px;
2968
- line-height: 18px;
2969
- text-align: center;
2970
- border-radius: 2px;
2971
- color: #fff;
2972
- background-color: #e14d43;
2973
- opacity: 0.5;
2974
- }
2975
- .csf--repeat-shortcode .csf-repeat-remove:hover {
2976
- opacity: 1;
2977
- }
2978
-
2979
- .csf-shortcode-single .csf-modal-inner {
2980
- height: 750px;
2981
- }
2982
- .csf-shortcode-single .csf-modal-content {
2983
- height: 652px;
2984
- }
2985
-
2986
- .elementor-editor-active .csf-shortcode-button {
2987
- margin-left: 5px;
2988
- }
2989
- .elementor-editor-active .csf-modal .hidden {
2990
- display: none !important;
2991
- }
2992
-
2993
- /**
2994
- * 08. 03. Icon Modal
2995
- */
2996
- .csf-modal-icon .csf-icon-title {
2997
- padding: 15px 0;
2998
- margin: 4px;
2999
- font-size: 14px;
3000
- font-weight: bold;
3001
- text-align: center;
3002
- border: 1px solid #eee;
3003
- background-color: #f7f7f7;
3004
- }
3005
- .csf-modal-icon .csf-icon-search {
3006
- width: 250px;
3007
- height: 40px;
3008
- line-height: 40px;
3009
- }
3010
- .csf-modal-icon a {
3011
- display: inline-block;
3012
- padding: 4px;
3013
- cursor: pointer;
3014
- }
3015
- .csf-modal-icon a .csf-icon {
3016
- position: relative;
3017
- padding: 4px;
3018
- display: inline-block;
3019
- font-size: 14px;
3020
- width: 30px;
3021
- height: 26px;
3022
- line-height: 26px;
3023
- text-align: center;
3024
- vertical-align: top;
3025
- color: #555;
3026
- border: 1px solid #ccc;
3027
- background-color: #f7f7f7;
3028
- -moz-border-radius: 3px;
3029
- -webkit-border-radius: 3px;
3030
- border-radius: 3px;
3031
- -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
3032
- -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
3033
- box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
3034
- -moz-box-sizing: content-box;
3035
- -webkit-box-sizing: content-box;
3036
- box-sizing: content-box;
3037
- }
3038
- .csf-modal-icon a:hover .csf-icon {
3039
- color: #fff;
3040
- border-color: #222;
3041
- background-color: #222;
3042
- }
3043
- .csf-modal-icon .csf-modal-content {
3044
- padding: 10px;
3045
- height: 618px;
3046
- }
3047
- .csf-modal-icon .csf-text-error {
3048
- padding: 10px;
3049
- }
3050
-
3051
- .csf-modal-loading {
3052
- display: none;
3053
- position: absolute;
3054
- left: 15px;
3055
- top: 15px;
3056
- }
3057
-
3058
- .csf-loading {
3059
- position: relative;
3060
- width: 20px;
3061
- height: 20px;
3062
- background: #ccc;
3063
- -moz-border-radius: 20px;
3064
- -webkit-border-radius: 20px;
3065
- border-radius: 20px;
3066
- -moz-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.07);
3067
- -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.07);
3068
- box-shadow: 0 2px 5px rgba(0, 0, 0, 0.07);
3069
- }
3070
- .csf-loading:after {
3071
- position: absolute;
3072
- top: 50%;
3073
- left: 50%;
3074
- width: 4px;
3075
- height: 4px;
3076
- content: "";
3077
- margin-top: -2px;
3078
- margin-left: -2px;
3079
- background-color: white;
3080
- -moz-animation-duration: 0.5s;
3081
- -webkit-animation-duration: 0.5s;
3082
- animation-duration: 0.5s;
3083
- -moz-animation-iteration-count: infinite;
3084
- -webkit-animation-iteration-count: infinite;
3085
- animation-iteration-count: infinite;
3086
- -moz-animation-timing-function: linear;
3087
- -webkit-animation-timing-function: linear;
3088
- animation-timing-function: linear;
3089
- -moz-animation-name: csfLoader;
3090
- -webkit-animation-name: csfLoader;
3091
- animation-name: csfLoader;
3092
- -moz-border-radius: 4px;
3093
- -webkit-border-radius: 4px;
3094
- border-radius: 4px;
3095
- }
3096
-
3097
- @-moz-keyframes csfLoader {
3098
- 0% {
3099
- -moz-transform: rotate(0deg) translateX(-6px) rotate(0deg);
3100
- transform: rotate(0deg) translateX(-6px) rotate(0deg);
3101
- }
3102
- 100% {
3103
- -moz-transform: rotate(360deg) translateX(-6px) rotate(-360deg);
3104
- transform: rotate(360deg) translateX(-6px) rotate(-360deg);
3105
- }
3106
- }
3107
- @-webkit-keyframes csfLoader {
3108
- 0% {
3109
- -webkit-transform: rotate(0deg) translateX(-6px) rotate(0deg);
3110
- transform: rotate(0deg) translateX(-6px) rotate(0deg);
3111
- }
3112
- 100% {
3113
- -webkit-transform: rotate(360deg) translateX(-6px) rotate(-360deg);
3114
- transform: rotate(360deg) translateX(-6px) rotate(-360deg);
3115
- }
3116
- }
3117
- @keyframes csfLoader {
3118
- 0% {
3119
- -moz-transform: rotate(0deg) translateX(-6px) rotate(0deg);
3120
- -ms-transform: rotate(0deg) translateX(-6px) rotate(0deg);
3121
- -webkit-transform: rotate(0deg) translateX(-6px) rotate(0deg);
3122
- transform: rotate(0deg) translateX(-6px) rotate(0deg);
3123
- }
3124
- 100% {
3125
- -moz-transform: rotate(360deg) translateX(-6px) rotate(-360deg);
3126
- -ms-transform: rotate(360deg) translateX(-6px) rotate(-360deg);
3127
- -webkit-transform: rotate(360deg) translateX(-6px) rotate(-360deg);
3128
- transform: rotate(360deg) translateX(-6px) rotate(-360deg);
3129
- }
3130
- }
3131
  /**
3132
  * 08. Helper
3133
  */
3134
- .csf-text-desc,
3135
- .csf-text-subtitle {
3136
  font-weight: 400;
3137
  margin-top: 10px;
3138
  color: #999;
3139
  }
3140
 
3141
- .csf-text-success {
3142
  color: #2b542c;
3143
  }
3144
 
3145
- .csf-text-error {
3146
  color: #d02c21;
3147
  }
3148
 
3149
- .csf-text-info {
3150
  color: #31708f;
3151
  }
3152
 
3153
- .csf-text-warning {
3154
  color: #ffb900;
3155
  }
3156
 
3157
- .csf-text-muted {
3158
  color: #aaa;
3159
  }
3160
 
3161
- .csf-text-left {
3162
  text-align: left;
3163
  }
3164
 
3165
- .csf-text-center {
3166
  text-align: center;
3167
  }
3168
 
3169
- .csf-text-right {
3170
  text-align: right;
3171
  }
3172
 
3173
- .csf-block-left {
3174
  float: left;
3175
  }
3176
 
3177
- .csf-block-right {
3178
  float: right;
3179
  }
3180
 
3181
- .csf-full-width {
3182
  width: 100%;
3183
  }
3184
 
3185
- .csf-full-half {
3186
  width: 50%;
3187
  }
3188
 
3189
- .csf-table {
3190
  width: 100%;
3191
  display: table;
3192
  }
3193
 
3194
- .csf-table-cell {
3195
  display: table-cell;
3196
  vertical-align: middle;
3197
  }
3198
 
3199
- .csf-table-expanded {
3200
  width: 100%;
3201
  }
3202
 
3203
- .csf-nowrap {
3204
  white-space: nowrap;
3205
  }
3206
 
3207
- .csf-text-highlight {
3208
  padding: 2px 4px;
3209
  font-size: 90%;
3210
  color: #c7254e;
@@ -3214,7 +2889,7 @@
3214
  border-radius: 2px;
3215
  }
3216
 
3217
- .csf-text-highlight-gray {
3218
  padding: 2px 4px;
3219
  font-size: 90%;
3220
  background-color: #f0f0f0;
@@ -3223,40 +2898,40 @@
3223
  border-radius: 2px;
3224
  }
3225
 
3226
- .csf-hidden {
3227
  display: none;
3228
  }
3229
 
3230
- .csf-hide {
3231
  display: none !important;
3232
  }
3233
 
3234
- .csf-show {
3235
  display: block !important;
3236
  }
3237
 
3238
- .csf-opacity {
3239
  opacity: 0.5;
3240
  }
3241
 
3242
- .csf-warning-primary {
3243
  color: #fff !important;
3244
  border-color: #dc3545 !important;
3245
  background: #dc3545 !important;
3246
  }
3247
- .csf-warning-primary:hover, .csf-warning-primary:focus {
3248
  border-color: #bd2130 !important;
3249
  background: #bd2130 !important;
3250
  }
3251
- .csf-warning-primary:focus {
3252
  box-shadow: 0 0 0 1px #fff, 0 0 0 3px #bd2130 !important;
3253
  }
3254
- .csf-warning-primary:active {
3255
  border-color: #bd2130 !important;
3256
  background: #bd2130 !important;
3257
  }
3258
 
3259
- .csf-form-result {
3260
  display: none;
3261
  float: left;
3262
  padding: 0 8px;
@@ -3267,21 +2942,21 @@
3267
  border-radius: 2px;
3268
  }
3269
 
3270
- .csf-form-show {
3271
  display: block;
3272
  }
3273
 
3274
- .csf-form-success {
3275
  color: #fff;
3276
  background-color: #46b450;
3277
  }
3278
 
3279
- .csf-form-warning {
3280
  color: #8a6d3b;
3281
  background-color: #faebcc;
3282
  }
3283
 
3284
- .csf-label-error {
3285
  position: relative;
3286
  top: -2px;
3287
  display: inline-block;
@@ -3300,414 +2975,122 @@
3300
  border-radius: 2px;
3301
  }
3302
 
3303
- .csf-no-option {
3304
  padding: 30px;
3305
  }
3306
 
3307
- .csf-input-number {
3308
  -moz-appearance: textfield;
3309
  }
3310
 
3311
- .csf-input-number::-webkit-inner-spin-button,
3312
- .csf-input-number::-webkit-outer-spin-button {
3313
  -webkit-appearance: none;
3314
  margin: 0;
3315
  }
3316
 
3317
- /**
3318
- * 10. Welcome Page
3319
- */
3320
- .csf-welcome-wrap {
3321
- position: relative;
3322
- margin: 25px 40px 0 20px;
3323
- font-size: 15px;
3324
- max-width: 1200px;
3325
- }
3326
- .csf-welcome-wrap p {
3327
- font-size: 14px;
3328
- line-height: 1.5;
3329
- }
3330
- .csf-welcome-wrap h1 {
3331
- margin: 0.2em 200px 0 0;
3332
- padding: 0;
3333
- color: #32373c;
3334
- line-height: 1.2em;
3335
- font-size: 2.8em;
3336
- font-weight: 400;
3337
- }
3338
- .csf-welcome-wrap .csf-logo {
3339
- position: absolute;
3340
- overflow: hidden;
3341
- top: 0;
3342
- right: 0;
3343
- height: 160px;
3344
- width: 140px;
3345
- background-image: linear-gradient(45deg, #2d67cb, #ad19f3);
3346
- box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25), inset 0 0 0 4px rgba(0, 0, 0, 0.25);
3347
- }
3348
- .csf-welcome-wrap .csf-logo .csf--effects i {
3349
- position: absolute;
3350
- width: 200px;
3351
- height: 100px;
3352
- background-color: rgba(0, 0, 0, 0.15);
3353
- transform: rotate(-45deg);
3354
- }
3355
- .csf-welcome-wrap .csf-logo .csf--effects i:nth-child(1) {
3356
- bottom: -20px;
3357
- right: -70px;
3358
- }
3359
- .csf-welcome-wrap .csf-logo .csf--effects i:nth-child(2) {
3360
- bottom: -35px;
3361
- right: -80px;
3362
- }
3363
- .csf-welcome-wrap .csf-logo .csf--effects i:nth-child(3) {
3364
- bottom: -50px;
3365
- right: -90px;
3366
- }
3367
- .csf-welcome-wrap .csf-logo .csf--effects i:nth-child(4) {
3368
- bottom: -65px;
3369
- right: -100px;
3370
- }
3371
- .csf-welcome-wrap .csf-logo .csf--wp-logos {
3372
- position: relative;
3373
- padding-top: 25px;
3374
- text-align: center;
3375
- }
3376
- .csf-welcome-wrap .csf-logo .csf--wp-logo {
3377
- position: absolute;
3378
- left: 20px;
3379
- width: 20px;
3380
- height: 20px;
3381
- background-repeat: no-repeat;
3382
- background-position: center center;
3383
- background-image: url(../images/wp-logo.svg);
3384
- }
3385
- .csf-welcome-wrap .csf-logo .csf--wp-plugin-logo {
3386
- display: inline-block;
3387
- width: 50px;
3388
- height: 50px;
3389
- border: 3px solid #fff;
3390
- background-size: 40px;
3391
- background-repeat: no-repeat;
3392
- background-position: center center;
3393
- background-image: url(../images/wp-plugin-logo.svg);
3394
- border-radius: 100%;
3395
- vertical-align: middle;
3396
- }
3397
- .csf-welcome-wrap .csf-logo .csf--text {
3398
- position: absolute;
3399
- left: 0;
3400
- right: 0;
3401
- top: 90px;
3402
- color: #fff;
3403
- font-size: 13px;
3404
- line-height: 1.2em;
3405
- font-weight: 600;
3406
- text-align: center;
3407
- text-transform: uppercase;
3408
- text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.25);
3409
- }
3410
- .csf-welcome-wrap .csf-logo .csf--version {
3411
- top: auto;
3412
- left: auto;
3413
- right: 8px;
3414
- bottom: 4px;
3415
- font-size: 11px;
3416
- text-transform: lowercase;
3417
- }
3418
- .csf-welcome-wrap .csf-about-text {
3419
- font-weight: 400;
3420
- line-height: 1.6em;
3421
- font-size: 19px;
3422
- margin: 1em 200px 1em 0;
3423
- color: #555d66;
3424
- }
3425
- .csf-welcome-wrap .csf-demo-button {
3426
- margin: 1em 200px 2em 0;
3427
- }
3428
- .csf-welcome-wrap .nav-tab-wrapper {
3429
- margin-bottom: 20px;
3430
- }
3431
- .csf-welcome-wrap ul {
3432
- list-style-type: disc;
3433
- padding-left: 15px;
3434
- }
3435
- .csf-welcome-wrap .csf--col {
3436
- float: left;
3437
- padding-right: 20px;
3438
- box-sizing: border-box;
3439
- }
3440
- .csf-welcome-wrap .csf--col-2 {
3441
- width: 50%;
3442
- }
3443
- .csf-welcome-wrap .csf--col-3 {
3444
- width: 33.333%;
3445
- }
3446
- .csf-welcome-wrap .csf--col-4 {
3447
- width: 25%;
3448
- }
3449
- .csf-welcome-wrap .csf--col-5 {
3450
- width: 20%;
3451
- }
3452
- .csf-welcome-wrap .csf--col-last {
3453
- padding-right: 0;
3454
- }
3455
- .csf-welcome-wrap .csf--col-upgrade {
3456
- padding: 10px 0;
3457
- text-align: center;
3458
- border-top: 1px solid #e5e5e5;
3459
- }
3460
-
3461
- .csf--table-compare thead td,
3462
- .csf--table-compare tfoot td {
3463
- text-align: center;
3464
- }
3465
- .csf--table-compare td {
3466
- font-size: 14px;
3467
- text-align: center;
3468
- vertical-align: middle;
3469
- padding: 10px;
3470
- }
3471
- .csf--table-compare td:first-child {
3472
- text-align: left;
3473
- }
3474
- .csf--table-compare tfoot td {
3475
- padding: 15px 0;
3476
- }
3477
- .csf--table-compare .fa {
3478
- font-size: 18px;
3479
- }
3480
- .csf--table-compare .fa-check-circle {
3481
- color: #46b450;
3482
- }
3483
- .csf--table-compare .fa-times-circle {
3484
- color: #dc3232;
3485
- }
3486
-
3487
- .csf-welcome-cols {
3488
- clear: both;
3489
- margin: 20px 0;
3490
- background-color: #fff;
3491
- padding: 0 0;
3492
- border-radius: 2px;
3493
- border: 1px solid #e5e5e5;
3494
- }
3495
- .csf-welcome-cols .csf--col {
3496
- width: 25%;
3497
- float: left;
3498
- padding: 20px;
3499
- text-align: center;
3500
- box-sizing: border-box;
3501
- min-height: 200px;
3502
- border-right: 1px solid #e5e5e5;
3503
- }
3504
- .csf-welcome-cols .csf--left,
3505
- .csf-welcome-cols .csf--block {
3506
- float: left;
3507
- width: 20%;
3508
- padding: 0 30px;
3509
- text-align: center;
3510
- box-sizing: border-box;
3511
- }
3512
- .csf-welcome-cols .csf--block {
3513
- width: 80%;
3514
- }
3515
- .csf-welcome-cols .csf--col-first {
3516
- border-bottom: 1px solid #e5e5e5;
3517
- }
3518
- .csf-welcome-cols .csf--last {
3519
- border-right: none;
3520
- }
3521
- .csf-welcome-cols .csf--space {
3522
- height: 20px;
3523
- }
3524
- .csf-welcome-cols .csf--icon {
3525
- display: inline-block;
3526
- font-size: 20px;
3527
- width: 30px;
3528
- height: 30px;
3529
- line-height: 30px;
3530
- text-align: center;
3531
- margin-bottom: 10px;
3532
- color: #fff;
3533
- background-color: #555;
3534
- border-radius: 30px;
3535
- }
3536
- .csf-welcome-cols .csf--active {
3537
- background-color: #5cb85c;
3538
- }
3539
- .csf-welcome-cols .csf--deactive {
3540
- background-color: #e14d43;
3541
- }
3542
- .csf-welcome-cols .csf--title {
3543
- font-weight: bold;
3544
- display: block;
3545
- }
3546
- .csf-welcome-cols p:last-child {
3547
- margin-bottom: 0;
3548
- }
3549
-
3550
- .csf-features-cols .csf--key-features {
3551
- width: 30%;
3552
- }
3553
- .csf-features-cols .csf--available-fields {
3554
- width: 70%;
3555
- }
3556
-
3557
- .csf-code-block {
3558
- margin: 20px 0;
3559
- padding: 5px 20px;
3560
- background-color: #fff;
3561
- border-radius: 2px;
3562
- box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
3563
- }
3564
- .csf-code-block pre {
3565
- font-size: 13px;
3566
- color: #0073aa;
3567
- }
3568
- .csf-code-block pre span {
3569
- color: #999;
3570
- }
3571
-
3572
- .csf--table-fields td {
3573
- font-size: 14px;
3574
- }
3575
-
3576
- .csf--upgrade a {
3577
- color: #5cb85c;
3578
- font-weight: bold;
3579
- }
3580
- .csf--upgrade a:focus, .csf--upgrade a:hover {
3581
- color: #4aa14a;
3582
- outline: none;
3583
- box-shadow: none;
3584
- }
3585
-
3586
- @media only screen and (max-width: 782px) {
3587
- .csf-welcome-cols .csf--col {
3588
- width: 100%;
3589
- min-height: auto;
3590
- border-right: none;
3591
- border-bottom: 1px solid #e5e5e5;
3592
- }
3593
-
3594
- .csf-features-cols .csf--key-features {
3595
- width: 100%;
3596
- }
3597
- .csf-features-cols .csf--available-fields {
3598
- width: 100%;
3599
- }
3600
- }
3601
  /**
3602
  * 11. Responsive
3603
  */
3604
  @media only screen and (max-width: 1200px) {
3605
- .csf-metabox .csf-field .csf-title {
3606
  float: none;
3607
  width: 100%;
3608
  margin-bottom: 10px;
3609
  }
3610
- .csf-metabox .csf-field .csf-fieldset {
3611
  margin-left: 0;
3612
  }
3613
  }
3614
  @media only screen and (max-width: 782px) {
3615
- .csf-header-inner {
3616
  text-align: center;
3617
  }
3618
- .csf-header-inner h1 {
3619
  width: 100%;
3620
  margin-bottom: 10px;
3621
  }
3622
 
3623
- .csf-form-result {
3624
  float: none;
3625
  margin-right: 0;
3626
  margin-bottom: 10px;
3627
  }
3628
 
3629
- .csf-search,
3630
- .csf-header-right,
3631
- .csf-header-left {
3632
  width: 100%;
3633
  }
3634
 
3635
- .csf-search {
3636
  text-align: center;
3637
  margin-bottom: 15px;
3638
  }
3639
 
3640
- .csf-footer {
3641
  text-align: center;
3642
  }
3643
 
3644
- .csf-buttons {
3645
  float: none;
3646
  }
3647
 
3648
- .csf-copyright {
3649
  float: none;
3650
  margin-top: 10px;
3651
  }
3652
 
3653
- .csf-nav,
3654
- .csf-expand-all,
3655
- .csf-reset-section,
3656
- .csf-nav-background {
3657
  display: none !important;
3658
  }
3659
 
3660
- .csf-content {
3661
  margin-left: 0;
3662
  }
3663
 
3664
- .csf-section-title,
3665
- .csf-section {
3666
  display: block !important;
3667
  }
3668
 
3669
- .csf-field .csf-title {
3670
  float: none;
3671
  width: 100%;
3672
  margin-bottom: 10px;
3673
  }
3674
- .csf-field .csf-fieldset {
3675
  margin-left: 0;
3676
  }
3677
 
3678
- .csf-modal-inner {
3679
  width: 350px;
3680
  height: 400px;
3681
  }
3682
 
3683
- .csf-modal-content {
3684
  height: 237px;
3685
  }
3686
 
3687
- .csf-icon-dialog .csf-modal-inner {
3688
  width: 305px;
3689
  height: 380px;
3690
  }
3691
- .csf-icon-dialog .csf-modal-content {
3692
  height: 267px;
3693
  }
3694
 
3695
- .csf-modal-icon .csf-modal-inner {
3696
  width: 330px;
3697
  height: 385px;
3698
  }
3699
- .csf-modal-icon .csf-modal-content {
3700
  height: 252px;
3701
  }
3702
 
3703
- .csf-profile > .csf-field > .csf-title {
3704
- float: none;
3705
- width: 100%;
3706
- margin-bottom: 10px;
3707
- }
3708
- .csf-profile > .csf-field > .csf-fieldset {
3709
- margin-left: 0;
3710
- }
3711
  }
3712
  /**
3713
  * Chosen JS Styles
@@ -4114,3 +3497,21 @@
4114
  padding: 4px 5px 4px 20px;
4115
  direction: rtl;
4116
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  /**
 
 
 
 
 
2
  * 01. Base
3
  * 01. 01. Header
4
  * 01. 02. Sticky
12
  * 01. 10. Show All Options
13
  * 01. 11. Search Input
14
  * 01. 12. Metabox
 
15
  * 01. 14. Help Tooltip
16
  * 02. Themes
17
  * 02. 01. Theme Dark
31
  * 03. 12. Field: date
32
  * 03. 13. Field: gallery
33
  * 03. 14. Field: group
 
34
  * 03. 16. Field: image_select
35
  * 03. 17. Field: link_color
36
  * 03. 18. Field: map
57
  * 03. 39. Field: others
58
  * 04. Widget
59
  * 05. Customizer
 
 
60
  * 08. Modal
 
61
  * 08. 03. Icon Modal
62
  * 09. Helper
 
63
  * 11. Responsive
64
  * 12. Others
65
  *
69
  /**
70
  * 01. Base
71
  */
72
+ .spftestimonial {
73
  position: relative;
74
  }
75
+ .spftestimonial label {
76
  padding: 0;
77
  margin: 0;
78
  display: inline-block;
79
  }
80
 
81
+ .spftestimonial-ab-icon {
82
  top: 2px;
83
  }
84
 
85
+ #screen-meta-links + .spftestimonial-options {
86
  margin-top: 40px;
87
  }
88
 
89
+ .spftestimonial-options {
90
  margin-top: 20px;
91
  margin-right: 20px;
92
  }
94
  /**
95
  * 01. 01. Header
96
  */
97
+ .spftestimonial-header {
98
  position: relative;
99
  }
100
 
101
+ .spftestimonial-header-inner {
102
  padding: 25px;
103
  }
104
+ .spftestimonial-header-inner h1 {
105
  float: left;
106
  font-size: 1.5em;
107
  line-height: 26px;
108
  font-weight: 400;
109
  margin: 0;
110
  }
111
+ .spftestimonial-header-inner h1 small {
112
  font-size: 11px;
113
  font-weight: 500;
114
  }
116
  /**
117
  * 01. 02. Sticky
118
  */
119
+ .spftestimonial-sticky .spftestimonial-header-inner {
120
  position: fixed;
121
  z-index: 99999;
122
  top: 32px;
128
  /**
129
  * 01. 03. Header Buttons
130
  */
131
+ .spftestimonial-buttons {
132
  float: right;
133
  -moz-transition: opacity 0.2s;
134
  -o-transition: opacity 0.2s;
135
  -webkit-transition: opacity 0.2s;
136
  transition: opacity 0.2s;
137
  }
138
+ .spftestimonial-buttons .button {
139
  margin: 0 2px;
140
  line-height: 26px;
141
  }
142
+ .spftestimonial-buttons .button:focus {
143
  outline: none !important;
144
  box-shadow: none !important;
145
  }
146
+ .spftestimonial-buttons .spftestimonial-save {
147
  min-width: 72px;
148
  }
149
 
150
+ .spftestimonial-header-left {
151
  float: left;
152
  }
153
 
154
+ .spftestimonial-header-right {
155
  float: right;
156
  }
157
 
158
  /**
159
  * 01. 04. Navigation
160
  */
161
+ .spftestimonial-nav {
162
  display: block;
163
  position: relative;
164
  z-index: 10;
165
  float: left;
166
  width: 225px;
167
  }
168
+ .spftestimonial-nav ul {
169
  clear: left;
170
  margin: 0;
171
  list-style-type: none;
172
  }
173
+ .spftestimonial-nav ul li {
174
  margin-bottom: 0;
175
  }
176
+ .spftestimonial-nav ul li a {
177
  font-size: 13px;
178
  position: relative;
179
  display: block;
184
  -webkit-transition: all 0.3s ease;
185
  transition: all 0.3s ease;
186
  }
187
+ .spftestimonial-nav ul li a:focus {
188
  outline: none;
189
  -moz-box-shadow: none;
190
  -webkit-box-shadow: none;
191
  box-shadow: none;
192
  }
193
+ .spftestimonial-nav ul li .spftestimonial-section-active:after {
194
  content: " ";
195
  position: absolute;
196
  right: 0;
203
  border-width: 4px;
204
  margin-top: -4px;
205
  }
206
+ .spftestimonial-nav ul li .spftestimonial-arrow:after {
207
  content: "\f054";
208
  display: inline-block;
209
  font-family: "FontAwesome";
218
  -webkit-transform: rotate(0);
219
  transform: rotate(0);
220
  }
221
+ .spftestimonial-nav ul li.spftestimonial-tab-active .spftestimonial-arrow:after {
222
  -moz-transform: rotate(90deg);
223
  -ms-transform: rotate(90deg);
224
  -webkit-transform: rotate(90deg);
225
  transform: rotate(90deg);
226
  }
227
+ .spftestimonial-nav ul li.spftestimonial-tab-active ul {
228
  display: block;
229
  }
230
+ .spftestimonial-nav ul ul {
231
  display: none;
232
  position: relative;
233
  }
234
+ .spftestimonial-nav ul ul li a {
235
  font-size: 12px;
236
  padding: 12px 14px 12px 24px;
237
  }
238
+ .spftestimonial-nav .fa {
239
  width: 20px;
240
  margin-right: 5px;
241
  font-size: 14px;
242
  text-align: center;
243
  }
244
+ .spftestimonial-nav .spftestimonial-label-error {
245
  margin-left: 4px;
246
  vertical-align: top;
247
  }
248
 
249
+ .spftestimonial-nav-background {
250
  position: absolute;
251
  top: 0;
252
  left: 0;
258
  /**
259
  * 01. 05. Wrapper
260
  */
261
+ .spftestimonial-wrapper {
262
  position: relative;
263
  }
264
 
265
  /**
266
  * 01. 06. Content
267
  */
268
+ .spftestimonial-content {
269
  position: relative;
270
  margin-left: 225px;
271
  background-color: #fff;
278
  /**
279
  * 01. 07. Section
280
  */
281
+ .spftestimonial-sections {
282
  float: left;
283
  width: 100%;
284
  }
285
 
286
+ .spftestimonial-section {
287
  display: none;
288
  }
289
 
290
+ .spftestimonial-section-title {
291
  display: none;
292
  padding: 20px 30px;
293
  background-color: #f5f5f5;
294
  border-top: 1px solid #eee;
295
  border-bottom: 1px solid #eee;
296
  }
297
+ .spftestimonial-section-title h3 {
298
  margin: 0;
299
  padding: 0;
300
  font-size: 13px;
301
  font-weight: bold;
302
  text-transform: uppercase;
303
  }
304
+ .spftestimonial-section-title .fa {
305
  margin-right: 5px;
306
  }
307
 
308
  /**
309
  * 01. 08. Footer
310
  */
311
+ .spftestimonial-footer {
312
  padding: 20px;
313
  font-size: 11px;
314
  }
316
  /**
317
  * 01. 09. Copyright
318
  */
319
+ .spftestimonial-copyright {
320
  float: left;
321
  margin-top: 5px;
322
  }
324
  /**
325
  * 01. 10. Show All Options
326
  */
327
+ .spftestimonial-search-all .spftestimonial-nav-background,
328
+ .spftestimonial-search-all .spftestimonial-nav,
329
+ .spftestimonial-show-all .spftestimonial-nav-background,
330
+ .spftestimonial-show-all .spftestimonial-nav {
331
  display: none;
332
  }
333
+ .spftestimonial-search-all .spftestimonial-content,
334
+ .spftestimonial-show-all .spftestimonial-content {
335
  margin-left: 0;
336
  }
337
+ .spftestimonial-search-all .spftestimonial-section-title,
338
+ .spftestimonial-search-all .spftestimonial-section,
339
+ .spftestimonial-show-all .spftestimonial-section-title,
340
+ .spftestimonial-show-all .spftestimonial-section {
341
  display: block !important;
342
  }
343
 
344
+ .spftestimonial-search-all .spftestimonial-section-title {
345
  display: none !important;
346
  }
347
 
348
+ .spftestimonial-expand-all {
349
  float: left;
350
  padding: 0 8px;
351
  margin-right: 4px;
362
  -webkit-transition: all 0.2s;
363
  transition: all 0.2s;
364
  }
365
+ .spftestimonial-expand-all span {
366
  font-size: 11px;
367
  vertical-align: middle;
368
  }
370
  /**
371
  * 01. 11. Search Input
372
  */
373
+ .spftestimonial-search {
374
  float: left;
375
  }
376
+ .spftestimonial-search input {
377
  margin: 0 2px 0 0;
378
  border: none;
379
  font-size: 12px;
388
  -webkit-box-shadow: none;
389
  box-shadow: none;
390
  }
391
+ .spftestimonial-search input:focus {
392
  -moz-box-shadow: none;
393
  -webkit-box-shadow: none;
394
  box-shadow: none;
395
  }
396
 
397
+ .spftestimonial-saving .spftestimonial-buttons,
398
+ .spftestimonial-saving .spftestimonial-content {
399
  cursor: default;
400
  pointer-events: none;
401
  opacity: 0.5;
404
  /**
405
  * 01. 12. Metabox
406
  */
407
+ .spftestimonial-metabox {
408
  margin: -6px -12px -12px -12px;
409
  }
410
+ .spftestimonial-metabox .spftestimonial-section-title {
411
  padding: 20px;
412
  }
413
 
414
+ .block-editor-page .spftestimonial-metabox {
415
  margin: -6px -14px -12px -14px;
416
  }
417
 
418
+ .spftestimonial-restore-wrapper {
419
  text-align: right;
420
  padding: 10px;
421
  border-top: 1px solid #eee;
422
  }
423
+ .spftestimonial-restore-wrapper .spftestimonial-button-cancel,
424
+ .spftestimonial-restore-wrapper input {
425
  display: none;
426
  }
427
+ .spftestimonial-restore-wrapper span {
428
  -webkit-user-select: none;
429
  user-select: none;
430
  }
431
+ .spftestimonial-restore-wrapper input:checked ~ .spftestimonial-button-restore {
432
  display: none;
433
  }
434
+ .spftestimonial-restore-wrapper input:checked ~ .spftestimonial-button-cancel {
435
  display: inline-block;
436
  }
437
 
438
+ #side-sortables .spftestimonial-section-title {
439
  padding: 12px;
440
  }
441
+ #side-sortables .spftestimonial-field {
442
  padding: 12px;
443
  }
444
+ #side-sortables .spftestimonial-field .spftestimonial-title {
445
  float: none;
446
  width: 100%;
447
  margin-bottom: 10px;
448
  }
449
+ #side-sortables .spftestimonial-field .spftestimonial-fieldset {
450
  margin-left: 0;
451
  }
452
+ #side-sortables .spftestimonial-notice {
453
  padding: 12px;
454
  }
455
 
 
 
 
 
 
 
 
 
 
 
456
  /**
457
  * 01. 14. Help Tooltip
458
  */
459
+ .spftestimonial-tooltip {
460
  position: absolute;
461
  z-index: 5000001;
462
  font-size: 12px;
479
  /**
480
  * 02. 01. Theme Dark
481
  */
482
+ .spftestimonial-theme-dark .spftestimonial-header-inner {
483
  background-color: #050505;
484
  }
485
+ .spftestimonial-theme-dark .spftestimonial-header-inner h1 {
486
  color: #fff;
487
  }
488
+ .spftestimonial-theme-dark .spftestimonial-header-inner h1 small {
489
  color: #555;
490
  }
491
+ .spftestimonial-theme-dark .spftestimonial-expand-all {
492
  color: #999;
493
  background-color: #222;
494
  }
495
+ .spftestimonial-theme-dark .spftestimonial-expand-all:hover {
496
  color: #fff;
497
  background-color: #333;
498
  }
499
+ .spftestimonial-theme-dark .spftestimonial-search input {
500
  color: #fff;
501
  background-color: #222;
502
  }
503
+ .spftestimonial-theme-dark .spftestimonial-search:focus {
504
  background-color: #444;
505
  }
506
+ .spftestimonial-theme-dark .spftestimonial-search::-webkit-input-placeholder {
507
  color: #666;
508
  }
509
+ .spftestimonial-theme-dark .spftestimonial-nav ul li a {
510
  color: #999;
511
  background-color: #222;
512
  border-bottom: 1px solid #2f2f2f;
513
  }
514
+ .spftestimonial-theme-dark .spftestimonial-nav ul li a:hover {
515
  color: #fff;
516
  }
517
+ .spftestimonial-theme-dark .spftestimonial-nav ul li .spftestimonial-section-active {
518
  color: #fff;
519
  background-color: #111;
520
  }
521
+ .spftestimonial-theme-dark .spftestimonial-nav ul ul li a {
522
  background-color: #191919;
523
  border-bottom: 1px solid #2f2f2f;
524
  }
525
+ .spftestimonial-theme-dark .spftestimonial-nav ul ul li .spftestimonial-section-active {
526
  background-color: #101010;
527
  }
528
+ .spftestimonial-theme-dark .spftestimonial-nav ul ul:before {
529
  background-color: rgba(34, 34, 34, 0.75);
530
  }
531
+ .spftestimonial-theme-dark .spftestimonial-nav > ul > li:last-child > a {
532
  border-bottom: none;
533
  }
534
+ .spftestimonial-theme-dark .spftestimonial-nav-background {
535
  background-color: #222;
536
  }
537
+ .spftestimonial-theme-dark .spftestimonial-footer {
538
  color: #555;
539
  background-color: #050505;
540
  }
542
  /**
543
  * 02. 02. Theme Light
544
  */
545
+ .spftestimonial-theme-light .spftestimonial-container {
546
  border: 1px solid #e5e5e5;
547
  -moz-box-shadow: 0 0 15px rgba(0, 0, 0, 0.04);
548
  -webkit-box-shadow: 0 0 15px rgba(0, 0, 0, 0.04);
549
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.04);
550
  }
551
+ .spftestimonial-theme-light .spftestimonial-header-inner {
552
  border-bottom: 1px solid #e5e5e5;
553
  background-color: #f5f5f5;
554
  background: linear-gradient(#fefefe, #f5f5f5);
555
  }
556
+ .spftestimonial-theme-light .spftestimonial-header-inner h1 small {
557
  color: #999;
558
  }
559
+ .spftestimonial-theme-light .spftestimonial-expand-all {
560
  color: #999;
561
  background-color: #fff;
562
  -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
563
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
564
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
565
  }
566
+ .spftestimonial-theme-light .spftestimonial-expand-all:hover {
567
  color: #555;
568
  }
569
+ .spftestimonial-theme-light .spftestimonial-search input {
570
  color: #555;
571
  background-color: #fff;
572
  -moz-box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.05);
573
  -webkit-box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.05);
574
  box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.05);
575
  }
576
+ .spftestimonial-theme-light .spftestimonial-search input::-webkit-input-placeholder {
577
  color: #bbb;
578
  }
579
+ .spftestimonial-theme-light .spftestimonial-nav ul li a {
580
  color: #666;
581
  background-color: #f5f5f5;
582
  border-bottom: 1px solid #e5e5e5;
583
  }
584
+ .spftestimonial-theme-light .spftestimonial-nav ul li a:hover {
585
  color: #222;
586
  }
587
+ .spftestimonial-theme-light .spftestimonial-nav ul li .spftestimonial-section-active {
588
  color: #222;
589
  background-color: #fff;
590
  }
591
+ .spftestimonial-theme-light .spftestimonial-nav ul li .spftestimonial-section-active:after {
592
  display: none;
593
  }
594
+ .spftestimonial-theme-light .spftestimonial-nav ul ul li a {
595
  background-color: #eee;
596
  border-bottom: 1px solid #e5e5e5;
597
  }
598
+ .spftestimonial-theme-light .spftestimonial-nav > ul > li:last-child > a {
599
  border-bottom: none;
600
  }
601
+ .spftestimonial-theme-light .spftestimonial-nav-background {
602
  background-color: #f5f5f5;
603
  }
604
+ .spftestimonial-theme-light .spftestimonial-footer {
605
  color: #555;
606
  border-top: 1px solid #e5e5e5;
607
  background-color: #f5f5f5;
611
  /**
612
  * 03. Fields
613
  */
614
+ .spftestimonial-field {
615
  position: relative;
616
+ padding: 20px 30px;
 
 
 
617
  }
618
+ .spftestimonial-field p:first-child {
619
  margin-top: 0;
620
  }
621
+ .spftestimonial-field p:last-child {
622
  margin-bottom: 0;
623
  }
624
+ .spftestimonial-field:after, .spftestimonial-field:before {
625
  content: " ";
626
  display: table;
627
  }
628
+ .spftestimonial-field:after {
629
  clear: both;
630
  }
631
+ .spftestimonial-field h4 {
632
  margin-top: 0;
633
  }
634
+ .spftestimonial-field .spftestimonial-title {
635
  position: relative;
636
  width: 20%;
637
  float: left;
638
  }
639
+ .spftestimonial-field .spftestimonial-title h4 {
640
  margin: 0;
641
  color: #23282d;
642
  }
643
+ .spftestimonial-field .spftestimonial-fieldset {
644
  margin-left: 25%;
645
  }
646
 
647
+ .spftestimonial-pseudo-field {
648
  padding: 0 5px 0 0 !important;
649
  display: inline-block;
650
  }
651
+ .spftestimonial-pseudo-field + .spftestimonial-pseudo-field {
652
  border: 0;
653
  }
654
+ .spftestimonial-pseudo-field pre {
655
  display: none;
656
  }
657
 
658
  /**
659
  * 03. 02. Field: accordion
660
  */
661
+ .spftestimonial-field-accordion .spftestimonial-accordion-item {
662
  position: relative;
663
  margin-bottom: 5px;
664
  }
665
+ .spftestimonial-field-accordion .spftestimonial-accordion-item h4 {
666
  font-size: 1em;
667
  }
668
+ .spftestimonial-field-accordion .spftestimonial-accordion-title {
669
  display: block;
670
  cursor: pointer;
671
  position: relative;
679
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
680
  transition: border-color .15s;
681
  }
682
+ .spftestimonial-field-accordion .spftestimonial-accordion-title:active, .spftestimonial-field-accordion .spftestimonial-accordion-title:hover, .spftestimonial-field-accordion .spftestimonial-accordion-title:focus {
683
  outline: none;
684
  border-color: #999;
685
  }
686
+ .spftestimonial-field-accordion .spftestimonial-accordion-icon {
687
  width: 14px;
688
  text-align: center;
689
  }
690
+ .spftestimonial-field-accordion .spftestimonial--icon {
691
  width: 20px;
692
  text-align: center;
693
  }
694
+ .spftestimonial-field-accordion .spftestimonial-accordion-content {
695
  display: none;
696
  padding: 0;
697
  border: 1px solid #ccd0d4;
699
  background-color: #fff;
700
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
701
  }
702
+ .spftestimonial-field-accordion .spftestimonial-accordion-content > .spftestimonial-field {
703
  padding: 15px;
704
  }
705
+ .spftestimonial-field-accordion .spftestimonial-accordion-open {
706
  display: block;
707
  }
708
 
709
  /**
710
  * 03. 03. Field: background
711
  */
712
+ .spftestimonial-field-background .spftestimonial-field {
713
  border: 0 !important;
714
  padding: 0;
715
  margin-bottom: 6px;
716
  margin-right: 6px;
717
  }
718
+ .spftestimonial-field-background .spftestimonial--title {
719
  color: #777;
720
  font-size: 12px;
721
  }
722
+ .spftestimonial-field-background .spftestimonial--background-colors {
723
  display: flex;
724
  }
725
+ .spftestimonial-field-background .spftestimonial--background-attributes {
726
  display: flex;
727
  flex-wrap: wrap;
728
  }
729
+ .spftestimonial-field-background .spftestimonial--background-attributes select {
730
  min-width: 100%;
731
  margin: 0;
732
  }
733
+ .spftestimonial-field-background .spftestimonial--background-attributes .spftestimonial-field {
734
  flex: 1;
735
  }
736
+ .spftestimonial-field-background .spftestimonial--attributes-hidden {
737
  display: none;
738
  }
739
+ .spftestimonial-field-background .wp-color-result.button {
740
  margin-bottom: 0;
741
  }
742
 
743
  /**
744
  * 03. 04. Field: backup
745
  */
746
+ .spftestimonial-field-backup textarea {
747
  width: 100%;
748
  min-height: 200px;
749
  margin-bottom: 5px;
750
  }
751
+ .spftestimonial-field-backup small {
752
  display: inline-block;
753
  margin: 5px;
754
  }
755
+ .spftestimonial-field-backup hr {
756
  margin: 20px 0;
757
  border: none;
758
  border-bottom: 1px solid #e5e5e5;
759
  }
760
 
761
+ /**
762
+ * Field: column, custom_size
763
+ */
764
+ .spftestimonial-field-custom_size.disabled .spftestimonial-fieldset {
765
+ pointer-events: none;
766
+ opacity: 0.7;
767
+ }
768
+ .spftestimonial-field-custom_size.disabled .spftestimonial-fieldset .spf--input:after{
769
+ content: 'Pro';
770
+ text-transform: uppercase;
771
+ line-height: 30px;
772
+ margin-left: 6px;
773
+ color: #444;
774
+ }
775
+ .spftestimonial-field-column .spftestimonial--input input,
776
+ .spftestimonial-field-custom_size .spftestimonial--input input {
777
+ border-radius: 0 2px 2px 0;
778
+ }
779
+ .spftestimonial-field-column .spftestimonial--input {
780
+ float: left;
781
+ }
782
+ .spftestimonial-field-custom_size .spftestimonial--input {
783
+ float: left;
784
+ margin-right: 10px;
785
+ margin-bottom: 7px;
786
+ }
787
+ .spftestimonial-field-custom_size .spftestimonial--input input {
788
+ line-height: 30px;
789
+ float: left;
790
+ margin: 0;
791
+ padding: 0;
792
+ width: 65px;
793
+ max-width: 100%;
794
+ text-align: center;
795
+ border-radius: 0;
796
+ }
797
+ .spftestimonial-field-custom_size .spftestimonial--label.spftestimonial--label-unit {
798
+ border-right: 1px solid #ddd;
799
+ border-left: 0;
800
+ border-radius: 0 2px 2px 0;
801
+ }
802
+ .spftestimonial-field-column .spftestimonial--label,
803
+ .spftestimonial-field-custom_size .spftestimonial--label {
804
+ float: left;
805
+ max-width: 100%;
806
+ font-size: 12px;
807
+ line-height: 30px;
808
+ vertical-align: top;
809
+ text-align: center;
810
+ color: #555;
811
+ border: 1px solid #ddd;
812
+ background-color: #eee;
813
+ padding: 0 6px;
814
+ min-height: 30px;
815
+ min-width: 20px;
816
+ border-right: 0;
817
+ border-radius: 2px 0 0 2px;
818
+ }
819
+
820
  /**
821
  * 03. 05. Field: border, spacing, dimensions
822
  */
823
+ .spftestimonial-field-border .spftestimonial--inputs,
824
+ .spftestimonial-field-spacing .spftestimonial--inputs,
825
+ .spftestimonial-field-column .spftestimonial--inputs,
826
+ .spftestimonial-field-dimensions .spftestimonial--inputs {
827
  float: left;
828
  display: flex;
829
  flex-wrap: wrap;
830
  }
831
+ .spftestimonial-field-border .spftestimonial--input,
832
+ .spftestimonial-field-spacing .spftestimonial--input,
833
+ .spftestimonial-field-column .spftestimonial--input,
834
+ .spftestimonial-field-dimensions .spftestimonial--input {
835
  display: flex;
836
  padding-right: 6px;
837
  padding-bottom: 4px;
838
  box-sizing: border-box;
839
  }
840
+ .spftestimonial-field-border .spftestimonial--input select,
841
+ .spftestimonial-field-spacing .spftestimonial--input select,
842
+ .spftestimonial-field-dimensions .spftestimonial--input select {
843
  margin: 0;
844
  }
845
+ .spftestimonial-field-border .spftestimonial--input input,
846
+ .spftestimonial-field-spacing .spftestimonial--input input,
847
+ .spftestimonial-field-column .spftestimonial--input input,
848
+ .spftestimonial-field-dimensions .spftestimonial--input input {
849
  position: relative;
850
  z-index: 1;
851
  margin: 0;
853
  max-width: 100%;
854
  text-align: center;
855
  }
856
+ .spftestimonial-field-border .spftestimonial--color,
857
+ .spftestimonial-field-spacing .spftestimonial--color,
858
+ .spftestimonial-field-dimensions .spftestimonial--color {
859
  float: left;
860
  }
861
+ .spftestimonial-field-border .spftestimonial--color .spftestimonial--title{
862
+ margin-top: -22px;
863
+ }
864
+ .spftestimonial-field-border .spftestimonial--label,
865
+ .spftestimonial-field-spacing .spftestimonial--label,
866
+ .spftestimonial-field-dimensions .spftestimonial--label {
867
  display: flex;
868
  flex-direction: column;
869
  justify-content: center;
877
  border: 1px solid #7B776C;
878
  background-color: #f5f5f5;
879
  }
880
+ .spftestimonial-field-border .spftestimonial--icon,
881
+ .spftestimonial-field-spacing .spftestimonial--icon,
882
+ .spftestimonial-field-dimensions .spftestimonial--icon {
883
  border-right: 0;
884
  border-radius: 4px 0 0 4px;
885
  }
886
+ .spftestimonial-field-border .spftestimonial--icon + input,
887
+ .spftestimonial-field-spacing .spftestimonial--icon + input,
888
+ .spftestimonial-field-dimensions .spftestimonial--icon + input {
889
  border-top-left-radius: 0;
890
  border-bottom-left-radius: 0;
891
  }
892
+ .spftestimonial-field-border .spftestimonial--unit,
893
+ .spftestimonial-field-spacing .spftestimonial--unit,
894
+ .spftestimonial-field-dimensions .spftestimonial--unit {
895
  border-left: 0;
896
  border-radius: 0 4px 4px 0;
897
  }
898
+ .spftestimonial-field-border .spftestimonial--is-unit,
899
+ .spftestimonial-field-spacing .spftestimonial--is-unit,
900
+ .spftestimonial-field-dimensions .spftestimonial--is-unit {
901
  border-top-right-radius: 0;
902
  border-bottom-right-radius: 0;
903
  }
905
  /**
906
  * 03. 06. Field: button_set
907
  */
908
+ .spftestimonial-field-button_set .spftestimonial--buttons {
909
  display: inline-block;
910
  }
911
+ .spftestimonial-field-button_set .spftestimonial--button {
912
  position: relative;
913
  z-index: 1;
914
  float: left;
923
  -webkit-user-select: none;
924
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
925
  }
926
+ .spftestimonial-field-button_set .spftestimonial--button:first-child {
927
  border-radius: 4px 0 0 4px;
928
  }
929
+ .spftestimonial-field-button_set .spftestimonial--button:last-child {
930
  border-radius: 0 4px 4px 0;
931
  }
932
+ .spftestimonial-field-button_set .spftestimonial--button:not(:first-child) {
933
  margin-left: -1px;
934
  }
935
+ .spftestimonial-field-button_set .spftestimonial--button:hover {
936
  background-color: #eee;
937
  }
938
+ .spftestimonial-field-button_set .spftestimonial--active:hover,
939
+ .spftestimonial-field-button_set .spftestimonial--active {
940
  z-index: 2;
941
  color: #fff;
942
  border-color: #006799;
943
  background-color: #0085ba;
944
  }
945
+ .spftestimonial-field-button_set input {
946
  display: none;
947
  }
948
 
949
  /**
950
  * 03. 07. Field: checkbox, radio
951
  */
952
+ .spftestimonial-field-checkbox ul,
953
+ .spftestimonial-field-radio ul {
954
  margin: 0;
955
  padding: 0 1px;
956
  list-style-type: none;
957
  overflow-y: auto;
958
  max-height: 305px;
959
  }
960
+ .spftestimonial-field-checkbox ul ul,
961
+ .spftestimonial-field-radio ul ul {
962
  max-height: none;
963
  }
964
+ .spftestimonial-field-checkbox .spftestimonial--inline-list li,
965
+ .spftestimonial-field-radio .spftestimonial--inline-list li {
966
  display: inline-block;
967
  margin-right: 15px;
968
  }
969
+ .spftestimonial-field-checkbox input[type="radio"]:checked:before,
970
+ .spftestimonial-field-radio input[type="radio"]:checked:before {
971
  line-height: 10px;
972
  }
973
+ .spftestimonial-field-checkbox .spftestimonial-checker,
974
+ .spftestimonial-field-radio .spftestimonial-checker {
975
  cursor: pointer;
976
  }
977
 
978
  /**
979
  * 03. 08. Field: code_editor
980
  */
981
+ .spftestimonial-field-code_editor .CodeMirror {
982
  width: 100%;
983
  height: 400px;
984
  }
985
+ .spftestimonial-field-code_editor .cm-s-default {
986
  border: 1px solid #ccd0d4;
987
  }
988
+ .spftestimonial-field-code_editor textarea {
989
  width: 100%;
990
  height: 400px;
991
  }
993
  /**
994
  * 03. 09. Field: color
995
  */
996
+ .spftestimonial-field-color > input {
997
  opacity: 0.75;
998
  width: 115px;
999
  max-width: 100%;
1000
  }
1001
+ .spftestimonial-field-color .button.wp-picker-clear {
1002
  margin-left: 6px;
1003
  padding: 2px 8px;
1004
  }
1006
  /**
1007
  * 03. 10. Field: color_group
1008
  */
1009
+ .spftestimonial-field-color_group .spftestimonial--left {
1010
  float: left;
1011
  margin-right: 10px;
1012
  margin-bottom: 5px;
1013
  }
1014
+ .spftestimonial-field-color_group .spftestimonial--title,
1015
+ .spftestimonial-field-border .spftestimonial--color .spftestimonial--title {
1016
  color: #999;
1017
  margin-bottom: 5px;
1018
  }
1020
  /**
1021
  * 03. 11. Field: fieldset
1022
  */
1023
+ .spftestimonial-field-fieldset .spftestimonial-fieldset-content {
1024
  border: 1px solid #ccd0d4;
1025
  background-color: #fff;
1026
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
1027
  }
1028
+ .spftestimonial-field-fieldset .spftestimonial-fieldset-content > .spftestimonial-field {
1029
  padding: 15px;
1030
  }
1031
+ .spftestimonial-field-fieldset .spftestimonial-field-subheading {
1032
  font-size: 13px;
1033
  }
1034
 
1035
  /**
1036
  * 03. 12. Field: date
1037
  */
1038
+ .spftestimonial-field-date input {
1039
  margin: 0;
1040
  }
1041
+ .spftestimonial-field-date .spftestimonial--to {
1042
  margin-left: 7px;
1043
  }
1044
 
1045
+ .spftestimonial-datepicker-wrapper {
1046
  margin-top: 5px;
1047
  width: auto;
1048
  background-color: #fff;
1051
  -webkit-box-shadow: 0 0 30px rgba(0, 0, 0, 0.15);
1052
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.15);
1053
  }
1054
+ .spftestimonial-datepicker-wrapper * {
1055
  float: none;
1056
  margin: 0;
1057
  padding: 0;
1063
  border-radius: 0;
1064
  box-shadow: none;
1065
  }
1066
+ .spftestimonial-datepicker-wrapper .ui-widget-header,
1067
+ .spftestimonial-datepicker-wrapper .ui-datepicker-header {
1068
  color: #fff;
1069
  background: #00a0d2;
1070
  }
1071
+ .spftestimonial-datepicker-wrapper .ui-datepicker-header .ui-state-hover {
1072
  cursor: pointer;
1073
  }
1074
+ .spftestimonial-datepicker-wrapper .ui-datepicker-title {
1075
  font-size: 14px;
1076
  line-height: 40px;
1077
  text-align: center;
1078
  }
1079
+ .spftestimonial-datepicker-wrapper .ui-datepicker-prev,
1080
+ .spftestimonial-datepicker-wrapper .ui-datepicker-next {
1081
  position: static;
1082
  top: auto;
1083
  left: auto;
1094
  -webkit-font-smoothing: antialiased;
1095
  -moz-osx-font-smoothing: grayscale;
1096
  }
1097
+ .spftestimonial-datepicker-wrapper .ui-datepicker-next span,
1098
+ .spftestimonial-datepicker-wrapper .ui-datepicker-prev span {
1099
  display: none;
1100
  }
1101
+ .spftestimonial-datepicker-wrapper .ui-datepicker-prev {
1102
  float: left;
1103
  }
1104
+ .spftestimonial-datepicker-wrapper .ui-datepicker-next {
1105
  float: right;
1106
  }
1107
+ .spftestimonial-datepicker-wrapper .ui-datepicker-prev:before {
1108
  content: '\f053';
1109
  }
1110
+ .spftestimonial-datepicker-wrapper .ui-datepicker-next:before {
1111
  content: '\f054';
1112
  }
1113
+ .spftestimonial-datepicker-wrapper .ui-datepicker-prev-hover,
1114
+ .spftestimonial-datepicker-wrapper .ui-datepicker-next-hover {
1115
  opacity: 0.75;
1116
  }
1117
+ .spftestimonial-datepicker-wrapper tbody .ui-datepicker-week-col {
1118
  background-color: #f7f7f7;
1119
  }
1120
+ .spftestimonial-datepicker-wrapper .ui-datepicker-buttonpane {
1121
  padding: 10px;
1122
  text-align: center;
1123
  background-color: #f7f7f7;
1124
  }
1125
+ .spftestimonial-datepicker-wrapper .ui-datepicker-buttonpane button {
1126
  cursor: pointer;
1127
  margin: 0 5px;
1128
  padding: 7px 14px;
1129
  border: 1px solid #eee;
1130
  background-color: #fff;
1131
  }
1132
+ .spftestimonial-datepicker-wrapper select {
1133
  margin: 0 4px;
1134
  }
1135
+ .spftestimonial-datepicker-wrapper select option {
1136
  color: #555;
1137
  }
1138
+ .spftestimonial-datepicker-wrapper table {
1139
  font-size: 13px;
1140
  border-collapse: collapse;
1141
  width: 100%;
1142
  }
1143
+ .spftestimonial-datepicker-wrapper thead {
1144
  color: #fff;
1145
  background: #32373c;
1146
  }
1147
+ .spftestimonial-datepicker-wrapper th {
1148
  text-align: center;
1149
  padding: 7px;
1150
  border: 1px solid #444;
1151
  }
1152
+ .spftestimonial-datepicker-wrapper td {
1153
  text-align: center;
1154
  border: 1px solid #f4f4f4;
1155
  }
1156
+ .spftestimonial-datepicker-wrapper td.ui-datepicker-other-month {
1157
  border: transparent;
1158
  }
1159
+ .spftestimonial-datepicker-wrapper td .ui-state-default {
1160
  color: #555;
1161
  width: auto;
1162
  display: block;
1163
  padding: 6px 12px;
1164
  }
1165
+ .spftestimonial-datepicker-wrapper td .ui-state-active,
1166
+ .spftestimonial-datepicker-wrapper td .ui-state-hover {
1167
  color: #fff;
1168
  background-color: #0073aa;
1169
  }
1170
+ .spftestimonial-datepicker-wrapper td.ui-state-disabled .ui-state-default {
1171
  opacity: 0.5;
1172
  }
1173
 
1174
  /**
1175
  * 03. 13. Field: gallery
1176
  */
1177
+ .spftestimonial-field-gallery input {
1178
  display: none;
1179
  }
1180
+ .spftestimonial-field-gallery ul {
1181
  margin: 0;
1182
  padding: 0;
1183
  list-style-type: none;
1184
  }
1185
+ .spftestimonial-field-gallery ul li {
1186
  display: inline-block;
1187
  position: relative;
1188
  padding: 4px;
1196
  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
1197
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
1198
  }
1199
+ .spftestimonial-field-gallery ul li img {
1200
  max-height: 60px;
1201
  display: inline-block;
1202
  vertical-align: middle;
1203
  }
1204
+ .spftestimonial-field-gallery .button {
1205
  margin-right: 5px;
1206
  margin-bottom: 5px;
1207
  }
1209
  /**
1210
  * 03. 14. Field: group
1211
  */
1212
+ .spftestimonial-field-group .spftestimonial-cloneable-hidden {
1213
  display: none !important;
1214
  }
1215
+ .spftestimonial-field-group .spftestimonial-cloneable-wrapper {
1216
  position: relative;
1217
  }
1218
+ .spftestimonial-field-group .spftestimonial-cloneable-item {
1219
  display: none;
1220
  position: relative;
1221
  margin-bottom: 5px;
1222
  }
1223
+ .spftestimonial-field-group .spftestimonial-cloneable-item h4 {
1224
  font-size: 1em;
1225
  }
1226
+ .spftestimonial-field-group .ui-accordion .spftestimonial-cloneable-item {
1227
  display: block;
1228
  }
1229
+ .spftestimonial-field-group .spftestimonial-cloneable-content {
1230
  border: 1px solid #ccd0d4;
1231
  background-color: #fff;
1232
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
1233
  }
1234
+ .spftestimonial-field-group .spftestimonial-cloneable-content > .spftestimonial-field {
1235
  padding: 15px;
1236
  }
1237
+ .spftestimonial-field-group .spftestimonial-cloneable-title {
1238
  display: block;
1239
  cursor: pointer;
1240
  position: relative;
1248
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
1249
  transition: border-color .15s;
1250
  }
1251
+ .spftestimonial-field-group .spftestimonial-cloneable-title:active, .spftestimonial-field-group .spftestimonial-cloneable-title:hover, .spftestimonial-field-group .spftestimonial-cloneable-title:focus {
1252
  border-color: #999;
1253
  outline: none;
1254
  }
1255
+ .spftestimonial-field-group .spftestimonial-cloneable-helper {
1256
  position: absolute;
1257
  top: 12px;
1258
  right: 10px;
1260
  font-size: 14px;
1261
  line-height: 1em;
1262
  }
1263
+ .spftestimonial-field-group .spftestimonial-cloneable-helper i {
1264
  display: inline-block;
1265
  cursor: pointer;
1266
  padding: 5px;
1267
  color: #999;
1268
  }
1269
+ .spftestimonial-field-group .spftestimonial-cloneable-helper i:hover {
1270
  color: #555;
1271
  }
1272
+ .spftestimonial-field-group .spftestimonial-cloneable-content {
1273
  padding: 0;
1274
  border-top: 0;
1275
  }
1276
+ .spftestimonial-field-group .spftestimonial-cloneable-title-prefix,
1277
+ .spftestimonial-field-group .spftestimonial-cloneable-title-number {
1278
  margin-right: 5px;
1279
  }
1280
+ .spftestimonial-field-group .spftestimonial-cloneable-alert {
1281
  display: none;
1282
  margin-bottom: 5px;
1283
  padding: 10px 20px;
1285
  border: 1px solid #ebccd1;
1286
  background-color: #f2dede;
1287
  }
1288
+ .spftestimonial-field-group .widget-placeholder {
1289
  margin-bottom: 10px;
1290
  border: 1px dashed #f1c40f;
1291
  background-color: #fffae4;
1292
  }
1293
+ .spftestimonial-field-group .spftestimonial-cloneable-header-icon {
1294
  display: inline-block;
1295
  text-align: center;
1296
  font-size: 14px;
1298
  text-indent: 0;
1299
  vertical-align: text-top;
1300
  }
1301
+ .spftestimonial-field-group .spftestimonial-cloneable-placeholder {
1302
  background-color: #ddd;
1303
  margin-top: 4px;
1304
  width: 100px;
1310
  border-radius: 2px;
1311
  }
1312
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1313
  /**
1314
  * 03. 16. Field: image_select
1315
  */
1316
+ .spftestimonial-field-image_select .spftestimonial--image p {
1317
+ margin: 6px 0 0 0;
1318
+ font-weight: 600;
1319
+ }
1320
+ .spftestimonial-field-image_select .spftestimonial--image {
1321
  cursor: pointer;
1322
  position: relative;
1323
  display: inline-block;
1324
+ text-align: center;
1325
  max-width: 100%;
1326
+ margin: 0 10px 7px 0;
1327
+ vertical-align: top;
 
1328
  background-color: #fff;
1329
  user-select: none;
1330
  -webkit-user-select: none;
1333
  -webkit-transition: all 0.2s;
1334
  transition: all 0.2s;
1335
  }
1336
+ .spftestimonial-field-image_select .spftestimonial--image:before {
1337
  position: absolute;
1338
  top: 0;
1339
+ right: 0;
1340
  text-align: center;
1341
  font-size: 11px;
1342
  font-family: FontAwesome;
1346
  line-height: 15px;
1347
  opacity: 0;
1348
  color: #fff;
1349
+ background-color: #52b3d9;
1350
  transition: opacity .2s;
1351
  }
1352
+ .spftestimonial-field-image_select .spftestimonial--active img{
1353
+ border-color: #52b3d9;
1354
+ outline: 3px solid #52b3d9;
1355
+ outline-offset: -3px;
1356
  }
1357
+ .spftestimonial-field-image_select .spftestimonial--active:before {
1358
  opacity: 1;
1359
  }
1360
+ .spftestimonial-field-image_select img {
1361
  vertical-align: top;
1362
  }
1363
+ .spftestimonial-field-image_select input {
1364
  display: none;
1365
  }
1366
 
1367
  /**
1368
  * 03. 17. Field: link_color
1369
  */
1370
+ .spftestimonial-field-link_color .spftestimonial--left {
1371
  float: left;
1372
  margin-right: 10px;
1373
  margin-bottom: 5px;
1374
  }
1375
+ .spftestimonial-field-link_color .spftestimonial--title {
1376
  color: #777;
1377
  margin-bottom: 5px;
1378
  }
1380
  /**
1381
  * 03. 18. Field: map
1382
  */
1383
+ .spftestimonial-field-map input {
1384
  width: 100%;
1385
  }
1386
+ .spftestimonial-field-map input[type="text"].ui-autocomplete-loading {
1387
  background-position-x: calc(100% - 5px);
1388
  }
1389
+ .spftestimonial-field-map .spftestimonial--map-search + .spftestimonial--map-osm-wrap {
1390
  margin-top: 10px;
1391
  }
1392
+ .spftestimonial-field-map .spftestimonial--map-osm-wrap {
1393
  position: relative;
1394
  padding: 5px;
1395
  border: 1px solid #eee;
1396
  background-color: #fff;
1397
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
1398
  }
1399
+ .spftestimonial-field-map .spftestimonial--map-osm {
1400
  position: relative;
1401
  z-index: 1;
1402
  min-height: 250px;
1403
  }
1404
+ .spftestimonial-field-map .spftestimonial--map-inputs {
1405
  margin-top: 10px;
1406
  display: flex;
1407
  justify-content: space-between;
1408
  }
1409
+ .spftestimonial-field-map .spftestimonial--map-input {
1410
  flex: 1;
1411
  }
1412
+ .spftestimonial-field-map .spftestimonial--map-input:last-child {
1413
  padding-left: 10px;
1414
  }
1415
+ .spftestimonial-field-map label {
1416
  display: block;
1417
  color: #777;
1418
  font-size: 12px;
1419
  margin: 0 0 2px 0;
1420
  }
1421
 
1422
+ .spftestimonial-map-ui-autocomplate {
1423
  z-index: 999999;
1424
  border-radius: 4px;
1425
  overflow: hidden;
1428
  /**
1429
  * 03. 19. Field: media
1430
  */
1431
+ .spftestimonial-field-media .spftestimonial--placeholder {
1432
  display: flex;
1433
  }
1434
+ .spftestimonial-field-media .spftestimonial--placeholder input {
1435
  width: 100%;
1436
  margin: 0;
1437
  }
1438
+ .spftestimonial-field-media .button {
1439
  margin-left: 5px;
1440
  }
1441
+ .spftestimonial-field-media .hidden + .button {
1442
  margin-left: 0;
1443
  }
1444
+ .spftestimonial-field-media .spftestimonial--preview {
1445
  position: relative;
1446
  }
1447
+ .spftestimonial-field-media .spftestimonial--preview .fa-times {
1448
  position: absolute;
1449
  z-index: 1;
1450
  right: 4px;
1460
  opacity: 0.8;
1461
  transition: all .2s;
1462
  }
1463
+ .spftestimonial-field-media .spftestimonial--preview .fa-times:hover {
1464
  opacity: 1;
1465
  }
1466
+ .spftestimonial-field-media .spftestimonial--preview .fa-times:focus {
1467
  box-shadow: none;
1468
  }
1469
 
1470
  /**
1471
  * 03. 20. Field: palette
1472
  */
1473
+ .spftestimonial-field-palette .spftestimonial--palette {
1474
  position: relative;
1475
  display: inline-block;
1476
  cursor: pointer;
1481
  -webkit-user-select: none;
1482
  transition: all .2s;
1483
  }
1484
+ .spftestimonial-field-palette .spftestimonial--palette span {
1485
  vertical-align: middle;
1486
  display: inline-block;
1487
  width: 22px;
1490
  overflow: hidden;
1491
  text-indent: -999px;
1492
  }
1493
+ .spftestimonial-field-palette .spftestimonial--palette:before {
1494
  position: absolute;
1495
  top: 0;
1496
  left: 0;
1506
  background-color: #222;
1507
  transition: opacity .2s;
1508
  }
1509
+ .spftestimonial-field-palette .spftestimonial--active {
1510
  border-color: #222;
1511
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
1512
  }
1513
+ .spftestimonial-field-palette .spftestimonial--active:before {
1514
  opacity: 1;
1515
  }
1516
+ .spftestimonial-field-palette input {
1517
  display: none;
1518
  }
1519
 
1520
  /**
1521
  * 03. 21. Field: repeater
1522
  */
1523
+ .spftestimonial-field-repeater .spftestimonial-field-text input {
1524
  width: 100%;
1525
  }
1526
+ .spftestimonial-field-repeater .spftestimonial-repeater-hidden {
1527
  display: none !important;
1528
  }
1529
+ .spftestimonial-field-repeater .spftestimonial-repeater-wrapper .spftestimonial-repeater-item {
1530
  display: table;
1531
  width: 100%;
1532
  margin-bottom: 5px;
1533
  border: 1px solid #eee;
1534
  }
1535
+ .spftestimonial-field-repeater .spftestimonial-repeater-wrapper .spftestimonial-repeater-item h4 {
1536
  font-size: 1em;
1537
  }
1538
+ .spftestimonial-field-repeater .spftestimonial-repeater-content {
1539
  width: 100%;
1540
  display: table-cell;
1541
  vertical-align: middle;
1542
  background-color: #fff;
1543
  }
1544
+ .spftestimonial-field-repeater .spftestimonial-repeater-content > .spftestimonial-field {
1545
  padding: 15px;
1546
  }
1547
+ .spftestimonial-field-repeater .spftestimonial-repeater-helper {
1548
  width: 100%;
1549
  display: table-cell;
1550
  vertical-align: middle;
1554
  border-left: 1px solid #eee;
1555
  background-color: #f7f7f7;
1556
  }
1557
+ .spftestimonial-field-repeater .spftestimonial-repeater-helper i {
1558
  display: inline-block;
1559
  cursor: pointer;
1560
  color: #999;
1561
  padding: 5px;
1562
  }
1563
+ .spftestimonial-field-repeater .spftestimonial-repeater-helper i:hover {
1564
  color: #555;
1565
  }
1566
+ .spftestimonial-field-repeater .spftestimonial-repeater-helper-inner {
1567
  width: 75px;
1568
  }
1569
+ .spftestimonial-field-repeater .spftestimonial-repeater-alert {
1570
  display: none;
1571
  margin-bottom: 5px;
1572
  padding: 10px 20px;
1574
  border: 1px solid #ebccd1;
1575
  background-color: #f2dede;
1576
  }
1577
+ .spftestimonial-field-repeater .widget-placeholder {
1578
  height: 50px;
1579
  margin-bottom: 3px;
1580
  border: 1px dashed #f1c40f;
1581
  background-color: #fffae4;
1582
  }
1583
+ .spftestimonial-field-repeater .ui-sortable-helper {
1584
  height: 50px !important;
1585
  overflow: hidden !important;
1586
  border-color: #ccc !important;
1587
  background-color: #eee !important;
1588
  opacity: 0.5;
1589
  }
1590
+ .spftestimonial-field-repeater .ui-sortable-helper .spftestimonial-repeater-helper,
1591
+ .spftestimonial-field-repeater .ui-sortable-helper .spftestimonial-repeater-content {
1592
  display: none;
1593
  }
1594
 
1595
  /**
1596
  * 03. 22. Field: select
1597
  */
1598
+ .spftestimonial-field-select .spftestimonial-fieldset {
1599
  min-height: 30px;
1600
  }
1601
+ .spftestimonial-field-select .spftestimonial-chosen {
1602
  display: none;
1603
  }
1604
+ .spftestimonial-field-select select {
1605
  max-width: 100%;
1606
  margin: 0;
1607
  }
1609
  /**
1610
  * 03. 23. Field: slider
1611
  */
1612
+ .spftestimonial-field-slider .spftestimonial--wrap {
1613
  display: flex;
1614
  align-items: center;
1615
  }
1616
+ .spftestimonial-field-slider .spftestimonial--input {
1617
  display: flex;
1618
  }
1619
+ .spftestimonial-field-slider .spftestimonial--unit {
1620
  display: flex;
1621
  justify-content: center;
1622
  flex-direction: column;
1630
  border-left: 0;
1631
  background-color: #f5f5f5;
1632
  }
1633
+ .spftestimonial-field-slider input[type=number] {
1634
  position: relative;
1635
  z-index: 1;
1636
  width: 50px;
1637
  margin: 0 0 0 15px;
1638
  text-align: center;
1639
  }
1640
+ .spftestimonial-field-slider .spftestimonial--is-unit {
1641
  border-top-right-radius: 0;
1642
  border-bottom-right-radius: 0;
1643
  }
1644
+ .spftestimonial-field-slider .ui-slider {
1645
  position: relative;
1646
  width: 100%;
1647
  height: 3px;
1649
  background: #ddd;
1650
  border-radius: 2px;
1651
  }
1652
+ .spftestimonial-field-slider .ui-slider-range {
1653
  height: 3px;
1654
  border: none;
1655
  background: #333;
1656
  border-radius: 2px;
1657
  }
1658
+ .spftestimonial-field-slider .ui-slider-handle {
1659
  position: absolute;
1660
  width: 16px;
1661
  height: 16px;
1665
  background: #333;
1666
  border-radius: 2px;
1667
  }
1668
+ .spftestimonial-field-slider .ui-state-active,
1669
+ .spftestimonial-field-slider .ui-slider-handle:hover {
1670
  cursor: pointer;
1671
  background: #111;
1672
  }
1674
  /**
1675
  * 03. 24. Field: sortable
1676
  */
1677
+ .spftestimonial-field-sortable .spftestimonial-field-text input {
1678
  width: 100%;
1679
  max-width: 100%;
1680
  }
1681
+ .spftestimonial-field-sortable .spftestimonial--sortable .spftestimonial--sortable-item {
1682
  display: table;
1683
  width: 100%;
1684
  margin-bottom: 5px;
1685
  border: 1px solid #eee;
1686
  }
1687
+ .spftestimonial-field-sortable .spftestimonial--sortable .spftestimonial--sortable-item h4 {
1688
  font-size: 1em;
1689
  }
1690
+ .spftestimonial-field-sortable .spftestimonial--sortable-content {
1691
  width: 100%;
1692
  display: table-cell;
1693
  vertical-align: middle;
1694
  background-color: #fff;
1695
  }
1696
+ .spftestimonial-field-sortable .spftestimonial--sortable-content > .spftestimonial-field {
1697
  padding: 15px;
1698
  }
1699
+ .spftestimonial-field-sortable .spftestimonial--sortable-helper {
1700
  width: 100%;
1701
  display: table-cell;
1702
  vertical-align: middle;
1706
  border-left: 1px solid #eee;
1707
  background-color: #f7f7f7;
1708
  }
1709
+ .spftestimonial-field-sortable .spftestimonial--sortable-helper .fa {
1710
  display: inline-block;
1711
  cursor: pointer;
1712
  width: 50px;
1713
  color: #555;
1714
  }
1715
+ .spftestimonial-field-sortable .spftestimonial--sortable-helper .fa:hover {
1716
  opacity: 0.5;
1717
  }
1718
+ .spftestimonial-field-sortable .widget-placeholder {
1719
  height: 50px;
1720
  margin-bottom: 3px;
1721
  border: 1px dashed #f1c40f;
1722
  background-color: #fffae4;
1723
  }
1724
+ .spftestimonial-field-sortable .ui-sortable-helper {
1725
  height: 50px !important;
1726
  overflow: hidden !important;
1727
  border-color: #ccc !important;
1728
  background-color: #eee !important;
1729
  opacity: 0.5;
1730
  }
1731
+ .spftestimonial-field-sortable .ui-sortable-helper .spftestimonial--sortable-helper,
1732
+ .spftestimonial-field-sortable .ui-sortable-helper .spftestimonial--sortable-content {
1733
  display: none;
1734
  }
1735
 
1736
  /**
1737
  * 03. 25. Field: sorter
1738
  */
1739
+ .spftestimonial-field-sorter .ui-sortable-placeholder {
1740
  height: 20px;
1741
  border: 1px dashed #f1c40f;
1742
  background-color: #fffae4;
1743
  }
1744
+ .spftestimonial-field-sorter .spftestimonial-modules {
1745
  float: left;
1746
  width: 50%;
1747
  box-sizing: border-box;
1748
  }
1749
+ .spftestimonial-field-sorter .spftestimonial-modules:first-child {
1750
  padding-right: 15px;
1751
  }
1752
+ .spftestimonial-field-sorter .spftestimonial-modules:last-child {
1753
  padding-left: 15px;
1754
  }
1755
+ .spftestimonial-field-sorter .spftestimonial-disabled,
1756
+ .spftestimonial-field-sorter .spftestimonial-enabled {
1757
  padding: 5px 15px;
1758
  border: 1px dashed #ddd;
1759
  background-color: #fff;
1760
  }
1761
+ .spftestimonial-field-sorter .spftestimonial-disabled li {
1762
  -moz-transition: opacity 0.15s;
1763
  -o-transition: opacity 0.15s;
1764
  -webkit-transition: opacity 0.15s;
1765
  transition: opacity 0.15s;
1766
  opacity: 0.5;
1767
  }
1768
+ .spftestimonial-field-sorter .spftestimonial-disabled .ui-sortable-helper {
1769
  opacity: 1;
1770
  }
1771
+ .spftestimonial-field-sorter .spftestimonial-sorter-title {
1772
  font-size: 13px;
1773
  font-weight: 600;
1774
  padding: 10px;
1778
  background-color: #f8f8f8;
1779
  text-transform: uppercase;
1780
  }
1781
+ .spftestimonial-field-sorter ul {
1782
  list-style-type: none;
1783
  margin: 0;
1784
  padding: 0;
1785
  min-height: 62px;
1786
  }
1787
+ .spftestimonial-field-sorter ul li {
1788
  margin: 10px 0;
1789
  padding: 10px 15px;
1790
  cursor: move;
1797
  -webkit-transition: border-color 0.15s;
1798
  transition: border-color 0.15s;
1799
  }
1800
+ .spftestimonial-field-sorter ul li:hover {
1801
  border-color: #bbb;
1802
  }
1803
 
1804
  /**
1805
  * 03. 26. Field: spinner
1806
  */
1807
+ .spftestimonial-field-spinner .spftestimonial--spin {
1808
  display: flex;
1809
  }
1810
+ .spftestimonial-field-spinner .ui-spinner {
1811
  display: flex;
1812
  }
1813
+ .spftestimonial-field-spinner .ui-button-text-only {
1814
  display: flex;
1815
  flex-direction: column;
1816
  justify-content: center;
1821
  border: 1px solid #7e8993;
1822
  background-color: #f5f5f5;
1823
  }
1824
+ .spftestimonial-field-spinner .ui-button {
1825
  cursor: pointer;
1826
  }
1827
+ .spftestimonial-field-spinner .ui-button:hover {
1828
  background-color: #e7e7e7;
1829
  }
1830
+ .spftestimonial-field-spinner .ui-button:active {
1831
  background-color: #ddd;
1832
  }
1833
+ .spftestimonial-field-spinner .ui-button:before {
1834
  font-family: FontAwesome;
1835
  font-size: 14px;
1836
  }
1837
+ .spftestimonial-field-spinner .ui-spinner-down {
1838
  order: 1;
1839
  border-right: 0;
1840
  border-radius: 4px 0 0 4px;
1841
  }
1842
+ .spftestimonial-field-spinner .ui-spinner-down:before {
1843
  content: "\f0d9";
1844
  }
1845
+ .spftestimonial-field-spinner .ui-spinner-input {
1846
  order: 2;
1847
  }
1848
+ .spftestimonial-field-spinner .spftestimonial--unit {
1849
  order: 3;
1850
  border-left: 0;
1851
  user-select: none;
1852
  }
1853
+ .spftestimonial-field-spinner .ui-spinner-up {
1854
  order: 4;
1855
  border-left: 0;
1856
  border-radius: 0 4px 4px 0;
1857
  }
1858
+ .spftestimonial-field-spinner .ui-spinner-up:before {
1859
  content: "\f0da";
1860
  }
1861
+ .spftestimonial-field-spinner input {
1862
  position: relative;
1863
  z-index: 1;
1864
  width: 50px;
1867
  padding: 0 8px;
1868
  border-radius: 0;
1869
  }
1870
+ .spftestimonial-field-spinner .ui-button-text {
1871
  display: none;
1872
  }
1873
 
1874
  /**
1875
  * 03. 27. Field: switcher
1876
  */
1877
+ .spftestimonial-field-switcher .spftestimonial--switcher {
1878
  float: left;
1879
  cursor: pointer;
1880
  position: relative;
1888
  user-select: none;
1889
  -webkit-user-select: none;
1890
  }
1891
+ .spftestimonial-field-switcher .spftestimonial--ball {
1892
  position: absolute;
1893
  top: 4px;
1894
  left: 4px;
1899
  transition: all .1s;
1900
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.15);
1901
  }
1902
+ .spftestimonial-field-switcher .spftestimonial--on,
1903
+ .spftestimonial-field-switcher .spftestimonial--off {
1904
  position: absolute;
1905
  top: 0;
1906
  left: 0;
1916
  opacity: 0;
1917
  transition: all .1s;
1918
  }
1919
+ .spftestimonial-field-switcher .spftestimonial--off {
1920
  padding-right: 0;
1921
  padding-left: 28px;
1922
  opacity: 1;
1923
  }
1924
+ .spftestimonial-field-switcher .spftestimonial--active {
1925
  background: #4fb845;
1926
  }
1927
+ .spftestimonial-field-switcher .spftestimonial--active .spftestimonial--on {
1928
  opacity: 1;
1929
  }
1930
+ .spftestimonial-field-switcher .spftestimonial--active .spftestimonial--off {
1931
  opacity: 0;
1932
  }
1933
+ .spftestimonial-field-switcher .spftestimonial--active .spftestimonial--ball {
1934
  left: 100%;
1935
  margin-left: -28px;
1936
  }
1937
+ .spftestimonial-field-switcher .spftestimonial--label {
1938
  float: left;
1939
  margin-top: 4px;
1940
  margin-left: 8px;
1941
  font-weight: 400;
1942
  color: #999;
1943
  }
1944
+ .spftestimonial-field-switcher input {
1945
  display: none;
1946
  }
1947
 
1948
  /**
1949
  * 03. 28. Field: tabbed
1950
  */
1951
+ .spftestimonial-field-tabbed .spftestimonial-tabbed-section {
1952
  border: 1px solid #ccd0d4;
1953
  background-color: #fff;
1954
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
1955
  }
1956
+ .spftestimonial-field-tabbed .spftestimonial-tabbed-section > .spftestimonial-field {
1957
  padding: 15px;
1958
  }
1959
+ .spftestimonial-field-tabbed .spftestimonial-tabbed-nav .spftestimonial--icon {
1960
  padding-right: 5px;
1961
  }
1962
+ .spftestimonial-field-tabbed .spftestimonial-tabbed-nav a {
1963
  display: inline-block;
1964
  padding: 12px 15px;
1965
  margin-top: 1px;
1973
  background-color: #f3f3f3;
1974
  transition: all .2s;
1975
  }
1976
+ .spftestimonial-field-tabbed .spftestimonial-tabbed-nav a:hover {
1977
  background-color: #f9f9f9;
1978
  }
1979
+ .spftestimonial-field-tabbed .spftestimonial-tabbed-nav a.spftestimonial-tabbed-active {
1980
  background-color: #fff;
1981
  border-bottom-color: #fff;
1982
  }
1983
+ .spftestimonial-field-tabbed .spftestimonial-tabbed-nav a:focus {
1984
  outline: none;
1985
  -moz-box-shadow: none;
1986
  -webkit-box-shadow: none;
1990
  /**
1991
  * 03. 29. Field: text
1992
  */
1993
+ .spftestimonial-field-text input {
1994
  width: 50%;
1995
  max-width: 100%;
1996
  margin: 0;
1999
  /**
2000
  * 03. 30. Field: textarea
2001
  */
2002
+ .spftestimonial-field-textarea textarea {
2003
  width: 100%;
2004
  max-width: 100%;
2005
  min-height: 125px;
2006
  }
 
 
 
 
2007
 
2008
  /**
2009
  * 03. 31. Field: typography
2010
  */
2011
+ .spftestimonial-field-typography textarea,
2012
+ .spftestimonial-field-typography select {
2013
  min-width: 100%;
2014
  margin: 0;
2015
  }
2016
+ .spftestimonial-field-typography .spftestimonial--title {
2017
  color: #777;
2018
  margin: 0 0 2px 0;
2019
  font-size: 12px;
2020
  }
2021
+ .spftestimonial-field-typography .spftestimonial--title small {
2022
  vertical-align: top;
2023
  }
2024
+ .spftestimonial-field-typography .spftestimonial--blocks {
2025
  display: flex;
2026
  flex-wrap: wrap;
2027
  }
2028
+ .spftestimonial-field-typography .spftestimonial--block {
2029
  flex: 1;
2030
  padding-right: 6px;
2031
  padding-bottom: 6px;
2032
  }
2033
+ .spftestimonial-field-typography .spftestimonial--input {
2034
  margin: 0;
2035
  min-width: 100%;
2036
  }
2037
+ .spftestimonial-field-typography .spftestimonial--input-wrap {
2038
  position: relative;
2039
  }
2040
+ .spftestimonial-field-typography .spftestimonial--unit {
2041
  position: absolute;
2042
  z-index: 1;
2043
  right: 4px;
2054
  justify-content: center;
2055
  flex-direction: column;
2056
  }
2057
+ .spftestimonial-field-typography .spftestimonial--preview {
2058
  font-size: 16px;
2059
  line-height: 20px;
2060
  padding: 20px;
2066
  -webkit-user-select: none;
2067
  transition: background-color .2s, border-color .2s;
2068
  }
2069
+ .spftestimonial-field-typography .spftestimonial--block-preview {
2070
  cursor: pointer;
2071
  position: relative;
2072
  overflow: hidden;
2073
  margin-top: 10px;
2074
  max-width: 100%;
2075
  }
2076
+ .spftestimonial-field-typography .spftestimonial--black-background {
2077
  border-color: #000;
2078
  background-color: #000;
2079
  }
2080
+ .spftestimonial-field-typography .spftestimonial--toggle {
2081
  position: absolute;
2082
  top: 5px;
2083
  right: 10px;
2084
  color: #999;
2085
  }
2086
+ .spftestimonial-field-typography .spftestimonial--block-extra-styles {
2087
  margin-top: 5px;
2088
  }
2089
 
2090
  /**
2091
  * 03. 32. Field: upload
2092
  */
2093
+ .spftestimonial-field-upload input {
2094
  width: 100%;
2095
  margin: 0;
2096
  }
2097
+ .spftestimonial-field-upload .spftestimonial--wrap {
2098
  display: flex;
2099
  }
2100
+ .spftestimonial-field-upload .button {
2101
  margin-left: 5px;
2102
  }
2103
 
2104
  /**
2105
  * 03. 33. Field: wp_editor
2106
  */
2107
+ .spftestimonial-field-wp_editor .spftestimonial-wp-editor {
2108
  float: left;
2109
  width: 100%;
2110
  }
2111
+ .spftestimonial-field-wp_editor .mce-toolbar-grp {
2112
  border: none;
2113
  }
2114
+ .spftestimonial-field-wp_editor .mce-btn.mce-active button,
2115
+ .spftestimonial-field-wp_editor .mce-btn.mce-active:hover button,
2116
+ .spftestimonial-field-wp_editor .mce-btn.mce-active i,
2117
+ .spftestimonial-field-wp_editor .mce-btn.mce-active:hover i {
2118
  color: #23282d;
2119
  }
2120
+ .spftestimonial-field-wp_editor .wp-media-buttons {
2121
  position: relative;
2122
  z-index: 2;
2123
  }
2124
+ .spftestimonial-field-wp_editor .wp-editor-tabs {
2125
  position: relative;
2126
  z-index: 1;
2127
  }
2128
+ .spftestimonial-field-wp_editor .spftestimonial-no-tinymce {
2129
  border: 1px solid #e5e5e5;
2130
  }
2131
+ .spftestimonial-field-wp_editor .spftestimonial-no-quicktags .wp-media-buttons {
2132
  float: none;
2133
  display: block;
2134
  }
2135
+ .spftestimonial-field-wp_editor .spftestimonial-no-quicktags .mce-tinymce {
2136
  box-shadow: none;
2137
  border: 1px solid #e5e5e5;
2138
  }
2139
+ .spftestimonial-field-wp_editor textarea {
2140
  width: 100%;
2141
  max-width: 100%;
2142
  margin: 0;
2146
  /**
2147
  * 03. 34. Field: heading
2148
  */
2149
+ .spftestimonial-field-heading {
2150
  font-size: 1.5em;
2151
  font-weight: bold;
2152
  color: #23282d;
2156
  /**
2157
  * 03. 35. Field: subheading
2158
  */
2159
+ .spftestimonial-field-subheading {
2160
  font-size: 14px;
2161
  font-weight: bold;
2162
  padding-top: 17px;
2168
  /**
2169
  * 03. 36. Field: submessage
2170
  */
2171
+ .spftestimonial-field-submessage {
2172
  padding: 0 !important;
2173
  border: 0 !important;
2174
  }
2175
+ .spftestimonial-field-submessage + .spftestimonial-field {
2176
  border-top: 0 !important;
2177
  }
2178
 
2179
+ .spftestimonial-submessage {
2180
  font-size: 12px;
2181
  padding: 17px 30px;
2182
  border-top: 1px solid transparent;
2183
  border-bottom: 1px solid transparent;
2184
  }
2185
 
2186
+ .spftestimonial-submessage-success {
2187
  color: #3c763d;
2188
  border-color: #d6e9c6;
2189
  background-color: #dff0d8;
2190
  }
2191
 
2192
+ .spftestimonial-submessage-info {
2193
  color: #31708f;
2194
  border-color: #bce8f1;
2195
  background-color: #d9edf7;
2196
  }
2197
 
2198
+ .spftestimonial-submessage-warning {
2199
  color: #8a6d3b;
2200
  border-color: #faebcc;
2201
  background-color: #fcf8e3;
2202
  }
2203
 
2204
+ .spftestimonial-submessage-danger {
2205
  color: #a94442;
2206
  border-color: #ebccd1;
2207
  background-color: #f2dede;
2208
  }
2209
 
2210
+ .spftestimonial-submessage-normal {
2211
  color: #23282d;
2212
  border-color: #eee;
2213
  background-color: #f7f7f7;
2216
  /**
2217
  * 03. 37. Field: notice
2218
  */
2219
+ .spftestimonial-field-notice {
2220
  background-color: #f7f7f7;
2221
  }
2222
 
2223
+ .spftestimonial-notice {
2224
  padding: 12px;
2225
  background-color: #fff;
2226
  border-left-style: solid;
2228
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
2229
  }
2230
 
2231
+ .spftestimonial-notice-success {
2232
  border-color: #46b450;
2233
  }
2234
 
2235
+ .spftestimonial-notice-info {
2236
  border-color: #339fd4;
2237
  }
2238
 
2239
+ .spftestimonial-notice-warning {
2240
  border-color: #ffbc00;
2241
  }
2242
 
2243
+ .spftestimonial-notice-danger {
2244
  border-color: #dc3232;
2245
  }
2246
 
2247
+ .spftestimonial-notice-normal {
2248
  border-color: #222;
2249
  }
2250
 
2251
  /**
2252
  * 03. 38. Field: number
2253
  */
2254
+ .spftestimonial-field-number input {
2255
  width: 100%;
2256
  margin: 0;
2257
  }
2258
+ .spftestimonial-field-number .spftestimonial--wrap {
2259
  position: relative;
2260
  float: left;
2261
  width: 100px;
2262
  }
2263
+ .spftestimonial-field-number .spftestimonial--unit {
2264
  position: absolute;
2265
  z-index: 1;
2266
  right: 4px;
2281
  /**
2282
  * 03. 39. others
2283
  */
2284
+ .spftestimonial-help {
2285
  cursor: help;
2286
  position: absolute;
2287
  top: 0;
2290
  font-size: 14px;
2291
  color: #aaa;
2292
  }
2293
+ .spftestimonial-help .spftestimonial-help-text {
2294
  display: none;
2295
  }
2296
 
2297
+ .spftestimonial-image-preview {
2298
  display: inline-block;
2299
  position: relative;
2300
  padding: 4px;
2307
  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
2308
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
2309
  }
2310
+ .spftestimonial-image-preview img {
2311
  max-height: 90px;
2312
  display: inline-block;
2313
  vertical-align: middle;
2314
  }
2315
 
2316
+ .spftestimonial-field-custom .spftestimonial-field {
2317
  padding: 0;
2318
  }
2319
 
2320
+ .spftestimonial-field .chosen-container-single .chosen-single {
2321
  height: 28px;
2322
  line-height: 26px;
2323
  }
2324
+ .spftestimonial-field .chosen-container-single .chosen-single abbr {
2325
  top: 0;
2326
  right: 20px;
2327
  font-family: FontAwesome;
2332
  text-align: center;
2333
  background: none;
2334
  }
2335
+ .spftestimonial-field .chosen-container-single .chosen-single abbr:before {
2336
  content: "\f00d";
2337
  }
2338
+ .spftestimonial-field .chosen-container-single .chosen-single abbr:hover {
2339
  color: #555;
2340
  }
2341
+ .spftestimonial-field .chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
2342
  font-family: FontAwesome;
2343
  font-size: 12px;
2344
  height: 100%;
2347
  text-align: center;
2348
  background: none;
2349
  }
2350
+ .spftestimonial-field .chosen-container-multi .chosen-choices li.search-choice .search-choice-close:before {
2351
  content: "\f00d";
2352
  display: inline-block;
2353
  padding-top: 3px;
2354
  }
2355
+ .spftestimonial-field .chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover {
2356
  color: #555;
2357
  }
2358
+ .spftestimonial-field .chosen-container-single .chosen-single div b {
2359
  font-family: FontAwesome;
2360
  font-size: 14px;
2361
  color: #aaa;
2362
  background: none;
2363
  }
2364
+ .spftestimonial-field .chosen-container-single .chosen-single div b:before {
2365
  content: "\f107";
2366
  }
2367
+ .spftestimonial-field .chosen-container-single .chosen-single div b:hover {
2368
  color: #555;
2369
  }
2370
+ .spftestimonial-field .chosen-container-multi .chosen-choices li.search-choice-placeholder {
2371
  border: 1px dashed #aaa;
2372
  margin: 3px 5px 3px 0;
2373
  }
2374
+ .spftestimonial-field .chosen-container-multi .ui-sortable li.search-choice span {
2375
  cursor: move;
2376
  }
2377
+ .spftestimonial-field .chosen-container-active.chosen-with-drop .chosen-single div b:before {
2378
  content: "\f106";
2379
  }
2380
+ .spftestimonial-field .chosen-container-single .chosen-single-with-deselect span {
2381
  margin-right: 40px;
2382
  }
2383
+ .spftestimonial-field .chosen-container-single .chosen-search input[type="text"] {
2384
  background: none;
2385
  }
2386
+ .spftestimonial-field .chosen-container-single .chosen-search:before {
2387
  font-family: FontAwesome;
2388
  position: absolute;
2389
  content: "\f002";
2392
  top: 7px;
2393
  color: #aaa;
2394
  }
2395
+ .spftestimonial-field .wp-picker-container {
2396
  display: inline-block;
2397
  }
2398
+ .spftestimonial-field .spftestimonial--transparent-wrap {
2399
  display: none;
2400
  position: relative;
2401
  top: -1px;
2405
  border-top: none;
2406
  background-color: #fff;
2407
  }
2408
+ .spftestimonial-field .wp-picker-active .spftestimonial--transparent-wrap {
2409
  display: block;
2410
  }
2411
+ .spftestimonial-field .spftestimonial--transparent-slider {
2412
  position: absolute;
2413
  width: 190px;
2414
  margin-left: 2px;
2415
  height: 18px;
2416
  }
2417
+ .spftestimonial-field .spftestimonial--transparent-slider .ui-slider-handle {
2418
  position: absolute;
2419
  top: -3px;
2420
  bottom: -3px;
2435
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
2436
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
2437
  }
2438
+ .spftestimonial-field .spftestimonial--transparent-slider .ui-slider-handle:before {
2439
  content: " ";
2440
  position: absolute;
2441
  left: -2px;
2447
  -webkit-border-radius: 3px;
2448
  border-radius: 3px;
2449
  }
2450
+ .spftestimonial-field .spftestimonial--transparent-offset {
2451
  height: 18px;
2452
  width: 200px;
2453
  background: url(../images/checkerboard.png) repeat-y center left scroll #fff;
2458
  -webkit-border-radius: 2px;
2459
  border-radius: 2px;
2460
  }
2461
+ .spftestimonial-field .spftestimonial--transparent-text {
2462
  position: absolute;
2463
  top: 12px;
2464
  right: 10px;
2468
  text-align: center;
2469
  color: #999;
2470
  }
2471
+ .spftestimonial-field .spftestimonial--transparent-button {
2472
  cursor: pointer;
2473
  user-select: none;
2474
  margin-top: 10px;
2483
  background-color: #f7f7f7;
2484
  transition: background-color .2s, border-color .2s, color .2s;
2485
  }
2486
+ .spftestimonial-field .spftestimonial--transparent-active .wp-color-result {
2487
  background-image: url(../images/checkerboard.png);
2488
  background-size: 135px;
2489
  background-position: center left;
2490
  background-color: transparent !important;
2491
  }
2492
+ .spftestimonial-field .spftestimonial--transparent-active .spftestimonial--transparent-button {
2493
  color: #fff;
2494
  border-color: #3ea032;
2495
  background-color: #4fb845;
2496
  }
2497
+ .spftestimonial-field .spftestimonial--transparent-active .fa:before {
2498
  content: "\f205";
2499
  }
2500
 
2501
  /**
2502
  * 04. Widget
2503
  */
2504
+ .spftestimonial-widgets > .spftestimonial-field {
2505
  position: relative;
2506
  top: -1px;
2507
  margin-right: -15px;
2508
  margin-left: -15px;
2509
  padding: 12px 15px;
2510
  }
2511
+ .spftestimonial-widgets > .spftestimonial-field .spftestimonial-field {
2512
  margin-left: 0;
2513
  margin-right: 0;
2514
  }
2515
+ .spftestimonial-widgets > .spftestimonial-field .spftestimonial-title {
2516
  float: none;
2517
  width: 100%;
2518
  margin-bottom: 5px;
2519
  }
2520
+ .spftestimonial-widgets > .spftestimonial-field .spftestimonial-fieldset {
2521
  margin-left: 0;
2522
  }
2523
+ .spftestimonial-widgets .spftestimonial-field-text input {
2524
  width: 100%;
2525
  }
2526
+ .spftestimonial-widgets .spftestimonial-field-notice .spftestimonial-notice {
2527
  padding: 15px;
2528
  }
2529
 
2530
+ .control-section .spftestimonial-widgets > .spftestimonial-field {
2531
  margin-right: -10px;
2532
  margin-left: -10px;
2533
  padding: 10px 12px;
2536
  /**
2537
  * 05. Widget
2538
  */
2539
+ .control-section .spftestimonial-field {
2540
  padding: 0;
2541
  }
2542
+ .control-section .spftestimonial-field .spftestimonial-title {
2543
  float: none;
2544
  width: 100%;
2545
  margin-bottom: 6px;
2546
  }
2547
+ .control-section .spftestimonial-field .spftestimonial-title h4 {
2548
  display: block;
2549
  font-size: 13px;
2550
  line-height: 1;
2551
  font-weight: 600;
2552
  color: inherit;
2553
  }
2554
+ .control-section .spftestimonial-field .spftestimonial-fieldset {
2555
  margin-left: 0;
2556
  }
2557
+ .control-section .spftestimonial-help {
2558
  top: -5px;
2559
  right: -5px;
2560
  }
2561
+ .control-section .spftestimonial-field-select select {
2562
  width: 100%;
2563
  }
2564
+ .control-section .spftestimonial-field-heading {
2565
  color: inherit;
2566
  font-size: 14px;
2567
  line-height: 1em;
2569
  margin-left: -15px;
2570
  padding: 15px;
2571
  }
2572
+ .control-section .spftestimonial-field-subheading {
2573
  color: inherit;
2574
  font-size: 11px;
2575
  margin-right: -15px;
2576
  margin-left: -15px;
2577
  padding: 10px 15px;
2578
  }
2579
+ .control-section .spftestimonial-text-subtitle {
2580
  margin-top: 4px;
2581
  font-size: 12px;
2582
  }
2583
+ .control-section .spftestimonial-field-submessage .spftestimonial-submessage {
2584
  margin-right: -15px;
2585
  margin-left: -15px;
2586
  padding: 15px;
2587
  }
2588
+ .control-section .spftestimonial-fieldset .spftestimonial-field-submessage .spftestimonial-submessage,
2589
+ .control-section .spftestimonial-fieldset .spftestimonial-field-heading,
2590
+ .control-section .spftestimonial-fieldset .spftestimonial-field-subheading {
2591
  margin-left: 0;
2592
  margin-right: 0;
2593
  }
2594
+ .control-section .spftestimonial-field-date .spftestimonial--to {
2595
  margin-left: 0;
2596
  }
2597
+ .control-section .spftestimonial-field-sorter ul li {
2598
  padding: 5px;
2599
  }
2600
+ .control-section .spftestimonial-field-sorter .spftestimonial-modules {
2601
  float: none;
2602
  width: 100%;
2603
  }
2604
+ .control-section .spftestimonial-field-sorter .spftestimonial-modules:first-child {
2605
  padding-right: 0;
2606
  padding-bottom: 15px;
2607
  }
2608
+ .control-section .spftestimonial-field-background .spftestimonial--background-attributes {
2609
  flex-direction: column;
2610
  }
2611
+ .control-section .spftestimonial-field-spacing input {
2612
  width: 90px;
2613
  }
2614
+ .control-section .spftestimonial-field-border .spftestimonial--input {
2615
  flex: 1 50%;
2616
  }
2617
+ .control-section .spftestimonial-field-border input,
2618
+ .control-section .spftestimonial-field-border select {
2619
  width: 100%;
2620
  }
2621
+ .control-section .spftestimonial-field-spinner input {
2622
  width: 50px;
2623
  }
2624
+ .control-section .spftestimonial-field-number .spftestimonial--wrap {
2625
  width: 100%;
2626
  }
2627
+ .control-section .spftestimonial-field-backup .spftestimonial-export-data {
2628
  display: none;
2629
  }
2630
+ .control-section .spftestimonial-field-fieldset .spftestimonial-fieldset-content {
2631
  border-color: #e5e5e5;
2632
  }
2633
+ .control-section .spftestimonial-field-fieldset .spftestimonial-field {
2634
  padding: 10px;
2635
  }
2636
+ .control-section .spftestimonial-field-fieldset .spftestimonial-field .spftestimonial-title {
2637
  margin-bottom: 5px;
2638
  }
2639
+ .control-section .spftestimonial-field-fieldset .spftestimonial-field h4 {
2640
  font-size: 12px;
2641
  }
2642
+ .control-section .spftestimonial-field-group .spftestimonial-field,
2643
+ .control-section .spftestimonial-field-tabbed .spftestimonial-field,
2644
+ .control-section .spftestimonial-field-sortable .spftestimonial-field,
2645
+ .control-section .spftestimonial-field-repeater .spftestimonial-field,
2646
+ .control-section .spftestimonial-field-accordion .spftestimonial-field {
2647
  padding: 10px;
2648
  }
2649
+ .control-section .spftestimonial-field-group .spftestimonial-field .spftestimonial-title,
2650
+ .control-section .spftestimonial-field-tabbed .spftestimonial-field .spftestimonial-title,
2651
+ .control-section .spftestimonial-field-sortable .spftestimonial-field .spftestimonial-title,
2652
+ .control-section .spftestimonial-field-repeater .spftestimonial-field .spftestimonial-title,
2653
+ .control-section .spftestimonial-field-accordion .spftestimonial-field .spftestimonial-title {
2654
  margin-bottom: 5px;
2655
  }
2656
+ .control-section .spftestimonial-field-group .spftestimonial-field h4,
2657
+ .control-section .spftestimonial-field-tabbed .spftestimonial-field h4,
2658
+ .control-section .spftestimonial-field-sortable .spftestimonial-field h4,
2659
+ .control-section .spftestimonial-field-repeater .spftestimonial-field h4,
2660
+ .control-section .spftestimonial-field-accordion .spftestimonial-field h4 {
2661
  font-size: 12px;
2662
  }
2663
+ .control-section .spftestimonial-dependency-control.hidden {
2664
  display: none !important;
2665
  }
2666
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2667
  /**
2668
  * 08. Modal
2669
  */
2670
+ .spftestimonial-modal {
2671
  display: none;
2672
  position: fixed;
2673
  z-index: 100101;
2677
  height: 100%;
2678
  }
2679
 
2680
+ .spftestimonial-modal-icon {
2681
  z-index: 100102;
2682
  }
2683
 
2684
+ .spftestimonial-modal-table {
2685
  display: table;
2686
  width: 100%;
2687
  height: 100%;
2688
  }
2689
 
2690
+ .spftestimonial-modal-table-cell {
2691
  display: table-cell;
2692
  vertical-align: middle;
2693
  margin: 100px 0;
2694
  }
2695
 
2696
+ .spftestimonial-modal-inner {
2697
  position: relative;
2698
  z-index: 10;
2699
  width: 760px;
2702
  background-color: #fff;
2703
  }
2704
 
2705
+ .spftestimonial-modal-content {
2706
  position: relative;
2707
  overflow: hidden;
2708
  overflow-y: auto;
2709
  height: 595px;
2710
  }
2711
+ .spftestimonial-modal-content .spftestimonial-fieldset {
 
 
 
2712
  margin-left: 25%;
2713
  }
2714
+ .spftestimonial-modal-content .spftestimonial-title {
2715
  width: 20%;
2716
  }
2717
+ .spftestimonial-modal-content .spftestimonial-field {
2718
  padding: 15px 30px 15px 15px;
2719
  }
2720
+ .spftestimonial-modal-content a:active, .spftestimonial-modal-content a:focus {
2721
  outline: none;
2722
  -moz-box-shadow: none;
2723
  -webkit-box-shadow: none;
2724
  box-shadow: none;
2725
  }
2726
+ .spftestimonial-modal-content h4 {
2727
  font-size: 13px;
2728
  }
2729
+ .spftestimonial-modal-content h4 small {
2730
  font-style: italic;
2731
  font-weight: 400;
2732
  color: #aaa;
2733
  }
2734
 
2735
+ .spftestimonial-modal-title {
2736
  position: relative;
2737
  background-color: #fcfcfc;
2738
  border-bottom: 1px solid #ddd;
2744
  padding: 0 36px 0 16px;
2745
  }
2746
 
2747
+ .spftestimonial-modal-header {
2748
  width: 100%;
2749
  padding: 14px 0;
2750
  background-color: #f5f5f5;
2751
  border-bottom: 1px solid #eee;
2752
  }
2753
+ .spftestimonial-modal-header select {
2754
  display: block;
2755
  width: 250px;
2756
  margin: 0 auto;
2761
  background-color: #fff;
2762
  }
2763
 
2764
+ .spftestimonial-modal-close {
2765
  color: #666;
2766
  padding: 0;
2767
  position: absolute;
2774
  border: none;
2775
  cursor: pointer;
2776
  }
2777
+ .spftestimonial-modal-close:before {
2778
  font: normal 20px/36px dashicons;
2779
  content: "\f158";
2780
  vertical-align: top;
2781
  width: 36px;
2782
  height: 36px;
2783
  }
2784
+ .spftestimonial-modal-close:hover {
2785
  opacity: 0.5;
2786
  }
2787
 
2788
+ .spftestimonial-modal-insert-wrapper {
2789
  text-align: center;
2790
  width: 100%;
2791
  padding: 15px 0;
2793
  border-top: 1px solid #eee;
2794
  }
2795
 
2796
+ .spftestimonial-modal-overlay {
2797
  position: absolute;
2798
  top: 0;
2799
  left: 0;
2803
  opacity: 0.5;
2804
  }
2805
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2806
  /**
2807
  * 08. Helper
2808
  */
2809
+ .spftestimonial-text-desc,
2810
+ .spftestimonial-text-subtitle {
2811
  font-weight: 400;
2812
  margin-top: 10px;
2813
  color: #999;
2814
  }
2815
 
2816
+ .spftestimonial-text-success {
2817
  color: #2b542c;
2818
  }
2819
 
2820
+ .spftestimonial-text-error {
2821
  color: #d02c21;
2822
  }
2823
 
2824
+ .spftestimonial-text-info {
2825
  color: #31708f;
2826
  }
2827
 
2828
+ .spftestimonial-text-warning {
2829
  color: #ffb900;
2830
  }
2831
 
2832
+ .spftestimonial-text-muted {
2833
  color: #aaa;
2834
  }
2835
 
2836
+ .spftestimonial-text-left {
2837
  text-align: left;
2838
  }
2839
 
2840
+ .spftestimonial-text-center {
2841
  text-align: center;
2842
  }
2843
 
2844
+ .spftestimonial-text-right {
2845
  text-align: right;
2846
  }
2847
 
2848
+ .spftestimonial-block-left {
2849
  float: left;
2850
  }
2851
 
2852
+ .spftestimonial-block-right {
2853
  float: right;
2854
  }
2855
 
2856
+ .spftestimonial-full-width {
2857
  width: 100%;
2858
  }
2859
 
2860
+ .spftestimonial-full-half {
2861
  width: 50%;
2862
  }
2863
 
2864
+ .spftestimonial-table {
2865
  width: 100%;
2866
  display: table;
2867
  }
2868
 
2869
+ .spftestimonial-table-cell {
2870
  display: table-cell;
2871
  vertical-align: middle;
2872
  }
2873
 
2874
+ .spftestimonial-table-expanded {
2875
  width: 100%;
2876
  }
2877
 
2878
+ .spftestimonial-nowrap {
2879
  white-space: nowrap;
2880
  }
2881
 
2882
+ .spftestimonial-text-highlight {
2883
  padding: 2px 4px;
2884
  font-size: 90%;
2885
  color: #c7254e;
2889
  border-radius: 2px;
2890
  }
2891
 
2892
+ .spftestimonial-text-highlight-gray {
2893
  padding: 2px 4px;
2894
  font-size: 90%;
2895
  background-color: #f0f0f0;
2898
  border-radius: 2px;
2899
  }
2900
 
2901
+ .spftestimonial-hidden {
2902
  display: none;
2903
  }
2904
 
2905
+ .spftestimonial-hide {
2906
  display: none !important;
2907
  }
2908
 
2909
+ .spftestimonial-show {
2910
  display: block !important;
2911
  }
2912
 
2913
+ .spftestimonial-opacity {
2914
  opacity: 0.5;
2915
  }
2916
 
2917
+ .spftestimonial-warning-primary {
2918
  color: #fff !important;
2919
  border-color: #dc3545 !important;
2920
  background: #dc3545 !important;
2921
  }
2922
+ .spftestimonial-warning-primary:hover, .spftestimonial-warning-primary:focus {
2923
  border-color: #bd2130 !important;
2924
  background: #bd2130 !important;
2925
  }
2926
+ .spftestimonial-warning-primary:focus {
2927
  box-shadow: 0 0 0 1px #fff, 0 0 0 3px #bd2130 !important;
2928
  }
2929
+ .spftestimonial-warning-primary:active {
2930
  border-color: #bd2130 !important;
2931
  background: #bd2130 !important;
2932
  }
2933
 
2934
+ .spftestimonial-form-result {
2935
  display: none;
2936
  float: left;
2937
  padding: 0 8px;
2942
  border-radius: 2px;
2943
  }
2944
 
2945
+ .spftestimonial-form-show {
2946
  display: block;
2947
  }
2948
 
2949
+ .spftestimonial-form-success {
2950
  color: #fff;
2951
  background-color: #46b450;
2952
  }
2953
 
2954
+ .spftestimonial-form-warning {
2955
  color: #8a6d3b;
2956
  background-color: #faebcc;
2957
  }
2958
 
2959
+ .spftestimonial-label-error {
2960
  position: relative;
2961
  top: -2px;
2962
  display: inline-block;
2975
  border-radius: 2px;
2976
  }
2977
 
2978
+ .spftestimonial-no-option {
2979
  padding: 30px;
2980
  }
2981
 
2982
+ .spftestimonial-input-number {
2983
  -moz-appearance: textfield;
2984
  }
2985
 
2986
+ .spftestimonial-input-number::-webkit-inner-spin-button,
2987
+ .spftestimonial-input-number::-webkit-outer-spin-button {
2988
  -webkit-appearance: none;
2989
  margin: 0;
2990
  }
2991
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2992
  /**
2993
  * 11. Responsive
2994
  */
2995
  @media only screen and (max-width: 1200px) {
2996
+ .spftestimonial-metabox .spftestimonial-field .spftestimonial-title {
2997
  float: none;
2998
  width: 100%;
2999
  margin-bottom: 10px;
3000
  }
3001
+ .spftestimonial-metabox .spftestimonial-field .spftestimonial-fieldset {
3002
  margin-left: 0;
3003
  }
3004
  }
3005
  @media only screen and (max-width: 782px) {
3006
+ .spftestimonial-header-inner {
3007
  text-align: center;
3008
  }
3009
+ .spftestimonial-header-inner h1 {
3010
  width: 100%;
3011
  margin-bottom: 10px;
3012
  }
3013
 
3014
+ .spftestimonial-form-result {
3015
  float: none;
3016
  margin-right: 0;
3017
  margin-bottom: 10px;
3018
  }
3019
 
3020
+ .spftestimonial-search,
3021
+ .spftestimonial-header-right,
3022
+ .spftestimonial-header-left {
3023
  width: 100%;
3024
  }
3025
 
3026
+ .spftestimonial-search {
3027
  text-align: center;
3028
  margin-bottom: 15px;
3029
  }
3030
 
3031
+ .spftestimonial-footer {
3032
  text-align: center;
3033
  }
3034
 
3035
+ .spftestimonial-buttons {
3036
  float: none;
3037
  }
3038
 
3039
+ .spftestimonial-copyright {
3040
  float: none;
3041
  margin-top: 10px;
3042
  }
3043
 
3044
+ .spftestimonial-nav,
3045
+ .spftestimonial-expand-all,
3046
+ .spftestimonial-reset-section,
3047
+ .spftestimonial-nav-background {
3048
  display: none !important;
3049
  }
3050
 
3051
+ .spftestimonial-content {
3052
  margin-left: 0;
3053
  }
3054
 
3055
+ .spftestimonial-section-title,
3056
+ .spftestimonial-section {
3057
  display: block !important;
3058
  }
3059
 
3060
+ .spftestimonial-field .spftestimonial-title {
3061
  float: none;
3062
  width: 100%;
3063
  margin-bottom: 10px;
3064
  }
3065
+ .spftestimonial-field .spftestimonial-fieldset {
3066
  margin-left: 0;
3067
  }
3068
 
3069
+ .spftestimonial-modal-inner {
3070
  width: 350px;
3071
  height: 400px;
3072
  }
3073
 
3074
+ .spftestimonial-modal-content {
3075
  height: 237px;
3076
  }
3077
 
3078
+ .spftestimonial-icon-dialog .spftestimonial-modal-inner {
3079
  width: 305px;
3080
  height: 380px;
3081
  }
3082
+ .spftestimonial-icon-dialog .spftestimonial-modal-content {
3083
  height: 267px;
3084
  }
3085
 
3086
+ .spftestimonial-modal-icon .spftestimonial-modal-inner {
3087
  width: 330px;
3088
  height: 385px;
3089
  }
3090
+ .spftestimonial-modal-icon .spftestimonial-modal-content {
3091
  height: 252px;
3092
  }
3093
 
 
 
 
 
 
 
 
 
3094
  }
3095
  /**
3096
  * Chosen JS Styles
3497
  padding: 4px 5px 4px 20px;
3498
  direction: rtl;
3499
  }
3500
+
3501
+ /* Custom */
3502
+ .tfree-layout-preset .spftestimonial--image.pro-feature {
3503
+ position: relative;
3504
+ pointer-events: none;
3505
+ }
3506
+ .tfree-layout-preset .spftestimonial--image.pro-feature::after {
3507
+ position: absolute;
3508
+ top: 1px;
3509
+ right: 1px;
3510
+ color: #a5a5a5;
3511
+ background-color: #e0e0e0;
3512
+ font-weight: 500;
3513
+ padding: 0 4px;
3514
+ content: 'PRO';
3515
+ text-align: center;
3516
+ font-size: 8px;
3517
+ }
admin/views/framework/assets/css/spftestimonial.min.css ADDED
@@ -0,0 +1 @@
 
1
+ .spftestimonial{position:relative}.spftestimonial label{padding:0;margin:0;display:inline-block}.spftestimonial-ab-icon{top:2px}#screen-meta-links+.spftestimonial-options{margin-top:40px}.spftestimonial-options{margin-top:20px;margin-right:20px}.spftestimonial-header{position:relative}.spftestimonial-header-inner{padding:25px}.spftestimonial-header-inner h1{float:left;font-size:1.5em;line-height:26px;font-weight:400;margin:0}.spftestimonial-header-inner h1 small{font-size:11px;font-weight:500}.spftestimonial-sticky .spftestimonial-header-inner{position:fixed;z-index:99999;top:32px;-moz-box-shadow:0 5px 25px rgba(0,0,0,.125);-webkit-box-shadow:0 5px 25px rgba(0,0,0,.125);box-shadow:0 5px 25px rgba(0,0,0,.125)}.spftestimonial-buttons{float:right;-moz-transition:opacity .2s;-o-transition:opacity .2s;-webkit-transition:opacity .2s;transition:opacity .2s}.spftestimonial-buttons .button{margin:0 2px;line-height:26px}.spftestimonial-buttons .button:focus{outline:0!important;box-shadow:none!important}.spftestimonial-buttons .spftestimonial-save{min-width:72px}.spftestimonial-header-left{float:left}.spftestimonial-header-right{float:right}.spftestimonial-nav{display:block;position:relative;z-index:10;float:left;width:225px}.spftestimonial-nav ul{clear:left;margin:0;list-style-type:none}.spftestimonial-nav ul li{margin-bottom:0}.spftestimonial-nav ul li a{font-size:13px;position:relative;display:block;padding:14px 12px;text-decoration:none;-moz-transition:all .3s ease;-o-transition:all .3s ease;-webkit-transition:all .3s ease;transition:all .3s ease}.spftestimonial-nav ul li a:focus{outline:0;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.spftestimonial-nav ul li .spftestimonial-section-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}.spftestimonial-nav ul li .spftestimonial-arrow:after{content:"\f054";display:inline-block;font-family:FontAwesome;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)}.spftestimonial-nav ul li.spftestimonial-tab-active .spftestimonial-arrow:after{-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-webkit-transform:rotate(90deg);transform:rotate(90deg)}.spftestimonial-nav ul li.spftestimonial-tab-active ul{display:block}.spftestimonial-nav ul ul{display:none;position:relative}.spftestimonial-nav ul ul li a{font-size:12px;padding:12px 14px 12px 24px}.spftestimonial-nav .fa{width:20px;margin-right:5px;font-size:14px;text-align:center}.spftestimonial-nav .spftestimonial-label-error{margin-left:4px;vertical-align:top}.spftestimonial-nav-background{position:absolute;top:0;left:0;bottom:0;z-index:9;width:225px}.spftestimonial-wrapper{position:relative}.spftestimonial-content{position:relative;margin-left:225px;background-color:#fff;-moz-transition:opacity .2s;-o-transition:opacity .2s;-webkit-transition:opacity .2s;transition:opacity .2s}.spftestimonial-sections{float:left;width:100%}.spftestimonial-section{display:none}.spftestimonial-section-title{display:none;padding:20px 30px;background-color:#f5f5f5;border-top:1px solid #eee;border-bottom:1px solid #eee}.spftestimonial-section-title h3{margin:0;padding:0;font-size:13px;font-weight:700;text-transform:uppercase}.spftestimonial-section-title .fa{margin-right:5px}.spftestimonial-footer{padding:20px;font-size:11px}.spftestimonial-copyright{float:left;margin-top:5px}.spftestimonial-search-all .spftestimonial-nav,.spftestimonial-search-all .spftestimonial-nav-background,.spftestimonial-show-all .spftestimonial-nav,.spftestimonial-show-all .spftestimonial-nav-background{display:none}.spftestimonial-search-all .spftestimonial-content,.spftestimonial-show-all .spftestimonial-content{margin-left:0}.spftestimonial-search-all .spftestimonial-section,.spftestimonial-search-all .spftestimonial-section-title,.spftestimonial-show-all .spftestimonial-section,.spftestimonial-show-all .spftestimonial-section-title{display:block!important}.spftestimonial-search-all .spftestimonial-section-title{display:none!important}.spftestimonial-expand-all{float:left;padding:0 8px;margin-right:4px;z-index:1;font-size:14px;line-height:28px;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}.spftestimonial-expand-all span{font-size:11px;vertical-align:middle}.spftestimonial-search{float:left}.spftestimonial-search input{margin:0 2px 0 0;border:none;font-size:12px;line-height:28px;min-height:28px;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}.spftestimonial-search input:focus{-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.spftestimonial-saving .spftestimonial-buttons,.spftestimonial-saving .spftestimonial-content{cursor:default;pointer-events:none;opacity:.5}.spftestimonial-metabox{margin:-6px -12px -12px -12px}.spftestimonial-metabox .spftestimonial-section-title{padding:20px}.block-editor-page .spftestimonial-metabox{margin:-6px -14px -12px -14px}.spftestimonial-restore-wrapper{text-align:right;padding:10px;border-top:1px solid #eee}.spftestimonial-restore-wrapper .spftestimonial-button-cancel,.spftestimonial-restore-wrapper input{display:none}.spftestimonial-restore-wrapper span{-webkit-user-select:none;user-select:none}.spftestimonial-restore-wrapper input:checked~.spftestimonial-button-restore{display:none}.spftestimonial-restore-wrapper input:checked~.spftestimonial-button-cancel{display:inline-block}#side-sortables .spftestimonial-section-title{padding:12px}#side-sortables .spftestimonial-field{padding:12px}#side-sortables .spftestimonial-field .spftestimonial-title{float:none;width:100%;margin-bottom:10px}#side-sortables .spftestimonial-field .spftestimonial-fieldset{margin-left:0}#side-sortables .spftestimonial-notice{padding:12px}.spftestimonial-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}.spftestimonial-theme-dark .spftestimonial-header-inner{background-color:#050505}.spftestimonial-theme-dark .spftestimonial-header-inner h1{color:#fff}.spftestimonial-theme-dark .spftestimonial-header-inner h1 small{color:#555}.spftestimonial-theme-dark .spftestimonial-expand-all{color:#999;background-color:#222}.spftestimonial-theme-dark .spftestimonial-expand-all:hover{color:#fff;background-color:#333}.spftestimonial-theme-dark .spftestimonial-search input{color:#fff;background-color:#222}.spftestimonial-theme-dark .spftestimonial-search:focus{background-color:#444}.spftestimonial-theme-dark .spftestimonial-search::-webkit-input-placeholder{color:#666}.spftestimonial-theme-dark .spftestimonial-nav ul li a{color:#999;background-color:#222;border-bottom:1px solid #2f2f2f}.spftestimonial-theme-dark .spftestimonial-nav ul li a:hover{color:#fff}.spftestimonial-theme-dark .spftestimonial-nav ul li .spftestimonial-section-active{color:#fff;background-color:#111}.spftestimonial-theme-dark .spftestimonial-nav ul ul li a{background-color:#191919;border-bottom:1px solid #2f2f2f}.spftestimonial-theme-dark .spftestimonial-nav ul ul li .spftestimonial-section-active{background-color:#101010}.spftestimonial-theme-dark .spftestimonial-nav ul ul:before{background-color:rgba(34,34,34,.75)}.spftestimonial-theme-dark .spftestimonial-nav>ul>li:last-child>a{border-bottom:none}.spftestimonial-theme-dark .spftestimonial-nav-background{background-color:#222}.spftestimonial-theme-dark .spftestimonial-footer{color:#555;background-color:#050505}.spftestimonial-theme-light .spftestimonial-container{border:1px solid #e5e5e5;-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)}.spftestimonial-theme-light .spftestimonial-header-inner{border-bottom:1px solid #e5e5e5;background-color:#f5f5f5;background:linear-gradient(#fefefe,#f5f5f5)}.spftestimonial-theme-light .spftestimonial-header-inner h1 small{color:#999}.spftestimonial-theme-light .spftestimonial-expand-all{color:#999;background-color:#fff;-moz-box-shadow:0 1px 1px rgba(0,0,0,.05);-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.spftestimonial-theme-light .spftestimonial-expand-all:hover{color:#555}.spftestimonial-theme-light .spftestimonial-search input{color:#555;background-color:#fff;-moz-box-shadow:0 1px 1px rgba(0,0,0,.05);-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.spftestimonial-theme-light .spftestimonial-search input::-webkit-input-placeholder{color:#bbb}.spftestimonial-theme-light .spftestimonial-nav ul li a{color:#666;background-color:#f5f5f5;border-bottom:1px solid #e5e5e5}.spftestimonial-theme-light .spftestimonial-nav ul li a:hover{color:#222}.spftestimonial-theme-light .spftestimonial-nav ul li .spftestimonial-section-active{color:#222;background-color:#fff}.spftestimonial-theme-light .spftestimonial-nav ul li .spftestimonial-section-active:after{display:none}.spftestimonial-theme-light .spftestimonial-nav ul ul li a{background-color:#eee;border-bottom:1px solid #e5e5e5}.spftestimonial-theme-light .spftestimonial-nav>ul>li:last-child>a{border-bottom:none}.spftestimonial-theme-light .spftestimonial-nav-background{background-color:#f5f5f5}.spftestimonial-theme-light .spftestimonial-footer{color:#555;border-top:1px solid #e5e5e5;background-color:#f5f5f5;background:linear-gradient(#fafafa,#f5f5f5)}.spftestimonial-field{position:relative;padding:20px 30px}.spftestimonial-field p:first-child{margin-top:0}.spftestimonial-field p:last-child{margin-bottom:0}.spftestimonial-field:after,.spftestimonial-field:before{content:" ";display:table}.spftestimonial-field:after{clear:both}.spftestimonial-field h4{margin-top:0}.spftestimonial-field .spftestimonial-title{position:relative;width:20%;float:left}.spftestimonial-field .spftestimonial-title h4{margin:0;color:#23282d}.spftestimonial-field .spftestimonial-fieldset{margin-left:25%}.spftestimonial-pseudo-field{padding:0 5px 0 0!important;display:inline-block}.spftestimonial-pseudo-field+.spftestimonial-pseudo-field{border:0}.spftestimonial-pseudo-field pre{display:none}.spftestimonial-field-accordion .spftestimonial-accordion-item{position:relative;margin-bottom:5px}.spftestimonial-field-accordion .spftestimonial-accordion-item h4{font-size:1em}.spftestimonial-field-accordion .spftestimonial-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}.spftestimonial-field-accordion .spftestimonial-accordion-title:active,.spftestimonial-field-accordion .spftestimonial-accordion-title:focus,.spftestimonial-field-accordion .spftestimonial-accordion-title:hover{outline:0;border-color:#999}.spftestimonial-field-accordion .spftestimonial-accordion-icon{width:14px;text-align:center}.spftestimonial-field-accordion .spftestimonial--icon{width:20px;text-align:center}.spftestimonial-field-accordion .spftestimonial-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)}.spftestimonial-field-accordion .spftestimonial-accordion-content>.spftestimonial-field{padding:15px}.spftestimonial-field-accordion .spftestimonial-accordion-open{display:block}.spftestimonial-field-background .spftestimonial-field{border:0!important;padding:0;margin-bottom:6px;margin-right:6px}.spftestimonial-field-background .spftestimonial--title{color:#777;font-size:12px}.spftestimonial-field-background .spftestimonial--background-colors{display:flex}.spftestimonial-field-background .spftestimonial--background-attributes{display:flex;flex-wrap:wrap}.spftestimonial-field-background .spftestimonial--background-attributes select{min-width:100%;margin:0}.spftestimonial-field-background .spftestimonial--background-attributes .spftestimonial-field{flex:1}.spftestimonial-field-background .spftestimonial--attributes-hidden{display:none}.spftestimonial-field-background .wp-color-result.button{margin-bottom:0}.spftestimonial-field-backup textarea{width:100%;min-height:200px;margin-bottom:5px}.spftestimonial-field-backup small{display:inline-block;margin:5px}.spftestimonial-field-backup hr{margin:20px 0;border:none;border-bottom:1px solid #e5e5e5}.spftestimonial-field-custom_size.disabled .spftestimonial-fieldset{pointer-events:none;opacity:.7}.spftestimonial-field-custom_size.disabled .spftestimonial-fieldset .spf--input:after{content:'Pro';text-transform:uppercase;line-height:30px;margin-left:6px;color:#444}.spftestimonial-field-column .spftestimonial--input input,.spftestimonial-field-custom_size .spftestimonial--input input{border-radius:0 2px 2px 0}.spftestimonial-field-column .spftestimonial--input{float:left}.spftestimonial-field-custom_size .spftestimonial--input{float:left;margin-right:10px;margin-bottom:7px}.spftestimonial-field-custom_size .spftestimonial--input input{line-height:30px;float:left;margin:0;padding:0;width:65px;max-width:100%;text-align:center;border-radius:0}.spftestimonial-field-custom_size .spftestimonial--label.spftestimonial--label-unit{border-right:1px solid #ddd;border-left:0;border-radius:0 2px 2px 0}.spftestimonial-field-column .spftestimonial--label,.spftestimonial-field-custom_size .spftestimonial--label{float:left;max-width:100%;font-size:12px;line-height:30px;vertical-align:top;text-align:center;color:#555;border:1px solid #ddd;background-color:#eee;padding:0 6px;min-height:30px;min-width:20px;border-right:0;border-radius:2px 0 0 2px}.spftestimonial-field-border .spftestimonial--inputs,.spftestimonial-field-column .spftestimonial--inputs,.spftestimonial-field-dimensions .spftestimonial--inputs,.spftestimonial-field-spacing .spftestimonial--inputs{float:left;display:flex;flex-wrap:wrap}.spftestimonial-field-border .spftestimonial--input,.spftestimonial-field-column .spftestimonial--input,.spftestimonial-field-dimensions .spftestimonial--input,.spftestimonial-field-spacing .spftestimonial--input{display:flex;padding-right:6px;padding-bottom:4px;box-sizing:border-box}.spftestimonial-field-border .spftestimonial--input select,.spftestimonial-field-dimensions .spftestimonial--input select,.spftestimonial-field-spacing .spftestimonial--input select{margin:0}.spftestimonial-field-border .spftestimonial--input input,.spftestimonial-field-column .spftestimonial--input input,.spftestimonial-field-dimensions .spftestimonial--input input,.spftestimonial-field-spacing .spftestimonial--input input{position:relative;z-index:1;margin:0;width:65px;max-width:100%;text-align:center}.spftestimonial-field-border .spftestimonial--color,.spftestimonial-field-dimensions .spftestimonial--color,.spftestimonial-field-spacing .spftestimonial--color{float:left}.spftestimonial-field-border .spftestimonial--color .spftestimonial--title{margin-top:-22px}.spftestimonial-field-border .spftestimonial--label,.spftestimonial-field-dimensions .spftestimonial--label,.spftestimonial-field-spacing .spftestimonial--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}.spftestimonial-field-border .spftestimonial--icon,.spftestimonial-field-dimensions .spftestimonial--icon,.spftestimonial-field-spacing .spftestimonial--icon{border-right:0;border-radius:4px 0 0 4px}.spftestimonial-field-border .spftestimonial--icon+input,.spftestimonial-field-dimensions .spftestimonial--icon+input,.spftestimonial-field-spacing .spftestimonial--icon+input{border-top-left-radius:0;border-bottom-left-radius:0}.spftestimonial-field-border .spftestimonial--unit,.spftestimonial-field-dimensions .spftestimonial--unit,.spftestimonial-field-spacing .spftestimonial--unit{border-left:0;border-radius:0 4px 4px 0}.spftestimonial-field-border .spftestimonial--is-unit,.spftestimonial-field-dimensions .spftestimonial--is-unit,.spftestimonial-field-spacing .spftestimonial--is-unit{border-top-right-radius:0;border-bottom-right-radius:0}.spftestimonial-field-button_set .spftestimonial--buttons{display:inline-block}.spftestimonial-field-button_set .spftestimonial--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)}.spftestimonial-field-button_set .spftestimonial--button:first-child{border-radius:4px 0 0 4px}.spftestimonial-field-button_set .spftestimonial--button:last-child{border-radius:0 4px 4px 0}.spftestimonial-field-button_set .spftestimonial--button:not(:first-child){margin-left:-1px}.spftestimonial-field-button_set .spftestimonial--button:hover{background-color:#eee}.spftestimonial-field-button_set .spftestimonial--active,.spftestimonial-field-button_set .spftestimonial--active:hover{z-index:2;color:#fff;border-color:#006799;background-color:#0085ba}.spftestimonial-field-button_set input{display:none}.spftestimonial-field-checkbox ul,.spftestimonial-field-radio ul{margin:0;padding:0 1px;list-style-type:none;overflow-y:auto;max-height:305px}.spftestimonial-field-checkbox ul ul,.spftestimonial-field-radio ul ul{max-height:none}.spftestimonial-field-checkbox .spftestimonial--inline-list li,.spftestimonial-field-radio .spftestimonial--inline-list li{display:inline-block;margin-right:15px}.spftestimonial-field-checkbox input[type=radio]:checked:before,.spftestimonial-field-radio input[type=radio]:checked:before{line-height:10px}.spftestimonial-field-checkbox .spftestimonial-checker,.spftestimonial-field-radio .spftestimonial-checker{cursor:pointer}.spftestimonial-field-code_editor .CodeMirror{width:100%;height:400px}.spftestimonial-field-code_editor .cm-s-default{border:1px solid #ccd0d4}.spftestimonial-field-code_editor textarea{width:100%;height:400px}.spftestimonial-field-color>input{opacity:.75;width:115px;max-width:100%}.spftestimonial-field-color .button.wp-picker-clear{margin-left:6px;padding:2px 8px}.spftestimonial-field-color_group .spftestimonial--left{float:left;margin-right:10px;margin-bottom:5px}.spftestimonial-field-border .spftestimonial--color .spftestimonial--title,.spftestimonial-field-color_group .spftestimonial--title{color:#999;margin-bottom:5px}.spftestimonial-field-fieldset .spftestimonial-fieldset-content{border:1px solid #ccd0d4;background-color:#fff;box-shadow:0 1px 1px rgba(0,0,0,.04)}.spftestimonial-field-fieldset .spftestimonial-fieldset-content>.spftestimonial-field{padding:15px}.spftestimonial-field-fieldset .spftestimonial-field-subheading{font-size:13px}.spftestimonial-field-date input{margin:0}.spftestimonial-field-date .spftestimonial--to{margin-left:7px}.spftestimonial-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)}.spftestimonial-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}.spftestimonial-datepicker-wrapper .ui-datepicker-header,.spftestimonial-datepicker-wrapper .ui-widget-header{color:#fff;background:#00a0d2}.spftestimonial-datepicker-wrapper .ui-datepicker-header .ui-state-hover{cursor:pointer}.spftestimonial-datepicker-wrapper .ui-datepicker-title{font-size:14px;line-height:40px;text-align:center}.spftestimonial-datepicker-wrapper .ui-datepicker-next,.spftestimonial-datepicker-wrapper .ui-datepicker-prev{position:static;top:auto;left:auto;right:auto;font-family:FontAwesome;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}.spftestimonial-datepicker-wrapper .ui-datepicker-next span,.spftestimonial-datepicker-wrapper .ui-datepicker-prev span{display:none}.spftestimonial-datepicker-wrapper .ui-datepicker-prev{float:left}.spftestimonial-datepicker-wrapper .ui-datepicker-next{float:right}.spftestimonial-datepicker-wrapper .ui-datepicker-prev:before{content:'\f053'}.spftestimonial-datepicker-wrapper .ui-datepicker-next:before{content:'\f054'}.spftestimonial-datepicker-wrapper .ui-datepicker-next-hover,.spftestimonial-datepicker-wrapper .ui-datepicker-prev-hover{opacity:.75}.spftestimonial-datepicker-wrapper tbody .ui-datepicker-week-col{background-color:#f7f7f7}.spftestimonial-datepicker-wrapper .ui-datepicker-buttonpane{padding:10px;text-align:center;background-color:#f7f7f7}.spftestimonial-datepicker-wrapper .ui-datepicker-buttonpane button{cursor:pointer;margin:0 5px;padding:7px 14px;border:1px solid #eee;background-color:#fff}.spftestimonial-datepicker-wrapper select{margin:0 4px}.spftestimonial-datepicker-wrapper select option{color:#555}.spftestimonial-datepicker-wrapper table{font-size:13px;border-collapse:collapse;width:100%}.spftestimonial-datepicker-wrapper thead{color:#fff;background:#32373c}.spftestimonial-datepicker-wrapper th{text-align:center;padding:7px;border:1px solid #444}.spftestimonial-datepicker-wrapper td{text-align:center;border:1px solid #f4f4f4}.spftestimonial-datepicker-wrapper td.ui-datepicker-other-month{border:transparent}.spftestimonial-datepicker-wrapper td .ui-state-default{color:#555;width:auto;display:block;padding:6px 12px}.spftestimonial-datepicker-wrapper td .ui-state-active,.spftestimonial-datepicker-wrapper td .ui-state-hover{color:#fff;background-color:#0073aa}.spftestimonial-datepicker-wrapper td.ui-state-disabled .ui-state-default{opacity:.5}.spftestimonial-field-gallery input{display:none}.spftestimonial-field-gallery ul{margin:0;padding:0;list-style-type:none}.spftestimonial-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)}.spftestimonial-field-gallery ul li img{max-height:60px;display:inline-block;vertical-align:middle}.spftestimonial-field-gallery .button{margin-right:5px;margin-bottom:5px}.spftestimonial-field-group .spftestimonial-cloneable-hidden{display:none!important}.spftestimonial-field-group .spftestimonial-cloneable-wrapper{position:relative}.spftestimonial-field-group .spftestimonial-cloneable-item{display:none;position:relative;margin-bottom:5px}.spftestimonial-field-group .spftestimonial-cloneable-item h4{font-size:1em}.spftestimonial-field-group .ui-accordion .spftestimonial-cloneable-item{display:block}.spftestimonial-field-group .spftestimonial-cloneable-content{border:1px solid #ccd0d4;background-color:#fff;box-shadow:0 1px 1px rgba(0,0,0,.04)}.spftestimonial-field-group .spftestimonial-cloneable-content>.spftestimonial-field{padding:15px}.spftestimonial-field-group .spftestimonial-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}.spftestimonial-field-group .spftestimonial-cloneable-title:active,.spftestimonial-field-group .spftestimonial-cloneable-title:focus,.spftestimonial-field-group .spftestimonial-cloneable-title:hover{border-color:#999;outline:0}.spftestimonial-field-group .spftestimonial-cloneable-helper{position:absolute;top:12px;right:10px;z-index:1;font-size:14px;line-height:1em}.spftestimonial-field-group .spftestimonial-cloneable-helper i{display:inline-block;cursor:pointer;padding:5px;color:#999}.spftestimonial-field-group .spftestimonial-cloneable-helper i:hover{color:#555}.spftestimonial-field-group .spftestimonial-cloneable-content{padding:0;border-top:0}.spftestimonial-field-group .spftestimonial-cloneable-title-number,.spftestimonial-field-group .spftestimonial-cloneable-title-prefix{margin-right:5px}.spftestimonial-field-group .spftestimonial-cloneable-alert{display:none;margin-bottom:5px;padding:10px 20px;color:#a94442;border:1px solid #ebccd1;background-color:#f2dede}.spftestimonial-field-group .widget-placeholder{margin-bottom:10px;border:1px dashed #f1c40f;background-color:#fffae4}.spftestimonial-field-group .spftestimonial-cloneable-header-icon{display:inline-block;text-align:center;font-size:14px;width:17px;text-indent:0;vertical-align:text-top}.spftestimonial-field-group .spftestimonial-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}.spftestimonial-field-image_select .spftestimonial--image p{margin:6px 0 0 0;font-weight:600}.spftestimonial-field-image_select .spftestimonial--image{cursor:pointer;position:relative;display:inline-block;text-align:center;max-width:100%;margin:0 10px 7px 0;vertical-align:top;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}.spftestimonial-field-image_select .spftestimonial--image:before{position:absolute;top:0;right:0;text-align:center;font-size:11px;font-family:FontAwesome;content:"\f00c";width:15px;height:15px;line-height:15px;opacity:0;color:#fff;background-color:#52b3d9;transition:opacity .2s}.spftestimonial-field-image_select .spftestimonial--active img{border-color:#52b3d9;outline:3px solid #52b3d9;outline-offset:-3px}.spftestimonial-field-image_select .spftestimonial--active:before{opacity:1}.spftestimonial-field-image_select img{vertical-align:top}.spftestimonial-field-image_select input{display:none}.spftestimonial-field-link_color .spftestimonial--left{float:left;margin-right:10px;margin-bottom:5px}.spftestimonial-field-link_color .spftestimonial--title{color:#777;margin-bottom:5px}.spftestimonial-field-map input{width:100%}.spftestimonial-field-map input[type=text].ui-autocomplete-loading{background-position-x:calc(100% - 5px)}.spftestimonial-field-map .spftestimonial--map-search+.spftestimonial--map-osm-wrap{margin-top:10px}.spftestimonial-field-map .spftestimonial--map-osm-wrap{position:relative;padding:5px;border:1px solid #eee;background-color:#fff;box-shadow:0 1px 1px rgba(0,0,0,.04)}.spftestimonial-field-map .spftestimonial--map-osm{position:relative;z-index:1;min-height:250px}.spftestimonial-field-map .spftestimonial--map-inputs{margin-top:10px;display:flex;justify-content:space-between}.spftestimonial-field-map .spftestimonial--map-input{flex:1}.spftestimonial-field-map .spftestimonial--map-input:last-child{padding-left:10px}.spftestimonial-field-map label{display:block;color:#777;font-size:12px;margin:0 0 2px 0}.spftestimonial-map-ui-autocomplate{z-index:999999;border-radius:4px;overflow:hidden}.spftestimonial-field-media .spftestimonial--placeholder{display:flex}.spftestimonial-field-media .spftestimonial--placeholder input{width:100%;margin:0}.spftestimonial-field-media .button{margin-left:5px}.spftestimonial-field-media .hidden+.button{margin-left:0}.spftestimonial-field-media .spftestimonial--preview{position:relative}.spftestimonial-field-media .spftestimonial--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}.spftestimonial-field-media .spftestimonial--preview .fa-times:hover{opacity:1}.spftestimonial-field-media .spftestimonial--preview .fa-times:focus{box-shadow:none}.spftestimonial-field-palette .spftestimonial--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}.spftestimonial-field-palette .spftestimonial--palette span{vertical-align:middle;display:inline-block;width:22px;height:60px;line-height:60px;overflow:hidden;text-indent:-999px}.spftestimonial-field-palette .spftestimonial--palette:before{position:absolute;top:0;left:0;text-align:center;font-size:11px;font-family:FontAwesome;content:"\f00c";width:15px;height:15px;line-height:15px;opacity:0;color:#fff;background-color:#222;transition:opacity .2s}.spftestimonial-field-palette .spftestimonial--active{border-color:#222;box-shadow:0 0 20px rgba(0,0,0,.2)}.spftestimonial-field-palette .spftestimonial--active:before{opacity:1}.spftestimonial-field-palette input{display:none}.spftestimonial-field-repeater .spftestimonial-field-text input{width:100%}.spftestimonial-field-repeater .spftestimonial-repeater-hidden{display:none!important}.spftestimonial-field-repeater .spftestimonial-repeater-wrapper .spftestimonial-repeater-item{display:table;width:100%;margin-bottom:5px;border:1px solid #eee}.spftestimonial-field-repeater .spftestimonial-repeater-wrapper .spftestimonial-repeater-item h4{font-size:1em}.spftestimonial-field-repeater .spftestimonial-repeater-content{width:100%;display:table-cell;vertical-align:middle;background-color:#fff}.spftestimonial-field-repeater .spftestimonial-repeater-content>.spftestimonial-field{padding:15px}.spftestimonial-field-repeater .spftestimonial-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}.spftestimonial-field-repeater .spftestimonial-repeater-helper i{display:inline-block;cursor:pointer;color:#999;padding:5px}.spftestimonial-field-repeater .spftestimonial-repeater-helper i:hover{color:#555}.spftestimonial-field-repeater .spftestimonial-repeater-helper-inner{width:75px}.spftestimonial-field-repeater .spftestimonial-repeater-alert{display:none;margin-bottom:5px;padding:10px 20px;color:#a94442;border:1px solid #ebccd1;background-color:#f2dede}.spftestimonial-field-repeater .widget-placeholder{height:50px;margin-bottom:3px;border:1px dashed #f1c40f;background-color:#fffae4}.spftestimonial-field-repeater .ui-sortable-helper{height:50px!important;overflow:hidden!important;border-color:#ccc!important;background-color:#eee!important;opacity:.5}.spftestimonial-field-repeater .ui-sortable-helper .spftestimonial-repeater-content,.spftestimonial-field-repeater .ui-sortable-helper .spftestimonial-repeater-helper{display:none}.spftestimonial-field-select .spftestimonial-fieldset{min-height:30px}.spftestimonial-field-select .spftestimonial-chosen{display:none}.spftestimonial-field-select select{max-width:100%;margin:0}.spftestimonial-field-slider .spftestimonial--wrap{display:flex;align-items:center}.spftestimonial-field-slider .spftestimonial--input{display:flex}.spftestimonial-field-slider .spftestimonial--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}.spftestimonial-field-slider input[type=number]{position:relative;z-index:1;width:50px;margin:0 0 0 15px;text-align:center}.spftestimonial-field-slider .spftestimonial--is-unit{border-top-right-radius:0;border-bottom-right-radius:0}.spftestimonial-field-slider .ui-slider{position:relative;width:100%;height:3px;border:none;background:#ddd;border-radius:2px}.spftestimonial-field-slider .ui-slider-range{height:3px;border:none;background:#333;border-radius:2px}.spftestimonial-field-slider .ui-slider-handle{position:absolute;width:16px;height:16px;top:-7px;margin-left:-8px;border:none;background:#333;border-radius:2px}.spftestimonial-field-slider .ui-slider-handle:hover,.spftestimonial-field-slider .ui-state-active{cursor:pointer;background:#111}.spftestimonial-field-sortable .spftestimonial-field-text input{width:100%;max-width:100%}.spftestimonial-field-sortable .spftestimonial--sortable .spftestimonial--sortable-item{display:table;width:100%;margin-bottom:5px;border:1px solid #eee}.spftestimonial-field-sortable .spftestimonial--sortable .spftestimonial--sortable-item h4{font-size:1em}.spftestimonial-field-sortable .spftestimonial--sortable-content{width:100%;display:table-cell;vertical-align:middle;background-color:#fff}.spftestimonial-field-sortable .spftestimonial--sortable-content>.spftestimonial-field{padding:15px}.spftestimonial-field-sortable .spftestimonial--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}.spftestimonial-field-sortable .spftestimonial--sortable-helper .fa{display:inline-block;cursor:pointer;width:50px;color:#555}.spftestimonial-field-sortable .spftestimonial--sortable-helper .fa:hover{opacity:.5}.spftestimonial-field-sortable .widget-placeholder{height:50px;margin-bottom:3px;border:1px dashed #f1c40f;background-color:#fffae4}.spftestimonial-field-sortable .ui-sortable-helper{height:50px!important;overflow:hidden!important;border-color:#ccc!important;background-color:#eee!important;opacity:.5}.spftestimonial-field-sortable .ui-sortable-helper .spftestimonial--sortable-content,.spftestimonial-field-sortable .ui-sortable-helper .spftestimonial--sortable-helper{display:none}.spftestimonial-field-sorter .ui-sortable-placeholder{height:20px;border:1px dashed #f1c40f;background-color:#fffae4}.spftestimonial-field-sorter .spftestimonial-modules{float:left;width:50%;box-sizing:border-box}.spftestimonial-field-sorter .spftestimonial-modules:first-child{padding-right:15px}.spftestimonial-field-sorter .spftestimonial-modules:last-child{padding-left:15px}.spftestimonial-field-sorter .spftestimonial-disabled,.spftestimonial-field-sorter .spftestimonial-enabled{padding:5px 15px;border:1px dashed #ddd;background-color:#fff}.spftestimonial-field-sorter .spftestimonial-disabled li{-moz-transition:opacity .15s;-o-transition:opacity .15s;-webkit-transition:opacity .15s;transition:opacity .15s;opacity:.5}.spftestimonial-field-sorter .spftestimonial-disabled .ui-sortable-helper{opacity:1}.spftestimonial-field-sorter .spftestimonial-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}.spftestimonial-field-sorter ul{list-style-type:none;margin:0;padding:0;min-height:62px}.spftestimonial-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}.spftestimonial-field-sorter ul li:hover{border-color:#bbb}.spftestimonial-field-spinner .spftestimonial--spin{display:flex}.spftestimonial-field-spinner .ui-spinner{display:flex}.spftestimonial-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}.spftestimonial-field-spinner .ui-button{cursor:pointer}.spftestimonial-field-spinner .ui-button:hover{background-color:#e7e7e7}.spftestimonial-field-spinner .ui-button:active{background-color:#ddd}.spftestimonial-field-spinner .ui-button:before{font-family:FontAwesome;font-size:14px}.spftestimonial-field-spinner .ui-spinner-down{order:1;border-right:0;border-radius:4px 0 0 4px}.spftestimonial-field-spinner .ui-spinner-down:before{content:"\f0d9"}.spftestimonial-field-spinner .ui-spinner-input{order:2}.spftestimonial-field-spinner .spftestimonial--unit{order:3;border-left:0;user-select:none}.spftestimonial-field-spinner .ui-spinner-up{order:4;border-left:0;border-radius:0 4px 4px 0}.spftestimonial-field-spinner .ui-spinner-up:before{content:"\f0da"}.spftestimonial-field-spinner input{position:relative;z-index:1;width:50px;text-align:center;margin:0;padding:0 8px;border-radius:0}.spftestimonial-field-spinner .ui-button-text{display:none}.spftestimonial-field-switcher .spftestimonial--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}.spftestimonial-field-switcher .spftestimonial--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)}.spftestimonial-field-switcher .spftestimonial--off,.spftestimonial-field-switcher .spftestimonial--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}.spftestimonial-field-switcher .spftestimonial--off{padding-right:0;padding-left:28px;opacity:1}.spftestimonial-field-switcher .spftestimonial--active{background:#4fb845}.spftestimonial-field-switcher .spftestimonial--active .spftestimonial--on{opacity:1}.spftestimonial-field-switcher .spftestimonial--active .spftestimonial--off{opacity:0}.spftestimonial-field-switcher .spftestimonial--active .spftestimonial--ball{left:100%;margin-left:-28px}.spftestimonial-field-switcher .spftestimonial--label{float:left;margin-top:4px;margin-left:8px;font-weight:400;color:#999}.spftestimonial-field-switcher input{display:none}.spftestimonial-field-tabbed .spftestimonial-tabbed-section{border:1px solid #ccd0d4;background-color:#fff;box-shadow:0 1px 1px rgba(0,0,0,.04)}.spftestimonial-field-tabbed .spftestimonial-tabbed-section>.spftestimonial-field{padding:15px}.spftestimonial-field-tabbed .spftestimonial-tabbed-nav .spftestimonial--icon{padding-right:5px}.spftestimonial-field-tabbed .spftestimonial-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}.spftestimonial-field-tabbed .spftestimonial-tabbed-nav a:hover{background-color:#f9f9f9}.spftestimonial-field-tabbed .spftestimonial-tabbed-nav a.spftestimonial-tabbed-active{background-color:#fff;border-bottom-color:#fff}.spftestimonial-field-tabbed .spftestimonial-tabbed-nav a:focus{outline:0;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.spftestimonial-field-text input{width:50%;max-width:100%;margin:0}.spftestimonial-field-textarea textarea{width:100%;max-width:100%;min-height:125px}.spftestimonial-field-typography select,.spftestimonial-field-typography textarea{min-width:100%;margin:0}.spftestimonial-field-typography .spftestimonial--title{color:#777;margin:0 0 2px 0;font-size:12px}.spftestimonial-field-typography .spftestimonial--title small{vertical-align:top}.spftestimonial-field-typography .spftestimonial--blocks{display:flex;flex-wrap:wrap}.spftestimonial-field-typography .spftestimonial--block{flex:1;padding-right:6px;padding-bottom:6px}.spftestimonial-field-typography .spftestimonial--input{margin:0;min-width:100%}.spftestimonial-field-typography .spftestimonial--input-wrap{position:relative}.spftestimonial-field-typography .spftestimonial--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}.spftestimonial-field-typography .spftestimonial--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}.spftestimonial-field-typography .spftestimonial--block-preview{cursor:pointer;position:relative;overflow:hidden;margin-top:10px;max-width:100%}.spftestimonial-field-typography .spftestimonial--black-background{border-color:#000;background-color:#000}.spftestimonial-field-typography .spftestimonial--toggle{position:absolute;top:5px;right:10px;color:#999}.spftestimonial-field-typography .spftestimonial--block-extra-styles{margin-top:5px}.spftestimonial-field-upload input{width:100%;margin:0}.spftestimonial-field-upload .spftestimonial--wrap{display:flex}.spftestimonial-field-upload .button{margin-left:5px}.spftestimonial-field-wp_editor .spftestimonial-wp-editor{float:left;width:100%}.spftestimonial-field-wp_editor .mce-toolbar-grp{border:none}.spftestimonial-field-wp_editor .mce-btn.mce-active button,.spftestimonial-field-wp_editor .mce-btn.mce-active i,.spftestimonial-field-wp_editor .mce-btn.mce-active:hover button,.spftestimonial-field-wp_editor .mce-btn.mce-active:hover i{color:#23282d}.spftestimonial-field-wp_editor .wp-media-buttons{position:relative;z-index:2}.spftestimonial-field-wp_editor .wp-editor-tabs{position:relative;z-index:1}.spftestimonial-field-wp_editor .spftestimonial-no-tinymce{border:1px solid #e5e5e5}.spftestimonial-field-wp_editor .spftestimonial-no-quicktags .wp-media-buttons{float:none;display:block}.spftestimonial-field-wp_editor .spftestimonial-no-quicktags .mce-tinymce{box-shadow:none;border:1px solid #e5e5e5}.spftestimonial-field-wp_editor textarea{width:100%;max-width:100%;margin:0;box-shadow:none}.spftestimonial-field-heading{font-size:1.5em;font-weight:700;color:#23282d;background-color:#f5f5f5}.spftestimonial-field-subheading{font-size:14px;font-weight:700;padding-top:17px;padding-bottom:17px;color:#23282d;background-color:#f7f7f7}.spftestimonial-field-submessage{padding:0!important;border:0!important}.spftestimonial-field-submessage+.spftestimonial-field{border-top:0!important}.spftestimonial-submessage{font-size:12px;padding:17px 30px;border-top:1px solid transparent;border-bottom:1px solid transparent}.spftestimonial-submessage-success{color:#3c763d;border-color:#d6e9c6;background-color:#dff0d8}.spftestimonial-submessage-info{color:#31708f;border-color:#bce8f1;background-color:#d9edf7}.spftestimonial-submessage-warning{color:#8a6d3b;border-color:#faebcc;background-color:#fcf8e3}.spftestimonial-submessage-danger{color:#a94442;border-color:#ebccd1;background-color:#f2dede}.spftestimonial-submessage-normal{color:#23282d;border-color:#eee;background-color:#f7f7f7}.spftestimonial-field-notice{background-color:#f7f7f7}.spftestimonial-notice{padding:12px;background-color:#fff;border-left-style:solid;border-left-width:4px;box-shadow:0 1px 1px rgba(0,0,0,.1)}.spftestimonial-notice-success{border-color:#46b450}.spftestimonial-notice-info{border-color:#339fd4}.spftestimonial-notice-warning{border-color:#ffbc00}.spftestimonial-notice-danger{border-color:#dc3232}.spftestimonial-notice-normal{border-color:#222}.spftestimonial-field-number input{width:100%;margin:0}.spftestimonial-field-number .spftestimonial--wrap{position:relative;float:left;width:100px}.spftestimonial-field-number .spftestimonial--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}.spftestimonial-help{cursor:help;position:absolute;top:0;right:0;padding:5px;font-size:14px;color:#aaa}.spftestimonial-help .spftestimonial-help-text{display:none}.spftestimonial-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)}.spftestimonial-image-preview img{max-height:90px;display:inline-block;vertical-align:middle}.spftestimonial-field-custom .spftestimonial-field{padding:0}.spftestimonial-field .chosen-container-single .chosen-single{height:28px;line-height:26px}.spftestimonial-field .chosen-container-single .chosen-single abbr{top:0;right:20px;font-family:FontAwesome;font-size:12px;height:100%;width:18px;color:#aaa;text-align:center;background:0 0}.spftestimonial-field .chosen-container-single .chosen-single abbr:before{content:"\f00d"}.spftestimonial-field .chosen-container-single .chosen-single abbr:hover{color:#555}.spftestimonial-field .chosen-container-multi .chosen-choices li.search-choice .search-choice-close{font-family:FontAwesome;font-size:12px;height:100%;width:18px;color:#aaa;text-align:center;background:0 0}.spftestimonial-field .chosen-container-multi .chosen-choices li.search-choice .search-choice-close:before{content:"\f00d";display:inline-block;padding-top:3px}.spftestimonial-field .chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover{color:#555}.spftestimonial-field .chosen-container-single .chosen-single div b{font-family:FontAwesome;font-size:14px;color:#aaa;background:0 0}.spftestimonial-field .chosen-container-single .chosen-single div b:before{content:"\f107"}.spftestimonial-field .chosen-container-single .chosen-single div b:hover{color:#555}.spftestimonial-field .chosen-container-multi .chosen-choices li.search-choice-placeholder{border:1px dashed #aaa;margin:3px 5px 3px 0}.spftestimonial-field .chosen-container-multi .ui-sortable li.search-choice span{cursor:move}.spftestimonial-field .chosen-container-active.chosen-with-drop .chosen-single div b:before{content:"\f106"}.spftestimonial-field .chosen-container-single .chosen-single-with-deselect span{margin-right:40px}.spftestimonial-field .chosen-container-single .chosen-search input[type=text]{background:0 0}.spftestimonial-field .chosen-container-single .chosen-search:before{font-family:FontAwesome;position:absolute;content:"\f002";font-size:11px;right:10px;top:7px;color:#aaa}.spftestimonial-field .wp-picker-container{display:inline-block}.spftestimonial-field .spftestimonial--transparent-wrap{display:none;position:relative;top:-1px;width:235px;padding:9px 10px;border:1px solid #dfdfdf;border-top:none;background-color:#fff}.spftestimonial-field .wp-picker-active .spftestimonial--transparent-wrap{display:block}.spftestimonial-field .spftestimonial--transparent-slider{position:absolute;width:190px;margin-left:2px;height:18px}.spftestimonial-field .spftestimonial--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)}.spftestimonial-field .spftestimonial--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}.spftestimonial-field .spftestimonial--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}.spftestimonial-field .spftestimonial--transparent-text{position:absolute;top:12px;right:10px;width:30px;font-size:12px;line-height:12px;text-align:center;color:#999}.spftestimonial-field .spftestimonial--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}.spftestimonial-field .spftestimonial--transparent-active .wp-color-result{background-image:url(../images/checkerboard.png);background-size:135px;background-position:center left;background-color:transparent!important}.spftestimonial-field .spftestimonial--transparent-active .spftestimonial--transparent-button{color:#fff;border-color:#3ea032;background-color:#4fb845}.spftestimonial-field .spftestimonial--transparent-active .fa:before{content:"\f205"}.spftestimonial-widgets>.spftestimonial-field{position:relative;top:-1px;margin-right:-15px;margin-left:-15px;padding:12px 15px}.spftestimonial-widgets>.spftestimonial-field .spftestimonial-field{margin-left:0;margin-right:0}.spftestimonial-widgets>.spftestimonial-field .spftestimonial-title{float:none;width:100%;margin-bottom:5px}.spftestimonial-widgets>.spftestimonial-field .spftestimonial-fieldset{margin-left:0}.spftestimonial-widgets .spftestimonial-field-text input{width:100%}.spftestimonial-widgets .spftestimonial-field-notice .spftestimonial-notice{padding:15px}.control-section .spftestimonial-widgets>.spftestimonial-field{margin-right:-10px;margin-left:-10px;padding:10px 12px}.control-section .spftestimonial-field{padding:0}.control-section .spftestimonial-field .spftestimonial-title{float:none;width:100%;margin-bottom:6px}.control-section .spftestimonial-field .spftestimonial-title h4{display:block;font-size:13px;line-height:1;font-weight:600;color:inherit}.control-section .spftestimonial-field .spftestimonial-fieldset{margin-left:0}.control-section .spftestimonial-help{top:-5px;right:-5px}.control-section .spftestimonial-field-select select{width:100%}.control-section .spftestimonial-field-heading{color:inherit;font-size:14px;line-height:1em;margin-right:-15px;margin-left:-15px;padding:15px}.control-section .spftestimonial-field-subheading{color:inherit;font-size:11px;margin-right:-15px;margin-left:-15px;padding:10px 15px}.control-section .spftestimonial-text-subtitle{margin-top:4px;font-size:12px}.control-section .spftestimonial-field-submessage .spftestimonial-submessage{margin-right:-15px;margin-left:-15px;padding:15px}.control-section .spftestimonial-fieldset .spftestimonial-field-heading,.control-section .spftestimonial-fieldset .spftestimonial-field-subheading,.control-section .spftestimonial-fieldset .spftestimonial-field-submessage .spftestimonial-submessage{margin-left:0;margin-right:0}.control-section .spftestimonial-field-date .spftestimonial--to{margin-left:0}.control-section .spftestimonial-field-sorter ul li{padding:5px}.control-section .spftestimonial-field-sorter .spftestimonial-modules{float:none;width:100%}.control-section .spftestimonial-field-sorter .spftestimonial-modules:first-child{padding-right:0;padding-bottom:15px}.control-section .spftestimonial-field-background .spftestimonial--background-attributes{flex-direction:column}.control-section .spftestimonial-field-spacing input{width:90px}.control-section .spftestimonial-field-border .spftestimonial--input{flex:1 50%}.control-section .spftestimonial-field-border input,.control-section .spftestimonial-field-border select{width:100%}.control-section .spftestimonial-field-spinner input{width:50px}.control-section .spftestimonial-field-number .spftestimonial--wrap{width:100%}.control-section .spftestimonial-field-backup .spftestimonial-export-data{display:none}.control-section .spftestimonial-field-fieldset .spftestimonial-fieldset-content{border-color:#e5e5e5}.control-section .spftestimonial-field-fieldset .spftestimonial-field{padding:10px}.control-section .spftestimonial-field-fieldset .spftestimonial-field .spftestimonial-title{margin-bottom:5px}.control-section .spftestimonial-field-fieldset .spftestimonial-field h4{font-size:12px}.control-section .spftestimonial-field-accordion .spftestimonial-field,.control-section .spftestimonial-field-group .spftestimonial-field,.control-section .spftestimonial-field-repeater .spftestimonial-field,.control-section .spftestimonial-field-sortable .spftestimonial-field,.control-section .spftestimonial-field-tabbed .spftestimonial-field{padding:10px}.control-section .spftestimonial-field-accordion .spftestimonial-field .spftestimonial-title,.control-section .spftestimonial-field-group .spftestimonial-field .spftestimonial-title,.control-section .spftestimonial-field-repeater .spftestimonial-field .spftestimonial-title,.control-section .spftestimonial-field-sortable .spftestimonial-field .spftestimonial-title,.control-section .spftestimonial-field-tabbed .spftestimonial-field .spftestimonial-title{margin-bottom:5px}.control-section .spftestimonial-field-accordion .spftestimonial-field h4,.control-section .spftestimonial-field-group .spftestimonial-field h4,.control-section .spftestimonial-field-repeater .spftestimonial-field h4,.control-section .spftestimonial-field-sortable .spftestimonial-field h4,.control-section .spftestimonial-field-tabbed .spftestimonial-field h4{font-size:12px}.control-section .spftestimonial-dependency-control.hidden{display:none!important}.spftestimonial-modal{display:none;position:fixed;z-index:100101;top:0;left:0;width:100%;height:100%}.spftestimonial-modal-icon{z-index:100102}.spftestimonial-modal-table{display:table;width:100%;height:100%}.spftestimonial-modal-table-cell{display:table-cell;vertical-align:middle;margin:100px 0}.spftestimonial-modal-inner{position:relative;z-index:10;width:760px;height:750px;margin:0 auto;background-color:#fff}.spftestimonial-modal-content{position:relative;overflow:hidden;overflow-y:auto;height:595px}.spftestimonial-modal-content .spftestimonial-fieldset{margin-left:25%}.spftestimonial-modal-content .spftestimonial-title{width:20%}.spftestimonial-modal-content .spftestimonial-field{padding:15px 30px 15px 15px}.spftestimonial-modal-content a:active,.spftestimonial-modal-content a:focus{outline:0;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.spftestimonial-modal-content h4{font-size:13px}.spftestimonial-modal-content h4 small{font-style:italic;font-weight:400;color:#aaa}.spftestimonial-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}.spftestimonial-modal-header{width:100%;padding:14px 0;background-color:#f5f5f5;border-bottom:1px solid #eee}.spftestimonial-modal-header select{display:block;width:250px;margin:0 auto;font-size:13px;line-height:1;height:30px;min-height:30px;background-color:#fff}.spftestimonial-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}.spftestimonial-modal-close:before{font:normal 20px/36px dashicons;content:"\f158";vertical-align:top;width:36px;height:36px}.spftestimonial-modal-close:hover{opacity:.5}.spftestimonial-modal-insert-wrapper{text-align:center;width:100%;padding:15px 0;background-color:#f5f5f5;border-top:1px solid #eee}.spftestimonial-modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#000;opacity:.5}.spftestimonial-text-desc,.spftestimonial-text-subtitle{font-weight:400;margin-top:10px;color:#999}.spftestimonial-text-success{color:#2b542c}.spftestimonial-text-error{color:#d02c21}.spftestimonial-text-info{color:#31708f}.spftestimonial-text-warning{color:#ffb900}.spftestimonial-text-muted{color:#aaa}.spftestimonial-text-left{text-align:left}.spftestimonial-text-center{text-align:center}.spftestimonial-text-right{text-align:right}.spftestimonial-block-left{float:left}.spftestimonial-block-right{float:right}.spftestimonial-full-width{width:100%}.spftestimonial-full-half{width:50%}.spftestimonial-table{width:100%;display:table}.spftestimonial-table-cell{display:table-cell;vertical-align:middle}.spftestimonial-table-expanded{width:100%}.spftestimonial-nowrap{white-space:nowrap}.spftestimonial-text-highlight{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px}.spftestimonial-text-highlight-gray{padding:2px 4px;font-size:90%;background-color:#f0f0f0;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px}.spftestimonial-hidden{display:none}.spftestimonial-hide{display:none!important}.spftestimonial-show{display:block!important}.spftestimonial-opacity{opacity:.5}.spftestimonial-warning-primary{color:#fff!important;border-color:#dc3545!important;background:#dc3545!important}.spftestimonial-warning-primary:focus,.spftestimonial-warning-primary:hover{border-color:#bd2130!important;background:#bd2130!important}.spftestimonial-warning-primary:focus{box-shadow:0 0 0 1px #fff,0 0 0 3px #bd2130!important}.spftestimonial-warning-primary:active{border-color:#bd2130!important;background:#bd2130!important}.spftestimonial-form-result{display:none;float:left;padding:0 8px;margin-right:4px;font-size:11px;line-height:28px;user-select:none;border-radius:2px}.spftestimonial-form-show{display:block}.spftestimonial-form-success{color:#fff;background-color:#46b450}.spftestimonial-form-warning{color:#8a6d3b;background-color:#faebcc}.spftestimonial-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}.spftestimonial-no-option{padding:30px}.spftestimonial-input-number{-moz-appearance:textfield}.spftestimonial-input-number::-webkit-inner-spin-button,.spftestimonial-input-number::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}@media only screen and (max-width:1200px){.spftestimonial-metabox .spftestimonial-field .spftestimonial-title{float:none;width:100%;margin-bottom:10px}.spftestimonial-metabox .spftestimonial-field .spftestimonial-fieldset{margin-left:0}}@media only screen and (max-width:782px){.spftestimonial-header-inner{text-align:center}.spftestimonial-header-inner h1{width:100%;margin-bottom:10px}.spftestimonial-form-result{float:none;margin-right:0;margin-bottom:10px}.spftestimonial-header-left,.spftestimonial-header-right,.spftestimonial-search{width:100%}.spftestimonial-search{text-align:center;margin-bottom:15px}.spftestimonial-footer{text-align:center}.spftestimonial-buttons{float:none}.spftestimonial-copyright{float:none;margin-top:10px}.spftestimonial-expand-all,.spftestimonial-nav,.spftestimonial-nav-background,.spftestimonial-reset-section{display:none!important}.spftestimonial-content{margin-left:0}.spftestimonial-section,.spftestimonial-section-title{display:block!important}.spftestimonial-field .spftestimonial-title{float:none;width:100%;margin-bottom:10px}.spftestimonial-field .spftestimonial-fieldset{margin-left:0}.spftestimonial-modal-inner{width:350px;height:400px}.spftestimonial-modal-content{height:237px}.spftestimonial-icon-dialog .spftestimonial-modal-inner{width:305px;height:380px}.spftestimonial-icon-dialog .spftestimonial-modal-content{height:267px}.spftestimonial-modal-icon .spftestimonial-modal-inner{width:330px;height:385px}.spftestimonial-modal-icon .spftestimonial-modal-content{height:252px}}.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}.tfree-layout-preset .spftestimonial--image.pro-feature{position:relative;pointer-events:none}.tfree-layout-preset .spftestimonial--image.pro-feature::after{position:absolute;top:1px;right:1px;color:#a5a5a5;background-color:#e0e0e0;font-weight:500;padding:0 4px;content:'PRO';text-align:center;font-size:8px}
admin/views/framework/assets/images/layout/filter-even.png ADDED
Binary file
admin/views/framework/assets/images/layout/filter-masonry.png ADDED
Binary file
admin/views/framework/assets/images/layout/filter.png ADDED
Binary file
admin/views/framework/assets/images/layout/grid.png ADDED
Binary file
admin/views/framework/assets/images/layout/list.png ADDED
Binary file
admin/views/framework/assets/images/layout/masonry.png ADDED
Binary file
admin/views/framework/assets/images/layout/slider.png ADDED
Binary file
admin/views/framework/assets/js/csf-plugins.min.js DELETED
@@ -1,3 +0,0 @@
1
- /* Codestar Framework | A Simple and Lightweight WordPress Option Framework - v2.1.3.x*/
2
-
3
- !function(t){function e(e,s){this.element=t(e),this.options=s,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 e=t.trim(this.search_field.val()),s=this.container.find(".chosen-results");0===s.children().length&&0===e.length&&s.html('<li class="no-results">'+this.options.typing_text.replace("%s",this.options.min_length-e.length)+"</li>")},e.prototype.update_list=function(){var e=this;if(this.search_welcome_message(),!this.is_typing){var s=t.trim(this.search_field.val()),i=s.length<this.options.min_length?this.options.typing_text.replace("%s",this.options.min_length-s.length):this.options.searching_text;this.container.find(".no-results").text(i),s!==this.search_field.data("prevVal")&&(this.search_field.data("prevVal",s),this.timer&&clearTimeout(this.timer),s.length<this.options.min_length||(this.timer=setTimeout(function(){e.chosenXhr&&e.chosenXhr.abort(),e.options.data.term=s,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(e){var s=this;if(!this.is_typing&&null!==e){if(0===e.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(){t(this).is(":selected")?i.push(t(this).val()+"-"+t(this).text()):t(this).attr("value").length&&t(this).remove()}),t.each(e,function(e,n){-1===t.inArray(n.value+"-"+n.text,i)&&t("<option />").attr("value",n.value).html(n.text).appendTo(s.element)});var n=this.search_field.val(),r=this.search_field.innerWidth();if(this.element.trigger("chosen:updated"),this.is_multiple){var o=this.element.parent().find(".csf-hidden-select").val()||[];this.element.CSFChosenOrder(o,!0),this.search_field.css("width",r)}this.search_field.val(n),null!==this.chosenXhr.done&&this.chosenXhr.done(e)}},t.fn.CSFAjaxChosen=function(t){return this.each(function(){new e(this,t)})}}(jQuery),function(){var t,e,s=[].indexOf||function(t){for(var e=0,s=this.length;e<s;e++)if(e in this&&this[e]===t)return e;return-1},i={}.hasOwnProperty;e=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 i,n,r,o;for(r=this.getFlattenedOptionsAndGroups(t),i=0;i<r.length;)o=(n=r[i]).getAttribute("value"),s.call(e,o)>=0?(n.selected=!0,n.setAttribute("selected","")):(n.selected=!1,n.removeAttribute("selected")),i++;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}(),(t=jQuery).fn.extend({CSFChosenOrder:function(t,e){return _CSFChosenOrder.CSFChosenOrder(this,t,e)}}),this._CSFChosenOrder=function(s){function n(){return n.__super__.constructor.apply(this,arguments)}return function(t,e){for(var s in e)i.call(e,s)&&(t[s]=e[s]);function n(){this.constructor=t}n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype}(n,e),n.relAttributeName="data-option-array-index",n.isjQueryObject=function(t){return"undefined"!=typeof jQuery&&null!==jQuery&&t instanceof jQuery},n.getDOMElement=function(t){return this.isjQueryObject(t)?t.get(0):t},n.searchChosenUIContainer=function(e){return null!=t(e).data("chosen")?t(e).data("chosen").container[0]:t(e).next(".chosen-container.chosen-container-multi").get(0)},n.triggerEvent=function(e,s){return t(e).trigger(s)},n}()}.call(this),function(){var t,e,s,i,n=function(t,e){return function(){return t.apply(e,arguments)}},r={}.hasOwnProperty;(i=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,n,r,o;for(r=new i,s=0,n=(o=t.childNodes).length;s<n;s++)e=o[s],r.add_node(e);return r.parsed},e=function(){function t(e,s){this.form_field=e,this.options=null!=s?s:{},this.label_click_handler=n(this.label_click_handler,this),t.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 t.prototype.set_default_values=function(){var t,e;return this.click_test_action=(t=this,function(e){return t.test_active_click(e)}),this.activate_action=(e=this,function(t){return e.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},t.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||t.default_multiple_text:this.default_text=this.options.placeholder_text_single||this.options.placeholder_text||t.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||t.default_no_result_text},t.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},t.prototype.mouse_enter=function(){return this.mouse_on_container=!0},t.prototype.mouse_leave=function(){return this.mouse_on_container=!1},t.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},t.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},t.prototype.label_click_handler=function(t){return this.is_multiple?this.container_mousedown(t):this.activate_field()},t.prototype.results_option_build=function(t){var e,s,i,n,r,o,h;for(e="",h=0,n=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},t.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)):""},t.prototype.result_add_group=function(t){var e,s;return(t.search_match||t.group_match)&&t.active_options>0?((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)):""},t.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()},t.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},t.prototype.results_toggle=function(){return this.results_showing?this.results_hide():this.results_show()},t.prototype.results_search=function(t){return this.results_showing?this.winnow_results():this.results_show()},t.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,_=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())},t.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)},t.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},t.prototype.choices_count=function(){var t,e,s;if(null!=this.selected_option_count)return this.selected_option_count;for(this.selected_option_count=0,t=0,e=(s=this.form_field.options).length;t<e;t++)s[t].selected&&(this.selected_option_count+=1);return this.selected_option_count},t.prototype.choices_click=function(t){if(t.preventDefault(),this.activate_field(),!this.results_showing&&!this.is_disabled)return this.results_show()},t.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()}},t.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&&this.choices_count()>0?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()}},t.prototype.clipboard_event_checker=function(t){var e;if(!this.is_disabled)return setTimeout((e=this,function(){return e.results_search()}),50)},t.prototype.container_width=function(){return null!=this.options.width?this.options.width:this.form_field.offsetWidth+"px"},t.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)},t.prototype.search_results_touchstart=function(t){return this.touch_started=!0,this.search_results_mouseover(t)},t.prototype.search_results_touchmove=function(t){return this.touch_started=!1,this.search_results_mouseout(t)},t.prototype.search_results_touchend=function(t){if(this.touch_started)return this.search_results_mouseup(t)},t.prototype.outerHTML=function(t){var e;return t.outerHTML?t.outerHTML:((e=document.createElement("div")).appendChild(t),e.innerHTML)},t.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>'},t.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>'},t.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>"},t.browser_is_supported=function(){return"Microsoft Internet Explorer"===window.navigator.appName?document.documentMode>=8:!(/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))},t.default_multiple_text="Select Some Options",t.default_single_text="Select an Option",t.default_no_result_text="No results match",t}(),(t=jQuery).fn.extend({chosen:function(i){return e.browser_is_supported()?this.each(function(e){var n,r;r=(n=t(this)).data("chosen"),"destroy"!==i?r instanceof s||n.data("chosen",new s(this,i)):r instanceof s&&r.destroy()}):this}}),s=function(s){function n(){return n.__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}(n,e),n.prototype.setup=function(){return this.form_field_jq=t(this.form_field),this.current_selectedIndex=this.form_field.selectedIndex},n.prototype.set_up_html=function(){var e,s;return(e=["chosen-container"]).push("chosen-container-"+(this.is_multiple?"multi":"single")),this.inherit_select_classes&&this.form_field.className&&e.push(this.form_field.className),this.is_rtl&&e.push("chosen-rtl"),s={class:e.join(" "),title:this.form_field.title},this.form_field.id.length&&(s.id=this.form_field.id.replace(/[^\w]/g,"_")+"_chosen"),this.container=t("<div />",s),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()},n.prototype.on_ready=function(){return this.form_field_jq.trigger("chosen:ready",{chosen:this})},n.prototype.register_observers=function(){var t,e,s,i,n,r,o,h,l,c,a,u,_,d,p,f,g,m,v,y,b,w,x,k;return this.container.on("touchstart.chosen",(t=this,function(e){t.container_mousedown(e)})),this.container.on("touchend.chosen",(e=this,function(t){e.container_mouseup(t)})),this.container.on("mousedown.chosen",(s=this,function(t){s.container_mousedown(t)})),this.container.on("mouseup.chosen",(i=this,function(t){i.container_mouseup(t)})),this.container.on("mouseenter.chosen",(n=this,function(t){n.mouse_enter(t)})),this.container.on("mouseleave.chosen",(r=this,function(t){r.mouse_leave(t)})),this.search_results.on("mouseup.chosen",(o=this,function(t){o.search_results_mouseup(t)})),this.search_results.on("mouseover.chosen",(h=this,function(t){h.search_results_mouseover(t)})),this.search_results.on("mouseout.chosen",(l=this,function(t){l.search_results_mouseout(t)})),this.search_results.on("mousewheel.chosen DOMMouseScroll.chosen",(c=this,function(t){c.search_results_mousewheel(t)})),this.search_results.on("touchstart.chosen",(a=this,function(t){a.search_results_touchstart(t)})),this.search_results.on("touchmove.chosen",(u=this,function(t){u.search_results_touchmove(t)})),this.search_results.on("touchend.chosen",(_=this,function(t){_.search_results_touchend(t)})),this.form_field_jq.on("chosen:updated.chosen",(d=this,function(t){d.results_update_field(t)})),this.form_field_jq.on("chosen:activate.chosen",(p=this,function(t){p.activate_field(t)})),this.form_field_jq.on("chosen:open.chosen",(f=this,function(t){f.container_mousedown(t)})),this.form_field_jq.on("chosen:close.chosen",(g=this,function(t){g.close_field(t)})),this.search_field.on("blur.chosen",(m=this,function(t){m.input_blur(t)})),this.search_field.on("keyup.chosen",(v=this,function(t){v.keyup_checker(t)})),this.search_field.on("keydown.chosen",(y=this,function(t){y.keydown_checker(t)})),this.search_field.on("focus.chosen",(b=this,function(t){b.input_focus(t)})),this.search_field.on("cut.chosen",(w=this,function(t){w.clipboard_event_checker(t)})),this.search_field.on("paste.chosen",(x=this,function(t){x.clipboard_event_checker(t)})),this.is_multiple?this.search_choices.on("click.chosen",(k=this,function(t){k.choices_click(t)})):this.container.on("click.chosen",function(t){t.preventDefault()})},n.prototype.destroy=function(){return t(this.container[0].ownerDocument).off("click.chosen",this.click_test_action),this.form_field_label.length>0&&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()},n.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)},n.prototype.container_mousedown=function(e){var s;if(!this.is_disabled)return!e||"mousedown"!==(s=e.type)&&"touchstart"!==s||this.results_showing||e.preventDefault(),null!=e&&t(e.target).hasClass("search-choice-close")?void 0:(this.active_field?this.is_multiple||!e||t(e.target)[0]!==this.selected_item[0]&&!t(e.target).parents("a.chosen-single").length||(e.preventDefault(),this.results_toggle()):(this.is_multiple&&this.search_field.val(""),t(this.container[0].ownerDocument).on("click.chosen",this.click_test_action),this.results_show()),this.activate_field())},n.prototype.container_mouseup=function(t){if("ABBR"===t.target.nodeName&&!this.is_disabled)return this.results_reset(t)},n.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())},n.prototype.blur_test=function(t){if(!this.active_field&&this.container.hasClass("chosen-container-active"))return this.close_field()},n.prototype.close_field=function(){return t(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()},n.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()},n.prototype.test_active_click=function(e){var s;return(s=t(e.target).closest(".chosen-container")).length&&this.container[0]===s[0]?this.active_field=!0:this.close_field()},n.prototype.results_build=function(){return this.parsing=!0,this.selected_option_count=null,this.results_data=i.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},n.prototype.result_do_highlight=function(t){var e,s,i,n,r;if(t.length){if(this.result_clear_highlight(),this.result_highlight=t,this.result_highlight.addClass("highlighted"),n=(i=parseInt(this.search_results.css("maxHeight"),10))+(r=this.search_results.scrollTop()),(e=(s=this.result_highlight.position().top+this.search_results.scrollTop())+this.result_highlight.outerHeight())>=n)return this.search_results.scrollTop(e-i>0?e-i:0);if(s<r)return this.search_results.scrollTop(s)}},n.prototype.result_clear_highlight=function(){return this.result_highlight&&this.result_highlight.removeClass("highlighted"),this.result_highlight=null},n.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}))},n.prototype.update_results_content=function(t){return this.search_results.html(t)},n.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},n.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},n.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=t("label[for='"+this.form_field.id+"']")),this.form_field_label.length>0)return this.form_field_label.on("click.chosen",this.label_click_handler)},n.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"))},n.prototype.search_results_mouseup=function(e){var s;if((s=t(e.target).hasClass("active-result")?t(e.target):t(e.target).parents(".active-result").first()).length)return this.result_highlight=s,this.result_select(e),this.search_field.focus()},n.prototype.search_results_mouseover=function(e){var s;if(s=t(e.target).hasClass("active-result")?t(e.target):t(e.target).parents(".active-result").first())return this.result_do_highlight(s)},n.prototype.search_results_mouseout=function(e){if(t(e.target).hasClass("active-result")||t(e.target).parents(".active-result").first())return this.result_clear_highlight()},n.prototype.choice_build=function(e){var s,i,n;return s=t("<li />",{class:"search-choice"}).html("<span>"+this.choice_label(e)+"</span>"),e.disabled?s.addClass("search-choice-disabled"):((i=t("<a />",{class:"search-choice-close","data-option-array-index":e.array_index})).on("click.chosen",(n=this,function(t){return n.choice_destroy_link_click(t)})),s.append(i)),this.search_container.before(s)},n.prototype.choice_destroy_link_click=function(e){if(e.preventDefault(),e.stopPropagation(),!this.is_disabled)return this.choice_destroy(t(e.target))},n.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&&this.choices_count()>0&&this.get_search_field_value().length<1&&this.results_hide(),t.parents("li").first().remove(),this.search_field_scale()},n.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()},n.prototype.results_reset_cleanup=function(){return this.current_selectedIndex=this.form_field.selectedIndex,this.selected_item.find("abbr").remove()},n.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())},n.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)},n.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)},n.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")},n.prototype.get_search_field_value=function(){return this.search_field.val()},n.prototype.get_search_text=function(){return t.trim(this.get_search_field_value())},n.prototype.escape_html=function(e){return t("<div/>").text(e).html()},n.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)},n.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})},n.prototype.no_results_clear=function(){return this.search_results.find(".no-results").remove()},n.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()},n.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()):(this.choices_count()>0&&this.results_hide(),this.result_clear_highlight()):void 0:this.results_show()},n.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},n.prototype.clear_backstroke=function(){return this.pending_backstroke&&this.pending_backstroke.removeClass("search-choice-focus"),this.pending_backstroke=null},n.prototype.search_field_scale=function(){var e,s,i,n,r,o,h;if(this.is_multiple){for(r={position:"absolute",left:"-1000px",top:"-1000px",display:"none",whiteSpace:"pre"},s=0,i=(o=["fontSize","fontStyle","fontWeight","fontFamily","lineHeight","textTransform","letterSpacing"]).length;s<i;s++)r[n=o[s]]=this.search_field.css(n);return(e=t("<div />").css(r)).text(this.get_search_field_value()),t("body").append(e),h=e.width()+25,e.remove(),this.container.is(":visible")&&(h=Math.min(this.container.outerWidth()-10,h)),this.search_field.width(h)}},n.prototype.trigger_form_field_change=function(t){return this.form_field_jq.trigger("input",t),this.form_field_jq.trigger("change",t)},n}()}.call(this),function(t){"use strict";function e(t,e,s){this.init(t,e,s)}function s(){this.rules=[]}t.extend(e.prototype,{init:function(t,e,s){this.controller=t,this.condition=e,this.value=s,this.rules=[],this.controls=[]},evalCondition:function(e,s,i,n,r){if("=="==i)return this.checkBoolean(n)==this.checkBoolean(r);if("!="==i)return this.checkBoolean(n)!=this.checkBoolean(r);if(">="==i)return Number(r)>=Number(n);if("<="==i)return Number(r)<=Number(n);if(">"==i)return Number(r)>Number(n);if("<"==i)return Number(r)<Number(n);if("()"==i)return window[n](e,s,r);if("any"==i){if(t.isArray(r)){for(var o=r.length-1;o>=0;o--)if(-1!==t.inArray(r[o],n.split(",")))return!0}else if(-1!==t.inArray(r,n.split(",")))return!0}else if("not-any"==i)if(t.isArray(r)){for(o=r.length-1;o>=0;o--)if(-1==t.inArray(r[o],n.split(",")))return!0}else if(-1==t.inArray(r,n.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 e.length>1&&("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,s,i){var n=new e(t,s,i);return this.rules.push(n),n},include:function(t){this.controls.push(t)},applyRule:function(e,s){var i;i=void 0===s?this.checkCondition(e):s;var n=t.map(this.controls,function(t,s){return e.find(t)});i?(t(n).each(function(){t(this).removeClass("hidden")}),t(this.rules).each(function(){this.applyRule(e)})):(t(n).each(function(){t(this).addClass("hidden")}),t(this.rules).each(function(){this.applyRule(e,!1)}))}}),t.extend(s.prototype,{createRule:function(t,s,i){var n=new e(t,s,i);return this.rules.push(n),n},applyRules:function(e){t(this.rules).each(function(){this.applyRule(e)})}}),t.csf_deps={createRuleset:function(){return new s},enable:function(t,e,s){return t.on("change keyup",function(i){var n=i.target.getAttribute("data-depend-id")||i.target.getAttribute("data-sub-depend-id");-1!==s.indexOf(n)&&e.applyRules(t)}),e.applyRules(t),!0}}}(jQuery),function(t,e){if("function"==typeof define&&define.amd)define(["exports","jquery"],function(t,s){return e(t,s)});else if("undefined"!=typeof exports){var s=require("jquery");e(exports,s)}else e(t,t.jQuery||t.Zepto||t.ender||t.$)}(this,function(t,e){var s={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 i(t,e){var i={},n={};function r(t,e,s){return t[e]=s,t}function o(){return i}this.addPair=function(e){if(!s.validate.test(e.name))return this;var o=function(t,e){for(var i,o=t.match(s.key);void 0!==(i=o.pop());)s.push.test(i)?e=r([],(h=t.replace(/\[\]$/,""),void 0===n[h]&&(n[h]=0),n[h]++),e):s.fixed.test(i)?e=r([],i,e):s.named.test(i)&&(e=r({},i,e));var h;return e}(e.name,e.value);return i=t.extend(!0,i,o),this},this.addPairs=function(e){if(!t.isArray(e))throw new Error("formSerializer.addPairs expects an Array");for(var s=0,i=e.length;s<i;s++)this.addPair(e[s]);return this},this.serialize=o,this.serializeJSON=function(){return JSON.stringify(o())}}return i.patterns=s,i.serializeObject=function(){return new i(e,this).addPairs(this.serializeArray()).serialize()},i.serializeJSON=function(){return new i(e,this).addPairs(this.serializeArray()).serializeJSON()},void 0!==e.fn&&(e.fn.serializeObjectCSF=i.serializeObject,e.fn.serializeJSONCSF=i.serializeJSON),t.FormSerializer=i,i});
 
 
 
admin/views/framework/assets/js/csf.min.js DELETED
@@ -1 +0,0 @@
1
- !function($,window,document,undefined){"use strict";var CSF=CSF||{};CSF.funcs={},CSF.vars={onloaded:!1,$body:$("body"),$window:$(window),$document:$(document),$form_warning:null,form_modified:!1,code_themes:[],is_rtl:$("body").hasClass("rtl")},CSF.helper={uid:function(prefix){return(prefix||"")+Math.random().toString(36).substr(2,9)},preg_quote:function(str){return(str+"").replace(/(\[|\-|\])/g,"\\$1")},name_nested_replace:function($selector,field_id){var checks=[],regex=new RegExp("("+CSF.helper.preg_quote(field_id)+")\\[(\\d+)\\]","g");$selector.find(":radio").each((function(){(this.checked||this.orginal_checked)&&(this.orginal_checked=!0)})),$selector.each((function(index){$(this).find(":input").each((function(){this.name=this.name.replace(regex,field_id+"["+index+"]"),this.orginal_checked&&(this.checked=!0)}))}))},debounce:function(callback,threshold,immediate){var timeout;return function(){var context=this,args=arguments,later=function(){timeout=null,immediate||callback.apply(context,args)},callNow=immediate&&!timeout;clearTimeout(timeout),timeout=setTimeout(later,threshold),callNow&&callback.apply(context,args)}},get_cookie:function(name){var e,b,cookie=document.cookie,p=name+"=";if(cookie){if(-1===(b=cookie.indexOf("; "+p))){if(0!==(b=cookie.indexOf(p)))return null}else b+=2;return-1===(e=cookie.indexOf(";",b))&&(e=cookie.length),decodeURIComponent(cookie.substring(b+p.length,e))}},set_cookie:function(name,value,expires,path,domain,secure){var d=new Date;"object"==typeof expires&&expires.toGMTString?expires=expires.toGMTString():parseInt(expires,10)?(d.setTime(d.getTime()+1e3*parseInt(expires,10)),expires=d.toGMTString()):expires="",document.cookie=name+"="+encodeURIComponent(value)+(expires?"; expires="+expires:"")+(path?"; path="+path:"")+(domain?"; domain="+domain:"")+(secure?"; secure":"")},remove_cookie:function(name,path,domain,secure){CSF.helper.set_cookie(name,"",-1e3,path,domain,secure)}},$.fn.csf_clone=function(){for(var base=$.fn.clone.apply(this,arguments),clone=this.find("select").add(this.filter("select")),cloned=base.find("select").add(base.filter("select")),i=0;i<clone.length;++i)for(var j=0;j<clone[i].options.length;++j)!0===clone[i].options[j].selected&&(cloned[i].options[j].selected=!0);return this.find(":radio").each((function(){this.orginal_checked=this.checked})),base},$.fn.csf_expand_all=function(){return this.each((function(){$(this).on("click",(function(e){e.preventDefault(),$(".csf-wrapper").toggleClass("csf-show-all"),$(".csf-section").csf_reload_script(),$(this).find(".fa").toggleClass("fa-indent").toggleClass("fa-outdent")}))}))},$.fn.csf_nav_options=function(){return this.each((function(){var $nav=$(this),$links=$nav.find("a"),$hidden=$nav.closest(".csf").find(".csf-section-id"),$last_section;$(window).on("hashchange",(function(){var hash=window.location.hash.match(new RegExp("tab=([^&]*)")),slug=hash?hash[1]:$links.first().attr("href").replace("#tab=",""),$link=$("#csf-tab-link-"+slug);if($link.length>0){$link.closest(".csf-tab-depth-0").addClass("csf-tab-active").siblings().removeClass("csf-tab-active"),$links.removeClass("csf-section-active"),$link.addClass("csf-section-active"),void 0!==$last_section&&$last_section.hide();var $section=$("#csf-section-"+slug);$section.css({display:"block"}),$section.csf_reload_script(),$hidden.val(slug),$last_section=$section}})).trigger("hashchange")}))},$.fn.csf_nav_metabox=function(){return this.each((function(){var $nav=$(this),$links=$nav.find("a"),unique_id=$nav.data("unique"),post_id=$("#post_ID").val()||"global",$last_section,$last_link;$links.on("click",(function(e){e.preventDefault();var $link=$(this),section_id=$link.data("section");void 0!==$last_link&&$last_link.removeClass("csf-section-active"),void 0!==$last_section&&$last_section.hide(),$link.addClass("csf-section-active");var $section=$("#csf-section-"+section_id);$section.css({display:"block"}),$section.csf_reload_script(),CSF.helper.set_cookie("csf-last-metabox-tab-"+post_id+"-"+unique_id,section_id),$last_section=$section,$last_link=$link}));var get_cookie=CSF.helper.get_cookie("csf-last-metabox-tab-"+post_id+"-"+unique_id);get_cookie?$nav.find('a[data-section="'+get_cookie+'"]').trigger("click"):$links.first("a").trigger("click")}))},$.fn.csf_page_templates=function(){this.length&&$(document).on("change",".editor-page-attributes__template select, #page_template",(function(){var maybe_value=$(this).val()||"default";$(".csf-page-templates").removeClass("csf-show").addClass("csf-hide"),$(".csf-page-"+maybe_value.toLowerCase().replace(/[^a-zA-Z0-9]+/g,"-")).removeClass("csf-hide").addClass("csf-show")}))},$.fn.csf_post_formats=function(){this.length&&$(document).on("change",'.editor-post-format select, #formatdiv input[name="post_format"]',(function(){var maybe_value=$(this).val()||"default";maybe_value="0"===maybe_value?"default":maybe_value,$(".csf-post-formats").removeClass("csf-show").addClass("csf-hide"),$(".csf-post-format-"+maybe_value).removeClass("csf-hide").addClass("csf-show")}))},$.fn.csf_search=function(){return this.each((function(){var $this,$input;$(this).find("input").on("change keyup",(function(){var value=$(this).val(),$wrapper=$(".csf-wrapper"),$section,$fields=$wrapper.find(".csf-section").find("> .csf-field:not(.hidden)"),$titles=$fields.find("> .csf-title, .csf-search-tags");value.length>3?($fields.addClass("csf-hidden"),$wrapper.addClass("csf-search-all"),$titles.each((function(){var $title=$(this);if($title.text().match(new RegExp(".*?"+value+".*?","i"))){var $field=$title.closest(".csf-field");$field.removeClass("csf-hidden"),$field.parent().csf_reload_script()}}))):($fields.removeClass("csf-hidden"),$wrapper.removeClass("csf-search-all"))}))}))},$.fn.csf_sticky=function(){return this.each((function(){var $this=$(this),$window=$(window),$inner=$this.find(".csf-header-inner"),padding=parseInt($inner.css("padding-left"))+parseInt($inner.css("padding-right")),offset=32,scrollTop=0,lastTop=0,ticking=!1,stickyUpdate=function(){var offsetTop=$this.offset().top,stickyTop=Math.max(32,offsetTop-scrollTop),winWidth=Math.max(document.documentElement.clientWidth,window.innerWidth||0);stickyTop<=32&&winWidth>782?($inner.css({width:$this.outerWidth()-padding}),$this.css({height:$this.outerHeight()}).addClass("csf-sticky")):($inner.removeAttr("style"),$this.removeAttr("style").removeClass("csf-sticky"))},requestTick=function(){ticking||requestAnimationFrame((function(){stickyUpdate(),ticking=!1})),ticking=!0},onSticky=function(){scrollTop=$window.scrollTop(),requestTick()};$window.on("scroll resize",onSticky),onSticky()}))},$.fn.csf_dependency=function(){return this.each((function(){var $this=$(this),ruleset=$.csf_deps.createRuleset(),depends=[],is_global=!1;$this.children("[data-controller]").each((function(){var $field=$(this),controllers=$field.data("controller").split("|"),conditions=$field.data("condition").split("|"),values=$field.data("value").toString().split("|"),rules=ruleset;$field.data("depend-global")&&(is_global=!0),$.each(controllers,(function(index,depend_id){var value=values[index]||"",condition=conditions[index]||conditions[0];(rules=rules.createRule('[data-depend-id="'+depend_id+'"]',condition,value)).include($field),depends.push(depend_id)}))})),depends.length&&(is_global?$.csf_deps.enable(CSF.vars.$body,ruleset,depends):$.csf_deps.enable($this,ruleset,depends))}))},$.fn.csf_field_accordion=function(){return this.each((function(){var $titles;$(this).find(".csf-accordion-title").on("click",(function(){var $title=$(this),$icon=$title.find(".csf-accordion-icon"),$content=$title.next();$icon.hasClass("fa-angle-right")?$icon.removeClass("fa-angle-right").addClass("fa-angle-down"):$icon.removeClass("fa-angle-down").addClass("fa-angle-right"),$content.data("opened")||($content.csf_reload_script(),$content.data("opened",!0)),$content.toggleClass("csf-accordion-open")}))}))},$.fn.csf_field_backup=function(){return this.each((function(){if(void 0!==window.wp.customize){var base=this,$this=$(this),$body=$("body"),$import=$this.find(".csf-import"),$reset=$this.find(".csf-reset");base.notification=function(message_text){wp.customize.notifications&&wp.customize.OverlayNotification&&(wp.customize.state("saved").get()||(wp.customize.state("changesetStatus").set("trash"),wp.customize.each((function(setting){setting._dirty=!1})),wp.customize.state("saved").set(!0)),wp.customize.notifications.add(new wp.customize.OverlayNotification("csf_field_backup_notification",{type:"info",message:message_text,loading:!0})))},$reset.on("click",(function(e){e.preventDefault(),CSF.vars.is_confirm&&(base.notification(window.csf_vars.i18n.reset_notification),window.wp.ajax.post("csf-reset",{unique:$reset.data("unique"),nonce:$reset.data("nonce")}).done((function(response){window.location.reload(!0)})).fail((function(response){alert(response.error),wp.customize.notifications.remove("csf_field_backup_notification")})))})),$import.on("click",(function(e){e.preventDefault(),CSF.vars.is_confirm&&(base.notification(window.csf_vars.i18n.import_notification),window.wp.ajax.post("csf-import",{unique:$import.data("unique"),nonce:$import.data("nonce"),import_data:$this.find(".csf-import-data").val()}).done((function(response){window.location.reload(!0)})).fail((function(response){alert(response.error),wp.customize.notifications.remove("csf_field_backup_notification")})))}))}}))},$.fn.csf_field_background=function(){return this.each((function(){$(this).find(".csf--background-image").csf_reload_script()}))},$.fn.csf_field_code_editor=function(){return this.each((function(){if("function"==typeof CodeMirror){var $this=$(this),$textarea=$this.find("textarea"),$inited=$this.find(".CodeMirror"),data_editor=$textarea.data("editor");$inited.length&&$inited.remove();var interval=setInterval((function(){if($this.is(":visible")){var code_editor=CodeMirror.fromTextArea($textarea[0],data_editor);if("default"!==data_editor.theme&&-1===CSF.vars.code_themes.indexOf(data_editor.theme)){var $cssLink=$("<link>");$("#csf-codemirror-css").after($cssLink),$cssLink.attr({rel:"stylesheet",id:"csf-codemirror-"+data_editor.theme+"-css",href:data_editor.cdnURL+"/theme/"+data_editor.theme+".min.css",type:"text/css",media:"all"}),CSF.vars.code_themes.push(data_editor.theme)}CodeMirror.modeURL=data_editor.cdnURL+"/mode/%N/%N.min.js",CodeMirror.autoLoadMode(code_editor,data_editor.mode),code_editor.on("change",(function(editor,event){$textarea.val(code_editor.getValue()).trigger("change")})),clearInterval(interval)}}))}}))},$.fn.csf_field_date=function(){return this.each((function(){var $this=$(this),$inputs=$this.find("input"),settings=$this.find(".csf-date-settings").data("settings"),wrapper='<div class="csf-datepicker-wrapper"></div>',$datepicker,defaults={showAnim:"",beforeShow:function(input,inst){$(inst.dpDiv).addClass("csf-datepicker-wrapper")},onClose:function(input,inst){$(inst.dpDiv).removeClass("csf-datepicker-wrapper")}};settings=$.extend({},settings,defaults),2===$inputs.length&&(settings=$.extend({},settings,{onSelect:function(selectedDate){var $this=$(this),$from=$inputs.first(),option=$inputs.first().attr("id")===$(this).attr("id")?"minDate":"maxDate",date=$.datepicker.parseDate(settings.dateFormat,selectedDate);$inputs.not(this).datepicker("option",option,date)}})),$inputs.each((function(){var $input=$(this);$input.hasClass("hasDatepicker")&&$input.removeAttr("id").removeClass("hasDatepicker"),$input.datepicker(settings)}))}))},$.fn.csf_field_fieldset=function(){return this.each((function(){$(this).find(".csf-fieldset-content").csf_reload_script()}))},$.fn.csf_field_gallery=function(){return this.each((function(){var $this=$(this),$edit=$this.find(".csf-edit-gallery"),$clear=$this.find(".csf-clear-gallery"),$list=$this.find("ul"),$input=$this.find("input"),$img=$this.find("img"),wp_media_frame;$this.on("click",".csf-button, .csf-edit-gallery",(function(e){var $el=$(this),ids=$input.val(),what=$el.hasClass("csf-edit-gallery")?"edit":"add",state="add"!==what||ids.length?"gallery-edit":"gallery";e.preventDefault(),void 0!==window.wp&&window.wp.media&&window.wp.media.gallery&&("gallery"===state?(wp_media_frame=window.wp.media({library:{type:"image"},frame:"post",state:"gallery",multiple:!0})).open():(wp_media_frame=window.wp.media.gallery.edit('[gallery ids="'+ids+'"]'),"add"===what&&wp_media_frame.setState("gallery-library")),wp_media_frame.on("update",(function(selection){$list.empty();var selectedIds=selection.models.map((function(attachment){var item=attachment.toJSON(),thumb=item.sizes&&item.sizes.thumbnail&&item.sizes.thumbnail.url?item.sizes.thumbnail.url:item.url;return $list.append('<li><img src="'+thumb+'"></li>'),item.id}));$input.val(selectedIds.join(",")).trigger("change"),$clear.removeClass("hidden"),$edit.removeClass("hidden")})))})),$clear.on("click",(function(e){e.preventDefault(),$list.empty(),$input.val("").trigger("change"),$clear.addClass("hidden"),$edit.addClass("hidden")}))}))},$.fn.csf_field_group=function(){return this.each((function(){var $this=$(this),$fieldset=$this.children(".csf-fieldset"),$group=$fieldset.length?$fieldset:$this,$wrapper=$group.children(".csf-cloneable-wrapper"),$hidden=$group.children(".csf-cloneable-hidden"),$max=$group.children(".csf-cloneable-max"),$min=$group.children(".csf-cloneable-min"),field_id=$wrapper.data("field-id"),unique_id=$wrapper.data("unique-id"),is_number=Boolean(Number($wrapper.data("title-number"))),max=parseInt($wrapper.data("max")),min=parseInt($wrapper.data("min"));$wrapper.hasClass("ui-accordion")&&$wrapper.find(".ui-accordion-header-icon").remove();var update_title_numbers=function($selector){$selector.find(".csf-cloneable-title-number").each((function(index){$(this).html($(this).closest(".csf-cloneable-item").index()+1+".")}))};$wrapper.accordion({header:"> .csf-cloneable-item > .csf-cloneable-title",collapsible:!0,active:!1,animate:!1,heightStyle:"content",icons:{header:"csf-cloneable-header-icon fa fa-angle-right",activeHeader:"csf-cloneable-header-icon fa fa-angle-down"},activate:function(event,ui){var $panel=ui.newPanel,$header=ui.newHeader;if($panel.length&&!$panel.data("opened")){var $fields,$first=$panel.children().first().find(":input").first(),$title=$header.find(".csf-cloneable-value");$first.on("keyup",(function(event){$title.text($first.val())})),$panel.csf_reload_script(),$panel.data("opened",!0),$panel.data("retry",!1)}else $panel.data("retry")&&($panel.csf_reload_script_retry(),$panel.data("retry",!1))}}),$wrapper.sortable({axis:"y",handle:".csf-cloneable-title,.csf-cloneable-sort",helper:"original",cursor:"move",placeholder:"widget-placeholder",start:function(event,ui){$wrapper.accordion({active:!1}),$wrapper.sortable("refreshPositions"),ui.item.children(".csf-cloneable-content").data("retry",!0)},update:function(event,ui){CSF.helper.name_nested_replace($wrapper.children(".csf-cloneable-item"),field_id),$wrapper.csf_customizer_refresh(),is_number&&update_title_numbers($wrapper)}}),$group.children(".csf-cloneable-add").on("click",(function(e){e.preventDefault();var count=$wrapper.children(".csf-cloneable-item").length;if($min.hide(),max&&count+1>max)$max.show();else{var new_field_id=unique_id+field_id+"["+count+"]",$cloned_item=$hidden.csf_clone(!0);$cloned_item.removeClass("csf-cloneable-hidden"),$cloned_item.find(':input[name!="_pseudo"]').each((function(){this.name=new_field_id+this.name.replace(this.name.startsWith("_nonce")?"_nonce":unique_id,"")})),$cloned_item.find(".csf-data-wrapper").each((function(){$(this).attr("data-unique-id",new_field_id)})),$wrapper.append($cloned_item),$wrapper.accordion("refresh"),$wrapper.accordion({active:count}),$wrapper.csf_customizer_refresh(),$wrapper.csf_customizer_listen({closest:!0}),is_number&&update_title_numbers($wrapper)}}));var event_clone=function(e){e.preventDefault();var count=$wrapper.children(".csf-cloneable-item").length;if($min.hide(),max&&count+1>max)$max.show();else{var $this,$parent=$(this).parent().parent(),$cloned_helper=$parent.children(".csf-cloneable-helper").csf_clone(!0),$cloned_title=$parent.children(".csf-cloneable-title").csf_clone(),$cloned_content=$parent.children(".csf-cloneable-content").csf_clone(),cloned_regex=new RegExp("("+CSF.helper.preg_quote(field_id)+")\\[(\\d+)\\]","g");$cloned_content.find(".csf-data-wrapper").each((function(){var $this=$(this);$this.attr("data-unique-id",$this.attr("data-unique-id").replace(cloned_regex,field_id+"["+($parent.index()+1)+"]"))}));var $cloned=$('<div class="csf-cloneable-item" />');$cloned.append($cloned_helper),$cloned.append($cloned_title),$cloned.append($cloned_content),$wrapper.children().eq($parent.index()).after($cloned),CSF.helper.name_nested_replace($wrapper.children(".csf-cloneable-item"),field_id),$wrapper.accordion("refresh"),$wrapper.csf_customizer_refresh(),$wrapper.csf_customizer_listen({closest:!0}),is_number&&update_title_numbers($wrapper)}};$wrapper.children(".csf-cloneable-item").children(".csf-cloneable-helper").on("click",".csf-cloneable-clone",event_clone),$group.children(".csf-cloneable-hidden").children(".csf-cloneable-helper").on("click",".csf-cloneable-clone",event_clone);var event_remove=function(e){e.preventDefault();var count=$wrapper.children(".csf-cloneable-item").length;$max.hide(),$min.hide(),min&&count-1<min?$min.show():($(this).closest(".csf-cloneable-item").remove(),CSF.helper.name_nested_replace($wrapper.children(".csf-cloneable-item"),field_id),$wrapper.csf_customizer_refresh(),is_number&&update_title_numbers($wrapper))};$wrapper.children(".csf-cloneable-item").children(".csf-cloneable-helper").on("click",".csf-cloneable-remove",event_remove),$group.children(".csf-cloneable-hidden").children(".csf-cloneable-helper").on("click",".csf-cloneable-remove",event_remove)}))},$.fn.csf_field_icon=function(){return this.each((function(){var $this=$(this);$this.on("click",".csf-icon-add",(function(e){e.preventDefault();var $button=$(this),$modal=$("#csf-modal-icon");$modal.show(),CSF.vars.$icon_target=$this,CSF.vars.icon_modal_loaded||($modal.find(".csf-modal-loading").show(),window.wp.ajax.post("csf-get-icons",{nonce:$button.data("nonce")}).done((function(response){$modal.find(".csf-modal-loading").hide(),CSF.vars.icon_modal_loaded=!0;var $load=$modal.find(".csf-modal-load").html(response.content);$load.on("click","a",(function(e){e.preventDefault();var icon=$(this).data("csf-icon");CSF.vars.$icon_target.find("i").removeAttr("class").addClass(icon),CSF.vars.$icon_target.find("input").val(icon).trigger("change"),CSF.vars.$icon_target.find(".csf-icon-preview").removeClass("hidden"),CSF.vars.$icon_target.find(".csf-icon-remove").removeClass("hidden"),$modal.hide()})),$modal.on("change keyup",".csf-icon-search",(function(){var value=$(this).val(),$icons;$load.find("a").each((function(){var $elem=$(this);$elem.data("csf-icon").search(new RegExp(value,"i"))<0?$elem.hide():$elem.show()}))})),$modal.on("click",".csf-modal-close, .csf-modal-overlay",(function(){$modal.hide()}))})).fail((function(response){$modal.find(".csf-modal-loading").hide(),$modal.find(".csf-modal-load").html(response.error),$modal.on("click",(function(){$modal.hide()}))})))})),$this.on("click",".csf-icon-remove",(function(e){e.preventDefault(),$this.find(".csf-icon-preview").addClass("hidden"),$this.find("input").val("").trigger("change"),$(this).addClass("hidden")}))}))},$.fn.csf_field_map=function(){return this.each((function(){if("undefined"!=typeof L){var $this=$(this),$map=$this.find(".csf--map-osm"),$search_input=$this.find(".csf--map-search input"),$latitude=$this.find(".csf--latitude"),$longitude=$this.find(".csf--longitude"),$zoom=$this.find(".csf--zoom"),map_data=$map.data("map"),mapInit=L.map($map.get(0),map_data);L.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'}).addTo(mapInit);var mapMarker=L.marker(map_data.center,{draggable:!0}).addTo(mapInit),update_latlng=function(data){$latitude.val(data.lat),$longitude.val(data.lng),$zoom.val(mapInit.getZoom())};mapInit.on("click",(function(data){mapMarker.setLatLng(data.latlng),update_latlng(data.latlng)})),mapInit.on("zoom",(function(){update_latlng(mapMarker.getLatLng())})),mapMarker.on("drag",(function(){update_latlng(mapMarker.getLatLng())})),$search_input.length||($search_input=$('[data-depend-id="'+$this.find(".csf--address-field").data("address-field")+'"]')),$search_input.autocomplete({source:function(request,response){$.get("https://nominatim.openstreetmap.org/search",{format:"json",q:request.term},(function(results){results.length?response(results.map((function(item){return{value:item.display_name,label:item.display_name,lat:item.lat,lon:item.lon}}),"json")):response([{value:"no-data",label:"No Results."}])}))},select:function(event,ui){if("no-data"===ui.item.value)return!1;var latLng=L.latLng(ui.item.lat,ui.item.lon);mapInit.panTo(latLng),mapMarker.setLatLng(latLng),update_latlng(latLng)},create:function(event,ui){$(this).autocomplete("widget").addClass("csf-map-ui-autocomplate")}});var input_update_latlng=function(){var latLng=L.latLng($latitude.val(),$longitude.val());mapInit.panTo(latLng),mapMarker.setLatLng(latLng)};$latitude.on("change",input_update_latlng),$longitude.on("change",input_update_latlng)}}))},$.fn.csf_field_media=function(){return this.each((function(){var $this=$(this),$upload_button=$this.find(".csf--button"),$remove_button=$this.find(".csf--remove"),$library=$upload_button.data("library")&&$upload_button.data("library").split(",")||"",$auto_attributes=!!$this.hasClass("csf-assign-field-background")&&$this.closest(".csf-field-background").find(".csf--auto-attributes"),wp_media_frame;$upload_button.on("click",(function(e){e.preventDefault(),void 0!==window.wp&&window.wp.media&&window.wp.media.gallery&&(wp_media_frame?wp_media_frame.open():((wp_media_frame=window.wp.media({library:{type:$library}})).on("select",(function(){var thumbnail,attributes=wp_media_frame.state().get("selection").first().attributes,preview_size=$upload_button.data("preview-size")||"thumbnail";$library.length&&-1===$library.indexOf(attributes.subtype)&&-1===$library.indexOf(attributes.type)||($this.find(".csf--id").val(attributes.id),$this.find(".csf--width").val(attributes.width),$this.find(".csf--height").val(attributes.height),$this.find(".csf--alt").val(attributes.alt),$this.find(".csf--title").val(attributes.title),$this.find(".csf--description").val(attributes.description),thumbnail=void 0!==attributes.sizes&&void 0!==attributes.sizes.thumbnail&&"thumbnail"===preview_size?attributes.sizes.thumbnail.url:void 0!==attributes.sizes&&void 0!==attributes.sizes.full?attributes.sizes.full.url:attributes.icon,$auto_attributes&&$auto_attributes.removeClass("csf--attributes-hidden"),$remove_button.removeClass("hidden"),$this.find(".csf--preview").removeClass("hidden"),$this.find(".csf--src").attr("src",thumbnail),$this.find(".csf--thumbnail").val(thumbnail),$this.find(".csf--url").val(attributes.url).trigger("change"))})),wp_media_frame.open()))})),$remove_button.on("click",(function(e){e.preventDefault(),$auto_attributes&&$auto_attributes.addClass("csf--attributes-hidden"),$remove_button.addClass("hidden"),$this.find("input").val(""),$this.find(".csf--preview").addClass("hidden"),$this.find(".csf--url").trigger("change")}))}))},$.fn.csf_field_repeater=function(){return this.each((function(){var $this=$(this),$fieldset=$this.children(".csf-fieldset"),$repeater=$fieldset.length?$fieldset:$this,$wrapper=$repeater.children(".csf-repeater-wrapper"),$hidden=$repeater.children(".csf-repeater-hidden"),$max=$repeater.children(".csf-repeater-max"),$min=$repeater.children(".csf-repeater-min"),field_id=$wrapper.data("field-id"),unique_id=$wrapper.data("unique-id"),max=parseInt($wrapper.data("max")),min=parseInt($wrapper.data("min"));$wrapper.children(".csf-repeater-item").children(".csf-repeater-content").csf_reload_script(),$wrapper.sortable({axis:"y",handle:".csf-repeater-sort",helper:"original",cursor:"move",placeholder:"widget-placeholder",update:function(event,ui){CSF.helper.name_nested_replace($wrapper.children(".csf-repeater-item"),field_id),$wrapper.csf_customizer_refresh(),ui.item.csf_reload_script_retry()}}),$repeater.children(".csf-repeater-add").on("click",(function(e){e.preventDefault();var count=$wrapper.children(".csf-repeater-item").length;if($min.hide(),max&&count+1>max)$max.show();else{var new_field_id=unique_id+field_id+"["+count+"]",$cloned_item=$hidden.csf_clone(!0);$cloned_item.removeClass("csf-repeater-hidden"),$cloned_item.find(':input[name!="_pseudo"]').each((function(){this.name=new_field_id+this.name.replace(this.name.startsWith("_nonce")?"_nonce":unique_id,"")})),$cloned_item.find(".csf-data-wrapper").each((function(){$(this).attr("data-unique-id",new_field_id)})),$wrapper.append($cloned_item),$cloned_item.children(".csf-repeater-content").csf_reload_script(),$wrapper.csf_customizer_refresh(),$wrapper.csf_customizer_listen({closest:!0})}}));var event_clone=function(e){e.preventDefault();var count=$wrapper.children(".csf-repeater-item").length;if($min.hide(),max&&count+1>max)$max.show();else{var $this,$parent=$(this).parent().parent().parent(),$cloned_content=$parent.children(".csf-repeater-content").csf_clone(),$cloned_helper=$parent.children(".csf-repeater-helper").csf_clone(!0),cloned_regex=new RegExp("("+CSF.helper.preg_quote(field_id)+")\\[(\\d+)\\]","g");$cloned_content.find(".csf-data-wrapper").each((function(){var $this=$(this);$this.attr("data-unique-id",$this.attr("data-unique-id").replace(cloned_regex,field_id+"["+($parent.index()+1)+"]"))}));var $cloned=$('<div class="csf-repeater-item" />');$cloned.append($cloned_content),$cloned.append($cloned_helper),$wrapper.children().eq($parent.index()).after($cloned),$cloned.children(".csf-repeater-content").csf_reload_script(),CSF.helper.name_nested_replace($wrapper.children(".csf-repeater-item"),field_id),$wrapper.csf_customizer_refresh(),$wrapper.csf_customizer_listen({closest:!0})}};$wrapper.children(".csf-repeater-item").children(".csf-repeater-helper").on("click",".csf-repeater-clone",event_clone),$repeater.children(".csf-repeater-hidden").children(".csf-repeater-helper").on("click",".csf-repeater-clone",event_clone);var event_remove=function(e){e.preventDefault();var count=$wrapper.children(".csf-repeater-item").length;$max.hide(),$min.hide(),min&&count-1<min?$min.show():($(this).closest(".csf-repeater-item").remove(),CSF.helper.name_nested_replace($wrapper.children(".csf-repeater-item"),field_id),$wrapper.csf_customizer_refresh())};$wrapper.children(".csf-repeater-item").children(".csf-repeater-helper").on("click",".csf-repeater-remove",event_remove),$repeater.children(".csf-repeater-hidden").children(".csf-repeater-helper").on("click",".csf-repeater-remove",event_remove)}))},$.fn.csf_field_slider=function(){return this.each((function(){var $this=$(this),$input=$this.find("input"),$slider=$this.find(".csf-slider-ui"),data=$input.data(),value=$input.val()||0;$slider.hasClass("ui-slider")&&$slider.empty(),$slider.slider({range:"min",value:value,min:data.min,max:data.max,step:data.step,slide:function(e,o){$input.val(o.value).trigger("change")}}),$input.keyup((function(){$slider.slider("value",$input.val())}))}))},$.fn.csf_field_sortable=function(){return this.each((function(){var $sortable=$(this).find(".csf--sortable");$sortable.sortable({axis:"y",helper:"original",cursor:"move",placeholder:"widget-placeholder",update:function(event,ui){$sortable.csf_customizer_refresh()}}),$sortable.find(".csf--sortable-content").csf_reload_script()}))},$.fn.csf_field_sorter=function(){return this.each((function(){var $this=$(this),$enabled=$this.find(".csf-enabled"),$has_disabled=$this.find(".csf-disabled"),$disabled=!!$has_disabled.length&&$has_disabled;$enabled.sortable({connectWith:$disabled,placeholder:"ui-sortable-placeholder",update:function(event,ui){var $el=ui.item.find("input");ui.item.parent().hasClass("csf-enabled")?$el.attr("name",$el.attr("name").replace("disabled","enabled")):$el.attr("name",$el.attr("name").replace("enabled","disabled")),$this.csf_customizer_refresh()}}),$disabled&&$disabled.sortable({connectWith:$enabled,placeholder:"ui-sortable-placeholder",update:function(event,ui){$this.csf_customizer_refresh()}})}))},$.fn.csf_field_spinner=function(){return this.each((function(){var $this=$(this),$input=$this.find("input"),$inited=$this.find(".ui-spinner-button"),$unit=$input.data("unit");$inited.length&&$inited.remove(),$input.spinner({max:$input.data("max")||100,min:$input.data("min")||0,step:$input.data("step")||1,create:function(event,ui){$unit.length&&$this.find(".ui-spinner-up").after('<span class="ui-button-text-only csf--unit">'+$unit+"</span>")},spin:function(event,ui){$input.val(ui.value).trigger("change")}})}))},$.fn.csf_field_switcher=function(){return this.each((function(){var $switcher=$(this).find(".csf--switcher");$switcher.on("click",(function(){var value=0,$input=$switcher.find("input");$switcher.hasClass("csf--active")?$switcher.removeClass("csf--active"):(value=1,$switcher.addClass("csf--active")),$input.val(value).trigger("change")}))}))},$.fn.csf_field_tabbed=function(){return this.each((function(){var $this=$(this),$links=$this.find(".csf-tabbed-nav a"),$sections=$this.find(".csf-tabbed-section");$sections.eq(0).csf_reload_script(),$links.on("click",(function(e){e.preventDefault();var $link=$(this),index=$link.index(),$section=$sections.eq(index);$link.addClass("csf-tabbed-active").siblings().removeClass("csf-tabbed-active"),$section.csf_reload_script(),$section.removeClass("hidden").siblings().addClass("hidden")}))}))},$.fn.csf_field_typography=function(){return this.each((function(){var base=this,$this=$(this),loaded_fonts=[],webfonts=csf_typography_json.webfonts,googlestyles=csf_typography_json.googlestyles,defaultstyles=csf_typography_json.defaultstyles;base.sanitize_subset=function(subset){return subset=(subset=subset.replace("-ext"," Extended")).charAt(0).toUpperCase()+subset.slice(1)},base.sanitize_style=function(style){return googlestyles[style]?googlestyles[style]:style},base.load_google_font=function(font_family,weight,style){font_family&&"object"==typeof WebFont&&(weight=weight?weight.replace("normal",""):"",style=style?style.replace("normal",""):"",(weight||style)&&(font_family=font_family+":"+weight+style),-1===loaded_fonts.indexOf(font_family)&&WebFont.load({google:{families:[font_family]}}),loaded_fonts.push(font_family))},base.append_select_options=function($select,options,condition,type,is_multi){$select.find("option").not(":first").remove();var opts="";$.each(options,(function(key,value){var selected,name=value;selected=is_multi?condition&&-1!==condition.indexOf(value)?" selected":"":condition&&condition===value?" selected":"","subset"===type?name=base.sanitize_subset(value):"style"===type&&(name=base.sanitize_style(value)),opts+='<option value="'+value+'"'+selected+">"+name+"</option>"})),$select.append(opts).trigger("csf.change").trigger("chosen:updated")},base.init=function(){var selected_styles=[],$typography=$this.find(".csf--typography"),$type=$this.find(".csf--type"),$styles=$this.find(".csf--block-font-style"),unit=$typography.data("unit"),exclude_fonts=$typography.data("exclude")?$typography.data("exclude").split(","):[],$chosen_selects;$this.find(".csf--chosen").length&&$this.find("select").each((function(){var $chosen_select=$(this),$chosen_inited=$chosen_select.parent().find(".chosen-container");$chosen_inited.length&&$chosen_inited.remove(),$chosen_select.chosen({allow_single_deselect:!0,disable_search_threshold:15,width:"100%"})}));var $font_family_select=$this.find(".csf--font-family"),first_font_family=$font_family_select.val();$font_family_select.find("option").not(":first-child").remove();var opts="";$.each(webfonts,(function(type,group){exclude_fonts&&-1!==exclude_fonts.indexOf(type)||(opts+='<optgroup label="'+group.label+'">',$.each(group.fonts,(function(key,value){var selected;opts+='<option value="'+(value="object"==typeof value?key:value)+'" data-type="'+type+'"'+(value===first_font_family?" selected":"")+">"+value+"</option>"})),opts+="</optgroup>")})),$font_family_select.append(opts).trigger("chosen:updated");var $font_style_block=$this.find(".csf--block-font-style");if($font_style_block.length){var $font_style_select=$this.find(".csf--font-style-select"),first_style_value=$font_style_select.val()?$font_style_select.val().replace(/normal/g,""):"";$font_style_select.on("change csf.change",(function(event){var style_value=$font_style_select.val();!style_value&&selected_styles&&-1===selected_styles.indexOf("normal")&&(style_value=selected_styles[0]);var font_normal=style_value&&"italic"!==style_value&&"normal"===style_value?"normal":"",font_weight=style_value&&"italic"!==style_value&&"normal"!==style_value?style_value.replace("italic",""):font_normal,font_style=style_value&&"italic"===style_value.substr(-6)?"italic":"";$this.find(".csf--font-weight").val(font_weight),$this.find(".csf--font-style").val(font_style)}));var $extra_font_style_block=$this.find(".csf--block-extra-styles");if($extra_font_style_block.length)var $extra_font_style_select=$this.find(".csf--extra-styles"),first_extra_style_value=$extra_font_style_select.val()}var $subset_block=$this.find(".csf--block-subset");if($subset_block.length)var $subset_select=$this.find(".csf--subset"),first_subset_select_value=$subset_select.val(),subset_multi_select=$subset_select.data("multiple")||!1;var $backup_font_family_block=$this.find(".csf--block-backup-font-family");$font_family_select.on("change csf.change",(function(event){$subset_block.length&&$subset_block.addClass("hidden"),$extra_font_style_block.length&&$extra_font_style_block.addClass("hidden"),$backup_font_family_block.length&&$backup_font_family_block.addClass("hidden");var $selected=$font_family_select.find(":selected"),value=$selected.val(),type=$selected.data("type");if(type&&value){if("google"!==type&&"custom"!==type||!$backup_font_family_block.length||$backup_font_family_block.removeClass("hidden"),$font_style_block.length){var styles=defaultstyles;"google"===type&&webfonts[type].fonts[value][0]?styles=webfonts[type].fonts[value][0]:"custom"===type&&webfonts[type].fonts[value]&&(styles=webfonts[type].fonts[value]),selected_styles=styles;var set_auto_style=-1!==styles.indexOf("normal")?"normal":styles[0],set_style_value=first_style_value&&-1!==styles.indexOf(first_style_value)?first_style_value:set_auto_style;base.append_select_options($font_style_select,styles,set_style_value,"style"),first_style_value=!1,$font_style_block.removeClass("hidden"),"google"===type&&$extra_font_style_block.length&&styles.length>1&&(base.append_select_options($extra_font_style_select,styles,first_extra_style_value,"style",!0),first_extra_style_value=!1,$extra_font_style_block.removeClass("hidden"))}if("google"===type&&$subset_block.length&&webfonts[type].fonts[value][1]){var subsets=webfonts[type].fonts[value][1],set_auto_subset=subsets.length<2&&"latin"!==subsets[0]?subsets[0]:"",set_subset_value=first_subset_select_value&&-1!==subsets.indexOf(first_subset_select_value)?first_subset_select_value:set_auto_subset;set_subset_value=subset_multi_select&&first_subset_select_value?first_subset_select_value:set_subset_value,base.append_select_options($subset_select,subsets,set_subset_value,"subset",subset_multi_select),first_subset_select_value=!1,$subset_block.removeClass("hidden")}}else $styles.find(":input").val(""),$subset_block.length&&($subset_select.find("option").not(":first-child").remove(),$subset_select.trigger("chosen:updated")),$font_style_block.length&&($font_style_select.find("option").not(":first-child").remove(),$font_style_select.trigger("chosen:updated"));$type.val(type)})).trigger("csf.change");var $preview_block=$this.find(".csf--block-preview");if($preview_block.length){var $preview=$this.find(".csf--preview");$this.on("change",CSF.helper.debounce((function(event){$preview_block.removeClass("hidden");var font_family=$font_family_select.val(),font_weight=$this.find(".csf--font-weight").val(),font_style=$this.find(".csf--font-style").val(),font_size=$this.find(".csf--font-size").val(),font_variant=$this.find(".csf--font-variant").val(),line_height=$this.find(".csf--line-height").val(),text_align=$this.find(".csf--text-align").val(),text_transform=$this.find(".csf--text-transform").val(),text_decoration=$this.find(".csf--text-decoration").val(),text_color=$this.find(".csf--color").val(),word_spacing=$this.find(".csf--word-spacing").val(),letter_spacing=$this.find(".csf--letter-spacing").val(),custom_style=$this.find(".csf--custom-style").val(),type;"google"===$this.find(".csf--type").val()&&base.load_google_font(font_family,font_weight,font_style);var properties={};font_family&&(properties.fontFamily=font_family),font_weight&&(properties.fontWeight=font_weight),font_style&&(properties.fontStyle=font_style),font_variant&&(properties.fontVariant=font_variant),font_size&&(properties.fontSize=font_size+unit),line_height&&(properties.lineHeight=line_height+unit),letter_spacing&&(properties.letterSpacing=letter_spacing+unit),word_spacing&&(properties.wordSpacing=word_spacing+unit),text_align&&(properties.textAlign=text_align),text_transform&&(properties.textTransform=text_transform),text_decoration&&(properties.textDecoration=text_decoration),text_color&&(properties.color=text_color),$preview.removeAttr("style"),custom_style&&$preview.attr("style",custom_style),$preview.css(properties)}),100)),$preview_block.on("click",(function(){$preview.toggleClass("csf--black-background");var $toggle=$preview_block.find(".csf--toggle");$toggle.hasClass("fa-toggle-off")?$toggle.removeClass("fa-toggle-off").addClass("fa-toggle-on"):$toggle.removeClass("fa-toggle-on").addClass("fa-toggle-off")})),$preview_block.hasClass("hidden")||$this.trigger("change")}},base.init()}))},$.fn.csf_field_upload=function(){return this.each((function(){var $this=$(this),$input=$this.find("input"),$upload_button=$this.find(".csf--button"),$remove_button=$this.find(".csf--remove"),$library=$upload_button.data("library")&&$upload_button.data("library").split(",")||"",wp_media_frame;$input.on("change",(function(e){$input.val()?$remove_button.removeClass("hidden"):$remove_button.addClass("hidden")})),$upload_button.on("click",(function(e){e.preventDefault(),void 0!==window.wp&&window.wp.media&&window.wp.media.gallery&&(wp_media_frame?wp_media_frame.open():((wp_media_frame=window.wp.media({library:{type:$library}})).on("select",(function(){var attributes=wp_media_frame.state().get("selection").first().attributes;$library.length&&-1===$library.indexOf(attributes.subtype)&&-1===$library.indexOf(attributes.type)||$input.val(attributes.url).trigger("change")})),wp_media_frame.open()))})),$remove_button.on("click",(function(e){e.preventDefault(),$input.val("").trigger("change")}))}))},$.fn.csf_field_wp_editor=function(){return this.each((function(){if(void 0!==window.wp.editor&&void 0!==window.tinyMCEPreInit&&void 0!==window.tinyMCEPreInit.mceInit.csf_wp_editor){var $this=$(this),$editor=$this.find(".csf-wp-editor"),$textarea=$this.find("textarea"),$has_wp_editor;($this.find(".wp-editor-wrap").length||$this.find(".mce-container").length)&&($editor.empty(),$editor.append($textarea),$textarea.css("display",""));var uid=CSF.helper.uid("csf-editor-");$textarea.attr("id",uid);var default_editor_settings={tinymce:window.tinyMCEPreInit.mceInit.csf_wp_editor,quicktags:window.tinyMCEPreInit.qtInit.csf_wp_editor},field_editor_settings=$editor.data("editor-settings"),editor_on_change=function(editor){editor.on("change",CSF.helper.debounce((function(){editor.save(),$textarea.trigger("change")}),250))},wpEditor=wp.oldEditor?wp.oldEditor:wp.editor;wpEditor&&wpEditor.hasOwnProperty("autop")&&(wp.editor.autop=wpEditor.autop,wp.editor.removep=wpEditor.removep,wp.editor.initialize=wpEditor.initialize),default_editor_settings.tinymce=$.extend({},default_editor_settings.tinymce,{selector:"#"+uid,setup:editor_on_change}),!1===field_editor_settings.tinymce&&(default_editor_settings.tinymce=!1,$editor.addClass("csf-no-tinymce")),!1===field_editor_settings.quicktags&&(default_editor_settings.quicktags=!1,$editor.addClass("csf-no-quicktags"));var interval=setInterval((function(){$this.is(":visible")&&(window.wp.editor.initialize(uid,default_editor_settings),clearInterval(interval))}));if(field_editor_settings.media_buttons&&window.csf_media_buttons){var $editor_buttons=$editor.find(".wp-media-buttons");if($editor_buttons.length)$editor_buttons.find(".csf-shortcode-button").data("editor-id",uid);else{var $media_buttons=$(window.csf_media_buttons);$media_buttons.find(".csf-shortcode-button").data("editor-id",uid),$editor.prepend($media_buttons)}}}}))},$.fn.csf_confirm=function(){return this.each((function(){$(this).on("click",(function(e){var confirm_text=$(this).data("confirm")||window.csf_vars.i18n.confirm,confirm_answer=confirm(confirm_text);if(CSF.vars.is_confirm=!0,!confirm_answer)return e.preventDefault(),CSF.vars.is_confirm=!1,!1}))}))},$.fn.serializeObject=function(){var obj={};return $.each(this.serializeArray(),(function(i,o){var n=o.name,v=o.value;obj[n]=void 0===obj[n]?v:$.isArray(obj[n])?obj[n].concat(v):[obj[n],v]})),obj},$.fn.csf_save=function(){return this.each((function(){var $this=$(this),$buttons=$(".csf-save"),$panel=$(".csf-options"),flooding=!1,timeout;$this.on("click",(function(e){if(!flooding){var $text=$this.data("save"),$value=$this.val();$buttons.attr("value",$text),$this.hasClass("csf-save-ajax")&&(e.preventDefault(),$panel.addClass("csf-saving"),$buttons.prop("disabled",!0),window.wp.ajax.post("csf_"+$panel.data("unique")+"_ajax_save",{data:$("#csf-form").serializeJSONCSF()}).done((function(response){if($(".csf-error").remove(),Object.keys(response.errors).length){var error_icon='<i class="csf-label-error csf-error">!</i>';$.each(response.errors,(function(key,error_message){var $field=$('[data-depend-id="'+key+'"]'),$link=$("#csf-tab-link-"+($field.closest(".csf-section").index()+1)),$tab=$link.closest(".csf-tab-depth-0");$field.closest(".csf-fieldset").append('<p class="csf-text-error csf-error">'+error_message+"</p>"),$link.find(".csf-error").length||$link.append(error_icon),$tab.find(".csf-arrow .csf-error").length||$tab.find(".csf-arrow").append(error_icon),console.log(error_message)}))}$panel.removeClass("csf-saving"),$buttons.prop("disabled",!1).attr("value",$value),flooding=!1,CSF.vars.form_modified=!1,CSF.vars.$form_warning.hide(),clearTimeout(timeout);var $result_success=$(".csf-form-success");$result_success.empty().append(response.notice).fadeIn("fast",(function(){timeout=setTimeout((function(){$result_success.fadeOut("fast")}),1e3)}))})).fail((function(response){alert(response.error)})))}flooding=!0}))}))},$.fn.csf_options=function(){return this.each((function(){var $this=$(this),$content=$this.find(".csf-content"),$form_success=$this.find(".csf-form-success"),$form_warning=$this.find(".csf-form-warning"),$save_button=$this.find(".csf-header .csf-save");CSF.vars.$form_warning=$form_warning,$form_warning.length&&(window.onbeforeunload=function(){return!!CSF.vars.form_modified||void 0},$content.on("change keypress",":input",(function(){CSF.vars.form_modified||($form_success.hide(),$form_warning.fadeIn("fast"),CSF.vars.form_modified=!0)}))),$form_success.hasClass("csf-form-show")&&setTimeout((function(){$form_success.fadeOut("fast")}),1e3),$(document).keydown((function(event){if((event.ctrlKey||event.metaKey)&&83===event.which)return $save_button.trigger("click"),event.preventDefault(),!1}))}))},$.fn.csf_taxonomy=function(){return this.each((function(){var $this=$(this),$form=$this.parents("form");if("addtag"===$form.attr("id")){var $submit=$form.find("#submit"),$cloned=$this.find(".csf-field").csf_clone();$submit.on("click",(function(){$form.find(".form-required").hasClass("form-invalid")||($this.data("inited",!1),$this.empty(),$this.html($cloned),$cloned=$cloned.csf_clone(),$this.csf_reload_script())}))}}))},$.fn.csf_shortcode=function(){var base=this;return base.shortcode_parse=function(serialize,key){var shortcode="";return $.each(serialize,(function(shortcode_key,shortcode_values){shortcode+="["+(key=key||shortcode_key),$.each(shortcode_values,(function(shortcode_tag,shortcode_value){"content"===shortcode_tag?(shortcode+="]",shortcode+=shortcode_value,shortcode+="[/"+key):shortcode+=base.shortcode_tags(shortcode_tag,shortcode_value)})),shortcode+="]"})),shortcode},base.shortcode_tags=function(shortcode_tag,shortcode_value){var shortcode="";return""!==shortcode_value&&("object"!=typeof shortcode_value||$.isArray(shortcode_value)?shortcode+=" "+shortcode_tag.replace("-","_")+'="'+shortcode_value.toString()+'"':$.each(shortcode_value,(function(sub_shortcode_tag,sub_shortcode_value){switch(sub_shortcode_tag){case"background-image":sub_shortcode_value=sub_shortcode_value.url?sub_shortcode_value.url:""}""!==sub_shortcode_value&&(shortcode+=" "+sub_shortcode_tag.replace("-","_")+'="'+sub_shortcode_value.toString()+'"')}))),shortcode},base.insertAtChars=function(_this,currentValue){var obj=void 0!==_this[0].name?_this[0]:_this;return obj.value.length&&void 0!==obj.selectionStart?(obj.focus(),obj.value.substring(0,obj.selectionStart)+currentValue+obj.value.substring(obj.selectionEnd,obj.value.length)):(obj.focus(),currentValue)},base.send_to_editor=function(html,editor_id){var tinymce_editor;if("undefined"!=typeof tinymce&&(tinymce_editor=tinymce.get(editor_id)),tinymce_editor&&!tinymce_editor.isHidden())tinymce_editor.execCommand("mceInsertContent",!1,html);else{var $editor=$("#"+editor_id);$editor.val(base.insertAtChars($editor,html)).trigger("change")}},this.each((function(){var $modal=$(this),$load=$modal.find(".csf-modal-load"),$content=$modal.find(".csf-modal-content"),$insert=$modal.find(".csf-modal-insert"),$loading=$modal.find(".csf-modal-loading"),$select=$modal.find("select"),modal_id=$modal.data("modal-id"),nonce=$modal.data("nonce"),editor_id,target_id,sc_key,sc_name,sc_view,sc_group,$cloned,$button;$(document).on("click",'.csf-shortcode-button[data-modal-id="'+modal_id+'"]',(function(e){e.preventDefault(),$button=$(this),editor_id=$button.data("editor-id")||!1,target_id=$button.data("target-id")||!1,$modal.show(),$modal.hasClass("csf-shortcode-single")&&void 0===sc_name&&$select.trigger("change")})),$select.on("change",(function(){var $option=$(this),$selected=$option.find(":selected");sc_key=$option.val(),sc_name=$selected.data("shortcode"),sc_view=$selected.data("view")||"normal",sc_group=$selected.data("group")||sc_name,$load.empty(),sc_key?($loading.show(),window.wp.ajax.post("csf-get-shortcode-"+modal_id,{shortcode_key:sc_key,nonce:nonce}).done((function(response){$loading.hide();var $appended=$(response.content).appendTo($load);$insert.parent().removeClass("hidden"),$cloned=$appended.find(".csf--repeat-shortcode").csf_clone(),$appended.csf_reload_script(),$appended.find(".csf-fields").csf_reload_script()}))):$insert.parent().addClass("hidden")})),$insert.on("click",(function(e){if(e.preventDefault(),!$insert.prop("disabled")&&!$insert.attr("disabled")){var shortcode="",serialize=$modal.find(".csf-field:not(.hidden)").find(":input:not(.ignore)").serializeObjectCSF();switch(sc_view){case"contents":var contentsObj=sc_name?serialize[sc_name]:serialize;$.each(contentsObj,(function(sc_key,sc_value){var sc_tag=sc_name||sc_key;shortcode+="["+sc_tag+"]"+sc_value+"[/"+sc_tag+"]"}));break;case"group":shortcode+="["+sc_name,$.each(serialize[sc_name],(function(sc_key,sc_value){shortcode+=base.shortcode_tags(sc_key,sc_value)})),shortcode+="]",shortcode+=base.shortcode_parse(serialize[sc_group],sc_group),shortcode+="[/"+sc_name+"]";break;case"repeater":shortcode+=base.shortcode_parse(serialize[sc_group],sc_group);break;default:shortcode+=base.shortcode_parse(serialize)}if(shortcode=""===shortcode?"["+sc_name+"]":shortcode,editor_id)base.send_to_editor(shortcode,editor_id);else{var $textarea=target_id?$(target_id):$button.parent().find("textarea");$textarea.val(base.insertAtChars($textarea,shortcode)).trigger("change")}$modal.hide()}})),$modal.on("click",".csf--repeat-button",(function(e){e.preventDefault();var $repeatable=$modal.find(".csf--repeatable"),$new_clone=$cloned.csf_clone(),$remove_btn=$new_clone.find(".csf-repeat-remove"),$appended=$new_clone.appendTo($repeatable);$new_clone.find(".csf-fields").csf_reload_script(),CSF.helper.name_nested_replace($modal.find(".csf--repeat-shortcode"),sc_group),$remove_btn.on("click",(function(){$new_clone.remove(),CSF.helper.name_nested_replace($modal.find(".csf--repeat-shortcode"),sc_group)}))})),$modal.on("click",".csf-modal-close, .csf-modal-overlay",(function(){$modal.hide()}))}))},"function"==typeof Color&&(Color.fn.toString=function(){if(this._alpha<1)return this.toCSS("rgba",this._alpha).replace(/\s+/g,"");var hex=parseInt(this._color,10).toString(16);if(this.error)return"";if(hex.length<6)for(var i=6-hex.length-1;i>=0;i--)hex="0"+hex;return"#"+hex}),CSF.funcs.parse_color=function(color){var value=color.replace(/\s+/g,""),trans=-1!==value.indexOf("rgba")?parseFloat(100*value.replace(/^.*,(.+)\)/,"$1")):100,rgba;return{value:value,transparent:trans,rgba:trans<100}},$.fn.csf_color=function(){return this.each((function(){var $input=$(this),picker_color=CSF.funcs.parse_color($input.val()),palette_color=!window.csf_vars.color_palette.length||window.csf_vars.color_palette,$container;$input.hasClass("wp-color-picker")&&$input.closest(".wp-picker-container").after($input).remove(),$input.wpColorPicker({palettes:palette_color,change:function(event,ui){var ui_color_value=ui.color.toString();$container.removeClass("csf--transparent-active"),$container.find(".csf--transparent-offset").css("background-color",ui_color_value),$input.val(ui_color_value).trigger("change")},create:function(){$container=$input.closest(".wp-picker-container");var a8cIris=$input.data("a8cIris"),$transparent_wrap=$('<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="fa fa-toggle-off"></i></div></div>').appendTo($container.find(".wp-picker-holder")),$transparent_slider=$transparent_wrap.find(".csf--transparent-slider"),$transparent_text=$transparent_wrap.find(".csf--transparent-text"),$transparent_offset=$transparent_wrap.find(".csf--transparent-offset"),$transparent_button=$transparent_wrap.find(".csf--transparent-button");"transparent"===$input.val()&&$container.addClass("csf--transparent-active"),$transparent_button.on("click",(function(){"transparent"!==$input.val()?($input.val("transparent").trigger("change").removeClass("iris-error"),$container.addClass("csf--transparent-active")):($input.val(a8cIris._color.toString()).trigger("change"),$container.removeClass("csf--transparent-active"))})),$transparent_slider.slider({value:picker_color.transparent,step:1,min:0,max:100,slide:function(event,ui){var slide_value=parseFloat(ui.value/100);a8cIris._color._alpha=slide_value,$input.wpColorPicker("color",a8cIris._color.toString()),$transparent_text.text(1===slide_value||0===slide_value?"":slide_value)},create:function(){var slide_value=parseFloat(picker_color.transparent/100),text_value=slide_value<1?slide_value:"";$transparent_text.text(text_value),$transparent_offset.css("background-color",picker_color.value),$container.on("click",".wp-picker-clear",(function(){a8cIris._color._alpha=1,$transparent_text.text(""),$transparent_slider.slider("option","value",100),$container.removeClass("csf--transparent-active"),$input.trigger("change")})),$container.on("click",".wp-picker-default",(function(){var default_color=CSF.funcs.parse_color($input.data("default-color")),default_value=parseFloat(default_color.transparent/100),default_text=default_value<1?default_value:"";a8cIris._color._alpha=default_value,$transparent_text.text(default_text),$transparent_slider.slider("option","value",default_color.transparent)}))}})}})}))},$.fn.csf_chosen=function(){return this.each((function(){var $this=$(this),$inited=$this.parent().find(".chosen-container"),is_sortable=$this.hasClass("csf-chosen-sortable")||!1,is_ajax=$this.hasClass("csf-chosen-ajax")||!1,is_multiple=$this.attr("multiple")||!1,set_width=is_multiple?"100%":"auto",set_options=$.extend({allow_single_deselect:!0,disable_search_threshold:10,width:set_width,no_results_text:window.csf_vars.i18n.no_results_text},$this.data("chosen-settings"));if($inited.length&&$inited.remove(),is_ajax){var set_ajax_options=$.extend({data:{type:"post",nonce:""},allow_single_deselect:!0,disable_search_threshold:-1,width:"100%",min_length:3,type_delay:500,typing_text:window.csf_vars.i18n.typing_text,searching_text:window.csf_vars.i18n.searching_text,no_results_text:window.csf_vars.i18n.no_results_text},$this.data("chosen-settings"));$this.CSFAjaxChosen(set_ajax_options)}else $this.chosen(set_options);if(is_multiple){var $hidden_select=$this.parent().find(".csf-hidden-select"),$hidden_value=$hidden_select.val()||[];$this.on("change",(function(obj,result){result&&result.selected?$hidden_select.append('<option value="'+result.selected+'" selected="selected">'+result.selected+"</option>"):result&&result.deselected&&$hidden_select.find('option[value="'+result.deselected+'"]').remove(),0===$hidden_select.children().length&&void 0!==window.wp.customize&&window.wp.customize.control($hidden_select.data("customize-setting-link")).setting.set(""),$hidden_select.trigger("change")})),$this.CSFChosenOrder($hidden_value,!0)}if(is_sortable){var $chosen_container,$chosen_choices=$this.parent().find(".chosen-container").find(".chosen-choices");$chosen_choices.bind("mousedown",(function(event){$(event.target).is("span")&&event.stopPropagation()})),$chosen_choices.sortable({items:"li:not(.search-field)",helper:"orginal",cursor:"move",placeholder:"search-choice-placeholder",start:function(e,ui){ui.placeholder.width(ui.item.innerWidth()),ui.placeholder.height(ui.item.innerHeight())},update:function(e,ui){var select_options="",chosen_object=$this.data("chosen"),$prev_select=$this.parent().find(".csf-hidden-select");$chosen_choices.find(".search-choice-close").each((function(){var option_array_index=$(this).data("option-array-index");$.each(chosen_object.results_data,(function(index,data){data.array_index===option_array_index&&(select_options+='<option value="'+data.value+'" selected>'+data.value+"</option>")}))})),$prev_select.children().remove(),$prev_select.append(select_options),$prev_select.trigger("change")}})}}))},$.fn.csf_checkbox=function(){return this.each((function(){var $this=$(this),$input=$this.find(".csf--input"),$checkbox=$this.find(".csf--checkbox");$checkbox.on("click",(function(){$input.val(Number($checkbox.prop("checked"))).trigger("change")}))}))},$.fn.csf_siblings=function(){return this.each((function(){var $this=$(this),$siblings=$this.find(".csf--sibling"),multiple=$this.data("multiple")||!1;$siblings.on("click",(function(){var $sibling=$(this);multiple?$sibling.hasClass("csf--active")?($sibling.removeClass("csf--active"),$sibling.find("input").prop("checked",!1).trigger("change")):($sibling.addClass("csf--active"),$sibling.find("input").prop("checked",!0).trigger("change")):($this.find("input").prop("checked",!1),$sibling.find("input").prop("checked",!0).trigger("change"),$sibling.addClass("csf--active").siblings().removeClass("csf--active"))}))}))},$.fn.csf_help=function(){return this.each((function(){var $this=$(this),$tooltip,offset_left;$this.on({mouseenter:function(){$tooltip=$('<div class="csf-tooltip"></div>').html($this.find(".csf-help-text").html()).appendTo("body"),offset_left=CSF.vars.is_rtl?$this.offset().left+24:$this.offset().left-$tooltip.outerWidth(),$tooltip.css({top:$this.offset().top-($tooltip.outerHeight()/2-14),left:offset_left})},mouseleave:function(){void 0!==$tooltip&&$tooltip.remove()}})}))},$.fn.csf_customizer_refresh=function(){return this.each((function(){var $this=$(this),$complex=$this.closest(".csf-customize-complex");if($complex.length){var $input=$complex.find(":input"),$unique=$complex.data("unique-id"),$option=$complex.data("option-id"),obj=$input.serializeObjectCSF(),data=$.isEmptyObject(obj)?"":obj[$unique][$option],control=window.wp.customize.control($unique+"["+$option+"]");control.setting._value=null,control.setting.set(data)}else $this.find(":input").first().trigger("change");$(document).trigger("csf-customizer-refresh",$this)}))},$.fn.csf_customizer_listen=function(options){var settings=$.extend({closest:!1},options);return this.each((function(){if(void 0!==window.wp.customize){var $this=settings.closest?$(this).closest(".csf-customize-complex"):$(this),$input=$this.find(":input"),unique_id=$this.data("unique-id"),option_id=$this.data("option-id");void 0!==unique_id&&$input.on("change keyup",CSF.helper.debounce((function(){var obj=$this.find(":input").serializeObjectCSF(),val=!$.isEmptyObject(obj)&&obj[unique_id]&&obj[unique_id][option_id]?obj[unique_id][option_id]:"";window.wp.customize.control(unique_id+"["+option_id+"]").setting.set(val)}),250))}}))},$(document).on("expanded",".control-section",(function(){var $this=$(this);if($this.hasClass("open")&&!$this.data("inited")){var $fields=$this.find(".csf-customize-field"),$complex=$this.find(".csf-customize-complex");$fields.length&&($this.csf_dependency(),$fields.csf_reload_script({dependency:!1}),$complex.csf_customizer_listen()),$this.data("inited",!0)}})),CSF.vars.$window.on("resize csf.resize",CSF.helper.debounce((function(event){var window_width;(navigator.userAgent.indexOf("AppleWebKit/")>-1?CSF.vars.$window.width():window.innerWidth)<=782&&!CSF.vars.onloaded&&($(".csf-section").csf_reload_script(),CSF.vars.onloaded=!0)}),200)).trigger("csf.resize"),$.fn.csf_widgets=function(){this.length&&($(document).on("widget-added widget-updated",(function(event,$widget){$widget.find(".csf-fields").csf_reload_script()})),$(".widgets-sortables, .control-section-sidebar").on("sortstop",(function(event,ui){ui.item.find(".csf-fields").csf_reload_script_retry()})),$(document).on("click",".widget-top",(function(event){$(this).parent().find(".csf-fields").csf_reload_script()})))},$.fn.csf_reload_script_retry=function(){return this.each((function(){var $this=$(this);$this.data("inited")&&$this.children(".csf-field-wp_editor").csf_field_wp_editor()}))},$.fn.csf_reload_script=function(options){var settings=$.extend({dependency:!0},options);return this.each((function(){var $this=$(this);$this.data("inited")||($this.children(".csf-field-accordion").csf_field_accordion(),$this.children(".csf-field-backup").csf_field_backup(),$this.children(".csf-field-background").csf_field_background(),$this.children(".csf-field-code_editor").csf_field_code_editor(),$this.children(".csf-field-date").csf_field_date(),$this.children(".csf-field-fieldset").csf_field_fieldset(),$this.children(".csf-field-gallery").csf_field_gallery(),$this.children(".csf-field-group").csf_field_group(),$this.children(".csf-field-icon").csf_field_icon(),$this.children(".csf-field-media").csf_field_media(),$this.children(".csf-field-map").csf_field_map(),$this.children(".csf-field-repeater").csf_field_repeater(),$this.children(".csf-field-slider").csf_field_slider(),$this.children(".csf-field-sortable").csf_field_sortable(),$this.children(".csf-field-sorter").csf_field_sorter(),$this.children(".csf-field-spinner").csf_field_spinner(),$this.children(".csf-field-switcher").csf_field_switcher(),$this.children(".csf-field-tabbed").csf_field_tabbed(),$this.children(".csf-field-typography").csf_field_typography(),$this.children(".csf-field-upload").csf_field_upload(),$this.children(".csf-field-wp_editor").csf_field_wp_editor(),$this.children(".csf-field-border").find(".csf-color").csf_color(),$this.children(".csf-field-background").find(".csf-color").csf_color(),$this.children(".csf-field-color").find(".csf-color").csf_color(),$this.children(".csf-field-color_group").find(".csf-color").csf_color(),$this.children(".csf-field-link_color").find(".csf-color").csf_color(),$this.children(".csf-field-typography").find(".csf-color").csf_color(),$this.children(".csf-field-select").find(".csf-chosen").csf_chosen(),$this.children(".csf-field-checkbox").find(".csf-checkbox").csf_checkbox(),$this.children(".csf-field-button_set").find(".csf-siblings").csf_siblings(),$this.children(".csf-field-image_select").find(".csf-siblings").csf_siblings(),$this.children(".csf-field-palette").find(".csf-siblings").csf_siblings(),$this.children(".csf-field").find(".csf-help").csf_help(),settings.dependency&&$this.csf_dependency(),$this.data("inited",!0),$(document).trigger("csf-reload-script",$this))}))},$(document).ready((function(){$(".csf-save").csf_save(),$(".csf-options").csf_options(),$(".csf-sticky-header").csf_sticky(),$(".csf-nav-options").csf_nav_options(),$(".csf-nav-metabox").csf_nav_metabox(),$(".csf-taxonomy").csf_taxonomy(),$(".csf-page-templates").csf_page_templates(),$(".csf-post-formats").csf_post_formats(),$(".csf-shortcode").csf_shortcode(),$(".csf-search").csf_search(),$(".csf-confirm").csf_confirm(),$(".csf-expand-all").csf_expand_all(),$(".csf-onload").csf_reload_script(),$(".widget").csf_widgets()}))}(jQuery,window,document);
 
admin/views/framework/assets/js/{csf-plugins.js → spftestimonial-plugins.js} RENAMED
@@ -7,18 +7,16 @@
7
  *
8
  * MIT License
9
  *
10
- * Customized by Codestar
11
- *
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 +26,7 @@
28
  this.events();
29
  };
30
 
31
- CSFAjaxChosen.prototype.events = function() {
32
 
33
  var _this = this;
34
 
@@ -51,14 +49,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 +67,7 @@
69
 
70
  };
71
 
72
- CSFAjaxChosen.prototype.update_list = function() {
73
 
74
  var _this = this;
75
 
@@ -100,7 +98,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 +108,7 @@
110
 
111
  };
112
 
113
- CSFAjaxChosen.prototype.show_results = function( items ) {
114
 
115
  var _this = this;
116
 
@@ -147,10 +145,10 @@
147
 
148
  if( this.is_multiple ) {
149
 
150
- var $hidden_select = this.element.parent().find('.csf-hidden-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 +161,9 @@
163
 
164
  };
165
 
166
- $.fn.CSFAjaxChosen = function(chosenOptions) {
167
  return this.each(function() {
168
- new CSFAjaxChosen(this, chosenOptions);
169
  });
170
  };
171
 
@@ -175,20 +173,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 +209,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 +221,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 +243,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 +288,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 +322,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 +330,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() {
@@ -1694,8 +1692,6 @@
1694
  * http://miohtama.github.com/jquery-interdependencies/
1695
  * Copyright 2012-2013 Mikko Ohtamaa, others
1696
  *
1697
- * Customized by Codestar
1698
- *
1699
  */
1700
  (function($) {
1701
 
@@ -1916,7 +1912,7 @@
1916
  }
1917
  });
1918
 
1919
- $.csf_deps = {
1920
 
1921
  createRuleset: function() {
1922
  return new Ruleset();
@@ -1950,7 +1946,6 @@
1950
  * @license BSD
1951
  * @version 2.5.0
1952
  *
1953
- * Customized by Codestar
1954
  *
1955
  */
1956
  (function(root, factory) {
@@ -1976,7 +1971,7 @@
1976
  }(this, function(exports, $) {
1977
 
1978
  //
1979
- // Codestar: Added custom patterns for spesific validate
1980
  //
1981
  var patterns = {
1982
  validate: /^(?!(_nonce|_pseudo))[a-zA-Z0-9_-]*(?:\[(?:\d*|(?!(_nonce|_pseudo))[a-zA-Z0-9_-]+)\])*$/i,
@@ -2078,12 +2073,12 @@
2078
  };
2079
 
2080
  //
2081
- // Codestar: Renamed function names for avoid conflicts
2082
  //
2083
 
2084
  if (typeof $.fn !== "undefined") {
2085
- $.fn.serializeObjectCSF = FormSerializer.serializeObject;
2086
- $.fn.serializeJSONCSF = FormSerializer.serializeJSON;
2087
  }
2088
 
2089
  exports.FormSerializer = FormSerializer;
7
  *
8
  * MIT License
9
  *
 
 
10
  */
11
  (function($) {
12
 
13
+ function SPFTESTIMONIALAjaxChosen(element, options) {
14
  this.element = $(element);
15
  this.options = options;
16
  this.init();
17
  };
18
 
19
+ SPFTESTIMONIALAjaxChosen.prototype.init = function() {
20
  this.element.chosen(this.options);
21
  this.container = this.element.next('.chosen-container');
22
  this.search_field = this.container.find('.chosen-search-input');
26
  this.events();
27
  };
28
 
29
+ SPFTESTIMONIALAjaxChosen.prototype.events = function() {
30
 
31
  var _this = this;
32
 
49
 
50
  };
51
 
52
+ SPFTESTIMONIALAjaxChosen.prototype.search_field_focused = function() {
53
  this.search_welcome_message();
54
  if ( this.options.min_length === 0 && this.search_field.val().length === 0 ) {
55
  this.update_list();
56
  }
57
  };
58
 
59
+ SPFTESTIMONIALAjaxChosen.prototype.search_welcome_message = function() {
60
 
61
  var value = $.trim(this.search_field.val());
62
  var results = this.container.find('.chosen-results');
67
 
68
  };
69
 
70
+ SPFTESTIMONIALAjaxChosen.prototype.update_list = function() {
71
 
72
  var _this = this;
73
 
98
 
99
  _this.options.data['term'] = value;
100
 
101
+ _this.chosenXhr = window.wp.ajax.post('spftestimonial-chosen', _this.options.data).done( function( response ) {
102
  _this.show_results( response );
103
  }).fail( function( response ) {
104
  _this.container.find('.no-results').text(response.error);
108
 
109
  };
110
 
111
+ SPFTESTIMONIALAjaxChosen.prototype.show_results = function( items ) {
112
 
113
  var _this = this;
114
 
145
 
146
  if( this.is_multiple ) {
147
 
148
+ var $hidden_select = this.element.parent().find('.spftestimonial-hidden-select');
149
  var $hidden_value = $hidden_select.val() || [];
150
 
151
+ this.element.SPFTESTIMONIALChosenOrder($hidden_value, true);
152
  this.search_field.css('width', width_before_trigger);
153
 
154
  }
161
 
162
  };
163
 
164
+ $.fn.SPFTESTIMONIALAjaxChosen = function(chosenOptions) {
165
  return this.each(function() {
166
+ new SPFTESTIMONIALAjaxChosen(this, chosenOptions);
167
  });
168
  };
169
 
173
  // Full source at https://github.com/tristanjahier/chosen-order
174
  // Copyright (c) 2013 - Tristan Jahier, http://tristan-jahier.fr
175
  (function() {
176
+ var $, SPFTESTIMONIALAbstractChosenOrder, _ref,
177
  __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; },
178
  __hasProp = {}.hasOwnProperty,
179
  __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; };
180
 
181
+ SPFTESTIMONIALAbstractChosenOrder = (function() {
182
 
183
+ function SPFTESTIMONIALAbstractChosenOrder() {}
184
 
185
+ SPFTESTIMONIALAbstractChosenOrder.insertAt = function(node, index, parentNode) {
186
  return parentNode.insertBefore(node, parentNode.children[index].nextSibling);
187
  };
188
 
189
+ SPFTESTIMONIALAbstractChosenOrder.getFlattenedOptionsAndGroups = function(select) {
190
  var flattened_options, opt, options, sub_opt, sub_options, _i, _j, _len, _len1;
191
  options = Array.prototype.filter.call(select.childNodes, function(o) {
192
  var _ref;
209
  return flattened_options;
210
  };
211
 
212
+ SPFTESTIMONIALAbstractChosenOrder.isValidMultipleSelectElement = function(element) {
213
  return element !== null && typeof element !== "undefined" && element.nodeName === "SELECT" && element.multiple;
214
  };
215
 
216
+ SPFTESTIMONIALAbstractChosenOrder.getChosenUIContainer = function(select) {
217
  if (select.id !== "") {
218
  return document.getElementById(select.id.replace(/-/g, "_") + "_chosen");
219
  } else {
221
  }
222
  };
223
 
224
+ SPFTESTIMONIALAbstractChosenOrder.isChosenified = function(select) {
225
  return this.getChosenUIContainer(select) != null;
226
  };
227
 
228
+ SPFTESTIMONIALAbstractChosenOrder.forceSelection = function(select, selection) {
229
  var i, opt, options, _ref;
230
  options = this.getFlattenedOptionsAndGroups(select);
231
  i = 0;
243
  return this.triggerEvent(select, "chosen:updated");
244
  };
245
 
246
+ SPFTESTIMONIALAbstractChosenOrder.SPFTESTIMONIALChosenOrder = function(select, order, force) {
247
  var chosen_choices, chosen_options, chosen_ui, i, j, opt, opt_val, option, options, rel, relAttributeName, _i, _j, _len, _len1, _results;
248
  if (this.getDOMElement != null) {
249
  select = this.getDOMElement(select);
288
  }
289
  };
290
 
291
+ return SPFTESTIMONIALAbstractChosenOrder;
292
 
293
  })();
294
 
295
  $ = jQuery;
296
 
297
  $.fn.extend({
298
+ SPFTESTIMONIALChosenOrder: function(order, force) {
299
+ return _SPFTESTIMONIALChosenOrder.SPFTESTIMONIALChosenOrder(this, order, force);
300
  }
301
  });
302
 
303
+ this._SPFTESTIMONIALChosenOrder = (function(_super) {
304
+ __extends(_SPFTESTIMONIALChosenOrder, _super);
305
 
306
+ function _SPFTESTIMONIALChosenOrder() {
307
+ _ref = _SPFTESTIMONIALChosenOrder.__super__.constructor.apply(this, arguments);
308
  return _ref;
309
  }
310
 
311
+ _SPFTESTIMONIALChosenOrder.relAttributeName = 'data-option-array-index';
312
 
313
+ _SPFTESTIMONIALChosenOrder.isjQueryObject = function(obj) {
314
  return (typeof jQuery !== "undefined" && jQuery !== null) && obj instanceof jQuery;
315
  };
316
 
317
+ _SPFTESTIMONIALChosenOrder.getDOMElement = function(element) {
318
  if (this.isjQueryObject(element)) {
319
  return element.get(0);
320
  } else {
322
  }
323
  };
324
 
325
+ _SPFTESTIMONIALChosenOrder.searchChosenUIContainer = function(element) {
326
  if ($(element).data("chosen") != null) {
327
  return $(element).data("chosen").container[0];
328
  } else {
330
  }
331
  };
332
 
333
+ _SPFTESTIMONIALChosenOrder.triggerEvent = function(target, event_name) {
334
  return $(target).trigger(event_name);
335
  };
336
 
337
+ return _SPFTESTIMONIALChosenOrder;
338
 
339
+ })(SPFTESTIMONIALAbstractChosenOrder);
340
 
341
  }).call(this);
342
  ;(function() {
1692
  * http://miohtama.github.com/jquery-interdependencies/
1693
  * Copyright 2012-2013 Mikko Ohtamaa, others
1694
  *
 
 
1695
  */
1696
  (function($) {
1697
 
1912
  }
1913
  });
1914
 
1915
+ $.spftestimonial_deps = {
1916
 
1917
  createRuleset: function() {
1918
  return new Ruleset();
1946
  * @license BSD
1947
  * @version 2.5.0
1948
  *
 
1949
  *
1950
  */
1951
  (function(root, factory) {
1971
  }(this, function(exports, $) {
1972
 
1973
  //
1974
+ // Added custom patterns for spesific validate
1975
  //
1976
  var patterns = {
1977
  validate: /^(?!(_nonce|_pseudo))[a-zA-Z0-9_-]*(?:\[(?:\d*|(?!(_nonce|_pseudo))[a-zA-Z0-9_-]+)\])*$/i,
2073
  };
2074
 
2075
  //
2076
+ // Renamed function names for avoid conflicts
2077
  //
2078
 
2079
  if (typeof $.fn !== "undefined") {
2080
+ $.fn.serializeObjectSPFTESTIMONIAL = FormSerializer.serializeObject;
2081
+ $.fn.serializeJSONSPFTESTIMONIAL = FormSerializer.serializeJSON;
2082
  }
2083
 
2084
  exports.FormSerializer = FormSerializer;
admin/views/framework/assets/js/spftestimonial-plugins.min.js ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ !function($){function SPFTESTIMONIALAjaxChosen(element,options){this.element=$(element),this.options=options,this.init()}SPFTESTIMONIALAjaxChosen.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()},SPFTESTIMONIALAjaxChosen.prototype.events=function(){var _this=this;this.search_field.on("compositionstart",(function(){_this.is_typing=!0})),this.search_field.on("compositionend",(function(){_this.is_typing=!1,_this.update_list()})),this.search_field.on("keyup",(function(){_this.update_list()})),this.search_field.on("focus",(function(){_this.search_field_focused()}))},SPFTESTIMONIALAjaxChosen.prototype.search_field_focused=function(){this.search_welcome_message(),0===this.options.min_length&&0===this.search_field.val().length&&this.update_list()},SPFTESTIMONIALAjaxChosen.prototype.search_welcome_message=function(){var value=$.trim(this.search_field.val()),results=this.container.find(".chosen-results");0===results.children().length&&0===value.length&&results.html('<li class="no-results">'+this.options.typing_text.replace("%s",this.options.min_length-value.length)+"</li>")},SPFTESTIMONIALAjaxChosen.prototype.update_list=function(){var _this=this;if(this.search_welcome_message(),!this.is_typing){var value=$.trim(this.search_field.val()),message=value.length<this.options.min_length?this.options.typing_text.replace("%s",this.options.min_length-value.length):this.options.searching_text;this.container.find(".no-results").text(message),value!==this.search_field.data("prevVal")&&(this.search_field.data("prevVal",value),this.timer&&clearTimeout(this.timer),value.length<this.options.min_length||(this.timer=setTimeout((function(){_this.chosenXhr&&_this.chosenXhr.abort(),_this.options.data.term=value,_this.chosenXhr=window.wp.ajax.post("spftestimonial-chosen",_this.options.data).done((function(response){_this.show_results(response)})).fail((function(response){_this.container.find(".no-results").text(response.error)}))}),this.options.type_delay)))}},SPFTESTIMONIALAjaxChosen.prototype.show_results=function(items){var _this=this;if(!this.is_typing&&null!==items){if(0===items.length)return this.element.data().chosen.no_results_clear(),void this.element.data().chosen.no_results(this.search_field.val());var selected_values=[];this.element.find("option").each((function(){$(this).is(":selected")?selected_values.push($(this).val()+"-"+$(this).text()):$(this).attr("value").length&&$(this).remove()})),$.each(items,(function(i,item){-1===$.inArray(item.value+"-"+item.text,selected_values)&&$("<option />").attr("value",item.value).html(item.text).appendTo(_this.element)}));var value_before_trigger=this.search_field.val(),width_before_trigger=this.search_field.innerWidth();if(this.element.trigger("chosen:updated"),this.is_multiple){var $hidden_select,$hidden_value=this.element.parent().find(".spftestimonial-hidden-select").val()||[];this.element.SPFTESTIMONIALChosenOrder($hidden_value,!0),this.search_field.css("width",width_before_trigger)}this.search_field.val(value_before_trigger),null!==this.chosenXhr.done&&this.chosenXhr.done(items)}},$.fn.SPFTESTIMONIALAjaxChosen=function(chosenOptions){return this.each((function(){new SPFTESTIMONIALAjaxChosen(this,chosenOptions)}))}}(jQuery),function(){var $,SPFTESTIMONIALAbstractChosenOrder,_ref,__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},__hasProp={}.hasOwnProperty,__extends=function(child,parent){for(var key in parent)__hasProp.call(parent,key)&&(child[key]=parent[key]);function ctor(){this.constructor=child}return ctor.prototype=parent.prototype,child.prototype=new ctor,child.__super__=parent.prototype,child};SPFTESTIMONIALAbstractChosenOrder=function(){function SPFTESTIMONIALAbstractChosenOrder(){}return SPFTESTIMONIALAbstractChosenOrder.insertAt=function(node,index,parentNode){return parentNode.insertBefore(node,parentNode.children[index].nextSibling)},SPFTESTIMONIALAbstractChosenOrder.getFlattenedOptionsAndGroups=function(select){var flattened_options,opt,options,sub_opt,sub_options,_i,_j,_len,_len1;for(flattened_options=[],_i=0,_len=(options=Array.prototype.filter.call(select.childNodes,(function(o){var _ref;return"OPTION"===(_ref=o.nodeName.toUpperCase())||"OPTGROUP"===_ref}))).length;_i<_len;_i++)if(opt=options[_i],flattened_options.push(opt),"OPTGROUP"===opt.nodeName.toUpperCase())for(_j=0,_len1=(sub_options=Array.prototype.filter.call(opt.childNodes,(function(o){return"OPTION"===o.nodeName.toUpperCase()}))).length;_j<_len1;_j++)sub_opt=sub_options[_j],flattened_options.push(sub_opt);return flattened_options},SPFTESTIMONIALAbstractChosenOrder.isValidMultipleSelectElement=function(element){return null!=element&&"SELECT"===element.nodeName&&element.multiple},SPFTESTIMONIALAbstractChosenOrder.getChosenUIContainer=function(select){return""!==select.id?document.getElementById(select.id.replace(/-/g,"_")+"_chosen"):this.searchChosenUIContainer(select)},SPFTESTIMONIALAbstractChosenOrder.isChosenified=function(select){return null!=this.getChosenUIContainer(select)},SPFTESTIMONIALAbstractChosenOrder.forceSelection=function(select,selection){var i,opt,options,_ref;for(options=this.getFlattenedOptionsAndGroups(select),i=0;i<options.length;)_ref=(opt=options[i]).getAttribute("value"),__indexOf.call(selection,_ref)>=0?(opt.selected=!0,opt.setAttribute("selected","")):(opt.selected=!1,opt.removeAttribute("selected")),i++;return this.triggerEvent(select,"chosen:updated")},SPFTESTIMONIALAbstractChosenOrder.SPFTESTIMONIALChosenOrder=function(select,order,force){var chosen_choices,chosen_options,chosen_ui,i,j,opt,opt_val,option,options,rel,relAttributeName,_i,_j,_len,_len1,_results;if(null!=this.getDOMElement&&(select=this.getDOMElement(select)),this.isValidMultipleSelectElement(select)&&null!=(chosen_ui=this.getChosenUIContainer(select))&&order instanceof Array){for(order=order.map(Function.prototype.call,String.prototype.trim),options=this.getFlattenedOptionsAndGroups(select),null!=force&&!0===force&&this.forceSelection(select,order),_results=[],i=_i=0,_len=order.length;_i<_len;i=++_i){for(opt_val=order[i],rel=null,j=_j=0,_len1=options.length;_j<_len1;j=++_j)(opt=options[j]).value===opt_val&&(rel=j);chosen_options=chosen_ui.querySelectorAll(".search-choice"),relAttributeName=this.relAttributeName,null!=(option=Array.prototype.filter.call(chosen_options,(function(o){return null!=o.querySelector("a.search-choice-close["+relAttributeName+'="'+rel+'"]')}))[0])&&(chosen_choices=chosen_ui.querySelector("ul.chosen-choices"),_results.push(this.insertAt(option,i,chosen_ui.querySelector("ul.chosen-choices"))))}return _results}},SPFTESTIMONIALAbstractChosenOrder}(),($=jQuery).fn.extend({SPFTESTIMONIALChosenOrder:function(order,force){return _SPFTESTIMONIALChosenOrder.SPFTESTIMONIALChosenOrder(this,order,force)}}),this._SPFTESTIMONIALChosenOrder=function(_super){function _SPFTESTIMONIALChosenOrder(){return _ref=_SPFTESTIMONIALChosenOrder.__super__.constructor.apply(this,arguments)}return __extends(_SPFTESTIMONIALChosenOrder,_super),_SPFTESTIMONIALChosenOrder.relAttributeName="data-option-array-index",_SPFTESTIMONIALChosenOrder.isjQueryObject=function(obj){return"undefined"!=typeof jQuery&&null!==jQuery&&obj instanceof jQuery},_SPFTESTIMONIALChosenOrder.getDOMElement=function(element){return this.isjQueryObject(element)?element.get(0):element},_SPFTESTIMONIALChosenOrder.searchChosenUIContainer=function(element){return null!=$(element).data("chosen")?$(element).data("chosen").container[0]:$(element).next(".chosen-container.chosen-container-multi").get(0)},_SPFTESTIMONIALChosenOrder.triggerEvent=function(target,event_name){return $(target).trigger(event_name)},_SPFTESTIMONIALChosenOrder}(SPFTESTIMONIALAbstractChosenOrder)}.call(this),function(){var $,AbstractChosen,Chosen,SelectParser,bind=function(fn,me){return function(){return fn.apply(me,arguments)}},extend=function(child,parent){for(var key in parent)hasProp.call(parent,key)&&(child[key]=parent[key]);function ctor(){this.constructor=child}return ctor.prototype=parent.prototype,child.prototype=new ctor,child.__super__=parent.prototype,child},hasProp={}.hasOwnProperty;(SelectParser=function(){function SelectParser(){this.options_index=0,this.parsed=[]}return SelectParser.prototype.add_node=function(child){return"OPTGROUP"===child.nodeName.toUpperCase()?this.add_group(child):this.add_option(child)},SelectParser.prototype.add_group=function(group){var group_position,i,len,option,ref,results1;for(group_position=this.parsed.length,this.parsed.push({array_index:group_position,group:!0,label:group.label,title:group.title?group.title:void 0,children:0,disabled:group.disabled,classes:group.className}),results1=[],i=0,len=(ref=group.childNodes).length;i<len;i++)option=ref[i],results1.push(this.add_option(option,group_position,group.disabled));return results1},SelectParser.prototype.add_option=function(option,group_position,group_disabled){if("OPTION"===option.nodeName.toUpperCase())return""!==option.text?(null!=group_position&&(this.parsed[group_position].children+=1),this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,value:option.value,text:option.text,html:option.innerHTML,title:option.title?option.title:void 0,selected:option.selected,disabled:!0===group_disabled?group_disabled:option.disabled,group_array_index:group_position,group_label:null!=group_position?this.parsed[group_position].label:null,classes:option.className,style:option.style.cssText})):this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,empty:!0}),this.options_index+=1},SelectParser}()).select_to_array=function(select){var child,i,len,parser,ref;for(parser=new SelectParser,i=0,len=(ref=select.childNodes).length;i<len;i++)child=ref[i],parser.add_node(child);return parser.parsed},AbstractChosen=function(){function AbstractChosen(form_field,options1){this.form_field=form_field,this.options=null!=options1?options1:{},this.label_click_handler=bind(this.label_click_handler,this),AbstractChosen.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 AbstractChosen.prototype.set_default_values=function(){var _this;return this.click_test_action=(_this=this,function(evt){return _this.test_active_click(evt)}),this.activate_action=function(_this){return function(evt){return _this.activate_field(evt)}}(this),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},AbstractChosen.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||AbstractChosen.default_multiple_text:this.default_text=this.options.placeholder_text_single||this.options.placeholder_text||AbstractChosen.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||AbstractChosen.default_no_result_text},AbstractChosen.prototype.choice_label=function(item){return this.include_group_label_in_selected&&null!=item.group_label?"<b class='group-name'>"+this.escape_html(item.group_label)+"</b>"+item.html:item.html},AbstractChosen.prototype.mouse_enter=function(){return this.mouse_on_container=!0},AbstractChosen.prototype.mouse_leave=function(){return this.mouse_on_container=!1},AbstractChosen.prototype.input_focus=function(evt){if(this.is_multiple){if(!this.active_field)return setTimeout((_this=this,function(){return _this.container_mousedown()}),50)}else if(!this.active_field)return this.activate_field();var _this},AbstractChosen.prototype.input_blur=function(evt){if(!this.mouse_on_container)return this.active_field=!1,setTimeout((_this=this,function(){return _this.blur_test()}),100);var _this},AbstractChosen.prototype.label_click_handler=function(evt){return this.is_multiple?this.container_mousedown(evt):this.activate_field()},AbstractChosen.prototype.results_option_build=function(options){var content,data,data_content,i,len,ref,shown_results;for(content="",shown_results=0,i=0,len=(ref=this.results_data).length;i<len&&(data_content="",""!==(data_content=(data=ref[i]).group?this.result_add_group(data):this.result_add_option(data))&&(shown_results++,content+=data_content),(null!=options?options.first:void 0)&&(data.selected&&this.is_multiple?this.choice_build(data):data.selected&&!this.is_multiple&&this.single_set_selected_text(this.choice_label(data))),!(shown_results>=this.max_shown_results));i++);return content},AbstractChosen.prototype.result_add_option=function(option){var classes,option_el;return option.search_match&&this.include_option_in_results(option)?(classes=[],option.disabled||option.selected&&this.is_multiple||classes.push("active-result"),!option.disabled||option.selected&&this.is_multiple||classes.push("disabled-result"),option.selected&&classes.push("result-selected"),null!=option.group_array_index&&classes.push("group-option"),""!==option.classes&&classes.push(option.classes),(option_el=document.createElement("li")).className=classes.join(" "),option.style&&(option_el.style.cssText=option.style),option_el.setAttribute("data-option-array-index",option.array_index),option_el.innerHTML=option.highlighted_html||option.html,option.title&&(option_el.title=option.title),this.outerHTML(option_el)):""},AbstractChosen.prototype.result_add_group=function(group){var classes,group_el;return(group.search_match||group.group_match)&&group.active_options>0?((classes=[]).push("group-result"),group.classes&&classes.push(group.classes),(group_el=document.createElement("li")).className=classes.join(" "),group_el.innerHTML=group.highlighted_html||this.escape_html(group.label),group.title&&(group_el.title=group.title),this.outerHTML(group_el)):""},AbstractChosen.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()},AbstractChosen.prototype.reset_single_select_options=function(){var i,len,ref,result,results1;for(results1=[],i=0,len=(ref=this.results_data).length;i<len;i++)(result=ref[i]).selected?results1.push(result.selected=!1):results1.push(void 0);return results1},AbstractChosen.prototype.results_toggle=function(){return this.results_showing?this.results_hide():this.results_show()},AbstractChosen.prototype.results_search=function(evt){return this.results_showing?this.winnow_results():this.results_show()},AbstractChosen.prototype.winnow_results=function(options){var escapedQuery,fix,i,len,option,prefix,query,ref,regex,results,results_group,search_match,startpos,suffix,text;for(this.no_results_clear(),results=0,escapedQuery=(query=this.get_search_text()).replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),regex=this.get_search_regex(escapedQuery),i=0,len=(ref=this.results_data).length;i<len;i++)(option=ref[i]).search_match=!1,results_group=null,search_match=null,option.highlighted_html="",this.include_option_in_results(option)&&(option.group&&(option.group_match=!1,option.active_options=0),null!=option.group_array_index&&this.results_data[option.group_array_index]&&(0===(results_group=this.results_data[option.group_array_index]).active_options&&results_group.search_match&&(results+=1),results_group.active_options+=1),text=option.group?option.label:option.text,option.group&&!this.group_search||(search_match=this.search_string_match(text,regex),option.search_match=null!=search_match,option.search_match&&!option.group&&(results+=1),option.search_match?(query.length&&(startpos=search_match.index,prefix=text.slice(0,startpos),fix=text.slice(startpos,startpos+query.length),suffix=text.slice(startpos+query.length),option.highlighted_html=this.escape_html(prefix)+"<em>"+this.escape_html(fix)+"</em>"+this.escape_html(suffix)),null!=results_group&&(results_group.group_match=!0)):null!=option.group_array_index&&this.results_data[option.group_array_index].search_match&&(option.search_match=!0)));return this.result_clear_highlight(),results<1&&query.length?(this.update_results_content(""),this.no_results(query)):(this.update_results_content(this.results_option_build()),(null!=options?options.skip_highlight:void 0)?void 0:this.winnow_results_set_highlight())},AbstractChosen.prototype.get_search_regex=function(escaped_search_string){var regex_flag,regex_string;return regex_string=this.search_contains?escaped_search_string:"(^|\\s|\\b)"+escaped_search_string+"[^\\s]*",this.enable_split_word_search||this.search_contains||(regex_string="^"+regex_string),regex_flag=this.case_sensitive_search?"":"i",new RegExp(regex_string,regex_flag)},AbstractChosen.prototype.search_string_match=function(search_string,regex){var match;return match=regex.exec(search_string),!this.search_contains&&(null!=match?match[1]:void 0)&&(match.index+=1),match},AbstractChosen.prototype.choices_count=function(){var i,len,option,ref;if(null!=this.selected_option_count)return this.selected_option_count;for(this.selected_option_count=0,i=0,len=(ref=this.form_field.options).length;i<len;i++)(option=ref[i]).selected&&(this.selected_option_count+=1);return this.selected_option_count},AbstractChosen.prototype.choices_click=function(evt){if(evt.preventDefault(),this.activate_field(),!this.results_showing&&!this.is_disabled)return this.results_show()},AbstractChosen.prototype.keydown_checker=function(evt){var ref,stroke;switch(stroke=null!=(ref=evt.which)?ref:evt.keyCode,this.search_field_scale(),8!==stroke&&this.pending_backstroke&&this.clear_backstroke(),stroke){case 8:this.backstroke_length=this.get_search_field_value().length;break;case 9:this.results_showing&&!this.is_multiple&&this.result_select(evt),this.mouse_on_container=!1;break;case 13:case 27:this.results_showing&&evt.preventDefault();break;case 32:this.disable_search&&evt.preventDefault();break;case 38:evt.preventDefault(),this.keyup_arrow();break;case 40:evt.preventDefault(),this.keydown_arrow()}},AbstractChosen.prototype.keyup_checker=function(evt){var ref,stroke;switch(stroke=null!=(ref=evt.which)?ref:evt.keyCode,this.search_field_scale(),stroke){case 8:this.is_multiple&&this.backstroke_length<1&&this.choices_count()>0?this.keydown_backstroke():this.pending_backstroke||(this.result_clear_highlight(),this.results_search());break;case 13:evt.preventDefault(),this.results_showing&&this.result_select(evt);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()}},AbstractChosen.prototype.clipboard_event_checker=function(evt){var _this;if(!this.is_disabled)return setTimeout((_this=this,function(){return _this.results_search()}),50)},AbstractChosen.prototype.container_width=function(){return null!=this.options.width?this.options.width:this.form_field.offsetWidth+"px"},AbstractChosen.prototype.include_option_in_results=function(option){return!(this.is_multiple&&!this.display_selected_options&&option.selected)&&(!(!this.display_disabled_options&&option.disabled)&&!option.empty)},AbstractChosen.prototype.search_results_touchstart=function(evt){return this.touch_started=!0,this.search_results_mouseover(evt)},AbstractChosen.prototype.search_results_touchmove=function(evt){return this.touch_started=!1,this.search_results_mouseout(evt)},AbstractChosen.prototype.search_results_touchend=function(evt){if(this.touch_started)return this.search_results_mouseup(evt)},AbstractChosen.prototype.outerHTML=function(element){var tmp;return element.outerHTML?element.outerHTML:((tmp=document.createElement("div")).appendChild(element),tmp.innerHTML)},AbstractChosen.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>'},AbstractChosen.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>'},AbstractChosen.prototype.get_no_results_html=function(terms){return'<li class="no-results">\n '+this.results_none_found+" <span>"+this.escape_html(terms)+"</span>\n</li>"},AbstractChosen.browser_is_supported=function(){return"Microsoft Internet Explorer"===window.navigator.appName?document.documentMode>=8:!(/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))},AbstractChosen.default_multiple_text="Select Some Options",AbstractChosen.default_single_text="Select an Option",AbstractChosen.default_no_result_text="No results match",AbstractChosen}(),($=jQuery).fn.extend({chosen:function(options){return AbstractChosen.browser_is_supported()?this.each((function(input_field){var $this,chosen;chosen=($this=$(this)).data("chosen"),"destroy"!==options?chosen instanceof Chosen||$this.data("chosen",new Chosen(this,options)):chosen instanceof Chosen&&chosen.destroy()})):this}}),Chosen=function(superClass){function Chosen(){return Chosen.__super__.constructor.apply(this,arguments)}return extend(Chosen,superClass),Chosen.prototype.setup=function(){return this.form_field_jq=$(this.form_field),this.current_selectedIndex=this.form_field.selectedIndex},Chosen.prototype.set_up_html=function(){var container_classes,container_props;return(container_classes=["chosen-container"]).push("chosen-container-"+(this.is_multiple?"multi":"single")),this.inherit_select_classes&&this.form_field.className&&container_classes.push(this.form_field.className),this.is_rtl&&container_classes.push("chosen-rtl"),container_props={class:container_classes.join(" "),title:this.form_field.title},this.form_field.id.length&&(container_props.id=this.form_field.id.replace(/[^\w]/g,"_")+"_chosen"),this.container=$("<div />",container_props),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()},Chosen.prototype.on_ready=function(){return this.form_field_jq.trigger("chosen:ready",{chosen:this})},Chosen.prototype.register_observers=function(){var _this;return this.container.on("touchstart.chosen",(_this=this,function(evt){_this.container_mousedown(evt)})),this.container.on("touchend.chosen",function(_this){return function(evt){_this.container_mouseup(evt)}}(this)),this.container.on("mousedown.chosen",function(_this){return function(evt){_this.container_mousedown(evt)}}(this)),this.container.on("mouseup.chosen",function(_this){return function(evt){_this.container_mouseup(evt)}}(this)),this.container.on("mouseenter.chosen",function(_this){return function(evt){_this.mouse_enter(evt)}}(this)),this.container.on("mouseleave.chosen",function(_this){return function(evt){_this.mouse_leave(evt)}}(this)),this.search_results.on("mouseup.chosen",function(_this){return function(evt){_this.search_results_mouseup(evt)}}(this)),this.search_results.on("mouseover.chosen",function(_this){return function(evt){_this.search_results_mouseover(evt)}}(this)),this.search_results.on("mouseout.chosen",function(_this){return function(evt){_this.search_results_mouseout(evt)}}(this)),this.search_results.on("mousewheel.chosen DOMMouseScroll.chosen",function(_this){return function(evt){_this.search_results_mousewheel(evt)}}(this)),this.search_results.on("touchstart.chosen",function(_this){return function(evt){_this.search_results_touchstart(evt)}}(this)),this.search_results.on("touchmove.chosen",function(_this){return function(evt){_this.search_results_touchmove(evt)}}(this)),this.search_results.on("touchend.chosen",function(_this){return function(evt){_this.search_results_touchend(evt)}}(this)),this.form_field_jq.on("chosen:updated.chosen",function(_this){return function(evt){_this.results_update_field(evt)}}(this)),this.form_field_jq.on("chosen:activate.chosen",function(_this){return function(evt){_this.activate_field(evt)}}(this)),this.form_field_jq.on("chosen:open.chosen",function(_this){return function(evt){_this.container_mousedown(evt)}}(this)),this.form_field_jq.on("chosen:close.chosen",function(_this){return function(evt){_this.close_field(evt)}}(this)),this.search_field.on("blur.chosen",function(_this){return function(evt){_this.input_blur(evt)}}(this)),this.search_field.on("keyup.chosen",function(_this){return function(evt){_this.keyup_checker(evt)}}(this)),this.search_field.on("keydown.chosen",function(_this){return function(evt){_this.keydown_checker(evt)}}(this)),this.search_field.on("focus.chosen",function(_this){return function(evt){_this.input_focus(evt)}}(this)),this.search_field.on("cut.chosen",function(_this){return function(evt){_this.clipboard_event_checker(evt)}}(this)),this.search_field.on("paste.chosen",function(_this){return function(evt){_this.clipboard_event_checker(evt)}}(this)),this.is_multiple?this.search_choices.on("click.chosen",function(_this){return function(evt){_this.choices_click(evt)}}(this)):this.container.on("click.chosen",(function(evt){evt.preventDefault()}))},Chosen.prototype.destroy=function(){return $(this.container[0].ownerDocument).off("click.chosen",this.click_test_action),this.form_field_label.length>0&&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()},Chosen.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)},Chosen.prototype.container_mousedown=function(evt){var ref;if(!this.is_disabled)return!evt||"mousedown"!==(ref=evt.type)&&"touchstart"!==ref||this.results_showing||evt.preventDefault(),null!=evt&&$(evt.target).hasClass("search-choice-close")?void 0:(this.active_field?this.is_multiple||!evt||$(evt.target)[0]!==this.selected_item[0]&&!$(evt.target).parents("a.chosen-single").length||(evt.preventDefault(),this.results_toggle()):(this.is_multiple&&this.search_field.val(""),$(this.container[0].ownerDocument).on("click.chosen",this.click_test_action),this.results_show()),this.activate_field())},Chosen.prototype.container_mouseup=function(evt){if("ABBR"===evt.target.nodeName&&!this.is_disabled)return this.results_reset(evt)},Chosen.prototype.search_results_mousewheel=function(evt){var delta;if(evt.originalEvent&&(delta=evt.originalEvent.deltaY||-evt.originalEvent.wheelDelta||evt.originalEvent.detail),null!=delta)return evt.preventDefault(),"DOMMouseScroll"===evt.type&&(delta*=40),this.search_results.scrollTop(delta+this.search_results.scrollTop())},Chosen.prototype.blur_test=function(evt){if(!this.active_field&&this.container.hasClass("chosen-container-active"))return this.close_field()},Chosen.prototype.close_field=function(){return $(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()},Chosen.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()},Chosen.prototype.test_active_click=function(evt){var active_container;return(active_container=$(evt.target).closest(".chosen-container")).length&&this.container[0]===active_container[0]?this.active_field=!0:this.close_field()},Chosen.prototype.results_build=function(){return this.parsing=!0,this.selected_option_count=null,this.results_data=SelectParser.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},Chosen.prototype.result_do_highlight=function(el){var high_bottom,high_top,maxHeight,visible_bottom,visible_top;if(el.length){if(this.result_clear_highlight(),this.result_highlight=el,this.result_highlight.addClass("highlighted"),visible_bottom=(maxHeight=parseInt(this.search_results.css("maxHeight"),10))+(visible_top=this.search_results.scrollTop()),(high_bottom=(high_top=this.result_highlight.position().top+this.search_results.scrollTop())+this.result_highlight.outerHeight())>=visible_bottom)return this.search_results.scrollTop(high_bottom-maxHeight>0?high_bottom-maxHeight:0);if(high_top<visible_top)return this.search_results.scrollTop(high_top)}},Chosen.prototype.result_clear_highlight=function(){return this.result_highlight&&this.result_highlight.removeClass("highlighted"),this.result_highlight=null},Chosen.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}))},Chosen.prototype.update_results_content=function(content){return this.search_results.html(content)},Chosen.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},Chosen.prototype.set_tab_index=function(el){var ti;if(this.form_field.tabIndex)return ti=this.form_field.tabIndex,this.form_field.tabIndex=-1,this.search_field[0].tabIndex=ti},Chosen.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=$("label[for='"+this.form_field.id+"']")),this.form_field_label.length>0)return this.form_field_label.on("click.chosen",this.label_click_handler)},Chosen.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"))},Chosen.prototype.search_results_mouseup=function(evt){var target;if((target=$(evt.target).hasClass("active-result")?$(evt.target):$(evt.target).parents(".active-result").first()).length)return this.result_highlight=target,this.result_select(evt),this.search_field.focus()},Chosen.prototype.search_results_mouseover=function(evt){var target;if(target=$(evt.target).hasClass("active-result")?$(evt.target):$(evt.target).parents(".active-result").first())return this.result_do_highlight(target)},Chosen.prototype.search_results_mouseout=function(evt){if($(evt.target).hasClass("active-result")||$(evt.target).parents(".active-result").first())return this.result_clear_highlight()},Chosen.prototype.choice_build=function(item){var choice,close_link,_this;return choice=$("<li />",{class:"search-choice"}).html("<span>"+this.choice_label(item)+"</span>"),item.disabled?choice.addClass("search-choice-disabled"):((close_link=$("<a />",{class:"search-choice-close","data-option-array-index":item.array_index})).on("click.chosen",(_this=this,function(evt){return _this.choice_destroy_link_click(evt)})),choice.append(close_link)),this.search_container.before(choice)},Chosen.prototype.choice_destroy_link_click=function(evt){if(evt.preventDefault(),evt.stopPropagation(),!this.is_disabled)return this.choice_destroy($(evt.target))},Chosen.prototype.choice_destroy=function(link){if(this.result_deselect(link[0].getAttribute("data-option-array-index")))return this.active_field?this.search_field.focus():this.show_search_field_default(),this.is_multiple&&this.choices_count()>0&&this.get_search_field_value().length<1&&this.results_hide(),link.parents("li").first().remove(),this.search_field_scale()},Chosen.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()},Chosen.prototype.results_reset_cleanup=function(){return this.current_selectedIndex=this.form_field.selectedIndex,this.selected_item.find("abbr").remove()},Chosen.prototype.result_select=function(evt){var high,item;if(this.result_highlight)return high=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?high.removeClass("active-result"):this.reset_single_select_options(),high.addClass("result-selected"),(item=this.results_data[high[0].getAttribute("data-option-array-index")]).selected=!0,this.form_field.options[item.options_index].selected=!0,this.selected_option_count=null,this.is_multiple?this.choice_build(item):this.single_set_selected_text(this.choice_label(item)),this.is_multiple&&(!this.hide_results_on_select||evt.metaKey||evt.ctrlKey)?evt.metaKey||evt.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[item.options_index].value}),this.current_selectedIndex=this.form_field.selectedIndex,evt.preventDefault(),this.search_field_scale())},Chosen.prototype.single_set_selected_text=function(text){return null==text&&(text=this.default_text),text===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(text)},Chosen.prototype.result_deselect=function(pos){var result_data;return result_data=this.results_data[pos],!this.form_field.options[result_data.options_index].disabled&&(result_data.selected=!1,this.form_field.options[result_data.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[result_data.options_index].value}),this.search_field_scale(),!0)},Chosen.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")},Chosen.prototype.get_search_field_value=function(){return this.search_field.val()},Chosen.prototype.get_search_text=function(){return $.trim(this.get_search_field_value())},Chosen.prototype.escape_html=function(text){return $("<div/>").text(text).html()},Chosen.prototype.winnow_results_set_highlight=function(){var do_high,selected_results;if(null!=(do_high=(selected_results=this.is_multiple?[]:this.search_results.find(".result-selected.active-result")).length?selected_results.first():this.search_results.find(".active-result").first()))return this.result_do_highlight(do_high)},Chosen.prototype.no_results=function(terms){var no_results_html;return no_results_html=this.get_no_results_html(terms),this.search_results.append(no_results_html),this.form_field_jq.trigger("chosen:no_results",{chosen:this})},Chosen.prototype.no_results_clear=function(){return this.search_results.find(".no-results").remove()},Chosen.prototype.keydown_arrow=function(){var next_sib;return this.results_showing&&this.result_highlight?(next_sib=this.result_highlight.nextAll("li.active-result").first())?this.result_do_highlight(next_sib):void 0:this.results_show()},Chosen.prototype.keyup_arrow=function(){var prev_sibs;return this.results_showing||this.is_multiple?this.result_highlight?(prev_sibs=this.result_highlight.prevAll("li.active-result")).length?this.result_do_highlight(prev_sibs.first()):(this.choices_count()>0&&this.results_hide(),this.result_clear_highlight()):void 0:this.results_show()},Chosen.prototype.keydown_backstroke=function(){var next_available_destroy;return this.pending_backstroke?(this.choice_destroy(this.pending_backstroke.find("a").first()),this.clear_backstroke()):(next_available_destroy=this.search_container.siblings("li.search-choice").last()).length&&!next_available_destroy.hasClass("search-choice-disabled")?(this.pending_backstroke=next_available_destroy,this.single_backstroke_delete?this.keydown_backstroke():this.pending_backstroke.addClass("search-choice-focus")):void 0},Chosen.prototype.clear_backstroke=function(){return this.pending_backstroke&&this.pending_backstroke.removeClass("search-choice-focus"),this.pending_backstroke=null},Chosen.prototype.search_field_scale=function(){var div,i,len,style,style_block,styles,width;if(this.is_multiple){for(style_block={position:"absolute",left:"-1000px",top:"-1000px",display:"none",whiteSpace:"pre"},i=0,len=(styles=["fontSize","fontStyle","fontWeight","fontFamily","lineHeight","textTransform","letterSpacing"]).length;i<len;i++)style_block[style=styles[i]]=this.search_field.css(style);return(div=$("<div />").css(style_block)).text(this.get_search_field_value()),$("body").append(div),width=div.width()+25,div.remove(),this.container.is(":visible")&&(width=Math.min(this.container.outerWidth()-10,width)),this.search_field.width(width)}},Chosen.prototype.trigger_form_field_change=function(extra){return this.form_field_jq.trigger("input",extra),this.form_field_jq.trigger("change",extra)},Chosen}(AbstractChosen)}.call(this),function($){"use strict";function Rule(controller,condition,value){this.init(controller,condition,value)}function Ruleset(){this.rules=[]}$.extend(Rule.prototype,{init:function(controller,condition,value){this.controller=controller,this.condition=condition,this.value=value,this.rules=[],this.controls=[]},evalCondition:function(context,control,condition,val1,val2){if("=="==condition)return this.checkBoolean(val1)==this.checkBoolean(val2);if("!="==condition)return this.checkBoolean(val1)!=this.checkBoolean(val2);if(">="==condition)return Number(val2)>=Number(val1);if("<="==condition)return Number(val2)<=Number(val1);if(">"==condition)return Number(val2)>Number(val1);if("<"==condition)return Number(val2)<Number(val1);if("()"==condition)return window[val1](context,control,val2);if("any"==condition){if($.isArray(val2)){for(var i=val2.length-1;i>=0;i--)if(-1!==$.inArray(val2[i],val1.split(",")))return!0}else if(-1!==$.inArray(val2,val1.split(",")))return!0}else if("not-any"==condition)if($.isArray(val2)){for(var i=val2.length-1;i>=0;i--)if(-1==$.inArray(val2[i],val1.split(",")))return!0}else if(-1==$.inArray(val2,val1.split(",")))return!0;return!1},checkBoolean:function(value){switch(value){case!0:case"true":case 1:case"1":value=!0;break;case null:case!1:case"false":case 0:case"0":value=!1}return value},checkCondition:function(context){if(!this.condition)return!0;var control=context.find(this.controller),control_value=this.getControlValue(context,control);return void 0!==control_value&&(control_value=this.normalizeValue(control,this.value,control_value),this.evalCondition(context,control,this.condition,this.value,control_value))},normalizeValue:function(control,baseValue,control_value){return"number"==typeof baseValue?parseFloat(control_value):control_value},getControlValue:function(context,control){return control.length>1&&("radio"==control.attr("type")||"checkbox"==control.attr("type"))?control.filter(":checked").map((function(){return this.value})).get():"checkbox"==control.attr("type")||"radio"==control.attr("type")?control.is(":checked"):control.val()},createRule:function(controller,condition,value){var rule=new Rule(controller,condition,value);return this.rules.push(rule),rule},include:function(input){this.controls.push(input)},applyRule:function(context,enforced){var result;result=void 0===enforced?this.checkCondition(context):enforced;var controls=$.map(this.controls,(function(elem,idx){return context.find(elem)}));result?($(controls).each((function(){$(this).removeClass("hidden")})),$(this.rules).each((function(){this.applyRule(context)}))):($(controls).each((function(){$(this).addClass("hidden")})),$(this.rules).each((function(){this.applyRule(context,!1)})))}}),$.extend(Ruleset.prototype,{createRule:function(controller,condition,value){var rule=new Rule(controller,condition,value);return this.rules.push(rule),rule},applyRules:function(context){$(this.rules).each((function(){this.applyRule(context)}))}}),$.spftestimonial_deps={createRuleset:function(){return new Ruleset},enable:function(selection,ruleset,depends){return selection.on("change keyup",(function(elem){var depend_id=elem.target.getAttribute("data-depend-id")||elem.target.getAttribute("data-sub-depend-id");-1!==depends.indexOf(depend_id)&&ruleset.applyRules(selection)})),ruleset.applyRules(selection),!0}}}(jQuery),
2
+ /**
3
+ *
4
+ * jQuery serializeObject
5
+ *
6
+ * @copyright 2014, macek <paulmacek@gmail.com>
7
+ * @link https://github.com/macek/jquery-serialize-object
8
+ * @license BSD
9
+ * @version 2.5.0
10
+ *
11
+ *
12
+ */
13
+ function(root,factory){if("function"==typeof define&&define.amd)define(["exports","jquery"],(function(exports,$){return factory(exports,$)}));else if("undefined"!=typeof exports){var $=require("jquery");factory(exports,$)}else factory(root,root.jQuery||root.Zepto||root.ender||root.$)}(this,(function(exports,$){var patterns={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 FormSerializer(helper,$form){var data={},pushes={};function build(base,key,value){return base[key]=value,base}function makeObject(root,value){for(var keys=root.match(patterns.key),k;void 0!==(k=keys.pop());){var idx;if(patterns.push.test(k))value=build([],incrementPush(root.replace(/\[\]$/,"")),value);else patterns.fixed.test(k)?value=build([],k,value):patterns.named.test(k)&&(value=build({},k,value))}return value}function incrementPush(key){return void 0===pushes[key]&&(pushes[key]=0),pushes[key]++}function addPair(pair){if(!patterns.validate.test(pair.name))return this;var obj=makeObject(pair.name,pair.value);return data=helper.extend(!0,data,obj),this}function addPairs(pairs){if(!helper.isArray(pairs))throw new Error("formSerializer.addPairs expects an Array");for(var i=0,len=pairs.length;i<len;i++)this.addPair(pairs[i]);return this}function serialize(){return data}function serializeJSON(){return JSON.stringify(serialize())}this.addPair=addPair,this.addPairs=addPairs,this.serialize=serialize,this.serializeJSON=serializeJSON}return FormSerializer.patterns=patterns,FormSerializer.serializeObject=function serializeObject(){return new FormSerializer($,this).addPairs(this.serializeArray()).serialize()},FormSerializer.serializeJSON=function serializeJSON(){return new FormSerializer($,this).addPairs(this.serializeArray()).serializeJSON()},void 0!==$.fn&&($.fn.serializeObjectSPFTESTIMONIAL=FormSerializer.serializeObject,$.fn.serializeJSONSPFTESTIMONIAL=FormSerializer.serializeJSON),exports.FormSerializer=FormSerializer,FormSerializer}));
admin/views/framework/assets/js/{csf.js → spftestimonial.js} RENAMED
@@ -1,24 +1,14 @@
1
- /**
2
- *
3
- * -----------------------------------------------------------
4
- *
5
- * Codestar Framework
6
- * A Simple and Lightweight WordPress Option Framework
7
- *
8
- * -----------------------------------------------------------
9
- *
10
- */
11
  ;(function( $, window, document, undefined ) {
12
  'use strict';
13
 
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),
@@ -32,7 +22,7 @@
32
  //
33
  // Helper Functions
34
  //
35
- CSF.helper = {
36
 
37
  //
38
  // Generate UID
@@ -53,7 +43,7 @@
53
  name_nested_replace: function( $selector, field_id ) {
54
 
55
  var checks = [];
56
- var regex = new RegExp('('+ CSF.helper.preg_quote(field_id) +')\\[(\\d+)\\]', 'g');
57
 
58
  $selector.find(':radio').each(function() {
59
  if( this.checked || this.orginal_checked ) {
@@ -155,7 +145,7 @@
155
  // Remove a cookie
156
  //
157
  remove_cookie: function( name, path, domain, secure ) {
158
- CSF.helper.set_cookie( name, '', -1000, path, domain, secure );
159
  },
160
 
161
  };
@@ -163,7 +153,7 @@
163
  //
164
  // Custom clone for textarea and select clone() bug
165
  //
166
- $.fn.csf_clone = function() {
167
 
168
  var base = $.fn.clone.apply(this, arguments),
169
  clone = this.find('select').add(this.filter('select')),
@@ -190,13 +180,13 @@
190
  //
191
  // Expand All Options
192
  //
193
- $.fn.csf_expand_all = function() {
194
  return this.each( function() {
195
  $(this).on('click', function( e ) {
196
 
197
  e.preventDefault();
198
- $('.csf-wrapper').toggleClass('csf-show-all');
199
- $('.csf-section').csf_reload_script();
200
  $(this).find('.fa').toggleClass('fa-indent').toggleClass('fa-outdent');
201
 
202
  });
@@ -206,33 +196,33 @@
206
  //
207
  // Options Navigation
208
  //
209
- $.fn.csf_nav_options = function() {
210
  return this.each( function() {
211
 
212
  var $nav = $(this),
213
  $links = $nav.find('a'),
214
- $hidden = $nav.closest('.csf').find('.csf-section-id'),
215
  $last_section;
216
 
217
  $(window).on('hashchange', function() {
218
 
219
  var hash = window.location.hash.match(new RegExp('tab=([^&]*)'));
220
  var slug = hash ? hash[1] : $links.first().attr('href').replace('#tab=', '');
221
- var $link = $('#csf-tab-link-'+ slug);
222
 
223
  if( $link.length > 0 ) {
224
 
225
- $link.closest('.csf-tab-depth-0').addClass('csf-tab-active').siblings().removeClass('csf-tab-active');
226
- $links.removeClass('csf-section-active');
227
- $link.addClass('csf-section-active');
228
 
229
  if( $last_section !== undefined ) {
230
  $last_section.hide();
231
  }
232
 
233
- var $section = $('#csf-section-'+slug);
234
  $section.css({display: 'block'});
235
- $section.csf_reload_script();
236
 
237
  $hidden.val(slug);
238
 
@@ -248,7 +238,7 @@
248
  //
249
  // Metabox Tabs
250
  //
251
- $.fn.csf_nav_metabox = function() {
252
  return this.each( function() {
253
 
254
  var $nav = $(this),
@@ -266,27 +256,27 @@
266
  section_id = $link.data('section');
267
 
268
  if( $last_link !== undefined ) {
269
- $last_link.removeClass('csf-section-active');
270
  }
271
 
272
  if( $last_section !== undefined ) {
273
  $last_section.hide();
274
  }
275
 
276
- $link.addClass('csf-section-active');
277
 
278
- var $section = $('#csf-section-'+section_id);
279
  $section.css({display: 'block'});
280
- $section.csf_reload_script();
281
 
282
- CSF.helper.set_cookie('csf-last-metabox-tab-'+ post_id +'-'+ unique_id, section_id);
283
 
284
  $last_section = $section;
285
  $last_link = $link;
286
 
287
  });
288
 
289
- var get_cookie = CSF.helper.get_cookie('csf-last-metabox-tab-'+ post_id +'-'+ unique_id);
290
 
291
  if( get_cookie ) {
292
  $nav.find('a[data-section="'+ get_cookie +'"]').trigger('click');
@@ -300,15 +290,15 @@
300
  //
301
  // Metabox Page Templates Listener
302
  //
303
- $.fn.csf_page_templates = function() {
304
  if( this.length ) {
305
 
306
  $(document).on('change', '.editor-page-attributes__template select, #page_template', function() {
307
 
308
  var maybe_value = $(this).val() || 'default';
309
 
310
- $('.csf-page-templates').removeClass('csf-show').addClass('csf-hide');
311
- $('.csf-page-'+maybe_value.toLowerCase().replace(/[^a-zA-Z0-9]+/g,'-')).removeClass('csf-hide').addClass('csf-show');
312
 
313
  });
314
 
@@ -318,7 +308,7 @@
318
  //
319
  // Metabox Post Formats Listener
320
  //
321
- $.fn.csf_post_formats = function() {
322
  if( this.length ) {
323
 
324
  $(document).on('change', '.editor-post-format select, #formatdiv input[name="post_format"]', function() {
@@ -328,8 +318,8 @@
328
  // Fallback for classic editor version
329
  maybe_value = ( maybe_value === '0' ) ? 'default' : maybe_value;
330
 
331
- $('.csf-post-formats').removeClass('csf-show').addClass('csf-hide');
332
- $('.csf-post-format-'+maybe_value).removeClass('csf-hide').addClass('csf-show');
333
 
334
  });
335
 
@@ -339,7 +329,7 @@
339
  //
340
  // Search
341
  //
342
- $.fn.csf_search = function() {
343
  return this.each( function() {
344
 
345
  var $this = $(this),
@@ -348,15 +338,15 @@
348
  $input.on('change keyup', function() {
349
 
350
  var value = $(this).val(),
351
- $wrapper = $('.csf-wrapper'),
352
- $section = $wrapper.find('.csf-section'),
353
- $fields = $section.find('> .csf-field:not(.hidden)'),
354
- $titles = $fields.find('> .csf-title, .csf-search-tags');
355
 
356
  if( value.length > 3 ) {
357
 
358
- $fields.addClass('csf-hidden');
359
- $wrapper.addClass('csf-search-all');
360
 
361
  $titles.each( function() {
362
 
@@ -364,10 +354,10 @@
364
 
365
  if( $title.text().match( new RegExp('.*?' + value + '.*?', 'i') ) ) {
366
 
367
- var $field = $title.closest('.csf-field');
368
 
369
- $field.removeClass('csf-hidden');
370
- $field.parent().csf_reload_script();
371
 
372
  }
373
 
@@ -375,8 +365,8 @@
375
 
376
  } else {
377
 
378
- $fields.removeClass('csf-hidden');
379
- $wrapper.removeClass('csf-search-all');
380
 
381
  }
382
 
@@ -388,12 +378,12 @@
388
  //
389
  // Sticky Header
390
  //
391
- $.fn.csf_sticky = function() {
392
  return this.each( function() {
393
 
394
  var $this = $(this),
395
  $window = $(window),
396
- $inner = $this.find('.csf-header-inner'),
397
  padding = parseInt( $inner.css('padding-left') ) + parseInt( $inner.css('padding-right') ),
398
  offset = 32,
399
  scrollTop = 0,
@@ -407,10 +397,10 @@
407
 
408
  if( stickyTop <= offset && winWidth > 782 ) {
409
  $inner.css({width: $this.outerWidth()-padding});
410
- $this.css({height: $this.outerHeight()}).addClass( 'csf-sticky' );
411
  } else {
412
  $inner.removeAttr('style');
413
- $this.removeAttr('style').removeClass( 'csf-sticky' );
414
  }
415
 
416
  },
@@ -443,11 +433,11 @@
443
  //
444
  // Dependency System
445
  //
446
- $.fn.csf_dependency = function() {
447
  return this.each( function() {
448
 
449
  var $this = $(this),
450
- ruleset = $.csf_deps.createRuleset(),
451
  depends = [],
452
  is_global = false;
453
 
@@ -481,9 +471,9 @@
481
  if( depends.length ) {
482
 
483
  if( is_global ) {
484
- $.csf_deps.enable(CSF.vars.$body, ruleset, depends);
485
  } else {
486
- $.csf_deps.enable($this, ruleset, depends);
487
  }
488
 
489
  }
@@ -494,15 +484,15 @@
494
  //
495
  // Field: accordion
496
  //
497
- $.fn.csf_field_accordion = function() {
498
  return this.each( function() {
499
 
500
- var $titles = $(this).find('.csf-accordion-title');
501
 
502
  $titles.on('click', function() {
503
 
504
  var $title = $(this),
505
- $icon = $title.find('.csf-accordion-icon'),
506
  $content = $title.next();
507
 
508
  if( $icon.hasClass('fa-angle-right') ) {
@@ -513,12 +503,12 @@
513
 
514
  if( !$content.data( 'opened' ) ) {
515
 
516
- $content.csf_reload_script();
517
  $content.data( 'opened', true );
518
 
519
  }
520
 
521
- $content.toggleClass('csf-accordion-open');
522
 
523
  });
524
 
@@ -528,7 +518,7 @@
528
  //
529
  // Field: backup
530
  //
531
- $.fn.csf_field_backup = function() {
532
  return this.each( function() {
533
 
534
  if( window.wp.customize === undefined ) { return; }
@@ -536,8 +526,8 @@
536
  var base = this,
537
  $this = $(this),
538
  $body = $('body'),
539
- $import = $this.find('.csf-import'),
540
- $reset = $this.find('.csf-reset');
541
 
542
  base.notification = function( message_text ) {
543
 
@@ -551,7 +541,7 @@
551
  }
552
 
553
  // then show a notification overlay
554
- wp.customize.notifications.add( new wp.customize.OverlayNotification('csf_field_backup_notification', {
555
  type: 'info',
556
  message: message_text,
557
  loading: true
@@ -565,11 +555,11 @@
565
 
566
  e.preventDefault();
567
 
568
- if( CSF.vars.is_confirm ) {
569
 
570
- base.notification( window.csf_vars.i18n.reset_notification );
571
 
572
- window.wp.ajax.post('csf-reset', {
573
  unique: $reset.data('unique'),
574
  nonce: $reset.data('nonce')
575
  })
@@ -578,7 +568,7 @@
578
  })
579
  .fail( function( response ) {
580
  alert( response.error );
581
- wp.customize.notifications.remove('csf_field_backup_notification');
582
  });
583
 
584
  }
@@ -589,19 +579,19 @@
589
 
590
  e.preventDefault();
591
 
592
- if( CSF.vars.is_confirm ) {
593
 
594
- base.notification( window.csf_vars.i18n.import_notification );
595
 
596
- window.wp.ajax.post( 'csf-import', {
597
  unique: $import.data('unique'),
598
  nonce: $import.data('nonce'),
599
- import_data: $this.find('.csf-import-data').val()
600
  }).done( function( response ) {
601
  window.location.reload(true);
602
  }).fail( function( response ) {
603
  alert( response.error );
604
- wp.customize.notifications.remove('csf_field_backup_notification');
605
  });
606
 
607
  }
@@ -614,16 +604,16 @@
614
  //
615
  // Field: background
616
  //
617
- $.fn.csf_field_background = function() {
618
  return this.each( function() {
619
- $(this).find('.csf--background-image').csf_reload_script();
620
  });
621
  };
622
 
623
  //
624
  // Field: code_editor
625
  //
626
- $.fn.csf_field_code_editor = function() {
627
  return this.each( function() {
628
 
629
  if( typeof CodeMirror !== 'function' ) { return; }
@@ -643,21 +633,21 @@
643
  var code_editor = CodeMirror.fromTextArea( $textarea[0], data_editor );
644
 
645
  // load code-mirror theme css.
646
- if( data_editor.theme !== 'default' && CSF.vars.code_themes.indexOf(data_editor.theme) === -1 ) {
647
 
648
  var $cssLink = $('<link>');
649
 
650
- $('#csf-codemirror-css').after( $cssLink );
651
 
652
  $cssLink.attr({
653
  rel: 'stylesheet',
654
- id: 'csf-codemirror-'+ data_editor.theme +'-css',
655
  href: data_editor.cdnURL +'/theme/'+ data_editor.theme +'.min.css',
656
  type: 'text/css',
657
  media: 'all'
658
  });
659
 
660
- CSF.vars.code_themes.push(data_editor.theme);
661
 
662
  }
663
 
@@ -679,22 +669,22 @@
679
  //
680
  // Field: date
681
  //
682
- $.fn.csf_field_date = function() {
683
  return this.each( function() {
684
 
685
  var $this = $(this),
686
  $inputs = $this.find('input'),
687
- settings = $this.find('.csf-date-settings').data('settings'),
688
- wrapper = '<div class="csf-datepicker-wrapper"></div>',
689
  $datepicker;
690
 
691
  var defaults = {
692
  showAnim: '',
693
  beforeShow: function(input, inst) {
694
- $(inst.dpDiv).addClass('csf-datepicker-wrapper');
695
  },
696
  onClose: function( input, inst ) {
697
- $(inst.dpDiv).removeClass('csf-datepicker-wrapper');
698
  },
699
  };
700
 
@@ -735,31 +725,31 @@
735
  //
736
  // Field: fieldset
737
  //
738
- $.fn.csf_field_fieldset = function() {
739
  return this.each( function() {
740
- $(this).find('.csf-fieldset-content').csf_reload_script();
741
  });
742
  };
743
 
744
  //
745
  // Field: gallery
746
  //
747
- $.fn.csf_field_gallery = function() {
748
  return this.each( function() {
749
 
750
  var $this = $(this),
751
- $edit = $this.find('.csf-edit-gallery'),
752
- $clear = $this.find('.csf-clear-gallery'),
753
  $list = $this.find('ul'),
754
  $input = $this.find('input'),
755
  $img = $this.find('img'),
756
  wp_media_frame;
757
 
758
- $this.on('click', '.csf-button, .csf-edit-gallery', function( e ) {
759
 
760
  var $el = $(this),
761
  ids = $input.val(),
762
- what = ( $el.hasClass('csf-edit-gallery') ) ? 'edit' : 'add',
763
  state = ( what === 'add' && !ids.length ) ? 'gallery' : 'gallery-edit';
764
 
765
  e.preventDefault();
@@ -829,16 +819,16 @@
829
  //
830
  // Field: group
831
  //
832
- $.fn.csf_field_group = function() {
833
  return this.each( function() {
834
 
835
  var $this = $(this),
836
- $fieldset = $this.children('.csf-fieldset'),
837
  $group = $fieldset.length ? $fieldset : $this,
838
- $wrapper = $group.children('.csf-cloneable-wrapper'),
839
- $hidden = $group.children('.csf-cloneable-hidden'),
840
- $max = $group.children('.csf-cloneable-max'),
841
- $min = $group.children('.csf-cloneable-min'),
842
  field_id = $wrapper.data('field-id'),
843
  unique_id = $wrapper.data('unique-id'),
844
  is_number = Boolean( Number( $wrapper.data('title-number') ) ),
@@ -851,20 +841,20 @@
851
  }
852
 
853
  var update_title_numbers = function( $selector ) {
854
- $selector.find('.csf-cloneable-title-number').each( function( index ) {
855
- $(this).html( ( $(this).closest('.csf-cloneable-item').index()+1 ) + '.' );
856
  });
857
  };
858
 
859
  $wrapper.accordion({
860
- header: '> .csf-cloneable-item > .csf-cloneable-title',
861
  collapsible : true,
862
  active: false,
863
  animate: false,
864
  heightStyle: 'content',
865
  icons: {
866
- 'header': 'csf-cloneable-header-icon fa fa-angle-right',
867
- 'activeHeader': 'csf-cloneable-header-icon fa fa-angle-down'
868
  },
869
  activate: function( event, ui ) {
870
 
@@ -875,19 +865,19 @@
875
 
876
  var $fields = $panel.children();
877
  var $first = $fields.first().find(':input').first();
878
- var $title = $header.find('.csf-cloneable-value');
879
 
880
  $first.on('keyup', function( event ) {
881
  $title.text($first.val());
882
  });
883
 
884
- $panel.csf_reload_script();
885
  $panel.data( 'opened', true );
886
  $panel.data( 'retry', false );
887
 
888
  } else if( $panel.data( 'retry' ) ) {
889
 
890
- $panel.csf_reload_script_retry();
891
  $panel.data( 'retry', false );
892
 
893
  }
@@ -897,7 +887,7 @@
897
 
898
  $wrapper.sortable({
899
  axis: 'y',
900
- handle: '.csf-cloneable-title,.csf-cloneable-sort',
901
  helper: 'original',
902
  cursor: 'move',
903
  placeholder: 'widget-placeholder',
@@ -905,13 +895,13 @@
905
 
906
  $wrapper.accordion({ active:false });
907
  $wrapper.sortable('refreshPositions');
908
- ui.item.children('.csf-cloneable-content').data('retry', true);
909
 
910
  },
911
  update: function( event, ui ) {
912
 
913
- CSF.helper.name_nested_replace( $wrapper.children('.csf-cloneable-item'), field_id );
914
- $wrapper.csf_customizer_refresh();
915
 
916
  if( is_number ) {
917
  update_title_numbers($wrapper);
@@ -920,11 +910,11 @@
920
  },
921
  });
922
 
923
- $group.children('.csf-cloneable-add').on('click', function( e ) {
924
 
925
  e.preventDefault();
926
 
927
- var count = $wrapper.children('.csf-cloneable-item').length;
928
 
929
  $min.hide();
930
 
@@ -935,23 +925,23 @@
935
 
936
  var new_field_id = unique_id + field_id + '['+ count +']';
937
 
938
- var $cloned_item = $hidden.csf_clone(true);
939
 
940
- $cloned_item.removeClass('csf-cloneable-hidden');
941
 
942
  $cloned_item.find(':input[name!="_pseudo"]').each( function() {
943
  this.name = new_field_id + this.name.replace( ( this.name.startsWith('_nonce') ? '_nonce' : unique_id ), '');
944
  });
945
 
946
- $cloned_item.find('.csf-data-wrapper').each( function(){
947
  $(this).attr('data-unique-id', new_field_id );
948
  });
949
 
950
  $wrapper.append($cloned_item);
951
  $wrapper.accordion('refresh');
952
  $wrapper.accordion({active: count});
953
- $wrapper.csf_customizer_refresh();
954
- $wrapper.csf_customizer_listen({closest: true});
955
 
956
  if( is_number ) {
957
  update_title_numbers($wrapper);
@@ -963,7 +953,7 @@
963
 
964
  e.preventDefault();
965
 
966
- var count = $wrapper.children('.csf-cloneable-item').length;
967
 
968
  $min.hide();
969
 
@@ -974,17 +964,17 @@
974
 
975
  var $this = $(this),
976
  $parent = $this.parent().parent(),
977
- $cloned_helper = $parent.children('.csf-cloneable-helper').csf_clone(true),
978
- $cloned_title = $parent.children('.csf-cloneable-title').csf_clone(),
979
- $cloned_content = $parent.children('.csf-cloneable-content').csf_clone(),
980
- cloned_regex = new RegExp('('+ CSF.helper.preg_quote(field_id) +')\\[(\\d+)\\]', 'g');
981
 
982
- $cloned_content.find('.csf-data-wrapper').each( function(){
983
  var $this = $(this);
984
  $this.attr('data-unique-id', $this.attr('data-unique-id').replace(cloned_regex, field_id +'['+ ($parent.index()+1) +']') );
985
  });
986
 
987
- var $cloned = $('<div class="csf-cloneable-item" />');
988
 
989
  $cloned.append($cloned_helper);
990
  $cloned.append($cloned_title);
@@ -992,11 +982,11 @@
992
 
993
  $wrapper.children().eq($parent.index()).after($cloned);
994
 
995
- CSF.helper.name_nested_replace( $wrapper.children('.csf-cloneable-item'), field_id );
996
 
997
  $wrapper.accordion('refresh');
998
- $wrapper.csf_customizer_refresh();
999
- $wrapper.csf_customizer_listen({closest: true});
1000
 
1001
  if( is_number ) {
1002
  update_title_numbers($wrapper);
@@ -1004,14 +994,14 @@
1004
 
1005
  };
1006
 
1007
- $wrapper.children('.csf-cloneable-item').children('.csf-cloneable-helper').on('click', '.csf-cloneable-clone', event_clone);
1008
- $group.children('.csf-cloneable-hidden').children('.csf-cloneable-helper').on('click', '.csf-cloneable-clone', event_clone);
1009
 
1010
  var event_remove = function( e ) {
1011
 
1012
  e.preventDefault();
1013
 
1014
- var count = $wrapper.children('.csf-cloneable-item').length;
1015
 
1016
  $max.hide();
1017
  $min.hide();
@@ -1021,11 +1011,11 @@
1021
  return;
1022
  }
1023
 
1024
- $(this).closest('.csf-cloneable-item').remove();
1025
 
1026
- CSF.helper.name_nested_replace( $wrapper.children('.csf-cloneable-item'), field_id );
1027
 
1028
- $wrapper.csf_customizer_refresh();
1029
 
1030
  if( is_number ) {
1031
  update_title_numbers($wrapper);
@@ -1033,98 +1023,8 @@
1033
 
1034
  };
1035
 
1036
- $wrapper.children('.csf-cloneable-item').children('.csf-cloneable-helper').on('click', '.csf-cloneable-remove', event_remove);
1037
- $group.children('.csf-cloneable-hidden').children('.csf-cloneable-helper').on('click', '.csf-cloneable-remove', event_remove);
1038
-
1039
- });
1040
- };
1041
-
1042
- //
1043
- // Field: icon
1044
- //
1045
- $.fn.csf_field_icon = function() {
1046
- return this.each( function() {
1047
-
1048
- var $this = $(this);
1049
-
1050
- $this.on('click', '.csf-icon-add', function( e ) {
1051
-
1052
- e.preventDefault();
1053
-
1054
- var $button = $(this);
1055
- var $modal = $('#csf-modal-icon');
1056
-
1057
- $modal.show();
1058
-
1059
- CSF.vars.$icon_target = $this;
1060
-
1061
- if( !CSF.vars.icon_modal_loaded ) {
1062
-
1063
- $modal.find('.csf-modal-loading').show();
1064
-
1065
- window.wp.ajax.post( 'csf-get-icons', {
1066
- nonce: $button.data('nonce')
1067
- }).done( function( response ) {
1068
-
1069
- $modal.find('.csf-modal-loading').hide();
1070
-
1071
- CSF.vars.icon_modal_loaded = true;
1072
-
1073
- var $load = $modal.find('.csf-modal-load').html( response.content );
1074
-
1075
- $load.on('click', 'a', function( e ) {
1076
-
1077
- e.preventDefault();
1078
-
1079
- var icon = $(this).data('csf-icon');
1080
-
1081
- CSF.vars.$icon_target.find('i').removeAttr('class').addClass(icon);
1082
- CSF.vars.$icon_target.find('input').val(icon).trigger('change');
1083
- CSF.vars.$icon_target.find('.csf-icon-preview').removeClass('hidden');
1084
- CSF.vars.$icon_target.find('.csf-icon-remove').removeClass('hidden');
1085
-
1086
- $modal.hide();
1087
-
1088
- });
1089
-
1090
- $modal.on('change keyup', '.csf-icon-search', function() {
1091
-
1092
- var value = $(this).val(),
1093
- $icons = $load.find('a');
1094
-
1095
- $icons.each( function() {
1096
-
1097
- var $elem = $(this);
1098
-
1099
- if( $elem.data('csf-icon').search( new RegExp( value, 'i' ) ) < 0 ) {
1100
- $elem.hide();
1101
- } else {
1102
- $elem.show();
1103
- }
1104
-
1105
- });
1106
-
1107
- });
1108
-
1109
- $modal.on('click', '.csf-modal-close, .csf-modal-overlay', function() {
1110
- $modal.hide();
1111
- });
1112
-
1113
- }).fail( function( response ) {
1114
- $modal.find('.csf-modal-loading').hide();
1115
- $modal.find('.csf-modal-load').html( response.error );
1116
- $modal.on('click', function() { $modal.hide(); });
1117
- });
1118
- }
1119
-
1120
- });
1121
-
1122
- $this.on('click', '.csf-icon-remove', function( e ) {
1123
- e.preventDefault();
1124
- $this.find('.csf-icon-preview').addClass('hidden');
1125
- $this.find('input').val('').trigger('change');
1126
- $(this).addClass('hidden');
1127
- });
1128
 
1129
  });
1130
  };
@@ -1132,17 +1032,17 @@
1132
  //
1133
  // Field: map
1134
  //
1135
- $.fn.csf_field_map = function() {
1136
  return this.each( function() {
1137
 
1138
  if( typeof L === 'undefined' ) { return; }
1139
 
1140
  var $this = $(this),
1141
- $map = $this.find('.csf--map-osm'),
1142
- $search_input = $this.find('.csf--map-search input'),
1143
- $latitude = $this.find('.csf--latitude'),
1144
- $longitude = $this.find('.csf--longitude'),
1145
- $zoom = $this.find('.csf--zoom'),
1146
  map_data = $map.data( 'map' );
1147
 
1148
  var mapInit = L.map( $map.get(0), map_data);
@@ -1173,7 +1073,7 @@
1173
  });
1174
 
1175
  if( ! $search_input.length ) {
1176
- $search_input = $( '[data-depend-id="'+ $this.find('.csf--address-field').data( 'address-field' ) +'"]' );
1177
  }
1178
 
1179
  $search_input.autocomplete({
@@ -1211,7 +1111,7 @@
1211
 
1212
  },
1213
  create: function (event, ui) {
1214
- $(this).autocomplete('widget').addClass('csf-map-ui-autocomplate');
1215
  }
1216
  });
1217
 
@@ -1233,14 +1133,14 @@
1233
  //
1234
  // Field: media
1235
  //
1236
- $.fn.csf_field_media = function() {
1237
  return this.each( function() {
1238
 
1239
  var $this = $(this),
1240
- $upload_button = $this.find('.csf--button'),
1241
- $remove_button = $this.find('.csf--remove'),
1242
  $library = $upload_button.data('library') && $upload_button.data('library').split(',') || '',
1243
- $auto_attributes = ( $this.hasClass('csf-assign-field-background') ) ? $this.closest('.csf-field-background').find('.csf--auto-attributes') : false,
1244
  wp_media_frame;
1245
 
1246
  $upload_button.on('click', function( e ) {
@@ -1272,12 +1172,12 @@
1272
  return;
1273
  }
1274
 
1275
- $this.find('.csf--id').val( attributes.id );
1276
- $this.find('.csf--width').val( attributes.width );
1277
- $this.find('.csf--height').val( attributes.height );
1278
- $this.find('.csf--alt').val( attributes.alt );
1279
- $this.find('.csf--title').val( attributes.title );
1280
- $this.find('.csf--description').val( attributes.description );
1281
 
1282
  if( typeof attributes.sizes !== 'undefined' && typeof attributes.sizes.thumbnail !== 'undefined' && preview_size === 'thumbnail' ) {
1283
  thumbnail = attributes.sizes.thumbnail.url;
@@ -1288,15 +1188,15 @@
1288
  }
1289
 
1290
  if( $auto_attributes ) {
1291
- $auto_attributes.removeClass('csf--attributes-hidden');
1292
  }
1293
 
1294
  $remove_button.removeClass('hidden');
1295
 
1296
- $this.find('.csf--preview').removeClass('hidden');
1297
- $this.find('.csf--src').attr('src', thumbnail);
1298
- $this.find('.csf--thumbnail').val( thumbnail );
1299
- $this.find('.csf--url').val( attributes.url ).trigger('change');
1300
 
1301
  });
1302
 
@@ -1309,13 +1209,13 @@
1309
  e.preventDefault();
1310
 
1311
  if( $auto_attributes ) {
1312
- $auto_attributes.addClass('csf--attributes-hidden');
1313
  }
1314
 
1315
  $remove_button.addClass('hidden');
1316
  $this.find('input').val('');
1317
- $this.find('.csf--preview').addClass('hidden');
1318
- $this.find('.csf--url').trigger('change');
1319
 
1320
  });
1321
 
@@ -1326,44 +1226,44 @@
1326
  //
1327
  // Field: repeater
1328
  //
1329
- $.fn.csf_field_repeater = function() {
1330
  return this.each( function() {
1331
 
1332
  var $this = $(this),
1333
- $fieldset = $this.children('.csf-fieldset'),
1334
  $repeater = $fieldset.length ? $fieldset : $this,
1335
- $wrapper = $repeater.children('.csf-repeater-wrapper'),
1336
- $hidden = $repeater.children('.csf-repeater-hidden'),
1337
- $max = $repeater.children('.csf-repeater-max'),
1338
- $min = $repeater.children('.csf-repeater-min'),
1339
  field_id = $wrapper.data('field-id'),
1340
  unique_id = $wrapper.data('unique-id'),
1341
  max = parseInt( $wrapper.data('max') ),
1342
  min = parseInt( $wrapper.data('min') );
1343
 
1344
 
1345
- $wrapper.children('.csf-repeater-item').children('.csf-repeater-content').csf_reload_script();
1346
 
1347
  $wrapper.sortable({
1348
  axis: 'y',
1349
- handle: '.csf-repeater-sort',
1350
  helper: 'original',
1351
  cursor: 'move',
1352
  placeholder: 'widget-placeholder',
1353
  update: function( event, ui ) {
1354
 
1355
- CSF.helper.name_nested_replace( $wrapper.children('.csf-repeater-item'), field_id );
1356
- $wrapper.csf_customizer_refresh();
1357
- ui.item.csf_reload_script_retry();
1358
 
1359
  }
1360
  });
1361
 
1362
- $repeater.children('.csf-repeater-add').on('click', function( e ) {
1363
 
1364
  e.preventDefault();
1365
 
1366
- var count = $wrapper.children('.csf-repeater-item').length;
1367
 
1368
  $min.hide();
1369
 
@@ -1374,22 +1274,22 @@
1374
 
1375
  var new_field_id = unique_id + field_id + '['+ count +']';
1376
 
1377
- var $cloned_item = $hidden.csf_clone(true);
1378
 
1379
- $cloned_item.removeClass('csf-repeater-hidden');
1380
 
1381
  $cloned_item.find(':input[name!="_pseudo"]').each( function() {
1382
  this.name = new_field_id + this.name.replace( ( this.name.startsWith('_nonce') ? '_nonce' : unique_id ), '');
1383
  });
1384
 
1385
- $cloned_item.find('.csf-data-wrapper').each( function(){
1386
  $(this).attr('data-unique-id', new_field_id );
1387
  });
1388
 
1389
  $wrapper.append($cloned_item);
1390
- $cloned_item.children('.csf-repeater-content').csf_reload_script();
1391
- $wrapper.csf_customizer_refresh();
1392
- $wrapper.csf_customizer_listen({closest: true});
1393
 
1394
  });
1395
 
@@ -1397,7 +1297,7 @@
1397
 
1398
  e.preventDefault();
1399
 
1400
- var count = $wrapper.children('.csf-repeater-item').length;
1401
 
1402
  $min.hide();
1403
 
@@ -1408,39 +1308,39 @@
1408
 
1409
  var $this = $(this),
1410
  $parent = $this.parent().parent().parent(),
1411
- $cloned_content = $parent.children('.csf-repeater-content').csf_clone(),
1412
- $cloned_helper = $parent.children('.csf-repeater-helper').csf_clone(true),
1413
- cloned_regex = new RegExp('('+ CSF.helper.preg_quote(field_id) +')\\[(\\d+)\\]', 'g');
1414
 
1415
- $cloned_content.find('.csf-data-wrapper').each( function(){
1416
  var $this = $(this);
1417
  $this.attr('data-unique-id', $this.attr('data-unique-id').replace(cloned_regex, field_id +'['+ ($parent.index()+1) +']') );
1418
  });
1419
 
1420
- var $cloned = $('<div class="csf-repeater-item" />');
1421
 
1422
  $cloned.append($cloned_content);
1423
  $cloned.append($cloned_helper);
1424
 
1425
  $wrapper.children().eq($parent.index()).after($cloned);
1426
 
1427
- $cloned.children('.csf-repeater-content').csf_reload_script();
1428
 
1429
- CSF.helper.name_nested_replace( $wrapper.children('.csf-repeater-item'), field_id );
1430
 
1431
- $wrapper.csf_customizer_refresh();
1432
- $wrapper.csf_customizer_listen({closest: true});
1433
 
1434
  };
1435
 
1436
- $wrapper.children('.csf-repeater-item').children('.csf-repeater-helper').on('click', '.csf-repeater-clone', event_clone);
1437
- $repeater.children('.csf-repeater-hidden').children('.csf-repeater-helper').on('click', '.csf-repeater-clone', event_clone);
1438
 
1439
  var event_remove = function( e ) {
1440
 
1441
  e.preventDefault();
1442
 
1443
- var count = $wrapper.children('.csf-repeater-item').length;
1444
 
1445
  $max.hide();
1446
  $min.hide();
@@ -1450,16 +1350,16 @@
1450
  return;
1451
  }
1452
 
1453
- $(this).closest('.csf-repeater-item').remove();
1454
 
1455
- CSF.helper.name_nested_replace( $wrapper.children('.csf-repeater-item'), field_id );
1456
 
1457
- $wrapper.csf_customizer_refresh();
1458
 
1459
  };
1460
 
1461
- $wrapper.children('.csf-repeater-item').children('.csf-repeater-helper').on('click', '.csf-repeater-remove', event_remove);
1462
- $repeater.children('.csf-repeater-hidden').children('.csf-repeater-helper').on('click', '.csf-repeater-remove', event_remove);
1463
 
1464
  });
1465
  };
@@ -1467,12 +1367,12 @@
1467
  //
1468
  // Field: slider
1469
  //
1470
- $.fn.csf_field_slider = function() {
1471
  return this.each( function() {
1472
 
1473
  var $this = $(this),
1474
  $input = $this.find('input'),
1475
- $slider = $this.find('.csf-slider-ui'),
1476
  data = $input.data(),
1477
  value = $input.val() || 0;
1478
 
@@ -1501,10 +1401,10 @@
1501
  //
1502
  // Field: sortable
1503
  //
1504
- $.fn.csf_field_sortable = function() {
1505
  return this.each( function() {
1506
 
1507
- var $sortable = $(this).find('.csf--sortable');
1508
 
1509
  $sortable.sortable({
1510
  axis: 'y',
@@ -1512,11 +1412,11 @@
1512
  cursor: 'move',
1513
  placeholder: 'widget-placeholder',
1514
  update: function( event, ui ) {
1515
- $sortable.csf_customizer_refresh();
1516
  }
1517
  });
1518
 
1519
- $sortable.find('.csf--sortable-content').csf_reload_script();
1520
 
1521
  });
1522
  };
@@ -1524,12 +1424,12 @@
1524
  //
1525
  // Field: sorter
1526
  //
1527
- $.fn.csf_field_sorter = function() {
1528
  return this.each( function() {
1529
 
1530
  var $this = $(this),
1531
- $enabled = $this.find('.csf-enabled'),
1532
- $has_disabled = $this.find('.csf-disabled'),
1533
  $disabled = ( $has_disabled.length ) ? $has_disabled : false;
1534
 
1535
  $enabled.sortable({
@@ -1539,13 +1439,13 @@
1539
 
1540
  var $el = ui.item.find('input');
1541
 
1542
- if( ui.item.parent().hasClass('csf-enabled') ) {
1543
  $el.attr('name', $el.attr('name').replace('disabled', 'enabled'));
1544
  } else {
1545
  $el.attr('name', $el.attr('name').replace('enabled', 'disabled'));
1546
  }
1547
 
1548
- $this.csf_customizer_refresh();
1549
 
1550
  }
1551
  });
@@ -1556,7 +1456,7 @@
1556
  connectWith: $enabled,
1557
  placeholder: 'ui-sortable-placeholder',
1558
  update: function( event, ui ) {
1559
- $this.csf_customizer_refresh();
1560
  }
1561
  });
1562
 
@@ -1568,7 +1468,7 @@
1568
  //
1569
  // Field: spinner
1570
  //
1571
- $.fn.csf_field_spinner = function() {
1572
  return this.each( function() {
1573
 
1574
  var $this = $(this),
@@ -1586,7 +1486,7 @@
1586
  step: $input.data('step') || 1,
1587
  create: function( event, ui ) {
1588
  if( $unit.length ) {
1589
- $this.find('.ui-spinner-up').after('<span class="ui-button-text-only csf--unit">'+ $unit +'</span>');
1590
  }
1591
  },
1592
  spin: function (event, ui ) {
@@ -1600,21 +1500,21 @@
1600
  //
1601
  // Field: switcher
1602
  //
1603
- $.fn.csf_field_switcher = function() {
1604
  return this.each( function() {
1605
 
1606
- var $switcher = $(this).find('.csf--switcher');
1607
 
1608
  $switcher.on('click', function() {
1609
 
1610
  var value = 0;
1611
  var $input = $switcher.find('input');
1612
 
1613
- if( $switcher.hasClass('csf--active') ) {
1614
- $switcher.removeClass('csf--active');
1615
  } else {
1616
  value = 1;
1617
- $switcher.addClass('csf--active');
1618
  }
1619
 
1620
  $input.val(value).trigger('change');
@@ -1627,14 +1527,14 @@
1627
  //
1628
  // Field: tabbed
1629
  //
1630
- $.fn.csf_field_tabbed = function() {
1631
  return this.each( function() {
1632
 
1633
  var $this = $(this),
1634
- $links = $this.find('.csf-tabbed-nav a'),
1635
- $sections = $this.find('.csf-tabbed-section');
1636
 
1637
- $sections.eq(0).csf_reload_script();
1638
 
1639
  $links.on( 'click', function( e ) {
1640
 
@@ -1644,8 +1544,8 @@
1644
  index = $link.index(),
1645
  $section = $sections.eq(index);
1646
 
1647
- $link.addClass('csf-tabbed-active').siblings().removeClass('csf-tabbed-active');
1648
- $section.csf_reload_script();
1649
  $section.removeClass('hidden').siblings().addClass('hidden');
1650
 
1651
  });
@@ -1656,15 +1556,15 @@
1656
  //
1657
  // Field: typography
1658
  //
1659
- $.fn.csf_field_typography = function() {
1660
  return this.each(function () {
1661
 
1662
  var base = this;
1663
  var $this = $(this);
1664
  var loaded_fonts = [];
1665
- var webfonts = csf_typography_json.webfonts;
1666
- var googlestyles = csf_typography_json.googlestyles;
1667
- var defaultstyles = csf_typography_json.defaultstyles;
1668
 
1669
  //
1670
  //
@@ -1737,7 +1637,7 @@
1737
 
1738
  });
1739
 
1740
- $select.append(opts).trigger('csf.change').trigger('chosen:updated');
1741
 
1742
  };
1743
 
@@ -1747,16 +1647,16 @@
1747
  //
1748
  // Constants
1749
  var selected_styles = [];
1750
- var $typography = $this.find('.csf--typography');
1751
- var $type = $this.find('.csf--type');
1752
- var $styles = $this.find('.csf--block-font-style');
1753
  var unit = $typography.data('unit');
1754
  var exclude_fonts = $typography.data('exclude') ? $typography.data('exclude').split(',') : [];
1755
 
1756
  //
1757
  //
1758
  // Chosen init
1759
- if( $this.find('.csf--chosen').length ) {
1760
 
1761
  var $chosen_selects = $this.find('select');
1762
 
@@ -1782,7 +1682,7 @@
1782
  //
1783
  //
1784
  // Font family select
1785
- var $font_family_select = $this.find('.csf--font-family');
1786
  var first_font_family = $font_family_select.val();
1787
 
1788
  // Clear default font family select options
@@ -1816,16 +1716,16 @@
1816
  //
1817
  //
1818
  // Font style select
1819
- var $font_style_block = $this.find('.csf--block-font-style');
1820
 
1821
  if( $font_style_block.length ) {
1822
 
1823
- var $font_style_select = $this.find('.csf--font-style-select');
1824
  var first_style_value = $font_style_select.val() ? $font_style_select.val().replace(/normal/g, '' ) : '';
1825
 
1826
  //
1827
  // Font Style on on change listener
1828
- $font_style_select.on('change csf.change', function( event ) {
1829
 
1830
  var style_value = $font_style_select.val();
1831
 
@@ -1839,18 +1739,18 @@
1839
  var font_weight = ( style_value && style_value !== 'italic' && style_value !== 'normal' ) ? style_value.replace('italic', '') : font_normal;
1840
  var font_style = ( style_value && style_value.substr(-6) === 'italic' ) ? 'italic' : '';
1841
 
1842
- $this.find('.csf--font-weight').val( font_weight );
1843
- $this.find('.csf--font-style').val( font_style );
1844
 
1845
  });
1846
 
1847
  //
1848
  //
1849
  // Extra font style select
1850
- var $extra_font_style_block = $this.find('.csf--block-extra-styles');
1851
 
1852
  if( $extra_font_style_block.length ) {
1853
- var $extra_font_style_select = $this.find('.csf--extra-styles');
1854
  var first_extra_style_value = $extra_font_style_select.val();
1855
  }
1856
 
@@ -1859,9 +1759,9 @@
1859
  //
1860
  //
1861
  // Subsets select
1862
- var $subset_block = $this.find('.csf--block-subset');
1863
  if( $subset_block.length ) {
1864
- var $subset_select = $this.find('.csf--subset');
1865
  var first_subset_select_value = $subset_select.val();
1866
  var subset_multi_select = $subset_select.data('multiple') || false;
1867
  }
@@ -1869,12 +1769,12 @@
1869
  //
1870
  //
1871
  // Backup font family
1872
- var $backup_font_family_block = $this.find('.csf--block-backup-font-family');
1873
 
1874
  //
1875
  //
1876
  // Font Family on Change Listener
1877
- $font_family_select.on('change csf.change', function( event ) {
1878
 
1879
  // Hide subsets on change
1880
  if( $subset_block.length ) {
@@ -1986,36 +1886,36 @@
1986
  // Update font type input value
1987
  $type.val(type);
1988
 
1989
- }).trigger('csf.change');
1990
 
1991
  //
1992
  //
1993
  // Preview
1994
- var $preview_block = $this.find('.csf--block-preview');
1995
 
1996
  if( $preview_block.length ) {
1997
 
1998
- var $preview = $this.find('.csf--preview');
1999
 
2000
  // Set preview styles on change
2001
- $this.on('change', CSF.helper.debounce( function( event ) {
2002
 
2003
  $preview_block.removeClass('hidden');
2004
 
2005
  var font_family = $font_family_select.val(),
2006
- font_weight = $this.find('.csf--font-weight').val(),
2007
- font_style = $this.find('.csf--font-style').val(),
2008
- font_size = $this.find('.csf--font-size').val(),
2009
- font_variant = $this.find('.csf--font-variant').val(),
2010
- line_height = $this.find('.csf--line-height').val(),
2011
- text_align = $this.find('.csf--text-align').val(),
2012
- text_transform = $this.find('.csf--text-transform').val(),
2013
- text_decoration = $this.find('.csf--text-decoration').val(),
2014
- text_color = $this.find('.csf--color').val(),
2015
- word_spacing = $this.find('.csf--word-spacing').val(),
2016
- letter_spacing = $this.find('.csf--letter-spacing').val(),
2017
- custom_style = $this.find('.csf--custom-style').val(),
2018
- type = $this.find('.csf--type').val();
2019
 
2020
  if( type === 'google' ) {
2021
  base.load_google_font(font_family, font_weight, font_style);
@@ -2048,9 +1948,9 @@
2048
  // Preview black and white backgrounds trigger
2049
  $preview_block.on('click', function() {
2050
 
2051
- $preview.toggleClass('csf--black-background');
2052
 
2053
- var $toggle = $preview_block.find('.csf--toggle');
2054
 
2055
  if( $toggle.hasClass('fa-toggle-off') ) {
2056
  $toggle.removeClass('fa-toggle-off').addClass('fa-toggle-on');
@@ -2076,13 +1976,13 @@
2076
  //
2077
  // Field: upload
2078
  //
2079
- $.fn.csf_field_upload = function() {
2080
  return this.each( function() {
2081
 
2082
  var $this = $(this),
2083
  $input = $this.find('input'),
2084
- $upload_button = $this.find('.csf--button'),
2085
- $remove_button = $this.find('.csf--remove'),
2086
  $library = $upload_button.data('library') && $upload_button.data('library').split(',') || '',
2087
  wp_media_frame;
2088
 
@@ -2141,15 +2041,15 @@
2141
  //
2142
  // Field: wp_editor
2143
  //
2144
- $.fn.csf_field_wp_editor = function() {
2145
  return this.each( function() {
2146
 
2147
- if( typeof window.wp.editor === 'undefined' || typeof window.tinyMCEPreInit === 'undefined' || typeof window.tinyMCEPreInit.mceInit.csf_wp_editor === 'undefined' ) {
2148
  return;
2149
  }
2150
 
2151
  var $this = $(this),
2152
- $editor = $this.find('.csf-wp-editor'),
2153
  $textarea = $this.find('textarea');
2154
 
2155
  // If there is wp-editor remove it for avoid dupliated wp-editor conflicts.
@@ -2162,14 +2062,14 @@
2162
  }
2163
 
2164
  // Generate a unique id
2165
- var uid = CSF.helper.uid('csf-editor-');
2166
 
2167
  $textarea.attr('id', uid);
2168
 
2169
  // Get default editor settings
2170
  var default_editor_settings = {
2171
- tinymce: window.tinyMCEPreInit.mceInit.csf_wp_editor,
2172
- quicktags: window.tinyMCEPreInit.qtInit.csf_wp_editor
2173
  };
2174
 
2175
  // Get default editor settings
@@ -2177,7 +2077,7 @@
2177
 
2178
  // Add on change event handle
2179
  var editor_on_change = function( editor ) {
2180
- editor.on('change', CSF.helper.debounce( function() {
2181
  editor.save();
2182
  $textarea.trigger('change');
2183
  }, 250 ) );
@@ -2198,13 +2098,13 @@
2198
  // Override editor tinymce settings
2199
  if( field_editor_settings.tinymce === false ) {
2200
  default_editor_settings.tinymce = false;
2201
- $editor.addClass('csf-no-tinymce');
2202
  }
2203
 
2204
  // Override editor quicktags settings
2205
  if( field_editor_settings.quicktags === false ) {
2206
  default_editor_settings.quicktags = false;
2207
- $editor.addClass('csf-no-quicktags');
2208
  }
2209
 
2210
  // Wait until :visible
@@ -2216,19 +2116,19 @@
2216
  });
2217
 
2218
  // Add Media buttons
2219
- if( field_editor_settings.media_buttons && window.csf_media_buttons ) {
2220
 
2221
  var $editor_buttons = $editor.find('.wp-media-buttons');
2222
 
2223
  if( $editor_buttons.length ) {
2224
 
2225
- $editor_buttons.find('.csf-shortcode-button').data('editor-id', uid);
2226
 
2227
  } else {
2228
 
2229
- var $media_buttons = $(window.csf_media_buttons);
2230
 
2231
- $media_buttons.find('.csf-shortcode-button').data('editor-id', uid);
2232
 
2233
  $editor.prepend( $media_buttons );
2234
 
@@ -2243,17 +2143,17 @@
2243
  //
2244
  // Confirm
2245
  //
2246
- $.fn.csf_confirm = function() {
2247
  return this.each( function() {
2248
  $(this).on('click', function( e ) {
2249
 
2250
- var confirm_text = $(this).data('confirm') || window.csf_vars.i18n.confirm;
2251
  var confirm_answer = confirm( confirm_text );
2252
- CSF.vars.is_confirm = true;
2253
 
2254
  if( !confirm_answer ) {
2255
  e.preventDefault();
2256
- CSF.vars.is_confirm = false;
2257
  return false;
2258
  }
2259
 
@@ -2281,12 +2181,12 @@
2281
  //
2282
  // Options Save
2283
  //
2284
- $.fn.csf_save = function() {
2285
  return this.each( function() {
2286
 
2287
  var $this = $(this),
2288
- $buttons = $('.csf-save'),
2289
- $panel = $('.csf-options'),
2290
  flooding = false,
2291
  timeout;
2292
 
@@ -2299,39 +2199,39 @@
2299
 
2300
  $buttons.attr('value', $text);
2301
 
2302
- if( $this.hasClass('csf-save-ajax') ) {
2303
 
2304
  e.preventDefault();
2305
 
2306
- $panel.addClass('csf-saving');
2307
  $buttons.prop('disabled', true);
2308
 
2309
- window.wp.ajax.post( 'csf_'+ $panel.data('unique') +'_ajax_save', {
2310
- data: $('#csf-form').serializeJSONCSF()
2311
  })
2312
  .done( function( response ) {
2313
 
2314
  // clear errors
2315
- $('.csf-error').remove();
2316
 
2317
  if( Object.keys( response.errors ).length ) {
2318
 
2319
- var error_icon = '<i class="csf-label-error csf-error">!</i>';
2320
 
2321
  $.each(response.errors, function( key, error_message ) {
2322
 
2323
  var $field = $('[data-depend-id="'+ key +'"]'),
2324
- $link = $('#csf-tab-link-'+ ($field.closest('.csf-section').index()+1)),
2325
- $tab = $link.closest('.csf-tab-depth-0');
2326
 
2327
- $field.closest('.csf-fieldset').append( '<p class="csf-text-error csf-error">'+ error_message +'</p>' );
2328
 
2329
- if( !$link.find('.csf-error').length ) {
2330
  $link.append( error_icon );
2331
  }
2332
 
2333
- if( !$tab.find('.csf-arrow .csf-error').length ) {
2334
- $tab.find('.csf-arrow').append( error_icon );
2335
  }
2336
 
2337
  console.log(error_message);
@@ -2340,16 +2240,16 @@
2340
 
2341
  }
2342
 
2343
- $panel.removeClass('csf-saving');
2344
  $buttons.prop('disabled', false).attr('value', $value);
2345
  flooding = false;
2346
 
2347
- CSF.vars.form_modified = false;
2348
- CSF.vars.$form_warning.hide();
2349
 
2350
  clearTimeout(timeout);
2351
 
2352
- var $result_success = $('.csf-form-success');
2353
  $result_success.empty().append(response.notice).fadeIn('fast', function() {
2354
  timeout = setTimeout( function() {
2355
  $result_success.fadeOut('fast');
@@ -2375,35 +2275,35 @@
2375
  //
2376
  // Option Framework
2377
  //
2378
- $.fn.csf_options = function() {
2379
  return this.each( function() {
2380
 
2381
  var $this = $(this),
2382
- $content = $this.find('.csf-content'),
2383
- $form_success = $this.find('.csf-form-success'),
2384
- $form_warning = $this.find('.csf-form-warning'),
2385
- $save_button = $this.find('.csf-header .csf-save');
2386
 
2387
- CSF.vars.$form_warning = $form_warning;
2388
 
2389
  // Shows a message white leaving theme options without saving
2390
  if( $form_warning.length ) {
2391
 
2392
  window.onbeforeunload = function() {
2393
- return ( CSF.vars.form_modified ) ? true : undefined;
2394
  };
2395
 
2396
  $content.on('change keypress', ':input', function() {
2397
- if( !CSF.vars.form_modified ) {
2398
  $form_success.hide();
2399
  $form_warning.fadeIn('fast');
2400
- CSF.vars.form_modified = true;
2401
  }
2402
  });
2403
 
2404
  }
2405
 
2406
- if( $form_success.hasClass('csf-form-show') ) {
2407
  setTimeout( function() {
2408
  $form_success.fadeOut('fast');
2409
  }, 1000);
@@ -2420,320 +2320,6 @@
2420
  });
2421
  };
2422
 
2423
- //
2424
- // Taxonomy Framework
2425
- //
2426
- $.fn.csf_taxonomy = function() {
2427
- return this.each( function() {
2428
-
2429
- var $this = $(this),
2430
- $form = $this.parents('form');
2431
-
2432
- if( $form.attr('id') === 'addtag' ) {
2433
-
2434
- var $submit = $form.find('#submit'),
2435
- $cloned = $this.find('.csf-field').csf_clone();
2436
-
2437
- $submit.on( 'click', function() {
2438
-
2439
- if( !$form.find('.form-required').hasClass('form-invalid') ) {
2440
-
2441
- $this.data('inited', false);
2442
-
2443
- $this.empty();
2444
-
2445
- $this.html( $cloned );
2446
-
2447
- $cloned = $cloned.csf_clone();
2448
-
2449
- $this.csf_reload_script();
2450
-
2451
- }
2452
-
2453
- });
2454
-
2455
- }
2456
-
2457
- });
2458
- };
2459
-
2460
- //
2461
- // Shortcode Framework
2462
- //
2463
- $.fn.csf_shortcode = function() {
2464
-
2465
- var base = this;
2466
-
2467
- base.shortcode_parse = function( serialize, key ) {
2468
-
2469
- var shortcode = '';
2470
-
2471
- $.each(serialize, function( shortcode_key, shortcode_values ) {
2472
-
2473
- key = ( key ) ? key : shortcode_key;
2474
-
2475
- shortcode += '[' + key;
2476
-
2477
- $.each(shortcode_values, function( shortcode_tag, shortcode_value ) {
2478
-
2479
- if( shortcode_tag === 'content' ) {
2480
-
2481
- shortcode += ']';
2482
- shortcode += shortcode_value;
2483
- shortcode += '[/'+ key +'';
2484
-
2485
- } else {
2486
-
2487
- shortcode += base.shortcode_tags( shortcode_tag, shortcode_value );
2488
-
2489
- }
2490
-
2491
- });
2492
-
2493
- shortcode += ']';
2494
-
2495
- });
2496
-
2497
- return shortcode;
2498
-
2499
- };
2500
-
2501
- base.shortcode_tags = function( shortcode_tag, shortcode_value ) {
2502
-
2503
- var shortcode = '';
2504
-
2505
- if( shortcode_value !== '' ) {
2506
-
2507
- if( typeof shortcode_value === 'object' && !$.isArray( shortcode_value ) ) {
2508
-
2509
- $.each(shortcode_value, function( sub_shortcode_tag, sub_shortcode_value ) {
2510
-
2511
- // sanitize spesific key/value
2512
- switch( sub_shortcode_tag ) {
2513
-
2514
- case 'background-image':
2515
- sub_shortcode_value = ( sub_shortcode_value.url ) ? sub_shortcode_value.url : '';
2516
- break;
2517
-
2518
- }
2519
-
2520
- if( sub_shortcode_value !== '' ) {
2521
- shortcode += ' ' + sub_shortcode_tag.replace('-', '_') + '="' + sub_shortcode_value.toString() + '"';
2522
- }
2523
-
2524
- });
2525
-
2526
- } else {
2527
-
2528
- shortcode += ' ' + shortcode_tag.replace('-', '_') + '="' + shortcode_value.toString() + '"';
2529
-
2530
- }
2531
-
2532
- }
2533
-
2534
- return shortcode;
2535
-
2536
- };
2537
-
2538
- base.insertAtChars = function( _this, currentValue ) {
2539
-
2540
- var obj = ( typeof _this[0].name !== 'undefined' ) ? _this[0] : _this;
2541
-
2542
- if( obj.value.length && typeof obj.selectionStart !== 'undefined' ) {
2543
- obj.focus();
2544
- return obj.value.substring( 0, obj.selectionStart ) + currentValue + obj.value.substring( obj.selectionEnd, obj.value.length );
2545
- } else {
2546
- obj.focus();
2547
- return currentValue;
2548
- }
2549
-
2550
- };
2551
-
2552
- base.send_to_editor = function( html, editor_id ) {
2553
-
2554
- var tinymce_editor;
2555
-
2556
- if( typeof tinymce !== 'undefined' ) {
2557
- tinymce_editor = tinymce.get( editor_id );
2558
- }
2559
-
2560
- if( tinymce_editor && !tinymce_editor.isHidden() ) {
2561
- tinymce_editor.execCommand( 'mceInsertContent', false, html );
2562
- } else {
2563
- var $editor = $('#'+editor_id);
2564
- $editor.val( base.insertAtChars( $editor, html ) ).trigger('change');
2565
- }
2566
-
2567
- };
2568
-
2569
- return this.each( function() {
2570
-
2571
- var $modal = $(this),
2572
- $load = $modal.find('.csf-modal-load'),
2573
- $content = $modal.find('.csf-modal-content'),
2574
- $insert = $modal.find('.csf-modal-insert'),
2575
- $loading = $modal.find('.csf-modal-loading'),
2576
- $select = $modal.find('select'),
2577
- modal_id = $modal.data('modal-id'),
2578
- nonce = $modal.data('nonce'),
2579
- editor_id,
2580
- target_id,
2581
- sc_key,
2582
- sc_name,
2583
- sc_view,
2584
- sc_group,
2585
- $cloned,
2586
- $button;
2587
-
2588
- $(document).on('click', '.csf-shortcode-button[data-modal-id="'+ modal_id +'"]', function( e ) {
2589
-
2590
- e.preventDefault();
2591
-
2592
- $button = $(this);
2593
- editor_id = $button.data('editor-id') || false;
2594
- target_id = $button.data('target-id') || false;
2595
-
2596
- $modal.show();
2597
-
2598
- // single usage trigger first shortcode
2599
- if( $modal.hasClass('csf-shortcode-single') && sc_name === undefined ) {
2600
- $select.trigger('change');
2601
- }
2602
-
2603
- });
2604
-
2605
- $select.on( 'change', function() {
2606
-
2607
- var $option = $(this);
2608
- var $selected = $option.find(':selected');
2609
-
2610
- sc_key = $option.val();
2611
- sc_name = $selected.data('shortcode');
2612
- sc_view = $selected.data('view') || 'normal';
2613
- sc_group = $selected.data('group') || sc_name;
2614
-
2615
- $load.empty();
2616
-
2617
- if( sc_key ) {
2618
-
2619
- $loading.show();
2620
-
2621
- window.wp.ajax.post( 'csf-get-shortcode-'+ modal_id, {
2622
- shortcode_key: sc_key,
2623
- nonce: nonce
2624
- })
2625
- .done( function( response ) {
2626
-
2627
- $loading.hide();
2628
-
2629
- var $appended = $(response.content).appendTo($load);
2630
-
2631
- $insert.parent().removeClass('hidden');
2632
-
2633
- $cloned = $appended.find('.csf--repeat-shortcode').csf_clone();
2634
-
2635
- $appended.csf_reload_script();
2636
- $appended.find('.csf-fields').csf_reload_script();
2637
-
2638
- });
2639
-
2640
- } else {
2641
-
2642
- $insert.parent().addClass('hidden');
2643
-
2644
- }
2645
-
2646
- });
2647
-
2648
- $insert.on('click', function( e ) {
2649
-
2650
- e.preventDefault();
2651
-
2652
- if( $insert.prop('disabled') || $insert.attr('disabled') ) { return; }
2653
-
2654
- var shortcode = '';
2655
- var serialize = $modal.find('.csf-field:not(.hidden)').find(':input:not(.ignore)').serializeObjectCSF();
2656
-
2657
- switch ( sc_view ) {
2658
-
2659
- case 'contents':
2660
- var contentsObj = ( sc_name ) ? serialize[sc_name] : serialize;
2661
- $.each(contentsObj, function( sc_key, sc_value ) {
2662
- var sc_tag = ( sc_name ) ? sc_name : sc_key;
2663
- shortcode += '['+ sc_tag +']'+ sc_value +'[/'+ sc_tag +']';
2664
- });
2665
- break;
2666
-
2667
- case 'group':
2668
-
2669
- shortcode += '[' + sc_name;
2670
- $.each(serialize[sc_name], function( sc_key, sc_value ) {
2671
- shortcode += base.shortcode_tags( sc_key, sc_value );
2672
- });
2673
- shortcode += ']';
2674
- shortcode += base.shortcode_parse( serialize[sc_group], sc_group );
2675
- shortcode += '[/' + sc_name + ']';
2676
-
2677
- break;
2678
-
2679
- case 'repeater':
2680
- shortcode += base.shortcode_parse( serialize[sc_group], sc_group );
2681
- break;
2682
-
2683
- default:
2684
- shortcode += base.shortcode_parse( serialize );
2685
- break;
2686
-
2687
- }
2688
-
2689
- shortcode = ( shortcode === '' ) ? '['+ sc_name +']' : shortcode;
2690
-
2691
- if( editor_id ) {
2692
-
2693
- base.send_to_editor( shortcode, editor_id );
2694
-
2695
- } else {
2696
-
2697
- var $textarea = (target_id) ? $(target_id) : $button.parent().find('textarea');
2698
- $textarea.val( base.insertAtChars( $textarea, shortcode ) ).trigger('change');
2699
-
2700
- }
2701
-
2702
- $modal.hide();
2703
-
2704
- });
2705
-
2706
- $modal.on('click', '.csf--repeat-button', function( e ) {
2707
-
2708
- e.preventDefault();
2709
-
2710
- var $repeatable = $modal.find('.csf--repeatable');
2711
- var $new_clone = $cloned.csf_clone();
2712
- var $remove_btn = $new_clone.find('.csf-repeat-remove');
2713
-
2714
- var $appended = $new_clone.appendTo( $repeatable );
2715
-
2716
- $new_clone.find('.csf-fields').csf_reload_script();
2717
-
2718
- CSF.helper.name_nested_replace( $modal.find('.csf--repeat-shortcode'), sc_group );
2719
-
2720
- $remove_btn.on('click', function() {
2721
-
2722
- $new_clone.remove();
2723
-
2724
- CSF.helper.name_nested_replace( $modal.find('.csf--repeat-shortcode'), sc_group );
2725
-
2726
- });
2727
-
2728
- });
2729
-
2730
- $modal.on('click', '.csf-modal-close, .csf-modal-overlay', function() {
2731
- $modal.hide();
2732
- });
2733
-
2734
- });
2735
- };
2736
-
2737
  //
2738
  // WP Color Picker
2739
  //
@@ -2761,7 +2347,7 @@
2761
 
2762
  }
2763
 
2764
- CSF.funcs.parse_color = function( color ) {
2765
 
2766
  var value = color.replace(/\s+/g, ''),
2767
  trans = ( value.indexOf('rgba') !== -1 ) ? parseFloat( value.replace(/^.*,(.+)\)/, '$1') * 100 ) : 100,
@@ -2771,12 +2357,12 @@
2771
 
2772
  };
2773
 
2774
- $.fn.csf_color = function() {
2775
  return this.each( function() {
2776
 
2777
  var $input = $(this),
2778
- picker_color = CSF.funcs.parse_color( $input.val() ),
2779
- palette_color = window.csf_vars.color_palette.length ? window.csf_vars.color_palette : true,
2780
  $container;
2781
 
2782
  // Destroy and Reinit
@@ -2790,8 +2376,8 @@
2790
 
2791
  var ui_color_value = ui.color.toString();
2792
 
2793
- $container.removeClass('csf--transparent-active');
2794
- $container.find('.csf--transparent-offset').css('background-color', ui_color_value);
2795
  $input.val(ui_color_value).trigger('change');
2796
 
2797
  },
@@ -2800,28 +2386,28 @@
2800
  $container = $input.closest('.wp-picker-container');
2801
 
2802
  var a8cIris = $input.data('a8cIris'),
2803
- $transparent_wrap = $('<div class="csf--transparent-wrap">' +
2804
- '<div class="csf--transparent-slider"></div>' +
2805
- '<div class="csf--transparent-offset"></div>' +
2806
- '<div class="csf--transparent-text"></div>' +
2807
- '<div class="csf--transparent-button">transparent <i class="fa fa-toggle-off"></i></div>' +
2808
  '</div>').appendTo( $container.find('.wp-picker-holder') ),
2809
- $transparent_slider = $transparent_wrap.find('.csf--transparent-slider'),
2810
- $transparent_text = $transparent_wrap.find('.csf--transparent-text'),
2811
- $transparent_offset = $transparent_wrap.find('.csf--transparent-offset'),
2812
- $transparent_button = $transparent_wrap.find('.csf--transparent-button');
2813
 
2814
  if( $input.val() === 'transparent' ) {
2815
- $container.addClass('csf--transparent-active');
2816
  }
2817
 
2818
  $transparent_button.on('click', function() {
2819
  if( $input.val() !== 'transparent' ) {
2820
  $input.val('transparent').trigger('change').removeClass('iris-error');
2821
- $container.addClass('csf--transparent-active');
2822
  } else {
2823
  $input.val( a8cIris._color.toString() ).trigger('change');
2824
- $container.removeClass('csf--transparent-active');
2825
  }
2826
  });
2827
 
@@ -2851,14 +2437,14 @@
2851
  a8cIris._color._alpha = 1;
2852
  $transparent_text.text('');
2853
  $transparent_slider.slider('option', 'value', 100);
2854
- $container.removeClass('csf--transparent-active');
2855
  $input.trigger('change');
2856
 
2857
  });
2858
 
2859
  $container.on('click', '.wp-picker-default', function() {
2860
 
2861
- var default_color = CSF.funcs.parse_color( $input.data('default-color') ),
2862
  default_value = parseFloat( default_color.transparent / 100 ),
2863
  default_text = default_value < 1 ? default_value : '';
2864
 
@@ -2879,20 +2465,20 @@
2879
  //
2880
  // ChosenJS
2881
  //
2882
- $.fn.csf_chosen = function() {
2883
  return this.each( function() {
2884
 
2885
  var $this = $(this),
2886
  $inited = $this.parent().find('.chosen-container'),
2887
- is_sortable = $this.hasClass('csf-chosen-sortable') || false,
2888
- is_ajax = $this.hasClass('csf-chosen-ajax') || false,
2889
  is_multiple = $this.attr('multiple') || false,
2890
  set_width = is_multiple ? '100%' : 'auto',
2891
  set_options = $.extend({
2892
  allow_single_deselect: true,
2893
  disable_search_threshold: 10,
2894
  width: set_width,
2895
- no_results_text: window.csf_vars.i18n.no_results_text,
2896
  }, $this.data('chosen-settings'));
2897
 
2898
  if( $inited.length ) {
@@ -2912,12 +2498,12 @@
2912
  width: '100%',
2913
  min_length: 3,
2914
  type_delay: 500,
2915
- typing_text: window.csf_vars.i18n.typing_text,
2916
- searching_text: window.csf_vars.i18n.searching_text,
2917
- no_results_text: window.csf_vars.i18n.no_results_text,
2918
  }, $this.data('chosen-settings'));
2919
 
2920
- $this.CSFAjaxChosen(set_ajax_options);
2921
 
2922
  } else {
2923
 
@@ -2928,7 +2514,7 @@
2928
  // Chosen keep options order
2929
  if( is_multiple ) {
2930
 
2931
- var $hidden_select = $this.parent().find('.csf-hidden-select');
2932
  var $hidden_value = $hidden_select.val() || [];
2933
 
2934
  $this.on('change', function(obj, result) {
@@ -2949,7 +2535,7 @@
2949
  });
2950
 
2951
  // Chosen order abstract
2952
- $this.CSFChosenOrder($hidden_value, true);
2953
 
2954
  }
2955
 
@@ -2978,7 +2564,7 @@
2978
 
2979
  var select_options = '';
2980
  var chosen_object = $this.data('chosen');
2981
- var $prev_select = $this.parent().find('.csf-hidden-select');
2982
 
2983
  $chosen_choices.find('.search-choice-close').each( function() {
2984
  var option_array_index = $(this).data('option-array-index');
@@ -3004,12 +2590,12 @@
3004
  //
3005
  // Helper Checkbox Checker
3006
  //
3007
- $.fn.csf_checkbox = function() {
3008
  return this.each( function() {
3009
 
3010
  var $this = $(this),
3011
- $input = $this.find('.csf--input'),
3012
- $checkbox = $this.find('.csf--checkbox');
3013
 
3014
  $checkbox.on('click', function() {
3015
  $input.val( Number( $checkbox.prop('checked') ) ).trigger('change');
@@ -3021,11 +2607,11 @@
3021
  //
3022
  // Siblings
3023
  //
3024
- $.fn.csf_siblings = function() {
3025
  return this.each( function() {
3026
 
3027
  var $this = $(this),
3028
- $siblings = $this.find('.csf--sibling'),
3029
  multiple = $this.data('multiple') || false;
3030
 
3031
  $siblings.on('click', function() {
@@ -3034,11 +2620,11 @@
3034
 
3035
  if( multiple ) {
3036
 
3037
- if( $sibling.hasClass('csf--active') ) {
3038
- $sibling.removeClass('csf--active');
3039
  $sibling.find('input').prop('checked', false).trigger('change');
3040
  } else {
3041
- $sibling.addClass('csf--active');
3042
  $sibling.find('input').prop('checked', true).trigger('change');
3043
  }
3044
 
@@ -3046,7 +2632,7 @@
3046
 
3047
  $this.find('input').prop('checked', false);
3048
  $sibling.find('input').prop('checked', true).trigger('change');
3049
- $sibling.addClass('csf--active').siblings().removeClass('csf--active');
3050
 
3051
  }
3052
 
@@ -3058,7 +2644,7 @@
3058
  //
3059
  // Help Tooltip
3060
  //
3061
- $.fn.csf_help = function() {
3062
  return this.each( function() {
3063
 
3064
  var $this = $(this),
@@ -3068,8 +2654,8 @@
3068
  $this.on({
3069
  mouseenter: function() {
3070
 
3071
- $tooltip = $( '<div class="csf-tooltip"></div>' ).html( $this.find('.csf-help-text').html() ).appendTo('body');
3072
- offset_left = ( CSF.vars.is_rtl ) ? ( $this.offset().left + 24 ) : ( $this.offset().left - $tooltip.outerWidth() );
3073
 
3074
  $tooltip.css({
3075
  top: $this.offset().top - ( ( $tooltip.outerHeight() / 2 ) - 14 ),
@@ -3093,18 +2679,18 @@
3093
  //
3094
  // Customize Refresh
3095
  //
3096
- $.fn.csf_customizer_refresh = function() {
3097
  return this.each( function() {
3098
 
3099
  var $this = $(this),
3100
- $complex = $this.closest('.csf-customize-complex');
3101
 
3102
  if( $complex.length ) {
3103
 
3104
  var $input = $complex.find(':input'),
3105
  $unique = $complex.data('unique-id'),
3106
  $option = $complex.data('option-id'),
3107
- obj = $input.serializeObjectCSF(),
3108
  data = ( !$.isEmptyObject(obj) ) ? obj[$unique][$option] : '',
3109
  control = window.wp.customize.control($unique +'['+ $option +']');
3110
 
@@ -3119,7 +2705,7 @@
3119
 
3120
  }
3121
 
3122
- $(document).trigger('csf-customizer-refresh', $this);
3123
 
3124
  });
3125
  };
@@ -3127,7 +2713,7 @@
3127
  //
3128
  // Customize Listen Form Elements
3129
  //
3130
- $.fn.csf_customizer_listen = function( options ) {
3131
 
3132
  var settings = $.extend({
3133
  closest: false,
@@ -3137,16 +2723,16 @@
3137
 
3138
  if( window.wp.customize === undefined ) { return; }
3139
 
3140
- var $this = ( settings.closest ) ? $(this).closest('.csf-customize-complex') : $(this),
3141
  $input = $this.find(':input'),
3142
  unique_id = $this.data('unique-id'),
3143
  option_id = $this.data('option-id');
3144
 
3145
  if( unique_id === undefined ) { return; }
3146
 
3147
- $input.on('change keyup', CSF.helper.debounce( function() {
3148
 
3149
- var obj = $this.find(':input').serializeObjectCSF();
3150
  var val = ( !$.isEmptyObject(obj) && obj[unique_id] && obj[unique_id][option_id] ) ? obj[unique_id][option_id] : '';
3151
 
3152
  window.wp.customize.control( unique_id +'['+ option_id +']' ).setting.set( val );
@@ -3165,13 +2751,13 @@
3165
 
3166
  if( $this.hasClass('open') && !$this.data('inited') ) {
3167
 
3168
- var $fields = $this.find('.csf-customize-field');
3169
- var $complex = $this.find('.csf-customize-complex');
3170
 
3171
  if( $fields.length ) {
3172
- $this.csf_dependency();
3173
- $fields.csf_reload_script({dependency: false});
3174
- $complex.csf_customizer_listen();
3175
  }
3176
 
3177
  $this.data('inited', true);
@@ -3183,33 +2769,33 @@
3183
  //
3184
  // Window on resize
3185
  //
3186
- CSF.vars.$window.on('resize csf.resize', CSF.helper.debounce( function( event ) {
3187
 
3188
- var window_width = navigator.userAgent.indexOf('AppleWebKit/') > -1 ? CSF.vars.$window.width() : window.innerWidth;
3189
 
3190
- if( window_width <= 782 && !CSF.vars.onloaded ) {
3191
- $('.csf-section').csf_reload_script();
3192
- CSF.vars.onloaded = true;
3193
  }
3194
 
3195
- }, 200)).trigger('csf.resize');
3196
 
3197
  //
3198
  // Widgets Framework
3199
  //
3200
- $.fn.csf_widgets = function() {
3201
  if( this.length ) {
3202
 
3203
  $(document).on('widget-added widget-updated', function( event, $widget ) {
3204
- $widget.find('.csf-fields').csf_reload_script();
3205
  });
3206
 
3207
  $('.widgets-sortables, .control-section-sidebar').on('sortstop', function( event, ui ) {
3208
- ui.item.find('.csf-fields').csf_reload_script_retry();
3209
  });
3210
 
3211
  $(document).on('click', '.widget-top', function( event ) {
3212
- $(this).parent().find('.csf-fields').csf_reload_script();
3213
  });
3214
 
3215
  }
@@ -3218,13 +2804,13 @@
3218
  //
3219
  // Retry Plugins
3220
  //
3221
- $.fn.csf_reload_script_retry = function() {
3222
  return this.each( function() {
3223
 
3224
  var $this = $(this);
3225
 
3226
  if( $this.data('inited') ) {
3227
- $this.children('.csf-field-wp_editor').csf_field_wp_editor();
3228
  }
3229
 
3230
  });
@@ -3233,7 +2819,7 @@
3233
  //
3234
  // Reload Plugins
3235
  //
3236
- $.fn.csf_reload_script = function( options ) {
3237
 
3238
  var settings = $.extend({
3239
  dependency: true,
@@ -3247,57 +2833,56 @@
3247
  if( !$this.data('inited') ) {
3248
 
3249
  // Field plugins
3250
- $this.children('.csf-field-accordion').csf_field_accordion();
3251
- $this.children('.csf-field-backup').csf_field_backup();
3252
- $this.children('.csf-field-background').csf_field_background();
3253
- $this.children('.csf-field-code_editor').csf_field_code_editor();
3254
- $this.children('.csf-field-date').csf_field_date();
3255
- $this.children('.csf-field-fieldset').csf_field_fieldset();
3256
- $this.children('.csf-field-gallery').csf_field_gallery();
3257
- $this.children('.csf-field-group').csf_field_group();
3258
- $this.children('.csf-field-icon').csf_field_icon();
3259
- $this.children('.csf-field-media').csf_field_media();
3260
- $this.children('.csf-field-map').csf_field_map();
3261
- $this.children('.csf-field-repeater').csf_field_repeater();
3262
- $this.children('.csf-field-slider').csf_field_slider();
3263
- $this.children('.csf-field-sortable').csf_field_sortable();
3264
- $this.children('.csf-field-sorter').csf_field_sorter();
3265
- $this.children('.csf-field-spinner').csf_field_spinner();
3266
- $this.children('.csf-field-switcher').csf_field_switcher();
3267
- $this.children('.csf-field-tabbed').csf_field_tabbed();
3268
- $this.children('.csf-field-typography').csf_field_typography();
3269
- $this.children('.csf-field-upload').csf_field_upload();
3270
- $this.children('.csf-field-wp_editor').csf_field_wp_editor();
3271
 
3272
  // Field colors
3273
- $this.children('.csf-field-border').find('.csf-color').csf_color();
3274
- $this.children('.csf-field-background').find('.csf-color').csf_color();
3275
- $this.children('.csf-field-color').find('.csf-color').csf_color();
3276
- $this.children('.csf-field-color_group').find('.csf-color').csf_color();
3277
- $this.children('.csf-field-link_color').find('.csf-color').csf_color();
3278
- $this.children('.csf-field-typography').find('.csf-color').csf_color();
3279
 
3280
  // Field chosenjs
3281
- $this.children('.csf-field-select').find('.csf-chosen').csf_chosen();
3282
 
3283
  // Field Checkbox
3284
- $this.children('.csf-field-checkbox').find('.csf-checkbox').csf_checkbox();
3285
 
3286
  // Field Siblings
3287
- $this.children('.csf-field-button_set').find('.csf-siblings').csf_siblings();
3288
- $this.children('.csf-field-image_select').find('.csf-siblings').csf_siblings();
3289
- $this.children('.csf-field-palette').find('.csf-siblings').csf_siblings();
3290
 
3291
  // Help Tooptip
3292
- $this.children('.csf-field').find('.csf-help').csf_help();
3293
 
3294
  if( settings.dependency ) {
3295
- $this.csf_dependency();
3296
  }
3297
 
3298
  $this.data('inited', true);
3299
 
3300
- $(document).trigger('csf-reload-script', $this);
3301
 
3302
  }
3303
 
@@ -3309,20 +2894,18 @@
3309
  //
3310
  $(document).ready( function() {
3311
 
3312
- $('.csf-save').csf_save();
3313
- $('.csf-options').csf_options();
3314
- $('.csf-sticky-header').csf_sticky();
3315
- $('.csf-nav-options').csf_nav_options();
3316
- $('.csf-nav-metabox').csf_nav_metabox();
3317
- $('.csf-taxonomy').csf_taxonomy();
3318
- $('.csf-page-templates').csf_page_templates();
3319
- $('.csf-post-formats').csf_post_formats();
3320
- $('.csf-shortcode').csf_shortcode();
3321
- $('.csf-search').csf_search();
3322
- $('.csf-confirm').csf_confirm();
3323
- $('.csf-expand-all').csf_expand_all();
3324
- $('.csf-onload').csf_reload_script();
3325
- $('.widget').csf_widgets();
3326
 
3327
  });
3328
 
 
 
 
 
 
 
 
 
 
 
1
  ;(function( $, window, document, undefined ) {
2
  'use strict';
3
 
4
  //
5
  // Constants
6
  //
7
+ var SPFTESTIMONIAL = SPFTESTIMONIAL || {};
8
 
9
+ SPFTESTIMONIAL.funcs = {};
10
 
11
+ SPFTESTIMONIAL.vars = {
12
  onloaded: false,
13
  $body: $('body'),
14
  $window: $(window),
22
  //
23
  // Helper Functions
24
  //
25
+ SPFTESTIMONIAL.helper = {
26
 
27
  //
28
  // Generate UID
43
  name_nested_replace: function( $selector, field_id ) {
44
 
45
  var checks = [];
46
+ var regex = new RegExp('('+ SPFTESTIMONIAL.helper.preg_quote(field_id) +')\\[(\\d+)\\]', 'g');
47
 
48
  $selector.find(':radio').each(function() {
49
  if( this.checked || this.orginal_checked ) {
145
  // Remove a cookie
146
  //
147
  remove_cookie: function( name, path, domain, secure ) {
148
+ SPFTESTIMONIAL.helper.set_cookie( name, '', -1000, path, domain, secure );
149
  },
150
 
151
  };
153
  //
154
  // Custom clone for textarea and select clone() bug
155
  //
156
+ $.fn.spftestimonial_clone = function() {
157
 
158
  var base = $.fn.clone.apply(this, arguments),
159
  clone = this.find('select').add(this.filter('select')),
180
  //
181
  // Expand All Options
182
  //
183
+ $.fn.spftestimonial_expand_all = function() {
184
  return this.each( function() {
185
  $(this).on('click', function( e ) {
186
 
187
  e.preventDefault();
188
+ $('.spftestimonial-wrapper').toggleClass('spftestimonial-show-all');
189
+ $('.spftestimonial-section').spftestimonial_reload_script();
190
  $(this).find('.fa').toggleClass('fa-indent').toggleClass('fa-outdent');
191
 
192
  });
196
  //
197
  // Options Navigation
198
  //
199
+ $.fn.spftestimonial_nav_options = function() {
200
  return this.each( function() {
201
 
202
  var $nav = $(this),
203
  $links = $nav.find('a'),
204
+ $hidden = $nav.closest('.spftestimonial').find('.spftestimonial-section-id'),
205
  $last_section;
206
 
207
  $(window).on('hashchange', function() {
208
 
209
  var hash = window.location.hash.match(new RegExp('tab=([^&]*)'));
210
  var slug = hash ? hash[1] : $links.first().attr('href').replace('#tab=', '');
211
+ var $link = $('#spftestimonial-tab-link-'+ slug);
212
 
213
  if( $link.length > 0 ) {
214
 
215
+ $link.closest('.spftestimonial-tab-depth-0').addClass('spftestimonial-tab-active').siblings().removeClass('spftestimonial-tab-active');
216
+ $links.removeClass('spftestimonial-section-active');
217
+ $link.addClass('spftestimonial-section-active');
218
 
219
  if( $last_section !== undefined ) {
220
  $last_section.hide();
221
  }
222
 
223
+ var $section = $('#spftestimonial-section-'+slug);
224
  $section.css({display: 'block'});
225
+ $section.spftestimonial_reload_script();
226
 
227
  $hidden.val(slug);
228
 
238
  //
239
  // Metabox Tabs
240
  //
241
+ $.fn.spftestimonial_nav_metabox = function() {
242
  return this.each( function() {
243
 
244
  var $nav = $(this),
256
  section_id = $link.data('section');
257
 
258
  if( $last_link !== undefined ) {
259
+ $last_link.removeClass('spftestimonial-section-active');
260
  }
261
 
262
  if( $last_section !== undefined ) {
263
  $last_section.hide();
264
  }
265
 
266
+ $link.addClass('spftestimonial-section-active');
267
 
268
+ var $section = $('#spftestimonial-section-'+section_id);
269
  $section.css({display: 'block'});
270
+ $section.spftestimonial_reload_script();
271
 
272
+ SPFTESTIMONIAL.helper.set_cookie('spftestimonial-last-metabox-tab-'+ post_id +'-'+ unique_id, section_id);
273
 
274
  $last_section = $section;
275
  $last_link = $link;
276
 
277
  });
278
 
279
+ var get_cookie = SPFTESTIMONIAL.helper.get_cookie('spftestimonial-last-metabox-tab-'+ post_id +'-'+ unique_id);
280
 
281
  if( get_cookie ) {
282
  $nav.find('a[data-section="'+ get_cookie +'"]').trigger('click');
290
  //
291
  // Metabox Page Templates Listener
292
  //
293
+ $.fn.spftestimonial_page_templates = function() {
294
  if( this.length ) {
295
 
296
  $(document).on('change', '.editor-page-attributes__template select, #page_template', function() {
297
 
298
  var maybe_value = $(this).val() || 'default';
299
 
300
+ $('.spftestimonial-page-templates').removeClass('spftestimonial-show').addClass('spftestimonial-hide');
301
+ $('.spftestimonial-page-'+maybe_value.toLowerCase().replace(/[^a-zA-Z0-9]+/g,'-')).removeClass('spftestimonial-hide').addClass('spftestimonial-show');
302
 
303
  });
304
 
308
  //
309
  // Metabox Post Formats Listener
310
  //
311
+ $.fn.spftestimonial_post_formats = function() {
312
  if( this.length ) {
313
 
314
  $(document).on('change', '.editor-post-format select, #formatdiv input[name="post_format"]', function() {
318
  // Fallback for classic editor version
319
  maybe_value = ( maybe_value === '0' ) ? 'default' : maybe_value;
320
 
321
+ $('.spftestimonial-post-formats').removeClass('spftestimonial-show').addClass('spftestimonial-hide');
322
+ $('.spftestimonial-post-format-'+maybe_value).removeClass('spftestimonial-hide').addClass('spftestimonial-show');
323
 
324
  });
325
 
329
  //
330
  // Search
331
  //
332
+ $.fn.spftestimonial_search = function() {
333
  return this.each( function() {
334
 
335
  var $this = $(this),
338
  $input.on('change keyup', function() {
339
 
340
  var value = $(this).val(),
341
+ $wrapper = $('.spftestimonial-wrapper'),
342
+ $section = $wrapper.find('.spftestimonial-section'),
343
+ $fields = $section.find('> .spftestimonial-field:not(.hidden)'),
344
+ $titles = $fields.find('> .spftestimonial-title, .spftestimonial-search-tags');
345
 
346
  if( value.length > 3 ) {
347
 
348
+ $fields.addClass('spftestimonial-hidden');
349
+ $wrapper.addClass('spftestimonial-search-all');
350
 
351
  $titles.each( function() {
352
 
354
 
355
  if( $title.text().match( new RegExp('.*?' + value + '.*?', 'i') ) ) {
356
 
357
+ var $field = $title.closest('.spftestimonial-field');
358
 
359
+ $field.removeClass('spftestimonial-hidden');
360
+ $field.parent().spftestimonial_reload_script();
361
 
362
  }
363
 
365
 
366
  } else {
367
 
368
+ $fields.removeClass('spftestimonial-hidden');
369
+ $wrapper.removeClass('spftestimonial-search-all');
370
 
371
  }
372
 
378
  //
379
  // Sticky Header
380
  //
381
+ $.fn.spftestimonial_sticky = function() {
382
  return this.each( function() {
383
 
384
  var $this = $(this),
385
  $window = $(window),
386
+ $inner = $this.find('.spftestimonial-header-inner'),
387
  padding = parseInt( $inner.css('padding-left') ) + parseInt( $inner.css('padding-right') ),
388
  offset = 32,
389
  scrollTop = 0,
397
 
398
  if( stickyTop <= offset && winWidth > 782 ) {
399
  $inner.css({width: $this.outerWidth()-padding});
400
+ $this.css({height: $this.outerHeight()}).addClass( 'spftestimonial-sticky' );
401
  } else {
402
  $inner.removeAttr('style');
403
+ $this.removeAttr('style').removeClass( 'spftestimonial-sticky' );
404
  }
405
 
406
  },
433
  //
434
  // Dependency System
435
  //
436
+ $.fn.spftestimonial_dependency = function() {
437
  return this.each( function() {
438
 
439
  var $this = $(this),
440
+ ruleset = $.spftestimonial_deps.createRuleset(),
441
  depends = [],
442
  is_global = false;
443
 
471
  if( depends.length ) {
472
 
473
  if( is_global ) {
474
+ $.spftestimonial_deps.enable(SPFTESTIMONIAL.vars.$body, ruleset, depends);
475
  } else {
476
+ $.spftestimonial_deps.enable($this, ruleset, depends);
477
  }
478
 
479
  }
484
  //
485
  // Field: accordion
486
  //
487
+ $.fn.spftestimonial_field_accordion = function() {
488
  return this.each( function() {
489
 
490
+ var $titles = $(this).find('.spftestimonial-accordion-title');
491
 
492
  $titles.on('click', function() {
493
 
494
  var $title = $(this),
495
+ $icon = $title.find('.spftestimonial-accordion-icon'),
496
  $content = $title.next();
497
 
498
  if( $icon.hasClass('fa-angle-right') ) {
503
 
504
  if( !$content.data( 'opened' ) ) {
505
 
506
+ $content.spftestimonial_reload_script();
507
  $content.data( 'opened', true );
508
 
509
  }
510
 
511
+ $content.toggleClass('spftestimonial-accordion-open');
512
 
513
  });
514
 
518
  //
519
  // Field: backup
520
  //
521
+ $.fn.spftestimonial_field_backup = function() {
522
  return this.each( function() {
523
 
524
  if( window.wp.customize === undefined ) { return; }
526
  var base = this,
527
  $this = $(this),
528
  $body = $('body'),
529
+ $import = $this.find('.spftestimonial-import'),
530
+ $reset = $this.find('.spftestimonial-reset');
531
 
532
  base.notification = function( message_text ) {
533
 
541
  }
542
 
543
  // then show a notification overlay
544
+ wp.customize.notifications.add( new wp.customize.OverlayNotification('spftestimonial_field_backup_notification', {
545
  type: 'info',
546
  message: message_text,
547
  loading: true
555
 
556
  e.preventDefault();
557
 
558
+ if( SPFTESTIMONIAL.vars.is_confirm ) {
559
 
560
+ base.notification( window.spftestimonial_vars.i18n.reset_notification );
561
 
562
+ window.wp.ajax.post('spftestimonial-reset', {
563
  unique: $reset.data('unique'),
564
  nonce: $reset.data('nonce')
565
  })
568
  })
569
  .fail( function( response ) {
570
  alert( response.error );
571
+ wp.customize.notifications.remove('spftestimonial_field_backup_notification');
572
  });
573
 
574
  }
579
 
580
  e.preventDefault();
581
 
582
+ if( SPFTESTIMONIAL.vars.is_confirm ) {
583
 
584
+ base.notification( window.spftestimonial_vars.i18n.import_notification );
585
 
586
+ window.wp.ajax.post( 'spftestimonial-import', {
587
  unique: $import.data('unique'),
588
  nonce: $import.data('nonce'),
589
+ import_data: $this.find('.spftestimonial-import-data').val()
590
  }).done( function( response ) {
591
  window.location.reload(true);
592
  }).fail( function( response ) {
593
  alert( response.error );
594
+ wp.customize.notifications.remove('spftestimonial_field_backup_notification');
595
  });
596
 
597
  }
604
  //
605
  // Field: background
606
  //
607
+ $.fn.spftestimonial_field_background = function() {
608
  return this.each( function() {
609
+ $(this).find('.spftestimonial--background-image').spftestimonial_reload_script();
610
  });
611
  };
612
 
613
  //
614
  // Field: code_editor
615
  //
616
+ $.fn.spftestimonial_field_code_editor = function() {
617
  return this.each( function() {
618
 
619
  if( typeof CodeMirror !== 'function' ) { return; }
633
  var code_editor = CodeMirror.fromTextArea( $textarea[0], data_editor );
634
 
635
  // load code-mirror theme css.
636
+ if( data_editor.theme !== 'default' && SPFTESTIMONIAL.vars.code_themes.indexOf(data_editor.theme) === -1 ) {
637
 
638
  var $cssLink = $('<link>');
639
 
640
+ $('#spftestimonial-codemirror-css').after( $cssLink );
641
 
642
  $cssLink.attr({
643
  rel: 'stylesheet',
644
+ id: 'spftestimonial-codemirror-'+ data_editor.theme +'-css',
645
  href: data_editor.cdnURL +'/theme/'+ data_editor.theme +'.min.css',
646
  type: 'text/css',
647
  media: 'all'
648
  });
649
 
650
+ SPFTESTIMONIAL.vars.code_themes.push(data_editor.theme);
651
 
652
  }
653
 
669
  //
670
  // Field: date
671
  //
672
+ $.fn.spftestimonial_field_date = function() {
673
  return this.each( function() {
674
 
675
  var $this = $(this),
676
  $inputs = $this.find('input'),
677
+ settings = $this.find('.spftestimonial-date-settings').data('settings'),
678
+ wrapper = '<div class="spftestimonial-datepicker-wrapper"></div>',
679
  $datepicker;
680
 
681
  var defaults = {
682
  showAnim: '',
683
  beforeShow: function(input, inst) {
684
+ $(inst.dpDiv).addClass('spftestimonial-datepicker-wrapper');
685
  },
686
  onClose: function( input, inst ) {
687
+ $(inst.dpDiv).removeClass('spftestimonial-datepicker-wrapper');
688
  },
689
  };
690
 
725
  //
726
  // Field: fieldset
727
  //
728
+ $.fn.spftestimonial_field_fieldset = function() {
729
  return this.each( function() {
730
+ $(this).find('.spftestimonial-fieldset-content').spftestimonial_reload_script();
731
  });
732
  };
733
 
734
  //
735
  // Field: gallery
736
  //
737
+ $.fn.spftestimonial_field_gallery = function() {
738
  return this.each( function() {
739
 
740
  var $this = $(this),
741
+ $edit = $this.find('.spftestimonial-edit-gallery'),
742
+ $clear = $this.find('.spftestimonial-clear-gallery'),
743
  $list = $this.find('ul'),
744
  $input = $this.find('input'),
745
  $img = $this.find('img'),
746
  wp_media_frame;
747
 
748
+ $this.on('click', '.spftestimonial-button, .spftestimonial-edit-gallery', function( e ) {
749
 
750
  var $el = $(this),
751
  ids = $input.val(),
752
+ what = ( $el.hasClass('spftestimonial-edit-gallery') ) ? 'edit' : 'add',
753
  state = ( what === 'add' && !ids.length ) ? 'gallery' : 'gallery-edit';
754
 
755
  e.preventDefault();
819
  //
820
  // Field: group
821
  //
822
+ $.fn.spftestimonial_field_group = function() {
823
  return this.each( function() {
824
 
825
  var $this = $(this),
826
+ $fieldset = $this.children('.spftestimonial-fieldset'),
827
  $group = $fieldset.length ? $fieldset : $this,
828
+ $wrapper = $group.children('.spftestimonial-cloneable-wrapper'),
829
+ $hidden = $group.children('.spftestimonial-cloneable-hidden'),
830
+ $max = $group.children('.spftestimonial-cloneable-max'),
831
+ $min = $group.children('.spftestimonial-cloneable-min'),
832
  field_id = $wrapper.data('field-id'),
833
  unique_id = $wrapper.data('unique-id'),
834
  is_number = Boolean( Number( $wrapper.data('title-number') ) ),
841
  }
842
 
843
  var update_title_numbers = function( $selector ) {
844
+ $selector.find('.spftestimonial-cloneable-title-number').each( function( index ) {
845
+ $(this).html( ( $(this).closest('.spftestimonial-cloneable-item').index()+1 ) + '.' );
846
  });
847
  };
848
 
849
  $wrapper.accordion({
850
+ header: '> .spftestimonial-cloneable-item > .spftestimonial-cloneable-title',
851
  collapsible : true,
852
  active: false,
853
  animate: false,
854
  heightStyle: 'content',
855
  icons: {
856
+ 'header': 'spftestimonial-cloneable-header-icon fa fa-angle-right',
857
+ 'activeHeader': 'spftestimonial-cloneable-header-icon fa fa-angle-down'
858
  },
859
  activate: function( event, ui ) {
860
 
865
 
866
  var $fields = $panel.children();
867
  var $first = $fields.first().find(':input').first();
868
+ var $title = $header.find('.spftestimonial-cloneable-value');
869
 
870
  $first.on('keyup', function( event ) {
871
  $title.text($first.val());
872
  });
873
 
874
+ $panel.spftestimonial_reload_script();
875
  $panel.data( 'opened', true );
876
  $panel.data( 'retry', false );
877
 
878
  } else if( $panel.data( 'retry' ) ) {
879
 
880
+ $panel.spftestimonial_reload_script_retry();
881
  $panel.data( 'retry', false );
882
 
883
  }
887
 
888
  $wrapper.sortable({
889
  axis: 'y',
890
+ handle: '.spftestimonial-cloneable-title,.spftestimonial-cloneable-sort',
891
  helper: 'original',
892
  cursor: 'move',
893
  placeholder: 'widget-placeholder',
895
 
896
  $wrapper.accordion({ active:false });
897
  $wrapper.sortable('refreshPositions');
898
+ ui.item.children('.spftestimonial-cloneable-content').data('retry', true);
899
 
900
  },
901
  update: function( event, ui ) {
902
 
903
+ SPFTESTIMONIAL.helper.name_nested_replace( $wrapper.children('.spftestimonial-cloneable-item'), field_id );
904
+ $wrapper.spftestimonial_customizer_refresh();
905
 
906
  if( is_number ) {
907
  update_title_numbers($wrapper);
910
  },
911
  });
912
 
913
+ $group.children('.spftestimonial-cloneable-add').on('click', function( e ) {
914
 
915
  e.preventDefault();
916
 
917
+ var count = $wrapper.children('.spftestimonial-cloneable-item').length;
918
 
919
  $min.hide();
920
 
925
 
926
  var new_field_id = unique_id + field_id + '['+ count +']';
927
 
928
+ var $cloned_item = $hidden.spftestimonial_clone(true);
929
 
930
+ $cloned_item.removeClass('spftestimonial-cloneable-hidden');
931
 
932
  $cloned_item.find(':input[name!="_pseudo"]').each( function() {
933
  this.name = new_field_id + this.name.replace( ( this.name.startsWith('_nonce') ? '_nonce' : unique_id ), '');
934
  });
935
 
936
+ $cloned_item.find('.spftestimonial-data-wrapper').each( function(){
937
  $(this).attr('data-unique-id', new_field_id );
938
  });
939
 
940
  $wrapper.append($cloned_item);
941
  $wrapper.accordion('refresh');
942
  $wrapper.accordion({active: count});
943
+ $wrapper.spftestimonial_customizer_refresh();
944
+ $wrapper.spftestimonial_customizer_listen({closest: true});
945
 
946
  if( is_number ) {
947
  update_title_numbers($wrapper);
953
 
954
  e.preventDefault();
955
 
956
+ var count = $wrapper.children('.spftestimonial-cloneable-item').length;
957
 
958
  $min.hide();
959
 
964
 
965
  var $this = $(this),
966
  $parent = $this.parent().parent(),
967
+ $cloned_helper = $parent.children('.spftestimonial-cloneable-helper').spftestimonial_clone(true),
968
+ $cloned_title = $parent.children('.spftestimonial-cloneable-title').spftestimonial_clone(),
969
+ $cloned_content = $parent.children('.spftestimonial-cloneable-content').spftestimonial_clone(),
970
+ cloned_regex = new RegExp('('+ SPFTESTIMONIAL.helper.preg_quote(field_id) +')\\[(\\d+)\\]', 'g');
971
 
972
+ $cloned_content.find('.spftestimonial-data-wrapper').each( function(){
973
  var $this = $(this);
974
  $this.attr('data-unique-id', $this.attr('data-unique-id').replace(cloned_regex, field_id +'['+ ($parent.index()+1) +']') );
975
  });
976
 
977
+ var $cloned = $('<div class="spftestimonial-cloneable-item" />');
978
 
979
  $cloned.append($cloned_helper);
980
  $cloned.append($cloned_title);
982
 
983
  $wrapper.children().eq($parent.index()).after($cloned);
984
 
985
+ SPFTESTIMONIAL.helper.name_nested_replace( $wrapper.children('.spftestimonial-cloneable-item'), field_id );
986
 
987
  $wrapper.accordion('refresh');
988
+ $wrapper.spftestimonial_customizer_refresh();
989
+ $wrapper.spftestimonial_customizer_listen({closest: true});
990
 
991
  if( is_number ) {
992
  update_title_numbers($wrapper);
994
 
995
  };
996
 
997
+ $wrapper.children('.spftestimonial-cloneable-item').children('.spftestimonial-cloneable-helper').on('click', '.spftestimonial-cloneable-clone', event_clone);
998
+ $group.children('.spftestimonial-cloneable-hidden').children('.spftestimonial-cloneable-helper').on('click', '.spftestimonial-cloneable-clone', event_clone);
999
 
1000
  var event_remove = function( e ) {
1001
 
1002
  e.preventDefault();
1003
 
1004
+ var count = $wrapper.children('.spftestimonial-cloneable-item').length;
1005
 
1006
  $max.hide();
1007
  $min.hide();
1011
  return;
1012
  }
1013
 
1014
+ $(this).closest('.spftestimonial-cloneable-item').remove();
1015
 
1016
+ SPFTESTIMONIAL.helper.name_nested_replace( $wrapper.children('.spftestimonial-cloneable-item'), field_id );
1017
 
1018
+ $wrapper.spftestimonial_customizer_refresh();
1019
 
1020
  if( is_number ) {
1021
  update_title_numbers($wrapper);
1023
 
1024
  };
1025
 
1026
+ $wrapper.children('.spftestimonial-cloneable-item').children('.spftestimonial-cloneable-helper').on('click', '.spftestimonial-cloneable-remove', event_remove);
1027
+ $group.children('.spftestimonial-cloneable-hidden').children('.spftestimonial-cloneable-helper').on('click', '.spftestimonial-cloneable-remove', event_remove);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1028
 
1029
  });
1030
  };
1032
  //
1033
  // Field: map
1034
  //
1035
+ $.fn.spftestimonial_field_map = function() {
1036
  return this.each( function() {
1037
 
1038
  if( typeof L === 'undefined' ) { return; }
1039
 
1040
  var $this = $(this),
1041
+ $map = $this.find('.spftestimonial--map-osm'),
1042
+ $search_input = $this.find('.spftestimonial--map-search input'),
1043
+ $latitude = $this.find('.spftestimonial--latitude'),
1044
+ $longitude = $this.find('.spftestimonial--longitude'),
1045
+ $zoom = $this.find('.spftestimonial--zoom'),
1046
  map_data = $map.data( 'map' );
1047
 
1048
  var mapInit = L.map( $map.get(0), map_data);
1073
  });
1074
 
1075
  if( ! $search_input.length ) {
1076
+ $search_input = $( '[data-depend-id="'+ $this.find('.spftestimonial--address-field').data( 'address-field' ) +'"]' );
1077
  }
1078
 
1079
  $search_input.autocomplete({
1111
 
1112
  },
1113
  create: function (event, ui) {
1114
+ $(this).autocomplete('widget').addClass('spftestimonial-map-ui-autocomplate');
1115
  }
1116
  });
1117
 
1133
  //
1134
  // Field: media
1135
  //
1136
+ $.fn.spftestimonial_field_media = function() {
1137
  return this.each( function() {
1138
 
1139
  var $this = $(this),
1140
+ $upload_button = $this.find('.spftestimonial--button'),
1141
+ $remove_button = $this.find('.spftestimonial--remove'),
1142
  $library = $upload_button.data('library') && $upload_button.data('library').split(',') || '',
1143
+ $auto_attributes = ( $this.hasClass('spftestimonial-assign-field-background') ) ? $this.closest('.spftestimonial-field-background').find('.spftestimonial--auto-attributes') : false,
1144
  wp_media_frame;
1145
 
1146
  $upload_button.on('click', function( e ) {
1172
  return;
1173
  }
1174
 
1175
+ $this.find('.spftestimonial--id').val( attributes.id );
1176
+ $this.find('.spftestimonial--width').val( attributes.width );
1177
+ $this.find('.spftestimonial--height').val( attributes.height );
1178
+ $this.find('.spftestimonial--alt').val( attributes.alt );
1179
+ $this.find('.spftestimonial--title').val( attributes.title );
1180
+ $this.find('.spftestimonial--description').val( attributes.description );
1181
 
1182
  if( typeof attributes.sizes !== 'undefined' && typeof attributes.sizes.thumbnail !== 'undefined' && preview_size === 'thumbnail' ) {
1183
  thumbnail = attributes.sizes.thumbnail.url;
1188
  }
1189
 
1190
  if( $auto_attributes ) {
1191
+ $auto_attributes.removeClass('spftestimonial--attributes-hidden');
1192
  }
1193
 
1194
  $remove_button.removeClass('hidden');
1195
 
1196
+ $this.find('.spftestimonial--preview').removeClass('hidden');
1197
+ $this.find('.spftestimonial--src').attr('src', thumbnail);
1198
+ $this.find('.spftestimonial--thumbnail').val( thumbnail );
1199
+ $this.find('.spftestimonial--url').val( attributes.url ).trigger('change');
1200
 
1201
  });
1202
 
1209
  e.preventDefault();
1210
 
1211
  if( $auto_attributes ) {
1212
+ $auto_attributes.addClass('spftestimonial--attributes-hidden');
1213
  }
1214
 
1215
  $remove_button.addClass('hidden');
1216
  $this.find('input').val('');
1217
+ $this.find('.spftestimonial--preview').addClass('hidden');
1218
+ $this.find('.spftestimonial--url').trigger('change');
1219
 
1220
  });
1221
 
1226
  //
1227
  // Field: repeater
1228
  //
1229
+ $.fn.spftestimonial_field_repeater = function() {
1230
  return this.each( function() {
1231
 
1232
  var $this = $(this),
1233
+ $fieldset = $this.children('.spftestimonial-fieldset'),
1234
  $repeater = $fieldset.length ? $fieldset : $this,
1235
+ $wrapper = $repeater.children('.spftestimonial-repeater-wrapper'),
1236
+ $hidden = $repeater.children('.spftestimonial-repeater-hidden'),
1237
+ $max = $repeater.children('.spftestimonial-repeater-max'),
1238
+ $min = $repeater.children('.spftestimonial-repeater-min'),
1239
  field_id = $wrapper.data('field-id'),
1240
  unique_id = $wrapper.data('unique-id'),
1241
  max = parseInt( $wrapper.data('max') ),
1242
  min = parseInt( $wrapper.data('min') );
1243
 
1244
 
1245
+ $wrapper.children('.spftestimonial-repeater-item').children('.spftestimonial-repeater-content').spftestimonial_reload_script();
1246
 
1247
  $wrapper.sortable({
1248
  axis: 'y',
1249
+ handle: '.spftestimonial-repeater-sort',
1250
  helper: 'original',
1251
  cursor: 'move',
1252
  placeholder: 'widget-placeholder',
1253
  update: function( event, ui ) {
1254
 
1255
+ SPFTESTIMONIAL.helper.name_nested_replace( $wrapper.children('.spftestimonial-repeater-item'), field_id );
1256
+ $wrapper.spftestimonial_customizer_refresh();
1257
+ ui.item.spftestimonial_reload_script_retry();
1258
 
1259
  }
1260
  });
1261
 
1262
+ $repeater.children('.spftestimonial-repeater-add').on('click', function( e ) {
1263
 
1264
  e.preventDefault();
1265
 
1266
+ var count = $wrapper.children('.spftestimonial-repeater-item').length;
1267
 
1268
  $min.hide();
1269
 
1274
 
1275
  var new_field_id = unique_id + field_id + '['+ count +']';
1276
 
1277
+ var $cloned_item = $hidden.spftestimonial_clone(true);
1278
 
1279
+ $cloned_item.removeClass('spftestimonial-repeater-hidden');
1280
 
1281
  $cloned_item.find(':input[name!="_pseudo"]').each( function() {
1282
  this.name = new_field_id + this.name.replace( ( this.name.startsWith('_nonce') ? '_nonce' : unique_id ), '');
1283
  });
1284
 
1285
+ $cloned_item.find('.spftestimonial-data-wrapper').each( function(){
1286
  $(this).attr('data-unique-id', new_field_id );
1287
  });
1288
 
1289
  $wrapper.append($cloned_item);
1290
+ $cloned_item.children('.spftestimonial-repeater-content').spftestimonial_reload_script();
1291
+ $wrapper.spftestimonial_customizer_refresh();
1292
+ $wrapper.spftestimonial_customizer_listen({closest: true});
1293
 
1294
  });
1295
 
1297
 
1298
  e.preventDefault();
1299
 
1300
+ var count = $wrapper.children('.spftestimonial-repeater-item').length;
1301
 
1302
  $min.hide();
1303
 
1308
 
1309
  var $this = $(this),
1310
  $parent = $this.parent().parent().parent(),
1311
+ $cloned_content = $parent.children('.spftestimonial-repeater-content').spftestimonial_clone(),
1312
+ $cloned_helper = $parent.children('.spftestimonial-repeater-helper').spftestimonial_clone(true),
1313
+ cloned_regex = new RegExp('('+ SPFTESTIMONIAL.helper.preg_quote(field_id) +')\\[(\\d+)\\]', 'g');
1314
 
1315
+ $cloned_content.find('.spftestimonial-data-wrapper').each( function(){
1316
  var $this = $(this);
1317
  $this.attr('data-unique-id', $this.attr('data-unique-id').replace(cloned_regex, field_id +'['+ ($parent.index()+1) +']') );
1318
  });
1319
 
1320
+ var $cloned = $('<div class="spftestimonial-repeater-item" />');
1321
 
1322
  $cloned.append($cloned_content);
1323
  $cloned.append($cloned_helper);
1324
 
1325
  $wrapper.children().eq($parent.index()).after($cloned);
1326
 
1327
+ $cloned.children('.spftestimonial-repeater-content').spftestimonial_reload_script();
1328
 
1329
+ SPFTESTIMONIAL.helper.name_nested_replace( $wrapper.children('.spftestimonial-repeater-item'), field_id );
1330
 
1331
+ $wrapper.spftestimonial_customizer_refresh();
1332
+ $wrapper.spftestimonial_customizer_listen({closest: true});
1333
 
1334
  };
1335
 
1336
+ $wrapper.children('.spftestimonial-repeater-item').children('.spftestimonial-repeater-helper').on('click', '.spftestimonial-repeater-clone', event_clone);
1337
+ $repeater.children('.spftestimonial-repeater-hidden').children('.spftestimonial-repeater-helper').on('click', '.spftestimonial-repeater-clone', event_clone);
1338
 
1339
  var event_remove = function( e ) {
1340
 
1341
  e.preventDefault();
1342
 
1343
+ var count = $wrapper.children('.spftestimonial-repeater-item').length;
1344
 
1345
  $max.hide();
1346
  $min.hide();
1350
  return;
1351
  }
1352
 
1353
+ $(this).closest('.spftestimonial-repeater-item').remove();
1354
 
1355
+ SPFTESTIMONIAL.helper.name_nested_replace( $wrapper.children('.spftestimonial-repeater-item'), field_id );
1356
 
1357
+ $wrapper.spftestimonial_customizer_refresh();
1358
 
1359
  };
1360
 
1361
+ $wrapper.children('.spftestimonial-repeater-item').children('.spftestimonial-repeater-helper').on('click', '.spftestimonial-repeater-remove', event_remove);
1362
+ $repeater.children('.spftestimonial-repeater-hidden').children('.spftestimonial-repeater-helper').on('click', '.spftestimonial-repeater-remove', event_remove);
1363
 
1364
  });
1365
  };
1367
  //
1368
  // Field: slider
1369
  //
1370
+ $.fn.spftestimonial_field_slider = function() {
1371
  return this.each( function() {
1372
 
1373
  var $this = $(this),
1374
  $input = $this.find('input'),
1375
+ $slider = $this.find('.spftestimonial-slider-ui'),
1376
  data = $input.data(),
1377
  value = $input.val() || 0;
1378
 
1401
  //
1402
  // Field: sortable
1403
  //
1404
+ $.fn.spftestimonial_field_sortable = function() {
1405
  return this.each( function() {
1406
 
1407
+ var $sortable = $(this).find('.spftestimonial--sortable');
1408
 
1409
  $sortable.sortable({
1410
  axis: 'y',
1412
  cursor: 'move',
1413
  placeholder: 'widget-placeholder',
1414
  update: function( event, ui ) {
1415
+ $sortable.spftestimonial_customizer_refresh();
1416
  }
1417
  });
1418
 
1419
+ $sortable.find('.spftestimonial--sortable-content').spftestimonial_reload_script();
1420
 
1421
  });
1422
  };
1424
  //
1425
  // Field: sorter
1426
  //
1427
+ $.fn.spftestimonial_field_sorter = function() {
1428
  return this.each( function() {
1429
 
1430
  var $this = $(this),
1431
+ $enabled = $this.find('.spftestimonial-enabled'),
1432
+ $has_disabled = $this.find('.spftestimonial-disabled'),
1433
  $disabled = ( $has_disabled.length ) ? $has_disabled : false;
1434
 
1435
  $enabled.sortable({
1439
 
1440
  var $el = ui.item.find('input');
1441
 
1442
+ if( ui.item.parent().hasClass('spftestimonial-enabled') ) {
1443
  $el.attr('name', $el.attr('name').replace('disabled', 'enabled'));
1444
  } else {
1445
  $el.attr('name', $el.attr('name').replace('enabled', 'disabled'));
1446
  }
1447
 
1448
+ $this.spftestimonial_customizer_refresh();
1449
 
1450
  }
1451
  });
1456
  connectWith: $enabled,
1457
  placeholder: 'ui-sortable-placeholder',
1458
  update: function( event, ui ) {
1459
+ $this.spftestimonial_customizer_refresh();
1460
  }
1461
  });
1462
 
1468
  //
1469
  // Field: spinner
1470
  //
1471
+ $.fn.spftestimonial_field_spinner = function() {
1472
  return this.each( function() {
1473
 
1474
  var $this = $(this),
1486
  step: $input.data('step') || 1,
1487
  create: function( event, ui ) {
1488
  if( $unit.length ) {
1489
+ $this.find('.ui-spinner-up').after('<span class="ui-button-text-only spftestimonial--unit">'+ $unit +'</span>');
1490
  }
1491
  },
1492
  spin: function (event, ui ) {
1500
  //
1501
  // Field: switcher
1502
  //
1503
+ $.fn.spftestimonial_field_switcher = function() {
1504
  return this.each( function() {
1505
 
1506
+ var $switcher = $(this).find('.spftestimonial--switcher');
1507
 
1508
  $switcher.on('click', function() {
1509
 
1510
  var value = 0;
1511
  var $input = $switcher.find('input');
1512
 
1513
+ if( $switcher.hasClass('spftestimonial--active') ) {
1514
+ $switcher.removeClass('spftestimonial--active');
1515
  } else {
1516
  value = 1;
1517
+ $switcher.addClass('spftestimonial--active');
1518
  }
1519
 
1520
  $input.val(value).trigger('change');
1527
  //
1528
  // Field: tabbed
1529
  //
1530
+ $.fn.spftestimonial_field_tabbed = function() {
1531
  return this.each( function() {
1532
 
1533
  var $this = $(this),
1534
+ $links = $this.find('.spftestimonial-tabbed-nav a'),
1535
+ $sections = $this.find('.spftestimonial-tabbed-section');
1536
 
1537
+ $sections.eq(0).spftestimonial_reload_script();
1538
 
1539
  $links.on( 'click', function( e ) {
1540
 
1544
  index = $link.index(),
1545
  $section = $sections.eq(index);
1546
 
1547
+ $link.addClass('spftestimonial-tabbed-active').siblings().removeClass('spftestimonial-tabbed-active');
1548
+ $section.spftestimonial_reload_script();
1549
  $section.removeClass('hidden').siblings().addClass('hidden');
1550
 
1551
  });
1556
  //
1557
  // Field: typography
1558
  //
1559
+ $.fn.spftestimonial_field_typography = function() {
1560
  return this.each(function () {
1561
 
1562
  var base = this;
1563
  var $this = $(this);
1564
  var loaded_fonts = [];
1565
+ var webfonts = spftestimonial_typography_json.webfonts;
1566
+ var googlestyles = spftestimonial_typography_json.googlestyles;
1567
+ var defaultstyles = spftestimonial_typography_json.defaultstyles;
1568
 
1569
  //
1570
  //
1637
 
1638
  });
1639
 
1640
+ $select.append(opts).trigger('spftestimonial.change').trigger('chosen:updated');
1641
 
1642
  };
1643
 
1647
  //
1648
  // Constants
1649
  var selected_styles = [];
1650
+ var $typography = $this.find('.spftestimonial--typography');
1651
+ var $type = $this.find('.spftestimonial--type');
1652
+ var $styles = $this.find('.spftestimonial--block-font-style');
1653
  var unit = $typography.data('unit');
1654
  var exclude_fonts = $typography.data('exclude') ? $typography.data('exclude').split(',') : [];
1655
 
1656
  //
1657
  //
1658
  // Chosen init
1659
+ if( $this.find('.spftestimonial--chosen').length ) {
1660
 
1661
  var $chosen_selects = $this.find('select');
1662
 
1682
  //
1683
  //
1684
  // Font family select
1685
+ var $font_family_select = $this.find('.spftestimonial--font-family');
1686
  var first_font_family = $font_family_select.val();
1687
 
1688
  // Clear default font family select options
1716
  //
1717
  //
1718
  // Font style select
1719
+ var $font_style_block = $this.find('.spftestimonial--block-font-style');
1720
 
1721
  if( $font_style_block.length ) {
1722
 
1723
+ var $font_style_select = $this.find('.spftestimonial--font-style-select');
1724
  var first_style_value = $font_style_select.val() ? $font_style_select.val().replace(/normal/g, '' ) : '';
1725
 
1726
  //
1727
  // Font Style on on change listener
1728
+ $font_style_select.on('change spftestimonial.change', function( event ) {
1729
 
1730
  var style_value = $font_style_select.val();
1731
 
1739
  var font_weight = ( style_value && style_value !== 'italic' && style_value !== 'normal' ) ? style_value.replace('italic', '') : font_normal;
1740
  var font_style = ( style_value && style_value.substr(-6) === 'italic' ) ? 'italic' : '';
1741
 
1742
+ $this.find('.spftestimonial--font-weight').val( font_weight );
1743
+ $this.find('.spftestimonial--font-style').val( font_style );
1744
 
1745
  });
1746
 
1747
  //
1748
  //
1749
  // Extra font style select
1750
+ var $extra_font_style_block = $this.find('.spftestimonial--block-extra-styles');
1751
 
1752
  if( $extra_font_style_block.length ) {
1753
+ var $extra_font_style_select = $this.find('.spftestimonial--extra-styles');
1754
  var first_extra_style_value = $extra_font_style_select.val();
1755
  }
1756
 
1759
  //
1760
  //
1761
  // Subsets select
1762
+ var $subset_block = $this.find('.spftestimonial--block-subset');
1763
  if( $subset_block.length ) {
1764
+ var $subset_select = $this.find('.spftestimonial--subset');
1765
  var first_subset_select_value = $subset_select.val();
1766
  var subset_multi_select = $subset_select.data('multiple') || false;
1767
  }
1769
  //
1770
  //
1771
  // Backup font family
1772
+ var $backup_font_family_block = $this.find('.spftestimonial--block-backup-font-family');
1773
 
1774
  //
1775
  //
1776
  // Font Family on Change Listener
1777
+ $font_family_select.on('change spftestimonial.change', function( event ) {
1778
 
1779
  // Hide subsets on change
1780
  if( $subset_block.length ) {
1886
  // Update font type input value
1887
  $type.val(type);
1888
 
1889
+ }).trigger('spftestimonial.change');
1890
 
1891
  //
1892
  //
1893
  // Preview
1894
+ var $preview_block = $this.find('.spftestimonial--block-preview');
1895
 
1896
  if( $preview_block.length ) {
1897
 
1898
+ var $preview = $this.find('.spftestimonial--preview');
1899
 
1900
  // Set preview styles on change
1901
+ $this.on('change', SPFTESTIMONIAL.helper.debounce( function( event ) {
1902
 
1903
  $preview_block.removeClass('hidden');
1904
 
1905
  var font_family = $font_family_select.val(),
1906
+ font_weight = $this.find('.spftestimonial--font-weight').val(),
1907
+ font_style = $this.find('.spftestimonial--font-style').val(),
1908
+ font_size = $this.find('.spftestimonial--font-size').val(),
1909
+ font_variant = $this.find('.spftestimonial--font-variant').val(),
1910
+ line_height = $this.find('.spftestimonial--line-height').val(),
1911
+ text_align = $this.find('.spftestimonial--text-align').val(),
1912
+ text_transform = $this.find('.spftestimonial--text-transform').val(),
1913
+ text_decoration = $this.find('.spftestimonial--text-decoration').val(),
1914
+ text_color = $this.find('.spftestimonial--color').val(),
1915
+ word_spacing = $this.find('.spftestimonial--word-spacing').val(),
1916
+ letter_spacing = $this.find('.spftestimonial--letter-spacing').val(),
1917
+ custom_style = $this.find('.spftestimonial--custom-style').val(),
1918
+ type = $this.find('.spftestimonial--type').val();
1919
 
1920
  if( type === 'google' ) {
1921
  base.load_google_font(font_family, font_weight, font_style);
1948
  // Preview black and white backgrounds trigger
1949
  $preview_block.on('click', function() {
1950
 
1951
+ $preview.toggleClass('spftestimonial--black-background');
1952
 
1953
+ var $toggle = $preview_block.find('.spftestimonial--toggle');
1954
 
1955
  if( $toggle.hasClass('fa-toggle-off') ) {
1956
  $toggle.removeClass('fa-toggle-off').addClass('fa-toggle-on');
1976
  //
1977
  // Field: upload
1978
  //
1979
+ $.fn.spftestimonial_field_upload = function() {
1980
  return this.each( function() {
1981
 
1982
  var $this = $(this),
1983
  $input = $this.find('input'),
1984
+ $upload_button = $this.find('.spftestimonial--button'),
1985
+ $remove_button = $this.find('.spftestimonial--remove'),
1986
  $library = $upload_button.data('library') && $upload_button.data('library').split(',') || '',
1987
  wp_media_frame;
1988
 
2041
  //
2042
  // Field: wp_editor
2043
  //
2044
+ $.fn.spftestimonial_field_wp_editor = function() {
2045
  return this.each( function() {
2046
 
2047
+ if( typeof window.wp.editor === 'undefined' || typeof window.tinyMCEPreInit === 'undefined' || typeof window.tinyMCEPreInit.mceInit.spftestimonial_wp_editor === 'undefined' ) {
2048
  return;
2049
  }
2050
 
2051
  var $this = $(this),
2052
+ $editor = $this.find('.spftestimonial-wp-editor'),
2053
  $textarea = $this.find('textarea');
2054
 
2055
  // If there is wp-editor remove it for avoid dupliated wp-editor conflicts.
2062
  }
2063
 
2064
  // Generate a unique id
2065
+ var uid = SPFTESTIMONIAL.helper.uid('spftestimonial-editor-');
2066
 
2067
  $textarea.attr('id', uid);
2068
 
2069
  // Get default editor settings
2070
  var default_editor_settings = {
2071
+ tinymce: window.tinyMCEPreInit.mceInit.spftestimonial_wp_editor,
2072
+ quicktags: window.tinyMCEPreInit.qtInit.spftestimonial_wp_editor
2073
  };
2074
 
2075
  // Get default editor settings
2077
 
2078
  // Add on change event handle
2079
  var editor_on_change = function( editor ) {
2080
+ editor.on('change', SPFTESTIMONIAL.helper.debounce( function() {
2081
  editor.save();
2082
  $textarea.trigger('change');
2083
  }, 250 ) );
2098
  // Override editor tinymce settings
2099
  if( field_editor_settings.tinymce === false ) {
2100
  default_editor_settings.tinymce = false;
2101
+ $editor.addClass('spftestimonial-no-tinymce');
2102
  }
2103
 
2104
  // Override editor quicktags settings
2105
  if( field_editor_settings.quicktags === false ) {
2106
  default_editor_settings.quicktags = false;
2107
+ $editor.addClass('spftestimonial-no-quicktags');
2108
  }
2109
 
2110
  // Wait until :visible
2116
  });
2117
 
2118
  // Add Media buttons
2119
+ if( field_editor_settings.media_buttons && window.spftestimonial_media_buttons ) {
2120
 
2121
  var $editor_buttons = $editor.find('.wp-media-buttons');
2122
 
2123
  if( $editor_buttons.length ) {
2124
 
2125
+ $editor_buttons.find('.spftestimonial-shortcode-button').data('editor-id', uid);
2126
 
2127
  } else {
2128
 
2129
+ var $media_buttons = $(window.spftestimonial_media_buttons);
2130
 
2131
+ $media_buttons.find('.spftestimonial-shortcode-button').data('editor-id', uid);
2132
 
2133
  $editor.prepend( $media_buttons );
2134
 
2143
  //
2144
  // Confirm
2145
  //
2146
+ $.fn.spftestimonial_confirm = function() {
2147
  return this.each( function() {
2148
  $(this).on('click', function( e ) {
2149
 
2150
+ var confirm_text = $(this).data('confirm') || window.spftestimonial_vars.i18n.confirm;
2151
  var confirm_answer = confirm( confirm_text );
2152
+ SPFTESTIMONIAL.vars.is_confirm = true;
2153
 
2154
  if( !confirm_answer ) {
2155
  e.preventDefault();
2156
+ SPFTESTIMONIAL.vars.is_confirm = false;
2157
  return false;
2158
  }
2159
 
2181
  //
2182
  // Options Save
2183
  //
2184
+ $.fn.spftestimonial_save = function() {
2185
  return this.each( function() {
2186
 
2187
  var $this = $(this),
2188
+ $buttons = $('.spftestimonial-save'),
2189
+ $panel = $('.spftestimonial-options'),
2190
  flooding = false,
2191
  timeout;
2192
 
2199
 
2200
  $buttons.attr('value', $text);
2201
 
2202
+ if( $this.hasClass('spftestimonial-save-ajax') ) {
2203
 
2204
  e.preventDefault();
2205
 
2206
+ $panel.addClass('spftestimonial-saving');
2207
  $buttons.prop('disabled', true);
2208
 
2209
+ window.wp.ajax.post( 'spftestimonial_'+ $panel.data('unique') +'_ajax_save', {
2210
+ data: $('#spftestimonial-form').serializeJSONSPFTESTIMONIAL()
2211
  })
2212
  .done( function( response ) {
2213
 
2214
  // clear errors
2215
+ $('.spftestimonial-error').remove();
2216
 
2217
  if( Object.keys( response.errors ).length ) {
2218
 
2219
+ var error_icon = '<i class="spftestimonial-label-error spftestimonial-error">!</i>';
2220
 
2221
  $.each(response.errors, function( key, error_message ) {
2222
 
2223
  var $field = $('[data-depend-id="'+ key +'"]'),
2224
+ $link = $('#spftestimonial-tab-link-'+ ($field.closest('.spftestimonial-section').index()+1)),
2225
+ $tab = $link.closest('.spftestimonial-tab-depth-0');
2226
 
2227
+ $field.closest('.spftestimonial-fieldset').append( '<p class="spftestimonial-text-error spftestimonial-error">'+ error_message +'</p>' );
2228
 
2229
+ if( !$link.find('.spftestimonial-error').length ) {
2230
  $link.append( error_icon );
2231
  }
2232
 
2233
+ if( !$tab.find('.spftestimonial-arrow .spftestimonial-error').length ) {
2234
+ $tab.find('.spftestimonial-arrow').append( error_icon );
2235
  }
2236
 
2237
  console.log(error_message);
2240
 
2241
  }
2242
 
2243
+ $panel.removeClass('spftestimonial-saving');
2244
  $buttons.prop('disabled', false).attr('value', $value);
2245
  flooding = false;
2246
 
2247
+ SPFTESTIMONIAL.vars.form_modified = false;
2248
+ SPFTESTIMONIAL.vars.$form_warning.hide();
2249
 
2250
  clearTimeout(timeout);
2251
 
2252
+ var $result_success = $('.spftestimonial-form-success');
2253
  $result_success.empty().append(response.notice).fadeIn('fast', function() {
2254
  timeout = setTimeout( function() {
2255
  $result_success.fadeOut('fast');
2275
  //
2276
  // Option Framework
2277
  //
2278
+ $.fn.spftestimonial_options = function() {
2279
  return this.each( function() {
2280
 
2281
  var $this = $(this),
2282
+ $content = $this.find('.spftestimonial-content'),
2283
+ $form_success = $this.find('.spftestimonial-form-success'),
2284
+ $form_warning = $this.find('.spftestimonial-form-warning'),
2285
+ $save_button = $this.find('.spftestimonial-header .spftestimonial-save');
2286
 
2287
+ SPFTESTIMONIAL.vars.$form_warning = $form_warning;
2288
 
2289
  // Shows a message white leaving theme options without saving
2290
  if( $form_warning.length ) {
2291
 
2292
  window.onbeforeunload = function() {
2293
+ return ( SPFTESTIMONIAL.vars.form_modified ) ? true : undefined;
2294
  };
2295
 
2296
  $content.on('change keypress', ':input', function() {
2297
+ if( !SPFTESTIMONIAL.vars.form_modified ) {
2298
  $form_success.hide();
2299
  $form_warning.fadeIn('fast');
2300
+ SPFTESTIMONIAL.vars.form_modified = true;
2301
  }
2302
  });
2303
 
2304
  }
2305
 
2306
+ if( $form_success.hasClass('spftestimonial-form-show') ) {
2307
  setTimeout( function() {
2308
  $form_success.fadeOut('fast');
2309
  }, 1000);
2320
  });
2321
  };
2322
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2323
  //
2324
  // WP Color Picker
2325
  //
2347
 
2348
  }
2349
 
2350
+ SPFTESTIMONIAL.funcs.parse_color = function( color ) {
2351
 
2352
  var value = color.replace(/\s+/g, ''),
2353
  trans = ( value.indexOf('rgba') !== -1 ) ? parseFloat( value.replace(/^.*,(.+)\)/, '$1') * 100 ) : 100,
2357
 
2358
  };
2359
 
2360
+ $.fn.spftestimonial_color = function() {
2361
  return this.each( function() {
2362
 
2363
  var $input = $(this),
2364
+ picker_color = SPFTESTIMONIAL.funcs.parse_color( $input.val() ),
2365
+ palette_color = window.spftestimonial_vars.color_palette.length ? window.spftestimonial_vars.color_palette : true,
2366
  $container;
2367
 
2368
  // Destroy and Reinit
2376
 
2377
  var ui_color_value = ui.color.toString();
2378
 
2379
+ $container.removeClass('spftestimonial--transparent-active');
2380
+ $container.find('.spftestimonial--transparent-offset').css('background-color', ui_color_value);
2381
  $input.val(ui_color_value).trigger('change');
2382
 
2383
  },
2386
  $container = $input.closest('.wp-picker-container');
2387
 
2388
  var a8cIris = $input.data('a8cIris'),
2389
+ $transparent_wrap = $('<div class="spftestimonial--transparent-wrap">' +
2390
+ '<div class="spftestimonial--transparent-slider"></div>' +
2391
+ '<div class="spftestimonial--transparent-offset"></div>' +
2392
+ '<div class="spftestimonial--transparent-text"></div>' +
2393
+ '<div class="spftestimonial--transparent-button">transparent <i class="fa fa-toggle-off"></i></div>' +
2394
  '</div>').appendTo( $container.find('.wp-picker-holder') ),
2395
+ $transparent_slider = $transparent_wrap.find('.spftestimonial--transparent-slider'),
2396
+ $transparent_text = $transparent_wrap.find('.spftestimonial--transparent-text'),
2397
+ $transparent_offset = $transparent_wrap.find('.spftestimonial--transparent-offset'),
2398
+ $transparent_button = $transparent_wrap.find('.spftestimonial--transparent-button');
2399
 
2400
  if( $input.val() === 'transparent' ) {
2401
+ $container.addClass('spftestimonial--transparent-active');
2402
  }
2403
 
2404
  $transparent_button.on('click', function() {
2405
  if( $input.val() !== 'transparent' ) {
2406
  $input.val('transparent').trigger('change').removeClass('iris-error');
2407
+ $container.addClass('spftestimonial--transparent-active');
2408
  } else {
2409
  $input.val( a8cIris._color.toString() ).trigger('change');
2410
+ $container.removeClass('spftestimonial--transparent-active');
2411
  }
2412
  });
2413
 
2437
  a8cIris._color._alpha = 1;
2438
  $transparent_text.text('');
2439
  $transparent_slider.slider('option', 'value', 100);
2440
+ $container.removeClass('spftestimonial--transparent-active');
2441
  $input.trigger('change');
2442
 
2443
  });
2444
 
2445
  $container.on('click', '.wp-picker-default', function() {
2446
 
2447
+ var default_color = SPFTESTIMONIAL.funcs.parse_color( $input.data('default-color') ),
2448
  default_value = parseFloat( default_color.transparent / 100 ),
2449
  default_text = default_value < 1 ? default_value : '';
2450
 
2465
  //
2466
  // ChosenJS
2467
  //
2468
+ $.fn.spftestimonial_chosen = function() {
2469
  return this.each( function() {
2470
 
2471
  var $this = $(this),
2472
  $inited = $this.parent().find('.chosen-container'),
2473
+ is_sortable = $this.hasClass('spftestimonial-chosen-sortable') || false,
2474
+ is_ajax = $this.hasClass('spftestimonial-chosen-ajax') || false,
2475
  is_multiple = $this.attr('multiple') || false,
2476
  set_width = is_multiple ? '100%' : 'auto',
2477
  set_options = $.extend({
2478
  allow_single_deselect: true,
2479
  disable_search_threshold: 10,
2480
  width: set_width,
2481
+ no_results_text: window.spftestimonial_vars.i18n.no_results_text,
2482
  }, $this.data('chosen-settings'));
2483
 
2484
  if( $inited.length ) {
2498
  width: '100%',
2499
  min_length: 3,
2500
  type_delay: 500,
2501
+ typing_text: window.spftestimonial_vars.i18n.typing_text,
2502
+ searching_text: window.spftestimonial_vars.i18n.searching_text,
2503
+ no_results_text: window.spftestimonial_vars.i18n.no_results_text,
2504
  }, $this.data('chosen-settings'));
2505
 
2506
+ $this.SPFTESTIMONIALAjaxChosen(set_ajax_options);
2507
 
2508
  } else {
2509
 
2514
  // Chosen keep options order
2515
  if( is_multiple ) {
2516
 
2517
+ var $hidden_select = $this.parent().find('.spftestimonial-hidden-select');
2518
  var $hidden_value = $hidden_select.val() || [];
2519
 
2520
  $this.on('change', function(obj, result) {
2535
  });
2536
 
2537
  // Chosen order abstract
2538
+ $this.SPFTESTIMONIALChosenOrder($hidden_value, true);
2539
 
2540
  }
2541
 
2564
 
2565
  var select_options = '';
2566
  var chosen_object = $this.data('chosen');
2567
+ var $prev_select = $this.parent().find('.spftestimonial-hidden-select');
2568
 
2569
  $chosen_choices.find('.search-choice-close').each( function() {
2570
  var option_array_index = $(this).data('option-array-index');
2590
  //
2591
  // Helper Checkbox Checker
2592
  //
2593
+ $.fn.spftestimonial_checkbox = function() {
2594
  return this.each( function() {
2595
 
2596
  var $this = $(this),
2597
+ $input = $this.find('.spftestimonial--input'),
2598
+ $checkbox = $this.find('.spftestimonial--checkbox');
2599
 
2600
  $checkbox.on('click', function() {
2601
  $input.val( Number( $checkbox.prop('checked') ) ).trigger('change');
2607
  //
2608
  // Siblings
2609
  //
2610
+ $.fn.spftestimonial_siblings = function() {
2611
  return this.each( function() {
2612
 
2613
  var $this = $(this),
2614
+ $siblings = $this.find('.spftestimonial--sibling'),
2615
  multiple = $this.data('multiple') || false;
2616
 
2617
  $siblings.on('click', function() {
2620
 
2621
  if( multiple ) {
2622
 
2623
+ if( $sibling.hasClass('spftestimonial--active') ) {
2624
+ $sibling.removeClass('spftestimonial--active');
2625
  $sibling.find('input').prop('checked', false).trigger('change');
2626
  } else {
2627
+ $sibling.addClass('spftestimonial--active');
2628
  $sibling.find('input').prop('checked', true).trigger('change');
2629
  }
2630
 
2632
 
2633
  $this.find('input').prop('checked', false);
2634
  $sibling.find('input').prop('checked', true).trigger('change');
2635
+ $sibling.addClass('spftestimonial--active').siblings().removeClass('spftestimonial--active');
2636
 
2637
  }
2638
 
2644
  //
2645
  // Help Tooltip
2646
  //
2647
+ $.fn.spftestimonial_help = function() {
2648
  return this.each( function() {
2649
 
2650
  var $this = $(this),
2654
  $this.on({
2655
  mouseenter: function() {
2656
 
2657
+ $tooltip = $( '<div class="spftestimonial-tooltip"></div>' ).html( $this.find('.spftestimonial-help-text').html() ).appendTo('body');
2658
+ offset_left = ( SPFTESTIMONIAL.vars.is_rtl ) ? ( $this.offset().left + 24 ) : ( $this.offset().left - $tooltip.outerWidth() );
2659
 
2660
  $tooltip.css({
2661
  top: $this.offset().top - ( ( $tooltip.outerHeight() / 2 ) - 14 ),
2679
  //
2680
  // Customize Refresh
2681
  //
2682
+ $.fn.spftestimonial_customizer_refresh = function() {
2683
  return this.each( function() {
2684
 
2685
  var $this = $(this),
2686
+ $complex = $this.closest('.spftestimonial-customize-complex');
2687
 
2688
  if( $complex.length ) {
2689
 
2690
  var $input = $complex.find(':input'),
2691
  $unique = $complex.data('unique-id'),
2692
  $option = $complex.data('option-id'),
2693
+ obj = $input.serializeObjectSPFTESTIMONIAL(),
2694
  data = ( !$.isEmptyObject(obj) ) ? obj[$unique][$option] : '',
2695
  control = window.wp.customize.control($unique +'['+ $option +']');
2696
 
2705
 
2706
  }
2707
 
2708
+ $(document).trigger('spftestimonial-customizer-refresh', $this);
2709
 
2710
  });
2711
  };
2713
  //
2714
  // Customize Listen Form Elements
2715
  //
2716
+ $.fn.spftestimonial_customizer_listen = function( options ) {
2717
 
2718
  var settings = $.extend({
2719
  closest: false,
2723
 
2724
  if( window.wp.customize === undefined ) { return; }
2725
 
2726
+ var $this = ( settings.closest ) ? $(this).closest('.spftestimonial-customize-complex') : $(this),
2727
  $input = $this.find(':input'),
2728
  unique_id = $this.data('unique-id'),
2729
  option_id = $this.data('option-id');
2730
 
2731
  if( unique_id === undefined ) { return; }
2732
 
2733
+ $input.on('change keyup', SPFTESTIMONIAL.helper.debounce( function() {
2734
 
2735
+ var obj = $this.find(':input').serializeObjectSPFTESTIMONIAL();
2736
  var val = ( !$.isEmptyObject(obj) && obj[unique_id] && obj[unique_id][option_id] ) ? obj[unique_id][option_id] : '';
2737
 
2738
  window.wp.customize.control( unique_id +'['+ option_id +']' ).setting.set( val );
2751
 
2752
  if( $this.hasClass('open') && !$this.data('inited') ) {
2753
 
2754
+ var $fields = $this.find('.spftestimonial-customize-field');
2755
+ var $complex = $this.find('.spftestimonial-customize-complex');
2756
 
2757
  if( $fields.length ) {
2758
+ $this.spftestimonial_dependency();
2759
+ $fields.spftestimonial_reload_script({dependency: false});
2760
+ $complex.spftestimonial_customizer_listen();
2761
  }
2762
 
2763
  $this.data('inited', true);
2769
  //
2770
  // Window on resize
2771
  //
2772
+ SPFTESTIMONIAL.vars.$window.on('resize spftestimonial.resize', SPFTESTIMONIAL.helper.debounce( function( event ) {
2773
 
2774
+ var window_width = navigator.userAgent.indexOf('AppleWebKit/') > -1 ? SPFTESTIMONIAL.vars.$window.width() : window.innerWidth;
2775
 
2776
+ if( window_width <= 782 && !SPFTESTIMONIAL.vars.onloaded ) {
2777
+ $('.spftestimonial-section').spftestimonial_reload_script();
2778
+ SPFTESTIMONIAL.vars.onloaded = true;
2779
  }
2780
 
2781
+ }, 200)).trigger('spftestimonial.resize');
2782
 
2783
  //
2784
  // Widgets Framework
2785
  //
2786
+ $.fn.spftestimonial_widgets = function() {
2787
  if( this.length ) {
2788
 
2789
  $(document).on('widget-added widget-updated', function( event, $widget ) {
2790
+ $widget.find('.spftestimonial-fields').spftestimonial_reload_script();
2791
  });
2792
 
2793
  $('.widgets-sortables, .control-section-sidebar').on('sortstop', function( event, ui ) {
2794
+ ui.item.find('.spftestimonial-fields').spftestimonial_reload_script_retry();
2795
  });
2796
 
2797
  $(document).on('click', '.widget-top', function( event ) {
2798
+ $(this).parent().find('.spftestimonial-fields').spftestimonial_reload_script();
2799
  });
2800
 
2801
  }
2804
  //
2805
  // Retry Plugins
2806
  //
2807
+ $.fn.spftestimonial_reload_script_retry = function() {
2808
  return this.each( function() {
2809
 
2810
  var $this = $(this);
2811
 
2812
  if( $this.data('inited') ) {
2813
+ $this.children('.spftestimonial-field-wp_editor').spftestimonial_field_wp_editor();
2814
  }
2815
 
2816
  });
2819
  //
2820
  // Reload Plugins
2821
  //
2822
+ $.fn.spftestimonial_reload_script = function( options ) {
2823
 
2824
  var settings = $.extend({
2825
  dependency: true,
2833
  if( !$this.data('inited') ) {
2834
 
2835
  // Field plugins
2836
+ $this.children('.spftestimonial-field-accordion').spftestimonial_field_accordion();
2837
+ $this.children('.spftestimonial-field-backup').spftestimonial_field_backup();
2838
+ $this.children('.spftestimonial-field-background').spftestimonial_field_background();
2839
+ $this.children('.spftestimonial-field-code_editor').spftestimonial_field_code_editor();
2840
+ $this.children('.spftestimonial-field-date').spftestimonial_field_date();
2841
+ $this.children('.spftestimonial-field-fieldset').spftestimonial_field_fieldset();
2842
+ $this.children('.spftestimonial-field-gallery').spftestimonial_field_gallery();
2843
+ $this.children('.spftestimonial-field-group').spftestimonial_field_group();
2844
+ $this.children('.spftestimonial-field-media').spftestimonial_field_media();
2845
+ $this.children('.spftestimonial-field-map').spftestimonial_field_map();
2846
+ $this.children('.spftestimonial-field-repeater').spftestimonial_field_repeater();
2847
+ $this.children('.spftestimonial-field-slider').spftestimonial_field_slider();
2848
+ $this.children('.spftestimonial-field-sortable').spftestimonial_field_sortable();
2849
+ $this.children('.spftestimonial-field-sorter').spftestimonial_field_sorter();
2850
+ $this.children('.spftestimonial-field-spinner').spftestimonial_field_spinner();
2851
+ $this.children('.spftestimonial-field-switcher').spftestimonial_field_switcher();
2852
+ $this.children('.spftestimonial-field-tabbed').spftestimonial_field_tabbed();
2853
+ $this.children('.spftestimonial-field-typography').spftestimonial_field_typography();
2854
+ $this.children('.spftestimonial-field-upload').spftestimonial_field_upload();
2855
+ $this.children('.spftestimonial-field-wp_editor').spftestimonial_field_wp_editor();
 
2856
 
2857
  // Field colors
2858
+ $this.children('.spftestimonial-field-border').find('.spftestimonial-color').spftestimonial_color();
2859
+ $this.children('.spftestimonial-field-background').find('.spftestimonial-color').spftestimonial_color();
2860
+ $this.children('.spftestimonial-field-color').find('.spftestimonial-color').spftestimonial_color();
2861
+ $this.children('.spftestimonial-field-color_group').find('.spftestimonial-color').spftestimonial_color();
2862
+ $this.children('.spftestimonial-field-link_color').find('.spftestimonial-color').spftestimonial_color();
2863
+ $this.children('.spftestimonial-field-typography').find('.spftestimonial-color').spftestimonial_color();
2864
 
2865
  // Field chosenjs
2866
+ $this.children('.spftestimonial-field-select').find('.spftestimonial-chosen').spftestimonial_chosen();
2867
 
2868
  // Field Checkbox
2869
+ $this.children('.spftestimonial-field-checkbox').find('.spftestimonial-checkbox').spftestimonial_checkbox();
2870
 
2871
  // Field Siblings
2872
+ $this.children('.spftestimonial-field-button_set').find('.spftestimonial-siblings').spftestimonial_siblings();
2873
+ $this.children('.spftestimonial-field-image_select').find('.spftestimonial-siblings').spftestimonial_siblings();
2874
+ $this.children('.spftestimonial-field-palette').find('.spftestimonial-siblings').spftestimonial_siblings();
2875
 
2876
  // Help Tooptip
2877
+ $this.children('.spftestimonial-field').find('.spftestimonial-help').spftestimonial_help();
2878
 
2879
  if( settings.dependency ) {
2880
+ $this.spftestimonial_dependency();
2881
  }
2882
 
2883
  $this.data('inited', true);
2884
 
2885
+ $(document).trigger('spftestimonial-reload-script', $this);
2886
 
2887
  }
2888
 
2894
  //
2895
  $(document).ready( function() {
2896
 
2897
+ $('.spftestimonial-save').spftestimonial_save();
2898
+ $('.spftestimonial-options').spftestimonial_options();
2899
+ $('.spftestimonial-sticky-header').spftestimonial_sticky();
2900
+ $('.spftestimonial-nav-options').spftestimonial_nav_options();
2901
+ $('.spftestimonial-nav-metabox').spftestimonial_nav_metabox();
2902
+ $('.spftestimonial-page-templates').spftestimonial_page_templates();
2903
+ $('.spftestimonial-post-formats').spftestimonial_post_formats();
2904
+ $('.spftestimonial-search').spftestimonial_search();
2905
+ $('.spftestimonial-confirm').spftestimonial_confirm();
2906
+ $('.spftestimonial-expand-all').spftestimonial_expand_all();
2907
+ $('.spftestimonial-onload').spftestimonial_reload_script();
2908
+ $('.widget').spftestimonial_widgets();
 
 
2909
 
2910
  });
2911
 
admin/views/framework/assets/js/spftestimonial.min.js ADDED
@@ -0,0 +1 @@
 
1
+ !function($,window,document,undefined){"use strict";var SPFTESTIMONIAL=SPFTESTIMONIAL||{};SPFTESTIMONIAL.funcs={},SPFTESTIMONIAL.vars={onloaded:!1,$body:$("body"),$window:$(window),$document:$(document),$form_warning:null,form_modified:!1,code_themes:[],is_rtl:$("body").hasClass("rtl")},SPFTESTIMONIAL.helper={uid:function(prefix){return(prefix||"")+Math.random().toString(36).substr(2,9)},preg_quote:function(str){return(str+"").replace(/(\[|\-|\])/g,"\\$1")},name_nested_replace:function($selector,field_id){var checks=[],regex=new RegExp("("+SPFTESTIMONIAL.helper.preg_quote(field_id)+")\\[(\\d+)\\]","g");$selector.find(":radio").each((function(){(this.checked||this.orginal_checked)&&(this.orginal_checked=!0)})),$selector.each((function(index){$(this).find(":input").each((function(){this.name=this.name.replace(regex,field_id+"["+index+"]"),this.orginal_checked&&(this.checked=!0)}))}))},debounce:function(callback,threshold,immediate){var timeout;return function(){var context=this,args=arguments,later=function(){timeout=null,immediate||callback.apply(context,args)},callNow=immediate&&!timeout;clearTimeout(timeout),timeout=setTimeout(later,threshold),callNow&&callback.apply(context,args)}},get_cookie:function(name){var e,b,cookie=document.cookie,p=name+"=";if(cookie){if(-1===(b=cookie.indexOf("; "+p))){if(0!==(b=cookie.indexOf(p)))return null}else b+=2;return-1===(e=cookie.indexOf(";",b))&&(e=cookie.length),decodeURIComponent(cookie.substring(b+p.length,e))}},set_cookie:function(name,value,expires,path,domain,secure){var d=new Date;"object"==typeof expires&&expires.toGMTString?expires=expires.toGMTString():parseInt(expires,10)?(d.setTime(d.getTime()+1e3*parseInt(expires,10)),expires=d.toGMTString()):expires="",document.cookie=name+"="+encodeURIComponent(value)+(expires?"; expires="+expires:"")+(path?"; path="+path:"")+(domain?"; domain="+domain:"")+(secure?"; secure":"")},remove_cookie:function(name,path,domain,secure){SPFTESTIMONIAL.helper.set_cookie(name,"",-1e3,path,domain,secure)}},$.fn.spftestimonial_clone=function(){for(var base=$.fn.clone.apply(this,arguments),clone=this.find("select").add(this.filter("select")),cloned=base.find("select").add(base.filter("select")),i=0;i<clone.length;++i)for(var j=0;j<clone[i].options.length;++j)!0===clone[i].options[j].selected&&(cloned[i].options[j].selected=!0);return this.find(":radio").each((function(){this.orginal_checked=this.checked})),base},$.fn.spftestimonial_expand_all=function(){return this.each((function(){$(this).on("click",(function(e){e.preventDefault(),$(".spftestimonial-wrapper").toggleClass("spftestimonial-show-all"),$(".spftestimonial-section").spftestimonial_reload_script(),$(this).find(".fa").toggleClass("fa-indent").toggleClass("fa-outdent")}))}))},$.fn.spftestimonial_nav_options=function(){return this.each((function(){var $nav=$(this),$links=$nav.find("a"),$hidden=$nav.closest(".spftestimonial").find(".spftestimonial-section-id"),$last_section;$(window).on("hashchange",(function(){var hash=window.location.hash.match(new RegExp("tab=([^&]*)")),slug=hash?hash[1]:$links.first().attr("href").replace("#tab=",""),$link=$("#spftestimonial-tab-link-"+slug);if($link.length>0){$link.closest(".spftestimonial-tab-depth-0").addClass("spftestimonial-tab-active").siblings().removeClass("spftestimonial-tab-active"),$links.removeClass("spftestimonial-section-active"),$link.addClass("spftestimonial-section-active"),void 0!==$last_section&&$last_section.hide();var $section=$("#spftestimonial-section-"+slug);$section.css({display:"block"}),$section.spftestimonial_reload_script(),$hidden.val(slug),$last_section=$section}})).trigger("hashchange")}))},$.fn.spftestimonial_nav_metabox=function(){return this.each((function(){var $nav=$(this),$links=$nav.find("a"),unique_id=$nav.data("unique"),post_id=$("#post_ID").val()||"global",$last_section,$last_link;$links.on("click",(function(e){e.preventDefault();var $link=$(this),section_id=$link.data("section");void 0!==$last_link&&$last_link.removeClass("spftestimonial-section-active"),void 0!==$last_section&&$last_section.hide(),$link.addClass("spftestimonial-section-active");var $section=$("#spftestimonial-section-"+section_id);$section.css({display:"block"}),$section.spftestimonial_reload_script(),SPFTESTIMONIAL.helper.set_cookie("spftestimonial-last-metabox-tab-"+post_id+"-"+unique_id,section_id),$last_section=$section,$last_link=$link}));var get_cookie=SPFTESTIMONIAL.helper.get_cookie("spftestimonial-last-metabox-tab-"+post_id+"-"+unique_id);get_cookie?$nav.find('a[data-section="'+get_cookie+'"]').trigger("click"):$links.first("a").trigger("click")}))},$.fn.spftestimonial_page_templates=function(){this.length&&$(document).on("change",".editor-page-attributes__template select, #page_template",(function(){var maybe_value=$(this).val()||"default";$(".spftestimonial-page-templates").removeClass("spftestimonial-show").addClass("spftestimonial-hide"),$(".spftestimonial-page-"+maybe_value.toLowerCase().replace(/[^a-zA-Z0-9]+/g,"-")).removeClass("spftestimonial-hide").addClass("spftestimonial-show")}))},$.fn.spftestimonial_post_formats=function(){this.length&&$(document).on("change",'.editor-post-format select, #formatdiv input[name="post_format"]',(function(){var maybe_value=$(this).val()||"default";maybe_value="0"===maybe_value?"default":maybe_value,$(".spftestimonial-post-formats").removeClass("spftestimonial-show").addClass("spftestimonial-hide"),$(".spftestimonial-post-format-"+maybe_value).removeClass("spftestimonial-hide").addClass("spftestimonial-show")}))},$.fn.spftestimonial_search=function(){return this.each((function(){var $this,$input;$(this).find("input").on("change keyup",(function(){var value=$(this).val(),$wrapper=$(".spftestimonial-wrapper"),$section,$fields=$wrapper.find(".spftestimonial-section").find("> .spftestimonial-field:not(.hidden)"),$titles=$fields.find("> .spftestimonial-title, .spftestimonial-search-tags");value.length>3?($fields.addClass("spftestimonial-hidden"),$wrapper.addClass("spftestimonial-search-all"),$titles.each((function(){var $title=$(this);if($title.text().match(new RegExp(".*?"+value+".*?","i"))){var $field=$title.closest(".spftestimonial-field");$field.removeClass("spftestimonial-hidden"),$field.parent().spftestimonial_reload_script()}}))):($fields.removeClass("spftestimonial-hidden"),$wrapper.removeClass("spftestimonial-search-all"))}))}))},$.fn.spftestimonial_sticky=function(){return this.each((function(){var $this=$(this),$window=$(window),$inner=$this.find(".spftestimonial-header-inner"),padding=parseInt($inner.css("padding-left"))+parseInt($inner.css("padding-right")),offset=32,scrollTop=0,lastTop=0,ticking=!1,stickyUpdate=function(){var offsetTop=$this.offset().top,stickyTop=Math.max(32,offsetTop-scrollTop),winWidth=Math.max(document.documentElement.clientWidth,window.innerWidth||0);stickyTop<=32&&winWidth>782?($inner.css({width:$this.outerWidth()-padding}),$this.css({height:$this.outerHeight()}).addClass("spftestimonial-sticky")):($inner.removeAttr("style"),$this.removeAttr("style").removeClass("spftestimonial-sticky"))},requestTick=function(){ticking||requestAnimationFrame((function(){stickyUpdate(),ticking=!1})),ticking=!0},onSticky=function(){scrollTop=$window.scrollTop(),requestTick()};$window.on("scroll resize",onSticky),onSticky()}))},$.fn.spftestimonial_dependency=function(){return this.each((function(){var $this=$(this),ruleset=$.spftestimonial_deps.createRuleset(),depends=[],is_global=!1;$this.children("[data-controller]").each((function(){var $field=$(this),controllers=$field.data("controller").split("|"),conditions=$field.data("condition").split("|"),values=$field.data("value").toString().split("|"),rules=ruleset;$field.data("depend-global")&&(is_global=!0),$.each(controllers,(function(index,depend_id){var value=values[index]||"",condition=conditions[index]||conditions[0];(rules=rules.createRule('[data-depend-id="'+depend_id+'"]',condition,value)).include($field),depends.push(depend_id)}))})),depends.length&&(is_global?$.spftestimonial_deps.enable(SPFTESTIMONIAL.vars.$body,ruleset,depends):$.spftestimonial_deps.enable($this,ruleset,depends))}))},$.fn.spftestimonial_field_accordion=function(){return this.each((function(){var $titles;$(this).find(".spftestimonial-accordion-title").on("click",(function(){var $title=$(this),$icon=$title.find(".spftestimonial-accordion-icon"),$content=$title.next();$icon.hasClass("fa-angle-right")?$icon.removeClass("fa-angle-right").addClass("fa-angle-down"):$icon.removeClass("fa-angle-down").addClass("fa-angle-right"),$content.data("opened")||($content.spftestimonial_reload_script(),$content.data("opened",!0)),$content.toggleClass("spftestimonial-accordion-open")}))}))},$.fn.spftestimonial_field_backup=function(){return this.each((function(){if(void 0!==window.wp.customize){var base=this,$this=$(this),$body=$("body"),$import=$this.find(".spftestimonial-import"),$reset=$this.find(".spftestimonial-reset");base.notification=function(message_text){wp.customize.notifications&&wp.customize.OverlayNotification&&(wp.customize.state("saved").get()||(wp.customize.state("changesetStatus").set("trash"),wp.customize.each((function(setting){setting._dirty=!1})),wp.customize.state("saved").set(!0)),wp.customize.notifications.add(new wp.customize.OverlayNotification("spftestimonial_field_backup_notification",{type:"info",message:message_text,loading:!0})))},$reset.on("click",(function(e){e.preventDefault(),SPFTESTIMONIAL.vars.is_confirm&&(base.notification(window.spftestimonial_vars.i18n.reset_notification),window.wp.ajax.post("spftestimonial-reset",{unique:$reset.data("unique"),nonce:$reset.data("nonce")}).done((function(response){window.location.reload(!0)})).fail((function(response){alert(response.error),wp.customize.notifications.remove("spftestimonial_field_backup_notification")})))})),$import.on("click",(function(e){e.preventDefault(),SPFTESTIMONIAL.vars.is_confirm&&(base.notification(window.spftestimonial_vars.i18n.import_notification),window.wp.ajax.post("spftestimonial-import",{unique:$import.data("unique"),nonce:$import.data("nonce"),import_data:$this.find(".spftestimonial-import-data").val()}).done((function(response){window.location.reload(!0)})).fail((function(response){alert(response.error),wp.customize.notifications.remove("spftestimonial_field_backup_notification")})))}))}}))},$.fn.spftestimonial_field_background=function(){return this.each((function(){$(this).find(".spftestimonial--background-image").spftestimonial_reload_script()}))},$.fn.spftestimonial_field_code_editor=function(){return this.each((function(){if("function"==typeof CodeMirror){var $this=$(this),$textarea=$this.find("textarea"),$inited=$this.find(".CodeMirror"),data_editor=$textarea.data("editor");$inited.length&&$inited.remove();var interval=setInterval((function(){if($this.is(":visible")){var code_editor=CodeMirror.fromTextArea($textarea[0],data_editor);if("default"!==data_editor.theme&&-1===SPFTESTIMONIAL.vars.code_themes.indexOf(data_editor.theme)){var $cssLink=$("<link>");$("#spftestimonial-codemirror-css").after($cssLink),$cssLink.attr({rel:"stylesheet",id:"spftestimonial-codemirror-"+data_editor.theme+"-css",href:data_editor.cdnURL+"/theme/"+data_editor.theme+".min.css",type:"text/css",media:"all"}),SPFTESTIMONIAL.vars.code_themes.push(data_editor.theme)}CodeMirror.modeURL=data_editor.cdnURL+"/mode/%N/%N.min.js",CodeMirror.autoLoadMode(code_editor,data_editor.mode),code_editor.on("change",(function(editor,event){$textarea.val(code_editor.getValue()).trigger("change")})),clearInterval(interval)}}))}}))},$.fn.spftestimonial_field_date=function(){return this.each((function(){var $this=$(this),$inputs=$this.find("input"),settings=$this.find(".spftestimonial-date-settings").data("settings"),wrapper='<div class="spftestimonial-datepicker-wrapper"></div>',$datepicker,defaults={showAnim:"",beforeShow:function(input,inst){$(inst.dpDiv).addClass("spftestimonial-datepicker-wrapper")},onClose:function(input,inst){$(inst.dpDiv).removeClass("spftestimonial-datepicker-wrapper")}};settings=$.extend({},settings,defaults),2===$inputs.length&&(settings=$.extend({},settings,{onSelect:function(selectedDate){var $this=$(this),$from=$inputs.first(),option=$inputs.first().attr("id")===$(this).attr("id")?"minDate":"maxDate",date=$.datepicker.parseDate(settings.dateFormat,selectedDate);$inputs.not(this).datepicker("option",option,date)}})),$inputs.each((function(){var $input=$(this);$input.hasClass("hasDatepicker")&&$input.removeAttr("id").removeClass("hasDatepicker"),$input.datepicker(settings)}))}))},$.fn.spftestimonial_field_fieldset=function(){return this.each((function(){$(this).find(".spftestimonial-fieldset-content").spftestimonial_reload_script()}))},$.fn.spftestimonial_field_gallery=function(){return this.each((function(){var $this=$(this),$edit=$this.find(".spftestimonial-edit-gallery"),$clear=$this.find(".spftestimonial-clear-gallery"),$list=$this.find("ul"),$input=$this.find("input"),$img=$this.find("img"),wp_media_frame;$this.on("click",".spftestimonial-button, .spftestimonial-edit-gallery",(function(e){var $el=$(this),ids=$input.val(),what=$el.hasClass("spftestimonial-edit-gallery")?"edit":"add",state="add"!==what||ids.length?"gallery-edit":"gallery";e.preventDefault(),void 0!==window.wp&&window.wp.media&&window.wp.media.gallery&&("gallery"===state?(wp_media_frame=window.wp.media({library:{type:"image"},frame:"post",state:"gallery",multiple:!0})).open():(wp_media_frame=window.wp.media.gallery.edit('[gallery ids="'+ids+'"]'),"add"===what&&wp_media_frame.setState("gallery-library")),wp_media_frame.on("update",(function(selection){$list.empty();var selectedIds=selection.models.map((function(attachment){var item=attachment.toJSON(),thumb=item.sizes&&item.sizes.thumbnail&&item.sizes.thumbnail.url?item.sizes.thumbnail.url:item.url;return $list.append('<li><img src="'+thumb+'"></li>'),item.id}));$input.val(selectedIds.join(",")).trigger("change"),$clear.removeClass("hidden"),$edit.removeClass("hidden")})))})),$clear.on("click",(function(e){e.preventDefault(),$list.empty(),$input.val("").trigger("change"),$clear.addClass("hidden"),$edit.addClass("hidden")}))}))},$.fn.spftestimonial_field_group=function(){return this.each((function(){var $this=$(this),$fieldset=$this.children(".spftestimonial-fieldset"),$group=$fieldset.length?$fieldset:$this,$wrapper=$group.children(".spftestimonial-cloneable-wrapper"),$hidden=$group.children(".spftestimonial-cloneable-hidden"),$max=$group.children(".spftestimonial-cloneable-max"),$min=$group.children(".spftestimonial-cloneable-min"),field_id=$wrapper.data("field-id"),unique_id=$wrapper.data("unique-id"),is_number=Boolean(Number($wrapper.data("title-number"))),max=parseInt($wrapper.data("max")),min=parseInt($wrapper.data("min"));$wrapper.hasClass("ui-accordion")&&$wrapper.find(".ui-accordion-header-icon").remove();var update_title_numbers=function($selector){$selector.find(".spftestimonial-cloneable-title-number").each((function(index){$(this).html($(this).closest(".spftestimonial-cloneable-item").index()+1+".")}))};$wrapper.accordion({header:"> .spftestimonial-cloneable-item > .spftestimonial-cloneable-title",collapsible:!0,active:!1,animate:!1,heightStyle:"content",icons:{header:"spftestimonial-cloneable-header-icon fa fa-angle-right",activeHeader:"spftestimonial-cloneable-header-icon fa fa-angle-down"},activate:function(event,ui){var $panel=ui.newPanel,$header=ui.newHeader;if($panel.length&&!$panel.data("opened")){var $fields,$first=$panel.children().first().find(":input").first(),$title=$header.find(".spftestimonial-cloneable-value");$first.on("keyup",(function(event){$title.text($first.val())})),$panel.spftestimonial_reload_script(),$panel.data("opened",!0),$panel.data("retry",!1)}else $panel.data("retry")&&($panel.spftestimonial_reload_script_retry(),$panel.data("retry",!1))}}),$wrapper.sortable({axis:"y",handle:".spftestimonial-cloneable-title,.spftestimonial-cloneable-sort",helper:"original",cursor:"move",placeholder:"widget-placeholder",start:function(event,ui){$wrapper.accordion({active:!1}),$wrapper.sortable("refreshPositions"),ui.item.children(".spftestimonial-cloneable-content").data("retry",!0)},update:function(event,ui){SPFTESTIMONIAL.helper.name_nested_replace($wrapper.children(".spftestimonial-cloneable-item"),field_id),$wrapper.spftestimonial_customizer_refresh(),is_number&&update_title_numbers($wrapper)}}),$group.children(".spftestimonial-cloneable-add").on("click",(function(e){e.preventDefault();var count=$wrapper.children(".spftestimonial-cloneable-item").length;if($min.hide(),max&&count+1>max)$max.show();else{var new_field_id=unique_id+field_id+"["+count+"]",$cloned_item=$hidden.spftestimonial_clone(!0);$cloned_item.removeClass("spftestimonial-cloneable-hidden"),$cloned_item.find(':input[name!="_pseudo"]').each((function(){this.name=new_field_id+this.name.replace(this.name.startsWith("_nonce")?"_nonce":unique_id,"")})),$cloned_item.find(".spftestimonial-data-wrapper").each((function(){$(this).attr("data-unique-id",new_field_id)})),$wrapper.append($cloned_item),$wrapper.accordion("refresh"),$wrapper.accordion({active:count}),$wrapper.spftestimonial_customizer_refresh(),$wrapper.spftestimonial_customizer_listen({closest:!0}),is_number&&update_title_numbers($wrapper)}}));var event_clone=function(e){e.preventDefault();var count=$wrapper.children(".spftestimonial-cloneable-item").length;if($min.hide(),max&&count+1>max)$max.show();else{var $this,$parent=$(this).parent().parent(),$cloned_helper=$parent.children(".spftestimonial-cloneable-helper").spftestimonial_clone(!0),$cloned_title=$parent.children(".spftestimonial-cloneable-title").spftestimonial_clone(),$cloned_content=$parent.children(".spftestimonial-cloneable-content").spftestimonial_clone(),cloned_regex=new RegExp("("+SPFTESTIMONIAL.helper.preg_quote(field_id)+")\\[(\\d+)\\]","g");$cloned_content.find(".spftestimonial-data-wrapper").each((function(){var $this=$(this);$this.attr("data-unique-id",$this.attr("data-unique-id").replace(cloned_regex,field_id+"["+($parent.index()+1)+"]"))}));var $cloned=$('<div class="spftestimonial-cloneable-item" />');$cloned.append($cloned_helper),$cloned.append($cloned_title),$cloned.append($cloned_content),$wrapper.children().eq($parent.index()).after($cloned),SPFTESTIMONIAL.helper.name_nested_replace($wrapper.children(".spftestimonial-cloneable-item"),field_id),$wrapper.accordion("refresh"),$wrapper.spftestimonial_customizer_refresh(),$wrapper.spftestimonial_customizer_listen({closest:!0}),is_number&&update_title_numbers($wrapper)}};$wrapper.children(".spftestimonial-cloneable-item").children(".spftestimonial-cloneable-helper").on("click",".spftestimonial-cloneable-clone",event_clone),$group.children(".spftestimonial-cloneable-hidden").children(".spftestimonial-cloneable-helper").on("click",".spftestimonial-cloneable-clone",event_clone);var event_remove=function(e){e.preventDefault();var count=$wrapper.children(".spftestimonial-cloneable-item").length;$max.hide(),$min.hide(),min&&count-1<min?$min.show():($(this).closest(".spftestimonial-cloneable-item").remove(),SPFTESTIMONIAL.helper.name_nested_replace($wrapper.children(".spftestimonial-cloneable-item"),field_id),$wrapper.spftestimonial_customizer_refresh(),is_number&&update_title_numbers($wrapper))};$wrapper.children(".spftestimonial-cloneable-item").children(".spftestimonial-cloneable-helper").on("click",".spftestimonial-cloneable-remove",event_remove),$group.children(".spftestimonial-cloneable-hidden").children(".spftestimonial-cloneable-helper").on("click",".spftestimonial-cloneable-remove",event_remove)}))},$.fn.spftestimonial_field_map=function(){return this.each((function(){if("undefined"!=typeof L){var $this=$(this),$map=$this.find(".spftestimonial--map-osm"),$search_input=$this.find(".spftestimonial--map-search input"),$latitude=$this.find(".spftestimonial--latitude"),$longitude=$this.find(".spftestimonial--longitude"),$zoom=$this.find(".spftestimonial--zoom"),map_data=$map.data("map"),mapInit=L.map($map.get(0),map_data);L.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'}).addTo(mapInit);var mapMarker=L.marker(map_data.center,{draggable:!0}).addTo(mapInit),update_latlng=function(data){$latitude.val(data.lat),$longitude.val(data.lng),$zoom.val(mapInit.getZoom())};mapInit.on("click",(function(data){mapMarker.setLatLng(data.latlng),update_latlng(data.latlng)})),mapInit.on("zoom",(function(){update_latlng(mapMarker.getLatLng())})),mapMarker.on("drag",(function(){update_latlng(mapMarker.getLatLng())})),$search_input.length||($search_input=$('[data-depend-id="'+$this.find(".spftestimonial--address-field").data("address-field")+'"]')),$search_input.autocomplete({source:function(request,response){$.get("https://nominatim.openstreetmap.org/search",{format:"json",q:request.term},(function(results){results.length?response(results.map((function(item){return{value:item.display_name,label:item.display_name,lat:item.lat,lon:item.lon}}),"json")):response([{value:"no-data",label:"No Results."}])}))},select:function(event,ui){if("no-data"===ui.item.value)return!1;var latLng=L.latLng(ui.item.lat,ui.item.lon);mapInit.panTo(latLng),mapMarker.setLatLng(latLng),update_latlng(latLng)},create:function(event,ui){$(this).autocomplete("widget").addClass("spftestimonial-map-ui-autocomplate")}});var input_update_latlng=function(){var latLng=L.latLng($latitude.val(),$longitude.val());mapInit.panTo(latLng),mapMarker.setLatLng(latLng)};$latitude.on("change",input_update_latlng),$longitude.on("change",input_update_latlng)}}))},$.fn.spftestimonial_field_media=function(){return this.each((function(){var $this=$(this),$upload_button=$this.find(".spftestimonial--button"),$remove_button=$this.find(".spftestimonial--remove"),$library=$upload_button.data("library")&&$upload_button.data("library").split(",")||"",$auto_attributes=!!$this.hasClass("spftestimonial-assign-field-background")&&$this.closest(".spftestimonial-field-background").find(".spftestimonial--auto-attributes"),wp_media_frame;$upload_button.on("click",(function(e){e.preventDefault(),void 0!==window.wp&&window.wp.media&&window.wp.media.gallery&&(wp_media_frame?wp_media_frame.open():((wp_media_frame=window.wp.media({library:{type:$library}})).on("select",(function(){var thumbnail,attributes=wp_media_frame.state().get("selection").first().attributes,preview_size=$upload_button.data("preview-size")||"thumbnail";$library.length&&-1===$library.indexOf(attributes.subtype)&&-1===$library.indexOf(attributes.type)||($this.find(".spftestimonial--id").val(attributes.id),$this.find(".spftestimonial--width").val(attributes.width),$this.find(".spftestimonial--height").val(attributes.height),$this.find(".spftestimonial--alt").val(attributes.alt),$this.find(".spftestimonial--title").val(attributes.title),$this.find(".spftestimonial--description").val(attributes.description),thumbnail=void 0!==attributes.sizes&&void 0!==attributes.sizes.thumbnail&&"thumbnail"===preview_size?attributes.sizes.thumbnail.url:void 0!==attributes.sizes&&void 0!==attributes.sizes.full?attributes.sizes.full.url:attributes.icon,$auto_attributes&&$auto_attributes.removeClass("spftestimonial--attributes-hidden"),$remove_button.removeClass("hidden"),$this.find(".spftestimonial--preview").removeClass("hidden"),$this.find(".spftestimonial--src").attr("src",thumbnail),$this.find(".spftestimonial--thumbnail").val(thumbnail),$this.find(".spftestimonial--url").val(attributes.url).trigger("change"))})),wp_media_frame.open()))})),$remove_button.on("click",(function(e){e.preventDefault(),$auto_attributes&&$auto_attributes.addClass("spftestimonial--attributes-hidden"),$remove_button.addClass("hidden"),$this.find("input").val(""),$this.find(".spftestimonial--preview").addClass("hidden"),$this.find(".spftestimonial--url").trigger("change")}))}))},$.fn.spftestimonial_field_repeater=function(){return this.each((function(){var $this=$(this),$fieldset=$this.children(".spftestimonial-fieldset"),$repeater=$fieldset.length?$fieldset:$this,$wrapper=$repeater.children(".spftestimonial-repeater-wrapper"),$hidden=$repeater.children(".spftestimonial-repeater-hidden"),$max=$repeater.children(".spftestimonial-repeater-max"),$min=$repeater.children(".spftestimonial-repeater-min"),field_id=$wrapper.data("field-id"),unique_id=$wrapper.data("unique-id"),max=parseInt($wrapper.data("max")),min=parseInt($wrapper.data("min"));$wrapper.children(".spftestimonial-repeater-item").children(".spftestimonial-repeater-content").spftestimonial_reload_script(),$wrapper.sortable({axis:"y",handle:".spftestimonial-repeater-sort",helper:"original",cursor:"move",placeholder:"widget-placeholder",update:function(event,ui){SPFTESTIMONIAL.helper.name_nested_replace($wrapper.children(".spftestimonial-repeater-item"),field_id),$wrapper.spftestimonial_customizer_refresh(),ui.item.spftestimonial_reload_script_retry()}}),$repeater.children(".spftestimonial-repeater-add").on("click",(function(e){e.preventDefault();var count=$wrapper.children(".spftestimonial-repeater-item").length;if($min.hide(),max&&count+1>max)$max.show();else{var new_field_id=unique_id+field_id+"["+count+"]",$cloned_item=$hidden.spftestimonial_clone(!0);$cloned_item.removeClass("spftestimonial-repeater-hidden"),$cloned_item.find(':input[name!="_pseudo"]').each((function(){this.name=new_field_id+this.name.replace(this.name.startsWith("_nonce")?"_nonce":unique_id,"")})),$cloned_item.find(".spftestimonial-data-wrapper").each((function(){$(this).attr("data-unique-id",new_field_id)})),$wrapper.append($cloned_item),$cloned_item.children(".spftestimonial-repeater-content").spftestimonial_reload_script(),$wrapper.spftestimonial_customizer_refresh(),$wrapper.spftestimonial_customizer_listen({closest:!0})}}));var event_clone=function(e){e.preventDefault();var count=$wrapper.children(".spftestimonial-repeater-item").length;if($min.hide(),max&&count+1>max)$max.show();else{var $this,$parent=$(this).parent().parent().parent(),$cloned_content=$parent.children(".spftestimonial-repeater-content").spftestimonial_clone(),$cloned_helper=$parent.children(".spftestimonial-repeater-helper").spftestimonial_clone(!0),cloned_regex=new RegExp("("+SPFTESTIMONIAL.helper.preg_quote(field_id)+")\\[(\\d+)\\]","g");$cloned_content.find(".spftestimonial-data-wrapper").each((function(){var $this=$(this);$this.attr("data-unique-id",$this.attr("data-unique-id").replace(cloned_regex,field_id+"["+($parent.index()+1)+"]"))}));var $cloned=$('<div class="spftestimonial-repeater-item" />');$cloned.append($cloned_content),$cloned.append($cloned_helper),$wrapper.children().eq($parent.index()).after($cloned),$cloned.children(".spftestimonial-repeater-content").spftestimonial_reload_script(),SPFTESTIMONIAL.helper.name_nested_replace($wrapper.children(".spftestimonial-repeater-item"),field_id),$wrapper.spftestimonial_customizer_refresh(),$wrapper.spftestimonial_customizer_listen({closest:!0})}};$wrapper.children(".spftestimonial-repeater-item").children(".spftestimonial-repeater-helper").on("click",".spftestimonial-repeater-clone",event_clone),$repeater.children(".spftestimonial-repeater-hidden").children(".spftestimonial-repeater-helper").on("click",".spftestimonial-repeater-clone",event_clone);var event_remove=function(e){e.preventDefault();var count=$wrapper.children(".spftestimonial-repeater-item").length;$max.hide(),$min.hide(),min&&count-1<min?$min.show():($(this).closest(".spftestimonial-repeater-item").remove(),SPFTESTIMONIAL.helper.name_nested_replace($wrapper.children(".spftestimonial-repeater-item"),field_id),$wrapper.spftestimonial_customizer_refresh())};$wrapper.children(".spftestimonial-repeater-item").children(".spftestimonial-repeater-helper").on("click",".spftestimonial-repeater-remove",event_remove),$repeater.children(".spftestimonial-repeater-hidden").children(".spftestimonial-repeater-helper").on("click",".spftestimonial-repeater-remove",event_remove)}))},$.fn.spftestimonial_field_slider=function(){return this.each((function(){var $this=$(this),$input=$this.find("input"),$slider=$this.find(".spftestimonial-slider-ui"),data=$input.data(),value=$input.val()||0;$slider.hasClass("ui-slider")&&$slider.empty(),$slider.slider({range:"min",value:value,min:data.min,max:data.max,step:data.step,slide:function(e,o){$input.val(o.value).trigger("change")}}),$input.keyup((function(){$slider.slider("value",$input.val())}))}))},$.fn.spftestimonial_field_sortable=function(){return this.each((function(){var $sortable=$(this).find(".spftestimonial--sortable");$sortable.sortable({axis:"y",helper:"original",cursor:"move",placeholder:"widget-placeholder",update:function(event,ui){$sortable.spftestimonial_customizer_refresh()}}),$sortable.find(".spftestimonial--sortable-content").spftestimonial_reload_script()}))},$.fn.spftestimonial_field_sorter=function(){return this.each((function(){var $this=$(this),$enabled=$this.find(".spftestimonial-enabled"),$has_disabled=$this.find(".spftestimonial-disabled"),$disabled=!!$has_disabled.length&&$has_disabled;$enabled.sortable({connectWith:$disabled,placeholder:"ui-sortable-placeholder",update:function(event,ui){var $el=ui.item.find("input");ui.item.parent().hasClass("spftestimonial-enabled")?$el.attr("name",$el.attr("name").replace("disabled","enabled")):$el.attr("name",$el.attr("name").replace("enabled","disabled")),$this.spftestimonial_customizer_refresh()}}),$disabled&&$disabled.sortable({connectWith:$enabled,placeholder:"ui-sortable-placeholder",update:function(event,ui){$this.spftestimonial_customizer_refresh()}})}))},$.fn.spftestimonial_field_spinner=function(){return this.each((function(){var $this=$(this),$input=$this.find("input"),$inited=$this.find(".ui-spinner-button"),$unit=$input.data("unit");$inited.length&&$inited.remove(),$input.spinner({max:$input.data("max")||100,min:$input.data("min")||0,step:$input.data("step")||1,create:function(event,ui){$unit.length&&$this.find(".ui-spinner-up").after('<span class="ui-button-text-only spftestimonial--unit">'+$unit+"</span>")},spin:function(event,ui){$input.val(ui.value).trigger("change")}})}))},$.fn.spftestimonial_field_switcher=function(){return this.each((function(){var $switcher=$(this).find(".spftestimonial--switcher");$switcher.on("click",(function(){var value=0,$input=$switcher.find("input");$switcher.hasClass("spftestimonial--active")?$switcher.removeClass("spftestimonial--active"):(value=1,$switcher.addClass("spftestimonial--active")),$input.val(value).trigger("change")}))}))},$.fn.spftestimonial_field_tabbed=function(){return this.each((function(){var $this=$(this),$links=$this.find(".spftestimonial-tabbed-nav a"),$sections=$this.find(".spftestimonial-tabbed-section");$sections.eq(0).spftestimonial_reload_script(),$links.on("click",(function(e){e.preventDefault();var $link=$(this),index=$link.index(),$section=$sections.eq(index);$link.addClass("spftestimonial-tabbed-active").siblings().removeClass("spftestimonial-tabbed-active"),$section.spftestimonial_reload_script(),$section.removeClass("hidden").siblings().addClass("hidden")}))}))},$.fn.spftestimonial_field_typography=function(){return this.each((function(){var base=this,$this=$(this),loaded_fonts=[],webfonts=spftestimonial_typography_json.webfonts,googlestyles=spftestimonial_typography_json.googlestyles,defaultstyles=spftestimonial_typography_json.defaultstyles;base.sanitize_subset=function(subset){return subset=(subset=subset.replace("-ext"," Extended")).charAt(0).toUpperCase()+subset.slice(1)},base.sanitize_style=function(style){return googlestyles[style]?googlestyles[style]:style},base.load_google_font=function(font_family,weight,style){font_family&&"object"==typeof WebFont&&(weight=weight?weight.replace("normal",""):"",style=style?style.replace("normal",""):"",(weight||style)&&(font_family=font_family+":"+weight+style),-1===loaded_fonts.indexOf(font_family)&&WebFont.load({google:{families:[font_family]}}),loaded_fonts.push(font_family))},base.append_select_options=function($select,options,condition,type,is_multi){$select.find("option").not(":first").remove();var opts="";$.each(options,(function(key,value){var selected,name=value;selected=is_multi?condition&&-1!==condition.indexOf(value)?" selected":"":condition&&condition===value?" selected":"","subset"===type?name=base.sanitize_subset(value):"style"===type&&(name=base.sanitize_style(value)),opts+='<option value="'+value+'"'+selected+">"+name+"</option>"})),$select.append(opts).trigger("spftestimonial.change").trigger("chosen:updated")},base.init=function(){var selected_styles=[],$typography=$this.find(".spftestimonial--typography"),$type=$this.find(".spftestimonial--type"),$styles=$this.find(".spftestimonial--block-font-style"),unit=$typography.data("unit"),exclude_fonts=$typography.data("exclude")?$typography.data("exclude").split(","):[],$chosen_selects;$this.find(".spftestimonial--chosen").length&&$this.find("select").each((function(){var $chosen_select=$(this),$chosen_inited=$chosen_select.parent().find(".chosen-container");$chosen_inited.length&&$chosen_inited.remove(),$chosen_select.chosen({allow_single_deselect:!0,disable_search_threshold:15,width:"100%"})}));var $font_family_select=$this.find(".spftestimonial--font-family"),first_font_family=$font_family_select.val();$font_family_select.find("option").not(":first-child").remove();var opts="";$.each(webfonts,(function(type,group){exclude_fonts&&-1!==exclude_fonts.indexOf(type)||(opts+='<optgroup label="'+group.label+'">',$.each(group.fonts,(function(key,value){var selected;opts+='<option value="'+(value="object"==typeof value?key:value)+'" data-type="'+type+'"'+(value===first_font_family?" selected":"")+">"+value+"</option>"})),opts+="</optgroup>")})),$font_family_select.append(opts).trigger("chosen:updated");var $font_style_block=$this.find(".spftestimonial--block-font-style");if($font_style_block.length){var $font_style_select=$this.find(".spftestimonial--font-style-select"),first_style_value=$font_style_select.val()?$font_style_select.val().replace(/normal/g,""):"";$font_style_select.on("change spftestimonial.change",(function(event){var style_value=$font_style_select.val();!style_value&&selected_styles&&-1===selected_styles.indexOf("normal")&&(style_value=selected_styles[0]);var font_normal=style_value&&"italic"!==style_value&&"normal"===style_value?"normal":"",font_weight=style_value&&"italic"!==style_value&&"normal"!==style_value?style_value.replace("italic",""):font_normal,font_style=style_value&&"italic"===style_value.substr(-6)?"italic":"";$this.find(".spftestimonial--font-weight").val(font_weight),$this.find(".spftestimonial--font-style").val(font_style)}));var $extra_font_style_block=$this.find(".spftestimonial--block-extra-styles");if($extra_font_style_block.length)var $extra_font_style_select=$this.find(".spftestimonial--extra-styles"),first_extra_style_value=$extra_font_style_select.val()}var $subset_block=$this.find(".spftestimonial--block-subset");if($subset_block.length)var $subset_select=$this.find(".spftestimonial--subset"),first_subset_select_value=$subset_select.val(),subset_multi_select=$subset_select.data("multiple")||!1;var $backup_font_family_block=$this.find(".spftestimonial--block-backup-font-family");$font_family_select.on("change spftestimonial.change",(function(event){$subset_block.length&&$subset_block.addClass("hidden"),$extra_font_style_block.length&&$extra_font_style_block.addClass("hidden"),$backup_font_family_block.length&&$backup_font_family_block.addClass("hidden");var $selected=$font_family_select.find(":selected"),value=$selected.val(),type=$selected.data("type");if(type&&value){if("google"!==type&&"custom"!==type||!$backup_font_family_block.length||$backup_font_family_block.removeClass("hidden"),$font_style_block.length){var styles=defaultstyles;"google"===type&&webfonts[type].fonts[value][0]?styles=webfonts[type].fonts[value][0]:"custom"===type&&webfonts[type].fonts[value]&&(styles=webfonts[type].fonts[value]),selected_styles=styles;var set_auto_style=-1!==styles.indexOf("normal")?"normal":styles[0],set_style_value=first_style_value&&-1!==styles.indexOf(first_style_value)?first_style_value:set_auto_style;base.append_select_options($font_style_select,styles,set_style_value,"style"),first_style_value=!1,$font_style_block.removeClass("hidden"),"google"===type&&$extra_font_style_block.length&&styles.length>1&&(base.append_select_options($extra_font_style_select,styles,first_extra_style_value,"style",!0),first_extra_style_value=!1,$extra_font_style_block.removeClass("hidden"))}if("google"===type&&$subset_block.length&&webfonts[type].fonts[value][1]){var subsets=webfonts[type].fonts[value][1],set_auto_subset=subsets.length<2&&"latin"!==subsets[0]?subsets[0]:"",set_subset_value=first_subset_select_value&&-1!==subsets.indexOf(first_subset_select_value)?first_subset_select_value:set_auto_subset;set_subset_value=subset_multi_select&&first_subset_select_value?first_subset_select_value:set_subset_value,base.append_select_options($subset_select,subsets,set_subset_value,"subset",subset_multi_select),first_subset_select_value=!1,$subset_block.removeClass("hidden")}}else $styles.find(":input").val(""),$subset_block.length&&($subset_select.find("option").not(":first-child").remove(),$subset_select.trigger("chosen:updated")),$font_style_block.length&&($font_style_select.find("option").not(":first-child").remove(),$font_style_select.trigger("chosen:updated"));$type.val(type)})).trigger("spftestimonial.change");var $preview_block=$this.find(".spftestimonial--block-preview");if($preview_block.length){var $preview=$this.find(".spftestimonial--preview");$this.on("change",SPFTESTIMONIAL.helper.debounce((function(event){$preview_block.removeClass("hidden");var font_family=$font_family_select.val(),font_weight=$this.find(".spftestimonial--font-weight").val(),font_style=$this.find(".spftestimonial--font-style").val(),font_size=$this.find(".spftestimonial--font-size").val(),font_variant=$this.find(".spftestimonial--font-variant").val(),line_height=$this.find(".spftestimonial--line-height").val(),text_align=$this.find(".spftestimonial--text-align").val(),text_transform=$this.find(".spftestimonial--text-transform").val(),text_decoration=$this.find(".spftestimonial--text-decoration").val(),text_color=$this.find(".spftestimonial--color").val(),word_spacing=$this.find(".spftestimonial--word-spacing").val(),letter_spacing=$this.find(".spftestimonial--letter-spacing").val(),custom_style=$this.find(".spftestimonial--custom-style").val(),type;"google"===$this.find(".spftestimonial--type").val()&&base.load_google_font(font_family,font_weight,font_style);var properties={};font_family&&(properties.fontFamily=font_family),font_weight&&(properties.fontWeight=font_weight),font_style&&(properties.fontStyle=font_style),font_variant&&(properties.fontVariant=font_variant),font_size&&(properties.fontSize=font_size+unit),line_height&&(properties.lineHeight=line_height+unit),letter_spacing&&(properties.letterSpacing=letter_spacing+unit),word_spacing&&(properties.wordSpacing=word_spacing+unit),text_align&&(properties.textAlign=text_align),text_transform&&(properties.textTransform=text_transform),text_decoration&&(properties.textDecoration=text_decoration),text_color&&(properties.color=text_color),$preview.removeAttr("style"),custom_style&&$preview.attr("style",custom_style),$preview.css(properties)}),100)),$preview_block.on("click",(function(){$preview.toggleClass("spftestimonial--black-background");var $toggle=$preview_block.find(".spftestimonial--toggle");$toggle.hasClass("fa-toggle-off")?$toggle.removeClass("fa-toggle-off").addClass("fa-toggle-on"):$toggle.removeClass("fa-toggle-on").addClass("fa-toggle-off")})),$preview_block.hasClass("hidden")||$this.trigger("change")}},base.init()}))},$.fn.spftestimonial_field_upload=function(){return this.each((function(){var $this=$(this),$input=$this.find("input"),$upload_button=$this.find(".spftestimonial--button"),$remove_button=$this.find(".spftestimonial--remove"),$library=$upload_button.data("library")&&$upload_button.data("library").split(",")||"",wp_media_frame;$input.on("change",(function(e){$input.val()?$remove_button.removeClass("hidden"):$remove_button.addClass("hidden")})),$upload_button.on("click",(function(e){e.preventDefault(),void 0!==window.wp&&window.wp.media&&window.wp.media.gallery&&(wp_media_frame?wp_media_frame.open():((wp_media_frame=window.wp.media({library:{type:$library}})).on("select",(function(){var attributes=wp_media_frame.state().get("selection").first().attributes;$library.length&&-1===$library.indexOf(attributes.subtype)&&-1===$library.indexOf(attributes.type)||$input.val(attributes.url).trigger("change")})),wp_media_frame.open()))})),$remove_button.on("click",(function(e){e.preventDefault(),$input.val("").trigger("change")}))}))},$.fn.spftestimonial_field_wp_editor=function(){return this.each((function(){if(void 0!==window.wp.editor&&void 0!==window.tinyMCEPreInit&&void 0!==window.tinyMCEPreInit.mceInit.spftestimonial_wp_editor){var $this=$(this),$editor=$this.find(".spftestimonial-wp-editor"),$textarea=$this.find("textarea"),$has_wp_editor;($this.find(".wp-editor-wrap").length||$this.find(".mce-container").length)&&($editor.empty(),$editor.append($textarea),$textarea.css("display",""));var uid=SPFTESTIMONIAL.helper.uid("spftestimonial-editor-");$textarea.attr("id",uid);var default_editor_settings={tinymce:window.tinyMCEPreInit.mceInit.spftestimonial_wp_editor,quicktags:window.tinyMCEPreInit.qtInit.spftestimonial_wp_editor},field_editor_settings=$editor.data("editor-settings"),editor_on_change=function(editor){editor.on("change",SPFTESTIMONIAL.helper.debounce((function(){editor.save(),$textarea.trigger("change")}),250))},wpEditor=wp.oldEditor?wp.oldEditor:wp.editor;wpEditor&&wpEditor.hasOwnProperty("autop")&&(wp.editor.autop=wpEditor.autop,wp.editor.removep=wpEditor.removep,wp.editor.initialize=wpEditor.initialize),default_editor_settings.tinymce=$.extend({},default_editor_settings.tinymce,{selector:"#"+uid,setup:editor_on_change}),!1===field_editor_settings.tinymce&&(default_editor_settings.tinymce=!1,$editor.addClass("spftestimonial-no-tinymce")),!1===field_editor_settings.quicktags&&(default_editor_settings.quicktags=!1,$editor.addClass("spftestimonial-no-quicktags"));var interval=setInterval((function(){$this.is(":visible")&&(window.wp.editor.initialize(uid,default_editor_settings),clearInterval(interval))}));if(field_editor_settings.media_buttons&&window.spftestimonial_media_buttons){var $editor_buttons=$editor.find(".wp-media-buttons");if($editor_buttons.length)$editor_buttons.find(".spftestimonial-shortcode-button").data("editor-id",uid);else{var $media_buttons=$(window.spftestimonial_media_buttons);$media_buttons.find(".spftestimonial-shortcode-button").data("editor-id",uid),$editor.prepend($media_buttons)}}}}))},$.fn.spftestimonial_confirm=function(){return this.each((function(){$(this).on("click",(function(e){var confirm_text=$(this).data("confirm")||window.spftestimonial_vars.i18n.confirm,confirm_answer=confirm(confirm_text);if(SPFTESTIMONIAL.vars.is_confirm=!0,!confirm_answer)return e.preventDefault(),SPFTESTIMONIAL.vars.is_confirm=!1,!1}))}))},$.fn.serializeObject=function(){var obj={};return $.each(this.serializeArray(),(function(i,o){var n=o.name,v=o.value;obj[n]=void 0===obj[n]?v:$.isArray(obj[n])?obj[n].concat(v):[obj[n],v]})),obj},$.fn.spftestimonial_save=function(){return this.each((function(){var $this=$(this),$buttons=$(".spftestimonial-save"),$panel=$(".spftestimonial-options"),flooding=!1,timeout;$this.on("click",(function(e){if(!flooding){var $text=$this.data("save"),$value=$this.val();$buttons.attr("value",$text),$this.hasClass("spftestimonial-save-ajax")&&(e.preventDefault(),$panel.addClass("spftestimonial-saving"),$buttons.prop("disabled",!0),window.wp.ajax.post("spftestimonial_"+$panel.data("unique")+"_ajax_save",{data:$("#spftestimonial-form").serializeJSONSPFTESTIMONIAL()}).done((function(response){if($(".spftestimonial-error").remove(),Object.keys(response.errors).length){var error_icon='<i class="spftestimonial-label-error spftestimonial-error">!</i>';$.each(response.errors,(function(key,error_message){var $field=$('[data-depend-id="'+key+'"]'),$link=$("#spftestimonial-tab-link-"+($field.closest(".spftestimonial-section").index()+1)),$tab=$link.closest(".spftestimonial-tab-depth-0");$field.closest(".spftestimonial-fieldset").append('<p class="spftestimonial-text-error spftestimonial-error">'+error_message+"</p>"),$link.find(".spftestimonial-error").length||$link.append(error_icon),$tab.find(".spftestimonial-arrow .spftestimonial-error").length||$tab.find(".spftestimonial-arrow").append(error_icon),console.log(error_message)}))}$panel.removeClass("spftestimonial-saving"),$buttons.prop("disabled",!1).attr("value",$value),flooding=!1,SPFTESTIMONIAL.vars.form_modified=!1,SPFTESTIMONIAL.vars.$form_warning.hide(),clearTimeout(timeout);var $result_success=$(".spftestimonial-form-success");$result_success.empty().append(response.notice).fadeIn("fast",(function(){timeout=setTimeout((function(){$result_success.fadeOut("fast")}),1e3)}))})).fail((function(response){alert(response.error)})))}flooding=!0}))}))},$.fn.spftestimonial_options=function(){return this.each((function(){var $this=$(this),$content=$this.find(".spftestimonial-content"),$form_success=$this.find(".spftestimonial-form-success"),$form_warning=$this.find(".spftestimonial-form-warning"),$save_button=$this.find(".spftestimonial-header .spftestimonial-save");SPFTESTIMONIAL.vars.$form_warning=$form_warning,$form_warning.length&&(window.onbeforeunload=function(){return!!SPFTESTIMONIAL.vars.form_modified||void 0},$content.on("change keypress",":input",(function(){SPFTESTIMONIAL.vars.form_modified||($form_success.hide(),$form_warning.fadeIn("fast"),SPFTESTIMONIAL.vars.form_modified=!0)}))),$form_success.hasClass("spftestimonial-form-show")&&setTimeout((function(){$form_success.fadeOut("fast")}),1e3),$(document).keydown((function(event){if((event.ctrlKey||event.metaKey)&&83===event.which)return $save_button.trigger("click"),event.preventDefault(),!1}))}))},"function"==typeof Color&&(Color.fn.toString=function(){if(this._alpha<1)return this.toCSS("rgba",this._alpha).replace(/\s+/g,"");var hex=parseInt(this._color,10).toString(16);if(this.error)return"";if(hex.length<6)for(var i=6-hex.length-1;i>=0;i--)hex="0"+hex;return"#"+hex}),SPFTESTIMONIAL.funcs.parse_color=function(color){var value=color.replace(/\s+/g,""),trans=-1!==value.indexOf("rgba")?parseFloat(100*value.replace(/^.*,(.+)\)/,"$1")):100,rgba;return{value:value,transparent:trans,rgba:trans<100}},$.fn.spftestimonial_color=function(){return this.each((function(){var $input=$(this),picker_color=SPFTESTIMONIAL.funcs.parse_color($input.val()),palette_color=!window.spftestimonial_vars.color_palette.length||window.spftestimonial_vars.color_palette,$container;$input.hasClass("wp-color-picker")&&$input.closest(".wp-picker-container").after($input).remove(),$input.wpColorPicker({palettes:palette_color,change:function(event,ui){var ui_color_value=ui.color.toString();$container.removeClass("spftestimonial--transparent-active"),$container.find(".spftestimonial--transparent-offset").css("background-color",ui_color_value),$input.val(ui_color_value).trigger("change")},create:function(){$container=$input.closest(".wp-picker-container");var a8cIris=$input.data("a8cIris"),$transparent_wrap=$('<div class="spftestimonial--transparent-wrap"><div class="spftestimonial--transparent-slider"></div><div class="spftestimonial--transparent-offset"></div><div class="spftestimonial--transparent-text"></div><div class="spftestimonial--transparent-button">transparent <i class="fa fa-toggle-off"></i></div></div>').appendTo($container.find(".wp-picker-holder")),$transparent_slider=$transparent_wrap.find(".spftestimonial--transparent-slider"),$transparent_text=$transparent_wrap.find(".spftestimonial--transparent-text"),$transparent_offset=$transparent_wrap.find(".spftestimonial--transparent-offset"),$transparent_button=$transparent_wrap.find(".spftestimonial--transparent-button");"transparent"===$input.val()&&$container.addClass("spftestimonial--transparent-active"),$transparent_button.on("click",(function(){"transparent"!==$input.val()?($input.val("transparent").trigger("change").removeClass("iris-error"),$container.addClass("spftestimonial--transparent-active")):($input.val(a8cIris._color.toString()).trigger("change"),$container.removeClass("spftestimonial--transparent-active"))})),$transparent_slider.slider({value:picker_color.transparent,step:1,min:0,max:100,slide:function(event,ui){var slide_value=parseFloat(ui.value/100);a8cIris._color._alpha=slide_value,$input.wpColorPicker("color",a8cIris._color.toString()),$transparent_text.text(1===slide_value||0===slide_value?"":slide_value)},create:function(){var slide_value=parseFloat(picker_color.transparent/100),text_value=slide_value<1?slide_value:"";$transparent_text.text(text_value),$transparent_offset.css("background-color",picker_color.value),$container.on("click",".wp-picker-clear",(function(){a8cIris._color._alpha=1,$transparent_text.text(""),$transparent_slider.slider("option","value",100),$container.removeClass("spftestimonial--transparent-active"),$input.trigger("change")})),$container.on("click",".wp-picker-default",(function(){var default_color=SPFTESTIMONIAL.funcs.parse_color($input.data("default-color")),default_value=parseFloat(default_color.transparent/100),default_text=default_value<1?default_value:"";a8cIris._color._alpha=default_value,$transparent_text.text(default_text),$transparent_slider.slider("option","value",default_color.transparent)}))}})}})}))},$.fn.spftestimonial_chosen=function(){return this.each((function(){var $this=$(this),$inited=$this.parent().find(".chosen-container"),is_sortable=$this.hasClass("spftestimonial-chosen-sortable")||!1,is_ajax=$this.hasClass("spftestimonial-chosen-ajax")||!1,is_multiple=$this.attr("multiple")||!1,set_width=is_multiple?"100%":"auto",set_options=$.extend({allow_single_deselect:!0,disable_search_threshold:10,width:set_width,no_results_text:window.spftestimonial_vars.i18n.no_results_text},$this.data("chosen-settings"));if($inited.length&&$inited.remove(),is_ajax){var set_ajax_options=$.extend({data:{type:"post",nonce:""},allow_single_deselect:!0,disable_search_threshold:-1,width:"100%",min_length:3,type_delay:500,typing_text:window.spftestimonial_vars.i18n.typing_text,searching_text:window.spftestimonial_vars.i18n.searching_text,no_results_text:window.spftestimonial_vars.i18n.no_results_text},$this.data("chosen-settings"));$this.SPFTESTIMONIALAjaxChosen(set_ajax_options)}else $this.chosen(set_options);if(is_multiple){var $hidden_select=$this.parent().find(".spftestimonial-hidden-select"),$hidden_value=$hidden_select.val()||[];$this.on("change",(function(obj,result){result&&result.selected?$hidden_select.append('<option value="'+result.selected+'" selected="selected">'+result.selected+"</option>"):result&&result.deselected&&$hidden_select.find('option[value="'+result.deselected+'"]').remove(),0===$hidden_select.children().length&&void 0!==window.wp.customize&&window.wp.customize.control($hidden_select.data("customize-setting-link")).setting.set(""),$hidden_select.trigger("change")})),$this.SPFTESTIMONIALChosenOrder($hidden_value,!0)}if(is_sortable){var $chosen_container,$chosen_choices=$this.parent().find(".chosen-container").find(".chosen-choices");$chosen_choices.bind("mousedown",(function(event){$(event.target).is("span")&&event.stopPropagation()})),$chosen_choices.sortable({items:"li:not(.search-field)",helper:"orginal",cursor:"move",placeholder:"search-choice-placeholder",start:function(e,ui){ui.placeholder.width(ui.item.innerWidth()),ui.placeholder.height(ui.item.innerHeight())},update:function(e,ui){var select_options="",chosen_object=$this.data("chosen"),$prev_select=$this.parent().find(".spftestimonial-hidden-select");$chosen_choices.find(".search-choice-close").each((function(){var option_array_index=$(this).data("option-array-index");$.each(chosen_object.results_data,(function(index,data){data.array_index===option_array_index&&(select_options+='<option value="'+data.value+'" selected>'+data.value+"</option>")}))})),$prev_select.children().remove(),$prev_select.append(select_options),$prev_select.trigger("change")}})}}))},$.fn.spftestimonial_checkbox=function(){return this.each((function(){var $this=$(this),$input=$this.find(".spftestimonial--input"),$checkbox=$this.find(".spftestimonial--checkbox");$checkbox.on("click",(function(){$input.val(Number($checkbox.prop("checked"))).trigger("change")}))}))},$.fn.spftestimonial_siblings=function(){return this.each((function(){var $this=$(this),$siblings=$this.find(".spftestimonial--sibling"),multiple=$this.data("multiple")||!1;$siblings.on("click",(function(){var $sibling=$(this);multiple?$sibling.hasClass("spftestimonial--active")?($sibling.removeClass("spftestimonial--active"),$sibling.find("input").prop("checked",!1).trigger("change")):($sibling.addClass("spftestimonial--active"),$sibling.find("input").prop("checked",!0).trigger("change")):($this.find("input").prop("checked",!1),$sibling.find("input").prop("checked",!0).trigger("change"),$sibling.addClass("spftestimonial--active").siblings().removeClass("spftestimonial--active"))}))}))},$.fn.spftestimonial_help=function(){return this.each((function(){var $this=$(this),$tooltip,offset_left;$this.on({mouseenter:function(){$tooltip=$('<div class="spftestimonial-tooltip"></div>').html($this.find(".spftestimonial-help-text").html()).appendTo("body"),offset_left=SPFTESTIMONIAL.vars.is_rtl?$this.offset().left+24:$this.offset().left-$tooltip.outerWidth(),$tooltip.css({top:$this.offset().top-($tooltip.outerHeight()/2-14),left:offset_left})},mouseleave:function(){void 0!==$tooltip&&$tooltip.remove()}})}))},$.fn.spftestimonial_customizer_refresh=function(){return this.each((function(){var $this=$(this),$complex=$this.closest(".spftestimonial-customize-complex");if($complex.length){var $input=$complex.find(":input"),$unique=$complex.data("unique-id"),$option=$complex.data("option-id"),obj=$input.serializeObjectSPFTESTIMONIAL(),data=$.isEmptyObject(obj)?"":obj[$unique][$option],control=window.wp.customize.control($unique+"["+$option+"]");control.setting._value=null,control.setting.set(data)}else $this.find(":input").first().trigger("change");$(document).trigger("spftestimonial-customizer-refresh",$this)}))},$.fn.spftestimonial_customizer_listen=function(options){var settings=$.extend({closest:!1},options);return this.each((function(){if(void 0!==window.wp.customize){var $this=settings.closest?$(this).closest(".spftestimonial-customize-complex"):$(this),$input=$this.find(":input"),unique_id=$this.data("unique-id"),option_id=$this.data("option-id");void 0!==unique_id&&$input.on("change keyup",SPFTESTIMONIAL.helper.debounce((function(){var obj=$this.find(":input").serializeObjectSPFTESTIMONIAL(),val=!$.isEmptyObject(obj)&&obj[unique_id]&&obj[unique_id][option_id]?obj[unique_id][option_id]:"";window.wp.customize.control(unique_id+"["+option_id+"]").setting.set(val)}),250))}}))},$(document).on("expanded",".control-section",(function(){var $this=$(this);if($this.hasClass("open")&&!$this.data("inited")){var $fields=$this.find(".spftestimonial-customize-field"),$complex=$this.find(".spftestimonial-customize-complex");$fields.length&&($this.spftestimonial_dependency(),$fields.spftestimonial_reload_script({dependency:!1}),$complex.spftestimonial_customizer_listen()),$this.data("inited",!0)}})),SPFTESTIMONIAL.vars.$window.on("resize spftestimonial.resize",SPFTESTIMONIAL.helper.debounce((function(event){var window_width;(navigator.userAgent.indexOf("AppleWebKit/")>-1?SPFTESTIMONIAL.vars.$window.width():window.innerWidth)<=782&&!SPFTESTIMONIAL.vars.onloaded&&($(".spftestimonial-section").spftestimonial_reload_script(),SPFTESTIMONIAL.vars.onloaded=!0)}),200)).trigger("spftestimonial.resize"),$.fn.spftestimonial_widgets=function(){this.length&&($(document).on("widget-added widget-updated",(function(event,$widget){$widget.find(".spftestimonial-fields").spftestimonial_reload_script()})),$(".widgets-sortables, .control-section-sidebar").on("sortstop",(function(event,ui){ui.item.find(".spftestimonial-fields").spftestimonial_reload_script_retry()})),$(document).on("click",".widget-top",(function(event){$(this).parent().find(".spftestimonial-fields").spftestimonial_reload_script()})))},$.fn.spftestimonial_reload_script_retry=function(){return this.each((function(){var $this=$(this);$this.data("inited")&&$this.children(".spftestimonial-field-wp_editor").spftestimonial_field_wp_editor()}))},$.fn.spftestimonial_reload_script=function(options){var settings=$.extend({dependency:!0},options);return this.each((function(){var $this=$(this);$this.data("inited")||($this.children(".spftestimonial-field-accordion").spftestimonial_field_accordion(),$this.children(".spftestimonial-field-backup").spftestimonial_field_backup(),$this.children(".spftestimonial-field-background").spftestimonial_field_background(),$this.children(".spftestimonial-field-code_editor").spftestimonial_field_code_editor(),$this.children(".spftestimonial-field-date").spftestimonial_field_date(),$this.children(".spftestimonial-field-fieldset").spftestimonial_field_fieldset(),$this.children(".spftestimonial-field-gallery").spftestimonial_field_gallery(),$this.children(".spftestimonial-field-group").spftestimonial_field_group(),$this.children(".spftestimonial-field-media").spftestimonial_field_media(),$this.children(".spftestimonial-field-map").spftestimonial_field_map(),$this.children(".spftestimonial-field-repeater").spftestimonial_field_repeater(),$this.children(".spftestimonial-field-slider").spftestimonial_field_slider(),$this.children(".spftestimonial-field-sortable").spftestimonial_field_sortable(),$this.children(".spftestimonial-field-sorter").spftestimonial_field_sorter(),$this.children(".spftestimonial-field-spinner").spftestimonial_field_spinner(),$this.children(".spftestimonial-field-switcher").spftestimonial_field_switcher(),$this.children(".spftestimonial-field-tabbed").spftestimonial_field_tabbed(),$this.children(".spftestimonial-field-typography").spftestimonial_field_typography(),$this.children(".spftestimonial-field-upload").spftestimonial_field_upload(),$this.children(".spftestimonial-field-wp_editor").spftestimonial_field_wp_editor(),$this.children(".spftestimonial-field-border").find(".spftestimonial-color").spftestimonial_color(),$this.children(".spftestimonial-field-background").find(".spftestimonial-color").spftestimonial_color(),$this.children(".spftestimonial-field-color").find(".spftestimonial-color").spftestimonial_color(),$this.children(".spftestimonial-field-color_group").find(".spftestimonial-color").spftestimonial_color(),$this.children(".spftestimonial-field-link_color").find(".spftestimonial-color").spftestimonial_color(),$this.children(".spftestimonial-field-typography").find(".spftestimonial-color").spftestimonial_color(),$this.children(".spftestimonial-field-select").find(".spftestimonial-chosen").spftestimonial_chosen(),$this.children(".spftestimonial-field-checkbox").find(".spftestimonial-checkbox").spftestimonial_checkbox(),$this.children(".spftestimonial-field-button_set").find(".spftestimonial-siblings").spftestimonial_siblings(),$this.children(".spftestimonial-field-image_select").find(".spftestimonial-siblings").spftestimonial_siblings(),$this.children(".spftestimonial-field-palette").find(".spftestimonial-siblings").spftestimonial_siblings(),$this.children(".spftestimonial-field").find(".spftestimonial-help").spftestimonial_help(),settings.dependency&&$this.spftestimonial_dependency(),$this.data("inited",!0),$(document).trigger("spftestimonial-reload-script",$this))}))},$(document).ready((function(){$(".spftestimonial-save").spftestimonial_save(),$(".spftestimonial-options").spftestimonial_options(),$(".spftestimonial-sticky-header").spftestimonial_sticky(),$(".spftestimonial-nav-options").spftestimonial_nav_options(),$(".spftestimonial-nav-metabox").spftestimonial_nav_metabox(),$(".spftestimonial-page-templates").spftestimonial_page_templates(),$(".spftestimonial-post-formats").spftestimonial_post_formats(),$(".spftestimonial-search").spftestimonial_search(),$(".spftestimonial-confirm").spftestimonial_confirm(),$(".spftestimonial-expand-all").spftestimonial_expand_all(),$(".spftestimonial-onload").spftestimonial_reload_script(),$(".widget").spftestimonial_widgets()}))}(jQuery,window,document);
admin/views/framework/assets/scss/csf-rtl.scss DELETED
@@ -1,646 +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
- * 03. Taxonomy
40
- * 04. Profile
41
- * 05. Modal
42
- * 06. Customizer
43
- * 07. Responsive
44
- * 08. Others
45
- *
46
- * ---------------------------------------------------------
47
- *
48
- */
49
- @import "compass";
50
- @import "vendor/mixins";
51
-
52
- /**
53
- * 01. Base
54
- */
55
- .csf{
56
- margin-left: 20px;
57
- margin-right: 0;
58
- }
59
-
60
- /**
61
- * 01. 01. Header
62
- */
63
- .csf-header{
64
- h1{
65
- float: right;
66
- }
67
-
68
- fieldset{
69
- float: left;
70
- }
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
- ul{
96
- clear: right;
97
-
98
- li{
99
- .csf-section-active:after{
100
- right: auto;
101
- left: 0;
102
- border-left-color: #fff;
103
- border-right-color: transparent;
104
- }
105
-
106
- .csf-arrow:after{
107
- content: "\f053";
108
- right: auto;
109
- left: 10px;
110
- }
111
-
112
- &.csf-tab-active .csf-arrow:after{
113
- @include transform( rotate(-90deg) );
114
- }
115
- }
116
-
117
- ul{
118
- li{
119
- a{
120
- padding-right: 25px;
121
- padding-left: 15px;
122
- }
123
- }
124
-
125
- &:before{
126
- left: auto;
127
- right: 15px;
128
- }
129
- }
130
- }
131
-
132
- .fa{
133
- margin-left: 5px;
134
- margin-right: 0;
135
- }
136
- }
137
-
138
- .csf-nav-background{
139
- left: auto;
140
- right: 0;
141
- }
142
-
143
- /**
144
- * 01. 04. Content
145
- */
146
- .csf-content{
147
- margin-left: 0;
148
- margin-right: 225px;
149
- }
150
-
151
- /**
152
- * 01. 05. Section
153
- */
154
- .csf-sections{
155
- float: right;
156
- }
157
-
158
- /**
159
- * 01. 06. Show all options
160
- */
161
- .csf-show-all .csf-content{
162
- margin-right: 0;
163
- overflow: hidden;
164
- }
165
-
166
- .csf-expand-all{
167
- float: right;
168
- right: auto;
169
- left: 40px;
170
- margin-right: 0;
171
- margin-left: 4px;
172
- }
173
-
174
- /**
175
- * 01. 07. Search Input
176
- */
177
- .csf-search{
178
- float: right;
179
-
180
- input{
181
- margin: 0 0 0 5px;
182
- }
183
- }
184
-
185
- /**
186
- * 01. 08. Copyright
187
- */
188
- .csf-copyright{
189
- float: right;
190
- }
191
-
192
- /**
193
- * 01. 09. Metabox
194
- */
195
- .csf-metabox{
196
- margin: -6px -12px -12px -12px;
197
-
198
- .csf-section-title{
199
- padding: 20px;
200
-
201
- .fa{
202
- margin-left: 5px;
203
- margin-right: 0;
204
- }
205
- }
206
- }
207
-
208
- .csf-section-title .fa{
209
- margin-left: 5px;
210
- margin-right: 0;
211
- }
212
-
213
- /**
214
- * 02. Fields
215
- */
216
- .csf-field{
217
-
218
- .csf-title{
219
- float: right;
220
- }
221
-
222
- .csf-fieldset{
223
- margin-left: 0;
224
- margin-right: 30%;
225
- }
226
- }
227
-
228
- .csf-pseudo-field{
229
- padding: 0 0 0 5px !important;
230
- }
231
-
232
- /**
233
- * 02. 01. Field: typography
234
- */
235
- .csf-field-typography{
236
-
237
- select{
238
- margin: 0;
239
- width: 100%;
240
- }
241
-
242
- .csf--blocks-inputs{
243
- .csf--blocks{
244
- flex-direction: row-reverse;
245
- }
246
- }
247
- }
248
-
249
- /**
250
- * 02. 02. Field: checkbox, radio
251
- */
252
- .csf-field-checkbox,
253
- .csf-field-radio{
254
-
255
- .csf--inline-list li{
256
- margin-right: 0;
257
- margin-left: 15px;
258
- }
259
- }
260
-
261
- /**
262
- * 02. 03. Field: switcher
263
- */
264
- .csf-field-switcher{
265
-
266
- .csf--switcher{
267
- float: right;
268
- }
269
-
270
- .csf--label{
271
- float: right;
272
- margin-left: 0;
273
- margin-right: 5px;
274
- }
275
- }
276
-
277
- /**
278
- * 02. 04. Field: upload
279
- */
280
- .csf-field-upload{
281
-
282
- .csf--remove,
283
- .csf--buttons{
284
- margin-left: 0;
285
- margin-right: 5px;
286
- }
287
- }
288
-
289
- /**
290
- * 02. 05. Field: group
291
- */
292
- .csf-field-group{
293
-
294
- .csf-cloneable-title{
295
- padding: 15px 10px 15px 65px;
296
- }
297
-
298
- .csf-cloneable-helper{
299
- right: auto;
300
- left: 10px;
301
- }
302
- }
303
-
304
- /**
305
- * 02. 06. Field: repeater
306
- */
307
- .csf-field-repeater{
308
-
309
- .csf-repeater-helper{
310
- border-left: 0;
311
- border-right: 1px solid #eee;
312
- }
313
- }
314
-
315
- /**
316
- * 02. 07. Field: help
317
- */
318
- .csf-help{
319
- right: auto;
320
- left: 5px;
321
- }
322
-
323
- /**
324
- * 02. 08. Field: icon
325
- */
326
- .csf-field-icon{
327
-
328
- .button{
329
- margin-right: 0;
330
- margin-left: 5px;
331
- }
332
-
333
- .csf-icon-preview i{
334
- margin-right: 0;
335
- margin-left: 5px;
336
- }
337
- }
338
-
339
- /**
340
- * 02. 09. Field: gallery
341
- */
342
- .csf-field-gallery{
343
-
344
- ul li{
345
- margin-right: 0;
346
- margin-left: 5px;
347
- }
348
-
349
- .button{
350
- margin-right: 0;
351
- margin-left: 5px;
352
- }
353
- }
354
-
355
- /**
356
- * 02. 11. Field: tabbed
357
- */
358
- .csf-field-tabbed{
359
-
360
- .csf-tabbed-nav{
361
-
362
- .fa{
363
- padding-right: 0;
364
- padding-left: 5px;
365
- }
366
-
367
- a{
368
- margin-right: 0;
369
- margin-left: 5px;
370
- }
371
- }
372
- }
373
-
374
- /**
375
- * 02. 12. Field: media
376
- */
377
- .csf-field-media{
378
-
379
- .button{
380
- margin-left: 0;
381
- margin-right: 7px;
382
- }
383
-
384
- .hidden + .button{
385
- margin-right: 0;
386
- }
387
- }
388
-
389
- /**
390
- * 02. 13. Field: notice
391
- */
392
- .csf-notice{
393
- border-left: none;
394
- border-right-style: solid;
395
- border-right-width: 4px;
396
- }
397
-
398
- /**
399
- * 02. 14. Field: border, spacing, dimensions
400
- */
401
- .csf-field-dimensions,
402
- .csf-field-spacing,
403
- .csf-field-border{
404
-
405
- .csf--input{
406
- float: right;
407
- margin-right: 0;
408
- margin-left: 15px;
409
- }
410
-
411
- .csf--left{
412
- float: right;
413
- }
414
- }
415
-
416
- /**
417
- * 02. 15. Field: background
418
- */
419
- .csf-field-background{
420
-
421
- .csf--block{
422
- float: right;
423
- }
424
-
425
- .csf--select,
426
- .csf--media{
427
- padding-right: 0;
428
- }
429
-
430
- .csf--title{
431
- margin-right: 0;
432
- margin-left: 5px;
433
- }
434
- }
435
-
436
- /**
437
- * 02. 16. Field: spinner
438
- */
439
- .csf-field-spinner{
440
-
441
- .csf--spin{
442
- float: right;
443
- }
444
- }
445
-
446
- /**
447
- * 02. 17. Field: slider
448
- */
449
- .csf-field-slider{
450
-
451
- .ui-slider{
452
- direction: ltr;
453
- }
454
-
455
- input[type="text"]{
456
- margin-left: 0;
457
- margin-right: 15px;
458
- }
459
-
460
- em{
461
- padding-left: 0;
462
- padding-right: 5px;
463
- }
464
- }
465
-
466
- /**
467
- * 02. 18. Field: button_set
468
- */
469
- .csf-field-button_set{
470
-
471
- .csf--button-group{
472
- float: right;
473
- }
474
- }
475
-
476
- /**
477
- * 02. 19. Field: link_color
478
- */
479
- .csf-field-link_color{
480
-
481
- .csf--left{
482
- float: right;
483
- margin-right: 0;
484
- margin-left: 10px;
485
- }
486
- }
487
-
488
- /**
489
- * 02. 20. Field: color_group
490
- */
491
- .csf-field-color_group{
492
-
493
- .csf--left{
494
- float: right;
495
- margin-right: 0;
496
- margin-left: 10px;
497
- }
498
- }
499
-
500
- /**
501
- * 02. 21. Field: palette
502
- */
503
- .csf-field-palette{
504
-
505
- .csf--palette{
506
- margin-right: 0;
507
- margin-left: 10px;
508
- }
509
- }
510
-
511
- /**
512
- * 03. Taxonomy
513
- */
514
- .csf-taxonomy-add-fields{
515
-
516
- .csf-fieldset{
517
- margin-right: 0;
518
- }
519
-
520
- .csf-field > .csf-fieldset > .csf-help{
521
- left: -5px;
522
- right: auto;
523
- }
524
- }
525
-
526
- .csf-taxonomy-edit-fields{
527
-
528
- .csf-fieldset{
529
- margin-left: 0;
530
- margin-right: 225px;
531
- }
532
-
533
- .csf-field > .csf-fieldset > .csf-help{
534
- right: auto;
535
- left: -5px;
536
- }
537
- }
538
-
539
- /**
540
- * 04. Profile
541
- */
542
- .csf-profile{
543
-
544
- > h2 > .fa{
545
- padding-right: 0;
546
- padding-left: 7px;
547
- }
548
-
549
- > .csf-field{
550
-
551
- > .csf-fieldset{
552
- margin-left: 0;
553
- margin-right: 220px;
554
- }
555
-
556
- > .csf-help{
557
- left: 0;
558
- right: auto;
559
- }
560
- }
561
- }
562
-
563
- .csf-taxonomy-edit-fields{
564
-
565
- .csf-fieldset{
566
- margin-left: 0;
567
- margin-right: 225px;
568
- }
569
-
570
- .csf-field > .csf-fieldset > .csf-help{
571
- right: auto;
572
- left: -5px;
573
- }
574
- }
575
-
576
- /**
577
- * 05. Modal
578
- */
579
- .csf-modal-content{
580
-
581
- .csf-field{
582
- padding: 15px 15px 15px 30px;
583
- }
584
- }
585
-
586
- .csf-modal-title{
587
- padding: 0 16px 0 36px;
588
- }
589
-
590
- .csf-modal-close{
591
- right: auto;
592
- left: 0;
593
- }
594
-
595
- /**
596
- * 06. Customizer
597
- */
598
- .control-section{
599
-
600
- .csf-field{
601
-
602
- .csf-fieldset{
603
- margin-right: 0;
604
- }
605
- }
606
- }
607
-
608
- /**
609
- * 07. Responsive
610
- */
611
- @media only screen and (max-width:1200px){
612
- .csf-metabox .csf-field .csf-fieldset{
613
- margin-left: 0;
614
- }
615
- }
616
-
617
- @media only screen and (max-width:782px){
618
- .csf .csf-fieldset,
619
- .csf .csf-content{
620
- margin-right: 0;
621
- }
622
- }
623
-
624
- /**
625
- * 08. Others
626
- */
627
- .csf-field{
628
-
629
- .csf--transparent-slider{
630
- margin-left: 0;
631
- margin-right: 2px;
632
-
633
- .ui-slider-handle{
634
- margin: 0 -11px;
635
- }
636
- }
637
-
638
- .csf--transparent-offset{
639
- background-position: center right;
640
- }
641
-
642
- .csf--transparent-text{
643
- right: auto;
644
- left: 10px;
645
- }
646
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/views/framework/assets/scss/csf.scss DELETED
@@ -1,94 +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. Modal
70
- * 08. 01. Shortcode Modal
71
- * 08. 02. Gutenberg Modal
72
- * 08. 03. Icon Modal
73
- * 09. Helper
74
- * 10. Welcome Page
75
- * 11. Responsive
76
- * 12. Others
77
- *
78
- * ---------------------------------------------------------
79
- *
80
- */
81
- @import "compass";
82
- @import "vendor/mixins";
83
- @import "vendor/base";
84
- @import "vendor/themes";
85
- @import "vendor/fields";
86
- @import "vendor/widget";
87
- @import "vendor/customizer";
88
- @import "vendor/taxonomy";
89
- @import "vendor/profile";
90
- @import "vendor/modal";
91
- @import "vendor/helper";
92
- @import "vendor/welcome";
93
- @import "vendor/responsive";
94
- @import "vendor/chosen";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/views/framework/assets/scss/vendor/_base.scss DELETED
@@ -1,446 +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
-
37
- h1{
38
- float: left;
39
- font-size: 1.5em;
40
- line-height: 26px;
41
- font-weight: 400;
42
- margin: 0;
43
-
44
- small{
45
- font-size: 11px;
46
- font-weight: 500;
47
- }
48
- }
49
- }
50
-
51
- /**
52
- * 01. 02. Sticky
53
- */
54
- .csf-sticky{
55
-
56
- .csf-header-inner{
57
- position: fixed;
58
- z-index: 99999;
59
- top: 32px;
60
- @include box-shadow(0 5px 25px rgba(black, 0.125));
61
- }
62
- }
63
-
64
- /**
65
- * 01. 03. Header Buttons
66
- */
67
- .csf-buttons{
68
- float: right;
69
- @include transition(opacity 0.2s);
70
-
71
- .button{
72
- margin: 0 2px;
73
- line-height: 26px;
74
-
75
- &:focus{
76
- outline: none !important;
77
- box-shadow: none !important;
78
- }
79
- }
80
-
81
- .csf-save{
82
- min-width: 72px;
83
- }
84
- }
85
-
86
- .csf-header-left{
87
- float: left;
88
- }
89
-
90
- .csf-header-right{
91
- float: right;
92
- }
93
-
94
- /**
95
- * 01. 04. Navigation
96
- */
97
- .csf-nav{
98
- display: block;
99
- position: relative;
100
- z-index: 10;
101
- float: left;
102
- width: 225px;
103
-
104
- ul{
105
- clear: left;
106
- margin: 0;
107
- list-style-type: none;
108
-
109
- li{
110
- margin-bottom: 0;
111
-
112
- a{
113
- font-size: 13px;
114
- position: relative;
115
- display: block;
116
- padding: 14px 12px;
117
- text-decoration: none;
118
- @include transition(all 0.3s ease);
119
-
120
- &:focus{
121
- outline: none;
122
- @include box-shadow(none);
123
- }
124
- }
125
-
126
- .csf-section-active{
127
-
128
- &:after{
129
- content: " ";
130
- position: absolute;
131
- right: 0;
132
- top: 50%;
133
- height: 0;
134
- width: 0;
135
- pointer-events: none;
136
- border: solid transparent;
137
- border-right-color: #fff;
138
- border-width: 4px;
139
- margin-top: -4px;
140
- }
141
- }
142
-
143
- .csf-arrow:after{
144
- content: "\f054";
145
- display: inline-block;
146
- font-family: "FontAwesome";
147
- font-size: 9px;
148
- line-height: 1;
149
- position: absolute;
150
- right: 10px;
151
- top: 50%;
152
- margin-top: -4px;
153
- @include transform(rotate(0));
154
- }
155
-
156
- &.csf-tab-active{
157
-
158
- .csf-arrow:after{
159
- @include transform( rotate(90deg) );
160
- }
161
-
162
- ul{
163
- display: block;
164
- }
165
- }
166
- }
167
-
168
- ul{
169
- display: none;
170
- position: relative;
171
-
172
- li{
173
-
174
- a{
175
- font-size: 12px;
176
- padding: 12px 14px 12px 24px;
177
- }
178
- }
179
- }
180
- }
181
-
182
- .fa{
183
- width: 20px;
184
- margin-right: 5px;
185
- font-size: 14px;
186
- text-align: center;
187
- }
188
-
189
- .csf-label-error{
190
- margin-left: 4px;
191
- vertical-align: top;
192
- }
193
- }
194
-
195
- .csf-nav-background{
196
- position: absolute;
197
- top: 0;
198
- left: 0;
199
- bottom: 0;
200
- z-index: 9;
201
- width: 225px;
202
- }
203
-
204
- /**
205
- * 01. 05. Wrapper
206
- */
207
- .csf-wrapper{
208
- position: relative;
209
- }
210
-
211
- /**
212
- * 01. 06. Content
213
- */
214
- .csf-content{
215
- position: relative;
216
- margin-left: 225px;
217
- background-color: #fff;
218
- @include transition(opacity 0.2s);
219
- }
220
-
221
- /**
222
- * 01. 07. Section
223
- */
224
- .csf-sections{
225
- float: left;
226
- width: 100%;
227
- }
228
-
229
- .csf-section{
230
- display: none;
231
- }
232
-
233
- .csf-section-title{
234
- display: none;
235
- padding: 20px 30px;
236
- background-color: #f5f5f5;
237
- border-top: 1px solid #eee;
238
- border-bottom: 1px solid #eee;
239
-
240
- h3{
241
- margin: 0;
242
- padding: 0 ;
243
- font-size: 13px;
244
- font-weight: bold;
245
- text-transform: uppercase;
246
- }
247
-
248
- .fa{
249
- margin-right: 5px;
250
- }
251
- }
252
-
253
- /**
254
- * 01. 08. Footer
255
- */
256
- .csf-footer{
257
- padding: 20px;
258
- font-size: 11px;
259
- }
260
-
261
- /**
262
- * 01. 09. Copyright
263
- */
264
- .csf-copyright{
265
- float: left;
266
- margin-top: 5px;
267
- }
268
-
269
- /**
270
- * 01. 10. Show All Options
271
- */
272
- .csf-search-all,
273
- .csf-show-all{
274
- .csf-nav-background,
275
- .csf-nav{
276
- display: none;
277
- }
278
-
279
- .csf-content{
280
- margin-left: 0;
281
- }
282
-
283
- .csf-section-title,
284
- .csf-section{
285
- display: block !important;
286
- }
287
- }
288
-
289
- .csf-search-all{
290
- .csf-section-title{
291
- display: none !important;
292
- }
293
- }
294
-
295
- //
296
- // Expand
297
- //
298
- .csf-expand-all{
299
- float: left;
300
- padding: 0 8px;
301
- margin-right: 4px;
302
- z-index: 1;
303
- font-size: 14px;
304
- line-height: 28px;
305
- cursor: pointer;
306
- user-select: none;
307
- @include border-radius(2px);
308
- @include transition(all 0.2s);
309
-
310
- span{
311
- font-size: 11px;
312
- vertical-align: middle;
313
- }
314
- }
315
-
316
- /**
317
- * 01. 11. Search Input
318
- */
319
- .csf-search{
320
- float: left;
321
-
322
- input{
323
- margin: 0 2px 0 0;
324
- border: none;
325
- font-size: 12px;
326
- line-height: 28px;
327
- min-height: 28px;
328
- text-align: inherit;
329
- padding: 0 10px;
330
- @include border-radius(2px);
331
- @include box-shadow(none);
332
-
333
- &:focus{
334
- @include box-shadow(none);
335
- }
336
- }
337
- }
338
-
339
- .csf-saving{
340
-
341
- .csf-buttons,
342
- .csf-content{
343
- cursor: default;
344
- pointer-events: none;
345
- @include opacity(0.5);
346
- }
347
- }
348
-
349
- /**
350
- * 01. 12. Metabox
351
- */
352
- .csf-metabox{
353
- margin: -6px -12px -12px -12px;
354
-
355
- .csf-section-title{
356
- padding: 20px;
357
- }
358
- }
359
-
360
- .block-editor-page{
361
-
362
- .csf-metabox{
363
- margin: -6px -14px -12px -14px;
364
- }
365
- }
366
-
367
- .csf-restore-wrapper{
368
- text-align: right;
369
- padding: 10px;
370
- border-top: 1px solid #eee;
371
-
372
- .csf-button-cancel,
373
- input{
374
- display: none;
375
- }
376
-
377
- span{
378
- -webkit-user-select: none;
379
- user-select: none;
380
- }
381
-
382
-
383
- input:checked ~ .csf-button-restore{
384
- display: none;
385
- }
386
-
387
- input:checked ~ .csf-button-cancel{
388
- display: inline-block;
389
- }
390
-
391
- }
392
-
393
- #side-sortables{
394
-
395
- .csf-section-title{
396
- padding: 12px;
397
- }
398
-
399
- .csf-field{
400
- padding: 12px;
401
-
402
- .csf-title{
403
- float: none;
404
- width: 100%;
405
- margin-bottom: 10px;
406
- }
407
-
408
- .csf-fieldset{
409
- margin-left: 0;
410
- }
411
- }
412
-
413
- .csf-notice{
414
- padding: 12px;
415
- }
416
- }
417
-
418
- /**
419
- * 01. 13. Comment Metabox
420
- */
421
- .csf-comment-metabox{
422
- margin: -6px -12px -12px -12px;
423
-
424
- .csf-section-title{
425
- padding: 20px;
426
- }
427
- }
428
-
429
-
430
- /**
431
- * 01. 14. Help Tooltip
432
- */
433
- .csf-tooltip{
434
- position: absolute;
435
- z-index: 5000001;
436
- font-size: 12px;
437
- line-height: 1.4;
438
- text-align: center;
439
- text-decoration: none;
440
- padding: 6px 12px;
441
- max-width: 200px;
442
- color: #fff;
443
- background-color: #000;
444
- background-color: rgba(black, 0.85);
445
- @include border-radius(4px);
446
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/views/framework/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/views/framework/assets/scss/vendor/_customizer.scss DELETED
@@ -1,185 +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
- margin-left: 0;
25
- }
26
- }
27
-
28
- .csf-help{
29
- top: -5px;
30
- right: -5px;
31
- }
32
-
33
- .csf-field-select select{
34
- width: 100%;
35
- }
36
-
37
- .csf-field-heading{
38
- color: inherit;
39
- font-size: 14px;
40
- line-height: 1em;
41
- margin-right: -15px;
42
- margin-left: -15px;
43
- padding: 15px;
44
- }
45
-
46
- .csf-field-subheading{
47
- color: inherit;
48
- font-size: 11px;
49
- margin-right: -15px;
50
- margin-left: -15px;
51
- padding: 10px 15px;
52
- }
53
-
54
- .csf-text-subtitle{
55
- margin-top: 4px;
56
- font-size: 12px;
57
- }
58
-
59
- .csf-field-submessage .csf-submessage{
60
- margin-right: -15px;
61
- margin-left: -15px;
62
- padding: 15px;
63
- }
64
-
65
- .csf-fieldset{
66
-
67
- .csf-field-submessage .csf-submessage,
68
- .csf-field-heading,
69
- .csf-field-subheading{
70
- margin-left: 0;
71
- margin-right: 0;
72
- }
73
- }
74
-
75
- .csf-field-date{
76
-
77
- .csf--to{
78
- margin-left: 0;
79
- }
80
- }
81
-
82
- .csf-field-sorter{
83
-
84
- ul li{
85
- padding: 5px;
86
- }
87
-
88
- .csf-modules{
89
- float: none;
90
- width: 100%;
91
- }
92
-
93
- .csf-modules:first-child{
94
- padding-right: 0;
95
- padding-bottom: 15px;
96
- }
97
- }
98
-
99
- .csf-field-background{
100
-
101
- .csf--background-attributes{
102
- flex-direction: column;
103
- }
104
- }
105
-
106
- .csf-field-spacing{
107
- input{
108
- width: 90px;
109
- }
110
- }
111
-
112
- .csf-field-border{
113
-
114
- .csf--input{
115
- flex: 1 50%;
116
- }
117
-
118
- input,
119
- select{
120
- width: 100%;
121
- }
122
- }
123
-
124
- .csf-field-spinner{
125
- input{
126
- width: 50px;
127
- }
128
- }
129
-
130
- .csf-field-number{
131
-
132
- .csf--wrap{
133
- width: 100%;
134
- }
135
- }
136
-
137
- .csf-field-backup{
138
-
139
- .csf-export-data{
140
- display: none;
141
- }
142
- }
143
-
144
- .csf-field-fieldset{
145
-
146
- .csf-fieldset-content{
147
- border-color: #e5e5e5;
148
- }
149
-
150
- .csf-field{
151
- padding: 10px;
152
-
153
- .csf-title{
154
- margin-bottom: 5px;
155
- }
156
-
157
- h4{
158
- font-size: 12px;
159
- }
160
- }
161
- }
162
-
163
- .csf-field-group,
164
- .csf-field-tabbed,
165
- .csf-field-sortable,
166
- .csf-field-repeater,
167
- .csf-field-accordion{
168
-
169
- .csf-field{
170
- padding: 10px;
171
-
172
- .csf-title{
173
- margin-bottom: 5px;
174
- }
175
-
176
- h4{
177
- font-size: 12px;
178
- }
179
- }
180
- }
181
-
182
- .csf-dependency-control.hidden{
183
- display: none !important;
184
- }
185
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/views/framework/assets/scss/vendor/_fields.scss DELETED
@@ -1,2193 +0,0 @@
1
- /**
2
- * 03. Fields
3
- */
4
- .csf-field{
5
- position: relative;
6
- padding: 30px;
7
-
8
- + .csf-field:not(.hidden){
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
- margin-left: 25%;
47
- }
48
- }
49
-
50
- .csf-pseudo-field{
51
- padding: 0 5px 0 0 !important;
52
- display: inline-block;
53
-
54
- + .csf-pseudo-field{
55
- border: 0;
56
- }
57
-
58
- pre{
59
- display: none;
60
- }
61
- }
62
-
63
- /**
64
- * 03. 02. Field: accordion
65
- */
66
- .csf-field-accordion{
67
-
68
- .csf-accordion-item{
69
- position: relative;
70
- margin-bottom: 5px;
71
-
72
- h4{
73
- font-size: 1em;
74
- }
75
- }
76
-
77
- .csf-accordion-title{
78
- display: block;
79
- cursor: pointer;
80
- position: relative;
81
- margin: 0;
82
- padding: 15px;
83
- min-height: 0;
84
- font-size: 100%;
85
- user-select: none;
86
- border: 1px solid #ccd0d4;
87
- background-color: #fafafa;
88
- box-shadow: 0 1px 1px rgba(0,0,0,.04);
89
- transition: border-color .15s;
90
-
91
- &:active,
92
- &:hover,
93
- &:focus{
94
- outline: none;
95
- border-color: #999;
96
- }
97
- }
98
-
99
- .csf-accordion-icon{
100
- width: 14px;
101
- text-align: center;
102
- }
103
-
104
- .csf--icon{
105
- width: 20px;
106
- text-align: center;
107
- }
108
-
109
- .csf-accordion-content{
110
- display: none;
111
- padding: 0;
112
- border: 1px solid #ccd0d4;
113
- border-top: none;
114
- background-color: #fff;
115
- box-shadow: 0 1px 1px rgba(0,0,0,.04);
116
-
117
- > .csf-field{
118
- padding: 15px;
119
- }
120
- }
121
-
122
- .csf-accordion-open{
123
- display: block;
124
- }
125
- }
126
-
127
- /**
128
- * 03. 03. Field: background
129
- */
130
- .csf-field-background{
131
-
132
- .csf-field{
133
- border: 0 !important;
134
- padding: 0;
135
- margin-bottom: 6px;
136
- margin-right: 6px;
137
- }
138
-
139
- .csf--title{
140
- color: #777;
141
- font-size: 12px;
142
- }
143
-
144
- .csf--background-colors{
145
- display: flex;
146
- }
147
-
148
- .csf--background-attributes{
149
- display: flex;
150
- flex-wrap: wrap;
151
-
152
- select{
153
- min-width: 100%;
154
- margin: 0;
155
- }
156
-
157
- .csf-field{
158
- flex: 1;
159
- }
160
- }
161
-
162
- .csf--attributes-hidden{
163
- display: none;
164
- }
165
-
166
- .wp-color-result.button{
167
- margin-bottom: 0;
168
- }
169
- }
170
-
171
- /**
172
- * 03. 04. Field: backup
173
- */
174
- .csf-field-backup{
175
-
176
- textarea{
177
- width: 100%;
178
- min-height: 200px;
179
- margin-bottom: 5px;
180
- }
181
-
182
- small{
183
- display: inline-block;
184
- margin: 5px;
185
- }
186
-
187
- hr{
188
- margin: 20px 0;
189
- border: none;
190
- border-bottom: 1px solid #e5e5e5;
191
- }
192
- }
193
-
194
- /**
195
- * 03. 05. Field: border, spacing, dimensions
196
- */
197
- .csf-field-border,
198
- .csf-field-spacing,
199
- .csf-field-dimensions{
200
-
201
- .csf--inputs{
202
- float: left;
203
- display: flex;
204
- flex-wrap: wrap;
205
- }
206
-
207
- .csf--input{
208
- display: flex;
209
- padding-right: 6px;
210
- padding-bottom: 4px;
211
- box-sizing: border-box;
212
-
213
- select{
214
- margin: 0;
215
- }
216
-
217
- input{
218
- position: relative;
219
- z-index: 1;
220
- margin: 0;
221
- width: 65px;
222
- max-width: 100%;
223
- text-align: center;
224
- }
225
- }
226
-
227
- .csf--color{
228
- float: left;
229
- }
230
-
231
- .csf--label{
232
- display: flex;
233
- flex-direction: column;
234
- justify-content: center;
235
- user-select: none;
236
- min-width: 20px;
237
- max-width: 100%;
238
- padding: 0 4px;
239
- font-size: 12px;
240
- text-align: center;
241
- color: #555;
242
- border: 1px solid #7B776C;
243
- background-color: #f5f5f5;
244
- }
245
-
246
- .csf--icon{
247
- border-right: 0;
248
- border-radius: 4px 0 0 4px;
249
- }
250
-
251
- .csf--icon + input{
252
- border-top-left-radius: 0;
253
- border-bottom-left-radius: 0;
254
- }
255
-
256
- .csf--unit{
257
- border-left: 0;
258
- border-radius: 0 4px 4px 0;
259
- }
260
-
261
- .csf--is-unit{
262
- border-top-right-radius: 0;
263
- border-bottom-right-radius: 0;
264
- }
265
- }
266
-
267
- /**
268
- * 03. 06. Field: button_set
269
- */
270
- .csf-field-button_set{
271
-
272
- .csf--buttons{
273
- display: inline-block;
274
- }
275
-
276
- .csf--button{
277
- position: relative;
278
- z-index: 1;
279
- float: left;
280
- cursor: pointer;
281
- padding: 7px 14px;
282
- min-width: 40px;
283
- text-align: center;
284
- color: #555;
285
- border: 1px solid #cccccc;
286
- background-color: #f7f7f7;
287
- user-select: none;
288
- -webkit-user-select: none;
289
- box-shadow: 0 1px 0 rgba(0,0,0,0.1);
290
-
291
- &:first-child{
292
- border-radius: 4px 0 0 4px;
293
- }
294
-
295
- &:last-child{
296
- border-radius: 0 4px 4px 0;
297
- }
298
-
299
- &:not(:first-child){
300
- margin-left: -1px;
301
- }
302
-
303
- &:hover{
304
- background-color: #eee;
305
- }
306
- }
307
-
308
- .csf--active:hover,
309
- .csf--active{
310
- z-index: 2;
311
- color: #fff;
312
- border-color: #006799;
313
- background-color: #0085ba;
314
- }
315
-
316
- input{
317
- display: none;
318
- }
319
- }
320
-
321
- /**
322
- * 03. 07. Field: checkbox, radio
323
- */
324
- .csf-field-checkbox,
325
- .csf-field-radio{
326
-
327
- ul{
328
- margin: 0;
329
- padding: 0 1px;
330
- list-style-type: none;
331
- overflow-y: auto;
332
- max-height: 305px;
333
-
334
- ul{
335
- max-height: none;
336
- }
337
- }
338
-
339
- .csf--inline-list li{
340
- display: inline-block;
341
- margin-right: 15px;
342
- }
343
-
344
- input[type="radio"]:checked:before{
345
- line-height: 10px;
346
- }
347
-
348
- .csf-checker{
349
- cursor: pointer;
350
- }
351
- }
352
-
353
- /**
354
- * 03. 08. Field: code_editor
355
- */
356
- .csf-field-code_editor{
357
-
358
- .CodeMirror{
359
- width: 100%;
360
- height: 400px;
361
- }
362
-
363
- .cm-s-default{
364
- border: 1px solid #ccd0d4;
365
- }
366
-
367
- textarea{
368
- width: 100%;
369
- height: 400px;
370
- }
371
- }
372
-
373
- /**
374
- * 03. 09. Field: color
375
- */
376
- .csf-field-color{
377
-
378
- > input{
379
- opacity: 0.75;
380
- width: 115px;
381
- max-width: 100%;
382
- }
383
-
384
- .button.wp-picker-clear{
385
- margin-left: 6px;
386
- padding: 2px 8px;
387
- }
388
- }
389
-
390
- /**
391
- * 03. 10. Field: color_group
392
- */
393
- .csf-field-color_group{
394
-
395
- .csf--left{
396
- float: left;
397
- margin-right: 10px;
398
- margin-bottom: 5px;
399
- }
400
-
401
- .csf--title{
402
- color: #999;
403
- margin-bottom: 5px;
404
- }
405
- }
406
-
407
- /**
408
- * 03. 11. Field: fieldset
409
- */
410
- .csf-field-fieldset{
411
-
412
- .csf-fieldset-content{
413
- border: 1px solid #ccd0d4;
414
- background-color: #fff;
415
- box-shadow: 0 1px 1px rgba(0,0,0,.04);
416
-
417
- > .csf-field{
418
- padding: 15px;
419
- }
420
- }
421
-
422
- .csf-field-subheading{
423
- font-size: 13px;
424
- }
425
- }
426
-
427
- /**
428
- * 03. 12. Field: date
429
- */
430
- .csf-field-date{
431
-
432
- input{
433
- margin: 0;
434
- }
435
-
436
- .csf--to{
437
- margin-left: 7px;
438
- }
439
- }
440
-
441
- .csf-datepicker-wrapper{
442
- margin-top: 5px;
443
- width: auto;
444
- background-color: #fff;
445
- z-index: 9999999 !important;
446
- @include box-shadow(0 0 30px rgba(black, 0.15));
447
-
448
- *{
449
- float: none;
450
- margin: 0;
451
- padding: 0;
452
- font-family: inherit;
453
- font-weight: normal;
454
- font-style: normal;
455
- text-decoration: none;
456
- border: 0;
457
- border-radius: 0;
458
- box-shadow: none;
459
- }
460
-
461
- .ui-widget-header,
462
- .ui-datepicker-header{
463
- color: #fff;
464
- background: #00a0d2;
465
- }
466
-
467
- .ui-datepicker-header .ui-state-hover{
468
- cursor: pointer;
469
- }
470
-
471
- .ui-datepicker-title{
472
- font-size: 14px;
473
- line-height: 40px;
474
- text-align: center;
475
- }
476
-
477
- .ui-datepicker-prev,
478
- .ui-datepicker-next{
479
- position: static;
480
- top: auto;
481
- left: auto;
482
- right: auto;
483
- font-family: "FontAwesome";
484
- font-size: 12px;
485
- text-align: center;
486
- width: 41px;
487
- height: 40px;
488
- line-height: 40px;
489
- color: #fff;
490
- background-color: rgba(white, 0.1);
491
- text-rendering: auto;
492
- -webkit-font-smoothing: antialiased;
493
- -moz-osx-font-smoothing: grayscale;
494
- }
495
-
496
- .ui-datepicker-next span,
497
- .ui-datepicker-prev span{
498
- display: none;
499
- }
500
-
501
- .ui-datepicker-prev{
502
- float: left;
503
- }
504
-
505
- .ui-datepicker-next{
506
- float: right;
507
- }
508
-
509
- .ui-datepicker-prev:before{
510
- content: '\f053';
511
- }
512
-
513
- .ui-datepicker-next:before{
514
- content: '\f054';
515
- }
516
-
517
- .ui-datepicker-prev-hover,
518
- .ui-datepicker-next-hover{
519
- opacity: 0.75;
520
- }
521
-
522
- tbody .ui-datepicker-week-col{
523
- background-color: #f7f7f7;
524
- }
525
-
526
- .ui-datepicker-buttonpane{
527
- padding: 10px;
528
- text-align: center;
529
- background-color: #f7f7f7;
530
- }
531
-
532
- .ui-datepicker-buttonpane button{
533
- cursor: pointer;
534
- margin: 0 5px;
535
- padding: 7px 14px;
536
- border: 1px solid #eee;
537
- background-color: #fff;
538
- }
539
-
540
- select{
541
- margin: 0 4px;
542
- }
543
-
544
- select option{
545
- color: #555;
546
- }
547
-
548
- table{
549
- font-size: 13px;
550
- border-collapse: collapse;
551
- width: 100%;
552
- }
553
-
554
- thead{
555
- color: #fff;
556
- background: #32373c;
557
- }
558
-
559
- th{
560
- text-align: center;
561
- padding: 7px;
562
- border: 1px solid #444;
563
- }
564
-
565
- td{
566
- text-align: center;
567
- border: 1px solid #f4f4f4;
568
- }
569
-
570
- td.ui-datepicker-other-month{
571
- border: transparent;
572
- }
573
-
574
- td .ui-state-default{
575
- color: #555;
576
- width: auto;
577
- display: block;
578
- padding: 6px 12px;
579
- }
580
-
581
- td .ui-state-active,
582
- td .ui-state-hover{
583
- color: #fff;
584
- background-color: #0073aa;
585
- }
586
-
587
- td.ui-state-disabled .ui-state-default{
588
- opacity: 0.5;
589
- }
590
- }
591
-
592
- /**
593
- * 03. 13. Field: gallery
594
- */
595
- .csf-field-gallery{
596
-
597
- input{
598
- display: none;
599
- }
600
-
601
- ul{
602
- margin: 0;
603
- padding: 0;
604
- list-style-type: none;
605
-
606
- li{
607
- display: inline-block;
608
- position: relative;
609
- padding: 4px;
610
- margin: 0 5px 10px 0;
611
- border: 1px solid #ccc;
612
- background-color: #f9f9f9;
613
- @include border-radius(2px);
614
- @include box-shadow(0 1px 0 rgba(black, 0.08));
615
-
616
- img{
617
- max-height: 60px;
618
- display: inline-block;
619
- vertical-align: middle;
620
- }
621
- }
622
- }
623
-
624
- .button{
625
- margin-right: 5px;
626
- margin-bottom: 5px;
627
- }
628
- }
629
-
630
- /**
631
- * 03. 14. Field: group
632
- */
633
- .csf-field-group{
634
-
635
- .csf-cloneable-hidden{
636
- display: none !important;
637
- }
638
-
639
- .csf-cloneable-wrapper{
640
- position: relative;
641
- }
642
-
643
- .csf-cloneable-item{
644
- display: none;
645
- position: relative;
646
- margin-bottom: 5px;
647
-
648
- h4{
649
- font-size: 1em;
650
- }
651
- }
652
-
653
- .ui-accordion .csf-cloneable-item{
654
- display: block;
655
- }
656
-
657
- .csf-cloneable-content{
658
- border: 1px solid #ccd0d4;
659
- background-color: #fff;
660
- box-shadow: 0 1px 1px rgba(0,0,0,.04);
661
-
662
- > .csf-field{
663
- padding: 15px;
664
- }
665
- }
666
-
667
- .csf-cloneable-title{
668
- display: block;
669
- cursor: pointer;
670
- position: relative;
671
- user-select: none;
672
- margin: 0;
673
- padding: 15px 65px 15px 10px;
674
- min-height: 0;
675
- font-size: 100%;
676
- border: 1px solid #ccd0d4;
677
- background-color: #fafafa;
678
- box-shadow: 0 1px 1px rgba(0,0,0,.04);
679
- transition: border-color .15s;
680
-
681
- &:active,
682
- &:hover,
683
- &:focus{
684
- border-color: #999;
685
- outline: none;
686
- }
687
- }
688
-
689
- .csf-cloneable-helper{
690
- position: absolute;
691
- top: 12px;
692
- right: 10px;
693
- z-index: 1;
694
- font-size: 14px;
695
- line-height: 1em;
696
-
697
- i{
698
- display: inline-block;
699
- cursor: pointer;
700
- padding: 5px;
701
- color: #999;
702
-
703
- &:hover{
704
- color: #555;
705
- }
706
- }
707
- }
708
-
709
- .csf-cloneable-content{
710
- padding: 0;
711
- border-top: 0;
712
- }
713
-
714
- .csf-cloneable-title-prefix,
715
- .csf-cloneable-title-number{
716
- margin-right: 5px;
717
- }
718
-
719
- .csf-cloneable-alert{
720
- display: none;
721
- margin-bottom: 5px;
722
- padding: 10px 20px;
723
- color: #a94442;
724
- border: 1px solid #ebccd1;
725
- background-color: #f2dede;
726
- }
727
-
728
- .widget-placeholder{
729
- margin-bottom: 10px;
730
- border: 1px dashed #f1c40f;
731
- background-color: #fffae4;
732
- }
733
-
734
- .csf-cloneable-header-icon{
735
- display: inline-block;
736
- text-align: center;
737
- font-size: 14px;
738
- width: 17px;
739
- text-indent: 0;
740
- vertical-align: text-top;
741
- }
742
-
743
- .csf-cloneable-placeholder{
744
- background-color: #ddd;
745
- margin-top: 4px;
746
- width: 100px;
747
- height: 10px;
748
- font-size: 10px;
749
- line-height: 10px;
750
- display: inline-block;
751
- vertical-align: top;
752
- border-radius: 2px;
753
- }
754
- }
755
-
756
- /**
757
- * 03. 15. Field: icon
758
- */
759
- .csf-field-icon{
760
-
761
- input{
762
- display: none;
763
- }
764
-
765
- .button{
766
- margin-right: 5px;
767
- }
768
-
769
- .csf-icon-preview i{
770
- display: inline-block;
771
- font-size: 14px;
772
- width: 30px;
773
- height: 26px;
774
- line-height: 26px;
775
- margin-right: 5px;
776
- text-align: center;
777
- vertical-align: top;
778
- color: #555;
779
- border: 1px solid #ccc;
780
- background-color: #f7f7f7;
781
- @include border-radius(3px);
782
- @include box-shadow(0 1px 0 rgba(black, 0.08));
783
- @include box-sizing(content-box);
784
- }
785
- }
786
-
787
- /**
788
- * 03. 16. Field: image_select
789
- */
790
- .csf-field-image_select{
791
-
792
- .csf--image{
793
- cursor: pointer;
794
- position: relative;
795
- display: inline-block;
796
- max-width: 100%;
797
- margin: 0 5px 5px 0;
798
- vertical-align: bottom;
799
- border: 2px solid transparent;
800
- background-color: #fff;
801
- user-select: none;
802
- -webkit-user-select: none;
803
- @include transition(all 0.2s);
804
-
805
- &:before{
806
- position: absolute;
807
- top: 0;
808
- left: 0;
809
- text-align: center;
810
- font-size: 11px;
811
- font-family: FontAwesome;
812
- content: "\f00c";
813
- width: 15px;
814
- height: 15px;
815
- line-height: 15px;
816
- opacity: 0;
817
- color: #fff;
818
- background-color: #222;
819
- transition: opacity .2s;
820
- }
821
- }
822
-
823
- .csf--active{
824
- border-color: #222;
825
- box-shadow: 0 0 20px rgba(0,0,0,0.2);
826
-
827
- &:before{
828
- opacity: 1;
829
- }
830
- }
831
-
832
- img{
833
- vertical-align: top;
834
- }
835
-
836
- input{
837
- display: none;
838
- }
839
- }
840
-
841
- /**
842
- * 03. 17. Field: link_color
843
- */
844
- .csf-field-link_color{
845
-
846
- .csf--left{
847
- float: left;
848
- margin-right: 10px;
849
- margin-bottom: 5px;
850
- }
851
-
852
- .csf--title{
853
- color: #777;
854
- margin-bottom: 5px;
855
- }
856
- }
857
-
858
- /**
859
- * 03. 18. Field: map
860
- */
861
- .csf-field-map{
862
-
863
- input{
864
- width: 100%;
865
- }
866
-
867
- input[type="text"].ui-autocomplete-loading{
868
- background-position-x: calc(100% - 5px);
869
- }
870
-
871
- .csf--map-search + .csf--map-osm-wrap{
872
- margin-top: 10px;
873
- }
874
-
875
- .csf--map-osm-wrap{
876
- position: relative;
877
- padding: 5px;
878
- border: 1px solid #eee;
879
- background-color: #fff;
880
- box-shadow: 0 1px 1px rgba(0,0,0,.04);
881
- }
882
-
883
- .csf--map-osm{
884
- position: relative;
885
- z-index: 1;
886
- min-height: 250px;
887
- }
888
-
889
- .csf--map-inputs{
890
- margin-top: 10px;
891
- display: flex;
892
- justify-content: space-between;
893
- }
894
-
895
- .csf--map-input{
896
- flex: 1;
897
-
898
- &:last-child{
899
- padding-left: 10px;
900
- }
901
- }
902
-
903
- label{
904
- display: block;
905
- color: #777;
906
- font-size: 12px;
907
- margin: 0 0 2px 0;
908
- }
909
- }
910
-
911
- .csf-map-ui-autocomplate{
912
- z-index: 999999;
913
- border-radius: 4px;
914
- overflow: hidden;
915
- }
916
-
917
-
918
- /**
919
- * 03. 19. Field: media
920
- */
921
- .csf-field-media{
922
-
923
- .csf--placeholder{
924
- display: flex;
925
-
926
- input{
927
- width: 100%;
928
- margin: 0;
929
- }
930
- }
931
-
932
- .button{
933
- margin-left: 5px;
934
- }
935
-
936
- .hidden + .button{
937
- margin-left: 0;
938
- }
939
-
940
- .csf--preview{
941
- position: relative;
942
-
943
- .fa-times{
944
- position: absolute;
945
- z-index: 1;
946
- right: 4px;
947
- top: 4px;
948
- font-size: 14px;
949
- width: 22px;
950
- height: 22px;
951
- line-height: 22px;
952
- text-align: center;
953
- text-decoration: none;
954
- color: #fff;
955
- background-color: #dd3333;
956
- opacity: 0.8;
957
- transition: all .2s;
958
-
959
- &:hover{
960
- opacity: 1;
961
- }
962
-
963
- &:focus{
964
- box-shadow: none;
965
- }
966
- }
967
- }
968
- }
969
-
970
- /**
971
- * 03. 20. Field: palette
972
- */
973
- .csf-field-palette{
974
-
975
- .csf--palette{
976
- position: relative;
977
- display: inline-block;
978
- cursor: pointer;
979
- border: 2px solid #ddd;
980
- margin-right: 10px;
981
- margin-bottom: 10px;
982
- user-select: none;
983
- -webkit-user-select: none;
984
- transition: all .2s;
985
-
986
- span{
987
- vertical-align: middle;
988
- display: inline-block;
989
- width: 22px;
990
- height: 60px;
991
- line-height: 60px;
992
- overflow: hidden;
993
- text-indent: -999px;
994
- }
995
-
996
- &:before{
997
- position: absolute;
998
- top: 0;
999
- left: 0;
1000
- text-align: center;
1001
- font-size: 11px;
1002
- font-family: FontAwesome;
1003
- content: "\f00c";
1004
- width: 15px;
1005
- height: 15px;
1006
- line-height: 15px;
1007
- opacity: 0;
1008
- color: #fff;
1009
- background-color: #222;
1010
- transition: opacity .2s;
1011
- }
1012
- }
1013
-
1014
- .csf--active{
1015
- border-color: #222;
1016
- box-shadow: 0 0 20px rgba(0,0,0,0.2);
1017
-
1018
- &:before{
1019
- opacity: 1;
1020
- }
1021
- }
1022
-
1023
- input{
1024
- display: none;
1025
- }
1026
- }
1027
-
1028
- /**
1029
- * 03. 21. Field: repeater
1030
- */
1031
- .csf-field-repeater{
1032
-
1033
- .csf-field-text input{
1034
- width: 100%;
1035
- }
1036
-
1037
- .csf-repeater-hidden{
1038
- display: none !important;
1039
- }
1040
-
1041
- .csf-repeater-wrapper{
1042
-
1043
- .csf-repeater-item{
1044
- display: table;
1045
- width: 100%;
1046
- margin-bottom: 5px;
1047
- border: 1px solid #eee;
1048
-
1049
- h4{
1050
- font-size: 1em;
1051
- }
1052
- }
1053
- }
1054
-
1055
- .csf-repeater-content{
1056
- width: 100%;
1057
- display: table-cell;
1058
- vertical-align: middle;
1059
- background-color: #fff;
1060
-
1061
- > .csf-field{
1062
- padding: 15px;
1063
- }
1064
- }
1065
-
1066
- .csf-repeater-helper{
1067
- width: 100%;
1068
- display: table-cell;
1069
- vertical-align: middle;
1070
- text-align: center;
1071
- font-size: 14px;
1072
- line-height: 1em;
1073
- border-left: 1px solid #eee;
1074
- background-color: #f7f7f7;
1075
-
1076
- i{
1077
- display: inline-block;
1078
- cursor: pointer;
1079
- color: #999;
1080
- padding: 5px;
1081
-
1082
- &:hover{
1083
- color: #555;
1084
- }
1085
- }
1086
- }
1087
-
1088
- .csf-repeater-helper-inner{
1089
- width: 75px;
1090
- }
1091
-
1092
- .csf-repeater-alert{
1093
- display: none;
1094
- margin-bottom: 5px;
1095
- padding: 10px 20px;
1096
- color: #a94442;
1097
- border: 1px solid #ebccd1;
1098
- background-color: #f2dede;
1099
- }
1100
-
1101
- .widget-placeholder{
1102
- height: 50px;
1103
- margin-bottom: 3px;
1104
- border: 1px dashed #f1c40f;
1105
- background-color: #fffae4;
1106
- }
1107
-
1108
- .ui-sortable-helper{
1109
- height: 50px !important;
1110
- overflow: hidden !important;
1111
- border-color: #ccc !important;
1112
- background-color: #eee !important;
1113
- @include opacity(0.5);
1114
-
1115
- .csf-repeater-helper,
1116
- .csf-repeater-content{
1117
- display: none;
1118
- }
1119
- }
1120
- }
1121
-
1122
- /**
1123
- * 03. 22. Field: select
1124
- */
1125
- .csf-field-select{
1126
-
1127
- .csf-fieldset{
1128
- min-height: 30px;
1129
- }
1130
-
1131
- .csf-chosen{
1132
- display: none;
1133
- }
1134
-
1135
- select{
1136
- max-width: 100%;
1137
- margin: 0;
1138
- }
1139
- }
1140
-
1141
- /**
1142
- * 03. 23. Field: slider
1143
- */
1144
- .csf-field-slider{
1145
-
1146
- .csf--wrap{
1147
- display: flex;
1148
- align-items: center;
1149
- }
1150
-
1151
- .csf--input{
1152
- display: flex;
1153
- }
1154
-
1155
- .csf--unit{
1156
- display: flex;
1157
- justify-content: center;
1158
- flex-direction: column;
1159
- user-select: none;
1160
- padding: 0 6px;
1161
- font-size: 11px;
1162
- line-height: 1;
1163
- border-radius: 0 4px 4px 0;
1164
- color: #555;
1165
- border: 1px solid #7e8993;
1166
- border-left: 0;
1167
- background-color: #f5f5f5;
1168
- }
1169
-
1170
- input[type=number]{
1171
- position: relative;
1172
- z-index: 1;
1173
- width: 50px;
1174
- margin: 0 0 0 15px;
1175
- text-align: center;
1176
- }
1177
-
1178
- .csf--is-unit{
1179
- border-top-right-radius: 0;
1180
- border-bottom-right-radius: 0;
1181
- }
1182
-
1183
- .ui-slider{
1184
- position: relative;
1185
- width: 100%;
1186
- height: 3px;
1187
- border: none;
1188
- background: #ddd;
1189
- border-radius: 2px;
1190
- }
1191
-
1192
- .ui-slider-range{
1193
- height: 3px;
1194
- border: none;
1195
- background: #333;
1196
- border-radius: 2px;
1197
- }
1198
-
1199
- .ui-slider-handle{
1200
- position: absolute;
1201
- width: 16px;
1202
- height: 16px;
1203
- top: -7px;
1204
- margin-left: -8px;
1205
- border: none;
1206
- background: #333;
1207
- border-radius: 2px;
1208
- }
1209
-
1210
- .ui-state-active,
1211
- .ui-slider-handle:hover{
1212
- cursor: pointer;
1213
- background: #111;
1214
- }
1215
- }
1216
-
1217
- /**
1218
- * 03. 24. Field: sortable
1219
- */
1220
- .csf-field-sortable{
1221
-
1222
- .csf-field-text{
1223
-
1224
- input{
1225
- width: 100%;
1226
- max-width: 100%;
1227
- }
1228
- }
1229
-
1230
- .csf--sortable{
1231
-
1232
- .csf--sortable-item{
1233
- display: table;
1234
- width: 100%;
1235
- margin-bottom: 5px;
1236
- border: 1px solid #eee;
1237
-
1238
- h4{
1239
- font-size: 1em;
1240
- }
1241
- }
1242
- }
1243
-
1244
- .csf--sortable-content{
1245
- width: 100%;
1246
- display: table-cell;
1247
- vertical-align: middle;
1248
- background-color: #fff;
1249
-
1250
- > .csf-field{
1251
- padding: 15px;
1252
- }
1253
- }
1254
-
1255
- .csf--sortable-helper{
1256
- width: 100%;
1257
- display: table-cell;
1258
- vertical-align: middle;
1259
- text-align: center;
1260
- font-size: 14px;
1261
- line-height: 1em;
1262
- border-left: 1px solid #eee;
1263
- background-color: #f7f7f7;
1264
-
1265
- .fa{
1266
- display: inline-block;
1267
- cursor: pointer;
1268
- width: 50px;
1269
- color: #555;
1270
-
1271
- &:hover{
1272
- @include opacity(0.5);
1273
- }
1274
- }
1275
- }
1276
-
1277
- .widget-placeholder{
1278
- height: 50px;
1279
- margin-bottom: 3px;
1280
- border: 1px dashed #f1c40f;
1281
- background-color: #fffae4;
1282
- }
1283
-
1284
- .ui-sortable-helper{
1285
- height: 50px !important;
1286
- overflow: hidden !important;
1287
- border-color: #ccc !important;
1288
- background-color: #eee !important;
1289
- @include opacity(0.5);
1290
-
1291
- .csf--sortable-helper,
1292
- .csf--sortable-content{
1293
- display: none;
1294
- }
1295
- }
1296
- }
1297
-
1298
- /**
1299
- * 03. 25. Field: sorter
1300
- */
1301
- .csf-field-sorter{
1302
-
1303
- .ui-sortable-placeholder{
1304
- height: 20px;
1305
- border: 1px dashed #f1c40f;
1306
- background-color: #fffae4;
1307
- }
1308
-
1309
- .csf-modules{
1310
- float: left;
1311
- width: 50%;
1312
- box-sizing: border-box;
1313
-
1314
- &:first-child{
1315
- padding-right: 15px;
1316
- }
1317
-
1318
- &:last-child{
1319
- padding-left: 15px;
1320
- }
1321
- }
1322
-
1323
- .csf-disabled,
1324
- .csf-enabled{
1325
- padding: 5px 15px;
1326
- border: 1px dashed #ddd;
1327
- background-color: #fff;
1328
- }
1329
-
1330
- .csf-disabled{
1331
- li{
1332
- @include transition(opacity 0.15s);
1333
- @include opacity(0.5);
1334
- }
1335
-
1336
- .ui-sortable-helper{
1337
- @include opacity(1);
1338
- }
1339
- }
1340
-
1341
- .csf-sorter-title{
1342
- font-size: 13px;
1343
- font-weight: 600;
1344
- padding: 10px;
1345
- text-align: center;
1346
- border: 1px dashed #ddd;
1347
- border-bottom: none;
1348
- background-color: #f8f8f8;
1349
- text-transform: uppercase;
1350
- }
1351
-
1352
- ul{
1353
- list-style-type: none;
1354
- margin: 0;
1355
- padding: 0;
1356
- min-height: 62px;
1357
-
1358
- li{
1359
- margin: 10px 0;
1360
- padding: 10px 15px;
1361
- cursor: move;
1362
- font-weight: bold;
1363
- text-align: center;
1364
- border: 1px solid #e5e5e5;
1365
- background-color: #fafafa;
1366
- @include transition(border-color 0.15s);
1367
-
1368
- &:hover{
1369
- border-color: #bbb;
1370
- }
1371
- }
1372
- }
1373
- }
1374
-
1375
- /**
1376
- * 03. 26. Field: spinner
1377
- */
1378
- .csf-field-spinner{
1379
-
1380
- .csf--spin{
1381
- display: flex;
1382
- }
1383
-
1384
- .ui-spinner{
1385
- display: flex;
1386
- }
1387
-
1388
- .ui-button-text-only{
1389
- display: flex;
1390
- flex-direction: column;
1391
- justify-content: center;
1392
- text-align: center;
1393
- min-width: 20px;
1394
- padding: 0 4px;
1395
- color: #555;
1396
- border: 1px solid #7e8993;
1397
- background-color: #f5f5f5;
1398
- }
1399
-
1400
- .ui-button{
1401
- cursor: pointer;
1402
-
1403
- &:hover{
1404
- background-color: #e7e7e7;
1405
- }
1406
-
1407
- &:active{
1408
- background-color: #ddd;
1409
- }
1410
-
1411
- &:before{
1412
- font-family: FontAwesome;
1413
- font-size: 14px;
1414
- }
1415
- }
1416
-
1417
- .ui-spinner-down{
1418
- order: 1;
1419
- border-right: 0;
1420
- border-radius: 4px 0 0 4px;
1421
-
1422
- &:before{
1423
- content: "\f0d9";
1424
- }
1425
- }
1426
-
1427
- .ui-spinner-input{
1428
- order: 2;
1429
- }
1430
-
1431
- .csf--unit{
1432
- order: 3;
1433
- border-left: 0;
1434
- user-select: none;
1435
- }
1436
-
1437
- .ui-spinner-up{
1438
- order: 4;
1439
- border-left: 0;
1440
- border-radius: 0 4px 4px 0;
1441
-
1442
- &:before{
1443
- content: "\f0da";
1444
- }
1445
- }
1446
-
1447
- input{
1448
- position: relative;
1449
- z-index: 1;
1450
- width: 50px;
1451
- text-align: center;
1452
- margin: 0;
1453
- padding: 0 8px;
1454
- border-radius: 0;
1455
- }
1456
-
1457
- .ui-button-text{
1458
- display: none;
1459
- }
1460
- }
1461
-
1462
- /**
1463
- * 03. 27. Field: switcher
1464
- */
1465
- .csf-field-switcher{
1466
-
1467
- .csf--switcher{
1468
- float: left;
1469
- cursor: pointer;
1470
- position: relative;
1471
- width: 60px;
1472
- height: 26px;
1473
- padding: 0;
1474
- margin: 0;
1475
- overflow: hidden;
1476
- border-radius: 4px;
1477
- background-color: #ed6f6f;
1478
- user-select: none;
1479
- -webkit-user-select: none;
1480
- }
1481
-
1482
- .csf--ball{
1483
- position: absolute;
1484
- top: 4px;
1485
- left: 4px;
1486
- width: 24px;
1487
- height: 18px;
1488
- background-color: #fff;
1489
- border-radius: 4px;
1490
- transition: all .1s;
1491
- box-shadow: 1px 1px 1px rgba(0,0,0,0.15);
1492
- }
1493
-
1494
- .csf--on,
1495
- .csf--off{
1496
- position: absolute;
1497
- top: 0;
1498
- left: 0;
1499
- right: 0;
1500
- font-size: 11px;
1501
- line-height: 26px;
1502
- font-weight: 500;
1503
- font-style: normal;
1504
- text-align: center;
1505
- text-transform: uppercase;
1506
- color: #fff;
1507
- padding-right: 28px;
1508
- opacity: 0;
1509
- transition: all .1s;
1510
- }
1511
-
1512
- .csf--off{
1513
- padding-right: 0;
1514
- padding-left: 28px;
1515
- opacity: 1;
1516
- }
1517
-
1518
- .csf--active{
1519
- background: #4fb845;
1520
-
1521
- .csf--on{
1522
- opacity: 1;
1523
- }
1524
-
1525
- .csf--off{
1526
- opacity: 0;
1527
- }
1528
-
1529
- .csf--ball{
1530
- left: 100%;
1531
- margin-left: -28px;
1532
- }
1533
- }
1534
-
1535
- .csf--label{
1536
- float: left;
1537
- margin-top: 4px;
1538
- margin-left: 8px;
1539
- font-weight: 400;
1540
- color: #999;
1541
- }
1542
-
1543
- input{
1544
- display: none;
1545
- }
1546
- }
1547
-
1548
- /**
1549
- * 03. 28. Field: tabbed
1550
- */
1551
- .csf-field-tabbed{
1552
-
1553
- .csf-tabbed-section{
1554
- border: 1px solid #ccd0d4;
1555
- background-color: #fff;
1556
- box-shadow: 0 1px 1px rgba(0,0,0,.04);
1557
-
1558
- > .csf-field{
1559
- padding: 15px;
1560
- }
1561
- }
1562
-
1563
- .csf-tabbed-nav{
1564
-
1565
- .csf--icon{
1566
- padding-right: 5px;
1567
- }
1568
-
1569
- a{
1570
- display: inline-block;
1571
- padding: 12px 15px;
1572
- margin-top: 1px;
1573
- margin-right: 5px;
1574
- margin-bottom: -1px;
1575
- position: relative;
1576
- text-decoration: none;
1577
- color: #444;
1578
- font-weight: 600;
1579
- border: 1px solid #ccd0d4;
1580
- background-color: #f3f3f3;
1581
- transition: all .2s;
1582
-
1583
- &:hover{
1584
- background-color: #f9f9f9;
1585
- }
1586
-
1587
- &.csf-tabbed-active{
1588
- background-color: #fff;
1589
- border-bottom-color: #fff;
1590
- }
1591
-
1592
- &:focus{
1593
- outline: none;
1594
- @include box-shadow(none);
1595
- }
1596
- }
1597
- }
1598
- }
1599
-
1600
- /**
1601
- * 03. 29. Field: text
1602
- */
1603
- .csf-field-text{
1604
-
1605
- input{
1606
- width: 50%;
1607
- max-width: 100%;
1608
- margin: 0;
1609
- }
1610
- }
1611
-
1612
- /**
1613
- * 03. 30. Field: textarea
1614
- */
1615
- .csf-field-textarea{
1616
-
1617
- textarea{
1618
- width: 100%;
1619
- max-width: 100%;
1620
- min-height: 125px;
1621
- }
1622
-
1623
- .csf-shortcode-button{
1624
- margin-bottom: 10px;
1625
- margin-right: 5px;
1626
- }
1627
- }
1628
-
1629
- /**
1630
- * 03. 31. Field: typography
1631
- */
1632
- .csf-field-typography{
1633
-
1634
- textarea,
1635
- select{
1636
- min-width: 100%;
1637
- margin: 0;
1638
- }
1639
-
1640
- .csf--title{
1641
- color: #777;
1642
- margin: 0 0 2px 0;
1643
- font-size: 12px;
1644
-
1645
- small{
1646
- vertical-align: top;
1647
- }
1648
- }
1649
-
1650
- .csf--blocks{
1651
- display: flex;
1652
- flex-wrap: wrap;
1653
- }
1654
-
1655
- .csf--block{
1656
- flex: 1;
1657
- padding-right: 6px;
1658
- padding-bottom: 6px;
1659
- }
1660
-
1661
- .csf--input{
1662
- margin: 0;
1663
- min-width: 100%;
1664
- }
1665
-
1666
- .csf--input-wrap{
1667
- position: relative;
1668
- }
1669
-
1670
- .csf--unit{
1671
- position: absolute;
1672
- z-index: 1;
1673
- right: 4px;
1674
- top: 4px;
1675
- bottom: 4px;
1676
- padding: 2px 6px;
1677
- color: #666;
1678
- font-size: 11px;
1679
- line-height: 1;
1680
- border-radius: 2px;
1681
- background: #eee;
1682
- user-select: none;
1683
- display: flex;
1684
- justify-content: center;
1685
- flex-direction: column;
1686
- }
1687
-
1688
- .csf--preview{
1689
- font-size: 16px;
1690
- line-height: 20px;
1691
- padding: 20px;
1692
- color: #222;
1693
- border: 1px solid #eee;
1694
- background-color: #fff;
1695
- border-radius: 2.5px;
1696
- user-select: none;
1697
- -webkit-user-select: none;
1698
- transition: background-color .2s, border-color .2s;
1699
- }
1700
-
1701
- .csf--block-preview{
1702
- cursor: pointer;
1703
- position: relative;
1704
- overflow: hidden;
1705
- margin-top: 10px;
1706
- max-width: 100%;
1707
- }
1708
-
1709
- .csf--black-background{
1710
- border-color: #000;
1711
- background-color: #000;
1712
- }
1713
-
1714
- .csf--toggle{
1715
- position: absolute;
1716
- top: 5px;
1717
- right: 10px;
1718
- color: #999;
1719
- }
1720
-
1721
- .csf--block-extra-styles{
1722
- margin-top: 5px;
1723
- }
1724
- }
1725
-
1726
- /**
1727
- * 03. 32. Field: upload
1728
- */
1729
- .csf-field-upload{
1730
-
1731
- input{
1732
- width: 100%;
1733
- margin: 0;
1734
- }
1735
-
1736
- .csf--wrap{
1737
- display: flex;
1738
- }
1739
-
1740
- .button{
1741
- margin-left: 5px;
1742
- }
1743
- }
1744
-
1745
- /**
1746
- * 03. 33. Field: wp_editor
1747
- */
1748
- .csf-field-wp_editor{
1749
-
1750
- .csf-wp-editor{
1751
- float: left;
1752
- width: 100%;
1753
- }
1754
-
1755
- .mce-toolbar-grp{
1756
- border: none;
1757
- }
1758
-
1759
- .mce-btn.mce-active button,
1760
- .mce-btn.mce-active:hover button,
1761
- .mce-btn.mce-active i,
1762
- .mce-btn.mce-active:hover i{
1763
- color: #23282d;
1764
- }
1765
-
1766
- .wp-media-buttons{
1767
- position: relative;
1768
- z-index: 2;
1769
- }
1770
-
1771
-
1772
- .wp-editor-tabs{
1773
- position: relative;
1774
- z-index: 1;
1775
- }
1776
-
1777
- .csf-no-tinymce{
1778
- border: 1px solid #e5e5e5;
1779
- }
1780
-
1781
- .csf-no-quicktags{
1782
-
1783
- .wp-media-buttons{
1784
- float: none;
1785
- display: block;
1786
- }
1787
-
1788
- .mce-tinymce{
1789
- box-shadow: none;
1790
- border: 1px solid #e5e5e5;
1791
- }
1792
- }
1793
-
1794
- textarea{
1795
- width: 100%;
1796
- max-width: 100%;
1797
- margin: 0;
1798
- box-shadow: none;
1799
- }
1800
- }
1801
-
1802
- /**
1803
- * 03. 34. Field: heading
1804
- */
1805
- .csf-field-heading{
1806
- font-size: 1.5em;
1807
- font-weight: bold;
1808
- color: #23282d;
1809
- background-color: #f5f5f5;
1810
- }
1811
-
1812
- /**
1813
- * 03. 35. Field: subheading
1814
- */
1815
- .csf-field-subheading{
1816
- font-size: 14px;
1817
- font-weight: bold;
1818
- padding-top: 17px;
1819
- padding-bottom: 17px;
1820
- color: #23282d;
1821
- background-color: #f7f7f7;
1822
- }
1823
-
1824
- /**
1825
- * 03. 36. Field: submessage
1826
- */
1827
- .csf-field-submessage{
1828
- padding: 0 !important;
1829
- border: 0 !important;
1830
-
1831
- + .csf-field{
1832
- border-top: 0 !important;
1833
- }
1834
- }
1835
-
1836
- .csf-submessage{
1837
- font-size: 12px;
1838
- padding: 17px 30px;
1839
- border-top: 1px solid transparent;
1840
- border-bottom: 1px solid transparent;
1841
- }
1842
-
1843
- .csf-submessage-success{
1844
- color: #3c763d;
1845
- border-color: #d6e9c6;
1846
- background-color: #dff0d8;
1847
- }
1848
-
1849
- .csf-submessage-info{
1850
- color: #31708f;
1851
- border-color: #bce8f1;
1852
- background-color: #d9edf7;
1853
- }
1854
-
1855
- .csf-submessage-warning{
1856
- color: #8a6d3b;
1857
- border-color: #faebcc;
1858
- background-color: #fcf8e3;
1859
- }
1860
-
1861
- .csf-submessage-danger{
1862
- color: #a94442;
1863
- border-color: #ebccd1;
1864
- background-color: #f2dede;
1865
- }
1866
-
1867
- .csf-submessage-normal{
1868
- color: #23282d;
1869
- border-color: #eee;
1870
- background-color: #f7f7f7;
1871
- }
1872
-
1873
- /**
1874
- * 03. 37. Field: notice
1875
- */
1876
- .csf-field-notice{
1877
- background-color: #f7f7f7;
1878
- }
1879
-
1880
- .csf-notice{
1881
- padding: 12px;
1882
- background-color: #fff;
1883
- border-left-style: solid;
1884
- border-left-width: 4px;
1885
- box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
1886
- }
1887
-
1888
- .csf-notice-success{
1889
- border-color: #46b450;
1890
- }
1891
-
1892
- .csf-notice-info{
1893
- border-color: #339fd4;
1894
- }
1895
-
1896
- .csf-notice-warning{
1897
- border-color: #ffbc00;
1898
- }
1899
-
1900
- .csf-notice-danger{
1901
- border-color: #dc3232;
1902
- }
1903
-
1904
- .csf-notice-normal{
1905
- border-color: #222;
1906
- }
1907
-
1908
- /**
1909
- * 03. 38. Field: number
1910
- */
1911
- .csf-field-number{
1912
-
1913
- input{
1914
- width: 100%;
1915
- margin: 0;
1916
- }
1917
-
1918
- .csf--wrap{
1919
- position: relative;
1920
- float: left;
1921
- width: 100px;
1922
- }
1923
-
1924
- .csf--unit{
1925
- position: absolute;
1926
- z-index: 1;
1927
- right: 4px;
1928
- top: 4px;
1929
- bottom: 4px;
1930
- padding: 2px 6px;
1931
- color: #666;
1932
- font-size: 11px;
1933
- line-height: 1;
1934
- border-radius: 2px;
1935
- background: #eee;
1936
- user-select: none;
1937
- display: flex;
1938
- justify-content: center;
1939
- flex-direction: column;
1940
- }
1941
- }
1942
-
1943
- /**
1944
- * 03. 39. others
1945
- */
1946
- .csf-help{
1947
- cursor: help;
1948
- position: absolute;
1949
- top: 0;
1950
- right: 0;
1951
- padding: 5px;
1952
- font-size: 14px;
1953
- color: #aaa;
1954
-
1955
- .csf-help-text{
1956
- display: none;
1957
- }
1958
- }
1959
-
1960
- .csf-image-preview{
1961
- display: inline-block;
1962
- position: relative;
1963
- padding: 4px;
1964
- min-width: 44px;
1965
- min-height: 22px;
1966
- margin-bottom: 10px;
1967
- border: 1px solid #ccc;
1968
- background-color: #f9f9f9;
1969
- @include box-shadow(0 1px 0 rgba(black, 0.08));
1970
-
1971
- img{
1972
- max-height: 90px;
1973
- display: inline-block;
1974
- vertical-align: middle;
1975
- }
1976
- }
1977
-
1978
- .csf-field-custom{
1979
-
1980
- .csf-field{
1981
- padding: 0;
1982
- }
1983
- }
1984
-
1985
- .csf-field{
1986
-
1987
- .chosen-container-single .chosen-single{
1988
- height: 28px;
1989
- line-height: 26px;
1990
- }
1991
-
1992
- .chosen-container-single .chosen-single abbr{
1993
- top: 0;
1994
- right: 20px;
1995
- font-family: FontAwesome;
1996
- font-size: 12px;
1997
- height: 100%;
1998
- width: 18px;
1999
- color: #aaa;
2000
- text-align: center;
2001
- background: none;
2002
-
2003
- &:before{
2004
- content: "\f00d";
2005
- }
2006
-
2007
- &:hover{
2008
- color: #555;
2009
- }
2010
- }
2011
-
2012
- .chosen-container-multi .chosen-choices li.search-choice .search-choice-close{
2013
- font-family: FontAwesome;
2014
- font-size: 12px;
2015
- height: 100%;
2016
- width: 18px;
2017
- color: #aaa;
2018
- text-align: center;
2019
- background: none;
2020
-
2021
- &:before{
2022
- content: "\f00d";
2023
- display: inline-block;
2024
- padding-top: 3px;
2025
- }
2026
-
2027
- &:hover{
2028
- color: #555;
2029
- }
2030
- }
2031
-
2032
- .chosen-container-single .chosen-single div b{
2033
- font-family: FontAwesome;
2034
- font-size: 14px;
2035
- color: #aaa;
2036
- background: none;
2037
-
2038
- &:before{
2039
- content: "\f107";
2040
- }
2041
-
2042
- &:hover{
2043
- color: #555;
2044
- }
2045
- }
2046
-
2047
- .chosen-container-multi .chosen-choices li.search-choice-placeholder {
2048
- border: 1px dashed #aaa;
2049
- margin: 3px 5px 3px 0;
2050
- }
2051
-
2052
- .chosen-container-multi .ui-sortable li.search-choice span {
2053
- cursor: move;
2054
- }
2055
-
2056
- .chosen-container-active.chosen-with-drop .chosen-single div b{
2057
-
2058
- &:before{
2059
- content: "\f106";
2060
- }
2061
- }
2062
-
2063
- .chosen-container-single .chosen-single-with-deselect span{
2064
- margin-right: 40px;
2065
- }
2066
-
2067
- .chosen-container-single .chosen-search input[type="text"]{
2068
- background: none;
2069
- }
2070
-
2071
- .chosen-container-single .chosen-search{
2072
-
2073
- &:before{
2074
- font-family: FontAwesome;
2075
- position: absolute;
2076
- content: "\f002";
2077
- font-size: 11px;
2078
- right: 10px;
2079
- top: 7px;
2080
- color: #aaa;
2081
- }
2082
- }
2083
-
2084
- .wp-picker-container{
2085
- display: inline-block;
2086
- }
2087
-
2088
- .csf--transparent-wrap{
2089
- display: none;
2090
- position: relative;
2091
- top: -1px;
2092
- width: 235px;
2093
- padding: 9px 10px;
2094
- border: 1px solid #dfdfdf;
2095
- border-top: none;
2096
- background-color: #fff;
2097
- }
2098
-
2099
- .wp-picker-active .csf--transparent-wrap{
2100
- display: block;
2101
- }
2102
-
2103
- .csf--transparent-slider{
2104
- position: absolute;
2105
- width: 190px;
2106
- margin-left: 2px;
2107
- height: 18px;
2108
-
2109
- .ui-slider-handle{
2110
- position: absolute;
2111
- top: -3px;
2112
- bottom: -3px;
2113
- z-index: 5;
2114
- border-color: #aaa;
2115
- border-style: solid;
2116
- border-width: 4px 3px;
2117
- width: 10px;
2118
- height: 16px;
2119
- margin: 0 -5px;
2120
- background: none;
2121
- cursor: ew-resize;
2122
- @include opacity(0.9);
2123
- @include border-radius(4px);
2124
- @include box-shadow(0 1px 2px rgba(black, 0.2));
2125
-
2126
- &:before{
2127
- content: " ";
2128
- position: absolute;
2129
- left: -2px;
2130
- right: -2px;
2131
- top: -3px;
2132
- bottom: -3px;
2133
- border: 2px solid #fff;
2134
- @include border-radius(3px);
2135
- }
2136
- }
2137
- }
2138
-
2139
- .csf--transparent-offset{
2140
- height: 18px;
2141
- width: 200px;
2142
- background: url(../images/checkerboard.png) repeat-y center left scroll #fff;
2143
- @include box-shadow(0 0 5px rgba(black, 0.4) inset);
2144
- @include border-radius(2px);
2145
- }
2146
-
2147
- .csf--transparent-text{
2148
- position: absolute;
2149
- top: 12px;
2150
- right: 10px;
2151
- width: 30px;
2152
- font-size: 12px;
2153
- line-height: 12px;
2154
- text-align: center;
2155
- color: #999;
2156
- }
2157
-
2158
- .csf--transparent-button{
2159
- cursor: pointer;
2160
- user-select: none;
2161
- margin-top: 10px;
2162
- font-size: 11px;
2163
- text-align: center;
2164
- border-radius: 2px;
2165
- padding: 3px 7px;
2166
- box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
2167
- letter-spacing: 0.2px;
2168
- color: #777;
2169
- border: 1px solid #ccc;
2170
- background-color: #f7f7f7;
2171
- transition: background-color .2s, border-color .2s, color .2s;
2172
- }
2173
-
2174
- .csf--transparent-active{
2175
-
2176
- .wp-color-result{
2177
- background-image: url(../images/checkerboard.png);
2178
- background-size: 135px;
2179
- background-position: center left;
2180
- background-color: transparent !important;
2181
- }
2182
-
2183
- .csf--transparent-button{
2184
- color: #fff;
2185
- border-color: #3ea032;
2186
- background-color: #4fb845;
2187
- }
2188
-
2189
- .fa:before{
2190
- content: "\f205";
2191
- }
2192
- }
2193
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/views/framework/assets/scss/vendor/_helper.scss DELETED
@@ -1,183 +0,0 @@
1
- /**
2
- * 08. Helper
3
- */
4
- .csf-text-desc,
5
- .csf-text-subtitle{
6
- font-weight: 400;
7
- margin-top: 10px;
8
- color: #999;
9
- }
10
-
11
- .csf-text-success{
12
- color: #2b542c;
13
- }
14
-
15
- .csf-text-error{
16
- color: #d02c21;
17
- }
18
-
19
- .csf-text-info{
20
- color: #31708f;
21
- }
22
-
23
- .csf-text-warning{
24
- color: #ffb900;
25
- }
26
-
27
- .csf-text-muted{
28
- color: #aaa;
29
- }
30
-
31
- .csf-text-left{
32
- text-align: left;
33
- }
34
-
35
- .csf-text-center{
36
- text-align: center;
37
- }
38
-
39
- .csf-text-right{
40
- text-align: right;
41
- }
42
-
43
- .csf-block-left{
44
- float: left;
45
- }
46
-
47
- .csf-block-right{
48
- float: right;
49
- }
50
-
51
- .csf-full-width{
52
- width: 100%;
53
- }
54
-
55
- .csf-full-half{
56
- width: 50%;
57
- }
58
-
59
- .csf-table{
60
- width: 100%;
61
- display: table;
62
- }
63
-
64
- .csf-table-cell{
65
- display: table-cell;
66
- vertical-align: middle;
67
- }
68
-
69
- .csf-table-expanded{
70
- width: 100%;
71
- }
72
-
73
- .csf-nowrap{
74
- white-space: nowrap;
75
- }
76
-
77
- .csf-text-highlight{
78
- padding: 2px 4px;
79
- font-size: 90%;
80
- color: #c7254e;
81
- background-color: #f9f2f4;
82
- @include border-radius(2px);
83
- }
84
-
85
- .csf-text-highlight-gray{
86
- padding: 2px 4px;
87
- font-size: 90%;
88
- background-color: #f0f0f0;
89
- @include border-radius(2px);
90
- }
91
-
92
- .csf-hidden{
93
- display: none;
94
- }
95
-
96
- .csf-hide{
97
- display: none !important;
98
- }
99
-
100
- .csf-show{
101
- display: block !important;
102
- }
103
-
104
- .csf-opacity{
105
- opacity: 0.5;
106
- }
107
-
108
- .csf-warning-primary{
109
- color: #fff !important;
110
- border-color: #dc3545 !important;
111
- background: #dc3545 !important;
112
-
113
- &:hover,
114
- &:focus{
115
- border-color: #bd2130 !important;
116
- background: #bd2130 !important;
117
- }
118
-
119
- &:focus{
120
- box-shadow: 0 0 0 1px #fff, 0 0 0 3px #bd2130 !important;
121
- }
122
-
123
- &:active{
124
- border-color: #bd2130 !important;
125
- background: #bd2130 !important;
126
- }
127
- }
128
-
129
- .csf-form-result{
130
- display: none;
131
- float: left;
132
- padding: 0 8px;
133
- margin-right: 4px;
134
- font-size: 11px;
135
- line-height: 28px;
136
- user-select: none;
137
- border-radius: 2px;
138
- }
139
-
140
- .csf-form-show{
141
- display: block;
142
- }
143
-
144
- .csf-form-success{
145
- color: #fff;
146
- background-color: #46b450;
147
- }
148
-
149
- .csf-form-warning{
150
- color: #8a6d3b;
151
- background-color: #faebcc;
152
- }
153
-
154
- .csf-label-error{
155
- position: relative;
156
- top: -2px;
157
- display: inline-block;
158
- font-size: 10px;
159
- line-height: 10px;
160
- height: 10px;
161
- width: 10px;
162
- padding: 1px;
163
- font-style: normal;
164
- text-align: center;
165
- color: #fff;
166
- vertical-align: middle;
167
- background-color: #e10000;
168
- @include border-radius(2px);
169
- }
170
-
171
- .csf-no-option{
172
- padding: 30px;
173
- }
174
-
175
- .csf-input-number{
176
- -moz-appearance:textfield;
177
- }
178
-
179
- .csf-input-number::-webkit-inner-spin-button,
180
- .csf-input-number::-webkit-outer-spin-button{
181
- -webkit-appearance: none;
182
- margin: 0;
183
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/views/framework/assets/scss/vendor/_mixins.scss DELETED
@@ -1,3 +0,0 @@
1
- @mixin opacity( $opacity ) {
2
- opacity: $opacity;
3
- }
 
 
 
admin/views/framework/assets/scss/vendor/_modal.scss DELETED
@@ -1,339 +0,0 @@
1
- /**
2
- * 08. Modal
3
- */
4
- .csf-modal{
5
- display: none;
6
- position: fixed;
7
- z-index: 100101;
8
- top: 0;
9
- left: 0;
10
- width: 100%;
11
- height: 100%;
12
- }
13
-
14
- .csf-modal-icon{
15
- z-index: 100102;
16
- }
17
-
18
- .csf-modal-table{
19
- display: table;
20
- width: 100%;
21
- height: 100%;
22
- }
23
-
24
- .csf-modal-table-cell{
25
- display: table-cell;
26
- vertical-align: middle;
27
- margin: 100px 0;
28
- }
29
-
30
- .csf-modal-inner{
31
- position: relative;
32
- z-index: 10;
33
- width: 760px;
34
- height: 750px;
35
- margin: 0 auto;
36
- background-color: #fff;
37
- }
38
-
39
- .csf-modal-content{
40
- position: relative;
41
- overflow: hidden;
42
- overflow-y: auto;
43
- height: 595px;
44
-
45
- .csf-shortcode-button{
46
- display: none;
47
- }
48
-
49
- .csf-fieldset{
50
- margin-left: 25%;
51
- }
52
-
53
- .csf-title{
54
- width: 20%;
55
- }
56
-
57
- .csf-field{
58
- padding: 15px 30px 15px 15px;
59
- }
60
-
61
- a{
62
- &:active,
63
- &:focus{
64
- outline: none;
65
- @include box-shadow(none);
66
- }
67
- }
68
-
69
- h4{
70
- font-size: 13px;
71
-
72
- small{
73
- font-style: italic;
74
- font-weight: 400;
75
- color: #aaa;
76
- }
77
- }
78
- }
79
-
80
- .csf-modal-title{
81
- position: relative;
82
- background-color: #fcfcfc;
83
- border-bottom: 1px solid #ddd;
84
- height: 36px;
85
- font-size: 16px;
86
- font-weight: 600;
87
- line-height: 36px;
88
- margin: 0;
89
- padding: 0 36px 0 16px;
90
- }
91
-
92
- .csf-modal-header{
93
- width: 100%;
94
- padding: 14px 0;
95
- background-color: #f5f5f5;
96
- border-bottom: 1px solid #eee;
97
-
98
- select{
99
- display: block;
100
- width: 250px;
101
- margin: 0 auto;
102
- font-size: 13px;
103
- line-height: 1;
104
- height: 30px;
105
- min-height: 30px;
106
- background-color: #fff;
107
- }
108
- }
109
-
110
- .csf-modal-close{
111
- color: #666;
112
- padding: 0;
113
- position: absolute;
114
- top: 0;
115
- right: 0;
116
- width: 36px;
117
- height: 36px;
118
- text-align: center;
119
- background: none;
120
- border: none;
121
- cursor: pointer;
122
-
123
- &:before{
124
- font: normal 20px/36px dashicons;
125
- content: "\f158";
126
- vertical-align: top;
127
- width: 36px;
128
- height: 36px;
129
- }
130
-
131
- &:hover{
132
- @include opacity(0.5);
133
- }
134
- }
135
-
136
- .csf-modal-insert-wrapper{
137
- text-align: center;
138
- width: 100%;
139
- padding: 15px 0;
140
- background-color: #f5f5f5;
141
- border-top: 1px solid #eee;
142
- }
143
-
144
- .csf-modal-overlay{
145
- position: absolute;
146
- top: 0;
147
- left: 0;
148
- width: 100%;
149
- height: 100%;
150
- background-color: #000;
151
- @include opacity(0.5);
152
- }
153
-
154
- /**
155
- * 08. 01. Shortcode Modal
156
- */
157
- .csf--repeatable{
158
- padding: 15px 15px 0 15px;
159
- }
160
-
161
- .csf--repeat-button-block{
162
- text-align: center;
163
- padding-bottom: 15px;
164
- }
165
-
166
- .csf--repeat-shortcode{
167
- position: relative;
168
- margin-bottom: 15px;
169
- border: 1px dashed #ddd;
170
-
171
- &:first-child{
172
-
173
- .csf-repeat-remove{
174
- display: none;
175
- }
176
- }
177
-
178
- .csf-repeat-remove{
179
- position: absolute;
180
- right: 10px;
181
- top: 10px;
182
- z-index: 10;
183
- cursor: pointer;
184
- display: inline-block;
185
- font-size: 11px;
186
- width: 18px;
187
- height: 18px;
188
- line-height: 18px;
189
- text-align: center;
190
- border-radius: 2px;
191
- color: #fff;
192
- background-color: #e14d43;
193
- @include opacity(0.5);
194
-
195
- &:hover{
196
- @include opacity(1);
197
- }
198
- }
199
- }
200
-
201
- .csf-shortcode-single{
202
-
203
- .csf-modal-inner{
204
- height: 750px;
205
- }
206
-
207
- .csf-modal-content{
208
- height: 652px;
209
- }
210
- }
211
-
212
- .elementor-editor-active{
213
-
214
- .csf-shortcode-button{
215
- margin-left: 5px;
216
- }
217
-
218
- .csf-modal .hidden{
219
- display: none !important;
220
- }
221
- }
222
-
223
- /**
224
- * 08. 02. Gutenberg Modal
225
- */
226
- .csf-shortcode-block{
227
- text-align: center;
228
- padding: 14px;
229
- font-size: 13px;
230
- background-color: #f5f5f5;
231
- font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;
232
- }
233
-
234
- .csf-shortcode-block .button{
235
- margin: 10px 0;
236
- }
237
-
238
- /**
239
- * 08. 03. Icon Modal
240
- */
241
- .csf-modal-icon{
242
-
243
- .csf-icon-title{
244
- padding: 15px 0;
245
- margin: 4px;
246
- font-size: 14px;
247
- font-weight: bold;
248
- text-align: center;
249
- border: 1px solid #eee;
250
- background-color: #f7f7f7;
251
- }
252
-
253
- .csf-icon-search{
254
- width: 250px;
255
- height: 40px;
256
- line-height: 40px;
257
- }
258
-
259
- a{
260
- display: inline-block;
261
- padding: 4px;
262
- cursor: pointer;
263
-
264
- .csf-icon{
265
- position: relative;
266
- padding: 4px;
267
- display: inline-block;
268
- font-size: 14px;
269
- width: 30px;
270
- height: 26px;
271
- line-height: 26px;
272
- text-align: center;
273
- vertical-align: top;
274
- color: #555;
275
- border: 1px solid #ccc;
276
- background-color: #f7f7f7;
277
- @include border-radius(3px);
278
- @include box-shadow(0 1px 0 rgba(black, 0.08));
279
- @include box-sizing(content-box);
280
- }
281
-
282
- &:hover .csf-icon{
283
- color: #fff;
284
- border-color: #222;
285
- background-color: #222;
286
- }
287
- }
288
-
289
- .csf-modal-content{
290
- padding: 10px;
291
- height: 618px;
292
- }
293
-
294
- .csf-text-error{
295
- padding: 10px;
296
- }
297
- }
298
-
299
- .csf-modal-loading{
300
- display: none;
301
- position: absolute;
302
- left: 15px;
303
- top: 15px;
304
- }
305
-
306
- .csf-loading{
307
- position: relative;
308
- width: 20px;
309
- height: 20px;
310
- background: #ccc;
311
- @include border-radius(20px);
312
- @include box-shadow(0 2px 5px rgba(black, 0.070));
313
-
314
- &:after{
315
- position: absolute;
316
- top: 50%;
317
- left: 50%;
318
- width: 4px;
319
- height: 4px;
320
- content: "";
321
- margin-top: -2px;
322
- margin-left: -2px;
323
- background-color: white;
324
- @include animation-duration(0.5s);
325
- @include animation-iteration-count(infinite);
326
- @include animation-timing-function(linear);
327
- @include animation-name(csfLoader);
328
- @include border-radius(4px);
329
- }
330
- }
331
-
332
- @include keyframes(csfLoader){
333
- 0%{
334
- @include transform( rotate(0deg) translateX(-6px) rotate(0deg) );
335
- }
336
- 100%{
337
- @include transform( rotate(360deg) translateX(-6px) rotate(-360deg) );
338
- }
339
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/views/framework/assets/scss/vendor/_profile.scss DELETED
@@ -1,66 +0,0 @@
1
- /**
2
- * 06. Profile
3
- */
4
- .csf-profile{
5
-
6
- > h2 > .fa {
7
- padding-right: 7px;
8
- }
9
-
10
- > .csf-field{
11
- padding: 15px 0;
12
- border-top: none !important;
13
-
14
- > .csf-title{
15
- width: 220px;
16
-
17
- h4{
18
- font-size: 14px;
19
- font-weight: 600;
20
- line-height: 1.3;
21
- display: inline-block;
22
- vertical-align: middle;
23
- }
24
- }
25
-
26
- > .csf-fieldset{
27
- margin-left: 220px;
28
-
29
- > .csf-help{
30
- top: -15px;
31
- right: -5px;
32
- }
33
- }
34
- }
35
-
36
- > .csf-field-heading{
37
- font-size: 1.1em;
38
- }
39
-
40
- > .csf-field-subheading{
41
- font-size: 12px;
42
- }
43
-
44
- > .csf-field-subheading,
45
- > .csf-field-heading{
46
- margin: 10px 0;
47
- padding: 15px !important;
48
- border: 1px solid #ddd;
49
- }
50
-
51
- > .csf-field-submessage{
52
- margin: 20px 0;
53
-
54
- .csf-submessage{
55
- padding: 10px;
56
- border-left-width: 1px;
57
- border-left-style: solid;
58
- border-right-width: 1px;
59
- border-right-style: solid;
60
- }
61
- }
62
-
63
- > .csf-field-notice{
64
- background-color: transparent;
65
- }
66
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/views/framework/assets/scss/vendor/_responsive.scss DELETED
@@ -1,141 +0,0 @@
1
- /**
2
- * 11. 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
- margin-left: 0;
18
- }
19
- }
20
- }
21
- }
22
-
23
- @media only screen and (max-width:782px){
24
-
25
- .csf-header-inner{
26
- text-align: center;
27
-
28
- h1{
29
- width: 100%;
30
- margin-bottom: 10px;
31
- }
32
- }
33
-
34
- .csf-form-result{
35
- float: none;
36
- margin-right: 0;
37
- margin-bottom: 10px;
38
- }
39
-
40
- .csf-search,
41
- .csf-header-right,
42
- .csf-header-left{
43
- width: 100%;
44
- }
45
-
46
- .csf-search{
47
- text-align: center;
48
- margin-bottom: 15px;
49
- }
50
-
51
- .csf-footer{
52
- text-align: center;
53
- }
54
-
55
- .csf-buttons{
56
- float: none;
57
- }
58
-
59
- .csf-copyright{
60
- float: none;
61
- margin-top: 10px;
62
- }
63
-
64
- .csf-nav,
65
- .csf-expand-all,
66
- .csf-reset-section,
67
- .csf-nav-background{
68
- display: none !important;
69
- }
70
-
71
- .csf-content{
72
- margin-left: 0;
73
- }
74
-
75
- .csf-section-title,
76
- .csf-section{
77
- display: block !important;
78
- }
79
-
80
- .csf-field{
81
-
82
- .csf-title{
83
- float: none;
84
- width: 100%;
85
- margin-bottom: 10px;
86
- }
87
-
88
- .csf-fieldset{
89
- margin-left: 0;
90
- }
91
- }
92
-
93
- .csf-modal-inner{
94
- width: 350px;
95
- height: 400px;
96
- }
97
-
98
- .csf-modal-content{
99
- height: 237px;
100
- }
101
-
102
- .csf-icon-dialog{
103
-
104
- .csf-modal-inner{
105
- width: 305px;
106
- height: 380px;
107
- }
108
-
109
- .csf-modal-content{
110
- height: 267px;
111
- }
112
- }
113
-
114
- .csf-modal-icon{
115
-
116
- .csf-modal-inner{
117
- width: 330px;
118
- height: 385px;
119
- }
120
-
121
- .csf-modal-content{
122
- height: 252px;
123
- }
124
- }
125
-
126
- .csf-profile{
127
-
128
- > .csf-field{
129
-
130
- > .csf-title{
131
- float: none;
132
- width: 100%;
133
- margin-bottom: 10px;
134
- }
135
-
136
- > .csf-fieldset{
137
- margin-left: 0;
138
- }
139
- }
140
- }
141
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/views/framework/assets/scss/vendor/_taxonomy.scss DELETED
@@ -1,112 +0,0 @@
1
- /**
2
- * 06. Taxonomy
3
- */
4
- .csf-taxonomy{
5
-
6
- > .csf-field{
7
- border-top: none !important;
8
- }
9
-
10
- > .csf-field-heading{
11
- font-size: 1.1em;
12
- padding: 20px !important;
13
- border: 1px solid #ddd;
14
- }
15
-
16
- > .csf-field-subheading{
17
- font-size: 12px;
18
- padding: 15px !important;
19
- border: 1px solid #ddd;
20
- }
21
-
22
- > .csf-field-submessage{
23
-
24
- .csf-submessage{
25
- padding: 15px;
26
- border-left-width: 1px;
27
- border-left-style: solid;
28
- border-right-width: 1px;
29
- border-right-style: solid;
30
- }
31
- }
32
-
33
- > .csf-field-notice{
34
- background-color: transparent;
35
- }
36
-
37
- .csf-section-title{
38
- display: block;
39
- padding: 15px ;
40
- background-color: #f9f9f9;
41
- border: 1px solid #e5e5e5;
42
- @include box-shadow(0 1px 1px rgba(black, 0.04));
43
- }
44
- }
45
-
46
- .csf-taxonomy-add-fields{
47
-
48
- > .csf-field{
49
- padding: 8px 0;
50
-
51
- > .csf-title{
52
- float: none;
53
- width: 100%;
54
- padding: 2px 2px 4px 0;
55
-
56
- h4{
57
- font-size: 12px;
58
- font-weight: normal;
59
- }
60
- }
61
-
62
- > .csf-fieldset{
63
- margin-left: 0;
64
-
65
- > .csf-help{
66
- right: -5px;
67
- }
68
- }
69
- }
70
-
71
- + p.submit{
72
- margin-top: 0;
73
- }
74
- }
75
-
76
- .csf-taxonomy-edit-fields{
77
-
78
- > .csf-field{
79
- padding: 20px 0;
80
-
81
- > .csf-title{
82
- width: 225px;
83
-
84
- h4{
85
- font-size: 14px;
86
- font-weight: 600;
87
- line-height: 1.3;
88
- display: inline-block;
89
- vertical-align: middle;
90
- }
91
- }
92
-
93
- > .csf-fieldset{
94
- margin-left: 225px;
95
-
96
- > .csf-help{
97
- top: -5px;
98
- right: -5px;
99
- }
100
- }
101
- }
102
-
103
- > .csf-field-submessage{
104
- margin: 20px 0;
105
- }
106
-
107
- > .csf-field-subheading,
108
- > .csf-field-heading{
109
- margin: 20px 0;
110
- border: 1px solid #ddd;
111
- }
112
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/views/framework/assets/scss/vendor/_themes.scss DELETED
@@ -1,204 +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-section-active{
65
- color: #fff;
66
- background-color: #111;
67
- }
68
- }
69
-
70
- ul{
71
-
72
- li{
73
-
74
- a{
75
- background-color: #191919;
76
- border-bottom: 1px solid #2f2f2f;
77
- }
78
-
79
- .csf-section-active{
80
- background-color: #101010;
81
- }
82
- }
83
-
84
- &:before{
85
- background-color: rgba(#222, 0.75);
86
- }
87
- }
88
- }
89
-
90
- > ul > li:last-child > a{
91
- border-bottom: none;
92
- }
93
- }
94
-
95
- .csf-nav-background{
96
- background-color: #222;
97
- }
98
-
99
- .csf-footer{
100
- color: #555;
101
- background-color: #050505;
102
- }
103
- }
104
-
105
- /**
106
- * 02. 02. Theme Light
107
- */
108
- .csf-theme-light{
109
-
110
- .csf-container{
111
- border: 1px solid #e5e5e5;
112
- @include box-shadow(0 0 15px rgba(black, 0.04));
113
- }
114
-
115
- .csf-header-inner{
116
- border-bottom: 1px solid #e5e5e5;
117
- background-color: #f5f5f5;
118
- background: linear-gradient(#fefefe, #f5f5f5);
119
-
120
- h1{
121
-
122
- small{
123
- color: #999;
124
- }
125
- }
126
- }
127
-
128
- .csf-expand-all{
129
- color: #999;
130
- background-color: #fff;
131
- @include box-shadow(0 1px 1px rgba(black, 0.05));
132
-
133
- &:hover{
134
- color: #555;
135
- }
136
- }
137
-
138
- .csf-search{
139
-
140
- input{
141
- color: #555;
142
- background-color: #fff;
143
- @include box-shadow(0px 1px 1px rgba(black, 0.05));
144
-
145
- &::-webkit-input-placeholder{
146
- color: #bbb;
147
- }
148
- }
149
- }
150
-
151
- .csf-nav{
152
-
153
- ul{
154
-
155
- li{
156
-
157
- a{
158
- color: #666;
159
- background-color: #f5f5f5;
160
- border-bottom: 1px solid #e5e5e5;
161
-
162
- &:hover{
163
- color: #222;
164
- }
165
- }
166
-
167
- .csf-section-active{
168
- color: #222;
169
- background-color: #fff;
170
-
171
- &:after{
172
- display: none;
173
- }
174
- }
175
- }
176
-
177
- ul{
178
-
179
- li{
180
-
181
- a{
182
- background-color: #eee;
183
- border-bottom: 1px solid #e5e5e5;
184
- }
185
- }
186
- }
187
- }
188
-
189
- > ul > li:last-child > a{
190
- border-bottom: none;
191
- }
192
- }
193
-
194
- .csf-nav-background{
195
- background-color: #f5f5f5;
196
- }
197
-
198
- .csf-footer{
199
- color: #555;
200
- border-top: 1px solid #e5e5e5;
201
- background-color: #f5f5f5;
202
- background: linear-gradient(#fafafa, #f5f5f5);
203
- }
204
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/views/framework/assets/scss/vendor/_welcome.scss DELETED
@@ -1,346 +0,0 @@
1
- /**
2
- * 10. 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: 25%;
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/views/framework/assets/scss/vendor/_widget.scss DELETED
@@ -1,48 +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
- margin-left: 0;
26
- }
27
- }
28
-
29
- .csf-field-text input{
30
- width: 100%;
31
- }
32
-
33
- .csf-field-notice .csf-notice{
34
- padding: 15px;
35
- }
36
- }
37
-
38
- .control-section{
39
-
40
- .csf-widgets{
41
-
42
- > .csf-field{
43
- margin-right: -10px;
44
- margin-left: -10px;
45
- padding: 10px 12px;
46
- }
47
- }
48
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/views/framework/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 = '';
@@ -16,11 +16,6 @@ if( ! class_exists( 'CSF_Abstract' ) ) {
16
 
17
  public function __construct() {
18
 
19
- // Check for embed google web fonts
20
- if( ! empty( $this->args['enqueue_webfont'] ) ) {
21
- add_action( 'wp_enqueue_scripts', array( &$this, 'add_enqueue_google_fonts' ), 100 );
22
- }
23
-
24
  // Check for embed custom css styles
25
  if( ! empty( $this->args['output_css'] ) ) {
26
  add_action( 'wp_head', array( &$this, 'add_output_css' ), 100 );
@@ -28,85 +23,9 @@ if( ! class_exists( 'CSF_Abstract' ) ) {
28
 
29
  }
30
 
31
- public function add_enqueue_google_fonts() {
32
-
33
- if( ! empty( $this->pre_fields ) ) {
34
-
35
- foreach( $this->pre_fields as $field ) {
36
-
37
- $field_id = ( ! empty( $field['id'] ) ) ? $field['id'] : '';
38
- $field_type = ( ! empty( $field['type'] ) ) ? $field['type'] : '';
39
- $field_output = ( ! empty( $field['output'] ) ) ? $field['output'] : '';
40
- $field_check = ( $field_type === 'typography' || $field_output ) ? true : false;
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( class_exists( $class_name ) ) {
49
-
50
- if( method_exists( $class_name, 'output' ) || method_exists( $class_name, 'enqueue_google_fonts' ) ) {
51
-
52
- $field_value = '';
53
-
54
- if( $field_check && ( $this->abstract === 'options' || $this->abstract === 'customize' ) ) {
55
- $field_value = ( isset( $this->options[$field_id] ) && $this->options[$field_id] !== '' ) ? $this->options[$field_id] : '';
56
- } else if( $field_check && $this->abstract === 'metabox' ) {
57
- $field_value = $this->get_meta_value( $field );
58
- }
59
-
60
- $instance = new $class_name( $field, $field_value, $this->unique, 'wp/enqueue', $this );
61
-
62
- // typography enqueue and embed google web fonts
63
- if( $field_type === 'typography' && $this->args['enqueue_webfont'] && ! empty( $field_value['font-family'] ) ) {
64
- $instance->enqueue_google_fonts();
65
- }
66
-
67
- // output css
68
- if( $field_output && $this->args['output_css'] ) {
69
- $instance->output();
70
- }
71
-
72
- unset( $instance );
73
-
74
- }
75
-
76
- }
77
-
78
- }
79
-
80
- }
81
-
82
- }
83
-
84
- if( ! empty( $this->typographies ) && empty( $this->args['async_webfont'] ) ) {
85
-
86
- $query = array( 'family' => implode( '%7C', $this->typographies ) );
87
- $api = '//fonts.googleapis.com/css';
88
- $handle = 'csf-google-web-fonts-'. $this->unique;
89
- $src = esc_url( add_query_arg( $query, $api ) );
90
-
91
- wp_enqueue_style( $handle, $src, array(), null );
92
-
93
- }
94
-
95
- if( ! empty( $this->typographies ) && ! empty( $this->args['async_webfont'] ) ) {
96
-
97
- $api = '//ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js';
98
- echo '<script type="text/javascript">';
99
- echo 'WebFontConfig={google:{families:['. "'" . implode( "','", $this->typographies ) . "'" .']}};';
100
- echo '!function(e){var t=e.createElement("script"),s=e.scripts[0];t.src="'. $api .'",t.async=!0,s.parentNode.insertBefore(t,s)}(document);';
101
- echo '</script>';
102
-
103
- }
104
-
105
- }
106
-
107
  public function add_output_css() {
108
 
109
- $this->output_css = apply_filters( "csf_{$this->unique}_output_css", $this->output_css, $this );
110
 
111
  if ( ! empty( $this->output_css ) ) {
112
  echo '<style type="text/css">'. $this->output_css . '</style>';
7
  * @version 1.0.0
8
  *
9
  */
10
+ if( ! class_exists( 'SPFTESTIMONIAL_Abstract' ) ) {
11
+ abstract class SPFTESTIMONIAL_Abstract {
12
 
13
  public $abstract = '';
14
  public $output_css = '';
16
 
17
  public function __construct() {
18
 
 
 
 
 
 
19
  // Check for embed custom css styles
20
  if( ! empty( $this->args['output_css'] ) ) {
21
  add_action( 'wp_head', array( &$this, 'add_output_css' ), 100 );
23
 
24
  }
25
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26
  public function add_output_css() {
27
 
28
+ $this->output_css = apply_filters( "spftestimonial_{$this->unique}_output_css", $this->output_css, $this );
29
 
30
  if ( ! empty( $this->output_css ) ) {
31
  echo '<style type="text/css">'. $this->output_css . '</style>';
admin/views/framework/classes/comment-metabox.class.php DELETED
@@ -1,337 +0,0 @@
1
- <?php if ( ! defined( 'ABSPATH' ) ) { die; } // Cannot access directly.
2
- /**
3
- *
4
- * Comment Metabox Class
5
- *
6
- * @since 1.0.0
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 = '';
15
- public $abstract = 'comment_metabox';
16
- public $pre_fields = array();
17
- public $sections = array();
18
- public $args = array(
19
- 'title' => '',
20
- 'data_type' => 'serialize',
21
- 'priority' => 'default',
22
- 'show_restore' => false,
23
- 'theme' => 'dark',
24
- 'class' => '',
25
- 'defaults' => array(),
26
- );
27
-
28
- // run comment metabox construct
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' ) );
37
- add_action( 'edit_comment', array( &$this, 'save_comment_meta_box' ) );
38
-
39
- if( ! empty( $this->args['class'] ) ) {
40
- add_filter( 'postbox_classes_comment_'. $this->unique, array( &$this, 'add_comment_metabox_classes' ) );
41
- }
42
-
43
- // wp enqeueu for typography and output css
44
- parent::__construct();
45
-
46
- }
47
-
48
- // instance
49
- public static function instance( $key, $params = array() ) {
50
- return new self( $key, $params );
51
- }
52
-
53
- public function pre_fields( $sections ) {
54
-
55
- $result = array();
56
-
57
- foreach( $sections as $key => $section ) {
58
- if( ! empty( $section['fields'] ) ) {
59
- foreach( $section['fields'] as $field ) {
60
- $result[] = $field;
61
- }
62
- }
63
- }
64
-
65
- return $result;
66
- }
67
-
68
- public function add_comment_metabox_classes( $classes ) {
69
-
70
- if( ! empty( $this->args['class'] ) ) {
71
- $classes[] = $this->args['class'];
72
- }
73
-
74
- return $classes;
75
-
76
- }
77
-
78
- // add comment metabox
79
- public function add_comment_meta_box( $post_type ) {
80
-
81
- add_meta_box( $this->unique, $this->args['title'], array( &$this, 'add_comment_meta_box_content' ), 'comment', 'normal', $this->args['priority'], $this->args );
82
-
83
- }
84
-
85
- // get default value
86
- public function get_default( $field ) {
87
-
88
- $default = ( isset( $field['id'] ) && isset( $this->args['defaults'][$field['id']] ) ) ? $this->args['defaults'][$field['id']] : null;
89
- $default = ( isset( $field['default'] ) ) ? $field['default'] : $default;
90
-
91
- return $default;
92
-
93
- }
94
-
95
- // get meta value
96
- public function get_meta_value( $comment_id, $field ) {
97
-
98
- $value = null;
99
-
100
- if( ! empty( $comment_id ) && ! empty( $field['id'] ) ) {
101
-
102
- if( $this->args['data_type'] !== 'serialize' ) {
103
- $meta = get_comment_meta( $comment_id, $field['id'] );
104
- $value = ( isset( $meta[0] ) ) ? $meta[0] : null;
105
- } else {
106
- $meta = get_comment_meta( $comment_id, $this->unique, true );
107
- $value = ( isset( $meta[$field['id']] ) ) ? $meta[$field['id']] : null;
108
- }
109
-
110
- }
111
-
112
- $default = $this->get_default( $field );
113
- $value = ( isset( $value ) ) ? $value : $default;
114
-
115
- return $value;
116
-
117
- }
118
-
119
- // add comment metabox content
120
- public function add_comment_meta_box_content( $comment, $callback ) {
121
-
122
- $has_nav = ( count( $this->sections ) > 1 ) ? true : false;
123
- $show_all = ( ! $has_nav ) ? ' csf-show-all' : '';
124
- $errors = ( is_object ( $comment ) ) ? get_comment_meta( $comment->comment_ID, '_csf_errors', true ) : array();
125
- $errors = ( ! empty( $errors ) ) ? $errors : array();
126
- $theme = ( $this->args['theme'] ) ? ' csf-theme-'. $this->args['theme'] : '';
127
-
128
- if( is_object ( $comment ) && ! empty( $errors ) ) {
129
- delete_comment_meta( $comment->comment_ID, '_csf_errors' );
130
- }
131
-
132
- wp_nonce_field( 'csf_comment_metabox_nonce', 'csf_comment_metabox_nonce'. $this->unique );
133
-
134
- echo '<div class="csf csf-comment-metabox'. $theme .'">';
135
-
136
- echo '<div class="csf-wrapper'. $show_all .'">';
137
-
138
- if( $has_nav ) {
139
-
140
- echo '<div class="csf-nav csf-nav-metabox" data-unique="'. $this->unique .'">';
141
-
142
- echo '<ul>';
143
- $tab_key = 1;
144
- foreach( $this->sections as $section ) {
145
-
146
- $tab_error = ( ! empty( $errors['sections'][$tab_key] ) ) ? '<i class="csf-label-error csf-error">!</i>' : '';
147
- $tab_icon = ( ! empty( $section['icon'] ) ) ? '<i class="csf-icon '. $section['icon'] .'"></i>' : '';
148
-
149
- echo '<li><a href="#" data-section="'. $this->unique .'_'. $tab_key .'">'. $tab_icon . $section['title'] . $tab_error .'</a></li>';
150
-
151
- $tab_key++;
152
- }
153
- echo '</ul>';
154
-
155
- echo '</div>';
156
-
157
- }
158
-
159
- echo '<div class="csf-content">';
160
-
161
- echo '<div class="csf-sections">';
162
-
163
- $section_key = 1;
164
-
165
- foreach( $this->sections as $section ) {
166
-
167
- $onload = ( ! $has_nav ) ? ' csf-onload' : '';
168
-
169
- echo '<div id="csf-section-'. $this->unique .'_'. $section_key .'" class="csf-section'. $onload .'">';
170
-
171
- $section_icon = ( ! empty( $section['icon'] ) ) ? '<i class="csf-icon '. $section['icon'] .'"></i>' : '';
172
- $section_title = ( ! empty( $section['title'] ) ) ? $section['title'] : '';
173
-
174
- echo ( $section_title || $section_icon ) ? '<div class="csf-section-title"><h3>'. $section_icon . $section_title .'</h3></div>' : '';
175
-
176
- if( ! empty( $section['fields'] ) ) {
177
-
178
- foreach ( $section['fields'] as $field ) {
179
-
180
- if( ! empty( $field['id'] ) && ! empty( $errors['fields'][$field['id']] ) ) {
181
- $field['_error'] = $errors['fields'][$field['id']];
182
- }
183
-
184
- CSF::field( $field, $this->get_meta_value( $comment->comment_ID, $field ), $this->unique, 'comment_metabox' );
185
-
186
- }
187
-
188
- } else {
189
-
190
- echo '<div class="csf-no-option csf-text-muted">'. esc_html__( 'No option provided by developer.', 'csf' ) .'</div>';
191
-
192
- }
193
-
194
- echo '</div>';
195
-
196
- $section_key++;
197
- }
198
-
199
- echo '</div>';
200
-
201
- echo '<div class="clear"></div>';
202
-
203
- if( ! empty( $this->args['show_restore'] ) ) {
204
-
205
- echo '<div class="csf-restore-wrapper">';
206
- echo '<label>';
207
- echo '<input type="checkbox" name="'. $this->unique .'[_restore]" />';
208
- echo '<span class="button csf-button-restore">'. esc_html__( 'Restore', 'csf' ) .'</span>';
209
- echo '<span class="button csf-button-cancel">'. sprintf( '<small>( %s )</small> %s', esc_html__( 'update post for restore ', 'csf' ), esc_html__( 'Cancel', 'csf' ) ) .'</span>';
210
- echo '</label>';
211
- echo '</div>';
212
-
213
- }
214
-
215
- echo '</div>';
216
-
217
- echo ( $has_nav ) ? '<div class="csf-nav-background"></div>' : '';
218
-
219
- echo '<div class="clear"></div>';
220
-
221
- echo '</div>';
222
-
223
- echo '</div>';
224
-
225
- }
226
-
227
- // save comment metabox
228
- public function save_comment_meta_box( $comment_id ) {
229
-
230
-
231
- if( ! wp_verify_nonce( csf_get_var( 'csf_comment_metabox_nonce'. $this->unique ), 'csf_comment_metabox_nonce' ) ) {
232
- return $comment_id;
233
- }
234
-
235
- if( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
236
- return $comment_id;
237
- }
238
-
239
- $errors = array();
240
- $request = csf_get_var( $this->unique );
241
-
242
- if( ! empty( $request ) ) {
243
-
244
- // ignore _nonce
245
- if( isset( $request['_nonce'] ) ) {
246
- unset( $request['_nonce'] );
247
- }
248
-
249
- // sanitize and validate
250
- $section_key = 1;
251
- foreach( $this->sections as $section ) {
252
-
253
- if( ! empty( $section['fields'] ) ) {
254
-
255
- foreach( $section['fields'] as $field ) {
256
-
257
- if( ! empty( $field['id'] ) ) {
258
-
259
- // sanitize
260
- if( ! empty( $field['sanitize'] ) ) {
261
-
262
- $sanitize = $field['sanitize'];
263
- $value_sanitize = isset( $request[$field['id']] ) ? $request[$field['id']] : '';
264
- $request[$field['id']] = call_user_func( $sanitize, $value_sanitize );
265
-
266
- }
267
-
268
- // validate
269
- if( ! empty( $field['validate'] ) ) {
270
-
271
- $validate = $field['validate'];
272
- $value_validate = isset( $request[$field['id']] ) ? $request[$field['id']] : '';
273
- $has_validated = call_user_func( $validate, $value_validate );
274
-
275
- if( ! empty( $has_validated ) ) {
276
-
277
- $errors['sections'][$section_key] = true;
278
- $errors['fields'][$field['id']] = $has_validated;
279
- $request[$field['id']] = $this->get_meta_value( $comment_id, $field );
280
-
281
- }
282
-
283
- }
284
-
285
- // auto sanitize
286
- if( ! isset( $request[$field['id']] ) || is_null( $request[$field['id']] ) ) {
287
- $request[$field['id']] = '';
288
- }
289
-
290
- }
291
-
292
- }
293
-
294
- }
295
-
296
- $section_key++;
297
- }
298
-
299
- }
300
-
301
- $request = apply_filters( "csf_{$this->unique}_save", $request, $comment_id, $this );
302
-
303
- do_action( "csf_{$this->unique}_save_before", $request, $comment_id, $this );
304
-
305
- if( empty( $request ) || ! empty( $request['_restore'] ) ) {
306
-
307
- if( $this->args['data_type'] !== 'serialize' ) {
308
- foreach ( $request as $key => $value ) {
309
- delete_comment_meta( $comment_id, $key );
310
- }
311
- } else {
312
- delete_comment_meta( $comment_id, $this->unique );
313
- }
314
-
315
- } else {
316
-
317
- if( $this->args['data_type'] !== 'serialize' ) {
318
- foreach ( $request as $key => $value ) {
319
- update_comment_meta( $comment_id, $key, $value );
320
- }
321
- } else {
322
- update_comment_meta( $comment_id, $this->unique, $request );
323
- }
324
-
325
- if( ! empty( $errors ) ) {
326
- update_comment_meta( $comment_id, '_csf_errors', $errors );
327
- }
328
-
329
- }
330
-
331
- do_action( "csf_{$this->unique}_saved", $request, $comment_id, $this );
332
-
333
- do_action( "csf_{$this->unique}_save_after", $request, $comment_id, $this );
334
-
335
- }
336
- }
337
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/views/framework/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'] : null,
219
  'description' => ( isset( $section_args['description'] ) ) ? $section_args['description'] : null,
220
  'priority' => ( isset( $section_args['priority'] ) ) ? $section_args['priority'] : null,
@@ -254,7 +254,7 @@ if( ! class_exists( 'CSF_Customize_Options' ) ) {
254
  ) )
255
  );
256
 
257
- $wp_customize->add_control( new WP_Customize_Control_CSF( $wp_customize, $setting_id,
258
  wp_parse_args( $control_args, array(
259
  'unique' => $this->unique,
260
  'field' => $field,
7
  * @version 1.0.0
8
  *
9
  */
10
+ if( ! class_exists( 'SPFTESTIMONIAL_Customize_Options' ) ) {
11
+ class SPFTESTIMONIAL_Customize_Options extends SPFTESTIMONIAL_Abstract {
12
 
13
  // constans
14
  public $unique = '';
33
  public function __construct( $key, $params ) {
34
 
35
  $this->unique = $key;
36
+ $this->args = apply_filters( "spftestimonial_{$this->unique}_args", wp_parse_args( $params['args'], $this->args ), $this );
37
+ $this->sections = apply_filters( "spftestimonial_{$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( "spftestimonial_{$this->unique}_save_before", $this->get_options(), $this, $wp_customize );
63
+ do_action( "spftestimonial_{$this->unique}_saved", $this->get_options(), $this, $wp_customize );
64
+ do_action( "spftestimonial_{$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_SPFTESTIMONIAL' ) ) {
161
+ SPFTESTIMONIAL::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_SPFTESTIMONIAL( $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_SPFTESTIMONIAL( $wp_customize, $section_id, array(
218
  'title' => ( isset( $section_args['title'] ) ) ? $section_args['title'] : null,
219
  'description' => ( isset( $section_args['description'] ) ) ? $section_args['description'] : null,
220
  'priority' => ( isset( $section_args['priority'] ) ) ? $section_args['priority'] : null,
254
  ) )
255
  );
256
 
257
+ $wp_customize->add_control( new WP_Customize_Control_SPFTESTIMONIAL( $wp_customize, $setting_id,
258
  wp_parse_args( $control_args, array(
259
  'unique' => $this->unique,
260
  'field' => $field,
admin/views/framework/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;
@@ -71,9 +71,9 @@ if( ! class_exists( 'CSF_Fields' ) ) {
71
  public function field_after() {
72
 
73
  $output = ( ! empty( $this->field['after'] ) ) ? $this->field['after'] : '';
74
- $output .= ( ! empty( $this->field['desc'] ) ) ? '<p class="csf-text-desc">'. $this->field['desc'] .'</p>' : '';
75
- $output .= ( ! empty( $this->field['help'] ) ) ? '<span class="csf-help"><span class="csf-help-text">'. $this->field['help'] .'</span><span class="fa fa-question-circle"></span></span>' : '';
76
- $output .= ( ! empty( $this->field['_error'] ) ) ? '<p class="csf-text-error">'. $this->field['_error'] .'</p>' : '';
77
 
78
  return $output;
79
 
7
  * @version 1.0.0
8
  *
9
  */
10
+ if( ! class_exists( 'SPFTESTIMONIAL_Fields' ) ) {
11
+ abstract class SPFTESTIMONIAL_Fields extends SPFTESTIMONIAL_Abstract {
12
 
13
  public function __construct( $field = array(), $value = '', $unique = '', $where = '', $parent = '' ) {
14
  $this->field = $field;
71
  public function field_after() {
72
 
73
  $output = ( ! empty( $this->field['after'] ) ) ? $this->field['after'] : '';
74
+ $output .= ( ! empty( $this->field['desc'] ) ) ? '<p class="spftestimonial-text-desc">'. $this->field['desc'] .'</p>' : '';
75
+ $output .= ( ! empty( $this->field['help'] ) ) ? '<span class="spftestimonial-help"><span class="spftestimonial-help-text">'. $this->field['help'] .'</span><span class="fa fa-question-circle"></span></span>' : '';
76
+ $output .= ( ! empty( $this->field['_error'] ) ) ? '<p class="spftestimonial-text-error">'. $this->field['_error'] .'</p>' : '';
77
 
78
  return $output;
79
 
admin/views/framework/classes/metabox.class.php CHANGED
@@ -7,8 +7,8 @@
7
  * @since 1.0.0
8
  * @version 1.0.0
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'] );
@@ -89,7 +89,7 @@ if ( ! class_exists( 'CSF_Metabox' ) ) {
89
  $saved_post_format = ( is_object( $post ) ) ? get_post_format( $post ) : false;
90
  $saved_post_format = ( ! empty( $saved_post_format ) ) ? $saved_post_format : 'default';
91
 
92
- $classes[] = 'csf-post-formats';
93
 
94
  // Sanitize post format for standard to default
95
  if ( ( $key = array_search( 'standard', $this->post_formats ) ) !== false ) {
@@ -97,13 +97,13 @@ if ( ! class_exists( 'CSF_Metabox' ) ) {
97
  }
98
 
99
  foreach ( $this->post_formats as $format ) {
100
- $classes[] = 'csf-post-format-' . $format;
101
  }
102
 
103
  if ( ! in_array( $saved_post_format, $this->post_formats ) ) {
104
- $classes[] = 'csf-hide';
105
  } else {
106
- $classes[] = 'csf-show';
107
  }
108
  }
109
 
@@ -111,16 +111,16 @@ if ( ! class_exists( 'CSF_Metabox' ) ) {
111
 
112
  $saved_template = ( is_object( $post ) && ! empty( $post->page_template ) ) ? $post->page_template : 'default';
113
 
114
- $classes[] = 'csf-page-templates';
115
 
116
  foreach ( $this->page_templates as $template ) {
117
- $classes[] = 'csf-page-' . preg_replace( '/[^a-zA-Z0-9]+/', '-', strtolower( $template ) );
118
  }
119
 
120
  if ( ! in_array( $saved_template, $this->page_templates ) ) {
121
- $classes[] = 'csf-hide';
122
  } else {
123
- $classes[] = 'csf-show';
124
  }
125
  }
126
 
@@ -182,18 +182,18 @@ if ( ! class_exists( 'CSF_Metabox' ) ) {
182
  global $post;
183
 
184
  $has_nav = ( count( $this->sections ) > 1 && $this->args['context'] !== 'side' ) ? true : false;
185
- $show_all = ( ! $has_nav ) ? ' csf-show-all' : '';
186
- $errors = ( is_object( $post ) ) ? get_post_meta( $post->ID, '_csf_errors', true ) : array();
187
  $errors = ( ! empty( $errors ) ) ? $errors : array();
188
- $theme = ( $this->args['theme'] ) ? ' csf-theme-' . $this->args['theme'] : '';
189
 
190
  if ( is_object( $post ) && ! empty( $errors ) ) {
191
- delete_post_meta( $post->ID, '_csf_errors' );
192
  }
193
 
194
- wp_nonce_field( 'csf_metabox_nonce', 'csf_metabox_nonce' . $this->unique );
195
 
196
- echo '<div class="csf csf-metabox' . $theme . '">';
197
 
198
  $current_screen = get_current_screen();
199
  $the_current_post_type = $current_screen->post_type;
@@ -205,62 +205,51 @@ if ( ! class_exists( 'CSF_Metabox' ) ) {
205
  </div>
206
  </div>
207
  <div class="tpro_shortcode text-center">
208
- <div class="tpro-col-lg-3">
209
- <div class="tpro_shortcode_content">
210
- <h2 class="tpro-shortcode-title">
211
- <?php
212
- _e( 'Shortcode', 'testimonial-free' );
213
- ?>
214
- </h2>
215
- <p><?php _e( 'Copy and paste this shortcode into your posts or pages:', 'testimonial-free' ); ?></p>
216
- <div class="tpro-sc-code selectable" >[sp_testimonial
217
- <?php
218
- echo 'id="' . $post->ID . '"';
219
- ?>
220
- ]</div>
221
- </div>
222
- </div>
223
- <div class="tpro-col-lg-3">
224
- <div class="tpro_shortcode_content">
225
- <h2 class="tpro-shortcode-title">
226
- <?php
227
- _e( 'Template Include', 'testimonial-free' );
228
- ?>
229
- </h2>
230
- <p><?php _e( 'Paste the PHP code into your template file:', 'testimonial-free' ); ?></p>
231
- <div class="tpro-sc-code selectable">
232
- &lt;?php echo do_shortcode('[sp_testimonial id="<?php echo $post->ID; ?>"]');
233
- ?&gt;</div>
234
- </div>
235
- </div>
236
- <div class="tpro-col-lg-3">
237
- <div class="tpro_shortcode_content">
238
- <h2 class="tpro-shortcode-title">
239
- <?php
240
- _e( 'Post or Page editor', 'testimonial-free' );
241
- ?>
242
- </h2>
243
- <p><?php _e( 'Insert the shortcode with the TinyMCE button:', 'testimonial-free' ); ?></p>
244
- <img class="back-image" src="<?php echo SP_TFREE_URL . 'admin/assets/images/tpro-tiny-mce.png'; ?>" alt="">
245
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
246
  </div>
247
  </div>
248
  <div class="sp-testimonial-shortcode-divider"></div>
249
  <?php
250
  }
251
 
252
- echo '<div class="csf-wrapper' . $show_all . '">';
253
 
254
  if ( $has_nav ) {
255
 
256
- echo '<div class="csf-nav csf-nav-metabox" data-unique="' . $this->unique . '">';
257
 
258
  echo '<ul>';
259
  $tab_key = 1;
260
  foreach ( $this->sections as $section ) {
261
 
262
- $tab_error = ( ! empty( $errors['sections'][ $tab_key ] ) ) ? '<i class="csf-label-error csf-error">!</i>' : '';
263
- $tab_icon = ( ! empty( $section['icon'] ) ) ? '<i class="csf-icon ' . $section['icon'] . '"></i>' : '';
264
 
265
  echo '<li><a href="#" data-section="' . $this->unique . '_' . $tab_key . '">' . $tab_icon . $section['title'] . $tab_error . '</a></li>';
266
 
@@ -272,22 +261,22 @@ if ( ! class_exists( 'CSF_Metabox' ) ) {
272
 
273
  }
274
 
275
- echo '<div class="csf-content">';
276
 
277
- echo '<div class="csf-sections">';
278
 
279
  $section_key = 1;
280
 
281
  foreach ( $this->sections as $section ) {
282
 
283
- $onload = ( ! $has_nav ) ? ' csf-onload' : '';
284
 
285
- echo '<div id="csf-section-' . $this->unique . '_' . $section_key . '" class="csf-section' . $onload . '">';
286
 
287
- $section_icon = ( ! empty( $section['icon'] ) ) ? '<i class="csf-icon ' . $section['icon'] . '"></i>' : '';
288
  $section_title = ( ! empty( $section['title'] ) ) ? $section['title'] : '';
289
 
290
- echo ( $section_title || $section_icon ) ? '<div class="csf-section-title"><h3>' . $section_icon . $section_title . '</h3></div>' : '';
291
 
292
  if ( ! empty( $section['fields'] ) ) {
293
 
@@ -297,12 +286,12 @@ if ( ! class_exists( 'CSF_Metabox' ) ) {
297
  $field['_error'] = $errors['fields'][ $field['id'] ];
298
  }
299
 
300
- CSF::field( $field, $this->get_meta_value( $field ), $this->unique, 'metabox' );
301
 
302
  }
303
  } else {
304
 
305
- echo '<div class="csf-no-option csf-text-muted">' . esc_html__( 'No option provided by developer.', 'csf' ) . '</div>';
306
 
307
  }
308
 
@@ -317,11 +306,11 @@ if ( ! class_exists( 'CSF_Metabox' ) ) {
317
 
318
  if ( ! empty( $this->args['show_restore'] ) ) {
319
 
320
- echo '<div class="csf-restore-wrapper">';
321
  echo '<label>';
322
  echo '<input type="checkbox" name="' . $this->unique . '[_restore]" />';
323
- echo '<span class="button csf-button-restore">' . esc_html__( 'Restore', 'csf' ) . '</span>';
324
- echo '<span class="button csf-button-cancel">' . sprintf( '<small>( %s )</small> %s', esc_html__( 'update post for restore ', 'csf' ), esc_html__( 'Cancel', 'csf' ) ) . '</span>';
325
  echo '</label>';
326
  echo '</div>';
327
 
@@ -329,7 +318,7 @@ if ( ! class_exists( 'CSF_Metabox' ) ) {
329
 
330
  echo '</div>';
331
 
332
- echo ( $has_nav ) ? '<div class="csf-nav-background"></div>' : '';
333
 
334
  echo '<div class="clear"></div>';
335
 
@@ -342,7 +331,7 @@ if ( ! class_exists( 'CSF_Metabox' ) ) {
342
  // save metabox
343
  public function save_meta_box( $post_id ) {
344
 
345
- if ( ! wp_verify_nonce( csf_get_var( 'csf_metabox_nonce' . $this->unique ), 'csf_metabox_nonce' ) ) {
346
  return $post_id;
347
  }
348
 
@@ -351,7 +340,7 @@ if ( ! class_exists( 'CSF_Metabox' ) ) {
351
  }
352
 
353
  $errors = array();
354
- $request = csf_get_var( $this->unique );
355
 
356
  if ( ! empty( $request ) ) {
357
 
@@ -407,9 +396,9 @@ if ( ! class_exists( 'CSF_Metabox' ) ) {
407
  }
408
  }
409
 
410
- $request = apply_filters( "csf_{$this->unique}_save", $request, $post_id, $this );
411
 
412
- do_action( "csf_{$this->unique}_save_before", $request, $post_id, $this );
413
 
414
  if ( empty( $request ) || ! empty( $request['_restore'] ) ) {
415
 
@@ -431,13 +420,13 @@ if ( ! class_exists( 'CSF_Metabox' ) ) {
431
  }
432
 
433
  if ( ! empty( $errors ) ) {
434
- update_post_meta( $post_id, '_csf_errors', $errors );
435
  }
436
  }
437
 
438
- do_action( "csf_{$this->unique}_saved", $request, $post_id, $this );
439
 
440
- do_action( "csf_{$this->unique}_save_after", $request, $post_id, $this );
441
 
442
  }
443
  }
7
  * @since 1.0.0
8
  * @version 1.0.0
9
  */
10
+ if ( ! class_exists( 'SPFTESTIMONIAL_Metabox' ) ) {
11
+ class SPFTESTIMONIAL_Metabox extends SPFTESTIMONIAL_Abstract {
12
 
13
  // constans
14
  public $unique = '';
38
  public function __construct( $key, $params = array() ) {
39
 
40
  $this->unique = $key;
41
+ $this->args = apply_filters( "spftestimonial_{$this->unique}_args", wp_parse_args( $params['args'], $this->args ), $this );
42
+ $this->sections = apply_filters( "spftestimonial_{$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'] );
89
  $saved_post_format = ( is_object( $post ) ) ? get_post_format( $post ) : false;
90
  $saved_post_format = ( ! empty( $saved_post_format ) ) ? $saved_post_format : 'default';
91
 
92
+ $classes[] = 'spftestimonial-post-formats';
93
 
94
  // Sanitize post format for standard to default
95
  if ( ( $key = array_search( 'standard', $this->post_formats ) ) !== false ) {
97
  }
98
 
99
  foreach ( $this->post_formats as $format ) {
100
+ $classes[] = 'spftestimonial-post-format-' . $format;
101
  }
102
 
103
  if ( ! in_array( $saved_post_format, $this->post_formats ) ) {
104
+ $classes[] = 'spftestimonial-hide';
105
  } else {
106
+ $classes[] = 'spftestimonial-show';
107
  }
108
  }
109
 
111
 
112
  $saved_template = ( is_object( $post ) && ! empty( $post->page_template ) ) ? $post->page_template : 'default';
113
 
114
+ $classes[] = 'spftestimonial-page-templates';
115
 
116
  foreach ( $this->page_templates as $template ) {
117
+ $classes[] = 'spftestimonial-page-' . preg_replace( '/[^a-zA-Z0-9]+/', '-', strtolower( $template ) );
118
  }
119
 
120
  if ( ! in_array( $saved_template, $this->page_templates ) ) {
121
+ $classes[] = 'spftestimonial-hide';
122
  } else {
123
+ $classes[] = 'spftestimonial-show';
124
  }
125
  }
126
 
182
  global $post;
183
 
184
  $has_nav = ( count( $this->sections ) > 1 && $this->args['context'] !== 'side' ) ? true : false;
185
+ $show_all = ( ! $has_nav ) ? ' spftestimonial-show-all' : '';
186
+ $errors = ( is_object( $post ) ) ? get_post_meta( $post->ID, '_spftestimonial_errors', true ) : array();
187
  $errors = ( ! empty( $errors ) ) ? $errors : array();
188
+ $theme = ( $this->args['theme'] ) ? ' spftestimonial-theme-' . $this->args['theme'] : '';
189
 
190
  if ( is_object( $post ) && ! empty( $errors ) ) {
191
+ delete_post_meta( $post->ID, '_spftestimonial_errors' );
192
  }
193
 
194
+ wp_nonce_field( 'spftestimonial_metabox_nonce', 'spftestimonial_metabox_nonce' . $this->unique );
195
 
196
+ echo '<div class="spftestimonial spftestimonial-metabox' . $theme . '">';
197
 
198
  $current_screen = get_current_screen();
199
  $the_current_post_type = $current_screen->post_type;
205
  </div>
206
  </div>
207
  <div class="tpro_shortcode text-center">
208
+ <div class="tpro-col-lg-6">
209
+ <div class="tpro_shortcode_content">
210
+ <h2 class="tpro-shortcode-title">
211
+ <?php
212
+ _e( 'Shortcode', 'testimonial-free' );
213
+ ?>
214
+ </h2>
215
+ <p><?php _e( 'Copy and paste this shortcode into your posts or pages:', 'testimonial-free' ); ?></p>
216
+ <div class="tpro-sc-code selectable" >[sp_testimonial
217
+ <?php
218
+ echo 'id="' . $post->ID . '"';
219
+ ?>
220
+ ]</div>
221
+ </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
222
  </div>
223
+ <div class="tpro-col-lg-6">
224
+ <div class="tpro_shortcode_content">
225
+ <h2 class="tpro-shortcode-title">
226
+ <?php
227
+ _e( 'Template Include', 'testimonial-free' );
228
+ ?>
229
+ </h2>
230
+ <p><?php _e( 'Paste the PHP code into your template file:', 'testimonial-free' ); ?></p>
231
+ <div class="tpro-sc-code selectable">
232
+ &lt;?php echo do_shortcode('[sp_testimonial id="<?php echo $post->ID; ?>"]');
233
+ ?&gt;</div>
234
+ </div>
235
  </div>
236
  </div>
237
  <div class="sp-testimonial-shortcode-divider"></div>
238
  <?php
239
  }
240
 
241
+ echo '<div class="spftestimonial-wrapper' . $show_all . '">';
242
 
243
  if ( $has_nav ) {
244
 
245
+ echo '<div class="spftestimonial-nav spftestimonial-nav-metabox" data-unique="' . $this->unique . '">';
246
 
247
  echo '<ul>';
248
  $tab_key = 1;
249
  foreach ( $this->sections as $section ) {
250
 
251
+ $tab_error = ( ! empty( $errors['sections'][ $tab_key ] ) ) ? '<i class="spftestimonial-label-error spftestimonial-error">!</i>' : '';
252
+ $tab_icon = ( ! empty( $section['icon'] ) ) ? '<i class="spftestimonial-icon ' . $section['icon'] . '"></i>' : '';
253
 
254
  echo '<li><a href="#" data-section="' . $this->unique . '_' . $tab_key . '">' . $tab_icon . $section['title'] . $tab_error . '</a></li>';
255
 
261
 
262
  }
263
 
264
+ echo '<div class="spftestimonial-content">';
265
 
266
+ echo '<div class="spftestimonial-sections">';
267
 
268
  $section_key = 1;
269
 
270
  foreach ( $this->sections as $section ) {
271
 
272
+ $onload = ( ! $has_nav ) ? ' spftestimonial-onload' : '';
273
 
274
+ echo '<div id="spftestimonial-section-' . $this->unique . '_' . $section_key . '" class="spftestimonial-section' . $onload . '">';
275
 
276
+ $section_icon = ( ! empty( $section['icon'] ) ) ? '<i class="spftestimonial-icon ' . $section['icon'] . '"></i>' : '';
277
  $section_title = ( ! empty( $section['title'] ) ) ? $section['title'] : '';
278
 
279
+ echo ( $section_title || $section_icon ) ? '<div class="spftestimonial-section-title"><h3>' . $section_icon . $section_title . '</h3></div>' : '';
280
 
281
  if ( ! empty( $section['fields'] ) ) {
282
 
286
  $field['_error'] = $errors['fields'][ $field['id'] ];
287
  }
288
 
289
+ SPFTESTIMONIAL::field( $field, $this->get_meta_value( $field ), $this->unique, 'metabox' );
290
 
291
  }
292
  } else {
293
 
294
+ echo '<div class="spftestimonial-no-option spftestimonial-text-muted">' . esc_html__( 'No option provided by developer.', 'testimonial-free' ) . '</div>';
295
 
296
  }
297
 
306
 
307
  if ( ! empty( $this->args['show_restore'] ) ) {
308
 
309
+ echo '<div class="spftestimonial-restore-wrapper">';
310
  echo '<label>';
311
  echo '<input type="checkbox" name="' . $this->unique . '[_restore]" />';
312
+ echo '<span class="button spftestimonial-button-restore">' . esc_html__( 'Restore', 'testimonial-free' ) . '</span>';
313
+ echo '<span class="button spftestimonial-button-cancel">' . sprintf( '<small>( %s )</small> %s', esc_html__( 'update post for restore ', 'testimonial-free' ), esc_html__( 'Cancel', 'testimonial-free' ) ) . '</span>';
314
  echo '</label>';
315
  echo '</div>';
316
 
318
 
319
  echo '</div>';
320
 
321
+ echo ( $has_nav ) ? '<div class="spftestimonial-nav-background"></div>' : '';
322
 
323
  echo '<div class="clear"></div>';
324
 
331
  // save metabox
332
  public function save_meta_box( $post_id ) {
333
 
334
+ if ( ! wp_verify_nonce( spftestimonial_get_var( 'spftestimonial_metabox_nonce' . $this->unique ), 'spftestimonial_metabox_nonce' ) ) {
335
  return $post_id;
336
  }
337
 
340
  }
341
 
342
  $errors = array();
343
+ $request = spftestimonial_get_var( $this->unique );
344
 
345
  if ( ! empty( $request ) ) {
346
 
396
  }
397
  }
398
 
399
+ $request = apply_filters( "spftestimonial_{$this->unique}_save", $request, $post_id, $this );
400
 
401
+ do_action( "spftestimonial_{$this->unique}_save_before", $request, $post_id, $this );
402
 
403
  if ( empty( $request ) || ! empty( $request['_restore'] ) ) {
404
 
420
  }
421
 
422
  if ( ! empty( $errors ) ) {
423
+ update_post_meta( $post_id, '_spftestimonial_errors', $errors );
424
  }
425
  }
426
 
427
+ do_action( "spftestimonial_{$this->unique}_saved", $request, $post_id, $this );
428
 
429
+ do_action( "spftestimonial_{$this->unique}_save_after", $request, $post_id, $this );
430
 
431
  }
432
  }
admin/views/framework/classes/options.class.php CHANGED
@@ -7,8 +7,8 @@
7
  * @since 1.0.0
8
  * @version 1.0.0
9
  */
10
- if ( ! class_exists( 'CSF_Options' ) ) {
11
- class CSF_Options extends CSF_Abstract {
12
 
13
  // constans
14
  public $unique = '';
@@ -23,7 +23,7 @@ if ( ! class_exists( 'CSF_Options' ) ) {
23
  public $args = array(
24
 
25
  // framework title
26
- 'framework_title' => 'Codestar Framework <small>by Codestar</small>',
27
  'framework_class' => '',
28
 
29
  // menu settings
@@ -89,8 +89,8 @@ if ( ! class_exists( 'CSF_Options' ) ) {
89
  public function __construct( $key, $params = array() ) {
90
 
91
  $this->unique = $key;
92
- $this->args = apply_filters( "csf_{$this->unique}_args", wp_parse_args( $params['args'], $this->args ), $this );
93
- $this->sections = apply_filters( "csf_{$this->unique}_sections", $params['sections'], $this );
94
 
95
  // run only is admin panel options, avoid performance loss
96
  $this->pre_tabs = $this->pre_tabs( $this->sections );
@@ -103,7 +103,7 @@ if ( ! class_exists( 'CSF_Options' ) ) {
103
 
104
  add_action( 'admin_menu', array( &$this, 'add_admin_menu' ) );
105
  add_action( 'admin_bar_menu', array( &$this, 'add_admin_bar_menu' ), $this->args['admin_bar_menu_priority'] );
106
- add_action( 'wp_ajax_csf_' . $this->unique . '_ajax_save', array( &$this, 'ajax_save' ) );
107
 
108
  if ( ! empty( $this->args['show_network_menu'] ) ) {
109
  add_action( 'network_admin_menu', array( &$this, 'add_admin_menu' ) );
@@ -187,7 +187,7 @@ if ( ! class_exists( 'CSF_Options' ) ) {
187
  global $submenu;
188
 
189
  $menu_slug = $this->args['menu_slug'];
190
- $menu_icon = ( ! empty( $this->args['admin_bar_menu_icon'] ) ) ? '<span class="csf-ab-icon ab-icon ' . $this->args['admin_bar_menu_icon'] . '"></span>' : '';
191
 
192
  $wp_admin_bar->add_node(
193
  array(
@@ -231,7 +231,7 @@ if ( ! class_exists( 'CSF_Options' ) ) {
231
  // $_POST = json_decode( stripslashes( $_POST['data'] ), true );
232
  $_POST = json_decode( wp_unslash( wp_kses_post_deep( $_POST['data'] ) ), true );
233
 
234
- if ( wp_verify_nonce( csf_get_var( 'csf_options_nonce' . $this->unique ), 'csf_options_nonce' ) ) {
235
 
236
  $this->set_options();
237
 
@@ -249,7 +249,7 @@ if ( ! class_exists( 'CSF_Options' ) ) {
249
  wp_send_json_error(
250
  array(
251
  'success' => false,
252
- 'error' => esc_html__( 'Error while saving.', 'csf' ),
253
  )
254
  );
255
 
@@ -286,19 +286,19 @@ if ( ! class_exists( 'CSF_Options' ) ) {
286
  // set options
287
  public function set_options() {
288
 
289
- if ( wp_verify_nonce( csf_get_var( 'csf_options_nonce' . $this->unique ), 'csf_options_nonce' ) ) {
290
 
291
- $request = csf_get_var( $this->unique, array() );
292
- $transient = csf_get_var( 'csf_transient' );
293
  $section_id = ( ! empty( $transient['section'] ) ) ? $transient['section'] : '';
294
 
295
  // import data
296
- if ( ! empty( $transient['csf_import_data'] ) ) {
297
 
298
- $import_data = json_decode( stripslashes( trim( $transient['csf_import_data'] ) ), true );
299
  $request = ( is_array( $import_data ) ) ? $import_data : array();
300
 
301
- $this->notice = esc_html__( 'Success. Imported backup options.', 'csf' );
302
 
303
  } elseif ( ! empty( $transient['reset'] ) ) {
304
 
@@ -308,7 +308,7 @@ if ( ! class_exists( 'CSF_Options' ) ) {
308
  }
309
  }
310
 
311
- $this->notice = esc_html__( 'Default options restored.', 'csf' );
312
 
313
  } elseif ( ! empty( $transient['reset_section'] ) && ! empty( $section_id ) ) {
314
 
@@ -321,7 +321,7 @@ if ( ! class_exists( 'CSF_Options' ) ) {
321
  }
322
  }
323
 
324
- $this->notice = esc_html__( 'Default options restored for only this section.', 'csf' );
325
 
326
  } else {
327
 
@@ -365,18 +365,18 @@ if ( ! class_exists( 'CSF_Options' ) ) {
365
 
366
  $request = wp_unslash( $request );
367
 
368
- $request = apply_filters( "csf_{$this->unique}_save", $request, $this );
369
 
370
- do_action( "csf_{$this->unique}_save_before", $request, $this );
371
 
372
  $this->options = $request;
373
 
374
  $this->save_options( $request );
375
 
376
- do_action( "csf_{$this->unique}_save_after", $request, $this );
377
 
378
  if ( empty( $this->notice ) ) {
379
- $this->notice = esc_html__( 'Settings saved.', 'csf' );
380
  }
381
  }
382
 
@@ -397,7 +397,7 @@ if ( ! class_exists( 'CSF_Options' ) ) {
397
  update_option( $this->unique, $request );
398
  }
399
 
400
- do_action( "csf_{$this->unique}_saved", $request, $this );
401
 
402
  }
403
 
@@ -479,12 +479,6 @@ if ( ! class_exists( 'CSF_Options' ) ) {
479
  }
480
  }
481
 
482
- add_filter( 'admin_footer_text', array( &$this, 'add_admin_footer_text' ) );
483
- }
484
-
485
- public function add_admin_footer_text() {
486
- $default = 'Thank you for creating with <a href="http://codestarframework.com/" target="_blank">Codestar Framework</a>';
487
- echo ( ! empty( $this->args['footer_credit'] ) ) ? $this->args['footer_credit'] : $default;
488
  }
489
 
490
  public function error_check( $sections, $err = '' ) {
@@ -495,7 +489,7 @@ if ( ! class_exists( 'CSF_Options' ) ) {
495
  foreach ( $sections['fields'] as $field ) {
496
  if ( ! empty( $field['id'] ) ) {
497
  if ( array_key_exists( $field['id'], $this->errors ) ) {
498
- $err = '<span class="csf-label-error">!</span>';
499
  }
500
  }
501
  }
@@ -519,49 +513,49 @@ if ( ! class_exists( 'CSF_Options' ) ) {
519
  public function add_options_html() {
520
 
521
  $has_nav = ( count( $this->pre_tabs ) > 1 ) ? true : false;
522
- $show_all = ( ! $has_nav ) ? ' csf-show-all' : '';
523
- $ajax_class = ( $this->args['ajax_save'] ) ? ' csf-save-ajax' : '';
524
- $sticky_class = ( $this->args['sticky_header'] ) ? ' csf-sticky-header' : '';
525
  $wrapper_class = ( $this->args['framework_class'] ) ? ' ' . $this->args['framework_class'] : '';
526
- $theme = ( $this->args['theme'] ) ? ' csf-theme-' . $this->args['theme'] : '';
527
  $class = ( $this->args['class'] ) ? ' ' . $this->args['class'] : '';
528
 
529
- do_action( 'csf_options_before' );
530
 
531
- echo '<div class="csf csf-options' . $theme . $class . $wrapper_class . '" data-slug="' . $this->args['menu_slug'] . '" data-unique="' . $this->unique . '">';
532
 
533
- echo '<div class="csf-container">';
534
 
535
- echo '<form method="post" action="" enctype="multipart/form-data" id="csf-form" autocomplete="off">';
536
 
537
- echo '<input type="hidden" class="csf-section-id" name="csf_transient[section]" value="1">';
538
 
539
- wp_nonce_field( 'csf_options_nonce', 'csf_options_nonce' . $this->unique );
540
 
541
- echo '<div class="csf-header' . esc_attr( $sticky_class ) . '">';
542
- echo '<div class="csf-header-inner">';
543
 
544
- echo '<div class="csf-header-left">';
545
  echo '<h1>' . $this->args['framework_title'] . '</h1>';
546
  echo '</div>';
547
 
548
- echo '<div class="csf-header-right">';
549
 
550
- $notice_class = ( ! empty( $this->notice ) ) ? ' csf-form-show' : '';
551
  $notice_text = ( ! empty( $this->notice ) ) ? $this->notice : '';
552
 
553
- echo '<div class="csf-form-result csf-form-success' . $notice_class . '">' . $notice_text . '</div>';
554
 
555
- 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>' : '';
556
 
557
- echo ( $has_nav && $this->args['show_all_options'] ) ? '<div class="csf-expand-all" title="' . esc_html__( 'show all options', 'csf' ) . '"><i class="fa fa-outdent"></i></div>' : '';
558
 
559
- 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>' : '';
560
 
561
- echo '<div class="csf-buttons">';
562
- echo '<input type="submit" name="' . $this->unique . '[_nonce][save]" class="button button-primary csf-top-save csf-save' . $ajax_class . '" value="' . esc_html__( 'Save', 'csf' ) . '" data-save="' . esc_html__( 'Saving...', 'csf' ) . '">';
563
- 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' ) . '">' : '';
564
- 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' ) . '">' : '';
565
  echo '</div>';
566
 
567
  echo '</div>';
@@ -570,10 +564,10 @@ if ( ! class_exists( 'CSF_Options' ) ) {
570
  echo '</div>';
571
  echo '</div>';
572
 
573
- echo '<div class="csf-wrapper' . $show_all . '">';
574
 
575
  if ( $has_nav ) {
576
- echo '<div class="csf-nav csf-nav-options">';
577
 
578
  echo '<ul>';
579
 
@@ -586,9 +580,9 @@ if ( ! class_exists( 'CSF_Options' ) ) {
586
 
587
  if ( ! empty( $tab['subs'] ) ) {
588
 
589
- echo '<li class="csf-tab-depth-0">';
590
 
591
- echo '<a href="#tab=' . $tab_key . '" class="csf-arrow">' . $tab_icon . $tab['title'] . $tab_error . '</a>';
592
 
593
  echo '<ul>';
594
 
@@ -597,7 +591,7 @@ if ( ! class_exists( 'CSF_Options' ) ) {
597
  $sub_error = $this->error_check( $sub );
598
  $sub_icon = ( ! empty( $sub['icon'] ) ) ? '<i class="' . $sub['icon'] . '"></i>' : '';
599
 
600
- echo '<li class="csf-tab-depth-1"><a id="csf-tab-link-' . $tab_key . '" href="#tab=' . $tab_key . '">' . $sub_icon . $sub['title'] . $sub_error . '</a></li>';
601
 
602
  $tab_key++;
603
  }
@@ -608,7 +602,7 @@ if ( ! class_exists( 'CSF_Options' ) ) {
608
 
609
  } else {
610
 
611
- echo '<li class="csf-tab-depth-0"><a id="csf-tab-link-' . $tab_key . '" href="#tab=' . $tab_key . '">' . $tab_icon . $tab['title'] . $tab_error . '</a></li>';
612
 
613
  $tab_key++;
614
  }
@@ -620,20 +614,20 @@ if ( ! class_exists( 'CSF_Options' ) ) {
620
 
621
  }
622
 
623
- echo '<div class="csf-content">';
624
 
625
- echo '<div class="csf-sections">';
626
 
627
  $section_key = 1;
628
 
629
  foreach ( $this->pre_sections as $section ) {
630
 
631
- $onload = ( ! $has_nav ) ? ' csf-onload' : '';
632
- $section_icon = ( ! empty( $section['icon'] ) ) ? '<i class="csf-icon ' . $section['icon'] . '"></i>' : '';
633
 
634
- echo '<div id="csf-section-' . $section_key . '" class="csf-section' . $onload . '">';
635
- echo ( $has_nav ) ? '<div class="csf-section-title"><h3>' . $section_icon . $section['title'] . '</h3></div>' : '';
636
- echo ( ! empty( $section['description'] ) ) ? '<div class="csf-field csf-section-description">' . $section['description'] . '</div>' : '';
637
 
638
  if ( ! empty( $section['fields'] ) ) {
639
 
@@ -647,12 +641,12 @@ if ( ! class_exists( 'CSF_Options' ) ) {
647
 
648
  $value = ( ! empty( $field['id'] ) && isset( $this->options[ $field['id'] ] ) ) ? $this->options[ $field['id'] ] : '';
649
 
650
- CSF::field( $field, $value, $this->unique, 'options' );
651
 
652
  }
653
  } else {
654
 
655
- echo '<div class="csf-no-option csf-text-muted">' . esc_html__( 'No option provided by developer.', 'csf' ) . '</div>';
656
 
657
  }
658
 
@@ -667,21 +661,21 @@ if ( ! class_exists( 'CSF_Options' ) ) {
667
 
668
  echo '</div>';
669
 
670
- echo '<div class="csf-nav-background"></div>';
671
 
672
  echo '</div>';
673
 
674
  if ( ! empty( $this->args['show_footer'] ) ) {
675
 
676
- echo '<div class="csf-footer">';
677
 
678
- echo '<div class="csf-buttons">';
679
- echo '<input type="submit" name="csf_transient[save]" class="button button-primary csf-save' . $ajax_class . '" value="' . esc_html__( 'Save', 'csf' ) . '" data-save="' . esc_html__( 'Saving...', 'csf' ) . '">';
680
- 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' ) . '">' : '';
681
- 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' ) . '">' : '';
682
  echo '</div>';
683
 
684
- echo ( ! empty( $this->args['footer_text'] ) ) ? '<div class="csf-copyright">' . $this->args['footer_text'] . '</div>' : '';
685
 
686
  echo '<div class="clear"></div>';
687
  echo '</div>';
@@ -698,7 +692,7 @@ if ( ! class_exists( 'CSF_Options' ) ) {
698
 
699
  echo '</div>';
700
 
701
- do_action( 'csf_options_after' );
702
 
703
  }
704
  }
7
  * @since 1.0.0
8
  * @version 1.0.0
9
  */
10
+ if ( ! class_exists( 'SPFTESTIMONIAL_Options' ) ) {
11
+ class SPFTESTIMONIAL_Options extends SPFTESTIMONIAL_Abstract {
12
 
13
  // constans
14
  public $unique = '';
23
  public $args = array(
24
 
25
  // framework title
26
+ 'framework_title' => '',
27
  'framework_class' => '',
28
 
29
  // menu settings
89
  public function __construct( $key, $params = array() ) {
90
 
91
  $this->unique = $key;
92
+ $this->args = apply_filters( "spftestimonial_{$this->unique}_args", wp_parse_args( $params['args'], $this->args ), $this );
93
+ $this->sections = apply_filters( "spftestimonial_{$this->unique}_sections", $params['sections'], $this );
94
 
95
  // run only is admin panel options, avoid performance loss
96
  $this->pre_tabs = $this->pre_tabs( $this->sections );
103
 
104
  add_action( 'admin_menu', array( &$this, 'add_admin_menu' ) );
105
  add_action( 'admin_bar_menu', array( &$this, 'add_admin_bar_menu' ), $this->args['admin_bar_menu_priority'] );
106
+ add_action( 'wp_ajax_spftestimonial_' . $this->unique . '_ajax_save', array( &$this, 'ajax_save' ) );
107
 
108
  if ( ! empty( $this->args['show_network_menu'] ) ) {
109
  add_action( 'network_admin_menu', array( &$this, 'add_admin_menu' ) );
187
  global $submenu;
188
 
189
  $menu_slug = $this->args['menu_slug'];
190
+ $menu_icon = ( ! empty( $this->args['admin_bar_menu_icon'] ) ) ? '<span class="spftestimonial-ab-icon ab-icon ' . $this->args['admin_bar_menu_icon'] . '"></span>' : '';
191
 
192
  $wp_admin_bar->add_node(
193
  array(
231
  // $_POST = json_decode( stripslashes( $_POST['data'] ), true );
232
  $_POST = json_decode( wp_unslash( wp_kses_post_deep( $_POST['data'] ) ), true );
233
 
234
+ if ( wp_verify_nonce( spftestimonial_get_var( 'spftestimonial_options_nonce' . $this->unique ), 'spftestimonial_options_nonce' ) ) {
235
 
236
  $this->set_options();
237
 
249
  wp_send_json_error(
250
  array(
251
  'success' => false,
252
+ 'error' => esc_html__( 'Error while saving.', 'testimonial-free' ),
253
  )
254
  );
255
 
286
  // set options
287
  public function set_options() {
288
 
289
+ if ( wp_verify_nonce( spftestimonial_get_var( 'spftestimonial_options_nonce' . $this->unique ), 'spftestimonial_options_nonce' ) ) {
290
 
291
+ $request = spftestimonial_get_var( $this->unique, array() );
292
+ $transient = spftestimonial_get_var( 'spftestimonial_transient' );
293
  $section_id = ( ! empty( $transient['section'] ) ) ? $transient['section'] : '';
294
 
295
  // import data
296
+ if ( ! empty( $transient['spftestimonial_import_data'] ) ) {
297
 
298
+ $import_data = json_decode( stripslashes( trim( $transient['spftestimonial_import_data'] ) ), true );
299
  $request = ( is_array( $import_data ) ) ? $import_data : array();
300
 
301
+ $this->notice = esc_html__( 'Success. Imported backup options.', 'testimonial-free' );
302
 
303
  } elseif ( ! empty( $transient['reset'] ) ) {
304
 
308
  }
309
  }
310
 
311
+ $this->notice = esc_html__( 'Default options restored.', 'testimonial-free' );
312
 
313
  } elseif ( ! empty( $transient['reset_section'] ) && ! empty( $section_id ) ) {
314
 
321
  }
322
  }
323
 
324
+ $this->notice = esc_html__( 'Default options restored for only this section.', 'testimonial-free' );
325
 
326
  } else {
327
 
365
 
366
  $request = wp_unslash( $request );
367
 
368
+ $request = apply_filters( "spftestimonial_{$this->unique}_save", $request, $this );
369
 
370
+ do_action( "spftestimonial_{$this->unique}_save_before", $request, $this );
371
 
372
  $this->options = $request;
373
 
374
  $this->save_options( $request );
375
 
376
+ do_action( "spftestimonial_{$this->unique}_save_after", $request, $this );
377
 
378
  if ( empty( $this->notice ) ) {
379
+ $this->notice = esc_html__( 'Settings saved.', 'testimonial-free' );
380
  }
381
  }
382
 
397
  update_option( $this->unique, $request );
398
  }
399
 
400
+ do_action( "spftestimonial_{$this->unique}_saved", $request, $this );
401
 
402
  }
403
 
479
  }
480
  }
481
 
 
 
 
 
 
 
482
  }
483
 
484
  public function error_check( $sections, $err = '' ) {
489
  foreach ( $sections['fields'] as $field ) {
490
  if ( ! empty( $field['id'] ) ) {
491
  if ( array_key_exists( $field['id'], $this->errors ) ) {
492
+ $err = '<span class="spftestimonial-label-error">!</span>';
493
  }
494
  }
495
  }
513
  public function add_options_html() {
514
 
515
  $has_nav = ( count( $this->pre_tabs ) > 1 ) ? true : false;
516
+ $show_all = ( ! $has_nav ) ? ' spftestimonial-show-all' : '';
517
+ $ajax_class = ( $this->args['ajax_save'] ) ? ' spftestimonial-save-ajax' : '';
518
+ $sticky_class = ( $this->args['sticky_header'] ) ? ' spftestimonial-sticky-header' : '';
519
  $wrapper_class = ( $this->args['framework_class'] ) ? ' ' . $this->args['framework_class'] : '';
520
+ $theme = ( $this->args['theme'] ) ? ' spftestimonial-theme-' . $this->args['theme'] : '';
521
  $class = ( $this->args['class'] ) ? ' ' . $this->args['class'] : '';
522
 
523
+ do_action( 'spftestimonial_options_before' );
524
 
525
+ echo '<div class="spftestimonial spftestimonial-options' . $theme . $class . $wrapper_class . '" data-slug="' . $this->args['menu_slug'] . '" data-unique="' . $this->unique . '">';
526
 
527
+ echo '<div class="spftestimonial-container">';
528
 
529
+ echo '<form method="post" action="" enctype="multipart/form-data" id="spftestimonial-form" autocomplete="off">';
530
 
531
+ echo '<input type="hidden" class="spftestimonial-section-id" name="spftestimonial_transient[section]" value="1">';
532
 
533
+ wp_nonce_field( 'spftestimonial_options_nonce', 'spftestimonial_options_nonce' . $this->unique );
534
 
535
+ echo '<div class="spftestimonial-header' . esc_attr( $sticky_class ) . '">';
536
+ echo '<div class="spftestimonial-header-inner">';
537
 
538
+ echo '<div class="spftestimonial-header-left">';
539
  echo '<h1>' . $this->args['framework_title'] . '</h1>';
540
  echo '</div>';
541
 
542
+ echo '<div class="spftestimonial-header-right">';
543
 
544
+ $notice_class = ( ! empty( $this->notice ) ) ? ' spftestimonial-form-show' : '';
545
  $notice_text = ( ! empty( $this->notice ) ) ? $this->notice : '';
546
 
547
+ echo '<div class="spftestimonial-form-result spftestimonial-form-success' . $notice_class . '">' . $notice_text . '</div>';
548
 
549
+ echo ( $this->args['show_form_warning'] ) ? '<div class="spftestimonial-form-result spftestimonial-form-warning">' . esc_html__( 'Settings have changed, you should save them!', 'testimonial-free' ) . '</div>' : '';
550
 
551
+ echo ( $has_nav && $this->args['show_all_options'] ) ? '<div class="spftestimonial-expand-all" title="' . esc_html__( 'show all options', 'testimonial-free' ) . '"><i class="fa fa-outdent"></i></div>' : '';
552
 
553
+ echo ( $this->args['show_search'] ) ? '<div class="spftestimonial-search"><input type="text" name="spftestimonial-search" placeholder="' . esc_html__( 'Search option(s)', 'testimonial-free' ) . '" autocomplete="off" /></div>' : '';
554
 
555
+ echo '<div class="spftestimonial-buttons">';
556
+ echo '<input type="submit" name="' . $this->unique . '[_nonce][save]" class="button button-primary spftestimonial-top-save spftestimonial-save' . $ajax_class . '" value="' . esc_html__( 'Save', 'testimonial-free' ) . '" data-save="' . esc_html__( 'Saving...', 'testimonial-free' ) . '">';
557
+ echo ( $this->args['show_reset_section'] ) ? '<input type="submit" name="spftestimonial_transient[reset_section]" class="button button-secondary spftestimonial-reset-section spftestimonial-confirm" value="' . esc_html__( 'Reset Section', 'testimonial-free' ) . '" data-confirm="' . esc_html__( 'Are you sure to reset this section options?', 'testimonial-free' ) . '">' : '';
558
+ echo ( $this->args['show_reset_all'] ) ? '<input type="submit" name="spftestimonial_transient[reset]" class="button spftestimonial-warning-primary spftestimonial-reset-all spftestimonial-confirm" value="' . esc_html__( 'Reset All', 'testimonial-free' ) . '" data-confirm="' . esc_html__( 'Are you sure to reset all options?', 'testimonial-free' ) . '">' : '';
559
  echo '</div>';
560
 
561
  echo '</div>';
564
  echo '</div>';
565
  echo '</div>';
566
 
567
+ echo '<div class="spftestimonial-wrapper' . $show_all . '">';
568
 
569
  if ( $has_nav ) {
570
+ echo '<div class="spftestimonial-nav spftestimonial-nav-options">';
571
 
572
  echo '<ul>';
573
 
580
 
581
  if ( ! empty( $tab['subs'] ) ) {
582
 
583
+ echo '<li class="spftestimonial-tab-depth-0">';
584
 
585
+ echo '<a href="#tab=' . $tab_key . '" class="spftestimonial-arrow">' . $tab_icon . $tab['title'] . $tab_error . '</a>';
586
 
587
  echo '<ul>';
588
 
591
  $sub_error = $this->error_check( $sub );
592
  $sub_icon = ( ! empty( $sub['icon'] ) ) ? '<i class="' . $sub['icon'] . '"></i>' : '';
593
 
594
+ echo '<li class="spftestimonial-tab-depth-1"><a id="spftestimonial-tab-link-' . $tab_key . '" href="#tab=' . $tab_key . '">' . $sub_icon . $sub['title'] . $sub_error . '</a></li>';
595
 
596
  $tab_key++;
597
  }
602
 
603
  } else {
604
 
605
+ echo '<li class="spftestimonial-tab-depth-0"><a id="spftestimonial-tab-link-' . $tab_key . '" href="#tab=' . $tab_key . '">' . $tab_icon . $tab['title'] . $tab_error . '</a></li>';
606
 
607
  $tab_key++;
608
  }
614
 
615
  }
616
 
617
+ echo '<div class="spftestimonial-content">';
618
 
619
+ echo '<div class="spftestimonial-sections">';
620
 
621
  $section_key = 1;
622
 
623
  foreach ( $this->pre_sections as $section ) {
624
 
625
+ $onload = ( ! $has_nav ) ? ' spftestimonial-onload' : '';
626
+ $section_icon = ( ! empty( $section['icon'] ) ) ? '<i class="spftestimonial-icon ' . $section['icon'] . '"></i>' : '';
627
 
628
+ echo '<div id="spftestimonial-section-' . $section_key . '" class="spftestimonial-section' . $onload . '">';
629
+ echo ( $has_nav ) ? '<div class="spftestimonial-section-title"><h3>' . $section_icon . $section['title'] . '</h3></div>' : '';
630
+ echo ( ! empty( $section['description'] ) ) ? '<div class="spftestimonial-field spftestimonial-section-description">' . $section['description'] . '</div>' : '';
631
 
632
  if ( ! empty( $section['fields'] ) ) {
633
 
641
 
642
  $value = ( ! empty( $field['id'] ) && isset( $this->options[ $field['id'] ] ) ) ? $this->options[ $field['id'] ] : '';
643
 
644
+ SPFTESTIMONIAL::field( $field, $value, $this->unique, 'options' );
645
 
646
  }
647
  } else {
648
 
649
+ echo '<div class="spftestimonial-no-option spftestimonial-text-muted">' . esc_html__( 'No option provided by developer.', 'testimonial-free' ) . '</div>';
650
 
651
  }
652
 
661
 
662
  echo '</div>';
663
 
664
+ echo '<div class="spftestimonial-nav-background"></div>';
665
 
666
  echo '</div>';
667
 
668
  if ( ! empty( $this->args['show_footer'] ) ) {
669
 
670
+ echo '<div class="spftestimonial-footer">';
671
 
672
+ echo '<div class="spftestimonial-buttons">';
673
+ echo '<input type="submit" name="spftestimonial_transient[save]" class="button button-primary spftestimonial-save' . $ajax_class . '" value="' . esc_html__( 'Save', 'testimonial-free' ) . '" data-save="' . esc_html__( 'Saving...', 'testimonial-free' ) . '">';
674
+ echo ( $this->args['show_reset_section'] ) ? '<input type="submit" name="spftestimonial_transient[reset_section]" class="button button-secondary spftestimonial-reset-section spftestimonial-confirm" value="' . esc_html__( 'Reset Section', 'testimonial-free' ) . '" data-confirm="' . esc_html__( 'Are you sure to reset this section options?', 'testimonial-free' ) . '">' : '';
675
+ echo ( $this->args['show_reset_all'] ) ? '<input type="submit" name="spftestimonial_transient[reset]" class="button spftestimonial-warning-primary spftestimonial-reset-all spftestimonial-confirm" value="' . esc_html__( 'Reset All', 'testimonial-free' ) . '" data-confirm="' . esc_html__( 'Are you sure to reset all options?', 'testimonial-free' ) . '">' : '';
676
  echo '</div>';
677
 
678
+ echo ( ! empty( $this->args['footer_text'] ) ) ? '<div class="spftestimonial-copyright">' . $this->args['footer_text'] . '</div>' : '';
679
 
680
  echo '<div class="clear"></div>';
681
  echo '</div>';
692
 
693
  echo '</div>';
694
 
695
+ do_action( 'spftestimonial_options_after' );
696
 
697
  }
698
  }
admin/views/framework/classes/profile-options.class.php DELETED
@@ -1,227 +0,0 @@
1
- <?php if ( ! defined( 'ABSPATH' ) ) { die; } // Cannot access directly.
2
- /**
3
- *
4
- * Profile Options Class
5
- *
6
- * @since 1.0.0
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 = '';
15
- public $abstract = 'profile';
16
- public $sections = array();
17
- public $args = array(
18
- 'data_type' => 'serialize',
19
- 'defaults' => array(),
20
- 'class' => '',
21
- );
22
-
23
- // run profile construct
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
-
32
- }
33
-
34
- // instance
35
- public static function instance( $key, $params ) {
36
- return new self( $key, $params );
37
- }
38
-
39
- // add profile add/edit fields
40
- public function add_profile_options() {
41
-
42
- add_action( 'show_user_profile', array( &$this, 'render_profile_form_fields' ) );
43
- add_action( 'edit_user_profile', array( &$this, 'render_profile_form_fields' ) );
44
-
45
- add_action( 'personal_options_update', array( &$this, 'save_profile' ) );
46
- add_action( 'edit_user_profile_update', array( &$this, 'save_profile' ) );
47
-
48
- }
49
-
50
- // get default value
51
- public function get_default( $field ) {
52
-
53
- $default = ( isset( $field['id'] ) && isset( $this->args['defaults'][$field['id']] ) ) ? $this->args['defaults'][$field['id']] : null;
54
- $default = ( isset( $field['default'] ) ) ? $field['default'] : $default;
55
-
56
- return $default;
57
-
58
- }
59
-
60
- // get default value
61
- public function get_meta_value( $user_id, $field ) {
62
-
63
- $value = null;
64
-
65
- if( ! empty( $user_id ) && ! empty( $field['id'] ) ) {
66
-
67
- if( $this->args['data_type'] !== 'serialize' ) {
68
- $meta = get_user_meta( $user_id, $field['id'] );
69
- $value = ( isset( $meta[0] ) ) ? $meta[0] : null;
70
- } else {
71
- $meta = get_user_meta( $user_id, $this->unique, true );
72
- $value = ( isset( $meta[$field['id']] ) ) ? $meta[$field['id']] : null;
73
- }
74
-
75
- }
76
-
77
- $default = $this->get_default( $field );
78
- $value = ( isset( $value ) ) ? $value : $default;
79
-
80
- return $value;
81
-
82
- }
83
-
84
- // render profile add/edit form fields
85
- public function render_profile_form_fields( $profileuser ) {
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', true ) : array();
90
- $errors = ( ! empty( $errors ) ) ? $errors : array();
91
- $class = ( $this->args['class'] ) ? ' '. $this->args['class'] : '';
92
-
93
- // clear errors
94
- if( ! empty( $errors ) ) {
95
- delete_user_meta( $profile_id, '_csf_errors' );
96
- }
97
-
98
- echo '<div class="csf csf-profile csf-onload'. $class .'">';
99
-
100
- wp_nonce_field( 'csf_profile_nonce', 'csf_profile_nonce'. $this->unique );
101
-
102
- foreach( $this->sections as $section ) {
103
-
104
- $section_icon = ( ! empty( $section['icon'] ) ) ? '<i class="csf-icon '. $section['icon'] .'"></i>' : '';
105
- $section_title = ( ! empty( $section['title'] ) ) ? $section['title'] : '';
106
-
107
- echo ( $section_title || $section_icon ) ? '<h2>'. $section_icon . $section_title .'</h2>' : '';
108
-
109
- if( ! empty( $section['fields'] ) ) {
110
- foreach( $section['fields'] as $field ) {
111
-
112
- if( ! empty( $field['id'] ) && ! empty( $errors[$field['id']] ) ) {
113
- $field['_error'] = $errors[$field['id']];
114
- }
115
-
116
- CSF::field( $field, $this->get_meta_value( $profile_id, $field ), $this->unique, 'profile' );
117
-
118
- }
119
- }
120
-
121
- }
122
-
123
- echo '</div>';
124
-
125
- }
126
-
127
- // save profile form fields
128
- public function save_profile( $user_id ) {
129
-
130
- if ( wp_verify_nonce( csf_get_var( 'csf_profile_nonce'. $this->unique ), 'csf_profile_nonce' ) ) {
131
-
132
- $errors = array();
133
-
134
- foreach ( $this->sections as $section ) {
135
-
136
- $request = csf_get_var( $this->unique, array() );
137
-
138
- // ignore _nonce
139
- if( isset( $request['_nonce'] ) ) {
140
- unset( $request['_nonce'] );
141
- }
142
-
143
- // sanitize and validate
144
- if( ! empty( $section['fields'] ) ) {
145
-
146
- foreach( $section['fields'] as $field ) {
147
-
148
- if( ! empty( $field['id'] ) ) {
149
-
150
- // sanitize
151
- if( ! empty( $field['sanitize'] ) ) {
152
-
153
- $sanitize = $field['sanitize'];
154
- $value_sanitize = csf_get_vars( $this->unique, $field['id'] );
155
- $request[$field['id']] = call_user_func( $sanitize, $value_sanitize );
156
-
157
- }
158
-
159
- // validate
160
- if( ! empty( $field['validate'] ) ) {
161
-
162
- $validate = $field['validate'];
163
- $value_validate = csf_get_vars( $this->unique, $field['id'] );
164
- $has_validated = call_user_func( $validate, $value_validate );
165
-
166
- if( ! empty( $has_validated ) ) {
167
-
168
- $errors[$field['id']] = $has_validated;
169
- $request[$field['id']] = $this->get_meta_value( $user_id, $field );
170
-
171
- }
172
-
173
- }
174
-
175
- // auto sanitize
176
- if( ! isset( $request[$field['id']] ) || is_null( $request[$field['id']] ) ) {
177
- $request[$field['id']] = '';
178
- }
179
-
180
- }
181
-
182
- }
183
-
184
- }
185
-
186
- $request = apply_filters( "csf_{$this->unique}_save", $request, $user_id, $this );
187
-
188
- do_action( "csf_{$this->unique}_save_before", $request, $user_id, $this );
189
-
190
- if( empty( $request ) ) {
191
-
192
- if( $this->args['data_type'] !== 'serialize' ) {
193
- foreach ( $request as $key => $value ) {
194
- delete_user_meta( $user_id, $key );
195
- }
196
- } else {
197
- delete_user_meta( $user_id, $this->unique );
198
- }
199
-
200
- } else {
201
-
202
- if( $this->args['data_type'] !== 'serialize' ) {
203
- foreach ( $request as $key => $value ) {
204
- update_user_meta( $user_id, $key, $value );
205
- }
206
- } else {
207
- update_user_meta( $user_id, $this->unique, $request );
208
- }
209
-
210
- if( ! empty( $errors ) ) {
211
- update_user_meta( $user_id, '_csf_errors', $errors );
212
- }
213
-
214
- }
215
-
216
- do_action( "csf_{$this->unique}_saved", $request, $user_id, $this );
217
-
218
- do_action( "csf_{$this->unique}_save_after", $request, $user_id, $this );
219
-
220
- }
221
-
222
- }
223
-
224
- }
225
-
226
- }
227
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/views/framework/classes/setup.class.php CHANGED
@@ -7,12 +7,11 @@
7
  * @since 1.0.0
8
  * @version 1.0.0
9
  */
10
- if ( ! class_exists( 'CSF' ) ) {
11
- class CSF {
12
 
13
  // constants
14
  public static $version = '2.1.3';
15
- public static $premium = true;
16
  public static $dir = null;
17
  public static $url = null;
18
  public static $inited = array();
@@ -21,11 +20,7 @@ if ( ! class_exists( 'CSF' ) ) {
21
  'options' => array(),
22
  'customize_options' => array(),
23
  'metaboxes' => array(),
24
- 'profile_options' => array(),
25
- 'shortcoders' => array(),
26
- 'taxonomy_options' => array(),
27
  'widgets' => array(),
28
- 'comment_metaboxes' => array(),
29
  );
30
 
31
  // shortcode instances
@@ -35,7 +30,7 @@ if ( ! class_exists( 'CSF' ) ) {
35
  public static function init() {
36
 
37
  // init action
38
- do_action( 'csf_init' );
39
 
40
  // set constants
41
  self::constants();
@@ -43,15 +38,12 @@ if ( ! class_exists( 'CSF' ) ) {
43
  // include files
44
  self::includes();
45
 
46
- // setup textdomain
47
- self::textdomain();
48
-
49
- add_action( 'after_setup_theme', array( 'CSF', 'setup' ) );
50
- add_action( 'init', array( 'CSF', 'setup' ) );
51
- add_action( 'switch_theme', array( 'CSF', 'setup' ) );
52
- add_action( 'admin_enqueue_scripts', array( 'CSF', 'add_admin_enqueue_scripts' ), 20 );
53
- add_action( 'admin_head', array( 'CSF', 'add_admin_head_css' ), 99 );
54
- add_action( 'customize_controls_print_styles', array( 'CSF', 'add_admin_head_css' ), 99 );
55
 
56
  }
57
 
@@ -68,7 +60,7 @@ if ( ! class_exists( 'CSF' ) ) {
68
  $params['sections'] = self::$args['sections'][ $key ];
69
  self::$inited[ $key ] = true;
70
 
71
- CSF_Options::instance( $key, $params );
72
 
73
  if ( ! empty( $value['show_in_customizer'] ) ) {
74
  $value['output_css'] = false;
@@ -90,7 +82,7 @@ if ( ! class_exists( 'CSF' ) ) {
90
  $params['sections'] = self::$args['sections'][ $key ];
91
  self::$inited[ $key ] = true;
92
 
93
- CSF_Customize_Options::instance( $key, $params );
94
 
95
  }
96
  }
@@ -106,61 +98,7 @@ if ( ! class_exists( 'CSF' ) ) {
106
  $params['sections'] = self::$args['sections'][ $key ];
107
  self::$inited[ $key ] = true;
108
 
109
- CSF_Metabox::instance( $key, $params );
110
-
111
- }
112
- }
113
- }
114
-
115
- // setup profile options
116
- $params = array();
117
- if ( ! empty( self::$args['profile_options'] ) ) {
118
- foreach ( self::$args['profile_options'] as $key => $value ) {
119
- if ( ! empty( self::$args['sections'][ $key ] ) && ! isset( self::$inited[ $key ] ) ) {
120
-
121
- $params['args'] = $value;
122
- $params['sections'] = self::$args['sections'][ $key ];
123
- self::$inited[ $key ] = true;
124
-
125
- CSF_Profile_Options::instance( $key, $params );
126
-
127
- }
128
- }
129
- }
130
-
131
- // setup shortcoders
132
- $params = array();
133
- if ( ! empty( self::$args['shortcoders'] ) ) {
134
-
135
- foreach ( self::$args['shortcoders'] as $key => $value ) {
136
- if ( ! empty( self::$args['sections'][ $key ] ) && ! isset( self::$inited[ $key ] ) ) {
137
-
138
- $params['args'] = $value;
139
- $params['sections'] = self::$args['sections'][ $key ];
140
- self::$inited[ $key ] = true;
141
-
142
- CSF_Shortcoder::instance( $key, $params );
143
-
144
- }
145
- }
146
-
147
- // Once editor setup for gutenberg and media buttons
148
- if ( ! empty( CSF::$shortcode_instances ) ) {
149
- CSF_Shortcoder::once_editor_setup();
150
- }
151
- }
152
-
153
- // setup taxonomy options
154
- $params = array();
155
- if ( ! empty( self::$args['taxonomy_options'] ) ) {
156
- foreach ( self::$args['taxonomy_options'] as $key => $value ) {
157
- if ( ! empty( self::$args['sections'][ $key ] ) && ! isset( self::$inited[ $key ] ) ) {
158
-
159
- $params['args'] = $value;
160
- $params['sections'] = self::$args['sections'][ $key ];
161
- self::$inited[ $key ] = true;
162
-
163
- CSF_Taxonomy_Options::instance( $key, $params );
164
 
165
  }
166
  }
@@ -174,28 +112,12 @@ if ( ! class_exists( 'CSF' ) ) {
174
  foreach ( self::$args['widgets'] as $key => $value ) {
175
  if ( ! isset( self::$inited[ $key ] ) ) {
176
  self::$inited[ $key ] = true;
177
- $wp_widget_factory->register( CSF_Widget::instance( $key, $value ) );
178
- }
179
- }
180
- }
181
-
182
- // setup comment metabox
183
- $params = array();
184
- if ( ! empty( self::$args['comment_metaboxes'] ) ) {
185
- foreach ( self::$args['comment_metaboxes'] as $key => $value ) {
186
- if ( ! empty( self::$args['sections'][ $key ] ) && ! isset( self::$inited[ $key ] ) ) {
187
-
188
- $params['args'] = $value;
189
- $params['sections'] = self::$args['sections'][ $key ];
190
- self::$inited[ $key ] = true;
191
-
192
- CSF_Comment_Metabox::instance( $key, $params );
193
-
194
  }
195
  }
196
  }
197
 
198
- do_action( 'csf_loaded' );
199
 
200
  }
201
 
@@ -214,32 +136,12 @@ if ( ! class_exists( 'CSF' ) ) {
214
  self::$args['metaboxes'][ $id ] = $args;
215
  }
216
 
217
- // create shortcoder options
218
- public static function createShortcoder( $id, $args = array() ) {
219
- self::$args['shortcoders'][ $id ] = $args;
220
- }
221
-
222
- // create taxonomy options
223
- public static function createTaxonomyOptions( $id, $args = array() ) {
224
- self::$args['taxonomy_options'][ $id ] = $args;
225
- }
226
-
227
- // create profile options
228
- public static function createProfileOptions( $id, $args = array() ) {
229
- self::$args['profile_options'][ $id ] = $args;
230
- }
231
-
232
  // create widget
233
  public static function createWidget( $id, $args = array() ) {
234
  self::$args['widgets'][ $id ] = $args;
235
  self::set_used_fields( $args );
236
  }
237
 
238
- // create comment metabox
239
- public static function createCommentMetabox( $id, $args = array() ) {
240
- self::$args['comment_metaboxes'][ $id ] = $args;
241
- }
242
-
243
  // create section
244
  public static function createSection( $id, $sections ) {
245
  self::$args['sections'][ $id ][] = $sections;
@@ -269,7 +171,7 @@ if ( ! class_exists( 'CSF' ) ) {
269
 
270
  $path = '';
271
  $file = ltrim( $file, '/' );
272
- $override = apply_filters( 'csf_override', 'csf-override' );
273
 
274
  if ( file_exists( get_parent_theme_file_path( $override . '/' . $file ) ) ) {
275
  $path = get_parent_theme_file_path( $override . '/' . $file );
@@ -326,36 +228,23 @@ if ( ! class_exists( 'CSF' ) ) {
326
  self::include_plugin_file( 'functions/sanitize.php' );
327
  self::include_plugin_file( 'functions/validate.php' );
328
 
329
- // includes free version classes
330
  self::include_plugin_file( 'classes/abstract.class.php' );
331
  self::include_plugin_file( 'classes/fields.class.php' );
332
  self::include_plugin_file( 'classes/options.class.php' );
333
-
334
- // includes premium version classes
335
- if ( self::$premium ) {
336
- self::include_plugin_file( 'classes/customize-options.class.php' );
337
- self::include_plugin_file( 'classes/metabox.class.php' );
338
- self::include_plugin_file( 'classes/profile-options.class.php' );
339
- self::include_plugin_file( 'classes/shortcoder.class.php' );
340
- self::include_plugin_file( 'classes/taxonomy-options.class.php' );
341
- self::include_plugin_file( 'classes/widgets.class.php' );
342
- self::include_plugin_file( 'classes/comment-metabox.class.php' );
343
- }
344
 
345
  }
346
 
347
  // Include field
348
  public static function maybe_include_field( $type = '' ) {
349
- if ( ! class_exists( 'CSF_Field_' . $type ) && class_exists( 'CSF_Fields' ) ) {
350
  self::include_plugin_file( 'fields/' . $type . '/' . $type . '.php' );
351
  }
352
  }
353
 
354
- // Load textdomain
355
- public static function textdomain() {
356
- load_textdomain( 'csf', self::$dir . '/languages/' . get_locale() . '.mo' );
357
- }
358
-
359
  // Get all of fields
360
  public static function set_used_fields( $sections ) {
361
 
@@ -387,8 +276,8 @@ if ( ! class_exists( 'CSF' ) ) {
387
  // Enqueue admin and fields styles and scripts.
388
  public static function add_admin_enqueue_scripts() {
389
 
390
- // check for developer mode
391
- $min = ( apply_filters( 'csf_dev_mode', false ) || WP_DEBUG ) ? '' : '.min';
392
 
393
  // admin utilities
394
  wp_enqueue_media();
@@ -397,45 +286,46 @@ if ( ! class_exists( 'CSF' ) ) {
397
  wp_enqueue_style( 'wp-color-picker' );
398
  wp_enqueue_script( 'wp-color-picker' );
399
 
400
- // cdn styles
401
- wp_enqueue_style( 'csf-fa', 'https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome.min.css', array(), '4.7.1', 'all' );
 
402
 
403
- // framework core styles
404
- wp_enqueue_style( 'csf', CSF::include_plugin_url( 'assets/css/csf' . $min . '.css' ), array(), '1.0.0', 'all' );
405
 
406
- // rtl styles
407
- if ( is_rtl() ) {
408
- wp_enqueue_style( 'csf-rtl', CSF::include_plugin_url( 'assets/css/csf-rtl' . $min . '.css' ), array(), '1.0.0', 'all' );
409
- }
410
-
411
- // framework core scripts
412
- wp_enqueue_script( 'csf-plugins', CSF::include_plugin_url( 'assets/js/csf-plugins' . $min . '.js' ), array(), '1.0.0', true );
413
- wp_enqueue_script( 'csf', CSF::include_plugin_url( 'assets/js/csf' . $min . '.js' ), array( 'csf-plugins' ), '1.0.0', true );
414
-
415
- wp_localize_script(
416
- 'csf', 'csf_vars', array(
417
- 'color_palette' => apply_filters( 'csf_color_palette', array() ),
418
- 'i18n' => array(
419
- // global localize
420
- 'confirm' => esc_html__( 'Are you sure?', 'csf' ),
421
- 'reset_notification' => esc_html__( 'Restoring options.', 'csf' ),
422
- 'import_notification' => esc_html__( 'Importing options.', 'csf' ),
423
-
424
- // chosen localize
425
- 'typing_text' => esc_html__( 'Please enter %s or more characters', 'csf' ),
426
- 'searching_text' => esc_html__( 'Searching...', 'csf' ),
427
- 'no_results_text' => esc_html__( 'No results match', 'csf' ),
428
- ),
429
- )
430
- );
431
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
432
  // load admin enqueue scripts and styles
433
  $enqueued = array();
434
 
435
  if ( ! empty( self::$fields ) ) {
436
  foreach ( self::$fields as $field ) {
437
  if ( ! empty( $field['type'] ) ) {
438
- $classname = 'CSF_Field_' . $field['type'];
439
  self::maybe_include_field( $field['type'] );
440
  if ( class_exists( $classname ) && method_exists( $classname, 'enqueue' ) ) {
441
  $instance = new $classname( $field );
@@ -448,7 +338,7 @@ if ( ! class_exists( 'CSF' ) ) {
448
  }
449
  }
450
 
451
- do_action( 'csf_enqueue' );
452
 
453
  }
454
 
@@ -467,17 +357,17 @@ if ( ! class_exists( 'CSF' ) ) {
467
  if ( version_compare( $current_branch, '5.3', '<' ) ) {
468
 
469
  echo '<style type="text/css">
470
- .csf-field-slider .csf--unit,
471
- .csf-field-border .csf--label,
472
- .csf-field-spacing .csf--label,
473
- .csf-field-dimensions .csf--label,
474
- .csf-field-spinner .ui-button-text-only{
475
  border-color: #ddd;
476
  }
477
- .csf-warning-primary{
478
  box-shadow: 0 1px 0 #bd2130 !important;
479
  }
480
- .csf-warning-primary:focus{
481
  box-shadow: none !important;
482
  }
483
  </style>';
@@ -496,7 +386,7 @@ if ( ! class_exists( 'CSF' ) ) {
496
  $field_type = $field['type'];
497
 
498
  $field = array();
499
- $field['content'] = sprintf( esc_html__( 'Ooops! This field type (%s) can not be used here, yet.', 'csf' ), '<strong>' . $field_type . '</strong>' );
500
  $field['type'] = 'notice';
501
  $field['style'] = 'danger';
502
 
@@ -506,7 +396,7 @@ if ( ! class_exists( 'CSF' ) ) {
506
  $hidden = '';
507
  $unique = ( ! empty( $unique ) ) ? $unique : '';
508
  $class = ( ! empty( $field['class'] ) ) ? ' ' . $field['class'] : '';
509
- $is_pseudo = ( ! empty( $field['pseudo'] ) ) ? ' csf-pseudo-field' : '';
510
  $field_type = ( ! empty( $field['type'] ) ) ? $field['type'] : '';
511
 
512
  if ( ! empty( $field['dependency'] ) ) {
@@ -539,30 +429,30 @@ if ( ! class_exists( 'CSF' ) ) {
539
 
540
  if ( ! empty( $field_type ) ) {
541
 
542
- echo '<div class="csf-field csf-field-' . $field_type . $is_pseudo . $class . $hidden . '"' . $depend . '>';
543
 
544
  if ( ! empty( $field['title'] ) ) {
545
- $subtitle = ( ! empty( $field['subtitle'] ) ) ? '<p class="csf-text-subtitle">' . $field['subtitle'] . '</p>' : '';
546
- echo '<div class="csf-title"><h4>' . $field['title'] . '</h4>' . $subtitle . '</div>';
547
  }
548
 
549
- echo ( ! empty( $field['title'] ) ) ? '<div class="csf-fieldset">' : '';
550
 
551
  $value = ( ! isset( $value ) && isset( $field['default'] ) ) ? $field['default'] : $value;
552
  $value = ( isset( $field['value'] ) ) ? $field['value'] : $value;
553
 
554
  self::maybe_include_field( $field_type );
555
 
556
- $classname = 'CSF_Field_' . $field_type;
557
 
558
  if ( class_exists( $classname ) ) {
559
  $instance = new $classname( $field, $value, $unique, $where, $parent );
560
  $instance->render();
561
  } else {
562
- echo '<p>' . esc_html__( 'This field class is not available!', 'csf' ) . '</p>';
563
  }
564
  } else {
565
- echo '<p>' . esc_html__( 'This type is not found!', 'csf' ) . '</p>';
566
  }
567
 
568
  echo ( ! empty( $field['title'] ) ) ? '</div>' : '';
@@ -573,5 +463,5 @@ if ( ! class_exists( 'CSF' ) ) {
573
 
574
  }
575
 
576
- CSF::init();
577
  }
7
  * @since 1.0.0
8
  * @version 1.0.0
9
  */
10
+ if ( ! class_exists( 'SPFTESTIMONIAL' ) ) {
11
+ class SPFTESTIMONIAL {
12
 
13
  // constants
14
  public static $version = '2.1.3';
 
15
  public static $dir = null;
16
  public static $url = null;
17
  public static $inited = array();
20
  'options' => array(),
21
  'customize_options' => array(),
22
  'metaboxes' => array(),
 
 
 
23
  'widgets' => array(),
 
24
  );
25
 
26
  // shortcode instances
30
  public static function init() {
31
 
32
  // init action
33
+ do_action( 'spftestimonial_init' );
34
 
35
  // set constants
36
  self::constants();
38
  // include files
39
  self::includes();
40
 
41
+ add_action( 'after_setup_theme', array( 'SPFTESTIMONIAL', 'setup' ) );
42
+ add_action( 'init', array( 'SPFTESTIMONIAL', 'setup' ) );
43
+ add_action( 'switch_theme', array( 'SPFTESTIMONIAL', 'setup' ) );
44
+ add_action( 'admin_enqueue_scripts', array( 'SPFTESTIMONIAL', 'add_admin_enqueue_scripts' ), 20 );
45
+ add_action( 'admin_head', array( 'SPFTESTIMONIAL', 'add_admin_head_css' ), 99 );
46
+ add_action( 'customize_controls_print_styles', array( 'SPFTESTIMONIAL', 'add_admin_head_css' ), 99 );
 
 
 
47
 
48
  }
49
 
60
  $params['sections'] = self::$args['sections'][ $key ];
61
  self::$inited[ $key ] = true;
62
 
63
+ SPFTESTIMONIAL_Options::instance( $key, $params );
64
 
65
  if ( ! empty( $value['show_in_customizer'] ) ) {
66
  $value['output_css'] = false;
82
  $params['sections'] = self::$args['sections'][ $key ];
83
  self::$inited[ $key ] = true;
84
 
85
+ SPFTESTIMONIAL_Customize_Options::instance( $key, $params );
86
 
87
  }
88
  }
98
  $params['sections'] = self::$args['sections'][ $key ];
99
  self::$inited[ $key ] = true;
100
 
101
+ SPFTESTIMONIAL_Metabox::instance( $key, $params );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
102
 
103
  }
104
  }
112
  foreach ( self::$args['widgets'] as $key => $value ) {
113
  if ( ! isset( self::$inited[ $key ] ) ) {
114
  self::$inited[ $key ] = true;
115
+ $wp_widget_factory->register( SPFTESTIMONIAL_Widget::instance( $key, $value ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
116
  }
117
  }
118
  }
119
 
120
+ do_action( 'spftestimonial_loaded' );
121
 
122
  }
123
 
136
  self::$args['metaboxes'][ $id ] = $args;
137
  }
138
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
139
  // create widget
140
  public static function createWidget( $id, $args = array() ) {
141
  self::$args['widgets'][ $id ] = $args;
142
  self::set_used_fields( $args );
143
  }
144
 
 
 
 
 
 
145
  // create section
146
  public static function createSection( $id, $sections ) {
147
  self::$args['sections'][ $id ][] = $sections;
171
 
172
  $path = '';
173
  $file = ltrim( $file, '/' );
174
+ $override = apply_filters( 'spftestimonial_override', 'spftestimonial-override' );
175
 
176
  if ( file_exists( get_parent_theme_file_path( $override . '/' . $file ) ) ) {
177
  $path = get_parent_theme_file_path( $override . '/' . $file );
228
  self::include_plugin_file( 'functions/sanitize.php' );
229
  self::include_plugin_file( 'functions/validate.php' );
230
 
231
+ // includes classes
232
  self::include_plugin_file( 'classes/abstract.class.php' );
233
  self::include_plugin_file( 'classes/fields.class.php' );
234
  self::include_plugin_file( 'classes/options.class.php' );
235
+ self::include_plugin_file( 'classes/customize-options.class.php' );
236
+ self::include_plugin_file( 'classes/metabox.class.php' );
237
+ self::include_plugin_file( 'classes/widgets.class.php' );
 
 
 
 
 
 
 
 
238
 
239
  }
240
 
241
  // Include field
242
  public static function maybe_include_field( $type = '' ) {
243
+ if ( ! class_exists( 'SPFTESTIMONIAL_Field_' . $type ) && class_exists( 'SPFTESTIMONIAL_Fields' ) ) {
244
  self::include_plugin_file( 'fields/' . $type . '/' . $type . '.php' );
245
  }
246
  }
247
 
 
 
 
 
 
248
  // Get all of fields
249
  public static function set_used_fields( $sections ) {
250
 
276
  // Enqueue admin and fields styles and scripts.
277
  public static function add_admin_enqueue_scripts() {
278
 
279
+ // check for developer mode.
280
+ $min = ( apply_filters( 'spftestimonial_dev_mode', false ) || WP_DEBUG ) ? '' : '.min';
281
 
282
  // admin utilities
283
  wp_enqueue_media();
286
  wp_enqueue_style( 'wp-color-picker' );
287
  wp_enqueue_script( 'wp-color-picker' );
288
 
289
+ $screen = get_current_screen();
290
+ if ( $screen->post_type == 'spt_testimonial' || $screen->post_type == 'sp_tfree_shortcodes' ) {
291
+ wp_enqueue_style( 'tfree-font-awesome', SP_TFREE_URL . 'public/assets/css/font-awesome.min.css', array(), SP_TFREE_VERSION );
292
 
293
+ // framework core styles
294
+ wp_enqueue_style( 'spftestimonial', SPFTESTIMONIAL::include_plugin_url( 'assets/css/spftestimonial' . $min . '.css' ), array(), '1.0.0', 'all' );
295
 
296
+ // rtl styles
297
+ if ( is_rtl() ) {
298
+ wp_enqueue_style( 'spftestimonial-rtl', SPFTESTIMONIAL::include_plugin_url( 'assets/css/spftestimonial-rtl' . $min . '.css' ), array(), '1.0.0', 'all' );
299
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
300
 
301
+ // framework core scripts
302
+ wp_enqueue_script( 'spftestimonial-plugins', SPFTESTIMONIAL::include_plugin_url( 'assets/js/spftestimonial-plugins' . $min . '.js' ), array(), '1.0.0', true );
303
+ wp_enqueue_script( 'spftestimonial', SPFTESTIMONIAL::include_plugin_url( 'assets/js/spftestimonial' . $min . '.js' ), array( 'spftestimonial-plugins' ), '1.0.0', true );
304
+
305
+ wp_localize_script(
306
+ 'spftestimonial', 'spftestimonial_vars', array(
307
+ 'color_palette' => apply_filters( 'spftestimonial_color_palette', array() ),
308
+ 'i18n' => array(
309
+ // global localize
310
+ 'confirm' => esc_html__( 'Are you sure?', 'testimonial-free' ),
311
+ 'reset_notification' => esc_html__( 'Restoring options.', 'testimonial-free' ),
312
+ 'import_notification' => esc_html__( 'Importing options.', 'testimonial-free' ),
313
+
314
+ // chosen localize
315
+ 'typing_text' => esc_html__( 'Please enter %s or more characters', 'testimonial-free' ),
316
+ 'searching_text' => esc_html__( 'Searching...', 'testimonial-free' ),
317
+ 'no_results_text' => esc_html__( 'No results match', 'testimonial-free' ),
318
+ ),
319
+ )
320
+ );
321
+ }
322
  // load admin enqueue scripts and styles
323
  $enqueued = array();
324
 
325
  if ( ! empty( self::$fields ) ) {
326
  foreach ( self::$fields as $field ) {
327
  if ( ! empty( $field['type'] ) ) {
328
+ $classname = 'SPFTESTIMONIAL_Field_' . $field['type'];
329
  self::maybe_include_field( $field['type'] );
330
  if ( class_exists( $classname ) && method_exists( $classname, 'enqueue' ) ) {
331
  $instance = new $classname( $field );
338
  }
339
  }
340
 
341
+ do_action( 'spftestimonial_enqueue' );
342
 
343
  }
344
 
357
  if ( version_compare( $current_branch, '5.3', '<' ) ) {
358
 
359
  echo '<style type="text/css">
360
+ .spftestimonial-field-slider .spftestimonial--unit,
361
+ .spftestimonial-field-border .spftestimonial--label,
362
+ .spftestimonial-field-spacing .spftestimonial--label,
363
+ .spftestimonial-field-dimensions .spftestimonial--label,
364
+ .spftestimonial-field-spinner .ui-button-text-only{
365
  border-color: #ddd;
366
  }
367
+ .spftestimonial-warning-primary{
368
  box-shadow: 0 1px 0 #bd2130 !important;
369
  }
370
+ .spftestimonial-warning-primary:focus{
371
  box-shadow: none !important;
372
  }
373
  </style>';
386
  $field_type = $field['type'];
387
 
388
  $field = array();
389
+ $field['content'] = sprintf( esc_html__( 'Ooops! This field type (%s) can not be used here, yet.', 'testimonial-free' ), '<strong>' . $field_type . '</strong>' );
390
  $field['type'] = 'notice';
391
  $field['style'] = 'danger';
392
 
396
  $hidden = '';
397
  $unique = ( ! empty( $unique ) ) ? $unique : '';
398
  $class = ( ! empty( $field['class'] ) ) ? ' ' . $field['class'] : '';
399
+ $is_pseudo = ( ! empty( $field['pseudo'] ) ) ? ' spftestimonial-pseudo-field' : '';
400
  $field_type = ( ! empty( $field['type'] ) ) ? $field['type'] : '';
401
 
402
  if ( ! empty( $field['dependency'] ) ) {
429
 
430
  if ( ! empty( $field_type ) ) {
431
 
432
+ echo '<div class="spftestimonial-field spftestimonial-field-' . $field_type . $is_pseudo . $class . $hidden . '"' . $depend . '>';
433
 
434
  if ( ! empty( $field['title'] ) ) {
435
+ $subtitle = ( ! empty( $field['subtitle'] ) ) ? '<p class="spftestimonial-text-subtitle">' . $field['subtitle'] . '</p>' : '';
436
+ echo '<div class="spftestimonial-title"><h4>' . $field['title'] . '</h4>' . $subtitle . '</div>';
437
  }
438
 
439
+ echo ( ! empty( $field['title'] ) ) ? '<div class="spftestimonial-fieldset">' : '';
440
 
441
  $value = ( ! isset( $value ) && isset( $field['default'] ) ) ? $field['default'] : $value;
442
  $value = ( isset( $field['value'] ) ) ? $field['value'] : $value;
443
 
444
  self::maybe_include_field( $field_type );
445
 
446
+ $classname = 'SPFTESTIMONIAL_Field_' . $field_type;
447
 
448
  if ( class_exists( $classname ) ) {
449
  $instance = new $classname( $field, $value, $unique, $where, $parent );
450
  $instance->render();
451
  } else {
452
+ echo '<p>' . esc_html__( 'This field class is not available!', 'testimonial-free' ) . '</p>';
453
  }
454
  } else {
455
+ echo '<p>' . esc_html__( 'This type is not found!', 'testimonial-free' ) . '</p>';
456
  }
457
 
458
  echo ( ! empty( $field['title'] ) ) ? '</div>' : '';
463
 
464
  }
465
 
466
+ SPFTESTIMONIAL::init();
467
  }
admin/views/framework/classes/shortcoder.class.php DELETED
@@ -1,279 +0,0 @@
1
- <?php if ( ! defined( 'ABSPATH' ) ) { die; } // Cannot access directly.
2
- /**
3
- *
4
- * Shortcoder Class
5
- *
6
- * @since 1.0.0
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 = '';
15
- public $abstract = 'shortcoder';
16
- public $blocks = array();
17
- public $sections = array();
18
- public $pre_tabs = array();
19
- public $pre_sections = array();
20
- public $args = array(
21
- 'button_title' => 'Add Shortcode',
22
- 'select_title' => 'Select a shortcode',
23
- 'insert_title' => 'Insert Shortcode',
24
- 'show_in_editor' => true,
25
- 'defaults' => array(),
26
- 'class' => '',
27
- );
28
-
29
- // run shortcode construct
30
- public function __construct( $key, $params = array() ) {
31
-
32
- $this->unique = $key;
33
- $this->args = apply_filters( "csf_{$this->unique}_args", wp_parse_args( $params['args'], $this->args ), $this );
34
- $this->sections = apply_filters( "csf_{$this->unique}_sections", $params['sections'], $this );
35
- $this->pre_tabs = $this->pre_tabs( $this->sections );
36
- $this->pre_sections = $this->pre_sections( $this->sections );
37
-
38
- add_action( 'admin_footer', array( &$this, 'add_shortcode_modal' ) );
39
- add_action( 'customize_controls_print_footer_scripts', array( &$this, 'add_shortcode_modal' ) );
40
- add_action( 'wp_ajax_csf-get-shortcode-'. $this->unique, array( &$this, 'get_shortcode' ) );
41
-
42
- if( ! empty( $this->args['show_in_editor'] ) ) {
43
-
44
- CSF::$shortcode_instances[] = wp_parse_args( array( 'hash' => md5( $key ), 'modal_id' => $this->unique ), $this->args );
45
-
46
- // elementor editor support
47
- if( CSF::is_active_plugin( 'elementor/elementor.php' ) ) {
48
- add_action( 'elementor/editor/before_enqueue_scripts', array( 'CSF', 'add_admin_enqueue_scripts' ), 20 );
49
- add_action( 'elementor/editor/footer', array( &$this, 'add_shortcode_modal' ) );
50
- add_action( 'elementor/editor/footer', 'csf_set_icons' );
51
- }
52
-
53
- }
54
-
55
- }
56
-
57
- // instance
58
- public static function instance( $key, $params = array() ) {
59
- return new self( $key, $params );
60
- }
61
-
62
- public function pre_tabs( $sections ) {
63
-
64
- $result = array();
65
- $parents = array();
66
- $count = 100;
67
-
68
- foreach( $sections as $key => $section ) {
69
- if( ! empty( $section['parent'] ) ) {
70
- $section['priority'] = ( isset( $section['priority'] ) ) ? $section['priority'] : $count;
71
- $parents[$section['parent']][] = $section;
72
- unset( $sections[$key] );
73
- }
74
- $count++;
75
- }
76
-
77
- foreach( $sections as $key => $section ) {
78
- $section['priority'] = ( isset( $section['priority'] ) ) ? $section['priority'] : $count;
79
- if( ! empty( $section['id'] ) && ! empty( $parents[$section['id']] ) ) {
80
- $section['subs'] = wp_list_sort( $parents[$section['id']], array( 'priority' => 'ASC' ), 'ASC', true );
81
- }
82
- $result[] = $section;
83
- $count++;
84
- }
85
-
86
- return wp_list_sort( $result, array( 'priority' => 'ASC' ), 'ASC', true );
87
- }
88
-
89
- public function pre_sections( $sections ) {
90
-
91
- $result = array();
92
-
93
- foreach( $this->pre_tabs as $tab ) {
94
- if( ! empty( $tab['subs'] ) ) {
95
- foreach( $tab['subs'] as $sub ) {
96
- $result[] = $sub;
97
- }
98
- }
99
- if( empty( $tab['subs'] ) ) {
100
- $result[] = $tab;
101
- }
102
- }
103
-
104
- return $result;
105
- }
106
-
107
- // get default value
108
- public function get_default( $field ) {
109
-
110
- $default = ( isset( $field['id'] ) && isset( $this->args['defaults'][$field['id']] ) ) ? $this->args['defaults'][$field['id']] : null;
111
- $default = ( isset( $field['default'] ) ) ? $field['default'] : $default;
112
-
113
- return $default;
114
-
115
- }
116
-
117
- public function add_shortcode_modal() {
118
-
119
- $class = ( $this->args['class'] ) ? ' '. $this->args['class'] : '';
120
- $has_select = ( count( $this->pre_tabs ) > 1 ) ? true : false;
121
- $single_usage = ( ! $has_select ) ? ' csf-shortcode-single' : '';
122
- $hide_header = ( ! $has_select ) ? ' hidden' : '';
123
-
124
- ?>
125
- <div id="csf-modal-<?php echo $this->unique; ?>" class="wp-core-ui csf-modal csf-shortcode<?php echo $single_usage . $class; ?>" data-modal-id="<?php echo $this->unique; ?>" data-nonce="<?php echo wp_create_nonce( 'csf_shortcode_nonce' ); ?>">
126
- <div class="csf-modal-table">
127
- <div class="csf-modal-table-cell">
128
- <div class="csf-modal-overlay"></div>
129
- <div class="csf-modal-inner">
130
- <div class="csf-modal-title">
131
- <?php echo $this->args['button_title']; ?>
132
- <div class="csf-modal-close"></div>
133
- </div>
134
- <?php
135
-
136
- echo '<div class="csf-modal-header'. $hide_header .'">';
137
- echo '<select>';
138
- echo ( $has_select ) ? '<option value="">'. $this->args['select_title'] .'</option>' : '';
139
-
140
- $tab_key = 1;
141
- foreach ( $this->pre_tabs as $tab ) {
142
-
143
- if( ! empty( $tab['subs'] ) ) {
144
-
145
- echo '<optgroup label="'. $tab['title'] .'">';
146
-
147
- foreach ( $tab['subs'] as $sub ) {
148
-
149
- $view = ( ! empty( $sub['view'] ) ) ? ' data-view="'. $sub['view'] .'"' : '';
150
- $shortcode = ( ! empty( $sub['shortcode'] ) ) ? ' data-shortcode="'. $sub['shortcode'] .'"' : '';
151
- $group = ( ! empty( $sub['group_shortcode'] ) ) ? ' data-group="'. $sub['group_shortcode'] .'"' : '';
152
-
153
- echo '<option value="'. $tab_key .'"'. $view . $shortcode . $group .'>'. $sub['title'] .'</option>';
154
-
155
- $tab_key++;
156
- }
157
-
158
- echo '</optgroup>' ;
159
-
160
- } else {
161
-
162
- $view = ( ! empty( $tab['view'] ) ) ? ' data-view="'. $tab['view'] .'"' : '';
163
- $shortcode = ( ! empty( $tab['shortcode'] ) ) ? ' data-shortcode="'. $tab['shortcode'] .'"' : '';
164
- $group = ( ! empty( $tab['group_shortcode'] ) ) ? ' data-group="'. $tab['group_shortcode'] .'"' : '';
165
-
166
- echo '<option value="'. $tab_key .'"'. $view . $shortcode . $group .'>'. $tab['title'] .'</option>';
167
-
168
- $tab_key++;
169
- }
170
-
171
- }
172
-
173
- echo '</select>';
174
- echo '</div>';
175
-
176
- ?>
177
- <div class="csf-modal-content">
178
- <div class="csf-modal-loading"><div class="csf-loading"></div></div>
179
- <div class="csf-modal-load"></div>
180
- </div>
181
- <div class="csf-modal-insert-wrapper hidden"><a href="#" class="button button-primary csf-modal-insert"><?php echo $this->args['insert_title']; ?></a></div>
182
- </div>
183
- </div>
184
- </div>
185
- </div>
186
- <?php
187
- }
188
-
189
- public function get_shortcode() {
190
-
191
- ob_start();
192
-
193
- $shortcode_key = csf_get_var( 'shortcode_key' );
194
-
195
- if( ! empty( $shortcode_key ) && wp_verify_nonce( csf_get_var( 'nonce' ), 'csf_shortcode_nonce' ) ) {
196
-
197
- $unallows = array( 'group', 'repeater', 'sorter' );
198
- $section = $this->pre_sections[$shortcode_key-1];
199
- $shortcode = ( ! empty( $section['shortcode'] ) ) ? $section['shortcode'] : '';
200
- $view = ( ! empty( $section['view'] ) ) ? $section['view'] : 'normal';
201
-
202
- if( ! empty( $section ) ) {
203
-
204
- //
205
- // View: normal
206
- if( ! empty( $section['fields'] ) && $view !== 'repeater' ) {
207
-
208
- echo '<div class="csf-fields">';
209
-
210
- foreach ( $section['fields'] as $field ) {
211
-
212
- if( in_array( $field['type'], $unallows ) ) { $field['_notice'] = true; }
213
-
214
- // Extra tag improves for spesific fields (border, spacing, dimensions etc...)
215
- $field['tag_prefix'] = ( ! empty( $field['tag_prefix'] ) ) ? $field['tag_prefix'] .'_' : '';
216
-
217
- $field_default = $this->get_default( $field );
218
-
219
- CSF::field( $field, $field_default, $shortcode, 'shortcode' );
220
-
221
- }
222
-
223
- echo '</div>';
224
-
225
- }
226
-
227
- //
228
- // View: group and repeater fields
229
- $repeatable_fields = ( $view === 'repeater' && ! empty( $section['fields'] ) ) ? $section['fields'] : array();
230
- $repeatable_fields = ( $view === 'group' && ! empty( $section['group_fields'] ) ) ? $section['group_fields'] : $repeatable_fields;
231
-
232
- if( ! empty( $repeatable_fields ) ) {
233
-
234
- $button_title = ( ! empty( $section['button_title'] ) ) ? ' '. $section['button_title'] : esc_html__( 'Add one more', 'csf' );
235
- $inner_shortcode = ( ! empty( $section['group_shortcode'] ) ) ? $section['group_shortcode'] : $shortcode;
236
-
237
- echo '<div class="csf--repeatable">';
238
-
239
- echo '<div class="csf--repeat-shortcode">';
240
-
241
- echo '<div class="csf-repeat-remove fa fa-times"></div>';
242
-
243
- echo '<div class="csf-fields">';
244
-
245
- foreach ( $repeatable_fields as $field ) {
246
-
247
- if( in_array( $field['type'], $unallows ) ) { $field['_notice'] = true; }
248
-
249
- // Extra tag improves for spesific fields (border, spacing, dimensions etc...)
250
- $field['tag_prefix'] = ( ! empty( $field['tag_prefix'] ) ) ? $field['tag_prefix'] .'_' : '';
251
-
252
- $field_default = $this->get_default( $field );
253
-
254
- CSF::field( $field, $field_default, $inner_shortcode.'[0]', 'shortcode' );
255
-
256
- }
257
-
258
- echo '</div>';
259
-
260
- echo '</div>';
261
-
262
- echo '</div>';
263
-
264
- echo '<div class="csf--repeat-button-block"><a class="button csf--repeat-button" href="#"><i class="fa fa-plus-circle"></i> '. $button_title .'</a></div>';
265
-
266
- }
267
-
268
- }
269
-
270
- } else {
271
- echo '<div class="csf-field csf-text-error">'. esc_html__( 'Error: Nonce verification has failed. Please try again.', 'csf' ) .'</div>';
272
- }
273
-
274
- wp_send_json_success( array( 'content' => ob_get_clean() ) );
275
-
276
- }
277
-
278
- }
279
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/views/framework/classes/taxonomy-options.class.php DELETED
@@ -1,244 +0,0 @@
1
- <?php if ( ! defined( 'ABSPATH' ) ) { die; } // Cannot access directly.
2
- /**
3
- *
4
- * Taxonomy Options Class
5
- *
6
- * @since 1.0.0
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 = '';
15
- public $taxonomy = '';
16
- public $abstract = 'taxonomy';
17
- public $sections = array();
18
- public $taxonomies = array();
19
- public $args = array(
20
- 'taxonomy' => '',
21
- 'data_type' => 'serialize',
22
- 'defaults' => array(),
23
- 'class' => '',
24
- );
25
-
26
- // run taxonomy construct
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 = csf_get_var( 'taxonomy' );
34
-
35
- if( ! empty( $this->taxonomies ) && in_array( $this->taxonomy, $this->taxonomies ) ) {
36
- add_action( 'admin_init', array( &$this, 'add_taxonomy_options' ) );
37
- }
38
-
39
- }
40
-
41
- // instance
42
- public static function instance( $key, $params ) {
43
- return new self( $key, $params );
44
- }
45
-
46
- // add taxonomy add/edit fields
47
- public function add_taxonomy_options() {
48
-
49
- add_action( $this->taxonomy .'_add_form_fields', array( &$this, 'render_taxonomy_form_fields' ) );
50
- add_action( $this->taxonomy .'_edit_form', array( &$this, 'render_taxonomy_form_fields' ) );
51
-
52
- add_action( 'created_'. $this->taxonomy, array( &$this, 'save_taxonomy' ) );
53
- add_action( 'edited_'. $this->taxonomy, array( &$this, 'save_taxonomy' ) );
54
-
55
- }
56
-
57
- // get default value
58
- public function get_default( $field ) {
59
-
60
- $default = ( isset( $field['id'] ) && isset( $this->args['defaults'][$field['id']] ) ) ? $this->args['defaults'][$field['id']] : null;
61
- $default = ( isset( $field['default'] ) ) ? $field['default'] : $default;
62
-
63
- return $default;
64
-
65
- }
66
-
67
- // get default value
68
- public function get_meta_value( $term_id, $field ) {
69
-
70
- $value = null;
71
-
72
- if( ! empty( $term_id ) && ! empty( $field['id'] ) ) {
73
-
74
- if( $this->args['data_type'] !== 'serialize' ) {
75
- $meta = get_term_meta( $term_id, $field['id'] );
76
- $value = ( isset( $meta[0] ) ) ? $meta[0] : null;
77
- } else {
78
- $meta = get_term_meta( $term_id, $this->unique, true );
79
- $value = ( isset( $meta[$field['id']] ) ) ? $meta[$field['id']] : null;
80
- }
81
-
82
- }
83
-
84
- $default = $this->get_default( $field );
85
- $value = ( isset( $value ) ) ? $value : $default;
86
-
87
- return $value;
88
-
89
- }
90
-
91
- // render taxonomy add/edit form fields
92
- public function render_taxonomy_form_fields( $term ) {
93
-
94
- $is_term = ( is_object( $term ) && isset( $term->taxonomy ) ) ? true : false;
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', true ) : array();
99
- $errors = ( ! empty( $errors ) ) ? $errors : array();
100
- $class = ( $this->args['class'] ) ? ' '. $this->args['class'] : '';
101
-
102
- // clear errors
103
- if( ! empty( $errors ) ) {
104
- delete_term_meta( $term_id, '_csf_errors' );
105
- }
106
-
107
- wp_nonce_field( 'csf_taxonomy_nonce', 'csf_taxonomy_nonce'. $this->unique );
108
-
109
- echo '<div class="csf csf-taxonomy csf-show-all csf-onload csf-taxonomy-'. $classname .'-fields'. $class .'">';
110
-
111
- foreach( $this->sections as $section ) {
112
-
113
- if( $taxonomy === $this->taxonomy ) {
114
-
115
- $section_icon = ( ! empty( $section['icon'] ) ) ? '<i class="csf-icon '. $section['icon'] .'"></i>' : '';
116
- $section_title = ( ! empty( $section['title'] ) ) ? $section['title'] : '';
117
-
118
- echo ( $section_title || $section_icon ) ? '<div class="csf-section-title"><h3>'. $section_icon . $section_title .'</h3></div>' : '';
119
-
120
- if( ! empty( $section['fields'] ) ) {
121
- foreach( $section['fields'] as $field ) {
122
-
123
- if( ! empty( $field['id'] ) && ! empty( $errors[$field['id']] ) ) {
124
- $field['_error'] = $errors[$field['id']];
125
- }
126
-
127
- CSF::field( $field, $this->get_meta_value( $term_id, $field ), $this->unique, 'taxonomy' );
128
-
129
- }
130
- }
131
- }
132
-
133
- }
134
-
135
- echo '</div>';
136
-
137
- }
138
-
139
- // save taxonomy form fields
140
- public function save_taxonomy( $term_id ) {
141
-
142
- if ( wp_verify_nonce( csf_get_var( 'csf_taxonomy_nonce'. $this->unique ), 'csf_taxonomy_nonce' ) ) {
143
-
144
- $errors = array();
145
- $taxonomy = csf_get_var( 'taxonomy' );
146
-
147
- foreach ( $this->sections as $section ) {
148
-
149
- if( $taxonomy == $this->taxonomy ) {
150
-
151
- $request = csf_get_var( $this->unique, array() );
152
-
153
- // ignore _nonce
154
- if( isset( $request['_nonce'] ) ) {
155
- unset( $request['_nonce'] );
156
- }
157
-
158
- // sanitize and validate
159
- if( ! empty( $section['fields'] ) ) {
160
-
161
- foreach( $section['fields'] as $field ) {
162
-
163
- if( ! empty( $field['id'] ) ) {
164
-
165
- // sanitize
166
- if( ! empty( $field['sanitize'] ) ) {
167
-
168
- $sanitize = $field['sanitize'];
169
- $value_sanitize = csf_get_vars( $this->unique, $field['id'] );
170
- $request[$field['id']] = call_user_func( $sanitize, $value_sanitize );
171
-
172
- }
173
-
174
- // validate
175
- if( ! empty( $field['validate'] ) ) {
176
-
177
- $validate = $field['validate'];
178
- $value_validate = csf_get_vars( $this->unique, $field['id'] );
179
- $has_validated = call_user_func( $validate, $value_validate );
180
-
181
- if( ! empty( $has_validated ) ) {
182
-
183
- $errors[$field['id']] = $has_validated;
184
- $request[$field['id']] = $this->get_meta_value( $term_id, $field );
185
-
186
- }
187
-
188
- }
189
-
190
- // auto sanitize
191
- if( ! isset( $request[$field['id']] ) || is_null( $request[$field['id']] ) ) {
192
- $request[$field['id']] = '';
193
- }
194
-
195
- }
196
-
197
- }
198
-
199
- }
200
-
201
- $request = apply_filters( "csf_{$this->unique}_save", $request, $term_id, $this );
202
-
203
- do_action( "csf_{$this->unique}_save_before", $request, $term_id, $this );
204
-
205
- if( empty( $request ) ) {
206
-
207
- if( $this->args['data_type'] !== 'serialize' ) {
208
- foreach ( $request as $key => $value ) {
209
- delete_term_meta( $term_id, $key );
210
- }
211
- } else {
212
- delete_term_meta( $term_id, $this->unique );
213
- }
214
-
215
- } else {
216
-
217
- if( $this->args['data_type'] !== 'serialize' ) {
218
- foreach ( $request as $key => $value ) {
219
- update_term_meta( $term_id, $key, $value );
220
- }
221
- } else {
222
- update_term_meta( $term_id, $this->unique, $request );
223
- }
224
-
225
- if( ! empty( $errors ) ) {
226
- update_term_meta( $term_id, '_csf_errors', $errors );
227
- }
228
-
229
- }
230
-
231
- do_action( "csf_{$this->unique}_saved", $request, $term_id, $this );
232
-
233
- do_action( "csf_{$this->unique}_save_after", $request, $term_id, $this );
234
-
235
- }
236
-
237
- }
238
-
239
- }
240
-
241
- }
242
-
243
- }
244
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/views/framework/classes/widgets.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, $this->args['title'], $widget_ops, $control_ops );
52
 
@@ -80,7 +80,7 @@ if( ! class_exists( 'CSF_Widget' ) ) {
80
 
81
  $class = ( $this->args['class'] ) ? ' '. $this->args['class'] : '';
82
 
83
- echo '<div class="csf csf-widgets csf-fields'. $class .'">';
84
 
85
  foreach( $this->args['fields'] as $field ) {
86
 
@@ -98,7 +98,7 @@ if( ! class_exists( 'CSF_Widget' ) ) {
98
 
99
  }
100
 
101
- CSF::field( $field, $field_value, $field_unique );
102
 
103
  }
104
 
@@ -118,9 +118,9 @@ if( ! class_exists( 'CSF_Widget' ) ) {
118
  }
119
  }
120
 
121
- $new_instance = apply_filters( "csf_{$this->unique}_save", $new_instance, $this->args, $this );
122
 
123
- do_action( "csf_{$this->unique}_save_before", $new_instance, $this->args, $this );
124
 
125
  return $new_instance;
126
 
7
  * @version 1.0.0
8
  *
9
  */
10
+ if( ! class_exists( 'SPFTESTIMONIAL_Widget' ) ) {
11
+ class SPFTESTIMONIAL_Widget extends WP_Widget {
12
 
13
  // constans
14
  public $unique = '';
28
  $control_ops = array();
29
 
30
  $this->unique = $key;
31
+ $this->args = apply_filters( "spftestimonial_{$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( "spftestimonial_{$this->unique}_widget_ops", $widget_ops, $this );
49
+ $control_ops = apply_filters( "spftestimonial_{$this->unique}_control_ops", $control_ops, $this );
50
 
51
  parent::__construct( $this->unique, $this->args['title'], $widget_ops, $control_ops );
52
 
80
 
81
  $class = ( $this->args['class'] ) ? ' '. $this->args['class'] : '';
82
 
83
+ echo '<div class="spftestimonial spftestimonial-widgets spftestimonial-fields'. $class .'">';
84
 
85
  foreach( $this->args['fields'] as $field ) {
86
 
98
 
99
  }
100
 
101
+ SPFTESTIMONIAL::field( $field, $field_value, $field_unique );
102
 
103
  }
104
 
118
  }
119
  }
120
 
121
+ $new_instance = apply_filters( "spftestimonial_{$this->unique}_save", $new_instance, $this->args, $this );
122
 
123
+ do_action( "spftestimonial_{$this->unique}_save_before", $new_instance, $this->args, $this );
124
 
125
  return $new_instance;
126
 
admin/views/framework/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 fa fa-angle-right';
30
 
31
- echo '<h4 class="csf-accordion-title">';
32
  echo '<i class="'. $icon .'"></i>';
33
  echo $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( 'SPFTESTIMONIAL_Field_accordion' ) ) {
11
+ class SPFTESTIMONIAL_Field_accordion extends SPFTESTIMONIAL_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="spftestimonial-accordion-items">';
24
 
25
  foreach ( $this->field['accordions'] as $key => $accordion ) {
26
 
27
+ echo '<div class="spftestimonial-accordion-item">';
28
 
29
+ $icon = ( ! empty( $accordion['icon'] ) ) ? 'spftestimonial--icon '. $accordion['icon'] : 'spftestimonial-accordion-icon fa fa-angle-right';
30
 
31
+ echo '<h4 class="spftestimonial-accordion-title">';
32
  echo '<i class="'. $icon .'"></i>';
33
  echo $accordion['title'];
34
  echo '</h4>';
35
 
36
+ echo '<div class="spftestimonial-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
+ SPFTESTIMONIAL::field( $field, $field_value, $unique_id, 'field/accordion' );
48
 
49
  }
50
 
admin/views/framework/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'. $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,13 +205,13 @@ 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
  ),
216
  ), $this->value['background-size'], $this->field_name(), 'field/background' );
217
 
@@ -221,14 +221,14 @@ if( ! class_exists( 'CSF_Field_background' ) ) {
221
  // Background Origin
222
  if( ! empty( $args['background_origin'] ) ) {
223
 
224
- CSF::field( array(
225
  'id' => 'background-origin',
226
  'type' => 'select',
227
  'options' => array(
228
- '' => esc_html__( 'Background Origin', 'csf' ),
229
- 'padding-box' => esc_html__( 'Padding Box', 'csf' ),
230
- 'border-box' => esc_html__( 'Border Box', 'csf' ),
231
- 'content-box' => esc_html__( 'Content Box', 'csf' ),
232
  ),
233
  ), $this->value['background-origin'], $this->field_name(), 'field/background' );
234
 
@@ -238,14 +238,14 @@ if( ! class_exists( 'CSF_Field_background' ) ) {
238
  // Background Clip
239
  if( ! empty( $args['background_clip'] ) ) {
240
 
241
- CSF::field( array(
242
  'id' => 'background-clip',
243
  'type' => 'select',
244
  'options' => array(
245
- '' => esc_html__( 'Background Clip', 'csf' ),
246
- 'border-box' => esc_html__( 'Border Box', 'csf' ),
247
- 'padding-box' => esc_html__( 'Padding Box', 'csf' ),
248
- 'content-box' => esc_html__( 'Content Box', 'csf' ),
249
  ),
250
  ), $this->value['background-clip'], $this->field_name(), 'field/background' );
251
 
@@ -255,21 +255,21 @@ if( ! class_exists( 'CSF_Field_background' ) ) {
255
  // Background Blend Mode
256
  if( ! empty( $args['background_blend_mode'] ) ) {
257
 
258
- CSF::field( array(
259
  'id' => 'background-blend-mode',
260
  'type' => 'select',
261
  'options' => array(
262
- '' => esc_html__( 'Background Blend Mode', 'csf' ),
263
- 'normal' => esc_html__( 'Normal', 'csf' ),
264
- 'multiply' => esc_html__( 'Multiply', 'csf' ),
265
- 'screen' => esc_html__( 'Screen', 'csf' ),
266
- 'overlay' => esc_html__( 'Overlay', 'csf' ),
267
- 'darken' => esc_html__( 'Darken', 'csf' ),
268
- 'lighten' => esc_html__( 'Lighten', 'csf' ),
269
- 'color-dodge' => esc_html__( 'Color Dodge', 'csf' ),
270
- 'saturation' => esc_html__( 'Saturation', 'csf' ),
271
- 'color' => esc_html__( 'Color', 'csf' ),
272
- 'luminosity' => esc_html__( 'Luminosity', 'csf' ),
273
  ),
274
  ), $this->value['background-blend-mode'], $this->field_name(), 'field/background' );
275
 
7
  * @version 1.0.0
8
  *
9
  */
10
+ if( ! class_exists( 'SPFTESTIMONIAL_Field_background' ) ) {
11
+ class SPFTESTIMONIAL_Field_background extends SPFTESTIMONIAL_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', 'testimonial-free' ),
36
  ) );
37
 
38
  $default_value = array(
55
 
56
  echo $this->field_before();
57
 
58
+ echo '<div class="spftestimonial--background-colors">';
59
 
60
  //
61
  // Background Color
62
  if( ! empty( $args['background_color'] ) ) {
63
 
64
+ echo '<div class="spftestimonial--color">';
65
 
66
+ echo ( ! empty( $args['background_gradient'] ) ) ? '<div class="spftestimonial--title">'. esc_html__( 'From', 'testimonial-free' ) .'</div>' : '';
67
 
68
+ SPFTESTIMONIAL::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="spftestimonial--color">';
83
 
84
+ echo ( ! empty( $args['background_gradient'] ) ) ? '<div class="spftestimonial--title">'. esc_html__( 'To', 'testimonial-free' ) .'</div>' : '';
85
 
86
+ SPFTESTIMONIAL::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="spftestimonial--color">';
101
 
102
+ echo ( ! empty( $args['background_gradient'] ) ) ? '<div class="spftestimonial---title">'. esc_html__( 'Direction', 'testimonial-free' ) .'</div>' : '';
103
 
104
+ SPFTESTIMONIAL::field( array(
105
  'id' => 'background-gradient-direction',
106
  'type' => 'select',
107
  'options' => array(
108
+ '' => esc_html__( 'Gradient Direction', 'testimonial-free' ),
109
+ 'to bottom' => esc_html__( '&#8659; top to bottom', 'testimonial-free' ),
110
+ 'to right' => esc_html__( '&#8658; left to right', 'testimonial-free' ),
111
+ '135deg' => esc_html__( '&#8664; corner top to right', 'testimonial-free' ),
112
+ '-135deg' => esc_html__( '&#8665; corner top to left', 'testimonial-free' ),
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="spftestimonial--background-image">';
127
 
128
+ SPFTESTIMONIAL::field( array(
129
  'id' => 'background-image',
130
  'type' => 'media',
131
+ 'class' => 'spftestimonial-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'] ) ) ? ' spftestimonial--auto-attributes' : '';
143
+ $hidden_class = ( ! empty( $args['background_auto_attributes'] ) && empty( $this->value['background-image']['url'] ) ) ? ' spftestimonial--attributes-hidden' : '';
144
 
145
+ echo '<div class="spftestimonial--background-attributes'. $auto_class . $hidden_class .'">';
146
 
147
  //
148
  // Background Position
149
  if( ! empty( $args['background_position'] ) ) {
150
 
151
+ SPFTESTIMONIAL::field( array(
152
  'id' => 'background-position',
153
  'type' => 'select',
154
  'options' => array(
155
+ '' => esc_html__( 'Background Position', 'testimonial-free' ),
156
+ 'left top' => esc_html__( 'Left Top', 'testimonial-free' ),
157
+ 'left center' => esc_html__( 'Left Center', 'testimonial-free' ),
158
+ 'left bottom' => esc_html__( 'Left Bottom', 'testimonial-free' ),
159
+ 'center top' => esc_html__( 'Center Top', 'testimonial-free' ),
160
+ 'center center' => esc_html__( 'Center Center', 'testimonial-free' ),
161
+ 'center bottom' => esc_html__( 'Center Bottom', 'testimonial-free' ),
162
+ 'right top' => esc_html__( 'Right Top', 'testimonial-free' ),
163
+ 'right center' => esc_html__( 'Right Center', 'testimonial-free' ),
164
+ 'right bottom' => esc_html__( 'Right Bottom', 'testimonial-free' ),
165
  ),
166
  ), $this->value['background-position'], $this->field_name(), 'field/background' );
167
 
171
  // Background Repeat
172
  if( ! empty( $args['background_repeat'] ) ) {
173
 
174
+ SPFTESTIMONIAL::field( array(
175
  'id' => 'background-repeat',
176
  'type' => 'select',
177
  'options' => array(
178
+ '' => esc_html__( 'Background Repeat', 'testimonial-free' ),
179
+ 'repeat' => esc_html__( 'Repeat', 'testimonial-free' ),
180
+ 'no-repeat' => esc_html__( 'No Repeat', 'testimonial-free' ),
181
+ 'repeat-x' => esc_html__( 'Repeat Horizontally', 'testimonial-free' ),
182
+ 'repeat-y' => esc_html__( 'Repeat Vertically', 'testimonial-free' ),
183
  ),
184
  ), $this->value['background-repeat'], $this->field_name(), 'field/background' );
185
 
189
  // Background Attachment
190
  if( ! empty( $args['background_attachment'] ) ) {
191
 
192
+ SPFTESTIMONIAL::field( array(
193
  'id' => 'background-attachment',
194
  'type' => 'select',
195
  'options' => array(
196
+ '' => esc_html__( 'Background Attachment', 'testimonial-free' ),
197
+ 'scroll' => esc_html__( 'Scroll', 'testimonial-free' ),
198
+ 'fixed' => esc_html__( 'Fixed', 'testimonial-free' ),
199
  ),
200
  ), $this->value['background-attachment'], $this->field_name(), 'field/background' );
201
 
205
  // Background Size
206
  if( ! empty( $args['background_size'] ) ) {
207
 
208
+ SPFTESTIMONIAL::field( array(
209
  'id' => 'background-size',
210
  'type' => 'select',
211
  'options' => array(
212
+ '' => esc_html__( 'Background Size', 'testimonial-free' ),
213
+ 'cover' => esc_html__( 'Cover', 'testimonial-free' ),
214
+ 'contain' => esc_html__( 'Contain', 'testimonial-free' ),
215
  ),
216
  ), $this->value['background-size'], $this->field_name(), 'field/background' );
217
 
221
  // Background Origin
222
  if( ! empty( $args['background_origin'] ) ) {
223
 
224
+ SPFTESTIMONIAL::field( array(
225
  'id' => 'background-origin',
226
  'type' => 'select',
227
  'options' => array(
228
+ '' => esc_html__( 'Background Origin', 'testimonial-free' ),
229
+ 'padding-box' => esc_html__( 'Padding Box', 'testimonial-free' ),
230
+ 'border-box' => esc_html__( 'Border Box', 'testimonial-free' ),
231
+ 'content-box' => esc_html__( 'Content Box', 'testimonial-free' ),
232
  ),
233
  ), $this->value['background-origin'], $this->field_name(), 'field/background' );
234
 
238
  // Background Clip
239
  if( ! empty( $args['background_clip'] ) ) {
240
 
241
+ SPFTESTIMONIAL::field( array(
242
  'id' => 'background-clip',
243
  'type' => 'select',
244
  'options' => array(
245
+ '' => esc_html__( 'Background Clip', 'testimonial-free' ),
246
+ 'border-box' => esc_html__( 'Border Box', 'testimonial-free' ),
247
+ 'padding-box' => esc_html__( 'Padding Box', 'testimonial-free' ),
248
+ 'content-box' => esc_html__( 'Content Box', 'testimonial-free' ),
249
  ),
250
  ), $this->value['background-clip'], $this->field_name(), 'field/background' );
251
 
255
  // Background Blend Mode
256
  if( ! empty( $args['background_blend_mode'] ) ) {
257
 
258
+ SPFTESTIMONIAL::field( array(
259
  'id' => 'background-blend-mode',
260
  'type' => 'select',
261
  'options' => array(
262
+ '' => esc_html__( 'Background Blend Mode', 'testimonial-free' ),
263
+ 'normal' => esc_html__( 'Normal', 'testimonial-free' ),
264
+ 'multiply' => esc_html__( 'Multiply', 'testimonial-free' ),
265
+ 'screen' => esc_html__( 'Screen', 'testimonial-free' ),
266
+ 'overlay' => esc_html__( 'Overlay', 'testimonial-free' ),
267
+ 'darken' => esc_html__( 'Darken', 'testimonial-free' ),
268
+ 'lighten' => esc_html__( 'Lighten', 'testimonial-free' ),
269
+ 'color-dodge' => esc_html__( 'Color Dodge', 'testimonial-free' ),
270
+ 'saturation' => esc_html__( 'Saturation', 'testimonial-free' ),
271
+ 'color' => esc_html__( 'Color', 'testimonial-free' ),
272
+ 'luminosity' => esc_html__( 'Luminosity', 'testimonial-free' ),
273
  ),
274
  ), $this->value['background-blend-mode'], $this->field_name(), 'field/background' );
275
 
admin/views/framework/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', 'export' => $unique, 'nonce' => $nonce ), admin_url( 'admin-ajax.php' ) );
22
 
23
  echo $this->field_before();
24
 
25
- echo '<textarea name="csf_transient[csf_import_data]" class="csf-import-data"></textarea>';
26
- echo '<button type="submit" class="button button-primary csf-confirm csf-import" data-unique="'. $unique .'" data-nonce="'. $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">'. 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[csf_reset_all]" value="csf_reset_all" class="button csf-warning-primary csf-confirm csf-reset" data-unique="'. $unique .'" data-nonce="'. $nonce .'">'. esc_html__( 'Reset All', 'csf' ) .'</button>';
35
- echo '<small class="csf-text-error">'. 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( 'SPFTESTIMONIAL_Field_backup' ) ) {
11
+ class SPFTESTIMONIAL_Field_backup extends SPFTESTIMONIAL_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( 'spftestimonial_backup_nonce' );
21
+ $export = add_query_arg( array( 'action' => 'spftestimonial-export', 'export' => $unique, 'nonce' => $nonce ), admin_url( 'admin-ajax.php' ) );
22
 
23
  echo $this->field_before();
24
 
25
+ echo '<textarea name="spftestimonial_transient[spftestimonial_import_data]" class="spftestimonial-import-data"></textarea>';
26
+ echo '<button type="submit" class="button button-primary spftestimonial-confirm spftestimonial-import" data-unique="'. $unique .'" data-nonce="'. $nonce .'">'. esc_html__( 'Import', 'testimonial-free' ) .'</button>';
27
+ echo '<small>( '. esc_html__( 'copy-paste your backup string here', 'testimonial-free' ).' )</small>';
28
 
29
  echo '<hr />';
30
+ echo '<textarea readonly="readonly" class="spftestimonial-export-data">'. json_encode( get_option( $unique ) ) .'</textarea>';
31
+ echo '<a href="'. esc_url( $export ) .'" class="button button-primary spftestimonial-export" target="_blank">'. esc_html__( 'Export and Download Backup', 'testimonial-free' ) .'</a>';
32
 
33
  echo '<hr />';
34
+ echo '<button type="submit" name="spftestimonial_transient[spftestimonial_reset_all]" value="spftestimonial_reset_all" class="button spftestimonial-warning-primary spftestimonial-confirm spftestimonial-reset" data-unique="'. $unique .'" data-nonce="'. $nonce .'">'. esc_html__( 'Reset All', 'testimonial-free' ) .'</button>';
35
+ echo '<small class="spftestimonial-text-error">'. esc_html__( 'Please be sure for reset all of options.', 'testimonial-free' ) .'</small>';
36
 
37
  echo $this->field_after();
38
 
admin/views/framework/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,17 +22,18 @@ if( ! class_exists( 'CSF_Field_border' ) ) {
22
  'bottom_icon' => '<i class="fa fa-long-arrow-down"></i>',
23
  'right_icon' => '<i class="fa fa-long-arrow-right"></i>',
24
  'all_icon' => '<i class="fa fa-arrows"></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,
33
  'right' => true,
34
  'all' => false,
35
  'color' => true,
 
36
  'style' => true,
37
  'unit' => 'px',
38
  ) );
@@ -43,20 +44,21 @@ if( ! class_exists( 'CSF_Field_border' ) ) {
43
  'bottom' => '',
44
  'left' => '',
45
  'color' => '',
 
46
  'style' => 'solid',
47
  'all' => '',
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 +67,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="'. $args['all_placeholder'] .'"' : '';
73
 
74
- echo '<div class="csf--input">';
75
- echo ( ! empty( $args['all_icon'] ) ) ? '<span class="csf--label csf--icon">'. $args['all_icon'] .'</span>' : '';
76
- echo '<input type="number" name="'. $this->field_name('[all]') .'" value="'. $value['all'] .'"'. $placeholder .' class="csf-input-number csf--is-unit" />';
77
- echo ( ! empty( $args['unit'] ) ) ? '<span class="csf--label csf--unit">'. $args['unit'] .'</span>' : '';
78
  echo '</div>';
79
 
80
  } else {
@@ -93,10 +95,10 @@ if( ! class_exists( 'CSF_Field_border' ) ) {
93
 
94
  $placeholder = ( ! empty( $args[$property.'_placeholder'] ) ) ? ' placeholder="'. $args[$property.'_placeholder'] .'"' : '';
95
 
96
- echo '<div class="csf--input">';
97
- echo ( ! empty( $args[$property.'_icon'] ) ) ? '<span class="csf--label csf--icon">'. $args[$property.'_icon'] .'</span>' : '';
98
- echo '<input type="number" name="'. $this->field_name('['. $property .']') .'" value="'. $value[$property] .'"'. $placeholder .' class="csf-input-number csf--is-unit" />';
99
- echo ( ! empty( $args['unit'] ) ) ? '<span class="csf--label csf--unit">'. $args['unit'] .'</span>' : '';
100
  echo '</div>';
101
 
102
  }
@@ -104,7 +106,7 @@ if( ! class_exists( 'CSF_Field_border' ) ) {
104
  }
105
 
106
  if( ! empty( $args['style'] ) ) {
107
- echo '<div class="csf--input">';
108
  echo '<select name="'. $this->field_name('[style]') .'">';
109
  foreach( $border_props as $border_prop_key => $border_prop_value ) {
110
  $selected = ( $value['style'] === $border_prop_key ) ? ' selected' : '';
@@ -118,59 +120,27 @@ if( ! class_exists( 'CSF_Field_border' ) ) {
118
 
119
  if( ! empty( $args['color'] ) ) {
120
  $default_color_attr = ( ! empty( $default_value['color'] ) ) ? ' data-default-color="'. $default_value['color'] .'"' : '';
121
- echo '<div class="csf--color">';
122
- echo '<div class="csf-field-color">';
123
- echo '<input type="text" name="'. $this->field_name('[color]') .'" value="'. $value['color'] .'" class="csf-color"'. $default_color_attr .' />';
 
124
  echo '</div>';
125
  echo '</div>';
126
  }
127
 
128
- echo '<div class="clear"></div>';
129
-
130
- echo $this->field_after();
131
-
132
- }
133
-
134
- public function output() {
135
-
136
- $output = '';
137
- $unit = ( ! empty( $this->value['unit'] ) ) ? $this->value['unit'] : 'px';
138
- $important = ( ! empty( $this->field['output_important'] ) ) ? '!important' : '';
139
- $element = ( is_array( $this->field['output'] ) ) ? join( ',', $this->field['output'] ) : $this->field['output'];
140
-
141
- // properties
142
- $top = ( isset( $this->value['top'] ) && $this->value['top'] !== '' ) ? $this->value['top'] : '';
143
- $right = ( isset( $this->value['right'] ) && $this->value['right'] !== '' ) ? $this->value['right'] : '';
144
- $bottom = ( isset( $this->value['bottom'] ) && $this->value['bottom'] !== '' ) ? $this->value['bottom'] : '';
145
- $left = ( isset( $this->value['left'] ) && $this->value['left'] !== '' ) ? $this->value['left'] : '';
146
- $style = ( isset( $this->value['style'] ) && $this->value['style'] !== '' ) ? $this->value['style'] : '';
147
- $color = ( isset( $this->value['color'] ) && $this->value['color'] !== '' ) ? $this->value['color'] : '';
148
- $all = ( isset( $this->value['all'] ) && $this->value['all'] !== '' ) ? $this->value['all'] : '';
149
-
150
- if( ! empty( $this->field['all'] ) && ( $all !== '' || $color !== '' ) ) {
151
-
152
- $output = $element .'{';
153
- $output .= ( $all !== '' ) ? 'border-width:'. $all . $unit . $important .';' : '';
154
- $output .= ( $color !== '' ) ? 'border-color:'. $color . $important .';' : '';
155
- $output .= ( $style !== '' ) ? 'border-style:'. $style . $important .';' : '';
156
- $output .= '}';
157
-
158
- } else if( $top !== '' || $right !== '' || $bottom !== '' || $left !== '' || $color !== '' ) {
159
-
160
- $output = $element .'{';
161
- $output .= ( $top !== '' ) ? 'border-top-width:'. $top . $unit . $important .';' : '';
162
- $output .= ( $right !== '' ) ? 'border-right-width:'. $right . $unit . $important .';' : '';
163
- $output .= ( $bottom !== '' ) ? 'border-bottom-width:'. $bottom . $unit . $important .';' : '';
164
- $output .= ( $left !== '' ) ? 'border-left-width:'. $left . $unit . $important .';' : '';
165
- $output .= ( $color !== '' ) ? 'border-color:'. $color . $important .';' : '';
166
- $output .= ( $style !== '' ) ? 'border-style:'. $style . $important .';' : '';
167
- $output .= '}';
168
-
169
  }
170
 
171
- $this->parent->output_css .= $output;
172
 
173
- return $output;
174
 
175
  }
176
 
7
  * @version 1.0.0
8
  *
9
  */
10
+ if( ! class_exists( 'SPFTESTIMONIAL_Field_border' ) ) {
11
+ class SPFTESTIMONIAL_Field_border extends SPFTESTIMONIAL_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
22
  'bottom_icon' => '<i class="fa fa-long-arrow-down"></i>',
23
  'right_icon' => '<i class="fa fa-long-arrow-right"></i>',
24
  'all_icon' => '<i class="fa fa-arrows"></i>',
25
+ 'top_placeholder' => esc_html__( 'top', 'testimonial-free' ),
26
+ 'right_placeholder' => esc_html__( 'right', 'testimonial-free' ),
27
+ 'bottom_placeholder' => esc_html__( 'bottom', 'testimonial-free' ),
28
+ 'left_placeholder' => esc_html__( 'left', 'testimonial-free' ),
29
+ 'all_placeholder' => esc_html__( 'all', 'testimonial-free' ),
30
  'top' => true,
31
  'left' => true,
32
  'bottom' => true,
33
  'right' => true,
34
  'all' => false,
35
  'color' => true,
36
+ 'hover_color' => false,
37
  'style' => true,
38
  'unit' => 'px',
39
  ) );
44
  'bottom' => '',
45
  'left' => '',
46
  'color' => '',
47
+ 'hover-color' => '',
48
  'style' => 'solid',
49
  'all' => '',
50
  );
51
 
52
  $border_props = array(
53
+ 'solid' => esc_html__( 'Solid', 'testimonial-free' ),
54
+ 'dashed' => esc_html__( 'Dashed', 'testimonial-free' ),
55
+ 'dotted' => esc_html__( 'Dotted', 'testimonial-free' ),
56
+ 'double' => esc_html__( 'Double', 'testimonial-free' ),
57
+ 'inset' => esc_html__( 'Inset', 'testimonial-free' ),
58
+ 'outset' => esc_html__( 'Outset', 'testimonial-free' ),
59
+ 'groove' => esc_html__( 'Groove', 'testimonial-free' ),
60
+ 'ridge' => esc_html__( 'ridge', 'testimonial-free' ),
61
+ 'none' => esc_html__( 'None', 'testimonial-free' )
62
  );
63
 
64
  $default_value = ( ! empty( $this->field['default'] ) ) ? wp_parse_args( $this->field['default'], $default_value ) : $default_value;
67
 
68
  echo $this->field_before();
69
 
70
+ echo '<div class="spftestimonial--inputs">';
71
 
72
  if( ! empty( $args['all'] ) ) {
73
 
74
  $placeholder = ( ! empty( $args['all_placeholder'] ) ) ? ' placeholder="'. $args['all_placeholder'] .'"' : '';
75
 
76
+ echo '<div class="spftestimonial--input">';
77
+ echo ( ! empty( $args['all_icon'] ) ) ? '<span class="spftestimonial--label spftestimonial--icon">'. $args['all_icon'] .'</span>' : '';
78
+ echo '<input type="number" name="'. $this->field_name('[all]') .'" value="'. $value['all'] .'"'. $placeholder .' class="spftestimonial-input-number spftestimonial--is-unit" />';
79
+ echo ( ! empty( $args['unit'] ) ) ? '<span class="spftestimonial--label spftestimonial--unit">'. $args['unit'] .'</span>' : '';
80
  echo '</div>';
81
 
82
  } else {
95
 
96
  $placeholder = ( ! empty( $args[$property.'_placeholder'] ) ) ? ' placeholder="'. $args[$property.'_placeholder'] .'"' : '';
97
 
98
+ echo '<div class="spftestimonial--input">';
99
+ echo ( ! empty( $args[$property.'_icon'] ) ) ? '<span class="spftestimonial--label spftestimonial--icon">'. $args[$property.'_icon'] .'</span>' : '';
100
+ echo '<input type="number" name="'. $this->field_name('['. $property .']') .'" value="'. $value[$property] .'"'. $placeholder .' class="spftestimonial-input-number spftestimonial--is-unit" />';
101
+ echo ( ! empty( $args['unit'] ) ) ? '<span class="spftestimonial--label spftestimonial--unit">'. $args['unit'] .'</span>' : '';
102
  echo '</div>';
103
 
104
  }
106
  }
107
 
108
  if( ! empty( $args['style'] ) ) {
109
+ echo '<div class="spftestimonial--input">';
110
  echo '<select name="'. $this->field_name('[style]') .'">';
111
  foreach( $border_props as $border_prop_key => $border_prop_value ) {
112
  $selected = ( $value['style'] === $border_prop_key ) ? ' selected' : '';
120
 
121
  if( ! empty( $args['color'] ) ) {
122
  $default_color_attr = ( ! empty( $default_value['color'] ) ) ? ' data-default-color="'. $default_value['color'] .'"' : '';
123
+ echo '<div class="spftestimonial--color">';
124
+ echo '<div class="spftestimonial-field-color">';
125
+ echo '<div class="spftestimonial--title">'. esc_html( 'Color', 'testimonial-free' ).'</div>';
126
+ echo '<input type="text" name="'. $this->field_name('[color]') .'" value="'. $value['color'] .'" class="spftestimonial-color"'. $default_color_attr .' />';
127
  echo '</div>';
128
  echo '</div>';
129
  }
130
 
131
+ if( ! empty( $args['hover_color'] ) ) {
132
+ $default_hover_color_attr = ( ! empty( $default_value['hover-color'] ) ) ? ' data-default-color="'. $default_value['hover-color'] .'"' : '';
133
+ echo '<div class="spftestimonial--color">';
134
+ echo '<div class="spftestimonial-field-color">';
135
+ echo '<div class="spftestimonial--title">'. esc_html( 'Hover Color', 'testimonial-free' ).'</div>';
136
+ echo '<input type="text" name="'. $this->field_name('[hover-color]') .'" value="'. $value['hover-color'] .'" class="spftestimonial-color"'. $default_hover_color_attr .' />';
137
+ echo '</div>';
138
+ echo '</div>';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
139
  }
140
 
141
+ echo '<div class="clear"></div>';
142
 
143
+ echo $this->field_after();
144
 
145
  }
146
 
admin/views/framework/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 );
@@ -27,16 +27,16 @@ if( ! class_exists( 'CSF_Field_button_set' ) ) {
27
 
28
  if( ! empty( $args['options'] ) ) {
29
 
30
- echo '<div class="csf-siblings csf--button-group" data-multiple="'. $args['multiple'] .'">';
31
 
32
  foreach( $args['options'] as $key => $option ) {
33
 
34
  $type = ( $args['multiple'] ) ? 'checkbox' : 'radio';
35
  $extra = ( $args['multiple'] ) ? '[]' : '';
36
- $active = ( in_array( $key, $value ) || ( empty( $value ) && empty( $key ) ) ) ? ' csf--active' : '';
37
  $checked = ( in_array( $key, $value ) || ( empty( $value ) && empty( $key ) ) ) ? ' checked' : '';
38
 
39
- echo '<div class="csf--sibling csf--button'. $active .'">';
40
  echo '<input type="'. $type .'" name="'. $this->field_name( $extra ) .'" value="'. $key .'"'. $this->field_attributes() . $checked .'/>';
41
  echo $option;
42
  echo '</div>';
7
  * @version 1.0.0
8
  *
9
  */
10
+ if( ! class_exists( 'SPFTESTIMONIAL_Field_button_set' ) ) {
11
+ class SPFTESTIMONIAL_Field_button_set extends SPFTESTIMONIAL_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="spftestimonial-siblings spftestimonial--button-group" data-multiple="'. $args['multiple'] .'">';
31
 
32
  foreach( $args['options'] as $key => $option ) {
33
 
34
  $type = ( $args['multiple'] ) ? 'checkbox' : 'radio';
35
  $extra = ( $args['multiple'] ) ? '[]' : '';
36
+ $active = ( in_array( $key, $value ) || ( empty( $value ) && empty( $key ) ) ) ? ' spftestimonial--active' : '';
37
  $checked = ( in_array( $key, $value ) || ( empty( $value ) && empty( $key ) ) ) ? ' checked' : '';
38
 
39
+ echo '<div class="spftestimonial--sibling spftestimonial--button'. $active .'">';
40
  echo '<input type="'. $type .'" name="'. $this->field_name( $extra ) .'" value="'. $key .'"'. $this->field_attributes() . $checked .'/>';
41
  echo $option;
42
  echo '</div>';
admin/views/framework/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
 
@@ -60,15 +60,15 @@ if( ! class_exists( 'CSF_Field_checkbox' ) ) {
60
 
61
  } else {
62
 
63
- echo ( ! empty( $this->field['empty_message'] ) ) ? $this->field['empty_message'] : esc_html__( 'No data provided for this option type.', 'csf' );
64
 
65
  }
66
 
67
  } else {
68
 
69
- echo '<label class="csf-checkbox">';
70
- echo '<input type="hidden" name="'. $this->field_name() .'" value="'. $this->value .'" class="csf--input"'. $this->field_attributes() .'/>';
71
- echo '<input type="checkbox" name="_pseudo" class="csf--checkbox"'. checked( $this->value, 1, false ) .'/>';
72
  echo ( ! empty( $this->field['label'] ) ) ? ' '. $this->field['label'] : '';
73
  echo '</label>';
74
 
7
  * @version 1.0.0
8
  *
9
  */
10
+ if( ! class_exists( 'SPFTESTIMONIAL_Field_checkbox' ) ) {
11
+ class SPFTESTIMONIAL_Field_checkbox extends SPFTESTIMONIAL_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="spftestimonial--inline-list"' : '';
25
 
26
  echo $this->field_before();
27
 
60
 
61
  } else {
62
 
63
+ echo ( ! empty( $this->field['empty_message'] ) ) ? $this->field['empty_message'] : esc_html__( 'No data provided for this option type.', 'testimonial-free' );
64
 
65
  }
66
 
67
  } else {
68
 
69
+ echo '<label class="spftestimonial-checkbox">';
70
+ echo '<input type="hidden" name="'. $this->field_name() .'" value="'. $this->value .'" class="spftestimonial--input"'. $this->field_attributes() .'/>';
71
+ echo '<input type="checkbox" name="_pseudo" class="spftestimonial--checkbox"'. checked( $this->value, 1, false ) .'/>';
72
  echo ( ! empty( $this->field['label'] ) ) ? ' '. $this->field['label'] : '';
73
  echo '</label>';
74
 
admin/views/framework/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@';
@@ -39,17 +39,20 @@ if( ! class_exists( 'CSF_Field_code_editor' ) ) {
39
 
40
  public function enqueue() {
41
 
 
 
42
  // Do not loads CodeMirror in revslider page.
43
- if( in_array( csf_get_var( 'page' ), array( 'revslider' ) ) ) { return; }
44
 
45
- if( ! wp_script_is( 'csf-codemirror' ) ) {
46
- wp_enqueue_script( 'csf-codemirror', $this->cdn_url . $this->version .'/lib/codemirror.min.js', array( 'csf' ), $this->version, true );
47
- wp_enqueue_script( 'csf-codemirror-loadmode', $this->cdn_url . $this->version .'/addon/mode/loadmode.min.js', array( 'csf-codemirror' ), $this->version, true );
48
  }
49
 
50
- if( ! wp_style_is( 'csf-codemirror' ) ) {
51
- wp_enqueue_style( 'csf-codemirror', $this->cdn_url . $this->version .'/lib/codemirror.min.css', array(), $this->version );
52
  }
 
53
 
54
  }
55
 
7
  * @version 1.0.0
8
  *
9
  */
10
+ if( ! class_exists( 'SPFTESTIMONIAL_Field_code_editor' ) ) {
11
+ class SPFTESTIMONIAL_Field_code_editor extends SPFTESTIMONIAL_Fields {
12
 
13
  public $version = '5.41.0';
14
  public $cdn_url = 'https://cdn.jsdelivr.net/npm/codemirror@';
39
 
40
  public function enqueue() {
41
 
42
+ $screen = get_current_screen();
43
+ if ( $screen->post_type == 'spt_testimonial' || $screen->post_type == 'sp_tfree_shortcodes' ) {
44
  // Do not loads CodeMirror in revslider page.
45
+ if( in_array( spftestimonial_get_var( 'page' ), array( 'revslider' ) ) ) { return; }
46
 
47
+ if( ! wp_script_is( 'spftestimonial-codemirror' ) ) {
48
+ wp_enqueue_script( 'spftestimonial-codemirror', $this->cdn_url . $this->version .'/lib/codemirror.min.js', array( 'spftestimonial' ), $this->version, true );
49
+ wp_enqueue_script( 'spftestimonial-codemirror-loadmode', $this->cdn_url . $this->version .'/addon/mode/loadmode.min.js', array( 'spftestimonial-codemirror' ), $this->version, true );
50
  }
51
 
52
+ if( ! wp_style_is( 'spftestimonial-codemirror' ) ) {
53
+ wp_enqueue_style( 'spftestimonial-codemirror', $this->cdn_url . $this->version .'/lib/codemirror.min.css', array(), $this->version );
54
  }
55
+ }
56
 
57
  }
58
 
admin/views/framework/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="'. $this->field['default'] .'"' : '';
20
 
21
  echo $this->field_before();
22
- echo '<input type="text" name="'. $this->field_name() .'" value="'. $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( 'SPFTESTIMONIAL_Field_color' ) ) {
11
+ class SPFTESTIMONIAL_Field_color extends SPFTESTIMONIAL_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="'. $this->field['default'] .'"' : '';
20
 
21
  echo $this->field_before();
22
+ echo '<input type="text" name="'. $this->field_name() .'" value="'. $this->value .'" class="spftestimonial-color"'. $default_attr . $this->field_attributes() .'/>';
23
  echo $this->field_after();
24
 
25
  }
admin/views/framework/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="'. $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="'. $this->field_name('['. $key .']') .'" value="'. $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( 'SPFTESTIMONIAL_Field_color_group' ) ) {
11
+ class SPFTESTIMONIAL_Field_color_group extends SPFTESTIMONIAL_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="'. $this->field['default'][$key] .'"' : '';
28
 
29
+ echo '<div class="spftestimonial--left spftestimonial-field-color">';
30
+ echo '<div class="spftestimonial--title">'. $option .'</div>';
31
+ echo '<input type="text" name="'. $this->field_name('['. $key .']') .'" value="'. $color_value .'" class="spftestimonial-color"'. $default_attr . $this->field_attributes() .'/>';
32
  echo '</div>';
33
 
34
  }
admin/views/framework/fields/column/column.php ADDED
@@ -0,0 +1,79 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php if ( ! defined( 'ABSPATH' ) ) {
2
+ die; } // Cannot access directly.
3
+ /**
4
+ *
5
+ * Field: column
6
+ *
7
+ * @since 2.2.0
8
+ * @version 2.2.0
9
+ */
10
+ if ( ! class_exists( 'SPFTESTIMONIAL_Field_column' ) ) {
11
+ class SPFTESTIMONIAL_Field_column extends SPFTESTIMONIAL_Fields {
12
+
13
+ public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
+ parent::__construct( $field, $value, $unique, $where, $parent );
15
+ }
16
+
17
+ public function render() {
18
+
19
+ $args = wp_parse_args(
20
+ $this->field, array(
21
+ 'large_desktop_icon' => '<i class="fa fa-television"></i>',
22
+ 'desktop_icon' => '<i class="fa fa-desktop"></i>',
23
+ 'laptop_icon' => '<i class="fa fa-laptop"></i>',
24
+ 'tablet_icon' => '<i class="fa fa-tablet"></i>',
25
+ 'mobile_icon' => '<i class="fa fa-mobile"></i>',
26
+ 'large_desktop_placeholder' => esc_html__( 'Large Desktop', 'testimonial-free' ),
27
+ 'desktop_placeholder' => esc_html__( 'Desktop', 'testimonial-free' ),
28
+ 'laptop_placeholder' => esc_html__( 'Laptop', 'testimonial-free' ),
29
+ 'tablet_placeholder' => esc_html__( 'Tablet', 'testimonial-free' ),
30
+ 'mobile_placeholder' => esc_html__( 'Mobile', 'testimonial-free' ),
31
+ 'large_desktop' => true,
32
+ 'desktop' => true,
33
+ 'laptop' => true,
34
+ 'tablet' => true,
35
+ 'mobile' => true,
36
+ )
37
+ );
38
+
39
+ $default_values = array(
40
+ 'large_desktop' => '',
41
+ 'desktop' => '',
42
+ 'laptop' => '',
43
+ 'tablet' => '',
44
+ 'mobile' => '',
45
+ );
46
+
47
+ $value = wp_parse_args( $this->value, $default_values );
48
+
49
+ echo $this->field_before();
50
+
51
+ $properties = array();
52
+
53
+ foreach ( array( 'large_desktop', 'desktop', 'laptop', 'tablet', 'mobile' ) as $prop ) {
54
+ if ( ! empty( $args[ $prop ] ) ) {
55
+ $properties[] = $prop;
56
+ }
57
+ }
58
+
59
+ $properties = ( $properties === array( 'desktop', 'tablet' ) ) ? array_reverse( $properties ) : $properties;
60
+
61
+ foreach ( $properties as $property ) {
62
+
63
+ $placeholder = ( ! empty( $args[ $property . '_placeholder' ] ) ) ? ' placeholder="' . $args[ $property . '_placeholder' ] . '"' : '';
64
+
65
+ echo '<div class="spftestimonial--input">';
66
+ echo ( ! empty( $args[ $property . '_icon' ] ) ) ? '<span class="spftestimonial--label spftestimonial--label-icon">' . $args[ $property . '_icon' ] . '</span>' : '';
67
+ echo '<input type="text" name="' . $this->field_name( '[' . $property . ']' ) . '" value="' . $value[ $property ] . '"' . $placeholder . ' class="spftestimonial-number" />';
68
+ echo '</div>';
69
+
70
+ }
71
+
72
+ echo '<div class="clear"></div>';
73
+
74
+ echo $this->field_after();
75
+
76
+ }
77
+
78
+ }
79
+ }
admin/views/framework/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( 'SPFTESTIMONIAL_Field_content' ) ) {
11
+ class SPFTESTIMONIAL_Field_content extends SPFTESTIMONIAL_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
admin/views/framework/fields/custom_size/custom_size.php ADDED
@@ -0,0 +1,86 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php if ( ! defined( 'ABSPATH' ) ) {
2
+ die; } // Cannot access directly.
3
+ /**
4
+ *
5
+ * Field: Dimension Advanced.
6
+ *
7
+ * @since 2.2.0
8
+ * @version 2.2.0
9
+ */
10
+ if ( ! class_exists( 'SPFTESTIMONIAL_Field_custom_size' ) ) {
11
+ class SPFTESTIMONIAL_Field_custom_size extends SPFTESTIMONIAL_Fields {
12
+
13
+ public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
+ parent::__construct( $field, $value, $unique, $where, $parent );
15
+ }
16
+
17
+ public function render() {
18
+
19
+ $args = wp_parse_args(
20
+ $this->field,
21
+ array(
22
+ 'width_icon' => '<i class="fa fa-arrows-h"></i>',
23
+ 'height_icon' => '<i class="fa fa-arrows-v"></i>',
24
+ 'width_placeholder' => esc_html__( 'width', 'testimonial-free' ),
25
+ 'height_placeholder' => esc_html__( 'height', 'testimonial-free' ),
26
+ 'width' => true,
27
+ 'height' => true,
28
+ 'crop' => true,
29
+ 'crops' => array( 'soft-crop', 'hard-crop' ),
30
+ 'unit' => 'px',
31
+ )
32
+ );
33
+
34
+ $default_value = array(
35
+ 'width' => '',
36
+ 'height' => '',
37
+ 'crop' => 'hard-crop',
38
+ );
39
+
40
+ $default_value = ( ! empty( $this->field['default'] ) ) ? wp_parse_args( $this->field['default'], $default_value ) : $default_value;
41
+
42
+ $value = wp_parse_args( $this->value, $default_value );
43
+
44
+ echo $this->field_before();
45
+
46
+ $properties = array();
47
+
48
+ foreach ( array( 'width', 'height' ) as $prop ) {
49
+ if ( ! empty( $args[ $prop ] ) ) {
50
+ $properties[] = $prop;
51
+ }
52
+ }
53
+
54
+ $properties = ( $properties === array( 'width', 'height' ) ) ? array_reverse( $properties ) : $properties;
55
+
56
+ foreach ( $properties as $property ) {
57
+
58
+ $placeholder = ( ! empty( $args[ $property . '_placeholder' ] ) ) ? ' placeholder="' . $args[ $property . '_placeholder' ] . '"' : '';
59
+
60
+ echo '<div class="spftestimonial--input">';
61
+ echo ( ! empty( $args[ $property . '_icon' ] ) ) ? '<span class="spftestimonial--label spftestimonial--label-icon">' . $args[ $property . '_icon' ] . '</span>' : '';
62
+ echo '<input type="number" name="' . $this->field_name( '[' . $property . ']' ) . '" value="' . $value[ $property ] . '"' . $placeholder . ' class="spftestimonial-number" />';
63
+ echo ( ! empty( $args['unit'] ) ) ? '<span class="spftestimonial--label spftestimonial--label-unit">' . $args['unit'] . '</span>' : '';
64
+ echo '</div>';
65
+
66
+ }
67
+
68
+ if ( ! empty( $args['crop'] ) ) {
69
+ echo '<div class="spf--left spf--input">';
70
+ echo '<select name="' . $this->field_name( '[crop]' ) . '">';
71
+ foreach ( $args['crops'] as $crop_prop ) {
72
+ $selected = ( $value['crop'] === $crop_prop ) ? ' selected' : '';
73
+ echo '<option value="' . $crop_prop . '"' . $selected . '>' . $crop_prop . '</option>';
74
+ }
75
+ echo '</select>';
76
+ echo '</div>';
77
+ }
78
+
79
+ echo '<div class="clear"></div>';
80
+
81
+ echo $this->field_after();
82
+
83
+ }
84
+
85
+ }
86
+ }
admin/views/framework/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">'. $args['text_from'] .' <input type="text" name="'. $this->field_name('[from]') .'" value="'. $value['from'] .'"'. $this->field_attributes() .'/></label>';
41
- echo '<label class="csf--to">'. $args['text_to'] .' <input type="text" name="'. $this->field_name('[to]') .'" value="'. $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( 'SPFTESTIMONIAL_Field_date' ) ) {
11
+ class SPFTESTIMONIAL_Field_date extends SPFTESTIMONIAL_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', 'testimonial-free' ),
32
+ 'text_to' => esc_html__( 'To', 'testimonial-free' ),
33
  ) );
34
 
35
  $value = wp_parse_args( $this->value, array(
37
  'to' => '',
38
  ) );
39
 
40
+ echo '<label class="spftestimonial--from">'. $args['text_from'] .' <input type="text" name="'. $this->field_name('[from]') .'" value="'. $value['from'] .'"'. $this->field_attributes() .'/></label>';
41
+ echo '<label class="spftestimonial--to">'. $args['text_to'] .' <input type="text" name="'. $this->field_name('[to]') .'" value="'. $value['to'] .'"'. $this->field_attributes() .'/></label>';
42
 
43
  } else {
44
 
46
 
47
  }
48
 
49
+ echo '<div class="spftestimonial-date-settings" data-settings="'. esc_attr( json_encode( $settings ) ) .'"></div>';
50
 
51
  echo $this->field_after();
52
 
admin/views/framework/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="fa fa-arrows-h"></i>',
21
  'height_icon' => '<i class="fa fa-arrows-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="'. $args['width_placeholder'] .'"' : '';
47
- echo '<div class="csf--input">';
48
- echo ( ! empty( $args['width_icon'] ) ) ? '<span class="csf--label csf--icon">'. $args['width_icon'] .'</span>' : '';
49
- echo '<input type="number" name="'. $this->field_name('[width]') .'" value="'. $value['width'] .'"'. $placeholder .' class="csf-input-number'. $is_unit .'" />';
50
- echo ( ! empty( $unit ) ) ? '<span class="csf--label csf--unit">'. $args['units'][0] .'</span>' : '';
51
  echo '</div>';
52
  }
53
 
54
  if( ! empty( $args['height'] ) ) {
55
  $placeholder = ( ! empty( $args['height_placeholder'] ) ) ? ' placeholder="'. $args['height_placeholder'] .'"' : '';
56
- echo '<div class="csf--input">';
57
- echo ( ! empty( $args['height_icon'] ) ) ? '<span class="csf--label csf--icon">'. $args['height_icon'] .'</span>' : '';
58
- echo '<input type="number" name="'. $this->field_name('[height]') .'" value="'. $value['height'] .'"'. $placeholder .' class="csf-input-number'. $is_unit .'" />';
59
- echo ( ! empty( $unit ) ) ? '<span class="csf--label csf--unit">'. $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="'. $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( 'SPFTESTIMONIAL_Field_dimensions' ) ) {
11
+ class SPFTESTIMONIAL_Field_dimensions extends SPFTESTIMONIAL_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="fa fa-arrows-h"></i>',
21
  'height_icon' => '<i class="fa fa-arrows-v"></i>',
22
+ 'width_placeholder' => esc_html__( 'width', 'testimonial-free' ),
23
+ 'height_placeholder' => esc_html__( 'height', 'testimonial-free' ),
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 ) ) ? ' spftestimonial--is-unit' : '';
40
 
41
  echo $this->field_before();
42
 
43
+ echo '<div class="spftestimonial--inputs">';
44
 
45
  if( ! empty( $args['width'] ) ) {
46
  $placeholder = ( ! empty( $args['width_placeholder'] ) ) ? ' placeholder="'. $args['width_placeholder'] .'"' : '';
47
+ echo '<div class="spftestimonial--input">';
48
+ echo ( ! empty( $args['width_icon'] ) ) ? '<span class="spftestimonial--label spftestimonial--icon">'. $args['width_icon'] .'</span>' : '';
49
+ echo '<input type="number" name="'. $this->field_name('[width]') .'" value="'. $value['width'] .'"'. $placeholder .' class="spftestimonial-input-number'. $is_unit .'" />';
50
+ echo ( ! empty( $unit ) ) ? '<span class="spftestimonial--label spftestimonial--unit">'. $args['units'][0] .'</span>' : '';
51
  echo '</div>';
52
  }
53
 
54
  if( ! empty( $args['height'] ) ) {
55
  $placeholder = ( ! empty( $args['height_placeholder'] ) ) ? ' placeholder="'. $args['height_placeholder'] .'"' : '';
56
+ echo '<div class="spftestimonial--input">';
57
+ echo ( ! empty( $args['height_icon'] ) ) ? '<span class="spftestimonial--label spftestimonial--icon">'. $args['height_icon'] .'</span>' : '';
58
+ echo '<input type="number" name="'. $this->field_name('[height]') .'" value="'. $value['height'] .'"'. $placeholder .' class="spftestimonial-input-number'. $is_unit .'" />';
59
+ echo ( ! empty( $unit ) ) ? '<span class="spftestimonial--label spftestimonial--unit">'. $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="spftestimonial--input">';
65
  echo '<select name="'. $this->field_name('[unit]') .'">';
66
  foreach( $args['units'] as $unit ) {
67
  $selected = ( $value['unit'] === $unit ) ? ' selected' : '';
admin/views/framework/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( 'SPFTESTIMONIAL_Field_fieldset' ) ) {
11
+ class SPFTESTIMONIAL_Field_fieldset extends SPFTESTIMONIAL_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="spftestimonial-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
+ SPFTESTIMONIAL::field( $field, $field_value, $unique_id, 'field/fieldset' );
31
 
32
  }
33
 
admin/views/framework/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' : '';
@@ -40,9 +40,9 @@ if( ! class_exists( 'CSF_Field_gallery' ) ) {
40
  }
41
 
42
  echo '</ul>';
43
- echo '<a href="#" class="button button-primary csf-button">'. $args['add_title'] .'</a>';
44
- echo '<a href="#" class="button csf-edit-gallery'. $hidden .'">'. $args['edit_title'] .'</a>';
45
- echo '<a href="#" class="button csf-warning-primary csf-clear-gallery'. $hidden .'">'. $args['clear_title'] .'</a>';
46
  echo '<input type="text" name="'. $this->field_name() .'" value="'. $this->value .'"'. $this->field_attributes() .'/>';
47
 
48
  echo $this->field_after();
7
  * @version 1.0.0
8
  *
9
  */
10
+ if( ! class_exists( 'SPFTESTIMONIAL_Field_gallery' ) ) {
11
+ class SPFTESTIMONIAL_Field_gallery extends SPFTESTIMONIAL_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', 'testimonial-free' ),
21
+ 'edit_title' => esc_html__( 'Edit Gallery', 'testimonial-free' ),
22
+ 'clear_title' => esc_html__( 'Clear', 'testimonial-free' ),
23
  ) );
24
 
25
  $hidden = ( empty( $this->value ) ) ? ' hidden' : '';
40
  }
41
 
42
  echo '</ul>';
43
+ echo '<a href="#" class="button button-primary spftestimonial-button">'. $args['add_title'] .'</a>';
44
+ echo '<a href="#" class="button spftestimonial-edit-gallery'. $hidden .'">'. $args['edit_title'] .'</a>';
45
+ echo '<a href="#" class="button spftestimonial-warning-primary spftestimonial-clear-gallery'. $hidden .'">'. $args['clear_title'] .'</a>';
46
  echo '<input type="text" name="'. $this->field_name() .'" value="'. $this->value .'"'. $this->field_attributes() .'/>';
47
 
48
  echo $this->field_after();
admin/views/framework/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 fa fa-arrows"></i>';
45
- echo '<i class="csf-cloneable-clone fa fa-clone"></i>';
46
- echo '<i class="csf-cloneable-remove csf-confirm fa 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">'. $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="'. $title_number .'" data-unique-id="'. $this->unique .'" data-field-id="['. $this->field['id'] .']" data-max="'. $args['max'] .'" data-min="'. $args['min'] .'">';
71
 
72
  if( ! empty( $this->value ) ) {
73
 
@@ -78,23 +78,23 @@ if( ! class_exists( 'CSF_Field_group' ) ) {
78
  $first_id = ( isset( $this->field['fields'][0]['id'] ) ) ? $this->field['fields'][0]['id'] : '';
79
  $first_value = ( isset( $value[$first_id] ) ) ? $value[$first_id] : '';
80
 
81
- echo '<div class="csf-cloneable-item">';
82
 
83
- echo '<div class="csf-cloneable-helper">';
84
- echo '<i class="csf-cloneable-sort fa fa-arrows"></i>';
85
- echo '<i class="csf-cloneable-clone fa fa-clone"></i>';
86
- echo '<i class="csf-cloneable-remove csf-confirm fa fa-times" data-confirm="'. esc_html__( 'Are you sure to delete this item?', 'csf' ) .'"></i>';
87
  echo '</div>';
88
 
89
- echo '<h4 class="csf-cloneable-title">';
90
- echo '<span class="csf-cloneable-text">';
91
- echo ( $title_number ) ? '<span class="csf-cloneable-title-number">'. ( $num+1 ) .'.</span>' : '';
92
- echo ( $title_prefix ) ? '<span class="csf-cloneable-title-prefix">'. $title_prefix .'</span>' : '';
93
- echo ( $title_auto ) ? '<span class="csf-cloneable-value">' . $first_value .'</span>' : '';
94
  echo '</span>';
95
  echo '</h4>';
96
 
97
- echo '<div class="csf-cloneable-content">';
98
 
99
  foreach ( $this->field['fields'] as $field ) {
100
 
@@ -102,7 +102,7 @@ if( ! class_exists( 'CSF_Field_group' ) ) {
102
  $field_unique = ( ! empty( $this->unique ) ) ? $this->unique .'['. $this->field['id'] .']['. $num .']' : $this->field['id'] .'['. $num .']';
103
  $field_value = ( isset( $field['id'] ) && isset( $value[$field['id']] ) ) ? $value[$field['id']] : '';
104
 
105
- CSF::field( $field, $field_value, $field_unique, 'field/group', $field_parent );
106
 
107
  }
108
 
@@ -118,10 +118,10 @@ if( ! class_exists( 'CSF_Field_group' ) ) {
118
 
119
  echo '</div>';
120
 
121
- echo '<div class="csf-cloneable-alert csf-cloneable-max">'. esc_html__( 'You can not add more than', 'csf' ) .' '. $args['max'] .'</div>';
122
- echo '<div class="csf-cloneable-alert csf-cloneable-min">'. esc_html__( 'You can not remove less than', 'csf' ) .' '. $args['min'] .'</div>';
123
 
124
- echo '<a href="#" class="button button-primary csf-cloneable-add">'. $args['button_title'] .'</a>';
125
 
126
  echo $this->field_after();
127
 
7
  * @version 1.0.0
8
  *
9
  */
10
+ if( ! class_exists( 'SPFTESTIMONIAL_Field_group' ) ) {
11
+ class SPFTESTIMONIAL_Field_group extends SPFTESTIMONIAL_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', 'testimonial-free' ),
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="spftestimonial-notice spftestimonial-notice-danger">'. esc_html__( 'Error: Nested field id can not be same with another nested field id.', 'testimonial-free' ) .'</div>';
36
 
37
  } else {
38
 
39
  echo $this->field_before();
40
 
41
+ echo '<div class="spftestimonial-cloneable-item spftestimonial-cloneable-hidden">';
42
 
43
+ echo '<div class="spftestimonial-cloneable-helper">';
44
+ echo '<i class="spftestimonial-cloneable-sort fa fa-arrows"></i>';
45
+ echo '<i class="spftestimonial-cloneable-clone fa fa-clone"></i>';
46
+ echo '<i class="spftestimonial-cloneable-remove spftestimonial-confirm fa fa-times" data-confirm="'. esc_html__( 'Are you sure to delete this item?', 'testimonial-free' ) .'"></i>';
47
  echo '</div>';
48
 
49
+ echo '<h4 class="spftestimonial-cloneable-title">';
50
+ echo '<span class="spftestimonial-cloneable-text">';
51
+ echo ( $title_number ) ? '<span class="spftestimonial-cloneable-title-number"></span>' : '';
52
+ echo ( $title_prefix ) ? '<span class="spftestimonial-cloneable-title-prefix">'. $title_prefix .'</span>' : '';
53
+ echo ( $title_auto ) ? '<span class="spftestimonial-cloneable-value"><span class="spftestimonial-cloneable-placeholder"></span></span>' : '';
54
  echo '</span>';
55
  echo '</h4>';
56
 
57
+ echo '<div class="spftestimonial-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
+ SPFTESTIMONIAL::field( $field, $field_default, '_nonce', 'field/group', $field_parent );
64
 
65
  }
66
  echo '</div>';
67
 
68
  echo '</div>';
69
 
70
+ echo '<div class="spftestimonial-cloneable-wrapper spftestimonial-data-wrapper" data-title-number="'. $title_number .'" data-unique-id="'. $this->unique .'" data-field-id="['. $this->field['id'] .']" data-max="'. $args['max'] .'" data-min="'. $args['min'] .'">';
71
 
72
  if( ! empty( $this->value ) ) {
73
 
78
  $first_id = ( isset( $this->field['fields'][0]['id'] ) ) ? $this->field['fields'][0]['id'] : '';
79
  $first_value = ( isset( $value[$first_id] ) ) ? $value[$first_id] : '';
80
 
81
+ echo '<div class="spftestimonial-cloneable-item">';
82
 
83
+ echo '<div class="spftestimonial-cloneable-helper">';
84
+ echo '<i class="spftestimonial-cloneable-sort fa fa-arrows"></i>';
85
+ echo '<i class="spftestimonial-cloneable-clone fa fa-clone"></i>';
86
+ echo '<i class="spftestimonial-cloneable-remove spftestimonial-confirm fa fa-times" data-confirm="'. esc_html__( 'Are you sure to delete this item?', 'testimonial-free' ) .'"></i>';
87
  echo '</div>';
88
 
89
+ echo '<h4 class="spftestimonial-cloneable-title">';
90
+ echo '<span class="spftestimonial-cloneable-text">';
91
+ echo ( $title_number ) ? '<span class="spftestimonial-cloneable-title-number">'. ( $num+1 ) .'.</span>' : '';
92
+ echo ( $title_prefix ) ? '<span class="spftestimonial-cloneable-title-prefix">'. $title_prefix .'</span>' : '';
93
+ echo ( $title_auto ) ? '<span class="spftestimonial-cloneable-value">' . $first_value .'</span>' : '';
94
  echo '</span>';
95
  echo '</h4>';
96
 
97
+ echo '<div class="spftestimonial-cloneable-content">';
98
 
99
  foreach ( $this->field['fields'] as $field ) {
100
 
102
  $field_unique = ( ! empty( $this->unique ) ) ? $this->unique .'['. $this->field['id'] .']['. $num .']' : $this->field['id'] .'['. $num .']';
103
  $field_value = ( isset( $field['id'] ) && isset( $value[$field['id']] ) ) ? $value[$field['id']] : '';
104
 
105
+ SPFTESTIMONIAL::field( $field, $field_value, $field_unique, 'field/group', $field_parent );
106
 
107
  }
108
 
118
 
119
  echo '</div>';
120
 
121
+ echo '<div class="spftestimonial-cloneable-alert spftestimonial-cloneable-max">'. esc_html__( 'You can not add more than', 'testimonial-free' ) .' '. $args['max'] .'</div>';
122
+ echo '<div class="spftestimonial-cloneable-alert spftestimonial-cloneable-min">'. esc_html__( 'You can not remove less than', 'testimonial-free' ) .' '. $args['min'] .'</div>';
123
 
124
+ echo '<a href="#" class="button button-primary spftestimonial-cloneable-add">'. $args['button_title'] .'</a>';
125
 
126
  echo $this->field_after();
127
 
admin/views/framework/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( 'SPFTESTIMONIAL_Field_heading' ) ) {
11
+ class SPFTESTIMONIAL_Field_heading extends SPFTESTIMONIAL_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
admin/views/framework/fields/icon/default-icons.php DELETED
@@ -1,13 +0,0 @@
1
- <?php
2
- //
3
- //
4
- // Default Icons
5
- // We are using Font-awesome icons as default
6
- //
7
- //
8
- function csf_get_default_icons() {
9
- return array( array(
10
- 'title' => 'Font Awesome',
11
- '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' )
12
- ) );
13
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/views/framework/fields/icon/icon.php DELETED
@@ -1,41 +0,0 @@
1
- <?php if ( ! defined( 'ABSPATH' ) ) { die; } // Cannot access directly.
2
- /**
3
- *
4
- * Field: icon
5
- *
6
- * @since 1.0.0
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 );
15
- }
16
-
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'. $hidden .'"><i class="'. $this->value .'"></i></span>';
31
- echo '<a href="#" class="button button-primary csf-icon-add" data-nonce="'. $nonce .'">'. $args['button_title'] .'</a>';
32
- echo '<a href="#" class="button csf-warning-primary csf-icon-remove'. $hidden .'">'. $args['remove_title'] .'</a>';
33
- echo '<input type="text" name="'. $this->field_name() .'" value="'. $this->value .'" class="csf-icon-value"'. $this->field_attributes() .' />';
34
- echo '</div>';
35
-
36
- echo $this->field_after();
37
-
38
- }
39
-
40
- }
41
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/views/framework/fields/image_select/image_select.php CHANGED
@@ -1,76 +1,64 @@
1
- <?php if ( ! defined( 'ABSPATH' ) ) { die; } // Cannot access directly.
 
2
  /**
3
  *
4
  * Field: image_select
5
  *
6
  * @since 1.0.0
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 );
15
- }
16
-
17
- public function render() {
18
-
19
- $args = wp_parse_args( $this->field, array(
20
- 'multiple' => false,
21
- 'options' => array(),
22
- ) );
23
-
24
- $value = ( is_array( $this->value ) ) ? $this->value : array_filter( (array) $this->value );
25
-
26
- echo $this->field_before();
27
-
28
- if( ! empty( $args['options'] ) ) {
29
 
30
- echo '<div class="csf-siblings csf--image-group" data-multiple="'. $args['multiple'] .'">';
 
 
31
 
32
- $num = 1;
33
 
34
- foreach( $args['options'] as $key => $option ) {
 
 
 
 
 
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'. $active .'">';
42
- echo '<img src="'. $option .'" alt="img-'. $num++ .'" />';
43
- echo '<input type="'. $type .'" name="'. $this->field_name( $extra ) .'" value="'. $key .'"'. $this->field_attributes() . $checked .'/>';
44
- echo '</div>';
45
 
46
- }
47
 
48
- echo '</div>';
49
 
50
- }
51
 
52
- echo '<div class="clear"></div>';
53
 
54
- echo $this->field_after();
 
 
 
55
 
56
- }
 
 
 
 
 
 
57
 
58
- public function output() {
59
 
60
- $output = '';
61
- $bg_image = array();
62
- $important = ( ! empty( $this->field['output_important'] ) ) ? '!important' : '';
63
- $elements = ( is_array( $this->field['output'] ) ) ? join( ',', $this->field['output'] ) : $this->field['output'];
64
 
65
- if( ! empty( $elements ) && isset( $this->value ) && $this->value !== '' ) {
66
- $output = $elements .'{background-image:url('. $this->value .')'. $important .';}';
67
- }
68
 
69
- $this->parent->output_css .= $output;
70
 
71
- return $output;
72
 
73
- }
74
 
75
- }
76
  }
1
+ <?php if ( ! defined( 'ABSPATH' ) ) {
2
+ die; } // Cannot access directly.
3
  /**
4
  *
5
  * Field: image_select
6
  *
7
  * @since 1.0.0
8
  * @version 1.0.0
 
9
  */
10
+ if ( ! class_exists( 'SPFTESTIMONIAL_Field_image_select' ) ) {
11
+ class SPFTESTIMONIAL_Field_image_select extends SPFTESTIMONIAL_Fields {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
 
13
+ public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
+ parent::__construct( $field, $value, $unique, $where, $parent );
15
+ }
16
 
17
+ public function render() {
18
 
19
+ $args = wp_parse_args(
20
+ $this->field, array(
21
+ 'multiple' => false,
22
+ 'options' => array(),
23
+ )
24
+ );
25
 
26
+ $value = ( is_array( $this->value ) ) ? $this->value : array_filter( (array) $this->value );
 
 
 
27
 
28
+ echo $this->field_before();
 
 
 
29
 
30
+ if ( ! empty( $args['options'] ) ) {
31
 
32
+ echo '<div class="spftestimonial-siblings spftestimonial--image-group" data-multiple="' . $args['multiple'] . '">';
33
 
34
+ $num = 1;
35
 
36
+ foreach ( $args['options'] as $key => $option ) {
37
 
38
+ $type = ( $args['multiple'] ) ? 'checkbox' : 'radio';
39
+ $extra = ( $args['multiple'] ) ? '[]' : '';
40
+ $active = ( in_array( $key, $value ) ) ? ' spftestimonial--active' : '';
41
+ $checked = ( in_array( $key, $value ) ) ? ' checked' : '';
42
 
43
+ echo '<div class="spftestimonial--sibling spftestimonial--image' . $active . ' ' . $option['class'] . '">';
44
+ echo '<img src="' . $option['image'] . '" alt="img-' . $num++ . '" />';
45
+ if ( isset( $option['name'] ) ) {
46
+ echo '<p>' . $option['name'] . '</p>';
47
+ }
48
+ echo '<input type="' . $type . '" name="' . $this->field_name( $extra ) . '" value="' . $key . '"' . $this->field_attributes() . $checked . '/>';
49
+ echo '</div>';
50
 
51
+ }
52
 
53
+ echo '</div>';
 
 
 
54
 
55
+ }
 
 
56
 
57
+ echo '<div class="clear"></div>';
58
 
59
+ echo $this->field_after();
60
 
61
+ }
62
 
63
+ }
64
  }
admin/views/framework/fields/image_sizes/image_sizes.php ADDED
@@ -0,0 +1,114 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php if ( ! defined( 'ABSPATH' ) ) {
2
+ die; } // Cannot access pages directly.
3
+ /**
4
+ *
5
+ * Field: image_sizes
6
+ *
7
+ * @since 2.2.0
8
+ * @version 2.2.0
9
+ */
10
+ if ( ! class_exists( 'SPFTESTIMONIAL_Field_image_sizes' ) ) {
11
+ class SPFTESTIMONIAL_Field_image_sizes extends SPFTESTIMONIAL_Fields {
12
+
13
+ public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
+ parent::__construct( $field, $value, $unique, $where, $parent );
15
+ }
16
+
17
+ public function render() {
18
+
19
+ $args = wp_parse_args(
20
+ $this->field,
21
+ array(
22
+ 'chosen' => false,
23
+ 'multiple' => false,
24
+ 'placeholder' => '',
25
+ )
26
+ );
27
+
28
+ $this->value = ( is_array( $this->value ) ) ? $this->value : array_filter( (array) $this->value );
29
+
30
+ echo $this->field_before();
31
+
32
+ // Get the image sizes.
33
+ global $_wp_additional_image_sizes;
34
+ $sizes = array();
35
+
36
+ foreach ( get_intermediate_image_sizes() as $_size ) {
37
+ if ( in_array( $_size, array( 'thumbnail', 'medium', 'medium_large', 'large' ) ) ) {
38
+
39
+ $width = get_option( "{$_size}_size_w" );
40
+ $height = get_option( "{$_size}_size_h" );
41
+ $crop = (bool) get_option( "{$_size}_crop" ) ? 'hard' : 'soft';
42
+
43
+ $sizes[ $_size ] = ucfirst( "{$_size} - $crop:{$width}x{$height}" );
44
+
45
+ } elseif ( isset( $_wp_additional_image_sizes[ $_size ] ) ) {
46
+
47
+ $width = $_wp_additional_image_sizes[ $_size ]['width'];
48
+ $height = $_wp_additional_image_sizes[ $_size ]['height'];
49
+ $crop = $_wp_additional_image_sizes[ $_size ]['crop'] ? 'hard' : 'soft';
50
+
51
+ $sizes[ $_size ] = ucfirst( "{$_size} - $crop:{$width}X{$height}" );
52
+ }
53
+ }
54
+ $sizes = array_merge(
55
+ $sizes,
56
+ array(
57
+ 'full' => __( 'Original uploaded image', 'testimonial-free' ),
58
+ 'custom' => __( 'Set custom size', 'testimonial-free' ),
59
+ )
60
+ );
61
+
62
+ if ( ! empty( $sizes ) ) {
63
+ $multiple_name = ( $args['multiple'] ) ? '[]' : '';
64
+ $multiple_attr = ( $args['multiple'] ) ? ' multiple="multiple"' : '';
65
+ $chosen_rtl = ( is_rtl() ) ? ' chosen-rtl' : '';
66
+ $chosen_attr = ( $args['chosen'] ) ? ' class="spf-chosen' . $chosen_rtl . '"' : '';
67
+ $placeholder_attr = ( $args['chosen'] && $args['placeholder'] ) ? ' data-placeholder="' . $args['placeholder'] . '"' : '';
68
+
69
+ if ( ! empty( $sizes ) ) {
70
+
71
+ echo '<select name="' . $this->field_name( $multiple_name ) . '"' . $multiple_attr . $chosen_attr . $placeholder_attr . $this->field_attributes() . '>';
72
+
73
+ if ( $args['placeholder'] && empty( $args['multiple'] ) ) {
74
+ if ( ! empty( $args['chosen'] ) ) {
75
+ echo '<option value=""></option>';
76
+ } else {
77
+ echo '<option value="">' . $args['placeholder'] . '</option>';
78
+ }
79
+ }
80
+
81
+ foreach ( $sizes as $option_key => $option ) {
82
+
83
+ if ( is_array( $option ) && ! empty( $option ) ) {
84
+
85
+ echo '<optgroup label="' . $option_key . '">';
86
+
87
+ foreach ( $option as $sub_key => $sub_value ) {
88
+ $selected = ( in_array( $sub_key, $this->value ) ) ? ' selected' : '';
89
+ echo '<option value="' . $sub_key . '" ' . $selected . '>' . $sub_value . '</option>';
90
+ }
91
+
92
+ echo '</optgroup>';
93
+
94
+ } else {
95
+ $selected = ( in_array( $option_key, $this->value ) ) ? ' selected' : '';
96
+ echo '<option value="' . $option_key . '" ' . $selected . '>' . $option . '</option>';
97
+ }
98
+ }
99
+
100
+ echo '</select>';
101
+
102
+ } else {
103
+
104
+ echo ( ! empty( $this->field['empty_message'] ) ) ? $this->field['empty_message'] : esc_html__( 'No image sizes found.', 'testimonial-free' );
105
+
106
+ }
107
+ }
108
+
109
+ echo $this->field_after();
110
+
111
+ }
112
+
113
+ }
114
+ }
admin/views/framework/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="'. $this->field['default'][$color_prop_key] .'"' : '';
52
 
53
- echo '<div class="csf--left csf-field-color">';
54
- echo '<div class="csf--title">'. $color_prop_value .'</div>';
55
- echo '<input type="text" name="'. $this->field_name('['. $color_prop_key .']') .'" value="'. $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( 'SPFTESTIMONIAL_Field_link_color' ) ) {
11
+ class SPFTESTIMONIAL_Field_link_color extends SPFTESTIMONIAL_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', 'testimonial-free' ),
37
+ 'hover' => esc_html__( 'Hover', 'testimonial-free' ),
38
+ 'active' => esc_html__( 'Active', 'testimonial-free' ),
39
+ 'visited' => esc_html__( 'Visited', 'testimonial-free' ),
40
+ 'focus' => esc_html__( 'Focus', 'testimonial-free' )
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="'. $this->field['default'][$color_prop_key] .'"' : '';
52
 
53
+ echo '<div class="spftestimonial--left spftestimonial-field-color">';
54
+ echo '<div class="spftestimonial--title">'. $color_prop_value .'</div>';
55
+ echo '<input type="text" name="'. $this->field_name('['. $color_prop_key .']') .'" value="'. $value[$color_prop_key] .'" class="spftestimonial-color"'. $default_attr . $this->field_attributes() .'/>';
56
  echo '</div>';
57
 
58
  }
admin/views/framework/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
  ) );
@@ -50,30 +50,30 @@ if( ! class_exists( 'CSF_Field_map' ) ) {
50
  echo $this->field_before();
51
 
52
  if( empty( $args['address_field'] ) ) {
53
- echo '<div class="csf--map-search">';
54
  echo '<input type="text" name="'. $this->field_name('[address]') .'" value="'. $value['address'] .'"'. $this->field_attributes( $placeholder ) .' />';
55
  echo '</div>';
56
  } else {
57
- echo '<div class="csf--address-field" data-address-field="'. $args['address_field'] .'"></div>';
58
  }
59
 
60
- echo '<div class="csf--map-osm-wrap"><div class="csf--map-osm" data-map="'. $encoded .'"'. $style_attr .'></div></div>';
61
 
62
- echo '<div class="csf--map-inputs">';
63
 
64
- echo '<div class="csf--map-input">';
65
  echo '<label>'. $args['latitude_text'] .'</label>';
66
- echo '<input type="text" name="'. $this->field_name('[latitude]') .'" value="'. $value['latitude'] .'" class="csf--latitude" />';
67
  echo '</div>';
68
 
69
- echo '<div class="csf--map-input">';
70
  echo '<label>'. $args['longitude_text'] .'</label>';
71
- echo '<input type="text" name="'. $this->field_name('[longitude]') .'" value="'. $value['longitude'] .'" class="csf--longitude" />';
72
  echo '</div>';
73
 
74
  echo '</div>';
75
 
76
- echo '<input type="hidden" name="'. $this->field_name('[zoom]') .'" value="'. $value['zoom'] .'" class="csf--zoom" />';
77
 
78
  echo $this->field_after();
79
 
@@ -81,12 +81,12 @@ if( ! class_exists( 'CSF_Field_map' ) ) {
81
 
82
  public function enqueue() {
83
 
84
- if( ! wp_script_is( 'csf-leaflet' ) ) {
85
- wp_enqueue_script( 'csf-leaflet', $this->cdn_url . $this->version .'/dist/leaflet.js', array( 'csf' ), $this->version, true );
86
  }
87
 
88
- if( ! wp_style_is( 'csf-leaflet' ) ) {
89
- wp_enqueue_style( 'csf-leaflet', $this->cdn_url . $this->version .'/dist/leaflet.css', array(), $this->version );
90
  }
91
 
92
  if( ! wp_script_is( 'jquery-ui-autocomplete' ) ) {
7
  * @version 1.0.0
8
  *
9
  */
10
+ if( ! class_exists( 'SPFTESTIMONIAL_Field_map' ) ) {
11
+ class SPFTESTIMONIAL_Field_map extends SPFTESTIMONIAL_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...', 'testimonial-free' ),
24
+ 'latitude_text' => esc_html__( 'Latitude', 'testimonial-free' ),
25
+ 'longitude_text' => esc_html__( 'Longitude', 'testimonial-free' ),
26
  'address_field' => '',
27
  'height' => '',
28
  ) );
50
  echo $this->field_before();
51
 
52
  if( empty( $args['address_field'] ) ) {
53
+ echo '<div class="spftestimonial--map-search">';
54
  echo '<input type="text" name="'. $this->field_name('[address]') .'" value="'. $value['address'] .'"'. $this->field_attributes( $placeholder ) .' />';
55
  echo '</div>';
56
  } else {
57
+ echo '<div class="spftestimonial--address-field" data-address-field="'. $args['address_field'] .'"></div>';
58
  }
59
 
60
+ echo '<div class="spftestimonial--map-osm-wrap"><div class="spftestimonial--map-osm" data-map="'. $encoded .'"'. $style_attr .'></div></div>';
61
 
62
+ echo '<div class="spftestimonial--map-inputs">';
63
 
64
+ echo '<div class="spftestimonial--map-input">';
65
  echo '<label>'. $args['latitude_text'] .'</label>';
66
+ echo '<input type="text" name="'. $this->field_name('[latitude]') .'" value="'. $value['latitude'] .'" class="spftestimonial--latitude" />';
67
  echo '</div>';
68
 
69
+ echo '<div class="spftestimonial--map-input">';
70
  echo '<label>'. $args['longitude_text'] .'</label>';
71
+ echo '<input type="text" name="'. $this->field_name('[longitude]') .'" value="'. $value['longitude'] .'" class="spftestimonial--longitude" />';
72
  echo '</div>';
73
 
74
  echo '</div>';
75
 
76
+ echo '<input type="hidden" name="'. $this->field_name('[zoom]') .'" value="'. $value['zoom'] .'" class="spftestimonial--zoom" />';
77
 
78
  echo $this->field_after();
79
 
81
 
82
  public function enqueue() {
83
 
84
+ if( ! wp_script_is( 'spftestimonial-leaflet' ) ) {
85
+ wp_enqueue_script( 'spftestimonial-leaflet', $this->cdn_url . $this->version .'/dist/leaflet.js', array( 'spftestimonial' ), $this->version, true );
86
  }
87
 
88
+ if( ! wp_style_is( 'spftestimonial-leaflet' ) ) {
89
+ wp_enqueue_style( 'spftestimonial-leaflet', $this->cdn_url . $this->version .'/dist/leaflet.css', array(), $this->version );
90
  }
91
 
92
  if( ! wp_script_is( 'jquery-ui-autocomplete' ) ) {
admin/views/framework/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'. $hidden_auto .'">';
63
- echo '<div class="csf-image-preview"><a href="#" class="csf--remove fa fa-times"></a><img src="'. $preview_src .'" class="csf--src" /></div>';
64
  echo '</div>';
65
  }
66
 
67
- echo '<div class="csf--placeholder">';
68
- echo '<input type="text" name="'. $this->field_name('[url]') .'" value="'. $this->value['url'] .'" class="csf--url'. $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'] ) .'">'. $args['button_title'] .'</a>';
70
- echo ( empty( $args['preview'] ) ) ? '<a href="#" class="button button-secondary csf-warning-primary csf--remove'. $hidden_auto .'">'. $args['remove_title'] .'</a>' : '';
71
  echo '</div>';
72
 
73
- echo '<input type="hidden" name="'. $this->field_name('[id]') .'" value="'. $this->value['id'] .'" class="csf--id"/>';
74
- echo '<input type="hidden" name="'. $this->field_name('[width]') .'" value="'. $this->value['width'] .'" class="csf--width"/>';
75
- echo '<input type="hidden" name="'. $this->field_name('[height]') .'" value="'. $this->value['height'] .'" class="csf--height"/>';
76
- echo '<input type="hidden" name="'. $this->field_name('[thumbnail]') .'" value="'. $this->value['thumbnail'] .'" class="csf--thumbnail"/>';
77
- echo '<input type="hidden" name="'. $this->field_name('[alt]') .'" value="'. $this->value['alt'] .'" class="csf--alt"/>';
78
- echo '<input type="hidden" name="'. $this->field_name('[title]') .'" value="'. $this->value['title'] .'" class="csf--title"/>';
79
- echo '<input type="hidden" name="'. $this->field_name('[description]') .'" value="'. $this->value['description'] .'" class="csf--description"/>';
80
 
81
  echo $this->field_after();
82
 
7
  * @version 1.0.0
8
  *
9
  */
10
+ if( ! class_exists( 'SPFTESTIMONIAL_Field_media' ) ) {
11
+ class SPFTESTIMONIAL_Field_media extends SPFTESTIMONIAL_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', 'testimonial-free' ),
24
+ 'remove_title' => esc_html__( 'Remove', 'testimonial-free' ),
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', 'testimonial-free' ) .'"' : '';
58
 
59
  echo $this->field_before();
60
 
61
  if( ! empty( $args['preview'] ) ) {
62
+ echo '<div class="spftestimonial--preview'. $hidden_auto .'">';
63
+ echo '<div class="spftestimonial-image-preview"><a href="#" class="spftestimonial--remove fa fa-times"></a><img src="'. $preview_src .'" class="spftestimonial--src" /></div>';
64
  echo '</div>';
65
  }
66
 
67
+ echo '<div class="spftestimonial--placeholder">';
68
+ echo '<input type="text" name="'. $this->field_name('[url]') .'" value="'. $this->value['url'] .'" class="spftestimonial--url'. $hidden_url .'" readonly="readonly"'. $this->field_attributes() . $placeholder .' />';
69
+ echo '<a href="#" class="button button-primary spftestimonial--button" data-library="'. esc_attr( $library ) .'" data-preview-size="'. esc_attr( $args['preview_size'] ) .'">'. $args['button_title'] .'</a>';
70
+ echo ( empty( $args['preview'] ) ) ? '<a href="#" class="button button-secondary spftestimonial-warning-primary spftestimonial--remove'. $hidden_auto .'">'. $args['remove_title'] .'</a>' : '';
71
  echo '</div>';
72
 
73
+ echo '<input type="hidden" name="'. $this->field_name('[id]') .'" value="'. $this->value['id'] .'" class="spftestimonial--id"/>';
74
+ echo '<input type="hidden" name="'. $this->field_name('[width]') .'" value="'. $this->value['width'] .'" class="spftestimonial--width"/>';
75
+ echo '<input type="hidden" name="'. $this->field_name('[height]') .'" value="'. $this->value['height'] .'" class="spftestimonial--height"/>';
76
+ echo '<input type="hidden" name="'. $this->field_name('[thumbnail]') .'" value="'. $this->value['thumbnail'] .'" class="spftestimonial--thumbnail"/>';
77
+ echo '<input type="hidden" name="'. $this->field_name('[alt]') .'" value="'. $this->value['alt'] .'" class="spftestimonial--alt"/>';
78
+ echo '<input type="hidden" name="'. $this->field_name('[title]') .'" value="'. $this->value['title'] .'" class="spftestimonial--title"/>';
79
+ echo '<input type="hidden" name="'. $this->field_name('[description]') .'" value="'. $this->value['description'] .'" class="spftestimonial--description"/>';
80
 
81
  echo $this->field_after();
82
 
admin/views/framework/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-'. $style .'">'. $this->field['content'] .'</div>' : '';
22
 
23
  }
24
 
7
  * @version 1.0.0
8
  *
9
  */
10
+ if( ! class_exists( 'SPFTESTIMONIAL_Field_notice' ) ) {
11
+ class SPFTESTIMONIAL_Field_notice extends SPFTESTIMONIAL_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="spftestimonial-notice spftestimonial-notice-'. $style .'">'. $this->field['content'] .'</div>' : '';
22
 
23
  }
24
 
admin/views/framework/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="'. $this->field_name() .'" value="'. $this->value .'"'. $this->field_attributes( array( 'class' => 'csf-input-number' ) ) .'/>';
26
- echo ( ! empty( $args['unit'] ) ) ? '<span class="csf--unit">'. $args['unit'] .'</span>' : '';
27
  echo '</div>';
28
  echo '<div class="clear"></div>';
29
  echo $this->field_after();
7
  * @version 1.0.0
8
  *
9
  */
10
+ if( ! class_exists( 'SPFTESTIMONIAL_Field_number' ) ) {
11
+ class SPFTESTIMONIAL_Field_number extends SPFTESTIMONIAL_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="spftestimonial--wrap">';
25
+ echo '<input type="number" name="'. $this->field_name() .'" value="'. $this->value .'"'. $this->field_attributes( array( 'class' => 'spftestimonial-input-number' ) ) .'/>';
26
+ echo ( ! empty( $args['unit'] ) ) ? '<span class="spftestimonial--unit">'. $args['unit'] .'</span>' : '';
27
  echo '</div>';
28
  echo '<div class="clear"></div>';
29
  echo $this->field_after();
admin/views/framework/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'. $active .'">';
33
 
34
  if( ! empty( $colors ) ) {
35
 
7
  * @version 1.0.0
8
  *
9
  */
10
+ if( ! class_exists( 'SPFTESTIMONIAL_Field_palette' ) ) {
11
+ class SPFTESTIMONIAL_Field_palette extends SPFTESTIMONIAL_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="spftestimonial-siblings spftestimonial--palettes">';
26
 
27
  foreach ( $palette as $key => $colors ) {
28
 
29
+ $active = ( $key === $this->value ) ? ' spftestimonial--active' : '';
30
  $checked = ( $key === $this->value ) ? ' checked' : '';
31
 
32
+ echo '<div class="spftestimonial--sibling spftestimonial--palette'. $active .'">';
33
 
34
  if( ! empty( $colors ) ) {
35
 
admin/views/framework/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
 
@@ -59,7 +59,7 @@ if( ! class_exists( 'CSF_Field_radio' ) ) {
59
 
60
  } else {
61
 
62
- echo ( ! empty( $this->field['empty_message'] ) ) ? $this->field['empty_message'] : esc_html__( 'No data provided for this option type.', 'csf' );
63
 
64
  }
65
 
7
  * @version 1.0.0
8
  *
9
  */
10
+ if( ! class_exists( 'SPFTESTIMONIAL_Field_radio' ) ) {
11
+ class SPFTESTIMONIAL_Field_radio extends SPFTESTIMONIAL_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="spftestimonial--inline-list"' : '';
25
 
26
  echo $this->field_before();
27
 
59
 
60
  } else {
61
 
62
+ echo ( ! empty( $this->field['empty_message'] ) ) ? $this->field['empty_message'] : esc_html__( 'No data provided for this option type.', 'testimonial-free' );
63
 
64
  }
65
 
admin/views/framework/fields/rating/rating.php CHANGED
@@ -7,8 +7,8 @@
7
  * @since 1.0.0
8
  * @version 1.0.0
9
  */
10
- if ( ! class_exists( 'CSF_Field_rating' ) ) {
11
- class CSF_Field_rating extends CSF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
7
  * @since 1.0.0
8
  * @version 1.0.0
9
  */
10
+ if ( ! class_exists( 'SPFTESTIMONIAL_Field_rating' ) ) {
11
+ class SPFTESTIMONIAL_Field_rating extends SPFTESTIMONIAL_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
admin/views/framework/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 fa fa-arrows"></i>';
50
- echo '<i class="csf-repeater-clone fa fa-clone"></i>';
51
- echo '<i class="csf-repeater-remove csf-confirm fa 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="'. $this->unique .'" data-field-id="['. $this->field['id'] .']" data-max="'. $args['max'] .'" data-min="'. $args['min'] .'">';
57
 
58
  if( ! empty( $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 fa fa-arrows"></i>';
81
- echo '<i class="csf-repeater-clone fa fa-clone"></i>';
82
- echo '<i class="csf-repeater-remove csf-confirm fa 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' ) .' '. $args['max'] .'</div>';
97
- echo '<div class="csf-repeater-alert csf-repeater-min">'. esc_html__( 'You can not remove less than', 'csf' ) .' '. $args['min'] .'</div>';
98
 
99
- echo '<a href="#" class="button button-primary csf-repeater-add">'. $args['button_title'] .'</a>';
100
 
101
  echo $this->field_after();
102
 
7
  * @version 1.0.0
8
  *
9
  */
10
+ if( ! class_exists( 'SPFTESTIMONIAL_Field_repeater' ) ) {
11
+ class SPFTESTIMONIAL_Field_repeater extends SPFTESTIMONIAL_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="spftestimonial-notice spftestimonial-notice-danger">'. esc_html__( 'Error: Nested field id can not be same with another nested field id.', 'testimonial-free' ) .'</div>';
31
 
32
  } else {
33
 
34
  echo $this->field_before();
35
 
36
+ echo '<div class="spftestimonial-repeater-item spftestimonial-repeater-hidden">';
37
+ echo '<div class="spftestimonial-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
+ SPFTESTIMONIAL::field( $field, $field_default, '_nonce', 'field/repeater', $field_parent );
44
 
45
  }
46
  echo '</div>';
47
+ echo '<div class="spftestimonial-repeater-helper">';
48
+ echo '<div class="spftestimonial-repeater-helper-inner">';
49
+ echo '<i class="spftestimonial-repeater-sort fa fa-arrows"></i>';
50
+ echo '<i class="spftestimonial-repeater-clone fa fa-clone"></i>';
51
+ echo '<i class="spftestimonial-repeater-remove spftestimonial-confirm fa fa-times" data-confirm="'. esc_html__( 'Are you sure to delete this item?', 'testimonial-free' ) .'"></i>';
52
  echo '</div>';
53
  echo '</div>';
54
  echo '</div>';
55
 
56
+ echo '<div class="spftestimonial-repeater-wrapper spftestimonial-data-wrapper" data-unique-id="'. $this->unique .'" data-field-id="['. $this->field['id'] .']" data-max="'. $args['max'] .'" data-min="'. $args['min'] .'">';
57
 
58
  if( ! empty( $this->value ) ) {
59
 
61
 
62
  foreach ( $this->value as $key => $value ) {
63
 
64
+ echo '<div class="spftestimonial-repeater-item">';
65
 
66
+ echo '<div class="spftestimonial-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
+ SPFTESTIMONIAL::field( $field, $field_value, $field_unique, 'field/repeater', $field_parent );
74
 
75
  }
76
  echo '</div>';
77
 
78
+ echo '<div class="spftestimonial-repeater-helper">';
79
+ echo '<div class="spftestimonial-repeater-helper-inner">';
80
+ echo '<i class="spftestimonial-repeater-sort fa fa-arrows"></i>';
81
+ echo '<i class="spftestimonial-repeater-clone fa fa-clone"></i>';
82
+ echo '<i class="spftestimonial-repeater-remove spftestimonial-confirm fa fa-times" data-confirm="'. esc_html__( 'Are you sure to delete this item?', 'testimonial-free' ) .'"></i>';
83
  echo '</div>';
84
  echo '</div>';
85
 
93
 
94
  echo '</div>';
95
 
96
+ echo '<div class="spftestimonial-repeater-alert spftestimonial-repeater-max">'. esc_html__( 'You can not add more than', 'testimonial-free' ) .' '. $args['max'] .'</div>';
97
+ echo '<div class="spftestimonial-repeater-alert spftestimonial-repeater-min">'. esc_html__( 'You can not remove less than', 'testimonial-free' ) .' '. $args['min'] .'</div>';
98
 
99
+ echo '<a href="#" class="button button-primary spftestimonial-repeater-add">'. $args['button_title'] .'</a>';
100
 
101
  echo $this->field_after();
102
 
admin/views/framework/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="'. $args['placeholder'] .'"' : '';
49
- $field_class = ( $args['chosen'] ) ? ' class="csf-chosen'. $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-hidden-select csf-hidden"'. $multiple_attr . $field_attr .'>';
68
  foreach( $this->value as $option_key ) {
69
  echo '<option value="'. $option_key .'" selected>'. $option_key .'</option>';
70
  }
@@ -109,7 +109,7 @@ if( ! class_exists( 'CSF_Field_select' ) ) {
109
 
110
  } else {
111
 
112
- echo ( ! empty( $this->field['empty_message'] ) ) ? $this->field['empty_message'] : esc_html__( 'No data provided for this option type.', 'csf' );
113
 
114
  }
115
 
7
  * @version 1.0.0
8
  *
9
  */
10
+ if( ! class_exists( 'SPFTESTIMONIAL_Field_select' ) ) {
11
+ class SPFTESTIMONIAL_Field_select extends SPFTESTIMONIAL_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( 'spftestimonial_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'] ) ? ' spftestimonial-chosen-sortable' : '';
47
+ $chosen_ajax = ( $args['chosen'] && $args['ajax'] ) ? ' spftestimonial-chosen-ajax' : '';
48
  $placeholder_attr = ( $args['chosen'] && $args['placeholder'] ) ? ' data-placeholder="'. $args['placeholder'] .'"' : '';
49
+ $field_class = ( $args['chosen'] ) ? ' class="spftestimonial-chosen'. $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="spftestimonial-hidden-select spftestimonial-hidden"'. $multiple_attr . $field_attr .'>';
68
  foreach( $this->value as $option_key ) {
69
  echo '<option value="'. $option_key .'" selected>'. $option_key .'</option>';
70
  }
109
 
110
  } else {
111
 
112
+ echo ( ! empty( $this->field['empty_message'] ) ) ? $this->field['empty_message'] : esc_html__( 'No data provided for this option type.', 'testimonial-free' );
113
 
114
  }
115
 
admin/views/framework/fields/select_f/select_f.php CHANGED
@@ -7,8 +7,8 @@
7
  * @since 1.0.0
8
  * @version 1.0.0
9
  */
10
- if ( ! class_exists( 'CSF_Field_select_f' ) ) {
11
- class CSF_Field_select_f extends CSF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
7
  * @since 1.0.0
8
  * @version 1.0.0
9
  */
10
+ if ( ! class_exists( 'SPFTESTIMONIAL_Field_select_f' ) ) {
11
+ class SPFTESTIMONIAL_Field_select_f extends SPFTESTIMONIAL_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
admin/views/framework/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="'. $this->field_name() .'" value="'. $this->value .'"'. $this->field_attributes( array( 'class' => 'csf-input-number'. $is_unit ) ) .' data-max="'. $args['max'] .'" data-min="'. $args['min'] .'" data-step="'. $args['step'] .'" />';
34
- echo ( ! empty( $args['unit'] ) ) ? '<span class="csf--unit">'. $args['unit'] .'</span>' : '';
35
  echo '</div>';
36
  echo '</div>';
37
 
7
  * @version 1.0.0
8
  *
9
  */
10
+ if( ! class_exists( 'SPFTESTIMONIAL_Field_slider' ) ) {
11
+ class SPFTESTIMONIAL_Field_slider extends SPFTESTIMONIAL_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'] ) ) ? ' spftestimonial--is-unit' : '';
27
 
28
  echo $this->field_before();
29
 
30
+ echo '<div class="spftestimonial--wrap">';
31
+ echo '<div class="spftestimonial-slider-ui"></div>';
32
+ echo '<div class="spftestimonial--input">';
33
+ echo '<input type="number" name="'. $this->field_name() .'" value="'. $this->value .'"'. $this->field_attributes( array( 'class' => 'spftestimonial-input-number'. $is_unit ) ) .' data-max="'. $args['max'] .'" data-min="'. $args['min'] .'" data-step="'. $args['step'] .'" />';
34
+ echo ( ! empty( $args['unit'] ) ) ? '<span class="spftestimonial--unit">'. $args['unit'] .'</span>' : '';
35
  echo '</div>';
36
  echo '</div>';
37
 
admin/views/framework/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();
@@ -45,19 +45,19 @@ if( ! class_exists( 'CSF_Field_sortable' ) ) {
45
 
46
  foreach( $pre_sortby as $key => $field ) {
47
 
48
- echo '<div class="csf--sortable-item">';
49
 
50
- echo '<div class="csf--sortable-content">';
51
 
52
  $field_default = ( isset( $this->field['default'][$key] ) ) ? $this->field['default'][$key] : '';
53
  $field_value = ( isset( $this->value[$key] ) ) ? $this->value[$key] : $field_default;
54
  $unique_id = ( ! empty( $this->unique ) ) ? $this->unique .'['. $this->field['id'] .']' : $this->field['id'];
55
 
56
- CSF::field( $field, $field_value, $unique_id, 'field/sortable' );
57
 
58
  echo '</div>';
59
 
60
- echo '<div class="csf--sortable-helper"><i class="fa fa-arrows"></i></div>';
61
 
62
  echo '</div>';
63
 
7
  * @version 1.0.0
8
  *
9
  */
10
+ if( ! class_exists( 'SPFTESTIMONIAL_Field_sortable' ) ) {
11
+ class SPFTESTIMONIAL_Field_sortable extends SPFTESTIMONIAL_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="spftestimonial--sortable">';
22
 
23
  $pre_sortby = array();
24
  $pre_fields = array();
45
 
46
  foreach( $pre_sortby as $key => $field ) {
47
 
48
+ echo '<div class="spftestimonial--sortable-item">';
49
 
50
+ echo '<div class="spftestimonial--sortable-content">';
51
 
52
  $field_default = ( isset( $this->field['default'][$key] ) ) ? $this->field['default'][$key] : '';
53
  $field_value = ( isset( $this->value[$key] ) ) ? $this->value[$key] : $field_default;
54
  $unique_id = ( ! empty( $this->unique ) ) ? $this->unique .'['. $this->field['id'] .']' : $this->field['id'];
55
 
56
+ SPFTESTIMONIAL::field( $field, $field_value, $unique_id, 'field/sortable' );
57
 
58
  echo '</div>';
59
 
60
+ echo '<div class="spftestimonial--sortable-helper"><i class="fa fa-arrows"></i></div>';
61
 
62
  echo '</div>';
63
 
admin/views/framework/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">'. $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="'. $this->field_name( '[enabled]['. $key .']' ) .'" value="'. $value .'"/><label>'. $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">'. $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="'. $this->field_name( '[disabled]['. $key .']' ) .'" value="'. $value .'"/><label>'. $value .'</label></li>';
7
  * @version 1.0.0
8
  *
9
  */
10
+ if( ! class_exists( 'SPFTESTIMONIAL_Field_sorter' ) ) {
11
+ class SPFTESTIMONIAL_Field_sorter extends SPFTESTIMONIAL_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', 'testimonial-free' ),
22
+ 'disabled_title' => esc_html__( 'Disabled', 'testimonial-free' ),
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="spftestimonial-modules">' : '';
32
 
33
+ echo ( ! empty( $args['enabled_title'] ) ) ? '<div class="spftestimonial-sorter-title">'. $args['enabled_title'] .'</div>' : '';
34
+ echo '<ul class="spftestimonial-enabled">';
35
  if( ! empty( $enabled_options ) ) {
36
  foreach( $enabled_options as $key => $value ) {
37
  echo '<li><input type="hidden" name="'. $this->field_name( '[enabled]['. $key .']' ) .'" value="'. $value .'"/><label>'. $value .'</label></li>';
44
 
45
  echo '</div>';
46
 
47
+ echo '<div class="spftestimonial-modules">';
48
+ echo ( ! empty( $args['disabled_title'] ) ) ? '<div class="spftestimonial-sorter-title">'. $args['disabled_title'] .'</div>' : '';
49
+ echo '<ul class="spftestimonial-disabled">';
50
  if( ! empty( $disabled_options ) ) {
51
  foreach( $disabled_options as $key => $value ) {
52
  echo '<li><input type="hidden" name="'. $this->field_name( '[disabled]['. $key .']' ) .'" value="'. $value .'"/><label>'. $value .'</label></li>';
admin/views/framework/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="fa fa-long-arrow-down"></i>',
23
  'left_icon' => '<i class="fa fa-long-arrow-left"></i>',
24
  'all_icon' => '<i class="fa fa-arrows"></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="'. $args['all_placeholder'] .'"' : '';
60
 
61
- echo '<div class="csf--input">';
62
- echo ( ! empty( $args['all_icon'] ) ) ? '<span class="csf--label csf--icon">'. $args['all_icon'] .'</span>' : '';
63
- echo '<input type="number" name="'. $this->field_name('[all]') .'" value="'. $value['all'] .'"'. $placeholder .' class="csf-input-number'. $is_unit .'" />';
64
- echo ( $unit ) ? '<span class="csf--label csf--unit">'. $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="'. $args[$property.'_placeholder'] .'"' : '';
82
 
83
- echo '<div class="csf--input">';
84
- echo ( ! empty( $args[$property.'_icon'] ) ) ? '<span class="csf--label csf--icon">'. $args[$property.'_icon'] .'</span>' : '';
85
- echo '<input type="number" name="'. $this->field_name('['. $property .']') .'" value="'. $value[$property] .'"'. $placeholder .' class="csf-input-number'. $is_unit .'" />';
86
- echo ( $unit ) ? '<span class="csf--label csf--unit">'. $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="'. $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( 'SPFTESTIMONIAL_Field_spacing' ) ) {
11
+ class SPFTESTIMONIAL_Field_spacing extends SPFTESTIMONIAL_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
22
  'bottom_icon' => '<i class="fa fa-long-arrow-down"></i>',
23
  'left_icon' => '<i class="fa fa-long-arrow-left"></i>',
24
  'all_icon' => '<i class="fa fa-arrows"></i>',
25
+ 'top_placeholder' => esc_html__( 'top', 'testimonial-free' ),
26
+ 'right_placeholder' => esc_html__( 'right', 'testimonial-free' ),
27
+ 'bottom_placeholder' => esc_html__( 'bottom', 'testimonial-free' ),
28
+ 'left_placeholder' => esc_html__( 'left', 'testimonial-free' ),
29
+ 'all_placeholder' => esc_html__( 'all', 'testimonial-free' ),
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 ) ) ? ' spftestimonial--is-unit' : '';
52
 
53
  echo $this->field_before();
54
 
55
+ echo '<div class="spftestimonial--inputs">';
56
 
57
  if( ! empty( $args['all'] ) ) {
58
 
59
  $placeholder = ( ! empty( $args['all_placeholder'] ) ) ? ' placeholder="'. $args['all_placeholder'] .'"' : '';
60
 
61
+ echo '<div class="spftestimonial--input">';
62
+ echo ( ! empty( $args['all_icon'] ) ) ? '<span class="spftestimonial--label spftestimonial--icon">'. $args['all_icon'] .'</span>' : '';
63
+ echo '<input type="number" name="'. $this->field_name('[all]') .'" value="'. $value['all'] .'"'. $placeholder .' class="spftestimonial-input-number'. $is_unit .'" />';
64
+ echo ( $unit ) ? '<span class="spftestimonial--label spftestimonial--unit">'. $args['units'][0] .'</span>' : '';
65
  echo '</div>';
66
 
67
  } else {
80
 
81
  $placeholder = ( ! empty( $args[$property.'_placeholder'] ) ) ? ' placeholder="'. $args[$property.'_placeholder'] .'"' : '';
82
 
83
+ echo '<div class="spftestimonial--input">';
84
+ echo ( ! empty( $args[$property.'_icon'] ) ) ? '<span class="spftestimonial--label spftestimonial--icon">'. $args[$property.'_icon'] .'</span>' : '';
85
+ echo '<input type="number" name="'. $this->field_name('['. $property .']') .'" value="'. $value[$property] .'"'. $placeholder .' class="spftestimonial-input-number'. $is_unit .'" />';
86
+ echo ( $unit ) ? '<span class="spftestimonial--label spftestimonial--unit">'. $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="spftestimonial--input">';
95
  echo '<select name="'. $this->field_name('[unit]') .'">';
96
  foreach( $args['units'] as $unit ) {
97
  $selected = ( $value['unit'] === $unit ) ? ' selected' : '';
admin/views/framework/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 );
@@ -24,7 +24,7 @@ if( ! class_exists( 'CSF_Field_spinner' ) ) {
24
  ) );
25
 
26
  echo $this->field_before();
27
- echo '<div class="csf--spin"><input type="number" name="'. $this->field_name() .'" value="'. $this->value .'"'. $this->field_attributes( array( 'class' => 'csf-input-number' ) ) .' data-max="'. $args['max'] .'" data-min="'. $args['min'] .'" data-step="'. $args['step'] .'" data-unit="'. $args['unit'] .'"/></div>';
28
  echo $this->field_after();
29
 
30
  }
7
  * @version 1.0.0
8
  *
9
  */
10
+ if( ! class_exists( 'SPFTESTIMONIAL_Field_spinner' ) ) {
11
+ class SPFTESTIMONIAL_Field_spinner extends SPFTESTIMONIAL_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
24
  ) );
25
 
26
  echo $this->field_before();
27
+ echo '<div class="spftestimonial--spin"><input type="number" name="'. $this->field_name() .'" value="'. $this->value .'"'. $this->field_attributes( array( 'class' => 'spftestimonial-input-number' ) ) .' data-max="'. $args['max'] .'" data-min="'. $args['min'] .'" data-step="'. $args['step'] .'" data-unit="'. $args['unit'] .'"/></div>';
28
  echo $this->field_after();
29
 
30
  }
admin/views/framework/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( 'SPFTESTIMONIAL_Field_subheading' ) ) {
11
+ class SPFTESTIMONIAL_Field_subheading extends SPFTESTIMONIAL_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
admin/views/framework/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-'. $style .'">'. $this->field['content'] .'</div>';
22
 
23
  }
24
 
7
  * @version 1.0.0
8
  *
9
  */
10
+ if( ! class_exists( 'SPFTESTIMONIAL_Field_submessage' ) ) {
11
+ class SPFTESTIMONIAL_Field_submessage extends SPFTESTIMONIAL_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="spftestimonial-submessage spftestimonial-submessage-'. $style .'">'. $this->field['content'] .'</div>';
22
 
23
  }
24
 
admin/views/framework/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: '. $this->field['text_width'] .'px;"': '';
23
 
24
  echo $this->field_before();
25
 
26
- echo '<div class="csf--switcher'. $active .'"'. $text_width .'>';
27
- echo '<span class="csf--on">'. $text_on .'</span>';
28
- echo '<span class="csf--off">'. $text_off .'</span>';
29
- echo '<span class="csf--ball"></span>';
30
  echo '<input type="text" name="'. $this->field_name() .'" value="'. $this->value .'"'. $this->field_attributes() .' />';
31
  echo '</div>';
32
 
33
- echo ( ! empty( $this->field['label'] ) ) ? '<span class="csf--label">'. $this->field['label'] . '</span>' : '';
34
 
35
  echo '<div class="clear"></div>';
36
 
7
  * @version 1.0.0
8
  *
9
  */
10
+ if( ! class_exists( 'SPFTESTIMONIAL_Field_switcher' ) ) {
11
+ class SPFTESTIMONIAL_Field_switcher extends SPFTESTIMONIAL_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 ) ) ? ' spftestimonial--active' : '';
20
+ $text_on = ( ! empty( $this->field['text_on'] ) ) ? $this->field['text_on'] : esc_html__( 'On', 'testimonial-free' );
21
+ $text_off = ( ! empty( $this->field['text_off'] ) ) ? $this->field['text_off'] : esc_html__( 'Off', 'testimonial-free' );
22
  $text_width = ( ! empty( $this->field['text_width'] ) ) ? ' style="width: '. $this->field['text_width'] .'px;"': '';
23
 
24
  echo $this->field_before();
25
 
26
+ echo '<div class="spftestimonial--switcher'. $active .'"'. $text_width .'>';
27
+ echo '<span class="spftestimonial--on">'. $text_on .'</span>';
28
+ echo '<span class="spftestimonial--off">'. $text_off .'</span>';
29
+ echo '<span class="spftestimonial--ball"></span>';
30
  echo '<input type="text" name="'. $this->field_name() .'" value="'. $this->value .'"'. $this->field_attributes() .' />';
31
  echo '</div>';
32
 
33
+ echo ( ! empty( $this->field['label'] ) ) ? '<span class="spftestimonial--label">'. $this->field['label'] . '</span>' : '';
34
 
35
  echo '<div class="clear"></div>';
36
 
admin/views/framework/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 '. $tab['icon'] .'"></i>' : '';
27
- $tabbed_active = ( empty( $key ) ) ? ' class="csf-tabbed-active"' : '';
28
 
29
  echo '<a href="#"'. $tabbed_active .'>'. $tabbed_icon . $tab['title'] .'</a>';
30
 
31
  }
32
  echo '</div>';
33
 
34
- echo '<div class="csf-tabbed-sections">';
35
  foreach ( $this->field['tabs'] as $key => $tab ) {
36
 
37
  $tabbed_hidden = ( ! empty( $key ) ) ? ' hidden' : '';
38
 
39
- echo '<div class="csf-tabbed-section'. $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( 'SPFTESTIMONIAL_Field_tabbed' ) ) {
11
+ class SPFTESTIMONIAL_Field_tabbed extends SPFTESTIMONIAL_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="spftestimonial-tabbed-nav">';
24
  foreach ( $this->field['tabs'] as $key => $tab ) {
25
 
26
+ $tabbed_icon = ( ! empty( $tab['icon'] ) ) ? '<i class="spftestimonial--icon '. $tab['icon'] .'"></i>' : '';
27
+ $tabbed_active = ( empty( $key ) ) ? ' class="spftestimonial-tabbed-active"' : '';
28
 
29
  echo '<a href="#"'. $tabbed_active .'>'. $tabbed_icon . $tab['title'] .'</a>';
30
 
31
  }
32
  echo '</div>';
33
 
34
+ echo '<div class="spftestimonial-tabbed-sections">';
35
  foreach ( $this->field['tabs'] as $key => $tab ) {
36
 
37
  $tabbed_hidden = ( ! empty( $key ) ) ? ' hidden' : '';
38
 
39
+ echo '<div class="spftestimonial-tabbed-section'. $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
+ SPFTESTIMONIAL::field( $field, $field_value, $unique_id, 'field/tabbed' );
51
 
52
  }
53
 
admin/views/framework/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( 'SPFTESTIMONIAL_Field_text' ) ) {
11
+ class SPFTESTIMONIAL_Field_text extends SPFTESTIMONIAL_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
admin/views/framework/fields/text_f/text_f.php CHANGED
@@ -7,8 +7,8 @@
7
  * @since 1.0.0
8
  * @version 1.0.0
9
  */
10
- if ( ! class_exists( 'CSF_Field_text_f' ) ) {
11
- class CSF_Field_text_f extends CSF_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
7
  * @since 1.0.0
8
  * @version 1.0.0
9
  */
10
+ if ( ! class_exists( 'SPFTESTIMONIAL_Field_text_f' ) ) {
11
+ class SPFTESTIMONIAL_Field_text_f extends SPFTESTIMONIAL_Fields {
12
 
13
  public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
  parent::__construct( $field, $value, $unique, $where, $parent );
admin/views/framework/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 );
@@ -17,33 +17,9 @@ if( ! class_exists( 'CSF_Field_textarea' ) ) {
17
  public function render() {
18
 
19
  echo $this->field_before();
20
- echo $this->shortcoder();
21
  echo '<textarea name="'. $this->field_name() .'"'. $this->field_attributes() .'>'. $this->value .'</textarea>';
22
  echo $this->field_after();
23
 
24
  }
25
-
26
- public function shortcoder() {
27
-
28
- if( ! empty( $this->field['shortcoder'] ) ) {
29
-
30
- $shortcoders = ( is_array( $this->field['shortcoder'] ) ) ? $this->field['shortcoder'] : array_filter( (array) $this->field['shortcoder'] );
31
-
32
- foreach( $shortcoders as $shortcode_id ) {
33
-
34
- if( isset( CSF::$args['shortcoders'][$shortcode_id] ) ) {
35
-
36
- $setup_args = CSF::$args['shortcoders'][$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="'. $shortcode_id .'">'. $button_title .'</a>';
40
-
41
- }
42
-
43
- }
44
-
45
- }
46
-
47
- }
48
  }
49
  }
7
  * @version 1.0.0
8
  *
9
  */
10
+ if( ! class_exists( 'SPFTESTIMONIAL_Field_textarea' ) ) {
11
+ class SPFTESTIMONIAL_Field_textarea extends SPFTESTIMONIAL_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
  echo $this->field_before();
 
20
  echo '<textarea name="'. $this->field_name() .'"'. $this->field_attributes() .'>'. $this->value .'</textarea>';
21
  echo $this->field_after();
22
 
23
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
24
  }
25
  }
admin/views/framework/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( 'spftestimonial_get_google_fonts' ) ) {
4
+ function spftestimonial_get_google_fonts() {
5
  return [
6
  'ABeeZee'=>[['normal','italic'],['latin']],
7
  'Abel'=>[['normal'],['latin']],
admin/views/framework/fields/typography/typography.php CHANGED
@@ -7,8 +7,8 @@
7
  * @since 1.0.0
8
  * @version 1.0.0
9
  */
10
- if ( ! class_exists( 'CSF_Field_typography' ) ) {
11
- class CSF_Field_typography extends CSF_Fields {
12
 
13
  public $chosen = false;
14
 
@@ -72,29 +72,29 @@ if ( ! class_exists( 'CSF_Field_typography' ) ) {
72
  $default_value = ( ! empty( $this->field['default'] ) ) ? wp_parse_args( $this->field['default'], $default_value ) : $default_value;
73
  $this->value = wp_parse_args( $this->value, $default_value );
74
  $this->chosen = $args['chosen'];
75
- $chosen_class = ( $this->chosen ) ? ' csf--chosen' : '';
76
 
77
- echo '<div class="csf--typography' . $chosen_class . '" data-unit="' . $args['unit'] . '" data-exclude="' . $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(
96
  apply_filters(
97
- 'csf_field_typography_backup_font_family', array(
98
  'Arial, Helvetica, sans-serif',
99
  "'Arial Black', Gadget, sans-serif",
100
  "'Comic Sans MS', cursive, sans-serif",
@@ -108,7 +108,7 @@ if ( ! class_exists( 'CSF_Field_typography' ) ) {
108
  'Georgia, serif',
109
  'Palatino Linotype',
110
  )
111
- ), 'backup-font-family', esc_html__( 'Default', 'csf' )
112
  );
113
  echo '</div>';
114
  }
@@ -119,23 +119,23 @@ if ( ! class_exists( 'CSF_Field_typography' ) ) {
119
 
120
  //
121
  // Font Style Select
122
- echo '<div class="csf--block csf--block-font-style hidden">';
123
- echo '<div class="csf--title">' . esc_html__( 'Font Style', 'csf' ) . '</div>';
124
- echo '<select disabled class="csf--font-style-select" data-placeholder="Default">';
125
- echo '<option value="">' . ( ! $this->chosen ? esc_html__( 'Default', 'csf' ) : '' ) . '</option>';
126
  if ( ! empty( $this->value['font-weight'] ) || ! empty( $this->value['font-style'] ) ) {
127
  echo '<option value="' . strtolower( $this->value['font-weight'] . $this->value['font-style'] ) . '" selected></option>';
128
  }
129
  echo '</select>';
130
- echo '<input type="hidden" name="' . $this->field_name( '[font-weight]' ) . '" class="csf--font-weight" value="' . $this->value['font-weight'] . '" />';
131
- echo '<input type="hidden" name="' . $this->field_name( '[font-style]' ) . '" class="csf--font-style" value="' . $this->value['font-style'] . '" />';
132
 
133
  //
134
  // Extra Font Style Select
135
  if ( ! empty( $args['extra_styles'] ) ) {
136
- echo '<div class="csf--block-extra-styles hidden">';
137
- echo ( ! $this->chosen ) ? '<div class="csf--title">' . esc_html__( 'Load Extra Styles', 'csf' ) . '</div>' : '';
138
- $placeholder = ( $this->chosen ) ? esc_html__( 'Load Extra Styles', 'csf' ) : esc_html__( 'Default', 'csf' );
139
  echo $this->create_select( $this->value['extra-styles'], 'extra-styles', $placeholder, true );
140
  echo '</div>';
141
  }
@@ -147,27 +147,27 @@ if ( ! class_exists( 'CSF_Field_typography' ) ) {
147
  //
148
  // Subset
149
  if ( ! empty( $args['subset'] ) ) {
150
- echo '<div class="csf--block csf--block-subset hidden">';
151
- echo '<div class="csf--title">' . esc_html__( 'Subset', 'csf' ) . '</div>';
152
  $subset = ( is_array( $this->value['subset'] ) ) ? $this->value['subset'] : array_filter( (array) $this->value['subset'] );
153
- echo $this->create_select( $subset, 'subset', esc_html__( 'Default', 'csf' ), $args['multi_subset'] );
154
  echo '</div>';
155
  }
156
 
157
  //
158
  // Text Align
159
  if ( ! empty( $args['text_align'] ) ) {
160
- echo '<div class="csf--block">';
161
- echo '<div class="csf--title">' . esc_html__( 'Text Align', 'csf' ) . '</div>';
162
  echo $this->create_select(
163
  array(
164
- 'inherit' => esc_html__( 'Inherit', 'csf' ),
165
- 'left' => esc_html__( 'Left', 'csf' ),
166
- 'center' => esc_html__( 'Center', 'csf' ),
167
- 'right' => esc_html__( 'Right', 'csf' ),
168
- 'justify' => esc_html__( 'Justify', 'csf' ),
169
- 'initial' => esc_html__( 'Initial', 'csf' ),
170
- ), 'text-align', esc_html__( 'Default', 'csf' )
171
  );
172
  echo '</div>';
173
  }
@@ -175,14 +175,14 @@ if ( ! class_exists( 'CSF_Field_typography' ) ) {
175
  //
176
  // Font Variant
177
  if ( ! empty( $args['font_variant'] ) ) {
178
- echo '<div class="csf--block">';
179
- echo '<div class="csf--title">' . esc_html__( 'Font Variant', 'csf' ) . '</div>';
180
  echo $this->create_select(
181
  array(
182
- 'normal' => esc_html__( 'Normal', 'csf' ),
183
- 'small-caps' => esc_html__( 'Small Caps', 'csf' ),
184
- 'all-small-caps' => esc_html__( 'All Small Caps', 'csf' ),
185
- ), 'font-variant', esc_html__( 'Default', 'csf' )
186
  );
187
  echo '</div>';
188
  }
@@ -190,15 +190,15 @@ if ( ! class_exists( 'CSF_Field_typography' ) ) {
190
  //
191
  // Text Transform
192
  if ( ! empty( $args['text_transform'] ) ) {
193
- echo '<div class="csf--block">';
194
- echo '<div class="csf--title">' . esc_html__( 'Text Transform', 'csf' ) . '</div>';
195
  echo $this->create_select(
196
  array(
197
- 'none' => esc_html__( 'None', 'csf' ),
198
- 'capitalize' => esc_html__( 'Capitalize', 'csf' ),
199
- 'uppercase' => esc_html__( 'Uppercase', 'csf' ),
200
- 'lowercase' => esc_html__( 'Lowercase', 'csf' ),
201
- ), 'text-transform', esc_html__( 'Default', 'csf' )
202
  );
203
  echo '</div>';
204
  }
@@ -206,35 +206,35 @@ if ( ! class_exists( 'CSF_Field_typography' ) ) {
206
  //
207
  // Text Decoration
208
  if ( ! empty( $args['text_decoration'] ) ) {
209
- echo '<div class="csf--block">';
210
- echo '<div class="csf--title">' . esc_html__( 'Text Decoration', 'csf' ) . '</div>';
211
  echo $this->create_select(
212
  array(
213
- 'none' => esc_html__( 'None', 'csf' ),
214
- 'underline' => esc_html__( 'Solid', 'csf' ),
215
- 'underline double' => esc_html__( 'Double', 'csf' ),
216
- 'underline dotted' => esc_html__( 'Dotted', 'csf' ),
217
- 'underline dashed' => esc_html__( 'Dashed', 'csf' ),
218
- 'underline wavy' => esc_html__( 'Wavy', 'csf' ),
219
- 'underline overline' => esc_html__( 'Overline', 'csf' ),
220
- 'line-through' => esc_html__( 'Line-through', 'csf' ),
221
- ), 'text-decoration', esc_html__( 'Default', 'csf' )
222
  );
223
  echo '</div>';
224
  }
225
 
226
  echo '</div>';
227
 
228
- echo '<div class="csf--blocks csf--blocks-inputs">';
229
 
230
  //
231
  // Font Size
232
  if ( ! empty( $args['font_size'] ) ) {
233
- echo '<div class="csf--block">';
234
- echo '<div class="csf--title">' . esc_html__( 'Font Size', 'csf' ) . '</div>';
235
- echo '<div class="csf--input-wrap">';
236
- echo '<input disabled type="number" name="' . $this->field_name( '[font-size]' ) . '" class="csf--font-size csf--input csf-input-number" value="' . $this->value['font-size'] . '" />';
237
- echo '<span class="csf--unit">' . $args['unit'] . '</span>';
238
  echo '</div>';
239
  echo '</div>';
240
  }
@@ -242,11 +242,11 @@ if ( ! class_exists( 'CSF_Field_typography' ) ) {
242
  //
243
  // Line Height
244
  if ( ! empty( $args['line_height'] ) ) {
245
- echo '<div class="csf--block">';
246
- echo '<div class="csf--title">' . esc_html__( 'Line Height', 'csf' ) . '</div>';
247
- echo '<div class="csf--input-wrap">';
248
- echo '<input disabled type="number" name="' . $this->field_name( '[line-height]' ) . '" class="csf--line-height csf--input csf-input-number" value="' . $this->value['line-height'] . '" />';
249
- echo '<span class="csf--unit">' . $args['unit'] . '</span>';
250
  echo '</div>';
251
  echo '</div>';
252
  }
@@ -254,11 +254,11 @@ if ( ! class_exists( 'CSF_Field_typography' ) ) {
254
  //
255
  // Letter Spacing
256
  if ( ! empty( $args['letter_spacing'] ) ) {
257
- echo '<div class="csf--block">';
258
- echo '<div class="csf--title">' . esc_html__( 'Letter Spacing', 'csf' ) . '</div>';
259
- echo '<div class="csf--input-wrap">';
260
- echo '<input disabled type="number" name="' . $this->field_name( '[letter-spacing]' ) . '" class="csf--letter-spacing csf--input csf-input-number" value="' . $this->value['letter-spacing'] . '" />';
261
- echo '<span class="csf--unit">' . $args['unit'] . '</span>';
262
  echo '</div>';
263
  echo '</div>';
264
  }
@@ -266,11 +266,11 @@ if ( ! class_exists( 'CSF_Field_typography' ) ) {
266
  //
267
  // Word Spacing
268
  if ( ! empty( $args['word_spacing'] ) ) {
269
- echo '<div class="csf--block">';
270
- echo '<div class="csf--title">' . esc_html__( 'Word Spacing', 'csf' ) . '</div>';
271
- echo '<div class="csf--input-wrap">';
272
- echo '<input disabled type="number" name="' . $this->field_name( '[word-spacing]' ) . '" class="csf--word-spacing csf--input csf-input-number" value="' . $this->value['word-spacing'] . '" />';
273
- echo '<span class="csf--unit">' . $args['unit'] . '</span>';
274
  echo '</div>';
275
  echo '</div>';
276
  }
@@ -281,10 +281,10 @@ if ( ! class_exists( 'CSF_Field_typography' ) ) {
281
  // Font Color
282
  if ( ! empty( $args['color'] ) ) {
283
  $default_color_attr = ( ! empty( $default_value['color'] ) ) ? ' data-default-color="' . $default_value['color'] . '"' : '';
284
- echo '<div class="csf--block csf--block-font-color">';
285
- echo '<div class="csf--title">' . esc_html__( 'Font Color', 'csf' ) . '</div>';
286
- echo '<div class="csf-field-color">';
287
- echo '<input type="text" name="' . $this->field_name( '[color]' ) . '" class="csf-color csf--color" value="' . $this->value['color'] . '"' . $default_color_attr . ' />';
288
  echo '</div>';
289
  echo '</div>';
290
  }
@@ -292,9 +292,9 @@ if ( ! class_exists( 'CSF_Field_typography' ) ) {
292
  //
293
  // Custom style
294
  if ( ! empty( $args['custom_style'] ) ) {
295
- echo '<div class="csf--block csf--block-custom-style">';
296
- echo '<div class="csf--title">' . esc_html__( 'Custom Style', 'csf' ) . '</div>';
297
- echo '<textarea name="' . $this->field_name( '[custom-style]' ) . '" class="csf--custom-style">' . $this->value['custom-style'] . '</textarea>';
298
  echo '</div>';
299
  }
300
 
@@ -303,14 +303,14 @@ if ( ! class_exists( 'CSF_Field_typography' ) ) {
303
  $always_preview = ( $args['preview'] !== 'always' ) ? ' hidden' : '';
304
 
305
  if ( ! empty( $args['preview'] ) ) {
306
- echo '<div class="csf--block csf--block-preview' . $always_preview . '">';
307
- echo '<div class="csf--toggle fa fa-toggle-off"></div>';
308
- echo '<div class="csf--preview">' . $args['preview_text'] . '</div>';
309
  echo '</div>';
310
  }
311
 
312
- echo '<input type="hidden" name="' . $this->field_name( '[type]' ) . '" class="csf--type" value="' . $this->value['type'] . '" />';
313
- echo '<input type="hidden" name="' . $this->field_name( '[unit]' ) . '" class="csf--unit-save" value="' . $args['unit'] . '" />';
314
 
315
  echo '</div>';
316
 
@@ -324,7 +324,7 @@ if ( ! class_exists( 'CSF_Field_typography' ) ) {
324
  $multiple_attr = ( $is_multiple ) ? ' multiple data-multiple="true"' : '';
325
  $chosen_rtl = ( $this->chosen && is_rtl() ) ? ' chosen-rtl' : '';
326
 
327
- $output = '<select disabled name="' . $this->field_name( '[' . $name . ']' . $multiple_name ) . '" class="csf--' . $name . $chosen_rtl . '" data-placeholder="' . $placeholder . '"' . $multiple_attr . '>';
328
  $output .= ( ! empty( $placeholder ) ) ? '<option value="">' . ( ( ! $this->chosen ) ? $placeholder : '' ) . '</option>' : '';
329
 
330
  if ( ! empty( $options ) ) {
@@ -348,27 +348,27 @@ if ( ! class_exists( 'CSF_Field_typography' ) ) {
348
 
349
  public function enqueue() {
350
 
351
- if ( ! wp_style_is( 'csf-webfont-loader' ) ) {
352
 
353
- CSF::include_plugin_file( 'fields/typography/google-fonts.php' );
354
 
355
- wp_enqueue_script( 'csf-webfont-loader', 'https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js', array( 'csf' ), '1.6.28', true );
356
 
357
  $webfonts = array();
358
 
359
- $customwebfonts = apply_filters( 'csf_field_typography_customwebfonts', array() );
360
 
361
  if ( ! empty( $customwebfonts ) ) {
362
  $webfonts['custom'] = array(
363
- 'label' => esc_html__( 'Custom Web Fonts', 'csf' ),
364
  'fonts' => $customwebfonts,
365
  );
366
  }
367
 
368
  $webfonts['safe'] = array(
369
- 'label' => esc_html__( 'Safe Web Fonts', 'csf' ),
370
  'fonts' => apply_filters(
371
- 'csf_field_typography_safewebfonts', array(
372
  'Arial',
373
  'Arial Black',
374
  'Helvetica',
@@ -388,16 +388,16 @@ if ( ! class_exists( 'CSF_Field_typography' ) ) {
388
  );
389
 
390
  $webfonts['google'] = array(
391
- 'label' => esc_html__( 'Google Web Fonts', 'csf' ),
392
  'fonts' => apply_filters(
393
- 'csf_field_typography_googlewebfonts', csf_get_google_fonts()
394
  ),
395
  );
396
 
397
- $defaultstyles = apply_filters( 'csf_field_typography_defaultstyles', array( 'normal', 'italic', '700', '700italic' ) );
398
 
399
  $googlestyles = apply_filters(
400
- 'csf_field_typography_googlestyles', array(
401
  '100' => 'Thin 100',
402
  '100italic' => 'Thin 100 Italic',
403
  '200' => 'Extra-Light 200',
@@ -419,10 +419,10 @@ if ( ! class_exists( 'CSF_Field_typography' ) ) {
419
  )
420
  );
421
 
422
- $webfonts = apply_filters( 'csf_field_typography_webfonts', $webfonts );
423
 
424
  wp_localize_script(
425
- 'csf', 'csf_typography_json', array(
426
  'webfonts' => $webfonts,
427
  'defaultstyles' => $defaultstyles,
428
  'googlestyles' => $googlestyles,
@@ -442,8 +442,8 @@ if ( ! class_exists( 'CSF_Field_typography' ) ) {
442
  if ( ! empty( $this->value['type'] ) ) {
443
  $is_google = ( $this->value['type'] === 'google' ) ? true : false;
444
  } else {
445
- CSF::include_plugin_file( 'fields/typography/google-fonts.php' );
446
- $is_google = ( array_key_exists( $this->value['font-family'], csf_get_google_fonts() ) ) ? true : false;
447
  }
448
 
449
  if ( $is_google ) {
7
  * @since 1.0.0
8
  * @version 1.0.0
9
  */
10
+ if ( ! class_exists( 'SPFTESTIMONIAL_Field_typography' ) ) {
11
+ class SPFTESTIMONIAL_Field_typography extends SPFTESTIMONIAL_Fields {
12
 
13
  public $chosen = false;
14
 
72
  $default_value = ( ! empty( $this->field['default'] ) ) ? wp_parse_args( $this->field['default'], $default_value ) : $default_value;
73
  $this->value = wp_parse_args( $this->value, $default_value );
74
  $this->chosen = $args['chosen'];
75
+ $chosen_class = ( $this->chosen ) ? ' spftestimonial--chosen' : '';
76
 
77
+ echo '<div class="spftestimonial--typography' . $chosen_class . '" data-unit="' . $args['unit'] . '" data-exclude="' . $args['exclude'] . '">';
78
 
79
+ echo '<div class="spftestimonial--blocks spftestimonial--blocks-selects">';
80
 
81
  //
82
  // Font Family
83
  if ( ! empty( $args['font_family'] ) ) {
84
+ echo '<div class="spftestimonial--block">';
85
+ echo '<div class="spftestimonial--title">' . esc_html__( 'Font Family', 'testimonial-free' ) . '</div>';
86
+ echo $this->create_select( array( $this->value['font-family'] => $this->value['font-family'] ), 'font-family', esc_html__( 'Select a font', 'testimonial-free' ) );
87
  echo '</div>';
88
  }
89
 
90
  //
91
  // Backup Font Family
92
  if ( ! empty( $args['backup_font_family'] ) ) {
93
+ echo '<div class="spftestimonial--block spftestimonial--block-backup-font-family hidden">';
94
+ echo '<div class="spftestimonial--title">' . esc_html__( 'Backup Font Family', 'testimonial-free' ) . '</div>';
95
  echo $this->create_select(
96
  apply_filters(
97
+ 'spftestimonial_field_typography_backup_font_family', array(
98
  'Arial, Helvetica, sans-serif',
99
  "'Arial Black', Gadget, sans-serif",
100
  "'Comic Sans MS', cursive, sans-serif",
108
  'Georgia, serif',
109
  'Palatino Linotype',
110
  )
111
+ ), 'backup-font-family', esc_html__( 'Default', 'testimonial-free' )
112
  );
113
  echo '</div>';
114
  }
119
 
120
  //
121
  // Font Style Select
122
+ echo '<div class="spftestimonial--block spftestimonial--block-font-style hidden">';
123
+ echo '<div class="spftestimonial--title">' . esc_html__( 'Font Style', 'testimonial-free' ) . '</div>';
124
+ echo '<select disabled class="spftestimonial--font-style-select" data-placeholder="Default">';
125
+ echo '<option value="">' . ( ! $this->chosen ? esc_html__( 'Default', 'testimonial-free' ) : '' ) . '</option>';
126
  if ( ! empty( $this->value['font-weight'] ) || ! empty( $this->value['font-style'] ) ) {
127
  echo '<option value="' . strtolower( $this->value['font-weight'] . $this->value['font-style'] ) . '" selected></option>';
128
  }
129
  echo '</select>';
130
+ echo '<input type="hidden" name="' . $this->field_name( '[font-weight]' ) . '" class="spftestimonial--font-weight" value="' . $this->value['font-weight'] . '" />';
131
+ echo '<input type="hidden" name="' . $this->field_name( '[font-style]' ) . '" class="spftestimonial--font-style" value="' . $this->value['font-style'] . '" />';
132
 
133
  //
134
  // Extra Font Style Select
135
  if ( ! empty( $args['extra_styles'] ) ) {
136
+ echo '<div class="spftestimonial--block-extra-styles hidden">';
137
+ echo ( ! $this->chosen ) ? '<div class="spftestimonial--title">' . esc_html__( 'Load Extra Styles', 'testimonial-free' ) . '</div>' : '';
138
+ $placeholder = ( $this->chosen ) ? esc_html__( 'Load Extra Styles', 'testimonial-free' ) : esc_html__( 'Default', 'testimonial-free' );
139
  echo $this->create_select( $this->value['extra-styles'], 'extra-styles', $placeholder, true );
140
  echo '</div>';
141
  }
147
  //
148
  // Subset
149
  if ( ! empty( $args['subset'] ) ) {
150
+ echo '<div class="spftestimonial--block spftestimonial--block-subset hidden">';
151
+ echo '<div class="spftestimonial--title">' . esc_html__( 'Subset', 'testimonial-free' ) . '</div>';
152
  $subset = ( is_array( $this->value['subset'] ) ) ? $this->value['subset'] : array_filter( (array) $this->value['subset'] );
153
+ echo $this->create_select( $subset, 'subset', esc_html__( 'Default', 'testimonial-free' ), $args['multi_subset'] );
154
  echo '</div>';
155
  }
156
 
157
  //
158
  // Text Align
159
  if ( ! empty( $args['text_align'] ) ) {
160
+ echo '<div class="spftestimonial--block">';
161
+ echo '<div class="spftestimonial--title">' . esc_html__( 'Text Align', 'testimonial-free' ) . '</div>';
162
  echo $this->create_select(
163
  array(
164
+ 'inherit' => esc_html__( 'Inherit', 'testimonial-free' ),
165
+ 'left' => esc_html__( 'Left', 'testimonial-free' ),
166
+ 'center' => esc_html__( 'Center', 'testimonial-free' ),
167
+ 'right' => esc_html__( 'Right', 'testimonial-free' ),
168
+ 'justify' => esc_html__( 'Justify', 'testimonial-free' ),
169
+ 'initial' => esc_html__( 'Initial', 'testimonial-free' ),
170
+ ), 'text-align', esc_html__( 'Default', 'testimonial-free' )
171
  );
172
  echo '</div>';
173
  }
175
  //
176
  // Font Variant
177
  if ( ! empty( $args['font_variant'] ) ) {
178
+ echo '<div class="spftestimonial--block">';
179
+ echo '<div class="spftestimonial--title">' . esc_html__( 'Font Variant', 'testimonial-free' ) . '</div>';
180
  echo $this->create_select(
181
  array(
182
+ 'normal' => esc_html__( 'Normal', 'testimonial-free' ),
183
+ 'small-caps' => esc_html__( 'Small Caps', 'testimonial-free' ),
184
+ 'all-small-caps' => esc_html__( 'All Small Caps', 'testimonial-free' ),
185
+ ), 'font-variant', esc_html__( 'Default', 'testimonial-free' )
186
  );
187
  echo '</div>';
188
  }
190
  //
191
  // Text Transform
192
  if ( ! empty( $args['text_transform'] ) ) {
193
+ echo '<div class="spftestimonial--block">';
194
+ echo '<div class="spftestimonial--title">' . esc_html__( 'Text Transform', 'testimonial-free' ) . '</div>';
195
  echo $this->create_select(
196
  array(
197
+ 'none' => esc_html__( 'None', 'testimonial-free' ),
198
+ 'capitalize' => esc_html__( 'Capitalize', 'testimonial-free' ),
199
+ 'uppercase' => esc_html__( 'Uppercase', 'testimonial-free' ),
200
+ 'lowercase' => esc_html__( 'Lowercase', 'testimonial-free' ),
201
+ ), 'text-transform', esc_html__( 'Default', 'testimonial-free' )
202
  );
203
  echo '</div>';
204
  }
206
  //
207
  // Text Decoration
208
  if ( ! empty( $args['text_decoration'] ) ) {
209
+ echo '<div class="spftestimonial--block">';
210
+ echo '<div class="spftestimonial--title">' . esc_html__( 'Text Decoration', 'testimonial-free' ) . '</div>';
211
  echo $this->create_select(
212
  array(
213
+ 'none' => esc_html__( 'None', 'testimonial-free' ),
214
+ 'underline' => esc_html__( 'Solid', 'testimonial-free' ),
215
+ 'underline double' => esc_html__( 'Double', 'testimonial-free' ),
216
+ 'underline dotted' => esc_html__( 'Dotted', 'testimonial-free' ),
217
+ 'underline dashed' => esc_html__( 'Dashed', 'testimonial-free' ),
218
+ 'underline wavy' => esc_html__( 'Wavy', 'testimonial-free' ),
219
+ 'underline overline' => esc_html__( 'Overline', 'testimonial-free' ),
220
+ 'line-through' => esc_html__( 'Line-through', 'testimonial-free' ),
221
+ ), 'text-decoration', esc_html__( 'Default', 'testimonial-free' )
222
  );
223
  echo '</div>';
224
  }
225
 
226
  echo '</div>';
227
 
228
+ echo '<div class="spftestimonial--blocks spftestimonial--blocks-inputs">';
229
 
230
  //
231
  // Font Size
232
  if ( ! empty( $args['font_size'] ) ) {
233
+ echo '<div class="spftestimonial--block">';
234
+ echo '<div class="spftestimonial--title">' . esc_html__( 'Font Size', 'testimonial-free' ) . '</div>';
235
+ echo '<div class="spftestimonial--input-wrap">';
236
+ echo '<input disabled type="number" name="' . $this->field_name( '[font-size]' ) . '" class="spftestimonial--font-size spftestimonial--input spftestimonial-input-number" value="' . $this->value['font-size'] . '" />';
237
+ echo '<span class="spftestimonial--unit">' . $args['unit'] . '</span>';
238
  echo '</div>';
239
  echo '</div>';
240
  }
242
  //
243
  // Line Height
244
  if ( ! empty( $args['line_height'] ) ) {
245
+ echo '<div class="spftestimonial--block">';
246
+ echo '<div class="spftestimonial--title">' . esc_html__( 'Line Height', 'testimonial-free' ) . '</div>';
247
+ echo '<div class="spftestimonial--input-wrap">';
248
+ echo '<input disabled type="number" name="' . $this->field_name( '[line-height]' ) . '" class="spftestimonial--line-height spftestimonial--input spftestimonial-input-number" value="' . $this->value['line-height'] . '" />';
249
+ echo '<span class="spftestimonial--unit">' . $args['unit'] . '</span>';
250
  echo '</div>';
251
  echo '</div>';
252
  }
254
  //
255
  // Letter Spacing
256
  if ( ! empty( $args['letter_spacing'] ) ) {
257
+ echo '<div class="spftestimonial--block">';
258
+ echo '<div class="spftestimonial--title">' . esc_html__( 'Letter Spacing', 'testimonial-free' ) . '</div>';
259
+ echo '<div class="spftestimonial--input-wrap">';
260
+ echo '<input disabled type="number" name="' . $this->field_name( '[letter-spacing]' ) . '" class="spftestimonial--letter-spacing spftestimonial--input spftestimonial-input-number" value="' . $this->value['letter-spacing'] . '" />';
261
+ echo '<span class="spftestimonial--unit">' . $args['unit'] . '</span>';
262
  echo '</div>';
263
  echo '</div>';
264
  }
266
  //
267
  // Word Spacing
268
  if ( ! empty( $args['word_spacing'] ) ) {
269
+ echo '<div class="spftestimonial--block">';
270
+ echo '<div class="spftestimonial--title">' . esc_html__( 'Word Spacing', 'testimonial-free' ) . '</div>';
271
+ echo '<div class="spftestimonial--input-wrap">';
272
+ echo '<input disabled type="number" name="' . $this->field_name( '[word-spacing]' ) . '" class="spftestimonial--word-spacing spftestimonial--input spftestimonial-input-number" value="' . $this->value['word-spacing'] . '" />';
273
+ echo '<span class="spftestimonial--unit">' . $args['unit'] . '</span>';
274
  echo '</div>';
275
  echo '</div>';
276
  }
281
  // Font Color
282
  if ( ! empty( $args['color'] ) ) {
283
  $default_color_attr = ( ! empty( $default_value['color'] ) ) ? ' data-default-color="' . $default_value['color'] . '"' : '';
284
+ echo '<div class="spftestimonial--block spftestimonial--block-font-color">';
285
+ echo '<div class="spftestimonial--title">' . esc_html__( 'Font Color', 'testimonial-free' ) . '</div>';
286
+ echo '<div class="spftestimonial-field-color">';
287
+ echo '<input type="text" name="' . $this->field_name( '[color]' ) . '" class="spftestimonial-color spftestimonial--color" value="' . $this->value['color'] . '"' . $default_color_attr . ' />';
288
  echo '</div>';
289
  echo '</div>';
290
  }
292
  //
293
  // Custom style
294
  if ( ! empty( $args['custom_style'] ) ) {
295
+ echo '<div class="spftestimonial--block spftestimonial--block-custom-style">';
296
+ echo '<div class="spftestimonial--title">' . esc_html__( 'Custom Style', 'testimonial-free' ) . '</div>';
297
+ echo '<textarea name="' . $this->field_name( '[custom-style]' ) . '" class="spftestimonial--custom-style">' . $this->value['custom-style'] . '</textarea>';
298
  echo '</div>';
299
  }
300
 
303
  $always_preview = ( $args['preview'] !== 'always' ) ? ' hidden' : '';
304
 
305
  if ( ! empty( $args['preview'] ) ) {
306
+ echo '<div class="spftestimonial--block spftestimonial--block-preview' . $always_preview . '">';
307
+ echo '<div class="spftestimonial--toggle fa fa-toggle-off"></div>';
308
+ echo '<div class="spftestimonial--preview">' . $args['preview_text'] . '</div>';
309
  echo '</div>';
310
  }
311
 
312
+ echo '<input type="hidden" name="' . $this->field_name( '[type]' ) . '" class="spftestimonial--type" value="' . $this->value['type'] . '" />';
313
+ echo '<input type="hidden" name="' . $this->field_name( '[unit]' ) . '" class="spftestimonial--unit-save" value="' . $args['unit'] . '" />';
314
 
315
  echo '</div>';
316
 
324
  $multiple_attr = ( $is_multiple ) ? ' multiple data-multiple="true"' : '';
325
  $chosen_rtl = ( $this->chosen && is_rtl() ) ? ' chosen-rtl' : '';
326
 
327
+ $output = '<select disabled name="' . $this->field_name( '[' . $name . ']' . $multiple_name ) . '" class="spftestimonial--' . $name . $chosen_rtl . '" data-placeholder="' . $placeholder . '"' . $multiple_attr . '>';
328
  $output .= ( ! empty( $placeholder ) ) ? '<option value="">' . ( ( ! $this->chosen ) ? $placeholder : '' ) . '</option>' : '';
329
 
330
  if ( ! empty( $options ) ) {
348
 
349
  public function enqueue() {
350
 
351
+ if ( ! wp_style_is( 'spftestimonial-webfont-loader' ) ) {
352
 
353
+ SPFTESTIMONIAL::include_plugin_file( 'fields/typography/google-fonts.php' );
354
 
355
+ //wp_enqueue_script( 'spftestimonial-webfont-loader', 'https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js', array( 'spftestimonial' ), '1.6.28', true );
356
 
357
  $webfonts = array();
358
 
359
+ $customwebfonts = apply_filters( 'spftestimonial_field_typography_customwebfonts', array() );
360
 
361
  if ( ! empty( $customwebfonts ) ) {
362
  $webfonts['custom'] = array(
363
+ 'label' => esc_html__( 'Custom Web Fonts', 'testimonial-free' ),
364
  'fonts' => $customwebfonts,
365
  );
366
  }
367
 
368
  $webfonts['safe'] = array(
369
+ 'label' => esc_html__( 'Safe Web Fonts', 'testimonial-free' ),
370
  'fonts' => apply_filters(
371
+ 'spftestimonial_field_typography_safewebfonts', array(
372
  'Arial',
373
  'Arial Black',
374
  'Helvetica',
388
  );
389
 
390
  $webfonts['google'] = array(
391
+ 'label' => esc_html__( 'Google Web Fonts', 'testimonial-free' ),
392
  'fonts' => apply_filters(
393
+ 'spftestimonial_field_typography_googlewebfonts', spftestimonial_get_google_fonts()
394
  ),
395
  );
396
 
397
+ $defaultstyles = apply_filters( 'spftestimonial_field_typography_defaultstyles', array( 'normal', 'italic', '700', '700italic' ) );
398
 
399
  $googlestyles = apply_filters(
400
+ 'spftestimonial_field_typography_googlestyles', array(
401
  '100' => 'Thin 100',
402
  '100italic' => 'Thin 100 Italic',
403
  '200' => 'Extra-Light 200',
419
  )
420
  );
421
 
422
+ $webfonts = apply_filters( 'spftestimonial_field_typography_webfonts', $webfonts );
423
 
424
  wp_localize_script(
425
+ 'spftestimonial', 'spftestimonial_typography_json', array(
426
  'webfonts' => $webfonts,
427
  'defaultstyles' => $defaultstyles,
428
  'googlestyles' => $googlestyles,
442
  if ( ! empty( $this->value['type'] ) ) {
443
  $is_google = ( $this->value['type'] === 'google' ) ? true : false;
444
  } else {
445
+ SPFTESTIMONIAL::include_plugin_file( 'fields/typography/google-fonts.php' );
446
+ $is_google = ( array_key_exists( $this->value['font-family'], spftestimonial_get_google_fonts() ) ) ? true : false;
447
  }
448
 
449
  if ( $is_google ) {
admin/views/framework/fields/upgrade/upgrade.php DELETED
@@ -1,488 +0,0 @@
1
- <?php if ( ! defined( 'ABSPATH' ) ) {
2
- die; } // Cannot access directly.
3
- /**
4
- *
5
- * Field: Upgrade
6
- *
7
- * @since 1.0.0
8
- * @version 1.0.0
9
- */
10
- if ( ! class_exists( 'CSF_Field_upgrade' ) ) {
11
- class CSF_Field_upgrade extends CSF_Fields {
12
-
13
- public function __construct( $field, $value = '', $unique = '', $where = '', $parent = '' ) {
14
- parent::__construct( $field, $value, $unique, $where, $parent );
15
- }
16
-
17
- public function render() {
18
- ?>
19
- <div class="sp-tfree-mbf-tab-content">
20
- <div class="sp-tfree-upgrade-header">
21
- <div class="tfree-overlay-color"></div>
22
- <div class="sp-tfree-container">
23
- <div class="sp-tfree-col-lg-7">
24
- <h1 class="sp-tfree-upgrade-title">Collect & Showcase Your Testimonials Aesthetically and Increase Conversions!</h1>
25
- <h4 class="sp-tfree-upgrade-subtitle">Upgrade to <b>PRO</b> Version of <b>Testimonial</b> to benefit
26
- from all features!</h4>
27
- </div>
28
- <div class="sp-tfree-col-lg-5">
29
- <a href="https://shapedplugin.com/plugin/testimonial-pro"
30
- class="button button-large free-upgrade-btn upgrade-btn" target="_blank">Upgrade to PRO!</a><a
31
- href="https://shapedplugin.com/demo/testimonial-pro"
32
- class="button button-large free-upgrade-btn demo-btn" target="_blank">All Features & Demo</a>
33
- </div>
34
- </div>
35
- </div>
36
- <div class="sp-tfree-upgrade-body">
37
- <div class="sp-tfree-section-feature-icon text-center"><img
38
- src="<?php echo SP_TFREE_URL . 'admin/assets/images/pro-feature.png'; ?>" alt=""></div>
39
- <h2 class="sp-tfree-section-title text-center">PREMIUM FEATURES</h2>
40
- <div class="tfree-option">
41
- <div class="sp-tfree-col-lg-2">
42
- <div class="sp-tfree-content">
43
- <img src="<?php echo SP_TFREE_URL . 'admin/assets/images/upgrade-ss1.png'; ?>" alt="">
44
- </div>
45
-
46
- </div>
47
- <div class="sp-tfree-col-lg-2">
48
- <div class="sp-tfree-content">
49
- <h2>5+ Testimonial Layouts</h2>
50
- <h4><i>(Slider, Grid, Masonry, List, & Filter-Grid & Filter-Masonry)</i></h4>
51
- <p>You can select from 6 beautiful testimonial layouts: Slider, Grid, Masonry, List, Filter-Grid & Filter-Masonry. Creating a customized layout is super easy. You can change the number of layout columns, reviewer info to show, font, & color etc.</p>
52
- <p>Showcase your testimonials how you want and use multi-creative ideas as you need.</p>
53
- </div>
54
-
55
- </div>
56
- </div>
57
- <div class="tfree-option">
58
- <div class="sp-tfree-col-lg-2">
59
- <div class="sp-tfree-content">
60
- <h2>10+ Professional Themes</h2>
61
- <p>Get designer quality results without writing a single line of code through 10+ professionally pre-designed themes for front-end display. Each theme has a different structure and huge customization options to cover all the demands.</p>
62
- </div>
63
-
64
- </div>
65
- <div class="sp-tfree-col-lg-2">
66
- <div class="sp-tfree-content"><img src="
67
- <?php
68
- echo SP_TFREE_URL . 'admin/assets/images/upgrade-ss2.png'
69
- ?>
70
- " alt=""></div>
71
- </div>
72
- </div>
73
- <div class="tfree-option">
74
-
75
- <div class="sp-tfree-col-lg-2">
76
- <div class="sp-tfree-content"><img src="
77
- <?php
78
- echo SP_TFREE_URL . 'admin/assets/images/upgrade-ss3.png'
79
- ?>
80
- " alt=""></div>
81
- </div>
82
- <div class="sp-tfree-col-lg-2">
83
- <div class="sp-tfree-content">
84
- <h2>840+ GOOGLE FONTS</h2>
85
- <h4><i>(Font family, size, transform, letter spacing, line-height, & color)</i></h4>
86
- <p>Testimonial Pro includes over 840+ Google fonts. You can add your desired font from 840+ Google Fonts. Customize the font family, size, transform, letter spacing, color, and line-height for every element.</p>
87
-
88
- <p>Manage any content with Google Fonts with live preview. That’s robust features of Testimonial Pro that can never be missed by creative people to make site beautiful and unique feel.</p>
89
- </div>
90
-
91
- </div>
92
- </div>
93
- <div class="tfree-option">
94
-
95
- <div class="sp-tfree-col-lg-2">
96
- <div class="sp-tfree-content">
97
- <h2>Shortcode Generator With 100+ Visual Customisation Options</h2>
98
- <p>It could be easier to generate the shortcode to display the testimonials. Just go to the Shortcode Generator, choose the settings you want and generated shortcode is ready to use where you want like posts, pages, and widgets. Generated Shortcodes are to be used in posts, pages and widgets, while the php function will be in your theme files.</p>
99
- </div>
100
- </div>
101
- <div class="sp-tfree-col-lg-2">
102
- <div class="sp-tfree-content"><img src="
103
- <?php
104
- echo SP_TFREE_URL . 'admin/assets/images/upgrade-ss4.png'
105
- ?>" alt=""></div>
106
- </div>
107
- </div>
108
-
109
- <div class="tfree-option">
110
- <div class="sp-tfree-col-lg-2">
111
- <div class="sp-tfree-content"><img src="<?php echo SP_TFREE_URL . 'admin/assets/images/upgrade-ss5.png'; ?>" alt=""></div>
112
-
113
- </div>
114
- <div class="sp-tfree-col-lg-2">
115
- <div class="sp-tfree-content">
116
- <h2>14 Display Options</h2>
117
- <p>Pick individual fields for each Testimonial's information. You can toggle between Testimonial Image, Video, title, Content, Name, Rating star, identity, Company, Location, Mobile, E-mail, Date, Website, And Social profile links.</p>
118
- </div>
119
- </div>
120
-
121
- </div>
122
- <div class="tfree-option">
123
-
124
- <div class="sp-tfree-col-lg-2">
125
- <div class="sp-tfree-content">
126
- <h2>TAILOR-MADE RESPONSIVITY</h2>
127
- <h4><i>(Control on Standard Desktop, Tablet & Mobile)</i></h4>
128
- <p>All Testimonial layouts are fully responsive & mobile touch-friendly and used intuitive breakpoints settings that you can customize the number of testimonials displayed on a Desktop, Laptop, iPad, iPhone and Android Devices.</p>
129
- <p>Total control on your slider at any resolution! With the premium version of the plugin, you can set the number of testimonial columns to show simultaneously in the slider, grid, masonry and isotope filter according to the specific device resolution.</p>
130
- <p>Three sizes are generally considered: Standard Desktop (desktop for the screen smaller than 1100px.), tablet (tablet for the screen smaller than 990px.) and mobile ( mobile for the screen smaller than 650px.).</p>
131
- </div>
132
- </div>
133
- <div class="sp-tfree-col-lg-2">
134
- <div class="sp-tfree-content"><img src="
135
- <?php
136
- echo SP_TFREE_URL . 'admin/assets/images/upgrade-ss6.png'
137
- ?>
138
- "
139
- alt=""></div>
140
- </div>
141
- </div>
142
- <div class="tfree-option">
143
- <div class="sp-tfree-col-lg-2">
144
- <div class="sp-tfree-content"><img src="<?php echo SP_TFREE_URL . 'admin/assets/images/upgrade-ss7.png'; ?>"
145
- alt=""></div>
146
-
147
- </div>
148
- <div class="sp-tfree-col-lg-2">
149
- <div class="sp-tfree-content">
150
- <h2>Drag & Drop Re-Ordering!</h2>
151
- <p>One of the most amazing features of Testimonial Pro is the ability to drag & drop re-order testimonials. You can re-order your testimonials simply by drag & drop, or choose to display the testimonials randomly. </p>
152
-
153
- </div>
154
-
155
- </div>
156
-
157
- </div>
158
- <div class="tfree-option">
159
-
160
- <div class="sp-tfree-col-lg-2">
161
- <div class="sp-tfree-content">
162
- <h2>Showcase by Specific Category</h2>
163
- <p>Do you want to show a specific testimonial category to your potential customers? You can show testimonials from categories. Save your time by allowing automatical showcasing of available testimonials from the category.</p>
164
- </div>
165
-
166
- </div>
167
- <div class="sp-tfree-col-lg-2">
168
- <div class="sp-tfree-content"><img src="
169
- <?php
170
- echo SP_TFREE_URL . 'admin/assets/images/upgrade-ss8.png'
171
- ?>
172
- " alt=""></div>
173
- </div>
174
- </div>
175
- <div class="tfree-option">
176
- <div class="sp-tfree-col-lg-2">
177
- <div class="sp-tfree-content"><img src="
178
- <?php
179
- echo SP_TFREE_URL . 'admin/assets/images/upgrade-ss9.png'
180
- ?>
181
- " alt=""></div>
182
- </div>
183
- <div class="sp-tfree-col-lg-2">
184
- <div class="sp-tfree-content">
185
- <h2>Display Specific Testimonials</h2>
186
- <h4><i>(If you can leverage it, you can earn from it.)</i></h4>
187
- <p>You can display the specific testimonials from available testimonials in the list. Highlight your specific testimonials in strategic positions, it will allow you to convert visitors into your valuable customers.</p>
188
- </div>
189
- </div>
190
- </div>
191
- <div class="tfree-option">
192
- <div class="sp-tfree-col-lg-2">
193
- <div class="sp-tfree-content">
194
- <h2>Front-end Submission Form</h2>
195
- <p>You can create Front-end Submission Form for customers to collect new testimonials for your business. When you receive a new testimonial, simply review and approve it to automatically add it to your customer testimonials page!</p>
196
- </div>
197
- </div>
198
- <div class="sp-tfree-col-lg-2">
199
- <div class="sp-tfree-content"><img src="
200
- <?php
201
- echo SP_TFREE_URL . 'admin/assets/images/upgrade-ss10.png'
202
- ?>
203
- " alt=""></div>
204
- </div>
205
-
206
- </div>
207
- <div class="tfree-option">
208
- <div class="sp-tfree-col-lg-2">
209
- <div class="sp-tfree-content"><img src="
210
- <?php
211
- echo SP_TFREE_URL . 'admin/assets/images/upgrade-ss11.png'
212
- ?>
213
- " alt=""></div>
214
- </div>
215
- <div class="sp-tfree-col-lg-2">
216
- <div class="sp-tfree-content">
217
- <h2>Front-end Form Fields Control</h2>
218
- <p>You can choose which fields and the messages to display! You can sort your own order and control show/hide, required, label and placeholder attribute for all fields in Testimonial Submission Form. It’s that simple.
219
- </p>
220
- </div>
221
- </div>
222
- </div>
223
-
224
- <div class="tfree-option">
225
- <div class="sp-tfree-col-lg-2">
226
- <div class="sp-tfree-content">
227
- <h2>Thumbnail Slider</h2>
228
- <p>One of the most stunning features of Testimonial Pro is the ability to create Thumbnail Slider. If you enable thumbnail slider, you can display testimonials using the Thumbnail Slider. It's modern and looks pretty.</p>
229
- </div>
230
- </div>
231
- <div class="sp-tfree-col-lg-2">
232
- <div class="sp-tfree-content"><img src="
233
- <?php
234
- echo SP_TFREE_URL . 'admin/assets/images/upgrade-ss12.png'
235
- ?>
236
- " alt=""></div>
237
- </div>
238
- </div>
239
- <div class="tfree-option">
240
- <div class="sp-tfree-col-lg-2">
241
- <div class="sp-tfree-content"><img src="
242
- <?php
243
- echo SP_TFREE_URL . 'admin/assets/images/upgrade-ss13.png'
244
- ?>
245
- " alt=""></div>
246
- </div>
247
- <div class="sp-tfree-col-lg-2">
248
- <div class="sp-tfree-content">
249
- <h2>Video Testimonial & Lightbox</h2>
250
- <p>Video Testimonials are more effective to increase sales of a business. You can create video testimonial with Lightbox instead of simple image testimonial with Testimonial Pro. You can use video from YouTube, Vimeo or any video link. </p>
251
- </div>
252
- </div>
253
- </div>
254
- <div class="tfree-option">
255
- <div class="sp-tfree-col-lg-2">
256
- <div class="sp-tfree-content">
257
- <h2>Read More & Characters Limit Options</h2>
258
- <p>You can choose testimonial content display type, show full testimonial body or content with characters limit. You can set custom ellipsis after content, customize the Read More button text, color, and hover color.</p>
259
- </div>
260
- </div>
261
- <div class="sp-tfree-col-lg-2">
262
- <div class="sp-tfree-content"><img src="
263
- <?php
264
- echo SP_TFREE_URL . 'admin/assets/images/upgrade-ss14.png'
265
- ?>
266
- " alt=""></div>
267
- </div>
268
- </div>
269
-
270
- <div class="tfree-option">
271
- <div class="sp-tfree-col-lg-2">
272
- <div class="sp-tfree-content"><img src="
273
- <?php
274
- echo SP_TFREE_URL . 'admin/assets/images/upgrade-ss15.png'
275
- ?>
276
- " alt=""></div>
277
- </div>
278
- <div class="sp-tfree-col-lg-2">
279
- <div class="sp-tfree-content">
280
- <h2>Read More Action Type</h2>
281
- <h4><i>(Show Testimonial in a Expand or Popup)</i></h4>
282
- <p>You can choose Read More button action type to show testimonial in a expand or popup page. In Expand, the testimonial content will collapse and expand long blocks of text. In PopUp, All Testimonial content will show like lightbox.</p>
283
-
284
- </div>
285
-
286
- </div>
287
- </div>
288
-
289
- <div class="tfree-option">
290
- <div class="sp-tfree-col-lg-2">
291
- <div class="sp-tfree-content">
292
- <h2>Advanced Link Options</h2>
293
- <p>Testimonial Pro has several options for your links. You can link the identity or position of the testimonial through website URL that will lead to a page or company website URL, perfect for case studies!</p>
294
- </div>
295
- </div>
296
- <div class="sp-tfree-col-lg-2">
297
- <div class="sp-tfree-content"><img src="
298
- <?php
299
- echo SP_TFREE_URL . 'admin/assets/images/upgrade-ss16.png'
300
- ?>
301
- "
302
- alt=""></div>
303
- </div>
304
- </div>
305
-
306
- <div class="tfree-option">
307
- <div class="sp-tfree-col-lg-2">
308
- <div class="sp-tfree-content"><img src="
309
- <?php
310
- echo SP_TFREE_URL . 'admin/assets/images/upgrade-ss17.png'
311
- ?>
312
- "
313
- alt=""></div>
314
- </div>
315
- <div class="sp-tfree-col-lg-2">
316
- <div class="sp-tfree-content">
317
- <h2>Rich Snippets/Structured Data compatible</h2>
318
- <p>The plugin is Rich Snippets compatible. When used properly this information might display in the search engine result pages! Testimonial Pro uses schema.org compliant JSON-LD markup to appear correctly in search results.</p>
319
- </div>
320
- </div>
321
- </div>
322
-
323
- <div class="tfree-option">
324
- <div class="sp-tfree-col-lg-2">
325
- <div class="sp-tfree-content">
326
- <h2>Slider Control Options</h2>
327
- <p>You can set how many testimonials to scroll at a time in the carousel or show, navigation & pagination show/hide, autoplay, speed, animation, loop, pause on hover, draggable, swipe, ticker mode, and many other settings.</p>
328
- </div>
329
- </div>
330
- <div class="sp-tfree-col-lg-2">
331
- <div class="sp-tfree-content"><img src="
332
- <?php
333
- echo SP_TFREE_URL . 'admin/assets/images/upgrade-ss18.png'
334
- ?>
335
- "
336
- alt=""></div>
337
- </div>
338
- </div>
339
-
340
- <div class="tfree-option">
341
- <div class="sp-tfree-col-lg-2">
342
- <div class="sp-tfree-content"><img src="
343
- <?php
344
- echo SP_TFREE_URL . 'admin/assets/images/upgrade-ss19.png'
345
- ?>
346
- "
347
- alt=""></div>
348
- </div>
349
- <div class="sp-tfree-col-lg-2">
350
- <div class="sp-tfree-content">
351
- <h2>Navigation Positions & Styles </h2>
352
- <h4><i>(13 Navigation, 16 Pagination, 6 Arrow Styles & 8 Positions)</i></h4>
353
- <p>You can select your desired arrow style to fit your needs from many styles. This plugin has 13 Navigation, 16 Pagination, 6 Arrow Styles and 8+ different navigational arrow positions (Top right, top center, top left, bottom left, bottom center, bottom right, vertically center, vertically inner center, vertically inner center on hover etc.).</p>
354
- <p>You can set your desired style, position and color your own way. Also customize pagination dots color and active color as well as arrow color, border color, background color and much more!</p>
355
- </div>
356
- </div>
357
- </div>
358
- <div class="tfree-option">
359
- <div class="sp-tfree-col-lg-2">
360
- <div class="sp-tfree-content">
361
- <h2>Custom Image Re-sizing</h2>
362
- <p>You can control the image size to your specific size. You can change the default size of your testimonial images on the settings. The newly uploaded image will be resized or cropped to the specified dimensions.</p>
363
- </div>
364
- </div>
365
- <div class="sp-tfree-col-lg-2">
366
- <div class="sp-tfree-content"><img src="
367
- <?php
368
- echo SP_TFREE_URL . 'admin/assets/images/upgrade-ss20.png'
369
- ?>
370
- "
371
- alt=""></div>
372
- </div>
373
- </div>
374
-
375
- <div class="tfree-option">
376
- <div class="sp-tfree-col-lg-2">
377
- <div class="sp-tfree-content"><img src="
378
- <?php
379
- echo SP_TFREE_URL . 'admin/assets/images/upgrade-ss21.png'
380
- ?>
381
- "
382
- alt=""></div>
383
- </div>
384
- <div class="sp-tfree-col-lg-2">
385
- <div class="sp-tfree-content">
386
- <h2>WPBakery(formerly Visual Composer) & Widget Ready</h2>
387
- <p>The premium plugin includes a Widget to display the layouts. Just create a layout in the Shortcode Generator page, save it to use in the widget! A Testimonials module available to add to your page via the V.C interface.</p>
388
- </div>
389
- </div>
390
- </div>
391
- <div class="tfree-option">